summaryrefslogtreecommitdiffstats
path: root/l10n/da/settings.po
diff options
context:
space:
mode:
authorJenkins for ownCloud <thomas.mueller@tmit.eu>2013-03-30 00:06:29 +0100
committerJenkins for ownCloud <thomas.mueller@tmit.eu>2013-03-30 00:06:29 +0100
commit5e74ec26a89df22a487e1e11cb764e8d4b4e3d9c (patch)
tree322bef34a3890b8251c2d369502278a613810c81 /l10n/da/settings.po
parent86ac30c596868b581d0d1f103807ab48cac0041a (diff)
downloadnextcloud-server-5e74ec26a89df22a487e1e11cb764e8d4b4e3d9c.tar.gz
nextcloud-server-5e74ec26a89df22a487e1e11cb764e8d4b4e3d9c.zip
[tx-robot] updated from transifex
Diffstat (limited to 'l10n/da/settings.po')
-rw-r--r--l10n/da/settings.po42
1 files changed, 23 insertions, 19 deletions
diff --git a/l10n/da/settings.po b/l10n/da/settings.po
index 57f9c33b599..a51002d3889 100644
--- a/l10n/da/settings.po
+++ b/l10n/da/settings.po
@@ -19,9 +19,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-03-07 00:16+0100\n"
-"PO-Revision-Date: 2013-03-06 11:50+0000\n"
-"Last-Translator: Morten Juhl-Johansen Zölde-Fejér <morten@writtenandread.net>\n"
+"POT-Creation-Date: 2013-03-30 00:04+0100\n"
+"PO-Revision-Date: 2013-03-29 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -104,7 +104,7 @@ msgstr "Opdatér til {appversion}"
msgid "Disable"
msgstr "Deaktiver"
-#: js/apps.js:36 js/apps.js:64
+#: js/apps.js:36 js/apps.js:64 js/apps.js:83
msgid "Enable"
msgstr "Aktiver"
@@ -112,19 +112,19 @@ msgstr "Aktiver"
msgid "Please wait...."
msgstr "Vent venligst..."
-#: js/apps.js:84
+#: js/apps.js:90
msgid "Updating...."
msgstr "Opdaterer...."
-#: js/apps.js:87
+#: js/apps.js:93
msgid "Error while updating app"
msgstr "Der opstod en fejl under app opgraderingen"
-#: js/apps.js:87
+#: js/apps.js:93
msgid "Error"
msgstr "Fejl"
-#: js/apps.js:90
+#: js/apps.js:96
msgid "Updated"
msgstr "Opdateret"
@@ -132,24 +132,24 @@ msgstr "Opdateret"
msgid "Saving..."
msgstr "Gemmer..."
-#: js/users.js:30
+#: js/users.js:31
msgid "deleted"
msgstr "Slettet"
-#: js/users.js:30
+#: js/users.js:31
msgid "undo"
msgstr "fortryd"
-#: js/users.js:62
+#: js/users.js:63
msgid "Unable to remove user"
msgstr "Kan ikke fjerne bruger"
-#: js/users.js:75 templates/users.php:26 templates/users.php:80
+#: js/users.js:76 templates/users.php:26 templates/users.php:80
#: templates/users.php:105
msgid "Groups"
msgstr "Grupper"
-#: js/users.js:78 templates/users.php:82 templates/users.php:119
+#: js/users.js:79 templates/users.php:82 templates/users.php:119
msgid "Group Admin"
msgstr "Gruppe Administrator"
@@ -157,19 +157,19 @@ msgstr "Gruppe Administrator"
msgid "Delete"
msgstr "Slet"
-#: js/users.js:191
+#: js/users.js:243
msgid "add group"
msgstr "Tilføj gruppe"
-#: js/users.js:352
+#: js/users.js:407
msgid "A valid username must be provided"
msgstr "Et gyldigt brugernavn skal angives"
-#: js/users.js:353 js/users.js:359 js/users.js:374
+#: js/users.js:408 js/users.js:414 js/users.js:429
msgid "Error creating user"
msgstr "Fejl ved oprettelse af bruger"
-#: js/users.js:358
+#: js/users.js:413
msgid "A valid password must be provided"
msgstr "En gyldig adgangskode skal angives"
@@ -328,11 +328,15 @@ msgstr "Log niveau"
msgid "More"
msgstr "Mere"
-#: templates/admin.php:230 templates/personal.php:102
+#: templates/admin.php:224
+msgid "Less"
+msgstr ""
+
+#: templates/admin.php:231 templates/personal.php:102
msgid "Version"
msgstr "Version"
-#: templates/admin.php:233 templates/personal.php:105
+#: templates/admin.php:234 templates/personal.php:105
msgid ""
"Developed by the <a href=\"http://ownCloud.org/contact\" "
"target=\"_blank\">ownCloud community</a>, the <a "
t: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
/**
* @copyright 2014 Vincent Petry <pvince81@owncloud.com>
 *
 * @author John Molakvoæ <skjnldsv@protonmail.com>
 * @author Vincent Petry <vincent@nextcloud.com>
 *
 * @license GNU AGPL version 3 or any later version
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 *
 */

