diff options
author | Côme Chilliet <91878298+come-nc@users.noreply.github.com> | 2022-12-05 12:03:39 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-05 12:03:39 +0100 |
commit | 30560d316584276a08c909f5198a839c1c170cc9 (patch) | |
tree | 154477dee76d6b7451671010aa2318c500975521 /apps | |
parent | cb0450b5c4fbe590e7b35284a40d78d96a0251f6 (diff) | |
parent | 4196bf81e653c39d33d25c76652cc78dab8c5e1c (diff) | |
download | nextcloud-server-30560d316584276a08c909f5198a839c1c170cc9.tar.gz nextcloud-server-30560d316584276a08c909f5198a839c1c170cc9.zip |
Merge branch 'master' into tests/fix-phpunit-warnings
Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Diffstat (limited to 'apps')
693 files changed, 8070 insertions, 3769 deletions
diff --git a/apps/admin_audit/composer/autoload.php b/apps/admin_audit/composer/autoload.php index d316fe42c51..f208c9a23a0 100644 --- a/apps/admin_audit/composer/autoload.php +++ b/apps/admin_audit/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/admin_audit/composer/composer/installed.php b/apps/admin_audit/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/admin_audit/composer/composer/installed.php +++ b/apps/admin_audit/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/cloud_federation_api/composer/autoload.php b/apps/cloud_federation_api/composer/autoload.php index fc52f01bfaf..0c261b9233d 100644 --- a/apps/cloud_federation_api/composer/autoload.php +++ b/apps/cloud_federation_api/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/cloud_federation_api/composer/composer/installed.php b/apps/cloud_federation_api/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/cloud_federation_api/composer/composer/installed.php +++ b/apps/cloud_federation_api/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/comments/composer/autoload.php b/apps/comments/composer/autoload.php index 46d800ddaa8..2bbfd4fbebe 100644 --- a/apps/comments/composer/autoload.php +++ b/apps/comments/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/comments/composer/composer/installed.php b/apps/comments/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/comments/composer/composer/installed.php +++ b/apps/comments/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/comments/l10n/ca.js b/apps/comments/l10n/ca.js index 7dd42bc08a2..2ebfeee794e 100644 --- a/apps/comments/l10n/ca.js +++ b/apps/comments/l10n/ca.js @@ -13,7 +13,7 @@ OC.L10N.register( "You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Se t'ha esmentat a \"{file}\" en un comentari d'un usuari que s'ha suprimit des de llavors", "{user} mentioned you in a comment on \"{file}\"" : "{user} t'ha mencionat en un comentari a \"{file}\"", "Files app plugin to add comments to files" : "Connexió de l’aplicació de fitxers per afegir comentaris als fitxers", - "Edit comment" : "Edita comentari", + "Edit comment" : "Edició comentari", "Delete comment" : "Suprimeix comentari", "Cancel edit" : "Cancel·la l'edició", "Post comment" : "Enviar comentari", @@ -28,7 +28,7 @@ OC.L10N.register( "Comment deleted" : "Comentari suprimit", "An error occurred while trying to delete the comment" : "S'ha produït un error en intentar suprimir el comentari", "An error occurred while trying to create the comment" : "S'ha produït un error en intentar crear el comentari", - "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Heu estat esmentats a \"{file}\" en un comentari d'un usuari que ja no existeix", + "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Heu estat esmentats a \"{file}\" en un comentari d'un usuari que ja s'ha suprimit", "{user} mentioned you in a comment on “{file}”" : "{user} us ha esmentat en un comentari de “{file}”" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/comments/l10n/ca.json b/apps/comments/l10n/ca.json index daad216c823..3bbecfc5a43 100644 --- a/apps/comments/l10n/ca.json +++ b/apps/comments/l10n/ca.json @@ -11,7 +11,7 @@ "You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Se t'ha esmentat a \"{file}\" en un comentari d'un usuari que s'ha suprimit des de llavors", "{user} mentioned you in a comment on \"{file}\"" : "{user} t'ha mencionat en un comentari a \"{file}\"", "Files app plugin to add comments to files" : "Connexió de l’aplicació de fitxers per afegir comentaris als fitxers", - "Edit comment" : "Edita comentari", + "Edit comment" : "Edició comentari", "Delete comment" : "Suprimeix comentari", "Cancel edit" : "Cancel·la l'edició", "Post comment" : "Enviar comentari", @@ -26,7 +26,7 @@ "Comment deleted" : "Comentari suprimit", "An error occurred while trying to delete the comment" : "S'ha produït un error en intentar suprimir el comentari", "An error occurred while trying to create the comment" : "S'ha produït un error en intentar crear el comentari", - "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Heu estat esmentats a \"{file}\" en un comentari d'un usuari que ja no existeix", + "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Heu estat esmentats a \"{file}\" en un comentari d'un usuari que ja s'ha suprimit", "{user} mentioned you in a comment on “{file}”" : "{user} us ha esmentat en un comentari de “{file}”" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/comments/l10n/en_GB.js b/apps/comments/l10n/en_GB.js index 3586b5103d5..f199d0a629e 100644 --- a/apps/comments/l10n/en_GB.js +++ b/apps/comments/l10n/en_GB.js @@ -10,14 +10,24 @@ OC.L10N.register( "%1$s commented on %2$s" : "%1$s commented on %2$s", "{author} commented on {file}" : "{author} commented on {file}", "<strong>Comments</strong> for files" : "<strong>Comments</strong> for files", + "You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "You were mentioned on \"{file}\", in a comment by a user that has since been deleted", + "{user} mentioned you in a comment on \"{file}\"" : "{user} mentioned you in a comment on \"{file}\"", "Files app plugin to add comments to files" : "Files app plugin to add comments to files", "Edit comment" : "Edit comment", "Delete comment" : "Delete comment", + "Cancel edit" : "Cancel edit", + "Post comment" : "Post comment", "No comments yet, start the conversation!" : "No comments yet, start the conversation!", + "No more messages" : "No more messages", "Retry" : "Retry", + "Unable to load the comments list" : "Unable to load the comments list", "_%n unread comment_::_%n unread comments_" : ["%n unread comment","%n unread comments"], "_1 new comment_::_{unread} new comments_" : ["1 new comment","{unread} new comments"], "Comment" : "Comment", + "An error occurred while trying to edit the comment" : "An error occurred while trying to edit the comment", + "Comment deleted" : "Comment deleted", + "An error occurred while trying to delete the comment" : "An error occurred while trying to delete the comment", + "An error occurred while trying to create the comment" : "An error occurred while trying to create the comment", "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "You were mentioned on “{file}”, in a comment by a user that has since been deleted", "{user} mentioned you in a comment on “{file}”" : "{user} mentioned you in a comment on “{file}”" }, diff --git a/apps/comments/l10n/en_GB.json b/apps/comments/l10n/en_GB.json index 3e03a4e3df8..4e4ed0f4c97 100644 --- a/apps/comments/l10n/en_GB.json +++ b/apps/comments/l10n/en_GB.json @@ -8,14 +8,24 @@ "%1$s commented on %2$s" : "%1$s commented on %2$s", "{author} commented on {file}" : "{author} commented on {file}", "<strong>Comments</strong> for files" : "<strong>Comments</strong> for files", + "You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "You were mentioned on \"{file}\", in a comment by a user that has since been deleted", + "{user} mentioned you in a comment on \"{file}\"" : "{user} mentioned you in a comment on \"{file}\"", "Files app plugin to add comments to files" : "Files app plugin to add comments to files", "Edit comment" : "Edit comment", "Delete comment" : "Delete comment", + "Cancel edit" : "Cancel edit", + "Post comment" : "Post comment", "No comments yet, start the conversation!" : "No comments yet, start the conversation!", + "No more messages" : "No more messages", "Retry" : "Retry", + "Unable to load the comments list" : "Unable to load the comments list", "_%n unread comment_::_%n unread comments_" : ["%n unread comment","%n unread comments"], "_1 new comment_::_{unread} new comments_" : ["1 new comment","{unread} new comments"], "Comment" : "Comment", + "An error occurred while trying to edit the comment" : "An error occurred while trying to edit the comment", + "Comment deleted" : "Comment deleted", + "An error occurred while trying to delete the comment" : "An error occurred while trying to delete the comment", + "An error occurred while trying to create the comment" : "An error occurred while trying to create the comment", "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "You were mentioned on “{file}”, in a comment by a user that has since been deleted", "{user} mentioned you in a comment on “{file}”" : "{user} mentioned you in a comment on “{file}”" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/comments/l10n/he.js b/apps/comments/l10n/he.js index bb6ddb1f488..1a8831e2e22 100644 --- a/apps/comments/l10n/he.js +++ b/apps/comments/l10n/he.js @@ -10,6 +10,8 @@ OC.L10N.register( "%1$s commented on %2$s" : "התקבלו תגובות %1$s ב- %2$s ", "{author} commented on {file}" : "נוספה תגובה על {file} מאת {author}", "<strong>Comments</strong> for files" : "<strong>תגובות</strong> על קבצים", + "You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "אוזכרת בקובץ „{file}”, בהערה על ידי משתמש שנמחק מאז", + "{user} mentioned you in a comment on \"{file}\"" : "אוזכרת על ידי {user} בהערה בתוך „{file}”", "Files app plugin to add comments to files" : "תוסף ליישומון הקבצים כדי להוסיף הערות על קבצים", "Edit comment" : "עריכת תגובה", "Delete comment" : "מחיקת תגובה", diff --git a/apps/comments/l10n/he.json b/apps/comments/l10n/he.json index cc474080373..bae926d8297 100644 --- a/apps/comments/l10n/he.json +++ b/apps/comments/l10n/he.json @@ -8,6 +8,8 @@ "%1$s commented on %2$s" : "התקבלו תגובות %1$s ב- %2$s ", "{author} commented on {file}" : "נוספה תגובה על {file} מאת {author}", "<strong>Comments</strong> for files" : "<strong>תגובות</strong> על קבצים", + "You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "אוזכרת בקובץ „{file}”, בהערה על ידי משתמש שנמחק מאז", + "{user} mentioned you in a comment on \"{file}\"" : "אוזכרת על ידי {user} בהערה בתוך „{file}”", "Files app plugin to add comments to files" : "תוסף ליישומון הקבצים כדי להוסיף הערות על קבצים", "Edit comment" : "עריכת תגובה", "Delete comment" : "מחיקת תגובה", diff --git a/apps/comments/src/comments-tab.js b/apps/comments/src/comments-tab.js index 2c81843291c..78bfb610af7 100644 --- a/apps/comments/src/comments-tab.js +++ b/apps/comments/src/comments-tab.js @@ -20,12 +20,15 @@ * */ +// eslint-disable-next-line node/no-missing-import, import/no-unresolved +import MessageReplyText from '@mdi/svg/svg/message-reply-text.svg?raw' + // Init Comments tab component let TabInstance = null const commentTab = new OCA.Files.Sidebar.Tab({ id: 'comments', name: t('comments', 'Comments'), - icon: 'icon-comment', + iconSvg: MessageReplyText, async mount(el, fileInfo, context) { if (TabInstance) { diff --git a/apps/comments/src/components/Comment.vue b/apps/comments/src/components/Comment.vue index 41284e50ca9..062dda74756 100644 --- a/apps/comments/src/components/Comment.vue +++ b/apps/comments/src/components/Comment.vue @@ -69,6 +69,7 @@ :auto-complete="autoComplete" :contenteditable="!loading" :value="localMessage" + :user-data="userData" @update:value="updateLocalMessage" @submit="onSubmit" /> <NcButton class="comment__submit" diff --git a/apps/comments/src/services/GetComments.js b/apps/comments/src/services/GetComments.js index 7dffa969a69..bf3dd31b5f1 100644 --- a/apps/comments/src/services/GetComments.js +++ b/apps/comments/src/services/GetComments.js @@ -22,6 +22,7 @@ import { parseXML, prepareFileFromProps } from 'webdav/dist/node/tools/dav' import { processResponsePayload } from 'webdav/dist/node/response' +import { decodeHtmlEntities } from '../utils/decodeHtmlEntities' import client from './DavClient' export const DEFAULT_LIMIT = 20 @@ -89,16 +90,3 @@ function processMultistatus(result, isDetailed = false) { return prepareFileFromProps(decodedProps, decodedProps.id.toString(), isDetailed) }) } - -/** - * @param {any} value - - * @param {any} passes - - */ -function decodeHtmlEntities(value, passes = 1) { - const parser = new DOMParser() - let decoded = value - for (let i = 0; i < passes; i++) { - decoded = parser.parseFromString(decoded, 'text/html').documentElement.textContent - } - return decoded -} diff --git a/apps/comments/src/services/NewComment.js b/apps/comments/src/services/NewComment.js index eaf08cc10b9..27d227ed656 100644 --- a/apps/comments/src/services/NewComment.js +++ b/apps/comments/src/services/NewComment.js @@ -22,6 +22,7 @@ import { getCurrentUser } from '@nextcloud/auth' import { getRootPath } from '../utils/davUtils' +import { decodeHtmlEntities } from '../utils/decodeHtmlEntities' import axios from '@nextcloud/axios' import client from './DavClient' @@ -55,5 +56,12 @@ export default async function(commentsType, ressourceId, message) { details: true, }) + const props = comment.data.props + // Decode twice to handle potentially double-encoded entities + // FIXME Remove this once https://github.com/nextcloud/server/issues/29306 + // is resolved + props.actorDisplayName = decodeHtmlEntities(props.actorDisplayName, 2) + props.message = decodeHtmlEntities(props.message, 2) + return comment.data } diff --git a/apps/files_versions/src/files_versions.js b/apps/comments/src/utils/decodeHtmlEntities.js index 9f4ccc2c1bf..60c08163faa 100644 --- a/apps/files_versions/src/files_versions.js +++ b/apps/comments/src/utils/decodeHtmlEntities.js @@ -1,7 +1,7 @@ /** - * @copyright Copyright (c) 2016 Roeland Jago Douma <roeland@famdouma.nl> + * @copyright Copyright (c) 2021 Christopher Ng <chrng8@gmail.com> * - * @author Roeland Jago Douma <roeland@famdouma.nl> + * @author Christopher Ng <chrng8@gmail.com> * * @license AGPL-3.0-or-later * @@ -20,10 +20,15 @@ * */ -import './versionmodel' -import './versioncollection' -import './versionstabview' -import './filesplugin' -import './css/versions.css' - -window.OCA.Versions = OCA.Versions +/** + * @param {any} value - + * @param {any} passes - + */ +export function decodeHtmlEntities(value, passes = 1) { + const parser = new DOMParser() + let decoded = value + for (let i = 0; i < passes; i++) { + decoded = parser.parseFromString(decoded, 'text/html').documentElement.textContent + } + return decoded +} diff --git a/apps/comments/src/views/Comments.vue b/apps/comments/src/views/Comments.vue index 170c3c937b5..288fe44e96b 100644 --- a/apps/comments/src/views/Comments.vue +++ b/apps/comments/src/views/Comments.vue @@ -26,6 +26,7 @@ <!-- Editor --> <Comment v-bind="editorData" :auto-complete="autoComplete" + :user-data="userData" :editor="true" :ressource-id="ressourceId" class="comments__writer" @@ -91,9 +92,9 @@ import RefreshIcon from 'vue-material-design-icons/Refresh' import MessageReplyTextIcon from 'vue-material-design-icons/MessageReplyText' import AlertCircleOutlineIcon from 'vue-material-design-icons/AlertCircleOutline' -import Comment from '../components/Comment' -import getComments, { DEFAULT_LIMIT } from '../services/GetComments' -import cancelableRequest from '../utils/cancelableRequest' +import Comment from '../components/Comment.vue' +import getComments, { DEFAULT_LIMIT } from '../services/GetComments.js' +import cancelableRequest from '../utils/cancelableRequest.js' Vue.use(VTooltip) @@ -129,6 +130,7 @@ export default { }, Comment, + userData: {}, } }, @@ -173,21 +175,22 @@ export default { * Make sure we have all mentions as Array of objects * * @param {Array} mentions the mentions list - * @return {object[]} + * @return {Object<string, object>} */ genMentionsData(mentions) { - const list = Object.values(mentions).flat() - return list.reduce((mentions, mention) => { - mentions[mention.mentionId] = { - // TODO: support groups - icon: 'icon-user', - id: mention.mentionId, - label: mention.mentionDisplayName, - source: 'users', - primary: getCurrentUser().uid === mention.mentionId, - } - return mentions - }, {}) + Object.values(mentions) + .flat() + .forEach(mention => { + this.userData[mention.mentionId] = { + // TODO: support groups + icon: 'icon-user', + id: mention.mentionId, + label: mention.mentionDisplayName, + source: 'users', + primary: getCurrentUser().uid === mention.mentionId, + } + }) + return this.userData }, /** @@ -251,7 +254,9 @@ export default { limit: loadState('comments', 'maxAutoCompleteResults'), }, }) - return callback(results.data.ocs.data) + // Save user data so it can be used by the editor to replace mentions + results.data.ocs.data.forEach(user => { this.userData[user.id] = user }) + return callback(Object.values(this.userData)) }, /** diff --git a/apps/contactsinteraction/composer/autoload.php b/apps/contactsinteraction/composer/autoload.php index 748e5f45fe9..ee3abcce2c2 100644 --- a/apps/contactsinteraction/composer/autoload.php +++ b/apps/contactsinteraction/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/contactsinteraction/composer/composer/installed.php b/apps/contactsinteraction/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/contactsinteraction/composer/composer/installed.php +++ b/apps/contactsinteraction/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/contactsinteraction/lib/AddressBook.php b/apps/contactsinteraction/lib/AddressBook.php index 1a024947362..518e39942d9 100644 --- a/apps/contactsinteraction/lib/AddressBook.php +++ b/apps/contactsinteraction/lib/AddressBook.php @@ -40,18 +40,13 @@ use Sabre\DAVACL\ACLTrait; use Sabre\DAVACL\IACL; class AddressBook extends ExternalAddressBook implements IACL { - public const URI = 'recent'; - use ACLTrait; - /** @var RecentContactMapper */ - private $mapper; - - /** @var IL10N */ - private $l10n; + public const URI = 'recent'; - /** @var string */ - private $principalUri; + private RecentContactMapper $mapper; + private IL10N $l10n; + private string $principalUri; public function __construct(RecentContactMapper $mapper, IL10N $l10n, @@ -81,7 +76,7 @@ class AddressBook extends ExternalAddressBook implements IACL { * @inheritDoc * @throws NotFound */ - public function getChild($name) { + public function getChild($name): Card { try { return new Card( $this->mapper->find( @@ -115,7 +110,7 @@ class AddressBook extends ExternalAddressBook implements IACL { /** * @inheritDoc */ - public function childExists($name) { + public function childExists($name): bool { try { $this->mapper->find( $this->getUid(), @@ -160,7 +155,7 @@ class AddressBook extends ExternalAddressBook implements IACL { /** * @inheritDoc */ - public function getACL() { + public function getACL(): array { return [ [ 'privilege' => '{DAV:}read', diff --git a/apps/contactsinteraction/lib/BackgroundJob/CleanupJob.php b/apps/contactsinteraction/lib/BackgroundJob/CleanupJob.php index fd370ce60e5..e728342e9b0 100644 --- a/apps/contactsinteraction/lib/BackgroundJob/CleanupJob.php +++ b/apps/contactsinteraction/lib/BackgroundJob/CleanupJob.php @@ -31,9 +31,7 @@ use OCP\BackgroundJob\IJob; use OCP\BackgroundJob\TimedJob; class CleanupJob extends TimedJob { - - /** @var RecentContactMapper */ - private $mapper; + private RecentContactMapper $mapper; public function __construct(ITimeFactory $time, RecentContactMapper $mapper) { diff --git a/apps/contactsinteraction/lib/Card.php b/apps/contactsinteraction/lib/Card.php index bf4ca1f394f..aa73d0e2122 100644 --- a/apps/contactsinteraction/lib/Card.php +++ b/apps/contactsinteraction/lib/Card.php @@ -36,14 +36,9 @@ use Sabre\DAVACL\IACL; class Card implements ICard, IACL { use ACLTrait; - /** @var RecentContact */ - private $contact; - - /** @var string */ - private $principal; - - /** @var array */ - private $acls; + private RecentContact $contact; + private string $principal; + private array $acls; public function __construct(RecentContact $contact, string $principal, array $acls) { $this->contact = $contact; diff --git a/apps/contactsinteraction/lib/Db/CardSearchDao.php b/apps/contactsinteraction/lib/Db/CardSearchDao.php index 4bf9d9367c4..6bd6538257c 100644 --- a/apps/contactsinteraction/lib/Db/CardSearchDao.php +++ b/apps/contactsinteraction/lib/Db/CardSearchDao.php @@ -32,9 +32,7 @@ use function is_resource; use function stream_get_contents; class CardSearchDao { - - /** @var IDBConnection */ - private $db; + private IDBConnection $db; public function __construct(IDBConnection $db) { $this->db = $db; diff --git a/apps/contactsinteraction/lib/Db/RecentContact.php b/apps/contactsinteraction/lib/Db/RecentContact.php index 306792b434e..7160ef1077b 100644 --- a/apps/contactsinteraction/lib/Db/RecentContact.php +++ b/apps/contactsinteraction/lib/Db/RecentContact.php @@ -42,24 +42,12 @@ use OCP\AppFramework\Db\Entity; * @method int getLastContact() */ class RecentContact extends Entity { - - /** @var string */ - protected $actorUid; - - /** @var string|null */ - protected $uid; - - /** @var string|null */ - protected $email; - - /** @var string|null */ - protected $federatedCloudId; - - /** @var string */ - protected $card; - - /** @var int */ - protected $lastContact; + protected string $actorUid = ''; + protected ?string $uid = null; + protected ?string $email = null; + protected ?string $federatedCloudId = null; + protected string $card = ''; + protected int $lastContact = -1; public function __construct() { $this->addType('actorUid', 'string'); diff --git a/apps/contactsinteraction/lib/Db/RecentContactMapper.php b/apps/contactsinteraction/lib/Db/RecentContactMapper.php index d606c07152a..49a705af570 100644 --- a/apps/contactsinteraction/lib/Db/RecentContactMapper.php +++ b/apps/contactsinteraction/lib/Db/RecentContactMapper.php @@ -56,10 +56,6 @@ class RecentContactMapper extends QBMapper { } /** - * @param string $uid - * @param int $id - * - * @return RecentContact * @throws DoesNotExistException */ public function find(string $uid, int $id): RecentContact { @@ -75,11 +71,6 @@ class RecentContactMapper extends QBMapper { } /** - * @param IUser $user - * @param string|null $uid - * @param string|null $email - * @param string|null $cloudId - * * @return RecentContact[] */ public function findMatch(IUser $user, @@ -108,11 +99,7 @@ class RecentContactMapper extends QBMapper { return $this->findEntities($select); } - /** - * @param string $uid - * @return int|null - */ - public function findLastUpdatedForUserId(string $uid):?int { + public function findLastUpdatedForUserId(string $uid): ?int { $qb = $this->db->getQueryBuilder(); $select = $qb @@ -122,7 +109,7 @@ class RecentContactMapper extends QBMapper { ->orderBy('last_contact', 'DESC') ->setMaxResults(1); - $cursor = $select->execute(); + $cursor = $select->executeQuery(); $row = $cursor->fetch(); if ($row === false) { @@ -139,6 +126,6 @@ class RecentContactMapper extends QBMapper { ->delete($this->getTableName()) ->where($qb->expr()->lt('last_contact', $qb->createNamedParameter($olderThan))); - $delete->execute(); + $delete->executeStatement(); } } diff --git a/apps/contactsinteraction/lib/Listeners/ContactInteractionListener.php b/apps/contactsinteraction/lib/Listeners/ContactInteractionListener.php index 333a6393920..0d776bb9fcc 100644 --- a/apps/contactsinteraction/lib/Listeners/ContactInteractionListener.php +++ b/apps/contactsinteraction/lib/Listeners/ContactInteractionListener.php @@ -41,24 +41,12 @@ use Sabre\VObject\UUIDUtil; use Throwable; class ContactInteractionListener implements IEventListener { - - /** @var RecentContactMapper */ - private $mapper; - - /** @var CardSearchDao */ - private $cardSearchDao; - - /** @var IUserManager */ - private $userManager; - - /** @var ITimeFactory */ - private $timeFactory; - - /** @var IL10N */ - private $l10n; - - /** @var LoggerInterface */ - private $logger; + private RecentContactMapper $mapper; + private CardSearchDao $cardSearchDao; + private IUserManager $userManager; + private ITimeFactory $timeFactory; + private IL10N $l10n; + private LoggerInterface $logger; public function __construct(RecentContactMapper $mapper, CardSearchDao $cardSearchDao, diff --git a/apps/dashboard/l10n/ca.js b/apps/dashboard/l10n/ca.js index 2607b684ce8..33c4aa71742 100644 --- a/apps/dashboard/l10n/ca.js +++ b/apps/dashboard/l10n/ca.js @@ -8,7 +8,7 @@ OC.L10N.register( "Edit widgets" : "Edita els ginys", "Get more widgets from the App Store" : "Aconseguiu més widgets de la botiga d'aplicacions", "Weather service" : "Servei meteorològic", - "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Per a la seva privacitat, les dades meteorològiques les sol·licita el seu servidor Nextcloud en el seu lloc perquè el servei meteorològic no rebi cap informació personal.", + "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Per a la seva privadesa, les dades meteorològiques les sol·licita el seu servidor Nextcloud en el seu lloc perquè el servei meteorològic no rebi cap informació personal.", "Weather data from Met.no" : "Dades meteorològiques de Met.no", "geocoding with Nominatim" : "codis geogràfics amb Nominatim", "elevation data from OpenTopoData" : "dades d'altitud d'OpenTopoData", @@ -25,7 +25,7 @@ OC.L10N.register( "Show something" : "Mostra alguna cosa", "Change background image" : "Canvia la imatge de fons", "Pick from Files" : "Trieu dels fitxers", - "Default images" : "Imatges predeterminades", + "Default images" : "Imatges per defecte", "Plain background" : "Fons senzill", "Insert from {productName}" : "Insereix des de {productName}" }, diff --git a/apps/dashboard/l10n/ca.json b/apps/dashboard/l10n/ca.json index 3e9bbaa3b89..a9425a1351c 100644 --- a/apps/dashboard/l10n/ca.json +++ b/apps/dashboard/l10n/ca.json @@ -6,7 +6,7 @@ "Edit widgets" : "Edita els ginys", "Get more widgets from the App Store" : "Aconseguiu més widgets de la botiga d'aplicacions", "Weather service" : "Servei meteorològic", - "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Per a la seva privacitat, les dades meteorològiques les sol·licita el seu servidor Nextcloud en el seu lloc perquè el servei meteorològic no rebi cap informació personal.", + "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Per a la seva privadesa, les dades meteorològiques les sol·licita el seu servidor Nextcloud en el seu lloc perquè el servei meteorològic no rebi cap informació personal.", "Weather data from Met.no" : "Dades meteorològiques de Met.no", "geocoding with Nominatim" : "codis geogràfics amb Nominatim", "elevation data from OpenTopoData" : "dades d'altitud d'OpenTopoData", @@ -23,7 +23,7 @@ "Show something" : "Mostra alguna cosa", "Change background image" : "Canvia la imatge de fons", "Pick from Files" : "Trieu dels fitxers", - "Default images" : "Imatges predeterminades", + "Default images" : "Imatges per defecte", "Plain background" : "Fons senzill", "Insert from {productName}" : "Insereix des de {productName}" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/dashboard/l10n/en_GB.js b/apps/dashboard/l10n/en_GB.js new file mode 100644 index 00000000000..cdcc4ff225c --- /dev/null +++ b/apps/dashboard/l10n/en_GB.js @@ -0,0 +1,32 @@ +OC.L10N.register( + "dashboard", + { + "Dashboard" : "Dashboard", + "Dashboard app" : "Dashboard app", + "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking.", + "Customize" : "Customise", + "Edit widgets" : "Edit widgets", + "Get more widgets from the App Store" : "Get more widgets from the App Store", + "Weather service" : "Weather service", + "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information.", + "Weather data from Met.no" : "Weather data from Met.no", + "geocoding with Nominatim" : "geocoding with Nominatim", + "elevation data from OpenTopoData" : "elevation data from OpenTopoData", + "Weather" : "Weather", + "Status" : "Status", + "Good morning" : "Good morning", + "Good morning, {name}" : "Good morning, {name}", + "Good afternoon" : "Good afternoon", + "Good afternoon, {name}" : "Good afternoon, {name}", + "Good evening" : "Good evening", + "Good evening, {name}" : "Good evening, {name}", + "Hello" : "Hello", + "Hello, {name}" : "Hello, {name}", + "Show something" : "Show something", + "Change background image" : "Change background image", + "Pick from Files" : "Pick from Files", + "Default images" : "Default images", + "Plain background" : "Plain background", + "Insert from {productName}" : "Insert from {productName}" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/dashboard/l10n/en_GB.json b/apps/dashboard/l10n/en_GB.json new file mode 100644 index 00000000000..3e9c58464d6 --- /dev/null +++ b/apps/dashboard/l10n/en_GB.json @@ -0,0 +1,30 @@ +{ "translations": { + "Dashboard" : "Dashboard", + "Dashboard app" : "Dashboard app", + "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking.", + "Customize" : "Customise", + "Edit widgets" : "Edit widgets", + "Get more widgets from the App Store" : "Get more widgets from the App Store", + "Weather service" : "Weather service", + "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information.", + "Weather data from Met.no" : "Weather data from Met.no", + "geocoding with Nominatim" : "geocoding with Nominatim", + "elevation data from OpenTopoData" : "elevation data from OpenTopoData", + "Weather" : "Weather", + "Status" : "Status", + "Good morning" : "Good morning", + "Good morning, {name}" : "Good morning, {name}", + "Good afternoon" : "Good afternoon", + "Good afternoon, {name}" : "Good afternoon, {name}", + "Good evening" : "Good evening", + "Good evening, {name}" : "Good evening, {name}", + "Hello" : "Hello", + "Hello, {name}" : "Hello, {name}", + "Show something" : "Show something", + "Change background image" : "Change background image", + "Pick from Files" : "Pick from Files", + "Default images" : "Default images", + "Plain background" : "Plain background", + "Insert from {productName}" : "Insert from {productName}" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/dashboard/l10n/hu.js b/apps/dashboard/l10n/hu.js index 9d3acc21e88..efb717b2547 100644 --- a/apps/dashboard/l10n/hu.js +++ b/apps/dashboard/l10n/hu.js @@ -27,6 +27,6 @@ OC.L10N.register( "Pick from Files" : "Választás a fájlok közül", "Default images" : "Alapértelmezett képek", "Plain background" : "Egyszerű háttér", - "Insert from {productName}" : "Beillesztés innen: {productName}-" + "Insert from {productName}" : "Beillesztés innen: {productName}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/dashboard/l10n/hu.json b/apps/dashboard/l10n/hu.json index 3bbc20c6ee9..4d83da0b427 100644 --- a/apps/dashboard/l10n/hu.json +++ b/apps/dashboard/l10n/hu.json @@ -25,6 +25,6 @@ "Pick from Files" : "Választás a fájlok közül", "Default images" : "Alapértelmezett képek", "Plain background" : "Egyszerű háttér", - "Insert from {productName}" : "Beillesztés innen: {productName}-" + "Insert from {productName}" : "Beillesztés innen: {productName}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/dashboard/src/DashboardApp.vue b/apps/dashboard/src/DashboardApp.vue index 8a823c48a1b..d550501cade 100644 --- a/apps/dashboard/src/DashboardApp.vue +++ b/apps/dashboard/src/DashboardApp.vue @@ -638,6 +638,5 @@ html, body { #content { overflow: auto; - position: static !important;; } </style> diff --git a/apps/dav/composer/autoload.php b/apps/dav/composer/autoload.php index a3040af8caa..0103857e976 100644 --- a/apps/dav/composer/autoload.php +++ b/apps/dav/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/dav/composer/composer/installed.php b/apps/dav/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/dav/composer/composer/installed.php +++ b/apps/dav/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/dav/l10n/ca.js b/apps/dav/l10n/ca.js index a1d37e37ba3..7842a8ea390 100644 --- a/apps/dav/l10n/ca.js +++ b/apps/dav/l10n/ca.js @@ -2,6 +2,7 @@ OC.L10N.register( "dav", { "Calendar" : "Calendari", + "To-dos" : "Tasques pendents", "Personal" : "Personal", "{actor} created calendar {calendar}" : "{actor} ha creat el calendari {calendar}", "You created calendar {calendar}" : "Heu creat el calendari {calendar}", @@ -9,6 +10,8 @@ OC.L10N.register( "You deleted calendar {calendar}" : "Heu suprimit el calendari {calendar}", "{actor} updated calendar {calendar}" : "{actor} ha actualitzat el calendari {calendar}", "You updated calendar {calendar}" : "Heu actualitzat el calendari {calendar}", + "{actor} restored calendar {calendar}" : "{actor} ha restaurat el calendari {calendar}", + "You restored calendar {calendar}" : "Heu restaurat el calendari {calendar}", "You shared calendar {calendar} as public link" : "Heu compartit el calendari {calendar} amb un enllaç públic", "You removed public link for calendar {calendar}" : "Heu eliminat l'enllaç públic del calendari {calendar}", "{actor} shared calendar {calendar} with you" : "{actor} ha compartit el calendari {calendar} amb vós", @@ -29,9 +32,27 @@ OC.L10N.register( "You deleted event {event} from calendar {calendar}" : "Heu suprimit l'esdeveniment {event} del calendari {calendar}", "{actor} updated event {event} in calendar {calendar}" : "{actor} esdeveniment actualitzat {esdeveniment} al calendari {calendar}", "You updated event {event} in calendar {calendar}" : "Heu actualitzat l'esdeveniment {event} al calendari {calendar}", + "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} ha mogut l'esdeveniment {event} del calendari {sourceCalendar} al calendari {targetCalendar}", + "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Heu mogut l'esdeveniment {event} del calendari {sourceCalendar} al calendari {targetCalendar}", + "{actor} restored event {event} of calendar {calendar}" : "{actor} esdeveniment restaurat {event} del calendari {calendar}", + "You restored event {event} of calendar {calendar}" : "Heu restaurat l'esdeveniment {event} del calendari {calendar}", "Busy" : "Ocupat", + "{actor} created to-do {todo} in list {calendar}" : "{actor} ha creat la tasca pendent {todo} a la llista {calendar}", + "You created to-do {todo} in list {calendar}" : "Heu creat la tasca pendent {todo} a la llista {calendar}", + "{actor} deleted to-do {todo} from list {calendar}" : "{actor} ha suprimit tasques pendents {todo} de la llista {calendar}", + "You deleted to-do {todo} from list {calendar}" : "Heu suprimit la tasca pendent {todo} de la llista {calendar}", + "{actor} updated to-do {todo} in list {calendar}" : "{actor} ha actualitzat tasques pendents {todo} a la llista {calendar}", + "You updated to-do {todo} in list {calendar}" : "Heu actualitzat la tasca pendent {todo} a la llista {calendar}", + "{actor} solved to-do {todo} in list {calendar}" : "{actor} ha resolt la tasca pendent {todo} a la llista {calendar}", + "You solved to-do {todo} in list {calendar}" : "Heu resolt la tasca pendent {todo} a la llista {calendar}", + "{actor} reopened to-do {todo} in list {calendar}" : "{actor} va reobrir tasques pendents {todo} a la llista {calendar}", + "You reopened to-do {todo} in list {calendar}" : "Heu reobert les tasques pendents {todo} a la llista {calendar}", + "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} ha mogut la tasca pendent {todo} de la llista {sourceCalendar} a la llista {targetCalendar}", + "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Heu mogut la tasca pendent {todo} de la llista {sourceCalendar} a la llista {targetCalendar}", + "Calendar, contacts and tasks" : "Calendari, contactes i tasques", "A <strong>calendar</strong> was modified" : "El <strong>calendari</strong> has estat modificat", "A calendar <strong>event</strong> was modified" : "S'ha modificat un <strong> esdeveniment </strong> del calendari", + "A calendar <strong>to-do</strong> was modified" : "S'ha modificat una <strong>tasca pendent</strong> del calendari", "Contact birthdays" : "Aniversaris dels contactes", "Death of %s" : "Mort de %s", "Calendar:" : "Calendari:", @@ -50,8 +71,11 @@ OC.L10N.register( "Description: %s" : "Descripció: %s", "Where: %s" : "On: %s", "%1$s via %2$s" : "%1$s mitjançant %2$s", + "Cancelled: %1$s" : "Cancel·lat: %1$s", "Invitation canceled" : "Invitació cancel·lada", + "Re: %1$s" : "Re: %1$s", "Invitation updated" : "Invitació actualitzada", + "Invitation: %1$s" : "Invitació: %1$s", "Invitation" : "Invitació", "Title:" : "Títol:", "Time:" : "Hora:", @@ -60,10 +84,52 @@ OC.L10N.register( "Organizer:" : "Organitzador:", "Attendees:" : "Assistents:", "Accept" : "Accepta", - "Decline" : "Rebutja", + "Decline" : "Declina", "More options …" : "Més opcions …", "More options at %s" : "Més opcions a %s", "Contacts" : "Contactes", + "{actor} created address book {addressbook}" : "{actor} ha creat la llibreta d'adreces {addressbook}", + "You created address book {addressbook}" : "Heu creat la llibreta d'adreces {addressbook}", + "{actor} deleted address book {addressbook}" : "{actor} llibreta d'adreces suprimida {addressbook}", + "You deleted address book {addressbook}" : "Heu suprimit la llibreta d'adreces {addressbook}", + "{actor} updated address book {addressbook}" : "{actor} llibreta d'adreces actualitzada {addressbook}", + "You updated address book {addressbook}" : "Heu actualitzat la llibreta d'adreces {addressbook}", + "{actor} shared address book {addressbook} with you" : "{actor} ha compartit la llibreta d'adreces {addressbook} amb vostè", + "You shared address book {addressbook} with {user}" : "Heu compartit la llibreta d'adreces {addressbook} amb {user}", + "{actor} shared address book {addressbook} with {user}" : "{actor} ha compartit la llibreta d'adreces {addressbook} amb {user}", + "{actor} unshared address book {addressbook} from you" : "{actor} ha deixat de compartir la llibreta d'adreces {addressbook} amb vostè", + "You unshared address book {addressbook} from {user}" : "Heu deixat de compartir la llibreta d'adreces {addressbook} de {user}", + "{actor} unshared address book {addressbook} from {user}" : "{actor} ha deixat de compartir la llibreta d'adreces {addressbook} de {user}", + "{actor} unshared address book {addressbook} from themselves" : "{actor} ha deixat de compartir la llibreta d'adreces {addressbook} d'ells mateixos", + "You shared address book {addressbook} with group {group}" : "Heu compartit la llibreta d'adreces {addressbook} amb el grup {group}", + "{actor} shared address book {addressbook} with group {group}" : "{actor} ha compartit la llibreta d'adreces {addressbook} amb el grup {group}", + "You unshared address book {addressbook} from group {group}" : "Heu deixat de compartir la llibreta d'adreces {addressbook} del grup {group}", + "{actor} unshared address book {addressbook} from group {group}" : "{actor} ha deixat de compartir la llibreta d'adreces {addressbook} del grup {group}", + "{actor} created contact {card} in address book {addressbook}" : "{actor} ha creat el contacte {card} a la llibreta d'adreces {addressbook}", + "You created contact {card} in address book {addressbook}" : "Heu creat el contacte {card} a la llibreta d'adreces {addressbook}", + "{actor} deleted contact {card} from address book {addressbook}" : "{actor} ha suprimit el contacte {card} de la llibreta d'adreces {addressbook}", + "You deleted contact {card} from address book {addressbook}" : "Heu suprimit el contacte {card} de la llibreta d'adreces {addressbook}", + "{actor} updated contact {card} in address book {addressbook}" : "{actor} ha actualitzat el contacte {card} a la llibreta d'adreces {addressbook}", + "You updated contact {card} in address book {addressbook}" : "Heu actualitzat el contacte {card} a la llibreta d'adreces {addressbook}", + "A <strong>contact</strong> or <strong>address book</strong> was modified" : "S'ha modificat un <strong>contacte</strong> o una <strong>llibreta d'adreces</strong>", + "File is not updatable: %1$s" : "El fitxer no es pot actualitzar: %1$s", + "Could not write to final file, canceled by hook" : "No s'ha pogut escriure al fitxer final, cancel·lat per ganxo", + "Could not write file contents" : "No s'ha pogut escriure el contingut del fitxer", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], + "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Error en copiar el fitxer a la ubicació de destí (copiat: %1$s, mida esperada del fitxer: %2$s)", + "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "S'esperava una mida de fitxer de %1$s però llegit (des del client Nextcloud) i escrit (a l'emmagatzematge de Nextcloud) %2$s. Pot ser un problema de xarxa al costat d'enviament o un problema d'escriptura a l'emmagatzematge del costat del servidor.", + "Could not rename part file to final file, canceled by hook" : "No s'ha pogut canviar el nom del fitxer de la part al fitxer final, cancel·lat per ganxo", + "Could not rename part file to final file" : "No s'ha pogut canviar el nom del fitxer de part al fitxer final", + "Failed to check file size: %1$s" : "No s'ha pogut comprovar la mida del fitxer: %1$s", + "Could not open file" : "No s’ha pogut obrir el fitxer", + "Encryption not ready: %1$s" : "El xifratge no està preparat: %1$s", + "Failed to open file: %1$s" : "No s'ha pogut obrir el fitxer: %1$s", + "Failed to unlink: %1$s" : "No s'ha pogut desenllaçar: %1$s", + "Invalid chunk name" : "Nom del fragment no vàlid", + "Could not rename part file assembled from chunks" : "No s'ha pogut canviar el nom del fitxer de peces muntat a partir de fragments", + "Failed to write file contents: %1$s" : "No s'ha pogut escriure el contingut del fitxer: %1$s", + "File not found: %1$s" : "No s'ha trobat el fitxer: %1$s", + "System is in maintenance mode." : "Sistema en mode de manteniment.", "Upgrade needed" : "Fa falta l'actualització", "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "El vostre %s cal configurar-se per utilitzar HTTPS per poder fer servir CalDAV i CardDAV amb iOS/macOS.", "Configures a CalDAV account" : "Configura un compte CalDAV", @@ -74,11 +140,18 @@ OC.L10N.register( "Completed on %s" : "Completat a %s", "Due on %s by %s" : "Venciment a %s per %s", "Due on %s" : "Venç en %s", + "Migrated calendar (%1$s)" : "Calendari migrat (%1$s)", + "Calendars including events, details and attendees" : "Calendaris que inclouen esdeveniments, detalls i assistents", "Contacts and groups" : "Contactes i grups", "WebDAV" : "WebDAV", "WebDAV endpoint" : "Punt final de WebDAV", + "Availability" : "Disponibilitat", + "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Si configureu el vostre horari laboral, els altres usuaris veuran quan sou fora de l'oficina quan reserven una reunió.", + "Time zone:" : "Zona horària:", "to" : "a", - "Delete slot" : "Suprimeix unitat temporal", + "Delete slot" : "Suprimeix forat", + "No working hours set" : "Sense horari de treball establert", + "Add slot" : "Afegeix una forat", "Monday" : "Dilluns", "Tuesday" : "Dimarts", "Wednesday" : "Dimecres", @@ -86,14 +159,20 @@ OC.L10N.register( "Friday" : "Divendres", "Saturday" : "Dissabte", "Sunday" : "Diumenge", + "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Estableix automàticament l'estat de l'usuari a \"No molestar\" fora de la disponibilitat per silenciar totes les notificacions.", "Save" : "Desa", + "Failed to load availability" : "No s'ha pogut carregar la disponibilitat", + "Saved availability" : "Disponibilitat guardada", + "Failed to save availability" : "No s'ha pogut desar la disponibilitat", "Calendar server" : "Servidor de calendari", "Send invitations to attendees" : "Envia invitacions als assistents", "Automatically generate a birthday calendar" : "Genera automàticament un calendari d’aniversari", "Birthday calendars will be generated by a background job." : "Els calendaris d'aniversari es generaran per un procés en segon pla..", "Hence they will not be available immediately after enabling but will show up after some time." : "Per tant, no estaran disponibles immediatament després d'habilitar-los, però apareixeran d'aquí una estona.", "Send notifications for events" : "Envia notificacions per als esdeveniments", - "Notifications are sent via background jobs, so these must occur often enough." : "Les notificacions s'envien per tasques funcionant en segon pla, així que això ha de succeir bastant sovint.", + "Notifications are sent via background jobs, so these must occur often enough." : "Les notificacions s'envien per feines en segon pla, així que això ha de succeir bastant sovint.", + "Send reminder notifications to calendar sharees as well" : "També envieu notificacions de recordatoris als recursos compartits del calendari", + "Reminders are always sent to organizers and attendees." : "Sempre s'envien recordatoris als organitzadors i als assistents.", "Enable notifications for events via push" : "Habiliteu les notificacions per a esdeveniments mitjançant l’empenyiment", "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Instal·leu també {calendarappstoreopen}l’aplicació de Calendari{linkclose} o {calendardocopen}connecteu el vostre escriptori i el mòbil per sincronitzar ↗{linkclose}.", "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Si us plau, assegureu-vos de configurar correctament {emailopen}el servidor de correu electrònic{linkclose}.", @@ -101,6 +180,7 @@ OC.L10N.register( "Please contact the organizer directly." : "Si us plau contacteu amb l'organitzador directament.", "Are you accepting the invitation?" : "Accepteu la invitació?", "Tentative" : "Provisional", + "Number of guests" : "Nombre d'hostes", "Comment" : "Comentari", "Your attendance was updated successfully." : "La vostra assistència ha estat actualitzada correctament.", "Todos" : "Tasques", diff --git a/apps/dav/l10n/ca.json b/apps/dav/l10n/ca.json index 5d339d4de30..34c384e1648 100644 --- a/apps/dav/l10n/ca.json +++ b/apps/dav/l10n/ca.json @@ -1,5 +1,6 @@ { "translations": { "Calendar" : "Calendari", + "To-dos" : "Tasques pendents", "Personal" : "Personal", "{actor} created calendar {calendar}" : "{actor} ha creat el calendari {calendar}", "You created calendar {calendar}" : "Heu creat el calendari {calendar}", @@ -7,6 +8,8 @@ "You deleted calendar {calendar}" : "Heu suprimit el calendari {calendar}", "{actor} updated calendar {calendar}" : "{actor} ha actualitzat el calendari {calendar}", "You updated calendar {calendar}" : "Heu actualitzat el calendari {calendar}", + "{actor} restored calendar {calendar}" : "{actor} ha restaurat el calendari {calendar}", + "You restored calendar {calendar}" : "Heu restaurat el calendari {calendar}", "You shared calendar {calendar} as public link" : "Heu compartit el calendari {calendar} amb un enllaç públic", "You removed public link for calendar {calendar}" : "Heu eliminat l'enllaç públic del calendari {calendar}", "{actor} shared calendar {calendar} with you" : "{actor} ha compartit el calendari {calendar} amb vós", @@ -27,9 +30,27 @@ "You deleted event {event} from calendar {calendar}" : "Heu suprimit l'esdeveniment {event} del calendari {calendar}", "{actor} updated event {event} in calendar {calendar}" : "{actor} esdeveniment actualitzat {esdeveniment} al calendari {calendar}", "You updated event {event} in calendar {calendar}" : "Heu actualitzat l'esdeveniment {event} al calendari {calendar}", + "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} ha mogut l'esdeveniment {event} del calendari {sourceCalendar} al calendari {targetCalendar}", + "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Heu mogut l'esdeveniment {event} del calendari {sourceCalendar} al calendari {targetCalendar}", + "{actor} restored event {event} of calendar {calendar}" : "{actor} esdeveniment restaurat {event} del calendari {calendar}", + "You restored event {event} of calendar {calendar}" : "Heu restaurat l'esdeveniment {event} del calendari {calendar}", "Busy" : "Ocupat", + "{actor} created to-do {todo} in list {calendar}" : "{actor} ha creat la tasca pendent {todo} a la llista {calendar}", + "You created to-do {todo} in list {calendar}" : "Heu creat la tasca pendent {todo} a la llista {calendar}", + "{actor} deleted to-do {todo} from list {calendar}" : "{actor} ha suprimit tasques pendents {todo} de la llista {calendar}", + "You deleted to-do {todo} from list {calendar}" : "Heu suprimit la tasca pendent {todo} de la llista {calendar}", + "{actor} updated to-do {todo} in list {calendar}" : "{actor} ha actualitzat tasques pendents {todo} a la llista {calendar}", + "You updated to-do {todo} in list {calendar}" : "Heu actualitzat la tasca pendent {todo} a la llista {calendar}", + "{actor} solved to-do {todo} in list {calendar}" : "{actor} ha resolt la tasca pendent {todo} a la llista {calendar}", + "You solved to-do {todo} in list {calendar}" : "Heu resolt la tasca pendent {todo} a la llista {calendar}", + "{actor} reopened to-do {todo} in list {calendar}" : "{actor} va reobrir tasques pendents {todo} a la llista {calendar}", + "You reopened to-do {todo} in list {calendar}" : "Heu reobert les tasques pendents {todo} a la llista {calendar}", + "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} ha mogut la tasca pendent {todo} de la llista {sourceCalendar} a la llista {targetCalendar}", + "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Heu mogut la tasca pendent {todo} de la llista {sourceCalendar} a la llista {targetCalendar}", + "Calendar, contacts and tasks" : "Calendari, contactes i tasques", "A <strong>calendar</strong> was modified" : "El <strong>calendari</strong> has estat modificat", "A calendar <strong>event</strong> was modified" : "S'ha modificat un <strong> esdeveniment </strong> del calendari", + "A calendar <strong>to-do</strong> was modified" : "S'ha modificat una <strong>tasca pendent</strong> del calendari", "Contact birthdays" : "Aniversaris dels contactes", "Death of %s" : "Mort de %s", "Calendar:" : "Calendari:", @@ -48,8 +69,11 @@ "Description: %s" : "Descripció: %s", "Where: %s" : "On: %s", "%1$s via %2$s" : "%1$s mitjançant %2$s", + "Cancelled: %1$s" : "Cancel·lat: %1$s", "Invitation canceled" : "Invitació cancel·lada", + "Re: %1$s" : "Re: %1$s", "Invitation updated" : "Invitació actualitzada", + "Invitation: %1$s" : "Invitació: %1$s", "Invitation" : "Invitació", "Title:" : "Títol:", "Time:" : "Hora:", @@ -58,10 +82,52 @@ "Organizer:" : "Organitzador:", "Attendees:" : "Assistents:", "Accept" : "Accepta", - "Decline" : "Rebutja", + "Decline" : "Declina", "More options …" : "Més opcions …", "More options at %s" : "Més opcions a %s", "Contacts" : "Contactes", + "{actor} created address book {addressbook}" : "{actor} ha creat la llibreta d'adreces {addressbook}", + "You created address book {addressbook}" : "Heu creat la llibreta d'adreces {addressbook}", + "{actor} deleted address book {addressbook}" : "{actor} llibreta d'adreces suprimida {addressbook}", + "You deleted address book {addressbook}" : "Heu suprimit la llibreta d'adreces {addressbook}", + "{actor} updated address book {addressbook}" : "{actor} llibreta d'adreces actualitzada {addressbook}", + "You updated address book {addressbook}" : "Heu actualitzat la llibreta d'adreces {addressbook}", + "{actor} shared address book {addressbook} with you" : "{actor} ha compartit la llibreta d'adreces {addressbook} amb vostè", + "You shared address book {addressbook} with {user}" : "Heu compartit la llibreta d'adreces {addressbook} amb {user}", + "{actor} shared address book {addressbook} with {user}" : "{actor} ha compartit la llibreta d'adreces {addressbook} amb {user}", + "{actor} unshared address book {addressbook} from you" : "{actor} ha deixat de compartir la llibreta d'adreces {addressbook} amb vostè", + "You unshared address book {addressbook} from {user}" : "Heu deixat de compartir la llibreta d'adreces {addressbook} de {user}", + "{actor} unshared address book {addressbook} from {user}" : "{actor} ha deixat de compartir la llibreta d'adreces {addressbook} de {user}", + "{actor} unshared address book {addressbook} from themselves" : "{actor} ha deixat de compartir la llibreta d'adreces {addressbook} d'ells mateixos", + "You shared address book {addressbook} with group {group}" : "Heu compartit la llibreta d'adreces {addressbook} amb el grup {group}", + "{actor} shared address book {addressbook} with group {group}" : "{actor} ha compartit la llibreta d'adreces {addressbook} amb el grup {group}", + "You unshared address book {addressbook} from group {group}" : "Heu deixat de compartir la llibreta d'adreces {addressbook} del grup {group}", + "{actor} unshared address book {addressbook} from group {group}" : "{actor} ha deixat de compartir la llibreta d'adreces {addressbook} del grup {group}", + "{actor} created contact {card} in address book {addressbook}" : "{actor} ha creat el contacte {card} a la llibreta d'adreces {addressbook}", + "You created contact {card} in address book {addressbook}" : "Heu creat el contacte {card} a la llibreta d'adreces {addressbook}", + "{actor} deleted contact {card} from address book {addressbook}" : "{actor} ha suprimit el contacte {card} de la llibreta d'adreces {addressbook}", + "You deleted contact {card} from address book {addressbook}" : "Heu suprimit el contacte {card} de la llibreta d'adreces {addressbook}", + "{actor} updated contact {card} in address book {addressbook}" : "{actor} ha actualitzat el contacte {card} a la llibreta d'adreces {addressbook}", + "You updated contact {card} in address book {addressbook}" : "Heu actualitzat el contacte {card} a la llibreta d'adreces {addressbook}", + "A <strong>contact</strong> or <strong>address book</strong> was modified" : "S'ha modificat un <strong>contacte</strong> o una <strong>llibreta d'adreces</strong>", + "File is not updatable: %1$s" : "El fitxer no es pot actualitzar: %1$s", + "Could not write to final file, canceled by hook" : "No s'ha pogut escriure al fitxer final, cancel·lat per ganxo", + "Could not write file contents" : "No s'ha pogut escriure el contingut del fitxer", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], + "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Error en copiar el fitxer a la ubicació de destí (copiat: %1$s, mida esperada del fitxer: %2$s)", + "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "S'esperava una mida de fitxer de %1$s però llegit (des del client Nextcloud) i escrit (a l'emmagatzematge de Nextcloud) %2$s. Pot ser un problema de xarxa al costat d'enviament o un problema d'escriptura a l'emmagatzematge del costat del servidor.", + "Could not rename part file to final file, canceled by hook" : "No s'ha pogut canviar el nom del fitxer de la part al fitxer final, cancel·lat per ganxo", + "Could not rename part file to final file" : "No s'ha pogut canviar el nom del fitxer de part al fitxer final", + "Failed to check file size: %1$s" : "No s'ha pogut comprovar la mida del fitxer: %1$s", + "Could not open file" : "No s’ha pogut obrir el fitxer", + "Encryption not ready: %1$s" : "El xifratge no està preparat: %1$s", + "Failed to open file: %1$s" : "No s'ha pogut obrir el fitxer: %1$s", + "Failed to unlink: %1$s" : "No s'ha pogut desenllaçar: %1$s", + "Invalid chunk name" : "Nom del fragment no vàlid", + "Could not rename part file assembled from chunks" : "No s'ha pogut canviar el nom del fitxer de peces muntat a partir de fragments", + "Failed to write file contents: %1$s" : "No s'ha pogut escriure el contingut del fitxer: %1$s", + "File not found: %1$s" : "No s'ha trobat el fitxer: %1$s", + "System is in maintenance mode." : "Sistema en mode de manteniment.", "Upgrade needed" : "Fa falta l'actualització", "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "El vostre %s cal configurar-se per utilitzar HTTPS per poder fer servir CalDAV i CardDAV amb iOS/macOS.", "Configures a CalDAV account" : "Configura un compte CalDAV", @@ -72,11 +138,18 @@ "Completed on %s" : "Completat a %s", "Due on %s by %s" : "Venciment a %s per %s", "Due on %s" : "Venç en %s", + "Migrated calendar (%1$s)" : "Calendari migrat (%1$s)", + "Calendars including events, details and attendees" : "Calendaris que inclouen esdeveniments, detalls i assistents", "Contacts and groups" : "Contactes i grups", "WebDAV" : "WebDAV", "WebDAV endpoint" : "Punt final de WebDAV", + "Availability" : "Disponibilitat", + "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Si configureu el vostre horari laboral, els altres usuaris veuran quan sou fora de l'oficina quan reserven una reunió.", + "Time zone:" : "Zona horària:", "to" : "a", - "Delete slot" : "Suprimeix unitat temporal", + "Delete slot" : "Suprimeix forat", + "No working hours set" : "Sense horari de treball establert", + "Add slot" : "Afegeix una forat", "Monday" : "Dilluns", "Tuesday" : "Dimarts", "Wednesday" : "Dimecres", @@ -84,14 +157,20 @@ "Friday" : "Divendres", "Saturday" : "Dissabte", "Sunday" : "Diumenge", + "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Estableix automàticament l'estat de l'usuari a \"No molestar\" fora de la disponibilitat per silenciar totes les notificacions.", "Save" : "Desa", + "Failed to load availability" : "No s'ha pogut carregar la disponibilitat", + "Saved availability" : "Disponibilitat guardada", + "Failed to save availability" : "No s'ha pogut desar la disponibilitat", "Calendar server" : "Servidor de calendari", "Send invitations to attendees" : "Envia invitacions als assistents", "Automatically generate a birthday calendar" : "Genera automàticament un calendari d’aniversari", "Birthday calendars will be generated by a background job." : "Els calendaris d'aniversari es generaran per un procés en segon pla..", "Hence they will not be available immediately after enabling but will show up after some time." : "Per tant, no estaran disponibles immediatament després d'habilitar-los, però apareixeran d'aquí una estona.", "Send notifications for events" : "Envia notificacions per als esdeveniments", - "Notifications are sent via background jobs, so these must occur often enough." : "Les notificacions s'envien per tasques funcionant en segon pla, així que això ha de succeir bastant sovint.", + "Notifications are sent via background jobs, so these must occur often enough." : "Les notificacions s'envien per feines en segon pla, així que això ha de succeir bastant sovint.", + "Send reminder notifications to calendar sharees as well" : "També envieu notificacions de recordatoris als recursos compartits del calendari", + "Reminders are always sent to organizers and attendees." : "Sempre s'envien recordatoris als organitzadors i als assistents.", "Enable notifications for events via push" : "Habiliteu les notificacions per a esdeveniments mitjançant l’empenyiment", "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Instal·leu també {calendarappstoreopen}l’aplicació de Calendari{linkclose} o {calendardocopen}connecteu el vostre escriptori i el mòbil per sincronitzar ↗{linkclose}.", "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Si us plau, assegureu-vos de configurar correctament {emailopen}el servidor de correu electrònic{linkclose}.", @@ -99,6 +178,7 @@ "Please contact the organizer directly." : "Si us plau contacteu amb l'organitzador directament.", "Are you accepting the invitation?" : "Accepteu la invitació?", "Tentative" : "Provisional", + "Number of guests" : "Nombre d'hostes", "Comment" : "Comentari", "Your attendance was updated successfully." : "La vostra assistència ha estat actualitzada correctament.", "Todos" : "Tasques", diff --git a/apps/dav/l10n/da.js b/apps/dav/l10n/da.js index 987589d0c29..d5dc0bab99f 100644 --- a/apps/dav/l10n/da.js +++ b/apps/dav/l10n/da.js @@ -75,6 +75,7 @@ OC.L10N.register( "Contacts and groups" : "Kontakter og grupper", "WebDAV" : "WebDAV", "WebDAV endpoint" : "WebDAV endpoint", + "Availability" : "tilgængelighed", "to" : "til", "Delete slot" : "Slet slot", "Monday" : "Mandag", diff --git a/apps/dav/l10n/da.json b/apps/dav/l10n/da.json index 2ee6c850cd4..0b2467a841e 100644 --- a/apps/dav/l10n/da.json +++ b/apps/dav/l10n/da.json @@ -73,6 +73,7 @@ "Contacts and groups" : "Kontakter og grupper", "WebDAV" : "WebDAV", "WebDAV endpoint" : "WebDAV endpoint", + "Availability" : "tilgængelighed", "to" : "til", "Delete slot" : "Slet slot", "Monday" : "Mandag", diff --git a/apps/dav/l10n/el.js b/apps/dav/l10n/el.js index 45ce51a502f..24c35f48709 100644 --- a/apps/dav/l10n/el.js +++ b/apps/dav/l10n/el.js @@ -31,6 +31,7 @@ OC.L10N.register( "{actor} updated event {event} in calendar {calendar}" : "Ο {actor} ενημέρωσε το γεγονός {event} στο ημερολόγιο {calendar}", "You updated event {event} in calendar {calendar}" : "Ενημερώσατε το συμβάν {event} στο ημερολόγιο {calendar}", "Busy" : "Απασχολημένος", + "Calendar, contacts and tasks" : "Ημερολόγιο, επαφές και εργασίες", "A <strong>calendar</strong> was modified" : "Τροποποιήθηκε ένα <strong>ημερολόγιο</strong> ", "A calendar <strong>event</strong> was modified" : "Τροποποιήθηκε ένα <strong>γεγονός</strong> του ημερολογίου", "Contact birthdays" : "Γενέθλια επαφών", diff --git a/apps/dav/l10n/el.json b/apps/dav/l10n/el.json index 019d0e757c9..cfdc151b53c 100644 --- a/apps/dav/l10n/el.json +++ b/apps/dav/l10n/el.json @@ -29,6 +29,7 @@ "{actor} updated event {event} in calendar {calendar}" : "Ο {actor} ενημέρωσε το γεγονός {event} στο ημερολόγιο {calendar}", "You updated event {event} in calendar {calendar}" : "Ενημερώσατε το συμβάν {event} στο ημερολόγιο {calendar}", "Busy" : "Απασχολημένος", + "Calendar, contacts and tasks" : "Ημερολόγιο, επαφές και εργασίες", "A <strong>calendar</strong> was modified" : "Τροποποιήθηκε ένα <strong>ημερολόγιο</strong> ", "A calendar <strong>event</strong> was modified" : "Τροποποιήθηκε ένα <strong>γεγονός</strong> του ημερολογίου", "Contact birthdays" : "Γενέθλια επαφών", diff --git a/apps/dav/l10n/en_GB.js b/apps/dav/l10n/en_GB.js index 11229abe9f4..44e424f5eb0 100644 --- a/apps/dav/l10n/en_GB.js +++ b/apps/dav/l10n/en_GB.js @@ -2,7 +2,7 @@ OC.L10N.register( "dav", { "Calendar" : "Calendar", - "Todos" : "Todos", + "To-dos" : "To-dos", "Personal" : "Personal", "{actor} created calendar {calendar}" : "{actor} created calendar {calendar}", "You created calendar {calendar}" : "You created calendar {calendar}", @@ -10,6 +10,8 @@ OC.L10N.register( "You deleted calendar {calendar}" : "You deleted calendar {calendar}", "{actor} updated calendar {calendar}" : "{actor} updated calendar {calendar}", "You updated calendar {calendar}" : "You updated calendar {calendar}", + "{actor} restored calendar {calendar}" : "{actor} restored calendar {calendar}", + "You restored calendar {calendar}" : "You restored calendar {calendar}", "You shared calendar {calendar} as public link" : "You shared calendar {calendar} as public link", "You removed public link for calendar {calendar}" : "You removed public link for calendar {calendar}", "{actor} shared calendar {calendar} with you" : "{actor} shared calendar {calendar} with you", @@ -23,47 +25,175 @@ OC.L10N.register( "{actor} shared calendar {calendar} with group {group}" : "{actor} shared calendar {calendar} with group {group}", "You unshared calendar {calendar} from group {group}" : "You unshared calendar {calendar} from group {group}", "{actor} unshared calendar {calendar} from group {group}" : "{actor} unshared calendar {calendar} from group {group}", + "Untitled event" : "Untitled event", "{actor} created event {event} in calendar {calendar}" : "{actor} created event {event} in calendar {calendar}", "You created event {event} in calendar {calendar}" : "You created event {event} in calendar {calendar}", "{actor} deleted event {event} from calendar {calendar}" : "{actor} deleted event {event} from calendar {calendar}", "You deleted event {event} from calendar {calendar}" : "You deleted event {event} from calendar {calendar}", "{actor} updated event {event} in calendar {calendar}" : "{actor} updated event {event} in calendar {calendar}", "You updated event {event} in calendar {calendar}" : "You updated event {event} in calendar {calendar}", + "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}", + "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}", + "{actor} restored event {event} of calendar {calendar}" : "{actor} restored event {event} of calendar {calendar}", + "You restored event {event} of calendar {calendar}" : "You restored event {event} of calendar {calendar}", "Busy" : "Busy", - "{actor} created todo {todo} in list {calendar}" : "{actor} created todo {todo} in list {calendar}", - "You created todo {todo} in list {calendar}" : "You created todo {todo} in list {calendar}", - "{actor} deleted todo {todo} from list {calendar}" : "{actor} deleted todo {todo} from list {calendar}", - "You deleted todo {todo} from list {calendar}" : "You deleted todo {todo} from list {calendar}", - "{actor} updated todo {todo} in list {calendar}" : "{actor} updated todo {todo} in list {calendar}", - "You updated todo {todo} in list {calendar}" : "You updated todo {todo} in list {calendar}", - "{actor} solved todo {todo} in list {calendar}" : "{actor} solved todo {todo} in list {calendar}", - "You solved todo {todo} in list {calendar}" : "You solved todo {todo} in list {calendar}", - "{actor} reopened todo {todo} in list {calendar}" : "{actor} reopened todo {todo} in list {calendar}", - "You reopened todo {todo} in list {calendar}" : "You reopened todo {todo} in list {calendar}", + "{actor} created to-do {todo} in list {calendar}" : "{actor} created to-do {todo} in list {calendar}", + "You created to-do {todo} in list {calendar}" : "You created to-do {todo} in list {calendar}", + "{actor} deleted to-do {todo} from list {calendar}" : "{actor} deleted to-do {todo} from list {calendar}", + "You deleted to-do {todo} from list {calendar}" : "You deleted to-do {todo} from list {calendar}", + "{actor} updated to-do {todo} in list {calendar}" : "{actor} updated to-do {todo} in list {calendar}", + "You updated to-do {todo} in list {calendar}" : "You updated to-do {todo} in list {calendar}", + "{actor} solved to-do {todo} in list {calendar}" : "{actor} solved to-do {todo} in list {calendar}", + "You solved to-do {todo} in list {calendar}" : "You solved to-do {todo} in list {calendar}", + "{actor} reopened to-do {todo} in list {calendar}" : "{actor} reopened to-do {todo} in list {calendar}", + "You reopened to-do {todo} in list {calendar}" : "You reopened to-do {todo} in list {calendar}", + "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}", + "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}", + "Calendar, contacts and tasks" : "Calendar, contacts and tasks", "A <strong>calendar</strong> was modified" : "A <strong>calendar</strong> was modified", "A calendar <strong>event</strong> was modified" : "A calendar <strong>event</strong> was modified", - "A calendar <strong>todo</strong> was modified" : "A calendar <strong>todo</strong> was modified", + "A calendar <strong>to-do</strong> was modified" : "A calendar <strong>to-do</strong> was modified", "Contact birthdays" : "Contact birthdays", + "Death of %s" : "Death of %s", + "Calendar:" : "Calendar:", + "Date:" : "Date:", "Where:" : "Where:", "Description:" : "Description:", + "_%n year_::_%n years_" : ["%n year","%n years"], + "_%n month_::_%n months_" : ["%n month","%n months"], + "_%n day_::_%n days_" : ["%n day","%n days"], + "_%n hour_::_%n hours_" : ["%n hour","%n hours"], + "_%n minute_::_%n minutes_" : ["%n minute","%n minutes"], + "%s (in %s)" : "%s (in %s)", + "%s (%s ago)" : "%s (%s ago)", + "Calendar: %s" : "Calendar: %s", + "Date: %s" : "Date: %s", + "Description: %s" : "Description: %s", + "Where: %s" : "Where: %s", "%1$s via %2$s" : "%1$s via %2$s", + "Cancelled: %1$s" : "Cancelled: %1$s", "Invitation canceled" : "Invitation canceled", + "Re: %1$s" : "Re: %1$s", "Invitation updated" : "Invitation updated", + "Invitation: %1$s" : "Invitation: %1$s", + "Invitation" : "Invitation", + "Title:" : "Title:", + "Time:" : "Time:", "Location:" : "Location:", "Link:" : "Link:", + "Organizer:" : "Organizer:", + "Attendees:" : "Attendees:", "Accept" : "Accept", "Decline" : "Decline", + "More options …" : "More options …", + "More options at %s" : "More options at %s", "Contacts" : "Contacts", + "{actor} created address book {addressbook}" : "{actor} created address book {addressbook}", + "You created address book {addressbook}" : "You created address book {addressbook}", + "{actor} deleted address book {addressbook}" : "{actor} deleted address book {addressbook}", + "You deleted address book {addressbook}" : "You deleted address book {addressbook}", + "{actor} updated address book {addressbook}" : "{actor} updated address book {addressbook}", + "You updated address book {addressbook}" : "You updated address book {addressbook}", + "{actor} shared address book {addressbook} with you" : "{actor} shared address book {addressbook} with you", + "You shared address book {addressbook} with {user}" : "You shared address book {addressbook} with {user}", + "{actor} shared address book {addressbook} with {user}" : "{actor} shared address book {addressbook} with {user}", + "{actor} unshared address book {addressbook} from you" : "{actor} unshared address book {addressbook} from you", + "You unshared address book {addressbook} from {user}" : "You unshared address book {addressbook} from {user}", + "{actor} unshared address book {addressbook} from {user}" : "{actor} unshared address book {addressbook} from {user}", + "{actor} unshared address book {addressbook} from themselves" : "{actor} unshared address book {addressbook} from themselves", + "You shared address book {addressbook} with group {group}" : "You shared address book {addressbook} with group {group}", + "{actor} shared address book {addressbook} with group {group}" : "{actor} shared address book {addressbook} with group {group}", + "You unshared address book {addressbook} from group {group}" : "You unshared address book {addressbook} from group {group}", + "{actor} unshared address book {addressbook} from group {group}" : "{actor} unshared address book {addressbook} from group {group}", + "{actor} created contact {card} in address book {addressbook}" : "{actor} created contact {card} in address book {addressbook}", + "You created contact {card} in address book {addressbook}" : "You created contact {card} in address book {addressbook}", + "{actor} deleted contact {card} from address book {addressbook}" : "{actor} deleted contact {card} from address book {addressbook}", + "You deleted contact {card} from address book {addressbook}" : "You deleted contact {card} from address book {addressbook}", + "{actor} updated contact {card} in address book {addressbook}" : "{actor} updated contact {card} in address book {addressbook}", + "You updated contact {card} in address book {addressbook}" : "You updated contact {card} in address book {addressbook}", + "A <strong>contact</strong> or <strong>address book</strong> was modified" : "A <strong>contact</strong> or <strong>address book</strong> was modified", + "File is not updatable: %1$s" : "File is not updatable: %1$s", + "Could not write to final file, canceled by hook" : "Could not write to final file, canceled by hook", + "Could not write file contents" : "Could not write file contents", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], + "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)", + "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side.", + "Could not rename part file to final file, canceled by hook" : "Could not rename part file to final file, canceled by hook", + "Could not rename part file to final file" : "Could not rename part file to final file", + "Failed to check file size: %1$s" : "Failed to check file size: %1$s", + "Could not open file" : "Could not open file", + "Encryption not ready: %1$s" : "Encryption not ready: %1$s", + "Failed to open file: %1$s" : "Failed to open file: %1$s", + "Failed to unlink: %1$s" : "Failed to unlink: %1$s", + "Invalid chunk name" : "Invalid chunk name", + "Could not rename part file assembled from chunks" : "Could not rename part file assembled from chunks", + "Failed to write file contents: %1$s" : "Failed to write file contents: %1$s", + "File not found: %1$s" : "File not found: %1$s", + "System is in maintenance mode." : "System is in maintenance mode.", + "Upgrade needed" : "Upgrade needed", + "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS.", + "Configures a CalDAV account" : "Configures a CalDAV account", + "Configures a CardDAV account" : "Configures a CardDAV account", + "Events" : "Events", "Tasks" : "Tasks", + "Untitled task" : "Untitled task", + "Completed on %s" : "Completed on %s", + "Due on %s by %s" : "Due on %s by %s", + "Due on %s" : "Due on %s", + "Migrated calendar (%1$s)" : "Migrated calendar (%1$s)", + "Calendars including events, details and attendees" : "Calendars including events, details and attendees", + "Contacts and groups" : "Contacts and groups", "WebDAV" : "WebDAV", "WebDAV endpoint" : "WebDAV endpoint", - "Tentative" : "Tentative", + "Availability" : "Availability", + "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "If you configure your working hours, other users will see when you are out of office when they book a meeting.", + "Time zone:" : "Time zone:", + "to" : "to", + "Delete slot" : "Delete slot", + "No working hours set" : "No working hours set", + "Add slot" : "Add slot", + "Monday" : "Monday", + "Tuesday" : "Tuesday", + "Wednesday" : "Wednesday", + "Thursday" : "Thursday", + "Friday" : "Friday", + "Saturday" : "Saturday", + "Sunday" : "Sunday", + "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications.", "Save" : "Save", + "Failed to load availability" : "Failed to load availability", + "Saved availability" : "Saved availability", + "Failed to save availability" : "Failed to save availability", + "Calendar server" : "Calendar server", "Send invitations to attendees" : "Send invitations to attendees", "Automatically generate a birthday calendar" : "Automatically generate a birthday calendar", "Birthday calendars will be generated by a background job." : "Birthday calendars will be generated by a background job.", "Hence they will not be available immediately after enabling but will show up after some time." : "Hence they will not be available immediately after enabling but will show up after some time.", - "Hello %s," : "Hello %s,", - "When:" : "When:" + "Send notifications for events" : "Send notifications for events", + "Notifications are sent via background jobs, so these must occur often enough." : "Notifications are sent via background jobs, so these must occur often enough.", + "Send reminder notifications to calendar sharees as well" : "Send reminder notifications to calendar sharees as well", + "Reminders are always sent to organizers and attendees." : "Reminders are always sent to organizers and attendees.", + "Enable notifications for events via push" : "Enable notifications for events via push", + "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}.", + "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Please make sure to properly set up {emailopen}the email server{linkclose}.", + "There was an error updating your attendance status." : "There was an error updating your attendance status.", + "Please contact the organizer directly." : "Please contact the organizer directly.", + "Are you accepting the invitation?" : "Are you accepting the invitation?", + "Tentative" : "Tentative", + "Number of guests" : "Number of guests", + "Comment" : "Comment", + "Your attendance was updated successfully." : "Your attendance was updated successfully.", + "Todos" : "Todos", + "{actor} created todo {todo} in list {calendar}" : "{actor} created todo {todo} in list {calendar}", + "You created todo {todo} in list {calendar}" : "You created todo {todo} in list {calendar}", + "{actor} deleted todo {todo} from list {calendar}" : "{actor} deleted todo {todo} from list {calendar}", + "You deleted todo {todo} from list {calendar}" : "You deleted todo {todo} from list {calendar}", + "{actor} updated todo {todo} in list {calendar}" : "{actor} updated todo {todo} in list {calendar}", + "You updated todo {todo} in list {calendar}" : "You updated todo {todo} in list {calendar}", + "{actor} solved todo {todo} in list {calendar}" : "{actor} solved todo {todo} in list {calendar}", + "You solved todo {todo} in list {calendar}" : "You solved todo {todo} in list {calendar}", + "{actor} reopened todo {todo} in list {calendar}" : "{actor} reopened todo {todo} in list {calendar}", + "You reopened todo {todo} in list {calendar}" : "You reopened todo {todo} in list {calendar}", + "A calendar <strong>todo</strong> was modified" : "A calendar <strong>todo</strong> was modified" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/dav/l10n/en_GB.json b/apps/dav/l10n/en_GB.json index 2acf739fa33..ea3bf51acae 100644 --- a/apps/dav/l10n/en_GB.json +++ b/apps/dav/l10n/en_GB.json @@ -1,6 +1,6 @@ { "translations": { "Calendar" : "Calendar", - "Todos" : "Todos", + "To-dos" : "To-dos", "Personal" : "Personal", "{actor} created calendar {calendar}" : "{actor} created calendar {calendar}", "You created calendar {calendar}" : "You created calendar {calendar}", @@ -8,6 +8,8 @@ "You deleted calendar {calendar}" : "You deleted calendar {calendar}", "{actor} updated calendar {calendar}" : "{actor} updated calendar {calendar}", "You updated calendar {calendar}" : "You updated calendar {calendar}", + "{actor} restored calendar {calendar}" : "{actor} restored calendar {calendar}", + "You restored calendar {calendar}" : "You restored calendar {calendar}", "You shared calendar {calendar} as public link" : "You shared calendar {calendar} as public link", "You removed public link for calendar {calendar}" : "You removed public link for calendar {calendar}", "{actor} shared calendar {calendar} with you" : "{actor} shared calendar {calendar} with you", @@ -21,47 +23,175 @@ "{actor} shared calendar {calendar} with group {group}" : "{actor} shared calendar {calendar} with group {group}", "You unshared calendar {calendar} from group {group}" : "You unshared calendar {calendar} from group {group}", "{actor} unshared calendar {calendar} from group {group}" : "{actor} unshared calendar {calendar} from group {group}", + "Untitled event" : "Untitled event", "{actor} created event {event} in calendar {calendar}" : "{actor} created event {event} in calendar {calendar}", "You created event {event} in calendar {calendar}" : "You created event {event} in calendar {calendar}", "{actor} deleted event {event} from calendar {calendar}" : "{actor} deleted event {event} from calendar {calendar}", "You deleted event {event} from calendar {calendar}" : "You deleted event {event} from calendar {calendar}", "{actor} updated event {event} in calendar {calendar}" : "{actor} updated event {event} in calendar {calendar}", "You updated event {event} in calendar {calendar}" : "You updated event {event} in calendar {calendar}", + "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}", + "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}", + "{actor} restored event {event} of calendar {calendar}" : "{actor} restored event {event} of calendar {calendar}", + "You restored event {event} of calendar {calendar}" : "You restored event {event} of calendar {calendar}", "Busy" : "Busy", - "{actor} created todo {todo} in list {calendar}" : "{actor} created todo {todo} in list {calendar}", - "You created todo {todo} in list {calendar}" : "You created todo {todo} in list {calendar}", - "{actor} deleted todo {todo} from list {calendar}" : "{actor} deleted todo {todo} from list {calendar}", - "You deleted todo {todo} from list {calendar}" : "You deleted todo {todo} from list {calendar}", - "{actor} updated todo {todo} in list {calendar}" : "{actor} updated todo {todo} in list {calendar}", - "You updated todo {todo} in list {calendar}" : "You updated todo {todo} in list {calendar}", - "{actor} solved todo {todo} in list {calendar}" : "{actor} solved todo {todo} in list {calendar}", - "You solved todo {todo} in list {calendar}" : "You solved todo {todo} in list {calendar}", - "{actor} reopened todo {todo} in list {calendar}" : "{actor} reopened todo {todo} in list {calendar}", - "You reopened todo {todo} in list {calendar}" : "You reopened todo {todo} in list {calendar}", + "{actor} created to-do {todo} in list {calendar}" : "{actor} created to-do {todo} in list {calendar}", + "You created to-do {todo} in list {calendar}" : "You created to-do {todo} in list {calendar}", + "{actor} deleted to-do {todo} from list {calendar}" : "{actor} deleted to-do {todo} from list {calendar}", + "You deleted to-do {todo} from list {calendar}" : "You deleted to-do {todo} from list {calendar}", + "{actor} updated to-do {todo} in list {calendar}" : "{actor} updated to-do {todo} in list {calendar}", + "You updated to-do {todo} in list {calendar}" : "You updated to-do {todo} in list {calendar}", + "{actor} solved to-do {todo} in list {calendar}" : "{actor} solved to-do {todo} in list {calendar}", + "You solved to-do {todo} in list {calendar}" : "You solved to-do {todo} in list {calendar}", + "{actor} reopened to-do {todo} in list {calendar}" : "{actor} reopened to-do {todo} in list {calendar}", + "You reopened to-do {todo} in list {calendar}" : "You reopened to-do {todo} in list {calendar}", + "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}", + "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}", + "Calendar, contacts and tasks" : "Calendar, contacts and tasks", "A <strong>calendar</strong> was modified" : "A <strong>calendar</strong> was modified", "A calendar <strong>event</strong> was modified" : "A calendar <strong>event</strong> was modified", - "A calendar <strong>todo</strong> was modified" : "A calendar <strong>todo</strong> was modified", + "A calendar <strong>to-do</strong> was modified" : "A calendar <strong>to-do</strong> was modified", "Contact birthdays" : "Contact birthdays", + "Death of %s" : "Death of %s", + "Calendar:" : "Calendar:", + "Date:" : "Date:", "Where:" : "Where:", "Description:" : "Description:", + "_%n year_::_%n years_" : ["%n year","%n years"], + "_%n month_::_%n months_" : ["%n month","%n months"], + "_%n day_::_%n days_" : ["%n day","%n days"], + "_%n hour_::_%n hours_" : ["%n hour","%n hours"], + "_%n minute_::_%n minutes_" : ["%n minute","%n minutes"], + "%s (in %s)" : "%s (in %s)", + "%s (%s ago)" : "%s (%s ago)", + "Calendar: %s" : "Calendar: %s", + "Date: %s" : "Date: %s", + "Description: %s" : "Description: %s", + "Where: %s" : "Where: %s", "%1$s via %2$s" : "%1$s via %2$s", + "Cancelled: %1$s" : "Cancelled: %1$s", "Invitation canceled" : "Invitation canceled", + "Re: %1$s" : "Re: %1$s", "Invitation updated" : "Invitation updated", + "Invitation: %1$s" : "Invitation: %1$s", + "Invitation" : "Invitation", + "Title:" : "Title:", + "Time:" : "Time:", "Location:" : "Location:", "Link:" : "Link:", + "Organizer:" : "Organizer:", + "Attendees:" : "Attendees:", "Accept" : "Accept", "Decline" : "Decline", + "More options …" : "More options …", + "More options at %s" : "More options at %s", "Contacts" : "Contacts", + "{actor} created address book {addressbook}" : "{actor} created address book {addressbook}", + "You created address book {addressbook}" : "You created address book {addressbook}", + "{actor} deleted address book {addressbook}" : "{actor} deleted address book {addressbook}", + "You deleted address book {addressbook}" : "You deleted address book {addressbook}", + "{actor} updated address book {addressbook}" : "{actor} updated address book {addressbook}", + "You updated address book {addressbook}" : "You updated address book {addressbook}", + "{actor} shared address book {addressbook} with you" : "{actor} shared address book {addressbook} with you", + "You shared address book {addressbook} with {user}" : "You shared address book {addressbook} with {user}", + "{actor} shared address book {addressbook} with {user}" : "{actor} shared address book {addressbook} with {user}", + "{actor} unshared address book {addressbook} from you" : "{actor} unshared address book {addressbook} from you", + "You unshared address book {addressbook} from {user}" : "You unshared address book {addressbook} from {user}", + "{actor} unshared address book {addressbook} from {user}" : "{actor} unshared address book {addressbook} from {user}", + "{actor} unshared address book {addressbook} from themselves" : "{actor} unshared address book {addressbook} from themselves", + "You shared address book {addressbook} with group {group}" : "You shared address book {addressbook} with group {group}", + "{actor} shared address book {addressbook} with group {group}" : "{actor} shared address book {addressbook} with group {group}", + "You unshared address book {addressbook} from group {group}" : "You unshared address book {addressbook} from group {group}", + "{actor} unshared address book {addressbook} from group {group}" : "{actor} unshared address book {addressbook} from group {group}", + "{actor} created contact {card} in address book {addressbook}" : "{actor} created contact {card} in address book {addressbook}", + "You created contact {card} in address book {addressbook}" : "You created contact {card} in address book {addressbook}", + "{actor} deleted contact {card} from address book {addressbook}" : "{actor} deleted contact {card} from address book {addressbook}", + "You deleted contact {card} from address book {addressbook}" : "You deleted contact {card} from address book {addressbook}", + "{actor} updated contact {card} in address book {addressbook}" : "{actor} updated contact {card} in address book {addressbook}", + "You updated contact {card} in address book {addressbook}" : "You updated contact {card} in address book {addressbook}", + "A <strong>contact</strong> or <strong>address book</strong> was modified" : "A <strong>contact</strong> or <strong>address book</strong> was modified", + "File is not updatable: %1$s" : "File is not updatable: %1$s", + "Could not write to final file, canceled by hook" : "Could not write to final file, canceled by hook", + "Could not write file contents" : "Could not write file contents", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], + "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)", + "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side.", + "Could not rename part file to final file, canceled by hook" : "Could not rename part file to final file, canceled by hook", + "Could not rename part file to final file" : "Could not rename part file to final file", + "Failed to check file size: %1$s" : "Failed to check file size: %1$s", + "Could not open file" : "Could not open file", + "Encryption not ready: %1$s" : "Encryption not ready: %1$s", + "Failed to open file: %1$s" : "Failed to open file: %1$s", + "Failed to unlink: %1$s" : "Failed to unlink: %1$s", + "Invalid chunk name" : "Invalid chunk name", + "Could not rename part file assembled from chunks" : "Could not rename part file assembled from chunks", + "Failed to write file contents: %1$s" : "Failed to write file contents: %1$s", + "File not found: %1$s" : "File not found: %1$s", + "System is in maintenance mode." : "System is in maintenance mode.", + "Upgrade needed" : "Upgrade needed", + "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS.", + "Configures a CalDAV account" : "Configures a CalDAV account", + "Configures a CardDAV account" : "Configures a CardDAV account", + "Events" : "Events", "Tasks" : "Tasks", + "Untitled task" : "Untitled task", + "Completed on %s" : "Completed on %s", + "Due on %s by %s" : "Due on %s by %s", + "Due on %s" : "Due on %s", + "Migrated calendar (%1$s)" : "Migrated calendar (%1$s)", + "Calendars including events, details and attendees" : "Calendars including events, details and attendees", + "Contacts and groups" : "Contacts and groups", "WebDAV" : "WebDAV", "WebDAV endpoint" : "WebDAV endpoint", - "Tentative" : "Tentative", + "Availability" : "Availability", + "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "If you configure your working hours, other users will see when you are out of office when they book a meeting.", + "Time zone:" : "Time zone:", + "to" : "to", + "Delete slot" : "Delete slot", + "No working hours set" : "No working hours set", + "Add slot" : "Add slot", + "Monday" : "Monday", + "Tuesday" : "Tuesday", + "Wednesday" : "Wednesday", + "Thursday" : "Thursday", + "Friday" : "Friday", + "Saturday" : "Saturday", + "Sunday" : "Sunday", + "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications.", "Save" : "Save", + "Failed to load availability" : "Failed to load availability", + "Saved availability" : "Saved availability", + "Failed to save availability" : "Failed to save availability", + "Calendar server" : "Calendar server", "Send invitations to attendees" : "Send invitations to attendees", "Automatically generate a birthday calendar" : "Automatically generate a birthday calendar", "Birthday calendars will be generated by a background job." : "Birthday calendars will be generated by a background job.", "Hence they will not be available immediately after enabling but will show up after some time." : "Hence they will not be available immediately after enabling but will show up after some time.", - "Hello %s," : "Hello %s,", - "When:" : "When:" + "Send notifications for events" : "Send notifications for events", + "Notifications are sent via background jobs, so these must occur often enough." : "Notifications are sent via background jobs, so these must occur often enough.", + "Send reminder notifications to calendar sharees as well" : "Send reminder notifications to calendar sharees as well", + "Reminders are always sent to organizers and attendees." : "Reminders are always sent to organizers and attendees.", + "Enable notifications for events via push" : "Enable notifications for events via push", + "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}.", + "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Please make sure to properly set up {emailopen}the email server{linkclose}.", + "There was an error updating your attendance status." : "There was an error updating your attendance status.", + "Please contact the organizer directly." : "Please contact the organizer directly.", + "Are you accepting the invitation?" : "Are you accepting the invitation?", + "Tentative" : "Tentative", + "Number of guests" : "Number of guests", + "Comment" : "Comment", + "Your attendance was updated successfully." : "Your attendance was updated successfully.", + "Todos" : "Todos", + "{actor} created todo {todo} in list {calendar}" : "{actor} created todo {todo} in list {calendar}", + "You created todo {todo} in list {calendar}" : "You created todo {todo} in list {calendar}", + "{actor} deleted todo {todo} from list {calendar}" : "{actor} deleted todo {todo} from list {calendar}", + "You deleted todo {todo} from list {calendar}" : "You deleted todo {todo} from list {calendar}", + "{actor} updated todo {todo} in list {calendar}" : "{actor} updated todo {todo} in list {calendar}", + "You updated todo {todo} in list {calendar}" : "You updated todo {todo} in list {calendar}", + "{actor} solved todo {todo} in list {calendar}" : "{actor} solved todo {todo} in list {calendar}", + "You solved todo {todo} in list {calendar}" : "You solved todo {todo} in list {calendar}", + "{actor} reopened todo {todo} in list {calendar}" : "{actor} reopened todo {todo} in list {calendar}", + "You reopened todo {todo} in list {calendar}" : "You reopened todo {todo} in list {calendar}", + "A calendar <strong>todo</strong> was modified" : "A calendar <strong>todo</strong> was modified" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/dav/l10n/ja.js b/apps/dav/l10n/ja.js index a9cbf7e6b94..365a97efd89 100644 --- a/apps/dav/l10n/ja.js +++ b/apps/dav/l10n/ja.js @@ -2,6 +2,7 @@ OC.L10N.register( "dav", { "Calendar" : "カレンダー", + "To-dos" : "To-dos", "Personal" : "個人", "{actor} created calendar {calendar}" : "{actor}はカレンダー {calendar} を作成しました", "You created calendar {calendar}" : "カレンダー {calendar} を作成しました", diff --git a/apps/dav/l10n/ja.json b/apps/dav/l10n/ja.json index e5ec8aeb504..41a9d4437a6 100644 --- a/apps/dav/l10n/ja.json +++ b/apps/dav/l10n/ja.json @@ -1,5 +1,6 @@ { "translations": { "Calendar" : "カレンダー", + "To-dos" : "To-dos", "Personal" : "個人", "{actor} created calendar {calendar}" : "{actor}はカレンダー {calendar} を作成しました", "You created calendar {calendar}" : "カレンダー {calendar} を作成しました", diff --git a/apps/dav/l10n/mk.js b/apps/dav/l10n/mk.js index fe16669120e..a519db32b04 100644 --- a/apps/dav/l10n/mk.js +++ b/apps/dav/l10n/mk.js @@ -100,8 +100,11 @@ OC.L10N.register( "You unshared address book {addressbook} from {user}" : "Не го споделиувате адресар {addressbook} со {user}", "{actor} unshared address book {addressbook} from {user}" : "{actor} не го споделува адресар {addressbook} со {user}", "{actor} unshared address book {addressbook} from themselves" : "{actor} не го споделува адресар {addressbook} со себе", + "You shared address book {addressbook} with group {group}" : "Споделивте адресар {addressbook} со група {group}", + "{actor} shared address book {addressbook} with group {group}" : "{actor} сподели адресар {addressbook} со група {group}", "A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>Контракт</strong> или <strong>адресар</strong> е променет", "_%n byte_::_%n bytes_" : ["%n бајт","%n бајти"], + "Could not open file" : "Неможе да се отвори датотеката", "File not found: %1$s" : "Датотеката не е пронајдена: %1$s", "System is in maintenance mode." : "Системот е во мод за одржување.", "Upgrade needed" : "Потребна е надградба", diff --git a/apps/dav/l10n/mk.json b/apps/dav/l10n/mk.json index 7a179fab5a7..095a3b21a18 100644 --- a/apps/dav/l10n/mk.json +++ b/apps/dav/l10n/mk.json @@ -98,8 +98,11 @@ "You unshared address book {addressbook} from {user}" : "Не го споделиувате адресар {addressbook} со {user}", "{actor} unshared address book {addressbook} from {user}" : "{actor} не го споделува адресар {addressbook} со {user}", "{actor} unshared address book {addressbook} from themselves" : "{actor} не го споделува адресар {addressbook} со себе", + "You shared address book {addressbook} with group {group}" : "Споделивте адресар {addressbook} со група {group}", + "{actor} shared address book {addressbook} with group {group}" : "{actor} сподели адресар {addressbook} со група {group}", "A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>Контракт</strong> или <strong>адресар</strong> е променет", "_%n byte_::_%n bytes_" : ["%n бајт","%n бајти"], + "Could not open file" : "Неможе да се отвори датотеката", "File not found: %1$s" : "Датотеката не е пронајдена: %1$s", "System is in maintenance mode." : "Системот е во мод за одржување.", "Upgrade needed" : "Потребна е надградба", diff --git a/apps/dav/lib/CardDAV/Integration/ExternalAddressBook.php b/apps/dav/lib/CardDAV/Integration/ExternalAddressBook.php index b1deb638f3d..bd394cb7fb6 100644 --- a/apps/dav/lib/CardDAV/Integration/ExternalAddressBook.php +++ b/apps/dav/lib/CardDAV/Integration/ExternalAddressBook.php @@ -50,16 +50,9 @@ abstract class ExternalAddressBook implements IAddressBook, DAV\IProperties { */ private const DELIMITER = '--'; - /** @var string */ - private $appId; - - /** @var string */ - private $uri; + private string $appId; + private string $uri; - /** - * @param string $appId - * @param string $uri - */ public function __construct(string $appId, string $uri) { $this->appId = $appId; $this->uri = $uri; diff --git a/apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php b/apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php index 2d2be631416..257068b9576 100644 --- a/apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php +++ b/apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php @@ -64,7 +64,7 @@ class BlockLegacyClientPlugin extends ServerPlugin { return; } - $minimumSupportedDesktopVersion = $this->config->getSystemValue('minimum.supported.desktop.version', '2.0.0'); + $minimumSupportedDesktopVersion = $this->config->getSystemValue('minimum.supported.desktop.version', '2.3.0'); // Match on the mirall version which is in scheme "Mozilla/5.0 (%1) mirall/%2" or // "mirall/%1" for older releases diff --git a/apps/dav/lib/Connector/Sabre/Directory.php b/apps/dav/lib/Connector/Sabre/Directory.php index b575a051b2a..f4b1ee62190 100644 --- a/apps/dav/lib/Connector/Sabre/Directory.php +++ b/apps/dav/lib/Connector/Sabre/Directory.php @@ -255,7 +255,11 @@ class Directory extends \OCA\DAV\Connector\Sabre\Node implements \Sabre\DAV\ICol if (!$this->info->isReadable()) { // return 403 instead of 404 because a 404 would make // the caller believe that the collection itself does not exist - throw new Forbidden('No read permissions'); + if (\OCP\Server::get(\OCP\App\IAppManager::class)->isInstalled('files_accesscontrol')) { + throw new Forbidden('No read permissions. This might be caused by files_accesscontrol, check your configured rules'); + } else { + throw new Forbidden('No read permissions'); + } } $folderContent = $this->getNode()->getDirectoryListing(); } catch (LockedException $e) { diff --git a/apps/dav/lib/Connector/Sabre/File.php b/apps/dav/lib/Connector/Sabre/File.php index 94632b265db..3a871b06259 100644 --- a/apps/dav/lib/Connector/Sabre/File.php +++ b/apps/dav/lib/Connector/Sabre/File.php @@ -45,11 +45,11 @@ use OC\Files\Stream\HashWrapper; use OC\Files\View; use OC\Metadata\FileMetadata; use OCA\DAV\AppInfo\Application; +use OCA\DAV\Connector\Sabre\Exception\BadGateway; use OCA\DAV\Connector\Sabre\Exception\EntityTooLarge; use OCA\DAV\Connector\Sabre\Exception\FileLocked; use OCA\DAV\Connector\Sabre\Exception\Forbidden as DAVForbiddenException; use OCA\DAV\Connector\Sabre\Exception\UnsupportedMediaType; -use OCA\DAV\Connector\Sabre\Exception\BadGateway; use OCP\Encryption\Exceptions\GenericEncryptionException; use OCP\Files\EntityTooLargeException; use OCP\Files\FileInfo; @@ -491,9 +491,21 @@ class File extends Node implements IFile { } catch (\Exception $e) { $this->convertToSabreException($e); } + if ($res === false) { throw new ServiceUnavailable($this->l10n->t('Could not open file')); } + + // comparing current file size with the one in DB + // if different, fix DB and refresh cache. + if ($this->getSize() !== $this->fileView->filesize($this->getPath())) { + $logger = \OC::$server->get(LoggerInterface::class); + $logger->warning('fixing cached size of file id=' . $this->getId()); + + $this->getFileInfo()->getStorage()->getUpdater()->update($this->getFileInfo()->getInternalPath()); + $this->refreshInfo(); + } + return $res; } catch (GenericEncryptionException $e) { // returning 503 will allow retry of the operation at a later point in time diff --git a/apps/dav/lib/Connector/Sabre/QuotaPlugin.php b/apps/dav/lib/Connector/Sabre/QuotaPlugin.php index f2b652e3320..ff7396a0825 100644 --- a/apps/dav/lib/Connector/Sabre/QuotaPlugin.php +++ b/apps/dav/lib/Connector/Sabre/QuotaPlugin.php @@ -44,7 +44,6 @@ use Sabre\DAV\INode; * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License */ class QuotaPlugin extends \Sabre\DAV\ServerPlugin { - /** @var \OC\Files\View */ private $view; @@ -79,6 +78,7 @@ class QuotaPlugin extends \Sabre\DAV\ServerPlugin { $server->on('beforeWriteContent', [$this, 'beforeWriteContent'], 10); $server->on('beforeCreateFile', [$this, 'beforeCreateFile'], 10); $server->on('beforeMove', [$this, 'beforeMove'], 10); + $server->on('beforeCopy', [$this, 'beforeCopy'], 10); } /** @@ -131,7 +131,42 @@ class QuotaPlugin extends \Sabre\DAV\ServerPlugin { $destinationNode = $this->server->tree->getNodeForPath($destination); $path = $destinationNode->getPath(); } else { - $parentNode = $this->server->tree->getNodeForPath(dirname($destination)); + $parent = dirname($destination); + if ($parent === '.') { + $parent = ''; + } + $parentNode = $this->server->tree->getNodeForPath($parent); + $path = $parentNode->getPath(); + } + + return $this->checkQuota($path, $sourceNode->getSize()); + } + + /** + * Check quota on the target destination before a copy. + */ + public function beforeCopy(string $sourcePath, string $destinationPath): bool { + $sourceNode = $this->server->tree->getNodeForPath($sourcePath); + if (!$sourceNode instanceof Node) { + return true; + } + + // get target node for proper path conversion + if ($this->server->tree->nodeExists($destinationPath)) { + $destinationNode = $this->server->tree->getNodeForPath($destinationPath); + if (!$destinationNode instanceof Node) { + return true; + } + $path = $destinationNode->getPath(); + } else { + $parent = dirname($destinationPath); + if ($parent === '.') { + $parent = ''; + } + $parentNode = $this->server->tree->getNodeForPath($parent); + if (!$parentNode instanceof Node) { + return true; + } $path = $parentNode->getPath(); } diff --git a/apps/dav/lib/Files/FileSearchBackend.php b/apps/dav/lib/Files/FileSearchBackend.php index c819fa6afc6..524f90e6623 100644 --- a/apps/dav/lib/Files/FileSearchBackend.php +++ b/apps/dav/lib/Files/FileSearchBackend.php @@ -55,7 +55,7 @@ use SearchDAV\Query\Order; use SearchDAV\Query\Query; class FileSearchBackend implements ISearchBackend { - const OPERATOR_LIMIT = 100; + public const OPERATOR_LIMIT = 100; /** @var CachingTree */ private $tree; @@ -432,7 +432,7 @@ class FileSearchBackend implements ISearchBackend { if (is_numeric($value)) { return max(0, 0 + $value); } - $date = \DateTime::createFromFormat(\DateTimeInterface::ATOM, $value); + $date = \DateTime::createFromFormat(\DateTimeInterface::ATOM, (string)$value); return ($date instanceof \DateTime && $date->getTimestamp() !== false) ? $date->getTimestamp() : 0; default: return $value; diff --git a/apps/dav/lib/RootCollection.php b/apps/dav/lib/RootCollection.php index 29ab65d46a9..bacb550b415 100644 --- a/apps/dav/lib/RootCollection.php +++ b/apps/dav/lib/RootCollection.php @@ -118,7 +118,6 @@ class RootCollection extends SimpleCollection { $roomCalendarRoot->disableListing = $disableListing; $publicCalendarRoot = new PublicCalendarRoot($caldavBackend, $l10n, $config, $logger); - $publicCalendarRoot->disableListing = $disableListing; $systemTagCollection = new SystemTag\SystemTagsByIdCollection( \OC::$server->getSystemTagManager(), diff --git a/apps/dav/lib/Server.php b/apps/dav/lib/Server.php index f98dba22925..437a425fcd3 100644 --- a/apps/dav/lib/Server.php +++ b/apps/dav/lib/Server.php @@ -1,6 +1,7 @@ <?php /** * @copyright Copyright (c) 2016, ownCloud, Inc. + * @copyright Copyright (c) 2022 Informatyka Boguslawski sp. z o.o. sp.k., http://www.ib.pl/ * * @author Arthur Schiwon <blizzz@arthur-schiwon.de> * @author Bjoern Schiessle <bjoern@schiessle.org> @@ -177,7 +178,9 @@ class Server { $this->server->addPlugin(\OC::$server->get(\OCA\DAV\CalDAV\Trashbin\Plugin::class)); $this->server->addPlugin(new \OCA\DAV\CalDAV\WebcalCaching\Plugin($request)); - $this->server->addPlugin(new \Sabre\CalDAV\Subscriptions\Plugin()); + if (\OC::$server->getConfig()->getAppValue('dav', 'allow_calendar_link_subscriptions', 'yes') === 'yes') { + $this->server->addPlugin(new \Sabre\CalDAV\Subscriptions\Plugin()); + } $this->server->addPlugin(new \Sabre\CalDAV\Notifications\Plugin()); $this->server->addPlugin(new DAV\Sharing\Plugin($authBackend, \OC::$server->getRequest(), \OC::$server->getConfig())); diff --git a/apps/dav/src/views/__snapshots__/CalDavSettings.spec.js.snap b/apps/dav/src/views/__snapshots__/CalDavSettings.spec.js.snap index ed024d32475..136abaffb4e 100644 --- a/apps/dav/src/views/__snapshots__/CalDavSettings.spec.js.snap +++ b/apps/dav/src/views/__snapshots__/CalDavSettings.spec.js.snap @@ -72,18 +72,18 @@ exports[`CalDavSettings interactions 1`] = ` > <span class="checkbox-radio-switch checkbox-radio-switch-switch checkbox-radio-switch--checked" - data-v-2b31639e="" data-v-751c6bad="" + data-v-d423551e="" style="--icon-size: 36px;" > <label class="checkbox-radio-switch__label" - data-v-2b31639e="" + data-v-d423551e="" for="caldavSendInvitations" > <input class="checkbox-radio-switch__input" - data-v-2b31639e="" + data-v-d423551e="" id="caldavSendInvitations" type="checkbox" value="" @@ -92,7 +92,7 @@ exports[`CalDavSettings interactions 1`] = ` <span aria-hidden="true" class="material-design-icon toggle-switch-icon checkbox-radio-switch__icon" - data-v-2b31639e="" + data-v-d423551e="" role="img" > <svg @@ -133,18 +133,18 @@ exports[`CalDavSettings interactions 1`] = ` > <span class="checkbox-radio-switch checkbox checkbox-radio-switch-switch checkbox-radio-switch--checked" - data-v-2b31639e="" data-v-751c6bad="" + data-v-d423551e="" style="--icon-size: 36px;" > <label class="checkbox-radio-switch__label" - data-v-2b31639e="" + data-v-d423551e="" for="caldavGenerateBirthdayCalendar" > <input class="checkbox-radio-switch__input" - data-v-2b31639e="" + data-v-d423551e="" id="caldavGenerateBirthdayCalendar" type="checkbox" value="" @@ -153,7 +153,7 @@ exports[`CalDavSettings interactions 1`] = ` <span aria-hidden="true" class="material-design-icon toggle-switch-icon checkbox-radio-switch__icon" - data-v-2b31639e="" + data-v-d423551e="" role="img" > <svg @@ -202,18 +202,18 @@ exports[`CalDavSettings interactions 1`] = ` > <span class="checkbox-radio-switch checkbox-radio-switch-switch checkbox-radio-switch--checked" - data-v-2b31639e="" data-v-751c6bad="" + data-v-d423551e="" style="--icon-size: 36px;" > <label class="checkbox-radio-switch__label" - data-v-2b31639e="" + data-v-d423551e="" for="caldavSendEventReminders" > <input class="checkbox-radio-switch__input" - data-v-2b31639e="" + data-v-d423551e="" id="caldavSendEventReminders" type="checkbox" value="" @@ -222,7 +222,7 @@ exports[`CalDavSettings interactions 1`] = ` <span aria-hidden="true" class="material-design-icon toggle-switch-icon checkbox-radio-switch__icon" - data-v-2b31639e="" + data-v-d423551e="" role="img" > <svg @@ -276,18 +276,18 @@ exports[`CalDavSettings interactions 1`] = ` > <span class="checkbox-radio-switch checkbox-radio-switch-switch checkbox-radio-switch--checked" - data-v-2b31639e="" data-v-751c6bad="" + data-v-d423551e="" style="--icon-size: 36px;" > <label class="checkbox-radio-switch__label" - data-v-2b31639e="" + data-v-d423551e="" for="caldavSendEventRemindersToSharedGroupMembers" > <input class="checkbox-radio-switch__input" - data-v-2b31639e="" + data-v-d423551e="" id="caldavSendEventRemindersToSharedGroupMembers" type="checkbox" value="" @@ -296,7 +296,7 @@ exports[`CalDavSettings interactions 1`] = ` <span aria-hidden="true" class="material-design-icon toggle-switch-icon checkbox-radio-switch__icon" - data-v-2b31639e="" + data-v-d423551e="" role="img" > <svg @@ -334,18 +334,18 @@ exports[`CalDavSettings interactions 1`] = ` > <span class="checkbox-radio-switch checkbox-radio-switch-switch checkbox-radio-switch--checked" - data-v-2b31639e="" data-v-751c6bad="" + data-v-d423551e="" style="--icon-size: 36px;" > <label class="checkbox-radio-switch__label" - data-v-2b31639e="" + data-v-d423551e="" for="caldavSendEventRemindersPush" > <input class="checkbox-radio-switch__input" - data-v-2b31639e="" + data-v-d423551e="" id="caldavSendEventRemindersPush" type="checkbox" value="" @@ -354,7 +354,7 @@ exports[`CalDavSettings interactions 1`] = ` <span aria-hidden="true" class="material-design-icon toggle-switch-icon checkbox-radio-switch__icon" - data-v-2b31639e="" + data-v-d423551e="" role="img" > <svg diff --git a/apps/dav/tests/unit/BackgroundJob/CleanupInvitationTokenJobTest.php b/apps/dav/tests/unit/BackgroundJob/CleanupInvitationTokenJobTest.php index ee43bae5355..d3b7ca92581 100644 --- a/apps/dav/tests/unit/BackgroundJob/CleanupInvitationTokenJobTest.php +++ b/apps/dav/tests/unit/BackgroundJob/CleanupInvitationTokenJobTest.php @@ -76,7 +76,7 @@ class CleanupInvitationTokenJobTest extends TestCase { [1337, \PDO::PARAM_STR, null, 'namedParameter1337'] ]); - $function = 'fakefunction'; + $function = 'function1337'; $expr->expects($this->once()) ->method('lt') ->with('expiration', 'namedParameter1337') diff --git a/apps/dav/tests/unit/BackgroundJob/PruneOutdatedSyncTokensJobTest.php b/apps/dav/tests/unit/BackgroundJob/PruneOutdatedSyncTokensJobTest.php index 991caafd597..1de56b37d80 100644 --- a/apps/dav/tests/unit/BackgroundJob/PruneOutdatedSyncTokensJobTest.php +++ b/apps/dav/tests/unit/BackgroundJob/PruneOutdatedSyncTokensJobTest.php @@ -34,13 +34,14 @@ use OCA\DAV\BackgroundJob\PruneOutdatedSyncTokensJob; use OCA\DAV\CalDAV\CalDavBackend; use OCA\DAV\CardDAV\CardDavBackend; use OCP\AppFramework\Utility\ITimeFactory; -use OCP\DB\Exception; use OCP\IConfig; use PHPUnit\Framework\MockObject\MockObject; use Psr\Log\LoggerInterface; use Test\TestCase; class PruneOutdatedSyncTokensJobTest extends TestCase { + /** @var ITimeFactory | MockObject */ + private $timeFactory; /** @var CalDavBackend | MockObject */ private $calDavBackend; diff --git a/apps/dav/tests/unit/CalDAV/Reminder/ReminderServiceTest.php b/apps/dav/tests/unit/CalDAV/Reminder/ReminderServiceTest.php index 79d9376650b..e2b5390f875 100644 --- a/apps/dav/tests/unit/CalDAV/Reminder/ReminderServiceTest.php +++ b/apps/dav/tests/unit/CalDAV/Reminder/ReminderServiceTest.php @@ -40,13 +40,11 @@ use OCP\IConfig; use OCP\IGroupManager; use OCP\IUser; use OCP\IUserManager; -use OCP\IUserSession; use PHPUnit\Framework\MockObject\MockObject; use Psr\Log\LoggerInterface; use Test\TestCase; class ReminderServiceTest extends TestCase { - /** @var Backend|MockObject */ private $backend; @@ -74,6 +72,9 @@ class ReminderServiceTest extends TestCase { /** @var MockObject|LoggerInterface */ private $logger; + /** @var MockObject|Principal */ + private $principalConnector; + public const CALENDAR_DATA = <<<EOD BEGIN:VCALENDAR PRODID:-//Nextcloud calendar v1.6.4 diff --git a/apps/dav/tests/unit/CardDAV/Activity/BackendTest.php b/apps/dav/tests/unit/CardDAV/Activity/BackendTest.php index 4f3459233aa..bd5660747ff 100644 --- a/apps/dav/tests/unit/CardDAV/Activity/BackendTest.php +++ b/apps/dav/tests/unit/CardDAV/Activity/BackendTest.php @@ -40,7 +40,6 @@ use PHPUnit\Framework\MockObject\MockObject; use Test\TestCase; class BackendTest extends TestCase { - /** @var IManager|MockObject */ protected $activityManager; @@ -53,6 +52,9 @@ class BackendTest extends TestCase { /** @var IAppManager|MockObject */ protected $appManager; + /** @var IUserManager|MockObject */ + protected $userManager; + protected function setUp(): void { parent::setUp(); $this->activityManager = $this->createMock(IManager::class); diff --git a/apps/dav/tests/unit/Connector/Sabre/BlockLegacyClientPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/BlockLegacyClientPluginTest.php index 4d2771132cc..e9d43f77cca 100644 --- a/apps/dav/tests/unit/Connector/Sabre/BlockLegacyClientPluginTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/BlockLegacyClientPluginTest.php @@ -82,7 +82,7 @@ class BlockLegacyClientPluginTest extends TestCase { $this->config ->expects($this->once()) ->method('getSystemValue') - ->with('minimum.supported.desktop.version', '2.0.0') + ->with('minimum.supported.desktop.version', '2.3.0') ->willReturn('1.7.0'); $this->blockLegacyClientVersionPlugin->beforeHandler($request); @@ -117,7 +117,7 @@ class BlockLegacyClientPluginTest extends TestCase { $this->config ->expects($this->once()) ->method('getSystemValue') - ->with('minimum.supported.desktop.version', '2.0.0') + ->with('minimum.supported.desktop.version', '2.3.0') ->willReturn('1.7.0'); $this->blockLegacyClientVersionPlugin->beforeHandler($request); diff --git a/apps/dav/tests/unit/Connector/Sabre/PrincipalTest.php b/apps/dav/tests/unit/Connector/Sabre/PrincipalTest.php index 7cd31e3b8dd..2614f541613 100644 --- a/apps/dav/tests/unit/Connector/Sabre/PrincipalTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/PrincipalTest.php @@ -54,7 +54,6 @@ use Sabre\DAV\PropPatch; use Test\TestCase; class PrincipalTest extends TestCase { - /** @var IUserManager | MockObject */ private $userManager; @@ -658,12 +657,12 @@ class PrincipalTest extends TestCase { $user2->method('getSystemEMailAddress')->willReturn('user2@foo.bar'); $user3 = $this->createMock(IUser::class); $user3->method('getUID')->willReturn('user3'); - $user2->method('getDisplayName')->willReturn('User 22'); - $user2->method('getSystemEMailAddress')->willReturn('user2@foo.bar123'); + $user3->method('getDisplayName')->willReturn('User 22'); + $user3->method('getSystemEMailAddress')->willReturn('user2@foo.bar123'); $user4 = $this->createMock(IUser::class); $user4->method('getUID')->willReturn('user4'); - $user2->method('getDisplayName')->willReturn('User 222'); - $user2->method('getSystemEMailAddress')->willReturn('user2@foo.bar456'); + $user4->method('getDisplayName')->willReturn('User 222'); + $user4->method('getSystemEMailAddress')->willReturn('user2@foo.bar456'); $this->userManager->expects($this->at(0)) ->method('searchDisplayName') diff --git a/apps/dav/tests/unit/Controller/InvitationResponseControllerTest.php b/apps/dav/tests/unit/Controller/InvitationResponseControllerTest.php index 3e6886964c9..fdbb69e6c0d 100644 --- a/apps/dav/tests/unit/Controller/InvitationResponseControllerTest.php +++ b/apps/dav/tests/unit/Controller/InvitationResponseControllerTest.php @@ -37,14 +37,12 @@ use OCP\AppFramework\Utility\ITimeFactory; use OCP\DB\IResult; use OCP\DB\QueryBuilder\IExpressionBuilder; use OCP\DB\QueryBuilder\IQueryBuilder; -use OCP\DB\QueryBuilder\IQueryFunction; use OCP\IDBConnection; use OCP\IRequest; use Sabre\VObject\ITip\Message; use Test\TestCase; class InvitationResponseControllerTest extends TestCase { - /** @var InvitationResponseController */ private $controller; @@ -478,7 +476,7 @@ EOF; ->with(\PDO::FETCH_ASSOC) ->willReturn($return); - $function = $this->createMock(IQueryFunction::class); + $function = 'functionToken'; $expr->expects($this->once()) ->method('eq') ->with('token', 'namedParameterToken') diff --git a/apps/encryption/appinfo/info.xml b/apps/encryption/appinfo/info.xml index 03d443b1d2d..70ffa686925 100644 --- a/apps/encryption/appinfo/info.xml +++ b/apps/encryption/appinfo/info.xml @@ -46,6 +46,7 @@ <command>OCA\Encryption\Command\RecoverUser</command> <command>OCA\Encryption\Command\ScanLegacyFormat</command> <command>OCA\Encryption\Command\FixEncryptedVersion</command> + <command>OCA\Encryption\Command\FixKeyLocation</command> </commands> <settings> diff --git a/apps/encryption/composer/autoload.php b/apps/encryption/composer/autoload.php index 593ddde0eb0..527ccaeaf15 100644 --- a/apps/encryption/composer/autoload.php +++ b/apps/encryption/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/encryption/composer/composer/autoload_classmap.php b/apps/encryption/composer/composer/autoload_classmap.php index 0ce1e86f8a6..9f9ab4e406f 100644 --- a/apps/encryption/composer/composer/autoload_classmap.php +++ b/apps/encryption/composer/composer/autoload_classmap.php @@ -11,6 +11,7 @@ return array( 'OCA\\Encryption\\Command\\DisableMasterKey' => $baseDir . '/../lib/Command/DisableMasterKey.php', 'OCA\\Encryption\\Command\\EnableMasterKey' => $baseDir . '/../lib/Command/EnableMasterKey.php', 'OCA\\Encryption\\Command\\FixEncryptedVersion' => $baseDir . '/../lib/Command/FixEncryptedVersion.php', + 'OCA\\Encryption\\Command\\FixKeyLocation' => $baseDir . '/../lib/Command/FixKeyLocation.php', 'OCA\\Encryption\\Command\\RecoverUser' => $baseDir . '/../lib/Command/RecoverUser.php', 'OCA\\Encryption\\Command\\ScanLegacyFormat' => $baseDir . '/../lib/Command/ScanLegacyFormat.php', 'OCA\\Encryption\\Controller\\RecoveryController' => $baseDir . '/../lib/Controller/RecoveryController.php', diff --git a/apps/encryption/composer/composer/autoload_static.php b/apps/encryption/composer/composer/autoload_static.php index fc1fcbcf63b..8f50f064997 100644 --- a/apps/encryption/composer/composer/autoload_static.php +++ b/apps/encryption/composer/composer/autoload_static.php @@ -26,6 +26,7 @@ class ComposerStaticInitEncryption 'OCA\\Encryption\\Command\\DisableMasterKey' => __DIR__ . '/..' . '/../lib/Command/DisableMasterKey.php', 'OCA\\Encryption\\Command\\EnableMasterKey' => __DIR__ . '/..' . '/../lib/Command/EnableMasterKey.php', 'OCA\\Encryption\\Command\\FixEncryptedVersion' => __DIR__ . '/..' . '/../lib/Command/FixEncryptedVersion.php', + 'OCA\\Encryption\\Command\\FixKeyLocation' => __DIR__ . '/..' . '/../lib/Command/FixKeyLocation.php', 'OCA\\Encryption\\Command\\RecoverUser' => __DIR__ . '/..' . '/../lib/Command/RecoverUser.php', 'OCA\\Encryption\\Command\\ScanLegacyFormat' => __DIR__ . '/..' . '/../lib/Command/ScanLegacyFormat.php', 'OCA\\Encryption\\Controller\\RecoveryController' => __DIR__ . '/..' . '/../lib/Controller/RecoveryController.php', diff --git a/apps/encryption/composer/composer/installed.php b/apps/encryption/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/encryption/composer/composer/installed.php +++ b/apps/encryption/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/encryption/l10n/ca.js b/apps/encryption/l10n/ca.js index 950de554123..5041fc2967b 100644 --- a/apps/encryption/l10n/ca.js +++ b/apps/encryption/l10n/ca.js @@ -4,44 +4,44 @@ OC.L10N.register( "Missing recovery key password" : "Falta la clau de recuperació de contrasenya", "Please repeat the recovery key password" : "Si us plau, repetiu la clau de recuperació de contrasenya", "Repeated recovery key password does not match the provided recovery key password" : "La contrasenya de la clau de recuperació repetida no coincideix amb la contrasenya de clau de recuperació proporcionada", - "Recovery key successfully enabled" : "La clau de recuperació s'ha activat", - "Could not enable recovery key. Please check your recovery key password!" : "No s'ha pogut activar la clau de recuperació. Comproveu contrasenya de la clau de recuperació!", - "Recovery key successfully disabled" : "La clau de recuperació s'ha descativat", - "Could not disable recovery key. Please check your recovery key password!" : "No s'ha pogut desactivar la clau de recuperació. Comproveu la contrasenya de la clau de recuperació!", + "Recovery key successfully enabled" : "La clau de recuperació s'ha habilitat", + "Could not enable recovery key. Please check your recovery key password!" : "No s'ha pogut habilitar la clau de recuperació. Comproveu contrasenya de la clau de recuperació!", + "Recovery key successfully disabled" : "La clau de recuperació s'ha inhabilitat", + "Could not disable recovery key. Please check your recovery key password!" : "No s'ha pogut inhabilitar la clau de recuperació. Comproveu la contrasenya de la clau de recuperació!", "Missing parameters" : "Falten paràmetres", "Please provide the old recovery password" : "Si us plau, proporcioneu la contrasenya de recuperació antiga", "Please provide a new recovery password" : "Si us plau, proporcioneu una nova contrasenya de recuperació", "Please repeat the new recovery password" : "Si us plau, repetiu la nova contrasenya de recuperació", "Password successfully changed." : "La contrasenya s'ha canviat.", "Could not change the password. Maybe the old password was not correct." : "No s'ha pogut canviar la contrasenya. Potser la contrasenya anterior no era correcta.", - "Recovery Key disabled" : "Clau de recuperació desactivada", - "Recovery Key enabled" : "Clau de recuperació activada", - "Could not enable the recovery key, please try again or contact your administrator" : "No es pot activar la clau de recuperació, torneu-ho a intentar o poseu-vos en contacte amb l'administrador", + "Recovery Key disabled" : "Clau de recuperació inhabilitada", + "Recovery Key enabled" : "Clau de recuperació habilitada", + "Could not enable the recovery key, please try again or contact your administrator" : "No es pot habilitar la clau de recuperació, torneu-ho a provar o poseu-vos en contacte amb l'administrador", "Could not update the private key password." : "No s'ha pogut actualitzar la contrasenya de la clau privada.", "The old password was not correct, please try again." : "La contrasenya antiga no és correcta, si us plau torneu-ho a provar.", "The current log-in password was not correct, please try again." : "La contrasenya d'inici de sessió actual no era correcta, si us plau torneu-ho a provar.", "Private key password successfully updated." : "La contrasenya de la clau privada s'ha actualitzat.", - "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Clau privada no és vàlida per a l'aplicació de xifrat. Si us plau, actualitzeu la contrasenya de la clau privada a la vostra configuració personal per recuperar l'accés als vostres fitxers xifrats.", - "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "L'aplicació de xifrat està activada, però les vostres claus no s'han inicialitzat. Si us plau, tanqueu la sessió i torneu a iniciar la sessió.", - "Please enable server side encryption in the admin settings in order to use the encryption module." : "Si us plau, activeu el xifratge del servidor a la configuració de l'administrador per poder fer servir el mòdul de xifratge.", - "Encryption app is enabled and ready" : "L'aplicació de xifratge està activada i preparada", + "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Clau privada no és vàlida per a l'aplicació de xifratge. Si us plau, actualitzeu la contrasenya de la clau privada als vostrses paràmetres personalz per recuperar l'accés als vostres fitxers xifrats.", + "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "L'aplicació de xifratge està habilitada, però les vostres claus no s'han inicialitzat. Si us plau, tanqueu la sessió i torneu a iniciar la sessió.", + "Please enable server side encryption in the admin settings in order to use the encryption module." : "Si us plau, activeu el xifratge del servidor als paràmetres de l'administrador per poder fer servir el mòdul de xifratge.", + "Encryption app is enabled and ready" : "L'aplicació de xifratge està habilitada i preparada", "Bad Signature" : "Signatura incorrecta", "Missing Signature" : "Falta Signatura", - "one-time password for server-side-encryption" : "contrasenya única per al xifrat de la banda del servidor", + "one-time password for server-side-encryption" : "contrasenya única per al xifratge en el servidor", "Cannot decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No es pot desxifrar aquest fitxer, probablement és un fitxer compartit. Demaneu al propietari del fitxer que torni a compartir el fitxer amb vosaltres.", "Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No es pot llegir aquest fitxer, probablement aquest sigui un fitxer compartit. Demana al propietari del fitxer que torni a compartir el fitxer amb tu.", - "Default encryption module" : "Mòdul de xifrat per defecte", + "Default encryption module" : "Mòdul de xifratge per defecte", "Default encryption module for server-side encryption" : "Mòdul criptogràfic per defecte per a xifratge de servidor", - "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Per fer servir aquest mòdul criptogràfic s’ha de permetre encriptació\n\t\tal servidor a la configuració de l'administrador. Un cop activat, aquest mòdul xifrarà\n\t\ttots els vostres fitxers de forma transparent. L'encriptació està basada en claus de AES 256.\n\t\tEl mòdul no tocarà fitxers existents, només s'encriptaran els nous un cop s'hagi activat\n\t\tl'encriptació des del servidor. Tampoc no és possible desactivar\n\t\tl'encriptació i tornar a un sistema sense encriptació.\n\t\tSi us plau llegiu la documentació per saber totes les implicacions abans de decidir\n\t\tactivar l’encriptació des del servidor.", - "Hey there,\n\nThe administration 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" : "Hola,\n\nL'administració ha habilitat el xifratge del costat del servidor. Els vostres fitxers s'han xifrat amb la contrasenya \"%s\".\n\nInicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" de la vostra configuració personal i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"Contrasenya d'inici de sessió antiga\" i la vostra contrasenya d'inici de sessió actual.\n\n", - "The share will expire on %s." : "La compartició venç el %s.", + "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Per fer servir aquest mòdul criptogràfic s’ha de habilitar xifratge en el servidor\n\t\tals paràmetres de l'administrador. Un cop habilitat, aquest mòdul xifrarà\n\t\ttots els vostres fitxers de forma transparent. El xifratge està basada en claus de AES 256.\n\t\tEl mòdul no tocarà fitxers existents, només es xifraràn els nous un cop s'hagi activat\n\t\tel xifratge en el servidor. Tampoc no és possible inhabilitar\n\t\tel xifratge i tornar a un sistema no xifrat.\n\t\tSi us plau llegiu la documentació per saber totes les implicacions abans de decidir\n\t\tactivar el xifratge en el servidor.", + "Hey there,\n\nThe administration 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" : "Hola,\n\nL'administració ha habilitat el xifratge en el servidor. Els vostres fitxers s'han xifrat amb la contrasenya \"%s\".\n\nInicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" dels vostres paràmetres personals i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"Contrasenya d'inici de sessió antiga\" i la vostra contrasenya d'inici de sessió actual.\n\n", + "The share will expire on %s." : "La compartició caduca el %s.", "Cheers!" : "Salut!", - "Hey there,<br><br>The administration 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>" : "Hola,<br><br> L'administració ha habilitat el xifratge del costat del servidor. Els vostres fitxers s'han xifrat amb la contrasenya <strong>%s</strong>.<br><br>Si us plau, inicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" de la vostra configuració personal i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"Contrasenya d'inici de sessió antiga\" i la vostra contrasenya d'inici de sessió actual.<br><br>", - "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "L'aplicació d'encriptació està activada però les claus no estan inicialitzades, tanqueu la sessió i inicieu-ne una de nova.", + "Hey there,<br><br>The administration 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>" : "Hola,<br><br> L'administració ha habilitat el xifratge en el servidor. Els vostres fitxers s'han xifrat amb la contrasenya <strong>%s</strong>.<br><br>Si us plau, inicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" dels vostres paràmetres personals i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"Contrasenya d'inici de sessió antiga\" i la vostra contrasenya d'inici de sessió actual.<br><br>", + "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "L'aplicació de xifratge està activada però les claus no estan inicialitzades, tanqueu la sessió i inicieu-ne una de nova.", "Encrypt the home storage" : "Xifra l'emmagatzematge de casa", "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Si activeu aquesta opció, es xifraran tots els fitxers emmagatzemats a l’emmagatzematge principal; en cas contrari, només es xifraran els fitxers d’emmagatzematge extern", "Enable recovery key" : "Habilita la clau de recuperació", - "Disable recovery key" : "Desactiva la clau de recuperació", + "Disable recovery key" : "Inhabilita la clau de recuperació", "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La clau de recuperació és una clau de xifratge addicional que s'utilitza per xifrar fitxers. Permet la recuperació dels fitxers d'un usuari si l'usuari oblida de la seva contrasenya.", "Recovery key password" : "Clau de recuperació de la contrasenya", "Repeat recovery key password" : "Repetiu la contrasenya de la clau de recuperació", @@ -50,18 +50,18 @@ OC.L10N.register( "New recovery key password" : "Nova contrasenya de clau de recuperació", "Repeat new recovery key password" : "Repetiu la contrasenya de la clau de recuperació nova", "Change Password" : "Canvia la contrasenya", - "Basic encryption module" : "Mòdul bàsic d'encriptació", - "Your private key password no longer matches your log-in password." : "La clau privada ja no es correspon amb la contrasenya d'accés:", + "Basic encryption module" : "Mòdul de xifratge bàsic", + "Your private key password no longer matches your log-in password." : "La clau privada ja no es correspon amb la contrasenya d'inici de sessió:", "Set your old private key password to your current log-in password:" : "Establiu la vostra antiga clau privada a l'actual contrasenya d'accés:", " If you don't remember your old password you can ask your administrator to recover your files." : "Si no recordeu la contrasenya anterior podeu demanar a l'administrador que recuperi els vostres fitxers.", "Old log-in password" : "Contrasenya antiga d’inici de sessió", "Current log-in password" : "Contrasenya actual d’inici de sessió", "Update Private Key Password" : "Actualitza la contrasenya de clau privada", - "Enable password recovery:" : "Activa la recuperació de contrasenya:", + "Enable password recovery:" : "Habilita la recuperació de contrasenya:", "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Si activeu aquesta opció, podreu accedir als vostres fitxers encriptats en cas de pèrdua de contrasenya", "Enabled" : "Habilitat", "Disabled" : "Inhabilitat", - "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" : "Hola,\n\nl'administrador ha habilitat el xifratge del costat del servidor. Els vostres fitxers s'han xifrat amb la contrasenya \"%s\".\n\nSi us plau, inicieu sessió a la interfície web, aneu a la secció \"mòdul de xifratge bàsic\" de la vostra configuració personal i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"antiga contrasenya d'inici de sessió\" i la vostra contrasenya d'inici de sessió actual.\n\n", - "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>" : "Hola,<br><br>l'administrador ha activat l'encriptació des del servidor. Els vostres fitxers s'han encriptat fent servir la contrasenya <strong>%s</strong>. <br><br>Si us plau, inicieu la sessió a la interfície web, aneu a la secció \"mòdul bàsic d’encriptació\" de la vostra configuració personal i actualitzeu la contrasenya de xifrat introduint-hi aquesta contrasenya al camp \"antiga contrasenya d’inici de sessió\" i la vostra contrasenya actual.<br><br>" + "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" : "Hola,\n\nl'administrador ha habilitat el xifratge en el servidor. Els vostres fitxers s'han xifrat amb la contrasenya \"%s\".\n\nSi us plau, inicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" dels vostres paràmetres personals i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"antiga contrasenya d'inici de sessió\" i la vostra contrasenya d'inici de sessió actual.\n\n", + "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>" : "Hola,<br><br>l'administrador ha activat el xifratge en el servidor. Els vostres fitxers s'han encriptat fent servir la contrasenya <strong>%s</strong>. <br><br>Si us plau, inicieu la sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" dels vostres paràmetres personals i actualitzeu la contrasenya de xifrat introduint-hi aquesta contrasenya al camp \"antiga contrasenya d’inici de sessió\" i la vostra contrasenya actual.<br><br>" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/encryption/l10n/ca.json b/apps/encryption/l10n/ca.json index 3dbfae6103e..db9db76f8f6 100644 --- a/apps/encryption/l10n/ca.json +++ b/apps/encryption/l10n/ca.json @@ -2,44 +2,44 @@ "Missing recovery key password" : "Falta la clau de recuperació de contrasenya", "Please repeat the recovery key password" : "Si us plau, repetiu la clau de recuperació de contrasenya", "Repeated recovery key password does not match the provided recovery key password" : "La contrasenya de la clau de recuperació repetida no coincideix amb la contrasenya de clau de recuperació proporcionada", - "Recovery key successfully enabled" : "La clau de recuperació s'ha activat", - "Could not enable recovery key. Please check your recovery key password!" : "No s'ha pogut activar la clau de recuperació. Comproveu contrasenya de la clau de recuperació!", - "Recovery key successfully disabled" : "La clau de recuperació s'ha descativat", - "Could not disable recovery key. Please check your recovery key password!" : "No s'ha pogut desactivar la clau de recuperació. Comproveu la contrasenya de la clau de recuperació!", + "Recovery key successfully enabled" : "La clau de recuperació s'ha habilitat", + "Could not enable recovery key. Please check your recovery key password!" : "No s'ha pogut habilitar la clau de recuperació. Comproveu contrasenya de la clau de recuperació!", + "Recovery key successfully disabled" : "La clau de recuperació s'ha inhabilitat", + "Could not disable recovery key. Please check your recovery key password!" : "No s'ha pogut inhabilitar la clau de recuperació. Comproveu la contrasenya de la clau de recuperació!", "Missing parameters" : "Falten paràmetres", "Please provide the old recovery password" : "Si us plau, proporcioneu la contrasenya de recuperació antiga", "Please provide a new recovery password" : "Si us plau, proporcioneu una nova contrasenya de recuperació", "Please repeat the new recovery password" : "Si us plau, repetiu la nova contrasenya de recuperació", "Password successfully changed." : "La contrasenya s'ha canviat.", "Could not change the password. Maybe the old password was not correct." : "No s'ha pogut canviar la contrasenya. Potser la contrasenya anterior no era correcta.", - "Recovery Key disabled" : "Clau de recuperació desactivada", - "Recovery Key enabled" : "Clau de recuperació activada", - "Could not enable the recovery key, please try again or contact your administrator" : "No es pot activar la clau de recuperació, torneu-ho a intentar o poseu-vos en contacte amb l'administrador", + "Recovery Key disabled" : "Clau de recuperació inhabilitada", + "Recovery Key enabled" : "Clau de recuperació habilitada", + "Could not enable the recovery key, please try again or contact your administrator" : "No es pot habilitar la clau de recuperació, torneu-ho a provar o poseu-vos en contacte amb l'administrador", "Could not update the private key password." : "No s'ha pogut actualitzar la contrasenya de la clau privada.", "The old password was not correct, please try again." : "La contrasenya antiga no és correcta, si us plau torneu-ho a provar.", "The current log-in password was not correct, please try again." : "La contrasenya d'inici de sessió actual no era correcta, si us plau torneu-ho a provar.", "Private key password successfully updated." : "La contrasenya de la clau privada s'ha actualitzat.", - "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Clau privada no és vàlida per a l'aplicació de xifrat. Si us plau, actualitzeu la contrasenya de la clau privada a la vostra configuració personal per recuperar l'accés als vostres fitxers xifrats.", - "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "L'aplicació de xifrat està activada, però les vostres claus no s'han inicialitzat. Si us plau, tanqueu la sessió i torneu a iniciar la sessió.", - "Please enable server side encryption in the admin settings in order to use the encryption module." : "Si us plau, activeu el xifratge del servidor a la configuració de l'administrador per poder fer servir el mòdul de xifratge.", - "Encryption app is enabled and ready" : "L'aplicació de xifratge està activada i preparada", + "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Clau privada no és vàlida per a l'aplicació de xifratge. Si us plau, actualitzeu la contrasenya de la clau privada als vostrses paràmetres personalz per recuperar l'accés als vostres fitxers xifrats.", + "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "L'aplicació de xifratge està habilitada, però les vostres claus no s'han inicialitzat. Si us plau, tanqueu la sessió i torneu a iniciar la sessió.", + "Please enable server side encryption in the admin settings in order to use the encryption module." : "Si us plau, activeu el xifratge del servidor als paràmetres de l'administrador per poder fer servir el mòdul de xifratge.", + "Encryption app is enabled and ready" : "L'aplicació de xifratge està habilitada i preparada", "Bad Signature" : "Signatura incorrecta", "Missing Signature" : "Falta Signatura", - "one-time password for server-side-encryption" : "contrasenya única per al xifrat de la banda del servidor", + "one-time password for server-side-encryption" : "contrasenya única per al xifratge en el servidor", "Cannot decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No es pot desxifrar aquest fitxer, probablement és un fitxer compartit. Demaneu al propietari del fitxer que torni a compartir el fitxer amb vosaltres.", "Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No es pot llegir aquest fitxer, probablement aquest sigui un fitxer compartit. Demana al propietari del fitxer que torni a compartir el fitxer amb tu.", - "Default encryption module" : "Mòdul de xifrat per defecte", + "Default encryption module" : "Mòdul de xifratge per defecte", "Default encryption module for server-side encryption" : "Mòdul criptogràfic per defecte per a xifratge de servidor", - "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Per fer servir aquest mòdul criptogràfic s’ha de permetre encriptació\n\t\tal servidor a la configuració de l'administrador. Un cop activat, aquest mòdul xifrarà\n\t\ttots els vostres fitxers de forma transparent. L'encriptació està basada en claus de AES 256.\n\t\tEl mòdul no tocarà fitxers existents, només s'encriptaran els nous un cop s'hagi activat\n\t\tl'encriptació des del servidor. Tampoc no és possible desactivar\n\t\tl'encriptació i tornar a un sistema sense encriptació.\n\t\tSi us plau llegiu la documentació per saber totes les implicacions abans de decidir\n\t\tactivar l’encriptació des del servidor.", - "Hey there,\n\nThe administration 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" : "Hola,\n\nL'administració ha habilitat el xifratge del costat del servidor. Els vostres fitxers s'han xifrat amb la contrasenya \"%s\".\n\nInicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" de la vostra configuració personal i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"Contrasenya d'inici de sessió antiga\" i la vostra contrasenya d'inici de sessió actual.\n\n", - "The share will expire on %s." : "La compartició venç el %s.", + "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Per fer servir aquest mòdul criptogràfic s’ha de habilitar xifratge en el servidor\n\t\tals paràmetres de l'administrador. Un cop habilitat, aquest mòdul xifrarà\n\t\ttots els vostres fitxers de forma transparent. El xifratge està basada en claus de AES 256.\n\t\tEl mòdul no tocarà fitxers existents, només es xifraràn els nous un cop s'hagi activat\n\t\tel xifratge en el servidor. Tampoc no és possible inhabilitar\n\t\tel xifratge i tornar a un sistema no xifrat.\n\t\tSi us plau llegiu la documentació per saber totes les implicacions abans de decidir\n\t\tactivar el xifratge en el servidor.", + "Hey there,\n\nThe administration 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" : "Hola,\n\nL'administració ha habilitat el xifratge en el servidor. Els vostres fitxers s'han xifrat amb la contrasenya \"%s\".\n\nInicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" dels vostres paràmetres personals i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"Contrasenya d'inici de sessió antiga\" i la vostra contrasenya d'inici de sessió actual.\n\n", + "The share will expire on %s." : "La compartició caduca el %s.", "Cheers!" : "Salut!", - "Hey there,<br><br>The administration 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>" : "Hola,<br><br> L'administració ha habilitat el xifratge del costat del servidor. Els vostres fitxers s'han xifrat amb la contrasenya <strong>%s</strong>.<br><br>Si us plau, inicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" de la vostra configuració personal i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"Contrasenya d'inici de sessió antiga\" i la vostra contrasenya d'inici de sessió actual.<br><br>", - "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "L'aplicació d'encriptació està activada però les claus no estan inicialitzades, tanqueu la sessió i inicieu-ne una de nova.", + "Hey there,<br><br>The administration 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>" : "Hola,<br><br> L'administració ha habilitat el xifratge en el servidor. Els vostres fitxers s'han xifrat amb la contrasenya <strong>%s</strong>.<br><br>Si us plau, inicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" dels vostres paràmetres personals i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"Contrasenya d'inici de sessió antiga\" i la vostra contrasenya d'inici de sessió actual.<br><br>", + "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "L'aplicació de xifratge està activada però les claus no estan inicialitzades, tanqueu la sessió i inicieu-ne una de nova.", "Encrypt the home storage" : "Xifra l'emmagatzematge de casa", "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Si activeu aquesta opció, es xifraran tots els fitxers emmagatzemats a l’emmagatzematge principal; en cas contrari, només es xifraran els fitxers d’emmagatzematge extern", "Enable recovery key" : "Habilita la clau de recuperació", - "Disable recovery key" : "Desactiva la clau de recuperació", + "Disable recovery key" : "Inhabilita la clau de recuperació", "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La clau de recuperació és una clau de xifratge addicional que s'utilitza per xifrar fitxers. Permet la recuperació dels fitxers d'un usuari si l'usuari oblida de la seva contrasenya.", "Recovery key password" : "Clau de recuperació de la contrasenya", "Repeat recovery key password" : "Repetiu la contrasenya de la clau de recuperació", @@ -48,18 +48,18 @@ "New recovery key password" : "Nova contrasenya de clau de recuperació", "Repeat new recovery key password" : "Repetiu la contrasenya de la clau de recuperació nova", "Change Password" : "Canvia la contrasenya", - "Basic encryption module" : "Mòdul bàsic d'encriptació", - "Your private key password no longer matches your log-in password." : "La clau privada ja no es correspon amb la contrasenya d'accés:", + "Basic encryption module" : "Mòdul de xifratge bàsic", + "Your private key password no longer matches your log-in password." : "La clau privada ja no es correspon amb la contrasenya d'inici de sessió:", "Set your old private key password to your current log-in password:" : "Establiu la vostra antiga clau privada a l'actual contrasenya d'accés:", " If you don't remember your old password you can ask your administrator to recover your files." : "Si no recordeu la contrasenya anterior podeu demanar a l'administrador que recuperi els vostres fitxers.", "Old log-in password" : "Contrasenya antiga d’inici de sessió", "Current log-in password" : "Contrasenya actual d’inici de sessió", "Update Private Key Password" : "Actualitza la contrasenya de clau privada", - "Enable password recovery:" : "Activa la recuperació de contrasenya:", + "Enable password recovery:" : "Habilita la recuperació de contrasenya:", "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Si activeu aquesta opció, podreu accedir als vostres fitxers encriptats en cas de pèrdua de contrasenya", "Enabled" : "Habilitat", "Disabled" : "Inhabilitat", - "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" : "Hola,\n\nl'administrador ha habilitat el xifratge del costat del servidor. Els vostres fitxers s'han xifrat amb la contrasenya \"%s\".\n\nSi us plau, inicieu sessió a la interfície web, aneu a la secció \"mòdul de xifratge bàsic\" de la vostra configuració personal i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"antiga contrasenya d'inici de sessió\" i la vostra contrasenya d'inici de sessió actual.\n\n", - "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>" : "Hola,<br><br>l'administrador ha activat l'encriptació des del servidor. Els vostres fitxers s'han encriptat fent servir la contrasenya <strong>%s</strong>. <br><br>Si us plau, inicieu la sessió a la interfície web, aneu a la secció \"mòdul bàsic d’encriptació\" de la vostra configuració personal i actualitzeu la contrasenya de xifrat introduint-hi aquesta contrasenya al camp \"antiga contrasenya d’inici de sessió\" i la vostra contrasenya actual.<br><br>" + "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" : "Hola,\n\nl'administrador ha habilitat el xifratge en el servidor. Els vostres fitxers s'han xifrat amb la contrasenya \"%s\".\n\nSi us plau, inicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" dels vostres paràmetres personals i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"antiga contrasenya d'inici de sessió\" i la vostra contrasenya d'inici de sessió actual.\n\n", + "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>" : "Hola,<br><br>l'administrador ha activat el xifratge en el servidor. Els vostres fitxers s'han encriptat fent servir la contrasenya <strong>%s</strong>. <br><br>Si us plau, inicieu la sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" dels vostres paràmetres personals i actualitzeu la contrasenya de xifrat introduint-hi aquesta contrasenya al camp \"antiga contrasenya d’inici de sessió\" i la vostra contrasenya actual.<br><br>" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/encryption/l10n/da.js b/apps/encryption/l10n/da.js index d927dbc6880..57aed626a38 100644 --- a/apps/encryption/l10n/da.js +++ b/apps/encryption/l10n/da.js @@ -54,8 +54,8 @@ OC.L10N.register( "Your private key password no longer matches your log-in password." : "Dit private nøglekodeord stemmer ikke længere overens med dit login-kodeord.", "Set your old private key password to your current log-in password:" : "Sæt dit gamle, private nøglekodeord til at være dit nuværende login-kodeord. ", " If you don't remember your old password you can ask your administrator to recover your files." : "Hvis du ikke kan huske dit gamle kodeord kan du bede din administrator om at gendanne dine filer.", - "Old log-in password" : "Gammelt login kodeord", - "Current log-in password" : "Nuvrende login kodeord", + "Old log-in password" : "Gammel adgangskode", + "Current log-in password" : "Nuværende adgangskode", "Update Private Key Password" : "Opdater Privat Nøgle Kodeord", "Enable password recovery:" : "Aktiver kodeord gendannelse:", "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Aktivering af denne valgmulighed tillader dig at generhverve adgang til dine krypterede filer i tilfælde af tab af kodeord", diff --git a/apps/encryption/l10n/da.json b/apps/encryption/l10n/da.json index fdbf1b4f365..6da5b786a24 100644 --- a/apps/encryption/l10n/da.json +++ b/apps/encryption/l10n/da.json @@ -52,8 +52,8 @@ "Your private key password no longer matches your log-in password." : "Dit private nøglekodeord stemmer ikke længere overens med dit login-kodeord.", "Set your old private key password to your current log-in password:" : "Sæt dit gamle, private nøglekodeord til at være dit nuværende login-kodeord. ", " If you don't remember your old password you can ask your administrator to recover your files." : "Hvis du ikke kan huske dit gamle kodeord kan du bede din administrator om at gendanne dine filer.", - "Old log-in password" : "Gammelt login kodeord", - "Current log-in password" : "Nuvrende login kodeord", + "Old log-in password" : "Gammel adgangskode", + "Current log-in password" : "Nuværende adgangskode", "Update Private Key Password" : "Opdater Privat Nøgle Kodeord", "Enable password recovery:" : "Aktiver kodeord gendannelse:", "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Aktivering af denne valgmulighed tillader dig at generhverve adgang til dine krypterede filer i tilfælde af tab af kodeord", diff --git a/apps/encryption/l10n/fr.js b/apps/encryption/l10n/fr.js index e6f0bf3807f..fa7490f9c37 100644 --- a/apps/encryption/l10n/fr.js +++ b/apps/encryption/l10n/fr.js @@ -33,8 +33,10 @@ OC.L10N.register( "Default encryption module" : "Module de chiffrement par défaut", "Default encryption module for server-side encryption" : "Module de chiffrement par défaut pour le chiffrement côté serveur", "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Pour utiliser ce module de chiffrement, vous devez activer le chiffrement côté serveur dans les paramètres d'administration. Une fois activé, ce module chiffrera tous vos fichiers de manière transparente. Le chiffrement est basé sur des clés AES 256 bits.\nLe module ne touchera pas les fichiers existants, seuls les nouveaux fichiers seront chiffrés. Une fois le chiffrement côté serveur activé, il n'est pas possible de désactiver le chiffrement et de revenir à un système non chiffré.\n\t\tVeuillez lire la documentation pour connaître toutes les implications avant de vous décider à activer le chiffrement côté serveur.", + "Hey there,\n\nThe administration 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" : "Bonjour,\n\nL'administration a activé le chiffrement côté serveur. Vos fichiers ont été chiffrés avec le mot de passe \"%s\".\n\nVeuillez vous connecter à l'interface web, vous rendre à la section \"Module de chiffrement de base\" de vos paramètres personnels et mettre à jour votre mot de passe de chiffrement en insérant ce mot de passe dans le champ \"Ancien mot de passe de connexion\" ainsi que votre mot de passe actuel.\n\n", "The share will expire on %s." : "Le partage expirera le %s.", "Cheers!" : "À bientôt !", + "Hey there,<br><br>The administration 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>" : "Hé là, <br><br>L'administration a activé le chiffrement côté serveur. Vos fichiers ont été cryptés avec le mot de passe <strong>%s</strong>.<br><br>Veuillez-vous connecter à l'interface Web, vous rendre à la section \"Module de chiffrement de base\" de vos paramètres personnels et mettre à jour votre mot de passe en entrant celui fournit ci-dessus dans le champ \"Ancien mot de passe de connexion\", ainsi que votre mot de passe actuel.<br><br>", "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "L'application de chiffrement est activée mais vos clefs ne sont pas initialisées. Veuillez vous déconnecter et ensuite vous reconnecter.", "Encrypt the home storage" : "Chiffrer l'espace de stockage principal", "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "L'activation de cette option chiffre tous les fichiers du stockage principal, sinon seuls les espaces de stockage externes seront chiffrés", diff --git a/apps/encryption/l10n/fr.json b/apps/encryption/l10n/fr.json index f9d2571caba..8ad7697a3a2 100644 --- a/apps/encryption/l10n/fr.json +++ b/apps/encryption/l10n/fr.json @@ -31,8 +31,10 @@ "Default encryption module" : "Module de chiffrement par défaut", "Default encryption module for server-side encryption" : "Module de chiffrement par défaut pour le chiffrement côté serveur", "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Pour utiliser ce module de chiffrement, vous devez activer le chiffrement côté serveur dans les paramètres d'administration. Une fois activé, ce module chiffrera tous vos fichiers de manière transparente. Le chiffrement est basé sur des clés AES 256 bits.\nLe module ne touchera pas les fichiers existants, seuls les nouveaux fichiers seront chiffrés. Une fois le chiffrement côté serveur activé, il n'est pas possible de désactiver le chiffrement et de revenir à un système non chiffré.\n\t\tVeuillez lire la documentation pour connaître toutes les implications avant de vous décider à activer le chiffrement côté serveur.", + "Hey there,\n\nThe administration 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" : "Bonjour,\n\nL'administration a activé le chiffrement côté serveur. Vos fichiers ont été chiffrés avec le mot de passe \"%s\".\n\nVeuillez vous connecter à l'interface web, vous rendre à la section \"Module de chiffrement de base\" de vos paramètres personnels et mettre à jour votre mot de passe de chiffrement en insérant ce mot de passe dans le champ \"Ancien mot de passe de connexion\" ainsi que votre mot de passe actuel.\n\n", "The share will expire on %s." : "Le partage expirera le %s.", "Cheers!" : "À bientôt !", + "Hey there,<br><br>The administration 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>" : "Hé là, <br><br>L'administration a activé le chiffrement côté serveur. Vos fichiers ont été cryptés avec le mot de passe <strong>%s</strong>.<br><br>Veuillez-vous connecter à l'interface Web, vous rendre à la section \"Module de chiffrement de base\" de vos paramètres personnels et mettre à jour votre mot de passe en entrant celui fournit ci-dessus dans le champ \"Ancien mot de passe de connexion\", ainsi que votre mot de passe actuel.<br><br>", "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "L'application de chiffrement est activée mais vos clefs ne sont pas initialisées. Veuillez vous déconnecter et ensuite vous reconnecter.", "Encrypt the home storage" : "Chiffrer l'espace de stockage principal", "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "L'activation de cette option chiffre tous les fichiers du stockage principal, sinon seuls les espaces de stockage externes seront chiffrés", diff --git a/apps/encryption/lib/Command/FixEncryptedVersion.php b/apps/encryption/lib/Command/FixEncryptedVersion.php index d4c5eddbfe5..ab9cc528c54 100644 --- a/apps/encryption/lib/Command/FixEncryptedVersion.php +++ b/apps/encryption/lib/Command/FixEncryptedVersion.php @@ -174,6 +174,11 @@ class FixEncryptedVersion extends Command { */ $handle = $this->view->fopen($path, 'rb'); + if ($handle === false) { + $output->writeln("<warning>Failed to open file: \"$path\" skipping</warning>"); + return true; + } + if (\fread($handle, 9001) !== false) { $fileInfo = $this->view->getFileInfo($path); if (!$fileInfo) { diff --git a/apps/encryption/lib/Command/FixKeyLocation.php b/apps/encryption/lib/Command/FixKeyLocation.php new file mode 100644 index 00000000000..5339247ae19 --- /dev/null +++ b/apps/encryption/lib/Command/FixKeyLocation.php @@ -0,0 +1,186 @@ +<?php + +declare(strict_types=1); +/** + * @copyright Copyright (c) 2022 Robin Appelman <robin@icewind.nl> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCA\Encryption\Command; + +use OC\Encryption\Util; +use OC\Files\View; +use OCP\Files\Config\ICachedMountInfo; +use OCP\Files\Config\IUserMountCache; +use OCP\Files\Folder; +use OCP\Files\File; +use OCP\Files\IRootFolder; +use OCP\Files\Node; +use OCP\IUser; +use OCP\IUserManager; +use Symfony\Component\Console\Command\Command; +use Symfony\Component\Console\Input\InputArgument; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Input\InputOption; +use Symfony\Component\Console\Output\OutputInterface; + +class FixKeyLocation extends Command { + private IUserManager $userManager; + private IUserMountCache $userMountCache; + private Util $encryptionUtil; + private IRootFolder $rootFolder; + private string $keyRootDirectory; + private View $rootView; + + public function __construct(IUserManager $userManager, IUserMountCache $userMountCache, Util $encryptionUtil, IRootFolder $rootFolder) { + $this->userManager = $userManager; + $this->userMountCache = $userMountCache; + $this->encryptionUtil = $encryptionUtil; + $this->rootFolder = $rootFolder; + $this->keyRootDirectory = rtrim($this->encryptionUtil->getKeyStorageRoot(), '/'); + $this->rootView = new View(); + + parent::__construct(); + } + + + protected function configure(): void { + parent::configure(); + + $this + ->setName('encryption:fix-key-location') + ->setDescription('Fix the location of encryption keys for external storage') + ->addOption('dry-run', null, InputOption::VALUE_NONE, "Only list files that require key migration, don't try to perform any migration") + ->addArgument('user', InputArgument::REQUIRED, "User id to fix the key locations for"); + } + + protected function execute(InputInterface $input, OutputInterface $output): int { + $dryRun = $input->getOption('dry-run'); + $userId = $input->getArgument('user'); + $user = $this->userManager->get($userId); + if (!$user) { + $output->writeln("<error>User $userId not found</error>"); + return 1; + } + + \OC_Util::setupFS($user->getUID()); + + $mounts = $this->getSystemMountsForUser($user); + foreach ($mounts as $mount) { + $mountRootFolder = $this->rootFolder->get($mount->getMountPoint()); + if (!$mountRootFolder instanceof Folder) { + $output->writeln("<error>System wide mount point is not a directory, skipping: " . $mount->getMountPoint() . "</error>"); + continue; + } + + $files = $this->getAllFiles($mountRootFolder); + foreach ($files as $file) { + if ($this->isKeyStoredForUser($user, $file)) { + if ($dryRun) { + $output->writeln("<info>" . $file->getPath() . "</info> needs migration"); + } else { + $output->write("Migrating key for <info>" . $file->getPath() . "</info> "); + if ($this->copyKeyAndValidate($user, $file)) { + $output->writeln("<info>✓</info>"); + } else { + $output->writeln("<fg=red>❌</>"); + $output->writeln(" Failed to validate key for <error>" . $file->getPath() . "</error>, key will not be migrated"); + } + } + } + } + } + + return 0; + } + + /** + * @param IUser $user + * @return ICachedMountInfo[] + */ + private function getSystemMountsForUser(IUser $user): array { + return array_filter($this->userMountCache->getMountsForUser($user), function(ICachedMountInfo $mount) use ($user) { + $mountPoint = substr($mount->getMountPoint(), strlen($user->getUID() . '/')); + return $this->encryptionUtil->isSystemWideMountPoint($mountPoint, $user->getUID()); + }); + } + + /** + * @param Folder $folder + * @return \Generator<File> + */ + private function getAllFiles(Folder $folder) { + foreach ($folder->getDirectoryListing() as $child) { + if ($child instanceof Folder) { + yield from $this->getAllFiles($child); + } else { + yield $child; + } + } + } + + /** + * Check if the key for a file is stored in the user's keystore and not the system one + * + * @param IUser $user + * @param Node $node + * @return bool + */ + private function isKeyStoredForUser(IUser $user, Node $node): bool { + $path = trim(substr($node->getPath(), strlen($user->getUID()) + 1), '/'); + $systemKeyPath = $this->keyRootDirectory . '/files_encryption/keys/' . $path . '/'; + $userKeyPath = $this->keyRootDirectory . '/' . $user->getUID() . '/files_encryption/keys/' . $path . '/'; + + // this uses View instead of the RootFolder because the keys might not be in the cache + $systemKeyExists = $this->rootView->file_exists($systemKeyPath); + $userKeyExists = $this->rootView->file_exists($userKeyPath); + return $userKeyExists && !$systemKeyExists; + } + + /** + * Check that the user key stored for a file can decrypt the file + * + * @param IUser $user + * @param File $node + * @return bool + */ + private function copyKeyAndValidate(IUser $user, File $node): bool { + $path = trim(substr($node->getPath(), strlen($user->getUID()) + 1), '/'); + $systemKeyPath = $this->keyRootDirectory . '/files_encryption/keys/' . $path . '/'; + $userKeyPath = $this->keyRootDirectory . '/' . $user->getUID() . '/files_encryption/keys/' . $path . '/'; + + $this->rootView->copy($userKeyPath, $systemKeyPath); + try { + // check that the copied key is valid + $fh = $node->fopen('r'); + // read a single chunk + $data = fread($fh, 8192); + if ($data === false) { + throw new \Exception("Read failed"); + } + + // cleanup wrong key location + $this->rootView->rmdir($userKeyPath); + return true; + } catch (\Exception $e) { + // remove the copied key if we know it's invalid + $this->rootView->rmdir($systemKeyPath); + return false; + } + } +} diff --git a/apps/federatedfilesharing/composer/autoload.php b/apps/federatedfilesharing/composer/autoload.php index e839dd1bcdd..75484890289 100644 --- a/apps/federatedfilesharing/composer/autoload.php +++ b/apps/federatedfilesharing/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/federatedfilesharing/composer/composer/installed.php b/apps/federatedfilesharing/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/federatedfilesharing/composer/composer/installed.php +++ b/apps/federatedfilesharing/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/federatedfilesharing/l10n/ca.js b/apps/federatedfilesharing/l10n/ca.js index 71b35e06b34..506a0a42f86 100644 --- a/apps/federatedfilesharing/l10n/ca.js +++ b/apps/federatedfilesharing/l10n/ca.js @@ -6,10 +6,10 @@ OC.L10N.register( "Remote share password" : "Contrasenya de compartició remota", "Cancel" : "Cancel·la", "Add remote share" : "Afegeix compartició remota", - "Invalid Federated Cloud ID" : "ID de núvol federat no vàlid", - "Server to server sharing is not enabled on this server" : "La compartició entre servidors no està activada en aquest servidor", - "Couldn't establish a federated share." : "No s'ha pogut establir una part federada.", - "Couldn't establish a federated share, maybe the password was wrong." : "No s'ha pogut establir una acció compartida federada, potser la contrasenya era incorrecta.", + "Invalid Federated Cloud ID" : "ID del núvol federat no vàlid", + "Server to server sharing is not enabled on this server" : "La compartició entre servidors no està habilitada en aquest servidor", + "Couldn't establish a federated share." : "No s'ha pogut establir una compartició federada.", + "Couldn't establish a federated share, maybe the password was wrong." : "No s'ha pogut establir un element compartit federat, potser la contrasenya era incorrecta.", "Federated Share request sent, you will receive an invitation. Check your notifications." : "S'ha enviat la sol·licitud de participació federada, rebreu una invitació. Comproveu les vostres notificacions.", "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "No s’ha pogut establir una acció compartida federada, sembla que el servidor amb el qual s’ha federat és massa antic (Nextcloud <= 9).", "It is not allowed to send federated group shares from this server." : "No es permet enviar de grups de compartits federats des d'aquest servidor.", @@ -21,14 +21,14 @@ OC.L10N.register( "Could not find share" : "No s'ha pogut trobar la compartició", "Federated sharing" : "Compartició federada", "You received \"%3$s\" as a remote share from %4$s (%1$s) (on behalf of %5$s (%2$s))" : "Has rebut \"%3$s\" com a compartició remota de %4$s (%1$s) (en nom de %5$s (%2$s))", - "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Heu rebut {share} com un recompte remot de {user} (en nom de {nom})", + "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Heu rebut {share} com a una compartició remota de {user} (en nom de {nom})", "You received \"%3$s\" as a remote share from %4$s (%1$s)" : "Heu rebut \"%3$s\" com a compartició remota de %4$s (%1$s)", "You received {share} as a remote share from {user}" : "Heu rebut {share} com a recompte remot de {user}", "Accept" : "Accepta", - "Decline" : "Denega", - "Federated Cloud Sharing" : "Compartició federada de núvol", - "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Compartiu amb mi a través de la meva #Nextcloud Federated Cloud ID, vegeu%s", - "Share with me through my #Nextcloud Federated Cloud ID" : "Compartiu amb mi a través de la meva #Nextcloud Federated Cloud ID", + "Decline" : "Declina", + "Federated Cloud Sharing" : "Compartició de núvol federat", + "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Compartiu amb mi a través de la meva ID del núvol federat #Nextcloud, vegeu%s", + "Share with me through my #Nextcloud Federated Cloud ID" : "Compartiu amb mi a través de la meva ID del núvol federat #Nextcloud", "Sharing" : "Comparteix", "Federated file sharing" : "Compartició federada de fitxers", "Provide federated file sharing across servers" : "Proporcioneu compartició de fitxers federats entre servidors", @@ -39,15 +39,21 @@ OC.L10N.register( "Allow users on this server to receive group shares from other servers" : "Permet als usuaris d'aquest servidor rebre comparticions a grups d'altres servidors", "Search global and public address book for users" : "Cerca llibreta d'adreces global i pública per als usuaris", "Allow users to publish their data to a global and public address book" : "Permet als usuaris publicar les seves dades en una llibreta d'adreces global i pública", + "Unable to update federated files sharing config" : "No es pot actualitzar la configuració per compartir fitxers federats", "Federated Cloud" : "Núvol federat", - "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Podeu compartir amb qualsevol persona que faci servir un servidor Nextcloud o altres servidors i serveis compatibles amb Open Cloud Mesh (OCM)! Simplement poseu el seu ID de núvol federat al diàleg compartit. S'assembla a persona@cloud.example.com", + "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Podeu compartir amb qualsevol persona que faci servir un servidor Nextcloud o altres servidors i serveis compatibles amb Open Cloud Mesh (OCM)! Simplement poseu el seu ID de núvol federat al diàleg compartit. S'assembla a persona@cloud.exemple.com", "Your Federated Cloud ID:" : "El vostre ID de Núvol Federat:", "Share it so your friends can share files with you:" : "Compartiu-lo perquè els vostres amics us puguin compartir fitxers:", + "Facebook" : "Facebook", "Twitter" : "Twitter", - "Add to your website" : "Afegiu a la vostra pàgina web", + "Diaspora" : "Diaspora", + "Add to your website" : "Afegeix a la vostra pàgina web", "Share with me via Nextcloud" : "Comparteix amb mi mitjançant Nextcloud", "HTML Code:" : "Codi HTML:", + "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparteix amb mi a través del meu ID del núvol federat #Nextcloud, consultar {url}", + "Cloud ID copied to the clipboard" : "ID del núvol copiat al porta-retalls", "Copy to clipboard" : "Copia-ho al porta-papers", + "Clipboard is not available" : "El porta-retalls no està disponible", "Copy" : "Copia", "Copied!" : "Copiat!", "Not supported!" : "No soportat!", diff --git a/apps/federatedfilesharing/l10n/ca.json b/apps/federatedfilesharing/l10n/ca.json index acd2465c6cc..a57380775a4 100644 --- a/apps/federatedfilesharing/l10n/ca.json +++ b/apps/federatedfilesharing/l10n/ca.json @@ -4,10 +4,10 @@ "Remote share password" : "Contrasenya de compartició remota", "Cancel" : "Cancel·la", "Add remote share" : "Afegeix compartició remota", - "Invalid Federated Cloud ID" : "ID de núvol federat no vàlid", - "Server to server sharing is not enabled on this server" : "La compartició entre servidors no està activada en aquest servidor", - "Couldn't establish a federated share." : "No s'ha pogut establir una part federada.", - "Couldn't establish a federated share, maybe the password was wrong." : "No s'ha pogut establir una acció compartida federada, potser la contrasenya era incorrecta.", + "Invalid Federated Cloud ID" : "ID del núvol federat no vàlid", + "Server to server sharing is not enabled on this server" : "La compartició entre servidors no està habilitada en aquest servidor", + "Couldn't establish a federated share." : "No s'ha pogut establir una compartició federada.", + "Couldn't establish a federated share, maybe the password was wrong." : "No s'ha pogut establir un element compartit federat, potser la contrasenya era incorrecta.", "Federated Share request sent, you will receive an invitation. Check your notifications." : "S'ha enviat la sol·licitud de participació federada, rebreu una invitació. Comproveu les vostres notificacions.", "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "No s’ha pogut establir una acció compartida federada, sembla que el servidor amb el qual s’ha federat és massa antic (Nextcloud <= 9).", "It is not allowed to send federated group shares from this server." : "No es permet enviar de grups de compartits federats des d'aquest servidor.", @@ -19,14 +19,14 @@ "Could not find share" : "No s'ha pogut trobar la compartició", "Federated sharing" : "Compartició federada", "You received \"%3$s\" as a remote share from %4$s (%1$s) (on behalf of %5$s (%2$s))" : "Has rebut \"%3$s\" com a compartició remota de %4$s (%1$s) (en nom de %5$s (%2$s))", - "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Heu rebut {share} com un recompte remot de {user} (en nom de {nom})", + "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Heu rebut {share} com a una compartició remota de {user} (en nom de {nom})", "You received \"%3$s\" as a remote share from %4$s (%1$s)" : "Heu rebut \"%3$s\" com a compartició remota de %4$s (%1$s)", "You received {share} as a remote share from {user}" : "Heu rebut {share} com a recompte remot de {user}", "Accept" : "Accepta", - "Decline" : "Denega", - "Federated Cloud Sharing" : "Compartició federada de núvol", - "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Compartiu amb mi a través de la meva #Nextcloud Federated Cloud ID, vegeu%s", - "Share with me through my #Nextcloud Federated Cloud ID" : "Compartiu amb mi a través de la meva #Nextcloud Federated Cloud ID", + "Decline" : "Declina", + "Federated Cloud Sharing" : "Compartició de núvol federat", + "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Compartiu amb mi a través de la meva ID del núvol federat #Nextcloud, vegeu%s", + "Share with me through my #Nextcloud Federated Cloud ID" : "Compartiu amb mi a través de la meva ID del núvol federat #Nextcloud", "Sharing" : "Comparteix", "Federated file sharing" : "Compartició federada de fitxers", "Provide federated file sharing across servers" : "Proporcioneu compartició de fitxers federats entre servidors", @@ -37,15 +37,21 @@ "Allow users on this server to receive group shares from other servers" : "Permet als usuaris d'aquest servidor rebre comparticions a grups d'altres servidors", "Search global and public address book for users" : "Cerca llibreta d'adreces global i pública per als usuaris", "Allow users to publish their data to a global and public address book" : "Permet als usuaris publicar les seves dades en una llibreta d'adreces global i pública", + "Unable to update federated files sharing config" : "No es pot actualitzar la configuració per compartir fitxers federats", "Federated Cloud" : "Núvol federat", - "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Podeu compartir amb qualsevol persona que faci servir un servidor Nextcloud o altres servidors i serveis compatibles amb Open Cloud Mesh (OCM)! Simplement poseu el seu ID de núvol federat al diàleg compartit. S'assembla a persona@cloud.example.com", + "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Podeu compartir amb qualsevol persona que faci servir un servidor Nextcloud o altres servidors i serveis compatibles amb Open Cloud Mesh (OCM)! Simplement poseu el seu ID de núvol federat al diàleg compartit. S'assembla a persona@cloud.exemple.com", "Your Federated Cloud ID:" : "El vostre ID de Núvol Federat:", "Share it so your friends can share files with you:" : "Compartiu-lo perquè els vostres amics us puguin compartir fitxers:", + "Facebook" : "Facebook", "Twitter" : "Twitter", - "Add to your website" : "Afegiu a la vostra pàgina web", + "Diaspora" : "Diaspora", + "Add to your website" : "Afegeix a la vostra pàgina web", "Share with me via Nextcloud" : "Comparteix amb mi mitjançant Nextcloud", "HTML Code:" : "Codi HTML:", + "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparteix amb mi a través del meu ID del núvol federat #Nextcloud, consultar {url}", + "Cloud ID copied to the clipboard" : "ID del núvol copiat al porta-retalls", "Copy to clipboard" : "Copia-ho al porta-papers", + "Clipboard is not available" : "El porta-retalls no està disponible", "Copy" : "Copia", "Copied!" : "Copiat!", "Not supported!" : "No soportat!", diff --git a/apps/federatedfilesharing/l10n/en_GB.js b/apps/federatedfilesharing/l10n/en_GB.js index 56ee0de48e9..a5484ced8ef 100644 --- a/apps/federatedfilesharing/l10n/en_GB.js +++ b/apps/federatedfilesharing/l10n/en_GB.js @@ -12,11 +12,17 @@ OC.L10N.register( "Couldn't establish a federated share, maybe the password was wrong." : "Couldn't establish a federated share, maybe the password was wrong.", "Federated Share request sent, you will receive an invitation. Check your notifications." : "Federated Share request sent, you will receive an invitation. Check your notifications.", "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9).", + "It is not allowed to send federated group shares from this server." : "It is not allowed to send federated group shares from this server.", + "Sharing %1$s failed, because this item is already shared with user %2$s" : "Sharing %1$s failed, because this item is already shared with user %2$s", "Not allowed to create a federated share with the same user" : "Not allowed to create a federated share with the same user", + "Federated shares require read permissions" : "Federated shares require read permissions", "File is already shared with %s" : "File is already shared with %s", + "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate.", "Could not find share" : "Could not find share", "Federated sharing" : "Federated sharing", + "You received \"%3$s\" as a remote share from %4$s (%1$s) (on behalf of %5$s (%2$s))" : "You received \"%3$s\" as a remote share from %4$s (%1$s) (on behalf of %5$s (%2$s))", "You received {share} as a remote share from {user} (on behalf of {behalf})" : "You received {share} as a remote share from {user} (on behalf of {behalf})", + "You received \"%3$s\" as a remote share from %4$s (%1$s)" : "You received \"%3$s\" as a remote share from %4$s (%1$s)", "You received {share} as a remote share from {user}" : "You received {share} as a remote share from {user}", "Accept" : "Accept", "Decline" : "Decline", @@ -26,17 +32,28 @@ OC.L10N.register( "Sharing" : "Sharing", "Federated file sharing" : "Federated file sharing", "Provide federated file sharing across servers" : "Provide federated file sharing across servers", + "Adjust how people can share between servers. This includes shares between users on this server as well if they are using federated sharing." : "Adjust how people can share between servers. This includes shares between users on this server as well if they are using federated sharing.", + "Allow users on this server to send shares to other servers (this option also allows WebDAV access to public shares)" : "Allow users on this server to send shares to other servers (this option also allows WebDAV access to public shares)", "Allow users on this server to receive shares from other servers" : "Allow users on this server to receive shares from other servers", + "Allow users on this server to send shares to groups on other servers" : "Allow users on this server to send shares to groups on other servers", + "Allow users on this server to receive group shares from other servers" : "Allow users on this server to receive group shares from other servers", "Search global and public address book for users" : "Search global and public address book for users", "Allow users to publish their data to a global and public address book" : "Allow users to publish their data to a global and public address book", + "Unable to update federated files sharing config" : "Unable to update federated files sharing config", "Federated Cloud" : "Federated Cloud", + "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialogue. It looks like person@cloud.example.com", "Your Federated Cloud ID:" : "Your Federated Cloud ID:", "Share it so your friends can share files with you:" : "Share it so your friends can share files with you:", + "Facebook" : "Facebook", "Twitter" : "Twitter", + "Diaspora" : "Diaspora", "Add to your website" : "Add to your website", "Share with me via Nextcloud" : "Share with me via Nextcloud", "HTML Code:" : "HTML Code:", + "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Share with me through my #Nextcloud Federated Cloud ID, see {url}", + "Cloud ID copied to the clipboard" : "Cloud ID copied to the clipboard", "Copy to clipboard" : "Copy to clipboard", + "Clipboard is not available" : "Clipboard is not available", "Copy" : "Copy", "Copied!" : "Copied!", "Not supported!" : "Not supported!", diff --git a/apps/federatedfilesharing/l10n/en_GB.json b/apps/federatedfilesharing/l10n/en_GB.json index 1cc190cbab5..5684acaeb8e 100644 --- a/apps/federatedfilesharing/l10n/en_GB.json +++ b/apps/federatedfilesharing/l10n/en_GB.json @@ -10,11 +10,17 @@ "Couldn't establish a federated share, maybe the password was wrong." : "Couldn't establish a federated share, maybe the password was wrong.", "Federated Share request sent, you will receive an invitation. Check your notifications." : "Federated Share request sent, you will receive an invitation. Check your notifications.", "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9).", + "It is not allowed to send federated group shares from this server." : "It is not allowed to send federated group shares from this server.", + "Sharing %1$s failed, because this item is already shared with user %2$s" : "Sharing %1$s failed, because this item is already shared with user %2$s", "Not allowed to create a federated share with the same user" : "Not allowed to create a federated share with the same user", + "Federated shares require read permissions" : "Federated shares require read permissions", "File is already shared with %s" : "File is already shared with %s", + "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate.", "Could not find share" : "Could not find share", "Federated sharing" : "Federated sharing", + "You received \"%3$s\" as a remote share from %4$s (%1$s) (on behalf of %5$s (%2$s))" : "You received \"%3$s\" as a remote share from %4$s (%1$s) (on behalf of %5$s (%2$s))", "You received {share} as a remote share from {user} (on behalf of {behalf})" : "You received {share} as a remote share from {user} (on behalf of {behalf})", + "You received \"%3$s\" as a remote share from %4$s (%1$s)" : "You received \"%3$s\" as a remote share from %4$s (%1$s)", "You received {share} as a remote share from {user}" : "You received {share} as a remote share from {user}", "Accept" : "Accept", "Decline" : "Decline", @@ -24,17 +30,28 @@ "Sharing" : "Sharing", "Federated file sharing" : "Federated file sharing", "Provide federated file sharing across servers" : "Provide federated file sharing across servers", + "Adjust how people can share between servers. This includes shares between users on this server as well if they are using federated sharing." : "Adjust how people can share between servers. This includes shares between users on this server as well if they are using federated sharing.", + "Allow users on this server to send shares to other servers (this option also allows WebDAV access to public shares)" : "Allow users on this server to send shares to other servers (this option also allows WebDAV access to public shares)", "Allow users on this server to receive shares from other servers" : "Allow users on this server to receive shares from other servers", + "Allow users on this server to send shares to groups on other servers" : "Allow users on this server to send shares to groups on other servers", + "Allow users on this server to receive group shares from other servers" : "Allow users on this server to receive group shares from other servers", "Search global and public address book for users" : "Search global and public address book for users", "Allow users to publish their data to a global and public address book" : "Allow users to publish their data to a global and public address book", + "Unable to update federated files sharing config" : "Unable to update federated files sharing config", "Federated Cloud" : "Federated Cloud", + "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialogue. It looks like person@cloud.example.com", "Your Federated Cloud ID:" : "Your Federated Cloud ID:", "Share it so your friends can share files with you:" : "Share it so your friends can share files with you:", + "Facebook" : "Facebook", "Twitter" : "Twitter", + "Diaspora" : "Diaspora", "Add to your website" : "Add to your website", "Share with me via Nextcloud" : "Share with me via Nextcloud", "HTML Code:" : "HTML Code:", + "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Share with me through my #Nextcloud Federated Cloud ID, see {url}", + "Cloud ID copied to the clipboard" : "Cloud ID copied to the clipboard", "Copy to clipboard" : "Copy to clipboard", + "Clipboard is not available" : "Clipboard is not available", "Copy" : "Copy", "Copied!" : "Copied!", "Not supported!" : "Not supported!", diff --git a/apps/federatedfilesharing/l10n/fa.js b/apps/federatedfilesharing/l10n/fa.js index aa8625e10e6..b5737e0bbc0 100644 --- a/apps/federatedfilesharing/l10n/fa.js +++ b/apps/federatedfilesharing/l10n/fa.js @@ -1,8 +1,38 @@ OC.L10N.register( "federatedfilesharing", { + "Do you want to add the remote share {name} from {owner}@{remote}?" : "میخواهید همرسانی دوردست {name} را از {owner}@{remote} بیفزایید؟", + "Remote share" : "همرسانی دوردست", + "Remote share password" : "گذرواژهٔ همرسانی دوردست", + "Cancel" : "لغو", + "Add remote share" : "افزودن همرسانی دوردست", + "Invalid Federated Cloud ID" : "شناسهٔ ابری خودگردان نامعتبر", + "Server to server sharing is not enabled on this server" : "همرسانی کارساز به کارساز روی این کارساز به کار نیفتاده", + "Sharing %1$s failed, because this item is already shared with user %2$s" : "همرسانی %1$s شکست خورد، چرا که این مورد از پیش با کاربر%2$s هم رسانی شده بود", + "Not allowed to create a federated share with the same user" : "ایجاد یک همرسانی خودگران با همان کاربر مجاز نیست", + "Could not find share" : "نتوانست همرسانی را بیابد", + "Federated sharing" : "همرسانی خودگردان", "Accept" : "قبول", - "Open documentation" : "بازکردن مستند", - "HTML Code:" : "کد HTML :" + "Decline" : "کاهش می یابد", + "Federated Cloud Sharing" : "همرسانی ابری خودگردان", + "Sharing" : "همرسانی", + "Federated file sharing" : "همرسانی پروندهٔ خودگردان", + "Provide federated file sharing across servers" : "فراهمکنندهٔ همرسانی پروندهٔ خودگردان میان کارسازها", + "Federated Cloud" : "ابر خودگردان", + "Your Federated Cloud ID:" : "شناسهٔ ابردی خودگردانتان:", + "Facebook" : "فیسبوک", + "Twitter" : "توییتر", + "Diaspora" : "دیازپورا", + "Add to your website" : "افزودن به پایگاه وبتان", + "Share with me via Nextcloud" : "همرسانی با من روی نسکتکلود", + "HTML Code:" : "کد HTML :", + "Copy to clipboard" : "رونوشت به تختهگیره", + "Clipboard is not available" : "تخته گیره موحود نیست", + "Copy" : "رونوشت", + "Copied!" : "رونوشت شد!", + "Not supported!" : "پشتیبانی نشده!", + "Press ⌘-C to copy." : "برای کپی کردن از دکمه های C+⌘ استفاده نمایید", + "Press Ctrl-C to copy." : "برای کپی کردن از دکمه ctrl+c استفاده نمایید", + "Open documentation" : "گشودن مستندات" }, -"nplurals=1; plural=0;"); +"nplurals=2; plural=(n > 1);"); diff --git a/apps/federatedfilesharing/l10n/fa.json b/apps/federatedfilesharing/l10n/fa.json index 4bc34351fd2..12d6ed8ffbf 100644 --- a/apps/federatedfilesharing/l10n/fa.json +++ b/apps/federatedfilesharing/l10n/fa.json @@ -1,6 +1,36 @@ { "translations": { + "Do you want to add the remote share {name} from {owner}@{remote}?" : "میخواهید همرسانی دوردست {name} را از {owner}@{remote} بیفزایید؟", + "Remote share" : "همرسانی دوردست", + "Remote share password" : "گذرواژهٔ همرسانی دوردست", + "Cancel" : "لغو", + "Add remote share" : "افزودن همرسانی دوردست", + "Invalid Federated Cloud ID" : "شناسهٔ ابری خودگردان نامعتبر", + "Server to server sharing is not enabled on this server" : "همرسانی کارساز به کارساز روی این کارساز به کار نیفتاده", + "Sharing %1$s failed, because this item is already shared with user %2$s" : "همرسانی %1$s شکست خورد، چرا که این مورد از پیش با کاربر%2$s هم رسانی شده بود", + "Not allowed to create a federated share with the same user" : "ایجاد یک همرسانی خودگران با همان کاربر مجاز نیست", + "Could not find share" : "نتوانست همرسانی را بیابد", + "Federated sharing" : "همرسانی خودگردان", "Accept" : "قبول", - "Open documentation" : "بازکردن مستند", - "HTML Code:" : "کد HTML :" -},"pluralForm" :"nplurals=1; plural=0;" + "Decline" : "کاهش می یابد", + "Federated Cloud Sharing" : "همرسانی ابری خودگردان", + "Sharing" : "همرسانی", + "Federated file sharing" : "همرسانی پروندهٔ خودگردان", + "Provide federated file sharing across servers" : "فراهمکنندهٔ همرسانی پروندهٔ خودگردان میان کارسازها", + "Federated Cloud" : "ابر خودگردان", + "Your Federated Cloud ID:" : "شناسهٔ ابردی خودگردانتان:", + "Facebook" : "فیسبوک", + "Twitter" : "توییتر", + "Diaspora" : "دیازپورا", + "Add to your website" : "افزودن به پایگاه وبتان", + "Share with me via Nextcloud" : "همرسانی با من روی نسکتکلود", + "HTML Code:" : "کد HTML :", + "Copy to clipboard" : "رونوشت به تختهگیره", + "Clipboard is not available" : "تخته گیره موحود نیست", + "Copy" : "رونوشت", + "Copied!" : "رونوشت شد!", + "Not supported!" : "پشتیبانی نشده!", + "Press ⌘-C to copy." : "برای کپی کردن از دکمه های C+⌘ استفاده نمایید", + "Press Ctrl-C to copy." : "برای کپی کردن از دکمه ctrl+c استفاده نمایید", + "Open documentation" : "گشودن مستندات" +},"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/federatedfilesharing/l10n/fr.js b/apps/federatedfilesharing/l10n/fr.js index 61a4f410179..e046917c500 100644 --- a/apps/federatedfilesharing/l10n/fr.js +++ b/apps/federatedfilesharing/l10n/fr.js @@ -27,8 +27,8 @@ OC.L10N.register( "Accept" : "Accepter", "Decline" : "Refuser", "Federated Cloud Sharing" : "Partage Cloud Fédéré", - "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Partagez avec moi grâce à mon identifiant de Cloud Fédéré #Nextcloud %s", - "Share with me through my #Nextcloud Federated Cloud ID" : "Partagez avec moi grâce à mon identifiant de Cloud Fédéré #Nextcloud", + "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Partagez avec moi grâce à mon ID de Cloud Fédéré #Nextcloud %s", + "Share with me through my #Nextcloud Federated Cloud ID" : "Partagez avec moi grâce à mon ID de Cloud Fédéré #Nextcloud", "Sharing" : "Partage", "Federated file sharing" : "Partage de fichiers fédéré", "Provide federated file sharing across servers" : "Fourni un partage de fichiers fédéré entre plusieurs serveurs", @@ -39,9 +39,10 @@ OC.L10N.register( "Allow users on this server to receive group shares from other servers" : "Autoriser les utilisateurs de ce serveur à recevoir des partages de groupe depuis d'autres serveurs", "Search global and public address book for users" : "Rechercher dans le carnet d'adresse global et public pour les utilisateurs", "Allow users to publish their data to a global and public address book" : "Autoriser les utilisateurs à publier leurs données dans un carnet d'adresse global et public", + "Unable to update federated files sharing config" : "Impossible de mettre à jour la configuration du partage fédéré de fichiers ", "Federated Cloud" : "Cloud Fédéré", - "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Vous pouvez partager avec quiconque utilise un serveur Nextcloud ou un serveur ou service compatible Open Cloud Mesh (OCM). Renseignez simplement son identifiant sur une instance fédérée dans la boîte de dialogue de partage. Cela prend la forme de utilisateur@cloud.exemple.com.", - "Your Federated Cloud ID:" : "Votre identifiant de Cloud Fédéré :", + "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Vous pouvez partager avec quiconque utilise un serveur Nextcloud ou un serveur ou service compatible Open Cloud Mesh (OCM). Renseignez simplement son ID de Cloud Fédéré sur une instance fédérée dans la boîte de dialogue de partage. Cela ressemble à utilisateur@cloud.exemple.com.", + "Your Federated Cloud ID:" : "Votre ID de Cloud Fédéré :", "Share it so your friends can share files with you:" : "Partagez-le afin que vos amis puissent partager des fichiers avec vous :", "Facebook" : "Facebook", "Twitter" : "Twitter", @@ -49,6 +50,8 @@ OC.L10N.register( "Add to your website" : "Ajouter à votre site web", "Share with me via Nextcloud" : "Partagez avec moi via Nextcloud", "HTML Code:" : "Code HTML :", + "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Partagez avec moi grâce à mon ID de Cloud Fédéré #Nextcloud, voir {url}.", + "Cloud ID copied to the clipboard" : "ID de Cloud Fédéré copié dans le presse-papiers", "Copy to clipboard" : "Copier dans le presse-papiers", "Clipboard is not available" : "Le presse-papiers n'est pas disponible", "Copy" : "Copier", diff --git a/apps/federatedfilesharing/l10n/fr.json b/apps/federatedfilesharing/l10n/fr.json index 2a425ee52bd..b83f3018fdd 100644 --- a/apps/federatedfilesharing/l10n/fr.json +++ b/apps/federatedfilesharing/l10n/fr.json @@ -25,8 +25,8 @@ "Accept" : "Accepter", "Decline" : "Refuser", "Federated Cloud Sharing" : "Partage Cloud Fédéré", - "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Partagez avec moi grâce à mon identifiant de Cloud Fédéré #Nextcloud %s", - "Share with me through my #Nextcloud Federated Cloud ID" : "Partagez avec moi grâce à mon identifiant de Cloud Fédéré #Nextcloud", + "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Partagez avec moi grâce à mon ID de Cloud Fédéré #Nextcloud %s", + "Share with me through my #Nextcloud Federated Cloud ID" : "Partagez avec moi grâce à mon ID de Cloud Fédéré #Nextcloud", "Sharing" : "Partage", "Federated file sharing" : "Partage de fichiers fédéré", "Provide federated file sharing across servers" : "Fourni un partage de fichiers fédéré entre plusieurs serveurs", @@ -37,9 +37,10 @@ "Allow users on this server to receive group shares from other servers" : "Autoriser les utilisateurs de ce serveur à recevoir des partages de groupe depuis d'autres serveurs", "Search global and public address book for users" : "Rechercher dans le carnet d'adresse global et public pour les utilisateurs", "Allow users to publish their data to a global and public address book" : "Autoriser les utilisateurs à publier leurs données dans un carnet d'adresse global et public", + "Unable to update federated files sharing config" : "Impossible de mettre à jour la configuration du partage fédéré de fichiers ", "Federated Cloud" : "Cloud Fédéré", - "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Vous pouvez partager avec quiconque utilise un serveur Nextcloud ou un serveur ou service compatible Open Cloud Mesh (OCM). Renseignez simplement son identifiant sur une instance fédérée dans la boîte de dialogue de partage. Cela prend la forme de utilisateur@cloud.exemple.com.", - "Your Federated Cloud ID:" : "Votre identifiant de Cloud Fédéré :", + "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Vous pouvez partager avec quiconque utilise un serveur Nextcloud ou un serveur ou service compatible Open Cloud Mesh (OCM). Renseignez simplement son ID de Cloud Fédéré sur une instance fédérée dans la boîte de dialogue de partage. Cela ressemble à utilisateur@cloud.exemple.com.", + "Your Federated Cloud ID:" : "Votre ID de Cloud Fédéré :", "Share it so your friends can share files with you:" : "Partagez-le afin que vos amis puissent partager des fichiers avec vous :", "Facebook" : "Facebook", "Twitter" : "Twitter", @@ -47,6 +48,8 @@ "Add to your website" : "Ajouter à votre site web", "Share with me via Nextcloud" : "Partagez avec moi via Nextcloud", "HTML Code:" : "Code HTML :", + "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Partagez avec moi grâce à mon ID de Cloud Fédéré #Nextcloud, voir {url}.", + "Cloud ID copied to the clipboard" : "ID de Cloud Fédéré copié dans le presse-papiers", "Copy to clipboard" : "Copier dans le presse-papiers", "Clipboard is not available" : "Le presse-papiers n'est pas disponible", "Copy" : "Copier", diff --git a/apps/federatedfilesharing/l10n/lt_LT.js b/apps/federatedfilesharing/l10n/lt_LT.js index e5050c9b4e9..e2ec19fb177 100644 --- a/apps/federatedfilesharing/l10n/lt_LT.js +++ b/apps/federatedfilesharing/l10n/lt_LT.js @@ -34,9 +34,11 @@ OC.L10N.register( "Federated Cloud" : "Federacinė debesija", "Your Federated Cloud ID:" : "Jūsų federacinės debesijos ID:", "Share it so your friends can share files with you:" : "Pasidalinkite juo, kad jūsų draugai galėtų bendrinti failus kartu su jumis:", + "Facebook" : "„Facebook“", "Twitter" : "Twitter", "HTML Code:" : "HTML kodas:", "Copy to clipboard" : "Kopijuoti į iškarpinę", + "Clipboard is not available" : "Iškarpinė neprieinama", "Copy" : "Kopijuoti", "Copied!" : "Nukopijuota!", "Not supported!" : "Nepalaikoma!", diff --git a/apps/federatedfilesharing/l10n/lt_LT.json b/apps/federatedfilesharing/l10n/lt_LT.json index 6c1c6bb2c69..133dbe78e9a 100644 --- a/apps/federatedfilesharing/l10n/lt_LT.json +++ b/apps/federatedfilesharing/l10n/lt_LT.json @@ -32,9 +32,11 @@ "Federated Cloud" : "Federacinė debesija", "Your Federated Cloud ID:" : "Jūsų federacinės debesijos ID:", "Share it so your friends can share files with you:" : "Pasidalinkite juo, kad jūsų draugai galėtų bendrinti failus kartu su jumis:", + "Facebook" : "„Facebook“", "Twitter" : "Twitter", "HTML Code:" : "HTML kodas:", "Copy to clipboard" : "Kopijuoti į iškarpinę", + "Clipboard is not available" : "Iškarpinė neprieinama", "Copy" : "Kopijuoti", "Copied!" : "Nukopijuota!", "Not supported!" : "Nepalaikoma!", diff --git a/apps/federatedfilesharing/l10n/zh_HK.js b/apps/federatedfilesharing/l10n/zh_HK.js index 57653766c4e..744b62b8e49 100644 --- a/apps/federatedfilesharing/l10n/zh_HK.js +++ b/apps/federatedfilesharing/l10n/zh_HK.js @@ -58,7 +58,7 @@ OC.L10N.register( "Copied!" : "已複製!", "Not supported!" : "不支援!", "Press ⌘-C to copy." : "請按 ⌘-C 來複製", - "Press Ctrl-C to copy." : "請按 Ctrl-C 來複製", - "Open documentation" : "開啟說明文件" + "Press Ctrl-C to copy." : "請按【Ctrl-C】以複製。", + "Open documentation" : "打開說明書" }, "nplurals=1; plural=0;"); diff --git a/apps/federatedfilesharing/l10n/zh_HK.json b/apps/federatedfilesharing/l10n/zh_HK.json index 13045971f1c..76fe0ea627e 100644 --- a/apps/federatedfilesharing/l10n/zh_HK.json +++ b/apps/federatedfilesharing/l10n/zh_HK.json @@ -56,7 +56,7 @@ "Copied!" : "已複製!", "Not supported!" : "不支援!", "Press ⌘-C to copy." : "請按 ⌘-C 來複製", - "Press Ctrl-C to copy." : "請按 Ctrl-C 來複製", - "Open documentation" : "開啟說明文件" + "Press Ctrl-C to copy." : "請按【Ctrl-C】以複製。", + "Open documentation" : "打開說明書" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/federatedfilesharing/tests/Settings/AdminTest.php b/apps/federatedfilesharing/tests/Settings/AdminTest.php index 04761e35410..a9148987d38 100644 --- a/apps/federatedfilesharing/tests/Settings/AdminTest.php +++ b/apps/federatedfilesharing/tests/Settings/AdminTest.php @@ -41,6 +41,8 @@ class AdminTest extends TestCase { private $federatedShareProvider; /** @var IConfig|\PHPUnit\Framework\MockObject\MockObject */ private $gsConfig; + /** @var IInitialState|\PHPUnit\Framework\MockObject\MockObject */ + private $initialState; protected function setUp(): void { parent::setUp(); diff --git a/apps/federation/composer/autoload.php b/apps/federation/composer/autoload.php index 77ae3e1c118..08b3d13070a 100644 --- a/apps/federation/composer/autoload.php +++ b/apps/federation/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/federation/composer/composer/installed.php b/apps/federation/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/federation/composer/composer/installed.php +++ b/apps/federation/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/files/composer/autoload.php b/apps/files/composer/autoload.php index cbac9333296..b43b6f6d2dc 100644 --- a/apps/files/composer/autoload.php +++ b/apps/files/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/files/composer/composer/installed.php b/apps/files/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/files/composer/composer/installed.php +++ b/apps/files/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/files/css/files.css b/apps/files/css/files.css index 431e3bf29b5..318c34bad2e 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -150,6 +150,9 @@ .files-filestable tbody tr[data-permissions="16"] td.filename .nametext .innernametext { color: var(--color-text-maxcontrast); } +.files-filestable tbody tr[data-e2eencrypted=true] { + pointer-events: none; +} .files-filestable.hidden { display: none; diff --git a/apps/files/css/files.css.map b/apps/files/css/files.css.map index 71beac8f680..7d2b67d9e2f 100644 --- a/apps/files/css/files.css.map +++ b/apps/files/css/files.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","files.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ADxCA;AACA;EACC;EACA;EACA;EACA;;;AAED;EAAoD;EAAU;;;AAC9D;EAAqB;;;AACrB;AAAA;EAEC;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;;AACA;EACC;;;AAIF;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;AAiBA;AAAA;AAAA;;AAfA;EACC;;AAGD;EACC;EACA;EAEA;EAEA;EACA;EACA;;AAMD;EACC;EACA;;AAEA;AAAA;EAEC;;AAEA;AAAA;EACC;;;AAMJ;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;EAGC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AACA;AClEC;EAEA;;;ADmED;ACrEC;EAEA;;;ADsED;ACxEC;EAEA;;;ADyED;AAAA;AAAA;AAAA;AC3EC;EAEA;;;AD+ED;ACjFC;EAEA;;;ADkFD;ACpFC;EAEA;;;ADqFD;ACvFC;EAEA;;;ADwFD;AC1FC;EAEA;;;AD2FD;AC7FC;EAEA;;;AD8FD;AChGC;EAEA;;;ADkGD;EACC;;;AAED;AACA;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAGD;EAAU;;;AAEV;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;;;AAGF;EACC;EACA;;;AAED;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;;;AAED;AAAA;EAEC;;;AAGD;AAAA;EAEC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;AAAe;EACf;;;AAGD;EACC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;AAAA;EAEC;EACA;EACA;AACA;EACA;;;AAGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQC;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;;;AAIF;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;AAAe;;;AAEhB;EACC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAED;AAAA;EAEC;EACA;AAAmB;EACnB;EACA;EACA;EACA;EACA;;;AAED;AACC;EACA;EACA;EACA;EACA;;;AAGA;EACC;;AAED;EACC;;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAID;EACC;;;AAGD;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAGD;EAA6H;;;AAC7H;EAAwE;EAAY;;;AAEpF;EACC;EACA;EACA;EACA;;;AAGD;AAEC;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKH;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;AAEA;EACC;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;AACA;AAAA;AAAA;AAAA;EAIC;;;AAGD;AACA;EACC;;;AAGD;AAGC;AAAA;EACC;;AAGD;AAAA;EACC;EACA;EACA;EACA;EACA;;;AAIF;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EAA2C;EAAwC;EAAsC;;;AAG1H;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EAAsC;;;AAEtC;AACA;EACC;;;AAGD;EACC;;;AAGD;AACA;AAAA;EAEC;;;AAGD;AACA;EACC;EACA;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAIC;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACI;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACC;EACA;EACA;;;AAGD;EACC;;;AAED;EACC;EACA;EACA;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;EACA;;AACA;EACC;;AACA;AACC;AACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;;AAGF;EACC;EACA;EACA;EACA;;AAGA;EACC;;AAID;AAAA;EAEC;;AAED;EACC;;AACA;EACC;;AAIH;EACC;;AAED;EACC;EACA;;AAGF;EACC;;AAED;EACC;;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAAA;EAKC;;;AAGD;EACC;;;AAGD;AAAA;EAEC;;;AAGD;EACC;;;AAGD;EACC;AACA;EAEA;;;AAED;EACC;AACA;EACA;;;AAED;AAAA;AAAA;AAGA;EACC;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;AAEA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;AAEA;;AACA;EACC;;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAa;EACb;EACA;EACA;EACA;EACA;EACA;EACA;;AAKE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;;;AAMJ;AAEA;EACC;;;AAGD;AAAA;AAAA;AAAA;EAIC;EACA;EACA;;;AAMA;EACC;;AAED;EACC;;;AAIF;AAAA;AAAA;EAGC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;EACC;;;AAGD;EACC;;AAEA;EACC;;;AAIF;AAAA;EAEC;;;AAED;EACC;;AACA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAKA;EACC;;AAIF;EACC;EACA;;;AAIF;AACA;AAIC;AAaA;AAqOA;;AAhPC;EACC;EACA;EACA;;AACA;EACC;EACA;;AAMH;EACC;EACA;EACA;EACA;EACA;;AAGA;EACC;EACA;EACA;EACA;;AAEA;AAAA;EAKC;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGC;;AAKH;EACC;EACA;AAoJA;AA8BA;;AA/KC;EACC;EACA;EACA;EACA,OAvDQ;EAwDR,QAxDQ;EAyDR,SAxDO;EAyDP;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACC,SA1EK;EA2EL;EACA;EACA;;AAKH;EACC;EACA;EACA;EACA;EAEA;EACA;EAEA;;AAGD;EACC;EACA;EAIA;EAKA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;AAoBA;;AAlBA;EACC;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAID;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,SApJK;EAqJL;EACA;EACA;EACA;EACA;;AAGA;EACC;;AAQH;EACC;;AAEA;EACC;EACA;;AAIF;EACC;;AAGD;EACC;;AAIF;EACC;EACA;;AAEA;EACC;EACA;EACA;;AAMH;EAEC;;AAGD;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA,SAxNO;;AAyNP;EACC;EACA,OA3NM;EA4NN,QA5NM;;AAkOT;EACC;EACA;EACA;AAEA;;AACA;EACC;EACA;;AAMJ;EACC;;AAID;EACC;;AAEA;EACC;EACA;EAEA;;AAEA;EACC;;AAEA;EAEC;;AAGD;EACI;;;AAOR;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGC;;AAGD;EAEC;;;AAIF;AAAA;AAAA;AAAA;AAAA;AAKA;EACC;EACA;;;AAGD;AACA;AAaC;;AAZA;AACC;AAKA;;AAJA;EACC;;AAID;EACC;;AAKF;EACC;EACA;EACA;;;AAIF;AACA;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;EACA","file":"files.css"}
\ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","files.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ADxCA;AACA;EACC;EACA;EACA;EACA;;;AAED;EAAoD;EAAU;;;AAC9D;EAAqB;;;AACrB;AAAA;EAEC;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;;AACA;EACC;;;AAIF;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;AAiBA;AAAA;AAAA;;AAfA;EACC;;AAGD;EACC;EACA;EAEA;EAEA;EACA;EACA;;AAMD;EACC;EACA;;AAEA;AAAA;EAEC;;AAEA;AAAA;EACC;;AAKF;EACC;;;AAKH;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;EAGC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AACA;ACvEC;EAEA;;;ADwED;AC1EC;EAEA;;;AD2ED;AC7EC;EAEA;;;AD8ED;AAAA;AAAA;AAAA;AChFC;EAEA;;;ADoFD;ACtFC;EAEA;;;ADuFD;ACzFC;EAEA;;;AD0FD;AC5FC;EAEA;;;AD6FD;AC/FC;EAEA;;;ADgGD;AClGC;EAEA;;;ADmGD;ACrGC;EAEA;;;ADuGD;EACC;;;AAED;AACA;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAGD;EAAU;;;AAEV;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;;;AAGF;EACC;EACA;;;AAED;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;;;AAED;AAAA;EAEC;;;AAGD;AAAA;EAEC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;AAAe;EACf;;;AAGD;EACC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;AAAA;EAEC;EACA;EACA;AACA;EACA;;;AAGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQC;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;;;AAIF;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;AAAe;;;AAEhB;EACC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAED;AAAA;EAEC;EACA;AAAmB;EACnB;EACA;EACA;EACA;EACA;;;AAED;AACC;EACA;EACA;EACA;EACA;;;AAGA;EACC;;AAED;EACC;;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAID;EACC;;;AAGD;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAGD;EAA6H;;;AAC7H;EAAwE;EAAY;;;AAEpF;EACC;EACA;EACA;EACA;;;AAGD;AAEC;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKH;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;AAEA;EACC;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;AACA;AAAA;AAAA;AAAA;EAIC;;;AAGD;AACA;EACC;;;AAGD;AAGC;AAAA;EACC;;AAGD;AAAA;EACC;EACA;EACA;EACA;EACA;;;AAIF;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EAA2C;EAAwC;EAAsC;;;AAG1H;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EAAsC;;;AAEtC;AACA;EACC;;;AAGD;EACC;;;AAGD;AACA;AAAA;EAEC;;;AAGD;AACA;EACC;EACA;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAIC;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACI;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACC;EACA;EACA;;;AAGD;EACC;;;AAED;EACC;EACA;EACA;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;EACA;;AACA;EACC;;AACA;AACC;AACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;;AAGF;EACC;EACA;EACA;EACA;;AAGA;EACC;;AAID;AAAA;EAEC;;AAED;EACC;;AACA;EACC;;AAIH;EACC;;AAED;EACC;EACA;;AAGF;EACC;;AAED;EACC;;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAAA;EAKC;;;AAGD;EACC;;;AAGD;AAAA;EAEC;;;AAGD;EACC;;;AAGD;EACC;AACA;EAEA;;;AAED;EACC;AACA;EACA;;;AAED;AAAA;AAAA;AAGA;EACC;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;AAEA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;AAEA;;AACA;EACC;;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAa;EACb;EACA;EACA;EACA;EACA;EACA;EACA;;AAKE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;;;AAMJ;AAEA;EACC;;;AAGD;AAAA;AAAA;AAAA;EAIC;EACA;EACA;;;AAMA;EACC;;AAED;EACC;;;AAIF;AAAA;AAAA;EAGC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;EACC;;;AAGD;EACC;;AAEA;EACC;;;AAIF;AAAA;EAEC;;;AAED;EACC;;AACA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAKA;EACC;;AAIF;EACC;EACA;;;AAIF;AACA;AAIC;AAaA;AAqOA;;AAhPC;EACC;EACA;EACA;;AACA;EACC;EACA;;AAMH;EACC;EACA;EACA;EACA;EACA;;AAGA;EACC;EACA;EACA;EACA;;AAEA;AAAA;EAKC;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGC;;AAKH;EACC;EACA;AAoJA;AA8BA;;AA/KC;EACC;EACA;EACA;EACA,OAvDQ;EAwDR,QAxDQ;EAyDR,SAxDO;EAyDP;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACC,SA1EK;EA2EL;EACA;EACA;;AAKH;EACC;EACA;EACA;EACA;EAEA;EACA;EAEA;;AAGD;EACC;EACA;EAIA;EAKA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;AAoBA;;AAlBA;EACC;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAID;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,SApJK;EAqJL;EACA;EACA;EACA;EACA;;AAGA;EACC;;AAQH;EACC;;AAEA;EACC;EACA;;AAIF;EACC;;AAGD;EACC;;AAIF;EACC;EACA;;AAEA;EACC;EACA;EACA;;AAMH;EAEC;;AAGD;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA,SAxNO;;AAyNP;EACC;EACA,OA3NM;EA4NN,QA5NM;;AAkOT;EACC;EACA;EACA;AAEA;;AACA;EACC;EACA;;AAMJ;EACC;;AAID;EACC;;AAEA;EACC;EACA;EAEA;;AAEA;EACC;;AAEA;EAEC;;AAGD;EACI;;;AAOR;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGC;;AAGD;EAEC;;;AAIF;AAAA;AAAA;AAAA;AAAA;AAKA;EACC;EACA;;;AAGD;AACA;AAaC;;AAZA;AACC;AAKA;;AAJA;EACC;;AAID;EACC;;AAKF;EACC;EACA;EACA;;;AAIF;AACA;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;EACA","file":"files.css"}
\ No newline at end of file diff --git a/apps/files/css/files.scss b/apps/files/css/files.scss index 1950d740bd7..612ac975aeb 100644 --- a/apps/files/css/files.scss +++ b/apps/files/css/files.scss @@ -91,6 +91,11 @@ color: var(--color-text-maxcontrast); } } + + // Deactivates the possiblility to checkmark or click on the encrypted folder + tr[data-e2eencrypted="true"] { + pointer-events: none; + } } } diff --git a/apps/files/css/merged.css b/apps/files/css/merged.css index e4b2c51d7f3..3b595813654 100644 --- a/apps/files/css/merged.css +++ b/apps/files/css/merged.css @@ -150,6 +150,9 @@ .files-filestable tbody tr[data-permissions="16"] td.filename .nametext .innernametext { color: var(--color-text-maxcontrast); } +.files-filestable tbody tr[data-e2eencrypted=true] { + pointer-events: none; +} .files-filestable.hidden { display: none; @@ -1538,7 +1541,7 @@ table.dragshadow td.size { .oc-dialog .fileexists .original, .oc-dialog .fileexists .replacement { float: left; - width: 225px; + width: 50%; } .oc-dialog .fileexists .conflicts { diff --git a/apps/files/css/merged.css.map b/apps/files/css/merged.css.map index 023e7588cc4..afa5c56656a 100644 --- a/apps/files/css/merged.css.map +++ b/apps/files/css/merged.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","files.scss","../../../core/css/functions.scss","upload.scss","mobile.scss","detailsView.scss","../../../core/css/whatsnew.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ADxCA;AACA;EACC;EACA;EACA;EACA;;;AAED;EAAoD;EAAU;;;AAC9D;EAAqB;;;AACrB;AAAA;EAEC;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;;AACA;EACC;;;AAIF;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;AAiBA;AAAA;AAAA;;AAfA;EACC;;AAGD;EACC;EACA;EAEA;EAEA;EACA;EACA;;AAMD;EACC;EACA;;AAEA;AAAA;EAEC;;AAEA;AAAA;EACC;;;AAMJ;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;EAGC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AACA;AClEC;EAEA;;;ADmED;ACrEC;EAEA;;;ADsED;ACxEC;EAEA;;;ADyED;AAAA;AAAA;AAAA;AC3EC;EAEA;;;AD+ED;ACjFC;EAEA;;;ADkFD;ACpFC;EAEA;;;ADqFD;ACvFC;EAEA;;;ADwFD;AC1FC;EAEA;;;AD2FD;AC7FC;EAEA;;;AD8FD;AChGC;EAEA;;;ADkGD;EACC;;;AAED;AACA;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAGD;EAAU;;;AAEV;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;;;AAGF;EACC;EACA;;;AAED;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;;;AAED;AAAA;EAEC;;;AAGD;AAAA;EAEC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;AAAe;EACf;;;AAGD;EACC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;AAAA;EAEC;EACA;EACA;AACA;EACA;;;AAGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQC;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;;;AAIF;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;AAAe;;;AAEhB;EACC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAED;AAAA;EAEC;EACA;AAAmB;EACnB;EACA;EACA;EACA;EACA;;;AAED;AACC;EACA;EACA;EACA;EACA;;;AAGA;EACC;;AAED;EACC;;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAID;EACC;;;AAGD;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAGD;EAA6H;;;AAC7H;EAAwE;EAAY;;;AAEpF;EACC;EACA;EACA;EACA;;;AAGD;AAEC;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKH;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;AAEA;EACC;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;AACA;AAAA;AAAA;AAAA;EAIC;;;AAGD;AACA;EACC;;;AAGD;AAGC;AAAA;EACC;;AAGD;AAAA;EACC;EACA;EACA;EACA;EACA;;;AAIF;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EAA2C;EAAwC;EAAsC;;;AAG1H;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EAAsC;;;AAEtC;AACA;EACC;;;AAGD;EACC;;;AAGD;AACA;AAAA;EAEC;;;AAGD;AACA;EACC;EACA;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAIC;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACI;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACC;EACA;EACA;;;AAGD;EACC;;;AAED;EACC;EACA;EACA;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;EACA;;AACA;EACC;;AACA;AACC;AACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;;AAGF;EACC;EACA;EACA;EACA;;AAGA;EACC;;AAID;AAAA;EAEC;;AAED;EACC;;AACA;EACC;;AAIH;EACC;;AAED;EACC;EACA;;AAGF;EACC;;AAED;EACC;;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAAA;EAKC;;;AAGD;EACC;;;AAGD;AAAA;EAEC;;;AAGD;EACC;;;AAGD;EACC;AACA;EAEA;;;AAED;EACC;AACA;EACA;;;AAED;AAAA;AAAA;AAGA;EACC;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;AAEA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;AAEA;;AACA;EACC;;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAa;EACb;EACA;EACA;EACA;EACA;EACA;EACA;;AAKE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;;;AAMJ;AAEA;EACC;;;AAGD;AAAA;AAAA;AAAA;EAIC;EACA;EACA;;;AAMA;EACC;;AAED;EACC;;;AAIF;AAAA;AAAA;EAGC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;EACC;;;AAGD;EACC;;AAEA;EACC;;;AAIF;AAAA;EAEC;;;AAED;EACC;;AACA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAKA;EACC;;AAIF;EACC;EACA;;;AAIF;AACA;AAIC;AAaA;AAqOA;;AAhPC;EACC;EACA;EACA;;AACA;EACC;EACA;;AAMH;EACC;EACA;EACA;EACA;EACA;;AAGA;EACC;EACA;EACA;EACA;;AAEA;AAAA;EAKC;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGC;;AAKH;EACC;EACA;AAoJA;AA8BA;;AA/KC;EACC;EACA;EACA;EACA,OAvDQ;EAwDR,QAxDQ;EAyDR,SAxDO;EAyDP;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACC,SA1EK;EA2EL;EACA;EACA;;AAKH;EACC;EACA;EACA;EACA;EAEA;EACA;EAEA;;AAGD;EACC;EACA;EAIA;EAKA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;AAoBA;;AAlBA;EACC;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAID;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,SApJK;EAqJL;EACA;EACA;EACA;EACA;;AAGA;EACC;;AAQH;EACC;;AAEA;EACC;EACA;;AAIF;EACC;;AAGD;EACC;;AAIF;EACC;EACA;;AAEA;EACC;EACA;EACA;;AAMH;EAEC;;AAGD;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA,SAxNO;;AAyNP;EACC;EACA,OA3NM;EA4NN,QA5NM;;AAkOT;EACC;EACA;EACA;AAEA;;AACA;EACC;EACA;;AAMJ;EACC;;AAID;EACC;;AAEA;EACC;EACA;EAEA;;AAEA;EACC;;AAEA;EAEC;;AAGD;EACI;;;AAOR;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGC;;AAGD;EAEC;;;AAIF;AAAA;AAAA;AAAA;AAAA;AAKA;EACC;EACA;;;AAGD;AACA;AAaC;;AAZA;AACC;AAKA;;AAJA;EACC;;AAID;EACC;;AAKF;EACC;EACA;EACA;;;AAIF;AACA;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;EACA;;;AElyCF;EACC;EACA;EACA;EACA;AAAuB;EACvB;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EAAsB;;;AACtB;EAAoB;EAAgB;EAAY;EAAU;EAAW;EAAgB;;;AAErF;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;EAEC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AHjNT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AIEA;AAAA;AAAA;AAIA;EAEA;IACC;;;EAGD;AAAA;AAAA;AAAA;IAIC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;;;EAGD;IACC;;;EAGD;IACC;;;AAED;AACA;EACA;IACC;IACA;IACA;IACA;IACA;IACA;;;AAID;EACA;IACC;;;AAED;EACA;IACC;;;EAED;IACC;;;AAGD;EACA;IACC;;;AAID;AACC;EACA;IACC;;;EAED;IACC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;;;AClFF;EACC;EACA;;;AAGD;EACC;;;AAID;EACC;EACA;;;AAGD;EACC;EACA;EACA;;AAEA;EAEC;;;AAGF;EACC;EACA;;;AAGD;EACC;EACA;AAAqB;EACrB;;;AAGD;EACC;AAAW;;;AAGZ;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;AAAwB;;;AAGzB;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;AAA0B;EAC1B;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AC/HD;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE","file":"merged.css"}
\ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","files.scss","../../../core/css/functions.scss","upload.scss","mobile.scss","detailsView.scss","../../../core/css/whatsnew.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ADxCA;AACA;EACC;EACA;EACA;EACA;;;AAED;EAAoD;EAAU;;;AAC9D;EAAqB;;;AACrB;AAAA;EAEC;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;;AACA;EACC;;;AAIF;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;AAiBA;AAAA;AAAA;;AAfA;EACC;;AAGD;EACC;EACA;EAEA;EAEA;EACA;EACA;;AAMD;EACC;EACA;;AAEA;AAAA;EAEC;;AAEA;AAAA;EACC;;AAKF;EACC;;;AAKH;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;EAGC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AACA;ACvEC;EAEA;;;ADwED;AC1EC;EAEA;;;AD2ED;AC7EC;EAEA;;;AD8ED;AAAA;AAAA;AAAA;AChFC;EAEA;;;ADoFD;ACtFC;EAEA;;;ADuFD;ACzFC;EAEA;;;AD0FD;AC5FC;EAEA;;;AD6FD;AC/FC;EAEA;;;ADgGD;AClGC;EAEA;;;ADmGD;ACrGC;EAEA;;;ADuGD;EACC;;;AAED;AACA;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAGD;EAAU;;;AAEV;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;;;AAGF;EACC;EACA;;;AAED;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;;;AAED;AAAA;EAEC;;;AAGD;AAAA;EAEC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;AAAe;EACf;;;AAGD;EACC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;AAAA;EAEC;EACA;EACA;AACA;EACA;;;AAGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQC;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;;;AAIF;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;AAAe;;;AAEhB;EACC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAED;AAAA;EAEC;EACA;AAAmB;EACnB;EACA;EACA;EACA;EACA;;;AAED;AACC;EACA;EACA;EACA;EACA;;;AAGA;EACC;;AAED;EACC;;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAID;EACC;;;AAGD;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAGD;EAA6H;;;AAC7H;EAAwE;EAAY;;;AAEpF;EACC;EACA;EACA;EACA;;;AAGD;AAEC;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKH;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;AAEA;EACC;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;AACA;AAAA;AAAA;AAAA;EAIC;;;AAGD;AACA;EACC;;;AAGD;AAGC;AAAA;EACC;;AAGD;AAAA;EACC;EACA;EACA;EACA;EACA;;;AAIF;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EAA2C;EAAwC;EAAsC;;;AAG1H;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EAAsC;;;AAEtC;AACA;EACC;;;AAGD;EACC;;;AAGD;AACA;AAAA;EAEC;;;AAGD;AACA;EACC;EACA;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAIC;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACI;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACC;EACA;EACA;;;AAGD;EACC;;;AAED;EACC;EACA;EACA;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;EACA;;AACA;EACC;;AACA;AACC;AACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;;AAGF;EACC;EACA;EACA;EACA;;AAGA;EACC;;AAID;AAAA;EAEC;;AAED;EACC;;AACA;EACC;;AAIH;EACC;;AAED;EACC;EACA;;AAGF;EACC;;AAED;EACC;;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAAA;EAKC;;;AAGD;EACC;;;AAGD;AAAA;EAEC;;;AAGD;EACC;;;AAGD;EACC;AACA;EAEA;;;AAED;EACC;AACA;EACA;;;AAED;AAAA;AAAA;AAGA;EACC;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;AAEA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;AAEA;;AACA;EACC;;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAa;EACb;EACA;EACA;EACA;EACA;EACA;EACA;;AAKE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;;;AAMJ;AAEA;EACC;;;AAGD;AAAA;AAAA;AAAA;EAIC;EACA;EACA;;;AAMA;EACC;;AAED;EACC;;;AAIF;AAAA;AAAA;EAGC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;EACC;;;AAGD;EACC;;AAEA;EACC;;;AAIF;AAAA;EAEC;;;AAED;EACC;;AACA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAKA;EACC;;AAIF;EACC;EACA;;;AAIF;AACA;AAIC;AAaA;AAqOA;;AAhPC;EACC;EACA;EACA;;AACA;EACC;EACA;;AAMH;EACC;EACA;EACA;EACA;EACA;;AAGA;EACC;EACA;EACA;EACA;;AAEA;AAAA;EAKC;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGC;;AAKH;EACC;EACA;AAoJA;AA8BA;;AA/KC;EACC;EACA;EACA;EACA,OAvDQ;EAwDR,QAxDQ;EAyDR,SAxDO;EAyDP;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACC,SA1EK;EA2EL;EACA;EACA;;AAKH;EACC;EACA;EACA;EACA;EAEA;EACA;EAEA;;AAGD;EACC;EACA;EAIA;EAKA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;AAoBA;;AAlBA;EACC;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAID;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,SApJK;EAqJL;EACA;EACA;EACA;EACA;;AAGA;EACC;;AAQH;EACC;;AAEA;EACC;EACA;;AAIF;EACC;;AAGD;EACC;;AAIF;EACC;EACA;;AAEA;EACC;EACA;EACA;;AAMH;EAEC;;AAGD;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA,SAxNO;;AAyNP;EACC;EACA,OA3NM;EA4NN,QA5NM;;AAkOT;EACC;EACA;EACA;AAEA;;AACA;EACC;EACA;;AAMJ;EACC;;AAID;EACC;;AAEA;EACC;EACA;EAEA;;AAEA;EACC;;AAEA;EAEC;;AAGD;EACI;;;AAOR;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGC;;AAGD;EAEC;;;AAIF;AAAA;AAAA;AAAA;AAAA;AAKA;EACC;EACA;;;AAGD;AACA;AAaC;;AAZA;AACC;AAKA;;AAJA;EACC;;AAID;EACC;;AAKF;EACC;EACA;EACA;;;AAIF;AACA;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;EACA;;;AEvyCF;EACC;EACA;EACA;EACA;AAAuB;EACvB;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EAAsB;;;AACtB;EAAoB;EAAgB;EAAY;EAAU;EAAW;EAAgB;;;AAErF;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;EAEC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AHjNT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AIEA;AAAA;AAAA;AAIA;EAEA;IACC;;;EAGD;AAAA;AAAA;AAAA;IAIC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;;;EAGD;IACC;;;EAGD;IACC;;;AAED;AACA;EACA;IACC;IACA;IACA;IACA;IACA;IACA;;;AAID;EACA;IACC;;;AAED;EACA;IACC;;;EAED;IACC;;;AAGD;EACA;IACC;;;AAID;AACC;EACA;IACC;;;EAED;IACC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;;;AClFF;EACC;EACA;;;AAGD;EACC;;;AAID;EACC;EACA;;;AAGD;EACC;EACA;EACA;;AAEA;EAEC;;;AAGF;EACC;EACA;;;AAGD;EACC;EACA;AAAqB;EACrB;;;AAGD;EACC;AAAW;;;AAGZ;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;AAAwB;;;AAGzB;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;AAA0B;EAC1B;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AC/HD;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE","file":"merged.css"}
\ No newline at end of file diff --git a/apps/files/css/upload.css b/apps/files/css/upload.css index 1ab561b2156..efe99b4129f 100644 --- a/apps/files/css/upload.css +++ b/apps/files/css/upload.css @@ -187,7 +187,7 @@ .oc-dialog .fileexists .original, .oc-dialog .fileexists .replacement { float: left; - width: 225px; + width: 50%; } .oc-dialog .fileexists .conflicts { diff --git a/apps/files/css/upload.scss b/apps/files/css/upload.scss index 3706bb5323f..88207e0a844 100644 --- a/apps/files/css/upload.scss +++ b/apps/files/css/upload.scss @@ -156,7 +156,7 @@ .oc-dialog .fileexists .original, .oc-dialog .fileexists .replacement { float: left; - width: 225px; + width: 50%; } .oc-dialog .fileexists .conflicts { overflow-y: auto; diff --git a/apps/files/js/app.js b/apps/files/js/app.js index dcc294975b9..4f335a5b04a 100644 --- a/apps/files/js/app.js +++ b/apps/files/js/app.js @@ -321,7 +321,7 @@ dir: e.dir ? e.dir : '/' }; this._changeUrl(params.view, params.dir); - OC.Apps.hideAppSidebar($('.detailsView')); + OCA.Files.Sidebar.close(); this.navigation.getActiveContainer().trigger(new $.Event('urlChanged', params)); window._nc_event_bus.emit('files:navigation:changed') } @@ -352,7 +352,7 @@ _onChangeViewerMode: function(e) { var state = !!e.viewerModeEnabled; if (e.viewerModeEnabled) { - OC.Apps.hideAppSidebar($('.detailsView')); + OCA.Files.Sidebar.close(); } $('#app-navigation').toggleClass('hidden', state); $('.app-files').toggleClass('viewer-mode no-sidebar', state); diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js index 69f9d9d0e63..a0b46e1d03b 100644 --- a/apps/files/js/file-upload.js +++ b/apps/files/js/file-upload.js @@ -76,6 +76,11 @@ OC.FileUpload.prototype = { id: null, /** + * Upload data structure + */ + data: null, + + /** * Upload element * * @type Object @@ -337,6 +342,10 @@ OC.FileUpload.prototype = { return } this.aborted = true; + if (this.data) { + // abort running XHR + this.data.abort(); + } this._delete(); }, diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 7caed29baa3..96273b325cb 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -976,6 +976,8 @@ // Select only visible checkboxes to filter out unmatched file in search this.$fileList.find('td.selection > .selectCheckBox:visible').prop('checked', checked) .closest('tr').toggleClass('selected', checked); + // For prevents the selection of encrypted folders when clicking on the "Select all" checkbox + this.$fileList.find('tr[data-e2eencrypted="true"]').find('td.selection > .selectCheckBox:visible').prop('checked', false).closest('tr').toggleClass('selected', false); if (checked) { for (var i = 0; i < this.files.length; i++) { @@ -984,7 +986,7 @@ var fileData = this.files[i]; var fileRow = this.$fileList.find('tr[data-id=' + fileData.id + ']'); // do not select already selected ones - if (!fileRow.hasClass('hidden') && _.isUndefined(this._selectedFiles[fileData.id])) { + if (!fileRow.hasClass('hidden') && _.isUndefined(this._selectedFiles[fileData.id]) && (!fileData.isEncrypted)) { this._selectedFiles[fileData.id] = fileData; this._selectionSummary.add(fileData); } @@ -1419,6 +1421,10 @@ hidden = false; } tr = this._renderRow(fileData, {updateSummary: false, silent: true, hidden: hidden}); + if (tr.attr('data-e2eencrypted') === 'true') { + tr.toggleClass('selected', false); + tr.find('td.selection > .selectCheckBox:visible').prop('checked', false); + } this.$fileList.append(tr); if (isAllSelected || this._selectedFiles[fileData.id]) { tr.addClass('selected'); diff --git a/apps/files/js/gotoplugin.js b/apps/files/js/gotoplugin.js index 474acdab587..ca1823697c4 100644 --- a/apps/files/js/gotoplugin.js +++ b/apps/files/js/gotoplugin.js @@ -45,7 +45,7 @@ type: OCA.Files.FileActions.TYPE_DROPDOWN, actionHandler: function (fileName, context) { var fileModel = context.fileInfoModel; - OC.Apps.hideAppSidebar($('.detailsView')); + OCA.Files.Sidebar.close(); OCA.Files.App.setActiveView('files', { silent: true }); OCA.Files.App.fileList.changeDirectory(fileModel.get('path'), true, true).then(function() { OCA.Files.App.fileList.scrollTo(fileModel.get('name')); diff --git a/apps/files/l10n/ca.js b/apps/files/l10n/ca.js index a75d08f0846..f68f316b9b2 100644 --- a/apps/files/l10n/ca.js +++ b/apps/files/l10n/ca.js @@ -17,14 +17,15 @@ OC.L10N.register( "Could not create folder \"{dir}\"" : "No s'ha pogut crear la carpeta «{dir}»", "This will stop your current uploads." : "Això aturarà les pujades actuals.", "Upload cancelled." : "S'ha cancel·lat la pujada.", - "Processing files …" : "S'estan processant els fitxers...", + "Processing files …" : "S'estan processant els fitxers …", "…" : "…", "Unable to upload {filename} as it is a directory or has 0 bytes" : "No s'ha pogut pujar {filename} perquè és una carpeta o té 0 bytes", "Not enough free space, you are uploading {size1} but only {size2} is left" : "No hi ha prou espai lliure, esteu pujant {size1} però només teniu {size2} lliures", "Target folder \"{dir}\" does not exist any more" : "La carpeta de destinació «{dir}» ja no existeix", "Not enough free space" : "No hi ha prou espai lliure", "An unknown error has occurred" : "S'ha produït un error desconegut", - "Uploading …" : "S'està pujant...", + "File could not be uploaded" : "No s'ha pogut pujar el fitxer", + "Uploading …" : "S'està pujant …", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})", "Uploading that item is not supported" : "No s'admet la pujada aquest element", "Target folder does not exist any more" : "La carpeta de destinació ja no existeix", @@ -35,6 +36,7 @@ OC.L10N.register( "Move" : "Mou", "Copy" : "Copia", "Choose target folder" : "Trieu la carpeta de destinació", + "Edit locally" : "Edició local", "Open" : "Obre", "Delete file" : "Suprimeix el fitxer", "Delete folder" : "Suprimeix la carpeta", @@ -50,7 +52,7 @@ OC.L10N.register( "Pending" : "Pendent", "Unable to determine date" : "No s'ha pogut determinar la data", "This operation is forbidden" : "Aquesta operació no està permesa", - "This directory is unavailable, please check the logs or contact the administrator" : "Aquesta carpeta no està disponible. Consulteu els registres o contacteu amb l'administrador.", + "This directory is unavailable, please check the logs or contact the administrator" : "Aquest directori no està disponible. Consulteu els registres o contacteu amb l'administrador", "Could not move \"{file}\", target exists" : "No s'ha pogut desplaçar «{file}», el fitxer de destinació ja existeix", "Could not move \"{file}\"" : "No s'ha pogut desplaçar «{file}»", "copy" : "còpia", @@ -58,6 +60,7 @@ OC.L10N.register( "Could not copy \"{file}\"" : "No s'ha pogut copiar «{file}»", "Copied {origin} inside {destination}" : "S'ha copiat {origin} a {destination}", "Copied {origin} and {nbfiles} other files inside {destination}" : "S'han copiat {origin} i {nbfiles} fitxers més a {destination}", + "Failed to redirect to client" : "No s'ha pogut redirigir al client", "{newName} already exists" : "{newName} ja existeix", "Could not rename \"{fileName}\", it does not exist any more" : "No s'ha pogut canviar el nom de «{fileName}», ja no existeix", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nom «{targetName}» ja està en ús en la carpeta «{dir}». Trieu un nom diferent.", @@ -78,7 +81,9 @@ OC.L10N.register( "_including %n hidden_::_including %n hidden_" : ["incloent-hi %n element ocult","incloent-hi %n elements ocults"], "You do not have permission to upload or create files here" : "No teniu permís per a pujar o crear fitxers aquí", "_Uploading %n file_::_Uploading %n files_" : ["S'està pujant %n fitxer","S'estan pujant %n fitxers"], + "New file/folder menu" : "Nou menú fitxer/carpeta", "Select file range" : "Selecciona un interval de fitxers", + "{used}%" : "{used}%", "{used} of {quota} used" : "{used} de {quota} en ús", "{used} used" : "{used} en ús", "\"{name}\" is an invalid file name." : "«{name}» no és un nom de fitxer vàlid.", @@ -188,7 +193,9 @@ OC.L10N.register( "Templates" : "Plantilles", "Unable to initialize the templates directory" : "No s'ha pogut inicialitzar la carpeta de plantilles", "%s used" : "%s en ús", + "%s%%" : "%s%%", "%1$s of %2$s used" : "%1$s de %2$s en ús", + "Files settings" : "Paràmetres dels fitxers", "Show hidden files" : "Mostra els fitxers ocults", "Crop image previews" : "Retalla les previsualitzacions de les imatges", "WebDAV" : "WebDAV", diff --git a/apps/files/l10n/ca.json b/apps/files/l10n/ca.json index 271de7171fc..bfc68ea19ee 100644 --- a/apps/files/l10n/ca.json +++ b/apps/files/l10n/ca.json @@ -15,14 +15,15 @@ "Could not create folder \"{dir}\"" : "No s'ha pogut crear la carpeta «{dir}»", "This will stop your current uploads." : "Això aturarà les pujades actuals.", "Upload cancelled." : "S'ha cancel·lat la pujada.", - "Processing files …" : "S'estan processant els fitxers...", + "Processing files …" : "S'estan processant els fitxers …", "…" : "…", "Unable to upload {filename} as it is a directory or has 0 bytes" : "No s'ha pogut pujar {filename} perquè és una carpeta o té 0 bytes", "Not enough free space, you are uploading {size1} but only {size2} is left" : "No hi ha prou espai lliure, esteu pujant {size1} però només teniu {size2} lliures", "Target folder \"{dir}\" does not exist any more" : "La carpeta de destinació «{dir}» ja no existeix", "Not enough free space" : "No hi ha prou espai lliure", "An unknown error has occurred" : "S'ha produït un error desconegut", - "Uploading …" : "S'està pujant...", + "File could not be uploaded" : "No s'ha pogut pujar el fitxer", + "Uploading …" : "S'està pujant …", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})", "Uploading that item is not supported" : "No s'admet la pujada aquest element", "Target folder does not exist any more" : "La carpeta de destinació ja no existeix", @@ -33,6 +34,7 @@ "Move" : "Mou", "Copy" : "Copia", "Choose target folder" : "Trieu la carpeta de destinació", + "Edit locally" : "Edició local", "Open" : "Obre", "Delete file" : "Suprimeix el fitxer", "Delete folder" : "Suprimeix la carpeta", @@ -48,7 +50,7 @@ "Pending" : "Pendent", "Unable to determine date" : "No s'ha pogut determinar la data", "This operation is forbidden" : "Aquesta operació no està permesa", - "This directory is unavailable, please check the logs or contact the administrator" : "Aquesta carpeta no està disponible. Consulteu els registres o contacteu amb l'administrador.", + "This directory is unavailable, please check the logs or contact the administrator" : "Aquest directori no està disponible. Consulteu els registres o contacteu amb l'administrador", "Could not move \"{file}\", target exists" : "No s'ha pogut desplaçar «{file}», el fitxer de destinació ja existeix", "Could not move \"{file}\"" : "No s'ha pogut desplaçar «{file}»", "copy" : "còpia", @@ -56,6 +58,7 @@ "Could not copy \"{file}\"" : "No s'ha pogut copiar «{file}»", "Copied {origin} inside {destination}" : "S'ha copiat {origin} a {destination}", "Copied {origin} and {nbfiles} other files inside {destination}" : "S'han copiat {origin} i {nbfiles} fitxers més a {destination}", + "Failed to redirect to client" : "No s'ha pogut redirigir al client", "{newName} already exists" : "{newName} ja existeix", "Could not rename \"{fileName}\", it does not exist any more" : "No s'ha pogut canviar el nom de «{fileName}», ja no existeix", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nom «{targetName}» ja està en ús en la carpeta «{dir}». Trieu un nom diferent.", @@ -76,7 +79,9 @@ "_including %n hidden_::_including %n hidden_" : ["incloent-hi %n element ocult","incloent-hi %n elements ocults"], "You do not have permission to upload or create files here" : "No teniu permís per a pujar o crear fitxers aquí", "_Uploading %n file_::_Uploading %n files_" : ["S'està pujant %n fitxer","S'estan pujant %n fitxers"], + "New file/folder menu" : "Nou menú fitxer/carpeta", "Select file range" : "Selecciona un interval de fitxers", + "{used}%" : "{used}%", "{used} of {quota} used" : "{used} de {quota} en ús", "{used} used" : "{used} en ús", "\"{name}\" is an invalid file name." : "«{name}» no és un nom de fitxer vàlid.", @@ -186,7 +191,9 @@ "Templates" : "Plantilles", "Unable to initialize the templates directory" : "No s'ha pogut inicialitzar la carpeta de plantilles", "%s used" : "%s en ús", + "%s%%" : "%s%%", "%1$s of %2$s used" : "%1$s de %2$s en ús", + "Files settings" : "Paràmetres dels fitxers", "Show hidden files" : "Mostra els fitxers ocults", "Crop image previews" : "Retalla les previsualitzacions de les imatges", "WebDAV" : "WebDAV", diff --git a/apps/files/l10n/da.js b/apps/files/l10n/da.js index 6d8d08d80c9..ab9ce8e1f90 100644 --- a/apps/files/l10n/da.js +++ b/apps/files/l10n/da.js @@ -61,7 +61,7 @@ OC.L10N.register( "Copied {origin} inside {destination}" : "Kopirede {origin} ind i {destination}", "Copied {origin} and {nbfiles} other files inside {destination}" : "kopierede {origin} og {nbfiles} andre filer ind i {destination}", "Failed to redirect to client" : "Kunne ikke omdirigere til klienten", - "{newName} already exists" : "{newName} eksistere allerede", + "{newName} already exists" : "{newName} eksisterer allerede", "Could not rename \"{fileName}\", it does not exist any more" : "Kunne ikke omdøbe \"{fileName}\", den findes ikke længere", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Navnet \"{targetName}\" bruges allerede i mappen \"{dir}\". Vælg et andet navn.", "Could not rename \"{fileName}\"" : "Kunne ikke omdøbe \"{fileName}\"", @@ -218,7 +218,7 @@ OC.L10N.register( "Deleted shares" : "Slettede delinger", "Pending shares" : "Afventende delinger", "Text file" : "Tekstfil", - "New text file.txt" : "Ny tekst file.txt", + "New text file.txt" : "Ny tekst fil.txt", "Select" : "Vælg", "You don’t have permission to upload or create files here" : "Du har ikke tilladelse til at uploade eller oprette filer her", "New" : "Ny", diff --git a/apps/files/l10n/da.json b/apps/files/l10n/da.json index d2ae39efe7d..4ca04bf7ccf 100644 --- a/apps/files/l10n/da.json +++ b/apps/files/l10n/da.json @@ -59,7 +59,7 @@ "Copied {origin} inside {destination}" : "Kopirede {origin} ind i {destination}", "Copied {origin} and {nbfiles} other files inside {destination}" : "kopierede {origin} og {nbfiles} andre filer ind i {destination}", "Failed to redirect to client" : "Kunne ikke omdirigere til klienten", - "{newName} already exists" : "{newName} eksistere allerede", + "{newName} already exists" : "{newName} eksisterer allerede", "Could not rename \"{fileName}\", it does not exist any more" : "Kunne ikke omdøbe \"{fileName}\", den findes ikke længere", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Navnet \"{targetName}\" bruges allerede i mappen \"{dir}\". Vælg et andet navn.", "Could not rename \"{fileName}\"" : "Kunne ikke omdøbe \"{fileName}\"", @@ -216,7 +216,7 @@ "Deleted shares" : "Slettede delinger", "Pending shares" : "Afventende delinger", "Text file" : "Tekstfil", - "New text file.txt" : "Ny tekst file.txt", + "New text file.txt" : "Ny tekst fil.txt", "Select" : "Vælg", "You don’t have permission to upload or create files here" : "Du har ikke tilladelse til at uploade eller oprette filer her", "New" : "Ny", diff --git a/apps/files/l10n/el.js b/apps/files/l10n/el.js index bdd00456c65..4a160142688 100644 --- a/apps/files/l10n/el.js +++ b/apps/files/l10n/el.js @@ -60,6 +60,7 @@ OC.L10N.register( "Could not copy \"{file}\"" : "Αδυναμία αντιγραφής του \"{file}\"", "Copied {origin} inside {destination}" : "Αντιγράφτηκε το {origin} στο {destination}", "Copied {origin} and {nbfiles} other files inside {destination}" : "Αντιγράφτηκε το {origin} και {nbfiles} άλλα αρχεία στο {destination}", + "Failed to redirect to client" : "Αποτυχία ανακατεύθυνσης στον πελάτη", "{newName} already exists" : "Το {newName} υπάρχει ήδη", "Could not rename \"{fileName}\", it does not exist any more" : "Αδυναμία μετονομασίας του \"{fileName}\", το αρχείο δεν υπάρχει πια.", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Το όνομα \"{targetName}\" χρησιμοποιείται ήδη στον φάκελο\"{dir}\". Παρακαλούμε διαλέξτε ένα διαφορετικό όνομα.", diff --git a/apps/files/l10n/el.json b/apps/files/l10n/el.json index 468eae4f11a..1a546a8eef0 100644 --- a/apps/files/l10n/el.json +++ b/apps/files/l10n/el.json @@ -58,6 +58,7 @@ "Could not copy \"{file}\"" : "Αδυναμία αντιγραφής του \"{file}\"", "Copied {origin} inside {destination}" : "Αντιγράφτηκε το {origin} στο {destination}", "Copied {origin} and {nbfiles} other files inside {destination}" : "Αντιγράφτηκε το {origin} και {nbfiles} άλλα αρχεία στο {destination}", + "Failed to redirect to client" : "Αποτυχία ανακατεύθυνσης στον πελάτη", "{newName} already exists" : "Το {newName} υπάρχει ήδη", "Could not rename \"{fileName}\", it does not exist any more" : "Αδυναμία μετονομασίας του \"{fileName}\", το αρχείο δεν υπάρχει πια.", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Το όνομα \"{targetName}\" χρησιμοποιείται ήδη στον φάκελο\"{dir}\". Παρακαλούμε διαλέξτε ένα διαφορετικό όνομα.", diff --git a/apps/files/l10n/en_GB.js b/apps/files/l10n/en_GB.js index 5f4eafefe70..ce28fb4d90d 100644 --- a/apps/files/l10n/en_GB.js +++ b/apps/files/l10n/en_GB.js @@ -9,31 +9,46 @@ OC.L10N.register( "Download" : "Download", "Delete" : "Delete", "Tags" : "Tags", + "Show list view" : "Show list view", + "Show grid view" : "Show grid view", "Home" : "Home", "Close" : "Close", "Favorites" : "Favourites", "Could not create folder \"{dir}\"" : "Could not create folder \"{dir}\"", + "This will stop your current uploads." : "This will stop your current uploads.", "Upload cancelled." : "Upload cancelled.", + "Processing files …" : "Processing files …", "…" : "…", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Unable to upload {filename} as it is a directory or has 0 bytes", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Not enough free space, you are uploading {size1} but only {size2} is left", "Target folder \"{dir}\" does not exist any more" : "Target folder \"{dir}\" does not exist any more", "Not enough free space" : "Not enough free space", + "An unknown error has occurred" : "An unknown error has occurred", + "File could not be uploaded" : "File could not be uploaded", "Uploading …" : "Uploading …", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} of {totalSize} ({bitrate})", + "Uploading that item is not supported" : "Uploading that item is not supported", "Target folder does not exist any more" : "Target folder does not exist any more", + "Operation is blocked by access control" : "Operation is blocked by access control", "Error when assembling chunks, status code {status}" : "Error when assembling chunks, status code {status}", "Actions" : "Actions", "Rename" : "Rename", "Move" : "Move", "Copy" : "Copy", + "Choose target folder" : "Choose target folder", + "Edit locally" : "Edit locally", "Open" : "Open", "Delete file" : "Delete file", "Delete folder" : "Delete folder", "Disconnect storage" : "Disconnect storage", + "Leave this share" : "Leave this share", "Could not load info for file \"{file}\"" : "Could not load info for file \"{file}\"", "Files" : "Files", "Details" : "Details", + "Please select tag(s) to add to the selection" : "Please select tag(s) to add to the selection", + "Apply tag(s) to selection" : "Apply tag(s) to selection", + "Select directory \"{dirName}\"" : "Select directory \"{dirName}\"", + "Select file \"{fileName}\"" : "Select file \"{fileName}\"", "Pending" : "Pending", "Unable to determine date" : "Unable to determine date", "This operation is forbidden" : "This operation is forbidden", @@ -45,6 +60,7 @@ OC.L10N.register( "Could not copy \"{file}\"" : "Could not copy \"{file}\"", "Copied {origin} inside {destination}" : "Copied {origin} inside {destination}", "Copied {origin} and {nbfiles} other files inside {destination}" : "Copied {origin} and {nbfiles} other files inside {destination}", + "Failed to redirect to client" : "Failed to redirect to client", "{newName} already exists" : "{newName} already exists", "Could not rename \"{fileName}\", it does not exist any more" : "Could not rename \"{fileName}\", it does not exist any more", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name.", @@ -52,8 +68,10 @@ OC.L10N.register( "Could not create file \"{file}\"" : "Could not create file \"{file}\"", "Could not create file \"{file}\" because it already exists" : "Could not create file \"{file}\" because it already exists", "Could not create folder \"{dir}\" because it already exists" : "Could not create folder \"{dir}\" because it already exists", + "Could not fetch file details \"{file}\"" : "Could not fetch file details \"{file}\"", "Error deleting file \"{fileName}\"." : "Error deleting file \"{fileName}\".", "No search results in other folders for {tag}{filter}{endtag}" : "No search results in other folders for {tag}{filter}{endtag}", + "Enter more than two characters to search in other folders" : "Enter more than two characters to search in other folders", "Name" : "Name", "Size" : "Size", "Modified" : "Modified", @@ -61,13 +79,26 @@ OC.L10N.register( "_%n file_::_%n files_" : ["%n file","%n files"], "{dirs} and {files}" : "{dirs} and {files}", "_including %n hidden_::_including %n hidden_" : ["including %n hidden","including %n hidden"], + "You do not have permission to upload or create files here" : "You do not have permission to upload or create files here", "_Uploading %n file_::_Uploading %n files_" : ["Uploading %n file","Uploading %n files"], + "New file/folder menu" : "New file/folder menu", + "Select file range" : "Select file range", + "{used}%" : "{used}%", "{used} of {quota} used" : "{used} of {quota} used", "{used} used" : "{used} used", "\"{name}\" is an invalid file name." : "\"{name}\" is an invalid file name.", "File name cannot be empty." : "File name cannot be empty.", "\"/\" is not allowed inside a file name." : "\"/\" is not allowed inside a file name.", "\"{name}\" is not an allowed filetype" : "\"{name}\" is not an allowed filetype", + "Storage of {owner} is full, files cannot be updated or synced anymore!" : "Storage of {owner} is full, files cannot be updated or synced anymore!", + "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!", + "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!", + "Your storage is full, files cannot be updated or synced anymore!" : "Your storage is full, files cannot be updated or synced anymore!", + "Storage of {owner} is almost full ({usedSpacePercent}%)." : "Storage of {owner} is almost full ({usedSpacePercent}%).", + "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%).", + "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%).", + "Your storage is almost full ({usedSpacePercent}%)." : "Your storage is almost full ({usedSpacePercent}%).", + "_matches \"{filter}\"_::_match \"{filter}\"_" : ["matches \"{filter}\"","match \"{filter}\""], "View in folder" : "View in folder", "Copied!" : "Copied!", "Copy direct link (only works for users who have access to this file/folder)" : "Copy direct link (only works for users who have access to this file/folder)", @@ -110,7 +141,13 @@ OC.L10N.register( "{user} deleted an encrypted file in {file}" : "{user} deleted an encrypted file in {file}", "You restored {file}" : "You restored {file}", "{user} restored {file}" : "{user} restored {file}", + "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "You renamed {oldfile} (hidden) to {newfile} (hidden)", + "You renamed {oldfile} (hidden) to {newfile}" : "You renamed {oldfile} (hidden) to {newfile}", + "You renamed {oldfile} to {newfile} (hidden)" : "You renamed {oldfile} to {newfile} (hidden)", "You renamed {oldfile} to {newfile}" : "You renamed {oldfile} to {newfile}", + "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} renamed {oldfile} (hidden) to {newfile} (hidden)", + "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} renamed {oldfile} (hidden) to {newfile}", + "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} renamed {oldfile} to {newfile} (hidden)", "{user} renamed {oldfile} to {newfile}" : "{user} renamed {oldfile} to {newfile}", "You moved {oldfile} to {newfile}" : "You moved {oldfile} to {newfile}", "{user} moved {oldfile} to {newfile}" : "{user} moved {oldfile} to {newfile}", @@ -122,16 +159,49 @@ OC.L10N.register( "Upload (max. %s)" : "Upload (max. %s)", "Accept" : "Accept", "Reject" : "Reject", + "Incoming ownership transfer from {user}" : "Incoming ownership transfer from {user}", + "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour.", + "Ownership transfer failed" : "Ownership transfer failed", + "Your ownership transfer of {path} to {user} failed." : "Your ownership transfer of {path} to {user} failed.", + "The ownership transfer of {path} from {user} failed." : "The ownership transfer of {path} from {user} failed.", + "Ownership transfer done" : "Ownership transfer done", + "Your ownership transfer of {path} to {user} has completed." : "Your ownership transfer of {path} to {user} has completed.", + "The ownership transfer of {path} from {user} has completed." : "The ownership transfer of {path} from {user} has completed.", "in %s" : "in %s", "File Management" : "File Management", + "Transfer ownership of a file or folder" : "Transfer ownership of a file or folder", + "Choose file or folder to transfer" : "Choose file or folder to transfer", "Change" : "Change", + "New owner" : "New owner", + "Search users" : "Search users", + "Choose a file or folder to transfer" : "Choose a file or folder to transfer", "Transfer" : "Transfer", + "Transfer {path} to {userid}" : "Transfer {path} to {userid}", + "Invalid path selected" : "Invalid path selected", + "Ownership transfer request sent" : "Ownership transfer request sent", + "Cannot transfer ownership of a file or folder you do not own" : "Cannot transfer ownership of a file or folder you do not own", + "Unable to change the favourite state of the file" : "Unable to change the favourite state of the file", + "Error while loading the file data" : "Error while loading the file data", + "Pick a template for {name}" : "Pick a template for {name}", "Cancel" : "Cancel", "Create" : "Create", + "Create a new file with the selected template" : "Create a new file with the selected template", + "Creating file" : "Creating file", + "Blank" : "Blank", + "Unable to create new file from template" : "Unable to create new file from template", + "Set up templates folder" : "Set up templates folder", + "Templates" : "Templates", + "Unable to initialize the templates directory" : "Unable to initialize the templates directory", "%s used" : "%s used", + "%s%%" : "%s%%", "%1$s of %2$s used" : "%1$s of %2$s used", + "Files settings" : "Files settings", "Show hidden files" : "Show hidden files", + "Crop image previews" : "Crop image previews", "WebDAV" : "WebDAV", + "Use this address to access your Files via WebDAV" : "Use this address to access your Files via WebDAV", + "Toggle %1$s sublist" : "Toggle %1$s sublist", + "Toggle grid view" : "Toggle grid view", "No files in here" : "No files in here", "Upload some content or sync with your devices!" : "Upload some content or sync with your devices!", "No entries found in this folder" : "No entries found in this folder", @@ -145,11 +215,14 @@ OC.L10N.register( "Shared with others" : "Shared with others", "Shared with you" : "Shared with you", "Shared by link" : "Shared by link", + "Deleted shares" : "Deleted shares", + "Pending shares" : "Pending shares", "Text file" : "Text file", "New text file.txt" : "New text file.txt", "Select" : "Select", "You don’t have permission to upload or create files here" : "You don’t have permission to upload or create files here", "New" : "New", + "Cannot transfer ownership of a file or folder you don't own" : "Cannot transfer ownership of a file or folder you don't own", "Settings" : "Settings" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/en_GB.json b/apps/files/l10n/en_GB.json index c9ce683d7cf..54f2bb09ebd 100644 --- a/apps/files/l10n/en_GB.json +++ b/apps/files/l10n/en_GB.json @@ -7,31 +7,46 @@ "Download" : "Download", "Delete" : "Delete", "Tags" : "Tags", + "Show list view" : "Show list view", + "Show grid view" : "Show grid view", "Home" : "Home", "Close" : "Close", "Favorites" : "Favourites", "Could not create folder \"{dir}\"" : "Could not create folder \"{dir}\"", + "This will stop your current uploads." : "This will stop your current uploads.", "Upload cancelled." : "Upload cancelled.", + "Processing files …" : "Processing files …", "…" : "…", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Unable to upload {filename} as it is a directory or has 0 bytes", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Not enough free space, you are uploading {size1} but only {size2} is left", "Target folder \"{dir}\" does not exist any more" : "Target folder \"{dir}\" does not exist any more", "Not enough free space" : "Not enough free space", + "An unknown error has occurred" : "An unknown error has occurred", + "File could not be uploaded" : "File could not be uploaded", "Uploading …" : "Uploading …", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} of {totalSize} ({bitrate})", + "Uploading that item is not supported" : "Uploading that item is not supported", "Target folder does not exist any more" : "Target folder does not exist any more", + "Operation is blocked by access control" : "Operation is blocked by access control", "Error when assembling chunks, status code {status}" : "Error when assembling chunks, status code {status}", "Actions" : "Actions", "Rename" : "Rename", "Move" : "Move", "Copy" : "Copy", + "Choose target folder" : "Choose target folder", + "Edit locally" : "Edit locally", "Open" : "Open", "Delete file" : "Delete file", "Delete folder" : "Delete folder", "Disconnect storage" : "Disconnect storage", + "Leave this share" : "Leave this share", "Could not load info for file \"{file}\"" : "Could not load info for file \"{file}\"", "Files" : "Files", "Details" : "Details", + "Please select tag(s) to add to the selection" : "Please select tag(s) to add to the selection", + "Apply tag(s) to selection" : "Apply tag(s) to selection", + "Select directory \"{dirName}\"" : "Select directory \"{dirName}\"", + "Select file \"{fileName}\"" : "Select file \"{fileName}\"", "Pending" : "Pending", "Unable to determine date" : "Unable to determine date", "This operation is forbidden" : "This operation is forbidden", @@ -43,6 +58,7 @@ "Could not copy \"{file}\"" : "Could not copy \"{file}\"", "Copied {origin} inside {destination}" : "Copied {origin} inside {destination}", "Copied {origin} and {nbfiles} other files inside {destination}" : "Copied {origin} and {nbfiles} other files inside {destination}", + "Failed to redirect to client" : "Failed to redirect to client", "{newName} already exists" : "{newName} already exists", "Could not rename \"{fileName}\", it does not exist any more" : "Could not rename \"{fileName}\", it does not exist any more", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name.", @@ -50,8 +66,10 @@ "Could not create file \"{file}\"" : "Could not create file \"{file}\"", "Could not create file \"{file}\" because it already exists" : "Could not create file \"{file}\" because it already exists", "Could not create folder \"{dir}\" because it already exists" : "Could not create folder \"{dir}\" because it already exists", + "Could not fetch file details \"{file}\"" : "Could not fetch file details \"{file}\"", "Error deleting file \"{fileName}\"." : "Error deleting file \"{fileName}\".", "No search results in other folders for {tag}{filter}{endtag}" : "No search results in other folders for {tag}{filter}{endtag}", + "Enter more than two characters to search in other folders" : "Enter more than two characters to search in other folders", "Name" : "Name", "Size" : "Size", "Modified" : "Modified", @@ -59,13 +77,26 @@ "_%n file_::_%n files_" : ["%n file","%n files"], "{dirs} and {files}" : "{dirs} and {files}", "_including %n hidden_::_including %n hidden_" : ["including %n hidden","including %n hidden"], + "You do not have permission to upload or create files here" : "You do not have permission to upload or create files here", "_Uploading %n file_::_Uploading %n files_" : ["Uploading %n file","Uploading %n files"], + "New file/folder menu" : "New file/folder menu", + "Select file range" : "Select file range", + "{used}%" : "{used}%", "{used} of {quota} used" : "{used} of {quota} used", "{used} used" : "{used} used", "\"{name}\" is an invalid file name." : "\"{name}\" is an invalid file name.", "File name cannot be empty." : "File name cannot be empty.", "\"/\" is not allowed inside a file name." : "\"/\" is not allowed inside a file name.", "\"{name}\" is not an allowed filetype" : "\"{name}\" is not an allowed filetype", + "Storage of {owner} is full, files cannot be updated or synced anymore!" : "Storage of {owner} is full, files cannot be updated or synced anymore!", + "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!", + "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!", + "Your storage is full, files cannot be updated or synced anymore!" : "Your storage is full, files cannot be updated or synced anymore!", + "Storage of {owner} is almost full ({usedSpacePercent}%)." : "Storage of {owner} is almost full ({usedSpacePercent}%).", + "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%).", + "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%).", + "Your storage is almost full ({usedSpacePercent}%)." : "Your storage is almost full ({usedSpacePercent}%).", + "_matches \"{filter}\"_::_match \"{filter}\"_" : ["matches \"{filter}\"","match \"{filter}\""], "View in folder" : "View in folder", "Copied!" : "Copied!", "Copy direct link (only works for users who have access to this file/folder)" : "Copy direct link (only works for users who have access to this file/folder)", @@ -108,7 +139,13 @@ "{user} deleted an encrypted file in {file}" : "{user} deleted an encrypted file in {file}", "You restored {file}" : "You restored {file}", "{user} restored {file}" : "{user} restored {file}", + "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "You renamed {oldfile} (hidden) to {newfile} (hidden)", + "You renamed {oldfile} (hidden) to {newfile}" : "You renamed {oldfile} (hidden) to {newfile}", + "You renamed {oldfile} to {newfile} (hidden)" : "You renamed {oldfile} to {newfile} (hidden)", "You renamed {oldfile} to {newfile}" : "You renamed {oldfile} to {newfile}", + "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} renamed {oldfile} (hidden) to {newfile} (hidden)", + "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} renamed {oldfile} (hidden) to {newfile}", + "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} renamed {oldfile} to {newfile} (hidden)", "{user} renamed {oldfile} to {newfile}" : "{user} renamed {oldfile} to {newfile}", "You moved {oldfile} to {newfile}" : "You moved {oldfile} to {newfile}", "{user} moved {oldfile} to {newfile}" : "{user} moved {oldfile} to {newfile}", @@ -120,16 +157,49 @@ "Upload (max. %s)" : "Upload (max. %s)", "Accept" : "Accept", "Reject" : "Reject", + "Incoming ownership transfer from {user}" : "Incoming ownership transfer from {user}", + "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour.", + "Ownership transfer failed" : "Ownership transfer failed", + "Your ownership transfer of {path} to {user} failed." : "Your ownership transfer of {path} to {user} failed.", + "The ownership transfer of {path} from {user} failed." : "The ownership transfer of {path} from {user} failed.", + "Ownership transfer done" : "Ownership transfer done", + "Your ownership transfer of {path} to {user} has completed." : "Your ownership transfer of {path} to {user} has completed.", + "The ownership transfer of {path} from {user} has completed." : "The ownership transfer of {path} from {user} has completed.", "in %s" : "in %s", "File Management" : "File Management", + "Transfer ownership of a file or folder" : "Transfer ownership of a file or folder", + "Choose file or folder to transfer" : "Choose file or folder to transfer", "Change" : "Change", + "New owner" : "New owner", + "Search users" : "Search users", + "Choose a file or folder to transfer" : "Choose a file or folder to transfer", "Transfer" : "Transfer", + "Transfer {path} to {userid}" : "Transfer {path} to {userid}", + "Invalid path selected" : "Invalid path selected", + "Ownership transfer request sent" : "Ownership transfer request sent", + "Cannot transfer ownership of a file or folder you do not own" : "Cannot transfer ownership of a file or folder you do not own", + "Unable to change the favourite state of the file" : "Unable to change the favourite state of the file", + "Error while loading the file data" : "Error while loading the file data", + "Pick a template for {name}" : "Pick a template for {name}", "Cancel" : "Cancel", "Create" : "Create", + "Create a new file with the selected template" : "Create a new file with the selected template", + "Creating file" : "Creating file", + "Blank" : "Blank", + "Unable to create new file from template" : "Unable to create new file from template", + "Set up templates folder" : "Set up templates folder", + "Templates" : "Templates", + "Unable to initialize the templates directory" : "Unable to initialize the templates directory", "%s used" : "%s used", + "%s%%" : "%s%%", "%1$s of %2$s used" : "%1$s of %2$s used", + "Files settings" : "Files settings", "Show hidden files" : "Show hidden files", + "Crop image previews" : "Crop image previews", "WebDAV" : "WebDAV", + "Use this address to access your Files via WebDAV" : "Use this address to access your Files via WebDAV", + "Toggle %1$s sublist" : "Toggle %1$s sublist", + "Toggle grid view" : "Toggle grid view", "No files in here" : "No files in here", "Upload some content or sync with your devices!" : "Upload some content or sync with your devices!", "No entries found in this folder" : "No entries found in this folder", @@ -143,11 +213,14 @@ "Shared with others" : "Shared with others", "Shared with you" : "Shared with you", "Shared by link" : "Shared by link", + "Deleted shares" : "Deleted shares", + "Pending shares" : "Pending shares", "Text file" : "Text file", "New text file.txt" : "New text file.txt", "Select" : "Select", "You don’t have permission to upload or create files here" : "You don’t have permission to upload or create files here", "New" : "New", + "Cannot transfer ownership of a file or folder you don't own" : "Cannot transfer ownership of a file or folder you don't own", "Settings" : "Settings" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files/l10n/fa.js b/apps/files/l10n/fa.js index 9e16aae3c96..3a690aec41e 100644 --- a/apps/files/l10n/fa.js +++ b/apps/files/l10n/fa.js @@ -103,6 +103,7 @@ OC.L10N.register( "Invalid path selected" : "مسیر نامعتبر انتخاب شده است", "Cancel" : "لغو", "Create" : "ساخت", + "Templates" : "قالبها", "%1$s of %2$s used" : "%1$s از %2$s استفاده شده ", "Show hidden files" : "نمایش فایلهای مخفی", "WebDAV" : "WebDAV", diff --git a/apps/files/l10n/fa.json b/apps/files/l10n/fa.json index 149a73b4b78..1f710152897 100644 --- a/apps/files/l10n/fa.json +++ b/apps/files/l10n/fa.json @@ -101,6 +101,7 @@ "Invalid path selected" : "مسیر نامعتبر انتخاب شده است", "Cancel" : "لغو", "Create" : "ساخت", + "Templates" : "قالبها", "%1$s of %2$s used" : "%1$s از %2$s استفاده شده ", "Show hidden files" : "نمایش فایلهای مخفی", "WebDAV" : "WebDAV", diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js index 23ccff5dc7a..8cd4fe4d9ef 100644 --- a/apps/files/l10n/fr.js +++ b/apps/files/l10n/fr.js @@ -197,7 +197,7 @@ OC.L10N.register( "%1$s of %2$s used" : "%1$s utilisés sur %2$s", "Files settings" : "Paramètres des fichiers", "Show hidden files" : "Afficher les fichiers masqués", - "Crop image previews" : "Activer l'affichage en miniatures carrées", + "Crop image previews" : "Afficher en miniatures carrées", "WebDAV" : "WebDAV", "Use this address to access your Files via WebDAV" : "Utilisez cette adresse pour accéder à vos fichiers via WebDAV", "Toggle %1$s sublist" : "Basculer %1$s sous-liste", diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json index 14fe18ae9ff..212fbeb7b27 100644 --- a/apps/files/l10n/fr.json +++ b/apps/files/l10n/fr.json @@ -195,7 +195,7 @@ "%1$s of %2$s used" : "%1$s utilisés sur %2$s", "Files settings" : "Paramètres des fichiers", "Show hidden files" : "Afficher les fichiers masqués", - "Crop image previews" : "Activer l'affichage en miniatures carrées", + "Crop image previews" : "Afficher en miniatures carrées", "WebDAV" : "WebDAV", "Use this address to access your Files via WebDAV" : "Utilisez cette adresse pour accéder à vos fichiers via WebDAV", "Toggle %1$s sublist" : "Basculer %1$s sous-liste", diff --git a/apps/files/l10n/hu.js b/apps/files/l10n/hu.js index c789732c6dd..e5df8f243a7 100644 --- a/apps/files/l10n/hu.js +++ b/apps/files/l10n/hu.js @@ -36,6 +36,7 @@ OC.L10N.register( "Move" : "Áthelyezés", "Copy" : "Másolás", "Choose target folder" : "Válasszon célmappát", + "Edit locally" : "Szerkesztés helyileg", "Open" : "Megnyitás", "Delete file" : "Fájl törlése", "Delete folder" : "Mappa törlése", @@ -59,6 +60,7 @@ OC.L10N.register( "Could not copy \"{file}\"" : "A(z) „{file}” másolása sikertelen", "Copied {origin} inside {destination}" : "A(z) {origin} átmásolva ide: {destination}", "Copied {origin} and {nbfiles} other files inside {destination}" : "A(z) {origin} és {nbfiles} egyéb fájl átmásolva ide: {destination}", + "Failed to redirect to client" : "Nem sikerült az átirányítás a klienshez", "{newName} already exists" : "A(z) {newName} már létezik", "Could not rename \"{fileName}\", it does not exist any more" : "A(z) „{fileName}” átnevetése sikertelen, mert már nem létezik", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "A(z) „{targetName}” név már használatban van a(z) „{dir}” mappában. Válasszon másik nevet.", diff --git a/apps/files/l10n/hu.json b/apps/files/l10n/hu.json index d5ee44d901e..1e03c773ff4 100644 --- a/apps/files/l10n/hu.json +++ b/apps/files/l10n/hu.json @@ -34,6 +34,7 @@ "Move" : "Áthelyezés", "Copy" : "Másolás", "Choose target folder" : "Válasszon célmappát", + "Edit locally" : "Szerkesztés helyileg", "Open" : "Megnyitás", "Delete file" : "Fájl törlése", "Delete folder" : "Mappa törlése", @@ -57,6 +58,7 @@ "Could not copy \"{file}\"" : "A(z) „{file}” másolása sikertelen", "Copied {origin} inside {destination}" : "A(z) {origin} átmásolva ide: {destination}", "Copied {origin} and {nbfiles} other files inside {destination}" : "A(z) {origin} és {nbfiles} egyéb fájl átmásolva ide: {destination}", + "Failed to redirect to client" : "Nem sikerült az átirányítás a klienshez", "{newName} already exists" : "A(z) {newName} már létezik", "Could not rename \"{fileName}\", it does not exist any more" : "A(z) „{fileName}” átnevetése sikertelen, mert már nem létezik", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "A(z) „{targetName}” név már használatban van a(z) „{dir}” mappában. Válasszon másik nevet.", diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js index b9319651cde..130414679c5 100644 --- a/apps/files/l10n/ja.js +++ b/apps/files/l10n/ja.js @@ -36,6 +36,7 @@ OC.L10N.register( "Move" : "移動", "Copy" : "コピー", "Choose target folder" : "ターゲットフォルダーを選択", + "Edit locally" : "ローカルで編集", "Open" : "開く", "Delete file" : "ファイルを削除", "Delete folder" : "フォルダーを削除", @@ -59,6 +60,7 @@ OC.L10N.register( "Could not copy \"{file}\"" : "\"{file}\"をコピーできませんでした", "Copied {origin} inside {destination}" : "コピー先{origin} {destination}内", "Copied {origin} and {nbfiles} other files inside {destination}" : "コピー先{origin}と{nbfiles}他のファイル{destination}", + "Failed to redirect to client" : "クライアントへリダイレクトできませんでした", "{newName} already exists" : "{newName} はすでに存在します", "Could not rename \"{fileName}\", it does not exist any more" : "ファイルが存在しないため,\"{fileName}\"の名前変更ができませんでした", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{targetName}\" はフォルダー \"{dir}\" ですでに使われています。別の名前を選択してください。", diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json index 28a44eec498..449d6dcc5fa 100644 --- a/apps/files/l10n/ja.json +++ b/apps/files/l10n/ja.json @@ -34,6 +34,7 @@ "Move" : "移動", "Copy" : "コピー", "Choose target folder" : "ターゲットフォルダーを選択", + "Edit locally" : "ローカルで編集", "Open" : "開く", "Delete file" : "ファイルを削除", "Delete folder" : "フォルダーを削除", @@ -57,6 +58,7 @@ "Could not copy \"{file}\"" : "\"{file}\"をコピーできませんでした", "Copied {origin} inside {destination}" : "コピー先{origin} {destination}内", "Copied {origin} and {nbfiles} other files inside {destination}" : "コピー先{origin}と{nbfiles}他のファイル{destination}", + "Failed to redirect to client" : "クライアントへリダイレクトできませんでした", "{newName} already exists" : "{newName} はすでに存在します", "Could not rename \"{fileName}\", it does not exist any more" : "ファイルが存在しないため,\"{fileName}\"の名前変更ができませんでした", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{targetName}\" はフォルダー \"{dir}\" ですでに使われています。別の名前を選択してください。", diff --git a/apps/files/l10n/lv.js b/apps/files/l10n/lv.js index ca2d2815241..882c1735159 100644 --- a/apps/files/l10n/lv.js +++ b/apps/files/l10n/lv.js @@ -9,6 +9,8 @@ OC.L10N.register( "Download" : "Lejupielādēt", "Delete" : "Dzēst", "Tags" : "Birkas", + "Show list view" : "Rādīt saraksta skatu", + "Show grid view" : "Rādīt režģa skatu", "Home" : "Mājas", "Close" : "Aizvērt", "Favorites" : "Iecienītie", @@ -113,6 +115,7 @@ OC.L10N.register( "Create" : "Izveidot", "%s used" : "%s izmantoti", "%1$s of %2$s used" : "%1$s no %2$s lietoti", + "Files settings" : "Failu iestatījumi", "Show hidden files" : "Rādīt slēptās datnes", "Crop image previews" : "Apgriezt attēlu priekšskatījumus", "WebDAV" : "WebDAV", diff --git a/apps/files/l10n/lv.json b/apps/files/l10n/lv.json index 9d50d79cb23..72293c0c29b 100644 --- a/apps/files/l10n/lv.json +++ b/apps/files/l10n/lv.json @@ -7,6 +7,8 @@ "Download" : "Lejupielādēt", "Delete" : "Dzēst", "Tags" : "Birkas", + "Show list view" : "Rādīt saraksta skatu", + "Show grid view" : "Rādīt režģa skatu", "Home" : "Mājas", "Close" : "Aizvērt", "Favorites" : "Iecienītie", @@ -111,6 +113,7 @@ "Create" : "Izveidot", "%s used" : "%s izmantoti", "%1$s of %2$s used" : "%1$s no %2$s lietoti", + "Files settings" : "Failu iestatījumi", "Show hidden files" : "Rādīt slēptās datnes", "Crop image previews" : "Apgriezt attēlu priekšskatījumus", "WebDAV" : "WebDAV", diff --git a/apps/files/l10n/mk.js b/apps/files/l10n/mk.js index bf8e3acabed..bbf7e1830a4 100644 --- a/apps/files/l10n/mk.js +++ b/apps/files/l10n/mk.js @@ -36,6 +36,7 @@ OC.L10N.register( "Move" : "Премести", "Copy" : "Копирај", "Choose target folder" : "Избери папка", + "Edit locally" : "Уреди локално", "Open" : "Отвори", "Delete file" : "Избриши датотека", "Delete folder" : "Избриши папка", @@ -59,6 +60,7 @@ OC.L10N.register( "Could not copy \"{file}\"" : "Не може да се копира \"{file}\"", "Copied {origin} inside {destination}" : "Копирана {origin} во {destination}", "Copied {origin} and {nbfiles} other files inside {destination}" : "Копирана {origin} и {nbfiles} други датотеки во {destination}", + "Failed to redirect to client" : "Неуспешно пренасочување кон клиентот", "{newName} already exists" : "{newName} веќе постои", "Could not rename \"{fileName}\", it does not exist any more" : "Неможе да се преименува \"{fileName}\", датотеката не постои", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{targetName}\" веќе се користи во папката \"{dir}\". Ве молиме изберете друго име.", @@ -81,6 +83,7 @@ OC.L10N.register( "_Uploading %n file_::_Uploading %n files_" : ["Прикачување %n датотека","Прикачување на %n датотеки"], "New file/folder menu" : "Мени Нова датотека/папка", "Select file range" : "Избери опсег на датотеки", + "{used}%" : "{used}%", "{used} of {quota} used" : "Искористени {used} од {quota}", "{used} used" : "Искористени {used}", "\"{name}\" is an invalid file name." : "\"{name}\" е невалидно име за датотека.", @@ -190,6 +193,7 @@ OC.L10N.register( "Templates" : "Шаблони", "Unable to initialize the templates directory" : "Не може да се иницијализира папка за шаблони", "%s used" : "Искористено %s", + "%s%%" : "%s%%", "%1$s of %2$s used" : "Искористено %1$s од %2$s", "Files settings" : "Параметри за датотеки", "Show hidden files" : "Прикажи сокриени датотеки", diff --git a/apps/files/l10n/mk.json b/apps/files/l10n/mk.json index 5e1daf98594..d617748c211 100644 --- a/apps/files/l10n/mk.json +++ b/apps/files/l10n/mk.json @@ -34,6 +34,7 @@ "Move" : "Премести", "Copy" : "Копирај", "Choose target folder" : "Избери папка", + "Edit locally" : "Уреди локално", "Open" : "Отвори", "Delete file" : "Избриши датотека", "Delete folder" : "Избриши папка", @@ -57,6 +58,7 @@ "Could not copy \"{file}\"" : "Не може да се копира \"{file}\"", "Copied {origin} inside {destination}" : "Копирана {origin} во {destination}", "Copied {origin} and {nbfiles} other files inside {destination}" : "Копирана {origin} и {nbfiles} други датотеки во {destination}", + "Failed to redirect to client" : "Неуспешно пренасочување кон клиентот", "{newName} already exists" : "{newName} веќе постои", "Could not rename \"{fileName}\", it does not exist any more" : "Неможе да се преименува \"{fileName}\", датотеката не постои", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{targetName}\" веќе се користи во папката \"{dir}\". Ве молиме изберете друго име.", @@ -79,6 +81,7 @@ "_Uploading %n file_::_Uploading %n files_" : ["Прикачување %n датотека","Прикачување на %n датотеки"], "New file/folder menu" : "Мени Нова датотека/папка", "Select file range" : "Избери опсег на датотеки", + "{used}%" : "{used}%", "{used} of {quota} used" : "Искористени {used} од {quota}", "{used} used" : "Искористени {used}", "\"{name}\" is an invalid file name." : "\"{name}\" е невалидно име за датотека.", @@ -188,6 +191,7 @@ "Templates" : "Шаблони", "Unable to initialize the templates directory" : "Не може да се иницијализира папка за шаблони", "%s used" : "Искористено %s", + "%s%%" : "%s%%", "%1$s of %2$s used" : "Искористено %1$s од %2$s", "Files settings" : "Параметри за датотеки", "Show hidden files" : "Прикажи сокриени датотеки", diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js index 0d195cdd9d8..b68036ad55b 100644 --- a/apps/files/l10n/nl.js +++ b/apps/files/l10n/nl.js @@ -9,6 +9,8 @@ OC.L10N.register( "Download" : "Downloaden", "Delete" : "Verwijderen", "Tags" : "Tags", + "Show list view" : "Toon lijstweergave", + "Show grid view" : "Toon roosterweergave", "Home" : "Thuis", "Close" : "Sluiten", "Favorites" : "Favorieten", @@ -22,6 +24,7 @@ OC.L10N.register( "Target folder \"{dir}\" does not exist any more" : "Doelmap \"{dir}\" bestaat niet meer", "Not enough free space" : "Onvoldoende vrije ruimte", "An unknown error has occurred" : "Er trad een onbekende fout op.", + "File could not be uploaded" : "Bestand kon niet geüpload worden", "Uploading …" : "Uploaden …", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} van {totalSize} ({bitrate})", "Uploading that item is not supported" : "Uploaden van dat object is niet ondersteund", @@ -43,6 +46,8 @@ OC.L10N.register( "Details" : "Details", "Please select tag(s) to add to the selection" : "Selecteer alsjeblieft tag(s) om aan de selectie toe te voegen", "Apply tag(s) to selection" : "Pas tag(s) toe voor selectie", + "Select directory \"{dirName}\"" : "Kies map \"{dirName}\"", + "Select file \"{fileName}\"" : "Kies bestand \"{fileName}\"", "Pending" : "In behandeling", "Unable to determine date" : "Kon datum niet vaststellen", "This operation is forbidden" : "Deze taak is verboden", @@ -72,8 +77,10 @@ OC.L10N.register( "_%n file_::_%n files_" : ["%n bestand","%n bestanden"], "{dirs} and {files}" : "{dirs} en {files}", "_including %n hidden_::_including %n hidden_" : ["inclusief %n verborgen","inclusief %n verborgen"], + "You do not have permission to upload or create files here" : "Je hebt geen toestemming om hier te uploaden of bestanden aan te maken", "_Uploading %n file_::_Uploading %n files_" : ["%n bestand aan het uploaden","%n bestanden aan het uploaden"], "Select file range" : "Kies een reeks bestanden", + "{used}%" : "{used}%", "{used} of {quota} used" : "{used} van {quota} gebruikt", "{used} used" : "{used} gebruikt", "\"{name}\" is an invalid file name." : "\"{name}\" is een ongeldige bestandsnaam.", @@ -169,6 +176,7 @@ OC.L10N.register( "Transfer {path} to {userid}" : "Draag {path} over aan {userid}", "Invalid path selected" : "Ongeldig pad geselecteerd", "Ownership transfer request sent" : "Aanvraag eigendomsoverdracht verstuurd", + "Cannot transfer ownership of a file or folder you do not own" : "Kan de eigendom van een bestand of map waarvan u niet de eigenaar bent, niet overdragen", "Unable to change the favourite state of the file" : "Niet mogelijk om favoriet status van het bestand te wijzigen", "Error while loading the file data" : "Fout bij het lezen van de bestandsgegevens", "Pick a template for {name}" : "Kies een sjabloon voor {name}", @@ -182,6 +190,7 @@ OC.L10N.register( "Templates" : "Sjablonen", "Unable to initialize the templates directory" : "Kon de sjablonenmap niet instellen", "%s used" : "%s gebruikt", + "%s%%" : "%s%%", "%1$s of %2$s used" : "%1$s van %2$s gebruikt", "Show hidden files" : "Toon verborgen bestanden", "Crop image previews" : "Snij afbeeldingvoorbeelden bij", diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json index 202f27dab20..55296d113e7 100644 --- a/apps/files/l10n/nl.json +++ b/apps/files/l10n/nl.json @@ -7,6 +7,8 @@ "Download" : "Downloaden", "Delete" : "Verwijderen", "Tags" : "Tags", + "Show list view" : "Toon lijstweergave", + "Show grid view" : "Toon roosterweergave", "Home" : "Thuis", "Close" : "Sluiten", "Favorites" : "Favorieten", @@ -20,6 +22,7 @@ "Target folder \"{dir}\" does not exist any more" : "Doelmap \"{dir}\" bestaat niet meer", "Not enough free space" : "Onvoldoende vrije ruimte", "An unknown error has occurred" : "Er trad een onbekende fout op.", + "File could not be uploaded" : "Bestand kon niet geüpload worden", "Uploading …" : "Uploaden …", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} van {totalSize} ({bitrate})", "Uploading that item is not supported" : "Uploaden van dat object is niet ondersteund", @@ -41,6 +44,8 @@ "Details" : "Details", "Please select tag(s) to add to the selection" : "Selecteer alsjeblieft tag(s) om aan de selectie toe te voegen", "Apply tag(s) to selection" : "Pas tag(s) toe voor selectie", + "Select directory \"{dirName}\"" : "Kies map \"{dirName}\"", + "Select file \"{fileName}\"" : "Kies bestand \"{fileName}\"", "Pending" : "In behandeling", "Unable to determine date" : "Kon datum niet vaststellen", "This operation is forbidden" : "Deze taak is verboden", @@ -70,8 +75,10 @@ "_%n file_::_%n files_" : ["%n bestand","%n bestanden"], "{dirs} and {files}" : "{dirs} en {files}", "_including %n hidden_::_including %n hidden_" : ["inclusief %n verborgen","inclusief %n verborgen"], + "You do not have permission to upload or create files here" : "Je hebt geen toestemming om hier te uploaden of bestanden aan te maken", "_Uploading %n file_::_Uploading %n files_" : ["%n bestand aan het uploaden","%n bestanden aan het uploaden"], "Select file range" : "Kies een reeks bestanden", + "{used}%" : "{used}%", "{used} of {quota} used" : "{used} van {quota} gebruikt", "{used} used" : "{used} gebruikt", "\"{name}\" is an invalid file name." : "\"{name}\" is een ongeldige bestandsnaam.", @@ -167,6 +174,7 @@ "Transfer {path} to {userid}" : "Draag {path} over aan {userid}", "Invalid path selected" : "Ongeldig pad geselecteerd", "Ownership transfer request sent" : "Aanvraag eigendomsoverdracht verstuurd", + "Cannot transfer ownership of a file or folder you do not own" : "Kan de eigendom van een bestand of map waarvan u niet de eigenaar bent, niet overdragen", "Unable to change the favourite state of the file" : "Niet mogelijk om favoriet status van het bestand te wijzigen", "Error while loading the file data" : "Fout bij het lezen van de bestandsgegevens", "Pick a template for {name}" : "Kies een sjabloon voor {name}", @@ -180,6 +188,7 @@ "Templates" : "Sjablonen", "Unable to initialize the templates directory" : "Kon de sjablonenmap niet instellen", "%s used" : "%s gebruikt", + "%s%%" : "%s%%", "%1$s of %2$s used" : "%1$s van %2$s gebruikt", "Show hidden files" : "Toon verborgen bestanden", "Crop image previews" : "Snij afbeeldingvoorbeelden bij", diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js index cc36a02a49e..0dd563d6bba 100644 --- a/apps/files/l10n/pt_BR.js +++ b/apps/files/l10n/pt_BR.js @@ -212,7 +212,7 @@ OC.L10N.register( "Files and folders you mark as favorite will show up here" : "Suas pastas e arquivos favoritos serão exibidos aqui.", "Deleted files" : "Arquivos apagados", "Shares" : "Compartilhamentos", - "Shared with others" : "Compartilhado com outros", + "Shared with others" : "Compartilhado com os outros", "Shared with you" : "Compartilhado com você", "Shared by link" : "Compartilhado via link", "Deleted shares" : "Compartilhamentos apagados", diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json index d3b682683ff..00a7727bbd9 100644 --- a/apps/files/l10n/pt_BR.json +++ b/apps/files/l10n/pt_BR.json @@ -210,7 +210,7 @@ "Files and folders you mark as favorite will show up here" : "Suas pastas e arquivos favoritos serão exibidos aqui.", "Deleted files" : "Arquivos apagados", "Shares" : "Compartilhamentos", - "Shared with others" : "Compartilhado com outros", + "Shared with others" : "Compartilhado com os outros", "Shared with you" : "Compartilhado com você", "Shared by link" : "Compartilhado via link", "Deleted shares" : "Compartilhamentos apagados", diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js index d85f7d9a586..b46528c7de1 100644 --- a/apps/files/l10n/ru.js +++ b/apps/files/l10n/ru.js @@ -36,6 +36,7 @@ OC.L10N.register( "Move" : "Переместить", "Copy" : "Копировать", "Choose target folder" : "Выбор папки назначения", + "Edit locally" : "Редактировать локально", "Open" : "Открыть", "Delete file" : "Удалить файл", "Delete folder" : "Удалить каталог", @@ -59,6 +60,7 @@ OC.L10N.register( "Could not copy \"{file}\"" : "Невозможно скопировать файл «{file}»", "Copied {origin} inside {destination}" : "{origin} скопирован в {destination}", "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} и {nbfiles} других файлов скопированы в {destination}", + "Failed to redirect to client" : "Ошибка перенаправления в клиент", "{newName} already exists" : "«{newName}» уже существует", "Could not rename \"{fileName}\", it does not exist any more" : "Невозможно переименовать «{fileName}», файл больше не существует", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Имя «{targetName}» уже используется в каталоге «{dir}». Выберите другое имя.", @@ -79,7 +81,9 @@ OC.L10N.register( "_including %n hidden_::_including %n hidden_" : ["включая %n скрытый","включая %n скрытых","включая %n скрытых","включая %n скрытых"], "You do not have permission to upload or create files here" : "У вас нет разрешения на загрузку или создание файлов здесь", "_Uploading %n file_::_Uploading %n files_" : ["Передача %n файла","Передача %n файлов","Передача %n файлов","Передача %n файлов"], + "New file/folder menu" : "Меню создания файла или папки", "Select file range" : "Выбор диапазона файлов", + "{used}%" : "{used}%", "{used} of {quota} used" : "использовано {used} из {quota}", "{used} used" : "Использовано {used}", "\"{name}\" is an invalid file name." : "«{name}» — недопустимое имя файла.", @@ -189,7 +193,9 @@ OC.L10N.register( "Templates" : "Шаблоны", "Unable to initialize the templates directory" : "Не удалось инициализировать каталог шаблонов", "%s used" : "%s использовано", + "%s%%" : "%s%%", "%1$s of %2$s used" : "использовано %1$s из %2$s ", + "Files settings" : "Настройки файлов", "Show hidden files" : "Показывать скрытые файлы", "Crop image previews" : "Обрезать пред. просмотр", "WebDAV" : "WebDAV", diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json index 14aad04e6bb..99b734ce8c4 100644 --- a/apps/files/l10n/ru.json +++ b/apps/files/l10n/ru.json @@ -34,6 +34,7 @@ "Move" : "Переместить", "Copy" : "Копировать", "Choose target folder" : "Выбор папки назначения", + "Edit locally" : "Редактировать локально", "Open" : "Открыть", "Delete file" : "Удалить файл", "Delete folder" : "Удалить каталог", @@ -57,6 +58,7 @@ "Could not copy \"{file}\"" : "Невозможно скопировать файл «{file}»", "Copied {origin} inside {destination}" : "{origin} скопирован в {destination}", "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} и {nbfiles} других файлов скопированы в {destination}", + "Failed to redirect to client" : "Ошибка перенаправления в клиент", "{newName} already exists" : "«{newName}» уже существует", "Could not rename \"{fileName}\", it does not exist any more" : "Невозможно переименовать «{fileName}», файл больше не существует", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Имя «{targetName}» уже используется в каталоге «{dir}». Выберите другое имя.", @@ -77,7 +79,9 @@ "_including %n hidden_::_including %n hidden_" : ["включая %n скрытый","включая %n скрытых","включая %n скрытых","включая %n скрытых"], "You do not have permission to upload or create files here" : "У вас нет разрешения на загрузку или создание файлов здесь", "_Uploading %n file_::_Uploading %n files_" : ["Передача %n файла","Передача %n файлов","Передача %n файлов","Передача %n файлов"], + "New file/folder menu" : "Меню создания файла или папки", "Select file range" : "Выбор диапазона файлов", + "{used}%" : "{used}%", "{used} of {quota} used" : "использовано {used} из {quota}", "{used} used" : "Использовано {used}", "\"{name}\" is an invalid file name." : "«{name}» — недопустимое имя файла.", @@ -187,7 +191,9 @@ "Templates" : "Шаблоны", "Unable to initialize the templates directory" : "Не удалось инициализировать каталог шаблонов", "%s used" : "%s использовано", + "%s%%" : "%s%%", "%1$s of %2$s used" : "использовано %1$s из %2$s ", + "Files settings" : "Настройки файлов", "Show hidden files" : "Показывать скрытые файлы", "Crop image previews" : "Обрезать пред. просмотр", "WebDAV" : "WebDAV", diff --git a/apps/files/l10n/uk.js b/apps/files/l10n/uk.js index d439702cdb8..1193ec96b15 100644 --- a/apps/files/l10n/uk.js +++ b/apps/files/l10n/uk.js @@ -60,6 +60,7 @@ OC.L10N.register( "Could not copy \"{file}\"" : "Неможливо скопіювати \"{file}\"", "Copied {origin} inside {destination}" : "Скопійовано {origin} до {destination}", "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} та {nbfiles} інших файлів скопійовано до {destination}", + "Failed to redirect to client" : "Не вдалося перенаправити на клієнта", "{newName} already exists" : "{newName} вже існує", "Could not rename \"{fileName}\", it does not exist any more" : "Неможливо перейменувати \"{fileName}\", оскільки такий файл більше не існує", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Ім'я \"{targetName}\" вже використовується у каталозі \"{dir}\". Будь-ласка, виберіть іншу назву.", @@ -194,7 +195,7 @@ OC.L10N.register( "%s used" : "%s використано", "%s%%" : "%s%%", "%1$s of %2$s used" : "Використано %1$s із %2$s", - "Files settings" : "Налаштування файлів", + "Files settings" : "Налаштування", "Show hidden files" : "Показувати приховані файли", "Crop image previews" : "Кадрування попереднього перегляду зображень", "WebDAV" : "WebDAV", @@ -203,7 +204,7 @@ OC.L10N.register( "Toggle grid view" : "Перемкнути подання сіткою", "No files in here" : "Тут немає файлів", "Upload some content or sync with your devices!" : "Завантажте вміст або синхронізуйтеся з вашими пристроями!", - "No entries found in this folder" : "В цьому каталозі нічого немає", + "No entries found in this folder" : "В цьому каталозі нічого не знайдено", "Select all" : "Вибрати все", "Upload too large" : "Файл занадто великий", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файли, які ви намагаєтеся завантажити, перевищують максимально дозволений розмір завантаження файлів на сервер.", diff --git a/apps/files/l10n/uk.json b/apps/files/l10n/uk.json index 4e085faecd9..8d2ff9e5531 100644 --- a/apps/files/l10n/uk.json +++ b/apps/files/l10n/uk.json @@ -58,6 +58,7 @@ "Could not copy \"{file}\"" : "Неможливо скопіювати \"{file}\"", "Copied {origin} inside {destination}" : "Скопійовано {origin} до {destination}", "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} та {nbfiles} інших файлів скопійовано до {destination}", + "Failed to redirect to client" : "Не вдалося перенаправити на клієнта", "{newName} already exists" : "{newName} вже існує", "Could not rename \"{fileName}\", it does not exist any more" : "Неможливо перейменувати \"{fileName}\", оскільки такий файл більше не існує", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Ім'я \"{targetName}\" вже використовується у каталозі \"{dir}\". Будь-ласка, виберіть іншу назву.", @@ -192,7 +193,7 @@ "%s used" : "%s використано", "%s%%" : "%s%%", "%1$s of %2$s used" : "Використано %1$s із %2$s", - "Files settings" : "Налаштування файлів", + "Files settings" : "Налаштування", "Show hidden files" : "Показувати приховані файли", "Crop image previews" : "Кадрування попереднього перегляду зображень", "WebDAV" : "WebDAV", @@ -201,7 +202,7 @@ "Toggle grid view" : "Перемкнути подання сіткою", "No files in here" : "Тут немає файлів", "Upload some content or sync with your devices!" : "Завантажте вміст або синхронізуйтеся з вашими пристроями!", - "No entries found in this folder" : "В цьому каталозі нічого немає", + "No entries found in this folder" : "В цьому каталозі нічого не знайдено", "Select all" : "Вибрати все", "Upload too large" : "Файл занадто великий", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файли, які ви намагаєтеся завантажити, перевищують максимально дозволений розмір завантаження файлів на сервер.", diff --git a/apps/files/src/components/SidebarTab.vue b/apps/files/src/components/SidebarTab.vue index c0f5a7d4416..ac3cfba7d02 100644 --- a/apps/files/src/components/SidebarTab.vue +++ b/apps/files/src/components/SidebarTab.vue @@ -26,6 +26,9 @@ :name="name" :icon="icon" @bottomReached="onScrollBottomReached"> + <template #icon> + <slot name="icon" /> + </template> <!-- Fallback loading --> <NcEmptyContent v-if="loading" icon="icon-loading" /> @@ -63,7 +66,7 @@ export default { }, icon: { type: String, - required: true, + required: false, }, /** diff --git a/apps/files/src/models/Tab.js b/apps/files/src/models/Tab.js index 4c41ec5a3b1..63d1ad97ff6 100644 --- a/apps/files/src/models/Tab.js +++ b/apps/files/src/models/Tab.js @@ -19,12 +19,14 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ +import { sanitizeSVG } from '@skjnldsv/sanitize-svg' export default class Tab { _id _name _icon + _iconSvgSanitized _mount _update _destroy @@ -37,19 +39,20 @@ export default class Tab { * @param {object} options destructuring object * @param {string} options.id the unique id of this tab * @param {string} options.name the translated tab name - * @param {string} options.icon the vue component + * @param {?string} options.icon the icon css class + * @param {?string} options.iconSvg the icon in svg format * @param {Function} options.mount function to mount the tab * @param {Function} options.update function to update the tab * @param {Function} options.destroy function to destroy the tab * @param {Function} [options.enabled] define conditions whether this tab is active. Must returns a boolean * @param {Function} [options.scrollBottomReached] executed when the tab is scrolled to the bottom */ - constructor({ id, name, icon, mount, update, destroy, enabled, scrollBottomReached } = {}) { + constructor({ id, name, icon, iconSvg, mount, update, destroy, enabled, scrollBottomReached } = {}) { if (enabled === undefined) { enabled = () => true } if (scrollBottomReached === undefined) { - scrollBottomReached = () => {} + scrollBottomReached = () => { } } // Sanity checks @@ -59,8 +62,8 @@ export default class Tab { if (typeof name !== 'string' || name.trim() === '') { throw new Error('The name argument is not a valid string') } - if (typeof icon !== 'string' || icon.trim() === '') { - throw new Error('The icon argument is not a valid string') + if ((typeof icon !== 'string' || icon.trim() === '') && typeof iconSvg !== 'string') { + throw new Error('Missing valid string for icon or iconSvg argument') } if (typeof mount !== 'function') { throw new Error('The mount argument should be a function') @@ -87,6 +90,13 @@ export default class Tab { this._enabled = enabled this._scrollBottomReached = scrollBottomReached + if (typeof iconSvg === 'string') { + sanitizeSVG(iconSvg) + .then(sanitizedSvg => { + this._iconSvgSanitized = sanitizedSvg + }) + } + } get id() { @@ -101,6 +111,10 @@ export default class Tab { return this._icon } + get iconSvg() { + return this._iconSvgSanitized + } + get mount() { return this._mount } diff --git a/apps/files/src/views/Sidebar.vue b/apps/files/src/views/Sidebar.vue index d4bf8cfde40..4c29da59708 100644 --- a/apps/files/src/views/Sidebar.vue +++ b/apps/files/src/views/Sidebar.vue @@ -72,7 +72,12 @@ :on-update="tab.update" :on-destroy="tab.destroy" :on-scroll-bottom-reached="tab.scrollBottomReached" - :file-info="fileInfo" /> + :file-info="fileInfo"> + <template v-if="tab.iconSvg !== undefined" #icon> + <!-- eslint-disable-next-line vue/no-v-html --> + <span class="svg-icon" v-html="tab.iconSvg" /> + </template> + </SidebarTab> </template> </NcAppSidebar> </template> @@ -508,5 +513,13 @@ export default { top: 0 !important; height: 100% !important; } + + .svg-icon { + ::v-deep svg { + width: 20px; + height: 20px; + fill: currentColor; + } + } } </style> diff --git a/apps/files_external/css/settings.css b/apps/files_external/css/settings.css index 778e2292932..6b4b0d9bf47 100644 --- a/apps/files_external/css/settings.css +++ b/apps/files_external/css/settings.css @@ -13,6 +13,10 @@ width: 100%; } +#externalStorage .popovermenu li > .menuitem { + width: fit-content !important; +} + #externalStorage td.status { /* overwrite conflicting core styles */ display: table-cell; diff --git a/apps/files_external/css/settings.css.map b/apps/files_external/css/settings.css.map index b767a2be016..442480cd41a 100644 --- a/apps/files_external/css/settings.css.map +++ b/apps/files_external/css/settings.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["settings.scss"],"names":[],"mappings":"AAAA;EACC;;;AAGD;EACC;;AAEA;EACC;;;AAKD;EACC;;;AAIF;AACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGA;EACC;EACA;;;AAGF;EAA0B;EAAiB;;;AAC3C;EAAgC;EAAiB;EAAgB;;;AACjE;EAAoB;;;AACpB;EAA+B;;;AAC/B;EAA2B;;;AAE3B;EACC;;AACA;EAGC;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EACC;;;AAMJ;EACC;EACA;;;AAGD;AAAA;EAEC;;;AAED;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAID;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;AACA;EACC;EACA;EACA;EACA;;;AAIF;EACC;;;AAGD;EACC","file":"settings.css"}
\ No newline at end of file +{"version":3,"sourceRoot":"","sources":["settings.scss"],"names":[],"mappings":"AAAA;EACC;;;AAGD;EACC;;AAEA;EACC;;;AAKD;EACC;;;AAIF;EACI;;;AAGJ;AACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGA;EACC;EACA;;;AAGF;EAA0B;EAAiB;;;AAC3C;EAAgC;EAAiB;EAAgB;;;AACjE;EAAoB;;;AACpB;EAA+B;;;AAC/B;EAA2B;;;AAE3B;EACC;;AACA;EAGC;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EACC;;;AAMJ;EACC;EACA;;;AAGD;AAAA;EAEC;;;AAED;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAID;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;AACA;EACC;EACA;EACA;EACA;;;AAIF;EACC;;;AAGD;EACC","file":"settings.css"}
\ No newline at end of file diff --git a/apps/files_external/css/settings.scss b/apps/files_external/css/settings.scss index ce30aa556c7..7485faa4c92 100644 --- a/apps/files_external/css/settings.scss +++ b/apps/files_external/css/settings.scss @@ -16,6 +16,10 @@ } } +#externalStorage .popovermenu li > .menuitem { + width: fit-content !important; +} + #externalStorage td.status { /* overwrite conflicting core styles */ display: table-cell; diff --git a/apps/files_external/l10n/ca.js b/apps/files_external/l10n/ca.js index e93f3b6b085..84aebe1348c 100644 --- a/apps/files_external/l10n/ca.js +++ b/apps/files_external/l10n/ca.js @@ -13,9 +13,9 @@ OC.L10N.register( "All users. Type to select user or group." : "Tots els usuaris. Escriviu per seleccionar un usuari o grup.", "(Group)" : "(Grup)", "Compatibility with Mac NFD encoding (slow)" : "Compatibilitat amb la codificació de Mac NFD (lent)", - "Enable encryption" : "Activa l'encriptació", - "Enable previews" : "Active les vistes prèvies", - "Enable sharing" : "Activa la compartició", + "Enable encryption" : "Habilita el xifratge", + "Enable previews" : "Habilita les vistes prèvies", + "Enable sharing" : "Habilita la compartició", "Check for changes" : "Comprova si hi ha canvis", "Never" : "Mai", "Once every direct access" : "Un cop cada accés directe", @@ -23,7 +23,7 @@ OC.L10N.register( "Disconnect" : "Desconnecta", "Admin defined" : "Administrador definit", "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "La comprovació automàtica de l'estat està inhabilitada a causa del gran nombre d'emmagatzematges configurats, feu clic per comprovar l'estat", - "Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "Segur que voleu desconnectar aquest mitjà extern? Això farà que l'emmagatzematge no es trobi disponible a Nextcloud i provocarà l'eliminació d'aquests fitxers i carpetes en qualsevol client que s'hi sincronitze, però no eliminarà cap fitxer ni carpeta en el mitjà d'emmagatzematge extern.", + "Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "Segur que voleu desconnectar aquest mitjà extern? Això farà que l'emmagatzematge no es trobi disponible a Nextcloud i provocarà l'eliminació d'aquests fitxers i carpetes en qualsevol client que s'hi sincronitze, però no eliminarà cap fitxer ni carpeta en el mitjà d'emmagatzematge extern.", "Delete storage?" : "Suprimeix-ho l'emmagatzematge?", "Saved" : "Desat", "Saving …" : "S'està desant ...", @@ -42,7 +42,7 @@ OC.L10N.register( "Credentials saved" : "Credencials desades", "Credentials saving failed" : "Error en desar les credencials", "Credentials required" : "Es necessiten credencials", - "Forbidden to manage local mounts" : "No es permès gestionar volums locals", + "Forbidden to manage local mounts" : "Prohibit gestionar volums locals", "Storage with ID \"%d\" not found" : "No s’ha trobat l’emmagatzematge amb ID \"%d\"", "Invalid backend or authentication mechanism class" : "Classe de mecanisme d'autenticació o rerefons no vàlids", "Invalid mount point" : "Punt de muntatge no vàlid", @@ -61,7 +61,7 @@ OC.L10N.register( "None" : "Cap", "OAuth1" : "OAuth1", "App key" : "Clau de l'aplicació", - "App secret" : "Secret de l'aplicació", + "App secret" : "Secret d'aplicació", "OAuth2" : "OAuth2", "Client ID" : "Client ID", "Client secret" : "Secret del client", @@ -90,8 +90,8 @@ OC.L10N.register( "Hostname" : "Nom del servidor", "Port" : "Port", "Region" : "Regió", - "Enable SSL" : "Activa SSL", - "Enable Path Style" : "Activa l'estil del camí", + "Enable SSL" : "Habilita SSL", + "Enable Path Style" : "Habilita l'estil del camí", "Legacy (v2) authentication" : "Autenticació heretada (v2)", "WebDAV" : "WebDAV", "URL" : "URL", @@ -116,7 +116,7 @@ OC.L10N.register( "Username as share" : "Nom d'usuari amb que es comparteix", "OpenStack Object Storage" : "OpenStack Object Storage", "Service name" : "Nom del servei", - "Request timeout (seconds)" : "Temps d'espera de petició (segons)", + "Request timeout (seconds)" : "Temps d'espera de sol·licitud (segons)", "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "El suport de cURL a PHP no està activat o instal·lat. El muntatge de %s no és possible. Si us plau, demaneu a l'administrador del sistema que l'instal·li.", "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "El suport d'FTP a PHP no està activat o instal·lat. El muntatge de %s no és possible. Si us plau, demaneu a l'administrador del sistema que l'instal·li.", "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" no està instal·lat. El muntatge de %2$s no és possible. Si us plau, demaneu a l'administrador del sistema que l'instal·li.", diff --git a/apps/files_external/l10n/ca.json b/apps/files_external/l10n/ca.json index 07c3d96cc19..d8d6502cc71 100644 --- a/apps/files_external/l10n/ca.json +++ b/apps/files_external/l10n/ca.json @@ -11,9 +11,9 @@ "All users. Type to select user or group." : "Tots els usuaris. Escriviu per seleccionar un usuari o grup.", "(Group)" : "(Grup)", "Compatibility with Mac NFD encoding (slow)" : "Compatibilitat amb la codificació de Mac NFD (lent)", - "Enable encryption" : "Activa l'encriptació", - "Enable previews" : "Active les vistes prèvies", - "Enable sharing" : "Activa la compartició", + "Enable encryption" : "Habilita el xifratge", + "Enable previews" : "Habilita les vistes prèvies", + "Enable sharing" : "Habilita la compartició", "Check for changes" : "Comprova si hi ha canvis", "Never" : "Mai", "Once every direct access" : "Un cop cada accés directe", @@ -21,7 +21,7 @@ "Disconnect" : "Desconnecta", "Admin defined" : "Administrador definit", "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "La comprovació automàtica de l'estat està inhabilitada a causa del gran nombre d'emmagatzematges configurats, feu clic per comprovar l'estat", - "Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "Segur que voleu desconnectar aquest mitjà extern? Això farà que l'emmagatzematge no es trobi disponible a Nextcloud i provocarà l'eliminació d'aquests fitxers i carpetes en qualsevol client que s'hi sincronitze, però no eliminarà cap fitxer ni carpeta en el mitjà d'emmagatzematge extern.", + "Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "Segur que voleu desconnectar aquest mitjà extern? Això farà que l'emmagatzematge no es trobi disponible a Nextcloud i provocarà l'eliminació d'aquests fitxers i carpetes en qualsevol client que s'hi sincronitze, però no eliminarà cap fitxer ni carpeta en el mitjà d'emmagatzematge extern.", "Delete storage?" : "Suprimeix-ho l'emmagatzematge?", "Saved" : "Desat", "Saving …" : "S'està desant ...", @@ -40,7 +40,7 @@ "Credentials saved" : "Credencials desades", "Credentials saving failed" : "Error en desar les credencials", "Credentials required" : "Es necessiten credencials", - "Forbidden to manage local mounts" : "No es permès gestionar volums locals", + "Forbidden to manage local mounts" : "Prohibit gestionar volums locals", "Storage with ID \"%d\" not found" : "No s’ha trobat l’emmagatzematge amb ID \"%d\"", "Invalid backend or authentication mechanism class" : "Classe de mecanisme d'autenticació o rerefons no vàlids", "Invalid mount point" : "Punt de muntatge no vàlid", @@ -59,7 +59,7 @@ "None" : "Cap", "OAuth1" : "OAuth1", "App key" : "Clau de l'aplicació", - "App secret" : "Secret de l'aplicació", + "App secret" : "Secret d'aplicació", "OAuth2" : "OAuth2", "Client ID" : "Client ID", "Client secret" : "Secret del client", @@ -88,8 +88,8 @@ "Hostname" : "Nom del servidor", "Port" : "Port", "Region" : "Regió", - "Enable SSL" : "Activa SSL", - "Enable Path Style" : "Activa l'estil del camí", + "Enable SSL" : "Habilita SSL", + "Enable Path Style" : "Habilita l'estil del camí", "Legacy (v2) authentication" : "Autenticació heretada (v2)", "WebDAV" : "WebDAV", "URL" : "URL", @@ -114,7 +114,7 @@ "Username as share" : "Nom d'usuari amb que es comparteix", "OpenStack Object Storage" : "OpenStack Object Storage", "Service name" : "Nom del servei", - "Request timeout (seconds)" : "Temps d'espera de petició (segons)", + "Request timeout (seconds)" : "Temps d'espera de sol·licitud (segons)", "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "El suport de cURL a PHP no està activat o instal·lat. El muntatge de %s no és possible. Si us plau, demaneu a l'administrador del sistema que l'instal·li.", "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "El suport d'FTP a PHP no està activat o instal·lat. El muntatge de %s no és possible. Si us plau, demaneu a l'administrador del sistema que l'instal·li.", "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" no està instal·lat. El muntatge de %2$s no és possible. Si us plau, demaneu a l'administrador del sistema que l'instal·li.", diff --git a/apps/files_external/l10n/en_GB.js b/apps/files_external/l10n/en_GB.js index 5d1d25721b8..59df79e7c7f 100644 --- a/apps/files_external/l10n/en_GB.js +++ b/apps/files_external/l10n/en_GB.js @@ -11,6 +11,7 @@ OC.L10N.register( "Generate keys" : "Generate keys", "Error generating key pair" : "Error generating key pair", "All users. Type to select user or group." : "All users. Type to select user or group.", + "(Group)" : "(Group)", "Compatibility with Mac NFD encoding (slow)" : "Compatibility with Mac NFD encoding (slow)", "Enable encryption" : "Enable encryption", "Enable previews" : "Enable previews", @@ -21,8 +22,11 @@ OC.L10N.register( "Read only" : "Read only", "Disconnect" : "Disconnect", "Admin defined" : "Admin defined", + "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "Automatic status checking is disabled due to the large number of configured storages, click to check status", + "Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself.", "Delete storage?" : "Delete storage?", "Saved" : "Saved", + "Saving …" : "Saving …", "Save" : "Save", "Empty response from the server" : "Empty response from the server", "Couldn't access. Please log out and in again to activate this mount point" : "Couldn't access. Please log out and in again to activate this mount point", @@ -38,6 +42,7 @@ OC.L10N.register( "Credentials saved" : "Credentials saved", "Credentials saving failed" : "Credentials saving failed", "Credentials required" : "Credentials required", + "Forbidden to manage local mounts" : "Forbidden to manage local mounts", "Storage with ID \"%d\" not found" : "Storage with ID \"%d\" not found", "Invalid backend or authentication mechanism class" : "Invalid backend or authentication mechanism class", "Invalid mount point" : "Invalid mount point", @@ -71,11 +76,14 @@ OC.L10N.register( "Log-in credentials, save in database" : "Log-in credentials, save in database", "Username and password" : "Username and password", "Log-in credentials, save in session" : "Log-in credentials, save in session", + "Global credentials, user entered" : "Global credentials, user entered", "User entered, store in database" : "User entered, store in database", "RSA public key" : "RSA public key", "Public key" : "Public key", "RSA private key" : "RSA private key", "Private key" : "Private key", + "Kerberos default realm, defaults to \"WORKGROUP\"" : "Kerberos default realm, defaults to \"WORKGROUP\"", + "Kerberos ticket Apache mode" : "Kerberos ticket Apache mode", "Kerberos ticket" : "Kerberos ticket", "Amazon S3" : "Amazon S3", "Bucket" : "Bucket", @@ -98,14 +106,20 @@ OC.L10N.register( "SFTP" : "SFTP", "Root" : "Root", "SFTP with secret key login" : "SFTP with secret key login", + "SMB/CIFS" : "SMB/CIFS", "Share" : "Share", "Show hidden files" : "Show hidden files", + "Verify ACL access when listing files" : "Verify ACL access when listing files", + "Check the ACL's of each file or folder inside a directory to filter out items where the user has no read permissions, comes with a performance penalty" : "Check the ACL's of each file or folder inside a directory to filter out items where the user has no read permissions, comes with a performance penalty", + "Timeout" : "Timeout", + "SMB/CIFS using OC login" : "SMB/CIFS using OC login", "Username as share" : "Username as share", "OpenStack Object Storage" : "OpenStack Object Storage", "Service name" : "Service name", "Request timeout (seconds)" : "Request timeout (seconds)", "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.", "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.", + "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it.", "External storage support" : "External storage support", "Adds basic external storage support" : "Adds basic external storage support", "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administrators can choose which types of storage to enable and can mount these storage locations for a user, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows users to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the advanced user with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administrators can choose which types of storage to enable and can mount these storage locations for a user, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows users to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the advanced user with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation.", @@ -114,6 +128,7 @@ OC.L10N.register( "Storage type" : "Storage type", "Scope" : "Scope", "Open documentation" : "Open documentation", + "External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow users to mount their own external storage services." : "External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow users to mount their own external storage services.", "Folder name" : "Folder name", "Authentication" : "Authentication", "Configuration" : "Configuration", @@ -122,7 +137,9 @@ OC.L10N.register( "Add storage" : "Add storage", "Advanced settings" : "Advanced settings", "Allow users to mount external storage" : "Allow users to mount external storage", + "Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "Global credentials can be used to authenticate with multiple external storages that have the same credentials.", "Delete" : "Delete", - "Are you sure you want to delete this external storage?" : "Are you sure you want to delete this external storage?" + "Are you sure you want to delete this external storage?" : "Are you sure you want to delete this external storage?", + "Kerberos ticket apache mode" : "Kerberos ticket apache mode" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_external/l10n/en_GB.json b/apps/files_external/l10n/en_GB.json index 51e0a380549..75eb2455b2e 100644 --- a/apps/files_external/l10n/en_GB.json +++ b/apps/files_external/l10n/en_GB.json @@ -9,6 +9,7 @@ "Generate keys" : "Generate keys", "Error generating key pair" : "Error generating key pair", "All users. Type to select user or group." : "All users. Type to select user or group.", + "(Group)" : "(Group)", "Compatibility with Mac NFD encoding (slow)" : "Compatibility with Mac NFD encoding (slow)", "Enable encryption" : "Enable encryption", "Enable previews" : "Enable previews", @@ -19,8 +20,11 @@ "Read only" : "Read only", "Disconnect" : "Disconnect", "Admin defined" : "Admin defined", + "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "Automatic status checking is disabled due to the large number of configured storages, click to check status", + "Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself.", "Delete storage?" : "Delete storage?", "Saved" : "Saved", + "Saving …" : "Saving …", "Save" : "Save", "Empty response from the server" : "Empty response from the server", "Couldn't access. Please log out and in again to activate this mount point" : "Couldn't access. Please log out and in again to activate this mount point", @@ -36,6 +40,7 @@ "Credentials saved" : "Credentials saved", "Credentials saving failed" : "Credentials saving failed", "Credentials required" : "Credentials required", + "Forbidden to manage local mounts" : "Forbidden to manage local mounts", "Storage with ID \"%d\" not found" : "Storage with ID \"%d\" not found", "Invalid backend or authentication mechanism class" : "Invalid backend or authentication mechanism class", "Invalid mount point" : "Invalid mount point", @@ -69,11 +74,14 @@ "Log-in credentials, save in database" : "Log-in credentials, save in database", "Username and password" : "Username and password", "Log-in credentials, save in session" : "Log-in credentials, save in session", + "Global credentials, user entered" : "Global credentials, user entered", "User entered, store in database" : "User entered, store in database", "RSA public key" : "RSA public key", "Public key" : "Public key", "RSA private key" : "RSA private key", "Private key" : "Private key", + "Kerberos default realm, defaults to \"WORKGROUP\"" : "Kerberos default realm, defaults to \"WORKGROUP\"", + "Kerberos ticket Apache mode" : "Kerberos ticket Apache mode", "Kerberos ticket" : "Kerberos ticket", "Amazon S3" : "Amazon S3", "Bucket" : "Bucket", @@ -96,14 +104,20 @@ "SFTP" : "SFTP", "Root" : "Root", "SFTP with secret key login" : "SFTP with secret key login", + "SMB/CIFS" : "SMB/CIFS", "Share" : "Share", "Show hidden files" : "Show hidden files", + "Verify ACL access when listing files" : "Verify ACL access when listing files", + "Check the ACL's of each file or folder inside a directory to filter out items where the user has no read permissions, comes with a performance penalty" : "Check the ACL's of each file or folder inside a directory to filter out items where the user has no read permissions, comes with a performance penalty", + "Timeout" : "Timeout", + "SMB/CIFS using OC login" : "SMB/CIFS using OC login", "Username as share" : "Username as share", "OpenStack Object Storage" : "OpenStack Object Storage", "Service name" : "Service name", "Request timeout (seconds)" : "Request timeout (seconds)", "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.", "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.", + "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it.", "External storage support" : "External storage support", "Adds basic external storage support" : "Adds basic external storage support", "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administrators can choose which types of storage to enable and can mount these storage locations for a user, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows users to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the advanced user with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administrators can choose which types of storage to enable and can mount these storage locations for a user, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows users to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the advanced user with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation.", @@ -112,6 +126,7 @@ "Storage type" : "Storage type", "Scope" : "Scope", "Open documentation" : "Open documentation", + "External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow users to mount their own external storage services." : "External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow users to mount their own external storage services.", "Folder name" : "Folder name", "Authentication" : "Authentication", "Configuration" : "Configuration", @@ -120,7 +135,9 @@ "Add storage" : "Add storage", "Advanced settings" : "Advanced settings", "Allow users to mount external storage" : "Allow users to mount external storage", + "Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "Global credentials can be used to authenticate with multiple external storages that have the same credentials.", "Delete" : "Delete", - "Are you sure you want to delete this external storage?" : "Are you sure you want to delete this external storage?" + "Are you sure you want to delete this external storage?" : "Are you sure you want to delete this external storage?", + "Kerberos ticket apache mode" : "Kerberos ticket apache mode" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js index 4ad6f6f4313..e7032efb6bf 100644 --- a/apps/files_external/l10n/fr.js +++ b/apps/files_external/l10n/fr.js @@ -22,6 +22,8 @@ OC.L10N.register( "Read only" : "Lecture seule", "Disconnect" : "Se déconnecter", "Admin defined" : "Défini par l'administrateur", + "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "La vérification automatique d'état est désactivée à cause du grand nombre de stockages configurés, cliquez pour vérifier l'état", + "Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "Êtes-vous certain de vouloir déconnecter ce stockage externe ? Cela rendra ce stockage indisponible dans Nextcloud et entraînera la suppression de ces fichiers et dossiers sur tous les clients actuellement connectés, mais ne supprimera aucun fichier ni dossier du stockage externe lui-même.", "Delete storage?" : "Supprimer ce support de stockage ?", "Saved" : "Enregistré", "Saving …" : "Enregistrement ...", @@ -80,6 +82,8 @@ OC.L10N.register( "Public key" : "Clé publique", "RSA private key" : "Clé privée RSA", "Private key" : "Clé privée", + "Kerberos default realm, defaults to \"WORKGROUP\"" : "Domaine Kerberos par défault, valeur par défaut \"WORKGROUP\"", + "Kerberos ticket Apache mode" : "Ticket Kerberos, mode Apache", "Kerberos ticket" : "Ticket Kerberos", "Amazon S3" : "Amazon S3", "Bucket" : "Bucket", @@ -135,6 +139,7 @@ OC.L10N.register( "Allow users to mount external storage" : "Autoriser les utilisateurs à monter des espaces de stockage externes", "Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "Les identifiants globaux peuvent être utilisés pour s'authentifier auprès de multiples stockages externes qui ont les mêmes identifiants.", "Delete" : "Supprimer", - "Are you sure you want to delete this external storage?" : "Êtes-vous sûr de vouloir supprimer ce stockage externe ?" + "Are you sure you want to delete this external storage?" : "Êtes-vous sûr de vouloir supprimer ce stockage externe ?", + "Kerberos ticket apache mode" : "Ticket Kerberos, mode Apache" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json index 31b07c0ff46..eae18669333 100644 --- a/apps/files_external/l10n/fr.json +++ b/apps/files_external/l10n/fr.json @@ -20,6 +20,8 @@ "Read only" : "Lecture seule", "Disconnect" : "Se déconnecter", "Admin defined" : "Défini par l'administrateur", + "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "La vérification automatique d'état est désactivée à cause du grand nombre de stockages configurés, cliquez pour vérifier l'état", + "Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "Êtes-vous certain de vouloir déconnecter ce stockage externe ? Cela rendra ce stockage indisponible dans Nextcloud et entraînera la suppression de ces fichiers et dossiers sur tous les clients actuellement connectés, mais ne supprimera aucun fichier ni dossier du stockage externe lui-même.", "Delete storage?" : "Supprimer ce support de stockage ?", "Saved" : "Enregistré", "Saving …" : "Enregistrement ...", @@ -78,6 +80,8 @@ "Public key" : "Clé publique", "RSA private key" : "Clé privée RSA", "Private key" : "Clé privée", + "Kerberos default realm, defaults to \"WORKGROUP\"" : "Domaine Kerberos par défault, valeur par défaut \"WORKGROUP\"", + "Kerberos ticket Apache mode" : "Ticket Kerberos, mode Apache", "Kerberos ticket" : "Ticket Kerberos", "Amazon S3" : "Amazon S3", "Bucket" : "Bucket", @@ -133,6 +137,7 @@ "Allow users to mount external storage" : "Autoriser les utilisateurs à monter des espaces de stockage externes", "Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "Les identifiants globaux peuvent être utilisés pour s'authentifier auprès de multiples stockages externes qui ont les mêmes identifiants.", "Delete" : "Supprimer", - "Are you sure you want to delete this external storage?" : "Êtes-vous sûr de vouloir supprimer ce stockage externe ?" + "Are you sure you want to delete this external storage?" : "Êtes-vous sûr de vouloir supprimer ce stockage externe ?", + "Kerberos ticket apache mode" : "Ticket Kerberos, mode Apache" },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/files_external/lib/Lib/Storage/AmazonS3.php b/apps/files_external/lib/Lib/Storage/AmazonS3.php index 9e91b89d29e..ffa25dba999 100644 --- a/apps/files_external/lib/Lib/Storage/AmazonS3.php +++ b/apps/files_external/lib/Lib/Storage/AmazonS3.php @@ -608,9 +608,9 @@ class AmazonS3 extends \OC\Files\Storage\Common { } foreach ($this->getDirectoryContent($source) as $item) { - $source = $source . '/' . $item['name']; - $target = $target . '/' . $item['name']; - $this->copy($source, $target, $item['mimetype'] !== FileInfo::MIMETYPE_FOLDER); + $childSource = $source . '/' . $item['name']; + $childTarget = $target . '/' . $item['name']; + $this->copy($childSource, $childTarget, $item['mimetype'] !== FileInfo::MIMETYPE_FOLDER); } } diff --git a/apps/files_external/lib/Lib/Storage/FTP.php b/apps/files_external/lib/Lib/Storage/FTP.php index 0350035a11a..284f438fccd 100644 --- a/apps/files_external/lib/Lib/Storage/FTP.php +++ b/apps/files_external/lib/Lib/Storage/FTP.php @@ -123,7 +123,7 @@ class FTP extends Common { return $item['type'] === 'cdir'; })); if ($currentDir) { - $time = \DateTime::createFromFormat('YmdHis', $currentDir['modify']); + $time = \DateTime::createFromFormat('YmdHis', $currentDir['modify'] ?? ''); if ($time === false) { throw new \Exception("Invalid date format for directory: $currentDir"); } @@ -269,7 +269,7 @@ class FTP extends Common { case 'wb': case 'wb+': $useExisting = false; - // no break + // no break case 'a': case 'ab': case 'r+': diff --git a/apps/files_sharing/composer/autoload.php b/apps/files_sharing/composer/autoload.php index 02b3c10c483..9ad3b4c77ed 100644 --- a/apps/files_sharing/composer/autoload.php +++ b/apps/files_sharing/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/files_sharing/composer/composer/installed.php b/apps/files_sharing/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/files_sharing/composer/composer/installed.php +++ b/apps/files_sharing/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/files_sharing/css/icons.css b/apps/files_sharing/css/icons.css index ff5c5844df6..3c5fbf8539d 100644 --- a/apps/files_sharing/css/icons.css +++ b/apps/files_sharing/css/icons.css @@ -77,18 +77,15 @@ * @returns A background image with the url to the set to the requested icon. */ .icon-room { - /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */ - background-image: var(--icon-app-dark); + background-image: var(--icon-talk-dark); } .icon-circle { - /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */ background-image: var(--icon-circles-dark); } .icon-guests { - /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */ - background-image: var(--icon-app-dark); + background-image: var(--icon-user-dark); } /*# sourceMappingURL=icons.css.map */ diff --git a/apps/files_sharing/css/icons.css.map b/apps/files_sharing/css/icons.css.map index a2766ac03f7..09610c8b8fe 100644 --- a/apps/files_sharing/css/icons.css.map +++ b/apps/files_sharing/css/icons.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","icons.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ADzBA;ACsCC;EAEA;;;ADrCD;ACmCC;EAEA;;;ADlCD;ACgCC;EAEA","file":"icons.css"}
\ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","icons.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ADzBA;EACC;;;AAED;EACC;;;AAED;EACC","file":"icons.css"}
\ No newline at end of file diff --git a/apps/files_sharing/css/icons.scss b/apps/files_sharing/css/icons.scss index 529d8bd5100..21bd1bde019 100644 --- a/apps/files_sharing/css/icons.scss +++ b/apps/files_sharing/css/icons.scss @@ -24,11 +24,11 @@ // This is the icons used in the sharing ui (multiselect) .icon-room { - @include icon-color('app', 'spreed', variables.$color-black); + background-image: var(--icon-talk-dark); } .icon-circle { - @include icon-color('circles', 'circles', variables.$color-black, 3, false); + background-image: var(--icon-circles-dark); } .icon-guests { - @include icon-color('app', 'guests', variables.$color-black); + background-image: var(--icon-user-dark); }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/bg.js b/apps/files_sharing/l10n/bg.js index 5b0ef20197a..0ba9c30cdec 100644 --- a/apps/files_sharing/l10n/bg.js +++ b/apps/files_sharing/l10n/bg.js @@ -209,6 +209,8 @@ OC.L10N.register( "Share link ({label})" : "Споделяне на връзка ({label})", "Share link" : "Връзка за споделяне", "Error, please enter proper password and/or expiration date" : "Грешка, моля да въведете правилната парола и / или срок на годност", + "Error while creating the share" : "Грешка при създаване на споделянето", + "Search for share recipients" : "Търсене на получатели на споделяне", "No recommendations. Start typing." : "Няма препоръки. Започнете да пишете.", "Resharing is not allowed" : "Повторното споделяне е забранено", "Name or email …" : "Име или имейл", diff --git a/apps/files_sharing/l10n/bg.json b/apps/files_sharing/l10n/bg.json index cf69bb1c980..c1b4638eb03 100644 --- a/apps/files_sharing/l10n/bg.json +++ b/apps/files_sharing/l10n/bg.json @@ -207,6 +207,8 @@ "Share link ({label})" : "Споделяне на връзка ({label})", "Share link" : "Връзка за споделяне", "Error, please enter proper password and/or expiration date" : "Грешка, моля да въведете правилната парола и / или срок на годност", + "Error while creating the share" : "Грешка при създаване на споделянето", + "Search for share recipients" : "Търсене на получатели на споделяне", "No recommendations. Start typing." : "Няма препоръки. Започнете да пишете.", "Resharing is not allowed" : "Повторното споделяне е забранено", "Name or email …" : "Име или имейл", diff --git a/apps/files_sharing/l10n/ca.js b/apps/files_sharing/l10n/ca.js index cbd5f7a8a75..6046cc4b116 100644 --- a/apps/files_sharing/l10n/ca.js +++ b/apps/files_sharing/l10n/ca.js @@ -13,7 +13,7 @@ OC.L10N.register( "Deleted shares" : "Comparticions suprimides", "No deleted shares" : "No hi ha cap compartició suprimida", "Shares you deleted will show up here" : "Les comparticions que heu suprimit es mostraran aquí", - "Pending shares" : "Compartits pendents", + "Pending shares" : "Comparticions pendents", "No pending shares" : "Sense comparticions pendents", "Shares you have received but not confirmed will show up here" : "Les comparticions que heu rebut però no confirmades es mostraran aquí", "Shares" : "Comparticions", @@ -31,9 +31,9 @@ OC.L10N.register( "finished" : "finalitzat", "This will stop your current uploads." : "Això aturarà les càrregues actuals.", "Move or copy" : "Mou o copia", - "Download" : "Baixa", + "Download" : "Baixada", "Delete" : "Suprimeix", - "You can upload into this folder" : "Podeu carregar dins d'aquesta carpeta", + "You can upload into this folder" : "Podeu pujar dins d'aquesta carpeta", "Terms of service" : "Condicions del servei", "Show list view" : "Mostra en vista de llista", "Show grid view" : "Mostra en vista de graella", @@ -209,6 +209,10 @@ OC.L10N.register( "Share link ({label})" : "Comparteix l'enllaç ({label})", "Share link" : "Enllaç de compartició", "Error, please enter proper password and/or expiration date" : "Error, introduïu la contrasenya i/o data de caducitat adequades", + "Error while creating the share" : "S'ha produït un error en crear la compartició", + "Share label saved" : "S'ha desat l'etiqueta de compartició", + "Share password saved" : "S’ha desat la contrasenya de compartició", + "Search for share recipients" : "Cerca destinataris compartits", "No recommendations. Start typing." : "No hi ha recomanacions. Comenceu a escriure.", "Resharing is not allowed" : "No està permesa la re-compartició", "Name or email …" : "Nom o correu …", @@ -231,6 +235,9 @@ OC.L10N.register( "Error creating the share" : "S'ha produït un error en crear la compartició", "Error updating the share: {errorMessage}" : "Error en actualitzar la compartició: {errorMessage}", "Error updating the share" : "S'ha produït un error en actualitzar la compartició", + "Share note saved" : "S'ha desat la nota de compartició", + "File \"{path}\" has been unshared" : "El fitxer “{path}” s’ha deixat de compartir", + "Folder \"{path}\" has been unshared" : "La carpeta \"{path}\" s'ha deixat de compartir", "Shared" : "Compartit", "Share" : "Comparteix", "Shared with" : "Compartit amb", diff --git a/apps/files_sharing/l10n/ca.json b/apps/files_sharing/l10n/ca.json index 61048247aa7..f89c88f3b3a 100644 --- a/apps/files_sharing/l10n/ca.json +++ b/apps/files_sharing/l10n/ca.json @@ -11,7 +11,7 @@ "Deleted shares" : "Comparticions suprimides", "No deleted shares" : "No hi ha cap compartició suprimida", "Shares you deleted will show up here" : "Les comparticions que heu suprimit es mostraran aquí", - "Pending shares" : "Compartits pendents", + "Pending shares" : "Comparticions pendents", "No pending shares" : "Sense comparticions pendents", "Shares you have received but not confirmed will show up here" : "Les comparticions que heu rebut però no confirmades es mostraran aquí", "Shares" : "Comparticions", @@ -29,9 +29,9 @@ "finished" : "finalitzat", "This will stop your current uploads." : "Això aturarà les càrregues actuals.", "Move or copy" : "Mou o copia", - "Download" : "Baixa", + "Download" : "Baixada", "Delete" : "Suprimeix", - "You can upload into this folder" : "Podeu carregar dins d'aquesta carpeta", + "You can upload into this folder" : "Podeu pujar dins d'aquesta carpeta", "Terms of service" : "Condicions del servei", "Show list view" : "Mostra en vista de llista", "Show grid view" : "Mostra en vista de graella", @@ -207,6 +207,10 @@ "Share link ({label})" : "Comparteix l'enllaç ({label})", "Share link" : "Enllaç de compartició", "Error, please enter proper password and/or expiration date" : "Error, introduïu la contrasenya i/o data de caducitat adequades", + "Error while creating the share" : "S'ha produït un error en crear la compartició", + "Share label saved" : "S'ha desat l'etiqueta de compartició", + "Share password saved" : "S’ha desat la contrasenya de compartició", + "Search for share recipients" : "Cerca destinataris compartits", "No recommendations. Start typing." : "No hi ha recomanacions. Comenceu a escriure.", "Resharing is not allowed" : "No està permesa la re-compartició", "Name or email …" : "Nom o correu …", @@ -229,6 +233,9 @@ "Error creating the share" : "S'ha produït un error en crear la compartició", "Error updating the share: {errorMessage}" : "Error en actualitzar la compartició: {errorMessage}", "Error updating the share" : "S'ha produït un error en actualitzar la compartició", + "Share note saved" : "S'ha desat la nota de compartició", + "File \"{path}\" has been unshared" : "El fitxer “{path}” s’ha deixat de compartir", + "Folder \"{path}\" has been unshared" : "La carpeta \"{path}\" s'ha deixat de compartir", "Shared" : "Compartit", "Share" : "Comparteix", "Shared with" : "Compartit amb", diff --git a/apps/files_sharing/l10n/cs.js b/apps/files_sharing/l10n/cs.js index b2d3814c562..ab3eba688b2 100644 --- a/apps/files_sharing/l10n/cs.js +++ b/apps/files_sharing/l10n/cs.js @@ -209,6 +209,10 @@ OC.L10N.register( "Share link ({label})" : "Odkaz na sdílení ({label})", "Share link" : "Odkaz pro sdílení", "Error, please enter proper password and/or expiration date" : "Chyba – zadejte správné heslo a/nebo datum skončení platnosti", + "Error while creating the share" : "Chyba při vytváření sdílení", + "Share label saved" : "Štítek sdílení uložen", + "Share password saved" : "Heslo ke sdílení uloženo", + "Search for share recipients" : "Vyhledat příjemce sdílení", "No recommendations. Start typing." : "Žádná doporučení. Pište", "Resharing is not allowed" : "Příjemcům tohoto sdílení není dovoleno ho nasdílet dál dalším", "Name or email …" : "Jméno nebo e-mail…", @@ -231,6 +235,9 @@ OC.L10N.register( "Error creating the share" : "Chyba při vytváření sdílení", "Error updating the share: {errorMessage}" : "Chyba při aktualizaci sdílení: {errorMessage}", "Error updating the share" : "Chyba při aktualizaci sdílení", + "Share note saved" : "Poznámka ke sdílení uložena", + "File \"{path}\" has been unshared" : "Sdílení souboru „{path}“ bylo zrušeno", + "Folder \"{path}\" has been unshared" : "Sdílení složky „{path}“ bylo zrušeno", "Shared" : "Sdíleno", "Share" : "Sdílet", "Shared with" : "Sdíleno s", diff --git a/apps/files_sharing/l10n/cs.json b/apps/files_sharing/l10n/cs.json index f6d5362afea..1b0fc367c01 100644 --- a/apps/files_sharing/l10n/cs.json +++ b/apps/files_sharing/l10n/cs.json @@ -207,6 +207,10 @@ "Share link ({label})" : "Odkaz na sdílení ({label})", "Share link" : "Odkaz pro sdílení", "Error, please enter proper password and/or expiration date" : "Chyba – zadejte správné heslo a/nebo datum skončení platnosti", + "Error while creating the share" : "Chyba při vytváření sdílení", + "Share label saved" : "Štítek sdílení uložen", + "Share password saved" : "Heslo ke sdílení uloženo", + "Search for share recipients" : "Vyhledat příjemce sdílení", "No recommendations. Start typing." : "Žádná doporučení. Pište", "Resharing is not allowed" : "Příjemcům tohoto sdílení není dovoleno ho nasdílet dál dalším", "Name or email …" : "Jméno nebo e-mail…", @@ -229,6 +233,9 @@ "Error creating the share" : "Chyba při vytváření sdílení", "Error updating the share: {errorMessage}" : "Chyba při aktualizaci sdílení: {errorMessage}", "Error updating the share" : "Chyba při aktualizaci sdílení", + "Share note saved" : "Poznámka ke sdílení uložena", + "File \"{path}\" has been unshared" : "Sdílení souboru „{path}“ bylo zrušeno", + "Folder \"{path}\" has been unshared" : "Sdílení složky „{path}“ bylo zrušeno", "Shared" : "Sdíleno", "Share" : "Sdílet", "Shared with" : "Sdíleno s", diff --git a/apps/files_sharing/l10n/de_DE.js b/apps/files_sharing/l10n/de_DE.js index 5d39d3e5523..4653b056185 100644 --- a/apps/files_sharing/l10n/de_DE.js +++ b/apps/files_sharing/l10n/de_DE.js @@ -209,6 +209,10 @@ OC.L10N.register( "Share link ({label})" : "Link teilen ({label})", "Share link" : "Link teilen", "Error, please enter proper password and/or expiration date" : "Fehler. Bitte gebe das richtige Passwort und/oder Ablaufdatum ein", + "Error while creating the share" : "Fehler beim Erstellen der Freigabe", + "Share label saved" : "Freigabe-Label gespeichert", + "Share password saved" : "Freigabe-Passwort gespeichert", + "Search for share recipients" : "Nach Freigabeempfängern suchen", "No recommendations. Start typing." : "Keine Empfehlungen. Beginnen Sie mit der Eingabe.", "Resharing is not allowed" : "Das Weiterteilen ist nicht erlaubt ", "Name or email …" : "Name oder E-Mail-Adresse …", @@ -231,6 +235,9 @@ OC.L10N.register( "Error creating the share" : "Fehler beim Erstellen der Freigabe", "Error updating the share: {errorMessage}" : "Fehler beim Aktualisieren der Freigabe: {errorMessage}", "Error updating the share" : "Fehler beim Aktualisieren der Freigabe", + "Share note saved" : "Freigabe-Notiz gespeichert", + "File \"{path}\" has been unshared" : "Freigabe für die Datei \"{path}\" wurde entfernt", + "Folder \"{path}\" has been unshared" : "Freigabe für den Ordner \"{path}\" wurde entfernt", "Shared" : "Geteilt", "Share" : "Teilen", "Shared with" : "Geteilt mit", diff --git a/apps/files_sharing/l10n/de_DE.json b/apps/files_sharing/l10n/de_DE.json index 04fc2426696..257f88246ad 100644 --- a/apps/files_sharing/l10n/de_DE.json +++ b/apps/files_sharing/l10n/de_DE.json @@ -207,6 +207,10 @@ "Share link ({label})" : "Link teilen ({label})", "Share link" : "Link teilen", "Error, please enter proper password and/or expiration date" : "Fehler. Bitte gebe das richtige Passwort und/oder Ablaufdatum ein", + "Error while creating the share" : "Fehler beim Erstellen der Freigabe", + "Share label saved" : "Freigabe-Label gespeichert", + "Share password saved" : "Freigabe-Passwort gespeichert", + "Search for share recipients" : "Nach Freigabeempfängern suchen", "No recommendations. Start typing." : "Keine Empfehlungen. Beginnen Sie mit der Eingabe.", "Resharing is not allowed" : "Das Weiterteilen ist nicht erlaubt ", "Name or email …" : "Name oder E-Mail-Adresse …", @@ -229,6 +233,9 @@ "Error creating the share" : "Fehler beim Erstellen der Freigabe", "Error updating the share: {errorMessage}" : "Fehler beim Aktualisieren der Freigabe: {errorMessage}", "Error updating the share" : "Fehler beim Aktualisieren der Freigabe", + "Share note saved" : "Freigabe-Notiz gespeichert", + "File \"{path}\" has been unshared" : "Freigabe für die Datei \"{path}\" wurde entfernt", + "Folder \"{path}\" has been unshared" : "Freigabe für den Ordner \"{path}\" wurde entfernt", "Shared" : "Geteilt", "Share" : "Teilen", "Shared with" : "Geteilt mit", diff --git a/apps/files_sharing/l10n/en_GB.js b/apps/files_sharing/l10n/en_GB.js index ee3b2f577c1..912dc803774 100644 --- a/apps/files_sharing/l10n/en_GB.js +++ b/apps/files_sharing/l10n/en_GB.js @@ -10,13 +10,33 @@ OC.L10N.register( "Shared by link" : "Shared by link", "No shared links" : "No shared links", "Files and folders you share by link will show up here" : "Files and folders you share by link will show up here", + "Deleted shares" : "Deleted shares", + "No deleted shares" : "No deleted shares", + "Shares you deleted will show up here" : "Shares you deleted will show up here", + "Pending shares" : "Pending shares", + "No pending shares" : "No pending shares", + "Shares you have received but not confirmed will show up here" : "Shares you have received but not confirmed will show up here", "Shares" : "Shares", + "No shares" : "No shares", + "Shares will show up here" : "Shares will show up here", "Restore" : "Restore", + "Restore share" : "Restore share", + "Something happened. Unable to restore the share." : "Something happened. Unable to restore the share.", + "Accept share" : "Accept share", + "Something happened. Unable to accept the share." : "Something happened. Unable to accept the share.", + "Reject share" : "Reject share", + "Something happened. Unable to reject the share." : "Something happened. Unable to reject the share.", + "Waiting…" : "Waiting…", "error" : "error", + "finished" : "finished", + "This will stop your current uploads." : "This will stop your current uploads.", "Move or copy" : "Move or copy", "Download" : "Download", "Delete" : "Delete", "You can upload into this folder" : "You can upload into this folder", + "Terms of service" : "Terms of service", + "Show list view" : "Show list view", + "Show grid view" : "Show grid view", "No compatible server found at {remote}" : "No compatible server found at {remote}", "Invalid server URL" : "Invalid server URL", "Failed to add the public link to your Nextcloud" : "Failed to add the public link to your Nextcloud", @@ -31,10 +51,12 @@ OC.L10N.register( "Removed share for group {group}" : "Removed share for group {group}", "{actor} shared with group {group}" : "{actor} shared with group {group}", "{actor} removed share for group {group}" : "{actor} removed share for group {group}", + "Share for group {group} expired" : "Share for group {group} expired", "You shared {file} with group {group}" : "You shared {file} with group {group}", "You removed group {group} from {file}" : "You removed group {group} from {file}", "{actor} shared {file} with group {group}" : "{actor} shared {file} with group {group}", "{actor} removed group {group} from {file}" : "{actor} removed group {group} from {file}", + "Share for file {file} with group {group} expired" : "Share for file {file} with group {group} expired", "Shared as public link" : "Shared as public link", "Removed public link" : "Removed public link", "Public link expired" : "Public link expired", @@ -55,78 +77,169 @@ OC.L10N.register( "{user} unshared {file} from you" : "{user} unshared {file} from you", "Shared with {user}" : "Shared with {user}", "Removed share for {user}" : "Removed share for {user}", + "You removed yourself" : "You removed yourself", + "{actor} removed themselves" : "{actor} removed themselves", "{actor} shared with {user}" : "{actor} shared with {user}", "{actor} removed share for {user}" : "{actor} removed share for {user}", "Shared by {actor}" : "Shared by {actor}", "{actor} removed share" : "{actor} removed share", + "Share for {user} expired" : "Share for {user} expired", + "Share expired" : "Share expired", "You shared {file} with {user}" : "You shared {file} with {user}", "You removed {user} from {file}" : "You removed {user} from {file}", + "You removed yourself from {file}" : "You removed yourself from {file}", + "{actor} removed themselves from {file}" : "{actor} removed themselves from {file}", "{actor} shared {file} with {user}" : "{actor} shared {file} with {user}", "{actor} removed {user} from {file}" : "{actor} removed {user} from {file}", "{actor} shared {file} with you" : "{actor} shared {file} with you", + "{actor} removed you from the share named {file}" : "{actor} removed you from the share named {file}", + "Share for file {file} with {user} expired" : "Share for file {file} with {user} expired", + "Share for file {file} expired" : "Share for file {file} expired", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "A file or folder shared by mail or by public link was <strong>downloaded</strong>", "A file or folder was shared from <strong>another server</strong>" : "A file or folder was shared from <strong>another server</strong>", "Files" : "Files", "A file or folder has been <strong>shared</strong>" : "A file or folder has been <strong>shared</strong>", + "Shared link" : "Shared link", + "Wrong share ID, share does not exist" : "Wrong share ID, share does not exist", "Could not delete share" : "Could not delete share", "Please specify a file or folder path" : "Please specify a file or folder path", + "Wrong path, file/folder does not exist" : "Wrong path, file/folder does not exist", "Could not create share" : "Could not create share", + "Invalid permissions" : "Invalid permissions", "Please specify a valid user" : "Please specify a valid user", "Group sharing is disabled by the administrator" : "Group sharing is disabled by the administrator", "Please specify a valid group" : "Please specify a valid group", "Public link sharing is disabled by the administrator" : "Public link sharing is disabled by the administrator", "Public upload disabled by the administrator" : "Public upload disabled by the administrator", "Public upload is only possible for publicly shared folders" : "Public upload is only possible for publicly shared folders", + "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled", "Invalid date, date format must be YYYY-MM-DD" : "Invalid date, date format must be YYYY-MM-DD", + "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Sharing %1$s failed because the back end does not allow shares from type %2$s", + "Please specify a valid federated user ID" : "Please specify a valid federated user ID", + "Please specify a valid federated group ID" : "Please specify a valid federated group ID", "You cannot share to a Circle if the app is not enabled" : "You cannot share to a Circle if the app is not enabled", "Please specify a valid circle" : "Please specify a valid circle", + "Sharing %s failed because the back end does not support room shares" : "Sharing %s failed because the back end does not support room shares", "Unknown share type" : "Unknown share type", "Not a directory" : "Not a directory", + "Could not lock node" : "Could not lock node", "Could not lock path" : "Could not lock path", "Wrong or no update parameter given" : "Wrong or no update parameter given", + "Share must at least have READ or CREATE permissions" : "Share must at least have READ or CREATE permissions", + "Share must have READ permission if UPDATE or DELETE permission is set" : "Share must have READ permission if UPDATE or DELETE permission is set", + "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled.", "shared by %s" : "shared by %s", + "Download all files" : "Download all files", "Direct link" : "Direct link", + "Add to your %s" : "Add to your %s", "Share API is disabled" : "Share API is disabled", "File sharing" : "File sharing", + "Share will expire tomorrow" : "Share will expire tomorrow", + "One or more of your shares will expire tomorrow" : "One or more of your shares will expire tomorrow", + "Your share of {node} will expire tomorrow" : "Your share of {node} will expire tomorrow", + "You received {share} as a share by {user}" : "You received {share} as a share by {user}", + "You received {share} to group {group} as a share by {user}" : "You received {share} to group {group} as a share by {user}", "Accept" : "Accept", "Reject" : "Reject", "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other users outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other users outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation.", "Sharing" : "Sharing", + "Accept user and group shares by default" : "Accept user and group shares by default", + "Error while toggling options" : "Error while toggling options", + "Set default folder for accepted shares" : "Set default folder for accepted shares", "Reset" : "Reset", + "Reset folder to system default" : "Reset folder to system default", + "Choose a default folder for accepted shares" : "Choose a default folder for accepted shares", + "Invalid path selected" : "Invalid path selected", "Unknown error" : "Unknown error", "Allow editing" : "Allow editing", "Read only" : "Read only", "Allow upload and editing" : "Allow upload and editing", "File drop (upload only)" : "File drop (upload only)", + "Custom permissions" : "Custom permissions", "Read" : "Read", "Upload" : "Upload", "Edit" : "Edit", + "Bundled permissions" : "Bundled permissions", "Allow creating" : "Allow creating", "Allow deleting" : "Allow deleting", "Allow resharing" : "Allow resharing", + "Expiration date enforced" : "Expiration date enforced", "Set expiration date" : "Set expiration date", + "Enter a date" : "Enter a date", "Note to recipient" : "Note to recipient", "Unshare" : "Unshare", "group" : "group", + "conversation" : "conversation", "remote" : "remote", + "remote group" : "remote group", "guest" : "guest", + "Shared with the group {user} by {owner}" : "Shared with the group {user} by {owner}", + "Shared with the conversation {user} by {owner}" : "Shared with the conversation {user} by {owner}", + "Shared with {user} by {owner}" : "Shared with {user} by {owner}", + "Allow download" : "Allow download", + "Added by {initiator}" : "Added by {initiator}", + "Via “{folder}”" : "Via “{folder}”", + "Internal link" : "Internal link", + "Copy internal link to clipboard" : "Copy internal link to clipboard", "Link copied" : "Link copied", + "Cannot copy, please copy the link manually" : "Cannot copy, please copy the link manually", "Copy to clipboard" : "Copy to clipboard", "Only works for users with access to this folder" : "Only works for users with access to this folder", + "Only works for users with access to this file" : "Only works for users with access to this file", + "Copy public link to clipboard" : "Copy public link to clipboard", + "Please enter the following required information before creating the share" : "Please enter the following required information before creating the share", + "Password protection (enforced)" : "Password protection (enforced)", "Password protection" : "Password protection", "Enter a password" : "Enter a password", + "Expiration date (enforced)" : "Expiration date (enforced)", + "Create share" : "Create share", "Cancel" : "Cancel", + "Share label" : "Share label", "Hide download" : "Hide download", "Password protect" : "Password protect", + "Password expires {passwordExpirationTime}" : "Password expires {passwordExpirationTime}", + "Password expired" : "Password expired", + "Video verification" : "Video verification", + "Enter a note for the share recipient" : "Enter a note for the share recipient", "Add another link" : "Add another link", + "Create a new share link" : "Create a new share link", + "{shareWith} by {initiator}" : "{shareWith} by {initiator}", + "Shared via link by {initiator}" : "Shared via link by {initiator}", + "Mail share ({label})" : "Mail share ({label})", + "Share link ({label})" : "Share link ({label})", "Share link" : "Share link", + "Error, please enter proper password and/or expiration date" : "Error, please enter proper password and/or expiration date", + "Error while creating the share" : "Error while creating the share", + "Search for share recipients" : "Search for share recipients", "No recommendations. Start typing." : "No recommendations. Start typing.", "Resharing is not allowed" : "Resharing is not allowed", + "Name or email …" : "Name or email …", + "Name, email, or Federated Cloud ID …" : "Name, email, or Federated Cloud ID …", + "Searching …" : "Searching …", + "No elements found." : "No elements found.", + "Search globally" : "Search globally", + "on {server}" : "on {server}", + "Others with access" : "Others with access", + "No other users with access found" : "No other users with access found", + "Toggle list of others with access to this directory" : "Toggle list of others with access to this directory", + "Toggle list of others with access to this file" : "Toggle list of others with access to this file", + "Unable to fetch inherited shares" : "Unable to fetch inherited shares", + "Unable to load the shares list" : "Unable to load the shares list", + "Expires {relativetime}" : "Expires {relativetime}", + "this share just expired." : "this share just expired.", "Shared with you by {owner}" : "Shared with you by {owner}", + "Link to a file" : "Link to a file", + "Error creating the share: {errorMessage}" : "Error creating the share: {errorMessage}", + "Error creating the share" : "Error creating the share", + "Error updating the share: {errorMessage}" : "Error updating the share: {errorMessage}", + "Error updating the share" : "Error updating the share", "Shared" : "Shared", "Share" : "Share", "Shared with" : "Shared with", "Shared with you and the group {group} by {owner}" : "Shared with you and the group {group} by {owner}", + "Shared with you and {circle} by {owner}" : "Shared with you and {circle} by {owner}", + "Shared with you and the conversation {conversation} by {owner}" : "Shared with you and the conversation {conversation} by {owner}", + "Shared with you in a conversation by {owner}" : "Shared with you in a conversation by {owner}", "No entries found in this folder" : "No entries found in this folder", "Name" : "Name", "Share time" : "Share time", @@ -141,10 +254,14 @@ OC.L10N.register( "Upload files to %s" : "Upload files to %s", "Note" : "Note", "Select or drop files" : "Select or drop files", + "Uploading files" : "Uploading files", "Uploaded files:" : "Uploaded files:", + "By uploading files, you agree to the %1$sterms of service%2$s." : "By uploading files, you agree to the %1$sterms of service%2$s.", "Add to your Nextcloud" : "Add to your Nextcloud", "Wrong share ID, share doesn't exist" : "Wrong share ID, share doesn't exist", "Wrong path, file/folder doesn't exist" : "Wrong path, file/folder doesn't exist", - "Sorry, this link doesn’t seem to work anymore." : "Sorry, this link doesn’t seem to work any more." + "Cannot change permissions for public share links" : "Cannot change permissions for public share links", + "Sorry, this link doesn’t seem to work anymore." : "Sorry, this link doesn’t seem to work any more.", + "Toggle grid view" : "Toggle grid view" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/en_GB.json b/apps/files_sharing/l10n/en_GB.json index deff90145c5..5a4d94a880f 100644 --- a/apps/files_sharing/l10n/en_GB.json +++ b/apps/files_sharing/l10n/en_GB.json @@ -8,13 +8,33 @@ "Shared by link" : "Shared by link", "No shared links" : "No shared links", "Files and folders you share by link will show up here" : "Files and folders you share by link will show up here", + "Deleted shares" : "Deleted shares", + "No deleted shares" : "No deleted shares", + "Shares you deleted will show up here" : "Shares you deleted will show up here", + "Pending shares" : "Pending shares", + "No pending shares" : "No pending shares", + "Shares you have received but not confirmed will show up here" : "Shares you have received but not confirmed will show up here", "Shares" : "Shares", + "No shares" : "No shares", + "Shares will show up here" : "Shares will show up here", "Restore" : "Restore", + "Restore share" : "Restore share", + "Something happened. Unable to restore the share." : "Something happened. Unable to restore the share.", + "Accept share" : "Accept share", + "Something happened. Unable to accept the share." : "Something happened. Unable to accept the share.", + "Reject share" : "Reject share", + "Something happened. Unable to reject the share." : "Something happened. Unable to reject the share.", + "Waiting…" : "Waiting…", "error" : "error", + "finished" : "finished", + "This will stop your current uploads." : "This will stop your current uploads.", "Move or copy" : "Move or copy", "Download" : "Download", "Delete" : "Delete", "You can upload into this folder" : "You can upload into this folder", + "Terms of service" : "Terms of service", + "Show list view" : "Show list view", + "Show grid view" : "Show grid view", "No compatible server found at {remote}" : "No compatible server found at {remote}", "Invalid server URL" : "Invalid server URL", "Failed to add the public link to your Nextcloud" : "Failed to add the public link to your Nextcloud", @@ -29,10 +49,12 @@ "Removed share for group {group}" : "Removed share for group {group}", "{actor} shared with group {group}" : "{actor} shared with group {group}", "{actor} removed share for group {group}" : "{actor} removed share for group {group}", + "Share for group {group} expired" : "Share for group {group} expired", "You shared {file} with group {group}" : "You shared {file} with group {group}", "You removed group {group} from {file}" : "You removed group {group} from {file}", "{actor} shared {file} with group {group}" : "{actor} shared {file} with group {group}", "{actor} removed group {group} from {file}" : "{actor} removed group {group} from {file}", + "Share for file {file} with group {group} expired" : "Share for file {file} with group {group} expired", "Shared as public link" : "Shared as public link", "Removed public link" : "Removed public link", "Public link expired" : "Public link expired", @@ -53,78 +75,169 @@ "{user} unshared {file} from you" : "{user} unshared {file} from you", "Shared with {user}" : "Shared with {user}", "Removed share for {user}" : "Removed share for {user}", + "You removed yourself" : "You removed yourself", + "{actor} removed themselves" : "{actor} removed themselves", "{actor} shared with {user}" : "{actor} shared with {user}", "{actor} removed share for {user}" : "{actor} removed share for {user}", "Shared by {actor}" : "Shared by {actor}", "{actor} removed share" : "{actor} removed share", + "Share for {user} expired" : "Share for {user} expired", + "Share expired" : "Share expired", "You shared {file} with {user}" : "You shared {file} with {user}", "You removed {user} from {file}" : "You removed {user} from {file}", + "You removed yourself from {file}" : "You removed yourself from {file}", + "{actor} removed themselves from {file}" : "{actor} removed themselves from {file}", "{actor} shared {file} with {user}" : "{actor} shared {file} with {user}", "{actor} removed {user} from {file}" : "{actor} removed {user} from {file}", "{actor} shared {file} with you" : "{actor} shared {file} with you", + "{actor} removed you from the share named {file}" : "{actor} removed you from the share named {file}", + "Share for file {file} with {user} expired" : "Share for file {file} with {user} expired", + "Share for file {file} expired" : "Share for file {file} expired", "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "A file or folder shared by mail or by public link was <strong>downloaded</strong>", "A file or folder was shared from <strong>another server</strong>" : "A file or folder was shared from <strong>another server</strong>", "Files" : "Files", "A file or folder has been <strong>shared</strong>" : "A file or folder has been <strong>shared</strong>", + "Shared link" : "Shared link", + "Wrong share ID, share does not exist" : "Wrong share ID, share does not exist", "Could not delete share" : "Could not delete share", "Please specify a file or folder path" : "Please specify a file or folder path", + "Wrong path, file/folder does not exist" : "Wrong path, file/folder does not exist", "Could not create share" : "Could not create share", + "Invalid permissions" : "Invalid permissions", "Please specify a valid user" : "Please specify a valid user", "Group sharing is disabled by the administrator" : "Group sharing is disabled by the administrator", "Please specify a valid group" : "Please specify a valid group", "Public link sharing is disabled by the administrator" : "Public link sharing is disabled by the administrator", "Public upload disabled by the administrator" : "Public upload disabled by the administrator", "Public upload is only possible for publicly shared folders" : "Public upload is only possible for publicly shared folders", + "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled", "Invalid date, date format must be YYYY-MM-DD" : "Invalid date, date format must be YYYY-MM-DD", + "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Sharing %1$s failed because the back end does not allow shares from type %2$s", + "Please specify a valid federated user ID" : "Please specify a valid federated user ID", + "Please specify a valid federated group ID" : "Please specify a valid federated group ID", "You cannot share to a Circle if the app is not enabled" : "You cannot share to a Circle if the app is not enabled", "Please specify a valid circle" : "Please specify a valid circle", + "Sharing %s failed because the back end does not support room shares" : "Sharing %s failed because the back end does not support room shares", "Unknown share type" : "Unknown share type", "Not a directory" : "Not a directory", + "Could not lock node" : "Could not lock node", "Could not lock path" : "Could not lock path", "Wrong or no update parameter given" : "Wrong or no update parameter given", + "Share must at least have READ or CREATE permissions" : "Share must at least have READ or CREATE permissions", + "Share must have READ permission if UPDATE or DELETE permission is set" : "Share must have READ permission if UPDATE or DELETE permission is set", + "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled.", "shared by %s" : "shared by %s", + "Download all files" : "Download all files", "Direct link" : "Direct link", + "Add to your %s" : "Add to your %s", "Share API is disabled" : "Share API is disabled", "File sharing" : "File sharing", + "Share will expire tomorrow" : "Share will expire tomorrow", + "One or more of your shares will expire tomorrow" : "One or more of your shares will expire tomorrow", + "Your share of {node} will expire tomorrow" : "Your share of {node} will expire tomorrow", + "You received {share} as a share by {user}" : "You received {share} as a share by {user}", + "You received {share} to group {group} as a share by {user}" : "You received {share} to group {group} as a share by {user}", "Accept" : "Accept", "Reject" : "Reject", "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other users outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other users outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation.", "Sharing" : "Sharing", + "Accept user and group shares by default" : "Accept user and group shares by default", + "Error while toggling options" : "Error while toggling options", + "Set default folder for accepted shares" : "Set default folder for accepted shares", "Reset" : "Reset", + "Reset folder to system default" : "Reset folder to system default", + "Choose a default folder for accepted shares" : "Choose a default folder for accepted shares", + "Invalid path selected" : "Invalid path selected", "Unknown error" : "Unknown error", "Allow editing" : "Allow editing", "Read only" : "Read only", "Allow upload and editing" : "Allow upload and editing", "File drop (upload only)" : "File drop (upload only)", + "Custom permissions" : "Custom permissions", "Read" : "Read", "Upload" : "Upload", "Edit" : "Edit", + "Bundled permissions" : "Bundled permissions", "Allow creating" : "Allow creating", "Allow deleting" : "Allow deleting", "Allow resharing" : "Allow resharing", + "Expiration date enforced" : "Expiration date enforced", "Set expiration date" : "Set expiration date", + "Enter a date" : "Enter a date", "Note to recipient" : "Note to recipient", "Unshare" : "Unshare", "group" : "group", + "conversation" : "conversation", "remote" : "remote", + "remote group" : "remote group", "guest" : "guest", + "Shared with the group {user} by {owner}" : "Shared with the group {user} by {owner}", + "Shared with the conversation {user} by {owner}" : "Shared with the conversation {user} by {owner}", + "Shared with {user} by {owner}" : "Shared with {user} by {owner}", + "Allow download" : "Allow download", + "Added by {initiator}" : "Added by {initiator}", + "Via “{folder}”" : "Via “{folder}”", + "Internal link" : "Internal link", + "Copy internal link to clipboard" : "Copy internal link to clipboard", "Link copied" : "Link copied", + "Cannot copy, please copy the link manually" : "Cannot copy, please copy the link manually", "Copy to clipboard" : "Copy to clipboard", "Only works for users with access to this folder" : "Only works for users with access to this folder", + "Only works for users with access to this file" : "Only works for users with access to this file", + "Copy public link to clipboard" : "Copy public link to clipboard", + "Please enter the following required information before creating the share" : "Please enter the following required information before creating the share", + "Password protection (enforced)" : "Password protection (enforced)", "Password protection" : "Password protection", "Enter a password" : "Enter a password", + "Expiration date (enforced)" : "Expiration date (enforced)", + "Create share" : "Create share", "Cancel" : "Cancel", + "Share label" : "Share label", "Hide download" : "Hide download", "Password protect" : "Password protect", + "Password expires {passwordExpirationTime}" : "Password expires {passwordExpirationTime}", + "Password expired" : "Password expired", + "Video verification" : "Video verification", + "Enter a note for the share recipient" : "Enter a note for the share recipient", "Add another link" : "Add another link", + "Create a new share link" : "Create a new share link", + "{shareWith} by {initiator}" : "{shareWith} by {initiator}", + "Shared via link by {initiator}" : "Shared via link by {initiator}", + "Mail share ({label})" : "Mail share ({label})", + "Share link ({label})" : "Share link ({label})", "Share link" : "Share link", + "Error, please enter proper password and/or expiration date" : "Error, please enter proper password and/or expiration date", + "Error while creating the share" : "Error while creating the share", + "Search for share recipients" : "Search for share recipients", "No recommendations. Start typing." : "No recommendations. Start typing.", "Resharing is not allowed" : "Resharing is not allowed", + "Name or email …" : "Name or email …", + "Name, email, or Federated Cloud ID …" : "Name, email, or Federated Cloud ID …", + "Searching …" : "Searching …", + "No elements found." : "No elements found.", + "Search globally" : "Search globally", + "on {server}" : "on {server}", + "Others with access" : "Others with access", + "No other users with access found" : "No other users with access found", + "Toggle list of others with access to this directory" : "Toggle list of others with access to this directory", + "Toggle list of others with access to this file" : "Toggle list of others with access to this file", + "Unable to fetch inherited shares" : "Unable to fetch inherited shares", + "Unable to load the shares list" : "Unable to load the shares list", + "Expires {relativetime}" : "Expires {relativetime}", + "this share just expired." : "this share just expired.", "Shared with you by {owner}" : "Shared with you by {owner}", + "Link to a file" : "Link to a file", + "Error creating the share: {errorMessage}" : "Error creating the share: {errorMessage}", + "Error creating the share" : "Error creating the share", + "Error updating the share: {errorMessage}" : "Error updating the share: {errorMessage}", + "Error updating the share" : "Error updating the share", "Shared" : "Shared", "Share" : "Share", "Shared with" : "Shared with", "Shared with you and the group {group} by {owner}" : "Shared with you and the group {group} by {owner}", + "Shared with you and {circle} by {owner}" : "Shared with you and {circle} by {owner}", + "Shared with you and the conversation {conversation} by {owner}" : "Shared with you and the conversation {conversation} by {owner}", + "Shared with you in a conversation by {owner}" : "Shared with you in a conversation by {owner}", "No entries found in this folder" : "No entries found in this folder", "Name" : "Name", "Share time" : "Share time", @@ -139,10 +252,14 @@ "Upload files to %s" : "Upload files to %s", "Note" : "Note", "Select or drop files" : "Select or drop files", + "Uploading files" : "Uploading files", "Uploaded files:" : "Uploaded files:", + "By uploading files, you agree to the %1$sterms of service%2$s." : "By uploading files, you agree to the %1$sterms of service%2$s.", "Add to your Nextcloud" : "Add to your Nextcloud", "Wrong share ID, share doesn't exist" : "Wrong share ID, share doesn't exist", "Wrong path, file/folder doesn't exist" : "Wrong path, file/folder doesn't exist", - "Sorry, this link doesn’t seem to work anymore." : "Sorry, this link doesn’t seem to work any more." + "Cannot change permissions for public share links" : "Cannot change permissions for public share links", + "Sorry, this link doesn’t seem to work anymore." : "Sorry, this link doesn’t seem to work any more.", + "Toggle grid view" : "Toggle grid view" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es.js b/apps/files_sharing/l10n/es.js index a9628872a8b..27cd3f164b6 100644 --- a/apps/files_sharing/l10n/es.js +++ b/apps/files_sharing/l10n/es.js @@ -209,6 +209,8 @@ OC.L10N.register( "Share link ({label})" : "Compartir enlace ({label})", "Share link" : "Compartir enlace", "Error, please enter proper password and/or expiration date" : "Error, por favor, introduce la contraseña y/o fecha de caducidad adecuada", + "Error while creating the share" : "Error mientras se creaba el recurso compartido", + "Search for share recipients" : "Buscar destinatarios del compartido", "No recommendations. Start typing." : "No hay recomendaciones. Comience a escribir.", "Resharing is not allowed" : "No se permite compartir de nuevo", "Name or email …" : "Nombre o correo electrónico …", diff --git a/apps/files_sharing/l10n/es.json b/apps/files_sharing/l10n/es.json index 509b47340a5..a1a824bad87 100644 --- a/apps/files_sharing/l10n/es.json +++ b/apps/files_sharing/l10n/es.json @@ -207,6 +207,8 @@ "Share link ({label})" : "Compartir enlace ({label})", "Share link" : "Compartir enlace", "Error, please enter proper password and/or expiration date" : "Error, por favor, introduce la contraseña y/o fecha de caducidad adecuada", + "Error while creating the share" : "Error mientras se creaba el recurso compartido", + "Search for share recipients" : "Buscar destinatarios del compartido", "No recommendations. Start typing." : "No hay recomendaciones. Comience a escribir.", "Resharing is not allowed" : "No se permite compartir de nuevo", "Name or email …" : "Nombre o correo electrónico …", diff --git a/apps/files_sharing/l10n/fr.js b/apps/files_sharing/l10n/fr.js index affd4a8872b..a598cdab0a6 100644 --- a/apps/files_sharing/l10n/fr.js +++ b/apps/files_sharing/l10n/fr.js @@ -209,10 +209,12 @@ OC.L10N.register( "Share link ({label})" : "Lien de partage ({label})", "Share link" : "Lien de partage", "Error, please enter proper password and/or expiration date" : "Erreur. Merci d'entrer un mot de passe valide et/ou une date d'expiration", + "Error while creating the share" : "Erreur lors de la création du partage", + "Search for share recipients" : "Recherche les destinataires du partage", "No recommendations. Start typing." : "Aucune recommandation. Commencez à écrire.", "Resharing is not allowed" : "Le repartage n'est pas autorisé", "Name or email …" : "Nom ou adresse e-mail...", - "Name, email, or Federated Cloud ID …" : "Nom, adresse e-mail ou identifiant Federated Cloud…", + "Name, email, or Federated Cloud ID …" : "Nom, adresse e-mail ou ID de Cloud Fédéré…", "Searching …" : "Recherche…", "No elements found." : "Aucun élément trouvé.", "Search globally" : "Rechercher partout", diff --git a/apps/files_sharing/l10n/fr.json b/apps/files_sharing/l10n/fr.json index 90f1771e5d4..1f1e57d4d7f 100644 --- a/apps/files_sharing/l10n/fr.json +++ b/apps/files_sharing/l10n/fr.json @@ -207,10 +207,12 @@ "Share link ({label})" : "Lien de partage ({label})", "Share link" : "Lien de partage", "Error, please enter proper password and/or expiration date" : "Erreur. Merci d'entrer un mot de passe valide et/ou une date d'expiration", + "Error while creating the share" : "Erreur lors de la création du partage", + "Search for share recipients" : "Recherche les destinataires du partage", "No recommendations. Start typing." : "Aucune recommandation. Commencez à écrire.", "Resharing is not allowed" : "Le repartage n'est pas autorisé", "Name or email …" : "Nom ou adresse e-mail...", - "Name, email, or Federated Cloud ID …" : "Nom, adresse e-mail ou identifiant Federated Cloud…", + "Name, email, or Federated Cloud ID …" : "Nom, adresse e-mail ou ID de Cloud Fédéré…", "Searching …" : "Recherche…", "No elements found." : "Aucun élément trouvé.", "Search globally" : "Rechercher partout", diff --git a/apps/files_sharing/l10n/hu.js b/apps/files_sharing/l10n/hu.js index bff8746812f..bb8b7718404 100644 --- a/apps/files_sharing/l10n/hu.js +++ b/apps/files_sharing/l10n/hu.js @@ -209,6 +209,8 @@ OC.L10N.register( "Share link ({label})" : "Megosztási hivatkozás ({label})", "Share link" : "Megosztási hivatkozás", "Error, please enter proper password and/or expiration date" : "Hiba, írja be a megfelelő jelszót vagy lejárati dátumot", + "Error while creating the share" : "Hiba a megosztás létrehozása során", + "Search for share recipients" : "Megosztás résztvevőinek keresése", "No recommendations. Start typing." : "Nincs javaslat. Kezdjen gépelni.", "Resharing is not allowed" : "A megosztás továbbadása nem engedélyezett", "Name or email …" : "Név vagy e-mail-cím…", diff --git a/apps/files_sharing/l10n/hu.json b/apps/files_sharing/l10n/hu.json index e742ecc8ed6..eaf232af3e3 100644 --- a/apps/files_sharing/l10n/hu.json +++ b/apps/files_sharing/l10n/hu.json @@ -207,6 +207,8 @@ "Share link ({label})" : "Megosztási hivatkozás ({label})", "Share link" : "Megosztási hivatkozás", "Error, please enter proper password and/or expiration date" : "Hiba, írja be a megfelelő jelszót vagy lejárati dátumot", + "Error while creating the share" : "Hiba a megosztás létrehozása során", + "Search for share recipients" : "Megosztás résztvevőinek keresése", "No recommendations. Start typing." : "Nincs javaslat. Kezdjen gépelni.", "Resharing is not allowed" : "A megosztás továbbadása nem engedélyezett", "Name or email …" : "Név vagy e-mail-cím…", diff --git a/apps/files_sharing/l10n/lv.js b/apps/files_sharing/l10n/lv.js index 3dffe166719..6fbcaa68081 100644 --- a/apps/files_sharing/l10n/lv.js +++ b/apps/files_sharing/l10n/lv.js @@ -35,6 +35,8 @@ OC.L10N.register( "Delete" : "Dzēst", "You can upload into this folder" : "Jūs variet augšuplādēt šajā mapē", "Terms of service" : "Pakalpojuma noteikumi", + "Show list view" : "Rādīt saraksta skatu", + "Show grid view" : "Rādīt režģa skatu", "No compatible server found at {remote}" : "Nav atrasts neviens saderīgs serveris {remote}", "Invalid server URL" : "Nederīgs servera url", "Failed to add the public link to your Nextcloud" : "Neizdevās pievienot publisku saiti jūsu Nextcloud", @@ -98,9 +100,12 @@ OC.L10N.register( "Files" : "Datnes", "A file or folder has been <strong>shared</strong>" : "<strong>Koplietota</strong> datne vai mape", "Shared link" : "Koplietota saite", + "Wrong share ID, share does not exist" : "Nepareizs koplietošanas ID, koplietojums neeksistē", "Could not delete share" : "Neizdevās dzēst koplietotni", "Please specify a file or folder path" : "Lūdzu norādiet datnes vai mapes ceļu", + "Wrong path, file/folder does not exist" : "Nepareizs ceļš, fails/mape neeksistē", "Could not create share" : "Nevar izveidot koplietošanu", + "Invalid permissions" : "Nederīgas atļaujas", "Please specify a valid user" : "Lūdzu norādiet derīgu lietotāju", "Group sharing is disabled by the administrator" : "Administrators grupas koplietošanu ir atslēdzis", "Please specify a valid group" : "Lūdzu norādiet derīgu grupu", @@ -159,6 +164,8 @@ OC.L10N.register( "Password protect" : "Aizsargāt ar paroli", "Video verification" : "Video verifikācija", "Add another link" : "Pievienot citu saiti", + "Create a new share link" : "Izveidojiet jaunu kopīgošanas saiti", + "Share link ({label})" : "Kopīgot saiti ({label})", "Share link" : "Koplietot saiti", "Resharing is not allowed" : "Atkārtota koplietošana nav atļauta", "Name or email …" : "Vārds vai e-pasts ...", diff --git a/apps/files_sharing/l10n/lv.json b/apps/files_sharing/l10n/lv.json index 1a24fb250f0..3efed7cf5eb 100644 --- a/apps/files_sharing/l10n/lv.json +++ b/apps/files_sharing/l10n/lv.json @@ -33,6 +33,8 @@ "Delete" : "Dzēst", "You can upload into this folder" : "Jūs variet augšuplādēt šajā mapē", "Terms of service" : "Pakalpojuma noteikumi", + "Show list view" : "Rādīt saraksta skatu", + "Show grid view" : "Rādīt režģa skatu", "No compatible server found at {remote}" : "Nav atrasts neviens saderīgs serveris {remote}", "Invalid server URL" : "Nederīgs servera url", "Failed to add the public link to your Nextcloud" : "Neizdevās pievienot publisku saiti jūsu Nextcloud", @@ -96,9 +98,12 @@ "Files" : "Datnes", "A file or folder has been <strong>shared</strong>" : "<strong>Koplietota</strong> datne vai mape", "Shared link" : "Koplietota saite", + "Wrong share ID, share does not exist" : "Nepareizs koplietošanas ID, koplietojums neeksistē", "Could not delete share" : "Neizdevās dzēst koplietotni", "Please specify a file or folder path" : "Lūdzu norādiet datnes vai mapes ceļu", + "Wrong path, file/folder does not exist" : "Nepareizs ceļš, fails/mape neeksistē", "Could not create share" : "Nevar izveidot koplietošanu", + "Invalid permissions" : "Nederīgas atļaujas", "Please specify a valid user" : "Lūdzu norādiet derīgu lietotāju", "Group sharing is disabled by the administrator" : "Administrators grupas koplietošanu ir atslēdzis", "Please specify a valid group" : "Lūdzu norādiet derīgu grupu", @@ -157,6 +162,8 @@ "Password protect" : "Aizsargāt ar paroli", "Video verification" : "Video verifikācija", "Add another link" : "Pievienot citu saiti", + "Create a new share link" : "Izveidojiet jaunu kopīgošanas saiti", + "Share link ({label})" : "Kopīgot saiti ({label})", "Share link" : "Koplietot saiti", "Resharing is not allowed" : "Atkārtota koplietošana nav atļauta", "Name or email …" : "Vārds vai e-pasts ...", diff --git a/apps/files_sharing/l10n/mk.js b/apps/files_sharing/l10n/mk.js index 6d9731f00c2..f6974608a13 100644 --- a/apps/files_sharing/l10n/mk.js +++ b/apps/files_sharing/l10n/mk.js @@ -209,6 +209,8 @@ OC.L10N.register( "Share link ({label})" : "Сподели линк ({label})", "Share link" : "Сподели линк", "Error, please enter proper password and/or expiration date" : "Грешка, внесете лозинка и/или рок на траење", + "Error while creating the share" : "Грешка при креирање на споделување", + "Search for share recipients" : "Пребарај за примачи на споделувањето", "No recommendations. Start typing." : "Нема препораки. Започнете со пишување.", "Resharing is not allowed" : "Повторно споделување не е дозволено", "Name or email …" : "Име или е-пошта ...", diff --git a/apps/files_sharing/l10n/mk.json b/apps/files_sharing/l10n/mk.json index ebb27b38fd3..5da1a3cee11 100644 --- a/apps/files_sharing/l10n/mk.json +++ b/apps/files_sharing/l10n/mk.json @@ -207,6 +207,8 @@ "Share link ({label})" : "Сподели линк ({label})", "Share link" : "Сподели линк", "Error, please enter proper password and/or expiration date" : "Грешка, внесете лозинка и/или рок на траење", + "Error while creating the share" : "Грешка при креирање на споделување", + "Search for share recipients" : "Пребарај за примачи на споделувањето", "No recommendations. Start typing." : "Нема препораки. Започнете со пишување.", "Resharing is not allowed" : "Повторно споделување не е дозволено", "Name or email …" : "Име или е-пошта ...", diff --git a/apps/files_sharing/l10n/nl.js b/apps/files_sharing/l10n/nl.js index b50caba64eb..ea8cb7b7fa5 100644 --- a/apps/files_sharing/l10n/nl.js +++ b/apps/files_sharing/l10n/nl.js @@ -35,6 +35,8 @@ OC.L10N.register( "Delete" : "Verwijderen", "You can upload into this folder" : "Je kunt uploaden naar deze map", "Terms of service" : "Gebruiksvoorwaarden", + "Show list view" : "Toon lijstweergave", + "Show grid view" : "Toon roosterweergave", "No compatible server found at {remote}" : "Geen geschikte server gevonden op {remote}", "Invalid server URL" : "Ongeldig server URL", "Failed to add the public link to your Nextcloud" : "Kon de openbare link niet aan je Nextcloud toevoegen", diff --git a/apps/files_sharing/l10n/nl.json b/apps/files_sharing/l10n/nl.json index 56845460558..1ce4b3a2568 100644 --- a/apps/files_sharing/l10n/nl.json +++ b/apps/files_sharing/l10n/nl.json @@ -33,6 +33,8 @@ "Delete" : "Verwijderen", "You can upload into this folder" : "Je kunt uploaden naar deze map", "Terms of service" : "Gebruiksvoorwaarden", + "Show list view" : "Toon lijstweergave", + "Show grid view" : "Toon roosterweergave", "No compatible server found at {remote}" : "Geen geschikte server gevonden op {remote}", "Invalid server URL" : "Ongeldig server URL", "Failed to add the public link to your Nextcloud" : "Kon de openbare link niet aan je Nextcloud toevoegen", diff --git a/apps/files_sharing/l10n/pl.js b/apps/files_sharing/l10n/pl.js index 9b68e17cb82..2f2c3ec6daa 100644 --- a/apps/files_sharing/l10n/pl.js +++ b/apps/files_sharing/l10n/pl.js @@ -209,6 +209,8 @@ OC.L10N.register( "Share link ({label})" : "Udostępnij link ({label})", "Share link" : "Udostępnij link", "Error, please enter proper password and/or expiration date" : "Błąd, wprowadź prawidłowe hasło i/lub datę ważności", + "Error while creating the share" : "Błąd podczas tworzenia udostępniania", + "Search for share recipients" : "Szukaj odbiorców udostępnienia", "No recommendations. Start typing." : "Brak rekomendacji. Możesz napisać.", "Resharing is not allowed" : "Udostępnianie dalej jest niedozwolone", "Name or email …" : "Nazwa lub adres e-mail…", diff --git a/apps/files_sharing/l10n/pl.json b/apps/files_sharing/l10n/pl.json index 2dbde62c23d..1adf0109869 100644 --- a/apps/files_sharing/l10n/pl.json +++ b/apps/files_sharing/l10n/pl.json @@ -207,6 +207,8 @@ "Share link ({label})" : "Udostępnij link ({label})", "Share link" : "Udostępnij link", "Error, please enter proper password and/or expiration date" : "Błąd, wprowadź prawidłowe hasło i/lub datę ważności", + "Error while creating the share" : "Błąd podczas tworzenia udostępniania", + "Search for share recipients" : "Szukaj odbiorców udostępnienia", "No recommendations. Start typing." : "Brak rekomendacji. Możesz napisać.", "Resharing is not allowed" : "Udostępnianie dalej jest niedozwolone", "Name or email …" : "Nazwa lub adres e-mail…", diff --git a/apps/files_sharing/l10n/pt_BR.js b/apps/files_sharing/l10n/pt_BR.js index bf5effcfee5..69dc5c70110 100644 --- a/apps/files_sharing/l10n/pt_BR.js +++ b/apps/files_sharing/l10n/pt_BR.js @@ -15,7 +15,7 @@ OC.L10N.register( "Shares you deleted will show up here" : "Compartilhamentos apagados aparecem aqui", "Pending shares" : "Compartilhamentos pendentes", "No pending shares" : "Não há compartilhamentos pendentes", - "Shares you have received but not confirmed will show up here" : "Compartilhamentos que você recebeu mas não confirmou, serão exibidos aqui", + "Shares you have received but not confirmed will show up here" : "Compartilhamentos que você recebeu, mas ainda não confirmou, serão exibidos aqui", "Shares" : "Compartilhamentos", "No shares" : "Sem compartilhamentos", "Shares will show up here" : "Compartilhamentos serão mostrados aqui", diff --git a/apps/files_sharing/l10n/pt_BR.json b/apps/files_sharing/l10n/pt_BR.json index 4d97d256966..4543f9e76ac 100644 --- a/apps/files_sharing/l10n/pt_BR.json +++ b/apps/files_sharing/l10n/pt_BR.json @@ -13,7 +13,7 @@ "Shares you deleted will show up here" : "Compartilhamentos apagados aparecem aqui", "Pending shares" : "Compartilhamentos pendentes", "No pending shares" : "Não há compartilhamentos pendentes", - "Shares you have received but not confirmed will show up here" : "Compartilhamentos que você recebeu mas não confirmou, serão exibidos aqui", + "Shares you have received but not confirmed will show up here" : "Compartilhamentos que você recebeu, mas ainda não confirmou, serão exibidos aqui", "Shares" : "Compartilhamentos", "No shares" : "Sem compartilhamentos", "Shares will show up here" : "Compartilhamentos serão mostrados aqui", diff --git a/apps/files_sharing/l10n/ru.js b/apps/files_sharing/l10n/ru.js index ff1e3b1edfc..d9ce361cafa 100644 --- a/apps/files_sharing/l10n/ru.js +++ b/apps/files_sharing/l10n/ru.js @@ -176,9 +176,11 @@ OC.L10N.register( "Shared with the group {user} by {owner}" : "{owner} предоставил(а) доступ группе {group}", "Shared with the conversation {user} by {owner}" : "Пользователь {owner} предоставил(а) {user} доступ во время беседы", "Shared with {user} by {owner}" : "{owner} предоставил(а) доступ {user} ", + "Allow download" : "Разрешить скачивать", "Added by {initiator}" : "Добавлено пользователем {initiator}", "Via “{folder}”" : "Через «{folder}»", "Internal link" : "Внутренняя ссылка", + "Copy internal link to clipboard" : "Скопировать внутреннюю ссылку в буфер обмена", "Link copied" : "Ссылка скопирована", "Cannot copy, please copy the link manually" : "Не удалось скопировать, выполните копирование вручную", "Copy to clipboard" : "Копировать в буфер обмена", @@ -207,6 +209,8 @@ OC.L10N.register( "Share link ({label})" : "Ссылка общего доступа ({label})", "Share link" : "Общий доступ по ссылке", "Error, please enter proper password and/or expiration date" : "Введите действительный пароль и/или дату истечения", + "Error while creating the share" : "Не удалось создать общий ресурс", + "Search for share recipients" : "Найти больше получателей общего ресурса", "No recommendations. Start typing." : "Рекомендации отсутствуют, начните вводить символы", "Resharing is not allowed" : "Повторное открытие доступа запрещено", "Name or email …" : "Имя или адрес эл.почты…", diff --git a/apps/files_sharing/l10n/ru.json b/apps/files_sharing/l10n/ru.json index 53a5675423d..6bf2e20ce8a 100644 --- a/apps/files_sharing/l10n/ru.json +++ b/apps/files_sharing/l10n/ru.json @@ -174,9 +174,11 @@ "Shared with the group {user} by {owner}" : "{owner} предоставил(а) доступ группе {group}", "Shared with the conversation {user} by {owner}" : "Пользователь {owner} предоставил(а) {user} доступ во время беседы", "Shared with {user} by {owner}" : "{owner} предоставил(а) доступ {user} ", + "Allow download" : "Разрешить скачивать", "Added by {initiator}" : "Добавлено пользователем {initiator}", "Via “{folder}”" : "Через «{folder}»", "Internal link" : "Внутренняя ссылка", + "Copy internal link to clipboard" : "Скопировать внутреннюю ссылку в буфер обмена", "Link copied" : "Ссылка скопирована", "Cannot copy, please copy the link manually" : "Не удалось скопировать, выполните копирование вручную", "Copy to clipboard" : "Копировать в буфер обмена", @@ -205,6 +207,8 @@ "Share link ({label})" : "Ссылка общего доступа ({label})", "Share link" : "Общий доступ по ссылке", "Error, please enter proper password and/or expiration date" : "Введите действительный пароль и/или дату истечения", + "Error while creating the share" : "Не удалось создать общий ресурс", + "Search for share recipients" : "Найти больше получателей общего ресурса", "No recommendations. Start typing." : "Рекомендации отсутствуют, начните вводить символы", "Resharing is not allowed" : "Повторное открытие доступа запрещено", "Name or email …" : "Имя или адрес эл.почты…", diff --git a/apps/files_sharing/l10n/sk.js b/apps/files_sharing/l10n/sk.js index 01ac9d3c444..3cb3b776025 100644 --- a/apps/files_sharing/l10n/sk.js +++ b/apps/files_sharing/l10n/sk.js @@ -209,6 +209,8 @@ OC.L10N.register( "Share link ({label})" : "Odkaz na zdieľanie ({label})", "Share link" : "Sprístupniť odkaz", "Error, please enter proper password and/or expiration date" : "Chyba, zadajte správne heslo a/alebo dátum ukončenia platnosti", + "Error while creating the share" : "Chyba pri vytváraní zdieľania", + "Search for share recipients" : "Vyhľadanie ďalších účastníkov zdieľania", "No recommendations. Start typing." : "Žiadne odporúčania. Píšte.", "Resharing is not allowed" : "Opätovné sprístupňovanie nie je povolené", "Name or email …" : "Meno alebo e-mail …", diff --git a/apps/files_sharing/l10n/sk.json b/apps/files_sharing/l10n/sk.json index 5cca14d91cf..994e3fe6d50 100644 --- a/apps/files_sharing/l10n/sk.json +++ b/apps/files_sharing/l10n/sk.json @@ -207,6 +207,8 @@ "Share link ({label})" : "Odkaz na zdieľanie ({label})", "Share link" : "Sprístupniť odkaz", "Error, please enter proper password and/or expiration date" : "Chyba, zadajte správne heslo a/alebo dátum ukončenia platnosti", + "Error while creating the share" : "Chyba pri vytváraní zdieľania", + "Search for share recipients" : "Vyhľadanie ďalších účastníkov zdieľania", "No recommendations. Start typing." : "Žiadne odporúčania. Píšte.", "Resharing is not allowed" : "Opätovné sprístupňovanie nie je povolené", "Name or email …" : "Meno alebo e-mail …", diff --git a/apps/files_sharing/l10n/sv.js b/apps/files_sharing/l10n/sv.js index c2ed4cc6efc..741a157e708 100644 --- a/apps/files_sharing/l10n/sv.js +++ b/apps/files_sharing/l10n/sv.js @@ -209,6 +209,8 @@ OC.L10N.register( "Share link ({label})" : "Dela länk ({label})", "Share link" : "Dela länk", "Error, please enter proper password and/or expiration date" : "Fel, ange korrekt lösenord och/eller utgångsdatum", + "Error while creating the share" : "Det gick inte att skapa delningen", + "Search for share recipients" : "Sök efter delningsmottagare", "No recommendations. Start typing." : "Inga rekommendationer. Börja skriva.", "Resharing is not allowed" : "Dela vidare är inte tillåtet", "Name or email …" : "Namn eller e-post ...", diff --git a/apps/files_sharing/l10n/sv.json b/apps/files_sharing/l10n/sv.json index 47eb67204d3..caee4541ea7 100644 --- a/apps/files_sharing/l10n/sv.json +++ b/apps/files_sharing/l10n/sv.json @@ -207,6 +207,8 @@ "Share link ({label})" : "Dela länk ({label})", "Share link" : "Dela länk", "Error, please enter proper password and/or expiration date" : "Fel, ange korrekt lösenord och/eller utgångsdatum", + "Error while creating the share" : "Det gick inte att skapa delningen", + "Search for share recipients" : "Sök efter delningsmottagare", "No recommendations. Start typing." : "Inga rekommendationer. Börja skriva.", "Resharing is not allowed" : "Dela vidare är inte tillåtet", "Name or email …" : "Namn eller e-post ...", diff --git a/apps/files_sharing/l10n/tr.js b/apps/files_sharing/l10n/tr.js index 5f90cc07b22..0bf21796e49 100644 --- a/apps/files_sharing/l10n/tr.js +++ b/apps/files_sharing/l10n/tr.js @@ -194,7 +194,7 @@ OC.L10N.register( "Expiration date (enforced)" : "Son kullanma tarihi (dayatılmış)", "Create share" : "Paylaşım ekle", "Cancel" : "İptal", - "Share label" : "Etiketi paylaş", + "Share label" : "Paylaşım etiketi", "Hide download" : "İndirme gizlensin", "Password protect" : "Parola koruması", "Password expires {passwordExpirationTime}" : "Parolanın geçerlilik süresi sonu {passwordExpirationTime}", @@ -205,10 +205,14 @@ OC.L10N.register( "Create a new share link" : "Yeni bir paylaşım bağlantısı ekle", "{shareWith} by {initiator}" : "{initiator} tarafından {shareWith}", "Shared via link by {initiator}" : "{initiator} tarafından bağlantı ile paylaşıldı", - "Mail share ({label})" : "E-posta paylaşımı ({label})", - "Share link ({label})" : "Bağlantıyı paylaş ({label})", + "Mail share ({label})" : "E-posta ile paylaş ({label})", + "Share link ({label})" : "Bağlantı ile paylaş ({label})", "Share link" : "Paylaşım bağlantısı", "Error, please enter proper password and/or expiration date" : "Hata. Lütfen uygun bir parola ya da son kullanma tarihi yazın", + "Error while creating the share" : "Paylaşım oluşturulurken sorun çıktı", + "Share label saved" : "Paylaşım etiketi kaydedildi", + "Share password saved" : "Paylaşım parolası kaydedildi", + "Search for share recipients" : "Paylaşım alıcıları arayın", "No recommendations. Start typing." : "Herhangi bir öneri yok. Yazmaya başlayın.", "Resharing is not allowed" : "Yeniden paylaşıma izin verilmiyor", "Name or email …" : "Ad ya da e-posta adresi …", @@ -231,6 +235,9 @@ OC.L10N.register( "Error creating the share" : "Paylaşım oluşturulurken sorun çıktı", "Error updating the share: {errorMessage}" : "Paylaşım güncellenirken sorun çıktı: {errorMessage}", "Error updating the share" : "Paylaşım güncellenirken sorun çıktı", + "Share note saved" : "Paylaşım notu kaydedildi", + "File \"{path}\" has been unshared" : "\"{path}\" dosyası paylaşımdan kaldırıldı", + "Folder \"{path}\" has been unshared" : "\"{path}\" klasörü paylaşımdan kaldırıldı", "Shared" : "Paylaşılan", "Share" : "Paylaş", "Shared with" : "Şunlarla paylaşılmış", diff --git a/apps/files_sharing/l10n/tr.json b/apps/files_sharing/l10n/tr.json index 5cefff0f843..3b6f74d4a55 100644 --- a/apps/files_sharing/l10n/tr.json +++ b/apps/files_sharing/l10n/tr.json @@ -192,7 +192,7 @@ "Expiration date (enforced)" : "Son kullanma tarihi (dayatılmış)", "Create share" : "Paylaşım ekle", "Cancel" : "İptal", - "Share label" : "Etiketi paylaş", + "Share label" : "Paylaşım etiketi", "Hide download" : "İndirme gizlensin", "Password protect" : "Parola koruması", "Password expires {passwordExpirationTime}" : "Parolanın geçerlilik süresi sonu {passwordExpirationTime}", @@ -203,10 +203,14 @@ "Create a new share link" : "Yeni bir paylaşım bağlantısı ekle", "{shareWith} by {initiator}" : "{initiator} tarafından {shareWith}", "Shared via link by {initiator}" : "{initiator} tarafından bağlantı ile paylaşıldı", - "Mail share ({label})" : "E-posta paylaşımı ({label})", - "Share link ({label})" : "Bağlantıyı paylaş ({label})", + "Mail share ({label})" : "E-posta ile paylaş ({label})", + "Share link ({label})" : "Bağlantı ile paylaş ({label})", "Share link" : "Paylaşım bağlantısı", "Error, please enter proper password and/or expiration date" : "Hata. Lütfen uygun bir parola ya da son kullanma tarihi yazın", + "Error while creating the share" : "Paylaşım oluşturulurken sorun çıktı", + "Share label saved" : "Paylaşım etiketi kaydedildi", + "Share password saved" : "Paylaşım parolası kaydedildi", + "Search for share recipients" : "Paylaşım alıcıları arayın", "No recommendations. Start typing." : "Herhangi bir öneri yok. Yazmaya başlayın.", "Resharing is not allowed" : "Yeniden paylaşıma izin verilmiyor", "Name or email …" : "Ad ya da e-posta adresi …", @@ -229,6 +233,9 @@ "Error creating the share" : "Paylaşım oluşturulurken sorun çıktı", "Error updating the share: {errorMessage}" : "Paylaşım güncellenirken sorun çıktı: {errorMessage}", "Error updating the share" : "Paylaşım güncellenirken sorun çıktı", + "Share note saved" : "Paylaşım notu kaydedildi", + "File \"{path}\" has been unshared" : "\"{path}\" dosyası paylaşımdan kaldırıldı", + "Folder \"{path}\" has been unshared" : "\"{path}\" klasörü paylaşımdan kaldırıldı", "Shared" : "Paylaşılan", "Share" : "Paylaş", "Shared with" : "Şunlarla paylaşılmış", diff --git a/apps/files_sharing/l10n/uk.js b/apps/files_sharing/l10n/uk.js index 8ba77636fe9..35ace02c721 100644 --- a/apps/files_sharing/l10n/uk.js +++ b/apps/files_sharing/l10n/uk.js @@ -31,7 +31,7 @@ OC.L10N.register( "finished" : "завершено", "This will stop your current uploads." : "Ця дія призведе до зупинки поточних завантажень на сервер.", "Move or copy" : "Перемістити або копіювати", - "Download" : "Завантажити", + "Download" : "Звантажити", "Delete" : "Вилучити", "You can upload into this folder" : "Ви можете завантажити до цього каталогу", "Terms of service" : "Умови використання", @@ -129,7 +129,7 @@ OC.L10N.register( "Share must have READ permission if UPDATE or DELETE permission is set" : "Для спільного доступу потрібно щонайменше призначити дозволи READ (читання) або CREATE (створення)", "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "Не вдалося надіслати пароль для спільного доступу до файлу чи каталогу з використанням Nextcloud Talk, оскільки цей застосунок вимкнено.", "shared by %s" : "поділилися %s", - "Download all files" : "Завантажити всі файли", + "Download all files" : "Звантажити всі файли", "Direct link" : "Пряме посилання", "Add to your %s" : "Додайте до свого %s", "Share API is disabled" : "API для надання доступу вимкнено", diff --git a/apps/files_sharing/l10n/uk.json b/apps/files_sharing/l10n/uk.json index 3a6c31aac6e..553780930da 100644 --- a/apps/files_sharing/l10n/uk.json +++ b/apps/files_sharing/l10n/uk.json @@ -29,7 +29,7 @@ "finished" : "завершено", "This will stop your current uploads." : "Ця дія призведе до зупинки поточних завантажень на сервер.", "Move or copy" : "Перемістити або копіювати", - "Download" : "Завантажити", + "Download" : "Звантажити", "Delete" : "Вилучити", "You can upload into this folder" : "Ви можете завантажити до цього каталогу", "Terms of service" : "Умови використання", @@ -127,7 +127,7 @@ "Share must have READ permission if UPDATE or DELETE permission is set" : "Для спільного доступу потрібно щонайменше призначити дозволи READ (читання) або CREATE (створення)", "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "Не вдалося надіслати пароль для спільного доступу до файлу чи каталогу з використанням Nextcloud Talk, оскільки цей застосунок вимкнено.", "shared by %s" : "поділилися %s", - "Download all files" : "Завантажити всі файли", + "Download all files" : "Звантажити всі файли", "Direct link" : "Пряме посилання", "Add to your %s" : "Додайте до свого %s", "Share API is disabled" : "API для надання доступу вимкнено", diff --git a/apps/files_sharing/l10n/zh_HK.js b/apps/files_sharing/l10n/zh_HK.js index e242ef97501..cb1f2e67bdc 100644 --- a/apps/files_sharing/l10n/zh_HK.js +++ b/apps/files_sharing/l10n/zh_HK.js @@ -209,6 +209,10 @@ OC.L10N.register( "Share link ({label})" : "分享連結({label})", "Share link" : "分享連結", "Error, please enter proper password and/or expiration date" : "錯誤,請輸入正確的密碼和/或有效期", + "Error while creating the share" : "創建分享出錯", + "Share label saved" : "已保存分享標籤", + "Share password saved" : "已保存分享密碼", + "Search for share recipients" : "搜尋分享參與者", "No recommendations. Start typing." : "沒有建議。開始輸入。", "Resharing is not allowed" : "不允許重新分享", "Name or email …" : "名字或電郵地址", @@ -231,6 +235,9 @@ OC.L10N.register( "Error creating the share" : "創建分享出錯", "Error updating the share: {errorMessage}" : "更新分享出錯:{errorMessage}", "Error updating the share" : "更新分享出錯", + "Share note saved" : "已保存分享筆記", + "File \"{path}\" has been unshared" : "檔案 “{path}” 已取消共享", + "Folder \"{path}\" has been unshared" : "資料夾 “{path}” 已取消共享", "Shared" : "已分享", "Share" : "分享", "Shared with" : "分享給", diff --git a/apps/files_sharing/l10n/zh_HK.json b/apps/files_sharing/l10n/zh_HK.json index 3257b4295a0..7095da690a9 100644 --- a/apps/files_sharing/l10n/zh_HK.json +++ b/apps/files_sharing/l10n/zh_HK.json @@ -207,6 +207,10 @@ "Share link ({label})" : "分享連結({label})", "Share link" : "分享連結", "Error, please enter proper password and/or expiration date" : "錯誤,請輸入正確的密碼和/或有效期", + "Error while creating the share" : "創建分享出錯", + "Share label saved" : "已保存分享標籤", + "Share password saved" : "已保存分享密碼", + "Search for share recipients" : "搜尋分享參與者", "No recommendations. Start typing." : "沒有建議。開始輸入。", "Resharing is not allowed" : "不允許重新分享", "Name or email …" : "名字或電郵地址", @@ -229,6 +233,9 @@ "Error creating the share" : "創建分享出錯", "Error updating the share: {errorMessage}" : "更新分享出錯:{errorMessage}", "Error updating the share" : "更新分享出錯", + "Share note saved" : "已保存分享筆記", + "File \"{path}\" has been unshared" : "檔案 “{path}” 已取消共享", + "Folder \"{path}\" has been unshared" : "資料夾 “{path}” 已取消共享", "Shared" : "已分享", "Share" : "分享", "Shared with" : "分享給", diff --git a/apps/files_sharing/l10n/zh_TW.js b/apps/files_sharing/l10n/zh_TW.js index 684bb569a80..5acba38cb43 100644 --- a/apps/files_sharing/l10n/zh_TW.js +++ b/apps/files_sharing/l10n/zh_TW.js @@ -209,6 +209,8 @@ OC.L10N.register( "Share link ({label})" : "分享連結 ({label})", "Share link" : "分享連結", "Error, please enter proper password and/or expiration date" : "錯誤,請輸入正確的密碼及/或到期日", + "Error while creating the share" : "建立分享時發生錯誤", + "Search for share recipients" : "搜尋分享參與者", "No recommendations. Start typing." : "沒有建議。開始輸入。", "Resharing is not allowed" : "不允許重新分享", "Name or email …" : "名稱或電子郵件……", diff --git a/apps/files_sharing/l10n/zh_TW.json b/apps/files_sharing/l10n/zh_TW.json index 604b3df435f..a6c977ef7a5 100644 --- a/apps/files_sharing/l10n/zh_TW.json +++ b/apps/files_sharing/l10n/zh_TW.json @@ -207,6 +207,8 @@ "Share link ({label})" : "分享連結 ({label})", "Share link" : "分享連結", "Error, please enter proper password and/or expiration date" : "錯誤,請輸入正確的密碼及/或到期日", + "Error while creating the share" : "建立分享時發生錯誤", + "Search for share recipients" : "搜尋分享參與者", "No recommendations. Start typing." : "沒有建議。開始輸入。", "Resharing is not allowed" : "不允許重新分享", "Name or email …" : "名稱或電子郵件……", diff --git a/apps/files_sharing/lib/AppInfo/Application.php b/apps/files_sharing/lib/AppInfo/Application.php index 63fdced9011..960d376c6d3 100644 --- a/apps/files_sharing/lib/AppInfo/Application.php +++ b/apps/files_sharing/lib/AppInfo/Application.php @@ -29,6 +29,7 @@ */ namespace OCA\Files_Sharing\AppInfo; +use OC\Group\DisplayNameCache as GroupDisplayNameCache; use OC\Share\Share; use OC\User\DisplayNameCache; use OCA\Files_Sharing\Capabilities; @@ -66,6 +67,7 @@ use OCP\Files\Config\IMountProviderCollection; use OCP\Files\Events\BeforeDirectFileDownloadEvent; use OCP\Files\Events\BeforeZipCreatedEvent; use OCP\Files\IRootFolder; +use OCP\Group\Events\GroupChangedEvent; use OCP\Group\Events\UserAddedEvent; use OCP\IDBConnection; use OCP\IGroup; @@ -108,6 +110,7 @@ class Application extends App implements IBootstrap { $context->registerNotifierService(Notifier::class); $context->registerEventListener(UserChangedEvent::class, DisplayNameCache::class); + $context->registerEventListener(GroupChangedEvent::class, GroupDisplayNameCache::class); } public function boot(IBootContext $context): void { diff --git a/apps/files_sharing/src/components/SharingEntry.vue b/apps/files_sharing/src/components/SharingEntry.vue index 7cc283e705c..932f65c20b2 100644 --- a/apps/files_sharing/src/components/SharingEntry.vue +++ b/apps/files_sharing/src/components/SharingEntry.vue @@ -99,7 +99,7 @@ :hide-label="true" :class="{ error: errors.expireDate}" :disabled="saving" - :value="share.expireDate" + :value="new Date(share.expireDate)" type="date" :min="dateTomorrow" :max="dateMaxEnforced" @@ -149,7 +149,7 @@ import NcActionInput from '@nextcloud/vue/dist/Components/NcActionInput' import NcActionTextEditable from '@nextcloud/vue/dist/Components/NcActionTextEditable' import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip' -import SharesMixin from '../mixins/SharesMixin' +import SharesMixin from '../mixins/SharesMixin.js' export default { name: 'SharingEntry', @@ -374,12 +374,10 @@ export default { return this.config.isDefaultInternalExpireDateEnforced || !!this.share.expireDate }, set(enabled) { - let defaultExpirationDate = this.config.defaultInternalExpirationDate - if (!defaultExpirationDate) { - defaultExpirationDate = new Date() - } + const defaultExpirationDate = this.config.defaultInternalExpirationDate + || new Date(new Date().setDate(new Date().getDate() + 1)) this.share.expireDate = enabled - ? defaultExpirationDate + ? this.formatDateToString(defaultExpirationDate) : '' console.debug('Expiration date status', enabled, this.share.expireDate) }, diff --git a/apps/files_sharing/src/components/SharingEntryInternal.vue b/apps/files_sharing/src/components/SharingEntryInternal.vue index 03a1ba87b71..9912648357c 100644 --- a/apps/files_sharing/src/components/SharingEntryInternal.vue +++ b/apps/files_sharing/src/components/SharingEntryInternal.vue @@ -9,27 +9,33 @@ <div class="avatar-external icon-external-white" /> </template> - <NcActionLink :href="internalLink" - :aria-label="t('files_sharing', 'Copy internal link to clipboard')" - target="_blank" - :icon="copied && copySuccess ? 'icon-checkmark-color' : 'icon-clippy'" + <NcActionButton :aria-label="t('files_sharing', 'Copy internal link to clipboard')" @click.prevent="copyLink"> + <template #icon> + <Check v-if="copied && copySuccess" :size="20" /> + <ClipboardTextMultipleOutline v-else :size="20" /> + </template> {{ clipboardTooltip }} - </NcActionLink> + </NcActionButton> </SharingEntrySimple> </ul> </template> <script> import { generateUrl } from '@nextcloud/router' -import NcActionLink from '@nextcloud/vue/dist/Components/NcActionLink' +import { NcActionButton } from '@nextcloud/vue' import SharingEntrySimple from './SharingEntrySimple' +import Check from 'vue-material-design-icons/Check.vue' +import ClipboardTextMultipleOutline from 'vue-material-design-icons/ClipboardTextMultipleOutline.vue' + export default { name: 'SharingEntryInternal', components: { - NcActionLink, + Check, + ClipboardTextMultipleOutline, + NcActionButton, SharingEntrySimple, }, diff --git a/apps/files_sharing/src/components/SharingEntryLink.vue b/apps/files_sharing/src/components/SharingEntryLink.vue index e1118e680c0..930bae849c2 100644 --- a/apps/files_sharing/src/components/SharingEntryLink.vue +++ b/apps/files_sharing/src/components/SharingEntryLink.vue @@ -38,13 +38,14 @@ <NcActions v-if="share && !isEmailShareType && share.token" ref="copyButton" class="sharing-entry__copy"> - <NcActionLink :href="shareLink" - target="_blank" - :aria-label="t('files_sharing', 'Copy public link to clipboard')" - :icon="copied && copySuccess ? 'icon-checkmark-color' : 'icon-clippy'" + <NcActionButton :aria-label="t('files_sharing', 'Copy public link to clipboard')" @click.stop.prevent="copyLink"> + <template #icon> + <Check v-if="copied && copySuccess" :size="20" /> + <ClipboardTextMultipleOutline v-else :size="20" /> + </template> {{ clipboardTooltip }} - </NcActionLink> + </NcActionButton> </NcActions> <!-- pending actions --> @@ -97,14 +98,15 @@ {{ t('files_sharing', 'Expiration date (enforced)') }} </NcActionText> <NcActionInput v-if="pendingExpirationDate" - v-model="share.expireDate" class="share-link-expire-date" :disabled="saving" :is-native-picker="true" :hide-label="true" + :value="new Date(share.expireDate)" type="date" :min="dateTomorrow" - :max="dateMaxEnforced"> + :max="dateMaxEnforced" + @input="onExpirationChange"> <!-- let's not submit when picked, the user might want to still edit or copy the password --> {{ t('files_sharing', 'Enter a date') }} @@ -218,7 +220,7 @@ class="share-link-expire-date" :class="{ error: errors.expireDate}" :disabled="saving" - :value="share.expireDate" + :value="new Date(share.expireDate)" type="date" :min="dateTomorrow" :max="dateMaxEnforced" @@ -298,40 +300,48 @@ <script> import { generateUrl } from '@nextcloud/router' +import { showError, showSuccess } from '@nextcloud/dialogs' import { Type as ShareTypes } from '@nextcloud/sharing' import Vue from 'vue' -import NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton' -import NcActionCheckbox from '@nextcloud/vue/dist/Components/NcActionCheckbox' -import NcActionInput from '@nextcloud/vue/dist/Components/NcActionInput' -import NcActionLink from '@nextcloud/vue/dist/Components/NcActionLink' -import NcActionText from '@nextcloud/vue/dist/Components/NcActionText' -import NcActionSeparator from '@nextcloud/vue/dist/Components/NcActionSeparator' -import NcActionTextEditable from '@nextcloud/vue/dist/Components/NcActionTextEditable' -import NcActions from '@nextcloud/vue/dist/Components/NcActions' -import NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar' -import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip' - -import ExternalShareAction from './ExternalShareAction' -import SharePermissionsEditor from './SharePermissionsEditor' -import GeneratePassword from '../utils/GeneratePassword' -import Share from '../models/Share' -import SharesMixin from '../mixins/SharesMixin' +import { + NcActionButton, + NcActionCheckbox, + NcActionInput, + NcActionLink, + NcActions, + NcActionSeparator, + NcActionText, + NcActionTextEditable, + NcAvatar, + Tooltip, +} from '@nextcloud/vue' + +import ExternalShareAction from './ExternalShareAction.vue' +import SharePermissionsEditor from './SharePermissionsEditor.vue' +import GeneratePassword from '../utils/GeneratePassword.js' +import Share from '../models/Share.js' +import SharesMixin from '../mixins/SharesMixin.js' + +import Check from 'vue-material-design-icons/Check.vue' +import ClipboardTextMultipleOutline from 'vue-material-design-icons/ClipboardTextMultipleOutline.vue' export default { name: 'SharingEntryLink', components: { - NcActions, + Check, + ClipboardTextMultipleOutline, + ExternalShareAction, NcActionButton, NcActionCheckbox, NcActionInput, NcActionLink, + NcActions, + NcActionSeparator, NcActionText, NcActionTextEditable, - NcActionSeparator, NcAvatar, - ExternalShareAction, SharePermissionsEditor, }, @@ -422,12 +432,10 @@ export default { || !!this.share.expireDate }, set(enabled) { - let defaultExpirationDate = this.config.defaultExpirationDate - if (!defaultExpirationDate) { - defaultExpirationDate = new Date() - } - this.share.state.expiration = enabled - ? defaultExpirationDate + const defaultExpirationDate = this.config.defaultExpirationDate + || new Date(new Date().setDate(new Date().getDate() + 1)) + this.share.expireDate = enabled + ? this.formatDateToString(defaultExpirationDate) : '' console.debug('Expiration date status', enabled, this.share.expireDate) }, @@ -435,7 +443,7 @@ export default { dateMaxEnforced() { if (this.config.isDefaultExpireDateEnforced) { - return new Date(new Date().setDate(new Date().getDate() + 1 + this.config.defaultExpireDate)) + return new Date(new Date().setDate(new Date().getDate() + this.config.defaultExpireDate)) } return null }, @@ -620,7 +628,7 @@ export default { if (this.config.isDefaultExpireDateEnforced) { // default is empty string if not set // expiration is the share object key, not expireDate - shareDefaults.expiration = this.config.defaultExpirationDate + shareDefaults.expiration = this.formatDateToString(this.config.defaultExpirationDate) } if (this.config.enableLinkPasswordByDefault) { shareDefaults.password = await GeneratePassword() @@ -687,7 +695,7 @@ export default { this.errors = {} const path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/') - const newShare = await this.createShare({ + const options = { path, shareType: ShareTypes.SHARE_TYPE_LINK, password: share.password, @@ -698,10 +706,12 @@ export default { // Todo: We also need to fix the createShare method in // lib/Controller/ShareAPIController.php to allow file drop // (currently not supported on create, only update) - }) + } - this.open = false + console.debug('Creating link share with options', options) + const newShare = await this.createShare(options) + this.open = false console.debug('Link share created', newShare) // if share already exists, copy link directly on next tick @@ -728,8 +738,14 @@ export default { component.copyLink() } - } catch ({ response }) { - const message = response.data.ocs.meta.message + } catch (data) { + const message = data?.response?.data?.ocs?.meta?.message + if (!message) { + showError(t('sharing', 'Error while creating the share')) + console.error(data) + return + } + if (message.match(/password/i)) { this.onSyncError('password', message) } else if (message.match(/date/i)) { @@ -758,6 +774,7 @@ export default { if (typeof this.share.newLabel === 'string') { this.share.label = this.share.newLabel this.$delete(this.share, 'newLabel') + showSuccess(t('files_sharing', 'Share label saved')) this.queueUpdate('label') } }, @@ -824,6 +841,7 @@ export default { onPasswordSubmit() { if (this.hasUnsavedPassword) { this.share.password = this.share.newPassword.trim() + showSuccess(t('files_sharing', 'Share password saved')) this.queueUpdate('password') } }, diff --git a/apps/files_sharing/src/components/SharingInput.vue b/apps/files_sharing/src/components/SharingInput.vue index 6c73180865e..27d08f77a29 100644 --- a/apps/files_sharing/src/components/SharingInput.vue +++ b/apps/files_sharing/src/components/SharingInput.vue @@ -21,31 +21,35 @@ --> <template> - <NcMultiselect ref="multiselect" - class="sharing-input" - :clear-on-select="true" - :disabled="!canReshare" - :hide-selected="true" - :internal-search="false" - :loading="loading" - :options="options" - :placeholder="inputPlaceholder" - :preselect-first="true" - :preserve-search="true" - :searchable="true" - :user-select="true" - open-direction="below" - label="displayName" - track-by="id" - @search-change="asyncFind" - @select="addShare"> - <template #noOptions> - {{ t('files_sharing', 'No recommendations. Start typing.') }} - </template> - <template #noResult> - {{ noResultText }} - </template> - </NcMultiselect> + <div class="sharing-search"> + <label for="sharing-search-input">{{ t('files_sharing', 'Search for share recipients') }}</label> + <NcMultiselect ref="multiselect" + id="sharing-search-input" + class="sharing-search__input" + :clear-on-select="true" + :disabled="!canReshare" + :hide-selected="true" + :internal-search="false" + :loading="loading" + :options="options" + :placeholder="inputPlaceholder" + :preselect-first="true" + :preserve-search="true" + :searchable="true" + :user-select="true" + open-direction="below" + label="displayName" + track-by="id" + @search-change="asyncFind" + @select="addShare"> + <template #noOptions> + {{ t('files_sharing', 'No recommendations. Start typing.') }} + </template> + <template #noResult> + {{ noResultText }} + </template> + </NcMultiselect> + </div> </template> <script> @@ -521,20 +525,30 @@ export default { </script> <style lang="scss"> -.sharing-input { - width: 100%; - margin: 10px 0; - - // properly style the lookup entry - .multiselect__option { - span[lookup] { - .avatardiv { - background-image: var(--icon-search-white); - background-repeat: no-repeat; - background-position: center; - background-color: var(--color-text-maxcontrast) !important; - div { - display: none; +.sharing-search { + display: flex; + flex-direction: column; + margin-bottom: 4px; + + label[for="sharing-search-input"] { + margin-bottom: 2px; + } + + &__input { + width: 100%; + margin: 10px 0; + + // properly style the lookup entry + .multiselect__option { + span[lookup] { + .avatardiv { + background-image: var(--icon-search-white); + background-repeat: no-repeat; + background-position: center; + background-color: var(--color-text-maxcontrast) !important; + div { + display: none; + } } } } diff --git a/apps/files_sharing/src/files_sharing_tab.js b/apps/files_sharing/src/files_sharing_tab.js index c06ec051c4e..85bbd869932 100644 --- a/apps/files_sharing/src/files_sharing_tab.js +++ b/apps/files_sharing/src/files_sharing_tab.js @@ -25,11 +25,14 @@ import Vue from 'vue' import VueClipboard from 'vue-clipboard2' import { translate as t, translatePlural as n } from '@nextcloud/l10n' -import SharingTab from './views/SharingTab' -import ShareSearch from './services/ShareSearch' -import ExternalLinkActions from './services/ExternalLinkActions' -import ExternalShareActions from './services/ExternalShareActions' -import TabSections from './services/TabSections' +import SharingTab from './views/SharingTab.vue' +import ShareSearch from './services/ShareSearch.js' +import ExternalLinkActions from './services/ExternalLinkActions.js' +import ExternalShareActions from './services/ExternalShareActions.js' +import TabSections from './services/TabSections.js' + +// eslint-disable-next-line node/no-missing-import, import/no-unresolved +import ShareVariant from '@mdi/svg/svg/share-variant.svg?raw' // Init Sharing Tab Service if (!window.OCA.Sharing) { @@ -53,7 +56,7 @@ window.addEventListener('DOMContentLoaded', function() { OCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab({ id: 'sharing', name: t('files_sharing', 'Sharing'), - icon: 'icon-share', + iconSvg: ShareVariant, async mount(el, fileInfo, context) { if (TabInstance) { diff --git a/apps/files_sharing/src/mixins/SharesMixin.js b/apps/files_sharing/src/mixins/SharesMixin.js index cdedd213aff..e5fb141e127 100644 --- a/apps/files_sharing/src/mixins/SharesMixin.js +++ b/apps/files_sharing/src/mixins/SharesMixin.js @@ -25,15 +25,16 @@ * */ +import { showSuccess } from '@nextcloud/dialogs' +import { getCurrentUser } from '@nextcloud/auth' // eslint-disable-next-line import/no-unresolved, node/no-missing-import import PQueue from 'p-queue' import debounce from 'debounce' -import Share from '../models/Share' -import SharesRequests from './ShareRequests' -import ShareTypes from './ShareTypes' -import Config from '../services/ConfigService' -import { getCurrentUser } from '@nextcloud/auth' +import Share from '../models/Share.js' +import SharesRequests from './ShareRequests.js' +import ShareTypes from './ShareTypes.js' +import Config from '../services/ConfigService.js' export default { mixins: [SharesRequests, ShareTypes], @@ -151,12 +152,35 @@ export default { }, /** + * @param {string} date a date with YYYY-MM-DD format + * @return {Date} date + */ + parseDateString(date) { + if (!date) { + return + } + const regex = /([0-9]{4}-[0-9]{2}-[0-9]{2})/i + return new Date(date.match(regex)?.pop()) + }, + + /** + * @param {Date} date + * @return {string} date a date with YYYY-MM-DD format + */ + formatDateToString(date) { + // Force utc time. Drop time information to be timezone-less + const utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate())) + // Format to YYYY-MM-DD + return utcDate.toISOString().split('T')[0] + }, + + /** * Save given value to expireDate and trigger queueUpdate * * @param {Date} date */ onExpirationChange(date) { - this.share.expireDate = date + this.share.expireDate = this.formatDateToString(date) this.queueUpdate('expireDate') }, @@ -188,6 +212,7 @@ export default { if (this.share.newNote) { this.share.note = this.share.newNote this.$delete(this.share, 'newNote') + showSuccess(t('files_sharing', 'Share note saved')) this.queueUpdate('note') } }, @@ -201,6 +226,10 @@ export default { this.open = false await this.deleteShare(this.share.id) console.debug('Share deleted', this.share.id) + const message = this.share.itemType === 'file' + ? t('files_sharing', 'File "{path}" has been unshared', { path: this.share.path }) + : t('files_sharing', 'Folder "{path}" has been unshared', { path: this.share.path }) + showSuccess(message) this.$emit('remove:share', this.share) } catch (error) { // re-open menu if error @@ -258,9 +287,11 @@ export default { this.saving = false } }) - } else { - console.error('Cannot update share.', this.share, 'No valid id') + return } + + // This share does not exists on the server yet + console.debug('Updated local share', this.share) }, /** diff --git a/apps/files_sharing/src/models/Share.js b/apps/files_sharing/src/models/Share.js index bc35cefb1a7..9b1535184a0 100644 --- a/apps/files_sharing/src/models/Share.js +++ b/apps/files_sharing/src/models/Share.js @@ -250,7 +250,7 @@ export default class Share { /** * Get the expiration date * - * @return {Date|null} + * @return {string} date with YYYY-MM-DD format * @readonly * @memberof Share */ @@ -261,7 +261,7 @@ export default class Share { /** * Set the expiration date * - * @param {Date|null} date the share expiration date + * @param {string} date the share expiration date with YYYY-MM-DD format * @memberof Share */ set expireDate(date) { diff --git a/apps/files_sharing/tests/ShareTest.php b/apps/files_sharing/tests/ShareTest.php index 45c7ceb61ef..45bd5a3d707 100644 --- a/apps/files_sharing/tests/ShareTest.php +++ b/apps/files_sharing/tests/ShareTest.php @@ -39,6 +39,8 @@ class ShareTest extends TestCase { private static $tempStorage; + private string $subsubfolder = ''; + protected function setUp(): void { parent::setUp(); @@ -176,14 +178,14 @@ class ShareTest extends TestCase { $shares = $this->shareManager->getSharedWith(self::TEST_FILES_SHARING_API_USER2, IShare::TYPE_GROUP); $share = $shares[0]; - $this->assertSame('/test.txt' ,$share->getTarget()); + $this->assertSame('/test.txt', $share->getTarget()); $this->assertSame(19, $share->getPermissions()); \OC\Files\Filesystem::rename('test.txt', 'new test.txt'); $shares = $this->shareManager->getSharedWith(self::TEST_FILES_SHARING_API_USER2, IShare::TYPE_GROUP); $share = $shares[0]; - $this->assertSame('/new test.txt' ,$share->getTarget()); + $this->assertSame('/new test.txt', $share->getTarget()); $this->assertSame(19, $share->getPermissions()); $share->setPermissions(\OCP\Constants::PERMISSION_READ | \OCP\Constants::PERMISSION_UPDATE); @@ -193,7 +195,7 @@ class ShareTest extends TestCase { $shares = $this->shareManager->getSharedWith(self::TEST_FILES_SHARING_API_USER2, IShare::TYPE_GROUP); $share = $shares[0]; - $this->assertSame('/new test.txt' ,$share->getTarget()); + $this->assertSame('/new test.txt', $share->getTarget()); $this->assertSame(3, $share->getPermissions()); } diff --git a/apps/files_trashbin/composer/autoload.php b/apps/files_trashbin/composer/autoload.php index 4e88a44133f..e493d13ddcb 100644 --- a/apps/files_trashbin/composer/autoload.php +++ b/apps/files_trashbin/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/files_trashbin/composer/composer/installed.php b/apps/files_trashbin/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/files_trashbin/composer/composer/installed.php +++ b/apps/files_trashbin/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/files_trashbin/l10n/en_GB.js b/apps/files_trashbin/l10n/en_GB.js index 9d308c31222..f541766152b 100644 --- a/apps/files_trashbin/l10n/en_GB.js +++ b/apps/files_trashbin/l10n/en_GB.js @@ -3,10 +3,16 @@ OC.L10N.register( { "Deleted files" : "Deleted files", "restored" : "restored", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)", "This application enables users to restore files that were deleted from the system." : "This application enables users to restore files that were deleted from the system.", "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the rubbish bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilise more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation.", "Restore" : "Restore", "Delete permanently" : "Delete permanently", + "Error while restoring file from trash bin" : "Error while restoring file from trash bin", + "Error while removing file from trash bin" : "Error while removing file from trash bin", + "Error while restoring files from trash bin" : "Error while restoring files from trash bin", + "Error while emptying trash bin" : "Error while emptying trash bin", + "Error while removing files from trash bin" : "Error while removing files from trash bin", "This operation is forbidden" : "This operation is forbidden", "This directory is unavailable, please check the logs or contact the administrator" : "This directory is unavailable, please check the logs or contact the administrator", "No deleted files" : "No deleted files", diff --git a/apps/files_trashbin/l10n/en_GB.json b/apps/files_trashbin/l10n/en_GB.json index 2590d9d6279..251c594c214 100644 --- a/apps/files_trashbin/l10n/en_GB.json +++ b/apps/files_trashbin/l10n/en_GB.json @@ -1,10 +1,16 @@ { "translations": { "Deleted files" : "Deleted files", "restored" : "restored", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)", "This application enables users to restore files that were deleted from the system." : "This application enables users to restore files that were deleted from the system.", "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the rubbish bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilise more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation.", "Restore" : "Restore", "Delete permanently" : "Delete permanently", + "Error while restoring file from trash bin" : "Error while restoring file from trash bin", + "Error while removing file from trash bin" : "Error while removing file from trash bin", + "Error while restoring files from trash bin" : "Error while restoring files from trash bin", + "Error while emptying trash bin" : "Error while emptying trash bin", + "Error while removing files from trash bin" : "Error while removing files from trash bin", "This operation is forbidden" : "This operation is forbidden", "This directory is unavailable, please check the logs or contact the administrator" : "This directory is unavailable, please check the logs or contact the administrator", "No deleted files" : "No deleted files", diff --git a/apps/files_trashbin/l10n/ja.js b/apps/files_trashbin/l10n/ja.js index 6567f219c12..b732d03b228 100644 --- a/apps/files_trashbin/l10n/ja.js +++ b/apps/files_trashbin/l10n/ja.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Deleted files" : "ゴミ箱", "restored" : "復元済", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "ゴミ箱にある削除されたファイルやフォルダ(ストレージ容量が足りない場合、エクスポート操作中に削除されることがあります)", "This application enables users to restore files that were deleted from the system." : "このアプリケーションを使用すると、ユーザーはシステムから削除されたファイルを復元できます。", "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "このアプリケーションを使用すると、システムから削除されたファイルを復元できます。削除されたファイルのリストがWebインターフェイスに表示され、削除されたファイルをユーザーのファイルディレクトリに復元するか、システムから完全に削除するかを選択できます。バージョン管理アプリが有効になっている場合、ファイルを復元すると、関連するファイルバージョンも復元されます。共有から削除されたファイルは、共有されなくなりますが、同じ方法で復元できます。デフォルトでは、ファイルは30日間ごみ箱に残ります。\nディスク領域圧迫を防ぐため、 「削除済みファイル」 アプリでは、削除済みファイルに現在使用可能な割当て容量の50%を超える容量は使用されません。削除されたファイルがこの制限を超えると、この制限を下回るまで最も古いファイルが削除されます。詳細については、削除済みファイルのマニュアルを参照してください。", "Restore" : "復元", diff --git a/apps/files_trashbin/l10n/ja.json b/apps/files_trashbin/l10n/ja.json index 81961f163b8..1c03907852d 100644 --- a/apps/files_trashbin/l10n/ja.json +++ b/apps/files_trashbin/l10n/ja.json @@ -1,6 +1,7 @@ { "translations": { "Deleted files" : "ゴミ箱", "restored" : "復元済", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "ゴミ箱にある削除されたファイルやフォルダ(ストレージ容量が足りない場合、エクスポート操作中に削除されることがあります)", "This application enables users to restore files that were deleted from the system." : "このアプリケーションを使用すると、ユーザーはシステムから削除されたファイルを復元できます。", "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "このアプリケーションを使用すると、システムから削除されたファイルを復元できます。削除されたファイルのリストがWebインターフェイスに表示され、削除されたファイルをユーザーのファイルディレクトリに復元するか、システムから完全に削除するかを選択できます。バージョン管理アプリが有効になっている場合、ファイルを復元すると、関連するファイルバージョンも復元されます。共有から削除されたファイルは、共有されなくなりますが、同じ方法で復元できます。デフォルトでは、ファイルは30日間ごみ箱に残ります。\nディスク領域圧迫を防ぐため、 「削除済みファイル」 アプリでは、削除済みファイルに現在使用可能な割当て容量の50%を超える容量は使用されません。削除されたファイルがこの制限を超えると、この制限を下回るまで最も古いファイルが削除されます。詳細については、削除済みファイルのマニュアルを参照してください。", "Restore" : "復元", diff --git a/apps/files_trashbin/l10n/lt_LT.js b/apps/files_trashbin/l10n/lt_LT.js index d2c2b7ecdd3..e0a8af94243 100644 --- a/apps/files_trashbin/l10n/lt_LT.js +++ b/apps/files_trashbin/l10n/lt_LT.js @@ -7,6 +7,11 @@ OC.L10N.register( "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ši programa leidžia vartotojams atkurti iš sistemos ištrintus failus. Ištrintų failų sąrašas yra gali būti atvaizduojamas žiniatinklyje ir turi nustatymus atkurti ištrintus failus vartotojų failų kataloguose arba visam laikui pašalinti juos iš sistemos. Atkūrus failą, kartu atkuriamos ir failo versijos, jei yra įjungta versijavimo programa. Ištrynus failą iš bendrinimo, jį taip pat galima atkurti , nors jis nebebendrinamas. Pagal numatytuosius nustatymus ištrinti failai lieka šiukšliadėžėje 30 dienų.\nKad naudotojai nepritrūktų vietos diske, programa „Ištrinti failai“ negali naudoti daugiau kaip 50% šiuo metu turimų nemokamų panaikintų failų kvotų. Jei numatyta riba yra viršijama, programa atrenka seniausius failus ir juos ištrina, kad užimata vieta neviršytų numatytosios ribos. Daugiau informacijos galite rasti ištrintų failų dokumentuose.", "Restore" : "Atkurti", "Delete permanently" : "Ištrinti negrįžtamai", + "Error while restoring file from trash bin" : "Klaida atkuriant failą iš šiukšlinės", + "Error while removing file from trash bin" : "Klaida šalinant failą iš šiukšlinės", + "Error while restoring files from trash bin" : "Klaida atkuriant failus iš šiukšlinės", + "Error while emptying trash bin" : "Klaida išvalant šiukšlinę", + "Error while removing files from trash bin" : "Klaida šalinant failus iš šiukšlinės", "This operation is forbidden" : "Ši operacija yra uždrausta", "This directory is unavailable, please check the logs or contact the administrator" : "Šis katalogas neprieinamas, peržiūrėkite žurnalo įrašus arba susisiekite su administratoriumi", "No deleted files" : "Jokių ištrintų failų", diff --git a/apps/files_trashbin/l10n/lt_LT.json b/apps/files_trashbin/l10n/lt_LT.json index 8b426106450..8cfa67e7f4c 100644 --- a/apps/files_trashbin/l10n/lt_LT.json +++ b/apps/files_trashbin/l10n/lt_LT.json @@ -5,6 +5,11 @@ "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ši programa leidžia vartotojams atkurti iš sistemos ištrintus failus. Ištrintų failų sąrašas yra gali būti atvaizduojamas žiniatinklyje ir turi nustatymus atkurti ištrintus failus vartotojų failų kataloguose arba visam laikui pašalinti juos iš sistemos. Atkūrus failą, kartu atkuriamos ir failo versijos, jei yra įjungta versijavimo programa. Ištrynus failą iš bendrinimo, jį taip pat galima atkurti , nors jis nebebendrinamas. Pagal numatytuosius nustatymus ištrinti failai lieka šiukšliadėžėje 30 dienų.\nKad naudotojai nepritrūktų vietos diske, programa „Ištrinti failai“ negali naudoti daugiau kaip 50% šiuo metu turimų nemokamų panaikintų failų kvotų. Jei numatyta riba yra viršijama, programa atrenka seniausius failus ir juos ištrina, kad užimata vieta neviršytų numatytosios ribos. Daugiau informacijos galite rasti ištrintų failų dokumentuose.", "Restore" : "Atkurti", "Delete permanently" : "Ištrinti negrįžtamai", + "Error while restoring file from trash bin" : "Klaida atkuriant failą iš šiukšlinės", + "Error while removing file from trash bin" : "Klaida šalinant failą iš šiukšlinės", + "Error while restoring files from trash bin" : "Klaida atkuriant failus iš šiukšlinės", + "Error while emptying trash bin" : "Klaida išvalant šiukšlinę", + "Error while removing files from trash bin" : "Klaida šalinant failus iš šiukšlinės", "This operation is forbidden" : "Ši operacija yra uždrausta", "This directory is unavailable, please check the logs or contact the administrator" : "Šis katalogas neprieinamas, peržiūrėkite žurnalo įrašus arba susisiekite su administratoriumi", "No deleted files" : "Jokių ištrintų failų", diff --git a/apps/files_versions/composer/autoload.php b/apps/files_versions/composer/autoload.php index f75dc09160c..4505dd14227 100644 --- a/apps/files_versions/composer/autoload.php +++ b/apps/files_versions/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/files_versions/composer/composer/installed.php b/apps/files_versions/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/files_versions/composer/composer/installed.php +++ b/apps/files_versions/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/files_versions/l10n/bg.js b/apps/files_versions/l10n/bg.js index 2ad9322a9f5..c80ffaa05cb 100644 --- a/apps/files_versions/l10n/bg.js +++ b/apps/files_versions/l10n/bg.js @@ -4,10 +4,11 @@ OC.L10N.register( "Versions" : "Версии", "This application automatically maintains older versions of files that are changed." : "Това приложение автоматично поддържа по-стари версии на файлове, които са променени.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Това приложение автоматично поддържа по-стари версии на файлове, които са променени. Когато е активирана, папката със скрити версии се предоставя в директорията на всеки потребител и се използва за съхраняване на стари версии на файлове. Потребителят може да се върне към по-стара версия чрез уеб интерфейса по всяко време, като замененият файл се превръща във версия. Приложението автоматично управлява папка с версии, за да гарантира, че потребителят няма да изчерпи квотата заради версиите.\nВ допълнение към изтичането на версиите, приложението за версии гарантира, че никога няма да използва повече от 50% от наличното в момента свободно пространство на потребителя. Ако съхранените версии надвишават това ограничение, приложението първо ще изтрие най-старите версии, докато не достигне това ограничение. Повече информация можете да намерите в документацията за версиите.", + "Version" : "Версия", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Това приложение автоматично поддържа по-стари версии на файлове, които са променени. Когато е активирана, папката със скрити версии се предоставя в директорията на всеки потребител и се използва за съхраняване на стари версии на файлове. Потребителят може да се върне към по-стара версия чрез уеб интерфейса по всяко време, като замененият файл се превръща във версия. Приложението автоматично управлява папката с версии, за да гарантира, че потребителят няма да изчерпи квотата заради версиите.\nВ допълнение към изтичането на версиите, приложението за версии гарантира, че никога няма да използва повече от 50% от наличното в момента свободно пространство на потребителя. Ако съхранените версии надвишават това ограничение, приложението първо ще изтрие най-старите версии, докато не достигне това ограничение. Повече информация можете да намерите в документацията за версиите.", "Failed to revert {file} to revision {timestamp}." : "Грешка при връщане на {file} към версия {timestamp}.", "_%n byte_::_%n bytes_" : ["%n байт","%n байта"], "Restore" : "Възтановяване", - "No other versions available" : "Няма версии", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Това приложение автоматично поддържа по-стари версии на файлове, които са променени. Когато е активирана, папката със скрити версии се предоставя в директорията на всеки потребител и се използва за съхраняване на стари версии на файлове. Потребителят може да се върне към по-стара версия чрез уеб интерфейса по всяко време, като замененият файл се превръща във версия. Приложението автоматично управлява папката с версии, за да гарантира, че потребителят няма да изчерпи квотата заради версиите.\nВ допълнение към изтичането на версиите, приложението за версии гарантира, че никога няма да използва повече от 50% от наличното в момента свободно пространство на потребителя. Ако съхранените версии надвишават това ограничение, приложението първо ще изтрие най-старите версии, докато не достигне това ограничение. Повече информация можете да намерите в документацията за версиите." + "No other versions available" : "Няма версии" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/bg.json b/apps/files_versions/l10n/bg.json index 284e87877f6..30239ecd8d1 100644 --- a/apps/files_versions/l10n/bg.json +++ b/apps/files_versions/l10n/bg.json @@ -2,10 +2,11 @@ "Versions" : "Версии", "This application automatically maintains older versions of files that are changed." : "Това приложение автоматично поддържа по-стари версии на файлове, които са променени.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Това приложение автоматично поддържа по-стари версии на файлове, които са променени. Когато е активирана, папката със скрити версии се предоставя в директорията на всеки потребител и се използва за съхраняване на стари версии на файлове. Потребителят може да се върне към по-стара версия чрез уеб интерфейса по всяко време, като замененият файл се превръща във версия. Приложението автоматично управлява папка с версии, за да гарантира, че потребителят няма да изчерпи квотата заради версиите.\nВ допълнение към изтичането на версиите, приложението за версии гарантира, че никога няма да използва повече от 50% от наличното в момента свободно пространство на потребителя. Ако съхранените версии надвишават това ограничение, приложението първо ще изтрие най-старите версии, докато не достигне това ограничение. Повече информация можете да намерите в документацията за версиите.", + "Version" : "Версия", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Това приложение автоматично поддържа по-стари версии на файлове, които са променени. Когато е активирана, папката със скрити версии се предоставя в директорията на всеки потребител и се използва за съхраняване на стари версии на файлове. Потребителят може да се върне към по-стара версия чрез уеб интерфейса по всяко време, като замененият файл се превръща във версия. Приложението автоматично управлява папката с версии, за да гарантира, че потребителят няма да изчерпи квотата заради версиите.\nВ допълнение към изтичането на версиите, приложението за версии гарантира, че никога няма да използва повече от 50% от наличното в момента свободно пространство на потребителя. Ако съхранените версии надвишават това ограничение, приложението първо ще изтрие най-старите версии, докато не достигне това ограничение. Повече информация можете да намерите в документацията за версиите.", "Failed to revert {file} to revision {timestamp}." : "Грешка при връщане на {file} към версия {timestamp}.", "_%n byte_::_%n bytes_" : ["%n байт","%n байта"], "Restore" : "Възтановяване", - "No other versions available" : "Няма версии", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Това приложение автоматично поддържа по-стари версии на файлове, които са променени. Когато е активирана, папката със скрити версии се предоставя в директорията на всеки потребител и се използва за съхраняване на стари версии на файлове. Потребителят може да се върне към по-стара версия чрез уеб интерфейса по всяко време, като замененият файл се превръща във версия. Приложението автоматично управлява папката с версии, за да гарантира, че потребителят няма да изчерпи квотата заради версиите.\nВ допълнение към изтичането на версиите, приложението за версии гарантира, че никога няма да използва повече от 50% от наличното в момента свободно пространство на потребителя. Ако съхранените версии надвишават това ограничение, приложението първо ще изтрие най-старите версии, докато не достигне това ограничение. Повече информация можете да намерите в документацията за версиите." + "No other versions available" : "Няма версии" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/br.js b/apps/files_versions/l10n/br.js index c0432d563bc..2b6cc838a27 100644 --- a/apps/files_versions/l10n/br.js +++ b/apps/files_versions/l10n/br.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "Stumm", "This application automatically maintains older versions of files that are changed." : "Ar meziant-man a laosk en un doare otomatek stumm ar resrtoù kozh a vez cheñchet", + "Version" : "Stumm", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ar meziant a dalc'h en un doare otomatek stummoù kozh ar restroù cheñchet. P'az eo aotreet, un teuliad koachet a vez roet e pep teuliad an implijour evit gwarn stummoù kozh ar restr. An implijer a c'hel adkemer ur stumm kozh n'eus forz peseurt amzer dre an etrefas web. Ar meziant a ra war dro teuliad ar stummoù evit bezhañ sur ez eus traouac'h a cQuota gant an implijer.\n\t\tOuzhpenn ar stumm diskarzed, stumm ar meziant a ra ma ne vefe ket implijet muioc'h eget 50% eus a plass vak an implijer. M'a vez dibaset e vo lemmet gant ar meziant ar stumm kozhañ da gentañ. Muioc'h titouriù en dielvadur Versions. ", "Failed to revert {file} to revision {timestamp}." : "C'hwitet m ar mon en dro {file} evit adober {timestamp}.", "_%n byte_::_%n bytes_" : ["%n okted","%n okted","%n okted","%n okted","%n octed"], "Restore" : "Adkrouiñ", - "No other versions available" : "Stumm all ebet kavet", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ar meziant a dalc'h en un doare otomatek stummoù kozh ar restroù cheñchet. P'az eo aotreet, un teuliad koachet a vez roet e pep teuliad an implijour evit gwarn stummoù kozh ar restr. An implijer a c'hel adkemer ur stumm kozh n'eus forz peseurt amzer dre an etrefas web. Ar meziant a ra war dro teuliad ar stummoù evit bezhañ sur ez eus traouac'h a cQuota gant an implijer.\n\t\tOuzhpenn ar stumm diskarzed, stumm ar meziant a ra ma ne vefe ket implijet muioc'h eget 50% eus a plass vak an implijer. M'a vez dibaset e vo lemmet gant ar meziant ar stumm kozhañ da gentañ. Muioc'h titouriù en dielvadur Versions. " + "No other versions available" : "Stumm all ebet kavet" }, "nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"); diff --git a/apps/files_versions/l10n/br.json b/apps/files_versions/l10n/br.json index 1fd2cd329f0..5ebdc584bee 100644 --- a/apps/files_versions/l10n/br.json +++ b/apps/files_versions/l10n/br.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "Stumm", "This application automatically maintains older versions of files that are changed." : "Ar meziant-man a laosk en un doare otomatek stumm ar resrtoù kozh a vez cheñchet", + "Version" : "Stumm", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ar meziant a dalc'h en un doare otomatek stummoù kozh ar restroù cheñchet. P'az eo aotreet, un teuliad koachet a vez roet e pep teuliad an implijour evit gwarn stummoù kozh ar restr. An implijer a c'hel adkemer ur stumm kozh n'eus forz peseurt amzer dre an etrefas web. Ar meziant a ra war dro teuliad ar stummoù evit bezhañ sur ez eus traouac'h a cQuota gant an implijer.\n\t\tOuzhpenn ar stumm diskarzed, stumm ar meziant a ra ma ne vefe ket implijet muioc'h eget 50% eus a plass vak an implijer. M'a vez dibaset e vo lemmet gant ar meziant ar stumm kozhañ da gentañ. Muioc'h titouriù en dielvadur Versions. ", "Failed to revert {file} to revision {timestamp}." : "C'hwitet m ar mon en dro {file} evit adober {timestamp}.", "_%n byte_::_%n bytes_" : ["%n okted","%n okted","%n okted","%n okted","%n octed"], "Restore" : "Adkrouiñ", - "No other versions available" : "Stumm all ebet kavet", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ar meziant a dalc'h en un doare otomatek stummoù kozh ar restroù cheñchet. P'az eo aotreet, un teuliad koachet a vez roet e pep teuliad an implijour evit gwarn stummoù kozh ar restr. An implijer a c'hel adkemer ur stumm kozh n'eus forz peseurt amzer dre an etrefas web. Ar meziant a ra war dro teuliad ar stummoù evit bezhañ sur ez eus traouac'h a cQuota gant an implijer.\n\t\tOuzhpenn ar stumm diskarzed, stumm ar meziant a ra ma ne vefe ket implijet muioc'h eget 50% eus a plass vak an implijer. M'a vez dibaset e vo lemmet gant ar meziant ar stumm kozhañ da gentañ. Muioc'h titouriù en dielvadur Versions. " + "No other versions available" : "Stumm all ebet kavet" },"pluralForm" :"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/ca.js b/apps/files_versions/l10n/ca.js index 5032407cdb4..7ab9fb543f1 100644 --- a/apps/files_versions/l10n/ca.js +++ b/apps/files_versions/l10n/ca.js @@ -4,10 +4,16 @@ OC.L10N.register( "Versions" : "Versions", "This application automatically maintains older versions of files that are changed." : "Aquesta aplicació conserva automàticament les versions antigues dels fitxers modificats.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aquesta aplicació conserva automàticament les versions antigues dels fitxers modificats. Si s'activa, es crearà una carpeta de versions oculta a cada carpeta dels usuaris i s'utilitzarà per a emmagatzemar les versions antigues dels fitxers. Els usuaris poden recuperar una versió anterior a través de la interfície web en qualsevol moment i el fitxer substituït es converteix en una versió. L'aplicació administra automàticament la carpeta de versions per a assegurar-se que l'usuari no es quedi sense espai per culpa de les versions.\n\t\tA més del venciment de les versions, l'aplicació Versions garanteix que no s'utilitzarà mai més del 50% de l'espai lliure disponible actualment per a l'usuari. Si les versions emmagatzemades superen aquest límit, l'aplicació suprimirà primer les versions més antigues fins que es respecti aquest límit. Podeu trobar més informació a la documentació de Versions.", - "Failed to revert {file} to revision {timestamp}." : "No s'ha pogut recuperar la revisió {timestamp} del fitxer {file}. ", + "Download version" : "Baixada versió", + "Restore version" : "Restaura versió", + "No versions yet" : "Encara no hi ha cap versió", + "Version restored" : "Versió restaurada", + "Could not restore version" : "No s'ha pogut restaurar la versió", + "Version" : "Versió", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aquesta aplicació conserva automàticament les versions antigues dels fitxers modificats. Si s'activa, es crearà una carpeta de versions oculta a cada carpeta dels usuaris i s'utilitzarà per a emmagatzemar les versions antigues dels fitxers. Els usuaris poden recuperar una versió anterior a través de la interfície web en qualsevol moment i el fitxer substituït es converteix en una versió. L'aplicació administra automàticament la carpeta de versions per a assegurar-se que l'usuari no es quedi sense espai per culpa de les versions.\n\t\tA més del venciment de les versions, l'aplicació Versions garanteix que no s'utilitzarà mai més del 50% de l'espai lliure disponible actualment per a l'usuari. Si les versions emmagatzemades superen aquest límit, l'aplicació suprimirà primer les versions més antigues fins que es respecti aquest límit. Podeu trobar més informació a la documentació de Versions.", + "Failed to revert {file} to revision {timestamp}." : "No s'ha pogut recuperar la revisió {timestamp} del fitxer {file}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Restore" : "Recupera", - "No other versions available" : "No hi ha cap altra versió disponible", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aquesta aplicació conserva automàticament les versions antigues dels fitxers modificats. Si s'activa, es crearà una carpeta de versions oculta a cada carpeta dels usuaris i s'utilitzarà per a emmagatzemar les versions antigues dels fitxers. Els usuaris poden recuperar una versió anterior a través de la interfície web en qualsevol moment i el fitxer substituït es converteix en una versió. L'aplicació administra automàticament la carpeta de versions per a assegurar-se que l'usuari no es quedi sense espai per culpa de les versions.\n\t\tA més del venciment de les versions, l'aplicació Versions garanteix que no s'utilitzarà mai més del 50% de l'espai lliure disponible actualment per a l'usuari. Si les versions emmagatzemades superen aquest límit, l'aplicació suprimirà primer les versions més antigues fins que es respecti aquest límit. Podeu trobar més informació a la documentació de Versions." + "No other versions available" : "No hi ha cap altra versió disponible" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/ca.json b/apps/files_versions/l10n/ca.json index 922babf63e1..727e4428f3b 100644 --- a/apps/files_versions/l10n/ca.json +++ b/apps/files_versions/l10n/ca.json @@ -2,10 +2,16 @@ "Versions" : "Versions", "This application automatically maintains older versions of files that are changed." : "Aquesta aplicació conserva automàticament les versions antigues dels fitxers modificats.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aquesta aplicació conserva automàticament les versions antigues dels fitxers modificats. Si s'activa, es crearà una carpeta de versions oculta a cada carpeta dels usuaris i s'utilitzarà per a emmagatzemar les versions antigues dels fitxers. Els usuaris poden recuperar una versió anterior a través de la interfície web en qualsevol moment i el fitxer substituït es converteix en una versió. L'aplicació administra automàticament la carpeta de versions per a assegurar-se que l'usuari no es quedi sense espai per culpa de les versions.\n\t\tA més del venciment de les versions, l'aplicació Versions garanteix que no s'utilitzarà mai més del 50% de l'espai lliure disponible actualment per a l'usuari. Si les versions emmagatzemades superen aquest límit, l'aplicació suprimirà primer les versions més antigues fins que es respecti aquest límit. Podeu trobar més informació a la documentació de Versions.", - "Failed to revert {file} to revision {timestamp}." : "No s'ha pogut recuperar la revisió {timestamp} del fitxer {file}. ", + "Download version" : "Baixada versió", + "Restore version" : "Restaura versió", + "No versions yet" : "Encara no hi ha cap versió", + "Version restored" : "Versió restaurada", + "Could not restore version" : "No s'ha pogut restaurar la versió", + "Version" : "Versió", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aquesta aplicació conserva automàticament les versions antigues dels fitxers modificats. Si s'activa, es crearà una carpeta de versions oculta a cada carpeta dels usuaris i s'utilitzarà per a emmagatzemar les versions antigues dels fitxers. Els usuaris poden recuperar una versió anterior a través de la interfície web en qualsevol moment i el fitxer substituït es converteix en una versió. L'aplicació administra automàticament la carpeta de versions per a assegurar-se que l'usuari no es quedi sense espai per culpa de les versions.\n\t\tA més del venciment de les versions, l'aplicació Versions garanteix que no s'utilitzarà mai més del 50% de l'espai lliure disponible actualment per a l'usuari. Si les versions emmagatzemades superen aquest límit, l'aplicació suprimirà primer les versions més antigues fins que es respecti aquest límit. Podeu trobar més informació a la documentació de Versions.", + "Failed to revert {file} to revision {timestamp}." : "No s'ha pogut recuperar la revisió {timestamp} del fitxer {file}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Restore" : "Recupera", - "No other versions available" : "No hi ha cap altra versió disponible", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aquesta aplicació conserva automàticament les versions antigues dels fitxers modificats. Si s'activa, es crearà una carpeta de versions oculta a cada carpeta dels usuaris i s'utilitzarà per a emmagatzemar les versions antigues dels fitxers. Els usuaris poden recuperar una versió anterior a través de la interfície web en qualsevol moment i el fitxer substituït es converteix en una versió. L'aplicació administra automàticament la carpeta de versions per a assegurar-se que l'usuari no es quedi sense espai per culpa de les versions.\n\t\tA més del venciment de les versions, l'aplicació Versions garanteix que no s'utilitzarà mai més del 50% de l'espai lliure disponible actualment per a l'usuari. Si les versions emmagatzemades superen aquest límit, l'aplicació suprimirà primer les versions més antigues fins que es respecti aquest límit. Podeu trobar més informació a la documentació de Versions." + "No other versions available" : "No hi ha cap altra versió disponible" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/cs.js b/apps/files_versions/l10n/cs.js index bd6b88bafd6..3c877f7f455 100644 --- a/apps/files_versions/l10n/cs.js +++ b/apps/files_versions/l10n/cs.js @@ -4,10 +4,16 @@ OC.L10N.register( "Versions" : "Verze", "This application automatically maintains older versions of files that are changed." : "Tato aplikace automaticky uchovává starší verze souborů, které se mění.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tato aplikace automaticky uchovává starší verze souborů, které se mění. Když je zapnutá, je ve složce každého uživatele vytvořena skrytá složka pro verze a do ní jsou ukládány staré verze souborů. Uživatel se (prostřednictvím webového rozhraní) kdykoli může vrátit ke starším verzím s tím, že sám nahrazovaný nejnovější soubor se tak stane verzí. Aplikace automaticky spravuje složku s verzemi tak, aby bylo zajištěno, že uživatel kvůli starým verzím nevyčerpá přidělenou kvótu.\n\t\tKrom konců platností verzí, aplikace Verze zajišťuje, že nikdy nepoužije více než 50% volného prostoru, který má uživatel k dispozici. Pokud uložené verze přesáhnou tento limit, aplikace smaže ty nejstarší, aby se do tohoto limitu vešla. Podrobnosti naleznete v dokumentaci k aplikaci Verze.", + "Download version" : "Stáhnout si verzi", + "Restore version" : "Obnovit verzi", + "No versions yet" : "Zatím žádné verze", + "Version restored" : "Verze obnovena", + "Could not restore version" : "Verzi se nedaří obnovit", + "Version" : "Verze", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tato aplikace automaticky uchovává starší verze souborů, které se mění. Když je zapnutá, je ve složce každého uživatele vytvořena skrytá složka pro verze a do ní jsou ukládány staré verze souborů. Uživatel se (prostřednictvím webového rozhraní) kdykoli může vrátit ke starším verzím s tím, že sám nahrazovaný nejnovější soubor se tak stane verzí. Aplikace automaticky spravuje složku s verzemi tak, aby bylo zajištěno, že uživatel kvůli starým verzím nevyčerpá přidělenou kvótu.\n\t\tKrom konců platností verzí, aplikace Verze zajišťuje, že nikdy nepoužije více než 50% volného prostoru, který má uživatel k dispozici. Pokud uložené verze přesáhnou tento limit, aplikace smaže ty nejstarší, aby se do tohoto limitu vešla. Podrobnosti naleznete v dokumentaci k aplikaci Verze.", "Failed to revert {file} to revision {timestamp}." : "Nepodařilo se vrátit {file} do stavu k {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtů","%n bajty"], "Restore" : "Obnovit", - "No other versions available" : "Nejsou k dispozici žádné jiné verze", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tato aplikace automaticky uchovává starší verze souborů, které se mění. Když je zapnutá, je ve složce každého uživatele vytvořena skrytá složka pro verze a do ní jsou ukládány staré verze souborů. Uživatel se (prostřednictvím webového rozhraní) kdykoli může vrátit ke starším verzím s tím, že sám nahrazovaný nejnovější soubor se tak stane verzí. Aplikace automaticky spravuje složku s verzemi tak, aby bylo zajištěno, že uživatel kvůli starým verzím nevyčerpá přidělenou kvótu.\n\t\tKrom konců platností verzí, aplikace Verze zajišťuje, že nikdy nepoužije více než 50% volného prostoru, který má uživatel k dispozici. Pokud uložené verze přesáhnou tento limit, aplikace smaže ty nejstarší, aby se do tohoto limitu vešla. Podrobnosti naleznete v dokumentaci k aplikaci Verze." + "No other versions available" : "Nejsou k dispozici žádné jiné verze" }, "nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"); diff --git a/apps/files_versions/l10n/cs.json b/apps/files_versions/l10n/cs.json index e828ea1fd2e..337b8760570 100644 --- a/apps/files_versions/l10n/cs.json +++ b/apps/files_versions/l10n/cs.json @@ -2,10 +2,16 @@ "Versions" : "Verze", "This application automatically maintains older versions of files that are changed." : "Tato aplikace automaticky uchovává starší verze souborů, které se mění.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tato aplikace automaticky uchovává starší verze souborů, které se mění. Když je zapnutá, je ve složce každého uživatele vytvořena skrytá složka pro verze a do ní jsou ukládány staré verze souborů. Uživatel se (prostřednictvím webového rozhraní) kdykoli může vrátit ke starším verzím s tím, že sám nahrazovaný nejnovější soubor se tak stane verzí. Aplikace automaticky spravuje složku s verzemi tak, aby bylo zajištěno, že uživatel kvůli starým verzím nevyčerpá přidělenou kvótu.\n\t\tKrom konců platností verzí, aplikace Verze zajišťuje, že nikdy nepoužije více než 50% volného prostoru, který má uživatel k dispozici. Pokud uložené verze přesáhnou tento limit, aplikace smaže ty nejstarší, aby se do tohoto limitu vešla. Podrobnosti naleznete v dokumentaci k aplikaci Verze.", + "Download version" : "Stáhnout si verzi", + "Restore version" : "Obnovit verzi", + "No versions yet" : "Zatím žádné verze", + "Version restored" : "Verze obnovena", + "Could not restore version" : "Verzi se nedaří obnovit", + "Version" : "Verze", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tato aplikace automaticky uchovává starší verze souborů, které se mění. Když je zapnutá, je ve složce každého uživatele vytvořena skrytá složka pro verze a do ní jsou ukládány staré verze souborů. Uživatel se (prostřednictvím webového rozhraní) kdykoli může vrátit ke starším verzím s tím, že sám nahrazovaný nejnovější soubor se tak stane verzí. Aplikace automaticky spravuje složku s verzemi tak, aby bylo zajištěno, že uživatel kvůli starým verzím nevyčerpá přidělenou kvótu.\n\t\tKrom konců platností verzí, aplikace Verze zajišťuje, že nikdy nepoužije více než 50% volného prostoru, který má uživatel k dispozici. Pokud uložené verze přesáhnou tento limit, aplikace smaže ty nejstarší, aby se do tohoto limitu vešla. Podrobnosti naleznete v dokumentaci k aplikaci Verze.", "Failed to revert {file} to revision {timestamp}." : "Nepodařilo se vrátit {file} do stavu k {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtů","%n bajty"], "Restore" : "Obnovit", - "No other versions available" : "Nejsou k dispozici žádné jiné verze", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tato aplikace automaticky uchovává starší verze souborů, které se mění. Když je zapnutá, je ve složce každého uživatele vytvořena skrytá složka pro verze a do ní jsou ukládány staré verze souborů. Uživatel se (prostřednictvím webového rozhraní) kdykoli může vrátit ke starším verzím s tím, že sám nahrazovaný nejnovější soubor se tak stane verzí. Aplikace automaticky spravuje složku s verzemi tak, aby bylo zajištěno, že uživatel kvůli starým verzím nevyčerpá přidělenou kvótu.\n\t\tKrom konců platností verzí, aplikace Verze zajišťuje, že nikdy nepoužije více než 50% volného prostoru, který má uživatel k dispozici. Pokud uložené verze přesáhnou tento limit, aplikace smaže ty nejstarší, aby se do tohoto limitu vešla. Podrobnosti naleznete v dokumentaci k aplikaci Verze." + "No other versions available" : "Nejsou k dispozici žádné jiné verze" },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/da.js b/apps/files_versions/l10n/da.js index 34acb7e15e1..7257bc1d538 100644 --- a/apps/files_versions/l10n/da.js +++ b/apps/files_versions/l10n/da.js @@ -4,10 +4,11 @@ OC.L10N.register( "Versions" : "Versioner", "This application automatically maintains older versions of files that are changed." : "Denne applikation styrer automatisk tidligere versioner af ændrede filer.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denne applikation vedligeholder automatisk ældre versioner af filer, der ændres. Når den er aktiveret, er en skjult versionsmappe klargjort i hver brugers mappe og bruges til at gemme gamle filversioner. En bruger kan til enhver tid vende tilbage til en ældre version via webgrænsefladen, hvor den erstattede fil bliver en version. Appen administrerer automatisk versionsmappen for at sikre, at brugeren ikke løber tør for kvote på grund af versioner.\nUd over udløbet af versioner sørger versionsappen for aldrig at bruge mere end 50 % af brugerens ledige plads i øjeblikket. Hvis lagrede versioner overskrider denne grænse, vil appen først slette de ældste versioner, indtil den når denne grænse. Mere information er tilgængelig i versionsdokumentationen.", + "Version" : "Version", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denne applikation beholder automatisk ældre versioner af ændrede filer. Når aktiveret, oprettes en skjult mappe i hver brugers folder og bruges til at gemme ældre filversioner. En bruger kan gå tilbage til en ældre version via web brugerfladen til enhver tid. Derved bliver den erstattede fil også en version. Applikationen holder styr på versionsmappen for at sikre at brugeren ikke opbruger sin kvota med versioner.\n\t\tUdover at ugyldiggøre versioner, kontrollerer applikationen også at versioner aldrig optager mere en 50% af brugerens ledige plads. Hvis gemte versioner overskrider denne grænse vil applikationen slette de ældste versioner til den er tilbage under grænsen. Mere information tilgængelig i Versions dokumentationen. ", "Failed to revert {file} to revision {timestamp}." : "Kunne ikke tilbagerulle {file} til den tidligere udgave: {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Restore" : "Gendan", - "No other versions available" : "Ingen andre versioner tilgængelige", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denne applikation beholder automatisk ældre versioner af ændrede filer. Når aktiveret, oprettes en skjult mappe i hver brugers folder og bruges til at gemme ældre filversioner. En bruger kan gå tilbage til en ældre version via web brugerfladen til enhver tid. Derved bliver den erstattede fil også en version. Applikationen holder styr på versionsmappen for at sikre at brugeren ikke opbruger sin kvota med versioner.\n\t\tUdover at ugyldiggøre versioner, kontrollerer applikationen også at versioner aldrig optager mere en 50% af brugerens ledige plads. Hvis gemte versioner overskrider denne grænse vil applikationen slette de ældste versioner til den er tilbage under grænsen. Mere information tilgængelig i Versions dokumentationen. " + "No other versions available" : "Ingen andre versioner tilgængelige" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/da.json b/apps/files_versions/l10n/da.json index 169ea3379e0..b7cc407e695 100644 --- a/apps/files_versions/l10n/da.json +++ b/apps/files_versions/l10n/da.json @@ -2,10 +2,11 @@ "Versions" : "Versioner", "This application automatically maintains older versions of files that are changed." : "Denne applikation styrer automatisk tidligere versioner af ændrede filer.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denne applikation vedligeholder automatisk ældre versioner af filer, der ændres. Når den er aktiveret, er en skjult versionsmappe klargjort i hver brugers mappe og bruges til at gemme gamle filversioner. En bruger kan til enhver tid vende tilbage til en ældre version via webgrænsefladen, hvor den erstattede fil bliver en version. Appen administrerer automatisk versionsmappen for at sikre, at brugeren ikke løber tør for kvote på grund af versioner.\nUd over udløbet af versioner sørger versionsappen for aldrig at bruge mere end 50 % af brugerens ledige plads i øjeblikket. Hvis lagrede versioner overskrider denne grænse, vil appen først slette de ældste versioner, indtil den når denne grænse. Mere information er tilgængelig i versionsdokumentationen.", + "Version" : "Version", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denne applikation beholder automatisk ældre versioner af ændrede filer. Når aktiveret, oprettes en skjult mappe i hver brugers folder og bruges til at gemme ældre filversioner. En bruger kan gå tilbage til en ældre version via web brugerfladen til enhver tid. Derved bliver den erstattede fil også en version. Applikationen holder styr på versionsmappen for at sikre at brugeren ikke opbruger sin kvota med versioner.\n\t\tUdover at ugyldiggøre versioner, kontrollerer applikationen også at versioner aldrig optager mere en 50% af brugerens ledige plads. Hvis gemte versioner overskrider denne grænse vil applikationen slette de ældste versioner til den er tilbage under grænsen. Mere information tilgængelig i Versions dokumentationen. ", "Failed to revert {file} to revision {timestamp}." : "Kunne ikke tilbagerulle {file} til den tidligere udgave: {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Restore" : "Gendan", - "No other versions available" : "Ingen andre versioner tilgængelige", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denne applikation beholder automatisk ældre versioner af ændrede filer. Når aktiveret, oprettes en skjult mappe i hver brugers folder og bruges til at gemme ældre filversioner. En bruger kan gå tilbage til en ældre version via web brugerfladen til enhver tid. Derved bliver den erstattede fil også en version. Applikationen holder styr på versionsmappen for at sikre at brugeren ikke opbruger sin kvota med versioner.\n\t\tUdover at ugyldiggøre versioner, kontrollerer applikationen også at versioner aldrig optager mere en 50% af brugerens ledige plads. Hvis gemte versioner overskrider denne grænse vil applikationen slette de ældste versioner til den er tilbage under grænsen. Mere information tilgængelig i Versions dokumentationen. " + "No other versions available" : "Ingen andre versioner tilgængelige" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/de.js b/apps/files_versions/l10n/de.js index ee3d66492e0..1149db660ba 100644 --- a/apps/files_versions/l10n/de.js +++ b/apps/files_versions/l10n/de.js @@ -4,10 +4,11 @@ OC.L10N.register( "Versions" : "Versionen", "This application automatically maintains older versions of files that are changed." : "Diese App verwaltet automatisch ältere Versionen geänderter Dateien.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\nZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation.", + "Version" : "Version", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\n\t\tZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen findest du in der Versionsdokumentation.", "Failed to revert {file} to revision {timestamp}." : "Konnte {file} nicht auf Revision {timestamp} zurücksetzen.", "_%n byte_::_%n bytes_" : ["%n Byte","%n Bytes"], "Restore" : "Wiederherstellen", - "No other versions available" : "Keine anderen Versionen verfügbar", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\n\t\tZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen findest du in der Versionsdokumentation." + "No other versions available" : "Keine anderen Versionen verfügbar" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/de.json b/apps/files_versions/l10n/de.json index 2697c910703..c11741a0344 100644 --- a/apps/files_versions/l10n/de.json +++ b/apps/files_versions/l10n/de.json @@ -2,10 +2,11 @@ "Versions" : "Versionen", "This application automatically maintains older versions of files that are changed." : "Diese App verwaltet automatisch ältere Versionen geänderter Dateien.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\nZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation.", + "Version" : "Version", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\n\t\tZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen findest du in der Versionsdokumentation.", "Failed to revert {file} to revision {timestamp}." : "Konnte {file} nicht auf Revision {timestamp} zurücksetzen.", "_%n byte_::_%n bytes_" : ["%n Byte","%n Bytes"], "Restore" : "Wiederherstellen", - "No other versions available" : "Keine anderen Versionen verfügbar", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\n\t\tZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen findest du in der Versionsdokumentation." + "No other versions available" : "Keine anderen Versionen verfügbar" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/de_DE.js b/apps/files_versions/l10n/de_DE.js index 5f53105efa4..f8c58408db8 100644 --- a/apps/files_versions/l10n/de_DE.js +++ b/apps/files_versions/l10n/de_DE.js @@ -4,10 +4,16 @@ OC.L10N.register( "Versions" : "Versionen", "This application automatically maintains older versions of files that are changed." : "Diese App verwaltet automatisch ältere Versionen geänderter Dateien.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\nZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation.", + "Download version" : "Version herunterladen", + "Restore version" : "Version wiederherstellen", + "No versions yet" : "Bislang keine Versionen", + "Version restored" : "Version wiederhergestellt", + "Could not restore version" : "Version konnte nicht wiederhergestellt werden", + "Version" : "Version", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\nZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation.", "Failed to revert {file} to revision {timestamp}." : "Konnte {file} nicht auf Revision {timestamp} zurücksetzen.", "_%n byte_::_%n bytes_" : ["%n Byte","%n Bytes"], "Restore" : "Wiederherstellen", - "No other versions available" : "Keine anderen Versionen verfügbar", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\nZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation." + "No other versions available" : "Keine anderen Versionen verfügbar" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/de_DE.json b/apps/files_versions/l10n/de_DE.json index 193e017c151..3fd2cd2995b 100644 --- a/apps/files_versions/l10n/de_DE.json +++ b/apps/files_versions/l10n/de_DE.json @@ -2,10 +2,16 @@ "Versions" : "Versionen", "This application automatically maintains older versions of files that are changed." : "Diese App verwaltet automatisch ältere Versionen geänderter Dateien.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\nZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation.", + "Download version" : "Version herunterladen", + "Restore version" : "Version wiederherstellen", + "No versions yet" : "Bislang keine Versionen", + "Version restored" : "Version wiederhergestellt", + "Could not restore version" : "Version konnte nicht wiederhergestellt werden", + "Version" : "Version", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\nZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation.", "Failed to revert {file} to revision {timestamp}." : "Konnte {file} nicht auf Revision {timestamp} zurücksetzen.", "_%n byte_::_%n bytes_" : ["%n Byte","%n Bytes"], "Restore" : "Wiederherstellen", - "No other versions available" : "Keine anderen Versionen verfügbar", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\nZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation." + "No other versions available" : "Keine anderen Versionen verfügbar" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/el.js b/apps/files_versions/l10n/el.js index 92398bd9696..4e938f99ea5 100644 --- a/apps/files_versions/l10n/el.js +++ b/apps/files_versions/l10n/el.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "Εκδόσεις", "This application automatically maintains older versions of files that are changed." : "Η εφαρμογή διατηρεί αυτόματα παλαιότερες εκδόσεις των αρχείων που έχουν αλλάξει.", + "Version" : "Έκδοση", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Αυτή η εφαρμογή διατηρεί αυτόματα παλαιότερες εκδόσεις αρχείων που έχουν αλλάξει. Όταν είναι ενεργοποιημένη, ένας κρυφός φάκελος παλιών εκδόσεων δημιουργείται στον κατάλογο όλων των χρηστών και χρησιμοποιείται για την αποθήκευση παλιών εκδόσεων αρχείων. Ένας χρήστης μπορεί να επαναφέρει παλαιότερη έκδοση μέσω περιηγητή ανά πάσα στιγμή, με το αρχείο αντικατάστασης να γίνει μια έκδοση. Η εφαρμογή διαχειρίζεται αυτόματα τον φάκελο για να διασφαλίσει ότι ο χρήστης δεν εξαντλεί το όριο του λόγω των εκδόσεων.\n\t\tΕκτός από τη λήξη των εκδόσεων, η εφαρμογή για εκδόσεις δεν χρησιμοποιεί ποτέ περισσότερο από το 50% του ελεύθερου χώρου που διαθέτει ο χρήστης. Εάν υπερβεί αυτό το όριο, θα διαγράψει πρώτα τις παλαιότερες εκδόσεις έως ότου ικανοποιήσει το όριο. Περισσότερες πληροφορίες διατίθενται στην τεκμηρίωση εκδόσεων.", "Failed to revert {file} to revision {timestamp}." : "Αποτυχία επαναφοράς του {file} στην αναθεώρηση {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bytes","%n bytes"], "Restore" : "Επαναφορά", - "No other versions available" : "Δεν υπάρχουν άλλες εκδόσεις διαθέσιμες", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Αυτή η εφαρμογή διατηρεί αυτόματα παλαιότερες εκδόσεις αρχείων που έχουν αλλάξει. Όταν είναι ενεργοποιημένη, ένας κρυφός φάκελος παλιών εκδόσεων δημιουργείται στον κατάλογο όλων των χρηστών και χρησιμοποιείται για την αποθήκευση παλιών εκδόσεων αρχείων. Ένας χρήστης μπορεί να επαναφέρει παλαιότερη έκδοση μέσω περιηγητή ανά πάσα στιγμή, με το αρχείο αντικατάστασης να γίνει μια έκδοση. Η εφαρμογή διαχειρίζεται αυτόματα τον φάκελο για να διασφαλίσει ότι ο χρήστης δεν εξαντλεί το όριο του λόγω των εκδόσεων.\n\t\tΕκτός από τη λήξη των εκδόσεων, η εφαρμογή για εκδόσεις δεν χρησιμοποιεί ποτέ περισσότερο από το 50% του ελεύθερου χώρου που διαθέτει ο χρήστης. Εάν υπερβεί αυτό το όριο, θα διαγράψει πρώτα τις παλαιότερες εκδόσεις έως ότου ικανοποιήσει το όριο. Περισσότερες πληροφορίες διατίθενται στην τεκμηρίωση εκδόσεων." + "No other versions available" : "Δεν υπάρχουν άλλες εκδόσεις διαθέσιμες" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/el.json b/apps/files_versions/l10n/el.json index 25b7c4981e9..734b59d1513 100644 --- a/apps/files_versions/l10n/el.json +++ b/apps/files_versions/l10n/el.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "Εκδόσεις", "This application automatically maintains older versions of files that are changed." : "Η εφαρμογή διατηρεί αυτόματα παλαιότερες εκδόσεις των αρχείων που έχουν αλλάξει.", + "Version" : "Έκδοση", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Αυτή η εφαρμογή διατηρεί αυτόματα παλαιότερες εκδόσεις αρχείων που έχουν αλλάξει. Όταν είναι ενεργοποιημένη, ένας κρυφός φάκελος παλιών εκδόσεων δημιουργείται στον κατάλογο όλων των χρηστών και χρησιμοποιείται για την αποθήκευση παλιών εκδόσεων αρχείων. Ένας χρήστης μπορεί να επαναφέρει παλαιότερη έκδοση μέσω περιηγητή ανά πάσα στιγμή, με το αρχείο αντικατάστασης να γίνει μια έκδοση. Η εφαρμογή διαχειρίζεται αυτόματα τον φάκελο για να διασφαλίσει ότι ο χρήστης δεν εξαντλεί το όριο του λόγω των εκδόσεων.\n\t\tΕκτός από τη λήξη των εκδόσεων, η εφαρμογή για εκδόσεις δεν χρησιμοποιεί ποτέ περισσότερο από το 50% του ελεύθερου χώρου που διαθέτει ο χρήστης. Εάν υπερβεί αυτό το όριο, θα διαγράψει πρώτα τις παλαιότερες εκδόσεις έως ότου ικανοποιήσει το όριο. Περισσότερες πληροφορίες διατίθενται στην τεκμηρίωση εκδόσεων.", "Failed to revert {file} to revision {timestamp}." : "Αποτυχία επαναφοράς του {file} στην αναθεώρηση {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bytes","%n bytes"], "Restore" : "Επαναφορά", - "No other versions available" : "Δεν υπάρχουν άλλες εκδόσεις διαθέσιμες", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Αυτή η εφαρμογή διατηρεί αυτόματα παλαιότερες εκδόσεις αρχείων που έχουν αλλάξει. Όταν είναι ενεργοποιημένη, ένας κρυφός φάκελος παλιών εκδόσεων δημιουργείται στον κατάλογο όλων των χρηστών και χρησιμοποιείται για την αποθήκευση παλιών εκδόσεων αρχείων. Ένας χρήστης μπορεί να επαναφέρει παλαιότερη έκδοση μέσω περιηγητή ανά πάσα στιγμή, με το αρχείο αντικατάστασης να γίνει μια έκδοση. Η εφαρμογή διαχειρίζεται αυτόματα τον φάκελο για να διασφαλίσει ότι ο χρήστης δεν εξαντλεί το όριο του λόγω των εκδόσεων.\n\t\tΕκτός από τη λήξη των εκδόσεων, η εφαρμογή για εκδόσεις δεν χρησιμοποιεί ποτέ περισσότερο από το 50% του ελεύθερου χώρου που διαθέτει ο χρήστης. Εάν υπερβεί αυτό το όριο, θα διαγράψει πρώτα τις παλαιότερες εκδόσεις έως ότου ικανοποιήσει το όριο. Περισσότερες πληροφορίες διατίθενται στην τεκμηρίωση εκδόσεων." + "No other versions available" : "Δεν υπάρχουν άλλες εκδόσεις διαθέσιμες" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/en_GB.js b/apps/files_versions/l10n/en_GB.js index 47f10d47bba..59956d4e2db 100644 --- a/apps/files_versions/l10n/en_GB.js +++ b/apps/files_versions/l10n/en_GB.js @@ -3,10 +3,17 @@ OC.L10N.register( { "Versions" : "Versions", "This application automatically maintains older versions of files that are changed." : "This application automatically maintains older versions of files that are changed.", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation.", + "Download version" : "Download version", + "Restore version" : "Restore version", + "No versions yet" : "No versions yet", + "Version restored" : "Version restored", + "Could not restore version" : "Could not restore version", + "Version" : "Version", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation.", "Failed to revert {file} to revision {timestamp}." : "Failed to revert {file} to revision {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Restore" : "Restore", - "No other versions available" : "No other versions available", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." + "No other versions available" : "No other versions available" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/en_GB.json b/apps/files_versions/l10n/en_GB.json index c1a91443542..226ffb2fdc4 100644 --- a/apps/files_versions/l10n/en_GB.json +++ b/apps/files_versions/l10n/en_GB.json @@ -1,10 +1,17 @@ { "translations": { "Versions" : "Versions", "This application automatically maintains older versions of files that are changed." : "This application automatically maintains older versions of files that are changed.", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation.", + "Download version" : "Download version", + "Restore version" : "Restore version", + "No versions yet" : "No versions yet", + "Version restored" : "Version restored", + "Could not restore version" : "Could not restore version", + "Version" : "Version", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation.", "Failed to revert {file} to revision {timestamp}." : "Failed to revert {file} to revision {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Restore" : "Restore", - "No other versions available" : "No other versions available", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." + "No other versions available" : "No other versions available" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/eo.js b/apps/files_versions/l10n/eo.js index de2a83c0587..90c2546c3c2 100644 --- a/apps/files_versions/l10n/eo.js +++ b/apps/files_versions/l10n/eo.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "Versioj", "This application automatically maintains older versions of files that are changed." : "Tiu ĉi aplikaĵo aŭtomate konservas antaŭajn versiojn de dosieroj, kiuj ŝanĝiĝis.", + "Version" : "Versio", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tiu ĉi aplikaĵo aŭtomate konservas antaŭajn versiojn de dosieroj, kiuj ŝanĝiĝis. Kiam ĝi estas ebligita, kaŝita dosierujo por enteni versiojn kreiĝas en ĉiu uzantodosierujo kaj uziĝas por konservi la antaŭajn versiojn de dosieroj. Uzanto povas reveni al antaŭa versio pere de la TTT-a fasado iam ajn, kaj la anstataŭigita dosiero iĝas versio. La aplikaĵo aŭtomate observas la versian dosierujon por garantii, ke la uzanto ne transpasu sian kvoton pro troaj versioj.\n\t\tKrom la eksvalidiĝo de versioj, la aplikaĵo neniam uzas pli ol 50 % de la aktuala libera spaco de la uzanto. Se la konservitaj versioj transpasos tiun limon, la aplikaĵo forigos la plej antaŭajn versiojn ĝis atingo de la limo. Pliaj informoj disponeblas en la dokumentaro pri Versioj.", "Failed to revert {file} to revision {timestamp}." : "Malsukcesis remeti {file} al la revizio {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bajto","%n bajtoj"], "Restore" : "Restaŭri", - "No other versions available" : "Neniu alia versio disponeblas", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tiu ĉi aplikaĵo aŭtomate konservas antaŭajn versiojn de dosieroj, kiuj ŝanĝiĝis. Kiam ĝi estas ebligita, kaŝita dosierujo por enteni versiojn kreiĝas en ĉiu uzantodosierujo kaj uziĝas por konservi la antaŭajn versiojn de dosieroj. Uzanto povas reveni al antaŭa versio pere de la TTT-a fasado iam ajn, kaj la anstataŭigita dosiero iĝas versio. La aplikaĵo aŭtomate observas la versian dosierujon por garantii, ke la uzanto ne transpasu sian kvoton pro troaj versioj.\n\t\tKrom la eksvalidiĝo de versioj, la aplikaĵo neniam uzas pli ol 50 % de la aktuala libera spaco de la uzanto. Se la konservitaj versioj transpasos tiun limon, la aplikaĵo forigos la plej antaŭajn versiojn ĝis atingo de la limo. Pliaj informoj disponeblas en la dokumentaro pri Versioj." + "No other versions available" : "Neniu alia versio disponeblas" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/eo.json b/apps/files_versions/l10n/eo.json index 02e815a64ed..8a76db600d7 100644 --- a/apps/files_versions/l10n/eo.json +++ b/apps/files_versions/l10n/eo.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "Versioj", "This application automatically maintains older versions of files that are changed." : "Tiu ĉi aplikaĵo aŭtomate konservas antaŭajn versiojn de dosieroj, kiuj ŝanĝiĝis.", + "Version" : "Versio", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tiu ĉi aplikaĵo aŭtomate konservas antaŭajn versiojn de dosieroj, kiuj ŝanĝiĝis. Kiam ĝi estas ebligita, kaŝita dosierujo por enteni versiojn kreiĝas en ĉiu uzantodosierujo kaj uziĝas por konservi la antaŭajn versiojn de dosieroj. Uzanto povas reveni al antaŭa versio pere de la TTT-a fasado iam ajn, kaj la anstataŭigita dosiero iĝas versio. La aplikaĵo aŭtomate observas la versian dosierujon por garantii, ke la uzanto ne transpasu sian kvoton pro troaj versioj.\n\t\tKrom la eksvalidiĝo de versioj, la aplikaĵo neniam uzas pli ol 50 % de la aktuala libera spaco de la uzanto. Se la konservitaj versioj transpasos tiun limon, la aplikaĵo forigos la plej antaŭajn versiojn ĝis atingo de la limo. Pliaj informoj disponeblas en la dokumentaro pri Versioj.", "Failed to revert {file} to revision {timestamp}." : "Malsukcesis remeti {file} al la revizio {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bajto","%n bajtoj"], "Restore" : "Restaŭri", - "No other versions available" : "Neniu alia versio disponeblas", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tiu ĉi aplikaĵo aŭtomate konservas antaŭajn versiojn de dosieroj, kiuj ŝanĝiĝis. Kiam ĝi estas ebligita, kaŝita dosierujo por enteni versiojn kreiĝas en ĉiu uzantodosierujo kaj uziĝas por konservi la antaŭajn versiojn de dosieroj. Uzanto povas reveni al antaŭa versio pere de la TTT-a fasado iam ajn, kaj la anstataŭigita dosiero iĝas versio. La aplikaĵo aŭtomate observas la versian dosierujon por garantii, ke la uzanto ne transpasu sian kvoton pro troaj versioj.\n\t\tKrom la eksvalidiĝo de versioj, la aplikaĵo neniam uzas pli ol 50 % de la aktuala libera spaco de la uzanto. Se la konservitaj versioj transpasos tiun limon, la aplikaĵo forigos la plej antaŭajn versiojn ĝis atingo de la limo. Pliaj informoj disponeblas en la dokumentaro pri Versioj." + "No other versions available" : "Neniu alia versio disponeblas" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/es.js b/apps/files_versions/l10n/es.js index e61adffab68..22c01d2951c 100644 --- a/apps/files_versions/l10n/es.js +++ b/apps/files_versions/l10n/es.js @@ -4,10 +4,11 @@ OC.L10N.register( "Versions" : "Versiones", "This application automatically maintains older versions of files that are changed." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian. Cuando se activa, una carpeta escondida de versiones aparece en cada directorio del usuario y se usa para almacenar los archivos de versiones antiguas. Un usuario puede volver a una versión más antigua a través de la interfaz web en cualquier momento, convirtiéndose el archivo reemplazado en una versión. La app controla automáticamente la carpeta de versiones para asegurarse de que el usuario no se queda sin cuota de disco por las versiones.\n\t\tAdemás de la caducidad de las versiones, la app de versiones se asegura de no usar nunca más del 50% del espacio libre actualmente disponible para el usuario. Si las versiones almacenadas exceden este límite, la app borrará primero las versiones más viejas hasta alcanzar este límite. Más información disponible en la documentación de Versiones.", + "Version" : "Versión", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian. Al activarse, se crea una carpeta oculta de versiones que se usa para almacenar versiones antiguas de archivos. Un usuario puede volver a una versión anterior a través de la interfaz web en cualquier momento, con el archivo reemplazado convirtiéndose en una versión. La app maneja automáticamente la carpeta de versiones para asegurarse de que el usuario no se queda sin espacio debido a las versiones.\n\n\t\tAdemás de la caducidad de versiones, la app de versiones se asegura de no usar nunca más del 50% del espacio libre actualmente disponible para un usuario. Si las versiones almacenadas exceden este límite, la app borrará las versiones más antiguas hasta alcanzar este límite. Más información disponible en la documentación de Versiones.", "Failed to revert {file} to revision {timestamp}." : "No se ha podido restaurar {file} a versión {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"], "Restore" : "Recuperar", - "No other versions available" : "No hay más versiones disponibles", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian. Al activarse, se crea una carpeta oculta de versiones que se usa para almacenar versiones antiguas de archivos. Un usuario puede volver a una versión anterior a través de la interfaz web en cualquier momento, con el archivo reemplazado convirtiéndose en una versión. La app maneja automáticamente la carpeta de versiones para asegurarse de que el usuario no se queda sin espacio debido a las versiones.\n\n\t\tAdemás de la caducidad de versiones, la app de versiones se asegura de no usar nunca más del 50% del espacio libre actualmente disponible para un usuario. Si las versiones almacenadas exceden este límite, la app borrará las versiones más antiguas hasta alcanzar este límite. Más información disponible en la documentación de Versiones." + "No other versions available" : "No hay más versiones disponibles" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_versions/l10n/es.json b/apps/files_versions/l10n/es.json index c6b65a57d95..66d2ea0fa27 100644 --- a/apps/files_versions/l10n/es.json +++ b/apps/files_versions/l10n/es.json @@ -2,10 +2,11 @@ "Versions" : "Versiones", "This application automatically maintains older versions of files that are changed." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian. Cuando se activa, una carpeta escondida de versiones aparece en cada directorio del usuario y se usa para almacenar los archivos de versiones antiguas. Un usuario puede volver a una versión más antigua a través de la interfaz web en cualquier momento, convirtiéndose el archivo reemplazado en una versión. La app controla automáticamente la carpeta de versiones para asegurarse de que el usuario no se queda sin cuota de disco por las versiones.\n\t\tAdemás de la caducidad de las versiones, la app de versiones se asegura de no usar nunca más del 50% del espacio libre actualmente disponible para el usuario. Si las versiones almacenadas exceden este límite, la app borrará primero las versiones más viejas hasta alcanzar este límite. Más información disponible en la documentación de Versiones.", + "Version" : "Versión", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian. Al activarse, se crea una carpeta oculta de versiones que se usa para almacenar versiones antiguas de archivos. Un usuario puede volver a una versión anterior a través de la interfaz web en cualquier momento, con el archivo reemplazado convirtiéndose en una versión. La app maneja automáticamente la carpeta de versiones para asegurarse de que el usuario no se queda sin espacio debido a las versiones.\n\n\t\tAdemás de la caducidad de versiones, la app de versiones se asegura de no usar nunca más del 50% del espacio libre actualmente disponible para un usuario. Si las versiones almacenadas exceden este límite, la app borrará las versiones más antiguas hasta alcanzar este límite. Más información disponible en la documentación de Versiones.", "Failed to revert {file} to revision {timestamp}." : "No se ha podido restaurar {file} a versión {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"], "Restore" : "Recuperar", - "No other versions available" : "No hay más versiones disponibles", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian. Al activarse, se crea una carpeta oculta de versiones que se usa para almacenar versiones antiguas de archivos. Un usuario puede volver a una versión anterior a través de la interfaz web en cualquier momento, con el archivo reemplazado convirtiéndose en una versión. La app maneja automáticamente la carpeta de versiones para asegurarse de que el usuario no se queda sin espacio debido a las versiones.\n\n\t\tAdemás de la caducidad de versiones, la app de versiones se asegura de no usar nunca más del 50% del espacio libre actualmente disponible para un usuario. Si las versiones almacenadas exceden este límite, la app borrará las versiones más antiguas hasta alcanzar este límite. Más información disponible en la documentación de Versiones." + "No other versions available" : "No hay más versiones disponibles" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/es_MX.js b/apps/files_versions/l10n/es_MX.js index 6c835b1cf0a..ef9f7fc948d 100644 --- a/apps/files_versions/l10n/es_MX.js +++ b/apps/files_versions/l10n/es_MX.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "Versiones", "This application automatically maintains older versions of files that are changed." : "Esta aplicación mantiene automáticamente versiones anteriores de archivos que fueron cambiados. ", + "Version" : "Versión", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones anteriores de los archivos que se cambian. Al habilitarse, una carpeta oculata de versiones de archivos se aprovisiona en cada directorio del usuario y se usa para almacenar las versiones anteriores de los archivos. Un usuario puede regresar a una versión anterior mediante al interfaz web en cualquier momento, el archivo reemplazado se convierte en una versión. La aplicación administra automáticamente la carpeta de versiones para asegurar que el usuario no agote su Cuota con estas versiones. \n\t\tAdicionalmente a la expiración de las versiones, la aplicación de versiones se asegura de nunca usar mas del 50% del espacio actualmente disponible del usuario. Si las versiones almacenadas exceden este límite, la aplicación borrará las versiones más antiguas hasta que se llegue dentro de este límite. Más información está disponible en la documentacion de Versiones. ", "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"], "Restore" : "Restaurar", - "No other versions available" : "No hay otras versiones disponibles", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones anteriores de los archivos que se cambian. Al habilitarse, una carpeta oculata de versiones de archivos se aprovisiona en cada directorio del usuario y se usa para almacenar las versiones anteriores de los archivos. Un usuario puede regresar a una versión anterior mediante al interfaz web en cualquier momento, el archivo reemplazado se convierte en una versión. La aplicación administra automáticamente la carpeta de versiones para asegurar que el usuario no agote su Cuota con estas versiones. \n\t\tAdicionalmente a la expiración de las versiones, la aplicación de versiones se asegura de nunca usar mas del 50% del espacio actualmente disponible del usuario. Si las versiones almacenadas exceden este límite, la aplicación borrará las versiones más antiguas hasta que se llegue dentro de este límite. Más información está disponible en la documentacion de Versiones. " + "No other versions available" : "No hay otras versiones disponibles" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_versions/l10n/es_MX.json b/apps/files_versions/l10n/es_MX.json index 944d659a353..3dfe75fabca 100644 --- a/apps/files_versions/l10n/es_MX.json +++ b/apps/files_versions/l10n/es_MX.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "Versiones", "This application automatically maintains older versions of files that are changed." : "Esta aplicación mantiene automáticamente versiones anteriores de archivos que fueron cambiados. ", + "Version" : "Versión", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones anteriores de los archivos que se cambian. Al habilitarse, una carpeta oculata de versiones de archivos se aprovisiona en cada directorio del usuario y se usa para almacenar las versiones anteriores de los archivos. Un usuario puede regresar a una versión anterior mediante al interfaz web en cualquier momento, el archivo reemplazado se convierte en una versión. La aplicación administra automáticamente la carpeta de versiones para asegurar que el usuario no agote su Cuota con estas versiones. \n\t\tAdicionalmente a la expiración de las versiones, la aplicación de versiones se asegura de nunca usar mas del 50% del espacio actualmente disponible del usuario. Si las versiones almacenadas exceden este límite, la aplicación borrará las versiones más antiguas hasta que se llegue dentro de este límite. Más información está disponible en la documentacion de Versiones. ", "Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"], "Restore" : "Restaurar", - "No other versions available" : "No hay otras versiones disponibles", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones anteriores de los archivos que se cambian. Al habilitarse, una carpeta oculata de versiones de archivos se aprovisiona en cada directorio del usuario y se usa para almacenar las versiones anteriores de los archivos. Un usuario puede regresar a una versión anterior mediante al interfaz web en cualquier momento, el archivo reemplazado se convierte en una versión. La aplicación administra automáticamente la carpeta de versiones para asegurar que el usuario no agote su Cuota con estas versiones. \n\t\tAdicionalmente a la expiración de las versiones, la aplicación de versiones se asegura de nunca usar mas del 50% del espacio actualmente disponible del usuario. Si las versiones almacenadas exceden este límite, la aplicación borrará las versiones más antiguas hasta que se llegue dentro de este límite. Más información está disponible en la documentacion de Versiones. " + "No other versions available" : "No hay otras versiones disponibles" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/et_EE.js b/apps/files_versions/l10n/et_EE.js index 001b11a12d2..08a395f53ff 100644 --- a/apps/files_versions/l10n/et_EE.js +++ b/apps/files_versions/l10n/et_EE.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "Versioonid", "This application automatically maintains older versions of files that are changed." : "See rakendus haldab automaatselt muudetud failide vanemaid versioone.", + "Version" : "Versioon", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "See rakendus säilitab automaatselt muudetud failide vanemaid versioone. Kui see on aktiveeritud, luuakse iga kasutaja kataloogis peidetud versioonide kaust, mida kasutatakse vanade failiversioonide säilitamiseks. Kasutaja saab igal ajal veebiliidese kaudu pöörduda tagasi vanema versiooni juurde, kusjuures asendatud failist saab versioon. Rakendus haldab versioonide kausta automaatselt, et tagada, et kasutaja salvestusmaht ei saa versioonide tõttu otsa. Lisaks versioonide aegumisele hoolitseb versioonide rakendus selle eest, et kunagi ei kasutataks rohkem kui 50% kasutaja hetkel kasutatavast vabast ruumist. Kui salvestatud versioonid ületavad selle piiri, kustutab rakendus kõigepealt vanimad versioonid, kuni see piir on saavutatud. Lisateave on saadaval versioonide dokumentatsioonis. ", "Failed to revert {file} to revision {timestamp}." : "Ebaõnnestus faili {file} taastamine revisjonile {timestamp}", "_%n byte_::_%n bytes_" : ["%n bait","%n baiti"], "Restore" : "Taasta", - "No other versions available" : "Muid versioone pole saadaval", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "See rakendus säilitab automaatselt muudetud failide vanemaid versioone. Kui see on aktiveeritud, luuakse iga kasutaja kataloogis peidetud versioonide kaust, mida kasutatakse vanade failiversioonide säilitamiseks. Kasutaja saab igal ajal veebiliidese kaudu pöörduda tagasi vanema versiooni juurde, kusjuures asendatud failist saab versioon. Rakendus haldab versioonide kausta automaatselt, et tagada, et kasutaja salvestusmaht ei saa versioonide tõttu otsa. Lisaks versioonide aegumisele hoolitseb versioonide rakendus selle eest, et kunagi ei kasutataks rohkem kui 50% kasutaja hetkel kasutatavast vabast ruumist. Kui salvestatud versioonid ületavad selle piiri, kustutab rakendus kõigepealt vanimad versioonid, kuni see piir on saavutatud. Lisateave on saadaval versioonide dokumentatsioonis. " + "No other versions available" : "Muid versioone pole saadaval" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/et_EE.json b/apps/files_versions/l10n/et_EE.json index 28f03f89978..f690935e689 100644 --- a/apps/files_versions/l10n/et_EE.json +++ b/apps/files_versions/l10n/et_EE.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "Versioonid", "This application automatically maintains older versions of files that are changed." : "See rakendus haldab automaatselt muudetud failide vanemaid versioone.", + "Version" : "Versioon", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "See rakendus säilitab automaatselt muudetud failide vanemaid versioone. Kui see on aktiveeritud, luuakse iga kasutaja kataloogis peidetud versioonide kaust, mida kasutatakse vanade failiversioonide säilitamiseks. Kasutaja saab igal ajal veebiliidese kaudu pöörduda tagasi vanema versiooni juurde, kusjuures asendatud failist saab versioon. Rakendus haldab versioonide kausta automaatselt, et tagada, et kasutaja salvestusmaht ei saa versioonide tõttu otsa. Lisaks versioonide aegumisele hoolitseb versioonide rakendus selle eest, et kunagi ei kasutataks rohkem kui 50% kasutaja hetkel kasutatavast vabast ruumist. Kui salvestatud versioonid ületavad selle piiri, kustutab rakendus kõigepealt vanimad versioonid, kuni see piir on saavutatud. Lisateave on saadaval versioonide dokumentatsioonis. ", "Failed to revert {file} to revision {timestamp}." : "Ebaõnnestus faili {file} taastamine revisjonile {timestamp}", "_%n byte_::_%n bytes_" : ["%n bait","%n baiti"], "Restore" : "Taasta", - "No other versions available" : "Muid versioone pole saadaval", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "See rakendus säilitab automaatselt muudetud failide vanemaid versioone. Kui see on aktiveeritud, luuakse iga kasutaja kataloogis peidetud versioonide kaust, mida kasutatakse vanade failiversioonide säilitamiseks. Kasutaja saab igal ajal veebiliidese kaudu pöörduda tagasi vanema versiooni juurde, kusjuures asendatud failist saab versioon. Rakendus haldab versioonide kausta automaatselt, et tagada, et kasutaja salvestusmaht ei saa versioonide tõttu otsa. Lisaks versioonide aegumisele hoolitseb versioonide rakendus selle eest, et kunagi ei kasutataks rohkem kui 50% kasutaja hetkel kasutatavast vabast ruumist. Kui salvestatud versioonid ületavad selle piiri, kustutab rakendus kõigepealt vanimad versioonid, kuni see piir on saavutatud. Lisateave on saadaval versioonide dokumentatsioonis. " + "No other versions available" : "Muid versioone pole saadaval" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/eu.js b/apps/files_versions/l10n/eu.js index cb64409d55d..ae613f9e089 100644 --- a/apps/files_versions/l10n/eu.js +++ b/apps/files_versions/l10n/eu.js @@ -4,10 +4,11 @@ OC.L10N.register( "Versions" : "Bertsioak", "This application automatically maintains older versions of files that are changed." : "Aplikazio honek aldatzen diren fitxategien bertsio zaharrak mantentzen ditu.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikazio honek automatikoki mantentzen ditu aldatzen diren fitxategien bertsio zaharragoak. Gaituta dagoenean, ezkutuko bertsioen karpeta bat hornitzen da erabiltzaile bakoitzaren direktorioa eta fitxategien bertsio zaharrak gordetzeko erabiltzen da. Erabiltzaileak edozein unetan bertsio zaharrago batera itzul dezake web interfazearen bidez, ordeztutako fitxategia bertsio bihurtuz. Aplikazioak automatikoki kudeatzen du bertsioen karpeta, erabiltzailea bertsioak direla eta kuporik gabe geratuko ez dela ziurtatzeko.\n\t\tBertsioak iraungitzeaz gain, bertsioen aplikazioak ziurtatzen du ez dela inoiz erabiliko erabiltzailearen gaur egun eskuragarri dagoen espazio librearen %50 baino gehiago. Biltegiratutako bertsioek muga hori gainditzen badute, aplikazioak bertsio zaharrenak ezabatuko ditu aurreko muga hori betetzen duen arte. Informazio gehiago eskuragarri dago bertsioen dokumentazioan.", + "Version" : "Bertsioa", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Fitxategi honek aldatzen diren fitxategien bertsio zaharrak mantentzen ditu. Aktibatzen denean, bertsioen karpeta ezkutu bat sortzen da erabiltzailearen karpeta barruan eta bertan gordetzen dira bertsio zaharrak. Erabiltzailek edozein bertsio zaharrera itzultzea erabaki dezake web interfazea erabiliz eta ordezkatutako fitxategiak ere beste bertsio bat sortuko du. Aplikazio honek bertsioen karpeta automatikoki kudeatzen du erabiltzaileak bertsioengatik mugarik gainditu ez dezan.\n\t\tBertsioak iraungitzeaz gain, bertsioen aplikazio honek erabiltzailearen toki libre guztiaren %50 baino gehiago ez erabiltzea bermatzen du. Gordetako bertsioek muga hori gainditzen badut, aplikazioak bertsio zaharrenak ezabatuko ditu muga bete arte. Informazio gehiago lortzeko aplikazioaren dokumentazioa irakurri dezakezu.", "Failed to revert {file} to revision {timestamp}." : "Errore bat izan da {fitxategia} {timestamp} bertsiora leheneratzean.", "_%n byte_::_%n bytes_" : ["%nbyte","%n bytes"], "Restore" : "Berrezarri", - "No other versions available" : "Ez dago bertsio gehiago eskuragarri", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Fitxategi honek aldatzen diren fitxategien bertsio zaharrak mantentzen ditu. Aktibatzen denean, bertsioen karpeta ezkutu bat sortzen da erabiltzailearen karpeta barruan eta bertan gordetzen dira bertsio zaharrak. Erabiltzailek edozein bertsio zaharrera itzultzea erabaki dezake web interfazea erabiliz eta ordezkatutako fitxategiak ere beste bertsio bat sortuko du. Aplikazio honek bertsioen karpeta automatikoki kudeatzen du erabiltzaileak bertsioengatik mugarik gainditu ez dezan.\n\t\tBertsioak iraungitzeaz gain, bertsioen aplikazio honek erabiltzailearen toki libre guztiaren %50 baino gehiago ez erabiltzea bermatzen du. Gordetako bertsioek muga hori gainditzen badut, aplikazioak bertsio zaharrenak ezabatuko ditu muga bete arte. Informazio gehiago lortzeko aplikazioaren dokumentazioa irakurri dezakezu." + "No other versions available" : "Ez dago bertsio gehiago eskuragarri" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/eu.json b/apps/files_versions/l10n/eu.json index dcd8580d19f..67e6d361fa6 100644 --- a/apps/files_versions/l10n/eu.json +++ b/apps/files_versions/l10n/eu.json @@ -2,10 +2,11 @@ "Versions" : "Bertsioak", "This application automatically maintains older versions of files that are changed." : "Aplikazio honek aldatzen diren fitxategien bertsio zaharrak mantentzen ditu.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikazio honek automatikoki mantentzen ditu aldatzen diren fitxategien bertsio zaharragoak. Gaituta dagoenean, ezkutuko bertsioen karpeta bat hornitzen da erabiltzaile bakoitzaren direktorioa eta fitxategien bertsio zaharrak gordetzeko erabiltzen da. Erabiltzaileak edozein unetan bertsio zaharrago batera itzul dezake web interfazearen bidez, ordeztutako fitxategia bertsio bihurtuz. Aplikazioak automatikoki kudeatzen du bertsioen karpeta, erabiltzailea bertsioak direla eta kuporik gabe geratuko ez dela ziurtatzeko.\n\t\tBertsioak iraungitzeaz gain, bertsioen aplikazioak ziurtatzen du ez dela inoiz erabiliko erabiltzailearen gaur egun eskuragarri dagoen espazio librearen %50 baino gehiago. Biltegiratutako bertsioek muga hori gainditzen badute, aplikazioak bertsio zaharrenak ezabatuko ditu aurreko muga hori betetzen duen arte. Informazio gehiago eskuragarri dago bertsioen dokumentazioan.", + "Version" : "Bertsioa", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Fitxategi honek aldatzen diren fitxategien bertsio zaharrak mantentzen ditu. Aktibatzen denean, bertsioen karpeta ezkutu bat sortzen da erabiltzailearen karpeta barruan eta bertan gordetzen dira bertsio zaharrak. Erabiltzailek edozein bertsio zaharrera itzultzea erabaki dezake web interfazea erabiliz eta ordezkatutako fitxategiak ere beste bertsio bat sortuko du. Aplikazio honek bertsioen karpeta automatikoki kudeatzen du erabiltzaileak bertsioengatik mugarik gainditu ez dezan.\n\t\tBertsioak iraungitzeaz gain, bertsioen aplikazio honek erabiltzailearen toki libre guztiaren %50 baino gehiago ez erabiltzea bermatzen du. Gordetako bertsioek muga hori gainditzen badut, aplikazioak bertsio zaharrenak ezabatuko ditu muga bete arte. Informazio gehiago lortzeko aplikazioaren dokumentazioa irakurri dezakezu.", "Failed to revert {file} to revision {timestamp}." : "Errore bat izan da {fitxategia} {timestamp} bertsiora leheneratzean.", "_%n byte_::_%n bytes_" : ["%nbyte","%n bytes"], "Restore" : "Berrezarri", - "No other versions available" : "Ez dago bertsio gehiago eskuragarri", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Fitxategi honek aldatzen diren fitxategien bertsio zaharrak mantentzen ditu. Aktibatzen denean, bertsioen karpeta ezkutu bat sortzen da erabiltzailearen karpeta barruan eta bertan gordetzen dira bertsio zaharrak. Erabiltzailek edozein bertsio zaharrera itzultzea erabaki dezake web interfazea erabiliz eta ordezkatutako fitxategiak ere beste bertsio bat sortuko du. Aplikazio honek bertsioen karpeta automatikoki kudeatzen du erabiltzaileak bertsioengatik mugarik gainditu ez dezan.\n\t\tBertsioak iraungitzeaz gain, bertsioen aplikazio honek erabiltzailearen toki libre guztiaren %50 baino gehiago ez erabiltzea bermatzen du. Gordetako bertsioek muga hori gainditzen badut, aplikazioak bertsio zaharrenak ezabatuko ditu muga bete arte. Informazio gehiago lortzeko aplikazioaren dokumentazioa irakurri dezakezu." + "No other versions available" : "Ez dago bertsio gehiago eskuragarri" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/fa.js b/apps/files_versions/l10n/fa.js index a00afefb305..f2919518594 100644 --- a/apps/files_versions/l10n/fa.js +++ b/apps/files_versions/l10n/fa.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "نسخه ها", "This application automatically maintains older versions of files that are changed." : "این برنامه به طور خودکار نسخه های قدیمی تر پرونده های تغییر یافته را حفظ می کند.", + "Version" : "نسخه", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "این برنامه به طور خودکار نسخه های قدیمی تر پرونده های تغییر یافته را حفظ می کند. با فعال کردن ، یک پوشه نسخه پنهان در فهرست کاربر هر کاربر ارائه می شود و از آن برای ذخیره نسخه های قدیمی فایل استفاده می شود. کاربر می تواند در هر زمان به نسخه قدیمی تر از طریق رابط وب برگردد ، با این که پرونده جایگزین به نسخه تبدیل شود. این برنامه به طور خودکار پوشه نسخه ها را کنترل می کند تا اطمینان حاصل کند کاربر به دلیل نسخه ها از Quota تمام نمی شود.\nعلاوه بر انقضاء نسخه ها ، برنامه نسخه ها باعث می شود که هرگز از بیش از 50٪ از فضای رایگان فعلی کاربر استفاده نکنید. اگر نسخه های ذخیره شده از این حد فراتر رود ، برنامه ابتدا قدیمی ترین نسخه ها را حذف می کند تا اینکه این حد را برآورده کند. اطلاعات بیشتر در مستندات Versions موجود است.", "Failed to revert {file} to revision {timestamp}." : "برگرداندن {file} به نسخه {timestamp} با شکست روبرو شد", "_%n byte_::_%n bytes_" : ["%n بایت","%n بایت"], "Restore" : "بازیابی", - "No other versions available" : "نسخه ی دیگری در دسترس نیست", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "این برنامه به طور خودکار نسخه های قدیمی تر پرونده های تغییر یافته را حفظ می کند. با فعال کردن ، یک پوشه نسخه پنهان در فهرست کاربر هر کاربر ارائه می شود و از آن برای ذخیره نسخه های قدیمی فایل استفاده می شود. کاربر می تواند در هر زمان به نسخه قدیمی تر از طریق رابط وب برگردد ، با این که پرونده جایگزین به نسخه تبدیل شود. این برنامه به طور خودکار پوشه نسخه ها را کنترل می کند تا اطمینان حاصل کند کاربر به دلیل نسخه ها از Quota تمام نمی شود.\nعلاوه بر انقضاء نسخه ها ، برنامه نسخه ها باعث می شود که هرگز از بیش از 50٪ از فضای رایگان فعلی کاربر استفاده نکنید. اگر نسخه های ذخیره شده از این حد فراتر رود ، برنامه ابتدا قدیمی ترین نسخه ها را حذف می کند تا اینکه این حد را برآورده کند. اطلاعات بیشتر در مستندات Versions موجود است." + "No other versions available" : "نسخه ی دیگری در دسترس نیست" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/files_versions/l10n/fa.json b/apps/files_versions/l10n/fa.json index e19d7be3b69..65709b16895 100644 --- a/apps/files_versions/l10n/fa.json +++ b/apps/files_versions/l10n/fa.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "نسخه ها", "This application automatically maintains older versions of files that are changed." : "این برنامه به طور خودکار نسخه های قدیمی تر پرونده های تغییر یافته را حفظ می کند.", + "Version" : "نسخه", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "این برنامه به طور خودکار نسخه های قدیمی تر پرونده های تغییر یافته را حفظ می کند. با فعال کردن ، یک پوشه نسخه پنهان در فهرست کاربر هر کاربر ارائه می شود و از آن برای ذخیره نسخه های قدیمی فایل استفاده می شود. کاربر می تواند در هر زمان به نسخه قدیمی تر از طریق رابط وب برگردد ، با این که پرونده جایگزین به نسخه تبدیل شود. این برنامه به طور خودکار پوشه نسخه ها را کنترل می کند تا اطمینان حاصل کند کاربر به دلیل نسخه ها از Quota تمام نمی شود.\nعلاوه بر انقضاء نسخه ها ، برنامه نسخه ها باعث می شود که هرگز از بیش از 50٪ از فضای رایگان فعلی کاربر استفاده نکنید. اگر نسخه های ذخیره شده از این حد فراتر رود ، برنامه ابتدا قدیمی ترین نسخه ها را حذف می کند تا اینکه این حد را برآورده کند. اطلاعات بیشتر در مستندات Versions موجود است.", "Failed to revert {file} to revision {timestamp}." : "برگرداندن {file} به نسخه {timestamp} با شکست روبرو شد", "_%n byte_::_%n bytes_" : ["%n بایت","%n بایت"], "Restore" : "بازیابی", - "No other versions available" : "نسخه ی دیگری در دسترس نیست", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "این برنامه به طور خودکار نسخه های قدیمی تر پرونده های تغییر یافته را حفظ می کند. با فعال کردن ، یک پوشه نسخه پنهان در فهرست کاربر هر کاربر ارائه می شود و از آن برای ذخیره نسخه های قدیمی فایل استفاده می شود. کاربر می تواند در هر زمان به نسخه قدیمی تر از طریق رابط وب برگردد ، با این که پرونده جایگزین به نسخه تبدیل شود. این برنامه به طور خودکار پوشه نسخه ها را کنترل می کند تا اطمینان حاصل کند کاربر به دلیل نسخه ها از Quota تمام نمی شود.\nعلاوه بر انقضاء نسخه ها ، برنامه نسخه ها باعث می شود که هرگز از بیش از 50٪ از فضای رایگان فعلی کاربر استفاده نکنید. اگر نسخه های ذخیره شده از این حد فراتر رود ، برنامه ابتدا قدیمی ترین نسخه ها را حذف می کند تا اینکه این حد را برآورده کند. اطلاعات بیشتر در مستندات Versions موجود است." + "No other versions available" : "نسخه ی دیگری در دسترس نیست" },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/fi.js b/apps/files_versions/l10n/fi.js index 36fa9a660dc..0517aa421c9 100644 --- a/apps/files_versions/l10n/fi.js +++ b/apps/files_versions/l10n/fi.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Versions" : "Versiot", "This application automatically maintains older versions of files that are changed." : "Tämä sovellus säilyttää automaattisesti vanhempia versioita muuttuneista tiedostoista.", + "Version" : "Versio", "Failed to revert {file} to revision {timestamp}." : "Tiedoston {file} palautus versioon {timestamp} epäonnistui.", "_%n byte_::_%n bytes_" : ["%n tavu","%n tavua"], "Restore" : "Palauta", diff --git a/apps/files_versions/l10n/fi.json b/apps/files_versions/l10n/fi.json index cb094998f4f..2d4e9a93d58 100644 --- a/apps/files_versions/l10n/fi.json +++ b/apps/files_versions/l10n/fi.json @@ -1,6 +1,7 @@ { "translations": { "Versions" : "Versiot", "This application automatically maintains older versions of files that are changed." : "Tämä sovellus säilyttää automaattisesti vanhempia versioita muuttuneista tiedostoista.", + "Version" : "Versio", "Failed to revert {file} to revision {timestamp}." : "Tiedoston {file} palautus versioon {timestamp} epäonnistui.", "_%n byte_::_%n bytes_" : ["%n tavu","%n tavua"], "Restore" : "Palauta", diff --git a/apps/files_versions/l10n/fr.js b/apps/files_versions/l10n/fr.js index e8afcda426c..5a75ab87d02 100644 --- a/apps/files_versions/l10n/fr.js +++ b/apps/files_versions/l10n/fr.js @@ -4,10 +4,16 @@ OC.L10N.register( "Versions" : "Versions", "This application automatically maintains older versions of files that are changed." : "Cette application conserve automatiquement des anciennes versions de fichiers qui ont été modifiés.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Cette application maintient automatiquement les anciennes versions des fichiers qui sont modifiés. Lorsqu'elle est activée, un dossier de versions cachées est provisionné dans le répertoire de chaque utilisateur et est utilisé pour stocker les anciennes versions de fichiers. Un utilisateur peut à tout moment revenir à une ancienne version via l'interface Web, le fichier remplacé devenant à son tour une version. L'application gère automatiquement le dossier des versions pour s'assurer que l'utilisateur ne manque pas de place à cause des versions stockées.\n\t\tEn plus de l'expiration des versions, l'application veille à ne jamais utiliser plus de 50% de l'espace libre actuellement disponible pour l'utilisateur. Si les versions stockées dépassent cette limite, l'application supprime les versions les plus anciennes en premier jusqu'à ce qu'elle atteigne cette limite. Plus d'informations sont disponibles dans la documentation Versions.", + "Download version" : "Télécharger la version", + "Restore version" : "Restaurer la version", + "No versions yet" : "Aucune version pour l'instant", + "Version restored" : "Version restaurée", + "Could not restore version" : "Impossible de restaurer la version", + "Version" : "Version", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Cette application maintient automatiquement les anciennes versions des fichiers qui sont modifiés. Lorsqu'elle est activée, un dossier de versions cachées est provisionné dans le répertoire de chaque utilisateur et est utilisé pour stocker les anciennes versions de fichiers. Un utilisateur peut à tout moment revenir à une ancienne version via l'interface Web, le fichier remplacé devenant à son tour une version. L'application gère automatiquement le dossier des versions pour s'assurer que l'utilisateur ne manque pas de place à cause des versions stockées.\nEn plus de l'expiration des versions, l'application veille à ne jamais utiliser plus de 50% de l'espace libre actuellement disponible pour l'utilisateur. Si les versions stockées dépassent cette limite, l'application supprime les versions les plus anciennes en premier jusqu'à ce qu'elle atteigne cette limite. Plus d'informations sont disponibles dans la documentation Versions.", "Failed to revert {file} to revision {timestamp}." : "Échec de la restauration du fichier {file} à la révision {timestamp}.", "_%n byte_::_%n bytes_" : ["%n octet","%n octets","%n octets"], "Restore" : "Restaurer", - "No other versions available" : "Aucune autre version n'est disponible", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Cette application maintient automatiquement les anciennes versions des fichiers qui sont modifiés. Lorsqu'elle est activée, un dossier de versions cachées est provisionné dans le répertoire de chaque utilisateur et est utilisé pour stocker les anciennes versions de fichiers. Un utilisateur peut à tout moment revenir à une ancienne version via l'interface Web, le fichier remplacé devenant à son tour une version. L'application gère automatiquement le dossier des versions pour s'assurer que l'utilisateur ne manque pas de place à cause des versions stockées.\nEn plus de l'expiration des versions, l'application veille à ne jamais utiliser plus de 50% de l'espace libre actuellement disponible pour l'utilisateur. Si les versions stockées dépassent cette limite, l'application supprime les versions les plus anciennes en premier jusqu'à ce qu'elle atteigne cette limite. Plus d'informations sont disponibles dans la documentation Versions." + "No other versions available" : "Aucune autre version n'est disponible" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_versions/l10n/fr.json b/apps/files_versions/l10n/fr.json index c589e37e4f9..3349c9ba550 100644 --- a/apps/files_versions/l10n/fr.json +++ b/apps/files_versions/l10n/fr.json @@ -2,10 +2,16 @@ "Versions" : "Versions", "This application automatically maintains older versions of files that are changed." : "Cette application conserve automatiquement des anciennes versions de fichiers qui ont été modifiés.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Cette application maintient automatiquement les anciennes versions des fichiers qui sont modifiés. Lorsqu'elle est activée, un dossier de versions cachées est provisionné dans le répertoire de chaque utilisateur et est utilisé pour stocker les anciennes versions de fichiers. Un utilisateur peut à tout moment revenir à une ancienne version via l'interface Web, le fichier remplacé devenant à son tour une version. L'application gère automatiquement le dossier des versions pour s'assurer que l'utilisateur ne manque pas de place à cause des versions stockées.\n\t\tEn plus de l'expiration des versions, l'application veille à ne jamais utiliser plus de 50% de l'espace libre actuellement disponible pour l'utilisateur. Si les versions stockées dépassent cette limite, l'application supprime les versions les plus anciennes en premier jusqu'à ce qu'elle atteigne cette limite. Plus d'informations sont disponibles dans la documentation Versions.", + "Download version" : "Télécharger la version", + "Restore version" : "Restaurer la version", + "No versions yet" : "Aucune version pour l'instant", + "Version restored" : "Version restaurée", + "Could not restore version" : "Impossible de restaurer la version", + "Version" : "Version", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Cette application maintient automatiquement les anciennes versions des fichiers qui sont modifiés. Lorsqu'elle est activée, un dossier de versions cachées est provisionné dans le répertoire de chaque utilisateur et est utilisé pour stocker les anciennes versions de fichiers. Un utilisateur peut à tout moment revenir à une ancienne version via l'interface Web, le fichier remplacé devenant à son tour une version. L'application gère automatiquement le dossier des versions pour s'assurer que l'utilisateur ne manque pas de place à cause des versions stockées.\nEn plus de l'expiration des versions, l'application veille à ne jamais utiliser plus de 50% de l'espace libre actuellement disponible pour l'utilisateur. Si les versions stockées dépassent cette limite, l'application supprime les versions les plus anciennes en premier jusqu'à ce qu'elle atteigne cette limite. Plus d'informations sont disponibles dans la documentation Versions.", "Failed to revert {file} to revision {timestamp}." : "Échec de la restauration du fichier {file} à la révision {timestamp}.", "_%n byte_::_%n bytes_" : ["%n octet","%n octets","%n octets"], "Restore" : "Restaurer", - "No other versions available" : "Aucune autre version n'est disponible", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Cette application maintient automatiquement les anciennes versions des fichiers qui sont modifiés. Lorsqu'elle est activée, un dossier de versions cachées est provisionné dans le répertoire de chaque utilisateur et est utilisé pour stocker les anciennes versions de fichiers. Un utilisateur peut à tout moment revenir à une ancienne version via l'interface Web, le fichier remplacé devenant à son tour une version. L'application gère automatiquement le dossier des versions pour s'assurer que l'utilisateur ne manque pas de place à cause des versions stockées.\nEn plus de l'expiration des versions, l'application veille à ne jamais utiliser plus de 50% de l'espace libre actuellement disponible pour l'utilisateur. Si les versions stockées dépassent cette limite, l'application supprime les versions les plus anciennes en premier jusqu'à ce qu'elle atteigne cette limite. Plus d'informations sont disponibles dans la documentation Versions." + "No other versions available" : "Aucune autre version n'est disponible" },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/gl.js b/apps/files_versions/l10n/gl.js index a9e2b711808..ba5ac5f490a 100644 --- a/apps/files_versions/l10n/gl.js +++ b/apps/files_versions/l10n/gl.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "Versións", "This application automatically maintains older versions of files that are changed." : "Esta aplicación mantén automaticamente versións antigas dos ficheiros que cambian.", + "Version" : "Versión", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantén automaticamente versións antigas dos ficheiros que cambian. Ao activarse, crease un cartafol agochado de versións que se emprega para almacenar versións antigas de ficheiros. Un usuario pode reverter cara a unha versión anterior a través da interface web en calquera momento, co ficheiro substituído converténdose nunha versión. A aplicación xestiona automaticamente o cartafol de versións para asegurarse de que o usuario non queda sen espazo por mor das versións.\n\t\tAdemais da caducidade de versións, a aplicación de versións asegurase de non empregar nunca máis do 50% do espazo libre actualmente dispoñíbel para un usuario. Se as versións almacenadas exceden este límite, a aplicación eliminará as versións máis antigas ata acadar este límite. Hai máis información dispoñíbel na documentación de Versións.", "Failed to revert {file} to revision {timestamp}." : "Non foi posíbel reverter {file} á revisión {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Restore" : "Restaurar", - "No other versions available" : "Non hai outras versións dispoñíbeis", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantén automaticamente versións antigas dos ficheiros que cambian. Ao activarse, crease un cartafol agochado de versións que se emprega para almacenar versións antigas de ficheiros. Un usuario pode reverter cara a unha versión anterior a través da interface web en calquera momento, co ficheiro substituído converténdose nunha versión. A aplicación xestiona automaticamente o cartafol de versións para asegurarse de que o usuario non queda sen espazo por mor das versións.\n\t\tAdemais da caducidade de versións, a aplicación de versións asegurase de non empregar nunca máis do 50% do espazo libre actualmente dispoñíbel para un usuario. Se as versións almacenadas exceden este límite, a aplicación eliminará as versións máis antigas ata acadar este límite. Hai máis información dispoñíbel na documentación de Versións." + "No other versions available" : "Non hai outras versións dispoñíbeis" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/gl.json b/apps/files_versions/l10n/gl.json index 8aeceb1beaa..1282df0c01f 100644 --- a/apps/files_versions/l10n/gl.json +++ b/apps/files_versions/l10n/gl.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "Versións", "This application automatically maintains older versions of files that are changed." : "Esta aplicación mantén automaticamente versións antigas dos ficheiros que cambian.", + "Version" : "Versión", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantén automaticamente versións antigas dos ficheiros que cambian. Ao activarse, crease un cartafol agochado de versións que se emprega para almacenar versións antigas de ficheiros. Un usuario pode reverter cara a unha versión anterior a través da interface web en calquera momento, co ficheiro substituído converténdose nunha versión. A aplicación xestiona automaticamente o cartafol de versións para asegurarse de que o usuario non queda sen espazo por mor das versións.\n\t\tAdemais da caducidade de versións, a aplicación de versións asegurase de non empregar nunca máis do 50% do espazo libre actualmente dispoñíbel para un usuario. Se as versións almacenadas exceden este límite, a aplicación eliminará as versións máis antigas ata acadar este límite. Hai máis información dispoñíbel na documentación de Versións.", "Failed to revert {file} to revision {timestamp}." : "Non foi posíbel reverter {file} á revisión {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Restore" : "Restaurar", - "No other versions available" : "Non hai outras versións dispoñíbeis", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantén automaticamente versións antigas dos ficheiros que cambian. Ao activarse, crease un cartafol agochado de versións que se emprega para almacenar versións antigas de ficheiros. Un usuario pode reverter cara a unha versión anterior a través da interface web en calquera momento, co ficheiro substituído converténdose nunha versión. A aplicación xestiona automaticamente o cartafol de versións para asegurarse de que o usuario non queda sen espazo por mor das versións.\n\t\tAdemais da caducidade de versións, a aplicación de versións asegurase de non empregar nunca máis do 50% do espazo libre actualmente dispoñíbel para un usuario. Se as versións almacenadas exceden este límite, a aplicación eliminará as versións máis antigas ata acadar este límite. Hai máis información dispoñíbel na documentación de Versións." + "No other versions available" : "Non hai outras versións dispoñíbeis" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/he.js b/apps/files_versions/l10n/he.js index 9941cb29468..edeac4bb278 100644 --- a/apps/files_versions/l10n/he.js +++ b/apps/files_versions/l10n/he.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "גרסאות", "This application automatically maintains older versions of files that are changed." : "יישומון זה שומר אוטומטית על גרסאות קודמות של קבצים שהשתנו.", + "Version" : "גרסה", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "יישום זה מתחזק באופן אוטומטי גרסאות ישנות יותר של קבצים שמשתנים. כאשר היא מופעלת, תיקייה של גרסאות נסתרות מסופקת בספריה של כל משתמש, ומשמשת לאחסן גרסאות קבצים ישנות. משתמש יכול לחזור לגרסה ישנה יותר באמצעות ממשק האינטרנט בכל עת, כאשר הקובץ שהוחלף יהפוך לגרסה. האפליקציה מנהלת באופן אוטומטי את תיקיית הגרסאות כדי להבטיח שלמשתמש לא נגמר המכסה בגלל גרסאות.\nבנוסף לתום תפוגת הגרסאות, אפליקציית הגרסאות מקפידה שלא להשתמש ביותר מ -50% מהשטח הפנוי של המשתמש הזמין כרגע. אם גרסאות מאוחסנות חורגות ממגבלה זו, האפליקציה תמחק תחילה את הגרסאות העתיקות ביותר, עד שתעמוד במגבלה זו. מידע נוסף זמין בתיעוד ה-Versions.", "Failed to revert {file} to revision {timestamp}." : "נכשל אחזור {file} לגרסה {timestamp}.", "_%n byte_::_%n bytes_" : ["%n בייט","%n בייטים","%n בייטים","%n בייטים"], "Restore" : "שחזור", - "No other versions available" : "אין גרסאות אחרות זמינות", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "יישום זה מתחזק באופן אוטומטי גרסאות ישנות יותר של קבצים שמשתנים. כאשר היא מופעלת, תיקייה של גרסאות נסתרות מסופקת בספריה של כל משתמש, ומשמשת לאחסן גרסאות קבצים ישנות. משתמש יכול לחזור לגרסה ישנה יותר באמצעות ממשק האינטרנט בכל עת, כאשר הקובץ שהוחלף יהפוך לגרסה. האפליקציה מנהלת באופן אוטומטי את תיקיית הגרסאות כדי להבטיח שלמשתמש לא נגמר המכסה בגלל גרסאות.\nבנוסף לתום תפוגת הגרסאות, אפליקציית הגרסאות מקפידה שלא להשתמש ביותר מ -50% מהשטח הפנוי של המשתמש הזמין כרגע. אם גרסאות מאוחסנות חורגות ממגבלה זו, האפליקציה תמחק תחילה את הגרסאות העתיקות ביותר, עד שתעמוד במגבלה זו. מידע נוסף זמין בתיעוד ה-Versions." + "No other versions available" : "אין גרסאות אחרות זמינות" }, "nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"); diff --git a/apps/files_versions/l10n/he.json b/apps/files_versions/l10n/he.json index d2a707a3897..91c9f75130d 100644 --- a/apps/files_versions/l10n/he.json +++ b/apps/files_versions/l10n/he.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "גרסאות", "This application automatically maintains older versions of files that are changed." : "יישומון זה שומר אוטומטית על גרסאות קודמות של קבצים שהשתנו.", + "Version" : "גרסה", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "יישום זה מתחזק באופן אוטומטי גרסאות ישנות יותר של קבצים שמשתנים. כאשר היא מופעלת, תיקייה של גרסאות נסתרות מסופקת בספריה של כל משתמש, ומשמשת לאחסן גרסאות קבצים ישנות. משתמש יכול לחזור לגרסה ישנה יותר באמצעות ממשק האינטרנט בכל עת, כאשר הקובץ שהוחלף יהפוך לגרסה. האפליקציה מנהלת באופן אוטומטי את תיקיית הגרסאות כדי להבטיח שלמשתמש לא נגמר המכסה בגלל גרסאות.\nבנוסף לתום תפוגת הגרסאות, אפליקציית הגרסאות מקפידה שלא להשתמש ביותר מ -50% מהשטח הפנוי של המשתמש הזמין כרגע. אם גרסאות מאוחסנות חורגות ממגבלה זו, האפליקציה תמחק תחילה את הגרסאות העתיקות ביותר, עד שתעמוד במגבלה זו. מידע נוסף זמין בתיעוד ה-Versions.", "Failed to revert {file} to revision {timestamp}." : "נכשל אחזור {file} לגרסה {timestamp}.", "_%n byte_::_%n bytes_" : ["%n בייט","%n בייטים","%n בייטים","%n בייטים"], "Restore" : "שחזור", - "No other versions available" : "אין גרסאות אחרות זמינות", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "יישום זה מתחזק באופן אוטומטי גרסאות ישנות יותר של קבצים שמשתנים. כאשר היא מופעלת, תיקייה של גרסאות נסתרות מסופקת בספריה של כל משתמש, ומשמשת לאחסן גרסאות קבצים ישנות. משתמש יכול לחזור לגרסה ישנה יותר באמצעות ממשק האינטרנט בכל עת, כאשר הקובץ שהוחלף יהפוך לגרסה. האפליקציה מנהלת באופן אוטומטי את תיקיית הגרסאות כדי להבטיח שלמשתמש לא נגמר המכסה בגלל גרסאות.\nבנוסף לתום תפוגת הגרסאות, אפליקציית הגרסאות מקפידה שלא להשתמש ביותר מ -50% מהשטח הפנוי של המשתמש הזמין כרגע. אם גרסאות מאוחסנות חורגות ממגבלה זו, האפליקציה תמחק תחילה את הגרסאות העתיקות ביותר, עד שתעמוד במגבלה זו. מידע נוסף זמין בתיעוד ה-Versions." + "No other versions available" : "אין גרסאות אחרות זמינות" },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/hr.js b/apps/files_versions/l10n/hr.js index afafc69c3bc..a5a02529866 100644 --- a/apps/files_versions/l10n/hr.js +++ b/apps/files_versions/l10n/hr.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "Inačice", "This application automatically maintains older versions of files that are changed." : "Ova aplikacija automatski održava starije inačice datoteka koje su promijenjene.", + "Version" : "Inačica", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ova aplikacija automatski održava starije inačice datoteka koje su promijenjene. Kad se omogući, u direktoriju svakog korisnika stvori se skrivena mapa s inačicama i koristi za pohranu starih inačica datoteka. Korisnik se u bilo kojem trenutku može vratiti na stariju inačicu putem web sučelja, a zamijenjena datoteka postaje inačica. Aplikacija automatski upravlja mapom s inačicama kako bi se osiguralo da korisnik ne ostane bez prostora zbog brojnih inačica.\n\t\tOsim isteka inačica, aplikacija za inačice pazi da nikada ne iskoristite više od 50 % trenutno dostupnog slobodnog prostora. Ako pohranjene inačice premaše ovo ograničenje, aplikacija će najprije izbrisati najstarije inačice tako da dosegne navedeno ograničenje. Više informacija dostupno je u dokumentaciji Inačice.", "Failed to revert {file} to revision {timestamp}." : "Neuspješno vraćanje {file} na reviziju {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bajt","%n bajtova","%n bajtova"], "Restore" : "Vrati", - "No other versions available" : "Nema drugih inačica", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ova aplikacija automatski održava starije inačice datoteka koje su promijenjene. Kad se omogući, u direktoriju svakog korisnika stvori se skrivena mapa s inačicama i koristi za pohranu starih inačica datoteka. Korisnik se u bilo kojem trenutku može vratiti na stariju inačicu putem web sučelja, a zamijenjena datoteka postaje inačica. Aplikacija automatski upravlja mapom s inačicama kako bi se osiguralo da korisnik ne ostane bez prostora zbog brojnih inačica.\n\t\tOsim isteka inačica, aplikacija za inačice pazi da nikada ne iskoristite više od 50 % trenutno dostupnog slobodnog prostora. Ako pohranjene inačice premaše ovo ograničenje, aplikacija će najprije izbrisati najstarije inačice tako da dosegne navedeno ograničenje. Više informacija dostupno je u dokumentaciji Inačice." + "No other versions available" : "Nema drugih inačica" }, "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"); diff --git a/apps/files_versions/l10n/hr.json b/apps/files_versions/l10n/hr.json index 3fdf9081424..76607baf3e9 100644 --- a/apps/files_versions/l10n/hr.json +++ b/apps/files_versions/l10n/hr.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "Inačice", "This application automatically maintains older versions of files that are changed." : "Ova aplikacija automatski održava starije inačice datoteka koje su promijenjene.", + "Version" : "Inačica", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ova aplikacija automatski održava starije inačice datoteka koje su promijenjene. Kad se omogući, u direktoriju svakog korisnika stvori se skrivena mapa s inačicama i koristi za pohranu starih inačica datoteka. Korisnik se u bilo kojem trenutku može vratiti na stariju inačicu putem web sučelja, a zamijenjena datoteka postaje inačica. Aplikacija automatski upravlja mapom s inačicama kako bi se osiguralo da korisnik ne ostane bez prostora zbog brojnih inačica.\n\t\tOsim isteka inačica, aplikacija za inačice pazi da nikada ne iskoristite više od 50 % trenutno dostupnog slobodnog prostora. Ako pohranjene inačice premaše ovo ograničenje, aplikacija će najprije izbrisati najstarije inačice tako da dosegne navedeno ograničenje. Više informacija dostupno je u dokumentaciji Inačice.", "Failed to revert {file} to revision {timestamp}." : "Neuspješno vraćanje {file} na reviziju {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bajt","%n bajtova","%n bajtova"], "Restore" : "Vrati", - "No other versions available" : "Nema drugih inačica", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ova aplikacija automatski održava starije inačice datoteka koje su promijenjene. Kad se omogući, u direktoriju svakog korisnika stvori se skrivena mapa s inačicama i koristi za pohranu starih inačica datoteka. Korisnik se u bilo kojem trenutku može vratiti na stariju inačicu putem web sučelja, a zamijenjena datoteka postaje inačica. Aplikacija automatski upravlja mapom s inačicama kako bi se osiguralo da korisnik ne ostane bez prostora zbog brojnih inačica.\n\t\tOsim isteka inačica, aplikacija za inačice pazi da nikada ne iskoristite više od 50 % trenutno dostupnog slobodnog prostora. Ako pohranjene inačice premaše ovo ograničenje, aplikacija će najprije izbrisati najstarije inačice tako da dosegne navedeno ograničenje. Više informacija dostupno je u dokumentaciji Inačice." + "No other versions available" : "Nema drugih inačica" },"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/hu.js b/apps/files_versions/l10n/hu.js index 4b04a14cdaf..bac43ccc2b1 100644 --- a/apps/files_versions/l10n/hu.js +++ b/apps/files_versions/l10n/hu.js @@ -4,10 +4,16 @@ OC.L10N.register( "Versions" : "Verziók", "This application automatically maintains older versions of files that are changed." : "Ez az alkalmazás automatikusan karbantartja a változtatott fájlok régebbi verzióit.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ez az alkalmazás automatikusan karbantartja a változtatott fájlok régebbi verzióit. Amikor be van kapcsolva, egy rejtett verziómappa jön létre minden felhasználó tárhelyén, amit a korábbi verziók tárolására használ a rendszer. Egy felhasználó bármikor visszatérhet egy korábbi verzióhoz a webes felületen keresztül, és a lecserélt fájl maga is előzménnyé válik. Az alkalmazás automatikusan kezeli a verziómappát, biztosítva, hogy a felhasználó ne fusson ki a tárterületéből az előzmények miatt.\n\t\tA fájlelőzmények lejárati dátumán kívül az alkalmazás sose használ az elérhető szabad terület 50%-ánál többet. Ha a tárolt előzmények túllépik ezt a korlátot, az alkalmazás addig törli a legrégebbi verziókat, amíg nem felel meg a korlátozásnak. További információ érhető el a Verziók dokumentációjában.", + "Download version" : "Verzió letöltése", + "Restore version" : "Verzió helyreállítása", + "No versions yet" : "Még nincsenek verziók", + "Version restored" : "Verzió helyreállítva", + "Could not restore version" : "Nem sikerült helyreállítani a verziót", + "Version" : "Verzió", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ez az alkalmazás automatikusan karbantartja a változtatott fájlok régebbi verzióit. Amikor be van kapcsolva, egy rejtett verziómappa jön létre minden felhasználó tárhelyén, amit a korábbi verziók tárolására használ a rendszer. Egy felhasználó bármikor visszatérhet egy korábbi verzióhoz a webes felületen keresztül, és a lecserélt fájl maga is előzménnyé válik. Az alkalmazás automatikusan kezeli a verziómappát, biztosítva, hogy a felhasználó ne fusson ki a tárterületéből az előzmények miatt.\n\t\tA fájlelőzmények lejárati dátumán kívül az alkalmazás sose használ az elérhető szabad terület 50%-ánál többet. Ha a tárolt előzmények túllépik ezt a korlátot, az alkalmazás addig törli a legrégebbi verziókat, amíg nem felel meg a korlátozásnak. További információ érhető el a Verziók dokumentációjában.", "Failed to revert {file} to revision {timestamp}." : "A(z) {file} fájlt nem sikerült erre visszaállítani: {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bájt","%n bájt"], "Restore" : "Visszaállítás", - "No other versions available" : "Nincs másik elérhető verzió", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ez az alkalmazás automatikusan karbantartja a változtatott fájlok régebbi verzióit. Amikor be van kapcsolva, egy rejtett verziómappa jön létre minden felhasználó tárhelyén, amit a korábbi verziók tárolására használ a rendszer. Egy felhasználó bármikor visszatérhet egy korábbi verzióhoz a webes felületen keresztül, és a lecserélt fájl maga is előzménnyé válik. Az alkalmazás automatikusan kezeli a verziómappát, biztosítva, hogy a felhasználó ne fusson ki a tárterületéből az előzmények miatt.\n\t\tA fájlelőzmények lejárati dátumán kívül az alkalmazás sose használ az elérhető szabad terület 50%-ánál többet. Ha a tárolt előzmények túllépik ezt a korlátot, az alkalmazás addig törli a legrégebbi verziókat, amíg nem felel meg a korlátozásnak. További információ érhető el a Verziók dokumentációjában." + "No other versions available" : "Nincs másik elérhető verzió" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/hu.json b/apps/files_versions/l10n/hu.json index ba4bfed0091..83a63fea953 100644 --- a/apps/files_versions/l10n/hu.json +++ b/apps/files_versions/l10n/hu.json @@ -2,10 +2,16 @@ "Versions" : "Verziók", "This application automatically maintains older versions of files that are changed." : "Ez az alkalmazás automatikusan karbantartja a változtatott fájlok régebbi verzióit.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ez az alkalmazás automatikusan karbantartja a változtatott fájlok régebbi verzióit. Amikor be van kapcsolva, egy rejtett verziómappa jön létre minden felhasználó tárhelyén, amit a korábbi verziók tárolására használ a rendszer. Egy felhasználó bármikor visszatérhet egy korábbi verzióhoz a webes felületen keresztül, és a lecserélt fájl maga is előzménnyé válik. Az alkalmazás automatikusan kezeli a verziómappát, biztosítva, hogy a felhasználó ne fusson ki a tárterületéből az előzmények miatt.\n\t\tA fájlelőzmények lejárati dátumán kívül az alkalmazás sose használ az elérhető szabad terület 50%-ánál többet. Ha a tárolt előzmények túllépik ezt a korlátot, az alkalmazás addig törli a legrégebbi verziókat, amíg nem felel meg a korlátozásnak. További információ érhető el a Verziók dokumentációjában.", + "Download version" : "Verzió letöltése", + "Restore version" : "Verzió helyreállítása", + "No versions yet" : "Még nincsenek verziók", + "Version restored" : "Verzió helyreállítva", + "Could not restore version" : "Nem sikerült helyreállítani a verziót", + "Version" : "Verzió", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ez az alkalmazás automatikusan karbantartja a változtatott fájlok régebbi verzióit. Amikor be van kapcsolva, egy rejtett verziómappa jön létre minden felhasználó tárhelyén, amit a korábbi verziók tárolására használ a rendszer. Egy felhasználó bármikor visszatérhet egy korábbi verzióhoz a webes felületen keresztül, és a lecserélt fájl maga is előzménnyé válik. Az alkalmazás automatikusan kezeli a verziómappát, biztosítva, hogy a felhasználó ne fusson ki a tárterületéből az előzmények miatt.\n\t\tA fájlelőzmények lejárati dátumán kívül az alkalmazás sose használ az elérhető szabad terület 50%-ánál többet. Ha a tárolt előzmények túllépik ezt a korlátot, az alkalmazás addig törli a legrégebbi verziókat, amíg nem felel meg a korlátozásnak. További információ érhető el a Verziók dokumentációjában.", "Failed to revert {file} to revision {timestamp}." : "A(z) {file} fájlt nem sikerült erre visszaállítani: {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bájt","%n bájt"], "Restore" : "Visszaállítás", - "No other versions available" : "Nincs másik elérhető verzió", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ez az alkalmazás automatikusan karbantartja a változtatott fájlok régebbi verzióit. Amikor be van kapcsolva, egy rejtett verziómappa jön létre minden felhasználó tárhelyén, amit a korábbi verziók tárolására használ a rendszer. Egy felhasználó bármikor visszatérhet egy korábbi verzióhoz a webes felületen keresztül, és a lecserélt fájl maga is előzménnyé válik. Az alkalmazás automatikusan kezeli a verziómappát, biztosítva, hogy a felhasználó ne fusson ki a tárterületéből az előzmények miatt.\n\t\tA fájlelőzmények lejárati dátumán kívül az alkalmazás sose használ az elérhető szabad terület 50%-ánál többet. Ha a tárolt előzmények túllépik ezt a korlátot, az alkalmazás addig törli a legrégebbi verziókat, amíg nem felel meg a korlátozásnak. További információ érhető el a Verziók dokumentációjában." + "No other versions available" : "Nincs másik elérhető verzió" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/id.js b/apps/files_versions/l10n/id.js index 3fb4aebe94c..35ad4ded36e 100644 --- a/apps/files_versions/l10n/id.js +++ b/apps/files_versions/l10n/id.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "Versi", "This application automatically maintains older versions of files that are changed." : "Aplikasi ini secara otomatis memelihara versi-versi sebelumnya dari berkas yang telah diubah.", + "Version" : "Versi", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikasi ini secara otomatis memelihara versi-versi sebelumnya dari berkas yang telah diubah. Saat diaktifkan, suatu folder tersembunyi akan dibuat pada semua direktori pengguna, dan digunakan sebagai wadah penyimpanan versi-versi berkas. Secara otomatis akan mengelola folder versi-versi untuk memastikan pengguna tidak kehabisan kuota dikarenakan versi yang ada.\n\t\tSebagai tambahan dari kedaluwarsa suatu versi, aplikasi ini memastikan tidak akan menggunakan kuota 50% lebih dari sisa kapasitas yang dimiliki oleh pengguna. Jika versi yang tersimpan melampaui batasan, maka versi tertua akan dihapus lebih dahulu sampai batasan kembali sesuai ketentuan. Informasi lebih lanjut mengenai Versi dapat dilihat pada dokumentasi", "Failed to revert {file} to revision {timestamp}." : "Gagal mengembalikan {file} ke revisi {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bytes"], "Restore" : "Pulihkan", - "No other versions available" : "Tidak ada versi lain yang tersedia", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikasi ini secara otomatis memelihara versi-versi sebelumnya dari berkas yang telah diubah. Saat diaktifkan, suatu folder tersembunyi akan dibuat pada semua direktori pengguna, dan digunakan sebagai wadah penyimpanan versi-versi berkas. Secara otomatis akan mengelola folder versi-versi untuk memastikan pengguna tidak kehabisan kuota dikarenakan versi yang ada.\n\t\tSebagai tambahan dari kedaluwarsa suatu versi, aplikasi ini memastikan tidak akan menggunakan kuota 50% lebih dari sisa kapasitas yang dimiliki oleh pengguna. Jika versi yang tersimpan melampaui batasan, maka versi tertua akan dihapus lebih dahulu sampai batasan kembali sesuai ketentuan. Informasi lebih lanjut mengenai Versi dapat dilihat pada dokumentasi" + "No other versions available" : "Tidak ada versi lain yang tersedia" }, "nplurals=1; plural=0;"); diff --git a/apps/files_versions/l10n/id.json b/apps/files_versions/l10n/id.json index 2ddf7452f4a..4b38ca58c70 100644 --- a/apps/files_versions/l10n/id.json +++ b/apps/files_versions/l10n/id.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "Versi", "This application automatically maintains older versions of files that are changed." : "Aplikasi ini secara otomatis memelihara versi-versi sebelumnya dari berkas yang telah diubah.", + "Version" : "Versi", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikasi ini secara otomatis memelihara versi-versi sebelumnya dari berkas yang telah diubah. Saat diaktifkan, suatu folder tersembunyi akan dibuat pada semua direktori pengguna, dan digunakan sebagai wadah penyimpanan versi-versi berkas. Secara otomatis akan mengelola folder versi-versi untuk memastikan pengguna tidak kehabisan kuota dikarenakan versi yang ada.\n\t\tSebagai tambahan dari kedaluwarsa suatu versi, aplikasi ini memastikan tidak akan menggunakan kuota 50% lebih dari sisa kapasitas yang dimiliki oleh pengguna. Jika versi yang tersimpan melampaui batasan, maka versi tertua akan dihapus lebih dahulu sampai batasan kembali sesuai ketentuan. Informasi lebih lanjut mengenai Versi dapat dilihat pada dokumentasi", "Failed to revert {file} to revision {timestamp}." : "Gagal mengembalikan {file} ke revisi {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bytes"], "Restore" : "Pulihkan", - "No other versions available" : "Tidak ada versi lain yang tersedia", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikasi ini secara otomatis memelihara versi-versi sebelumnya dari berkas yang telah diubah. Saat diaktifkan, suatu folder tersembunyi akan dibuat pada semua direktori pengguna, dan digunakan sebagai wadah penyimpanan versi-versi berkas. Secara otomatis akan mengelola folder versi-versi untuk memastikan pengguna tidak kehabisan kuota dikarenakan versi yang ada.\n\t\tSebagai tambahan dari kedaluwarsa suatu versi, aplikasi ini memastikan tidak akan menggunakan kuota 50% lebih dari sisa kapasitas yang dimiliki oleh pengguna. Jika versi yang tersimpan melampaui batasan, maka versi tertua akan dihapus lebih dahulu sampai batasan kembali sesuai ketentuan. Informasi lebih lanjut mengenai Versi dapat dilihat pada dokumentasi" + "No other versions available" : "Tidak ada versi lain yang tersedia" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/is.js b/apps/files_versions/l10n/is.js index e18151f5836..8363f167ab4 100644 --- a/apps/files_versions/l10n/is.js +++ b/apps/files_versions/l10n/is.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Versions" : "Útgáfur", "This application automatically maintains older versions of files that are changed." : "Þetta forrit viðheldur sjálfvirkt eldri útgáfum skráa sem er breytt.", + "Version" : "Útgáfa", "Failed to revert {file} to revision {timestamp}." : "Mistókst að endurheimta {file} útgáfu {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bæti","%n bæti"], "Restore" : "Endurheimta", diff --git a/apps/files_versions/l10n/is.json b/apps/files_versions/l10n/is.json index 60a3bdd0fa8..0ccabe8a7d3 100644 --- a/apps/files_versions/l10n/is.json +++ b/apps/files_versions/l10n/is.json @@ -1,6 +1,7 @@ { "translations": { "Versions" : "Útgáfur", "This application automatically maintains older versions of files that are changed." : "Þetta forrit viðheldur sjálfvirkt eldri útgáfum skráa sem er breytt.", + "Version" : "Útgáfa", "Failed to revert {file} to revision {timestamp}." : "Mistókst að endurheimta {file} útgáfu {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bæti","%n bæti"], "Restore" : "Endurheimta", diff --git a/apps/files_versions/l10n/it.js b/apps/files_versions/l10n/it.js index 854de323a05..a1ac9c71a78 100644 --- a/apps/files_versions/l10n/it.js +++ b/apps/files_versions/l10n/it.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "Versioni", "This application automatically maintains older versions of files that are changed." : "Questa applicazione mantiene automaticamente versioni più datate dei file modificati.", + "Version" : "Versione", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Questa applicazione conserva automaticamente versioni più datate dei file che sono stati modificati. Se abilitata, una cartella nascosta delle versioni è generata in ogni cartella degli utenti ed è utilizzata per archiviare le versioni datate dei file. Un utente può tornare a una versione più datata tramite l'interfaccia web in qualsiasi momento, con il file sostituito che diventa una versione. L'applicazione gestisce automaticamente la cartella delle versioni per assicurare che l'utente non esaurisca mai la quota a causa delle versioni.\n\t\tIn aggiunta alla scadenza delle versioni, l'applicazione delle versioni si accerta che non sia utilizzato mai più del 50% dello spazio disponibile attualmente all'utente. Se le versioni archiviate eccedono questo limite, l'applicazione eliminerà prima le versioni più vecchie, fino a raggiungere questo limite. Altre informazioni sono disponibili nella documentazione di Versioni.", "Failed to revert {file} to revision {timestamp}." : "Ripristino di {file} alla revisione {timestamp} non riuscito.", "_%n byte_::_%n bytes_" : ["%n byte","%n byte","%n byte"], "Restore" : "Ripristina", - "No other versions available" : "Non sono disponibili altre versioni", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Questa applicazione conserva automaticamente versioni più datate dei file che sono stati modificati. Se abilitata, una cartella nascosta delle versioni è generata in ogni cartella degli utenti ed è utilizzata per archiviare le versioni datate dei file. Un utente può tornare a una versione più datata tramite l'interfaccia web in qualsiasi momento, con il file sostituito che diventa una versione. L'applicazione gestisce automaticamente la cartella delle versioni per assicurare che l'utente non esaurisca mai la quota a causa delle versioni.\n\t\tIn aggiunta alla scadenza delle versioni, l'applicazione delle versioni si accerta che non sia utilizzato mai più del 50% dello spazio disponibile attualmente all'utente. Se le versioni archiviate eccedono questo limite, l'applicazione eliminerà prima le versioni più vecchie, fino a raggiungere questo limite. Altre informazioni sono disponibili nella documentazione di Versioni." + "No other versions available" : "Non sono disponibili altre versioni" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_versions/l10n/it.json b/apps/files_versions/l10n/it.json index d4cb3bbbdc9..4ef928bc105 100644 --- a/apps/files_versions/l10n/it.json +++ b/apps/files_versions/l10n/it.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "Versioni", "This application automatically maintains older versions of files that are changed." : "Questa applicazione mantiene automaticamente versioni più datate dei file modificati.", + "Version" : "Versione", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Questa applicazione conserva automaticamente versioni più datate dei file che sono stati modificati. Se abilitata, una cartella nascosta delle versioni è generata in ogni cartella degli utenti ed è utilizzata per archiviare le versioni datate dei file. Un utente può tornare a una versione più datata tramite l'interfaccia web in qualsiasi momento, con il file sostituito che diventa una versione. L'applicazione gestisce automaticamente la cartella delle versioni per assicurare che l'utente non esaurisca mai la quota a causa delle versioni.\n\t\tIn aggiunta alla scadenza delle versioni, l'applicazione delle versioni si accerta che non sia utilizzato mai più del 50% dello spazio disponibile attualmente all'utente. Se le versioni archiviate eccedono questo limite, l'applicazione eliminerà prima le versioni più vecchie, fino a raggiungere questo limite. Altre informazioni sono disponibili nella documentazione di Versioni.", "Failed to revert {file} to revision {timestamp}." : "Ripristino di {file} alla revisione {timestamp} non riuscito.", "_%n byte_::_%n bytes_" : ["%n byte","%n byte","%n byte"], "Restore" : "Ripristina", - "No other versions available" : "Non sono disponibili altre versioni", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Questa applicazione conserva automaticamente versioni più datate dei file che sono stati modificati. Se abilitata, una cartella nascosta delle versioni è generata in ogni cartella degli utenti ed è utilizzata per archiviare le versioni datate dei file. Un utente può tornare a una versione più datata tramite l'interfaccia web in qualsiasi momento, con il file sostituito che diventa una versione. L'applicazione gestisce automaticamente la cartella delle versioni per assicurare che l'utente non esaurisca mai la quota a causa delle versioni.\n\t\tIn aggiunta alla scadenza delle versioni, l'applicazione delle versioni si accerta che non sia utilizzato mai più del 50% dello spazio disponibile attualmente all'utente. Se le versioni archiviate eccedono questo limite, l'applicazione eliminerà prima le versioni più vecchie, fino a raggiungere questo limite. Altre informazioni sono disponibili nella documentazione di Versioni." + "No other versions available" : "Non sono disponibili altre versioni" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/ja.js b/apps/files_versions/l10n/ja.js index b2512cf91f9..04b0e135726 100644 --- a/apps/files_versions/l10n/ja.js +++ b/apps/files_versions/l10n/ja.js @@ -4,10 +4,11 @@ OC.L10N.register( "Versions" : "バージョン", "This application automatically maintains older versions of files that are changed." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。 有効にすると、隠れバージョンフォルダーはすべてのユーザーのディレクトリにプロビジョニングされ、古いファイルバージョンを格納するために使用されます。 ユーザーはいつでもWebインターフェイスから古いバージョンに戻すことができ、置き換えられたファイルはバージョン管理されます。 バージョン管理のためにクオータが足りなくなっていないことを保証するために、バージョンフォルダーを自動的に管理します。\n\t\tバージョンの有効期限に加えて、バージョン管理アプリは、ユーザーが現在利用可能な空き容量の50%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。", + "Version" : "バージョン", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。 有効にすると、隠れバージョンフォルダーはすべてのユーザーのディレクトリにプロビジョニングされ、古いファイルバージョンを格納するために使用されます。 ユーザーはいつでもWebインターフェイスから古いバージョンに戻すことができ、置き換えられたファイルはバージョン管理されます。 バージョン管理のためにクオータが足りなくなっていないことを保証するために、バージョンフォルダーを自動的に管理します。バージョンの有効期限に加えて、バージョン管理アプリは、ユーザーが現在利用可能な空き容量の50%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。", "Failed to revert {file} to revision {timestamp}." : "{file} を {timestamp} のリビジョンに戻すことができません。", "_%n byte_::_%n bytes_" : ["%n バイト"], "Restore" : "復元", - "No other versions available" : "利用可能なバージョンはありません", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。 有効にすると、隠れバージョンフォルダーはすべてのユーザーのディレクトリにプロビジョニングされ、古いファイルバージョンを格納するために使用されます。 ユーザーはいつでもWebインターフェイスから古いバージョンに戻すことができ、置き換えられたファイルはバージョン管理されます。 バージョン管理のためにクオータが足りなくなっていないことを保証するために、バージョンフォルダーを自動的に管理します。バージョンの有効期限に加えて、バージョン管理アプリは、ユーザーが現在利用可能な空き容量の50%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。" + "No other versions available" : "利用可能なバージョンはありません" }, "nplurals=1; plural=0;"); diff --git a/apps/files_versions/l10n/ja.json b/apps/files_versions/l10n/ja.json index 03ac05b7bf8..0078117dbcb 100644 --- a/apps/files_versions/l10n/ja.json +++ b/apps/files_versions/l10n/ja.json @@ -2,10 +2,11 @@ "Versions" : "バージョン", "This application automatically maintains older versions of files that are changed." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。 有効にすると、隠れバージョンフォルダーはすべてのユーザーのディレクトリにプロビジョニングされ、古いファイルバージョンを格納するために使用されます。 ユーザーはいつでもWebインターフェイスから古いバージョンに戻すことができ、置き換えられたファイルはバージョン管理されます。 バージョン管理のためにクオータが足りなくなっていないことを保証するために、バージョンフォルダーを自動的に管理します。\n\t\tバージョンの有効期限に加えて、バージョン管理アプリは、ユーザーが現在利用可能な空き容量の50%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。", + "Version" : "バージョン", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。 有効にすると、隠れバージョンフォルダーはすべてのユーザーのディレクトリにプロビジョニングされ、古いファイルバージョンを格納するために使用されます。 ユーザーはいつでもWebインターフェイスから古いバージョンに戻すことができ、置き換えられたファイルはバージョン管理されます。 バージョン管理のためにクオータが足りなくなっていないことを保証するために、バージョンフォルダーを自動的に管理します。バージョンの有効期限に加えて、バージョン管理アプリは、ユーザーが現在利用可能な空き容量の50%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。", "Failed to revert {file} to revision {timestamp}." : "{file} を {timestamp} のリビジョンに戻すことができません。", "_%n byte_::_%n bytes_" : ["%n バイト"], "Restore" : "復元", - "No other versions available" : "利用可能なバージョンはありません", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。 有効にすると、隠れバージョンフォルダーはすべてのユーザーのディレクトリにプロビジョニングされ、古いファイルバージョンを格納するために使用されます。 ユーザーはいつでもWebインターフェイスから古いバージョンに戻すことができ、置き換えられたファイルはバージョン管理されます。 バージョン管理のためにクオータが足りなくなっていないことを保証するために、バージョンフォルダーを自動的に管理します。バージョンの有効期限に加えて、バージョン管理アプリは、ユーザーが現在利用可能な空き容量の50%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。" + "No other versions available" : "利用可能なバージョンはありません" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/ko.js b/apps/files_versions/l10n/ko.js index 466ce184f89..a7c3ad3ba45 100644 --- a/apps/files_versions/l10n/ko.js +++ b/apps/files_versions/l10n/ko.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "버전", "This application automatically maintains older versions of files that are changed." : "이 앱은 변경된 파일의 이전 버전을 관리합니다.", + "Version" : "버전", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "이 앱은 변경된 파일의 이전 버전을 관리합니다. 이 앱을 활성화하면 개별 사용자 디렉터리 아래에 숨김 버전 폴더를 생성하며 이전 버전의 파일을 저장합니다. 웹 인터페이스를 사용하여 파일의 이전 버전으로 복원할 수 있으며, 대체된 파일은 새로운 버전으로 간주됩니다. 앱에서 버전 폴더의 크기를 자동으로 관리하여 이전 버전 때문에 할당량을 초과하는 일을 방지합니다.\n\t\t이전 버전 자동 삭제 외에도 버전 앱에서는 사용자의 현재 남은 공간의 50% 이상을 사용하지 않습니다. 저장된 버전이 해당 할당량을 초과한다면 할당량 이하로 떨어질 때까지 앱에서 가장 오래된 버전을 삭제합니다. 자세한 정보를 보려면 버전 문서를 참조하십시오.", "Failed to revert {file} to revision {timestamp}." : "{file}을(를) 리비전 {timestamp}(으)로 되돌리는 데 실패했습니다.", "_%n byte_::_%n bytes_" : ["%n바이트"], "Restore" : "복원", - "No other versions available" : "다른 버전을 사용할 수 없음", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "이 앱은 변경된 파일의 이전 버전을 관리합니다. 이 앱을 활성화하면 개별 사용자 디렉터리 아래에 숨김 버전 폴더를 생성하며 이전 버전의 파일을 저장합니다. 웹 인터페이스를 사용하여 파일의 이전 버전으로 복원할 수 있으며, 대체된 파일은 새로운 버전으로 간주됩니다. 앱에서 버전 폴더의 크기를 자동으로 관리하여 이전 버전 때문에 할당량을 초과하는 일을 방지합니다.\n\t\t이전 버전 자동 삭제 외에도 버전 앱에서는 사용자의 현재 남은 공간의 50% 이상을 사용하지 않습니다. 저장된 버전이 해당 할당량을 초과한다면 할당량 이하로 떨어질 때까지 앱에서 가장 오래된 버전을 삭제합니다. 자세한 정보를 보려면 버전 문서를 참조하십시오." + "No other versions available" : "다른 버전을 사용할 수 없음" }, "nplurals=1; plural=0;"); diff --git a/apps/files_versions/l10n/ko.json b/apps/files_versions/l10n/ko.json index 952586b351f..0e2507798ea 100644 --- a/apps/files_versions/l10n/ko.json +++ b/apps/files_versions/l10n/ko.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "버전", "This application automatically maintains older versions of files that are changed." : "이 앱은 변경된 파일의 이전 버전을 관리합니다.", + "Version" : "버전", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "이 앱은 변경된 파일의 이전 버전을 관리합니다. 이 앱을 활성화하면 개별 사용자 디렉터리 아래에 숨김 버전 폴더를 생성하며 이전 버전의 파일을 저장합니다. 웹 인터페이스를 사용하여 파일의 이전 버전으로 복원할 수 있으며, 대체된 파일은 새로운 버전으로 간주됩니다. 앱에서 버전 폴더의 크기를 자동으로 관리하여 이전 버전 때문에 할당량을 초과하는 일을 방지합니다.\n\t\t이전 버전 자동 삭제 외에도 버전 앱에서는 사용자의 현재 남은 공간의 50% 이상을 사용하지 않습니다. 저장된 버전이 해당 할당량을 초과한다면 할당량 이하로 떨어질 때까지 앱에서 가장 오래된 버전을 삭제합니다. 자세한 정보를 보려면 버전 문서를 참조하십시오.", "Failed to revert {file} to revision {timestamp}." : "{file}을(를) 리비전 {timestamp}(으)로 되돌리는 데 실패했습니다.", "_%n byte_::_%n bytes_" : ["%n바이트"], "Restore" : "복원", - "No other versions available" : "다른 버전을 사용할 수 없음", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "이 앱은 변경된 파일의 이전 버전을 관리합니다. 이 앱을 활성화하면 개별 사용자 디렉터리 아래에 숨김 버전 폴더를 생성하며 이전 버전의 파일을 저장합니다. 웹 인터페이스를 사용하여 파일의 이전 버전으로 복원할 수 있으며, 대체된 파일은 새로운 버전으로 간주됩니다. 앱에서 버전 폴더의 크기를 자동으로 관리하여 이전 버전 때문에 할당량을 초과하는 일을 방지합니다.\n\t\t이전 버전 자동 삭제 외에도 버전 앱에서는 사용자의 현재 남은 공간의 50% 이상을 사용하지 않습니다. 저장된 버전이 해당 할당량을 초과한다면 할당량 이하로 떨어질 때까지 앱에서 가장 오래된 버전을 삭제합니다. 자세한 정보를 보려면 버전 문서를 참조하십시오." + "No other versions available" : "다른 버전을 사용할 수 없음" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/lt_LT.js b/apps/files_versions/l10n/lt_LT.js index 3ca763c08f3..0bf9f252c84 100644 --- a/apps/files_versions/l10n/lt_LT.js +++ b/apps/files_versions/l10n/lt_LT.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "Versijos", "This application automatically maintains older versions of files that are changed." : "Ši programa automatiškai palaiko senesnes pakeistų failų versijas.", + "Version" : "Versija", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ši programa automatiškai palaiko senesnes pakeistų failų versijas. Kai ji įjungiama, kiekvieno naudotojo kataloge yra nustatomas paslėptų versijų aplankas, kuris naudojamas senoms failų versijoms saugoti. Naudotojas naudodamas žiniatinklio sąsają gali bet kada grįžti prie senesnės versijos. Programa automatiškai administruoja versijų aplanką ir užtikrina, kad nauotojui nepritrūktų suteiktos vietos dėl versijavimo.\n\t\t Be to, programa užtikrina, kad versijavimas nenaudotų daugiau nei 50% naudotojui suteiktos laisvos vietos. Jei saugomos versijos viršija šią ribą, programa pirmiausia ištrins seniausias versijas, kol pasieks šią ribą. Daugiau informacijos galima rasti versijavimo dokumentacijoje.", "Failed to revert {file} to revision {timestamp}." : "Nepavyko atstatyti {file} versijos {timestamp}.", "_%n byte_::_%n bytes_" : ["%n baitas","%n baitai","%n baitų","%n baitas"], "Restore" : "Atkurti", - "No other versions available" : "Nėra kitų prieinamų versijų", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ši programa automatiškai palaiko senesnes pakeistų failų versijas. Kai ji įjungiama, kiekvieno naudotojo kataloge yra nustatomas paslėptų versijų aplankas, kuris naudojamas senoms failų versijoms saugoti. Naudotojas naudodamas žiniatinklio sąsają gali bet kada grįžti prie senesnės versijos. Programa automatiškai administruoja versijų aplanką ir užtikrina, kad nauotojui nepritrūktų suteiktos vietos dėl versijavimo.\n\t\t Be to, programa užtikrina, kad versijavimas nenaudotų daugiau nei 50% naudotojui suteiktos laisvos vietos. Jei saugomos versijos viršija šią ribą, programa pirmiausia ištrins seniausias versijas, kol pasieks šią ribą. Daugiau informacijos galima rasti versijavimo dokumentacijoje." + "No other versions available" : "Nėra kitų prieinamų versijų" }, "nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"); diff --git a/apps/files_versions/l10n/lt_LT.json b/apps/files_versions/l10n/lt_LT.json index 718112fc56d..032119b92c7 100644 --- a/apps/files_versions/l10n/lt_LT.json +++ b/apps/files_versions/l10n/lt_LT.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "Versijos", "This application automatically maintains older versions of files that are changed." : "Ši programa automatiškai palaiko senesnes pakeistų failų versijas.", + "Version" : "Versija", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ši programa automatiškai palaiko senesnes pakeistų failų versijas. Kai ji įjungiama, kiekvieno naudotojo kataloge yra nustatomas paslėptų versijų aplankas, kuris naudojamas senoms failų versijoms saugoti. Naudotojas naudodamas žiniatinklio sąsają gali bet kada grįžti prie senesnės versijos. Programa automatiškai administruoja versijų aplanką ir užtikrina, kad nauotojui nepritrūktų suteiktos vietos dėl versijavimo.\n\t\t Be to, programa užtikrina, kad versijavimas nenaudotų daugiau nei 50% naudotojui suteiktos laisvos vietos. Jei saugomos versijos viršija šią ribą, programa pirmiausia ištrins seniausias versijas, kol pasieks šią ribą. Daugiau informacijos galima rasti versijavimo dokumentacijoje.", "Failed to revert {file} to revision {timestamp}." : "Nepavyko atstatyti {file} versijos {timestamp}.", "_%n byte_::_%n bytes_" : ["%n baitas","%n baitai","%n baitų","%n baitas"], "Restore" : "Atkurti", - "No other versions available" : "Nėra kitų prieinamų versijų", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ši programa automatiškai palaiko senesnes pakeistų failų versijas. Kai ji įjungiama, kiekvieno naudotojo kataloge yra nustatomas paslėptų versijų aplankas, kuris naudojamas senoms failų versijoms saugoti. Naudotojas naudodamas žiniatinklio sąsają gali bet kada grįžti prie senesnės versijos. Programa automatiškai administruoja versijų aplanką ir užtikrina, kad nauotojui nepritrūktų suteiktos vietos dėl versijavimo.\n\t\t Be to, programa užtikrina, kad versijavimas nenaudotų daugiau nei 50% naudotojui suteiktos laisvos vietos. Jei saugomos versijos viršija šią ribą, programa pirmiausia ištrins seniausias versijas, kol pasieks šią ribą. Daugiau informacijos galima rasti versijavimo dokumentacijoje." + "No other versions available" : "Nėra kitų prieinamų versijų" },"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/lv.js b/apps/files_versions/l10n/lv.js index f61fff9b8d1..109c867101d 100644 --- a/apps/files_versions/l10n/lv.js +++ b/apps/files_versions/l10n/lv.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Versions" : "Versijas", "This application automatically maintains older versions of files that are changed." : "Šī lietotne automātiski uztur vecākas versijas datnēm, kas tiek izmainītas.", + "Version" : "Versija", "Failed to revert {file} to revision {timestamp}." : "Neizdevās atjaunot {file} no rediģējuma {timestamp} ", "_%n byte_::_%n bytes_" : ["%n baiti","%n baiti","%n baiti"], "Restore" : "Atjaunot", diff --git a/apps/files_versions/l10n/lv.json b/apps/files_versions/l10n/lv.json index 7acbe5f7b15..46d90c62b7a 100644 --- a/apps/files_versions/l10n/lv.json +++ b/apps/files_versions/l10n/lv.json @@ -1,6 +1,7 @@ { "translations": { "Versions" : "Versijas", "This application automatically maintains older versions of files that are changed." : "Šī lietotne automātiski uztur vecākas versijas datnēm, kas tiek izmainītas.", + "Version" : "Versija", "Failed to revert {file} to revision {timestamp}." : "Neizdevās atjaunot {file} no rediģējuma {timestamp} ", "_%n byte_::_%n bytes_" : ["%n baiti","%n baiti","%n baiti"], "Restore" : "Atjaunot", diff --git a/apps/files_versions/l10n/mk.js b/apps/files_versions/l10n/mk.js index 5006157dd6b..4ddebd75fb9 100644 --- a/apps/files_versions/l10n/mk.js +++ b/apps/files_versions/l10n/mk.js @@ -4,10 +4,16 @@ OC.L10N.register( "Versions" : "Верзии", "This application automatically maintains older versions of files that are changed." : "Оваа апликација автоматски ги менаџира постарите верзии на датотеките кој се изменети.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Оваа апликација автоматски ги менаџира постарите верзии на датотеките кој се изменети. Кога е овозможена, скриена папка се креира во секој кориснички директориум и се користи за зачувување на постарите верзии на датотеките. Корисникот има можност да врати стара верзија од датотеката во секое време преку веб-интерфејсот, со што се преклопува постоечката верзија на датотеката. Апликацијата автоматски се грижи за верзиите за да не дојде случај да се искористи просторот за складирање на корисникот.\n\t\tПокрај истекот на верзиите, апликацијата за верзии нема да користи повеќе од 50% од тековно достапната квота за верзии. Ако зачуваните верзии ја надминат оваа граница, апликацијата ги брише најстарите верзии на датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за верзии на датотеки.", + "Download version" : "Преземи верзија", + "Restore version" : "Врати ја оваа верзија", + "No versions yet" : "Сеуште нема верзии", + "Version restored" : "Верзијата е вратена", + "Could not restore version" : "Неможе да се врати верзијата", + "Version" : "Верзија", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Оваа апликација автоматски ги менаџира постарите верзии на датотеките кој се изменети. Кога е овозможена, скриена папка се креира во секој кориснички директориум и се користи за зачувување на постарите верзии на датотеките. Корисникот има можност да врати стара верзија од датотеката во секое време преку веб-интерфејсот, со што се преклопува постоечката верзија на датотеката. Апликацијата автоматски се грижи за верзиите за да не дојде случај да се искористи просторот за складирање на корисникот.\n\t\tПокрај истекот на верзиите, апликацијата за верзии нема да користи повеќе од 50% од тековно достапната квота за верзии. Ако зачуваните верзии ја надминат оваа граница, апликацијата ги брише најстарите верзии на датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за верзии на датотеки.", "Failed to revert {file} to revision {timestamp}." : "Не успеав да го вратам {file} на ревизијата {timestamp}.", "_%n byte_::_%n bytes_" : ["1 бајт","%n бајти"], "Restore" : "Врати", - "No other versions available" : "Не постојат други верзии", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Оваа апликација автоматски ги менаџира постарите верзии на датотеките кој се изменети. Кога е овозможена, скриена папка се креира во секој кориснички директориум и се користи за зачувување на постарите верзии на датотеките. Корисникот има можност да врати стара верзија од датотеката во секое време преку веб-интерфејсот, со што се преклопува постоечката верзија на датотеката. Апликацијата автоматски се грижи за верзиите за да не дојде случај да се искористи просторот за складирање на корисникот.\n\t\tПокрај истекот на верзиите, апликацијата за верзии нема да користи повеќе од 50% од тековно достапната квота за верзии. Ако зачуваните верзии ја надминат оваа граница, апликацијата ги брише најстарите верзии на датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за верзии на датотеки." + "No other versions available" : "Не постојат други верзии" }, "nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"); diff --git a/apps/files_versions/l10n/mk.json b/apps/files_versions/l10n/mk.json index 737149dc75a..540b81864ab 100644 --- a/apps/files_versions/l10n/mk.json +++ b/apps/files_versions/l10n/mk.json @@ -2,10 +2,16 @@ "Versions" : "Верзии", "This application automatically maintains older versions of files that are changed." : "Оваа апликација автоматски ги менаџира постарите верзии на датотеките кој се изменети.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Оваа апликација автоматски ги менаџира постарите верзии на датотеките кој се изменети. Кога е овозможена, скриена папка се креира во секој кориснички директориум и се користи за зачувување на постарите верзии на датотеките. Корисникот има можност да врати стара верзија од датотеката во секое време преку веб-интерфејсот, со што се преклопува постоечката верзија на датотеката. Апликацијата автоматски се грижи за верзиите за да не дојде случај да се искористи просторот за складирање на корисникот.\n\t\tПокрај истекот на верзиите, апликацијата за верзии нема да користи повеќе од 50% од тековно достапната квота за верзии. Ако зачуваните верзии ја надминат оваа граница, апликацијата ги брише најстарите верзии на датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за верзии на датотеки.", + "Download version" : "Преземи верзија", + "Restore version" : "Врати ја оваа верзија", + "No versions yet" : "Сеуште нема верзии", + "Version restored" : "Верзијата е вратена", + "Could not restore version" : "Неможе да се врати верзијата", + "Version" : "Верзија", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Оваа апликација автоматски ги менаџира постарите верзии на датотеките кој се изменети. Кога е овозможена, скриена папка се креира во секој кориснички директориум и се користи за зачувување на постарите верзии на датотеките. Корисникот има можност да врати стара верзија од датотеката во секое време преку веб-интерфејсот, со што се преклопува постоечката верзија на датотеката. Апликацијата автоматски се грижи за верзиите за да не дојде случај да се искористи просторот за складирање на корисникот.\n\t\tПокрај истекот на верзиите, апликацијата за верзии нема да користи повеќе од 50% од тековно достапната квота за верзии. Ако зачуваните верзии ја надминат оваа граница, апликацијата ги брише најстарите верзии на датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за верзии на датотеки.", "Failed to revert {file} to revision {timestamp}." : "Не успеав да го вратам {file} на ревизијата {timestamp}.", "_%n byte_::_%n bytes_" : ["1 бајт","%n бајти"], "Restore" : "Врати", - "No other versions available" : "Не постојат други верзии", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Оваа апликација автоматски ги менаџира постарите верзии на датотеките кој се изменети. Кога е овозможена, скриена папка се креира во секој кориснички директориум и се користи за зачувување на постарите верзии на датотеките. Корисникот има можност да врати стара верзија од датотеката во секое време преку веб-интерфејсот, со што се преклопува постоечката верзија на датотеката. Апликацијата автоматски се грижи за верзиите за да не дојде случај да се искористи просторот за складирање на корисникот.\n\t\tПокрај истекот на верзиите, апликацијата за верзии нема да користи повеќе од 50% од тековно достапната квота за верзии. Ако зачуваните верзии ја надминат оваа граница, апликацијата ги брише најстарите верзии на датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за верзии на датотеки." + "No other versions available" : "Не постојат други верзии" },"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/nb.js b/apps/files_versions/l10n/nb.js index 12c09dd6d4b..2257289cbd6 100644 --- a/apps/files_versions/l10n/nb.js +++ b/apps/files_versions/l10n/nb.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "Versjoner", "This application automatically maintains older versions of files that are changed." : "Dette programmet vedlikeholder eldre versjoner av endrede filer.", + "Version" : "Versjon", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Dette programmet vedlikeholder eldre versjoner av endrede filer. Når den aktiveres, legges det inn en skjult mappe i alle brukeres kataloger og brukes til å lagre eldre filversjoner. En bruker kan når som helst gjenopprette til en eldre versjon gjennom web-grensesnittet, og gjøre den erstattede filen til en versjon. Programmet vedlikeholder automatisk versjonsmappen for å sikre at brukeren ikke går tom for kvoten på grunn av for mange versjoner av en fil.\n\n\t\tI tillegg til at versjoner opphører, passer programmet på at den aldri bruker mer enn 50% av brukerens tilgjengelige plass. Hvis lagrede filversjoner går over denne grensen, vil appen slette de eldste versjonene først til det treffer grensen. Mer informasjon er tilgjengelig i Versions dokumentasjon.", "Failed to revert {file} to revision {timestamp}." : "Klarte ikke å tilbakeføre {file} til revisjon {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Restore" : "Gjenopprett", - "No other versions available" : "Ingen andre versjoner tilgjengelig", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Dette programmet vedlikeholder eldre versjoner av endrede filer. Når den aktiveres, legges det inn en skjult mappe i alle brukeres kataloger og brukes til å lagre eldre filversjoner. En bruker kan når som helst gjenopprette til en eldre versjon gjennom web-grensesnittet, og gjøre den erstattede filen til en versjon. Programmet vedlikeholder automatisk versjonsmappen for å sikre at brukeren ikke går tom for kvoten på grunn av for mange versjoner av en fil.\n\n\t\tI tillegg til at versjoner opphører, passer programmet på at den aldri bruker mer enn 50% av brukerens tilgjengelige plass. Hvis lagrede filversjoner går over denne grensen, vil appen slette de eldste versjonene først til det treffer grensen. Mer informasjon er tilgjengelig i Versions dokumentasjon." + "No other versions available" : "Ingen andre versjoner tilgjengelig" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/nb.json b/apps/files_versions/l10n/nb.json index c27eb70a0da..f182ff6f623 100644 --- a/apps/files_versions/l10n/nb.json +++ b/apps/files_versions/l10n/nb.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "Versjoner", "This application automatically maintains older versions of files that are changed." : "Dette programmet vedlikeholder eldre versjoner av endrede filer.", + "Version" : "Versjon", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Dette programmet vedlikeholder eldre versjoner av endrede filer. Når den aktiveres, legges det inn en skjult mappe i alle brukeres kataloger og brukes til å lagre eldre filversjoner. En bruker kan når som helst gjenopprette til en eldre versjon gjennom web-grensesnittet, og gjøre den erstattede filen til en versjon. Programmet vedlikeholder automatisk versjonsmappen for å sikre at brukeren ikke går tom for kvoten på grunn av for mange versjoner av en fil.\n\n\t\tI tillegg til at versjoner opphører, passer programmet på at den aldri bruker mer enn 50% av brukerens tilgjengelige plass. Hvis lagrede filversjoner går over denne grensen, vil appen slette de eldste versjonene først til det treffer grensen. Mer informasjon er tilgjengelig i Versions dokumentasjon.", "Failed to revert {file} to revision {timestamp}." : "Klarte ikke å tilbakeføre {file} til revisjon {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Restore" : "Gjenopprett", - "No other versions available" : "Ingen andre versjoner tilgjengelig", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Dette programmet vedlikeholder eldre versjoner av endrede filer. Når den aktiveres, legges det inn en skjult mappe i alle brukeres kataloger og brukes til å lagre eldre filversjoner. En bruker kan når som helst gjenopprette til en eldre versjon gjennom web-grensesnittet, og gjøre den erstattede filen til en versjon. Programmet vedlikeholder automatisk versjonsmappen for å sikre at brukeren ikke går tom for kvoten på grunn av for mange versjoner av en fil.\n\n\t\tI tillegg til at versjoner opphører, passer programmet på at den aldri bruker mer enn 50% av brukerens tilgjengelige plass. Hvis lagrede filversjoner går over denne grensen, vil appen slette de eldste versjonene først til det treffer grensen. Mer informasjon er tilgjengelig i Versions dokumentasjon." + "No other versions available" : "Ingen andre versjoner tilgjengelig" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/nl.js b/apps/files_versions/l10n/nl.js index 6722c4853c5..f7d7816aafc 100644 --- a/apps/files_versions/l10n/nl.js +++ b/apps/files_versions/l10n/nl.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "Versies", "This application automatically maintains older versions of files that are changed." : "Deze applicatie beheert automatisch oudere versies van gewijzigde bestanden.", + "Version" : "Versie", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Deze applicatie onderhoudt automatisch oudere versies van bestanden die zijn gewijzigd. Indien ingeschakeld, wordt een map met verborgen versies geplaatst in de directory van elke gebruiker en wordt deze gebruikt om oude bestandsversies op te slaan. Een gebruiker kan via de webinterface op elk gewenst moment terugkeren naar een oudere versie, waarbij het vervangen bestand de nieuwe versie wordt. De app beheert automatisch de map om ervoor te zorgen dat het quotum niet opraakt vanwege versiebeheer.\n\t\tNaast het beheer van versies, zorgt de app er ook voor dat nooit meer dan 50% van de momenteel beschikbare vrije ruimte van de gebruiker wordt gebruikt. Als opgeslagen versies deze limiet overschrijden, verwijdert de app de oudste versies eerst totdat de limiet is bereikt. Meer informatie is beschikbaar in de documentatie van Versiebeheer.", "Failed to revert {file} to revision {timestamp}." : "Kon {file} niet terugdraaien naar revisie {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Restore" : "Herstellen", - "No other versions available" : "Geen andere versies beschikbaar", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Deze applicatie onderhoudt automatisch oudere versies van bestanden die zijn gewijzigd. Indien ingeschakeld, wordt een map met verborgen versies geplaatst in de directory van elke gebruiker en wordt deze gebruikt om oude bestandsversies op te slaan. Een gebruiker kan via de webinterface op elk gewenst moment terugkeren naar een oudere versie, waarbij het vervangen bestand de nieuwe versie wordt. De app beheert automatisch de map om ervoor te zorgen dat het quotum niet opraakt vanwege versiebeheer.\n\t\tNaast het beheer van versies, zorgt de app er ook voor dat nooit meer dan 50% van de momenteel beschikbare vrije ruimte van de gebruiker wordt gebruikt. Als opgeslagen versies deze limiet overschrijden, verwijdert de app de oudste versies eerst totdat de limiet is bereikt. Meer informatie is beschikbaar in de documentatie van Versiebeheer." + "No other versions available" : "Geen andere versies beschikbaar" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/nl.json b/apps/files_versions/l10n/nl.json index d3527e52011..6845c8edcfc 100644 --- a/apps/files_versions/l10n/nl.json +++ b/apps/files_versions/l10n/nl.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "Versies", "This application automatically maintains older versions of files that are changed." : "Deze applicatie beheert automatisch oudere versies van gewijzigde bestanden.", + "Version" : "Versie", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Deze applicatie onderhoudt automatisch oudere versies van bestanden die zijn gewijzigd. Indien ingeschakeld, wordt een map met verborgen versies geplaatst in de directory van elke gebruiker en wordt deze gebruikt om oude bestandsversies op te slaan. Een gebruiker kan via de webinterface op elk gewenst moment terugkeren naar een oudere versie, waarbij het vervangen bestand de nieuwe versie wordt. De app beheert automatisch de map om ervoor te zorgen dat het quotum niet opraakt vanwege versiebeheer.\n\t\tNaast het beheer van versies, zorgt de app er ook voor dat nooit meer dan 50% van de momenteel beschikbare vrije ruimte van de gebruiker wordt gebruikt. Als opgeslagen versies deze limiet overschrijden, verwijdert de app de oudste versies eerst totdat de limiet is bereikt. Meer informatie is beschikbaar in de documentatie van Versiebeheer.", "Failed to revert {file} to revision {timestamp}." : "Kon {file} niet terugdraaien naar revisie {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Restore" : "Herstellen", - "No other versions available" : "Geen andere versies beschikbaar", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Deze applicatie onderhoudt automatisch oudere versies van bestanden die zijn gewijzigd. Indien ingeschakeld, wordt een map met verborgen versies geplaatst in de directory van elke gebruiker en wordt deze gebruikt om oude bestandsversies op te slaan. Een gebruiker kan via de webinterface op elk gewenst moment terugkeren naar een oudere versie, waarbij het vervangen bestand de nieuwe versie wordt. De app beheert automatisch de map om ervoor te zorgen dat het quotum niet opraakt vanwege versiebeheer.\n\t\tNaast het beheer van versies, zorgt de app er ook voor dat nooit meer dan 50% van de momenteel beschikbare vrije ruimte van de gebruiker wordt gebruikt. Als opgeslagen versies deze limiet overschrijden, verwijdert de app de oudste versies eerst totdat de limiet is bereikt. Meer informatie is beschikbaar in de documentatie van Versiebeheer." + "No other versions available" : "Geen andere versies beschikbaar" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/pl.js b/apps/files_versions/l10n/pl.js index 50e1abbe977..c2b191ecec4 100644 --- a/apps/files_versions/l10n/pl.js +++ b/apps/files_versions/l10n/pl.js @@ -4,10 +4,16 @@ OC.L10N.register( "Versions" : "Wersje", "This application automatically maintains older versions of files that are changed." : "Aplikacja przechowuje starsze wersje plików poddanych modyfikacji.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikacja automatycznie utrzymuje starsze wersje zmienionych plików. Po włączeniu, ukryty katalog versions jest udostępniany w każdym katalogu użytkownika i służy do przechowywania starych wersji plików. Użytkownik może w dowolnym momencie powrócić do starszej wersji za pośrednictwem strony internetowej, a zastąpiony plik staje się jego wersją. Aplikacja automatycznie zarządza katalogiem versions, aby zapewnić użytkownikowi ciągłość wersji.\n\t\tOprócz wygaśnięcia wersji, aplikacja Versions zapewnia, że nigdy nie będzie wykorzystywać więcej niż 50% dostępnej przestrzeni użytkownika. Jeśli przechowywane wersje przekroczą ten limit, aplikacja usunie najpierw najstarsze wersje, aż do osiągnięcia tego limitu. Więcej informacji można znaleźć w dokumentacji Versions.", + "Download version" : "Pobierz wersję", + "Restore version" : "Przywróć wersję", + "No versions yet" : "Nie ma jeszcze wersji", + "Version restored" : "Wersja przywrócona", + "Could not restore version" : "Nie można przywrócić wersji", + "Version" : "Wersja", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikacja automatycznie utrzymuje starsze wersje zmienionych plików. Po włączeniu, ukryty katalog versions jest udostępniany w każdym katalogu użytkownika i służy do przechowywania starych wersji plików. Użytkownik może w dowolnym momencie powrócić do starszej wersji za pośrednictwem strony internetowej, a zastąpiony plik staje się jego wersją. Aplikacja automatycznie zarządza katalogiem versions, aby zapewnić użytkownikowi ciągłość wersji.\n\t\tOprócz wygaśnięcia wersji, aplikacja Versions zapewnia, że nigdy nie będzie wykorzystywać więcej niż 50% dostępnej przestrzeni użytkownika. Jeśli przechowywane wersje przekroczą ten limit, aplikacja usunie najpierw najstarsze wersje, aż do osiągnięcia tego limitu. Więcej informacji można znaleźć w dokumentacji Versions.", "Failed to revert {file} to revision {timestamp}." : "Nie udało się przywrócić {file} do wersji z {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bajt","%n bajtów","%n bajtów","%n bajtów"], "Restore" : "Przywróć", - "No other versions available" : "Nie są dostępne żadne inne wersje", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikacja automatycznie utrzymuje starsze wersje zmienionych plików. Po włączeniu, ukryty katalog versions jest udostępniany w każdym katalogu użytkownika i służy do przechowywania starych wersji plików. Użytkownik może w dowolnym momencie powrócić do starszej wersji za pośrednictwem strony internetowej, a zastąpiony plik staje się jego wersją. Aplikacja automatycznie zarządza katalogiem versions, aby zapewnić użytkownikowi ciągłość wersji.\n\t\tOprócz wygaśnięcia wersji, aplikacja Versions zapewnia, że nigdy nie będzie wykorzystywać więcej niż 50% dostępnej przestrzeni użytkownika. Jeśli przechowywane wersje przekroczą ten limit, aplikacja usunie najpierw najstarsze wersje, aż do osiągnięcia tego limitu. Więcej informacji można znaleźć w dokumentacji Versions." + "No other versions available" : "Nie są dostępne żadne inne wersje" }, "nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"); diff --git a/apps/files_versions/l10n/pl.json b/apps/files_versions/l10n/pl.json index e4e869acde8..fbdf23f2923 100644 --- a/apps/files_versions/l10n/pl.json +++ b/apps/files_versions/l10n/pl.json @@ -2,10 +2,16 @@ "Versions" : "Wersje", "This application automatically maintains older versions of files that are changed." : "Aplikacja przechowuje starsze wersje plików poddanych modyfikacji.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikacja automatycznie utrzymuje starsze wersje zmienionych plików. Po włączeniu, ukryty katalog versions jest udostępniany w każdym katalogu użytkownika i służy do przechowywania starych wersji plików. Użytkownik może w dowolnym momencie powrócić do starszej wersji za pośrednictwem strony internetowej, a zastąpiony plik staje się jego wersją. Aplikacja automatycznie zarządza katalogiem versions, aby zapewnić użytkownikowi ciągłość wersji.\n\t\tOprócz wygaśnięcia wersji, aplikacja Versions zapewnia, że nigdy nie będzie wykorzystywać więcej niż 50% dostępnej przestrzeni użytkownika. Jeśli przechowywane wersje przekroczą ten limit, aplikacja usunie najpierw najstarsze wersje, aż do osiągnięcia tego limitu. Więcej informacji można znaleźć w dokumentacji Versions.", + "Download version" : "Pobierz wersję", + "Restore version" : "Przywróć wersję", + "No versions yet" : "Nie ma jeszcze wersji", + "Version restored" : "Wersja przywrócona", + "Could not restore version" : "Nie można przywrócić wersji", + "Version" : "Wersja", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikacja automatycznie utrzymuje starsze wersje zmienionych plików. Po włączeniu, ukryty katalog versions jest udostępniany w każdym katalogu użytkownika i służy do przechowywania starych wersji plików. Użytkownik może w dowolnym momencie powrócić do starszej wersji za pośrednictwem strony internetowej, a zastąpiony plik staje się jego wersją. Aplikacja automatycznie zarządza katalogiem versions, aby zapewnić użytkownikowi ciągłość wersji.\n\t\tOprócz wygaśnięcia wersji, aplikacja Versions zapewnia, że nigdy nie będzie wykorzystywać więcej niż 50% dostępnej przestrzeni użytkownika. Jeśli przechowywane wersje przekroczą ten limit, aplikacja usunie najpierw najstarsze wersje, aż do osiągnięcia tego limitu. Więcej informacji można znaleźć w dokumentacji Versions.", "Failed to revert {file} to revision {timestamp}." : "Nie udało się przywrócić {file} do wersji z {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bajt","%n bajtów","%n bajtów","%n bajtów"], "Restore" : "Przywróć", - "No other versions available" : "Nie są dostępne żadne inne wersje", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikacja automatycznie utrzymuje starsze wersje zmienionych plików. Po włączeniu, ukryty katalog versions jest udostępniany w każdym katalogu użytkownika i służy do przechowywania starych wersji plików. Użytkownik może w dowolnym momencie powrócić do starszej wersji za pośrednictwem strony internetowej, a zastąpiony plik staje się jego wersją. Aplikacja automatycznie zarządza katalogiem versions, aby zapewnić użytkownikowi ciągłość wersji.\n\t\tOprócz wygaśnięcia wersji, aplikacja Versions zapewnia, że nigdy nie będzie wykorzystywać więcej niż 50% dostępnej przestrzeni użytkownika. Jeśli przechowywane wersje przekroczą ten limit, aplikacja usunie najpierw najstarsze wersje, aż do osiągnięcia tego limitu. Więcej informacji można znaleźć w dokumentacji Versions." + "No other versions available" : "Nie są dostępne żadne inne wersje" },"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/pt_BR.js b/apps/files_versions/l10n/pt_BR.js index 2aa05761c06..64644400ec5 100644 --- a/apps/files_versions/l10n/pt_BR.js +++ b/apps/files_versions/l10n/pt_BR.js @@ -4,10 +4,11 @@ OC.L10N.register( "Versions" : "Versões", "This application automatically maintains older versions of files that are changed." : "Este aplicativo mantém automaticamente versões mais antigas de arquivos que são alterados.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Este aplicativo mantém automaticamente as versões mais antigas dos arquivos que são alterados. Quando habilitada, uma pasta de versões ocultas é provisionada no diretório de cada usuário e é usada para armazenar versões antigas de arquivos. Um usuário pode reverter para uma versão mais antiga por meio da interface da Web a qualquer momento, com o arquivo substituído se tornando uma versão. O aplicativo gerencia automaticamente a pasta de versões para garantir que o usuário não fique sem cota por causa das versões.\t\tAlém da expiração das versões, o aplicativo de versões garante nunca usar mais de 50% da disponibilidade gratuita do usuário no momento espaço. Se as versões armazenadas excederem esse limite, o aplicativo excluirá primeiro as versões mais antigas até atingir esse limite. Mais informações estão disponíveis na documentação de Versões.", + "Version" : "Versão", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Este aplicativo mantém automaticamente versões mais antigas de arquivos alterados. Quando ativado, uma pasta oculta de versões é criada no diretório de todos os usuários e é usada para armazenar versões antigas de arquivos. Um usuário pode reverter para uma versão mais antiga através da interface da web a qualquer momento, com o arquivo substituído se tornando uma versão. O aplicativo gerencia automaticamente a pasta de versões para garantir que o usuário não fique sem cota por causa disso.\n\t\tAlém do prazo de validade das versões, o aplicativo garante que nunca use mais de 50% do espaço livre disponível no momento pelo usuário. Se as versões armazenadas excederem esse limite, o aplicativo excluirá as versões mais antigas primeiro até atingir esse limite. Mais informações estão disponíveis na documentação do Versions.", "Failed to revert {file} to revision {timestamp}." : "Falha ao reverter {file} para a revisão {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"], "Restore" : "Restaurar", - "No other versions available" : "Sem outras versões disponíveis", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Este aplicativo mantém automaticamente versões mais antigas de arquivos alterados. Quando ativado, uma pasta oculta de versões é criada no diretório de todos os usuários e é usada para armazenar versões antigas de arquivos. Um usuário pode reverter para uma versão mais antiga através da interface da web a qualquer momento, com o arquivo substituído se tornando uma versão. O aplicativo gerencia automaticamente a pasta de versões para garantir que o usuário não fique sem cota por causa disso.\n\t\tAlém do prazo de validade das versões, o aplicativo garante que nunca use mais de 50% do espaço livre disponível no momento pelo usuário. Se as versões armazenadas excederem esse limite, o aplicativo excluirá as versões mais antigas primeiro até atingir esse limite. Mais informações estão disponíveis na documentação do Versions." + "No other versions available" : "Sem outras versões disponíveis" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_versions/l10n/pt_BR.json b/apps/files_versions/l10n/pt_BR.json index 585314a208d..a76e06634a5 100644 --- a/apps/files_versions/l10n/pt_BR.json +++ b/apps/files_versions/l10n/pt_BR.json @@ -2,10 +2,11 @@ "Versions" : "Versões", "This application automatically maintains older versions of files that are changed." : "Este aplicativo mantém automaticamente versões mais antigas de arquivos que são alterados.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Este aplicativo mantém automaticamente as versões mais antigas dos arquivos que são alterados. Quando habilitada, uma pasta de versões ocultas é provisionada no diretório de cada usuário e é usada para armazenar versões antigas de arquivos. Um usuário pode reverter para uma versão mais antiga por meio da interface da Web a qualquer momento, com o arquivo substituído se tornando uma versão. O aplicativo gerencia automaticamente a pasta de versões para garantir que o usuário não fique sem cota por causa das versões.\t\tAlém da expiração das versões, o aplicativo de versões garante nunca usar mais de 50% da disponibilidade gratuita do usuário no momento espaço. Se as versões armazenadas excederem esse limite, o aplicativo excluirá primeiro as versões mais antigas até atingir esse limite. Mais informações estão disponíveis na documentação de Versões.", + "Version" : "Versão", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Este aplicativo mantém automaticamente versões mais antigas de arquivos alterados. Quando ativado, uma pasta oculta de versões é criada no diretório de todos os usuários e é usada para armazenar versões antigas de arquivos. Um usuário pode reverter para uma versão mais antiga através da interface da web a qualquer momento, com o arquivo substituído se tornando uma versão. O aplicativo gerencia automaticamente a pasta de versões para garantir que o usuário não fique sem cota por causa disso.\n\t\tAlém do prazo de validade das versões, o aplicativo garante que nunca use mais de 50% do espaço livre disponível no momento pelo usuário. Se as versões armazenadas excederem esse limite, o aplicativo excluirá as versões mais antigas primeiro até atingir esse limite. Mais informações estão disponíveis na documentação do Versions.", "Failed to revert {file} to revision {timestamp}." : "Falha ao reverter {file} para a revisão {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"], "Restore" : "Restaurar", - "No other versions available" : "Sem outras versões disponíveis", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Este aplicativo mantém automaticamente versões mais antigas de arquivos alterados. Quando ativado, uma pasta oculta de versões é criada no diretório de todos os usuários e é usada para armazenar versões antigas de arquivos. Um usuário pode reverter para uma versão mais antiga através da interface da web a qualquer momento, com o arquivo substituído se tornando uma versão. O aplicativo gerencia automaticamente a pasta de versões para garantir que o usuário não fique sem cota por causa disso.\n\t\tAlém do prazo de validade das versões, o aplicativo garante que nunca use mais de 50% do espaço livre disponível no momento pelo usuário. Se as versões armazenadas excederem esse limite, o aplicativo excluirá as versões mais antigas primeiro até atingir esse limite. Mais informações estão disponíveis na documentação do Versions." + "No other versions available" : "Sem outras versões disponíveis" },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/ro.js b/apps/files_versions/l10n/ro.js index 861239b0523..55279ebf913 100644 --- a/apps/files_versions/l10n/ro.js +++ b/apps/files_versions/l10n/ro.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "Versiuni", "This application automatically maintains older versions of files that are changed." : "Această aplicație păștrează versiunile mai vechi a fișierelor care sunt schimbate.", + "Version" : "Versiune", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Această aplicație păștrează versiunile mai vechi a fișierelor care sunt schimbate.Când este activată un dosar ascuns este creeat în dosarul personal al fiecărui utilizator pentru a memora versiunile mai vechi. Un utilizator poate să revină la o versiune mai veche folosind interfața web în orice moment, cu fișierul înlocuit devenind o versiune păstrată. Aplicația are grijă să nu rămână fără spațiu.\n\t\tDe asemenea aplicația are grijă să nu folosească mai mult de 50% din spațiul disponibil. Dacă veriunile vechi depășec această valoare atunci versiunile mai vechi vor fi șterse. Mai multe informații sunt disponibile în documentația aplicației Versiuni.", "Failed to revert {file} to revision {timestamp}." : "S-a eșuat restaurarea fișierului {file} la revizia {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n byți","%n byți"], "Restore" : "Restaurare", - "No other versions available" : "Nu există alte versiuni disponibile", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Această aplicație păștrează versiunile mai vechi a fișierelor care sunt schimbate.Când este activată un dosar ascuns este creeat în dosarul personal al fiecărui utilizator pentru a memora versiunile mai vechi. Un utilizator poate să revină la o versiune mai veche folosind interfața web în orice moment, cu fișierul înlocuit devenind o versiune păstrată. Aplicația are grijă să nu rămână fără spațiu.\n\t\tDe asemenea aplicația are grijă să nu folosească mai mult de 50% din spațiul disponibil. Dacă veriunile vechi depășec această valoare atunci versiunile mai vechi vor fi șterse. Mai multe informații sunt disponibile în documentația aplicației Versiuni." + "No other versions available" : "Nu există alte versiuni disponibile" }, "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"); diff --git a/apps/files_versions/l10n/ro.json b/apps/files_versions/l10n/ro.json index 9bc23e13160..87c70af4531 100644 --- a/apps/files_versions/l10n/ro.json +++ b/apps/files_versions/l10n/ro.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "Versiuni", "This application automatically maintains older versions of files that are changed." : "Această aplicație păștrează versiunile mai vechi a fișierelor care sunt schimbate.", + "Version" : "Versiune", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Această aplicație păștrează versiunile mai vechi a fișierelor care sunt schimbate.Când este activată un dosar ascuns este creeat în dosarul personal al fiecărui utilizator pentru a memora versiunile mai vechi. Un utilizator poate să revină la o versiune mai veche folosind interfața web în orice moment, cu fișierul înlocuit devenind o versiune păstrată. Aplicația are grijă să nu rămână fără spațiu.\n\t\tDe asemenea aplicația are grijă să nu folosească mai mult de 50% din spațiul disponibil. Dacă veriunile vechi depășec această valoare atunci versiunile mai vechi vor fi șterse. Mai multe informații sunt disponibile în documentația aplicației Versiuni.", "Failed to revert {file} to revision {timestamp}." : "S-a eșuat restaurarea fișierului {file} la revizia {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n byți","%n byți"], "Restore" : "Restaurare", - "No other versions available" : "Nu există alte versiuni disponibile", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Această aplicație păștrează versiunile mai vechi a fișierelor care sunt schimbate.Când este activată un dosar ascuns este creeat în dosarul personal al fiecărui utilizator pentru a memora versiunile mai vechi. Un utilizator poate să revină la o versiune mai veche folosind interfața web în orice moment, cu fișierul înlocuit devenind o versiune păstrată. Aplicația are grijă să nu rămână fără spațiu.\n\t\tDe asemenea aplicația are grijă să nu folosească mai mult de 50% din spațiul disponibil. Dacă veriunile vechi depășec această valoare atunci versiunile mai vechi vor fi șterse. Mai multe informații sunt disponibile în documentația aplicației Versiuni." + "No other versions available" : "Nu există alte versiuni disponibile" },"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/ru.js b/apps/files_versions/l10n/ru.js index ddacbe14b3f..7c3aa2de382 100644 --- a/apps/files_versions/l10n/ru.js +++ b/apps/files_versions/l10n/ru.js @@ -4,10 +4,11 @@ OC.L10N.register( "Versions" : "Версии", "This application automatically maintains older versions of files that are changed." : "Приложение служит для обработки старых версий изменённых файлов.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Это приложение предназначено для автоматического управления предыдущими версиями изменённых файлов. При включении этого приложения в каталогах пользователей создаются скрытые папки, предназначенные для хранения предыдущих версий изменённых файлов. Выбор нужной предыдущей версии и возврат к ней выполняется через веб-интерфейс, при этом актуальная версия файла будет заменена выбранной версией. Приложение также автоматически управляет глубиной хранения версий файлов, чтобы не превышать выделенные для пользователя квоты.\n\t\tПомимо управления сроком хранения предыдущих версий, приложение следит за тем, что бы общий размер сохранённых версий файлов не превышал 50% выделенного пользователю дискового пространства. При превышении такого лимита будет запущен механизм удаления самых старых версий файлов. Удаление будет производиться до тех пор, пока общий размер всех сохранённых версий файлов вновь не станет менее 50% от квоты использования дискового пространства. Дополнительная информация приведена в руководстве к приложению «Версии».", + "Version" : "Версия", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Это приложение предназначено для автоматического управления предыдущими версиями изменённых файлов. При включении этого приложения в каталогах пользователей создаются скрытые папки, предназначенные для хранения предыдущих версий изменённых файлов. Выбор нужной предыдущей версии и возврат к ней выполняется через веб-интерфейс, при этом актуальная версия файла будет заменена выбранной версией. Приложение также автоматически управляет глубиной хранения версий файлов, чтобы не превышать выделенные для пользователя квоты.\n\t\tПомимо управления сроком хранения предыдущих версий, приложение следит за тем, что бы общий размер сохранённых версий файлов не превышал 50% выделенного пользователю дискового пространства. При превышении такого лимита будет запущен механизм удаления самых старых версий файлов. Удаление будет производиться до тех пор, пока общий размер всех сохранённых версий файлов вновь не станет менее 50% от квоты использования дискового пространства. Дополнительная информация приведена в руководстве к приложению «Версии».", "Failed to revert {file} to revision {timestamp}." : "Не удалось откатить {file} к ревизии {timestamp}.", "_%n byte_::_%n bytes_" : ["%n байт","%n байта","%n байт","%n байт"], "Restore" : "Откатить", - "No other versions available" : "Другие версии недоступны", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Это приложение предназначено для автоматического управления предыдущими версиями изменённых файлов. При включении этого приложения в каталогах пользователей создаются скрытые папки, предназначенные для хранения предыдущих версий изменённых файлов. Выбор нужной предыдущей версии и возврат к ней выполняется через веб-интерфейс, при этом актуальная версия файла будет заменена выбранной версией. Приложение также автоматически управляет глубиной хранения версий файлов, чтобы не превышать выделенные для пользователя квоты.\n\t\tПомимо управления сроком хранения предыдущих версий, приложение следит за тем, что бы общий размер сохранённых версий файлов не превышал 50% выделенного пользователю дискового пространства. При превышении такого лимита будет запущен механизм удаления самых старых версий файлов. Удаление будет производиться до тех пор, пока общий размер всех сохранённых версий файлов вновь не станет менее 50% от квоты использования дискового пространства. Дополнительная информация приведена в руководстве к приложению «Версии»." + "No other versions available" : "Другие версии недоступны" }, "nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"); diff --git a/apps/files_versions/l10n/ru.json b/apps/files_versions/l10n/ru.json index 3dba5eb947b..fa1280590ff 100644 --- a/apps/files_versions/l10n/ru.json +++ b/apps/files_versions/l10n/ru.json @@ -2,10 +2,11 @@ "Versions" : "Версии", "This application automatically maintains older versions of files that are changed." : "Приложение служит для обработки старых версий изменённых файлов.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Это приложение предназначено для автоматического управления предыдущими версиями изменённых файлов. При включении этого приложения в каталогах пользователей создаются скрытые папки, предназначенные для хранения предыдущих версий изменённых файлов. Выбор нужной предыдущей версии и возврат к ней выполняется через веб-интерфейс, при этом актуальная версия файла будет заменена выбранной версией. Приложение также автоматически управляет глубиной хранения версий файлов, чтобы не превышать выделенные для пользователя квоты.\n\t\tПомимо управления сроком хранения предыдущих версий, приложение следит за тем, что бы общий размер сохранённых версий файлов не превышал 50% выделенного пользователю дискового пространства. При превышении такого лимита будет запущен механизм удаления самых старых версий файлов. Удаление будет производиться до тех пор, пока общий размер всех сохранённых версий файлов вновь не станет менее 50% от квоты использования дискового пространства. Дополнительная информация приведена в руководстве к приложению «Версии».", + "Version" : "Версия", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Это приложение предназначено для автоматического управления предыдущими версиями изменённых файлов. При включении этого приложения в каталогах пользователей создаются скрытые папки, предназначенные для хранения предыдущих версий изменённых файлов. Выбор нужной предыдущей версии и возврат к ней выполняется через веб-интерфейс, при этом актуальная версия файла будет заменена выбранной версией. Приложение также автоматически управляет глубиной хранения версий файлов, чтобы не превышать выделенные для пользователя квоты.\n\t\tПомимо управления сроком хранения предыдущих версий, приложение следит за тем, что бы общий размер сохранённых версий файлов не превышал 50% выделенного пользователю дискового пространства. При превышении такого лимита будет запущен механизм удаления самых старых версий файлов. Удаление будет производиться до тех пор, пока общий размер всех сохранённых версий файлов вновь не станет менее 50% от квоты использования дискового пространства. Дополнительная информация приведена в руководстве к приложению «Версии».", "Failed to revert {file} to revision {timestamp}." : "Не удалось откатить {file} к ревизии {timestamp}.", "_%n byte_::_%n bytes_" : ["%n байт","%n байта","%n байт","%n байт"], "Restore" : "Откатить", - "No other versions available" : "Другие версии недоступны", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Это приложение предназначено для автоматического управления предыдущими версиями изменённых файлов. При включении этого приложения в каталогах пользователей создаются скрытые папки, предназначенные для хранения предыдущих версий изменённых файлов. Выбор нужной предыдущей версии и возврат к ней выполняется через веб-интерфейс, при этом актуальная версия файла будет заменена выбранной версией. Приложение также автоматически управляет глубиной хранения версий файлов, чтобы не превышать выделенные для пользователя квоты.\n\t\tПомимо управления сроком хранения предыдущих версий, приложение следит за тем, что бы общий размер сохранённых версий файлов не превышал 50% выделенного пользователю дискового пространства. При превышении такого лимита будет запущен механизм удаления самых старых версий файлов. Удаление будет производиться до тех пор, пока общий размер всех сохранённых версий файлов вновь не станет менее 50% от квоты использования дискового пространства. Дополнительная информация приведена в руководстве к приложению «Версии»." + "No other versions available" : "Другие версии недоступны" },"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/sc.js b/apps/files_versions/l10n/sc.js index ba722f3b64b..05799b22a12 100644 --- a/apps/files_versions/l10n/sc.js +++ b/apps/files_versions/l10n/sc.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "Versiones", "This application automatically maintains older versions of files that are changed." : "Custa aplicatzione allogat de manera automàtica is versiones prus bècias de documentos modificados.", + "Version" : "Versione", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Custa aplicatzione allogat in manera automàtica is versiones prus bècias de documentos modificados. Cando est ativa, frunit una cartella cuada de versiones in cada directory de s'utente e dda impreat pro allogare is versiones bècias de su documentu. S'utente podet semper torrare a una versione prus bècias cun s'interface de internet, e su documentu cambiadu benet a èssere una versione. S'aplicatzione gestit de manera automàtica is cartellas de versiones pro assegurare chi s'utente doesn’t run out of Quota because of versions.\n\t\t In prus de s'iscadèntzia de is versiones, s'aplicatzione assegurat de no impreare mai prus de su 50% de su logu lìberu a disponimentu de s'utente. Chi is versiones allogadas bàrigant custu lìmite, s'aplicatzione at a cantzellare innantis is versione prus bècias finas a lòmpere a su lìmite. Sunt disponìbiles prus informatziones in sa documentatzione de Versions.", "Failed to revert {file} to revision {timestamp}." : "Non s'at pòdidu torrare a {documentu} pro sa revisione {timestamp}.", "_%n byte_::_%n bytes_" : ["%nbyte","%n bytes"], "Restore" : "Recùpera", - "No other versions available" : "Peruna àtera versione disponìbile", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Custa aplicatzione allogat in manera automàtica is versiones prus bècias de documentos modificados. Cando est ativa, frunit una cartella cuada de versiones in cada directory de s'utente e dda impreat pro allogare is versiones bècias de su documentu. S'utente podet semper torrare a una versione prus bècias cun s'interface de internet, e su documentu cambiadu benet a èssere una versione. S'aplicatzione gestit de manera automàtica is cartellas de versiones pro assegurare chi s'utente doesn’t run out of Quota because of versions.\n\t\t In prus de s'iscadèntzia de is versiones, s'aplicatzione assegurat de no impreare mai prus de su 50% de su logu lìberu a disponimentu de s'utente. Chi is versiones allogadas bàrigant custu lìmite, s'aplicatzione at a cantzellare innantis is versione prus bècias finas a lòmpere a su lìmite. Sunt disponìbiles prus informatziones in sa documentatzione de Versions." + "No other versions available" : "Peruna àtera versione disponìbile" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/sc.json b/apps/files_versions/l10n/sc.json index 3650e16994a..add70007130 100644 --- a/apps/files_versions/l10n/sc.json +++ b/apps/files_versions/l10n/sc.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "Versiones", "This application automatically maintains older versions of files that are changed." : "Custa aplicatzione allogat de manera automàtica is versiones prus bècias de documentos modificados.", + "Version" : "Versione", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Custa aplicatzione allogat in manera automàtica is versiones prus bècias de documentos modificados. Cando est ativa, frunit una cartella cuada de versiones in cada directory de s'utente e dda impreat pro allogare is versiones bècias de su documentu. S'utente podet semper torrare a una versione prus bècias cun s'interface de internet, e su documentu cambiadu benet a èssere una versione. S'aplicatzione gestit de manera automàtica is cartellas de versiones pro assegurare chi s'utente doesn’t run out of Quota because of versions.\n\t\t In prus de s'iscadèntzia de is versiones, s'aplicatzione assegurat de no impreare mai prus de su 50% de su logu lìberu a disponimentu de s'utente. Chi is versiones allogadas bàrigant custu lìmite, s'aplicatzione at a cantzellare innantis is versione prus bècias finas a lòmpere a su lìmite. Sunt disponìbiles prus informatziones in sa documentatzione de Versions.", "Failed to revert {file} to revision {timestamp}." : "Non s'at pòdidu torrare a {documentu} pro sa revisione {timestamp}.", "_%n byte_::_%n bytes_" : ["%nbyte","%n bytes"], "Restore" : "Recùpera", - "No other versions available" : "Peruna àtera versione disponìbile", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Custa aplicatzione allogat in manera automàtica is versiones prus bècias de documentos modificados. Cando est ativa, frunit una cartella cuada de versiones in cada directory de s'utente e dda impreat pro allogare is versiones bècias de su documentu. S'utente podet semper torrare a una versione prus bècias cun s'interface de internet, e su documentu cambiadu benet a èssere una versione. S'aplicatzione gestit de manera automàtica is cartellas de versiones pro assegurare chi s'utente doesn’t run out of Quota because of versions.\n\t\t In prus de s'iscadèntzia de is versiones, s'aplicatzione assegurat de no impreare mai prus de su 50% de su logu lìberu a disponimentu de s'utente. Chi is versiones allogadas bàrigant custu lìmite, s'aplicatzione at a cantzellare innantis is versione prus bècias finas a lòmpere a su lìmite. Sunt disponìbiles prus informatziones in sa documentatzione de Versions." + "No other versions available" : "Peruna àtera versione disponìbile" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/sk.js b/apps/files_versions/l10n/sk.js index b2038acaf9e..62ae538d347 100644 --- a/apps/files_versions/l10n/sk.js +++ b/apps/files_versions/l10n/sk.js @@ -4,10 +4,16 @@ OC.L10N.register( "Versions" : "Verzie", "This application automatically maintains older versions of files that are changed." : "Táto aplikácia automaticky spravuje staršie verzie súborov, ktoré sú zmenené", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Táto aplikácia automaticky udržiava staršie verzie súborov, ktoré sú zmenené. Keď je táto možnosť povolená, v adresári každého užívateľa sa vytvorí priečinok skrytých verzií, ktorý sa používa na ukladanie starých verzií súborov. Užívateľ sa môže kedykoľvek vrátiť k staršej verzii prostredníctvom webového rozhrania, pričom nahradený súbor sa stane verziou. Aplikácia automaticky spravuje priečinok verzií, aby sa zabezpečilo, že používateľovi nevyčerpá kvóta kvôli verziám.\nOkrem vypršania platnosti verzií, aplikácia verzie zaisťuje, že nikdy nevyužije viac ako 50 % aktuálne dostupného voľného miesta užívateľa. Ak uložené verzie prekročia tento limit, aplikácia najskôr vymaže najstaršie verzie, kým tento limit nedosiahne. Ďalšie informácie sú k dispozícii v dokumentácii k verziám.", + "Download version" : "Stiahnuť verziu", + "Restore version" : "Obnoviť verziu", + "No versions yet" : "Zatiaľ žiadne verzie", + "Version restored" : "Verzia bola obnovená", + "Could not restore version" : "Nepodarilo sa obnoviť verziu", + "Version" : "Verzia", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Táto aplikácia automaticky udržuje staršie verzie súborov, ktoré sa zmenili. Keď je zapnutá, je v každom priečinku používateľa vytvorený priečinok pre skryté verzie a sú do neho ukladané staré verzie súborov. Používateľ sa kedykoľvek môže vrátič k starším verziám prostredníctvom webového rozhrania s tým, že sám nahradzovaný súbor sa stane verziou. Aplikácia automaticky spravuje priečinok s verziami, aby bolo zaistené, že používateľ kvôli starým verziám nevyčerpá svoju kvótu.\n\t\tOkrem expirácie verzií, aplikácia Verzie zaistí, že nikdy nepoužije viac než 50% voľného miesta priestoru, ktorý má používateľ k dispozícii. Ak uložené verzie presiahnu tento limit, aplikácia najstaršie verzie vymaže, aby sa do tohto limitu vošla. Viac informácií je k dispozícii v dokumentácii aplikácie Verize.", "Failed to revert {file} to revision {timestamp}." : "Zlyhalo obnovenie súboru {file} na verziu {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bajt","%n bajtov","%n bajtov","%n bajtov"], "Restore" : "Obnoviť", - "No other versions available" : "Žiadne ďalšie verzie nie sú dostupné", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Táto aplikácia automaticky udržuje staršie verzie súborov, ktoré sa zmenili. Keď je zapnutá, je v každom priečinku používateľa vytvorený priečinok pre skryté verzie a sú do neho ukladané staré verzie súborov. Používateľ sa kedykoľvek môže vrátič k starším verziám prostredníctvom webového rozhrania s tým, že sám nahradzovaný súbor sa stane verziou. Aplikácia automaticky spravuje priečinok s verziami, aby bolo zaistené, že používateľ kvôli starým verziám nevyčerpá svoju kvótu.\n\t\tOkrem expirácie verzií, aplikácia Verzie zaistí, že nikdy nepoužije viac než 50% voľného miesta priestoru, ktorý má používateľ k dispozícii. Ak uložené verzie presiahnu tento limit, aplikácia najstaršie verzie vymaže, aby sa do tohto limitu vošla. Viac informácií je k dispozícii v dokumentácii aplikácie Verize." + "No other versions available" : "Žiadne ďalšie verzie nie sú dostupné" }, "nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"); diff --git a/apps/files_versions/l10n/sk.json b/apps/files_versions/l10n/sk.json index 7ce3d0fe5c6..d4f7ae6b43f 100644 --- a/apps/files_versions/l10n/sk.json +++ b/apps/files_versions/l10n/sk.json @@ -2,10 +2,16 @@ "Versions" : "Verzie", "This application automatically maintains older versions of files that are changed." : "Táto aplikácia automaticky spravuje staršie verzie súborov, ktoré sú zmenené", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Táto aplikácia automaticky udržiava staršie verzie súborov, ktoré sú zmenené. Keď je táto možnosť povolená, v adresári každého užívateľa sa vytvorí priečinok skrytých verzií, ktorý sa používa na ukladanie starých verzií súborov. Užívateľ sa môže kedykoľvek vrátiť k staršej verzii prostredníctvom webového rozhrania, pričom nahradený súbor sa stane verziou. Aplikácia automaticky spravuje priečinok verzií, aby sa zabezpečilo, že používateľovi nevyčerpá kvóta kvôli verziám.\nOkrem vypršania platnosti verzií, aplikácia verzie zaisťuje, že nikdy nevyužije viac ako 50 % aktuálne dostupného voľného miesta užívateľa. Ak uložené verzie prekročia tento limit, aplikácia najskôr vymaže najstaršie verzie, kým tento limit nedosiahne. Ďalšie informácie sú k dispozícii v dokumentácii k verziám.", + "Download version" : "Stiahnuť verziu", + "Restore version" : "Obnoviť verziu", + "No versions yet" : "Zatiaľ žiadne verzie", + "Version restored" : "Verzia bola obnovená", + "Could not restore version" : "Nepodarilo sa obnoviť verziu", + "Version" : "Verzia", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Táto aplikácia automaticky udržuje staršie verzie súborov, ktoré sa zmenili. Keď je zapnutá, je v každom priečinku používateľa vytvorený priečinok pre skryté verzie a sú do neho ukladané staré verzie súborov. Používateľ sa kedykoľvek môže vrátič k starším verziám prostredníctvom webového rozhrania s tým, že sám nahradzovaný súbor sa stane verziou. Aplikácia automaticky spravuje priečinok s verziami, aby bolo zaistené, že používateľ kvôli starým verziám nevyčerpá svoju kvótu.\n\t\tOkrem expirácie verzií, aplikácia Verzie zaistí, že nikdy nepoužije viac než 50% voľného miesta priestoru, ktorý má používateľ k dispozícii. Ak uložené verzie presiahnu tento limit, aplikácia najstaršie verzie vymaže, aby sa do tohto limitu vošla. Viac informácií je k dispozícii v dokumentácii aplikácie Verize.", "Failed to revert {file} to revision {timestamp}." : "Zlyhalo obnovenie súboru {file} na verziu {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bajt","%n bajtov","%n bajtov","%n bajtov"], "Restore" : "Obnoviť", - "No other versions available" : "Žiadne ďalšie verzie nie sú dostupné", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Táto aplikácia automaticky udržuje staršie verzie súborov, ktoré sa zmenili. Keď je zapnutá, je v každom priečinku používateľa vytvorený priečinok pre skryté verzie a sú do neho ukladané staré verzie súborov. Používateľ sa kedykoľvek môže vrátič k starším verziám prostredníctvom webového rozhrania s tým, že sám nahradzovaný súbor sa stane verziou. Aplikácia automaticky spravuje priečinok s verziami, aby bolo zaistené, že používateľ kvôli starým verziám nevyčerpá svoju kvótu.\n\t\tOkrem expirácie verzií, aplikácia Verzie zaistí, že nikdy nepoužije viac než 50% voľného miesta priestoru, ktorý má používateľ k dispozícii. Ak uložené verzie presiahnu tento limit, aplikácia najstaršie verzie vymaže, aby sa do tohto limitu vošla. Viac informácií je k dispozícii v dokumentácii aplikácie Verize." + "No other versions available" : "Žiadne ďalšie verzie nie sú dostupné" },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/sl.js b/apps/files_versions/l10n/sl.js index 82a3f5fae6c..c6761c8d3f8 100644 --- a/apps/files_versions/l10n/sl.js +++ b/apps/files_versions/l10n/sl.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "Različice", "This application automatically maintains older versions of files that are changed." : "Program samodejno ustvarja zaporedne različice sprememb datotek.", + "Version" : "Različica", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Program samodejno ustvarja različice spremenjenih datotek v skriti uporabnikovi mapi. Za uporabnika to pomeni, da lahko prek spletnega vmesnika kadarkoli obnovi starejšo različico datoteke, zamenjana datoteka pa postane ena od različic. Upravljanje vključuje tudi nadzor nad omejitvijo prostora, pri čemer se najprej brišejo najstarejše različice.\nNastavitve določajo tudi omejitev, da shranjene različice ne zasedejo več kot 50 % razpoložljivega prostora oziroma količinske omejitve. Več podrobnosti je na voljo v dokumentaciji programa.", "Failed to revert {file} to revision {timestamp}." : "Povrnitev datoteke {file} na različico {timestamp} je spodletelo.", "_%n byte_::_%n bytes_" : ["%n bajt","%n bajta","%n bajti","%n bajtov"], "Restore" : "Obnovi", - "No other versions available" : "Na voljo ni nobene druge različice datoteke", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Program samodejno ustvarja različice spremenjenih datotek v skriti uporabnikovi mapi. Za uporabnika to pomeni, da lahko prek spletnega vmesnika kadarkoli obnovi starejšo različico datoteke, zamenjana datoteka pa postane ena od različic. Upravljanje vključuje tudi nadzor nad omejitvijo prostora, pri čemer se najprej brišejo najstarejše različice.\nNastavitve določajo tudi omejitev, da shranjene različice ne zasedejo več kot 50 % razpoložljivega prostora oziroma količinske omejitve. Več podrobnosti je na voljo v dokumentaciji programa." + "No other versions available" : "Na voljo ni nobene druge različice datoteke" }, "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); diff --git a/apps/files_versions/l10n/sl.json b/apps/files_versions/l10n/sl.json index 71a4a8307bc..13eef494236 100644 --- a/apps/files_versions/l10n/sl.json +++ b/apps/files_versions/l10n/sl.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "Različice", "This application automatically maintains older versions of files that are changed." : "Program samodejno ustvarja zaporedne različice sprememb datotek.", + "Version" : "Različica", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Program samodejno ustvarja različice spremenjenih datotek v skriti uporabnikovi mapi. Za uporabnika to pomeni, da lahko prek spletnega vmesnika kadarkoli obnovi starejšo različico datoteke, zamenjana datoteka pa postane ena od različic. Upravljanje vključuje tudi nadzor nad omejitvijo prostora, pri čemer se najprej brišejo najstarejše različice.\nNastavitve določajo tudi omejitev, da shranjene različice ne zasedejo več kot 50 % razpoložljivega prostora oziroma količinske omejitve. Več podrobnosti je na voljo v dokumentaciji programa.", "Failed to revert {file} to revision {timestamp}." : "Povrnitev datoteke {file} na različico {timestamp} je spodletelo.", "_%n byte_::_%n bytes_" : ["%n bajt","%n bajta","%n bajti","%n bajtov"], "Restore" : "Obnovi", - "No other versions available" : "Na voljo ni nobene druge različice datoteke", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Program samodejno ustvarja različice spremenjenih datotek v skriti uporabnikovi mapi. Za uporabnika to pomeni, da lahko prek spletnega vmesnika kadarkoli obnovi starejšo različico datoteke, zamenjana datoteka pa postane ena od različic. Upravljanje vključuje tudi nadzor nad omejitvijo prostora, pri čemer se najprej brišejo najstarejše različice.\nNastavitve določajo tudi omejitev, da shranjene različice ne zasedejo več kot 50 % razpoložljivega prostora oziroma količinske omejitve. Več podrobnosti je na voljo v dokumentaciji programa." + "No other versions available" : "Na voljo ni nobene druge različice datoteke" },"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/sr.js b/apps/files_versions/l10n/sr.js index fd47de1e860..05be30f5fb8 100644 --- a/apps/files_versions/l10n/sr.js +++ b/apps/files_versions/l10n/sr.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "Верзије", "This application automatically maintains older versions of files that are changed." : "Ова апликација аутоматски одржава старије верзије измењених фајлова.", + "Version" : "Верзија", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ова апликација аутоматски чува старије верзије фајлова који су се изменили. Када се укључи, у свакој корисничкој фасцикли се додаје још једна скривена фасцикла у коју се смештају старије верзије фајлова. Корисник се у сваком тренутку може вратити на старију верзију фајлова кроз веб интерфејс, с тим да замењени фајл постаје исто једна верзија. Апликација аутоматски управља фасциклама са верзијама да би се осигурала да корисник не дође до квоте због чувања верзија.\n\t\tУз истицање верзија, апликација верзионисања се стара да се никад не користи више од 50% корисничког слободног простора. Уколико ускладиштена верзија прелази ову вредност, апликација ће кренути да брише верзије почевши од најстарије све док се не падне испод границе од 50%. Још информација је доступно у документацији апликације за Верзионисање.", "Failed to revert {file} to revision {timestamp}." : "Не могу да вратим {file} на ревизију {timestamp}.", "_%n byte_::_%n bytes_" : ["%n бајт","%n бајта","%n бајтова"], "Restore" : "Врати", - "No other versions available" : "Нема доступних других верзија", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ова апликација аутоматски чува старије верзије фајлова који су се изменили. Када се укључи, у свакој корисничкој фасцикли се додаје још једна скривена фасцикла у коју се смештају старије верзије фајлова. Корисник се у сваком тренутку може вратити на старију верзију фајлова кроз веб интерфејс, с тим да замењени фајл постаје исто једна верзија. Апликација аутоматски управља фасциклама са верзијама да би се осигурала да корисник не дође до квоте због чувања верзија.\n\t\tУз истицање верзија, апликација верзионисања се стара да се никад не користи више од 50% корисничког слободног простора. Уколико ускладиштена верзија прелази ову вредност, апликација ће кренути да брише верзије почевши од најстарије све док се не падне испод границе од 50%. Још информација је доступно у документацији апликације за Верзионисање." + "No other versions available" : "Нема доступних других верзија" }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); diff --git a/apps/files_versions/l10n/sr.json b/apps/files_versions/l10n/sr.json index b9b44a54753..8b1b26df161 100644 --- a/apps/files_versions/l10n/sr.json +++ b/apps/files_versions/l10n/sr.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "Верзије", "This application automatically maintains older versions of files that are changed." : "Ова апликација аутоматски одржава старије верзије измењених фајлова.", + "Version" : "Верзија", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ова апликација аутоматски чува старије верзије фајлова који су се изменили. Када се укључи, у свакој корисничкој фасцикли се додаје још једна скривена фасцикла у коју се смештају старије верзије фајлова. Корисник се у сваком тренутку може вратити на старију верзију фајлова кроз веб интерфејс, с тим да замењени фајл постаје исто једна верзија. Апликација аутоматски управља фасциклама са верзијама да би се осигурала да корисник не дође до квоте због чувања верзија.\n\t\tУз истицање верзија, апликација верзионисања се стара да се никад не користи више од 50% корисничког слободног простора. Уколико ускладиштена верзија прелази ову вредност, апликација ће кренути да брише верзије почевши од најстарије све док се не падне испод границе од 50%. Још информација је доступно у документацији апликације за Верзионисање.", "Failed to revert {file} to revision {timestamp}." : "Не могу да вратим {file} на ревизију {timestamp}.", "_%n byte_::_%n bytes_" : ["%n бајт","%n бајта","%n бајтова"], "Restore" : "Врати", - "No other versions available" : "Нема доступних других верзија", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ова апликација аутоматски чува старије верзије фајлова који су се изменили. Када се укључи, у свакој корисничкој фасцикли се додаје још једна скривена фасцикла у коју се смештају старије верзије фајлова. Корисник се у сваком тренутку може вратити на старију верзију фајлова кроз веб интерфејс, с тим да замењени фајл постаје исто једна верзија. Апликација аутоматски управља фасциклама са верзијама да би се осигурала да корисник не дође до квоте због чувања верзија.\n\t\tУз истицање верзија, апликација верзионисања се стара да се никад не користи више од 50% корисничког слободног простора. Уколико ускладиштена верзија прелази ову вредност, апликација ће кренути да брише верзије почевши од најстарије све док се не падне испод границе од 50%. Још информација је доступно у документацији апликације за Верзионисање." + "No other versions available" : "Нема доступних других верзија" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/sv.js b/apps/files_versions/l10n/sv.js index 040bc1cafb3..8b0e50cc29b 100644 --- a/apps/files_versions/l10n/sv.js +++ b/apps/files_versions/l10n/sv.js @@ -4,10 +4,16 @@ OC.L10N.register( "Versions" : "Versioner", "This application automatically maintains older versions of files that are changed." : "Den här applikationen behåller automatiskt äldre versioner av filer som ändras.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denna applikation hanterar automatiskt äldre versioner av filer när de ändras. När funktionen är aktiverad tillhandahålls en dold versionsmapp i varje användares katalog som används för att lagra gamla filversioner. En användare kan när som hellst återgå till en äldre version via webbgränssnittet, när detta görs blir den ersatta filen en version. Appen hanterar automatiskt versionsmappen för att säkerställa att användaren inte får slut på sin kvot på grund av sparade versioner.\nUtöver hantering av utgångna versioner så förvissar sig appen för versionshantering att den inte använder sig av mer än 50% av användarens tillgängliga ledigt utrymme. Om lagrade versioner överskrider denna gräns, kommer appen att ta bort de äldsta versionerna först tills den återigen uppfyller denna gräns. Mer information finns i Versionsdokumentationen.", + "Download version" : "Ladda ner version", + "Restore version" : "Återställ version", + "No versions yet" : "Inga versioner än", + "Version restored" : "Version återställd", + "Could not restore version" : "Kunde inte återställa versionen", + "Version" : "Version", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denna applikation hanterar automatiskt äldre versioner av filer när de ändras. När funktionen är aktiverad tillhandahålls en dold versionsmapp i varje användares katalog som används för att lagra gamla filversioner. En användare kan när som hellst återgå till en äldre version via webbgränssnittet, när detta görs blir den ersatta filen en version. Appen hanterar automatiskt versionsmappen för att säkerställa att användaren inte får slut på sin kvot på grund av sparade versioner.\nUtöver hantering av utgångna versioner så förvissar sig appen för versionshantering att den inte använder sig av mer än 50% av användarens tillgängliga ledigt utrymme. Om lagrade versioner överskrider denna gräns, kommer appen att ta bort de äldsta versionerna först tills den återigen uppfyller denna gräns. Mer information finns i Versionsdokumentationen.", "Failed to revert {file} to revision {timestamp}." : "Misslyckades att återställa {file} till version {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Restore" : "Återskapa", - "No other versions available" : "Inga andra versioner tillgängliga", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denna applikation hanterar automatiskt äldre versioner av filer när de ändras. När funktionen är aktiverad tillhandahålls en dold versionsmapp i varje användares katalog som används för att lagra gamla filversioner. En användare kan när som hellst återgå till en äldre version via webbgränssnittet, när detta görs blir den ersatta filen en version. Appen hanterar automatiskt versionsmappen för att säkerställa att användaren inte får slut på sin kvot på grund av sparade versioner.\nUtöver hantering av utgångna versioner så förvissar sig appen för versionshantering att den inte använder sig av mer än 50% av användarens tillgängliga ledigt utrymme. Om lagrade versioner överskrider denna gräns, kommer appen att ta bort de äldsta versionerna först tills den återigen uppfyller denna gräns. Mer information finns i Versionsdokumentationen." + "No other versions available" : "Inga andra versioner tillgängliga" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/sv.json b/apps/files_versions/l10n/sv.json index 8340a2da578..8861a7724a2 100644 --- a/apps/files_versions/l10n/sv.json +++ b/apps/files_versions/l10n/sv.json @@ -2,10 +2,16 @@ "Versions" : "Versioner", "This application automatically maintains older versions of files that are changed." : "Den här applikationen behåller automatiskt äldre versioner av filer som ändras.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denna applikation hanterar automatiskt äldre versioner av filer när de ändras. När funktionen är aktiverad tillhandahålls en dold versionsmapp i varje användares katalog som används för att lagra gamla filversioner. En användare kan när som hellst återgå till en äldre version via webbgränssnittet, när detta görs blir den ersatta filen en version. Appen hanterar automatiskt versionsmappen för att säkerställa att användaren inte får slut på sin kvot på grund av sparade versioner.\nUtöver hantering av utgångna versioner så förvissar sig appen för versionshantering att den inte använder sig av mer än 50% av användarens tillgängliga ledigt utrymme. Om lagrade versioner överskrider denna gräns, kommer appen att ta bort de äldsta versionerna först tills den återigen uppfyller denna gräns. Mer information finns i Versionsdokumentationen.", + "Download version" : "Ladda ner version", + "Restore version" : "Återställ version", + "No versions yet" : "Inga versioner än", + "Version restored" : "Version återställd", + "Could not restore version" : "Kunde inte återställa versionen", + "Version" : "Version", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denna applikation hanterar automatiskt äldre versioner av filer när de ändras. När funktionen är aktiverad tillhandahålls en dold versionsmapp i varje användares katalog som används för att lagra gamla filversioner. En användare kan när som hellst återgå till en äldre version via webbgränssnittet, när detta görs blir den ersatta filen en version. Appen hanterar automatiskt versionsmappen för att säkerställa att användaren inte får slut på sin kvot på grund av sparade versioner.\nUtöver hantering av utgångna versioner så förvissar sig appen för versionshantering att den inte använder sig av mer än 50% av användarens tillgängliga ledigt utrymme. Om lagrade versioner överskrider denna gräns, kommer appen att ta bort de äldsta versionerna först tills den återigen uppfyller denna gräns. Mer information finns i Versionsdokumentationen.", "Failed to revert {file} to revision {timestamp}." : "Misslyckades att återställa {file} till version {timestamp}.", "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Restore" : "Återskapa", - "No other versions available" : "Inga andra versioner tillgängliga", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denna applikation hanterar automatiskt äldre versioner av filer när de ändras. När funktionen är aktiverad tillhandahålls en dold versionsmapp i varje användares katalog som används för att lagra gamla filversioner. En användare kan när som hellst återgå till en äldre version via webbgränssnittet, när detta görs blir den ersatta filen en version. Appen hanterar automatiskt versionsmappen för att säkerställa att användaren inte får slut på sin kvot på grund av sparade versioner.\nUtöver hantering av utgångna versioner så förvissar sig appen för versionshantering att den inte använder sig av mer än 50% av användarens tillgängliga ledigt utrymme. Om lagrade versioner överskrider denna gräns, kommer appen att ta bort de äldsta versionerna först tills den återigen uppfyller denna gräns. Mer information finns i Versionsdokumentationen." + "No other versions available" : "Inga andra versioner tillgängliga" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/tr.js b/apps/files_versions/l10n/tr.js index b92b5dd3026..2b5ab9c0237 100644 --- a/apps/files_versions/l10n/tr.js +++ b/apps/files_versions/l10n/tr.js @@ -4,10 +4,16 @@ OC.L10N.register( "Versions" : "Sürümler", "This application automatically maintains older versions of files that are changed." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar. etkinleştirildiğinde, dosya sürümlerini saklamak için her kullanıcının klasörlerinde gizli bir versions klasörü oluşturulur. Kullanıcılar web arayüzünü kullanarak istedikleri zaman dosyalarının daha önceki sürümlerine geri dönebilirler. Uygulama versions klasörünü otomatik olarak düzenler ve önceki dosya sürümleri nedeniyle kullanıcının kotasının dolmasını engeller.\n\t\tSürümler uygulaması dosya sürümlerini belirli bir süreyle saklarken, kullanıcı depolama alanının en çok %50 oranındaki bölümünü kullanır. Depolanan sürüm dosyalarının boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski sürüm dosyaları silinir. Ayrıntılı bilgi almak için Sürümler uygulamasının belgelerine bakabilirsiniz.", + "Download version" : "Sürümü indir", + "Restore version" : "Sürümü geri yükle", + "No versions yet" : "Henüz bir sürüm yok", + "Version restored" : "Sürüm geri yüklendi", + "Could not restore version" : "Sürüm geri yüklenemedi", + "Version" : "Sürüm", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar. etkinleştirildiğinde, dosya sürümlerini saklamak için her kullanıcının klasörlerinde gizli bir versions klasörü oluşturulur. Kullanıcılar web arayüzünü kullanarak istedikleri zaman dosyalarının daha önceki sürümlerine geri dönebilirler. Uygulama versions klasörünü otomatik olarak düzenler ve önceki dosya sürümleri nedeniyle kullanıcının kotasının dolmasını engeller.\n\t\tSürümler uygulaması dosya sürümlerini belirli bir süreyle saklarken, kullanıcı depolama alanının en çok %50 oranındaki bölümünü kullanır. Depolanan sürüm dosyalarının boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski sürüm dosyaları silinir. Ayrıntılı bilgi almak için Sürümler uygulamasının belgelerine bakabilirsiniz.", "Failed to revert {file} to revision {timestamp}." : "{file} dosyası {timestamp} sürümüne geri alınamadı.", "_%n byte_::_%n bytes_" : ["%n bayt","%n bayt"], "Restore" : "Geri yükle", - "No other versions available" : "Başka bir sürüm yok", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar. etkinleştirildiğinde, dosya sürümlerini saklamak için her kullanıcının klasörlerinde gizli bir versions klasörü oluşturulur. Kullanıcılar web arayüzünü kullanarak istedikleri zaman dosyalarının daha önceki sürümlerine geri dönebilirler. Uygulama versions klasörünü otomatik olarak düzenler ve önceki dosya sürümleri nedeniyle kullanıcının kotasının dolmasını engeller.\n\t\tSürümler uygulaması dosya sürümlerini belirli bir süreyle saklarken, kullanıcı depolama alanının en çok %50 oranındaki bölümünü kullanır. Depolanan sürüm dosyalarının boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski sürüm dosyaları silinir. Ayrıntılı bilgi almak için Sürümler uygulamasının belgelerine bakabilirsiniz." + "No other versions available" : "Başka bir sürüm yok" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/files_versions/l10n/tr.json b/apps/files_versions/l10n/tr.json index d97d3b15602..2cdfb872b26 100644 --- a/apps/files_versions/l10n/tr.json +++ b/apps/files_versions/l10n/tr.json @@ -2,10 +2,16 @@ "Versions" : "Sürümler", "This application automatically maintains older versions of files that are changed." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar. etkinleştirildiğinde, dosya sürümlerini saklamak için her kullanıcının klasörlerinde gizli bir versions klasörü oluşturulur. Kullanıcılar web arayüzünü kullanarak istedikleri zaman dosyalarının daha önceki sürümlerine geri dönebilirler. Uygulama versions klasörünü otomatik olarak düzenler ve önceki dosya sürümleri nedeniyle kullanıcının kotasının dolmasını engeller.\n\t\tSürümler uygulaması dosya sürümlerini belirli bir süreyle saklarken, kullanıcı depolama alanının en çok %50 oranındaki bölümünü kullanır. Depolanan sürüm dosyalarının boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski sürüm dosyaları silinir. Ayrıntılı bilgi almak için Sürümler uygulamasının belgelerine bakabilirsiniz.", + "Download version" : "Sürümü indir", + "Restore version" : "Sürümü geri yükle", + "No versions yet" : "Henüz bir sürüm yok", + "Version restored" : "Sürüm geri yüklendi", + "Could not restore version" : "Sürüm geri yüklenemedi", + "Version" : "Sürüm", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar. etkinleştirildiğinde, dosya sürümlerini saklamak için her kullanıcının klasörlerinde gizli bir versions klasörü oluşturulur. Kullanıcılar web arayüzünü kullanarak istedikleri zaman dosyalarının daha önceki sürümlerine geri dönebilirler. Uygulama versions klasörünü otomatik olarak düzenler ve önceki dosya sürümleri nedeniyle kullanıcının kotasının dolmasını engeller.\n\t\tSürümler uygulaması dosya sürümlerini belirli bir süreyle saklarken, kullanıcı depolama alanının en çok %50 oranındaki bölümünü kullanır. Depolanan sürüm dosyalarının boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski sürüm dosyaları silinir. Ayrıntılı bilgi almak için Sürümler uygulamasının belgelerine bakabilirsiniz.", "Failed to revert {file} to revision {timestamp}." : "{file} dosyası {timestamp} sürümüne geri alınamadı.", "_%n byte_::_%n bytes_" : ["%n bayt","%n bayt"], "Restore" : "Geri yükle", - "No other versions available" : "Başka bir sürüm yok", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar. etkinleştirildiğinde, dosya sürümlerini saklamak için her kullanıcının klasörlerinde gizli bir versions klasörü oluşturulur. Kullanıcılar web arayüzünü kullanarak istedikleri zaman dosyalarının daha önceki sürümlerine geri dönebilirler. Uygulama versions klasörünü otomatik olarak düzenler ve önceki dosya sürümleri nedeniyle kullanıcının kotasının dolmasını engeller.\n\t\tSürümler uygulaması dosya sürümlerini belirli bir süreyle saklarken, kullanıcı depolama alanının en çok %50 oranındaki bölümünü kullanır. Depolanan sürüm dosyalarının boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski sürüm dosyaları silinir. Ayrıntılı bilgi almak için Sürümler uygulamasının belgelerine bakabilirsiniz." + "No other versions available" : "Başka bir sürüm yok" },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/uk.js b/apps/files_versions/l10n/uk.js index 5be93f83c80..6c990816042 100644 --- a/apps/files_versions/l10n/uk.js +++ b/apps/files_versions/l10n/uk.js @@ -4,10 +4,11 @@ OC.L10N.register( "Versions" : "Версії", "This application automatically maintains older versions of files that are changed." : "Цей застосунок підтримує роботу з попередніми версіями файлів, які було змінено.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Цей застосунок автоматично підтримує старіші версії файлів, які було змінено. Якщо його увімкнено, прихований каталог версій створюється в каталозі кожного користувача та використовується для зберігання старих версій файлів. Користувач може будь-коли повернутися до старішої версії через веб-інтерфейс, а замінений файл стане версією. Програма автоматично керує каталогом з версіями файлів, щоб користувач не вичерпав квоту через надмірну кількість версій. \n\nНа додаток до закінчення терміну дії версій, додаток версій гарантує, що ніколи не буде використано більше 50% вільного простору користувача. Якщо збережені версії перевищують це обмеження, програма спочатку видалить найстаріші версії, доки не досягне цього обмеження. Додаткову інформацію можна знайти в документації версій.", + "Version" : "Версія", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Цей застосунок автоматично обслуговує попередні версії файлів, які були змінені. Коли застосунок ввімкнено, у кожному каталозі користувача створюється прихована каталога версій файлів, у якій зберігаються старі версії файлів. Користувач за допомогою веб-інтерфейсу може повернутися у будь-який момент до однієї з попередніх версій файлу. При цьому файл, що замінюється, стає однією з версій. Застосунок також автоматично відслідковує каталоги з версіями файлів згідно з обмеженнями квот користувача.\n\t\tКрім відслідковування терміну збереження версій застосунок також забезпечує обмеження використаного версіями об'єму, щоб версії ніколи не використовували більше 50% доступного користувачу вільного дискового простору. В разі перевищення вказаних лімітів застосунок автоматично вилучає найдавніші версії аж до повернення в межі лімітів. Додаткова інформація доступна у документації до застосунку Версії.", "Failed to revert {file} to revision {timestamp}." : "Не вдалося повернути {file} до ревізії {timestamp}.", "_%n byte_::_%n bytes_" : ["%n байт","%n байти","%n байтів","%n байтів"], "Restore" : "Відновити", - "No other versions available" : "Інші версії недоступні", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Цей застосунок автоматично обслуговує попередні версії файлів, які були змінені. Коли застосунок ввімкнено, у кожному каталозі користувача створюється прихована каталога версій файлів, у якій зберігаються старі версії файлів. Користувач за допомогою веб-інтерфейсу може повернутися у будь-який момент до однієї з попередніх версій файлу. При цьому файл, що замінюється, стає однією з версій. Застосунок також автоматично відслідковує каталоги з версіями файлів згідно з обмеженнями квот користувача.\n\t\tКрім відслідковування терміну збереження версій застосунок також забезпечує обмеження використаного версіями об'єму, щоб версії ніколи не використовували більше 50% доступного користувачу вільного дискового простору. В разі перевищення вказаних лімітів застосунок автоматично вилучає найдавніші версії аж до повернення в межі лімітів. Додаткова інформація доступна у документації до застосунку Версії." + "No other versions available" : "Інші версії недоступні" }, "nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"); diff --git a/apps/files_versions/l10n/uk.json b/apps/files_versions/l10n/uk.json index 8fc09f3d3f2..003f8be7402 100644 --- a/apps/files_versions/l10n/uk.json +++ b/apps/files_versions/l10n/uk.json @@ -2,10 +2,11 @@ "Versions" : "Версії", "This application automatically maintains older versions of files that are changed." : "Цей застосунок підтримує роботу з попередніми версіями файлів, які було змінено.", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Цей застосунок автоматично підтримує старіші версії файлів, які було змінено. Якщо його увімкнено, прихований каталог версій створюється в каталозі кожного користувача та використовується для зберігання старих версій файлів. Користувач може будь-коли повернутися до старішої версії через веб-інтерфейс, а замінений файл стане версією. Програма автоматично керує каталогом з версіями файлів, щоб користувач не вичерпав квоту через надмірну кількість версій. \n\nНа додаток до закінчення терміну дії версій, додаток версій гарантує, що ніколи не буде використано більше 50% вільного простору користувача. Якщо збережені версії перевищують це обмеження, програма спочатку видалить найстаріші версії, доки не досягне цього обмеження. Додаткову інформацію можна знайти в документації версій.", + "Version" : "Версія", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Цей застосунок автоматично обслуговує попередні версії файлів, які були змінені. Коли застосунок ввімкнено, у кожному каталозі користувача створюється прихована каталога версій файлів, у якій зберігаються старі версії файлів. Користувач за допомогою веб-інтерфейсу може повернутися у будь-який момент до однієї з попередніх версій файлу. При цьому файл, що замінюється, стає однією з версій. Застосунок також автоматично відслідковує каталоги з версіями файлів згідно з обмеженнями квот користувача.\n\t\tКрім відслідковування терміну збереження версій застосунок також забезпечує обмеження використаного версіями об'єму, щоб версії ніколи не використовували більше 50% доступного користувачу вільного дискового простору. В разі перевищення вказаних лімітів застосунок автоматично вилучає найдавніші версії аж до повернення в межі лімітів. Додаткова інформація доступна у документації до застосунку Версії.", "Failed to revert {file} to revision {timestamp}." : "Не вдалося повернути {file} до ревізії {timestamp}.", "_%n byte_::_%n bytes_" : ["%n байт","%n байти","%n байтів","%n байтів"], "Restore" : "Відновити", - "No other versions available" : "Інші версії недоступні", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Цей застосунок автоматично обслуговує попередні версії файлів, які були змінені. Коли застосунок ввімкнено, у кожному каталозі користувача створюється прихована каталога версій файлів, у якій зберігаються старі версії файлів. Користувач за допомогою веб-інтерфейсу може повернутися у будь-який момент до однієї з попередніх версій файлу. При цьому файл, що замінюється, стає однією з версій. Застосунок також автоматично відслідковує каталоги з версіями файлів згідно з обмеженнями квот користувача.\n\t\tКрім відслідковування терміну збереження версій застосунок також забезпечує обмеження використаного версіями об'єму, щоб версії ніколи не використовували більше 50% доступного користувачу вільного дискового простору. В разі перевищення вказаних лімітів застосунок автоматично вилучає найдавніші версії аж до повернення в межі лімітів. Додаткова інформація доступна у документації до застосунку Версії." + "No other versions available" : "Інші версії недоступні" },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/zh_CN.js b/apps/files_versions/l10n/zh_CN.js index a37a72fe1d7..79230b060fa 100644 --- a/apps/files_versions/l10n/zh_CN.js +++ b/apps/files_versions/l10n/zh_CN.js @@ -3,10 +3,11 @@ OC.L10N.register( { "Versions" : "版本", "This application automatically maintains older versions of files that are changed." : "此应用程序自动维护已更改文件的旧版本。", + "Version" : "版本", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此应用程序自动维护已更改文件的旧版本。 启用后,每个用户目录中都会设置一个隐藏版本文件夹,该文件夹用于存储旧文件版本。 用户可以随时通过网页界面还原到较旧的版本,替换后的文件成为一个版本。 该应用会自动管理版本文件夹,以确保用户不会因版本而用完配额。\n\t\t除了版本有效期外,版本应用程序还可确保永远不会使用用户当前可用空间的 50% 以上。 如果存储的版本超出此限制,则应用将首先删除最旧的版本,直到满足该限制。 有关更多信息,请参见“版本”文档。", "Failed to revert {file} to revision {timestamp}." : "无法将 {file} 还原为修订版 {timestamp}。", "_%n byte_::_%n bytes_" : ["%n 个字节"], "Restore" : "恢复", - "No other versions available" : "没有其他可用版本", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此应用程序自动维护已更改文件的旧版本。 启用后,每个用户目录中都会设置一个隐藏版本文件夹,该文件夹用于存储旧文件版本。 用户可以随时通过网页界面还原到较旧的版本,替换后的文件成为一个版本。 该应用会自动管理版本文件夹,以确保用户不会因版本而用完配额。\n\t\t除了版本有效期外,版本应用程序还可确保永远不会使用用户当前可用空间的 50% 以上。 如果存储的版本超出此限制,则应用将首先删除最旧的版本,直到满足该限制。 有关更多信息,请参见“版本”文档。" + "No other versions available" : "没有其他可用版本" }, "nplurals=1; plural=0;"); diff --git a/apps/files_versions/l10n/zh_CN.json b/apps/files_versions/l10n/zh_CN.json index c9e5fd0470d..1afe95c657a 100644 --- a/apps/files_versions/l10n/zh_CN.json +++ b/apps/files_versions/l10n/zh_CN.json @@ -1,10 +1,11 @@ { "translations": { "Versions" : "版本", "This application automatically maintains older versions of files that are changed." : "此应用程序自动维护已更改文件的旧版本。", + "Version" : "版本", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此应用程序自动维护已更改文件的旧版本。 启用后,每个用户目录中都会设置一个隐藏版本文件夹,该文件夹用于存储旧文件版本。 用户可以随时通过网页界面还原到较旧的版本,替换后的文件成为一个版本。 该应用会自动管理版本文件夹,以确保用户不会因版本而用完配额。\n\t\t除了版本有效期外,版本应用程序还可确保永远不会使用用户当前可用空间的 50% 以上。 如果存储的版本超出此限制,则应用将首先删除最旧的版本,直到满足该限制。 有关更多信息,请参见“版本”文档。", "Failed to revert {file} to revision {timestamp}." : "无法将 {file} 还原为修订版 {timestamp}。", "_%n byte_::_%n bytes_" : ["%n 个字节"], "Restore" : "恢复", - "No other versions available" : "没有其他可用版本", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此应用程序自动维护已更改文件的旧版本。 启用后,每个用户目录中都会设置一个隐藏版本文件夹,该文件夹用于存储旧文件版本。 用户可以随时通过网页界面还原到较旧的版本,替换后的文件成为一个版本。 该应用会自动管理版本文件夹,以确保用户不会因版本而用完配额。\n\t\t除了版本有效期外,版本应用程序还可确保永远不会使用用户当前可用空间的 50% 以上。 如果存储的版本超出此限制,则应用将首先删除最旧的版本,直到满足该限制。 有关更多信息,请参见“版本”文档。" + "No other versions available" : "没有其他可用版本" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/zh_HK.js b/apps/files_versions/l10n/zh_HK.js index 057bcfd6a85..2b2617a52dd 100644 --- a/apps/files_versions/l10n/zh_HK.js +++ b/apps/files_versions/l10n/zh_HK.js @@ -4,10 +4,16 @@ OC.L10N.register( "Versions" : "版本", "This application automatically maintains older versions of files that are changed." : "本應用程式會自動保存修改前舊版本的檔案", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個用戶目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。用戶可以在任何時候透過網路界面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保用戶不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保用戶永遠不會使用超過用戶目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。", + "Download version" : "下載版本", + "Restore version" : "還原版本", + "No versions yet" : "尚無版本", + "Version restored" : "版本已還原", + "Could not restore version" : "無法還原版本", + "Version" : "版本", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個用戶目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。用戶可以在任何時候透過網路界面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保用戶不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保用戶永遠不會使用超過用戶目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。", "Failed to revert {file} to revision {timestamp}." : "無法還原檔案 {file} 至版本 {timestamp}", "_%n byte_::_%n bytes_" : ["%n bytes"], "Restore" : "復原", - "No other versions available" : "沒有其他版本了", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個用戶目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。用戶可以在任何時候透過網路界面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保用戶不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保用戶永遠不會使用超過用戶目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。" + "No other versions available" : "沒有其他版本了" }, "nplurals=1; plural=0;"); diff --git a/apps/files_versions/l10n/zh_HK.json b/apps/files_versions/l10n/zh_HK.json index b9435ec5204..9109846de27 100644 --- a/apps/files_versions/l10n/zh_HK.json +++ b/apps/files_versions/l10n/zh_HK.json @@ -2,10 +2,16 @@ "Versions" : "版本", "This application automatically maintains older versions of files that are changed." : "本應用程式會自動保存修改前舊版本的檔案", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個用戶目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。用戶可以在任何時候透過網路界面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保用戶不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保用戶永遠不會使用超過用戶目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。", + "Download version" : "下載版本", + "Restore version" : "還原版本", + "No versions yet" : "尚無版本", + "Version restored" : "版本已還原", + "Could not restore version" : "無法還原版本", + "Version" : "版本", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個用戶目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。用戶可以在任何時候透過網路界面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保用戶不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保用戶永遠不會使用超過用戶目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。", "Failed to revert {file} to revision {timestamp}." : "無法還原檔案 {file} 至版本 {timestamp}", "_%n byte_::_%n bytes_" : ["%n bytes"], "Restore" : "復原", - "No other versions available" : "沒有其他版本了", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個用戶目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。用戶可以在任何時候透過網路界面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保用戶不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保用戶永遠不會使用超過用戶目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。" + "No other versions available" : "沒有其他版本了" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/zh_TW.js b/apps/files_versions/l10n/zh_TW.js index 875d222c6ed..4498ce0e7d7 100644 --- a/apps/files_versions/l10n/zh_TW.js +++ b/apps/files_versions/l10n/zh_TW.js @@ -4,10 +4,16 @@ OC.L10N.register( "Versions" : "版本", "This application automatically maintains older versions of files that are changed." : "本應用程式會自動維護修改前舊版本的檔案", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個使用者目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。使用者可以在任何時候透過網路介面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保使用者不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保使用者永遠不會使用超過使用者目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。", + "Download version" : "下載版本", + "Restore version" : "還原版本", + "No versions yet" : "尚無版本", + "Version restored" : "版本已還原", + "Could not restore version" : "無法還原版本", + "Version" : "版本", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個使用者目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。使用者可以在任何時候透過網路介面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保使用者不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保使用者永遠不會使用超過使用者目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。", "Failed to revert {file} to revision {timestamp}." : "無法還原檔案 {file} 至版本 {timestamp}", "_%n byte_::_%n bytes_" : ["%n 位元組"], "Restore" : "還原", - "No other versions available" : "沒有其他版本了", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個使用者目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。使用者可以在任何時候透過網路介面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保使用者不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保使用者永遠不會使用超過使用者目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。" + "No other versions available" : "沒有其他版本了" }, "nplurals=1; plural=0;"); diff --git a/apps/files_versions/l10n/zh_TW.json b/apps/files_versions/l10n/zh_TW.json index 7431ad87cef..fca2fec5484 100644 --- a/apps/files_versions/l10n/zh_TW.json +++ b/apps/files_versions/l10n/zh_TW.json @@ -2,10 +2,16 @@ "Versions" : "版本", "This application automatically maintains older versions of files that are changed." : "本應用程式會自動維護修改前舊版本的檔案", "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個使用者目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。使用者可以在任何時候透過網路介面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保使用者不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保使用者永遠不會使用超過使用者目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。", + "Download version" : "下載版本", + "Restore version" : "還原版本", + "No versions yet" : "尚無版本", + "Version restored" : "版本已還原", + "Could not restore version" : "無法還原版本", + "Version" : "版本", + "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個使用者目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。使用者可以在任何時候透過網路介面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保使用者不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保使用者永遠不會使用超過使用者目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。", "Failed to revert {file} to revision {timestamp}." : "無法還原檔案 {file} 至版本 {timestamp}", "_%n byte_::_%n bytes_" : ["%n 位元組"], "Restore" : "還原", - "No other versions available" : "沒有其他版本了", - "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個使用者目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。使用者可以在任何時候透過網路介面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保使用者不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保使用者永遠不會使用超過使用者目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。" + "No other versions available" : "沒有其他版本了" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_versions/lib/Storage.php b/apps/files_versions/lib/Storage.php index e314eddb945..024e1debc92 100644 --- a/apps/files_versions/lib/Storage.php +++ b/apps/files_versions/lib/Storage.php @@ -176,7 +176,6 @@ class Storage { * store a new version of a file. */ public static function store($filename) { - // if the file gets streamed we need to remove the .part extension // to get the right target $ext = pathinfo($filename, PATHINFO_EXTENSION); @@ -357,7 +356,6 @@ class Storage { * @return bool */ public static function rollback(string $file, int $revision, IUser $user) { - // add expected leading slash $filename = '/' . ltrim($file, '/'); @@ -495,11 +493,21 @@ class Storage { $filename = $pathparts['filename']; if ($filename === $versionedFile) { $pathparts = pathinfo($entryName); - $timestamp = substr($pathparts['extension'], 1); + $timestamp = substr($pathparts['extension'] ?? '', 1); + if (!is_numeric($timestamp)) { + \OC::$server->get(LoggerInterface::class)->error( + 'Version file {path} has incorrect name format', + [ + 'path' => $entryName, + 'app' => 'files_versions', + ] + ); + continue; + } $filename = $pathparts['filename']; $key = $timestamp . '#' . $filename; $versions[$key]['version'] = $timestamp; - $versions[$key]['humanReadableTimestamp'] = self::getHumanReadableTimestamp($timestamp); + $versions[$key]['humanReadableTimestamp'] = self::getHumanReadableTimestamp((int)$timestamp); if (empty($userFullPath)) { $versions[$key]['preview'] = ''; } else { @@ -578,7 +586,7 @@ class Storage { * @param int $timestamp * @return string for example "5 days ago" */ - private static function getHumanReadableTimestamp($timestamp) { + private static function getHumanReadableTimestamp(int $timestamp): string { $diff = time() - $timestamp; if ($diff < 60) { // first minute diff --git a/apps/files_versions/src/css/versions.css b/apps/files_versions/src/css/versions.css deleted file mode 100644 index fb8877f7f3f..00000000000 --- a/apps/files_versions/src/css/versions.css +++ /dev/null @@ -1,70 +0,0 @@ -.versionsTabView .clear-float { - clear: both; -} - -.versionsTabView li { - width: 100%; - cursor: default; - height: 56px; - float: left; - border-bottom: 1px solid rgba(100,100,100,.1); -} -.versionsTabView li:last-child { - border-bottom: none; -} - -.versionsTabView a, -.versionsTabView div > span { - vertical-align: middle; - opacity: .5; -} - -.versionsTabView li a{ - padding: 15px 10px 11px; -} - -.versionsTabView a:hover, -.versionsTabView a:focus { - opacity: 1; -} - -.versionsTabView .preview-container { - display: inline-block; - vertical-align: top; -} - -.versionsTabView .version-container img, .revertVersion img { - filter: var(--background-invert-if-dark); -} - -.versionsTabView img { - cursor: pointer; - padding-right: 4px; -} - -.versionsTabView img.preview { - cursor: default; -} - -.versionsTabView .version-container { - display: inline-block; -} - -.versionsTabView .versiondate { - min-width: 100px; - vertical-align: super; -} - -.versionsTabView .version-details { - text-align: left; -} - -.versionsTabView .version-details > span { - padding: 0 10px; -} - -.versionsTabView .revertVersion { - cursor: pointer; - float: right; - margin-right: -10px; -} diff --git a/apps/files_versions/src/files_versions_tab.js b/apps/files_versions/src/files_versions_tab.js new file mode 100644 index 00000000000..8482247e672 --- /dev/null +++ b/apps/files_versions/src/files_versions_tab.js @@ -0,0 +1,70 @@ +/** + * @copyright 2022 Carl Schwan <carl@carlschwan.eu> + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +import Vue from 'vue' +import { translate as t, translatePlural as n } from '@nextcloud/l10n' + +import VersionTab from './views/VersionTab.vue' +import VTooltip from 'v-tooltip' +// eslint-disable-next-line node/no-missing-import, import/no-unresolved +import BackupRestore from '@mdi/svg/svg/backup-restore.svg?raw' + +Vue.prototype.t = t +Vue.prototype.n = n + +Vue.use(VTooltip) + +// Init Sharing tab component +const View = Vue.extend(VersionTab) +let TabInstance = null + +window.addEventListener('DOMContentLoaded', function() { + if (OCA.Files?.Sidebar === undefined) { + return + } + + OCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab({ + id: 'version_vue', + name: t('files_versions', 'Version'), + iconSvg: BackupRestore, + + async mount(el, fileInfo, context) { + if (TabInstance) { + TabInstance.$destroy() + } + TabInstance = new View({ + // Better integration with vue parent component + parent: context, + }) + // Only mount after we have all the info we need + await TabInstance.update(fileInfo) + TabInstance.$mount(el) + }, + update(fileInfo) { + TabInstance.update(fileInfo) + }, + destroy() { + TabInstance.$destroy() + TabInstance = null + }, + enabled(fileInfo) { + return !(fileInfo?.isDirectory() ?? true) + }, + })) +}) diff --git a/apps/files_versions/src/templates/item.handlebars b/apps/files_versions/src/templates/item.handlebars deleted file mode 100644 index 656cab22866..00000000000 --- a/apps/files_versions/src/templates/item.handlebars +++ /dev/null @@ -1,22 +0,0 @@ -<li data-revision="{{id}}"> - <div> - <div class="preview-container"> - <img class="preview" src="{{previewUrl}}" width="44" height="44"/> - </div> - <div class="version-container"> - <div> - <a href="{{downloadUrl}}" class="downloadVersion" download="{{downloadName}}"><img src="{{downloadIconUrl}}" /> - <span class="versiondate has-tooltip live-relative-timestamp" data-timestamp="{{millisecondsTimestamp}}" title="{{formattedTimestamp}}">{{relativeTimestamp}}</span> - </a> - </div> - {{#hasDetails}} - <div class="version-details"> - <span class="size has-tooltip" title="{{altSize}}">{{humanReadableSize}}</span> - </div> - {{/hasDetails}} - </div> - {{#canRevert}} - <a href="#" class="revertVersion" title="{{revertLabel}}"><img src="{{revertIconUrl}}" /></a> - {{/canRevert}} - </div> -</li> diff --git a/apps/files_versions/src/templates/template.handlebars b/apps/files_versions/src/templates/template.handlebars deleted file mode 100644 index f01a6f41626..00000000000 --- a/apps/files_versions/src/templates/template.handlebars +++ /dev/null @@ -1,10 +0,0 @@ -<ul class="versions"></ul> -<div class="clear-float"></div> -<div class="empty hidden"> - <div class="emptycontent"> - <div class="icon-history"></div> - <p>{{emptyResultLabel}}</p> - </div> -</div> -<input type="button" class="showMoreVersions hidden" value="{{moreVersionsLabel}}" name="show-more-versions" id="show-more-versions" /> -<div class="loading hidden" style="height: 50px"></div> diff --git a/apps/files_versions/src/utils/davClient.js b/apps/files_versions/src/utils/davClient.js new file mode 100644 index 00000000000..e4bfeb10411 --- /dev/null +++ b/apps/files_versions/src/utils/davClient.js @@ -0,0 +1,34 @@ +/** + * @copyright 2022 Louis Chemineau <mlouis@chmn.me> + * + * @author Louis Chemineau <mlouis@chmn.me> + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +import { createClient, getPatcher } from 'webdav' +import { generateRemoteUrl } from '@nextcloud/router' +import axios from '@nextcloud/axios' + +const rootPath = 'dav' + +// force our axios +const patcher = getPatcher() +patcher.patch('request', axios) + +// init webdav client on default dav endpoint +const remote = generateRemoteUrl(rootPath) +export default createClient(remote) diff --git a/apps/files_versions/src/utils/davRequest.js b/apps/files_versions/src/utils/davRequest.js new file mode 100644 index 00000000000..b77cd150643 --- /dev/null +++ b/apps/files_versions/src/utils/davRequest.js @@ -0,0 +1,33 @@ +/** + * @copyright Copyright (c) 2019 Louis Chmn <louis@chmn.me> + * + * @author Louis Chmn <louis@chmn.me> + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +export default `<?xml version="1.0"?> +<d:propfind xmlns:d="DAV:" + xmlns:oc="http://owncloud.org/ns" + xmlns:nc="http://nextcloud.org/ns" + xmlns:ocs="http://open-collaboration-services.org/ns"> + <d:prop> + <d:getcontentlength /> + <d:getcontenttype /> + <d:getlastmodified /> + </d:prop> +</d:propfind>` diff --git a/apps/theming/src/helpers/prefixWithBaseUrl.js b/apps/files_versions/src/utils/logger.js index d2f42c93549..4f0356764d9 100644 --- a/apps/theming/src/helpers/prefixWithBaseUrl.js +++ b/apps/files_versions/src/utils/logger.js @@ -1,7 +1,7 @@ /** - * @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net> + * @copyright 2022 Louis Chemineau <mlouis@chmn.me> * - * @author Julius Härtl <jus@bitgrid.net> + * @author Louis Chemineau <mlouis@chmn.me> * * @license AGPL-3.0-or-later * @@ -17,9 +17,11 @@ * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. - * */ -import { generateFilePath } from '@nextcloud/router' +import { getLoggerBuilder } from '@nextcloud/logger' -export const prefixWithBaseUrl = (url) => generateFilePath('theming', '', 'img/background/') + url +export default getLoggerBuilder() + .setApp('files_version') + .detectUser() + .build() diff --git a/apps/files_versions/src/utils/versions.js b/apps/files_versions/src/utils/versions.js new file mode 100644 index 00000000000..8fe258119f7 --- /dev/null +++ b/apps/files_versions/src/utils/versions.js @@ -0,0 +1,124 @@ +/** + * @copyright 2022 Louis Chemineau <mlouis@chmn.me> + * + * @author Louis Chemineau <mlouis@chmn.me> + * + * @license AGPL-3.0-or-later + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +import { getCurrentUser } from '@nextcloud/auth' +import client from '../utils/davClient.js' +import davRequest from '../utils/davRequest.js' +import logger from '../utils/logger.js' +import { basename, joinPaths } from '@nextcloud/paths' +import { generateUrl } from '@nextcloud/router' +import { translate } from '@nextcloud/l10n' +import moment from '@nextcloud/moment' + +/** + * @typedef {object} Version + * @property {string} title - 'Current version' or '' + * @property {string} fileName - File name relative to the version DAV endpoint + * @property {string} mimeType - Empty for the current version, else the actual mime type of the version + * @property {string} size - Human readable size + * @property {string} type - 'file' + * @property {number} mtime - Version creation date as a timestamp + * @property {string} preview - Preview URL of the version + * @property {string} url - Download URL of the version + * @property {string|null} fileVersion - The version id, null for the current version + * @property {boolean} isCurrent - Whether this is the current version of the file + */ + +/** + * @param fileInfo + * @return {Promise<Version[]>} + */ +export async function fetchVersions(fileInfo) { + const path = `/versions/${getCurrentUser()?.uid}/versions/${fileInfo.id}` + + try { + /** @type {import('webdav').FileStat[]} */ + const response = await client.getDirectoryContents(path, { + data: davRequest, + }) + return response.map(version => formatVersion(version, fileInfo)) + } catch (exception) { + logger.error('Could not fetch version', { exception }) + throw exception + } +} + +/** + * Restore the given version + * + * @param {Version} version + * @param {object} fileInfo + */ +export async function restoreVersion(version, fileInfo) { + try { + logger.debug('Restoring version', { url: version.url }) + await client.moveFile( + `/versions/${getCurrentUser()?.uid}/versions/${fileInfo.id}/${version.fileVersion}`, + `/versions/${getCurrentUser()?.uid}/restore/target` + ) + } catch (exception) { + logger.error('Could not restore version', { exception }) + throw exception + } +} + +/** + * Format version + * + * @param {object} version - raw version received from the versions DAV endpoint + * @param {object} fileInfo - file properties received from the files DAV endpoint + * @return {Version} + */ +function formatVersion(version, fileInfo) { + const isCurrent = version.mime === '' + const fileVersion = isCurrent ? null : basename(version.filename) + + let url = null + let preview = null + + if (isCurrent) { + // https://nextcloud_server2.test/remote.php/webdav/welcome.txt?downloadStartSecret=hl5awd7tbzg + url = joinPaths('/remote.php/webdav', fileInfo.path, fileInfo.name) + preview = generateUrl('/core/preview?fileId={fileId}&c={fileEtag}&x=250&y=250&forceIcon=0&a=0', { + fileId: fileInfo.id, + fileEtag: fileInfo.etag, + }) + } else { + url = joinPaths('/remote.php/dav', version.filename) + preview = generateUrl('/apps/files_versions/preview?file={file}&version={fileVersion}', { + file: joinPaths(fileInfo.path, fileInfo.name), + fileVersion, + }) + } + + return { + title: isCurrent ? translate('files_versions', 'Current version') : '', + fileName: version.filename, + mimeType: version.mime, + size: isCurrent ? fileInfo.size : version.size, + type: version.type, + mtime: moment(isCurrent ? fileInfo.mtime : version.lastmod).unix(), + preview, + url, + fileVersion, + isCurrent, + } +} diff --git a/apps/files_versions/src/versioncollection.js b/apps/files_versions/src/versioncollection.js deleted file mode 100644 index 592b4f8cda2..00000000000 --- a/apps/files_versions/src/versioncollection.js +++ /dev/null @@ -1,97 +0,0 @@ -/** - * Copyright (c) 2015 - * - * @author John Molakvoæ <skjnldsv@protonmail.com> - * @author Robin Appelman <robin@icewind.nl> - * @author Vincent Petry <vincent@nextcloud.com> - * - * @license AGPL-3.0-or-later - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -(function() { - /** - * @memberof OCA.Versions - */ - const VersionCollection = OC.Backbone.Collection.extend({ - model: OCA.Versions.VersionModel, - sync: OC.Backbone.davSync, - - /** - * @member OCA.Files.FileInfoModel - */ - _fileInfo: null, - - _currentUser: null, - - _client: null, - - setFileInfo(fileInfo) { - this._fileInfo = fileInfo - }, - - getFileInfo() { - return this._fileInfo - }, - - setCurrentUser(user) { - this._currentUser = user - }, - - getCurrentUser() { - return this._currentUser || OC.getCurrentUser().uid - }, - - setClient(client) { - this._client = client - }, - - getClient() { - return this._client || new OC.Files.Client({ - host: OC.getHost(), - root: OC.linkToRemoteBase('dav') + '/versions/' + this.getCurrentUser(), - useHTTPS: OC.getProtocol() === 'https', - }) - }, - - url() { - return OC.linkToRemoteBase('dav') + '/versions/' + this.getCurrentUser() + '/versions/' + this._fileInfo.get('id') - }, - - parse(result) { - const fullPath = this._fileInfo.getFullPath() - const fileId = this._fileInfo.get('id') - const name = this._fileInfo.get('name') - const user = this.getCurrentUser() - const client = this.getClient() - return _.map(result, function(version) { - version.fullPath = fullPath - version.fileId = fileId - version.name = name - version.timestamp = parseInt(moment(new Date(version.timestamp)).format('X'), 10) - version.id = OC.basename(version.href) - version.size = parseInt(version.size, 10) - version.user = user - version.client = client - return version - }) - }, - }) - - OCA.Versions = OCA.Versions || {} - - OCA.Versions.VersionCollection = VersionCollection -})() diff --git a/apps/files_versions/src/versionmodel.js b/apps/files_versions/src/versionmodel.js deleted file mode 100644 index 01914f702e2..00000000000 --- a/apps/files_versions/src/versionmodel.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Copyright (c) 2015 - * - * @author John Molakvoæ <skjnldsv@protonmail.com> - * @author Robin Appelman <robin@icewind.nl> - * @author Vincent Petry <vincent@nextcloud.com> - * - * @license AGPL-3.0-or-later - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -(function() { - /** - * @memberof OCA.Versions - */ - const VersionModel = OC.Backbone.Model.extend({ - sync: OC.Backbone.davSync, - - davProperties: { - size: '{DAV:}getcontentlength', - mimetype: '{DAV:}getcontenttype', - timestamp: '{DAV:}getlastmodified', - }, - - /** - * Restores the original file to this revision - * - * @param {object} [options] options - * @return {Promise} - */ - revert(options) { - options = options ? _.clone(options) : {} - const model = this - - const client = this.get('client') - - return client.move('/versions/' + this.get('fileId') + '/' + this.get('id'), '/restore/target', true) - .done(function() { - if (options.success) { - options.success.call(options.context, model, {}, options) - } - model.trigger('revert', model, options) - }) - .fail(function() { - if (options.error) { - options.error.call(options.context, model, {}, options) - } - model.trigger('error', model, {}, options) - }) - }, - - getFullPath() { - return this.get('fullPath') - }, - - getPreviewUrl() { - const url = OC.generateUrl('/apps/files_versions/preview') - const params = { - file: this.get('fullPath'), - version: this.get('id'), - } - return url + '?' + OC.buildQueryString(params) - }, - - getDownloadUrl() { - return OC.linkToRemoteBase('dav') + '/versions/' + this.get('user') + '/versions/' + this.get('fileId') + '/' + this.get('id') - }, - }) - - OCA.Versions = OCA.Versions || {} - - OCA.Versions.VersionModel = VersionModel -})() diff --git a/apps/files_versions/src/versionstabview.js b/apps/files_versions/src/versionstabview.js deleted file mode 100644 index 9f76755a582..00000000000 --- a/apps/files_versions/src/versionstabview.js +++ /dev/null @@ -1,231 +0,0 @@ -/** - * Copyright (c) 2015 - * - * @author Jan-Christoph Borchardt <hey@jancborchardt.net> - * @author John Molakvoæ <skjnldsv@protonmail.com> - * @author Julius Härtl <jus@bitgrid.net> - * @author Michael Jobst <mjobst+github@tecratech.de> - * @author noveens <noveen.sachdeva@research.iiit.ac.in> - * @author Robin Appelman <robin@icewind.nl> - * @author Vincent Petry <vincent@nextcloud.com> - * - * @license AGPL-3.0-or-later - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -import ItemTemplate from './templates/item.handlebars' -import Template from './templates/template.handlebars'; - -(function() { - if (!OCA.Files.DetailTabView) { - // Only register the versions tab within the files app - return - } - /** - * @memberof OCA.Versions - */ - const VersionsTabView = OCA.Files.DetailTabView.extend(/** @lends OCA.Versions.VersionsTabView.prototype */{ - id: 'versionsTabView', - className: 'tab versionsTabView', - - _template: null, - - $versionsContainer: null, - - events: { - 'click .revertVersion': '_onClickRevertVersion', - }, - - initialize() { - OCA.Files.DetailTabView.prototype.initialize.apply(this, arguments) - this.collection = new OCA.Versions.VersionCollection() - this.collection.on('request', this._onRequest, this) - this.collection.on('sync', this._onEndRequest, this) - this.collection.on('update', this._onUpdate, this) - this.collection.on('error', this._onError, this) - this.collection.on('add', this._onAddModel, this) - }, - - getLabel() { - return t('files_versions', 'Versions') - }, - - getIcon() { - return 'icon-history' - }, - - nextPage() { - if (this._loading) { - return - } - - if (this.collection.getFileInfo() && this.collection.getFileInfo().isDirectory()) { - return - } - this.collection.fetch() - }, - - _onClickRevertVersion(ev) { - const self = this - let $target = $(ev.target) - const fileInfoModel = this.collection.getFileInfo() - if (!$target.is('li')) { - $target = $target.closest('li') - } - - ev.preventDefault() - const revision = $target.attr('data-revision') - - const versionModel = this.collection.get(revision) - versionModel.revert({ - success() { - // reset and re-fetch the updated collection - self.$versionsContainer.empty() - self.collection.setFileInfo(fileInfoModel) - self.collection.reset([], { silent: true }) - self.collection.fetch() - - self.$el.find('.versions').removeClass('hidden') - - // update original model - fileInfoModel.trigger('busy', fileInfoModel, false) - fileInfoModel.set({ - size: versionModel.get('size'), - mtime: versionModel.get('timestamp') * 1000, - // temp dummy, until we can do a PROPFIND - etag: versionModel.get('id') + versionModel.get('timestamp'), - }) - }, - - error() { - fileInfoModel.trigger('busy', fileInfoModel, false) - self.$el.find('.versions').removeClass('hidden') - self._toggleLoading(false) - OC.Notification.show(t('files_version', 'Failed to revert {file} to revision {timestamp}.', - { - file: versionModel.getFullPath(), - timestamp: OC.Util.formatDate(versionModel.get('timestamp') * 1000), - }), - { - type: 'error', - } - ) - }, - }) - - // spinner - this._toggleLoading(true) - fileInfoModel.trigger('busy', fileInfoModel, true) - }, - - _toggleLoading(state) { - this._loading = state - this.$el.find('.loading').toggleClass('hidden', !state) - }, - - _onRequest() { - this._toggleLoading(true) - }, - - _onEndRequest() { - this._toggleLoading(false) - this.$el.find('.empty').toggleClass('hidden', !!this.collection.length) - }, - - _onAddModel(model) { - const $el = $(this.itemTemplate(this._formatItem(model))) - this.$versionsContainer.append($el) - $el.find('.has-tooltip').tooltip() - }, - - template(data) { - return Template(data) - }, - - itemTemplate(data) { - return ItemTemplate(data) - }, - - setFileInfo(fileInfo) { - if (fileInfo) { - this.render() - this.collection.setFileInfo(fileInfo) - this.collection.reset([], { silent: true }) - this.nextPage() - } else { - this.render() - this.collection.reset() - } - }, - - _formatItem(version) { - const timestamp = version.get('timestamp') * 1000 - const size = version.has('size') ? version.get('size') : 0 - const preview = OC.MimeType.getIconUrl(version.get('mimetype')) - const img = new Image() - img.onload = function() { - $('li[data-revision=' + version.get('id') + '] .preview').attr('src', version.getPreviewUrl()) - } - img.src = version.getPreviewUrl() - - return _.extend({ - versionId: version.get('id'), - formattedTimestamp: OC.Util.formatDate(timestamp), - relativeTimestamp: OC.Util.relativeModifiedDate(timestamp), - millisecondsTimestamp: timestamp, - humanReadableSize: OC.Util.humanFileSize(size, true), - altSize: n('files', '%n byte', '%n bytes', size), - hasDetails: version.has('size'), - downloadUrl: version.getDownloadUrl(), - downloadIconUrl: OC.imagePath('core', 'actions/download'), - downloadName: version.get('name'), - revertIconUrl: OC.imagePath('core', 'actions/history'), - previewUrl: preview, - revertLabel: t('files_versions', 'Restore'), - canRevert: (this.collection.getFileInfo().get('permissions') & OC.PERMISSION_UPDATE) !== 0, - }, version.attributes) - }, - - /** - * Renders this details view - */ - render() { - this.$el.html(this.template({ - emptyResultLabel: t('files_versions', 'No other versions available'), - })) - this.$el.find('.has-tooltip').tooltip() - this.$versionsContainer = this.$el.find('ul.versions') - this.delegateEvents() - }, - - /** - * Returns true for files, false for folders. - * - * @param {FileInfo} fileInfo fileInfo - * @return {boolean} true for files, false for folders - */ - canDisplay(fileInfo) { - if (!fileInfo) { - return false - } - return !fileInfo.isDirectory() - }, - }) - - OCA.Versions = OCA.Versions || {} - - OCA.Versions.VersionsTabView = VersionsTabView -})() diff --git a/apps/files_versions/src/views/VersionTab.vue b/apps/files_versions/src/views/VersionTab.vue new file mode 100644 index 00000000000..8159415dfc7 --- /dev/null +++ b/apps/files_versions/src/views/VersionTab.vue @@ -0,0 +1,182 @@ +<!-- + - @copyright 2022 Carl Schwan <carl@carlschwan.eu> + - @license AGPL-3.0-or-later + - + - This program is free software: you can redistribute it and/or modify + - it under the terms of the GNU Affero General Public License as + - published by the Free Software Foundation, either version 3 of the + - License, or (at your option) any later version. + - + - This program is distributed in the hope that it will be useful, + - but WITHOUT ANY WARRANTY; without even the implied warranty of + - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + - GNU Affero General Public License for more details. + - + - You should have received a copy of the GNU Affero General Public License + - along with this program. If not, see <http://www.gnu.org/licenses/>. + --> +<template> + <div> + <ul> + <NcListItem v-for="version in versions" + :key="version.mtime" + class="version" + :title="version.title" + :href="version.url"> + <template #icon> + <img lazy="true" + :src="version.preview" + alt="" + height="256" + width="256" + class="version__image"> + </template> + <template #subtitle> + <div class="version__info"> + <span>{{ version.mtime | humanDateFromNow }}</span> + <!-- Separate dot to improve alignement --> + <span class="version__info__size">•</span> + <span class="version__info__size">{{ version.size | humanReadableSize }}</span> + </div> + </template> + <template v-if="!version.isCurrent" #actions> + <NcActionLink :href="version.url" + :download="version.url"> + <template #icon> + <Download :size="22" /> + </template> + {{ t('files_versions', 'Download version') }} + </NcActionLink> + <NcActionButton @click="restoreVersion(version)"> + <template #icon> + <BackupRestore :size="22" /> + </template> + {{ t('files_versions', 'Restore version') }} + </NcActionButton> + </template> + </NcListItem> + <NcEmptyContent v-if="!loading && versions.length === 1" + :title="t('files_version', 'No versions yet')"> + <!-- length === 1, since we don't want to show versions if there is only the current file --> + <template #icon> + <BackupRestore /> + </template> + </NcEmptyContent> + </ul> + </div> +</template> + +<script> +import BackupRestore from 'vue-material-design-icons/BackupRestore.vue' +import Download from 'vue-material-design-icons/Download.vue' +import NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js' +import NcActionLink from '@nextcloud/vue/dist/Components/NcActionLink.js' +import NcListItem from '@nextcloud/vue/dist/Components/NcListItem.js' +import NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js' +import { showError, showSuccess } from '@nextcloud/dialogs' +import { fetchVersions, restoreVersion } from '../utils/versions.js' +import moment from '@nextcloud/moment' + +export default { + name: 'VersionTab', + components: { + NcEmptyContent, + NcActionLink, + NcActionButton, + NcListItem, + BackupRestore, + Download, + }, + filters: { + humanReadableSize(bytes) { + return OC.Util.humanFileSize(bytes) + }, + humanDateFromNow(timestamp) { + return moment(timestamp * 1000).fromNow() + }, + }, + data() { + return { + fileInfo: null, + /** @type {import('../utils/versions.js').Version[]} */ + versions: [], + loading: false, + } + }, + methods: { + /** + * Update current fileInfo and fetch new data + * + * @param {object} fileInfo the current file FileInfo + */ + async update(fileInfo) { + this.fileInfo = fileInfo + this.resetState() + this.fetchVersions() + }, + + /** + * Get the existing versions infos + */ + async fetchVersions() { + try { + this.loading = true + this.versions = await fetchVersions(this.fileInfo) + } finally { + this.loading = false + } + }, + + /** + * Restore the given version + * + * @param version + */ + async restoreVersion(version) { + try { + await restoreVersion(version, this.fileInfo) + // File info is not updated so we manually update its size and mtime if the restoration went fine. + this.fileInfo.size = version.size + this.fileInfo.mtime = version.lastmod + showSuccess(t('files_versions', 'Version restored')) + await this.fetchVersions() + } catch (exception) { + showError(t('files_versions', 'Could not restore version')) + } + }, + + /** + * Reset the current view to its default state + */ + resetState() { + this.versions = [] + }, + }, +} +</script> + +<style scopped lang="scss"> +.version { + display: flex; + flex-direction: row; + + &__info { + display: flex; + flex-direction: row; + align-items: center; + gap: 0.5rem; + + &__size { + color: var(--color-text-lighter); + } + } + + &__image { + width: 3rem; + height: 3rem; + border: 1px solid var(--color-border); + margin-right: 1rem; + border-radius: var(--border-radius-large); + } +} +</style> diff --git a/apps/files_versions/tests/js/versioncollectionSpec.js b/apps/files_versions/tests/js/versioncollectionSpec.js deleted file mode 100644 index 672515146b7..00000000000 --- a/apps/files_versions/tests/js/versioncollectionSpec.js +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Copyright (c) 2015 - * - * @author Robin Appelman <robin@icewind.nl> - * @author Vincent Petry <vincent@nextcloud.com> - * - * @license AGPL-3.0-or-later - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -describe('OCA.Versions.VersionCollection', function() { - var VersionCollection = OCA.Versions.VersionCollection; - var collection, fileInfoModel; - - beforeEach(function() { - fileInfoModel = new OCA.Files.FileInfoModel({ - path: '/subdir', - name: 'some file.txt', - id: 10, - }); - collection = new VersionCollection(); - collection.setFileInfo(fileInfoModel); - collection.setCurrentUser('user'); - }); - it('fetches the versions', function() { - collection.fetch(); - - expect(fakeServer.requests.length).toEqual(1); - expect(fakeServer.requests[0].url).toEqual( - OC.linkToRemoteBase('dav') + '/versions/user/versions/10' - ); - fakeServer.requests[0].respond(200); - }); -}); - diff --git a/apps/files_versions/tests/js/versionmodelSpec.js b/apps/files_versions/tests/js/versionmodelSpec.js deleted file mode 100644 index d4b7bec43ae..00000000000 --- a/apps/files_versions/tests/js/versionmodelSpec.js +++ /dev/null @@ -1,124 +0,0 @@ -/** - * Copyright (c) 2015 - * - * @author Daniel Calviño Sánchez <danxuliu@gmail.com> - * @author Robin Appelman <robin@icewind.nl> - * @author Vincent Petry <vincent@nextcloud.com> - * - * @license AGPL-3.0-or-later - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -describe('OCA.Versions.VersionModel', function() { - var VersionModel = OCA.Versions.VersionModel; - var model; - var uid = OC.currentUser = 'user'; - - beforeEach(function() { - model = new VersionModel({ - id: 10000000, - fileId: 10, - timestamp: 10000000, - fullPath: '/subdir/some file.txt', - name: 'some file.txt', - size: 150, - user: 'user', - client: new OC.Files.Client({ - host: 'localhost', - port: 80, - root: '/remote.php/dav/versions/user', - useHTTPS: OC.getProtocol() === 'https' - }) - }); - }); - - it('returns the full path', function() { - expect(model.getFullPath()).toEqual('/subdir/some file.txt'); - }); - it('returns the preview url', function() { - expect(model.getPreviewUrl()) - .toEqual(OC.generateUrl('/apps/files_versions/preview') + - '?file=%2Fsubdir%2Fsome%20file.txt&version=10000000' - ); - }); - it('returns the download url', function() { - expect(model.getDownloadUrl()) - .toEqual(OC.linkToRemoteBase('dav') + '/versions/' + uid + - '/versions/10/10000000' - ); - }); - describe('reverting', function() { - var revertEventStub; - var successStub; - var errorStub; - - beforeEach(function() { - revertEventStub = sinon.stub(); - errorStub = sinon.stub(); - successStub = sinon.stub(); - - model.on('revert', revertEventStub); - model.on('error', errorStub); - }); - it('tells the server to revert when calling the revert method', function(done) { - var promise = model.revert({ - success: successStub - }); - - expect(fakeServer.requests.length).toEqual(1); - var request = fakeServer.requests[0]; - expect(request.url) - .toEqual( - OC.linkToRemoteBase('dav') + '/versions/user/versions/10/10000000' - ); - expect(request.requestHeaders.Destination).toEqual(OC.getRootPath() + '/remote.php/dav/versions/user/restore/target'); - request.respond(201); - - promise.then(function() { - expect(revertEventStub.calledOnce).toEqual(true); - expect(successStub.calledOnce).toEqual(true); - expect(errorStub.notCalled).toEqual(true); - - done(); - }); - }); - it('triggers error event when server returns a failure', function(done) { - var promise = model.revert({ - success: successStub - }); - - expect(fakeServer.requests.length).toEqual(1); - var responseErrorHeaders = { - "Content-Type": "application/xml" - }; - var responseErrorBody = - '<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">' + - ' <s:exception>Sabre\\DAV\\Exception\\SomeException</s:exception>' + - ' <s:message>Some error message</s:message>' + - '</d:error>'; - fakeServer.requests[0].respond(404, responseErrorHeaders, responseErrorBody); - - promise.fail(function() { - expect(revertEventStub.notCalled).toEqual(true); - expect(successStub.notCalled).toEqual(true); - expect(errorStub.calledOnce).toEqual(true); - - done(); - }); - }); - }); -}); - diff --git a/apps/files_versions/tests/js/versionstabviewSpec.js b/apps/files_versions/tests/js/versionstabviewSpec.js deleted file mode 100644 index f7bec0ab1b5..00000000000 --- a/apps/files_versions/tests/js/versionstabviewSpec.js +++ /dev/null @@ -1,193 +0,0 @@ -/** - * Copyright (c) 2015 - * - * @author Michael Jobst <mjobst+github@tecratech.de> - * @author Morris Jobke <hey@morrisjobke.de> - * @author noveens <noveen.sachdeva@research.iiit.ac.in> - * @author Roeland Jago Douma <roeland@famdouma.nl> - * @author Vincent Petry <vincent@nextcloud.com> - * - * @license AGPL-3.0-or-later - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -describe('OCA.Versions.VersionsTabView', function() { - var VersionCollection = OCA.Versions.VersionCollection; - var VersionModel = OCA.Versions.VersionModel; - var VersionsTabView = OCA.Versions.VersionsTabView; - - var fetchStub, fileInfoModel, tabView, testVersions, clock; - - beforeEach(function() { - clock = sinon.useFakeTimers(Date.UTC(2015, 6, 17, 1, 2, 0, 3)); - var time1 = Date.UTC(2015, 6, 17, 1, 2, 0, 3) / 1000; - var time2 = Date.UTC(2015, 6, 15, 1, 2, 0, 3) / 1000; - - var version1 = new VersionModel({ - id: time1, - timestamp: time1, - name: 'some file.txt', - size: 140, - fullPath: '/subdir/some file.txt', - mimetype: 'text/plain' - }); - var version2 = new VersionModel({ - id: time2, - timestamp: time2, - name: 'some file.txt', - size: 150, - fullPath: '/subdir/some file.txt', - mimetype: 'text/plain' - }); - - testVersions = [version1, version2]; - - fetchStub = sinon.stub(VersionCollection.prototype, 'fetch'); - fileInfoModel = new OCA.Files.FileInfoModel({ - id: 123, - name: 'test.txt', - permissions: OC.PERMISSION_READ | OC.PERMISSION_UPDATE - }); - tabView = new VersionsTabView(); - tabView.render(); - }); - - afterEach(function() { - fetchStub.restore(); - tabView.remove(); - clock.restore(); - }); - - describe('rendering', function() { - it('reloads matching versions when setting file info model', function() { - tabView.setFileInfo(fileInfoModel); - expect(fetchStub.calledOnce).toEqual(true); - }); - - it('renders loading icon while fetching versions', function() { - tabView.setFileInfo(fileInfoModel); - tabView.collection.trigger('request'); - - expect(tabView.$el.find('.loading').length).toEqual(1); - expect(tabView.$el.find('.versions li').length).toEqual(0); - }); - - it('renders versions', function() { - - tabView.setFileInfo(fileInfoModel); - tabView.collection.set(testVersions); - - var version1 = testVersions[0]; - var version2 = testVersions[1]; - var $versions = tabView.$el.find('.versions>li'); - expect($versions.length).toEqual(2); - var $item = $versions.eq(0); - expect($item.find('.downloadVersion').attr('href')).toEqual(version1.getDownloadUrl()); - expect($item.find('.versiondate').text()).toEqual('seconds ago'); - expect($item.find('.size').text()).toEqual('< 1 KB'); - expect($item.find('.revertVersion').length).toEqual(1); - - $item = $versions.eq(1); - expect($item.find('.downloadVersion').attr('href')).toEqual(version2.getDownloadUrl()); - expect($item.find('.versiondate').text()).toEqual('2 days ago'); - expect($item.find('.size').text()).toEqual('< 1 KB'); - expect($item.find('.revertVersion').length).toEqual(1); - }); - - it('does not render revert button when no update permissions', function() { - - fileInfoModel.set('permissions', OC.PERMISSION_READ); - tabView.setFileInfo(fileInfoModel); - tabView.collection.set(testVersions); - - var version1 = testVersions[0]; - var version2 = testVersions[1]; - var $versions = tabView.$el.find('.versions>li'); - expect($versions.length).toEqual(2); - var $item = $versions.eq(0); - expect($item.find('.downloadVersion').attr('href')).toEqual(version1.getDownloadUrl()); - expect($item.find('.versiondate').text()).toEqual('seconds ago'); - expect($item.find('.revertVersion').length).toEqual(0); - - $item = $versions.eq(1); - expect($item.find('.downloadVersion').attr('href')).toEqual(version2.getDownloadUrl()); - expect($item.find('.versiondate').text()).toEqual('2 days ago'); - expect($item.find('.revertVersion').length).toEqual(0); - }); - }); - - describe('Reverting', function() { - var revertStub; - - beforeEach(function() { - revertStub = sinon.stub(VersionModel.prototype, 'revert'); - tabView.setFileInfo(fileInfoModel); - tabView.collection.set(testVersions); - }); - - afterEach(function() { - revertStub.restore(); - }); - - it('tells the model to revert when clicking "Revert"', function() { - tabView.$el.find('.revertVersion').eq(1).click(); - - expect(revertStub.calledOnce).toEqual(true); - }); - it('triggers busy state during revert', function() { - var busyStub = sinon.stub(); - fileInfoModel.on('busy', busyStub); - - tabView.$el.find('.revertVersion').eq(1).click(); - - expect(busyStub.calledOnce).toEqual(true); - expect(busyStub.calledWith(fileInfoModel, true)).toEqual(true); - - busyStub.reset(); - revertStub.getCall(0).args[0].success(); - - expect(busyStub.calledOnce).toEqual(true); - expect(busyStub.calledWith(fileInfoModel, false)).toEqual(true); - }); - it('updates the file info model with the information from the reverted revision', function() { - var changeStub = sinon.stub(); - fileInfoModel.on('change', changeStub); - - tabView.$el.find('.revertVersion').eq(1).click(); - - expect(changeStub.notCalled).toEqual(true); - - revertStub.getCall(0).args[0].success(); - - expect(changeStub.calledOnce).toEqual(true); - var changes = changeStub.getCall(0).args[0].changed; - expect(changes.size).toEqual(150); - expect(changes.mtime).toEqual(testVersions[1].get('timestamp') * 1000); - expect(changes.etag).toBeDefined(); - }); - it('shows notification on revert error', function() { - var notificationStub = sinon.stub(OC.Notification, 'show'); - - tabView.$el.find('.revertVersion').eq(1).click(); - - revertStub.getCall(0).args[0].error(); - - expect(notificationStub.calledOnce).toEqual(true); - - notificationStub.restore(); - }); - }); -}); diff --git a/apps/lookup_server_connector/composer/autoload.php b/apps/lookup_server_connector/composer/autoload.php index 521fd3630e4..1024b4412ab 100644 --- a/apps/lookup_server_connector/composer/autoload.php +++ b/apps/lookup_server_connector/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/lookup_server_connector/composer/composer/installed.php b/apps/lookup_server_connector/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/lookup_server_connector/composer/composer/installed.php +++ b/apps/lookup_server_connector/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/oauth2/composer/autoload.php b/apps/oauth2/composer/autoload.php index c7fd27c188d..02011f1eb55 100644 --- a/apps/oauth2/composer/autoload.php +++ b/apps/oauth2/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/oauth2/composer/composer/installed.php b/apps/oauth2/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/oauth2/composer/composer/installed.php +++ b/apps/oauth2/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/oauth2/src/App.vue b/apps/oauth2/src/App.vue index 8b9d2e7aff6..28b1f9182e2 100644 --- a/apps/oauth2/src/App.vue +++ b/apps/oauth2/src/App.vue @@ -54,7 +54,7 @@ type="url" name="redirectUri" :placeholder="t('oauth2', 'Redirection URI')"> - <NcButton class="inline-button"> + <NcButton native-type="submit" class="inline-button"> {{ t('oauth2', 'Add') }} </NcButton> </form> diff --git a/apps/provisioning_api/composer/autoload.php b/apps/provisioning_api/composer/autoload.php index d01dfa2c74b..539f62b3fe5 100644 --- a/apps/provisioning_api/composer/autoload.php +++ b/apps/provisioning_api/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/provisioning_api/composer/composer/installed.php b/apps/provisioning_api/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/provisioning_api/composer/composer/installed.php +++ b/apps/provisioning_api/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/provisioning_api/l10n/en_GB.js b/apps/provisioning_api/l10n/en_GB.js new file mode 100644 index 00000000000..b4df5f8a743 --- /dev/null +++ b/apps/provisioning_api/l10n/en_GB.js @@ -0,0 +1,18 @@ +OC.L10N.register( + "provisioning_api", + { + "Logged in user must be an administrator or have authorization to edit this setting." : "Logged in user must be an administrator or have authorization to edit this setting.", + "User already exists" : "User already exists", + "Email confirmation" : "Email confirmation", + "To enable the email address %s please click the button below." : "To enable the email address %s please click the button below.", + "Confirm" : "Confirm", + "Email was already removed from account and cannot be confirmed anymore." : "Email was already removed from account and cannot be confirmed anymore.", + "Could not verify mail because the token is expired." : "Could not verify mail because the token is expired.", + "Could not verify mail because the token is invalid." : "Could not verify mail because the token is invalid.", + "An unexpected error occurred. Please contact your admin." : "An unexpected error occurred. Please contact your admin.", + "Email confirmation successful" : "Email confirmation successful", + "Provisioning API" : "Provisioning API", + "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "This application enables a set of APIs that external systems can use to manage users, groups and apps.", + "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/provisioning_api/l10n/en_GB.json b/apps/provisioning_api/l10n/en_GB.json new file mode 100644 index 00000000000..1b7e7027ecb --- /dev/null +++ b/apps/provisioning_api/l10n/en_GB.json @@ -0,0 +1,16 @@ +{ "translations": { + "Logged in user must be an administrator or have authorization to edit this setting." : "Logged in user must be an administrator or have authorization to edit this setting.", + "User already exists" : "User already exists", + "Email confirmation" : "Email confirmation", + "To enable the email address %s please click the button below." : "To enable the email address %s please click the button below.", + "Confirm" : "Confirm", + "Email was already removed from account and cannot be confirmed anymore." : "Email was already removed from account and cannot be confirmed anymore.", + "Could not verify mail because the token is expired." : "Could not verify mail because the token is expired.", + "Could not verify mail because the token is invalid." : "Could not verify mail because the token is invalid.", + "An unexpected error occurred. Please contact your admin." : "An unexpected error occurred. Please contact your admin.", + "Email confirmation successful" : "Email confirmation successful", + "Provisioning API" : "Provisioning API", + "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "This application enables a set of APIs that external systems can use to manage users, groups and apps.", + "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/provisioning_api/lib/Controller/AUserData.php b/apps/provisioning_api/lib/Controller/AUserData.php index f2fbea7b04f..668b86c059a 100644 --- a/apps/provisioning_api/lib/Controller/AUserData.php +++ b/apps/provisioning_api/lib/Controller/AUserData.php @@ -181,6 +181,7 @@ abstract class AUserData extends OCSController { IAccountManager::PROPERTY_ADDRESS, IAccountManager::PROPERTY_WEBSITE, IAccountManager::PROPERTY_TWITTER, + IAccountManager::PROPERTY_FEDIVERSE, IAccountManager::PROPERTY_ORGANISATION, IAccountManager::PROPERTY_ROLE, IAccountManager::PROPERTY_HEADLINE, @@ -245,7 +246,7 @@ abstract class AUserData extends OCSController { try { \OC_Util::tearDownFS(); \OC_Util::setupFS($userId); - $storage = OC_Helper::getStorageInfo('/'); + $storage = OC_Helper::getStorageInfo('/', null, true, false); $data = [ 'free' => $storage['free'], 'used' => $storage['used'], diff --git a/apps/provisioning_api/lib/Controller/UsersController.php b/apps/provisioning_api/lib/Controller/UsersController.php index 0f9ffcbadf4..434912f32aa 100644 --- a/apps/provisioning_api/lib/Controller/UsersController.php +++ b/apps/provisioning_api/lib/Controller/UsersController.php @@ -621,6 +621,7 @@ class UsersController extends AUserData { $permittedFields[] = IAccountManager::PROPERTY_ADDRESS; $permittedFields[] = IAccountManager::PROPERTY_WEBSITE; $permittedFields[] = IAccountManager::PROPERTY_TWITTER; + $permittedFields[] = IAccountManager::PROPERTY_FEDIVERSE; $permittedFields[] = IAccountManager::PROPERTY_ORGANISATION; $permittedFields[] = IAccountManager::PROPERTY_ROLE; $permittedFields[] = IAccountManager::PROPERTY_HEADLINE; @@ -782,6 +783,7 @@ class UsersController extends AUserData { $permittedFields[] = IAccountManager::PROPERTY_ADDRESS; $permittedFields[] = IAccountManager::PROPERTY_WEBSITE; $permittedFields[] = IAccountManager::PROPERTY_TWITTER; + $permittedFields[] = IAccountManager::PROPERTY_FEDIVERSE; $permittedFields[] = IAccountManager::PROPERTY_ORGANISATION; $permittedFields[] = IAccountManager::PROPERTY_ROLE; $permittedFields[] = IAccountManager::PROPERTY_HEADLINE; @@ -791,6 +793,7 @@ class UsersController extends AUserData { $permittedFields[] = IAccountManager::PROPERTY_ADDRESS . self::SCOPE_SUFFIX; $permittedFields[] = IAccountManager::PROPERTY_WEBSITE . self::SCOPE_SUFFIX; $permittedFields[] = IAccountManager::PROPERTY_TWITTER . self::SCOPE_SUFFIX; + $permittedFields[] = IAccountManager::PROPERTY_FEDIVERSE . self::SCOPE_SUFFIX; $permittedFields[] = IAccountManager::PROPERTY_ORGANISATION . self::SCOPE_SUFFIX; $permittedFields[] = IAccountManager::PROPERTY_ROLE . self::SCOPE_SUFFIX; $permittedFields[] = IAccountManager::PROPERTY_HEADLINE . self::SCOPE_SUFFIX; @@ -827,6 +830,7 @@ class UsersController extends AUserData { $permittedFields[] = IAccountManager::PROPERTY_ADDRESS; $permittedFields[] = IAccountManager::PROPERTY_WEBSITE; $permittedFields[] = IAccountManager::PROPERTY_TWITTER; + $permittedFields[] = IAccountManager::PROPERTY_FEDIVERSE; $permittedFields[] = IAccountManager::PROPERTY_ORGANISATION; $permittedFields[] = IAccountManager::PROPERTY_ROLE; $permittedFields[] = IAccountManager::PROPERTY_HEADLINE; @@ -955,6 +959,7 @@ class UsersController extends AUserData { case IAccountManager::PROPERTY_ADDRESS: case IAccountManager::PROPERTY_WEBSITE: case IAccountManager::PROPERTY_TWITTER: + case IAccountManager::PROPERTY_FEDIVERSE: case IAccountManager::PROPERTY_ORGANISATION: case IAccountManager::PROPERTY_ROLE: case IAccountManager::PROPERTY_HEADLINE: @@ -999,6 +1004,7 @@ class UsersController extends AUserData { case IAccountManager::PROPERTY_ADDRESS . self::SCOPE_SUFFIX: case IAccountManager::PROPERTY_WEBSITE . self::SCOPE_SUFFIX: case IAccountManager::PROPERTY_TWITTER . self::SCOPE_SUFFIX: + case IAccountManager::PROPERTY_FEDIVERSE . self::SCOPE_SUFFIX: case IAccountManager::PROPERTY_ORGANISATION . self::SCOPE_SUFFIX: case IAccountManager::PROPERTY_ROLE . self::SCOPE_SUFFIX: case IAccountManager::PROPERTY_HEADLINE . self::SCOPE_SUFFIX: diff --git a/apps/provisioning_api/tests/Controller/GroupsControllerTest.php b/apps/provisioning_api/tests/Controller/GroupsControllerTest.php index 12010995560..5d16d58fc0a 100644 --- a/apps/provisioning_api/tests/Controller/GroupsControllerTest.php +++ b/apps/provisioning_api/tests/Controller/GroupsControllerTest.php @@ -44,7 +44,6 @@ use OCP\UserInterface; use Psr\Log\LoggerInterface; class GroupsControllerTest extends \Test\TestCase { - /** @var IRequest|\PHPUnit\Framework\MockObject\MockObject */ protected $request; /** @var IUserManager|\PHPUnit\Framework\MockObject\MockObject */ @@ -57,6 +56,8 @@ class GroupsControllerTest extends \Test\TestCase { protected $userSession; /** @var IAccountManager|\PHPUnit\Framework\MockObject\MockObject */ protected $accountManager; + /** @var IFactory|\PHPUnit\Framework\MockObject\MockObject */ + protected $l10nFactory; /** @var LoggerInterface|\PHPUnit\Framework\MockObject\MockObject */ protected $logger; /** @var SubAdmin|\PHPUnit\Framework\MockObject\MockObject */ diff --git a/apps/provisioning_api/tests/Controller/UsersControllerTest.php b/apps/provisioning_api/tests/Controller/UsersControllerTest.php index 09a7eeb1a11..d0e808c990f 100644 --- a/apps/provisioning_api/tests/Controller/UsersControllerTest.php +++ b/apps/provisioning_api/tests/Controller/UsersControllerTest.php @@ -1008,6 +1008,7 @@ class UsersControllerTest extends TestCase { IAccountManager::PROPERTY_ADDRESS => ['value' => 'address'], IAccountManager::PROPERTY_PHONE => ['value' => 'phone'], IAccountManager::PROPERTY_TWITTER => ['value' => 'twitter'], + IAccountManager::PROPERTY_FEDIVERSE => ['value' => 'fediverse'], IAccountManager::PROPERTY_WEBSITE => ['value' => 'website'], IAccountManager::PROPERTY_ORGANISATION => ['value' => 'organisation'], IAccountManager::PROPERTY_ROLE => ['value' => 'role'], @@ -1075,6 +1076,7 @@ class UsersControllerTest extends TestCase { 'address' => 'address', 'website' => 'website', 'twitter' => 'twitter', + 'fediverse' => 'fediverse', 'groups' => ['group0', 'group1', 'group2'], 'language' => 'de', 'locale' => null, @@ -1186,6 +1188,7 @@ class UsersControllerTest extends TestCase { IAccountManager::PROPERTY_ADDRESS => ['value' => 'address'], IAccountManager::PROPERTY_PHONE => ['value' => 'phone'], IAccountManager::PROPERTY_TWITTER => ['value' => 'twitter'], + IAccountManager::PROPERTY_FEDIVERSE => ['value' => 'fediverse'], IAccountManager::PROPERTY_WEBSITE => ['value' => 'website'], IAccountManager::PROPERTY_ORGANISATION => ['value' => 'organisation'], IAccountManager::PROPERTY_ROLE => ['value' => 'role'], @@ -1214,6 +1217,7 @@ class UsersControllerTest extends TestCase { 'address' => 'address', 'website' => 'website', 'twitter' => 'twitter', + 'fediverse' => 'fediverse', 'groups' => [], 'language' => 'da', 'locale' => null, @@ -1364,6 +1368,7 @@ class UsersControllerTest extends TestCase { IAccountManager::PROPERTY_ADDRESS => ['value' => 'address'], IAccountManager::PROPERTY_PHONE => ['value' => 'phone'], IAccountManager::PROPERTY_TWITTER => ['value' => 'twitter'], + IAccountManager::PROPERTY_FEDIVERSE => ['value' => 'fediverse'], IAccountManager::PROPERTY_WEBSITE => ['value' => 'website'], IAccountManager::PROPERTY_ORGANISATION => ['value' => 'organisation'], IAccountManager::PROPERTY_ROLE => ['value' => 'role'], @@ -1391,6 +1396,7 @@ class UsersControllerTest extends TestCase { 'address' => 'address', 'website' => 'website', 'twitter' => 'twitter', + 'fediverse' => 'fediverse', 'groups' => [], 'language' => 'ru', 'locale' => null, @@ -1582,6 +1588,7 @@ class UsersControllerTest extends TestCase { public function selfEditChangePropertyProvider() { return [ [IAccountManager::PROPERTY_TWITTER, '@oldtwitter', '@newtwitter'], + [IAccountManager::PROPERTY_FEDIVERSE, '@oldFediverse@floss.social', '@newFediverse@floss.social'], [IAccountManager::PROPERTY_PHONE, '1234', '12345'], [IAccountManager::PROPERTY_ADDRESS, 'Something street 2', 'Another street 3'], [IAccountManager::PROPERTY_WEBSITE, 'https://examplesite1', 'https://examplesite2'], @@ -1658,6 +1665,7 @@ class UsersControllerTest extends TestCase { [IAccountManager::PROPERTY_DISPLAYNAME, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED], [IAccountManager::PROPERTY_EMAIL, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED], [IAccountManager::PROPERTY_TWITTER, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED], + [IAccountManager::PROPERTY_FEDIVERSE, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED], [IAccountManager::PROPERTY_PHONE, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED], [IAccountManager::PROPERTY_ADDRESS, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED], [IAccountManager::PROPERTY_WEBSITE, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED], @@ -3543,6 +3551,7 @@ class UsersControllerTest extends TestCase { 'address' => 'address', 'website' => 'website', 'twitter' => 'twitter', + 'fediverse' => 'fediverse', 'organisation' => 'organisation', 'role' => 'role', 'headline' => 'headline', @@ -3560,6 +3569,7 @@ class UsersControllerTest extends TestCase { 'address' => 'address', 'website' => 'website', 'twitter' => 'twitter', + 'fediverse' => 'fediverse', 'organisation' => 'organisation', 'role' => 'role', 'headline' => 'headline', @@ -3622,6 +3632,7 @@ class UsersControllerTest extends TestCase { 'address' => 'address', 'website' => 'website', 'twitter' => 'twitter', + 'fediverse' => 'fediverse', 'displayname' => 'Demo User', 'organisation' => 'organisation', 'role' => 'role', @@ -3946,6 +3957,7 @@ class UsersControllerTest extends TestCase { IAccountManager::PROPERTY_ADDRESS, IAccountManager::PROPERTY_WEBSITE, IAccountManager::PROPERTY_TWITTER, + IAccountManager::PROPERTY_FEDIVERSE, IAccountManager::PROPERTY_ORGANISATION, IAccountManager::PROPERTY_ROLE, IAccountManager::PROPERTY_HEADLINE, @@ -3960,6 +3972,7 @@ class UsersControllerTest extends TestCase { IAccountManager::PROPERTY_ADDRESS, IAccountManager::PROPERTY_WEBSITE, IAccountManager::PROPERTY_TWITTER, + IAccountManager::PROPERTY_FEDIVERSE, IAccountManager::PROPERTY_ORGANISATION, IAccountManager::PROPERTY_ROLE, IAccountManager::PROPERTY_HEADLINE, @@ -3973,6 +3986,7 @@ class UsersControllerTest extends TestCase { IAccountManager::PROPERTY_ADDRESS, IAccountManager::PROPERTY_WEBSITE, IAccountManager::PROPERTY_TWITTER, + IAccountManager::PROPERTY_FEDIVERSE, IAccountManager::PROPERTY_ORGANISATION, IAccountManager::PROPERTY_ROLE, IAccountManager::PROPERTY_HEADLINE, diff --git a/apps/settings/appinfo/info.xml b/apps/settings/appinfo/info.xml index 9cb489ff0f3..310d2902510 100644 --- a/apps/settings/appinfo/info.xml +++ b/apps/settings/appinfo/info.xml @@ -38,6 +38,7 @@ <personal>OCA\Settings\Settings\Personal\Security\TwoFactor</personal> <personal>OCA\Settings\Settings\Personal\Security\WebAuthn</personal> <personal-section>OCA\Settings\Sections\Personal\Availability</personal-section> + <personal-section>OCA\Settings\Sections\Personal\Calendar</personal-section> <personal-section>OCA\Settings\Sections\Personal\PersonalInfo</personal-section> <personal-section>OCA\Settings\Sections\Personal\Security</personal-section> <personal-section>OCA\Settings\Sections\Personal\SyncClients</personal-section> diff --git a/apps/settings/composer/composer/autoload_classmap.php b/apps/settings/composer/composer/autoload_classmap.php index f45aae3eb80..32de1ff6d2a 100644 --- a/apps/settings/composer/composer/autoload_classmap.php +++ b/apps/settings/composer/composer/autoload_classmap.php @@ -49,6 +49,7 @@ return array( 'OCA\\Settings\\Sections\\Admin\\Server' => $baseDir . '/../lib/Sections/Admin/Server.php', 'OCA\\Settings\\Sections\\Admin\\Sharing' => $baseDir . '/../lib/Sections/Admin/Sharing.php', 'OCA\\Settings\\Sections\\Personal\\Availability' => $baseDir . '/../lib/Sections/Personal/Availability.php', + 'OCA\\Settings\\Sections\\Personal\\Calendar' => $baseDir . '/../lib/Sections/Personal/Calendar.php', 'OCA\\Settings\\Sections\\Personal\\PersonalInfo' => $baseDir . '/../lib/Sections/Personal/PersonalInfo.php', 'OCA\\Settings\\Sections\\Personal\\Security' => $baseDir . '/../lib/Sections/Personal/Security.php', 'OCA\\Settings\\Sections\\Personal\\SyncClients' => $baseDir . '/../lib/Sections/Personal/SyncClients.php', diff --git a/apps/settings/composer/composer/autoload_static.php b/apps/settings/composer/composer/autoload_static.php index f353d007bb5..57235766a7c 100644 --- a/apps/settings/composer/composer/autoload_static.php +++ b/apps/settings/composer/composer/autoload_static.php @@ -64,6 +64,7 @@ class ComposerStaticInitSettings 'OCA\\Settings\\Sections\\Admin\\Server' => __DIR__ . '/..' . '/../lib/Sections/Admin/Server.php', 'OCA\\Settings\\Sections\\Admin\\Sharing' => __DIR__ . '/..' . '/../lib/Sections/Admin/Sharing.php', 'OCA\\Settings\\Sections\\Personal\\Availability' => __DIR__ . '/..' . '/../lib/Sections/Personal/Availability.php', + 'OCA\\Settings\\Sections\\Personal\\Calendar' => __DIR__ . '/..' . '/../lib/Sections/Personal/Calendar.php', 'OCA\\Settings\\Sections\\Personal\\PersonalInfo' => __DIR__ . '/..' . '/../lib/Sections/Personal/PersonalInfo.php', 'OCA\\Settings\\Sections\\Personal\\Security' => __DIR__ . '/..' . '/../lib/Sections/Personal/Security.php', 'OCA\\Settings\\Sections\\Personal\\SyncClients' => __DIR__ . '/..' . '/../lib/Sections/Personal/SyncClients.php', diff --git a/apps/settings/composer/composer/installed.php b/apps/settings/composer/composer/installed.php index 392b697de87..ee1748532a9 100644 --- a/apps/settings/composer/composer/installed.php +++ b/apps/settings/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => 'a66c80135de5b21d8ad48218b96a90eefde0fc7f', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => 'a66c80135de5b21d8ad48218b96a90eefde0fc7f', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/settings/css/settings.css b/apps/settings/css/settings.css index 60360033227..4600d0ccaaa 100644 --- a/apps/settings/css/settings.css +++ b/apps/settings/css/settings.css @@ -102,8 +102,7 @@ input#openid, input#webdav { .profile-settings-container { display: inline-grid; - grid-template-columns: 1fr; - grid-template-rows: 1fr 1fr 1fr 2fr; + grid-template-columns: 1fr 1fr 1fr; } .personal-show-container { @@ -119,6 +118,15 @@ input#openid, input#webdav { .personal-settings-setting-box .section input[type=text], .personal-settings-setting-box .section input[type=email], .personal-settings-setting-box .section input[type=tel], .personal-settings-setting-box .section input[type=url] { width: 100%; } +.personal-settings-setting-box-profile { + grid-row: 3/5; +} +.personal-settings-setting-box-detail { + grid-row: 5; +} +.personal-settings-setting-box-detail--without-profile { + grid-row: 3; +} select#timezone { width: 100%; @@ -127,8 +135,8 @@ select#timezone { #personal-settings { display: grid; padding: 20px; - max-width: 1500px; - grid-template-columns: 1fr 2fr 1fr; + max-width: 1700px; + grid-template-columns: 1fr 1fr 1fr 1fr; } #personal-settings .section { padding: 10px 10px; @@ -178,63 +186,27 @@ select#timezone { background-position: 24px; } -@media (min-width: 1200px) and (max-width: 1400px) { +@media (min-width: 1400px) and (max-width: 1700px) { #personal-settings { display: grid; - grid-template-columns: 1fr 2fr; - } - #personal-settings #personal-settings-avatar-container { - grid-template-columns: 1fr; - grid-template-rows: 1fr; - } - #personal-settings .personal-settings-container { - grid-template-columns: 1fr 1fr; - grid-template-rows: 1fr 1fr 1fr 1fr; - } - #personal-settings .profile-settings-container { - grid-template-columns: 1fr 1fr; - grid-template-rows: 1fr; - grid-column: 2; + grid-template-columns: 1fr 1fr 1fr; } } -@media (max-width: 1200px) { +@media (min-width: 800px) and (max-width: 1400px) { #personal-settings { display: grid; - grid-template-columns: 1fr; - } - #personal-settings #personal-settings-avatar-container { - grid-template-rows: 1fr; - } - #personal-settings .personal-settings-container { - grid-template-columns: 1fr 1fr; - grid-template-rows: 1fr 1fr 1fr 1fr; - } - #personal-settings .profile-settings-container { grid-template-columns: 1fr 1fr; - grid-template-rows: 1fr; } } -@media (max-width: 560px) { +@media (max-width: 800px) { #personal-settings { display: grid; grid-template-columns: 1fr; } - #personal-settings #personal-settings-avatar-container { - grid-template-rows: 1fr; - } - #personal-settings .personal-settings-container { - grid-template-columns: 1fr; - grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr; - } - #personal-settings .profile-settings-container { - grid-template-columns: 1fr; - grid-template-rows: 1fr 1fr; - } } .personal-settings-container { display: inline-grid; - grid-template-columns: 1fr 1fr; - grid-template-rows: 1fr 1fr 1fr 1fr 1fr; + grid-template-columns: 1fr 1fr 1fr; } .personal-settings-container:after { clear: both; @@ -1256,6 +1228,11 @@ doesnotexist:-o-prefocus, .strengthify-wrapper { #body-settings #app-content.user-list-grid .row:not(.row--editable).name, #body-settings #app-content.user-list-grid .row:not(.row--editable).password, #body-settings #app-content.user-list-grid .row:not(.row--editable).displayName, #body-settings #app-content.user-list-grid .row:not(.row--editable).mailAddress, #body-settings #app-content.user-list-grid .row:not(.row--editable).userBackend, #body-settings #app-content.user-list-grid .row:not(.row--editable).languages { overflow: hidden; } +#body-settings #app-content.user-list-grid .row:not(.row--editable) .groups, +#body-settings #app-content.user-list-grid .row:not(.row--editable) .subadmins { + overflow: auto; + max-height: 100%; +} #body-settings #app-content.user-list-grid .row .groups, #body-settings #app-content.user-list-grid .row .subadmins, #body-settings #app-content.user-list-grid .row .quota { @@ -1268,6 +1245,11 @@ doesnotexist:-o-prefocus, .strengthify-wrapper { color: var(--color-text-dark); vertical-align: baseline; } +#body-settings #app-content.user-list-grid .row .groups progress, +#body-settings #app-content.user-list-grid .row .subadmins progress, +#body-settings #app-content.user-list-grid .row .quota progress { + max-width: 95%; +} #body-settings #app-content.user-list-grid .row .obfuscated { width: 400px; opacity: 0.7; @@ -1280,6 +1262,9 @@ doesnotexist:-o-prefocus, .strengthify-wrapper { min-width: 88px; background-color: var(--color-main-background); } +#body-settings #app-content.user-list-grid .row.row--editable .userActions { + z-index: 10; +} #body-settings #app-content.user-list-grid .row .subtitle { color: var(--color-text-maxcontrast); vertical-align: baseline; @@ -1480,6 +1465,7 @@ doesnotexist:-o-prefocus, .strengthify-wrapper { #body-settings #app-content.user-list-grid .row > div .multiselect.multiselect-vue, #body-settings #app-content.user-list-grid .row > .displayName > form .multiselect.multiselect-vue, #body-settings #app-content.user-list-grid .row > form .multiselect.multiselect-vue { + min-width: 100%; width: 100%; } #body-settings #app-content.user-list-grid .infinite-loading-container { diff --git a/apps/settings/css/settings.css.map b/apps/settings/css/settings.css.map index 2cc339c7ff9..dda2fa9c696 100644 --- a/apps/settings/css/settings.css.map +++ b/apps/settings/css/settings.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","settings.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AD3CC;EACC;;;AAIF;AACA;EACC;;;AAGD;AACA;AC6CC;EAEA;;;AD3CD;ACyCC;EAEA;;;ADvCD;ACqCC;EAEA;;;ADnCD;ACiCC;EAEA;;;AD/BD;AC6BC;EAEA;;;AD3BD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAIA;EACC;;AAEA;EACC;;AAIA;EACC;;;AAOH;EACC;;;AAIF;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAEA;EACC;;AAIF;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;;AAMF;EACC;;AACA;EACC;;AACA;EACC;;;AAKH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGC;EACA;EACA;;AAGD;EACC;EACA;;;AAMF;EACC;IACC;IACA;;EAEA;IACC;IACA;;EAGD;IACC;IACA;;EAGD;IACC;IACA;IACA;;;AAKH;EACC;IACC;IACA;;EAEA;IACC;;EAGD;IACC;IACA;;EAGD;IACC;IACA;;;AAKH;EACC;IACC;IACA;;EAEA;IACC;;EAGD;IACC;IACA;;EAGD;IACC;IACA;;;AAKH;EACC;EACA;EACA;;AAEA;EACC;;AAIA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAKD;EACC;EACA;EACA;EACA;EACA;;AAKH;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIF;EACC;;AAGD;EACC;EACA;EACA;EACA;;;AAIF;AACA;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEC;EACA;;AAEA;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAIF;EACC;;AAGC;EAEC;EACA;;AAEA;EACC;;AAGD;EACC;;AAEA;EACC;;AAIF;EACC;EAEA;;AAEA;EACC;;;AAQN;EACC;;;AAIA;EACC;;AAGD;EACC;;;AAIF;AAAA;EAEC;;;AAGD;EACC;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;;AAMD;EACC;;AAGD;EACC;;;AAKD;EACC;EACA;EACA;EACA;;AACA;EACC;EACA;EACA;;AACA;EACC;;AAIF;EACC;EACA;EACA;;AAKA;EACC;EACA;;AAED;EACC;EACA;EACA;EACA;;AAIF;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKH;AAGC;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;;;AAIF;AAGC;EACC;EACA;EACA;EACA;;AAGD;EACC;;;AAKD;AAAA;EAEC;;;AAKD;AAAA;EAEC;;;AAIF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;;AAIF;AACA;EACC;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAKD;EACC;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAEA;EACC;;AAIF;EACC;;AAGD;EAEC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAIF;EACC;;AAGD;EACC;EACA;;;AAIF;EACC;;;AAGD;AACA;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AACC;;AACA;EACC;EACA;EACA;;AAGD;EACC;;AAIA;EACC;;AAIF;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAIF;EACC;EACA;EACA;;;AAIA;EACC;;;AAMD;EACC;;AAGD;EACC;EACA;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;;AAGD;EACC;;AAGD;EACC;;;AAMA;AAAA;EAEC;EACA;EACA;EACA;EACA;;AAIF;EACC;EACA;;AAEA;AAAA;EAEC;;AAGD;EACC;;AAIF;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;;AAEA;EACC;;AAIF;EACC;EACA;;AAGD;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAIF;EACC;IACC;;;EAED;IACC;;;AAIF;EACC;IACC;;;EAED;IACC;;;AAIF;EACC;IACC;;;EAED;IACC;;;AAIF;EACC;IACC;;;EAED;IACC;;;AAIF;EACC;IACC;;;AAIF;EACC;IACC;;;AAIF;AACA;EAEE;IACC;;;AAKH;EACC;IACC;;;AAIF;EACC;AACA;AAKA;;AAJA;EACC;;AAID;EACC;;AAEA;EACC;EACA;EACA;;;AAKH;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AAEA;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EAyGC;EACA;EACA;AAkDA;;AAzJA;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC,QAfgB;EAgBhB,SAjBiB;EAmBjB,cAlBgB;EAmBhB;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EAQC;;AAPA;EACC;EACA;EACA;EACA,YAjCe;;AAsChB;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAKF;EACC;;AAEA;EACC;;AAIF;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAEA;EACC;EACA;EACA;;AAKH;EACC;EACA;AACA;EACA;EACA;EACA;;AAOD;EACC;;AAGD;EACC;EACA;;AAEA;EACC;EACA;;AAGD;EACC;;AAKD;EACC;;AAGD;EACC;;AAGD;EACC;;AAEA;EACC;;AAKD;EACC;;AAKD;EACC;;AAMH;EACC;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAGD;EACC;;;AAQF;EACC;;;AAKH;AACA;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAOA;AAAA;AAAA;AAAA;EACC;;AAEA;AAAA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;AAAA;EACC;EACA;EACA;EACA;EACA;;AAGD;AAAA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;AAAA;EACC;;;AAMF;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;;;AAGD;EACC;;;AAGD;EACC;AACA;EACA;EACA;EACA;EACA;;;AAGD;AAEA;EACC;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;;;AAIA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;;;AAIF;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;;;AAIA;EACC;EACA;;AAGD;EACC;;AAGD;EACC;EACA;;;AAKF;AACA;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAIA;EACC;EACA;;AAEA;EACC;;AAGD;EACC;;AAIF;EACC;EACA;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;;;AAKD;EACC;;AAGD;EACC;;;AAIF;EACC;;AAEA;EACC;EACA;;;AAIF;EACC;;;AAGD;EACC;EACA;EACA;;;AAID;AAKC;EACC;EACA;EACA;;AAEA;EAGC;EACA;EACA,YAbgB;EAchB;EACA;EACA;AACA;AAAA;EAEA,uBACE;EAOF;AAMA;AA0DA;;AA9DA;EACC;;AAID;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOC,WAxCkB;;AA0ClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;EACA;EACA;;AAID;EAMC;;AAIF;AAAA;AAAA;EAGC,WA9DkB;;AAgElB;AAAA;AAAA;EACC;EACA;EACA;;AAIF;EACC;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;;AAID;EACC;EACA;EACA;EACA;AAAc;EACd;;AAEA;EACC;;AAIF;EACC;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUC;EACA;EACA;EACA;EACA;;AAKD;EACC;;AAGD;EACC;;AAIF;EACC;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;EACA;AAaA;AA+GA;;AA1HA;AAAA;AAAA;EACC;EACA;;AAIA;AAAA;AAAA;AAAA;AAAA;EACC;;AAKF;AAAA;AAAA;EACC;EACA;;AAGD;AAAA;AAAA;EACC;;AAKA;AAAA;AAAA;AAAA;AAAA;EACC;EACA;;AAIF;AAAA;AAAA;AAAA;AAAA;AAEC;EACA;EACA;EACA;AACA;AAAA;AAAA;EAGA;EACA;EACA;EACA;;AAGD;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EACC;EACA;EACA;;AAIF;AAAA;AAAA;EACC;EACA;;AAEA;AAAA;AAAA;EACC;;AAIF;AAAA;AAAA;EACC;EACA;EACA;;AAEA;AAAA;AAAA;EACC;;AAIF;AAAA;AAAA;EACC;EACA;;AAEA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGC;EACA;;AAKH;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EACC;EACA;;AAMH;AAAA;AAAA;EACC;;AAKH;EACC;EACA;EACA;EACA;;AAGD;EACC;EACA;;;AAKH;EACI;;;AAGJ;EACE;IACE;;;AAGJ;EACE;IACE","file":"settings.css"}
\ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","settings.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AD3CC;EACC;;;AAIF;AACA;EACC;;;AAGD;AACA;AC6CC;EAEA;;;AD3CD;ACyCC;EAEA;;;ADvCD;ACqCC;EAEA;;;ADnCD;ACiCC;EAEA;;;AD/BD;AC6BC;EAEA;;;AD3BD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;;;AAIA;EACC;;AAEA;EACC;;AAIA;EACC;;AAKH;EACC;;AAGD;EACC;;AAED;EACC;;;AAKD;EACC;;;AAIF;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAEA;EACC;;AAIF;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;;AAMF;EACC;;AACA;EACC;;AACA;EACC;;;AAKH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGC;EACA;EACA;;AAGD;EACC;EACA;;;AAIF;EACC;IACC;IACA;;;AAIF;EACC;IACC;IACA;;;AAIF;EACC;IACC;IACA;;;AAIF;EACC;EACA;;AAEA;EACC;;AAIA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAKD;EACC;EACA;EACA;EACA;EACA;;AAKH;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIF;EACC;;AAGD;EACC;EACA;EACA;EACA;;;AAIF;AACA;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEC;EACA;;AAEA;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAIF;EACC;;AAGC;EAEC;EACA;;AAEA;EACC;;AAGD;EACC;;AAEA;EACC;;AAIF;EACC;EAEA;;AAEA;EACC;;;AAQN;EACC;;;AAIA;EACC;;AAGD;EACC;;;AAIF;AAAA;EAEC;;;AAGD;EACC;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;;AAMD;EACC;;AAGD;EACC;;;AAKD;EACC;EACA;EACA;EACA;;AACA;EACC;EACA;EACA;;AACA;EACC;;AAIF;EACC;EACA;EACA;;AAKA;EACC;EACA;;AAED;EACC;EACA;EACA;EACA;;AAIF;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKH;AAGC;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;;;AAIF;AAGC;EACC;EACA;EACA;EACA;;AAGD;EACC;;;AAKD;AAAA;EAEC;;;AAKD;AAAA;EAEC;;;AAIF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;;AAIF;AACA;EACC;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAKD;EACC;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAEA;EACC;;AAIF;EACC;;AAGD;EAEC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAIF;EACC;;AAGD;EACC;EACA;;;AAIF;EACC;;;AAGD;AACA;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AACC;;AACA;EACC;EACA;EACA;;AAGD;EACC;;AAIA;EACC;;AAIF;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAIF;EACC;EACA;EACA;;;AAIA;EACC;;;AAMD;EACC;;AAGD;EACC;EACA;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;;AAGD;EACC;;AAGD;EACC;;;AAMA;AAAA;EAEC;EACA;EACA;EACA;EACA;;AAIF;EACC;EACA;;AAEA;AAAA;EAEC;;AAGD;EACC;;AAIF;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;;AAEA;EACC;;AAIF;EACC;EACA;;AAGD;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAIF;EACC;IACC;;;EAED;IACC;;;AAIF;EACC;IACC;;;EAED;IACC;;;AAIF;EACC;IACC;;;EAED;IACC;;;AAIF;EACC;IACC;;;EAED;IACC;;;AAIF;EACC;IACC;;;AAIF;EACC;IACC;;;AAIF;AACA;EAEE;IACC;;;AAKH;EACC;IACC;;;AAIF;EACC;AACA;AAKA;;AAJA;EACC;;AAID;EACC;;AAEA;EACC;EACA;EACA;;;AAKH;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AAEA;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EAyGC;EACA;EACA;AAkDA;;AAzJA;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC,QAfgB;EAgBhB,SAjBiB;EAmBjB,cAlBgB;EAmBhB;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EAQC;;AAPA;EACC;EACA;EACA;EACA,YAjCe;;AAsChB;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAKF;EACC;;AAEA;EACC;;AAIF;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAEA;EACC;EACA;EACA;;AAKH;EACC;EACA;AACA;EACA;EACA;EACA;;AAOD;EACC;;AAGD;EACC;EACA;;AAEA;EACC;EACA;;AAGD;EACC;;AAKD;EACC;;AAGD;EACC;;AAGD;EACC;;AAEA;EACC;;AAKD;EACC;;AAKD;EACC;;AAMH;EACC;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAGD;EACC;;;AAQF;EACC;;;AAKH;AACA;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAOA;AAAA;AAAA;AAAA;EACC;;AAEA;AAAA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;AAAA;EACC;EACA;EACA;EACA;EACA;;AAGD;AAAA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;AAAA;EACC;;;AAMF;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;;;AAGD;EACC;;;AAGD;EACC;AACA;EACA;EACA;EACA;EACA;;;AAGD;AAEA;EACC;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;;;AAIA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;;;AAIF;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;;;AAIA;EACC;EACA;;AAGD;EACC;;AAGD;EACC;EACA;;;AAKF;AACA;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAIA;EACC;EACA;;AAEA;EACC;;AAGD;EACC;;AAIF;EACC;EACA;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;;;AAKD;EACC;;AAGD;EACC;;;AAIF;EACC;;AAEA;EACC;EACA;;;AAIF;EACC;;;AAGD;EACC;EACA;EACA;;;AAID;AAKC;EACC;EACA;EACA;;AAEA;EAGC;EACA;EACA,YAbgB;EAchB;EACA;EACA;AACA;AAAA;EAEA,uBACE;EAOF;AAMA;AA4EA;;AAhFA;EACC;;AAID;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOC,WAxCkB;;AA0ClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;EACA;EACA;;AAKD;EAMC;;AAMD;AAAA;EAEC;EACA;;AAIF;AAAA;AAAA;EAGC,WAxEkB;;AA0ElB;AAAA;AAAA;EACC;EACA;EACA;;AAGD;AAAA;AAAA;EACC;;AAIF;EACC;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAGD;EACC;EACA;;AAID;EACC;EACA;EACA;EACA;AAAc;EACd;;AAEA;EACC;;AAIF;EACC;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUC;EACA;EACA;EACA;EACA;;AAKD;EACC;;AAGD;EACC;;AAIF;EACC;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;EACA;AAaA;AA+GA;;AA1HA;AAAA;AAAA;EACC;EACA;;AAIA;AAAA;AAAA;AAAA;AAAA;EACC;;AAKF;AAAA;AAAA;EACC;EACA;;AAGD;AAAA;AAAA;EACC;;AAKA;AAAA;AAAA;AAAA;AAAA;EACC;EACA;;AAIF;AAAA;AAAA;AAAA;AAAA;AAEC;EACA;EACA;EACA;AACA;AAAA;AAAA;EAGA;EACA;EACA;EACA;;AAGD;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EACC;EACA;EACA;;AAIF;AAAA;AAAA;EACC;EACA;;AAEA;AAAA;AAAA;EACC;;AAIF;AAAA;AAAA;EACC;EACA;EACA;;AAEA;AAAA;AAAA;EACC;;AAIF;AAAA;AAAA;EACC;EACA;;AAEA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGC;EACA;;AAKH;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EACC;EACA;;AAMH;AAAA;AAAA;EACC;EACA;;AAKH;EACC;EACA;EACA;EACA;;AAGD;EACC;EACA;;;AAKH;EACI;;;AAGJ;EACE;IACE;;;AAGJ;EACE;IACE","file":"settings.css"}
\ No newline at end of file diff --git a/apps/settings/css/settings.scss b/apps/settings/css/settings.scss index 7ce414878fd..8cbc07f2773 100644 --- a/apps/settings/css/settings.scss +++ b/apps/settings/css/settings.scss @@ -45,8 +45,7 @@ input { .profile-settings-container { display: inline-grid; - grid-template-columns: 1fr; - grid-template-rows: 1fr 1fr 1fr 2fr; + grid-template-columns: 1fr 1fr 1fr; } .personal-show-container { @@ -67,6 +66,17 @@ input { } } } + + &-profile { + grid-row: 3/5; + } + + &-detail { + grid-row: 5; + } + &-detail--without-profile { + grid-row: 3; + } } select { @@ -78,8 +88,8 @@ select { #personal-settings { display: grid; padding: 20px; - max-width: 1500px; - grid-template-columns: 1fr 2fr 1fr; + max-width: 1700px; + grid-template-columns: 1fr 1fr 1fr 1fr; .section { padding: 10px 10px; @@ -139,77 +149,30 @@ select { } } - - -@media (min-width: 1200px) and (max-width: 1400px) { +@media (min-width: 1400px) and (max-width: 1700px) { #personal-settings { display: grid; - grid-template-columns: 1fr 2fr; - - #personal-settings-avatar-container { - grid-template-columns: 1fr; - grid-template-rows: 1fr; - } - - .personal-settings-container { - grid-template-columns: 1fr 1fr; - grid-template-rows: 1fr 1fr 1fr 1fr; - } - - .profile-settings-container { - grid-template-columns: 1fr 1fr; - grid-template-rows: 1fr; - grid-column: 2; - } + grid-template-columns: 1fr 1fr 1fr; } } -@media (max-width: 1200px) { +@media (min-width: 800px) and (max-width: 1400px) { #personal-settings { display: grid; - grid-template-columns: 1fr; - - #personal-settings-avatar-container { - grid-template-rows: 1fr; - } - - .personal-settings-container { - grid-template-columns: 1fr 1fr; - grid-template-rows: 1fr 1fr 1fr 1fr; - } - - .profile-settings-container { - grid-template-columns: 1fr 1fr; - grid-template-rows: 1fr; - } + grid-template-columns: 1fr 1fr; } } -@media (max-width: 560px) { +@media (max-width: 800px) { #personal-settings { display: grid; grid-template-columns: 1fr; - - #personal-settings-avatar-container { - grid-template-rows: 1fr; - } - - .personal-settings-container { - grid-template-columns: 1fr; - grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr; - } - - .profile-settings-container { - grid-template-columns: 1fr; - grid-template-rows: 1fr 1fr; - } } } .personal-settings-container { display: inline-grid; - grid-template-columns: 1fr 1fr; - grid-template-rows: 1fr 1fr 1fr 1fr 1fr; + grid-template-columns: 1fr 1fr 1fr; &:after { clear: both; @@ -1421,6 +1384,7 @@ doesnotexist:-o-prefocus, .strengthify-wrapper { text-overflow: ellipsis; } } + &:not(.row--editable) { &.name, &.password, @@ -1432,6 +1396,15 @@ doesnotexist:-o-prefocus, .strengthify-wrapper { } } + // Scroll if too much groups + &:not(.row--editable) { + .groups, + .subadmins { + overflow: auto; + max-height: 100%; + } + } + .groups, .subadmins, .quota { @@ -1442,6 +1415,10 @@ doesnotexist:-o-prefocus, .strengthify-wrapper { color: var(--color-text-dark); vertical-align: baseline; } + + progress { + max-width: 95%; + } } .obfuscated { @@ -1458,6 +1435,10 @@ doesnotexist:-o-prefocus, .strengthify-wrapper { background-color: var(--color-main-background); } + &.row--editable .userActions { + z-index: 10; + } + .subtitle { color: var(--color-text-maxcontrast); vertical-align: baseline; @@ -1644,6 +1625,7 @@ doesnotexist:-o-prefocus, .strengthify-wrapper { /* Fill the grid cell */ .multiselect.multiselect-vue { + min-width: 100%; width: 100%; } } diff --git a/apps/settings/l10n/af.js b/apps/settings/l10n/af.js index 04a7e5b54a5..4b4391ee002 100644 --- a/apps/settings/l10n/af.js +++ b/apps/settings/l10n/af.js @@ -22,6 +22,8 @@ OC.L10N.register( "Wrong password" : "Verkeerde wagwoord", "Saved" : "Bewaar", "No user supplied" : "Geen gebruiker verskaf nie", + "Administrator documentation" : "Administrateurdokumentasie", + "User documentation" : "Gebruikerdokumentasie", "Well done, %s!" : "Welgedaan %s!", "Invalid user" : "Ongeldige gebruiker", "Invalid mail address" : "Ongeldige posadres", @@ -30,6 +32,7 @@ OC.L10N.register( "Apps" : "Toeps", "Settings" : "Instellings", "Personal" : "Persoonlik", + "Calendar" : "Kalender", "Personal info" : "Persoonlike inligting", "Create" : "Skep", "Delete" : "Skrap", @@ -42,7 +45,6 @@ OC.L10N.register( "Disable" : "Deaktiveer", "View in store" : "Bekyk in winkel", "Visit website" : "Besoek webwerf", - "User documentation" : "Gebruikerdokumentasie", "Admin documentation" : "Admindokumentasie", "Developer documentation" : "Ontwikkelaardokumentasie", "Rename" : "Hernoem", @@ -78,9 +80,6 @@ OC.L10N.register( "Default quota" : "Verstekkwota", "Unnamed device" : "Onbenoemde toestel", "Your apps" : "U toeps", - "Disabled apps" : "Gedeaktiveerde toeps", - "Updates" : "Bywerkings", - "App bundles" : "Toepbundels", "Changelog" : "Veranderingslog", "Active users" : "Aktiewe gebruikers", "Send email to new user" : "Stuur e-pos aan nuwe gebruiker", @@ -92,8 +91,10 @@ OC.L10N.register( "Phone number" : "Foonnommer", "Twitter" : "Twitter", "Website" : "Webwerf", + "Disabled apps" : "Gedeaktiveerde toeps", + "Updates" : "Bywerkings", + "App bundles" : "Toepbundels", "Never" : "Nooit", - "Administrator documentation" : "Administrateurdokumentasie", "Documentation" : "Dokumentasie", "Forum" : "Forum", "Login" : "Teken aan", diff --git a/apps/settings/l10n/af.json b/apps/settings/l10n/af.json index 05d87b9c77b..6ef2d4a633c 100644 --- a/apps/settings/l10n/af.json +++ b/apps/settings/l10n/af.json @@ -20,6 +20,8 @@ "Wrong password" : "Verkeerde wagwoord", "Saved" : "Bewaar", "No user supplied" : "Geen gebruiker verskaf nie", + "Administrator documentation" : "Administrateurdokumentasie", + "User documentation" : "Gebruikerdokumentasie", "Well done, %s!" : "Welgedaan %s!", "Invalid user" : "Ongeldige gebruiker", "Invalid mail address" : "Ongeldige posadres", @@ -28,6 +30,7 @@ "Apps" : "Toeps", "Settings" : "Instellings", "Personal" : "Persoonlik", + "Calendar" : "Kalender", "Personal info" : "Persoonlike inligting", "Create" : "Skep", "Delete" : "Skrap", @@ -40,7 +43,6 @@ "Disable" : "Deaktiveer", "View in store" : "Bekyk in winkel", "Visit website" : "Besoek webwerf", - "User documentation" : "Gebruikerdokumentasie", "Admin documentation" : "Admindokumentasie", "Developer documentation" : "Ontwikkelaardokumentasie", "Rename" : "Hernoem", @@ -76,9 +78,6 @@ "Default quota" : "Verstekkwota", "Unnamed device" : "Onbenoemde toestel", "Your apps" : "U toeps", - "Disabled apps" : "Gedeaktiveerde toeps", - "Updates" : "Bywerkings", - "App bundles" : "Toepbundels", "Changelog" : "Veranderingslog", "Active users" : "Aktiewe gebruikers", "Send email to new user" : "Stuur e-pos aan nuwe gebruiker", @@ -90,8 +89,10 @@ "Phone number" : "Foonnommer", "Twitter" : "Twitter", "Website" : "Webwerf", + "Disabled apps" : "Gedeaktiveerde toeps", + "Updates" : "Bywerkings", + "App bundles" : "Toepbundels", "Never" : "Nooit", - "Administrator documentation" : "Administrateurdokumentasie", "Documentation" : "Dokumentasie", "Forum" : "Forum", "Login" : "Teken aan", diff --git a/apps/settings/l10n/ar.js b/apps/settings/l10n/ar.js index 5e33e036ff3..2fc9711bb68 100644 --- a/apps/settings/l10n/ar.js +++ b/apps/settings/l10n/ar.js @@ -31,6 +31,8 @@ OC.L10N.register( "Authentication error" : "لم يتم التأكد من الشخصية بنجاح", "Wrong admin recovery password. Please check the password and try again." : "خطا في كلمة مرور المسؤول المستردة, يرجى التاكد من كلمة المرور والمحاولة مرة اخرى.", "Federated Cloud Sharing" : "المشاركة السحابية الموحّدة", + "Administrator documentation" : "دليل المدير", + "User documentation" : "دليل المستخدم", "Invalid SMTP password." : "كلمة مرور SMTP خاطئة.", "Email setting test" : "تجريب إعدادات البريد الإلكتروني", "Well done, %s!" : "حسنًا فعلت، %s !", @@ -55,6 +57,7 @@ OC.L10N.register( "Overview" : "نظرة شاملة", "Basic settings" : "الإعدادات الأساسية", "Sharing" : "مشاركة", + "Calendar" : "التقويم", "Personal info" : "المعلومات الشخصية", "Mobile & desktop" : "الجوال وسطح المكتب", "Email server" : "خادوم البريد", @@ -83,7 +86,6 @@ OC.L10N.register( "View in store" : "العرض على المتجر", "Visit website" : "زر الموقع", "Report a bug" : "الإبلاغ عن عِلّة", - "User documentation" : "دليل المستخدم", "Admin documentation" : "دليل المدير", "Developer documentation" : "دليل المُطوّر", "Featured" : "مميزة", @@ -157,10 +159,6 @@ OC.L10N.register( "Name your device" : "اسم جهازك", "Your browser does not support WebAuthn." : "متصفحك لا يدعم WebAuthn.", "Your apps" : "تطبيقاتك", - "Active apps" : "التطبيقات النشطة", - "Disabled apps" : "التطبيقات المعطلة", - "Updates" : "التحديثات", - "App bundles" : "حُزَم التطبيقات", "Changelog" : "سجل التغييرات", "Add group" : "إضافة فريق", "Active users" : "المستخدمون النشطون", @@ -180,9 +178,12 @@ OC.L10N.register( "Role" : "الدور", "Twitter" : "تويتر", "Website" : "موقع الويب", + "Active apps" : "التطبيقات النشطة", + "Disabled apps" : "التطبيقات المعطلة", + "Updates" : "التحديثات", + "App bundles" : "حُزَم التطبيقات", "Hide" : "إخفاء", "Never" : "أبدا", - "Administrator documentation" : "دليل المدير", "Documentation" : "الدليل", "Forum" : "منتدى", "Login" : "تسجيل الدخول", diff --git a/apps/settings/l10n/ar.json b/apps/settings/l10n/ar.json index 1f9d065fa83..90fab5f8250 100644 --- a/apps/settings/l10n/ar.json +++ b/apps/settings/l10n/ar.json @@ -29,6 +29,8 @@ "Authentication error" : "لم يتم التأكد من الشخصية بنجاح", "Wrong admin recovery password. Please check the password and try again." : "خطا في كلمة مرور المسؤول المستردة, يرجى التاكد من كلمة المرور والمحاولة مرة اخرى.", "Federated Cloud Sharing" : "المشاركة السحابية الموحّدة", + "Administrator documentation" : "دليل المدير", + "User documentation" : "دليل المستخدم", "Invalid SMTP password." : "كلمة مرور SMTP خاطئة.", "Email setting test" : "تجريب إعدادات البريد الإلكتروني", "Well done, %s!" : "حسنًا فعلت، %s !", @@ -53,6 +55,7 @@ "Overview" : "نظرة شاملة", "Basic settings" : "الإعدادات الأساسية", "Sharing" : "مشاركة", + "Calendar" : "التقويم", "Personal info" : "المعلومات الشخصية", "Mobile & desktop" : "الجوال وسطح المكتب", "Email server" : "خادوم البريد", @@ -81,7 +84,6 @@ "View in store" : "العرض على المتجر", "Visit website" : "زر الموقع", "Report a bug" : "الإبلاغ عن عِلّة", - "User documentation" : "دليل المستخدم", "Admin documentation" : "دليل المدير", "Developer documentation" : "دليل المُطوّر", "Featured" : "مميزة", @@ -155,10 +157,6 @@ "Name your device" : "اسم جهازك", "Your browser does not support WebAuthn." : "متصفحك لا يدعم WebAuthn.", "Your apps" : "تطبيقاتك", - "Active apps" : "التطبيقات النشطة", - "Disabled apps" : "التطبيقات المعطلة", - "Updates" : "التحديثات", - "App bundles" : "حُزَم التطبيقات", "Changelog" : "سجل التغييرات", "Add group" : "إضافة فريق", "Active users" : "المستخدمون النشطون", @@ -178,9 +176,12 @@ "Role" : "الدور", "Twitter" : "تويتر", "Website" : "موقع الويب", + "Active apps" : "التطبيقات النشطة", + "Disabled apps" : "التطبيقات المعطلة", + "Updates" : "التحديثات", + "App bundles" : "حُزَم التطبيقات", "Hide" : "إخفاء", "Never" : "أبدا", - "Administrator documentation" : "دليل المدير", "Documentation" : "الدليل", "Forum" : "منتدى", "Login" : "تسجيل الدخول", diff --git a/apps/settings/l10n/ast.js b/apps/settings/l10n/ast.js index f105abb015e..1472ff545fd 100644 --- a/apps/settings/l10n/ast.js +++ b/apps/settings/l10n/ast.js @@ -29,6 +29,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Apurri una contraseña de recuperación d'alministrador, d'otramiente perderánse tolos datos d'usuariu.", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación d'alministrador incorreuta. Comprueba la contraseña y volvi tentalo.", "Federated Cloud Sharing" : "Compartición de ñube federada", + "Administrator documentation" : "Documentación d'alministrador", + "User documentation" : "Documentación d'usuariu", "Invalid SMTP password." : "Contraseña SMTP non válida", "Well done, %s!" : "¡Bien fecho, %s!", "If you received this email, the email configuration seems to be correct." : "Si recibes esti corréu, entós la configuración de corréu paez tar bien.", @@ -63,6 +65,7 @@ OC.L10N.register( "Additional settings" : "Axustes adicionales", "Basic settings" : "Axustes básicos", "Sharing" : "Compartiendo", + "Calendar" : "Calendariu", "Personal info" : "Información personal", "Email server" : "Sirvidor de corréu", "Security & setup warnings" : "Alvertancies de seguranza y configuración", @@ -83,7 +86,6 @@ OC.L10N.register( "View in store" : "Ver na tienda", "Visit website" : "Visitar sitiu web", "Report a bug" : "Informar un fallu", - "User documentation" : "Documentación d'usuariu", "Developer documentation" : "Documentación de desendolcaores", "Featured" : "Destacao", "No apps found for your version" : "Nun s'alcontraron anovamientos pa la to versión", @@ -141,9 +143,6 @@ OC.L10N.register( "Default quota" : "Cuota por defeutu", "Unnamed device" : "Preséu ensin nomar", "Your apps" : "Les tos aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitaes", - "Updates" : "Anovamientos", - "App bundles" : "Llotes d'aplicaciones", "Changelog" : "Rexistru de cambeos", "Add group" : "Amestar grupu", "Active users" : "Usuarios activos", @@ -161,10 +160,12 @@ OC.L10N.register( "Phone number" : "Númberu de teléfonu", "Twitter" : "Twitter", "Website" : "Sitiu web", + "Disabled apps" : "Aplicaciones deshabilitaes", + "Updates" : "Anovamientos", + "App bundles" : "Llotes d'aplicaciones", "Hide" : "Anubrir", "Never" : "Enxamás", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Habilitóse l'aplicación pero precisa anovase. Redirixirásete a la páxina d'anovamientu en 5 segundos.", - "Administrator documentation" : "Documentación d'alministrador", "Documentation" : "Documentación", "Forum" : "Foru", "Login" : "Entamar sesión", diff --git a/apps/settings/l10n/ast.json b/apps/settings/l10n/ast.json index a03d3539acd..8d85618811c 100644 --- a/apps/settings/l10n/ast.json +++ b/apps/settings/l10n/ast.json @@ -27,6 +27,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Apurri una contraseña de recuperación d'alministrador, d'otramiente perderánse tolos datos d'usuariu.", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación d'alministrador incorreuta. Comprueba la contraseña y volvi tentalo.", "Federated Cloud Sharing" : "Compartición de ñube federada", + "Administrator documentation" : "Documentación d'alministrador", + "User documentation" : "Documentación d'usuariu", "Invalid SMTP password." : "Contraseña SMTP non válida", "Well done, %s!" : "¡Bien fecho, %s!", "If you received this email, the email configuration seems to be correct." : "Si recibes esti corréu, entós la configuración de corréu paez tar bien.", @@ -61,6 +63,7 @@ "Additional settings" : "Axustes adicionales", "Basic settings" : "Axustes básicos", "Sharing" : "Compartiendo", + "Calendar" : "Calendariu", "Personal info" : "Información personal", "Email server" : "Sirvidor de corréu", "Security & setup warnings" : "Alvertancies de seguranza y configuración", @@ -81,7 +84,6 @@ "View in store" : "Ver na tienda", "Visit website" : "Visitar sitiu web", "Report a bug" : "Informar un fallu", - "User documentation" : "Documentación d'usuariu", "Developer documentation" : "Documentación de desendolcaores", "Featured" : "Destacao", "No apps found for your version" : "Nun s'alcontraron anovamientos pa la to versión", @@ -139,9 +141,6 @@ "Default quota" : "Cuota por defeutu", "Unnamed device" : "Preséu ensin nomar", "Your apps" : "Les tos aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitaes", - "Updates" : "Anovamientos", - "App bundles" : "Llotes d'aplicaciones", "Changelog" : "Rexistru de cambeos", "Add group" : "Amestar grupu", "Active users" : "Usuarios activos", @@ -159,10 +158,12 @@ "Phone number" : "Númberu de teléfonu", "Twitter" : "Twitter", "Website" : "Sitiu web", + "Disabled apps" : "Aplicaciones deshabilitaes", + "Updates" : "Anovamientos", + "App bundles" : "Llotes d'aplicaciones", "Hide" : "Anubrir", "Never" : "Enxamás", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Habilitóse l'aplicación pero precisa anovase. Redirixirásete a la páxina d'anovamientu en 5 segundos.", - "Administrator documentation" : "Documentación d'alministrador", "Documentation" : "Documentación", "Forum" : "Foru", "Login" : "Entamar sesión", diff --git a/apps/settings/l10n/bg.js b/apps/settings/l10n/bg.js index 619e4013259..23acad3d05d 100644 --- a/apps/settings/l10n/bg.js +++ b/apps/settings/l10n/bg.js @@ -73,6 +73,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Максималният брой OPcache ключове почти е надвишен. За да се гарантира, че всички скриптове могат да се задържат в кеш, се препоръчва да се приложи <code>opcache.max_accelerated_files</code> към вашата PHP конфигурация със стойност, по-висока от <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буферът на OPcache е почти пълен. За да се гарантира, че всички скриптове могат да се задържат в кеш, се препоръчва да се приложи <code>opcache.memory_consumption</code> към вашата PHP конфигурация със стойност, по-висока от <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буферът за интернирани низове в OPcache е почти пълен. За да се гарантира, че повтарящите се низове могат да бъдат ефективно кеширани, се препоръчва да се приложи <code>opcache.interned_strings_buffer</code> към вашата PHP конфигурация със стойност, по-висока от<code>%s</code>.", + "Administrator documentation" : "Документация за администратори", + "User documentation" : "Документация за потребители", "Invalid SMTP password." : "Невалидна SMTP парола.", "Email setting test" : "Тест за настройка на имейл", "Well done, %s!" : "Браво, %s!", @@ -122,6 +124,7 @@ OC.L10N.register( "Basic settings" : "Основни настройки", "Sharing" : "Споделяне", "Availability" : "Наличност", + "Calendar" : "Kалендар", "Personal info" : "Лични данни", "Mobile & desktop" : "Мобилни и настолни", "Email server" : "Имейл сървър", @@ -169,7 +172,6 @@ OC.L10N.register( "View in store" : "Страница в магазина", "Visit website" : "Уеб страницата", "Report a bug" : "Докладване на грешка", - "User documentation" : "Документация за потребители", "Admin documentation" : "Документация за администратори", "Developer documentation" : "Документация за разработчици", "This app is supported via your current Nextcloud subscription." : "Това приложение се поддържа чрез текущия ви абонамент за Nextcloud.", @@ -301,6 +303,7 @@ OC.L10N.register( "Unable to delete additional email address" : "Не може да се изтрие допълнителен имейл адрес", "No email address set" : "Не е въведен имейл адрес", "Additional emails" : "Допълнителни имейли", + "Your handle" : "Вашият манипулатор", "Your headline" : "Вашето заглавие", "Language" : "Език", "Help translate" : "Помогнете с превода", @@ -380,11 +383,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Следните устройства са конфигурирани за вашия профил:", "Your browser does not support WebAuthn." : "Вашият браузър не поддържа WebAuthn.", "Your apps" : "Вашите приложения", - "Active apps" : "Включени приложения", - "Disabled apps" : "Изключени приложения", - "Updates" : "Актуализации", - "App bundles" : "Пакети с приложения", - "Featured apps" : "Представени приложения", "{license}-licensed" : "{license}-лицензиран", "Changelog" : "Списък на промените", "by {author}\n{license}" : "от {author}\n{license}", @@ -413,11 +411,17 @@ OC.L10N.register( "Phone number" : "Тел. номер", "Role" : "Роля", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse (напр. Mastodon)", "Website" : "Уеб страница", "Profile visibility" : "Видимост на профил", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Не е налично, тъй като това свойство е нужно за основна функционалност, включително споделяне на файлове и покани в календар", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Не е налично, тъй като федерирането е деактивирано за вашия профил, свържете се с вашия системен администратор, ако имате въпроси.", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Не е налично, тъй като публикуването на специфични потребителски данни на сървъра за търсене не е разрешено, свържете се с вашия системен администратор, ако имате въпроси", + "Active apps" : "Включени приложения", + "Disabled apps" : "Изключени приложения", + "Updates" : "Актуализации", + "App bundles" : "Пакети с приложения", + "Featured apps" : "Представени приложения", "Show to everyone" : "Показване на всички", "Show to logged in users only" : "Показване само на влезли потребители", "Hide" : "Скриване", @@ -429,7 +433,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "Възникна грешка по време на заявката. Не може да се продължи.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Приложението е активирано, но трябва да бъде актуализирано. Ще бъдете пренасочени към страницата за актуализация след 5 секунди.", "Error: This app cannot be enabled because it makes the server unstable" : "Грешка: Това приложение не може да бъде активирано, защото прави сървъра нестабилен", - "Administrator documentation" : "Документация за администратори", "Documentation" : "Документация", "Forum" : "Форум", "Login" : "Вписване", diff --git a/apps/settings/l10n/bg.json b/apps/settings/l10n/bg.json index 49b21483ca4..8cb8e51f198 100644 --- a/apps/settings/l10n/bg.json +++ b/apps/settings/l10n/bg.json @@ -71,6 +71,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Максималният брой OPcache ключове почти е надвишен. За да се гарантира, че всички скриптове могат да се задържат в кеш, се препоръчва да се приложи <code>opcache.max_accelerated_files</code> към вашата PHP конфигурация със стойност, по-висока от <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буферът на OPcache е почти пълен. За да се гарантира, че всички скриптове могат да се задържат в кеш, се препоръчва да се приложи <code>opcache.memory_consumption</code> към вашата PHP конфигурация със стойност, по-висока от <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буферът за интернирани низове в OPcache е почти пълен. За да се гарантира, че повтарящите се низове могат да бъдат ефективно кеширани, се препоръчва да се приложи <code>opcache.interned_strings_buffer</code> към вашата PHP конфигурация със стойност, по-висока от<code>%s</code>.", + "Administrator documentation" : "Документация за администратори", + "User documentation" : "Документация за потребители", "Invalid SMTP password." : "Невалидна SMTP парола.", "Email setting test" : "Тест за настройка на имейл", "Well done, %s!" : "Браво, %s!", @@ -120,6 +122,7 @@ "Basic settings" : "Основни настройки", "Sharing" : "Споделяне", "Availability" : "Наличност", + "Calendar" : "Kалендар", "Personal info" : "Лични данни", "Mobile & desktop" : "Мобилни и настолни", "Email server" : "Имейл сървър", @@ -167,7 +170,6 @@ "View in store" : "Страница в магазина", "Visit website" : "Уеб страницата", "Report a bug" : "Докладване на грешка", - "User documentation" : "Документация за потребители", "Admin documentation" : "Документация за администратори", "Developer documentation" : "Документация за разработчици", "This app is supported via your current Nextcloud subscription." : "Това приложение се поддържа чрез текущия ви абонамент за Nextcloud.", @@ -299,6 +301,7 @@ "Unable to delete additional email address" : "Не може да се изтрие допълнителен имейл адрес", "No email address set" : "Не е въведен имейл адрес", "Additional emails" : "Допълнителни имейли", + "Your handle" : "Вашият манипулатор", "Your headline" : "Вашето заглавие", "Language" : "Език", "Help translate" : "Помогнете с превода", @@ -378,11 +381,6 @@ "The following devices are configured for your account:" : "Следните устройства са конфигурирани за вашия профил:", "Your browser does not support WebAuthn." : "Вашият браузър не поддържа WebAuthn.", "Your apps" : "Вашите приложения", - "Active apps" : "Включени приложения", - "Disabled apps" : "Изключени приложения", - "Updates" : "Актуализации", - "App bundles" : "Пакети с приложения", - "Featured apps" : "Представени приложения", "{license}-licensed" : "{license}-лицензиран", "Changelog" : "Списък на промените", "by {author}\n{license}" : "от {author}\n{license}", @@ -411,11 +409,17 @@ "Phone number" : "Тел. номер", "Role" : "Роля", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse (напр. Mastodon)", "Website" : "Уеб страница", "Profile visibility" : "Видимост на профил", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Не е налично, тъй като това свойство е нужно за основна функционалност, включително споделяне на файлове и покани в календар", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Не е налично, тъй като федерирането е деактивирано за вашия профил, свържете се с вашия системен администратор, ако имате въпроси.", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Не е налично, тъй като публикуването на специфични потребителски данни на сървъра за търсене не е разрешено, свържете се с вашия системен администратор, ако имате въпроси", + "Active apps" : "Включени приложения", + "Disabled apps" : "Изключени приложения", + "Updates" : "Актуализации", + "App bundles" : "Пакети с приложения", + "Featured apps" : "Представени приложения", "Show to everyone" : "Показване на всички", "Show to logged in users only" : "Показване само на влезли потребители", "Hide" : "Скриване", @@ -427,7 +431,6 @@ "An error occurred during the request. Unable to proceed." : "Възникна грешка по време на заявката. Не може да се продължи.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Приложението е активирано, но трябва да бъде актуализирано. Ще бъдете пренасочени към страницата за актуализация след 5 секунди.", "Error: This app cannot be enabled because it makes the server unstable" : "Грешка: Това приложение не може да бъде активирано, защото прави сървъра нестабилен", - "Administrator documentation" : "Документация за администратори", "Documentation" : "Документация", "Forum" : "Форум", "Login" : "Вписване", diff --git a/apps/settings/l10n/br.js b/apps/settings/l10n/br.js index 997e6f36945..a3ed4926c86 100644 --- a/apps/settings/l10n/br.js +++ b/apps/settings/l10n/br.js @@ -54,6 +54,8 @@ OC.L10N.register( "Wrong admin recovery password. Please check the password and try again." : "Ger-tremen adtapout ar merour fall. Gwiriit ar ger-tremen ha klaskit en dro.", "Federated Cloud Sharing" : "Federated Cloud Sharing", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL a zo o implij ur stumm mkozh eus %1$s (%2$s). Adnevesait ho sistem ober pe ne labouro ket mat perzhioù 'zo evel %3$s.", + "Administrator documentation" : "Dielvadur ar merour", + "User documentation" : "Dielvadur an implijer", "Invalid SMTP password." : "Ger-tremen SMTP fall.", "Email setting test" : "Amprouiñ stumm ar postel", "Well done, %s!" : "Gouc'hemenoù, %s !", @@ -96,6 +98,7 @@ OC.L10N.register( "Overview" : "Taol-lagad", "Basic settings" : "Stummoù diazez", "Sharing" : "Rannan", + "Calendar" : "Deiziataer", "Personal info" : "Titouroù personel", "Mobile & desktop" : "Hezouk ha burev", "Email server" : "Servijour postel", @@ -133,7 +136,6 @@ OC.L10N.register( "View in store" : "Gwellet er stall", "Visit website" : "Mont war al lec'hienn", "Report a bug" : "Dugas ur gudenn", - "User documentation" : "Dielvadur an implijer", "Admin documentation" : "Dielvadur ar merour", "Developer documentation" : "Diellvadur an digeler", "This app is supported via your current Nextcloud subscription." : "Ar meziant-mañ a vez douget dre ho kommanant Nextcloud.", @@ -264,11 +266,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Stummet eo bet an ardivinkoù ma d'ho c'hont.", "Your browser does not support WebAuthn." : "Ne vez ket douget WebAuthn gant o furcher.", "Your apps" : "Ho meziantoù", - "Active apps" : "Meziantoù lakaet en dro", - "Disabled apps" : "Meziantoù disaotreet", - "Updates" : "Adnevesadennoù", - "App bundles" : "Strolladoù meziant", - "Featured apps" : "Meziant perzhiet", "{license}-licensed" : "{license}-aotre", "by {author}\n{license}" : "great gant {author}\n{license}", "Enter group name" : "Lakat un anv strollad", @@ -293,13 +290,17 @@ OC.L10N.register( "Role" : "Roll", "Twitter" : "Twitter", "Website" : "Lec'hien web", + "Active apps" : "Meziantoù lakaet en dro", + "Disabled apps" : "Meziantoù disaotreet", + "Updates" : "Adnevesadennoù", + "App bundles" : "Strolladoù meziant", + "Featured apps" : "Meziant perzhiet", "Hide" : "Kouacha", "Download and enable" : "Pellgargañ ha aotreañ", "Enable untested app" : "Aotreañ ar meziant disamprouet", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "N'eo ket ar meziant keverlec'h gant stumm Nextcloud. Ma kendalc'hit e o posupl deoc'h staliañ ar meziant. Taolit evez, ne labouro ket ar meziant evel ma zlefe.", "Never" : "James", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aotreet eo bet ar meziant mes ezomm e deus bezhan adnevesaet. Kaset a voc'h d'ar bajenn adneveziñ a benn 5 eilenn.", - "Administrator documentation" : "Dielvadur ar merour", "Documentation" : "Diellvadur", "Forum" : "Forum", "Login" : "Anv arveriad", diff --git a/apps/settings/l10n/br.json b/apps/settings/l10n/br.json index 0fec17df5eb..522c849dde6 100644 --- a/apps/settings/l10n/br.json +++ b/apps/settings/l10n/br.json @@ -52,6 +52,8 @@ "Wrong admin recovery password. Please check the password and try again." : "Ger-tremen adtapout ar merour fall. Gwiriit ar ger-tremen ha klaskit en dro.", "Federated Cloud Sharing" : "Federated Cloud Sharing", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL a zo o implij ur stumm mkozh eus %1$s (%2$s). Adnevesait ho sistem ober pe ne labouro ket mat perzhioù 'zo evel %3$s.", + "Administrator documentation" : "Dielvadur ar merour", + "User documentation" : "Dielvadur an implijer", "Invalid SMTP password." : "Ger-tremen SMTP fall.", "Email setting test" : "Amprouiñ stumm ar postel", "Well done, %s!" : "Gouc'hemenoù, %s !", @@ -94,6 +96,7 @@ "Overview" : "Taol-lagad", "Basic settings" : "Stummoù diazez", "Sharing" : "Rannan", + "Calendar" : "Deiziataer", "Personal info" : "Titouroù personel", "Mobile & desktop" : "Hezouk ha burev", "Email server" : "Servijour postel", @@ -131,7 +134,6 @@ "View in store" : "Gwellet er stall", "Visit website" : "Mont war al lec'hienn", "Report a bug" : "Dugas ur gudenn", - "User documentation" : "Dielvadur an implijer", "Admin documentation" : "Dielvadur ar merour", "Developer documentation" : "Diellvadur an digeler", "This app is supported via your current Nextcloud subscription." : "Ar meziant-mañ a vez douget dre ho kommanant Nextcloud.", @@ -262,11 +264,6 @@ "The following devices are configured for your account:" : "Stummet eo bet an ardivinkoù ma d'ho c'hont.", "Your browser does not support WebAuthn." : "Ne vez ket douget WebAuthn gant o furcher.", "Your apps" : "Ho meziantoù", - "Active apps" : "Meziantoù lakaet en dro", - "Disabled apps" : "Meziantoù disaotreet", - "Updates" : "Adnevesadennoù", - "App bundles" : "Strolladoù meziant", - "Featured apps" : "Meziant perzhiet", "{license}-licensed" : "{license}-aotre", "by {author}\n{license}" : "great gant {author}\n{license}", "Enter group name" : "Lakat un anv strollad", @@ -291,13 +288,17 @@ "Role" : "Roll", "Twitter" : "Twitter", "Website" : "Lec'hien web", + "Active apps" : "Meziantoù lakaet en dro", + "Disabled apps" : "Meziantoù disaotreet", + "Updates" : "Adnevesadennoù", + "App bundles" : "Strolladoù meziant", + "Featured apps" : "Meziant perzhiet", "Hide" : "Kouacha", "Download and enable" : "Pellgargañ ha aotreañ", "Enable untested app" : "Aotreañ ar meziant disamprouet", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "N'eo ket ar meziant keverlec'h gant stumm Nextcloud. Ma kendalc'hit e o posupl deoc'h staliañ ar meziant. Taolit evez, ne labouro ket ar meziant evel ma zlefe.", "Never" : "James", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aotreet eo bet ar meziant mes ezomm e deus bezhan adnevesaet. Kaset a voc'h d'ar bajenn adneveziñ a benn 5 eilenn.", - "Administrator documentation" : "Dielvadur ar merour", "Documentation" : "Diellvadur", "Forum" : "Forum", "Login" : "Anv arveriad", diff --git a/apps/settings/l10n/ca.js b/apps/settings/l10n/ca.js index 8d9c26edb54..999b3d4c791 100644 --- a/apps/settings/l10n/ca.js +++ b/apps/settings/l10n/ca.js @@ -73,6 +73,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Gairebé s'ha excedit el nombre màxim de claus d'OPcache. Per assegurar-vos que tots els scripts es puguin mantenir a la memòria cau, us recomanem que apliqueu <code>opcache.max.accelerated.files</code> a la configuració de PHP amb un valor superior a <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "La memòria intermèdia d'OPcache està gairebé plena. Per garantir que tots els scripts es puguin mantenir a la memòria cau, us recomanem que apliqueu <code>opcache.memory.consumption</code> a la configuració de PHP amb un valor superior a <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "La memòria cau de cadenes internades OPcache està gairebé plena. Per assegurar-vos que les cadenes que es repeteixen es poden emmagatzemar a la memòria cau de manera efectiva, es recomana aplicar <code>opcache.interned.strings.buffer</code> a la configuració de PHP amb un valor superior a <code>%s</code>.", + "Administrator documentation" : "Documentació d'administrador", + "User documentation" : "Documentació per a usuaris", "Invalid SMTP password." : "Contrasenya SMTP no vàlida.", "Email setting test" : "Prova de paràmetres del correu electrònic", "Well done, %s!" : "Ben fet, %s!", @@ -121,6 +123,8 @@ OC.L10N.register( "Overview" : "Resum", "Basic settings" : "Paràmetres bàsics", "Sharing" : "Compartició", + "Availability" : "Disponibilitat", + "Calendar" : "Calendari", "Personal info" : "Informació personal", "Mobile & desktop" : "Mòbil i escriptori", "Email server" : "Servidor de correu electrònic", @@ -168,7 +172,6 @@ OC.L10N.register( "View in store" : "Mostra-ho al magatzem", "Visit website" : "Visita el lloc web", "Report a bug" : "Informa d'un error", - "User documentation" : "Documentació per a usuaris", "Admin documentation" : "Documentació per a administradors", "Developer documentation" : "Documentació per a desenvolupadors", "This app is supported via your current Nextcloud subscription." : "Aquesta aplicació és compatible amb la vostra subscripció actual a Nextcloud.", @@ -379,11 +382,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Els següents dispositius estan configurats per al vostre compte:", "Your browser does not support WebAuthn." : "El vostre navegador no suporta WebAuthn.", "Your apps" : "Les vostres aplicacions", - "Active apps" : "Aplicacions actives", - "Disabled apps" : "Aplicacions inhabilitades", - "Updates" : "Actualitzacions", - "App bundles" : "Paquets d'aplicacions", - "Featured apps" : "Aplicacions destacades", "{license}-licensed" : "sota la llicència - {license}", "Changelog" : "Registre de canvis", "by {author}\n{license}" : "{author}\n{license}", @@ -412,10 +410,17 @@ OC.L10N.register( "Phone number" : "Número de telèfon", "Role" : "Càrrec", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse (p. ex. Mastodon)", "Website" : "Lloc web", "Profile visibility" : "Visibilitat del perfil", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "No disponible, ja que aquesta propietat és necessària per a les funcions bàsiques, com ara compartir fitxers i invitacions al calendari", + "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "No està disponible perquè la federació s'ha inhabilitat per al vostre compte, poseu-vos en contacte amb l'administrador del sistema si teniu cap pregunta", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "No està disponible perquè no es permet la publicació de dades específiques de l'usuari al servidor de cerca, poseu-vos en contacte amb l'administrador del sistema si teniu cap pregunta", + "Active apps" : "Aplicacions actives", + "Disabled apps" : "Aplicacions inhabilitades", + "Updates" : "Actualitzacions", + "App bundles" : "Paquets d'aplicacions", + "Featured apps" : "Aplicacions destacades", "Show to everyone" : "Mostra a tothom", "Show to logged in users only" : "Mostra només als usuaris connectats", "Hide" : "Amaga", @@ -427,7 +432,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "S'ha produït un error durant la sol·licitud. No es pot continuar.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "L'aplicació s'ha habilitat però ha de ser actualitzada. Sereu redirigits a la pàgina d’actualització d'aquí 5 segons.", "Error: This app cannot be enabled because it makes the server unstable" : "Error: aquesta aplicació no es pot habilitar perquè fa que el servidor sigui inestable", - "Administrator documentation" : "Documentació d'administrador", "Documentation" : "Documentació", "Forum" : "Fòrum", "Login" : "Inici de sessió", diff --git a/apps/settings/l10n/ca.json b/apps/settings/l10n/ca.json index 17abad941fd..f46b36e32a7 100644 --- a/apps/settings/l10n/ca.json +++ b/apps/settings/l10n/ca.json @@ -71,6 +71,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Gairebé s'ha excedit el nombre màxim de claus d'OPcache. Per assegurar-vos que tots els scripts es puguin mantenir a la memòria cau, us recomanem que apliqueu <code>opcache.max.accelerated.files</code> a la configuració de PHP amb un valor superior a <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "La memòria intermèdia d'OPcache està gairebé plena. Per garantir que tots els scripts es puguin mantenir a la memòria cau, us recomanem que apliqueu <code>opcache.memory.consumption</code> a la configuració de PHP amb un valor superior a <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "La memòria cau de cadenes internades OPcache està gairebé plena. Per assegurar-vos que les cadenes que es repeteixen es poden emmagatzemar a la memòria cau de manera efectiva, es recomana aplicar <code>opcache.interned.strings.buffer</code> a la configuració de PHP amb un valor superior a <code>%s</code>.", + "Administrator documentation" : "Documentació d'administrador", + "User documentation" : "Documentació per a usuaris", "Invalid SMTP password." : "Contrasenya SMTP no vàlida.", "Email setting test" : "Prova de paràmetres del correu electrònic", "Well done, %s!" : "Ben fet, %s!", @@ -119,6 +121,8 @@ "Overview" : "Resum", "Basic settings" : "Paràmetres bàsics", "Sharing" : "Compartició", + "Availability" : "Disponibilitat", + "Calendar" : "Calendari", "Personal info" : "Informació personal", "Mobile & desktop" : "Mòbil i escriptori", "Email server" : "Servidor de correu electrònic", @@ -166,7 +170,6 @@ "View in store" : "Mostra-ho al magatzem", "Visit website" : "Visita el lloc web", "Report a bug" : "Informa d'un error", - "User documentation" : "Documentació per a usuaris", "Admin documentation" : "Documentació per a administradors", "Developer documentation" : "Documentació per a desenvolupadors", "This app is supported via your current Nextcloud subscription." : "Aquesta aplicació és compatible amb la vostra subscripció actual a Nextcloud.", @@ -377,11 +380,6 @@ "The following devices are configured for your account:" : "Els següents dispositius estan configurats per al vostre compte:", "Your browser does not support WebAuthn." : "El vostre navegador no suporta WebAuthn.", "Your apps" : "Les vostres aplicacions", - "Active apps" : "Aplicacions actives", - "Disabled apps" : "Aplicacions inhabilitades", - "Updates" : "Actualitzacions", - "App bundles" : "Paquets d'aplicacions", - "Featured apps" : "Aplicacions destacades", "{license}-licensed" : "sota la llicència - {license}", "Changelog" : "Registre de canvis", "by {author}\n{license}" : "{author}\n{license}", @@ -410,10 +408,17 @@ "Phone number" : "Número de telèfon", "Role" : "Càrrec", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse (p. ex. Mastodon)", "Website" : "Lloc web", "Profile visibility" : "Visibilitat del perfil", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "No disponible, ja que aquesta propietat és necessària per a les funcions bàsiques, com ara compartir fitxers i invitacions al calendari", + "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "No està disponible perquè la federació s'ha inhabilitat per al vostre compte, poseu-vos en contacte amb l'administrador del sistema si teniu cap pregunta", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "No està disponible perquè no es permet la publicació de dades específiques de l'usuari al servidor de cerca, poseu-vos en contacte amb l'administrador del sistema si teniu cap pregunta", + "Active apps" : "Aplicacions actives", + "Disabled apps" : "Aplicacions inhabilitades", + "Updates" : "Actualitzacions", + "App bundles" : "Paquets d'aplicacions", + "Featured apps" : "Aplicacions destacades", "Show to everyone" : "Mostra a tothom", "Show to logged in users only" : "Mostra només als usuaris connectats", "Hide" : "Amaga", @@ -425,7 +430,6 @@ "An error occurred during the request. Unable to proceed." : "S'ha produït un error durant la sol·licitud. No es pot continuar.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "L'aplicació s'ha habilitat però ha de ser actualitzada. Sereu redirigits a la pàgina d’actualització d'aquí 5 segons.", "Error: This app cannot be enabled because it makes the server unstable" : "Error: aquesta aplicació no es pot habilitar perquè fa que el servidor sigui inestable", - "Administrator documentation" : "Documentació d'administrador", "Documentation" : "Documentació", "Forum" : "Fòrum", "Login" : "Inici de sessió", diff --git a/apps/settings/l10n/cs.js b/apps/settings/l10n/cs.js index 2cdfe95896d..6668577f9ec 100644 --- a/apps/settings/l10n/cs.js +++ b/apps/settings/l10n/cs.js @@ -73,6 +73,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Je téměř vyčerpán nejvyšší umožněný počet klíčů v OPcache. Aby bylo zajištěno, že se do mezipaměti vejdou veškeré skripty, je doporučeno přidat do nastavení PHP volbu <code>opcache.max_accelerated_files</code> s hodnotou vyšší než <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vnitřní vyrovnávací paměť OPcache je téměř zaplněná. Aby bylo zajištěno, že se do mezipaměti vejdou veškeré skripty, je doporučeno přidat do nastavení PHP volbu <code>opcache.memory_consumption</code> s hodnotou vyšší než <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vnitřní vyrovnávací paměť OPcache pro řetězce je téměř zaplněná. Aby bylo zajištěno, že ukládání řetězců do mezipaměti bude skutečně prováděno, je doporučeno přidat do nastavení PHP volbu <code>opcache.interned_strings_buffer</code> s hodnotou vyšší než <code>%s</code>.", + "Administrator documentation" : "Dokumentace pro správce", + "User documentation" : "Dokumentace pro uživatele", "Invalid SMTP password." : "Neplatné heslo pro SMTP.", "Email setting test" : "Zkouška nastavení e-mailu", "Well done, %s!" : "Úspěšně nastaveno, %s!", @@ -122,6 +124,7 @@ OC.L10N.register( "Basic settings" : "Základní nastavení", "Sharing" : "Sdílení", "Availability" : "Dostupnost", + "Calendar" : "Kalendář", "Personal info" : "Osobní údaje", "Mobile & desktop" : "Mobilní a desktop", "Email server" : "E-mailový server", @@ -169,7 +172,6 @@ OC.L10N.register( "View in store" : "Zobrazit v katalogu", "Visit website" : "Navštívit webovou stránku", "Report a bug" : "Nahlásit chybu", - "User documentation" : "Dokumentace pro uživatele", "Admin documentation" : "Dokumentace pro správce", "Developer documentation" : "Dokumentace pro vývojáře", "This app is supported via your current Nextcloud subscription." : "Tato aplikace je podporována prostřednictvím vašeho stávajícího předplatného podpory Nextcloud.", @@ -301,6 +303,7 @@ OC.L10N.register( "Unable to delete additional email address" : "Nepodařilo se smazat další e-mailovou adresu", "No email address set" : "E-mailová adresa není nastavena", "Additional emails" : "Další e-maily", + "Your handle" : "Váš identifikátor (handle)", "Your headline" : "Váš nadpis", "Language" : "Jazyk", "Help translate" : "Pomoci s překladem", @@ -380,11 +383,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "U svého účtu máte nastavená následující zařízení:", "Your browser does not support WebAuthn." : "Vámi používaný prohlížeč nepodporuje WebAuthn.", "Your apps" : "Vaše aplikace", - "Active apps" : "Aktivní aplikace", - "Disabled apps" : "Vypnuté aplikace", - "Updates" : "Aktualizace", - "App bundles" : "Sady aplikací", - "Featured apps" : "Doporučené aplikace", "{license}-licensed" : "licencováno pod {license}", "Changelog" : "Souhrn změn", "by {author}\n{license}" : "od {author}\n{license}", @@ -413,11 +411,17 @@ OC.L10N.register( "Phone number" : "Telefonní číslo", "Role" : "Role", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse (např. Mastodon)", "Website" : "Webová stránka", "Profile visibility" : "Viditelnost profilu", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Není k dispozici, protože tato vlastnost je vyžadována pro hlavní funkce, včetně sdílení souborů a pozvánek v kalendáři", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Není k dispozici protože pro váš účet bylo federování vypnuto. V případě dotazů se obraťte na svého správce", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Není k dispozici protože zveřejňování údajů o konkrétních uživatelích není vyhledávacímu serveru povoleno. Pokud máte jakékoli dotazy, obraťte se na správce systémů", + "Active apps" : "Aktivní aplikace", + "Disabled apps" : "Vypnuté aplikace", + "Updates" : "Aktualizace", + "App bundles" : "Sady aplikací", + "Featured apps" : "Doporučené aplikace", "Show to everyone" : "Ukázat všem", "Show to logged in users only" : "Ukázat pouze přihlášeným uživatelům", "Hide" : "Skrýt", @@ -429,7 +433,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "Během požadavku došlo k chybě. Nelze pokračovat.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikace byla zapnuta ale je třeba ji ještě aktualizovat. Za 5 sekund budete přesměrování na stránku pro aktualizaci.", "Error: This app cannot be enabled because it makes the server unstable" : "Chyba: tuto aplikaci nelze zapnout, protože způsobuje nestabilitu serveru", - "Administrator documentation" : "Dokumentace pro správce", "Documentation" : "Dokumentace", "Forum" : "Diskuzní fórum", "Login" : "Přihlásit", diff --git a/apps/settings/l10n/cs.json b/apps/settings/l10n/cs.json index 81d6fd6ca23..67bf91b2c62 100644 --- a/apps/settings/l10n/cs.json +++ b/apps/settings/l10n/cs.json @@ -71,6 +71,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Je téměř vyčerpán nejvyšší umožněný počet klíčů v OPcache. Aby bylo zajištěno, že se do mezipaměti vejdou veškeré skripty, je doporučeno přidat do nastavení PHP volbu <code>opcache.max_accelerated_files</code> s hodnotou vyšší než <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vnitřní vyrovnávací paměť OPcache je téměř zaplněná. Aby bylo zajištěno, že se do mezipaměti vejdou veškeré skripty, je doporučeno přidat do nastavení PHP volbu <code>opcache.memory_consumption</code> s hodnotou vyšší než <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vnitřní vyrovnávací paměť OPcache pro řetězce je téměř zaplněná. Aby bylo zajištěno, že ukládání řetězců do mezipaměti bude skutečně prováděno, je doporučeno přidat do nastavení PHP volbu <code>opcache.interned_strings_buffer</code> s hodnotou vyšší než <code>%s</code>.", + "Administrator documentation" : "Dokumentace pro správce", + "User documentation" : "Dokumentace pro uživatele", "Invalid SMTP password." : "Neplatné heslo pro SMTP.", "Email setting test" : "Zkouška nastavení e-mailu", "Well done, %s!" : "Úspěšně nastaveno, %s!", @@ -120,6 +122,7 @@ "Basic settings" : "Základní nastavení", "Sharing" : "Sdílení", "Availability" : "Dostupnost", + "Calendar" : "Kalendář", "Personal info" : "Osobní údaje", "Mobile & desktop" : "Mobilní a desktop", "Email server" : "E-mailový server", @@ -167,7 +170,6 @@ "View in store" : "Zobrazit v katalogu", "Visit website" : "Navštívit webovou stránku", "Report a bug" : "Nahlásit chybu", - "User documentation" : "Dokumentace pro uživatele", "Admin documentation" : "Dokumentace pro správce", "Developer documentation" : "Dokumentace pro vývojáře", "This app is supported via your current Nextcloud subscription." : "Tato aplikace je podporována prostřednictvím vašeho stávajícího předplatného podpory Nextcloud.", @@ -299,6 +301,7 @@ "Unable to delete additional email address" : "Nepodařilo se smazat další e-mailovou adresu", "No email address set" : "E-mailová adresa není nastavena", "Additional emails" : "Další e-maily", + "Your handle" : "Váš identifikátor (handle)", "Your headline" : "Váš nadpis", "Language" : "Jazyk", "Help translate" : "Pomoci s překladem", @@ -378,11 +381,6 @@ "The following devices are configured for your account:" : "U svého účtu máte nastavená následující zařízení:", "Your browser does not support WebAuthn." : "Vámi používaný prohlížeč nepodporuje WebAuthn.", "Your apps" : "Vaše aplikace", - "Active apps" : "Aktivní aplikace", - "Disabled apps" : "Vypnuté aplikace", - "Updates" : "Aktualizace", - "App bundles" : "Sady aplikací", - "Featured apps" : "Doporučené aplikace", "{license}-licensed" : "licencováno pod {license}", "Changelog" : "Souhrn změn", "by {author}\n{license}" : "od {author}\n{license}", @@ -411,11 +409,17 @@ "Phone number" : "Telefonní číslo", "Role" : "Role", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse (např. Mastodon)", "Website" : "Webová stránka", "Profile visibility" : "Viditelnost profilu", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Není k dispozici, protože tato vlastnost je vyžadována pro hlavní funkce, včetně sdílení souborů a pozvánek v kalendáři", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Není k dispozici protože pro váš účet bylo federování vypnuto. V případě dotazů se obraťte na svého správce", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Není k dispozici protože zveřejňování údajů o konkrétních uživatelích není vyhledávacímu serveru povoleno. Pokud máte jakékoli dotazy, obraťte se na správce systémů", + "Active apps" : "Aktivní aplikace", + "Disabled apps" : "Vypnuté aplikace", + "Updates" : "Aktualizace", + "App bundles" : "Sady aplikací", + "Featured apps" : "Doporučené aplikace", "Show to everyone" : "Ukázat všem", "Show to logged in users only" : "Ukázat pouze přihlášeným uživatelům", "Hide" : "Skrýt", @@ -427,7 +431,6 @@ "An error occurred during the request. Unable to proceed." : "Během požadavku došlo k chybě. Nelze pokračovat.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikace byla zapnuta ale je třeba ji ještě aktualizovat. Za 5 sekund budete přesměrování na stránku pro aktualizaci.", "Error: This app cannot be enabled because it makes the server unstable" : "Chyba: tuto aplikaci nelze zapnout, protože způsobuje nestabilitu serveru", - "Administrator documentation" : "Dokumentace pro správce", "Documentation" : "Dokumentace", "Forum" : "Diskuzní fórum", "Login" : "Přihlásit", diff --git a/apps/settings/l10n/da.js b/apps/settings/l10n/da.js index 0088c1a0bb4..0d3cfaea774 100644 --- a/apps/settings/l10n/da.js +++ b/apps/settings/l10n/da.js @@ -45,7 +45,7 @@ OC.L10N.register( "You revoked filesystem access from app password \"{token}\"" : "Du tilbagekaldte filsystemadgang fra app-adgangskoden \"{token}\"", "Security" : "Sikkerhed", "You successfully logged in using two-factor authentication (%1$s)" : "Du loggede in ved at bruge two-factor authentication (%1$s)", - "A login attempt using two-factor authentication failed (%1$s)" : "Et login forsøg mislykkedes med two-factor authentication (%1$s)", + "A login attempt using two-factor authentication failed (%1$s)" : "Et login forsøg mislykkedes med tofaktors godkendelse (%1$s)", "Remote wipe was started on %1$s" : "Fjernsletning blev startet på %1$s", "Remote wipe has finished on %1$s" : "Fjernsletning er afsluttet på %1$s", "Your <strong>password</strong> or <strong>email</strong> was modified" : "Dit <strong>password</strong> eller <strong>email</strong> blev ændret", @@ -58,6 +58,8 @@ OC.L10N.register( "installing and updating apps via the App Store or Federated Cloud Sharing" : "installation og opdatering af apps via App Store eller Federated Cloud Sharing", "Federated Cloud Sharing" : "Sammensluttet Cloud deling", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL bruger en forældet %1$s version (%2$s). Du skal opdatere dit styresystem for at funktioner som %3$s virker pålideligt.", + "Administrator documentation" : "Administratordokumentation", + "User documentation" : "Brugerdokumentation", "Invalid SMTP password." : "Ikke gyldigt SMTP password", "Email setting test" : "Test email-indstillinger", "Well done, %s!" : "Godt gået, %s!", @@ -105,6 +107,8 @@ OC.L10N.register( "Overview" : "Overblik", "Basic settings" : "Grundlæggende Indstillinger", "Sharing" : "Deling", + "Availability" : "Tilgængelighed", + "Calendar" : "Kalender", "Personal info" : "Personlige oplysninger", "Mobile & desktop" : "Mobil & desktop", "Email server" : "E-mailserver", @@ -119,6 +123,7 @@ OC.L10N.register( "A background job is pending that checks for user imported SSL certificates. Please check back later." : "Der afventer et baggrundsjob, der søger efter brugerimporterede SSL-certifikater. Kom venligst tilbage senere.", "There are some user imported SSL certificates present, that are not used anymore with Nextcloud 21. They can be imported on the command line via \"occ security:certificates:import\" command. Their paths inside the data directory are shown below." : "Der er nogle brugerimporterede SSL-certifikater til stede, som ikke længere bruges med Nextcloud 21. De kan importeres på kommandolinjen via kommandoen \"occ security:certificates:import\". Deres stier inde i databiblioteket er vist nedenfor.", "The old server-side-encryption format is enabled. We recommend disabling this." : "Det gamle serverside-krypteringsformat er aktiveret. Vi anbefaler at deaktivere dette.", + "Profile information" : "Profil information", "Nextcloud settings" : "Nextcloud-indstillinger", "Here you can decide which group can access certain sections of the administration settings." : "Her kan du bestemme, hvilken gruppe der kan få adgang til visse sektioner af administrationsindstillingerne.", "None" : "Ingen", @@ -146,7 +151,6 @@ OC.L10N.register( "View in store" : "Se i butik", "Visit website" : "Besøg hjemmeside", "Report a bug" : "Rapporter en fejl", - "User documentation" : "Brugerdokumentation", "Admin documentation" : "Admin-dokumentation", "Developer documentation" : "Dokumentation for udviklere", "This app is supported via your current Nextcloud subscription." : "Denne app understøttes via dit nuværende Nextcloud-abonnement.", @@ -154,6 +158,7 @@ OC.L10N.register( "Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "Udvalgte apps er udviklet af og inden for fællesskabet. De tilbyder central funktionalitet og er klar til produktionsbrug.", "Featured" : "Fremhævet", "Update to {update}" : "Opdater til {update}", + "All apps are up-to-date." : "Alle apps er opdateret", "Results from other categories" : "Resultater fra andre kategorier", "No apps found for your version" : "Ingen apps fundet til din verion", "Disable all" : "Slå alt fra", @@ -201,12 +206,24 @@ OC.L10N.register( "Copied!" : "Kopieret", "Copy" : "Kopier", "Could not copy app password. Please copy it manually." : "Kunne ikke kopiere app-adgangskoden. Kopier det venligst manuelt.", + "Background job did not run yet!" : "Baggrundsjobbet har ikke kørt endnu!", + "AJAX" : "AJAX", + "Execute one task with each page loaded. Use case: Single user instance." : "Udfør én opgave med hver side indlæst. Use case: Enkeltbrugerinstans.", + "Webcron" : "Webcron", + "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "cron.php er registreret hos en webcron-tjeneste til at kalde cron.php hvert 5. minut over HTTP. Use case: Meget lille instans (1-5 brugere afhængigt af brugen).", + "Cron (Recommended)" : "Cron (Anbefalet)", "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "For at køre dette skal du bruge PHP POSIX-udvidelsen. Se {linkstart}PHP-dokumentation{linkend} for flere detaljer.", + "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Brug systemets cron-tjeneste til at kalde cron.php-filen hvert 5. minut. Anbefales til alle instanser.", + "The cron.php needs to be executed by the system user \"{user}\"." : "Cron.php skal eksekveres af systembrugeren \"{user}\".", + "Unable to update background job mode" : "Kan ikke opdatere baggrundsjobtilstand", "Profile" : "Profil", + "Enable or disable profile by default for new users." : "Aktiver eller deaktiver profil som standard for nye brugere.", "Enable" : "Aktiver", + "Unable to update profile default setting" : "Kan ikke opdatere profilens standardindstilling", "Server-side encryption" : "Kryptering på serversiden", "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." : "Kryptering på serversiden gør det muligt at kryptere filer, som er uploadet til denne server. Dette kommer med begrænsninger som en præstationsstraf, så aktiver kun dette, hvis det er nødvendigt.", "Enable server-side encryption" : "Slå kryptering til på serversiden", + "Please read carefully before activating server-side encryption:" : "Læs venligst omhyggeligt, før du aktiverer server-side kryptering:", "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." : "Når kryptering er aktiveret, vil alle filer, der uploades til serveren fra det tidspunkt frem, blive krypteret i hvile på serveren. Det vil kun være muligt at deaktivere kryptering på et senere tidspunkt, hvis det aktive krypteringsmodul understøtter denne funktion, og alle forudsætninger (f.eks. indstilling af en gendannelsesnøgle) er opfyldt.", "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Kryptering alene garanterer ikke systemets sikkerhed. I dokumentationen er der mere information om hvordan krypteringsappen virker, og kan bruges.", "Be aware that encryption always increases the file size." : "Vær opmærksom på at kryptering altid øger filstørrelsen.", @@ -214,12 +231,17 @@ OC.L10N.register( "This is the final warning: Do you really want to enable encryption?" : "Dette er den sidste advarsel: Sikker på at du vil slå kryptering til?", "No encryption module loaded, please enable an encryption module in the app menu." : "Der er ikke indlæst et krypteringsmodul - slå venligst et krypteringsmodul til i app-menuen.", "Select default encryption module:" : "Vælg standardmodulet til kryptering:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "Du skal migrere dine krypteringsnøgler fra den gamle kryptering (ownCloud <= 8.0) til den nye. Aktiver venligst \"Standardkrypteringsmodulet\" og kør {command}", + "Unable to update server side encryption config" : "Kan ikke opdatere krypteringskonfigurationen på serversiden", + "Rename group" : "Omdøb gruppe", "Remove group" : "Fjern gruppe", "You are about to remove the group {group}. The users will NOT be deleted." : "Du er ved at fjerne gruppen {group}. Brugerne bliver IKKE slettet.", "Please confirm the group removal " : "Bekræft at gruppen skal fjernes", "Current password" : "Nuværende adgangskode", "New password" : "Nyt kodeord", "Change password" : "Skift kodeord", + "Your profile picture" : "Dit profil billede", + "Upload profile picture" : "Upload profil billede", "png or jpg, max. 20 MB" : "png eller jpg, max. 20 MB", "Picture provided by original account" : "Billede leveret af den oprindelige konto", "Cancel" : "Annuller", @@ -312,11 +334,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Følgende enheder er konfigureret til din konto:", "Your browser does not support WebAuthn." : "Din browser understøtter ikke WebAuthn.", "Your apps" : "Dine apps", - "Active apps" : "Aktive apps", - "Disabled apps" : "Deaktiverede apps", - "Updates" : "Opdateringer", - "App bundles" : "App bundles", - "Featured apps" : "Udvalgte apps", "{license}-licensed" : "{license}-licenseret", "Changelog" : "Ændringslog", "by {author}\n{license}" : "af {author}\n{licens}", @@ -349,6 +366,11 @@ OC.L10N.register( "Profile visibility" : "Profil synlighed", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Ikke tilgængelig, da denne egenskab er påkrævet for kernefunktionalitet, herunder fildeling og kalenderinvitationer", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Ikke tilgængelig, da udgivelse af brugerspecifikke data til opslagsserveren ikke er tilladt. Kontakt din systemadministrator, hvis du har spørgsmål", + "Active apps" : "Aktive apps", + "Disabled apps" : "Deaktiverede apps", + "Updates" : "Opdateringer", + "App bundles" : "App bundles", + "Featured apps" : "Udvalgte apps", "Show to everyone" : "Vis til alle", "Show to logged in users only" : "Vis kun til loggede brugere", "Hide" : "Skjul", @@ -359,7 +381,6 @@ OC.L10N.register( "Never" : "Aldrig", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Appen er blevet aktiveret, men skal opdateres. Du vil blive omdirigeret til opdateringssiden om 5 sekunder.", "Error: This app cannot be enabled because it makes the server unstable" : "Fejl: Denne app kan ikke aktiveres, fordi den gør serveren ustabil", - "Administrator documentation" : "Administratordokumentation", "Documentation" : "Dokumentation", "Forum" : "Forum", "Login" : "Login", @@ -454,7 +475,7 @@ OC.L10N.register( "Enable encryption" : "Slå kryptering til", "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Du skal immigrere dine krypteringsnøgler fra den gamle kryptering (ownCloud <= 8.0) til den nye af slagsen. Slå venligst \"Standardmodul til kryptering\" til, og kør \"occ encryption:migrate\"", "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du skal immigrere dine krypteringsnøgler fra den gamle kryptering (ownCloud <= 8.0) til den nye af slagsen.", - "Start migration" : "Påbegynd immigrering", + "Start migration" : "Påbegynd migrering", "Last job execution ran %s. Something seems wrong." : "Sidste jobudførelse kørte %s. Noget gik galt.", "Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Nogle opgaver er ikke blevet udført siden %s. Overvej venligst at øge udførelsesfrekvensen.", "Some jobs didn’t execute since %s. Please consider switching to system cron." : "Nogle opgaver blev ikke udført siden %s. Overvej venligst at skifte til system cron.", diff --git a/apps/settings/l10n/da.json b/apps/settings/l10n/da.json index 35723f375c4..8868f6d23a4 100644 --- a/apps/settings/l10n/da.json +++ b/apps/settings/l10n/da.json @@ -43,7 +43,7 @@ "You revoked filesystem access from app password \"{token}\"" : "Du tilbagekaldte filsystemadgang fra app-adgangskoden \"{token}\"", "Security" : "Sikkerhed", "You successfully logged in using two-factor authentication (%1$s)" : "Du loggede in ved at bruge two-factor authentication (%1$s)", - "A login attempt using two-factor authentication failed (%1$s)" : "Et login forsøg mislykkedes med two-factor authentication (%1$s)", + "A login attempt using two-factor authentication failed (%1$s)" : "Et login forsøg mislykkedes med tofaktors godkendelse (%1$s)", "Remote wipe was started on %1$s" : "Fjernsletning blev startet på %1$s", "Remote wipe has finished on %1$s" : "Fjernsletning er afsluttet på %1$s", "Your <strong>password</strong> or <strong>email</strong> was modified" : "Dit <strong>password</strong> eller <strong>email</strong> blev ændret", @@ -56,6 +56,8 @@ "installing and updating apps via the App Store or Federated Cloud Sharing" : "installation og opdatering af apps via App Store eller Federated Cloud Sharing", "Federated Cloud Sharing" : "Sammensluttet Cloud deling", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL bruger en forældet %1$s version (%2$s). Du skal opdatere dit styresystem for at funktioner som %3$s virker pålideligt.", + "Administrator documentation" : "Administratordokumentation", + "User documentation" : "Brugerdokumentation", "Invalid SMTP password." : "Ikke gyldigt SMTP password", "Email setting test" : "Test email-indstillinger", "Well done, %s!" : "Godt gået, %s!", @@ -103,6 +105,8 @@ "Overview" : "Overblik", "Basic settings" : "Grundlæggende Indstillinger", "Sharing" : "Deling", + "Availability" : "Tilgængelighed", + "Calendar" : "Kalender", "Personal info" : "Personlige oplysninger", "Mobile & desktop" : "Mobil & desktop", "Email server" : "E-mailserver", @@ -117,6 +121,7 @@ "A background job is pending that checks for user imported SSL certificates. Please check back later." : "Der afventer et baggrundsjob, der søger efter brugerimporterede SSL-certifikater. Kom venligst tilbage senere.", "There are some user imported SSL certificates present, that are not used anymore with Nextcloud 21. They can be imported on the command line via \"occ security:certificates:import\" command. Their paths inside the data directory are shown below." : "Der er nogle brugerimporterede SSL-certifikater til stede, som ikke længere bruges med Nextcloud 21. De kan importeres på kommandolinjen via kommandoen \"occ security:certificates:import\". Deres stier inde i databiblioteket er vist nedenfor.", "The old server-side-encryption format is enabled. We recommend disabling this." : "Det gamle serverside-krypteringsformat er aktiveret. Vi anbefaler at deaktivere dette.", + "Profile information" : "Profil information", "Nextcloud settings" : "Nextcloud-indstillinger", "Here you can decide which group can access certain sections of the administration settings." : "Her kan du bestemme, hvilken gruppe der kan få adgang til visse sektioner af administrationsindstillingerne.", "None" : "Ingen", @@ -144,7 +149,6 @@ "View in store" : "Se i butik", "Visit website" : "Besøg hjemmeside", "Report a bug" : "Rapporter en fejl", - "User documentation" : "Brugerdokumentation", "Admin documentation" : "Admin-dokumentation", "Developer documentation" : "Dokumentation for udviklere", "This app is supported via your current Nextcloud subscription." : "Denne app understøttes via dit nuværende Nextcloud-abonnement.", @@ -152,6 +156,7 @@ "Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "Udvalgte apps er udviklet af og inden for fællesskabet. De tilbyder central funktionalitet og er klar til produktionsbrug.", "Featured" : "Fremhævet", "Update to {update}" : "Opdater til {update}", + "All apps are up-to-date." : "Alle apps er opdateret", "Results from other categories" : "Resultater fra andre kategorier", "No apps found for your version" : "Ingen apps fundet til din verion", "Disable all" : "Slå alt fra", @@ -199,12 +204,24 @@ "Copied!" : "Kopieret", "Copy" : "Kopier", "Could not copy app password. Please copy it manually." : "Kunne ikke kopiere app-adgangskoden. Kopier det venligst manuelt.", + "Background job did not run yet!" : "Baggrundsjobbet har ikke kørt endnu!", + "AJAX" : "AJAX", + "Execute one task with each page loaded. Use case: Single user instance." : "Udfør én opgave med hver side indlæst. Use case: Enkeltbrugerinstans.", + "Webcron" : "Webcron", + "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "cron.php er registreret hos en webcron-tjeneste til at kalde cron.php hvert 5. minut over HTTP. Use case: Meget lille instans (1-5 brugere afhængigt af brugen).", + "Cron (Recommended)" : "Cron (Anbefalet)", "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "For at køre dette skal du bruge PHP POSIX-udvidelsen. Se {linkstart}PHP-dokumentation{linkend} for flere detaljer.", + "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Brug systemets cron-tjeneste til at kalde cron.php-filen hvert 5. minut. Anbefales til alle instanser.", + "The cron.php needs to be executed by the system user \"{user}\"." : "Cron.php skal eksekveres af systembrugeren \"{user}\".", + "Unable to update background job mode" : "Kan ikke opdatere baggrundsjobtilstand", "Profile" : "Profil", + "Enable or disable profile by default for new users." : "Aktiver eller deaktiver profil som standard for nye brugere.", "Enable" : "Aktiver", + "Unable to update profile default setting" : "Kan ikke opdatere profilens standardindstilling", "Server-side encryption" : "Kryptering på serversiden", "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." : "Kryptering på serversiden gør det muligt at kryptere filer, som er uploadet til denne server. Dette kommer med begrænsninger som en præstationsstraf, så aktiver kun dette, hvis det er nødvendigt.", "Enable server-side encryption" : "Slå kryptering til på serversiden", + "Please read carefully before activating server-side encryption:" : "Læs venligst omhyggeligt, før du aktiverer server-side kryptering:", "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." : "Når kryptering er aktiveret, vil alle filer, der uploades til serveren fra det tidspunkt frem, blive krypteret i hvile på serveren. Det vil kun være muligt at deaktivere kryptering på et senere tidspunkt, hvis det aktive krypteringsmodul understøtter denne funktion, og alle forudsætninger (f.eks. indstilling af en gendannelsesnøgle) er opfyldt.", "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Kryptering alene garanterer ikke systemets sikkerhed. I dokumentationen er der mere information om hvordan krypteringsappen virker, og kan bruges.", "Be aware that encryption always increases the file size." : "Vær opmærksom på at kryptering altid øger filstørrelsen.", @@ -212,12 +229,17 @@ "This is the final warning: Do you really want to enable encryption?" : "Dette er den sidste advarsel: Sikker på at du vil slå kryptering til?", "No encryption module loaded, please enable an encryption module in the app menu." : "Der er ikke indlæst et krypteringsmodul - slå venligst et krypteringsmodul til i app-menuen.", "Select default encryption module:" : "Vælg standardmodulet til kryptering:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "Du skal migrere dine krypteringsnøgler fra den gamle kryptering (ownCloud <= 8.0) til den nye. Aktiver venligst \"Standardkrypteringsmodulet\" og kør {command}", + "Unable to update server side encryption config" : "Kan ikke opdatere krypteringskonfigurationen på serversiden", + "Rename group" : "Omdøb gruppe", "Remove group" : "Fjern gruppe", "You are about to remove the group {group}. The users will NOT be deleted." : "Du er ved at fjerne gruppen {group}. Brugerne bliver IKKE slettet.", "Please confirm the group removal " : "Bekræft at gruppen skal fjernes", "Current password" : "Nuværende adgangskode", "New password" : "Nyt kodeord", "Change password" : "Skift kodeord", + "Your profile picture" : "Dit profil billede", + "Upload profile picture" : "Upload profil billede", "png or jpg, max. 20 MB" : "png eller jpg, max. 20 MB", "Picture provided by original account" : "Billede leveret af den oprindelige konto", "Cancel" : "Annuller", @@ -310,11 +332,6 @@ "The following devices are configured for your account:" : "Følgende enheder er konfigureret til din konto:", "Your browser does not support WebAuthn." : "Din browser understøtter ikke WebAuthn.", "Your apps" : "Dine apps", - "Active apps" : "Aktive apps", - "Disabled apps" : "Deaktiverede apps", - "Updates" : "Opdateringer", - "App bundles" : "App bundles", - "Featured apps" : "Udvalgte apps", "{license}-licensed" : "{license}-licenseret", "Changelog" : "Ændringslog", "by {author}\n{license}" : "af {author}\n{licens}", @@ -347,6 +364,11 @@ "Profile visibility" : "Profil synlighed", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Ikke tilgængelig, da denne egenskab er påkrævet for kernefunktionalitet, herunder fildeling og kalenderinvitationer", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Ikke tilgængelig, da udgivelse af brugerspecifikke data til opslagsserveren ikke er tilladt. Kontakt din systemadministrator, hvis du har spørgsmål", + "Active apps" : "Aktive apps", + "Disabled apps" : "Deaktiverede apps", + "Updates" : "Opdateringer", + "App bundles" : "App bundles", + "Featured apps" : "Udvalgte apps", "Show to everyone" : "Vis til alle", "Show to logged in users only" : "Vis kun til loggede brugere", "Hide" : "Skjul", @@ -357,7 +379,6 @@ "Never" : "Aldrig", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Appen er blevet aktiveret, men skal opdateres. Du vil blive omdirigeret til opdateringssiden om 5 sekunder.", "Error: This app cannot be enabled because it makes the server unstable" : "Fejl: Denne app kan ikke aktiveres, fordi den gør serveren ustabil", - "Administrator documentation" : "Administratordokumentation", "Documentation" : "Dokumentation", "Forum" : "Forum", "Login" : "Login", @@ -452,7 +473,7 @@ "Enable encryption" : "Slå kryptering til", "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Du skal immigrere dine krypteringsnøgler fra den gamle kryptering (ownCloud <= 8.0) til den nye af slagsen. Slå venligst \"Standardmodul til kryptering\" til, og kør \"occ encryption:migrate\"", "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du skal immigrere dine krypteringsnøgler fra den gamle kryptering (ownCloud <= 8.0) til den nye af slagsen.", - "Start migration" : "Påbegynd immigrering", + "Start migration" : "Påbegynd migrering", "Last job execution ran %s. Something seems wrong." : "Sidste jobudførelse kørte %s. Noget gik galt.", "Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Nogle opgaver er ikke blevet udført siden %s. Overvej venligst at øge udførelsesfrekvensen.", "Some jobs didn’t execute since %s. Please consider switching to system cron." : "Nogle opgaver blev ikke udført siden %s. Overvej venligst at skifte til system cron.", diff --git a/apps/settings/l10n/de.js b/apps/settings/l10n/de.js index 12381d4dec2..e2524af1721 100644 --- a/apps/settings/l10n/de.js +++ b/apps/settings/l10n/de.js @@ -72,6 +72,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast erreicht. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.max_accelerated_files</code> mit einem höheren Wert als <code>%s</code> in deiner PHP-Konfiguration anzuwenden.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Der OPcache-Puffer ist fast voll. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.memory_consumption</code> in deiner PHP-Konfiguration mit einem höheren Wert als <code>%s</code> anzuwenden.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Der OPcache-Zwischenspeicher für interne Zeichenfolgen ist fast voll. Um sicherzustellen, dass sich wiederholende Zeichenfolgen effektiv zwischengespeichert werden können, wird empfohlen, <code>opcache.interned_strings_buffer</code> mit einem Wert größer als <code>%s</code> in deiner PHP-Konfiguration anzuwenden.", + "Administrator documentation" : "Dokumentation für Administratoren", + "User documentation" : "Dokumentation für Benutzer", "Invalid SMTP password." : "Ungültiges SMTP-Passwort", "Email setting test" : "Test der E-Mail-Einstellungen", "Well done, %s!" : "Gut gemacht, %s!", @@ -121,6 +123,7 @@ OC.L10N.register( "Basic settings" : "Grundeinstellungen", "Sharing" : "Teilen", "Availability" : "Verfügbarkeit", + "Calendar" : "Kalender", "Personal info" : "Persönliche Informationen", "Mobile & desktop" : "Mobil & Desktop", "Email server" : "E-Mail-Server", @@ -166,7 +169,6 @@ OC.L10N.register( "View in store" : "Im Store anzeigen", "Visit website" : "Webseite besuchen", "Report a bug" : "Einen technischen Fehler melden", - "User documentation" : "Dokumentation für Benutzer", "Admin documentation" : "Dokumentation für Administratoren", "Developer documentation" : "Dokumentation für Entwickler", "This app is supported via your current Nextcloud subscription." : "Diese App wird von deinem aktuellen Nextcloud-Abonnement unterstützt.", @@ -297,6 +299,7 @@ OC.L10N.register( "Unable to delete additional email address" : "Zusätzliche E-Mail-Adresse konnte nicht gelöscht werden", "No email address set" : "Keine E-Mail-Adresse angegeben", "Additional emails" : "Zusätzliche E-Mail-Adressen ", + "Your handle" : "Dein Online-Name", "Your headline" : "Deine Überschrift", "Language" : "Sprache", "Help translate" : "Hilf bei der Übersetzung mit", @@ -376,11 +379,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Die folgenden Geräte sind für dein Konto eingerichtet:", "Your browser does not support WebAuthn." : "Dein Browser unterstützt kein WebAuthn.", "Your apps" : "Deine Apps", - "Active apps" : "Aktive Apps", - "Disabled apps" : "Deaktivierte Apps", - "Updates" : "Aktualisierungen", - "App bundles" : "App-Pakete", - "Featured apps" : "Vorgestellte Apps", "{license}-licensed" : "{license}-Lizenziert", "Changelog" : "Liste der Veränderungen", "by {author}\n{license}" : "von {author}\n{license}", @@ -412,7 +410,13 @@ OC.L10N.register( "Website" : "Webseite", "Profile visibility" : "Sichtbarkeit deines Profils", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nicht verfügbar, da diese Eigenschaft für Kernfunktionen wie Dateifreigabe und Kalendereinladungen erforderlich ist.", + "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nicht verfügbar, da das Federation für dein Konto dekativiert ist. Wende dich an deinen Administratior, wenn du Fragen hast.", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nicht verfügbar, da die Veröffentlichung benutzerspezifischer Daten auf dem Lookup-Server nicht zulässig ist. Wende dich bei Fragen an deinen Systemadministrator", + "Active apps" : "Aktive Apps", + "Disabled apps" : "Deaktivierte Apps", + "Updates" : "Aktualisierungen", + "App bundles" : "App-Pakete", + "Featured apps" : "Vorgestellte Apps", "Show to everyone" : "Für jeden sichtbar", "Show to logged in users only" : "Nur für angemeldete Benutzer sichtbar", "Hide" : "Ausblenden", @@ -424,7 +428,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "Es ist ein Fehler bei der Anfrage aufgetreten. Es kann nicht fortgefahren werden.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Die App wurde aktiviert, muss aber aktualisiert werden. Du wirst in 5 Sekunden zur Aktualisierungsseite weitergeleitet.", "Error: This app cannot be enabled because it makes the server unstable" : "Fehler: Diese App kann nicht aktiviert werden, da sie den Server instabil macht. ", - "Administrator documentation" : "Dokumentation für Administratoren", "Documentation" : "Dokumentation", "Forum" : "Forum", "Login" : "Anmelden", diff --git a/apps/settings/l10n/de.json b/apps/settings/l10n/de.json index 4c313c13f19..49dba189a09 100644 --- a/apps/settings/l10n/de.json +++ b/apps/settings/l10n/de.json @@ -70,6 +70,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast erreicht. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.max_accelerated_files</code> mit einem höheren Wert als <code>%s</code> in deiner PHP-Konfiguration anzuwenden.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Der OPcache-Puffer ist fast voll. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.memory_consumption</code> in deiner PHP-Konfiguration mit einem höheren Wert als <code>%s</code> anzuwenden.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Der OPcache-Zwischenspeicher für interne Zeichenfolgen ist fast voll. Um sicherzustellen, dass sich wiederholende Zeichenfolgen effektiv zwischengespeichert werden können, wird empfohlen, <code>opcache.interned_strings_buffer</code> mit einem Wert größer als <code>%s</code> in deiner PHP-Konfiguration anzuwenden.", + "Administrator documentation" : "Dokumentation für Administratoren", + "User documentation" : "Dokumentation für Benutzer", "Invalid SMTP password." : "Ungültiges SMTP-Passwort", "Email setting test" : "Test der E-Mail-Einstellungen", "Well done, %s!" : "Gut gemacht, %s!", @@ -119,6 +121,7 @@ "Basic settings" : "Grundeinstellungen", "Sharing" : "Teilen", "Availability" : "Verfügbarkeit", + "Calendar" : "Kalender", "Personal info" : "Persönliche Informationen", "Mobile & desktop" : "Mobil & Desktop", "Email server" : "E-Mail-Server", @@ -164,7 +167,6 @@ "View in store" : "Im Store anzeigen", "Visit website" : "Webseite besuchen", "Report a bug" : "Einen technischen Fehler melden", - "User documentation" : "Dokumentation für Benutzer", "Admin documentation" : "Dokumentation für Administratoren", "Developer documentation" : "Dokumentation für Entwickler", "This app is supported via your current Nextcloud subscription." : "Diese App wird von deinem aktuellen Nextcloud-Abonnement unterstützt.", @@ -295,6 +297,7 @@ "Unable to delete additional email address" : "Zusätzliche E-Mail-Adresse konnte nicht gelöscht werden", "No email address set" : "Keine E-Mail-Adresse angegeben", "Additional emails" : "Zusätzliche E-Mail-Adressen ", + "Your handle" : "Dein Online-Name", "Your headline" : "Deine Überschrift", "Language" : "Sprache", "Help translate" : "Hilf bei der Übersetzung mit", @@ -374,11 +377,6 @@ "The following devices are configured for your account:" : "Die folgenden Geräte sind für dein Konto eingerichtet:", "Your browser does not support WebAuthn." : "Dein Browser unterstützt kein WebAuthn.", "Your apps" : "Deine Apps", - "Active apps" : "Aktive Apps", - "Disabled apps" : "Deaktivierte Apps", - "Updates" : "Aktualisierungen", - "App bundles" : "App-Pakete", - "Featured apps" : "Vorgestellte Apps", "{license}-licensed" : "{license}-Lizenziert", "Changelog" : "Liste der Veränderungen", "by {author}\n{license}" : "von {author}\n{license}", @@ -410,7 +408,13 @@ "Website" : "Webseite", "Profile visibility" : "Sichtbarkeit deines Profils", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nicht verfügbar, da diese Eigenschaft für Kernfunktionen wie Dateifreigabe und Kalendereinladungen erforderlich ist.", + "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nicht verfügbar, da das Federation für dein Konto dekativiert ist. Wende dich an deinen Administratior, wenn du Fragen hast.", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nicht verfügbar, da die Veröffentlichung benutzerspezifischer Daten auf dem Lookup-Server nicht zulässig ist. Wende dich bei Fragen an deinen Systemadministrator", + "Active apps" : "Aktive Apps", + "Disabled apps" : "Deaktivierte Apps", + "Updates" : "Aktualisierungen", + "App bundles" : "App-Pakete", + "Featured apps" : "Vorgestellte Apps", "Show to everyone" : "Für jeden sichtbar", "Show to logged in users only" : "Nur für angemeldete Benutzer sichtbar", "Hide" : "Ausblenden", @@ -422,7 +426,6 @@ "An error occurred during the request. Unable to proceed." : "Es ist ein Fehler bei der Anfrage aufgetreten. Es kann nicht fortgefahren werden.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Die App wurde aktiviert, muss aber aktualisiert werden. Du wirst in 5 Sekunden zur Aktualisierungsseite weitergeleitet.", "Error: This app cannot be enabled because it makes the server unstable" : "Fehler: Diese App kann nicht aktiviert werden, da sie den Server instabil macht. ", - "Administrator documentation" : "Dokumentation für Administratoren", "Documentation" : "Dokumentation", "Forum" : "Forum", "Login" : "Anmelden", diff --git a/apps/settings/l10n/de_DE.js b/apps/settings/l10n/de_DE.js index 8af48884740..0dd87783286 100644 --- a/apps/settings/l10n/de_DE.js +++ b/apps/settings/l10n/de_DE.js @@ -73,6 +73,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast erreicht. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.max_accelerated_files</code> mit einem höheren Wert als <code>%s</code> in Ihrer PHP-Konfiguration anzuwenden.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Der OPcache-Puffer ist fast voll. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.memory_consumption</code> auf Ihre PHP-Konfiguration mit einem höheren Wert als <code>%s</code> anzuwenden. ", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Der OPcache-Zwischenspeicher für interne Zeichenfolgen ist fast voll. Um sicherzustellen, dass sich wiederholende Zeichenfolgen effektiv zwischengespeichert werden können, wird empfohlen, <code>opcache.interned_strings_buffer</code> mit einem Wert größer als <code>%s</code> auf Ihre PHP-Konfiguration anzuwenden.", + "Administrator documentation" : "Dokumentation für die Administration", + "User documentation" : "Dokumentation für Benutzer", "Invalid SMTP password." : "Ungültiges SMTP-Passwort.", "Email setting test" : "Test der E-Mail-Einstellungen", "Well done, %s!" : "Gut gemacht, %s!", @@ -122,6 +124,7 @@ OC.L10N.register( "Basic settings" : "Grundeinstellungen", "Sharing" : "Teilen", "Availability" : "Verfügbarkeit", + "Calendar" : "Kalender", "Personal info" : "Persönliche Informationen", "Mobile & desktop" : "Mobil & Desktop", "Email server" : "E-Mail-Server", @@ -169,7 +172,6 @@ OC.L10N.register( "View in store" : "Im Store anzeigen", "Visit website" : "Webseite besuchen", "Report a bug" : "Einen technischen Fehler melden", - "User documentation" : "Dokumentation für Benutzer", "Admin documentation" : "Dokumentation für die Administration", "Developer documentation" : "Dokumentation für Entwickler", "This app is supported via your current Nextcloud subscription." : "Diese App wird von Ihrem aktuellen Nextcloud-Abonnement unterstützt.", @@ -301,6 +303,7 @@ OC.L10N.register( "Unable to delete additional email address" : "Zusätzliche E-Mail-Adresse konnte nicht gelöscht werden", "No email address set" : "Keine E-Mail-Adresse angegeben", "Additional emails" : "Zusätzliche E-Mail-Adressen", + "Your handle" : "Dein Online-Name", "Your headline" : "Ihre Überschrift", "Language" : "Sprache", "Help translate" : "Helfen Sie bei der Übersetzung", @@ -380,11 +383,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Die folgenden Geräte sind für Ihr Konto eingerichtet:", "Your browser does not support WebAuthn." : "Ihr Browser unterstützt kein WebAuthn.", "Your apps" : "Ihre Apps", - "Active apps" : "Aktive Apps", - "Disabled apps" : "Deaktivierte Apps", - "Updates" : "Aktualisierungen", - "App bundles" : "App-Pakete", - "Featured apps" : "Vorgestellte Apps", "{license}-licensed" : "{license}-Lizenziert", "Changelog" : "Liste der Änderungen", "by {author}\n{license}" : "von {author}\n{license}", @@ -413,11 +411,17 @@ OC.L10N.register( "Phone number" : "Telefonnummer", "Role" : "Funktion", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse (wie z.B. Mastodon)", "Website" : "Webseite", "Profile visibility" : "Sichtbarkeit des Profils", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nicht verfügbar, da diese Eigenschaft für Kernfunktionen wie Dateifreigabe und Kalendereinladungen erforderlich ist.", - "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nicht verfügbar, das Federation für Ihr Kionto dekativiert ist. Wenden Sie sich an Ihre Administration, wenn Sie Fragen haben", + "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nicht verfügbar, da Föderation für Ihr Konto deaktiviert ist. Bitte wenden Sie sich an Ihre Administration, wenn Sie Fragen haben", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nicht verfügbar, da die Veröffentlichung benutzerspezifischer Daten auf dem Lookup-Server nicht zulässig ist. Wenden Sie sich bei Fragen an Ihre Systemadministration.", + "Active apps" : "Aktive Apps", + "Disabled apps" : "Deaktivierte Apps", + "Updates" : "Aktualisierungen", + "App bundles" : "App-Pakete", + "Featured apps" : "Vorgestellte Apps", "Show to everyone" : "Jedem anzeigen", "Show to logged in users only" : "Nur angemeldeten Benutzern anzeigen", "Hide" : "Ausblenden", @@ -429,7 +433,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "Es ist ein Fehler bei der Anfrage aufgetreten. Es kann nicht fortgefahren werden.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Die App wurde aktiviert, muss aber aktualisiert werden. Sie werden in 5 Sekunden zur Aktualisierungsseite weitergeleitet.", "Error: This app cannot be enabled because it makes the server unstable" : "Fehler: Diese App kann nicht aktiviert werden, da sie den Server instabil macht. ", - "Administrator documentation" : "Dokumentation für die Administration", "Documentation" : "Dokumentation", "Forum" : "Forum", "Login" : "Anmelden", diff --git a/apps/settings/l10n/de_DE.json b/apps/settings/l10n/de_DE.json index c69589557cd..ea065b383b0 100644 --- a/apps/settings/l10n/de_DE.json +++ b/apps/settings/l10n/de_DE.json @@ -71,6 +71,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast erreicht. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.max_accelerated_files</code> mit einem höheren Wert als <code>%s</code> in Ihrer PHP-Konfiguration anzuwenden.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Der OPcache-Puffer ist fast voll. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.memory_consumption</code> auf Ihre PHP-Konfiguration mit einem höheren Wert als <code>%s</code> anzuwenden. ", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Der OPcache-Zwischenspeicher für interne Zeichenfolgen ist fast voll. Um sicherzustellen, dass sich wiederholende Zeichenfolgen effektiv zwischengespeichert werden können, wird empfohlen, <code>opcache.interned_strings_buffer</code> mit einem Wert größer als <code>%s</code> auf Ihre PHP-Konfiguration anzuwenden.", + "Administrator documentation" : "Dokumentation für die Administration", + "User documentation" : "Dokumentation für Benutzer", "Invalid SMTP password." : "Ungültiges SMTP-Passwort.", "Email setting test" : "Test der E-Mail-Einstellungen", "Well done, %s!" : "Gut gemacht, %s!", @@ -120,6 +122,7 @@ "Basic settings" : "Grundeinstellungen", "Sharing" : "Teilen", "Availability" : "Verfügbarkeit", + "Calendar" : "Kalender", "Personal info" : "Persönliche Informationen", "Mobile & desktop" : "Mobil & Desktop", "Email server" : "E-Mail-Server", @@ -167,7 +170,6 @@ "View in store" : "Im Store anzeigen", "Visit website" : "Webseite besuchen", "Report a bug" : "Einen technischen Fehler melden", - "User documentation" : "Dokumentation für Benutzer", "Admin documentation" : "Dokumentation für die Administration", "Developer documentation" : "Dokumentation für Entwickler", "This app is supported via your current Nextcloud subscription." : "Diese App wird von Ihrem aktuellen Nextcloud-Abonnement unterstützt.", @@ -299,6 +301,7 @@ "Unable to delete additional email address" : "Zusätzliche E-Mail-Adresse konnte nicht gelöscht werden", "No email address set" : "Keine E-Mail-Adresse angegeben", "Additional emails" : "Zusätzliche E-Mail-Adressen", + "Your handle" : "Dein Online-Name", "Your headline" : "Ihre Überschrift", "Language" : "Sprache", "Help translate" : "Helfen Sie bei der Übersetzung", @@ -378,11 +381,6 @@ "The following devices are configured for your account:" : "Die folgenden Geräte sind für Ihr Konto eingerichtet:", "Your browser does not support WebAuthn." : "Ihr Browser unterstützt kein WebAuthn.", "Your apps" : "Ihre Apps", - "Active apps" : "Aktive Apps", - "Disabled apps" : "Deaktivierte Apps", - "Updates" : "Aktualisierungen", - "App bundles" : "App-Pakete", - "Featured apps" : "Vorgestellte Apps", "{license}-licensed" : "{license}-Lizenziert", "Changelog" : "Liste der Änderungen", "by {author}\n{license}" : "von {author}\n{license}", @@ -411,11 +409,17 @@ "Phone number" : "Telefonnummer", "Role" : "Funktion", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse (wie z.B. Mastodon)", "Website" : "Webseite", "Profile visibility" : "Sichtbarkeit des Profils", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nicht verfügbar, da diese Eigenschaft für Kernfunktionen wie Dateifreigabe und Kalendereinladungen erforderlich ist.", - "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nicht verfügbar, das Federation für Ihr Kionto dekativiert ist. Wenden Sie sich an Ihre Administration, wenn Sie Fragen haben", + "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nicht verfügbar, da Föderation für Ihr Konto deaktiviert ist. Bitte wenden Sie sich an Ihre Administration, wenn Sie Fragen haben", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nicht verfügbar, da die Veröffentlichung benutzerspezifischer Daten auf dem Lookup-Server nicht zulässig ist. Wenden Sie sich bei Fragen an Ihre Systemadministration.", + "Active apps" : "Aktive Apps", + "Disabled apps" : "Deaktivierte Apps", + "Updates" : "Aktualisierungen", + "App bundles" : "App-Pakete", + "Featured apps" : "Vorgestellte Apps", "Show to everyone" : "Jedem anzeigen", "Show to logged in users only" : "Nur angemeldeten Benutzern anzeigen", "Hide" : "Ausblenden", @@ -427,7 +431,6 @@ "An error occurred during the request. Unable to proceed." : "Es ist ein Fehler bei der Anfrage aufgetreten. Es kann nicht fortgefahren werden.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Die App wurde aktiviert, muss aber aktualisiert werden. Sie werden in 5 Sekunden zur Aktualisierungsseite weitergeleitet.", "Error: This app cannot be enabled because it makes the server unstable" : "Fehler: Diese App kann nicht aktiviert werden, da sie den Server instabil macht. ", - "Administrator documentation" : "Dokumentation für die Administration", "Documentation" : "Dokumentation", "Forum" : "Forum", "Login" : "Anmelden", diff --git a/apps/settings/l10n/el.js b/apps/settings/l10n/el.js index 8d489f3993f..f12ae29a63d 100644 --- a/apps/settings/l10n/el.js +++ b/apps/settings/l10n/el.js @@ -58,6 +58,8 @@ OC.L10N.register( "installing and updating apps via the App Store or Federated Cloud Sharing" : "εγκατάσταση και ενημέρωση εφαρμογών μέσω του App Store ή του Federated Cloud Sharing", "Federated Cloud Sharing" : "Διαμοιρασμός σε ομόσπονδα σύννεφα ", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "Το cURL χρησιμοποιεί μια παρωχημένη %1$s έκδοση (%2$s). Παρακαλούμε αναβαθμίστε το λειτουργικό σας σύστημα αλλιώς δυνατότητες όπως %3$s δεν θα δουλέψουν αξιόπιστα.", + "Administrator documentation" : "Τεκμηρίωση Διαχειριστή", + "User documentation" : "Τεκμηρίωση Χρήστη", "Invalid SMTP password." : "Μη έγκυρο συνθηματικό SMTP.", "Email setting test" : "Δοκιμή ρυθμίσεων email", "Well done, %s!" : "Συγχαρητήρια, %s!", @@ -107,6 +109,7 @@ OC.L10N.register( "Basic settings" : "Βασικές ρυθμίσεις", "Sharing" : "Διαμοιρασμός", "Availability" : "Διαθεσιμότητα", + "Calendar" : "Ημερολόγιο", "Personal info" : "Προσωπικές πληροφορίες", "Mobile & desktop" : "Κινητό & σταθερό", "Email server" : "Διακομιστής Email", @@ -148,7 +151,6 @@ OC.L10N.register( "View in store" : "Προβολή στο κέντρο εφαρμογών", "Visit website" : "Επισκεφθείτε την ιστοσελίδα", "Report a bug" : "Αναφορά σφάλματος", - "User documentation" : "Τεκμηρίωση Χρήστη", "Admin documentation" : "Τεκμηρίωση Διαχειριστή", "Developer documentation" : "Τεκμηρίωση προγραμματιστή", "This app is supported via your current Nextcloud subscription." : "Αυτή η εφαρμογή υποστηρίζεται μέσω της τρέχουσας συνδρομής σας στο Nextcloud.", @@ -320,11 +322,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Οι ακόλουθες συσκευές ρυθμίστηκαν για τον λογαριασμό σας:", "Your browser does not support WebAuthn." : "Ο περιηγητής σας δεν υποστηρίζει το WebAuthn.", "Your apps" : "Οι εφαρμογές σας", - "Active apps" : "Ενεργές εφαρμογές", - "Disabled apps" : "Απενεργοποιημένες εφαρμογές", - "Updates" : "Ενημερώσεις", - "App bundles" : "Πακέτα εφαρμογών", - "Featured apps" : "Προτεινόμενες εφαρμογές", "{license}-licensed" : "{license}-αδειοδοτημένο", "Changelog" : "Αρχείο καταγραφής αλλαγών", "by {author}\n{license}" : "από {author}\n{license}", @@ -357,6 +354,11 @@ OC.L10N.register( "Profile visibility" : "Ορατότητα προφίλ", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Δεν είναι διαθέσιμη, καθώς αυτή η ιδιότητα απαιτείται για βασικές λειτουργίες, συμπεριλαμβανομένης της κοινής χρήσης αρχείων και των προσκλήσεων ημερολογίου", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Δεν είναι διαθέσιμο καθώς δεν επιτρέπεται η δημοσίευση δεδομένων χρήστη στον διακομιστή αναζήτησης. Επικοινωνήστε με τον διαχειριστή του συστήματός σας εάν έχετε οποιεσδήποτε ερωτήσεις", + "Active apps" : "Ενεργές εφαρμογές", + "Disabled apps" : "Απενεργοποιημένες εφαρμογές", + "Updates" : "Ενημερώσεις", + "App bundles" : "Πακέτα εφαρμογών", + "Featured apps" : "Προτεινόμενες εφαρμογές", "Show to everyone" : "Εμφάνιση σε όλους", "Show to logged in users only" : "Εμφάνιση μόνο σε συνδεδεμένους χρήστες", "Hide" : "Απόκρυψη", @@ -367,7 +369,6 @@ OC.L10N.register( "Never" : "Ποτέ", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Η εφαρμογή έχει ενεργοποιηθεί αλλά χρειάζεται ενημέρωση. Θα μεταφερθείτε στη σελίδα ενημέρωσης σε 5 δευτερόλεπτα.", "Error: This app cannot be enabled because it makes the server unstable" : "Σφάλμα: Αυτή η εφαρμογή δεν μπορεί να ενεργοποιηθεί γιατί θα καταστήσει ασταθή τον διακομιστή.", - "Administrator documentation" : "Τεκμηρίωση Διαχειριστή", "Documentation" : "Τεκμηρίωση", "Forum" : "Φόρουμ", "Login" : "Σύνδεση", diff --git a/apps/settings/l10n/el.json b/apps/settings/l10n/el.json index 65cd8725179..0b5c1439188 100644 --- a/apps/settings/l10n/el.json +++ b/apps/settings/l10n/el.json @@ -56,6 +56,8 @@ "installing and updating apps via the App Store or Federated Cloud Sharing" : "εγκατάσταση και ενημέρωση εφαρμογών μέσω του App Store ή του Federated Cloud Sharing", "Federated Cloud Sharing" : "Διαμοιρασμός σε ομόσπονδα σύννεφα ", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "Το cURL χρησιμοποιεί μια παρωχημένη %1$s έκδοση (%2$s). Παρακαλούμε αναβαθμίστε το λειτουργικό σας σύστημα αλλιώς δυνατότητες όπως %3$s δεν θα δουλέψουν αξιόπιστα.", + "Administrator documentation" : "Τεκμηρίωση Διαχειριστή", + "User documentation" : "Τεκμηρίωση Χρήστη", "Invalid SMTP password." : "Μη έγκυρο συνθηματικό SMTP.", "Email setting test" : "Δοκιμή ρυθμίσεων email", "Well done, %s!" : "Συγχαρητήρια, %s!", @@ -105,6 +107,7 @@ "Basic settings" : "Βασικές ρυθμίσεις", "Sharing" : "Διαμοιρασμός", "Availability" : "Διαθεσιμότητα", + "Calendar" : "Ημερολόγιο", "Personal info" : "Προσωπικές πληροφορίες", "Mobile & desktop" : "Κινητό & σταθερό", "Email server" : "Διακομιστής Email", @@ -146,7 +149,6 @@ "View in store" : "Προβολή στο κέντρο εφαρμογών", "Visit website" : "Επισκεφθείτε την ιστοσελίδα", "Report a bug" : "Αναφορά σφάλματος", - "User documentation" : "Τεκμηρίωση Χρήστη", "Admin documentation" : "Τεκμηρίωση Διαχειριστή", "Developer documentation" : "Τεκμηρίωση προγραμματιστή", "This app is supported via your current Nextcloud subscription." : "Αυτή η εφαρμογή υποστηρίζεται μέσω της τρέχουσας συνδρομής σας στο Nextcloud.", @@ -318,11 +320,6 @@ "The following devices are configured for your account:" : "Οι ακόλουθες συσκευές ρυθμίστηκαν για τον λογαριασμό σας:", "Your browser does not support WebAuthn." : "Ο περιηγητής σας δεν υποστηρίζει το WebAuthn.", "Your apps" : "Οι εφαρμογές σας", - "Active apps" : "Ενεργές εφαρμογές", - "Disabled apps" : "Απενεργοποιημένες εφαρμογές", - "Updates" : "Ενημερώσεις", - "App bundles" : "Πακέτα εφαρμογών", - "Featured apps" : "Προτεινόμενες εφαρμογές", "{license}-licensed" : "{license}-αδειοδοτημένο", "Changelog" : "Αρχείο καταγραφής αλλαγών", "by {author}\n{license}" : "από {author}\n{license}", @@ -355,6 +352,11 @@ "Profile visibility" : "Ορατότητα προφίλ", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Δεν είναι διαθέσιμη, καθώς αυτή η ιδιότητα απαιτείται για βασικές λειτουργίες, συμπεριλαμβανομένης της κοινής χρήσης αρχείων και των προσκλήσεων ημερολογίου", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Δεν είναι διαθέσιμο καθώς δεν επιτρέπεται η δημοσίευση δεδομένων χρήστη στον διακομιστή αναζήτησης. Επικοινωνήστε με τον διαχειριστή του συστήματός σας εάν έχετε οποιεσδήποτε ερωτήσεις", + "Active apps" : "Ενεργές εφαρμογές", + "Disabled apps" : "Απενεργοποιημένες εφαρμογές", + "Updates" : "Ενημερώσεις", + "App bundles" : "Πακέτα εφαρμογών", + "Featured apps" : "Προτεινόμενες εφαρμογές", "Show to everyone" : "Εμφάνιση σε όλους", "Show to logged in users only" : "Εμφάνιση μόνο σε συνδεδεμένους χρήστες", "Hide" : "Απόκρυψη", @@ -365,7 +367,6 @@ "Never" : "Ποτέ", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Η εφαρμογή έχει ενεργοποιηθεί αλλά χρειάζεται ενημέρωση. Θα μεταφερθείτε στη σελίδα ενημέρωσης σε 5 δευτερόλεπτα.", "Error: This app cannot be enabled because it makes the server unstable" : "Σφάλμα: Αυτή η εφαρμογή δεν μπορεί να ενεργοποιηθεί γιατί θα καταστήσει ασταθή τον διακομιστή.", - "Administrator documentation" : "Τεκμηρίωση Διαχειριστή", "Documentation" : "Τεκμηρίωση", "Forum" : "Φόρουμ", "Login" : "Σύνδεση", diff --git a/apps/settings/l10n/en_GB.js b/apps/settings/l10n/en_GB.js index 57aa2c344aa..e1db4145c31 100644 --- a/apps/settings/l10n/en_GB.js +++ b/apps/settings/l10n/en_GB.js @@ -2,8 +2,13 @@ OC.L10N.register( "settings", { "Private" : "Private", + "Only visible to people matched via phone number integration through Talk on mobile" : "Only visible to people matched via phone number integration through Talk on mobile", "Local" : "Local", + "Only visible to people on this instance and guests" : "Only visible to people on this instance and guests", "Federated" : "Federated", + "Only synchronize to trusted servers" : "Only synchronize to trusted servers", + "Published" : "Published", + "Synchronize to trusted servers and the global and public address book" : "Synchronize to trusted servers and the global and public address book", "Verify" : "Verify", "Verifying …" : "Verifying …", "Unable to change password" : "Unable to change password", @@ -15,39 +20,82 @@ OC.L10N.register( "Groups" : "Groups", "Group list is empty" : "Group list is empty", "Unable to retrieve the group list" : "Unable to retrieve the group list", + "{actor} added you to group {group}" : "{actor} added you to group {group}", + "You added {user} to group {group}" : "You added {user} to group {group}", + "{actor} added {user} to group {group}" : "{actor} added {user} to group {group}", + "An administrator added you to group {group}" : "An administrator added you to group {group}", + "An administrator added {user} to group {group}" : "An administrator added {user} to group {group}", + "{actor} removed you from group {group}" : "{actor} removed you from group {group}", + "You removed {user} from group {group}" : "You removed {user} from group {group}", + "{actor} removed {user} from group {group}" : "{actor} removed {user} from group {group}", + "An administrator removed you from group {group}" : "An administrator removed you from group {group}", + "An administrator removed {user} from group {group}" : "An administrator removed {user} from group {group}", + "Your <strong>group memberships</strong> were modified" : "Your <strong>group memberships</strong> were modified", "{actor} changed your password" : "{actor} changed your password", "You changed your password" : "You changed your password", "Your password was reset by an administrator" : "Your password was reset by an administrator", + "Your password was reset" : "Your password was reset", "{actor} changed your email address" : "{actor} changed your email address", "You changed your email address" : "You changed your email address", "Your email address was changed by an administrator" : "Your email address was changed by an administrator", + "You created app password \"{token}\"" : "You created app password \"{token}\"", + "An administrator created app password \"{token}\"" : "An administrator created app password \"{token}\"", + "You deleted app password \"{token}\"" : "You deleted app password \"{token}\"", + "You renamed app password \"{token}\" to \"{newToken}\"" : "You renamed app password \"{token}\" to \"{newToken}\"", + "You granted filesystem access to app password \"{token}\"" : "You granted filesystem access to app password \"{token}\"", + "You revoked filesystem access from app password \"{token}\"" : "You revoked filesystem access from app password \"{token}\"", "Security" : "Security", "You successfully logged in using two-factor authentication (%1$s)" : "You successfully logged in using two-factor authentication (%1$s)", "A login attempt using two-factor authentication failed (%1$s)" : "A login attempt using two-factor authentication failed (%1$s)", + "Remote wipe was started on %1$s" : "Remote wipe was started on %1$s", + "Remote wipe has finished on %1$s" : "Remote wipe has finished on %1$s", "Your <strong>password</strong> or <strong>email</strong> was modified" : "Your <strong>password</strong> or <strong>email</strong> was modified", + "Could not remove app." : "Could not remove app.", + "Could not update app." : "Could not update app.", "Wrong password" : "Incorrect password", + "Unable to change personal password" : "Unable to change personal password", "Saved" : "Saved", "No user supplied" : "No user supplied", + "Unable to change password. Password too long." : "Unable to change password. Password too long.", "Authentication error" : "Authentication error", "Please provide an admin recovery password; otherwise, all user data will be lost." : "Please provide an admin recovery password; otherwise, all user data will be lost.", "Wrong admin recovery password. Please check the password and try again." : "Incorrect admin recovery password. Please check the password and try again.", + "Backend does not support password change, but the user's encryption key was updated." : "Backend does not support password change, but the user's encryption key was updated.", + "installing and updating apps via the App Store or Federated Cloud Sharing" : "installing and updating apps via the App Store or Federated Cloud Sharing", "Federated Cloud Sharing" : "Federated Cloud Sharing", + "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably.", + "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details." : "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details.", + "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation.", + "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration.", + "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function.", + "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades.", + "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades.", + "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>.", + "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>.", + "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>.", + "Administrator documentation" : "Administrator documentation", + "User documentation" : "User documentation", "Invalid SMTP password." : "Invalid SMTP password.", "Email setting test" : "Email setting test", "Well done, %s!" : "Well done, %s!", "If you received this email, the email configuration seems to be correct." : "If you received this email, the email configuration seems to be correct.", "Email could not be sent. Check your mail server log" : "Email could not be sent. Check your mail server log", "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "A problem occurred while sending the email. Please revise your settings. (Error: %s)", + "You need to set your user email before being able to send test emails. Go to %s for that." : "You need to set your user email before being able to send test emails. Go to %s for that.", "Invalid user" : "Invalid user", "Invalid mail address" : "Invalid mail address", "Settings saved" : "Settings saved", "Unable to change full name" : "Unable to change full name", "Unable to change email address" : "Unable to change email address", + "Unable to set invalid phone number" : "Unable to set invalid phone number", + "Unable to set invalid website" : "Unable to set invalid website", + "Some account data was invalid" : "Some account data was invalid", "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):", "In order to verify your Website, store the following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "In order to verify your Website, store the following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):", "%1$s changed your password on %2$s." : "%1$s changed your password on %2$s.", "Your password on %s was changed." : "Your password on %s was changed.", "Your password on %s was reset by an administrator." : "Your password on %s was reset by an administrator.", + "Your password on %s was reset." : "Your password on %s was reset.", "Password for %1$s changed on %2$s" : "Password for %1$s changed on %2$s", "Password changed for %s" : "Password changed for %s", "If you did not request this, please contact an administrator." : "If you did not request this, please contact an administrator.", @@ -70,9 +118,13 @@ OC.L10N.register( "Personal" : "Personal", "Administration" : "Administration", "Additional settings" : "Additional settings", + "Administration privileges" : "Administration privileges", + "Groupware" : "Groupware", "Overview" : "Overview", "Basic settings" : "Basic settings", "Sharing" : "Sharing", + "Availability" : "Availability", + "Calendar" : "Calendar", "Personal info" : "Personal info", "Mobile & desktop" : "Mobile & desktop", "Email server" : "Email server", @@ -81,12 +133,35 @@ OC.L10N.register( "Create" : "Create", "Change" : "Change", "Delete" : "Delete", + "Reshare" : "Reshare", "Unlimited" : "Unlimited", "Verifying" : "Verifying", + "A background job is pending that checks for user imported SSL certificates. Please check back later." : "A background job is pending that checks for user imported SSL certificates. Please check back later.", + "There are some user imported SSL certificates present, that are not used anymore with Nextcloud 21. They can be imported on the command line via \"occ security:certificates:import\" command. Their paths inside the data directory are shown below." : "There are some user imported SSL certificates present, that are not used anymore with Nextcloud 21. They can be imported on the command line via \"occ security:certificates:import\" command. Their paths inside the data directory are shown below.", + "Invalid UUIDs of LDAP users or groups have been found. Please review your \"Override UUID detection\" settings in the Expert part of the LDAP configuration and use \"occ ldap:update-uuid\" to update them." : "Invalid UUIDs of LDAP users or groups have been found. Please review your \"Override UUID detection\" settings in the Expert part of the LDAP configuration and use \"occ ldap:update-uuid\" to update them.", + "The old server-side-encryption format is enabled. We recommend disabling this." : "The old server-side-encryption format is enabled. We recommend disabling this.", + "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher." : "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher.", + "MySQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MySQL 8.0 or MariaDB 10.2 or higher." : "MySQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MySQL 8.0 or MariaDB 10.2 or higher.", + "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher." : "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher.", + "Profile information" : "Profile information", + "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled", + "Nextcloud settings" : "Nextcloud settings", + "Here you can decide which group can access certain sections of the administration settings." : "Here you can decide which group can access certain sections of the administration settings.", "None" : "None", + "Unable to modify setting" : "Unable to modify setting", + "Two-Factor Authentication" : "Two-Factor Authentication", + "Two-factor authentication can be enforced for all users and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "Two-factor authentication can be enforced for all users and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system.", + "Enforce two-factor authentication" : "Enforce two-factor authentication", "Limit to groups" : "Limit to groups", + "Enforcement of two-factor authentication can be set for certain groups only." : "Enforcement of two-factor authentication can be set for certain groups only.", + "Two-factor authentication is enforced for all members of the following groups." : "Two-factor authentication is enforced for all members of the following groups.", + "Enforced groups" : "Enforced groups", + "Two-factor authentication is not enforced for members of the following groups." : "Two-factor authentication is not enforced for members of the following groups.", + "Excluded groups" : "Excluded groups", + "When groups are selected/excluded, they use the following logic to determine if a user has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If a user is both in a selected and excluded group, the selected takes precedence and 2FA is enforced." : "When groups are selected/excluded, they use the following logic to determine if a user has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If a user is both in a selected and excluded group, the selected takes precedence and 2FA is enforced.", "Save changes" : "Save changes", "All" : "All", + "Limit app usage to groups" : "Limit app usage to groups", "No results" : "No results", "Update to {version}" : "Update to {version}", "Remove" : "Remove", @@ -97,30 +172,52 @@ OC.L10N.register( "View in store" : "View in store", "Visit website" : "Visit website", "Report a bug" : "Report a bug", - "User documentation" : "User documentation", "Admin documentation" : "Admin documentation", "Developer documentation" : "Developer documentation", + "This app is supported via your current Nextcloud subscription." : "This app is supported via your current Nextcloud subscription.", + "Supported" : "Supported", + "Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "Featured apps are developed by and within the community. They offer central functionality and are ready for production use.", "Featured" : "Featured", + "Update to {update}" : "Update to {update}", + "All apps are up-to-date." : "All apps are up-to-date.", + "Results from other categories" : "Results from other categories", "No apps found for your version" : "No apps found for your version", "Disable all" : "Disable all", "Enable all" : "Enable all", + "_%n app has an update available_::_%n apps have an update available_" : ["%n app has an update available","%n apps have an update available"], + "_Update_::_Update all_" : ["Update","Update all"], + "Marked for remote wipe" : "Marked for remote wipe", + "Device settings" : "Device settings", "Allow filesystem access" : "Allow filesystem access", "Rename" : "Rename", "Revoke" : "Revoke", + "Wipe device" : "Wipe device", + "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Revoking this token might prevent the wiping of your device if it has not started the wipe yet.", "Internet Explorer" : "Internet Explorer", "Edge" : "Edge", "Firefox" : "Firefox", "Google Chrome" : "Google Chrome", "Safari" : "Safari", "Google Chrome for Android" : "Google Chrome for Android", + "iPhone" : "iPhone", + "iPad" : "iPad", + "{productName} iOS app" : "{productName} iOS app", + "{productName} Android app" : "{productName} Android app", + "{productName} Talk for iOS" : "{productName} Talk for iOS", + "{productName} Talk for Android" : "{productName} Talk for Android", "Sync client - {os}" : "Sync client - {os}", "This session" : "This session", "Device" : "Device", "Last activity" : "Last activity", "Devices & sessions" : "Devices & sessions", "Web, desktop and mobile clients currently logged in to your account." : "Web, desktop and mobile clients currently logged in to your account.", + "Do you really want to wipe your data from this device?" : "Do you really want to wipe your data from this device?", + "Confirm wipe" : "Confirm wipe", "Error while creating device token" : "Error while creating device token", + "Error while updating device token scope" : "Error while updating device token scope", + "Error while updating device token name" : "Error while updating device token name", "Error while deleting the token" : "Error while deleting the token", + "Error while wiping the device with the token" : "Error while wiping the device with the token", "App name" : "App name", "Create new app password" : "Create new app password", "Use the credentials below to configure your app or device." : "Use the credentials below to configure your app or device.", @@ -128,13 +225,31 @@ OC.L10N.register( "Username" : "Username", "Password" : "Password", "Done" : "Done", + "Show QR code for mobile apps" : "Show QR code for mobile apps", "Copied!" : "Copied!", "Copy" : "Copy", + "Could not copy app password. Please copy it manually." : "Could not copy app password. Please copy it manually.", + "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information.", + "Last job execution ran {time}. Something seems wrong." : "Last job execution ran {time}. Something seems wrong.", + "Last job ran {relativeTime}." : "Last job ran {relativeTime}.", + "Background job did not run yet!" : "Background job did not run yet!", + "AJAX" : "AJAX", + "Execute one task with each page loaded. Use case: Single user instance." : "Execute one task with each page loaded. Use case: Single user instance.", + "Webcron" : "Webcron", + "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage).", + "Cron (Recommended)" : "Cron (Recommended)", "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details.", + "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances.", + "The cron.php needs to be executed by the system user \"{user}\"." : "The cron.php needs to be executed by the system user \"{user}\".", + "Unable to update background job mode" : "Unable to update background job mode", + "Profile" : "Profile", + "Enable or disable profile by default for new users." : "Enable or disable profile by default for new users.", "Enable" : "Enable", + "Unable to update profile default setting" : "Unable to update profile default setting", "Server-side encryption" : "Server-side encryption", "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 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.", "Enable server-side encryption" : "Enable server-side encryption", + "Please read carefully before activating server-side encryption:" : "Please read carefully before activating server-side encryption:", "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." : "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.", "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Encryption alone does not guarantee complete security. Please read the documentation for information on how the encryption app works, and supported use cases.", "Be aware that encryption always increases the file size." : "Be aware that encryption always increases the file size.", @@ -142,56 +257,146 @@ OC.L10N.register( "This is the final warning: Do you really want to enable encryption?" : "This is the final warning: Do you really want to enable encryption?", "No encryption module loaded, please enable an encryption module in the app menu." : "No encryption module loaded, please enable an encryption module in the app menu.", "Select default encryption module:" : "Select default encryption module:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}", + "Unable to update server side encryption config" : "Unable to update server side encryption config", + "Rename group" : "Rename group", "Remove group" : "Remove group", "You are about to remove the group {group}. The users will NOT be deleted." : "You are about to remove the group {group}. The users will NOT be deleted.", "Please confirm the group removal " : "Please confirm the group removal ", "Current password" : "Current password", "New password" : "New password", "Change password" : "Change password", + "Your profile picture" : "Your profile picture", + "Upload profile picture" : "Upload profile picture", + "Choose profile picture from files" : "Choose profile picture from files", + "Remove profile picture" : "Remove profile picture", "png or jpg, max. 20 MB" : "png or jpg, max. 20 MB", "Picture provided by original account" : "Picture provided by original account", "Cancel" : "Cancel", + "Set as profile picture" : "Set as profile picture", + "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Please note that it can take up to 24 hours for your profile picture to be updated everywhere.", + "Choose your profile picture" : "Choose your profile picture", + "Please select a valid png or jpg file" : "Please select a valid png or jpg file", + "Error setting profile picture" : "Error setting profile picture", + "Error cropping profile picture" : "Error cropping profile picture", + "Error saving profile picture" : "Error saving profile picture", + "Error removing profile picture" : "Error removing profile picture", + "Your biography" : "Your biography", "Details" : "Details", + "You are a member of the following groups:" : "You are a member of the following groups:", + "You are using <strong>{usage}</strong>" : "You are using <strong>{usage}</strong>", + "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)", + "Your full name" : "Your full name", + "Email options" : "Email options", + "Primary email for password reset and notifications" : "Primary email for password reset and notifications", + "Remove primary email" : "Remove primary email", + "Delete email" : "Delete email", + "Unset as primary email" : "Unset as primary email", + "This address is not confirmed" : "This address is not confirmed", + "Set as primary email" : "Set as primary email", "Your email address" : "Your email address", + "Additional email address {index}" : "Additional email address {index}", + "Unable to delete primary email address" : "Unable to delete primary email address", + "Unable to update primary email address" : "Unable to update primary email address", + "Unable to add additional email address" : "Unable to add additional email address", + "Unable to update additional email address" : "Unable to update additional email address", + "Unable to delete additional email address" : "Unable to delete additional email address", "No email address set" : "No email address set", + "Additional emails" : "Additional emails", + "Your handle" : "Your handle", + "Your headline" : "Your headline", "Language" : "Language", "Help translate" : "Help translate", + "Unable to update language" : "Unable to update language", + "No language set" : "No language set", + "Locale" : "Locale", + "Week starts on {firstDayOfWeek}" : "Week starts on {firstDayOfWeek}", + "Unable to update locale" : "Unable to update locale", + "No locale set" : "No locale set", + "Your location" : "Your location", + "Your organisation" : "Your organisation", "Your phone number" : "Your phone number", + "Edit your Profile visibility" : "Edit your Profile visibility", + "Enable Profile" : "Enable Profile", + "Unable to update profile enabled state" : "Unable to update profile enabled state", + "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected.", + "{displayId}" : "{displayId}", + "Unable to update visibility of {displayId}" : "Unable to update visibility of {displayId}", + "Your role" : "Your role", "Your Twitter handle" : "Your Twitter handle", "Your website" : "Your website", + "No {property} set" : "No {property} set", + "Unable to update {property}" : "Unable to update {property}", + "Change scope level of {property}, current scope is {scope}" : "Change scope level of {property}, current scope is {scope}", + "Unable to update federation scope of the primary {property}" : "Unable to update federation scope of the primary {property}", + "Unable to update federation scope of additional {property}" : "Unable to update federation scope of additional {property}", + "Add additional email" : "Add additional email", "Add" : "Add", "You do not have permissions to see the details of this user" : "You do not have permissions to see the details of this user", + "Add new password" : "Add new password", + "Add new email address" : "Add new email address", + "Add user to group" : "Add user to group", + "Set user as admin for" : "Set user as admin for", + "Select user quota" : "Select user quota", "Delete user" : "Delete user", + "Wipe all devices" : "Wipe all devices", "Disable user" : "Disable user", "Enable user" : "Enable user", + "Resend welcome email" : "Resend welcome email", + "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.", + "Remote wipe of devices" : "Remote wipe of devices", + "Wipe {userid}'s devices" : "Wipe {userid}'s devices", + "Fully delete {userid}'s account including all their personal files, app data, etc." : "Fully delete {userid}'s account including all their personal files, app data, etc.", + "Account deletion" : "Account deletion", + "Delete {userid}'s account" : "Delete {userid}'s account", + "Welcome mail sent!" : "Welcome mail sent!", + "Edit User" : "Edit User", + "Toggle user actions menu" : "Toggle user actions menu", "{size} used" : "{size} used", "New user" : "New user", + "Will be autogenerated" : "Will be autogenerated", "Display name" : "Display name", "Email" : "Email", "Default language" : "Default language", + "Add a new user" : "Add a new user", "Group admin for" : "Group admin for", "Quota" : "Quota", "User backend" : "User backend", "Storage location" : "Storage location", "Last login" : "Last login", + "No users in here" : "No users in here", "Default quota" : "Default quota", "Common languages" : "Common languages", + "Other languages" : "Other languages", "Password change is disabled because the master key is disabled" : "Password change is disabled because the master key is disabled", + "Passwordless authentication requires a secure connection." : "Passwordless authentication requires a secure connection.", + "Add WebAuthn device" : "Add WebAuthn device", + "Please authorize your WebAuthn device." : "Please authorise your WebAuthn device.", "Name your device" : "Name your device", "Adding your device …" : "Adding your device …", + "Server error while trying to add WebAuthn device" : "Server error while trying to add WebAuthn device", + "Server error while trying to complete WebAuthn device registration" : "Server error while trying to complete WebAuthn device registration", "Unnamed device" : "Unnamed device", + "Passwordless Authentication" : "Passwordless Authentication", + "Set up your account for passwordless authentication following the FIDO2 standard." : "Set up your account for passwordless authentication following the FIDO2 standard.", + "No devices configured." : "No devices configured.", + "The following devices are configured for your account:" : "The following devices are configured for your account:", + "Your browser does not support WebAuthn." : "Your browser does not support WebAuthn.", "Your apps" : "Your apps", - "Active apps" : "Active apps", - "Disabled apps" : "Disabled apps", - "Updates" : "Updates", - "App bundles" : "App bundles", + "{license}-licensed" : "{license}-licensed", "Changelog" : "Changelog", + "by {author}\n{license}" : "by {author}\n{license}", + "Enter group name" : "Enter group name", "Add group" : "Add group", "Active users" : "Active users", "Admins" : "Admins", "Disabled users" : "Disabled users", + "Default quota:" : "Default quota:", + "Select default quota" : "Select default quota", + "Show Languages" : "Show Languages", "Show last login" : "Show last login", "Show user backend" : "Show user backend", + "Show storage path" : "Show storage path", "Send email to new user" : "Send email to new user", "Not saved" : "Not saved", "Sending…" : "Sending…", @@ -200,14 +405,34 @@ OC.L10N.register( "Profile picture" : "Profile picture", "About" : "About", "Full name" : "Full name", + "Additional email" : "Additional email", + "Headline" : "Headline", + "Organisation" : "Organisation", "Phone number" : "Phone number", + "Role" : "Role", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse (e.g. Mastodon)", "Website" : "Website", + "Profile visibility" : "Profile visibility", + "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Not available as this property is required for core functionality including file sharing and calendar invitations", + "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Not available as federation has been disabled for your account, contact your system administrator if you have any questions", + "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions", + "Active apps" : "Active apps", + "Disabled apps" : "Disabled apps", + "Updates" : "Updates", + "App bundles" : "App bundles", + "Featured apps" : "Featured apps", + "Show to everyone" : "Show to everyone", + "Show to logged in users only" : "Show to logged in users only", "Hide" : "Hide", "Download and enable" : "Download and enable", + "Enable untested app" : "Enable untested app", + "The app will be downloaded from the App Store" : "The app will be downloaded from the App Store", + "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected.", "Never" : "Never", + "An error occurred during the request. Unable to proceed." : "An error occurred during the request. Unable to proceed.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.", - "Administrator documentation" : "Administrator documentation", + "Error: This app cannot be enabled because it makes the server unstable" : "Error: This app cannot be enabled because it makes the server unstable", "Documentation" : "Documentation", "Forum" : "Forum", "Login" : "Login", @@ -219,6 +444,7 @@ OC.L10N.register( "It is important to set up this server to be able to send emails, like for password reset and notifications." : "It is important to set up this server to be able to send emails, like for password reset and notifications.", "Send mode" : "Send mode", "Encryption" : "Encryption", + "Sendmail mode" : "Sendmail mode", "From address" : "From address", "Authentication method" : "Authentication method", "Authentication required" : "Authentication required", @@ -228,38 +454,76 @@ OC.L10N.register( "SMTP Username" : "SMTP Username", "SMTP Password" : "SMTP Password", "Save" : "Save", + "Test and verify email settings" : "Test and verify email settings", "Send email" : "Send email", + "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 linked documentation for more information." : "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 linked documentation for more information.", "All checks passed." : "All checks passed.", "There are some errors regarding your setup." : "There are some errors regarding your setup.", "There are some warnings regarding your setup." : "There are some warnings regarding your setup.", "Checking for system and security issues." : "Checking for system and security issues.", + "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%2$s\">log</a>." : "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%2$s\">log</a>.", + "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>.", "Version" : "Version", + "You need to enable the File sharing App." : "You need to enable the File sharing App.", "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "As admin you can fine-tune the sharing behavior. Please see the documentation for more information.", "Allow apps to use the Share API" : "Allow apps to use the Share API", + "Set default expiration date for shares" : "Set default expiration date for shares", + "Expire after" : "Expire after", + "day(s)" : "day(s)", "Enforce expiration date" : "Enforce expiry date", + "Set default expiration date for shares to other servers" : "Set default expiration date for shares to other servers", + "Allow users to share via link and emails" : "Allow users to share via link and emails", "Allow public uploads" : "Allow public uploads", "Always ask for a password" : "Always ask for a password", "Enforce password protection" : "Enforce password protection", + "Exclude groups from password requirements:" : "Exclude groups from password requirements:", "Set default expiration date" : "Set default expiry date", + "Exclude groups from creating link shares:" : "Exclude groups from creating link shares:", "Allow resharing" : "Allow resharing", "Allow sharing with groups" : "Allow sharing with groups", "Restrict users to only share with users in their groups" : "Restrict users to only share with users in their groups", "Exclude groups from sharing" : "Exclude groups from sharing", "These groups will still be able to receive shares, but not to initiate them." : "These groups will still be able to receive shares, but not to initiate them.", + "Allow username autocompletion in share dialog" : "Allow username autocompletion in share dialogue", + "Allow username autocompletion to users within the same groups" : "Allow username autocompletion to users within the same groups", + "Allow username autocompletion to users based on phone number integration" : "Allow username autocompletion to users based on phone number integration", + "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user.", + "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)", + "Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Show disclaimer text on the public link upload page (only shown when the file list is hidden)", "This text will be shown on the public link upload page when the file list is hidden." : "This text will be shown on the public link upload page when the file list is hidden.", "Default share permissions" : "Default share permissions", + "Reasons to use Nextcloud in your organization" : "Reasons to use Nextcloud in your organization", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}.", "Like our Facebook page" : "Like our Facebook page", "Follow us on Twitter" : "Follow us on Twitter", + "Follow us on Mastodon" : "Follow us on Mastodon", "Check out our blog" : "Check out our blog", "Subscribe to our newsletter" : "Subscribe to our newsletter", "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "This community release of Nextcloud is unsupported and instant notifications are unavailable.", + "Use a second factor besides your password to increase security for your account." : "Use a second factor besides your password to increase security for your account.", + "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication.", "Migration in progress. Please wait until the migration is finished" : "Migration in progress. Please wait until the migration is finished", "Migration started …" : "Migration started …", + "An error occurred while changing your language. Please reload the page and try again." : "An error occurred while changing your language. Please reload the page and try again.", + "An error occurred while changing your locale. Please reload the page and try again." : "An error occurred while changing your locale. Please reload the page and try again.", "Select a profile picture" : "Select a profile picture", + "Week starts on {fdow}" : "Week starts on {fdow}", "Couldn't remove app." : "Couldn't remove app.", "Couldn't update app." : "Couldn't update app.", "Backend doesn't support password change, but the user's encryption key was updated." : "Backend doesn't support password change, but the user's encryption key was updated.", + "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the nextcloud log file for more details." : "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the nextcloud log file for more details.", + "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>.", + "Admin privileges" : "Admin privileges", + "Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet.", + "Unable to update biography" : "Unable to update biography", + "Unable to update full name" : "Unable to update full name", + "No full name set" : "No full name set", + "Unable to update headline" : "Unable to update headline", + "Unable to update organisation" : "Unable to update organisation", + "Unable to update role" : "Unable to update role", + "Change scope level of {accountProperty}" : "Change scope level of {accountProperty}", + "Unable to update federation scope of the primary {accountProperty}" : "Unable to update federation scope of the primary {accountProperty}", + "Unable to update federation scope of additional {accountProperty}" : "Unable to update federation scope of additional {accountProperty}", "Address" : "Address", "Avatar" : "Avatar", "An error occured during the request. Unable to proceed." : "An error occured during the request. Unable to proceed.", @@ -269,18 +533,30 @@ OC.L10N.register( "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one.", "Start migration" : "Start migration", "Last job execution ran %s. Something seems wrong." : "Last job execution ran %s. Something seems wrong.", + "Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Some jobs haven’t been executed since %s. Please consider increasing the execution frequency.", + "Some jobs didn’t execute since %s. Please consider switching to system cron." : "Some jobs didn’t execute since %s. Please consider switching to system cron.", "Last job ran %s." : "Last job ran %s.", "Background job didn’t run yet!" : "Background job didn’t run yet!", + "For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information." : "For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information.", + "Pick background job setting" : "Pick background job setting", "Recommended" : "Recommended", "The cron.php needs to be executed by the system user \"%s\"." : "The cron.php needs to be executed by the system user \"%s\".", + "Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)", + "Change privacy level of profile picture" : "Change privacy level of profile picture", "Upload new" : "Upload new", "Select from Files" : "Select from Files", "Remove image" : "Remove image", + "Please note that it can take up to 24 hours for the avatar to get updated everywhere." : "Please note that it can take up to 24 hours for the avatar to get updated everywhere.", "Choose as profile picture" : "Choose as profile picture", "You are using <strong>%s</strong>" : "You are using <strong>%s</strong>", + "You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)" : "You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)", + "Change privacy level of phone number" : "Change privacy level of phone number", + "Change privacy level of address" : "Change privacy level of address", "Your postal address" : "Your postal address", + "Change privacy level of website" : "Change privacy level of website", "It can take up to 24 hours before the account is displayed as verified." : "It can take up to 24 hours before the account is displayed as verified.", "Link https://…" : "Link https://…", + "Change privacy level of Twitter profile" : "Change privacy level of Twitter profile", "Twitter handle @…" : "Twitter handle @…" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/settings/l10n/en_GB.json b/apps/settings/l10n/en_GB.json index 5f8cbc518a3..c3fe6362d66 100644 --- a/apps/settings/l10n/en_GB.json +++ b/apps/settings/l10n/en_GB.json @@ -1,7 +1,12 @@ { "translations": { "Private" : "Private", + "Only visible to people matched via phone number integration through Talk on mobile" : "Only visible to people matched via phone number integration through Talk on mobile", "Local" : "Local", + "Only visible to people on this instance and guests" : "Only visible to people on this instance and guests", "Federated" : "Federated", + "Only synchronize to trusted servers" : "Only synchronize to trusted servers", + "Published" : "Published", + "Synchronize to trusted servers and the global and public address book" : "Synchronize to trusted servers and the global and public address book", "Verify" : "Verify", "Verifying …" : "Verifying …", "Unable to change password" : "Unable to change password", @@ -13,39 +18,82 @@ "Groups" : "Groups", "Group list is empty" : "Group list is empty", "Unable to retrieve the group list" : "Unable to retrieve the group list", + "{actor} added you to group {group}" : "{actor} added you to group {group}", + "You added {user} to group {group}" : "You added {user} to group {group}", + "{actor} added {user} to group {group}" : "{actor} added {user} to group {group}", + "An administrator added you to group {group}" : "An administrator added you to group {group}", + "An administrator added {user} to group {group}" : "An administrator added {user} to group {group}", + "{actor} removed you from group {group}" : "{actor} removed you from group {group}", + "You removed {user} from group {group}" : "You removed {user} from group {group}", + "{actor} removed {user} from group {group}" : "{actor} removed {user} from group {group}", + "An administrator removed you from group {group}" : "An administrator removed you from group {group}", + "An administrator removed {user} from group {group}" : "An administrator removed {user} from group {group}", + "Your <strong>group memberships</strong> were modified" : "Your <strong>group memberships</strong> were modified", "{actor} changed your password" : "{actor} changed your password", "You changed your password" : "You changed your password", "Your password was reset by an administrator" : "Your password was reset by an administrator", + "Your password was reset" : "Your password was reset", "{actor} changed your email address" : "{actor} changed your email address", "You changed your email address" : "You changed your email address", "Your email address was changed by an administrator" : "Your email address was changed by an administrator", + "You created app password \"{token}\"" : "You created app password \"{token}\"", + "An administrator created app password \"{token}\"" : "An administrator created app password \"{token}\"", + "You deleted app password \"{token}\"" : "You deleted app password \"{token}\"", + "You renamed app password \"{token}\" to \"{newToken}\"" : "You renamed app password \"{token}\" to \"{newToken}\"", + "You granted filesystem access to app password \"{token}\"" : "You granted filesystem access to app password \"{token}\"", + "You revoked filesystem access from app password \"{token}\"" : "You revoked filesystem access from app password \"{token}\"", "Security" : "Security", "You successfully logged in using two-factor authentication (%1$s)" : "You successfully logged in using two-factor authentication (%1$s)", "A login attempt using two-factor authentication failed (%1$s)" : "A login attempt using two-factor authentication failed (%1$s)", + "Remote wipe was started on %1$s" : "Remote wipe was started on %1$s", + "Remote wipe has finished on %1$s" : "Remote wipe has finished on %1$s", "Your <strong>password</strong> or <strong>email</strong> was modified" : "Your <strong>password</strong> or <strong>email</strong> was modified", + "Could not remove app." : "Could not remove app.", + "Could not update app." : "Could not update app.", "Wrong password" : "Incorrect password", + "Unable to change personal password" : "Unable to change personal password", "Saved" : "Saved", "No user supplied" : "No user supplied", + "Unable to change password. Password too long." : "Unable to change password. Password too long.", "Authentication error" : "Authentication error", "Please provide an admin recovery password; otherwise, all user data will be lost." : "Please provide an admin recovery password; otherwise, all user data will be lost.", "Wrong admin recovery password. Please check the password and try again." : "Incorrect admin recovery password. Please check the password and try again.", + "Backend does not support password change, but the user's encryption key was updated." : "Backend does not support password change, but the user's encryption key was updated.", + "installing and updating apps via the App Store or Federated Cloud Sharing" : "installing and updating apps via the App Store or Federated Cloud Sharing", "Federated Cloud Sharing" : "Federated Cloud Sharing", + "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably.", + "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details." : "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details.", + "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation.", + "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration.", + "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function.", + "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades.", + "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades.", + "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>.", + "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>.", + "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>.", + "Administrator documentation" : "Administrator documentation", + "User documentation" : "User documentation", "Invalid SMTP password." : "Invalid SMTP password.", "Email setting test" : "Email setting test", "Well done, %s!" : "Well done, %s!", "If you received this email, the email configuration seems to be correct." : "If you received this email, the email configuration seems to be correct.", "Email could not be sent. Check your mail server log" : "Email could not be sent. Check your mail server log", "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "A problem occurred while sending the email. Please revise your settings. (Error: %s)", + "You need to set your user email before being able to send test emails. Go to %s for that." : "You need to set your user email before being able to send test emails. Go to %s for that.", "Invalid user" : "Invalid user", "Invalid mail address" : "Invalid mail address", "Settings saved" : "Settings saved", "Unable to change full name" : "Unable to change full name", "Unable to change email address" : "Unable to change email address", + "Unable to set invalid phone number" : "Unable to set invalid phone number", + "Unable to set invalid website" : "Unable to set invalid website", + "Some account data was invalid" : "Some account data was invalid", "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):", "In order to verify your Website, store the following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "In order to verify your Website, store the following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):", "%1$s changed your password on %2$s." : "%1$s changed your password on %2$s.", "Your password on %s was changed." : "Your password on %s was changed.", "Your password on %s was reset by an administrator." : "Your password on %s was reset by an administrator.", + "Your password on %s was reset." : "Your password on %s was reset.", "Password for %1$s changed on %2$s" : "Password for %1$s changed on %2$s", "Password changed for %s" : "Password changed for %s", "If you did not request this, please contact an administrator." : "If you did not request this, please contact an administrator.", @@ -68,9 +116,13 @@ "Personal" : "Personal", "Administration" : "Administration", "Additional settings" : "Additional settings", + "Administration privileges" : "Administration privileges", + "Groupware" : "Groupware", "Overview" : "Overview", "Basic settings" : "Basic settings", "Sharing" : "Sharing", + "Availability" : "Availability", + "Calendar" : "Calendar", "Personal info" : "Personal info", "Mobile & desktop" : "Mobile & desktop", "Email server" : "Email server", @@ -79,12 +131,35 @@ "Create" : "Create", "Change" : "Change", "Delete" : "Delete", + "Reshare" : "Reshare", "Unlimited" : "Unlimited", "Verifying" : "Verifying", + "A background job is pending that checks for user imported SSL certificates. Please check back later." : "A background job is pending that checks for user imported SSL certificates. Please check back later.", + "There are some user imported SSL certificates present, that are not used anymore with Nextcloud 21. They can be imported on the command line via \"occ security:certificates:import\" command. Their paths inside the data directory are shown below." : "There are some user imported SSL certificates present, that are not used anymore with Nextcloud 21. They can be imported on the command line via \"occ security:certificates:import\" command. Their paths inside the data directory are shown below.", + "Invalid UUIDs of LDAP users or groups have been found. Please review your \"Override UUID detection\" settings in the Expert part of the LDAP configuration and use \"occ ldap:update-uuid\" to update them." : "Invalid UUIDs of LDAP users or groups have been found. Please review your \"Override UUID detection\" settings in the Expert part of the LDAP configuration and use \"occ ldap:update-uuid\" to update them.", + "The old server-side-encryption format is enabled. We recommend disabling this." : "The old server-side-encryption format is enabled. We recommend disabling this.", + "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher." : "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher.", + "MySQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MySQL 8.0 or MariaDB 10.2 or higher." : "MySQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MySQL 8.0 or MariaDB 10.2 or higher.", + "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher." : "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher.", + "Profile information" : "Profile information", + "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled", + "Nextcloud settings" : "Nextcloud settings", + "Here you can decide which group can access certain sections of the administration settings." : "Here you can decide which group can access certain sections of the administration settings.", "None" : "None", + "Unable to modify setting" : "Unable to modify setting", + "Two-Factor Authentication" : "Two-Factor Authentication", + "Two-factor authentication can be enforced for all users and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "Two-factor authentication can be enforced for all users and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system.", + "Enforce two-factor authentication" : "Enforce two-factor authentication", "Limit to groups" : "Limit to groups", + "Enforcement of two-factor authentication can be set for certain groups only." : "Enforcement of two-factor authentication can be set for certain groups only.", + "Two-factor authentication is enforced for all members of the following groups." : "Two-factor authentication is enforced for all members of the following groups.", + "Enforced groups" : "Enforced groups", + "Two-factor authentication is not enforced for members of the following groups." : "Two-factor authentication is not enforced for members of the following groups.", + "Excluded groups" : "Excluded groups", + "When groups are selected/excluded, they use the following logic to determine if a user has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If a user is both in a selected and excluded group, the selected takes precedence and 2FA is enforced." : "When groups are selected/excluded, they use the following logic to determine if a user has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If a user is both in a selected and excluded group, the selected takes precedence and 2FA is enforced.", "Save changes" : "Save changes", "All" : "All", + "Limit app usage to groups" : "Limit app usage to groups", "No results" : "No results", "Update to {version}" : "Update to {version}", "Remove" : "Remove", @@ -95,30 +170,52 @@ "View in store" : "View in store", "Visit website" : "Visit website", "Report a bug" : "Report a bug", - "User documentation" : "User documentation", "Admin documentation" : "Admin documentation", "Developer documentation" : "Developer documentation", + "This app is supported via your current Nextcloud subscription." : "This app is supported via your current Nextcloud subscription.", + "Supported" : "Supported", + "Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "Featured apps are developed by and within the community. They offer central functionality and are ready for production use.", "Featured" : "Featured", + "Update to {update}" : "Update to {update}", + "All apps are up-to-date." : "All apps are up-to-date.", + "Results from other categories" : "Results from other categories", "No apps found for your version" : "No apps found for your version", "Disable all" : "Disable all", "Enable all" : "Enable all", + "_%n app has an update available_::_%n apps have an update available_" : ["%n app has an update available","%n apps have an update available"], + "_Update_::_Update all_" : ["Update","Update all"], + "Marked for remote wipe" : "Marked for remote wipe", + "Device settings" : "Device settings", "Allow filesystem access" : "Allow filesystem access", "Rename" : "Rename", "Revoke" : "Revoke", + "Wipe device" : "Wipe device", + "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Revoking this token might prevent the wiping of your device if it has not started the wipe yet.", "Internet Explorer" : "Internet Explorer", "Edge" : "Edge", "Firefox" : "Firefox", "Google Chrome" : "Google Chrome", "Safari" : "Safari", "Google Chrome for Android" : "Google Chrome for Android", + "iPhone" : "iPhone", + "iPad" : "iPad", + "{productName} iOS app" : "{productName} iOS app", + "{productName} Android app" : "{productName} Android app", + "{productName} Talk for iOS" : "{productName} Talk for iOS", + "{productName} Talk for Android" : "{productName} Talk for Android", "Sync client - {os}" : "Sync client - {os}", "This session" : "This session", "Device" : "Device", "Last activity" : "Last activity", "Devices & sessions" : "Devices & sessions", "Web, desktop and mobile clients currently logged in to your account." : "Web, desktop and mobile clients currently logged in to your account.", + "Do you really want to wipe your data from this device?" : "Do you really want to wipe your data from this device?", + "Confirm wipe" : "Confirm wipe", "Error while creating device token" : "Error while creating device token", + "Error while updating device token scope" : "Error while updating device token scope", + "Error while updating device token name" : "Error while updating device token name", "Error while deleting the token" : "Error while deleting the token", + "Error while wiping the device with the token" : "Error while wiping the device with the token", "App name" : "App name", "Create new app password" : "Create new app password", "Use the credentials below to configure your app or device." : "Use the credentials below to configure your app or device.", @@ -126,13 +223,31 @@ "Username" : "Username", "Password" : "Password", "Done" : "Done", + "Show QR code for mobile apps" : "Show QR code for mobile apps", "Copied!" : "Copied!", "Copy" : "Copy", + "Could not copy app password. Please copy it manually." : "Could not copy app password. Please copy it manually.", + "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information.", + "Last job execution ran {time}. Something seems wrong." : "Last job execution ran {time}. Something seems wrong.", + "Last job ran {relativeTime}." : "Last job ran {relativeTime}.", + "Background job did not run yet!" : "Background job did not run yet!", + "AJAX" : "AJAX", + "Execute one task with each page loaded. Use case: Single user instance." : "Execute one task with each page loaded. Use case: Single user instance.", + "Webcron" : "Webcron", + "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage).", + "Cron (Recommended)" : "Cron (Recommended)", "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details.", + "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances.", + "The cron.php needs to be executed by the system user \"{user}\"." : "The cron.php needs to be executed by the system user \"{user}\".", + "Unable to update background job mode" : "Unable to update background job mode", + "Profile" : "Profile", + "Enable or disable profile by default for new users." : "Enable or disable profile by default for new users.", "Enable" : "Enable", + "Unable to update profile default setting" : "Unable to update profile default setting", "Server-side encryption" : "Server-side encryption", "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 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.", "Enable server-side encryption" : "Enable server-side encryption", + "Please read carefully before activating server-side encryption:" : "Please read carefully before activating server-side encryption:", "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." : "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.", "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Encryption alone does not guarantee complete security. Please read the documentation for information on how the encryption app works, and supported use cases.", "Be aware that encryption always increases the file size." : "Be aware that encryption always increases the file size.", @@ -140,56 +255,146 @@ "This is the final warning: Do you really want to enable encryption?" : "This is the final warning: Do you really want to enable encryption?", "No encryption module loaded, please enable an encryption module in the app menu." : "No encryption module loaded, please enable an encryption module in the app menu.", "Select default encryption module:" : "Select default encryption module:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}", + "Unable to update server side encryption config" : "Unable to update server side encryption config", + "Rename group" : "Rename group", "Remove group" : "Remove group", "You are about to remove the group {group}. The users will NOT be deleted." : "You are about to remove the group {group}. The users will NOT be deleted.", "Please confirm the group removal " : "Please confirm the group removal ", "Current password" : "Current password", "New password" : "New password", "Change password" : "Change password", + "Your profile picture" : "Your profile picture", + "Upload profile picture" : "Upload profile picture", + "Choose profile picture from files" : "Choose profile picture from files", + "Remove profile picture" : "Remove profile picture", "png or jpg, max. 20 MB" : "png or jpg, max. 20 MB", "Picture provided by original account" : "Picture provided by original account", "Cancel" : "Cancel", + "Set as profile picture" : "Set as profile picture", + "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Please note that it can take up to 24 hours for your profile picture to be updated everywhere.", + "Choose your profile picture" : "Choose your profile picture", + "Please select a valid png or jpg file" : "Please select a valid png or jpg file", + "Error setting profile picture" : "Error setting profile picture", + "Error cropping profile picture" : "Error cropping profile picture", + "Error saving profile picture" : "Error saving profile picture", + "Error removing profile picture" : "Error removing profile picture", + "Your biography" : "Your biography", "Details" : "Details", + "You are a member of the following groups:" : "You are a member of the following groups:", + "You are using <strong>{usage}</strong>" : "You are using <strong>{usage}</strong>", + "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)", + "Your full name" : "Your full name", + "Email options" : "Email options", + "Primary email for password reset and notifications" : "Primary email for password reset and notifications", + "Remove primary email" : "Remove primary email", + "Delete email" : "Delete email", + "Unset as primary email" : "Unset as primary email", + "This address is not confirmed" : "This address is not confirmed", + "Set as primary email" : "Set as primary email", "Your email address" : "Your email address", + "Additional email address {index}" : "Additional email address {index}", + "Unable to delete primary email address" : "Unable to delete primary email address", + "Unable to update primary email address" : "Unable to update primary email address", + "Unable to add additional email address" : "Unable to add additional email address", + "Unable to update additional email address" : "Unable to update additional email address", + "Unable to delete additional email address" : "Unable to delete additional email address", "No email address set" : "No email address set", + "Additional emails" : "Additional emails", + "Your handle" : "Your handle", + "Your headline" : "Your headline", "Language" : "Language", "Help translate" : "Help translate", + "Unable to update language" : "Unable to update language", + "No language set" : "No language set", + "Locale" : "Locale", + "Week starts on {firstDayOfWeek}" : "Week starts on {firstDayOfWeek}", + "Unable to update locale" : "Unable to update locale", + "No locale set" : "No locale set", + "Your location" : "Your location", + "Your organisation" : "Your organisation", "Your phone number" : "Your phone number", + "Edit your Profile visibility" : "Edit your Profile visibility", + "Enable Profile" : "Enable Profile", + "Unable to update profile enabled state" : "Unable to update profile enabled state", + "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected.", + "{displayId}" : "{displayId}", + "Unable to update visibility of {displayId}" : "Unable to update visibility of {displayId}", + "Your role" : "Your role", "Your Twitter handle" : "Your Twitter handle", "Your website" : "Your website", + "No {property} set" : "No {property} set", + "Unable to update {property}" : "Unable to update {property}", + "Change scope level of {property}, current scope is {scope}" : "Change scope level of {property}, current scope is {scope}", + "Unable to update federation scope of the primary {property}" : "Unable to update federation scope of the primary {property}", + "Unable to update federation scope of additional {property}" : "Unable to update federation scope of additional {property}", + "Add additional email" : "Add additional email", "Add" : "Add", "You do not have permissions to see the details of this user" : "You do not have permissions to see the details of this user", + "Add new password" : "Add new password", + "Add new email address" : "Add new email address", + "Add user to group" : "Add user to group", + "Set user as admin for" : "Set user as admin for", + "Select user quota" : "Select user quota", "Delete user" : "Delete user", + "Wipe all devices" : "Wipe all devices", "Disable user" : "Disable user", "Enable user" : "Enable user", + "Resend welcome email" : "Resend welcome email", + "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.", + "Remote wipe of devices" : "Remote wipe of devices", + "Wipe {userid}'s devices" : "Wipe {userid}'s devices", + "Fully delete {userid}'s account including all their personal files, app data, etc." : "Fully delete {userid}'s account including all their personal files, app data, etc.", + "Account deletion" : "Account deletion", + "Delete {userid}'s account" : "Delete {userid}'s account", + "Welcome mail sent!" : "Welcome mail sent!", + "Edit User" : "Edit User", + "Toggle user actions menu" : "Toggle user actions menu", "{size} used" : "{size} used", "New user" : "New user", + "Will be autogenerated" : "Will be autogenerated", "Display name" : "Display name", "Email" : "Email", "Default language" : "Default language", + "Add a new user" : "Add a new user", "Group admin for" : "Group admin for", "Quota" : "Quota", "User backend" : "User backend", "Storage location" : "Storage location", "Last login" : "Last login", + "No users in here" : "No users in here", "Default quota" : "Default quota", "Common languages" : "Common languages", + "Other languages" : "Other languages", "Password change is disabled because the master key is disabled" : "Password change is disabled because the master key is disabled", + "Passwordless authentication requires a secure connection." : "Passwordless authentication requires a secure connection.", + "Add WebAuthn device" : "Add WebAuthn device", + "Please authorize your WebAuthn device." : "Please authorise your WebAuthn device.", "Name your device" : "Name your device", "Adding your device …" : "Adding your device …", + "Server error while trying to add WebAuthn device" : "Server error while trying to add WebAuthn device", + "Server error while trying to complete WebAuthn device registration" : "Server error while trying to complete WebAuthn device registration", "Unnamed device" : "Unnamed device", + "Passwordless Authentication" : "Passwordless Authentication", + "Set up your account for passwordless authentication following the FIDO2 standard." : "Set up your account for passwordless authentication following the FIDO2 standard.", + "No devices configured." : "No devices configured.", + "The following devices are configured for your account:" : "The following devices are configured for your account:", + "Your browser does not support WebAuthn." : "Your browser does not support WebAuthn.", "Your apps" : "Your apps", - "Active apps" : "Active apps", - "Disabled apps" : "Disabled apps", - "Updates" : "Updates", - "App bundles" : "App bundles", + "{license}-licensed" : "{license}-licensed", "Changelog" : "Changelog", + "by {author}\n{license}" : "by {author}\n{license}", + "Enter group name" : "Enter group name", "Add group" : "Add group", "Active users" : "Active users", "Admins" : "Admins", "Disabled users" : "Disabled users", + "Default quota:" : "Default quota:", + "Select default quota" : "Select default quota", + "Show Languages" : "Show Languages", "Show last login" : "Show last login", "Show user backend" : "Show user backend", + "Show storage path" : "Show storage path", "Send email to new user" : "Send email to new user", "Not saved" : "Not saved", "Sending…" : "Sending…", @@ -198,14 +403,34 @@ "Profile picture" : "Profile picture", "About" : "About", "Full name" : "Full name", + "Additional email" : "Additional email", + "Headline" : "Headline", + "Organisation" : "Organisation", "Phone number" : "Phone number", + "Role" : "Role", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse (e.g. Mastodon)", "Website" : "Website", + "Profile visibility" : "Profile visibility", + "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Not available as this property is required for core functionality including file sharing and calendar invitations", + "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Not available as federation has been disabled for your account, contact your system administrator if you have any questions", + "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions", + "Active apps" : "Active apps", + "Disabled apps" : "Disabled apps", + "Updates" : "Updates", + "App bundles" : "App bundles", + "Featured apps" : "Featured apps", + "Show to everyone" : "Show to everyone", + "Show to logged in users only" : "Show to logged in users only", "Hide" : "Hide", "Download and enable" : "Download and enable", + "Enable untested app" : "Enable untested app", + "The app will be downloaded from the App Store" : "The app will be downloaded from the App Store", + "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected.", "Never" : "Never", + "An error occurred during the request. Unable to proceed." : "An error occurred during the request. Unable to proceed.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.", - "Administrator documentation" : "Administrator documentation", + "Error: This app cannot be enabled because it makes the server unstable" : "Error: This app cannot be enabled because it makes the server unstable", "Documentation" : "Documentation", "Forum" : "Forum", "Login" : "Login", @@ -217,6 +442,7 @@ "It is important to set up this server to be able to send emails, like for password reset and notifications." : "It is important to set up this server to be able to send emails, like for password reset and notifications.", "Send mode" : "Send mode", "Encryption" : "Encryption", + "Sendmail mode" : "Sendmail mode", "From address" : "From address", "Authentication method" : "Authentication method", "Authentication required" : "Authentication required", @@ -226,38 +452,76 @@ "SMTP Username" : "SMTP Username", "SMTP Password" : "SMTP Password", "Save" : "Save", + "Test and verify email settings" : "Test and verify email settings", "Send email" : "Send email", + "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 linked documentation for more information." : "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 linked documentation for more information.", "All checks passed." : "All checks passed.", "There are some errors regarding your setup." : "There are some errors regarding your setup.", "There are some warnings regarding your setup." : "There are some warnings regarding your setup.", "Checking for system and security issues." : "Checking for system and security issues.", + "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%2$s\">log</a>." : "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%2$s\">log</a>.", + "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>.", "Version" : "Version", + "You need to enable the File sharing App." : "You need to enable the File sharing App.", "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "As admin you can fine-tune the sharing behavior. Please see the documentation for more information.", "Allow apps to use the Share API" : "Allow apps to use the Share API", + "Set default expiration date for shares" : "Set default expiration date for shares", + "Expire after" : "Expire after", + "day(s)" : "day(s)", "Enforce expiration date" : "Enforce expiry date", + "Set default expiration date for shares to other servers" : "Set default expiration date for shares to other servers", + "Allow users to share via link and emails" : "Allow users to share via link and emails", "Allow public uploads" : "Allow public uploads", "Always ask for a password" : "Always ask for a password", "Enforce password protection" : "Enforce password protection", + "Exclude groups from password requirements:" : "Exclude groups from password requirements:", "Set default expiration date" : "Set default expiry date", + "Exclude groups from creating link shares:" : "Exclude groups from creating link shares:", "Allow resharing" : "Allow resharing", "Allow sharing with groups" : "Allow sharing with groups", "Restrict users to only share with users in their groups" : "Restrict users to only share with users in their groups", "Exclude groups from sharing" : "Exclude groups from sharing", "These groups will still be able to receive shares, but not to initiate them." : "These groups will still be able to receive shares, but not to initiate them.", + "Allow username autocompletion in share dialog" : "Allow username autocompletion in share dialogue", + "Allow username autocompletion to users within the same groups" : "Allow username autocompletion to users within the same groups", + "Allow username autocompletion to users based on phone number integration" : "Allow username autocompletion to users based on phone number integration", + "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user.", + "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)", + "Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Show disclaimer text on the public link upload page (only shown when the file list is hidden)", "This text will be shown on the public link upload page when the file list is hidden." : "This text will be shown on the public link upload page when the file list is hidden.", "Default share permissions" : "Default share permissions", + "Reasons to use Nextcloud in your organization" : "Reasons to use Nextcloud in your organization", "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}.", "Like our Facebook page" : "Like our Facebook page", "Follow us on Twitter" : "Follow us on Twitter", + "Follow us on Mastodon" : "Follow us on Mastodon", "Check out our blog" : "Check out our blog", "Subscribe to our newsletter" : "Subscribe to our newsletter", "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "This community release of Nextcloud is unsupported and instant notifications are unavailable.", + "Use a second factor besides your password to increase security for your account." : "Use a second factor besides your password to increase security for your account.", + "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication.", "Migration in progress. Please wait until the migration is finished" : "Migration in progress. Please wait until the migration is finished", "Migration started …" : "Migration started …", + "An error occurred while changing your language. Please reload the page and try again." : "An error occurred while changing your language. Please reload the page and try again.", + "An error occurred while changing your locale. Please reload the page and try again." : "An error occurred while changing your locale. Please reload the page and try again.", "Select a profile picture" : "Select a profile picture", + "Week starts on {fdow}" : "Week starts on {fdow}", "Couldn't remove app." : "Couldn't remove app.", "Couldn't update app." : "Couldn't update app.", "Backend doesn't support password change, but the user's encryption key was updated." : "Backend doesn't support password change, but the user's encryption key was updated.", + "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the nextcloud log file for more details." : "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the nextcloud log file for more details.", + "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>.", + "Admin privileges" : "Admin privileges", + "Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet.", + "Unable to update biography" : "Unable to update biography", + "Unable to update full name" : "Unable to update full name", + "No full name set" : "No full name set", + "Unable to update headline" : "Unable to update headline", + "Unable to update organisation" : "Unable to update organisation", + "Unable to update role" : "Unable to update role", + "Change scope level of {accountProperty}" : "Change scope level of {accountProperty}", + "Unable to update federation scope of the primary {accountProperty}" : "Unable to update federation scope of the primary {accountProperty}", + "Unable to update federation scope of additional {accountProperty}" : "Unable to update federation scope of additional {accountProperty}", "Address" : "Address", "Avatar" : "Avatar", "An error occured during the request. Unable to proceed." : "An error occured during the request. Unable to proceed.", @@ -267,18 +531,30 @@ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one.", "Start migration" : "Start migration", "Last job execution ran %s. Something seems wrong." : "Last job execution ran %s. Something seems wrong.", + "Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Some jobs haven’t been executed since %s. Please consider increasing the execution frequency.", + "Some jobs didn’t execute since %s. Please consider switching to system cron." : "Some jobs didn’t execute since %s. Please consider switching to system cron.", "Last job ran %s." : "Last job ran %s.", "Background job didn’t run yet!" : "Background job didn’t run yet!", + "For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information." : "For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information.", + "Pick background job setting" : "Pick background job setting", "Recommended" : "Recommended", "The cron.php needs to be executed by the system user \"%s\"." : "The cron.php needs to be executed by the system user \"%s\".", + "Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)", + "Change privacy level of profile picture" : "Change privacy level of profile picture", "Upload new" : "Upload new", "Select from Files" : "Select from Files", "Remove image" : "Remove image", + "Please note that it can take up to 24 hours for the avatar to get updated everywhere." : "Please note that it can take up to 24 hours for the avatar to get updated everywhere.", "Choose as profile picture" : "Choose as profile picture", "You are using <strong>%s</strong>" : "You are using <strong>%s</strong>", + "You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)" : "You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)", + "Change privacy level of phone number" : "Change privacy level of phone number", + "Change privacy level of address" : "Change privacy level of address", "Your postal address" : "Your postal address", + "Change privacy level of website" : "Change privacy level of website", "It can take up to 24 hours before the account is displayed as verified." : "It can take up to 24 hours before the account is displayed as verified.", "Link https://…" : "Link https://…", + "Change privacy level of Twitter profile" : "Change privacy level of Twitter profile", "Twitter handle @…" : "Twitter handle @…" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/settings/l10n/eo.js b/apps/settings/l10n/eo.js index b3203994d5d..02928c931af 100644 --- a/apps/settings/l10n/eo.js +++ b/apps/settings/l10n/eo.js @@ -51,6 +51,8 @@ OC.L10N.register( "Wrong admin recovery password. Please check the password and try again." : "Neĝusta reekhava pasvorto de administranto. Bv. kontroli la pasvorton kaj reprovi.", "Federated Cloud Sharing" : "Federnuba kunhavado", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL uzas neĝisdatan version %1$s (%2$s). Bv. ĝisdatigi vian operaciumon aŭ programon, aŭ trajtoj kiel %3$s ne plu funkcios fidinde.", + "Administrator documentation" : "Dokumentaro por administranto", + "User documentation" : "Dokumentaro por uzanto", "Invalid SMTP password." : "Nevalida SMTP-pasvorto.", "Email setting test" : "Provo de retpoŝtagordo", "Well done, %s!" : "Bonege, %s!", @@ -93,6 +95,7 @@ OC.L10N.register( "Overview" : "Superrigardo", "Basic settings" : "Bazaj agordoj", "Sharing" : "Kunhavigo", + "Calendar" : "Kalendaro", "Personal info" : "Persona informo", "Mobile & desktop" : "Porteblaj kaj labortablaj aplikaĵoj", "Email server" : "Retpoŝtoservilo", @@ -125,7 +128,6 @@ OC.L10N.register( "View in store" : "Vidi en butiko", "Visit website" : "Viziti retejon", "Report a bug" : "Raporti problemon", - "User documentation" : "Dokumentaro por uzanto", "Admin documentation" : "Dokumentaro por administranto", "Developer documentation" : "Dokumentaro por programisto", "This app is supported via your current Nextcloud subscription." : "Tiu aplikaĵo estas subtenita per via nuna Nextcloud-abono.", @@ -238,10 +240,6 @@ OC.L10N.register( "Common languages" : "Ordinaraj lingvoj", "Password change is disabled because the master key is disabled" : "Pasvorta ŝanĝo ne eblas, ĉar la ĉefa ŝlosilo estas neebligita", "Your apps" : "Viaj aplikaĵoj", - "Active apps" : "Aktivaj aplikaĵoj", - "Disabled apps" : "Malŝaltitaj aplikaĵoj", - "Updates" : "Ĝisdatigoj", - "App bundles" : "Aplikaĵaj kuniĝoj", "{license}-licensed" : "Permesilo: {license}", "Changelog" : "Ŝanĝoprotokolo", "Add group" : "Aldoni grupon", @@ -265,13 +263,16 @@ OC.L10N.register( "Phone number" : "Telefonnumero", "Twitter" : "Twitter", "Website" : "Retejo", + "Active apps" : "Aktivaj aplikaĵoj", + "Disabled apps" : "Malŝaltitaj aplikaĵoj", + "Updates" : "Ĝisdatigoj", + "App bundles" : "Aplikaĵaj kuniĝoj", "Hide" : "Malmontri", "Download and enable" : "Elŝuti kaj ŝalti", "Enable untested app" : "Ŝalti netestitan aplikaĵon", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Tiu aplikaĵo ne kongruas kun via Nextcloud-versio. Se vi daŭrigas, vi tamen povos instali ĝin, sed eble tiu aplikaĵo ne funkcios bone.", "Never" : "Neniam", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplikaĵo estis ŝaltita, sed ĝi bezonas ĝisdatiĝi. Vi estos direktita al ĝisdatiga paĝon post 5 sekundoj.", - "Administrator documentation" : "Dokumentaro por administranto", "Documentation" : "Dokumentaro", "Forum" : "Forumo", "Login" : "Ensaluti", diff --git a/apps/settings/l10n/eo.json b/apps/settings/l10n/eo.json index 3f9633d00b4..50ca2214221 100644 --- a/apps/settings/l10n/eo.json +++ b/apps/settings/l10n/eo.json @@ -49,6 +49,8 @@ "Wrong admin recovery password. Please check the password and try again." : "Neĝusta reekhava pasvorto de administranto. Bv. kontroli la pasvorton kaj reprovi.", "Federated Cloud Sharing" : "Federnuba kunhavado", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL uzas neĝisdatan version %1$s (%2$s). Bv. ĝisdatigi vian operaciumon aŭ programon, aŭ trajtoj kiel %3$s ne plu funkcios fidinde.", + "Administrator documentation" : "Dokumentaro por administranto", + "User documentation" : "Dokumentaro por uzanto", "Invalid SMTP password." : "Nevalida SMTP-pasvorto.", "Email setting test" : "Provo de retpoŝtagordo", "Well done, %s!" : "Bonege, %s!", @@ -91,6 +93,7 @@ "Overview" : "Superrigardo", "Basic settings" : "Bazaj agordoj", "Sharing" : "Kunhavigo", + "Calendar" : "Kalendaro", "Personal info" : "Persona informo", "Mobile & desktop" : "Porteblaj kaj labortablaj aplikaĵoj", "Email server" : "Retpoŝtoservilo", @@ -123,7 +126,6 @@ "View in store" : "Vidi en butiko", "Visit website" : "Viziti retejon", "Report a bug" : "Raporti problemon", - "User documentation" : "Dokumentaro por uzanto", "Admin documentation" : "Dokumentaro por administranto", "Developer documentation" : "Dokumentaro por programisto", "This app is supported via your current Nextcloud subscription." : "Tiu aplikaĵo estas subtenita per via nuna Nextcloud-abono.", @@ -236,10 +238,6 @@ "Common languages" : "Ordinaraj lingvoj", "Password change is disabled because the master key is disabled" : "Pasvorta ŝanĝo ne eblas, ĉar la ĉefa ŝlosilo estas neebligita", "Your apps" : "Viaj aplikaĵoj", - "Active apps" : "Aktivaj aplikaĵoj", - "Disabled apps" : "Malŝaltitaj aplikaĵoj", - "Updates" : "Ĝisdatigoj", - "App bundles" : "Aplikaĵaj kuniĝoj", "{license}-licensed" : "Permesilo: {license}", "Changelog" : "Ŝanĝoprotokolo", "Add group" : "Aldoni grupon", @@ -263,13 +261,16 @@ "Phone number" : "Telefonnumero", "Twitter" : "Twitter", "Website" : "Retejo", + "Active apps" : "Aktivaj aplikaĵoj", + "Disabled apps" : "Malŝaltitaj aplikaĵoj", + "Updates" : "Ĝisdatigoj", + "App bundles" : "Aplikaĵaj kuniĝoj", "Hide" : "Malmontri", "Download and enable" : "Elŝuti kaj ŝalti", "Enable untested app" : "Ŝalti netestitan aplikaĵon", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Tiu aplikaĵo ne kongruas kun via Nextcloud-versio. Se vi daŭrigas, vi tamen povos instali ĝin, sed eble tiu aplikaĵo ne funkcios bone.", "Never" : "Neniam", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplikaĵo estis ŝaltita, sed ĝi bezonas ĝisdatiĝi. Vi estos direktita al ĝisdatiga paĝon post 5 sekundoj.", - "Administrator documentation" : "Dokumentaro por administranto", "Documentation" : "Dokumentaro", "Forum" : "Forumo", "Login" : "Ensaluti", diff --git a/apps/settings/l10n/es.js b/apps/settings/l10n/es.js index af4946bd00d..2ab6c219e58 100644 --- a/apps/settings/l10n/es.js +++ b/apps/settings/l10n/es.js @@ -73,6 +73,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "El número máximo de claves de OPcache está casi superado. Para asegurar que todos los scripts puedan mantenerse en la caché, se recomienda aplicar <code>opcache.max_accelerated_files</code> a su configuración de PHP con un valor superior a <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "El buffer de OPcache está casi lleno. Para asegurar que todos los scripts puedan ser retenidos en la caché, se recomienda aplicar <code>opcache.memory_consumption</code> a su configuración de PHP con un valor superior a <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "El buffer de OPcache está casi lleno. Para asegurar que todos los scripts puedan ser retenidos en la caché, se recomienda aplicar <code>opcache.memory_consumption</code> a su configuración de PHP con un valor superior a <code>%s</code>.", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación de usuario", "Invalid SMTP password." : "Contraseña SMTP inválida", "Email setting test" : "Prueba de configuración de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -122,6 +124,7 @@ OC.L10N.register( "Basic settings" : "Ajustes básicos", "Sharing" : "Compartir", "Availability" : "Disponibilidad", + "Calendar" : "Calendario", "Personal info" : "Información personal", "Mobile & desktop" : "Móvil y escritorio", "Email server" : "Servidor de correo electrónico", @@ -169,7 +172,6 @@ OC.L10N.register( "View in store" : "Ver en la tienda", "Visit website" : "Visite el sitio web", "Report a bug" : "Notificar un error", - "User documentation" : "Documentación de usuario", "Admin documentation" : "Documentación de administrador", "Developer documentation" : "Documentación de desarrollador", "This app is supported via your current Nextcloud subscription." : "Esta App está soportada a través de su suscripción actual de Nexcloud.", @@ -301,6 +303,7 @@ OC.L10N.register( "Unable to delete additional email address" : "No se pudo borrar la dirección de email adicional", "No email address set" : "No hay establecida ninguna dirección de correo", "Additional emails" : "Direcciones de email adicionales", + "Your handle" : "Tu identificador", "Your headline" : "Tu titular", "Language" : "Idioma", "Help translate" : "Ayúdanos a traducir", @@ -380,11 +383,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Los siguientes dispositivos están configurados en su cuenta:", "Your browser does not support WebAuthn." : "Tu navegador no soporta WebAuthn.", "Your apps" : "Tus apps", - "Active apps" : "Apps activas", - "Disabled apps" : "Apps deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Lotes de apps", - "Featured apps" : "Apps destacadas", "{license}-licensed" : "licenciado bajo {license}", "Changelog" : "Historial de cambios", "by {author}\n{license}" : "por {author}\n{license}", @@ -413,11 +411,17 @@ OC.L10N.register( "Phone number" : "Número de teléfono", "Role" : "Cargo", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverso (p.e. Mastodon)", "Website" : "Sitio web", "Profile visibility" : "Visibilidad del perfil", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "No está disponible, ya que esta característica es necesaria para la funcionalidad principal, incluyendo el intercambio de archivos y las invitaciones de calendario", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "No está disponible ya que la federación ha sido deshabilitada para su cuenta, contacte a su administrador del sistema si tiene cualquier pregunta", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "No está disponible ya que la publicación de datos específicos del usuario en el servidor de búsqueda no está permitida, póngase en contacto con el administrador del sistema si tiene alguna duda", + "Active apps" : "Apps activas", + "Disabled apps" : "Apps deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Lotes de apps", + "Featured apps" : "Apps destacadas", "Show to everyone" : "Mostrar a todos", "Show to logged in users only" : "Mostrar solo a usuarios con inicio de sesión", "Hide" : "Ocultar", @@ -429,7 +433,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "Ha ocurrido un error durante la solicitud. No se puede continuar.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La app ha sido activada pero tiene que actualizarse. Serás redirigido a la página de actualización en 5 segundos.", "Error: This app cannot be enabled because it makes the server unstable" : "Error: Esta app no se puede activar porque hace inestable al servidor", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es.json b/apps/settings/l10n/es.json index 556ac2bc007..937ad488895 100644 --- a/apps/settings/l10n/es.json +++ b/apps/settings/l10n/es.json @@ -71,6 +71,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "El número máximo de claves de OPcache está casi superado. Para asegurar que todos los scripts puedan mantenerse en la caché, se recomienda aplicar <code>opcache.max_accelerated_files</code> a su configuración de PHP con un valor superior a <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "El buffer de OPcache está casi lleno. Para asegurar que todos los scripts puedan ser retenidos en la caché, se recomienda aplicar <code>opcache.memory_consumption</code> a su configuración de PHP con un valor superior a <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "El buffer de OPcache está casi lleno. Para asegurar que todos los scripts puedan ser retenidos en la caché, se recomienda aplicar <code>opcache.memory_consumption</code> a su configuración de PHP con un valor superior a <code>%s</code>.", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación de usuario", "Invalid SMTP password." : "Contraseña SMTP inválida", "Email setting test" : "Prueba de configuración de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -120,6 +122,7 @@ "Basic settings" : "Ajustes básicos", "Sharing" : "Compartir", "Availability" : "Disponibilidad", + "Calendar" : "Calendario", "Personal info" : "Información personal", "Mobile & desktop" : "Móvil y escritorio", "Email server" : "Servidor de correo electrónico", @@ -167,7 +170,6 @@ "View in store" : "Ver en la tienda", "Visit website" : "Visite el sitio web", "Report a bug" : "Notificar un error", - "User documentation" : "Documentación de usuario", "Admin documentation" : "Documentación de administrador", "Developer documentation" : "Documentación de desarrollador", "This app is supported via your current Nextcloud subscription." : "Esta App está soportada a través de su suscripción actual de Nexcloud.", @@ -299,6 +301,7 @@ "Unable to delete additional email address" : "No se pudo borrar la dirección de email adicional", "No email address set" : "No hay establecida ninguna dirección de correo", "Additional emails" : "Direcciones de email adicionales", + "Your handle" : "Tu identificador", "Your headline" : "Tu titular", "Language" : "Idioma", "Help translate" : "Ayúdanos a traducir", @@ -378,11 +381,6 @@ "The following devices are configured for your account:" : "Los siguientes dispositivos están configurados en su cuenta:", "Your browser does not support WebAuthn." : "Tu navegador no soporta WebAuthn.", "Your apps" : "Tus apps", - "Active apps" : "Apps activas", - "Disabled apps" : "Apps deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Lotes de apps", - "Featured apps" : "Apps destacadas", "{license}-licensed" : "licenciado bajo {license}", "Changelog" : "Historial de cambios", "by {author}\n{license}" : "por {author}\n{license}", @@ -411,11 +409,17 @@ "Phone number" : "Número de teléfono", "Role" : "Cargo", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverso (p.e. Mastodon)", "Website" : "Sitio web", "Profile visibility" : "Visibilidad del perfil", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "No está disponible, ya que esta característica es necesaria para la funcionalidad principal, incluyendo el intercambio de archivos y las invitaciones de calendario", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "No está disponible ya que la federación ha sido deshabilitada para su cuenta, contacte a su administrador del sistema si tiene cualquier pregunta", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "No está disponible ya que la publicación de datos específicos del usuario en el servidor de búsqueda no está permitida, póngase en contacto con el administrador del sistema si tiene alguna duda", + "Active apps" : "Apps activas", + "Disabled apps" : "Apps deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Lotes de apps", + "Featured apps" : "Apps destacadas", "Show to everyone" : "Mostrar a todos", "Show to logged in users only" : "Mostrar solo a usuarios con inicio de sesión", "Hide" : "Ocultar", @@ -427,7 +431,6 @@ "An error occurred during the request. Unable to proceed." : "Ha ocurrido un error durante la solicitud. No se puede continuar.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La app ha sido activada pero tiene que actualizarse. Serás redirigido a la página de actualización en 5 segundos.", "Error: This app cannot be enabled because it makes the server unstable" : "Error: Esta app no se puede activar porque hace inestable al servidor", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_419.js b/apps/settings/l10n/es_419.js index c51505b74d6..b6ab365c428 100644 --- a/apps/settings/l10n/es_419.js +++ b/apps/settings/l10n/es_419.js @@ -30,6 +30,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -70,6 +72,7 @@ OC.L10N.register( "Overview" : "Resumen", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -95,7 +98,6 @@ OC.L10N.register( "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -167,9 +169,6 @@ OC.L10N.register( "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -187,10 +186,12 @@ OC.L10N.register( "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_419.json b/apps/settings/l10n/es_419.json index a74f8e7ecd7..1fbc14c213a 100644 --- a/apps/settings/l10n/es_419.json +++ b/apps/settings/l10n/es_419.json @@ -28,6 +28,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -68,6 +70,7 @@ "Overview" : "Resumen", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -93,7 +96,6 @@ "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -165,9 +167,6 @@ "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -185,10 +184,12 @@ "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_AR.js b/apps/settings/l10n/es_AR.js index 8bb31e9785e..31ac41b2470 100644 --- a/apps/settings/l10n/es_AR.js +++ b/apps/settings/l10n/es_AR.js @@ -30,6 +30,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Favor de proporcionar una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Favor de verificarla e inténtelo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación de adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -67,6 +69,7 @@ OC.L10N.register( "Additional settings" : "Configuraciones adicionales", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -90,7 +93,6 @@ OC.L10N.register( "View in store" : "Ver en la tienda", "Visit website" : "Visite el sitio web", "Report a bug" : "Reporte un tema", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -158,9 +160,6 @@ OC.L10N.register( "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Sus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicacion", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -178,10 +177,12 @@ OC.L10N.register( "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicacion", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Usted será redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación de adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Inicio de sesión", diff --git a/apps/settings/l10n/es_AR.json b/apps/settings/l10n/es_AR.json index d83e46ca2af..256a3edae8c 100644 --- a/apps/settings/l10n/es_AR.json +++ b/apps/settings/l10n/es_AR.json @@ -28,6 +28,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Favor de proporcionar una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Favor de verificarla e inténtelo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación de adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -65,6 +67,7 @@ "Additional settings" : "Configuraciones adicionales", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -88,7 +91,6 @@ "View in store" : "Ver en la tienda", "Visit website" : "Visite el sitio web", "Report a bug" : "Reporte un tema", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -156,9 +158,6 @@ "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Sus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicacion", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -176,10 +175,12 @@ "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicacion", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Usted será redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación de adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Inicio de sesión", diff --git a/apps/settings/l10n/es_CL.js b/apps/settings/l10n/es_CL.js index 5b5d3fa08d8..77906cebc5c 100644 --- a/apps/settings/l10n/es_CL.js +++ b/apps/settings/l10n/es_CL.js @@ -32,6 +32,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -73,6 +75,7 @@ OC.L10N.register( "Overview" : "Generalidades", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -96,7 +99,6 @@ OC.L10N.register( "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -166,9 +168,6 @@ OC.L10N.register( "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -186,10 +185,12 @@ OC.L10N.register( "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_CL.json b/apps/settings/l10n/es_CL.json index d019218c7c6..e20228310c4 100644 --- a/apps/settings/l10n/es_CL.json +++ b/apps/settings/l10n/es_CL.json @@ -30,6 +30,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -71,6 +73,7 @@ "Overview" : "Generalidades", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -94,7 +97,6 @@ "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -164,9 +166,6 @@ "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -184,10 +183,12 @@ "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_CO.js b/apps/settings/l10n/es_CO.js index 5b5d3fa08d8..77906cebc5c 100644 --- a/apps/settings/l10n/es_CO.js +++ b/apps/settings/l10n/es_CO.js @@ -32,6 +32,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -73,6 +75,7 @@ OC.L10N.register( "Overview" : "Generalidades", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -96,7 +99,6 @@ OC.L10N.register( "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -166,9 +168,6 @@ OC.L10N.register( "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -186,10 +185,12 @@ OC.L10N.register( "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_CO.json b/apps/settings/l10n/es_CO.json index d019218c7c6..e20228310c4 100644 --- a/apps/settings/l10n/es_CO.json +++ b/apps/settings/l10n/es_CO.json @@ -30,6 +30,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -71,6 +73,7 @@ "Overview" : "Generalidades", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -94,7 +97,6 @@ "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -164,9 +166,6 @@ "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -184,10 +183,12 @@ "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_CR.js b/apps/settings/l10n/es_CR.js index 5b5d3fa08d8..77906cebc5c 100644 --- a/apps/settings/l10n/es_CR.js +++ b/apps/settings/l10n/es_CR.js @@ -32,6 +32,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -73,6 +75,7 @@ OC.L10N.register( "Overview" : "Generalidades", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -96,7 +99,6 @@ OC.L10N.register( "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -166,9 +168,6 @@ OC.L10N.register( "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -186,10 +185,12 @@ OC.L10N.register( "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_CR.json b/apps/settings/l10n/es_CR.json index d019218c7c6..e20228310c4 100644 --- a/apps/settings/l10n/es_CR.json +++ b/apps/settings/l10n/es_CR.json @@ -30,6 +30,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -71,6 +73,7 @@ "Overview" : "Generalidades", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -94,7 +97,6 @@ "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -164,9 +166,6 @@ "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -184,10 +183,12 @@ "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_DO.js b/apps/settings/l10n/es_DO.js index 5b5d3fa08d8..77906cebc5c 100644 --- a/apps/settings/l10n/es_DO.js +++ b/apps/settings/l10n/es_DO.js @@ -32,6 +32,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -73,6 +75,7 @@ OC.L10N.register( "Overview" : "Generalidades", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -96,7 +99,6 @@ OC.L10N.register( "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -166,9 +168,6 @@ OC.L10N.register( "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -186,10 +185,12 @@ OC.L10N.register( "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_DO.json b/apps/settings/l10n/es_DO.json index d019218c7c6..e20228310c4 100644 --- a/apps/settings/l10n/es_DO.json +++ b/apps/settings/l10n/es_DO.json @@ -30,6 +30,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -71,6 +73,7 @@ "Overview" : "Generalidades", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -94,7 +97,6 @@ "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -164,9 +166,6 @@ "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -184,10 +183,12 @@ "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_EC.js b/apps/settings/l10n/es_EC.js index 5b5d3fa08d8..77906cebc5c 100644 --- a/apps/settings/l10n/es_EC.js +++ b/apps/settings/l10n/es_EC.js @@ -32,6 +32,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -73,6 +75,7 @@ OC.L10N.register( "Overview" : "Generalidades", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -96,7 +99,6 @@ OC.L10N.register( "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -166,9 +168,6 @@ OC.L10N.register( "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -186,10 +185,12 @@ OC.L10N.register( "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_EC.json b/apps/settings/l10n/es_EC.json index d019218c7c6..e20228310c4 100644 --- a/apps/settings/l10n/es_EC.json +++ b/apps/settings/l10n/es_EC.json @@ -30,6 +30,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -71,6 +73,7 @@ "Overview" : "Generalidades", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -94,7 +97,6 @@ "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -164,9 +166,6 @@ "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -184,10 +183,12 @@ "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_GT.js b/apps/settings/l10n/es_GT.js index 5b5d3fa08d8..77906cebc5c 100644 --- a/apps/settings/l10n/es_GT.js +++ b/apps/settings/l10n/es_GT.js @@ -32,6 +32,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -73,6 +75,7 @@ OC.L10N.register( "Overview" : "Generalidades", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -96,7 +99,6 @@ OC.L10N.register( "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -166,9 +168,6 @@ OC.L10N.register( "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -186,10 +185,12 @@ OC.L10N.register( "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_GT.json b/apps/settings/l10n/es_GT.json index d019218c7c6..e20228310c4 100644 --- a/apps/settings/l10n/es_GT.json +++ b/apps/settings/l10n/es_GT.json @@ -30,6 +30,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -71,6 +73,7 @@ "Overview" : "Generalidades", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -94,7 +97,6 @@ "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -164,9 +166,6 @@ "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -184,10 +183,12 @@ "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_HN.js b/apps/settings/l10n/es_HN.js index 2892cc701d9..f19acfde3f6 100644 --- a/apps/settings/l10n/es_HN.js +++ b/apps/settings/l10n/es_HN.js @@ -30,6 +30,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -69,6 +71,7 @@ OC.L10N.register( "Additional settings" : "Configuraciones adicionales", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -92,7 +95,6 @@ OC.L10N.register( "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -161,9 +163,6 @@ OC.L10N.register( "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -181,10 +180,12 @@ OC.L10N.register( "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_HN.json b/apps/settings/l10n/es_HN.json index d4a070621a7..76392db8896 100644 --- a/apps/settings/l10n/es_HN.json +++ b/apps/settings/l10n/es_HN.json @@ -28,6 +28,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -67,6 +69,7 @@ "Additional settings" : "Configuraciones adicionales", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -90,7 +93,6 @@ "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -159,9 +161,6 @@ "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -179,10 +178,12 @@ "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_MX.js b/apps/settings/l10n/es_MX.js index f3beb979556..e0aa8efa525 100644 --- a/apps/settings/l10n/es_MX.js +++ b/apps/settings/l10n/es_MX.js @@ -42,6 +42,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -83,6 +85,7 @@ OC.L10N.register( "Overview" : "Generalidades", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Mobile & desktop" : "Móvil & escritorio", "Email server" : "Servidor de correo electrónico", @@ -107,7 +110,6 @@ OC.L10N.register( "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -188,9 +190,6 @@ OC.L10N.register( "Password change is disabled because the master key is disabled" : "El cambio de contraseña está deshabilitado porque la llave maestra está deshabilitada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -209,10 +208,12 @@ OC.L10N.register( "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_MX.json b/apps/settings/l10n/es_MX.json index 1c978c39be6..b499b509465 100644 --- a/apps/settings/l10n/es_MX.json +++ b/apps/settings/l10n/es_MX.json @@ -40,6 +40,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -81,6 +83,7 @@ "Overview" : "Generalidades", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Mobile & desktop" : "Móvil & escritorio", "Email server" : "Servidor de correo electrónico", @@ -105,7 +108,6 @@ "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -186,9 +188,6 @@ "Password change is disabled because the master key is disabled" : "El cambio de contraseña está deshabilitado porque la llave maestra está deshabilitada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -207,10 +206,12 @@ "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_NI.js b/apps/settings/l10n/es_NI.js index 2892cc701d9..f19acfde3f6 100644 --- a/apps/settings/l10n/es_NI.js +++ b/apps/settings/l10n/es_NI.js @@ -30,6 +30,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -69,6 +71,7 @@ OC.L10N.register( "Additional settings" : "Configuraciones adicionales", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -92,7 +95,6 @@ OC.L10N.register( "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -161,9 +163,6 @@ OC.L10N.register( "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -181,10 +180,12 @@ OC.L10N.register( "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_NI.json b/apps/settings/l10n/es_NI.json index d4a070621a7..76392db8896 100644 --- a/apps/settings/l10n/es_NI.json +++ b/apps/settings/l10n/es_NI.json @@ -28,6 +28,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -67,6 +69,7 @@ "Additional settings" : "Configuraciones adicionales", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -90,7 +93,6 @@ "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -159,9 +161,6 @@ "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -179,10 +178,12 @@ "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_PA.js b/apps/settings/l10n/es_PA.js index 2892cc701d9..f19acfde3f6 100644 --- a/apps/settings/l10n/es_PA.js +++ b/apps/settings/l10n/es_PA.js @@ -30,6 +30,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -69,6 +71,7 @@ OC.L10N.register( "Additional settings" : "Configuraciones adicionales", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -92,7 +95,6 @@ OC.L10N.register( "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -161,9 +163,6 @@ OC.L10N.register( "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -181,10 +180,12 @@ OC.L10N.register( "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_PA.json b/apps/settings/l10n/es_PA.json index d4a070621a7..76392db8896 100644 --- a/apps/settings/l10n/es_PA.json +++ b/apps/settings/l10n/es_PA.json @@ -28,6 +28,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -67,6 +69,7 @@ "Additional settings" : "Configuraciones adicionales", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -90,7 +93,6 @@ "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -159,9 +161,6 @@ "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -179,10 +178,12 @@ "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_PE.js b/apps/settings/l10n/es_PE.js index 2892cc701d9..f19acfde3f6 100644 --- a/apps/settings/l10n/es_PE.js +++ b/apps/settings/l10n/es_PE.js @@ -30,6 +30,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -69,6 +71,7 @@ OC.L10N.register( "Additional settings" : "Configuraciones adicionales", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -92,7 +95,6 @@ OC.L10N.register( "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -161,9 +163,6 @@ OC.L10N.register( "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -181,10 +180,12 @@ OC.L10N.register( "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_PE.json b/apps/settings/l10n/es_PE.json index d4a070621a7..76392db8896 100644 --- a/apps/settings/l10n/es_PE.json +++ b/apps/settings/l10n/es_PE.json @@ -28,6 +28,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -67,6 +69,7 @@ "Additional settings" : "Configuraciones adicionales", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -90,7 +93,6 @@ "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -159,9 +161,6 @@ "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -179,10 +178,12 @@ "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_PR.js b/apps/settings/l10n/es_PR.js index 2892cc701d9..f19acfde3f6 100644 --- a/apps/settings/l10n/es_PR.js +++ b/apps/settings/l10n/es_PR.js @@ -30,6 +30,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -69,6 +71,7 @@ OC.L10N.register( "Additional settings" : "Configuraciones adicionales", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -92,7 +95,6 @@ OC.L10N.register( "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -161,9 +163,6 @@ OC.L10N.register( "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -181,10 +180,12 @@ OC.L10N.register( "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_PR.json b/apps/settings/l10n/es_PR.json index d4a070621a7..76392db8896 100644 --- a/apps/settings/l10n/es_PR.json +++ b/apps/settings/l10n/es_PR.json @@ -28,6 +28,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -67,6 +69,7 @@ "Additional settings" : "Configuraciones adicionales", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -90,7 +93,6 @@ "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -159,9 +161,6 @@ "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -179,10 +178,12 @@ "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_PY.js b/apps/settings/l10n/es_PY.js index 2892cc701d9..f19acfde3f6 100644 --- a/apps/settings/l10n/es_PY.js +++ b/apps/settings/l10n/es_PY.js @@ -30,6 +30,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -69,6 +71,7 @@ OC.L10N.register( "Additional settings" : "Configuraciones adicionales", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -92,7 +95,6 @@ OC.L10N.register( "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -161,9 +163,6 @@ OC.L10N.register( "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -181,10 +180,12 @@ OC.L10N.register( "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_PY.json b/apps/settings/l10n/es_PY.json index d4a070621a7..76392db8896 100644 --- a/apps/settings/l10n/es_PY.json +++ b/apps/settings/l10n/es_PY.json @@ -28,6 +28,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -67,6 +69,7 @@ "Additional settings" : "Configuraciones adicionales", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -90,7 +93,6 @@ "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -159,9 +161,6 @@ "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -179,10 +178,12 @@ "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_SV.js b/apps/settings/l10n/es_SV.js index 5b5d3fa08d8..77906cebc5c 100644 --- a/apps/settings/l10n/es_SV.js +++ b/apps/settings/l10n/es_SV.js @@ -32,6 +32,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -73,6 +75,7 @@ OC.L10N.register( "Overview" : "Generalidades", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -96,7 +99,6 @@ OC.L10N.register( "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -166,9 +168,6 @@ OC.L10N.register( "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -186,10 +185,12 @@ OC.L10N.register( "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_SV.json b/apps/settings/l10n/es_SV.json index d019218c7c6..e20228310c4 100644 --- a/apps/settings/l10n/es_SV.json +++ b/apps/settings/l10n/es_SV.json @@ -30,6 +30,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -71,6 +73,7 @@ "Overview" : "Generalidades", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -94,7 +97,6 @@ "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -164,9 +166,6 @@ "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -184,10 +183,12 @@ "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_UY.js b/apps/settings/l10n/es_UY.js index 2892cc701d9..f19acfde3f6 100644 --- a/apps/settings/l10n/es_UY.js +++ b/apps/settings/l10n/es_UY.js @@ -30,6 +30,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -69,6 +71,7 @@ OC.L10N.register( "Additional settings" : "Configuraciones adicionales", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -92,7 +95,6 @@ OC.L10N.register( "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -161,9 +163,6 @@ OC.L10N.register( "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -181,10 +180,12 @@ OC.L10N.register( "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/es_UY.json b/apps/settings/l10n/es_UY.json index d4a070621a7..76392db8896 100644 --- a/apps/settings/l10n/es_UY.json +++ b/apps/settings/l10n/es_UY.json @@ -28,6 +28,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ", "Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.", "Federated Cloud Sharing" : "Compartir en la Nube Federada", + "Administrator documentation" : "Documentación del adminsitrador", + "User documentation" : "Documentación del usuario", "Invalid SMTP password." : "Constraseña SMTP inválida. ", "Email setting test" : "Prueba de ajustes de correo", "Well done, %s!" : "¡Bien hecho, %s!", @@ -67,6 +69,7 @@ "Additional settings" : "Configuraciones adicionales", "Basic settings" : "Configuraciones básicas", "Sharing" : "Compartiendo", + "Calendar" : "Calendario", "Personal info" : "Información Personal", "Email server" : "Servidor de correo electrónico", "Security & setup warnings" : "Advertencias de seguridad y configuración", @@ -90,7 +93,6 @@ "View in store" : "Ver en la tienda", "Visit website" : "Visita el sitio web", "Report a bug" : "Reporta un detalle", - "User documentation" : "Documentación del usuario", "Admin documentation" : "Documentación del administrador", "Developer documentation" : "Documentación del desarrollador", "Featured" : "Destacado", @@ -159,9 +161,6 @@ "Default quota" : "Cuota predeterminada", "Unnamed device" : "Dispositivo sin nombre", "Your apps" : "Tus aplicaciones", - "Disabled apps" : "Aplicaciones deshabilitadas", - "Updates" : "Actualizaciones", - "App bundles" : "Paquetes de aplicación", "Changelog" : "Bitácora de cambios", "Add group" : "Agregar grupo", "Active users" : "Usuarios activos", @@ -179,10 +178,12 @@ "Phone number" : "Número de teléfono", "Twitter" : "Twitter", "Website" : "Sitio web", + "Disabled apps" : "Aplicaciones deshabilitadas", + "Updates" : "Actualizaciones", + "App bundles" : "Paquetes de aplicación", "Hide" : "Ocultar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ", - "Administrator documentation" : "Documentación del adminsitrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Iniciar sesión", diff --git a/apps/settings/l10n/et_EE.js b/apps/settings/l10n/et_EE.js index 1fbc4ec3b7f..aa1527bcbd4 100644 --- a/apps/settings/l10n/et_EE.js +++ b/apps/settings/l10n/et_EE.js @@ -32,6 +32,8 @@ OC.L10N.register( "Authentication error" : "Autentimise viga", "Wrong admin recovery password. Please check the password and try again." : "Vale administraatori taasteparool. Palun kontrolli parooli ning proovi uuesti.", "Federated Cloud Sharing" : "Jagamine liitpilves", + "Administrator documentation" : "Administraatori dokumentatsioon", + "User documentation" : "Kasutaja dokumentatsioon", "Invalid SMTP password." : "Vale SMTP parool.", "Email setting test" : "E-posti sätete kontroll", "Well done, %s!" : "Suurepärane, %s!", @@ -71,6 +73,7 @@ OC.L10N.register( "Overview" : "Ülevaade", "Basic settings" : "Põhiseaded", "Sharing" : "Jagamine", + "Calendar" : "Kalender", "Personal info" : "Isiklik info", "Mobile & desktop" : "Mobiil ja töölaud", "Email server" : "E-kirjade server", @@ -91,7 +94,6 @@ OC.L10N.register( "Disable" : "Lülita välja", "Visit website" : "Külasta veebisaiti", "Report a bug" : "Teata veast", - "User documentation" : "Kasutaja dokumentatsioon", "Admin documentation" : "Administraatori dokumentatsioon", "Developer documentation" : "Arendaja dokumentatsioon", "Featured" : "Esile tõstetud", @@ -165,9 +167,6 @@ OC.L10N.register( "Common languages" : "Levinud keeled", "Unnamed device" : "Nimetu seade", "Your apps" : "Sinu rakendused", - "Disabled apps" : "Keelatud rakendused", - "Updates" : "Uuendused", - "App bundles" : "Rakenduste kogumikud", "{license}-licensed" : "{license} litsents", "Changelog" : "Muudatuste logi", "Add group" : "Lisa grupp", @@ -187,10 +186,12 @@ OC.L10N.register( "Phone number" : "Telefoninumber", "Twitter" : "Twitter", "Website" : "Veebileht", + "Disabled apps" : "Keelatud rakendused", + "Updates" : "Uuendused", + "App bundles" : "Rakenduste kogumikud", "Hide" : "Peida", "Never" : "Mitte kunagi", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Rakendus on lubatud, aga see vajab uuendamist. Sind suunatakse 5 sekundi pärast uuendamise lehele.", - "Administrator documentation" : "Administraatori dokumentatsioon", "Documentation" : "Dokumentatsioon", "Forum" : "Foorum", "Login" : "Logi sisse", diff --git a/apps/settings/l10n/et_EE.json b/apps/settings/l10n/et_EE.json index d3b1816fc65..648bf9ca692 100644 --- a/apps/settings/l10n/et_EE.json +++ b/apps/settings/l10n/et_EE.json @@ -30,6 +30,8 @@ "Authentication error" : "Autentimise viga", "Wrong admin recovery password. Please check the password and try again." : "Vale administraatori taasteparool. Palun kontrolli parooli ning proovi uuesti.", "Federated Cloud Sharing" : "Jagamine liitpilves", + "Administrator documentation" : "Administraatori dokumentatsioon", + "User documentation" : "Kasutaja dokumentatsioon", "Invalid SMTP password." : "Vale SMTP parool.", "Email setting test" : "E-posti sätete kontroll", "Well done, %s!" : "Suurepärane, %s!", @@ -69,6 +71,7 @@ "Overview" : "Ülevaade", "Basic settings" : "Põhiseaded", "Sharing" : "Jagamine", + "Calendar" : "Kalender", "Personal info" : "Isiklik info", "Mobile & desktop" : "Mobiil ja töölaud", "Email server" : "E-kirjade server", @@ -89,7 +92,6 @@ "Disable" : "Lülita välja", "Visit website" : "Külasta veebisaiti", "Report a bug" : "Teata veast", - "User documentation" : "Kasutaja dokumentatsioon", "Admin documentation" : "Administraatori dokumentatsioon", "Developer documentation" : "Arendaja dokumentatsioon", "Featured" : "Esile tõstetud", @@ -163,9 +165,6 @@ "Common languages" : "Levinud keeled", "Unnamed device" : "Nimetu seade", "Your apps" : "Sinu rakendused", - "Disabled apps" : "Keelatud rakendused", - "Updates" : "Uuendused", - "App bundles" : "Rakenduste kogumikud", "{license}-licensed" : "{license} litsents", "Changelog" : "Muudatuste logi", "Add group" : "Lisa grupp", @@ -185,10 +184,12 @@ "Phone number" : "Telefoninumber", "Twitter" : "Twitter", "Website" : "Veebileht", + "Disabled apps" : "Keelatud rakendused", + "Updates" : "Uuendused", + "App bundles" : "Rakenduste kogumikud", "Hide" : "Peida", "Never" : "Mitte kunagi", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Rakendus on lubatud, aga see vajab uuendamist. Sind suunatakse 5 sekundi pärast uuendamise lehele.", - "Administrator documentation" : "Administraatori dokumentatsioon", "Documentation" : "Dokumentatsioon", "Forum" : "Foorum", "Login" : "Logi sisse", diff --git a/apps/settings/l10n/eu.js b/apps/settings/l10n/eu.js index 5142bd95948..d7b4ddc9a19 100644 --- a/apps/settings/l10n/eu.js +++ b/apps/settings/l10n/eu.js @@ -73,6 +73,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache gakoen gehienezko kopurua ia gainditzen da. Script guztiak cachean gorde daitezkeela ziurtatzeko,<code>opcache.max_accelerated_files</code>zure PHP konfigurazioan <code> %s </code> baino balio handiagoarekin aplikatzea gomendatzen da.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache buffer-a ia beteta dago. Script guztiak cachean gorde daitezkeela ziurtatzeko, gomendatzen da <code> opcache.memory_consumption </code> aplikatzea zure PHP konfigurazioan <code> %s </code> baino balio handiagoarekin.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache barneratutako kateen buffer-a ia beteta dago. Errepikatzen diren kateak modu eraginkorrean gorde daitezkeela ziurtatzeko, gomendatzen da <code> aplikatzea opcache.interned_strings_buffer </code> zure PHP konfigurazioan <code> %s</code>baino balio handiagoarekin.", + "Administrator documentation" : "Administratzaile dokumentazioa", + "User documentation" : "Erabiltzailearen dokumentazioa", "Invalid SMTP password." : "SMTP pasahitza baliogabea", "Email setting test" : "E-postaren ezarpenen proba", "Well done, %s!" : "Ongi egina, %s!", @@ -122,6 +124,7 @@ OC.L10N.register( "Basic settings" : "Oinarrizko ezarpenak", "Sharing" : "Partekatzea", "Availability" : "Eskuragarritasuna", + "Calendar" : "Egutegia", "Personal info" : "Informazio pertsonala", "Mobile & desktop" : "Mugikorra eta mahaigaina", "Email server" : "E-posta zerbitzaria", @@ -169,7 +172,6 @@ OC.L10N.register( "View in store" : "Dendan ikusi", "Visit website" : "Web orria ikusi", "Report a bug" : "Eman akats baten berri ", - "User documentation" : "Erabiltzailearen dokumentazioa", "Admin documentation" : "Administratzailearen dokumentazioa", "Developer documentation" : "Garatzailearen dokumentazioa", "This app is supported via your current Nextcloud subscription." : "Aplikazio hau zure Nextcloud harpidetzaren bitartez ahalbidetua dago.", @@ -206,7 +208,7 @@ OC.L10N.register( "Sync client - {os}" : "Sinkronizatu bezeroaren - {os}", "This session" : "Saio hau", "Device" : "Gailua", - "Last activity" : "Azken jarduera", + "Last activity" : "Azken jarduerak", "Devices & sessions" : "Gailuak eta saioak", "Web, desktop and mobile clients currently logged in to your account." : "Webgunean edota mahaigaineko zein mugikorreko bezero hauetan saioa hasita duzu.", "Do you really want to wipe your data from this device?" : "Ziur zaude gailu honetatik zure datu guztiak ezabatu nahi dituzula?", @@ -380,11 +382,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Hurrengo gailuak zure konturako konfiguratuta daude:", "Your browser does not support WebAuthn." : "Zure nabigatzaileak ez du WebAuthn onartzen.", "Your apps" : "Zure aplikazioak", - "Active apps" : "Aplikazio aktiboak", - "Disabled apps" : "Gaitu gabeko aplikazioak", - "Updates" : "Eguneraketak", - "App bundles" : "Aplikazio sortak", - "Featured apps" : "App aipagarriak", "{license}-licensed" : "{license}-lizentziaduna", "Changelog" : "Aldaketak", "by {author}\n{license}" : "{autor}-(e)k egina\n{license}", @@ -417,6 +414,11 @@ OC.L10N.register( "Profile visibility" : "Profilaren ikusgarritasuna", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Ez dago eskuragarri propietate hau oinarrizko funtzionaltasunentzako beharrezkoa delako, fitxategien partekatze eta egutegien gonbidapenak barne", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Ez dago eskuragarri bilaketa zerbitzarira erabiltzaileen datu zehatzak argitaratzea ez dagoelako baimenduta, jarri harremanetan sistemaren administratzailearekin galderarik baduzu", + "Active apps" : "Aplikazio aktiboak", + "Disabled apps" : "Gaitu gabeko aplikazioak", + "Updates" : "Eguneraketak", + "App bundles" : "Aplikazio sortak", + "Featured apps" : "App aipagarriak", "Show to everyone" : "Erakutsi denei", "Show to logged in users only" : "Erakutsi saioa hasi duten erabiltzaileei soilik", "Hide" : "Ezkutatu", @@ -428,7 +430,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "Errorea gertatu da eskaeran. Ezin da jarraitu.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikazioa gaitu da baina eguneratu behar da. Eguneratze orrira joango zara 5 segundotan.", "Error: This app cannot be enabled because it makes the server unstable" : "Errorea: aplikazio hau ezin da gaitu zerbitzaria ezegonkorra izatea eragiten duelako", - "Administrator documentation" : "Administratzaile dokumentazioa", "Documentation" : "Dokumentazioa", "Forum" : "Foroa", "Login" : "Saio hasiera", diff --git a/apps/settings/l10n/eu.json b/apps/settings/l10n/eu.json index 2571ec02cc0..3b7b9a5edb5 100644 --- a/apps/settings/l10n/eu.json +++ b/apps/settings/l10n/eu.json @@ -71,6 +71,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache gakoen gehienezko kopurua ia gainditzen da. Script guztiak cachean gorde daitezkeela ziurtatzeko,<code>opcache.max_accelerated_files</code>zure PHP konfigurazioan <code> %s </code> baino balio handiagoarekin aplikatzea gomendatzen da.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache buffer-a ia beteta dago. Script guztiak cachean gorde daitezkeela ziurtatzeko, gomendatzen da <code> opcache.memory_consumption </code> aplikatzea zure PHP konfigurazioan <code> %s </code> baino balio handiagoarekin.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache barneratutako kateen buffer-a ia beteta dago. Errepikatzen diren kateak modu eraginkorrean gorde daitezkeela ziurtatzeko, gomendatzen da <code> aplikatzea opcache.interned_strings_buffer </code> zure PHP konfigurazioan <code> %s</code>baino balio handiagoarekin.", + "Administrator documentation" : "Administratzaile dokumentazioa", + "User documentation" : "Erabiltzailearen dokumentazioa", "Invalid SMTP password." : "SMTP pasahitza baliogabea", "Email setting test" : "E-postaren ezarpenen proba", "Well done, %s!" : "Ongi egina, %s!", @@ -120,6 +122,7 @@ "Basic settings" : "Oinarrizko ezarpenak", "Sharing" : "Partekatzea", "Availability" : "Eskuragarritasuna", + "Calendar" : "Egutegia", "Personal info" : "Informazio pertsonala", "Mobile & desktop" : "Mugikorra eta mahaigaina", "Email server" : "E-posta zerbitzaria", @@ -167,7 +170,6 @@ "View in store" : "Dendan ikusi", "Visit website" : "Web orria ikusi", "Report a bug" : "Eman akats baten berri ", - "User documentation" : "Erabiltzailearen dokumentazioa", "Admin documentation" : "Administratzailearen dokumentazioa", "Developer documentation" : "Garatzailearen dokumentazioa", "This app is supported via your current Nextcloud subscription." : "Aplikazio hau zure Nextcloud harpidetzaren bitartez ahalbidetua dago.", @@ -204,7 +206,7 @@ "Sync client - {os}" : "Sinkronizatu bezeroaren - {os}", "This session" : "Saio hau", "Device" : "Gailua", - "Last activity" : "Azken jarduera", + "Last activity" : "Azken jarduerak", "Devices & sessions" : "Gailuak eta saioak", "Web, desktop and mobile clients currently logged in to your account." : "Webgunean edota mahaigaineko zein mugikorreko bezero hauetan saioa hasita duzu.", "Do you really want to wipe your data from this device?" : "Ziur zaude gailu honetatik zure datu guztiak ezabatu nahi dituzula?", @@ -378,11 +380,6 @@ "The following devices are configured for your account:" : "Hurrengo gailuak zure konturako konfiguratuta daude:", "Your browser does not support WebAuthn." : "Zure nabigatzaileak ez du WebAuthn onartzen.", "Your apps" : "Zure aplikazioak", - "Active apps" : "Aplikazio aktiboak", - "Disabled apps" : "Gaitu gabeko aplikazioak", - "Updates" : "Eguneraketak", - "App bundles" : "Aplikazio sortak", - "Featured apps" : "App aipagarriak", "{license}-licensed" : "{license}-lizentziaduna", "Changelog" : "Aldaketak", "by {author}\n{license}" : "{autor}-(e)k egina\n{license}", @@ -415,6 +412,11 @@ "Profile visibility" : "Profilaren ikusgarritasuna", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Ez dago eskuragarri propietate hau oinarrizko funtzionaltasunentzako beharrezkoa delako, fitxategien partekatze eta egutegien gonbidapenak barne", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Ez dago eskuragarri bilaketa zerbitzarira erabiltzaileen datu zehatzak argitaratzea ez dagoelako baimenduta, jarri harremanetan sistemaren administratzailearekin galderarik baduzu", + "Active apps" : "Aplikazio aktiboak", + "Disabled apps" : "Gaitu gabeko aplikazioak", + "Updates" : "Eguneraketak", + "App bundles" : "Aplikazio sortak", + "Featured apps" : "App aipagarriak", "Show to everyone" : "Erakutsi denei", "Show to logged in users only" : "Erakutsi saioa hasi duten erabiltzaileei soilik", "Hide" : "Ezkutatu", @@ -426,7 +428,6 @@ "An error occurred during the request. Unable to proceed." : "Errorea gertatu da eskaeran. Ezin da jarraitu.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikazioa gaitu da baina eguneratu behar da. Eguneratze orrira joango zara 5 segundotan.", "Error: This app cannot be enabled because it makes the server unstable" : "Errorea: aplikazio hau ezin da gaitu zerbitzaria ezegonkorra izatea eragiten duelako", - "Administrator documentation" : "Administratzaile dokumentazioa", "Documentation" : "Dokumentazioa", "Forum" : "Foroa", "Login" : "Saio hasiera", diff --git a/apps/settings/l10n/fa.js b/apps/settings/l10n/fa.js index 612b7874a96..867735033c1 100644 --- a/apps/settings/l10n/fa.js +++ b/apps/settings/l10n/fa.js @@ -2,15 +2,15 @@ OC.L10N.register( "settings", { "Private" : "خصوصی", - "Only visible to people matched via phone number integration through Talk on mobile" : "فقط برای کاربرانی فعال است که از طریق یکپارچه سازی شماره تلفن در برنامه Talk روی تلفن همراه مطابقت داشته باشند", + "Only visible to people matched via phone number integration through Talk on mobile" : "نمایان تنها برای افرادی که با یکپارچگی شماره تلفن از طریق Talk روی تلفن همراه مطابقند", "Local" : "محلی", - "Only visible to people on this instance and guests" : "فقط برای کاربران این نسخه و مهمانان قابل مشاهده است", - "Federated" : "فدرال", - "Only synchronize to trusted servers" : "فقط با سرورهای قابل اعتماد همگام سازی شود", + "Only visible to people on this instance and guests" : "نمایان تنها برای افراد روی این نمونه و میهانان", + "Federated" : "همگانی", + "Only synchronize to trusted servers" : "همگام سازی تنها با کارسازهای مورد اعتماد", "Published" : "منتشر شده", - "Synchronize to trusted servers and the global and public address book" : "با سرورهای قابل اعتماد و دفترچه آدرس عمومی و همگانی همگام سازی شود", - "Verify" : "تأیید کنید", - "Verifying …" : "در حال تایید ...", + "Synchronize to trusted servers and the global and public address book" : "همگام سازی با کارسازهای مورد اعتماد و دفترچه نشانیهای عمومی", + "Verify" : "تأیید", + "Verifying …" : "تأیید کردن…", "Unable to change password" : "نمیتوان رمز را تغییر داد", "Very weak password" : "رمز عبور بسیار ضعیف", "Weak password" : "رمز عبور ضعیف", @@ -18,32 +18,32 @@ OC.L10N.register( "Good password" : "رمز عبور خوب", "Strong password" : "رمز عبور قوی", "Groups" : "گروه ها", - "Group list is empty" : "لیست گروه ها خالی است.", - "Unable to retrieve the group list" : "بازیابی لیست گروه امکان پذیر نیست", - "{actor} added you to group {group}" : "{actor} شما را به گروه {group} اضافه کرد", - "You added {user} to group {group}" : "شما {user} را به گروه {group} اضافه کردید.", - "{actor} added {user} to group {group}" : "{actor} کاربر {user} را به گروه {group} اضافه کرد", - "An administrator added you to group {group}" : "یک مدیر شما را به گروه {group} اضافه کرد.", - "An administrator added {user} to group {group}" : "یک مدیر {user} را به گروه {group} اضافه کرد.", - "{actor} removed you from group {group}" : "{actor} شما را از گروه {group} حذف کرد", - "You removed {user} from group {group}" : "شما {user} را از گروه {group} حذف کردید.", - "{actor} removed {user} from group {group}" : "{actor} کاربر {user} را از گروه {group} حذف کرد", - "An administrator removed you from group {group}" : "یک مدیر شما را از گروه {group} حذف کرد.", - "An administrator removed {user} from group {group}" : "یک مدیر {user} را از گروه {group} حذف کرد.", - "Your <strong>group memberships</strong> were modified" : "عضویت در<strong> گروه شما </strong>تغییر یافت", - "{actor} changed your password" : "{actor} رمز عبور خود را تغییر داد", - "You changed your password" : "رمزعبور خود را تغییر دادید", - "Your password was reset by an administrator" : "رمز عبور شما توسط یه مدیر تنظیم مجدد شد.", - "Your password was reset" : "رمز عبور شما رمز عبور شما بازنشانی شد", - "{actor} changed your email address" : "{actor} پست الکترونیک خود را تغییر داد", - "You changed your email address" : "پست الکترونیک خود را تغییر دادید", - "Your email address was changed by an administrator" : "پست الکترونیک شما توسط یه مدیر تنظیم مجدد شد.", - "You created app password \"{token}\"" : "رمز عبور برنامه توسط شما ایجاد شده است \"{token}\"", - "An administrator created app password \"{token}\"" : "یک مدیر \"{token}\" گذرواژه برنامه را ایجاد کرد", - "You deleted app password \"{token}\"" : "رمز عبور برنامه توسط شما حذف شده است \"{token}\"", - "You renamed app password \"{token}\" to \"{newToken}\"" : "شما رمزعبور برنامه را از \"{token}\" به {newToken} تغییر دادید ", - "You granted filesystem access to app password \"{token}\"" : "دسترسی شما به فایل سیستم به رمز ورود برنامه اعطا گردید \"{token}\"", - "You revoked filesystem access from app password \"{token}\"" : "دسترسی شما به فایل سیستم از طریق رمز ورود برنامه باطل گردید \"{token}\"", + "Group list is empty" : "سیاههٔ گروهها خالیست", + "Unable to retrieve the group list" : "ناتوان در گرفتن سیاهٔ گروهها", + "{actor} added you to group {group}" : "{actor} به گروه {group} افزودتان", + "You added {user} to group {group}" : "{user} را به گروه {group} افزودید", + "{actor} added {user} to group {group}" : "{actor} کاربر {user} را به گروه {group} افزود", + "An administrator added you to group {group}" : "مدیری به گروه {group} افزودتان", + "An administrator added {user} to group {group}" : "مدیری {user} را به گروه {group} افزود", + "{actor} removed you from group {group}" : "{actor} از گروه {group} برداشتتان", + "You removed {user} from group {group}" : "{user} را از گروه {group} برداشتید", + "{actor} removed {user} from group {group}" : "{actor} کاربر {user} را از گروه {group} برداشت", + "An administrator removed you from group {group}" : "مدیری از گروه {group} برداشتتان", + "An administrator removed {user} from group {group}" : "مدیری {user} را از گروه {group} برداشت", + "Your <strong>group memberships</strong> were modified" : "<strong>عضویتتان در گروه</strong> تغییر یافت", + "{actor} changed your password" : "{actor} گذرواژهتان را تغییر داد", + "You changed your password" : "گذرواژهتان را تغییر دادید", + "Your password was reset by an administrator" : "گذرواژهتان به دست مدیری بازنشانی شد", + "Your password was reset" : "گذرواژهتان بازنشانی شد", + "{actor} changed your email address" : "{actor} نشانی رایانامهتان را تغییر داد", + "You changed your email address" : "نشانی رایانامهتان را تغییر دادید", + "Your email address was changed by an administrator" : "نشانی رایانامهتان به دست مدیری عوض شد", + "You created app password \"{token}\"" : "گذرواژهٔ کارهٔ «{token}» را ایجاد کردید", + "An administrator created app password \"{token}\"" : "مدیری گذرواژهٔ کارهٔ «{token}» را ایجاد کرد", + "You deleted app password \"{token}\"" : "گذرواژهٔ کارهٔ «{token}» را حذف کردید", + "You renamed app password \"{token}\" to \"{newToken}\"" : "نام گذرواژهٔ کارهٔ «{token}» را به «{newToken}» تغییر دادید", + "You granted filesystem access to app password \"{token}\"" : "دسترسی به سامانهپرونده را به گذرواژهٔ کارهٔ «{token}» اعطا کردید", + "You revoked filesystem access from app password \"{token}\"" : "دسترسی به سامانهپرونده را از گذرواژهٔ کارهٔ «{token}» گرفتید", "Security" : "امنیت", "You successfully logged in using two-factor authentication (%1$s)" : "شما با موفقیت با استفاده از تأیید هویت دو عاملی وارد سیستم شدید(%1$s)", "A login attempt using two-factor authentication failed (%1$s)" : "تلاش برای ورود به سیستم با استفاده از تأیید هویت دو عاملی انجام نشد (%1$s)", @@ -63,6 +63,8 @@ OC.L10N.register( "Federated Cloud Sharing" : "اشتراک گذاری ابر فدرال", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL از نسخه (%2$s) منسوخ شده %1$s استفاده می کند. لطفا سیستم عامل خود را به روز کنید یا ویژگی هایی از قبیل %3$s قابل اعتماد کار نمی کنند.", "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details." : "نمی توان تعیین کرد که آیا نسخه TLS متعلق به cURL قدیمی است یا خیر. زیرا خطایی در طول درخواست HTTPS به https://nextcloud.com رخ داده است. لطفاً فایل گزارش نکستکلود را برای جزئیات بیشتر بررسی کنید.", + "Administrator documentation" : "مستندات مدیر", + "User documentation" : "مستندات کاربر", "Invalid SMTP password." : "گذرواژه SMTP نامعتبر است.", "Email setting test" : "تست تنظیم پست الکترونیک", "Well done, %s!" : "انجام شد،%s!", @@ -101,77 +103,86 @@ OC.L10N.register( "Personal" : "شخصی", "Administration" : "مدیریت", "Additional settings" : "تنظیمات اضافی", - "Groupware" : "گروه های نرم افزاری", - "Overview" : "بررسی اجمالی", + "Administration privileges" : "اجازههای مدیریتی", + "Groupware" : "کار گروهی", + "Overview" : "نمای کلّی", "Basic settings" : "تنظیمات پایه", "Sharing" : "اشتراک گذاری", - "Personal info" : "مشخصات شخصی", - "Mobile & desktop" : "موبایل و دسک تاپ", + "Availability" : "موجود بودن", + "Calendar" : "تقویم", + "Personal info" : "اطّلاعات شخصی", + "Mobile & desktop" : "همراه و میزکار", "Email server" : "سرور ایمیل", "Security & setup warnings" : "اخطارهای نصب و امنیتی", - "Background jobs" : "کارهای پس زمینه", - "Create" : "ساختن", - "Change" : "تغییرات", + "Background jobs" : "کارهای پسزمینه", + "Create" : "ایجاد", + "Change" : "تغییر", "Delete" : "حذف", - "Reshare" : "دوباره به اشتراک گذاشتن", + "Reshare" : "بازهمرسانی", "Unlimited" : "نامحدود", - "Verifying" : "تایید شدن", + "Verifying" : "تآیید کردن", "Nextcloud settings" : "تنظیمات نکست کلود", "None" : "هیچکدام", "Two-Factor Authentication" : "احراز هویت دو عاملی", "Enforce two-factor authentication" : "احراز هویت دو عاملی", - "Limit to groups" : "محدود کردن به گروه ها", - "Enforcement of two-factor authentication can be set for certain groups only." : "اجرای احراز هویت دو عاملی فقط برای گروههای خاص قابل تنظیم است.", - "Enforced groups" : "گروههای اجباری", - "Excluded groups" : "گروه های مستثنی", + "Limit to groups" : "محدود کردن به گروهها", + "Enforcement of two-factor authentication can be set for certain groups only." : "اجبار به احراز هویت دو عاملی فقط میتواند برای گروههایی خاص تنظیم شود.", + "Enforced groups" : "گروههای اجباری", + "Excluded groups" : "گروههای مستثنی", "When groups are selected/excluded, they use the following logic to determine if a user has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If a user is both in a selected and excluded group, the selected takes precedence and 2FA is enforced." : "هنگامی که گروه ها انتخاب و حذف شدند ، از این منطق استفاده می کنند تا مشخص شود آیا کاربر 2FA اجباری دارد: اگر هیچ گروه انتخاب نشده باشند ، 2FA برای همه غیر از اعضای گروه های محروم امکان پذیر است. در صورت انتخاب گروه ها ، 2FA برای همه اعضای این گروه فعال است. اگر کاربر هر دو در یک گروه منتخب و مستثنی باشد ، انتخاب شده دارای اولویت است و 2FA اجرا می شود.", - "Save changes" : "ذخیره تغییرات", + "Save changes" : "ذخیرهٔ تغییرات", "All" : "همه", - "Limit app usage to groups" : "استفاده از برنامه را به گروهها محدود کنید", - "No results" : "نتیجه ای یافت نشد", - "Update to {version}" : "بروزرسانی به {version}", + "Limit app usage to groups" : "محدودیت استفاده از کاره به گروهها", + "No results" : "بدون نتیجه", + "Update to {version}" : "بهروز رسانی به {version}", "Remove" : "برداشتن", "Disable" : "غیرفعال", "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "این برنامه حداقل دارای نسخه بعدی نکست کلود است. این یک خطا در آینده خواهد بود.", "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "این برنامه حداکثر نسخه نکست کلود اختصاصی ندارد. این یک خطا در آینده خواهد بود.", "This app cannot be installed because the following dependencies are not fulfilled:" : "امکان نصب این برنامه وجود ندارد، این پیشنیازها انجام نشدهاند:", "View in store" : "نمایش در فروشگاه", - "Visit website" : "مشاهده وبسایت", + "Visit website" : "سر زدن به پایگاه وب", "Report a bug" : "گزارش یک خطا", - "User documentation" : "مستندات کاربر", "Admin documentation" : "مستندات مدیر", "Developer documentation" : "مستندات توسعهدهندگان", - "This app is supported via your current Nextcloud subscription." : "این برنامه از طریق اشتراک فعلی نکست کلوذ شما پشتیبانی می شود.", - "Supported" : "پشتیبانی", + "This app is supported via your current Nextcloud subscription." : "این کاره از طریق اشتراک فعلی نکست کلودتان پشتیبانی می شود.", + "Supported" : "پشتیبانی شده", "Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "برنامه های ویژه توسط و در داخل جامعه توسعه داده می شوند. آنها عملکردهای مرکزی را ارائه می دهند و برای استفاده در تولید آماده هستند.", - "Featured" : "ویژه", - "Update to {update}" : "بروزرسانی به {update} ", - "Results from other categories" : "نتایج از دسته های دیگر", + "Featured" : "معرّفی شده", + "Update to {update}" : "بهروز رسانی به {update} ", + "All apps are up-to-date." : "تمامی کارهها بهروزند.", + "Results from other categories" : "نتایج از دیگر دستهها", "No apps found for your version" : "هیچ برنامهای برای نسخهی شما یافت نشد", - "Disable all" : "غیرفعال کردن همه", - "Enable all" : "فعال کردن همه", - "Marked for remote wipe" : "برای پاک کردن از راه دور علامت گذاری شده است", - "Device settings" : "تنظیمات وسیله", - "Allow filesystem access" : "دسترسی به سیستم فایل را مجاز کنید", + "Disable all" : "از کار انداختن همه", + "Enable all" : "به کار انداختن همه", + "_%n app has an update available_::_%n apps have an update available_" : ["۱ کاره بهروز رسانی دارد","%n کاره بهروز رسانی دارند"], + "_Update_::_Update all_" : ["بهروز رسانی","بهروز رسانی همه"], + "Marked for remote wipe" : "علامت خورده برای زودون دوردست", + "Device settings" : "تنظیمات افزاره", + "Allow filesystem access" : "اجازهٔ دسترسی به سامانهپرونده", "Rename" : "تغییرنام", "Revoke" : "لغو", - "Wipe device" : "وسیله را پاک کنید", + "Wipe device" : "زدودن افزاره", "Internet Explorer" : "اینترنت اکسپلور", - "Edge" : "مرورگر Edge", + "Edge" : "اج", "Firefox" : "فایرفاکس", - "Google Chrome" : "گوگل کروم", + "Google Chrome" : "کروم گوگل", "Safari" : "سافاری", - "Google Chrome for Android" : "گوگل کروم برای اندروید", - "iPhone" : "آیفون", - "iPad" : "آیپد", - "Sync client - {os}" : "همگام سازی مشتری {os}", - "This session" : "این جلسه", - "Device" : "وسیله", + "Google Chrome for Android" : "کروم گوگل برای اندروید", + "iPhone" : "آیفون", + "iPad" : "آیپد", + "{productName} iOS app" : "کارهٔ iOS {productName}", + "{productName} Android app" : "کارهٔ اندرویدی {productName}", + "{productName} Talk for iOS" : "صحبت {productName} برای iOS", + "{productName} Talk for Android" : "صحبت {productName} برای اندروید", + "Sync client - {os}" : "کارخواه همگام سازی - {os}", + "This session" : "این نشست", + "Device" : "افزاره", "Last activity" : "آخرین فعّالیت", - "Devices & sessions" : "وسایل و جلسه ها", - "Web, desktop and mobile clients currently logged in to your account." : "مشتریان ، وب ، دسکتاپ و تلفن همراه در حال حاضر به حساب شما وارد شده اند.", - "Do you really want to wipe your data from this device?" : "آیا واقعاً می خواهید داده های خود را از این وسیله پاک کنید؟", - "Confirm wipe" : "تائید کردن پاکسازی", + "Devices & sessions" : "افزارهها و نشستها", + "Web, desktop and mobile clients currently logged in to your account." : "کارخواههای وب، میزکار و همراهی که اکنون به حسابتان وارد شدهاند.", + "Do you really want to wipe your data from this device?" : "واقعاً می خواهید دادههایتان را از این افزاره بزدایید؟", + "Confirm wipe" : "تأیید زودن", "Error while creating device token" : "هنگام ایجاد نشانه وسیله خطایی رخ داد", "Error while updating device token scope" : "هنگام بروزرسانی دامنه توکن وسیله خطایی رخ داد", "Error while updating device token name" : "هنگام بروزرسانی نام کد وسیله خطایی رخ داد", @@ -185,12 +196,25 @@ OC.L10N.register( "Password" : "گذرواژه", "Done" : "انجام شد", "Show QR code for mobile apps" : "نمایش کد QR برای برنامه های تلفن همراه", - "Copied!" : "کپی انجام شد!", - "Copy" : "کپی", + "Copied!" : "رونوشت شد!", + "Copy" : "رونوشت", "Could not copy app password. Please copy it manually." : "نمی توان رمزعبور برنامه را کپی کرد. لطفاً آن را به صورت دستی کپی کنید.", - "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "برای اجرای این کار شما نیاز به پسوند PHP POSIX دارید. دیدن {linkstart} مستندات PHP {linkend} برای اطلاعات بیشتر .", - "Profile" : "مشخصات", + "Last job execution ran {time}. Something seems wrong." : "آخرین کار در {time} اجرا شد. به نظر چیزی اشتباه است.", + "Last job ran {relativeTime}." : "آخرین کار در {time} اجرا شد.", + "Background job did not run yet!" : "هنوز کار پسزمینهای اجار نشده!", + "AJAX" : "ایجکس", + "Execute one task with each page loaded. Use case: Single user instance." : "اجرای یک وظیفه با هر بار شدن صفحه. مناسب نمونههای تک کاربره.", + "Webcron" : "وبکرون", + "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "پروندهٔ cron.php ثبت شده در یک خدمت webcron برای فراخوانی هر ۵ دقیقه یک بار روی HTTP. مناسب بار ینمونههای بسیار کوچک ( تا ۵ کاربر بسته به استفاده).", + "Cron (Recommended)" : "کرون (پیشنهادی)", + "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "برای اجرای این کار نیاز به افزونهٔ PHP POSIX دارید. برای جزییات بیشتر، {linkstart}مستندات پیاچپی{linkend} را ببینید.", + "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "استفاده از خدمت کرون سامانه برای فراخوانی cron.php هر ۵ دقیقه یک بار. مناسب تمامی نمونهها.", + "The cron.php needs to be executed by the system user \"{user}\"." : "پروندهٔ cron.php باید به دست کاربر سامانهای {user} قابل اجرا باشد.", + "Unable to update background job mode" : "ناتوان در بهروز رسانی حالت کار پسزمینه", + "Profile" : "نمایه", + "Enable or disable profile by default for new users." : "به یا از کار انداختن نمایه برای کاربران جدید به صورت پیشگزیده.", "Enable" : "فعال", + "Unable to update profile default setting" : "ناتوان در بهروز رسانی تنظیمات پیشگزیدهٔ نمایه", "Server-side encryption" : "رمزگذاری سمت سرور", "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." : "\"رمزگذاری سمت سرور\" امکان رمزگذاری پرونده های آپلود شده در این سرور را امکان پذیر می کند. که با محدودیت هایی مانند مجازات عملکرد همراه است ، بنابراین در صورت لزوم فعال کنید.", "Enable server-side encryption" : "فعالسازی رمزگذاری سمت-سرور", @@ -201,17 +225,21 @@ OC.L10N.register( "This is the final warning: Do you really want to enable encryption?" : "این آخرین اخطار است: آیا میخواهید رمزگذاری را فعال کنید ؟", "No encryption module loaded, please enable an encryption module in the app menu." : "هیچ ماژول رمزگذاریای بارگذاری نشده است، لطفا ماژول رمزگذاری را در منو برنامه فعال کنید.", "Select default encryption module:" : "انتخاب ماژول پیشفرض رمزگذاری:", - "Remove group" : "حذف گروه", - "You are about to remove the group {group}. The users will NOT be deleted." : "شما در حال حذف گروه {group} هستید. کاربران حذف نخواهند شد.", - "Please confirm the group removal " : "لطفاً حذف گروه را تأیید کنید", + "Remove group" : "برداشتن گروه", + "You are about to remove the group {group}. The users will NOT be deleted." : "در حال برداشتن گروه {group} هستید. کاربران حذف نخواهند شد.", + "Please confirm the group removal " : "لطفاً برداشتن گروه را تأیید کنید", "Current password" : "گذرواژه کنونی", "New password" : "گذرواژه جدید", "Change password" : "تغییر گذر واژه", - "png or jpg, max. 20 MB" : "png یا jpg, حداکثر. 20 MB", - "Picture provided by original account" : "تصویر ارائه شده توسط حساب اصلی", + "Your profile picture" : "نگارهٔ نمایهتان", + "Upload profile picture" : "بارگذاری نگارهٔ نمایه", + "Choose profile picture from files" : "گزینش نگارهٔ نمایه از پروندهها", + "Remove profile picture" : "برداشتن نگارهٔ نمایه", + "png or jpg, max. 20 MB" : "png یا jpg. بیشینه ۲۰ مب", + "Picture provided by original account" : "نگاره فراهم شده به دست حساب اصلی", "Cancel" : "منصرف شدن", - "Details" : "جزئیات", - "You are a member of the following groups:" : "شما عضو گروههای زیر هستید:", + "Details" : "جزییات", + "You are a member of the following groups:" : "عضوی از گروههای زیر هستید:", "Your email address" : "پست الکترونیکی شما", "No email address set" : "آدرسایمیلی تنظیم نشده است", "Language" : "زبان", @@ -255,10 +283,6 @@ OC.L10N.register( "Common languages" : "زبانهای رایج", "Password change is disabled because the master key is disabled" : "تغییر رمز غیرفعال شده است زیرا کلید اصلی غیرفعال شده است", "Your apps" : "برنامه های شما", - "Active apps" : "برنامه های فعال", - "Disabled apps" : "برنامه های غیرفعال شده است", - "Updates" : "به روز رسانی ها", - "App bundles" : "بسته های برنامه", "{license}-licensed" : "دارای مجوز- {license}", "Changelog" : "تغییر", "Add group" : "افزودن گروه", @@ -280,17 +304,21 @@ OC.L10N.register( "About" : "درباره", "Full name" : "نام کامل", "Headline" : "عنوان", + "Organisation" : "سازمان", "Phone number" : "شماره تلفن", "Role" : "نقش", "Twitter" : "توییتر", "Website" : "وب سایت", + "Active apps" : "برنامه های فعال", + "Disabled apps" : "برنامه های غیرفعال شده است", + "Updates" : "به روز رسانی ها", + "App bundles" : "بسته های برنامه", "Hide" : "پنهان کردن", "Download and enable" : "بارگیری و فعال سازی", "Enable untested app" : "برنامه آزمایش نشده را فعال کنید", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "این برنامه مطابق با نسخه نکست کلود شما مشخص نشده است. اگر ادامه بدهید همچنان می توانید برنامه را نصب کنید. توجه داشته باشید که برنامه ممکن است مطابق آنچه انتظار می رود کار نکند.", "Never" : "هرگز", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "برنامه فعال شده است اما باید به روز شود. شما پس از 5 ثانیه به صفحه بروزرسانی هدایت می شوید.", - "Administrator documentation" : "مستندات مدیر", "Documentation" : "مستندسازی", "Forum" : "انجمن", "Login" : "ورود", diff --git a/apps/settings/l10n/fa.json b/apps/settings/l10n/fa.json index b7bb1262d67..b1baa29dbca 100644 --- a/apps/settings/l10n/fa.json +++ b/apps/settings/l10n/fa.json @@ -1,14 +1,14 @@ { "translations": { "Private" : "خصوصی", - "Only visible to people matched via phone number integration through Talk on mobile" : "فقط برای کاربرانی فعال است که از طریق یکپارچه سازی شماره تلفن در برنامه Talk روی تلفن همراه مطابقت داشته باشند", + "Only visible to people matched via phone number integration through Talk on mobile" : "نمایان تنها برای افرادی که با یکپارچگی شماره تلفن از طریق Talk روی تلفن همراه مطابقند", "Local" : "محلی", - "Only visible to people on this instance and guests" : "فقط برای کاربران این نسخه و مهمانان قابل مشاهده است", - "Federated" : "فدرال", - "Only synchronize to trusted servers" : "فقط با سرورهای قابل اعتماد همگام سازی شود", + "Only visible to people on this instance and guests" : "نمایان تنها برای افراد روی این نمونه و میهانان", + "Federated" : "همگانی", + "Only synchronize to trusted servers" : "همگام سازی تنها با کارسازهای مورد اعتماد", "Published" : "منتشر شده", - "Synchronize to trusted servers and the global and public address book" : "با سرورهای قابل اعتماد و دفترچه آدرس عمومی و همگانی همگام سازی شود", - "Verify" : "تأیید کنید", - "Verifying …" : "در حال تایید ...", + "Synchronize to trusted servers and the global and public address book" : "همگام سازی با کارسازهای مورد اعتماد و دفترچه نشانیهای عمومی", + "Verify" : "تأیید", + "Verifying …" : "تأیید کردن…", "Unable to change password" : "نمیتوان رمز را تغییر داد", "Very weak password" : "رمز عبور بسیار ضعیف", "Weak password" : "رمز عبور ضعیف", @@ -16,32 +16,32 @@ "Good password" : "رمز عبور خوب", "Strong password" : "رمز عبور قوی", "Groups" : "گروه ها", - "Group list is empty" : "لیست گروه ها خالی است.", - "Unable to retrieve the group list" : "بازیابی لیست گروه امکان پذیر نیست", - "{actor} added you to group {group}" : "{actor} شما را به گروه {group} اضافه کرد", - "You added {user} to group {group}" : "شما {user} را به گروه {group} اضافه کردید.", - "{actor} added {user} to group {group}" : "{actor} کاربر {user} را به گروه {group} اضافه کرد", - "An administrator added you to group {group}" : "یک مدیر شما را به گروه {group} اضافه کرد.", - "An administrator added {user} to group {group}" : "یک مدیر {user} را به گروه {group} اضافه کرد.", - "{actor} removed you from group {group}" : "{actor} شما را از گروه {group} حذف کرد", - "You removed {user} from group {group}" : "شما {user} را از گروه {group} حذف کردید.", - "{actor} removed {user} from group {group}" : "{actor} کاربر {user} را از گروه {group} حذف کرد", - "An administrator removed you from group {group}" : "یک مدیر شما را از گروه {group} حذف کرد.", - "An administrator removed {user} from group {group}" : "یک مدیر {user} را از گروه {group} حذف کرد.", - "Your <strong>group memberships</strong> were modified" : "عضویت در<strong> گروه شما </strong>تغییر یافت", - "{actor} changed your password" : "{actor} رمز عبور خود را تغییر داد", - "You changed your password" : "رمزعبور خود را تغییر دادید", - "Your password was reset by an administrator" : "رمز عبور شما توسط یه مدیر تنظیم مجدد شد.", - "Your password was reset" : "رمز عبور شما رمز عبور شما بازنشانی شد", - "{actor} changed your email address" : "{actor} پست الکترونیک خود را تغییر داد", - "You changed your email address" : "پست الکترونیک خود را تغییر دادید", - "Your email address was changed by an administrator" : "پست الکترونیک شما توسط یه مدیر تنظیم مجدد شد.", - "You created app password \"{token}\"" : "رمز عبور برنامه توسط شما ایجاد شده است \"{token}\"", - "An administrator created app password \"{token}\"" : "یک مدیر \"{token}\" گذرواژه برنامه را ایجاد کرد", - "You deleted app password \"{token}\"" : "رمز عبور برنامه توسط شما حذف شده است \"{token}\"", - "You renamed app password \"{token}\" to \"{newToken}\"" : "شما رمزعبور برنامه را از \"{token}\" به {newToken} تغییر دادید ", - "You granted filesystem access to app password \"{token}\"" : "دسترسی شما به فایل سیستم به رمز ورود برنامه اعطا گردید \"{token}\"", - "You revoked filesystem access from app password \"{token}\"" : "دسترسی شما به فایل سیستم از طریق رمز ورود برنامه باطل گردید \"{token}\"", + "Group list is empty" : "سیاههٔ گروهها خالیست", + "Unable to retrieve the group list" : "ناتوان در گرفتن سیاهٔ گروهها", + "{actor} added you to group {group}" : "{actor} به گروه {group} افزودتان", + "You added {user} to group {group}" : "{user} را به گروه {group} افزودید", + "{actor} added {user} to group {group}" : "{actor} کاربر {user} را به گروه {group} افزود", + "An administrator added you to group {group}" : "مدیری به گروه {group} افزودتان", + "An administrator added {user} to group {group}" : "مدیری {user} را به گروه {group} افزود", + "{actor} removed you from group {group}" : "{actor} از گروه {group} برداشتتان", + "You removed {user} from group {group}" : "{user} را از گروه {group} برداشتید", + "{actor} removed {user} from group {group}" : "{actor} کاربر {user} را از گروه {group} برداشت", + "An administrator removed you from group {group}" : "مدیری از گروه {group} برداشتتان", + "An administrator removed {user} from group {group}" : "مدیری {user} را از گروه {group} برداشت", + "Your <strong>group memberships</strong> were modified" : "<strong>عضویتتان در گروه</strong> تغییر یافت", + "{actor} changed your password" : "{actor} گذرواژهتان را تغییر داد", + "You changed your password" : "گذرواژهتان را تغییر دادید", + "Your password was reset by an administrator" : "گذرواژهتان به دست مدیری بازنشانی شد", + "Your password was reset" : "گذرواژهتان بازنشانی شد", + "{actor} changed your email address" : "{actor} نشانی رایانامهتان را تغییر داد", + "You changed your email address" : "نشانی رایانامهتان را تغییر دادید", + "Your email address was changed by an administrator" : "نشانی رایانامهتان به دست مدیری عوض شد", + "You created app password \"{token}\"" : "گذرواژهٔ کارهٔ «{token}» را ایجاد کردید", + "An administrator created app password \"{token}\"" : "مدیری گذرواژهٔ کارهٔ «{token}» را ایجاد کرد", + "You deleted app password \"{token}\"" : "گذرواژهٔ کارهٔ «{token}» را حذف کردید", + "You renamed app password \"{token}\" to \"{newToken}\"" : "نام گذرواژهٔ کارهٔ «{token}» را به «{newToken}» تغییر دادید", + "You granted filesystem access to app password \"{token}\"" : "دسترسی به سامانهپرونده را به گذرواژهٔ کارهٔ «{token}» اعطا کردید", + "You revoked filesystem access from app password \"{token}\"" : "دسترسی به سامانهپرونده را از گذرواژهٔ کارهٔ «{token}» گرفتید", "Security" : "امنیت", "You successfully logged in using two-factor authentication (%1$s)" : "شما با موفقیت با استفاده از تأیید هویت دو عاملی وارد سیستم شدید(%1$s)", "A login attempt using two-factor authentication failed (%1$s)" : "تلاش برای ورود به سیستم با استفاده از تأیید هویت دو عاملی انجام نشد (%1$s)", @@ -61,6 +61,8 @@ "Federated Cloud Sharing" : "اشتراک گذاری ابر فدرال", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL از نسخه (%2$s) منسوخ شده %1$s استفاده می کند. لطفا سیستم عامل خود را به روز کنید یا ویژگی هایی از قبیل %3$s قابل اعتماد کار نمی کنند.", "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details." : "نمی توان تعیین کرد که آیا نسخه TLS متعلق به cURL قدیمی است یا خیر. زیرا خطایی در طول درخواست HTTPS به https://nextcloud.com رخ داده است. لطفاً فایل گزارش نکستکلود را برای جزئیات بیشتر بررسی کنید.", + "Administrator documentation" : "مستندات مدیر", + "User documentation" : "مستندات کاربر", "Invalid SMTP password." : "گذرواژه SMTP نامعتبر است.", "Email setting test" : "تست تنظیم پست الکترونیک", "Well done, %s!" : "انجام شد،%s!", @@ -99,77 +101,86 @@ "Personal" : "شخصی", "Administration" : "مدیریت", "Additional settings" : "تنظیمات اضافی", - "Groupware" : "گروه های نرم افزاری", - "Overview" : "بررسی اجمالی", + "Administration privileges" : "اجازههای مدیریتی", + "Groupware" : "کار گروهی", + "Overview" : "نمای کلّی", "Basic settings" : "تنظیمات پایه", "Sharing" : "اشتراک گذاری", - "Personal info" : "مشخصات شخصی", - "Mobile & desktop" : "موبایل و دسک تاپ", + "Availability" : "موجود بودن", + "Calendar" : "تقویم", + "Personal info" : "اطّلاعات شخصی", + "Mobile & desktop" : "همراه و میزکار", "Email server" : "سرور ایمیل", "Security & setup warnings" : "اخطارهای نصب و امنیتی", - "Background jobs" : "کارهای پس زمینه", - "Create" : "ساختن", - "Change" : "تغییرات", + "Background jobs" : "کارهای پسزمینه", + "Create" : "ایجاد", + "Change" : "تغییر", "Delete" : "حذف", - "Reshare" : "دوباره به اشتراک گذاشتن", + "Reshare" : "بازهمرسانی", "Unlimited" : "نامحدود", - "Verifying" : "تایید شدن", + "Verifying" : "تآیید کردن", "Nextcloud settings" : "تنظیمات نکست کلود", "None" : "هیچکدام", "Two-Factor Authentication" : "احراز هویت دو عاملی", "Enforce two-factor authentication" : "احراز هویت دو عاملی", - "Limit to groups" : "محدود کردن به گروه ها", - "Enforcement of two-factor authentication can be set for certain groups only." : "اجرای احراز هویت دو عاملی فقط برای گروههای خاص قابل تنظیم است.", - "Enforced groups" : "گروههای اجباری", - "Excluded groups" : "گروه های مستثنی", + "Limit to groups" : "محدود کردن به گروهها", + "Enforcement of two-factor authentication can be set for certain groups only." : "اجبار به احراز هویت دو عاملی فقط میتواند برای گروههایی خاص تنظیم شود.", + "Enforced groups" : "گروههای اجباری", + "Excluded groups" : "گروههای مستثنی", "When groups are selected/excluded, they use the following logic to determine if a user has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If a user is both in a selected and excluded group, the selected takes precedence and 2FA is enforced." : "هنگامی که گروه ها انتخاب و حذف شدند ، از این منطق استفاده می کنند تا مشخص شود آیا کاربر 2FA اجباری دارد: اگر هیچ گروه انتخاب نشده باشند ، 2FA برای همه غیر از اعضای گروه های محروم امکان پذیر است. در صورت انتخاب گروه ها ، 2FA برای همه اعضای این گروه فعال است. اگر کاربر هر دو در یک گروه منتخب و مستثنی باشد ، انتخاب شده دارای اولویت است و 2FA اجرا می شود.", - "Save changes" : "ذخیره تغییرات", + "Save changes" : "ذخیرهٔ تغییرات", "All" : "همه", - "Limit app usage to groups" : "استفاده از برنامه را به گروهها محدود کنید", - "No results" : "نتیجه ای یافت نشد", - "Update to {version}" : "بروزرسانی به {version}", + "Limit app usage to groups" : "محدودیت استفاده از کاره به گروهها", + "No results" : "بدون نتیجه", + "Update to {version}" : "بهروز رسانی به {version}", "Remove" : "برداشتن", "Disable" : "غیرفعال", "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "این برنامه حداقل دارای نسخه بعدی نکست کلود است. این یک خطا در آینده خواهد بود.", "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "این برنامه حداکثر نسخه نکست کلود اختصاصی ندارد. این یک خطا در آینده خواهد بود.", "This app cannot be installed because the following dependencies are not fulfilled:" : "امکان نصب این برنامه وجود ندارد، این پیشنیازها انجام نشدهاند:", "View in store" : "نمایش در فروشگاه", - "Visit website" : "مشاهده وبسایت", + "Visit website" : "سر زدن به پایگاه وب", "Report a bug" : "گزارش یک خطا", - "User documentation" : "مستندات کاربر", "Admin documentation" : "مستندات مدیر", "Developer documentation" : "مستندات توسعهدهندگان", - "This app is supported via your current Nextcloud subscription." : "این برنامه از طریق اشتراک فعلی نکست کلوذ شما پشتیبانی می شود.", - "Supported" : "پشتیبانی", + "This app is supported via your current Nextcloud subscription." : "این کاره از طریق اشتراک فعلی نکست کلودتان پشتیبانی می شود.", + "Supported" : "پشتیبانی شده", "Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "برنامه های ویژه توسط و در داخل جامعه توسعه داده می شوند. آنها عملکردهای مرکزی را ارائه می دهند و برای استفاده در تولید آماده هستند.", - "Featured" : "ویژه", - "Update to {update}" : "بروزرسانی به {update} ", - "Results from other categories" : "نتایج از دسته های دیگر", + "Featured" : "معرّفی شده", + "Update to {update}" : "بهروز رسانی به {update} ", + "All apps are up-to-date." : "تمامی کارهها بهروزند.", + "Results from other categories" : "نتایج از دیگر دستهها", "No apps found for your version" : "هیچ برنامهای برای نسخهی شما یافت نشد", - "Disable all" : "غیرفعال کردن همه", - "Enable all" : "فعال کردن همه", - "Marked for remote wipe" : "برای پاک کردن از راه دور علامت گذاری شده است", - "Device settings" : "تنظیمات وسیله", - "Allow filesystem access" : "دسترسی به سیستم فایل را مجاز کنید", + "Disable all" : "از کار انداختن همه", + "Enable all" : "به کار انداختن همه", + "_%n app has an update available_::_%n apps have an update available_" : ["۱ کاره بهروز رسانی دارد","%n کاره بهروز رسانی دارند"], + "_Update_::_Update all_" : ["بهروز رسانی","بهروز رسانی همه"], + "Marked for remote wipe" : "علامت خورده برای زودون دوردست", + "Device settings" : "تنظیمات افزاره", + "Allow filesystem access" : "اجازهٔ دسترسی به سامانهپرونده", "Rename" : "تغییرنام", "Revoke" : "لغو", - "Wipe device" : "وسیله را پاک کنید", + "Wipe device" : "زدودن افزاره", "Internet Explorer" : "اینترنت اکسپلور", - "Edge" : "مرورگر Edge", + "Edge" : "اج", "Firefox" : "فایرفاکس", - "Google Chrome" : "گوگل کروم", + "Google Chrome" : "کروم گوگل", "Safari" : "سافاری", - "Google Chrome for Android" : "گوگل کروم برای اندروید", - "iPhone" : "آیفون", - "iPad" : "آیپد", - "Sync client - {os}" : "همگام سازی مشتری {os}", - "This session" : "این جلسه", - "Device" : "وسیله", + "Google Chrome for Android" : "کروم گوگل برای اندروید", + "iPhone" : "آیفون", + "iPad" : "آیپد", + "{productName} iOS app" : "کارهٔ iOS {productName}", + "{productName} Android app" : "کارهٔ اندرویدی {productName}", + "{productName} Talk for iOS" : "صحبت {productName} برای iOS", + "{productName} Talk for Android" : "صحبت {productName} برای اندروید", + "Sync client - {os}" : "کارخواه همگام سازی - {os}", + "This session" : "این نشست", + "Device" : "افزاره", "Last activity" : "آخرین فعّالیت", - "Devices & sessions" : "وسایل و جلسه ها", - "Web, desktop and mobile clients currently logged in to your account." : "مشتریان ، وب ، دسکتاپ و تلفن همراه در حال حاضر به حساب شما وارد شده اند.", - "Do you really want to wipe your data from this device?" : "آیا واقعاً می خواهید داده های خود را از این وسیله پاک کنید؟", - "Confirm wipe" : "تائید کردن پاکسازی", + "Devices & sessions" : "افزارهها و نشستها", + "Web, desktop and mobile clients currently logged in to your account." : "کارخواههای وب، میزکار و همراهی که اکنون به حسابتان وارد شدهاند.", + "Do you really want to wipe your data from this device?" : "واقعاً می خواهید دادههایتان را از این افزاره بزدایید؟", + "Confirm wipe" : "تأیید زودن", "Error while creating device token" : "هنگام ایجاد نشانه وسیله خطایی رخ داد", "Error while updating device token scope" : "هنگام بروزرسانی دامنه توکن وسیله خطایی رخ داد", "Error while updating device token name" : "هنگام بروزرسانی نام کد وسیله خطایی رخ داد", @@ -183,12 +194,25 @@ "Password" : "گذرواژه", "Done" : "انجام شد", "Show QR code for mobile apps" : "نمایش کد QR برای برنامه های تلفن همراه", - "Copied!" : "کپی انجام شد!", - "Copy" : "کپی", + "Copied!" : "رونوشت شد!", + "Copy" : "رونوشت", "Could not copy app password. Please copy it manually." : "نمی توان رمزعبور برنامه را کپی کرد. لطفاً آن را به صورت دستی کپی کنید.", - "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "برای اجرای این کار شما نیاز به پسوند PHP POSIX دارید. دیدن {linkstart} مستندات PHP {linkend} برای اطلاعات بیشتر .", - "Profile" : "مشخصات", + "Last job execution ran {time}. Something seems wrong." : "آخرین کار در {time} اجرا شد. به نظر چیزی اشتباه است.", + "Last job ran {relativeTime}." : "آخرین کار در {time} اجرا شد.", + "Background job did not run yet!" : "هنوز کار پسزمینهای اجار نشده!", + "AJAX" : "ایجکس", + "Execute one task with each page loaded. Use case: Single user instance." : "اجرای یک وظیفه با هر بار شدن صفحه. مناسب نمونههای تک کاربره.", + "Webcron" : "وبکرون", + "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "پروندهٔ cron.php ثبت شده در یک خدمت webcron برای فراخوانی هر ۵ دقیقه یک بار روی HTTP. مناسب بار ینمونههای بسیار کوچک ( تا ۵ کاربر بسته به استفاده).", + "Cron (Recommended)" : "کرون (پیشنهادی)", + "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "برای اجرای این کار نیاز به افزونهٔ PHP POSIX دارید. برای جزییات بیشتر، {linkstart}مستندات پیاچپی{linkend} را ببینید.", + "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "استفاده از خدمت کرون سامانه برای فراخوانی cron.php هر ۵ دقیقه یک بار. مناسب تمامی نمونهها.", + "The cron.php needs to be executed by the system user \"{user}\"." : "پروندهٔ cron.php باید به دست کاربر سامانهای {user} قابل اجرا باشد.", + "Unable to update background job mode" : "ناتوان در بهروز رسانی حالت کار پسزمینه", + "Profile" : "نمایه", + "Enable or disable profile by default for new users." : "به یا از کار انداختن نمایه برای کاربران جدید به صورت پیشگزیده.", "Enable" : "فعال", + "Unable to update profile default setting" : "ناتوان در بهروز رسانی تنظیمات پیشگزیدهٔ نمایه", "Server-side encryption" : "رمزگذاری سمت سرور", "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." : "\"رمزگذاری سمت سرور\" امکان رمزگذاری پرونده های آپلود شده در این سرور را امکان پذیر می کند. که با محدودیت هایی مانند مجازات عملکرد همراه است ، بنابراین در صورت لزوم فعال کنید.", "Enable server-side encryption" : "فعالسازی رمزگذاری سمت-سرور", @@ -199,17 +223,21 @@ "This is the final warning: Do you really want to enable encryption?" : "این آخرین اخطار است: آیا میخواهید رمزگذاری را فعال کنید ؟", "No encryption module loaded, please enable an encryption module in the app menu." : "هیچ ماژول رمزگذاریای بارگذاری نشده است، لطفا ماژول رمزگذاری را در منو برنامه فعال کنید.", "Select default encryption module:" : "انتخاب ماژول پیشفرض رمزگذاری:", - "Remove group" : "حذف گروه", - "You are about to remove the group {group}. The users will NOT be deleted." : "شما در حال حذف گروه {group} هستید. کاربران حذف نخواهند شد.", - "Please confirm the group removal " : "لطفاً حذف گروه را تأیید کنید", + "Remove group" : "برداشتن گروه", + "You are about to remove the group {group}. The users will NOT be deleted." : "در حال برداشتن گروه {group} هستید. کاربران حذف نخواهند شد.", + "Please confirm the group removal " : "لطفاً برداشتن گروه را تأیید کنید", "Current password" : "گذرواژه کنونی", "New password" : "گذرواژه جدید", "Change password" : "تغییر گذر واژه", - "png or jpg, max. 20 MB" : "png یا jpg, حداکثر. 20 MB", - "Picture provided by original account" : "تصویر ارائه شده توسط حساب اصلی", + "Your profile picture" : "نگارهٔ نمایهتان", + "Upload profile picture" : "بارگذاری نگارهٔ نمایه", + "Choose profile picture from files" : "گزینش نگارهٔ نمایه از پروندهها", + "Remove profile picture" : "برداشتن نگارهٔ نمایه", + "png or jpg, max. 20 MB" : "png یا jpg. بیشینه ۲۰ مب", + "Picture provided by original account" : "نگاره فراهم شده به دست حساب اصلی", "Cancel" : "منصرف شدن", - "Details" : "جزئیات", - "You are a member of the following groups:" : "شما عضو گروههای زیر هستید:", + "Details" : "جزییات", + "You are a member of the following groups:" : "عضوی از گروههای زیر هستید:", "Your email address" : "پست الکترونیکی شما", "No email address set" : "آدرسایمیلی تنظیم نشده است", "Language" : "زبان", @@ -253,10 +281,6 @@ "Common languages" : "زبانهای رایج", "Password change is disabled because the master key is disabled" : "تغییر رمز غیرفعال شده است زیرا کلید اصلی غیرفعال شده است", "Your apps" : "برنامه های شما", - "Active apps" : "برنامه های فعال", - "Disabled apps" : "برنامه های غیرفعال شده است", - "Updates" : "به روز رسانی ها", - "App bundles" : "بسته های برنامه", "{license}-licensed" : "دارای مجوز- {license}", "Changelog" : "تغییر", "Add group" : "افزودن گروه", @@ -278,17 +302,21 @@ "About" : "درباره", "Full name" : "نام کامل", "Headline" : "عنوان", + "Organisation" : "سازمان", "Phone number" : "شماره تلفن", "Role" : "نقش", "Twitter" : "توییتر", "Website" : "وب سایت", + "Active apps" : "برنامه های فعال", + "Disabled apps" : "برنامه های غیرفعال شده است", + "Updates" : "به روز رسانی ها", + "App bundles" : "بسته های برنامه", "Hide" : "پنهان کردن", "Download and enable" : "بارگیری و فعال سازی", "Enable untested app" : "برنامه آزمایش نشده را فعال کنید", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "این برنامه مطابق با نسخه نکست کلود شما مشخص نشده است. اگر ادامه بدهید همچنان می توانید برنامه را نصب کنید. توجه داشته باشید که برنامه ممکن است مطابق آنچه انتظار می رود کار نکند.", "Never" : "هرگز", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "برنامه فعال شده است اما باید به روز شود. شما پس از 5 ثانیه به صفحه بروزرسانی هدایت می شوید.", - "Administrator documentation" : "مستندات مدیر", "Documentation" : "مستندسازی", "Forum" : "انجمن", "Login" : "ورود", diff --git a/apps/settings/l10n/fi.js b/apps/settings/l10n/fi.js index 3f2841b0937..73bc618e91b 100644 --- a/apps/settings/l10n/fi.js +++ b/apps/settings/l10n/fi.js @@ -60,6 +60,8 @@ OC.L10N.register( "Wrong admin recovery password. Please check the password and try again." : "Väärä ylläpitäjän salasana. Tarkista salasana ja yritä uudelleen.", "Federated Cloud Sharing" : "Federoitu pilvijakaminen", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL käyttää vanhentunutta %1$s versiota (%2$s). Päivitä käyttöjärjestelmäsi tai toiminnot, kuten %3$s, eivät toimi luotettavasti.", + "Administrator documentation" : "Ylläpidon dokumentaatio", + "User documentation" : "Käyttäjädokumentaatio", "Invalid SMTP password." : "Virheellinen SMTP-salasana.", "Email setting test" : "Sähköpostiasetusten testaus", "Well done, %s!" : "Hyvin tehty, %s!", @@ -106,6 +108,7 @@ OC.L10N.register( "Basic settings" : "Perusasetukset", "Sharing" : "Jakaminen", "Availability" : "Saatavuus", + "Calendar" : "Kalenteri", "Personal info" : "Henkilökohtaiset tiedot", "Mobile & desktop" : "Mobiili ja työpöytä", "Email server" : "Sähköpostipalvelin", @@ -146,7 +149,6 @@ OC.L10N.register( "View in store" : "Näytä kaupassa", "Visit website" : "Käy verkkosivustolla", "Report a bug" : "Ilmoita viasta", - "User documentation" : "Käyttäjädokumentaatio", "Admin documentation" : "Ylläpitäjän ohjeistus", "Developer documentation" : "Kehittäjädokumentaatio", "This app is supported via your current Nextcloud subscription." : "Tämä sovellus on tuettu nykyisen Nextcloud-tilauksesi kautta.", @@ -327,11 +329,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Seuraavat laitteet on määritetty tilillesi:", "Your browser does not support WebAuthn." : "Selaimesi ei tue WebAuthn-standardia.", "Your apps" : "Sovelluksesi", - "Active apps" : "Aktiiviset sovellukset", - "Disabled apps" : "Käytöstä poistetut sovellukset", - "Updates" : "Päivitykset", - "App bundles" : "Sovelluskokoelmat", - "Featured apps" : "Esitellyt sovellukset", "{license}-licensed" : "{license}-lisensoitu", "Changelog" : "Muutosloki", "by {author}\n{license}" : "tekijä {author}\n{license}", @@ -361,6 +358,11 @@ OC.L10N.register( "Twitter" : "Twitter", "Website" : "Verkkosivusto", "Profile visibility" : "Profiilin näkyvyys", + "Active apps" : "Aktiiviset sovellukset", + "Disabled apps" : "Käytöstä poistetut sovellukset", + "Updates" : "Päivitykset", + "App bundles" : "Sovelluskokoelmat", + "Featured apps" : "Esitellyt sovellukset", "Show to everyone" : "Näytä kaikille", "Show to logged in users only" : "Näytä vain sisäänkirjautuneille käyttäjille", "Hide" : "Piilota", @@ -372,7 +374,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "Pyynnön aikana tapahtui virhe. Jatkaminen ei onnistu.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Sovellus on käytössä, mutta se tulee päivittää. Sinut ohjataan sovelluksen päivityssivulle viiden sekunnin kuluttua.", "Error: This app cannot be enabled because it makes the server unstable" : "Virhe: Sovellusta ei voida ottaa käyttöön, koska se aiheuttaa palvelimen epävakauden", - "Administrator documentation" : "Ylläpidon dokumentaatio", "Documentation" : "Dokumentaatio", "Forum" : "Keskustelupalsta", "Login" : "Kirjaudu", diff --git a/apps/settings/l10n/fi.json b/apps/settings/l10n/fi.json index 25eb6effcbf..d2a6c34581b 100644 --- a/apps/settings/l10n/fi.json +++ b/apps/settings/l10n/fi.json @@ -58,6 +58,8 @@ "Wrong admin recovery password. Please check the password and try again." : "Väärä ylläpitäjän salasana. Tarkista salasana ja yritä uudelleen.", "Federated Cloud Sharing" : "Federoitu pilvijakaminen", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL käyttää vanhentunutta %1$s versiota (%2$s). Päivitä käyttöjärjestelmäsi tai toiminnot, kuten %3$s, eivät toimi luotettavasti.", + "Administrator documentation" : "Ylläpidon dokumentaatio", + "User documentation" : "Käyttäjädokumentaatio", "Invalid SMTP password." : "Virheellinen SMTP-salasana.", "Email setting test" : "Sähköpostiasetusten testaus", "Well done, %s!" : "Hyvin tehty, %s!", @@ -104,6 +106,7 @@ "Basic settings" : "Perusasetukset", "Sharing" : "Jakaminen", "Availability" : "Saatavuus", + "Calendar" : "Kalenteri", "Personal info" : "Henkilökohtaiset tiedot", "Mobile & desktop" : "Mobiili ja työpöytä", "Email server" : "Sähköpostipalvelin", @@ -144,7 +147,6 @@ "View in store" : "Näytä kaupassa", "Visit website" : "Käy verkkosivustolla", "Report a bug" : "Ilmoita viasta", - "User documentation" : "Käyttäjädokumentaatio", "Admin documentation" : "Ylläpitäjän ohjeistus", "Developer documentation" : "Kehittäjädokumentaatio", "This app is supported via your current Nextcloud subscription." : "Tämä sovellus on tuettu nykyisen Nextcloud-tilauksesi kautta.", @@ -325,11 +327,6 @@ "The following devices are configured for your account:" : "Seuraavat laitteet on määritetty tilillesi:", "Your browser does not support WebAuthn." : "Selaimesi ei tue WebAuthn-standardia.", "Your apps" : "Sovelluksesi", - "Active apps" : "Aktiiviset sovellukset", - "Disabled apps" : "Käytöstä poistetut sovellukset", - "Updates" : "Päivitykset", - "App bundles" : "Sovelluskokoelmat", - "Featured apps" : "Esitellyt sovellukset", "{license}-licensed" : "{license}-lisensoitu", "Changelog" : "Muutosloki", "by {author}\n{license}" : "tekijä {author}\n{license}", @@ -359,6 +356,11 @@ "Twitter" : "Twitter", "Website" : "Verkkosivusto", "Profile visibility" : "Profiilin näkyvyys", + "Active apps" : "Aktiiviset sovellukset", + "Disabled apps" : "Käytöstä poistetut sovellukset", + "Updates" : "Päivitykset", + "App bundles" : "Sovelluskokoelmat", + "Featured apps" : "Esitellyt sovellukset", "Show to everyone" : "Näytä kaikille", "Show to logged in users only" : "Näytä vain sisäänkirjautuneille käyttäjille", "Hide" : "Piilota", @@ -370,7 +372,6 @@ "An error occurred during the request. Unable to proceed." : "Pyynnön aikana tapahtui virhe. Jatkaminen ei onnistu.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Sovellus on käytössä, mutta se tulee päivittää. Sinut ohjataan sovelluksen päivityssivulle viiden sekunnin kuluttua.", "Error: This app cannot be enabled because it makes the server unstable" : "Virhe: Sovellusta ei voida ottaa käyttöön, koska se aiheuttaa palvelimen epävakauden", - "Administrator documentation" : "Ylläpidon dokumentaatio", "Documentation" : "Dokumentaatio", "Forum" : "Keskustelupalsta", "Login" : "Kirjaudu", diff --git a/apps/settings/l10n/fr.js b/apps/settings/l10n/fr.js index bd3ff53600e..ad8cf834ad3 100644 --- a/apps/settings/l10n/fr.js +++ b/apps/settings/l10n/fr.js @@ -73,6 +73,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Le nombre maximum de clés OPcache est presque dépassé. Pour vous assurer que tous les scripts puissent être conservés en cache, il est recommandé de définir la variable <code>opcache.max_accelerated_files</code> de votre fichier de configuration PHP à une valeur supérieure à <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Le tampon mémoire OPcache est presque plein. Pour vous assurer que tous les scripts peuvent être conservés en cache, il est recommandé de définir la variable <code>opcache.memory_consumption</code> de votre fichier de configuration PHP à une valeur supérieure à <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Le tampon mémoire des chaînes internes OPcache est presque plein. Pour vous assurer que les chaînes répétitives peuvent être mise en cache, il est recommandé de définir la variable <code>opcache.interned_strings_buffer</code> de votre fichier de configuration PHP à une valeur supérieure à <code>%s</code>.", + "Administrator documentation" : "Documentation administrateur", + "User documentation" : "Documentation utilisateur", "Invalid SMTP password." : "Mot de passe SMTP incorrect.", "Email setting test" : "Test des paramètres e-mail", "Well done, %s!" : "Bien joué, %s !", @@ -122,6 +124,7 @@ OC.L10N.register( "Basic settings" : "Paramètres de base", "Sharing" : "Partage", "Availability" : "Disponibilité", + "Calendar" : "Agenda", "Personal info" : "Informations personnelles", "Mobile & desktop" : "Mobile & bureau", "Email server" : "Serveur e-mail", @@ -169,7 +172,6 @@ OC.L10N.register( "View in store" : "Afficher dans le magasin d'application", "Visit website" : "Visiter le site web", "Report a bug" : "Signaler un bogue", - "User documentation" : "Documentation utilisateur", "Admin documentation" : "Documentation administrateur", "Developer documentation" : "Documentation pour développeurs", "This app is supported via your current Nextcloud subscription." : "Cette application bénéficie d'un support grâce à votre abonnement Nextcloud.", @@ -210,7 +212,7 @@ OC.L10N.register( "Devices & sessions" : "Appareils & sessions", "Web, desktop and mobile clients currently logged in to your account." : "Clients web, applications de bureau et mobiles actuellement connectés avec votre compte.", "Do you really want to wipe your data from this device?" : "Voulez-vous vraiment supprimer vos données de cet appareil ?", - "Confirm wipe" : "Confirmer la supression", + "Confirm wipe" : "Confirmer la suppression", "Error while creating device token" : "Erreur lors de la création du jeton de l'appareil", "Error while updating device token scope" : "Erreur lors de la mise à jour de la visibilité du jeton de l'appareil", "Error while updating device token name" : "Erreur lors de la mise à jour du nom du jeton", @@ -281,7 +283,7 @@ OC.L10N.register( "Error removing profile picture" : "Erreur à la suppression de la photo de profil", "Your biography" : "Votre biographie", "Details" : "Détails", - "You are a member of the following groups:" : "Vous êtes membre des groupes suivants :", + "You are a member of the following groups:" : "Vous êtes membre des groupes suivants :", "You are using <strong>{usage}</strong>" : "Vous utilisez <strong>{usage}</strong>", "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Vous utilisez <strong>{usage}</strong> sur <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)", "Your full name" : "Votre nom complet", @@ -301,6 +303,7 @@ OC.L10N.register( "Unable to delete additional email address" : "Impossible de supprimer l'adresse e-mail supplémentaire", "No email address set" : "Aucune adresse e-mail configurée", "Additional emails" : "E-mails suplémentaires", + "Your handle" : "Votre identifiant", "Your headline" : "Votre titre", "Language" : "Langue", "Help translate" : "Aidez à traduire", @@ -380,11 +383,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Les appareils suivants sont paramétrés pour votre compte :", "Your browser does not support WebAuthn." : "Votre navigateur ne prend pas en charge WebAuthn.", "Your apps" : "Vos applications", - "Active apps" : "Applications actives", - "Disabled apps" : "Applications désactivées", - "Updates" : "Mises à jour", - "App bundles" : "Pack d'applications", - "Featured apps" : "Apps mises en avant", "{license}-licensed" : "Sous licence {license}", "Changelog" : "Journal des modifications", "by {author}\n{license}" : "par {author}\n{license}", @@ -413,10 +411,17 @@ OC.L10N.register( "Phone number" : "Numéro de téléphone", "Role" : "Fonction", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse (ex. Mastodon)", "Website" : "Site web", "Profile visibility" : "Visibilité du profil", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Non disponible car cette propriété est requise pour les fonctionnalités essentielles comme le partage de fichiers et les invitations de l'agenda.", + "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Non disponible car la fédération a été désactivée pour votre compte, contactez votre administrateur système si vous avez des questions.", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Non disponible car la publication de données spécifiques d'un utilisateur au serveur de recherche est interdit, contacter votre administrateur système si vous avez des questions", + "Active apps" : "Applications actives", + "Disabled apps" : "Applications désactivées", + "Updates" : "Mises à jour", + "App bundles" : "Pack d'applications", + "Featured apps" : "Apps mises en avant", "Show to everyone" : "Montrer à tout le monde", "Show to logged in users only" : "Montrer seulement aux utilisateurs enregistrés", "Hide" : "Cacher", @@ -428,7 +433,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "Une erreur s'est produite pendant la demande. Impossible de poursuivre.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "L'application a été activée mais doit être mise à jour. Vous allez être redirigé vers la page des mises à jour dans 5 secondes.", "Error: This app cannot be enabled because it makes the server unstable" : "Erreur : cette application ne peut être activée car elle rend le serveur instable", - "Administrator documentation" : "Documentation administrateur", "Documentation" : "Documentation", "Forum" : "Forum", "Login" : "Login", diff --git a/apps/settings/l10n/fr.json b/apps/settings/l10n/fr.json index 82790ba23f4..472d0543346 100644 --- a/apps/settings/l10n/fr.json +++ b/apps/settings/l10n/fr.json @@ -71,6 +71,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Le nombre maximum de clés OPcache est presque dépassé. Pour vous assurer que tous les scripts puissent être conservés en cache, il est recommandé de définir la variable <code>opcache.max_accelerated_files</code> de votre fichier de configuration PHP à une valeur supérieure à <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Le tampon mémoire OPcache est presque plein. Pour vous assurer que tous les scripts peuvent être conservés en cache, il est recommandé de définir la variable <code>opcache.memory_consumption</code> de votre fichier de configuration PHP à une valeur supérieure à <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Le tampon mémoire des chaînes internes OPcache est presque plein. Pour vous assurer que les chaînes répétitives peuvent être mise en cache, il est recommandé de définir la variable <code>opcache.interned_strings_buffer</code> de votre fichier de configuration PHP à une valeur supérieure à <code>%s</code>.", + "Administrator documentation" : "Documentation administrateur", + "User documentation" : "Documentation utilisateur", "Invalid SMTP password." : "Mot de passe SMTP incorrect.", "Email setting test" : "Test des paramètres e-mail", "Well done, %s!" : "Bien joué, %s !", @@ -120,6 +122,7 @@ "Basic settings" : "Paramètres de base", "Sharing" : "Partage", "Availability" : "Disponibilité", + "Calendar" : "Agenda", "Personal info" : "Informations personnelles", "Mobile & desktop" : "Mobile & bureau", "Email server" : "Serveur e-mail", @@ -167,7 +170,6 @@ "View in store" : "Afficher dans le magasin d'application", "Visit website" : "Visiter le site web", "Report a bug" : "Signaler un bogue", - "User documentation" : "Documentation utilisateur", "Admin documentation" : "Documentation administrateur", "Developer documentation" : "Documentation pour développeurs", "This app is supported via your current Nextcloud subscription." : "Cette application bénéficie d'un support grâce à votre abonnement Nextcloud.", @@ -208,7 +210,7 @@ "Devices & sessions" : "Appareils & sessions", "Web, desktop and mobile clients currently logged in to your account." : "Clients web, applications de bureau et mobiles actuellement connectés avec votre compte.", "Do you really want to wipe your data from this device?" : "Voulez-vous vraiment supprimer vos données de cet appareil ?", - "Confirm wipe" : "Confirmer la supression", + "Confirm wipe" : "Confirmer la suppression", "Error while creating device token" : "Erreur lors de la création du jeton de l'appareil", "Error while updating device token scope" : "Erreur lors de la mise à jour de la visibilité du jeton de l'appareil", "Error while updating device token name" : "Erreur lors de la mise à jour du nom du jeton", @@ -279,7 +281,7 @@ "Error removing profile picture" : "Erreur à la suppression de la photo de profil", "Your biography" : "Votre biographie", "Details" : "Détails", - "You are a member of the following groups:" : "Vous êtes membre des groupes suivants :", + "You are a member of the following groups:" : "Vous êtes membre des groupes suivants :", "You are using <strong>{usage}</strong>" : "Vous utilisez <strong>{usage}</strong>", "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Vous utilisez <strong>{usage}</strong> sur <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)", "Your full name" : "Votre nom complet", @@ -299,6 +301,7 @@ "Unable to delete additional email address" : "Impossible de supprimer l'adresse e-mail supplémentaire", "No email address set" : "Aucune adresse e-mail configurée", "Additional emails" : "E-mails suplémentaires", + "Your handle" : "Votre identifiant", "Your headline" : "Votre titre", "Language" : "Langue", "Help translate" : "Aidez à traduire", @@ -378,11 +381,6 @@ "The following devices are configured for your account:" : "Les appareils suivants sont paramétrés pour votre compte :", "Your browser does not support WebAuthn." : "Votre navigateur ne prend pas en charge WebAuthn.", "Your apps" : "Vos applications", - "Active apps" : "Applications actives", - "Disabled apps" : "Applications désactivées", - "Updates" : "Mises à jour", - "App bundles" : "Pack d'applications", - "Featured apps" : "Apps mises en avant", "{license}-licensed" : "Sous licence {license}", "Changelog" : "Journal des modifications", "by {author}\n{license}" : "par {author}\n{license}", @@ -411,10 +409,17 @@ "Phone number" : "Numéro de téléphone", "Role" : "Fonction", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse (ex. Mastodon)", "Website" : "Site web", "Profile visibility" : "Visibilité du profil", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Non disponible car cette propriété est requise pour les fonctionnalités essentielles comme le partage de fichiers et les invitations de l'agenda.", + "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Non disponible car la fédération a été désactivée pour votre compte, contactez votre administrateur système si vous avez des questions.", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Non disponible car la publication de données spécifiques d'un utilisateur au serveur de recherche est interdit, contacter votre administrateur système si vous avez des questions", + "Active apps" : "Applications actives", + "Disabled apps" : "Applications désactivées", + "Updates" : "Mises à jour", + "App bundles" : "Pack d'applications", + "Featured apps" : "Apps mises en avant", "Show to everyone" : "Montrer à tout le monde", "Show to logged in users only" : "Montrer seulement aux utilisateurs enregistrés", "Hide" : "Cacher", @@ -426,7 +431,6 @@ "An error occurred during the request. Unable to proceed." : "Une erreur s'est produite pendant la demande. Impossible de poursuivre.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "L'application a été activée mais doit être mise à jour. Vous allez être redirigé vers la page des mises à jour dans 5 secondes.", "Error: This app cannot be enabled because it makes the server unstable" : "Erreur : cette application ne peut être activée car elle rend le serveur instable", - "Administrator documentation" : "Documentation administrateur", "Documentation" : "Documentation", "Forum" : "Forum", "Login" : "Login", diff --git a/apps/settings/l10n/gl.js b/apps/settings/l10n/gl.js index 6ef83fbe42b..1fad4bd56fd 100644 --- a/apps/settings/l10n/gl.js +++ b/apps/settings/l10n/gl.js @@ -54,6 +54,8 @@ OC.L10N.register( "Wrong admin recovery password. Please check the password and try again." : "Contrasinal de recuperación do administrador incorrecto. Comprobe o contrasinal e ténteo de novo.", "Federated Cloud Sharing" : "Nube federada compartida", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL está utilizando unha versión obsoleta %1$s (%2$s). Actualice o seu sistema operativo, caso contrario características como %3$s non funcionarán de xeito fiábel.", + "Administrator documentation" : "Documentación do administrador", + "User documentation" : "Documentación do usuario", "Invalid SMTP password." : "Contrasinal SMTP incorrecta.", "Email setting test" : "Proba do axuste do correo", "Well done, %s!" : "Ben feito, %s!", @@ -99,6 +101,7 @@ OC.L10N.register( "Overview" : "Vista xeral", "Basic settings" : "Axustes básicos", "Sharing" : "Compartindo", + "Calendar" : "Calendario", "Personal info" : "Información persoal", "Mobile & desktop" : "Móbil e escritorio", "Email server" : "Servidor de correo", @@ -138,7 +141,6 @@ OC.L10N.register( "View in store" : "Ver na tenda", "Visit website" : "Visite o sitio web", "Report a bug" : "Informar dun fallo", - "User documentation" : "Documentación do usuario", "Admin documentation" : "Documentación do administrador", "Developer documentation" : "Documentación do desenvolvedor", "This app is supported via your current Nextcloud subscription." : "Esta aplicación é compatíbel cos súa subscrición actual a Nextcloud.", @@ -272,11 +274,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Os seguintes dispositivos están configurados para a súa conta:", "Your browser does not support WebAuthn." : "O seu navegador non é compatíbel co WebAuthn.", "Your apps" : "As súas aplicacións", - "Active apps" : "Aplcativos activos", - "Disabled apps" : "Aplicacións desactivadas", - "Updates" : "Actualizacións", - "App bundles" : "Paquetes de aplicacións", - "Featured apps" : "Aplis destacadas", "{license}-licensed" : "Licenciado baixo a {license}", "Changelog" : "Rexistro de cambios", "by {author}\n{license}" : "por {author}\n{license}", @@ -304,13 +301,17 @@ OC.L10N.register( "Role" : "Cargo", "Twitter" : "Twitter", "Website" : "Sitio web", + "Active apps" : "Aplcativos activos", + "Disabled apps" : "Aplicacións desactivadas", + "Updates" : "Actualizacións", + "App bundles" : "Paquetes de aplicacións", + "Featured apps" : "Aplis destacadas", "Hide" : "Agochar", "Download and enable" : "Descargar e activar", "Enable untested app" : "Activar a aplicación sen probar", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Esta aplicación non está marcado como compatíbel coa súa versión do Nextcloud. Se continúa, poderá instalar a aplicación. Teña en conta que é probábel que a aplicación non funcione como se agarda.", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "A aplicación foi activada pero necesita ser actualizada. Vai ser redirixido cara a páxina de actualizarións en 5 segundos.", - "Administrator documentation" : "Documentación do administrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Acceso", diff --git a/apps/settings/l10n/gl.json b/apps/settings/l10n/gl.json index b5c296234ad..91ea7f982d5 100644 --- a/apps/settings/l10n/gl.json +++ b/apps/settings/l10n/gl.json @@ -52,6 +52,8 @@ "Wrong admin recovery password. Please check the password and try again." : "Contrasinal de recuperación do administrador incorrecto. Comprobe o contrasinal e ténteo de novo.", "Federated Cloud Sharing" : "Nube federada compartida", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL está utilizando unha versión obsoleta %1$s (%2$s). Actualice o seu sistema operativo, caso contrario características como %3$s non funcionarán de xeito fiábel.", + "Administrator documentation" : "Documentación do administrador", + "User documentation" : "Documentación do usuario", "Invalid SMTP password." : "Contrasinal SMTP incorrecta.", "Email setting test" : "Proba do axuste do correo", "Well done, %s!" : "Ben feito, %s!", @@ -97,6 +99,7 @@ "Overview" : "Vista xeral", "Basic settings" : "Axustes básicos", "Sharing" : "Compartindo", + "Calendar" : "Calendario", "Personal info" : "Información persoal", "Mobile & desktop" : "Móbil e escritorio", "Email server" : "Servidor de correo", @@ -136,7 +139,6 @@ "View in store" : "Ver na tenda", "Visit website" : "Visite o sitio web", "Report a bug" : "Informar dun fallo", - "User documentation" : "Documentación do usuario", "Admin documentation" : "Documentación do administrador", "Developer documentation" : "Documentación do desenvolvedor", "This app is supported via your current Nextcloud subscription." : "Esta aplicación é compatíbel cos súa subscrición actual a Nextcloud.", @@ -270,11 +272,6 @@ "The following devices are configured for your account:" : "Os seguintes dispositivos están configurados para a súa conta:", "Your browser does not support WebAuthn." : "O seu navegador non é compatíbel co WebAuthn.", "Your apps" : "As súas aplicacións", - "Active apps" : "Aplcativos activos", - "Disabled apps" : "Aplicacións desactivadas", - "Updates" : "Actualizacións", - "App bundles" : "Paquetes de aplicacións", - "Featured apps" : "Aplis destacadas", "{license}-licensed" : "Licenciado baixo a {license}", "Changelog" : "Rexistro de cambios", "by {author}\n{license}" : "por {author}\n{license}", @@ -302,13 +299,17 @@ "Role" : "Cargo", "Twitter" : "Twitter", "Website" : "Sitio web", + "Active apps" : "Aplcativos activos", + "Disabled apps" : "Aplicacións desactivadas", + "Updates" : "Actualizacións", + "App bundles" : "Paquetes de aplicacións", + "Featured apps" : "Aplis destacadas", "Hide" : "Agochar", "Download and enable" : "Descargar e activar", "Enable untested app" : "Activar a aplicación sen probar", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Esta aplicación non está marcado como compatíbel coa súa versión do Nextcloud. Se continúa, poderá instalar a aplicación. Teña en conta que é probábel que a aplicación non funcione como se agarda.", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "A aplicación foi activada pero necesita ser actualizada. Vai ser redirixido cara a páxina de actualizarións en 5 segundos.", - "Administrator documentation" : "Documentación do administrador", "Documentation" : "Documentación", "Forum" : "Foro", "Login" : "Acceso", diff --git a/apps/settings/l10n/he.js b/apps/settings/l10n/he.js index 54cfe1ed6e7..0069459cc22 100644 --- a/apps/settings/l10n/he.js +++ b/apps/settings/l10n/he.js @@ -54,6 +54,8 @@ OC.L10N.register( "Wrong admin recovery password. Please check the password and try again." : "סיסמת המנהל לשחזור שגוייה. יש לבדוק את הסיסמא ולנסות שוב.", "Federated Cloud Sharing" : "ענן שיתוף מאוגד", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL משתמש בגרסה של %1$s שתוקפה פג (%2$s). נא לעדכן את מערכת ההפעלה או שתכונות כמו %3$s לא תפעלנה בצורה אמינה.", + "Administrator documentation" : "תיעוד מנהל", + "User documentation" : "תיעוד משתמש", "Invalid SMTP password." : "ססמת ה־SMTP שגויה.", "Email setting test" : "בדיקת הגדרת דוא״ל", "Well done, %s!" : "עבודה יפה, %s!", @@ -99,6 +101,7 @@ OC.L10N.register( "Overview" : "סקירה", "Basic settings" : "הגדרות בסיסיות", "Sharing" : "שיתוף", + "Calendar" : "לוח שנה", "Personal info" : "פרטים אישיים", "Mobile & desktop" : "נייד ושולחן עבודה", "Email server" : "שרת דואר אלקטרוני", @@ -138,7 +141,6 @@ OC.L10N.register( "View in store" : "הצגה באחסון", "Visit website" : "ביקור באתר האינטרנט", "Report a bug" : "דיווח על באג", - "User documentation" : "תיעוד משתמש", "Admin documentation" : "תיעוד מנהל", "Developer documentation" : "תיעוד מפתח", "This app is supported via your current Nextcloud subscription." : "יישומון זה נתמך על ידי מינוי ה־Nextcloud הנוכחי שלך.", @@ -270,11 +272,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "ההתקנים הבאים הוגדרו לחשבון שלך:", "Your browser does not support WebAuthn." : "הדפדפן שלך אינו תומך ב־WebAuthn.", "Your apps" : "היישומונים שלך", - "Active apps" : "יישומונים פעילים", - "Disabled apps" : "יישומונים מושבתים", - "Updates" : "עדכונים", - "App bundles" : "מאגדי יישומונים", - "Featured apps" : "יישומונים מובילים", "{license}-licensed" : "ברישיון {license}", "Changelog" : "יומן שינויים", "by {author}\n{license}" : "מאת {author}\n{license}", @@ -300,13 +297,17 @@ OC.L10N.register( "Phone number" : "מספר טלפון", "Twitter" : "טוויטר", "Website" : "אתר", + "Active apps" : "יישומונים פעילים", + "Disabled apps" : "יישומונים מושבתים", + "Updates" : "עדכונים", + "App bundles" : "מאגדי יישומונים", + "Featured apps" : "יישומונים מובילים", "Hide" : "הסתרה", "Download and enable" : "להוריד ולהפעיל", "Enable untested app" : "לאפשר יישומון שלא נבדק", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "היישומון הזה לא מסומן כנתמך בגרסת ה־Nextcloud. עדיין יתאפשר לך להמשיך ולהתקין את היישומון. נא לשים לב שיכול להיות שהיישומון לא יעבוד כצפוי.", "Never" : "מעולם לא", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "היישומון הופעל אך יש לעדכן אותו. ההפניה לעמוד העדכון תחל בעוד 5 שניות.", - "Administrator documentation" : "תיעוד מנהל", "Documentation" : "תיעוד", "Forum" : "פורום", "Login" : "התחברות", diff --git a/apps/settings/l10n/he.json b/apps/settings/l10n/he.json index 7b91f42d2de..323b04e46cc 100644 --- a/apps/settings/l10n/he.json +++ b/apps/settings/l10n/he.json @@ -52,6 +52,8 @@ "Wrong admin recovery password. Please check the password and try again." : "סיסמת המנהל לשחזור שגוייה. יש לבדוק את הסיסמא ולנסות שוב.", "Federated Cloud Sharing" : "ענן שיתוף מאוגד", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL משתמש בגרסה של %1$s שתוקפה פג (%2$s). נא לעדכן את מערכת ההפעלה או שתכונות כמו %3$s לא תפעלנה בצורה אמינה.", + "Administrator documentation" : "תיעוד מנהל", + "User documentation" : "תיעוד משתמש", "Invalid SMTP password." : "ססמת ה־SMTP שגויה.", "Email setting test" : "בדיקת הגדרת דוא״ל", "Well done, %s!" : "עבודה יפה, %s!", @@ -97,6 +99,7 @@ "Overview" : "סקירה", "Basic settings" : "הגדרות בסיסיות", "Sharing" : "שיתוף", + "Calendar" : "לוח שנה", "Personal info" : "פרטים אישיים", "Mobile & desktop" : "נייד ושולחן עבודה", "Email server" : "שרת דואר אלקטרוני", @@ -136,7 +139,6 @@ "View in store" : "הצגה באחסון", "Visit website" : "ביקור באתר האינטרנט", "Report a bug" : "דיווח על באג", - "User documentation" : "תיעוד משתמש", "Admin documentation" : "תיעוד מנהל", "Developer documentation" : "תיעוד מפתח", "This app is supported via your current Nextcloud subscription." : "יישומון זה נתמך על ידי מינוי ה־Nextcloud הנוכחי שלך.", @@ -268,11 +270,6 @@ "The following devices are configured for your account:" : "ההתקנים הבאים הוגדרו לחשבון שלך:", "Your browser does not support WebAuthn." : "הדפדפן שלך אינו תומך ב־WebAuthn.", "Your apps" : "היישומונים שלך", - "Active apps" : "יישומונים פעילים", - "Disabled apps" : "יישומונים מושבתים", - "Updates" : "עדכונים", - "App bundles" : "מאגדי יישומונים", - "Featured apps" : "יישומונים מובילים", "{license}-licensed" : "ברישיון {license}", "Changelog" : "יומן שינויים", "by {author}\n{license}" : "מאת {author}\n{license}", @@ -298,13 +295,17 @@ "Phone number" : "מספר טלפון", "Twitter" : "טוויטר", "Website" : "אתר", + "Active apps" : "יישומונים פעילים", + "Disabled apps" : "יישומונים מושבתים", + "Updates" : "עדכונים", + "App bundles" : "מאגדי יישומונים", + "Featured apps" : "יישומונים מובילים", "Hide" : "הסתרה", "Download and enable" : "להוריד ולהפעיל", "Enable untested app" : "לאפשר יישומון שלא נבדק", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "היישומון הזה לא מסומן כנתמך בגרסת ה־Nextcloud. עדיין יתאפשר לך להמשיך ולהתקין את היישומון. נא לשים לב שיכול להיות שהיישומון לא יעבוד כצפוי.", "Never" : "מעולם לא", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "היישומון הופעל אך יש לעדכן אותו. ההפניה לעמוד העדכון תחל בעוד 5 שניות.", - "Administrator documentation" : "תיעוד מנהל", "Documentation" : "תיעוד", "Forum" : "פורום", "Login" : "התחברות", diff --git a/apps/settings/l10n/hr.js b/apps/settings/l10n/hr.js index c5d9f17ab7e..3647bd03333 100644 --- a/apps/settings/l10n/hr.js +++ b/apps/settings/l10n/hr.js @@ -58,6 +58,8 @@ OC.L10N.register( "installing and updating apps via the App Store or Federated Cloud Sharing" : "instaliranje i ažuriranje aplikacija putem trgovine aplikacijama ili dijeljenja putem udruženog oblaka", "Federated Cloud Sharing" : "Dijeljenje putem udruženog oblaka", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL upotrebljava zastarjelu inačicu %1$s (%2$s). Ažurirajte svoj operacijski sustav kako bi značajke, kao što je %3$s, pouzdano radile.", + "Administrator documentation" : "Dokumentacija za administratora", + "User documentation" : "Dokumentacija za korisnike", "Invalid SMTP password." : "Nevaljana zaporka za SMTP.", "Email setting test" : "Testiranje postavljanja e-pošte", "Well done, %s!" : "Odlično, %s!", @@ -106,6 +108,7 @@ OC.L10N.register( "Basic settings" : "Osnovne postavke", "Sharing" : "Dijeljenje", "Availability" : "Raspoloživost", + "Calendar" : "Kalendar", "Personal info" : "Osobne informacije", "Mobile & desktop" : "Mobilni uređaji i osobna računala", "Email server" : "Poslužitelj e-pošte", @@ -147,7 +150,6 @@ OC.L10N.register( "View in store" : "Pogledajte u trgovini", "Visit website" : "Posjeti web-mjesto", "Report a bug" : "Prijavi pogrešku", - "User documentation" : "Dokumentacija za korisnike", "Admin documentation" : "Dokumentacija za administratore", "Developer documentation" : "Dokumentacija za razvojne programere", "This app is supported via your current Nextcloud subscription." : "Aplikacija je podržana unutar vaše trenutne pretplate na Nextcloud.", @@ -311,11 +313,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Sljedeći su uređaji konfigurirani za vaš račun:", "Your browser does not support WebAuthn." : "Vaš preglednik ne podržava WebAuthn.", "Your apps" : "Vaše aplikacije", - "Active apps" : "Aktivne aplikacije", - "Disabled apps" : "Onemogućene aplikacije", - "Updates" : "Ažuriranja", - "App bundles" : "Paketi aplikacija", - "Featured apps" : "Istaknute aplikacije", "{license}-licensed" : "Licencirano prema {license}", "Changelog" : "Zapis promjena", "by {author}\n{license}" : "{autor}\n{licenca}", @@ -348,6 +345,11 @@ OC.L10N.register( "Profile visibility" : "Vidljivost profila", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nije dostupno jer je ovo svojstvo potrebno za osnovnu funkcionalnost, uključujući dijeljenje datoteka i pozivnice za kalendar", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nije dostupno jer nije dopušteno objavljivanje korisničkih podataka na poslužitelju pretraživanja, obratite se administratoru sustava ako imate pitanja", + "Active apps" : "Aktivne aplikacije", + "Disabled apps" : "Onemogućene aplikacije", + "Updates" : "Ažuriranja", + "App bundles" : "Paketi aplikacija", + "Featured apps" : "Istaknute aplikacije", "Show to everyone" : "Prikaži svima", "Show to logged in users only" : "Prikaži samo prijavljenim korisnicima", "Hide" : "Sakrij", @@ -358,7 +360,6 @@ OC.L10N.register( "Never" : "Nikad", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikacija je omogućena, ali je treba ažurirati. Za 5 sekundi bit ćete preusmjereni na stranicu za ažuriranje.", "Error: This app cannot be enabled because it makes the server unstable" : "Pogreška: ova aplikacija ne može biti omogućena jer čini poslužitelj nestabilnim", - "Administrator documentation" : "Dokumentacija za administratora", "Documentation" : "Dokumentacija", "Forum" : "Forum", "Login" : "Prijava", diff --git a/apps/settings/l10n/hr.json b/apps/settings/l10n/hr.json index c093bb0c72d..41914da025b 100644 --- a/apps/settings/l10n/hr.json +++ b/apps/settings/l10n/hr.json @@ -56,6 +56,8 @@ "installing and updating apps via the App Store or Federated Cloud Sharing" : "instaliranje i ažuriranje aplikacija putem trgovine aplikacijama ili dijeljenja putem udruženog oblaka", "Federated Cloud Sharing" : "Dijeljenje putem udruženog oblaka", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL upotrebljava zastarjelu inačicu %1$s (%2$s). Ažurirajte svoj operacijski sustav kako bi značajke, kao što je %3$s, pouzdano radile.", + "Administrator documentation" : "Dokumentacija za administratora", + "User documentation" : "Dokumentacija za korisnike", "Invalid SMTP password." : "Nevaljana zaporka za SMTP.", "Email setting test" : "Testiranje postavljanja e-pošte", "Well done, %s!" : "Odlično, %s!", @@ -104,6 +106,7 @@ "Basic settings" : "Osnovne postavke", "Sharing" : "Dijeljenje", "Availability" : "Raspoloživost", + "Calendar" : "Kalendar", "Personal info" : "Osobne informacije", "Mobile & desktop" : "Mobilni uređaji i osobna računala", "Email server" : "Poslužitelj e-pošte", @@ -145,7 +148,6 @@ "View in store" : "Pogledajte u trgovini", "Visit website" : "Posjeti web-mjesto", "Report a bug" : "Prijavi pogrešku", - "User documentation" : "Dokumentacija za korisnike", "Admin documentation" : "Dokumentacija za administratore", "Developer documentation" : "Dokumentacija za razvojne programere", "This app is supported via your current Nextcloud subscription." : "Aplikacija je podržana unutar vaše trenutne pretplate na Nextcloud.", @@ -309,11 +311,6 @@ "The following devices are configured for your account:" : "Sljedeći su uređaji konfigurirani za vaš račun:", "Your browser does not support WebAuthn." : "Vaš preglednik ne podržava WebAuthn.", "Your apps" : "Vaše aplikacije", - "Active apps" : "Aktivne aplikacije", - "Disabled apps" : "Onemogućene aplikacije", - "Updates" : "Ažuriranja", - "App bundles" : "Paketi aplikacija", - "Featured apps" : "Istaknute aplikacije", "{license}-licensed" : "Licencirano prema {license}", "Changelog" : "Zapis promjena", "by {author}\n{license}" : "{autor}\n{licenca}", @@ -346,6 +343,11 @@ "Profile visibility" : "Vidljivost profila", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nije dostupno jer je ovo svojstvo potrebno za osnovnu funkcionalnost, uključujući dijeljenje datoteka i pozivnice za kalendar", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nije dostupno jer nije dopušteno objavljivanje korisničkih podataka na poslužitelju pretraživanja, obratite se administratoru sustava ako imate pitanja", + "Active apps" : "Aktivne aplikacije", + "Disabled apps" : "Onemogućene aplikacije", + "Updates" : "Ažuriranja", + "App bundles" : "Paketi aplikacija", + "Featured apps" : "Istaknute aplikacije", "Show to everyone" : "Prikaži svima", "Show to logged in users only" : "Prikaži samo prijavljenim korisnicima", "Hide" : "Sakrij", @@ -356,7 +358,6 @@ "Never" : "Nikad", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikacija je omogućena, ali je treba ažurirati. Za 5 sekundi bit ćete preusmjereni na stranicu za ažuriranje.", "Error: This app cannot be enabled because it makes the server unstable" : "Pogreška: ova aplikacija ne može biti omogućena jer čini poslužitelj nestabilnim", - "Administrator documentation" : "Dokumentacija za administratora", "Documentation" : "Dokumentacija", "Forum" : "Forum", "Login" : "Prijava", diff --git a/apps/settings/l10n/hu.js b/apps/settings/l10n/hu.js index 6626d99a7af..29b9ae32312 100644 --- a/apps/settings/l10n/hu.js +++ b/apps/settings/l10n/hu.js @@ -73,6 +73,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Majdnem túllépte az OPcache kulcsok legnagyobb számát. Hogy biztosítsa, hogy az összes parancsfájl tárolható legyen a gyorsítótárban, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.max_accelerated_files</code> beállítást a PHP konfigurációjában.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Az OPcache puffer majdnem megtelt. Hogy biztosítsa, hogy az összes parancsfájl tárolható legyen a gyorsítótárban, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.max_accelerated_files</code> beállítást a PHP konfigurációjában.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Az OPcache internalizált karakterláncokat tartalmazó puffere majdnem megtelt. Hogy biztosítsa, hogy az ismétlődő karakterláncok hatásosan gyorsítótárazhatók legyenek, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.interned_strings_buffer</code> beállítást a PHP konfigurációjában.", + "Administrator documentation" : "Rendszergazdai dokumentáció", + "User documentation" : "Felhasználói dokumentáció", "Invalid SMTP password." : "Érvénytelen SMTP-jelszó.", "Email setting test" : "E-mail beállítás tesztelése", "Well done, %s!" : "Szép munka, %s!", @@ -122,6 +124,7 @@ OC.L10N.register( "Basic settings" : "Alapvető beállítások", "Sharing" : "Megosztás", "Availability" : "Elérhetőség", + "Calendar" : "Naptár", "Personal info" : "Személyes információk", "Mobile & desktop" : "Mobil és asztali", "Email server" : "E-mail kiszolgáló", @@ -169,7 +172,6 @@ OC.L10N.register( "View in store" : "Megtekintés a tárban", "Visit website" : "Weboldal meglátogatása", "Report a bug" : "Hiba bejelentése", - "User documentation" : "Felhasználói dokumentáció", "Admin documentation" : "Rendszergazdai dokumentáció", "Developer documentation" : "Fejlesztői dokumentáció", "This app is supported via your current Nextcloud subscription." : "Az alkalmazás támogatását a jelenlegi Nextcloud előfizetése biztosítja.", @@ -301,6 +303,7 @@ OC.L10N.register( "Unable to delete additional email address" : "A további e-mail-cím nem törölhető", "No email address set" : "Nincs e-mail-cím beállítva", "Additional emails" : "További e-mail-címek", + "Your handle" : "Az Ön fiókneve", "Your headline" : "Az Ön címsora", "Language" : "Nyelv", "Help translate" : "Segítsen a fordításban", @@ -380,11 +383,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "A következő eszközök vannak a fiókjához kapcsolva:", "Your browser does not support WebAuthn." : "A böngészője nem támogatja a WebAuthn szabványt.", "Your apps" : "Az Ön alkalmazásai", - "Active apps" : "Aktív alkalmazások", - "Disabled apps" : "Letiltott alkalmazások", - "Updates" : "Frissítések", - "App bundles" : "Alkalmazáscsomagok", - "Featured apps" : "Kiemelt alkalmazások", "{license}-licensed" : "{license}-licencelt", "Changelog" : "Változásnapló", "by {author}\n{license}" : "szerző: {author}\n{license}", @@ -413,11 +411,17 @@ OC.L10N.register( "Phone number" : "Telefonszám", "Role" : "Szerepkör", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Födiverzum (például Mastodon)", "Website" : "Weboldal", "Profile visibility" : "Profil láthatósága", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nem érhető el, mivel ez a tulajdonság szükséges a fő funkciókhoz, köztük a fájlmegosztáshoz és a naptármeghívásokhoz.", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nem érhető el, mert a föderálás le lett tiltva a fióknál, ha kérdése van, lépjen kapcsolatba a rendszergazdával", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nem érhető el, mert a felhasználóspecifikus adatok közzététele a lekérési kiszolgáló felé nem engedélyezett, ha kérdése van, lépjen kapcsolatba a rendszergazdával.", + "Active apps" : "Aktív alkalmazások", + "Disabled apps" : "Letiltott alkalmazások", + "Updates" : "Frissítések", + "App bundles" : "Alkalmazáscsomagok", + "Featured apps" : "Kiemelt alkalmazások", "Show to everyone" : "Mindenki számára látható", "Show to logged in users only" : "Csak a bejelentkezett felhasználók számára látható", "Hide" : "Elrejtés", @@ -429,7 +433,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "Hiba történt a kérés során. Nem lehet folytatni.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Ez az alkalmazás engedélyezett, de frissíteni kell. 5 másodpercen belül a frissítési oldalra lesz irányítva.", "Error: This app cannot be enabled because it makes the server unstable" : "Hiba: az alkalmazás nem nem engedélyezhető, mert instabillá tenné a kiszolgálót", - "Administrator documentation" : "Rendszergazdai dokumentáció", "Documentation" : "Dokumentáció", "Forum" : "Fórum", "Login" : "Bejelentkezés", diff --git a/apps/settings/l10n/hu.json b/apps/settings/l10n/hu.json index caceea16cf5..2fe17014f6c 100644 --- a/apps/settings/l10n/hu.json +++ b/apps/settings/l10n/hu.json @@ -71,6 +71,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Majdnem túllépte az OPcache kulcsok legnagyobb számát. Hogy biztosítsa, hogy az összes parancsfájl tárolható legyen a gyorsítótárban, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.max_accelerated_files</code> beállítást a PHP konfigurációjában.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Az OPcache puffer majdnem megtelt. Hogy biztosítsa, hogy az összes parancsfájl tárolható legyen a gyorsítótárban, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.max_accelerated_files</code> beállítást a PHP konfigurációjában.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Az OPcache internalizált karakterláncokat tartalmazó puffere majdnem megtelt. Hogy biztosítsa, hogy az ismétlődő karakterláncok hatásosan gyorsítótárazhatók legyenek, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.interned_strings_buffer</code> beállítást a PHP konfigurációjában.", + "Administrator documentation" : "Rendszergazdai dokumentáció", + "User documentation" : "Felhasználói dokumentáció", "Invalid SMTP password." : "Érvénytelen SMTP-jelszó.", "Email setting test" : "E-mail beállítás tesztelése", "Well done, %s!" : "Szép munka, %s!", @@ -120,6 +122,7 @@ "Basic settings" : "Alapvető beállítások", "Sharing" : "Megosztás", "Availability" : "Elérhetőség", + "Calendar" : "Naptár", "Personal info" : "Személyes információk", "Mobile & desktop" : "Mobil és asztali", "Email server" : "E-mail kiszolgáló", @@ -167,7 +170,6 @@ "View in store" : "Megtekintés a tárban", "Visit website" : "Weboldal meglátogatása", "Report a bug" : "Hiba bejelentése", - "User documentation" : "Felhasználói dokumentáció", "Admin documentation" : "Rendszergazdai dokumentáció", "Developer documentation" : "Fejlesztői dokumentáció", "This app is supported via your current Nextcloud subscription." : "Az alkalmazás támogatását a jelenlegi Nextcloud előfizetése biztosítja.", @@ -299,6 +301,7 @@ "Unable to delete additional email address" : "A további e-mail-cím nem törölhető", "No email address set" : "Nincs e-mail-cím beállítva", "Additional emails" : "További e-mail-címek", + "Your handle" : "Az Ön fiókneve", "Your headline" : "Az Ön címsora", "Language" : "Nyelv", "Help translate" : "Segítsen a fordításban", @@ -378,11 +381,6 @@ "The following devices are configured for your account:" : "A következő eszközök vannak a fiókjához kapcsolva:", "Your browser does not support WebAuthn." : "A böngészője nem támogatja a WebAuthn szabványt.", "Your apps" : "Az Ön alkalmazásai", - "Active apps" : "Aktív alkalmazások", - "Disabled apps" : "Letiltott alkalmazások", - "Updates" : "Frissítések", - "App bundles" : "Alkalmazáscsomagok", - "Featured apps" : "Kiemelt alkalmazások", "{license}-licensed" : "{license}-licencelt", "Changelog" : "Változásnapló", "by {author}\n{license}" : "szerző: {author}\n{license}", @@ -411,11 +409,17 @@ "Phone number" : "Telefonszám", "Role" : "Szerepkör", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Födiverzum (például Mastodon)", "Website" : "Weboldal", "Profile visibility" : "Profil láthatósága", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nem érhető el, mivel ez a tulajdonság szükséges a fő funkciókhoz, köztük a fájlmegosztáshoz és a naptármeghívásokhoz.", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nem érhető el, mert a föderálás le lett tiltva a fióknál, ha kérdése van, lépjen kapcsolatba a rendszergazdával", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nem érhető el, mert a felhasználóspecifikus adatok közzététele a lekérési kiszolgáló felé nem engedélyezett, ha kérdése van, lépjen kapcsolatba a rendszergazdával.", + "Active apps" : "Aktív alkalmazások", + "Disabled apps" : "Letiltott alkalmazások", + "Updates" : "Frissítések", + "App bundles" : "Alkalmazáscsomagok", + "Featured apps" : "Kiemelt alkalmazások", "Show to everyone" : "Mindenki számára látható", "Show to logged in users only" : "Csak a bejelentkezett felhasználók számára látható", "Hide" : "Elrejtés", @@ -427,7 +431,6 @@ "An error occurred during the request. Unable to proceed." : "Hiba történt a kérés során. Nem lehet folytatni.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Ez az alkalmazás engedélyezett, de frissíteni kell. 5 másodpercen belül a frissítési oldalra lesz irányítva.", "Error: This app cannot be enabled because it makes the server unstable" : "Hiba: az alkalmazás nem nem engedélyezhető, mert instabillá tenné a kiszolgálót", - "Administrator documentation" : "Rendszergazdai dokumentáció", "Documentation" : "Dokumentáció", "Forum" : "Fórum", "Login" : "Bejelentkezés", diff --git a/apps/settings/l10n/ia.js b/apps/settings/l10n/ia.js index f1443ddbf26..a8134f34474 100644 --- a/apps/settings/l10n/ia.js +++ b/apps/settings/l10n/ia.js @@ -17,6 +17,8 @@ OC.L10N.register( "Authentication error" : "Error in authentication", "Wrong admin recovery password. Please check the password and try again." : "Le contrasigno administrator pro recuperation de datos es incorrecte. Per favor, verifica le contrasigno e tenta de novo.", "Federated Cloud Sharing" : "Compartimento del Nube Federate", + "Administrator documentation" : "Documentation de administrator", + "User documentation" : "Documentation de usator", "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Un problema occurreva durante le invio del e-posta. Per favor, revide tu configurationes. (Error: %s)", "Invalid user" : "Usator invalide", "Invalid mail address" : "Adresse de e-posta non valide", @@ -27,6 +29,7 @@ OC.L10N.register( "Settings" : "Configurationes", "Personal" : "Personal", "Sharing" : "Compartente", + "Calendar" : "Calendario", "Personal info" : "Information personal", "Email server" : "Servitor de e-posta", "Security & setup warnings" : "Securitate e advertimentos de configuration", @@ -39,7 +42,6 @@ OC.L10N.register( "Disable" : "Disactivar", "Visit website" : "Visitar sito web", "Report a bug" : "Reportar un defecto", - "User documentation" : "Documentation de usator", "Admin documentation" : "Documentation de administrator", "Developer documentation" : "Documentation de disveloppator", "No apps found for your version" : "Nulle application trovate pro tu version", @@ -99,7 +101,6 @@ OC.L10N.register( "Twitter" : "Twitter", "Website" : "Sito web", "Never" : "Nunquam", - "Administrator documentation" : "Documentation de administrator", "Documentation" : "Documentation", "Forum" : "Foro", "Login" : "Login", diff --git a/apps/settings/l10n/ia.json b/apps/settings/l10n/ia.json index 2b5311445ab..1ebc2670f24 100644 --- a/apps/settings/l10n/ia.json +++ b/apps/settings/l10n/ia.json @@ -15,6 +15,8 @@ "Authentication error" : "Error in authentication", "Wrong admin recovery password. Please check the password and try again." : "Le contrasigno administrator pro recuperation de datos es incorrecte. Per favor, verifica le contrasigno e tenta de novo.", "Federated Cloud Sharing" : "Compartimento del Nube Federate", + "Administrator documentation" : "Documentation de administrator", + "User documentation" : "Documentation de usator", "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Un problema occurreva durante le invio del e-posta. Per favor, revide tu configurationes. (Error: %s)", "Invalid user" : "Usator invalide", "Invalid mail address" : "Adresse de e-posta non valide", @@ -25,6 +27,7 @@ "Settings" : "Configurationes", "Personal" : "Personal", "Sharing" : "Compartente", + "Calendar" : "Calendario", "Personal info" : "Information personal", "Email server" : "Servitor de e-posta", "Security & setup warnings" : "Securitate e advertimentos de configuration", @@ -37,7 +40,6 @@ "Disable" : "Disactivar", "Visit website" : "Visitar sito web", "Report a bug" : "Reportar un defecto", - "User documentation" : "Documentation de usator", "Admin documentation" : "Documentation de administrator", "Developer documentation" : "Documentation de disveloppator", "No apps found for your version" : "Nulle application trovate pro tu version", @@ -97,7 +99,6 @@ "Twitter" : "Twitter", "Website" : "Sito web", "Never" : "Nunquam", - "Administrator documentation" : "Documentation de administrator", "Documentation" : "Documentation", "Forum" : "Foro", "Login" : "Login", diff --git a/apps/settings/l10n/id.js b/apps/settings/l10n/id.js index 44d8a9797d0..5c02f0876ee 100644 --- a/apps/settings/l10n/id.js +++ b/apps/settings/l10n/id.js @@ -64,6 +64,8 @@ OC.L10N.register( "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL menggunakan versi %1$s yang usang(%2$s). Mohon perbarui sistem operasi Anda atau fitur sejenisnya termasuk %3$s tidak akan bekerja secara penuh.", "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Modul PHP OPcache tidak dimuat. Untuk kinerja yang lebih baik, disarankan untuk memuatnya ke dalam instalasi PHP Anda.", "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache dinonaktifkan. Untuk kinerja yang lebih baik, disarankan untuk menerapkan <code>opcache.enable=1</code> ke konfigurasi PHP Anda.", + "Administrator documentation" : "Dokumentasi administrator", + "User documentation" : "Dokumentasi pengguna", "Invalid SMTP password." : "Kata sandi SMTP tidak valid.", "Email setting test" : "Uji pengaturan surel", "Well done, %s!" : "Bagus, %s!", @@ -108,6 +110,7 @@ OC.L10N.register( "Overview" : "Ringkasan", "Basic settings" : "Setelan dasar", "Sharing" : "Berbagi", + "Calendar" : "Kalender", "Personal info" : "Info pribadi", "Mobile & desktop" : "Mobil & desktop", "Email server" : "Server surel", @@ -139,7 +142,6 @@ OC.L10N.register( "View in store" : "Lihat di toko", "Visit website" : "Kunjungi laman web", "Report a bug" : "Laporkan kerusakan", - "User documentation" : "Dokumentasi pengguna", "Admin documentation" : "Dokumentasi admin", "Developer documentation" : "Dokumentasi pengembang", "This app is supported via your current Nextcloud subscription." : "Aplikasi ini didukung dengan langganan Nextcloud Anda saat ini.", @@ -266,10 +268,6 @@ OC.L10N.register( "Passwordless Authentication" : "Otentikasi Tanpa Kata Sandi", "No devices configured." : "Tidak ada perangkat yang dikonfigurasi.", "Your apps" : "Aplikasi anda", - "Active apps" : "Aplikasi aktif", - "Disabled apps" : "Matikan Aplikasi", - "Updates" : "Pembaruan", - "App bundles" : "Kumpulan Apl", "{license}-licensed" : "{license}-dilisensikan", "Changelog" : "Log pembaruan", "Add group" : "Tambah grup", @@ -294,13 +292,16 @@ OC.L10N.register( "Twitter" : "Twitter", "Website" : "Situs", "Profile visibility" : "Visibilitas profil", + "Active apps" : "Aplikasi aktif", + "Disabled apps" : "Matikan Aplikasi", + "Updates" : "Pembaruan", + "App bundles" : "Kumpulan Apl", "Hide" : "Sembunyikan", "Download and enable" : "Unduh dan hidupkan", "Enable untested app" : "Hidupkan aplikasi yang belum dites", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Aplikasi ini tidak ditandai sebagai versi Nextcloud Anda yang kompatibel. Jika Anda tetap ingin melanjutkannya, Anda tetap dapat memasang aplikasi. Catatan bahwa aplikasinya mungkin tidak akan berjalan seperti yang diharapkan.", "Never" : "Tidak pernah", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikasi diaktifkan namun butuh diperbarui. Anda akan dialihkan ke halaman pembaruan dalam 5 detik.", - "Administrator documentation" : "Dokumentasi administrator", "Documentation" : "Dokumentasi", "Forum" : "Forum", "Login" : "Masuk", diff --git a/apps/settings/l10n/id.json b/apps/settings/l10n/id.json index 721b6575747..df1f6524b6f 100644 --- a/apps/settings/l10n/id.json +++ b/apps/settings/l10n/id.json @@ -62,6 +62,8 @@ "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL menggunakan versi %1$s yang usang(%2$s). Mohon perbarui sistem operasi Anda atau fitur sejenisnya termasuk %3$s tidak akan bekerja secara penuh.", "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Modul PHP OPcache tidak dimuat. Untuk kinerja yang lebih baik, disarankan untuk memuatnya ke dalam instalasi PHP Anda.", "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache dinonaktifkan. Untuk kinerja yang lebih baik, disarankan untuk menerapkan <code>opcache.enable=1</code> ke konfigurasi PHP Anda.", + "Administrator documentation" : "Dokumentasi administrator", + "User documentation" : "Dokumentasi pengguna", "Invalid SMTP password." : "Kata sandi SMTP tidak valid.", "Email setting test" : "Uji pengaturan surel", "Well done, %s!" : "Bagus, %s!", @@ -106,6 +108,7 @@ "Overview" : "Ringkasan", "Basic settings" : "Setelan dasar", "Sharing" : "Berbagi", + "Calendar" : "Kalender", "Personal info" : "Info pribadi", "Mobile & desktop" : "Mobil & desktop", "Email server" : "Server surel", @@ -137,7 +140,6 @@ "View in store" : "Lihat di toko", "Visit website" : "Kunjungi laman web", "Report a bug" : "Laporkan kerusakan", - "User documentation" : "Dokumentasi pengguna", "Admin documentation" : "Dokumentasi admin", "Developer documentation" : "Dokumentasi pengembang", "This app is supported via your current Nextcloud subscription." : "Aplikasi ini didukung dengan langganan Nextcloud Anda saat ini.", @@ -264,10 +266,6 @@ "Passwordless Authentication" : "Otentikasi Tanpa Kata Sandi", "No devices configured." : "Tidak ada perangkat yang dikonfigurasi.", "Your apps" : "Aplikasi anda", - "Active apps" : "Aplikasi aktif", - "Disabled apps" : "Matikan Aplikasi", - "Updates" : "Pembaruan", - "App bundles" : "Kumpulan Apl", "{license}-licensed" : "{license}-dilisensikan", "Changelog" : "Log pembaruan", "Add group" : "Tambah grup", @@ -292,13 +290,16 @@ "Twitter" : "Twitter", "Website" : "Situs", "Profile visibility" : "Visibilitas profil", + "Active apps" : "Aplikasi aktif", + "Disabled apps" : "Matikan Aplikasi", + "Updates" : "Pembaruan", + "App bundles" : "Kumpulan Apl", "Hide" : "Sembunyikan", "Download and enable" : "Unduh dan hidupkan", "Enable untested app" : "Hidupkan aplikasi yang belum dites", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Aplikasi ini tidak ditandai sebagai versi Nextcloud Anda yang kompatibel. Jika Anda tetap ingin melanjutkannya, Anda tetap dapat memasang aplikasi. Catatan bahwa aplikasinya mungkin tidak akan berjalan seperti yang diharapkan.", "Never" : "Tidak pernah", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikasi diaktifkan namun butuh diperbarui. Anda akan dialihkan ke halaman pembaruan dalam 5 detik.", - "Administrator documentation" : "Dokumentasi administrator", "Documentation" : "Dokumentasi", "Forum" : "Forum", "Login" : "Masuk", diff --git a/apps/settings/l10n/is.js b/apps/settings/l10n/is.js index ca880a4e4ad..cfe576fe388 100644 --- a/apps/settings/l10n/is.js +++ b/apps/settings/l10n/is.js @@ -52,6 +52,8 @@ OC.L10N.register( "Wrong admin recovery password. Please check the password and try again." : "Rangt endurheimtulykilorð kerfisstjóra, athugaðu lykilorðið og reyndu aftur.", "Federated Cloud Sharing" : "Deiling með skýjasambandi", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL er að nota úrelda útgáfu af %1$s (%2$s). Uppfærðu stýrikerfið þitt, annars er hætt við að eiginleikar á borð við %3$s virki ekki sem skyldi.", + "Administrator documentation" : "Hjálparskjöl stjórnanda", + "User documentation" : "Hjálparskjöl notenda", "Invalid SMTP password." : "Ógilt SMTP-lykilorð", "Email setting test" : "Prófa tölvupóststillingar", "Well done, %s!" : "Vel gert, %s!", @@ -94,6 +96,7 @@ OC.L10N.register( "Overview" : "Yfirlit", "Basic settings" : "Grunnstillingar", "Sharing" : "Deiling", + "Calendar" : "Dagatal", "Personal info" : "Persónulegar upplýsingar", "Mobile & desktop" : "Farsímar og borðtölvur", "Email server" : "Póstþjónn", @@ -126,7 +129,6 @@ OC.L10N.register( "View in store" : "Skoða í hugbúnaðarsafni", "Visit website" : "Heimsækja vefsvæðið", "Report a bug" : "Tilkynna um villu", - "User documentation" : "Hjálparskjöl notenda", "Admin documentation" : "Hjálparskjöl kerfisstjóra", "Developer documentation" : "Skjölun fyrir þróunaraðila", "Supported" : "Stutt", @@ -248,10 +250,6 @@ OC.L10N.register( "No devices configured." : "Engin tæki skilgreind.", "Your browser does not support WebAuthn." : "Vafrinn þinn styður ekki WebAuthn.", "Your apps" : "Forritin þín", - "Active apps" : "Virk forrit", - "Disabled apps" : "Óvirk forrit", - "Updates" : "Uppfærslur", - "App bundles" : "Forritavöndlar", "{license}-licensed" : "{license}-notkunarleyfi", "Changelog" : "Breytingaskrá", "Add group" : "Bæta við hópi", @@ -277,13 +275,16 @@ OC.L10N.register( "Role" : "Role", "Twitter" : "Twitter", "Website" : "Vefsvæði", + "Active apps" : "Virk forrit", + "Disabled apps" : "Óvirk forrit", + "Updates" : "Uppfærslur", + "App bundles" : "Forritavöndlar", "Hide" : "Fela", "Download and enable" : "Sækja og virkja", "Enable untested app" : "Virkja óprófað forrit", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Þetta forrit er merkt sem ekki samhæft við þína útgáfu af Nextcloud. Ef þú heldur áfram er mögulegt að þú getir samt sett forritið upp. En athugaðu þá að ekki er víst að forritið virki eins og skyldi.", "Never" : "Aldrei", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Forritið hefur verið virkjað, en það þarf að uppfæra það. Þú verður áframsendur á uppfærslusíðuna eftir 5 sekúndur.", - "Administrator documentation" : "Hjálparskjöl stjórnanda", "Documentation" : "Hjálparskjöl", "Forum" : "Vefspjall", "Login" : "Innskráning", diff --git a/apps/settings/l10n/is.json b/apps/settings/l10n/is.json index 45753843cde..e9860a1dd54 100644 --- a/apps/settings/l10n/is.json +++ b/apps/settings/l10n/is.json @@ -50,6 +50,8 @@ "Wrong admin recovery password. Please check the password and try again." : "Rangt endurheimtulykilorð kerfisstjóra, athugaðu lykilorðið og reyndu aftur.", "Federated Cloud Sharing" : "Deiling með skýjasambandi", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL er að nota úrelda útgáfu af %1$s (%2$s). Uppfærðu stýrikerfið þitt, annars er hætt við að eiginleikar á borð við %3$s virki ekki sem skyldi.", + "Administrator documentation" : "Hjálparskjöl stjórnanda", + "User documentation" : "Hjálparskjöl notenda", "Invalid SMTP password." : "Ógilt SMTP-lykilorð", "Email setting test" : "Prófa tölvupóststillingar", "Well done, %s!" : "Vel gert, %s!", @@ -92,6 +94,7 @@ "Overview" : "Yfirlit", "Basic settings" : "Grunnstillingar", "Sharing" : "Deiling", + "Calendar" : "Dagatal", "Personal info" : "Persónulegar upplýsingar", "Mobile & desktop" : "Farsímar og borðtölvur", "Email server" : "Póstþjónn", @@ -124,7 +127,6 @@ "View in store" : "Skoða í hugbúnaðarsafni", "Visit website" : "Heimsækja vefsvæðið", "Report a bug" : "Tilkynna um villu", - "User documentation" : "Hjálparskjöl notenda", "Admin documentation" : "Hjálparskjöl kerfisstjóra", "Developer documentation" : "Skjölun fyrir þróunaraðila", "Supported" : "Stutt", @@ -246,10 +248,6 @@ "No devices configured." : "Engin tæki skilgreind.", "Your browser does not support WebAuthn." : "Vafrinn þinn styður ekki WebAuthn.", "Your apps" : "Forritin þín", - "Active apps" : "Virk forrit", - "Disabled apps" : "Óvirk forrit", - "Updates" : "Uppfærslur", - "App bundles" : "Forritavöndlar", "{license}-licensed" : "{license}-notkunarleyfi", "Changelog" : "Breytingaskrá", "Add group" : "Bæta við hópi", @@ -275,13 +273,16 @@ "Role" : "Role", "Twitter" : "Twitter", "Website" : "Vefsvæði", + "Active apps" : "Virk forrit", + "Disabled apps" : "Óvirk forrit", + "Updates" : "Uppfærslur", + "App bundles" : "Forritavöndlar", "Hide" : "Fela", "Download and enable" : "Sækja og virkja", "Enable untested app" : "Virkja óprófað forrit", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Þetta forrit er merkt sem ekki samhæft við þína útgáfu af Nextcloud. Ef þú heldur áfram er mögulegt að þú getir samt sett forritið upp. En athugaðu þá að ekki er víst að forritið virki eins og skyldi.", "Never" : "Aldrei", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Forritið hefur verið virkjað, en það þarf að uppfæra það. Þú verður áframsendur á uppfærslusíðuna eftir 5 sekúndur.", - "Administrator documentation" : "Hjálparskjöl stjórnanda", "Documentation" : "Hjálparskjöl", "Forum" : "Vefspjall", "Login" : "Innskráning", diff --git a/apps/settings/l10n/it.js b/apps/settings/l10n/it.js index 19f7ec9d4ba..9d09a8b4e8a 100644 --- a/apps/settings/l10n/it.js +++ b/apps/settings/l10n/it.js @@ -63,6 +63,8 @@ OC.L10N.register( "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Il modulo PHP OPcache non è caricato. Per prestazioni migliori consigliamo di caricarlo nella tua installazione di PHP.", "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache non è attivo. Per prestazioni migliori, consigliamo di applicare <code>opcache.enable=1</code> nella tua configurazione di PHP.", "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache è configurato per rimuovere i commenti di codice. Con OPcache attivato, <code>opcache.save_comments=1</code> deve essere impostato affinché Nextcloud funzioni.", + "Administrator documentation" : "Documentazione amministratore", + "User documentation" : "Documentazione utente", "Invalid SMTP password." : "Password SMTP non valida.", "Email setting test" : "Prova impostazioni email", "Well done, %s!" : "Ben fatto, %s!", @@ -112,6 +114,7 @@ OC.L10N.register( "Basic settings" : "Impostazioni di base", "Sharing" : "Condivisione", "Availability" : "Disponibilità", + "Calendar" : "Calendario", "Personal info" : "Informazioni personali", "Mobile & desktop" : "Mobile e desktop", "Email server" : "Server di posta", @@ -156,7 +159,6 @@ OC.L10N.register( "View in store" : "Visualizza nell'archivio", "Visit website" : "Visita il sito web", "Report a bug" : "Segnala un bug", - "User documentation" : "Documentazione utente", "Admin documentation" : "Documentazione di amministrazione", "Developer documentation" : "Documentazione dello sviluppatore", "This app is supported via your current Nextcloud subscription." : "Questa applicazione è supportata tramite la tua sottoscrizione attuale di Nextcloud.", @@ -338,11 +340,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "I seguenti dispositivi sono configurati per il tuo account:", "Your browser does not support WebAuthn." : "Il tuo browser non supporta WebAuthn.", "Your apps" : "Le tue applicazioni", - "Active apps" : "Applicazioni attive", - "Disabled apps" : "Applicazioni disabilitate", - "Updates" : "Aggiornamenti", - "App bundles" : "Pacchetti di applicazioni", - "Featured apps" : "Applicazioni in evidenza", "{license}-licensed" : "sotto licenza {license}", "Changelog" : "Novità", "by {author}\n{license}" : "di {author}\n{license}", @@ -375,6 +372,11 @@ OC.L10N.register( "Profile visibility" : "Visibilità del profilo", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Non disponibile poiché questa proprietà è necessaria per funzioni di base inclusi la condivisione di file e gli inviti via calendario.", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Non disponibile poiché pubblicare dati specifici dell'utente sul server di ricerca non è permesso, contatta l'amministratore di sistema se hai domande", + "Active apps" : "Applicazioni attive", + "Disabled apps" : "Applicazioni disabilitate", + "Updates" : "Aggiornamenti", + "App bundles" : "Pacchetti di applicazioni", + "Featured apps" : "Applicazioni in evidenza", "Show to everyone" : "Mostra a tutti", "Show to logged in users only" : "Mostra solo a utenti registrati", "Hide" : "Nascondi", @@ -385,7 +387,6 @@ OC.L10N.register( "Never" : "Mai", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "L'applicazione è stata abilitata, ma deve essere aggiornata. Sarai rediretto alla pagina di aggiornamento in 5 secondi.", "Error: This app cannot be enabled because it makes the server unstable" : "Errore: questa applicazione non può essere abilitata perché rende il server instabile", - "Administrator documentation" : "Documentazione amministratore", "Documentation" : "Documentazione", "Forum" : "Forum", "Login" : "Login", diff --git a/apps/settings/l10n/it.json b/apps/settings/l10n/it.json index 1f581136734..82e22575ecc 100644 --- a/apps/settings/l10n/it.json +++ b/apps/settings/l10n/it.json @@ -61,6 +61,8 @@ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Il modulo PHP OPcache non è caricato. Per prestazioni migliori consigliamo di caricarlo nella tua installazione di PHP.", "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache non è attivo. Per prestazioni migliori, consigliamo di applicare <code>opcache.enable=1</code> nella tua configurazione di PHP.", "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache è configurato per rimuovere i commenti di codice. Con OPcache attivato, <code>opcache.save_comments=1</code> deve essere impostato affinché Nextcloud funzioni.", + "Administrator documentation" : "Documentazione amministratore", + "User documentation" : "Documentazione utente", "Invalid SMTP password." : "Password SMTP non valida.", "Email setting test" : "Prova impostazioni email", "Well done, %s!" : "Ben fatto, %s!", @@ -110,6 +112,7 @@ "Basic settings" : "Impostazioni di base", "Sharing" : "Condivisione", "Availability" : "Disponibilità", + "Calendar" : "Calendario", "Personal info" : "Informazioni personali", "Mobile & desktop" : "Mobile e desktop", "Email server" : "Server di posta", @@ -154,7 +157,6 @@ "View in store" : "Visualizza nell'archivio", "Visit website" : "Visita il sito web", "Report a bug" : "Segnala un bug", - "User documentation" : "Documentazione utente", "Admin documentation" : "Documentazione di amministrazione", "Developer documentation" : "Documentazione dello sviluppatore", "This app is supported via your current Nextcloud subscription." : "Questa applicazione è supportata tramite la tua sottoscrizione attuale di Nextcloud.", @@ -336,11 +338,6 @@ "The following devices are configured for your account:" : "I seguenti dispositivi sono configurati per il tuo account:", "Your browser does not support WebAuthn." : "Il tuo browser non supporta WebAuthn.", "Your apps" : "Le tue applicazioni", - "Active apps" : "Applicazioni attive", - "Disabled apps" : "Applicazioni disabilitate", - "Updates" : "Aggiornamenti", - "App bundles" : "Pacchetti di applicazioni", - "Featured apps" : "Applicazioni in evidenza", "{license}-licensed" : "sotto licenza {license}", "Changelog" : "Novità", "by {author}\n{license}" : "di {author}\n{license}", @@ -373,6 +370,11 @@ "Profile visibility" : "Visibilità del profilo", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Non disponibile poiché questa proprietà è necessaria per funzioni di base inclusi la condivisione di file e gli inviti via calendario.", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Non disponibile poiché pubblicare dati specifici dell'utente sul server di ricerca non è permesso, contatta l'amministratore di sistema se hai domande", + "Active apps" : "Applicazioni attive", + "Disabled apps" : "Applicazioni disabilitate", + "Updates" : "Aggiornamenti", + "App bundles" : "Pacchetti di applicazioni", + "Featured apps" : "Applicazioni in evidenza", "Show to everyone" : "Mostra a tutti", "Show to logged in users only" : "Mostra solo a utenti registrati", "Hide" : "Nascondi", @@ -383,7 +385,6 @@ "Never" : "Mai", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "L'applicazione è stata abilitata, ma deve essere aggiornata. Sarai rediretto alla pagina di aggiornamento in 5 secondi.", "Error: This app cannot be enabled because it makes the server unstable" : "Errore: questa applicazione non può essere abilitata perché rende il server instabile", - "Administrator documentation" : "Documentazione amministratore", "Documentation" : "Documentazione", "Forum" : "Forum", "Login" : "Login", diff --git a/apps/settings/l10n/ja.js b/apps/settings/l10n/ja.js index 5d3fc95ecd6..4c46df0ae7a 100644 --- a/apps/settings/l10n/ja.js +++ b/apps/settings/l10n/ja.js @@ -56,6 +56,7 @@ OC.L10N.register( "Unable to change personal password" : "個人パスワードを変更できません", "Saved" : "保存しました", "No user supplied" : "ユーザーが指定されていません", + "Unable to change password. Password too long." : "パスワードを変更できません。パスワードが長すぎます。", "Authentication error" : "認証エラー", "Please provide an admin recovery password; otherwise, all user data will be lost." : "リカバリ用の管理者パスワードを入力してください。そうしないと、全ユーザーのデータが失われます。", "Wrong admin recovery password. Please check the password and try again." : "リカバリ用の管理者パスワードが間違っています。パスワードを確認して再度実行してください。", @@ -72,6 +73,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcacheキーの最大数を間もなく超過します。全てのスクリプトをキャッシュに保管できるようにするには、<code>opcache.max_accelerated_files</code>の値を<code>%s</code>より多い値でPHP設定に適用することを推奨します。", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcacheバッファーがまもなく一杯になります。全てのスクリプトをキャッシュに保管できるようにするには、<code>opcache.memory_consumption</code>の値を<code>%s</code>より多い値で、PHP設定に適用することを推奨します。", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcacheのインターン化文字列バッファーがまもなく一杯になります。全てのスクリプトをキャッシュに保管できるようにするには、<code>opcache.interned_strings_buffer</code>の値を<code>%s</code>より多い値で、PHP設定に適用することを推奨します。", + "Administrator documentation" : "管理者ドキュメント", + "User documentation" : "ユーザードキュメント", "Invalid SMTP password." : "SMTPパスワードが無効", "Email setting test" : "メール設定のテスト", "Well done, %s!" : "%sさん、成功です!", @@ -121,6 +124,7 @@ OC.L10N.register( "Basic settings" : "基本設定", "Sharing" : "共有", "Availability" : "応対可能日時", + "Calendar" : "カレンダー", "Personal info" : "個人情報", "Mobile & desktop" : "モバイル & デスクトップ", "Email server" : "メールサーバー", @@ -168,7 +172,6 @@ OC.L10N.register( "View in store" : "ストア内で表示", "Visit website" : "ウェブサイトを表示", "Report a bug" : "不具合を報告", - "User documentation" : "ユーザードキュメント", "Admin documentation" : "管理者ドキュメント", "Developer documentation" : "開発者ドキュメント", "This app is supported via your current Nextcloud subscription." : "このアプリは、現行のNextcloudサブスクリプションでサポートされています。", @@ -246,6 +249,7 @@ OC.L10N.register( "Server-side encryption" : "サーバーサイド暗号化", "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." : "サーバーサイド暗号化では、このサーバーにアップロードされるファイルを暗号化することができます。この設定を行うとパフォーマンス劣化のような制限を伴いますので、必要な場合のみ有効にしてください。", "Enable server-side encryption" : "サーバーサイド暗号化を有効にする", + "Please read carefully before activating server-side encryption:" : "サーバー側の暗号化を適用にする前に、よくお読みください:", "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." : "いったん暗号化を有効にすると、この時点からサーバーにアップロードされるすべてのファイルが暗号化されサーバー上に入ります。有効化された暗号モジュールは復号化機能をサポートしますが、すべての前提条件が満たされている(例えば、回復キーが設定されている)場合にのみ、後日暗号化を無効にできます。", "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "暗号化だけで、システムのセキュリティが保証されるわけではありません。暗号化アプリがどのように動作するかの詳細な情報や、サポートされているユースケースについては、Nextcloud のドキュメントを参照してください。", "Be aware that encryption always increases the file size." : "暗号化は、常にファイルサイズが増加することに注意してください。", @@ -253,6 +257,8 @@ OC.L10N.register( "This is the final warning: Do you really want to enable encryption?" : "これが最後の警告です:本当に暗号化を有効にしますか?", "No encryption module loaded, please enable an encryption module in the app menu." : "暗号化モジュールがロードされていません。アプリのメニューから暗号化モジュールを有効化してください。", "Select default encryption module:" : "デフォルトの暗号化モジュールを選択:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "暗号化キーを古い暗号化 (ownCloud <= 8.0) から新しい暗号化に移行する必要があります。 \"デフォルトの暗号化モジュール\" を有効にして {command} を実行してください", + "Unable to update server side encryption config" : "サーバー側暗号化の設定を更新できませんでした", "Rename group" : "グループの名称変更", "Remove group" : "グループを削除", "You are about to remove the group {group}. The users will NOT be deleted." : "{group}グループを削除しようとしています。 ユーザーは削除されません。", @@ -260,12 +266,26 @@ OC.L10N.register( "Current password" : "現在のパスワード", "New password" : "新しいパスワード", "Change password" : "パスワードを変更", + "Your profile picture" : "プロフィール画像", + "Upload profile picture" : "新しいプロフィール画像のアップロード", + "Choose profile picture from files" : "ファイルからプロフィール画像を選択", + "Remove profile picture" : "プロフィール画像を削除", "png or jpg, max. 20 MB" : "pngまたはjpg。最大20MB", "Picture provided by original account" : "オリジナルのアカウントで提供されている写真", "Cancel" : "キャンセル", + "Set as profile picture" : "プロフィール画像として設定", + "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "プロフィール写真がすべての場所で更新されるまで、最大 24 時間かかる場合があることに注意してください。", + "Choose your profile picture" : "プロフィール画像を選択", + "Please select a valid png or jpg file" : "pngもしくは、jpgファイルを選択してください", + "Error setting profile picture" : "プロフィール画像に設定できませんでした", + "Error cropping profile picture" : "プロフィール画像を切り取れませんでした", + "Error saving profile picture" : "プロフィール画像を保存できませんでした", + "Error removing profile picture" : "プロフィール画像を削除できませんでした", "Your biography" : "あなたのプロファイル", "Details" : "詳細", "You are a member of the following groups:" : "次のグループに所属:", + "You are using <strong>{usage}</strong>" : "<strong>{usage}</strong>使用中です", + "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "<strong>{totalSpace}</strong> (<strong>{usageRelative}</strong>) のうち<strong>{usage}</strong>を使用しています", "Your full name" : "フルネーム", "Email options" : "メールのオプション", "Primary email for password reset and notifications" : "パスワードのリセットや通知のための基本メールアドレス", @@ -289,6 +309,10 @@ OC.L10N.register( "Unable to update language" : "言語設定を更新できませんでした", "No language set" : "言語設定なし", "Locale" : "ロケール", + "Week starts on {firstDayOfWeek}" : "週の始まりは{firstDayOfWeek}です。", + "Unable to update locale" : "ロケールを更新できませんでした", + "No locale set" : "ロケールは未設定", + "Your location" : "位置情報", "Your organisation" : "あなたの組織", "Your phone number" : "あなたの電話番号", "Edit your Profile visibility" : "プロフィールの公開範囲を変更", @@ -300,6 +324,11 @@ OC.L10N.register( "Your role" : "あなたの役", "Your Twitter handle" : "あなたのTwitterのID", "Your website" : "あなたの個人ウェブサイト", + "No {property} set" : "{property} は未設定", + "Unable to update {property}" : "{property}を更新できませんでした", + "Change scope level of {property}, current scope is {scope}" : "{property}の公開範囲を変更、現在の公開範囲は{scope}です", + "Unable to update federation scope of the primary {property}" : "プライマリー{property}のフェデレーションスコープを更新できませんでした", + "Unable to update federation scope of additional {property}" : "追加の{property}のフェデレーションスコープを更新できませんでした", "Add additional email" : "その他メールアドレスを追加", "Add" : "追加", "You do not have permissions to see the details of this user" : "このユーザーの詳細を表示する権限がありません", @@ -353,11 +382,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "アカウントには以下のデバイスが設定されています。", "Your browser does not support WebAuthn." : "お使いのブラウザーは WebAuthn をサポートしていません。", "Your apps" : "あなたのアプリ", - "Active apps" : "アクティブなアプリ", - "Disabled apps" : "無効なアプリ", - "Updates" : "アップデート", - "App bundles" : "アプリバンドル", - "Featured apps" : "注目のアプリ", "{license}-licensed" : "{license}-に許諾されています", "Changelog" : "変更履歴", "by {author}\n{license}" : "作者 {author}\n{license}", @@ -389,7 +413,13 @@ OC.L10N.register( "Website" : "ウェブサイト", "Profile visibility" : "プロフィールの公開範囲", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "このプロパティは、ファイル共有やカレンダーへの招待などのコア機能に必要なため、使用できません", + "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "お客様のアカウントでフェデレーションが無効になっているため利用できません。不明な点がある場合は、システム管理者にお問い合わせください", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "ユーザー固有のデータをルックアップサーバーに公開することは許可されていないため、利用できません。ご不明な点がある場合は、システム管理者にお問い合わせください", + "Active apps" : "アクティブなアプリ", + "Disabled apps" : "無効なアプリ", + "Updates" : "アップデート", + "App bundles" : "アプリバンドル", + "Featured apps" : "注目のアプリ", "Show to everyone" : "全員に見せる", "Show to logged in users only" : "ログインしているユーザーだけに見せる", "Hide" : "隠す", @@ -401,7 +431,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "要求中にエラーが発生しました。 続行できません。", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "アプリは有効ですが、更新が必要です。5秒後に更新ページにリダイレクトします。", "Error: This app cannot be enabled because it makes the server unstable" : "エラー:このアプリは、サーバーを不安定にするため、有効にすることができません。", - "Administrator documentation" : "管理者ドキュメント", "Documentation" : "ドキュメント", "Forum" : "フォーラム", "Login" : "ログイン", diff --git a/apps/settings/l10n/ja.json b/apps/settings/l10n/ja.json index 36cf89266ae..8a13b40a8e4 100644 --- a/apps/settings/l10n/ja.json +++ b/apps/settings/l10n/ja.json @@ -54,6 +54,7 @@ "Unable to change personal password" : "個人パスワードを変更できません", "Saved" : "保存しました", "No user supplied" : "ユーザーが指定されていません", + "Unable to change password. Password too long." : "パスワードを変更できません。パスワードが長すぎます。", "Authentication error" : "認証エラー", "Please provide an admin recovery password; otherwise, all user data will be lost." : "リカバリ用の管理者パスワードを入力してください。そうしないと、全ユーザーのデータが失われます。", "Wrong admin recovery password. Please check the password and try again." : "リカバリ用の管理者パスワードが間違っています。パスワードを確認して再度実行してください。", @@ -70,6 +71,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcacheキーの最大数を間もなく超過します。全てのスクリプトをキャッシュに保管できるようにするには、<code>opcache.max_accelerated_files</code>の値を<code>%s</code>より多い値でPHP設定に適用することを推奨します。", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcacheバッファーがまもなく一杯になります。全てのスクリプトをキャッシュに保管できるようにするには、<code>opcache.memory_consumption</code>の値を<code>%s</code>より多い値で、PHP設定に適用することを推奨します。", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcacheのインターン化文字列バッファーがまもなく一杯になります。全てのスクリプトをキャッシュに保管できるようにするには、<code>opcache.interned_strings_buffer</code>の値を<code>%s</code>より多い値で、PHP設定に適用することを推奨します。", + "Administrator documentation" : "管理者ドキュメント", + "User documentation" : "ユーザードキュメント", "Invalid SMTP password." : "SMTPパスワードが無効", "Email setting test" : "メール設定のテスト", "Well done, %s!" : "%sさん、成功です!", @@ -119,6 +122,7 @@ "Basic settings" : "基本設定", "Sharing" : "共有", "Availability" : "応対可能日時", + "Calendar" : "カレンダー", "Personal info" : "個人情報", "Mobile & desktop" : "モバイル & デスクトップ", "Email server" : "メールサーバー", @@ -166,7 +170,6 @@ "View in store" : "ストア内で表示", "Visit website" : "ウェブサイトを表示", "Report a bug" : "不具合を報告", - "User documentation" : "ユーザードキュメント", "Admin documentation" : "管理者ドキュメント", "Developer documentation" : "開発者ドキュメント", "This app is supported via your current Nextcloud subscription." : "このアプリは、現行のNextcloudサブスクリプションでサポートされています。", @@ -244,6 +247,7 @@ "Server-side encryption" : "サーバーサイド暗号化", "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." : "サーバーサイド暗号化では、このサーバーにアップロードされるファイルを暗号化することができます。この設定を行うとパフォーマンス劣化のような制限を伴いますので、必要な場合のみ有効にしてください。", "Enable server-side encryption" : "サーバーサイド暗号化を有効にする", + "Please read carefully before activating server-side encryption:" : "サーバー側の暗号化を適用にする前に、よくお読みください:", "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." : "いったん暗号化を有効にすると、この時点からサーバーにアップロードされるすべてのファイルが暗号化されサーバー上に入ります。有効化された暗号モジュールは復号化機能をサポートしますが、すべての前提条件が満たされている(例えば、回復キーが設定されている)場合にのみ、後日暗号化を無効にできます。", "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "暗号化だけで、システムのセキュリティが保証されるわけではありません。暗号化アプリがどのように動作するかの詳細な情報や、サポートされているユースケースについては、Nextcloud のドキュメントを参照してください。", "Be aware that encryption always increases the file size." : "暗号化は、常にファイルサイズが増加することに注意してください。", @@ -251,6 +255,8 @@ "This is the final warning: Do you really want to enable encryption?" : "これが最後の警告です:本当に暗号化を有効にしますか?", "No encryption module loaded, please enable an encryption module in the app menu." : "暗号化モジュールがロードされていません。アプリのメニューから暗号化モジュールを有効化してください。", "Select default encryption module:" : "デフォルトの暗号化モジュールを選択:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "暗号化キーを古い暗号化 (ownCloud <= 8.0) から新しい暗号化に移行する必要があります。 \"デフォルトの暗号化モジュール\" を有効にして {command} を実行してください", + "Unable to update server side encryption config" : "サーバー側暗号化の設定を更新できませんでした", "Rename group" : "グループの名称変更", "Remove group" : "グループを削除", "You are about to remove the group {group}. The users will NOT be deleted." : "{group}グループを削除しようとしています。 ユーザーは削除されません。", @@ -258,12 +264,26 @@ "Current password" : "現在のパスワード", "New password" : "新しいパスワード", "Change password" : "パスワードを変更", + "Your profile picture" : "プロフィール画像", + "Upload profile picture" : "新しいプロフィール画像のアップロード", + "Choose profile picture from files" : "ファイルからプロフィール画像を選択", + "Remove profile picture" : "プロフィール画像を削除", "png or jpg, max. 20 MB" : "pngまたはjpg。最大20MB", "Picture provided by original account" : "オリジナルのアカウントで提供されている写真", "Cancel" : "キャンセル", + "Set as profile picture" : "プロフィール画像として設定", + "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "プロフィール写真がすべての場所で更新されるまで、最大 24 時間かかる場合があることに注意してください。", + "Choose your profile picture" : "プロフィール画像を選択", + "Please select a valid png or jpg file" : "pngもしくは、jpgファイルを選択してください", + "Error setting profile picture" : "プロフィール画像に設定できませんでした", + "Error cropping profile picture" : "プロフィール画像を切り取れませんでした", + "Error saving profile picture" : "プロフィール画像を保存できませんでした", + "Error removing profile picture" : "プロフィール画像を削除できませんでした", "Your biography" : "あなたのプロファイル", "Details" : "詳細", "You are a member of the following groups:" : "次のグループに所属:", + "You are using <strong>{usage}</strong>" : "<strong>{usage}</strong>使用中です", + "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "<strong>{totalSpace}</strong> (<strong>{usageRelative}</strong>) のうち<strong>{usage}</strong>を使用しています", "Your full name" : "フルネーム", "Email options" : "メールのオプション", "Primary email for password reset and notifications" : "パスワードのリセットや通知のための基本メールアドレス", @@ -287,6 +307,10 @@ "Unable to update language" : "言語設定を更新できませんでした", "No language set" : "言語設定なし", "Locale" : "ロケール", + "Week starts on {firstDayOfWeek}" : "週の始まりは{firstDayOfWeek}です。", + "Unable to update locale" : "ロケールを更新できませんでした", + "No locale set" : "ロケールは未設定", + "Your location" : "位置情報", "Your organisation" : "あなたの組織", "Your phone number" : "あなたの電話番号", "Edit your Profile visibility" : "プロフィールの公開範囲を変更", @@ -298,6 +322,11 @@ "Your role" : "あなたの役", "Your Twitter handle" : "あなたのTwitterのID", "Your website" : "あなたの個人ウェブサイト", + "No {property} set" : "{property} は未設定", + "Unable to update {property}" : "{property}を更新できませんでした", + "Change scope level of {property}, current scope is {scope}" : "{property}の公開範囲を変更、現在の公開範囲は{scope}です", + "Unable to update federation scope of the primary {property}" : "プライマリー{property}のフェデレーションスコープを更新できませんでした", + "Unable to update federation scope of additional {property}" : "追加の{property}のフェデレーションスコープを更新できませんでした", "Add additional email" : "その他メールアドレスを追加", "Add" : "追加", "You do not have permissions to see the details of this user" : "このユーザーの詳細を表示する権限がありません", @@ -351,11 +380,6 @@ "The following devices are configured for your account:" : "アカウントには以下のデバイスが設定されています。", "Your browser does not support WebAuthn." : "お使いのブラウザーは WebAuthn をサポートしていません。", "Your apps" : "あなたのアプリ", - "Active apps" : "アクティブなアプリ", - "Disabled apps" : "無効なアプリ", - "Updates" : "アップデート", - "App bundles" : "アプリバンドル", - "Featured apps" : "注目のアプリ", "{license}-licensed" : "{license}-に許諾されています", "Changelog" : "変更履歴", "by {author}\n{license}" : "作者 {author}\n{license}", @@ -387,7 +411,13 @@ "Website" : "ウェブサイト", "Profile visibility" : "プロフィールの公開範囲", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "このプロパティは、ファイル共有やカレンダーへの招待などのコア機能に必要なため、使用できません", + "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "お客様のアカウントでフェデレーションが無効になっているため利用できません。不明な点がある場合は、システム管理者にお問い合わせください", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "ユーザー固有のデータをルックアップサーバーに公開することは許可されていないため、利用できません。ご不明な点がある場合は、システム管理者にお問い合わせください", + "Active apps" : "アクティブなアプリ", + "Disabled apps" : "無効なアプリ", + "Updates" : "アップデート", + "App bundles" : "アプリバンドル", + "Featured apps" : "注目のアプリ", "Show to everyone" : "全員に見せる", "Show to logged in users only" : "ログインしているユーザーだけに見せる", "Hide" : "隠す", @@ -399,7 +429,6 @@ "An error occurred during the request. Unable to proceed." : "要求中にエラーが発生しました。 続行できません。", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "アプリは有効ですが、更新が必要です。5秒後に更新ページにリダイレクトします。", "Error: This app cannot be enabled because it makes the server unstable" : "エラー:このアプリは、サーバーを不安定にするため、有効にすることができません。", - "Administrator documentation" : "管理者ドキュメント", "Documentation" : "ドキュメント", "Forum" : "フォーラム", "Login" : "ログイン", diff --git a/apps/settings/l10n/ka_GE.js b/apps/settings/l10n/ka_GE.js index ac3e6f57900..63cb6fa9960 100644 --- a/apps/settings/l10n/ka_GE.js +++ b/apps/settings/l10n/ka_GE.js @@ -30,6 +30,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "გთხოვთ მოგვაწოდოთ ადმინისტრატორის აღდგენის პაროლი; სხვა შემთხვევაში ყველა მონაცემი დაიკარგება.", "Wrong admin recovery password. Please check the password and try again." : "ადმინისტრატორის აღდგენის არასწორი პაროლი. გთხოვთ გადაამოწმოთ პაროლი და სცადოთ ახლიდან.", "Federated Cloud Sharing" : "ფედერალური ქლაუდ გაზიარება", + "Administrator documentation" : "ადმინისტრატორის დოკუმენტაცია", + "User documentation" : "მომხმარებლის დოკუმენტაცია", "Invalid SMTP password." : "არასწორი SMTP პაროლი.", "Email setting test" : "ელ-ფოსტის დაყენების შემოწმება", "Well done, %s!" : "ყველაფერი კარგადაა, %s!", @@ -71,6 +73,7 @@ OC.L10N.register( "Overview" : "ზოგადი მიმოხილვა", "Basic settings" : "ძირითადი პარამეტრები", "Sharing" : "გაზიარება", + "Calendar" : "კალენდარი", "Personal info" : "პირადი ინფორმაცია", "Mobile & desktop" : "მობილური და დესკტოპი", "Email server" : "საფოსტო სერვერი", @@ -95,7 +98,6 @@ OC.L10N.register( "View in store" : "იხილეთ store-ში", "Visit website" : "საიტზე სტუმრობა", "Report a bug" : "განაცხადეთ შეცდომის შესახებ", - "User documentation" : "მომხმარებლის დოკუმენტაცია", "Admin documentation" : "ადმინისტრატორის დოკუმენტაცია", "Developer documentation" : "დეველოპერის დოკუმენტაცია", "Supported" : "მხარდაჭერილია", @@ -165,9 +167,6 @@ OC.L10N.register( "Default quota" : "საწყისი კვოტა", "Unnamed device" : "უსახელო მოწყობილობა", "Your apps" : "თქვენი აპლიკაციები", - "Disabled apps" : "არამოქმედი აპლიკაციები", - "Updates" : "განახლებები", - "App bundles" : "აპლიკაციის შეკვრები", "Changelog" : "ცვლილებების ლოგი", "Add group" : "ჯგუფის დამატება", "Active users" : "აქტიური მომხმარებლები", @@ -185,10 +184,12 @@ OC.L10N.register( "Phone number" : "ტელეფონის ნომერი", "Twitter" : "Twitter-ი", "Website" : "ვებ-საიტი", + "Disabled apps" : "არამოქმედი აპლიკაციები", + "Updates" : "განახლებები", + "App bundles" : "აპლიკაციის შეკვრები", "Hide" : "დამალვა", "Never" : "არასდროს", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "აპლიკაცია ამოქმედდა, თუმცა საჭიროებს განახლებას. 5 წამში გადამისამართდებით განახლების გვერდზე.", - "Administrator documentation" : "ადმინისტრატორის დოკუმენტაცია", "Documentation" : "დოკუმენტაცია", "Forum" : "ფორუმი", "Login" : "ლოგინი", diff --git a/apps/settings/l10n/ka_GE.json b/apps/settings/l10n/ka_GE.json index 4644cbeda9c..1d40c3d7199 100644 --- a/apps/settings/l10n/ka_GE.json +++ b/apps/settings/l10n/ka_GE.json @@ -28,6 +28,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "გთხოვთ მოგვაწოდოთ ადმინისტრატორის აღდგენის პაროლი; სხვა შემთხვევაში ყველა მონაცემი დაიკარგება.", "Wrong admin recovery password. Please check the password and try again." : "ადმინისტრატორის აღდგენის არასწორი პაროლი. გთხოვთ გადაამოწმოთ პაროლი და სცადოთ ახლიდან.", "Federated Cloud Sharing" : "ფედერალური ქლაუდ გაზიარება", + "Administrator documentation" : "ადმინისტრატორის დოკუმენტაცია", + "User documentation" : "მომხმარებლის დოკუმენტაცია", "Invalid SMTP password." : "არასწორი SMTP პაროლი.", "Email setting test" : "ელ-ფოსტის დაყენების შემოწმება", "Well done, %s!" : "ყველაფერი კარგადაა, %s!", @@ -69,6 +71,7 @@ "Overview" : "ზოგადი მიმოხილვა", "Basic settings" : "ძირითადი პარამეტრები", "Sharing" : "გაზიარება", + "Calendar" : "კალენდარი", "Personal info" : "პირადი ინფორმაცია", "Mobile & desktop" : "მობილური და დესკტოპი", "Email server" : "საფოსტო სერვერი", @@ -93,7 +96,6 @@ "View in store" : "იხილეთ store-ში", "Visit website" : "საიტზე სტუმრობა", "Report a bug" : "განაცხადეთ შეცდომის შესახებ", - "User documentation" : "მომხმარებლის დოკუმენტაცია", "Admin documentation" : "ადმინისტრატორის დოკუმენტაცია", "Developer documentation" : "დეველოპერის დოკუმენტაცია", "Supported" : "მხარდაჭერილია", @@ -163,9 +165,6 @@ "Default quota" : "საწყისი კვოტა", "Unnamed device" : "უსახელო მოწყობილობა", "Your apps" : "თქვენი აპლიკაციები", - "Disabled apps" : "არამოქმედი აპლიკაციები", - "Updates" : "განახლებები", - "App bundles" : "აპლიკაციის შეკვრები", "Changelog" : "ცვლილებების ლოგი", "Add group" : "ჯგუფის დამატება", "Active users" : "აქტიური მომხმარებლები", @@ -183,10 +182,12 @@ "Phone number" : "ტელეფონის ნომერი", "Twitter" : "Twitter-ი", "Website" : "ვებ-საიტი", + "Disabled apps" : "არამოქმედი აპლიკაციები", + "Updates" : "განახლებები", + "App bundles" : "აპლიკაციის შეკვრები", "Hide" : "დამალვა", "Never" : "არასდროს", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "აპლიკაცია ამოქმედდა, თუმცა საჭიროებს განახლებას. 5 წამში გადამისამართდებით განახლების გვერდზე.", - "Administrator documentation" : "ადმინისტრატორის დოკუმენტაცია", "Documentation" : "დოკუმენტაცია", "Forum" : "ფორუმი", "Login" : "ლოგინი", diff --git a/apps/settings/l10n/ko.js b/apps/settings/l10n/ko.js index 96dfdc67bbf..f74bc027d29 100644 --- a/apps/settings/l10n/ko.js +++ b/apps/settings/l10n/ko.js @@ -72,6 +72,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "곧 OPcache key가 최대치를 초과할 것으로 보입니다. 모든 스크립트가 캐시에 유지될 수 있도록, PHP 설정에서 <code>opcache.max_accelerated_files</code> 값을 <code>%s</code> 보다 크게 적용하시길 권장합니다. ", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "곧 OPcache 버퍼가 가득 찰 것으로 보입니다. 모든 스크립트가 캐시에 보관될 수 있도록, PHP 설정에서 <code>opcache.memory_consumption</code> 값을 <code>%s</code> 보다 크게 적용하시길 권장합니다. ", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "곧 OPcache interned buffer가 가득 찰 것으로 보입니다. 반복 문자열이 효율적으로 캐싱될 수 있도록, PHP 설정에서 <code>opcache.interned_strings_buffer</code> 값을 <code>%s</code> 보다 크게 적용하시길 권장합니다. ", + "Administrator documentation" : "관리자 문서", + "User documentation" : "사용자 문서", "Invalid SMTP password." : "SMTP 암호가 잘못되었습니다.", "Email setting test" : "이메일 설정 시험", "Well done, %s!" : "%s 님, 잘 하셨습니다!", @@ -121,6 +123,7 @@ OC.L10N.register( "Basic settings" : "기본 설정", "Sharing" : "공유", "Availability" : "가능한 시간대", + "Calendar" : "달력", "Personal info" : "개인 정보", "Mobile & desktop" : "모바일 & 데스크톱", "Email server" : "이메일 서버", @@ -168,7 +171,6 @@ OC.L10N.register( "View in store" : "스토어에서 보기", "Visit website" : "웹 사이트 방문", "Report a bug" : "버그 신고", - "User documentation" : "사용자 문서", "Admin documentation" : "관리 문서", "Developer documentation" : "개발자 문서", "This app is supported via your current Nextcloud subscription." : "이 앱은 당신의 현재 Nextcloud 구독을 통해 지원됩니다.", @@ -343,11 +345,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "다음의 기기가 계정에 설정되었습니다:", "Your browser does not support WebAuthn." : "WebAuthn이 현재 브라우저를 지원하지 않습니다.", "Your apps" : "내 앱", - "Active apps" : "활성화된 앱", - "Disabled apps" : "비활성화된 앱", - "Updates" : "업데이트", - "App bundles" : "앱 번들", - "Featured apps" : "추천 앱 - ", "{license}-licensed" : "{license} 라이선스", "Changelog" : "변경 기록", "Enter group name" : "그룹 이름 입력", @@ -377,6 +374,11 @@ OC.L10N.register( "Twitter" : "트위터", "Website" : "웹사이트", "Profile visibility" : "프로필 표시 여부", + "Active apps" : "활성화된 앱", + "Disabled apps" : "비활성화된 앱", + "Updates" : "업데이트", + "App bundles" : "앱 번들", + "Featured apps" : "추천 앱 - ", "Show to everyone" : "전체 공개", "Show to logged in users only" : "로그인된 사용자에게 공개", "Hide" : "비공개", @@ -388,7 +390,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "요청을 보내는 도중 에러가 발생하였습니다. 더 이상 진행할 수 없습니다.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "앱이 활성화되었지만, 앱을 업데이트해야 합니다. 5초 후 앱 업데이트 페이지로 넘어갑니다.", "Error: This app cannot be enabled because it makes the server unstable" : "오류: 이 앱은 서버를 불안정하게 만들 수 있어서 활성화할 수 없습니다", - "Administrator documentation" : "관리자 문서", "Documentation" : "문서", "Forum" : "포럼", "Login" : "로그인", diff --git a/apps/settings/l10n/ko.json b/apps/settings/l10n/ko.json index e0352152ed4..8d74b2f0170 100644 --- a/apps/settings/l10n/ko.json +++ b/apps/settings/l10n/ko.json @@ -70,6 +70,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "곧 OPcache key가 최대치를 초과할 것으로 보입니다. 모든 스크립트가 캐시에 유지될 수 있도록, PHP 설정에서 <code>opcache.max_accelerated_files</code> 값을 <code>%s</code> 보다 크게 적용하시길 권장합니다. ", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "곧 OPcache 버퍼가 가득 찰 것으로 보입니다. 모든 스크립트가 캐시에 보관될 수 있도록, PHP 설정에서 <code>opcache.memory_consumption</code> 값을 <code>%s</code> 보다 크게 적용하시길 권장합니다. ", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "곧 OPcache interned buffer가 가득 찰 것으로 보입니다. 반복 문자열이 효율적으로 캐싱될 수 있도록, PHP 설정에서 <code>opcache.interned_strings_buffer</code> 값을 <code>%s</code> 보다 크게 적용하시길 권장합니다. ", + "Administrator documentation" : "관리자 문서", + "User documentation" : "사용자 문서", "Invalid SMTP password." : "SMTP 암호가 잘못되었습니다.", "Email setting test" : "이메일 설정 시험", "Well done, %s!" : "%s 님, 잘 하셨습니다!", @@ -119,6 +121,7 @@ "Basic settings" : "기본 설정", "Sharing" : "공유", "Availability" : "가능한 시간대", + "Calendar" : "달력", "Personal info" : "개인 정보", "Mobile & desktop" : "모바일 & 데스크톱", "Email server" : "이메일 서버", @@ -166,7 +169,6 @@ "View in store" : "스토어에서 보기", "Visit website" : "웹 사이트 방문", "Report a bug" : "버그 신고", - "User documentation" : "사용자 문서", "Admin documentation" : "관리 문서", "Developer documentation" : "개발자 문서", "This app is supported via your current Nextcloud subscription." : "이 앱은 당신의 현재 Nextcloud 구독을 통해 지원됩니다.", @@ -341,11 +343,6 @@ "The following devices are configured for your account:" : "다음의 기기가 계정에 설정되었습니다:", "Your browser does not support WebAuthn." : "WebAuthn이 현재 브라우저를 지원하지 않습니다.", "Your apps" : "내 앱", - "Active apps" : "활성화된 앱", - "Disabled apps" : "비활성화된 앱", - "Updates" : "업데이트", - "App bundles" : "앱 번들", - "Featured apps" : "추천 앱 - ", "{license}-licensed" : "{license} 라이선스", "Changelog" : "변경 기록", "Enter group name" : "그룹 이름 입력", @@ -375,6 +372,11 @@ "Twitter" : "트위터", "Website" : "웹사이트", "Profile visibility" : "프로필 표시 여부", + "Active apps" : "활성화된 앱", + "Disabled apps" : "비활성화된 앱", + "Updates" : "업데이트", + "App bundles" : "앱 번들", + "Featured apps" : "추천 앱 - ", "Show to everyone" : "전체 공개", "Show to logged in users only" : "로그인된 사용자에게 공개", "Hide" : "비공개", @@ -386,7 +388,6 @@ "An error occurred during the request. Unable to proceed." : "요청을 보내는 도중 에러가 발생하였습니다. 더 이상 진행할 수 없습니다.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "앱이 활성화되었지만, 앱을 업데이트해야 합니다. 5초 후 앱 업데이트 페이지로 넘어갑니다.", "Error: This app cannot be enabled because it makes the server unstable" : "오류: 이 앱은 서버를 불안정하게 만들 수 있어서 활성화할 수 없습니다", - "Administrator documentation" : "관리자 문서", "Documentation" : "문서", "Forum" : "포럼", "Login" : "로그인", diff --git a/apps/settings/l10n/lt_LT.js b/apps/settings/l10n/lt_LT.js index 73cd2dfed58..a7467a767a4 100644 --- a/apps/settings/l10n/lt_LT.js +++ b/apps/settings/l10n/lt_LT.js @@ -66,6 +66,8 @@ OC.L10N.register( "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "PHP OPcache modulis nėra įkeltas. Geresniam našumui rekomenduojame įkelti šį modulį į savo PHP diegimą.", "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache yra išjungtas. Geresniam našumui rekomenduojame taikyti savo PHP konfigūracijoje <code>opcache.enable=1</code>.", "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache yra sukonfigūruotas taip, kad šalintų kodo komentarus. Turint įjungtą OPcache, privalo būti nustatyta <code>opcache.save_comments=1</code>, kad Nextcloud galėtų funkcionuoti.", + "Administrator documentation" : "Administratoriaus dokumentacija", + "User documentation" : "Naudotojo dokumentacija", "Invalid SMTP password." : "Neteisingas SMTP slaptažodis.", "Email setting test" : "El. pašto nustatymo testas", "Well done, %s!" : "Gerai padirbėjote, %s!", @@ -113,6 +115,7 @@ OC.L10N.register( "Basic settings" : "Pagrindiniai nustatymai", "Sharing" : "Bendrinimas", "Availability" : "Pasiekiamumas", + "Calendar" : "Kalendorius", "Personal info" : "Asmeninė informacija", "Mobile & desktop" : "Mobilieji ir darbalaukiai", "Email server" : "El. pašto serveris", @@ -154,7 +157,6 @@ OC.L10N.register( "View in store" : "Rodyti parduotuvėje", "Visit website" : "Aplankyti svetainę", "Report a bug" : "Pranešti apie klaidą", - "User documentation" : "Naudotojo dokumentacija", "Admin documentation" : "Administratoriaus dokumentacija", "Developer documentation" : "Plėtotojo dokumentacija", "This app is supported via your current Nextcloud subscription." : "Ši programėlė yra palaikoma per jūsų esamą Nextcloud prenumeratą.", @@ -343,11 +345,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Jūsų paskyrai sukonfiguruoti šie įrenginiai:", "Your browser does not support WebAuthn." : "Jūsų naršyklė nepalaiko WebAuthn.", "Your apps" : "Jūsų programėlės", - "Active apps" : "Aktyvios programėlės", - "Disabled apps" : "Išjungtos programėlės", - "Updates" : "Atnaujinimai", - "App bundles" : "Programėlių rinkiniai", - "Featured apps" : "Siūlomos programėlės", "{license}-licensed" : "Licencijuota pagal {license}", "Changelog" : "Keitinių žurnalas", "by {author}\n{license}" : "pagal {author}\n{license}", @@ -379,6 +376,11 @@ OC.L10N.register( "Website" : "Svetainė", "Profile visibility" : "Profilio matomumas", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Neprieinama, nes su naudotoju susijusios informacijos paskelbimas į paieškos serverį yra neleidžiamas. Jei turite klausimų, susisiekite su savo sistemos administratoriumi", + "Active apps" : "Aktyvios programėlės", + "Disabled apps" : "Išjungtos programėlės", + "Updates" : "Atnaujinimai", + "App bundles" : "Programėlių rinkiniai", + "Featured apps" : "Siūlomos programėlės", "Show to everyone" : "Rodyti visiems", "Show to logged in users only" : "Rodyti tik prisijungusiems naudotojams", "Hide" : "Slėpti", @@ -390,7 +392,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "Užklausos metu įvyko klaida. Nepavyksta tęsti.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Programėlė įjungta, tačiau turi būti atnaujinta. Po 5 sekundžių būsite peradresuoti į atnaujinimo puslapį.", "Error: This app cannot be enabled because it makes the server unstable" : "Klaida: Ši programėlė negali būti įjungta, nes ji neigiamai veikia serverio stabilumą", - "Administrator documentation" : "Administratoriaus dokumentacija", "Documentation" : "Dokumentacija", "Forum" : "Forumas", "Login" : "Prisijungti", diff --git a/apps/settings/l10n/lt_LT.json b/apps/settings/l10n/lt_LT.json index 2aa23344d15..5b8da4eaf84 100644 --- a/apps/settings/l10n/lt_LT.json +++ b/apps/settings/l10n/lt_LT.json @@ -64,6 +64,8 @@ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "PHP OPcache modulis nėra įkeltas. Geresniam našumui rekomenduojame įkelti šį modulį į savo PHP diegimą.", "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache yra išjungtas. Geresniam našumui rekomenduojame taikyti savo PHP konfigūracijoje <code>opcache.enable=1</code>.", "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache yra sukonfigūruotas taip, kad šalintų kodo komentarus. Turint įjungtą OPcache, privalo būti nustatyta <code>opcache.save_comments=1</code>, kad Nextcloud galėtų funkcionuoti.", + "Administrator documentation" : "Administratoriaus dokumentacija", + "User documentation" : "Naudotojo dokumentacija", "Invalid SMTP password." : "Neteisingas SMTP slaptažodis.", "Email setting test" : "El. pašto nustatymo testas", "Well done, %s!" : "Gerai padirbėjote, %s!", @@ -111,6 +113,7 @@ "Basic settings" : "Pagrindiniai nustatymai", "Sharing" : "Bendrinimas", "Availability" : "Pasiekiamumas", + "Calendar" : "Kalendorius", "Personal info" : "Asmeninė informacija", "Mobile & desktop" : "Mobilieji ir darbalaukiai", "Email server" : "El. pašto serveris", @@ -152,7 +155,6 @@ "View in store" : "Rodyti parduotuvėje", "Visit website" : "Aplankyti svetainę", "Report a bug" : "Pranešti apie klaidą", - "User documentation" : "Naudotojo dokumentacija", "Admin documentation" : "Administratoriaus dokumentacija", "Developer documentation" : "Plėtotojo dokumentacija", "This app is supported via your current Nextcloud subscription." : "Ši programėlė yra palaikoma per jūsų esamą Nextcloud prenumeratą.", @@ -341,11 +343,6 @@ "The following devices are configured for your account:" : "Jūsų paskyrai sukonfiguruoti šie įrenginiai:", "Your browser does not support WebAuthn." : "Jūsų naršyklė nepalaiko WebAuthn.", "Your apps" : "Jūsų programėlės", - "Active apps" : "Aktyvios programėlės", - "Disabled apps" : "Išjungtos programėlės", - "Updates" : "Atnaujinimai", - "App bundles" : "Programėlių rinkiniai", - "Featured apps" : "Siūlomos programėlės", "{license}-licensed" : "Licencijuota pagal {license}", "Changelog" : "Keitinių žurnalas", "by {author}\n{license}" : "pagal {author}\n{license}", @@ -377,6 +374,11 @@ "Website" : "Svetainė", "Profile visibility" : "Profilio matomumas", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Neprieinama, nes su naudotoju susijusios informacijos paskelbimas į paieškos serverį yra neleidžiamas. Jei turite klausimų, susisiekite su savo sistemos administratoriumi", + "Active apps" : "Aktyvios programėlės", + "Disabled apps" : "Išjungtos programėlės", + "Updates" : "Atnaujinimai", + "App bundles" : "Programėlių rinkiniai", + "Featured apps" : "Siūlomos programėlės", "Show to everyone" : "Rodyti visiems", "Show to logged in users only" : "Rodyti tik prisijungusiems naudotojams", "Hide" : "Slėpti", @@ -388,7 +390,6 @@ "An error occurred during the request. Unable to proceed." : "Užklausos metu įvyko klaida. Nepavyksta tęsti.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Programėlė įjungta, tačiau turi būti atnaujinta. Po 5 sekundžių būsite peradresuoti į atnaujinimo puslapį.", "Error: This app cannot be enabled because it makes the server unstable" : "Klaida: Ši programėlė negali būti įjungta, nes ji neigiamai veikia serverio stabilumą", - "Administrator documentation" : "Administratoriaus dokumentacija", "Documentation" : "Dokumentacija", "Forum" : "Forumas", "Login" : "Prisijungti", diff --git a/apps/settings/l10n/lv.js b/apps/settings/l10n/lv.js index 7d77aac2d69..3713cef8c0e 100644 --- a/apps/settings/l10n/lv.js +++ b/apps/settings/l10n/lv.js @@ -22,6 +22,8 @@ OC.L10N.register( "Authentication error" : "Autentifikācijas kļūda", "Wrong admin recovery password. Please check the password and try again." : "Nepareiza administratora atjaunošanas parole. Lūdzu pārbaudiet paroli un mēģiniet vēlreiz.", "Federated Cloud Sharing" : "Federatīva mākoņkoplietošana", + "Administrator documentation" : "Administratora dokumentācija", + "User documentation" : "Lietotāja dokumentācija", "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Radās kļūda, nosūtot e-pastu. Lūdzu, pārskatiet savus iestatījumus. (Kļūda: %s)", "Invalid user" : "Nepareizs lietotājs", "Invalid mail address" : "Nepareiza e-pasta adrese", @@ -32,8 +34,12 @@ OC.L10N.register( "Apps" : "Lietotnes", "Settings" : "Iestatījumi", "Personal" : "Personīgs", + "Administration" : "Administrēšana", "Additional settings" : "Papildu iestatījumi", + "Administration privileges" : "Administrēšanas privilēģijas", "Sharing" : "Koplietošana", + "Availability" : "Pieejamība", + "Calendar" : "Kalendārs", "Personal info" : "Personiskā informācija", "Email server" : "E-pasta serveris", "Security & setup warnings" : "Drošības un iestatījumu brīdinājumi", @@ -41,6 +47,7 @@ OC.L10N.register( "Change" : "Mainīt", "Delete" : "Dzēst", "Unlimited" : "Neierobežota", + "Nextcloud settings" : "Nextcloud iestatījumi", "None" : "Nav", "Limit to groups" : "Grupu ierobežojums", "Save changes" : "Saglabāt izmaiņas", @@ -51,10 +58,10 @@ OC.L10N.register( "Disable" : "Deaktivēt", "Visit website" : "Apmeklējiet vietni", "Report a bug" : "Ziņot par kļūdu", - "User documentation" : "Lietotāja dokumentācija", "Admin documentation" : "Administratora dokumentācija", "Developer documentation" : "Izstrādātāja dokumentācija", "No apps found for your version" : "Neatrada lietotnes jūsu versijai", + "Device settings" : "Ierīces iestatījumi", "Rename" : "Pārsaukt", "Revoke" : "Atsaukt", "Internet Explorer" : "Internet Explorer", @@ -107,7 +114,7 @@ OC.L10N.register( "Storage location" : "Krātuves atrašanās vieta", "Last login" : "Pēdējā pieteikšanās", "Default quota" : "Apjoms pēc noklusējuma", - "Updates" : "Atjauninājumi", + "Changelog" : "Izmaiņu žurnāls", "Add group" : "Pievienot grupu", "Active users" : "Aktīvie lietotāji", "Admins" : "Admins", @@ -123,9 +130,9 @@ OC.L10N.register( "Phone number" : "Tālruņa numurs", "Twitter" : "Twitter", "Website" : "Mājaslapa", + "Updates" : "Atjauninājumi", "Hide" : "Slēpt", "Never" : "Nekad", - "Administrator documentation" : "Administratora dokumentācija", "Documentation" : "Dokumentācija", "Forum" : "Forums", "Login" : "Autorizēties", diff --git a/apps/settings/l10n/lv.json b/apps/settings/l10n/lv.json index 708aa026980..044f67f6a93 100644 --- a/apps/settings/l10n/lv.json +++ b/apps/settings/l10n/lv.json @@ -20,6 +20,8 @@ "Authentication error" : "Autentifikācijas kļūda", "Wrong admin recovery password. Please check the password and try again." : "Nepareiza administratora atjaunošanas parole. Lūdzu pārbaudiet paroli un mēģiniet vēlreiz.", "Federated Cloud Sharing" : "Federatīva mākoņkoplietošana", + "Administrator documentation" : "Administratora dokumentācija", + "User documentation" : "Lietotāja dokumentācija", "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Radās kļūda, nosūtot e-pastu. Lūdzu, pārskatiet savus iestatījumus. (Kļūda: %s)", "Invalid user" : "Nepareizs lietotājs", "Invalid mail address" : "Nepareiza e-pasta adrese", @@ -30,8 +32,12 @@ "Apps" : "Lietotnes", "Settings" : "Iestatījumi", "Personal" : "Personīgs", + "Administration" : "Administrēšana", "Additional settings" : "Papildu iestatījumi", + "Administration privileges" : "Administrēšanas privilēģijas", "Sharing" : "Koplietošana", + "Availability" : "Pieejamība", + "Calendar" : "Kalendārs", "Personal info" : "Personiskā informācija", "Email server" : "E-pasta serveris", "Security & setup warnings" : "Drošības un iestatījumu brīdinājumi", @@ -39,6 +45,7 @@ "Change" : "Mainīt", "Delete" : "Dzēst", "Unlimited" : "Neierobežota", + "Nextcloud settings" : "Nextcloud iestatījumi", "None" : "Nav", "Limit to groups" : "Grupu ierobežojums", "Save changes" : "Saglabāt izmaiņas", @@ -49,10 +56,10 @@ "Disable" : "Deaktivēt", "Visit website" : "Apmeklējiet vietni", "Report a bug" : "Ziņot par kļūdu", - "User documentation" : "Lietotāja dokumentācija", "Admin documentation" : "Administratora dokumentācija", "Developer documentation" : "Izstrādātāja dokumentācija", "No apps found for your version" : "Neatrada lietotnes jūsu versijai", + "Device settings" : "Ierīces iestatījumi", "Rename" : "Pārsaukt", "Revoke" : "Atsaukt", "Internet Explorer" : "Internet Explorer", @@ -105,7 +112,7 @@ "Storage location" : "Krātuves atrašanās vieta", "Last login" : "Pēdējā pieteikšanās", "Default quota" : "Apjoms pēc noklusējuma", - "Updates" : "Atjauninājumi", + "Changelog" : "Izmaiņu žurnāls", "Add group" : "Pievienot grupu", "Active users" : "Aktīvie lietotāji", "Admins" : "Admins", @@ -121,9 +128,9 @@ "Phone number" : "Tālruņa numurs", "Twitter" : "Twitter", "Website" : "Mājaslapa", + "Updates" : "Atjauninājumi", "Hide" : "Slēpt", "Never" : "Nekad", - "Administrator documentation" : "Administratora dokumentācija", "Documentation" : "Dokumentācija", "Forum" : "Forums", "Login" : "Autorizēties", diff --git a/apps/settings/l10n/mk.js b/apps/settings/l10n/mk.js index dd2e978d9ee..96f3228ea13 100644 --- a/apps/settings/l10n/mk.js +++ b/apps/settings/l10n/mk.js @@ -68,6 +68,8 @@ OC.L10N.register( "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "PHP модулот OPcache не е вчитан. За да имате подобри перформанси е препорачливо да го вчитате во вашата PHP инсталација.", "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache модулот е оневозможен. За подобри перформанси препорачливо е да го овозможите <code>opcache.enable=1</code> во вашата PHP конфигурација.", "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache е конфигуриран за да ги брише коментарите во кодовите. Со овозможен OPcache, <code>opcache.save_comments=1</code> мора да се постави за да функционира Nextcloud.", + "Administrator documentation" : "Документација за администратор", + "User documentation" : "Документација за корисник", "Invalid SMTP password." : "Грешна SMTP лозинка.", "Email setting test" : "Тест за параметри на е-пошта", "Well done, %s!" : "Добро сторено, %s!", @@ -117,6 +119,7 @@ OC.L10N.register( "Basic settings" : "Основни параметри", "Sharing" : "Споделување", "Availability" : "Достапност", + "Calendar" : "Календар", "Personal info" : "Лични податоци", "Mobile & desktop" : "Мобилен & компјутер", "Email server" : "Сервер за е-пошта", @@ -163,7 +166,6 @@ OC.L10N.register( "View in store" : "Преглед во продавницата за апликации", "Visit website" : "Посети ја веб страната", "Report a bug" : "Пријави грешка", - "User documentation" : "Документација за корисник", "Admin documentation" : "Документација за администратор", "Developer documentation" : "Документација за програмери", "This app is supported via your current Nextcloud subscription." : "Оваа апликација е е дозволена за вашиот налог.", @@ -368,11 +370,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Следниве уреди се конфигурирани за вашата сметка:", "Your browser does not support WebAuthn." : "Вашиот прелистувач не поддржува WebAuthn.", "Your apps" : "Ваши апликации", - "Active apps" : "Активни апликации", - "Disabled apps" : "Оневозможени апликации", - "Updates" : "Ажурирања", - "App bundles" : "Пакети со апликации", - "Featured apps" : "Истакнати апликации", "{license}-licensed" : "{license}-лиценца", "Changelog" : "Листа на промени", "by {author}\n{license}" : "од {author}\n{license}", @@ -405,6 +402,11 @@ OC.L10N.register( "Profile visibility" : "Видливост на профилот", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Не е достапно бидејќи ова својство е потребно за основна функционалност, вклучувајќи споделување датотеки и покани од календар", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Не е достапно бидејќи не е дозволено објавување специфични податоци за корисникот на серверот за пребарување, контактирајте со вашиот системски администратор ако имате какви било прашања", + "Active apps" : "Активни апликации", + "Disabled apps" : "Оневозможени апликации", + "Updates" : "Ажурирања", + "App bundles" : "Пакети со апликации", + "Featured apps" : "Истакнати апликации", "Show to everyone" : "Прикажи на сите", "Show to logged in users only" : "Прикажи само на најавени корисници", "Hide" : "Сокриј", @@ -416,7 +418,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "Настана грешка во процесот. Не може да продолжи.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Оваа апликација е овозможена но треба да биде надоградена. Ќе бидете пренасочени кон страната за надоградување за 5 секунди.", "Error: This app cannot be enabled because it makes the server unstable" : "Грешка: Оваа апликација неможе да се овозможи бидејќи ќе го направи серверот нестабилен", - "Administrator documentation" : "Документација за администратор", "Documentation" : "Документација", "Forum" : "Форум", "Login" : "Најава", @@ -520,6 +521,7 @@ OC.L10N.register( "Pick background job setting" : "Избери го начинот на извршување на задачите во позадина", "Recommended" : "Препорачано", "The cron.php needs to be executed by the system user \"%s\"." : "cron.php е потребно да биде извршен од системски корисник\" %s\".", + "Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Дозволете автоматско пополнување кога го внесувате целосното име или адресата на е-пошта (игнорирање што недостасува совпаѓање со именикот и сте во иста група)", "Change privacy level of profile picture" : "Променете го нивото на приватност за сликата на профилот", "Upload new" : "Прикачи нова", "Select from Files" : "Избри од датотеките", diff --git a/apps/settings/l10n/mk.json b/apps/settings/l10n/mk.json index fedc9d26fea..b2baf0d9e62 100644 --- a/apps/settings/l10n/mk.json +++ b/apps/settings/l10n/mk.json @@ -66,6 +66,8 @@ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "PHP модулот OPcache не е вчитан. За да имате подобри перформанси е препорачливо да го вчитате во вашата PHP инсталација.", "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache модулот е оневозможен. За подобри перформанси препорачливо е да го овозможите <code>opcache.enable=1</code> во вашата PHP конфигурација.", "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache е конфигуриран за да ги брише коментарите во кодовите. Со овозможен OPcache, <code>opcache.save_comments=1</code> мора да се постави за да функционира Nextcloud.", + "Administrator documentation" : "Документација за администратор", + "User documentation" : "Документација за корисник", "Invalid SMTP password." : "Грешна SMTP лозинка.", "Email setting test" : "Тест за параметри на е-пошта", "Well done, %s!" : "Добро сторено, %s!", @@ -115,6 +117,7 @@ "Basic settings" : "Основни параметри", "Sharing" : "Споделување", "Availability" : "Достапност", + "Calendar" : "Календар", "Personal info" : "Лични податоци", "Mobile & desktop" : "Мобилен & компјутер", "Email server" : "Сервер за е-пошта", @@ -161,7 +164,6 @@ "View in store" : "Преглед во продавницата за апликации", "Visit website" : "Посети ја веб страната", "Report a bug" : "Пријави грешка", - "User documentation" : "Документација за корисник", "Admin documentation" : "Документација за администратор", "Developer documentation" : "Документација за програмери", "This app is supported via your current Nextcloud subscription." : "Оваа апликација е е дозволена за вашиот налог.", @@ -366,11 +368,6 @@ "The following devices are configured for your account:" : "Следниве уреди се конфигурирани за вашата сметка:", "Your browser does not support WebAuthn." : "Вашиот прелистувач не поддржува WebAuthn.", "Your apps" : "Ваши апликации", - "Active apps" : "Активни апликации", - "Disabled apps" : "Оневозможени апликации", - "Updates" : "Ажурирања", - "App bundles" : "Пакети со апликации", - "Featured apps" : "Истакнати апликации", "{license}-licensed" : "{license}-лиценца", "Changelog" : "Листа на промени", "by {author}\n{license}" : "од {author}\n{license}", @@ -403,6 +400,11 @@ "Profile visibility" : "Видливост на профилот", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Не е достапно бидејќи ова својство е потребно за основна функционалност, вклучувајќи споделување датотеки и покани од календар", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Не е достапно бидејќи не е дозволено објавување специфични податоци за корисникот на серверот за пребарување, контактирајте со вашиот системски администратор ако имате какви било прашања", + "Active apps" : "Активни апликации", + "Disabled apps" : "Оневозможени апликации", + "Updates" : "Ажурирања", + "App bundles" : "Пакети со апликации", + "Featured apps" : "Истакнати апликации", "Show to everyone" : "Прикажи на сите", "Show to logged in users only" : "Прикажи само на најавени корисници", "Hide" : "Сокриј", @@ -414,7 +416,6 @@ "An error occurred during the request. Unable to proceed." : "Настана грешка во процесот. Не може да продолжи.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Оваа апликација е овозможена но треба да биде надоградена. Ќе бидете пренасочени кон страната за надоградување за 5 секунди.", "Error: This app cannot be enabled because it makes the server unstable" : "Грешка: Оваа апликација неможе да се овозможи бидејќи ќе го направи серверот нестабилен", - "Administrator documentation" : "Документација за администратор", "Documentation" : "Документација", "Forum" : "Форум", "Login" : "Најава", @@ -518,6 +519,7 @@ "Pick background job setting" : "Избери го начинот на извршување на задачите во позадина", "Recommended" : "Препорачано", "The cron.php needs to be executed by the system user \"%s\"." : "cron.php е потребно да биде извршен од системски корисник\" %s\".", + "Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Дозволете автоматско пополнување кога го внесувате целосното име или адресата на е-пошта (игнорирање што недостасува совпаѓање со именикот и сте во иста група)", "Change privacy level of profile picture" : "Променете го нивото на приватност за сликата на профилот", "Upload new" : "Прикачи нова", "Select from Files" : "Избри од датотеките", diff --git a/apps/settings/l10n/nb.js b/apps/settings/l10n/nb.js index d23963ba7ef..dd403649d00 100644 --- a/apps/settings/l10n/nb.js +++ b/apps/settings/l10n/nb.js @@ -56,6 +56,8 @@ OC.L10N.register( "Wrong admin recovery password. Please check the password and try again." : "Feil administrativt gjenopprettingspassord. Sjekk passordet og prøv igjen.", "Federated Cloud Sharing" : "Sammenknyttet sky-deling", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL bruker en utdatert %1$s-versjon (%2$s). Oppdater operativsystemet ditt; ellers vil ikke funksjoner som %3$s virke pålitelig.", + "Administrator documentation" : "Administratordokumentasjon", + "User documentation" : "Brukerdokumentasjon", "Invalid SMTP password." : "Ugyldig SMTP-passord.", "Email setting test" : "E-postinnstillingstest", "Well done, %s!" : "Bra gjort, %s!", @@ -99,6 +101,7 @@ OC.L10N.register( "Overview" : "Oversikt", "Basic settings" : "Grunninnstillinger", "Sharing" : "Deling", + "Calendar" : "Kalender", "Personal info" : "Personlig informasjon", "Mobile & desktop" : "Mobil og skrivebord", "Email server" : "E-postserver", @@ -137,7 +140,6 @@ OC.L10N.register( "View in store" : "Vis i butikk", "Visit website" : "Besøk nettsiden", "Report a bug" : "Rapporter en feil", - "User documentation" : "Brukerdokumentasjon", "Admin documentation" : "Administratordokumentasjon", "Developer documentation" : "Utviklerdokumentasjon", "This app is supported via your current Nextcloud subscription." : "Denne appen er støttet av ditt nåværende Nextcloud abonnement.", @@ -250,11 +252,6 @@ OC.L10N.register( "Adding your device …" : "Legger til enheten...", "Unnamed device" : "Ikke navngitt enhet", "Your apps" : "Dine apper", - "Active apps" : "Aktive apper", - "Disabled apps" : "Deaktiverte apper", - "Updates" : "Oppdateringer", - "App bundles" : "App-pakker", - "Featured apps" : "Fremhevede apper", "{license}-licensed" : "{license}-lisensiert", "Changelog" : "Endringslogg", "Add group" : "Legg til gruppe", @@ -282,12 +279,16 @@ OC.L10N.register( "Twitter" : "Twitter", "Website" : "Nettsted", "Profile visibility" : "Profil-synlighet", + "Active apps" : "Aktive apper", + "Disabled apps" : "Deaktiverte apper", + "Updates" : "Oppdateringer", + "App bundles" : "App-pakker", + "Featured apps" : "Fremhevede apper", "Hide" : "Skjul", "Download and enable" : "Last ned og aktiver", "Enable untested app" : "Aktiver utestet app", "Never" : "Aldri", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Appen er aktivert men må oppdateres. Du vil bli videresendt til oppdateringssiden om 5 sekunder.", - "Administrator documentation" : "Administratordokumentasjon", "Documentation" : "Dokumentasjon", "Forum" : "Forum", "Login" : "Innlogging", diff --git a/apps/settings/l10n/nb.json b/apps/settings/l10n/nb.json index 5cab71e91be..8f488418f15 100644 --- a/apps/settings/l10n/nb.json +++ b/apps/settings/l10n/nb.json @@ -54,6 +54,8 @@ "Wrong admin recovery password. Please check the password and try again." : "Feil administrativt gjenopprettingspassord. Sjekk passordet og prøv igjen.", "Federated Cloud Sharing" : "Sammenknyttet sky-deling", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL bruker en utdatert %1$s-versjon (%2$s). Oppdater operativsystemet ditt; ellers vil ikke funksjoner som %3$s virke pålitelig.", + "Administrator documentation" : "Administratordokumentasjon", + "User documentation" : "Brukerdokumentasjon", "Invalid SMTP password." : "Ugyldig SMTP-passord.", "Email setting test" : "E-postinnstillingstest", "Well done, %s!" : "Bra gjort, %s!", @@ -97,6 +99,7 @@ "Overview" : "Oversikt", "Basic settings" : "Grunninnstillinger", "Sharing" : "Deling", + "Calendar" : "Kalender", "Personal info" : "Personlig informasjon", "Mobile & desktop" : "Mobil og skrivebord", "Email server" : "E-postserver", @@ -135,7 +138,6 @@ "View in store" : "Vis i butikk", "Visit website" : "Besøk nettsiden", "Report a bug" : "Rapporter en feil", - "User documentation" : "Brukerdokumentasjon", "Admin documentation" : "Administratordokumentasjon", "Developer documentation" : "Utviklerdokumentasjon", "This app is supported via your current Nextcloud subscription." : "Denne appen er støttet av ditt nåværende Nextcloud abonnement.", @@ -248,11 +250,6 @@ "Adding your device …" : "Legger til enheten...", "Unnamed device" : "Ikke navngitt enhet", "Your apps" : "Dine apper", - "Active apps" : "Aktive apper", - "Disabled apps" : "Deaktiverte apper", - "Updates" : "Oppdateringer", - "App bundles" : "App-pakker", - "Featured apps" : "Fremhevede apper", "{license}-licensed" : "{license}-lisensiert", "Changelog" : "Endringslogg", "Add group" : "Legg til gruppe", @@ -280,12 +277,16 @@ "Twitter" : "Twitter", "Website" : "Nettsted", "Profile visibility" : "Profil-synlighet", + "Active apps" : "Aktive apper", + "Disabled apps" : "Deaktiverte apper", + "Updates" : "Oppdateringer", + "App bundles" : "App-pakker", + "Featured apps" : "Fremhevede apper", "Hide" : "Skjul", "Download and enable" : "Last ned og aktiver", "Enable untested app" : "Aktiver utestet app", "Never" : "Aldri", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Appen er aktivert men må oppdateres. Du vil bli videresendt til oppdateringssiden om 5 sekunder.", - "Administrator documentation" : "Administratordokumentasjon", "Documentation" : "Dokumentasjon", "Forum" : "Forum", "Login" : "Innlogging", diff --git a/apps/settings/l10n/nl.js b/apps/settings/l10n/nl.js index 33d018026a7..451c3938a6d 100644 --- a/apps/settings/l10n/nl.js +++ b/apps/settings/l10n/nl.js @@ -65,6 +65,8 @@ OC.L10N.register( "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud mag de OPcache API niet gebruiken. Het wordt ten zeerste aanbevolen om alle Nextcloud-mappen op te nemen met <code>opcache.restrict_api</code> of deze instelling uit te schakelen om OPcache API-beperkingen uit te schakelen, om fouten tijdens Nextcloud-kern- of app-upgrades te voorkomen.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "De OPcache-buffer is bijna vol. Om ervoor te zorgen dat alle scripts in de cache kunnen worden bewaard, wordt aanbevolen om <code>opcache.memory_consumption</code> toe te passen in je PHP-configuratie met een waarde hoger dan <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "De OPcache geïnterneerde strings buffer is bijna vol. Om ervoor te zorgen dat herhalende strings effectief in de cache kunnen worden opgeslagen, wordt aanbevolen om <code>opcache.interned_strings_buffer</code> toe te passen in je PHP-configuratie met een waarde hoger dan <code>%s</code>.", + "Administrator documentation" : "Beheerdersdocumentatie", + "User documentation" : "Gebruikersdocumentatie", "Invalid SMTP password." : "Ongeldig SMTP wachtwoord", "Email setting test" : "E-mailinstellingen test", "Well done, %s!" : "Goed gedaan, %s!", @@ -113,6 +115,7 @@ OC.L10N.register( "Basic settings" : "Basis-instellingen", "Sharing" : "Delen", "Availability" : "Beschikbaarheid", + "Calendar" : "Agenda", "Personal info" : "Persoonlijke info", "Mobile & desktop" : "Mobiel & desktop", "Email server" : "E-mailserver", @@ -156,7 +159,6 @@ OC.L10N.register( "View in store" : "Bekijken in store", "Visit website" : "Bezoek website", "Report a bug" : "Rapporteer een fout", - "User documentation" : "Gebruikersdocumentatie", "Admin documentation" : "Beheerdocumentatie", "Developer documentation" : "Ontwikkelaarsdocumentatie", "This app is supported via your current Nextcloud subscription." : "Deze app wordt ondersteund via je huidige Nextcloud abonnement.", @@ -327,11 +329,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "De volgende toestellen zijn ingesteld voor je account:", "Your browser does not support WebAuthn." : "Je browser ondersteunt WebAuthn niet.", "Your apps" : "Jouw apps", - "Active apps" : "Ingeschakelde apps", - "Disabled apps" : "Uitgeschakelde apps", - "Updates" : "Updates", - "App bundles" : "App bundels", - "Featured apps" : "Aanbevolen apps", "{license}-licensed" : "{license}-gelicenseerd", "Changelog" : "Lijst van veranderingen", "by {author}\n{license}" : "door {author}\n{license}", @@ -364,6 +361,11 @@ OC.L10N.register( "Profile visibility" : "Profiel zichtbaarheid", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Niet beschikbaar omdat deze eigenschap benodigd is voor de basisfunctionaliteit inclusief bestandsdeling en kalender uitnodigingen", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Niet beschikbaar omdat het publiceren van gebruikersdata aan de lookup server niet toegestaan is, neem contact op met je beheerder als je vragen hebt", + "Active apps" : "Ingeschakelde apps", + "Disabled apps" : "Uitgeschakelde apps", + "Updates" : "Updates", + "App bundles" : "App bundels", + "Featured apps" : "Aanbevolen apps", "Show to everyone" : "Laat zien aan iedereen", "Show to logged in users only" : "Laat alleen zien aan ingelogde gebruikers", "Hide" : "Verberg", @@ -374,7 +376,6 @@ OC.L10N.register( "Never" : "Nooit", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "De app is ingeschakeld maar moet worden geüpdate. Je wordt over 5 seconden doorgeleid naar de updatepagina.", "Error: This app cannot be enabled because it makes the server unstable" : "Fout: Deze app kan niet ingeschakeld worden, omdat die de server onstabiel maakt", - "Administrator documentation" : "Beheerdersdocumentatie", "Documentation" : "Documentatie", "Forum" : "Forum", "Login" : "Login", diff --git a/apps/settings/l10n/nl.json b/apps/settings/l10n/nl.json index 97cfa3856c3..073a5511fb6 100644 --- a/apps/settings/l10n/nl.json +++ b/apps/settings/l10n/nl.json @@ -63,6 +63,8 @@ "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud mag de OPcache API niet gebruiken. Het wordt ten zeerste aanbevolen om alle Nextcloud-mappen op te nemen met <code>opcache.restrict_api</code> of deze instelling uit te schakelen om OPcache API-beperkingen uit te schakelen, om fouten tijdens Nextcloud-kern- of app-upgrades te voorkomen.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "De OPcache-buffer is bijna vol. Om ervoor te zorgen dat alle scripts in de cache kunnen worden bewaard, wordt aanbevolen om <code>opcache.memory_consumption</code> toe te passen in je PHP-configuratie met een waarde hoger dan <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "De OPcache geïnterneerde strings buffer is bijna vol. Om ervoor te zorgen dat herhalende strings effectief in de cache kunnen worden opgeslagen, wordt aanbevolen om <code>opcache.interned_strings_buffer</code> toe te passen in je PHP-configuratie met een waarde hoger dan <code>%s</code>.", + "Administrator documentation" : "Beheerdersdocumentatie", + "User documentation" : "Gebruikersdocumentatie", "Invalid SMTP password." : "Ongeldig SMTP wachtwoord", "Email setting test" : "E-mailinstellingen test", "Well done, %s!" : "Goed gedaan, %s!", @@ -111,6 +113,7 @@ "Basic settings" : "Basis-instellingen", "Sharing" : "Delen", "Availability" : "Beschikbaarheid", + "Calendar" : "Agenda", "Personal info" : "Persoonlijke info", "Mobile & desktop" : "Mobiel & desktop", "Email server" : "E-mailserver", @@ -154,7 +157,6 @@ "View in store" : "Bekijken in store", "Visit website" : "Bezoek website", "Report a bug" : "Rapporteer een fout", - "User documentation" : "Gebruikersdocumentatie", "Admin documentation" : "Beheerdocumentatie", "Developer documentation" : "Ontwikkelaarsdocumentatie", "This app is supported via your current Nextcloud subscription." : "Deze app wordt ondersteund via je huidige Nextcloud abonnement.", @@ -325,11 +327,6 @@ "The following devices are configured for your account:" : "De volgende toestellen zijn ingesteld voor je account:", "Your browser does not support WebAuthn." : "Je browser ondersteunt WebAuthn niet.", "Your apps" : "Jouw apps", - "Active apps" : "Ingeschakelde apps", - "Disabled apps" : "Uitgeschakelde apps", - "Updates" : "Updates", - "App bundles" : "App bundels", - "Featured apps" : "Aanbevolen apps", "{license}-licensed" : "{license}-gelicenseerd", "Changelog" : "Lijst van veranderingen", "by {author}\n{license}" : "door {author}\n{license}", @@ -362,6 +359,11 @@ "Profile visibility" : "Profiel zichtbaarheid", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Niet beschikbaar omdat deze eigenschap benodigd is voor de basisfunctionaliteit inclusief bestandsdeling en kalender uitnodigingen", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Niet beschikbaar omdat het publiceren van gebruikersdata aan de lookup server niet toegestaan is, neem contact op met je beheerder als je vragen hebt", + "Active apps" : "Ingeschakelde apps", + "Disabled apps" : "Uitgeschakelde apps", + "Updates" : "Updates", + "App bundles" : "App bundels", + "Featured apps" : "Aanbevolen apps", "Show to everyone" : "Laat zien aan iedereen", "Show to logged in users only" : "Laat alleen zien aan ingelogde gebruikers", "Hide" : "Verberg", @@ -372,7 +374,6 @@ "Never" : "Nooit", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "De app is ingeschakeld maar moet worden geüpdate. Je wordt over 5 seconden doorgeleid naar de updatepagina.", "Error: This app cannot be enabled because it makes the server unstable" : "Fout: Deze app kan niet ingeschakeld worden, omdat die de server onstabiel maakt", - "Administrator documentation" : "Beheerdersdocumentatie", "Documentation" : "Documentatie", "Forum" : "Forum", "Login" : "Login", diff --git a/apps/settings/l10n/nn_NO.js b/apps/settings/l10n/nn_NO.js index 835daefc37d..85ff59065e1 100644 --- a/apps/settings/l10n/nn_NO.js +++ b/apps/settings/l10n/nn_NO.js @@ -20,6 +20,8 @@ OC.L10N.register( "No user supplied" : "Ingen brukar gjeve", "Authentication error" : "Autentiseringsfeil", "Wrong admin recovery password. Please check the password and try again." : "Feil admingjenopprettingspassord. Ver venleg og sjekk passordet og prøv igjen.", + "Administrator documentation" : "Administratordokumentasjon", + "User documentation" : "Brukardokumentasjon", "Invalid mail address" : "Ugyldig e--postadresse", "Welcome aboard" : "Velkomen ombord", "Welcome aboard %s" : "Velkomen ombord %s", @@ -34,6 +36,7 @@ OC.L10N.register( "Additional settings" : "Tilleggsinnstillingar", "Overview" : "Oversyn", "Sharing" : "Deling", + "Calendar" : "Kalendar", "Personal info" : "Personleg informasjon", "Email server" : "E-postserver", "Create" : "Lag", @@ -45,7 +48,6 @@ OC.L10N.register( "Disable" : "Slå av", "Visit website" : "Besøk nettstaden", "Report a bug" : "Rapporter feil", - "User documentation" : "Brukardokumentasjon", "Admin documentation" : "Admin-dokumentasjon", "Rename" : "Gje nytt namn", "Internet Explorer" : "Internet Explorer", @@ -89,7 +91,6 @@ OC.L10N.register( "Full name" : "Fult namn", "Hide" : "Gøym", "Never" : "Aldri", - "Administrator documentation" : "Administratordokumentasjon", "Documentation" : "Dokumentasjon", "Forum" : "Forum", "Login" : "Logg inn", diff --git a/apps/settings/l10n/nn_NO.json b/apps/settings/l10n/nn_NO.json index 8a53596581a..b9eadef1dc0 100644 --- a/apps/settings/l10n/nn_NO.json +++ b/apps/settings/l10n/nn_NO.json @@ -18,6 +18,8 @@ "No user supplied" : "Ingen brukar gjeve", "Authentication error" : "Autentiseringsfeil", "Wrong admin recovery password. Please check the password and try again." : "Feil admingjenopprettingspassord. Ver venleg og sjekk passordet og prøv igjen.", + "Administrator documentation" : "Administratordokumentasjon", + "User documentation" : "Brukardokumentasjon", "Invalid mail address" : "Ugyldig e--postadresse", "Welcome aboard" : "Velkomen ombord", "Welcome aboard %s" : "Velkomen ombord %s", @@ -32,6 +34,7 @@ "Additional settings" : "Tilleggsinnstillingar", "Overview" : "Oversyn", "Sharing" : "Deling", + "Calendar" : "Kalendar", "Personal info" : "Personleg informasjon", "Email server" : "E-postserver", "Create" : "Lag", @@ -43,7 +46,6 @@ "Disable" : "Slå av", "Visit website" : "Besøk nettstaden", "Report a bug" : "Rapporter feil", - "User documentation" : "Brukardokumentasjon", "Admin documentation" : "Admin-dokumentasjon", "Rename" : "Gje nytt namn", "Internet Explorer" : "Internet Explorer", @@ -87,7 +89,6 @@ "Full name" : "Fult namn", "Hide" : "Gøym", "Never" : "Aldri", - "Administrator documentation" : "Administratordokumentasjon", "Documentation" : "Dokumentasjon", "Forum" : "Forum", "Login" : "Logg inn", diff --git a/apps/settings/l10n/oc.js b/apps/settings/l10n/oc.js index 3476ebebd27..6eab060b640 100644 --- a/apps/settings/l10n/oc.js +++ b/apps/settings/l10n/oc.js @@ -41,6 +41,7 @@ OC.L10N.register( "Wrong password" : "Wrong password", "Saved" : "Enregistrat", "Authentication error" : "Error d’autentificacion", + "User documentation" : "Documentacion utilizaire", "Invalid SMTP password." : "Senhal SMTP invalid.", "Email setting test" : "Paramètres email de pròva", "Well done, %s!" : "Felicitacion, %s !", @@ -63,6 +64,7 @@ OC.L10N.register( "Basic settings" : "Paramètres de basa", "Sharing" : "Partiment", "Availability" : "Disponibilitat", + "Calendar" : "Calendièr", "Personal info" : "Info personalas", "Mobile & desktop" : "Mobile e burèu", "Email server" : "Servidor email", @@ -86,7 +88,6 @@ OC.L10N.register( "View in store" : "Veire a la botiga", "Visit website" : "Veire lo site web", "Report a bug" : "Raportar un bug", - "User documentation" : "Documentacion utilizaire", "Admin documentation" : "Documentacion d’admin", "Developer documentation" : "Documentacion desvolopaire", "Update to {update}" : "Actualizar en {update}", @@ -185,9 +186,6 @@ OC.L10N.register( "No devices configured." : "Cap de periferic pas configurat.", "Your browser does not support WebAuthn." : "Vòstre navigador es pas compatible amb WebAuthn.", "Your apps" : "Vòstras aplicacions", - "Active apps" : "Aplicacions activas", - "Disabled apps" : "Aplicacions desactivadas", - "Updates" : "Mesas a jorn", "Changelog" : "Nòta de version", "by {author}\n{license}" : "per {author}\n{license}", "Enter group name" : "Picatz un nom de grop", @@ -212,6 +210,9 @@ OC.L10N.register( "Twitter" : "Twitter", "Website" : "Site web", "Profile visibility" : "Visibilitat perfil", + "Active apps" : "Aplicacions activas", + "Disabled apps" : "Aplicacions desactivadas", + "Updates" : "Mesas a jorn", "Show to everyone" : "Afichar a tot lo monde", "Hide" : "Amagar", "Never" : "Pas jamais", diff --git a/apps/settings/l10n/oc.json b/apps/settings/l10n/oc.json index 1e93272b0e1..ca2c843374b 100644 --- a/apps/settings/l10n/oc.json +++ b/apps/settings/l10n/oc.json @@ -39,6 +39,7 @@ "Wrong password" : "Wrong password", "Saved" : "Enregistrat", "Authentication error" : "Error d’autentificacion", + "User documentation" : "Documentacion utilizaire", "Invalid SMTP password." : "Senhal SMTP invalid.", "Email setting test" : "Paramètres email de pròva", "Well done, %s!" : "Felicitacion, %s !", @@ -61,6 +62,7 @@ "Basic settings" : "Paramètres de basa", "Sharing" : "Partiment", "Availability" : "Disponibilitat", + "Calendar" : "Calendièr", "Personal info" : "Info personalas", "Mobile & desktop" : "Mobile e burèu", "Email server" : "Servidor email", @@ -84,7 +86,6 @@ "View in store" : "Veire a la botiga", "Visit website" : "Veire lo site web", "Report a bug" : "Raportar un bug", - "User documentation" : "Documentacion utilizaire", "Admin documentation" : "Documentacion d’admin", "Developer documentation" : "Documentacion desvolopaire", "Update to {update}" : "Actualizar en {update}", @@ -183,9 +184,6 @@ "No devices configured." : "Cap de periferic pas configurat.", "Your browser does not support WebAuthn." : "Vòstre navigador es pas compatible amb WebAuthn.", "Your apps" : "Vòstras aplicacions", - "Active apps" : "Aplicacions activas", - "Disabled apps" : "Aplicacions desactivadas", - "Updates" : "Mesas a jorn", "Changelog" : "Nòta de version", "by {author}\n{license}" : "per {author}\n{license}", "Enter group name" : "Picatz un nom de grop", @@ -210,6 +208,9 @@ "Twitter" : "Twitter", "Website" : "Site web", "Profile visibility" : "Visibilitat perfil", + "Active apps" : "Aplicacions activas", + "Disabled apps" : "Aplicacions desactivadas", + "Updates" : "Mesas a jorn", "Show to everyone" : "Afichar a tot lo monde", "Hide" : "Amagar", "Never" : "Pas jamais", diff --git a/apps/settings/l10n/pl.js b/apps/settings/l10n/pl.js index aa2af3b84b9..434b5ae0621 100644 --- a/apps/settings/l10n/pl.js +++ b/apps/settings/l10n/pl.js @@ -73,6 +73,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Maksymalna liczba kluczy OPcache jest prawie przekroczona. Aby mieć pewność, że wszystkie skrypty mogą być przechowywane w pamięci podręcznej, zaleca się zastosowanie <code>opcache.max_accelerated_files</code> w konfiguracji PHP z wartością wyższą niż <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Bufor OPcache jest prawie pełny. Aby upewnić się, że wszystkie skrypty mogą być przechowywane w pamięci podręcznej, zaleca się zastosowanie <code>opcache.memory_consumption</code> w konfiguracji PHP z wartością wyższą niż <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Bufor ciągów internowanych OPcache jest prawie pełny. Aby upewnić się, że powtarzające się ciągi mogą być efektywnie buforowane, zaleca się zastosowanie <code>opcache.interned_strings_buffer</code> w konfiguracji PHP z wartością wyższą niż <code>%s</code>.", + "Administrator documentation" : "Dokumentacja administratora", + "User documentation" : "Dokumentacja użytkownika", "Invalid SMTP password." : "Nieprawidłowe hasło SMTP.", "Email setting test" : "Test ustawień e-mail", "Well done, %s!" : "Dobra robota, %s!", @@ -122,6 +124,7 @@ OC.L10N.register( "Basic settings" : "Ustawienia podstawowe", "Sharing" : "Udostępnianie", "Availability" : "Dostępność", + "Calendar" : "Kalendarz", "Personal info" : "Informacje osobiste", "Mobile & desktop" : "Mobilne i stacjonarne", "Email server" : "Serwer poczty", @@ -169,7 +172,6 @@ OC.L10N.register( "View in store" : "Zobacz w sklepie", "Visit website" : "Odwiedź stronę", "Report a bug" : "Zgłoś błąd", - "User documentation" : "Dokumentacja użytkownika", "Admin documentation" : "Dokumentacja administratora", "Developer documentation" : "Dokumentacja dewelopera", "This app is supported via your current Nextcloud subscription." : "Ta aplikacja jest obsługiwana za pośrednictwem bieżącej subskrypcji Nextcloud.", @@ -301,6 +303,7 @@ OC.L10N.register( "Unable to delete additional email address" : "Nie można usunąć dodatkowego adresu e-mail", "No email address set" : "Brak adresu e-mail", "Additional emails" : "Dodatkowe e-maile", + "Your handle" : "Twoja ksywka", "Your headline" : "Twój nagłówek", "Language" : "Język", "Help translate" : "Pomóż w tłumaczeniu", @@ -380,11 +383,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Dla Twojego konta skonfigurowane są następujące urządzenia:", "Your browser does not support WebAuthn." : "Twoja przeglądarka nie obsługuje WebAuthn.", "Your apps" : "Twoje aplikacje", - "Active apps" : "Aktywne aplikacje", - "Disabled apps" : "Wyłączone aplikacje", - "Updates" : "Aktualizacje", - "App bundles" : "Zestawy aplikacji", - "Featured apps" : "Polecane aplikacje", "{license}-licensed" : "na licencji {license}", "Changelog" : "Dziennik zmian", "by {author}\n{license}" : "wykonane przez {author}\n{license}", @@ -413,11 +411,17 @@ OC.L10N.register( "Phone number" : "Numer telefonu", "Role" : "Rola społeczna", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse (np. Mastodon)", "Website" : "Strona internetowa", "Profile visibility" : "Widoczność profilu", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Niedostępne, ponieważ ta właściwość jest wymagana do podstawowych funkcji, w tym udostępniania pliku i zaproszeń do kalendarza", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Niedostępne, ponieważ federacja została wyłączona na Twoim koncie, skontaktuj się z administratorem systemu, jeśli masz jakieś pytania", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Niedostępne, ponieważ publikowanie danych specyficznych dla użytkownika na serwerze wyszukiwania jest niedozwolone, skontaktuj się z administratorem systemu, jeśli masz jakiekolwiek pytania", + "Active apps" : "Aktywne aplikacje", + "Disabled apps" : "Wyłączone aplikacje", + "Updates" : "Aktualizacje", + "App bundles" : "Zestawy aplikacji", + "Featured apps" : "Polecane aplikacje", "Show to everyone" : "Pokaż wszystkim", "Show to logged in users only" : "Pokaż tylko zalogowanym użytkownikom", "Hide" : "Ukryj", @@ -429,7 +433,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "Wystąpił błąd podczas żądania. Nie można kontynuować.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikacja została włączona, ponieważ wymaga aktualizacji. Za 5 sekund nastąpi przekierowanie do strony aktualizacji.", "Error: This app cannot be enabled because it makes the server unstable" : "Błąd: Ta aplikacja nie zostanie włączona ze względu na możliwość niestabilnej pracy serwera", - "Administrator documentation" : "Dokumentacja administratora", "Documentation" : "Dokumentacja", "Forum" : "Forum", "Login" : "Login", diff --git a/apps/settings/l10n/pl.json b/apps/settings/l10n/pl.json index 6bbf624de8b..d3d2f91b89a 100644 --- a/apps/settings/l10n/pl.json +++ b/apps/settings/l10n/pl.json @@ -71,6 +71,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Maksymalna liczba kluczy OPcache jest prawie przekroczona. Aby mieć pewność, że wszystkie skrypty mogą być przechowywane w pamięci podręcznej, zaleca się zastosowanie <code>opcache.max_accelerated_files</code> w konfiguracji PHP z wartością wyższą niż <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Bufor OPcache jest prawie pełny. Aby upewnić się, że wszystkie skrypty mogą być przechowywane w pamięci podręcznej, zaleca się zastosowanie <code>opcache.memory_consumption</code> w konfiguracji PHP z wartością wyższą niż <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Bufor ciągów internowanych OPcache jest prawie pełny. Aby upewnić się, że powtarzające się ciągi mogą być efektywnie buforowane, zaleca się zastosowanie <code>opcache.interned_strings_buffer</code> w konfiguracji PHP z wartością wyższą niż <code>%s</code>.", + "Administrator documentation" : "Dokumentacja administratora", + "User documentation" : "Dokumentacja użytkownika", "Invalid SMTP password." : "Nieprawidłowe hasło SMTP.", "Email setting test" : "Test ustawień e-mail", "Well done, %s!" : "Dobra robota, %s!", @@ -120,6 +122,7 @@ "Basic settings" : "Ustawienia podstawowe", "Sharing" : "Udostępnianie", "Availability" : "Dostępność", + "Calendar" : "Kalendarz", "Personal info" : "Informacje osobiste", "Mobile & desktop" : "Mobilne i stacjonarne", "Email server" : "Serwer poczty", @@ -167,7 +170,6 @@ "View in store" : "Zobacz w sklepie", "Visit website" : "Odwiedź stronę", "Report a bug" : "Zgłoś błąd", - "User documentation" : "Dokumentacja użytkownika", "Admin documentation" : "Dokumentacja administratora", "Developer documentation" : "Dokumentacja dewelopera", "This app is supported via your current Nextcloud subscription." : "Ta aplikacja jest obsługiwana za pośrednictwem bieżącej subskrypcji Nextcloud.", @@ -299,6 +301,7 @@ "Unable to delete additional email address" : "Nie można usunąć dodatkowego adresu e-mail", "No email address set" : "Brak adresu e-mail", "Additional emails" : "Dodatkowe e-maile", + "Your handle" : "Twoja ksywka", "Your headline" : "Twój nagłówek", "Language" : "Język", "Help translate" : "Pomóż w tłumaczeniu", @@ -378,11 +381,6 @@ "The following devices are configured for your account:" : "Dla Twojego konta skonfigurowane są następujące urządzenia:", "Your browser does not support WebAuthn." : "Twoja przeglądarka nie obsługuje WebAuthn.", "Your apps" : "Twoje aplikacje", - "Active apps" : "Aktywne aplikacje", - "Disabled apps" : "Wyłączone aplikacje", - "Updates" : "Aktualizacje", - "App bundles" : "Zestawy aplikacji", - "Featured apps" : "Polecane aplikacje", "{license}-licensed" : "na licencji {license}", "Changelog" : "Dziennik zmian", "by {author}\n{license}" : "wykonane przez {author}\n{license}", @@ -411,11 +409,17 @@ "Phone number" : "Numer telefonu", "Role" : "Rola społeczna", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse (np. Mastodon)", "Website" : "Strona internetowa", "Profile visibility" : "Widoczność profilu", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Niedostępne, ponieważ ta właściwość jest wymagana do podstawowych funkcji, w tym udostępniania pliku i zaproszeń do kalendarza", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Niedostępne, ponieważ federacja została wyłączona na Twoim koncie, skontaktuj się z administratorem systemu, jeśli masz jakieś pytania", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Niedostępne, ponieważ publikowanie danych specyficznych dla użytkownika na serwerze wyszukiwania jest niedozwolone, skontaktuj się z administratorem systemu, jeśli masz jakiekolwiek pytania", + "Active apps" : "Aktywne aplikacje", + "Disabled apps" : "Wyłączone aplikacje", + "Updates" : "Aktualizacje", + "App bundles" : "Zestawy aplikacji", + "Featured apps" : "Polecane aplikacje", "Show to everyone" : "Pokaż wszystkim", "Show to logged in users only" : "Pokaż tylko zalogowanym użytkownikom", "Hide" : "Ukryj", @@ -427,7 +431,6 @@ "An error occurred during the request. Unable to proceed." : "Wystąpił błąd podczas żądania. Nie można kontynuować.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikacja została włączona, ponieważ wymaga aktualizacji. Za 5 sekund nastąpi przekierowanie do strony aktualizacji.", "Error: This app cannot be enabled because it makes the server unstable" : "Błąd: Ta aplikacja nie zostanie włączona ze względu na możliwość niestabilnej pracy serwera", - "Administrator documentation" : "Dokumentacja administratora", "Documentation" : "Dokumentacja", "Forum" : "Forum", "Login" : "Login", diff --git a/apps/settings/l10n/pt_BR.js b/apps/settings/l10n/pt_BR.js index 987a886d530..28656119b6e 100644 --- a/apps/settings/l10n/pt_BR.js +++ b/apps/settings/l10n/pt_BR.js @@ -73,6 +73,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "O número máximo de chaves do OPcache é quase excedido. Para garantir que todos os scripts possam ser mantidos no cache, é recomendável aplicar <code>opcache.max_accelerated_files</code> à sua configuração PHP com um valor superior a <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "O buffer do OPcache está quase cheio. Para garantir que todos os scripts possam ser mantidos em cache, é recomendável aplicar<code>opcache.memory_consumption</code> to sua configuração PHP com um valor maior que<code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "O buffer de strings internas do OPcache está quase cheio. Para garantir que as strings repetidas possam ser efetivamente armazenadas em cache, é recomendável aplicar <code>opcache.interned_strings_buffer</code>para sua configuração PHP com um valor maior que <code>%s</code>.", + "Administrator documentation" : "Documentação do administrador", + "User documentation" : "Documentação do usuário", "Invalid SMTP password." : "Senha SMTP incorreta.", "Email setting test" : "Teste da configuração de e-mail", "Well done, %s!" : "Bom trabalho %s!", @@ -122,6 +124,7 @@ OC.L10N.register( "Basic settings" : "Configurações básicas", "Sharing" : "Compartilhamento", "Availability" : "Disponibilidade", + "Calendar" : "Calendário", "Personal info" : "Informação pessoal", "Mobile & desktop" : "Móvel & desktop", "Email server" : "Servidor de e-mail", @@ -169,7 +172,6 @@ OC.L10N.register( "View in store" : "Ver na loja", "Visit website" : "Visitar website", "Report a bug" : "Reportar um erro", - "User documentation" : "Documentação do usuário", "Admin documentation" : "Documentação do administrador", "Developer documentation" : "Documentação do desenvolvedor", "This app is supported via your current Nextcloud subscription." : "Este aplicativo é suportado pela sua assinatura atual do Nextcloud.", @@ -380,11 +382,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Os seguintes dispositivos estão configurados para sua conta:", "Your browser does not support WebAuthn." : "Seu navegador não suporta WebAuthn.", "Your apps" : "Seus aplicativos", - "Active apps" : "Aplicativos ativados", - "Disabled apps" : "Aplicativos desativados", - "Updates" : "Atualizações", - "App bundles" : "Pacotes de aplicativos", - "Featured apps" : "Aplicativos em destaque", "{license}-licensed" : "{license}-licenciado", "Changelog" : "Changelog", "by {author}\n{license}" : "por {author}\n{license}", @@ -417,6 +414,11 @@ OC.L10N.register( "Profile visibility" : "Visibilidade do perfil", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Não disponível porque esta propriedade é necessária para a funcionalidade principal, incluindo compartilhamento de arquivos e convites de calendário", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Não disponível, pois a publicação de dados específicos do usuário no servidor de pesquisa não é permitida, entre em contato com o administrador do sistema se tiver alguma dúvida", + "Active apps" : "Aplicativos ativados", + "Disabled apps" : "Aplicativos desativados", + "Updates" : "Atualizações", + "App bundles" : "Pacotes de aplicativos", + "Featured apps" : "Aplicativos em destaque", "Show to everyone" : "Mostrar para todos", "Show to logged in users only" : "Mostrar apenas para usuários conectados", "Hide" : "Esconder ", @@ -428,7 +430,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "Ocorreu um erro durante a solicitação. Não foi possível prosseguir.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "O aplicativo foi ativado, mas precisa ser atualizado. Você será redirecionado para a página de atualização em 5 segundos.", "Error: This app cannot be enabled because it makes the server unstable" : "Erro: Este aplicativo não pode ser habilitado pois torna o servidor instável.", - "Administrator documentation" : "Documentação do administrador", "Documentation" : "Documentação", "Forum" : "Fórum", "Login" : "Login", diff --git a/apps/settings/l10n/pt_BR.json b/apps/settings/l10n/pt_BR.json index 59bf87966b9..7cff8162929 100644 --- a/apps/settings/l10n/pt_BR.json +++ b/apps/settings/l10n/pt_BR.json @@ -71,6 +71,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "O número máximo de chaves do OPcache é quase excedido. Para garantir que todos os scripts possam ser mantidos no cache, é recomendável aplicar <code>opcache.max_accelerated_files</code> à sua configuração PHP com um valor superior a <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "O buffer do OPcache está quase cheio. Para garantir que todos os scripts possam ser mantidos em cache, é recomendável aplicar<code>opcache.memory_consumption</code> to sua configuração PHP com um valor maior que<code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "O buffer de strings internas do OPcache está quase cheio. Para garantir que as strings repetidas possam ser efetivamente armazenadas em cache, é recomendável aplicar <code>opcache.interned_strings_buffer</code>para sua configuração PHP com um valor maior que <code>%s</code>.", + "Administrator documentation" : "Documentação do administrador", + "User documentation" : "Documentação do usuário", "Invalid SMTP password." : "Senha SMTP incorreta.", "Email setting test" : "Teste da configuração de e-mail", "Well done, %s!" : "Bom trabalho %s!", @@ -120,6 +122,7 @@ "Basic settings" : "Configurações básicas", "Sharing" : "Compartilhamento", "Availability" : "Disponibilidade", + "Calendar" : "Calendário", "Personal info" : "Informação pessoal", "Mobile & desktop" : "Móvel & desktop", "Email server" : "Servidor de e-mail", @@ -167,7 +170,6 @@ "View in store" : "Ver na loja", "Visit website" : "Visitar website", "Report a bug" : "Reportar um erro", - "User documentation" : "Documentação do usuário", "Admin documentation" : "Documentação do administrador", "Developer documentation" : "Documentação do desenvolvedor", "This app is supported via your current Nextcloud subscription." : "Este aplicativo é suportado pela sua assinatura atual do Nextcloud.", @@ -378,11 +380,6 @@ "The following devices are configured for your account:" : "Os seguintes dispositivos estão configurados para sua conta:", "Your browser does not support WebAuthn." : "Seu navegador não suporta WebAuthn.", "Your apps" : "Seus aplicativos", - "Active apps" : "Aplicativos ativados", - "Disabled apps" : "Aplicativos desativados", - "Updates" : "Atualizações", - "App bundles" : "Pacotes de aplicativos", - "Featured apps" : "Aplicativos em destaque", "{license}-licensed" : "{license}-licenciado", "Changelog" : "Changelog", "by {author}\n{license}" : "por {author}\n{license}", @@ -415,6 +412,11 @@ "Profile visibility" : "Visibilidade do perfil", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Não disponível porque esta propriedade é necessária para a funcionalidade principal, incluindo compartilhamento de arquivos e convites de calendário", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Não disponível, pois a publicação de dados específicos do usuário no servidor de pesquisa não é permitida, entre em contato com o administrador do sistema se tiver alguma dúvida", + "Active apps" : "Aplicativos ativados", + "Disabled apps" : "Aplicativos desativados", + "Updates" : "Atualizações", + "App bundles" : "Pacotes de aplicativos", + "Featured apps" : "Aplicativos em destaque", "Show to everyone" : "Mostrar para todos", "Show to logged in users only" : "Mostrar apenas para usuários conectados", "Hide" : "Esconder ", @@ -426,7 +428,6 @@ "An error occurred during the request. Unable to proceed." : "Ocorreu um erro durante a solicitação. Não foi possível prosseguir.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "O aplicativo foi ativado, mas precisa ser atualizado. Você será redirecionado para a página de atualização em 5 segundos.", "Error: This app cannot be enabled because it makes the server unstable" : "Erro: Este aplicativo não pode ser habilitado pois torna o servidor instável.", - "Administrator documentation" : "Documentação do administrador", "Documentation" : "Documentação", "Forum" : "Fórum", "Login" : "Login", diff --git a/apps/settings/l10n/pt_PT.js b/apps/settings/l10n/pt_PT.js index 208627da0cc..8ddcb2dbc99 100644 --- a/apps/settings/l10n/pt_PT.js +++ b/apps/settings/l10n/pt_PT.js @@ -35,6 +35,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor introduza uma senha administrativa de recuperação ou todos os dados de utilizador serão perdidos.", "Wrong admin recovery password. Please check the password and try again." : "Palavra-passe de recuperação do administrador errada. Por favor, verifique a palavra-passe e tente novamente.", "Federated Cloud Sharing" : "Federated Cloud Sharing", + "Administrator documentation" : "Documentação de Administrador.", + "User documentation" : "Documentação de Utilizador", "Invalid SMTP password." : "Senha de SMTP inválida.", "Email setting test" : "Teste definições de email", "Well done, %s!" : "Muito bem, %s!", @@ -75,6 +77,7 @@ OC.L10N.register( "Overview" : "Visão Geral", "Basic settings" : "Definições básicas", "Sharing" : "Partilha", + "Calendar" : "Calendário", "Personal info" : "Informação pessoal", "Email server" : "Servidor de Correio Eletrónico", "Security & setup warnings" : "Avisos de configuração e segurança", @@ -97,7 +100,6 @@ OC.L10N.register( "View in store" : "Ver na loja", "Visit website" : "Visitar o website", "Report a bug" : "Reportar um erro", - "User documentation" : "Documentação de Utilizador", "Admin documentation" : "Documentação do Administrador", "Developer documentation" : "Documentação de Programador", "Featured" : "Destacado", @@ -165,9 +167,6 @@ OC.L10N.register( "Last login" : "Último início de sessão", "Default quota" : "Quota padrão", "Your apps" : "As suas apps", - "Disabled apps" : "Apps desativadas", - "Updates" : "Actualizações", - "App bundles" : "Pacotes de apps", "Changelog" : "Registo de alterações", "Add group" : "Adicionar grupo", "Active users" : "Utilizadores activos", @@ -188,11 +187,13 @@ OC.L10N.register( "Role" : "Função", "Twitter" : "Twitter", "Website" : "Website", + "Disabled apps" : "Apps desativadas", + "Updates" : "Actualizações", + "App bundles" : "Pacotes de apps", "Hide" : "Ocultar", "Download and enable" : "Transferir e ativar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "A app foi activada mas necessita ser actualizada. Irá ser redireccionado para a página de actualização em 5 segundos.", - "Administrator documentation" : "Documentação de Administrador.", "Documentation" : "Documentação", "Forum" : "Fórum", "Login" : "Iniciar Sessão", diff --git a/apps/settings/l10n/pt_PT.json b/apps/settings/l10n/pt_PT.json index 67688631734..03bfc94fe04 100644 --- a/apps/settings/l10n/pt_PT.json +++ b/apps/settings/l10n/pt_PT.json @@ -33,6 +33,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor introduza uma senha administrativa de recuperação ou todos os dados de utilizador serão perdidos.", "Wrong admin recovery password. Please check the password and try again." : "Palavra-passe de recuperação do administrador errada. Por favor, verifique a palavra-passe e tente novamente.", "Federated Cloud Sharing" : "Federated Cloud Sharing", + "Administrator documentation" : "Documentação de Administrador.", + "User documentation" : "Documentação de Utilizador", "Invalid SMTP password." : "Senha de SMTP inválida.", "Email setting test" : "Teste definições de email", "Well done, %s!" : "Muito bem, %s!", @@ -73,6 +75,7 @@ "Overview" : "Visão Geral", "Basic settings" : "Definições básicas", "Sharing" : "Partilha", + "Calendar" : "Calendário", "Personal info" : "Informação pessoal", "Email server" : "Servidor de Correio Eletrónico", "Security & setup warnings" : "Avisos de configuração e segurança", @@ -95,7 +98,6 @@ "View in store" : "Ver na loja", "Visit website" : "Visitar o website", "Report a bug" : "Reportar um erro", - "User documentation" : "Documentação de Utilizador", "Admin documentation" : "Documentação do Administrador", "Developer documentation" : "Documentação de Programador", "Featured" : "Destacado", @@ -163,9 +165,6 @@ "Last login" : "Último início de sessão", "Default quota" : "Quota padrão", "Your apps" : "As suas apps", - "Disabled apps" : "Apps desativadas", - "Updates" : "Actualizações", - "App bundles" : "Pacotes de apps", "Changelog" : "Registo de alterações", "Add group" : "Adicionar grupo", "Active users" : "Utilizadores activos", @@ -186,11 +185,13 @@ "Role" : "Função", "Twitter" : "Twitter", "Website" : "Website", + "Disabled apps" : "Apps desativadas", + "Updates" : "Actualizações", + "App bundles" : "Pacotes de apps", "Hide" : "Ocultar", "Download and enable" : "Transferir e ativar", "Never" : "Nunca", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "A app foi activada mas necessita ser actualizada. Irá ser redireccionado para a página de actualização em 5 segundos.", - "Administrator documentation" : "Documentação de Administrador.", "Documentation" : "Documentação", "Forum" : "Fórum", "Login" : "Iniciar Sessão", diff --git a/apps/settings/l10n/ro.js b/apps/settings/l10n/ro.js index 3ae822bc6e3..1d4f60c9cf5 100644 --- a/apps/settings/l10n/ro.js +++ b/apps/settings/l10n/ro.js @@ -61,6 +61,8 @@ OC.L10N.register( "Federated Cloud Sharing" : "Partajare federalizată cloud", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL utilizează o versiune %1$sneupdatată (%2$s). Vă rugăm să updatați sistemul de operare sau actualizați caracteristicile %3$scare nu funcționează în mod fiabil.", "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Modulul PHP OPcache nu este încărcat. Pentru o performanță mai bună, se recomandă să îl încărcați în instalarea PHP.", + "Administrator documentation" : "Documentație pentru administrare", + "User documentation" : "Documentație utilizator", "Invalid SMTP password." : "Parolă SMTP invalidă.", "Email setting test" : "Test setări email", "Well done, %s!" : "Felicitări, %s!", @@ -102,6 +104,7 @@ OC.L10N.register( "Overview" : "Prezentare generală", "Basic settings" : "Setări de bază", "Sharing" : "Partajare", + "Calendar" : "Calendar", "Personal info" : "Informații personale", "Mobile & desktop" : "Mobil și desktop", "Email server" : "Server de email", @@ -141,7 +144,6 @@ OC.L10N.register( "View in store" : "Vezi în magazin", "Visit website" : "Viziteaza pagina web", "Report a bug" : "Raportează un defect", - "User documentation" : "Documentație utilizator", "Admin documentation" : "Documentație pentru administrare", "Developer documentation" : "Documentație pentru dezvoltatori", "No apps found for your version" : "Nu au fost găsite aplicații pentru versiunea ta", @@ -209,8 +211,6 @@ OC.L10N.register( "Unnamed device" : "Dispozitiv fără nume", "Your browser does not support WebAuthn." : "Browserul dvs. nu acceptă WebAuthn.", "Your apps" : "Aplicațiile tale", - "Disabled apps" : "Aplicații inactive", - "Updates" : "Actualizări", "Add group" : "Adaugă grup", "Admins" : "Administratori", "Show user backend" : "Arată administrare utilizator", @@ -226,9 +226,10 @@ OC.L10N.register( "Role" : "Rol", "Twitter" : "Twitter", "Website" : "Site web", + "Disabled apps" : "Aplicații inactive", + "Updates" : "Actualizări", "Hide" : "Ascunde", "Never" : "Niciodată", - "Administrator documentation" : "Documentație pentru administrare", "Documentation" : "Documentație", "Forum" : "Forum", "Login" : "Autentificare", diff --git a/apps/settings/l10n/ro.json b/apps/settings/l10n/ro.json index 2febc844edc..af27881931b 100644 --- a/apps/settings/l10n/ro.json +++ b/apps/settings/l10n/ro.json @@ -59,6 +59,8 @@ "Federated Cloud Sharing" : "Partajare federalizată cloud", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL utilizează o versiune %1$sneupdatată (%2$s). Vă rugăm să updatați sistemul de operare sau actualizați caracteristicile %3$scare nu funcționează în mod fiabil.", "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Modulul PHP OPcache nu este încărcat. Pentru o performanță mai bună, se recomandă să îl încărcați în instalarea PHP.", + "Administrator documentation" : "Documentație pentru administrare", + "User documentation" : "Documentație utilizator", "Invalid SMTP password." : "Parolă SMTP invalidă.", "Email setting test" : "Test setări email", "Well done, %s!" : "Felicitări, %s!", @@ -100,6 +102,7 @@ "Overview" : "Prezentare generală", "Basic settings" : "Setări de bază", "Sharing" : "Partajare", + "Calendar" : "Calendar", "Personal info" : "Informații personale", "Mobile & desktop" : "Mobil și desktop", "Email server" : "Server de email", @@ -139,7 +142,6 @@ "View in store" : "Vezi în magazin", "Visit website" : "Viziteaza pagina web", "Report a bug" : "Raportează un defect", - "User documentation" : "Documentație utilizator", "Admin documentation" : "Documentație pentru administrare", "Developer documentation" : "Documentație pentru dezvoltatori", "No apps found for your version" : "Nu au fost găsite aplicații pentru versiunea ta", @@ -207,8 +209,6 @@ "Unnamed device" : "Dispozitiv fără nume", "Your browser does not support WebAuthn." : "Browserul dvs. nu acceptă WebAuthn.", "Your apps" : "Aplicațiile tale", - "Disabled apps" : "Aplicații inactive", - "Updates" : "Actualizări", "Add group" : "Adaugă grup", "Admins" : "Administratori", "Show user backend" : "Arată administrare utilizator", @@ -224,9 +224,10 @@ "Role" : "Rol", "Twitter" : "Twitter", "Website" : "Site web", + "Disabled apps" : "Aplicații inactive", + "Updates" : "Actualizări", "Hide" : "Ascunde", "Never" : "Niciodată", - "Administrator documentation" : "Documentație pentru administrare", "Documentation" : "Documentație", "Forum" : "Forum", "Login" : "Autentificare", diff --git a/apps/settings/l10n/ru.js b/apps/settings/l10n/ru.js index dcba2846795..47382049430 100644 --- a/apps/settings/l10n/ru.js +++ b/apps/settings/l10n/ru.js @@ -73,6 +73,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Максимальное количество ключей OPcache почти достигнуто. Чтобы гарантировать, что все скрипты могут быть сохранены в кэше, рекомендуется установить <code>opcache.max_accelerated_files</code> в конфигурации PHP со значением выше, чем <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буфер OPcache близок к переполнению. Для гарантированного сохранения всех сценариев в кэш-памяти рекомендуется в файле конфигурации подсистемы PHP установить параметру <code>opcache.memory_consumption</code> значении более чем <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буфер интернированных строк OPcache почти заполнен. Чтобы обеспечить эффективное кэширование повторяющихся строк, рекомендуется установить <code>opcache.interned_strings_buffer</code> в конфигурации PHP со значением выше, чем <code>%s</code>.", + "Administrator documentation" : "Документация администратора", + "User documentation" : "Пользовательская документация", "Invalid SMTP password." : "Неверный пароль SMTP.", "Email setting test" : "Проверка настроек электронной почты", "Well done, %s!" : "Отлично, %s!", @@ -122,6 +124,7 @@ OC.L10N.register( "Basic settings" : "Основные параметры", "Sharing" : "Параметры публикации", "Availability" : "Доступность", + "Calendar" : "Календарь", "Personal info" : "Личная информация", "Mobile & desktop" : "Клиенты для ПК и мобильных устройств", "Email server" : "Почтовый сервер", @@ -169,7 +172,6 @@ OC.L10N.register( "View in store" : "Посмотреть в магазине приложений", "Visit website" : "Перейти на веб-сайт", "Report a bug" : "Сообщить об ошибке", - "User documentation" : "Пользовательская документация", "Admin documentation" : "Документация для администратора", "Developer documentation" : "Документация для разработчиков", "This app is supported via your current Nextcloud subscription." : "Это приложение поддерживается через вашу текущую подписку Nextcloud.", @@ -275,9 +277,15 @@ OC.L10N.register( "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Обновление изображения профиля может занять до 24 часов.", "Choose your profile picture" : "Выберите изображение профиля", "Please select a valid png or jpg file" : "Выберите файл в формате .png и .jpg", + "Error setting profile picture" : "Не удалось установить изображение профиля", + "Error cropping profile picture" : "Не удалось обрезать изображение профиля", + "Error saving profile picture" : "Не удалось сохранить изображение профиля", + "Error removing profile picture" : "Не удалось очистить изображения профиля", "Your biography" : "Ваша биография", "Details" : "Подробные сведения", "You are a member of the following groups:" : "Вы являетесь участником следующих групп:", + "You are using <strong>{usage}</strong>" : "Вы используете <strong>{usage}</strong>", + "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Вы используете <strong>{usage}</strong> из <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)", "Your full name" : "Ваше полное имя", "Email options" : "Параметры эл. почты", "Primary email for password reset and notifications" : "Основной адрес эл. почты для сброса пароля и получения уведомлений", @@ -301,6 +309,10 @@ OC.L10N.register( "Unable to update language" : "Не удалось изменить язык", "No language set" : "Язык не задан", "Locale" : "Региональные стандарты", + "Week starts on {firstDayOfWeek}" : "Первый день недели: {firstDayOfWeek}", + "Unable to update locale" : "Не удалось обновить локаль", + "No locale set" : "Локаль не задана", + "Your location" : "Местоположение", "Your organisation" : "Ваша организация", "Your phone number" : "Ваш номер телефона", "Edit your Profile visibility" : "Изменить видимость профиля", @@ -312,6 +324,8 @@ OC.L10N.register( "Your role" : "Ваша роль", "Your Twitter handle" : "Ваше имя в Twiter", "Your website" : "Ваш сайт", + "No {property} set" : "Свойство «{property}» не задано", + "Unable to update {property}" : "Не удалось обновить свойство «{property}»", "Add additional email" : "Добавить дополнительную электронную почту", "Add" : "Добавить", "You do not have permissions to see the details of this user" : "У вас нет прав на просмотр данных об этом пользователе", @@ -365,11 +379,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Следующие устройства настроены для вашей учетной записи:", "Your browser does not support WebAuthn." : "Ваш браузер не поддерживает WebAuthn.", "Your apps" : "Ваши приложения", - "Active apps" : "Активные приложения", - "Disabled apps" : "Отключённые приложения", - "Updates" : "Обновления", - "App bundles" : "Пакеты приложений", - "Featured apps" : "Рекомендуемые приложения", "{license}-licensed" : "Лицензия: {license}", "Changelog" : "Журнал изменений", "by {author}\n{license}" : "автор: {author}\n{license}", @@ -402,6 +411,11 @@ OC.L10N.register( "Profile visibility" : "Видимость профиля", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Заданный параметр не может быть использован, так как его используют основные функции, такие как совместный доступ к файлам и приглашения к событиям из календаря", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Недоступно, так как публикация пользовательских данных на сервере поиска запрещена, обратитесь к системному администратору, если у вас возникнут какие-либо вопросы", + "Active apps" : "Активные приложения", + "Disabled apps" : "Отключённые приложения", + "Updates" : "Обновления", + "App bundles" : "Пакеты приложений", + "Featured apps" : "Рекомендуемые приложения", "Show to everyone" : "Видим для всех", "Show to logged in users only" : "Видим только для пользователей, вошедших в систему", "Hide" : "Скрыт", @@ -412,7 +426,6 @@ OC.L10N.register( "Never" : "Никогда", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Приложение было включено, но нуждается в обновлении. В течении 5 секунд будет выполнено перенаправление на страницу обновления.", "Error: This app cannot be enabled because it makes the server unstable" : "Ошибка: это приложение не может быть включено, так как оно сделает сервер нестабильным", - "Administrator documentation" : "Документация администратора", "Documentation" : "Документация", "Forum" : "Форум", "Login" : "Логин", diff --git a/apps/settings/l10n/ru.json b/apps/settings/l10n/ru.json index 3c71d4f754b..57e72ad7e4d 100644 --- a/apps/settings/l10n/ru.json +++ b/apps/settings/l10n/ru.json @@ -71,6 +71,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Максимальное количество ключей OPcache почти достигнуто. Чтобы гарантировать, что все скрипты могут быть сохранены в кэше, рекомендуется установить <code>opcache.max_accelerated_files</code> в конфигурации PHP со значением выше, чем <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буфер OPcache близок к переполнению. Для гарантированного сохранения всех сценариев в кэш-памяти рекомендуется в файле конфигурации подсистемы PHP установить параметру <code>opcache.memory_consumption</code> значении более чем <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буфер интернированных строк OPcache почти заполнен. Чтобы обеспечить эффективное кэширование повторяющихся строк, рекомендуется установить <code>opcache.interned_strings_buffer</code> в конфигурации PHP со значением выше, чем <code>%s</code>.", + "Administrator documentation" : "Документация администратора", + "User documentation" : "Пользовательская документация", "Invalid SMTP password." : "Неверный пароль SMTP.", "Email setting test" : "Проверка настроек электронной почты", "Well done, %s!" : "Отлично, %s!", @@ -120,6 +122,7 @@ "Basic settings" : "Основные параметры", "Sharing" : "Параметры публикации", "Availability" : "Доступность", + "Calendar" : "Календарь", "Personal info" : "Личная информация", "Mobile & desktop" : "Клиенты для ПК и мобильных устройств", "Email server" : "Почтовый сервер", @@ -167,7 +170,6 @@ "View in store" : "Посмотреть в магазине приложений", "Visit website" : "Перейти на веб-сайт", "Report a bug" : "Сообщить об ошибке", - "User documentation" : "Пользовательская документация", "Admin documentation" : "Документация для администратора", "Developer documentation" : "Документация для разработчиков", "This app is supported via your current Nextcloud subscription." : "Это приложение поддерживается через вашу текущую подписку Nextcloud.", @@ -273,9 +275,15 @@ "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Обновление изображения профиля может занять до 24 часов.", "Choose your profile picture" : "Выберите изображение профиля", "Please select a valid png or jpg file" : "Выберите файл в формате .png и .jpg", + "Error setting profile picture" : "Не удалось установить изображение профиля", + "Error cropping profile picture" : "Не удалось обрезать изображение профиля", + "Error saving profile picture" : "Не удалось сохранить изображение профиля", + "Error removing profile picture" : "Не удалось очистить изображения профиля", "Your biography" : "Ваша биография", "Details" : "Подробные сведения", "You are a member of the following groups:" : "Вы являетесь участником следующих групп:", + "You are using <strong>{usage}</strong>" : "Вы используете <strong>{usage}</strong>", + "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Вы используете <strong>{usage}</strong> из <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)", "Your full name" : "Ваше полное имя", "Email options" : "Параметры эл. почты", "Primary email for password reset and notifications" : "Основной адрес эл. почты для сброса пароля и получения уведомлений", @@ -299,6 +307,10 @@ "Unable to update language" : "Не удалось изменить язык", "No language set" : "Язык не задан", "Locale" : "Региональные стандарты", + "Week starts on {firstDayOfWeek}" : "Первый день недели: {firstDayOfWeek}", + "Unable to update locale" : "Не удалось обновить локаль", + "No locale set" : "Локаль не задана", + "Your location" : "Местоположение", "Your organisation" : "Ваша организация", "Your phone number" : "Ваш номер телефона", "Edit your Profile visibility" : "Изменить видимость профиля", @@ -310,6 +322,8 @@ "Your role" : "Ваша роль", "Your Twitter handle" : "Ваше имя в Twiter", "Your website" : "Ваш сайт", + "No {property} set" : "Свойство «{property}» не задано", + "Unable to update {property}" : "Не удалось обновить свойство «{property}»", "Add additional email" : "Добавить дополнительную электронную почту", "Add" : "Добавить", "You do not have permissions to see the details of this user" : "У вас нет прав на просмотр данных об этом пользователе", @@ -363,11 +377,6 @@ "The following devices are configured for your account:" : "Следующие устройства настроены для вашей учетной записи:", "Your browser does not support WebAuthn." : "Ваш браузер не поддерживает WebAuthn.", "Your apps" : "Ваши приложения", - "Active apps" : "Активные приложения", - "Disabled apps" : "Отключённые приложения", - "Updates" : "Обновления", - "App bundles" : "Пакеты приложений", - "Featured apps" : "Рекомендуемые приложения", "{license}-licensed" : "Лицензия: {license}", "Changelog" : "Журнал изменений", "by {author}\n{license}" : "автор: {author}\n{license}", @@ -400,6 +409,11 @@ "Profile visibility" : "Видимость профиля", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Заданный параметр не может быть использован, так как его используют основные функции, такие как совместный доступ к файлам и приглашения к событиям из календаря", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Недоступно, так как публикация пользовательских данных на сервере поиска запрещена, обратитесь к системному администратору, если у вас возникнут какие-либо вопросы", + "Active apps" : "Активные приложения", + "Disabled apps" : "Отключённые приложения", + "Updates" : "Обновления", + "App bundles" : "Пакеты приложений", + "Featured apps" : "Рекомендуемые приложения", "Show to everyone" : "Видим для всех", "Show to logged in users only" : "Видим только для пользователей, вошедших в систему", "Hide" : "Скрыт", @@ -410,7 +424,6 @@ "Never" : "Никогда", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Приложение было включено, но нуждается в обновлении. В течении 5 секунд будет выполнено перенаправление на страницу обновления.", "Error: This app cannot be enabled because it makes the server unstable" : "Ошибка: это приложение не может быть включено, так как оно сделает сервер нестабильным", - "Administrator documentation" : "Документация администратора", "Documentation" : "Документация", "Forum" : "Форум", "Login" : "Логин", diff --git a/apps/settings/l10n/sc.js b/apps/settings/l10n/sc.js index 740323ecbc1..23fd2134d3a 100644 --- a/apps/settings/l10n/sc.js +++ b/apps/settings/l10n/sc.js @@ -58,6 +58,8 @@ OC.L10N.register( "installing and updating apps via the App Store or Federated Cloud Sharing" : "installatzione e agiornamentu de is aplicatziones tràmite sa butega de is aplicatziones o sa cumpartzidura in sa nue federada", "Federated Cloud Sharing" : "Cumpartzidura in sa nue federada", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL est impreende una versione %1$sagiornada (%2$s). Agiorna su sistema operativu tuo, si nono funtzionalidades comente %3$s no ant a funtzionare.", + "Administrator documentation" : "Documentatzione amministratzione", + "User documentation" : "Documentatzione utente", "Invalid SMTP password." : "Crae SMTP non bàlida.", "Email setting test" : "Proa de impostatziones de sa posta eletrònica", "Well done, %s!" : "Bene fatu, %s!", @@ -104,6 +106,7 @@ OC.L10N.register( "Overview" : "Panoràmica", "Basic settings" : "Impostatziones de base", "Sharing" : "Cumpartzidura", + "Calendar" : "Calendàriu", "Personal info" : "Informatziones personales", "Mobile & desktop" : "Mòbile e de iscrivania", "Email server" : "Serbidore posta eletrònica", @@ -143,7 +146,6 @@ OC.L10N.register( "View in store" : "Càstia in s'archìviu", "Visit website" : "Vìsita su situ", "Report a bug" : "Signala un'errore", - "User documentation" : "Documentatzione utente", "Admin documentation" : "Documentatzione amministratzione", "Developer documentation" : "Documentatzione isvilupu", "This app is supported via your current Nextcloud subscription." : "Custa aplicatzione est suportada dae sa sutaiscritzione atuale tua in Nextcloud.", @@ -285,11 +287,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Is dispositivos in fatu sunt cunfigurados pro su contu tuo:", "Your browser does not support WebAuthn." : "Su serbidore tuo non suportat WebAuthn.", "Your apps" : "Is aplicatziones tuas", - "Active apps" : "Aplicatziones ativas", - "Disabled apps" : "Aplicatziones disativadas", - "Updates" : "Agiornamentos", - "App bundles" : "Pachetes de aplicatziones", - "Featured apps" : "Aplicatziones in evidèntzia", "{license}-licensed" : "suta lissèntzia {license}", "Changelog" : "Registru de is càmbios", "by {author}\n{license}" : "de {author}\n{license}", @@ -317,6 +314,11 @@ OC.L10N.register( "Role" : "Faina", "Twitter" : "Twitter", "Website" : "Situ ìnternet", + "Active apps" : "Aplicatziones ativas", + "Disabled apps" : "Aplicatziones disativadas", + "Updates" : "Agiornamentos", + "App bundles" : "Pachetes de aplicatziones", + "Featured apps" : "Aplicatziones in evidèntzia", "Hide" : "Cua", "Download and enable" : "Iscàrriga e ativa", "Enable untested app" : "Ativa aplicatzione non verificada", @@ -325,7 +327,6 @@ OC.L10N.register( "Never" : "Mai", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "S'aplicatzione est istada ativada ma tenet bisòngiu de un'agiornamentu. T'amus a deretare a sa pàgina de agiornamentu tra 5 segundos.", "Error: This app cannot be enabled because it makes the server unstable" : "Errore: Custa aplicatzione non si podet ativare ca faghet su serbidore no istàbile", - "Administrator documentation" : "Documentatzione amministratzione", "Documentation" : "Documentatzione", "Forum" : "Forum", "Login" : "Atzessu", diff --git a/apps/settings/l10n/sc.json b/apps/settings/l10n/sc.json index 4fc00a13f1f..2cbaf9d6bf4 100644 --- a/apps/settings/l10n/sc.json +++ b/apps/settings/l10n/sc.json @@ -56,6 +56,8 @@ "installing and updating apps via the App Store or Federated Cloud Sharing" : "installatzione e agiornamentu de is aplicatziones tràmite sa butega de is aplicatziones o sa cumpartzidura in sa nue federada", "Federated Cloud Sharing" : "Cumpartzidura in sa nue federada", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL est impreende una versione %1$sagiornada (%2$s). Agiorna su sistema operativu tuo, si nono funtzionalidades comente %3$s no ant a funtzionare.", + "Administrator documentation" : "Documentatzione amministratzione", + "User documentation" : "Documentatzione utente", "Invalid SMTP password." : "Crae SMTP non bàlida.", "Email setting test" : "Proa de impostatziones de sa posta eletrònica", "Well done, %s!" : "Bene fatu, %s!", @@ -102,6 +104,7 @@ "Overview" : "Panoràmica", "Basic settings" : "Impostatziones de base", "Sharing" : "Cumpartzidura", + "Calendar" : "Calendàriu", "Personal info" : "Informatziones personales", "Mobile & desktop" : "Mòbile e de iscrivania", "Email server" : "Serbidore posta eletrònica", @@ -141,7 +144,6 @@ "View in store" : "Càstia in s'archìviu", "Visit website" : "Vìsita su situ", "Report a bug" : "Signala un'errore", - "User documentation" : "Documentatzione utente", "Admin documentation" : "Documentatzione amministratzione", "Developer documentation" : "Documentatzione isvilupu", "This app is supported via your current Nextcloud subscription." : "Custa aplicatzione est suportada dae sa sutaiscritzione atuale tua in Nextcloud.", @@ -283,11 +285,6 @@ "The following devices are configured for your account:" : "Is dispositivos in fatu sunt cunfigurados pro su contu tuo:", "Your browser does not support WebAuthn." : "Su serbidore tuo non suportat WebAuthn.", "Your apps" : "Is aplicatziones tuas", - "Active apps" : "Aplicatziones ativas", - "Disabled apps" : "Aplicatziones disativadas", - "Updates" : "Agiornamentos", - "App bundles" : "Pachetes de aplicatziones", - "Featured apps" : "Aplicatziones in evidèntzia", "{license}-licensed" : "suta lissèntzia {license}", "Changelog" : "Registru de is càmbios", "by {author}\n{license}" : "de {author}\n{license}", @@ -315,6 +312,11 @@ "Role" : "Faina", "Twitter" : "Twitter", "Website" : "Situ ìnternet", + "Active apps" : "Aplicatziones ativas", + "Disabled apps" : "Aplicatziones disativadas", + "Updates" : "Agiornamentos", + "App bundles" : "Pachetes de aplicatziones", + "Featured apps" : "Aplicatziones in evidèntzia", "Hide" : "Cua", "Download and enable" : "Iscàrriga e ativa", "Enable untested app" : "Ativa aplicatzione non verificada", @@ -323,7 +325,6 @@ "Never" : "Mai", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "S'aplicatzione est istada ativada ma tenet bisòngiu de un'agiornamentu. T'amus a deretare a sa pàgina de agiornamentu tra 5 segundos.", "Error: This app cannot be enabled because it makes the server unstable" : "Errore: Custa aplicatzione non si podet ativare ca faghet su serbidore no istàbile", - "Administrator documentation" : "Documentatzione amministratzione", "Documentation" : "Documentatzione", "Forum" : "Forum", "Login" : "Atzessu", diff --git a/apps/settings/l10n/sk.js b/apps/settings/l10n/sk.js index 8423b5eb4a4..63a63c247ad 100644 --- a/apps/settings/l10n/sk.js +++ b/apps/settings/l10n/sk.js @@ -73,6 +73,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Maximálny počet kľúčov OPcache je takmer prekročený. Aby ste sa uistili, že všetky skripty môžu byť uložené vo vyrovnávacej pamäti, odporúča sa použiť <code>opcache.max_accelerated_files</code> na vašu konfiguráciu PHP s hodnotou vyššou ako <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vyrovnávacia pamäť OPcache je takmer plná. Aby ste sa uistili, že všetky skripty môžu byť uložené vo vyrovnávacej pamäti, odporúča sa použiť <code>opcache.max_accelerated_files</code> na vašu konfiguráciu PHP s hodnotou vyššou ako <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vyrovnávacia pamäť interných reťazcov OPcache je takmer plná. Aby ste sa uistili, že opakujúce sa reťazce možno efektívne ukladať do vyrovnávacej pamäte, odporúča sa použiť na konfiguráciu PHP <code>opcache.interned_strings_buffer</code> s hodnotou vyššou ako <code>%s</code>.", + "Administrator documentation" : "Príručka administrátora", + "User documentation" : "Príručka používateľa", "Invalid SMTP password." : "Nesprávne heslo pre SMTP.", "Email setting test" : "Test nastavení emailu", "Well done, %s!" : "Dobrá práca, %s!", @@ -122,6 +124,7 @@ OC.L10N.register( "Basic settings" : "Základné nastavenia", "Sharing" : "Sprístupňovanie", "Availability" : "Dostupnosť", + "Calendar" : "Kalendár", "Personal info" : "Osobné informácie", "Mobile & desktop" : "Mobil a počítač", "Email server" : "Email server", @@ -169,7 +172,6 @@ OC.L10N.register( "View in store" : "Zobraz v obchode", "Visit website" : "Navštíviť webstránku", "Report a bug" : "Nahlásiť chybu", - "User documentation" : "Príručka používateľa", "Admin documentation" : "Príručka administrátora", "Developer documentation" : "Dokumentácia vývojára", "This app is supported via your current Nextcloud subscription." : "Táto aplikácia je podporovaná prostredníctvom vášho aktuálneho predplatného Nextcloud.", @@ -380,11 +382,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Pre váš účet máte nastavené nasledujúce zariadenia:", "Your browser does not support WebAuthn." : "Váš prehliadač nepodporuje WebAuthn.", "Your apps" : "Vaše aplikácie", - "Active apps" : "Aktívne aplikácie", - "Disabled apps" : "Zakázané aplikácie", - "Updates" : "Aktualizácie", - "App bundles" : "Aplikačné balíky", - "Featured apps" : "Odporúčané aplikácie", "{license}-licensed" : "{license}-licencovaný", "Changelog" : "Zoznam zmien", "by {author}\n{license}" : "od {author}\n{license}", @@ -418,6 +415,11 @@ OC.L10N.register( "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nie je k dispozícii, pretože táto vlastnosť je potrebná pre základné funkcie vrátane zdieľania súborov a pozvánok do kalendára", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nie je k dispozícii, pretože federácia bola pre váš účet zakázaná. Ak máte nejaké otázky, kontaktujte správcu systému", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nie je k dispozícii, pretože publikovanie špecifických údajov užívateľa na vyhľadávacom serveri nie je povolené. Ak máte nejaké otázky, kontaktujte správcu systému", + "Active apps" : "Aktívne aplikácie", + "Disabled apps" : "Zakázané aplikácie", + "Updates" : "Aktualizácie", + "App bundles" : "Aplikačné balíky", + "Featured apps" : "Odporúčané aplikácie", "Show to everyone" : "Viditeľné pre všetkých", "Show to logged in users only" : "Viditeľné iba pre prihlásených užívateľov", "Hide" : "Skyť", @@ -429,7 +431,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "Počas vykonania požiadavky nastala chyba. Nie je možné pokračovať.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikácia bola povolená, ale vyžaduje sa aktualizácia. Presmerovanie na stránku aktualizácie o 5 sekúnd.", "Error: This app cannot be enabled because it makes the server unstable" : "Chyba: aplikáciu nie je možné povoliť, lebo naruší stabilitu servera", - "Administrator documentation" : "Príručka administrátora", "Documentation" : "Dokumentácia", "Forum" : "Fórum", "Login" : "Prihlásenie", diff --git a/apps/settings/l10n/sk.json b/apps/settings/l10n/sk.json index 2006d394785..3b718548eb2 100644 --- a/apps/settings/l10n/sk.json +++ b/apps/settings/l10n/sk.json @@ -71,6 +71,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Maximálny počet kľúčov OPcache je takmer prekročený. Aby ste sa uistili, že všetky skripty môžu byť uložené vo vyrovnávacej pamäti, odporúča sa použiť <code>opcache.max_accelerated_files</code> na vašu konfiguráciu PHP s hodnotou vyššou ako <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vyrovnávacia pamäť OPcache je takmer plná. Aby ste sa uistili, že všetky skripty môžu byť uložené vo vyrovnávacej pamäti, odporúča sa použiť <code>opcache.max_accelerated_files</code> na vašu konfiguráciu PHP s hodnotou vyššou ako <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vyrovnávacia pamäť interných reťazcov OPcache je takmer plná. Aby ste sa uistili, že opakujúce sa reťazce možno efektívne ukladať do vyrovnávacej pamäte, odporúča sa použiť na konfiguráciu PHP <code>opcache.interned_strings_buffer</code> s hodnotou vyššou ako <code>%s</code>.", + "Administrator documentation" : "Príručka administrátora", + "User documentation" : "Príručka používateľa", "Invalid SMTP password." : "Nesprávne heslo pre SMTP.", "Email setting test" : "Test nastavení emailu", "Well done, %s!" : "Dobrá práca, %s!", @@ -120,6 +122,7 @@ "Basic settings" : "Základné nastavenia", "Sharing" : "Sprístupňovanie", "Availability" : "Dostupnosť", + "Calendar" : "Kalendár", "Personal info" : "Osobné informácie", "Mobile & desktop" : "Mobil a počítač", "Email server" : "Email server", @@ -167,7 +170,6 @@ "View in store" : "Zobraz v obchode", "Visit website" : "Navštíviť webstránku", "Report a bug" : "Nahlásiť chybu", - "User documentation" : "Príručka používateľa", "Admin documentation" : "Príručka administrátora", "Developer documentation" : "Dokumentácia vývojára", "This app is supported via your current Nextcloud subscription." : "Táto aplikácia je podporovaná prostredníctvom vášho aktuálneho predplatného Nextcloud.", @@ -378,11 +380,6 @@ "The following devices are configured for your account:" : "Pre váš účet máte nastavené nasledujúce zariadenia:", "Your browser does not support WebAuthn." : "Váš prehliadač nepodporuje WebAuthn.", "Your apps" : "Vaše aplikácie", - "Active apps" : "Aktívne aplikácie", - "Disabled apps" : "Zakázané aplikácie", - "Updates" : "Aktualizácie", - "App bundles" : "Aplikačné balíky", - "Featured apps" : "Odporúčané aplikácie", "{license}-licensed" : "{license}-licencovaný", "Changelog" : "Zoznam zmien", "by {author}\n{license}" : "od {author}\n{license}", @@ -416,6 +413,11 @@ "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nie je k dispozícii, pretože táto vlastnosť je potrebná pre základné funkcie vrátane zdieľania súborov a pozvánok do kalendára", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nie je k dispozícii, pretože federácia bola pre váš účet zakázaná. Ak máte nejaké otázky, kontaktujte správcu systému", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nie je k dispozícii, pretože publikovanie špecifických údajov užívateľa na vyhľadávacom serveri nie je povolené. Ak máte nejaké otázky, kontaktujte správcu systému", + "Active apps" : "Aktívne aplikácie", + "Disabled apps" : "Zakázané aplikácie", + "Updates" : "Aktualizácie", + "App bundles" : "Aplikačné balíky", + "Featured apps" : "Odporúčané aplikácie", "Show to everyone" : "Viditeľné pre všetkých", "Show to logged in users only" : "Viditeľné iba pre prihlásených užívateľov", "Hide" : "Skyť", @@ -427,7 +429,6 @@ "An error occurred during the request. Unable to proceed." : "Počas vykonania požiadavky nastala chyba. Nie je možné pokračovať.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikácia bola povolená, ale vyžaduje sa aktualizácia. Presmerovanie na stránku aktualizácie o 5 sekúnd.", "Error: This app cannot be enabled because it makes the server unstable" : "Chyba: aplikáciu nie je možné povoliť, lebo naruší stabilitu servera", - "Administrator documentation" : "Príručka administrátora", "Documentation" : "Dokumentácia", "Forum" : "Fórum", "Login" : "Prihlásenie", diff --git a/apps/settings/l10n/sl.js b/apps/settings/l10n/sl.js index c1e3941cc61..b9581324959 100644 --- a/apps/settings/l10n/sl.js +++ b/apps/settings/l10n/sl.js @@ -57,6 +57,8 @@ OC.L10N.register( "Wrong admin recovery password. Please check the password and try again." : "Napačno navedeno skrbniško obnovitveno geslo. Preverite geslo in poskusite znova.", "Federated Cloud Sharing" : "Souporaba zveznega oblaka", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "Program cURL uporablja zastarelo različico %1$s (%2$s). Priporočljivo je posodobiti operacijski sistem, sicer možnosti, kot je %3$s, ne bodo delovale pravilno.", + "Administrator documentation" : "Skrbniška dokumentacija", + "User documentation" : "Uporabniška dokumentacija", "Invalid SMTP password." : "Neveljavno geslo SMTP", "Email setting test" : "Preizkus nastavitev elektronske pošte", "Well done, %s!" : "Odlično, %s!", @@ -105,6 +107,7 @@ OC.L10N.register( "Basic settings" : "Osnovne nastavitve", "Sharing" : "Souporaba", "Availability" : "Razpoložljivost", + "Calendar" : "Koledar", "Personal info" : "Osebni podatki", "Mobile & desktop" : "Mobilni in namizni dostop", "Email server" : "Poštni strežnik", @@ -146,7 +149,6 @@ OC.L10N.register( "View in store" : "Pokaži v trgovini", "Visit website" : "Odpri spletno stran", "Report a bug" : "Pošlji poročilo o hrošču", - "User documentation" : "Uporabniška dokumentacija", "Admin documentation" : "Skrbniška dokumentacija", "Developer documentation" : "Dokumentacija za razvijalce", "This app is supported via your current Nextcloud subscription." : "Program je podprt prek trenutne naročnine Nextcloud", @@ -318,11 +320,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Z vašim računom so povezane navedene naprave:", "Your browser does not support WebAuthn." : "Brskalnik ne podpira overitve WebAuthn.", "Your apps" : "Vsi programi", - "Active apps" : "Zagnani programi", - "Disabled apps" : "Onemogočeni programi", - "Updates" : "Posodobitve", - "App bundles" : "Paketi programov", - "Featured apps" : "Predlagani programi", "{license}-licensed" : "dovoljenje {license}", "Changelog" : "Dnevnik sprememb", "by {author}\n{license}" : "Razvoj: {author}\nDovoljenje: {license}", @@ -353,6 +350,11 @@ OC.L10N.register( "Twitter" : "Račun Twitter", "Website" : "Spletna stran", "Profile visibility" : "Vidnost profila", + "Active apps" : "Zagnani programi", + "Disabled apps" : "Onemogočeni programi", + "Updates" : "Posodobitve", + "App bundles" : "Paketi programov", + "Featured apps" : "Predlagani programi", "Show to everyone" : "Pokaži vsem", "Hide" : "Skrij", "Download and enable" : "Prejmi in omogoči", @@ -361,7 +363,6 @@ OC.L10N.register( "Never" : "Nikoli", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Program je omogočen, vendar zahteva posodobitev. Po nekaj sekundah boste preusmerjeni na stran za posodobitev.", "Error: This app cannot be enabled because it makes the server unstable" : "Napaka: tega programa ni mogoče namestiti, ker povzroča nestabilnost strežnika.", - "Administrator documentation" : "Skrbniška dokumentacija", "Documentation" : "Dokumentacija", "Forum" : "Forum", "Login" : "Prijava", diff --git a/apps/settings/l10n/sl.json b/apps/settings/l10n/sl.json index ae0d2686d00..86b2d1d7616 100644 --- a/apps/settings/l10n/sl.json +++ b/apps/settings/l10n/sl.json @@ -55,6 +55,8 @@ "Wrong admin recovery password. Please check the password and try again." : "Napačno navedeno skrbniško obnovitveno geslo. Preverite geslo in poskusite znova.", "Federated Cloud Sharing" : "Souporaba zveznega oblaka", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "Program cURL uporablja zastarelo različico %1$s (%2$s). Priporočljivo je posodobiti operacijski sistem, sicer možnosti, kot je %3$s, ne bodo delovale pravilno.", + "Administrator documentation" : "Skrbniška dokumentacija", + "User documentation" : "Uporabniška dokumentacija", "Invalid SMTP password." : "Neveljavno geslo SMTP", "Email setting test" : "Preizkus nastavitev elektronske pošte", "Well done, %s!" : "Odlično, %s!", @@ -103,6 +105,7 @@ "Basic settings" : "Osnovne nastavitve", "Sharing" : "Souporaba", "Availability" : "Razpoložljivost", + "Calendar" : "Koledar", "Personal info" : "Osebni podatki", "Mobile & desktop" : "Mobilni in namizni dostop", "Email server" : "Poštni strežnik", @@ -144,7 +147,6 @@ "View in store" : "Pokaži v trgovini", "Visit website" : "Odpri spletno stran", "Report a bug" : "Pošlji poročilo o hrošču", - "User documentation" : "Uporabniška dokumentacija", "Admin documentation" : "Skrbniška dokumentacija", "Developer documentation" : "Dokumentacija za razvijalce", "This app is supported via your current Nextcloud subscription." : "Program je podprt prek trenutne naročnine Nextcloud", @@ -316,11 +318,6 @@ "The following devices are configured for your account:" : "Z vašim računom so povezane navedene naprave:", "Your browser does not support WebAuthn." : "Brskalnik ne podpira overitve WebAuthn.", "Your apps" : "Vsi programi", - "Active apps" : "Zagnani programi", - "Disabled apps" : "Onemogočeni programi", - "Updates" : "Posodobitve", - "App bundles" : "Paketi programov", - "Featured apps" : "Predlagani programi", "{license}-licensed" : "dovoljenje {license}", "Changelog" : "Dnevnik sprememb", "by {author}\n{license}" : "Razvoj: {author}\nDovoljenje: {license}", @@ -351,6 +348,11 @@ "Twitter" : "Račun Twitter", "Website" : "Spletna stran", "Profile visibility" : "Vidnost profila", + "Active apps" : "Zagnani programi", + "Disabled apps" : "Onemogočeni programi", + "Updates" : "Posodobitve", + "App bundles" : "Paketi programov", + "Featured apps" : "Predlagani programi", "Show to everyone" : "Pokaži vsem", "Hide" : "Skrij", "Download and enable" : "Prejmi in omogoči", @@ -359,7 +361,6 @@ "Never" : "Nikoli", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Program je omogočen, vendar zahteva posodobitev. Po nekaj sekundah boste preusmerjeni na stran za posodobitev.", "Error: This app cannot be enabled because it makes the server unstable" : "Napaka: tega programa ni mogoče namestiti, ker povzroča nestabilnost strežnika.", - "Administrator documentation" : "Skrbniška dokumentacija", "Documentation" : "Dokumentacija", "Forum" : "Forum", "Login" : "Prijava", diff --git a/apps/settings/l10n/sq.js b/apps/settings/l10n/sq.js index 6a37b89cdd1..f05f10e88af 100644 --- a/apps/settings/l10n/sq.js +++ b/apps/settings/l10n/sq.js @@ -30,6 +30,8 @@ OC.L10N.register( "Please provide an admin recovery password; otherwise, all user data will be lost." : "Ju lutemi siguro një fjalëkalim të rikuperueshëm admini; përndryshe, të gjithë të dhënat e përdoruesit do të humbasin ", "Wrong admin recovery password. Please check the password and try again." : "Fjalëkalim i gabuar rikthimesh për përgjegjësin. Ju lutemi, kontrolloni fjalëkalimin dhe provoni përsëri.", "Federated Cloud Sharing" : "Ndarje Në Re të Federuar ", + "Administrator documentation" : "Dokumentim për përgjegjës", + "User documentation" : "Dokumentim për përdoruesit", "Invalid SMTP password." : "Fjalëkalim SMTP i pavlefshëm", "Email setting test" : "Test i konfigurimeve të Email-it", "Well done, %s!" : "U krye, %s!", @@ -67,6 +69,7 @@ OC.L10N.register( "Additional settings" : "Konfigurime shtesë", "Basic settings" : "Konfigurime bazike", "Sharing" : "Ndarje me të tjerët", + "Calendar" : "Kalendar", "Personal info" : "Informacion personal", "Email server" : "Shërbyes email-esh", "Security & setup warnings" : "Sinjalizime sigurie & rregullimi", @@ -90,7 +93,6 @@ OC.L10N.register( "View in store" : "Shiko në dyqan", "Visit website" : "Vizitoni sajtin", "Report a bug" : "Njoftoni një të metë", - "User documentation" : "Dokumentim për përdoruesit", "Admin documentation" : "Dokumentim për përgjegjësit", "Developer documentation" : "Dokumentim për zhvillues", "Featured" : "I paraqitur", @@ -164,10 +166,6 @@ OC.L10N.register( "Adding your device …" : "Shtoni pajisjen tuaj ...", "Unnamed device" : "Paisje pa emër", "Your apps" : "Aplikacionet tuaja ", - "Active apps" : "Aplikacionet aktive", - "Disabled apps" : "Aplikacionet pa aftësi ", - "Updates" : "Përditësime", - "App bundles" : "Pako e aplikacionit ", "Changelog" : "Katalogu i ndryshimeve", "Add group" : "Shto grup", "Active users" : "Përdoruesit aktivë", @@ -186,10 +184,13 @@ OC.L10N.register( "Phone number" : "Numri i telefonit", "Twitter" : "Twitter", "Website" : "Faqe web-i", + "Active apps" : "Aplikacionet aktive", + "Disabled apps" : "Aplikacionet pa aftësi ", + "Updates" : "Përditësime", + "App bundles" : "Pako e aplikacionit ", "Hide" : "Fshihe", "Never" : "Kurrë", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikacioni është aktivizuar, por lyp të përditësohet. Do të ridrejtoheni te faqja e përditësimeve brenda 5 sekondash.", - "Administrator documentation" : "Dokumentim për përgjegjës", "Documentation" : "Dokumentacioni", "Forum" : "Forum", "Login" : "Hyrje", diff --git a/apps/settings/l10n/sq.json b/apps/settings/l10n/sq.json index 52a69c8cae0..67c7ffea20f 100644 --- a/apps/settings/l10n/sq.json +++ b/apps/settings/l10n/sq.json @@ -28,6 +28,8 @@ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Ju lutemi siguro një fjalëkalim të rikuperueshëm admini; përndryshe, të gjithë të dhënat e përdoruesit do të humbasin ", "Wrong admin recovery password. Please check the password and try again." : "Fjalëkalim i gabuar rikthimesh për përgjegjësin. Ju lutemi, kontrolloni fjalëkalimin dhe provoni përsëri.", "Federated Cloud Sharing" : "Ndarje Në Re të Federuar ", + "Administrator documentation" : "Dokumentim për përgjegjës", + "User documentation" : "Dokumentim për përdoruesit", "Invalid SMTP password." : "Fjalëkalim SMTP i pavlefshëm", "Email setting test" : "Test i konfigurimeve të Email-it", "Well done, %s!" : "U krye, %s!", @@ -65,6 +67,7 @@ "Additional settings" : "Konfigurime shtesë", "Basic settings" : "Konfigurime bazike", "Sharing" : "Ndarje me të tjerët", + "Calendar" : "Kalendar", "Personal info" : "Informacion personal", "Email server" : "Shërbyes email-esh", "Security & setup warnings" : "Sinjalizime sigurie & rregullimi", @@ -88,7 +91,6 @@ "View in store" : "Shiko në dyqan", "Visit website" : "Vizitoni sajtin", "Report a bug" : "Njoftoni një të metë", - "User documentation" : "Dokumentim për përdoruesit", "Admin documentation" : "Dokumentim për përgjegjësit", "Developer documentation" : "Dokumentim për zhvillues", "Featured" : "I paraqitur", @@ -162,10 +164,6 @@ "Adding your device …" : "Shtoni pajisjen tuaj ...", "Unnamed device" : "Paisje pa emër", "Your apps" : "Aplikacionet tuaja ", - "Active apps" : "Aplikacionet aktive", - "Disabled apps" : "Aplikacionet pa aftësi ", - "Updates" : "Përditësime", - "App bundles" : "Pako e aplikacionit ", "Changelog" : "Katalogu i ndryshimeve", "Add group" : "Shto grup", "Active users" : "Përdoruesit aktivë", @@ -184,10 +182,13 @@ "Phone number" : "Numri i telefonit", "Twitter" : "Twitter", "Website" : "Faqe web-i", + "Active apps" : "Aplikacionet aktive", + "Disabled apps" : "Aplikacionet pa aftësi ", + "Updates" : "Përditësime", + "App bundles" : "Pako e aplikacionit ", "Hide" : "Fshihe", "Never" : "Kurrë", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikacioni është aktivizuar, por lyp të përditësohet. Do të ridrejtoheni te faqja e përditësimeve brenda 5 sekondash.", - "Administrator documentation" : "Dokumentim për përgjegjës", "Documentation" : "Dokumentacioni", "Forum" : "Forum", "Login" : "Hyrje", diff --git a/apps/settings/l10n/sr.js b/apps/settings/l10n/sr.js index b63a4e64309..e24ddc1fa26 100644 --- a/apps/settings/l10n/sr.js +++ b/apps/settings/l10n/sr.js @@ -54,6 +54,8 @@ OC.L10N.register( "Wrong admin recovery password. Please check the password and try again." : "Погрешна администраторска лозинка опоравка. Проверите лозинку и покушајте поново.", "Federated Cloud Sharing" : "Здружено дељење у облаку", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL користи застарелу верзију %1$s (%2$s). Ажурирајте оперативни систем или функционалности као што је %3$s неће радити поуздано.", + "Administrator documentation" : "Администраторска документација", + "User documentation" : "Корисничка документација", "Invalid SMTP password." : "Неисправна SMTP лозинка.", "Email setting test" : "Тестирај поставке е-поште", "Well done, %s!" : "Свака част, %s!", @@ -97,6 +99,7 @@ OC.L10N.register( "Overview" : "Преглед", "Basic settings" : "Основне поставке", "Sharing" : "Дељење", + "Calendar" : "Календар", "Personal info" : "Лични подаци", "Mobile & desktop" : "Мобилни и десктоп", "Email server" : "Сервер е-поште", @@ -134,7 +137,6 @@ OC.L10N.register( "View in store" : "Погледај у продавници", "Visit website" : "Посети веб сајт", "Report a bug" : "Пријави проблем", - "User documentation" : "Корисничка документација", "Admin documentation" : "Администраторска документација", "Developer documentation" : "Програмерска документација", "This app is supported via your current Nextcloud subscription." : "Ова апликација је подржана са Вашом тренутном Некстклауд претплатом.", @@ -268,11 +270,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Следећи уређају су подешени за Ваш налог:", "Your browser does not support WebAuthn." : "Ваш веб читач не подржава WebAuthn.", "Your apps" : "Ваше апликације", - "Active apps" : "Активне апликације", - "Disabled apps" : "Искључене апликације", - "Updates" : "Ажурирања", - "App bundles" : "Пакети апликација", - "Featured apps" : "Препоручене апликације", "{license}-licensed" : "{license}-лиценцирано", "Changelog" : "Дневник измена", "by {author}\n{license}" : "од {author}\n{license}", @@ -299,13 +296,17 @@ OC.L10N.register( "Phone number" : "Број телефона", "Twitter" : "Твитер", "Website" : "Веб сајт", + "Active apps" : "Активне апликације", + "Disabled apps" : "Искључене апликације", + "Updates" : "Ажурирања", + "App bundles" : "Пакети апликација", + "Featured apps" : "Препоручене апликације", "Hide" : "Сакриј", "Download and enable" : "Скини и укључи", "Enable untested app" : "Омогући нетестиране апликације", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ова апликација није означена као компатибилна са Вашом верзијом Некстклауда. Ако наставите, моћи ћете свеједно да инсталирате апликацију. Врло је могуће да апликација неће радити како је планирано.", "Never" : "Никад", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Апликација је укључена, али треба да се ажурира. Бићете преусмерени на страну са ажурирањем за 5 секунди.", - "Administrator documentation" : "Администраторска документација", "Documentation" : "Документација", "Forum" : "Форум", "Login" : "Пријава", diff --git a/apps/settings/l10n/sr.json b/apps/settings/l10n/sr.json index 0c3467b67fa..f1e37997ed7 100644 --- a/apps/settings/l10n/sr.json +++ b/apps/settings/l10n/sr.json @@ -52,6 +52,8 @@ "Wrong admin recovery password. Please check the password and try again." : "Погрешна администраторска лозинка опоравка. Проверите лозинку и покушајте поново.", "Federated Cloud Sharing" : "Здружено дељење у облаку", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL користи застарелу верзију %1$s (%2$s). Ажурирајте оперативни систем или функционалности као што је %3$s неће радити поуздано.", + "Administrator documentation" : "Администраторска документација", + "User documentation" : "Корисничка документација", "Invalid SMTP password." : "Неисправна SMTP лозинка.", "Email setting test" : "Тестирај поставке е-поште", "Well done, %s!" : "Свака част, %s!", @@ -95,6 +97,7 @@ "Overview" : "Преглед", "Basic settings" : "Основне поставке", "Sharing" : "Дељење", + "Calendar" : "Календар", "Personal info" : "Лични подаци", "Mobile & desktop" : "Мобилни и десктоп", "Email server" : "Сервер е-поште", @@ -132,7 +135,6 @@ "View in store" : "Погледај у продавници", "Visit website" : "Посети веб сајт", "Report a bug" : "Пријави проблем", - "User documentation" : "Корисничка документација", "Admin documentation" : "Администраторска документација", "Developer documentation" : "Програмерска документација", "This app is supported via your current Nextcloud subscription." : "Ова апликација је подржана са Вашом тренутном Некстклауд претплатом.", @@ -266,11 +268,6 @@ "The following devices are configured for your account:" : "Следећи уређају су подешени за Ваш налог:", "Your browser does not support WebAuthn." : "Ваш веб читач не подржава WebAuthn.", "Your apps" : "Ваше апликације", - "Active apps" : "Активне апликације", - "Disabled apps" : "Искључене апликације", - "Updates" : "Ажурирања", - "App bundles" : "Пакети апликација", - "Featured apps" : "Препоручене апликације", "{license}-licensed" : "{license}-лиценцирано", "Changelog" : "Дневник измена", "by {author}\n{license}" : "од {author}\n{license}", @@ -297,13 +294,17 @@ "Phone number" : "Број телефона", "Twitter" : "Твитер", "Website" : "Веб сајт", + "Active apps" : "Активне апликације", + "Disabled apps" : "Искључене апликације", + "Updates" : "Ажурирања", + "App bundles" : "Пакети апликација", + "Featured apps" : "Препоручене апликације", "Hide" : "Сакриј", "Download and enable" : "Скини и укључи", "Enable untested app" : "Омогући нетестиране апликације", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ова апликација није означена као компатибилна са Вашом верзијом Некстклауда. Ако наставите, моћи ћете свеједно да инсталирате апликацију. Врло је могуће да апликација неће радити како је планирано.", "Never" : "Никад", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Апликација је укључена, али треба да се ажурира. Бићете преусмерени на страну са ажурирањем за 5 секунди.", - "Administrator documentation" : "Администраторска документација", "Documentation" : "Документација", "Forum" : "Форум", "Login" : "Пријава", diff --git a/apps/settings/l10n/sv.js b/apps/settings/l10n/sv.js index fa4b3412343..ad8d3ea8d17 100644 --- a/apps/settings/l10n/sv.js +++ b/apps/settings/l10n/sv.js @@ -58,6 +58,8 @@ OC.L10N.register( "installing and updating apps via the App Store or Federated Cloud Sharing" : "installera och uppdatera appar via appbutiken eller federerad molndelning", "Federated Cloud Sharing" : "Federerad Moln-delning", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL använder en föråldrad %1$s version (%2$s). Uppdatera ditt operativsystem annars kommer inte funktioner som %3$s fungera pålitligt.", + "Administrator documentation" : "Administratörsdokumentation", + "User documentation" : "Användardokumentation", "Invalid SMTP password." : "Ogiltigt SMTP-lösenord.", "Email setting test" : "E-postinställningar test", "Well done, %s!" : "Bra gjort, %s!", @@ -106,6 +108,7 @@ OC.L10N.register( "Basic settings" : "Generella inställningar", "Sharing" : "Dela", "Availability" : "Tillgänglighet", + "Calendar" : "Kalender", "Personal info" : "Personlig information", "Mobile & desktop" : "Mobil & skrivbord", "Email server" : "E-postserver", @@ -147,7 +150,6 @@ OC.L10N.register( "View in store" : "Visa i butik", "Visit website" : "Besök webbplats", "Report a bug" : "Rapportera ett problem", - "User documentation" : "Användardokumentation", "Admin documentation" : "Administratörsdokumentation", "Developer documentation" : "Utvecklardokumentation", "This app is supported via your current Nextcloud subscription." : "Den här appen stöds via ditt nuvarande Nextcloud-abonnemang.", @@ -315,11 +317,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Följande enheter är konfigurerade för ditt konto:", "Your browser does not support WebAuthn." : "Din webbläsare stödjer inte WebAuthn.", "Your apps" : "Dina appar", - "Active apps" : "Aktiva appar", - "Disabled apps" : "Inaktiverade appar", - "Updates" : "Uppdateringar", - "App bundles" : "App-paket", - "Featured apps" : "Utvalda appar", "{license}-licensed" : "{license}-licensierad", "Changelog" : "Ändringslogg", "by {author}\n{license}" : "av {author}\n{license}", @@ -352,6 +349,11 @@ OC.L10N.register( "Profile visibility" : "Profilsynlighet", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Inte tillgänglig då denna inställning krävs för essentiell funktionalitet såsom fildelning och kalenderinbjudningar", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Inte tillgänglig då publicering av användarspecifik data till lookup-servern inte är tillåten, kontakta din systemadministratör ifall du har frågor", + "Active apps" : "Aktiva appar", + "Disabled apps" : "Inaktiverade appar", + "Updates" : "Uppdateringar", + "App bundles" : "App-paket", + "Featured apps" : "Utvalda appar", "Show to everyone" : "Visa för alla", "Show to logged in users only" : "Visa endast för inloggade användare", "Hide" : "Dölj", @@ -362,7 +364,6 @@ OC.L10N.register( "Never" : "Aldrig", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Appen har aktiverats men måste uppdateras. Du kommer att omdirigeras till uppdateringssidan om 5 sekunder.", "Error: This app cannot be enabled because it makes the server unstable" : "Fel: Denna appen kan inte aktiveras eftersom den gör servern instabil", - "Administrator documentation" : "Administratörsdokumentation", "Documentation" : "Dokumentation", "Forum" : "Forum", "Login" : "Logga in", diff --git a/apps/settings/l10n/sv.json b/apps/settings/l10n/sv.json index 19c4adda6e6..94209049c3b 100644 --- a/apps/settings/l10n/sv.json +++ b/apps/settings/l10n/sv.json @@ -56,6 +56,8 @@ "installing and updating apps via the App Store or Federated Cloud Sharing" : "installera och uppdatera appar via appbutiken eller federerad molndelning", "Federated Cloud Sharing" : "Federerad Moln-delning", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL använder en föråldrad %1$s version (%2$s). Uppdatera ditt operativsystem annars kommer inte funktioner som %3$s fungera pålitligt.", + "Administrator documentation" : "Administratörsdokumentation", + "User documentation" : "Användardokumentation", "Invalid SMTP password." : "Ogiltigt SMTP-lösenord.", "Email setting test" : "E-postinställningar test", "Well done, %s!" : "Bra gjort, %s!", @@ -104,6 +106,7 @@ "Basic settings" : "Generella inställningar", "Sharing" : "Dela", "Availability" : "Tillgänglighet", + "Calendar" : "Kalender", "Personal info" : "Personlig information", "Mobile & desktop" : "Mobil & skrivbord", "Email server" : "E-postserver", @@ -145,7 +148,6 @@ "View in store" : "Visa i butik", "Visit website" : "Besök webbplats", "Report a bug" : "Rapportera ett problem", - "User documentation" : "Användardokumentation", "Admin documentation" : "Administratörsdokumentation", "Developer documentation" : "Utvecklardokumentation", "This app is supported via your current Nextcloud subscription." : "Den här appen stöds via ditt nuvarande Nextcloud-abonnemang.", @@ -313,11 +315,6 @@ "The following devices are configured for your account:" : "Följande enheter är konfigurerade för ditt konto:", "Your browser does not support WebAuthn." : "Din webbläsare stödjer inte WebAuthn.", "Your apps" : "Dina appar", - "Active apps" : "Aktiva appar", - "Disabled apps" : "Inaktiverade appar", - "Updates" : "Uppdateringar", - "App bundles" : "App-paket", - "Featured apps" : "Utvalda appar", "{license}-licensed" : "{license}-licensierad", "Changelog" : "Ändringslogg", "by {author}\n{license}" : "av {author}\n{license}", @@ -350,6 +347,11 @@ "Profile visibility" : "Profilsynlighet", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Inte tillgänglig då denna inställning krävs för essentiell funktionalitet såsom fildelning och kalenderinbjudningar", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Inte tillgänglig då publicering av användarspecifik data till lookup-servern inte är tillåten, kontakta din systemadministratör ifall du har frågor", + "Active apps" : "Aktiva appar", + "Disabled apps" : "Inaktiverade appar", + "Updates" : "Uppdateringar", + "App bundles" : "App-paket", + "Featured apps" : "Utvalda appar", "Show to everyone" : "Visa för alla", "Show to logged in users only" : "Visa endast för inloggade användare", "Hide" : "Dölj", @@ -360,7 +362,6 @@ "Never" : "Aldrig", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Appen har aktiverats men måste uppdateras. Du kommer att omdirigeras till uppdateringssidan om 5 sekunder.", "Error: This app cannot be enabled because it makes the server unstable" : "Fel: Denna appen kan inte aktiveras eftersom den gör servern instabil", - "Administrator documentation" : "Administratörsdokumentation", "Documentation" : "Dokumentation", "Forum" : "Forum", "Login" : "Logga in", diff --git a/apps/settings/l10n/th.js b/apps/settings/l10n/th.js index b7da6dc43e4..41e5300b1c4 100644 --- a/apps/settings/l10n/th.js +++ b/apps/settings/l10n/th.js @@ -49,6 +49,8 @@ OC.L10N.register( "Wrong admin recovery password. Please check the password and try again." : "รหัสผ่านกู้คืนของผู้ดูแลระบบไม่ถูกต้อง กรุณาตรวจสอบรหัสผ่านและลองอีกครั้ง", "Federated Cloud Sharing" : "แชร์กับสหพันธ์คลาวด์", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL กำลังใช้ %1$s รุ่นเก่า (%2$s) โปรดอัปเดตระบบปฏิบัติการ ไม่เช่นนั้นคุณสมบัติเช่น %3$s จะไม่สามารถทำงานอย่างมีประสิทธิภาพ", + "Administrator documentation" : "เอกสารประกอบสำหรับผู้ดูแลระบบ", + "User documentation" : "เอกสารประกอบสำหรับผู้ใช้", "Email setting test" : "ทดสอบการตั้งค่าอีเมล", "Well done, %s!" : "เยี่ยมยอด คุณ %s!", "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "เกิดปัญหาขณะส่งอีเมล กรุณาแก้ไขการตั้งค่าของคุณ (ข้อผิดพลาด: %s)", @@ -66,6 +68,7 @@ OC.L10N.register( "Settings" : "การตั้งค่า", "Personal" : "ส่วนตัว", "Sharing" : "การแชร์", + "Calendar" : "ปฏิทิน", "Personal info" : "ข้อมูลส่วนบุคคล", "Email server" : "เซิร์ฟเวอร์อีเมล", "Security & setup warnings" : "คำเตือนความปลอดภัยและการติดตั้ง", @@ -87,7 +90,6 @@ OC.L10N.register( "View in store" : "ดูในร้านค้า", "Visit website" : "เข้าสู่เว็บไซต์", "Report a bug" : "รายงานข้อผิดพลาด", - "User documentation" : "เอกสารประกอบสำหรับผู้ใช้", "Admin documentation" : "เอกสารประกอบสำหรับผู้ดูแลระบบ", "Developer documentation" : "เอกสารประกอบสำหรับนักพัฒนา", "This app is supported via your current Nextcloud subscription." : "แอปนี้รองรับผ่านการเป็นสมาชิก Nextcloud ปัจจุบันของคุณ", @@ -223,11 +225,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "อุปกรณ์เหล่านี้มีการกำหนดค่าสำหรับบัญชีของคุณแล้ว:", "Your browser does not support WebAuthn." : "เบราว์เซอร์ของคุณไม่รองรับ WebAuthn", "Your apps" : "แอปของคุณ", - "Active apps" : "แอปที่เปิดใช้งานอยู่", - "Disabled apps" : "แอปที่ปิดใช้งาน", - "Updates" : "อัปเดต", - "App bundles" : "ชุดรวมแอป", - "Featured apps" : "แอปแนะนำ", "{license}-licensed" : "สัญญาอนุญาต {license}", "Changelog" : "บันทึกการเปลี่ยนแปลง", "by {author}\n{license}" : "โดย {author}\n{license}", @@ -253,6 +250,11 @@ OC.L10N.register( "Phone number" : "หมายเลขโทรศัพท์", "Twitter" : "ทวิตเตอร์", "Website" : "เว็บไซต์", + "Active apps" : "แอปที่เปิดใช้งานอยู่", + "Disabled apps" : "แอปที่ปิดใช้งาน", + "Updates" : "อัปเดต", + "App bundles" : "ชุดรวมแอป", + "Featured apps" : "แอปแนะนำ", "Hide" : "ซ๋อน", "Download and enable" : "ดาวน์โหลดและเปิดใช้งาน", "Enable untested app" : "เปิดใช้งานแอปที่ไม่ได้ทดสอบ", @@ -261,7 +263,6 @@ OC.L10N.register( "Never" : "ไม่เคย", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "แอปเปิดใช้งานแล้ว แต่ต้องทำการอัปเดต คุณจะถูกนำไปยังหน้าอัปเดตใน 5 วินาที", "Error: This app cannot be enabled because it makes the server unstable" : "ข้อผิดพลาด: ไม่สามารถเปิดใช้งานแอปนี้เพราะทำให้เซิร์ฟเวอร์ไม่เสถียร", - "Administrator documentation" : "เอกสารประกอบสำหรับผู้ดูแลระบบ", "Documentation" : "เอกสารประกอบ", "Forum" : "ฟอรัม", "Login" : "เข้าสู่ระบบ", diff --git a/apps/settings/l10n/th.json b/apps/settings/l10n/th.json index 913c45cc091..62ad16aaea8 100644 --- a/apps/settings/l10n/th.json +++ b/apps/settings/l10n/th.json @@ -47,6 +47,8 @@ "Wrong admin recovery password. Please check the password and try again." : "รหัสผ่านกู้คืนของผู้ดูแลระบบไม่ถูกต้อง กรุณาตรวจสอบรหัสผ่านและลองอีกครั้ง", "Federated Cloud Sharing" : "แชร์กับสหพันธ์คลาวด์", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL กำลังใช้ %1$s รุ่นเก่า (%2$s) โปรดอัปเดตระบบปฏิบัติการ ไม่เช่นนั้นคุณสมบัติเช่น %3$s จะไม่สามารถทำงานอย่างมีประสิทธิภาพ", + "Administrator documentation" : "เอกสารประกอบสำหรับผู้ดูแลระบบ", + "User documentation" : "เอกสารประกอบสำหรับผู้ใช้", "Email setting test" : "ทดสอบการตั้งค่าอีเมล", "Well done, %s!" : "เยี่ยมยอด คุณ %s!", "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "เกิดปัญหาขณะส่งอีเมล กรุณาแก้ไขการตั้งค่าของคุณ (ข้อผิดพลาด: %s)", @@ -64,6 +66,7 @@ "Settings" : "การตั้งค่า", "Personal" : "ส่วนตัว", "Sharing" : "การแชร์", + "Calendar" : "ปฏิทิน", "Personal info" : "ข้อมูลส่วนบุคคล", "Email server" : "เซิร์ฟเวอร์อีเมล", "Security & setup warnings" : "คำเตือนความปลอดภัยและการติดตั้ง", @@ -85,7 +88,6 @@ "View in store" : "ดูในร้านค้า", "Visit website" : "เข้าสู่เว็บไซต์", "Report a bug" : "รายงานข้อผิดพลาด", - "User documentation" : "เอกสารประกอบสำหรับผู้ใช้", "Admin documentation" : "เอกสารประกอบสำหรับผู้ดูแลระบบ", "Developer documentation" : "เอกสารประกอบสำหรับนักพัฒนา", "This app is supported via your current Nextcloud subscription." : "แอปนี้รองรับผ่านการเป็นสมาชิก Nextcloud ปัจจุบันของคุณ", @@ -221,11 +223,6 @@ "The following devices are configured for your account:" : "อุปกรณ์เหล่านี้มีการกำหนดค่าสำหรับบัญชีของคุณแล้ว:", "Your browser does not support WebAuthn." : "เบราว์เซอร์ของคุณไม่รองรับ WebAuthn", "Your apps" : "แอปของคุณ", - "Active apps" : "แอปที่เปิดใช้งานอยู่", - "Disabled apps" : "แอปที่ปิดใช้งาน", - "Updates" : "อัปเดต", - "App bundles" : "ชุดรวมแอป", - "Featured apps" : "แอปแนะนำ", "{license}-licensed" : "สัญญาอนุญาต {license}", "Changelog" : "บันทึกการเปลี่ยนแปลง", "by {author}\n{license}" : "โดย {author}\n{license}", @@ -251,6 +248,11 @@ "Phone number" : "หมายเลขโทรศัพท์", "Twitter" : "ทวิตเตอร์", "Website" : "เว็บไซต์", + "Active apps" : "แอปที่เปิดใช้งานอยู่", + "Disabled apps" : "แอปที่ปิดใช้งาน", + "Updates" : "อัปเดต", + "App bundles" : "ชุดรวมแอป", + "Featured apps" : "แอปแนะนำ", "Hide" : "ซ๋อน", "Download and enable" : "ดาวน์โหลดและเปิดใช้งาน", "Enable untested app" : "เปิดใช้งานแอปที่ไม่ได้ทดสอบ", @@ -259,7 +261,6 @@ "Never" : "ไม่เคย", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "แอปเปิดใช้งานแล้ว แต่ต้องทำการอัปเดต คุณจะถูกนำไปยังหน้าอัปเดตใน 5 วินาที", "Error: This app cannot be enabled because it makes the server unstable" : "ข้อผิดพลาด: ไม่สามารถเปิดใช้งานแอปนี้เพราะทำให้เซิร์ฟเวอร์ไม่เสถียร", - "Administrator documentation" : "เอกสารประกอบสำหรับผู้ดูแลระบบ", "Documentation" : "เอกสารประกอบ", "Forum" : "ฟอรัม", "Login" : "เข้าสู่ระบบ", diff --git a/apps/settings/l10n/tr.js b/apps/settings/l10n/tr.js index 6014d5886de..ba0db2acd80 100644 --- a/apps/settings/l10n/tr.js +++ b/apps/settings/l10n/tr.js @@ -73,6 +73,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "En fazla OPcache anahtar sayısına neredeyse erişildi. Tüm betik dosyalarının ön bellekte tutulabilmesini sağlamak için, PHP yapılandırmanıza <code>%s</code> üzerinde bir değerle <code>opcache.max_accelerated_files</code> uygulamanız önerilir.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache ara belleği neredeyse dolu. Tüm betik dosyalarının ön bellekte tutulabilmesini sağlamak için, PHP yapılandırmanıza <code>%s</code> üzerinde bir değerle <code>opcache.memory_consumption</code> uygulamanız önerilir.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache interned dizge ara belleği neredeyse dolu. Yinelenen dizgelerin etkin bir şekilde ön belleğe alınabilmesini sağlamak için, PHP yapılandırmanıza <code>%s</code> üzerinde bir değerle <code>opcache.interned_strings_buffer</code> uygulamanız önerilir.", + "Administrator documentation" : "Yönetici belgeleri", + "User documentation" : "Kullanıcı belgeleri", "Invalid SMTP password." : "SMTP parolası geçersiz.", "Email setting test" : "E-posta ayarları sınaması", "Well done, %s!" : "Tamamdır %s!", @@ -122,6 +124,7 @@ OC.L10N.register( "Basic settings" : "Temel ayarlar", "Sharing" : "Paylaşım", "Availability" : "Kullanılabilirlik", + "Calendar" : "Takvim", "Personal info" : "Kişisel bilgiler", "Mobile & desktop" : "Mobil ve masaüstü", "Email server" : "E-posta sunucusu", @@ -169,7 +172,6 @@ OC.L10N.register( "View in store" : "Mağazada görüntüle", "Visit website" : "Web sayfasına bakın", "Report a bug" : "Hata bildirin", - "User documentation" : "Kullanıcı belgeleri", "Admin documentation" : "Yönetici belgeleri", "Developer documentation" : "Geliştirici belgeleri", "This app is supported via your current Nextcloud subscription." : "Bu uygulamanın desteği geçerli Nextcloud aboneliğiniz ile sağlanır.", @@ -301,6 +303,7 @@ OC.L10N.register( "Unable to delete additional email address" : "Ek e-posta adresi silinemedi", "No email address set" : "E-posta adresi belirtilmemiş", "Additional emails" : "Ek e-posta adresleri", + "Your handle" : "Kodunuz", "Your headline" : "Başlığınız", "Language" : "Dil", "Help translate" : "Çeviriye yardım edin", @@ -380,11 +383,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "Hesabınız için şu aygıtlar yapılandırılmış:", "Your browser does not support WebAuthn." : "Web tarayıcınız WebAuthn desteklemiyor.", "Your apps" : "Uygulamalarınız", - "Active apps" : "Etkin uygulamalar", - "Disabled apps" : "Devre dışı uygulamalar", - "Updates" : "Güncellemeler", - "App bundles" : "Uygulama Paketleri", - "Featured apps" : "Öne çıkarılmış uygulamalar", "{license}-licensed" : "{license}-lisanslı", "Changelog" : "Değişiklik günlüğü", "by {author}\n{license}" : "{author} tarafından\n{license}", @@ -413,11 +411,17 @@ OC.L10N.register( "Phone number" : "Telefon numarası", "Role" : "Pozisyon", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse (Mastodon gibi)", "Website" : "Web sitesi", "Profile visibility" : "Profil görünürlüğü", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Bu özellik, dosya paylaşımı ve takvim çağrıları gibi temel işlevler için gerekli olduğundan kullanılamıyor", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Hesabınızda birleşik kullanım devre dışı bırakılmış olduğundan kullanılamıyor. Herhangi bir sorunuz varsa sistem yöneticinizle görüşün.", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Kullanıcıya özel verilerin arama sunucusunda yayınlanmasına izin verilmediğinden kullanılamıyor. Herhangi bir sorunuz varsa sistem yöneticinizle görüşün.", + "Active apps" : "Etkin uygulamalar", + "Disabled apps" : "Devre dışı uygulamalar", + "Updates" : "Güncellemeler", + "App bundles" : "Uygulama Paketleri", + "Featured apps" : "Öne çıkarılmış uygulamalar", "Show to everyone" : "Herkese görüntülensin", "Show to logged in users only" : "Yalnızca oturum açmış kullanıcılara görüntülensin", "Hide" : "Gizlensin", @@ -429,7 +433,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "İstek sırasında bir sorun çıktı. İşlem sürdürülemiyor.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Uygulama etkinleştirilmiş fakat güncellenmesi gerekiyor. 5 saniye içinde güncelleme sayfasına yönlendirileceksiniz.", "Error: This app cannot be enabled because it makes the server unstable" : "Hata: Bu uygulama sunucuda kararsızlığa yol açtığından etkinleştirilemez", - "Administrator documentation" : "Yönetici belgeleri", "Documentation" : "Belgeler", "Forum" : "Forum", "Login" : "Oturum açın", diff --git a/apps/settings/l10n/tr.json b/apps/settings/l10n/tr.json index bae09468d74..689bf46fea3 100644 --- a/apps/settings/l10n/tr.json +++ b/apps/settings/l10n/tr.json @@ -71,6 +71,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "En fazla OPcache anahtar sayısına neredeyse erişildi. Tüm betik dosyalarının ön bellekte tutulabilmesini sağlamak için, PHP yapılandırmanıza <code>%s</code> üzerinde bir değerle <code>opcache.max_accelerated_files</code> uygulamanız önerilir.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache ara belleği neredeyse dolu. Tüm betik dosyalarının ön bellekte tutulabilmesini sağlamak için, PHP yapılandırmanıza <code>%s</code> üzerinde bir değerle <code>opcache.memory_consumption</code> uygulamanız önerilir.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache interned dizge ara belleği neredeyse dolu. Yinelenen dizgelerin etkin bir şekilde ön belleğe alınabilmesini sağlamak için, PHP yapılandırmanıza <code>%s</code> üzerinde bir değerle <code>opcache.interned_strings_buffer</code> uygulamanız önerilir.", + "Administrator documentation" : "Yönetici belgeleri", + "User documentation" : "Kullanıcı belgeleri", "Invalid SMTP password." : "SMTP parolası geçersiz.", "Email setting test" : "E-posta ayarları sınaması", "Well done, %s!" : "Tamamdır %s!", @@ -120,6 +122,7 @@ "Basic settings" : "Temel ayarlar", "Sharing" : "Paylaşım", "Availability" : "Kullanılabilirlik", + "Calendar" : "Takvim", "Personal info" : "Kişisel bilgiler", "Mobile & desktop" : "Mobil ve masaüstü", "Email server" : "E-posta sunucusu", @@ -167,7 +170,6 @@ "View in store" : "Mağazada görüntüle", "Visit website" : "Web sayfasına bakın", "Report a bug" : "Hata bildirin", - "User documentation" : "Kullanıcı belgeleri", "Admin documentation" : "Yönetici belgeleri", "Developer documentation" : "Geliştirici belgeleri", "This app is supported via your current Nextcloud subscription." : "Bu uygulamanın desteği geçerli Nextcloud aboneliğiniz ile sağlanır.", @@ -299,6 +301,7 @@ "Unable to delete additional email address" : "Ek e-posta adresi silinemedi", "No email address set" : "E-posta adresi belirtilmemiş", "Additional emails" : "Ek e-posta adresleri", + "Your handle" : "Kodunuz", "Your headline" : "Başlığınız", "Language" : "Dil", "Help translate" : "Çeviriye yardım edin", @@ -378,11 +381,6 @@ "The following devices are configured for your account:" : "Hesabınız için şu aygıtlar yapılandırılmış:", "Your browser does not support WebAuthn." : "Web tarayıcınız WebAuthn desteklemiyor.", "Your apps" : "Uygulamalarınız", - "Active apps" : "Etkin uygulamalar", - "Disabled apps" : "Devre dışı uygulamalar", - "Updates" : "Güncellemeler", - "App bundles" : "Uygulama Paketleri", - "Featured apps" : "Öne çıkarılmış uygulamalar", "{license}-licensed" : "{license}-lisanslı", "Changelog" : "Değişiklik günlüğü", "by {author}\n{license}" : "{author} tarafından\n{license}", @@ -411,11 +409,17 @@ "Phone number" : "Telefon numarası", "Role" : "Pozisyon", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse (Mastodon gibi)", "Website" : "Web sitesi", "Profile visibility" : "Profil görünürlüğü", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Bu özellik, dosya paylaşımı ve takvim çağrıları gibi temel işlevler için gerekli olduğundan kullanılamıyor", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Hesabınızda birleşik kullanım devre dışı bırakılmış olduğundan kullanılamıyor. Herhangi bir sorunuz varsa sistem yöneticinizle görüşün.", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Kullanıcıya özel verilerin arama sunucusunda yayınlanmasına izin verilmediğinden kullanılamıyor. Herhangi bir sorunuz varsa sistem yöneticinizle görüşün.", + "Active apps" : "Etkin uygulamalar", + "Disabled apps" : "Devre dışı uygulamalar", + "Updates" : "Güncellemeler", + "App bundles" : "Uygulama Paketleri", + "Featured apps" : "Öne çıkarılmış uygulamalar", "Show to everyone" : "Herkese görüntülensin", "Show to logged in users only" : "Yalnızca oturum açmış kullanıcılara görüntülensin", "Hide" : "Gizlensin", @@ -427,7 +431,6 @@ "An error occurred during the request. Unable to proceed." : "İstek sırasında bir sorun çıktı. İşlem sürdürülemiyor.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Uygulama etkinleştirilmiş fakat güncellenmesi gerekiyor. 5 saniye içinde güncelleme sayfasına yönlendirileceksiniz.", "Error: This app cannot be enabled because it makes the server unstable" : "Hata: Bu uygulama sunucuda kararsızlığa yol açtığından etkinleştirilemez", - "Administrator documentation" : "Yönetici belgeleri", "Documentation" : "Belgeler", "Forum" : "Forum", "Login" : "Oturum açın", diff --git a/apps/settings/l10n/uk.js b/apps/settings/l10n/uk.js index 0a9224a45a9..02da0bdca07 100644 --- a/apps/settings/l10n/uk.js +++ b/apps/settings/l10n/uk.js @@ -73,6 +73,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Майже перевищено максимальну кількість ключів OPcache. Щоб переконатися, що всі сценарії можна зберігати в кеші, рекомендується застосувати <code>opcache.max_accelerated_files</code> до вашої конфігурації PHP зі значенням, вищим за <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буфер OPcache майже заповнений. Щоб переконатися, що всі сценарії можна зберігати в кеші, рекомендується застосувати <code>opcache.memory_consumption</code> до вашої конфігурації PHP зі значенням, вищим за <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Вбудований буфер рядків OPcache майже заповнений. Щоб забезпечити ефективне кешування рядків, що повторюються, рекомендується застосувати <code>opcache.interned_strings_buffer</code> до вашої конфігурації PHP із значенням, вищим за <code>%s</code>.", + "Administrator documentation" : "Документація адміністратора", + "User documentation" : "Користувацька документація", "Invalid SMTP password." : "Недійсний пароль SMTP.", "Email setting test" : "Тестування параметрів електронної пошти", "Well done, %s!" : "Молодець, %s!", @@ -122,6 +124,7 @@ OC.L10N.register( "Basic settings" : "Основні налаштування", "Sharing" : "Спільний доступ", "Availability" : "Доступність", + "Calendar" : "Календар", "Personal info" : "Особиста інформація", "Mobile & desktop" : "Застосунки для пристроїв", "Email server" : "Сервер електронної пошти", @@ -169,7 +172,6 @@ OC.L10N.register( "View in store" : "Переглянути у крамниці застосунків", "Visit website" : "Перейти на вебсайт", "Report a bug" : "Повідомити про помилку", - "User documentation" : "Користувацька документація", "Admin documentation" : "Документація адміністратора", "Developer documentation" : "Документація з розробки", "This app is supported via your current Nextcloud subscription." : "Підтримка застосунку через вашу поточну передплату Nextcloud.", @@ -380,14 +382,9 @@ OC.L10N.register( "The following devices are configured for your account:" : "Для вашого облікового запису налаштовано такі пристрої:", "Your browser does not support WebAuthn." : "Ваш браузер не підтримує WebAuthn.", "Your apps" : "Ваші застосунки", - "Active apps" : "Активні застосунки", - "Disabled apps" : "Неактивні застосунки", - "Updates" : "Оновлення", - "App bundles" : "Набори застосунків", - "Featured apps" : "Функціональні застосунки", "{license}-licensed" : "Ліцензія: {license}", "Changelog" : "Зміни", - "by {author}\n{license}" : "автор: {author} {ліцензія}", + "by {author}\n{license}" : "Автор: {author}\n{license}", "Enter group name" : "Зазначте назву групи", "Add group" : "Додати групу", "Active users" : "Активні користувачі", @@ -417,10 +414,15 @@ OC.L10N.register( "Profile visibility" : "Видимість профілю", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Недоступно, оскільки ця властивість необхідна для основних функцій, включаючи спільний доступ до файлів і запрошення в календарі", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Недоступно, оскільки публікація даних користувача на пошуковому сервері заборонена. Зверніться до системного адміністратора, якщо у вас виникнуть запитання", + "Active apps" : "Активні застосунки", + "Disabled apps" : "Неактивні застосунки", + "Updates" : "Оновлення", + "App bundles" : "Набори застосунків", + "Featured apps" : "Функціональні застосунки", "Show to everyone" : "Показувати всім", "Show to logged in users only" : "Показувати лише авторизованим користувачам", "Hide" : "Сховати", - "Download and enable" : "Завантажити та увімкнути", + "Download and enable" : "Звантажити та увімкнути", "Enable untested app" : "Увімкнути непротестований застосунок", "The app will be downloaded from the App Store" : "Застосунок буде завантажено з App Store", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Відсутня інформація щодо підтримки цього застосунку вашою версією Nextcloud. Ви зможете встановити цей застосунок, проте він може працювати не так, як ви очікуєте.", @@ -428,7 +430,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "Під час запиту сталася помилка. Неможливо продовжити.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Застосунок активовано, але його потрібно оновити. Вас буде переспрямовано на сторінку оновлення через 5 секунд.", "Error: This app cannot be enabled because it makes the server unstable" : "Помилка: цю програму неможливо ввімкнути, оскільки вона робить сервер нестабільним", - "Administrator documentation" : "Документація адміністратора", "Documentation" : "Документація", "Forum" : "Форум", "Login" : "Логін", diff --git a/apps/settings/l10n/uk.json b/apps/settings/l10n/uk.json index 728dceacd12..c2c6fbf2cd5 100644 --- a/apps/settings/l10n/uk.json +++ b/apps/settings/l10n/uk.json @@ -71,6 +71,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Майже перевищено максимальну кількість ключів OPcache. Щоб переконатися, що всі сценарії можна зберігати в кеші, рекомендується застосувати <code>opcache.max_accelerated_files</code> до вашої конфігурації PHP зі значенням, вищим за <code>%s</code>.", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буфер OPcache майже заповнений. Щоб переконатися, що всі сценарії можна зберігати в кеші, рекомендується застосувати <code>opcache.memory_consumption</code> до вашої конфігурації PHP зі значенням, вищим за <code>%s</code>.", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Вбудований буфер рядків OPcache майже заповнений. Щоб забезпечити ефективне кешування рядків, що повторюються, рекомендується застосувати <code>opcache.interned_strings_buffer</code> до вашої конфігурації PHP із значенням, вищим за <code>%s</code>.", + "Administrator documentation" : "Документація адміністратора", + "User documentation" : "Користувацька документація", "Invalid SMTP password." : "Недійсний пароль SMTP.", "Email setting test" : "Тестування параметрів електронної пошти", "Well done, %s!" : "Молодець, %s!", @@ -120,6 +122,7 @@ "Basic settings" : "Основні налаштування", "Sharing" : "Спільний доступ", "Availability" : "Доступність", + "Calendar" : "Календар", "Personal info" : "Особиста інформація", "Mobile & desktop" : "Застосунки для пристроїв", "Email server" : "Сервер електронної пошти", @@ -167,7 +170,6 @@ "View in store" : "Переглянути у крамниці застосунків", "Visit website" : "Перейти на вебсайт", "Report a bug" : "Повідомити про помилку", - "User documentation" : "Користувацька документація", "Admin documentation" : "Документація адміністратора", "Developer documentation" : "Документація з розробки", "This app is supported via your current Nextcloud subscription." : "Підтримка застосунку через вашу поточну передплату Nextcloud.", @@ -378,14 +380,9 @@ "The following devices are configured for your account:" : "Для вашого облікового запису налаштовано такі пристрої:", "Your browser does not support WebAuthn." : "Ваш браузер не підтримує WebAuthn.", "Your apps" : "Ваші застосунки", - "Active apps" : "Активні застосунки", - "Disabled apps" : "Неактивні застосунки", - "Updates" : "Оновлення", - "App bundles" : "Набори застосунків", - "Featured apps" : "Функціональні застосунки", "{license}-licensed" : "Ліцензія: {license}", "Changelog" : "Зміни", - "by {author}\n{license}" : "автор: {author} {ліцензія}", + "by {author}\n{license}" : "Автор: {author}\n{license}", "Enter group name" : "Зазначте назву групи", "Add group" : "Додати групу", "Active users" : "Активні користувачі", @@ -415,10 +412,15 @@ "Profile visibility" : "Видимість профілю", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Недоступно, оскільки ця властивість необхідна для основних функцій, включаючи спільний доступ до файлів і запрошення в календарі", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Недоступно, оскільки публікація даних користувача на пошуковому сервері заборонена. Зверніться до системного адміністратора, якщо у вас виникнуть запитання", + "Active apps" : "Активні застосунки", + "Disabled apps" : "Неактивні застосунки", + "Updates" : "Оновлення", + "App bundles" : "Набори застосунків", + "Featured apps" : "Функціональні застосунки", "Show to everyone" : "Показувати всім", "Show to logged in users only" : "Показувати лише авторизованим користувачам", "Hide" : "Сховати", - "Download and enable" : "Завантажити та увімкнути", + "Download and enable" : "Звантажити та увімкнути", "Enable untested app" : "Увімкнути непротестований застосунок", "The app will be downloaded from the App Store" : "Застосунок буде завантажено з App Store", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Відсутня інформація щодо підтримки цього застосунку вашою версією Nextcloud. Ви зможете встановити цей застосунок, проте він може працювати не так, як ви очікуєте.", @@ -426,7 +428,6 @@ "An error occurred during the request. Unable to proceed." : "Під час запиту сталася помилка. Неможливо продовжити.", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Застосунок активовано, але його потрібно оновити. Вас буде переспрямовано на сторінку оновлення через 5 секунд.", "Error: This app cannot be enabled because it makes the server unstable" : "Помилка: цю програму неможливо ввімкнути, оскільки вона робить сервер нестабільним", - "Administrator documentation" : "Документація адміністратора", "Documentation" : "Документація", "Forum" : "Форум", "Login" : "Логін", diff --git a/apps/settings/l10n/vi.js b/apps/settings/l10n/vi.js index 10e3083df05..17244c2287c 100644 --- a/apps/settings/l10n/vi.js +++ b/apps/settings/l10n/vi.js @@ -50,6 +50,8 @@ OC.L10N.register( "Wrong admin recovery password. Please check the password and try again." : "Sai mật khẩu khôi phục quản trị viên. Vui lòng kiểm tra mật khẩu và thử lại.", "Federated Cloud Sharing" : "Federated Cloud Sharing", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL đang sử dụng đã lâu không cập nhật %1$s phiên bản (%2$s). Vui lòng cập nhật hệ điều hành hoặc các tính năng như %3$s sẽ không hoạt động đáng tin cậy.", + "Administrator documentation" : "Tài liệu quản trị viên", + "User documentation" : "Tài liệu người dùng", "Invalid SMTP password." : "Mật khẩu SMTT không chính xác.", "Email setting test" : "Kiểm tra cài đặt email", "Well done, %s!" : "Làm rất tốt, %s!", @@ -86,6 +88,7 @@ OC.L10N.register( "Settings" : "Cài đặt", "Personal" : "Cá nhân", "Sharing" : "Chia sẻ", + "Calendar" : "Lịch", "Security & setup warnings" : "Bảo mật và thiết lập cảnh báo", "Background jobs" : "Các công việc trong nền", "Create" : "Tạo mới", @@ -113,7 +116,6 @@ OC.L10N.register( "View in store" : "Xem tại cửa hàng", "Visit website" : "Truy cập trang web", "Report a bug" : "Báo cáo lỗi", - "User documentation" : "Tài liệu người dùng", "Admin documentation" : "Tài liệu quản trị", "Developer documentation" : "Tài liệu dành cho nhà phát triển", "This app is supported via your current Nextcloud subscription." : "Ứng dụng này được hỗ trợ thông qua thuê bao Nextcloud hiện tại của bạn.", @@ -193,11 +195,6 @@ OC.L10N.register( "Common languages" : "Ngôn ngữ thông dụng", "Password change is disabled because the master key is disabled" : "Thay đổi mật khẩu bị vô hiệu hóa vì khóa chính bị vô hiệu hóa", "Your apps" : "Ứng dụng của bạn", - "Active apps" : "Ứng dụng kích hoạt", - "Disabled apps" : "Ứng dụng vô hiệu hóa", - "Updates" : "Cập nhật", - "App bundles" : "Gói ứng dụng", - "Featured apps" : "Các ứng dụng đề xuất", "Changelog" : "Sổ cập nhập thay đổi", "Add group" : "Thêm nhóm", "Active users" : "Người dùng hoạt động", @@ -217,13 +214,17 @@ OC.L10N.register( "Phone number" : "Số điện thoại", "Twitter" : "Twitter", "Website" : "Website", + "Active apps" : "Ứng dụng kích hoạt", + "Disabled apps" : "Ứng dụng vô hiệu hóa", + "Updates" : "Cập nhật", + "App bundles" : "Gói ứng dụng", + "Featured apps" : "Các ứng dụng đề xuất", "Hide" : "Ẩn", "Download and enable" : "Tải xuống và kích hoạt", "Enable untested app" : "Bật ứng dụng chưa được kiểm tra", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ứng dụng này không được đánh dấu là tương thích với phiên bản Nextcloud của bạn. Nếu bạn tiếp tục, bạn vẫn có thể cài đặt ứng dụng. Lưu ý rằng ứng dụng có thể không hoạt động như mong đợi.", "Never" : "Không bao giờ", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Ứng dụng đã được kích hoạt nhưng cần được cập nhật. Bạn sẽ được chuyển hướng đến trang cập nhật sau 5 giây.", - "Administrator documentation" : "Tài liệu quản trị viên", "Documentation" : "Tài liệu", "Forum" : "Diễn đàn", "Login" : "Đăng nhập", diff --git a/apps/settings/l10n/vi.json b/apps/settings/l10n/vi.json index bc8fbfe6a52..43a4a023070 100644 --- a/apps/settings/l10n/vi.json +++ b/apps/settings/l10n/vi.json @@ -48,6 +48,8 @@ "Wrong admin recovery password. Please check the password and try again." : "Sai mật khẩu khôi phục quản trị viên. Vui lòng kiểm tra mật khẩu và thử lại.", "Federated Cloud Sharing" : "Federated Cloud Sharing", "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL đang sử dụng đã lâu không cập nhật %1$s phiên bản (%2$s). Vui lòng cập nhật hệ điều hành hoặc các tính năng như %3$s sẽ không hoạt động đáng tin cậy.", + "Administrator documentation" : "Tài liệu quản trị viên", + "User documentation" : "Tài liệu người dùng", "Invalid SMTP password." : "Mật khẩu SMTT không chính xác.", "Email setting test" : "Kiểm tra cài đặt email", "Well done, %s!" : "Làm rất tốt, %s!", @@ -84,6 +86,7 @@ "Settings" : "Cài đặt", "Personal" : "Cá nhân", "Sharing" : "Chia sẻ", + "Calendar" : "Lịch", "Security & setup warnings" : "Bảo mật và thiết lập cảnh báo", "Background jobs" : "Các công việc trong nền", "Create" : "Tạo mới", @@ -111,7 +114,6 @@ "View in store" : "Xem tại cửa hàng", "Visit website" : "Truy cập trang web", "Report a bug" : "Báo cáo lỗi", - "User documentation" : "Tài liệu người dùng", "Admin documentation" : "Tài liệu quản trị", "Developer documentation" : "Tài liệu dành cho nhà phát triển", "This app is supported via your current Nextcloud subscription." : "Ứng dụng này được hỗ trợ thông qua thuê bao Nextcloud hiện tại của bạn.", @@ -191,11 +193,6 @@ "Common languages" : "Ngôn ngữ thông dụng", "Password change is disabled because the master key is disabled" : "Thay đổi mật khẩu bị vô hiệu hóa vì khóa chính bị vô hiệu hóa", "Your apps" : "Ứng dụng của bạn", - "Active apps" : "Ứng dụng kích hoạt", - "Disabled apps" : "Ứng dụng vô hiệu hóa", - "Updates" : "Cập nhật", - "App bundles" : "Gói ứng dụng", - "Featured apps" : "Các ứng dụng đề xuất", "Changelog" : "Sổ cập nhập thay đổi", "Add group" : "Thêm nhóm", "Active users" : "Người dùng hoạt động", @@ -215,13 +212,17 @@ "Phone number" : "Số điện thoại", "Twitter" : "Twitter", "Website" : "Website", + "Active apps" : "Ứng dụng kích hoạt", + "Disabled apps" : "Ứng dụng vô hiệu hóa", + "Updates" : "Cập nhật", + "App bundles" : "Gói ứng dụng", + "Featured apps" : "Các ứng dụng đề xuất", "Hide" : "Ẩn", "Download and enable" : "Tải xuống và kích hoạt", "Enable untested app" : "Bật ứng dụng chưa được kiểm tra", "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ứng dụng này không được đánh dấu là tương thích với phiên bản Nextcloud của bạn. Nếu bạn tiếp tục, bạn vẫn có thể cài đặt ứng dụng. Lưu ý rằng ứng dụng có thể không hoạt động như mong đợi.", "Never" : "Không bao giờ", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Ứng dụng đã được kích hoạt nhưng cần được cập nhật. Bạn sẽ được chuyển hướng đến trang cập nhật sau 5 giây.", - "Administrator documentation" : "Tài liệu quản trị viên", "Documentation" : "Tài liệu", "Forum" : "Diễn đàn", "Login" : "Đăng nhập", diff --git a/apps/settings/l10n/zh_CN.js b/apps/settings/l10n/zh_CN.js index bf57657c957..c57f9094b41 100644 --- a/apps/settings/l10n/zh_CN.js +++ b/apps/settings/l10n/zh_CN.js @@ -73,6 +73,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "几乎超过了 OPcache 键的最大数量。为确保所有脚本可以保留在缓存中,建议在您的 PHP 设置中 <code>opcache.max_accelerated_files</code> 设置一个高于 <code>%s</code> 的值。", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 缓存几乎已满。为确保所有脚本可以保留在缓存中,建议在您的 PHP 设置中 <code>opcache.memory_consumption</code> 设置一个高于 <code>%s</code> 的值。", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 内部字符串缓存几乎已满。为确保重复的字符串可以被有效地缓存,建议在您的 PHP 设置中 <code>opcache.interned_strings_buffer</code> 设置一个高于 <code>%s</code> 的值。", + "Administrator documentation" : "管理员文档", + "User documentation" : "用户文档", "Invalid SMTP password." : "无效的 SMTP 密码", "Email setting test" : "电子邮件设置测试", "Well done, %s!" : "已完成,%s!", @@ -122,6 +124,7 @@ OC.L10N.register( "Basic settings" : "基本设置", "Sharing" : "共享", "Availability" : "可用性", + "Calendar" : "日历", "Personal info" : "个人信息", "Mobile & desktop" : "手机与电脑", "Email server" : "电子邮件服务器", @@ -169,7 +172,6 @@ OC.L10N.register( "View in store" : "在商店中查看", "Visit website" : "访问网站", "Report a bug" : "报告问题", - "User documentation" : "用户文档", "Admin documentation" : "管理员文档", "Developer documentation" : "开发者文档", "This app is supported via your current Nextcloud subscription." : "根据您的 Nextcloud 订阅,此应用受到支持。", @@ -380,11 +382,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "为您的帐户配置了以下设备:", "Your browser does not support WebAuthn." : "您的浏览器不支持 WebAuthn。", "Your apps" : "您的应用", - "Active apps" : "已启用的应用", - "Disabled apps" : "已禁用的应用", - "Updates" : "更新", - "App bundles" : "应用捆绑包", - "Featured apps" : "精选应用", "{license}-licensed" : "{license}-许可协议", "Changelog" : "更改日志", "by {author}\n{license}" : "按照 {author}\n{license}", @@ -418,6 +415,11 @@ OC.L10N.register( "Not available as this property is required for core functionality including file sharing and calendar invitations" : "不可用,因为包括文件共享和日历邀请在内的核心功能需要此属性", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "您的账号上的联合云功能已被停用,如有疑问,请咨询系统管理员。", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "不可用,因为不允许将特定于用户的数据发布到查找服务器,如果有任何问题,请与系统管理员联系", + "Active apps" : "已启用的应用", + "Disabled apps" : "已禁用的应用", + "Updates" : "更新", + "App bundles" : "应用捆绑包", + "Featured apps" : "精选应用", "Show to everyone" : "显示给所有人", "Show to logged in users only" : "仅显示给登录用户", "Hide" : "隐藏", @@ -429,7 +431,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "请求期间发生错误。无法继续。", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "该应用已启用,但是需要更新。5秒后将跳转到更新页面。", "Error: This app cannot be enabled because it makes the server unstable" : "错误:这个应用程序不能被启用,因为它使服务器不稳定 ", - "Administrator documentation" : "管理员文档", "Documentation" : "文档", "Forum" : "论坛", "Login" : "登录", diff --git a/apps/settings/l10n/zh_CN.json b/apps/settings/l10n/zh_CN.json index d49fcdd7806..8b9dac66f31 100644 --- a/apps/settings/l10n/zh_CN.json +++ b/apps/settings/l10n/zh_CN.json @@ -71,6 +71,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "几乎超过了 OPcache 键的最大数量。为确保所有脚本可以保留在缓存中,建议在您的 PHP 设置中 <code>opcache.max_accelerated_files</code> 设置一个高于 <code>%s</code> 的值。", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 缓存几乎已满。为确保所有脚本可以保留在缓存中,建议在您的 PHP 设置中 <code>opcache.memory_consumption</code> 设置一个高于 <code>%s</code> 的值。", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 内部字符串缓存几乎已满。为确保重复的字符串可以被有效地缓存,建议在您的 PHP 设置中 <code>opcache.interned_strings_buffer</code> 设置一个高于 <code>%s</code> 的值。", + "Administrator documentation" : "管理员文档", + "User documentation" : "用户文档", "Invalid SMTP password." : "无效的 SMTP 密码", "Email setting test" : "电子邮件设置测试", "Well done, %s!" : "已完成,%s!", @@ -120,6 +122,7 @@ "Basic settings" : "基本设置", "Sharing" : "共享", "Availability" : "可用性", + "Calendar" : "日历", "Personal info" : "个人信息", "Mobile & desktop" : "手机与电脑", "Email server" : "电子邮件服务器", @@ -167,7 +170,6 @@ "View in store" : "在商店中查看", "Visit website" : "访问网站", "Report a bug" : "报告问题", - "User documentation" : "用户文档", "Admin documentation" : "管理员文档", "Developer documentation" : "开发者文档", "This app is supported via your current Nextcloud subscription." : "根据您的 Nextcloud 订阅,此应用受到支持。", @@ -378,11 +380,6 @@ "The following devices are configured for your account:" : "为您的帐户配置了以下设备:", "Your browser does not support WebAuthn." : "您的浏览器不支持 WebAuthn。", "Your apps" : "您的应用", - "Active apps" : "已启用的应用", - "Disabled apps" : "已禁用的应用", - "Updates" : "更新", - "App bundles" : "应用捆绑包", - "Featured apps" : "精选应用", "{license}-licensed" : "{license}-许可协议", "Changelog" : "更改日志", "by {author}\n{license}" : "按照 {author}\n{license}", @@ -416,6 +413,11 @@ "Not available as this property is required for core functionality including file sharing and calendar invitations" : "不可用,因为包括文件共享和日历邀请在内的核心功能需要此属性", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "您的账号上的联合云功能已被停用,如有疑问,请咨询系统管理员。", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "不可用,因为不允许将特定于用户的数据发布到查找服务器,如果有任何问题,请与系统管理员联系", + "Active apps" : "已启用的应用", + "Disabled apps" : "已禁用的应用", + "Updates" : "更新", + "App bundles" : "应用捆绑包", + "Featured apps" : "精选应用", "Show to everyone" : "显示给所有人", "Show to logged in users only" : "仅显示给登录用户", "Hide" : "隐藏", @@ -427,7 +429,6 @@ "An error occurred during the request. Unable to proceed." : "请求期间发生错误。无法继续。", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "该应用已启用,但是需要更新。5秒后将跳转到更新页面。", "Error: This app cannot be enabled because it makes the server unstable" : "错误:这个应用程序不能被启用,因为它使服务器不稳定 ", - "Administrator documentation" : "管理员文档", "Documentation" : "文档", "Forum" : "论坛", "Login" : "登录", diff --git a/apps/settings/l10n/zh_HK.js b/apps/settings/l10n/zh_HK.js index f8d04f8ecac..85dd6ba3d2a 100644 --- a/apps/settings/l10n/zh_HK.js +++ b/apps/settings/l10n/zh_HK.js @@ -73,6 +73,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "幾乎超過了可用的 OPcache 密鑰的最大數量。為確保所有腳本都可以保存在緩存中,建議將 <code>opcache.max_accelerated_files</code> 應用於您的 PHP 配置,其值高於 <code>%s</code>。", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 緩衝區幾乎快滿了。為確保所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.memory_consumption</code> 套用高於 <code>%s</code> 的值。", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 內部字串緩衝區幾乎快滿了。為確保可以有效快取重複字串,建議在您的 PHP 設定中的 <code>opcache.interned_strings_buffer</code> 套用高於 <code>%s</code> 的值。", + "Administrator documentation" : "管理員使用手冊", + "User documentation" : "用戶使用手冊", "Invalid SMTP password." : "無效的 SMTP 密碼", "Email setting test" : "測試郵件設定", "Well done, %s!" : "太棒了,%s!", @@ -122,6 +124,7 @@ OC.L10N.register( "Basic settings" : "基本設定", "Sharing" : "分享", "Availability" : "可得性", + "Calendar" : "日曆", "Personal info" : "個人資訊", "Mobile & desktop" : "手提電話及電腦", "Email server" : "電郵伺服器", @@ -169,7 +172,6 @@ OC.L10N.register( "View in store" : "在商店中檢視", "Visit website" : "造訪網站", "Report a bug" : "舉報錯誤", - "User documentation" : "用戶使用手冊", "Admin documentation" : "管理員使用手冊", "Developer documentation" : "開發人員使用手冊", "This app is supported via your current Nextcloud subscription." : "您目前的 Nextcloud 訂閱支援此應用程式。", @@ -301,6 +303,7 @@ OC.L10N.register( "Unable to delete additional email address" : "無法刪除其他電郵地址", "No email address set" : "未設定電郵地址", "Additional emails" : "其他電郵地址", + "Your handle" : "您的別名", "Your headline" : "您的標題", "Language" : "語言", "Help translate" : "協助翻譯", @@ -380,11 +383,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "為您的賬戶設定了以下裝置。", "Your browser does not support WebAuthn." : "您的瀏覽器不支援 WebAuthn。", "Your apps" : "您的應用程式", - "Active apps" : "已啟用應用程式", - "Disabled apps" : "已停用應用程式", - "Updates" : "更新", - "App bundles" : "應用程式套裝", - "Featured apps" : "精選應用程式", "{license}-licensed" : "以 {license} 授權", "Changelog" : "軟件更新紀錄", "by {author}\n{license}" : "作者為 {author}\n{license}", @@ -413,11 +411,17 @@ OC.L10N.register( "Phone number" : "電話號碼", "Role" : "角色", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse(如 Mastodon)", "Website" : "網站", "Profile visibility" : "個人檔案能見度", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "無法使用,因為此屬性是核心功能(包括檔案分享和日曆邀請)所必需的。", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "您賬戶的聯合功能已被停用,因此不可用。如有疑問,請聯絡系統管理員", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "無法使用,因為不允許將用戶的特定資料發佈到查詢伺服器。如果有任何問題,請聯絡您的系統管理員。", + "Active apps" : "已啟用應用程式", + "Disabled apps" : "已停用應用程式", + "Updates" : "更新", + "App bundles" : "應用程式套裝", + "Featured apps" : "精選應用程式", "Show to everyone" : "顯示给所有人", "Show to logged in users only" : "僅顯示給登錄用戶", "Hide" : "隱藏", @@ -429,7 +433,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "請求時發生錯誤。無法繼續。", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "應用程式已啟用但是需要更新。您將會在5秒內被重新導向至更新頁面。", "Error: This app cannot be enabled because it makes the server unstable" : "錯誤:此應用程序無法啟用,因為它造成伺服器不穩定", - "Administrator documentation" : "管理員使用手冊", "Documentation" : "使用手冊", "Forum" : "論壇", "Login" : "登入", diff --git a/apps/settings/l10n/zh_HK.json b/apps/settings/l10n/zh_HK.json index b0117df0020..11f20713f90 100644 --- a/apps/settings/l10n/zh_HK.json +++ b/apps/settings/l10n/zh_HK.json @@ -71,6 +71,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "幾乎超過了可用的 OPcache 密鑰的最大數量。為確保所有腳本都可以保存在緩存中,建議將 <code>opcache.max_accelerated_files</code> 應用於您的 PHP 配置,其值高於 <code>%s</code>。", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 緩衝區幾乎快滿了。為確保所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.memory_consumption</code> 套用高於 <code>%s</code> 的值。", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 內部字串緩衝區幾乎快滿了。為確保可以有效快取重複字串,建議在您的 PHP 設定中的 <code>opcache.interned_strings_buffer</code> 套用高於 <code>%s</code> 的值。", + "Administrator documentation" : "管理員使用手冊", + "User documentation" : "用戶使用手冊", "Invalid SMTP password." : "無效的 SMTP 密碼", "Email setting test" : "測試郵件設定", "Well done, %s!" : "太棒了,%s!", @@ -120,6 +122,7 @@ "Basic settings" : "基本設定", "Sharing" : "分享", "Availability" : "可得性", + "Calendar" : "日曆", "Personal info" : "個人資訊", "Mobile & desktop" : "手提電話及電腦", "Email server" : "電郵伺服器", @@ -167,7 +170,6 @@ "View in store" : "在商店中檢視", "Visit website" : "造訪網站", "Report a bug" : "舉報錯誤", - "User documentation" : "用戶使用手冊", "Admin documentation" : "管理員使用手冊", "Developer documentation" : "開發人員使用手冊", "This app is supported via your current Nextcloud subscription." : "您目前的 Nextcloud 訂閱支援此應用程式。", @@ -299,6 +301,7 @@ "Unable to delete additional email address" : "無法刪除其他電郵地址", "No email address set" : "未設定電郵地址", "Additional emails" : "其他電郵地址", + "Your handle" : "您的別名", "Your headline" : "您的標題", "Language" : "語言", "Help translate" : "協助翻譯", @@ -378,11 +381,6 @@ "The following devices are configured for your account:" : "為您的賬戶設定了以下裝置。", "Your browser does not support WebAuthn." : "您的瀏覽器不支援 WebAuthn。", "Your apps" : "您的應用程式", - "Active apps" : "已啟用應用程式", - "Disabled apps" : "已停用應用程式", - "Updates" : "更新", - "App bundles" : "應用程式套裝", - "Featured apps" : "精選應用程式", "{license}-licensed" : "以 {license} 授權", "Changelog" : "軟件更新紀錄", "by {author}\n{license}" : "作者為 {author}\n{license}", @@ -411,11 +409,17 @@ "Phone number" : "電話號碼", "Role" : "角色", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse(如 Mastodon)", "Website" : "網站", "Profile visibility" : "個人檔案能見度", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "無法使用,因為此屬性是核心功能(包括檔案分享和日曆邀請)所必需的。", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "您賬戶的聯合功能已被停用,因此不可用。如有疑問,請聯絡系統管理員", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "無法使用,因為不允許將用戶的特定資料發佈到查詢伺服器。如果有任何問題,請聯絡您的系統管理員。", + "Active apps" : "已啟用應用程式", + "Disabled apps" : "已停用應用程式", + "Updates" : "更新", + "App bundles" : "應用程式套裝", + "Featured apps" : "精選應用程式", "Show to everyone" : "顯示给所有人", "Show to logged in users only" : "僅顯示給登錄用戶", "Hide" : "隱藏", @@ -427,7 +431,6 @@ "An error occurred during the request. Unable to proceed." : "請求時發生錯誤。無法繼續。", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "應用程式已啟用但是需要更新。您將會在5秒內被重新導向至更新頁面。", "Error: This app cannot be enabled because it makes the server unstable" : "錯誤:此應用程序無法啟用,因為它造成伺服器不穩定", - "Administrator documentation" : "管理員使用手冊", "Documentation" : "使用手冊", "Forum" : "論壇", "Login" : "登入", diff --git a/apps/settings/l10n/zh_TW.js b/apps/settings/l10n/zh_TW.js index 70ae97e9217..cf01b6ede26 100644 --- a/apps/settings/l10n/zh_TW.js +++ b/apps/settings/l10n/zh_TW.js @@ -73,6 +73,8 @@ OC.L10N.register( "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "幾乎超過了 OPcache 鍵的最大數量。為確保幾乎所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.max_accelerated_files</code> 套用高於 <code>%s</code> 的值。", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 緩衝區幾乎快滿了。為確保所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.memory_consumption</code> 套用高於 <code>%s</code> 的值。", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 內部字串緩衝區幾乎快滿了。為確保可以有效快取重複字串,建議在您的 PHP 設定中的 <code>opcache.interned_strings_buffer</code> 套用高於 <code>%s</code> 的值。", + "Administrator documentation" : "管理員說明文件", + "User documentation" : "使用者說明文件", "Invalid SMTP password." : "無效的 SMTP 密碼", "Email setting test" : "測試郵件設定", "Well done, %s!" : "太棒了,%s!", @@ -122,6 +124,7 @@ OC.L10N.register( "Basic settings" : "基本設定", "Sharing" : "分享", "Availability" : "可用性", + "Calendar" : "日曆", "Personal info" : "個人資訊", "Mobile & desktop" : "行動裝置及桌面", "Email server" : "電子郵件伺服器", @@ -169,7 +172,6 @@ OC.L10N.register( "View in store" : "在商店中檢視", "Visit website" : "造訪網站", "Report a bug" : "回報問題", - "User documentation" : "使用者說明文件", "Admin documentation" : "管理員說明文件", "Developer documentation" : "開發者說明文件", "This app is supported via your current Nextcloud subscription." : "您目前的 Nextcloud 訂閱支援此應用程式。", @@ -301,6 +303,7 @@ OC.L10N.register( "Unable to delete additional email address" : "無法刪除額外的電子郵件地址", "No email address set" : "未設定電子郵件信箱", "Additional emails" : "額外的電子郵件", + "Your handle" : "您的帳號", "Your headline" : "您的標題", "Language" : "語言", "Help translate" : "協助翻譯", @@ -380,11 +383,6 @@ OC.L10N.register( "The following devices are configured for your account:" : "為您的帳號設定了以下裝置。", "Your browser does not support WebAuthn." : "您的瀏覽器不支援 WebAuthn。", "Your apps" : "您的應用程式", - "Active apps" : "已啟用應用程式", - "Disabled apps" : "已停用應用程式", - "Updates" : "更新", - "App bundles" : "應用程式套裝", - "Featured apps" : "精選應用程式", "{license}-licensed" : "以 {license} 授權", "Changelog" : "變更紀錄", "by {author}\n{license}" : "作者為 {author}\n{license}", @@ -413,11 +411,17 @@ OC.L10N.register( "Phone number" : "電話號碼", "Role" : "角色", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse(例如 Mastodon)", "Website" : "網站", "Profile visibility" : "個人資料能見度", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "無法使用,因為此屬性是核心功能(包括檔案分享和日曆邀請)所必需的。", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "因為您的帳號已停用聯盟分享,因此不可用,若您有任何問題,請聯絡您的系統管理員", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "無法使用,因為不允許將使用者的特定資料發佈到查詢伺服器,若您有任何問題,請聯絡您的系統管理員", + "Active apps" : "已啟用應用程式", + "Disabled apps" : "已停用應用程式", + "Updates" : "更新", + "App bundles" : "應用程式套裝", + "Featured apps" : "精選應用程式", "Show to everyone" : "對所有人顯示", "Show to logged in users only" : "僅對已登入的使用者顯示", "Hide" : "隱藏", @@ -429,7 +433,6 @@ OC.L10N.register( "An error occurred during the request. Unable to proceed." : "請求時發生錯誤。無法繼續。", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "應用程式已啟用但是需要更新。您將會在5秒內被重新導向至更新頁面。", "Error: This app cannot be enabled because it makes the server unstable" : "錯誤:此應用程序無法啟用,因為它造成伺服器不穩定", - "Administrator documentation" : "管理員說明文件", "Documentation" : "說明文件", "Forum" : "論壇", "Login" : "登入", diff --git a/apps/settings/l10n/zh_TW.json b/apps/settings/l10n/zh_TW.json index d0f78af2305..4cf957ec8f0 100644 --- a/apps/settings/l10n/zh_TW.json +++ b/apps/settings/l10n/zh_TW.json @@ -71,6 +71,8 @@ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "幾乎超過了 OPcache 鍵的最大數量。為確保幾乎所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.max_accelerated_files</code> 套用高於 <code>%s</code> 的值。", "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 緩衝區幾乎快滿了。為確保所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.memory_consumption</code> 套用高於 <code>%s</code> 的值。", "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 內部字串緩衝區幾乎快滿了。為確保可以有效快取重複字串,建議在您的 PHP 設定中的 <code>opcache.interned_strings_buffer</code> 套用高於 <code>%s</code> 的值。", + "Administrator documentation" : "管理員說明文件", + "User documentation" : "使用者說明文件", "Invalid SMTP password." : "無效的 SMTP 密碼", "Email setting test" : "測試郵件設定", "Well done, %s!" : "太棒了,%s!", @@ -120,6 +122,7 @@ "Basic settings" : "基本設定", "Sharing" : "分享", "Availability" : "可用性", + "Calendar" : "日曆", "Personal info" : "個人資訊", "Mobile & desktop" : "行動裝置及桌面", "Email server" : "電子郵件伺服器", @@ -167,7 +170,6 @@ "View in store" : "在商店中檢視", "Visit website" : "造訪網站", "Report a bug" : "回報問題", - "User documentation" : "使用者說明文件", "Admin documentation" : "管理員說明文件", "Developer documentation" : "開發者說明文件", "This app is supported via your current Nextcloud subscription." : "您目前的 Nextcloud 訂閱支援此應用程式。", @@ -299,6 +301,7 @@ "Unable to delete additional email address" : "無法刪除額外的電子郵件地址", "No email address set" : "未設定電子郵件信箱", "Additional emails" : "額外的電子郵件", + "Your handle" : "您的帳號", "Your headline" : "您的標題", "Language" : "語言", "Help translate" : "協助翻譯", @@ -378,11 +381,6 @@ "The following devices are configured for your account:" : "為您的帳號設定了以下裝置。", "Your browser does not support WebAuthn." : "您的瀏覽器不支援 WebAuthn。", "Your apps" : "您的應用程式", - "Active apps" : "已啟用應用程式", - "Disabled apps" : "已停用應用程式", - "Updates" : "更新", - "App bundles" : "應用程式套裝", - "Featured apps" : "精選應用程式", "{license}-licensed" : "以 {license} 授權", "Changelog" : "變更紀錄", "by {author}\n{license}" : "作者為 {author}\n{license}", @@ -411,11 +409,17 @@ "Phone number" : "電話號碼", "Role" : "角色", "Twitter" : "Twitter", + "Fediverse (e.g. Mastodon)" : "Fediverse(例如 Mastodon)", "Website" : "網站", "Profile visibility" : "個人資料能見度", "Not available as this property is required for core functionality including file sharing and calendar invitations" : "無法使用,因為此屬性是核心功能(包括檔案分享和日曆邀請)所必需的。", "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "因為您的帳號已停用聯盟分享,因此不可用,若您有任何問題,請聯絡您的系統管理員", "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "無法使用,因為不允許將使用者的特定資料發佈到查詢伺服器,若您有任何問題,請聯絡您的系統管理員", + "Active apps" : "已啟用應用程式", + "Disabled apps" : "已停用應用程式", + "Updates" : "更新", + "App bundles" : "應用程式套裝", + "Featured apps" : "精選應用程式", "Show to everyone" : "對所有人顯示", "Show to logged in users only" : "僅對已登入的使用者顯示", "Hide" : "隱藏", @@ -427,7 +431,6 @@ "An error occurred during the request. Unable to proceed." : "請求時發生錯誤。無法繼續。", "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "應用程式已啟用但是需要更新。您將會在5秒內被重新導向至更新頁面。", "Error: This app cannot be enabled because it makes the server unstable" : "錯誤:此應用程序無法啟用,因為它造成伺服器不穩定", - "Administrator documentation" : "管理員說明文件", "Documentation" : "說明文件", "Forum" : "論壇", "Login" : "登入", diff --git a/apps/settings/lib/Controller/AppSettingsController.php b/apps/settings/lib/Controller/AppSettingsController.php index 618d99b3d73..a4addfc5b35 100644 --- a/apps/settings/lib/Controller/AppSettingsController.php +++ b/apps/settings/lib/Controller/AppSettingsController.php @@ -237,7 +237,6 @@ class AppSettingsController extends Controller { /** * Get all available apps in a category * - * @param string $category * @return JSONResponse * @throws \Exception */ @@ -247,8 +246,14 @@ class AppSettingsController extends Controller { $dependencyAnalyzer = new DependencyAnalyzer(new Platform($this->config), $this->l10n); + $ignoreMaxApps = $this->config->getSystemValue('app_install_overwrite', []); + if (!is_array($ignoreMaxApps)) { + $this->logger->warning('The value given for app_install_overwrite is not an array. Ignoring...'); + $ignoreMaxApps = []; + } + // Extend existing app details - $apps = array_map(function ($appData) use ($dependencyAnalyzer) { + $apps = array_map(function (array $appData) use ($dependencyAnalyzer, $ignoreMaxApps) { if (isset($appData['appstoreData'])) { $appstoreData = $appData['appstoreData']; $appData['screenshot'] = isset($appstoreData['screenshots'][0]['url']) ? 'https://usercontent.apps.nextcloud.com/' . base64_encode($appstoreData['screenshots'][0]['url']) : ''; @@ -274,11 +279,6 @@ class AppSettingsController extends Controller { $appData['licence'] = $appData['license']; } - $ignoreMaxApps = $this->config->getSystemValue('app_install_overwrite', []); - if (!is_array($ignoreMaxApps)) { - $this->logger->warning('The value given for app_install_overwrite is not an array. Ignoring...'); - $ignoreMaxApps = []; - } $ignoreMax = in_array($appData['id'], $ignoreMaxApps); // analyse dependencies diff --git a/apps/settings/lib/Controller/CheckSetupController.php b/apps/settings/lib/Controller/CheckSetupController.php index 96fa6c20fc3..45e94c3b7a7 100644 --- a/apps/settings/lib/Controller/CheckSetupController.php +++ b/apps/settings/lib/Controller/CheckSetupController.php @@ -330,7 +330,7 @@ class CheckSetupController extends Controller { * @return bool */ protected function isPhpOutdated(): bool { - return PHP_VERSION_ID < 70400; + return PHP_VERSION_ID < 80000; } /** @@ -774,6 +774,7 @@ Raw output 'federated_reshares' => ['share_id'], 'filecache' => ['fileid', 'storage', 'parent', 'mimetype', 'mimepart', 'mtime', 'storage_mtime'], 'filecache_extended' => ['fileid'], + 'files_trash' => ['auto_id'], 'file_locks' => ['id'], 'file_metadata' => ['id'], 'jobs' => ['id'], diff --git a/apps/settings/lib/Controller/HelpController.php b/apps/settings/lib/Controller/HelpController.php index b8780ae40ba..38ce84843ed 100644 --- a/apps/settings/lib/Controller/HelpController.php +++ b/apps/settings/lib/Controller/HelpController.php @@ -33,6 +33,7 @@ use OCP\AppFramework\Controller; use OCP\AppFramework\Http\ContentSecurityPolicy; use OCP\AppFramework\Http\TemplateResponse; use OCP\IGroupManager; +use OCP\IL10N; use OCP\INavigationManager; use OCP\IRequest; use OCP\IURLGenerator; @@ -45,6 +46,8 @@ class HelpController extends Controller { private $urlGenerator; /** @var IGroupManager */ private $groupManager; + /** @var IL10N */ + private $l10n; /** @var string */ private $userId; @@ -55,13 +58,15 @@ class HelpController extends Controller { INavigationManager $navigationManager, IURLGenerator $urlGenerator, ?string $userId, - IGroupManager $groupManager + IGroupManager $groupManager, + IL10N $l10n ) { parent::__construct($appName, $request); $this->navigationManager = $navigationManager; $this->urlGenerator = $urlGenerator; $this->userId = $userId; $this->groupManager = $groupManager; + $this->l10n = $l10n; } /** @@ -73,8 +78,9 @@ class HelpController extends Controller { */ public function help(string $mode = 'user'): TemplateResponse { $this->navigationManager->setActiveEntry('help'); - + $pageTitle = $this->l10n->t('Administrator documentation'); if ($mode !== 'admin') { + $pageTitle = $this->l10n->t('User documentation'); $mode = 'user'; } @@ -91,6 +97,7 @@ class HelpController extends Controller { 'urlUserDocs' => $urlUserDocs, 'urlAdminDocs' => $urlAdminDocs, 'mode' => $mode, + 'pageTitle' => $pageTitle, ]); $policy = new ContentSecurityPolicy(); $policy->addAllowedFrameDomain('\'self\''); diff --git a/apps/settings/lib/Controller/UsersController.php b/apps/settings/lib/Controller/UsersController.php index 6be93d6a3a0..7c543508496 100644 --- a/apps/settings/lib/Controller/UsersController.php +++ b/apps/settings/lib/Controller/UsersController.php @@ -358,6 +358,8 @@ class UsersController extends Controller { * @param string|null $addressScope * @param string|null $twitter * @param string|null $twitterScope + * @param string|null $fediverse + * @param string|null $fediverseScope * * @return DataResponse */ @@ -373,7 +375,9 @@ class UsersController extends Controller { ?string $address = null, ?string $addressScope = null, ?string $twitter = null, - ?string $twitterScope = null + ?string $twitterScope = null, + ?string $fediverse = null, + ?string $fediverseScope = null ) { $user = $this->userSession->getUser(); if (!$user instanceof IUser) { @@ -412,6 +416,7 @@ class UsersController extends Controller { IAccountManager::PROPERTY_ADDRESS => ['value' => $address, 'scope' => $addressScope], IAccountManager::PROPERTY_PHONE => ['value' => $phone, 'scope' => $phoneScope], IAccountManager::PROPERTY_TWITTER => ['value' => $twitter, 'scope' => $twitterScope], + IAccountManager::PROPERTY_FEDIVERSE => ['value' => $fediverse, 'scope' => $fediverseScope], ]; $allowUserToChangeDisplayName = $this->config->getSystemValueBool('allow_user_to_change_display_name', true); foreach ($updatable as $property => $data) { @@ -451,6 +456,8 @@ class UsersController extends Controller { 'addressScope' => $userAccount->getProperty(IAccountManager::PROPERTY_ADDRESS)->getScope(), 'twitter' => $userAccount->getProperty(IAccountManager::PROPERTY_TWITTER)->getValue(), 'twitterScope' => $userAccount->getProperty(IAccountManager::PROPERTY_TWITTER)->getScope(), + 'fediverse' => $userAccount->getProperty(IAccountManager::PROPERTY_FEDIVERSE)->getValue(), + 'fediverseScope' => $userAccount->getProperty(IAccountManager::PROPERTY_FEDIVERSE)->getScope(), 'message' => $this->l10n->t('Settings saved'), ], ], diff --git a/apps/settings/lib/Sections/Personal/Calendar.php b/apps/settings/lib/Sections/Personal/Calendar.php new file mode 100644 index 00000000000..3f4f100e121 --- /dev/null +++ b/apps/settings/lib/Sections/Personal/Calendar.php @@ -0,0 +1,55 @@ +<?php + +declare(strict_types=1); + +/** + * @author Christoph Wurst <christoph@winzerhof-wurst.at> + * + * Mail + * + * 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 OCA\Settings\Sections\Personal; + +use OCP\IL10N; +use OCP\IURLGenerator; +use OCP\Settings\IIconSection; + +class Calendar implements IIconSection { + + private IL10N $l; + private IURLGenerator $urlGenerator; + + public function __construct(IL10N $l, IURLGenerator $urlGenerator) { + $this->l = $l; + $this->urlGenerator = $urlGenerator; + } + + public function getIcon(): string { + return $this->urlGenerator->imagePath('core', 'caldav/time.svg'); + } + + public function getID(): string { + return 'calendar'; + } + + public function getName(): string { + return $this->l->t('Calendar'); + } + + public function getPriority(): int { + return 50; + } +} diff --git a/apps/settings/lib/Settings/Personal/PersonalInfo.php b/apps/settings/lib/Settings/Personal/PersonalInfo.php index 0a65ebe2c74..cf7b704e98b 100644 --- a/apps/settings/lib/Settings/Personal/PersonalInfo.php +++ b/apps/settings/lib/Settings/Personal/PersonalInfo.php @@ -157,6 +157,7 @@ class PersonalInfo implements ISettings { 'location' => $this->getProperty($account, IAccountManager::PROPERTY_ADDRESS), 'website' => $this->getProperty($account, IAccountManager::PROPERTY_WEBSITE), 'twitter' => $this->getProperty($account, IAccountManager::PROPERTY_TWITTER), + 'fediverse' => $this->getProperty($account, IAccountManager::PROPERTY_FEDIVERSE), 'languageMap' => $this->getLanguageMap($user), 'localeMap' => $this->getLocaleMap($user), 'profileEnabledGlobally' => $this->profileManager->isProfileEnabled(), diff --git a/apps/settings/src/admin.js b/apps/settings/src/admin.js index e1151d95258..e7220df3c91 100644 --- a/apps/settings/src/admin.js +++ b/apps/settings/src/admin.js @@ -1,20 +1,20 @@ window.addEventListener('DOMContentLoaded', () => { $('#excludedGroups,#linksExcludedGroups,#passwordsExcludedGroups').each(function(index, element) { OC.Settings.setupGroupsSelect($(element)) - $(element).change((ev) => { + $(element).change(function(ev) { let groups = ev.val || [] groups = JSON.stringify(groups) OCP.AppConfig.setValue('core', $(this).attr('name'), groups) }) }) - $('#loglevel').change(() => { + $('#loglevel').change(function() { $.post(OC.generateUrl('/settings/admin/log/level'), { level: $(this).val() }, () => { OC.Log.reload() }) }) - $('#shareAPIEnabled').change(() => { + $('#shareAPIEnabled').change(function() { $('#shareAPI p:not(#enable)').toggleClass('hidden', !this.checked) }) @@ -35,7 +35,7 @@ window.addEventListener('DOMContentLoaded', () => { }) $('#shareapiDefaultExpireDate').change(function() { - $('setDefaultExpireDate').toggleClass('hidden', !this.checked) + $('#setDefaultExpireDate').toggleClass('hidden', !this.checked) }) $('#shareapiDefaultInternalExpireDate').change(function() { @@ -206,11 +206,11 @@ window.addEventListener('DOMContentLoaded', () => { }) }) - $('#allowGroupSharing').change(() => { + $('#allowGroupSharing').change(function() { $('#allowGroupSharing').toggleClass('hidden', !this.checked) }) - $('#shareapiExcludeGroups').change(() => { + $('#shareapiExcludeGroups').change(function() { $('#selectExcludedGroups').toggleClass('hidden', !this.checked) }) diff --git a/apps/settings/src/components/AuthToken.vue b/apps/settings/src/components/AuthToken.vue index 5a48f5d0d8c..38aafc9e8d6 100644 --- a/apps/settings/src/components/AuthToken.vue +++ b/apps/settings/src/components/AuthToken.vue @@ -31,7 +31,7 @@ v-model="newName" type="text" @keyup.enter="rename" - @blur="cancelRename" + @change="rename" @keyup.esc="cancelRename"> <span v-else>{{ iconName.name }}</span> <span v-if="wiping" class="wiping-warning">({{ t('settings', 'Marked for remote wipe') }})</span> @@ -173,6 +173,7 @@ export default { showMore: this.token.canScope || this.token.canDelete, renaming: false, newName: '', + oldName: '', actionOpen: false, } }, @@ -232,6 +233,7 @@ export default { // Close action (popover menu) this.actionOpen = false + this.oldName = this.token.name this.newName = this.token.name this.renaming = true this.$nextTick(() => { @@ -240,6 +242,7 @@ export default { }, cancelRename() { this.renaming = false + this.$emit('rename', this.token, this.oldName) }, revoke() { this.actionOpen = false diff --git a/apps/settings/src/components/PersonalInfo/AvatarSection.vue b/apps/settings/src/components/PersonalInfo/AvatarSection.vue index e018023508a..54f85ee7f67 100644 --- a/apps/settings/src/components/PersonalInfo/AvatarSection.vue +++ b/apps/settings/src/components/PersonalInfo/AvatarSection.vue @@ -276,6 +276,9 @@ export default { </script> <style lang="scss" scoped> +section { + grid-row: 1/3; +} .avatar { &__container { margin: 0 auto; diff --git a/apps/settings/src/components/PersonalInfo/FediverseSection.vue b/apps/settings/src/components/PersonalInfo/FediverseSection.vue new file mode 100644 index 00000000000..3975308d587 --- /dev/null +++ b/apps/settings/src/components/PersonalInfo/FediverseSection.vue @@ -0,0 +1,50 @@ +<!-- + - @copyright 2022 Christopher Ng <chrng8@gmail.com> + - + - @author Christopher Ng <chrng8@gmail.com> + - + - @license AGPL-3.0-or-later + - + - This program is free software: you can redistribute it and/or modify + - it under the terms of the GNU Affero General Public License as + - published by the Free Software Foundation, either version 3 of the + - License, or (at your option) any later version. + - + - This program is distributed in the hope that it will be useful, + - but WITHOUT ANY WARRANTY; without even the implied warranty of + - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + - GNU Affero General Public License for more details. + - + - You should have received a copy of the GNU Affero General Public License + - along with this program. If not, see <http://www.gnu.org/licenses/>. + - +--> + +<template> + <AccountPropertySection v-bind.sync="fediverse" + :placeholder="t('settings', 'Your handle')" /> +</template> + +<script> +import { loadState } from '@nextcloud/initial-state' + +import AccountPropertySection from './shared/AccountPropertySection.vue' + +import { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js' + +const { fediverse } = loadState('settings', 'personalInfoParameters', {}) + +export default { + name: 'FediverseSection', + + components: { + AccountPropertySection, + }, + + data() { + return { + fediverse: { ...fediverse, readable: NAME_READABLE_ENUM[fediverse.name] }, + } + }, +} +</script> diff --git a/apps/settings/src/constants/AccountPropertyConstants.js b/apps/settings/src/constants/AccountPropertyConstants.js index 6be683dcb91..fdca7371507 100644 --- a/apps/settings/src/constants/AccountPropertyConstants.js +++ b/apps/settings/src/constants/AccountPropertyConstants.js @@ -36,6 +36,7 @@ export const ACCOUNT_PROPERTY_ENUM = Object.freeze({ EMAIL: 'email', HEADLINE: 'headline', NOTIFICATION_EMAIL: 'notify_email', + FEDIVERSE: 'fediverse', ORGANISATION: 'organisation', PHONE: 'phone', PROFILE_ENABLED: 'profile_enabled', @@ -58,6 +59,7 @@ export const ACCOUNT_PROPERTY_READABLE_ENUM = Object.freeze({ PROFILE_ENABLED: t('settings', 'Profile'), ROLE: t('settings', 'Role'), TWITTER: t('settings', 'Twitter'), + FEDIVERSE: t('settings', 'Fediverse (e.g. Mastodon)'), WEBSITE: t('settings', 'Website'), }) @@ -74,6 +76,7 @@ export const NAME_READABLE_ENUM = Object.freeze({ [ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED]: ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED, [ACCOUNT_PROPERTY_ENUM.ROLE]: ACCOUNT_PROPERTY_READABLE_ENUM.ROLE, [ACCOUNT_PROPERTY_ENUM.TWITTER]: ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER, + [ACCOUNT_PROPERTY_ENUM.FEDIVERSE]: ACCOUNT_PROPERTY_READABLE_ENUM.FEDIVERSE, [ACCOUNT_PROPERTY_ENUM.WEBSITE]: ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE, }) @@ -96,6 +99,7 @@ export const PROPERTY_READABLE_KEYS_ENUM = Object.freeze({ [ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED]: ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED, [ACCOUNT_PROPERTY_READABLE_ENUM.ROLE]: ACCOUNT_PROPERTY_ENUM.ROLE, [ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER]: ACCOUNT_PROPERTY_ENUM.TWITTER, + [ACCOUNT_PROPERTY_READABLE_ENUM.FEDIVERSE]: ACCOUNT_PROPERTY_ENUM.FEDIVERSE, [ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE]: ACCOUNT_PROPERTY_ENUM.WEBSITE, }) @@ -137,6 +141,7 @@ export const PROPERTY_READABLE_SUPPORTED_SCOPES_ENUM = Object.freeze({ [ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE], [ACCOUNT_PROPERTY_READABLE_ENUM.ROLE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE], [ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE], + [ACCOUNT_PROPERTY_READABLE_ENUM.FEDIVERSE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE], [ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE], }) diff --git a/apps/files_versions/src/filesplugin.js b/apps/settings/src/constants/AppsConstants.js index 90dac2024c1..5ede6334231 100644 --- a/apps/files_versions/src/filesplugin.js +++ b/apps/settings/src/constants/AppsConstants.js @@ -1,8 +1,7 @@ /** - * Copyright (c) 2015 + * @copyright 2022, Julia Kirschenheuter <julia.kirschenheuter@nextcloud.com> * - * @author John Molakvoæ <skjnldsv@protonmail.com> - * @author Vincent Petry <vincent@nextcloud.com> + * @author Julia Kirschenheuter <julia.kirschenheuter@nextcloud.com> * * @license AGPL-3.0-or-later * @@ -21,26 +20,13 @@ * */ -(function() { - OCA.Versions = OCA.Versions || {} +import { translate as t } from '@nextcloud/l10n' - /** - * @namespace - */ - OCA.Versions.Util = { - /** - * Initialize the versions plugin. - * - * @param {OCA.Files.FileList} fileList file list to be extended - */ - attach(fileList) { - if (fileList.id === 'trashbin' || fileList.id === 'files.public') { - return - } - - fileList.registerTabView(new OCA.Versions.VersionsTabView('versionsTabView', { order: -10 })) - }, - } -})() - -OC.Plugins.register('OCA.Files.FileList', OCA.Versions.Util) +/** Enum of verification constants, according to Apps */ +export const APPS_SECTION_ENUM = Object.freeze({ + enabled: t('settings', 'Active apps'), + disabled: t('settings', 'Disabled apps'), + updates: t('settings', 'Updates'), + 'app-bundles': t('settings', 'App bundles'), + featured: t('settings', 'Featured apps'), +}) diff --git a/apps/settings/src/main-personal-info.js b/apps/settings/src/main-personal-info.js index f03c86335a0..b483c054fdc 100644 --- a/apps/settings/src/main-personal-info.js +++ b/apps/settings/src/main-personal-info.js @@ -34,6 +34,7 @@ import PhoneSection from './components/PersonalInfo/PhoneSection.vue' import LocationSection from './components/PersonalInfo/LocationSection.vue' import WebsiteSection from './components/PersonalInfo/WebsiteSection.vue' import TwitterSection from './components/PersonalInfo/TwitterSection.vue' +import FediverseSection from './components/PersonalInfo/FediverseSection.vue' import LanguageSection from './components/PersonalInfo/LanguageSection/LanguageSection.vue' import LocaleSection from './components/PersonalInfo/LocaleSection/LocaleSection.vue' import ProfileSection from './components/PersonalInfo/ProfileSection/ProfileSection.vue' @@ -61,6 +62,7 @@ const PhoneView = Vue.extend(PhoneSection) const LocationView = Vue.extend(LocationSection) const WebsiteView = Vue.extend(WebsiteSection) const TwitterView = Vue.extend(TwitterSection) +const FediverseView = Vue.extend(FediverseSection) const LanguageView = Vue.extend(LanguageSection) const LocaleView = Vue.extend(LocaleSection) @@ -72,6 +74,7 @@ new PhoneView().$mount('#vue-phone-section') new LocationView().$mount('#vue-location-section') new WebsiteView().$mount('#vue-website-section') new TwitterView().$mount('#vue-twitter-section') +new FediverseView().$mount('#vue-fediverse-section') new LanguageView().$mount('#vue-language-section') new LocaleView().$mount('#vue-locale-section') diff --git a/apps/settings/src/router.js b/apps/settings/src/router.js index 912e031c0d7..121a9c90a2b 100644 --- a/apps/settings/src/router.js +++ b/apps/settings/src/router.js @@ -25,6 +25,8 @@ import Vue from 'vue' import Router from 'vue-router' import { generateUrl } from '@nextcloud/router' +import { APPS_SECTION_ENUM } from './constants/AppsConstants.js' +import store from './store/index.js' // Dynamic loading const Users = () => import(/* webpackChunkName: 'settings-users' */'./views/Users') @@ -40,8 +42,8 @@ Vue.use(Router) * ensure the proper route. * ⚠️ Routes needs to match the php routes. */ - -export default new Router({ +const baseTitle = document.title +const router = new Router({ mode: 'history', // if index.php is in the url AND we got this far, then it's working: // let's keep using index.php in the url @@ -66,10 +68,29 @@ export default new Router({ component: Apps, props: true, name: 'apps', + meta: { + title: () => { + return t('settings', 'Your apps') + }, + }, children: [ { path: ':category', name: 'apps-category', + meta: { + title: async (to) => { + if (to.name === 'apps') { + return t('settings', 'Your apps') + } else if (APPS_SECTION_ENUM[to.params.category]) { + return APPS_SECTION_ENUM[to.params.category] + } + await store.dispatch('getCategories') + const category = store.getters.getCategoryById(to.params.category) + if (category.displayName) { + return category.displayName + } + }, + }, component: Apps, children: [ { @@ -83,3 +104,14 @@ export default new Router({ }, ], }) + +router.afterEach(async (to) => { + const metaTitle = await to.meta.title?.(to) + if (metaTitle) { + document.title = `${metaTitle} - ${baseTitle}` + } else { + document.title = baseTitle + } +}) + +export default router diff --git a/apps/settings/src/store/apps.js b/apps/settings/src/store/apps.js index 3618fb7919b..29009fc65e0 100644 --- a/apps/settings/src/store/apps.js +++ b/apps/settings/src/store/apps.js @@ -34,6 +34,7 @@ const state = { updateCount: 0, loading: {}, loadingList: false, + gettingCategoriesPromise: null, } const mutations = { @@ -48,6 +49,10 @@ const mutations = { state.updateCount = updateCount }, + updateCategories(state, categoriesPromise) { + state.gettingCategoriesPromise = categoriesPromise + }, + setUpdateCount(state, updateCount) { state.updateCount = updateCount }, @@ -156,6 +161,9 @@ const getters = { getUpdateCount(state) { return state.updateCount }, + getCategoryById: (state) => (selectedCategoryId) => { + return state.categories.find((category) => category.id === selectedCategoryId) + }, } const actions = { @@ -313,18 +321,25 @@ const actions = { .catch((error) => context.commit('API_FAILURE', error)) }, - getCategories(context) { - context.commit('startLoading', 'categories') - return api.get(generateUrl('settings/apps/categories')) - .then((response) => { - if (response.data.length > 0) { - context.commit('appendCategories', response.data) + async getCategories(context, { shouldRefetchCategories = false } = {}) { + if (shouldRefetchCategories || !context.state.gettingCategoriesPromise) { + context.commit('startLoading', 'categories') + try { + const categoriesPromise = api.get(generateUrl('settings/apps/categories')) + context.commit('updateCategories', categoriesPromise) + const categoriesPromiseResponse = await categoriesPromise + if (categoriesPromiseResponse.data.length > 0) { + context.commit('appendCategories', categoriesPromiseResponse.data) context.commit('stopLoading', 'categories') return true } + context.commit('stopLoading', 'categories') return false - }) - .catch((error) => context.commit('API_FAILURE', error)) + } catch (error) { + context.commit('API_FAILURE', error) + } + } + return context.state.gettingCategoriesPromise }, } diff --git a/apps/settings/src/views/Apps.vue b/apps/settings/src/views/Apps.vue index ff7c05cdcd7..7c998c4b540 100644 --- a/apps/settings/src/views/Apps.vue +++ b/apps/settings/src/views/Apps.vue @@ -36,16 +36,16 @@ <NcAppNavigationItem id="app-category-enabled" :to="{ name: 'apps-category', params: { category: 'enabled' } }" icon="icon-category-enabled" - :title="t('settings', 'Active apps')" /> + :title="$options.APPS_SECTION_ENUM.enabled" /> <NcAppNavigationItem id="app-category-disabled" :to="{ name: 'apps-category', params: { category: 'disabled' } }" icon="icon-category-disabled" - :title="t('settings', 'Disabled apps')" /> + :title="$options.APPS_SECTION_ENUM.disabled" /> <NcAppNavigationItem v-if="updateCount > 0" id="app-category-updates" :to="{ name: 'apps-category', params: { category: 'updates' } }" icon="icon-download" - :title="t('settings', 'Updates')"> + :title="$options.APPS_SECTION_ENUM.updates"> <NcAppNavigationCounter slot="counter"> {{ updateCount }} </NcAppNavigationCounter> @@ -53,7 +53,7 @@ <NcAppNavigationItem id="app-category-your-bundles" :to="{ name: 'apps-category', params: { category: 'app-bundles' } }" icon="icon-category-app-bundles" - :title="t('settings', 'App bundles')" /> + :title="$options.APPS_SECTION_ENUM['app-bundles']" /> <NcAppNavigationSpacer /> @@ -62,7 +62,7 @@ <NcAppNavigationItem id="app-category-featured" :to="{ name: 'apps-category', params: { category: 'featured' } }" icon="icon-favorite" - :title="t('settings', 'Featured apps')" /> + :title="$options.APPS_SECTION_ENUM.featured" /> <NcAppNavigationItem v-for="cat in categories" :key="'icon-category-' + cat.ident" @@ -154,11 +154,13 @@ import AppManagement from '../mixins/AppManagement' import AppScore from '../components/AppList/AppScore' import Markdown from '../components/Markdown' +import { APPS_SECTION_ENUM } from './../constants/AppsConstants.js' + Vue.use(VueLocalStorage) export default { name: 'Apps', - + APPS_SECTION_ENUM, components: { NcAppContent, AppDetails, @@ -273,7 +275,7 @@ export default { }, beforeMount() { - this.$store.dispatch('getCategories') + this.$store.dispatch('getCategories', { shouldRefetchCategories: true }) this.$store.dispatch('getAllApps') this.$store.dispatch('getGroups', { offset: 0, limit: 5 }) this.$store.commit('setUpdateCount', this.$store.getters.getServerData.updateCount) diff --git a/apps/settings/templates/settings/personal/personal.info.php b/apps/settings/templates/settings/personal/personal.info.php index 0ea5258c0f5..1abbf991f5d 100644 --- a/apps/settings/templates/settings/personal/personal.info.php +++ b/apps/settings/templates/settings/personal/personal.info.php @@ -45,67 +45,63 @@ script('settings', [ <div id="personal-settings"> <h2 class="hidden-visually"><?php p($l->t('Personal info')); ?></h2> - <div id="personal-settings-avatar-container" class="personal-settings-container"> - <div id="vue-avatar-section"></div> - <div class="personal-settings-setting-box personal-settings-group-box section"> - <div id="vue-details-section"></div> + <div id="vue-avatar-section"></div> + <?php if ($_['profileEnabledGlobally']) : ?> + <div class="personal-settings-setting-box personal-settings-setting-box-profile"> + <div id="vue-profile-section"></div> </div> - </div> - - <div class="personal-settings-container"> - <div class="personal-settings-setting-box"> - <div id="vue-displayname-section"></div> + <div class="personal-settings-setting-box personal-settings-setting-box-detail"> + <div id="vue-details-section"></div> </div> - <div class="personal-settings-setting-box"> - <div id="vue-email-section"></div> + <?php else: ?> + <div class="personal-settings-setting-box personal-settings-setting-box-detail--without-profile"> + <div id="vue-details-section"></div> </div> + <?php endif; ?> + <div class="personal-settings-setting-box"> + <div id="vue-displayname-section"></div> + </div> + <div class="personal-settings-setting-box"> + <div id="vue-email-section"></div> + </div> + <div class="personal-settings-setting-box"> + <div id="vue-phone-section"></div> + </div> + <div class="personal-settings-setting-box"> + <div id="vue-location-section"></div> + </div> + <div class="personal-settings-setting-box personal-settings-language-box"> + <div id="vue-language-section"></div> + </div> + <div class="personal-settings-setting-box personal-settings-locale-box"> + <div id="vue-locale-section"></div> + </div> + <div class="personal-settings-setting-box"> + <div id="vue-website-section"></div> + </div> + <div class="personal-settings-setting-box"> + <div id="vue-twitter-section"></div> + </div> + <div class="personal-settings-setting-box"> + <div id="vue-fediverse-section"></div> + </div> + <?php if ($_['profileEnabledGlobally']) : ?> <div class="personal-settings-setting-box"> - <div id="vue-phone-section"></div> + <div id="vue-organisation-section"></div> </div> <div class="personal-settings-setting-box"> - <div id="vue-location-section"></div> + <div id="vue-role-section"></div> </div> <div class="personal-settings-setting-box"> - <div id="vue-website-section"></div> + <div id="vue-headline-section"></div> </div> <div class="personal-settings-setting-box"> - <div id="vue-twitter-section"></div> - </div> - <?php if ($_['profileEnabledGlobally']) : ?> - <div class="personal-settings-setting-box"> - <div id="vue-organisation-section"></div> - </div> - <div class="personal-settings-setting-box"> - <div id="vue-role-section"></div> - </div> - <div class="personal-settings-setting-box"> - <div id="vue-headline-section"></div> - </div> - <div class="personal-settings-setting-box"> - <div id="vue-biography-section"></div> - </div> - <?php endif; ?> - </div> - - <div class="profile-settings-container"> - <?php if ($_['profileEnabledGlobally']) : ?> - <div class="personal-settings-setting-box"> - <div id="vue-profile-section"></div> - </div> - <?php endif; ?> - <div class="personal-settings-setting-box personal-settings-language-box"> - <div id="vue-language-section"></div> - </div> - <div class="personal-settings-setting-box personal-settings-locale-box"> - <div id="vue-locale-section"></div> + <div id="vue-biography-section"></div> </div> - <span class="msg"></span> - </div> - - <div id="personal-settings-group-container"> - - </div> + <?php endif; ?> + <span class="msg"></span> + <div id="personal-settings-group-container"></div> </div> <?php if ($_['profileEnabledGlobally']) : ?> diff --git a/apps/settings/tests/Controller/CheckSetupControllerTest.php b/apps/settings/tests/Controller/CheckSetupControllerTest.php index c109bad04ff..81aa7af0b21 100644 --- a/apps/settings/tests/Controller/CheckSetupControllerTest.php +++ b/apps/settings/tests/Controller/CheckSetupControllerTest.php @@ -431,7 +431,7 @@ class CheckSetupControllerTest extends TestCase { ->method('getAppValue') ->willReturnMap([ ['files_external', 'user_certificate_scan', '', '["a", "b"]'], - ['core', 'cronErrors', ''], + ['core', 'cronErrors', '', ''], ]); $this->config->expects($this->any()) ->method('getSystemValue') @@ -653,7 +653,7 @@ class CheckSetupControllerTest extends TestCase { 'OCA\Settings\SetupChecks\SupportedDatabase' => ['pass' => true, 'description' => '', 'severity' => 'info'], 'isFairUseOfFreePushService' => false, 'temporaryDirectoryWritable' => false, - \OCA\Settings\SetupChecks\LdapInvalidUuids::class => ['pass' => true, 'description' => 'Invalid UUIDs of LDAP users or groups have been found. Please review your "Override UUID detection" settings in the Expert part of the LDAP configuration and use "occ ldap:update-uuid" to update them.', 'severity' => 'warning'], + \OCA\Settings\SetupChecks\LdapInvalidUuids::class => ['pass' => true, 'description' => 'Invalid UUIDs of LDAP users or groups have been found. Please review your "Override UUID detection" settings in the Expert part of the LDAP configuration and use "occ ldap:update-uuid" to update them.', 'severity' => 'warning'], ] ); $this->assertEquals($expected, $this->checkSetupController->check()); @@ -977,11 +977,11 @@ class CheckSetupControllerTest extends TestCase { ->willReturn([]); $expected = new DataDisplayResponse( - 'No errors have been found.', - Http::STATUS_OK, - [ - 'Content-Type' => 'text/plain', - ] + 'No errors have been found.', + Http::STATUS_OK, + [ + 'Content-Type' => 'text/plain', + ] ); $this->assertEquals($expected, $this->checkSetupController->getFailedIntegrityCheckFiles()); } @@ -997,7 +997,7 @@ class CheckSetupControllerTest extends TestCase { ->willReturn([ 'core' => [ 'EXTRA_FILE' => ['/testfile' => []], 'INVALID_HASH' => [ '/.idea/workspace.xml' => [ 'expected' => 'f1c5e2630d784bc9cb02d5a28f55d6f24d06dae2a0fee685f3c2521b050955d9d452769f61454c9ddfa9c308146ade10546cfa829794448eaffbc9a04a29d216', 'current' => 'ce08bf30bcbb879a18b49239a9bec6b8702f52452f88a9d32142cad8d2494d5735e6bfa0d8642b2762c62ca5be49f9bf4ec231d4a230559d4f3e2c471d3ea094', ], '/lib/private/integritycheck/checker.php' => [ 'expected' => 'c5a03bacae8dedf8b239997901ba1fffd2fe51271d13a00cc4b34b09cca5176397a89fc27381cbb1f72855fa18b69b6f87d7d5685c3b45aee373b09be54742ea', 'current' => '88a3a92c11db91dec1ac3be0e1c87f862c95ba6ffaaaa3f2c3b8f682187c66f07af3a3b557a868342ef4a271218fe1c1e300c478e6c156c5955ed53c40d06585', ], '/settings/controller/checksetupcontroller.php' => [ 'expected' => '3e1de26ce93c7bfe0ede7c19cb6c93cadc010340225b375607a7178812e9de163179b0dc33809f451e01f491d93f6f5aaca7929685d21594cccf8bda732327c4', 'current' => '09563164f9904a837f9ca0b5f626db56c838e5098e0ccc1d8b935f68fa03a25c5ec6f6b2d9e44a868e8b85764dafd1605522b4af8db0ae269d73432e9a01e63a', ], ], ], 'bookmarks' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'dav' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'encryption' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'external' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'federation' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'files' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'files_antivirus' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'files_drop' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'files_external' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'files_pdfviewer' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'files_sharing' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'files_trashbin' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'files_versions' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'files_videoviewer' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'firstrunwizard' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'gitsmart' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'logreader' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature could not get verified.', ], ], 'password_policy' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'provisioning_api' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'sketch' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'threatblock' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'two_factor_auth' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'user_ldap' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], 'user_shibboleth' => [ 'EXCEPTION' => [ 'class' => 'OC\\IntegrityCheck\\Exceptions\\InvalidSignatureException', 'message' => 'Signature data not found.', ], ], ]); $expected = new DataDisplayResponse( - 'Technical information + 'Technical information ===================== The following list covers which files have failed the integrity check. Please read the previous linked documentation to learn more about the errors and how to fix @@ -1389,10 +1389,10 @@ Array ) ', - Http::STATUS_OK, - [ - 'Content-Type' => 'text/plain', - ] + Http::STATUS_OK, + [ + 'Content-Type' => 'text/plain', + ] ); $this->assertEquals($expected, $this->checkSetupController->getFailedIntegrityCheckFiles()); } diff --git a/apps/settings/tests/Controller/UsersControllerTest.php b/apps/settings/tests/Controller/UsersControllerTest.php index 797fa1621fa..9ad81148ef1 100644 --- a/apps/settings/tests/Controller/UsersControllerTest.php +++ b/apps/settings/tests/Controller/UsersControllerTest.php @@ -241,6 +241,11 @@ class UsersControllerTest extends \Test\TestCase { 'Default twitter', IAccountManager::SCOPE_LOCAL, ), + IAccountManager::PROPERTY_FEDIVERSE => $this->buildPropertyMock( + IAccountManager::PROPERTY_FEDIVERSE, + 'Default twitter', + IAccountManager::SCOPE_LOCAL, + ), ]; $account = $this->createMock(IAccount::class); @@ -336,6 +341,8 @@ class UsersControllerTest extends \Test\TestCase { $addressScope = IAccountManager::SCOPE_PUBLISHED; $twitter = '@nextclouders'; $twitterScope = IAccountManager::SCOPE_PUBLISHED; + $fediverse = '@nextclouders@floss.social'; + $fediverseScope = IAccountManager::SCOPE_PUBLISHED; $user = $this->createMock(IUser::class); $user->method('getUID')->willReturn('johndoe'); @@ -410,7 +417,9 @@ class UsersControllerTest extends \Test\TestCase { $address, $addressScope, $twitter, - $twitterScope + $twitterScope, + $fediverse, + $fediverseScope ); } @@ -447,6 +456,8 @@ class UsersControllerTest extends \Test\TestCase { $addressScope = IAccountManager::SCOPE_PUBLISHED; $twitter = '@nextclouders'; $twitterScope = IAccountManager::SCOPE_PUBLISHED; + $fediverse = '@nextclouders@floss.social'; + $fediverseScope = IAccountManager::SCOPE_PUBLISHED; // All settings are changed (in the past phone, website, address and // twitter were not changed). @@ -464,6 +475,8 @@ class UsersControllerTest extends \Test\TestCase { $expectedProperties[IAccountManager::PROPERTY_ADDRESS]['scope'] = $addressScope; $expectedProperties[IAccountManager::PROPERTY_TWITTER]['value'] = $twitter; $expectedProperties[IAccountManager::PROPERTY_TWITTER]['scope'] = $twitterScope; + $expectedProperties[IAccountManager::PROPERTY_FEDIVERSE]['value'] = $fediverse; + $expectedProperties[IAccountManager::PROPERTY_FEDIVERSE]['scope'] = $fediverseScope; $this->mailer->expects($this->once())->method('validateMailAddress') ->willReturn(true); @@ -485,7 +498,9 @@ class UsersControllerTest extends \Test\TestCase { $address, $addressScope, $twitter, - $twitterScope + $twitterScope, + $fediverse, + $fediverseScope ); } @@ -523,6 +538,8 @@ class UsersControllerTest extends \Test\TestCase { $addressScope = ($property === 'addressScope') ? $propertyValue : null; $twitter = ($property === 'twitter') ? $propertyValue : null; $twitterScope = ($property === 'twitterScope') ? $propertyValue : null; + $fediverse = ($property === 'fediverse') ? $propertyValue : null; + $fediverseScope = ($property === 'fediverseScope') ? $propertyValue : null; /** @var IAccountProperty[]|MockObject[] $expectedProperties */ $expectedProperties = $userAccount->getProperties(); @@ -555,6 +572,10 @@ class UsersControllerTest extends \Test\TestCase { case 'twitterScope': $propertyId = IAccountManager::PROPERTY_TWITTER; break; + case 'fediverse': + case 'fediverseScope': + $propertyId = IAccountManager::PROPERTY_FEDIVERSE; + break; default: $propertyId = '404'; } @@ -584,7 +605,9 @@ class UsersControllerTest extends \Test\TestCase { $address, $addressScope, $twitter, - $twitterScope + $twitterScope, + $fediverse, + $fediverseScope ); } @@ -603,6 +626,8 @@ class UsersControllerTest extends \Test\TestCase { ['addressScope', IAccountManager::SCOPE_PUBLISHED], ['twitter', '@nextclouders'], ['twitterScope', IAccountManager::SCOPE_PUBLISHED], + ['fediverse', '@nextclouders@floss.social'], + ['fediverseScope', IAccountManager::SCOPE_PUBLISHED], ]; } @@ -822,7 +847,7 @@ class UsersControllerTest extends \Test\TestCase { $signature = 'theSignature'; $code = $message . ' ' . $signature; - if ($type === IAccountManager::PROPERTY_TWITTER) { + if ($type === IAccountManager::PROPERTY_TWITTER || $type === IAccountManager::PROPERTY_FEDIVERSE) { $code = $message . ' ' . md5($signature); } diff --git a/apps/settings/tests/Mailer/NewUserMailHelperTest.php b/apps/settings/tests/Mailer/NewUserMailHelperTest.php index 2a9c1ee58ec..252dcfd8057 100644 --- a/apps/settings/tests/Mailer/NewUserMailHelperTest.php +++ b/apps/settings/tests/Mailer/NewUserMailHelperTest.php @@ -55,6 +55,8 @@ class NewUserMailHelperTest extends TestCase { private $urlGenerator; /** @var IL10N|\PHPUnit\Framework\MockObject\MockObject */ private $l10n; + /** @var IFactory|\PHPUnit\Framework\MockObject\MockObject */ + private $l10nFactory; /** @var IMailer|\PHPUnit\Framework\MockObject\MockObject */ private $mailer; /** @var ISecureRandom|\PHPUnit\Framework\MockObject\MockObject */ @@ -367,7 +369,9 @@ Set your password: https://example.com/resetPassword/MySuperLongSecureRandomToke Install Client: https://nextcloud.com/install/#install-clients --- +EOF; + $expectedTextBody .= "\n-- \n"; + $expectedTextBody .= <<<EOF TestCloud This is an automatically sent email, please do not reply. EOF; @@ -601,7 +605,9 @@ Go to TestCloud: https://example.com/ Install Client: https://nextcloud.com/install/#install-clients --- +EOF; + $expectedTextBody .= "\n-- \n"; + $expectedTextBody .= <<<EOF TestCloud This is an automatically sent email, please do not reply. EOF; @@ -822,7 +828,9 @@ Go to TestCloud: https://example.com/ Install Client: https://nextcloud.com/install/#install-clients --- +EOF; + $expectedTextBody .= "\n-- \n"; + $expectedTextBody .= <<<EOF TestCloud This is an automatically sent email, please do not reply. EOF; diff --git a/apps/settings/tests/Settings/Admin/SharingTest.php b/apps/settings/tests/Settings/Admin/SharingTest.php index b238e888d39..2468ad97d1e 100644 --- a/apps/settings/tests/Settings/Admin/SharingTest.php +++ b/apps/settings/tests/Settings/Admin/SharingTest.php @@ -100,6 +100,7 @@ class SharingTest extends TestCase { ['core', 'shareapi_default_remote_expire_date', 'no', 'no'], ['core', 'shareapi_remote_expire_after_n_days', '7', '7'], ['core', 'shareapi_enforce_remote_expire_date', 'no', 'no'], + ['core', 'shareapi_enforce_links_password_excluded_groups', '', ''], ]); $this->shareManager->method('shareWithGroupMembersOnly') ->willReturn(false); @@ -181,6 +182,7 @@ class SharingTest extends TestCase { ['core', 'shareapi_default_remote_expire_date', 'no', 'no'], ['core', 'shareapi_remote_expire_after_n_days', '7', '7'], ['core', 'shareapi_enforce_remote_expire_date', 'no', 'no'], + ['core', 'shareapi_enforce_links_password_excluded_groups', '', ''], ]); $this->shareManager->method('shareWithGroupMembersOnly') ->willReturn(false); diff --git a/apps/settings/tests/UserMigration/assets/account-complex-config.json b/apps/settings/tests/UserMigration/assets/account-complex-config.json index 8b85f523201..57c037a9d0d 100644 --- a/apps/settings/tests/UserMigration/assets/account-complex-config.json +++ b/apps/settings/tests/UserMigration/assets/account-complex-config.json @@ -1 +1 @@ -{"address":{"visibility":"show_users_only"},"avatar":{"visibility":"show_users_only"},"biography":{"visibility":"show"},"displayname":{"visibility":"show"},"headline":{"visibility":"show"},"organisation":{"visibility":"show"},"role":{"visibility":"show"},"email":{"visibility":"hide"},"phone":{"visibility":"hide"},"twitter":{"visibility":"show_users_only"},"website":{"visibility":"show_users_only"},"talk":{"visibility":"show"}}
\ No newline at end of file +{"address":{"visibility":"show_users_only"},"avatar":{"visibility":"show_users_only"},"biography":{"visibility":"show"},"displayname":{"visibility":"show"},"fediverse":{"visibility":"show_users_only"},"headline":{"visibility":"show"},"organisation":{"visibility":"show"},"role":{"visibility":"show"},"email":{"visibility":"hide"},"phone":{"visibility":"hide"},"twitter":{"visibility":"show_users_only"},"website":{"visibility":"show_users_only"},"talk":{"visibility":"show"}}
\ No newline at end of file diff --git a/apps/settings/tests/UserMigration/assets/account-complex.json b/apps/settings/tests/UserMigration/assets/account-complex.json index 4199b13b704..f16a74174e7 100644 --- a/apps/settings/tests/UserMigration/assets/account-complex.json +++ b/apps/settings/tests/UserMigration/assets/account-complex.json @@ -1 +1 @@ -{"displayname":{"name":"displayname","value":"Steve Smith","scope":"v2-local","verified":"0","verificationData":""},"address":{"name":"address","value":"123 Water St","scope":"v2-local","verified":"0","verificationData":""},"website":{"name":"website","value":"https:\/\/example.org","scope":"v2-local","verified":"0","verificationData":""},"email":{"name":"email","value":"steve@example.org","scope":"v2-federated","verified":"0","verificationData":""},"avatar":{"name":"avatar","value":"","scope":"v2-local","verified":"0","verificationData":""},"phone":{"name":"phone","value":"+12178515387","scope":"v2-private","verified":"0","verificationData":""},"twitter":{"name":"twitter","value":"steve","scope":"v2-federated","verified":"0","verificationData":""},"organisation":{"name":"organisation","value":"Mytery Machine","scope":"v2-private","verified":"0","verificationData":""},"role":{"name":"role","value":"Manager","scope":"v2-private","verified":"0","verificationData":""},"headline":{"name":"headline","value":"I am Steve","scope":"v2-local","verified":"0","verificationData":""},"biography":{"name":"biography","value":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris porttitor ullamcorper dictum. Sed fermentum ut ligula scelerisque semper. Aliquam interdum convallis tellus eu dapibus. Integer in justo sollicitudin, hendrerit ligula sit amet, blandit sem.\n\nSuspendisse consectetur ultrices accumsan. Quisque sagittis bibendum lectus ut placerat. Mauris tincidunt ornare neque, et pulvinar tortor porttitor eu.","scope":"v2-local","verified":"0","verificationData":""},"profile_enabled":{"name":"profile_enabled","value":"1","scope":"v2-local","verified":"0","verificationData":""},"additional_mail":[{"name":"additional_mail","value":"steve@example.com","scope":"v2-published","verified":"0","verificationData":""},{"name":"additional_mail","value":"steve@earth.world","scope":"v2-local","verified":"0","verificationData":""}]}
\ No newline at end of file +{"displayname":{"name":"displayname","value":"Steve Smith","scope":"v2-local","verified":"0","verificationData":""},"address":{"name":"address","value":"123 Water St","scope":"v2-local","verified":"0","verificationData":""},"website":{"name":"website","value":"https:\/\/example.org","scope":"v2-local","verified":"0","verificationData":""},"email":{"name":"email","value":"steve@example.org","scope":"v2-federated","verified":"0","verificationData":""},"avatar":{"name":"avatar","value":"","scope":"v2-local","verified":"0","verificationData":""},"phone":{"name":"phone","value":"+12178515387","scope":"v2-private","verified":"0","verificationData":""},"twitter":{"name":"twitter","value":"steve","scope":"v2-federated","verified":"0","verificationData":""},"fediverse":{"name":"fediverse","value":"@steve@floss.social","scope":"v2-federated","verified":"0","verificationData":""},"organisation":{"name":"organisation","value":"Mytery Machine","scope":"v2-private","verified":"0","verificationData":""},"role":{"name":"role","value":"Manager","scope":"v2-private","verified":"0","verificationData":""},"headline":{"name":"headline","value":"I am Steve","scope":"v2-local","verified":"0","verificationData":""},"biography":{"name":"biography","value":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris porttitor ullamcorper dictum. Sed fermentum ut ligula scelerisque semper. Aliquam interdum convallis tellus eu dapibus. Integer in justo sollicitudin, hendrerit ligula sit amet, blandit sem.\n\nSuspendisse consectetur ultrices accumsan. Quisque sagittis bibendum lectus ut placerat. Mauris tincidunt ornare neque, et pulvinar tortor porttitor eu.","scope":"v2-local","verified":"0","verificationData":""},"profile_enabled":{"name":"profile_enabled","value":"1","scope":"v2-local","verified":"0","verificationData":""},"additional_mail":[{"name":"additional_mail","value":"steve@example.com","scope":"v2-published","verified":"0","verificationData":""},{"name":"additional_mail","value":"steve@earth.world","scope":"v2-local","verified":"0","verificationData":""}]}
\ No newline at end of file diff --git a/apps/settings/tests/UserMigration/assets/account-config.json b/apps/settings/tests/UserMigration/assets/account-config.json index 51f4d387746..442857ced34 100644 --- a/apps/settings/tests/UserMigration/assets/account-config.json +++ b/apps/settings/tests/UserMigration/assets/account-config.json @@ -1 +1 @@ -{"address":{"visibility":"show_users_only"},"avatar":{"visibility":"show"},"biography":{"visibility":"show"},"displayname":{"visibility":"show"},"headline":{"visibility":"show"},"organisation":{"visibility":"show"},"role":{"visibility":"show"},"email":{"visibility":"show_users_only"},"phone":{"visibility":"show_users_only"},"twitter":{"visibility":"show"},"website":{"visibility":"show"}}
\ No newline at end of file +{"address":{"visibility":"show_users_only"},"avatar":{"visibility":"show"},"biography":{"visibility":"show"},"displayname":{"visibility":"show"},"fediverse":{"visibility":"show"},"headline":{"visibility":"show"},"organisation":{"visibility":"show"},"role":{"visibility":"show"},"email":{"visibility":"show_users_only"},"phone":{"visibility":"show_users_only"},"twitter":{"visibility":"show"},"website":{"visibility":"show"}}
\ No newline at end of file diff --git a/apps/settings/tests/UserMigration/assets/account.json b/apps/settings/tests/UserMigration/assets/account.json index 7f53f28c4d3..0dd5185a6ab 100644 --- a/apps/settings/tests/UserMigration/assets/account.json +++ b/apps/settings/tests/UserMigration/assets/account.json @@ -1 +1 @@ -{"displayname":{"name":"displayname","value":"Emma Jones","scope":"v2-federated","verified":"0","verificationData":""},"address":{"name":"address","value":"920 Grass St","scope":"v2-local","verified":"0","verificationData":""},"website":{"name":"website","value":"","scope":"v2-local","verified":"0","verificationData":""},"email":{"name":"email","value":"","scope":"v2-federated","verified":"0","verificationData":""},"avatar":{"name":"avatar","value":"","scope":"v2-federated","verified":"0","verificationData":""},"phone":{"name":"phone","value":"","scope":"v2-local","verified":"0","verificationData":""},"twitter":{"name":"twitter","value":"","scope":"v2-local","verified":"0","verificationData":""},"organisation":{"name":"organisation","value":"","scope":"v2-local","verified":"0","verificationData":""},"role":{"name":"role","value":"","scope":"v2-local","verified":"0","verificationData":""},"headline":{"name":"headline","value":"","scope":"v2-local","verified":"0","verificationData":""},"biography":{"name":"biography","value":"","scope":"v2-local","verified":"0","verificationData":""},"profile_enabled":{"name":"profile_enabled","value":"1","scope":"v2-local","verified":"0","verificationData":""},"additional_mail":[]}
\ No newline at end of file +{"displayname":{"name":"displayname","value":"Emma Jones","scope":"v2-federated","verified":"0","verificationData":""},"address":{"name":"address","value":"920 Grass St","scope":"v2-local","verified":"0","verificationData":""},"website":{"name":"website","value":"","scope":"v2-local","verified":"0","verificationData":""},"email":{"name":"email","value":"","scope":"v2-federated","verified":"0","verificationData":""},"avatar":{"name":"avatar","value":"","scope":"v2-federated","verified":"0","verificationData":""},"phone":{"name":"phone","value":"","scope":"v2-local","verified":"0","verificationData":""},"twitter":{"name":"twitter","value":"","scope":"v2-local","verified":"0","verificationData":""},"fediverse":{"name":"fediverse","value":"","scope":"v2-local","verified":"0","verificationData":""},"organisation":{"name":"organisation","value":"","scope":"v2-local","verified":"0","verificationData":""},"role":{"name":"role","value":"","scope":"v2-local","verified":"0","verificationData":""},"headline":{"name":"headline","value":"","scope":"v2-local","verified":"0","verificationData":""},"biography":{"name":"biography","value":"","scope":"v2-local","verified":"0","verificationData":""},"profile_enabled":{"name":"profile_enabled","value":"1","scope":"v2-local","verified":"0","verificationData":""},"additional_mail":[]}
\ No newline at end of file diff --git a/apps/sharebymail/composer/autoload.php b/apps/sharebymail/composer/autoload.php index bef284b432f..a9fb0613ee8 100644 --- a/apps/sharebymail/composer/autoload.php +++ b/apps/sharebymail/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/sharebymail/composer/composer/installed.php b/apps/sharebymail/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/sharebymail/composer/composer/installed.php +++ b/apps/sharebymail/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/sharebymail/l10n/de.js b/apps/sharebymail/l10n/de.js index f4f2d11217c..9058cc07e89 100644 --- a/apps/sharebymail/l10n/de.js +++ b/apps/sharebymail/l10n/de.js @@ -37,7 +37,7 @@ OC.L10N.register( "%1$s shared »%2$s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%1$s hat »%2$s« mit dir geteilt.\nDu solltest bereits eine weitere E-Mail mit einem Link für den Zugriff erhalten haben.\n", "%1$s shared »%2$s« with you. You should have already received a separate mail with a link to access it." : "%1$s hat »%2$s« mit dir geteilt. Du solltest bereits eine weitere E-Mail mit einem Link für den Zugriff erhalten haben. ", "Password to access »%1$s« shared to you by %2$s" : "Das Passwort zum Zugriff auf %1$s wurde durch %2$s mit dir geteilt.", - "Password to access »%s«" : "Passwort um auf »%s« zu zugreifen", + "Password to access »%s«" : "Passwort um auf »%s« zuzugreifen", "It is protected with the following password:" : "Dies ist mit dem folgendem Passwort geschützt:", "This password will expire at %s" : "Dieses Passwort wird um %s ablaufen.", "%1$s shared »%2$s« with you and wants to add:" : "%1$s hat »%2$s« mit dir geteilt und möchte folgendes hinzufügen:", diff --git a/apps/sharebymail/l10n/de.json b/apps/sharebymail/l10n/de.json index bb5a47fa835..484720f19dc 100644 --- a/apps/sharebymail/l10n/de.json +++ b/apps/sharebymail/l10n/de.json @@ -35,7 +35,7 @@ "%1$s shared »%2$s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%1$s hat »%2$s« mit dir geteilt.\nDu solltest bereits eine weitere E-Mail mit einem Link für den Zugriff erhalten haben.\n", "%1$s shared »%2$s« with you. You should have already received a separate mail with a link to access it." : "%1$s hat »%2$s« mit dir geteilt. Du solltest bereits eine weitere E-Mail mit einem Link für den Zugriff erhalten haben. ", "Password to access »%1$s« shared to you by %2$s" : "Das Passwort zum Zugriff auf %1$s wurde durch %2$s mit dir geteilt.", - "Password to access »%s«" : "Passwort um auf »%s« zu zugreifen", + "Password to access »%s«" : "Passwort um auf »%s« zuzugreifen", "It is protected with the following password:" : "Dies ist mit dem folgendem Passwort geschützt:", "This password will expire at %s" : "Dieses Passwort wird um %s ablaufen.", "%1$s shared »%2$s« with you and wants to add:" : "%1$s hat »%2$s« mit dir geteilt und möchte folgendes hinzufügen:", diff --git a/apps/sharebymail/l10n/de_DE.js b/apps/sharebymail/l10n/de_DE.js index 328dbfeb147..7aeea3852ef 100644 --- a/apps/sharebymail/l10n/de_DE.js +++ b/apps/sharebymail/l10n/de_DE.js @@ -37,7 +37,7 @@ OC.L10N.register( "%1$s shared »%2$s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%1$s hat »%2$s« mit Ihnen geteilt.\nSie sollten bereits eine weitere E-Mail mit einem Link für den Zugriff erhalten haben.\n", "%1$s shared »%2$s« with you. You should have already received a separate mail with a link to access it." : "%1$s hat »%2$s« mit Ihnen geteilt. Sie sollten bereits eine weitere E-Mail mit einem Link für den Zugriff erhalten haben.", "Password to access »%1$s« shared to you by %2$s" : "Das Passwort zum Zugriff auf %1$s wurde durch %2$s mit Ihnen geteilt.", - "Password to access »%s«" : "Passwort um auf »%s« zu zugreifen", + "Password to access »%s«" : "Passwort um auf »%s« zuzugreifen", "It is protected with the following password:" : "Dies ist mit dem folgendem Passwort geschützt:", "This password will expire at %s" : "Dieses Passwort wird um %s ablaufen.", "%1$s shared »%2$s« with you and wants to add:" : "%1$s hat » %2$s« mit Ihnen geteilt und möchte folgendes hinzufügen:", diff --git a/apps/sharebymail/l10n/de_DE.json b/apps/sharebymail/l10n/de_DE.json index 64fcad2eff2..e4c93609ceb 100644 --- a/apps/sharebymail/l10n/de_DE.json +++ b/apps/sharebymail/l10n/de_DE.json @@ -35,7 +35,7 @@ "%1$s shared »%2$s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%1$s hat »%2$s« mit Ihnen geteilt.\nSie sollten bereits eine weitere E-Mail mit einem Link für den Zugriff erhalten haben.\n", "%1$s shared »%2$s« with you. You should have already received a separate mail with a link to access it." : "%1$s hat »%2$s« mit Ihnen geteilt. Sie sollten bereits eine weitere E-Mail mit einem Link für den Zugriff erhalten haben.", "Password to access »%1$s« shared to you by %2$s" : "Das Passwort zum Zugriff auf %1$s wurde durch %2$s mit Ihnen geteilt.", - "Password to access »%s«" : "Passwort um auf »%s« zu zugreifen", + "Password to access »%s«" : "Passwort um auf »%s« zuzugreifen", "It is protected with the following password:" : "Dies ist mit dem folgendem Passwort geschützt:", "This password will expire at %s" : "Dieses Passwort wird um %s ablaufen.", "%1$s shared »%2$s« with you and wants to add:" : "%1$s hat » %2$s« mit Ihnen geteilt und möchte folgendes hinzufügen:", diff --git a/apps/sharebymail/l10n/en_GB.js b/apps/sharebymail/l10n/en_GB.js index 15836654ce5..f649d0f8697 100644 --- a/apps/sharebymail/l10n/en_GB.js +++ b/apps/sharebymail/l10n/en_GB.js @@ -5,6 +5,10 @@ OC.L10N.register( "Shared with {email}" : "Shared with {email}", "Shared with %1$s by %2$s" : "Shared with %1$s by %2$s", "Shared with {email} by {actor}" : "Shared with {email} by {actor}", + "Unshared from %1$s" : "Unshared from %1$s", + "Unshared from {email}" : "Unshared from {email}", + "Unshared from %1$s by %2$s" : "Unshared from %1$s by %2$s", + "Unshared from {email} by {actor}" : "Unshared from {email} by {actor}", "Password for mail share sent to %1$s" : "Password for mail share sent to %1$s", "Password for mail share sent to {email}" : "Password for mail share sent to {email}", "Password for mail share sent to you" : "Password for mail share sent to you", @@ -12,12 +16,21 @@ OC.L10N.register( "You shared {file} with {email} by mail" : "You shared {file} with {email} by mail", "%3$s shared %1$s with %2$s by mail" : "%3$s shared %1$s with %2$s by mail", "{actor} shared {file} with {email} by mail" : "{actor} shared {file} with {email} by mail", + "You unshared %1$s from %2$s by mail" : "You unshared %1$s from %2$s by mail", + "You unshared {file} from {email} by mail" : "You unshared {file} from {email} by mail", + "%3$s unshared %1$s from %2$s by mail" : "%3$s unshared %1$s from %2$s by mail", + "{actor} unshared {file} from {email} by mail" : "{actor} unshared {file} from {email} by mail", "Password to access %1$s was sent to %2s" : "Password to access %1$s was sent to %2s", "Password to access {file} was sent to {email}" : "Password to access {file} was sent to {email}", "Password to access %1$s was sent to you" : "Password to access %1$s was sent to you", "Password to access {file} was sent to you" : "Password to access {file} was sent to you", "Share by mail" : "Share by mail", + "Sharing %1$s failed, because this item is already shared with user %2$s" : "Sharing %1$s failed, because this item is already shared with user %2$s", + "We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again.", + "Failed to send share by email. Got an invalid email address" : "Failed to send share by email. Got an invalid email address", "Failed to send share by email" : "Failed to send share by email", + "%1$s shared »%2$s« with you" : "%1$s shared »%2$s« with you", + "%1$s shared »%2$s« with you." : "%1$s shared »%2$s« with you.", "Click the button below to open it." : "Click the button below to open it.", "Open »%s«" : "Open »%s«", "%1$s via %2$s" : "%1$s via %2$s", @@ -26,10 +39,19 @@ OC.L10N.register( "Password to access »%1$s« shared to you by %2$s" : "Password to access »%1$s« shared to you by %2$s", "Password to access »%s«" : "Password to access »%s«", "It is protected with the following password:" : "It is protected with the following password:", - "You can choose a different password at any time in the share dialog." : "You can choose a different password at any time in the share dialog.", + "This password will expire at %s" : "This password will expire at %s", + "%1$s shared »%2$s« with you and wants to add:" : "%1$s shared »%2$s« with you and wants to add:", + "%1$s shared »%2$s« with you and wants to add" : "%1$s shared »%2$s« with you and wants to add", + "»%s« added a note to a file shared with you" : "»%s« added a note to a file shared with you", + "You just shared »%1$s« with %2$s. The share was already sent to the recipient. Due to the security policies defined by the administrator of %3$s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "You just shared »%1$s« with %2$s. The share was already sent to the recipient. Due to the security policies defined by the administrator of %3$s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient.", + "Password to access »%1$s« shared by you with %2$s" : "Password to access »%1$s« shared by you with %2$s", + "This is the password:" : "This is the password:", + "You can choose a different password at any time in the share dialog." : "You can choose a different password at any time in the share dialogue.", "Could not find share" : "Could not find share", "Share provider which allows you to share files by mail" : "Share provider which allows you to share files by mail", "Allows users to share a personalized link to a file or folder by putting in an email address." : "Allows users to share a personalised link to a file or folder by putting in an email address.", - "Send password by mail" : "Send password by mail" + "Send password by mail" : "Send password by mail", + "Reply to initiator" : "Reply to initiator", + "Unable to update share by mail config" : "Unable to update share by mail config" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/sharebymail/l10n/en_GB.json b/apps/sharebymail/l10n/en_GB.json index e342a4c298a..de1fcc3fc0f 100644 --- a/apps/sharebymail/l10n/en_GB.json +++ b/apps/sharebymail/l10n/en_GB.json @@ -3,6 +3,10 @@ "Shared with {email}" : "Shared with {email}", "Shared with %1$s by %2$s" : "Shared with %1$s by %2$s", "Shared with {email} by {actor}" : "Shared with {email} by {actor}", + "Unshared from %1$s" : "Unshared from %1$s", + "Unshared from {email}" : "Unshared from {email}", + "Unshared from %1$s by %2$s" : "Unshared from %1$s by %2$s", + "Unshared from {email} by {actor}" : "Unshared from {email} by {actor}", "Password for mail share sent to %1$s" : "Password for mail share sent to %1$s", "Password for mail share sent to {email}" : "Password for mail share sent to {email}", "Password for mail share sent to you" : "Password for mail share sent to you", @@ -10,12 +14,21 @@ "You shared {file} with {email} by mail" : "You shared {file} with {email} by mail", "%3$s shared %1$s with %2$s by mail" : "%3$s shared %1$s with %2$s by mail", "{actor} shared {file} with {email} by mail" : "{actor} shared {file} with {email} by mail", + "You unshared %1$s from %2$s by mail" : "You unshared %1$s from %2$s by mail", + "You unshared {file} from {email} by mail" : "You unshared {file} from {email} by mail", + "%3$s unshared %1$s from %2$s by mail" : "%3$s unshared %1$s from %2$s by mail", + "{actor} unshared {file} from {email} by mail" : "{actor} unshared {file} from {email} by mail", "Password to access %1$s was sent to %2s" : "Password to access %1$s was sent to %2s", "Password to access {file} was sent to {email}" : "Password to access {file} was sent to {email}", "Password to access %1$s was sent to you" : "Password to access %1$s was sent to you", "Password to access {file} was sent to you" : "Password to access {file} was sent to you", "Share by mail" : "Share by mail", + "Sharing %1$s failed, because this item is already shared with user %2$s" : "Sharing %1$s failed, because this item is already shared with user %2$s", + "We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again.", + "Failed to send share by email. Got an invalid email address" : "Failed to send share by email. Got an invalid email address", "Failed to send share by email" : "Failed to send share by email", + "%1$s shared »%2$s« with you" : "%1$s shared »%2$s« with you", + "%1$s shared »%2$s« with you." : "%1$s shared »%2$s« with you.", "Click the button below to open it." : "Click the button below to open it.", "Open »%s«" : "Open »%s«", "%1$s via %2$s" : "%1$s via %2$s", @@ -24,10 +37,19 @@ "Password to access »%1$s« shared to you by %2$s" : "Password to access »%1$s« shared to you by %2$s", "Password to access »%s«" : "Password to access »%s«", "It is protected with the following password:" : "It is protected with the following password:", - "You can choose a different password at any time in the share dialog." : "You can choose a different password at any time in the share dialog.", + "This password will expire at %s" : "This password will expire at %s", + "%1$s shared »%2$s« with you and wants to add:" : "%1$s shared »%2$s« with you and wants to add:", + "%1$s shared »%2$s« with you and wants to add" : "%1$s shared »%2$s« with you and wants to add", + "»%s« added a note to a file shared with you" : "»%s« added a note to a file shared with you", + "You just shared »%1$s« with %2$s. The share was already sent to the recipient. Due to the security policies defined by the administrator of %3$s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "You just shared »%1$s« with %2$s. The share was already sent to the recipient. Due to the security policies defined by the administrator of %3$s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient.", + "Password to access »%1$s« shared by you with %2$s" : "Password to access »%1$s« shared by you with %2$s", + "This is the password:" : "This is the password:", + "You can choose a different password at any time in the share dialog." : "You can choose a different password at any time in the share dialogue.", "Could not find share" : "Could not find share", "Share provider which allows you to share files by mail" : "Share provider which allows you to share files by mail", "Allows users to share a personalized link to a file or folder by putting in an email address." : "Allows users to share a personalised link to a file or folder by putting in an email address.", - "Send password by mail" : "Send password by mail" + "Send password by mail" : "Send password by mail", + "Reply to initiator" : "Reply to initiator", + "Unable to update share by mail config" : "Unable to update share by mail config" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/sharebymail/l10n/ko.js b/apps/sharebymail/l10n/ko.js index d36cabce582..64b9badc749 100644 --- a/apps/sharebymail/l10n/ko.js +++ b/apps/sharebymail/l10n/ko.js @@ -23,6 +23,9 @@ OC.L10N.register( "%1$s via %2$s" : "%1$s(%2$s 경유)", "Password to access »%s«" : "%s에 접근할 수 있는 암호", "It is protected with the following password:" : "비밀번호로 보호됩니다.", + "%1$s shared »%2$s« with you and wants to add:" : "%1$s이(가) %2$s을(를) 당신과 공유하며, 다음을 추가하고자 함:", + "%1$s shared »%2$s« with you and wants to add" : "%1$s이(가) %2$s을(를) 당신과 공유하며 다음을 추가하고자 함", + "»%s« added a note to a file shared with you" : "%s이(가) 당신과 공유한 파일에 메모를 추가함", "This is the password:" : "비밀번호", "You can choose a different password at any time in the share dialog." : "공유 대화 상자에서 언제든지 다른 암호를 선택할 수 있습니다.", "Could not find share" : "공유를 찾을 수 없음", diff --git a/apps/sharebymail/l10n/ko.json b/apps/sharebymail/l10n/ko.json index 27fdd6731b4..3d1764518d0 100644 --- a/apps/sharebymail/l10n/ko.json +++ b/apps/sharebymail/l10n/ko.json @@ -21,6 +21,9 @@ "%1$s via %2$s" : "%1$s(%2$s 경유)", "Password to access »%s«" : "%s에 접근할 수 있는 암호", "It is protected with the following password:" : "비밀번호로 보호됩니다.", + "%1$s shared »%2$s« with you and wants to add:" : "%1$s이(가) %2$s을(를) 당신과 공유하며, 다음을 추가하고자 함:", + "%1$s shared »%2$s« with you and wants to add" : "%1$s이(가) %2$s을(를) 당신과 공유하며 다음을 추가하고자 함", + "»%s« added a note to a file shared with you" : "%s이(가) 당신과 공유한 파일에 메모를 추가함", "This is the password:" : "비밀번호", "You can choose a different password at any time in the share dialog." : "공유 대화 상자에서 언제든지 다른 암호를 선택할 수 있습니다.", "Could not find share" : "공유를 찾을 수 없음", diff --git a/apps/sharebymail/lib/ShareByMailProvider.php b/apps/sharebymail/lib/ShareByMailProvider.php index 01dd3b428d1..af3d14b49bc 100644 --- a/apps/sharebymail/lib/ShareByMailProvider.php +++ b/apps/sharebymail/lib/ShareByMailProvider.php @@ -1042,8 +1042,8 @@ class ShareByMailProvider implements IShareProvider { $share->setShareTime($shareTime); $share->setSharedWith($data['share_with']); $share->setPassword($data['password']); - $passwordExpirationTime = \DateTime::createFromFormat('Y-m-d H:i:s', $data['password_expiration_time']); - $share->setPasswordExpirationTime($passwordExpirationTime !== false? $passwordExpirationTime : null); + $passwordExpirationTime = \DateTime::createFromFormat('Y-m-d H:i:s', $data['password_expiration_time'] ?? ''); + $share->setPasswordExpirationTime($passwordExpirationTime !== false ? $passwordExpirationTime : null); $share->setLabel($data['label']); $share->setSendPasswordByTalk((bool)$data['password_by_talk']); $share->setHideDownload((bool)$data['hide_download']); @@ -1140,7 +1140,6 @@ class ShareByMailProvider implements IShareProvider { * @throws ShareNotFound */ protected function getRawShare($id) { - // Now fetch the inserted share and create a complete share object $qb = $this->dbConnection->getQueryBuilder(); $qb->select('*') diff --git a/apps/systemtags/composer/autoload.php b/apps/systemtags/composer/autoload.php index 5f15d593150..0fc41f943b4 100644 --- a/apps/systemtags/composer/autoload.php +++ b/apps/systemtags/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/systemtags/composer/composer/installed.php b/apps/systemtags/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/systemtags/composer/composer/installed.php +++ b/apps/systemtags/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/systemtags/l10n/en_GB.js b/apps/systemtags/l10n/en_GB.js index 5fd7f50002d..bc85cbe3235 100644 --- a/apps/systemtags/l10n/en_GB.js +++ b/apps/systemtags/l10n/en_GB.js @@ -1,13 +1,16 @@ OC.L10N.register( "systemtags", { + "Tag name is empty" : "Tag name is empty", "Update" : "Update", "Create" : "Create", "Select tag …" : "Select tag …", + "System tag %1$s added by the system" : "System tag %1$s added by the system", "Added system tag {systemtag}" : "Added system tag {systemtag}", "Added system tag %1$s" : "Added system tag %1$s", "%1$s added system tag %2$s" : "%1$s added system tag %2$s", "{actor} added system tag {systemtag}" : "{actor} added system tag {systemtag}", + "System tag %1$s removed by the system" : "System tag %1$s removed by the system", "Removed system tag {systemtag}" : "Removed system tag {systemtag}", "Removed system tag %1$s" : "Removed system tag %1$s", "%1$s removed system tag %2$s" : "%1$s removed system tag %2$s", @@ -24,10 +27,14 @@ OC.L10N.register( "You updated system tag {oldsystemtag} to {newsystemtag}" : "You updated system tag {oldsystemtag} to {newsystemtag}", "%1$s updated system tag %3$s to %2$s" : "%1$s updated system tag %3$s to %2$s", "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} updated system tag {oldsystemtag} to {newsystemtag}", + "System tag %2$s was added to %1$s by the system" : "System tag %2$s was added to %1$s by the system", + "System tag {systemtag} was added to {file} by the system" : "System tag {systemtag} was added to {file} by the system", "You added system tag %2$s to %1$s" : "You added system tag %2$s to %1$s", "You added system tag {systemtag} to {file}" : "You added system tag {systemtag} to {file}", "%1$s added system tag %3$s to %2$s" : "%1$s added system tag %3$s to %2$s", "{actor} added system tag {systemtag} to {file}" : "{actor} added system tag {systemtag} to {file}", + "System tag %2$s was removed from %1$s by the system" : "System tag %2$s was removed from %1$s by the system", + "System tag {systemtag} was removed from {file} by the system" : "System tag {systemtag} was removed from {file} by the system", "You removed system tag %2$s from %1$s" : "You removed system tag %2$s from %1$s", "You removed system tag {systemtag} from {file}" : "You removed system tag {systemtag} from {file}", "%1$s removed system tag %3$s from %2$s" : "%1$s removed system tag %3$s from %2$s", @@ -36,6 +43,8 @@ OC.L10N.register( "%s (invisible)" : "%s (invisible)", "<strong>System tags</strong> for a file have been modified" : "<strong>System tags</strong> for a file have been modified", "Tags" : "Tags", + "All tagged %s …" : "All tagged %s …", + "tagged %s" : "tagged %s", "Collaborative tags" : "Collaborative tags", "Collaborative tagging functionality which shares tags among users." : "Collaborative tagging functionality which shares tags among users.", "Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)", @@ -44,6 +53,7 @@ OC.L10N.register( "No tags found" : "No tags found", "Please select tags to filter by" : "Please select tags to filter by", "No files found for the selected tags" : "No files found for the selected tags", + "Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them." : "Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them.", "Create a new tag" : "Create a new tag", "Name" : "Name", "Public" : "Public", diff --git a/apps/systemtags/l10n/en_GB.json b/apps/systemtags/l10n/en_GB.json index a06b2511b44..2c5e22e4011 100644 --- a/apps/systemtags/l10n/en_GB.json +++ b/apps/systemtags/l10n/en_GB.json @@ -1,11 +1,14 @@ { "translations": { + "Tag name is empty" : "Tag name is empty", "Update" : "Update", "Create" : "Create", "Select tag …" : "Select tag …", + "System tag %1$s added by the system" : "System tag %1$s added by the system", "Added system tag {systemtag}" : "Added system tag {systemtag}", "Added system tag %1$s" : "Added system tag %1$s", "%1$s added system tag %2$s" : "%1$s added system tag %2$s", "{actor} added system tag {systemtag}" : "{actor} added system tag {systemtag}", + "System tag %1$s removed by the system" : "System tag %1$s removed by the system", "Removed system tag {systemtag}" : "Removed system tag {systemtag}", "Removed system tag %1$s" : "Removed system tag %1$s", "%1$s removed system tag %2$s" : "%1$s removed system tag %2$s", @@ -22,10 +25,14 @@ "You updated system tag {oldsystemtag} to {newsystemtag}" : "You updated system tag {oldsystemtag} to {newsystemtag}", "%1$s updated system tag %3$s to %2$s" : "%1$s updated system tag %3$s to %2$s", "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} updated system tag {oldsystemtag} to {newsystemtag}", + "System tag %2$s was added to %1$s by the system" : "System tag %2$s was added to %1$s by the system", + "System tag {systemtag} was added to {file} by the system" : "System tag {systemtag} was added to {file} by the system", "You added system tag %2$s to %1$s" : "You added system tag %2$s to %1$s", "You added system tag {systemtag} to {file}" : "You added system tag {systemtag} to {file}", "%1$s added system tag %3$s to %2$s" : "%1$s added system tag %3$s to %2$s", "{actor} added system tag {systemtag} to {file}" : "{actor} added system tag {systemtag} to {file}", + "System tag %2$s was removed from %1$s by the system" : "System tag %2$s was removed from %1$s by the system", + "System tag {systemtag} was removed from {file} by the system" : "System tag {systemtag} was removed from {file} by the system", "You removed system tag %2$s from %1$s" : "You removed system tag %2$s from %1$s", "You removed system tag {systemtag} from {file}" : "You removed system tag {systemtag} from {file}", "%1$s removed system tag %3$s from %2$s" : "%1$s removed system tag %3$s from %2$s", @@ -34,6 +41,8 @@ "%s (invisible)" : "%s (invisible)", "<strong>System tags</strong> for a file have been modified" : "<strong>System tags</strong> for a file have been modified", "Tags" : "Tags", + "All tagged %s …" : "All tagged %s …", + "tagged %s" : "tagged %s", "Collaborative tags" : "Collaborative tags", "Collaborative tagging functionality which shares tags among users." : "Collaborative tagging functionality which shares tags among users.", "Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)", @@ -42,6 +51,7 @@ "No tags found" : "No tags found", "Please select tags to filter by" : "Please select tags to filter by", "No files found for the selected tags" : "No files found for the selected tags", + "Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them." : "Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them.", "Create a new tag" : "Create a new tag", "Name" : "Name", "Public" : "Public", diff --git a/apps/systemtags/l10n/he.js b/apps/systemtags/l10n/he.js index 5a8ae27746d..30e04c4e207 100644 --- a/apps/systemtags/l10n/he.js +++ b/apps/systemtags/l10n/he.js @@ -43,6 +43,8 @@ OC.L10N.register( "%s (invisible)" : "%s (נסתר)", "<strong>System tags</strong> for a file have been modified" : "<strong>תגיות מערכת</strong> שהשתנו עבור קובץ", "Tags" : "תגיות", + "All tagged %s …" : "כל ה־%s המתויגים…", + "tagged %s" : "%s מתויג", "Collaborative tags" : "תגיות שיתופיות", "Collaborative tagging functionality which shares tags among users." : "תכונת תיוג שיתופים שמשתפת תגיות בין המשתמשים.", "Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "תכונת התיוג השיתופי שמשתפת תגיות בין משתמשים. מעולה לעבודת צוות.\n\t(אם בבעלותך התקנה עם מגוון מערכות נפרדות, מוטב להשבית את היישומון הזה כיוון שהתגיות משותפות.)", diff --git a/apps/systemtags/l10n/he.json b/apps/systemtags/l10n/he.json index 32ad3cd3da6..5fa08703bbc 100644 --- a/apps/systemtags/l10n/he.json +++ b/apps/systemtags/l10n/he.json @@ -41,6 +41,8 @@ "%s (invisible)" : "%s (נסתר)", "<strong>System tags</strong> for a file have been modified" : "<strong>תגיות מערכת</strong> שהשתנו עבור קובץ", "Tags" : "תגיות", + "All tagged %s …" : "כל ה־%s המתויגים…", + "tagged %s" : "%s מתויג", "Collaborative tags" : "תגיות שיתופיות", "Collaborative tagging functionality which shares tags among users." : "תכונת תיוג שיתופים שמשתפת תגיות בין המשתמשים.", "Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "תכונת התיוג השיתופי שמשתפת תגיות בין משתמשים. מעולה לעבודת צוות.\n\t(אם בבעלותך התקנה עם מגוון מערכות נפרדות, מוטב להשבית את היישומון הזה כיוון שהתגיות משותפות.)", diff --git a/apps/systemtags/l10n/uk.js b/apps/systemtags/l10n/uk.js index 97b63820472..2f5aaf9e595 100644 --- a/apps/systemtags/l10n/uk.js +++ b/apps/systemtags/l10n/uk.js @@ -62,7 +62,7 @@ OC.L10N.register( "Delete" : "Вилучити", "Reset" : "Скидання", "No files in here" : "Тут немає файлів", - "No entries found in this folder" : "В цьому каталозі нічого немає", + "No entries found in this folder" : "В цьому каталозі нічого не знайдено", "Size" : "Розмір", "Modified" : "Змінено" }, diff --git a/apps/systemtags/l10n/uk.json b/apps/systemtags/l10n/uk.json index 77b4f4417e7..955884f27a0 100644 --- a/apps/systemtags/l10n/uk.json +++ b/apps/systemtags/l10n/uk.json @@ -60,7 +60,7 @@ "Delete" : "Вилучити", "Reset" : "Скидання", "No files in here" : "Тут немає файлів", - "No entries found in this folder" : "В цьому каталозі нічого немає", + "No entries found in this folder" : "В цьому каталозі нічого не знайдено", "Size" : "Розмір", "Modified" : "Змінено" },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);" diff --git a/apps/systemtags/src/systemtagsfilelist.js b/apps/systemtags/src/systemtagsfilelist.js index 5f2eae521b2..04ce6aebd4b 100644 --- a/apps/systemtags/src/systemtagsfilelist.js +++ b/apps/systemtags/src/systemtagsfilelist.js @@ -110,7 +110,6 @@ toggleSelect: true, separator: ',', query: _.bind(this._queryTagsAutocomplete, this), - minimumInputLength: 3, id(tag) { return tag.id diff --git a/apps/testing/composer/autoload.php b/apps/testing/composer/autoload.php index 1ac43d5c8e9..4c194aa5707 100644 --- a/apps/testing/composer/autoload.php +++ b/apps/testing/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/testing/composer/composer/installed.php b/apps/testing/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/testing/composer/composer/installed.php +++ b/apps/testing/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/theming/appinfo/routes.php b/apps/theming/appinfo/routes.php index 0b51b22dbb7..8647ae135a8 100644 --- a/apps/theming/appinfo/routes.php +++ b/apps/theming/appinfo/routes.php @@ -40,6 +40,11 @@ return [ 'verb' => 'POST' ], [ + 'name' => 'Theming#undoAll', + 'url' => '/ajax/undoAllChanges', + 'verb' => 'POST' + ], + [ 'name' => 'Theming#uploadImage', 'url' => '/ajax/uploadImage', 'verb' => 'POST' @@ -88,6 +93,11 @@ return [ 'url' => '/background/{type}', 'verb' => 'POST', ], + [ + 'name' => 'userTheme#deleteBackground', + 'url' => '/background/custom', + 'verb' => 'DELETE', + ], ], 'ocs' => [ [ diff --git a/apps/theming/css/default.css b/apps/theming/css/default.css index 0d3f3402fce..bf139d0c830 100644 --- a/apps/theming/css/default.css +++ b/apps/theming/css/default.css @@ -54,9 +54,6 @@ --background-invert-if-dark: no; --background-invert-if-bright: invert(100%); --background-image-invert-if-bright: no; - --image-background: url('/core/img/app-background.jpg'); - --image-background-default: url('/core/img/app-background.jpg'); - --color-background-plain: #0082c9; --primary-invert-if-bright: no; --color-primary: #00639a; --color-primary-default: #0082c9; @@ -75,4 +72,6 @@ --color-primary-element-light-hover: #dbe4e9; --color-primary-element-text-dark: #ededed; --gradient-primary-background: linear-gradient(40deg, var(--color-primary) 0%, var(--color-primary-hover) 100%); + --image-background-default: url('/apps/theming/img/background/kamil-porembinski-clouds.jpg'); + --color-background-plain: #0082c9; } diff --git a/apps/theming/l10n/ar.js b/apps/theming/l10n/ar.js index 920b5be54ea..745667f22be 100644 --- a/apps/theming/l10n/ar.js +++ b/apps/theming/l10n/ar.js @@ -42,10 +42,6 @@ OC.L10N.register( "Upload new favicon" : "تحميل أيقونة مفضلة جديدة", "Keyboard shortcuts" : "إختصارات لوحة المفاتيح", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "الوصول الشامل مهم جدا بالنسبة لنا. نحن نتبع معايير ويب صارمة ونتأكد من أن كل شيء يمكن إستعماله حتى دون الحاجة للفأرة أو إلى أي برامج مساعدة مثل برامج قراءة الشاشة. هدفنا أن نكون متوافقين مع {guidelines} توجيهات تسهيل إستعمال محتوى الويب {linkend} 2.1 بمستوى AA، ومتوافقين مع مظهر تباين الألوان العالي بمستوى يصل حتى إلى AAA.", - "Pick from Files" : "اختر من الملفات", - "Custom color" : "لون خاص", - "Plain background" : "خلفية سادة", - "Insert from {productName}" : "اضف من {productName}", "Reset to default" : "اعادة تعيين الافتراضيات", "Upload" : "تحميل", "Remove background image" : "إزالة صورة الخلفية", @@ -53,6 +49,10 @@ OC.L10N.register( "Admin" : "ادارة", "Open documentation" : "فتح الدليل", "Login image" : "صورة الدخول", - "Upload new login background" : "تحميل خلفية جديدة للدخول" + "Upload new login background" : "تحميل خلفية جديدة للدخول", + "Pick from Files" : "اختر من الملفات", + "Custom color" : "لون خاص", + "Plain background" : "خلفية سادة", + "Insert from {productName}" : "اضف من {productName}" }, "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/theming/l10n/ar.json b/apps/theming/l10n/ar.json index 40eb2456cc9..a44b7080077 100644 --- a/apps/theming/l10n/ar.json +++ b/apps/theming/l10n/ar.json @@ -40,10 +40,6 @@ "Upload new favicon" : "تحميل أيقونة مفضلة جديدة", "Keyboard shortcuts" : "إختصارات لوحة المفاتيح", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "الوصول الشامل مهم جدا بالنسبة لنا. نحن نتبع معايير ويب صارمة ونتأكد من أن كل شيء يمكن إستعماله حتى دون الحاجة للفأرة أو إلى أي برامج مساعدة مثل برامج قراءة الشاشة. هدفنا أن نكون متوافقين مع {guidelines} توجيهات تسهيل إستعمال محتوى الويب {linkend} 2.1 بمستوى AA، ومتوافقين مع مظهر تباين الألوان العالي بمستوى يصل حتى إلى AAA.", - "Pick from Files" : "اختر من الملفات", - "Custom color" : "لون خاص", - "Plain background" : "خلفية سادة", - "Insert from {productName}" : "اضف من {productName}", "Reset to default" : "اعادة تعيين الافتراضيات", "Upload" : "تحميل", "Remove background image" : "إزالة صورة الخلفية", @@ -51,6 +47,10 @@ "Admin" : "ادارة", "Open documentation" : "فتح الدليل", "Login image" : "صورة الدخول", - "Upload new login background" : "تحميل خلفية جديدة للدخول" + "Upload new login background" : "تحميل خلفية جديدة للدخول", + "Pick from Files" : "اختر من الملفات", + "Custom color" : "لون خاص", + "Plain background" : "خلفية سادة", + "Insert from {productName}" : "اضف من {productName}" },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" }
\ No newline at end of file diff --git a/apps/theming/l10n/bg.js b/apps/theming/l10n/bg.js index b39ec1df5b0..b64b0908915 100644 --- a/apps/theming/l10n/bg.js +++ b/apps/theming/l10n/bg.js @@ -49,6 +49,7 @@ OC.L10N.register( "Adjust the Nextcloud theme" : "Коригиране на темата на Nextcloud", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Чрез темите можете бързо и лесно за персонализирате вида на Nextcloud. Промените ще бъдат видими за всички потребители.", "Advanced options" : "Допълнителни опции", + "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Инсталирайте разширението Imagemagick PHP с поддръжка за SVG изображения, за да генерирате автоматично фавикони въз основа на каченото лого и цвят.", "Name" : "Име", "Web link" : "URL", "a safe home for all your data" : "безопасен дом за всички ваши данни", @@ -57,6 +58,7 @@ OC.L10N.register( "Logo" : "Лого", "Upload new logo" : "Качване на ново лого", "Background and login image" : "Изображение за фон и вход", + "Upload new background and login image" : "Качване на нов фон и изображение за вход", "Legal notice link" : "Връзка за правна информация", "Privacy policy link" : "Връзка към политиката за поверителност", "Header logo" : "Главно лого", @@ -65,6 +67,7 @@ OC.L10N.register( "Upload new favicon" : "Качване на нов фавикон", "User settings" : "Потребителски настройки", "Disable user theming" : "Деактивиране на тематичните настройки на потребителите", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Въпреки че можете да изберете и персонализирате вашият екземпляр, потребителите могат да променят своя фон и цветове. Ако искате да наложите персонализирането си, можете да включите тази опция.", "Keyboard shortcuts" : "Бързи клавиши", "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "В някои случаи бързите клавишни комбинации могат да пречат на инструментите за достъпност. За да се позволи правилно фокусиране върху инструмента, можете да деактивирате всички клавишни комбинации тук. Това ще деактивира и всички налични преки пътища в приложенията.", "Disable all keyboard shortcuts" : "Деактивиране на всички бързи клавишни комбинации", @@ -73,12 +76,10 @@ OC.L10N.register( "Set a custom background" : "Задаване на персонализиран фон", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Универсалният достъп е много важен за нас. Следваме уеб стандартите и проверяваме, за да направим всичко използваемо и без мишка, и помощен софтуер, като екранни четци. Ние се стремим да бъдем съобразени с {guidelines}Насоки за достъпност на уеб съдържанието {linkend} 2.1 на ниво АА, с темата за висок контраст дори на ниво AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Ако откриете някакви проблеми, не се колебайте да ги съобщите на {issueetracker}, нашият тракер на проблеми {linkend}. И ако искате да се включите, елате да се присъедините {designteam} към нашия дизайнерски екип {linkend}!", - "Pick from Files" : "Избери от Файловете", - "Default image" : "Изображение по подразбиране", - "Custom color" : "Персонализиране на цвят", - "Plain background" : "Обикновен фон", - "Insert from {productName}" : "Вмъкване от {productName}", + "Change color" : "Промяна на цвета", + "Select a background from your files" : "Избор на фон от вашите файлове", "Theme selection is enforced" : "Изборът на тема е приложен", + "Select a custom color" : "Избор на персонализиран цвят", "Reset to default" : "Настройки по подразбиране", "Upload" : "Качване", "Remove background image" : "Премахни фоновото изображение", @@ -92,6 +93,11 @@ OC.L10N.register( "Upload new login background" : "Качване на нов фон за входа", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Инсталирайте разширението Imagemagick PHP с поддръжка за SVG изображения, за да генерирате автоматично фавикони въз основа на каченото лого и цвят.", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "В някои случаи бързите клавишни комбинации могат да пречат на инструментите за достъпност. За да се позволи правилно фокусиране върху инструмента, можете да деактивирате всички клавишни комбинации тук. Това ще деактивира и всички налични преки пътища в приложенията.", + "Pick from Files" : "Избери от Файловете", + "Default image" : "Изображение по подразбиране", + "Custom color" : "Персонализиране на цвят", + "Plain background" : "Обикновен фон", + "Insert from {productName}" : "Вмъкване от {productName}", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Въпреки че можете да изберете и персонализирате вашият екземпляр, потребителите могат да променят техният фон и цветове. Ако искате да наложите персонализирането си, можете да поставите отметка в това поле." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/bg.json b/apps/theming/l10n/bg.json index 2256f2dee27..688f0261b03 100644 --- a/apps/theming/l10n/bg.json +++ b/apps/theming/l10n/bg.json @@ -47,6 +47,7 @@ "Adjust the Nextcloud theme" : "Коригиране на темата на Nextcloud", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Чрез темите можете бързо и лесно за персонализирате вида на Nextcloud. Промените ще бъдат видими за всички потребители.", "Advanced options" : "Допълнителни опции", + "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Инсталирайте разширението Imagemagick PHP с поддръжка за SVG изображения, за да генерирате автоматично фавикони въз основа на каченото лого и цвят.", "Name" : "Име", "Web link" : "URL", "a safe home for all your data" : "безопасен дом за всички ваши данни", @@ -55,6 +56,7 @@ "Logo" : "Лого", "Upload new logo" : "Качване на ново лого", "Background and login image" : "Изображение за фон и вход", + "Upload new background and login image" : "Качване на нов фон и изображение за вход", "Legal notice link" : "Връзка за правна информация", "Privacy policy link" : "Връзка към политиката за поверителност", "Header logo" : "Главно лого", @@ -63,6 +65,7 @@ "Upload new favicon" : "Качване на нов фавикон", "User settings" : "Потребителски настройки", "Disable user theming" : "Деактивиране на тематичните настройки на потребителите", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Въпреки че можете да изберете и персонализирате вашият екземпляр, потребителите могат да променят своя фон и цветове. Ако искате да наложите персонализирането си, можете да включите тази опция.", "Keyboard shortcuts" : "Бързи клавиши", "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "В някои случаи бързите клавишни комбинации могат да пречат на инструментите за достъпност. За да се позволи правилно фокусиране върху инструмента, можете да деактивирате всички клавишни комбинации тук. Това ще деактивира и всички налични преки пътища в приложенията.", "Disable all keyboard shortcuts" : "Деактивиране на всички бързи клавишни комбинации", @@ -71,12 +74,10 @@ "Set a custom background" : "Задаване на персонализиран фон", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Универсалният достъп е много важен за нас. Следваме уеб стандартите и проверяваме, за да направим всичко използваемо и без мишка, и помощен софтуер, като екранни четци. Ние се стремим да бъдем съобразени с {guidelines}Насоки за достъпност на уеб съдържанието {linkend} 2.1 на ниво АА, с темата за висок контраст дори на ниво AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Ако откриете някакви проблеми, не се колебайте да ги съобщите на {issueetracker}, нашият тракер на проблеми {linkend}. И ако искате да се включите, елате да се присъедините {designteam} към нашия дизайнерски екип {linkend}!", - "Pick from Files" : "Избери от Файловете", - "Default image" : "Изображение по подразбиране", - "Custom color" : "Персонализиране на цвят", - "Plain background" : "Обикновен фон", - "Insert from {productName}" : "Вмъкване от {productName}", + "Change color" : "Промяна на цвета", + "Select a background from your files" : "Избор на фон от вашите файлове", "Theme selection is enforced" : "Изборът на тема е приложен", + "Select a custom color" : "Избор на персонализиран цвят", "Reset to default" : "Настройки по подразбиране", "Upload" : "Качване", "Remove background image" : "Премахни фоновото изображение", @@ -90,6 +91,11 @@ "Upload new login background" : "Качване на нов фон за входа", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Инсталирайте разширението Imagemagick PHP с поддръжка за SVG изображения, за да генерирате автоматично фавикони въз основа на каченото лого и цвят.", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "В някои случаи бързите клавишни комбинации могат да пречат на инструментите за достъпност. За да се позволи правилно фокусиране върху инструмента, можете да деактивирате всички клавишни комбинации тук. Това ще деактивира и всички налични преки пътища в приложенията.", + "Pick from Files" : "Избери от Файловете", + "Default image" : "Изображение по подразбиране", + "Custom color" : "Персонализиране на цвят", + "Plain background" : "Обикновен фон", + "Insert from {productName}" : "Вмъкване от {productName}", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Въпреки че можете да изберете и персонализирате вашият екземпляр, потребителите могат да променят техният фон и цветове. Ако искате да наложите персонализирането си, можете да поставите отметка в това поле." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/ca.js b/apps/theming/l10n/ca.js index f88aaa6bfe8..32d3d0ae914 100644 --- a/apps/theming/l10n/ca.js +++ b/apps/theming/l10n/ca.js @@ -52,10 +52,7 @@ OC.L10N.register( "User settings" : "Paràmetres de l'usuari", "Keyboard shortcuts" : "Dreceres de teclat", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "L'accés universal és molt important per a nosaltres. Seguim els estàndards web i comprovem que tot es pugui utilitzar també sense el ratolí i amb programes d'assistència, com ara els lectors de pantalla. Volem complir les {guidelines}Pautes d'accessibilitat del contingut web{linkend} 2.1 a nivell AA i amb el tema de contrast alt fins i tot a nivell AAA.", - "Pick from Files" : "Trieu dels fitxers", - "Custom color" : "Color personalitzat", - "Plain background" : "Fons senzill", - "Insert from {productName}" : "Insereix des de {productName}", + "Change color" : "Canvia el color", "Reset to default" : "Restableix als valors predeterminats", "Upload" : "Pujada", "Remove background image" : "Suprimeix la imatge de fons", @@ -66,6 +63,10 @@ OC.L10N.register( "https://…" : "https://...", "Login image" : "Imatge d'inici de sessió", "Upload new login background" : "Carrega un nou fons d'inici de sessió", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instal·leu l'extensió PHP de l'ImageMagick compatible amb imatges SVG per generar automàticament una icona de web a partir del logotip pujat i del color." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instal·leu l'extensió PHP de l'ImageMagick compatible amb imatges SVG per generar automàticament una icona de web a partir del logotip pujat i del color.", + "Pick from Files" : "Trieu dels fitxers", + "Custom color" : "Color personalitzat", + "Plain background" : "Fons senzill", + "Insert from {productName}" : "Insereix des de {productName}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/ca.json b/apps/theming/l10n/ca.json index 0dec766eecf..4a917da8223 100644 --- a/apps/theming/l10n/ca.json +++ b/apps/theming/l10n/ca.json @@ -50,10 +50,7 @@ "User settings" : "Paràmetres de l'usuari", "Keyboard shortcuts" : "Dreceres de teclat", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "L'accés universal és molt important per a nosaltres. Seguim els estàndards web i comprovem que tot es pugui utilitzar també sense el ratolí i amb programes d'assistència, com ara els lectors de pantalla. Volem complir les {guidelines}Pautes d'accessibilitat del contingut web{linkend} 2.1 a nivell AA i amb el tema de contrast alt fins i tot a nivell AAA.", - "Pick from Files" : "Trieu dels fitxers", - "Custom color" : "Color personalitzat", - "Plain background" : "Fons senzill", - "Insert from {productName}" : "Insereix des de {productName}", + "Change color" : "Canvia el color", "Reset to default" : "Restableix als valors predeterminats", "Upload" : "Pujada", "Remove background image" : "Suprimeix la imatge de fons", @@ -64,6 +61,10 @@ "https://…" : "https://...", "Login image" : "Imatge d'inici de sessió", "Upload new login background" : "Carrega un nou fons d'inici de sessió", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instal·leu l'extensió PHP de l'ImageMagick compatible amb imatges SVG per generar automàticament una icona de web a partir del logotip pujat i del color." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instal·leu l'extensió PHP de l'ImageMagick compatible amb imatges SVG per generar automàticament una icona de web a partir del logotip pujat i del color.", + "Pick from Files" : "Trieu dels fitxers", + "Custom color" : "Color personalitzat", + "Plain background" : "Fons senzill", + "Insert from {productName}" : "Insereix des de {productName}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/cs.js b/apps/theming/l10n/cs.js index 9ab27ac5261..63841f2e610 100644 --- a/apps/theming/l10n/cs.js +++ b/apps/theming/l10n/cs.js @@ -76,11 +76,11 @@ OC.L10N.register( "Set a custom background" : "Nastavit uživatelsky určené pozadí", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Přístupnost pro všechny je pro nás velmi důležitá. Splňujeme webové standardy a zajišťujeme, aby všechno bylo použitelné i bez myši a s asistenčním software, jako například čtečkami obrazovky. Máme za cíl být v souladu s doporučeními {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 na úrovni AA, při použití motivu vzhledu s vysokým kontrastem dokonce na úrovni AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Pokud naleznete jakékoli problémy, neváhejte s jejich nahlášením do {issuetracker}našeho systému pro správu hlášení{linkend}. A pokud se chcete zapojit, přidejte se k {designteam}týmu našich designérů{linkend}!", - "Pick from Files" : "Vybrat ze souborů", - "Default image" : "Výchozí obrázek", - "Custom color" : "Uživatelsky určená barva", - "Plain background" : "Jednolité pozadí", - "Insert from {productName}" : "Vložit z {productName}", + "Custom background" : "Uživatelsky určený obrázek na pozadí", + "Default background" : "Výchozí obrázek na pozadí", + "Change color" : "Změnit barvu", + "Remove background" : "Odebrat obrázek na pozadí", + "Select a background from your files" : "Vyberte obrázek na pozadí ze svých souborů", "Theme selection is enforced" : "Výběr motivu vzhledu je vynucen", "Select a custom color" : "Vybrat uživatelsky určenou barvu", "Reset to default" : "Vrátit zpět na výchozí hodnoty", @@ -96,6 +96,11 @@ OC.L10N.register( "Upload new login background" : "Nahrát nové pozadí pro přihlašovací obrazovku", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Nainstalujte rozšíření Imagemagick PHP s podporou obrázků SVG, které automaticky vytváří favicon na základě nahraného loga a barvy.", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "V některých případech klávesové zkratky kolidují s nástroji pro zpřístupnění. Aby bylo zajištěno správné zaměřování vámi využívaného nástroje, je zde možné vypnout veškeré klávesové zkratky pro Nextcloud. Toto také vypne veškeré zkratky, které jsou k dispozici v aplikacích.", + "Pick from Files" : "Vybrat ze souborů", + "Default image" : "Výchozí obrázek", + "Custom color" : "Uživatelsky určená barva", + "Plain background" : "Jednolité pozadí", + "Insert from {productName}" : "Vložit z {productName}", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Ačkoli je možné vybrat a přizpůsobit si svou instanci, uživatelé si mohou změnit pozadí a barvy. Pokud chcete vámi nastavené přizpůsobení vynutit, můžete pro to zaškrtnout toto." }, "nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"); diff --git a/apps/theming/l10n/cs.json b/apps/theming/l10n/cs.json index 4ae38ba62a4..cb528e8ddb8 100644 --- a/apps/theming/l10n/cs.json +++ b/apps/theming/l10n/cs.json @@ -74,11 +74,11 @@ "Set a custom background" : "Nastavit uživatelsky určené pozadí", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Přístupnost pro všechny je pro nás velmi důležitá. Splňujeme webové standardy a zajišťujeme, aby všechno bylo použitelné i bez myši a s asistenčním software, jako například čtečkami obrazovky. Máme za cíl být v souladu s doporučeními {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 na úrovni AA, při použití motivu vzhledu s vysokým kontrastem dokonce na úrovni AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Pokud naleznete jakékoli problémy, neváhejte s jejich nahlášením do {issuetracker}našeho systému pro správu hlášení{linkend}. A pokud se chcete zapojit, přidejte se k {designteam}týmu našich designérů{linkend}!", - "Pick from Files" : "Vybrat ze souborů", - "Default image" : "Výchozí obrázek", - "Custom color" : "Uživatelsky určená barva", - "Plain background" : "Jednolité pozadí", - "Insert from {productName}" : "Vložit z {productName}", + "Custom background" : "Uživatelsky určený obrázek na pozadí", + "Default background" : "Výchozí obrázek na pozadí", + "Change color" : "Změnit barvu", + "Remove background" : "Odebrat obrázek na pozadí", + "Select a background from your files" : "Vyberte obrázek na pozadí ze svých souborů", "Theme selection is enforced" : "Výběr motivu vzhledu je vynucen", "Select a custom color" : "Vybrat uživatelsky určenou barvu", "Reset to default" : "Vrátit zpět na výchozí hodnoty", @@ -94,6 +94,11 @@ "Upload new login background" : "Nahrát nové pozadí pro přihlašovací obrazovku", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Nainstalujte rozšíření Imagemagick PHP s podporou obrázků SVG, které automaticky vytváří favicon na základě nahraného loga a barvy.", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "V některých případech klávesové zkratky kolidují s nástroji pro zpřístupnění. Aby bylo zajištěno správné zaměřování vámi využívaného nástroje, je zde možné vypnout veškeré klávesové zkratky pro Nextcloud. Toto také vypne veškeré zkratky, které jsou k dispozici v aplikacích.", + "Pick from Files" : "Vybrat ze souborů", + "Default image" : "Výchozí obrázek", + "Custom color" : "Uživatelsky určená barva", + "Plain background" : "Jednolité pozadí", + "Insert from {productName}" : "Vložit z {productName}", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Ačkoli je možné vybrat a přizpůsobit si svou instanci, uživatelé si mohou změnit pozadí a barvy. Pokud chcete vámi nastavené přizpůsobení vynutit, můžete pro to zaškrtnout toto." },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;" }
\ No newline at end of file diff --git a/apps/theming/l10n/da.js b/apps/theming/l10n/da.js index 59f642ae765..cf43a0def3d 100644 --- a/apps/theming/l10n/da.js +++ b/apps/theming/l10n/da.js @@ -61,11 +61,6 @@ OC.L10N.register( "Upload new favicon" : "Upload nyt favicon", "Keyboard shortcuts" : "Tastaturgenveje", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universel adgang er meget vigtig for os. Vi følger web standarder og sikrer os at gøre alt tilgængeligt også uden mus, eller med hjælpesoftware såsom screenreaders. Vi søger at følge reglerne{guidelines}Web Content Accessibility Guidelines{linkend} 2.1 og AA endda med højt kontrast tema på AAA niveau.", - "Pick from Files" : "Vælg fra Filer", - "Default image" : "Standardbillede", - "Custom color" : "Brug brugerdefinerede farver", - "Plain background" : "Standard baggrund", - "Insert from {productName}" : "Indsæt fra {productName}", "Reset to default" : "Nulstil", "Upload" : "Send", "Remove background image" : "Fjern baggrundsbillede", @@ -77,6 +72,11 @@ OC.L10N.register( "https://…" : "https://…", "Login image" : "Login billede", "Upload new login background" : "Upload nyt login billede", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer Imagemagick PHP udvidelsen med SVG support for automatisk at genererer favikoner baseret på the uploadede logo og farver." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer Imagemagick PHP udvidelsen med SVG support for automatisk at genererer favikoner baseret på the uploadede logo og farver.", + "Pick from Files" : "Vælg fra Filer", + "Default image" : "Standardbillede", + "Custom color" : "Brug brugerdefinerede farver", + "Plain background" : "Standard baggrund", + "Insert from {productName}" : "Indsæt fra {productName}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/da.json b/apps/theming/l10n/da.json index 3e2a61c830c..e45421402f3 100644 --- a/apps/theming/l10n/da.json +++ b/apps/theming/l10n/da.json @@ -59,11 +59,6 @@ "Upload new favicon" : "Upload nyt favicon", "Keyboard shortcuts" : "Tastaturgenveje", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universel adgang er meget vigtig for os. Vi følger web standarder og sikrer os at gøre alt tilgængeligt også uden mus, eller med hjælpesoftware såsom screenreaders. Vi søger at følge reglerne{guidelines}Web Content Accessibility Guidelines{linkend} 2.1 og AA endda med højt kontrast tema på AAA niveau.", - "Pick from Files" : "Vælg fra Filer", - "Default image" : "Standardbillede", - "Custom color" : "Brug brugerdefinerede farver", - "Plain background" : "Standard baggrund", - "Insert from {productName}" : "Indsæt fra {productName}", "Reset to default" : "Nulstil", "Upload" : "Send", "Remove background image" : "Fjern baggrundsbillede", @@ -75,6 +70,11 @@ "https://…" : "https://…", "Login image" : "Login billede", "Upload new login background" : "Upload nyt login billede", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer Imagemagick PHP udvidelsen med SVG support for automatisk at genererer favikoner baseret på the uploadede logo og farver." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer Imagemagick PHP udvidelsen med SVG support for automatisk at genererer favikoner baseret på the uploadede logo og farver.", + "Pick from Files" : "Vælg fra Filer", + "Default image" : "Standardbillede", + "Custom color" : "Brug brugerdefinerede farver", + "Plain background" : "Standard baggrund", + "Insert from {productName}" : "Indsæt fra {productName}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/de.js b/apps/theming/l10n/de.js index bfb0b7bab3f..8a007efaeea 100644 --- a/apps/theming/l10n/de.js +++ b/apps/theming/l10n/de.js @@ -10,6 +10,7 @@ OC.L10N.register( "The given privacy policy address is not a valid URL" : "Die eingegebene Adresse der Datenschutzerklärung ist keine gültige URL", "The given slogan is too long" : "Der eingegebene Slogan ist zu lang", "The given color is invalid" : "Die gewählte Farbe ist ungültig", + "Disable-user-theming should be true or false" : "Benutzer-Design deaktivieren sollte wahr oder falsch sein", "Saved" : "Gespeichert", "The file was uploaded" : "Die Datei wurde hochgeladen", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Die hochgeladene Datei überschreitet die upload_max_filesize-Vorgabe in php.ini", @@ -20,6 +21,8 @@ OC.L10N.register( "Could not write file to disk" : "Die Datei konnte nicht auf die Festplatte geschrieben werden", "A PHP extension stopped the file upload" : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt", "No file uploaded" : "Keine Datei hochgeladen", + "Cleanup old theming cache" : "Alten Design-Cache leeren", + "Failed to delete folder: \"%1$s\", error: %2$s" : "Verzeichnis konnte nicht gelöscht werden: \"%1$s\", Fehler: %2$s", "You are already using a custom theme. Theming app settings might be overwritten by that." : "Du benutzt bereits ein benutzerdefiniertes Design. Die App \"Theming\" würde dies überschreiben.", "Theming" : "Design", "Appearance and accessibility" : "Erscheinungsbild und Barrierefreiheit", @@ -29,7 +32,7 @@ OC.L10N.register( "Dark theme" : "Dunkles Design", "Enable dark theme" : "Dunkles Design aktivieren", "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Ein dunkles Design zur Entlastung deiner Augen durch Verringerung der Gesamtleuchtkraft und -helligkeit.", - "System default theme" : "Design des Systemstandards", + "System default theme" : "Standard-Design des Systems", "Enable the system default" : "Systemstandard aktivieren", "Using the default system appearance." : "Das Erscheinungsbild des Systemstandards verwenden", "Dyslexia font" : "Legasthenie-Schriftart", @@ -46,6 +49,7 @@ OC.L10N.register( "Adjust the Nextcloud theme" : "Passe das Design von Nextcloud an", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Das Ändern des Designs ermöglicht es auf einfache Weise das Aussehen deiner Installation und Clients anzupassen. Die Änderungen wirken sich auf alle Benutzer aus.", "Advanced options" : "Erweiterte Optionen", + "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installiere die ImageMagick PHP-Erweiterung mit Unterstützung für SVG-Bilder, um automatisch Favicons auf Basis des hochgeladenen Logos und der Farbe zu erstellen.", "Name" : "Name", "Web link" : "Internet-Link", "a safe home for all your data" : "Ein sicheres Zuhause für deine Daten", @@ -53,25 +57,30 @@ OC.L10N.register( "Color" : "Farbe", "Logo" : "Logo", "Upload new logo" : "Neues Logo hochladen", + "Background and login image" : "Hintergrund und Login-Bild", + "Upload new background and login image" : "Ein neues Hintergrund- und Anmeldebild hochladen", "Legal notice link" : "Link zum Impressum", "Privacy policy link" : "Link zur Datenschutzerklärung", "Header logo" : "Kopfbereichs-Logo", - "Upload new header logo" : "Neues Kopfbereichs-Logo hochladen", + "Upload new header logo" : "Neues Logo für den Kopfbereich hochladen", "Favicon" : "Favicon", "Upload new favicon" : "Neues Favicon hochladen", "User settings" : "Benutzer-Einstellungen", + "Disable user theming" : "Benutzer-Design deaktivieren", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Obwohl du deine Instanz auswählen und anpassen kannst, können Benutzer ihren Hintergrund und ihre Farben ändern. Wenn du deine Anpassung erzwingen möchtest, kannst du dies einschalten.", "Keyboard shortcuts" : "Tastaturkürzel", + "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In einigen Fällen können Tastenkombinationen Barrierefreiheits-Tools beeinträchtigen. Damit du dich richtig auf dein Werkzeug konzentrieren kannst, kannst du hier alle Tastaturkürzel deaktivieren. Dadurch werden auch alle verfügbaren Verknüpfungen in Apps deaktiviert.", + "Disable all keyboard shortcuts" : "Alle Tastenkombinationen deaktivieren", "Background" : "Hintergrund", - "Customization has been disabled by your administrator" : "Die Einstellung wurde von deinem Administrator deaktiviert.", + "Customization has been disabled by your administrator" : "Das Ändern der Einstellungen wurde von deinem Administrator deaktiviert.", + "Set a custom background" : "Einen benutzerdefinierten Hintergrund setzen", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Der unbeschränkte Zugang ist für uns sehr wichtig. Wir halten uns an Webstandards und prüfen, ob alles auch ohne Maus und unterstützende Software wie Screenreader nutzbar ist. Wir streben die Einhaltung der {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 auf AA-Niveau an, mit dem kontrastreichen Design sogar auf AAA-Niveau.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Wenn du Fehler findest, melde sie bitte im {issuetracker}Problemverfolgungssystem{linkend}. Und wenn du mithelfen willst, trete dem {designteam}Designteam{linkend} bei!", - "Pick from Files" : "Aus Dateien auswählen", - "Default image" : "Standardbild", - "Custom color" : "Benutzerdefinierte Farbe", - "Plain background" : "Einfacher Hintergrund", - "Insert from {productName}" : "Von {productName} einfügen", + "Change color" : "Farbe ändern", "Theme selection is enforced" : "Designauswahl wird erzwungen", + "Select a custom color" : "Eine benutzerdefinierte Farbe auswählen", "Reset to default" : " Auf Standard zurücksetzen ", + "Upload" : "Hochladen", "Remove background image" : "Hintergrundbild entfernen", "Loading preview…" : "Lade Vorschau…", "Admin" : "Administrator", @@ -82,6 +91,12 @@ OC.L10N.register( "Login image" : "Anmeldebild", "Upload new login background" : "Neuen Anmelde-Hintergrund hochladen", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installiere die Imagemagick PHP-Erweiterung mit Unterstützung für SVG-Bilder, um automatisch Favicons auf Basis des hochgeladenen Logos und der Farbe zu erstellen.", - "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In einigen Fällen können Tastenkombinationen Werkzeuge zur Barrierefreiheit beeinträchtigen. Damit du dich richtig auf dein Werkzeug konzentrieren kannst, kannst du hier alle Tastaturkürzel deaktivieren. Dadurch werden auch alle verfügbaren Verknüpfungen in Apps deaktiviert." + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In einigen Fällen können Tastenkombinationen Werkzeuge zur Barrierefreiheit beeinträchtigen. Damit du dich richtig auf dein Werkzeug konzentrieren kannst, kannst du hier alle Tastaturkürzel deaktivieren. Dadurch werden auch alle verfügbaren Verknüpfungen in Apps deaktiviert.", + "Pick from Files" : "Aus Dateien auswählen", + "Default image" : "Standardbild", + "Custom color" : "Benutzerdefinierte Farbe", + "Plain background" : "Einfacher Hintergrund", + "Insert from {productName}" : "Von {productName} einfügen", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Obwohl du deine Instanz auswählen und anpassen kannst, können Benutzer ihren Hintergrund und ihre Farben ändern. Wenn du ihre Anpassung erzwingen möchtest, kannst du dieses Kontrollkästchen aktivieren." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/de.json b/apps/theming/l10n/de.json index 6819e72fe15..c31dc6df612 100644 --- a/apps/theming/l10n/de.json +++ b/apps/theming/l10n/de.json @@ -8,6 +8,7 @@ "The given privacy policy address is not a valid URL" : "Die eingegebene Adresse der Datenschutzerklärung ist keine gültige URL", "The given slogan is too long" : "Der eingegebene Slogan ist zu lang", "The given color is invalid" : "Die gewählte Farbe ist ungültig", + "Disable-user-theming should be true or false" : "Benutzer-Design deaktivieren sollte wahr oder falsch sein", "Saved" : "Gespeichert", "The file was uploaded" : "Die Datei wurde hochgeladen", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Die hochgeladene Datei überschreitet die upload_max_filesize-Vorgabe in php.ini", @@ -18,6 +19,8 @@ "Could not write file to disk" : "Die Datei konnte nicht auf die Festplatte geschrieben werden", "A PHP extension stopped the file upload" : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt", "No file uploaded" : "Keine Datei hochgeladen", + "Cleanup old theming cache" : "Alten Design-Cache leeren", + "Failed to delete folder: \"%1$s\", error: %2$s" : "Verzeichnis konnte nicht gelöscht werden: \"%1$s\", Fehler: %2$s", "You are already using a custom theme. Theming app settings might be overwritten by that." : "Du benutzt bereits ein benutzerdefiniertes Design. Die App \"Theming\" würde dies überschreiben.", "Theming" : "Design", "Appearance and accessibility" : "Erscheinungsbild und Barrierefreiheit", @@ -27,7 +30,7 @@ "Dark theme" : "Dunkles Design", "Enable dark theme" : "Dunkles Design aktivieren", "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Ein dunkles Design zur Entlastung deiner Augen durch Verringerung der Gesamtleuchtkraft und -helligkeit.", - "System default theme" : "Design des Systemstandards", + "System default theme" : "Standard-Design des Systems", "Enable the system default" : "Systemstandard aktivieren", "Using the default system appearance." : "Das Erscheinungsbild des Systemstandards verwenden", "Dyslexia font" : "Legasthenie-Schriftart", @@ -44,6 +47,7 @@ "Adjust the Nextcloud theme" : "Passe das Design von Nextcloud an", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Das Ändern des Designs ermöglicht es auf einfache Weise das Aussehen deiner Installation und Clients anzupassen. Die Änderungen wirken sich auf alle Benutzer aus.", "Advanced options" : "Erweiterte Optionen", + "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installiere die ImageMagick PHP-Erweiterung mit Unterstützung für SVG-Bilder, um automatisch Favicons auf Basis des hochgeladenen Logos und der Farbe zu erstellen.", "Name" : "Name", "Web link" : "Internet-Link", "a safe home for all your data" : "Ein sicheres Zuhause für deine Daten", @@ -51,25 +55,30 @@ "Color" : "Farbe", "Logo" : "Logo", "Upload new logo" : "Neues Logo hochladen", + "Background and login image" : "Hintergrund und Login-Bild", + "Upload new background and login image" : "Ein neues Hintergrund- und Anmeldebild hochladen", "Legal notice link" : "Link zum Impressum", "Privacy policy link" : "Link zur Datenschutzerklärung", "Header logo" : "Kopfbereichs-Logo", - "Upload new header logo" : "Neues Kopfbereichs-Logo hochladen", + "Upload new header logo" : "Neues Logo für den Kopfbereich hochladen", "Favicon" : "Favicon", "Upload new favicon" : "Neues Favicon hochladen", "User settings" : "Benutzer-Einstellungen", + "Disable user theming" : "Benutzer-Design deaktivieren", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Obwohl du deine Instanz auswählen und anpassen kannst, können Benutzer ihren Hintergrund und ihre Farben ändern. Wenn du deine Anpassung erzwingen möchtest, kannst du dies einschalten.", "Keyboard shortcuts" : "Tastaturkürzel", + "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In einigen Fällen können Tastenkombinationen Barrierefreiheits-Tools beeinträchtigen. Damit du dich richtig auf dein Werkzeug konzentrieren kannst, kannst du hier alle Tastaturkürzel deaktivieren. Dadurch werden auch alle verfügbaren Verknüpfungen in Apps deaktiviert.", + "Disable all keyboard shortcuts" : "Alle Tastenkombinationen deaktivieren", "Background" : "Hintergrund", - "Customization has been disabled by your administrator" : "Die Einstellung wurde von deinem Administrator deaktiviert.", + "Customization has been disabled by your administrator" : "Das Ändern der Einstellungen wurde von deinem Administrator deaktiviert.", + "Set a custom background" : "Einen benutzerdefinierten Hintergrund setzen", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Der unbeschränkte Zugang ist für uns sehr wichtig. Wir halten uns an Webstandards und prüfen, ob alles auch ohne Maus und unterstützende Software wie Screenreader nutzbar ist. Wir streben die Einhaltung der {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 auf AA-Niveau an, mit dem kontrastreichen Design sogar auf AAA-Niveau.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Wenn du Fehler findest, melde sie bitte im {issuetracker}Problemverfolgungssystem{linkend}. Und wenn du mithelfen willst, trete dem {designteam}Designteam{linkend} bei!", - "Pick from Files" : "Aus Dateien auswählen", - "Default image" : "Standardbild", - "Custom color" : "Benutzerdefinierte Farbe", - "Plain background" : "Einfacher Hintergrund", - "Insert from {productName}" : "Von {productName} einfügen", + "Change color" : "Farbe ändern", "Theme selection is enforced" : "Designauswahl wird erzwungen", + "Select a custom color" : "Eine benutzerdefinierte Farbe auswählen", "Reset to default" : " Auf Standard zurücksetzen ", + "Upload" : "Hochladen", "Remove background image" : "Hintergrundbild entfernen", "Loading preview…" : "Lade Vorschau…", "Admin" : "Administrator", @@ -80,6 +89,12 @@ "Login image" : "Anmeldebild", "Upload new login background" : "Neuen Anmelde-Hintergrund hochladen", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installiere die Imagemagick PHP-Erweiterung mit Unterstützung für SVG-Bilder, um automatisch Favicons auf Basis des hochgeladenen Logos und der Farbe zu erstellen.", - "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In einigen Fällen können Tastenkombinationen Werkzeuge zur Barrierefreiheit beeinträchtigen. Damit du dich richtig auf dein Werkzeug konzentrieren kannst, kannst du hier alle Tastaturkürzel deaktivieren. Dadurch werden auch alle verfügbaren Verknüpfungen in Apps deaktiviert." + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In einigen Fällen können Tastenkombinationen Werkzeuge zur Barrierefreiheit beeinträchtigen. Damit du dich richtig auf dein Werkzeug konzentrieren kannst, kannst du hier alle Tastaturkürzel deaktivieren. Dadurch werden auch alle verfügbaren Verknüpfungen in Apps deaktiviert.", + "Pick from Files" : "Aus Dateien auswählen", + "Default image" : "Standardbild", + "Custom color" : "Benutzerdefinierte Farbe", + "Plain background" : "Einfacher Hintergrund", + "Insert from {productName}" : "Von {productName} einfügen", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Obwohl du deine Instanz auswählen und anpassen kannst, können Benutzer ihren Hintergrund und ihre Farben ändern. Wenn du ihre Anpassung erzwingen möchtest, kannst du dieses Kontrollkästchen aktivieren." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/de_DE.js b/apps/theming/l10n/de_DE.js index dacd0dbad1b..4ff714708ec 100644 --- a/apps/theming/l10n/de_DE.js +++ b/apps/theming/l10n/de_DE.js @@ -45,7 +45,7 @@ OC.L10N.register( "Enable the default light theme" : "Helles Standarddesign aktivieren", "The default light appearance." : "Das Standard helle Aussehen.", "Legal notice" : "Impressum", - "Privacy policy" : "Datenschutzbestimmungen", + "Privacy policy" : "Datenschutz", "Adjust the Nextcloud theme" : "Passe das Design von Nextcloud an", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Das Ändern des Designs ermöglicht es auf einfache Weise das Aussehen Ihrer Installation und Clients anzupassen. Die Änderungen wirken sich auf alle Benutzer aus.", "Advanced options" : "Erweiterte Optionen", @@ -76,11 +76,11 @@ OC.L10N.register( "Set a custom background" : "Einen benutzerdefinierten Hintergrund setzen", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Der universelle Zugang ist für uns sehr wichtig. Wir halten uns an Webstandards und prüfen, ob alles auch ohne Maus und unterstützende Software wie Screenreader nutzbar ist. Wir streben die Einhaltung der {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 auf AA-Niveau an, mit dem kontrastreichen Design sogar auf AAA-Niveau.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Wenn Sie Fehler finden, melden Sie diese bitte in {issuetracker}unserem Issue Tracker{linkend}. Und wenn Sie mithelfen möchten, treten Sie dem {designteam}Designteam{linkend} bei!", - "Pick from Files" : "Aus Dateien auswählen", - "Default image" : "Standardbild", - "Custom color" : "Benutzerdefinierte Farbe", - "Plain background" : "Einfacher Hintergrund", - "Insert from {productName}" : "Von {productName} einfügen", + "Custom background" : "Benutzerdefinierter Hintergrund", + "Default background" : "Standardhintergrund", + "Change color" : "Farbe ändern", + "Remove background" : "Hintergrund entfernen", + "Select a background from your files" : "Wählen Sie einen Hintergrund aus Ihren Dateien", "Theme selection is enforced" : "Designauswahl wird erzwungen", "Select a custom color" : "Eine benutzerdefinierte Farbe auswählen", "Reset to default" : " Auf Standard zurücksetzen ", @@ -96,6 +96,11 @@ OC.L10N.register( "Upload new login background" : "Neuen Anmelde-Hintergrund hochladen", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installieren Sie die Imagemagick PHP-Erweiterung mit Unterstützung für SVG-Bilder, um automatisch Favicons auf Basis des hochgeladenen Logos und der Farbe zu erstellen.", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In einigen Fällen können Tastenkombinationen Barrierefreiheits-Tools beeinträchtigen. Damit Sie sich richtig auf Ihr Werkzeug konzentrieren können, können Sie hier alle Tastaturkürzel deaktivieren. Dadurch werden auch alle verfügbaren Verknüpfungen in Apps deaktiviert.", + "Pick from Files" : "Aus Dateien auswählen", + "Default image" : "Standardbild", + "Custom color" : "Benutzerdefinierte Farbe", + "Plain background" : "Einfacher Hintergrund", + "Insert from {productName}" : "Von {productName} einfügen", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Obwohl Sie Ihre Instanz auswählen und anpassen können, können Benutzer ihren Hintergrund und ihre Farben ändern. Wenn Sie Ihre Anpassung erzwingen möchten, können Sie dieses Kontrollkästchen aktivieren." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/de_DE.json b/apps/theming/l10n/de_DE.json index 458e652be02..6f779cc87ea 100644 --- a/apps/theming/l10n/de_DE.json +++ b/apps/theming/l10n/de_DE.json @@ -43,7 +43,7 @@ "Enable the default light theme" : "Helles Standarddesign aktivieren", "The default light appearance." : "Das Standard helle Aussehen.", "Legal notice" : "Impressum", - "Privacy policy" : "Datenschutzbestimmungen", + "Privacy policy" : "Datenschutz", "Adjust the Nextcloud theme" : "Passe das Design von Nextcloud an", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Das Ändern des Designs ermöglicht es auf einfache Weise das Aussehen Ihrer Installation und Clients anzupassen. Die Änderungen wirken sich auf alle Benutzer aus.", "Advanced options" : "Erweiterte Optionen", @@ -74,11 +74,11 @@ "Set a custom background" : "Einen benutzerdefinierten Hintergrund setzen", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Der universelle Zugang ist für uns sehr wichtig. Wir halten uns an Webstandards und prüfen, ob alles auch ohne Maus und unterstützende Software wie Screenreader nutzbar ist. Wir streben die Einhaltung der {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 auf AA-Niveau an, mit dem kontrastreichen Design sogar auf AAA-Niveau.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Wenn Sie Fehler finden, melden Sie diese bitte in {issuetracker}unserem Issue Tracker{linkend}. Und wenn Sie mithelfen möchten, treten Sie dem {designteam}Designteam{linkend} bei!", - "Pick from Files" : "Aus Dateien auswählen", - "Default image" : "Standardbild", - "Custom color" : "Benutzerdefinierte Farbe", - "Plain background" : "Einfacher Hintergrund", - "Insert from {productName}" : "Von {productName} einfügen", + "Custom background" : "Benutzerdefinierter Hintergrund", + "Default background" : "Standardhintergrund", + "Change color" : "Farbe ändern", + "Remove background" : "Hintergrund entfernen", + "Select a background from your files" : "Wählen Sie einen Hintergrund aus Ihren Dateien", "Theme selection is enforced" : "Designauswahl wird erzwungen", "Select a custom color" : "Eine benutzerdefinierte Farbe auswählen", "Reset to default" : " Auf Standard zurücksetzen ", @@ -94,6 +94,11 @@ "Upload new login background" : "Neuen Anmelde-Hintergrund hochladen", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installieren Sie die Imagemagick PHP-Erweiterung mit Unterstützung für SVG-Bilder, um automatisch Favicons auf Basis des hochgeladenen Logos und der Farbe zu erstellen.", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In einigen Fällen können Tastenkombinationen Barrierefreiheits-Tools beeinträchtigen. Damit Sie sich richtig auf Ihr Werkzeug konzentrieren können, können Sie hier alle Tastaturkürzel deaktivieren. Dadurch werden auch alle verfügbaren Verknüpfungen in Apps deaktiviert.", + "Pick from Files" : "Aus Dateien auswählen", + "Default image" : "Standardbild", + "Custom color" : "Benutzerdefinierte Farbe", + "Plain background" : "Einfacher Hintergrund", + "Insert from {productName}" : "Von {productName} einfügen", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Obwohl Sie Ihre Instanz auswählen und anpassen können, können Benutzer ihren Hintergrund und ihre Farben ändern. Wenn Sie Ihre Anpassung erzwingen möchten, können Sie dieses Kontrollkästchen aktivieren." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/el.js b/apps/theming/l10n/el.js index 073569e2c59..eec10b00e6f 100644 --- a/apps/theming/l10n/el.js +++ b/apps/theming/l10n/el.js @@ -25,16 +25,22 @@ OC.L10N.register( "Appearance and accessibility" : "Εμφάνιση και προσβασιμότητα", "Dark theme" : "Σκούρο θέμα", "Enable dark theme" : "Ενεργοποίηση σκούρου θέματος", + "System default theme" : "Προεπιλεγμένο θέμα συστήματος", + "Enable the system default" : "Ενεργοποίηση προεπιλογής συστήματος", + "Using the default system appearance." : "Χρήση της προεπιλεγμένης εμφάνισης του συστήματος.", "Dyslexia font" : "Γραμματοσειρά για δυσλεκτικούς", "Enable dyslexia font" : "Ενεργοποίηση γραμματοσειράς για δυσλεκτικούς", "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "Η OpenDyslexic είναι μία δωρεάν γραμματοσειρά σχεδιασμένη ώστε να περιορίζει ορισμένα από τα πιο συνήθη λάθη που προκαλεί η δυσλεξία στην ανάγνωση", "High contrast mode" : "Λειτουργία υψηλής αντίθεσης", "Enable high contrast mode" : "Ενεργοποίηση λειτουργίας υψηλής αντίθεσης", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Λειτουργία με υψηλή αντίθεση για να διευκολύνει την πλοήγηση σας. Η οπτική ποιότητα θα είναι μειωμένη αλλά θα έχετε υψηλότερη ευκρίνεια.", + "Light theme" : "Ανοιχτό θέμα", + "Enable the default light theme" : "Ενεργοποίηση ανοικτού θέματος", + "The default light appearance." : "Η προεπιλεγμένη ανοιχτόχρωμη εμφάνιση.", "Legal notice" : "Νομική ειδοποίηση", "Privacy policy" : "Πολιτική Απορρήτου", "Adjust the Nextcloud theme" : "Προσαρμόστε το θέμα του Nextcloud", - "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 customize the look and feel of your instance and supported clients. This will be visible for all users." : "Η προσαρμογή θέματος καθιστά δυνατή την εύκολη προσαρμογή της εμφάνισης της εγκατάστασής σας καθώς και των υποστηριζόμενων πελατών. Θα είναι ορατή για όλους τους χρήστες.", "Advanced options" : "Επιλογές για προχωρημένους", "Name" : "Όνομα", "Web link" : "Σύνδεσμος ιστού", @@ -43,6 +49,7 @@ OC.L10N.register( "Color" : "Χρώμα", "Logo" : "Λογότυπο", "Upload new logo" : "Μεταφόρτωση νέου λογοτύπου", + "Background and login image" : "Παρασκήνιο και εικόνα εισόδου", "Legal notice link" : "Σύνδεσμος νομικής ειδοποίησης", "Privacy policy link" : "Σύνδεσμος πολιτικής απορρήτου", "Header logo" : "Λογότυπο επικεφαλίδας", @@ -51,12 +58,13 @@ OC.L10N.register( "Upload new favicon" : "Μεταφόρτωση νέου favicon", "User settings" : "Ρυθμίσεις χρήστη", "Keyboard shortcuts" : "Συντομεύσεις πληκτρολογίου", + "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Σε ορισμένες περιπτώσεις, οι συντομεύσεις πληκτρολογίου μπορεί να επηρεάσουν τα εργαλεία προσβασιμότητας. Για να επιτρέψετε τη σωστή εστίαση στο εργαλείο σας, μπορείτε να απενεργοποιήσετε όλες τις συντομεύσεις πληκτρολογίου εδώ. Αυτό θα απενεργοποιήσει επίσης όλες τις διαθέσιμες συντομεύσεις στις εφαρμογές.", + "Disable all keyboard shortcuts" : "Απενεργοποίηση των συντομεύσεων πληκτρολογίου", "Background" : "Φόντο", + "Set a custom background" : "Ορισμός προσαρμοσμένου φόντου", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Η πρόσβαση από όλους είναι πολύ σημαντική για εμάς. Ακολουθούμε τα πρότυπα του διαδικτύου και ελέγχουμε ότι τα πάντα μπορούν να χρησιμοποιηθούν χωρίς ποντίκι και βοηθητικό λογισμικό όπως προγράμματα ανάγνωσης οθόνης. Στόχος μας είναι να συμμορφωνόμαστε με τις {προδιαγραφές} Προδιαγραφές πρόσβασης περιεχομένου Ιστού 2.1 σε επίπεδο AA, με το θέμα υψηλής αντίθεσης ακόμη και σε επίπεδο ΑΑΑ.", - "Pick from Files" : "Επιλέξτε από αρχεία", - "Custom color" : "Προσαρμοσμένο χρώμα", - "Plain background" : "Απλό παρασκήνιο", - "Insert from {productName}" : "Εισαγωγή από {productName}", + "Change color" : "Αλλαγή χρώματος", + "Select a custom color" : "Επιλογή προσαρμοσμένου χρώματος", "Reset to default" : "Επαναφορά στα προεπιλεγμένα", "Upload" : "Μεταφόρτωση", "Remove background image" : "Αφαίρεση εικόνας παρασκηνίου", @@ -67,6 +75,12 @@ OC.L10N.register( "https://…" : "https://…", "Login image" : "Εικόνα εισόδου", "Upload new login background" : "Μεταφόρτωση νέου παρασκηνίου εισόδου", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Εγκαταστήστε την επέκταση PHP Imagemagick με υποστήριξη SVG εικόνων, για να γίνει αυτόματη δημιουργία favicon βασισμένο πάνω στο μεταφορτωμένο λογότυπο και χρώμα." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Εγκαταστήστε την επέκταση PHP Imagemagick με υποστήριξη SVG εικόνων, για να γίνει αυτόματη δημιουργία favicon βασισμένο πάνω στο μεταφορτωμένο λογότυπο και χρώμα.", + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Σε ορισμένες περιπτώσεις, οι συντομεύσεις πληκτρολογίου μπορεί να επηρεάσουν τα εργαλεία προσβασιμότητας. Για να επιτρέψετε τη σωστή εστίαση στο εργαλείο σας, μπορείτε να απενεργοποιήσετε όλες τις συντομεύσεις πληκτρολογίου εδώ. Αυτό θα απενεργοποιήσει επίσης όλες τις διαθέσιμες συντομεύσεις στις εφαρμογές.", + "Pick from Files" : "Επιλέξτε από αρχεία", + "Default image" : "Προεπιλεγμένη εικόνα", + "Custom color" : "Προσαρμοσμένο χρώμα", + "Plain background" : "Απλό παρασκήνιο", + "Insert from {productName}" : "Εισαγωγή από {productName}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/el.json b/apps/theming/l10n/el.json index c9168e0a139..e28e711b934 100644 --- a/apps/theming/l10n/el.json +++ b/apps/theming/l10n/el.json @@ -23,16 +23,22 @@ "Appearance and accessibility" : "Εμφάνιση και προσβασιμότητα", "Dark theme" : "Σκούρο θέμα", "Enable dark theme" : "Ενεργοποίηση σκούρου θέματος", + "System default theme" : "Προεπιλεγμένο θέμα συστήματος", + "Enable the system default" : "Ενεργοποίηση προεπιλογής συστήματος", + "Using the default system appearance." : "Χρήση της προεπιλεγμένης εμφάνισης του συστήματος.", "Dyslexia font" : "Γραμματοσειρά για δυσλεκτικούς", "Enable dyslexia font" : "Ενεργοποίηση γραμματοσειράς για δυσλεκτικούς", "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "Η OpenDyslexic είναι μία δωρεάν γραμματοσειρά σχεδιασμένη ώστε να περιορίζει ορισμένα από τα πιο συνήθη λάθη που προκαλεί η δυσλεξία στην ανάγνωση", "High contrast mode" : "Λειτουργία υψηλής αντίθεσης", "Enable high contrast mode" : "Ενεργοποίηση λειτουργίας υψηλής αντίθεσης", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Λειτουργία με υψηλή αντίθεση για να διευκολύνει την πλοήγηση σας. Η οπτική ποιότητα θα είναι μειωμένη αλλά θα έχετε υψηλότερη ευκρίνεια.", + "Light theme" : "Ανοιχτό θέμα", + "Enable the default light theme" : "Ενεργοποίηση ανοικτού θέματος", + "The default light appearance." : "Η προεπιλεγμένη ανοιχτόχρωμη εμφάνιση.", "Legal notice" : "Νομική ειδοποίηση", "Privacy policy" : "Πολιτική Απορρήτου", "Adjust the Nextcloud theme" : "Προσαρμόστε το θέμα του Nextcloud", - "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 customize the look and feel of your instance and supported clients. This will be visible for all users." : "Η προσαρμογή θέματος καθιστά δυνατή την εύκολη προσαρμογή της εμφάνισης της εγκατάστασής σας καθώς και των υποστηριζόμενων πελατών. Θα είναι ορατή για όλους τους χρήστες.", "Advanced options" : "Επιλογές για προχωρημένους", "Name" : "Όνομα", "Web link" : "Σύνδεσμος ιστού", @@ -41,6 +47,7 @@ "Color" : "Χρώμα", "Logo" : "Λογότυπο", "Upload new logo" : "Μεταφόρτωση νέου λογοτύπου", + "Background and login image" : "Παρασκήνιο και εικόνα εισόδου", "Legal notice link" : "Σύνδεσμος νομικής ειδοποίησης", "Privacy policy link" : "Σύνδεσμος πολιτικής απορρήτου", "Header logo" : "Λογότυπο επικεφαλίδας", @@ -49,12 +56,13 @@ "Upload new favicon" : "Μεταφόρτωση νέου favicon", "User settings" : "Ρυθμίσεις χρήστη", "Keyboard shortcuts" : "Συντομεύσεις πληκτρολογίου", + "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Σε ορισμένες περιπτώσεις, οι συντομεύσεις πληκτρολογίου μπορεί να επηρεάσουν τα εργαλεία προσβασιμότητας. Για να επιτρέψετε τη σωστή εστίαση στο εργαλείο σας, μπορείτε να απενεργοποιήσετε όλες τις συντομεύσεις πληκτρολογίου εδώ. Αυτό θα απενεργοποιήσει επίσης όλες τις διαθέσιμες συντομεύσεις στις εφαρμογές.", + "Disable all keyboard shortcuts" : "Απενεργοποίηση των συντομεύσεων πληκτρολογίου", "Background" : "Φόντο", + "Set a custom background" : "Ορισμός προσαρμοσμένου φόντου", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Η πρόσβαση από όλους είναι πολύ σημαντική για εμάς. Ακολουθούμε τα πρότυπα του διαδικτύου και ελέγχουμε ότι τα πάντα μπορούν να χρησιμοποιηθούν χωρίς ποντίκι και βοηθητικό λογισμικό όπως προγράμματα ανάγνωσης οθόνης. Στόχος μας είναι να συμμορφωνόμαστε με τις {προδιαγραφές} Προδιαγραφές πρόσβασης περιεχομένου Ιστού 2.1 σε επίπεδο AA, με το θέμα υψηλής αντίθεσης ακόμη και σε επίπεδο ΑΑΑ.", - "Pick from Files" : "Επιλέξτε από αρχεία", - "Custom color" : "Προσαρμοσμένο χρώμα", - "Plain background" : "Απλό παρασκήνιο", - "Insert from {productName}" : "Εισαγωγή από {productName}", + "Change color" : "Αλλαγή χρώματος", + "Select a custom color" : "Επιλογή προσαρμοσμένου χρώματος", "Reset to default" : "Επαναφορά στα προεπιλεγμένα", "Upload" : "Μεταφόρτωση", "Remove background image" : "Αφαίρεση εικόνας παρασκηνίου", @@ -65,6 +73,12 @@ "https://…" : "https://…", "Login image" : "Εικόνα εισόδου", "Upload new login background" : "Μεταφόρτωση νέου παρασκηνίου εισόδου", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Εγκαταστήστε την επέκταση PHP Imagemagick με υποστήριξη SVG εικόνων, για να γίνει αυτόματη δημιουργία favicon βασισμένο πάνω στο μεταφορτωμένο λογότυπο και χρώμα." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Εγκαταστήστε την επέκταση PHP Imagemagick με υποστήριξη SVG εικόνων, για να γίνει αυτόματη δημιουργία favicon βασισμένο πάνω στο μεταφορτωμένο λογότυπο και χρώμα.", + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Σε ορισμένες περιπτώσεις, οι συντομεύσεις πληκτρολογίου μπορεί να επηρεάσουν τα εργαλεία προσβασιμότητας. Για να επιτρέψετε τη σωστή εστίαση στο εργαλείο σας, μπορείτε να απενεργοποιήσετε όλες τις συντομεύσεις πληκτρολογίου εδώ. Αυτό θα απενεργοποιήσει επίσης όλες τις διαθέσιμες συντομεύσεις στις εφαρμογές.", + "Pick from Files" : "Επιλέξτε από αρχεία", + "Default image" : "Προεπιλεγμένη εικόνα", + "Custom color" : "Προσαρμοσμένο χρώμα", + "Plain background" : "Απλό παρασκήνιο", + "Insert from {productName}" : "Εισαγωγή από {productName}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/en_GB.js b/apps/theming/l10n/en_GB.js index 9e4760055ea..09d13d440fe 100644 --- a/apps/theming/l10n/en_GB.js +++ b/apps/theming/l10n/en_GB.js @@ -10,6 +10,7 @@ OC.L10N.register( "The given privacy policy address is not a valid URL" : "The given privacy policy address is not a valid URL", "The given slogan is too long" : "The given slogan is too long", "The given color is invalid" : "The given colour is invalid", + "Disable-user-theming should be true or false" : "Disable-user-theming should be true or false", "Saved" : "Saved", "The file was uploaded" : "The file was uploaded", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "The uploaded file exceeds the upload_max_filesize directive in php.ini", @@ -20,22 +21,35 @@ OC.L10N.register( "Could not write file to disk" : "Could not write file to disk", "A PHP extension stopped the file upload" : "A PHP extension stopped the file upload", "No file uploaded" : "No file uploaded", + "Cleanup old theming cache" : "Cleanup old theming cache", + "Failed to delete folder: \"%1$s\", error: %2$s" : "Failed to delete folder: \"%1$s\", error: %2$s", "You are already using a custom theme. Theming app settings might be overwritten by that." : "You are already using a custom theme. Theming app settings might be overwritten by that.", "Theming" : "Theming", + "Appearance and accessibility" : "Appearance and accessibility", + "Dark theme with high contrast mode" : "Dark theme with high contrast mode", + "Enable dark high contrast mode" : "Enable dark high contrast mode", + "Similar to the high contrast mode, but with dark colours." : "Similar to the high contrast mode, but with dark colours.", "Dark theme" : "Dark theme", "Enable dark theme" : "Enable dark theme", "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "A dark theme that is soothing for your eyes (by reducing the overall luminosity and brightness).", + "System default theme" : "System default theme", + "Enable the system default" : "Enable the system default", + "Using the default system appearance." : "Using the default system appearance.", "Dyslexia font" : "Dyslexia font", "Enable dyslexia font" : "Enable dyslexia font", "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia.", "High contrast mode" : "High contrast mode", "Enable high contrast mode" : "Enable high contrast mode", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased.", + "Light theme" : "Light theme", + "Enable the default light theme" : "Enable the default light theme", + "The default light appearance." : "The default light appearance.", "Legal notice" : "Legal notice", "Privacy policy" : "Privacy policy", "Adjust the Nextcloud theme" : "Adjust the Nextcloud theme", "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.", "Advanced options" : "Advanced options", + "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and colour.", "Name" : "Name", "Web link" : "Web link", "a safe home for all your data" : "a safe home for all your data", @@ -43,25 +57,50 @@ OC.L10N.register( "Color" : "Colour", "Logo" : "Logo", "Upload new logo" : "Upload new logo", + "Background and login image" : "Background and login image", + "Upload new background and login image" : "Upload new background and login image", "Legal notice link" : "Legal notice link", "Privacy policy link" : "Privacy policy link", "Header logo" : "Header logo", "Upload new header logo" : "Upload new header logo", "Favicon" : "Favicon", "Upload new favicon" : "Upload new favicon", + "User settings" : "User settings", + "Disable user theming" : "Disable user theming", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on.", "Keyboard shortcuts" : "Keyboard shortcuts", + "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps.", + "Disable all keyboard shortcuts" : "Disable all keyboard shortcuts", + "Background" : "Background", + "Customization has been disabled by your administrator" : "Customization has been disabled by your administrator", + "Set a custom background" : "Set a custom background", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.", - "Custom color" : "Custom colour", + "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!", + "Custom background" : "Custom background", + "Default background" : "Default background", + "Change color" : "Change colour", + "Remove background" : "Remove background", + "Select a background from your files" : "Select a background from your files", + "Theme selection is enforced" : "Theme selection is enforced", + "Select a custom color" : "Select a custom colour", "Reset to default" : "Reset to default", "Upload" : "Upload", "Remove background image" : "Remove background image", "Loading preview…" : "Loading preview…", "Admin" : "Admin", + "Error uploading the file" : "Error uploading the file", "Name cannot be empty" : "Name cannot be empty", "Open documentation" : "Open documentation", "https://…" : "https://…", "Login image" : "Login image", "Upload new login background" : "Upload new login background", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and colour.", + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps.", + "Pick from Files" : "Pick from Files", + "Default image" : "Default image", + "Custom color" : "Custom colour", + "Plain background" : "Plain background", + "Insert from {productName}" : "Insert from {productName}", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/en_GB.json b/apps/theming/l10n/en_GB.json index ed24277f544..2b1b845a50b 100644 --- a/apps/theming/l10n/en_GB.json +++ b/apps/theming/l10n/en_GB.json @@ -8,6 +8,7 @@ "The given privacy policy address is not a valid URL" : "The given privacy policy address is not a valid URL", "The given slogan is too long" : "The given slogan is too long", "The given color is invalid" : "The given colour is invalid", + "Disable-user-theming should be true or false" : "Disable-user-theming should be true or false", "Saved" : "Saved", "The file was uploaded" : "The file was uploaded", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "The uploaded file exceeds the upload_max_filesize directive in php.ini", @@ -18,22 +19,35 @@ "Could not write file to disk" : "Could not write file to disk", "A PHP extension stopped the file upload" : "A PHP extension stopped the file upload", "No file uploaded" : "No file uploaded", + "Cleanup old theming cache" : "Cleanup old theming cache", + "Failed to delete folder: \"%1$s\", error: %2$s" : "Failed to delete folder: \"%1$s\", error: %2$s", "You are already using a custom theme. Theming app settings might be overwritten by that." : "You are already using a custom theme. Theming app settings might be overwritten by that.", "Theming" : "Theming", + "Appearance and accessibility" : "Appearance and accessibility", + "Dark theme with high contrast mode" : "Dark theme with high contrast mode", + "Enable dark high contrast mode" : "Enable dark high contrast mode", + "Similar to the high contrast mode, but with dark colours." : "Similar to the high contrast mode, but with dark colours.", "Dark theme" : "Dark theme", "Enable dark theme" : "Enable dark theme", "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "A dark theme that is soothing for your eyes (by reducing the overall luminosity and brightness).", + "System default theme" : "System default theme", + "Enable the system default" : "Enable the system default", + "Using the default system appearance." : "Using the default system appearance.", "Dyslexia font" : "Dyslexia font", "Enable dyslexia font" : "Enable dyslexia font", "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia.", "High contrast mode" : "High contrast mode", "Enable high contrast mode" : "Enable high contrast mode", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased.", + "Light theme" : "Light theme", + "Enable the default light theme" : "Enable the default light theme", + "The default light appearance." : "The default light appearance.", "Legal notice" : "Legal notice", "Privacy policy" : "Privacy policy", "Adjust the Nextcloud theme" : "Adjust the Nextcloud theme", "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.", "Advanced options" : "Advanced options", + "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and colour.", "Name" : "Name", "Web link" : "Web link", "a safe home for all your data" : "a safe home for all your data", @@ -41,25 +55,50 @@ "Color" : "Colour", "Logo" : "Logo", "Upload new logo" : "Upload new logo", + "Background and login image" : "Background and login image", + "Upload new background and login image" : "Upload new background and login image", "Legal notice link" : "Legal notice link", "Privacy policy link" : "Privacy policy link", "Header logo" : "Header logo", "Upload new header logo" : "Upload new header logo", "Favicon" : "Favicon", "Upload new favicon" : "Upload new favicon", + "User settings" : "User settings", + "Disable user theming" : "Disable user theming", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on.", "Keyboard shortcuts" : "Keyboard shortcuts", + "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps.", + "Disable all keyboard shortcuts" : "Disable all keyboard shortcuts", + "Background" : "Background", + "Customization has been disabled by your administrator" : "Customization has been disabled by your administrator", + "Set a custom background" : "Set a custom background", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.", - "Custom color" : "Custom colour", + "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!", + "Custom background" : "Custom background", + "Default background" : "Default background", + "Change color" : "Change colour", + "Remove background" : "Remove background", + "Select a background from your files" : "Select a background from your files", + "Theme selection is enforced" : "Theme selection is enforced", + "Select a custom color" : "Select a custom colour", "Reset to default" : "Reset to default", "Upload" : "Upload", "Remove background image" : "Remove background image", "Loading preview…" : "Loading preview…", "Admin" : "Admin", + "Error uploading the file" : "Error uploading the file", "Name cannot be empty" : "Name cannot be empty", "Open documentation" : "Open documentation", "https://…" : "https://…", "Login image" : "Login image", "Upload new login background" : "Upload new login background", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and colour.", + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps.", + "Pick from Files" : "Pick from Files", + "Default image" : "Default image", + "Custom color" : "Custom colour", + "Plain background" : "Plain background", + "Insert from {productName}" : "Insert from {productName}", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/es.js b/apps/theming/l10n/es.js index a9f6059421f..4377dcd09f5 100644 --- a/apps/theming/l10n/es.js +++ b/apps/theming/l10n/es.js @@ -76,11 +76,8 @@ OC.L10N.register( "Set a custom background" : "Establecer un fondo personalizado", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "El acceso universal es muy importante para nosotros. Seguimos los estándares web y verificamos que todo es manejable sin ratón y con software de asistencia, como un lector de pantalla. Nuestro objetivo es cumplir con las {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 en nivel AA y, con el tema de alto contraste, en nivel AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Si encuentras cualquier problema, no dudes en informar de ellos en {issuetracker}nuestro tracker de problas{linkend}. Y si quieres involucrarte, ¡puedes unirte a {designteam}nuestro equipo de diseño{linkend}!", - "Pick from Files" : "Elegir de Archivos", - "Default image" : "Imagen predeterminada", - "Custom color" : "Colores personalizados", - "Plain background" : "Fondo liso", - "Insert from {productName}" : "Insertar desde {productName}", + "Change color" : "Cambiar color", + "Select a background from your files" : "Seleccionar un fondo desde tus archivos", "Theme selection is enforced" : "La selección del tema es forzada", "Select a custom color" : "Seleccionar un color personalizado", "Reset to default" : "Vovler a configuración por defecto", @@ -96,6 +93,11 @@ OC.L10N.register( "Upload new login background" : "Subir una nueva imagen de fondo para inicio de sesión", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión de PHP Imagemagick con soporte para imágenes SVG para generar automáticamente faviconos basados en el logo y color subidos.", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "En algunos casos, los atajos de teclado pueden interferir con las herramientas de accesibilidad. De manera de permitir enfocar correctamente tú herramienta, puedes deshabilitar todos los atajos de teclado aquí. Esto también deshabilitará todos los atajos disponibles en las aplicaciones.", + "Pick from Files" : "Elegir de Archivos", + "Default image" : "Imagen predeterminada", + "Custom color" : "Colores personalizados", + "Plain background" : "Fondo liso", + "Insert from {productName}" : "Insertar desde {productName}", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Aunque puede seleccionar y personalizar su instancia, los usuarios pueden cambiar su fondo y colores. Si quiere forzar su personalización, puede activar esta casilla." }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/theming/l10n/es.json b/apps/theming/l10n/es.json index 1c4ef68bfd3..16ac1c7f229 100644 --- a/apps/theming/l10n/es.json +++ b/apps/theming/l10n/es.json @@ -74,11 +74,8 @@ "Set a custom background" : "Establecer un fondo personalizado", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "El acceso universal es muy importante para nosotros. Seguimos los estándares web y verificamos que todo es manejable sin ratón y con software de asistencia, como un lector de pantalla. Nuestro objetivo es cumplir con las {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 en nivel AA y, con el tema de alto contraste, en nivel AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Si encuentras cualquier problema, no dudes en informar de ellos en {issuetracker}nuestro tracker de problas{linkend}. Y si quieres involucrarte, ¡puedes unirte a {designteam}nuestro equipo de diseño{linkend}!", - "Pick from Files" : "Elegir de Archivos", - "Default image" : "Imagen predeterminada", - "Custom color" : "Colores personalizados", - "Plain background" : "Fondo liso", - "Insert from {productName}" : "Insertar desde {productName}", + "Change color" : "Cambiar color", + "Select a background from your files" : "Seleccionar un fondo desde tus archivos", "Theme selection is enforced" : "La selección del tema es forzada", "Select a custom color" : "Seleccionar un color personalizado", "Reset to default" : "Vovler a configuración por defecto", @@ -94,6 +91,11 @@ "Upload new login background" : "Subir una nueva imagen de fondo para inicio de sesión", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión de PHP Imagemagick con soporte para imágenes SVG para generar automáticamente faviconos basados en el logo y color subidos.", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "En algunos casos, los atajos de teclado pueden interferir con las herramientas de accesibilidad. De manera de permitir enfocar correctamente tú herramienta, puedes deshabilitar todos los atajos de teclado aquí. Esto también deshabilitará todos los atajos disponibles en las aplicaciones.", + "Pick from Files" : "Elegir de Archivos", + "Default image" : "Imagen predeterminada", + "Custom color" : "Colores personalizados", + "Plain background" : "Fondo liso", + "Insert from {productName}" : "Insertar desde {productName}", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Aunque puede seleccionar y personalizar su instancia, los usuarios pueden cambiar su fondo y colores. Si quiere forzar su personalización, puede activar esta casilla." },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/theming/l10n/eu.js b/apps/theming/l10n/eu.js index 2b15a87db11..277a4622f58 100644 --- a/apps/theming/l10n/eu.js +++ b/apps/theming/l10n/eu.js @@ -66,11 +66,7 @@ OC.L10N.register( "Set a custom background" : "Ezarri atzeko planoko irudi pertsonalizatua", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Sarbide unibertsala izatea oso garrantzitsua da guretzat. Web estadandarrak jarraitu eta guztia sagurik gabe erabili ahal izatea bermatzen dugu, pantaila-irakurle moduko software laguntzaileak barne. Helburu bezala jartzen dugu {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 AA mailan betetzea, kontraste altuko modua AAA mailaraino betez.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Arazoren bat aurkitzen baduzu, ez izan zalantzarik eta jakinarazi {issuetracker}gure arazoen jarraipena{linkend} zerbitzuan. Eta parte hartu nahi baduzu, etorri {designteam}gure diseinu taldera{linkend}!", - "Pick from Files" : "Hautatu fitxategietatik", - "Default image" : "Irudi lehenetsia", - "Custom color" : "Kolore pertsonalizatua", - "Plain background" : "Atzeko plano arrunta", - "Insert from {productName}" : "Txertatu hemendik: {productName}", + "Change color" : "Aldatu kolorea", "Theme selection is enforced" : "Gaiaren hautaketa behartuta dago", "Reset to default" : "Berezarri balio lehenetsira", "Upload" : "Kargatu", @@ -84,6 +80,11 @@ OC.L10N.register( "Login image" : "Saio-hasiera irudia", "Upload new login background" : "Kargatu saio-hasiera atzeko-plano berria", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instalatu Imagemagick PHP luzapena SVG irudien laguntzarekin igotako logotipoan eta kolorean oinarritutako gogoko-ikonoak automatikoki sortzeko.", - "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Zenbait kasutan, teklatuko lasterbideek erabilerraztasun-tresnekin oztopatu dezakete. Zure tresna behar bezala zentratu ahal izateko, hemen teklatuko lasterbide guztiak desgaitu ditzakezu. Honek aplikazioetan erabilgarri dauden lasterbide guztiak ere desgaituko ditu." + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Zenbait kasutan, teklatuko lasterbideek erabilerraztasun-tresnekin oztopatu dezakete. Zure tresna behar bezala zentratu ahal izateko, hemen teklatuko lasterbide guztiak desgaitu ditzakezu. Honek aplikazioetan erabilgarri dauden lasterbide guztiak ere desgaituko ditu.", + "Pick from Files" : "Hautatu fitxategietatik", + "Default image" : "Irudi lehenetsia", + "Custom color" : "Kolore pertsonalizatua", + "Plain background" : "Atzeko plano arrunta", + "Insert from {productName}" : "Txertatu hemendik: {productName}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/eu.json b/apps/theming/l10n/eu.json index c281d2b9728..d036eb8a5b3 100644 --- a/apps/theming/l10n/eu.json +++ b/apps/theming/l10n/eu.json @@ -64,11 +64,7 @@ "Set a custom background" : "Ezarri atzeko planoko irudi pertsonalizatua", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Sarbide unibertsala izatea oso garrantzitsua da guretzat. Web estadandarrak jarraitu eta guztia sagurik gabe erabili ahal izatea bermatzen dugu, pantaila-irakurle moduko software laguntzaileak barne. Helburu bezala jartzen dugu {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 AA mailan betetzea, kontraste altuko modua AAA mailaraino betez.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Arazoren bat aurkitzen baduzu, ez izan zalantzarik eta jakinarazi {issuetracker}gure arazoen jarraipena{linkend} zerbitzuan. Eta parte hartu nahi baduzu, etorri {designteam}gure diseinu taldera{linkend}!", - "Pick from Files" : "Hautatu fitxategietatik", - "Default image" : "Irudi lehenetsia", - "Custom color" : "Kolore pertsonalizatua", - "Plain background" : "Atzeko plano arrunta", - "Insert from {productName}" : "Txertatu hemendik: {productName}", + "Change color" : "Aldatu kolorea", "Theme selection is enforced" : "Gaiaren hautaketa behartuta dago", "Reset to default" : "Berezarri balio lehenetsira", "Upload" : "Kargatu", @@ -82,6 +78,11 @@ "Login image" : "Saio-hasiera irudia", "Upload new login background" : "Kargatu saio-hasiera atzeko-plano berria", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instalatu Imagemagick PHP luzapena SVG irudien laguntzarekin igotako logotipoan eta kolorean oinarritutako gogoko-ikonoak automatikoki sortzeko.", - "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Zenbait kasutan, teklatuko lasterbideek erabilerraztasun-tresnekin oztopatu dezakete. Zure tresna behar bezala zentratu ahal izateko, hemen teklatuko lasterbide guztiak desgaitu ditzakezu. Honek aplikazioetan erabilgarri dauden lasterbide guztiak ere desgaituko ditu." + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Zenbait kasutan, teklatuko lasterbideek erabilerraztasun-tresnekin oztopatu dezakete. Zure tresna behar bezala zentratu ahal izateko, hemen teklatuko lasterbide guztiak desgaitu ditzakezu. Honek aplikazioetan erabilgarri dauden lasterbide guztiak ere desgaituko ditu.", + "Pick from Files" : "Hautatu fitxategietatik", + "Default image" : "Irudi lehenetsia", + "Custom color" : "Kolore pertsonalizatua", + "Plain background" : "Atzeko plano arrunta", + "Insert from {productName}" : "Txertatu hemendik: {productName}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/fa.js b/apps/theming/l10n/fa.js new file mode 100644 index 00000000000..14c6ca1b56a --- /dev/null +++ b/apps/theming/l10n/fa.js @@ -0,0 +1,94 @@ +OC.L10N.register( + "theming", + { + "The given name is too long" : "نام داده شده بیش از حد بلند است", + "The given web address is too long" : "نشانی وب داده شده بیش از حد بلند است", + "The given web address is not a valid URL" : "نشانی وب داده شده معتبر نیست", + "The given legal notice address is too long" : "نشانی توصیهٔ حقوقی داده شده بیش از حد بلند است", + "The given legal notice address is not a valid URL" : "نشانی توصیهٔ حقوقی داده شده معتبر نیست", + "The given privacy policy address is too long" : "نشانی سیاست محرمانگی داده شده بیش از حد بلند است", + "The given privacy policy address is not a valid URL" : "نشانی سیاست محرمانگی داده شده معتبر نیست", + "The given slogan is too long" : "شعار داده شده بیش از حد بلند است", + "The given color is invalid" : "رنگ داده شده نامعتبر است", + "Disable-user-theming should be true or false" : "مقدار Disable-user-theming باید true یا false باشد", + "Saved" : "ذخیره شد", + "The file was uploaded" : "پرونده بارگذاری شد", + "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "حجم پروندهٔ بارگذاری شده بیشتر از upload_max_filesize در php.ini است", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "حجم پروندهٔ بارگذاری شده بیشتر از MAX_FILE_SIZE مشخّص شده در فرم HTML است", + "The file was only partially uploaded" : "پرونده به صورت ناقص بارگذاری شده بود", + "No file was uploaded" : "هیچ پروندهای بارگذاری نشده", + "Missing a temporary folder" : "یک شاخهٔ موقّتی گم شده", + "Could not write file to disk" : "نتوانست پرونده را روی دیسک بنویسد", + "A PHP extension stopped the file upload" : "یک افزونهٔ پیاچپی بارگذاری پرونده را متوقّف کرد", + "No file uploaded" : "هیچ پروندهای بارگذاری نشد", + "Cleanup old theming cache" : "پاکسازی انبارهٔ زمینش قدیمی", + "Failed to delete folder: \"%1$s\", error: %2$s" : "شکست در حذف شاخه: %1$s، خطا: %2$s", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "هماکنون در حال استفاده از یک زمینهٔ شخصی هستید. ممکن است تنظمیات کارهٔ زمینش به دستش پایکال شوند.", + "Theming" : "زمینش", + "Appearance and accessibility" : "ظاهر و دسترسیپذیری", + "Dark theme with high contrast mode" : "زمینهٔ تیره با حالت سایهروشن بالا", + "Enable dark high contrast mode" : "به کار انداختن حالت سایهروشن تاریک", + "Similar to the high contrast mode, but with dark colours." : "شبیه حالت سایهروشن بالا، ولی با رنگهای تیره", + "Dark theme" : "زمینهٔ تیره", + "Enable dark theme" : "به کار انداختن زمینهٔ تیره", + "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "زمینهای تاریک برای آسایش چشمانتان با کاستن نوردهی و روشنایی کلّی.", + "System default theme" : "زمینهٔ پیشگزیدهٔ سامانه", + "Enable the system default" : "به کار انداختن پیشگزیدهٔ سامانه", + "Using the default system appearance." : "در حال استفاده از ظاهر سامانهٔ پیشگزیده.", + "Dyslexia font" : "قلم خوانشپریش", + "Enable dyslexia font" : "به کار انداختن قلم خوانشپریش", + "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "اُپندیسلکسیک قلمی آزاد است که برای کاهش برخی از خطاهای معمول در خواندن ناشی از خوانشپریشی طرّاحی شده.", + "High contrast mode" : "حالت سایهروشن بالا", + "Enable high contrast mode" : "به کار انداختن حالت سایهروشن بالا", + "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "حالتی با سایهروشن بالا برای آسایش ناوبریتان. کیفیت بصری کاهش خواهد یافت؛ ولی وضوح افزایش میباید.", + "Light theme" : "زمینهٔ روشن", + "Enable the default light theme" : "به کار انداختن زمینهٔ روشن پیشگزیده", + "The default light appearance." : "ظاهر روشن پیش گزیده.", + "Legal notice" : "توصیهٔ حقوقی", + "Privacy policy" : "سیاست محرمانگی", + "Adjust the Nextcloud theme" : "تنظیم زمینهٔ نکستکلود", + "Advanced options" : "گزینههای پیشرفته", + "Name" : "نام", + "Web link" : "پیوند وب", + "a safe home for all your data" : "خانهای امن برای تمامی دادههایتان", + "Slogan" : "شعار", + "Color" : "رنگ", + "Logo" : "نشان", + "Upload new logo" : "بارگذاری نشان جدید", + "Background and login image" : "تصویر پسزمینه و ورود", + "Upload new background and login image" : "بارگذاری تصویر پسزمینه و ورود جدید", + "Legal notice link" : "پیوند توصیهٔ حقوقی", + "Privacy policy link" : "پیوند سیاست محرمانگی", + "Header logo" : "نشان سرایند", + "Upload new header logo" : "بارگذاری نشان سرایند جدید", + "Favicon" : "نقشک صفحه", + "Upload new favicon" : "بارگذاری نقشک صفحهٔ جدید", + "User settings" : "تنظمبات کاربری", + "Disable user theming" : "از کار انداختن زمینش کاربری", + "Keyboard shortcuts" : "میانبرهای صفحهکلید", + "Disable all keyboard shortcuts" : "از کار انداختن تمامی میانبرهای صفحهکلید", + "Background" : "پسزمینه", + "Customization has been disabled by your administrator" : "شخصیسازی به دست مدیرتان از کار افتاده", + "Set a custom background" : "تنظیم پسزمینهای شخصی", + "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "دسترسی جهانی برای ما بسیار مهم است. ما از استانداردهای وب پیروی میکنیم و دقیت میکنیم تا همه چیز بدون موشواره و نرمافزارهای کمکی مانند صفحهخوانها نیز قابل استفاده باشند. هدف ما این است که مطابق با دستورالعمل {guidelines}راهنماهای دسترسپذیری محتوا تحت وب{linkend} نسخه 2.1 در سطح AA، و حتی با زمینه کنتراست بالا در سطح AAA باشیم.", + "Change color" : "تغییر رنگ", + "Theme selection is enforced" : "گزینش زمینه اجباری است", + "Select a custom color" : "گزینش رنگی شخصی", + "Reset to default" : "بازنشانی به پیشگزیده", + "Upload" : "بارگذاری", + "Remove background image" : "برداشتن تصویر پسزمینه", + "Loading preview…" : "بار کردن پیشنمایش…", + "Admin" : "مدیر", + "Error uploading the file" : "خطا در بارگذاری پرونده", + "Name cannot be empty" : "نام نمیتواند خالی باشد", + "Open documentation" : "گشودن مستندات", + "https://…" : "https://…", + "Login image" : "تصویر ورود", + "Upload new login background" : "بارگذاری تصویر ورود جدید", + "Pick from Files" : "گزینش از پروندهها", + "Default image" : "تصویر پیشگزیده", + "Custom color" : "رنگ سفارشی", + "Plain background" : "پسزمینهٔ ساده", + "Insert from {productName}" : "درج از {productName}" +}, +"nplurals=2; plural=(n > 1);"); diff --git a/apps/theming/l10n/fa.json b/apps/theming/l10n/fa.json new file mode 100644 index 00000000000..767b5087a32 --- /dev/null +++ b/apps/theming/l10n/fa.json @@ -0,0 +1,92 @@ +{ "translations": { + "The given name is too long" : "نام داده شده بیش از حد بلند است", + "The given web address is too long" : "نشانی وب داده شده بیش از حد بلند است", + "The given web address is not a valid URL" : "نشانی وب داده شده معتبر نیست", + "The given legal notice address is too long" : "نشانی توصیهٔ حقوقی داده شده بیش از حد بلند است", + "The given legal notice address is not a valid URL" : "نشانی توصیهٔ حقوقی داده شده معتبر نیست", + "The given privacy policy address is too long" : "نشانی سیاست محرمانگی داده شده بیش از حد بلند است", + "The given privacy policy address is not a valid URL" : "نشانی سیاست محرمانگی داده شده معتبر نیست", + "The given slogan is too long" : "شعار داده شده بیش از حد بلند است", + "The given color is invalid" : "رنگ داده شده نامعتبر است", + "Disable-user-theming should be true or false" : "مقدار Disable-user-theming باید true یا false باشد", + "Saved" : "ذخیره شد", + "The file was uploaded" : "پرونده بارگذاری شد", + "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "حجم پروندهٔ بارگذاری شده بیشتر از upload_max_filesize در php.ini است", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "حجم پروندهٔ بارگذاری شده بیشتر از MAX_FILE_SIZE مشخّص شده در فرم HTML است", + "The file was only partially uploaded" : "پرونده به صورت ناقص بارگذاری شده بود", + "No file was uploaded" : "هیچ پروندهای بارگذاری نشده", + "Missing a temporary folder" : "یک شاخهٔ موقّتی گم شده", + "Could not write file to disk" : "نتوانست پرونده را روی دیسک بنویسد", + "A PHP extension stopped the file upload" : "یک افزونهٔ پیاچپی بارگذاری پرونده را متوقّف کرد", + "No file uploaded" : "هیچ پروندهای بارگذاری نشد", + "Cleanup old theming cache" : "پاکسازی انبارهٔ زمینش قدیمی", + "Failed to delete folder: \"%1$s\", error: %2$s" : "شکست در حذف شاخه: %1$s، خطا: %2$s", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "هماکنون در حال استفاده از یک زمینهٔ شخصی هستید. ممکن است تنظمیات کارهٔ زمینش به دستش پایکال شوند.", + "Theming" : "زمینش", + "Appearance and accessibility" : "ظاهر و دسترسیپذیری", + "Dark theme with high contrast mode" : "زمینهٔ تیره با حالت سایهروشن بالا", + "Enable dark high contrast mode" : "به کار انداختن حالت سایهروشن تاریک", + "Similar to the high contrast mode, but with dark colours." : "شبیه حالت سایهروشن بالا، ولی با رنگهای تیره", + "Dark theme" : "زمینهٔ تیره", + "Enable dark theme" : "به کار انداختن زمینهٔ تیره", + "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "زمینهای تاریک برای آسایش چشمانتان با کاستن نوردهی و روشنایی کلّی.", + "System default theme" : "زمینهٔ پیشگزیدهٔ سامانه", + "Enable the system default" : "به کار انداختن پیشگزیدهٔ سامانه", + "Using the default system appearance." : "در حال استفاده از ظاهر سامانهٔ پیشگزیده.", + "Dyslexia font" : "قلم خوانشپریش", + "Enable dyslexia font" : "به کار انداختن قلم خوانشپریش", + "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "اُپندیسلکسیک قلمی آزاد است که برای کاهش برخی از خطاهای معمول در خواندن ناشی از خوانشپریشی طرّاحی شده.", + "High contrast mode" : "حالت سایهروشن بالا", + "Enable high contrast mode" : "به کار انداختن حالت سایهروشن بالا", + "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "حالتی با سایهروشن بالا برای آسایش ناوبریتان. کیفیت بصری کاهش خواهد یافت؛ ولی وضوح افزایش میباید.", + "Light theme" : "زمینهٔ روشن", + "Enable the default light theme" : "به کار انداختن زمینهٔ روشن پیشگزیده", + "The default light appearance." : "ظاهر روشن پیش گزیده.", + "Legal notice" : "توصیهٔ حقوقی", + "Privacy policy" : "سیاست محرمانگی", + "Adjust the Nextcloud theme" : "تنظیم زمینهٔ نکستکلود", + "Advanced options" : "گزینههای پیشرفته", + "Name" : "نام", + "Web link" : "پیوند وب", + "a safe home for all your data" : "خانهای امن برای تمامی دادههایتان", + "Slogan" : "شعار", + "Color" : "رنگ", + "Logo" : "نشان", + "Upload new logo" : "بارگذاری نشان جدید", + "Background and login image" : "تصویر پسزمینه و ورود", + "Upload new background and login image" : "بارگذاری تصویر پسزمینه و ورود جدید", + "Legal notice link" : "پیوند توصیهٔ حقوقی", + "Privacy policy link" : "پیوند سیاست محرمانگی", + "Header logo" : "نشان سرایند", + "Upload new header logo" : "بارگذاری نشان سرایند جدید", + "Favicon" : "نقشک صفحه", + "Upload new favicon" : "بارگذاری نقشک صفحهٔ جدید", + "User settings" : "تنظمبات کاربری", + "Disable user theming" : "از کار انداختن زمینش کاربری", + "Keyboard shortcuts" : "میانبرهای صفحهکلید", + "Disable all keyboard shortcuts" : "از کار انداختن تمامی میانبرهای صفحهکلید", + "Background" : "پسزمینه", + "Customization has been disabled by your administrator" : "شخصیسازی به دست مدیرتان از کار افتاده", + "Set a custom background" : "تنظیم پسزمینهای شخصی", + "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "دسترسی جهانی برای ما بسیار مهم است. ما از استانداردهای وب پیروی میکنیم و دقیت میکنیم تا همه چیز بدون موشواره و نرمافزارهای کمکی مانند صفحهخوانها نیز قابل استفاده باشند. هدف ما این است که مطابق با دستورالعمل {guidelines}راهنماهای دسترسپذیری محتوا تحت وب{linkend} نسخه 2.1 در سطح AA، و حتی با زمینه کنتراست بالا در سطح AAA باشیم.", + "Change color" : "تغییر رنگ", + "Theme selection is enforced" : "گزینش زمینه اجباری است", + "Select a custom color" : "گزینش رنگی شخصی", + "Reset to default" : "بازنشانی به پیشگزیده", + "Upload" : "بارگذاری", + "Remove background image" : "برداشتن تصویر پسزمینه", + "Loading preview…" : "بار کردن پیشنمایش…", + "Admin" : "مدیر", + "Error uploading the file" : "خطا در بارگذاری پرونده", + "Name cannot be empty" : "نام نمیتواند خالی باشد", + "Open documentation" : "گشودن مستندات", + "https://…" : "https://…", + "Login image" : "تصویر ورود", + "Upload new login background" : "بارگذاری تصویر ورود جدید", + "Pick from Files" : "گزینش از پروندهها", + "Default image" : "تصویر پیشگزیده", + "Custom color" : "رنگ سفارشی", + "Plain background" : "پسزمینهٔ ساده", + "Insert from {productName}" : "درج از {productName}" +},"pluralForm" :"nplurals=2; plural=(n > 1);" +}
\ No newline at end of file diff --git a/apps/theming/l10n/fi.js b/apps/theming/l10n/fi.js index 6b3db9af133..e3ed934480f 100644 --- a/apps/theming/l10n/fi.js +++ b/apps/theming/l10n/fi.js @@ -69,11 +69,7 @@ OC.L10N.register( "Customization has been disabled by your administrator" : "Mukauttaminen on poistettu käytöstä ylläpitäjän toimesta", "Set a custom background" : "Aseta mukautettu tausta", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Saavutettavuus on erittäin tärkeää meille. Seuraamme verkkostandardeja ja varmistamme, että kaikki on käytettävissä ilman hiirtä sekä avustavien ohjelmistojen kuten ruudunlukijoiden avulla. Pyrimme olemaan yhteensopivia {guidelines}Web Content Accessibility Guidelines{linkend} -ohjeistuksen version 2.1 AA-tason kanssa, suuren kontrastin teemalla pyrimme jopa AAA-tasoon.", - "Pick from Files" : "Valitse tiedostoista", - "Default image" : "Oletuskuva", - "Custom color" : "Mukautettu väri", - "Plain background" : "Yksinkertainen tausta", - "Insert from {productName}" : "Aseta kohteesta {productName}", + "Change color" : "Vaihda väriä", "Theme selection is enforced" : "Teemavalinta on pakotettu", "Reset to default" : "Palauta oletukseksi", "Upload" : "Lähetä", @@ -86,6 +82,11 @@ OC.L10N.register( "https://…" : "https://…", "Login image" : "Kirjautumissivun kuva", "Upload new login background" : "Lähetä uusi kirjautumissivun taustakuva", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Asenna Imagemagick PHP-lisäosa SVG-kuvatuella generoidaksesi automaattisesti logoon ja väriin perustuvat suosikkikuvakkeet." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Asenna Imagemagick PHP-lisäosa SVG-kuvatuella generoidaksesi automaattisesti logoon ja väriin perustuvat suosikkikuvakkeet.", + "Pick from Files" : "Valitse tiedostoista", + "Default image" : "Oletuskuva", + "Custom color" : "Mukautettu väri", + "Plain background" : "Yksinkertainen tausta", + "Insert from {productName}" : "Aseta kohteesta {productName}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/fi.json b/apps/theming/l10n/fi.json index 1fd61121558..dfb6355e9df 100644 --- a/apps/theming/l10n/fi.json +++ b/apps/theming/l10n/fi.json @@ -67,11 +67,7 @@ "Customization has been disabled by your administrator" : "Mukauttaminen on poistettu käytöstä ylläpitäjän toimesta", "Set a custom background" : "Aseta mukautettu tausta", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Saavutettavuus on erittäin tärkeää meille. Seuraamme verkkostandardeja ja varmistamme, että kaikki on käytettävissä ilman hiirtä sekä avustavien ohjelmistojen kuten ruudunlukijoiden avulla. Pyrimme olemaan yhteensopivia {guidelines}Web Content Accessibility Guidelines{linkend} -ohjeistuksen version 2.1 AA-tason kanssa, suuren kontrastin teemalla pyrimme jopa AAA-tasoon.", - "Pick from Files" : "Valitse tiedostoista", - "Default image" : "Oletuskuva", - "Custom color" : "Mukautettu väri", - "Plain background" : "Yksinkertainen tausta", - "Insert from {productName}" : "Aseta kohteesta {productName}", + "Change color" : "Vaihda väriä", "Theme selection is enforced" : "Teemavalinta on pakotettu", "Reset to default" : "Palauta oletukseksi", "Upload" : "Lähetä", @@ -84,6 +80,11 @@ "https://…" : "https://…", "Login image" : "Kirjautumissivun kuva", "Upload new login background" : "Lähetä uusi kirjautumissivun taustakuva", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Asenna Imagemagick PHP-lisäosa SVG-kuvatuella generoidaksesi automaattisesti logoon ja väriin perustuvat suosikkikuvakkeet." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Asenna Imagemagick PHP-lisäosa SVG-kuvatuella generoidaksesi automaattisesti logoon ja väriin perustuvat suosikkikuvakkeet.", + "Pick from Files" : "Valitse tiedostoista", + "Default image" : "Oletuskuva", + "Custom color" : "Mukautettu väri", + "Plain background" : "Yksinkertainen tausta", + "Insert from {productName}" : "Aseta kohteesta {productName}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/fr.js b/apps/theming/l10n/fr.js index 7c93be8c471..6f394f9c1a1 100644 --- a/apps/theming/l10n/fr.js +++ b/apps/theming/l10n/fr.js @@ -76,11 +76,11 @@ OC.L10N.register( "Set a custom background" : "Définir un arrière-plan personnalisé", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "L'accès universel est très important pour nous. Nous suivons les standards du web et nous vérifions que tout est utilisable même sans souris et sans logiciel d'assistance comme les lecteurs d'écran. Nous visons à respecter les {guidelines}Règles pour l'accessibilité des contenus Web{linkend} 2.1 de niveau AA et même de niveau AAA avec le thème à fort contraste.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Si vous rencontrez des problèmes, n'hésitez pas à les signaler sur {issuetracker}notre outil de suivi des problèmes{linkend}. Et si vous voulez vous impliquer, venez rejoindre {designteam}notre équipe de design{linkend} !", - "Pick from Files" : "Sélectionner dans Fichiers", - "Default image" : "Image par défaut", - "Custom color" : "Couleur personnalisée", - "Plain background" : "Arrière-plan uni", - "Insert from {productName}" : "Sélectionnez une image de {productName}", + "Custom background" : "Arrière-plan personnalisé", + "Default background" : "Arrière-plan par défaut", + "Change color" : "Changer la couleur", + "Remove background" : "Retirer l'arrière-plan", + "Select a background from your files" : "Sélectionner un arrière-plan parmi vos fichiers", "Theme selection is enforced" : "La sélection du thème est imposée", "Select a custom color" : "Sélectionnez une couleur personnalisée", "Reset to default" : "Restaurer les valeurs par défaut", @@ -95,6 +95,12 @@ OC.L10N.register( "Login image" : "Arrière-plan de connexion", "Upload new login background" : "Téléverser un nouvel arrière-plan de connexion", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installez l'extension PHP Imagemagick avec le support pour les images SVG afin de générer automatiquement les favicons sur base du logo téléversé et de la couleur.", - "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Dans certains cas, les raccourcis clavier peuvent interférer avec les outils d'accessibilité. Afin de vous permettre de vous concentrer correctement sur votre outil, vous pouvez désactiver tous les raccourcis clavier ici. Cela désactivera également tous les raccourcis disponibles dans les applications." + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Dans certains cas, les raccourcis clavier peuvent interférer avec les outils d'accessibilité. Afin de vous permettre de vous concentrer correctement sur votre outil, vous pouvez désactiver tous les raccourcis clavier ici. Cela désactivera également tous les raccourcis disponibles dans les applications.", + "Pick from Files" : "Sélectionner dans Fichiers", + "Default image" : "Image par défaut", + "Custom color" : "Couleur personnalisée", + "Plain background" : "Arrière-plan uni", + "Insert from {productName}" : "Sélectionnez une image de {productName}", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Bien que vous puissiez sélectionner et personnaliser votre instance, les utilisateurs peuvent modifier leur arrière-plan et leurs couleurs. Si vous voulez imposer votre personnalisation, vous pouvez cocher cette case." }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/theming/l10n/fr.json b/apps/theming/l10n/fr.json index 5ab69596da6..4f35e88cbd2 100644 --- a/apps/theming/l10n/fr.json +++ b/apps/theming/l10n/fr.json @@ -74,11 +74,11 @@ "Set a custom background" : "Définir un arrière-plan personnalisé", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "L'accès universel est très important pour nous. Nous suivons les standards du web et nous vérifions que tout est utilisable même sans souris et sans logiciel d'assistance comme les lecteurs d'écran. Nous visons à respecter les {guidelines}Règles pour l'accessibilité des contenus Web{linkend} 2.1 de niveau AA et même de niveau AAA avec le thème à fort contraste.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Si vous rencontrez des problèmes, n'hésitez pas à les signaler sur {issuetracker}notre outil de suivi des problèmes{linkend}. Et si vous voulez vous impliquer, venez rejoindre {designteam}notre équipe de design{linkend} !", - "Pick from Files" : "Sélectionner dans Fichiers", - "Default image" : "Image par défaut", - "Custom color" : "Couleur personnalisée", - "Plain background" : "Arrière-plan uni", - "Insert from {productName}" : "Sélectionnez une image de {productName}", + "Custom background" : "Arrière-plan personnalisé", + "Default background" : "Arrière-plan par défaut", + "Change color" : "Changer la couleur", + "Remove background" : "Retirer l'arrière-plan", + "Select a background from your files" : "Sélectionner un arrière-plan parmi vos fichiers", "Theme selection is enforced" : "La sélection du thème est imposée", "Select a custom color" : "Sélectionnez une couleur personnalisée", "Reset to default" : "Restaurer les valeurs par défaut", @@ -93,6 +93,12 @@ "Login image" : "Arrière-plan de connexion", "Upload new login background" : "Téléverser un nouvel arrière-plan de connexion", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installez l'extension PHP Imagemagick avec le support pour les images SVG afin de générer automatiquement les favicons sur base du logo téléversé et de la couleur.", - "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Dans certains cas, les raccourcis clavier peuvent interférer avec les outils d'accessibilité. Afin de vous permettre de vous concentrer correctement sur votre outil, vous pouvez désactiver tous les raccourcis clavier ici. Cela désactivera également tous les raccourcis disponibles dans les applications." + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Dans certains cas, les raccourcis clavier peuvent interférer avec les outils d'accessibilité. Afin de vous permettre de vous concentrer correctement sur votre outil, vous pouvez désactiver tous les raccourcis clavier ici. Cela désactivera également tous les raccourcis disponibles dans les applications.", + "Pick from Files" : "Sélectionner dans Fichiers", + "Default image" : "Image par défaut", + "Custom color" : "Couleur personnalisée", + "Plain background" : "Arrière-plan uni", + "Insert from {productName}" : "Sélectionnez une image de {productName}", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Bien que vous puissiez sélectionner et personnaliser votre instance, les utilisateurs peuvent modifier leur arrière-plan et leurs couleurs. Si vous voulez imposer votre personnalisation, vous pouvez cocher cette case." },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/theming/l10n/gl.js b/apps/theming/l10n/gl.js index dc3a1d758cf..16f4916d46c 100644 --- a/apps/theming/l10n/gl.js +++ b/apps/theming/l10n/gl.js @@ -51,10 +51,7 @@ OC.L10N.register( "User settings" : "Axustes de usuario", "Keyboard shortcuts" : "Atallos de teclado", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Para nós o acceso universal é moi importante. Seguimos os estándares web e comprobamos que todo poida ser utilizado sen rato e software de axuda como os lectores de pantalla. O noso obxectivo é ter cumprir ás {guidelines}Directrices de accesibilidade ao contido web{linkend} 2.1 a nivel AA, co tema de alto contraste incluso a nivel AAA.", - "Pick from Files" : "Escolla entre os ficheiros", - "Custom color" : "Cor personalizada", - "Plain background" : "Fondo sinxelo", - "Insert from {productName}" : "Inserir dende {productName}", + "Change color" : "Cambiar a cor", "Reset to default" : "Restabelecer os valores predeterminados", "Upload" : "Enviar", "Remove background image" : "Retirar a imaxe de fondo", @@ -65,6 +62,10 @@ OC.L10N.register( "https://…" : "https://…", "Login image" : "Imaxe de inicio", "Upload new login background" : "Enviar unha nova imaxe de fondo", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensión de PHP Imagemagick con compatibilidade con imaxes SVG para xerar automáticamente faviconos baseados no logotipo e cor enviados." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensión de PHP Imagemagick con compatibilidade con imaxes SVG para xerar automáticamente faviconos baseados no logotipo e cor enviados.", + "Pick from Files" : "Escolla entre os ficheiros", + "Custom color" : "Cor personalizada", + "Plain background" : "Fondo sinxelo", + "Insert from {productName}" : "Inserir dende {productName}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/gl.json b/apps/theming/l10n/gl.json index d7f4e14e387..0a18641c1a8 100644 --- a/apps/theming/l10n/gl.json +++ b/apps/theming/l10n/gl.json @@ -49,10 +49,7 @@ "User settings" : "Axustes de usuario", "Keyboard shortcuts" : "Atallos de teclado", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Para nós o acceso universal é moi importante. Seguimos os estándares web e comprobamos que todo poida ser utilizado sen rato e software de axuda como os lectores de pantalla. O noso obxectivo é ter cumprir ás {guidelines}Directrices de accesibilidade ao contido web{linkend} 2.1 a nivel AA, co tema de alto contraste incluso a nivel AAA.", - "Pick from Files" : "Escolla entre os ficheiros", - "Custom color" : "Cor personalizada", - "Plain background" : "Fondo sinxelo", - "Insert from {productName}" : "Inserir dende {productName}", + "Change color" : "Cambiar a cor", "Reset to default" : "Restabelecer os valores predeterminados", "Upload" : "Enviar", "Remove background image" : "Retirar a imaxe de fondo", @@ -63,6 +60,10 @@ "https://…" : "https://…", "Login image" : "Imaxe de inicio", "Upload new login background" : "Enviar unha nova imaxe de fondo", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensión de PHP Imagemagick con compatibilidade con imaxes SVG para xerar automáticamente faviconos baseados no logotipo e cor enviados." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensión de PHP Imagemagick con compatibilidade con imaxes SVG para xerar automáticamente faviconos baseados no logotipo e cor enviados.", + "Pick from Files" : "Escolla entre os ficheiros", + "Custom color" : "Cor personalizada", + "Plain background" : "Fondo sinxelo", + "Insert from {productName}" : "Inserir dende {productName}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/he.js b/apps/theming/l10n/he.js index 8c75bea1069..818e10706e5 100644 --- a/apps/theming/l10n/he.js +++ b/apps/theming/l10n/he.js @@ -51,10 +51,7 @@ OC.L10N.register( "User settings" : "הגדרות משתמש", "Keyboard shortcuts" : "קיצורי מקלדת", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "גישה אוניברסלית מאוד חשובה לנו, אנו נצמדים לתקני אינטרנט ובודקים כדי לוודא שהכול שמיש גם ללא עכבר ומול תכניות סיוע כגון מקריאי מסך. אנו חותרים להיות תואמים ל{guidelines}הנחיות הנגישות לתוכן אינטרנט{linkend} 2.1 ברמת AA ועם ערכת הניגודיות הגבוהה אפילו ברמת AAA.", - "Pick from Files" : "בחירה מקבצים", - "Custom color" : "צבע בהתאמה אישית", - "Plain background" : "רקע רגיל", - "Insert from {productName}" : "הכנס מ-{productName}", + "Change color" : "החלפת צבע", "Reset to default" : "איפוס לבררת מחדל", "Upload" : "העלאה", "Remove background image" : "הסרת תמונת רקע", @@ -65,6 +62,10 @@ OC.L10N.register( "https://…" : "https://…", "Login image" : "תמונת כניסה", "Upload new login background" : "העלאת תמונת כניסה חדשה", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "יש להתקין את הרחבת ה־PHP של Imagemagick עם תמיכה בתמונות SVG כדי לייצר תמונות מועדפים אוטומטיות על בסיס הלוגו שהועלה והצבע." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "יש להתקין את הרחבת ה־PHP של Imagemagick עם תמיכה בתמונות SVG כדי לייצר תמונות מועדפים אוטומטיות על בסיס הלוגו שהועלה והצבע.", + "Pick from Files" : "בחירה מקבצים", + "Custom color" : "צבע בהתאמה אישית", + "Plain background" : "רקע רגיל", + "Insert from {productName}" : "הכנס מ-{productName}" }, "nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"); diff --git a/apps/theming/l10n/he.json b/apps/theming/l10n/he.json index ee2bb293d5a..601410e9e85 100644 --- a/apps/theming/l10n/he.json +++ b/apps/theming/l10n/he.json @@ -49,10 +49,7 @@ "User settings" : "הגדרות משתמש", "Keyboard shortcuts" : "קיצורי מקלדת", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "גישה אוניברסלית מאוד חשובה לנו, אנו נצמדים לתקני אינטרנט ובודקים כדי לוודא שהכול שמיש גם ללא עכבר ומול תכניות סיוע כגון מקריאי מסך. אנו חותרים להיות תואמים ל{guidelines}הנחיות הנגישות לתוכן אינטרנט{linkend} 2.1 ברמת AA ועם ערכת הניגודיות הגבוהה אפילו ברמת AAA.", - "Pick from Files" : "בחירה מקבצים", - "Custom color" : "צבע בהתאמה אישית", - "Plain background" : "רקע רגיל", - "Insert from {productName}" : "הכנס מ-{productName}", + "Change color" : "החלפת צבע", "Reset to default" : "איפוס לבררת מחדל", "Upload" : "העלאה", "Remove background image" : "הסרת תמונת רקע", @@ -63,6 +60,10 @@ "https://…" : "https://…", "Login image" : "תמונת כניסה", "Upload new login background" : "העלאת תמונת כניסה חדשה", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "יש להתקין את הרחבת ה־PHP של Imagemagick עם תמיכה בתמונות SVG כדי לייצר תמונות מועדפים אוטומטיות על בסיס הלוגו שהועלה והצבע." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "יש להתקין את הרחבת ה־PHP של Imagemagick עם תמיכה בתמונות SVG כדי לייצר תמונות מועדפים אוטומטיות על בסיס הלוגו שהועלה והצבע.", + "Pick from Files" : "בחירה מקבצים", + "Custom color" : "צבע בהתאמה אישית", + "Plain background" : "רקע רגיל", + "Insert from {productName}" : "הכנס מ-{productName}" },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;" }
\ No newline at end of file diff --git a/apps/theming/l10n/hr.js b/apps/theming/l10n/hr.js index c97618f13ed..03ed1a8ac66 100644 --- a/apps/theming/l10n/hr.js +++ b/apps/theming/l10n/hr.js @@ -52,10 +52,7 @@ OC.L10N.register( "Keyboard shortcuts" : "Tipkovni prečaci", "Background" : "Pozadina", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Nama je vrlo važno osigurati univerzalan pristup. Pratimo sve internetske i mrežne standarde i provjeravamo je li sustav upotrebljiv bez miša i pomoćnog softvera, kao što je čitač zaslona. Naš je cilj postići sukladnost sa {guidelines}Smjernicama pristupačnosti web-sadržaja{linkend} 2.1 na razini AA s temom jakog kontrasta na razini AAA.", - "Pick from Files" : "Odaberi iz datoteka", - "Custom color" : "Prilagođena boja", - "Plain background" : "Obična pozadina", - "Insert from {productName}" : "Umetni iz {productName}", + "Change color" : "Promijeni boju", "Reset to default" : "Vrati na zadanu postavku", "Upload" : "Otpremi", "Remove background image" : "Ukloni pozadinsku sliku", @@ -66,6 +63,10 @@ OC.L10N.register( "https://…" : "https://…", "Login image" : "Slika za prijavu", "Upload new login background" : "Otpremi novu pozadinu za prijavu", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Ugradite proširenje za PHP pod nazivom Imagemagick s podrškom za SVG slike kako biste automatski generirali favicone na temelju otpremljenog logotipa i boje." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Ugradite proširenje za PHP pod nazivom Imagemagick s podrškom za SVG slike kako biste automatski generirali favicone na temelju otpremljenog logotipa i boje.", + "Pick from Files" : "Odaberi iz datoteka", + "Custom color" : "Prilagođena boja", + "Plain background" : "Obična pozadina", + "Insert from {productName}" : "Umetni iz {productName}" }, "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"); diff --git a/apps/theming/l10n/hr.json b/apps/theming/l10n/hr.json index 4c12e09e9a9..aff4a13a909 100644 --- a/apps/theming/l10n/hr.json +++ b/apps/theming/l10n/hr.json @@ -50,10 +50,7 @@ "Keyboard shortcuts" : "Tipkovni prečaci", "Background" : "Pozadina", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Nama je vrlo važno osigurati univerzalan pristup. Pratimo sve internetske i mrežne standarde i provjeravamo je li sustav upotrebljiv bez miša i pomoćnog softvera, kao što je čitač zaslona. Naš je cilj postići sukladnost sa {guidelines}Smjernicama pristupačnosti web-sadržaja{linkend} 2.1 na razini AA s temom jakog kontrasta na razini AAA.", - "Pick from Files" : "Odaberi iz datoteka", - "Custom color" : "Prilagođena boja", - "Plain background" : "Obična pozadina", - "Insert from {productName}" : "Umetni iz {productName}", + "Change color" : "Promijeni boju", "Reset to default" : "Vrati na zadanu postavku", "Upload" : "Otpremi", "Remove background image" : "Ukloni pozadinsku sliku", @@ -64,6 +61,10 @@ "https://…" : "https://…", "Login image" : "Slika za prijavu", "Upload new login background" : "Otpremi novu pozadinu za prijavu", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Ugradite proširenje za PHP pod nazivom Imagemagick s podrškom za SVG slike kako biste automatski generirali favicone na temelju otpremljenog logotipa i boje." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Ugradite proširenje za PHP pod nazivom Imagemagick s podrškom za SVG slike kako biste automatski generirali favicone na temelju otpremljenog logotipa i boje.", + "Pick from Files" : "Odaberi iz datoteka", + "Custom color" : "Prilagođena boja", + "Plain background" : "Obična pozadina", + "Insert from {productName}" : "Umetni iz {productName}" },"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/theming/l10n/hu.js b/apps/theming/l10n/hu.js index a45163edadf..cf1dcbb50ff 100644 --- a/apps/theming/l10n/hu.js +++ b/apps/theming/l10n/hu.js @@ -10,6 +10,7 @@ OC.L10N.register( "The given privacy policy address is not a valid URL" : "A megadott adatvédelmi irányelvek URL címe érvénytelen", "The given slogan is too long" : "A megadott szlogen túl hosszú", "The given color is invalid" : "A megadott szín érvénytelen", + "Disable-user-theming should be true or false" : "A felhasználói témázás letiltásának igaznak vagy hamisnak kell lennie", "Saved" : "Mentve", "The file was uploaded" : "A fájl fel lett töltve", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "A feltöltött fájl meghaladja a php.ini upload_max_filesize direktívájában meghatározott méretet.", @@ -20,6 +21,8 @@ OC.L10N.register( "Could not write file to disk" : "A fájlt nem sikerült a lemezre írni", "A PHP extension stopped the file upload" : "Egy PHP kiterjesztés megállította a fájl feltöltését", "No file uploaded" : "Nincs fájl feltöltve", + "Cleanup old theming cache" : "Régi témagyorsítótár kitakarítása", + "Failed to delete folder: \"%1$s\", error: %2$s" : "A(z) „%1$s” törlése sikertelen, hiba: %2$s", "You are already using a custom theme. Theming app settings might be overwritten by that." : "Már egyéni témát használ. Lehet, hogy a témázó alkalmazás beállításai felülírták.", "Theming" : "Témázás", "Appearance and accessibility" : "Megjelenés és akadálymentesítés", @@ -46,6 +49,7 @@ OC.L10N.register( "Adjust the Nextcloud theme" : "A Nextcloud téma módosítása", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "A témák lehetővé teszik, hogy könnyedén személyre szabja a példány és a támogatott kliensek megjelenését. Ez minden felhasználó számára látható lesz.", "Advanced options" : "Speciális beállítások", + "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Telepítse az ImageMagick PHP kiterjesztést SVG képtámogatással, hogy automatikusan előállítsa a kedvencek ikont a feltöltött logó és szín alapján.", "Name" : "Név", "Web link" : "Webes hivatkozás", "a safe home for all your data" : "biztonságos hely az adatai számára", @@ -53,6 +57,8 @@ OC.L10N.register( "Color" : "Szín", "Logo" : "Logó", "Upload new logo" : "Új logó feltöltése", + "Background and login image" : "Háttér és bejelentkezőkép", + "Upload new background and login image" : "Új háttér és bejelentkezőkép feltöltése", "Legal notice link" : "Jogi nyilatkozat hivatkozása", "Privacy policy link" : "Adatvédelmi irányelvek hivatkozása", "Header logo" : "Fejléc logó", @@ -60,18 +66,23 @@ OC.L10N.register( "Favicon" : "Kedvencek ikon", "Upload new favicon" : "Kedvencek ikon feltöltése", "User settings" : "Felhasználói beállítások", + "Disable user theming" : "Felhasználói témázás letiltása", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Bár kiválaszthatja és testreszabhatja a példányát, a felhasználók módosíthatják a hátterüket és a színeiket. Ha ki akarja kényszeríteni a saját testreszabását, akkor bekapcsolja ezt. ", "Keyboard shortcuts" : "Gyorsbillentyűk", + "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Egyes esetekben a gyorsbillentyűk összeakadhatnak az akadálymentesítési eszközökkel. Hogy helyesen tudjon fókuszálni az eszközre, itt letilthatja a gyorsbillentyűket. Ez az alkalmazásokban is letiltja az összes elérhető gyorsbillentyűt.", "Disable all keyboard shortcuts" : "Összes gyorsbillentyű letiltása", "Background" : "Háttér", + "Customization has been disabled by your administrator" : "A testreszabást letiltotta a rendszergazda", "Set a custom background" : "Egyéni háttér beállítása", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Az akadálymentesítés fontos számunka. A webes szabványokat követjük, és ellenőrizzük, hogy minden használható egér nélkül, illetve akadálymentesítési technológiákkal, például képernyőolvasókkal. Arra törekszünk, hogy a {guidelines}Webes tartalomra vonatkozó akadálymentesítési irányelvek{linkend} 2.1-es változatának AA szinten, a magas kontrasztú témával pedig AAA szinten megfeleljünk.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Ha problémákat tapasztal, jelentse a {issuetracker}hibakövetőnkben{linkend}. És ha segíteni szeretne, csatlakozzon a {designteam}dizájn csapatunkhoz{linkend}!", - "Pick from Files" : "Válasszon a Fájlokból", - "Default image" : "Alapértelmezett kép", - "Custom color" : "Egyéni szín", - "Plain background" : "Egyszerű háttér", - "Insert from {productName}" : "Beillesztés innen: {productName}", + "Custom background" : "Egyéni háttér", + "Default background" : "Alapértelmezett háttér", + "Change color" : "Szín módosítása", + "Remove background" : "Háttér eltávolítása", + "Select a background from your files" : "Válasszon hátteret a fájljai közül", "Theme selection is enforced" : "A témaválasztás kényszerített", + "Select a custom color" : "Válasszon egyéni színt", "Reset to default" : "Visszaállítás alapértelmezettre", "Upload" : "Feltöltés", "Remove background image" : "Háttérkép eltávolítása", @@ -84,6 +95,12 @@ OC.L10N.register( "Login image" : "Bejelentkező kép", "Upload new login background" : "Új bejelentkező kép feltöltése", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Telepítse az Imagemagick PHP kiterjesztést SVG képtámogatással, hogy automatikusan előállítsa a kedvencek ikont a feltöltött logó és szín alapján.", - "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Egyes esetekben a gyorsbillentyűk összeakadhatnak az akadálymentesítési eszközökkel. Hogy helyesen tudjon fókuszálni az eszközre, itt letilthatja a gyorsbillentyűket. Ez az alkalmazásokban is letiltja az összes elérhető gyorsbillentyűt." + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Egyes esetekben a gyorsbillentyűk összeakadhatnak az akadálymentesítési eszközökkel. Hogy helyesen tudjon fókuszálni az eszközre, itt letilthatja a gyorsbillentyűket. Ez az alkalmazásokban is letiltja az összes elérhető gyorsbillentyűt.", + "Pick from Files" : "Válasszon a Fájlokból", + "Default image" : "Alapértelmezett kép", + "Custom color" : "Egyéni szín", + "Plain background" : "Egyszerű háttér", + "Insert from {productName}" : "Beillesztés innen: {productName}", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Bár kiválaszthatja és testreszabhatja a példányát, a felhasználók módosíthatják a hátterüket és a színeiket. Ha ki akarja kényszeríteni a saját testreszabását, akkor bejelölheti ezt a mezőt. " }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/hu.json b/apps/theming/l10n/hu.json index e614cecf721..ce13597bbef 100644 --- a/apps/theming/l10n/hu.json +++ b/apps/theming/l10n/hu.json @@ -8,6 +8,7 @@ "The given privacy policy address is not a valid URL" : "A megadott adatvédelmi irányelvek URL címe érvénytelen", "The given slogan is too long" : "A megadott szlogen túl hosszú", "The given color is invalid" : "A megadott szín érvénytelen", + "Disable-user-theming should be true or false" : "A felhasználói témázás letiltásának igaznak vagy hamisnak kell lennie", "Saved" : "Mentve", "The file was uploaded" : "A fájl fel lett töltve", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "A feltöltött fájl meghaladja a php.ini upload_max_filesize direktívájában meghatározott méretet.", @@ -18,6 +19,8 @@ "Could not write file to disk" : "A fájlt nem sikerült a lemezre írni", "A PHP extension stopped the file upload" : "Egy PHP kiterjesztés megállította a fájl feltöltését", "No file uploaded" : "Nincs fájl feltöltve", + "Cleanup old theming cache" : "Régi témagyorsítótár kitakarítása", + "Failed to delete folder: \"%1$s\", error: %2$s" : "A(z) „%1$s” törlése sikertelen, hiba: %2$s", "You are already using a custom theme. Theming app settings might be overwritten by that." : "Már egyéni témát használ. Lehet, hogy a témázó alkalmazás beállításai felülírták.", "Theming" : "Témázás", "Appearance and accessibility" : "Megjelenés és akadálymentesítés", @@ -44,6 +47,7 @@ "Adjust the Nextcloud theme" : "A Nextcloud téma módosítása", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "A témák lehetővé teszik, hogy könnyedén személyre szabja a példány és a támogatott kliensek megjelenését. Ez minden felhasználó számára látható lesz.", "Advanced options" : "Speciális beállítások", + "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Telepítse az ImageMagick PHP kiterjesztést SVG képtámogatással, hogy automatikusan előállítsa a kedvencek ikont a feltöltött logó és szín alapján.", "Name" : "Név", "Web link" : "Webes hivatkozás", "a safe home for all your data" : "biztonságos hely az adatai számára", @@ -51,6 +55,8 @@ "Color" : "Szín", "Logo" : "Logó", "Upload new logo" : "Új logó feltöltése", + "Background and login image" : "Háttér és bejelentkezőkép", + "Upload new background and login image" : "Új háttér és bejelentkezőkép feltöltése", "Legal notice link" : "Jogi nyilatkozat hivatkozása", "Privacy policy link" : "Adatvédelmi irányelvek hivatkozása", "Header logo" : "Fejléc logó", @@ -58,18 +64,23 @@ "Favicon" : "Kedvencek ikon", "Upload new favicon" : "Kedvencek ikon feltöltése", "User settings" : "Felhasználói beállítások", + "Disable user theming" : "Felhasználói témázás letiltása", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Bár kiválaszthatja és testreszabhatja a példányát, a felhasználók módosíthatják a hátterüket és a színeiket. Ha ki akarja kényszeríteni a saját testreszabását, akkor bekapcsolja ezt. ", "Keyboard shortcuts" : "Gyorsbillentyűk", + "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Egyes esetekben a gyorsbillentyűk összeakadhatnak az akadálymentesítési eszközökkel. Hogy helyesen tudjon fókuszálni az eszközre, itt letilthatja a gyorsbillentyűket. Ez az alkalmazásokban is letiltja az összes elérhető gyorsbillentyűt.", "Disable all keyboard shortcuts" : "Összes gyorsbillentyű letiltása", "Background" : "Háttér", + "Customization has been disabled by your administrator" : "A testreszabást letiltotta a rendszergazda", "Set a custom background" : "Egyéni háttér beállítása", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Az akadálymentesítés fontos számunka. A webes szabványokat követjük, és ellenőrizzük, hogy minden használható egér nélkül, illetve akadálymentesítési technológiákkal, például képernyőolvasókkal. Arra törekszünk, hogy a {guidelines}Webes tartalomra vonatkozó akadálymentesítési irányelvek{linkend} 2.1-es változatának AA szinten, a magas kontrasztú témával pedig AAA szinten megfeleljünk.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Ha problémákat tapasztal, jelentse a {issuetracker}hibakövetőnkben{linkend}. És ha segíteni szeretne, csatlakozzon a {designteam}dizájn csapatunkhoz{linkend}!", - "Pick from Files" : "Válasszon a Fájlokból", - "Default image" : "Alapértelmezett kép", - "Custom color" : "Egyéni szín", - "Plain background" : "Egyszerű háttér", - "Insert from {productName}" : "Beillesztés innen: {productName}", + "Custom background" : "Egyéni háttér", + "Default background" : "Alapértelmezett háttér", + "Change color" : "Szín módosítása", + "Remove background" : "Háttér eltávolítása", + "Select a background from your files" : "Válasszon hátteret a fájljai közül", "Theme selection is enforced" : "A témaválasztás kényszerített", + "Select a custom color" : "Válasszon egyéni színt", "Reset to default" : "Visszaállítás alapértelmezettre", "Upload" : "Feltöltés", "Remove background image" : "Háttérkép eltávolítása", @@ -82,6 +93,12 @@ "Login image" : "Bejelentkező kép", "Upload new login background" : "Új bejelentkező kép feltöltése", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Telepítse az Imagemagick PHP kiterjesztést SVG képtámogatással, hogy automatikusan előállítsa a kedvencek ikont a feltöltött logó és szín alapján.", - "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Egyes esetekben a gyorsbillentyűk összeakadhatnak az akadálymentesítési eszközökkel. Hogy helyesen tudjon fókuszálni az eszközre, itt letilthatja a gyorsbillentyűket. Ez az alkalmazásokban is letiltja az összes elérhető gyorsbillentyűt." + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Egyes esetekben a gyorsbillentyűk összeakadhatnak az akadálymentesítési eszközökkel. Hogy helyesen tudjon fókuszálni az eszközre, itt letilthatja a gyorsbillentyűket. Ez az alkalmazásokban is letiltja az összes elérhető gyorsbillentyűt.", + "Pick from Files" : "Válasszon a Fájlokból", + "Default image" : "Alapértelmezett kép", + "Custom color" : "Egyéni szín", + "Plain background" : "Egyszerű háttér", + "Insert from {productName}" : "Beillesztés innen: {productName}", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Bár kiválaszthatja és testreszabhatja a példányát, a felhasználók módosíthatják a hátterüket és a színeiket. Ha ki akarja kényszeríteni a saját testreszabását, akkor bejelölheti ezt a mezőt. " },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/is.js b/apps/theming/l10n/is.js index 4f22bc6e98f..11e73f196b8 100644 --- a/apps/theming/l10n/is.js +++ b/apps/theming/l10n/is.js @@ -52,7 +52,7 @@ OC.L10N.register( "Keyboard shortcuts" : "Flýtileiðir á lyklaborði", "Background" : "Background", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Aðgengi fyrir alla er okkur mikilvægt. Við fylgjum vefstöðlum oggöngum úr skugga um að allt sé nothæft án þess að nota tölvumús, auk þess að hjálpartæki á borð við skjálesara virki. Við miðum að samhæfni við {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 á stigi AA, og höfum meira að segja háskerpuþemað miðað við stig AAA.", - "Custom color" : "Sérsniðinn litur", + "Change color" : "Breyta lit", "Reset to default" : "Endurstilla á sjálfgefið", "Upload" : "Senda inn", "Remove background image" : "Fjarlægja bakgrunnsmynd", @@ -63,6 +63,7 @@ OC.L10N.register( "https://…" : "https://…", "Login image" : "Innskráningarmynd", "Upload new login background" : "Senda inn nýjan bakgrunn innskráningar", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Settu inn Imagemagick PHP forritsviðaukann með stuðningi við SVG-myndir til að útbúa sjálfvirkt veftáknmyndir byggðar á innsendu táknmerki og lit." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Settu inn Imagemagick PHP forritsviðaukann með stuðningi við SVG-myndir til að útbúa sjálfvirkt veftáknmyndir byggðar á innsendu táknmerki og lit.", + "Custom color" : "Sérsniðinn litur" }, "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/theming/l10n/is.json b/apps/theming/l10n/is.json index 1b594dfb180..725ac2de701 100644 --- a/apps/theming/l10n/is.json +++ b/apps/theming/l10n/is.json @@ -50,7 +50,7 @@ "Keyboard shortcuts" : "Flýtileiðir á lyklaborði", "Background" : "Background", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Aðgengi fyrir alla er okkur mikilvægt. Við fylgjum vefstöðlum oggöngum úr skugga um að allt sé nothæft án þess að nota tölvumús, auk þess að hjálpartæki á borð við skjálesara virki. Við miðum að samhæfni við {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 á stigi AA, og höfum meira að segja háskerpuþemað miðað við stig AAA.", - "Custom color" : "Sérsniðinn litur", + "Change color" : "Breyta lit", "Reset to default" : "Endurstilla á sjálfgefið", "Upload" : "Senda inn", "Remove background image" : "Fjarlægja bakgrunnsmynd", @@ -61,6 +61,7 @@ "https://…" : "https://…", "Login image" : "Innskráningarmynd", "Upload new login background" : "Senda inn nýjan bakgrunn innskráningar", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Settu inn Imagemagick PHP forritsviðaukann með stuðningi við SVG-myndir til að útbúa sjálfvirkt veftáknmyndir byggðar á innsendu táknmerki og lit." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Settu inn Imagemagick PHP forritsviðaukann með stuðningi við SVG-myndir til að útbúa sjálfvirkt veftáknmyndir byggðar á innsendu táknmerki og lit.", + "Custom color" : "Sérsniðinn litur" },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" }
\ No newline at end of file diff --git a/apps/theming/l10n/it.js b/apps/theming/l10n/it.js index e08522cfc18..a96384c5481 100644 --- a/apps/theming/l10n/it.js +++ b/apps/theming/l10n/it.js @@ -59,10 +59,7 @@ OC.L10N.register( "Keyboard shortcuts" : "Scorciatoie da tastiera", "Background" : "Sfondo", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "L'accesso universale è molto importante per noi. Seguiamo gli standard web e cerchiamo di rendere tutto utilizzabile anche senza mouse, e programmi di assistenza come i lettori dello schermo. Il nostro obiettivo è la compatibilità con la {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 a livello AA, con il tema ad alto contrasto anche a livello AAA. ", - "Pick from Files" : "Scegli da File", - "Custom color" : "Colore personalizzato", - "Plain background" : "Sfondo semplice", - "Insert from {productName}" : "Inserisci da {productName}", + "Change color" : "Cambia colore", "Reset to default" : "Ripristina valori predefiniti", "Upload" : "Carica", "Remove background image" : "Rimuovi immagine di sfondo", @@ -73,6 +70,10 @@ OC.L10N.register( "https://…" : "https://…", "Login image" : "Immagine di accesso", "Upload new login background" : "Carica nuovo sfondo di accesso", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installa l'estensione Imagemagick di PHP con supporto per le immagini SVG per generare automaticamente favicon basate sul logo caricato e sul colore." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installa l'estensione Imagemagick di PHP con supporto per le immagini SVG per generare automaticamente favicon basate sul logo caricato e sul colore.", + "Pick from Files" : "Scegli da File", + "Custom color" : "Colore personalizzato", + "Plain background" : "Sfondo semplice", + "Insert from {productName}" : "Inserisci da {productName}" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/theming/l10n/it.json b/apps/theming/l10n/it.json index 98238afc6ac..51c684d622e 100644 --- a/apps/theming/l10n/it.json +++ b/apps/theming/l10n/it.json @@ -57,10 +57,7 @@ "Keyboard shortcuts" : "Scorciatoie da tastiera", "Background" : "Sfondo", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "L'accesso universale è molto importante per noi. Seguiamo gli standard web e cerchiamo di rendere tutto utilizzabile anche senza mouse, e programmi di assistenza come i lettori dello schermo. Il nostro obiettivo è la compatibilità con la {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 a livello AA, con il tema ad alto contrasto anche a livello AAA. ", - "Pick from Files" : "Scegli da File", - "Custom color" : "Colore personalizzato", - "Plain background" : "Sfondo semplice", - "Insert from {productName}" : "Inserisci da {productName}", + "Change color" : "Cambia colore", "Reset to default" : "Ripristina valori predefiniti", "Upload" : "Carica", "Remove background image" : "Rimuovi immagine di sfondo", @@ -71,6 +68,10 @@ "https://…" : "https://…", "Login image" : "Immagine di accesso", "Upload new login background" : "Carica nuovo sfondo di accesso", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installa l'estensione Imagemagick di PHP con supporto per le immagini SVG per generare automaticamente favicon basate sul logo caricato e sul colore." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installa l'estensione Imagemagick di PHP con supporto per le immagini SVG per generare automaticamente favicon basate sul logo caricato e sul colore.", + "Pick from Files" : "Scegli da File", + "Custom color" : "Colore personalizzato", + "Plain background" : "Sfondo semplice", + "Insert from {productName}" : "Inserisci da {productName}" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/theming/l10n/ja.js b/apps/theming/l10n/ja.js index 23a641fb860..8563408cd51 100644 --- a/apps/theming/l10n/ja.js +++ b/apps/theming/l10n/ja.js @@ -10,6 +10,7 @@ OC.L10N.register( "The given privacy policy address is not a valid URL" : "指定された個人情報保護方針アドレスは有効なURLではありません", "The given slogan is too long" : "スローガンが長すぎます", "The given color is invalid" : "無効な色です", + "Disable-user-theming should be true or false" : "Disable-user-themingは、trueまたはfalseで指定してください", "Saved" : "保存済み", "The file was uploaded" : "ファイルがアップロードされました", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "アップロードファイルサイズが、php.ini の upload_max_filesize を超過しています", @@ -20,22 +21,35 @@ OC.L10N.register( "Could not write file to disk" : "ディスクにファイルを書き込めませんでした", "A PHP extension stopped the file upload" : "PHP拡張でファイルのアップロードが停止されています", "No file uploaded" : "ファイルがアップロードされていません", + "Cleanup old theming cache" : "古いテーマのキャッシュを削除", + "Failed to delete folder: \"%1$s\", error: %2$s" : "フォルダー \"%1$s\" を削除できませんでした。エラー: %2$s", "You are already using a custom theme. Theming app settings might be overwritten by that." : "あなたはすでにカスタムテーマを使用しています。 テーマ設定の設定が上書きされる可能性があります。", "Theming" : "テーマ", "Appearance and accessibility" : "外観とアクセシビリティ", + "Dark theme with high contrast mode" : "ハイコントラストモードのダークテーマ", + "Enable dark high contrast mode" : "ハイコントラストモードのダークテーマを有効化", + "Similar to the high contrast mode, but with dark colours." : "暗い色調でのハイコントラストモード", "Dark theme" : "ダークテーマ", "Enable dark theme" : "ダークテーマを有効にする", + "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "全体的な明度と明るさを下げることで目を楽にする暗い色調のテーマ", + "System default theme" : "システムのデフォルトに合わせたテーマ", + "Enable the system default" : "システムデフォルトを有効化", + "Using the default system appearance." : "デフォルトの外観を利用", "Dyslexia font" : "Dyslexia フォント", "Enable dyslexia font" : "Dyslexia フォントを有効にする", "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexicは、ディスレクシアによって引き起こされる一般的な読み間違いの一部を軽減するためにデザインされた、無料で利用できる書体/フォントです。", "High contrast mode" : "ハイ・コントラストモード", "Enable high contrast mode" : "ハイ・コントラストモードを有効にする。", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "操作をわかりやすくするためのハイ・コントラストモード。\n見た目の美しさは低下しますが、明確さが向上します。", + "Light theme" : "ライトテーマ", + "Enable the default light theme" : "デフォルトの明るいテーマを有効化", + "The default light appearance." : "デフォルトの明るい外観", "Legal notice" : "法的通知", "Privacy policy" : "個人情報保護方針", "Adjust the Nextcloud theme" : "Nextcloudテーマを調整する", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "テーマでは、あなたのインスタンスとサポートされたクライアントのルック&フィールを簡単に変更できます。この変更はすべてのユーザーが対象となります。", "Advanced options" : "詳細オプション", + "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "SVG画像をサポートするPHP拡張機能 ImageMagick をインストールすると、アップロードされたロゴと色に基づいてファビコンを自動生成することができます。", "Name" : "名前", "Web link" : "Webリンク", "a safe home for all your data" : "あなたのすべてのデータを安全に保管する場所", @@ -43,6 +57,8 @@ OC.L10N.register( "Color" : "色", "Logo" : "ロゴ", "Upload new logo" : "新しいロゴをアップロード", + "Background and login image" : "背景とログイン画像", + "Upload new background and login image" : "新しい背景とログイン画像", "Legal notice link" : "法的通知のリンク", "Privacy policy link" : "個人情報保護方針のリンク", "Header logo" : "ヘッダーロゴ", @@ -50,23 +66,37 @@ OC.L10N.register( "Favicon" : "Favicon", "Upload new favicon" : "新しいfaviconをアップロード", "User settings" : "ユーザー設定", + "Disable user theming" : "ユーザー毎のテーマを無効", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "このサーバーの外観のカスタマイズと画像を変更を変更できますが、さらにユーザーは背景と色を変更できます。外観のカスタマイズを強制する場合は以下のチェック設定をオンにしてください。", "Keyboard shortcuts" : "キーボードショートカット", + "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "場合によっては、キーボードショートカットがアクセシビリティツールに干渉することがあります。ツールに正しくフォーカスできるようにするために、ここですべてのキーボード ショートカットを無効にできます。この場合、アプリで使用可能なすべてのショートカットも無効になります。", + "Disable all keyboard shortcuts" : "全てのキーボードショートカットを無効化", "Background" : "背景", + "Customization has been disabled by your administrator" : "カスタマイズは管理者によって無効にされています", + "Set a custom background" : "背景を設定", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "ユニバーサルアクセスは私たちにとって非常に重要なことです。そのためウェブ標準に従い、マウスやスクリーンリーダーなどの支援ソフトウェアが無くても全ての機能をご利用いただけるようにチェックしています。AAAレベルのハイコントラストのテーマを採用することで、{guidelines} Webコンテンツアクセシビリティガイドライン2.1 {linkend} のAAAレベルに準拠することを目指しています。", - "Pick from Files" : "ファイルから選択", - "Custom color" : "カスタム色", - "Plain background" : "シンプルな背景", - "Insert from {productName}" : "{productName} から挿入", + "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "何か問題を見つけた場合は、{issuetracker}私たちの問題トラッカー{linkend}で遠慮なく報告してください。参加したい場合は、{designteam}私たちのデザイン チーム{linkend}に参加してください!", + "Change color" : "色を変える", + "Theme selection is enforced" : "テーマ選択を強制", + "Select a custom color" : "カスタムカラーを選択", "Reset to default" : "デフォルトに戻す", "Upload" : "アップロード", "Remove background image" : "背景画像を削除", "Loading preview…" : "プレビューを読み込み中...", "Admin" : "管理者", + "Error uploading the file" : "ファイルのアップロードエラー", "Name cannot be empty" : "名前は空にできません", "Open documentation" : "ドキュメントを開く", "https://…" : "https://…", "Login image" : "ログイン画像", "Upload new login background" : "新しいログイン背景画像をアップロード", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "アップロードしたロゴと色に基づいてfaviconを自動的に生成するには、SVG画像をサポートしているimagemagick PHP拡張をインストールしてください。" + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "アップロードしたロゴと色に基づいてfaviconを自動的に生成するには、SVG画像をサポートしているimagemagick PHP拡張をインストールしてください。", + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "場合によっては、キーボードショートカットがアクセシビリティツールに干渉することがあります。ツールに正しくフォーカスできるようにするために、ここですべてのキーボード ショートカットを無効にできます。この場合、アプリで使用可能なすべてのショートカットも無効になります。", + "Pick from Files" : "ファイルから選択", + "Default image" : "デフォルト背景", + "Custom color" : "カスタム色", + "Plain background" : "シンプルな背景", + "Insert from {productName}" : "{productName} から挿入", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "このサーバーの外観のカスタマイズと画像を変更を変更できますが、さらにユーザーは背景と色を変更できます。外観のカスタマイズを強制する場合は以下のチェック設定をオンにしてください。" }, "nplurals=1; plural=0;"); diff --git a/apps/theming/l10n/ja.json b/apps/theming/l10n/ja.json index 11e64862170..e88fc7f5f12 100644 --- a/apps/theming/l10n/ja.json +++ b/apps/theming/l10n/ja.json @@ -8,6 +8,7 @@ "The given privacy policy address is not a valid URL" : "指定された個人情報保護方針アドレスは有効なURLではありません", "The given slogan is too long" : "スローガンが長すぎます", "The given color is invalid" : "無効な色です", + "Disable-user-theming should be true or false" : "Disable-user-themingは、trueまたはfalseで指定してください", "Saved" : "保存済み", "The file was uploaded" : "ファイルがアップロードされました", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "アップロードファイルサイズが、php.ini の upload_max_filesize を超過しています", @@ -18,22 +19,35 @@ "Could not write file to disk" : "ディスクにファイルを書き込めませんでした", "A PHP extension stopped the file upload" : "PHP拡張でファイルのアップロードが停止されています", "No file uploaded" : "ファイルがアップロードされていません", + "Cleanup old theming cache" : "古いテーマのキャッシュを削除", + "Failed to delete folder: \"%1$s\", error: %2$s" : "フォルダー \"%1$s\" を削除できませんでした。エラー: %2$s", "You are already using a custom theme. Theming app settings might be overwritten by that." : "あなたはすでにカスタムテーマを使用しています。 テーマ設定の設定が上書きされる可能性があります。", "Theming" : "テーマ", "Appearance and accessibility" : "外観とアクセシビリティ", + "Dark theme with high contrast mode" : "ハイコントラストモードのダークテーマ", + "Enable dark high contrast mode" : "ハイコントラストモードのダークテーマを有効化", + "Similar to the high contrast mode, but with dark colours." : "暗い色調でのハイコントラストモード", "Dark theme" : "ダークテーマ", "Enable dark theme" : "ダークテーマを有効にする", + "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "全体的な明度と明るさを下げることで目を楽にする暗い色調のテーマ", + "System default theme" : "システムのデフォルトに合わせたテーマ", + "Enable the system default" : "システムデフォルトを有効化", + "Using the default system appearance." : "デフォルトの外観を利用", "Dyslexia font" : "Dyslexia フォント", "Enable dyslexia font" : "Dyslexia フォントを有効にする", "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexicは、ディスレクシアによって引き起こされる一般的な読み間違いの一部を軽減するためにデザインされた、無料で利用できる書体/フォントです。", "High contrast mode" : "ハイ・コントラストモード", "Enable high contrast mode" : "ハイ・コントラストモードを有効にする。", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "操作をわかりやすくするためのハイ・コントラストモード。\n見た目の美しさは低下しますが、明確さが向上します。", + "Light theme" : "ライトテーマ", + "Enable the default light theme" : "デフォルトの明るいテーマを有効化", + "The default light appearance." : "デフォルトの明るい外観", "Legal notice" : "法的通知", "Privacy policy" : "個人情報保護方針", "Adjust the Nextcloud theme" : "Nextcloudテーマを調整する", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "テーマでは、あなたのインスタンスとサポートされたクライアントのルック&フィールを簡単に変更できます。この変更はすべてのユーザーが対象となります。", "Advanced options" : "詳細オプション", + "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "SVG画像をサポートするPHP拡張機能 ImageMagick をインストールすると、アップロードされたロゴと色に基づいてファビコンを自動生成することができます。", "Name" : "名前", "Web link" : "Webリンク", "a safe home for all your data" : "あなたのすべてのデータを安全に保管する場所", @@ -41,6 +55,8 @@ "Color" : "色", "Logo" : "ロゴ", "Upload new logo" : "新しいロゴをアップロード", + "Background and login image" : "背景とログイン画像", + "Upload new background and login image" : "新しい背景とログイン画像", "Legal notice link" : "法的通知のリンク", "Privacy policy link" : "個人情報保護方針のリンク", "Header logo" : "ヘッダーロゴ", @@ -48,23 +64,37 @@ "Favicon" : "Favicon", "Upload new favicon" : "新しいfaviconをアップロード", "User settings" : "ユーザー設定", + "Disable user theming" : "ユーザー毎のテーマを無効", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "このサーバーの外観のカスタマイズと画像を変更を変更できますが、さらにユーザーは背景と色を変更できます。外観のカスタマイズを強制する場合は以下のチェック設定をオンにしてください。", "Keyboard shortcuts" : "キーボードショートカット", + "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "場合によっては、キーボードショートカットがアクセシビリティツールに干渉することがあります。ツールに正しくフォーカスできるようにするために、ここですべてのキーボード ショートカットを無効にできます。この場合、アプリで使用可能なすべてのショートカットも無効になります。", + "Disable all keyboard shortcuts" : "全てのキーボードショートカットを無効化", "Background" : "背景", + "Customization has been disabled by your administrator" : "カスタマイズは管理者によって無効にされています", + "Set a custom background" : "背景を設定", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "ユニバーサルアクセスは私たちにとって非常に重要なことです。そのためウェブ標準に従い、マウスやスクリーンリーダーなどの支援ソフトウェアが無くても全ての機能をご利用いただけるようにチェックしています。AAAレベルのハイコントラストのテーマを採用することで、{guidelines} Webコンテンツアクセシビリティガイドライン2.1 {linkend} のAAAレベルに準拠することを目指しています。", - "Pick from Files" : "ファイルから選択", - "Custom color" : "カスタム色", - "Plain background" : "シンプルな背景", - "Insert from {productName}" : "{productName} から挿入", + "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "何か問題を見つけた場合は、{issuetracker}私たちの問題トラッカー{linkend}で遠慮なく報告してください。参加したい場合は、{designteam}私たちのデザイン チーム{linkend}に参加してください!", + "Change color" : "色を変える", + "Theme selection is enforced" : "テーマ選択を強制", + "Select a custom color" : "カスタムカラーを選択", "Reset to default" : "デフォルトに戻す", "Upload" : "アップロード", "Remove background image" : "背景画像を削除", "Loading preview…" : "プレビューを読み込み中...", "Admin" : "管理者", + "Error uploading the file" : "ファイルのアップロードエラー", "Name cannot be empty" : "名前は空にできません", "Open documentation" : "ドキュメントを開く", "https://…" : "https://…", "Login image" : "ログイン画像", "Upload new login background" : "新しいログイン背景画像をアップロード", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "アップロードしたロゴと色に基づいてfaviconを自動的に生成するには、SVG画像をサポートしているimagemagick PHP拡張をインストールしてください。" + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "アップロードしたロゴと色に基づいてfaviconを自動的に生成するには、SVG画像をサポートしているimagemagick PHP拡張をインストールしてください。", + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "場合によっては、キーボードショートカットがアクセシビリティツールに干渉することがあります。ツールに正しくフォーカスできるようにするために、ここですべてのキーボード ショートカットを無効にできます。この場合、アプリで使用可能なすべてのショートカットも無効になります。", + "Pick from Files" : "ファイルから選択", + "Default image" : "デフォルト背景", + "Custom color" : "カスタム色", + "Plain background" : "シンプルな背景", + "Insert from {productName}" : "{productName} から挿入", + "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "このサーバーの外観のカスタマイズと画像を変更を変更できますが、さらにユーザーは背景と色を変更できます。外観のカスタマイズを強制する場合は以下のチェック設定をオンにしてください。" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/theming/l10n/ko.js b/apps/theming/l10n/ko.js index 3c29b560592..de74d29c38d 100644 --- a/apps/theming/l10n/ko.js +++ b/apps/theming/l10n/ko.js @@ -19,14 +19,20 @@ OC.L10N.register( "No file uploaded" : "업로드한 파일 없음", "You are already using a custom theme. Theming app settings might be overwritten by that." : "사용자 정의 테마를 사용하고 있습니다. 테마 앱에서 해당 설정을 덮어쓸 수 있습니다.", "Theming" : "테마", + "Appearance and accessibility" : "외형과 접근성", + "Dark theme with high contrast mode" : "고대비 모드의 어두운 테마", "Dark theme" : "어두운 테마", "Enable dark theme" : "어두운 테마 활성화", + "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "어두운 테마는 전체적인 광량을 줄여 사용자의 눈을 편안하게 합니다.", + "System default theme" : "시스템 기본 테마", "Dyslexia font" : "난독증용 글꼴", "Enable dyslexia font" : "난독증용 글꼴 활성화", "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic은 난독증 때문에 읽기에 문제가 있는 사람들을 위해 디자인된 자유 글꼴입니다.", "High contrast mode" : "고대비 모드", "Enable high contrast mode" : "고대비 모드 활성화", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "쉬운 탐색을 위한 고대비 테마입니다. 색감이 나빠지지만 더 선명해집니다.", + "Light theme" : "밝은 테마", + "Enable the default light theme" : "기본 밝은 테마 활성화", "Legal notice" : "법적 고지", "Privacy policy" : "개인 정보 취급 방침", "Adjust the Nextcloud theme" : "Nextcloud 테마 사용자 정의", @@ -48,10 +54,10 @@ OC.L10N.register( "User settings" : "사용자 설정", "Keyboard shortcuts" : "키보드 단축키", "Background" : "배경", - "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "웹 접근성은 매우 중요합니다. 저희는 웹 표준을 준수하고 모든것을 마우스 없이 스크린 리더와 같은 접근성 프로그램을 사용할 수 사용할 수 있도록 합니다. 저희는 {guidelines}웹 컨텐츠 접근성 가이드라인{linkend} 2.1 을 AA레벨에서, 고 대비 테마와 같이 적용한 AAA레벨에서 조차도 준수하는 것을 노력하고있습니다.", - "Pick from Files" : "파일로부터 선택", - "Plain background" : "일반 배경", - "Insert from {productName}" : "{productName}로부터 삽입", + "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "보편적 접근성은 매우 중요합니다. 저희는 웹 표준을 준수하며, 마우스 혹은 스크린리더와 같은 보조 소프트웨어 없이도 정상적인 사용이 가능한지에 대해 확인하고 있습니다. 또한, {guidelines}웹 컨텐츠 접근성 가이드라인{linkend} 2.1을 AA 수준 및 AAA 수준의 고대비 테마에서 준수하기 위해 노력하고 있습니다. ", + "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "사용 중 문제가 발생했을 경우, {issuetracker}이슈 트래커{linkend}에 보고해주시기 바랍니다. 또한 디자인 부분에 참여하고 싶다면, {designteam}저희 디자인 팀{linkend}과 함께해주세요!", + "Change color" : "색깔 바꾸기", + "Theme selection is enforced" : "테마가 강제로 선택됨", "Reset to default" : "기본값으로 초기화", "Upload" : "업로드", "Remove background image" : "배경 그림 삭제", @@ -62,6 +68,9 @@ OC.L10N.register( "https://…" : "https://…", "Login image" : "로그인 그림", "Upload new login background" : "새 로그인 배경 업로드", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "업로드한 로고와 색으로부터 자동으로 파비콘을 생성하려면 PHP Imagemagick 확장 기능 및 SVG 형식 그림 지원을 설치하십시오." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "업로드한 로고와 색으로부터 자동으로 파비콘을 생성하려면 PHP Imagemagick 확장 기능 및 SVG 형식 그림 지원을 설치하십시오.", + "Pick from Files" : "파일로부터 선택", + "Plain background" : "일반 배경", + "Insert from {productName}" : "{productName}로부터 삽입" }, "nplurals=1; plural=0;"); diff --git a/apps/theming/l10n/ko.json b/apps/theming/l10n/ko.json index d2022bb277e..c923c37ac9f 100644 --- a/apps/theming/l10n/ko.json +++ b/apps/theming/l10n/ko.json @@ -17,14 +17,20 @@ "No file uploaded" : "업로드한 파일 없음", "You are already using a custom theme. Theming app settings might be overwritten by that." : "사용자 정의 테마를 사용하고 있습니다. 테마 앱에서 해당 설정을 덮어쓸 수 있습니다.", "Theming" : "테마", + "Appearance and accessibility" : "외형과 접근성", + "Dark theme with high contrast mode" : "고대비 모드의 어두운 테마", "Dark theme" : "어두운 테마", "Enable dark theme" : "어두운 테마 활성화", + "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "어두운 테마는 전체적인 광량을 줄여 사용자의 눈을 편안하게 합니다.", + "System default theme" : "시스템 기본 테마", "Dyslexia font" : "난독증용 글꼴", "Enable dyslexia font" : "난독증용 글꼴 활성화", "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic은 난독증 때문에 읽기에 문제가 있는 사람들을 위해 디자인된 자유 글꼴입니다.", "High contrast mode" : "고대비 모드", "Enable high contrast mode" : "고대비 모드 활성화", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "쉬운 탐색을 위한 고대비 테마입니다. 색감이 나빠지지만 더 선명해집니다.", + "Light theme" : "밝은 테마", + "Enable the default light theme" : "기본 밝은 테마 활성화", "Legal notice" : "법적 고지", "Privacy policy" : "개인 정보 취급 방침", "Adjust the Nextcloud theme" : "Nextcloud 테마 사용자 정의", @@ -46,10 +52,10 @@ "User settings" : "사용자 설정", "Keyboard shortcuts" : "키보드 단축키", "Background" : "배경", - "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "웹 접근성은 매우 중요합니다. 저희는 웹 표준을 준수하고 모든것을 마우스 없이 스크린 리더와 같은 접근성 프로그램을 사용할 수 사용할 수 있도록 합니다. 저희는 {guidelines}웹 컨텐츠 접근성 가이드라인{linkend} 2.1 을 AA레벨에서, 고 대비 테마와 같이 적용한 AAA레벨에서 조차도 준수하는 것을 노력하고있습니다.", - "Pick from Files" : "파일로부터 선택", - "Plain background" : "일반 배경", - "Insert from {productName}" : "{productName}로부터 삽입", + "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "보편적 접근성은 매우 중요합니다. 저희는 웹 표준을 준수하며, 마우스 혹은 스크린리더와 같은 보조 소프트웨어 없이도 정상적인 사용이 가능한지에 대해 확인하고 있습니다. 또한, {guidelines}웹 컨텐츠 접근성 가이드라인{linkend} 2.1을 AA 수준 및 AAA 수준의 고대비 테마에서 준수하기 위해 노력하고 있습니다. ", + "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "사용 중 문제가 발생했을 경우, {issuetracker}이슈 트래커{linkend}에 보고해주시기 바랍니다. 또한 디자인 부분에 참여하고 싶다면, {designteam}저희 디자인 팀{linkend}과 함께해주세요!", + "Change color" : "색깔 바꾸기", + "Theme selection is enforced" : "테마가 강제로 선택됨", "Reset to default" : "기본값으로 초기화", "Upload" : "업로드", "Remove background image" : "배경 그림 삭제", @@ -60,6 +66,9 @@ "https://…" : "https://…", "Login image" : "로그인 그림", "Upload new login background" : "새 로그인 배경 업로드", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "업로드한 로고와 색으로부터 자동으로 파비콘을 생성하려면 PHP Imagemagick 확장 기능 및 SVG 형식 그림 지원을 설치하십시오." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "업로드한 로고와 색으로부터 자동으로 파비콘을 생성하려면 PHP Imagemagick 확장 기능 및 SVG 형식 그림 지원을 설치하십시오.", + "Pick from Files" : "파일로부터 선택", + "Plain background" : "일반 배경", + "Insert from {productName}" : "{productName}로부터 삽입" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/theming/l10n/lt_LT.js b/apps/theming/l10n/lt_LT.js index b2bb65c2bfc..904df65b840 100644 --- a/apps/theming/l10n/lt_LT.js +++ b/apps/theming/l10n/lt_LT.js @@ -63,11 +63,7 @@ OC.L10N.register( "Background" : "Fonas", "Set a custom background" : "Nustatyti tinkintą foną", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Mums universalioji prieiga yra labai svarbi. Mes sekame saityno standartus ir stengiamės, kad būtų galima viskuobe pelės ir pagalbinės programinės įrangos, tokios kaip ekrano skaitytuvė. Stengiamės atitikti {guidelines}Saityno turinio prieinamumo gairėms{linkend} 2.1 pagal AA lygmenį, o su didelio kontrasto apipavidalinimu netgi pagal AAA lygmenį.", - "Pick from Files" : "Pasirinkti iš Failų", - "Default image" : "Numatytasis paveikslas", - "Custom color" : "Tinkinta spalva", - "Plain background" : "Vientisas fonas", - "Insert from {productName}" : "Įterpti iš {productName}", + "Change color" : "Keisti spalvą", "Reset to default" : "Atstatyti į numatytąjį", "Upload" : "Įkelti", "Remove background image" : "Šalinti foninį paveikslą", @@ -78,6 +74,11 @@ OC.L10N.register( "https://…" : "https://…", "Login image" : "Prisijungimo paveikslas", "Upload new login background" : "Įkelti naują prisijungimo foną", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Norėdami automatiškai generuoti svetainės piktogramą remiantis įkeltu logotipu ir spalva, įdiekite Imagemagick PHP plėtinį su SVG paveikslų palaikymu." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Norėdami automatiškai generuoti svetainės piktogramą remiantis įkeltu logotipu ir spalva, įdiekite Imagemagick PHP plėtinį su SVG paveikslų palaikymu.", + "Pick from Files" : "Pasirinkti iš Failų", + "Default image" : "Numatytasis paveikslas", + "Custom color" : "Tinkinta spalva", + "Plain background" : "Vientisas fonas", + "Insert from {productName}" : "Įterpti iš {productName}" }, "nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"); diff --git a/apps/theming/l10n/lt_LT.json b/apps/theming/l10n/lt_LT.json index 563635a4c76..6fa004d1b83 100644 --- a/apps/theming/l10n/lt_LT.json +++ b/apps/theming/l10n/lt_LT.json @@ -61,11 +61,7 @@ "Background" : "Fonas", "Set a custom background" : "Nustatyti tinkintą foną", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Mums universalioji prieiga yra labai svarbi. Mes sekame saityno standartus ir stengiamės, kad būtų galima viskuobe pelės ir pagalbinės programinės įrangos, tokios kaip ekrano skaitytuvė. Stengiamės atitikti {guidelines}Saityno turinio prieinamumo gairėms{linkend} 2.1 pagal AA lygmenį, o su didelio kontrasto apipavidalinimu netgi pagal AAA lygmenį.", - "Pick from Files" : "Pasirinkti iš Failų", - "Default image" : "Numatytasis paveikslas", - "Custom color" : "Tinkinta spalva", - "Plain background" : "Vientisas fonas", - "Insert from {productName}" : "Įterpti iš {productName}", + "Change color" : "Keisti spalvą", "Reset to default" : "Atstatyti į numatytąjį", "Upload" : "Įkelti", "Remove background image" : "Šalinti foninį paveikslą", @@ -76,6 +72,11 @@ "https://…" : "https://…", "Login image" : "Prisijungimo paveikslas", "Upload new login background" : "Įkelti naują prisijungimo foną", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Norėdami automatiškai generuoti svetainės piktogramą remiantis įkeltu logotipu ir spalva, įdiekite Imagemagick PHP plėtinį su SVG paveikslų palaikymu." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Norėdami automatiškai generuoti svetainės piktogramą remiantis įkeltu logotipu ir spalva, įdiekite Imagemagick PHP plėtinį su SVG paveikslų palaikymu.", + "Pick from Files" : "Pasirinkti iš Failų", + "Default image" : "Numatytasis paveikslas", + "Custom color" : "Tinkinta spalva", + "Plain background" : "Vientisas fonas", + "Insert from {productName}" : "Įterpti iš {productName}" },"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);" }
\ No newline at end of file diff --git a/apps/theming/l10n/mk.js b/apps/theming/l10n/mk.js index 3b5a30096ea..5a89b8361ba 100644 --- a/apps/theming/l10n/mk.js +++ b/apps/theming/l10n/mk.js @@ -20,8 +20,10 @@ OC.L10N.register( "Could not write file to disk" : "Неможе да се запишува на дискот", "A PHP extension stopped the file upload" : "PHP додаток го стопираше прикачувањето на датотеката", "No file uploaded" : "Нема прикачено дадотека", + "Failed to delete folder: \"%1$s\", error: %2$s" : "Неуспешно бришење на папката: \"%1$s\", грешка: %2$s", "You are already using a custom theme. Theming app settings might be overwritten by that." : "Веќе користите сопствена тема. Апликацијата за сопствена тема може да ја пребрише истата.", "Theming" : "Теми", + "Appearance and accessibility" : "Изглед и пристапност", "Dark theme" : "Темна тема", "Enable dark theme" : "Овозможи темна тема", "Dyslexia font" : "Фонт за дислексија", @@ -30,6 +32,7 @@ OC.L10N.register( "High contrast mode" : "Режим на висок контраст", "Enable high contrast mode" : "Овозможи режим на висок контраст", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Режим со висок контраст за олеснување на навигацијата. Визуелниот квалитет ќе се намали, но јасноста ќе се зголеми.", + "Light theme" : "Светла тема", "Legal notice" : "Правно известување", "Privacy policy" : "Политика за приватност", "Adjust the Nextcloud theme" : "Прилагодување на темата за Nextcloud", @@ -42,28 +45,45 @@ OC.L10N.register( "Color" : "Боја", "Logo" : "Лого", "Upload new logo" : "Прикачи ново лого", + "Background and login image" : "Позадина и слика на страната за најавување", + "Upload new background and login image" : "Прикачи нова позадина и слика на страната за најавување", "Legal notice link" : "Правно известување", "Privacy policy link" : "Политика за приватност", "Header logo" : "Лого на заглавие", "Upload new header logo" : "Прикачи ново лого на заглавие", "Favicon" : "Фавикон", "Upload new favicon" : "Прикачи нов Фавикон", + "User settings" : "Кориснички параметри", + "Disable user theming" : "Оневозможи кориснички теми", "Keyboard shortcuts" : "Кратенки преку тастатура", + "Disable all keyboard shortcuts" : "Оневозможи ги сите кратенки преку тастатурата", + "Background" : "Позадина", + "Customization has been disabled by your administrator" : "Уредувањето е оневозможено од администраторот", + "Set a custom background" : "Постави позадина", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Универзалниот пристап е многу важен за нас. Ние ги следиме веб-стандардите и ги имплементираме за да го направиме користењето попристапно, како користење без маус, и помошни апликации за читање на екранот. Наша цел е да бидеме во согласност со {guidelines} {linkend}2.1 на ниво АА, со висока контрастна тема дури и на ниво на ААА.", - "Pick from Files" : "Избери од датотеките", - "Custom color" : "Прилагодена боја", - "Plain background" : "Обична позадина", - "Insert from {productName}" : "Вметнни од {productName}", + "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Доколку наидете на некој проблем, не се двоумете и пријавете го на {issuetracker} {linkend}. И доколку сакате можете да се приклучите кон нашиот {designteam} {linkend}!", + "Custom background" : "Сопствена позадина", + "Default background" : "Стандардна позадина", + "Change color" : "Промени боја", + "Remove background" : "Избриши ја позадината", + "Select a background from your files" : "Избери позадина од датотеките", + "Select a custom color" : "Избери боја", "Reset to default" : "Ресетирај на стандардно", "Upload" : "Прикачи", "Remove background image" : "Избриши ја позадинската слика", "Loading preview…" : "Се вчитува прегледот...", "Admin" : "Администратор", + "Error uploading the file" : "Грешка при прикачување на датотеката", "Name cannot be empty" : "Името неможе да биде празно", "Open documentation" : "Отвори ја документацијата", "https://…" : "https://…", "Login image" : "Слика на најава", "Upload new login background" : "Прикачи нова слика за позадина на најавната страница", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Инсталирај Imagemagick додаток за PHP со што ќе се овозможи поддршка за SVG сликите автоматски да генерираат Фавикон базирано на прикаченото лого и боја." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Инсталирај Imagemagick додаток за PHP со што ќе се овозможи поддршка за SVG сликите автоматски да генерираат Фавикон базирано на прикаченото лого и боја.", + "Pick from Files" : "Избери од датотеките", + "Default image" : "Стандардна слика", + "Custom color" : "Прилагодена боја", + "Plain background" : "Обична позадина", + "Insert from {productName}" : "Вметнни од {productName}" }, "nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"); diff --git a/apps/theming/l10n/mk.json b/apps/theming/l10n/mk.json index 92a729bbaa9..b34539d3f73 100644 --- a/apps/theming/l10n/mk.json +++ b/apps/theming/l10n/mk.json @@ -18,8 +18,10 @@ "Could not write file to disk" : "Неможе да се запишува на дискот", "A PHP extension stopped the file upload" : "PHP додаток го стопираше прикачувањето на датотеката", "No file uploaded" : "Нема прикачено дадотека", + "Failed to delete folder: \"%1$s\", error: %2$s" : "Неуспешно бришење на папката: \"%1$s\", грешка: %2$s", "You are already using a custom theme. Theming app settings might be overwritten by that." : "Веќе користите сопствена тема. Апликацијата за сопствена тема може да ја пребрише истата.", "Theming" : "Теми", + "Appearance and accessibility" : "Изглед и пристапност", "Dark theme" : "Темна тема", "Enable dark theme" : "Овозможи темна тема", "Dyslexia font" : "Фонт за дислексија", @@ -28,6 +30,7 @@ "High contrast mode" : "Режим на висок контраст", "Enable high contrast mode" : "Овозможи режим на висок контраст", "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Режим со висок контраст за олеснување на навигацијата. Визуелниот квалитет ќе се намали, но јасноста ќе се зголеми.", + "Light theme" : "Светла тема", "Legal notice" : "Правно известување", "Privacy policy" : "Политика за приватност", "Adjust the Nextcloud theme" : "Прилагодување на темата за Nextcloud", @@ -40,28 +43,45 @@ "Color" : "Боја", "Logo" : "Лого", "Upload new logo" : "Прикачи ново лого", + "Background and login image" : "Позадина и слика на страната за најавување", + "Upload new background and login image" : "Прикачи нова позадина и слика на страната за најавување", "Legal notice link" : "Правно известување", "Privacy policy link" : "Политика за приватност", "Header logo" : "Лого на заглавие", "Upload new header logo" : "Прикачи ново лого на заглавие", "Favicon" : "Фавикон", "Upload new favicon" : "Прикачи нов Фавикон", + "User settings" : "Кориснички параметри", + "Disable user theming" : "Оневозможи кориснички теми", "Keyboard shortcuts" : "Кратенки преку тастатура", + "Disable all keyboard shortcuts" : "Оневозможи ги сите кратенки преку тастатурата", + "Background" : "Позадина", + "Customization has been disabled by your administrator" : "Уредувањето е оневозможено од администраторот", + "Set a custom background" : "Постави позадина", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Универзалниот пристап е многу важен за нас. Ние ги следиме веб-стандардите и ги имплементираме за да го направиме користењето попристапно, како користење без маус, и помошни апликации за читање на екранот. Наша цел е да бидеме во согласност со {guidelines} {linkend}2.1 на ниво АА, со висока контрастна тема дури и на ниво на ААА.", - "Pick from Files" : "Избери од датотеките", - "Custom color" : "Прилагодена боја", - "Plain background" : "Обична позадина", - "Insert from {productName}" : "Вметнни од {productName}", + "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Доколку наидете на некој проблем, не се двоумете и пријавете го на {issuetracker} {linkend}. И доколку сакате можете да се приклучите кон нашиот {designteam} {linkend}!", + "Custom background" : "Сопствена позадина", + "Default background" : "Стандардна позадина", + "Change color" : "Промени боја", + "Remove background" : "Избриши ја позадината", + "Select a background from your files" : "Избери позадина од датотеките", + "Select a custom color" : "Избери боја", "Reset to default" : "Ресетирај на стандардно", "Upload" : "Прикачи", "Remove background image" : "Избриши ја позадинската слика", "Loading preview…" : "Се вчитува прегледот...", "Admin" : "Администратор", + "Error uploading the file" : "Грешка при прикачување на датотеката", "Name cannot be empty" : "Името неможе да биде празно", "Open documentation" : "Отвори ја документацијата", "https://…" : "https://…", "Login image" : "Слика на најава", "Upload new login background" : "Прикачи нова слика за позадина на најавната страница", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Инсталирај Imagemagick додаток за PHP со што ќе се овозможи поддршка за SVG сликите автоматски да генерираат Фавикон базирано на прикаченото лого и боја." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Инсталирај Imagemagick додаток за PHP со што ќе се овозможи поддршка за SVG сликите автоматски да генерираат Фавикон базирано на прикаченото лого и боја.", + "Pick from Files" : "Избери од датотеките", + "Default image" : "Стандардна слика", + "Custom color" : "Прилагодена боја", + "Plain background" : "Обична позадина", + "Insert from {productName}" : "Вметнни од {productName}" },"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;" }
\ No newline at end of file diff --git a/apps/theming/l10n/nb.js b/apps/theming/l10n/nb.js index 325405fafe4..2652e64b522 100644 --- a/apps/theming/l10n/nb.js +++ b/apps/theming/l10n/nb.js @@ -51,10 +51,7 @@ OC.L10N.register( "User settings" : "Brukerinnstillinger", "Keyboard shortcuts" : "Tastatursnarveier", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universell utforming er viktig for oss. Vi følger web-standarder og tester for full funksjonalitet, både uten mus og med hjelpeprogrammer, slik som skjermlesere. Vi etterstreber å følge {guidelines}Retningslinjer for tilgjengelighet på nettsider{linkend} 2.1 på nivå AA, og med temaet for høy kontrast også nivå AAA.", - "Pick from Files" : "Velg fra Filer", - "Custom color" : "Tilpasset farge", - "Plain background" : "Ensfarget bakgrunn", - "Insert from {productName}" : "Sett inn fra {productName}", + "Change color" : "Endre farge", "Reset to default" : "Tilbakestill til standard", "Upload" : "Last opp", "Remove background image" : "Fjern bakgrunnsbilde", @@ -65,6 +62,10 @@ OC.L10N.register( "https://…" : "https://…", "Login image" : "Innloggingsbilde", "Upload new login background" : "Last opp ny innloggingsbakgrunn", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer PHP-utvidelsen Imagemagick med støtte for SVG-bilder for å opprette favikoner automatisk basert på opplastet logo og farge." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer PHP-utvidelsen Imagemagick med støtte for SVG-bilder for å opprette favikoner automatisk basert på opplastet logo og farge.", + "Pick from Files" : "Velg fra Filer", + "Custom color" : "Tilpasset farge", + "Plain background" : "Ensfarget bakgrunn", + "Insert from {productName}" : "Sett inn fra {productName}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/nb.json b/apps/theming/l10n/nb.json index cea6eb9c0bb..0df91803f10 100644 --- a/apps/theming/l10n/nb.json +++ b/apps/theming/l10n/nb.json @@ -49,10 +49,7 @@ "User settings" : "Brukerinnstillinger", "Keyboard shortcuts" : "Tastatursnarveier", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universell utforming er viktig for oss. Vi følger web-standarder og tester for full funksjonalitet, både uten mus og med hjelpeprogrammer, slik som skjermlesere. Vi etterstreber å følge {guidelines}Retningslinjer for tilgjengelighet på nettsider{linkend} 2.1 på nivå AA, og med temaet for høy kontrast også nivå AAA.", - "Pick from Files" : "Velg fra Filer", - "Custom color" : "Tilpasset farge", - "Plain background" : "Ensfarget bakgrunn", - "Insert from {productName}" : "Sett inn fra {productName}", + "Change color" : "Endre farge", "Reset to default" : "Tilbakestill til standard", "Upload" : "Last opp", "Remove background image" : "Fjern bakgrunnsbilde", @@ -63,6 +60,10 @@ "https://…" : "https://…", "Login image" : "Innloggingsbilde", "Upload new login background" : "Last opp ny innloggingsbakgrunn", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer PHP-utvidelsen Imagemagick med støtte for SVG-bilder for å opprette favikoner automatisk basert på opplastet logo og farge." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer PHP-utvidelsen Imagemagick med støtte for SVG-bilder for å opprette favikoner automatisk basert på opplastet logo og farge.", + "Pick from Files" : "Velg fra Filer", + "Custom color" : "Tilpasset farge", + "Plain background" : "Ensfarget bakgrunn", + "Insert from {productName}" : "Sett inn fra {productName}" },"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 42c6b34d0ba..5d372110b99 100644 --- a/apps/theming/l10n/nl.js +++ b/apps/theming/l10n/nl.js @@ -73,11 +73,7 @@ OC.L10N.register( "Set a custom background" : "Stel persoonlijke achtergrond in", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universele toegang is heel belangrijk voor ons. We volgen webstandaarden en controleren dat alles ook zonder muis en met ondersteunende software zoals schermlezers bruikbaar is. We streven om de {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 op AA-niveau te volgen, en met het hoge contrast thema zelfs op AAA-niveau.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Als je problemen tegenkomt, aarzel dan niet om deze te rapporteren op {issuetracker}onze issue tracker{linkend}. En als je betrokken wilt raken, word dan lid van {designteam}ons designteam{linkend}!", - "Pick from Files" : "Kies uit Bestanden", - "Default image" : "Standaard afbeelding", - "Custom color" : "Kleur op maat", - "Plain background" : "Kale achtergrond", - "Insert from {productName}" : "Invoegen vanuit {productName}", + "Change color" : "Wijzigen kleur", "Theme selection is enforced" : "Themaselectie is afgedwongen", "Reset to default" : "Herstellen naar standaard", "Upload" : "Uploaden", @@ -92,6 +88,11 @@ OC.L10N.register( "Upload new login background" : "Uploaden nieuwe inlog achtergrond", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installeer de Imagemagick PHP extensie met ondersteuning voor SVG afbeeldingen om automatisch favicons te genereren op basis van het geuploade logo en kleur.", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In sommige gevallen grijpen sneltoetsen in op de werking van toegankelijkheidstools. Om correct op uw hulpmiddel te kunnen concentreren, kunt u hier alle sneltoetsen uitschakelen. Dit zal ook alle beschikbare sneltoetsen in apps uitschakelen.", + "Pick from Files" : "Kies uit Bestanden", + "Default image" : "Standaard afbeelding", + "Custom color" : "Kleur op maat", + "Plain background" : "Kale achtergrond", + "Insert from {productName}" : "Invoegen vanuit {productName}", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Hoewel u uw instantie kunt selecteren en aanpassen, kunnen gebruikers hun achtergrond en kleuren wijzigen. Als je jouw maatwerk wilt afdwingen, kun je dit vakje aanvinken." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/nl.json b/apps/theming/l10n/nl.json index b163e8e1b60..8348f567bb1 100644 --- a/apps/theming/l10n/nl.json +++ b/apps/theming/l10n/nl.json @@ -71,11 +71,7 @@ "Set a custom background" : "Stel persoonlijke achtergrond in", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universele toegang is heel belangrijk voor ons. We volgen webstandaarden en controleren dat alles ook zonder muis en met ondersteunende software zoals schermlezers bruikbaar is. We streven om de {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 op AA-niveau te volgen, en met het hoge contrast thema zelfs op AAA-niveau.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Als je problemen tegenkomt, aarzel dan niet om deze te rapporteren op {issuetracker}onze issue tracker{linkend}. En als je betrokken wilt raken, word dan lid van {designteam}ons designteam{linkend}!", - "Pick from Files" : "Kies uit Bestanden", - "Default image" : "Standaard afbeelding", - "Custom color" : "Kleur op maat", - "Plain background" : "Kale achtergrond", - "Insert from {productName}" : "Invoegen vanuit {productName}", + "Change color" : "Wijzigen kleur", "Theme selection is enforced" : "Themaselectie is afgedwongen", "Reset to default" : "Herstellen naar standaard", "Upload" : "Uploaden", @@ -90,6 +86,11 @@ "Upload new login background" : "Uploaden nieuwe inlog achtergrond", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installeer de Imagemagick PHP extensie met ondersteuning voor SVG afbeeldingen om automatisch favicons te genereren op basis van het geuploade logo en kleur.", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In sommige gevallen grijpen sneltoetsen in op de werking van toegankelijkheidstools. Om correct op uw hulpmiddel te kunnen concentreren, kunt u hier alle sneltoetsen uitschakelen. Dit zal ook alle beschikbare sneltoetsen in apps uitschakelen.", + "Pick from Files" : "Kies uit Bestanden", + "Default image" : "Standaard afbeelding", + "Custom color" : "Kleur op maat", + "Plain background" : "Kale achtergrond", + "Insert from {productName}" : "Invoegen vanuit {productName}", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Hoewel u uw instantie kunt selecteren en aanpassen, kunnen gebruikers hun achtergrond en kleuren wijzigen. Als je jouw maatwerk wilt afdwingen, kun je dit vakje aanvinken." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/pl.js b/apps/theming/l10n/pl.js index 8588e01f21e..d2f61311b45 100644 --- a/apps/theming/l10n/pl.js +++ b/apps/theming/l10n/pl.js @@ -76,11 +76,11 @@ OC.L10N.register( "Set a custom background" : "Ustaw niestandardowe tło", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Uniwersalny dostęp jest dla nas bardzo ważny. Przestrzegamy standardów internetowych i sprawdzamy, aby wszystko było użyteczne również bez myszy i oprogramowania pomocniczego, takiego jak czytniki ekranu. Naszym celem jest zgodność z {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 na poziomie AA, z motywem o wysokim kontraście nawet na poziomie AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Jeśli znajdziesz jakieś problemy, nie wahaj się zgłosić je na {issuetracker}listę błędów{linkend}. A jeśli chcesz się zaangażować, dołącz do {designteam}naszego zespołu projektowego{linkend}!", - "Pick from Files" : "Wybierz z Plików", - "Default image" : "Obraz domyślny", - "Custom color" : "Kolor niestandardowy", - "Plain background" : "Zwykłe tło", - "Insert from {productName}" : "Wstaw z {productName}", + "Custom background" : "Tło niestandardowe", + "Default background" : "Tło domyślne", + "Change color" : "Zmień kolor", + "Remove background" : "Usuń tło", + "Select a background from your files" : "Wybierz tło ze swoich Plików", "Theme selection is enforced" : "Wybór motywu jest wymuszony", "Select a custom color" : "Wybierz kolor niestandardowy", "Reset to default" : "Przywróć domyślne", @@ -96,6 +96,11 @@ OC.L10N.register( "Upload new login background" : "Wyślij nowe tło logowania", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Zainstaluj rozszerzenie Imagemagick PHP z obsługą obrazów SVG, aby automatycznie generować favicony w oparciu o wysłane logo i kolor.", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "W niektórych przypadkach skróty klawiaturowe mogą kolidować z narzędziami ułatwień dostępu. Aby umożliwić prawidłowe skupienie się na narzędziu, możesz tutaj wyłączyć wszystkie skróty klawiaturowe. Spowoduje to również wyłączenie wszystkich dostępnych skrótów w aplikacjach.", + "Pick from Files" : "Wybierz z Plików", + "Default image" : "Obraz domyślny", + "Custom color" : "Kolor niestandardowy", + "Plain background" : "Zwykłe tło", + "Insert from {productName}" : "Wstaw z {productName}", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Mimo że możesz wybrać i dostosować swoją instancję, użytkownicy mogą zmieniać swoje tło i kolory. Jeśli chcesz wymusić dostosowanie, możesz zaznaczyć to pole." }, "nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"); diff --git a/apps/theming/l10n/pl.json b/apps/theming/l10n/pl.json index 34cb7ebe693..e5a3527f662 100644 --- a/apps/theming/l10n/pl.json +++ b/apps/theming/l10n/pl.json @@ -74,11 +74,11 @@ "Set a custom background" : "Ustaw niestandardowe tło", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Uniwersalny dostęp jest dla nas bardzo ważny. Przestrzegamy standardów internetowych i sprawdzamy, aby wszystko było użyteczne również bez myszy i oprogramowania pomocniczego, takiego jak czytniki ekranu. Naszym celem jest zgodność z {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 na poziomie AA, z motywem o wysokim kontraście nawet na poziomie AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Jeśli znajdziesz jakieś problemy, nie wahaj się zgłosić je na {issuetracker}listę błędów{linkend}. A jeśli chcesz się zaangażować, dołącz do {designteam}naszego zespołu projektowego{linkend}!", - "Pick from Files" : "Wybierz z Plików", - "Default image" : "Obraz domyślny", - "Custom color" : "Kolor niestandardowy", - "Plain background" : "Zwykłe tło", - "Insert from {productName}" : "Wstaw z {productName}", + "Custom background" : "Tło niestandardowe", + "Default background" : "Tło domyślne", + "Change color" : "Zmień kolor", + "Remove background" : "Usuń tło", + "Select a background from your files" : "Wybierz tło ze swoich Plików", "Theme selection is enforced" : "Wybór motywu jest wymuszony", "Select a custom color" : "Wybierz kolor niestandardowy", "Reset to default" : "Przywróć domyślne", @@ -94,6 +94,11 @@ "Upload new login background" : "Wyślij nowe tło logowania", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Zainstaluj rozszerzenie Imagemagick PHP z obsługą obrazów SVG, aby automatycznie generować favicony w oparciu o wysłane logo i kolor.", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "W niektórych przypadkach skróty klawiaturowe mogą kolidować z narzędziami ułatwień dostępu. Aby umożliwić prawidłowe skupienie się na narzędziu, możesz tutaj wyłączyć wszystkie skróty klawiaturowe. Spowoduje to również wyłączenie wszystkich dostępnych skrótów w aplikacjach.", + "Pick from Files" : "Wybierz z Plików", + "Default image" : "Obraz domyślny", + "Custom color" : "Kolor niestandardowy", + "Plain background" : "Zwykłe tło", + "Insert from {productName}" : "Wstaw z {productName}", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Mimo że możesz wybrać i dostosować swoją instancję, użytkownicy mogą zmieniać swoje tło i kolory. Jeśli chcesz wymusić dostosowanie, możesz zaznaczyć to pole." },"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);" }
\ No newline at end of file diff --git a/apps/theming/l10n/pt_BR.js b/apps/theming/l10n/pt_BR.js index 59150c02138..40841d539b7 100644 --- a/apps/theming/l10n/pt_BR.js +++ b/apps/theming/l10n/pt_BR.js @@ -73,11 +73,7 @@ OC.L10N.register( "Set a custom background" : "Defina um plano de fundo personalizado", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "O acesso universal é muito importante para nós. Seguimos os padrões da web e nos certificamos de tornar tudo utilizável também sem mouse e software auxiliar, como leitores de tela. Nosso objetivo é estar em conformidade com as {guidelines}Diretrizes de Acessibilidade para Conteúdo da Web{linkend} 2.1 no nível AA, com o tema de alto contraste, mesmo no nível AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Se você encontrar algum problema, não hesite em denunciá-lo em {issuetracker}nosso rastreador de problemas{linkend}. E se você quiser se envolver, junte-se a {designteam}nossa equipe de design{linkend}!", - "Pick from Files" : "Escolher de Arquivos", - "Default image" : "Imagem padrão", - "Custom color" : "Cor personalizada", - "Plain background" : "Fundo simples", - "Insert from {productName}" : "Inserir de {productName}", + "Change color" : "Trocar a cor", "Theme selection is enforced" : "A seleção do tema é aplicada", "Reset to default" : "Redefinir para o padrão", "Upload" : "Enviar", @@ -92,6 +88,11 @@ OC.L10N.register( "Upload new login background" : "Enviar nova imagem de fundo para o login", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP Imagemagick com suporte a imagens SVG para gerar favicons automaticamente, com base no logotipo e na cor enviados.", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Em alguns casos, os atalhos de teclado podem interferir nas ferramentas de acessibilidade. Para permitir o foco em sua ferramenta corretamente, você pode desativar todos os atalhos de teclado aqui. Isso também desativará todos os atalhos disponíveis nos aplicativos.", + "Pick from Files" : "Escolher de Arquivos", + "Default image" : "Imagem padrão", + "Custom color" : "Cor personalizada", + "Plain background" : "Fundo simples", + "Insert from {productName}" : "Inserir de {productName}", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Embora você possa selecionar e personalizar sua instância, os usuários podem alterar o plano de fundo e as cores. Se você quiser impor sua personalização, marque esta caixa." }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/theming/l10n/pt_BR.json b/apps/theming/l10n/pt_BR.json index 9cb325f844e..3c71e6826f8 100644 --- a/apps/theming/l10n/pt_BR.json +++ b/apps/theming/l10n/pt_BR.json @@ -71,11 +71,7 @@ "Set a custom background" : "Defina um plano de fundo personalizado", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "O acesso universal é muito importante para nós. Seguimos os padrões da web e nos certificamos de tornar tudo utilizável também sem mouse e software auxiliar, como leitores de tela. Nosso objetivo é estar em conformidade com as {guidelines}Diretrizes de Acessibilidade para Conteúdo da Web{linkend} 2.1 no nível AA, com o tema de alto contraste, mesmo no nível AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Se você encontrar algum problema, não hesite em denunciá-lo em {issuetracker}nosso rastreador de problemas{linkend}. E se você quiser se envolver, junte-se a {designteam}nossa equipe de design{linkend}!", - "Pick from Files" : "Escolher de Arquivos", - "Default image" : "Imagem padrão", - "Custom color" : "Cor personalizada", - "Plain background" : "Fundo simples", - "Insert from {productName}" : "Inserir de {productName}", + "Change color" : "Trocar a cor", "Theme selection is enforced" : "A seleção do tema é aplicada", "Reset to default" : "Redefinir para o padrão", "Upload" : "Enviar", @@ -90,6 +86,11 @@ "Upload new login background" : "Enviar nova imagem de fundo para o login", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP Imagemagick com suporte a imagens SVG para gerar favicons automaticamente, com base no logotipo e na cor enviados.", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Em alguns casos, os atalhos de teclado podem interferir nas ferramentas de acessibilidade. Para permitir o foco em sua ferramenta corretamente, você pode desativar todos os atalhos de teclado aqui. Isso também desativará todos os atalhos disponíveis nos aplicativos.", + "Pick from Files" : "Escolher de Arquivos", + "Default image" : "Imagem padrão", + "Custom color" : "Cor personalizada", + "Plain background" : "Fundo simples", + "Insert from {productName}" : "Inserir de {productName}", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Embora você possa selecionar e personalizar sua instância, os usuários podem alterar o plano de fundo e as cores. Se você quiser impor sua personalização, marque esta caixa." },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/theming/l10n/pt_PT.js b/apps/theming/l10n/pt_PT.js index 2035c03c8e2..9deacca5a50 100644 --- a/apps/theming/l10n/pt_PT.js +++ b/apps/theming/l10n/pt_PT.js @@ -48,9 +48,6 @@ OC.L10N.register( "Upload new favicon" : "Carregar novo favicon", "Keyboard shortcuts" : "Atalhos de teclado", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "O acesso universal é muito importante para nós. Seguimos os padrões da web e verificamos para tornar tudo utilizável também sem rato e software auxiliar, como leitores de ecrã. O nosso objetivo é estar em conformidade com as {guidelines} Diretrizes de acessibilidade para o conteúdo da Web {linkend} 2.1 no nível AA, com o tema de alto contraste, mesmo no nível AAA.", - "Pick from Files" : "Escolha a partir dos Ficheiros", - "Plain background" : "Fundo simples", - "Insert from {productName}" : "Inserir de {productName}", "Reset to default" : "Repor original", "Upload" : "Enviar", "Remove background image" : "Remover imagem de segundo plano", @@ -61,6 +58,9 @@ OC.L10N.register( "https://…" : "https://…", "Login image" : "Imagem de Login", "Upload new login background" : "Carregar imagem de segundo plano de Login", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP Imagemagick com suporte para imagens SVG para gerar automaticamente favicons com base na cor e no logotipo carregado." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP Imagemagick com suporte para imagens SVG para gerar automaticamente favicons com base na cor e no logotipo carregado.", + "Pick from Files" : "Escolha a partir dos Ficheiros", + "Plain background" : "Fundo simples", + "Insert from {productName}" : "Inserir de {productName}" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/theming/l10n/pt_PT.json b/apps/theming/l10n/pt_PT.json index 630687e46f2..50feff22a6c 100644 --- a/apps/theming/l10n/pt_PT.json +++ b/apps/theming/l10n/pt_PT.json @@ -46,9 +46,6 @@ "Upload new favicon" : "Carregar novo favicon", "Keyboard shortcuts" : "Atalhos de teclado", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "O acesso universal é muito importante para nós. Seguimos os padrões da web e verificamos para tornar tudo utilizável também sem rato e software auxiliar, como leitores de ecrã. O nosso objetivo é estar em conformidade com as {guidelines} Diretrizes de acessibilidade para o conteúdo da Web {linkend} 2.1 no nível AA, com o tema de alto contraste, mesmo no nível AAA.", - "Pick from Files" : "Escolha a partir dos Ficheiros", - "Plain background" : "Fundo simples", - "Insert from {productName}" : "Inserir de {productName}", "Reset to default" : "Repor original", "Upload" : "Enviar", "Remove background image" : "Remover imagem de segundo plano", @@ -59,6 +56,9 @@ "https://…" : "https://…", "Login image" : "Imagem de Login", "Upload new login background" : "Carregar imagem de segundo plano de Login", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP Imagemagick com suporte para imagens SVG para gerar automaticamente favicons com base na cor e no logotipo carregado." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP Imagemagick com suporte para imagens SVG para gerar automaticamente favicons com base na cor e no logotipo carregado.", + "Pick from Files" : "Escolha a partir dos Ficheiros", + "Plain background" : "Fundo simples", + "Insert from {productName}" : "Inserir de {productName}" },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/theming/l10n/ru.js b/apps/theming/l10n/ru.js index 82f2f307897..028b6e4e165 100644 --- a/apps/theming/l10n/ru.js +++ b/apps/theming/l10n/ru.js @@ -53,10 +53,7 @@ OC.L10N.register( "Keyboard shortcuts" : "Сочетания клавиш", "Background" : "Фон", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Доступная среда очень важна для нас. При разработке мы следуем веб-стандартам, контролируя возможность пользования всем сервисом без помощи мыши и с использованием вспомогательных программ, например, выполняющих чтение с экрана. Мы стремимся к выполнению рекомендаций {guidelines}Руководства доступности Веб-Контента{linkend} 2.1 на уровне АА, а при использовании режима высокой контрастности — даже на уровне ААА.", - "Pick from Files" : "Выбрать из файлов", - "Custom color" : "Свой цвет", - "Plain background" : "Обычный фон", - "Insert from {productName}" : "Вставить из {productName}", + "Change color" : "Изменить цвет", "Reset to default" : "Сбросить изменения", "Upload" : "Отправить", "Remove background image" : "Убрать фоновое изображение ", @@ -67,6 +64,10 @@ OC.L10N.register( "https://…" : "https://", "Login image" : "Изображение экрана входа в систему", "Upload new login background" : "Загрузить новый фон для экрана входа в систему", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Для автоматической генерации favicon на основе загруженного логотипа и цвета нужно установить PHP расширение Imagemagick с поддержкой изображений SVG " + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Для автоматической генерации favicon на основе загруженного логотипа и цвета нужно установить PHP расширение Imagemagick с поддержкой изображений SVG ", + "Pick from Files" : "Выбрать из файлов", + "Custom color" : "Свой цвет", + "Plain background" : "Обычный фон", + "Insert from {productName}" : "Вставить из {productName}" }, "nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"); diff --git a/apps/theming/l10n/ru.json b/apps/theming/l10n/ru.json index e1c10bc95c3..53a417f3a62 100644 --- a/apps/theming/l10n/ru.json +++ b/apps/theming/l10n/ru.json @@ -51,10 +51,7 @@ "Keyboard shortcuts" : "Сочетания клавиш", "Background" : "Фон", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Доступная среда очень важна для нас. При разработке мы следуем веб-стандартам, контролируя возможность пользования всем сервисом без помощи мыши и с использованием вспомогательных программ, например, выполняющих чтение с экрана. Мы стремимся к выполнению рекомендаций {guidelines}Руководства доступности Веб-Контента{linkend} 2.1 на уровне АА, а при использовании режима высокой контрастности — даже на уровне ААА.", - "Pick from Files" : "Выбрать из файлов", - "Custom color" : "Свой цвет", - "Plain background" : "Обычный фон", - "Insert from {productName}" : "Вставить из {productName}", + "Change color" : "Изменить цвет", "Reset to default" : "Сбросить изменения", "Upload" : "Отправить", "Remove background image" : "Убрать фоновое изображение ", @@ -65,6 +62,10 @@ "https://…" : "https://", "Login image" : "Изображение экрана входа в систему", "Upload new login background" : "Загрузить новый фон для экрана входа в систему", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Для автоматической генерации favicon на основе загруженного логотипа и цвета нужно установить PHP расширение Imagemagick с поддержкой изображений SVG " + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Для автоматической генерации favicon на основе загруженного логотипа и цвета нужно установить PHP расширение Imagemagick с поддержкой изображений SVG ", + "Pick from Files" : "Выбрать из файлов", + "Custom color" : "Свой цвет", + "Plain background" : "Обычный фон", + "Insert from {productName}" : "Вставить из {productName}" },"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" }
\ No newline at end of file diff --git a/apps/theming/l10n/sc.js b/apps/theming/l10n/sc.js index d49a59ba756..9020de1dcbf 100644 --- a/apps/theming/l10n/sc.js +++ b/apps/theming/l10n/sc.js @@ -52,10 +52,7 @@ OC.L10N.register( "Keyboard shortcuts" : "Curtziadòrgios de tecladu", "Background" : "Isfundu", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "S'atzessu universale est de importu mannu pro nois. Sighimus is istandard de sa rete e chircamus de fàghere chi totu si potzat impreare chene cursore puru, e cun programmas de assistèntzia comente leghidores de ischermu. S'intentu nostru est de acumprire is inditos de is {guidelines}Lìinas ghia cuntenutos de rete{linkend} 2.1 a su livellu AA, cun su tema de cuntrastu artu a su livellu AAA.", - "Pick from Files" : "Sèbera dae archìvios", - "Custom color" : "Personaliza colore", - "Plain background" : "Isfundu simpre", - "Insert from {productName}" : "Inserta dae {productName}", + "Change color" : "Càmbia colore", "Reset to default" : "Torra a is impostatziones predefinidas", "Upload" : "Càrriga", "Remove background image" : "Boga immàgine de fundu", @@ -66,6 +63,10 @@ OC.L10N.register( "https://…" : "https://…", "Login image" : "Imàgine de intrada", "Upload new login background" : "Càrriga fundu de intrada nou", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installa s'estensione Imagemagick de PHP cun suportu pro is immàgines SVG pro generare in automàticu favicon basadas subra de su logo carrigadu e su colore." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installa s'estensione Imagemagick de PHP cun suportu pro is immàgines SVG pro generare in automàticu favicon basadas subra de su logo carrigadu e su colore.", + "Pick from Files" : "Sèbera dae archìvios", + "Custom color" : "Personaliza colore", + "Plain background" : "Isfundu simpre", + "Insert from {productName}" : "Inserta dae {productName}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/sc.json b/apps/theming/l10n/sc.json index b97c96b7e3c..dc9be1fc9fa 100644 --- a/apps/theming/l10n/sc.json +++ b/apps/theming/l10n/sc.json @@ -50,10 +50,7 @@ "Keyboard shortcuts" : "Curtziadòrgios de tecladu", "Background" : "Isfundu", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "S'atzessu universale est de importu mannu pro nois. Sighimus is istandard de sa rete e chircamus de fàghere chi totu si potzat impreare chene cursore puru, e cun programmas de assistèntzia comente leghidores de ischermu. S'intentu nostru est de acumprire is inditos de is {guidelines}Lìinas ghia cuntenutos de rete{linkend} 2.1 a su livellu AA, cun su tema de cuntrastu artu a su livellu AAA.", - "Pick from Files" : "Sèbera dae archìvios", - "Custom color" : "Personaliza colore", - "Plain background" : "Isfundu simpre", - "Insert from {productName}" : "Inserta dae {productName}", + "Change color" : "Càmbia colore", "Reset to default" : "Torra a is impostatziones predefinidas", "Upload" : "Càrriga", "Remove background image" : "Boga immàgine de fundu", @@ -64,6 +61,10 @@ "https://…" : "https://…", "Login image" : "Imàgine de intrada", "Upload new login background" : "Càrriga fundu de intrada nou", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installa s'estensione Imagemagick de PHP cun suportu pro is immàgines SVG pro generare in automàticu favicon basadas subra de su logo carrigadu e su colore." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installa s'estensione Imagemagick de PHP cun suportu pro is immàgines SVG pro generare in automàticu favicon basadas subra de su logo carrigadu e su colore.", + "Pick from Files" : "Sèbera dae archìvios", + "Custom color" : "Personaliza colore", + "Plain background" : "Isfundu simpre", + "Insert from {productName}" : "Inserta dae {productName}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/sk.js b/apps/theming/l10n/sk.js index dc900a7219c..7702d1a67bb 100644 --- a/apps/theming/l10n/sk.js +++ b/apps/theming/l10n/sk.js @@ -66,11 +66,7 @@ OC.L10N.register( "Set a custom background" : "Nastaviť vlastné pozadie", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Univerzálny prístup je pre nás veľmi dôležitý. Dodržiavame webové štandardy a kontrolujeme, aby bolo všetko použiteľné aj bez myši a pomocného softvéru, ako sú čítačky obrazovky. Naším cieľom je byť v súlade s {guidelines}pokynmi pre prístup k webovému obsahu {linkend} 2.1 na úrovni AA, v režime vysokého kontrastu dokonca na úrovni AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Ak nájdete nejaké problémy, neváhajte ich nahlásiť v {issuetracker}našom nástroji na sledovanie problémov{linkend}. A ak sa chcete zapojiť, pridajte sa k {designteam}nášmu tímu dizajnérov{linkend}!", - "Pick from Files" : "Vybrať zo súborov", - "Default image" : "Predvolený obrázok", - "Custom color" : "Vlastná farba", - "Plain background" : "Obyčajné pozadie", - "Insert from {productName}" : "Vložiť z {productName}", + "Change color" : "Zmeniť farbu", "Theme selection is enforced" : "Vynucuje sa výber témy", "Reset to default" : "Nastaviť predvolené", "Upload" : "Nahrať", @@ -84,6 +80,11 @@ OC.L10N.register( "Login image" : "Prihlasovací obrázok", "Upload new login background" : "Nahrať nové prihlasovacie pozadie", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Ak chcete automaticky generovať favikony na základe nahraného loga a farby, nainštalujte rozšírenie Imagemagick PHP s podporou pre SVG obrázky.", - "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "V niektorých prípadoch môžu klávesové skratky zasahovať do nástrojov dostupnosti. Aby ste mohli správne zaostriť na svoj nástroj, môžete tu vypnúť všetky klávesové skratky. Tým sa tiež zakážu všetky dostupné skratky v aplikáciách." + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "V niektorých prípadoch môžu klávesové skratky zasahovať do nástrojov dostupnosti. Aby ste mohli správne zaostriť na svoj nástroj, môžete tu vypnúť všetky klávesové skratky. Tým sa tiež zakážu všetky dostupné skratky v aplikáciách.", + "Pick from Files" : "Vybrať zo súborov", + "Default image" : "Predvolený obrázok", + "Custom color" : "Vlastná farba", + "Plain background" : "Obyčajné pozadie", + "Insert from {productName}" : "Vložiť z {productName}" }, "nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"); diff --git a/apps/theming/l10n/sk.json b/apps/theming/l10n/sk.json index b9eda2d948e..f59767b3383 100644 --- a/apps/theming/l10n/sk.json +++ b/apps/theming/l10n/sk.json @@ -64,11 +64,7 @@ "Set a custom background" : "Nastaviť vlastné pozadie", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Univerzálny prístup je pre nás veľmi dôležitý. Dodržiavame webové štandardy a kontrolujeme, aby bolo všetko použiteľné aj bez myši a pomocného softvéru, ako sú čítačky obrazovky. Naším cieľom je byť v súlade s {guidelines}pokynmi pre prístup k webovému obsahu {linkend} 2.1 na úrovni AA, v režime vysokého kontrastu dokonca na úrovni AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Ak nájdete nejaké problémy, neváhajte ich nahlásiť v {issuetracker}našom nástroji na sledovanie problémov{linkend}. A ak sa chcete zapojiť, pridajte sa k {designteam}nášmu tímu dizajnérov{linkend}!", - "Pick from Files" : "Vybrať zo súborov", - "Default image" : "Predvolený obrázok", - "Custom color" : "Vlastná farba", - "Plain background" : "Obyčajné pozadie", - "Insert from {productName}" : "Vložiť z {productName}", + "Change color" : "Zmeniť farbu", "Theme selection is enforced" : "Vynucuje sa výber témy", "Reset to default" : "Nastaviť predvolené", "Upload" : "Nahrať", @@ -82,6 +78,11 @@ "Login image" : "Prihlasovací obrázok", "Upload new login background" : "Nahrať nové prihlasovacie pozadie", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Ak chcete automaticky generovať favikony na základe nahraného loga a farby, nainštalujte rozšírenie Imagemagick PHP s podporou pre SVG obrázky.", - "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "V niektorých prípadoch môžu klávesové skratky zasahovať do nástrojov dostupnosti. Aby ste mohli správne zaostriť na svoj nástroj, môžete tu vypnúť všetky klávesové skratky. Tým sa tiež zakážu všetky dostupné skratky v aplikáciách." + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "V niektorých prípadoch môžu klávesové skratky zasahovať do nástrojov dostupnosti. Aby ste mohli správne zaostriť na svoj nástroj, môžete tu vypnúť všetky klávesové skratky. Tým sa tiež zakážu všetky dostupné skratky v aplikáciách.", + "Pick from Files" : "Vybrať zo súborov", + "Default image" : "Predvolený obrázok", + "Custom color" : "Vlastná farba", + "Plain background" : "Obyčajné pozadie", + "Insert from {productName}" : "Vložiť z {productName}" },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);" }
\ No newline at end of file diff --git a/apps/theming/l10n/sl.js b/apps/theming/l10n/sl.js index 781790ec023..4567b7ae163 100644 --- a/apps/theming/l10n/sl.js +++ b/apps/theming/l10n/sl.js @@ -64,10 +64,7 @@ OC.L10N.register( "Background" : "Ozadje", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Enostaven dostop do možnosti je za nas zelo pomemben. Sledimo spletnim standardom in preverjamo, da je vmesnik uporaben tudi brez uporabe miške in brez podporne programske opreme, kot so zaslonski bralniki in podobno. Zagotavljamo skladnost s smernicami {guidelines}Dostopnosti spletne vsebine{linkend} 2.1 na ravni AA, pri visoko kontrastni temi pa tudi na ravni AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Če naletite na težave, ne odlašajte in takoj pošljite poročilo na {issuetracker}sledilnik{linkend}, če želite sodelovati, pa se pridružite {designteam}skupini oblikovalcev{linkend}!", - "Pick from Files" : "Izbor iz datotek", - "Custom color" : "Barva po meri", - "Plain background" : "Enostavno ozadje", - "Insert from {productName}" : "Vstavi iz {productName}", + "Change color" : "Spremeni barvo", "Theme selection is enforced" : "Izbira teme je vsiljena", "Reset to default" : "Ponastavi na privzeto", "Upload" : "Pošlji", @@ -79,6 +76,10 @@ OC.L10N.register( "https://…" : "https://…", "Login image" : "Prijavna slika", "Upload new login background" : "Pošlji novo ozadje prijavnega okna", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Z namestitvijo razširitve Imagemagick PHP s podporo za slike SVG je mogoče samodejno ustvariti ikone zaznamka na podlagi določenega logotipa in barve." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Z namestitvijo razširitve Imagemagick PHP s podporo za slike SVG je mogoče samodejno ustvariti ikone zaznamka na podlagi določenega logotipa in barve.", + "Pick from Files" : "Izbor iz datotek", + "Custom color" : "Barva po meri", + "Plain background" : "Enostavno ozadje", + "Insert from {productName}" : "Vstavi iz {productName}" }, "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); diff --git a/apps/theming/l10n/sl.json b/apps/theming/l10n/sl.json index fc05d5d21db..5d7ae57edf0 100644 --- a/apps/theming/l10n/sl.json +++ b/apps/theming/l10n/sl.json @@ -62,10 +62,7 @@ "Background" : "Ozadje", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Enostaven dostop do možnosti je za nas zelo pomemben. Sledimo spletnim standardom in preverjamo, da je vmesnik uporaben tudi brez uporabe miške in brez podporne programske opreme, kot so zaslonski bralniki in podobno. Zagotavljamo skladnost s smernicami {guidelines}Dostopnosti spletne vsebine{linkend} 2.1 na ravni AA, pri visoko kontrastni temi pa tudi na ravni AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Če naletite na težave, ne odlašajte in takoj pošljite poročilo na {issuetracker}sledilnik{linkend}, če želite sodelovati, pa se pridružite {designteam}skupini oblikovalcev{linkend}!", - "Pick from Files" : "Izbor iz datotek", - "Custom color" : "Barva po meri", - "Plain background" : "Enostavno ozadje", - "Insert from {productName}" : "Vstavi iz {productName}", + "Change color" : "Spremeni barvo", "Theme selection is enforced" : "Izbira teme je vsiljena", "Reset to default" : "Ponastavi na privzeto", "Upload" : "Pošlji", @@ -77,6 +74,10 @@ "https://…" : "https://…", "Login image" : "Prijavna slika", "Upload new login background" : "Pošlji novo ozadje prijavnega okna", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Z namestitvijo razširitve Imagemagick PHP s podporo za slike SVG je mogoče samodejno ustvariti ikone zaznamka na podlagi določenega logotipa in barve." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Z namestitvijo razširitve Imagemagick PHP s podporo za slike SVG je mogoče samodejno ustvariti ikone zaznamka na podlagi določenega logotipa in barve.", + "Pick from Files" : "Izbor iz datotek", + "Custom color" : "Barva po meri", + "Plain background" : "Enostavno ozadje", + "Insert from {productName}" : "Vstavi iz {productName}" },"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" }
\ No newline at end of file diff --git a/apps/theming/l10n/sr.js b/apps/theming/l10n/sr.js index f1c967bb886..42aed853125 100644 --- a/apps/theming/l10n/sr.js +++ b/apps/theming/l10n/sr.js @@ -50,6 +50,7 @@ OC.L10N.register( "Upload new favicon" : "Отпремите нову иконицу", "Keyboard shortcuts" : "Пречице на тастатури", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Универзални приступ нам је веома важан. Пратимо веб стандарде и проверавамо да све буде употребљиво и без миша а и са помоћним софтвером попут читача екрана. Циљ нам је да будемо усклађени са документом {guidelines}Смернице приступачности веб садржаја{linkend} 2.1 на АА нивоу а са темом високог контраста и на ААА нивоу.", + "Change color" : "Промени боју", "Reset to default" : "Врати на подразумевано", "Upload" : "Отпреми", "Remove background image" : "Уклони позадинску слику", diff --git a/apps/theming/l10n/sr.json b/apps/theming/l10n/sr.json index 87df51126fd..96fe9d9f06b 100644 --- a/apps/theming/l10n/sr.json +++ b/apps/theming/l10n/sr.json @@ -48,6 +48,7 @@ "Upload new favicon" : "Отпремите нову иконицу", "Keyboard shortcuts" : "Пречице на тастатури", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Универзални приступ нам је веома важан. Пратимо веб стандарде и проверавамо да све буде употребљиво и без миша а и са помоћним софтвером попут читача екрана. Циљ нам је да будемо усклађени са документом {guidelines}Смернице приступачности веб садржаја{linkend} 2.1 на АА нивоу а са темом високог контраста и на ААА нивоу.", + "Change color" : "Промени боју", "Reset to default" : "Врати на подразумевано", "Upload" : "Отпреми", "Remove background image" : "Уклони позадинску слику", diff --git a/apps/theming/l10n/sv.js b/apps/theming/l10n/sv.js index 9ed5ed8d0a7..a7d33c63170 100644 --- a/apps/theming/l10n/sv.js +++ b/apps/theming/l10n/sv.js @@ -52,10 +52,7 @@ OC.L10N.register( "User settings" : "Användarinställningar", "Keyboard shortcuts" : "Tangentbordsgenvägar", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Allmän åtkomst är mycket viktig för oss. Vi följer webbstandarder och kontrollerar att allt är användbart även utan mus och hjälpmedel som skärmläsare. Vi strävar efter att följa {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 på AA-nivå, med temat hög kontrast även på AAA-nivå.", - "Pick from Files" : "Välj från filer", - "Custom color" : "Anpassad färg", - "Plain background" : "Enkel bakgrund", - "Insert from {productName}" : "Infoga från {productName}", + "Change color" : "Ändra färg", "Reset to default" : "Återställ till grundinställningar", "Upload" : "Ladda upp", "Remove background image" : "Ta bort bakgrundsbild", @@ -66,6 +63,10 @@ OC.L10N.register( "https://…" : "https://…", "Login image" : "Inloggningsbild", "Upload new login background" : "Ladda upp ny bakgrundsbild", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installera Imagemagick PHP-tillägget med stöd för SVG-bilder för att automatiskt generera favicons baserat på den uppladdade logotypen och färgen." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installera Imagemagick PHP-tillägget med stöd för SVG-bilder för att automatiskt generera favicons baserat på den uppladdade logotypen och färgen.", + "Pick from Files" : "Välj från filer", + "Custom color" : "Anpassad färg", + "Plain background" : "Enkel bakgrund", + "Insert from {productName}" : "Infoga från {productName}" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/sv.json b/apps/theming/l10n/sv.json index 1ec0417abaf..62110a2f4ba 100644 --- a/apps/theming/l10n/sv.json +++ b/apps/theming/l10n/sv.json @@ -50,10 +50,7 @@ "User settings" : "Användarinställningar", "Keyboard shortcuts" : "Tangentbordsgenvägar", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Allmän åtkomst är mycket viktig för oss. Vi följer webbstandarder och kontrollerar att allt är användbart även utan mus och hjälpmedel som skärmläsare. Vi strävar efter att följa {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 på AA-nivå, med temat hög kontrast även på AAA-nivå.", - "Pick from Files" : "Välj från filer", - "Custom color" : "Anpassad färg", - "Plain background" : "Enkel bakgrund", - "Insert from {productName}" : "Infoga från {productName}", + "Change color" : "Ändra färg", "Reset to default" : "Återställ till grundinställningar", "Upload" : "Ladda upp", "Remove background image" : "Ta bort bakgrundsbild", @@ -64,6 +61,10 @@ "https://…" : "https://…", "Login image" : "Inloggningsbild", "Upload new login background" : "Ladda upp ny bakgrundsbild", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installera Imagemagick PHP-tillägget med stöd för SVG-bilder för att automatiskt generera favicons baserat på den uppladdade logotypen och färgen." + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installera Imagemagick PHP-tillägget med stöd för SVG-bilder för att automatiskt generera favicons baserat på den uppladdade logotypen och färgen.", + "Pick from Files" : "Välj från filer", + "Custom color" : "Anpassad färg", + "Plain background" : "Enkel bakgrund", + "Insert from {productName}" : "Infoga från {productName}" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/tr.js b/apps/theming/l10n/tr.js index 6e6718cda08..0557406dcc1 100644 --- a/apps/theming/l10n/tr.js +++ b/apps/theming/l10n/tr.js @@ -76,11 +76,11 @@ OC.L10N.register( "Set a custom background" : "Özel bir arka plan ayarla", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Uygulamalarımızı herkesin kullanabilmesini çok önemsiyoruz. Web standartlarını izleyerek, işlemlerin fare olmadan da yapılabilmesini ve ekran okuyucular gibi yardımcı yazılımların kullanılabilmesini sağlıyoruz. AAA düzeyinde yüksek renk karşıtlığı teması ile AA düzeyinde {guidelines}Web İçeriği Erişilebilirlik Kuralları{linkend} 2.1 ile uyumlu olmayı amaçladık.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Bir sorunla karşılaşırsanız, bunları {issuetracker}sorun izleyicimiz{linkend} üzerinden bildirmekten çekinmeyin. Katkıda bulunmak istiyorsanız {designteam}tasarım ekibimize{linkend} katılın!", - "Pick from Files" : "Dosyalardan seçin", - "Default image" : "Varsayılan görsel", - "Custom color" : "Özel renk", - "Plain background" : "Düz arka plan", - "Insert from {productName}" : "{productName} üzerinden ekle", + "Custom background" : "Özel arka plan", + "Default background" : "Varsayılan arka plan", + "Change color" : "Rengi değiştir", + "Remove background" : "Arka planı kaldır", + "Select a background from your files" : "Dosyalarınızdan bir arka plan seçin", "Theme selection is enforced" : "Tema seçimi zorunludur", "Select a custom color" : "Özel bir renk seçin", "Reset to default" : "Varsayılanlara dön", @@ -96,6 +96,11 @@ OC.L10N.register( "Upload new login background" : "Yeni oturum açma arka planı yükle", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Yüklenen logo ve renge göre otomatik olarak favicon üretilmesi için Imagemagick PHP eklentisini SVG desteği ile kurun.", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Bazı durumlarda klavye kısayolları erişilebilirlik araçlarına etki edebilir. Aracınıza doğru şekilde odaklanmanızı sağlamak için tüm klavye kısayollarını buradan devre dışı bırakabilirsiniz. Bu aynı zamanda uygulamalarda var olan tüm kısayolları da devre dışı bırakır.", + "Pick from Files" : "Dosyalardan seçin", + "Default image" : "Varsayılan görsel", + "Custom color" : "Özel renk", + "Plain background" : "Düz arka plan", + "Insert from {productName}" : "{productName} üzerinden ekle", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Kopyanızı seçip özelleştirebilmenize rağmen, kullanıcılar arka planlarını ve renklerini değiştirebilir. Özelleştirmeyi dayatmak istiyorsanız, bu kutuyu işaretleyebilirsiniz." }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/theming/l10n/tr.json b/apps/theming/l10n/tr.json index 5524c839e5f..a4800e904e0 100644 --- a/apps/theming/l10n/tr.json +++ b/apps/theming/l10n/tr.json @@ -74,11 +74,11 @@ "Set a custom background" : "Özel bir arka plan ayarla", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Uygulamalarımızı herkesin kullanabilmesini çok önemsiyoruz. Web standartlarını izleyerek, işlemlerin fare olmadan da yapılabilmesini ve ekran okuyucular gibi yardımcı yazılımların kullanılabilmesini sağlıyoruz. AAA düzeyinde yüksek renk karşıtlığı teması ile AA düzeyinde {guidelines}Web İçeriği Erişilebilirlik Kuralları{linkend} 2.1 ile uyumlu olmayı amaçladık.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Bir sorunla karşılaşırsanız, bunları {issuetracker}sorun izleyicimiz{linkend} üzerinden bildirmekten çekinmeyin. Katkıda bulunmak istiyorsanız {designteam}tasarım ekibimize{linkend} katılın!", - "Pick from Files" : "Dosyalardan seçin", - "Default image" : "Varsayılan görsel", - "Custom color" : "Özel renk", - "Plain background" : "Düz arka plan", - "Insert from {productName}" : "{productName} üzerinden ekle", + "Custom background" : "Özel arka plan", + "Default background" : "Varsayılan arka plan", + "Change color" : "Rengi değiştir", + "Remove background" : "Arka planı kaldır", + "Select a background from your files" : "Dosyalarınızdan bir arka plan seçin", "Theme selection is enforced" : "Tema seçimi zorunludur", "Select a custom color" : "Özel bir renk seçin", "Reset to default" : "Varsayılanlara dön", @@ -94,6 +94,11 @@ "Upload new login background" : "Yeni oturum açma arka planı yükle", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Yüklenen logo ve renge göre otomatik olarak favicon üretilmesi için Imagemagick PHP eklentisini SVG desteği ile kurun.", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Bazı durumlarda klavye kısayolları erişilebilirlik araçlarına etki edebilir. Aracınıza doğru şekilde odaklanmanızı sağlamak için tüm klavye kısayollarını buradan devre dışı bırakabilirsiniz. Bu aynı zamanda uygulamalarda var olan tüm kısayolları da devre dışı bırakır.", + "Pick from Files" : "Dosyalardan seçin", + "Default image" : "Varsayılan görsel", + "Custom color" : "Özel renk", + "Plain background" : "Düz arka plan", + "Insert from {productName}" : "{productName} üzerinden ekle", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Kopyanızı seçip özelleştirebilmenize rağmen, kullanıcılar arka planlarını ve renklerini değiştirebilir. Özelleştirmeyi dayatmak istiyorsanız, bu kutuyu işaretleyebilirsiniz." },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/uk.js b/apps/theming/l10n/uk.js index bb52d0f8886..2e4b2c5c2ca 100644 --- a/apps/theming/l10n/uk.js +++ b/apps/theming/l10n/uk.js @@ -22,7 +22,7 @@ OC.L10N.register( "No file uploaded" : "Файл не завантажено", "You are already using a custom theme. Theming app settings might be overwritten by that." : "Ви уже використовуєте власну тему. Таким чином налаштування застосунку Оформлення може бути перезаписано.", "Theming" : "Оформлення", - "Appearance and accessibility" : "Зовнішній вигляд і доступність", + "Appearance and accessibility" : "Вигляд та доступність", "Dark theme with high contrast mode" : "Темна тема з режимом високої контрастності", "Enable dark high contrast mode" : "Увімкніть темний режим високої контрастності", "Similar to the high contrast mode, but with dark colours." : "Подібно до режиму високої контрастності, але з темними кольорами.", @@ -65,11 +65,7 @@ OC.L10N.register( "Set a custom background" : "Встановити спеціальний фон", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Для нас дуже важливо забезпечити доступ для всіх. Ми дотримуємось веб-стандартів і перевіряємо, щоб забезпечити зручність користування без комп'ютерної миші, а також за допомогую допоміжного програмного забезпечення, наприклад, програми зчитування з екрана. Ми прагнемо відповідати {guidelines} Правила доступу до веб-вмісту {linkend} 2.1 на рівні AA, а з темою високої контрастності навіть на рівні AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Якщо ви виявите будь-які проблеми, не соромтеся повідомити про них на {issuetracker}нашій системі відстеження проблем{linkend}. І якщо ви хочете взяти участь, приєднуйтесь до {designteam}нашої команди дизайнерів{linkend}!", - "Pick from Files" : "Виберіть із файлів", - "Default image" : "Зображення за умовчанням", - "Custom color" : "Власний колір", - "Plain background" : "Рівний фон", - "Insert from {productName}" : "Вставка з {productName}", + "Change color" : "Змінити колір", "Theme selection is enforced" : "Вибір теми виконується примусово", "Reset to default" : "Скинути до типового", "Upload" : "Завантажити", @@ -83,6 +79,11 @@ OC.L10N.register( "Login image" : "Зображення сторінки входу", "Upload new login background" : "Завантажити новий фон для сторінки входу", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Встановіть розширення Imagemagick PHP з підтримкою SVG-зображень, щоб автоматично генерувати іконки сайту на основі завантаженого логотипу та кольору.", - "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "У деяких випадках комбінації клавіш можуть перешкоджати роботі інструментів спеціальних можливостей. Щоб правильно сфокусуватися на інструменті, тут можна вимкнути всі комбінації клавіш. Це також вимкне всі доступні ярлики в програмах." + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "У деяких випадках комбінації клавіш можуть перешкоджати роботі інструментів спеціальних можливостей. Щоб правильно сфокусуватися на інструменті, тут можна вимкнути всі комбінації клавіш. Це також вимкне всі доступні ярлики в програмах.", + "Pick from Files" : "Виберіть із файлів", + "Default image" : "Зображення за умовчанням", + "Custom color" : "Власний колір", + "Plain background" : "Рівний фон", + "Insert from {productName}" : "Вставка з {productName}" }, "nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"); diff --git a/apps/theming/l10n/uk.json b/apps/theming/l10n/uk.json index 6974bdeaffb..2077d713d42 100644 --- a/apps/theming/l10n/uk.json +++ b/apps/theming/l10n/uk.json @@ -20,7 +20,7 @@ "No file uploaded" : "Файл не завантажено", "You are already using a custom theme. Theming app settings might be overwritten by that." : "Ви уже використовуєте власну тему. Таким чином налаштування застосунку Оформлення може бути перезаписано.", "Theming" : "Оформлення", - "Appearance and accessibility" : "Зовнішній вигляд і доступність", + "Appearance and accessibility" : "Вигляд та доступність", "Dark theme with high contrast mode" : "Темна тема з режимом високої контрастності", "Enable dark high contrast mode" : "Увімкніть темний режим високої контрастності", "Similar to the high contrast mode, but with dark colours." : "Подібно до режиму високої контрастності, але з темними кольорами.", @@ -63,11 +63,7 @@ "Set a custom background" : "Встановити спеціальний фон", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Для нас дуже важливо забезпечити доступ для всіх. Ми дотримуємось веб-стандартів і перевіряємо, щоб забезпечити зручність користування без комп'ютерної миші, а також за допомогую допоміжного програмного забезпечення, наприклад, програми зчитування з екрана. Ми прагнемо відповідати {guidelines} Правила доступу до веб-вмісту {linkend} 2.1 на рівні AA, а з темою високої контрастності навіть на рівні AAA.", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Якщо ви виявите будь-які проблеми, не соромтеся повідомити про них на {issuetracker}нашій системі відстеження проблем{linkend}. І якщо ви хочете взяти участь, приєднуйтесь до {designteam}нашої команди дизайнерів{linkend}!", - "Pick from Files" : "Виберіть із файлів", - "Default image" : "Зображення за умовчанням", - "Custom color" : "Власний колір", - "Plain background" : "Рівний фон", - "Insert from {productName}" : "Вставка з {productName}", + "Change color" : "Змінити колір", "Theme selection is enforced" : "Вибір теми виконується примусово", "Reset to default" : "Скинути до типового", "Upload" : "Завантажити", @@ -81,6 +77,11 @@ "Login image" : "Зображення сторінки входу", "Upload new login background" : "Завантажити новий фон для сторінки входу", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Встановіть розширення Imagemagick PHP з підтримкою SVG-зображень, щоб автоматично генерувати іконки сайту на основі завантаженого логотипу та кольору.", - "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "У деяких випадках комбінації клавіш можуть перешкоджати роботі інструментів спеціальних можливостей. Щоб правильно сфокусуватися на інструменті, тут можна вимкнути всі комбінації клавіш. Це також вимкне всі доступні ярлики в програмах." + "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "У деяких випадках комбінації клавіш можуть перешкоджати роботі інструментів спеціальних можливостей. Щоб правильно сфокусуватися на інструменті, тут можна вимкнути всі комбінації клавіш. Це також вимкне всі доступні ярлики в програмах.", + "Pick from Files" : "Виберіть із файлів", + "Default image" : "Зображення за умовчанням", + "Custom color" : "Власний колір", + "Plain background" : "Рівний фон", + "Insert from {productName}" : "Вставка з {productName}" },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);" }
\ No newline at end of file diff --git a/apps/theming/l10n/vi.js b/apps/theming/l10n/vi.js index d7529933452..7da21bd9b82 100644 --- a/apps/theming/l10n/vi.js +++ b/apps/theming/l10n/vi.js @@ -50,7 +50,6 @@ OC.L10N.register( "Upload new favicon" : "Tải lên bộ Favicon mới", "Keyboard shortcuts" : "Phím tắt", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Sự truy cập đa dạng là rất quan trọng với chúng tôi. Chúng tôi tuân theo các tiêu chuẩn mạng và kiểm tra để khiến mọi thứ đều có thể sử dụng được ngay cả khi không có chuột, và hỗ trợ những phần mềm hỗ trợ như đọc màn hình. Chúng tôi hướng đến sự tương thích với {guidelines}Nguyên Tắc Truy Cập Cho Nội Dung Mạng{linkend} 2.1 ở cấp độ AA, với chế độ tương phản cao là AAA", - "Custom color" : "Tùy chỉnh màu", "Reset to default" : "Đặt lại về mặc định", "Upload" : "Tải lên", "Remove background image" : "Xóa bỏ ảnh nền", @@ -61,6 +60,7 @@ OC.L10N.register( "https://…" : "https://…", "Login image" : "Hình ảnh trang đăng nhập", "Upload new login background" : "Tải lên ảnh nền trang đăng nhập mới", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Cài đặt phần mở rộng PHP Imagemagick với hỗ trợ cho hình ảnh SVG để tự động tạo bộ favicon dựa trên màu và logo được tải lên" + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Cài đặt phần mở rộng PHP Imagemagick với hỗ trợ cho hình ảnh SVG để tự động tạo bộ favicon dựa trên màu và logo được tải lên", + "Custom color" : "Tùy chỉnh màu" }, "nplurals=1; plural=0;"); diff --git a/apps/theming/l10n/vi.json b/apps/theming/l10n/vi.json index 69b13297eaa..d8dce323a7d 100644 --- a/apps/theming/l10n/vi.json +++ b/apps/theming/l10n/vi.json @@ -48,7 +48,6 @@ "Upload new favicon" : "Tải lên bộ Favicon mới", "Keyboard shortcuts" : "Phím tắt", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Sự truy cập đa dạng là rất quan trọng với chúng tôi. Chúng tôi tuân theo các tiêu chuẩn mạng và kiểm tra để khiến mọi thứ đều có thể sử dụng được ngay cả khi không có chuột, và hỗ trợ những phần mềm hỗ trợ như đọc màn hình. Chúng tôi hướng đến sự tương thích với {guidelines}Nguyên Tắc Truy Cập Cho Nội Dung Mạng{linkend} 2.1 ở cấp độ AA, với chế độ tương phản cao là AAA", - "Custom color" : "Tùy chỉnh màu", "Reset to default" : "Đặt lại về mặc định", "Upload" : "Tải lên", "Remove background image" : "Xóa bỏ ảnh nền", @@ -59,6 +58,7 @@ "https://…" : "https://…", "Login image" : "Hình ảnh trang đăng nhập", "Upload new login background" : "Tải lên ảnh nền trang đăng nhập mới", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Cài đặt phần mở rộng PHP Imagemagick với hỗ trợ cho hình ảnh SVG để tự động tạo bộ favicon dựa trên màu và logo được tải lên" + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Cài đặt phần mở rộng PHP Imagemagick với hỗ trợ cho hình ảnh SVG để tự động tạo bộ favicon dựa trên màu và logo được tải lên", + "Custom color" : "Tùy chỉnh màu" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/theming/l10n/zh_CN.js b/apps/theming/l10n/zh_CN.js index 9d2fe9ea151..695f4d78adc 100644 --- a/apps/theming/l10n/zh_CN.js +++ b/apps/theming/l10n/zh_CN.js @@ -74,11 +74,7 @@ OC.L10N.register( "Customization has been disabled by your administrator" : "管理员已禁用自定义功能", "Set a custom background" : "选择自定义背景", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "无障碍访问对我们非常重要。 我们遵循网络标准,并进行检查以确保所有内容都可以在没有鼠标或辅助软件(例如屏幕阅读器)的情况下使用。 我们的目标是达到 {guidelines} Web 内容可访问性指南 {linkend} 2.1 中的 AA 级别,并另外通过高对比度主题达到 AAA 级别。", - "Pick from Files" : "从文件中挑选", - "Default image" : "默认图片", - "Custom color" : "自定义颜色", - "Plain background" : "纯色背景", - "Insert from {productName}" : "从 {productName} 插入", + "Change color" : "更改颜色", "Theme selection is enforced" : "主题由管理员指定", "Select a custom color" : "自定义颜色", "Reset to default" : "重置为默认设置", @@ -92,6 +88,11 @@ OC.L10N.register( "https://…" : "https://…", "Login image" : "登录图片", "Upload new login background" : "上传新登录背景", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安装支持 SVG 图像的 PHP 扩展 Imagemagick,以根据上传的 logo 和颜色自动生成图标。" + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安装支持 SVG 图像的 PHP 扩展 Imagemagick,以根据上传的 logo 和颜色自动生成图标。", + "Pick from Files" : "从文件中挑选", + "Default image" : "默认图片", + "Custom color" : "自定义颜色", + "Plain background" : "纯色背景", + "Insert from {productName}" : "从 {productName} 插入" }, "nplurals=1; plural=0;"); diff --git a/apps/theming/l10n/zh_CN.json b/apps/theming/l10n/zh_CN.json index 8219c37b7b4..7ca6e65e1fc 100644 --- a/apps/theming/l10n/zh_CN.json +++ b/apps/theming/l10n/zh_CN.json @@ -72,11 +72,7 @@ "Customization has been disabled by your administrator" : "管理员已禁用自定义功能", "Set a custom background" : "选择自定义背景", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "无障碍访问对我们非常重要。 我们遵循网络标准,并进行检查以确保所有内容都可以在没有鼠标或辅助软件(例如屏幕阅读器)的情况下使用。 我们的目标是达到 {guidelines} Web 内容可访问性指南 {linkend} 2.1 中的 AA 级别,并另外通过高对比度主题达到 AAA 级别。", - "Pick from Files" : "从文件中挑选", - "Default image" : "默认图片", - "Custom color" : "自定义颜色", - "Plain background" : "纯色背景", - "Insert from {productName}" : "从 {productName} 插入", + "Change color" : "更改颜色", "Theme selection is enforced" : "主题由管理员指定", "Select a custom color" : "自定义颜色", "Reset to default" : "重置为默认设置", @@ -90,6 +86,11 @@ "https://…" : "https://…", "Login image" : "登录图片", "Upload new login background" : "上传新登录背景", - "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安装支持 SVG 图像的 PHP 扩展 Imagemagick,以根据上传的 logo 和颜色自动生成图标。" + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安装支持 SVG 图像的 PHP 扩展 Imagemagick,以根据上传的 logo 和颜色自动生成图标。", + "Pick from Files" : "从文件中挑选", + "Default image" : "默认图片", + "Custom color" : "自定义颜色", + "Plain background" : "纯色背景", + "Insert from {productName}" : "从 {productName} 插入" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/theming/l10n/zh_HK.js b/apps/theming/l10n/zh_HK.js index 635f1d245b2..12db31e6403 100644 --- a/apps/theming/l10n/zh_HK.js +++ b/apps/theming/l10n/zh_HK.js @@ -76,11 +76,11 @@ OC.L10N.register( "Set a custom background" : "設置自定義背景", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "我們非常重視無障礙使用。我們遵循網路標準,並透過檢查來確保所有內容皆可在沒有滑鼠或輔助軟體(例如螢幕閱讀器)的情況下使用。我們目標是能達到 {guidelines} 網頁內容可及性指引{linkend} 2.1 版的 AA 等級,加上高對比度主題甚至還能到 AAA 等級。", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "如果您發現任何問題,請在 {issuetracker}我們的問題追蹤系統{linkend} 舉報。而如果您想參與,歡迎加入 {designteam}我們的設計團隊{linked}!", - "Pick from Files" : "從檔案選取", - "Default image" : "默認圖像", - "Custom color" : "自訂顏色", - "Plain background" : "簡單背景", - "Insert from {productName}" : "自 {productName} 插入", + "Custom background" : "自訂背景", + "Default background" : "默認背景", + "Change color" : "變更顏色", + "Remove background" : "移除背景", + "Select a background from your files" : "從您的檔案中選擇背景", "Theme selection is enforced" : "主題選擇已實施", "Select a custom color" : "選擇自訂色彩", "Reset to default" : "恢復預設值", @@ -96,6 +96,11 @@ OC.L10N.register( "Upload new login background" : "上傳新的登入頁背景", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安裝支援 SVG 圖片的 PHP ImageMagick 擴充元件,以上傳的圖示與顏色為基礎生成 favicons。", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "在某些情況下,鍵盤快捷鍵可能會干擾輔助工具。 為了允許正確地專注於您的工具,您可以在此處禁用所有鍵盤快捷鍵。 這還將禁用應用程式中的所有可用快捷方式。", + "Pick from Files" : "從檔案選取", + "Default image" : "默認圖像", + "Custom color" : "自訂顏色", + "Plain background" : "簡單背景", + "Insert from {productName}" : "自 {productName} 插入", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "雖然您可以選取並自訂您的實例,但用戶仍可以變更他們自己的背景與顏色。若您想要強制執行您的自訂,您可以勾選此勾選框。" }, "nplurals=1; plural=0;"); diff --git a/apps/theming/l10n/zh_HK.json b/apps/theming/l10n/zh_HK.json index 921cbb8b9f4..e9793b8a9c9 100644 --- a/apps/theming/l10n/zh_HK.json +++ b/apps/theming/l10n/zh_HK.json @@ -74,11 +74,11 @@ "Set a custom background" : "設置自定義背景", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "我們非常重視無障礙使用。我們遵循網路標準,並透過檢查來確保所有內容皆可在沒有滑鼠或輔助軟體(例如螢幕閱讀器)的情況下使用。我們目標是能達到 {guidelines} 網頁內容可及性指引{linkend} 2.1 版的 AA 等級,加上高對比度主題甚至還能到 AAA 等級。", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "如果您發現任何問題,請在 {issuetracker}我們的問題追蹤系統{linkend} 舉報。而如果您想參與,歡迎加入 {designteam}我們的設計團隊{linked}!", - "Pick from Files" : "從檔案選取", - "Default image" : "默認圖像", - "Custom color" : "自訂顏色", - "Plain background" : "簡單背景", - "Insert from {productName}" : "自 {productName} 插入", + "Custom background" : "自訂背景", + "Default background" : "默認背景", + "Change color" : "變更顏色", + "Remove background" : "移除背景", + "Select a background from your files" : "從您的檔案中選擇背景", "Theme selection is enforced" : "主題選擇已實施", "Select a custom color" : "選擇自訂色彩", "Reset to default" : "恢復預設值", @@ -94,6 +94,11 @@ "Upload new login background" : "上傳新的登入頁背景", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安裝支援 SVG 圖片的 PHP ImageMagick 擴充元件,以上傳的圖示與顏色為基礎生成 favicons。", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "在某些情況下,鍵盤快捷鍵可能會干擾輔助工具。 為了允許正確地專注於您的工具,您可以在此處禁用所有鍵盤快捷鍵。 這還將禁用應用程式中的所有可用快捷方式。", + "Pick from Files" : "從檔案選取", + "Default image" : "默認圖像", + "Custom color" : "自訂顏色", + "Plain background" : "簡單背景", + "Insert from {productName}" : "自 {productName} 插入", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "雖然您可以選取並自訂您的實例,但用戶仍可以變更他們自己的背景與顏色。若您想要強制執行您的自訂,您可以勾選此勾選框。" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/theming/l10n/zh_TW.js b/apps/theming/l10n/zh_TW.js index 152f0f570be..b205edba2eb 100644 --- a/apps/theming/l10n/zh_TW.js +++ b/apps/theming/l10n/zh_TW.js @@ -76,11 +76,11 @@ OC.L10N.register( "Set a custom background" : "設定自訂背景", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "我們非常重視無障礙存取。我們遵循網路標準,並透過檢查來確保所有內容皆可在沒有滑鼠或輔助軟體(例如螢幕閱讀器)的情況下使用。我們目標是能達到{guidelines}網頁內容可及性指引{linkend} 2.1 版的 AA 等級,加上高對比度主題甚至還能到 AAA 等級。", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "如果您發現任何一個問題,請不要猶豫並請在{issuetracker}我們的問題追蹤系統{linkend}回報。而如果您想參與,歡迎加入{designteam}我們的設計團隊{linkend}!", - "Pick from Files" : "從檔案選取", - "Default image" : "預設影像", - "Custom color" : "自訂顏色", - "Plain background" : "簡單背景", - "Insert from {productName}" : "插入自 {productName}", + "Custom background" : "自訂背景", + "Default background" : "預設背景", + "Change color" : "變更顏色", + "Remove background" : "移除背景", + "Select a background from your files" : "從您的檔案中選取背景", "Theme selection is enforced" : "強制佈景主題選取", "Select a custom color" : "選取自訂色彩", "Reset to default" : "恢復預設值", @@ -96,6 +96,11 @@ OC.L10N.register( "Upload new login background" : "上傳新的登入頁面背景", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安裝支援 SVG 圖片的 PHP ImageMagick 擴充元件,以上傳的圖示與顏色為基礎生成 favicons。", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "在某些情況下,鍵盤快捷鍵可能會干擾無障礙工具。為了可以正確地將焦點置於您的工具,您可以在此處停用所有鍵盤快捷鍵。這也會停用應用程式中的所有可用的快捷鍵。", + "Pick from Files" : "從檔案選取", + "Default image" : "預設影像", + "Custom color" : "自訂顏色", + "Plain background" : "簡單背景", + "Insert from {productName}" : "插入自 {productName}", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "雖然您可以選取並自訂您的站台,但使用者仍可以變更他們自己的背景與顏色。若您想要強制執行您的自訂,您可以勾選此核取方塊。" }, "nplurals=1; plural=0;"); diff --git a/apps/theming/l10n/zh_TW.json b/apps/theming/l10n/zh_TW.json index 2942159f392..da299115fd5 100644 --- a/apps/theming/l10n/zh_TW.json +++ b/apps/theming/l10n/zh_TW.json @@ -74,11 +74,11 @@ "Set a custom background" : "設定自訂背景", "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "我們非常重視無障礙存取。我們遵循網路標準,並透過檢查來確保所有內容皆可在沒有滑鼠或輔助軟體(例如螢幕閱讀器)的情況下使用。我們目標是能達到{guidelines}網頁內容可及性指引{linkend} 2.1 版的 AA 等級,加上高對比度主題甚至還能到 AAA 等級。", "If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "如果您發現任何一個問題,請不要猶豫並請在{issuetracker}我們的問題追蹤系統{linkend}回報。而如果您想參與,歡迎加入{designteam}我們的設計團隊{linkend}!", - "Pick from Files" : "從檔案選取", - "Default image" : "預設影像", - "Custom color" : "自訂顏色", - "Plain background" : "簡單背景", - "Insert from {productName}" : "插入自 {productName}", + "Custom background" : "自訂背景", + "Default background" : "預設背景", + "Change color" : "變更顏色", + "Remove background" : "移除背景", + "Select a background from your files" : "從您的檔案中選取背景", "Theme selection is enforced" : "強制佈景主題選取", "Select a custom color" : "選取自訂色彩", "Reset to default" : "恢復預設值", @@ -94,6 +94,11 @@ "Upload new login background" : "上傳新的登入頁面背景", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安裝支援 SVG 圖片的 PHP ImageMagick 擴充元件,以上傳的圖示與顏色為基礎生成 favicons。", "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "在某些情況下,鍵盤快捷鍵可能會干擾無障礙工具。為了可以正確地將焦點置於您的工具,您可以在此處停用所有鍵盤快捷鍵。這也會停用應用程式中的所有可用的快捷鍵。", + "Pick from Files" : "從檔案選取", + "Default image" : "預設影像", + "Custom color" : "自訂顏色", + "Plain background" : "簡單背景", + "Insert from {productName}" : "插入自 {productName}", "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "雖然您可以選取並自訂您的站台,但使用者仍可以變更他們自己的背景與顏色。若您想要強制執行您的自訂,您可以勾選此核取方塊。" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/theming/lib/Command/UpdateConfig.php b/apps/theming/lib/Command/UpdateConfig.php index c327c92492f..58dfcff8a8e 100644 --- a/apps/theming/lib/Command/UpdateConfig.php +++ b/apps/theming/lib/Command/UpdateConfig.php @@ -36,10 +36,6 @@ class UpdateConfig extends Command { 'name', 'url', 'imprintUrl', 'privacyUrl', 'slogan', 'color', 'disable-user-theming' ]; - public const SUPPORTED_IMAGE_KEYS = [ - 'background', 'logo', 'favicon', 'logoheader' - ]; - private $themingDefaults; private $imageManager; private $config; @@ -87,14 +83,14 @@ class UpdateConfig extends Command { $value = $this->config->getAppValue('theming', $key, ''); $output->writeln('- ' . $key . ': ' . $value . ''); } - foreach (self::SUPPORTED_IMAGE_KEYS as $key) { + foreach (ImageManager::SUPPORTED_IMAGE_KEYS as $key) { $value = $this->config->getAppValue('theming', $key . 'Mime', ''); $output->writeln('- ' . $key . ': ' . $value . ''); } return 0; } - if (!in_array($key, self::SUPPORTED_KEYS, true) && !in_array($key, self::SUPPORTED_IMAGE_KEYS, true)) { + if (!in_array($key, self::SUPPORTED_KEYS, true) && !in_array($key, ImageManager::SUPPORTED_IMAGE_KEYS, true)) { $output->writeln('<error>Invalid config key provided</error>'); return 1; } @@ -115,7 +111,7 @@ class UpdateConfig extends Command { return 0; } - if (in_array($key, self::SUPPORTED_IMAGE_KEYS, true)) { + if (in_array($key, ImageManager::SUPPORTED_IMAGE_KEYS, true)) { if (strpos($value, '/') !== 0) { $output->writeln('<error>The image file needs to be provided as an absolute path: ' . $value . '.</error>'); return 1; diff --git a/apps/theming/lib/Controller/IconController.php b/apps/theming/lib/Controller/IconController.php index 173b5210394..08ee71ac660 100644 --- a/apps/theming/lib/Controller/IconController.php +++ b/apps/theming/lib/Controller/IconController.php @@ -86,16 +86,17 @@ class IconController extends Controller { * @throws \Exception */ public function getThemedIcon(string $app, string $image): Response { + $color = $this->themingDefaults->getColorPrimary(); try { - $iconFile = $this->imageManager->getCachedImage('icon-' . $app . '-' . str_replace('/', '_',$image)); + $iconFileName = $this->imageManager->getCachedImage('icon-' . $app . '-' . $color . str_replace('/', '_', $image)); } catch (NotFoundException $exception) { $icon = $this->iconBuilder->colorSvg($app, $image); if ($icon === false || $icon === '') { return new NotFoundResponse(); } - $iconFile = $this->imageManager->setCachedImage('icon-' . $app . '-' . str_replace('/', '_',$image), $icon); + $iconFileName = $this->imageManager->setCachedImage('icon-' . $app . '-' . $color . str_replace('/', '_', $image), $icon); } - $response = new FileDisplayResponse($iconFile, Http::STATUS_OK, ['Content-Type' => 'image/svg+xml']); + $response = new FileDisplayResponse($iconFileName, Http::STATUS_OK, ['Content-Type' => 'image/svg+xml']); $response->cacheFor(86400, false, true); return $response; } diff --git a/apps/theming/lib/Controller/ThemingController.php b/apps/theming/lib/Controller/ThemingController.php index 2cac9a345a4..8868208197d 100644 --- a/apps/theming/lib/Controller/ThemingController.php +++ b/apps/theming/lib/Controller/ThemingController.php @@ -276,6 +276,27 @@ class ThemingController extends Controller { } /** + * Revert all theming settings to their default values + * @AuthorizedAdminSetting(settings=OCA\Theming\Settings\Admin) + * + * @return DataResponse + * @throws NotPermittedException + */ + public function undoAll(): DataResponse { + $this->themingDefaults->undoAll(); + + return new DataResponse( + [ + 'data' => + [ + 'message' => $this->l10n->t('Saved'), + ], + 'status' => 'success' + ] + ); + } + + /** * @PublicPage * @NoCSRFRequired * @NoSameSiteCookieRequired diff --git a/apps/theming/lib/Controller/UserThemeController.php b/apps/theming/lib/Controller/UserThemeController.php index 635dad34736..a227e72d998 100644 --- a/apps/theming/lib/Controller/UserThemeController.php +++ b/apps/theming/lib/Controller/UserThemeController.php @@ -155,25 +155,44 @@ class UserThemeController extends OCSController { /** * @NoAdminRequired */ - public function setBackground(string $type = 'default', string $value = ''): JSONResponse { + public function deleteBackground(): JSONResponse { + $currentVersion = (int)$this->config->getUserValue($this->userId, Application::APP_ID, 'userCacheBuster', '0'); + $this->backgroundService->deleteBackgroundImage(); + return new JSONResponse([ + 'backgroundImage' => null, + 'backgroundColor' => $this->themingDefaults->getColorPrimary(), + 'version' => $currentVersion, + ]); + } + + /** + * @NoAdminRequired + */ + public function setBackground(string $type = BackgroundService::BACKGROUND_DEFAULT, string $value = '', string $color = null): JSONResponse { $currentVersion = (int)$this->config->getUserValue($this->userId, Application::APP_ID, 'userCacheBuster', '0'); + // Set color if provided + if ($color) { + $this->backgroundService->setColorBackground($color); + } + + // Set background image if provided try { switch ($type) { - case 'shipped': + case BackgroundService::BACKGROUND_SHIPPED: $this->backgroundService->setShippedBackground($value); break; - case 'custom': + case BackgroundService::BACKGROUND_CUSTOM: $this->backgroundService->setFileBackground($value); break; - case 'color': - $this->backgroundService->setColorBackground($value); - break; - case 'default': + case BackgroundService::BACKGROUND_DEFAULT: + // Delete both background and color keys $this->backgroundService->setDefaultBackground(); break; default: - return new JSONResponse(['error' => 'Invalid type provided'], Http::STATUS_BAD_REQUEST); + if (!$color) { + return new JSONResponse(['error' => 'Invalid type provided'], Http::STATUS_BAD_REQUEST); + } } } catch (\InvalidArgumentException $e) { return new JSONResponse(['error' => $e->getMessage()], Http::STATUS_BAD_REQUEST); @@ -185,8 +204,8 @@ class UserThemeController extends OCSController { $this->config->setUserValue($this->userId, Application::APP_ID, 'userCacheBuster', (string)$currentVersion); return new JSONResponse([ - 'type' => $type, - 'value' => $value, + 'backgroundImage' => $this->config->getUserValue($this->userId, Application::APP_ID, 'background_image', BackgroundService::BACKGROUND_DEFAULT), + 'backgroundColor' => $this->themingDefaults->getColorPrimary(), 'version' => $currentVersion, ]); } diff --git a/apps/theming/lib/ImageManager.php b/apps/theming/lib/ImageManager.php index 88a733580fc..f7b0c12844a 100644 --- a/apps/theming/lib/ImageManager.php +++ b/apps/theming/lib/ImageManager.php @@ -33,6 +33,8 @@ */ namespace OCA\Theming; +use OCA\Theming\AppInfo\Application; +use OCA\Theming\Service\BackgroundService; use OCP\Files\IAppData; use OCP\Files\NotFoundException; use OCP\Files\NotPermittedException; @@ -45,7 +47,7 @@ use OCP\ITempManager; use OCP\IURLGenerator; class ImageManager { - public const SupportedImageKeys = ['background', 'logo', 'logoheader', 'favicon']; + public const SUPPORTED_IMAGE_KEYS = ['background', 'logo', 'logoheader', 'favicon']; /** @var IConfig */ private $config; @@ -74,8 +76,14 @@ class ImageManager { $this->appData = $appData; } - public function getImageUrl(string $key, bool $useSvg = true): string { - $cacheBusterCounter = $this->config->getAppValue('theming', 'cachebuster', '0'); + /** + * Get a globally defined image (admin theming settings) + * + * @param string $key the image key + * @return string the image url + */ + public function getImageUrl(string $key): string { + $cacheBusterCounter = $this->config->getAppValue(Application::APP_ID, 'cachebuster', '0'); if ($this->hasImage($key)) { return $this->urlGenerator->linkToRoute('theming.Theming.getImage', [ 'key' => $key ]) . '?v=' . $cacheBusterCounter; } @@ -86,13 +94,16 @@ class ImageManager { case 'favicon': return $this->urlGenerator->imagePath('core', 'logo/logo.png') . '?v=' . $cacheBusterCounter; case 'background': - return $this->urlGenerator->imagePath('core', 'background.png') . '?v=' . $cacheBusterCounter; + return $this->urlGenerator->linkTo(Application::APP_ID, 'img/background/' . BackgroundService::DEFAULT_BACKGROUND_IMAGE); } return ''; } - public function getImageUrlAbsolute(string $key, bool $useSvg = true): string { - return $this->urlGenerator->getAbsoluteURL($this->getImageUrl($key, $useSvg)); + /** + * Get the absolute url. See getImageUrl + */ + public function getImageUrlAbsolute(string $key): string { + return $this->urlGenerator->getAbsoluteURL($this->getImageUrl($key)); } /** @@ -137,6 +148,20 @@ class ImageManager { } /** + * @return array<string, array{mime: string, url: string}> + */ + public function getCustomImages(): array { + $images = []; + foreach (self::SUPPORTED_IMAGE_KEYS as $key) { + $images[$key] = [ + 'mime' => $this->config->getAppValue('theming', $key . 'Mime', ''), + 'url' => $this->getImageUrl($key), + ]; + } + return $images; + } + + /** * Get folder for current theming files * * @return ISimpleFolder diff --git a/apps/theming/lib/Jobs/MigrateBackgroundImages.php b/apps/theming/lib/Jobs/MigrateBackgroundImages.php index b816a4c8775..54c0d591e40 100644 --- a/apps/theming/lib/Jobs/MigrateBackgroundImages.php +++ b/apps/theming/lib/Jobs/MigrateBackgroundImages.php @@ -27,56 +27,96 @@ declare(strict_types=1); namespace OCA\Theming\Jobs; use OCA\Theming\AppInfo\Application; -use OCP\App\IAppManager; use OCP\AppFramework\Utility\ITimeFactory; use OCP\BackgroundJob\IJobList; use OCP\BackgroundJob\QueuedJob; use OCP\Files\AppData\IAppDataFactory; +use OCP\Files\IAppData; use OCP\Files\NotFoundException; use OCP\Files\NotPermittedException; use OCP\Files\SimpleFS\ISimpleFolder; -use OCP\IConfig; +use OCP\IDBConnection; +use Psr\Log\LoggerInterface; class MigrateBackgroundImages extends QueuedJob { public const TIME_SENSITIVE = 0; - private IConfig $config; - private IAppManager $appManager; + public const STAGE_PREPARE = 'prepare'; + public const STAGE_EXECUTE = 'execute'; + // will be saved in appdata/theming/global/ + protected const STATE_FILE_NAME = '25_dashboard_to_theming_migration_users.json'; + private IAppDataFactory $appDataFactory; private IJobList $jobList; - - public function __construct(ITimeFactory $time, IAppDataFactory $appDataFactory, IConfig $config, IAppManager $appManager, IJobList $jobList) { + private IDBConnection $dbc; + private IAppData $appData; + private LoggerInterface $logger; + + public function __construct( + ITimeFactory $time, + IAppDataFactory $appDataFactory, + IJobList $jobList, + IDBConnection $dbc, + IAppData $appData, + LoggerInterface $logger + ) { parent::__construct($time); - $this->config = $config; - $this->appManager = $appManager; $this->appDataFactory = $appDataFactory; $this->jobList = $jobList; + $this->dbc = $dbc; + $this->appData = $appData; + $this->logger = $logger; } protected function run($argument): void { - if (!$this->appManager->isEnabledForUser('dashboard')) { - return; + if (!isset($argument['stage'])) { + // not executed in 25.0.0?! + $argument['stage'] = self::STAGE_PREPARE; } - $dashboardData = $this->appDataFactory->get('dashboard'); + switch ($argument['stage']) { + case self::STAGE_PREPARE: + $this->runPreparation(); + break; + case self::STAGE_EXECUTE: + $this->runMigration(); + break; + default: + break; + } + } - $userIds = $this->config->getUsersForUserValue('theming', 'background', 'custom'); + protected function runPreparation(): void { + try { + $selector = $this->dbc->getQueryBuilder(); + $result = $selector->select('userid') + ->from('preferences') + ->where($selector->expr()->eq('appid', $selector->createNamedParameter('theming'))) + ->andWhere($selector->expr()->eq('configkey', $selector->createNamedParameter('background'))) + ->andWhere($selector->expr()->eq('configvalue', $selector->createNamedParameter('custom'))) + ->executeQuery(); + + $userIds = $result->fetchAll(\PDO::FETCH_COLUMN); + $this->storeUserIdsToProcess($userIds); + } catch (\Throwable $t) { + $this->jobList->add(self::class, self::STAGE_PREPARE); + throw $t; + } + $this->jobList->add(self::class, self::STAGE_EXECUTE); + } - $notSoFastMode = \count($userIds) > 5000; - $reTrigger = false; - $processed = 0; + /** + * @throws NotPermittedException + * @throws NotFoundException + */ + protected function runMigration(): void { + $allUserIds = $this->readUserIdsToProcess(); + $notSoFastMode = count($allUserIds) > 5000; + $dashboardData = $this->appDataFactory->get('dashboard'); + $userIds = $notSoFastMode ? array_slice($allUserIds, 0, 5000) : $allUserIds; foreach ($userIds as $userId) { try { - // precondition - if ($notSoFastMode) { - if ($this->config->getUserValue($userId, 'theming', 'background-migrated', '0') === '1') { - // already migrated - continue; - } - $reTrigger = true; - } - // migration $file = $dashboardData->getFolder($userId)->getFile('background.jpg'); $targetDir = $this->getUserFolder($userId); @@ -87,18 +127,82 @@ class MigrateBackgroundImages extends QueuedJob { $file->delete(); } catch (NotFoundException|NotPermittedException $e) { } - // capture state - if ($notSoFastMode) { - $this->config->setUserValue($userId, 'theming', 'background-migrated', '1'); - $processed++; + } + + if ($notSoFastMode) { + $remainingUserIds = array_slice($allUserIds, 5000); + $this->storeUserIdsToProcess($remainingUserIds); + $this->jobList->add(self::class, ['stage' => self::STAGE_EXECUTE]); + } else { + $this->deleteStateFile(); + } + } + + /** + * @throws NotPermittedException + * @throws NotFoundException + */ + protected function readUserIdsToProcess(): array { + $globalFolder = $this->appData->getFolder('global'); + if ($globalFolder->fileExists(self::STATE_FILE_NAME)) { + $file = $globalFolder->getFile(self::STATE_FILE_NAME); + try { + $userIds = \json_decode($file->getContent(), true); + } catch (NotFoundException $e) { + $userIds = []; } - if ($processed > 4999) { - break; + if ($userIds === null) { + $userIds = []; } + } else { + $userIds = []; } + return $userIds; + } - if ($reTrigger) { - $this->jobList->add(self::class); + /** + * @throws NotFoundException + */ + protected function storeUserIdsToProcess(array $userIds): void { + $storableUserIds = \json_encode($userIds); + $globalFolder = $this->appData->getFolder('global'); + try { + if ($globalFolder->fileExists(self::STATE_FILE_NAME)) { + $file = $globalFolder->getFile(self::STATE_FILE_NAME); + } else { + $file = $globalFolder->newFile(self::STATE_FILE_NAME); + } + $file->putContent($storableUserIds); + } catch (NotFoundException $e) { + } catch (NotPermittedException $e) { + $this->logger->warning('Lacking permissions to create {file}', + [ + 'app' => 'theming', + 'file' => self::STATE_FILE_NAME, + 'exception' => $e, + ] + ); + } + } + + /** + * @throws NotFoundException + */ + protected function deleteStateFile(): void { + $globalFolder = $this->appData->getFolder('global'); + if ($globalFolder->fileExists(self::STATE_FILE_NAME)) { + $file = $globalFolder->getFile(self::STATE_FILE_NAME); + try { + $file->delete(); + } catch (NotPermittedException $e) { + $this->logger->info('Could not delete {file} due to permissions. It is safe to delete manually inside data -> appdata -> theming -> global.', + [ + 'app' => 'theming', + 'file' => $file->getName(), + 'exception' => $e, + ] + ); + } } } diff --git a/apps/theming/lib/Listener/BeforeTemplateRenderedListener.php b/apps/theming/lib/Listener/BeforeTemplateRenderedListener.php index a6e0923e643..380527ee024 100644 --- a/apps/theming/lib/Listener/BeforeTemplateRenderedListener.php +++ b/apps/theming/lib/Listener/BeforeTemplateRenderedListener.php @@ -84,16 +84,32 @@ class BeforeTemplateRenderedListener implements IEventListener { if (!empty($user)) { $userId = $user->getUID(); + /** User background */ $this->initialState->provideInitialState( - 'background', - $this->config->getUserValue($userId, Application::APP_ID, 'background', 'default'), + 'backgroundImage', + $this->config->getUserValue($userId, Application::APP_ID, 'background_image', BackgroundService::BACKGROUND_DEFAULT), ); + /** User color */ + $this->initialState->provideInitialState( + 'backgroundColor', + $this->config->getUserValue($userId, Application::APP_ID, 'background_color', BackgroundService::DEFAULT_COLOR), + ); + + /** + * Admin background. `backgroundColor` if disabled, + * mime type if defined and empty by default + */ $this->initialState->provideInitialState( 'themingDefaultBackground', $this->config->getAppValue('theming', 'backgroundMime', ''), ); + $this->initialState->provideInitialState( + 'defaultShippedBackground', + BackgroundService::DEFAULT_BACKGROUND_IMAGE, + ); + /** List of all shipped backgrounds */ $this->initialState->provideInitialState( 'shippedBackgrounds', BackgroundService::SHIPPED_BACKGROUNDS, diff --git a/apps/theming/lib/Migration/InitBackgroundImagesMigration.php b/apps/theming/lib/Migration/InitBackgroundImagesMigration.php index c23a9176843..ff8783196ac 100644 --- a/apps/theming/lib/Migration/InitBackgroundImagesMigration.php +++ b/apps/theming/lib/Migration/InitBackgroundImagesMigration.php @@ -43,6 +43,6 @@ class InitBackgroundImagesMigration implements \OCP\Migration\IRepairStep { } public function run(IOutput $output) { - $this->jobList->add(MigrateBackgroundImages::class); + $this->jobList->add(MigrateBackgroundImages::class, ['stage' => MigrateBackgroundImages::STAGE_PREPARE]); } } diff --git a/apps/theming/lib/Service/BackgroundService.php b/apps/theming/lib/Service/BackgroundService.php index 3daac7e7215..a12d72109da 100644 --- a/apps/theming/lib/Service/BackgroundService.php +++ b/apps/theming/lib/Service/BackgroundService.php @@ -30,7 +30,7 @@ namespace OCA\Theming\Service; use InvalidArgumentException; use OC\User\NoUserException; use OCA\Theming\AppInfo\Application; -use OCP\Files\AppData\IAppDataFactory; +use OCA\Theming\ThemingDefaults; use OCP\Files\File; use OCP\Files\IAppData; use OCP\Files\IRootFolder; @@ -48,6 +48,12 @@ class BackgroundService { public const DEFAULT_COLOR = '#0082c9'; public const DEFAULT_ACCESSIBLE_COLOR = '#00639a'; + public const BACKGROUND_SHIPPED = 'shipped'; + public const BACKGROUND_CUSTOM = 'custom'; + public const BACKGROUND_DEFAULT = 'default'; + public const BACKGROUND_DISABLED = 'disabled'; + + public const DEFAULT_BACKGROUND_IMAGE = 'kamil-porembinski-clouds.jpg'; public const SHIPPED_BACKGROUNDS = [ 'anatoly-mikhaltsov-butterfly-wing-scale.jpg' => [ 'attribution' => 'Butterfly wing scale (Anatoly Mikhaltsov, CC BY-SA)', @@ -134,13 +140,13 @@ class BackgroundService { private IAppData $appData; private IConfig $config; private string $userId; - private IAppDataFactory $appDataFactory; + private ThemingDefaults $themingDefaults; public function __construct(IRootFolder $rootFolder, IAppData $appData, IConfig $config, ?string $userId, - IAppDataFactory $appDataFactory) { + ThemingDefaults $themingDefaults) { if ($userId === null) { return; } @@ -149,11 +155,12 @@ class BackgroundService { $this->config = $config; $this->userId = $userId; $this->appData = $appData; - $this->appDataFactory = $appDataFactory; + $this->themingDefaults = $themingDefaults; } public function setDefaultBackground(): void { - $this->config->deleteUserValue($this->userId, Application::APP_ID, 'background'); + $this->config->deleteUserValue($this->userId, Application::APP_ID, 'background_image'); + $this->config->deleteUserValue($this->userId, Application::APP_ID, 'background_color'); } /** @@ -165,7 +172,7 @@ class BackgroundService { * @throws NoUserException */ public function setFileBackground($path): void { - $this->config->setUserValue($this->userId, Application::APP_ID, 'background', 'custom'); + $this->config->setUserValue($this->userId, Application::APP_ID, 'background_image', self::BACKGROUND_CUSTOM); $userFolder = $this->rootFolder->getUserFolder($this->userId); /** @var File $file */ @@ -183,27 +190,28 @@ class BackgroundService { if (!array_key_exists($fileName, self::SHIPPED_BACKGROUNDS)) { throw new InvalidArgumentException('The given file name is invalid'); } - $this->config->setUserValue($this->userId, Application::APP_ID, 'background', $fileName); + $this->config->setUserValue($this->userId, Application::APP_ID, 'background_image', $fileName); + $this->setColorBackground(self::SHIPPED_BACKGROUNDS[$fileName]['primary_color']); } public function setColorBackground(string $color): void { if (!preg_match('/^#([0-9a-f]{3}|[0-9a-f]{6})$/i', $color)) { throw new InvalidArgumentException('The given color is invalid'); } - $this->config->setUserValue($this->userId, Application::APP_ID, 'background', $color); + $this->config->setUserValue($this->userId, Application::APP_ID, 'background_color', $color); + } + + public function deleteBackgroundImage(): void { + $this->config->setUserValue($this->userId, Application::APP_ID, 'background_image', self::BACKGROUND_DISABLED); } public function getBackground(): ?ISimpleFile { - $background = $this->config->getUserValue($this->userId, Application::APP_ID, 'background', 'default'); - if ($background === 'custom') { + $background = $this->config->getUserValue($this->userId, Application::APP_ID, 'background_image', self::BACKGROUND_DEFAULT); + if ($background === self::BACKGROUND_CUSTOM) { try { return $this->getAppDataFolder()->getFile('background.jpg'); } catch (NotFoundException | NotPermittedException $e) { - try { - // Fallback can be removed in 26 - $dashboardFolder = $this->appDataFactory->get('dashboard'); - return $dashboardFolder->getFolder($this->userId)->getFile('background.jpg'); - } catch (\Throwable $t) {} + return null; } } return null; diff --git a/apps/theming/lib/Service/JSDataService.php b/apps/theming/lib/Service/JSDataService.php index 26cda8c0012..90acd74b868 100644 --- a/apps/theming/lib/Service/JSDataService.php +++ b/apps/theming/lib/Service/JSDataService.php @@ -59,7 +59,7 @@ class JSDataService implements \JsonSerializable { 'imprintUrl' => $this->themingDefaults->getImprintUrl(), 'privacyUrl' => $this->themingDefaults->getPrivacyUrl(), 'inverted' => $this->util->invertTextColor($this->themingDefaults->getColorPrimary()), - 'cacheBuster' => $this->appConfig->getAppValue(Application::APP_ID, 'cachebuster', '0'), + 'cacheBuster' => $this->util->getCacheBuster(), 'enabledThemes' => $this->themesService->getEnabledThemes(), ]; } diff --git a/apps/theming/lib/Service/ThemeInjectionService.php b/apps/theming/lib/Service/ThemeInjectionService.php index 27b65457e7f..8e55f614146 100644 --- a/apps/theming/lib/Service/ThemeInjectionService.php +++ b/apps/theming/lib/Service/ThemeInjectionService.php @@ -24,27 +24,30 @@ namespace OCA\Theming\Service; use OCA\Theming\AppInfo\Application; use OCA\Theming\Themes\DefaultTheme; +use OCA\Theming\Util; use OCP\IConfig; use OCP\IURLGenerator; use OCP\IUserSession; -use OCP\Util; class ThemeInjectionService { private IURLGenerator $urlGenerator; private ThemesService $themesService; private DefaultTheme $defaultTheme; + private Util $util; private IConfig $config; private ?string $userId; public function __construct(IURLGenerator $urlGenerator, ThemesService $themesService, DefaultTheme $defaultTheme, + Util $util, IConfig $config, IUserSession $userSession) { $this->urlGenerator = $urlGenerator; $this->themesService = $themesService; $this->defaultTheme = $defaultTheme; + $this->util = $util; $this->config = $config; if ($userSession->getUser() !== null) { $this->userId = $userSession->getUser()->getUID(); @@ -87,20 +90,12 @@ class ThemeInjectionService { * @param string $media media query to use in the <link> element */ private function addThemeHeader(string $themeId, bool $plain = true, string $media = null) { - $cacheBuster = $this->config->getAppValue('theming', 'cachebuster', '0'); - if ($this->userId !== null) { - // need to bust the cache for the CSS file when the user background changed as its - // URL is served in those files - $userCacheBuster = $this->config->getUserValue($this->userId, Application::APP_ID, 'userCacheBuster', '0'); - $cacheBuster .= $this->userId . '_' . $userCacheBuster; - } - $linkToCSS = $this->urlGenerator->linkToRoute('theming.Theming.getThemeStylesheet', [ 'themeId' => $themeId, 'plain' => $plain, - 'v' => substr(sha1($cacheBuster), 0, 8), + 'v' => $this->util->getCacheBuster(), ]); - Util::addHeader('link', [ + \OCP\Util::addHeader('link', [ 'rel' => 'stylesheet', 'media' => $media, 'href' => $linkToCSS, diff --git a/apps/theming/lib/Themes/CommonThemeTrait.php b/apps/theming/lib/Themes/CommonThemeTrait.php index 620c40199db..18d3fb2d814 100644 --- a/apps/theming/lib/Themes/CommonThemeTrait.php +++ b/apps/theming/lib/Themes/CommonThemeTrait.php @@ -84,32 +84,33 @@ trait CommonThemeTrait { protected function generateGlobalBackgroundVariables(): array { $user = $this->userSession->getUser(); $backgroundDeleted = $this->config->getAppValue(Application::APP_ID, 'backgroundMime', '') === 'backgroundColor'; - $hasCustomLogoHeader = $this->imageManager->hasImage('logo') || $this->imageManager->hasImage('logoheader'); + $hasCustomLogoHeader = $this->util->isLogoThemed(); $variables = []; + // Default last fallback values + $variables['--image-background-default'] = "url('" . $this->themingDefaults->getBackground() . "')"; + $variables['--color-background-plain'] = $this->defaultPrimaryColor; + // If primary as background has been request or if we have a custom primary colour // let's not define the background image if ($backgroundDeleted) { $variables['--color-background-plain'] = $this->themingDefaults->getColorPrimary(); - if ($this->themingDefaults->isUserThemingDisabled() || $user === null) { - $variables['--image-background-plain'] = 'true'; - } + $variables['--image-background-plain'] = 'yes'; } // Register image variables only if custom-defined - foreach (ImageManager::SupportedImageKeys as $image) { + foreach (ImageManager::SUPPORTED_IMAGE_KEYS as $image) { if ($this->imageManager->hasImage($image)) { $imageUrl = $this->imageManager->getImageUrl($image); if ($image === 'background') { // If background deleted is set, ignoring variable if ($backgroundDeleted) { - $variables['--image-background-default'] = 'no'; continue; } $variables['--image-background-size'] = 'cover'; - $variables['--image-background-default'] = "url('" . $imageUrl . "')"; } + // --image-background is overridden by user theming $variables["--image-$image"] = "url('" . $imageUrl . "')"; } } @@ -129,32 +130,32 @@ trait CommonThemeTrait { if ($user !== null && !$this->themingDefaults->isUserThemingDisabled() && $this->appManager->isEnabledForUser(Application::APP_ID)) { - $themingBackground = $this->config->getUserValue($user->getUID(), Application::APP_ID, 'background', 'default'); + $backgroundImage = $this->config->getUserValue($user->getUID(), Application::APP_ID, 'background_image', BackgroundService::BACKGROUND_DEFAULT); $currentVersion = (int)$this->config->getUserValue($user->getUID(), Application::APP_ID, 'userCacheBuster', '0'); - // The user uploaded a custom background - if ($themingBackground === 'custom') { - $cacheBuster = substr(sha1($user->getUID() . '_' . $currentVersion), 0, 8); + // The user removed the background + if ($backgroundImage === BackgroundService::BACKGROUND_DISABLED) { return [ - '--image-background' => "url('" . $this->urlGenerator->linkToRouteAbsolute('theming.userTheme.getBackground') . "?v=$cacheBuster')", - // TODO: implement primary color from custom background --color-background-plain + '--image-background' => 'no', + '--color-background-plain' => $this->themingDefaults->getColorPrimary(), ]; } - // The user picked a shipped background - if (isset(BackgroundService::SHIPPED_BACKGROUNDS[$themingBackground])) { + // The user uploaded a custom background + if ($backgroundImage === BackgroundService::BACKGROUND_CUSTOM) { + $cacheBuster = substr(sha1($user->getUID() . '_' . $currentVersion), 0, 8); return [ - '--image-background' => "url('" . $this->urlGenerator->linkTo(Application::APP_ID, "/img/background/$themingBackground") . "')", + '--image-background' => "url('" . $this->urlGenerator->linkToRouteAbsolute('theming.userTheme.getBackground') . "?v=$cacheBuster')", '--color-background-plain' => $this->themingDefaults->getColorPrimary(), - '--background-image-invert-if-bright' => BackgroundService::SHIPPED_BACKGROUNDS[$themingBackground]['theming'] ?? null === BackgroundService::THEMING_MODE_DARK ? 'invert(100%)' : 'no', ]; } - // The user picked a static colour - if (substr($themingBackground, 0, 1) === '#') { + // The user picked a shipped background + if (isset(BackgroundService::SHIPPED_BACKGROUNDS[$backgroundImage])) { return [ - '--image-background' => 'no', + '--image-background' => "url('" . $this->urlGenerator->linkTo(Application::APP_ID, "img/background/$backgroundImage") . "')", '--color-background-plain' => $this->themingDefaults->getColorPrimary(), + '--background-image-invert-if-bright' => BackgroundService::SHIPPED_BACKGROUNDS[$backgroundImage]['theming'] ?? null === BackgroundService::THEMING_MODE_DARK ? 'invert(100%)' : 'no', ]; } } diff --git a/apps/theming/lib/Themes/DefaultTheme.php b/apps/theming/lib/Themes/DefaultTheme.php index 94b71eb9d12..1c967cd820e 100644 --- a/apps/theming/lib/Themes/DefaultTheme.php +++ b/apps/theming/lib/Themes/DefaultTheme.php @@ -190,11 +190,6 @@ class DefaultTheme implements ITheme { '--background-invert-if-dark' => 'no', '--background-invert-if-bright' => 'invert(100%)', '--background-image-invert-if-bright' => 'no', - - // Default last fallback values - '--image-background' => "url('" . $this->urlGenerator->imagePath('core', 'app-background.jpg') . "')", - '--image-background-default' => "url('" . $this->urlGenerator->imagePath('core', 'app-background.jpg') . "')", - '--color-background-plain' => $this->defaultPrimaryColor, ]; // Primary variables diff --git a/apps/theming/lib/ThemingDefaults.php b/apps/theming/lib/ThemingDefaults.php index f32faa5a8ef..afec58dc3a3 100644 --- a/apps/theming/lib/ThemingDefaults.php +++ b/apps/theming/lib/ThemingDefaults.php @@ -226,22 +226,11 @@ class ThemingDefaults extends \OC_Defaults { } // user-defined primary color - $themingBackground = ''; if (!empty($user)) { - $themingBackground = $this->config->getUserValue($user->getUID(), Application::APP_ID, 'background', ''); - // If the user selected the default background - if ($themingBackground === '') { - return BackgroundService::DEFAULT_COLOR; - } - + $themingBackgroundColor = $this->config->getUserValue($user->getUID(), Application::APP_ID, 'background_color', ''); // If the user selected a specific colour - if (preg_match('/^\#([0-9a-f]{3}|[0-9a-f]{6})$/i', $themingBackground)) { - return $themingBackground; - } - - // if the user-selected background is a background reference - if (isset(BackgroundService::SHIPPED_BACKGROUNDS[$themingBackground]['primary_color'])) { - return BackgroundService::SHIPPED_BACKGROUNDS[$themingBackground]['primary_color']; + if (preg_match('/^\#([0-9a-f]{3}|[0-9a-f]{6})$/i', $themingBackgroundColor)) { + return $themingBackgroundColor; } } @@ -258,7 +247,7 @@ class ThemingDefaults extends \OC_Defaults { * Return the default color primary */ public function getDefaultColorPrimary(): string { - $color = $this->config->getAppValue(Application::APP_ID, 'color'); + $color = $this->config->getAppValue(Application::APP_ID, 'color', ''); if (!preg_match('/^\#([0-9a-f]{3}|[0-9a-f]{6})$/i', $color)) { $color = '#0082c9'; } @@ -420,7 +409,7 @@ class ThemingDefaults extends \OC_Defaults { } if ($route) { - return $route . '?v=' . $cacheBusterValue; + return $route . '?v=' . $this->util->getCacheBuster(); } return false; @@ -450,18 +439,26 @@ class ThemingDefaults extends \OC_Defaults { * @param string $setting * @param string $value */ - public function set($setting, $value) { + public function set($setting, $value): void { $this->config->setAppValue('theming', $setting, $value); $this->increaseCacheBuster(); } /** + * Revert all settings to the default value + */ + public function undoAll(): void { + $this->config->deleteAppValues('theming'); + $this->increaseCacheBuster(); + } + + /** * Revert settings to the default value * * @param string $setting setting which should be reverted * @return string default value */ - public function undo($setting) { + public function undo($setting): string { $this->config->deleteAppValue('theming', $setting); $this->increaseCacheBuster(); @@ -477,7 +474,7 @@ class ThemingDefaults extends \OC_Defaults { $returnValue = $this->getSlogan(); break; case 'color': - $returnValue = $this->getColorPrimary(); + $returnValue = $this->getDefaultColorPrimary(); break; case 'logo': case 'logoheader': diff --git a/apps/theming/lib/Util.php b/apps/theming/lib/Util.php index 9a00bd1d5b1..a85dacd3de2 100644 --- a/apps/theming/lib/Util.php +++ b/apps/theming/lib/Util.php @@ -34,6 +34,7 @@ use OCP\Files\IAppData; use OCP\Files\NotFoundException; use OCP\Files\SimpleFS\ISimpleFile; use OCP\IConfig; +use OCP\IUserSession; use Mexitek\PHPColors\Color; class Util { @@ -41,18 +42,13 @@ class Util { private IConfig $config; private IAppManager $appManager; private IAppData $appData; + private ImageManager $imageManager; - /** - * Util constructor. - * - * @param IConfig $config - * @param IAppManager $appManager - * @param IAppData $appData - */ - public function __construct(IConfig $config, IAppManager $appManager, IAppData $appData) { + public function __construct(IConfig $config, IAppManager $appManager, IAppData $appData, ImageManager $imageManager) { $this->config = $config; $this->appManager = $appManager; $this->appData = $appData; + $this->imageManager = $imageManager; } /** @@ -266,4 +262,25 @@ class Util { $backgroundLogo = $this->config->getAppValue('theming', 'backgroundMime', ''); return $backgroundLogo !== '' && $backgroundLogo !== 'backgroundColor'; } + + public function isLogoThemed() { + return $this->imageManager->hasImage('logo') + || $this->imageManager->hasImage('logoheader'); + } + + public function getCacheBuster(): string { + $userSession = \OC::$server->get(IUserSession::class); + $userId = ''; + $user = $userSession->getUser(); + if (!is_null($user)) { + $userId = $user->getUID(); + } + $userCacheBuster = ''; + if ($userId) { + $userCacheBusterValue = (int)$this->config->getUserValue($userId, 'theming', 'userCacheBuster', '0'); + $userCacheBuster = $userId . '_' . $userCacheBusterValue; + } + $systemCacheBuster = $this->config->getAppValue('theming', 'cachebuster', '0'); + return substr(sha1($userCacheBuster . $systemCacheBuster), 0, 8); + } } diff --git a/apps/theming/src/AdminTheming.vue b/apps/theming/src/AdminTheming.vue index 1d9f5b69512..f922143e04d 100644 --- a/apps/theming/src/AdminTheming.vue +++ b/apps/theming/src/AdminTheming.vue @@ -24,39 +24,49 @@ <section> <NcSettingsSection :title="t('theming', 'Theming')" :description="t('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.')" - :doc-url="docUrl"> + :doc-url="docUrl" + data-admin-theming-settings> <div class="admin-theming"> <NcNoteCard v-if="!isThemable" type="error" :show-alert="true"> <p>{{ notThemableErrorMessage }}</p> </NcNoteCard> + + <!-- Name, web link, slogan... fields --> <TextField v-for="field in textFields" :key="field.name" - :name="field.name" - :value.sync="field.value" + :data-admin-theming-setting-field="field.name" :default-value="field.defaultValue" - :type="field.type" :display-name="field.displayName" - :placeholder="field.placeholder" :maxlength="field.maxlength" + :name="field.name" + :placeholder="field.placeholder" + :type="field.type" + :value.sync="field.value" @update:theming="$emit('update:theming')" /> + + <!-- Primary color picker --> <ColorPickerField :name="colorPickerField.name" - :value.sync="colorPickerField.value" :default-value="colorPickerField.defaultValue" :display-name="colorPickerField.displayName" + :value.sync="colorPickerField.value" + data-admin-theming-setting-primary-color @update:theming="$emit('update:theming')" /> + + <!-- Default background picker --> <FileInputField v-for="field in fileInputFields" :key="field.name" - :name="field.name" - :mime-name="field.mimeName" - :mime-value.sync="field.mimeValue" + :aria-label="field.ariaLabel" + :data-admin-theming-setting-file="field.name" :default-mime-value="field.defaultMimeValue" :display-name="field.displayName" - :aria-label="field.ariaLabel" + :mime-name="field.mimeName" + :mime-value.sync="field.mimeValue" + :name="field.name" @update:theming="$emit('update:theming')" /> - <div class="admin-theming__preview"> - <div class="admin-theming__preview-logo" /> + <div class="admin-theming__preview" data-admin-theming-preview> + <div class="admin-theming__preview-logo" data-admin-theming-preview-logo /> </div> </div> </NcSettingsSection> @@ -87,6 +97,7 @@ :display-name="userThemingField.displayName" :label="userThemingField.label" :description="userThemingField.description" + data-admin-theming-setting-disable-user-theming @update:theming="$emit('update:theming')" /> <a v-if="!canThemeIcons" :href="docUrlIcons" @@ -285,8 +296,15 @@ export default { background-position: center; text-align: center; margin-top: 10px; - background-color: var(--color-primary-default); - background-image: var(--image-background-default, var(--image-background-plain, url('../../../core/img/app-background.jpg'), linear-gradient(40deg, #0082c9 0%, #30b6ff 100%))); + /* This is basically https://github.com/nextcloud/server/blob/master/core/css/guest.css + But without the user variables. That way the admin can preview the render as guest*/ + /* As guest, there is no user color color-background-plain */ + background-color: var(--color-primary-default, #0082c9); + /* As guest, there is no user background (--image-background) + 1. Empty background if defined + 2. Else default background + 3. Finally default gradient (should not happened, the background is always defined anyway) */ + background-image: var(--image-background-plain, var(--image-background-default, linear-gradient(40deg, #0082c9 0%, #30b6ff 100%))); &-logo { width: 20%; diff --git a/apps/theming/src/UserThemes.vue b/apps/theming/src/UserThemes.vue index 5a41c019017..0f72e95d9a8 100644 --- a/apps/theming/src/UserThemes.vue +++ b/apps/theming/src/UserThemes.vue @@ -63,16 +63,14 @@ </NcSettingsSection> <NcSettingsSection :title="t('theming', 'Background')" - class="background"> + class="background" + data-user-theming-background-disabled> <template v-if="isUserThemingDisabled"> <p>{{ t('theming', 'Customization has been disabled by your administrator') }}</p> </template> <template v-else> <p>{{ t('theming', 'Set a custom background') }}</p> - <BackgroundSettings class="background__grid" - :background="background" - :theming-default-background="themingDefaultBackground" - @update:background="updateBackground" /> + <BackgroundSettings class="background__grid" @update:background="refreshGlobalStyles" /> </template> </NcSettingsSection> </section> @@ -92,8 +90,6 @@ const availableThemes = loadState('theming', 'themes', []) const enforceTheme = loadState('theming', 'enforceTheme', '') const shortcutsDisabled = loadState('theming', 'shortcutsDisabled', false) -const background = loadState('theming', 'background') -const themingDefaultBackground = loadState('theming', 'themingDefaultBackground') const isUserThemingDisabled = loadState('theming', 'isUserThemingDisabled') console.debug('Available themes', availableThemes) @@ -111,10 +107,10 @@ export default { data() { return { availableThemes, + + // Admin defined configs enforceTheme, shortcutsDisabled, - background, - themingDefaultBackground, isUserThemingDisabled, } }, @@ -173,9 +169,21 @@ export default { }, methods: { + // Refresh server-side generated theming CSS + refreshGlobalStyles() { + [...document.head.querySelectorAll('link.theme')].forEach(theme => { + const url = new URL(theme.href) + url.searchParams.set('v', Date.now()) + const newTheme = theme.cloneNode() + newTheme.href = url.toString() + newTheme.onload = () => theme.remove() + document.head.append(newTheme) + }) + }, + updateBackground(data) { this.background = (data.type === 'custom' || data.type === 'default') ? data.type : data.value - this.$emit('update:background') + this.refreshGlobalStyles() }, changeTheme({ enabled, id }) { diff --git a/apps/theming/src/components/BackgroundSettings.vue b/apps/theming/src/components/BackgroundSettings.vue index 36d249e4c51..97912ae3c9c 100644 --- a/apps/theming/src/components/BackgroundSettings.vue +++ b/apps/theming/src/components/BackgroundSettings.vue @@ -1,10 +1,10 @@ <!-- - @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net> - - @copyright Copyright (c) 2022 Greta Doci <gretadoci@gmail.com> - - - @author Julius Härtl <jus@bitgrid.net> - - @author Greta Doci <gretadoci@gmail.com> - @author Christopher Ng <chrng8@gmail.com> + - @author Greta Doci <gretadoci@gmail.com> + - @author John Molakvoæ <skjnldsv@protonmail.com> + - @author Julius Härtl <jus@bitgrid.net> - - @license GNU AGPL version 3 or any later version - @@ -24,70 +24,93 @@ --> <template> - <div class="background-selector"> + <div class="background-selector" data-user-theming-background-settings> <!-- Custom background --> - <button class="background filepicker" - :class="{ active: background === 'custom' }" + <button class="background background__filepicker" + :class="{ 'icon-loading': loading === 'custom', 'background--active': backgroundImage === 'custom' }" + :data-color-bright="invertTextColor(Theming.color)" + data-user-theming-background-custom tabindex="0" @click="pickFile"> - {{ t('theming', 'Pick from Files') }} + {{ t('theming', 'Custom background') }} + <Check :size="44" /> </button> <!-- Default background --> - <button class="background default" + <button class="background background__default" + :class="{ 'icon-loading': loading === 'default', 'background--active': backgroundImage === 'default' }" + :data-color-bright="invertTextColor(Theming.defaultColor)" + :style="{ '--border-color': Theming.defaultColor }" + data-user-theming-background-default tabindex="0" - :class="{ 'icon-loading': loading === 'default', active: background === 'default' }" @click="setDefault"> - {{ t('theming', 'Default image') }} + {{ t('theming', 'Default background') }} + <Check :size="44" /> </button> <!-- Custom color picker --> <NcColorPicker v-model="Theming.color" @input="debouncePickColor"> - <button class="background color" - :class="{ active: background === Theming.color}" - tabindex="0" + <button class="background background__color" :data-color="Theming.color" :data-color-bright="invertTextColor(Theming.color)" - :style="{ backgroundColor: Theming.color, color: invertTextColor(Theming.color) ? '#000000' : '#ffffff'}"> - {{ t('theming', 'Custom color') }} + :style="{ backgroundColor: Theming.color, '--border-color': Theming.color}" + data-user-theming-background-color + tabindex="0"> + {{ t('theming', 'Change color') }} </button> </NcColorPicker> - <!-- Default admin primary color --> - <button class="background color" - :class="{ active: background === Theming.defaultColor }" - tabindex="0" - :data-color="Theming.defaultColor" - :data-color-bright="invertTextColor(Theming.defaultColor)" - :style="{ color: invertTextColor(Theming.defaultColor) ? '#000000' : '#ffffff'}" - @click="debouncePickColor"> - {{ t('theming', 'Plain background') }} - </button> - <!-- Background set selection --> <button v-for="shippedBackground in shippedBackgrounds" :key="shippedBackground.name" v-tooltip="shippedBackground.details.attribution" - :class="{ 'icon-loading': loading === shippedBackground.name, active: background === shippedBackground.name }" - tabindex="0" - class="background" + :class="{ 'icon-loading': loading === shippedBackground.name, 'background--active': backgroundImage === shippedBackground.name }" :data-color-bright="shippedBackground.details.theming === 'dark'" - :style="{ 'background-image': 'url(' + shippedBackground.preview + ')' }" - @click="setShipped(shippedBackground.name)" /> + :data-user-theming-background-shipped="shippedBackground.name" + :style="{ backgroundImage: 'url(' + shippedBackground.preview + ')', '--border-color': shippedBackground.details.primary_color }" + class="background background__shipped" + tabindex="0" + @click="setShipped(shippedBackground.name)"> + <Check :size="44" /> + </button> + + <!-- Remove background --> + <button class="background background__delete" + data-user-theming-background-clear + tabindex="0" + @click="removeBackground"> + {{ t('theming', 'Remove background') }} + <Close :size="32" /> + </button> </div> </template> <script> -import { generateUrl } from '@nextcloud/router' -import { getBackgroundUrl } from '../helpers/getBackgroundUrl.js' +import { generateFilePath, generateRemoteUrl, generateUrl } from '@nextcloud/router' import { loadState } from '@nextcloud/initial-state' -import { prefixWithBaseUrl } from '../helpers/prefixWithBaseUrl.js' import axios from '@nextcloud/axios' +import Check from 'vue-material-design-icons/Check.vue' +import Close from 'vue-material-design-icons/Close.vue' import debounce from 'debounce' import NcColorPicker from '@nextcloud/vue/dist/Components/NcColorPicker' import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip' +import Vibrant from 'node-vibrant' +import { Palette } from 'node-vibrant/lib/color' +import { getFilePickerBuilder } from '@nextcloud/dialogs' +import { getCurrentUser } from '@nextcloud/auth' +const backgroundImage = loadState('theming', 'backgroundImage') const shippedBackgroundList = loadState('theming', 'shippedBackgrounds') +const themingDefaultBackground = loadState('theming', 'themingDefaultBackground') +const defaultShippedBackground = loadState('theming', 'defaultShippedBackground') + +const prefixWithBaseUrl = (url) => generateFilePath('theming', '', 'img/background/') + url +const picker = getFilePickerBuilder(t('theming', 'Select a background from your files')) + .setMultiSelect(false) + .setModal(true) + .setType(1) + .setMimeTypeFilter(['image/png', 'image/gif', 'image/jpeg', 'image/svg+xml', 'image/svg']) + .build() export default { name: 'BackgroundSettings', @@ -96,38 +119,48 @@ export default { }, components: { + Check, + Close, NcColorPicker, }, - props: { - background: { - type: String, - default: 'default', - }, - themingDefaultBackground: { - type: String, - default: '', - }, - }, - data() { return { - backgroundImage: generateUrl('/apps/theming/background') + '?v=' + Date.now(), loading: false, Theming: loadState('theming', 'data', {}), + + // User background image and color settings + backgroundImage, } }, computed: { shippedBackgrounds() { - return Object.keys(shippedBackgroundList).map(fileName => { - return { - name: fileName, - url: prefixWithBaseUrl(fileName), - preview: prefixWithBaseUrl('preview/' + fileName), - details: shippedBackgroundList[fileName], - } - }) + return Object.keys(shippedBackgroundList) + .map(fileName => { + return { + name: fileName, + url: prefixWithBaseUrl(fileName), + preview: prefixWithBaseUrl('preview/' + fileName), + details: shippedBackgroundList[fileName], + } + }) + .filter(background => { + // If the admin did not changed the global background + // let's hide the default background to not show it twice + if (!this.isGlobalBackgroundDeleted && !this.isGlobalBackgroundDefault) { + return background.name !== defaultShippedBackground + } + return true + }) + }, + + isGlobalBackgroundDefault() { + return !!themingDefaultBackground + }, + + isGlobalBackgroundDeleted() { + return themingDefaultBackground === 'backgroundColor' }, }, @@ -163,20 +196,23 @@ export default { : null }, + /** + * Update local state + * + * @param {object} data destructuring object + * @param {string} data.backgroundColor background color value + * @param {string} data.backgroundImage background image value + * @param {string} data.version cache buster number + * @see https://github.com/nextcloud/server/blob/c78bd45c64d9695724fc44fe8453a88824b85f2f/apps/theming/lib/Controller/UserThemeController.php#L187-L191 + */ async update(data) { - const background = data.type === 'custom' || data.type === 'default' ? data.type : data.value - this.backgroundImage = getBackgroundUrl(background, data.version, this.themingDefaultBackground) - if (data.type === 'color' || (data.type === 'default' && this.themingDefaultBackground === 'backgroundColor')) { - this.$emit('update:background', data) - this.loading = false - return - } - const image = new Image() - image.onload = () => { - this.$emit('update:background', data) - this.loading = false - } - image.src = this.backgroundImage + // Update state + this.backgroundImage = data.backgroundImage + this.Theming.color = data.backgroundColor + + // Notify parent and reload style + this.$emit('update:background') + this.loading = false }, async setDefault() { @@ -191,28 +227,70 @@ export default { this.update(result.data) }, - async setFile(path) { + async setFile(path, color = null) { this.loading = 'custom' - const result = await axios.post(generateUrl('/apps/theming/background/custom'), { value: path }) + const result = await axios.post(generateUrl('/apps/theming/background/custom'), { value: path, color }) + this.update(result.data) + }, + + async removeBackground() { + this.loading = 'remove' + const result = await axios.delete(generateUrl('/apps/theming/background/custom')) this.update(result.data) }, - debouncePickColor: debounce(function() { - this.pickColor(...arguments) - }, 200), async pickColor(event) { this.loading = 'color' const color = event?.target?.dataset?.color || this.Theming?.color || '#0082c9' - const result = await axios.post(generateUrl('/apps/theming/background/color'), { value: color }) + const result = await axios.post(generateUrl('/apps/theming/background/color'), { color }) this.update(result.data) }, + debouncePickColor: debounce(function() { + this.pickColor(...arguments) + }, 200), + + async pickFile() { + const path = await picker.pick() + this.loading = 'custom' - pickFile() { - window.OC.dialogs.filepicker(t('theming', 'Insert from {productName}', { productName: OC.theme.name }), (path, type) => { - if (type === OC.dialogs.FILEPICKER_TYPE_CHOOSE) { - this.setFile(path) - } - }, false, ['image/png', 'image/gif', 'image/jpeg', 'image/svg'], true, OC.dialogs.FILEPICKER_TYPE_CHOOSE) + // Extract primary color from image + let response = null + let color = null + try { + const fileUrl = generateRemoteUrl('dav/files/' + getCurrentUser().uid + path) + response = await axios.get(fileUrl, { responseType: 'blob' }) + const blobUrl = URL.createObjectURL(response.data) + const palette = await this.getColorPaletteFromBlob(blobUrl) + + // DarkVibrant is accessible AND visually pleasing + // Vibrant is not accessible enough and others are boring + color = palette?.DarkVibrant?.hex + this.setFile(path, color) + + // Log data + console.debug('Extracted colour', color, 'from custom image', path, palette) + } catch (error) { + this.setFile(path) + console.error('Unable to extract colour from custom image', { error, path, response, color }) + } + }, + + /** + * Extract a Vibrant color palette from a blob URL + * + * @param {string} blobUrl the blob URL + * @return {Promise<Palette>} + */ + getColorPaletteFromBlob(blobUrl) { + return new Promise((resolve, reject) => { + const vibrant = new Vibrant(blobUrl) + vibrant.getPalette((error, palette) => { + if (error) { + reject(error) + } + resolve(palette) + }) + }) }, }, } @@ -225,50 +303,70 @@ export default { justify-content: center; .background { + overflow: hidden; width: 176px; height: 96px; margin: 8px; - background-size: cover; - background-position: center center; text-align: center; - border-radius: var(--border-radius-large); border: 2px solid var(--color-main-background); - overflow: hidden; + border-radius: var(--border-radius-large); + background-position: center center; + background-size: cover; + + &__filepicker { + &.background--active { + color: white; + background-image: var(--image-background); + } + } - &.current { - background-image: var(--color-background-dark); + &__default { + background-color: var(--color-primary-default); + background-image: var(--image-background-default); } - &.filepicker, &.default, &.color { + &__filepicker, &__default, &__color { border-color: var(--color-border); } - &.color { - background-color: var(--color-primary-default); + &__color { color: var(--color-primary-text); + background-color: var(--color-primary-default); } - &.active, + // Over a background image + &__default, + &__shipped { + color: white; + } + + // Text and svg icon dark on bright background + &[data-color-bright] { + color: black; + } + + &--active, &:hover, &:focus { - border: 2px solid var(--color-primary); + // Use theme color primary, see inline css variable in template + border: 2px solid var(--border-color, var(--color-primary)) !important; } - &.active:not(.icon-loading) { - &:after { - background-image: var(--original-icon-checkmark-white); - background-repeat: no-repeat; - background-position: center; - background-size: 44px; - content: ''; - display: block; - height: 100%; - } + // Icon + span { + margin: 4px; + } - &[data-color-bright]:after { - background-image: var(--original-icon-checkmark-dark); - } + &__filepicker span, + &__default span, + &__shipped span { + display: none; + } + + &--active:not(.icon-loading) span { + display: block !important; } } } + </style> diff --git a/apps/theming/src/components/admin/ColorPickerField.vue b/apps/theming/src/components/admin/ColorPickerField.vue index 2e6ee99a75d..c9f1a8e4ef5 100644 --- a/apps/theming/src/components/admin/ColorPickerField.vue +++ b/apps/theming/src/components/admin/ColorPickerField.vue @@ -30,13 +30,15 @@ <NcButton class="field__button" type="primary" :id="id" - :aria-label="t('theming', 'Select a custom color')"> + :aria-label="t('theming', 'Select a custom color')" + data-admin-theming-setting-primary-color-picker> {{ value }} </NcButton> </NcColorPicker> <NcButton v-if="value !== defaultValue" type="tertiary" :aria-label="t('theming', 'Reset to default')" + data-admin-theming-setting-primary-color-reset @click="undo"> <template #icon> <Undo :size="20" /> diff --git a/apps/theming/src/components/admin/FileInputField.vue b/apps/theming/src/components/admin/FileInputField.vue index 537970cc0cc..c15d1ee2c8e 100644 --- a/apps/theming/src/components/admin/FileInputField.vue +++ b/apps/theming/src/components/admin/FileInputField.vue @@ -27,6 +27,7 @@ <NcButton type="secondary" :id="id" :aria-label="ariaLabel" + data-admin-theming-setting-file-picker @click="activateLocalFilePicker"> <template #icon> <Upload :size="20" /> @@ -36,6 +37,7 @@ <NcButton v-if="showReset" type="tertiary" :aria-label="t('theming', 'Reset to default')" + data-admin-theming-setting-file-reset @click="undo"> <template #icon> <Undo :size="20" /> @@ -44,6 +46,7 @@ <NcButton v-if="showRemove" type="tertiary" :aria-label="t('theming', 'Remove background image')" + data-admin-theming-setting-file-remove @click="removeBackground"> <template #icon> <Delete :size="20" /> diff --git a/apps/theming/src/components/admin/TextField.vue b/apps/theming/src/components/admin/TextField.vue index df82415e48a..9a3a98fe20d 100644 --- a/apps/theming/src/components/admin/TextField.vue +++ b/apps/theming/src/components/admin/TextField.vue @@ -22,8 +22,6 @@ <template> <div class="field"> - <!-- PENDING undo trailing button icon requires @nextcloud/vue release and bump --> - <!-- PENDING custom maxlength requires @nextcloud/vue release and bump --> <NcTextField :value.sync="localValue" :label="displayName" :label-visible="true" diff --git a/apps/theming/src/helpers/getBackgroundUrl.js b/apps/theming/src/helpers/getBackgroundUrl.js deleted file mode 100644 index 88a3ab57291..00000000000 --- a/apps/theming/src/helpers/getBackgroundUrl.js +++ /dev/null @@ -1,49 +0,0 @@ -/** - * @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net> - * - * @author Avior <florian.bouillon@delta-wings.net> - * @author Julien Veyssier <eneiluj@posteo.net> - * @author Julius Härtl <jus@bitgrid.net> - * - * @license AGPL-3.0-or-later - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -import { generateUrl } from '@nextcloud/router' -import { prefixWithBaseUrl } from './prefixWithBaseUrl.js' - -export const getBackgroundUrl = (background, time = 0, themingDefaultBackground = '') => { - const enabledThemes = window.OCA?.Theming?.enabledThemes || [] - const isDarkTheme = (enabledThemes.length === 0 || enabledThemes[0] === 'default') - ? window.matchMedia('(prefers-color-scheme: dark)').matches - : enabledThemes.join('').indexOf('dark') !== -1 - - if (background === 'default') { - if (themingDefaultBackground && themingDefaultBackground !== 'backgroundColor') { - return generateUrl('/apps/theming/image/background') + '?v=' + window.OCA.Theming.cacheBuster - } - - if (isDarkTheme) { - return prefixWithBaseUrl('eduardo-neves-pedra-azul.jpg') - } - - return prefixWithBaseUrl('kamil-porembinski-clouds.jpg') - } else if (background === 'custom') { - return generateUrl('/apps/theming/background') + '?v=' + time - } - - return prefixWithBaseUrl(background) -} diff --git a/apps/theming/tests/CapabilitiesTest.php b/apps/theming/tests/CapabilitiesTest.php index 41a4a6aa981..1de439a70e9 100644 --- a/apps/theming/tests/CapabilitiesTest.php +++ b/apps/theming/tests/CapabilitiesTest.php @@ -29,6 +29,7 @@ namespace OCA\Theming\Tests; use OCA\Theming\Capabilities; +use OCA\Theming\ImageManager; use OCA\Theming\ThemingDefaults; use OCA\Theming\Util; use OCP\App\IAppManager; @@ -173,7 +174,7 @@ class CapabilitiesTest extends TestCase { ->method('getTextColorPrimary') ->willReturn($textColor); - $util = new Util($this->config, $this->createMock(IAppManager::class), $this->createMock(IAppData::class)); + $util = new Util($this->config, $this->createMock(IAppManager::class), $this->createMock(IAppData::class), $this->createMock(ImageManager::class)); $this->util->expects($this->exactly(3)) ->method('elementColor') ->with($color) diff --git a/apps/theming/tests/IconBuilderTest.php b/apps/theming/tests/IconBuilderTest.php index f4ad5bef4ac..6edd6a05525 100644 --- a/apps/theming/tests/IconBuilderTest.php +++ b/apps/theming/tests/IconBuilderTest.php @@ -63,7 +63,7 @@ class IconBuilderTest extends TestCase { $this->themingDefaults = $this->createMock(ThemingDefaults::class); $this->appManager = $this->createMock(IAppManager::class); $this->imageManager = $this->createMock(ImageManager::class); - $this->util = new Util($this->config, $this->appManager, $this->appData); + $this->util = new Util($this->config, $this->appManager, $this->appData, $this->imageManager); $this->iconBuilder = new IconBuilder($this->themingDefaults, $this->util, $this->imageManager); } diff --git a/apps/theming/tests/Settings/PersonalTest.php b/apps/theming/tests/Settings/PersonalTest.php index f8f6052a0f8..4e9be5ef994 100644 --- a/apps/theming/tests/Settings/PersonalTest.php +++ b/apps/theming/tests/Settings/PersonalTest.php @@ -54,6 +54,7 @@ class PersonalTest extends TestCase { private ThemesService $themesService; private IInitialState $initialStateService; private ThemingDefaults $themingDefaults; + private Personal $admin; /** @var ITheme[] */ private $themes; @@ -144,7 +145,7 @@ class PersonalTest extends TestCase { $themingDefaults->expects($this->any()) ->method('getColorPrimary') ->willReturn('#0082c9'); - + $themingDefaults->expects($this->any()) ->method('getDefaultColorPrimary') ->willReturn('#0082c9'); diff --git a/apps/theming/tests/Themes/DefaultThemeTest.php b/apps/theming/tests/Themes/DefaultThemeTest.php index eb9f41d378f..6044f5c10d3 100644 --- a/apps/theming/tests/Themes/DefaultThemeTest.php +++ b/apps/theming/tests/Themes/DefaultThemeTest.php @@ -22,9 +22,10 @@ */ namespace OCA\Theming\Tests\Service; -use OC\App\AppManager; +use OCA\Theming\AppInfo\Application; use OCA\Theming\ImageManager; use OCA\Theming\ITheme; +use OCA\Theming\Service\BackgroundService; use OCA\Theming\Themes\DefaultTheme; use OCA\Theming\ThemingDefaults; use OCA\Theming\Util; @@ -37,10 +38,11 @@ use OCP\IUserSession; use PHPUnit\Framework\MockObject\MockObject; use Test\TestCase; - class DefaultThemeTest extends TestCase { /** @var ThemingDefaults|MockObject */ private $themingDefaults; + /** @var IUserSession|MockObject */ + private $userSession; /** @var IURLGenerator|MockObject */ private $urlGenerator; /** @var ImageManager|MockObject */ @@ -66,7 +68,8 @@ class DefaultThemeTest extends TestCase { $util = new Util( $this->config, $this->appManager, - $this->createMock(IAppData::class) + $this->createMock(IAppData::class), + $this->imageManager ); $this->themingDefaults @@ -79,6 +82,11 @@ class DefaultThemeTest extends TestCase { ->method('getDefaultColorPrimary') ->willReturn('#0082c9'); + $this->themingDefaults + ->expects($this->any()) + ->method('getBackground') + ->willReturn('/apps/' . Application::APP_ID . '/img/background/' . BackgroundService::DEFAULT_BACKGROUND_IMAGE); + $this->l10n ->expects($this->any()) ->method('t') diff --git a/apps/theming/tests/Themes/DyslexiaFontTest.php b/apps/theming/tests/Themes/DyslexiaFontTest.php index 1a0f0adebec..4714d9751f4 100644 --- a/apps/theming/tests/Themes/DyslexiaFontTest.php +++ b/apps/theming/tests/Themes/DyslexiaFontTest.php @@ -40,10 +40,11 @@ use OCP\IUserSession; use PHPUnit\Framework\MockObject\MockObject; use Test\TestCase; - class DyslexiaFontTest extends TestCase { /** @var ThemingDefaults|MockObject */ private $themingDefaults; + /** @var IUserSession|MockObject */ + private $userSession; /** @var IURLGenerator|MockObject */ private $urlGenerator; /** @var ImageManager|MockObject */ @@ -67,8 +68,9 @@ class DyslexiaFontTest extends TestCase { $util = new Util( $this->config, - $this->createMock(AppManager::class), - $this->createMock(IAppData::class) + $this->appManager, + $this->createMock(IAppData::class), + $this->imageManager ); $userSession = $this->createMock(IUserSession::class); diff --git a/apps/theming/tests/ThemingDefaultsTest.php b/apps/theming/tests/ThemingDefaultsTest.php index d8940670137..cf6b6492c11 100644 --- a/apps/theming/tests/ThemingDefaultsTest.php +++ b/apps/theming/tests/ThemingDefaultsTest.php @@ -424,30 +424,24 @@ class ThemingDefaultsTest extends TestCase { public function testGetColorPrimaryWithDefault() { $this->config - ->expects($this->at(0)) - ->method('getAppValue') - ->with('theming', 'color', null) - ->willReturn($this->defaults->getColorPrimary()); - $this->config - ->expects($this->at(1)) + ->expects($this->exactly(2)) ->method('getAppValue') - ->with('theming', 'disable-user-theming', 'no') - ->willReturn('no'); + ->willReturnMap([ + ['theming', 'disable-user-theming', 'no', 'no'], + ['theming', 'color', '', $this->defaults->getColorPrimary()], + ]); $this->assertEquals($this->defaults->getColorPrimary(), $this->template->getColorPrimary()); } public function testGetColorPrimaryWithCustom() { $this->config - ->expects($this->at(0)) - ->method('getAppValue') - ->with('theming', 'color', null) - ->willReturn('#fff'); - $this->config - ->expects($this->at(1)) + ->expects($this->exactly(2)) ->method('getAppValue') - ->with('theming', 'disable-user-theming', 'no') - ->willReturn('no'); + ->willReturnMap([ + ['theming', 'disable-user-theming', 'no', 'no'], + ['theming', 'color', '', '#fff'], + ]); $this->assertEquals('#fff', $this->template->getColorPrimary()); } @@ -460,6 +454,18 @@ class ThemingDefaultsTest extends TestCase { $user->expects($this->any()) ->method('getUID') ->willReturn('user'); + $this->config + ->expects($this->exactly(2)) + ->method('getAppValue') + ->willReturnMap([ + ['theming', 'disable-user-theming', 'no', 'no'], + ['theming', 'color', '', ''], + ]); + $this->config + ->expects($this->once()) + ->method('getUserValue') + ->with('user', 'theming', 'background_color') + ->willReturn(''); $this->assertEquals(BackgroundService::DEFAULT_COLOR, $this->template->getColorPrimary()); } @@ -467,6 +473,7 @@ class ThemingDefaultsTest extends TestCase { public function testGetColorPrimaryWithCustomBackground() { $backgroundIndex = 2; $background = array_values(BackgroundService::SHIPPED_BACKGROUNDS)[$backgroundIndex]; + $user = $this->createMock(IUser::class); $this->userSession->expects($this->any()) ->method('getUser') @@ -478,8 +485,16 @@ class ThemingDefaultsTest extends TestCase { $this->config ->expects($this->once()) ->method('getUserValue') - ->with('user', 'theming', 'background', '') - ->willReturn(array_keys(BackgroundService::SHIPPED_BACKGROUNDS)[$backgroundIndex]); + ->with('user', 'theming', 'background_color', '') + ->willReturn($background['primary_color']); + + $this->config + ->expects($this->exactly(2)) + ->method('getAppValue') + ->willReturnMap([ + ['theming', 'color', '', ''], + ['theming', 'disable-user-theming', 'no', 'no'], + ]); $this->assertEquals($background['primary_color'], $this->template->getColorPrimary()); } @@ -496,8 +511,15 @@ class ThemingDefaultsTest extends TestCase { $this->config ->expects($this->once()) ->method('getUserValue') - ->with('user', 'theming', 'background', '') + ->with('user', 'theming', 'background_color', '') ->willReturn('#fff'); + $this->config + ->expects($this->exactly(2)) + ->method('getAppValue') + ->willReturnMap([ + ['theming', 'color', '', ''], + ['theming', 'disable-user-theming', 'no', 'no'], + ]); $this->assertEquals('#fff', $this->template->getColorPrimary()); } @@ -514,8 +536,15 @@ class ThemingDefaultsTest extends TestCase { $this->config ->expects($this->once()) ->method('getUserValue') - ->with('user', 'theming', 'background', '') + ->with('user', 'theming', 'background_color', '') ->willReturn('nextcloud'); + $this->config + ->expects($this->exactly(3)) + ->method('getAppValue') + ->willReturnMap([ + ['theming', 'color', '', ''], + ['theming', 'disable-user-theming', 'no', 'no'], + ]); $this->assertEquals($this->template->getDefaultColorPrimary(), $this->template->getColorPrimary()); } @@ -623,16 +652,14 @@ class ThemingDefaultsTest extends TestCase { ->method('deleteAppValue') ->with('theming', 'color'); $this->config - ->expects($this->exactly(3)) + ->expects($this->exactly(2)) ->method('getAppValue') ->withConsecutive( ['theming', 'cachebuster', '0'], ['theming', 'color', null], - ['theming', 'disable-user-theming', 'no'], )->willReturnOnConsecutiveCalls( '15', $this->defaults->getColorPrimary(), - 'no', ); $this->config ->expects($this->once()) @@ -751,10 +778,10 @@ class ThemingDefaultsTest extends TestCase { $this->imageManager->expects($this->exactly(4)) ->method('getImageUrl') ->willReturnMap([ - ['logo', true, 'custom-logo?v=0'], - ['logoheader', true, 'custom-logoheader?v=0'], - ['favicon', true, 'custom-favicon?v=0'], - ['background', true, 'custom-background?v=0'], + ['logo', 'custom-logo?v=0'], + ['logoheader', 'custom-logoheader?v=0'], + ['favicon', 'custom-favicon?v=0'], + ['background', 'custom-background?v=0'], ]); $expected = [ @@ -846,7 +873,7 @@ class ThemingDefaultsTest extends TestCase { } /** @dataProvider dataReplaceImagePath */ - public function testReplaceImagePath($app, $image, $result = 'themingRoute?v=0') { + public function testReplaceImagePath($app, $image, $result = 'themingRoute?v=1234abcd') { $this->cache->expects($this->any()) ->method('get') ->with('shouldReplaceIcons') @@ -860,6 +887,12 @@ class ThemingDefaultsTest extends TestCase { ->expects($this->any()) ->method('linkToRoute') ->willReturn('themingRoute'); + if ($result) { + $this->util + ->expects($this->once()) + ->method('getCacheBuster') + ->willReturn('1234abcd'); + } $this->assertEquals($result, $this->template->replaceImagePath($app, $image)); } } diff --git a/apps/theming/tests/UtilTest.php b/apps/theming/tests/UtilTest.php index 914ad8b073f..8f6d972a2fc 100644 --- a/apps/theming/tests/UtilTest.php +++ b/apps/theming/tests/UtilTest.php @@ -27,6 +27,7 @@ */ namespace OCA\Theming\Tests; +use OCA\Theming\ImageManager; use OCA\Theming\Util; use OCP\App\IAppManager; use OCP\Files\IAppData; @@ -46,13 +47,16 @@ class UtilTest extends TestCase { protected $appData; /** @var IAppManager */ protected $appManager; + /** @var ImageManager */ + protected $imageManager; protected function setUp(): void { parent::setUp(); $this->config = $this->createMock(IConfig::class); $this->appData = $this->createMock(IAppData::class); $this->appManager = $this->createMock(IAppManager::class); - $this->util = new Util($this->config, $this->appManager, $this->appData); + $this->imageManager = $this->createMock(ImageManager::class); + $this->util = new Util($this->config, $this->appManager, $this->appData, $this->imageManager); } public function dataInvertTextColor() { diff --git a/apps/twofactor_backupcodes/composer/autoload.php b/apps/twofactor_backupcodes/composer/autoload.php index 091a9b4fefa..fee47fcf513 100644 --- a/apps/twofactor_backupcodes/composer/autoload.php +++ b/apps/twofactor_backupcodes/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/twofactor_backupcodes/composer/composer/installed.php b/apps/twofactor_backupcodes/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/twofactor_backupcodes/composer/composer/installed.php +++ b/apps/twofactor_backupcodes/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/updatenotification/composer/autoload.php b/apps/updatenotification/composer/autoload.php index e715564a5bd..36afdad067f 100644 --- a/apps/updatenotification/composer/autoload.php +++ b/apps/updatenotification/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/updatenotification/composer/composer/installed.php b/apps/updatenotification/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/updatenotification/composer/composer/installed.php +++ b/apps/updatenotification/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/updatenotification/l10n/en_GB.js b/apps/updatenotification/l10n/en_GB.js index c0f72fe9c3c..ff0c06434d6 100644 --- a/apps/updatenotification/l10n/en_GB.js +++ b/apps/updatenotification/l10n/en_GB.js @@ -3,6 +3,7 @@ OC.L10N.register( { "{version} is available. Get more information on how to update." : "{version} is available. Get more information on how to update.", "Channel updated" : "Channel updated", + "Web updater is disabled" : "Web updater is disabled", "Update notifications" : "Update notifications", "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.", @@ -13,27 +14,40 @@ OC.L10N.register( "Displays update notifications for Nextcloud and provides the SSO for the updater." : "Displays update notifications for Nextcloud and provides the SSO for the updater.", "Update" : "Update", "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "The version you are running is not maintained any more. Please make sure to update to a supported version as soon as possible.", + "Apps missing compatible version" : "Apps missing compatible version", "View in store" : "View in store", + "Apps with compatible version" : "Apps with compatible version", + "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!", "Open updater" : "Open updater", "Download now" : "Download now", + "Please use the command line updater to update." : "Please use the command line updater to update.", "What's new?" : "What's new?", "The update check is not yet finished. Please refresh the page." : "The update check is not yet finished. Please refresh the page.", "Your version is up to date." : "Your version is up to date.", "A non-default update server is in use to be checked for updates:" : "A non-default update server is in use to be checked for updates:", + "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page.", "Update channel:" : "Update channel:", "You can always update to a newer version. But you can never downgrade to a more stable version." : "You can always update to a newer version, but you can never downgrade to a more stable version.", "Notify members of the following groups about available updates:" : "Notify members of the following groups about available updates:", + "Only notifications for app updates are available." : "Only notifications 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.", "A new version is available: <strong>{newVersionString}</strong>" : "A new version is available: <strong>{newVersionString}</strong>", + "Note that after a new release the update only shows up after the first minor release or later. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found. Learn more about updates and release channels at {link}" : "Note that after a new release the update only shows up after the first minor release or later. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found. Learn more about updates and release channels at {link}", "Checked on {lastCheckedDate}" : "Checked on {lastCheckedDate}", + "Checking apps for compatible versions" : "Checking apps for compatible versions", "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false.", + "Could not connect to the App Store or no updates have been returned at all. Search manually for updates or make sure your server has access to the internet and can connect to the App Store." : "Could not connect to the App Store or no updates have been returned at all. Search manually for updates or make sure your server has access to the internet and can connect to the App Store.", + "<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "<strong>All</strong> apps have a compatible version for this Nextcloud version available.", "View changelog" : "View changelog", "Enterprise" : "Enterprise", "For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package." : "For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package.", "Stable" : "Stable", "The most recent stable version. It is suited for regular use and will always update to the latest major version." : "The most recent stable version. It is suited for regular use and will always update to the latest major version.", "Beta" : "Beta", - "A pre-release version only for testing new features, not for production environments." : "A pre-release version only for testing new features, not for production environments." + "A pre-release version only for testing new features, not for production environments." : "A pre-release version only for testing new features, not for production environments.", + "_<strong>%n</strong> app has no compatible version for this Nextcloud version available._::_<strong>%n</strong> apps have no compatible version for this Nextcloud version available._" : ["<strong>%n</strong> app has no compatible version for this Nextcloud version available.","<strong>%n</strong> apps have no compatible version for this Nextcloud version available."], + "<strong>All</strong> apps have a compatible version for this Nextcloud version available" : "<strong>All</strong> apps have a compatible version for this Nextcloud version available", + "_<strong>%n</strong> app has no compatible version for this Nextcloud version available_::_<strong>%n</strong> apps have no compatible version for this Nextcloud version available_" : ["<strong>%n</strong> app has no compatible version for this Nextcloud version available","<strong>%n</strong> apps have no compatible version for this Nextcloud version available"] }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/updatenotification/l10n/en_GB.json b/apps/updatenotification/l10n/en_GB.json index 1bde368c2e3..e5962f7a853 100644 --- a/apps/updatenotification/l10n/en_GB.json +++ b/apps/updatenotification/l10n/en_GB.json @@ -1,6 +1,7 @@ { "translations": { "{version} is available. Get more information on how to update." : "{version} is available. Get more information on how to update.", "Channel updated" : "Channel updated", + "Web updater is disabled" : "Web updater is disabled", "Update notifications" : "Update notifications", "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.", @@ -11,27 +12,40 @@ "Displays update notifications for Nextcloud and provides the SSO for the updater." : "Displays update notifications for Nextcloud and provides the SSO for the updater.", "Update" : "Update", "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "The version you are running is not maintained any more. Please make sure to update to a supported version as soon as possible.", + "Apps missing compatible version" : "Apps missing compatible version", "View in store" : "View in store", + "Apps with compatible version" : "Apps with compatible version", + "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!", "Open updater" : "Open updater", "Download now" : "Download now", + "Please use the command line updater to update." : "Please use the command line updater to update.", "What's new?" : "What's new?", "The update check is not yet finished. Please refresh the page." : "The update check is not yet finished. Please refresh the page.", "Your version is up to date." : "Your version is up to date.", "A non-default update server is in use to be checked for updates:" : "A non-default update server is in use to be checked for updates:", + "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page.", "Update channel:" : "Update channel:", "You can always update to a newer version. But you can never downgrade to a more stable version." : "You can always update to a newer version, but you can never downgrade to a more stable version.", "Notify members of the following groups about available updates:" : "Notify members of the following groups about available updates:", + "Only notifications for app updates are available." : "Only notifications 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.", "A new version is available: <strong>{newVersionString}</strong>" : "A new version is available: <strong>{newVersionString}</strong>", + "Note that after a new release the update only shows up after the first minor release or later. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found. Learn more about updates and release channels at {link}" : "Note that after a new release the update only shows up after the first minor release or later. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found. Learn more about updates and release channels at {link}", "Checked on {lastCheckedDate}" : "Checked on {lastCheckedDate}", + "Checking apps for compatible versions" : "Checking apps for compatible versions", "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false.", + "Could not connect to the App Store or no updates have been returned at all. Search manually for updates or make sure your server has access to the internet and can connect to the App Store." : "Could not connect to the App Store or no updates have been returned at all. Search manually for updates or make sure your server has access to the internet and can connect to the App Store.", + "<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "<strong>All</strong> apps have a compatible version for this Nextcloud version available.", "View changelog" : "View changelog", "Enterprise" : "Enterprise", "For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package." : "For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package.", "Stable" : "Stable", "The most recent stable version. It is suited for regular use and will always update to the latest major version." : "The most recent stable version. It is suited for regular use and will always update to the latest major version.", "Beta" : "Beta", - "A pre-release version only for testing new features, not for production environments." : "A pre-release version only for testing new features, not for production environments." + "A pre-release version only for testing new features, not for production environments." : "A pre-release version only for testing new features, not for production environments.", + "_<strong>%n</strong> app has no compatible version for this Nextcloud version available._::_<strong>%n</strong> apps have no compatible version for this Nextcloud version available._" : ["<strong>%n</strong> app has no compatible version for this Nextcloud version available.","<strong>%n</strong> apps have no compatible version for this Nextcloud version available."], + "<strong>All</strong> apps have a compatible version for this Nextcloud version available" : "<strong>All</strong> apps have a compatible version for this Nextcloud version available", + "_<strong>%n</strong> app has no compatible version for this Nextcloud version available_::_<strong>%n</strong> apps have no compatible version for this Nextcloud version available_" : ["<strong>%n</strong> app has no compatible version for this Nextcloud version available","<strong>%n</strong> apps have no compatible version for this Nextcloud version available"] },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/updatenotification/l10n/hu.js b/apps/updatenotification/l10n/hu.js index 8da0f42d13b..324f46b6c2f 100644 --- a/apps/updatenotification/l10n/hu.js +++ b/apps/updatenotification/l10n/hu.js @@ -25,7 +25,7 @@ OC.L10N.register( "The update check is not yet finished. Please refresh the page." : "A frissítéskeresés még nem ért véget. Frissítse az oldalt.", "Your version is up to date." : "A verziója naprakész.", "A non-default update server is in use to be checked for updates:" : "Egy nem alapértelmezett frissítési kiszolgáló van használatban a frissítések kereséséhez:", - "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "Alább módosíthatja a frissítési csatornát, amely érinti az alkalmazáskezelés oldalt is. Például ha a béta csatornára bált, akkor a béta alkalmazásfrissítések is fel lesznek kínálva az alkalmazáskezelés oldalon.", + "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "Alább módosíthatja a frissítési csatornát, amely érinti az alkalmazáskezelés oldalt is. Például ha a béta csatornára vált, akkor a béta alkalmazásfrissítések is fel lesznek kínálva az alkalmazáskezelés oldalon.", "Update channel:" : "Frissítési csatorna:", "You can always update to a newer version. But you can never downgrade to a more stable version." : "Bármikor frissíthet egy újabb verzióra, viszont sosem léphet vissza egy stabilabb verzióra.", "Notify members of the following groups about available updates:" : "A következő csoport tagjainak értesítése az elérhető frissítésekről:", diff --git a/apps/updatenotification/l10n/hu.json b/apps/updatenotification/l10n/hu.json index 83faaaebb98..036947d5fe8 100644 --- a/apps/updatenotification/l10n/hu.json +++ b/apps/updatenotification/l10n/hu.json @@ -23,7 +23,7 @@ "The update check is not yet finished. Please refresh the page." : "A frissítéskeresés még nem ért véget. Frissítse az oldalt.", "Your version is up to date." : "A verziója naprakész.", "A non-default update server is in use to be checked for updates:" : "Egy nem alapértelmezett frissítési kiszolgáló van használatban a frissítések kereséséhez:", - "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "Alább módosíthatja a frissítési csatornát, amely érinti az alkalmazáskezelés oldalt is. Például ha a béta csatornára bált, akkor a béta alkalmazásfrissítések is fel lesznek kínálva az alkalmazáskezelés oldalon.", + "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "Alább módosíthatja a frissítési csatornát, amely érinti az alkalmazáskezelés oldalt is. Például ha a béta csatornára vált, akkor a béta alkalmazásfrissítések is fel lesznek kínálva az alkalmazáskezelés oldalon.", "Update channel:" : "Frissítési csatorna:", "You can always update to a newer version. But you can never downgrade to a more stable version." : "Bármikor frissíthet egy újabb verzióra, viszont sosem léphet vissza egy stabilabb verzióra.", "Notify members of the following groups about available updates:" : "A következő csoport tagjainak értesítése az elérhető frissítésekről:", diff --git a/apps/updatenotification/l10n/sv.js b/apps/updatenotification/l10n/sv.js index e5fc0e3b624..07683927dd9 100644 --- a/apps/updatenotification/l10n/sv.js +++ b/apps/updatenotification/l10n/sv.js @@ -17,6 +17,7 @@ OC.L10N.register( "Apps missing compatible version" : "Appar som saknar kompatibel version", "View in store" : "Visa i butik", "Apps with compatible version" : "Appar med kompatibel version", + "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "Observera att webbuppdateraren inte rekommenderas med fler än 100 användare! Använd kommandouppdateraren istället!", "Open updater" : "Öppna uppdateraren", "Download now" : "Hämta nu", "Please use the command line updater to update." : "Vänligen uppdatera via kommandotolken.", @@ -24,6 +25,7 @@ OC.L10N.register( "The update check is not yet finished. Please refresh the page." : "Uppdateringskontrollen är inte färdig ännu. Vänligen uppdatera sidan.", "Your version is up to date." : "Din version är uppdaterad.", "A non-default update server is in use to be checked for updates:" : "En icke-standard uppdateringsserver används för att kontrolleras efter uppdateringar:", + "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "Du kan ändra uppdateringskanalen nedan, vilket också påverkar apphanteringssidan. T.ex. efter att du har bytt till betakanalen kommer betaappuppdateringar att erbjudas på apphanteringssidan.", "Update channel:" : "Uppdateringskanal:", "You can always update to a newer version. But you can never downgrade to a more stable version." : "Du kan alltid uppdatera till en nyare version, men du kan aldrig nedgradera till en mer stabil version.", "Notify members of the following groups about available updates:" : "Notifiera medlemmar i följande grupper om tillgängliga uppdateraingar:", @@ -36,6 +38,7 @@ OC.L10N.register( "Checking apps for compatible versions" : "Kontrollerar appar efter kompatibla versioner", "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Se till att din config.php inte ställer in <samp>appstoreenabled</samp> till falsk.", "Could not connect to the App Store or no updates have been returned at all. Search manually for updates or make sure your server has access to the internet and can connect to the App Store." : "Kunde inte ansluta till appbutiken eller så returnerades inga uppdateringar alls. Sök manuellt för uppdateringar och säkerställ att din server har tillgång till internet och kan ansluta till appbutiken.", + "<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "<strong>Alla</strong> appar har en kompatibel version för denna version av Nextcloud.", "View changelog" : "Visa ändringslogg", "Enterprise" : "Enterprise", "For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package." : "Innehåller alltid den senaste patchnivån, men uppdateras inte omedelbart till nästa större version. Den uppdateringen sker när Nextcloud GmbH har utfört ytterligare verifiering och testning för storskaliga och kritiska installationer. Den här kanalen är endast tillgänglig för kunder och tillhandahåller Nextcloud Enterprise-paketet.", @@ -43,6 +46,7 @@ OC.L10N.register( "The most recent stable version. It is suited for regular use and will always update to the latest major version." : "Den senaste stabila versionen. Den är lämplig för regelbunden användning och kommer alltid att uppdatera till den senaste större mer omfattande versionen.", "Beta" : "Beta", "A pre-release version only for testing new features, not for production environments." : "En förhandsversion endast för att testa nya funktioner, inte för produktionsmiljöer.", + "_<strong>%n</strong> app has no compatible version for this Nextcloud version available._::_<strong>%n</strong> apps have no compatible version for this Nextcloud version available._" : ["<strong>%n</strong> app har ingen tillgänglig kompatibel version för denna version av Nextcloud.","<strong>%n</strong> appar har ingen tillgänglig kompatibel version för denna version av Nextcloud."], "<strong>All</strong> apps have a compatible version for this Nextcloud version available" : "<strong>Alla</strong> appar har en kompatibel version för denna version av Nextcloud.", "_<strong>%n</strong> app has no compatible version for this Nextcloud version available_::_<strong>%n</strong> apps have no compatible version for this Nextcloud version available_" : ["<strong>%n</strong> app har ingen tillgänglig kompatibel version för denna version av Nextcloud.","<strong>%n</strong> appar har ingen tillgänglig kompatibel version för denna version av Nextcloud."] }, diff --git a/apps/updatenotification/l10n/sv.json b/apps/updatenotification/l10n/sv.json index 9eb451d9cf6..70a72cfc736 100644 --- a/apps/updatenotification/l10n/sv.json +++ b/apps/updatenotification/l10n/sv.json @@ -15,6 +15,7 @@ "Apps missing compatible version" : "Appar som saknar kompatibel version", "View in store" : "Visa i butik", "Apps with compatible version" : "Appar med kompatibel version", + "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "Observera att webbuppdateraren inte rekommenderas med fler än 100 användare! Använd kommandouppdateraren istället!", "Open updater" : "Öppna uppdateraren", "Download now" : "Hämta nu", "Please use the command line updater to update." : "Vänligen uppdatera via kommandotolken.", @@ -22,6 +23,7 @@ "The update check is not yet finished. Please refresh the page." : "Uppdateringskontrollen är inte färdig ännu. Vänligen uppdatera sidan.", "Your version is up to date." : "Din version är uppdaterad.", "A non-default update server is in use to be checked for updates:" : "En icke-standard uppdateringsserver används för att kontrolleras efter uppdateringar:", + "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "Du kan ändra uppdateringskanalen nedan, vilket också påverkar apphanteringssidan. T.ex. efter att du har bytt till betakanalen kommer betaappuppdateringar att erbjudas på apphanteringssidan.", "Update channel:" : "Uppdateringskanal:", "You can always update to a newer version. But you can never downgrade to a more stable version." : "Du kan alltid uppdatera till en nyare version, men du kan aldrig nedgradera till en mer stabil version.", "Notify members of the following groups about available updates:" : "Notifiera medlemmar i följande grupper om tillgängliga uppdateraingar:", @@ -34,6 +36,7 @@ "Checking apps for compatible versions" : "Kontrollerar appar efter kompatibla versioner", "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Se till att din config.php inte ställer in <samp>appstoreenabled</samp> till falsk.", "Could not connect to the App Store or no updates have been returned at all. Search manually for updates or make sure your server has access to the internet and can connect to the App Store." : "Kunde inte ansluta till appbutiken eller så returnerades inga uppdateringar alls. Sök manuellt för uppdateringar och säkerställ att din server har tillgång till internet och kan ansluta till appbutiken.", + "<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "<strong>Alla</strong> appar har en kompatibel version för denna version av Nextcloud.", "View changelog" : "Visa ändringslogg", "Enterprise" : "Enterprise", "For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package." : "Innehåller alltid den senaste patchnivån, men uppdateras inte omedelbart till nästa större version. Den uppdateringen sker när Nextcloud GmbH har utfört ytterligare verifiering och testning för storskaliga och kritiska installationer. Den här kanalen är endast tillgänglig för kunder och tillhandahåller Nextcloud Enterprise-paketet.", @@ -41,6 +44,7 @@ "The most recent stable version. It is suited for regular use and will always update to the latest major version." : "Den senaste stabila versionen. Den är lämplig för regelbunden användning och kommer alltid att uppdatera till den senaste större mer omfattande versionen.", "Beta" : "Beta", "A pre-release version only for testing new features, not for production environments." : "En förhandsversion endast för att testa nya funktioner, inte för produktionsmiljöer.", + "_<strong>%n</strong> app has no compatible version for this Nextcloud version available._::_<strong>%n</strong> apps have no compatible version for this Nextcloud version available._" : ["<strong>%n</strong> app har ingen tillgänglig kompatibel version för denna version av Nextcloud.","<strong>%n</strong> appar har ingen tillgänglig kompatibel version för denna version av Nextcloud."], "<strong>All</strong> apps have a compatible version for this Nextcloud version available" : "<strong>Alla</strong> appar har en kompatibel version för denna version av Nextcloud.", "_<strong>%n</strong> app has no compatible version for this Nextcloud version available_::_<strong>%n</strong> apps have no compatible version for this Nextcloud version available_" : ["<strong>%n</strong> app har ingen tillgänglig kompatibel version för denna version av Nextcloud.","<strong>%n</strong> appar har ingen tillgänglig kompatibel version för denna version av Nextcloud."] },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/updatenotification/lib/Controller/APIController.php b/apps/updatenotification/lib/Controller/APIController.php index 9d5d1c2d764..75b847aceb3 100644 --- a/apps/updatenotification/lib/Controller/APIController.php +++ b/apps/updatenotification/lib/Controller/APIController.php @@ -57,6 +57,18 @@ class APIController extends OCSController { /** @var string */ protected $language; + /** + * List of apps that were in the appstore but are now shipped and don't have + * a compatible update available. + * + * @var array<string, int> + */ + protected array $appsShippedInFutureVersion = [ + 'bruteforcesettings' => 25, + 'suspicious_login' => 25, + 'twofactor_totp' => 25, + ]; + public function __construct(string $appName, IRequest $request, IConfig $config, @@ -92,7 +104,7 @@ class APIController extends OCSController { } catch (AppPathNotFoundException $e) { return false; } - return !$this->appManager->isShipped($app); + return !$this->appManager->isShipped($app) && !isset($this->appsShippedInFutureVersion[$app]); }); if (empty($installedApps)) { diff --git a/apps/user_ldap/composer/autoload.php b/apps/user_ldap/composer/autoload.php index d1e331c189e..89e85038c65 100644 --- a/apps/user_ldap/composer/autoload.php +++ b/apps/user_ldap/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/user_ldap/composer/composer/installed.php b/apps/user_ldap/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/user_ldap/composer/composer/installed.php +++ b/apps/user_ldap/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/user_ldap/l10n/en_GB.js b/apps/user_ldap/l10n/en_GB.js index cb27ab1b65b..fb6c94a2883 100644 --- a/apps/user_ldap/l10n/en_GB.js +++ b/apps/user_ldap/l10n/en_GB.js @@ -49,12 +49,21 @@ OC.L10N.register( "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in.", "An unspecified error occurred. Please check log and settings." : "An unspecified error occurred. Please check log and settings.", "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "The search filter is invalid, probably due to syntax issues like an uneven number of opened and closed brackets. Please revise.", + "A connection error to LDAP/AD occurred. Please check host, port and credentials." : "A connection error to LDAP/AD occurred. Please check host, port and credentials.", + "The \"%uid\" placeholder is missing. It will be replaced with the login name when querying LDAP/AD." : "The \"%uid\" placeholder is missing. It will be replaced with the login name when querying LDAP/AD.", "Please provide a login name to test against" : "Please provide a login name to test against", + "The group box was disabled, because the LDAP/AD server does not support memberOf." : "The group box was disabled, because the LDAP/AD server does not support memberOf.", "Password change rejected. Hint: " : "Password change rejected. Hint: ", "Please login with the new password" : "Please login with the new password", + "LDAP User backend" : "LDAP User backend", "Your password will expire tomorrow." : "Your password will expire tomorrow.", "Your password will expire today." : "Your password will expire today.", "_Your password will expire within %n day._::_Your password will expire within %n days._" : ["Your password will expire within %n day.","Your password will expire within %n days."], + "LDAP/AD integration" : "LDAP/AD integration", + "_%n group found_::_%n groups found_" : ["%n group found","%n groups found"], + "> 1000 groups found" : "> 1000 groups found", + "> 1000 users found" : "> 1000 users found", + "_%n user found_::_%n users found_" : ["%n user found","%n users found"], "Could not detect user display name attribute. Please specify it yourself in advanced LDAP settings." : "Could not detect user display name attribute. Please specify it yourself in advanced LDAP settings.", "Could not find the desired feature" : "Could not find the desired feature", "Invalid Host" : "Invalid Host", @@ -74,6 +83,9 @@ OC.L10N.register( "The filter specifies which LDAP groups shall have access to the %s instance." : "The filter specifies which LDAP groups shall have access to the %s instance.", "Verify settings and count the groups" : "Verify settings and count the groups", "When logging in, %s will find the user based on the following attributes:" : "When logging in, %s will find the user based on the following attributes:", + "LDAP/AD Username:" : "LDAP/AD Username:", + "Allows login against the LDAP/AD username, which is either \"uid\" or \"sAMAccountName\" and will be detected." : "Allows login against the LDAP/AD username, which is either \"uid\" or \"sAMAccountName\" and will be detected.", + "LDAP/AD Email Address:" : "LDAP/AD Email Address:", "Allows login against an email attribute. \"mail\" and \"mailPrimaryAddress\" allowed." : "Allows login against an email attribute. \"mail\" and \"mailPrimaryAddress\" allowed.", "Other Attributes:" : "Other Attributes:", "Defines the filter to apply, when login is attempted. \"%%uid\" replaces the username in the login action. Example: \"uid=%%uid\"" : "Defines the filter to apply, when login is attempted. \"%%uid\" replaces the username in the login action. Example: \"uid=%%uid\"", @@ -166,7 +178,11 @@ OC.L10N.register( "Email Field" : "Email Field", "Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "Set the user's email from their LDAP attribute. Leave it empty for default behaviour.", "User Home Folder Naming Rule" : "User Home Folder Naming Rule", + "Leave empty for username (default). Otherwise, specify an LDAP/AD attribute." : "Leave empty for username (default). Otherwise, specify an LDAP/AD attribute.", + "\"$home\" Placeholder Field" : "\"$home\" Placeholder Field", + "$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home in an external storage configuration will be replaced with the value of the specified attribute", "Internal Username" : "Internal Username", + "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior.", "Internal Username Attribute:" : "Internal Username Attribute:", "Override UUID detection" : "Override UUID detection", "By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "By default, the UUID attribute is automatically detected. The UUID attribute is used to unambiguously identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups.", @@ -175,6 +191,7 @@ OC.L10N.register( "Username-LDAP User Mapping" : "Username-LDAP User Mapping", "Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Usernames are used to store and assign metadata. In order to precisely identify and recognise users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage.", "Clear Username-LDAP User Mapping" : "Clear Username-LDAP User Mapping", - "Clear Groupname-LDAP Group Mapping" : "Clear Groupname-LDAP Group Mapping" + "Clear Groupname-LDAP Group Mapping" : "Clear Groupname-LDAP Group Mapping", + "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/user_ldap/l10n/en_GB.json b/apps/user_ldap/l10n/en_GB.json index 7c1861d435b..74c0a75d3e6 100644 --- a/apps/user_ldap/l10n/en_GB.json +++ b/apps/user_ldap/l10n/en_GB.json @@ -47,12 +47,21 @@ "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in.", "An unspecified error occurred. Please check log and settings." : "An unspecified error occurred. Please check log and settings.", "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "The search filter is invalid, probably due to syntax issues like an uneven number of opened and closed brackets. Please revise.", + "A connection error to LDAP/AD occurred. Please check host, port and credentials." : "A connection error to LDAP/AD occurred. Please check host, port and credentials.", + "The \"%uid\" placeholder is missing. It will be replaced with the login name when querying LDAP/AD." : "The \"%uid\" placeholder is missing. It will be replaced with the login name when querying LDAP/AD.", "Please provide a login name to test against" : "Please provide a login name to test against", + "The group box was disabled, because the LDAP/AD server does not support memberOf." : "The group box was disabled, because the LDAP/AD server does not support memberOf.", "Password change rejected. Hint: " : "Password change rejected. Hint: ", "Please login with the new password" : "Please login with the new password", + "LDAP User backend" : "LDAP User backend", "Your password will expire tomorrow." : "Your password will expire tomorrow.", "Your password will expire today." : "Your password will expire today.", "_Your password will expire within %n day._::_Your password will expire within %n days._" : ["Your password will expire within %n day.","Your password will expire within %n days."], + "LDAP/AD integration" : "LDAP/AD integration", + "_%n group found_::_%n groups found_" : ["%n group found","%n groups found"], + "> 1000 groups found" : "> 1000 groups found", + "> 1000 users found" : "> 1000 users found", + "_%n user found_::_%n users found_" : ["%n user found","%n users found"], "Could not detect user display name attribute. Please specify it yourself in advanced LDAP settings." : "Could not detect user display name attribute. Please specify it yourself in advanced LDAP settings.", "Could not find the desired feature" : "Could not find the desired feature", "Invalid Host" : "Invalid Host", @@ -72,6 +81,9 @@ "The filter specifies which LDAP groups shall have access to the %s instance." : "The filter specifies which LDAP groups shall have access to the %s instance.", "Verify settings and count the groups" : "Verify settings and count the groups", "When logging in, %s will find the user based on the following attributes:" : "When logging in, %s will find the user based on the following attributes:", + "LDAP/AD Username:" : "LDAP/AD Username:", + "Allows login against the LDAP/AD username, which is either \"uid\" or \"sAMAccountName\" and will be detected." : "Allows login against the LDAP/AD username, which is either \"uid\" or \"sAMAccountName\" and will be detected.", + "LDAP/AD Email Address:" : "LDAP/AD Email Address:", "Allows login against an email attribute. \"mail\" and \"mailPrimaryAddress\" allowed." : "Allows login against an email attribute. \"mail\" and \"mailPrimaryAddress\" allowed.", "Other Attributes:" : "Other Attributes:", "Defines the filter to apply, when login is attempted. \"%%uid\" replaces the username in the login action. Example: \"uid=%%uid\"" : "Defines the filter to apply, when login is attempted. \"%%uid\" replaces the username in the login action. Example: \"uid=%%uid\"", @@ -164,7 +176,11 @@ "Email Field" : "Email Field", "Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "Set the user's email from their LDAP attribute. Leave it empty for default behaviour.", "User Home Folder Naming Rule" : "User Home Folder Naming Rule", + "Leave empty for username (default). Otherwise, specify an LDAP/AD attribute." : "Leave empty for username (default). Otherwise, specify an LDAP/AD attribute.", + "\"$home\" Placeholder Field" : "\"$home\" Placeholder Field", + "$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home in an external storage configuration will be replaced with the value of the specified attribute", "Internal Username" : "Internal Username", + "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior.", "Internal Username Attribute:" : "Internal Username Attribute:", "Override UUID detection" : "Override UUID detection", "By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "By default, the UUID attribute is automatically detected. The UUID attribute is used to unambiguously identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups.", @@ -173,6 +189,7 @@ "Username-LDAP User Mapping" : "Username-LDAP User Mapping", "Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Usernames are used to store and assign metadata. In order to precisely identify and recognise users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage.", "Clear Username-LDAP User Mapping" : "Clear Username-LDAP User Mapping", - "Clear Groupname-LDAP Group Mapping" : "Clear Groupname-LDAP Group Mapping" + "Clear Groupname-LDAP Group Mapping" : "Clear Groupname-LDAP Group Mapping", + "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/user_ldap/l10n/es.js b/apps/user_ldap/l10n/es.js index 25dc2745991..8821ad3ac5e 100644 --- a/apps/user_ldap/l10n/es.js +++ b/apps/user_ldap/l10n/es.js @@ -166,7 +166,7 @@ OC.L10N.register( "Paging chunksize" : "Tamaño de los fragmentos de paginación", "Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Tamaño de los fragmentos usado para búsquedas LDAP paginadas que pueden devolver resultados voluminosos, como enumeración de usuarios o de grupos. (Si se establece en 0, se deshabilitan las búsquedas LDAP paginadas en esas situaciones.)", "Enable LDAP password changes per user" : "Permitir cambios de contraseñas LDAP por usuario", - "Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : "Permite a usuarios LDAP cambiar su contraseña y permite administradores y administradores de grupos, cambiar la contraseña de sus usuarios LDAP. SOlo funciona cuando las políticas de control de acceso están configuradas de acuerdo a las del servidor LDAP. Como las contraseñas se mandan en texto plano al servidor, LDAP, encripción del transporte debe ser usado y cifrado de las contraseñas debe ser configurado en el servidor LDAP.", + "Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : "Permite a usuarios LDAP cambiar su contraseña y permite administradores y administradores de grupos, cambiar la contraseña de sus usuarios LDAP. Solo funciona cuando las políticas de control de acceso están configuradas de acuerdo a las del servidor LDAP. Como las contraseñas se mandan en texto plano al servidor, LDAP, encripción del transporte debe ser usado y cifrado de las contraseñas debe ser configurado en el servidor LDAP.", "(New password is sent as plain text to LDAP)" : "(La nueva contraseña se envía como texto plano a LDAP)", "Default password policy DN" : "Política de contraseñas por defecto DN", "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "El DN de una política de contraseñas por defecto que será usado para el manejo de la expiración de contraseñas. Solo funciona cuando los cambios por usuario de la contraseña LDAP están habilitados y solo está aceptada por OpenLDAP. Déjala vacía para deshabilitar el manejo de expiración de contraseñas.", diff --git a/apps/user_ldap/l10n/es.json b/apps/user_ldap/l10n/es.json index c41959bc8ca..1d867cae117 100644 --- a/apps/user_ldap/l10n/es.json +++ b/apps/user_ldap/l10n/es.json @@ -164,7 +164,7 @@ "Paging chunksize" : "Tamaño de los fragmentos de paginación", "Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "Tamaño de los fragmentos usado para búsquedas LDAP paginadas que pueden devolver resultados voluminosos, como enumeración de usuarios o de grupos. (Si se establece en 0, se deshabilitan las búsquedas LDAP paginadas en esas situaciones.)", "Enable LDAP password changes per user" : "Permitir cambios de contraseñas LDAP por usuario", - "Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : "Permite a usuarios LDAP cambiar su contraseña y permite administradores y administradores de grupos, cambiar la contraseña de sus usuarios LDAP. SOlo funciona cuando las políticas de control de acceso están configuradas de acuerdo a las del servidor LDAP. Como las contraseñas se mandan en texto plano al servidor, LDAP, encripción del transporte debe ser usado y cifrado de las contraseñas debe ser configurado en el servidor LDAP.", + "Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : "Permite a usuarios LDAP cambiar su contraseña y permite administradores y administradores de grupos, cambiar la contraseña de sus usuarios LDAP. Solo funciona cuando las políticas de control de acceso están configuradas de acuerdo a las del servidor LDAP. Como las contraseñas se mandan en texto plano al servidor, LDAP, encripción del transporte debe ser usado y cifrado de las contraseñas debe ser configurado en el servidor LDAP.", "(New password is sent as plain text to LDAP)" : "(La nueva contraseña se envía como texto plano a LDAP)", "Default password policy DN" : "Política de contraseñas por defecto DN", "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "El DN de una política de contraseñas por defecto que será usado para el manejo de la expiración de contraseñas. Solo funciona cuando los cambios por usuario de la contraseña LDAP están habilitados y solo está aceptada por OpenLDAP. Déjala vacía para deshabilitar el manejo de expiración de contraseñas.", diff --git a/apps/user_ldap/l10n/fr.js b/apps/user_ldap/l10n/fr.js index a6ecdc324a1..ae3367e3c77 100644 --- a/apps/user_ldap/l10n/fr.js +++ b/apps/user_ldap/l10n/fr.js @@ -61,6 +61,8 @@ OC.L10N.register( "_Your password will expire within %n day._::_Your password will expire within %n days._" : ["Votre mot de passe va expirer dans %n jour.","Votre mot de passe va expirer dans %n jours.","Votre mot de passe va expirer dans %n jours."], "LDAP/AD integration" : "Integration LDAP/AD ", "_%n group found_::_%n groups found_" : ["%n groupe trouvé","%n groupes trouvés","%n groupes trouvés"], + "> 1000 groups found" : "> 1000 groupes trouvés", + "> 1000 users found" : "> 1000 utilisateurs trouvés", "_%n user found_::_%n users found_" : ["%n utilisateur trouvé","%n utilisateurs trouvés","%n utilisateurs trouvés"], "Could not detect user display name attribute. Please specify it yourself in advanced LDAP settings." : "Impossible de détecter l'attribut contenant le nom d'affichage des utilisateurs. Veuillez l'indiquer vous-même dans les paramètres LDAP avancés.", "Could not find the desired feature" : "Impossible de trouver la fonction souhaitée", @@ -72,7 +74,7 @@ OC.L10N.register( "Help" : "Aide", "Groups meeting these criteria are available in %s:" : "Les groupes respectant ces critères sont disponibles dans %s :", "Only these object classes:" : "Seulement ces classes d'objets :", - "Only from these groups:" : "Seulement dans ces groupes :", + "Only from these groups:" : "Seulement dans ces groupes :", "Search groups" : "Chercher dans les groupes", "Available groups" : "Groupes disponibles", "Selected groups" : "Groupes sélectionnés", diff --git a/apps/user_ldap/l10n/fr.json b/apps/user_ldap/l10n/fr.json index 6f3759727b7..064fa3e9e6e 100644 --- a/apps/user_ldap/l10n/fr.json +++ b/apps/user_ldap/l10n/fr.json @@ -59,6 +59,8 @@ "_Your password will expire within %n day._::_Your password will expire within %n days._" : ["Votre mot de passe va expirer dans %n jour.","Votre mot de passe va expirer dans %n jours.","Votre mot de passe va expirer dans %n jours."], "LDAP/AD integration" : "Integration LDAP/AD ", "_%n group found_::_%n groups found_" : ["%n groupe trouvé","%n groupes trouvés","%n groupes trouvés"], + "> 1000 groups found" : "> 1000 groupes trouvés", + "> 1000 users found" : "> 1000 utilisateurs trouvés", "_%n user found_::_%n users found_" : ["%n utilisateur trouvé","%n utilisateurs trouvés","%n utilisateurs trouvés"], "Could not detect user display name attribute. Please specify it yourself in advanced LDAP settings." : "Impossible de détecter l'attribut contenant le nom d'affichage des utilisateurs. Veuillez l'indiquer vous-même dans les paramètres LDAP avancés.", "Could not find the desired feature" : "Impossible de trouver la fonction souhaitée", @@ -70,7 +72,7 @@ "Help" : "Aide", "Groups meeting these criteria are available in %s:" : "Les groupes respectant ces critères sont disponibles dans %s :", "Only these object classes:" : "Seulement ces classes d'objets :", - "Only from these groups:" : "Seulement dans ces groupes :", + "Only from these groups:" : "Seulement dans ces groupes :", "Search groups" : "Chercher dans les groupes", "Available groups" : "Groupes disponibles", "Selected groups" : "Groupes sélectionnés", diff --git a/apps/user_ldap/l10n/ja.js b/apps/user_ldap/l10n/ja.js index 03a83d83a35..7f8455f54b8 100644 --- a/apps/user_ldap/l10n/ja.js +++ b/apps/user_ldap/l10n/ja.js @@ -60,6 +60,10 @@ OC.L10N.register( "Your password will expire today." : "パスワードが今日期限切れになります。", "_Your password will expire within %n day._::_Your password will expire within %n days._" : ["パスワードがあと %n日で期限切れになります。"], "LDAP/AD integration" : "LDAP/AD統合", + "_%n group found_::_%n groups found_" : ["グループ%nが見つかりました "], + "> 1000 groups found" : "1000 以上のグループが見つかりました", + "> 1000 users found" : "1000 以上のユーザーが見つかりました", + "_%n user found_::_%n users found_" : ["ユーザー%n が見つかりました"], "Could not detect user display name attribute. Please specify it yourself in advanced LDAP settings." : "ユーザー表示名の属性を検出できませんでした。詳細設定で対応する属性を指定してください。", "Could not find the desired feature" : "望ましい機能は見つかりませんでした", "Invalid Host" : "無効なホスト", diff --git a/apps/user_ldap/l10n/ja.json b/apps/user_ldap/l10n/ja.json index bae170334bb..a177306a5ce 100644 --- a/apps/user_ldap/l10n/ja.json +++ b/apps/user_ldap/l10n/ja.json @@ -58,6 +58,10 @@ "Your password will expire today." : "パスワードが今日期限切れになります。", "_Your password will expire within %n day._::_Your password will expire within %n days._" : ["パスワードがあと %n日で期限切れになります。"], "LDAP/AD integration" : "LDAP/AD統合", + "_%n group found_::_%n groups found_" : ["グループ%nが見つかりました "], + "> 1000 groups found" : "1000 以上のグループが見つかりました", + "> 1000 users found" : "1000 以上のユーザーが見つかりました", + "_%n user found_::_%n users found_" : ["ユーザー%n が見つかりました"], "Could not detect user display name attribute. Please specify it yourself in advanced LDAP settings." : "ユーザー表示名の属性を検出できませんでした。詳細設定で対応する属性を指定してください。", "Could not find the desired feature" : "望ましい機能は見つかりませんでした", "Invalid Host" : "無効なホスト", diff --git a/apps/user_ldap/l10n/lv.js b/apps/user_ldap/l10n/lv.js index 61eb1d75c98..2c623018a21 100644 --- a/apps/user_ldap/l10n/lv.js +++ b/apps/user_ldap/l10n/lv.js @@ -45,6 +45,7 @@ OC.L10N.register( "Selected groups" : "Izvēlētās grupas", "Edit LDAP Query" : "Labot LDAP vaicājumu", "LDAP Filter:" : "LDAP filtrs:", + "Verify settings and count the groups" : "Pārbaudiet iestatījumus un saskaitiet grupas", "Other Attributes:" : "Citi atribūti:", "Test Loginname" : "Pārbaudiet lietotājvārdu", "Verify settings" : "Pārbaudīt iestatījumus", @@ -60,6 +61,7 @@ OC.L10N.register( "You can specify Base DN for users and groups in the Advanced tab" : "Lietotājiem un grupām var norādīt bāzes DN cilnē “Paplašināti”", "Detect Base DN" : "Noteikt bāzes DN", "Test Base DN" : "Testēt bāzes DN", + "Verify settings and count users" : "Pārbaudiet iestatījumus un saskaitiet lietotājus", "Saving" : "Saglabā", "Back" : "Atpakaļ", "Continue" : "Turpināt", diff --git a/apps/user_ldap/l10n/lv.json b/apps/user_ldap/l10n/lv.json index be82e0717dc..fdebc4b2287 100644 --- a/apps/user_ldap/l10n/lv.json +++ b/apps/user_ldap/l10n/lv.json @@ -43,6 +43,7 @@ "Selected groups" : "Izvēlētās grupas", "Edit LDAP Query" : "Labot LDAP vaicājumu", "LDAP Filter:" : "LDAP filtrs:", + "Verify settings and count the groups" : "Pārbaudiet iestatījumus un saskaitiet grupas", "Other Attributes:" : "Citi atribūti:", "Test Loginname" : "Pārbaudiet lietotājvārdu", "Verify settings" : "Pārbaudīt iestatījumus", @@ -58,6 +59,7 @@ "You can specify Base DN for users and groups in the Advanced tab" : "Lietotājiem un grupām var norādīt bāzes DN cilnē “Paplašināti”", "Detect Base DN" : "Noteikt bāzes DN", "Test Base DN" : "Testēt bāzes DN", + "Verify settings and count users" : "Pārbaudiet iestatījumus un saskaitiet lietotājus", "Saving" : "Saglabā", "Back" : "Atpakaļ", "Continue" : "Turpināt", diff --git a/apps/user_ldap/lib/AppInfo/Application.php b/apps/user_ldap/lib/AppInfo/Application.php index 79998a580e5..757ac141d3d 100644 --- a/apps/user_ldap/lib/AppInfo/Application.php +++ b/apps/user_ldap/lib/AppInfo/Application.php @@ -31,6 +31,7 @@ use OCA\Files_External\Service\BackendService; use OCA\User_LDAP\Controller\RenewPasswordController; use OCA\User_LDAP\Events\GroupBackendRegistered; use OCA\User_LDAP\Events\UserBackendRegistered; +use OCA\User_LDAP\FilesystemHelper; use OCA\User_LDAP\Group_Proxy; use OCA\User_LDAP\GroupPluginManager; use OCA\User_LDAP\Handler\ExtStorageConfigHandler; @@ -38,6 +39,7 @@ use OCA\User_LDAP\Helper; use OCA\User_LDAP\ILDAPWrapper; use OCA\User_LDAP\LDAP; use OCA\User_LDAP\Notification\Notifier; +use OCA\User_LDAP\User\Manager; use OCA\User_LDAP\User_Proxy; use OCA\User_LDAP\UserPluginManager; use OCP\AppFramework\App; @@ -46,10 +48,17 @@ use OCP\AppFramework\Bootstrap\IBootstrap; use OCP\AppFramework\Bootstrap\IRegistrationContext; use OCP\AppFramework\IAppContainer; use OCP\EventDispatcher\IEventDispatcher; +use OCP\IAvatarManager; +use OCP\IConfig; use OCP\IGroupManager; use OCP\IL10N; +use OCP\Image; use OCP\IServerContainer; +use OCP\IUserManager; use OCP\Notification\IManager as INotificationManager; +use OCP\Share\IManager as IShareManager; +use Psr\Container\ContainerInterface; +use Psr\Log\LoggerInterface; use Symfony\Component\EventDispatcher\EventDispatcherInterface; class Application extends App implements IBootstrap { @@ -87,6 +96,24 @@ class Application extends App implements IBootstrap { public function register(IRegistrationContext $context): void { $context->registerNotifierService(Notifier::class); + + $context->registerService( + Manager::class, + function (ContainerInterface $c) { + return new Manager( + $c->get(IConfig::class), + $c->get(FilesystemHelper::class), + $c->get(LoggerInterface::class), + $c->get(IAvatarManager::class), + $c->get(Image::class), + $c->get(IUserManager::class), + $c->get(INotificationManager::class), + $c->get(IShareManager::class), + ); + }, + // the instance is specific to a lazy bound Access instance, thus cannot be shared. + false + ); } public function boot(IBootContext $context): void { diff --git a/apps/user_ldap/lib/Configuration.php b/apps/user_ldap/lib/Configuration.php index c16823d39ee..fc620e00e30 100644 --- a/apps/user_ldap/lib/Configuration.php +++ b/apps/user_ldap/lib/Configuration.php @@ -120,6 +120,7 @@ class Configuration { 'ldapDefaultPPolicyDN' => null, 'ldapExtStorageHomeAttribute' => null, 'ldapMatchingRuleInChainState' => self::LDAP_SERVER_FEATURE_UNKNOWN, + 'ldapConnectionTimeout' => 15, ]; public function __construct(string $configPrefix, bool $autoRead = true) { @@ -463,6 +464,7 @@ class Configuration { 'ldap_user_avatar_rule' => 'default', 'ldap_ext_storage_home_attribute' => '', 'ldap_matching_rule_in_chain_state' => self::LDAP_SERVER_FEATURE_UNKNOWN, + 'ldap_connection_timeout' => 15, ]; } @@ -526,6 +528,7 @@ class Configuration { 'ldap_ext_storage_home_attribute' => 'ldapExtStorageHomeAttribute', 'ldap_matching_rule_in_chain_state' => 'ldapMatchingRuleInChainState', 'ldapIgnoreNamingRules' => 'ldapIgnoreNamingRules', // sysconfig + 'ldap_connection_timeout' => 'ldapConnectionTimeout', ]; return $array; } diff --git a/apps/user_ldap/lib/Connection.php b/apps/user_ldap/lib/Connection.php index 89b58b7ebfd..dca55c1750e 100644 --- a/apps/user_ldap/lib/Connection.php +++ b/apps/user_ldap/lib/Connection.php @@ -167,7 +167,7 @@ class Connection extends LDAPUtility { */ public function __clone() { $this->configuration = new Configuration($this->configPrefix, - !is_null($this->configID)); + !is_null($this->configID)); if (count($this->bindResult) !== 0 && $this->bindResult['result'] === true) { $this->bindResult = []; } @@ -407,9 +407,8 @@ class Connection extends LDAPUtility { } else { $uuidAttributes = Access::UUID_ATTRIBUTES; array_unshift($uuidAttributes, 'auto'); - if (!in_array($this->configuration->$effectiveSetting, - $uuidAttributes) - && (!is_null($this->configID))) { + if (!in_array($this->configuration->$effectiveSetting, $uuidAttributes) + && !is_null($this->configID)) { $this->configuration->$effectiveSetting = 'auto'; $this->configuration->saveConfiguration(); $this->logger->info( @@ -606,12 +605,18 @@ class Connection extends LDAPUtility { if (!$isBackupHost) { throw $e; } + $this->logger->warning( + 'Main LDAP not reachable, connecting to backup', + [ + 'app' => 'user_ldap' + ] + ); } //if LDAP server is not reachable, try the Backup (Replica!) Server if ($isBackupHost || $isOverrideMainServer) { $this->doConnect($this->configuration->ldapBackupHost, - $this->configuration->ldapBackupPort); + $this->configuration->ldapBackupPort); $this->bindResult = []; $bindStatus = $this->bind(); $error = $this->ldap->isResource($this->ldapConnectionRes) ? @@ -649,6 +654,10 @@ class Connection extends LDAPUtility { throw new ServerNotAvailableException('Could not disable LDAP referrals.'); } + if (!$this->ldap->setOption($this->ldapConnectionRes, LDAP_OPT_NETWORK_TIMEOUT, $this->configuration->ldapConnectionTimeout)) { + throw new ServerNotAvailableException('Could not set network timeout'); + } + if ($this->configuration->ldapTLS) { if (!$this->ldap->startTls($this->ldapConnectionRes)) { throw new ServerNotAvailableException('Start TLS failed, when connecting to LDAP host ' . $host . '.'); @@ -681,8 +690,8 @@ class Connection extends LDAPUtility { } $ldapLogin = @$this->ldap->bind($cr, - $this->configuration->ldapAgentName, - $this->configuration->ldapAgentPassword); + $this->configuration->ldapAgentName, + $this->configuration->ldapAgentPassword); $this->bindResult = [ 'sum' => md5($this->configuration->ldapAgentName . $this->configPrefix . $this->configuration->ldapAgentPassword), diff --git a/apps/user_ldap/lib/Group_LDAP.php b/apps/user_ldap/lib/Group_LDAP.php index 81cb30dd25b..b32e031175f 100644 --- a/apps/user_ldap/lib/Group_LDAP.php +++ b/apps/user_ldap/lib/Group_LDAP.php @@ -1324,10 +1324,11 @@ class Group_LDAP extends BackendUtility implements GroupInterface, IGroupLDAP, I if (($displayName !== false) && (count($displayName) > 0)) { $displayName = $displayName[0]; - $this->access->connection->writeToCache($cacheKey, $displayName); - return $displayName; + } else { + $displayName = ''; } - return ''; + $this->access->connection->writeToCache($cacheKey, $displayName); + return $displayName; } } diff --git a/apps/user_status/composer/autoload.php b/apps/user_status/composer/autoload.php index a82d4105451..afd560d3ae9 100644 --- a/apps/user_status/composer/autoload.php +++ b/apps/user_status/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/user_status/composer/composer/installed.php b/apps/user_status/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/user_status/composer/composer/installed.php +++ b/apps/user_status/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/user_status/css/user-status-menu.css b/apps/user_status/css/user-status-menu.css index 6bc3104dd7a..124c753128b 100644 --- a/apps/user_status/css/user-status-menu.css +++ b/apps/user_status/css/user-status-menu.css @@ -77,8 +77,7 @@ * @returns A background image with the url to the set to the requested icon. */ .icon-user-status { - /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */ - background-image: var(--icon-app-dark); + background-image: url("../img/app.svg"); } .icon-user-status-online { diff --git a/apps/user_status/css/user-status-menu.css.map b/apps/user_status/css/user-status-menu.css.map index 59bcbff6144..61ee5d7e261 100644 --- a/apps/user_status/css/user-status-menu.css.map +++ b/apps/user_status/css/user-status-menu.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","user-status-menu.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AD1BA;ACuCC;EAEA;;;ADrCD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA","file":"user-status-menu.css"}
\ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","user-status-menu.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AD1BA;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA","file":"user-status-menu.css"}
\ No newline at end of file diff --git a/apps/user_status/css/user-status-menu.scss b/apps/user_status/css/user-status-menu.scss index 1a2066436f0..e6c0e3d2427 100644 --- a/apps/user_status/css/user-status-menu.scss +++ b/apps/user_status/css/user-status-menu.scss @@ -23,7 +23,7 @@ @import 'functions'; .icon-user-status { - @include icon-color('app', 'user_status', variables.$color-black, 1); + background-image: url("../img/app.svg"); } .icon-user-status-online { diff --git a/apps/user_status/l10n/en_GB.js b/apps/user_status/l10n/en_GB.js index 26c285a78f7..716f69cbbd7 100644 --- a/apps/user_status/l10n/en_GB.js +++ b/apps/user_status/l10n/en_GB.js @@ -1,23 +1,40 @@ OC.L10N.register( "user_status", { + "Recent statuses" : "Recent statuses", + "In a meeting" : "In a meeting", + "Commuting" : "Commuting", + "Out sick" : "Out sick", + "Vacationing" : "Vacationing", + "Working remotely" : "Working remotely", + "In a call" : "In a call", + "User status" : "User status", + "View profile" : "View profile", + "Clear status after" : "Clear status after", "What is your status?" : "What is your status?", "Set status" : "Set status", "Online status" : "Online status", "Status message" : "Status message", "Clear status message" : "Clear status message", "Set status message" : "Set status message", + "There was an error saving the status" : "There was an error saving the status", + "There was an error clearing the status" : "There was an error clearing the status", + "No recent status changes" : "No recent status changes", "Away" : "Away", "Do not disturb" : "Do not disturb", + "{status}, {timestamp}" : "{status}, {timestamp}", "Don't clear" : "Don't clear", "Today" : "Today", "This week" : "This week", "Online" : "Online", "Invisible" : "Invisible", "Offline" : "Offline", + "There was an error saving the new status" : "There was an error saving the new status", "30 minutes" : "30 minutes", "1 hour" : "1 hour", "4 hours" : "4 hours", + "Mute all notifications" : "Mute all notifications", + "Appear offline" : "Appear offline", "Clear status message after" : "Clear status message after" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/user_status/l10n/en_GB.json b/apps/user_status/l10n/en_GB.json index 355189331d9..765ed0b4fc4 100644 --- a/apps/user_status/l10n/en_GB.json +++ b/apps/user_status/l10n/en_GB.json @@ -1,21 +1,38 @@ { "translations": { + "Recent statuses" : "Recent statuses", + "In a meeting" : "In a meeting", + "Commuting" : "Commuting", + "Out sick" : "Out sick", + "Vacationing" : "Vacationing", + "Working remotely" : "Working remotely", + "In a call" : "In a call", + "User status" : "User status", + "View profile" : "View profile", + "Clear status after" : "Clear status after", "What is your status?" : "What is your status?", "Set status" : "Set status", "Online status" : "Online status", "Status message" : "Status message", "Clear status message" : "Clear status message", "Set status message" : "Set status message", + "There was an error saving the status" : "There was an error saving the status", + "There was an error clearing the status" : "There was an error clearing the status", + "No recent status changes" : "No recent status changes", "Away" : "Away", "Do not disturb" : "Do not disturb", + "{status}, {timestamp}" : "{status}, {timestamp}", "Don't clear" : "Don't clear", "Today" : "Today", "This week" : "This week", "Online" : "Online", "Invisible" : "Invisible", "Offline" : "Offline", + "There was an error saving the new status" : "There was an error saving the new status", "30 minutes" : "30 minutes", "1 hour" : "1 hour", "4 hours" : "4 hours", + "Mute all notifications" : "Mute all notifications", + "Appear offline" : "Appear offline", "Clear status message after" : "Clear status message after" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/user_status/l10n/lt_LT.js b/apps/user_status/l10n/lt_LT.js index d0ff5c5a8f2..6a3dfb254f5 100644 --- a/apps/user_status/l10n/lt_LT.js +++ b/apps/user_status/l10n/lt_LT.js @@ -7,6 +7,7 @@ OC.L10N.register( "Out sick" : "Sergu", "Vacationing" : "Poilsiauju", "Working remotely" : "Dirbu nuotoliniu būdu", + "In a call" : "Dalyvauju skambutyje", "User status" : "Naudotojo būsena", "View profile" : "Rodyti profilį", "Clear status after" : "Išvalyti būseną po", diff --git a/apps/user_status/l10n/lt_LT.json b/apps/user_status/l10n/lt_LT.json index 909198c80ac..8dbc1154bd8 100644 --- a/apps/user_status/l10n/lt_LT.json +++ b/apps/user_status/l10n/lt_LT.json @@ -5,6 +5,7 @@ "Out sick" : "Sergu", "Vacationing" : "Poilsiauju", "Working remotely" : "Dirbu nuotoliniu būdu", + "In a call" : "Dalyvauju skambutyje", "User status" : "Naudotojo būsena", "View profile" : "Rodyti profilį", "Clear status after" : "Išvalyti būseną po", diff --git a/apps/user_status/src/components/OnlineStatusSelect.vue b/apps/user_status/src/components/OnlineStatusSelect.vue index f920189fce1..52b6022fb44 100644 --- a/apps/user_status/src/components/OnlineStatusSelect.vue +++ b/apps/user_status/src/components/OnlineStatusSelect.vue @@ -125,6 +125,10 @@ $label-padding: 8px; border-color: var(--color-primary); } + &__label:active { + border-color: var(--color-border-dark); + } + &__subline { display: block; color: var(--color-text-lighter); diff --git a/apps/user_status/src/components/PredefinedStatus.vue b/apps/user_status/src/components/PredefinedStatus.vue index 4ab585493e6..bca94b41a76 100644 --- a/apps/user_status/src/components/PredefinedStatus.vue +++ b/apps/user_status/src/components/PredefinedStatus.vue @@ -89,6 +89,10 @@ export default { background-color: var(--color-background-hover); } + &:active{ + background-color: var(--color-background-dark); + } + &__icon { flex-basis: 40px; text-align: center; diff --git a/apps/user_status/src/components/SetStatusModal.vue b/apps/user_status/src/components/SetStatusModal.vue index b04af52eefb..2d500464bff 100644 --- a/apps/user_status/src/components/SetStatusModal.vue +++ b/apps/user_status/src/components/SetStatusModal.vue @@ -26,7 +26,7 @@ <div class="set-status-modal"> <!-- Status selector --> <div class="set-status-modal__header"> - <h3>{{ $t('user_status', 'Online status') }}</h3> + <h2>{{ $t('user_status', 'Online status') }}</h2> </div> <div class="set-status-modal__online-status"> <OnlineStatusSelect v-for="status in statuses" @@ -38,7 +38,7 @@ <!-- Status message --> <div class="set-status-modal__header"> - <h3>{{ $t('user_status', 'Status message') }}</h3> + <h2>{{ $t('user_status', 'Status message') }}</h2> </div> <div class="set-status-modal__custom-input"> <CustomMessageInput ref="customMessageInput" @@ -234,12 +234,11 @@ export default { &__header { text-align: center; font-weight: bold; + margin: 15px 0; } &__online-status { display: grid; - // Space between the two sections - margin-bottom: 40px; grid-template-columns: 1fr 1fr; } diff --git a/apps/weather_status/l10n/el.js b/apps/weather_status/l10n/el.js index a9b84bedbeb..e84b93e55e2 100644 --- a/apps/weather_status/l10n/el.js +++ b/apps/weather_status/l10n/el.js @@ -8,7 +8,7 @@ OC.L10N.register( "Weather status" : "Κατάσταση καιρού", "Weather status in your dashboard" : "Κατάσταση καιρού στον πίνακα ελέγχου", "Weather status integrated in the Dashboard app.\n User's position can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Η κατάσταση του καιρού ενσωματώνεται στην εφαρμογή Πίνακας ελέγχου.\n Η θέση του χρήστη μπορεί να προσδιοριστεί αυτόματα ή να καθοριστεί χειροκίνητα. Στη συνέχεια εμφανίζεται μια πρόβλεψη 6 ωρών.\n Αυτή η κατάσταση μπορεί επίσης να ενσωματωθεί σε άλλα μέρη όπως στην εφαρμογή Ημερολόγιο.", - "Detect location" : "Εντόπιση τοποθεσίας", + "Detect location" : "Εντοπισμός τοποθεσίας", "Set custom address" : "Ορισμός προσαρμοσμένης διεύθυνσης", "Favorites" : "Αγαπημένα", "{temperature} {unit} clear sky" : "{temperature} {unit} καθαρός ουρανός", diff --git a/apps/weather_status/l10n/el.json b/apps/weather_status/l10n/el.json index 4522f66d947..0a6b61c4aab 100644 --- a/apps/weather_status/l10n/el.json +++ b/apps/weather_status/l10n/el.json @@ -6,7 +6,7 @@ "Weather status" : "Κατάσταση καιρού", "Weather status in your dashboard" : "Κατάσταση καιρού στον πίνακα ελέγχου", "Weather status integrated in the Dashboard app.\n User's position can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Η κατάσταση του καιρού ενσωματώνεται στην εφαρμογή Πίνακας ελέγχου.\n Η θέση του χρήστη μπορεί να προσδιοριστεί αυτόματα ή να καθοριστεί χειροκίνητα. Στη συνέχεια εμφανίζεται μια πρόβλεψη 6 ωρών.\n Αυτή η κατάσταση μπορεί επίσης να ενσωματωθεί σε άλλα μέρη όπως στην εφαρμογή Ημερολόγιο.", - "Detect location" : "Εντόπιση τοποθεσίας", + "Detect location" : "Εντοπισμός τοποθεσίας", "Set custom address" : "Ορισμός προσαρμοσμένης διεύθυνσης", "Favorites" : "Αγαπημένα", "{temperature} {unit} clear sky" : "{temperature} {unit} καθαρός ουρανός", diff --git a/apps/weather_status/l10n/en_GB.js b/apps/weather_status/l10n/en_GB.js new file mode 100644 index 00000000000..ff545b1776d --- /dev/null +++ b/apps/weather_status/l10n/en_GB.js @@ -0,0 +1,62 @@ +OC.L10N.register( + "weather_status", + { + "Unknown address" : "Unknown address", + "No result." : "No result.", + "Malformed JSON data." : "Malformed JSON data.", + "Error" : "Error", + "Weather status" : "Weather status", + "Weather status in your dashboard" : "Weather status in your dashboard", + "Weather status integrated in the Dashboard app.\n User's position can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Weather status integrated in the Dashboard app.\n User's position can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app.", + "Detect location" : "Detect location", + "Set custom address" : "Set custom address", + "Favorites" : "Favourites", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} clear sky later today", + "{temperature} {unit} clear sky" : "{temperature} {unit} clear sky", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} cloudy later today", + "{temperature} {unit} cloudy" : "{temperature} {unit} cloudy", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} fair weather later today", + "{temperature} {unit} fair weather" : "{temperature} {unit} fair weather", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} partly cloudy later today", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} partly cloudy", + "{temperature} {unit} foggy later today" : "{temperature} {unit} foggy later today", + "{temperature} {unit} foggy" : "{temperature} {unit} foggy", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} light rainfall later today", + "{temperature} {unit} light rainfall" : "{temperature} {unit} light rainfall", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} rainfall later today", + "{temperature} {unit} rainfall" : "{temperature} {unit} rainfall", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} heavy rainfall later today", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} heavy rainfall", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} rainfall showers later today", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} rainfall showers", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} light rainfall showers later today", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} light rainfall showers", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} heavy rainfall showers later today", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} heavy rainfall showers", + "More weather for {adr}" : "More weather for {adr}", + "Loading weather" : "Loading weather", + "Remove from favorites" : "Remove from favourites", + "Add as favorite" : "Add as favourite", + "You are not logged in." : "You are not logged in.", + "There was an error getting the weather status information." : "There was an error getting the weather status information.", + "No weather information found" : "No weather information found", + "Location not found" : "Location not found", + "There was an error setting the location address." : "There was an error setting the location address.", + "There was an error setting the location." : "There was an error setting the location.", + "There was an error saving the mode." : "There was an error saving the mode.", + "There was an error using personal address." : "There was an error using personal address.", + "Set location for weather" : "Set location for weather", + "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Clear sky at {time}", + "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Cloudy at {time}", + "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Fair day at {time}", + "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Fair night at {time}", + "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Partly cloudy at {time}", + "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Foggy at {time}", + "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Light rain at {time}", + "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Rain at {time}", + "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Heavy rain at {time}", + "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Rain showers at {time}", + "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Light rain showers at {time}", + "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Heavy rain showers at {time}" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/weather_status/l10n/en_GB.json b/apps/weather_status/l10n/en_GB.json new file mode 100644 index 00000000000..08a1f4c5f3a --- /dev/null +++ b/apps/weather_status/l10n/en_GB.json @@ -0,0 +1,60 @@ +{ "translations": { + "Unknown address" : "Unknown address", + "No result." : "No result.", + "Malformed JSON data." : "Malformed JSON data.", + "Error" : "Error", + "Weather status" : "Weather status", + "Weather status in your dashboard" : "Weather status in your dashboard", + "Weather status integrated in the Dashboard app.\n User's position can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Weather status integrated in the Dashboard app.\n User's position can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app.", + "Detect location" : "Detect location", + "Set custom address" : "Set custom address", + "Favorites" : "Favourites", + "{temperature} {unit} clear sky later today" : "{temperature} {unit} clear sky later today", + "{temperature} {unit} clear sky" : "{temperature} {unit} clear sky", + "{temperature} {unit} cloudy later today" : "{temperature} {unit} cloudy later today", + "{temperature} {unit} cloudy" : "{temperature} {unit} cloudy", + "{temperature} {unit} fair weather later today" : "{temperature} {unit} fair weather later today", + "{temperature} {unit} fair weather" : "{temperature} {unit} fair weather", + "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} partly cloudy later today", + "{temperature} {unit} partly cloudy" : "{temperature} {unit} partly cloudy", + "{temperature} {unit} foggy later today" : "{temperature} {unit} foggy later today", + "{temperature} {unit} foggy" : "{temperature} {unit} foggy", + "{temperature} {unit} light rainfall later today" : "{temperature} {unit} light rainfall later today", + "{temperature} {unit} light rainfall" : "{temperature} {unit} light rainfall", + "{temperature} {unit} rainfall later today" : "{temperature} {unit} rainfall later today", + "{temperature} {unit} rainfall" : "{temperature} {unit} rainfall", + "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} heavy rainfall later today", + "{temperature} {unit} heavy rainfall" : "{temperature} {unit} heavy rainfall", + "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} rainfall showers later today", + "{temperature} {unit} rainfall showers" : "{temperature} {unit} rainfall showers", + "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} light rainfall showers later today", + "{temperature} {unit} light rainfall showers" : "{temperature} {unit} light rainfall showers", + "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} heavy rainfall showers later today", + "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} heavy rainfall showers", + "More weather for {adr}" : "More weather for {adr}", + "Loading weather" : "Loading weather", + "Remove from favorites" : "Remove from favourites", + "Add as favorite" : "Add as favourite", + "You are not logged in." : "You are not logged in.", + "There was an error getting the weather status information." : "There was an error getting the weather status information.", + "No weather information found" : "No weather information found", + "Location not found" : "Location not found", + "There was an error setting the location address." : "There was an error setting the location address.", + "There was an error setting the location." : "There was an error setting the location.", + "There was an error saving the mode." : "There was an error saving the mode.", + "There was an error using personal address." : "There was an error using personal address.", + "Set location for weather" : "Set location for weather", + "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Clear sky at {time}", + "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Cloudy at {time}", + "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Fair day at {time}", + "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Fair night at {time}", + "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Partly cloudy at {time}", + "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Foggy at {time}", + "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Light rain at {time}", + "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Rain at {time}", + "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Heavy rain at {time}", + "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Rain showers at {time}", + "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Light rain showers at {time}", + "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Heavy rain showers at {time}" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/workflowengine/composer/autoload.php b/apps/workflowengine/composer/autoload.php index 74a2777acf2..30ca414ea55 100644 --- a/apps/workflowengine/composer/autoload.php +++ b/apps/workflowengine/composer/autoload.php @@ -3,8 +3,21 @@ // autoload.php @generated by Composer if (PHP_VERSION_ID < 50600) { - echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - exit(1); + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); } require_once __DIR__ . '/composer/autoload_real.php'; diff --git a/apps/workflowengine/composer/composer/installed.php b/apps/workflowengine/composer/composer/installed.php index 5f83b3f2bff..ee1748532a9 100644 --- a/apps/workflowengine/composer/composer/installed.php +++ b/apps/workflowengine/composer/composer/installed.php @@ -3,7 +3,7 @@ 'name' => '__root__', 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), @@ -13,7 +13,7 @@ '__root__' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446', + 'reference' => 'e35bcc9381246a8ec3da96e78e9771ef6044a6d4', 'type' => 'library', 'install_path' => __DIR__ . '/../', 'aliases' => array(), diff --git a/apps/workflowengine/l10n/en_GB.js b/apps/workflowengine/l10n/en_GB.js index 996980b1380..24807468973 100644 --- a/apps/workflowengine/l10n/en_GB.js +++ b/apps/workflowengine/l10n/en_GB.js @@ -13,24 +13,78 @@ OC.L10N.register( "The given end time is invalid" : "The given end time is invalid", "The given group does not exist" : "The given group does not exist", "File" : "File", + "File created" : "File created", + "File updated" : "File updated", + "File renamed" : "File renamed", + "File deleted" : "File deleted", + "File accessed" : "File accessed", + "File copied" : "File copied", + "Tag assigned" : "Tag assigned", + "Someone" : "Someone", + "%s created %s" : "%s created %s", + "%s modified %s" : "%s modified %s", + "%s deleted %s" : "%s deleted %s", + "%s accessed %s" : "%s accessed %s", + "%s renamed %s" : "%s renamed %s", + "%s copied %s" : "%s copied %s", + "%s assigned %s to %s" : "%s assigned %s to %s", "Operation #%s does not exist" : "Operation #%s does not exist", + "Entity %s does not exist" : "Entity %s does not exist", + "Entity %s is invalid" : "Entity %s is invalid", + "No events are chosen." : "No events are chosen.", + "Entity %s has no event %s" : "Entity %s has no event %s", "Operation %s does not exist" : "Operation %s does not exist", "Operation %s is invalid" : "Operation %s is invalid", + "At least one check needs to be provided" : "At least one check needs to be provided", + "The provided operation data is too long" : "The provided operation data is too long", + "Invalid check provided" : "Invalid check provided", "Check %s does not exist" : "Check %s does not exist", "Check %s is invalid" : "Check %s is invalid", + "Check %s is not allowed with this entity" : "Check %s is not allowed with this entity", + "The provided check value is too long" : "The provided check value is too long", "Check #%s does not exist" : "Check #%s does not exist", "Check %s is invalid or does not exist" : "Check %s is invalid or does not exist", + "Flow" : "Flow", + "Nextcloud workflow engine" : "Nextcloud workflow engine", + "Select a filter" : "Select a filter", + "Select a comparator" : "Select a comparator", + "Select a file type" : "Select a file type", + "e.g. httpd/unix-directory" : "e.g. httpd/unix-directory", "Folder" : "Folder", "Images" : "Images", + "Office documents" : "Office documents", + "PDF documents" : "PDF documents", + "Custom MIME type" : "Custom MIME type", + "Custom mimetype" : "Custom mimetype", + "Please enter a valid time span" : "Please enter a valid time span", + "Select a request URL" : "Select a request URL", "Predefined URLs" : "Predefined URLs", "Files WebDAV" : "Files WebDAV", + "Others" : "Others", + "Custom URL" : "Custom URL", + "Select a user agent" : "Select a user agent", "Android client" : "Android client", "iOS client" : "iOS client", "Desktop client" : "Desktop client", "Thunderbird & Outlook addons" : "Thunderbird & Outlook addons", + "Custom user agent" : "Custom user agent", + "At least one event must be selected" : "At least one event must be selected", + "Add new flow" : "Add new flow", + "When" : "When", + "and" : "and", "Cancel" : "Cancel", "Delete" : "Delete", + "The configuration is invalid" : "The configuration is invalid", + "Active" : "Active", "Save" : "Save", + "Available flows" : "Available flows", + "For details on how to write your own flow, check out the development documentation." : "For details on how to write your own flow, check out the development documentation.", + "More flows" : "More flows", + "Browse the App Store" : "Browse the App Store", + "Show less" : "Show less", + "Show more" : "Show more", + "Configured flows" : "Configured flows", + "Your flows" : "Your flows", "matches" : "matches", "does not match" : "does not match", "is" : "is", @@ -58,6 +112,7 @@ OC.L10N.register( "User group membership" : "User group membership", "is member of" : "is member of", "is not member of" : "is not member of", + "Select a tag" : "Select a tag", "No results" : "No results", "%s (invisible)" : "%s (invisible)", "%s (restricted)" : "%s (restricted)" diff --git a/apps/workflowengine/l10n/en_GB.json b/apps/workflowengine/l10n/en_GB.json index ac92193fd0a..6ed0ed979c6 100644 --- a/apps/workflowengine/l10n/en_GB.json +++ b/apps/workflowengine/l10n/en_GB.json @@ -11,24 +11,78 @@ "The given end time is invalid" : "The given end time is invalid", "The given group does not exist" : "The given group does not exist", "File" : "File", + "File created" : "File created", + "File updated" : "File updated", + "File renamed" : "File renamed", + "File deleted" : "File deleted", + "File accessed" : "File accessed", + "File copied" : "File copied", + "Tag assigned" : "Tag assigned", + "Someone" : "Someone", + "%s created %s" : "%s created %s", + "%s modified %s" : "%s modified %s", + "%s deleted %s" : "%s deleted %s", + "%s accessed %s" : "%s accessed %s", + "%s renamed %s" : "%s renamed %s", + "%s copied %s" : "%s copied %s", + "%s assigned %s to %s" : "%s assigned %s to %s", "Operation #%s does not exist" : "Operation #%s does not exist", + "Entity %s does not exist" : "Entity %s does not exist", + "Entity %s is invalid" : "Entity %s is invalid", + "No events are chosen." : "No events are chosen.", + "Entity %s has no event %s" : "Entity %s has no event %s", "Operation %s does not exist" : "Operation %s does not exist", "Operation %s is invalid" : "Operation %s is invalid", + "At least one check needs to be provided" : "At least one check needs to be provided", + "The provided operation data is too long" : "The provided operation data is too long", + "Invalid check provided" : "Invalid check provided", "Check %s does not exist" : "Check %s does not exist", "Check %s is invalid" : "Check %s is invalid", + "Check %s is not allowed with this entity" : "Check %s is not allowed with this entity", + "The provided check value is too long" : "The provided check value is too long", "Check #%s does not exist" : "Check #%s does not exist", "Check %s is invalid or does not exist" : "Check %s is invalid or does not exist", + "Flow" : "Flow", + "Nextcloud workflow engine" : "Nextcloud workflow engine", + "Select a filter" : "Select a filter", + "Select a comparator" : "Select a comparator", + "Select a file type" : "Select a file type", + "e.g. httpd/unix-directory" : "e.g. httpd/unix-directory", "Folder" : "Folder", "Images" : "Images", + "Office documents" : "Office documents", + "PDF documents" : "PDF documents", + "Custom MIME type" : "Custom MIME type", + "Custom mimetype" : "Custom mimetype", + "Please enter a valid time span" : "Please enter a valid time span", + "Select a request URL" : "Select a request URL", "Predefined URLs" : "Predefined URLs", "Files WebDAV" : "Files WebDAV", + "Others" : "Others", + "Custom URL" : "Custom URL", + "Select a user agent" : "Select a user agent", "Android client" : "Android client", "iOS client" : "iOS client", "Desktop client" : "Desktop client", "Thunderbird & Outlook addons" : "Thunderbird & Outlook addons", + "Custom user agent" : "Custom user agent", + "At least one event must be selected" : "At least one event must be selected", + "Add new flow" : "Add new flow", + "When" : "When", + "and" : "and", "Cancel" : "Cancel", "Delete" : "Delete", + "The configuration is invalid" : "The configuration is invalid", + "Active" : "Active", "Save" : "Save", + "Available flows" : "Available flows", + "For details on how to write your own flow, check out the development documentation." : "For details on how to write your own flow, check out the development documentation.", + "More flows" : "More flows", + "Browse the App Store" : "Browse the App Store", + "Show less" : "Show less", + "Show more" : "Show more", + "Configured flows" : "Configured flows", + "Your flows" : "Your flows", "matches" : "matches", "does not match" : "does not match", "is" : "is", @@ -56,6 +110,7 @@ "User group membership" : "User group membership", "is member of" : "is member of", "is not member of" : "is not member of", + "Select a tag" : "Select a tag", "No results" : "No results", "%s (invisible)" : "%s (invisible)", "%s (restricted)" : "%s (restricted)" diff --git a/apps/workflowengine/l10n/ru.js b/apps/workflowengine/l10n/ru.js index 539e6da85d7..b17ad3904be 100644 --- a/apps/workflowengine/l10n/ru.js +++ b/apps/workflowengine/l10n/ru.js @@ -54,6 +54,7 @@ OC.L10N.register( "Images" : "Изображения", "Office documents" : "Офисные документы", "PDF documents" : "PDF документы", + "Custom MIME type" : "Пользовательский тип MIME", "Custom mimetype" : "Пользовательский тип mime", "Please enter a valid time span" : "Введите верный диапазон", "Select a request URL" : "Выберите URL запроса", diff --git a/apps/workflowengine/l10n/ru.json b/apps/workflowengine/l10n/ru.json index 014bb81392b..e26a0608cca 100644 --- a/apps/workflowengine/l10n/ru.json +++ b/apps/workflowengine/l10n/ru.json @@ -52,6 +52,7 @@ "Images" : "Изображения", "Office documents" : "Офисные документы", "PDF documents" : "PDF документы", + "Custom MIME type" : "Пользовательский тип MIME", "Custom mimetype" : "Пользовательский тип mime", "Please enter a valid time span" : "Введите верный диапазон", "Select a request URL" : "Выберите URL запроса", diff --git a/apps/workflowengine/lib/Check/RequestTime.php b/apps/workflowengine/lib/Check/RequestTime.php index b7a2f725451..be28f8ead15 100644 --- a/apps/workflowengine/lib/Check/RequestTime.php +++ b/apps/workflowengine/lib/Check/RequestTime.php @@ -109,12 +109,12 @@ class RequestTime implements ICheck { } $values = json_decode($value, true); - $time1 = \DateTime::createFromFormat('H:i e', $values[0]); + $time1 = \DateTime::createFromFormat('H:i e', (string)$values[0]); if ($time1 === false) { throw new \UnexpectedValueException($this->l->t('The given start time is invalid'), 3); } - $time2 = \DateTime::createFromFormat('H:i e', $values[1]); + $time2 = \DateTime::createFromFormat('H:i e', (string)$values[1]); if ($time2 === false) { throw new \UnexpectedValueException($this->l->t('The given end time is invalid'), 4); } |