diff options
Diffstat (limited to 'settings')
36 files changed, 524 insertions, 521 deletions
diff --git a/settings/admin.php b/settings/admin.php index 95afaf1ac0a..976d0a5c3f1 100644 --- a/settings/admin.php +++ b/settings/admin.php @@ -159,6 +159,7 @@ foreach ($forms as $index => $form) { if ($filesExternal) { $formsAndMore[] = array('anchor' => 'files_external', 'section-name' => $l->t('External Storage')); } + $template->assign('fileSharingSettings', $fileSharingSettings); $template->assign('filesExternal', $filesExternal); $template->assign('updaterAppPanel', $updaterAppPanel); @@ -184,12 +185,13 @@ $formsMap = array_map(function ($form) { $formsAndMore = array_merge($formsAndMore, $formsMap); // add bottom hardcoded forms from the template -$formsAndMore[] = array('anchor' => 'backgroundjobs', 'section-name' => $l->t('Cron')); -$formsAndMore[] = array('anchor' => 'mail_general_settings', 'section-name' => $l->t('Email Server')); -$formsAndMore[] = array('anchor' => 'log-section', 'section-name' => $l->t('Log')); -$formsAndMore[] = array('anchor' => 'admin-tips', 'section-name' => $l->t('Tips & tricks')); +$formsAndMore[] = ['anchor' => 'encryptionAPI', 'section-name' => $l->t('Server Side Encryption')]; +$formsAndMore[] = ['anchor' => 'backgroundjobs', 'section-name' => $l->t('Cron')]; +$formsAndMore[] = ['anchor' => 'mail_general_settings', 'section-name' => $l->t('Email Server')]; +$formsAndMore[] = ['anchor' => 'log-section', 'section-name' => $l->t('Log')]; +$formsAndMore[] = ['anchor' => 'admin-tips', 'section-name' => $l->t('Tips & tricks')]; if ($updaterAppPanel) { - $formsAndMore[] = array('anchor' => 'updater', 'section-name' => $l->t('Updates')); + $formsAndMore[] = ['anchor' => 'updater', 'section-name' => $l->t('Updates')]; } $template->assign('forms', $formsAndMore); diff --git a/settings/ajax/decryptall.php b/settings/ajax/decryptall.php deleted file mode 100644 index 5925cee9dfd..00000000000 --- a/settings/ajax/decryptall.php +++ /dev/null @@ -1,62 +0,0 @@ -<?php -/** - * @author Björn Schießle <schiessle@owncloud.com> - * @author Joas Schilling <nickvergessen@owncloud.com> - * @author Lukas Reschke <lukas@owncloud.com> - * @author Morris Jobke <hey@morrisjobke.de> - * @author Robin Appelman <icewind@owncloud.com> - * @author Thomas Müller <thomas.mueller@tmit.eu> - * @author Volkan Gezer <volkangezer@gmail.com> - * - * @copyright Copyright (c) 2015, ownCloud, Inc. - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * - */ -OCP\JSON::checkLoggedIn(); -OCP\JSON::callCheck(); - -//encryption app needs to be loaded -OC_App::loadApp('files_encryption'); - -// init encryption app -$params = array('uid' => \OCP\User::getUser(), - 'password' => (string)$_POST['password']); - -$view = new OC\Files\View('/'); -$util = new \OCA\Files_Encryption\Util($view, \OCP\User::getUser()); -$l = \OC::$server->getL10N('settings'); - -$result = $util->initEncryption($params); - -if ($result !== false) { - - try { - $successful = $util->decryptAll(); - } catch (\Exception $ex) { - \OCP\Util::writeLog('encryption library', "Decryption finished unexpected: " . $ex->getMessage(), \OCP\Util::ERROR); - $successful = false; - } - - $util->closeEncryptionSession(); - - if ($successful === true) { - \OCP\JSON::success(array('data' => array('message' => $l->t('Files decrypted successfully')))); - } else { - \OCP\JSON::error(array('data' => array('message' => $l->t('Couldn\'t decrypt your files, please check your owncloud.log or ask your administrator')))); - } -} else { - \OCP\JSON::error(array('data' => array('message' => $l->t('Couldn\'t decrypt your files, check your password and try again')))); -} - diff --git a/settings/ajax/deletekeys.php b/settings/ajax/deletekeys.php deleted file mode 100644 index 2192eb8c725..00000000000 --- a/settings/ajax/deletekeys.php +++ /dev/null @@ -1,35 +0,0 @@ -<?php -/** - * @author Björn Schießle <schiessle@owncloud.com> - * @author Morris Jobke <hey@morrisjobke.de> - * @author Robin Appelman <icewind@owncloud.com> - * - * @copyright Copyright (c) 2015, ownCloud, Inc. - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * - */ -OCP\JSON::checkLoggedIn(); -OCP\JSON::callCheck(); - -$l = \OC::$server->getL10N('settings'); - -$util = new \OCA\Files_Encryption\Util(new \OC\Files\View(), \OC_User::getUser()); -$result = $util->deleteBackup('decryptAll'); - -if ($result) { - \OCP\JSON::success(array('data' => array('message' => $l->t('Encryption keys deleted permanently')))); -} else { - \OCP\JSON::error(array('data' => array('message' => $l->t('Couldn\'t permanently delete your encryption keys, please check your owncloud.log or ask your administrator')))); -} diff --git a/settings/ajax/disableapp.php b/settings/ajax/disableapp.php index cc02203b4a3..f99969d91a4 100644 --- a/settings/ajax/disableapp.php +++ b/settings/ajax/disableapp.php @@ -31,9 +31,5 @@ if (!array_key_exists('appid', $_POST)) { $appId = (string)$_POST['appid']; $appId = OC_App::cleanAppId($appId); -// FIXME: Clear the cache - move that into some sane helper method -\OC::$server->getMemCacheFactory()->create('settings')->remove('listApps-0'); -\OC::$server->getMemCacheFactory()->create('settings')->remove('listApps-1'); - OC_App::disable($appId); OC_JSON::success(); diff --git a/settings/ajax/enableapp.php b/settings/ajax/enableapp.php index aa688c4964c..b63bce76d92 100644 --- a/settings/ajax/enableapp.php +++ b/settings/ajax/enableapp.php @@ -30,9 +30,6 @@ $groups = isset($_POST['groups']) ? (array)$_POST['groups'] : null; try { OC_App::enable(OC_App::cleanAppId((string)$_POST['appid']), $groups); - // FIXME: Clear the cache - move that into some sane helper method - \OC::$server->getMemCacheFactory()->create('settings')->remove('listApps-0'); - \OC::$server->getMemCacheFactory()->create('settings')->remove('listApps-1'); OC_JSON::success(); } catch (Exception $e) { OC_Log::write('core', $e->getMessage(), OC_Log::ERROR); diff --git a/settings/ajax/restorekeys.php b/settings/ajax/restorekeys.php deleted file mode 100644 index 52c02b3aba4..00000000000 --- a/settings/ajax/restorekeys.php +++ /dev/null @@ -1,35 +0,0 @@ -<?php -/** - * @author Björn Schießle <schiessle@owncloud.com> - * @author Morris Jobke <hey@morrisjobke.de> - * @author Robin Appelman <icewind@owncloud.com> - * - * @copyright Copyright (c) 2015, ownCloud, Inc. - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * - */ -OCP\JSON::checkLoggedIn(); -OCP\JSON::callCheck(); - -$l = \OC::$server->getL10N('settings'); - -$util = new \OCA\Files_Encryption\Util(new \OC\Files\View(), \OC_User::getUser()); -$result = $util->restoreBackup('decryptAll'); - -if ($result) { - \OCP\JSON::success(array('data' => array('message' => $l->t('Backups restored successfully')))); -} else { - \OCP\JSON::error(array('data' => array('message' => $l->t('Couldn\'t restore your encryption keys, please check your owncloud.log or ask your administrator')))); -} diff --git a/settings/application.php b/settings/application.php index b4596037964..be127da31ac 100644 --- a/settings/application.php +++ b/settings/application.php @@ -71,7 +71,10 @@ class Application extends App { $c->query('Request'), $c->query('L10N'), $c->query('Config'), - $c->query('ICacheFactory') + $c->query('ICacheFactory'), + $c->query('INavigationManager'), + $c->query('IAppManager'), + $c->query('OcsClient') ); }); $container->registerService('SecuritySettingsController', function(IContainer $c) { @@ -124,6 +127,7 @@ class Application extends App { $c->query('Request'), $c->query('Config'), $c->query('ClientService'), + $c->query('URLGenerator'), $c->query('Util') ); }); @@ -191,6 +195,15 @@ class Application extends App { $container->registerService('ClientService', function(IContainer $c) { return $c->query('ServerContainer')->getHTTPClientService(); }); + $container->registerService('INavigationManager', function(IContainer $c) { + return $c->query('ServerContainer')->getNavigationManager(); + }); + $container->registerService('IAppManager', function(IContainer $c) { + return $c->query('ServerContainer')->getAppManager(); + }); + $container->registerService('OcsClient', function(IContainer $c) { + return $c->query('ServerContainer')->getOcsClient(); + }); $container->registerService('Util', function(IContainer $c) { return new \OC_Util(); }); diff --git a/settings/apps.php b/settings/apps.php deleted file mode 100644 index 7245b6610e0..00000000000 --- a/settings/apps.php +++ /dev/null @@ -1,42 +0,0 @@ -<?php -/** - * @author Bart Visscher <bartv@thisnet.nl> - * @author Frank Karlitschek <frank@owncloud.org> - * @author Jan-Christoph Borchardt <hey@jancborchardt.net> - * @author Lukas Reschke <lukas@owncloud.com> - * @author Morris Jobke <hey@morrisjobke.de> - * @author Robin Appelman <icewind@owncloud.com> - * @author Thomas Müller <thomas.mueller@tmit.eu> - * - * @copyright Copyright (c) 2015, ownCloud, Inc. - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * - */ - -OC_Util::checkAdminUser(); -\OC::$server->getSession()->close(); - -// Load the files we need -\OC_Util::addVendorScript('handlebars/handlebars'); -\OCP\Util::addScript("settings", "settings"); -\OCP\Util::addStyle("settings", "settings"); -\OC_Util::addVendorScript('select2/select2'); -\OC_Util::addVendorStyle('select2/select2'); -\OCP\Util::addScript("settings", "apps"); -\OC_App::setActiveNavigationEntry( "core_apps" ); - -$tmpl = new OC_Template( "settings", "apps", "user" ); -$tmpl->printPage(); - diff --git a/settings/changepassword/controller.php b/settings/changepassword/controller.php index 1be30b725df..f041cb5b29f 100644 --- a/settings/changepassword/controller.php +++ b/settings/changepassword/controller.php @@ -77,16 +77,43 @@ class Controller { exit(); } - if (\OC_App::isEnabled('files_encryption')) { + if (\OC_App::isEnabled('encryption')) { //handle the recovery case - $util = new \OCA\Files_Encryption\Util(new \OC\Files\View('/'), $username); - $recoveryAdminEnabled = \OC_Appconfig::getValue('files_encryption', 'recoveryAdminEnabled'); + $crypt = new \OCA\Encryption\Crypto\Crypt( + \OC::$server->getLogger(), + \OC::$server->getUserSession(), + \OC::$server->getConfig()); + $keyStorage = \OC::$server->getEncryptionKeyStorage(\OCA\Encryption\Crypto\Encryption::ID); + $util = new \OCA\Encryption\Util( + new \OC\Files\View(), + $crypt, + \OC::$server->getLogger(), + \OC::$server->getUserSession(), + \OC::$server->getConfig()); + $keyManager = new \OCA\Encryption\KeyManager( + $keyStorage, + $crypt, + \OC::$server->getConfig(), + \OC::$server->getUserSession(), + new \OCA\Encryption\Session(\OC::$server->getSession()), + \OC::$server->getLogger(), + $util); + $recovery = new \OCA\Encryption\Recovery( + \OC::$server->getUserSession(), + $crypt, + \OC::$server->getSecureRandom(), + $keyManager, + \OC::$server->getConfig(), + $keyStorage, + \OC::$server->getEncryptionFilesHelper(), + new \OC\Files\View()); + $recoveryAdminEnabled = $recovery->isRecoveryKeyEnabled(); $validRecoveryPassword = false; $recoveryEnabledForUser = false; if ($recoveryAdminEnabled) { - $validRecoveryPassword = $util->checkRecoveryPassword($recoveryPassword); - $recoveryEnabledForUser = $util->recoveryEnabledForUser(); + $validRecoveryPassword = $keyManager->checkRecoveryPassword($recoveryPassword); + $recoveryEnabledForUser = $recovery->isRecoveryEnabledForUser(); } if ($recoveryEnabledForUser && $recoveryPassword === '') { diff --git a/settings/controller/appsettingscontroller.php b/settings/controller/appsettingscontroller.php index 9a85f6d3b97..f1b62bb1d38 100644 --- a/settings/controller/appsettingscontroller.php +++ b/settings/controller/appsettingscontroller.php @@ -27,8 +27,13 @@ namespace OC\Settings\Controller; use OC\App\DependencyAnalyzer; use OC\App\Platform; use OC\OCSClient; +use OCP\App\IAppManager; use \OCP\AppFramework\Controller; +use OCP\AppFramework\Http\ContentSecurityPolicy; +use OCP\AppFramework\Http\DataResponse; +use OCP\AppFramework\Http\TemplateResponse; use OCP\ICacheFactory; +use OCP\INavigationManager; use OCP\IRequest; use OCP\IL10N; use OCP\IConfig; @@ -44,6 +49,12 @@ class AppSettingsController extends Controller { private $config; /** @var \OCP\ICache */ private $cache; + /** @var INavigationManager */ + private $navigationManager; + /** @var IAppManager */ + private $appManager; + /** @var OCSClient */ + private $ocsClient; /** * @param string $appName @@ -51,16 +62,53 @@ class AppSettingsController extends Controller { * @param IL10N $l10n * @param IConfig $config * @param ICacheFactory $cache + * @param INavigationManager $navigationManager + * @param IAppManager $appManager + * @param OCSClient $ocsClient */ public function __construct($appName, IRequest $request, IL10N $l10n, IConfig $config, - ICacheFactory $cache) { + ICacheFactory $cache, + INavigationManager $navigationManager, + IAppManager $appManager, + OCSClient $ocsClient) { parent::__construct($appName, $request); $this->l10n = $l10n; $this->config = $config; $this->cache = $cache->create($appName); + $this->navigationManager = $navigationManager; + $this->appManager = $appManager; + $this->ocsClient = $ocsClient; + } + + /** + * Enables or disables the display of experimental apps + * @param bool $state + * @return DataResponse + */ + public function changeExperimentalConfigState($state) { + $this->config->setSystemValue('appstore.experimental.enabled', $state); + $this->appManager->clearAppsCache(); + return new DataResponse(); + } + + /** + * @NoCSRFRequired + * @return TemplateResponse + */ + public function viewApps() { + $params = []; + $params['experimentalEnabled'] = $this->config->getSystemValue('appstore.experimental.enabled', false); + $this->navigationManager->setActiveEntry('core_apps'); + + $templateResponse = new TemplateResponse($this->appName, 'apps', $params, 'user'); + $policy = new ContentSecurityPolicy(); + $policy->addAllowedImageDomain('https://apps.owncloud.com'); + $templateResponse->setContentSecurityPolicy($policy); + + return $templateResponse; } /** @@ -77,16 +125,15 @@ class AppSettingsController extends Controller { ['id' => 1, 'displayName' => (string)$this->l10n->t('Not enabled')], ]; - if(OCSClient::isAppStoreEnabled()) { - $categories[] = ['id' => 2, 'displayName' => (string)$this->l10n->t('Recommended')]; + if($this->ocsClient->isAppStoreEnabled()) { // apps from external repo via OCS - $ocs = OCSClient::getCategories(); + $ocs = $this->ocsClient->getCategories(); if ($ocs) { foreach($ocs as $k => $v) { - $categories[] = array( + $categories[] = [ 'id' => $k, 'displayName' => str_replace('ownCloud ', '', $v) - ); + ]; } } } @@ -97,7 +144,8 @@ class AppSettingsController extends Controller { } /** - * Get all available categories + * Get all available apps in a category + * * @param int $category * @return array */ @@ -134,16 +182,9 @@ class AppSettingsController extends Controller { }); break; default: - if ($category === 2) { - $apps = \OC_App::getAppstoreApps('approved'); - if ($apps) { - $apps = array_filter($apps, function ($app) { - return isset($app['internalclass']) && $app['internalclass'] === 'recommendedapp'; - }); - } - } else { - $apps = \OC_App::getAppstoreApps('approved', $category); - } + $filter = $this->config->getSystemValue('appstore.experimental.enabled', false) ? 'all' : 'approved'; + + $apps = \OC_App::getAppstoreApps($filter, $category); if (!$apps) { $apps = array(); } else { diff --git a/settings/controller/checksetupcontroller.php b/settings/controller/checksetupcontroller.php index ae3f1b99c52..15719ce215f 100644 --- a/settings/controller/checksetupcontroller.php +++ b/settings/controller/checksetupcontroller.php @@ -27,6 +27,7 @@ use OCP\Http\Client\IClientService; use OCP\IConfig; use OCP\IRequest; use OC_Util; +use OCP\IURLGenerator; /** * @package OC\Settings\Controller @@ -38,23 +39,28 @@ class CheckSetupController extends Controller { private $clientService; /** @var \OC_Util */ private $util; + /** @var IURLGenerator */ + private $urlGenerator; /** * @param string $AppName * @param IRequest $request * @param IConfig $config * @param IClientService $clientService + * @param IURLGenerator $urlGenerator * @param \OC_Util $util */ public function __construct($AppName, IRequest $request, IConfig $config, IClientService $clientService, + IURLGenerator $urlGenerator, \OC_Util $util) { parent::__construct($AppName, $request); $this->config = $config; $this->clientService = $clientService; $this->util = $util; + $this->urlGenerator = $urlGenerator; } /** @@ -93,6 +99,7 @@ class CheckSetupController extends Controller { 'serverHasInternetConnection' => $this->isInternetConnectionWorking(), 'dataDirectoryProtected' => $this->util->isHtaccessWorking($this->config), 'isMemcacheConfigured' => $this->isMemcacheConfigured(), + 'memcacheDocs' => $this->urlGenerator->linkToDocs('admin-performance'), ] ); } diff --git a/settings/css/settings.css b/settings/css/settings.css index c619bd7b9b3..747e370617e 100644 --- a/settings/css/settings.css +++ b/settings/css/settings.css @@ -29,10 +29,19 @@ input#openid, input#webdav { width:20em; } font-weight: bold; } -#displaynameerror { display:none; } -#displaynamechanged { display:none; } -input#identity { width:20em; } -#email { width: 17em; } +#displaynameerror { + display: none; +} +#displaynamechanged { + display: none; +} +input#identity { + width: 20em; +} +#displayName, +#email { + width: 17em; +} #avatar .warning { width: 350px; @@ -194,22 +203,52 @@ input.userFilter {width: 200px;} background: #fbb; } -.recommendedapp { - font-size: 11px; - background-position: left center; - padding-left: 18px; - vertical-align: top; +span.version { + margin-left: 1em; + margin-right: 1em; + color: #555; } -span.version { margin-left:1em; margin-right:1em; color:#555; } #app-navigation .app-external, -.app-version, -.recommendedapp { +.app-version { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; filter: alpha(opacity=50); opacity: .5; } +.app-level { + margin-top: 8px; +} +.app-level span { + color: #555; + background-color: transparent; + border: 1px solid #555; + border-radius: 3px; + padding: 3px 6px; +} +.app-level .official { + border-color: #37ce02; + background-position: left center; + background-position: 5px center; + padding-left: 25px; +} +.app-level .approved { + border-color: #e8c805; +} +.app-level .experimental { + background-color: #ce3702; + border-color: #ce3702; + color: #fff; +} +.apps-experimental { + color: #ce3702; +} + +.app-score { + position: relative; + top: 4px; +} + #apps-list { position: relative; height: 100%; @@ -217,6 +256,9 @@ span.version { margin-left:1em; margin-right:1em; color:#555; } .section { position: relative; } +.section h2.app-name { + margin-bottom: 8px; +} .app-image { float: left; padding-right: 10px; @@ -236,7 +278,7 @@ span.version { margin-left:1em; margin-right:1em; color:#555; } .app-name, .app-version, .app-score, -.recommendedapp { +.app-level { display: inline-block; } @@ -261,13 +303,17 @@ span.version { margin-left:1em; margin-right:1em; color:#555; } white-space: pre-line; } -#app-category-2 { +#app-category-1 { border-bottom: 1px solid #e8e8e8; } +/* capitalize "Other" category */ +#app-category-925 { + text-transform: capitalize; +} .app-dependencies { margin-top: 10px; - color: #c33; + color: #ce3702; } .missing-dependencies { @@ -302,8 +348,9 @@ table.grid td.date{ #security-warning li { list-style: initial; margin: 10px 0; - color: #c33; + color: #ce3702; } + #shareAPI p { padding-bottom: 0.8em; } #shareAPI input#shareapiExpireAfterNDays {width: 25px;} #shareAPI .indent { @@ -312,6 +359,13 @@ table.grid td.date{ #shareAPI .double-indent { padding-left: 56px; } +#fileSharingSettings h3 { + display: inline-block; +} + +.icon-info { + padding: 11px 20px; +} .mail_settings p label:first-child { display: inline-block; @@ -353,12 +407,12 @@ table.grid td.date{ } span.success { - background: #37ce02; - border-radius: 3px; + background: #37ce02; + border-radius: 3px; } span.error { - background: #ce3702; + background: #ce3702; } diff --git a/settings/js/apps.js b/settings/js/apps.js index 8431cbd4ff4..1bd7ffdf790 100644 --- a/settings/js/apps.js +++ b/settings/js/apps.js @@ -9,6 +9,17 @@ Handlebars.registerHelper('score', function() { } return new Handlebars.SafeString(''); }); +Handlebars.registerHelper('level', function() { + if(typeof this.level !== 'undefined') { + if(this.level === 200) { + return new Handlebars.SafeString('<span class="official icon-checkmark">Official</span>'); + } else if(this.level === 100) { + return new Handlebars.SafeString('<span class="approved">Approved</span>'); + } else { + return new Handlebars.SafeString('<span class="experimental">Experimental</span>'); + } + } +}); OC.Settings = OC.Settings || {}; OC.Settings.Apps = OC.Settings.Apps || { @@ -73,7 +84,6 @@ OC.Settings.Apps = OC.Settings.Apps || { this._loadCategoryCall = $.ajax(OC.generateUrl('settings/apps/list?category={categoryId}', { categoryId: categoryId }), { - data:{}, type:'GET', success: function (apps) { OC.Settings.Apps.State.apps = _.indexBy(apps.apps, 'id'); @@ -81,13 +91,27 @@ OC.Settings.Apps = OC.Settings.Apps || { var template = Handlebars.compile(source); if (apps.apps.length) { + apps.apps.sort(function(a,b) { + return b.level - a.level; + }); + + var firstExperimental = false; _.each(apps.apps, function(app) { - OC.Settings.Apps.renderApp(app, template, null); + if(app.level === 0 && firstExperimental === false) { + firstExperimental = true; + OC.Settings.Apps.renderApp(app, template, null, true); + } else { + OC.Settings.Apps.renderApp(app, template, null, false); + } }); } else { $('#apps-list').addClass('hidden'); $('#apps-list-empty').removeClass('hidden'); } + + $('.app-level .official').tipsy({fallback: t('core', 'Official apps are developed by and within the ownCloud community. They offer functionality central to ownCloud and are ready for production use.')}); + $('.app-level .approved').tipsy({fallback: t('core', '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.')}); + $('.app-level .experimental').tipsy({fallback: t('core', 'This app is not checked for security issues and is new or known to be unstable. Install on your own risk.')}); }, complete: function() { $('#apps-list').removeClass('icon-loading'); @@ -95,7 +119,7 @@ OC.Settings.Apps = OC.Settings.Apps || { }); }, - renderApp: function(app, template, selector) { + renderApp: function(app, template, selector, firstExperimental) { if (!template) { var source = $("#app-template").html(); template = Handlebars.compile(source); @@ -103,6 +127,7 @@ OC.Settings.Apps = OC.Settings.Apps || { if (typeof app === 'string') { app = OC.Settings.Apps.State.apps[app]; } + app.firstExperimental = firstExperimental; var html = template(app); if (selector) { @@ -132,7 +157,7 @@ OC.Settings.Apps = OC.Settings.Apps || { page.find("label[for='groups_enable-"+app.id+"']").hide(); page.find(".groups-enable").attr('checked', null); } else { - page.find('#group_select').val((app.groups || []).join(',')); + page.find('#group_select').val((app.groups || []).join('|')); if (app.active) { if (app.groups.length) { OC.Settings.Apps.setupGroupsSelect(page.find('#group_select')); @@ -438,6 +463,16 @@ OC.Settings.Apps = OC.Settings.Apps || { $select.change(); }); + $(document).on('click', '#enable-experimental-apps', function () { + var state = $(this).prop('checked') + $.ajax(OC.generateUrl('settings/apps/experimental'), { + data: {state: state}, + type: 'POST', + success:function () { + location.reload(); + } + }); + }); } }; diff --git a/settings/js/personal.js b/settings/js/personal.js index b269ebae3bc..43f328d2223 100644 --- a/settings/js/personal.js +++ b/settings/js/personal.js @@ -230,40 +230,6 @@ $(document).ready(function () { return false; }); - $('button:button[name="submitDecryptAll"]').click(function () { - var privateKeyPassword = $('#decryptAll input:password[id="privateKeyPassword"]').val(); - $('#decryptAll button:button[name="submitDecryptAll"]').prop("disabled", true); - $('#decryptAll input:password[name="privateKeyPassword"]').prop("disabled", true); - OC.Encryption.decryptAll(privateKeyPassword); - }); - - - $('button:button[name="submitRestoreKeys"]').click(function () { - $('#restoreBackupKeys button:button[name="submitDeleteKeys"]').prop("disabled", true); - $('#restoreBackupKeys button:button[name="submitRestoreKeys"]').prop("disabled", true); - OC.Encryption.restoreKeys(); - }); - - $('button:button[name="submitDeleteKeys"]').click(function () { - $('#restoreBackupKeys button:button[name="submitDeleteKeys"]').prop("disabled", true); - $('#restoreBackupKeys button:button[name="submitRestoreKeys"]').prop("disabled", true); - OC.Encryption.deleteKeys(); - }); - - $('#decryptAll input:password[name="privateKeyPassword"]').keyup(function (event) { - var privateKeyPassword = $('#decryptAll input:password[id="privateKeyPassword"]').val(); - if (privateKeyPassword !== '') { - $('#decryptAll button:button[name="submitDecryptAll"]').prop("disabled", false); - if (event.which === 13) { - $('#decryptAll button:button[name="submitDecryptAll"]').prop("disabled", true); - $('#decryptAll input:password[name="privateKeyPassword"]').prop("disabled", true); - OC.Encryption.decryptAll(privateKeyPassword); - } - } else { - $('#decryptAll button:button[name="submitDecryptAll"]').prop("disabled", true); - } - }); - var uploadparms = { done: function (e, data) { avatarResponseHandler(data.result); @@ -371,47 +337,6 @@ $(document).ready(function () { }); OC.Encryption = { - decryptAll: function (password) { - var message = t('settings', 'Decrypting files... Please wait, this can take some time.'); - OC.Encryption.msg.start('#decryptAll .msg', message); - $.post('ajax/decryptall.php', {password: password}, function (data) { - if (data.status === "error") { - OC.Encryption.msg.finished('#decryptAll .msg', data); - $('#decryptAll input:password[name="privateKeyPassword"]').prop("disabled", false); - } else { - OC.Encryption.msg.finished('#decryptAll .msg', data); - } - $('#restoreBackupKeys').removeClass('hidden'); - }); - }, - - deleteKeys: function () { - var message = t('settings', 'Delete encryption keys permanently.'); - OC.Encryption.msg.start('#restoreBackupKeys .msg', message); - $.post('ajax/deletekeys.php', null, function (data) { - if (data.status === "error") { - OC.Encryption.msg.finished('#restoreBackupKeys .msg', data); - $('#restoreBackupKeys button:button[name="submitDeleteKeys"]').prop("disabled", false); - $('#restoreBackupKeys button:button[name="submitRestoreKeys"]').prop("disabled", false); - } else { - OC.Encryption.msg.finished('#restoreBackupKeys .msg', data); - } - }); - }, - - restoreKeys: function () { - var message = t('settings', 'Restore encryption keys.'); - OC.Encryption.msg.start('#restoreBackupKeys .msg', message); - $.post('ajax/restorekeys.php', {}, function (data) { - if (data.status === "error") { - OC.Encryption.msg.finished('#restoreBackupKeys .msg', data); - $('#restoreBackupKeys button:button[name="submitDeleteKeys"]').prop("disabled", false); - $('#restoreBackupKeys button:button[name="submitRestoreKeys"]').prop("disabled", false); - } else { - OC.Encryption.msg.finished('#restoreBackupKeys .msg', data); - } - }); - } }; OC.Encryption.msg = { diff --git a/settings/l10n/az.js b/settings/l10n/az.js index 88b309aab96..26906097e85 100644 --- a/settings/l10n/az.js +++ b/settings/l10n/az.js @@ -1,6 +1,7 @@ OC.L10N.register( "settings", { + "Security & setup warnings" : "Təhlükəsizlik & işə salma xəbərdarlıqları", "Sharing" : "Paylaşılır", "External Storage" : "Kənar depo", "Cron" : "Cron", @@ -139,6 +140,7 @@ OC.L10N.register( "Execute one task with each page loaded" : "Hər səhifə yüklənməsində bir işi yerinə yetir", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php qeydə alınmış webcron servisdir hansi ki, http üzərindən hər 15 dəqiqədən bir cron.php çağırır.", "Use system's cron service to call the cron.php file every 15 minutes." : "Sistemin cron servisindən istifadə edin ki, cron.php faylını hər 15 dəqiqədən bir işə salasınız.", + "Server Side Encryption" : "Server tərəf şifrələnmə", "This is used for sending out notifications." : "Kənara xəbərdarlıqları ötürmək üçün bu istifadə edilir.", "Send mode" : "Göndərmə rejimi", "From address" : "Ünvandan", @@ -160,6 +162,8 @@ OC.L10N.register( "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Jurnal faylı 100MB-dan çoxdur. Onun endirilməsi müəyyən vaxt ala bilər.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLinte verilənlər bazası kimi istifadə edilir. Geniş tətbiq üçün, biz məsləhət görürük ki, arxa sonluqda fərqli verilənlər bazasından istifadə edəsiniz. ", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Xüsusilə fayl sinxronizasiyası üçün desktop client-dən istifadə edilərsə, SQLite məsləhət görülmür.", + "How to do backups" : "Rezerv nüsxələr neçə edilisin", + "Advanced monitoring" : "İrəliləmiş monitoring", "Version" : "Versiya", "More apps" : "Çoxlu proqramlar", "Developer documentation" : "Yaradıcı sənədləşməsi", @@ -174,6 +178,7 @@ OC.L10N.register( "Update to %s" : "Yenilə bunadək %s", "Enable only for specific groups" : "Yalnız spesifik qruplara izin ver", "Uninstall App" : "Proqram təminatını sil", + "No apps found for your version" : "Sizin versiya üçün proqram tapılmadı", "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Ey ora,<br><br>ancaq deyirik ki, sizin artiq %s hesabınız var.<br><br>Sizin istifadəçi adınız: %s<br>Yetkilidir: <a href=\"%s\">%s</a><br><br>", "Cheers!" : "Şərəfə!", "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Ey ora,\n\nancaq deyirik ki, sizin artiq %s hesabınız var.\n\nizin istifadəçi adınız: %s\nYetkilidir: %s\n\n", diff --git a/settings/l10n/az.json b/settings/l10n/az.json index e1aa65b86fc..67c28617812 100644 --- a/settings/l10n/az.json +++ b/settings/l10n/az.json @@ -1,4 +1,5 @@ { "translations": { + "Security & setup warnings" : "Təhlükəsizlik & işə salma xəbərdarlıqları", "Sharing" : "Paylaşılır", "External Storage" : "Kənar depo", "Cron" : "Cron", @@ -137,6 +138,7 @@ "Execute one task with each page loaded" : "Hər səhifə yüklənməsində bir işi yerinə yetir", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php qeydə alınmış webcron servisdir hansi ki, http üzərindən hər 15 dəqiqədən bir cron.php çağırır.", "Use system's cron service to call the cron.php file every 15 minutes." : "Sistemin cron servisindən istifadə edin ki, cron.php faylını hər 15 dəqiqədən bir işə salasınız.", + "Server Side Encryption" : "Server tərəf şifrələnmə", "This is used for sending out notifications." : "Kənara xəbərdarlıqları ötürmək üçün bu istifadə edilir.", "Send mode" : "Göndərmə rejimi", "From address" : "Ünvandan", @@ -158,6 +160,8 @@ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Jurnal faylı 100MB-dan çoxdur. Onun endirilməsi müəyyən vaxt ala bilər.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLinte verilənlər bazası kimi istifadə edilir. Geniş tətbiq üçün, biz məsləhət görürük ki, arxa sonluqda fərqli verilənlər bazasından istifadə edəsiniz. ", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Xüsusilə fayl sinxronizasiyası üçün desktop client-dən istifadə edilərsə, SQLite məsləhət görülmür.", + "How to do backups" : "Rezerv nüsxələr neçə edilisin", + "Advanced monitoring" : "İrəliləmiş monitoring", "Version" : "Versiya", "More apps" : "Çoxlu proqramlar", "Developer documentation" : "Yaradıcı sənədləşməsi", @@ -172,6 +176,7 @@ "Update to %s" : "Yenilə bunadək %s", "Enable only for specific groups" : "Yalnız spesifik qruplara izin ver", "Uninstall App" : "Proqram təminatını sil", + "No apps found for your version" : "Sizin versiya üçün proqram tapılmadı", "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Ey ora,<br><br>ancaq deyirik ki, sizin artiq %s hesabınız var.<br><br>Sizin istifadəçi adınız: %s<br>Yetkilidir: <a href=\"%s\">%s</a><br><br>", "Cheers!" : "Şərəfə!", "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Ey ora,\n\nancaq deyirik ki, sizin artiq %s hesabınız var.\n\nizin istifadəçi adınız: %s\nYetkilidir: %s\n\n", diff --git a/settings/l10n/fr.js b/settings/l10n/fr.js index c9405892cbc..c23848aeb3e 100644 --- a/settings/l10n/fr.js +++ b/settings/l10n/fr.js @@ -64,7 +64,7 @@ OC.L10N.register( "Error while enabling app" : "Erreur lors de l'activation de l'application", "Updating...." : "Mise à jour...", "Error while updating app" : "Erreur lors de la mise à jour de l'application", - "Updated" : "Mise à jour effectuée avec succès", + "Updated" : "Mise à jour effectuée", "Uninstalling ...." : "Désintallation...", "Error while uninstalling app" : "Erreur lors de la désinstallation de l'application", "Uninstall" : "Désinstaller", @@ -95,7 +95,7 @@ OC.L10N.register( "A valid password must be provided" : "Un mot de passe valide doit être saisi", "A valid email must be provided" : "Vous devez fournir une adresse de courriel valide", "__language_name__" : "Français", - "Sync clients" : "Clients synchronisé", + "Sync clients" : "Clients de synchronisation", "Personal info" : "Informations personnelles", "SSL root certificates" : "Certificats racine SSL", "Encryption" : "Chiffrement", @@ -121,7 +121,7 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Nous vous recommandons d'installer sur votre système les paquets requis à la prise en charge de l'un des paramètres régionaux suivants : %s", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si votre installation n'a pas été effectuée à la racine du domaine et qu'elle utilise le cron du système, il peut y avoir des problèmes avec la génération d'URL. Pour les éviter, veuillez configurer l'option \"overwrite.cli.url\" de votre fichier config.php avec le chemin de la racine de votre installation (suggéré : \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "La tâche cron n'a pu s'exécuter via CLI. Ces erreurs techniques sont apparues :", - "Please double check the <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "Consultez les <a target=\"_blank\" href=\"%s\">guides d'installation ↗</a>, et cherchez des erreurs dans <a href=\"#log-section\">les logs</a>.", + "Please double check the <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "Consultez les <a target=\"_blank\" href=\"%s\">guides d'installation ↗</a>, et cherchez des erreurs ou avertissements dans <a href=\"#log-section\">les logs</a>.", "Allow apps to use the Share API" : "Autoriser les applications à utiliser l'API de partage", "Allow users to share via link" : "Autoriser les utilisateurs à partager par lien", "Enforce password protection" : "Obliger la protection par mot de passe", @@ -140,7 +140,7 @@ OC.L10N.register( "Last cron job execution: %s. Something seems wrong." : "Dernière tâche cron exécutée : %s. Quelque chose s'est mal passé.", "Cron was not executed yet!" : "Le cron n'a pas encore été exécuté !", "Execute one task with each page loaded" : "Exécute une tâche à chaque chargement de page", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php est enregistré en tant que service webcron pour appeler cron.php toutes les 15 minutes via http.", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php est enregistré auprès d'un service webcron qui l'exécutera toutes les 15 minutes via http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Utilisez le service cron du système pour appeler le fichier cron.php toutes les 15 minutes.", "Server Side Encryption" : "Chiffrement côté serveur", "Enable Server-Side-Encryption" : "Activer le chiffrement côté serveur", @@ -166,10 +166,10 @@ OC.L10N.register( "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite est actuellement utilisé comme gestionnaire de base de données. Pour des installations plus volumineuses, nous vous conseillons d'utiliser un autre gestionnaire de base de données.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "En particulier si vous utilisez le client de bureau pour synchroniser vos données : l'utilisation de SQLite est alors déconseillée.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Pour migrer vers un autre type de base de données, utilisez la ligne de commande : 'occ db:convert-type' ou consultez la <a target=\"_blank\" href=\"%s\">documentation ↗</a>.", - "How to do backups" : "Comment creer des sauvegardes", + "How to do backups" : "Comment faire des sauvegardes", "Advanced monitoring" : "Surveillance avancée", - "Performance tuning" : "Ajustements des performances", - "Improving the config.php" : "Améliorer le config.php ", + "Performance tuning" : "Ajustement des performances", + "Improving the config.php" : "Amélioration du config.php ", "Theming" : "Thème", "Hardening and security guidance" : "Guide pour le renforcement et la sécurité", "Version" : "Version", @@ -186,7 +186,7 @@ OC.L10N.register( "Update to %s" : "Mettre à niveau vers la version %s", "Enable only for specific groups" : "Activer uniquement pour certains groupes", "Uninstall App" : "Désinstaller l'application", - "No apps found for your version" : "Pas d'application pour votre version", + "No apps found for your version" : "Pas d'application trouvée pour votre version", "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Bonjour,<br><br>Un compte %s a été créé pour vous.<br><br>Votre nom d'utilisateur est : %s<br>Visitez votre compte : <a href=\"%s\">%s</a><br><br>", "Cheers!" : "À bientôt !", "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Bonjour,<br><br>Un compte %s a été créé pour vous.<br><br>Votre nom d'utilisateur est : %s<br>Visitez votre compte : %s<br><br>\n", @@ -239,7 +239,7 @@ OC.L10N.register( "Show storage location" : "Afficher l'emplacement du stockage", "Show last log in" : "Montrer la dernière connexion", "Show user backend" : "Montrer la source de l'identifiant", - "Send email to new user" : "Envoyer un courriel au nouvel utilisateur", + "Send email to new user" : "Envoyer un courriel aux utilisateurs créés", "Show email address" : "Afficher l'adresse email", "Username" : "Nom d'utilisateur", "E-Mail" : "Courriel", diff --git a/settings/l10n/fr.json b/settings/l10n/fr.json index e85d827b5ff..78a0ef69e65 100644 --- a/settings/l10n/fr.json +++ b/settings/l10n/fr.json @@ -62,7 +62,7 @@ "Error while enabling app" : "Erreur lors de l'activation de l'application", "Updating...." : "Mise à jour...", "Error while updating app" : "Erreur lors de la mise à jour de l'application", - "Updated" : "Mise à jour effectuée avec succès", + "Updated" : "Mise à jour effectuée", "Uninstalling ...." : "Désintallation...", "Error while uninstalling app" : "Erreur lors de la désinstallation de l'application", "Uninstall" : "Désinstaller", @@ -93,7 +93,7 @@ "A valid password must be provided" : "Un mot de passe valide doit être saisi", "A valid email must be provided" : "Vous devez fournir une adresse de courriel valide", "__language_name__" : "Français", - "Sync clients" : "Clients synchronisé", + "Sync clients" : "Clients de synchronisation", "Personal info" : "Informations personnelles", "SSL root certificates" : "Certificats racine SSL", "Encryption" : "Chiffrement", @@ -119,7 +119,7 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Nous vous recommandons d'installer sur votre système les paquets requis à la prise en charge de l'un des paramètres régionaux suivants : %s", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Si votre installation n'a pas été effectuée à la racine du domaine et qu'elle utilise le cron du système, il peut y avoir des problèmes avec la génération d'URL. Pour les éviter, veuillez configurer l'option \"overwrite.cli.url\" de votre fichier config.php avec le chemin de la racine de votre installation (suggéré : \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "La tâche cron n'a pu s'exécuter via CLI. Ces erreurs techniques sont apparues :", - "Please double check the <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "Consultez les <a target=\"_blank\" href=\"%s\">guides d'installation ↗</a>, et cherchez des erreurs dans <a href=\"#log-section\">les logs</a>.", + "Please double check the <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "Consultez les <a target=\"_blank\" href=\"%s\">guides d'installation ↗</a>, et cherchez des erreurs ou avertissements dans <a href=\"#log-section\">les logs</a>.", "Allow apps to use the Share API" : "Autoriser les applications à utiliser l'API de partage", "Allow users to share via link" : "Autoriser les utilisateurs à partager par lien", "Enforce password protection" : "Obliger la protection par mot de passe", @@ -138,7 +138,7 @@ "Last cron job execution: %s. Something seems wrong." : "Dernière tâche cron exécutée : %s. Quelque chose s'est mal passé.", "Cron was not executed yet!" : "Le cron n'a pas encore été exécuté !", "Execute one task with each page loaded" : "Exécute une tâche à chaque chargement de page", - "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php est enregistré en tant que service webcron pour appeler cron.php toutes les 15 minutes via http.", + "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php est enregistré auprès d'un service webcron qui l'exécutera toutes les 15 minutes via http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Utilisez le service cron du système pour appeler le fichier cron.php toutes les 15 minutes.", "Server Side Encryption" : "Chiffrement côté serveur", "Enable Server-Side-Encryption" : "Activer le chiffrement côté serveur", @@ -164,10 +164,10 @@ "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite est actuellement utilisé comme gestionnaire de base de données. Pour des installations plus volumineuses, nous vous conseillons d'utiliser un autre gestionnaire de base de données.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "En particulier si vous utilisez le client de bureau pour synchroniser vos données : l'utilisation de SQLite est alors déconseillée.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Pour migrer vers un autre type de base de données, utilisez la ligne de commande : 'occ db:convert-type' ou consultez la <a target=\"_blank\" href=\"%s\">documentation ↗</a>.", - "How to do backups" : "Comment creer des sauvegardes", + "How to do backups" : "Comment faire des sauvegardes", "Advanced monitoring" : "Surveillance avancée", - "Performance tuning" : "Ajustements des performances", - "Improving the config.php" : "Améliorer le config.php ", + "Performance tuning" : "Ajustement des performances", + "Improving the config.php" : "Amélioration du config.php ", "Theming" : "Thème", "Hardening and security guidance" : "Guide pour le renforcement et la sécurité", "Version" : "Version", @@ -184,7 +184,7 @@ "Update to %s" : "Mettre à niveau vers la version %s", "Enable only for specific groups" : "Activer uniquement pour certains groupes", "Uninstall App" : "Désinstaller l'application", - "No apps found for your version" : "Pas d'application pour votre version", + "No apps found for your version" : "Pas d'application trouvée pour votre version", "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Bonjour,<br><br>Un compte %s a été créé pour vous.<br><br>Votre nom d'utilisateur est : %s<br>Visitez votre compte : <a href=\"%s\">%s</a><br><br>", "Cheers!" : "À bientôt !", "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Bonjour,<br><br>Un compte %s a été créé pour vous.<br><br>Votre nom d'utilisateur est : %s<br>Visitez votre compte : %s<br><br>\n", @@ -237,7 +237,7 @@ "Show storage location" : "Afficher l'emplacement du stockage", "Show last log in" : "Montrer la dernière connexion", "Show user backend" : "Montrer la source de l'identifiant", - "Send email to new user" : "Envoyer un courriel au nouvel utilisateur", + "Send email to new user" : "Envoyer un courriel aux utilisateurs créés", "Show email address" : "Afficher l'adresse email", "Username" : "Nom d'utilisateur", "E-Mail" : "Courriel", diff --git a/settings/l10n/nb_NO.js b/settings/l10n/nb_NO.js index e98f7d9ddb1..912c072fa2a 100644 --- a/settings/l10n/nb_NO.js +++ b/settings/l10n/nb_NO.js @@ -1,11 +1,13 @@ OC.L10N.register( "settings", { + "Security & setup warnings" : "Advarsler om sikkerhet og oppsett", "Sharing" : "Deling", "External Storage" : "Ekstern lagring", "Cron" : "Cron", "Email Server" : "E-postserver", "Log" : "Logg", + "Tips & tricks" : "Tips og triks", "Updates" : "Oppdateringer", "Authentication error" : "Autentiseringsfeil", "Your full name has been changed." : "Ditt fulle navn er blitt endret.", @@ -28,6 +30,7 @@ OC.L10N.register( "No user supplied" : "Ingen bruker angitt", "Please provide an admin recovery password, otherwise all user data will be lost" : "Vennligst oppgi et administrativt gjenopprettingspassord. Ellers vil alle brukerdata gå tapt", "Wrong admin recovery password. Please check the password and try again." : "Feil administrativt gjenopprettingspassord. Sjekk passordet og prøv igjen.", + "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Serveren støtter ikke endring av passord, men oppdatering av brukerens krypteringsnøkkel var vellykket.", "Unable to change password" : "Kunne ikke endre passord", "Enabled" : "Aktiv", "Not enabled" : "Ikke aktivert", @@ -38,9 +41,11 @@ OC.L10N.register( "log-level out of allowed range" : "Loggnivå utenfor tillatt område", "Saved" : "Lagret", "test email settings" : "Test av innstillinger for e-post", + "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Et problem oppstod med sending av e-post. Sjekk innstillingene. (Feil: %s)", "Email sent" : "E-post sendt", "You need to set your user email before being able to send test emails." : "Du må sette e-postadressen for brukeren din før du kan teste sending av e-post.", "Invalid mail address" : "Ugyldig e-postadresse", + "A user with that name already exists." : "Det finnes allerede en bruker med det navnet.", "Unable to create user." : "Kan ikke opprette bruker.", "Your %s account was created" : "%s-kontoen din ble opprettet", "Unable to delete user." : "Kan ikke slette bruker.", @@ -90,6 +95,8 @@ OC.L10N.register( "A valid password must be provided" : "Oppgi et gyldig passord", "A valid email must be provided" : "En gyldig e-postadresse må oppgis", "__language_name__" : "__language_name__", + "Sync clients" : "Synkroniseringsklienter", + "Personal info" : "Personlig informasjon", "SSL root certificates" : "SSL rotsertifikater", "Encryption" : "Kryptering", "Everything (fatal issues, errors, warnings, info, debug)" : "Alt (fatale problemer, feil, advarsler, info, debug)", @@ -107,11 +114,14 @@ OC.L10N.register( "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut for at PHP er satt opp til å fjerne innebygde doc blocks. Dette gjør at flere av kjerneapplikasjonene blir utilgjengelige.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette forårsakes sannsynligvis av en bufrer/akselerator, som f.eks. Zend OPcache eller eAccelerator.", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Serveren din kjører på Microsoft Windows. Vi anbefaler strekt Linux for en optimal brukeropplevelse.", + "APCu below version 4.0.6 is installed, for stability and performance reasons we recommend to update to a newer APCu version." : "APCu lavere enn versjon 4.0.6 er installert. Vi anbefaler å oppdatere til en nyere APCu-versjon for bedre stabilitet og ytelse.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP modulen 'fileinfo' mangler. Vi anbefaler at du aktiverer denne modulen for å kunne detektere mime-typen korrekt.", "System locale can not be set to a one which supports UTF-8." : "Kan ikke sette systemets nasjonale innstillinger til en som støtter UTF-8.", "This means that there might be problems with certain characters in file names." : "Dette betyr at det kan forekomme problemer med visse tegn i filnavn.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Vi anbefaler sterkt å installere de påkrevde pakkene på systemet ditt for å støtte en av følgende nasjonale innstillinger: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Hvis installasjonen din ikke er installert i roten av domenet og bruker systemets cron, kan det bli problemer med URL-genereringen. For å unngå disse problemene, sett \"overwrite.cli.url\" i filen config.php til web-roten for installasjonen din (Foreslått: \"%s\")", + "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Det var ikke mulig å kjøre cron-jobben vi CLI. Følgende tekniske feil oppstod:", + "Please double check the <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "Vennligst dobbeltsjekk <a target=\"_blank\" href=\"%s\">Installasjonsveiledningene ↗</a> og se etter feil og advarsler i <a href=\"#log-section\">loggen</a>.", "Allow apps to use the Share API" : "Tillat apper å bruke API for Deling", "Allow users to share via link" : "Tillat brukere å dele via lenke", "Enforce password protection" : "Krev passordbeskyttelse", @@ -126,10 +136,14 @@ OC.L10N.register( "Allow users to send mail notification for shared files to other users" : "Tillat at brukere sender varsler om delte filer på e-post til andre brukere", "Exclude groups from sharing" : "Utelukk grupper fra deling", "These groups will still be able to receive shares, but not to initiate them." : "Disse gruppene vil fremdeles kunne motta delinger men ikke lage dem.", + "Last cron job execution: %s." : "Siste kjøring av cron-jobb: %s.", + "Last cron job execution: %s. Something seems wrong." : "Siste kjøring av cron-jobb: %s. Noe ser ut til å være galt.", "Cron was not executed yet!" : "Cron er ikke utført ennå!", "Execute one task with each page loaded" : "Utfør en oppgave med hver side som blir lastet", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registrert i en webcron-tjeneste for å kalle cron.php hvert 15. minutt over http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Bruk systemets cron-tjeneste til å kalle cron.php hvert 15. minutt.", + "Server Side Encryption" : "Serverkryptering", + "Enable Server-Side-Encryption" : "Slå på serverkryptering", "This is used for sending out notifications." : "Dette brukes for utsending av varsler.", "Send mode" : "Sendemåte", "From address" : "Fra adresse", @@ -149,8 +163,15 @@ OC.L10N.register( "More" : "Mer", "Less" : "Mindre", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Loggfilen er over 100 MB, nedlastingen kan ta en stund!", - "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite er brukt som database. For større installasjoner anbefaler vi å bytte til en annen database-server.", + "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite brukes som database. For større installasjoner anbefaler vi å bytte til en annen database-server.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "SQLite er spesielt frarådet om man bruker desktopklienten til filsynkronisering", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "For å migrere til en annen database, bruk kommandolinjeverktøyet: 'occ db:convert-type', eller les i <a target=\"_blank\" href=\"%s\">dokumentasjonen ↗</a>.", + "How to do backups" : "Hvordan ta sikkerhetskopier", + "Advanced monitoring" : "Avansert overvåking", + "Performance tuning" : "Tilpassing av ytelse", + "Improving the config.php" : "Forbedring av config.php", + "Theming" : "Temaer", + "Hardening and security guidance" : "Herding og sikkerhetsveiledning", "Version" : "Versjon", "More apps" : "Flere apper", "Developer documentation" : "Utviklerdokumentasjon", @@ -159,10 +180,13 @@ OC.L10N.register( "Documentation:" : "Dokumentasjon:", "User Documentation" : "Brukerdokumentasjon", "Admin Documentation" : "Admin-dokumentasjon", + "Show description …" : "Vis beskrivelse …", + "Hide description …" : "Skjul beskrivelse …", "This app cannot be installed because the following dependencies are not fulfilled:" : "Denne appen kan ikke installeres fordi følgende avhengigheter ikke er tilfredsstilt:", "Update to %s" : "Oppdater til %s", "Enable only for specific groups" : "Aktiver kun for visse grupper", "Uninstall App" : "Avinstaller app", + "No apps found for your version" : "Ingen apper funnet for din versjon", "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Hei,<br><br>vil bare informere om at du nå har en %s-konto.<br><br>Brukernavnet ditt: %s<br>Gå dit: <a href=\"%s\">%s</a><br><br>", "Cheers!" : "Ha det!", "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Hei,\n\nVil bare informere om at du nå har en %s-konto.\n\nBrukernavnet ditt: %s\nGå dit: %s\n\n", @@ -175,6 +199,7 @@ OC.L10N.register( "Desktop client" : "Skrivebordsklient", "Android app" : "Android-app", "iOS app" : "iOS-app", + "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Hvis du vil støtte prosjektet kan du\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">delta i utviklingen</a>\n\t\teller\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spre budskapet</a>!", "Show First Run Wizard again" : "Vis \"Førstegangs veiviser\" på nytt", "You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Du har brukt <strong>%s</strong> av de tilgjengelige <strong>%s</strong>", "Password" : "Passord", @@ -182,6 +207,7 @@ OC.L10N.register( "Current password" : "Nåværende passord", "New password" : "Nytt passord", "Change password" : "Endre passord", + "Full name" : "Fullt navn", "No display name set" : "Visningsnavn ikke satt", "Email" : "Epost", "Your email address" : "Din e-postadresse", @@ -202,12 +228,14 @@ OC.L10N.register( "Valid until" : "Gyldig til", "Issued By" : "Utstedt av", "Valid until %s" : "Gyldig til %s", + "Import root certificate" : "Importer rotsertifikat", "The encryption app is no longer enabled, please decrypt all your files" : "Krypterings-appen er ikke aktiv lenger. Vennligst dekrypter alle filene dine", "Log-in password" : "Innloggingspassord", "Decrypt all Files" : "Dekrypter alle filer", "Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Krypteringsnøklene dine er flyttet til en plass for sikkerhetskopier. Hvis noe gikk galt kan du gjenopprette nøklene. Ikke slett dem permanent før du er ikker på at alle filer er dekryptert korrekt.", "Restore Encryption Keys" : "Gjenopprett krypteringsnøkler", "Delete Encryption Keys" : "Slett krypteringsnøkler", + "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Utviklet av {communityopen}ownCloud-fellesskapet{linkclose}. {githubopen}Kildekoden{linkclose} er lisensiert under {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}.", "Show storage location" : "Vis lagringssted", "Show last log in" : "Vis site innlogging", "Show user backend" : "Vis bruker-server", @@ -218,7 +246,7 @@ OC.L10N.register( "Create" : "Opprett", "Admin Recovery Password" : "Administrativt gjenopprettingspassord", "Enter the recovery password in order to recover the users files during password change" : "Legg inn gjenopprettingspassordet for å gjenopprette brukerfilene når passordet endres", - "Search Users" : "Søk brukere", + "Search Users" : "Søk i brukere", "Add Group" : "Legg til gruppe", "Group" : "Gruppe", "Everyone" : "Alle", diff --git a/settings/l10n/nb_NO.json b/settings/l10n/nb_NO.json index 7aa1c74b46a..479bbbe2dbd 100644 --- a/settings/l10n/nb_NO.json +++ b/settings/l10n/nb_NO.json @@ -1,9 +1,11 @@ { "translations": { + "Security & setup warnings" : "Advarsler om sikkerhet og oppsett", "Sharing" : "Deling", "External Storage" : "Ekstern lagring", "Cron" : "Cron", "Email Server" : "E-postserver", "Log" : "Logg", + "Tips & tricks" : "Tips og triks", "Updates" : "Oppdateringer", "Authentication error" : "Autentiseringsfeil", "Your full name has been changed." : "Ditt fulle navn er blitt endret.", @@ -26,6 +28,7 @@ "No user supplied" : "Ingen bruker angitt", "Please provide an admin recovery password, otherwise all user data will be lost" : "Vennligst oppgi et administrativt gjenopprettingspassord. Ellers vil alle brukerdata gå tapt", "Wrong admin recovery password. Please check the password and try again." : "Feil administrativt gjenopprettingspassord. Sjekk passordet og prøv igjen.", + "Backend doesn't support password change, but the user's encryption key was successfully updated." : "Serveren støtter ikke endring av passord, men oppdatering av brukerens krypteringsnøkkel var vellykket.", "Unable to change password" : "Kunne ikke endre passord", "Enabled" : "Aktiv", "Not enabled" : "Ikke aktivert", @@ -36,9 +39,11 @@ "log-level out of allowed range" : "Loggnivå utenfor tillatt område", "Saved" : "Lagret", "test email settings" : "Test av innstillinger for e-post", + "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Et problem oppstod med sending av e-post. Sjekk innstillingene. (Feil: %s)", "Email sent" : "E-post sendt", "You need to set your user email before being able to send test emails." : "Du må sette e-postadressen for brukeren din før du kan teste sending av e-post.", "Invalid mail address" : "Ugyldig e-postadresse", + "A user with that name already exists." : "Det finnes allerede en bruker med det navnet.", "Unable to create user." : "Kan ikke opprette bruker.", "Your %s account was created" : "%s-kontoen din ble opprettet", "Unable to delete user." : "Kan ikke slette bruker.", @@ -88,6 +93,8 @@ "A valid password must be provided" : "Oppgi et gyldig passord", "A valid email must be provided" : "En gyldig e-postadresse må oppgis", "__language_name__" : "__language_name__", + "Sync clients" : "Synkroniseringsklienter", + "Personal info" : "Personlig informasjon", "SSL root certificates" : "SSL rotsertifikater", "Encryption" : "Kryptering", "Everything (fatal issues, errors, warnings, info, debug)" : "Alt (fatale problemer, feil, advarsler, info, debug)", @@ -105,11 +112,14 @@ "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Det ser ut for at PHP er satt opp til å fjerne innebygde doc blocks. Dette gjør at flere av kjerneapplikasjonene blir utilgjengelige.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dette forårsakes sannsynligvis av en bufrer/akselerator, som f.eks. Zend OPcache eller eAccelerator.", "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Serveren din kjører på Microsoft Windows. Vi anbefaler strekt Linux for en optimal brukeropplevelse.", + "APCu below version 4.0.6 is installed, for stability and performance reasons we recommend to update to a newer APCu version." : "APCu lavere enn versjon 4.0.6 er installert. Vi anbefaler å oppdatere til en nyere APCu-versjon for bedre stabilitet og ytelse.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "PHP modulen 'fileinfo' mangler. Vi anbefaler at du aktiverer denne modulen for å kunne detektere mime-typen korrekt.", "System locale can not be set to a one which supports UTF-8." : "Kan ikke sette systemets nasjonale innstillinger til en som støtter UTF-8.", "This means that there might be problems with certain characters in file names." : "Dette betyr at det kan forekomme problemer med visse tegn i filnavn.", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Vi anbefaler sterkt å installere de påkrevde pakkene på systemet ditt for å støtte en av følgende nasjonale innstillinger: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Hvis installasjonen din ikke er installert i roten av domenet og bruker systemets cron, kan det bli problemer med URL-genereringen. For å unngå disse problemene, sett \"overwrite.cli.url\" i filen config.php til web-roten for installasjonen din (Foreslått: \"%s\")", + "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Det var ikke mulig å kjøre cron-jobben vi CLI. Følgende tekniske feil oppstod:", + "Please double check the <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "Vennligst dobbeltsjekk <a target=\"_blank\" href=\"%s\">Installasjonsveiledningene ↗</a> og se etter feil og advarsler i <a href=\"#log-section\">loggen</a>.", "Allow apps to use the Share API" : "Tillat apper å bruke API for Deling", "Allow users to share via link" : "Tillat brukere å dele via lenke", "Enforce password protection" : "Krev passordbeskyttelse", @@ -124,10 +134,14 @@ "Allow users to send mail notification for shared files to other users" : "Tillat at brukere sender varsler om delte filer på e-post til andre brukere", "Exclude groups from sharing" : "Utelukk grupper fra deling", "These groups will still be able to receive shares, but not to initiate them." : "Disse gruppene vil fremdeles kunne motta delinger men ikke lage dem.", + "Last cron job execution: %s." : "Siste kjøring av cron-jobb: %s.", + "Last cron job execution: %s. Something seems wrong." : "Siste kjøring av cron-jobb: %s. Noe ser ut til å være galt.", "Cron was not executed yet!" : "Cron er ikke utført ennå!", "Execute one task with each page loaded" : "Utfør en oppgave med hver side som blir lastet", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registrert i en webcron-tjeneste for å kalle cron.php hvert 15. minutt over http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Bruk systemets cron-tjeneste til å kalle cron.php hvert 15. minutt.", + "Server Side Encryption" : "Serverkryptering", + "Enable Server-Side-Encryption" : "Slå på serverkryptering", "This is used for sending out notifications." : "Dette brukes for utsending av varsler.", "Send mode" : "Sendemåte", "From address" : "Fra adresse", @@ -147,8 +161,15 @@ "More" : "Mer", "Less" : "Mindre", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Loggfilen er over 100 MB, nedlastingen kan ta en stund!", - "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite er brukt som database. For større installasjoner anbefaler vi å bytte til en annen database-server.", + "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite brukes som database. For større installasjoner anbefaler vi å bytte til en annen database-server.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "SQLite er spesielt frarådet om man bruker desktopklienten til filsynkronisering", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "For å migrere til en annen database, bruk kommandolinjeverktøyet: 'occ db:convert-type', eller les i <a target=\"_blank\" href=\"%s\">dokumentasjonen ↗</a>.", + "How to do backups" : "Hvordan ta sikkerhetskopier", + "Advanced monitoring" : "Avansert overvåking", + "Performance tuning" : "Tilpassing av ytelse", + "Improving the config.php" : "Forbedring av config.php", + "Theming" : "Temaer", + "Hardening and security guidance" : "Herding og sikkerhetsveiledning", "Version" : "Versjon", "More apps" : "Flere apper", "Developer documentation" : "Utviklerdokumentasjon", @@ -157,10 +178,13 @@ "Documentation:" : "Dokumentasjon:", "User Documentation" : "Brukerdokumentasjon", "Admin Documentation" : "Admin-dokumentasjon", + "Show description …" : "Vis beskrivelse …", + "Hide description …" : "Skjul beskrivelse …", "This app cannot be installed because the following dependencies are not fulfilled:" : "Denne appen kan ikke installeres fordi følgende avhengigheter ikke er tilfredsstilt:", "Update to %s" : "Oppdater til %s", "Enable only for specific groups" : "Aktiver kun for visse grupper", "Uninstall App" : "Avinstaller app", + "No apps found for your version" : "Ingen apper funnet for din versjon", "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Hei,<br><br>vil bare informere om at du nå har en %s-konto.<br><br>Brukernavnet ditt: %s<br>Gå dit: <a href=\"%s\">%s</a><br><br>", "Cheers!" : "Ha det!", "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Hei,\n\nVil bare informere om at du nå har en %s-konto.\n\nBrukernavnet ditt: %s\nGå dit: %s\n\n", @@ -173,6 +197,7 @@ "Desktop client" : "Skrivebordsklient", "Android app" : "Android-app", "iOS app" : "iOS-app", + "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Hvis du vil støtte prosjektet kan du\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">delta i utviklingen</a>\n\t\teller\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spre budskapet</a>!", "Show First Run Wizard again" : "Vis \"Førstegangs veiviser\" på nytt", "You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Du har brukt <strong>%s</strong> av de tilgjengelige <strong>%s</strong>", "Password" : "Passord", @@ -180,6 +205,7 @@ "Current password" : "Nåværende passord", "New password" : "Nytt passord", "Change password" : "Endre passord", + "Full name" : "Fullt navn", "No display name set" : "Visningsnavn ikke satt", "Email" : "Epost", "Your email address" : "Din e-postadresse", @@ -200,12 +226,14 @@ "Valid until" : "Gyldig til", "Issued By" : "Utstedt av", "Valid until %s" : "Gyldig til %s", + "Import root certificate" : "Importer rotsertifikat", "The encryption app is no longer enabled, please decrypt all your files" : "Krypterings-appen er ikke aktiv lenger. Vennligst dekrypter alle filene dine", "Log-in password" : "Innloggingspassord", "Decrypt all Files" : "Dekrypter alle filer", "Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." : "Krypteringsnøklene dine er flyttet til en plass for sikkerhetskopier. Hvis noe gikk galt kan du gjenopprette nøklene. Ikke slett dem permanent før du er ikker på at alle filer er dekryptert korrekt.", "Restore Encryption Keys" : "Gjenopprett krypteringsnøkler", "Delete Encryption Keys" : "Slett krypteringsnøkler", + "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Utviklet av {communityopen}ownCloud-fellesskapet{linkclose}. {githubopen}Kildekoden{linkclose} er lisensiert under {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}.", "Show storage location" : "Vis lagringssted", "Show last log in" : "Vis site innlogging", "Show user backend" : "Vis bruker-server", @@ -216,7 +244,7 @@ "Create" : "Opprett", "Admin Recovery Password" : "Administrativt gjenopprettingspassord", "Enter the recovery password in order to recover the users files during password change" : "Legg inn gjenopprettingspassordet for å gjenopprette brukerfilene når passordet endres", - "Search Users" : "Søk brukere", + "Search Users" : "Søk i brukere", "Add Group" : "Legg til gruppe", "Group" : "Gruppe", "Everyone" : "Alle", diff --git a/settings/l10n/sl.js b/settings/l10n/sl.js index 6573240f62b..ac99d1f0505 100644 --- a/settings/l10n/sl.js +++ b/settings/l10n/sl.js @@ -88,6 +88,8 @@ OC.L10N.register( "A valid password must be provided" : "Navedeno mora biti veljavno geslo", "A valid email must be provided" : "Naveden mora biti veljaven naslov elektronske pošte.", "__language_name__" : "Slovenščina", + "Sync clients" : "Uskladi odjemalce", + "Personal info" : "Osebni podatki", "SSL root certificates" : "Korenska potrdila SSL", "Encryption" : "Šifriranje", "Everything (fatal issues, errors, warnings, info, debug)" : "Vse (podrobnosti, opozorila, hrošče, napake in usodne dogodke)", @@ -121,6 +123,7 @@ OC.L10N.register( "Execute one task with each page loaded" : "Izvedi eno nalogo z vsako naloženo stranjo.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Datoteka cron.php je vpisana za periodično opravilo webcron za potrditev sklica vsakih 15 minut pri povezavi preko HTTP.", "Use system's cron service to call the cron.php file every 15 minutes." : "Uporabi storitev periodičnih opravil za klic datoteke cron.php vsakih 15 minut.", + "Server Side Encryption" : "Strežniško šifriranje", "This is used for sending out notifications." : "Možnost je uporabljena za omogočanje pošiljanja obvestil.", "Send mode" : "Način pošiljanja", "From address" : "Naslov pošiljatelja", diff --git a/settings/l10n/sl.json b/settings/l10n/sl.json index a57ca128d4e..a09faa741eb 100644 --- a/settings/l10n/sl.json +++ b/settings/l10n/sl.json @@ -86,6 +86,8 @@ "A valid password must be provided" : "Navedeno mora biti veljavno geslo", "A valid email must be provided" : "Naveden mora biti veljaven naslov elektronske pošte.", "__language_name__" : "Slovenščina", + "Sync clients" : "Uskladi odjemalce", + "Personal info" : "Osebni podatki", "SSL root certificates" : "Korenska potrdila SSL", "Encryption" : "Šifriranje", "Everything (fatal issues, errors, warnings, info, debug)" : "Vse (podrobnosti, opozorila, hrošče, napake in usodne dogodke)", @@ -119,6 +121,7 @@ "Execute one task with each page loaded" : "Izvedi eno nalogo z vsako naloženo stranjo.", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Datoteka cron.php je vpisana za periodično opravilo webcron za potrditev sklica vsakih 15 minut pri povezavi preko HTTP.", "Use system's cron service to call the cron.php file every 15 minutes." : "Uporabi storitev periodičnih opravil za klic datoteke cron.php vsakih 15 minut.", + "Server Side Encryption" : "Strežniško šifriranje", "This is used for sending out notifications." : "Možnost je uporabljena za omogočanje pošiljanja obvestil.", "Send mode" : "Način pošiljanja", "From address" : "Naslov pošiljatelja", diff --git a/settings/l10n/sr.js b/settings/l10n/sr.js index dfe55cef576..d32e25a9bc1 100644 --- a/settings/l10n/sr.js +++ b/settings/l10n/sr.js @@ -106,10 +106,10 @@ OC.L10N.register( "Fatal issues only" : "Само фатални проблеми", "None" : "Ништа", "Login" : "Пријава", - "Plain" : "Једноставан", + "Plain" : "Обичан", "NT LAN Manager" : "НТ ЛАН менаџер", - "SSL" : "SSL", - "TLS" : "TLS", + "SSL" : "ССЛ", + "TLS" : "ТЛС", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Омогућена је Само-читај конфигурација. То спречава постављање неке конфигурације преко веб-интерфејса. Осим тога, фајлу мора бити ручно омогућено уписивање код сваког освежавања.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "ПХП је очигледно подешен да се скида уметнуте док блокова. То ће учинити неколико кључних апликација недоступним.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ово је вероватно изазвано кешом или акцелератором као што су ЗендОПкеш или еАкцелератор.", @@ -143,7 +143,7 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php је регистрован код вебкрон сервиса за позивање cron.php сваких 15 минута преко протокола http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Користите системски крон сервис за позивање cron.php фајла сваких 15 минута.", "Server Side Encryption" : "Шифровање на страни сервера", - "Enable Server-Side-Encryption" : "Омогући шифровање од стране сервера", + "Enable Server-Side-Encryption" : "Укључи шифровање на страни сервера", "This is used for sending out notifications." : "Ово се користи за слање обавештења.", "Send mode" : "Режим слања", "From address" : "Са адресе", @@ -171,7 +171,7 @@ OC.L10N.register( "Performance tuning" : "Побољшање перформанси", "Improving the config.php" : "Побољшање фајла поставки", "Theming" : "Теме", - "Hardening and security guidance" : "Смањивање изложености система и безбедносне препоруке", + "Hardening and security guidance" : "Ојачавање система и безбедносне препоруке", "Version" : "Верзија", "More apps" : "Још апликација", "Developer documentation" : "Програмерска документација", @@ -186,7 +186,7 @@ OC.L10N.register( "Update to %s" : "Ажурирај на %s", "Enable only for specific groups" : "Укључи само за одређене групе", "Uninstall App" : "Деинсталирај апликацију", - "No apps found for your version" : "Нема апликација за ваше издање", + "No apps found for your version" : "Нема апликација за вашу верзију", "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Поздрав,<br><br>само вас обавештавам да сад имате %s налог.<br><br>Ваше корисничко име: %s<br>Приступите му на: <a href=\"%s\">%s</a><br><br>", "Cheers!" : "Здраво!", "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Добродошли,\n\nСамо да знате да сада имате %s налог.\n\nВаше корисничко име: %s\nПриступите: %s\n", @@ -198,8 +198,8 @@ OC.L10N.register( "Get the apps to sync your files" : "Преузмите апликације ради синхронизовања ваших фајлова", "Desktop client" : "Клијент за рачунар", "Android app" : "Андроид апликација", - "iOS app" : "iOS апликација", - "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Ако желите да подржите пројект\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">придружите се развоју</a>\n\t\tили\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">проширите реч</a>!", + "iOS app" : "иОС апликација", + "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Ако желите да подржите пројект\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">придружите се развоју</a>\n\t\tили\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">разгласите свима</a>!", "Show First Run Wizard again" : "Поново прикажи чаробњака за прво покретање", "You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Искористили сте <strong>%s</strong> од дозвољених <strong>%s</strong>", "Password" : "Лозинка", @@ -207,7 +207,7 @@ OC.L10N.register( "Current password" : "Тренутна лозинка", "New password" : "Нова лозинка", "Change password" : "Измени лозинку", - "Full name" : "Име и презиме", + "Full name" : "Пуно име", "No display name set" : "Није постављено име за приказ", "Email" : "Е-пошта", "Your email address" : "Ваша адреса е-поште", @@ -250,13 +250,13 @@ OC.L10N.register( "Add Group" : "Додај групу", "Group" : "Група", "Everyone" : "Сви", - "Admins" : "Аднинистрација", + "Admins" : "Администратори", "Default Quota" : "Подразумевана квота", "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Унесите квоту складиштења (нпр. 512 MB или 12 GB)", "Unlimited" : "Неограничено", "Other" : "Друго", "Full Name" : "Пуно име", - "Group Admin for" : "Групни администратор за", + "Group Admin for" : "Администратор група", "Quota" : "Квота", "Storage Location" : "Локација складишта", "User Backend" : "Позадина за кориснике", diff --git a/settings/l10n/sr.json b/settings/l10n/sr.json index 22cd200c730..14369ecf782 100644 --- a/settings/l10n/sr.json +++ b/settings/l10n/sr.json @@ -104,10 +104,10 @@ "Fatal issues only" : "Само фатални проблеми", "None" : "Ништа", "Login" : "Пријава", - "Plain" : "Једноставан", + "Plain" : "Обичан", "NT LAN Manager" : "НТ ЛАН менаџер", - "SSL" : "SSL", - "TLS" : "TLS", + "SSL" : "ССЛ", + "TLS" : "ТЛС", "The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Омогућена је Само-читај конфигурација. То спречава постављање неке конфигурације преко веб-интерфејса. Осим тога, фајлу мора бити ручно омогућено уписивање код сваког освежавања.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "ПХП је очигледно подешен да се скида уметнуте док блокова. То ће учинити неколико кључних апликација недоступним.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ово је вероватно изазвано кешом или акцелератором као што су ЗендОПкеш или еАкцелератор.", @@ -141,7 +141,7 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php је регистрован код вебкрон сервиса за позивање cron.php сваких 15 минута преко протокола http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Користите системски крон сервис за позивање cron.php фајла сваких 15 минута.", "Server Side Encryption" : "Шифровање на страни сервера", - "Enable Server-Side-Encryption" : "Омогући шифровање од стране сервера", + "Enable Server-Side-Encryption" : "Укључи шифровање на страни сервера", "This is used for sending out notifications." : "Ово се користи за слање обавештења.", "Send mode" : "Режим слања", "From address" : "Са адресе", @@ -169,7 +169,7 @@ "Performance tuning" : "Побољшање перформанси", "Improving the config.php" : "Побољшање фајла поставки", "Theming" : "Теме", - "Hardening and security guidance" : "Смањивање изложености система и безбедносне препоруке", + "Hardening and security guidance" : "Ојачавање система и безбедносне препоруке", "Version" : "Верзија", "More apps" : "Још апликација", "Developer documentation" : "Програмерска документација", @@ -184,7 +184,7 @@ "Update to %s" : "Ажурирај на %s", "Enable only for specific groups" : "Укључи само за одређене групе", "Uninstall App" : "Деинсталирај апликацију", - "No apps found for your version" : "Нема апликација за ваше издање", + "No apps found for your version" : "Нема апликација за вашу верзију", "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Поздрав,<br><br>само вас обавештавам да сад имате %s налог.<br><br>Ваше корисничко име: %s<br>Приступите му на: <a href=\"%s\">%s</a><br><br>", "Cheers!" : "Здраво!", "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Добродошли,\n\nСамо да знате да сада имате %s налог.\n\nВаше корисничко име: %s\nПриступите: %s\n", @@ -196,8 +196,8 @@ "Get the apps to sync your files" : "Преузмите апликације ради синхронизовања ваших фајлова", "Desktop client" : "Клијент за рачунар", "Android app" : "Андроид апликација", - "iOS app" : "iOS апликација", - "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Ако желите да подржите пројект\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">придружите се развоју</a>\n\t\tили\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">проширите реч</a>!", + "iOS app" : "иОС апликација", + "If you want to support the project\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Ако желите да подржите пројект\n\t\t<a href=\"https://owncloud.org/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">придружите се развоју</a>\n\t\tили\n\t\t<a href=\"https://owncloud.org/promote\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">разгласите свима</a>!", "Show First Run Wizard again" : "Поново прикажи чаробњака за прво покретање", "You have used <strong>%s</strong> of the available <strong>%s</strong>" : "Искористили сте <strong>%s</strong> од дозвољених <strong>%s</strong>", "Password" : "Лозинка", @@ -205,7 +205,7 @@ "Current password" : "Тренутна лозинка", "New password" : "Нова лозинка", "Change password" : "Измени лозинку", - "Full name" : "Име и презиме", + "Full name" : "Пуно име", "No display name set" : "Није постављено име за приказ", "Email" : "Е-пошта", "Your email address" : "Ваша адреса е-поште", @@ -248,13 +248,13 @@ "Add Group" : "Додај групу", "Group" : "Група", "Everyone" : "Сви", - "Admins" : "Аднинистрација", + "Admins" : "Администратори", "Default Quota" : "Подразумевана квота", "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Унесите квоту складиштења (нпр. 512 MB или 12 GB)", "Unlimited" : "Неограничено", "Other" : "Друго", "Full Name" : "Пуно име", - "Group Admin for" : "Групни администратор за", + "Group Admin for" : "Администратор група", "Quota" : "Квота", "Storage Location" : "Локација складишта", "User Backend" : "Позадина за кориснике", diff --git a/settings/l10n/tr.js b/settings/l10n/tr.js index 7fa16f4ac0a..992e8211e8c 100644 --- a/settings/l10n/tr.js +++ b/settings/l10n/tr.js @@ -1,12 +1,13 @@ OC.L10N.register( "settings", { - "Security & setup warnings" : "Guvenlik & kurma uyarı", + "Security & setup warnings" : "Güvenlik ve kurulum uyarıları", "Sharing" : "Paylaşım", "External Storage" : "Harici Depolama", "Cron" : "Cron", "Email Server" : "E-Posta Sunucusu", "Log" : "Günlük", + "Tips & tricks" : "İpuçları ve hileler", "Updates" : "Güncellemeler", "Authentication error" : "Kimlik doğrulama hatası", "Your full name has been changed." : "Tam adınız değiştirildi.", @@ -94,6 +95,7 @@ OC.L10N.register( "A valid password must be provided" : "Geçerli bir parola mutlaka sağlanmalı", "A valid email must be provided" : "Geçerli bir e-posta belirtilmeli", "__language_name__" : "Türkçe", + "Sync clients" : "Eşitleme istemcileri", "Personal info" : "Kişisel bilgi", "SSL root certificates" : "SSL kök sertifikaları", "Encryption" : "Şifreleme", @@ -119,6 +121,7 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Şu dillerden birini desteklemesi için sisteminize gerekli paketleri kurmanızı şiddetle tavsiye ederiz: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Eğer kurulumunuz alan adının köküne yapılmamışsa ve sistem cron'u kullanıyorsa, URL oluşturma ile ilgili sorunlar oluşabilir. Bu sorunların önüne geçmek için, kurulumunuzun web kök yolundaki config.php dosyasında \"overwrite.cli.url\" seçeneğini ayarlayın (Önerilen: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Bu CLI ile cronjobı çalıştırmak mümkün değildi. Aşağıdaki teknik hatalar ortaya çıkmıştır:", + "Please double check the <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "Lütfen <a target=\"_blank\" href=\"%s\">kurulum rehberlerini ↗</a> iki kez denetleyip <a href=\"#log-section\">günlük</a> içerisindeki hata ve uyarılara bakın.", "Allow apps to use the Share API" : "Uygulamaların paylaşım API'sini kullanmasına izin ver", "Allow users to share via link" : "Kullanıcıların bağlantı ile paylaşmasına izin ver", "Enforce password protection" : "Parola korumasını zorla", @@ -139,6 +142,8 @@ OC.L10N.register( "Execute one task with each page loaded" : "Yüklenen her sayfa ile bir görev çalıştır", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php, http üzerinden her 15 dakikada bir çağrılması için webcron hizmetine kaydedilir.", "Use system's cron service to call the cron.php file every 15 minutes." : "Cron.php dosyasını her 15 dakikada bir çağırmak için sistem cron hizmetini kullan.", + "Server Side Encryption" : "Sunucu Taraflı Şifreleme", + "Enable Server-Side-Encryption" : "Sunucu Taraflı Şifrelemeyi Etkinleştir", "This is used for sending out notifications." : "Bu, bildirimler gönderilirken kullanılır.", "Send mode" : "Gönderme kipi", "From address" : "Kimden adresi", @@ -160,6 +165,13 @@ OC.L10N.register( "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Günlük dosyası 100 MB'dan daha büyük. İndirmek zaman alabilir!", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Veritabanı olarak SQLite kullanılıyor. Daha büyük kurulumlar için farklı bir veritabanı arka ucuna geçmenizi öneriyoruz.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Özellikle dosya eşitleme için masaüstü istemcisi kullanılırken SQLite kullanımı önerilmez.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Başka bir veritabanına geçmek için komut satırı aracını kullanın: 'occ db:convert-type' veya <a target=\"_blank\" href=\"%s\">belgelendirmeye ↗</a> bakın.", + "How to do backups" : "Nasıl yedekleme yapılır", + "Advanced monitoring" : "Gelişmiş izleme", + "Performance tuning" : "Performans ayarlama", + "Improving the config.php" : "config.php iyileştirme", + "Theming" : "Tema", + "Hardening and security guidance" : "Sağlamlaştırma ve güvenlik rehberliği", "Version" : "Sürüm", "More apps" : "Daha fazla uygulama", "Developer documentation" : "Geliştirici belgelendirmesi", @@ -174,6 +186,7 @@ OC.L10N.register( "Update to %s" : "%s sürümüne güncelle", "Enable only for specific groups" : "Sadece belirli gruplar için etkinleştir", "Uninstall App" : "Uygulamayı Kaldır", + "No apps found for your version" : "Sürümünüz için uygulama bulunamadı", "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Merhaba,<br><br>Sadece artık bir %s hesabınızın olduğunu söylemek istedim.<br><br>Kullanıcı adınız: %s<br>Şuradan erişin: <a href=\"%s\">%s</a><br><br>", "Cheers!" : "Hoşçakalın!", "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Merhaba,\n\nSadece, artık bir %s hesabınızın olduğunu söylemek istedim.\n\nKullanıcı adınız: %s\nErişim: %s\n\n", @@ -215,6 +228,7 @@ OC.L10N.register( "Valid until" : "Geçerlilik", "Issued By" : "Veren", "Valid until %s" : "%s tarihine kadar geçerli", + "Import root certificate" : "Kök sertifikalarını içe aktar", "The encryption app is no longer enabled, please decrypt all your files" : "Şifreleme uygulaması artık etkin değil, lütfen tüm dosyalarınızın şifrelemesini kaldırın", "Log-in password" : "Oturum açma parolası", "Decrypt all Files" : "Tüm Dosyaların Şifrelemesini Kaldır", diff --git a/settings/l10n/tr.json b/settings/l10n/tr.json index f522a160f3a..9accebc4094 100644 --- a/settings/l10n/tr.json +++ b/settings/l10n/tr.json @@ -1,10 +1,11 @@ { "translations": { - "Security & setup warnings" : "Guvenlik & kurma uyarı", + "Security & setup warnings" : "Güvenlik ve kurulum uyarıları", "Sharing" : "Paylaşım", "External Storage" : "Harici Depolama", "Cron" : "Cron", "Email Server" : "E-Posta Sunucusu", "Log" : "Günlük", + "Tips & tricks" : "İpuçları ve hileler", "Updates" : "Güncellemeler", "Authentication error" : "Kimlik doğrulama hatası", "Your full name has been changed." : "Tam adınız değiştirildi.", @@ -92,6 +93,7 @@ "A valid password must be provided" : "Geçerli bir parola mutlaka sağlanmalı", "A valid email must be provided" : "Geçerli bir e-posta belirtilmeli", "__language_name__" : "Türkçe", + "Sync clients" : "Eşitleme istemcileri", "Personal info" : "Kişisel bilgi", "SSL root certificates" : "SSL kök sertifikaları", "Encryption" : "Şifreleme", @@ -117,6 +119,7 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Şu dillerden birini desteklemesi için sisteminize gerekli paketleri kurmanızı şiddetle tavsiye ederiz: %s.", "If your installation is not installed in the root of the domain and uses system cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Eğer kurulumunuz alan adının köküne yapılmamışsa ve sistem cron'u kullanıyorsa, URL oluşturma ile ilgili sorunlar oluşabilir. Bu sorunların önüne geçmek için, kurulumunuzun web kök yolundaki config.php dosyasında \"overwrite.cli.url\" seçeneğini ayarlayın (Önerilen: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Bu CLI ile cronjobı çalıştırmak mümkün değildi. Aşağıdaki teknik hatalar ortaya çıkmıştır:", + "Please double check the <a target=\"_blank\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"#log-section\">log</a>." : "Lütfen <a target=\"_blank\" href=\"%s\">kurulum rehberlerini ↗</a> iki kez denetleyip <a href=\"#log-section\">günlük</a> içerisindeki hata ve uyarılara bakın.", "Allow apps to use the Share API" : "Uygulamaların paylaşım API'sini kullanmasına izin ver", "Allow users to share via link" : "Kullanıcıların bağlantı ile paylaşmasına izin ver", "Enforce password protection" : "Parola korumasını zorla", @@ -137,6 +140,8 @@ "Execute one task with each page loaded" : "Yüklenen her sayfa ile bir görev çalıştır", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php, http üzerinden her 15 dakikada bir çağrılması için webcron hizmetine kaydedilir.", "Use system's cron service to call the cron.php file every 15 minutes." : "Cron.php dosyasını her 15 dakikada bir çağırmak için sistem cron hizmetini kullan.", + "Server Side Encryption" : "Sunucu Taraflı Şifreleme", + "Enable Server-Side-Encryption" : "Sunucu Taraflı Şifrelemeyi Etkinleştir", "This is used for sending out notifications." : "Bu, bildirimler gönderilirken kullanılır.", "Send mode" : "Gönderme kipi", "From address" : "Kimden adresi", @@ -158,6 +163,13 @@ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Günlük dosyası 100 MB'dan daha büyük. İndirmek zaman alabilir!", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Veritabanı olarak SQLite kullanılıyor. Daha büyük kurulumlar için farklı bir veritabanı arka ucuna geçmenizi öneriyoruz.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Özellikle dosya eşitleme için masaüstü istemcisi kullanılırken SQLite kullanımı önerilmez.", + "To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Başka bir veritabanına geçmek için komut satırı aracını kullanın: 'occ db:convert-type' veya <a target=\"_blank\" href=\"%s\">belgelendirmeye ↗</a> bakın.", + "How to do backups" : "Nasıl yedekleme yapılır", + "Advanced monitoring" : "Gelişmiş izleme", + "Performance tuning" : "Performans ayarlama", + "Improving the config.php" : "config.php iyileştirme", + "Theming" : "Tema", + "Hardening and security guidance" : "Sağlamlaştırma ve güvenlik rehberliği", "Version" : "Sürüm", "More apps" : "Daha fazla uygulama", "Developer documentation" : "Geliştirici belgelendirmesi", @@ -172,6 +184,7 @@ "Update to %s" : "%s sürümüne güncelle", "Enable only for specific groups" : "Sadece belirli gruplar için etkinleştir", "Uninstall App" : "Uygulamayı Kaldır", + "No apps found for your version" : "Sürümünüz için uygulama bulunamadı", "Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Merhaba,<br><br>Sadece artık bir %s hesabınızın olduğunu söylemek istedim.<br><br>Kullanıcı adınız: %s<br>Şuradan erişin: <a href=\"%s\">%s</a><br><br>", "Cheers!" : "Hoşçakalın!", "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Merhaba,\n\nSadece, artık bir %s hesabınızın olduğunu söylemek istedim.\n\nKullanıcı adınız: %s\nErişim: %s\n\n", @@ -213,6 +226,7 @@ "Valid until" : "Geçerlilik", "Issued By" : "Veren", "Valid until %s" : "%s tarihine kadar geçerli", + "Import root certificate" : "Kök sertifikalarını içe aktar", "The encryption app is no longer enabled, please decrypt all your files" : "Şifreleme uygulaması artık etkin değil, lütfen tüm dosyalarınızın şifrelemesini kaldırın", "Log-in password" : "Oturum açma parolası", "Decrypt all Files" : "Tüm Dosyaların Şifrelemesini Kaldır", diff --git a/settings/l10n/zh_CN.js b/settings/l10n/zh_CN.js index 4f1ad422ee1..b0a808fb353 100644 --- a/settings/l10n/zh_CN.js +++ b/settings/l10n/zh_CN.js @@ -125,6 +125,7 @@ OC.L10N.register( "Log level" : "日志级别", "More" : "更多", "Less" : "更少", + "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "特别当使用桌面客户端来同步文件时,不鼓励使用 SQLite 。", "Version" : "版本", "More apps" : "更多应用", "by" : "被", diff --git a/settings/l10n/zh_CN.json b/settings/l10n/zh_CN.json index 519fa140d3c..3b544e93396 100644 --- a/settings/l10n/zh_CN.json +++ b/settings/l10n/zh_CN.json @@ -123,6 +123,7 @@ "Log level" : "日志级别", "More" : "更多", "Less" : "更少", + "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "特别当使用桌面客户端来同步文件时,不鼓励使用 SQLite 。", "Version" : "版本", "More apps" : "更多应用", "by" : "被", diff --git a/settings/personal.php b/settings/personal.php index e4d278d4f28..12b320ac001 100644 --- a/settings/personal.php +++ b/settings/personal.php @@ -59,11 +59,6 @@ $email=$config->getUserValue(OC_User::getUser(), 'settings', 'email', ''); $userLang=$config->getUserValue( OC_User::getUser(), 'core', 'lang', OC_L10N::findLanguage() ); $languageCodes=OC_L10N::findAvailableLanguages(); -//check if encryption was enabled in the past -$filesStillEncrypted = OC_Util::encryptedFiles(); -$backupKeysExists = OC_Util::backupKeysExists(); -$enableDecryptAll = $filesStillEncrypted || $backupKeysExists; - // array of common languages $commonlangcodes = array( 'en', 'es', 'fr', 'de', 'de_DE', 'ja', 'ar', 'ru', 'nl', 'it', 'pt_BR', 'pt_PT', 'da', 'fi_FI', 'nb_NO', 'sv', 'tr', 'zh_CN', 'ko' @@ -120,9 +115,6 @@ $tmpl->assign('activelanguage', $userLang); $tmpl->assign('passwordChangeSupported', OC_User::canUserChangePassword(OC_User::getUser())); $tmpl->assign('displayNameChangeSupported', OC_User::canUserChangeDisplayName(OC_User::getUser())); $tmpl->assign('displayName', OC_User::getDisplayName()); -$tmpl->assign('enableDecryptAll' , $enableDecryptAll); -$tmpl->assign('backupKeysExists' , $backupKeysExists); -$tmpl->assign('filesStillEncrypted' , $filesStillEncrypted); $tmpl->assign('enableAvatars', $config->getSystemValue('enable_avatars', true)); $tmpl->assign('avatarChangeSupported', OC_User::canUserChangeAvatar(OC_User::getUser())); $tmpl->assign('certs', $certificateManager->listCertificates()); @@ -163,9 +155,6 @@ $formsAndMore = array_merge($formsAndMore, $formsMap); // add bottom hardcoded forms from the template $formsAndMore[]= array( 'anchor' => 'ssl-root-certificates', 'section-name' => $l->t('SSL root certificates') ); -if($enableDecryptAll) { - $formsAndMore[]= array( 'anchor' => 'encryption', 'section-name' => $l->t('Encryption') ); -} $tmpl->assign('forms', $formsAndMore); $tmpl->printPage(); diff --git a/settings/routes.php b/settings/routes.php index 5a069e5a1c6..1bb14812145 100644 --- a/settings/routes.php +++ b/settings/routes.php @@ -33,25 +33,27 @@ namespace OC\Settings; $application = new Application(); -$application->registerRoutes($this, array( - 'resources' => array( - 'groups' => array('url' => '/settings/users/groups'), - 'users' => array('url' => '/settings/users/users') - ), - 'routes' => array( - array('name' => 'MailSettings#setMailSettings', 'url' => '/settings/admin/mailsettings', 'verb' => 'POST'), - array('name' => 'MailSettings#storeCredentials', 'url' => '/settings/admin/mailsettings/credentials', 'verb' => 'POST'), - array('name' => 'MailSettings#sendTestMail', 'url' => '/settings/admin/mailtest', 'verb' => 'POST'), - array('name' => 'AppSettings#listCategories', 'url' => '/settings/apps/categories', 'verb' => 'GET'), - array('name' => 'AppSettings#listApps', 'url' => '/settings/apps/list', 'verb' => 'GET'), - array('name' => 'SecuritySettings#trustedDomains', 'url' => '/settings/admin/security/trustedDomains', 'verb' => 'POST'), - array('name' => 'Users#setMailAddress', 'url' => '/settings/users/{id}/mailAddress', 'verb' => 'PUT'), - array('name' => 'LogSettings#setLogLevel', 'url' => '/settings/admin/log/level', 'verb' => 'POST'), - array('name' => 'LogSettings#getEntries', 'url' => '/settings/admin/log/entries', 'verb' => 'GET'), - array('name' => 'LogSettings#download', 'url' => '/settings/admin/log/download', 'verb' => 'GET'), +$application->registerRoutes($this, [ + 'resources' => [ + 'groups' => ['url' => '/settings/users/groups'], + 'users' => ['url' => '/settings/users/users'] + ], + 'routes' => [ + ['name' => 'MailSettings#setMailSettings', 'url' => '/settings/admin/mailsettings', 'verb' => 'POST'], + ['name' => 'MailSettings#storeCredentials', 'url' => '/settings/admin/mailsettings/credentials', 'verb' => 'POST'], + ['name' => 'MailSettings#sendTestMail', 'url' => '/settings/admin/mailtest', 'verb' => 'POST'], + ['name' => 'AppSettings#listCategories', 'url' => '/settings/apps/categories', 'verb' => 'GET'], + ['name' => 'AppSettings#viewApps', 'url' => '/settings/apps', 'verb' => 'GET'], + ['name' => 'AppSettings#listApps', 'url' => '/settings/apps/list', 'verb' => 'GET'], + ['name' => 'AppSettings#changeExperimentalConfigState', 'url' => '/settings/apps/experimental', 'verb' => 'POST'], + ['name' => 'SecuritySettings#trustedDomains', 'url' => '/settings/admin/security/trustedDomains', 'verb' => 'POST'], + ['name' => 'Users#setMailAddress', 'url' => '/settings/users/{id}/mailAddress', 'verb' => 'PUT'], + ['name' => 'LogSettings#setLogLevel', 'url' => '/settings/admin/log/level', 'verb' => 'POST'], + ['name' => 'LogSettings#getEntries', 'url' => '/settings/admin/log/entries', 'verb' => 'GET'], + ['name' => 'LogSettings#download', 'url' => '/settings/admin/log/download', 'verb' => 'GET'], ['name' => 'CheckSetup#check', 'url' => '/settings/ajax/checksetup', 'verb' => 'GET'], - ) -)); + ] +]); /** @var $this \OCP\Route\IRouter */ @@ -62,8 +64,6 @@ $this->create('settings_personal', '/settings/personal') ->actionInclude('settings/personal.php'); $this->create('settings_users', '/settings/users') ->actionInclude('settings/users.php'); -$this->create('settings_apps', '/settings/apps') - ->actionInclude('settings/apps.php'); $this->create('settings_admin', '/settings/admin') ->actionInclude('settings/admin.php'); // Settings ajax actions @@ -89,12 +89,6 @@ $this->create('settings_personal_changepassword', '/settings/personal/changepass ->action('OC\Settings\ChangePassword\Controller', 'changePersonalPassword'); $this->create('settings_ajax_setlanguage', '/settings/ajax/setlanguage.php') ->actionInclude('settings/ajax/setlanguage.php'); -$this->create('settings_ajax_decryptall', '/settings/ajax/decryptall.php') - ->actionInclude('settings/ajax/decryptall.php'); -$this->create('settings_ajax_restorekeys', '/settings/ajax/restorekeys.php') - ->actionInclude('settings/ajax/restorekeys.php'); -$this->create('settings_ajax_deletekeys', '/settings/ajax/deletekeys.php') - ->actionInclude('settings/ajax/deletekeys.php'); $this->create('settings_cert_post', '/settings/ajax/addRootCertificate') ->actionInclude('settings/ajax/addRootCertificate.php'); $this->create('settings_cert_remove', '/settings/ajax/removeRootCertificate') diff --git a/settings/templates/admin.php b/settings/templates/admin.php index 1b0ed66563e..4bc497df764 100644 --- a/settings/templates/admin.php +++ b/settings/templates/admin.php @@ -269,6 +269,10 @@ if ($_['cronErrors']) { endif; ?> </p> <?php endif; ?> + <a target="_blank" class="icon-info svg" + title="<?php p($l->t('Open documentation'));?>" + href="<?php p(link_to_docs('admin-background-jobs')); ?>"></a> + <p> <input type="radio" name="mode" value="ajax" id="backgroundjobs_ajax" <?php if ($_['backgroundjobs_mode'] === "ajax") { @@ -295,73 +299,6 @@ if ($_['cronErrors']) { </p> </div> -<div class="section" id="shareAPI"> - <h2><?php p($l->t('Sharing'));?></h2> - <p id="enable"> - <input type="checkbox" name="shareapi_enabled" id="shareAPIEnabled" - value="1" <?php if ($_['shareAPIEnabled'] === 'yes') print_unescaped('checked="checked"'); ?> /> - <label for="shareAPIEnabled"><?php p($l->t('Allow apps to use the Share API'));?></label><br/> - </p> - <p class="<?php if ($_['shareAPIEnabled'] === 'no') p('hidden');?>"> - <input type="checkbox" name="shareapi_allow_links" id="allowLinks" - value="1" <?php if ($_['allowLinks'] === 'yes') print_unescaped('checked="checked"'); ?> /> - <label for="allowLinks"><?php p($l->t('Allow users to share via link'));?></label><br/> - </p> - - <p id="publicLinkSettings" class="indent <?php if ($_['allowLinks'] !== 'yes' || $_['shareAPIEnabled'] === 'no') p('hidden'); ?>"> - <input type="checkbox" name="shareapi_enforce_links_password" id="enforceLinkPassword" - value="1" <?php if ($_['enforceLinkPassword']) print_unescaped('checked="checked"'); ?> /> - <label for="enforceLinkPassword"><?php p($l->t('Enforce password protection'));?></label><br/> - - <input type="checkbox" name="shareapi_allow_public_upload" id="allowPublicUpload" - value="1" <?php if ($_['allowPublicUpload'] == 'yes') print_unescaped('checked="checked"'); ?> /> - <label for="allowPublicUpload"><?php p($l->t('Allow public uploads'));?></label><br/> - - <input type="checkbox" name="shareapi_allow_public_notification" id="allowPublicMailNotification" - value="1" <?php if ($_['allowPublicMailNotification'] == 'yes') print_unescaped('checked="checked"'); ?> /> - <label for="allowPublicMailNotification"><?php p($l->t('Allow users to send mail notification for shared files'));?></label><br/> - - <input type="checkbox" name="shareapi_default_expire_date" id="shareapiDefaultExpireDate" - value="1" <?php if ($_['shareDefaultExpireDateSet'] === 'yes') print_unescaped('checked="checked"'); ?> /> - <label for="shareapiDefaultExpireDate"><?php p($l->t('Set default expiration date'));?></label><br/> - - </p> - <p id="setDefaultExpireDate" class="double-indent <?php if ($_['allowLinks'] !== 'yes' || $_['shareDefaultExpireDateSet'] === 'no' || $_['shareAPIEnabled'] === 'no') p('hidden');?>"> - <?php p($l->t( 'Expire after ' )); ?> - <input type="text" name='shareapi_expire_after_n_days' id="shareapiExpireAfterNDays" placeholder="<?php p('7')?>" - value='<?php p($_['shareExpireAfterNDays']) ?>' /> - <?php p($l->t( 'days' )); ?> - <input type="checkbox" name="shareapi_enforce_expire_date" id="shareapiEnforceExpireDate" - value="1" <?php if ($_['shareEnforceExpireDate'] === 'yes') print_unescaped('checked="checked"'); ?> /> - <label for="shareapiEnforceExpireDate"><?php p($l->t('Enforce expiration date'));?></label><br/> - </p> - <p class="<?php if ($_['shareAPIEnabled'] === 'no') p('hidden');?>"> - <input type="checkbox" name="shareapi_allow_resharing" id="allowResharing" - value="1" <?php if ($_['allowResharing'] === 'yes') print_unescaped('checked="checked"'); ?> /> - <label for="allowResharing"><?php p($l->t('Allow resharing'));?></label><br/> - </p> - <p class="<?php if ($_['shareAPIEnabled'] === 'no') p('hidden');?>"> - <input type="checkbox" name="shareapi_only_share_with_group_members" id="onlyShareWithGroupMembers" - value="1" <?php if ($_['onlyShareWithGroupMembers']) print_unescaped('checked="checked"'); ?> /> - <label for="onlyShareWithGroupMembers"><?php p($l->t('Restrict users to only share with users in their groups'));?></label><br/> - </p> - <p class="<?php if ($_['shareAPIEnabled'] === 'no') p('hidden');?>"> - <input type="checkbox" name="shareapi_allow_mail_notification" id="allowMailNotification" - value="1" <?php if ($_['allowMailNotification'] === 'yes') print_unescaped('checked="checked"'); ?> /> - <label for="allowMailNotification"><?php p($l->t('Allow users to send mail notification for shared files to other users'));?></label><br/> - </p> - <p class="<?php if ($_['shareAPIEnabled'] === 'no') p('hidden');?>"> - <input type="checkbox" name="shareapi_exclude_groups" id="shareapiExcludeGroups" - value="1" <?php if ($_['shareExcludeGroups']) print_unescaped('checked="checked"'); ?> /> - <label for="shareapiExcludeGroups"><?php p($l->t('Exclude groups from sharing'));?></label><br/> - </p> - <p id="selectExcludedGroups" class="indent <?php if (!$_['shareExcludeGroups'] || $_['shareAPIEnabled'] === 'no') p('hidden'); ?>"> - <input name="shareapi_exclude_groups_list" type="hidden" id="excludedGroups" value="<?php p($_['shareExcludedGroupsList']) ?>" style="width: 400px"/> - <br /> - <em><?php p($l->t('These groups will still be able to receive shares, but not to initiate them.')); ?></em> - </p> -</div> - <div class="section" id='encryptionAPI'> <h2><?php p($l->t('Server Side Encryption'));?></h2> <p id="enable"> diff --git a/settings/templates/apps.php b/settings/templates/apps.php index a2fe5d9b63a..31de7fa2318 100644 --- a/settings/templates/apps.php +++ b/settings/templates/apps.php @@ -1,3 +1,27 @@ +<?php +style('settings', 'settings'); +vendor_style( + 'core', + [ + 'select2/select2', + ] +); +vendor_script( + 'core', + [ + 'handlebars/handlebars', + 'select2/select2' + ] +); +script( + 'settings', + [ + 'settings', + 'apps', + ] +); +/** @var array $_ */ +?> <script id="categories-template" type="text/x-handlebars-template"> {{#each this}} <li id="app-category-{{id}}" data-category-id="{{id}}" tabindex="0"> @@ -16,6 +40,18 @@ </script> <script id="app-template" type="text/x-handlebars"> + {{#if firstExperimental}} + <div class="section apps-experimental"> + <h2><?php p($l->t('Experimental applications ahead')) ?></h2> + <p> + <?php p($l->t('Experimental apps are not checked for security ' . + 'issues, new or known to be unstable and under heavy ' . + 'development. Installing them can cause data loss or security ' . + 'breaches.')) ?> + </p> + </div> + {{/if}} + <div class="section" id="app-{{id}}"> {{#if preview}} <div class="app-image{{#if previewAsIcon}} app-image-icon{{/if}} hidden"> @@ -23,17 +59,19 @@ {{/if}} <h2 class="app-name"><a href="{{detailpage}}" target="_blank">{{name}}</a></h2> <div class="app-version"> {{version}}</div> + {{#if profilepage}}<a href="{{profilepage}}" target="_blank" rel="noreferrer">{{/if}} <div class="app-author"><?php p($l->t('by')); ?> {{author}} {{#if licence}} ({{licence}}-<?php p($l->t('licensed')); ?>) {{/if}} </div> + {{#if profilepage}}</a>{{/if}} + <div class="app-level"> + {{{level}}} + </div> {{#if score}} <div class="app-score">{{{score}}}</div> {{/if}} - {{#if internalclass}} - <div class="{{internalclass}} icon-checkmark">{{internallabel}}</div> - {{/if}} <div class="app-detailpage"></div> <div class="app-description-container hidden"> @@ -95,6 +133,24 @@ <ul id="apps-categories"> </ul> + <div id="app-settings"> + <div id="app-settings-header"> + <button class="settings-button" data-apps-slide-toggle="#app-settings-content"></button> + </div> + + <div id="app-settings-content" class="apps-experimental"> + <input type="checkbox" id="enable-experimental-apps" <?php if($_['experimentalEnabled']) { print_unescaped('checked="checked"'); }?>> + <label for="enable-experimental-apps"><?php p($l->t('Enable experimental apps')) ?></label> + <p> + <small> + <?php p($l->t('Experimental apps are not checked for security ' . + 'issues, new or known to be unstable and under heavy ' . + 'development. Installing them can cause data loss or security ' . + 'breaches.')) ?> + </small> + </p> + </div> + </div> </div> <div id="app-content"> <div id="apps-list" class="icon-loading"></div> diff --git a/settings/templates/help.php b/settings/templates/help.php index f559329c6bb..79584aba84d 100644 --- a/settings/templates/help.php +++ b/settings/templates/help.php @@ -4,25 +4,25 @@ <li> <a class="<?php p($_['style1']); ?>" href="<?php print_unescaped($_['url1']); ?>"> - <?php p($l->t( 'User Documentation' )); ?> + <?php p($l->t('User documentation')); ?> </a> </li> <li> <a class="<?php p($_['style2']); ?>" href="<?php print_unescaped($_['url2']); ?>"> - <?php p($l->t( 'Administrator Documentation' )); ?> + <?php p($l->t('Administrator documentation')); ?> </a> </li> <?php } ?> <li> <a href="https://owncloud.org/support" target="_blank" rel="noreferrer"> - <?php p($l->t( 'Online Documentation' )); ?> ↗ + <?php p($l->t('Online documentation')); ?> ↗ </a> </li> <li> <a href="https://forum.owncloud.org" target="_blank" rel="noreferrer"> - <?php p($l->t( 'Forum' )); ?> ↗ + <?php p($l->t('Forum')); ?> ↗ </a> </li> @@ -30,14 +30,14 @@ <li> <a href="https://github.com/owncloud/core/blob/master/CONTRIBUTING.md" target="_blank" rel="noreferrer"> - <?php p($l->t( 'Bugtracker' )); ?> ↗ + <?php p($l->t('Issue tracker')); ?> ↗ </a> </li> <?php } ?> <li> - <a href="https://owncloud.com" target="_blank" rel="noreferrer"> - <?php p($l->t( 'Commercial Support' )); ?> ↗ + <a href="https://owncloud.com/subscriptions/" target="_blank" rel="noreferrer"> + <?php p($l->t('Commercial support')); ?> ↗ </a> </li> </div> diff --git a/settings/templates/personal.php b/settings/templates/personal.php index 2a0b4bb0dc4..dfdc6191805 100644 --- a/settings/templates/personal.php +++ b/settings/templates/personal.php @@ -242,58 +242,6 @@ if($_['passwordChangeSupported']) { </form> </div> -<?php if($_['enableDecryptAll']): ?> -<div id="encryption" class="section"> - - <h2> - <?php p( $l->t( 'Encryption' ) ); ?> - </h2> - - <?php if($_['filesStillEncrypted']): ?> - - <div id="decryptAll"> - <?php p($l->t( "The encryption app is no longer enabled, please decrypt all your files" )); ?> - <p> - <input - type="password" - name="privateKeyPassword" - id="privateKeyPassword" /> - <label for="privateKeyPassword"><?php p($l->t( "Log-in password" )); ?></label> - <br /> - <button - type="button" - disabled - name="submitDecryptAll"><?php p($l->t( "Decrypt all Files" )); ?> - </button> - <span class="msg"></span> - </p> - <br /> - </div> - <?php endif; ?> - - <div id="restoreBackupKeys" <?php $_['backupKeysExists'] ? '' : print_unescaped("class='hidden'") ?>> - - <?php p($l->t( "Your encryption keys are moved to a backup location. If something went wrong you can restore the keys. Only delete them permanently if you are sure that all files are decrypted correctly." )); ?> - <p> - <button - type="button" - name="submitRestoreKeys"><?php p($l->t( "Restore Encryption Keys" )); ?> - </button> - <button - type="button" - name="submitDeleteKeys"><?php p($l->t( "Delete Encryption Keys" )); ?> - </button> - <span class="msg"></span> - - </p> - <br /> - - </div> - - -</div> - <?php endif; ?> - <div class="section"> <h2><?php p($l->t('Version'));?></h2> <strong><?php p($theme->getTitle()); ?></strong> <?php p(OC_Util::getHumanVersion()) ?><br /> diff --git a/settings/tests/js/appsSpec.js b/settings/tests/js/appsSpec.js index 39329c19246..311fade2c66 100644 --- a/settings/tests/js/appsSpec.js +++ b/settings/tests/js/appsSpec.js @@ -98,4 +98,58 @@ describe('OC.Settings.Apps tests', function() { expect(results[0]).toEqual('somestuff'); }); }); + + describe('loading categories', function() { + var suite = this; + + beforeEach( function(){ + suite.server = sinon.fakeServer.create(); + }); + + afterEach( function(){ + suite.server.restore(); + }); + + function getResultsFromDom() { + var results = []; + $('#apps-list .section:not(.hidden)').each(function() { + results.push($(this).attr('data-id')); + }); + return results; + } + + it('sorts all applications using the level', function() { + Apps.loadCategory('TestId'); + + suite.server.requests[0].respond( + 200, + { + 'Content-Type': 'application/json' + }, + JSON.stringify({ + apps: [ + { + id: 'foo', + level: 0 + }, + { + id: 'alpha', + level: 300 + }, + { + id: 'delta', + level: 200 + } + ] + }) + ); + + var results = getResultsFromDom(); + expect(results.length).toEqual(3); + expect(results[0]).toEqual('alpha'); + expect(results[1]).toEqual('delta'); + expect(results[2]).toEqual('foo'); + }); + }); + }); diff --git a/settings/users.php b/settings/users.php index 08498edec29..0fc9fbeafc2 100644 --- a/settings/users.php +++ b/settings/users.php @@ -45,8 +45,8 @@ $groupsInfo = new \OC\Group\MetaData(OC_User::getUser(), $isAdmin, $groupManager $groupsInfo->setSorting($groupsInfo::SORT_USERCOUNT); list($adminGroup, $groups) = $groupsInfo->get(); -$recoveryAdminEnabled = OC_App::isEnabled('files_encryption') && - $config->getAppValue( 'files_encryption', 'recoveryAdminEnabled', null ); +$recoveryAdminEnabled = OC_App::isEnabled('encryption') && + $config->getAppValue( 'encryption', 'recoveryAdminEnabled', null ); if($isAdmin) { $subadmins = OC_SubAdmin::getAllSubAdmins(); |