describe('OCA.Files.App tests', function() {
	var App = OCA.Files.App;
	var pushStateStub;
	var replaceStateStub;
	var parseUrlQueryStub;

	beforeEach(function() {
		$('#testArea').append(
			'<div id="content" class="app-files">' +
			'<div id="app-navigation">' +
			'<ul><li data-id="files"><a>Files</a></li>' +
			'<li data-id="other"><a>Other</a></li>' +
			'</div>' +
			'<div id="app-content">' +
			'<div id="app-content-files" class="hidden">' +
			'</div>' +
			'<div id="app-content-other" class="hidden">' +
			'</div>' +
			'</div>' +
			'</div>' +
			'</div>'
		);

		OCA.Files.fileActions = new OCA.Files.FileActions();

		pushStateStub = sinon.stub(OC.Util.History, 'pushState');
		replaceStateStub = sinon.stub(OC.Util.History, 'replaceState');
		parseUrlQueryStub = sinon.stub(OC.Util.History, 'parseUrlQuery');
		parseUrlQueryStub.returns({});

		App.initialize();
	});
	afterEach(function() {
		App.destroy();

		pushStateStub.restore();
		replaceStateStub.restore();
		parseUrlQueryStub.restore();
	});

	describe('initialization', function() {
		it('initializes the default file list with the default file actions', function() {
			expect(App.fileList).toBeDefined();
			expect(App.fileList.fileActions.actions.all).toBeDefined();
			expect(App.fileList.$el.is('#app-content-files')).toEqual(true);
		});
	});

	describe('URL handling', function() {
		it('pushes the state to the URL when current app changed directory', function() {
			$('#app-content-files').trigger(new $.Event('changeDirectory', {dir: 'sub dir'}));
			expect(pushStateStub.calledOnce).toEqual(true);
			var params = OC.parseQueryString(pushStateStub.getCall(0).args[0]);
			expect(params.dir).toEqual('sub dir');
			expect(params.view).not.toBeDefined();

			$('li[data-id=other]>a').click();
			pushStateStub.reset();

			$('#app-content-other').trigger(new $.Event('changeDirectory', {dir: 'sub dir'}));
			expect(pushStateStub.calledOnce).toEqual(true);
			params = OC.parseQueryString(pushStateStub.getCall(0).args[0]);
			expect(params.dir).toEqual('sub dir');
			expect(params.view).toEqual('other');
		});
		it('replaces the state to the URL when fileid is known', function() {
			$('#app-content-files').trigger(new $.Event('changeDirectory', {dir: 'sub dir'}));
			expect(pushStateStub.calledOnce).toEqual(true);
			var params = OC.parseQueryString(pushStateStub.getCall(0).args[0]);
			expect(params.dir).toEqual('sub dir');
			expect(params.view).not.toBeDefined();
			expect(replaceStateStub.notCalled).toEqual(true);

			parseUrlQueryStub.returns({dir: 'sub dir'});

			$('#app-content-files').trigger(new $.Event('afterChangeDirectory', {dir: 'sub dir', fileId: 123}));

			expect(pushStateStub.calledOnce).toEqual(true);
			expect(replaceStateStub.calledOnce).toEqual(true);
			params = OC.parseQueryString(replaceStateStub.getCall(0).args[0]);
			expect(params.dir).toEqual('sub dir');
			expect(params.view).not.toBeDefined();
			expect(params.fileid).toEqual('123');
		});
		describe('onpopstate', function() {
			it('sends "urlChanged" event to current app', function() {
				var handler = sinon.stub();
				$('#app-content-files').on('urlChanged', handler);
				App._onPopState({view: 'files', dir: '/somedir'});
				expect(handler.calledOnce).toEqual(true);
				expect(handler.getCall(0).args[0].view).toEqual('files');
				expect(handler.getCall(0).args[0].dir).toEqual('/somedir');
			});
			it('sends "show" event to current app and sets navigation', function() {
				var showHandlerFiles = sinon.stub();
				var showHandlerOther = sinon.stub();
				var hideHandlerFiles = sinon.stub();
				var hideHandlerOther = sinon.stub();
				$('#app-content-files').on('show', showHandlerFiles);
				$('#app-content-files').on('hide', hideHandlerFiles);
				$('#app-content-other').on('show', showHandlerOther);
				$('#app-content-other').on('hide', hideHandlerOther);
				App._onPopState({view: 'other', dir: '/somedir'});
				expect(showHandlerFiles.notCalled).toEqual(true);
				expect(hideHandlerFiles.calledOnce).toEqual(true);
				expect(showHandlerOther.calledOnce).toEqual(true);
				expect(hideHandlerOther.notCalled).toEqual(true);

				showHandlerFiles.reset();
				showHandlerOther.reset();
				hideHandlerFiles.reset();
				hideHandlerOther.reset();

				App._onPopState({view: 'files', dir: '/somedir'});
				expect(showHandlerFiles.calledOnce).toEqual(true);
				expect(hideHandlerFiles.notCalled).toEqual(true);
				expect(showHandlerOther.notCalled).toEqual(true);
				expect(hideHandlerOther.calledOnce).toEqual(true);

				expect(App.navigation.getActiveItem()).toEqual('files');
				expect($('#app-content-files').hasClass('hidden')).toEqual(false);
				expect($('#app-content-other').hasClass('hidden')).toEqual(true);
			});
			it('does not send "show" or "hide" event to current app when already visible', function() {
				var showHandler = sinon.stub();
				var hideHandler = sinon.stub();
				$('#app-content-files').on('show', showHandler);
				$('#app-content-files').on('hide', hideHandler);
				App._onPopState({view: 'files', dir: '/somedir'});
				expect(showHandler.notCalled).toEqual(true);
				expect(hideHandler.notCalled).toEqual(true);
			});
			it('state defaults to files app with root dir', function() {
				var handler = sinon.stub();
				parseUrlQueryStub.returns({});
				$('#app-content-files').on('urlChanged', handler);
				App._onPopState();
				expect(handler.calledOnce).toEqual(true);
				expect(handler.getCall(0).args[0].view).toEqual('files');
				expect(handler.getCall(0).args[0].dir).toEqual('/');
			});
			it('activates files app if invalid view is passed', function() {
				App._onPopState({view: 'invalid', dir: '/somedir'});

				expect(App.navigation.getActiveItem()).toEqual('files');
				expect($('#app-content-files').hasClass('hidden')).toEqual(false);
			});
		});
		describe('navigation', function() {
			it('switches the navigation item and panel visibility when onpopstate', function() {
				App._onPopState({view: 'other', dir: '/somedir'});
				expect(App.navigation.getActiveItem()).toEqual('other');
				expect($('#app-content-files').hasClass('hidden')).toEqual(true);
				expect($('#app-content-other').hasClass('hidden')).toEqual(false);
				expect($('li[data-id=files] > a').hasClass('active')).toEqual(false);
				expect($('li[data-id=other] > a').hasClass('active')).toEqual(true);

				App._onPopState({view: 'files', dir: '/somedir'});

				expect(App.navigation.getActiveItem()).toEqual('files');
				expect($('#app-content-files').hasClass('hidden')).toEqual(false);
				expect($('#app-content-other').hasClass('hidden')).toEqual(true);
				expect($('li[data-id=files] > a').hasClass('active')).toEqual(true);
				expect($('li[data-id=other] > a').hasClass('active')).toEqual(false);
			});
			it('clicking on navigation switches the panel visibility', function() {
				$('li[data-id=other] > a').click();
				expect(App.navigation.getActiveItem()).toEqual('other');
				expect($('#app-content-files').hasClass('hidden')).toEqual(true);
				expect($('#app-content-other').hasClass('hidden')).toEqual(false);
				expect($('li[data-id=files] > a').hasClass('active')).toEqual(false);
				expect($('li[data-id=other] > a').hasClass('active')).toEqual(true);

				$('li[data-id=files] > a').click();
				expect(App.navigation.getActiveItem()).toEqual('files');
				expect($('#app-content-files').hasClass('hidden')).toEqual(false);
				expect($('#app-content-other').hasClass('hidden')).toEqual(true);
				expect($('li[data-id=files] > a').hasClass('active')).toEqual(true);
				expect($('li[data-id=other] > a').hasClass('active')).toEqual(false);
			});
			it('clicking on navigation sends "show" and "urlChanged" event', function() {
				var handler = sinon.stub();
				var showHandler = sinon.stub();
				$('#app-content-other').on('urlChanged', handler);
				$('#app-content-other').on('show', showHandler);
				$('li[data-id=other] > a').click();
				expect(handler.calledOnce).toEqual(true);
				expect(handler.getCall(0).args[0].view).toEqual('other');
				expect(handler.getCall(0).args[0].dir).toEqual('/');
				expect(showHandler.calledOnce).toEqual(true);
			});
			it('clicking on activate navigation only sends "urlChanged" event', function() {
				var handler = sinon.stub();
				var showHandler = sinon.stub();
				$('#app-content-files').on('urlChanged', handler);
				$('#app-content-files').on('show', showHandler);
				$('li[data-id=files] > a').click();
				expect(handler.calledOnce).toEqual(true);
				expect(handler.getCall(0).args[0].view).toEqual('files');
				expect(handler.getCall(0).args[0].dir).toEqual('/');
				expect(showHandler.notCalled).toEqual(true);
			});
		});
		describe('viewer mode', function() {
			it('toggles the sidebar when viewer mode is enabled', function() {
				$('#app-content-files').trigger(
					new $.Event('changeViewerMode', {viewerModeEnabled: true}
				));
				expect($('#app-navigation').hasClass('hidden')).toEqual(true);
				expect($('.app-files').hasClass('viewer-mode no-sidebar')).toEqual(true);

				$('#app-content-files').trigger(
					new $.Event('changeViewerMode', {viewerModeEnabled: false}
				));

				expect($('#app-navigation').hasClass('hidden')).toEqual(false);
				expect($('.app-files').hasClass('viewer-mode no-sidebar')).toEqual(false);
			});
		});
	});
});