summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/comments/js/commentstabview.js8
-rw-r--r--apps/comments/l10n/et_EE.js4
-rw-r--r--apps/comments/l10n/et_EE.json4
-rw-r--r--apps/comments/tests/js/commentstabviewSpec.js96
-rw-r--r--apps/dav/l10n/et_EE.js62
-rw-r--r--apps/dav/l10n/et_EE.json60
-rw-r--r--apps/dav/lib/Connector/Sabre/File.php67
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/FileTest.php138
-rw-r--r--apps/federatedfilesharing/l10n/et_EE.js49
-rw-r--r--apps/federatedfilesharing/l10n/et_EE.json49
-rw-r--r--apps/federatedfilesharing/l10n/nl.js2
-rw-r--r--apps/federatedfilesharing/l10n/nl.json2
-rw-r--r--apps/federation/l10n/et_EE.js13
-rw-r--r--apps/federation/l10n/et_EE.json13
-rw-r--r--apps/files/l10n/et_EE.js4
-rw-r--r--apps/files/l10n/et_EE.json4
-rw-r--r--apps/files/l10n/ja.js4
-rw-r--r--apps/files/l10n/ja.json4
-rw-r--r--apps/files/l10n/zh_TW.js4
-rw-r--r--apps/files/l10n/zh_TW.json4
-rw-r--r--apps/files_sharing/l10n/et_EE.js104
-rw-r--r--apps/files_sharing/l10n/et_EE.json104
-rw-r--r--apps/files_sharing/tests/js/shareSpec.js2
-rw-r--r--apps/systemtags/l10n/et_EE.js8
-rw-r--r--apps/systemtags/l10n/et_EE.json8
-rw-r--r--apps/systemtags/l10n/zh_TW.js40
-rw-r--r--apps/systemtags/l10n/zh_TW.json40
-rw-r--r--apps/theming/js/settings-admin.js6
-rw-r--r--apps/theming/templates/settings-admin.php2
-rw-r--r--apps/user_ldap/js/wizard/wizardTabLoginFilter.js17
-rw-r--r--apps/workflowengine/l10n/et_EE.js68
-rw-r--r--apps/workflowengine/l10n/et_EE.json66
-rw-r--r--config/config.sample.php4
-rw-r--r--core/Controller/AvatarController.php18
-rw-r--r--core/Controller/ClientFlowLoginController.php11
-rw-r--r--core/js/setupchecks.js6
-rw-r--r--core/l10n/de.js1
-rw-r--r--core/l10n/de.json1
-rw-r--r--core/l10n/de_DE.js1
-rw-r--r--core/l10n/de_DE.json1
-rw-r--r--core/l10n/es.js1
-rw-r--r--core/l10n/es.json1
-rw-r--r--core/l10n/et_EE.js12
-rw-r--r--core/l10n/et_EE.json12
-rw-r--r--core/l10n/fr.js1
-rw-r--r--core/l10n/fr.json1
-rw-r--r--core/l10n/nl.js10
-rw-r--r--core/l10n/nl.json10
-rw-r--r--core/l10n/pt_BR.js1
-rw-r--r--core/l10n/pt_BR.json1
-rw-r--r--core/l10n/pt_PT.js50
-rw-r--r--core/l10n/pt_PT.json50
-rw-r--r--core/l10n/tr.js1
-rw-r--r--core/l10n/tr.json1
-rw-r--r--core/l10n/zh_TW.js45
-rw-r--r--core/l10n/zh_TW.json45
-rw-r--r--lib/l10n/et_EE.js210
-rw-r--r--lib/l10n/et_EE.json208
-rw-r--r--lib/l10n/nl.js2
-rw-r--r--lib/l10n/nl.json2
-rw-r--r--lib/private/Avatar.php210
-rw-r--r--lib/private/TemplateLayout.php51
-rw-r--r--lib/private/legacy/util.php18
-rw-r--r--settings/Controller/CheckSetupController.php2
-rw-r--r--settings/l10n/et_EE.js121
-rw-r--r--settings/l10n/et_EE.json121
-rw-r--r--settings/l10n/nl.js8
-rw-r--r--settings/l10n/nl.json8
-rw-r--r--settings/l10n/zh_TW.js198
-rw-r--r--settings/l10n/zh_TW.json198
-rw-r--r--tests/Core/Controller/AvatarControllerTest.php8
-rw-r--r--tests/Core/Controller/ClientFlowLoginControllerTest.php12
-rw-r--r--tests/acceptance/features/app-theming.feature12
-rw-r--r--tests/acceptance/features/bootstrap/ThemingAppContext.php50
-rw-r--r--tests/lib/AvatarTest.php44
75 files changed, 2429 insertions, 395 deletions
diff --git a/apps/comments/js/commentstabview.js b/apps/comments/js/commentstabview.js
index 0c43e156985..9b75cb4671e 100644
--- a/apps/comments/js/commentstabview.js
+++ b/apps/comments/js/commentstabview.js
@@ -530,9 +530,13 @@
$field.toggleClass('error', limitExceeded);
$submitButton.prop('disabled', limitExceeded);
- //submits form on ctrl+Enter or cmd+Enter
- if (ev.keyCode === 13 && (ev.ctrlKey || ev.metaKey)) {
+ // Submits form with Enter, but Shift+Enter is a new line. If the
+ // autocomplete popover is being shown Enter does not submit the
+ // form either; it will be handled by At.js which will add the
+ // currently selected item to the message.
+ if (ev.keyCode === 13 && !ev.shiftKey && !$field.atwho('isSelecting')) {
$submitButton.click();
+ ev.preventDefault();
}
},
diff --git a/apps/comments/l10n/et_EE.js b/apps/comments/l10n/et_EE.js
index 65c259eedaa..478f4ae1245 100644
--- a/apps/comments/l10n/et_EE.js
+++ b/apps/comments/l10n/et_EE.js
@@ -25,7 +25,9 @@ OC.L10N.register(
"You commented on {file}" : "Sa kommenteerisid faili {file}",
"%1$s commented on %2$s" : "%1$s kommenteeris %2$s",
"{author} commented on {file}" : "{author} kommenteeris faili {file}",
- "<strong>Comments</strong> for files" : "<strong>kommentaari</strong> ffailidele",
+ "<strong>Comments</strong> for files" : "<strong>Kommentaarid</strong> failidele",
+ "You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Sind mainiti \"%s\", kommentaaris kasutataja poolt, mis on praeguseks kustutatud",
+ "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Sind mainiti \"{file}\", kommentaaris kasutataja poolt, mis on praeguseks kustutatud",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s mainis sind \"%2$s\" kommentaaris",
"{user} mentioned you in a comment on “{file}”" : "{user} mainis sind faili “{file}” kommentaaris",
"A (now) deleted user mentioned you in a comment on “%s”" : "Kustutatud kasutaja mainis sind \"%s\" kommentaaris",
diff --git a/apps/comments/l10n/et_EE.json b/apps/comments/l10n/et_EE.json
index f178cfa7e08..226d844f0d3 100644
--- a/apps/comments/l10n/et_EE.json
+++ b/apps/comments/l10n/et_EE.json
@@ -23,7 +23,9 @@
"You commented on {file}" : "Sa kommenteerisid faili {file}",
"%1$s commented on %2$s" : "%1$s kommenteeris %2$s",
"{author} commented on {file}" : "{author} kommenteeris faili {file}",
- "<strong>Comments</strong> for files" : "<strong>kommentaari</strong> ffailidele",
+ "<strong>Comments</strong> for files" : "<strong>Kommentaarid</strong> failidele",
+ "You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Sind mainiti \"%s\", kommentaaris kasutataja poolt, mis on praeguseks kustutatud",
+ "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Sind mainiti \"{file}\", kommentaaris kasutataja poolt, mis on praeguseks kustutatud",
"%1$s mentioned you in a comment on “%2$s”" : "%1$s mainis sind \"%2$s\" kommentaaris",
"{user} mentioned you in a comment on “{file}”" : "{user} mainis sind faili “{file}” kommentaaris",
"A (now) deleted user mentioned you in a comment on “%s”" : "Kustutatud kasutaja mainis sind \"%s\" kommentaaris",
diff --git a/apps/comments/tests/js/commentstabviewSpec.js b/apps/comments/tests/js/commentstabviewSpec.js
index 8b99ad081cd..813b2a72eae 100644
--- a/apps/comments/tests/js/commentstabviewSpec.js
+++ b/apps/comments/tests/js/commentstabviewSpec.js
@@ -219,6 +219,7 @@ describe('OCA.Comments.CommentsTabView tests', function() {
describe('posting comments', function() {
var createStub;
var currentUserStub;
+ var $newCommentForm;
beforeEach(function() {
view.collection.set(testComments);
@@ -229,6 +230,8 @@ describe('OCA.Comments.CommentsTabView tests', function() {
displayName: 'Test User'
});
+ $newCommentForm = view.$el.find('.newCommentForm');
+
// Required for the absolute selector used to find the new comment
// after a successful creation in _onSubmitSuccess.
$('#testArea').append(view.$el);
@@ -239,8 +242,23 @@ describe('OCA.Comments.CommentsTabView tests', function() {
});
it('creates a new comment when clicking post button', function() {
- view.$el.find('.message').text('New message');
- view.$el.find('form').submit();
+ $newCommentForm.find('.message').text('New message');
+ $newCommentForm.submit();
+
+ expect(createStub.calledOnce).toEqual(true);
+ expect(createStub.lastCall.args[0]).toEqual({
+ actorId: 'testuser',
+ actorDisplayName: 'Test User',
+ actorType: 'users',
+ verb: 'comment',
+ message: 'New message',
+ creationDateTime: new Date(Date.UTC(2016, 1, 3, 10, 5, 9)).toUTCString()
+ });
+ });
+ it('creates a new comment when typing enter', function() {
+ $newCommentForm.find('.message').text('New message');
+ var keydownEvent = new $.Event('keydown', {keyCode: 13});
+ $newCommentForm.find('.message').trigger(keydownEvent);
expect(createStub.calledOnce).toEqual(true);
expect(createStub.lastCall.args[0]).toEqual({
@@ -251,10 +269,68 @@ describe('OCA.Comments.CommentsTabView tests', function() {
message: 'New message',
creationDateTime: new Date(Date.UTC(2016, 1, 3, 10, 5, 9)).toUTCString()
});
+ expect(keydownEvent.isDefaultPrevented()).toEqual(true);
+ });
+ it('creates a new mention when typing enter in the autocomplete popover', function() {
+ var autoCompleteStub = sinon.stub(view, '_onAutoComplete');
+ autoCompleteStub.callsArgWith(1, [{"id":"userId", "label":"User Name", "source":"users"}]);
+
+ // Force the autocomplete to be initialized
+ view._initAutoComplete($newCommentForm.find('.message'));
+
+ // PhantomJS does not seem to handle typing in a contenteditable, so
+ // some tricks are needed to show the autocomplete popover.
+ //
+ // Instead of sending key events to type "@u" the characters are
+ // programatically set in the input field.
+ $newCommentForm.find('.message').text('Mention to @u');
+
+ // When focusing on the input field the caret is not guaranteed to
+ // be at the end; instead of calling "focus()" on the input field
+ // the caret is explicitly set at the end of the input field, that
+ // is, after "@u".
+ var range = document.createRange();
+ range.selectNodeContents($newCommentForm.find('.message')[0]);
+ range.collapse(false);
+ var selection = window.getSelection();
+ selection.removeAllRanges();
+ selection.addRange(range);
+
+ // As PhantomJS does not handle typing in a contenteditable the key
+ // typed here is in practice ignored by At.js, but despite that it
+ // will cause the popover to be shown.
+ $newCommentForm.find('.message').trigger(new $.Event('keydown', {keyCode: 's'}));
+ $newCommentForm.find('.message').trigger(new $.Event('keyup', {keyCode: 's'}));
+
+ expect(autoCompleteStub.calledOnce).toEqual(true);
+
+ var keydownEvent = new $.Event('keydown', {keyCode: 13});
+ $newCommentForm.find('.message').trigger(keydownEvent);
+
+ expect(createStub.calledOnce).toEqual(false);
+ expect($newCommentForm.find('.message').html()).toContain('Mention to <span');
+ expect($newCommentForm.find('.message').html()).toContain('<div class="avatar"');
+ expect($newCommentForm.find('.message').html()).toContain('<strong>User Name</strong>');
+ expect($newCommentForm.find('.message').text()).not.toContain('@');
+ // In this case the default behaviour is prevented by the
+ // "onKeydown" event handler of At.js.
+ expect(keydownEvent.isDefaultPrevented()).toEqual(true);
+ });
+ it('creates a new line when typing shift+enter', function() {
+ $newCommentForm.find('.message').text('New message');
+ var keydownEvent = new $.Event('keydown', {keyCode: 13, shiftKey: true});
+ $newCommentForm.find('.message').trigger(keydownEvent);
+
+ expect(createStub.calledOnce).toEqual(false);
+ // PhantomJS does not seem to handle typing in a contenteditable, so
+ // instead of looking for a new line the best that can be done is
+ // checking that the default behaviour would have been executed.
+ expect($newCommentForm.find('.message').text()).toContain('New message');
+ expect(keydownEvent.isDefaultPrevented()).toEqual(false);
});
it('creates a new comment with mentions when clicking post button', function() {
- view.$el.find('.message').text('New message @anotheruser');
- view.$el.find('form').submit();
+ $newCommentForm.find('.message').text('New message @anotheruser');
+ $newCommentForm.submit();
var createStubExpectedData = {
actorId: 'testuser',
@@ -297,8 +373,8 @@ describe('OCA.Comments.CommentsTabView tests', function() {
expect($message.find('.avatar[data-user=anotheruser] ~ .contactsmenu-popover').length).toEqual(1);
});
it('does not create a comment if the field is empty', function() {
- view.$el.find('.message').val(' ');
- view.$el.find('form').submit();
+ $newCommentForm.find('.message').val(' ');
+ $newCommentForm.submit();
expect(createStub.notCalled).toEqual(true);
});
@@ -307,8 +383,8 @@ describe('OCA.Comments.CommentsTabView tests', function() {
for (var i = 0; i < view._commentMaxLength * 2; i++) {
bigMessage += 'a';
}
- view.$el.find('.message').val(bigMessage);
- view.$el.find('form').submit();
+ $newCommentForm.find('.message').val(bigMessage);
+ $newCommentForm.submit();
expect(createStub.notCalled).toEqual(true);
});
@@ -319,8 +395,8 @@ describe('OCA.Comments.CommentsTabView tests', function() {
beforeEach(function() {
tooltipStub = sinon.stub($.fn, 'tooltip');
- $message = view.$el.find('.message');
- $submitButton = view.$el.find('.submit');
+ $message = $newCommentForm.find('.message');
+ $submitButton = $newCommentForm.find('.submit');
});
afterEach(function() {
tooltipStub.restore();
diff --git a/apps/dav/l10n/et_EE.js b/apps/dav/l10n/et_EE.js
new file mode 100644
index 00000000000..e640488514f
--- /dev/null
+++ b/apps/dav/l10n/et_EE.js
@@ -0,0 +1,62 @@
+OC.L10N.register(
+ "dav",
+ {
+ "Calendar" : "Kalender",
+ "Todos" : "Ülesanded",
+ "Personal" : "Isiklik",
+ "{actor} created calendar {calendar}" : "{actor} lõi kalendri {calendar}",
+ "You created calendar {calendar}" : "Sa lõid kalendri {calendar}",
+ "{actor} deleted calendar {calendar}" : "{actor} kustutas kalendri {calendar}",
+ "You deleted calendar {calendar}" : "Sa kustutasid kalendri {calendar}",
+ "{actor} updated calendar {calendar}" : "{actor} uuendas kalendrit {calendar}",
+ "You updated calendar {calendar}" : "Sa uuendasid kalendrit {calendar}",
+ "{actor} shared calendar {calendar} with you" : "{actor} jagas kalendrit {calendar} sinuga",
+ "You shared calendar {calendar} with {user}" : "Sa jagasid kalendrit {calendar} kasutajaga {user}",
+ "{actor} shared calendar {calendar} with {user}" : "{actor} jagas kalendrit {calendar} kasutajaga {user}",
+ "{actor} unshared calendar {calendar} from you" : "{actor} lõpetas sinuga kalendri {calendar} jagamise",
+ "You unshared calendar {calendar} from {user}" : "Sa lõpetasid kalendri {calendar} jagamise kasutajaga {user}",
+ "{actor} unshared calendar {calendar} from {user}" : "{actor} lõpetas kalendri {calendar} jagamise kasutajaga {user}",
+ "{actor} unshared calendar {calendar} from themselves" : "{actor} lõpetas iseendaga kalendri {calendar} jagamise",
+ "You shared calendar {calendar} with group {group}" : "Sa jagasid kalendrit {calendar} grupiga {group}",
+ "{actor} shared calendar {calendar} with group {group}" : "{actor} jagas kalendrit {calendar} grupiga {group}",
+ "You unshared calendar {calendar} from group {group}" : "Sa lõpetasid kalendri {calendar} jagamise grupiga {group}",
+ "{actor} unshared calendar {calendar} from group {group}" : "{actor} lõpetas kalendri {calendar} jagamise grupiga {group}",
+ "{actor} created event {event} in calendar {calendar}" : "{actor} lõi sündmuse {event} kalendrisse {calendar}",
+ "You created event {event} in calendar {calendar}" : "Sa lõid sündmuse {event} kalendrisse {calendar}",
+ "{actor} deleted event {event} from calendar {calendar}" : "{actor} kustutas sündmuse {event} kalendrist {calendar}",
+ "You deleted event {event} from calendar {calendar}" : "Sa kustutasid sündmuse {event} kalendrist {calendar}",
+ "{actor} updated event {event} in calendar {calendar}" : "{actor} uuendas sündmust {event} kalendris {calendar}",
+ "You updated event {event} in calendar {calendar}" : "Sa uuendasid sündmust {event} kalendris {calendar}",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} lõi ülesande {todo} nimekirjas {calendar}",
+ "You created todo {todo} in list {calendar}" : "Sa lõid ülesande {todo} nimekirjas {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} kustutas ülesande {todo} nimekirjast {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Sa kustutasid ülesande {todo} nimekirjast {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} uuendas ülesande {todo} nimekirjas {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Sa uuendasid ülesande {todo} nimekirjas {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} lõpetas ülesande {todo} nimekirjas {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Sa lõpetasid ülesande {todo} nimekirjas {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} taasavas ülesande {todo} nimekirjas {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Sa taasavasid ülesande {todo} nimekirjas {calendar}",
+ "A <strong>calendar</strong> was modified" : " <strong>Kalendrit</strong> muudeti",
+ "A calendar <strong>event</strong> was modified" : "Kalendri <strong>sündmust </strong> muudeti",
+ "A calendar <strong>todo</strong> was modified" : "Kalendri <strong>ülesannet</strong> muudeti",
+ "Contact birthdays" : "Kontaktide sünnipäevad",
+ "Invitation canceled" : "Kutse on tühistatud",
+ "Hello %s," : "Tere %s,",
+ "The meeting »%s« with %s was canceled." : "Koosolek »%s« osaleja(te)ga %s tühistati.",
+ "Invitation updated" : "Kutse uuendatud",
+ "The meeting »%s« with %s was updated." : "Koosolek »%s« osaleja(te)ga %s uuendati.",
+ "%s invited you to »%s«" : "%s kutsus sind »%s«",
+ "When:" : "Millal:",
+ "Where:" : "Kus:",
+ "Description:" : "Kirjeldus:",
+ "Link:" : "Link:",
+ "Contacts" : "Kontaktid",
+ "Technical details" : "Tehnilised detailid",
+ "Remote Address: %s" : "Kaugaadress: %s",
+ "Request ID: %s" : "Päringu ID: %s",
+ "CalDAV server" : "CalDAV server",
+ "Send invitations to attendees" : "Saada osalejatele kutsed",
+ "Please make sure to properly set up the email settings above." : "Veendu, et e-posti seaded oleksid eespool õigesti seadistatud."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/et_EE.json b/apps/dav/l10n/et_EE.json
new file mode 100644
index 00000000000..e1c1f11e038
--- /dev/null
+++ b/apps/dav/l10n/et_EE.json
@@ -0,0 +1,60 @@
+{ "translations": {
+ "Calendar" : "Kalender",
+ "Todos" : "Ülesanded",
+ "Personal" : "Isiklik",
+ "{actor} created calendar {calendar}" : "{actor} lõi kalendri {calendar}",
+ "You created calendar {calendar}" : "Sa lõid kalendri {calendar}",
+ "{actor} deleted calendar {calendar}" : "{actor} kustutas kalendri {calendar}",
+ "You deleted calendar {calendar}" : "Sa kustutasid kalendri {calendar}",
+ "{actor} updated calendar {calendar}" : "{actor} uuendas kalendrit {calendar}",
+ "You updated calendar {calendar}" : "Sa uuendasid kalendrit {calendar}",
+ "{actor} shared calendar {calendar} with you" : "{actor} jagas kalendrit {calendar} sinuga",
+ "You shared calendar {calendar} with {user}" : "Sa jagasid kalendrit {calendar} kasutajaga {user}",
+ "{actor} shared calendar {calendar} with {user}" : "{actor} jagas kalendrit {calendar} kasutajaga {user}",
+ "{actor} unshared calendar {calendar} from you" : "{actor} lõpetas sinuga kalendri {calendar} jagamise",
+ "You unshared calendar {calendar} from {user}" : "Sa lõpetasid kalendri {calendar} jagamise kasutajaga {user}",
+ "{actor} unshared calendar {calendar} from {user}" : "{actor} lõpetas kalendri {calendar} jagamise kasutajaga {user}",
+ "{actor} unshared calendar {calendar} from themselves" : "{actor} lõpetas iseendaga kalendri {calendar} jagamise",
+ "You shared calendar {calendar} with group {group}" : "Sa jagasid kalendrit {calendar} grupiga {group}",
+ "{actor} shared calendar {calendar} with group {group}" : "{actor} jagas kalendrit {calendar} grupiga {group}",
+ "You unshared calendar {calendar} from group {group}" : "Sa lõpetasid kalendri {calendar} jagamise grupiga {group}",
+ "{actor} unshared calendar {calendar} from group {group}" : "{actor} lõpetas kalendri {calendar} jagamise grupiga {group}",
+ "{actor} created event {event} in calendar {calendar}" : "{actor} lõi sündmuse {event} kalendrisse {calendar}",
+ "You created event {event} in calendar {calendar}" : "Sa lõid sündmuse {event} kalendrisse {calendar}",
+ "{actor} deleted event {event} from calendar {calendar}" : "{actor} kustutas sündmuse {event} kalendrist {calendar}",
+ "You deleted event {event} from calendar {calendar}" : "Sa kustutasid sündmuse {event} kalendrist {calendar}",
+ "{actor} updated event {event} in calendar {calendar}" : "{actor} uuendas sündmust {event} kalendris {calendar}",
+ "You updated event {event} in calendar {calendar}" : "Sa uuendasid sündmust {event} kalendris {calendar}",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} lõi ülesande {todo} nimekirjas {calendar}",
+ "You created todo {todo} in list {calendar}" : "Sa lõid ülesande {todo} nimekirjas {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} kustutas ülesande {todo} nimekirjast {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "Sa kustutasid ülesande {todo} nimekirjast {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} uuendas ülesande {todo} nimekirjas {calendar}",
+ "You updated todo {todo} in list {calendar}" : "Sa uuendasid ülesande {todo} nimekirjas {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} lõpetas ülesande {todo} nimekirjas {calendar}",
+ "You solved todo {todo} in list {calendar}" : "Sa lõpetasid ülesande {todo} nimekirjas {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} taasavas ülesande {todo} nimekirjas {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "Sa taasavasid ülesande {todo} nimekirjas {calendar}",
+ "A <strong>calendar</strong> was modified" : " <strong>Kalendrit</strong> muudeti",
+ "A calendar <strong>event</strong> was modified" : "Kalendri <strong>sündmust </strong> muudeti",
+ "A calendar <strong>todo</strong> was modified" : "Kalendri <strong>ülesannet</strong> muudeti",
+ "Contact birthdays" : "Kontaktide sünnipäevad",
+ "Invitation canceled" : "Kutse on tühistatud",
+ "Hello %s," : "Tere %s,",
+ "The meeting »%s« with %s was canceled." : "Koosolek »%s« osaleja(te)ga %s tühistati.",
+ "Invitation updated" : "Kutse uuendatud",
+ "The meeting »%s« with %s was updated." : "Koosolek »%s« osaleja(te)ga %s uuendati.",
+ "%s invited you to »%s«" : "%s kutsus sind »%s«",
+ "When:" : "Millal:",
+ "Where:" : "Kus:",
+ "Description:" : "Kirjeldus:",
+ "Link:" : "Link:",
+ "Contacts" : "Kontaktid",
+ "Technical details" : "Tehnilised detailid",
+ "Remote Address: %s" : "Kaugaadress: %s",
+ "Request ID: %s" : "Päringu ID: %s",
+ "CalDAV server" : "CalDAV server",
+ "Send invitations to attendees" : "Saada osalejatele kutsed",
+ "Please make sure to properly set up the email settings above." : "Veendu, et e-posti seaded oleksid eespool õigesti seadistatud."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/dav/lib/Connector/Sabre/File.php b/apps/dav/lib/Connector/Sabre/File.php
index f172bde5f1f..32cc8b7adeb 100644
--- a/apps/dav/lib/Connector/Sabre/File.php
+++ b/apps/dav/lib/Connector/Sabre/File.php
@@ -36,13 +36,16 @@
namespace OCA\DAV\Connector\Sabre;
+use OC\AppFramework\Http\Request;
use OC\Files\Filesystem;
+use OC\Files\View;
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 OCP\Encryption\Exceptions\GenericEncryptionException;
use OCP\Files\EntityTooLargeException;
+use OCP\Files\FileInfo;
use OCP\Files\ForbiddenException;
use OCP\Files\InvalidContentException;
use OCP\Files\InvalidPathException;
@@ -51,6 +54,7 @@ use OCP\Files\NotPermittedException;
use OCP\Files\StorageNotAvailableException;
use OCP\Lock\ILockingProvider;
use OCP\Lock\LockedException;
+use OCP\Share\IManager;
use Sabre\DAV\Exception;
use Sabre\DAV\Exception\BadRequest;
use Sabre\DAV\Exception\Forbidden;
@@ -61,6 +65,26 @@ use Sabre\DAV\Exception\NotFound;
class File extends Node implements IFile {
+ protected $request;
+
+ /**
+ * Sets up the node, expects a full path name
+ *
+ * @param \OC\Files\View $view
+ * @param \OCP\Files\FileInfo $info
+ * @param \OCP\Share\IManager $shareManager
+ * @param \OC\AppFramework\Http\Request $request
+ */
+ public function __construct(View $view, FileInfo $info, IManager $shareManager = null, Request $request = null) {
+ parent::__construct($view, $info, $shareManager);
+
+ if (isset($request)) {
+ $this->request = $request;
+ } else {
+ $this->request = \OC::$server->getRequest();
+ }
+ }
+
/**
* Updates the data
*
@@ -208,15 +232,10 @@ class File extends Node implements IFile {
}
// allow sync clients to send the mtime along in a header
- $request = \OC::$server->getRequest();
- if (isset($request->server['HTTP_X_OC_MTIME'])) {
- $mtimeStr = $request->server['HTTP_X_OC_MTIME'];
- if (!is_numeric($mtimeStr)) {
- throw new \InvalidArgumentException('X-OC-Mtime header must be an integer (unix timestamp).');
- }
- $mtime = intval($mtimeStr);
+ if (isset($this->request->server['HTTP_X_OC_MTIME'])) {
+ $mtime = $this->sanitizeMtime($this->request->server['HTTP_X_OC_MTIME']);
if ($this->fileView->touch($this->path, $mtime)) {
- header('X-OC-MTime: accepted');
+ $this->header('X-OC-MTime: accepted');
}
}
@@ -226,8 +245,8 @@ class File extends Node implements IFile {
$this->refreshInfo();
- if (isset($request->server['HTTP_OC_CHECKSUM'])) {
- $checksum = trim($request->server['HTTP_OC_CHECKSUM']);
+ if (isset($this->request->server['HTTP_OC_CHECKSUM'])) {
+ $checksum = trim($this->request->server['HTTP_OC_CHECKSUM']);
$this->fileView->putFileInfo($this->path, ['checksum' => $checksum]);
$this->refreshInfo();
} else if ($this->getChecksum() !== null && $this->getChecksum() !== '') {
@@ -470,10 +489,10 @@ class File extends Node implements IFile {
}
// allow sync clients to send the mtime along in a header
- $request = \OC::$server->getRequest();
- if (isset($request->server['HTTP_X_OC_MTIME'])) {
- if ($targetStorage->touch($targetInternalPath, $request->server['HTTP_X_OC_MTIME'])) {
- header('X-OC-MTime: accepted');
+ if (isset($this->request->server['HTTP_X_OC_MTIME'])) {
+ $mtime = $this->sanitizeMtime($this->request->server['HTTP_X_OC_MTIME']);
+ if ($targetStorage->touch($targetInternalPath, $mtime)) {
+ $this->header('X-OC-MTime: accepted');
}
}
@@ -487,8 +506,8 @@ class File extends Node implements IFile {
// FIXME: should call refreshInfo but can't because $this->path is not the of the final file
$info = $this->fileView->getFileInfo($targetPath);
- if (isset($request->server['HTTP_OC_CHECKSUM'])) {
- $checksum = trim($request->server['HTTP_OC_CHECKSUM']);
+ if (isset($this->request->server['HTTP_OC_CHECKSUM'])) {
+ $checksum = trim($this->request->server['HTTP_OC_CHECKSUM']);
$this->fileView->putFileInfo($targetPath, ['checksum' => $checksum]);
} else if ($info->getChecksum() !== null && $info->getChecksum() !== '') {
$this->fileView->putFileInfo($this->path, ['checksum' => '']);
@@ -570,6 +589,18 @@ class File extends Node implements IFile {
throw new \Sabre\DAV\Exception($e->getMessage(), 0, $e);
}
+ private function sanitizeMtime($mtimeFromRequest) {
+ // In PHP 5.X "is_numeric" returns true for strings in hexadecimal
+ // notation. This is no longer the case in PHP 7.X, so this check
+ // ensures that strings with hexadecimal notations fail too in PHP 5.X.
+ $isHexadecimal = is_string($mtimeFromRequest) && preg_match('/^\s*0[xX]/', $mtimeFromRequest);
+ if ($isHexadecimal || !is_numeric($mtimeFromRequest)) {
+ throw new \InvalidArgumentException('X-OC-MTime header must be an integer (unix timestamp).');
+ }
+
+ return intval($mtimeFromRequest);
+ }
+
/**
* Get the checksum for this file
*
@@ -578,4 +609,8 @@ class File extends Node implements IFile {
public function getChecksum() {
return $this->info->getChecksum();
}
+
+ protected function header($string) {
+ \header($string);
+ }
}
diff --git a/apps/dav/tests/unit/Connector/Sabre/FileTest.php b/apps/dav/tests/unit/Connector/Sabre/FileTest.php
index 4d106842cf0..1db9b7948e3 100644
--- a/apps/dav/tests/unit/Connector/Sabre/FileTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/FileTest.php
@@ -31,6 +31,7 @@ use OC\Files\Storage\Local;
use OC\Files\View;
use OCP\Files\ForbiddenException;
use OCP\Files\Storage;
+use OCP\IConfig;
use Test\HookHelper;
use OC\Files\Filesystem;
use OCP\Lock\ILockingProvider;
@@ -49,6 +50,9 @@ class FileTest extends \Test\TestCase {
*/
private $user;
+ /** @var IConfig | \PHPUnit_Framework_MockObject_MockObject */
+ protected $config;
+
public function setUp() {
parent::setUp();
unset($_SERVER['HTTP_OC_CHUNKED']);
@@ -62,6 +66,8 @@ class FileTest extends \Test\TestCase {
$userManager->createUser($this->user, 'pass');
$this->loginAsUser($this->user);
+
+ $this->config = $this->getMockBuilder('\OCP\IConfig')->getMock();
}
public function tearDown() {
@@ -284,10 +290,11 @@ class FileTest extends \Test\TestCase {
*
* @param string $path path to put the file into
* @param string $viewRoot root to use for the view
+ * @param null|\OC\AppFramework\Http\Request $request the HTTP request
*
* @return null|string of the PUT operaiton which is usually the etag
*/
- private function doPut($path, $viewRoot = null) {
+ private function doPut($path, $viewRoot = null, \OC\AppFramework\Http\Request $request = null) {
$view = \OC\Files\Filesystem::getView();
if (!is_null($viewRoot)) {
$view = new \OC\Files\View($viewRoot);
@@ -303,7 +310,11 @@ class FileTest extends \Test\TestCase {
null
);
- $file = new \OCA\DAV\Connector\Sabre\File($view, $info);
+ /** @var \OCA\DAV\Connector\Sabre\File | \PHPUnit_Framework_MockObject_MockObject $file */
+ $file = $this->getMockBuilder(\OCA\DAV\Connector\Sabre\File::class)
+ ->setConstructorArgs([$view, $info, null, $request])
+ ->setMethods(['header'])
+ ->getMock();
// beforeMethod locks
$view->lockFile($path, ILockingProvider::LOCK_SHARED);
@@ -323,6 +334,110 @@ class FileTest extends \Test\TestCase {
$this->assertNotEmpty($this->doPut('/foo.txt'));
}
+ public function legalMtimeProvider() {
+ return [
+ "string" => [
+ 'HTTP_X_OC_MTIME' => "string",
+ 'expected result' => null
+ ],
+ "castable string (int)" => [
+ 'HTTP_X_OC_MTIME' => "34",
+ 'expected result' => 34
+ ],
+ "castable string (float)" => [
+ 'HTTP_X_OC_MTIME' => "34.56",
+ 'expected result' => 34
+ ],
+ "float" => [
+ 'HTTP_X_OC_MTIME' => 34.56,
+ 'expected result' => 34
+ ],
+ "zero" => [
+ 'HTTP_X_OC_MTIME' => 0,
+ 'expected result' => 0
+ ],
+ "zero string" => [
+ 'HTTP_X_OC_MTIME' => "0",
+ 'expected result' => 0
+ ],
+ "negative zero string" => [
+ 'HTTP_X_OC_MTIME' => "-0",
+ 'expected result' => 0
+ ],
+ "string starting with number following by char" => [
+ 'HTTP_X_OC_MTIME' => "2345asdf",
+ 'expected result' => null
+ ],
+ "string castable hex int" => [
+ 'HTTP_X_OC_MTIME' => "0x45adf",
+ 'expected result' => null
+ ],
+ "string that looks like invalid hex int" => [
+ 'HTTP_X_OC_MTIME' => "0x123g",
+ 'expected result' => null
+ ],
+ "negative int" => [
+ 'HTTP_X_OC_MTIME' => -34,
+ 'expected result' => -34
+ ],
+ "negative float" => [
+ 'HTTP_X_OC_MTIME' => -34.43,
+ 'expected result' => -34
+ ],
+ ];
+ }
+
+ /**
+ * Test putting a file with string Mtime
+ * @dataProvider legalMtimeProvider
+ */
+ public function testPutSingleFileLegalMtime($requestMtime, $resultMtime) {
+ $request = new \OC\AppFramework\Http\Request([
+ 'server' => [
+ 'HTTP_X_OC_MTIME' => $requestMtime,
+ ]
+ ], null, $this->config, null);
+ $file = 'foo.txt';
+
+ if ($resultMtime === null) {
+ $this->expectException(\InvalidArgumentException::class);
+ $this->expectExceptionMessage("X-OC-MTime header must be an integer (unix timestamp).");
+ }
+
+ $this->doPut($file, null, $request);
+
+ if ($resultMtime !== null) {
+ $this->assertEquals($resultMtime, $this->getFileInfos($file)['mtime']);
+ }
+ }
+
+ /**
+ * Test putting a file with string Mtime using chunking
+ * @dataProvider legalMtimeProvider
+ */
+ public function testChunkedPutLegalMtime($requestMtime, $resultMtime) {
+ $request = new \OC\AppFramework\Http\Request([
+ 'server' => [
+ 'HTTP_X_OC_MTIME' => $requestMtime,
+ ]
+ ], null, $this->config, null);
+
+ $_SERVER['HTTP_OC_CHUNKED'] = true;
+ $file = 'foo.txt';
+
+ if ($resultMtime === null) {
+ $this->expectException(\Sabre\DAV\Exception::class);
+ $this->expectExceptionMessage("X-OC-MTime header must be an integer (unix timestamp).");
+ }
+
+ $this->doPut($file.'-chunking-12345-2-0', null, $request);
+ $this->doPut($file.'-chunking-12345-2-1', null, $request);
+
+ if ($resultMtime !== null) {
+ $this->assertEquals($resultMtime, $this->getFileInfos($file)['mtime']);
+ }
+ }
+
/**
* Test putting a file using chunking
*/
@@ -968,6 +1083,25 @@ class FileTest extends \Test\TestCase {
}
/**
+ * returns an array of file information filesize, mtime, filetype, mimetype
+ *
+ * @param string $path
+ * @param View $userView
+ * @return array
+ */
+ private function getFileInfos($path = '', View $userView = null) {
+ if ($userView === null) {
+ $userView = Filesystem::getView();
+ }
+ return [
+ "filesize" => $userView->filesize($path),
+ "mtime" => $userView->filemtime($path),
+ "filetype" => $userView->filetype($path),
+ "mimetype" => $userView->getMimeType($path)
+ ];
+ }
+
+ /**
* @expectedException \Sabre\DAV\Exception\ServiceUnavailable
*/
public function testGetFopenFails() {
diff --git a/apps/federatedfilesharing/l10n/et_EE.js b/apps/federatedfilesharing/l10n/et_EE.js
index 8e61e9ddf6e..f9206e53711 100644
--- a/apps/federatedfilesharing/l10n/et_EE.js
+++ b/apps/federatedfilesharing/l10n/et_EE.js
@@ -1,15 +1,58 @@
OC.L10N.register(
"federatedfilesharing",
{
+ "Federated sharing" : "Liit-jagamine",
+ "Do you want to add the remote share {name} from {owner}@{remote}?" : "Soovid lisada kaugjagamise {name} asukohast {owner}@{remote}?",
+ "Remote share" : "Kaugjagamine",
+ "Remote share password" : "Kaugjagamise parool",
+ "Cancel" : "Tühista",
+ "Add remote share" : "Lisa kaugjagamine",
+ "Copy" : "Kopeeri",
+ "Copied!" : "Kopeeritud!",
+ "Not supported!" : "Pole toetatud!",
+ "Press ⌘-C to copy." : "Kopeerimiseks vajuta ⌘ + C.",
+ "Press Ctrl-C to copy." : "Kopeerimiseks vajuta Ctrl + C.",
+ "Invalid Federated Cloud ID" : "Vigane liitpilve ID",
+ "Server to server sharing is not enabled on this server" : "Serveritevaheline jagamine ei ole selle pilves aktiiveeritud",
+ "Couldn't establish a federated share." : "Liitjagamist ei õnnestunud luua",
+ "Couldn't establish a federated share, maybe the password was wrong." : "Liitjagamist ei õnnestunud luua, ehk oli parool vale.",
+ "Federated Share request sent, you will receive an invitation. Check your notifications." : "Liitjagamise päring edastatud, sulle saadetakse kutse. Kontrolli oma teateid.",
+ "The mountpoint name contains invalid characters." : "Ühenduspunkti nimes on vigaseid märke.",
+ "Not allowed to create a federated share with the owner." : "Liitjagamise loomine omanikuga ei ole lubatud.",
+ "Invalid or untrusted SSL certificate" : "Vigane või tundmatu SSL sertifikaat",
+ "Could not authenticate to remote share, password might be wrong" : "Ei õnnestunud kagujagamist autentida, ehk on parool vale",
+ "Storage not valid" : "Andmehoidla pole korrektne",
+ "Federated share added" : "Liitjagamine lisatud",
+ "Couldn't add remote share" : "Ei suutnud lisada kaugjagamist",
"Sharing %s failed, because this item is already shared with %s" : "%s jagamine ebaõnnestus, kuna see üksus on juba jagatud %s",
+ "Not allowed to create a federated share with the same user" : "Liitjagamise loomine sama kasutajaga ei ole lubatud.",
+ "File is already shared with %s" : "Fail on juba jagatud kasutajaga %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "%s jagamine ebaõnnestus, ei suutnud %s leida, ehk ei ole server kättesaadav või kasutab ise allkirjastatud sertifikaati.",
+ "Could not find share" : "Jagamist ei leitud",
+ "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Sa said kaugjagatud faili \"%3$s\" kasutajalt %1$s (%2$s nimel)",
+ "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Sa said kaugjagatud faili {share} kasjutajalt {user} ({behalf} nimel)",
+ "You received \"%3$s\" as a remote share from %1$s" : "Sa said kaugjagatud faili \"%3$s\" kasutajalt %1$s",
+ "You received {share} as a remote share from {user}" : "Sa said kaugjagatud faili {file} kasutajalt {user}",
"Accept" : "Nõustu",
- "Decline" : "Lükka tagasi",
+ "Decline" : "Keeldu",
+ "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Jaga minuga läbi minu #Nextcloudi liitpilve ID, vaata %s",
+ "Share with me through my #Nextcloud Federated Cloud ID" : "Jaga minuga läbi minu #Nextcloudi liitpilve ID",
+ "Sharing" : "Jagamine",
+ "Federated Cloud Sharing" : "Jagamine liitpilves",
"Open documentation" : "Ava dokumentatsioon",
+ "Adjust how people can share between servers." : "Seadista kuidas inimesed saavad serverite vahel jagada.",
"Allow users on this server to send shares to other servers" : "Luba selle serveri kasutajatel saata faile teistesse serveritesse",
"Allow users on this server to receive shares from other servers" : "Luba selle serveri kasutajatel võtta vastu jagamisi teistest serveritest",
- "Share it:" : "Jaga seda:",
+ "Search global and public address book for users" : "Otsi kasutajaid globaalsest ja avalikust aadressiraamatust",
+ "Allow users to publish their data to a global and public address book" : "Luba kasutajatel avaldada oma andmeid globaalses ja avalikus aadressiraamatus",
+ "Federated Cloud" : "Liitpilv",
+ "You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Sa võid jagada kõigiga kes kasutab Nextcloudi, ownCloudi või Pydio't. Lihtsalt siseta jagamise dialoogi nende liitpilve ID. See näeb välja nagu person@cloud.example.com",
+ "Your Federated Cloud ID:" : "Sinu liitpilve ID:",
+ "Share it so your friends can share files with you:" : "Jaga seda, et su sõbrad saaksid sinuga faile jagada:",
"Add to your website" : "Lisa oma veebisaidile",
"Share with me via Nextcloud" : "Jaga minuga läbi Nextclouddiga",
- "HTML Code:" : "HTML kood:"
+ "HTML Code:" : "HTML kood:",
+ "Search global and public address book for users and let local users publish their data" : "Otsi kasutajaid globaalsest ja avalikust aadressiraamatust ja luba kohalikel kasutajatel avaldada oma andmeid",
+ "Share it:" : "Jaga seda:"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/et_EE.json b/apps/federatedfilesharing/l10n/et_EE.json
index 239b69b974c..e669fc92d66 100644
--- a/apps/federatedfilesharing/l10n/et_EE.json
+++ b/apps/federatedfilesharing/l10n/et_EE.json
@@ -1,13 +1,56 @@
{ "translations": {
+ "Federated sharing" : "Liit-jagamine",
+ "Do you want to add the remote share {name} from {owner}@{remote}?" : "Soovid lisada kaugjagamise {name} asukohast {owner}@{remote}?",
+ "Remote share" : "Kaugjagamine",
+ "Remote share password" : "Kaugjagamise parool",
+ "Cancel" : "Tühista",
+ "Add remote share" : "Lisa kaugjagamine",
+ "Copy" : "Kopeeri",
+ "Copied!" : "Kopeeritud!",
+ "Not supported!" : "Pole toetatud!",
+ "Press ⌘-C to copy." : "Kopeerimiseks vajuta ⌘ + C.",
+ "Press Ctrl-C to copy." : "Kopeerimiseks vajuta Ctrl + C.",
+ "Invalid Federated Cloud ID" : "Vigane liitpilve ID",
+ "Server to server sharing is not enabled on this server" : "Serveritevaheline jagamine ei ole selle pilves aktiiveeritud",
+ "Couldn't establish a federated share." : "Liitjagamist ei õnnestunud luua",
+ "Couldn't establish a federated share, maybe the password was wrong." : "Liitjagamist ei õnnestunud luua, ehk oli parool vale.",
+ "Federated Share request sent, you will receive an invitation. Check your notifications." : "Liitjagamise päring edastatud, sulle saadetakse kutse. Kontrolli oma teateid.",
+ "The mountpoint name contains invalid characters." : "Ühenduspunkti nimes on vigaseid märke.",
+ "Not allowed to create a federated share with the owner." : "Liitjagamise loomine omanikuga ei ole lubatud.",
+ "Invalid or untrusted SSL certificate" : "Vigane või tundmatu SSL sertifikaat",
+ "Could not authenticate to remote share, password might be wrong" : "Ei õnnestunud kagujagamist autentida, ehk on parool vale",
+ "Storage not valid" : "Andmehoidla pole korrektne",
+ "Federated share added" : "Liitjagamine lisatud",
+ "Couldn't add remote share" : "Ei suutnud lisada kaugjagamist",
"Sharing %s failed, because this item is already shared with %s" : "%s jagamine ebaõnnestus, kuna see üksus on juba jagatud %s",
+ "Not allowed to create a federated share with the same user" : "Liitjagamise loomine sama kasutajaga ei ole lubatud.",
+ "File is already shared with %s" : "Fail on juba jagatud kasutajaga %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "%s jagamine ebaõnnestus, ei suutnud %s leida, ehk ei ole server kättesaadav või kasutab ise allkirjastatud sertifikaati.",
+ "Could not find share" : "Jagamist ei leitud",
+ "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Sa said kaugjagatud faili \"%3$s\" kasutajalt %1$s (%2$s nimel)",
+ "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Sa said kaugjagatud faili {share} kasjutajalt {user} ({behalf} nimel)",
+ "You received \"%3$s\" as a remote share from %1$s" : "Sa said kaugjagatud faili \"%3$s\" kasutajalt %1$s",
+ "You received {share} as a remote share from {user}" : "Sa said kaugjagatud faili {file} kasutajalt {user}",
"Accept" : "Nõustu",
- "Decline" : "Lükka tagasi",
+ "Decline" : "Keeldu",
+ "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Jaga minuga läbi minu #Nextcloudi liitpilve ID, vaata %s",
+ "Share with me through my #Nextcloud Federated Cloud ID" : "Jaga minuga läbi minu #Nextcloudi liitpilve ID",
+ "Sharing" : "Jagamine",
+ "Federated Cloud Sharing" : "Jagamine liitpilves",
"Open documentation" : "Ava dokumentatsioon",
+ "Adjust how people can share between servers." : "Seadista kuidas inimesed saavad serverite vahel jagada.",
"Allow users on this server to send shares to other servers" : "Luba selle serveri kasutajatel saata faile teistesse serveritesse",
"Allow users on this server to receive shares from other servers" : "Luba selle serveri kasutajatel võtta vastu jagamisi teistest serveritest",
- "Share it:" : "Jaga seda:",
+ "Search global and public address book for users" : "Otsi kasutajaid globaalsest ja avalikust aadressiraamatust",
+ "Allow users to publish their data to a global and public address book" : "Luba kasutajatel avaldada oma andmeid globaalses ja avalikus aadressiraamatus",
+ "Federated Cloud" : "Liitpilv",
+ "You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Sa võid jagada kõigiga kes kasutab Nextcloudi, ownCloudi või Pydio't. Lihtsalt siseta jagamise dialoogi nende liitpilve ID. See näeb välja nagu person@cloud.example.com",
+ "Your Federated Cloud ID:" : "Sinu liitpilve ID:",
+ "Share it so your friends can share files with you:" : "Jaga seda, et su sõbrad saaksid sinuga faile jagada:",
"Add to your website" : "Lisa oma veebisaidile",
"Share with me via Nextcloud" : "Jaga minuga läbi Nextclouddiga",
- "HTML Code:" : "HTML kood:"
+ "HTML Code:" : "HTML kood:",
+ "Search global and public address book for users and let local users publish their data" : "Otsi kasutajaid globaalsest ja avalikust aadressiraamatust ja luba kohalikel kasutajatel avaldada oma andmeid",
+ "Share it:" : "Jaga seda:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/nl.js b/apps/federatedfilesharing/l10n/nl.js
index 11b5525e399..e764d8d6739 100644
--- a/apps/federatedfilesharing/l10n/nl.js
+++ b/apps/federatedfilesharing/l10n/nl.js
@@ -27,7 +27,7 @@ OC.L10N.register(
"Sharing %s failed, because this item is already shared with %s" : "Delen van %s is mislukt, omdat het object al wordt gedeeld met %s",
"Not allowed to create a federated share with the same user" : "Het is niet toegestaan om een gefedereerde share met dezelfde gebruikersserver te maken",
"File is already shared with %s" : "Bestand is al gedeeld met %s",
- "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Delen van %s mislukt, kon %s niet vinden, misschien is de server niet bereikbaar of u gebruikt een zelf getekend certificaat.",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Delen van %s mislukt, kon %s niet vinden, misschien is de server niet bereikbaar of je gebruikt een zelf getekend certificaat.",
"Could not find share" : "Kon share niet vinden",
"You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Je ontving \"%3$s\" als een extern deel verzoek van %1$s (namens %2$s)",
"You received {share} as a remote share from {user} (on behalf of {behalf})" : "Je ontving {share} als een extern deel verzoek van {user} (namens {behalf})",
diff --git a/apps/federatedfilesharing/l10n/nl.json b/apps/federatedfilesharing/l10n/nl.json
index 8caaab558c8..5e3ea12bdf5 100644
--- a/apps/federatedfilesharing/l10n/nl.json
+++ b/apps/federatedfilesharing/l10n/nl.json
@@ -25,7 +25,7 @@
"Sharing %s failed, because this item is already shared with %s" : "Delen van %s is mislukt, omdat het object al wordt gedeeld met %s",
"Not allowed to create a federated share with the same user" : "Het is niet toegestaan om een gefedereerde share met dezelfde gebruikersserver te maken",
"File is already shared with %s" : "Bestand is al gedeeld met %s",
- "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Delen van %s mislukt, kon %s niet vinden, misschien is de server niet bereikbaar of u gebruikt een zelf getekend certificaat.",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Delen van %s mislukt, kon %s niet vinden, misschien is de server niet bereikbaar of je gebruikt een zelf getekend certificaat.",
"Could not find share" : "Kon share niet vinden",
"You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Je ontving \"%3$s\" als een extern deel verzoek van %1$s (namens %2$s)",
"You received {share} as a remote share from {user} (on behalf of {behalf})" : "Je ontving {share} als een extern deel verzoek van {user} (namens {behalf})",
diff --git a/apps/federation/l10n/et_EE.js b/apps/federation/l10n/et_EE.js
index bdad264db7d..e0d93d85bb4 100644
--- a/apps/federation/l10n/et_EE.js
+++ b/apps/federation/l10n/et_EE.js
@@ -1,7 +1,16 @@
OC.L10N.register(
"federation",
{
- "No ownCloud server found" : "ownCloudi serverit ei leitud",
- "Could not add server" : "Serveri lisamine ebaõnnestus"
+ "Added to the list of trusted servers" : "Usaldatud serverite nimekirja lisatud",
+ "Server is already in the list of trusted servers." : "Server on juba usaldatud serverite nimekirjas.",
+ "No server to federate with found" : "Serverit millega liituda ei leitud",
+ "Could not add server" : "Serveri lisamine ebaõnnestus",
+ "Trusted servers" : "Usaldatud serverid",
+ "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Liitumine lubab sul ühenduse luua teiste usaldusväärsete serveritega, et kasutajaid jagada. Näiteks saab seda rakendada liitunud serverite väliste kasutajanimede automaatseks täitmiseks.",
+ "Add server automatically once a federated share was created successfully" : "Lisa server automaatselt niipea kui liitjagamine õnnestus",
+ "+ Add trusted server" : "+ Lisa usaldatud server",
+ "Trusted server" : "Usaldatud server",
+ "Add" : "Lisa",
+ "Federation" : "Liit"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/et_EE.json b/apps/federation/l10n/et_EE.json
index 9a5a8881c9b..7e5912b1133 100644
--- a/apps/federation/l10n/et_EE.json
+++ b/apps/federation/l10n/et_EE.json
@@ -1,5 +1,14 @@
{ "translations": {
- "No ownCloud server found" : "ownCloudi serverit ei leitud",
- "Could not add server" : "Serveri lisamine ebaõnnestus"
+ "Added to the list of trusted servers" : "Usaldatud serverite nimekirja lisatud",
+ "Server is already in the list of trusted servers." : "Server on juba usaldatud serverite nimekirjas.",
+ "No server to federate with found" : "Serverit millega liituda ei leitud",
+ "Could not add server" : "Serveri lisamine ebaõnnestus",
+ "Trusted servers" : "Usaldatud serverid",
+ "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Liitumine lubab sul ühenduse luua teiste usaldusväärsete serveritega, et kasutajaid jagada. Näiteks saab seda rakendada liitunud serverite väliste kasutajanimede automaatseks täitmiseks.",
+ "Add server automatically once a federated share was created successfully" : "Lisa server automaatselt niipea kui liitjagamine õnnestus",
+ "+ Add trusted server" : "+ Lisa usaldatud server",
+ "Trusted server" : "Usaldatud server",
+ "Add" : "Lisa",
+ "Federation" : "Liit"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/et_EE.js b/apps/files/l10n/et_EE.js
index 8bb56696fc1..e8b8e55848e 100644
--- a/apps/files/l10n/et_EE.js
+++ b/apps/files/l10n/et_EE.js
@@ -20,6 +20,7 @@ OC.L10N.register(
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize}/{loadedSize} ({bitrate})",
"Target folder does not exist any more" : "Sihtkataloogi pole enam olemas",
+ "Error when assembling chunks, status code {status}" : "Tükkide kokkupanemise viga, staatus kood {status}",
"Actions" : "Tegevused",
"Download" : "Lae alla",
"Rename" : "Nimeta ümber",
@@ -40,6 +41,8 @@ OC.L10N.register(
"Could not move \"{file}\"" : "\"{file}\" liigutamine ebaõnnestus",
"Could not copy \"{file}\", target exists" : "\"{file}\" kopeerimine ebaõnnestus, sihtfail on juba olemas",
"Could not copy \"{file}\"" : "\"{file}\" kopeerimine ebaõnnestus",
+ "Copied {origin} inside {destination}" : "Kopeeris {origin} {destination} sisse",
+ "Copied {origin} and {nbfiles} other files inside {destination}" : "Kopeeris {origin} ja {nbfiles} teist faili {destination} sisse",
"{newName} already exists" : "{newName} on juba olemas",
"Could not rename \"{fileName}\", it does not exist any more" : "\"{fileName}\" ümbernimetamine ebaõnnestus, seda pole enam olemas",
"The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nimi \"{targetName}\" on juba \"{dir}\" kaustas kasutusel. Palun valige teine nimi.",
@@ -76,6 +79,7 @@ OC.L10N.register(
"Favorite" : "Lemmik",
"New folder" : "Uus kaust",
"Upload file" : "Lae fail üles",
+ "Not favorited" : "Lemmikuks lisamata",
"Remove from favorites" : "Eemalda lemmikutest",
"Add to favorites" : "Lisa lemmikutesse",
"An error occurred while trying to update the tags" : "Siltide uuendamisel tekkis tõrge",
diff --git a/apps/files/l10n/et_EE.json b/apps/files/l10n/et_EE.json
index 0b45f837a0e..7d8d47e3b95 100644
--- a/apps/files/l10n/et_EE.json
+++ b/apps/files/l10n/et_EE.json
@@ -18,6 +18,7 @@
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize}/{loadedSize} ({bitrate})",
"Target folder does not exist any more" : "Sihtkataloogi pole enam olemas",
+ "Error when assembling chunks, status code {status}" : "Tükkide kokkupanemise viga, staatus kood {status}",
"Actions" : "Tegevused",
"Download" : "Lae alla",
"Rename" : "Nimeta ümber",
@@ -38,6 +39,8 @@
"Could not move \"{file}\"" : "\"{file}\" liigutamine ebaõnnestus",
"Could not copy \"{file}\", target exists" : "\"{file}\" kopeerimine ebaõnnestus, sihtfail on juba olemas",
"Could not copy \"{file}\"" : "\"{file}\" kopeerimine ebaõnnestus",
+ "Copied {origin} inside {destination}" : "Kopeeris {origin} {destination} sisse",
+ "Copied {origin} and {nbfiles} other files inside {destination}" : "Kopeeris {origin} ja {nbfiles} teist faili {destination} sisse",
"{newName} already exists" : "{newName} on juba olemas",
"Could not rename \"{fileName}\", it does not exist any more" : "\"{fileName}\" ümbernimetamine ebaõnnestus, seda pole enam olemas",
"The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nimi \"{targetName}\" on juba \"{dir}\" kaustas kasutusel. Palun valige teine nimi.",
@@ -74,6 +77,7 @@
"Favorite" : "Lemmik",
"New folder" : "Uus kaust",
"Upload file" : "Lae fail üles",
+ "Not favorited" : "Lemmikuks lisamata",
"Remove from favorites" : "Eemalda lemmikutest",
"Add to favorites" : "Lisa lemmikutesse",
"An error occurred while trying to update the tags" : "Siltide uuendamisel tekkis tõrge",
diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js
index c92138cbcfe..77a97ed35d1 100644
--- a/apps/files/l10n/ja.js
+++ b/apps/files/l10n/ja.js
@@ -113,8 +113,8 @@ OC.L10N.register(
"Save" : "保存",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "PHP-FPM の場合は値を変更後、反映されるのに5分程度かかります。",
"Missing permissions to edit from here." : "ここから編集するための権限がありません。",
- "%s of %s used" : "%s のうち%s が使われています",
- "%s used" : "%s 使われています",
+ "%s of %s used" : "%s / %s 使用中",
+ "%s used" : "%s 使用中",
"Settings" : "設定",
"Show hidden files" : "隠しファイルを表示",
"WebDAV" : "WebDAV",
diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json
index b4dafd2565d..32fd39ecbe4 100644
--- a/apps/files/l10n/ja.json
+++ b/apps/files/l10n/ja.json
@@ -111,8 +111,8 @@
"Save" : "保存",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "PHP-FPM の場合は値を変更後、反映されるのに5分程度かかります。",
"Missing permissions to edit from here." : "ここから編集するための権限がありません。",
- "%s of %s used" : "%s のうち%s が使われています",
- "%s used" : "%s 使われています",
+ "%s of %s used" : "%s / %s 使用中",
+ "%s used" : "%s 使用中",
"Settings" : "設定",
"Show hidden files" : "隠しファイルを表示",
"WebDAV" : "WebDAV",
diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js
index 625d9176d65..a0e9e1642dc 100644
--- a/apps/files/l10n/zh_TW.js
+++ b/apps/files/l10n/zh_TW.js
@@ -19,6 +19,8 @@ OC.L10N.register(
"Uploading …" : "上傳中...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中的 {loadedSize} ({bitrate})",
+ "Target folder does not exist any more" : "目標資料夾已經不存在了",
+ "Error when assembling chunks, status code {status}" : "重組檔案片段時出錯,狀態代碼 {status}",
"Actions" : "動作",
"Download" : "下載",
"Rename" : "重新命名",
@@ -39,6 +41,8 @@ OC.L10N.register(
"Could not move \"{file}\"" : "無法移動 \"{file}\"",
"Could not copy \"{file}\", target exists" : "無法複製\"{file}\",目標已存在",
"Could not copy \"{file}\"" : "無法複製\"{file}\"",
+ "Copied {origin} inside {destination}" : "已複製 {origin} 至 {destination}",
+ "Copied {origin} and {nbfiles} other files inside {destination}" : "已複製 {origin} 和其他 {nbfiles} 個檔案至 {destination}",
"{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/zh_TW.json b/apps/files/l10n/zh_TW.json
index 871f33e1276..41db3db0d49 100644
--- a/apps/files/l10n/zh_TW.json
+++ b/apps/files/l10n/zh_TW.json
@@ -17,6 +17,8 @@
"Uploading …" : "上傳中...",
"…" : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中的 {loadedSize} ({bitrate})",
+ "Target folder does not exist any more" : "目標資料夾已經不存在了",
+ "Error when assembling chunks, status code {status}" : "重組檔案片段時出錯,狀態代碼 {status}",
"Actions" : "動作",
"Download" : "下載",
"Rename" : "重新命名",
@@ -37,6 +39,8 @@
"Could not move \"{file}\"" : "無法移動 \"{file}\"",
"Could not copy \"{file}\", target exists" : "無法複製\"{file}\",目標已存在",
"Could not copy \"{file}\"" : "無法複製\"{file}\"",
+ "Copied {origin} inside {destination}" : "已複製 {origin} 至 {destination}",
+ "Copied {origin} and {nbfiles} other files inside {destination}" : "已複製 {origin} 和其他 {nbfiles} 個檔案至 {destination}",
"{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_sharing/l10n/et_EE.js b/apps/files_sharing/l10n/et_EE.js
index 05d9517f0c2..404f481c561 100644
--- a/apps/files_sharing/l10n/et_EE.js
+++ b/apps/files_sharing/l10n/et_EE.js
@@ -1,11 +1,6 @@
OC.L10N.register(
"files_sharing",
{
- "Server to server sharing is not enabled on this server" : "Serverist serverisse jagamine pole antud serveris lubatud",
- "The mountpoint name contains invalid characters." : "Ühenduspunkti nimes on vigaseid märke.",
- "Invalid or untrusted SSL certificate" : "Vigane või tundmatu SSL sertifikaat",
- "Storage not valid" : "Andmehoidla pole korrektne",
- "Couldn't add remote share" : "Ei suutnud lisada kaugjagamist",
"Shared with you" : "Sinuga jagatud",
"Shared with others" : "Teistega jagatud",
"Shared by link" : "Jagatud lingiga",
@@ -15,43 +10,106 @@ OC.L10N.register(
"Files and folders you share will show up here" : "Siin kuvatakse faile ja kaustasid, mida sa oled teistega jaganud",
"No shared links" : "Jagatud linke pole",
"Files and folders you share by link will show up here" : "Siin kuvatakse faile ja kaustasid, mida sa jagad lingiga",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Soovid lisata kaugjagamise {name} asukohast {owner}@{remote}?",
- "Remote share" : "Kaugjagamine",
- "Remote share password" : "Kaugjagamise parool",
- "Cancel" : "Loobu",
- "Add remote share" : "Lisa kaugjagamine",
"You can upload into this folder" : "Sa saad sellesse kausta faile üles laadida",
- "No ownCloud installation (7 or higher) found at {remote}" : "Saidilt {remote} ei leitud ownCloudi (7 või uuem) ",
- "Invalid ownCloud url" : "Vigane ownCloud url",
+ "No compatible server found at {remote}" : "Aadressil {remote} ei leitud ühilduvat serverit",
+ "Invalid server URL" : "Vigane serveri URL",
+ "Failed to add the public link to your Nextcloud" : "Avaliku lingi lisamine sinu Nextcloudi ebaõnnestus",
+ "Share" : "Jaga",
+ "No expiration date set" : "Aegumise kuupäeva pole määratud",
"Shared by" : "Jagas",
"Sharing" : "Jagamine",
- "A file or folder has been <strong>shared</strong>" : "Fail või kataloog on <strong>jagatud</strong>",
- "You shared %1$s with %2$s" : "Jagasid %1$s %2$s kasutajaga",
- "You shared %1$s with group %2$s" : "Jagasid %1$s %2$s grupiga",
- "You shared %1$s via link" : "Jagasid %1$s lingiga",
- "%2$s shared %1$s with you" : "%2$s jagas sinuga %1$s",
+ "File shares" : "Jagatud failid",
"Downloaded via public link" : "Alla laetud avalikult lingilt",
- "Shared with %2$s" : "Jagatud kasutajaga %2$s",
- "Shared with group %2$s" : "Jagatud grupiga %2$s",
- "Shared via public link" : "Jagatud avaliku lingiga",
+ "Downloaded by {email}" : "Alla laetud {email} poolt",
+ "{file} downloaded via public link" : "{file} laeti alla avaliku lingi kaudu",
+ "{email} downloaded {file}" : "{email} laadis {file} alla",
+ "Shared with group {group}" : "Jagatud grupiga {group}",
+ "Removed share for group {group}" : "Eemaldas jagamise grupiga {group}",
+ "{actor} shared with group {group}" : "{actor} jagas grupiga {group}",
+ "{actor} removed share for group {group}" : "{actor} eemaldas jagamise grupiga {group}",
+ "You shared {file} with group {group}" : "Sa jagasid faili {file} grupiga {group}",
+ "You removed group {group} from {file}" : "Sa eemaldasid grupi {group} faili {file} jagamisest",
+ "{actor} shared {file} with group {group}" : "{actor} jagas faili {file} grupiga {group}",
+ "{actor} removed group {group} from {file}" : "{actor} eemaldas grupi {group} faili {file} jagamisest",
+ "Shared as public link" : "Jaga avaliku lingina",
"Removed public link" : "Avalik link on eemaldatud",
"Public link expired" : "Avalik link aegus",
- "Shares" : "Jagamised",
+ "{actor} shared as public link" : "{actor} jagas avaliku lingina",
+ "{actor} removed public link" : "{actor} eemaldas avaliku lingi",
+ "Public link of {actor} expired" : "{actor} avalik link aegus",
+ "You shared {file} as public link" : "Sa jagasid {file} avaliku lingina",
+ "You removed public link for {file}" : "Sa eemaldasid {file} avaliku lingi",
+ "Public link expired for {file}" : "{file} avalik link aegus",
+ "{actor} shared {file} as public link" : "{actor} jagas {file} avaliku lingina",
+ "{actor} removed public link for {file}" : "{actor} eemaldas {file} avaliku lingi",
+ "Public link of {actor} for {file} expired" : " {actor} faili {file} avalik link aegus",
+ "{user} accepted the remote share" : "{user} aksepteeris kaugjagamise",
+ "{user} declined the remote share" : "{user} keeldus kaugjagamisest",
+ "You received a new remote share {file} from {user}" : "Sa said uue kaugjagatud faili {file} kasutajalt {user}",
+ "{user} accepted the remote share of {file}" : "{user} aksepteeris faili {file} kaugjagamise",
+ "{user} declined the remote share of {file}" : "{user} keeldus faili {file} kaugjagamisest",
+ "{user} unshared {file} from you" : "{user} lõpetas sinuga faili {file} jagamise",
+ "Shared with {user}" : "Jagatud kasutajale {user}",
+ "Removed share for {user}" : "Eemaldas jagamise kasutajaga {user}",
+ "{actor} shared with {user}" : "{actor} jagas kasutajaga {user}",
+ "{actor} removed share for {user}" : "{actor} eemaldas jagamise kasutajaga {user}",
+ "Shared by {actor}" : "Jagatud kasutajalt {actor}",
+ "{actor} removed share" : "{actor} eemaldas jagamise",
+ "You shared {file} with {user}" : "Sa jagasid {file} kasutajaga {user}",
+ "You removed {user} from {file}" : "Sa eemaldasid faili {file} jagamise kasutajaga {user} ",
+ "{actor} shared {file} with {user}" : "{actor} jagas {file} kasutajaga {user}",
+ "{actor} removed {user} from {file}" : "{actor} eemaldas {user} jagamise faililt {file}",
+ "{actor} shared {file} with you" : "{actor} jagas singuga {file}",
+ "{actor} removed you from {file}" : "{actor} eemaldas sind {file} jagamisest",
+ "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Fail või kaust mis on jagatud e-posti või avaliku lingiga <strong>laeti alla</strong>",
+ "A file or folder was shared from <strong>another server</strong>" : "Fail või kaust jagati <strong>teisest serverist</strong>",
+ "A file or folder has been <strong>shared</strong>" : "Fail või kataloog on <strong>jagatud</strong>",
+ "Wrong share ID, share doesn't exist" : "Vale jagamise ID, sellist jagamist ei eksisteeri",
+ "could not delete share" : "ei saanud jagamist eemaldada",
+ "Could not delete share" : "Ei saanud jagamist eemaldada",
+ "Please specify a file or folder path" : "Palun määra faili või kausta rada",
+ "Wrong path, file/folder doesn't exist" : "Vale rada, faili/kausta ei leitud",
+ "Could not create share" : "Ei saanud jagamist luua",
+ "invalid permissions" : "valed õigused",
+ "Please specify a valid user" : "Palun määra kehtiv kasutaja",
+ "Group sharing is disabled by the administrator" : "Grupiga jagamine on administraatori poolt keelatud",
+ "Please specify a valid group" : "Palun määra kehtiv grupp",
+ "Public link sharing is disabled by the administrator" : "Avaliku lingiga jagamine on administraatori poolt keelatud",
+ "Public upload disabled by the administrator" : "Avalik üleslaadimine on administraatori poolt keelatud",
+ "Public upload is only possible for publicly shared folders" : "Avalik üleslaadminie on võimalik ainult avalikult jagatud kaustades",
+ "Invalid date, date format must be YYYY-MM-DD" : "Vigane kuupäev, formaat peab olema YYYY-MM-DD",
+ "Sharing %s failed because the back end does not allow shares from type %s" : "%s jagamine ebaõnnestus sest server ei luba %s tüüpi jagamisi",
+ "You cannot share to a Circle if the app is not enabled" : "Sa ei saa jagada Ringi kui see rakendus pole lubatud",
+ "Please specify a valid circle" : "Palun määra kehtiv ring",
+ "Unknown share type" : "Tundmatu jagamise tüüp",
+ "Not a directory" : "Ei ole kaust",
+ "Could not lock path" : "Ei saanud rada lukustada",
+ "Wrong or no update parameter given" : "Antud vale või aegunud parameeter",
+ "Can't change permissions for public share links" : "Avalikult jagatud linkide õigusi muuta ei saa",
+ "Cannot increase permissions" : "Ei saa õigusi suurendada",
+ "Share API is disabled" : "Jagamise API on keelatud",
"This share is password-protected" : "See jagamine on parooliga kaitstud",
"The password is wrong. Try again." : "Parool on vale. Proovi uuesti.",
"Password" : "Parool",
"No entries found in this folder" : "Selles kaustas ei leitud kirjeid",
"Name" : "Nimi",
"Share time" : "Jagamise aeg",
+ "Expiration date" : "Aegumise kuupäev",
"Sorry, this link doesn’t seem to work anymore." : "Vabandust, see link ei tundu enam toimivat.",
"Reasons might be:" : "Põhjused võivad olla:",
"the item was removed" : "üksus on eemaldatud",
"the link expired" : "link on aegunud",
"sharing is disabled" : "jagamine on peatatud",
"For more info, please ask the person who sent this link." : "Täpsema info saamiseks palun pöördu lingi saatnud isiku poole.",
- "Add to your ownCloud" : "Lisa oma ownCloudi",
+ "shared by %s" : "jagas %s",
"Download" : "Lae alla",
+ "Direct link" : "Otsene link",
+ "Add to your Nextcloud" : "Lisa oma Nextcloudi",
"Download %s" : "Laadi alla %s",
- "Direct link" : "Otsene link"
+ "Upload files to %s" : "Laadi failid %s",
+ "Select or drop files" : "Vali või lohista failid",
+ "Uploading files…" : "Failide üleslaadimine...",
+ "Uploaded files:" : "Üleslaetud failid:",
+ "%s is publicly shared" : "%s on avalikult jagatud"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/et_EE.json b/apps/files_sharing/l10n/et_EE.json
index b782953c83e..89086670a74 100644
--- a/apps/files_sharing/l10n/et_EE.json
+++ b/apps/files_sharing/l10n/et_EE.json
@@ -1,9 +1,4 @@
{ "translations": {
- "Server to server sharing is not enabled on this server" : "Serverist serverisse jagamine pole antud serveris lubatud",
- "The mountpoint name contains invalid characters." : "Ühenduspunkti nimes on vigaseid märke.",
- "Invalid or untrusted SSL certificate" : "Vigane või tundmatu SSL sertifikaat",
- "Storage not valid" : "Andmehoidla pole korrektne",
- "Couldn't add remote share" : "Ei suutnud lisada kaugjagamist",
"Shared with you" : "Sinuga jagatud",
"Shared with others" : "Teistega jagatud",
"Shared by link" : "Jagatud lingiga",
@@ -13,43 +8,106 @@
"Files and folders you share will show up here" : "Siin kuvatakse faile ja kaustasid, mida sa oled teistega jaganud",
"No shared links" : "Jagatud linke pole",
"Files and folders you share by link will show up here" : "Siin kuvatakse faile ja kaustasid, mida sa jagad lingiga",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Soovid lisata kaugjagamise {name} asukohast {owner}@{remote}?",
- "Remote share" : "Kaugjagamine",
- "Remote share password" : "Kaugjagamise parool",
- "Cancel" : "Loobu",
- "Add remote share" : "Lisa kaugjagamine",
"You can upload into this folder" : "Sa saad sellesse kausta faile üles laadida",
- "No ownCloud installation (7 or higher) found at {remote}" : "Saidilt {remote} ei leitud ownCloudi (7 või uuem) ",
- "Invalid ownCloud url" : "Vigane ownCloud url",
+ "No compatible server found at {remote}" : "Aadressil {remote} ei leitud ühilduvat serverit",
+ "Invalid server URL" : "Vigane serveri URL",
+ "Failed to add the public link to your Nextcloud" : "Avaliku lingi lisamine sinu Nextcloudi ebaõnnestus",
+ "Share" : "Jaga",
+ "No expiration date set" : "Aegumise kuupäeva pole määratud",
"Shared by" : "Jagas",
"Sharing" : "Jagamine",
- "A file or folder has been <strong>shared</strong>" : "Fail või kataloog on <strong>jagatud</strong>",
- "You shared %1$s with %2$s" : "Jagasid %1$s %2$s kasutajaga",
- "You shared %1$s with group %2$s" : "Jagasid %1$s %2$s grupiga",
- "You shared %1$s via link" : "Jagasid %1$s lingiga",
- "%2$s shared %1$s with you" : "%2$s jagas sinuga %1$s",
+ "File shares" : "Jagatud failid",
"Downloaded via public link" : "Alla laetud avalikult lingilt",
- "Shared with %2$s" : "Jagatud kasutajaga %2$s",
- "Shared with group %2$s" : "Jagatud grupiga %2$s",
- "Shared via public link" : "Jagatud avaliku lingiga",
+ "Downloaded by {email}" : "Alla laetud {email} poolt",
+ "{file} downloaded via public link" : "{file} laeti alla avaliku lingi kaudu",
+ "{email} downloaded {file}" : "{email} laadis {file} alla",
+ "Shared with group {group}" : "Jagatud grupiga {group}",
+ "Removed share for group {group}" : "Eemaldas jagamise grupiga {group}",
+ "{actor} shared with group {group}" : "{actor} jagas grupiga {group}",
+ "{actor} removed share for group {group}" : "{actor} eemaldas jagamise grupiga {group}",
+ "You shared {file} with group {group}" : "Sa jagasid faili {file} grupiga {group}",
+ "You removed group {group} from {file}" : "Sa eemaldasid grupi {group} faili {file} jagamisest",
+ "{actor} shared {file} with group {group}" : "{actor} jagas faili {file} grupiga {group}",
+ "{actor} removed group {group} from {file}" : "{actor} eemaldas grupi {group} faili {file} jagamisest",
+ "Shared as public link" : "Jaga avaliku lingina",
"Removed public link" : "Avalik link on eemaldatud",
"Public link expired" : "Avalik link aegus",
- "Shares" : "Jagamised",
+ "{actor} shared as public link" : "{actor} jagas avaliku lingina",
+ "{actor} removed public link" : "{actor} eemaldas avaliku lingi",
+ "Public link of {actor} expired" : "{actor} avalik link aegus",
+ "You shared {file} as public link" : "Sa jagasid {file} avaliku lingina",
+ "You removed public link for {file}" : "Sa eemaldasid {file} avaliku lingi",
+ "Public link expired for {file}" : "{file} avalik link aegus",
+ "{actor} shared {file} as public link" : "{actor} jagas {file} avaliku lingina",
+ "{actor} removed public link for {file}" : "{actor} eemaldas {file} avaliku lingi",
+ "Public link of {actor} for {file} expired" : " {actor} faili {file} avalik link aegus",
+ "{user} accepted the remote share" : "{user} aksepteeris kaugjagamise",
+ "{user} declined the remote share" : "{user} keeldus kaugjagamisest",
+ "You received a new remote share {file} from {user}" : "Sa said uue kaugjagatud faili {file} kasutajalt {user}",
+ "{user} accepted the remote share of {file}" : "{user} aksepteeris faili {file} kaugjagamise",
+ "{user} declined the remote share of {file}" : "{user} keeldus faili {file} kaugjagamisest",
+ "{user} unshared {file} from you" : "{user} lõpetas sinuga faili {file} jagamise",
+ "Shared with {user}" : "Jagatud kasutajale {user}",
+ "Removed share for {user}" : "Eemaldas jagamise kasutajaga {user}",
+ "{actor} shared with {user}" : "{actor} jagas kasutajaga {user}",
+ "{actor} removed share for {user}" : "{actor} eemaldas jagamise kasutajaga {user}",
+ "Shared by {actor}" : "Jagatud kasutajalt {actor}",
+ "{actor} removed share" : "{actor} eemaldas jagamise",
+ "You shared {file} with {user}" : "Sa jagasid {file} kasutajaga {user}",
+ "You removed {user} from {file}" : "Sa eemaldasid faili {file} jagamise kasutajaga {user} ",
+ "{actor} shared {file} with {user}" : "{actor} jagas {file} kasutajaga {user}",
+ "{actor} removed {user} from {file}" : "{actor} eemaldas {user} jagamise faililt {file}",
+ "{actor} shared {file} with you" : "{actor} jagas singuga {file}",
+ "{actor} removed you from {file}" : "{actor} eemaldas sind {file} jagamisest",
+ "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Fail või kaust mis on jagatud e-posti või avaliku lingiga <strong>laeti alla</strong>",
+ "A file or folder was shared from <strong>another server</strong>" : "Fail või kaust jagati <strong>teisest serverist</strong>",
+ "A file or folder has been <strong>shared</strong>" : "Fail või kataloog on <strong>jagatud</strong>",
+ "Wrong share ID, share doesn't exist" : "Vale jagamise ID, sellist jagamist ei eksisteeri",
+ "could not delete share" : "ei saanud jagamist eemaldada",
+ "Could not delete share" : "Ei saanud jagamist eemaldada",
+ "Please specify a file or folder path" : "Palun määra faili või kausta rada",
+ "Wrong path, file/folder doesn't exist" : "Vale rada, faili/kausta ei leitud",
+ "Could not create share" : "Ei saanud jagamist luua",
+ "invalid permissions" : "valed õigused",
+ "Please specify a valid user" : "Palun määra kehtiv kasutaja",
+ "Group sharing is disabled by the administrator" : "Grupiga jagamine on administraatori poolt keelatud",
+ "Please specify a valid group" : "Palun määra kehtiv grupp",
+ "Public link sharing is disabled by the administrator" : "Avaliku lingiga jagamine on administraatori poolt keelatud",
+ "Public upload disabled by the administrator" : "Avalik üleslaadimine on administraatori poolt keelatud",
+ "Public upload is only possible for publicly shared folders" : "Avalik üleslaadminie on võimalik ainult avalikult jagatud kaustades",
+ "Invalid date, date format must be YYYY-MM-DD" : "Vigane kuupäev, formaat peab olema YYYY-MM-DD",
+ "Sharing %s failed because the back end does not allow shares from type %s" : "%s jagamine ebaõnnestus sest server ei luba %s tüüpi jagamisi",
+ "You cannot share to a Circle if the app is not enabled" : "Sa ei saa jagada Ringi kui see rakendus pole lubatud",
+ "Please specify a valid circle" : "Palun määra kehtiv ring",
+ "Unknown share type" : "Tundmatu jagamise tüüp",
+ "Not a directory" : "Ei ole kaust",
+ "Could not lock path" : "Ei saanud rada lukustada",
+ "Wrong or no update parameter given" : "Antud vale või aegunud parameeter",
+ "Can't change permissions for public share links" : "Avalikult jagatud linkide õigusi muuta ei saa",
+ "Cannot increase permissions" : "Ei saa õigusi suurendada",
+ "Share API is disabled" : "Jagamise API on keelatud",
"This share is password-protected" : "See jagamine on parooliga kaitstud",
"The password is wrong. Try again." : "Parool on vale. Proovi uuesti.",
"Password" : "Parool",
"No entries found in this folder" : "Selles kaustas ei leitud kirjeid",
"Name" : "Nimi",
"Share time" : "Jagamise aeg",
+ "Expiration date" : "Aegumise kuupäev",
"Sorry, this link doesn’t seem to work anymore." : "Vabandust, see link ei tundu enam toimivat.",
"Reasons might be:" : "Põhjused võivad olla:",
"the item was removed" : "üksus on eemaldatud",
"the link expired" : "link on aegunud",
"sharing is disabled" : "jagamine on peatatud",
"For more info, please ask the person who sent this link." : "Täpsema info saamiseks palun pöördu lingi saatnud isiku poole.",
- "Add to your ownCloud" : "Lisa oma ownCloudi",
+ "shared by %s" : "jagas %s",
"Download" : "Lae alla",
+ "Direct link" : "Otsene link",
+ "Add to your Nextcloud" : "Lisa oma Nextcloudi",
"Download %s" : "Laadi alla %s",
- "Direct link" : "Otsene link"
+ "Upload files to %s" : "Laadi failid %s",
+ "Select or drop files" : "Vali või lohista failid",
+ "Uploading files…" : "Failide üleslaadimine...",
+ "Uploaded files:" : "Üleslaetud failid:",
+ "%s is publicly shared" : "%s on avalikult jagatud"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/tests/js/shareSpec.js b/apps/files_sharing/tests/js/shareSpec.js
index 893525f7566..91060f6a735 100644
--- a/apps/files_sharing/tests/js/shareSpec.js
+++ b/apps/files_sharing/tests/js/shareSpec.js
@@ -498,7 +498,7 @@ describe('OCA.Sharing.Util tests', function() {
var changeHandler = sinon.stub();
fileInfoModel.on('change', changeHandler);
- shareTabSpy.getCall(0).thisValue.trigger('sharesChanged', shareModel);
+ shareTabSpy.getCall(0).returnValue.trigger('sharesChanged', shareModel);
expect(changeHandler.calledOnce).toEqual(true);
expect(changeHandler.getCall(0).args[0].changed).toEqual({
diff --git a/apps/systemtags/l10n/et_EE.js b/apps/systemtags/l10n/et_EE.js
index a7af5717495..d2af006af9d 100644
--- a/apps/systemtags/l10n/et_EE.js
+++ b/apps/systemtags/l10n/et_EE.js
@@ -26,9 +26,17 @@ OC.L10N.register(
"You deleted system tag {systemtag}" : "Sa kustutasid süsteemi sildi {systemtag}",
"%1$s deleted system tag %2$s" : "%1$s kustutas süsteemi sildi %2$s",
"{actor} deleted system tag {systemtag}" : "{actor} kustutas süsteemi sildi {systemtag}",
+ "You updated system tag %2$s to %1$s" : "Sa uuendasid süsteemi sildi %2$s => %1$s",
+ "You updated system tag {oldsystemtag} to {newsystemtag}" : "Sa uuendasid süsteemi sildi {oldsystemtag} => {newsystemtag}",
+ "%1$s updated system tag %3$s to %2$s" : "%1$s uuendas süsteemi sildi %3$s => %2$s",
+ "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} uuendas süsteemi sildi {oldsystemtag} => {newsystemtag}",
+ "You added system tag %2$s to %1$s" : "Sa lisasid süsteemi sildi %2$s => %1$s",
"You added system tag {systemtag} to {file}" : "Sa lisasid süsteemi sildi {systemtag} failile {file}",
+ "%1$s added system tag %3$s to %2$s" : "%1$s lisas süsteemi sildi %3$s => %2$s",
"{actor} added system tag {systemtag} to {file}" : "{actor} lisas süsteemi sildi {systemtag} failile {file}",
+ "You removed system tag %2$s from %1$s" : "Sa eemaldasid süsteemi sildi %2$s - %1$s",
"You removed system tag {systemtag} from {file}" : "Sa eemaldasid süsteemi sildi {systemtag} {file} faililt",
+ "%1$s removed system tag %3$s from %2$s" : "%1$s eemaldas süsteemi sildi %3$s - %2$s",
"{actor} removed system tag {systemtag} from {file}" : "{actor} eemaldas süsteemi sildi {systemtag} {file} faililt",
"%s (restricted)" : "%s (piiratud)",
"%s (invisible)" : "%s (nähtamatu)",
diff --git a/apps/systemtags/l10n/et_EE.json b/apps/systemtags/l10n/et_EE.json
index 6afc7567dfc..fe327cfbddc 100644
--- a/apps/systemtags/l10n/et_EE.json
+++ b/apps/systemtags/l10n/et_EE.json
@@ -24,9 +24,17 @@
"You deleted system tag {systemtag}" : "Sa kustutasid süsteemi sildi {systemtag}",
"%1$s deleted system tag %2$s" : "%1$s kustutas süsteemi sildi %2$s",
"{actor} deleted system tag {systemtag}" : "{actor} kustutas süsteemi sildi {systemtag}",
+ "You updated system tag %2$s to %1$s" : "Sa uuendasid süsteemi sildi %2$s => %1$s",
+ "You updated system tag {oldsystemtag} to {newsystemtag}" : "Sa uuendasid süsteemi sildi {oldsystemtag} => {newsystemtag}",
+ "%1$s updated system tag %3$s to %2$s" : "%1$s uuendas süsteemi sildi %3$s => %2$s",
+ "{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} uuendas süsteemi sildi {oldsystemtag} => {newsystemtag}",
+ "You added system tag %2$s to %1$s" : "Sa lisasid süsteemi sildi %2$s => %1$s",
"You added system tag {systemtag} to {file}" : "Sa lisasid süsteemi sildi {systemtag} failile {file}",
+ "%1$s added system tag %3$s to %2$s" : "%1$s lisas süsteemi sildi %3$s => %2$s",
"{actor} added system tag {systemtag} to {file}" : "{actor} lisas süsteemi sildi {systemtag} failile {file}",
+ "You removed system tag %2$s from %1$s" : "Sa eemaldasid süsteemi sildi %2$s - %1$s",
"You removed system tag {systemtag} from {file}" : "Sa eemaldasid süsteemi sildi {systemtag} {file} faililt",
+ "%1$s removed system tag %3$s from %2$s" : "%1$s eemaldas süsteemi sildi %3$s - %2$s",
"{actor} removed system tag {systemtag} from {file}" : "{actor} eemaldas süsteemi sildi {systemtag} {file} faililt",
"%s (restricted)" : "%s (piiratud)",
"%s (invisible)" : "%s (nähtamatu)",
diff --git a/apps/systemtags/l10n/zh_TW.js b/apps/systemtags/l10n/zh_TW.js
index bfcf22f94ba..5638d565c05 100644
--- a/apps/systemtags/l10n/zh_TW.js
+++ b/apps/systemtags/l10n/zh_TW.js
@@ -2,9 +2,47 @@ OC.L10N.register(
"systemtags",
{
"Tags" : "標籤",
+ "Update" : "套用",
+ "Create" : "新增",
+ "Select tag…" : "選擇標籤",
+ "Tagged files" : "已標籤檔案",
+ "Select tags to filter by" : "依照選擇的標籤篩選",
+ "No tags found" : "找不到標籤",
+ "Please select tags to filter by" : "請選擇標籤以篩選",
+ "No files found for the selected tags" : "沒有與選擇的標籤相符的檔案",
+ "Added system tag %1$s" : "已加入系統標籤 %1$s",
+ "Added system tag {systemtag}" : "已加入系統標籤 {systemtag}",
+ "%1$s added system tag %2$s" : "%1$s已加入系統標籤 %2$s",
+ "{actor} added system tag {systemtag}" : "{actor} 已加入系統標籤 {systemtag}",
+ "Removed system tag %1$s" : "已移除系統標籤 %1$s",
+ "Removed system tag {systemtag}" : "已移除系統標籤 {systemtag}",
+ "%1$s removed system tag %2$s" : "%1$s 已移除系統標籤 %2$s",
+ "{actor} removed system tag {systemtag}" : "{actor} 已移除系統標籤 {systemtag}",
+ "You created system tag %1$s" : "您新增了系統標籤 %1$s",
+ "You created system tag {systemtag}" : "您新增了系統標籤 {systemtag}",
+ "%1$s created system tag %2$s" : "%1$s 新增了系統標籤 %2$s",
+ "{actor} created system tag {systemtag}" : "{actor} 新增了系統標籤 {systemtag}",
+ "You deleted system tag %1$s" : "您刪除了系統標籤 %1$s",
+ "You deleted system tag {systemtag}" : "您刪除了系統標籤 {systemtag}",
+ "%1$s deleted system tag %2$s" : "%1$s刪除了系統標籤 %2$s",
+ "{actor} deleted system tag {systemtag}" : "{actor} 刪除了系統標籤 {systemtag}",
+ "You updated system tag %2$s to %1$s" : "您更新了系統標籤 %2$s 為 %1$s",
+ "You updated system tag {oldsystemtag} to {newsystemtag}" : "您更新了系統標籤 {oldsystemtag} 為 {newsystemtag}",
+ "%1$s updated system tag %3$s to %2$s" : "%1$s 更新了系統標籤 %3$s 為 %2$s",
+ "%s (restricted)" : "%s (受限)",
+ "%s (invisible)" : "%s (隱藏)",
+ "<strong>System tags</strong> for a file have been modified" : "一個檔案的<strong>系統標籤</strong>已經被修改",
+ "Collaborative tags" : "協作標籤",
+ "Create and edit collaborative tags. These tags affect all users." : "新增和編輯協作標籤,這些標籤將影響所有使用者",
+ "Select tag …" : "選擇標籤…",
+ "Name" : "名稱",
+ "Delete" : "移除",
+ "Public" : "公開",
+ "Restricted" : "受限",
+ "Invisible" : "隱藏",
+ "Reset" : "重設",
"No files in here" : "沒有任何檔案",
"No entries found in this folder" : "在此資料夾中沒有任何項目",
- "Name" : "名稱",
"Size" : "大小",
"Modified" : "修改時間"
},
diff --git a/apps/systemtags/l10n/zh_TW.json b/apps/systemtags/l10n/zh_TW.json
index abd8415c4cf..20858a6f2fb 100644
--- a/apps/systemtags/l10n/zh_TW.json
+++ b/apps/systemtags/l10n/zh_TW.json
@@ -1,8 +1,46 @@
{ "translations": {
"Tags" : "標籤",
+ "Update" : "套用",
+ "Create" : "新增",
+ "Select tag…" : "選擇標籤",
+ "Tagged files" : "已標籤檔案",
+ "Select tags to filter by" : "依照選擇的標籤篩選",
+ "No tags found" : "找不到標籤",
+ "Please select tags to filter by" : "請選擇標籤以篩選",
+ "No files found for the selected tags" : "沒有與選擇的標籤相符的檔案",
+ "Added system tag %1$s" : "已加入系統標籤 %1$s",
+ "Added system tag {systemtag}" : "已加入系統標籤 {systemtag}",
+ "%1$s added system tag %2$s" : "%1$s已加入系統標籤 %2$s",
+ "{actor} added system tag {systemtag}" : "{actor} 已加入系統標籤 {systemtag}",
+ "Removed system tag %1$s" : "已移除系統標籤 %1$s",
+ "Removed system tag {systemtag}" : "已移除系統標籤 {systemtag}",
+ "%1$s removed system tag %2$s" : "%1$s 已移除系統標籤 %2$s",
+ "{actor} removed system tag {systemtag}" : "{actor} 已移除系統標籤 {systemtag}",
+ "You created system tag %1$s" : "您新增了系統標籤 %1$s",
+ "You created system tag {systemtag}" : "您新增了系統標籤 {systemtag}",
+ "%1$s created system tag %2$s" : "%1$s 新增了系統標籤 %2$s",
+ "{actor} created system tag {systemtag}" : "{actor} 新增了系統標籤 {systemtag}",
+ "You deleted system tag %1$s" : "您刪除了系統標籤 %1$s",
+ "You deleted system tag {systemtag}" : "您刪除了系統標籤 {systemtag}",
+ "%1$s deleted system tag %2$s" : "%1$s刪除了系統標籤 %2$s",
+ "{actor} deleted system tag {systemtag}" : "{actor} 刪除了系統標籤 {systemtag}",
+ "You updated system tag %2$s to %1$s" : "您更新了系統標籤 %2$s 為 %1$s",
+ "You updated system tag {oldsystemtag} to {newsystemtag}" : "您更新了系統標籤 {oldsystemtag} 為 {newsystemtag}",
+ "%1$s updated system tag %3$s to %2$s" : "%1$s 更新了系統標籤 %3$s 為 %2$s",
+ "%s (restricted)" : "%s (受限)",
+ "%s (invisible)" : "%s (隱藏)",
+ "<strong>System tags</strong> for a file have been modified" : "一個檔案的<strong>系統標籤</strong>已經被修改",
+ "Collaborative tags" : "協作標籤",
+ "Create and edit collaborative tags. These tags affect all users." : "新增和編輯協作標籤,這些標籤將影響所有使用者",
+ "Select tag …" : "選擇標籤…",
+ "Name" : "名稱",
+ "Delete" : "移除",
+ "Public" : "公開",
+ "Restricted" : "受限",
+ "Invisible" : "隱藏",
+ "Reset" : "重設",
"No files in here" : "沒有任何檔案",
"No entries found in this folder" : "在此資料夾中沒有任何項目",
- "Name" : "名稱",
"Size" : "大小",
"Modified" : "修改時間"
},"pluralForm" :"nplurals=1; plural=0;"
diff --git a/apps/theming/js/settings-admin.js b/apps/theming/js/settings-admin.js
index 44a799a19b4..7df1bbf1125 100644
--- a/apps/theming/js/settings-admin.js
+++ b/apps/theming/js/settings-admin.js
@@ -206,7 +206,11 @@ $(document).ready(function () {
});
$('#theming-color').change(function (e) {
- setThemingValue('color', '#' + $(this).val());
+ var color = $(this).val();
+ if (color.indexOf('#') !== 0) {
+ color = '#' + color;
+ }
+ setThemingValue('color', color);
});
$('.theme-undo').click(function (e) {
diff --git a/apps/theming/templates/settings-admin.php b/apps/theming/templates/settings-admin.php
index c7451e595d7..1b8ed87bb0d 100644
--- a/apps/theming/templates/settings-admin.php
+++ b/apps/theming/templates/settings-admin.php
@@ -62,7 +62,7 @@ style('theming', 'settings-admin');
<div>
<label>
<span><?php p($l->t('Color')) ?></span>
- <input id="theming-color" type="text" class="jscolor" maxlength="6" value="<?php p($_['color']) ?>" />
+ <input id="theming-color" type="text" class="jscolor" data-jscolor="{hash:true}" maxlength="7" value="<?php p($_['color']) ?>" />
<div data-setting="color" data-toggle="tooltip" data-original-title="<?php p($l->t('Reset to default')); ?>" class="theme-undo icon icon-history"></div>
</label>
</div>
diff --git a/apps/user_ldap/js/wizard/wizardTabLoginFilter.js b/apps/user_ldap/js/wizard/wizardTabLoginFilter.js
index 7cc35aae0aa..0eef632d85d 100644
--- a/apps/user_ldap/js/wizard/wizardTabLoginFilter.js
+++ b/apps/user_ldap/js/wizard/wizardTabLoginFilter.js
@@ -85,6 +85,7 @@ OCA = OCA || {};
setModel: function(configModel) {
this._super(configModel);
this.configModel.on('configLoaded', this.onConfigSwitch, this);
+ this.configModel.on('configUpdated', this.onConfigUpdated, this);
this.configModel.on('receivedLdapFeature', this.onFeatureReceived, this);
},
@@ -205,6 +206,22 @@ OCA = OCA || {};
},
/**
+ * @param {WizardTabLoginFilter} view
+ * @param {Object} configuration
+ */
+ onConfigUpdated: function(view, configuration) {
+ // When the user list filter is updated in assisted mode, also
+ // update the login filter automatically.
+ if(
+ !_.isUndefined(configuration.ldap_userlist_filter)
+ && view.parsedFilterMode === view.configModel.FILTER_MODE_ASSISTED
+ && _.toArray(configuration).length === 1
+ ) {
+ view.configModel.requestWizard('ldap_login_filter');
+ }
+ },
+
+ /**
* if UserObjectClasses are found, the corresponding element will be
* updated
*
diff --git a/apps/workflowengine/l10n/et_EE.js b/apps/workflowengine/l10n/et_EE.js
new file mode 100644
index 00000000000..a35458ac2e1
--- /dev/null
+++ b/apps/workflowengine/l10n/et_EE.js
@@ -0,0 +1,68 @@
+OC.L10N.register(
+ "workflowengine",
+ {
+ "Saved" : "Salvestatud",
+ "Saving failed:" : "Salvestamine ebaõnnestus:",
+ "File MIME type" : "Faili MIME tüüp",
+ "is" : "on",
+ "is not" : "ei ole",
+ "matches" : "kattub",
+ "does not match" : "ei kattu",
+ "Example: {placeholder}" : "Näide: {placeholder}",
+ "File size (upload)" : "Faili suurus (üleslaadimine)",
+ "less" : "väiksem",
+ "less or equals" : "väiksem või võrdne",
+ "greater or equals" : "suurem või võrdne",
+ "greater" : "suurem",
+ "File system tag" : "Faili süsteemi silt",
+ "is tagged with" : "on sildiga",
+ "is not tagged with" : "ei ole sildiga",
+ "Select tag…" : "Vali silt...",
+ "Request remote address" : "Päringu kaugaadress",
+ "matches IPv4" : "kattub IPv4 aadressiga",
+ "does not match IPv4" : "Ei kattu IPv4 aadressiga",
+ "matches IPv6" : "kattub IPv6 aadressiga",
+ "does not match IPv6" : "Ei kattu IPv6 aadressiga",
+ "Request time" : "Päringu aeg",
+ "between" : "vahemikus",
+ "not between" : "ei ole vahemikus",
+ "Start" : "Algus",
+ "End" : "Lõpp",
+ "Select timezone…" : "Vali ajavöönd",
+ "Request URL" : "Päringu URL",
+ "Predefined URLs" : "Eelmääratletud URL-id",
+ "Files WebDAV" : "WebDAV failid",
+ "Request user agent" : "Päringu \"user agent\"",
+ "Sync clients" : "Kliendiprogrammid",
+ "Android client" : "Android klient",
+ "iOS client" : "iOS klient",
+ "Desktop client" : "Töölaua klient",
+ "User group membership" : "Kasutajagrupi liige",
+ "is member of" : "on liige",
+ "is not member of" : "ei ole liige",
+ "The given regular expression is invalid" : "Antud regulaaravaldis on vigane",
+ "The given file size is invalid" : "Antud faili suurus on vigane",
+ "The given tag id is invalid" : "Antud sildi ID on vigane",
+ "The given IP range is invalid" : "Antud IP vahemik on vigane",
+ "The given IP range is not valid for IPv4" : "Antud IP vahemik ei kehti IPv4 kohta",
+ "The given IP range is not valid for IPv6" : "Antud IP vahemik ei kehti IPv6 kohta",
+ "The given time span is invalid" : "Antud ajavahemik on vigane",
+ "The given start time is invalid" : "Antud algusaeg on vigane",
+ "The given end time is invalid" : "Antud lõppaeg on vigane",
+ "The given group does not exist" : "Antud gruppi ei leitud",
+ "Operation #%s does not exist" : "Tegevus # %s ei leitud",
+ "Operation %s does not exist" : "Tegevust %s ei leitud",
+ "Operation %s is invalid" : "Tegevus %s on vigane",
+ "Workflow" : "Töövoog",
+ "Open documentation" : "Ava dokumentatsioon",
+ "Add rule group" : "Lisa reegligrupp",
+ "Short rule description" : "Reegli lühikirjeldus",
+ "Add rule" : "Lisa reegel",
+ "Reset" : "Lähtesta",
+ "Save" : "Salvesta",
+ "Saving…" : "Salvestamine...",
+ "Loading…" : "Laadimine...",
+ "Successfully saved" : "Edukalt salvestatud",
+ "File mime type" : "Faili MIME tüüp"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/workflowengine/l10n/et_EE.json b/apps/workflowengine/l10n/et_EE.json
new file mode 100644
index 00000000000..65067361a14
--- /dev/null
+++ b/apps/workflowengine/l10n/et_EE.json
@@ -0,0 +1,66 @@
+{ "translations": {
+ "Saved" : "Salvestatud",
+ "Saving failed:" : "Salvestamine ebaõnnestus:",
+ "File MIME type" : "Faili MIME tüüp",
+ "is" : "on",
+ "is not" : "ei ole",
+ "matches" : "kattub",
+ "does not match" : "ei kattu",
+ "Example: {placeholder}" : "Näide: {placeholder}",
+ "File size (upload)" : "Faili suurus (üleslaadimine)",
+ "less" : "väiksem",
+ "less or equals" : "väiksem või võrdne",
+ "greater or equals" : "suurem või võrdne",
+ "greater" : "suurem",
+ "File system tag" : "Faili süsteemi silt",
+ "is tagged with" : "on sildiga",
+ "is not tagged with" : "ei ole sildiga",
+ "Select tag…" : "Vali silt...",
+ "Request remote address" : "Päringu kaugaadress",
+ "matches IPv4" : "kattub IPv4 aadressiga",
+ "does not match IPv4" : "Ei kattu IPv4 aadressiga",
+ "matches IPv6" : "kattub IPv6 aadressiga",
+ "does not match IPv6" : "Ei kattu IPv6 aadressiga",
+ "Request time" : "Päringu aeg",
+ "between" : "vahemikus",
+ "not between" : "ei ole vahemikus",
+ "Start" : "Algus",
+ "End" : "Lõpp",
+ "Select timezone…" : "Vali ajavöönd",
+ "Request URL" : "Päringu URL",
+ "Predefined URLs" : "Eelmääratletud URL-id",
+ "Files WebDAV" : "WebDAV failid",
+ "Request user agent" : "Päringu \"user agent\"",
+ "Sync clients" : "Kliendiprogrammid",
+ "Android client" : "Android klient",
+ "iOS client" : "iOS klient",
+ "Desktop client" : "Töölaua klient",
+ "User group membership" : "Kasutajagrupi liige",
+ "is member of" : "on liige",
+ "is not member of" : "ei ole liige",
+ "The given regular expression is invalid" : "Antud regulaaravaldis on vigane",
+ "The given file size is invalid" : "Antud faili suurus on vigane",
+ "The given tag id is invalid" : "Antud sildi ID on vigane",
+ "The given IP range is invalid" : "Antud IP vahemik on vigane",
+ "The given IP range is not valid for IPv4" : "Antud IP vahemik ei kehti IPv4 kohta",
+ "The given IP range is not valid for IPv6" : "Antud IP vahemik ei kehti IPv6 kohta",
+ "The given time span is invalid" : "Antud ajavahemik on vigane",
+ "The given start time is invalid" : "Antud algusaeg on vigane",
+ "The given end time is invalid" : "Antud lõppaeg on vigane",
+ "The given group does not exist" : "Antud gruppi ei leitud",
+ "Operation #%s does not exist" : "Tegevus # %s ei leitud",
+ "Operation %s does not exist" : "Tegevust %s ei leitud",
+ "Operation %s is invalid" : "Tegevus %s on vigane",
+ "Workflow" : "Töövoog",
+ "Open documentation" : "Ava dokumentatsioon",
+ "Add rule group" : "Lisa reegligrupp",
+ "Short rule description" : "Reegli lühikirjeldus",
+ "Add rule" : "Lisa reegel",
+ "Reset" : "Lähtesta",
+ "Save" : "Salvesta",
+ "Saving…" : "Salvestamine...",
+ "Loading…" : "Laadimine...",
+ "Successfully saved" : "Edukalt salvestatud",
+ "File mime type" : "Faili MIME tüüp"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/config/config.sample.php b/config/config.sample.php
index 5a79140dfb1..05efcaa2738 100644
--- a/config/config.sample.php
+++ b/config/config.sample.php
@@ -246,6 +246,9 @@ $CONFIG = array(
* The directory where the skeleton files are located. These files will be
* copied to the data directory of new users. Leave empty to not copy any
* skeleton files.
+ * ``{lang}`` can be used as a placeholder for the language of the user.
+ * If the directory does not exist, it falls back to non dialect (from ``de_DE``
+ * to ``de``). If that does not exist either, it falls back to ``default``
*
* Defaults to ``core/skeleton`` in the Nextcloud directory.
*/
@@ -878,6 +881,7 @@ $CONFIG = array(
/**
* custom path for LibreOffice/OpenOffice binary
*
+ *
* Defaults to ``''`` (empty string)
*/
'preview_libreoffice_path' => '/usr/bin/libreoffice',
diff --git a/core/Controller/AvatarController.php b/core/Controller/AvatarController.php
index 36b12fbd79c..c01e81a1790 100644
--- a/core/Controller/AvatarController.php
+++ b/core/Controller/AvatarController.php
@@ -111,6 +111,9 @@ class AvatarController extends Controller {
$this->timeFactory = $timeFactory;
}
+
+
+
/**
* @NoAdminRequired
* @NoCSRFRequired
@@ -133,19 +136,10 @@ class AvatarController extends Controller {
$resp = new FileDisplayResponse($avatar,
Http::STATUS_OK,
['Content-Type' => $avatar->getMimeType()]);
- } catch (NotFoundException $e) {
- $user = $this->userManager->get($userId);
- $resp = new JSONResponse([
- 'data' => [
- 'displayname' => $user->getDisplayName(),
- ],
- ]);
} catch (\Exception $e) {
- $resp = new JSONResponse([
- 'data' => [
- 'displayname' => $userId,
- ],
- ]);
+ $resp = new Http\Response();
+ $resp->setStatus(Http::STATUS_NOT_FOUND);
+ return $resp;
}
// Let cache this!
diff --git a/core/Controller/ClientFlowLoginController.php b/core/Controller/ClientFlowLoginController.php
index 81ba8009b24..47bbbce640e 100644
--- a/core/Controller/ClientFlowLoginController.php
+++ b/core/Controller/ClientFlowLoginController.php
@@ -307,7 +307,16 @@ class ClientFlowLoginController extends Controller {
);
$this->session->remove('oauth.state');
} else {
- $redirectUri = 'nc://login/server:' . $this->request->getServerHost() . '&user:' . urlencode($loginName) . '&password:' . urlencode($token);
+ $serverPostfix = '';
+
+ if (strpos($this->request->getRequestUri(), '/index.php') !== false) {
+ $serverPostfix = substr($this->request->getRequestUri(), 0, strpos($this->request->getRequestUri(), '/index.php'));
+ } else if (strpos($this->request->getRequestUri(), '/login/flow') !== false) {
+ $serverPostfix = substr($this->request->getRequestUri(), 0, strpos($this->request->getRequestUri(), '/login/flow'));
+ }
+
+ $serverPath = $this->request->getServerProtocol() . "://" . $this->request->getServerHost() . $serverPostfix;
+ $redirectUri = 'nc://login/server:' . $serverPath . '&user:' . urlencode($loginName) . '&password:' . urlencode($token);
}
return new Http\RedirectResponse($redirectUri);
diff --git a/core/js/setupchecks.js b/core/js/setupchecks.js
index c952c0a9a48..44bf33dd711 100644
--- a/core/js/setupchecks.js
+++ b/core/js/setupchecks.js
@@ -122,6 +122,12 @@
type: OC.SetupChecks.MESSAGE_TYPE_INFO
});
}
+ if(data.phpSupported && data.phpSupported.version.substr(0, 3) === '5.6') {
+ messages.push({
+ msg: t('core', 'You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14.'),
+ type: OC.SetupChecks.MESSAGE_TYPE_INFO
+ });
+ }
if(!data.forwardedForHeadersWorking) {
messages.push({
msg: t('core', 'The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target="_blank" rel="noreferrer noopener" href="{docLink}">documentation</a>.', {docLink: data.reverseProxyDocs}),
diff --git a/core/l10n/de.js b/core/l10n/de.js
index 52914c84e9f..c8fd650d10c 100644
--- a/core/l10n/de.js
+++ b/core/l10n/de.js
@@ -116,6 +116,7 @@ OC.L10N.register(
"No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Es wurde kein PHP-Memory-Cache konfiguriert. Zur Erhöhung der Leistungsfähigkeit kann ein Memory-Cache konfiguriert werden. Weitere Informationen finden Sie in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP hat keine Leserechte auf /dev/urandom wovon aus Sicherheitsgründen höchst abzuraten ist. Weitere Informationen sind in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a> zu finden.",
"You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Du verwendest derzeit PHP {version}. Upgrade deine PHP-Version, um die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">Geschwindigkeits- und Sicherheitsupdates zu nutzen, welche von der PHP-Gruppe bereitgestellt werden</a>, sobald diese Deine Distribution unterstützt.",
+ "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Die verwendest PHP 5.6. Die aktuelle Version von Nextcloud ist die letzte Version, die PHP 5.6 unterstützt. Es empfiehlt sich die PHP-Version auf 7.0 oder höher zu aktualisieren, um in der Lage zu sein, auf Nextcloud 14 zu aktualisieren.",
"The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Die Reverse-Proxy-Header-Konfiguration ist fehlerhaft oder Sie greifen auf Nextcloud über einen vertrauenswürdigen Proxy zu. Ist dies nicht der Fall, dann besteht ein Sicherheitsproblem, das einem Angreifer erlaubt die IP-Adresse, die für Nextcloud sichtbar ist, auszuspähen. Weitere Informationen hierzu finde sich in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>.",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached ist als verteilter Cache konfiguriert, aber das falsche PHP-Modul \"memcache\" ist installiert. \\OC\\Memcache\\Memcached unterstützt nur \"memcached\" jedoch nicht \"memcache\". Im <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki nach beiden Modulen suchen</a>.",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Einige Dateien haben die Integritätsprüfung nicht bestanden. Weiterführende Informationen befinden sich in unserer <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Liste der ungültigen Dateien…</a> / <a href=\"{rescanEndpoint}\">Erneut analysieren…</a>)",
diff --git a/core/l10n/de.json b/core/l10n/de.json
index 90ceaa5c01c..7ef64d319f6 100644
--- a/core/l10n/de.json
+++ b/core/l10n/de.json
@@ -114,6 +114,7 @@
"No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Es wurde kein PHP-Memory-Cache konfiguriert. Zur Erhöhung der Leistungsfähigkeit kann ein Memory-Cache konfiguriert werden. Weitere Informationen finden Sie in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP hat keine Leserechte auf /dev/urandom wovon aus Sicherheitsgründen höchst abzuraten ist. Weitere Informationen sind in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a> zu finden.",
"You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Du verwendest derzeit PHP {version}. Upgrade deine PHP-Version, um die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">Geschwindigkeits- und Sicherheitsupdates zu nutzen, welche von der PHP-Gruppe bereitgestellt werden</a>, sobald diese Deine Distribution unterstützt.",
+ "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Die verwendest PHP 5.6. Die aktuelle Version von Nextcloud ist die letzte Version, die PHP 5.6 unterstützt. Es empfiehlt sich die PHP-Version auf 7.0 oder höher zu aktualisieren, um in der Lage zu sein, auf Nextcloud 14 zu aktualisieren.",
"The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Die Reverse-Proxy-Header-Konfiguration ist fehlerhaft oder Sie greifen auf Nextcloud über einen vertrauenswürdigen Proxy zu. Ist dies nicht der Fall, dann besteht ein Sicherheitsproblem, das einem Angreifer erlaubt die IP-Adresse, die für Nextcloud sichtbar ist, auszuspähen. Weitere Informationen hierzu finde sich in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>.",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached ist als verteilter Cache konfiguriert, aber das falsche PHP-Modul \"memcache\" ist installiert. \\OC\\Memcache\\Memcached unterstützt nur \"memcached\" jedoch nicht \"memcache\". Im <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki nach beiden Modulen suchen</a>.",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Einige Dateien haben die Integritätsprüfung nicht bestanden. Weiterführende Informationen befinden sich in unserer <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Liste der ungültigen Dateien…</a> / <a href=\"{rescanEndpoint}\">Erneut analysieren…</a>)",
diff --git a/core/l10n/de_DE.js b/core/l10n/de_DE.js
index 6e41c395e2a..869b16ce452 100644
--- a/core/l10n/de_DE.js
+++ b/core/l10n/de_DE.js
@@ -116,6 +116,7 @@ OC.L10N.register(
"No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Es wurde kein PHP-Memory-Cache konfiguriert. Zur Erhöhung der Leistungsfähigkeit kann ein Memory-Cache konfiguriert werden. Weitere Informationen finden Sie in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP hat keine Leserechte auf /dev/urandom wovon aus Sicherheitsgründen höchst abzuraten ist. Weitere Informationen sind in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a> zu finden.",
"You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Sie verwenden im Moment PHP {version}. Upgraden Sie Ihre PHP-Version, um die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">Geschwindigkeits- und Sicherheitsupdates zu nutzen, welche von der PHP-Gruppe bereitgestellt werden</a>, sobald Ihre Distribution diese unterstützt.",
+ "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Sie verwenden PHP 5.6. Die aktuelle Version von Nextcloud ist die letzte Version, die PHP 5.6 unterstützt. Es empfiehlt sich die PHP-Version auf 7.0 oder höher zu aktualisieren, um in der Lage zu sein, auf Nextcloud 14 zu aktualisieren.",
"The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Die Reverse-Proxy-Header-Konfiguration ist fehlerhaft oder Sie greifen auf Nextcloud über einen vertrauenswürdigen Proxy zu. Ist dies nicht der Fall, dann besteht ein Sicherheitsproblem, das einem Angreifer erlaubt die IP-Adresse, die für Nextcloud sichtbar ist, auszuspähen. Weitere Informationen hierzu finde sich in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>.",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached ist als verteilter Cache konfiguriert, aber das falsche PHP Modul \"memcache\" ist installiert. \\OC\\Memcache\\Memcached unterstützt nur \"memcached\" jedoch nicht \"memcache\". Im <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki nach beiden Modulen suchen</a>.",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Einige Dateien haben die Integritätsprüfung nicht bestanden. Weiterführende Informationen befinden sich in unserer <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Liste der ungültigen Dateien …</a> / <a href=\"{rescanEndpoint}\">Erneut analysieren…</a>)",
diff --git a/core/l10n/de_DE.json b/core/l10n/de_DE.json
index 132b60757ec..f7e8ad244bc 100644
--- a/core/l10n/de_DE.json
+++ b/core/l10n/de_DE.json
@@ -114,6 +114,7 @@
"No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Es wurde kein PHP-Memory-Cache konfiguriert. Zur Erhöhung der Leistungsfähigkeit kann ein Memory-Cache konfiguriert werden. Weitere Informationen finden Sie in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP hat keine Leserechte auf /dev/urandom wovon aus Sicherheitsgründen höchst abzuraten ist. Weitere Informationen sind in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a> zu finden.",
"You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Sie verwenden im Moment PHP {version}. Upgraden Sie Ihre PHP-Version, um die <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">Geschwindigkeits- und Sicherheitsupdates zu nutzen, welche von der PHP-Gruppe bereitgestellt werden</a>, sobald Ihre Distribution diese unterstützt.",
+ "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Sie verwenden PHP 5.6. Die aktuelle Version von Nextcloud ist die letzte Version, die PHP 5.6 unterstützt. Es empfiehlt sich die PHP-Version auf 7.0 oder höher zu aktualisieren, um in der Lage zu sein, auf Nextcloud 14 zu aktualisieren.",
"The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Die Reverse-Proxy-Header-Konfiguration ist fehlerhaft oder Sie greifen auf Nextcloud über einen vertrauenswürdigen Proxy zu. Ist dies nicht der Fall, dann besteht ein Sicherheitsproblem, das einem Angreifer erlaubt die IP-Adresse, die für Nextcloud sichtbar ist, auszuspähen. Weitere Informationen hierzu finde sich in der <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>.",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached ist als verteilter Cache konfiguriert, aber das falsche PHP Modul \"memcache\" ist installiert. \\OC\\Memcache\\Memcached unterstützt nur \"memcached\" jedoch nicht \"memcache\". Im <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki nach beiden Modulen suchen</a>.",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Einige Dateien haben die Integritätsprüfung nicht bestanden. Weiterführende Informationen befinden sich in unserer <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Dokumentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Liste der ungültigen Dateien …</a> / <a href=\"{rescanEndpoint}\">Erneut analysieren…</a>)",
diff --git a/core/l10n/es.js b/core/l10n/es.js
index dcad3c0318b..35e2af9c9cb 100644
--- a/core/l10n/es.js
+++ b/core/l10n/es.js
@@ -116,6 +116,7 @@ OC.L10N.register(
"No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Nose ha configurado ninguna memoria caché. Para mejorar el rendimiento, por favor, configura memcache, si está disponible. Se puede encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom, lo que está fuertemente desaconsejado por razones de seguridad. Se puede encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Estás usando PHP {version}. Actualiza la versión de PHP para aprovecharte de <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">mejoras de rendimiento y seguridad provistas por el PHP Group</a> tan pronto como tu distribución lo soporte.",
+ "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Estás funcionando con PHP 5.6. Esta versión mayor de Nextcloud es la última que está soportada en PHP 5.6. Se recomienda actualizar la versión de PHP a 7.0+ para poder actualizar a Nextcloud 14.",
"The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "La configuración de cabeceras del proxy inverso es incorrecta, o estás accediendo a Nextcloud desde un proxy fiable. Si no, esto es un problema de seguridad que puede permitir que un atacante disfrazar su dirección IP como visible a Nextcloud. Se puede encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached está configurado como caché distribuida, pero el módulo erróneo de PHP \"memcache\" está instalado. \\OC\\Memcache\\Memcached solo soporta \"memcached\" y no \"memcache\". Vea la <a target=\"_blank\" href=\"{wikiLink}\">wiki de memcached sobre ambos módulos</a>.",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Algunos archivos no han pasado la comprobación de integridad. Se puede encontrar más información sobre cómo resolver este problema en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Lista de archivos inválidos...</a> / <a href=\"{rescanEndpoint}\">Reescanear</a>)",
diff --git a/core/l10n/es.json b/core/l10n/es.json
index 2ac56c87d6c..a5c660a6159 100644
--- a/core/l10n/es.json
+++ b/core/l10n/es.json
@@ -114,6 +114,7 @@
"No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Nose ha configurado ninguna memoria caché. Para mejorar el rendimiento, por favor, configura memcache, si está disponible. Se puede encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP no puede leer /dev/urandom, lo que está fuertemente desaconsejado por razones de seguridad. Se puede encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Estás usando PHP {version}. Actualiza la versión de PHP para aprovecharte de <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">mejoras de rendimiento y seguridad provistas por el PHP Group</a> tan pronto como tu distribución lo soporte.",
+ "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Estás funcionando con PHP 5.6. Esta versión mayor de Nextcloud es la última que está soportada en PHP 5.6. Se recomienda actualizar la versión de PHP a 7.0+ para poder actualizar a Nextcloud 14.",
"The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "La configuración de cabeceras del proxy inverso es incorrecta, o estás accediendo a Nextcloud desde un proxy fiable. Si no, esto es un problema de seguridad que puede permitir que un atacante disfrazar su dirección IP como visible a Nextcloud. Se puede encontrar más información en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>.",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached está configurado como caché distribuida, pero el módulo erróneo de PHP \"memcache\" está instalado. \\OC\\Memcache\\Memcached solo soporta \"memcached\" y no \"memcache\". Vea la <a target=\"_blank\" href=\"{wikiLink}\">wiki de memcached sobre ambos módulos</a>.",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Algunos archivos no han pasado la comprobación de integridad. Se puede encontrar más información sobre cómo resolver este problema en la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentación</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Lista de archivos inválidos...</a> / <a href=\"{rescanEndpoint}\">Reescanear</a>)",
diff --git a/core/l10n/et_EE.js b/core/l10n/et_EE.js
index 2df47c8e9d0..2e6ba017799 100644
--- a/core/l10n/et_EE.js
+++ b/core/l10n/et_EE.js
@@ -78,7 +78,7 @@ OC.L10N.register(
"Your files are encrypted. There will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Sinu failid on krüpteeritud. Andmete taaastaamine ei ole pärast parooli lähtestaamist enam võimalik. <br />Kui Sa ei ole kindel mida teha, kontakteeru palun enne jätkamist administraatoriga. <br />Kas Sa kindlasti soovid jätkata?",
"I know what I'm doing" : "Ma tean mida teen",
"Password can not be changed. Please contact your administrator." : "Parooli ei saa muuta. Palun kontakteeru oma süsteemihalduriga.",
- "Reset password" : "Nulli parool",
+ "Reset password" : "Lähtesta parool",
"Sending email …" : "Saadan kirja ...",
"No" : "Ei",
"Yes" : "Jah",
@@ -157,12 +157,17 @@ OC.L10N.register(
"No users or groups found for {search}" : "Otsingu {search} põhjal kasutajaid ega gruppe ei leitud",
"No users found for {search}" : "Otsingu {search} põhjal kasutajaid ei leitud",
"An error occurred. Please try again" : "Tekkis tõrge. Palun proovi uuesti",
- "{sharee} (group)" : "{sharee} (group)",
+ "{sharee} (group)" : "{sharee} (grupp)",
"{sharee} (remote)" : "{sharee} (mujal serveris)",
- "{sharee} (email)" : "{sharee} (email)",
+ "{sharee} (email)" : "{sharee} (e-post)",
+ "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Jaga",
+ "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Jaga teiste inimestega sisestades kasutaja või grupi, liitpilve ID või e-posti aadressi.",
+ "Share with other people by entering a user or group or a federated cloud ID." : "Jaga teiste inimestega, sisestades kasutaja või grupi või liitpilve ID.",
"Share with other people by entering a user or group or an email address." : "Jaga teiste inimestega, sisestades kasutaja, grupi või e-posti aadressi.",
"Name or email address..." : "Nimi või e-posti aadress",
+ "Name or federated cloud ID..." : "Liitpilve nimi või ID...",
+ "Name, federated cloud ID or email address..." : "Liitpilve nimi, ID või e-posti aadress...",
"Name..." : "Nimi...",
"Error" : "Viga",
"Error removing share" : "Viga jagamise eemaldamisel",
@@ -297,6 +302,7 @@ OC.L10N.register(
"can change" : "võib muuta",
"can delete" : "võib kustutada",
"access control" : "ligipääsukontroll",
+ "Share with people on other servers using their Federated Cloud ID username@example.com/nextcloud" : "Jaga inimestega teistes serverites kasutades nende liitpilve ID-d username@example.com/nextcloud",
"Share with users or by mail..." : "Jaga kasutajatega või e-postiga ...",
"Share with users or remote users..." : "Jaga kasutajatega või eemal olevate kasutajatega ...",
"Share with users, remote users or by mail..." : "Jaga kasutajatega, eemal olevate kasutajatega või e-postiga ...",
diff --git a/core/l10n/et_EE.json b/core/l10n/et_EE.json
index 37b1201eea6..af02eac5398 100644
--- a/core/l10n/et_EE.json
+++ b/core/l10n/et_EE.json
@@ -76,7 +76,7 @@
"Your files are encrypted. There will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Sinu failid on krüpteeritud. Andmete taaastaamine ei ole pärast parooli lähtestaamist enam võimalik. <br />Kui Sa ei ole kindel mida teha, kontakteeru palun enne jätkamist administraatoriga. <br />Kas Sa kindlasti soovid jätkata?",
"I know what I'm doing" : "Ma tean mida teen",
"Password can not be changed. Please contact your administrator." : "Parooli ei saa muuta. Palun kontakteeru oma süsteemihalduriga.",
- "Reset password" : "Nulli parool",
+ "Reset password" : "Lähtesta parool",
"Sending email …" : "Saadan kirja ...",
"No" : "Ei",
"Yes" : "Jah",
@@ -155,12 +155,17 @@
"No users or groups found for {search}" : "Otsingu {search} põhjal kasutajaid ega gruppe ei leitud",
"No users found for {search}" : "Otsingu {search} põhjal kasutajaid ei leitud",
"An error occurred. Please try again" : "Tekkis tõrge. Palun proovi uuesti",
- "{sharee} (group)" : "{sharee} (group)",
+ "{sharee} (group)" : "{sharee} (grupp)",
"{sharee} (remote)" : "{sharee} (mujal serveris)",
- "{sharee} (email)" : "{sharee} (email)",
+ "{sharee} (email)" : "{sharee} (e-post)",
+ "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "Jaga",
+ "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Jaga teiste inimestega sisestades kasutaja või grupi, liitpilve ID või e-posti aadressi.",
+ "Share with other people by entering a user or group or a federated cloud ID." : "Jaga teiste inimestega, sisestades kasutaja või grupi või liitpilve ID.",
"Share with other people by entering a user or group or an email address." : "Jaga teiste inimestega, sisestades kasutaja, grupi või e-posti aadressi.",
"Name or email address..." : "Nimi või e-posti aadress",
+ "Name or federated cloud ID..." : "Liitpilve nimi või ID...",
+ "Name, federated cloud ID or email address..." : "Liitpilve nimi, ID või e-posti aadress...",
"Name..." : "Nimi...",
"Error" : "Viga",
"Error removing share" : "Viga jagamise eemaldamisel",
@@ -295,6 +300,7 @@
"can change" : "võib muuta",
"can delete" : "võib kustutada",
"access control" : "ligipääsukontroll",
+ "Share with people on other servers using their Federated Cloud ID username@example.com/nextcloud" : "Jaga inimestega teistes serverites kasutades nende liitpilve ID-d username@example.com/nextcloud",
"Share with users or by mail..." : "Jaga kasutajatega või e-postiga ...",
"Share with users or remote users..." : "Jaga kasutajatega või eemal olevate kasutajatega ...",
"Share with users, remote users or by mail..." : "Jaga kasutajatega, eemal olevate kasutajatega või e-postiga ...",
diff --git a/core/l10n/fr.js b/core/l10n/fr.js
index 5de19e4ea6b..e5b2c7a47ba 100644
--- a/core/l10n/fr.js
+++ b/core/l10n/fr.js
@@ -116,6 +116,7 @@ OC.L10N.register(
"No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Aucun cache mémoire n'est configuré. Si possible, configurez un \"memcache\" pour améliorer les performances. Pour plus d'informations consultez la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom n'est pas lisible par PHP, ce qui est fortement déconseillé pour des raisons de sécurité. Vous trouverez plus d'informations dans la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>.",
"You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Vous utilisez actuellement PHP {version}. Mettez à jour votre version de PHP afin de tirer avantage des améliorations liées à <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">la performance et la sécurité fournies par le PHP Group</a> dès que votre distribution le supportera.",
+ "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Vous utiliser actuellement PHP 5.6. La version majeure actuelle de Nextcloud est la dernière qui est supportée sous PHP 5.6. Il est recommandé de mettre à niveau PHP vers la version 7.0+ pour pouvoir passer à Nextcloud 14.",
"The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "La configuration des entêtes du proxy inverse est incorrecte, ou vous accédez à Nextcloud depuis un proxy de confiance. Si vous n'êtes pas en train d’accéder à Nextcloud depuis un proxy de confiance, il y a un problème de sécurité qui peut permettre à un attaquant d'usurper l'adresse IP affichée à Nextcloud. Vous trouverez plus d'informations dans notre <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>.",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "\"memcached\" est configuré comme cache distribué, mais le mauvais module PHP \"memcache\" est installé. \\OC\\Memcache\\Memcached ne prend en charge que \"memcached\" et non \"memcache\". Consulter le <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">wiki de memcached à propos de ces deux modules</a>.",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Des fichiers n'ont pas passé la vérification d’intégrité. Vous trouverez plus d'information sur comment résoudre ce problème dans notre <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Liste des fichiers invalides…</a> / <a href=\"{rescanEndpoint}\">Rescanner…</a>)",
diff --git a/core/l10n/fr.json b/core/l10n/fr.json
index 2b302a3fac2..eb0a22cc5b1 100644
--- a/core/l10n/fr.json
+++ b/core/l10n/fr.json
@@ -114,6 +114,7 @@
"No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Aucun cache mémoire n'est configuré. Si possible, configurez un \"memcache\" pour améliorer les performances. Pour plus d'informations consultez la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom n'est pas lisible par PHP, ce qui est fortement déconseillé pour des raisons de sécurité. Vous trouverez plus d'informations dans la <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>.",
"You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Vous utilisez actuellement PHP {version}. Mettez à jour votre version de PHP afin de tirer avantage des améliorations liées à <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">la performance et la sécurité fournies par le PHP Group</a> dès que votre distribution le supportera.",
+ "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Vous utiliser actuellement PHP 5.6. La version majeure actuelle de Nextcloud est la dernière qui est supportée sous PHP 5.6. Il est recommandé de mettre à niveau PHP vers la version 7.0+ pour pouvoir passer à Nextcloud 14.",
"The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "La configuration des entêtes du proxy inverse est incorrecte, ou vous accédez à Nextcloud depuis un proxy de confiance. Si vous n'êtes pas en train d’accéder à Nextcloud depuis un proxy de confiance, il y a un problème de sécurité qui peut permettre à un attaquant d'usurper l'adresse IP affichée à Nextcloud. Vous trouverez plus d'informations dans notre <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>.",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "\"memcached\" est configuré comme cache distribué, mais le mauvais module PHP \"memcache\" est installé. \\OC\\Memcache\\Memcached ne prend en charge que \"memcached\" et non \"memcache\". Consulter le <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">wiki de memcached à propos de ces deux modules</a>.",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Des fichiers n'ont pas passé la vérification d’intégrité. Vous trouverez plus d'information sur comment résoudre ce problème dans notre <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Liste des fichiers invalides…</a> / <a href=\"{rescanEndpoint}\">Rescanner…</a>)",
diff --git a/core/l10n/nl.js b/core/l10n/nl.js
index 488247c4176..59c4dc4d23c 100644
--- a/core/l10n/nl.js
+++ b/core/l10n/nl.js
@@ -211,7 +211,7 @@ OC.L10N.register(
"The specified document has not been found on the server." : "Het opgegeven document is niet gevonden op deze server.",
"You can click here to return to %s." : "Klik hier om terug te keren naar %s.",
"Internal Server Error" : "Interne serverfout",
- "The server was unable to complete your request." : "De server was niet in staat uw aanvraag te verwerken.",
+ "The server was unable to complete your request." : "De server was niet in staat je aanvraag te verwerken.",
"If this happens again, please send the technical details below to the server administrator." : "Stuur de hieronder afgebeelde technische details naar de server beheerder wanneer dit opnieuw gebeurd.",
"More details can be found in the server log." : "Meer details in de serverlogging,",
"Technical details" : "Technische details",
@@ -233,7 +233,7 @@ OC.L10N.register(
"Configure the database" : "Configureer de database",
"Only %s is available." : "Alleen %s is beschikbaar.",
"Install and activate additional PHP modules to choose other database types." : "Installeer en activeer aanvullende PHP modules om andere soorten databases te kiezen.",
- "For more details check out the documentation." : "Voor meer informatie wordt u verwezen naar de documentatie.",
+ "For more details check out the documentation." : "Voor meer informatie word je verwezen naar de documentatie.",
"Database user" : "Gebruiker database",
"Database password" : "Wachtwoord database",
"Database name" : "Naam database",
@@ -279,14 +279,14 @@ OC.L10N.register(
"Error while validating your second factor" : "Fout bij het verifiëren van je tweede factor",
"Access through untrusted domain" : "Toegang via een niet vertrouwd domein",
"Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "Neem contact op met je beheerder. Wanneer je een beheerder bent kun je de \"trusted_domains\" instelling bewerken in config/config.php zoals in het voorbeeld config.sample.php. ",
- "Depending on your configuration, this button could also work to trust the domain:" : "Afhankelijk van uw configuratie kan deze knop ook werken om het volgende domein te vertrouwen:",
+ "Depending on your configuration, this button could also work to trust the domain:" : "Afhankelijk van je configuratie kan deze knop ook werken om het volgende domein te vertrouwen:",
"Add \"%s\" as trusted domain" : "\"%s\" toevoegen als vertrouwd domein",
"App update required" : "Bijwerken App vereist",
"%s will be updated to version %s" : "%s wordt bijgewerkt naar versie %s",
"These apps will be updated:" : "Deze apps worden bijgewerkt:",
"These incompatible apps will be disabled:" : "De volgende incompatibele apps worden uitgeschakeld:",
"The theme %s has been disabled." : "Het thema %s is uitgeschakeld.",
- "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Let erop dat de database, de config map en de data map zijn gebackupped voordat u verder gaat.",
+ "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Let erop dat de database, de config map en de data map zijn gebackupt voordat je verder gaat.",
"Start update" : "Begin de update",
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Om time-outs tijdens grotere installaties te voorkomen, kun je in plaats hiervan de volgende opdracht geven vanaf je installatiedirectory:",
"Detailed logs" : "Gedetailleerde logs",
@@ -304,7 +304,7 @@ OC.L10N.register(
"Ok" : "Ok",
"Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Je webserver is nog niet goed ingesteld voor bestandssynchronisatie, omdat de WebDAV interface verstoord lijkt.",
"Your web server is not set up properly to resolve \"{url}\". Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Je webserver is niet goed ingesteld om \"{url}\" te vinden. Meer informatie is te vinden in onze <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentatie</a>.",
- "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Deze server heeft geen actieve internetverbinding: meerdere endpoints kunnen niet worden bereikt. Dat betekent dat sommige functies, zoals aankoppelen van externe opslag, notificaties over updates of installatie van apps van derde partijen niet werken. Ook het benaderen van bestanden vanaf een remote locatie en het versturen van notificatie emails kan mislukken. We adviseren om de internetverbinding voor deze server in te schakelen als u alle functies wilt gebruiken.",
+ "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Deze server heeft geen actieve internetverbinding: meerdere endpoints kunnen niet worden bereikt. Dat betekent dat sommige functies, zoals aankoppelen van externe opslag, notificaties over updates of installatie van apps van derde partijen niet werken. Ook het benaderen van bestanden vanaf een remote locatie en het versturen van notificatie emails kan mislukken. We adviseren om de internetverbinding voor deze server in te schakelen als je alle functies wilt gebruiken.",
"No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Er is geen geheugencache geconfigureerd. Om de prestaties te verhogen kun je de memcache configureren als die beschikbaar is. Meer informatie vind je in onze <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentatie</a>.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "/dev/urandom is niet leesbaar door PHP, hetgeen wordt afgeraden wegens beveiligingsredenen. Meer informatie in onze <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentatie</a>.",
"You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Je draait momenteel PHP {version}. We adviseren je om, zo gauw je distributie dat biedt, je PHP versie bij te werken voor betere <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">prestaties en beveiliging geleverd door de PHP Group</a>.",
diff --git a/core/l10n/nl.json b/core/l10n/nl.json
index 0ff1c616af9..cf22206875d 100644
--- a/core/l10n/nl.json
+++ b/core/l10n/nl.json
@@ -209,7 +209,7 @@
"The specified document has not been found on the server." : "Het opgegeven document is niet gevonden op deze server.",
"You can click here to return to %s." : "Klik hier om terug te keren naar %s.",
"Internal Server Error" : "Interne serverfout",
- "The server was unable to complete your request." : "De server was niet in staat uw aanvraag te verwerken.",
+ "The server was unable to complete your request." : "De server was niet in staat je aanvraag te verwerken.",
"If this happens again, please send the technical details below to the server administrator." : "Stuur de hieronder afgebeelde technische details naar de server beheerder wanneer dit opnieuw gebeurd.",
"More details can be found in the server log." : "Meer details in de serverlogging,",
"Technical details" : "Technische details",
@@ -231,7 +231,7 @@
"Configure the database" : "Configureer de database",
"Only %s is available." : "Alleen %s is beschikbaar.",
"Install and activate additional PHP modules to choose other database types." : "Installeer en activeer aanvullende PHP modules om andere soorten databases te kiezen.",
- "For more details check out the documentation." : "Voor meer informatie wordt u verwezen naar de documentatie.",
+ "For more details check out the documentation." : "Voor meer informatie word je verwezen naar de documentatie.",
"Database user" : "Gebruiker database",
"Database password" : "Wachtwoord database",
"Database name" : "Naam database",
@@ -277,14 +277,14 @@
"Error while validating your second factor" : "Fout bij het verifiëren van je tweede factor",
"Access through untrusted domain" : "Toegang via een niet vertrouwd domein",
"Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "Neem contact op met je beheerder. Wanneer je een beheerder bent kun je de \"trusted_domains\" instelling bewerken in config/config.php zoals in het voorbeeld config.sample.php. ",
- "Depending on your configuration, this button could also work to trust the domain:" : "Afhankelijk van uw configuratie kan deze knop ook werken om het volgende domein te vertrouwen:",
+ "Depending on your configuration, this button could also work to trust the domain:" : "Afhankelijk van je configuratie kan deze knop ook werken om het volgende domein te vertrouwen:",
"Add \"%s\" as trusted domain" : "\"%s\" toevoegen als vertrouwd domein",
"App update required" : "Bijwerken App vereist",
"%s will be updated to version %s" : "%s wordt bijgewerkt naar versie %s",
"These apps will be updated:" : "Deze apps worden bijgewerkt:",
"These incompatible apps will be disabled:" : "De volgende incompatibele apps worden uitgeschakeld:",
"The theme %s has been disabled." : "Het thema %s is uitgeschakeld.",
- "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Let erop dat de database, de config map en de data map zijn gebackupped voordat u verder gaat.",
+ "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Let erop dat de database, de config map en de data map zijn gebackupt voordat je verder gaat.",
"Start update" : "Begin de update",
"To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Om time-outs tijdens grotere installaties te voorkomen, kun je in plaats hiervan de volgende opdracht geven vanaf je installatiedirectory:",
"Detailed logs" : "Gedetailleerde logs",
@@ -302,7 +302,7 @@
"Ok" : "Ok",
"Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Je webserver is nog niet goed ingesteld voor bestandssynchronisatie, omdat de WebDAV interface verstoord lijkt.",
"Your web server is not set up properly to resolve \"{url}\". Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Je webserver is niet goed ingesteld om \"{url}\" te vinden. Meer informatie is te vinden in onze <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentatie</a>.",
- "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Deze server heeft geen actieve internetverbinding: meerdere endpoints kunnen niet worden bereikt. Dat betekent dat sommige functies, zoals aankoppelen van externe opslag, notificaties over updates of installatie van apps van derde partijen niet werken. Ook het benaderen van bestanden vanaf een remote locatie en het versturen van notificatie emails kan mislukken. We adviseren om de internetverbinding voor deze server in te schakelen als u alle functies wilt gebruiken.",
+ "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Deze server heeft geen actieve internetverbinding: meerdere endpoints kunnen niet worden bereikt. Dat betekent dat sommige functies, zoals aankoppelen van externe opslag, notificaties over updates of installatie van apps van derde partijen niet werken. Ook het benaderen van bestanden vanaf een remote locatie en het versturen van notificatie emails kan mislukken. We adviseren om de internetverbinding voor deze server in te schakelen als je alle functies wilt gebruiken.",
"No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Er is geen geheugencache geconfigureerd. Om de prestaties te verhogen kun je de memcache configureren als die beschikbaar is. Meer informatie vind je in onze <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentatie</a>.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "/dev/urandom is niet leesbaar door PHP, hetgeen wordt afgeraden wegens beveiligingsredenen. Meer informatie in onze <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentatie</a>.",
"You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Je draait momenteel PHP {version}. We adviseren je om, zo gauw je distributie dat biedt, je PHP versie bij te werken voor betere <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">prestaties en beveiliging geleverd door de PHP Group</a>.",
diff --git a/core/l10n/pt_BR.js b/core/l10n/pt_BR.js
index 7fb86eefabd..fd54ee5c123 100644
--- a/core/l10n/pt_BR.js
+++ b/core/l10n/pt_BR.js
@@ -116,6 +116,7 @@ OC.L10N.register(
"No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Nenhum cache de memória foi configurado. Para melhorar o desempenho, configure um memcache, se disponível. Mais informações podem ser encontradas na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação</a>.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom não é legível pelo PHP, o que é altamente desencorajado por razões de segurança. Mais informações podem ser encontradas na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação</a>.",
"You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Você está executando o PHP {versão}. Atualize esta versão para aproveitar as <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">atualizações de desempenho e segurança fornecidas pelo Grupo PHP</a> assim que sua distribuição a suportar.",
+ "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Você está rodando PHP 5.6. A versão atual do Nextcloud é a última a suportar o PHP 5.6. Recomendamos passar para a versão 7.0+ para poder fazer upgrade para o Nextcloud 14.",
"The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "A configuração do cabeçalho do proxy reverso está incorreta ou você está acessando o Nextcloud a partir de um proxy confiável. Caso contrário, isso é um problema de segurança e pode permitir que um invasor ataque seu endereço IP visível do Nextcloud. Mais informações podem ser encontradas na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação</a>.",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "O Memcached está configurado como cache distribuído, mas o módulo PHP \"memcache\" errado está instalado. \\OC\\Memcache\\Memcached somente suporta \"memcached\" e não \"memcache\". Leia no <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">wiki memcached sobre este módulos</a>.",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Alguns arquivos não passaram na verificação de integridade. Mais informações sobre como resolver esse problema podem ser encontradas na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Lista de arquivos inválidos…</a> / <a href=\"{rescanEndpoint}\">Verificar novamente…</a>)",
diff --git a/core/l10n/pt_BR.json b/core/l10n/pt_BR.json
index bb6161f8bee..70d5386495e 100644
--- a/core/l10n/pt_BR.json
+++ b/core/l10n/pt_BR.json
@@ -114,6 +114,7 @@
"No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Nenhum cache de memória foi configurado. Para melhorar o desempenho, configure um memcache, se disponível. Mais informações podem ser encontradas na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação</a>.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom não é legível pelo PHP, o que é altamente desencorajado por razões de segurança. Mais informações podem ser encontradas na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação</a>.",
"You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Você está executando o PHP {versão}. Atualize esta versão para aproveitar as <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">atualizações de desempenho e segurança fornecidas pelo Grupo PHP</a> assim que sua distribuição a suportar.",
+ "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Você está rodando PHP 5.6. A versão atual do Nextcloud é a última a suportar o PHP 5.6. Recomendamos passar para a versão 7.0+ para poder fazer upgrade para o Nextcloud 14.",
"The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "A configuração do cabeçalho do proxy reverso está incorreta ou você está acessando o Nextcloud a partir de um proxy confiável. Caso contrário, isso é um problema de segurança e pode permitir que um invasor ataque seu endereço IP visível do Nextcloud. Mais informações podem ser encontradas na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação</a>.",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "O Memcached está configurado como cache distribuído, mas o módulo PHP \"memcache\" errado está instalado. \\OC\\Memcache\\Memcached somente suporta \"memcached\" e não \"memcache\". Leia no <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">wiki memcached sobre este módulos</a>.",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Alguns arquivos não passaram na verificação de integridade. Mais informações sobre como resolver esse problema podem ser encontradas na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentação</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Lista de arquivos inválidos…</a> / <a href=\"{rescanEndpoint}\">Verificar novamente…</a>)",
diff --git a/core/l10n/pt_PT.js b/core/l10n/pt_PT.js
index 615cedd2446..eb28e6c2ad9 100644
--- a/core/l10n/pt_PT.js
+++ b/core/l10n/pt_PT.js
@@ -15,10 +15,10 @@ OC.L10N.register(
"No valid crop data provided" : "Não foram indicados dados de recorte válidos",
"Crop is not square" : "O recorte não é quadrado",
"Password reset is disabled" : "A reposição da senha está desativada",
- "Couldn't reset password because the token is invalid" : "Não foi possível repor a palavra-passe porque a senha é inválida",
- "Couldn't reset password because the token is expired" : "Não foi possível repor a palavra-passe porque a senha expirou",
+ "Couldn't reset password because the token is invalid" : "Não foi possível repor a senha porque a senha é inválida",
+ "Couldn't reset password because the token is expired" : "Não foi possível repor a senha porque a senha expirou",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Não foi possível enviar a mensagem de reposição porque não existe nenhum endereço de e-mail associado para este utilizador. Por favor, contacte o seu administrador.",
- "%s password reset" : "%s reposição da palavra-passe",
+ "%s password reset" : "%s reposição da senha",
"Password reset" : "Reposição da senha",
"Click the following button to reset your password. If you have not requested the password reset, then ignore this email." : "Clique no seguinte botão para repor a sua senha. Se não solicitou a reposição da senha, ignore este e-mail.",
"Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "Clique na seguinte hiperligação para repor a sua senha. Se não solicitou a reposição da senha, ignore este e-mail.",
@@ -63,19 +63,19 @@ OC.L10N.register(
"_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["Problema a carregar a página. A recarregar dentro de %n segundos","Problema ao carregar a página. A recarregar dentro de %n segundos"],
"Saving..." : "A guardar...",
"Dismiss" : "Dispensar",
- "This action requires you to confirm your password" : "Esta ação requer a confirmação da password",
+ "This action requires you to confirm your password" : "Esta ação requer a confirmação da senha",
"Authentication required" : "Autenticação necessária",
- "Password" : "Palavra-passe",
+ "Password" : "Senha",
"Cancel" : "Cancelar",
"Confirm" : "Confirmar",
"Failed to authenticate, try again" : "Falha ao autenticar. Tente outra vez.",
"seconds ago" : "segundos atrás",
"Logging in …" : "A entrar...",
"The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "A hiperligação para reiniciar a sua senha foi enviada para o seu correio eletrónico. Se não a receber dentro de um tempo aceitável, verifique as suas pastas de spam/lixo.<br> Se não a encontrar, pergunte ao seu administrador local.",
- "Your files are encrypted. There will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Os seus ficheiros estão encriptados. Não haverá forma de recuperar os dados depois de alterar a password.<br />Se não tiver a certeza do que fazer, por favor, contacte o administrador antes de continuar. <br />Deseja mesmo continuar?",
+ "Your files are encrypted. There will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Os seus ficheiros estão encriptados. Não haverá forma de recuperar os dados depois de alterar a senha.<br />Se não tiver a certeza do que fazer, por favor, contacte o administrador antes de continuar. <br />Deseja mesmo continuar?",
"I know what I'm doing" : "Eu sei o que eu estou a fazer",
- "Password can not be changed. Please contact your administrator." : "A palavra-passe não pode ser alterada. Por favor, contacte o seu administrador.",
- "Reset password" : "Repor palavra-passe",
+ "Password can not be changed. Please contact your administrator." : "A senha não pode ser alterada. Por favor, contacte o seu administrador.",
+ "Reset password" : "Repor senha",
"No" : "Não",
"Yes" : "Sim",
"No files in here" : "Sem ficheiros aqui",
@@ -99,11 +99,11 @@ OC.L10N.register(
"Pending" : "Pendente",
"Copy to {folder}" : "Copiar para {folder}",
"Move to {folder}" : "Mover para {folder}",
- "Very weak password" : "Palavra-passe muito fraca",
- "Weak password" : "Palavra-passe fraca",
- "So-so password" : "Palavra-passe aceitável",
- "Good password" : "Palavra-passe boa",
- "Strong password" : "Palavra-passe forte",
+ "Very weak password" : "Senha muito fraca",
+ "Weak password" : "Senha fraca",
+ "So-so password" : "Senha aceitável",
+ "Good password" : "Senha boa",
+ "Strong password" : "Senha forte",
"Error occurred while checking server setup" : "Ocorreu um erro durante a verificação da configuração do servidor",
"Shared" : "Partilhado",
"Error setting expiration date" : "Erro ao definir a data de expiração",
@@ -111,7 +111,8 @@ OC.L10N.register(
"Set expiration date" : "Definir a data de expiração",
"Expiration" : "Expiração",
"Expiration date" : "Data de expiração",
- "Choose a password for the public link" : "Defina a palavra-passe para a hiperligação pública",
+ "Choose a password for the public link" : "Defina a senha para a hiperligação pública",
+ "Choose a password for the public link or press the \"Enter\" key" : "Defina a senha para a hiperligação pública ou prima a tecla \"Enter\"",
"Copied!" : "Copiado!",
"Not supported!" : "Não suportado!",
"Press ⌘-C to copy." : "Prima ⌘-C para copiar.",
@@ -120,7 +121,7 @@ OC.L10N.register(
"Share to {name}" : "Partilhar com {name}",
"Share link" : "Partilhar hiperligação",
"Link" : "Hiperligação",
- "Password protect" : "Proteger com palavra-passe",
+ "Password protect" : "Proteger com senha",
"Allow editing" : "Permitir edição",
"Email link to person" : "Enviar hiperligação por mensagem para a pessoa",
"Send" : "Enviar",
@@ -129,7 +130,7 @@ OC.L10N.register(
"File drop (upload only)" : "Arrastar ficheiro (apenas envio)",
"Shared with you and the group {group} by {owner}" : "Partilhado consigo e com o grupo {group} por {owner}",
"Shared with you by {owner}" : "Partilhado consigo por {owner}",
- "Choose a password for the mail share" : "Escolher password para a partilha de email",
+ "Choose a password for the mail share" : "Escolher senha para a partilha de email",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} partilhado via ligação",
"group" : "grupo",
"remote" : "remoto",
@@ -223,7 +224,7 @@ OC.L10N.register(
"Install and activate additional PHP modules to choose other database types." : "Instale e active módulos PHP adicionais para escolher outros tipos de base de dados.",
"For more details check out the documentation." : "Para mais detalhes consulte a documentação.",
"Database user" : "Utilizador da base de dados",
- "Database password" : "Palavra-passe da base de dados",
+ "Database password" : "Senha da base de dados",
"Database name" : "Nome da base de dados",
"Database tablespace" : "Tablespace da base de dados",
"Database host" : "Anfitrião da base de dados",
@@ -240,19 +241,20 @@ OC.L10N.register(
"More apps" : "Mais apps",
"Search" : "Procurar",
"Reset search" : "Repor procura",
- "Confirm your password" : "Confirmar palavra-passe",
+ "Confirm your password" : "Confirmar senha",
"Server side authentication failed!" : "Autenticação do lado do servidor falhou!",
"Please contact your administrator." : "Por favor, contacte o seu administrador.",
"An internal error occurred." : "Ocorreu um erro interno.",
"Please try again or contact your administrator." : "Por favor, tente de novo ou contacte o seu administrador.",
"Username or email" : "Nome de utilizador ou e-mail",
- "Wrong password." : "Palavra-passe errada.",
+ "Wrong password." : "Senha errada.",
"Log in" : "Iniciar Sessão",
"Stay logged in" : "Manter sessão iniciada",
+ "Forgot password?" : "Senha esquecida?",
"Alternative Logins" : "Contas de Acesso Alternativas",
"Redirecting …" : "A redirecionar...",
- "New password" : "Nova palavra-passe",
- "New Password" : "Nova palavra-passe",
+ "New password" : "Nova senha",
+ "New Password" : "Nova senha",
"Two-factor authentication" : "Autenticação de dois factores",
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "Segurança melhorada activada na sua conta. Por favor, autentique-se usando o segundo factor.",
"Cancel log in" : "Cancelar entrada",
@@ -321,9 +323,9 @@ OC.L10N.register(
"Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Entra em contacto com o administrador do servidor se este erro aparecer várias vezes, inclui também os detalhes técnicos abaixo no seu contacto.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Para obter informações de como configurar correctamente o servidor, veja em: <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentação</a>.",
"Log out" : "Terminar sessão",
- "This action requires you to confirm your password:" : "Esta acção requer a confirmação da password:",
- "Wrong password. Reset it?" : "Palavra-passe errada. Redefini-la?",
- "Use the following link to reset your password: {link}" : "Utilize a seguinte hiperligação para repor a sua palavra-passe: {link}",
+ "This action requires you to confirm your password:" : "Esta acção requer a confirmação da senha:",
+ "Wrong password. Reset it?" : "Senha errada. Redefini-la?",
+ "Use the following link to reset your password: {link}" : "Utilize a seguinte hiperligação para repor a sua senha: {link}",
"Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Olá,<br><br>apenas para informar que %s partilhou <strong>%s</strong> consigo.<br><a href=\"%s\">Consulte aqui!</a><br><br>",
"This Nextcloud instance is currently in single user mode." : "Esta instância do Nextcloud está atualmente configurada no modo de único utilizador.",
"This means only administrators can use the instance." : "Isto significa que apenas os administradores podem utilizar a instância.",
diff --git a/core/l10n/pt_PT.json b/core/l10n/pt_PT.json
index 5655bccfb74..15b6d0e1f2b 100644
--- a/core/l10n/pt_PT.json
+++ b/core/l10n/pt_PT.json
@@ -13,10 +13,10 @@
"No valid crop data provided" : "Não foram indicados dados de recorte válidos",
"Crop is not square" : "O recorte não é quadrado",
"Password reset is disabled" : "A reposição da senha está desativada",
- "Couldn't reset password because the token is invalid" : "Não foi possível repor a palavra-passe porque a senha é inválida",
- "Couldn't reset password because the token is expired" : "Não foi possível repor a palavra-passe porque a senha expirou",
+ "Couldn't reset password because the token is invalid" : "Não foi possível repor a senha porque a senha é inválida",
+ "Couldn't reset password because the token is expired" : "Não foi possível repor a senha porque a senha expirou",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Não foi possível enviar a mensagem de reposição porque não existe nenhum endereço de e-mail associado para este utilizador. Por favor, contacte o seu administrador.",
- "%s password reset" : "%s reposição da palavra-passe",
+ "%s password reset" : "%s reposição da senha",
"Password reset" : "Reposição da senha",
"Click the following button to reset your password. If you have not requested the password reset, then ignore this email." : "Clique no seguinte botão para repor a sua senha. Se não solicitou a reposição da senha, ignore este e-mail.",
"Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "Clique na seguinte hiperligação para repor a sua senha. Se não solicitou a reposição da senha, ignore este e-mail.",
@@ -61,19 +61,19 @@
"_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["Problema a carregar a página. A recarregar dentro de %n segundos","Problema ao carregar a página. A recarregar dentro de %n segundos"],
"Saving..." : "A guardar...",
"Dismiss" : "Dispensar",
- "This action requires you to confirm your password" : "Esta ação requer a confirmação da password",
+ "This action requires you to confirm your password" : "Esta ação requer a confirmação da senha",
"Authentication required" : "Autenticação necessária",
- "Password" : "Palavra-passe",
+ "Password" : "Senha",
"Cancel" : "Cancelar",
"Confirm" : "Confirmar",
"Failed to authenticate, try again" : "Falha ao autenticar. Tente outra vez.",
"seconds ago" : "segundos atrás",
"Logging in …" : "A entrar...",
"The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "A hiperligação para reiniciar a sua senha foi enviada para o seu correio eletrónico. Se não a receber dentro de um tempo aceitável, verifique as suas pastas de spam/lixo.<br> Se não a encontrar, pergunte ao seu administrador local.",
- "Your files are encrypted. There will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Os seus ficheiros estão encriptados. Não haverá forma de recuperar os dados depois de alterar a password.<br />Se não tiver a certeza do que fazer, por favor, contacte o administrador antes de continuar. <br />Deseja mesmo continuar?",
+ "Your files are encrypted. There will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Os seus ficheiros estão encriptados. Não haverá forma de recuperar os dados depois de alterar a senha.<br />Se não tiver a certeza do que fazer, por favor, contacte o administrador antes de continuar. <br />Deseja mesmo continuar?",
"I know what I'm doing" : "Eu sei o que eu estou a fazer",
- "Password can not be changed. Please contact your administrator." : "A palavra-passe não pode ser alterada. Por favor, contacte o seu administrador.",
- "Reset password" : "Repor palavra-passe",
+ "Password can not be changed. Please contact your administrator." : "A senha não pode ser alterada. Por favor, contacte o seu administrador.",
+ "Reset password" : "Repor senha",
"No" : "Não",
"Yes" : "Sim",
"No files in here" : "Sem ficheiros aqui",
@@ -97,11 +97,11 @@
"Pending" : "Pendente",
"Copy to {folder}" : "Copiar para {folder}",
"Move to {folder}" : "Mover para {folder}",
- "Very weak password" : "Palavra-passe muito fraca",
- "Weak password" : "Palavra-passe fraca",
- "So-so password" : "Palavra-passe aceitável",
- "Good password" : "Palavra-passe boa",
- "Strong password" : "Palavra-passe forte",
+ "Very weak password" : "Senha muito fraca",
+ "Weak password" : "Senha fraca",
+ "So-so password" : "Senha aceitável",
+ "Good password" : "Senha boa",
+ "Strong password" : "Senha forte",
"Error occurred while checking server setup" : "Ocorreu um erro durante a verificação da configuração do servidor",
"Shared" : "Partilhado",
"Error setting expiration date" : "Erro ao definir a data de expiração",
@@ -109,7 +109,8 @@
"Set expiration date" : "Definir a data de expiração",
"Expiration" : "Expiração",
"Expiration date" : "Data de expiração",
- "Choose a password for the public link" : "Defina a palavra-passe para a hiperligação pública",
+ "Choose a password for the public link" : "Defina a senha para a hiperligação pública",
+ "Choose a password for the public link or press the \"Enter\" key" : "Defina a senha para a hiperligação pública ou prima a tecla \"Enter\"",
"Copied!" : "Copiado!",
"Not supported!" : "Não suportado!",
"Press ⌘-C to copy." : "Prima ⌘-C para copiar.",
@@ -118,7 +119,7 @@
"Share to {name}" : "Partilhar com {name}",
"Share link" : "Partilhar hiperligação",
"Link" : "Hiperligação",
- "Password protect" : "Proteger com palavra-passe",
+ "Password protect" : "Proteger com senha",
"Allow editing" : "Permitir edição",
"Email link to person" : "Enviar hiperligação por mensagem para a pessoa",
"Send" : "Enviar",
@@ -127,7 +128,7 @@
"File drop (upload only)" : "Arrastar ficheiro (apenas envio)",
"Shared with you and the group {group} by {owner}" : "Partilhado consigo e com o grupo {group} por {owner}",
"Shared with you by {owner}" : "Partilhado consigo por {owner}",
- "Choose a password for the mail share" : "Escolher password para a partilha de email",
+ "Choose a password for the mail share" : "Escolher senha para a partilha de email",
"{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} partilhado via ligação",
"group" : "grupo",
"remote" : "remoto",
@@ -221,7 +222,7 @@
"Install and activate additional PHP modules to choose other database types." : "Instale e active módulos PHP adicionais para escolher outros tipos de base de dados.",
"For more details check out the documentation." : "Para mais detalhes consulte a documentação.",
"Database user" : "Utilizador da base de dados",
- "Database password" : "Palavra-passe da base de dados",
+ "Database password" : "Senha da base de dados",
"Database name" : "Nome da base de dados",
"Database tablespace" : "Tablespace da base de dados",
"Database host" : "Anfitrião da base de dados",
@@ -238,19 +239,20 @@
"More apps" : "Mais apps",
"Search" : "Procurar",
"Reset search" : "Repor procura",
- "Confirm your password" : "Confirmar palavra-passe",
+ "Confirm your password" : "Confirmar senha",
"Server side authentication failed!" : "Autenticação do lado do servidor falhou!",
"Please contact your administrator." : "Por favor, contacte o seu administrador.",
"An internal error occurred." : "Ocorreu um erro interno.",
"Please try again or contact your administrator." : "Por favor, tente de novo ou contacte o seu administrador.",
"Username or email" : "Nome de utilizador ou e-mail",
- "Wrong password." : "Palavra-passe errada.",
+ "Wrong password." : "Senha errada.",
"Log in" : "Iniciar Sessão",
"Stay logged in" : "Manter sessão iniciada",
+ "Forgot password?" : "Senha esquecida?",
"Alternative Logins" : "Contas de Acesso Alternativas",
"Redirecting …" : "A redirecionar...",
- "New password" : "Nova palavra-passe",
- "New Password" : "Nova palavra-passe",
+ "New password" : "Nova senha",
+ "New Password" : "Nova senha",
"Two-factor authentication" : "Autenticação de dois factores",
"Enhanced security is enabled for your account. Please authenticate using a second factor." : "Segurança melhorada activada na sua conta. Por favor, autentique-se usando o segundo factor.",
"Cancel log in" : "Cancelar entrada",
@@ -319,9 +321,9 @@
"Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Entra em contacto com o administrador do servidor se este erro aparecer várias vezes, inclui também os detalhes técnicos abaixo no seu contacto.",
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Para obter informações de como configurar correctamente o servidor, veja em: <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentação</a>.",
"Log out" : "Terminar sessão",
- "This action requires you to confirm your password:" : "Esta acção requer a confirmação da password:",
- "Wrong password. Reset it?" : "Palavra-passe errada. Redefini-la?",
- "Use the following link to reset your password: {link}" : "Utilize a seguinte hiperligação para repor a sua palavra-passe: {link}",
+ "This action requires you to confirm your password:" : "Esta acção requer a confirmação da senha:",
+ "Wrong password. Reset it?" : "Senha errada. Redefini-la?",
+ "Use the following link to reset your password: {link}" : "Utilize a seguinte hiperligação para repor a sua senha: {link}",
"Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Olá,<br><br>apenas para informar que %s partilhou <strong>%s</strong> consigo.<br><a href=\"%s\">Consulte aqui!</a><br><br>",
"This Nextcloud instance is currently in single user mode." : "Esta instância do Nextcloud está atualmente configurada no modo de único utilizador.",
"This means only administrators can use the instance." : "Isto significa que apenas os administradores podem utilizar a instância.",
diff --git a/core/l10n/tr.js b/core/l10n/tr.js
index ec4fe748449..cf7c6e6e481 100644
--- a/core/l10n/tr.js
+++ b/core/l10n/tr.js
@@ -116,6 +116,7 @@ OC.L10N.register(
"No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Henüz bir ön bellek yapılandırılmamış. Olabiliyorsa başarımı arttırmak için memcache önbellek ayarlarını yapın. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Güvenlik nedeniyle kullanılması önerilen /dev/urandom klasörü PHP tarafından okunamıyor. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.",
"You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Şu anda PHP {version} sürümünü kullanıyorsunuz. Kullandığınız dağıtım desteklediği zaman PHP sürümünüzü güncelleyerek <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">PHP grubu tarafından sağlanan başarım ve güvenlik geliştirmelerinden</a> faydalanın.",
+ "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "PHP 5.6 sürümünü kullanıyorsunuz. Geçerli Nextcloud ana sürümü PHP 5.6 sürümünü destekleyen son sürüm olacak. Nextcloud 14 sürümünü kullanabilmek için PHP sürümünü 7.0 ve üzerine yükseltmeniz önerilir.",
"The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Ters vekil sunucu üst bilgi yapılandırmanız doğru değil ya da Nextcloud üzerine güvenilen bir vekil sunucudan erişiyorsunuz. Böyle değil ise bu bir güvenlik sorunudur ve bir saldırganın IP adresini Nextcolud sunucusuna farklı göstermesine izin verebilir. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached dağıtık bellek olarak yapılandırılmış ancak kurulmuş PHP \"memcache\" modülü yanlış. \\OC\\Memcache\\Memcached yalnız \"memcache\" modülünü değil \"memcached\" mdoülünü destekler. İki modül hakkında ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki sayfasına</a> bakabilirsiniz.",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Bazı dosyalar bütünlük denetiminden geçemedi. Bu sorunun çözümü ile ilgili bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere</a> bakabilirsiniz. (<a href=\"{codeIntegrityDownloadEndpoint}\">Geçersiz dosyaların listesi…</a> / <a href=\"{rescanEndpoint}\">Yeniden Tara…</a>)",
diff --git a/core/l10n/tr.json b/core/l10n/tr.json
index 3ac2276117a..845820e5978 100644
--- a/core/l10n/tr.json
+++ b/core/l10n/tr.json
@@ -114,6 +114,7 @@
"No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Henüz bir ön bellek yapılandırılmamış. Olabiliyorsa başarımı arttırmak için memcache önbellek ayarlarını yapın. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Güvenlik nedeniyle kullanılması önerilen /dev/urandom klasörü PHP tarafından okunamıyor. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.",
"You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Şu anda PHP {version} sürümünü kullanıyorsunuz. Kullandığınız dağıtım desteklediği zaman PHP sürümünüzü güncelleyerek <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">PHP grubu tarafından sağlanan başarım ve güvenlik geliştirmelerinden</a> faydalanın.",
+ "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "PHP 5.6 sürümünü kullanıyorsunuz. Geçerli Nextcloud ana sürümü PHP 5.6 sürümünü destekleyen son sürüm olacak. Nextcloud 14 sürümünü kullanabilmek için PHP sürümünü 7.0 ve üzerine yükseltmeniz önerilir.",
"The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Ters vekil sunucu üst bilgi yapılandırmanız doğru değil ya da Nextcloud üzerine güvenilen bir vekil sunucudan erişiyorsunuz. Böyle değil ise bu bir güvenlik sorunudur ve bir saldırganın IP adresini Nextcolud sunucusuna farklı göstermesine izin verebilir. Ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere</a> bakabilirsiniz.",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached dağıtık bellek olarak yapılandırılmış ancak kurulmuş PHP \"memcache\" modülü yanlış. \\OC\\Memcache\\Memcached yalnız \"memcache\" modülünü değil \"memcached\" mdoülünü destekler. İki modül hakkında ayrıntılı bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki sayfasına</a> bakabilirsiniz.",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Bazı dosyalar bütünlük denetiminden geçemedi. Bu sorunun çözümü ile ilgili bilgi almak için <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">belgelere</a> bakabilirsiniz. (<a href=\"{codeIntegrityDownloadEndpoint}\">Geçersiz dosyaların listesi…</a> / <a href=\"{rescanEndpoint}\">Yeniden Tara…</a>)",
diff --git a/core/l10n/zh_TW.js b/core/l10n/zh_TW.js
index 5c6e23cf9b4..525ff1cfa8c 100644
--- a/core/l10n/zh_TW.js
+++ b/core/l10n/zh_TW.js
@@ -29,7 +29,7 @@ OC.L10N.register(
"Preparing update" : "準備更新",
"[%d / %d]: %s" : "[%d / %d]: %s",
"Repair warning: " : "修復警告:",
- "Repair error: " : "修復錯誤",
+ "Repair error: " : "修復錯誤:",
"Please use the command line updater because automatic updating is disabled in the config.php." : "請使用命令列更新工具,因為自動更新在 config.php 中被停用了",
"[%d / %d]: Checking table %s" : "[%d / %d]: 檢查資料表 %s",
"Turned on maintenance mode" : "已啓用維護模式",
@@ -50,7 +50,7 @@ OC.L10N.register(
"Reset log level" : "重設記錄層級",
"Starting code integrity check" : "開始檢查程式碼完整性",
"Finished code integrity check" : "完成程式碼完整性檢查",
- "%s (3rdparty)" : "%s (第3方)",
+ "%s (3rdparty)" : "%s (第三方)",
"%s (incompatible)" : "%s (不相容的)",
"Following apps have been disabled: %s" : "以下應用程式已經被停用:%s",
"Already up to date" : "已經是最新版",
@@ -61,7 +61,7 @@ OC.L10N.register(
"Loading your contacts …" : "載入聯絡人…",
"Looking for {term} …" : "搜尋 {term} …",
"<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">執行程式碼完整性檢查時發生問題。更多資訊…</a>",
- "No action available" : "沒有可套用的動作",
+ "No action available" : "沒有可用的動作",
"Error fetching contact actions" : "擷取聯絡人動作發生錯誤",
"Settings" : "設定",
"Connection to server lost" : "伺服器連線中斷",
@@ -73,14 +73,15 @@ OC.L10N.register(
"Password" : "密碼",
"Cancel" : "取消",
"Confirm" : "確認",
- "Failed to authenticate, try again" : "認證失敗,再試一次。",
+ "Failed to authenticate, try again" : "認證失敗,請再試一次",
"seconds ago" : "幾秒前",
- "Logging in …" : "載入中......",
+ "Logging in …" : "載入中…",
"The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "重設密碼的連結已經 email 至你的信箱,如果你在一段時間內沒收到,請檢查垃圾郵件資料夾,如果還是找不到,請聯絡系統管理員。",
"Your files are encrypted. There will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "您的檔案是加密的,當您重設密碼之後將無法存取您的資料。<br/>如果不確定該怎麼做,請聯絡您的系統管理員。<br/>您確定要繼續嗎?",
"I know what I'm doing" : "我知道我在幹嘛",
"Password can not be changed. Please contact your administrator." : "無法變更密碼,請聯絡您的系統管理員",
"Reset password" : "重設密碼",
+ "Sending email …" : "傳送 email…",
"No" : "否",
"Yes" : "是",
"No files in here" : "沒有任何檔案",
@@ -109,7 +110,19 @@ OC.L10N.register(
"So-so password" : "密碼強度普通",
"Good password" : "密碼強度佳",
"Strong password" : "密碼強度極佳",
+ "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "您的網頁伺服器設定不正確,因此無法啟用檔案同步,看來可能是 WebDAV 界面的設定有問題。",
+ "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "您的網頁伺服器設定不正確,因此無法解析 \"{url}\" ,請至<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</a>瞭解更多資訊。",
+ "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "您沒有設定記憶體快取,如果可以,請完成設定來提升效能。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</a>",
+ "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP 無法讀取 /dev/urandom,為保障安全,建議修正這個問題,進一步訊息可參考我們的<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</a>。",
+ "You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "您目前正運行 PHP {version} ,我們建議您升級 PHP 到您的發行版所支援的最新版本,以獲得 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">PHP 開發團隊提供的效能與安全性更新</a>。",
+ "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "您目前正運行 PHP 5.6 ,目前使用的 Nextcloud 將會是最後一個支援 PHP 5.6 的版本,建議您升級至 PHP 7.0 以上以使用 Nextcloud 14。",
+ "The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "偵測到您的反向代理標頭設定不正確,但也有可能是因為您目前正透過信任的代理伺服器存取 Nextcloud。若您目前不是透過信任的代理伺服器存取 Nextcloud,這就是一個安全性問題,允許攻擊者對 Nextcloud 假冒 IP 位址。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</a>。",
"Error occurred while checking server setup" : "檢查伺服器設定時發生錯誤",
+ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 設定檔並未生效,我們強烈建議您設定網頁伺服器,拒絕公開存取資料目錄,或者將您的資料目錄移出網頁伺服器根目錄。",
+ "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "目前 HTTP 的 {header} 標頭設定並不是 \"{expected}\" ,這是一個潛在的安全性和隱私風險,我們建議調整此項設定。",
+ "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "目前 HTTP 的 {header} 標頭設定並不是 \"{expected}\" ,這將讓某些功能無法正常運作,我們建議修正此項設定。",
+ "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP \"Strict-Transport-Security\" 標頭並未被設定持續至少 {seconds} 秒。為了提高安全性,我們在<a href=\"{docUrl}\" rel=\"noreferrer\">安全小祕訣</a>中有詳述並建議啟用 HSTS。",
+ "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "正在透過不安全的 HTTP 存取站台,強烈建議您設定伺服器啟用 HTTPS ,更多資訊請查閱<a href=\"{docUrl}\">安全小祕訣</a>。",
"Shared" : "已分享",
"Shared with" : "分享給",
"Shared by" : "分享自",
@@ -222,7 +235,8 @@ OC.L10N.register(
"Line: %s" : "行數:%s",
"Trace" : "追蹤",
"Security warning" : "安全性警告",
- "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "您的資料目錄看起來可以被 Internet 公開存取,因為 .htaccess 設定並未生效。",
+ "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "您的資料目錄看起來可以被公開存取,因為 .htaccess 設定檔並未生效。",
+ "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">documentation</a>." : "閱讀<a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">說明文件</a>來瞭解如何正確設定您的伺服器",
"Create an <strong>admin account</strong>" : "建立一個<strong>管理者帳號</strong>",
"Username" : "使用者名稱",
"Storage & database" : "儲存空間和資料庫",
@@ -258,6 +272,8 @@ OC.L10N.register(
"Wrong password." : "密碼錯誤",
"Log in" : "登入",
"Stay logged in" : "保持登入狀態",
+ "Forgot password?" : "忘記密碼?",
+ "Back to log in" : "回到登入頁面",
"Alternative Logins" : "其他登入方法",
"Account access" : "帳戶存取",
"You are about to grant %s access to your %s account." : "你已批准%s存取你的%s帳戶。",
@@ -287,6 +303,7 @@ OC.L10N.register(
"Detailed logs" : "詳細記錄檔",
"Update needed" : "需要更新",
"Please use the command line updater because you have a big instance with more than 50 users." : "因為您有超過50名使用者,服務規模較大,請透過命令提示字元介面更新",
+ "For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "若需要協助,請參閱<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">說明文件</a>",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "若我繼續透過網頁介面更新時我已了解有其風險,若請求逾時可能導致資料遺失,萬一更新失敗,我已準備好備份並知道如何回復運作。",
"Upgrade via web on my own risk" : "願意承擔風險透過網頁更新",
"This %s instance is currently in maintenance mode, which may take a while." : "這個 %s 安裝目前處於維護模式,需要一段時間恢復。",
@@ -299,16 +316,16 @@ OC.L10N.register(
"Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "您的網頁伺服器無法提供檔案同步功能,因為 WebDAV 界面有問題",
"Your web server is not set up properly to resolve \"{url}\". Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "您的網頁伺服器並未正確設定來解析 \"{url}\" ,請查看我們的<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>以瞭解更多",
"This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "伺服器沒有網際網路連線,有些功能,像是外部儲存、更新版通知將無法運作。從遠端存取資料或是寄送 email 通知可能也無法運作。建議您設定好網際網路連線以使用所有功能。",
- "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "記憶體快取尚未設定。如果可以,請完成設定來提升效能。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>",
+ "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "您沒有設定記憶體快取,如果可以,請完成設定來提升效能。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "PHP 無法讀取 /dev/urandom,為保障安全,建議修正這個問題,進一步訊息可參考我們的<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">文件</a>",
"You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "您目前正運行 PHP {version} ,我們建議您升級 PHP 到您的發行版所支援的最新版本,以獲得 <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">PHP 開發團隊提供的效能與安全性更新</a>。",
- "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "反向代理標頭設定不正確,或者您正透過可信任的代理伺服器存取Nextcloud。若您不是透過可信任的代理伺服器存取Nextcloud,此安全問題會允許攻擊者對Nextcloud假冒IP位址。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>。",
+ "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "偵測到您的反向代理標頭設定不正確,但也有可能是因為您目前正透過信任的代理伺服器存取 Nextcloud。若您目前不是透過信任的代理伺服器存取 Nextcloud,這就是一個安全性問題,允許攻擊者對 Nextcloud 假冒 IP 位址。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>。",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached是用於分散式緩存的設置,但是目前安裝了錯誤的PHP模組為「memcache」。\\OC\\Memcache\\Memcached僅支援「memcached」而不是「memcache」。請參閱<a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki了解兩種模組資訊</a>",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "有些檔案並未通過完整性檢查。可參閱詳細資訊,如我們的<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>(<a href=\"{codeIntegrityDownloadEndpoint}\">無效檔案列表</a>/<a href=\"{rescanEndpoint}\">重新檢查</a>)以解決這些問題。",
- "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 檔案並未生效,我們強烈建議您設定您的網頁伺服器,拒絕資料目錄的公開存取,或者將您的資料目錄移出網頁伺服器根目錄。",
- "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP 標頭配置與 \"{expected}\"不一樣,這是一個潛在安全性或者隱私上的風險,因此我們建議您調整此設定",
- "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>." : "此 HTTP \"Strict-Transport-Security\" 標頭並未設定持續至少 {seconds} 秒。為了提高安全性,我們在<a href=\"{docUrl}\" rel=\"noreferrer\">安全提示</a>中有詳述並建議啟用 HSTS。",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>." : "您正在藉由 HTTP 訪問此網站,如我們的<a href=\"{docUrl}\">安全性提示</a>所述,我們強烈建議設定您的伺服器須要求使用 HTTPS",
+ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 設定檔並未生效,我們強烈建議您設定網頁伺服器,拒絕公開存取資料目錄,或者將您的資料目錄移出網頁伺服器根目錄。",
+ "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "目前 HTTP 的 {header} 標頭設定並不是 \"{expected}\" ,這是一個潛在的安全性和隱私風險,我們建議調整此項設定。",
+ "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>." : "HTTP \"Strict-Transport-Security\" 標頭並未設定持續至少 {seconds} 秒。為了提高安全性,我們在<a href=\"{docUrl}\" rel=\"noreferrer\">安全小祕訣</a>中有詳述並建議啟用 HSTS。",
+ "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>." : "您目前透過 HTTP 存取此網站,如我們的<a href=\"{docUrl}\">安全性提示</a>所述,我們強烈建議設定您的伺服器要求使用 HTTPS。",
"Shared with {recipients}" : "與 {recipients} 分享",
"Error while unsharing" : "取消分享時發生錯誤",
"can reshare" : "允許轉分享",
@@ -338,7 +355,7 @@ OC.L10N.register(
"Cheers!" : "太棒了!",
"The server encountered an internal error and was unable to complete your request." : "伺服器遭遇內部錯誤,無法完成您的要求",
"Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "如果這個錯誤重複出現,請聯絡系統管理員,並附上以下的錯誤細節",
- "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "關於如何有效設定您伺服器的資訊,請參閱此<a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">說明文件</a>",
+ "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "閱讀<a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">說明文件</a>來瞭解如何正確設定您的伺服器",
"Log out" : "登出",
"This action requires you to confirm your password:" : "這個動作需要您輸入密碼",
"Wrong password. Reset it?" : "密碼錯誤,重設密碼?",
@@ -353,7 +370,7 @@ OC.L10N.register(
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "請參閱<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">說明文件</a>取得協助。",
"The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">For better performance we recommend</a> to use following settings in the <code>php.ini</code>:" : "PHP的OPcache功能並未被妥善設定。<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">為了有更好的效能表現</a>我們建議在<code>php.ini檔案</code>中使用以下設定:",
"The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. We strongly recommend enabling this function." : "無法取得PHP中的「set_time_limit」函式。這可能導致執行過程中被終止並造成不完整安裝。我們強烈建議啟用該函式。",
- "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 檔案並未生效,我們強烈建議您設定您的網頁伺服器,拒絕資料目錄被公開存取,或者將您的資料目錄移出網頁伺服器根目錄。",
+ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 設定檔並未生效,我們強烈建議您設定網頁伺服器,拒絕公開存取資料目錄,或者將您的資料目錄移出網頁伺服器根目錄。",
"You are about to grant \"%s\" access to your %s account." : "您將授予「%s」存取您的%s帳戶"
},
"nplurals=1; plural=0;");
diff --git a/core/l10n/zh_TW.json b/core/l10n/zh_TW.json
index 6f331b6c048..d491578bf22 100644
--- a/core/l10n/zh_TW.json
+++ b/core/l10n/zh_TW.json
@@ -27,7 +27,7 @@
"Preparing update" : "準備更新",
"[%d / %d]: %s" : "[%d / %d]: %s",
"Repair warning: " : "修復警告:",
- "Repair error: " : "修復錯誤",
+ "Repair error: " : "修復錯誤:",
"Please use the command line updater because automatic updating is disabled in the config.php." : "請使用命令列更新工具,因為自動更新在 config.php 中被停用了",
"[%d / %d]: Checking table %s" : "[%d / %d]: 檢查資料表 %s",
"Turned on maintenance mode" : "已啓用維護模式",
@@ -48,7 +48,7 @@
"Reset log level" : "重設記錄層級",
"Starting code integrity check" : "開始檢查程式碼完整性",
"Finished code integrity check" : "完成程式碼完整性檢查",
- "%s (3rdparty)" : "%s (第3方)",
+ "%s (3rdparty)" : "%s (第三方)",
"%s (incompatible)" : "%s (不相容的)",
"Following apps have been disabled: %s" : "以下應用程式已經被停用:%s",
"Already up to date" : "已經是最新版",
@@ -59,7 +59,7 @@
"Loading your contacts …" : "載入聯絡人…",
"Looking for {term} …" : "搜尋 {term} …",
"<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">執行程式碼完整性檢查時發生問題。更多資訊…</a>",
- "No action available" : "沒有可套用的動作",
+ "No action available" : "沒有可用的動作",
"Error fetching contact actions" : "擷取聯絡人動作發生錯誤",
"Settings" : "設定",
"Connection to server lost" : "伺服器連線中斷",
@@ -71,14 +71,15 @@
"Password" : "密碼",
"Cancel" : "取消",
"Confirm" : "確認",
- "Failed to authenticate, try again" : "認證失敗,再試一次。",
+ "Failed to authenticate, try again" : "認證失敗,請再試一次",
"seconds ago" : "幾秒前",
- "Logging in …" : "載入中......",
+ "Logging in …" : "載入中…",
"The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "重設密碼的連結已經 email 至你的信箱,如果你在一段時間內沒收到,請檢查垃圾郵件資料夾,如果還是找不到,請聯絡系統管理員。",
"Your files are encrypted. There will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "您的檔案是加密的,當您重設密碼之後將無法存取您的資料。<br/>如果不確定該怎麼做,請聯絡您的系統管理員。<br/>您確定要繼續嗎?",
"I know what I'm doing" : "我知道我在幹嘛",
"Password can not be changed. Please contact your administrator." : "無法變更密碼,請聯絡您的系統管理員",
"Reset password" : "重設密碼",
+ "Sending email …" : "傳送 email…",
"No" : "否",
"Yes" : "是",
"No files in here" : "沒有任何檔案",
@@ -107,7 +108,19 @@
"So-so password" : "密碼強度普通",
"Good password" : "密碼強度佳",
"Strong password" : "密碼強度極佳",
+ "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "您的網頁伺服器設定不正確,因此無法啟用檔案同步,看來可能是 WebDAV 界面的設定有問題。",
+ "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "您的網頁伺服器設定不正確,因此無法解析 \"{url}\" ,請至<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</a>瞭解更多資訊。",
+ "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "您沒有設定記憶體快取,如果可以,請完成設定來提升效能。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</a>",
+ "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP 無法讀取 /dev/urandom,為保障安全,建議修正這個問題,進一步訊息可參考我們的<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</a>。",
+ "You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "您目前正運行 PHP {version} ,我們建議您升級 PHP 到您的發行版所支援的最新版本,以獲得 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">PHP 開發團隊提供的效能與安全性更新</a>。",
+ "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "您目前正運行 PHP 5.6 ,目前使用的 Nextcloud 將會是最後一個支援 PHP 5.6 的版本,建議您升級至 PHP 7.0 以上以使用 Nextcloud 14。",
+ "The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "偵測到您的反向代理標頭設定不正確,但也有可能是因為您目前正透過信任的代理伺服器存取 Nextcloud。若您目前不是透過信任的代理伺服器存取 Nextcloud,這就是一個安全性問題,允許攻擊者對 Nextcloud 假冒 IP 位址。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</a>。",
"Error occurred while checking server setup" : "檢查伺服器設定時發生錯誤",
+ "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 設定檔並未生效,我們強烈建議您設定網頁伺服器,拒絕公開存取資料目錄,或者將您的資料目錄移出網頁伺服器根目錄。",
+ "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "目前 HTTP 的 {header} 標頭設定並不是 \"{expected}\" ,這是一個潛在的安全性和隱私風險,我們建議調整此項設定。",
+ "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "目前 HTTP 的 {header} 標頭設定並不是 \"{expected}\" ,這將讓某些功能無法正常運作,我們建議修正此項設定。",
+ "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP \"Strict-Transport-Security\" 標頭並未被設定持續至少 {seconds} 秒。為了提高安全性,我們在<a href=\"{docUrl}\" rel=\"noreferrer\">安全小祕訣</a>中有詳述並建議啟用 HSTS。",
+ "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "正在透過不安全的 HTTP 存取站台,強烈建議您設定伺服器啟用 HTTPS ,更多資訊請查閱<a href=\"{docUrl}\">安全小祕訣</a>。",
"Shared" : "已分享",
"Shared with" : "分享給",
"Shared by" : "分享自",
@@ -220,7 +233,8 @@
"Line: %s" : "行數:%s",
"Trace" : "追蹤",
"Security warning" : "安全性警告",
- "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "您的資料目錄看起來可以被 Internet 公開存取,因為 .htaccess 設定並未生效。",
+ "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "您的資料目錄看起來可以被公開存取,因為 .htaccess 設定檔並未生效。",
+ "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">documentation</a>." : "閱讀<a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">說明文件</a>來瞭解如何正確設定您的伺服器",
"Create an <strong>admin account</strong>" : "建立一個<strong>管理者帳號</strong>",
"Username" : "使用者名稱",
"Storage & database" : "儲存空間和資料庫",
@@ -256,6 +270,8 @@
"Wrong password." : "密碼錯誤",
"Log in" : "登入",
"Stay logged in" : "保持登入狀態",
+ "Forgot password?" : "忘記密碼?",
+ "Back to log in" : "回到登入頁面",
"Alternative Logins" : "其他登入方法",
"Account access" : "帳戶存取",
"You are about to grant %s access to your %s account." : "你已批准%s存取你的%s帳戶。",
@@ -285,6 +301,7 @@
"Detailed logs" : "詳細記錄檔",
"Update needed" : "需要更新",
"Please use the command line updater because you have a big instance with more than 50 users." : "因為您有超過50名使用者,服務規模較大,請透過命令提示字元介面更新",
+ "For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "若需要協助,請參閱<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">說明文件</a>",
"I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "若我繼續透過網頁介面更新時我已了解有其風險,若請求逾時可能導致資料遺失,萬一更新失敗,我已準備好備份並知道如何回復運作。",
"Upgrade via web on my own risk" : "願意承擔風險透過網頁更新",
"This %s instance is currently in maintenance mode, which may take a while." : "這個 %s 安裝目前處於維護模式,需要一段時間恢復。",
@@ -297,16 +314,16 @@
"Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "您的網頁伺服器無法提供檔案同步功能,因為 WebDAV 界面有問題",
"Your web server is not set up properly to resolve \"{url}\". Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "您的網頁伺服器並未正確設定來解析 \"{url}\" ,請查看我們的<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>以瞭解更多",
"This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "伺服器沒有網際網路連線,有些功能,像是外部儲存、更新版通知將無法運作。從遠端存取資料或是寄送 email 通知可能也無法運作。建議您設定好網際網路連線以使用所有功能。",
- "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "記憶體快取尚未設定。如果可以,請完成設定來提升效能。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>",
+ "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "您沒有設定記憶體快取,如果可以,請完成設定來提升效能。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "PHP 無法讀取 /dev/urandom,為保障安全,建議修正這個問題,進一步訊息可參考我們的<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">文件</a>",
"You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "您目前正運行 PHP {version} ,我們建議您升級 PHP 到您的發行版所支援的最新版本,以獲得 <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">PHP 開發團隊提供的效能與安全性更新</a>。",
- "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "反向代理標頭設定不正確,或者您正透過可信任的代理伺服器存取Nextcloud。若您不是透過可信任的代理伺服器存取Nextcloud,此安全問題會允許攻擊者對Nextcloud假冒IP位址。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>。",
+ "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "偵測到您的反向代理標頭設定不正確,但也有可能是因為您目前正透過信任的代理伺服器存取 Nextcloud。若您目前不是透過信任的代理伺服器存取 Nextcloud,這就是一個安全性問題,允許攻擊者對 Nextcloud 假冒 IP 位址。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>。",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached是用於分散式緩存的設置,但是目前安裝了錯誤的PHP模組為「memcache」。\\OC\\Memcache\\Memcached僅支援「memcached」而不是「memcache」。請參閱<a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki了解兩種模組資訊</a>",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "有些檔案並未通過完整性檢查。可參閱詳細資訊,如我們的<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>(<a href=\"{codeIntegrityDownloadEndpoint}\">無效檔案列表</a>/<a href=\"{rescanEndpoint}\">重新檢查</a>)以解決這些問題。",
- "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 檔案並未生效,我們強烈建議您設定您的網頁伺服器,拒絕資料目錄的公開存取,或者將您的資料目錄移出網頁伺服器根目錄。",
- "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP 標頭配置與 \"{expected}\"不一樣,這是一個潛在安全性或者隱私上的風險,因此我們建議您調整此設定",
- "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>." : "此 HTTP \"Strict-Transport-Security\" 標頭並未設定持續至少 {seconds} 秒。為了提高安全性,我們在<a href=\"{docUrl}\" rel=\"noreferrer\">安全提示</a>中有詳述並建議啟用 HSTS。",
- "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>." : "您正在藉由 HTTP 訪問此網站,如我們的<a href=\"{docUrl}\">安全性提示</a>所述,我們強烈建議設定您的伺服器須要求使用 HTTPS",
+ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 設定檔並未生效,我們強烈建議您設定網頁伺服器,拒絕公開存取資料目錄,或者將您的資料目錄移出網頁伺服器根目錄。",
+ "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "目前 HTTP 的 {header} 標頭設定並不是 \"{expected}\" ,這是一個潛在的安全性和隱私風險,我們建議調整此項設定。",
+ "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>." : "HTTP \"Strict-Transport-Security\" 標頭並未設定持續至少 {seconds} 秒。為了提高安全性,我們在<a href=\"{docUrl}\" rel=\"noreferrer\">安全小祕訣</a>中有詳述並建議啟用 HSTS。",
+ "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>." : "您目前透過 HTTP 存取此網站,如我們的<a href=\"{docUrl}\">安全性提示</a>所述,我們強烈建議設定您的伺服器要求使用 HTTPS。",
"Shared with {recipients}" : "與 {recipients} 分享",
"Error while unsharing" : "取消分享時發生錯誤",
"can reshare" : "允許轉分享",
@@ -336,7 +353,7 @@
"Cheers!" : "太棒了!",
"The server encountered an internal error and was unable to complete your request." : "伺服器遭遇內部錯誤,無法完成您的要求",
"Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "如果這個錯誤重複出現,請聯絡系統管理員,並附上以下的錯誤細節",
- "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "關於如何有效設定您伺服器的資訊,請參閱此<a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">說明文件</a>",
+ "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "閱讀<a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">說明文件</a>來瞭解如何正確設定您的伺服器",
"Log out" : "登出",
"This action requires you to confirm your password:" : "這個動作需要您輸入密碼",
"Wrong password. Reset it?" : "密碼錯誤,重設密碼?",
@@ -351,7 +368,7 @@
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "請參閱<a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">說明文件</a>取得協助。",
"The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">For better performance we recommend</a> to use following settings in the <code>php.ini</code>:" : "PHP的OPcache功能並未被妥善設定。<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">為了有更好的效能表現</a>我們建議在<code>php.ini檔案</code>中使用以下設定:",
"The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. We strongly recommend enabling this function." : "無法取得PHP中的「set_time_limit」函式。這可能導致執行過程中被終止並造成不完整安裝。我們強烈建議啟用該函式。",
- "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 檔案並未生效,我們強烈建議您設定您的網頁伺服器,拒絕資料目錄被公開存取,或者將您的資料目錄移出網頁伺服器根目錄。",
+ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 設定檔並未生效,我們強烈建議您設定網頁伺服器,拒絕公開存取資料目錄,或者將您的資料目錄移出網頁伺服器根目錄。",
"You are about to grant \"%s\" access to your %s account." : "您將授予「%s」存取您的%s帳戶"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/lib/l10n/et_EE.js b/lib/l10n/et_EE.js
new file mode 100644
index 00000000000..e536b5076a9
--- /dev/null
+++ b/lib/l10n/et_EE.js
@@ -0,0 +1,210 @@
+OC.L10N.register(
+ "lib",
+ {
+ "Cannot write into \"config\" directory!" : "Ei saa kirjutada \"config\" kataloogi!",
+ "This can usually be fixed by giving the webserver write access to the config directory" : "Tavaliselt saab selle lahendada andes veebiserverile seatete kataloogile \"config\" kirjutusõigused",
+ "See %s" : "Vaata %s",
+ "Sample configuration detected" : "Tuvastati näidisseaded",
+ "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Tuvastati, et kopeeriti näidisseaded. See võib lõhkuda sinu saidi ja see pole toetatud. Palun loe enne faili config.php muutmist dokumentatsiooni",
+ "%1$s and %2$s" : "%1$s ja %2$s",
+ "%1$s, %2$s and %3$s" : "%1$s, %2$s ja %3$s",
+ "%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s ja %4$s",
+ "%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s ja %5$s",
+ "PHP %s or higher is required." : "PHP %s või uuem on nõutav.",
+ "PHP with a version lower than %s is required." : "Nõutud on PHP madalama versiooniga kui %s.",
+ "Following databases are supported: %s" : "Toetatud on järgnevad andmebaasid: %s",
+ "The command line tool %s could not be found" : "Käsurea töövahendit %s ei leitud",
+ "The library %s is not available." : "Teek %s pole saadaval.",
+ "Following platforms are supported: %s" : "Toetatud on järgnevad platformid: %s",
+ "Server version %s or higher is required." : "Serveri versioon %s või kõrgem on nõutav.",
+ "Server version %s or lower is required." : "Serveri versioon %s või madalam on nõutav.",
+ "Unknown filetype" : "Tundmatu failitüüp",
+ "Invalid image" : "Vigane pilt",
+ "Avatar image is not square" : "Avatari pilt pole ruut",
+ "today" : "täna",
+ "tomorrow" : "homme",
+ "yesterday" : "eile",
+ "_%n day ago_::_%n days ago_" : ["%n päev tagasi","%n päeva tagasi"],
+ "next month" : "järgmine kuu",
+ "last month" : "viimasel kuul",
+ "next year" : "järgmine aasta",
+ "last year" : "viimasel aastal",
+ "_%n year ago_::_%n years ago_" : ["%n aasta tagasi","%n aastat tagasi"],
+ "in a few seconds" : "mõne sekundi jooksul",
+ "seconds ago" : "sekundit tagasi",
+ "File name is a reserved word" : "Failinimi sisaldab keelatud sõna",
+ "File name contains at least one invalid character" : "Faili nimesonvähemalt üks keelatud märk",
+ "File name is too long" : "Faili nimi on liiga pikk",
+ "Dot files are not allowed" : "Punktiga failid pole lubatud",
+ "Empty filename is not allowed" : "Tühi failinimi pole lubatud",
+ "This is an automatically sent email, please do not reply." : "See on automaatselt saadetud e-kiri, palun ära vasta.",
+ "Help" : "Abi",
+ "Apps" : "Rakendused",
+ "Settings" : "Seaded",
+ "Log out" : "Logi välja",
+ "Users" : "Kasutajad",
+ "Basic settings" : "Põhiseaded",
+ "Sharing" : "Jagamine",
+ "Security" : "Turvalisus",
+ "Encryption" : "Krüpteerimine",
+ "Additional settings" : "Lisaseaded",
+ "Tips & tricks" : "Nõuanded ja trikid",
+ "Personal info" : "Isiklik info",
+ "Sync clients" : "Klientide sünkroniseerimine",
+ "Unlimited" : "Piiramatult",
+ "__language_name__" : "Eesti",
+ "Verifying" : "Kontrollin",
+ "Verifying …" : "Kontrollin ...",
+ "Verify" : "Kontrolli",
+ "%s enter the database username and name." : "%s sisesta andmebaasi kasutajatunnus ja nimi.",
+ "%s enter the database username." : "%s sisesta andmebaasi kasutajatunnus.",
+ "%s enter the database name." : "%s sisesta andmebaasi nimi.",
+ "%s you may not use dots in the database name" : "%s punktide kasutamine andmebaasi nimes pole lubatud",
+ "Oracle connection could not be established" : "Ei suuda luua ühendust Oracle baasiga",
+ "Oracle username and/or password not valid" : "Oracle kasutajatunnus ja/või parool pole õiged",
+ "PostgreSQL username and/or password not valid" : "PostgreSQL kasutajatunnus ja/või parool pole õiged",
+ "You need to enter details of an existing account." : "Sa pead sisestama olemasoleva konto andmed.",
+ "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X ei ole toetatud ja %s ei pruugi korralikult toimida sellel platvormil. Kasuta seda omal vastutusel!",
+ "For the best results, please consider using a GNU/Linux server instead." : "Parema tulemuse saavitamiseks palun kaalu serveris GNU/Linux kasutamist.",
+ "Set an admin username." : "Määra admin kasutajanimi.",
+ "Set an admin password." : "Määra admini parool.",
+ "Can't create or write into the data directory %s" : "Ei suuda luua või kirjutada andmete kataloogi %s",
+ "Invalid Federated Cloud ID" : "Vigane liitpilve ID",
+ "Sharing %s failed, because the backend does not allow shares from type %i" : "%s jagamine ebaõnnestus sest server ei luba %i tüüpi jagamisi",
+ "Sharing %s failed, because the file does not exist" : "%s jagamine ebaõnnestus, kuna faili pole olemas",
+ "You are not allowed to share %s" : "Sul pole lubatud %s jagada",
+ "Sharing %s failed, because you can not share with yourself" : "%s jagamine ebaõnnestus, kuna sa ei saa jagada iseendaga",
+ "Sharing %s failed, because the user %s does not exist" : "%s jagamine ebaõnnestus, kuna kasutajat %s pole olemas",
+ "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "%s jagamine ebaõnnestus, kuna kasutaja %s pole ühegi grupi liige, millede liige on %s",
+ "Sharing %s failed, because this item is already shared with %s" : "%s jagamine ebaõnnestus, kuna see üksus on juba jagatud %s",
+ "Sharing %s failed, because this item is already shared with user %s" : "%s jagamine ebaõnnestus, kuna see üksus on juba jagatud kasutajaga %s",
+ "Sharing %s failed, because the group %s does not exist" : "%s jagamine ebaõnnestus, kuna gruppi %s pole olemas",
+ "Sharing %s failed, because %s is not a member of the group %s" : "%s jagamine ebaõnnestus, kuna %s pole grupi %s liige",
+ "You need to provide a password to create a public link, only protected links are allowed" : "Avaliku viite tekitamiseks pead sisestama parooli, ainult kaitstud viited on lubatud",
+ "Sharing %s failed, because sharing with links is not allowed" : "%s jagamine ebaõnnestus, kuna linkidega jagamine pole lubatud",
+ "Not allowed to create a federated share with the same user" : "Liitjagamise loomine sama kasutajaga ei ole lubatud.",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "%s jagamine ebaõnnestus, ei suutnud %s leida, ehk ei ole server hetkel kättesaadav.",
+ "Share type %s is not valid for %s" : "Jagamise tüüp %s ei ole õige %s jaoks",
+ "Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "Aegumise kuupäeva ei saa määrata. Jagamised ei saa aeguda hiljem kui %s peale jagamist.",
+ "Cannot set expiration date. Expiration date is in the past" : "Aegumiskuupäeva ei saa määrata. Aegumise kuupäev on minevikus",
+ "Sharing backend %s must implement the interface OCP\\Share_Backend" : "Jagamise tagarakend %s peab kasutusele võtma OCP\\Share_Backend liidese",
+ "Sharing backend %s not found" : "Jagamise tagarakendit %s ei leitud",
+ "Sharing backend for %s not found" : "Jagamise tagarakendit %s jaoks ei leitud",
+ "Sharing failed, because the user %s is the original sharer" : "Jagamine ebaõnnestus kuna kasutaja %s on algne jagaja",
+ "Sharing %s failed, because the permissions exceed permissions granted to %s" : "%s jagamine ebaõnnestus, kuna antud õigused ületavad %s jaoks määratud õigusi",
+ "Sharing %s failed, because resharing is not allowed" : "%s jagamine ebaõnnestus, kuna edasijagamine pole lubatud",
+ "Sharing %s failed, because the sharing backend for %s could not find its source" : "%s jagamine ebaõnnestus, kuna jagamise tagarakend ei suutnud leida %s jaoks lähteallikat",
+ "Sharing %s failed, because the file could not be found in the file cache" : "%s jagamine ebaõnnestus, kuna faili ei suudetud leida failide puhvrist",
+ "Can’t increase permissions of %s" : "Ei saa %s õigusi suurendada",
+ "Files can’t be shared with delete permissions" : "Faile ei saa jagada kustutamise õigusega",
+ "Files can’t be shared with create permissions" : "Faile ei saa jagada loomise õigusega",
+ "Expiration date is in the past" : "Aegumise kuupäev on minevikus",
+ "Can’t set expiration date more than %s days in the future" : "Ei sa määrata aegumise kuupäeva rohkem kui %s päeva tulevikus",
+ "%s shared »%s« with you" : "%s jagas sinuga »%s«",
+ "%s shared »%s« with you." : "%s jagas »%s« sinuga.",
+ "Click the button below to open it." : "Vajuta allolevat nuppu, et see avada.",
+ "Open »%s«" : "Ava »%s«",
+ "%s via %s" : "%s läbi %s",
+ "The requested share does not exist anymore" : "Soovitud jagamist enam ei eksisteeri",
+ "Could not find category \"%s\"" : "Ei leia kategooriat \"%s\"",
+ "Sunday" : "Pühapäev",
+ "Monday" : "Esmaspäev",
+ "Tuesday" : "Teisipäev",
+ "Wednesday" : "Kolmapäev",
+ "Thursday" : "Neljapäev",
+ "Friday" : "Reede",
+ "Saturday" : "Laupäev",
+ "Sun." : "P",
+ "Mon." : "E",
+ "Tue." : "T",
+ "Wed." : "K",
+ "Thu." : "N",
+ "Fri." : "R",
+ "Sat." : "L",
+ "Su" : "P",
+ "Mo" : "E",
+ "Tu" : "T",
+ "We" : "K",
+ "Th" : "N",
+ "Fr" : "R",
+ "Sa" : "L",
+ "January" : "Jaanuar",
+ "February" : "Veebruar",
+ "March" : "Märts",
+ "April" : "Aprill",
+ "May" : "Mai",
+ "June" : "Juuni",
+ "July" : "Juuli",
+ "August" : "August",
+ "September" : "September",
+ "October" : "Oktoober",
+ "November" : "November",
+ "December" : "Detsember",
+ "Jan." : "Jaan.",
+ "Feb." : "Veebr.",
+ "Mar." : "Märts.",
+ "Apr." : "Apr.",
+ "May." : "Mai.",
+ "Jun." : "Juuni.",
+ "Jul." : "Juuli.",
+ "Aug." : "Aug.",
+ "Sep." : "Sept.",
+ "Oct." : "Okt.",
+ "Nov." : "Nov.",
+ "Dec." : "Dets.",
+ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Kasutajanimes on lubatud ainult järgmised sümbolid: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
+ "A valid username must be provided" : "Sisesta nõuetele vastav kasutajatunnus",
+ "Username contains whitespace at the beginning or at the end" : "Kasutajanime alguses või lõpus on tühik",
+ "Username must not consist of dots only" : "Kasutajanimi ei tohi koosneda ainult punktidest",
+ "A valid password must be provided" : "Sisesta nõuetele vastav parool",
+ "The username is already being used" : "Kasutajanimi on juba kasutuses",
+ "Could not create user" : "Ei saanud kasutajat luua",
+ "User disabled" : "Kasutaja deaktiveeritud",
+ "No app name specified" : "Ühegi rakendi nime pole määratletud",
+ "App '%s' could not be installed!" : "Rakendust '%s' ei saa paigaldada!",
+ "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Rakendust \"%s\" ei saa paigaldada sest järgmised sõltuvused ei ole täidetud: %s",
+ "a safe home for all your data" : "turvaline koht sinu andmetele",
+ "File is currently busy, please try again later" : "Fail on hetkel kasutuses, proovi hiljem uuesti",
+ "Can't read file" : "Faili lugemine ebaõnnestus",
+ "Application is not enabled" : "Rakendus pole sisse lülitatud",
+ "Authentication error" : "Autentimise viga",
+ "Token expired. Please reload page." : "Kontrollkood aegus. Paelun lae leht uuesti.",
+ "Unknown user" : "Tundmatu kasutaja",
+ "No database drivers (sqlite, mysql, or postgresql) installed." : "Ühtegi andmebaasi (sqlite, mysql või postgresql) draiverit pole paigaldatud.",
+ "Cannot write into \"config\" directory" : "Ei saa kirjutada \"config\" kataloogi",
+ "Cannot write into \"apps\" directory" : "Ei saa kirjutada \"apps\" kataloogi!",
+ "Cannot create \"data\" directory" : "Ei suuda luua \"data\" kataloogi",
+ "Setting locale to %s failed" : "Lokaadi %s määramine ebaõnnestus.",
+ "Please install one of these locales on your system and restart your webserver." : "Palun paigalda mõni neist lokaatides oma süsteemi ning taaskäivita veebiserver.",
+ "Please ask your server administrator to install the module." : "Palu oma serveri haldajal moodul paigadalda.",
+ "PHP module %s not installed." : "PHP moodulit %s pole paigaldatud.",
+ "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "See on tõenäoliselt põhjustatud puhver/kiirendist nagu Zend OPcache või eAccelerator.",
+ "PHP modules have been installed, but they are still listed as missing?" : "PHP moodulid on paigaldatud, kuid neid näitatakse endiselt kui puuduolevad?",
+ "Please ask your server administrator to restart the web server." : "Palu oma serveri haldajal veebiserver taaskäivitada.",
+ "PostgreSQL >= 9 required" : "PostgreSQL >= 9 on nõutav",
+ "Please upgrade your database version" : "Palun uuenda oma andmebaasi versiooni",
+ "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Palun muuda kataloogi õigused 0770-ks, et kataloogi sisu poleks teistele kasutajatele nähtav",
+ "Could not obtain lock type %d on \"%s\"." : "Ei suutnud hankida %d tüüpi lukustust \"%s\".",
+ "This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Tavaliselt saab selle lahendada %s andes veebiserverile seadete kataloogile \"config\" kirjutusõigused %s",
+ "Server settings" : "Serveri seaded",
+ "DB Error: \"%s\"" : "Andmebaasi viga: \"%s\"",
+ "Offending command was: \"%s\"" : "Tõrkuv käsk oli: \"%s\"",
+ "You need to enter either an existing account or the administrator." : "Sisesta kas juba olemasolev konto või administrator.",
+ "Offending command was: \"%s\", name: %s, password: %s" : "Tõrkuv käsk oli: \"%s\", nimi: %s, parool: %s",
+ "Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "Lubade seadistus %s jaoks ebaõnnestus, kuna antud õigused ületavad %s jaoks määratud õigusi",
+ "Setting permissions for %s failed, because the item was not found" : "Lubade seadistus %s jaoks ebaõnnestus, kuna üksust ei leitud",
+ "Cannot clear expiration date. Shares are required to have an expiration date." : "Aegumise kuupäeva ei saa tühjendada. Jagamistel peab olema aegumise kuupäev.",
+ "Cannot increase permissions of %s" : "Ei saa %s õigusi suurendada",
+ "Files can't be shared with delete permissions" : "Faile ei saa jagada kustutamise õigustega",
+ "Files can't be shared with create permissions" : "Faile ei saa jagada loomise õigustega",
+ "Cannot set expiration date more than %s days in the future" : "Ei sa määrata aegumise kuupäeva rohkem kui %s päeva tulevikus",
+ "Personal" : "Isiklik",
+ "Admin" : "Admin",
+ "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Tavaliselt saab selle lahendada %s andes veebiserverile rakendite kataloogile kirjutusõigused %s või keelates seadetes rakendikogu.",
+ "Cannot create \"data\" directory (%s)" : "Ei suuda luua \"data\" kataloogi (%s)",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Õigused saab tavaliselt paika %s andes veebiserverile juurkataloogile kirjutusõigused %s",
+ "Data directory (%s) is readable by other users" : "Andmete kataloog (%s) on teistele kasutajate loetav",
+ "Data directory (%s) is invalid" : "Andmete kataloog (%s) pole korrektne",
+ "Please check that the data directory contains a file \".ocdata\" in its root." : "Palun veendu, et andmete kataloogis sisaldub fail \".ocdata\" "
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/lib/l10n/et_EE.json b/lib/l10n/et_EE.json
new file mode 100644
index 00000000000..87c569d402f
--- /dev/null
+++ b/lib/l10n/et_EE.json
@@ -0,0 +1,208 @@
+{ "translations": {
+ "Cannot write into \"config\" directory!" : "Ei saa kirjutada \"config\" kataloogi!",
+ "This can usually be fixed by giving the webserver write access to the config directory" : "Tavaliselt saab selle lahendada andes veebiserverile seatete kataloogile \"config\" kirjutusõigused",
+ "See %s" : "Vaata %s",
+ "Sample configuration detected" : "Tuvastati näidisseaded",
+ "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Tuvastati, et kopeeriti näidisseaded. See võib lõhkuda sinu saidi ja see pole toetatud. Palun loe enne faili config.php muutmist dokumentatsiooni",
+ "%1$s and %2$s" : "%1$s ja %2$s",
+ "%1$s, %2$s and %3$s" : "%1$s, %2$s ja %3$s",
+ "%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s ja %4$s",
+ "%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s ja %5$s",
+ "PHP %s or higher is required." : "PHP %s või uuem on nõutav.",
+ "PHP with a version lower than %s is required." : "Nõutud on PHP madalama versiooniga kui %s.",
+ "Following databases are supported: %s" : "Toetatud on järgnevad andmebaasid: %s",
+ "The command line tool %s could not be found" : "Käsurea töövahendit %s ei leitud",
+ "The library %s is not available." : "Teek %s pole saadaval.",
+ "Following platforms are supported: %s" : "Toetatud on järgnevad platformid: %s",
+ "Server version %s or higher is required." : "Serveri versioon %s või kõrgem on nõutav.",
+ "Server version %s or lower is required." : "Serveri versioon %s või madalam on nõutav.",
+ "Unknown filetype" : "Tundmatu failitüüp",
+ "Invalid image" : "Vigane pilt",
+ "Avatar image is not square" : "Avatari pilt pole ruut",
+ "today" : "täna",
+ "tomorrow" : "homme",
+ "yesterday" : "eile",
+ "_%n day ago_::_%n days ago_" : ["%n päev tagasi","%n päeva tagasi"],
+ "next month" : "järgmine kuu",
+ "last month" : "viimasel kuul",
+ "next year" : "järgmine aasta",
+ "last year" : "viimasel aastal",
+ "_%n year ago_::_%n years ago_" : ["%n aasta tagasi","%n aastat tagasi"],
+ "in a few seconds" : "mõne sekundi jooksul",
+ "seconds ago" : "sekundit tagasi",
+ "File name is a reserved word" : "Failinimi sisaldab keelatud sõna",
+ "File name contains at least one invalid character" : "Faili nimesonvähemalt üks keelatud märk",
+ "File name is too long" : "Faili nimi on liiga pikk",
+ "Dot files are not allowed" : "Punktiga failid pole lubatud",
+ "Empty filename is not allowed" : "Tühi failinimi pole lubatud",
+ "This is an automatically sent email, please do not reply." : "See on automaatselt saadetud e-kiri, palun ära vasta.",
+ "Help" : "Abi",
+ "Apps" : "Rakendused",
+ "Settings" : "Seaded",
+ "Log out" : "Logi välja",
+ "Users" : "Kasutajad",
+ "Basic settings" : "Põhiseaded",
+ "Sharing" : "Jagamine",
+ "Security" : "Turvalisus",
+ "Encryption" : "Krüpteerimine",
+ "Additional settings" : "Lisaseaded",
+ "Tips & tricks" : "Nõuanded ja trikid",
+ "Personal info" : "Isiklik info",
+ "Sync clients" : "Klientide sünkroniseerimine",
+ "Unlimited" : "Piiramatult",
+ "__language_name__" : "Eesti",
+ "Verifying" : "Kontrollin",
+ "Verifying …" : "Kontrollin ...",
+ "Verify" : "Kontrolli",
+ "%s enter the database username and name." : "%s sisesta andmebaasi kasutajatunnus ja nimi.",
+ "%s enter the database username." : "%s sisesta andmebaasi kasutajatunnus.",
+ "%s enter the database name." : "%s sisesta andmebaasi nimi.",
+ "%s you may not use dots in the database name" : "%s punktide kasutamine andmebaasi nimes pole lubatud",
+ "Oracle connection could not be established" : "Ei suuda luua ühendust Oracle baasiga",
+ "Oracle username and/or password not valid" : "Oracle kasutajatunnus ja/või parool pole õiged",
+ "PostgreSQL username and/or password not valid" : "PostgreSQL kasutajatunnus ja/või parool pole õiged",
+ "You need to enter details of an existing account." : "Sa pead sisestama olemasoleva konto andmed.",
+ "Mac OS X is not supported and %s will not work properly on this platform. Use it at your own risk! " : "Mac OS X ei ole toetatud ja %s ei pruugi korralikult toimida sellel platvormil. Kasuta seda omal vastutusel!",
+ "For the best results, please consider using a GNU/Linux server instead." : "Parema tulemuse saavitamiseks palun kaalu serveris GNU/Linux kasutamist.",
+ "Set an admin username." : "Määra admin kasutajanimi.",
+ "Set an admin password." : "Määra admini parool.",
+ "Can't create or write into the data directory %s" : "Ei suuda luua või kirjutada andmete kataloogi %s",
+ "Invalid Federated Cloud ID" : "Vigane liitpilve ID",
+ "Sharing %s failed, because the backend does not allow shares from type %i" : "%s jagamine ebaõnnestus sest server ei luba %i tüüpi jagamisi",
+ "Sharing %s failed, because the file does not exist" : "%s jagamine ebaõnnestus, kuna faili pole olemas",
+ "You are not allowed to share %s" : "Sul pole lubatud %s jagada",
+ "Sharing %s failed, because you can not share with yourself" : "%s jagamine ebaõnnestus, kuna sa ei saa jagada iseendaga",
+ "Sharing %s failed, because the user %s does not exist" : "%s jagamine ebaõnnestus, kuna kasutajat %s pole olemas",
+ "Sharing %s failed, because the user %s is not a member of any groups that %s is a member of" : "%s jagamine ebaõnnestus, kuna kasutaja %s pole ühegi grupi liige, millede liige on %s",
+ "Sharing %s failed, because this item is already shared with %s" : "%s jagamine ebaõnnestus, kuna see üksus on juba jagatud %s",
+ "Sharing %s failed, because this item is already shared with user %s" : "%s jagamine ebaõnnestus, kuna see üksus on juba jagatud kasutajaga %s",
+ "Sharing %s failed, because the group %s does not exist" : "%s jagamine ebaõnnestus, kuna gruppi %s pole olemas",
+ "Sharing %s failed, because %s is not a member of the group %s" : "%s jagamine ebaõnnestus, kuna %s pole grupi %s liige",
+ "You need to provide a password to create a public link, only protected links are allowed" : "Avaliku viite tekitamiseks pead sisestama parooli, ainult kaitstud viited on lubatud",
+ "Sharing %s failed, because sharing with links is not allowed" : "%s jagamine ebaõnnestus, kuna linkidega jagamine pole lubatud",
+ "Not allowed to create a federated share with the same user" : "Liitjagamise loomine sama kasutajaga ei ole lubatud.",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable." : "%s jagamine ebaõnnestus, ei suutnud %s leida, ehk ei ole server hetkel kättesaadav.",
+ "Share type %s is not valid for %s" : "Jagamise tüüp %s ei ole õige %s jaoks",
+ "Cannot set expiration date. Shares cannot expire later than %s after they have been shared" : "Aegumise kuupäeva ei saa määrata. Jagamised ei saa aeguda hiljem kui %s peale jagamist.",
+ "Cannot set expiration date. Expiration date is in the past" : "Aegumiskuupäeva ei saa määrata. Aegumise kuupäev on minevikus",
+ "Sharing backend %s must implement the interface OCP\\Share_Backend" : "Jagamise tagarakend %s peab kasutusele võtma OCP\\Share_Backend liidese",
+ "Sharing backend %s not found" : "Jagamise tagarakendit %s ei leitud",
+ "Sharing backend for %s not found" : "Jagamise tagarakendit %s jaoks ei leitud",
+ "Sharing failed, because the user %s is the original sharer" : "Jagamine ebaõnnestus kuna kasutaja %s on algne jagaja",
+ "Sharing %s failed, because the permissions exceed permissions granted to %s" : "%s jagamine ebaõnnestus, kuna antud õigused ületavad %s jaoks määratud õigusi",
+ "Sharing %s failed, because resharing is not allowed" : "%s jagamine ebaõnnestus, kuna edasijagamine pole lubatud",
+ "Sharing %s failed, because the sharing backend for %s could not find its source" : "%s jagamine ebaõnnestus, kuna jagamise tagarakend ei suutnud leida %s jaoks lähteallikat",
+ "Sharing %s failed, because the file could not be found in the file cache" : "%s jagamine ebaõnnestus, kuna faili ei suudetud leida failide puhvrist",
+ "Can’t increase permissions of %s" : "Ei saa %s õigusi suurendada",
+ "Files can’t be shared with delete permissions" : "Faile ei saa jagada kustutamise õigusega",
+ "Files can’t be shared with create permissions" : "Faile ei saa jagada loomise õigusega",
+ "Expiration date is in the past" : "Aegumise kuupäev on minevikus",
+ "Can’t set expiration date more than %s days in the future" : "Ei sa määrata aegumise kuupäeva rohkem kui %s päeva tulevikus",
+ "%s shared »%s« with you" : "%s jagas sinuga »%s«",
+ "%s shared »%s« with you." : "%s jagas »%s« sinuga.",
+ "Click the button below to open it." : "Vajuta allolevat nuppu, et see avada.",
+ "Open »%s«" : "Ava »%s«",
+ "%s via %s" : "%s läbi %s",
+ "The requested share does not exist anymore" : "Soovitud jagamist enam ei eksisteeri",
+ "Could not find category \"%s\"" : "Ei leia kategooriat \"%s\"",
+ "Sunday" : "Pühapäev",
+ "Monday" : "Esmaspäev",
+ "Tuesday" : "Teisipäev",
+ "Wednesday" : "Kolmapäev",
+ "Thursday" : "Neljapäev",
+ "Friday" : "Reede",
+ "Saturday" : "Laupäev",
+ "Sun." : "P",
+ "Mon." : "E",
+ "Tue." : "T",
+ "Wed." : "K",
+ "Thu." : "N",
+ "Fri." : "R",
+ "Sat." : "L",
+ "Su" : "P",
+ "Mo" : "E",
+ "Tu" : "T",
+ "We" : "K",
+ "Th" : "N",
+ "Fr" : "R",
+ "Sa" : "L",
+ "January" : "Jaanuar",
+ "February" : "Veebruar",
+ "March" : "Märts",
+ "April" : "Aprill",
+ "May" : "Mai",
+ "June" : "Juuni",
+ "July" : "Juuli",
+ "August" : "August",
+ "September" : "September",
+ "October" : "Oktoober",
+ "November" : "November",
+ "December" : "Detsember",
+ "Jan." : "Jaan.",
+ "Feb." : "Veebr.",
+ "Mar." : "Märts.",
+ "Apr." : "Apr.",
+ "May." : "Mai.",
+ "Jun." : "Juuni.",
+ "Jul." : "Juuli.",
+ "Aug." : "Aug.",
+ "Sep." : "Sept.",
+ "Oct." : "Okt.",
+ "Nov." : "Nov.",
+ "Dec." : "Dets.",
+ "Only the following characters are allowed in a username: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"" : "Kasutajanimes on lubatud ainult järgmised sümbolid: \"a-z\", \"A-Z\", \"0-9\", and \"_.@-'\"",
+ "A valid username must be provided" : "Sisesta nõuetele vastav kasutajatunnus",
+ "Username contains whitespace at the beginning or at the end" : "Kasutajanime alguses või lõpus on tühik",
+ "Username must not consist of dots only" : "Kasutajanimi ei tohi koosneda ainult punktidest",
+ "A valid password must be provided" : "Sisesta nõuetele vastav parool",
+ "The username is already being used" : "Kasutajanimi on juba kasutuses",
+ "Could not create user" : "Ei saanud kasutajat luua",
+ "User disabled" : "Kasutaja deaktiveeritud",
+ "No app name specified" : "Ühegi rakendi nime pole määratletud",
+ "App '%s' could not be installed!" : "Rakendust '%s' ei saa paigaldada!",
+ "App \"%s\" cannot be installed because the following dependencies are not fulfilled: %s" : "Rakendust \"%s\" ei saa paigaldada sest järgmised sõltuvused ei ole täidetud: %s",
+ "a safe home for all your data" : "turvaline koht sinu andmetele",
+ "File is currently busy, please try again later" : "Fail on hetkel kasutuses, proovi hiljem uuesti",
+ "Can't read file" : "Faili lugemine ebaõnnestus",
+ "Application is not enabled" : "Rakendus pole sisse lülitatud",
+ "Authentication error" : "Autentimise viga",
+ "Token expired. Please reload page." : "Kontrollkood aegus. Paelun lae leht uuesti.",
+ "Unknown user" : "Tundmatu kasutaja",
+ "No database drivers (sqlite, mysql, or postgresql) installed." : "Ühtegi andmebaasi (sqlite, mysql või postgresql) draiverit pole paigaldatud.",
+ "Cannot write into \"config\" directory" : "Ei saa kirjutada \"config\" kataloogi",
+ "Cannot write into \"apps\" directory" : "Ei saa kirjutada \"apps\" kataloogi!",
+ "Cannot create \"data\" directory" : "Ei suuda luua \"data\" kataloogi",
+ "Setting locale to %s failed" : "Lokaadi %s määramine ebaõnnestus.",
+ "Please install one of these locales on your system and restart your webserver." : "Palun paigalda mõni neist lokaatides oma süsteemi ning taaskäivita veebiserver.",
+ "Please ask your server administrator to install the module." : "Palu oma serveri haldajal moodul paigadalda.",
+ "PHP module %s not installed." : "PHP moodulit %s pole paigaldatud.",
+ "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "See on tõenäoliselt põhjustatud puhver/kiirendist nagu Zend OPcache või eAccelerator.",
+ "PHP modules have been installed, but they are still listed as missing?" : "PHP moodulid on paigaldatud, kuid neid näitatakse endiselt kui puuduolevad?",
+ "Please ask your server administrator to restart the web server." : "Palu oma serveri haldajal veebiserver taaskäivitada.",
+ "PostgreSQL >= 9 required" : "PostgreSQL >= 9 on nõutav",
+ "Please upgrade your database version" : "Palun uuenda oma andmebaasi versiooni",
+ "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Palun muuda kataloogi õigused 0770-ks, et kataloogi sisu poleks teistele kasutajatele nähtav",
+ "Could not obtain lock type %d on \"%s\"." : "Ei suutnud hankida %d tüüpi lukustust \"%s\".",
+ "This can usually be fixed by %sgiving the webserver write access to the config directory%s." : "Tavaliselt saab selle lahendada %s andes veebiserverile seadete kataloogile \"config\" kirjutusõigused %s",
+ "Server settings" : "Serveri seaded",
+ "DB Error: \"%s\"" : "Andmebaasi viga: \"%s\"",
+ "Offending command was: \"%s\"" : "Tõrkuv käsk oli: \"%s\"",
+ "You need to enter either an existing account or the administrator." : "Sisesta kas juba olemasolev konto või administrator.",
+ "Offending command was: \"%s\", name: %s, password: %s" : "Tõrkuv käsk oli: \"%s\", nimi: %s, parool: %s",
+ "Setting permissions for %s failed, because the permissions exceed permissions granted to %s" : "Lubade seadistus %s jaoks ebaõnnestus, kuna antud õigused ületavad %s jaoks määratud õigusi",
+ "Setting permissions for %s failed, because the item was not found" : "Lubade seadistus %s jaoks ebaõnnestus, kuna üksust ei leitud",
+ "Cannot clear expiration date. Shares are required to have an expiration date." : "Aegumise kuupäeva ei saa tühjendada. Jagamistel peab olema aegumise kuupäev.",
+ "Cannot increase permissions of %s" : "Ei saa %s õigusi suurendada",
+ "Files can't be shared with delete permissions" : "Faile ei saa jagada kustutamise õigustega",
+ "Files can't be shared with create permissions" : "Faile ei saa jagada loomise õigustega",
+ "Cannot set expiration date more than %s days in the future" : "Ei sa määrata aegumise kuupäeva rohkem kui %s päeva tulevikus",
+ "Personal" : "Isiklik",
+ "Admin" : "Admin",
+ "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Tavaliselt saab selle lahendada %s andes veebiserverile rakendite kataloogile kirjutusõigused %s või keelates seadetes rakendikogu.",
+ "Cannot create \"data\" directory (%s)" : "Ei suuda luua \"data\" kataloogi (%s)",
+ "Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Õigused saab tavaliselt paika %s andes veebiserverile juurkataloogile kirjutusõigused %s",
+ "Data directory (%s) is readable by other users" : "Andmete kataloog (%s) on teistele kasutajate loetav",
+ "Data directory (%s) is invalid" : "Andmete kataloog (%s) pole korrektne",
+ "Please check that the data directory contains a file \".ocdata\" in its root." : "Palun veendu, et andmete kataloogis sisaldub fail \".ocdata\" "
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/lib/l10n/nl.js b/lib/l10n/nl.js
index 37bc15b858a..438e1d831d1 100644
--- a/lib/l10n/nl.js
+++ b/lib/l10n/nl.js
@@ -251,7 +251,7 @@ OC.L10N.register(
"This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Dit kan hersteld worden door <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\"> de webserver schrijfrechten te geven tot de hoofd directory</a>.",
"Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Toegang kan hersteld worden door %s in de hoofd directory %s op de webserver schrijfrechten te geven.",
"Data directory (%s) is readable by other users" : "De data directory (%s) is alleen lezen voor andere gebruikers",
- "Data directory (%s) must be an absolute path" : "De data directory (%s) moet een absolute bestand locatie hebben",
+ "Data directory (%s) must be an absolute path" : "De data directory (%s) moet een absolute bestandslocatie hebben",
"Data directory (%s) is invalid" : "Data directory (%s) is ongeldig",
"Please check that the data directory contains a file \".ocdata\" in its root." : "Verifieer dat de data directory een bestand \".ocdata\" in de hoofdmap heeft."
},
diff --git a/lib/l10n/nl.json b/lib/l10n/nl.json
index 79148f57686..451a55f6109 100644
--- a/lib/l10n/nl.json
+++ b/lib/l10n/nl.json
@@ -249,7 +249,7 @@
"This can usually be fixed by <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">giving the webserver write access to the root directory</a>." : "Dit kan hersteld worden door <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\"> de webserver schrijfrechten te geven tot de hoofd directory</a>.",
"Permissions can usually be fixed by %sgiving the webserver write access to the root directory%s." : "Toegang kan hersteld worden door %s in de hoofd directory %s op de webserver schrijfrechten te geven.",
"Data directory (%s) is readable by other users" : "De data directory (%s) is alleen lezen voor andere gebruikers",
- "Data directory (%s) must be an absolute path" : "De data directory (%s) moet een absolute bestand locatie hebben",
+ "Data directory (%s) must be an absolute path" : "De data directory (%s) moet een absolute bestandslocatie hebben",
"Data directory (%s) is invalid" : "Data directory (%s) is ongeldig",
"Please check that the data directory contains a file \".ocdata\" in its root." : "Verifieer dat de data directory een bestand \".ocdata\" in de hoofdmap heeft."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/lib/private/Avatar.php b/lib/private/Avatar.php
index b2d1b2be318..5893daa1804 100644
--- a/lib/private/Avatar.php
+++ b/lib/private/Avatar.php
@@ -124,20 +124,27 @@ class Avatar implements IAvatar {
$type = 'jpg';
}
if ($type !== 'jpg' && $type !== 'png') {
- throw new \Exception($this->l->t("Unknown filetype"));
+ throw new \Exception($this->l->t('Unknown filetype'));
}
if (!$img->valid()) {
- throw new \Exception($this->l->t("Invalid image"));
+ throw new \Exception($this->l->t('Invalid image'));
}
if (!($img->height() === $img->width())) {
- throw new NotSquareException($this->l->t("Avatar image is not square"));
+ throw new NotSquareException($this->l->t('Avatar image is not square'));
}
$this->remove();
$file = $this->folder->newFile('avatar.'.$type);
$file->putContent($data);
+
+ try {
+ $generated = $this->folder->getFile('generated');
+ $generated->delete();
+ } catch (NotFoundException $e) {
+ //
+ }
$this->user->triggerChange('avatar', $file);
}
@@ -146,16 +153,13 @@ class Avatar implements IAvatar {
* @return void
*/
public function remove () {
- $regex = '/^avatar\.([0-9]+\.)?(jpg|png)$/';
$avatars = $this->folder->getDirectoryListing();
$this->config->setUserValue($this->user->getUID(), 'avatar', 'version',
(int)$this->config->getUserValue($this->user->getUID(), 'avatar', 'version', 0) + 1);
foreach ($avatars as $avatar) {
- if (preg_match($regex, $avatar->getName())) {
- $avatar->delete();
- }
+ $avatar->delete();
}
$this->user->triggerChange('avatar', '');
}
@@ -164,7 +168,16 @@ class Avatar implements IAvatar {
* @inheritdoc
*/
public function getFile($size) {
- $ext = $this->getExtension();
+ try {
+ $ext = $this->getExtension();
+ } catch (NotFoundException $e) {
+ $data = $this->generateAvatar($this->user->getDisplayName(), 1024);
+ $avatar = $this->folder->newFile('avatar.png');
+ $avatar->putContent($data);
+ $ext = 'png';
+
+ $this->folder->newFile('generated');
+ }
if ($size === -1) {
$path = 'avatar.' . $ext;
@@ -179,19 +192,26 @@ class Avatar implements IAvatar {
throw new NotFoundException;
}
- $avatar = new OC_Image();
- /** @var ISimpleFile $file */
- $file = $this->folder->getFile('avatar.' . $ext);
- $avatar->loadFromData($file->getContent());
- if ($size !== -1) {
+ if ($this->folder->fileExists('generated')) {
+ $data = $this->generateAvatar($this->user->getDisplayName(), $size);
+
+ } else {
+ $avatar = new OC_Image();
+ /** @var ISimpleFile $file */
+ $file = $this->folder->getFile('avatar.' . $ext);
+ $avatar->loadFromData($file->getContent());
$avatar->resize($size);
+ $data = $avatar->data();
}
+
try {
$file = $this->folder->newFile($path);
- $file->putContent($avatar->data());
+ $file->putContent($data);
} catch (NotPermittedException $e) {
$this->logger->error('Failed to save avatar for ' . $this->user->getUID());
+ throw new NotFoundException();
}
+
}
return $file;
@@ -211,4 +231,166 @@ class Avatar implements IAvatar {
}
throw new NotFoundException;
}
+
+ /**
+ * @param string $userDisplayName
+ * @param int $size
+ * @return string
+ */
+ private function generateAvatar($userDisplayName, $size) {
+ $text = strtoupper(substr($userDisplayName, 0, 1));
+ $backgroundColor = $this->avatarBackgroundColor($userDisplayName);
+
+ $im = imagecreatetruecolor($size, $size);
+ $background = imagecolorallocate($im, $backgroundColor[0], $backgroundColor[1], $backgroundColor[2]);
+ $white = imagecolorallocate($im, 255, 255, 255);
+ imagefilledrectangle($im, 0, 0, $size, $size, $background);
+
+ $font = __DIR__ . '/../../core/fonts/OpenSans-Semibold.woff';
+
+ $fontSize = $size * 0.4;
+ $box = imagettfbbox($fontSize, 0, $font, $text);
+
+ $x = ($size - ($box[2] - $box[0])) / 2;
+ $y = ($size - ($box[1] - $box[7])) / 2;
+ $x += 1;
+ $y -= $box[7];
+ imagettftext($im, $fontSize, 0, $x, $y, $white, $font, $text);
+
+ ob_start();
+ imagepng($im);
+ $data = ob_get_contents();
+ ob_end_clean();
+
+ return $data;
+ }
+
+ /**
+ * @param int $r
+ * @param int $g
+ * @param int $b
+ * @return double[] Array containing h s l in [0, 1] range
+ */
+ private function rgbToHsl($r, $g, $b) {
+ $r /= 255.0;
+ $g /= 255.0;
+ $b /= 255.0;
+
+ $max = max($r, $g, $b);
+ $min = min($r, $g, $b);
+
+
+ $h = ($max + $min) / 2.0;
+ $l = ($max + $min) / 2.0;
+
+ if($max === $min) {
+ $h = $s = 0; // Achromatic
+ } else {
+ $d = $max - $min;
+ $s = $l > 0.5 ? $d / (2 - $max - $min) : $d / ($max + $min);
+ switch($max) {
+ case $r:
+ $h = ($g - $b) / $d + ($g < $b ? 6 : 0);
+ break;
+ case $g:
+ $h = ($b - $r) / $d + 2.0;
+ break;
+ case $b:
+ $h = ($r - $g) / $d + 4.0;
+ break;
+ }
+ $h /= 6.0;
+ }
+ return [$h, $s, $l];
+
+ }
+
+ /**
+ * @param string $text
+ * @return int[] Array containting r g b in the range [0, 255]
+ */
+ private function avatarBackgroundColor($text) {
+ $hash = preg_replace('/[^0-9a-f]+/', '', $text);
+
+ $hash = md5($hash);
+ $hashChars = str_split($hash);
+
+
+ // Init vars
+ $result = ['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0'];
+ $rgb = [0, 0, 0];
+ $sat = 0.70;
+ $lum = 0.68;
+ $modulo = 16;
+
+
+ // Splitting evenly the string
+ foreach($hashChars as $i => $char) {
+ $result[$i % $modulo] .= intval($char, 16);
+ }
+
+ // Converting our data into a usable rgb format
+ // Start at 1 because 16%3=1 but 15%3=0 and makes the repartition even
+ for($count = 1; $count < $modulo; $count++) {
+ $rgb[$count%3] += (int)$result[$count];
+ }
+
+ // Reduce values bigger than rgb requirements
+ $rgb[0] %= 255;
+ $rgb[1] %= 255;
+ $rgb[2] %= 255;
+
+ $hsl = $this->rgbToHsl($rgb[0], $rgb[1], $rgb[2]);
+
+ // Classic formula to check the brightness for our eye
+ // If too bright, lower the sat
+ $bright = sqrt(0.299 * ($rgb[0] ** 2) + 0.587 * ($rgb[1] ** 2) + 0.114 * ($rgb[2] ** 2));
+ if ($bright >= 200) {
+ $sat = 0.60;
+ }
+
+ return $this->hslToRgb($hsl[0], $sat, $lum);
+ }
+
+ /**
+ * @param double $h Hue in range [0, 1]
+ * @param double $s Saturation in range [0, 1]
+ * @param double $l Lightness in range [0, 1]
+ * @return int[] Array containing r g b in the range [0, 255]
+ */
+ private function hslToRgb($h, $s, $l){
+ $hue2rgb = function ($p, $q, $t){
+ if($t < 0) {
+ $t += 1;
+ }
+ if($t > 1) {
+ $t -= 1;
+ }
+ if($t < 1/6) {
+ return $p + ($q - $p) * 6 * $t;
+ }
+ if($t < 1/2) {
+ return $q;
+ }
+ if($t < 2/3) {
+ return $p + ($q - $p) * (2/3 - $t) * 6;
+ }
+ return $p;
+ };
+
+ if($s === 0){
+ $r = $l;
+ $g = $l;
+ $b = $l; // achromatic
+ }else{
+ $q = $l < 0.5 ? $l * (1 + $s) : $l + $s - $l * $s;
+ $p = 2 * $l - $q;
+ $r = $hue2rgb($p, $q, $h + 1/3);
+ $g = $hue2rgb($p, $q, $h);
+ $b = $hue2rgb($p, $q, $h - 1/3);
+ }
+
+ return array(round($r * 255), round($g * 255), round($b * 255));
+ }
+
}
diff --git a/lib/private/TemplateLayout.php b/lib/private/TemplateLayout.php
index 4d49522be78..f0f1378a052 100644
--- a/lib/private/TemplateLayout.php
+++ b/lib/private/TemplateLayout.php
@@ -90,7 +90,7 @@ class TemplateLayout extends \OC_Template {
break;
}
}
-
+
foreach($settingsNavigation as $entry) {
if ($entry['active']) {
$this->assign( 'application', $entry['name'] );
@@ -125,7 +125,7 @@ class TemplateLayout extends \OC_Template {
if (empty(self::$versionHash)) {
$v = \OC_App::getAppVersions();
$v['core'] = implode('.', \OCP\Util::getVersion());
- self::$versionHash = md5(implode(',', $v));
+ self::$versionHash = substr(md5(implode(',', $v)), 0, 8);
}
} else {
self::$versionHash = md5('not installed');
@@ -188,16 +188,40 @@ class TemplateLayout extends \OC_Template {
if (substr($file, -strlen('print.css')) === 'print.css') {
$this->append( 'printcssfiles', $web.'/'.$file . $this->getVersionHashSuffix() );
} else {
- $this->append( 'cssfiles', $web.'/'.$file . $this->getVersionHashSuffix() );
+ $this->append( 'cssfiles', $web.'/'.$file . $this->getVersionHashSuffix($web, $file) );
}
}
}
- protected function getVersionHashSuffix() {
- if(\OC::$server->getConfig()->getSystemValue('debug', false)) {
+ /**
+ * @param string $path
+ * @param string $file
+ * @return string
+ */
+ protected function getVersionHashSuffix($path = false, $file = false) {
+ if (\OC::$server->getConfig()->getSystemValue('debug', false)) {
// allows chrome workspace mapping in debug mode
return "";
}
+ $v = \OC_App::getAppVersions();
+
+ // Try the webroot path for a match
+ if ($path !== false && $path !== '') {
+ $appName = $this->getAppNamefromPath($path);
+ if(array_key_exists($appName, $v)) {
+ $appVersion = $v[$appName];
+ return '?v=' . substr(md5($appVersion), 0, 8) . '-' . $this->config->getAppValue('theming', 'cachebuster', '0');
+ }
+ }
+ // fallback to the file path instead
+ if ($file !== false && $file !== '') {
+ $appName = $this->getAppNamefromPath($file);
+ if(array_key_exists($appName, $v)) {
+ $appVersion = $v[$appName];
+ return '?v=' . substr(md5($appVersion), 0, 8) . '-' . $this->config->getAppValue('theming', 'cachebuster', '0');
+ }
+ }
+
if ($this->config->getSystemValue('installed', false) && \OC::$server->getAppManager()->isInstalled('theming')) {
return '?v=' . self::$versionHash . '-' . $this->config->getAppValue('theming', 'cachebuster', '0');
}
@@ -230,6 +254,23 @@ class TemplateLayout extends \OC_Template {
}
/**
+ * @param string $path
+ * @return string|boolean
+ */
+ public function getAppNamefromPath($path) {
+ if ($path !== '' && is_string($path)) {
+ $pathParts = explode('/', $path);
+ if ($pathParts[0] === 'css') {
+ // This is a scss request
+ return $pathParts[1];
+ }
+ return end($pathParts);
+ }
+ return false;
+
+ }
+
+ /**
* @param array $scripts
* @return array
*/
diff --git a/lib/private/legacy/util.php b/lib/private/legacy/util.php
index 2fc6ba52d4e..5cc83c0c304 100644
--- a/lib/private/legacy/util.php
+++ b/lib/private/legacy/util.php
@@ -379,7 +379,23 @@ class OC_Util {
*/
public static function copySkeleton($userId, \OCP\Files\Folder $userDirectory) {
- $skeletonDirectory = \OC::$server->getConfig()->getSystemValue('skeletondirectory', \OC::$SERVERROOT . '/core/skeleton');
+ $plainSkeletonDirectory = \OC::$server->getConfig()->getSystemValue('skeletondirectory', \OC::$SERVERROOT . '/core/skeleton');
+ $userLang = \OC::$server->getL10NFactory()->findLanguage();
+ $skeletonDirectory = str_replace('{lang}', $userLang, $plainSkeletonDirectory);
+
+ if (!file_exists($skeletonDirectory)) {
+ $dialectStart = strpos($userLang, '_');
+ if ($dialectStart !== false) {
+ $skeletonDirectory = str_replace('{lang}', substr($userLang, 0, $dialectStart), $plainSkeletonDirectory);
+ }
+ if ($dialectStart === false || !file_exists($skeletonDirectory)) {
+ $skeletonDirectory = str_replace('{lang}', 'default', $plainSkeletonDirectory);
+ }
+ if (!file_exists($skeletonDirectory)) {
+ $skeletonDirectory = '';
+ }
+ }
+
$instanceId = \OC::$server->getConfig()->getSystemValue('instanceid', '');
if ($instanceId === null) {
diff --git a/settings/Controller/CheckSetupController.php b/settings/Controller/CheckSetupController.php
index ccaaaeaf601..5b7953bf392 100644
--- a/settings/Controller/CheckSetupController.php
+++ b/settings/Controller/CheckSetupController.php
@@ -238,7 +238,7 @@ class CheckSetupController extends Controller {
* @return bool
*/
protected function isPhpOutdated() {
- if (version_compare(PHP_VERSION, '5.5.0') === -1) {
+ if (version_compare(PHP_VERSION, '7.0.0', '<')) {
return true;
}
diff --git a/settings/l10n/et_EE.js b/settings/l10n/et_EE.js
index a6ef5991e70..085612dafac 100644
--- a/settings/l10n/et_EE.js
+++ b/settings/l10n/et_EE.js
@@ -8,6 +8,8 @@ OC.L10N.register(
"You changed your email address" : "Sa muutsid oma e-posti aadressi",
"Your email address was changed by an administrator" : "Administraator muutis sinu e-posti aadressi",
"Security" : "Turvalisus",
+ "Your <strong>password</strong> or <strong>email</strong> was modified" : "Sinu <strong>parooli</strong> või <strong>e-posti aadressi</strong> muudeti",
+ "Your apps" : "Sinu rakendused",
"Updates" : "Uuendused",
"Enabled apps" : "Lubatud rakendused",
"Disabled apps" : "Keelatud rakendused",
@@ -18,19 +20,27 @@ OC.L10N.register(
"Unable to change password" : "Ei suuda parooli muuta",
"Authentication error" : "Autentimise viga",
"Wrong admin recovery password. Please check the password and try again." : "Vale administraatori taasteparool. Palun kontrolli parooli ning proovi uuesti.",
+ "installing and updating apps via the app store or Federated Cloud Sharing" : "Paigaldan ja uuendan rakendusi läbi rakenduste poe või liitpilve jagamise",
+ "Federated Cloud Sharing" : "Jagamine liitpilves",
+ "A problem occurred, please check your log files (Error: %s)" : "Ilmnes viga, palun kontrollige logifaile. (Viga: %s)",
"Migration Completed" : "Kolimine on lõpetatud",
"Group already exists." : "Grupp on juba olemas.",
"Unable to add group." : "Gruppi lisamine ebaõnnestus.",
"Unable to delete group." : "Grupi kustutamineebaõnnestus.",
"Invalid SMTP password." : "Vale SMTP parool.",
"Email setting test" : "E-posti sätete kontroll",
+ "Well done, %s!" : "Suurepärane, %s!",
+ "If you received this email, the email configuration seems to be correct." : "Kui saite selle kirja, näib e-posti seadistus õige.",
"Email could not be sent. Check your mail server log" : "E-posti ei saanud saata. Kontrollige oma meiliserveri logi",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "E-posti saatmisel ilmnes viga. Palun kontrollige seadeid. (Viga: %s)",
"You need to set your user email before being able to send test emails." : "Pead seadistama oma e-postienne kui on võimalik saata test-kirju.",
"Invalid mail address" : "Vigane e-posti aadress",
"A user with that name already exists." : "Selle nimega kasutaja on juba olemas.",
+ "To send a password link to the user an email address is required." : "Kasutajale parooli saatmiseks on vaja e-posti aadressi.",
"Unable to create user." : "Kasutaja loomine ebaõnnestus.",
"Unable to delete user." : "Kasutaja kustutamine ebaõnnestus.",
+ "Error while enabling user." : "Viga kasutaja lubamisel.",
+ "Error while disabling user." : "Viga kasutaja keelamisel.",
"Settings saved" : "Seaded salvestatud",
"Unable to change full name" : "Täispika nime muutmine ebaõnnestus",
"Unable to change email address" : "E-posti aadressi muutmine ebaõnnestus",
@@ -39,30 +49,70 @@ OC.L10N.register(
"Invalid user" : "Vigane kasutaja",
"Unable to change mail address" : "E-posti aadressi muutmine ebaõnnestus",
"Email saved" : "Kiri on salvestatud",
+ "Your password on %s was changed." : "Sinu %s parool muudeti.",
+ "Your password on %s was reset by an administrator." : "Administraator lähtestas sinu %s parooli.",
+ "If you did not request this, please contact an administrator." : "Kui sa pole seda taotlenud, võta ühendust administraatoriga.",
+ "Your email address on %s was changed." : "Sinu %s e-posti aadressi muudeti.",
+ "Your email address on %s was changed by an administrator." : "Administraator muutis sinu %s e-posti aadressi.",
"Your %s account was created" : "Sinu %s konto on loodud",
+ "Welcome aboard" : "Tere tulemast",
+ "Welcome aboard %s" : "Tere tulemast %s",
+ "Your username is: %s" : "Sinu kasutajanimi on: %s",
+ "Set your password" : "Määra oma parool",
+ "Go to %s" : "Mine %s",
+ "Install Client" : "Paigalda kliendiprogramm",
+ "Password confirmation is required" : "Parooli kinnitus on vajalik",
"Couldn't remove app." : "Ei suutnud rakendit eemaldada.",
"Couldn't update app." : "Rakenduse uuendamine ebaõnnestus.",
"Add trusted domain" : "Lis ausaldusväärne domeen",
"Migration in progress. Please wait until the migration is finished" : "Kolimine on käimas. Palun oota, kuni see on lõpetatud",
"Migration started …" : "Kolimist on alustatud ...",
"Not saved" : "Ei ole salvestatud",
+ "Sending…" : "Saadan...",
"Email sent" : "E-kiri on saadetud",
"Official" : "Ametlik",
"All" : "Kõik",
"Update to %s" : "Uuenda versioonile %s",
"No apps found for your version" : "Sinu versiooni jaoks ei leitud ühtegi rakendust",
+ "Disabling app …" : "Keelan rakendust ...",
"Error while disabling app" : "Viga rakenduse keelamisel",
"Disable" : "Lülita välja",
"Enable" : "Lülita sisse",
+ "Enabling app …" : "Luban rakendust ...",
"Error while enabling app" : "Viga rakenduse lubamisel",
+ "No app updates available" : "Rakenduse uuendusi pole saadaval",
"Updating...." : "Uuendamine...",
"Error while updating app" : "Viga rakenduse uuendamisel",
"Updated" : "Uuendatud",
+ "Removing …" : "Eemaldan ...",
+ "Error while removing app" : "Viga rakenduse eemaldamisel",
+ "Remove" : "Eemalda",
+ "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 uuendamise lehele 5 sekundi pärast.",
"App update" : "Rakenduse uuendus",
"Approved" : "Heaks kiidetud",
"Experimental" : "Katsetusjärgus",
+ "Enable all" : "Luba kõik",
+ "Allow filesystem access" : "Luba juurdepääs failisüsteemile",
+ "Disconnect" : "Ühenda lahti",
+ "Revoke" : "Tühista",
+ "This session" : "See sessioon",
+ "Copy" : "Kopeeri",
+ "Copied!" : "Kopeeritud!",
+ "Not supported!" : "Pole toetatud!",
+ "Press ⌘-C to copy." : "Kopeerimiseks vajuta ⌘ + C.",
+ "Press Ctrl-C to copy." : "Kopeerimiseks vajuta Ctrl + C.",
"Valid until {date}" : "Kehtib kuni {date}",
"Delete" : "Kustuta",
+ "Local" : "Kohalik",
+ "Private" : "Privaatne",
+ "Only visible to local users" : "Ainult nähtav kohalikele kasutajatele",
+ "Only visible to you" : "Ainult sinule nähtav",
+ "Contacts" : "Kontaktid",
+ "Visible to local users and to trusted servers" : "Nähtav kohelikele kasutajatele ja usaldatud serveritele",
+ "Public" : "Avalik",
+ "Verify" : "Kontrolli",
+ "Verifying …" : "Kontrollin ...",
+ "An error occured while changing your language. Please reload the page and try again." : "Keele vahetamisel ilmnes viga. Palun taasilaadi leht ja proovi uuesti.",
"Select a profile picture" : "Vali profiili pilt",
"Very weak password" : "Väga nõrk parool",
"Weak password" : "Nõrk parool",
@@ -71,30 +121,46 @@ OC.L10N.register(
"Strong password" : "Väga hea parool",
"Groups" : "Grupid",
"Unable to delete {objName}" : "Ei suuda kustutada {objName}",
+ "Error creating group: {message}" : "Tõrge grupi loomisel: {message}",
"A valid group name must be provided" : "Sisesta nõuetele vastav grupi nimi",
"deleted {groupName}" : "kustutatud {groupName}",
"undo" : "tagasi",
+ "{size} used" : "{size} kasutatud",
"never" : "mitte kunagi",
"deleted {userName}" : "kustutatud {userName}",
+ "Unable to add user to group {group}" : "Kasutajat ei saa lisada gruppi {group}",
+ "Unable to remove user from group {group}" : "Kasutajat ei saa eemaldada grupist {group}",
+ "Add group" : "Lisa grupp",
+ "Invalid quota value \"{val}\"" : "Vigane mahupiiri väärtus \"{val}\"",
+ "Password successfully changed" : "Parool edukalt vahetatud",
+ "Changing the password will result in data loss, because data recovery is not available for this user" : "Parooli vahetamine toob kaasa andmekao, sest selle kasutaja andmete taastamine pole võimalik",
+ "Could not change the users email" : "Kasutaja e-posti muutmine ebaõnnestus",
+ "Error while changing status of {user}" : "Kasutaja {user} staatuse muutmine ebaõnnestus",
"A valid username must be provided" : "Sisesta nõuetele vastav kasutajatunnus",
+ "Error creating user: {message}" : "Kasutaja loomine ebaõnnestus: {message}",
"A valid password must be provided" : "Sisesta nõuetele vastav parool",
"A valid email must be provided" : "Sisesta kehtiv e-posti aadress",
"Developer documentation" : "Arendaja dokumentatsioon",
+ "Limit to groups" : "Luba gruppidele",
"Documentation:" : "Dokumentatsioon:",
"User documentation" : "Kasutaja dokumentatsioon",
"Admin documentation" : "Administraatori dokumentatsioon",
+ "Visit website" : "Külasta veebisaiti",
+ "Report a bug" : "Teata veast",
"Show description …" : "Näita kirjeldist ...",
"Hide description …" : "Peida kirjeldus ...",
+ "This app has an update available." : "Sellel rakendusel on uuendus saadaval",
"Enable only for specific groups" : "Luba ainult kindlad grupid",
"SSL Root Certificates" : "SLL Juur sertifikaadid",
"Common Name" : "Üldnimetus",
"Valid until" : "Kehtib kuni",
- "Issued By" : "isas",
+ "Issued By" : "Välja antud",
"Valid until %s" : "Kehtib kuni %s",
"Import root certificate" : "Impordi root sertifikaat",
"Administrator documentation" : "Administraatori dokumentatsioon",
"Online documentation" : "Võrgus olev dokumentatsioon",
"Forum" : "Foorum",
+ "Getting help" : "Abi saamine",
"Commercial support" : "Tasuline kasutajatugi",
"None" : "Pole",
"Login" : "Logi sisse",
@@ -131,33 +197,51 @@ OC.L10N.register(
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php tuleb käivitada süsteemikasutaja \"%s\" poolt.",
"Version" : "Versioon",
"Sharing" : "Jagamine",
+ "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Administraatorina saate jagamise valikuid täpselt seadistada. Lisateavet leiad dokumentatsioonist.",
"Allow apps to use the Share API" : "Luba rakendustel kasutada Share API-t",
"Allow users to share via link" : "Luba kasutajatel lingiga jagamist ",
"Allow public uploads" : "Luba avalikud üleslaadimised",
- "Enforce password protection" : "Sunni parooliga kaitsmist",
+ "Always ask for a password" : "Alati küsi parooli",
+ "Enforce password protection" : "Sunni parooliga kaitsmine",
"Set default expiration date" : "Määra vaikimisi aegumise kuupäev",
"Expire after " : "Aegu pärast",
"days" : "päeva",
"Enforce expiration date" : "Sunnitud aegumise kuupäev",
"Allow resharing" : "Luba edasijagamine",
+ "Allow sharing with groups" : "Luba gruppidega jagamine",
"Restrict users to only share with users in their groups" : "Luba kasutajatel jagada kasutajatega ainult oma grupi piires",
"Exclude groups from sharing" : "Eemalda grupid jagamisest",
"These groups will still be able to receive shares, but not to initiate them." : "Need grupid saavad vastu võtta jagamisi, kuid ise jagamisi algatada ei saa.",
+ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Luba kasutajanime automaatne lõpetamine jagamisdialoogis. Kui see on keelatud, tuleb sisestada täielik kasutajanimi või e-posti aadress.",
+ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Kuva avaliku lingiga üleslaadimise lehel lahtiütluste tekst. (Kuvatakse ainult siis, kui failide loend on peidetud.)",
+ "This text will be shown on the public link upload page when the file list is hidden." : "Seda teksti näidatakse avaliku lingiga üleslaadimise lehel kui failide loend on peidetud.",
"Tips & tricks" : "Nõuanded ja trikid",
"How to do backups" : "Kuidas teha varukoopiaid",
- "Advanced monitoring" : "Edasijõudnud monitooring",
+ "Advanced monitoring" : "Täpsem monitooring",
"Performance tuning" : "Kiiruse seadistamine",
"Improving the config.php" : "config.php faili täiendamine",
"Theming" : "Teemad",
+ "Personal" : "Isiklik",
+ "Administration" : "Haldus",
"Profile picture" : "Profiili pilt",
"Upload new" : "Laadi uus üles",
+ "Select from Files" : "Vali failidest",
"Remove image" : "Eemalda pilt",
+ "png or jpg, max. 20 MB" : "png või jpg, max. 20 MB",
"Cancel" : "Loobu",
+ "Choose as profile picture" : "Vali kui profiili pilt",
"Full name" : "Täielik nimi",
"No display name set" : "Näidatavat nime pole veel määratud",
"Email" : "E-post",
"Your email address" : "Sinu e-posti aadress",
"No email address set" : "E-posti aadressi pole veel määratud",
+ "For password reset and notifications" : "Parooli lähestamiseks ja teadeteks",
+ "Phone number" : "Telefoninumber",
+ "Your phone number" : "Sinu telefoninumber",
+ "Address" : "Aadress",
+ "Your postal address" : "Sinu postiaadress",
+ "Website" : "Veebileht",
+ "It can take up to 24 hours before the account is displayed as verified." : "Võib võtta kuni 24 tundi enne kui konto kuvatakse kui kinnitatud.",
"You are member of the following groups:" : "Sa oled nende gruppide liige:",
"Language" : "Keel",
"Help translate" : "Aita tõlkida",
@@ -165,21 +249,35 @@ OC.L10N.register(
"Current password" : "Praegune parool",
"New password" : "Uus parool",
"Change password" : "Muuda parooli",
+ "Web, desktop and mobile clients currently logged in to your account." : "Sinu kontole hetkel sisse loginud veebi-, töölaua-, ja mobiilsed kliendid.",
+ "Device" : "Seade",
+ "Last activity" : "Viimane tegevus",
+ "App name" : "Rakenduse nimi",
+ "Create new app password" : "Loo uus rakenduse parool",
+ "Use the credentials below to configure your app or device." : "Rakenduse või seadme konfigureerimiseks kasutage allpool toodud mandaate.",
+ "For security reasons this password will only be shown once." : "Turvalisuse huvides kuvatakse see parool ainult üks kord.",
"Username" : "Kasutajanimi",
"Done" : "Valmis",
+ "Settings" : "Seaded",
"Show storage location" : "Näita salvestusruumi asukohta",
+ "Show last login" : "Näita viimast sisselogimist",
"Show email address" : "Näita e-posti aadressi",
"Send email to new user" : "Saada uuele kasutajale e-kiri",
+ "When the password of a new user is left empty, an activation email with a link to set the password is sent." : "Kui uue kasutaja parool jäetakse määramata, saadetakse aktiveerimise kiri lingiga parooli määramiseks.",
"E-Mail" : "E-post",
"Create" : "Lisa",
"Admin Recovery Password" : "Admini parooli taastamine",
"Enter the recovery password in order to recover the users files during password change" : "Sisesta taasteparool kasutaja failide taastamiseks paroolivahetuse käigus",
"Everyone" : "Igaüks",
"Admins" : "Haldurid",
+ "Disabled" : "Keelatud",
+ "Default quota" : "Vaikimisi mahupiir",
"Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Palun sisesta mahupiir (nt: \"512 MB\" või \"12 GB\")",
"Unlimited" : "Piiramatult",
"Other" : "Muu",
+ "Group admin for" : "Grupi admin",
"Quota" : "Mahupiir",
+ "Last login" : "Viimane sisselogimine",
"change full name" : "Muuda täispikka nime",
"set new password" : "määra uus parool",
"change email address" : "muuda e-posti aadressi",
@@ -198,7 +296,9 @@ OC.L10N.register(
"Uninstall" : "Eemalda",
"__language_name__" : "Eesti",
"Personal info" : "Isiklik info",
- "Sync clients" : "Klientide sünkroniseerimine",
+ "Sessions" : "Sessioonid",
+ "App passwords" : "Rakenuse paroolid",
+ "Sync clients" : "Kliendiprogrammid",
"This is used for sending out notifications." : "Seda kasutatakse teadete välja saatmiseks.",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP on seadistatud eemaldama \"inline\" dokumendi blokke. See muudab mõned rakendid kasutamatuteks.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP moodul 'fileinfo' puudub. Soovitame tungivalt see lisada saavutamaks parimaid tulemusi failitüüpide tuvastamisel.",
@@ -209,13 +309,24 @@ OC.L10N.register(
"Cron was not executed yet!" : "Cron pole kordagi käivitatud!",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php on registreeritud webcron teenuses, et käivitada fail cron.php iga 15 minuti tagant üle http.",
"Use system's cron service to call the cron.php file every 15 minutes." : "Kasuta süsteemi cron teenust, et käivitada fail cron.php iga 15 minuti järel.",
+ "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Luba kasutajanime automaatne lõpetamine jagamisdialoogis. Kui see on keelatud, tuleb sisestada täielik kasutajanimi.",
+ "Uninstall app" : "Eemalda rakendus",
+ "Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Tervist!, <br><br>anname teada, et sul on nüüd %s konto. <br><br>Sinu kasutajanimi: <strong>%s</strong><br>Juurdepääs sellele: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Terekest!",
+ "Hey there,\n\njust letting you know that you now have a %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Tervist,\n\nanname teada, et sul on nüüd %s konto.\n\nSinu kasutajanimi: %s\nJuurdepääs sellele: %s\n\n",
+ "For password recovery and notifications" : "Parooli taastamiseks ja teadeteks",
+ "Your website" : "Sinu veebileht",
"Get the apps to sync your files" : "Hangi rakendusi failide sünkroniseerimiseks",
"Desktop client" : "Töölaua klient",
"Android app" : "Androidi rakendus",
"iOS app" : "iOS-i rakendus",
"Show First Run Wizard again" : "Näita veelkord Esmase Käivituse Juhendajat",
+ "Passcodes that give an app or device permissions to access your account." : "Pääsukoodid, mis annavad rakendusele või seadmele õigused sinu kontole juurdepääsuks.",
"Name" : "Nimi",
- "Show last log in" : "Viimane sisselogimine"
+ "Show last log in" : "Viimane sisselogimine",
+ "Group name" : "Grupi nimi",
+ "Verifying" : "Kontrollin",
+ "Web, desktop, mobile clients and app specific passwords that currently have access to your account." : "Veebi-, töölaua-, mobiilsed kliendid ja rakenduste pääsukoodid millel on ligipääs sinu kontole.",
+ "Here you can generate individual passwords for apps so you don’t have to give out your password. You can revoke them individually too." : "Siin saad luua rakendustele individuaalseid paroole, nii et sa ei pea oma parooli välja andma. Saad neid ka individuaalselt tühistada."
},
"nplurals=2; plural=(n != 1);");
diff --git a/settings/l10n/et_EE.json b/settings/l10n/et_EE.json
index 768f6ee1473..079a16df360 100644
--- a/settings/l10n/et_EE.json
+++ b/settings/l10n/et_EE.json
@@ -6,6 +6,8 @@
"You changed your email address" : "Sa muutsid oma e-posti aadressi",
"Your email address was changed by an administrator" : "Administraator muutis sinu e-posti aadressi",
"Security" : "Turvalisus",
+ "Your <strong>password</strong> or <strong>email</strong> was modified" : "Sinu <strong>parooli</strong> või <strong>e-posti aadressi</strong> muudeti",
+ "Your apps" : "Sinu rakendused",
"Updates" : "Uuendused",
"Enabled apps" : "Lubatud rakendused",
"Disabled apps" : "Keelatud rakendused",
@@ -16,19 +18,27 @@
"Unable to change password" : "Ei suuda parooli muuta",
"Authentication error" : "Autentimise viga",
"Wrong admin recovery password. Please check the password and try again." : "Vale administraatori taasteparool. Palun kontrolli parooli ning proovi uuesti.",
+ "installing and updating apps via the app store or Federated Cloud Sharing" : "Paigaldan ja uuendan rakendusi läbi rakenduste poe või liitpilve jagamise",
+ "Federated Cloud Sharing" : "Jagamine liitpilves",
+ "A problem occurred, please check your log files (Error: %s)" : "Ilmnes viga, palun kontrollige logifaile. (Viga: %s)",
"Migration Completed" : "Kolimine on lõpetatud",
"Group already exists." : "Grupp on juba olemas.",
"Unable to add group." : "Gruppi lisamine ebaõnnestus.",
"Unable to delete group." : "Grupi kustutamineebaõnnestus.",
"Invalid SMTP password." : "Vale SMTP parool.",
"Email setting test" : "E-posti sätete kontroll",
+ "Well done, %s!" : "Suurepärane, %s!",
+ "If you received this email, the email configuration seems to be correct." : "Kui saite selle kirja, näib e-posti seadistus õige.",
"Email could not be sent. Check your mail server log" : "E-posti ei saanud saata. Kontrollige oma meiliserveri logi",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "E-posti saatmisel ilmnes viga. Palun kontrollige seadeid. (Viga: %s)",
"You need to set your user email before being able to send test emails." : "Pead seadistama oma e-postienne kui on võimalik saata test-kirju.",
"Invalid mail address" : "Vigane e-posti aadress",
"A user with that name already exists." : "Selle nimega kasutaja on juba olemas.",
+ "To send a password link to the user an email address is required." : "Kasutajale parooli saatmiseks on vaja e-posti aadressi.",
"Unable to create user." : "Kasutaja loomine ebaõnnestus.",
"Unable to delete user." : "Kasutaja kustutamine ebaõnnestus.",
+ "Error while enabling user." : "Viga kasutaja lubamisel.",
+ "Error while disabling user." : "Viga kasutaja keelamisel.",
"Settings saved" : "Seaded salvestatud",
"Unable to change full name" : "Täispika nime muutmine ebaõnnestus",
"Unable to change email address" : "E-posti aadressi muutmine ebaõnnestus",
@@ -37,30 +47,70 @@
"Invalid user" : "Vigane kasutaja",
"Unable to change mail address" : "E-posti aadressi muutmine ebaõnnestus",
"Email saved" : "Kiri on salvestatud",
+ "Your password on %s was changed." : "Sinu %s parool muudeti.",
+ "Your password on %s was reset by an administrator." : "Administraator lähtestas sinu %s parooli.",
+ "If you did not request this, please contact an administrator." : "Kui sa pole seda taotlenud, võta ühendust administraatoriga.",
+ "Your email address on %s was changed." : "Sinu %s e-posti aadressi muudeti.",
+ "Your email address on %s was changed by an administrator." : "Administraator muutis sinu %s e-posti aadressi.",
"Your %s account was created" : "Sinu %s konto on loodud",
+ "Welcome aboard" : "Tere tulemast",
+ "Welcome aboard %s" : "Tere tulemast %s",
+ "Your username is: %s" : "Sinu kasutajanimi on: %s",
+ "Set your password" : "Määra oma parool",
+ "Go to %s" : "Mine %s",
+ "Install Client" : "Paigalda kliendiprogramm",
+ "Password confirmation is required" : "Parooli kinnitus on vajalik",
"Couldn't remove app." : "Ei suutnud rakendit eemaldada.",
"Couldn't update app." : "Rakenduse uuendamine ebaõnnestus.",
"Add trusted domain" : "Lis ausaldusväärne domeen",
"Migration in progress. Please wait until the migration is finished" : "Kolimine on käimas. Palun oota, kuni see on lõpetatud",
"Migration started …" : "Kolimist on alustatud ...",
"Not saved" : "Ei ole salvestatud",
+ "Sending…" : "Saadan...",
"Email sent" : "E-kiri on saadetud",
"Official" : "Ametlik",
"All" : "Kõik",
"Update to %s" : "Uuenda versioonile %s",
"No apps found for your version" : "Sinu versiooni jaoks ei leitud ühtegi rakendust",
+ "Disabling app …" : "Keelan rakendust ...",
"Error while disabling app" : "Viga rakenduse keelamisel",
"Disable" : "Lülita välja",
"Enable" : "Lülita sisse",
+ "Enabling app …" : "Luban rakendust ...",
"Error while enabling app" : "Viga rakenduse lubamisel",
+ "No app updates available" : "Rakenduse uuendusi pole saadaval",
"Updating...." : "Uuendamine...",
"Error while updating app" : "Viga rakenduse uuendamisel",
"Updated" : "Uuendatud",
+ "Removing …" : "Eemaldan ...",
+ "Error while removing app" : "Viga rakenduse eemaldamisel",
+ "Remove" : "Eemalda",
+ "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 uuendamise lehele 5 sekundi pärast.",
"App update" : "Rakenduse uuendus",
"Approved" : "Heaks kiidetud",
"Experimental" : "Katsetusjärgus",
+ "Enable all" : "Luba kõik",
+ "Allow filesystem access" : "Luba juurdepääs failisüsteemile",
+ "Disconnect" : "Ühenda lahti",
+ "Revoke" : "Tühista",
+ "This session" : "See sessioon",
+ "Copy" : "Kopeeri",
+ "Copied!" : "Kopeeritud!",
+ "Not supported!" : "Pole toetatud!",
+ "Press ⌘-C to copy." : "Kopeerimiseks vajuta ⌘ + C.",
+ "Press Ctrl-C to copy." : "Kopeerimiseks vajuta Ctrl + C.",
"Valid until {date}" : "Kehtib kuni {date}",
"Delete" : "Kustuta",
+ "Local" : "Kohalik",
+ "Private" : "Privaatne",
+ "Only visible to local users" : "Ainult nähtav kohalikele kasutajatele",
+ "Only visible to you" : "Ainult sinule nähtav",
+ "Contacts" : "Kontaktid",
+ "Visible to local users and to trusted servers" : "Nähtav kohelikele kasutajatele ja usaldatud serveritele",
+ "Public" : "Avalik",
+ "Verify" : "Kontrolli",
+ "Verifying …" : "Kontrollin ...",
+ "An error occured while changing your language. Please reload the page and try again." : "Keele vahetamisel ilmnes viga. Palun taasilaadi leht ja proovi uuesti.",
"Select a profile picture" : "Vali profiili pilt",
"Very weak password" : "Väga nõrk parool",
"Weak password" : "Nõrk parool",
@@ -69,30 +119,46 @@
"Strong password" : "Väga hea parool",
"Groups" : "Grupid",
"Unable to delete {objName}" : "Ei suuda kustutada {objName}",
+ "Error creating group: {message}" : "Tõrge grupi loomisel: {message}",
"A valid group name must be provided" : "Sisesta nõuetele vastav grupi nimi",
"deleted {groupName}" : "kustutatud {groupName}",
"undo" : "tagasi",
+ "{size} used" : "{size} kasutatud",
"never" : "mitte kunagi",
"deleted {userName}" : "kustutatud {userName}",
+ "Unable to add user to group {group}" : "Kasutajat ei saa lisada gruppi {group}",
+ "Unable to remove user from group {group}" : "Kasutajat ei saa eemaldada grupist {group}",
+ "Add group" : "Lisa grupp",
+ "Invalid quota value \"{val}\"" : "Vigane mahupiiri väärtus \"{val}\"",
+ "Password successfully changed" : "Parool edukalt vahetatud",
+ "Changing the password will result in data loss, because data recovery is not available for this user" : "Parooli vahetamine toob kaasa andmekao, sest selle kasutaja andmete taastamine pole võimalik",
+ "Could not change the users email" : "Kasutaja e-posti muutmine ebaõnnestus",
+ "Error while changing status of {user}" : "Kasutaja {user} staatuse muutmine ebaõnnestus",
"A valid username must be provided" : "Sisesta nõuetele vastav kasutajatunnus",
+ "Error creating user: {message}" : "Kasutaja loomine ebaõnnestus: {message}",
"A valid password must be provided" : "Sisesta nõuetele vastav parool",
"A valid email must be provided" : "Sisesta kehtiv e-posti aadress",
"Developer documentation" : "Arendaja dokumentatsioon",
+ "Limit to groups" : "Luba gruppidele",
"Documentation:" : "Dokumentatsioon:",
"User documentation" : "Kasutaja dokumentatsioon",
"Admin documentation" : "Administraatori dokumentatsioon",
+ "Visit website" : "Külasta veebisaiti",
+ "Report a bug" : "Teata veast",
"Show description …" : "Näita kirjeldist ...",
"Hide description …" : "Peida kirjeldus ...",
+ "This app has an update available." : "Sellel rakendusel on uuendus saadaval",
"Enable only for specific groups" : "Luba ainult kindlad grupid",
"SSL Root Certificates" : "SLL Juur sertifikaadid",
"Common Name" : "Üldnimetus",
"Valid until" : "Kehtib kuni",
- "Issued By" : "isas",
+ "Issued By" : "Välja antud",
"Valid until %s" : "Kehtib kuni %s",
"Import root certificate" : "Impordi root sertifikaat",
"Administrator documentation" : "Administraatori dokumentatsioon",
"Online documentation" : "Võrgus olev dokumentatsioon",
"Forum" : "Foorum",
+ "Getting help" : "Abi saamine",
"Commercial support" : "Tasuline kasutajatugi",
"None" : "Pole",
"Login" : "Logi sisse",
@@ -129,33 +195,51 @@
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php tuleb käivitada süsteemikasutaja \"%s\" poolt.",
"Version" : "Versioon",
"Sharing" : "Jagamine",
+ "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Administraatorina saate jagamise valikuid täpselt seadistada. Lisateavet leiad dokumentatsioonist.",
"Allow apps to use the Share API" : "Luba rakendustel kasutada Share API-t",
"Allow users to share via link" : "Luba kasutajatel lingiga jagamist ",
"Allow public uploads" : "Luba avalikud üleslaadimised",
- "Enforce password protection" : "Sunni parooliga kaitsmist",
+ "Always ask for a password" : "Alati küsi parooli",
+ "Enforce password protection" : "Sunni parooliga kaitsmine",
"Set default expiration date" : "Määra vaikimisi aegumise kuupäev",
"Expire after " : "Aegu pärast",
"days" : "päeva",
"Enforce expiration date" : "Sunnitud aegumise kuupäev",
"Allow resharing" : "Luba edasijagamine",
+ "Allow sharing with groups" : "Luba gruppidega jagamine",
"Restrict users to only share with users in their groups" : "Luba kasutajatel jagada kasutajatega ainult oma grupi piires",
"Exclude groups from sharing" : "Eemalda grupid jagamisest",
"These groups will still be able to receive shares, but not to initiate them." : "Need grupid saavad vastu võtta jagamisi, kuid ise jagamisi algatada ei saa.",
+ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Luba kasutajanime automaatne lõpetamine jagamisdialoogis. Kui see on keelatud, tuleb sisestada täielik kasutajanimi või e-posti aadress.",
+ "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Kuva avaliku lingiga üleslaadimise lehel lahtiütluste tekst. (Kuvatakse ainult siis, kui failide loend on peidetud.)",
+ "This text will be shown on the public link upload page when the file list is hidden." : "Seda teksti näidatakse avaliku lingiga üleslaadimise lehel kui failide loend on peidetud.",
"Tips & tricks" : "Nõuanded ja trikid",
"How to do backups" : "Kuidas teha varukoopiaid",
- "Advanced monitoring" : "Edasijõudnud monitooring",
+ "Advanced monitoring" : "Täpsem monitooring",
"Performance tuning" : "Kiiruse seadistamine",
"Improving the config.php" : "config.php faili täiendamine",
"Theming" : "Teemad",
+ "Personal" : "Isiklik",
+ "Administration" : "Haldus",
"Profile picture" : "Profiili pilt",
"Upload new" : "Laadi uus üles",
+ "Select from Files" : "Vali failidest",
"Remove image" : "Eemalda pilt",
+ "png or jpg, max. 20 MB" : "png või jpg, max. 20 MB",
"Cancel" : "Loobu",
+ "Choose as profile picture" : "Vali kui profiili pilt",
"Full name" : "Täielik nimi",
"No display name set" : "Näidatavat nime pole veel määratud",
"Email" : "E-post",
"Your email address" : "Sinu e-posti aadress",
"No email address set" : "E-posti aadressi pole veel määratud",
+ "For password reset and notifications" : "Parooli lähestamiseks ja teadeteks",
+ "Phone number" : "Telefoninumber",
+ "Your phone number" : "Sinu telefoninumber",
+ "Address" : "Aadress",
+ "Your postal address" : "Sinu postiaadress",
+ "Website" : "Veebileht",
+ "It can take up to 24 hours before the account is displayed as verified." : "Võib võtta kuni 24 tundi enne kui konto kuvatakse kui kinnitatud.",
"You are member of the following groups:" : "Sa oled nende gruppide liige:",
"Language" : "Keel",
"Help translate" : "Aita tõlkida",
@@ -163,21 +247,35 @@
"Current password" : "Praegune parool",
"New password" : "Uus parool",
"Change password" : "Muuda parooli",
+ "Web, desktop and mobile clients currently logged in to your account." : "Sinu kontole hetkel sisse loginud veebi-, töölaua-, ja mobiilsed kliendid.",
+ "Device" : "Seade",
+ "Last activity" : "Viimane tegevus",
+ "App name" : "Rakenduse nimi",
+ "Create new app password" : "Loo uus rakenduse parool",
+ "Use the credentials below to configure your app or device." : "Rakenduse või seadme konfigureerimiseks kasutage allpool toodud mandaate.",
+ "For security reasons this password will only be shown once." : "Turvalisuse huvides kuvatakse see parool ainult üks kord.",
"Username" : "Kasutajanimi",
"Done" : "Valmis",
+ "Settings" : "Seaded",
"Show storage location" : "Näita salvestusruumi asukohta",
+ "Show last login" : "Näita viimast sisselogimist",
"Show email address" : "Näita e-posti aadressi",
"Send email to new user" : "Saada uuele kasutajale e-kiri",
+ "When the password of a new user is left empty, an activation email with a link to set the password is sent." : "Kui uue kasutaja parool jäetakse määramata, saadetakse aktiveerimise kiri lingiga parooli määramiseks.",
"E-Mail" : "E-post",
"Create" : "Lisa",
"Admin Recovery Password" : "Admini parooli taastamine",
"Enter the recovery password in order to recover the users files during password change" : "Sisesta taasteparool kasutaja failide taastamiseks paroolivahetuse käigus",
"Everyone" : "Igaüks",
"Admins" : "Haldurid",
+ "Disabled" : "Keelatud",
+ "Default quota" : "Vaikimisi mahupiir",
"Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Palun sisesta mahupiir (nt: \"512 MB\" või \"12 GB\")",
"Unlimited" : "Piiramatult",
"Other" : "Muu",
+ "Group admin for" : "Grupi admin",
"Quota" : "Mahupiir",
+ "Last login" : "Viimane sisselogimine",
"change full name" : "Muuda täispikka nime",
"set new password" : "määra uus parool",
"change email address" : "muuda e-posti aadressi",
@@ -196,7 +294,9 @@
"Uninstall" : "Eemalda",
"__language_name__" : "Eesti",
"Personal info" : "Isiklik info",
- "Sync clients" : "Klientide sünkroniseerimine",
+ "Sessions" : "Sessioonid",
+ "App passwords" : "Rakenuse paroolid",
+ "Sync clients" : "Kliendiprogrammid",
"This is used for sending out notifications." : "Seda kasutatakse teadete välja saatmiseks.",
"PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP on seadistatud eemaldama \"inline\" dokumendi blokke. See muudab mõned rakendid kasutamatuteks.",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP moodul 'fileinfo' puudub. Soovitame tungivalt see lisada saavutamaks parimaid tulemusi failitüüpide tuvastamisel.",
@@ -207,13 +307,24 @@
"Cron was not executed yet!" : "Cron pole kordagi käivitatud!",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php on registreeritud webcron teenuses, et käivitada fail cron.php iga 15 minuti tagant üle http.",
"Use system's cron service to call the cron.php file every 15 minutes." : "Kasuta süsteemi cron teenust, et käivitada fail cron.php iga 15 minuti järel.",
+ "Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Luba kasutajanime automaatne lõpetamine jagamisdialoogis. Kui see on keelatud, tuleb sisestada täielik kasutajanimi.",
+ "Uninstall app" : "Eemalda rakendus",
+ "Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Tervist!, <br><br>anname teada, et sul on nüüd %s konto. <br><br>Sinu kasutajanimi: <strong>%s</strong><br>Juurdepääs sellele: <strong><a href=\"%s\">%s</a></strong><br><br>",
"Cheers!" : "Terekest!",
+ "Hey there,\n\njust letting you know that you now have a %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Tervist,\n\nanname teada, et sul on nüüd %s konto.\n\nSinu kasutajanimi: %s\nJuurdepääs sellele: %s\n\n",
+ "For password recovery and notifications" : "Parooli taastamiseks ja teadeteks",
+ "Your website" : "Sinu veebileht",
"Get the apps to sync your files" : "Hangi rakendusi failide sünkroniseerimiseks",
"Desktop client" : "Töölaua klient",
"Android app" : "Androidi rakendus",
"iOS app" : "iOS-i rakendus",
"Show First Run Wizard again" : "Näita veelkord Esmase Käivituse Juhendajat",
+ "Passcodes that give an app or device permissions to access your account." : "Pääsukoodid, mis annavad rakendusele või seadmele õigused sinu kontole juurdepääsuks.",
"Name" : "Nimi",
- "Show last log in" : "Viimane sisselogimine"
+ "Show last log in" : "Viimane sisselogimine",
+ "Group name" : "Grupi nimi",
+ "Verifying" : "Kontrollin",
+ "Web, desktop, mobile clients and app specific passwords that currently have access to your account." : "Veebi-, töölaua-, mobiilsed kliendid ja rakenduste pääsukoodid millel on ligipääs sinu kontole.",
+ "Here you can generate individual passwords for apps so you don’t have to give out your password. You can revoke them individually too." : "Siin saad luua rakendustele individuaalseid paroole, nii et sa ei pea oma parooli välja andma. Saad neid ka individuaalselt tühistada."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/settings/l10n/nl.js b/settings/l10n/nl.js
index e9fec7a482d..e85a4e25c25 100644
--- a/settings/l10n/nl.js
+++ b/settings/l10n/nl.js
@@ -80,7 +80,7 @@ OC.L10N.register(
"Password confirmation is required" : "Wachtwoordbevestiging vereist",
"Couldn't remove app." : "Kon app niet verwijderen.",
"Couldn't update app." : "Kon de app niet bijwerken.",
- "Are you really sure you want add {domain} as trusted domain?" : "Bent u er zeker van om {domain} als vertrouwd domein toe te voegen?",
+ "Are you really sure you want add {domain} as trusted domain?" : "Weet je zeker dat je {domain} als vertrouwd domein toe wilt voegen?",
"Add trusted domain" : "Vertrouwd domein toevoegen",
"Migration in progress. Please wait until the migration is finished" : "Migratie bezig. Wacht tot het proces klaar is.",
"Migration started …" : "Migratie gestart...",
@@ -237,7 +237,7 @@ OC.L10N.register(
"Server-side encryption" : "Server-side versleuteling",
"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Server-side versleuteling maakt het mogelijk om bestanden te versleutelen die worden geüploaded. Dit betekent wel enig prestatieverlies, dus schakel het alleen in als het nodig is.",
"Enable server-side encryption" : "Server-side versleuteling inschakelen",
- "Please read carefully before activating server-side encryption: " : "Lees dit goed, voordat u de serverside versleuteling activeert:",
+ "Please read carefully before activating server-side encryption: " : "Lees dit goed, voordat je de serverside versleuteling activeert:",
"Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Als versleuteling is ingeschakeld, worden alle geüploade bestanden vanaf dat moment versleuteld opgeslagen op de server. Het is alleen mogelijk om de versleuteling later uit te schakelen als de actieve versleutelingsmodule dit ondersteunt en aan alle pré-condities (mn de ingestelde herstelsleutel) wordt voldaan.",
"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." : "Versleuteling alleen gerandeert geen beveiliging van het systeem. Lees de documentatie voor meer achtergrond over de werking van de crypto app an de relevante use cases.",
"Be aware that encryption always increases the file size." : "Let erop dat versleuteling de bestandsomvang altijd laat toenemen.",
@@ -301,7 +301,7 @@ OC.L10N.register(
"There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Er zijn veel mogelijkheden en instellingsschakelaars beschikbaar om je installatie te optimaliseren. Hier zijn wat aanwijzigen.",
"SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wordt momenteel gebruikt als backend database. Voor grotere installaties adviseren we dat je omschakelt naar een andere database backend.",
"This is particularly recommended when using the desktop client for file synchronisation." : "Dit wordt vooral aanbevolen als de desktop client wordt gebruikt voor bestandssynchronisatie.",
- "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Om te migreren naar een andere database moet u de commandoregel tool gebruiken: 'occ db:convert-type'; <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">zie de documentatie ↗</a>.",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Om te migreren naar een andere database moet je de commandoregel tool gebruiken: 'occ db:convert-type'; <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">zie de documentatie ↗</a>.",
"How to do backups" : "Hoe maak je back-ups",
"Advanced monitoring" : "Geavanceerde monitoring",
"Performance tuning" : "Prestatie afstelling",
@@ -336,7 +336,7 @@ OC.L10N.register(
"Link https://…" : "Link https://…",
"Twitter" : "Twitter",
"Twitter handle @…" : "Twitter naam @…",
- "You are member of the following groups:" : "U bent lid van de volgende groepen:",
+ "You are member of the following groups:" : "Je bent lid van de volgende groepen:",
"Language" : "Taal",
"Help translate" : "Help met vertalen",
"Password" : "Wachtwoord",
diff --git a/settings/l10n/nl.json b/settings/l10n/nl.json
index 0cc2f1555f6..980e1d2e941 100644
--- a/settings/l10n/nl.json
+++ b/settings/l10n/nl.json
@@ -78,7 +78,7 @@
"Password confirmation is required" : "Wachtwoordbevestiging vereist",
"Couldn't remove app." : "Kon app niet verwijderen.",
"Couldn't update app." : "Kon de app niet bijwerken.",
- "Are you really sure you want add {domain} as trusted domain?" : "Bent u er zeker van om {domain} als vertrouwd domein toe te voegen?",
+ "Are you really sure you want add {domain} as trusted domain?" : "Weet je zeker dat je {domain} als vertrouwd domein toe wilt voegen?",
"Add trusted domain" : "Vertrouwd domein toevoegen",
"Migration in progress. Please wait until the migration is finished" : "Migratie bezig. Wacht tot het proces klaar is.",
"Migration started …" : "Migratie gestart...",
@@ -235,7 +235,7 @@
"Server-side encryption" : "Server-side versleuteling",
"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Server-side versleuteling maakt het mogelijk om bestanden te versleutelen die worden geüploaded. Dit betekent wel enig prestatieverlies, dus schakel het alleen in als het nodig is.",
"Enable server-side encryption" : "Server-side versleuteling inschakelen",
- "Please read carefully before activating server-side encryption: " : "Lees dit goed, voordat u de serverside versleuteling activeert:",
+ "Please read carefully before activating server-side encryption: " : "Lees dit goed, voordat je de serverside versleuteling activeert:",
"Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Als versleuteling is ingeschakeld, worden alle geüploade bestanden vanaf dat moment versleuteld opgeslagen op de server. Het is alleen mogelijk om de versleuteling later uit te schakelen als de actieve versleutelingsmodule dit ondersteunt en aan alle pré-condities (mn de ingestelde herstelsleutel) wordt voldaan.",
"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." : "Versleuteling alleen gerandeert geen beveiliging van het systeem. Lees de documentatie voor meer achtergrond over de werking van de crypto app an de relevante use cases.",
"Be aware that encryption always increases the file size." : "Let erop dat versleuteling de bestandsomvang altijd laat toenemen.",
@@ -299,7 +299,7 @@
"There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Er zijn veel mogelijkheden en instellingsschakelaars beschikbaar om je installatie te optimaliseren. Hier zijn wat aanwijzigen.",
"SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite wordt momenteel gebruikt als backend database. Voor grotere installaties adviseren we dat je omschakelt naar een andere database backend.",
"This is particularly recommended when using the desktop client for file synchronisation." : "Dit wordt vooral aanbevolen als de desktop client wordt gebruikt voor bestandssynchronisatie.",
- "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Om te migreren naar een andere database moet u de commandoregel tool gebruiken: 'occ db:convert-type'; <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">zie de documentatie ↗</a>.",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "Om te migreren naar een andere database moet je de commandoregel tool gebruiken: 'occ db:convert-type'; <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">zie de documentatie ↗</a>.",
"How to do backups" : "Hoe maak je back-ups",
"Advanced monitoring" : "Geavanceerde monitoring",
"Performance tuning" : "Prestatie afstelling",
@@ -334,7 +334,7 @@
"Link https://…" : "Link https://…",
"Twitter" : "Twitter",
"Twitter handle @…" : "Twitter naam @…",
- "You are member of the following groups:" : "U bent lid van de volgende groepen:",
+ "You are member of the following groups:" : "Je bent lid van de volgende groepen:",
"Language" : "Taal",
"Help translate" : "Help met vertalen",
"Password" : "Wachtwoord",
diff --git a/settings/l10n/zh_TW.js b/settings/l10n/zh_TW.js
index 851fb56eb6a..0c9260b9885 100644
--- a/settings/l10n/zh_TW.js
+++ b/settings/l10n/zh_TW.js
@@ -12,6 +12,7 @@ OC.L10N.register(
"A login attempt using two-factor authentication failed (%1$s)" : "使用兩步驟驗證登入失敗 (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "你的 <strong>密碼</strong> 或 <strong>email</strong> 已更動。",
"Your apps" : "您的應用程式",
+ "Updates" : "更新",
"Enabled apps" : "已啓用應用程式",
"Disabled apps" : "已停用應用程式",
"App bundles" : "應用程式套裝",
@@ -22,7 +23,7 @@ OC.L10N.register(
"Authentication error" : "認證錯誤",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "請提供一個admin管理者恢復密碼,否則將會失去所有使用者資料。",
"Wrong admin recovery password. Please check the password and try again." : "錯誤的管理者還原密碼",
- "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." : "使用者資料後端不支援變更密碼,但使用者的加密金鑰已經更新。",
"installing and updating apps via the app store or Federated Cloud Sharing" : "透過應用程式中心或是聯盟式雲端分享來安裝、更新應用程式",
"Federated Cloud Sharing" : "聯盟式雲端分享",
"cURL is using an outdated %s version (%s). Please update your operating system or features such as %s will not work reliably." : "cURL 使用的 %s 版本已經過期 (%s),請您更新您的作業系統,否則功能如 %s 可能無法正常運作",
@@ -33,52 +34,53 @@ OC.L10N.register(
"Unable to delete group." : "無法刪除群組",
"Invalid SMTP password." : "無效的 SMTP 密碼",
"Email setting test" : "測試郵件設定",
- "Well done, %s!" : "太棒了, %s!",
- "If you received this email, the email configuration seems to be correct." : "如果你收到這封email,代表email設定是正確的。",
- "Email could not be sent. Check your mail server log" : "郵件無法寄出,請查閱mail伺服器記錄檔",
+ "Well done, %s!" : "太棒了, %s!",
+ "If you received this email, the email configuration seems to be correct." : "如果你收到這封 email,代表 email 設定是正確的。",
+ "Email could not be sent. Check your mail server log" : "郵件無法寄出,請查閱郵件伺服器記錄檔",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "寄出郵件時發生問題,請檢查您的設定(錯誤訊息:%s)",
"You need to set your user email before being able to send test emails." : "在寄出測試郵件前您需要設定信箱位址",
"Invalid mail address" : "無效的 email 地址",
"No valid group selected" : "無效的群組",
"A user with that name already exists." : "同名的使用者已經存在",
- "To send a password link to the user an email address is required." : "向使用者送出密碼連結需要提供一組E-mail信箱。",
+ "To send a password link to the user an email address is required." : "要寄出密碼連結給使用者之前需要設定一組 email 位址",
"Unable to create user." : "無法建立使用者",
"Unable to delete user." : "無法移除使用者",
- "Error while enabling user." : "啟用用戶時發生錯誤",
- "Error while disabling user." : "停用用戶時發生錯誤",
- "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):" : "為了驗證您的網站,請將下列內容存至您網站,路徑為:well-known/CloudIdVerificationCode.txt\n(請確保全文以一行的格式儲存)",
- "Settings saved" : "設定已存檔",
+ "Error while enabling user." : "啟用使用者時發生錯誤",
+ "Error while disabling user." : "停用使用者時發生錯誤",
+ "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):" : "為了驗證您的網站,請將下列內容存至您網站的根目錄下路徑為:\".well-known/CloudIdVerificationCode.txt\" 的檔案(請確保全文以一行的格式儲存)",
+ "Settings saved" : "設定已儲存",
"Unable to change full name" : "無法變更全名",
- "Unable to change email address" : "無法變更email地址",
+ "Unable to change email address" : "無法變更電子郵件地址",
"Your full name has been changed." : "您的全名已變更",
"Forbidden" : "存取被拒",
"Invalid user" : "無效的使用者",
"Unable to change mail address" : "無法更改 email 地址",
"Email saved" : "Email 已儲存",
- "%1$s changed your password on %2$s." : "%1$s在%2$s時更改了您的密碼",
- "Your password on %s was changed." : "你的密碼在 %s 已變更。",
- "Your password on %s was reset by an administrator." : "您的密碼在 %s 已被管理員重設。",
- "Password for %1$s changed on %2$s" : "%1$s 的密碼已在 %2$s 變更。",
- "Password changed for %s" : "%s 的密碼已變更。",
- "If you did not request this, please contact an administrator." : "如果你未發送此請求 ,請聯絡系統管理員。",
- "%1$s changed your email address on %2$s." : "%1$s 更改你的 email 地址在 %2$s 時。",
- "Your email address on %s was changed." : "你的email地址在 %s 已變更。",
- "Your email address on %s was changed by an administrator." : "你的email地址在 %s 已被管理員變更。",
- "Email address for %1$s changed on %2$s" : "%1$s的Email信箱在%2$s已經變更。",
- "Email address changed for %s" : "%s 的email地址已變更。",
- "The new email address is %s" : "新的email地址為 %s",
+ "%1$s changed your password on %2$s." : "%1$s 在 %2$s 時更改了您的密碼",
+ "Your password on %s was changed." : "你在 %s 的密碼已變更",
+ "Your password on %s was reset by an administrator." : "您在 %s 的密碼已被管理員重設",
+ "Password for %1$s changed on %2$s" : "%1$s 在 %2$s 的密碼已變更",
+ "Password changed for %s" : "%s 的密碼已變更",
+ "If you did not request this, please contact an administrator." : "如果你未發送此請求 ,請聯絡系統管理員",
+ "%1$s changed your email address on %2$s." : "%1$s變更了您在 %2$s 的電子郵件地址",
+ "Your email address on %s was changed." : "您在 %s 的電子郵件地址已變更",
+ "Your email address on %s was changed by an administrator." : "您在 %s 的電子郵件地址已被管理員變更",
+ "Email address for %1$s changed on %2$s" : "%1$s 的電子郵件地址在 %2$s 變更",
+ "Email address changed for %s" : "%s 的電子郵件地址已變更",
+ "The new email address is %s" : "新的電子郵件地址為 %s",
"Your %s account was created" : "您的 %s 帳號已經建立",
"Welcome aboard" : "歡迎加入",
- "Welcome aboard %s" : "%s,歡迎您加入",
- "Your username is: %s" : "你的使用者名稱為: %s",
+ "Welcome aboard %s" : "歡迎加入 %s",
+ "Welcome to your %s account, you can add, protect, and share your data." : "歡迎使用您的 %s 帳戶,您可以加入、保存、分享您的資料",
+ "Your username is: %s" : "您的使用者名稱為: %s",
"Set your password" : "設定您的密碼",
"Go to %s" : "前往 %s",
- "Install Client" : "安裝使用端",
- "Password confirmation is required" : "要求密碼確認",
+ "Install Client" : "安裝客戶端程式",
+ "Password confirmation is required" : "需要密碼確認",
"Couldn't remove app." : "無法移除應用程式",
"Couldn't update app." : "無法更新應用程式",
- "Are you really sure you want add {domain} as trusted domain?" : "您確定要新增 {domain} 為信任的網域?",
+ "Are you really sure you want add {domain} as trusted domain?" : "您確定要新增 {domain} 為信任的網域?",
"Add trusted domain" : "新增信任的網域",
"Migration in progress. Please wait until the migration is finished" : "資料搬移中,請耐心等候直到資料搬移結束",
"Migration started …" : "開始遷移…",
@@ -93,19 +95,20 @@ OC.L10N.register(
"Official apps are developed by and within the community. They offer central functionality and are ready for production use." : "官方應用程序是由社區內部和內部開發的。 它們提供核心功能,並可在正式成品使用。",
"Approved apps are developed by trusted developers and have passed a cursory security check. They are actively maintained in an open code repository and their maintainers deem them to be stable for casual to normal use." : "審查通過的應用程式經由可信任的開發人員所設計,並且經過一連串的安全測試,他們在開放的程式庫中維護這些應用程式,而且確保這些應用程式能穩定運作",
"This app is not checked for security issues and is new or known to be unstable. Install at your own risk." : "這個新應用程式並沒有經過安全檢測,可能會是不穩定的,如果您要安裝的話,風險自行負責。",
- "Disabling app …" : "停用應用程式中 ...",
+ "Disabling app …" : "正在停用應用程式…",
"Error while disabling app" : "停用應用程式錯誤",
"Disable" : "停用",
"Enable" : "啟用",
- "Enabling app …" : "啟動中...",
+ "Enabling app …" : "啟用中…",
"Error while enabling app" : "啟用應用程式錯誤",
- "Error: This app can not be enabled because it makes the server unstable" : "錯誤:此應用程序無法啟用,因為它使伺服器不穩定",
- "Error: Could not disable broken app" : "錯誤: 無法啟用已損毀的應用",
- "Error while disabling broken app" : "關閉損毀的應用時發生錯誤",
+ "Error: This app can not be enabled because it makes the server unstable" : "錯誤:此應用程序無法啟用,因為它造成伺服器不穩定",
+ "Error: Could not disable broken app" : "錯誤:無法停用損毀的應用程式",
+ "Error while disabling broken app" : "停用損毀的應用時發生錯誤",
+ "No app updates available" : "沒有可用的應用程式更新",
"Updating...." : "更新中…",
"Error while updating app" : "更新應用程式錯誤",
"Updated" : "已更新",
- "Removing …" : "移除中...",
+ "Removing …" : "移除中…",
"Error while removing app" : "移除應用程式錯誤",
"Remove" : "移除",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "這個應用程式已啟用但是需要更新,您將會在 5 秒後被引導至更新頁面",
@@ -116,7 +119,7 @@ OC.L10N.register(
"Enable all" : "全部啟用",
"Allow filesystem access" : "允許檔案系統的存取",
"Disconnect" : "中斷連線",
- "Revoke" : "撤消",
+ "Revoke" : "撤銷",
"Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
@@ -134,9 +137,9 @@ OC.L10N.register(
"Not supported!" : "不支援!",
"Press ⌘-C to copy." : "按下 ⌘-C 來複製",
"Press Ctrl-C to copy." : "按下 Ctrl-C 來複製",
- "Error while loading browser sessions and device tokens" : "在載入瀏覽器階段與裝置口令時發生錯誤",
- "Error while creating device token" : "建立裝置token時發生錯誤",
- "Error while deleting the token" : "刪除token時發生錯誤",
+ "Error while loading browser sessions and device tokens" : "在載入瀏覽器階段與裝置 token 時發生錯誤",
+ "Error while creating device token" : "建立裝置 token 時發生錯誤",
+ "Error while deleting the token" : "刪除 token 時發生錯誤",
"An error occurred. Please upload an ASCII-encoded PEM certificate." : "發生錯誤,請您上傳 ASCII 編碼的 PEM 憑證",
"Valid until {date}" : "{date} 前有效",
"Delete" : "刪除",
@@ -145,12 +148,13 @@ OC.L10N.register(
"Only visible to local users" : "僅本地用戶可見",
"Only visible to you" : "僅你可見",
"Contacts" : "聯絡人",
- "Visible to local users and to trusted servers" : "僅本地用戶與信任伺服器可見",
+ "Visible to local users and to trusted servers" : "僅本地用戶與信任的伺服器可見",
"Public" : "公開",
- "Will be synced to a global and public address book" : "將會同步全域及公開地址簿",
+ "Will be synced to a global and public address book" : "將會同步到全域公開的通訊錄",
"Verify" : "驗證",
- "Verifying …" : "驗證中....",
- "Select a profile picture" : "選擇大頭貼",
+ "Verifying …" : "驗證中…",
+ "An error occured while changing your language. Please reload the page and try again." : "變更語言時發生錯誤,請重新整理頁面後重試",
+ "Select a profile picture" : "選擇大頭貼照",
"Very weak password" : "密碼強度非常弱",
"Weak password" : "密碼強度弱",
"So-so password" : "密碼強度普通",
@@ -158,20 +162,31 @@ OC.L10N.register(
"Strong password" : "密碼強度極佳",
"Groups" : "群組",
"Unable to delete {objName}" : "無法刪除 {objName}",
+ "Error creating group: {message}" : "建立群組錯誤:{message}",
"A valid group name must be provided" : "必須提供一個有效的群組名稱",
- "deleted {groupName}" : "刪除 {groupName}",
+ "deleted {groupName}" : "已刪除 {groupName}",
"undo" : "復原",
"{size} used" : "{size} 已使用",
"never" : "永不",
"deleted {userName}" : "刪除 {userName}",
+ "No user found for <strong>{pattern}</strong>" : "沒有找到符合 <strong>{pattern}</strong> 的使用者",
+ "Unable to add user to group {group}" : "無法將使用者加至群組 {group}",
+ "Unable to remove user from group {group}" : "無法自群組 {group} 中移除使用者",
"Add group" : "新增群組",
+ "Invalid quota value \"{val}\"" : "無效的空間限額設定值 \"{val}\"",
"no group" : "沒有群組",
"Password successfully changed" : "成功變更密碼",
"Changing the password will result in data loss, because data recovery is not available for this user" : "更改密碼會造成資料遺失,因為資料復原的功能無法在這個使用者使用",
+ "Could not change the users email" : "無法變更使用者電子郵件信箱",
+ "Error while changing status of {user}" : "變更使用者 {user} 的狀態出錯",
"A valid username must be provided" : "必須提供一個有效的用戶名",
+ "Error creating user: {message}" : "建立使用者錯誤:{message}",
"A valid password must be provided" : "一定要提供一個有效的密碼",
"A valid email must be provided" : "必須提供一個有效的電子郵件地址",
"Developer documentation" : "開發者說明文件",
+ "View in store" : "在商店中檢視",
+ "Limit to groups" : "限制給特定群組",
+ "by %s" : "由 %s",
"%s-licensed" : "%s 授權",
"Documentation:" : "說明文件:",
"User documentation" : "用戶說明文件",
@@ -183,6 +198,7 @@ OC.L10N.register(
"This app has an update available." : "此應用程式有可用的更新",
"This app cannot be installed because the following dependencies are not fulfilled:" : "這個應用程式無法被安裝,因為欠缺下列相依套件:",
"Enable only for specific groups" : "僅對特定的群組啟用",
+ "SSL Root Certificates" : "SSL 根憑證",
"Common Name" : "Common Name",
"Valid until" : "到期日",
"Issued By" : "發行者:",
@@ -191,13 +207,17 @@ OC.L10N.register(
"Administrator documentation" : "管理者說明文件",
"Online documentation" : "線上說明文件",
"Forum" : "論壇",
+ "Getting help" : "取得協助",
"Commercial support" : "商用支援",
"None" : "無",
"Login" : "登入",
"Plain" : "Plain",
"NT LAN Manager" : "NT LAN Manager",
+ "SSL/TLS" : "SSL/TLS",
+ "STARTTLS" : "STARTTLS",
"Email server" : "郵件伺服器",
"Open documentation" : "開啟說明文件",
+ "It is important to set up this server to be able to send emails, like for password reset and notifications." : "設定伺服器可以寄送電子郵件非常重要,使用者通知和密碼重設將會需要",
"Send mode" : "寄送模式",
"Encryption" : "加密",
"From address" : "寄件地址",
@@ -213,9 +233,10 @@ OC.L10N.register(
"Test email settings" : "測試郵件設定",
"Send email" : "寄送郵件",
"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." : "一旦加密模式啟動,從各地上傳到伺服器端的檔案都會被加密,若日後要停用加密,需要加密模組的支援,而且所有的設定(例如: 還原金鑰)都正確",
+ "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." : "一旦加密模式啟動,從各地上傳到伺服器端的檔案都會被加密,若日後要停用加密,需要加密模組的支援,而且所有的設定(例如:還原金鑰)都正確",
"Be aware that encryption always increases the file size." : "請注意,加密一定會增加檔案的大小",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "定時備份您的資料沒有壞處,若您有啟用加密,請確保您也有備份加密金鑰",
"This is the final warning: Do you really want to enable encryption?" : "這是最後的警告:請問您真的要開啟加密模式?",
@@ -230,42 +251,74 @@ OC.L10N.register(
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "這大概是由快取或是加速器像是 Zend OPcache, eAccelerator 造成的",
"System locale can not be set to a one which supports UTF-8." : "無法設定為一個支援 UTF-8 的系統語系",
"All checks passed." : "所有檢查正常",
+ "Background jobs" : "背景工作",
+ "Last job ran %s." : "上次背景工作執行於 %s",
+ "Last job execution ran %s. Something seems wrong." : "上次背景工作執行於 %s ,似乎有點問題",
+ "Background job didn’t run yet!" : "背景工作從未執行!",
+ "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "為了獲得最佳的效能,設定背景工作非常重要,對於比較大的服務來說,建議使用 Cron 設定,請查閱說明文件以獲得更多資訊。",
"Execute one task with each page loaded" : "每個頁面載入時執行",
+ "cron.php is registered at a webcron service to call cron.php every 15 minutes over HTTP." : "cron.php 已經在一個 webcron 服務中註冊,每 15 分鐘將會透過 HTTP 呼叫 cron.php",
+ "Use system cron service to call the cron.php file every 15 minutes." : "使用系統的 cron 服務來每隔 15 分鐘呼叫 cron.php",
+ "The cron.php needs to be executed by the system user \"%s\"." : "cron.php 必須由系統使用者 \"%s\" 來執行",
+ "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "要執行這個,您需要 PHP POSIX 擴充元件,請查閱 {linkstart}PHP 說明文件{linkend} 以獲得更多細節。",
"Version" : "版本",
"Sharing" : "分享",
+ "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "系統管理員可以微調分享行為,請查閱說明文件以獲得更多資訊。",
"Allow apps to use the Share API" : "允許 apps 使用分享 API",
"Allow users to share via link" : "允許使用者透過連結分享",
"Allow public uploads" : "允許公開上傳",
+ "Always ask for a password" : "總是詢問密碼",
"Enforce password protection" : "強制分享連結使用密碼保護",
"Set default expiration date" : "設定預設到期日",
"Expire after " : "在什麼時候過期",
"days" : "天",
"Enforce expiration date" : "強制分享連結設定到期日",
"Allow resharing" : "允許轉貼分享",
+ "Allow sharing with groups" : "允許與群組分享",
"Restrict users to only share with users in their groups" : "限制使用者只能分享給群組裡的其他使用者",
"Exclude groups from sharing" : "禁止特定群組分享檔案",
"These groups will still be able to receive shares, but not to initiate them." : "這些群組仍然能接受其他人的分享,但是沒有辦法發起分享",
+ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "允許使用者名稱自動補齊在分享對話框,如果停用這個功能,必須輸入完整的使用者名稱或電子郵件地址",
+ "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." : "這段文字會在公開檔案上傳頁面檔案清單被隱藏的時候顯示",
"Tips & tricks" : "技巧和提示",
+ "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "這裡有很多功能和設定選項讓您客製化您的服務,以下有一些建議和提示",
+ "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "目前您的後端資料庫使用 SQLite,在大型服務當中,我們建議您使用其他的資料庫後端。",
+ "This is particularly recommended when using the desktop client for file synchronisation." : "若您使用桌面客戶端來同步,尤其建議您更換",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "若要遷移至另一個資料庫,請使用命令列工具: 'occ db:convert-type' ,或是查閱<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">說明文件</a>。",
"How to do backups" : "如何備份",
"Advanced monitoring" : "進階監控",
"Performance tuning" : "效能調校",
"Improving the config.php" : "改進 config.php",
"Theming" : "佈景主題",
- "Hardening and security guidance" : "增強安全性",
- "You are using <strong>%s</strong> of <strong>%s</strong>" : "您正在使用 <strong>%s</strong> 的 <strong>%s</strong>",
- "Profile picture" : "大頭照",
+ "Check the security of your Nextcloud over our security scan" : "使用我們的掃描服務來檢查您 Nextcloud 的安全性",
+ "Hardening and security guidance" : "增強安全指南",
+ "Personal" : "個人",
+ "Administration" : "管理",
+ "You are using <strong>%s</strong> of <strong>%s</strong>" : "您正在使用 <strong>%s</strong> ,共有 <strong>%s</strong>",
+ "You are using <strong>%s</strong> of <strong>%s</strong> (<strong>%s %%</strong>)" : "您正在使用 <strong>%s</strong> ,共有 <strong>%s</strong>(<strong>%s %%</strong>)",
+ "Profile picture" : "大頭貼照",
"Upload new" : "上傳新的",
- "Select from Files" : "從檔案應用程式選擇",
+ "Select from Files" : "從雲端檔案選擇",
"Remove image" : "移除圖片",
"png or jpg, max. 20 MB" : "png 或 jpg ,最大 20 MB",
"Picture provided by original account" : "原本的帳戶提供的圖片",
"Cancel" : "取消",
- "Choose as profile picture" : "選為大頭照",
+ "Choose as profile picture" : "設定為大頭貼照",
"Full name" : "全名",
"No display name set" : "未設定顯示名稱",
"Email" : "信箱",
"Your email address" : "您的電子郵件信箱",
"No email address set" : "未設定電子郵件信箱",
+ "For password reset and notifications" : "用於密碼重設和通知信件",
+ "Phone number" : "電話號碼",
+ "Your phone number" : "您的電話號碼",
+ "Address" : "地址",
+ "Your postal address" : "您的郵遞地址",
+ "Website" : "網站",
+ "Link https://…" : "連結 https://...",
+ "Twitter" : "Twitter",
+ "Twitter handle @…" : "Twitter 用戶名 @...",
"You are member of the following groups:" : "您的帳號屬於這些群組:",
"Language" : "語言",
"Help translate" : "幫助翻譯",
@@ -273,9 +326,25 @@ OC.L10N.register(
"Current password" : "目前密碼",
"New password" : "新密碼",
"Change password" : "變更密碼",
+ "Web, desktop and mobile clients currently logged in to your account." : "目前登入您的帳號的網頁、桌面和行動裝置客戶端",
+ "Device" : "裝置",
+ "Last activity" : "上次活動",
+ "App name" : "應用程式名稱",
+ "Create new app password" : "建立新的應用程式密碼",
+ "Use the credentials below to configure your app or device." : "請使用下方的登入資訊來設定您的應用程式或是裝置",
+ "For security reasons this password will only be shown once." : "基於安全性考量,這個密碼只會顯示一次",
"Username" : "使用者名稱",
+ "Done" : "完成",
+ "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "由 {communityopen}Nextcloud 社群{linkclose}開發,{githubopen}原始碼{linkclose}以 {licenseopen}AGPL 授權{linkclose}釋出",
+ "Follow us on Google+" : "在 Google+ 上面追蹤我們",
+ "Like our Facebook page" : "到我們的 Facebook 頁面按讚",
+ "Follow us on Twitter" : "在 Twitter 上面追蹤我們",
+ "Check out our blog" : "逛逛我們的部落格",
+ "Subscribe to our newsletter" : "訂閱我們的電子報",
+ "Settings" : "設定",
"Show storage location" : "顯示儲存位置",
- "Show user backend" : "顯示用戶後台",
+ "Show user backend" : "顯示使用者資料後端",
+ "Show last login" : "顯示上次登入時間",
"Show email address" : "顯示電子郵件信箱",
"Send email to new user" : "寄送郵件給新用戶",
"E-Mail" : "電子郵件",
@@ -284,10 +353,15 @@ OC.L10N.register(
"Enter the recovery password in order to recover the users files during password change" : "為了修改密碼時能夠取回使用者資料,請輸入另一組還原用密碼",
"Everyone" : "所有人",
"Admins" : "管理者",
- "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "請輸入空間配額(例如 \"512 MB\" 或是 \"12 GB\")",
+ "Disabled" : "已停用",
+ "Default quota" : "預設儲存容量限制",
+ "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "請輸入儲存容量限制(例如 \"512 MB\" 或是 \"12 GB\")",
"Unlimited" : "無限制",
"Other" : "其他",
+ "Group admin for" : "群組管理員",
"Quota" : "容量限制",
+ "Storage location" : "儲存位址",
+ "User backend" : "使用者資料後端",
"change full name" : "變更全名",
"set new password" : "設定新密碼",
"change email address" : "更改電子郵件地址",
@@ -295,7 +369,7 @@ OC.L10N.register(
"Enabled" : "已啓用",
"Not enabled" : "未啟用",
"Please provide an admin recovery password, otherwise all user data will be lost" : "請提供管理者還原密碼,否則會遺失所有使用者資料",
- "Backend doesn't support password change, but the user's encryption key was successfully updated." : "後端不支援變更密碼,但成功更新使用者的加密金鑰",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "使用者資料後端不支援變更密碼,但成功變更使用者的加密金鑰",
"test email settings" : "測試郵件設定",
"Invalid request" : "無效請求",
"Admins can't remove themself from the admin group" : "管理者帳號無法從管理者群組中移除",
@@ -327,15 +401,33 @@ OC.L10N.register(
"Cron was not executed yet!" : "Cron 沒有執行!",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "已經與 webcron 服務註冊好,將會每 15 分鐘透過 HTTP 呼叫 cron.php",
"Use system's cron service to call the cron.php file every 15 minutes." : "使用系統的 cron 服務每 15 分鐘呼叫 cron.php 一次",
+ "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "要執行這個,您需要 PHP POSIX 擴充元件,請查閱 {linkstart}PHP 說明文件{linkend} 以獲得更多細節。",
"Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "允許使用者名稱自動補齊在分享對話框,如果取消這個功能,必須完整輸入使用者名稱",
+ "Uninstall app" : "解除安裝應用程式",
"Cheers!" : "太棒了!",
+ "Hey there,\n\njust letting you know that you now have a %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "嗨,\n\n通知您一聲,您現在有了 %s 的帳號。\n\n您的帳號:%s\n開通帳號:%s\n\n",
"For password recovery and notifications" : "用於密碼重設和通知",
+ "Your website" : "您的網站",
+ "Your Twitter handle" : "您的 Twitter 帳號",
"Get the apps to sync your files" : "下載應用程式來同步您的檔案",
"Desktop client" : "桌面客戶端",
"Android app" : "Android 應用程式",
"iOS app" : "iOS 應用程式",
"Show First Run Wizard again" : "再次顯示首次使用精靈",
+ "Passcodes that give an app or device permissions to access your account." : "通行碼會給應用程式或裝置存取您帳戶的權限",
"Name" : "名稱",
- "Show last log in" : "顯示最近登入"
+ "Follow us on Google Plus!" : "在 Google+ 上面追蹤我們",
+ "Like our facebook page!" : "到我們的 Facebook 頁面按讚",
+ "Subscribe to our twitter channel!" : "訂閱我們的 Twitter 頻道",
+ "Subscribe to our news feed!" : "訂閱我們的新聞饋流",
+ "Subscribe to our newsletter!" : "訂閱我們的電子報",
+ "Show last log in" : "顯示最近登入",
+ "Group name" : "群組名稱",
+ "Verifying" : "驗證中",
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "未偵測到 PHP 模組 'fileinfo'。我們強烈建議啟用這個模組以取得最好的 MIME 檔案類型偵測支援。",
+ "Web, desktop, mobile clients and app specific passwords that currently have access to your account." : "目前有權存取您的帳號的網頁、桌面、行動裝置客戶端和應用程式密碼",
+ "Follow us on Google+!" : "在 Google+ 上面追蹤我們",
+ "Follow us on Twitter!" : "在 Twitter 上面追蹤我們",
+ "Check out our blog!" : "逛逛我們的部落格"
},
"nplurals=1; plural=0;");
diff --git a/settings/l10n/zh_TW.json b/settings/l10n/zh_TW.json
index 9565127f519..82858cfd414 100644
--- a/settings/l10n/zh_TW.json
+++ b/settings/l10n/zh_TW.json
@@ -10,6 +10,7 @@
"A login attempt using two-factor authentication failed (%1$s)" : "使用兩步驟驗證登入失敗 (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "你的 <strong>密碼</strong> 或 <strong>email</strong> 已更動。",
"Your apps" : "您的應用程式",
+ "Updates" : "更新",
"Enabled apps" : "已啓用應用程式",
"Disabled apps" : "已停用應用程式",
"App bundles" : "應用程式套裝",
@@ -20,7 +21,7 @@
"Authentication error" : "認證錯誤",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "請提供一個admin管理者恢復密碼,否則將會失去所有使用者資料。",
"Wrong admin recovery password. Please check the password and try again." : "錯誤的管理者還原密碼",
- "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." : "使用者資料後端不支援變更密碼,但使用者的加密金鑰已經更新。",
"installing and updating apps via the app store or Federated Cloud Sharing" : "透過應用程式中心或是聯盟式雲端分享來安裝、更新應用程式",
"Federated Cloud Sharing" : "聯盟式雲端分享",
"cURL is using an outdated %s version (%s). Please update your operating system or features such as %s will not work reliably." : "cURL 使用的 %s 版本已經過期 (%s),請您更新您的作業系統,否則功能如 %s 可能無法正常運作",
@@ -31,52 +32,53 @@
"Unable to delete group." : "無法刪除群組",
"Invalid SMTP password." : "無效的 SMTP 密碼",
"Email setting test" : "測試郵件設定",
- "Well done, %s!" : "太棒了, %s!",
- "If you received this email, the email configuration seems to be correct." : "如果你收到這封email,代表email設定是正確的。",
- "Email could not be sent. Check your mail server log" : "郵件無法寄出,請查閱mail伺服器記錄檔",
+ "Well done, %s!" : "太棒了, %s!",
+ "If you received this email, the email configuration seems to be correct." : "如果你收到這封 email,代表 email 設定是正確的。",
+ "Email could not be sent. Check your mail server log" : "郵件無法寄出,請查閱郵件伺服器記錄檔",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "寄出郵件時發生問題,請檢查您的設定(錯誤訊息:%s)",
"You need to set your user email before being able to send test emails." : "在寄出測試郵件前您需要設定信箱位址",
"Invalid mail address" : "無效的 email 地址",
"No valid group selected" : "無效的群組",
"A user with that name already exists." : "同名的使用者已經存在",
- "To send a password link to the user an email address is required." : "向使用者送出密碼連結需要提供一組E-mail信箱。",
+ "To send a password link to the user an email address is required." : "要寄出密碼連結給使用者之前需要設定一組 email 位址",
"Unable to create user." : "無法建立使用者",
"Unable to delete user." : "無法移除使用者",
- "Error while enabling user." : "啟用用戶時發生錯誤",
- "Error while disabling user." : "停用用戶時發生錯誤",
- "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):" : "為了驗證您的網站,請將下列內容存至您網站,路徑為:well-known/CloudIdVerificationCode.txt\n(請確保全文以一行的格式儲存)",
- "Settings saved" : "設定已存檔",
+ "Error while enabling user." : "啟用使用者時發生錯誤",
+ "Error while disabling user." : "停用使用者時發生錯誤",
+ "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):" : "為了驗證您的網站,請將下列內容存至您網站的根目錄下路徑為:\".well-known/CloudIdVerificationCode.txt\" 的檔案(請確保全文以一行的格式儲存)",
+ "Settings saved" : "設定已儲存",
"Unable to change full name" : "無法變更全名",
- "Unable to change email address" : "無法變更email地址",
+ "Unable to change email address" : "無法變更電子郵件地址",
"Your full name has been changed." : "您的全名已變更",
"Forbidden" : "存取被拒",
"Invalid user" : "無效的使用者",
"Unable to change mail address" : "無法更改 email 地址",
"Email saved" : "Email 已儲存",
- "%1$s changed your password on %2$s." : "%1$s在%2$s時更改了您的密碼",
- "Your password on %s was changed." : "你的密碼在 %s 已變更。",
- "Your password on %s was reset by an administrator." : "您的密碼在 %s 已被管理員重設。",
- "Password for %1$s changed on %2$s" : "%1$s 的密碼已在 %2$s 變更。",
- "Password changed for %s" : "%s 的密碼已變更。",
- "If you did not request this, please contact an administrator." : "如果你未發送此請求 ,請聯絡系統管理員。",
- "%1$s changed your email address on %2$s." : "%1$s 更改你的 email 地址在 %2$s 時。",
- "Your email address on %s was changed." : "你的email地址在 %s 已變更。",
- "Your email address on %s was changed by an administrator." : "你的email地址在 %s 已被管理員變更。",
- "Email address for %1$s changed on %2$s" : "%1$s的Email信箱在%2$s已經變更。",
- "Email address changed for %s" : "%s 的email地址已變更。",
- "The new email address is %s" : "新的email地址為 %s",
+ "%1$s changed your password on %2$s." : "%1$s 在 %2$s 時更改了您的密碼",
+ "Your password on %s was changed." : "你在 %s 的密碼已變更",
+ "Your password on %s was reset by an administrator." : "您在 %s 的密碼已被管理員重設",
+ "Password for %1$s changed on %2$s" : "%1$s 在 %2$s 的密碼已變更",
+ "Password changed for %s" : "%s 的密碼已變更",
+ "If you did not request this, please contact an administrator." : "如果你未發送此請求 ,請聯絡系統管理員",
+ "%1$s changed your email address on %2$s." : "%1$s變更了您在 %2$s 的電子郵件地址",
+ "Your email address on %s was changed." : "您在 %s 的電子郵件地址已變更",
+ "Your email address on %s was changed by an administrator." : "您在 %s 的電子郵件地址已被管理員變更",
+ "Email address for %1$s changed on %2$s" : "%1$s 的電子郵件地址在 %2$s 變更",
+ "Email address changed for %s" : "%s 的電子郵件地址已變更",
+ "The new email address is %s" : "新的電子郵件地址為 %s",
"Your %s account was created" : "您的 %s 帳號已經建立",
"Welcome aboard" : "歡迎加入",
- "Welcome aboard %s" : "%s,歡迎您加入",
- "Your username is: %s" : "你的使用者名稱為: %s",
+ "Welcome aboard %s" : "歡迎加入 %s",
+ "Welcome to your %s account, you can add, protect, and share your data." : "歡迎使用您的 %s 帳戶,您可以加入、保存、分享您的資料",
+ "Your username is: %s" : "您的使用者名稱為: %s",
"Set your password" : "設定您的密碼",
"Go to %s" : "前往 %s",
- "Install Client" : "安裝使用端",
- "Password confirmation is required" : "要求密碼確認",
+ "Install Client" : "安裝客戶端程式",
+ "Password confirmation is required" : "需要密碼確認",
"Couldn't remove app." : "無法移除應用程式",
"Couldn't update app." : "無法更新應用程式",
- "Are you really sure you want add {domain} as trusted domain?" : "您確定要新增 {domain} 為信任的網域?",
+ "Are you really sure you want add {domain} as trusted domain?" : "您確定要新增 {domain} 為信任的網域?",
"Add trusted domain" : "新增信任的網域",
"Migration in progress. Please wait until the migration is finished" : "資料搬移中,請耐心等候直到資料搬移結束",
"Migration started …" : "開始遷移…",
@@ -91,19 +93,20 @@
"Official apps are developed by and within the community. They offer central functionality and are ready for production use." : "官方應用程序是由社區內部和內部開發的。 它們提供核心功能,並可在正式成品使用。",
"Approved apps are developed by trusted developers and have passed a cursory security check. They are actively maintained in an open code repository and their maintainers deem them to be stable for casual to normal use." : "審查通過的應用程式經由可信任的開發人員所設計,並且經過一連串的安全測試,他們在開放的程式庫中維護這些應用程式,而且確保這些應用程式能穩定運作",
"This app is not checked for security issues and is new or known to be unstable. Install at your own risk." : "這個新應用程式並沒有經過安全檢測,可能會是不穩定的,如果您要安裝的話,風險自行負責。",
- "Disabling app …" : "停用應用程式中 ...",
+ "Disabling app …" : "正在停用應用程式…",
"Error while disabling app" : "停用應用程式錯誤",
"Disable" : "停用",
"Enable" : "啟用",
- "Enabling app …" : "啟動中...",
+ "Enabling app …" : "啟用中…",
"Error while enabling app" : "啟用應用程式錯誤",
- "Error: This app can not be enabled because it makes the server unstable" : "錯誤:此應用程序無法啟用,因為它使伺服器不穩定",
- "Error: Could not disable broken app" : "錯誤: 無法啟用已損毀的應用",
- "Error while disabling broken app" : "關閉損毀的應用時發生錯誤",
+ "Error: This app can not be enabled because it makes the server unstable" : "錯誤:此應用程序無法啟用,因為它造成伺服器不穩定",
+ "Error: Could not disable broken app" : "錯誤:無法停用損毀的應用程式",
+ "Error while disabling broken app" : "停用損毀的應用時發生錯誤",
+ "No app updates available" : "沒有可用的應用程式更新",
"Updating...." : "更新中…",
"Error while updating app" : "更新應用程式錯誤",
"Updated" : "已更新",
- "Removing …" : "移除中...",
+ "Removing …" : "移除中…",
"Error while removing app" : "移除應用程式錯誤",
"Remove" : "移除",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "這個應用程式已啟用但是需要更新,您將會在 5 秒後被引導至更新頁面",
@@ -114,7 +117,7 @@
"Enable all" : "全部啟用",
"Allow filesystem access" : "允許檔案系統的存取",
"Disconnect" : "中斷連線",
- "Revoke" : "撤消",
+ "Revoke" : "撤銷",
"Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
@@ -132,9 +135,9 @@
"Not supported!" : "不支援!",
"Press ⌘-C to copy." : "按下 ⌘-C 來複製",
"Press Ctrl-C to copy." : "按下 Ctrl-C 來複製",
- "Error while loading browser sessions and device tokens" : "在載入瀏覽器階段與裝置口令時發生錯誤",
- "Error while creating device token" : "建立裝置token時發生錯誤",
- "Error while deleting the token" : "刪除token時發生錯誤",
+ "Error while loading browser sessions and device tokens" : "在載入瀏覽器階段與裝置 token 時發生錯誤",
+ "Error while creating device token" : "建立裝置 token 時發生錯誤",
+ "Error while deleting the token" : "刪除 token 時發生錯誤",
"An error occurred. Please upload an ASCII-encoded PEM certificate." : "發生錯誤,請您上傳 ASCII 編碼的 PEM 憑證",
"Valid until {date}" : "{date} 前有效",
"Delete" : "刪除",
@@ -143,12 +146,13 @@
"Only visible to local users" : "僅本地用戶可見",
"Only visible to you" : "僅你可見",
"Contacts" : "聯絡人",
- "Visible to local users and to trusted servers" : "僅本地用戶與信任伺服器可見",
+ "Visible to local users and to trusted servers" : "僅本地用戶與信任的伺服器可見",
"Public" : "公開",
- "Will be synced to a global and public address book" : "將會同步全域及公開地址簿",
+ "Will be synced to a global and public address book" : "將會同步到全域公開的通訊錄",
"Verify" : "驗證",
- "Verifying …" : "驗證中....",
- "Select a profile picture" : "選擇大頭貼",
+ "Verifying …" : "驗證中…",
+ "An error occured while changing your language. Please reload the page and try again." : "變更語言時發生錯誤,請重新整理頁面後重試",
+ "Select a profile picture" : "選擇大頭貼照",
"Very weak password" : "密碼強度非常弱",
"Weak password" : "密碼強度弱",
"So-so password" : "密碼強度普通",
@@ -156,20 +160,31 @@
"Strong password" : "密碼強度極佳",
"Groups" : "群組",
"Unable to delete {objName}" : "無法刪除 {objName}",
+ "Error creating group: {message}" : "建立群組錯誤:{message}",
"A valid group name must be provided" : "必須提供一個有效的群組名稱",
- "deleted {groupName}" : "刪除 {groupName}",
+ "deleted {groupName}" : "已刪除 {groupName}",
"undo" : "復原",
"{size} used" : "{size} 已使用",
"never" : "永不",
"deleted {userName}" : "刪除 {userName}",
+ "No user found for <strong>{pattern}</strong>" : "沒有找到符合 <strong>{pattern}</strong> 的使用者",
+ "Unable to add user to group {group}" : "無法將使用者加至群組 {group}",
+ "Unable to remove user from group {group}" : "無法自群組 {group} 中移除使用者",
"Add group" : "新增群組",
+ "Invalid quota value \"{val}\"" : "無效的空間限額設定值 \"{val}\"",
"no group" : "沒有群組",
"Password successfully changed" : "成功變更密碼",
"Changing the password will result in data loss, because data recovery is not available for this user" : "更改密碼會造成資料遺失,因為資料復原的功能無法在這個使用者使用",
+ "Could not change the users email" : "無法變更使用者電子郵件信箱",
+ "Error while changing status of {user}" : "變更使用者 {user} 的狀態出錯",
"A valid username must be provided" : "必須提供一個有效的用戶名",
+ "Error creating user: {message}" : "建立使用者錯誤:{message}",
"A valid password must be provided" : "一定要提供一個有效的密碼",
"A valid email must be provided" : "必須提供一個有效的電子郵件地址",
"Developer documentation" : "開發者說明文件",
+ "View in store" : "在商店中檢視",
+ "Limit to groups" : "限制給特定群組",
+ "by %s" : "由 %s",
"%s-licensed" : "%s 授權",
"Documentation:" : "說明文件:",
"User documentation" : "用戶說明文件",
@@ -181,6 +196,7 @@
"This app has an update available." : "此應用程式有可用的更新",
"This app cannot be installed because the following dependencies are not fulfilled:" : "這個應用程式無法被安裝,因為欠缺下列相依套件:",
"Enable only for specific groups" : "僅對特定的群組啟用",
+ "SSL Root Certificates" : "SSL 根憑證",
"Common Name" : "Common Name",
"Valid until" : "到期日",
"Issued By" : "發行者:",
@@ -189,13 +205,17 @@
"Administrator documentation" : "管理者說明文件",
"Online documentation" : "線上說明文件",
"Forum" : "論壇",
+ "Getting help" : "取得協助",
"Commercial support" : "商用支援",
"None" : "無",
"Login" : "登入",
"Plain" : "Plain",
"NT LAN Manager" : "NT LAN Manager",
+ "SSL/TLS" : "SSL/TLS",
+ "STARTTLS" : "STARTTLS",
"Email server" : "郵件伺服器",
"Open documentation" : "開啟說明文件",
+ "It is important to set up this server to be able to send emails, like for password reset and notifications." : "設定伺服器可以寄送電子郵件非常重要,使用者通知和密碼重設將會需要",
"Send mode" : "寄送模式",
"Encryption" : "加密",
"From address" : "寄件地址",
@@ -211,9 +231,10 @@
"Test email settings" : "測試郵件設定",
"Send email" : "寄送郵件",
"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." : "一旦加密模式啟動,從各地上傳到伺服器端的檔案都會被加密,若日後要停用加密,需要加密模組的支援,而且所有的設定(例如: 還原金鑰)都正確",
+ "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." : "一旦加密模式啟動,從各地上傳到伺服器端的檔案都會被加密,若日後要停用加密,需要加密模組的支援,而且所有的設定(例如:還原金鑰)都正確",
"Be aware that encryption always increases the file size." : "請注意,加密一定會增加檔案的大小",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "定時備份您的資料沒有壞處,若您有啟用加密,請確保您也有備份加密金鑰",
"This is the final warning: Do you really want to enable encryption?" : "這是最後的警告:請問您真的要開啟加密模式?",
@@ -228,42 +249,74 @@
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "這大概是由快取或是加速器像是 Zend OPcache, eAccelerator 造成的",
"System locale can not be set to a one which supports UTF-8." : "無法設定為一個支援 UTF-8 的系統語系",
"All checks passed." : "所有檢查正常",
+ "Background jobs" : "背景工作",
+ "Last job ran %s." : "上次背景工作執行於 %s",
+ "Last job execution ran %s. Something seems wrong." : "上次背景工作執行於 %s ,似乎有點問題",
+ "Background job didn’t run yet!" : "背景工作從未執行!",
+ "For optimal performance it's important to configure background jobs correctly. For bigger instances 'Cron' is the recommended setting. Please see the documentation for more information." : "為了獲得最佳的效能,設定背景工作非常重要,對於比較大的服務來說,建議使用 Cron 設定,請查閱說明文件以獲得更多資訊。",
"Execute one task with each page loaded" : "每個頁面載入時執行",
+ "cron.php is registered at a webcron service to call cron.php every 15 minutes over HTTP." : "cron.php 已經在一個 webcron 服務中註冊,每 15 分鐘將會透過 HTTP 呼叫 cron.php",
+ "Use system cron service to call the cron.php file every 15 minutes." : "使用系統的 cron 服務來每隔 15 分鐘呼叫 cron.php",
+ "The cron.php needs to be executed by the system user \"%s\"." : "cron.php 必須由系統使用者 \"%s\" 來執行",
+ "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "要執行這個,您需要 PHP POSIX 擴充元件,請查閱 {linkstart}PHP 說明文件{linkend} 以獲得更多細節。",
"Version" : "版本",
"Sharing" : "分享",
+ "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "系統管理員可以微調分享行為,請查閱說明文件以獲得更多資訊。",
"Allow apps to use the Share API" : "允許 apps 使用分享 API",
"Allow users to share via link" : "允許使用者透過連結分享",
"Allow public uploads" : "允許公開上傳",
+ "Always ask for a password" : "總是詢問密碼",
"Enforce password protection" : "強制分享連結使用密碼保護",
"Set default expiration date" : "設定預設到期日",
"Expire after " : "在什麼時候過期",
"days" : "天",
"Enforce expiration date" : "強制分享連結設定到期日",
"Allow resharing" : "允許轉貼分享",
+ "Allow sharing with groups" : "允許與群組分享",
"Restrict users to only share with users in their groups" : "限制使用者只能分享給群組裡的其他使用者",
"Exclude groups from sharing" : "禁止特定群組分享檔案",
"These groups will still be able to receive shares, but not to initiate them." : "這些群組仍然能接受其他人的分享,但是沒有辦法發起分享",
+ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "允許使用者名稱自動補齊在分享對話框,如果停用這個功能,必須輸入完整的使用者名稱或電子郵件地址",
+ "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." : "這段文字會在公開檔案上傳頁面檔案清單被隱藏的時候顯示",
"Tips & tricks" : "技巧和提示",
+ "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "這裡有很多功能和設定選項讓您客製化您的服務,以下有一些建議和提示",
+ "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "目前您的後端資料庫使用 SQLite,在大型服務當中,我們建議您使用其他的資料庫後端。",
+ "This is particularly recommended when using the desktop client for file synchronisation." : "若您使用桌面客戶端來同步,尤其建議您更換",
+ "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation ↗</a>." : "若要遷移至另一個資料庫,請使用命令列工具: 'occ db:convert-type' ,或是查閱<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">說明文件</a>。",
"How to do backups" : "如何備份",
"Advanced monitoring" : "進階監控",
"Performance tuning" : "效能調校",
"Improving the config.php" : "改進 config.php",
"Theming" : "佈景主題",
- "Hardening and security guidance" : "增強安全性",
- "You are using <strong>%s</strong> of <strong>%s</strong>" : "您正在使用 <strong>%s</strong> 的 <strong>%s</strong>",
- "Profile picture" : "大頭照",
+ "Check the security of your Nextcloud over our security scan" : "使用我們的掃描服務來檢查您 Nextcloud 的安全性",
+ "Hardening and security guidance" : "增強安全指南",
+ "Personal" : "個人",
+ "Administration" : "管理",
+ "You are using <strong>%s</strong> of <strong>%s</strong>" : "您正在使用 <strong>%s</strong> ,共有 <strong>%s</strong>",
+ "You are using <strong>%s</strong> of <strong>%s</strong> (<strong>%s %%</strong>)" : "您正在使用 <strong>%s</strong> ,共有 <strong>%s</strong>(<strong>%s %%</strong>)",
+ "Profile picture" : "大頭貼照",
"Upload new" : "上傳新的",
- "Select from Files" : "從檔案應用程式選擇",
+ "Select from Files" : "從雲端檔案選擇",
"Remove image" : "移除圖片",
"png or jpg, max. 20 MB" : "png 或 jpg ,最大 20 MB",
"Picture provided by original account" : "原本的帳戶提供的圖片",
"Cancel" : "取消",
- "Choose as profile picture" : "選為大頭照",
+ "Choose as profile picture" : "設定為大頭貼照",
"Full name" : "全名",
"No display name set" : "未設定顯示名稱",
"Email" : "信箱",
"Your email address" : "您的電子郵件信箱",
"No email address set" : "未設定電子郵件信箱",
+ "For password reset and notifications" : "用於密碼重設和通知信件",
+ "Phone number" : "電話號碼",
+ "Your phone number" : "您的電話號碼",
+ "Address" : "地址",
+ "Your postal address" : "您的郵遞地址",
+ "Website" : "網站",
+ "Link https://…" : "連結 https://...",
+ "Twitter" : "Twitter",
+ "Twitter handle @…" : "Twitter 用戶名 @...",
"You are member of the following groups:" : "您的帳號屬於這些群組:",
"Language" : "語言",
"Help translate" : "幫助翻譯",
@@ -271,9 +324,25 @@
"Current password" : "目前密碼",
"New password" : "新密碼",
"Change password" : "變更密碼",
+ "Web, desktop and mobile clients currently logged in to your account." : "目前登入您的帳號的網頁、桌面和行動裝置客戶端",
+ "Device" : "裝置",
+ "Last activity" : "上次活動",
+ "App name" : "應用程式名稱",
+ "Create new app password" : "建立新的應用程式密碼",
+ "Use the credentials below to configure your app or device." : "請使用下方的登入資訊來設定您的應用程式或是裝置",
+ "For security reasons this password will only be shown once." : "基於安全性考量,這個密碼只會顯示一次",
"Username" : "使用者名稱",
+ "Done" : "完成",
+ "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "由 {communityopen}Nextcloud 社群{linkclose}開發,{githubopen}原始碼{linkclose}以 {licenseopen}AGPL 授權{linkclose}釋出",
+ "Follow us on Google+" : "在 Google+ 上面追蹤我們",
+ "Like our Facebook page" : "到我們的 Facebook 頁面按讚",
+ "Follow us on Twitter" : "在 Twitter 上面追蹤我們",
+ "Check out our blog" : "逛逛我們的部落格",
+ "Subscribe to our newsletter" : "訂閱我們的電子報",
+ "Settings" : "設定",
"Show storage location" : "顯示儲存位置",
- "Show user backend" : "顯示用戶後台",
+ "Show user backend" : "顯示使用者資料後端",
+ "Show last login" : "顯示上次登入時間",
"Show email address" : "顯示電子郵件信箱",
"Send email to new user" : "寄送郵件給新用戶",
"E-Mail" : "電子郵件",
@@ -282,10 +351,15 @@
"Enter the recovery password in order to recover the users files during password change" : "為了修改密碼時能夠取回使用者資料,請輸入另一組還原用密碼",
"Everyone" : "所有人",
"Admins" : "管理者",
- "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "請輸入空間配額(例如 \"512 MB\" 或是 \"12 GB\")",
+ "Disabled" : "已停用",
+ "Default quota" : "預設儲存容量限制",
+ "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "請輸入儲存容量限制(例如 \"512 MB\" 或是 \"12 GB\")",
"Unlimited" : "無限制",
"Other" : "其他",
+ "Group admin for" : "群組管理員",
"Quota" : "容量限制",
+ "Storage location" : "儲存位址",
+ "User backend" : "使用者資料後端",
"change full name" : "變更全名",
"set new password" : "設定新密碼",
"change email address" : "更改電子郵件地址",
@@ -293,7 +367,7 @@
"Enabled" : "已啓用",
"Not enabled" : "未啟用",
"Please provide an admin recovery password, otherwise all user data will be lost" : "請提供管理者還原密碼,否則會遺失所有使用者資料",
- "Backend doesn't support password change, but the user's encryption key was successfully updated." : "後端不支援變更密碼,但成功更新使用者的加密金鑰",
+ "Backend doesn't support password change, but the user's encryption key was successfully updated." : "使用者資料後端不支援變更密碼,但成功變更使用者的加密金鑰",
"test email settings" : "測試郵件設定",
"Invalid request" : "無效請求",
"Admins can't remove themself from the admin group" : "管理者帳號無法從管理者群組中移除",
@@ -325,15 +399,33 @@
"Cron was not executed yet!" : "Cron 沒有執行!",
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "已經與 webcron 服務註冊好,將會每 15 分鐘透過 HTTP 呼叫 cron.php",
"Use system's cron service to call the cron.php file every 15 minutes." : "使用系統的 cron 服務每 15 分鐘呼叫 cron.php 一次",
+ "To run this you need the PHP posix extension. See {linkstart}PHP documentation{linkend} for more details." : "要執行這個,您需要 PHP POSIX 擴充元件,請查閱 {linkstart}PHP 說明文件{linkend} 以獲得更多細節。",
"Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "允許使用者名稱自動補齊在分享對話框,如果取消這個功能,必須完整輸入使用者名稱",
+ "Uninstall app" : "解除安裝應用程式",
"Cheers!" : "太棒了!",
+ "Hey there,\n\njust letting you know that you now have a %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "嗨,\n\n通知您一聲,您現在有了 %s 的帳號。\n\n您的帳號:%s\n開通帳號:%s\n\n",
"For password recovery and notifications" : "用於密碼重設和通知",
+ "Your website" : "您的網站",
+ "Your Twitter handle" : "您的 Twitter 帳號",
"Get the apps to sync your files" : "下載應用程式來同步您的檔案",
"Desktop client" : "桌面客戶端",
"Android app" : "Android 應用程式",
"iOS app" : "iOS 應用程式",
"Show First Run Wizard again" : "再次顯示首次使用精靈",
+ "Passcodes that give an app or device permissions to access your account." : "通行碼會給應用程式或裝置存取您帳戶的權限",
"Name" : "名稱",
- "Show last log in" : "顯示最近登入"
+ "Follow us on Google Plus!" : "在 Google+ 上面追蹤我們",
+ "Like our facebook page!" : "到我們的 Facebook 頁面按讚",
+ "Subscribe to our twitter channel!" : "訂閱我們的 Twitter 頻道",
+ "Subscribe to our news feed!" : "訂閱我們的新聞饋流",
+ "Subscribe to our newsletter!" : "訂閱我們的電子報",
+ "Show last log in" : "顯示最近登入",
+ "Group name" : "群組名稱",
+ "Verifying" : "驗證中",
+ "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with MIME type detection." : "未偵測到 PHP 模組 'fileinfo'。我們強烈建議啟用這個模組以取得最好的 MIME 檔案類型偵測支援。",
+ "Web, desktop, mobile clients and app specific passwords that currently have access to your account." : "目前有權存取您的帳號的網頁、桌面、行動裝置客戶端和應用程式密碼",
+ "Follow us on Google+!" : "在 Google+ 上面追蹤我們",
+ "Follow us on Twitter!" : "在 Twitter 上面追蹤我們",
+ "Check out our blog!" : "逛逛我們的部落格"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/tests/Core/Controller/AvatarControllerTest.php b/tests/Core/Controller/AvatarControllerTest.php
index de568438022..3194d671908 100644
--- a/tests/Core/Controller/AvatarControllerTest.php
+++ b/tests/Core/Controller/AvatarControllerTest.php
@@ -134,9 +134,7 @@ class AvatarControllerTest extends \Test\TestCase {
$response = $this->avatarController->getAvatar('userId', 32);
//Comment out until JS is fixed
- //$this->assertEquals(Http::STATUS_NOT_FOUND, $response->getStatus());
- $this->assertEquals(Http::STATUS_OK, $response->getStatus());
- $this->assertEquals('displayName', $response->getData()['data']['displayname']);
+ $this->assertEquals(Http::STATUS_NOT_FOUND, $response->getStatus());
}
/**
@@ -167,9 +165,7 @@ class AvatarControllerTest extends \Test\TestCase {
$response = $this->avatarController->getAvatar('userDoesNotExist', 32);
//Comment out until JS is fixed
- //$this->assertEquals(Http::STATUS_NOT_FOUND, $response->getStatus());
- $this->assertEquals(Http::STATUS_OK, $response->getStatus());
- $this->assertEquals('userDoesNotExist', $response->getData()['data']['displayname']);
+ $this->assertEquals(Http::STATUS_NOT_FOUND, $response->getStatus());
}
/**
diff --git a/tests/Core/Controller/ClientFlowLoginControllerTest.php b/tests/Core/Controller/ClientFlowLoginControllerTest.php
index 99388e2c441..21673863223 100644
--- a/tests/Core/Controller/ClientFlowLoginControllerTest.php
+++ b/tests/Core/Controller/ClientFlowLoginControllerTest.php
@@ -425,10 +425,14 @@ class ClientFlowLoginControllerTest extends TestCase {
);
$this->request
->expects($this->once())
+ ->method('getServerProtocol')
+ ->willReturn('http');
+ $this->request
+ ->expects($this->once())
->method('getServerHost')
->willReturn('example.com');
- $expected = new Http\RedirectResponse('nc://login/server:example.com&user:MyLoginName&password:MyGeneratedToken');
+ $expected = new Http\RedirectResponse('nc://login/server:http://example.com&user:MyLoginName&password:MyGeneratedToken');
$this->assertEquals($expected, $this->clientFlowLoginController->generateAppPassword('MyStateToken'));
}
@@ -573,10 +577,14 @@ class ClientFlowLoginControllerTest extends TestCase {
);
$this->request
->expects($this->once())
+ ->method('getServerProtocol')
+ ->willReturn('http');
+ $this->request
+ ->expects($this->once())
->method('getServerHost')
->willReturn('example.com');
- $expected = new Http\RedirectResponse('nc://login/server:example.com&user:MyLoginName&password:MyGeneratedToken');
+ $expected = new Http\RedirectResponse('nc://login/server:http://example.com&user:MyLoginName&password:MyGeneratedToken');
$this->assertEquals($expected, $this->clientFlowLoginController->generateAppPassword('MyStateToken'));
}
}
diff --git a/tests/acceptance/features/app-theming.feature b/tests/acceptance/features/app-theming.feature
index 9f5ac3f6a42..375e2bc1cae 100644
--- a/tests/acceptance/features/app-theming.feature
+++ b/tests/acceptance/features/app-theming.feature
@@ -5,19 +5,19 @@ Feature: app-theming
And I visit the settings page
And I open the "Theming" section
And I see that the color selector in the Theming app has loaded
- And I see that the header color is "0082C9"
- When I set the "Color" parameter in the Theming app to "C9C9C9"
+ And I see that the header color is "#0082C9"
+ When I set the "Color" parameter in the Theming app to "#C9C9C9"
Then I see that the parameters in the Theming app are eventually saved
- And I see that the header color is "C9C9C9"
+ And I see that the header color is "#C9C9C9"
Scenario: resetting the color updates the header color
Given I am logged in as the admin
And I visit the settings page
And I open the "Theming" section
And I see that the color selector in the Theming app has loaded
- And I set the "Color" parameter in the Theming app to "C9C9C9"
+ And I set the "Color" parameter in the Theming app to "#C9C9C9"
And I see that the parameters in the Theming app are eventually saved
- And I see that the header color is "C9C9C9"
+ And I see that the header color is "#C9C9C9"
When I reset the "Color" parameter in the Theming app to its default value
Then I see that the parameters in the Theming app are eventually saved
- And I see that the header color is "0082C9"
+ And I see that the header color is "#0082C9"
diff --git a/tests/acceptance/features/bootstrap/ThemingAppContext.php b/tests/acceptance/features/bootstrap/ThemingAppContext.php
index a36ce7b297e..e8a8a301ed7 100644
--- a/tests/acceptance/features/bootstrap/ThemingAppContext.php
+++ b/tests/acceptance/features/bootstrap/ThemingAppContext.php
@@ -84,24 +84,23 @@ class ThemingAppContext implements Context, ActorAwareInterface {
* @Then I see that the color selector in the Theming app has loaded
*/
public function iSeeThatTheColorSelectorInTheThemingAppHasLoaded() {
- // When the color selector is loaded it removes the leading '#' from the
- // value property of the input field object it is linked to, and changes
- // the background color of the input field to that value. The only way
- // to know that the color selector has loaded is to look for any of
- // those changes.
+ // Checking if the color selector has loaded by getting the background color
+ // of the input element. If the value present in the element matches the
+ // background of the input element, it means the color element has been
+ // initialized.
PHPUnit_Framework_Assert::assertTrue($this->actor->find(self::inputFieldFor("Color"), 10)->isVisible());
$actor = $this->actor;
$colorSelectorLoadedCallback = function() use($actor) {
- $colorSelectorValue = $actor->getSession()->evaluateScript("return $('#theming-color')[0].value;");
-
- if ($colorSelectorValue[0] === '#') {
- return false;
+ $colorSelectorValue = $this->getRGBArray($actor->getSession()->evaluateScript("return $('#theming-color')[0].value;"));
+ $inputBgColor = $this->getRGBArray($actor->getSession()->evaluateScript("return $('#theming-color').css('background-color');"));
+ if ($colorSelectorValue == $inputBgColor) {
+ return true;
}
- return true;
+ return false;
};
if (!Utils::waitFor($colorSelectorLoadedCallback, $timeout = 10 * $this->actor->getFindTimeoutMultiplier(), $timeoutStep = 1)) {
@@ -109,24 +108,29 @@ class ThemingAppContext implements Context, ActorAwareInterface {
}
}
+ private function getRGBArray ($color) {
+ if (preg_match("/rgb\(\s*(\d+),\s*(\d+),\s*(\d+)\)/", $color, $matches)) {
+ // Already an RGB (R, G, B) color
+ // Convert from "rgb(R, G, B)" string to RGB array
+ $tmpColor = array_splice($matches, 1);
+ } else if ($color[0] === '#') {
+ $color = substr($color, 1);
+ // HEX Color, convert to RGB array.
+ $tmpColor = sscanf($color, "%02X%02X%02X");
+ } else {
+ PHPUnit_Framework_Assert::fail("The acceptance test does not know how to handle the color string : '$color'. "
+ . "Please provide # before HEX colors in your features.");
+ }
+ return $tmpColor;
+ }
+
/**
* @Then I see that the header color is :color
*/
public function iSeeThatTheHeaderColorIs($color) {
$headerColor = $this->actor->getSession()->evaluateScript("return $('#header').css('background-color');");
-
- if ($headerColor[0] === '#') {
- $headerColor = substr($headerColor, 1);
- } else if (preg_match("/rgb\(\s*(\d+),\s*(\d+),\s*(\d+)\)/", $headerColor, $matches)) {
- // Convert from hex string to RGB array
- $color = sscanf($color, "%02X%02X%02X");
-
- // Convert from "rgb(R, G, B)" string to RGB array
- $headerColor = array_splice($matches, 1);
- } else {
- PHPUnit_Framework_Assert::fail("The acceptance test does not know how to handle the color string returned by the browser: $headerColor");
- }
-
+ $headerColor = $this->getRGBArray($headerColor);
+ $color = $this->getRGBArray($color);
PHPUnit_Framework_Assert::assertEquals($color, $headerColor);
}
diff --git a/tests/lib/AvatarTest.php b/tests/lib/AvatarTest.php
index cea3f9bed1a..240aecc115e 100644
--- a/tests/lib/AvatarTest.php
+++ b/tests/lib/AvatarTest.php
@@ -12,6 +12,8 @@ use OC\Files\SimpleFS\SimpleFolder;
use OC\User\User;
use OCP\Files\File;
use OCP\Files\Folder;
+use OCP\Files\NotFoundException;
+use OCP\Files\SimpleFS\ISimpleFile;
use OCP\IConfig;
use OCP\IL10N;
use OCP\ILogger;
@@ -49,7 +51,35 @@ class AvatarTest extends \Test\TestCase {
}
public function testGetNoAvatar() {
- $this->assertEquals(false, $this->avatar->get());
+ $file = $this->createMock(ISimpleFile::class);
+ $this->folder->method('newFile')
+ ->willReturn($file);
+
+ $this->folder->method('getFile')
+ ->will($this->returnCallback(function($path) {
+ if ($path === 'avatar.64.png') {
+ throw new NotFoundException();
+ }
+ }));
+ $this->folder->method('fileExists')
+ ->will($this->returnCallback(function($path) {
+ if ($path === 'generated') {
+ return true;
+ }
+ return false;
+ }));
+
+ $data = NULL;
+ $file->method('putContent')
+ ->with($this->callback(function ($d) use (&$data) {
+ $data = $d;
+ return true;
+ }));
+
+ $file->method('getContent')
+ ->willReturn($data);
+
+ $this->assertEquals($data, $this->avatar->get()->data());
}
public function testGetAvatarSizeMatch() {
@@ -161,13 +191,13 @@ class AvatarTest extends \Test\TestCase {
->willReturn('avatar.32.jpg');
$resizedAvatarFile->expects($this->once())->method('delete');
- $nonAvatarFile = $this->createMock(File::class);
- $nonAvatarFile->method('getName')
- ->willReturn('avatarX');
- $nonAvatarFile->expects($this->never())->method('delete');
-
$this->folder->method('getDirectoryListing')
- ->willReturn([$avatarFileJPG, $avatarFilePNG, $resizedAvatarFile, $nonAvatarFile]);
+ ->willReturn([$avatarFileJPG, $avatarFilePNG, $resizedAvatarFile]);
+
+ $generated = $this->createMock(File::class);
+ $this->folder->method('getFile')
+ ->with('generated')
+ ->willReturn($generated);
$newFile = $this->createMock(File::class);
$this->folder->expects($this->once())