diff options
Diffstat (limited to 'wiki/lib/plugins/extension')
150 files changed, 5722 insertions, 0 deletions
diff --git a/wiki/lib/plugins/extension/action.php b/wiki/lib/plugins/extension/action.php new file mode 100644 index 0000000..9e48f13 --- /dev/null +++ b/wiki/lib/plugins/extension/action.php @@ -0,0 +1,85 @@ +<?php +/** DokuWiki Plugin extension (Action Component) + * + * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html + * @author Andreas Gohr <andi@splitbrain.org> + */ + +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +class action_plugin_extension extends DokuWiki_Action_Plugin { + + /** + * Registers a callback function for a given event + * + * @param Doku_Event_Handler $controller DokuWiki's event controller object + * @return void + */ + public function register(Doku_Event_Handler $controller) { + + $controller->register_hook('AJAX_CALL_UNKNOWN', 'BEFORE', $this, 'info'); + + } + + /** + * Create the detail info for a single plugin + * + * @param Doku_Event $event + * @param $param + */ + public function info(Doku_Event &$event, $param) { + global $USERINFO; + global $INPUT; + + if($event->data != 'plugin_extension') return; + $event->preventDefault(); + $event->stopPropagation(); + + if(empty($_SERVER['REMOTE_USER']) || !auth_isadmin($_SERVER['REMOTE_USER'], $USERINFO['grps'])) { + http_status(403); + echo 'Forbidden'; + exit; + } + + $ext = $INPUT->str('ext'); + if(!$ext) { + http_status(400); + echo 'no extension given'; + return; + } + + /** @var helper_plugin_extension_extension $extension */ + $extension = plugin_load('helper', 'extension_extension'); + $extension->setExtension($ext); + + $act = $INPUT->str('act'); + switch($act) { + case 'enable': + case 'disable': + $json = new JSON(); + $extension->$act(); //enables/disables + + $reverse = ($act == 'disable') ? 'enable' : 'disable'; + + $return = array( + 'state' => $act.'d', // isn't English wonderful? :-) + 'reverse' => $reverse, + 'label' => $extension->getLang('btn_'.$reverse) + ); + + header('Content-Type: application/json'); + echo $json->encode($return); + break; + + case 'info': + default: + /** @var helper_plugin_extension_list $list */ + $list = plugin_load('helper', 'extension_list'); + header('Content-Type: text/html; charset=utf-8'); + echo $list->make_info($extension); + } + } + +} + diff --git a/wiki/lib/plugins/extension/admin.php b/wiki/lib/plugins/extension/admin.php new file mode 100644 index 0000000..71257cf --- /dev/null +++ b/wiki/lib/plugins/extension/admin.php @@ -0,0 +1,159 @@ +<?php +/** + * DokuWiki Plugin extension (Admin Component) + * + * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html + * @author Michael Hamann <michael@content-space.de> + */ + +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +/** + * Admin part of the extension manager + */ +class admin_plugin_extension extends DokuWiki_Admin_Plugin { + protected $infoFor = null; + /** @var helper_plugin_extension_gui */ + protected $gui; + + /** + * Constructor + * + * loads additional helpers + */ + public function __construct() { + $this->gui = plugin_load('helper', 'extension_gui'); + } + + /** + * @return int sort number in admin menu + */ + public function getMenuSort() { + return 0; + } + + /** + * @return bool true if only access for superuser, false is for superusers and moderators + */ + public function forAdminOnly() { + return true; + } + + /** + * Execute the requested action(s) and initialize the plugin repository + */ + public function handle() { + global $INPUT; + // initialize the remote repository + /* @var helper_plugin_extension_repository $repository */ + $repository = $this->loadHelper('extension_repository'); + + if(!$repository->hasAccess()) { + $url = $this->gui->tabURL('', array('purge' => 1)); + msg($this->getLang('repo_error').' [<a href="'.$url.'">'.$this->getLang('repo_retry').'</a>]', -1); + } + + if(!in_array('ssl', stream_get_transports())) { + msg($this->getLang('nossl'), -1); + } + + /* @var helper_plugin_extension_extension $extension */ + $extension = $this->loadHelper('extension_extension'); + + try { + if($INPUT->post->has('fn') && checkSecurityToken()) { + $actions = $INPUT->post->arr('fn'); + foreach($actions as $action => $extensions) { + foreach($extensions as $extname => $label) { + switch($action) { + case 'install': + case 'reinstall': + case 'update': + $extension->setExtension($extname); + $installed = $extension->installOrUpdate(); + foreach($installed as $ext => $info) { + msg(sprintf($this->getLang('msg_'.$info['type'].'_'.$info['action'].'_success'), $info['base']), 1); + } + break; + case 'uninstall': + $extension->setExtension($extname); + $status = $extension->uninstall(); + if($status) { + msg(sprintf($this->getLang('msg_delete_success'), hsc($extension->getDisplayName())), 1); + } else { + msg(sprintf($this->getLang('msg_delete_failed'), hsc($extension->getDisplayName())), -1); + } + break; + case 'enable'; + $extension->setExtension($extname); + $status = $extension->enable(); + if($status !== true) { + msg($status, -1); + } else { + msg(sprintf($this->getLang('msg_enabled'), hsc($extension->getDisplayName())), 1); + } + break; + case 'disable'; + $extension->setExtension($extname); + $status = $extension->disable(); + if($status !== true) { + msg($status, -1); + } else { + msg(sprintf($this->getLang('msg_disabled'), hsc($extension->getDisplayName())), 1); + } + break; + } + } + } + send_redirect($this->gui->tabURL('', array(), '&', true)); + } elseif($INPUT->post->str('installurl') && checkSecurityToken()) { + $installed = $extension->installFromURL($INPUT->post->str('installurl')); + foreach($installed as $ext => $info) { + msg(sprintf($this->getLang('msg_'.$info['type'].'_'.$info['action'].'_success'), $info['base']), 1); + } + send_redirect($this->gui->tabURL('', array(), '&', true)); + } elseif(isset($_FILES['installfile']) && checkSecurityToken()) { + $installed = $extension->installFromUpload('installfile'); + foreach($installed as $ext => $info) { + msg(sprintf($this->getLang('msg_'.$info['type'].'_'.$info['action'].'_success'), $info['base']), 1); + } + send_redirect($this->gui->tabURL('', array(), '&', true)); + } + + } catch(Exception $e) { + msg($e->getMessage(), -1); + send_redirect($this->gui->tabURL('', array(), '&', true)); + } + + } + + /** + * Render HTML output + */ + public function html() { + ptln('<h1>'.$this->getLang('menu').'</h1>'); + ptln('<div id="extension__manager">'); + + $this->gui->tabNavigation(); + + switch($this->gui->currentTab()) { + case 'search': + $this->gui->tabSearch(); + break; + case 'templates': + $this->gui->tabTemplates(); + break; + case 'install': + $this->gui->tabInstall(); + break; + case 'plugins': + default: + $this->gui->tabPlugins(); + } + + ptln('</div>'); + } +} + +// vim:ts=4:sw=4:et: \ No newline at end of file diff --git a/wiki/lib/plugins/extension/admin.svg b/wiki/lib/plugins/extension/admin.svg new file mode 100644 index 0000000..6bd7c0d --- /dev/null +++ b/wiki/lib/plugins/extension/admin.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.5 11H19V7a2 2 0 0 0-2-2h-4V3.5A2.5 2.5 0 0 0 10.5 1 2.5 2.5 0 0 0 8 3.5V5H4a2 2 0 0 0-2 2v3.8h1.5c1.5 0 2.7 1.2 2.7 2.7 0 1.5-1.2 2.7-2.7 2.7H2V20a2 2 0 0 0 2 2h3.8v-1.5c0-1.5 1.2-2.7 2.7-2.7 1.5 0 2.7 1.2 2.7 2.7V22H17a2 2 0 0 0 2-2v-4h1.5a2.5 2.5 0 0 0 2.5-2.5 2.5 2.5 0 0 0-2.5-2.5z"/></svg> \ No newline at end of file diff --git a/wiki/lib/plugins/extension/all.less b/wiki/lib/plugins/extension/all.less new file mode 100644 index 0000000..3d9688e --- /dev/null +++ b/wiki/lib/plugins/extension/all.less @@ -0,0 +1,37 @@ + +@media only screen and (max-width: 600px) { + +#extension__list .legend { + > div { + padding-left: 0; + } + + div.screenshot { + margin: 0 .5em .5em 0; + } + + h2 { + width: auto; + float: none; + } + + div.linkbar { + clear: left; + } +} + +[dir=rtl] #extension__list .legend { + > div { + padding-right: 0; + } + + div.screenshot { + margin: 0 0 .5em .5em; + } + + div.linkbar { + clear: right; + } +} + +} /* /@media */ diff --git a/wiki/lib/plugins/extension/helper/extension.php b/wiki/lib/plugins/extension/helper/extension.php new file mode 100644 index 0000000..e77528b --- /dev/null +++ b/wiki/lib/plugins/extension/helper/extension.php @@ -0,0 +1,1162 @@ +<?php +/** + * DokuWiki Plugin extension (Helper Component) + * + * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html + * @author Michael Hamann <michael@content-space.de> + */ + +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); +if(!defined('DOKU_TPLLIB')) define('DOKU_TPLLIB', DOKU_INC.'lib/tpl/'); + +/** + * Class helper_plugin_extension_extension represents a single extension (plugin or template) + */ +class helper_plugin_extension_extension extends DokuWiki_Plugin { + private $id; + private $base; + private $is_template = false; + private $localInfo; + private $remoteInfo; + private $managerData; + /** @var helper_plugin_extension_repository $repository */ + private $repository = null; + + /** @var array list of temporary directories */ + private $temporary = array(); + + /** + * Destructor + * + * deletes any dangling temporary directories + */ + public function __destruct() { + foreach($this->temporary as $dir){ + io_rmdir($dir, true); + } + } + + /** + * @return bool false, this component is not a singleton + */ + public function isSingleton() { + return false; + } + + /** + * Set the name of the extension this instance shall represents, triggers loading the local and remote data + * + * @param string $id The id of the extension (prefixed with template: for templates) + * @return bool If some (local or remote) data was found + */ + public function setExtension($id) { + $id = cleanID($id); + $this->id = $id; + $this->base = $id; + + if(substr($id, 0 , 9) == 'template:'){ + $this->base = substr($id, 9); + $this->is_template = true; + } else { + $this->is_template = false; + } + + $this->localInfo = array(); + $this->managerData = array(); + $this->remoteInfo = array(); + + if ($this->isInstalled()) { + $this->readLocalData(); + $this->readManagerData(); + } + + if ($this->repository == null) { + $this->repository = $this->loadHelper('extension_repository'); + } + + $this->remoteInfo = $this->repository->getData($this->getID()); + + return ($this->localInfo || $this->remoteInfo); + } + + /** + * If the extension is installed locally + * + * @return bool If the extension is installed locally + */ + public function isInstalled() { + return is_dir($this->getInstallDir()); + } + + /** + * If the extension is under git control + * + * @return bool + */ + public function isGitControlled() { + if(!$this->isInstalled()) return false; + return is_dir($this->getInstallDir().'/.git'); + } + + /** + * If the extension is bundled + * + * @return bool If the extension is bundled + */ + public function isBundled() { + if (!empty($this->remoteInfo['bundled'])) return $this->remoteInfo['bundled']; + return in_array($this->id, + array( + 'authad', 'authldap', 'authmysql', 'authpdo', 'authpgsql', 'authplain', 'acl', 'info', 'extension', + 'revert', 'popularity', 'config', 'safefnrecode', 'styling', 'testing', 'template:dokuwiki' + ) + ); + } + + /** + * If the extension is protected against any modification (disable/uninstall) + * + * @return bool if the extension is protected + */ + public function isProtected() { + // never allow deinstalling the current auth plugin: + global $conf; + if ($this->id == $conf['authtype']) return true; + + /** @var Doku_Plugin_Controller $plugin_controller */ + global $plugin_controller; + $cascade = $plugin_controller->getCascade(); + return (isset($cascade['protected'][$this->id]) && $cascade['protected'][$this->id]); + } + + /** + * If the extension is installed in the correct directory + * + * @return bool If the extension is installed in the correct directory + */ + public function isInWrongFolder() { + return $this->base != $this->getBase(); + } + + /** + * If the extension is enabled + * + * @return bool If the extension is enabled + */ + public function isEnabled() { + global $conf; + if($this->isTemplate()){ + return ($conf['template'] == $this->getBase()); + } + + /* @var Doku_Plugin_Controller $plugin_controller */ + global $plugin_controller; + return !$plugin_controller->isdisabled($this->base); + } + + /** + * If the extension should be updated, i.e. if an updated version is available + * + * @return bool If an update is available + */ + public function updateAvailable() { + if(!$this->isInstalled()) return false; + if($this->isBundled()) return false; + $lastupdate = $this->getLastUpdate(); + if ($lastupdate === false) return false; + $installed = $this->getInstalledVersion(); + if ($installed === false || $installed === $this->getLang('unknownversion')) return true; + return $this->getInstalledVersion() < $this->getLastUpdate(); + } + + /** + * If the extension is a template + * + * @return bool If this extension is a template + */ + public function isTemplate() { + return $this->is_template; + } + + /** + * Get the ID of the extension + * + * This is the same as getName() for plugins, for templates it's getName() prefixed with 'template:' + * + * @return string + */ + public function getID() { + return $this->id; + } + + /** + * Get the name of the installation directory + * + * @return string The name of the installation directory + */ + public function getInstallName() { + return $this->base; + } + + // Data from plugin.info.txt/template.info.txt or the repo when not available locally + /** + * Get the basename of the extension + * + * @return string The basename + */ + public function getBase() { + if (!empty($this->localInfo['base'])) return $this->localInfo['base']; + return $this->base; + } + + /** + * Get the display name of the extension + * + * @return string The display name + */ + public function getDisplayName() { + if (!empty($this->localInfo['name'])) return $this->localInfo['name']; + if (!empty($this->remoteInfo['name'])) return $this->remoteInfo['name']; + return $this->base; + } + + /** + * Get the author name of the extension + * + * @return string|bool The name of the author or false if there is none + */ + public function getAuthor() { + if (!empty($this->localInfo['author'])) return $this->localInfo['author']; + if (!empty($this->remoteInfo['author'])) return $this->remoteInfo['author']; + return false; + } + + /** + * Get the email of the author of the extension if there is any + * + * @return string|bool The email address or false if there is none + */ + public function getEmail() { + // email is only in the local data + if (!empty($this->localInfo['email'])) return $this->localInfo['email']; + return false; + } + + /** + * Get the email id, i.e. the md5sum of the email + * + * @return string|bool The md5sum of the email if there is any, false otherwise + */ + public function getEmailID() { + if (!empty($this->remoteInfo['emailid'])) return $this->remoteInfo['emailid']; + if (!empty($this->localInfo['email'])) return md5($this->localInfo['email']); + return false; + } + + /** + * Get the description of the extension + * + * @return string The description + */ + public function getDescription() { + if (!empty($this->localInfo['desc'])) return $this->localInfo['desc']; + if (!empty($this->remoteInfo['description'])) return $this->remoteInfo['description']; + return ''; + } + + /** + * Get the URL of the extension, usually a page on dokuwiki.org + * + * @return string The URL + */ + public function getURL() { + if (!empty($this->localInfo['url'])) return $this->localInfo['url']; + return 'https://www.dokuwiki.org/'.($this->isTemplate() ? 'template' : 'plugin').':'.$this->getBase(); + } + + /** + * Get the installed version of the extension + * + * @return string|bool The version, usually in the form yyyy-mm-dd if there is any + */ + public function getInstalledVersion() { + if (!empty($this->localInfo['date'])) return $this->localInfo['date']; + if ($this->isInstalled()) return $this->getLang('unknownversion'); + return false; + } + + /** + * Get the install date of the current version + * + * @return string|bool The date of the last update or false if not available + */ + public function getUpdateDate() { + if (!empty($this->managerData['updated'])) return $this->managerData['updated']; + return $this->getInstallDate(); + } + + /** + * Get the date of the installation of the plugin + * + * @return string|bool The date of the installation or false if not available + */ + public function getInstallDate() { + if (!empty($this->managerData['installed'])) return $this->managerData['installed']; + return false; + } + + /** + * Get the names of the dependencies of this extension + * + * @return array The base names of the dependencies + */ + public function getDependencies() { + if (!empty($this->remoteInfo['dependencies'])) return $this->remoteInfo['dependencies']; + return array(); + } + + /** + * Get the names of the missing dependencies + * + * @return array The base names of the missing dependencies + */ + public function getMissingDependencies() { + /* @var Doku_Plugin_Controller $plugin_controller */ + global $plugin_controller; + $dependencies = $this->getDependencies(); + $missing_dependencies = array(); + foreach ($dependencies as $dependency) { + if ($plugin_controller->isdisabled($dependency)) { + $missing_dependencies[] = $dependency; + } + } + return $missing_dependencies; + } + + /** + * Get the names of all conflicting extensions + * + * @return array The names of the conflicting extensions + */ + public function getConflicts() { + if (!empty($this->remoteInfo['conflicts'])) return $this->remoteInfo['conflicts']; + return array(); + } + + /** + * Get the names of similar extensions + * + * @return array The names of similar extensions + */ + public function getSimilarExtensions() { + if (!empty($this->remoteInfo['similar'])) return $this->remoteInfo['similar']; + return array(); + } + + /** + * Get the names of the tags of the extension + * + * @return array The names of the tags of the extension + */ + public function getTags() { + if (!empty($this->remoteInfo['tags'])) return $this->remoteInfo['tags']; + return array(); + } + + /** + * Get the popularity information as floating point number [0,1] + * + * @return float|bool The popularity information or false if it isn't available + */ + public function getPopularity() { + if (!empty($this->remoteInfo['popularity'])) return $this->remoteInfo['popularity']; + return false; + } + + + /** + * Get the text of the security warning if there is any + * + * @return string|bool The security warning if there is any, false otherwise + */ + public function getSecurityWarning() { + if (!empty($this->remoteInfo['securitywarning'])) return $this->remoteInfo['securitywarning']; + return false; + } + + /** + * Get the text of the security issue if there is any + * + * @return string|bool The security issue if there is any, false otherwise + */ + public function getSecurityIssue() { + if (!empty($this->remoteInfo['securityissue'])) return $this->remoteInfo['securityissue']; + return false; + } + + /** + * Get the URL of the screenshot of the extension if there is any + * + * @return string|bool The screenshot URL if there is any, false otherwise + */ + public function getScreenshotURL() { + if (!empty($this->remoteInfo['screenshoturl'])) return $this->remoteInfo['screenshoturl']; + return false; + } + + /** + * Get the URL of the thumbnail of the extension if there is any + * + * @return string|bool The thumbnail URL if there is any, false otherwise + */ + public function getThumbnailURL() { + if (!empty($this->remoteInfo['thumbnailurl'])) return $this->remoteInfo['thumbnailurl']; + return false; + } + /** + * Get the last used download URL of the extension if there is any + * + * @return string|bool The previously used download URL, false if the extension has been installed manually + */ + public function getLastDownloadURL() { + if (!empty($this->managerData['downloadurl'])) return $this->managerData['downloadurl']; + return false; + } + + /** + * Get the download URL of the extension if there is any + * + * @return string|bool The download URL if there is any, false otherwise + */ + public function getDownloadURL() { + if (!empty($this->remoteInfo['downloadurl'])) return $this->remoteInfo['downloadurl']; + return false; + } + + /** + * If the download URL has changed since the last download + * + * @return bool If the download URL has changed + */ + public function hasDownloadURLChanged() { + $lasturl = $this->getLastDownloadURL(); + $currenturl = $this->getDownloadURL(); + return ($lasturl && $currenturl && $lasturl != $currenturl); + } + + /** + * Get the bug tracker URL of the extension if there is any + * + * @return string|bool The bug tracker URL if there is any, false otherwise + */ + public function getBugtrackerURL() { + if (!empty($this->remoteInfo['bugtracker'])) return $this->remoteInfo['bugtracker']; + return false; + } + + /** + * Get the URL of the source repository if there is any + * + * @return string|bool The URL of the source repository if there is any, false otherwise + */ + public function getSourcerepoURL() { + if (!empty($this->remoteInfo['sourcerepo'])) return $this->remoteInfo['sourcerepo']; + return false; + } + + /** + * Get the donation URL of the extension if there is any + * + * @return string|bool The donation URL if there is any, false otherwise + */ + public function getDonationURL() { + if (!empty($this->remoteInfo['donationurl'])) return $this->remoteInfo['donationurl']; + return false; + } + + /** + * Get the extension type(s) + * + * @return array The type(s) as array of strings + */ + public function getTypes() { + if (!empty($this->remoteInfo['types'])) return $this->remoteInfo['types']; + if ($this->isTemplate()) return array(32 => 'template'); + return array(); + } + + /** + * Get a list of all DokuWiki versions this extension is compatible with + * + * @return array The versions in the form yyyy-mm-dd => ('label' => label, 'implicit' => implicit) + */ + public function getCompatibleVersions() { + if (!empty($this->remoteInfo['compatible'])) return $this->remoteInfo['compatible']; + return array(); + } + + /** + * Get the date of the last available update + * + * @return string|bool The last available update in the form yyyy-mm-dd if there is any, false otherwise + */ + public function getLastUpdate() { + if (!empty($this->remoteInfo['lastupdate'])) return $this->remoteInfo['lastupdate']; + return false; + } + + /** + * Get the base path of the extension + * + * @return string The base path of the extension + */ + public function getInstallDir() { + if ($this->isTemplate()) { + return DOKU_TPLLIB.$this->base; + } else { + return DOKU_PLUGIN.$this->base; + } + } + + /** + * The type of extension installation + * + * @return string One of "none", "manual", "git" or "automatic" + */ + public function getInstallType() { + if (!$this->isInstalled()) return 'none'; + if (!empty($this->managerData)) return 'automatic'; + if (is_dir($this->getInstallDir().'/.git')) return 'git'; + return 'manual'; + } + + /** + * If the extension can probably be installed/updated or uninstalled + * + * @return bool|string True or error string + */ + public function canModify() { + if($this->isInstalled()) { + if(!is_writable($this->getInstallDir())) { + return 'noperms'; + } + } + + if($this->isTemplate() && !is_writable(DOKU_TPLLIB)) { + return 'notplperms'; + + } elseif(!is_writable(DOKU_PLUGIN)) { + return 'nopluginperms'; + } + return true; + } + + /** + * Install an extension from a user upload + * + * @param string $field name of the upload file + * @throws Exception when something goes wrong + * @return array The list of installed extensions + */ + public function installFromUpload($field){ + if($_FILES[$field]['error']){ + throw new Exception($this->getLang('msg_upload_failed').' ('.$_FILES[$field]['error'].')'); + } + + $tmp = $this->mkTmpDir(); + if(!$tmp) throw new Exception($this->getLang('error_dircreate')); + + // filename may contain the plugin name for old style plugins... + $basename = basename($_FILES[$field]['name']); + $basename = preg_replace('/\.(tar\.gz|tar\.bz|tar\.bz2|tar|tgz|tbz|zip)$/', '', $basename); + $basename = preg_replace('/[\W]+/', '', $basename); + + if(!move_uploaded_file($_FILES[$field]['tmp_name'], "$tmp/upload.archive")){ + throw new Exception($this->getLang('msg_upload_failed')); + } + + try { + $installed = $this->installArchive("$tmp/upload.archive", true, $basename); + $this->updateManagerData('', $installed); + $this->removeDeletedfiles($installed); + // purge cache + $this->purgeCache(); + }catch (Exception $e){ + throw $e; + } + return $installed; + } + + /** + * Install an extension from a remote URL + * + * @param string $url + * @throws Exception when something goes wrong + * @return array The list of installed extensions + */ + public function installFromURL($url){ + try { + $path = $this->download($url); + $installed = $this->installArchive($path, true); + $this->updateManagerData($url, $installed); + $this->removeDeletedfiles($installed); + + // purge cache + $this->purgeCache(); + }catch (Exception $e){ + throw $e; + } + return $installed; + } + + /** + * Install or update the extension + * + * @throws \Exception when something goes wrong + * @return array The list of installed extensions + */ + public function installOrUpdate() { + $url = $this->getDownloadURL(); + $path = $this->download($url); + $installed = $this->installArchive($path, $this->isInstalled(), $this->getBase()); + $this->updateManagerData($url, $installed); + + // refresh extension information + if (!isset($installed[$this->getID()])) { + throw new Exception('Error, the requested extension hasn\'t been installed or updated'); + } + $this->removeDeletedfiles($installed); + $this->setExtension($this->getID()); + $this->purgeCache(); + return $installed; + } + + /** + * Uninstall the extension + * + * @return bool If the plugin was sucessfully uninstalled + */ + public function uninstall() { + $this->purgeCache(); + return io_rmdir($this->getInstallDir(), true); + } + + /** + * Enable the extension + * + * @return bool|string True or an error message + */ + public function enable() { + if ($this->isTemplate()) return $this->getLang('notimplemented'); + if (!$this->isInstalled()) return $this->getLang('notinstalled'); + if ($this->isEnabled()) return $this->getLang('alreadyenabled'); + + /* @var Doku_Plugin_Controller $plugin_controller */ + global $plugin_controller; + if ($plugin_controller->enable($this->base)) { + $this->purgeCache(); + return true; + } else { + return $this->getLang('pluginlistsaveerror'); + } + } + + /** + * Disable the extension + * + * @return bool|string True or an error message + */ + public function disable() { + if ($this->isTemplate()) return $this->getLang('notimplemented'); + + /* @var Doku_Plugin_Controller $plugin_controller */ + global $plugin_controller; + if (!$this->isInstalled()) return $this->getLang('notinstalled'); + if (!$this->isEnabled()) return $this->getLang('alreadydisabled'); + if ($plugin_controller->disable($this->base)) { + $this->purgeCache(); + return true; + } else { + return $this->getLang('pluginlistsaveerror'); + } + } + + /** + * Purge the cache by touching the main configuration file + */ + protected function purgeCache() { + global $config_cascade; + + // expire dokuwiki caches + // touching local.php expires wiki page, JS and CSS caches + @touch(reset($config_cascade['main']['local'])); + } + + /** + * Read local extension data either from info.txt or getInfo() + */ + protected function readLocalData() { + if ($this->isTemplate()) { + $infopath = $this->getInstallDir().'/template.info.txt'; + } else { + $infopath = $this->getInstallDir().'/plugin.info.txt'; + } + + if (is_readable($infopath)) { + $this->localInfo = confToHash($infopath); + } elseif (!$this->isTemplate() && $this->isEnabled()) { + global $plugin_types; + $path = $this->getInstallDir().'/'; + $plugin = null; + + foreach($plugin_types as $type) { + if(file_exists($path.$type.'.php')) { + $plugin = plugin_load($type, $this->base); + if ($plugin) break; + } + + if($dh = @opendir($path.$type.'/')) { + while(false !== ($cp = readdir($dh))) { + if($cp == '.' || $cp == '..' || strtolower(substr($cp, -4)) != '.php') continue; + + $plugin = plugin_load($type, $this->base.'_'.substr($cp, 0, -4)); + if ($plugin) break; + } + if ($plugin) break; + closedir($dh); + } + } + + if ($plugin) { + /* @var DokuWiki_Plugin $plugin */ + $this->localInfo = $plugin->getInfo(); + } + } + } + + /** + * Save the given URL and current datetime in the manager.dat file of all installed extensions + * + * @param string $url Where the extension was downloaded from. (empty for manual installs via upload) + * @param array $installed Optional list of installed plugins + */ + protected function updateManagerData($url = '', $installed = null) { + $origID = $this->getID(); + + if(is_null($installed)) { + $installed = array($origID); + } + + foreach($installed as $ext => $info) { + if($this->getID() != $ext) $this->setExtension($ext); + if($url) { + $this->managerData['downloadurl'] = $url; + } elseif(isset($this->managerData['downloadurl'])) { + unset($this->managerData['downloadurl']); + } + if(isset($this->managerData['installed'])) { + $this->managerData['updated'] = date('r'); + } else { + $this->managerData['installed'] = date('r'); + } + $this->writeManagerData(); + } + + if($this->getID() != $origID) $this->setExtension($origID); + } + + /** + * Read the manager.dat file + */ + protected function readManagerData() { + $managerpath = $this->getInstallDir().'/manager.dat'; + if (is_readable($managerpath)) { + $file = @file($managerpath); + if(!empty($file)) { + foreach($file as $line) { + list($key, $value) = explode('=', trim($line, DOKU_LF), 2); + $key = trim($key); + $value = trim($value); + // backwards compatible with old plugin manager + if($key == 'url') $key = 'downloadurl'; + $this->managerData[$key] = $value; + } + } + } + } + + /** + * Write the manager.data file + */ + protected function writeManagerData() { + $managerpath = $this->getInstallDir().'/manager.dat'; + $data = ''; + foreach ($this->managerData as $k => $v) { + $data .= $k.'='.$v.DOKU_LF; + } + io_saveFile($managerpath, $data); + } + + /** + * Returns a temporary directory + * + * The directory is registered for cleanup when the class is destroyed + * + * @return false|string + */ + protected function mkTmpDir(){ + $dir = io_mktmpdir(); + if(!$dir) return false; + $this->temporary[] = $dir; + return $dir; + } + + /** + * Download an archive to a protected path + * + * @param string $url The url to get the archive from + * @throws Exception when something goes wrong + * @return string The path where the archive was saved + */ + public function download($url) { + // check the url + if(!preg_match('/https?:\/\//i', $url)){ + throw new Exception($this->getLang('error_badurl')); + } + + // try to get the file from the path (used as plugin name fallback) + $file = parse_url($url, PHP_URL_PATH); + if(is_null($file)){ + $file = md5($url); + }else{ + $file = utf8_basename($file); + } + + // create tmp directory for download + if(!($tmp = $this->mkTmpDir())) { + throw new Exception($this->getLang('error_dircreate')); + } + + // download + if(!$file = io_download($url, $tmp.'/', true, $file, 0)) { + io_rmdir($tmp, true); + throw new Exception(sprintf($this->getLang('error_download'), '<bdi>'.hsc($url).'</bdi>')); + } + + return $tmp.'/'.$file; + } + + /** + * @param string $file The path to the archive that shall be installed + * @param bool $overwrite If an already installed plugin should be overwritten + * @param string $base The basename of the plugin if it's known + * @throws Exception when something went wrong + * @return array list of installed extensions + */ + public function installArchive($file, $overwrite=false, $base = '') { + $installed_extensions = array(); + + // create tmp directory for decompression + if(!($tmp = $this->mkTmpDir())) { + throw new Exception($this->getLang('error_dircreate')); + } + + // add default base folder if specified to handle case where zip doesn't contain this + if($base && !@mkdir($tmp.'/'.$base)) { + throw new Exception($this->getLang('error_dircreate')); + } + + // decompress + $this->decompress($file, "$tmp/".$base); + + // search $tmp/$base for the folder(s) that has been created + // move the folder(s) to lib/.. + $result = array('old'=>array(), 'new'=>array()); + $default = ($this->isTemplate() ? 'template' : 'plugin'); + if(!$this->find_folders($result, $tmp.'/'.$base, $default)) { + throw new Exception($this->getLang('error_findfolder')); + } + + // choose correct result array + if(count($result['new'])) { + $install = $result['new']; + }else{ + $install = $result['old']; + } + + if(!count($install)){ + throw new Exception($this->getLang('error_findfolder')); + } + + // now install all found items + foreach($install as $item) { + // where to install? + if($item['type'] == 'template') { + $target_base_dir = DOKU_TPLLIB; + }else{ + $target_base_dir = DOKU_PLUGIN; + } + + if(!empty($item['base'])) { + // use base set in info.txt + } elseif($base && count($install) == 1) { + $item['base'] = $base; + } else { + // default - use directory as found in zip + // plugins from github/master without *.info.txt will install in wrong folder + // but using $info->id will make 'code3' fail (which should install in lib/code/..) + $item['base'] = basename($item['tmp']); + } + + // check to make sure we aren't overwriting anything + $target = $target_base_dir.$item['base']; + if(!$overwrite && file_exists($target)) { + // TODO remember our settings, ask the user to confirm overwrite + continue; + } + + $action = file_exists($target) ? 'update' : 'install'; + + // copy action + if($this->dircopy($item['tmp'], $target)) { + // return info + $id = $item['base']; + if($item['type'] == 'template') { + $id = 'template:'.$id; + } + $installed_extensions[$id] = array( + 'base' => $item['base'], + 'type' => $item['type'], + 'action' => $action + ); + } else { + throw new Exception(sprintf($this->getLang('error_copy').DOKU_LF, '<bdi>'.$item['base'].'</bdi>')); + } + } + + // cleanup + if($tmp) io_rmdir($tmp, true); + + return $installed_extensions; + } + + /** + * Find out what was in the extracted directory + * + * Correct folders are searched recursively using the "*.info.txt" configs + * as indicator for a root folder. When such a file is found, it's base + * setting is used (when set). All folders found by this method are stored + * in the 'new' key of the $result array. + * + * For backwards compatibility all found top level folders are stored as + * in the 'old' key of the $result array. + * + * When no items are found in 'new' the copy mechanism should fall back + * the 'old' list. + * + * @author Andreas Gohr <andi@splitbrain.org> + * @param array $result - results are stored here + * @param string $directory - the temp directory where the package was unpacked to + * @param string $default_type - type used if no info.txt available + * @param string $subdir - a subdirectory. do not set. used by recursion + * @return bool - false on error + */ + protected function find_folders(&$result, $directory, $default_type='plugin', $subdir='') { + $this_dir = "$directory$subdir"; + $dh = @opendir($this_dir); + if(!$dh) return false; + + $found_dirs = array(); + $found_files = 0; + $found_template_parts = 0; + while (false !== ($f = readdir($dh))) { + if($f == '.' || $f == '..') continue; + + if(is_dir("$this_dir/$f")) { + $found_dirs[] = "$subdir/$f"; + + } else { + // it's a file -> check for config + $found_files++; + switch ($f) { + case 'plugin.info.txt': + case 'template.info.txt': + // we have found a clear marker, save and return + $info = array(); + $type = explode('.', $f, 2); + $info['type'] = $type[0]; + $info['tmp'] = $this_dir; + $conf = confToHash("$this_dir/$f"); + $info['base'] = basename($conf['base']); + $result['new'][] = $info; + return true; + + case 'main.php': + case 'details.php': + case 'mediamanager.php': + case 'style.ini': + $found_template_parts++; + break; + } + } + } + closedir($dh); + + // files where found but no info.txt - use old method + if($found_files){ + $info = array(); + $info['tmp'] = $this_dir; + // does this look like a template or should we use the default type? + if($found_template_parts >= 2) { + $info['type'] = 'template'; + } else { + $info['type'] = $default_type; + } + + $result['old'][] = $info; + return true; + } + + // we have no files yet -> recurse + foreach ($found_dirs as $found_dir) { + $this->find_folders($result, $directory, $default_type, "$found_dir"); + } + return true; + } + + /** + * Decompress a given file to the given target directory + * + * Determines the compression type from the file extension + * + * @param string $file archive to extract + * @param string $target directory to extract to + * @throws Exception + * @return bool + */ + private function decompress($file, $target) { + // decompression library doesn't like target folders ending in "/" + if(substr($target, -1) == "/") $target = substr($target, 0, -1); + + $ext = $this->guess_archive($file); + if(in_array($ext, array('tar', 'bz', 'gz'))) { + + try { + $tar = new \splitbrain\PHPArchive\Tar(); + $tar->open($file); + $tar->extract($target); + } catch (\splitbrain\PHPArchive\ArchiveIOException $e) { + throw new Exception($this->getLang('error_decompress').' '.$e->getMessage()); + } + + return true; + } elseif($ext == 'zip') { + + try { + $zip = new \splitbrain\PHPArchive\Zip(); + $zip->open($file); + $zip->extract($target); + } catch (\splitbrain\PHPArchive\ArchiveIOException $e) { + throw new Exception($this->getLang('error_decompress').' '.$e->getMessage()); + } + + return true; + } + + // the only case when we don't get one of the recognized archive types is when the archive file can't be read + throw new Exception($this->getLang('error_decompress').' Couldn\'t read archive file'); + } + + /** + * Determine the archive type of the given file + * + * Reads the first magic bytes of the given file for content type guessing, + * if neither bz, gz or zip are recognized, tar is assumed. + * + * @author Andreas Gohr <andi@splitbrain.org> + * @param string $file The file to analyze + * @return string|false false if the file can't be read, otherwise an "extension" + */ + private function guess_archive($file) { + $fh = fopen($file, 'rb'); + if(!$fh) return false; + $magic = fread($fh, 5); + fclose($fh); + + if(strpos($magic, "\x42\x5a") === 0) return 'bz'; + if(strpos($magic, "\x1f\x8b") === 0) return 'gz'; + if(strpos($magic, "\x50\x4b\x03\x04") === 0) return 'zip'; + return 'tar'; + } + + /** + * Copy with recursive sub-directory support + * + * @param string $src filename path to file + * @param string $dst filename path to file + * @return bool|int|string + */ + private function dircopy($src, $dst) { + global $conf; + + if(is_dir($src)) { + if(!$dh = @opendir($src)) return false; + + if($ok = io_mkdir_p($dst)) { + while ($ok && (false !== ($f = readdir($dh)))) { + if($f == '..' || $f == '.') continue; + $ok = $this->dircopy("$src/$f", "$dst/$f"); + } + } + + closedir($dh); + return $ok; + + } else { + $exists = file_exists($dst); + + if(!@copy($src, $dst)) return false; + if(!$exists && !empty($conf['fperm'])) chmod($dst, $conf['fperm']); + @touch($dst, filemtime($src)); + } + + return true; + } + + /** + * Delete outdated files from updated plugins + * + * @param array $installed + */ + private function removeDeletedfiles($installed) { + foreach($installed as $id => $extension) { + // only on update + if($extension['action'] == 'install') continue; + + // get definition file + if($extension['type'] == 'template') { + $extensiondir = DOKU_TPLLIB; + }else{ + $extensiondir = DOKU_PLUGIN; + } + $extensiondir = $extensiondir . $extension['base'] .'/'; + $definitionfile = $extensiondir . 'deleted.files'; + if(!file_exists($definitionfile)) continue; + + // delete the old files + $list = file($definitionfile); + + foreach($list as $line) { + $line = trim(preg_replace('/#.*$/', '', $line)); + if(!$line) continue; + $file = $extensiondir . $line; + if(!file_exists($file)) continue; + + io_rmdir($file, true); + } + } + } +} + +// vim:ts=4:sw=4:et: diff --git a/wiki/lib/plugins/extension/helper/gui.php b/wiki/lib/plugins/extension/helper/gui.php new file mode 100644 index 0000000..4ec6fec --- /dev/null +++ b/wiki/lib/plugins/extension/helper/gui.php @@ -0,0 +1,193 @@ +<?php +/** + * DokuWiki Plugin extension (Helper Component) + * + * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html + * @author Andreas Gohr <andi@splitbrain.org> + */ + +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +/** + * Class helper_plugin_extension_list takes care of the overall GUI + */ +class helper_plugin_extension_gui extends DokuWiki_Plugin { + + protected $tabs = array('plugins', 'templates', 'search', 'install'); + + /** @var string the extension that should have an open info window FIXME currently broken */ + protected $infoFor = ''; + + /** + * Constructor + * + * initializes requested info window + */ + public function __construct() { + global $INPUT; + $this->infoFor = $INPUT->str('info'); + } + + /** + * display the plugin tab + */ + public function tabPlugins() { + /* @var Doku_Plugin_Controller $plugin_controller */ + global $plugin_controller; + + echo '<div class="panelHeader">'; + echo $this->locale_xhtml('intro_plugins'); + echo '</div>'; + + $pluginlist = $plugin_controller->getList('', true); + sort($pluginlist); + /* @var helper_plugin_extension_extension $extension */ + $extension = $this->loadHelper('extension_extension'); + /* @var helper_plugin_extension_list $list */ + $list = $this->loadHelper('extension_list'); + $list->start_form(); + foreach($pluginlist as $name) { + $extension->setExtension($name); + $list->add_row($extension, $extension->getID() == $this->infoFor); + } + $list->end_form(); + $list->render(); + } + + /** + * Display the template tab + */ + public function tabTemplates() { + echo '<div class="panelHeader">'; + echo $this->locale_xhtml('intro_templates'); + echo '</div>'; + + // FIXME do we have a real way? + $tpllist = glob(DOKU_INC.'lib/tpl/*', GLOB_ONLYDIR); + $tpllist = array_map('basename', $tpllist); + sort($tpllist); + + /* @var helper_plugin_extension_extension $extension */ + $extension = $this->loadHelper('extension_extension'); + /* @var helper_plugin_extension_list $list */ + $list = $this->loadHelper('extension_list'); + $list->start_form(); + foreach($tpllist as $name) { + $extension->setExtension("template:$name"); + $list->add_row($extension, $extension->getID() == $this->infoFor); + } + $list->end_form(); + $list->render(); + } + + /** + * Display the search tab + */ + public function tabSearch() { + global $INPUT; + echo '<div class="panelHeader">'; + echo $this->locale_xhtml('intro_search'); + echo '</div>'; + + $form = new Doku_Form(array('action' => $this->tabURL('', array(), '&'), 'class' => 'search')); + $form->addElement(form_makeTextField('q', $INPUT->str('q'), $this->getLang('search_for'))); + $form->addElement(form_makeButton('submit', '', $this->getLang('search'))); + $form->printForm(); + + if(!$INPUT->bool('q')) return; + + /* @var helper_plugin_extension_repository $repository FIXME should we use some gloabl instance? */ + $repository = $this->loadHelper('extension_repository'); + $result = $repository->search($INPUT->str('q')); + + /* @var helper_plugin_extension_extension $extension */ + $extension = $this->loadHelper('extension_extension'); + /* @var helper_plugin_extension_list $list */ + $list = $this->loadHelper('extension_list'); + $list->start_form(); + if($result){ + foreach($result as $name) { + $extension->setExtension($name); + $list->add_row($extension, $extension->getID() == $this->infoFor); + } + } else { + $list->nothing_found(); + } + $list->end_form(); + $list->render(); + + } + + /** + * Display the template tab + */ + public function tabInstall() { + echo '<div class="panelHeader">'; + echo $this->locale_xhtml('intro_install'); + echo '</div>'; + + $form = new Doku_Form(array('action' => $this->tabURL('', array(), '&'), 'enctype' => 'multipart/form-data', 'class' => 'install')); + $form->addElement(form_makeTextField('installurl', '', $this->getLang('install_url'), '', 'block')); + $form->addElement(form_makeFileField('installfile', $this->getLang('install_upload'), '', 'block')); + $form->addElement(form_makeButton('submit', '', $this->getLang('btn_install'))); + $form->printForm(); + } + + /** + * Print the tab navigation + * + * @fixme style active one + */ + public function tabNavigation() { + echo '<ul class="tabs">'; + foreach($this->tabs as $tab) { + $url = $this->tabURL($tab); + if($this->currentTab() == $tab) { + $class = ' active'; + } else { + $class = ''; + } + echo '<li class="'.$tab.$class.'"><a href="'.$url.'">'.$this->getLang('tab_'.$tab).'</a></li>'; + } + echo '</ul>'; + } + + /** + * Return the currently selected tab + * + * @return string + */ + public function currentTab() { + global $INPUT; + + $tab = $INPUT->str('tab', 'plugins', true); + if(!in_array($tab, $this->tabs)) $tab = 'plugins'; + return $tab; + } + + /** + * Create an URL inside the extension manager + * + * @param string $tab tab to load, empty for current tab + * @param array $params associative array of parameter to set + * @param string $sep seperator to build the URL + * @param bool $absolute create absolute URLs? + * @return string + */ + public function tabURL($tab = '', $params = array(), $sep = '&', $absolute = false) { + global $ID; + global $INPUT; + + if(!$tab) $tab = $this->currentTab(); + $defaults = array( + 'do' => 'admin', + 'page' => 'extension', + 'tab' => $tab, + ); + if($tab == 'search') $defaults['q'] = $INPUT->str('q'); + + return wl($ID, array_merge($defaults, $params), $absolute, $sep); + } + +} diff --git a/wiki/lib/plugins/extension/helper/list.php b/wiki/lib/plugins/extension/helper/list.php new file mode 100644 index 0000000..656b4ea --- /dev/null +++ b/wiki/lib/plugins/extension/helper/list.php @@ -0,0 +1,567 @@ +<?php +/** + * DokuWiki Plugin extension (Helper Component) + * + * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html + * @author Michael Hamann <michael@content-space.de> + */ + +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +/** + * Class helper_plugin_extension_list takes care of creating a HTML list of extensions + */ +class helper_plugin_extension_list extends DokuWiki_Plugin { + protected $form = ''; + /** @var helper_plugin_extension_gui */ + protected $gui; + + /** + * Constructor + * + * loads additional helpers + */ + public function __construct(){ + $this->gui = plugin_load('helper', 'extension_gui'); + } + + function start_form() { + $this->form .= '<form id="extension__list" accept-charset="utf-8" method="post" action="">'; + $hidden = array( + 'do'=>'admin', + 'page'=>'extension', + 'sectok'=>getSecurityToken() + ); + $this->add_hidden($hidden); + $this->form .= '<ul class="extensionList">'; + } + /** + * Build single row of extension table + * @param helper_plugin_extension_extension $extension The extension that shall be added + * @param bool $showinfo Show the info area + */ + function add_row(helper_plugin_extension_extension $extension, $showinfo = false) { + $this->start_row($extension); + $this->populate_column('legend', $this->make_legend($extension, $showinfo)); + $this->populate_column('actions', $this->make_actions($extension)); + $this->end_row(); + } + + /** + * Adds a header to the form + * + * @param string $id The id of the header + * @param string $header The content of the header + * @param int $level The level of the header + */ + function add_header($id, $header, $level = 2) { + $this->form .='<h'.$level.' id="'.$id.'">'.hsc($header).'</h'.$level.'>'.DOKU_LF; + } + + /** + * Adds a paragraph to the form + * + * @param string $data The content + */ + function add_p($data) { + $this->form .= '<p>'.hsc($data).'</p>'.DOKU_LF; + } + + /** + * Add hidden fields to the form with the given data + * @param array $array + */ + function add_hidden(array $array) { + $this->form .= '<div class="no">'; + foreach ($array as $key => $value) { + $this->form .= '<input type="hidden" name="'.hsc($key).'" value="'.hsc($value).'" />'; + } + $this->form .= '</div>'.DOKU_LF; + } + + /** + * Add closing tags + */ + function end_form() { + $this->form .= '</ul>'; + $this->form .= '</form>'.DOKU_LF; + } + + /** + * Show message when no results are found + */ + function nothing_found() { + global $lang; + $this->form .= '<li class="notfound">'.$lang['nothingfound'].'</li>'; + } + + /** + * Print the form + */ + function render() { + echo $this->form; + } + + /** + * Start the HTML for the row for the extension + * + * @param helper_plugin_extension_extension $extension The extension + */ + private function start_row(helper_plugin_extension_extension $extension) { + $this->form .= '<li id="extensionplugin__'.hsc($extension->getID()).'" class="'.$this->make_class($extension).'">'; + } + + /** + * Add a column with the given class and content + * @param string $class The class name + * @param string $html The content + */ + private function populate_column($class, $html) { + $this->form .= '<div class="'.$class.' col">'.$html.'</div>'.DOKU_LF; + } + + /** + * End the row + */ + private function end_row() { + $this->form .= '</li>'.DOKU_LF; + } + + /** + * Generate the link to the plugin homepage + * + * @param helper_plugin_extension_extension $extension The extension + * @return string The HTML code + */ + function make_homepagelink(helper_plugin_extension_extension $extension) { + $text = $this->getLang('homepage_link'); + $url = hsc($extension->getURL()); + return '<a href="'.$url.'" title="'.$url.'" class ="urlextern">'.$text.'</a> '; + } + + /** + * Generate the class name for the row of the extensio + * + * @param helper_plugin_extension_extension $extension The extension object + * @return string The class name + */ + function make_class(helper_plugin_extension_extension $extension) { + $class = ($extension->isTemplate()) ? 'template' : 'plugin'; + if($extension->isInstalled()) { + $class.=' installed'; + $class.= ($extension->isEnabled()) ? ' enabled':' disabled'; + if($extension->updateAvailable()) $class .= ' updatable'; + } + if(!$extension->canModify()) $class.= ' notselect'; + if($extension->isProtected()) $class.= ' protected'; + //if($this->showinfo) $class.= ' showinfo'; + return $class; + } + + /** + * Generate a link to the author of the extension + * + * @param helper_plugin_extension_extension $extension The extension object + * @return string The HTML code of the link + */ + function make_author(helper_plugin_extension_extension $extension) { + global $ID; + + if($extension->getAuthor()) { + + $mailid = $extension->getEmailID(); + if($mailid){ + $url = $this->gui->tabURL('search', array('q' => 'authorid:'.$mailid)); + return '<bdi><a href="'.$url.'" class="author" title="'.$this->getLang('author_hint').'" ><img src="//www.gravatar.com/avatar/'.$mailid.'?s=20&d=mm" width="20" height="20" alt="" /> '.hsc($extension->getAuthor()).'</a></bdi>'; + + }else{ + return '<bdi><span class="author">'.hsc($extension->getAuthor()).'</span></bdi>'; + } + } + return "<em class=\"author\">".$this->getLang('unknown_author')."</em>".DOKU_LF; + } + + /** + * Get the link and image tag for the screenshot/thumbnail + * + * @param helper_plugin_extension_extension $extension The extension object + * @return string The HTML code + */ + function make_screenshot(helper_plugin_extension_extension $extension) { + $screen = $extension->getScreenshotURL(); + $thumb = $extension->getThumbnailURL(); + + if($screen) { + // use protocol independent URLs for images coming from us #595 + $screen = str_replace('http://www.dokuwiki.org', '//www.dokuwiki.org', $screen); + $thumb = str_replace('http://www.dokuwiki.org', '//www.dokuwiki.org', $thumb); + + $title = sprintf($this->getLang('screenshot'), hsc($extension->getDisplayName())); + $img = '<a href="'.hsc($screen).'" target="_blank" class="extension_screenshot">'. + '<img alt="'.$title.'" width="120" height="70" src="'.hsc($thumb).'" />'. + '</a>'; + } elseif($extension->isTemplate()) { + $img = '<img alt="" width="120" height="70" src="'.DOKU_BASE.'lib/plugins/extension/images/template.png" />'; + + } else { + $img = '<img alt="" width="120" height="70" src="'.DOKU_BASE.'lib/plugins/extension/images/plugin.png" />'; + } + return '<div class="screenshot" >'.$img.'<span></span></div>'.DOKU_LF; + } + + /** + * Extension main description + * + * @param helper_plugin_extension_extension $extension The extension object + * @param bool $showinfo Show the info section + * @return string The HTML code + */ + function make_legend(helper_plugin_extension_extension $extension, $showinfo = false) { + $return = '<div>'; + $return .= '<h2>'; + $return .= sprintf($this->getLang('extensionby'), '<bdi>'.hsc($extension->getDisplayName()).'</bdi>', $this->make_author($extension)); + $return .= '</h2>'.DOKU_LF; + + $return .= $this->make_screenshot($extension); + + $popularity = $extension->getPopularity(); + if ($popularity !== false && !$extension->isBundled()) { + $popularityText = sprintf($this->getLang('popularity'), round($popularity*100, 2)); + $return .= '<div class="popularity" title="'.$popularityText.'"><div style="width: '.($popularity * 100).'%;"><span class="a11y">'.$popularityText.'</span></div></div>'.DOKU_LF; + } + + if($extension->getDescription()) { + $return .= '<p><bdi>'; + $return .= hsc($extension->getDescription()).' '; + $return .= '</bdi></p>'.DOKU_LF; + } + + $return .= $this->make_linkbar($extension); + + if($showinfo){ + $url = $this->gui->tabURL(''); + $class = 'close'; + }else{ + $url = $this->gui->tabURL('', array('info' => $extension->getID())); + $class = ''; + } + $return .= ' <a href="'.$url.'#extensionplugin__'.$extension->getID().'" class="info '.$class.'" title="'.$this->getLang('btn_info').'" data-extid="'.$extension->getID().'">'.$this->getLang('btn_info').'</a>'; + + if ($showinfo) { + $return .= $this->make_info($extension); + } + $return .= $this->make_noticearea($extension); + $return .= '</div>'.DOKU_LF; + return $return; + } + + /** + * Generate the link bar HTML code + * + * @param helper_plugin_extension_extension $extension The extension instance + * @return string The HTML code + */ + function make_linkbar(helper_plugin_extension_extension $extension) { + $return = '<div class="linkbar">'; + $return .= $this->make_homepagelink($extension); + if ($extension->getBugtrackerURL()) { + $return .= ' <a href="'.hsc($extension->getBugtrackerURL()).'" title="'.hsc($extension->getBugtrackerURL()).'" class ="bugs">'.$this->getLang('bugs_features').'</a> '; + } + if ($extension->getTags()){ + $first = true; + $return .= '<span class="tags">'.$this->getLang('tags').' '; + foreach ($extension->getTags() as $tag) { + if (!$first){ + $return .= ', '; + } else { + $first = false; + } + $url = $this->gui->tabURL('search', array('q' => 'tag:'.$tag)); + $return .= '<bdi><a href="'.$url.'">'.hsc($tag).'</a></bdi>'; + } + $return .= '</span>'; + } + $return .= '</div>'.DOKU_LF; + return $return; + } + + /** + * Notice area + * + * @param helper_plugin_extension_extension $extension The extension + * @return string The HTML code + */ + function make_noticearea(helper_plugin_extension_extension $extension) { + $return = ''; + $missing_dependencies = $extension->getMissingDependencies(); + if(!empty($missing_dependencies)) { + $return .= '<div class="msg error">'. + sprintf($this->getLang('missing_dependency'), '<bdi>'.implode(', ', /*array_map(array($this->helper, 'make_extensionsearchlink'),*/ $missing_dependencies).'</bdi>'). + '</div>'; + } + if($extension->isInWrongFolder()) { + $return .= '<div class="msg error">'. + sprintf($this->getLang('wrong_folder'), '<bdi>'.hsc($extension->getInstallName()).'</bdi>', '<bdi>'.hsc($extension->getBase()).'</bdi>'). + '</div>'; + } + if(($securityissue = $extension->getSecurityIssue()) !== false) { + $return .= '<div class="msg error">'. + sprintf($this->getLang('security_issue'), '<bdi>'.hsc($securityissue).'</bdi>'). + '</div>'; + } + if(($securitywarning = $extension->getSecurityWarning()) !== false) { + $return .= '<div class="msg notify">'. + sprintf($this->getLang('security_warning'), '<bdi>'.hsc($securitywarning).'</bdi>'). + '</div>'; + } + if($extension->updateAvailable()) { + $return .= '<div class="msg notify">'. + sprintf($this->getLang('update_available'), hsc($extension->getLastUpdate())). + '</div>'; + } + if($extension->hasDownloadURLChanged()) { + $return .= '<div class="msg notify">'. + sprintf($this->getLang('url_change'), '<bdi>'.hsc($extension->getDownloadURL()).'</bdi>', '<bdi>'.hsc($extension->getLastDownloadURL()).'</bdi>'). + '</div>'; + } + return $return.DOKU_LF; + } + + /** + * Create a link from the given URL + * + * Shortens the URL for display + * + * @param string $url + * @return string HTML link + */ + function shortlink($url){ + $link = parse_url($url); + + $base = $link['host']; + if(!empty($link['port'])) $base .= $base.':'.$link['port']; + $long = $link['path']; + if(!empty($link['query'])) $long .= $link['query']; + + $name = shorten($base, $long, 55); + + return '<a href="'.hsc($url).'" class="urlextern">'.hsc($name).'</a>'; + } + + /** + * Plugin/template details + * + * @param helper_plugin_extension_extension $extension The extension + * @return string The HTML code + */ + function make_info(helper_plugin_extension_extension $extension) { + $default = $this->getLang('unknown'); + $return = '<dl class="details">'; + + $return .= '<dt>'.$this->getLang('status').'</dt>'; + $return .= '<dd>'.$this->make_status($extension).'</dd>'; + + if ($extension->getDonationURL()) { + $return .= '<dt>'.$this->getLang('donate').'</dt>'; + $return .= '<dd>'; + $return .= '<a href="'.$extension->getDonationURL().'" class="donate">'.$this->getLang('donate_action').'</a>'; + $return .= '</dd>'; + } + + if (!$extension->isBundled()) { + $return .= '<dt>'.$this->getLang('downloadurl').'</dt>'; + $return .= '<dd><bdi>'; + $return .= ($extension->getDownloadURL() ? $this->shortlink($extension->getDownloadURL()) : $default); + $return .= '</bdi></dd>'; + + $return .= '<dt>'.$this->getLang('repository').'</dt>'; + $return .= '<dd><bdi>'; + $return .= ($extension->getSourcerepoURL() ? $this->shortlink($extension->getSourcerepoURL()) : $default); + $return .= '</bdi></dd>'; + } + + if ($extension->isInstalled()) { + if ($extension->getInstalledVersion()) { + $return .= '<dt>'.$this->getLang('installed_version').'</dt>'; + $return .= '<dd>'; + $return .= hsc($extension->getInstalledVersion()); + $return .= '</dd>'; + } + if (!$extension->isBundled()) { + $return .= '<dt>'.$this->getLang('install_date').'</dt>'; + $return .= '<dd>'; + $return .= ($extension->getUpdateDate() ? hsc($extension->getUpdateDate()) : $this->getLang('unknown')); + $return .= '</dd>'; + } + } + if (!$extension->isInstalled() || $extension->updateAvailable()) { + $return .= '<dt>'.$this->getLang('available_version').'</dt>'; + $return .= '<dd>'; + $return .= ($extension->getLastUpdate() ? hsc($extension->getLastUpdate()) : $this->getLang('unknown')); + $return .= '</dd>'; + } + + $return .= '<dt>'.$this->getLang('provides').'</dt>'; + $return .= '<dd><bdi>'; + $return .= ($extension->getTypes() ? hsc(implode(', ', $extension->getTypes())) : $default); + $return .= '</bdi></dd>'; + + if(!$extension->isBundled() && $extension->getCompatibleVersions()) { + $return .= '<dt>'.$this->getLang('compatible').'</dt>'; + $return .= '<dd>'; + foreach ($extension->getCompatibleVersions() as $date => $version) { + $return .= '<bdi>'.$version['label'].' ('.$date.')</bdi>, '; + } + $return = rtrim($return, ', '); + $return .= '</dd>'; + } + if($extension->getDependencies()) { + $return .= '<dt>'.$this->getLang('depends').'</dt>'; + $return .= '<dd>'; + $return .= $this->make_linklist($extension->getDependencies()); + $return .= '</dd>'; + } + + if($extension->getSimilarExtensions()) { + $return .= '<dt>'.$this->getLang('similar').'</dt>'; + $return .= '<dd>'; + $return .= $this->make_linklist($extension->getSimilarExtensions()); + $return .= '</dd>'; + } + + if($extension->getConflicts()) { + $return .= '<dt>'.$this->getLang('conflicts').'</dt>'; + $return .= '<dd>'; + $return .= $this->make_linklist($extension->getConflicts()); + $return .= '</dd>'; + } + $return .= '</dl>'.DOKU_LF; + return $return; + } + + /** + * Generate a list of links for extensions + * + * @param array $ext The extensions + * @return string The HTML code + */ + function make_linklist($ext) { + $return = ''; + foreach ($ext as $link) { + $return .= '<bdi><a href="'.$this->gui->tabURL('search', array('q'=>'ext:'.$link)).'">'.hsc($link).'</a></bdi>, '; + } + return rtrim($return, ', '); + } + + /** + * Display the action buttons if they are possible + * + * @param helper_plugin_extension_extension $extension The extension + * @return string The HTML code + */ + function make_actions(helper_plugin_extension_extension $extension) { + global $conf; + $return = ''; + $errors = ''; + + if ($extension->isInstalled()) { + if (($canmod = $extension->canModify()) === true) { + if (!$extension->isProtected()) { + $return .= $this->make_action('uninstall', $extension); + } + if ($extension->getDownloadURL()) { + if ($extension->updateAvailable()) { + $return .= $this->make_action('update', $extension); + } else { + $return .= $this->make_action('reinstall', $extension); + } + } + }else{ + $errors .= '<p class="permerror">'.$this->getLang($canmod).'</p>'; + } + + if (!$extension->isProtected() && !$extension->isTemplate()) { // no enable/disable for templates + if ($extension->isEnabled()) { + $return .= $this->make_action('disable', $extension); + } else { + $return .= $this->make_action('enable', $extension); + } + } + + if ($extension->isGitControlled()){ + $errors .= '<p class="permerror">'.$this->getLang('git').'</p>'; + } + + if ($extension->isEnabled() && in_array('Auth', $extension->getTypes()) && $conf['authtype'] != $extension->getID()) { + $errors .= '<p class="permerror">'.$this->getLang('auth').'</p>'; + } + + }else{ + if (($canmod = $extension->canModify()) === true) { + if ($extension->getDownloadURL()) { + $return .= $this->make_action('install', $extension); + } + }else{ + $errors .= '<div class="permerror">'.$this->getLang($canmod).'</div>'; + } + } + + if (!$extension->isInstalled() && $extension->getDownloadURL()) { + $return .= ' <span class="version">'.$this->getLang('available_version').' '; + $return .= ($extension->getLastUpdate() ? hsc($extension->getLastUpdate()) : $this->getLang('unknown')).'</span>'; + } + + return $return.' '.$errors.DOKU_LF; + } + + /** + * Display an action button for an extension + * + * @param string $action The action + * @param helper_plugin_extension_extension $extension The extension + * @return string The HTML code + */ + function make_action($action, $extension) { + $title = ''; + + switch ($action) { + case 'install': + case 'reinstall': + $title = 'title="'.hsc($extension->getDownloadURL()).'"'; + break; + } + + $classes = 'button '.$action; + $name = 'fn['.$action.']['.hsc($extension->getID()).']'; + + return '<button class="'.$classes.'" name="'.$name.'" type="submit" '.$title.'>'.$this->getLang('btn_'.$action).'</button> '; + } + + /** + * Plugin/template status + * + * @param helper_plugin_extension_extension $extension The extension + * @return string The description of all relevant statusses + */ + function make_status(helper_plugin_extension_extension $extension) { + $status = array(); + + + if ($extension->isInstalled()) { + $status[] = $this->getLang('status_installed'); + if ($extension->isProtected()) { + $status[] = $this->getLang('status_protected'); + } else { + $status[] = $extension->isEnabled() ? $this->getLang('status_enabled') : $this->getLang('status_disabled'); + } + } else { + $status[] = $this->getLang('status_not_installed'); + } + if(!$extension->canModify()) $status[] = $this->getLang('status_unmodifiable'); + if($extension->isBundled()) $status[] = $this->getLang('status_bundled'); + $status[] = $extension->isTemplate() ? $this->getLang('status_template') : $this->getLang('status_plugin'); + return join(', ', $status); + } + +} diff --git a/wiki/lib/plugins/extension/helper/repository.php b/wiki/lib/plugins/extension/helper/repository.php new file mode 100644 index 0000000..5dc2707 --- /dev/null +++ b/wiki/lib/plugins/extension/helper/repository.php @@ -0,0 +1,191 @@ +<?php +/** + * DokuWiki Plugin extension (Helper Component) + * + * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html + * @author Michael Hamann <michael@content-space.de> + */ + +#define('EXTENSION_REPOSITORY_API', 'http://localhost/dokuwiki/lib/plugins/pluginrepo/api.php'); + +if (!defined('EXTENSION_REPOSITORY_API_ENDPOINT')) + define('EXTENSION_REPOSITORY_API', 'http://www.dokuwiki.org/lib/plugins/pluginrepo/api.php'); + +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +/** + * Class helper_plugin_extension_repository provides access to the extension repository on dokuwiki.org + */ +class helper_plugin_extension_repository extends DokuWiki_Plugin { + private $loaded_extensions = array(); + private $has_access = null; + /** + * Initialize the repository (cache), fetches data for all installed plugins + */ + public function init() { + /* @var Doku_Plugin_Controller $plugin_controller */ + global $plugin_controller; + if ($this->hasAccess()) { + $list = $plugin_controller->getList('', true); + $request_data = array('fmt' => 'php'); + $request_needed = false; + foreach ($list as $name) { + $cache = new cache('##extension_manager##'.$name, '.repo'); + + if (!isset($this->loaded_extensions[$name]) && $this->hasAccess() && !$cache->useCache(array('age' => 3600 * 24))) { + $this->loaded_extensions[$name] = true; + $request_data['ext'][] = $name; + $request_needed = true; + } + } + + if ($request_needed) { + $httpclient = new DokuHTTPClient(); + $data = $httpclient->post(EXTENSION_REPOSITORY_API, $request_data); + if ($data !== false) { + $extensions = unserialize($data); + foreach ($extensions as $extension) { + $cache = new cache('##extension_manager##'.$extension['plugin'], '.repo'); + $cache->storeCache(serialize($extension)); + } + } else { + $this->has_access = false; + } + } + } + } + + /** + * If repository access is available + * + * @return bool If repository access is available + */ + public function hasAccess() { + if ($this->has_access === null) { + $cache = new cache('##extension_manager###hasAccess', '.repo'); + + if (!$cache->useCache(array('age' => 3600 * 24, 'purge'=>1))) { + $httpclient = new DokuHTTPClient(); + $httpclient->timeout = 5; + $data = $httpclient->get(EXTENSION_REPOSITORY_API.'?cmd=ping'); + if ($data !== false) { + $this->has_access = true; + $cache->storeCache(1); + } else { + $this->has_access = false; + $cache->storeCache(0); + } + } else { + $this->has_access = ($cache->retrieveCache(false) == 1); + } + } + return $this->has_access; + } + + /** + * Get the remote data of an individual plugin or template + * + * @param string $name The plugin name to get the data for, template names need to be prefix by 'template:' + * @return array The data or null if nothing was found (possibly no repository access) + */ + public function getData($name) { + $cache = new cache('##extension_manager##'.$name, '.repo'); + + if (!isset($this->loaded_extensions[$name]) && $this->hasAccess() && !$cache->useCache(array('age' => 3600 * 24))) { + $this->loaded_extensions[$name] = true; + $httpclient = new DokuHTTPClient(); + $data = $httpclient->get(EXTENSION_REPOSITORY_API.'?fmt=php&ext[]='.urlencode($name)); + if ($data !== false) { + $result = unserialize($data); + $cache->storeCache(serialize($result[0])); + return $result[0]; + } else { + $this->has_access = false; + } + } + if (file_exists($cache->cache)) { + return unserialize($cache->retrieveCache(false)); + } + return array(); + } + + /** + * Search for plugins or templates using the given query string + * + * @param string $q the query string + * @return array a list of matching extensions + */ + public function search($q){ + $query = $this->parse_query($q); + $query['fmt'] = 'php'; + + $httpclient = new DokuHTTPClient(); + $data = $httpclient->post(EXTENSION_REPOSITORY_API, $query); + if ($data === false) return array(); + $result = unserialize($data); + + $ids = array(); + + // store cache info for each extension + foreach($result as $ext){ + $name = $ext['plugin']; + $cache = new cache('##extension_manager##'.$name, '.repo'); + $cache->storeCache(serialize($ext)); + $ids[] = $name; + } + + return $ids; + } + + /** + * Parses special queries from the query string + * + * @param string $q + * @return array + */ + protected function parse_query($q){ + $parameters = array( + 'tag' => array(), + 'mail' => array(), + 'type' => array(), + 'ext' => array() + ); + + // extract tags + if(preg_match_all('/(^|\s)(tag:([\S]+))/', $q, $matches, PREG_SET_ORDER)){ + foreach($matches as $m){ + $q = str_replace($m[2], '', $q); + $parameters['tag'][] = $m[3]; + } + } + // extract author ids + if(preg_match_all('/(^|\s)(authorid:([\S]+))/', $q, $matches, PREG_SET_ORDER)){ + foreach($matches as $m){ + $q = str_replace($m[2], '', $q); + $parameters['mail'][] = $m[3]; + } + } + // extract extensions + if(preg_match_all('/(^|\s)(ext:([\S]+))/', $q, $matches, PREG_SET_ORDER)){ + foreach($matches as $m){ + $q = str_replace($m[2], '', $q); + $parameters['ext'][] = $m[3]; + } + } + // extract types + if(preg_match_all('/(^|\s)(type:([\S]+))/', $q, $matches, PREG_SET_ORDER)){ + foreach($matches as $m){ + $q = str_replace($m[2], '', $q); + $parameters['type'][] = $m[3]; + } + } + + // FIXME make integer from type value + + $parameters['q'] = trim($q); + return $parameters; + } +} + +// vim:ts=4:sw=4:et: diff --git a/wiki/lib/plugins/extension/images/bug.gif b/wiki/lib/plugins/extension/images/bug.gif new file mode 100644 index 0000000..08c1ca1 --- /dev/null +++ b/wiki/lib/plugins/extension/images/bug.gif Binary files differdiff --git a/wiki/lib/plugins/extension/images/disabled.png b/wiki/lib/plugins/extension/images/disabled.png new file mode 100644 index 0000000..9c18b04 --- /dev/null +++ b/wiki/lib/plugins/extension/images/disabled.png Binary files differdiff --git a/wiki/lib/plugins/extension/images/donate.png b/wiki/lib/plugins/extension/images/donate.png new file mode 100644 index 0000000..a76dfaa --- /dev/null +++ b/wiki/lib/plugins/extension/images/donate.png Binary files differdiff --git a/wiki/lib/plugins/extension/images/down.png b/wiki/lib/plugins/extension/images/down.png new file mode 100644 index 0000000..8e399a9 --- /dev/null +++ b/wiki/lib/plugins/extension/images/down.png Binary files differdiff --git a/wiki/lib/plugins/extension/images/enabled.png b/wiki/lib/plugins/extension/images/enabled.png new file mode 100644 index 0000000..edbbb5b --- /dev/null +++ b/wiki/lib/plugins/extension/images/enabled.png Binary files differdiff --git a/wiki/lib/plugins/extension/images/icons.xcf b/wiki/lib/plugins/extension/images/icons.xcf new file mode 100644 index 0000000..ab69b30 --- /dev/null +++ b/wiki/lib/plugins/extension/images/icons.xcf Binary files differdiff --git a/wiki/lib/plugins/extension/images/license.txt b/wiki/lib/plugins/extension/images/license.txt new file mode 100644 index 0000000..44e176a --- /dev/null +++ b/wiki/lib/plugins/extension/images/license.txt @@ -0,0 +1,4 @@ +enabled.png - CC0, (c) Tanguy Ortolo +disabled.png - public domain, (c) Tango Desktop Project http://commons.wikimedia.org/wiki/File:Dialog-information.svg +plugin.png - public domain, (c) nicubunu, http://openclipart.org/detail/15093/blue-jigsaw-piece-07-by-nicubunu +template.png - public domain, (c) mathec, http://openclipart.org/detail/166596/palette-by-mathec diff --git a/wiki/lib/plugins/extension/images/overlay.png b/wiki/lib/plugins/extension/images/overlay.png new file mode 100644 index 0000000..5414206 --- /dev/null +++ b/wiki/lib/plugins/extension/images/overlay.png Binary files differdiff --git a/wiki/lib/plugins/extension/images/plugin.png b/wiki/lib/plugins/extension/images/plugin.png new file mode 100644 index 0000000..62424b2 --- /dev/null +++ b/wiki/lib/plugins/extension/images/plugin.png Binary files differdiff --git a/wiki/lib/plugins/extension/images/tag.png b/wiki/lib/plugins/extension/images/tag.png new file mode 100644 index 0000000..1b1dd75 --- /dev/null +++ b/wiki/lib/plugins/extension/images/tag.png Binary files differdiff --git a/wiki/lib/plugins/extension/images/template.png b/wiki/lib/plugins/extension/images/template.png new file mode 100644 index 0000000..67240d1 --- /dev/null +++ b/wiki/lib/plugins/extension/images/template.png Binary files differdiff --git a/wiki/lib/plugins/extension/images/up.png b/wiki/lib/plugins/extension/images/up.png new file mode 100644 index 0000000..531b2dd --- /dev/null +++ b/wiki/lib/plugins/extension/images/up.png Binary files differdiff --git a/wiki/lib/plugins/extension/images/warning.png b/wiki/lib/plugins/extension/images/warning.png new file mode 100644 index 0000000..c1af79f --- /dev/null +++ b/wiki/lib/plugins/extension/images/warning.png Binary files differdiff --git a/wiki/lib/plugins/extension/lang/bg/intro_install.txt b/wiki/lib/plugins/extension/lang/bg/intro_install.txt new file mode 100644 index 0000000..34b9248 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/bg/intro_install.txt @@ -0,0 +1 @@ +От тук можете да инсталирате ръчно приставки и шаблони като качите архив или посочите URL за сваляне на архива. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/bg/intro_plugins.txt b/wiki/lib/plugins/extension/lang/bg/intro_plugins.txt new file mode 100644 index 0000000..927f617 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/bg/intro_plugins.txt @@ -0,0 +1 @@ +Това са инсталираните приставки. От тук можете да ги включвате и изключвате както и да ги деинсталирате. Тук ще виждате и наличните актуализации, като преди всяка такава прочетете документацията на съответната приставка. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/bg/intro_search.txt b/wiki/lib/plugins/extension/lang/bg/intro_search.txt new file mode 100644 index 0000000..cec4cd2 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/bg/intro_search.txt @@ -0,0 +1 @@ +От тук имате достъп до всички налични приставки и шаблони за DokuWiki, които са дело на трети лица. Имайте предвид, че кодът им е потенциален **риск за сигурността на сървъра**! Повече по темата можете да прочетете в [[doku>security#plugin_security|plugin security]] first. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/bg/intro_templates.txt b/wiki/lib/plugins/extension/lang/bg/intro_templates.txt new file mode 100644 index 0000000..8824b4d --- /dev/null +++ b/wiki/lib/plugins/extension/lang/bg/intro_templates.txt @@ -0,0 +1 @@ +Това са инсталираните шаблони. Можете да определите кой шаблон да се ползва от [[?do=admin&page=config|Настройки]]. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/bg/lang.php b/wiki/lib/plugins/extension/lang/bg/lang.php new file mode 100644 index 0000000..dda69a4 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/bg/lang.php @@ -0,0 +1,84 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Kiril <neohidra@gmail.com> + */ +$lang['menu'] = 'Диспечер на приставки'; +$lang['tab_plugins'] = 'Инсталирани приставки'; +$lang['tab_templates'] = 'Инсталирани шаблони'; +$lang['tab_search'] = 'Търсене и инсталиране'; +$lang['tab_install'] = 'Ръчно инсталиране'; +$lang['notimplemented'] = 'Функционалността все още не реализирана'; +$lang['notinstalled'] = 'Приставката не е инсталирана'; +$lang['alreadyenabled'] = 'Приставката е включена'; +$lang['alreadydisabled'] = 'Приставката е изключена'; +$lang['pluginlistsaveerror'] = 'Възникна грешка при записването на списъка с приставки'; +$lang['unknownauthor'] = 'Неизвестен автор'; +$lang['unknownversion'] = 'Неизвестна версия'; +$lang['btn_info'] = 'Повече информация'; +$lang['btn_update'] = 'Актуализиране'; +$lang['btn_uninstall'] = 'Деинсталиране'; +$lang['btn_enable'] = 'Включване'; +$lang['btn_disable'] = 'Изключване'; +$lang['btn_install'] = 'Инсталиране'; +$lang['btn_reinstall'] = 'Преинсталиране'; +$lang['js']['reallydel'] = 'Наистина ли желаете приставката да бъде деинсталирана?'; +$lang['js']['display_viewoptions'] = 'Филтриране:'; +$lang['js']['display_enabled'] = 'включени'; +$lang['js']['display_disabled'] = 'изключени'; +$lang['js']['display_updatable'] = 'с налични актуализации'; +$lang['search_for'] = 'Търсене за приставки:'; +$lang['search'] = 'Търсене'; +$lang['extensionby'] = '<strong>%s</strong> от %s'; +$lang['popularity'] = 'Популярност: %s%%'; +$lang['homepage_link'] = 'Документи'; +$lang['tags'] = 'Етикети:'; +$lang['author_hint'] = 'Търсене за други приставки от този автор'; +$lang['installed'] = 'Инсталирано:'; +$lang['downloadurl'] = 'Сваляне от URL:'; +$lang['repository'] = 'Хранилище:'; +$lang['unknown'] = '<em>неизвестно</em>'; +$lang['installed_version'] = 'Инсталирана версия:'; +$lang['install_date'] = 'Посл. актуализиране:'; +$lang['available_version'] = 'Налична версия:'; +$lang['compatible'] = 'Съвместимост с:'; +$lang['depends'] = 'Изисква:'; +$lang['similar'] = 'Наподобява:'; +$lang['conflicts'] = 'В кофликт с:'; +$lang['donate'] = 'Харесва ли ви?'; +$lang['donate_action'] = 'Купете на автора кафе!'; +$lang['repo_retry'] = 'Повторен опит'; +$lang['provides'] = 'Осигурява:'; +$lang['status'] = 'Състояние:'; +$lang['status_installed'] = 'инсталирана'; +$lang['status_not_installed'] = 'неинсталирана'; +$lang['status_protected'] = 'защитена'; +$lang['status_enabled'] = 'включена'; +$lang['status_disabled'] = 'изключена'; +$lang['status_plugin'] = 'приставка'; +$lang['status_template'] = 'шаблон'; +$lang['msg_enabled'] = 'Приставката "%s" е включена'; +$lang['msg_disabled'] = 'Приставката "%s" е изключена'; +$lang['msg_delete_success'] = 'Приставката "%s" е деинсталирана'; +$lang['msg_delete_failed'] = 'Деинсталирането на приставката "%s" се провали '; +$lang['msg_template_install_success'] = 'Шаблонът "%s" е инсталиран успешно'; +$lang['msg_template_update_success'] = 'Шаблонът "%s" е актуализиран успешно'; +$lang['msg_plugin_install_success'] = 'Приставката "%s" е инсталирана успешно'; +$lang['msg_plugin_update_success'] = 'Приставката "%s" е актуализирана успешно'; +$lang['msg_upload_failed'] = 'Качването на файлът се провали'; +$lang['missing_dependency'] = '<strong>Изискван компонент липсва или е изключен:</strong> %s'; +$lang['security_issue'] = '<strong>Проблем със сигурността:</strong> %s'; +$lang['security_warning'] = '<strong>Предупреждние за сигурността:</strong> %s'; +$lang['update_available'] = '<strong>Актуализация:</strong> Налична е нова версия - %s'; +$lang['wrong_folder'] = '<strong>Некоректно инсталирана приставка:</strong> Преименувайте директорията "%s" на "%s".'; +$lang['error_badurl'] = 'URL адресите трябва да започват с http или https'; +$lang['error_dircreate'] = 'Създаването на временна поапка за получаване на файла не е възможно'; +$lang['error_download'] = 'Невъзможност за сваляне на файл: %s'; +$lang['noperms'] = 'Директория на разширението не е достъпна за писане'; +$lang['notplperms'] = 'Директория на шаблона не е достъпна за писане'; +$lang['nopluginperms'] = 'Директория на приставката не е достъпна за писане'; +$lang['install_url'] = 'Инсталиране от URL:'; +$lang['install_upload'] = 'Качване:'; +$lang['repo_error'] = 'Няма връзка с хранилището на добавката. Проверете възможна ли е комуникацията www.dokuwiki.org и прокси настройките.'; diff --git a/wiki/lib/plugins/extension/lang/cs/intro_install.txt b/wiki/lib/plugins/extension/lang/cs/intro_install.txt new file mode 100644 index 0000000..b274959 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/cs/intro_install.txt @@ -0,0 +1 @@ +Zde můžete ručně instalovat zásuvné moduly a šablony vzhledu, buď nahráním, nebo zadáním přímé URL pro stažení. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/cs/intro_plugins.txt b/wiki/lib/plugins/extension/lang/cs/intro_plugins.txt new file mode 100644 index 0000000..a6f6274 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/cs/intro_plugins.txt @@ -0,0 +1 @@ +Toto je seznam momentálně nainstalovaných zásuvných modulů vaší DokuWiki. V tomto seznamu je lze zapínat, vypínat nebo kompletně odinstalovat. Jsou zde také vidět dostupné aktualizace pro moduly, ale před jejich případným aktualizováním si vždy přečtěte jejich dokumentaci. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/cs/intro_search.txt b/wiki/lib/plugins/extension/lang/cs/intro_search.txt new file mode 100644 index 0000000..4258ac4 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/cs/intro_search.txt @@ -0,0 +1 @@ +Tato záložka poskytuje náhled na všechny dostupné moduly a šablony třetích stran pro DokuWiki. Jejich instalací se múžete vystavit **bezpečnostním rizikům** o kterých se můžete více dočíst v oddíle [[doku>security#plugin_security|plugin security]]. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/cs/intro_templates.txt b/wiki/lib/plugins/extension/lang/cs/intro_templates.txt new file mode 100644 index 0000000..45abe95 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/cs/intro_templates.txt @@ -0,0 +1 @@ +Toto jsou šablony, které jsou momentálně nainstalovány v této DokuWiki. Aktuálně používanu šablonu lze vybrat ve [[?do=admin&page=config|Správci rozšíření]]. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/cs/lang.php b/wiki/lib/plugins/extension/lang/cs/lang.php new file mode 100644 index 0000000..4438376 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/cs/lang.php @@ -0,0 +1,98 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Viktor Zavadil <vzavadil@newps.cz> + * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> + * @author Turkislav <turkislav@blabla.com> + * @author Martin Růžička <martinr@post.cz> + */ +$lang['menu'] = 'Správa rozšíření'; +$lang['tab_plugins'] = 'Instalované moduly'; +$lang['tab_templates'] = 'Instalované šablony'; +$lang['tab_search'] = 'Vyhledej a instaluj'; +$lang['tab_install'] = 'Ruční instalace'; +$lang['notimplemented'] = 'Tato vychytávka není dosud implementována'; +$lang['notinstalled'] = 'Toto rozšíření není instalováno'; +$lang['alreadyenabled'] = 'Toto rozšíření je již povoleno'; +$lang['alreadydisabled'] = 'Toto rozšíření je již vypnuto'; +$lang['pluginlistsaveerror'] = 'Došlo k chybě při ukládání seznamu zásuvných modulů'; +$lang['unknownauthor'] = 'Neznámý autor'; +$lang['unknownversion'] = 'Neznámá verze'; +$lang['btn_info'] = 'Zobrazit více informací'; +$lang['btn_update'] = 'Aktualizovat'; +$lang['btn_uninstall'] = 'Odinstalovat'; +$lang['btn_enable'] = 'Povolit'; +$lang['btn_disable'] = 'Zakázat'; +$lang['btn_install'] = 'Instalovat'; +$lang['btn_reinstall'] = 'Přeinstalovat'; +$lang['js']['reallydel'] = 'Opravdu odinstalovat toto rozšíření?'; +$lang['js']['display_viewoptions'] = 'Zobrazit možnosti:'; +$lang['js']['display_enabled'] = 'povolit'; +$lang['js']['display_disabled'] = 'zakázat'; +$lang['js']['display_updatable'] = 'aktualizovatelné'; +$lang['search_for'] = 'Hledat rozšíření:'; +$lang['search'] = 'Hledat'; +$lang['extensionby'] = '<strong>%s</strong> od %s'; +$lang['screenshot'] = 'Screenshot %s'; +$lang['popularity'] = 'Popularita: %s%%'; +$lang['homepage_link'] = 'Dokumenty'; +$lang['bugs_features'] = 'Chyby'; +$lang['tags'] = 'Štítky:'; +$lang['author_hint'] = 'Vyhledat rozšíření podle tohoto autora'; +$lang['installed'] = 'Nainstalováno:'; +$lang['downloadurl'] = 'URL stahování:'; +$lang['repository'] = 'Repozitář:'; +$lang['unknown'] = '<em>neznámý</em>'; +$lang['installed_version'] = 'Nainstalovaná verze:'; +$lang['install_date'] = 'Poslední aktualizace'; +$lang['available_version'] = 'Dostupná verze:'; +$lang['compatible'] = 'Kompatibilní s:'; +$lang['depends'] = 'Závisí na:'; +$lang['similar'] = 'Podobný jako:'; +$lang['conflicts'] = 'Koliduje s:'; +$lang['donate'] = 'Líbí se ti to?'; +$lang['donate_action'] = 'Kup autorovi kávu!'; +$lang['repo_retry'] = 'Opakovat'; +$lang['provides'] = 'Poskytuje:'; +$lang['status'] = 'Stav:'; +$lang['status_installed'] = 'instalovaný'; +$lang['status_not_installed'] = 'nenainstalovaný'; +$lang['status_protected'] = 'chráněný'; +$lang['status_enabled'] = 'povolený'; +$lang['status_disabled'] = 'zakázaný'; +$lang['status_unmodifiable'] = 'neměnný'; +$lang['status_plugin'] = 'zásuvný modul'; +$lang['status_template'] = 'šablona'; +$lang['status_bundled'] = 'svázaný'; +$lang['msg_enabled'] = 'Zásuvný modul %s povolen'; +$lang['msg_disabled'] = 'Zásuvný modul %s zakázán'; +$lang['msg_delete_success'] = 'Rozšíření %s odinstalováno'; +$lang['msg_delete_failed'] = 'Odinstalování rozšíření %s selhalo'; +$lang['msg_template_install_success'] = 'Šablona %s úspěšně nainstalována'; +$lang['msg_template_update_success'] = 'Šablona %s úspěšně aktualizována'; +$lang['msg_plugin_install_success'] = 'Zásuvný modul %s úspěšně nainstalován.'; +$lang['msg_plugin_update_success'] = 'Zásuvný modul %s úspěšně aktualizován.'; +$lang['msg_upload_failed'] = 'Nahrávání souboru selhalo'; +$lang['missing_dependency'] = '<strong>Chybějící nebo zakázaná závislost:</strong> %s'; +$lang['security_issue'] = '<strong>Bezpečnostní problém:</strong> %s'; +$lang['security_warning'] = '<strong>Bezpečnostní varování:</strong> %s'; +$lang['update_available'] = '<strong>Aktualizace:</strong> Je dostupná nová verze %s.'; +$lang['wrong_folder'] = '<strong>Zásuvný modul nesprávně nainstalován:</strong> Přejmenujte adresář modulu "%s" na "%s".'; +$lang['url_change'] = '<strong>URL se změnila:</strong> URL pro stahování se změnila od poslední aktualizace. Před další aktualizací tohoto rozšíření ověřte správnost nové URL.<br />Nová: %s<br />Stará: %s'; +$lang['error_badurl'] = 'Adresy URL by měly začínat s http nebo https'; +$lang['error_dircreate'] = 'Nelze vytvořit dočasný adresář pro přijetí stahování'; +$lang['error_download'] = 'Nelze stáhnout soubor: %s'; +$lang['error_decompress'] = 'Selhalo rozbalení staženého souboru. Toto je nejspíš důsledek poškození souboru při přenosu, zkuste soubor stáhnout znovu; případně nemusel být rozpoznán formát sbaleného souboru a bude třeba přistoupit k ruční instalaci. '; +$lang['error_findfolder'] = 'Nelze rozpoznat adresář pro rozšíření, je třeba stáhnout a instalovat ručně'; +$lang['error_copy'] = 'Došlo k chybě kopírování souborů při pokusu nainstalovat soubory do adresáře <em>%s</em>: může být plný disk nebo špatně nastavena přístupová práva. Tato chyba mohla zapříčinit pouze částečnou instalaci zásuvného modulu a uvést wiki do nestabilního stavu.'; +$lang['noperms'] = 'Nelze zapisovat do adresáře pro rozšíření'; +$lang['notplperms'] = 'Nelze zapisovat do odkládacího adresáře'; +$lang['nopluginperms'] = 'Nelze zapisovat do adresáře se zásuvnými moduly'; +$lang['git'] = 'Toto rozšíření bylo nainstalováno přes git. Touto cestou ho nejspíš tady aktualizovat nechcete.'; +$lang['auth'] = 'Tento ověřovací zásuvný modul není povolen v nastavení, zvažte jeho deaktivaci.'; +$lang['install_url'] = 'Nainstalovat z URL:'; +$lang['install_upload'] = 'Nahrát rozšíření:'; +$lang['repo_error'] = 'Nelze kontaktovat repozitář se zásuvnými moduly. Ujistěte se, že váš server může kontaktovat www.dokuwiki.org a zkontrolujte nastavení proxy.'; +$lang['nossl'] = 'Použité PHP pravděpodobně nepodporuje SSL. Stažení mnoha DokuWiki rozšíření nebude fungovat.'; diff --git a/wiki/lib/plugins/extension/lang/cy/intro_install.txt b/wiki/lib/plugins/extension/lang/cy/intro_install.txt new file mode 100644 index 0000000..2bc933e --- /dev/null +++ b/wiki/lib/plugins/extension/lang/cy/intro_install.txt @@ -0,0 +1 @@ +Gallwch chi arsefydlu ategion a thempledau gan law yma, naill ai gan eu lanlwytho neu gan gyflwyno URL lawrlwytho uniongyrchol. diff --git a/wiki/lib/plugins/extension/lang/cy/intro_plugins.txt b/wiki/lib/plugins/extension/lang/cy/intro_plugins.txt new file mode 100644 index 0000000..dd49a7a --- /dev/null +++ b/wiki/lib/plugins/extension/lang/cy/intro_plugins.txt @@ -0,0 +1 @@ +Dyma'r ategion sydd wedi\'u harsefydlu yn eich DokuWiki yn bresennol. Gallwch chi eu galluogi neu eu hanalluogi nhw neu hyd yn oed eu dad-arsefydlu yn llwyr yma. Caiff diweddariadau'r ategion eu dangos yma hefyd, sicrhewch eich bod chi'n darllen dogfennaeth yr ategyn cyn diweddaru. diff --git a/wiki/lib/plugins/extension/lang/cy/intro_search.txt b/wiki/lib/plugins/extension/lang/cy/intro_search.txt new file mode 100644 index 0000000..8aef960 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/cy/intro_search.txt @@ -0,0 +1 @@ +Mae'r tab hwn yn rhoi mynediad i bob ategyn a thempled 3ydd parti ar gael ar gyfer DokuWiki. Sylwch fod arsefydlu cod 3ydd parti yn achosi **risg diogelwch**. Efallai hoffech chi ddarllen mwy ar [[doku>security#plugin_security|ddiogelwch ategion]] yn gyntaf. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/cy/intro_templates.txt b/wiki/lib/plugins/extension/lang/cy/intro_templates.txt new file mode 100644 index 0000000..4947145 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/cy/intro_templates.txt @@ -0,0 +1 @@ +Dyma'r templedau sydd wedi'u harsefydlu yn eich DokuWiki yn bresennol. Gallwch chi ddewis y templed i'w ddefnyddio yn y [[?do=admin&page=config|Rheolwr Ffurfwedd]]. diff --git a/wiki/lib/plugins/extension/lang/cy/lang.php b/wiki/lib/plugins/extension/lang/cy/lang.php new file mode 100644 index 0000000..2a2a8c8 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/cy/lang.php @@ -0,0 +1,111 @@ +<?php +/** + * Welsh language file for extension plugin + * + * @author Michael Hamann <michael@content-space.de> + * @author Christopher Smith <chris@jalakai.co.uk> + * @author Alan Davies <ben.brynsadler@gmail.com> + */ + +$lang['menu'] = 'Rheolwr Estyniadau'; + +$lang['tab_plugins'] = 'Ategion a Arsefydlwyd'; +$lang['tab_templates'] = 'Templedau a Arsefydlwyd'; +$lang['tab_search'] = 'Chwilio ac Arsefydlu'; +$lang['tab_install'] = 'Arsefydlu gan Law'; + +$lang['notimplemented'] = '\'Dyw\'r nodwedd hon heb ei rhoi ar waith eto'; +$lang['notinstalled'] = '\'Dyw\'r estyniad hwn heb ei arsefydlu'; +$lang['alreadyenabled'] = 'Cafodd yr estyniad hwn ei alluogi'; +$lang['alreadydisabled'] = 'Cafodd yr estyniad hwn ei analluogi'; +$lang['pluginlistsaveerror'] = 'Roedd gwall wrth gadw\'r rhestr ategion'; +$lang['unknownauthor'] = 'Awdur anhysbys'; +$lang['unknownversion'] = 'Fersiwn anhysbys'; + +$lang['btn_info'] = 'Dangos wybodaeth bellach'; +$lang['btn_update'] = 'Diweddaru'; +$lang['btn_uninstall'] = 'Dad-arsefydlu'; +$lang['btn_enable'] = 'Galluogi'; +$lang['btn_disable'] = 'Analluogi'; +$lang['btn_install'] = 'Arsyfydlu'; +$lang['btn_reinstall'] = 'Ail-arsefydlu'; + +$lang['js']['reallydel'] = 'Ydych chi wir am ddad-arsefydlu\'r estyniad hwn?'; + +$lang['search_for'] = 'Chwilio Estyniadau:'; +$lang['search'] = 'Chwilio'; + +$lang['extensionby'] = '<strong>%s</strong> gan %s'; +$lang['screenshot'] = 'Sgrinlun %s'; +$lang['popularity'] = 'Poblogrwydd: %s%%'; +$lang['homepage_link'] = 'Dogfennau'; +$lang['bugs_features'] = 'Bygiau'; +$lang['tags'] = 'Tagiau:'; +$lang['author_hint'] = 'Chwilio estyniadau gan awdur'; +$lang['installed'] = 'Arsefydlwyd:'; +$lang['downloadurl'] = 'URL Lawlwytho:'; +$lang['repository'] = 'Ystorfa:'; +$lang['unknown'] = '<em>anhysbys</em>'; +$lang['installed_version'] = 'Fersiwn a arsefydlwyd:'; +$lang['install_date'] = 'Eich diweddariad diwethaf:'; +$lang['available_version'] = 'Fersiwn ar gael:'; +$lang['compatible'] = 'Yn gydnaws â:'; +$lang['depends'] = 'Yn dibynnu ar:'; +$lang['similar'] = 'Yn debyg i:'; +$lang['conflicts'] = 'Y gwrthdaro â:'; +$lang['donate'] = 'Fel hwn?'; +$lang['donate_action'] = 'Prynwch goffi i\'r awdur!'; +$lang['repo_retry'] = 'Ailgeisio'; +$lang['provides'] = 'Darparu:'; +$lang['status'] = 'Statws:'; +$lang['status_installed'] = 'arsefydlwyd'; +$lang['status_not_installed'] = 'heb ei arsefydlu'; +$lang['status_protected'] = 'amddiffynwyd'; +$lang['status_enabled'] = 'galluogwyd'; +$lang['status_disabled'] = 'analluogwyd'; +$lang['status_unmodifiable'] = 'methu addasu'; +$lang['status_plugin'] = 'ategyn'; +$lang['status_template'] = 'templed'; +$lang['status_bundled'] = 'bwndlwyd'; + +$lang['msg_enabled'] = 'Galluogwyd ategyn %s'; +$lang['msg_disabled'] = 'Analluogwyd ategyn %s'; +$lang['msg_delete_success'] = 'Dad-arsefydlwyd estyniad %s'; +$lang['msg_delete_failed'] = 'Methodd dad-arsefydlu estyniad %s'; +$lang['msg_template_install_success'] = 'Arsefydlwyd templed %s yn llwyddiannus'; +$lang['msg_template_update_success'] = 'Diweddarwyd templed %s yn llwyddiannus'; +$lang['msg_plugin_install_success'] = 'Arsefydlwyd ategyn %s yn llwyddiannus'; +$lang['msg_plugin_update_success'] = 'Diweddarwyd ategyn %s yn llwyddiannus'; +$lang['msg_upload_failed'] = 'Methodd lanlwytho\'r ffeil'; + +$lang['missing_dependency'] = '<strong>Missing or disabled dependency:</strong> %s'; +$lang['security_issue'] = '<strong>Mater Diogelwch:</strong> %s'; +$lang['security_warning'] = '<strong>Rhybudd Diogelwch:</strong> %s'; +$lang['update_available'] = '<strong>Diweddariad:</strong> Mae fersiwn newydd %s ar gael.'; +$lang['wrong_folder'] = '<strong>Ategyn wedi\'i arsefydlu\'n anghywir:</strong> Ailenwch ffolder yr ategyn o "%s" i "%s".'; +$lang['url_change'] = '<strong>Newid i\'r URL:</strong> Newidiodd yr URL lawlwytho ers y diweddariad diwethaf. Gwiriwch i weld os yw\'r URL newydd yn ddilys cyn diweddaru\'r estyniad.<br />Newydd: %s<br />Hen: %s'; + +$lang['error_badurl'] = 'Dylai URL ddechrau gyda http neu https'; +$lang['error_dircreate'] = 'Methu â chreu ffolder dros dro er mwyn derbyn y lawrlwythiad'; +$lang['error_download'] = 'Methu lawrlwytho\'r ffeil: %s'; +$lang['error_decompress'] = 'Methu datgywasgu\'r ffeil a lawrlwythwyd. Gall hwn fod o ganlyniad i lawrlwythiad gwael, felly ceisiwch eto; neu gall fod fformat y cywasgiad fod yn anhysbys, felly bydd yn rhaid i chi lawlwytho ac arsefydlu gan law.'; +$lang['error_findfolder'] = 'Methu ag adnabod ffolder yr estyniad, bydd angen lawrlwytho ac arsefydlu gan law'; +$lang['error_copy'] = 'Roedd gwall copïo ffeil wrth geisio arsefydlu ffeiliau i\'r ffolder <em>%s</em>: gall fod y ddisgen yn llawn neu gall hawliau mynediad i ffeiliau fod yn anghywir. Gall hwn fod wedi achosi ategyn sydd wedi arsefydlu\'n rhannol ac sydd wedi ansefydlogi\'ch arsefydliad wici'; + +$lang['noperms'] = '\'Sdim modd ysgrifennu i\'r ffolder estyniadau'; +$lang['notplperms'] = '\'Sdim modd ysgrifennu i\'r ffolder templedau'; + +$lang['nopluginperms'] = '\'Sdim modd ysgrifennu i\'r ffolder ategion'; +$lang['git'] = 'Cafodd yr estyniad hwn ei arsefydlu gan git, mae\'n bosib na fyddwch chi am ei ddiweddaru yma.'; +$lang['auth'] = '\'Dyw\'r ategyn dilysu hwn heb ei alluogi yn y ffurfwedd, ystyriwch ei analluogi.'; + +$lang['install_url'] = 'Arsefydlu o URL:'; +$lang['install_upload'] = 'Lanlwytho Estyniad:'; + +$lang['repo_error'] = 'Doedd dim modd cysylltu â\'r ystorfa ategion. Sicrhewch fod hawl gan eich gweinydd i gysylltu â www.dokuwiki.org a gwiriwch eich gosodiadau procsi.'; +$lang['nossl'] = 'Mae\'n debyg \'dyw eich PHP ddim yn cynnal SSL. Na fydd lawrlwytho yn gweithio ar gyfer nifer o estyniadau DokuWiki.'; + +$lang['js']['display_viewoptions'] = 'Opsiynau Golwg:'; +$lang['js']['display_enabled'] = 'galluogwyd'; +$lang['js']['display_disabled'] = 'analluogwyd'; +$lang['js']['display_updatable'] = 'gallu diweddaru'; diff --git a/wiki/lib/plugins/extension/lang/da/intro_install.txt b/wiki/lib/plugins/extension/lang/da/intro_install.txt new file mode 100644 index 0000000..e5657f2 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/da/intro_install.txt @@ -0,0 +1 @@ +Her kan du installerer plugins eller templates manuelt, ved enten at uploade dem eller angive en direkte URL til download. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/da/intro_plugins.txt b/wiki/lib/plugins/extension/lang/da/intro_plugins.txt new file mode 100644 index 0000000..5d9deaf --- /dev/null +++ b/wiki/lib/plugins/extension/lang/da/intro_plugins.txt @@ -0,0 +1 @@ +Dette er de plugins du aktuelt har installeret i din DokuWiki. Du kan aktivere, deaktiver eller fjerne plugins fra denne side. Opdateringer til plugins vises også her - husk at læse dokumentationen til et plugin inden du opdaterer det. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/da/intro_templates.txt b/wiki/lib/plugins/extension/lang/da/intro_templates.txt new file mode 100644 index 0000000..1914500 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/da/intro_templates.txt @@ -0,0 +1 @@ +Dette er de templates du aktuelt har installeret i din DokuWiki. Du kan vælge det template du vil benytte under [[?do=admin&page=config|Opsætningsstyring]]. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/da/lang.php b/wiki/lib/plugins/extension/lang/da/lang.php new file mode 100644 index 0000000..5d31357 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/da/lang.php @@ -0,0 +1,80 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Søren Birk <soer9648@eucl.dk> + * @author Jacob Palm <mail@jacobpalm.dk> + */ +$lang['tab_plugins'] = 'Installerede plugins'; +$lang['tab_templates'] = 'Installerede templates'; +$lang['tab_search'] = 'Søg og installer'; +$lang['tab_install'] = 'Manuel installation'; +$lang['notimplemented'] = 'Denne funktion er ikke implementeret endnu'; +$lang['unknownauthor'] = 'Ukendt udgiver'; +$lang['unknownversion'] = 'Ukendt version'; +$lang['btn_info'] = 'Vis mere information'; +$lang['btn_update'] = 'Opdater'; +$lang['btn_uninstall'] = 'Afinstaller'; +$lang['btn_enable'] = 'Aktiver'; +$lang['btn_disable'] = 'Deaktiver'; +$lang['btn_install'] = 'Installer'; +$lang['btn_reinstall'] = 'Geninstaller'; +$lang['js']['reallydel'] = 'Er du sikker på at du vil afinstallere denne udvidelse?'; +$lang['search_for'] = 'Søg efter udvidelse:'; +$lang['search'] = 'Søg'; +$lang['extensionby'] = '<strong>%s</strong> af %s'; +$lang['screenshot'] = 'Skærmbillede af %s'; +$lang['popularity'] = 'Popularitet: %s%%'; +$lang['homepage_link'] = 'Dokumenter'; +$lang['bugs_features'] = 'Fejl'; +$lang['tags'] = 'Tags:'; +$lang['author_hint'] = 'Søg efter udvidelse af denne udgiver'; +$lang['installed'] = 'Installeret:'; +$lang['downloadurl'] = 'Download URL:'; +$lang['unknown'] = '<em>ukendt</em>'; +$lang['installed_version'] = 'Installeret version:'; +$lang['install_date'] = 'Din sidste opdatering:'; +$lang['available_version'] = 'Tilgængelig version:'; +$lang['compatible'] = 'Kompatibel med:'; +$lang['depends'] = 'Afhængig af:'; +$lang['similar'] = 'Ligner:'; +$lang['donate'] = 'Synes du om denne?'; +$lang['donate_action'] = 'Køb en kop kaffe til udvikleren!'; +$lang['repo_retry'] = 'Førsøg igen'; +$lang['status'] = 'Status:'; +$lang['status_installed'] = 'installeret'; +$lang['status_not_installed'] = 'ikke installeret'; +$lang['status_protected'] = 'beskyttet'; +$lang['status_enabled'] = 'aktiveret'; +$lang['status_disabled'] = 'deaktiveret'; +$lang['status_unmodifiable'] = 'låst for ændringer'; +$lang['status_plugin'] = 'plugin'; +$lang['status_template'] = 'template'; +$lang['msg_enabled'] = 'Plugin %s aktiveret'; +$lang['msg_disabled'] = 'Plugin %s deaktiveret'; +$lang['msg_delete_success'] = 'Udvidelse %s afinstalleret'; +$lang['msg_delete_failed'] = 'Kunne ikke afinstallere udvidelsen %s'; +$lang['msg_template_install_success'] = 'Template %s blev installeret'; +$lang['msg_template_update_success'] = 'Template %s blev opdateret'; +$lang['msg_plugin_install_success'] = 'Plugin %s blev installeret'; +$lang['msg_plugin_update_success'] = 'Plugin %s blev opdateret'; +$lang['msg_upload_failed'] = 'Kunne ikke uploade filen'; +$lang['update_available'] = '<strong>Opdatering:</strong> Ny version %s er tilgængelig.'; +$lang['wrong_folder'] = '<strong>Plugin ikke installeret korrekt:</strong> Omdøb plugin-mappe "%s" til "%s".'; +$lang['url_change'] = '<strong>URL ændret:</strong> Download-URL er blevet ændret siden sidste download. Kontrollér om den nye URL er valid, inden udvidelsen opdateres.<br />Ny: %s<br />Gammel: %s'; +$lang['error_badurl'] = 'URL\'er skal starte med http eller https'; +$lang['error_dircreate'] = 'Ikke i stand til at oprette midlertidig mappe til modtagelse af download'; +$lang['error_download'] = 'Ikke i stand til at downloade filen: %s'; +$lang['error_decompress'] = 'Ikke i stand til at dekomprimere den downloadede fil. Dette kan være et resultat af en dårlig download, hvor du i så fald bør du prøve igen; eller komprimeringsformatet kan være ukendt, hvor du i så fald bliver nød til at downloade og installere manuelt.'; +$lang['error_findfolder'] = 'Ikke i stand til at identificere udvidelsesmappe - du bliver nød til at downloade og installere manuelt.'; +$lang['error_copy'] = 'Der opstod en kopieringsfejl under installation af filer til mappen <em>%s</em>: disken kan være fuld, eller mangel på fil-tilladelser. Dette kan have resulteret i et delvist installeret plugin, og efterladt din wiki-installation ustabil.'; +$lang['noperms'] = 'Udvidelsesmappe er ikke skrivbar'; +$lang['notplperms'] = 'Skabelonmappe er ikke skrivbar'; +$lang['nopluginperms'] = 'Pluginmappe er ikke skrivbar'; +$lang['git'] = 'Udvidelsen blev installeret via git - du vil muligvis ikke opdatere herfra.'; +$lang['auth'] = 'Auth-plugin er ikke aktiveret i konfigurationen - overvej at deaktivere den.'; +$lang['install_url'] = 'Installér fra URL:'; +$lang['install_upload'] = 'Upload Udvidelse:'; +$lang['repo_error'] = 'Plugin-arkivet kunne ikke kontaktes. Kontrollér at din server kan kontakte www.dokuwiki.org kontrollér dine proxy-indstillinger.'; +$lang['nossl'] = 'Din PHP lader til at mangle understøttelse for SSL. Mange DokuWiki udvidelser vil ikke kunne downloades.'; diff --git a/wiki/lib/plugins/extension/lang/de-informal/intro_install.txt b/wiki/lib/plugins/extension/lang/de-informal/intro_install.txt new file mode 100644 index 0000000..2aa2e06 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/de-informal/intro_install.txt @@ -0,0 +1 @@ +Hier kannst Du Plugins und Templates von Hand installieren indem Du sie hochlädst oder eine Download-URL angibst. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/de-informal/intro_plugins.txt b/wiki/lib/plugins/extension/lang/de-informal/intro_plugins.txt new file mode 100644 index 0000000..13ba705 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/de-informal/intro_plugins.txt @@ -0,0 +1 @@ +Dies sind die Plugins, die bereits installiert sind. Du kannst sie hier an- oder abschalten oder sie komplett deinstallieren. Außerdem werden hier Updates zu den installiereten Plugins angezeigt. Bitte lies vor einem Update die zugehörige Dokumentation. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/de-informal/intro_search.txt b/wiki/lib/plugins/extension/lang/de-informal/intro_search.txt new file mode 100644 index 0000000..9300f9e --- /dev/null +++ b/wiki/lib/plugins/extension/lang/de-informal/intro_search.txt @@ -0,0 +1 @@ +Dieser Tab gibt Dir Zugriff auf alle vorhandenen Plugins und Templates für DokuWiki. Bitte bedenke, dass jede installierte Erweiterung ein Sicherheitsrisiko darstellen kann. Du solltest vor einer Installation die [[doku>security#plugin_security|Plugin Security]] Informationen lesen. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/de-informal/intro_templates.txt b/wiki/lib/plugins/extension/lang/de-informal/intro_templates.txt new file mode 100644 index 0000000..aac2643 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/de-informal/intro_templates.txt @@ -0,0 +1 @@ +Die folgenden Templates sind momentan in deinem DokuWiki installiert. Du kannst das zu verwendende Template im [[?do=admin&page=config|Konfigurations-Manager]] auswählen. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/de-informal/lang.php b/wiki/lib/plugins/extension/lang/de-informal/lang.php new file mode 100644 index 0000000..4daec7f --- /dev/null +++ b/wiki/lib/plugins/extension/lang/de-informal/lang.php @@ -0,0 +1,95 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Felix <j.felix@mueller-donath.de> + */ +$lang['menu'] = 'Erweiterungen verwalten'; +$lang['tab_plugins'] = 'Installierte Plugins'; +$lang['tab_templates'] = 'Installierte Templates'; +$lang['tab_search'] = 'Suchen und installieren'; +$lang['tab_install'] = 'Manuelle Installation'; +$lang['notimplemented'] = 'Dieses Feature wurde leider noch nicht eingebaut'; +$lang['notinstalled'] = 'Diese Erweiterung ist nicht installiert'; +$lang['alreadyenabled'] = 'Diese Erweiterung wurde bereits aktiviert'; +$lang['alreadydisabled'] = 'Diese Erweiterung wurde bereits deaktiviert'; +$lang['pluginlistsaveerror'] = 'Fehler beim Speichern der Plugin-Liste'; +$lang['unknownauthor'] = 'Unbekannter Autor'; +$lang['unknownversion'] = 'Unbekannte Version'; +$lang['btn_info'] = 'Zeige mehr Infos'; +$lang['btn_update'] = 'Update'; +$lang['btn_uninstall'] = 'Deinstallation'; +$lang['btn_enable'] = 'Aktivieren'; +$lang['btn_disable'] = 'Deaktivieren'; +$lang['btn_install'] = 'Installation'; +$lang['btn_reinstall'] = 'Neuinstallation'; +$lang['js']['reallydel'] = 'Möchtest du diese Erweiterung wirklich deinstallieren'; +$lang['js']['display_viewoptions'] = 'Einstellungen anzeigen:'; +$lang['js']['display_enabled'] = 'aktiviert'; +$lang['js']['display_disabled'] = 'deaktiviert'; +$lang['js']['display_updatable'] = 'Update verfügbar'; +$lang['search_for'] = 'Suche Erweiterung:'; +$lang['search'] = 'Suche'; +$lang['extensionby'] = '<strong>%s</strong> von %s'; +$lang['screenshot'] = 'Screenshot von %s'; +$lang['popularity'] = 'Popularität: %s%%'; +$lang['homepage_link'] = 'Doku'; +$lang['bugs_features'] = 'Bugs'; +$lang['tags'] = 'Schlagworte:'; +$lang['author_hint'] = 'Suche Erweiterungen dieses Autors'; +$lang['installed'] = 'Installiert:'; +$lang['downloadurl'] = 'URL zum Herunterladen:'; +$lang['repository'] = 'Quelle:'; +$lang['unknown'] = '<em>unbekannt</em>'; +$lang['installed_version'] = 'Installierte Version:'; +$lang['install_date'] = 'Dein letztes Update:'; +$lang['available_version'] = 'Verfügbare Version:'; +$lang['compatible'] = 'Kompatibel mit:'; +$lang['depends'] = 'Abhängig von:'; +$lang['similar'] = 'Ähnlich wie:'; +$lang['conflicts'] = 'Nicht kompatibel mit:'; +$lang['donate'] = 'Nützlich?'; +$lang['donate_action'] = 'Spendiere dem Autor einen Kaffee!'; +$lang['repo_retry'] = 'Wiederholen'; +$lang['provides'] = 'Enthält:'; +$lang['status'] = 'Status'; +$lang['status_installed'] = 'installiert'; +$lang['status_not_installed'] = 'nicht installiert'; +$lang['status_protected'] = 'geschützt'; +$lang['status_enabled'] = 'aktiviert'; +$lang['status_disabled'] = 'deaktiviert'; +$lang['status_unmodifiable'] = 'unveränderlich'; +$lang['status_plugin'] = 'Plugin'; +$lang['status_template'] = 'Template'; +$lang['status_bundled'] = 'gebündelt'; +$lang['msg_enabled'] = 'Plugin %s ist aktiviert'; +$lang['msg_disabled'] = 'Erweiterung %s ist deaktiviert'; +$lang['msg_delete_success'] = 'Erweiterung %s wurde entfernt'; +$lang['msg_delete_failed'] = 'Deinstallation der Erweiterung %s fehlgeschlagen'; +$lang['msg_template_install_success'] = 'Das Template %s wurde erfolgreich installiert'; +$lang['msg_template_update_success'] = 'Das Update des Templates %s war erfolgreich '; +$lang['msg_plugin_install_success'] = 'Das Plugin %s wurde erfolgreich installiert'; +$lang['msg_plugin_update_success'] = 'Das Update des Plugins %s war erfolgreich'; +$lang['msg_upload_failed'] = 'Fehler beim Hochladen der Datei'; +$lang['missing_dependency'] = '<strong>Fehlende oder deaktivierte Abhängigkeit:<strong>%s'; +$lang['security_issue'] = '<strong>Sicherheitsproblem:</strong> %s'; +$lang['security_warning'] = '<strong>Sicherheitswarnung:</strong> %s'; +$lang['update_available'] = '<strong>Update:</strong> Version %s steht zum Download bereit.'; +$lang['wrong_folder'] = '<strong>Plugin wurde nicht korrekt installiert:</strong> Benenne das Plugin-Verzeichnis "%s" in "%s" um.'; +$lang['url_change'] = '<strong>URL geändert:</strong> Die Download URL wurde seit dem letzten Download geändert. Internetadresse vor Aktualisierung der Erweiterung auf Gültigkeit prüfen.<br />Neu: %s<br />Alt: %s'; +$lang['error_badurl'] = 'URLs sollten mit http oder https beginnen'; +$lang['error_dircreate'] = 'Temporärer Ordner konnte nicht erstellt werden um Download zu abzuspeichern'; +$lang['error_download'] = 'Download der Datei: %s nicht möglich.'; +$lang['error_decompress'] = 'Die heruntergeladene Datei konnte nicht entpackt werden. Dies kann die Folge eines fehlerhaften Downloads sein. In diesem Fall solltest du versuchen den Vorgang zu wiederholen. Es kann auch die Folge eines unbekannten Kompressionsformates sein, in diesem Fall musst du die Datei selber herunterladen und manuell installieren.'; +$lang['error_findfolder'] = 'Das Erweiterungs-Verzeichnis konnte nicht identifiziert werden, lade die Datei herunter und installiere sie manuell.'; +$lang['error_copy'] = 'Beim Versuch Dateien in den Ordner <em>%s</em>: zu installieren trat ein Kopierfehler auf. Die Dateizugriffsberechtigungen könnten falsch sein. Dies kann an einem unvollständig installierten Plugin liegen und beeinträchtigt somit die Stabilität deiner Wiki-Installation.'; +$lang['noperms'] = 'Das Erweiterungs-Verzeichnis ist schreibgeschützt'; +$lang['notplperms'] = 'Das Template-Verzeichnis ist schreibgeschützt'; +$lang['nopluginperms'] = 'Das Plugin-Verzeichnis ist schreibgeschützt'; +$lang['git'] = 'Diese Erweiterung wurde über git installiert und sollte daher nicht hier aktualisiert werden.'; +$lang['auth'] = 'Dieses Auth Plugin ist in der Konfiguration nicht aktiviert, Du solltest es deaktivieren.'; +$lang['install_url'] = 'Von URL installieren:'; +$lang['install_upload'] = 'Erweiterung hochladen:'; +$lang['repo_error'] = 'Es konnte keine Verbindung zum Plugin-Verzeichnis hergestellt werden. Stelle sicher dass der Server Verbindung mit www.dokuwiki.org aufnehmen darf und überprüfe deine Proxy-Einstellungen.'; +$lang['nossl'] = 'Deine PHP-Installation scheint SSL nicht zu unterstützen. Das Herunterladen vieler DokuWiki Erweiterungen wird scheitern.'; diff --git a/wiki/lib/plugins/extension/lang/de/intro_install.txt b/wiki/lib/plugins/extension/lang/de/intro_install.txt new file mode 100644 index 0000000..4ecebe9 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/de/intro_install.txt @@ -0,0 +1 @@ +Hier können Sie Plugins und Templates von Hand installieren indem Sie sie hochladen oder eine Download-URL angeben. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/de/intro_plugins.txt b/wiki/lib/plugins/extension/lang/de/intro_plugins.txt new file mode 100644 index 0000000..1a15210 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/de/intro_plugins.txt @@ -0,0 +1 @@ +Dies sind die Plugins, die bereits installiert sind. Sie können sie hier an- oder abschalten oder sie komplett deinstallieren. Außerdem werden hier Updates zu den installiereten Plugins angezeigt. Bitte lesen Sie vor einem Update die zugehörige Dokumentation. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/de/intro_search.txt b/wiki/lib/plugins/extension/lang/de/intro_search.txt new file mode 100644 index 0000000..366925b --- /dev/null +++ b/wiki/lib/plugins/extension/lang/de/intro_search.txt @@ -0,0 +1 @@ +Dieser Tab gibt Ihnen Zugriff auf alle vorhandenen Plugins und Templates für DokuWiki. Bitte bedenken Sie, dass jede installierte Erweiterung ein Sicherheitsrisiko darstellen kann. Sie sollten vor einer Installation die [[doku>security#plugin_security|Plugin Security]] Informationen lesen. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/de/intro_templates.txt b/wiki/lib/plugins/extension/lang/de/intro_templates.txt new file mode 100644 index 0000000..d71ce62 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/de/intro_templates.txt @@ -0,0 +1 @@ +Dies sind die in Ihrem Dokuwiki installierten Templates. Sie können das gewünschte Template im [[?do=admin&page=config|Konfigurations Manager]] aktivieren. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/de/lang.php b/wiki/lib/plugins/extension/lang/de/lang.php new file mode 100644 index 0000000..68ce0ad --- /dev/null +++ b/wiki/lib/plugins/extension/lang/de/lang.php @@ -0,0 +1,102 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author H. Richard <wanderer379@t-online.de> + * @author Joerg <scooter22@gmx.de> + * @author Simon <st103267@stud.uni-stuttgart.de> + * @author Hoisl <hoisl@gmx.at> + * @author Dominik Mahr <drache.mahr@gmx.de> + * @author Noel Tilliot <noeltilliot@byom.de> + * @author Philip Knack <p.knack@stollfuss.de> + * @author Hella Breitkopf <hella.breitkopf@gmail.com> + */ +$lang['menu'] = 'Erweiterungen verwalten'; +$lang['tab_plugins'] = 'Installierte Plugins'; +$lang['tab_templates'] = 'Installierte Templates'; +$lang['tab_search'] = 'Suchen und Installieren'; +$lang['tab_install'] = 'Manuell installieren'; +$lang['notimplemented'] = 'Dieses Fähigkeit/Eigenschaft wurde noch nicht implementiert'; +$lang['notinstalled'] = 'Diese Erweiterung ist nicht installiert'; +$lang['alreadyenabled'] = 'Diese Erweiterung ist bereits aktiviert'; +$lang['alreadydisabled'] = 'Diese Erweiterung ist bereits deaktiviert'; +$lang['pluginlistsaveerror'] = 'Es gab einen Fehler beim Speichern der Plugin-Liste'; +$lang['unknownauthor'] = 'Unbekannter Autor'; +$lang['unknownversion'] = 'Unbekannte Version'; +$lang['btn_info'] = 'Zeige weitere Info'; +$lang['btn_update'] = 'Update'; +$lang['btn_uninstall'] = 'Deinstallation'; +$lang['btn_enable'] = 'Aktivieren'; +$lang['btn_disable'] = 'Deaktivieren'; +$lang['btn_install'] = 'Installieren'; +$lang['btn_reinstall'] = 'Neu installieren'; +$lang['js']['reallydel'] = 'Wollen Sie diese Erweiterung wirklich löschen?'; +$lang['js']['display_viewoptions'] = 'Optionen anzeigen'; +$lang['js']['display_enabled'] = 'aktiviert'; +$lang['js']['display_disabled'] = 'deaktiviert'; +$lang['js']['display_updatable'] = 'aktualisierbar'; +$lang['search_for'] = 'Erweiterung suchen:'; +$lang['search'] = 'Suchen'; +$lang['extensionby'] = '<strong>%s</strong> von %s'; +$lang['screenshot'] = 'Bildschirmfoto von %s'; +$lang['popularity'] = 'Popularität: %s%%'; +$lang['homepage_link'] = 'Doku'; +$lang['bugs_features'] = 'Bugs'; +$lang['tags'] = 'Schlagworte'; +$lang['author_hint'] = 'Suche weitere Erweiterungen dieses Autors'; +$lang['installed'] = 'Installiert:'; +$lang['downloadurl'] = 'URL zum Herunterladen:'; +$lang['repository'] = 'Quelle:'; +$lang['unknown'] = '<em>unbekannt</em>'; +$lang['installed_version'] = 'Installierte Version:'; +$lang['install_date'] = 'Ihr letztes Update:'; +$lang['available_version'] = 'Verfügbare Version: '; +$lang['compatible'] = 'Kompatibel mit:'; +$lang['depends'] = 'Benötigt:'; +$lang['similar'] = 'Ist ähnlich zu:'; +$lang['conflicts'] = 'Nicht kompatibel mit:'; +$lang['donate'] = 'Nützlich?'; +$lang['donate_action'] = 'Spendieren Sie dem Autor einen Kaffee!'; +$lang['repo_retry'] = 'Neu versuchen'; +$lang['provides'] = 'Enthält'; +$lang['status'] = 'Status'; +$lang['status_installed'] = 'installiert'; +$lang['status_not_installed'] = 'nicht installiert'; +$lang['status_protected'] = 'geschützt'; +$lang['status_enabled'] = 'aktiviert'; +$lang['status_disabled'] = 'deaktiviert'; +$lang['status_unmodifiable'] = 'unveränderlich'; +$lang['status_plugin'] = 'Plugin'; +$lang['status_template'] = 'Template'; +$lang['status_bundled'] = 'gebündelt'; +$lang['msg_enabled'] = 'Plugin %s ist aktiviert'; +$lang['msg_disabled'] = 'Erweiterung %s ist deaktiviert'; +$lang['msg_delete_success'] = 'Erweiterung %s wurde entfernt'; +$lang['msg_delete_failed'] = 'Deinstallation der Erweiterung %s fehlgeschlagen'; +$lang['msg_template_install_success'] = 'Das Template %s wurde erfolgreich installiert'; +$lang['msg_template_update_success'] = 'Das Update des Templates %s war erfolgreich '; +$lang['msg_plugin_install_success'] = 'Das Plugin %s wurde erfolgreich installiert'; +$lang['msg_plugin_update_success'] = 'Das Update des Plugins %s war erfolgreich'; +$lang['msg_upload_failed'] = 'Fehler beim Hochladen der Datei'; +$lang['missing_dependency'] = '<strong>fehlende oder deaktivierte Abhängigkeit:<strong>%s'; +$lang['security_issue'] = '<strong>Sicherheitsproblem:</strong> %s'; +$lang['security_warning'] = '<strong>Sicherheitswarnung:</strong> %s'; +$lang['update_available'] = '<strong>Update:</strong> Version %s steht zum Download bereit.'; +$lang['wrong_folder'] = '<strong>Plugin wurde nicht korrekt installiert:</strong> Benennen Sie das Plugin-Verzeichnis "%s" in "%s" um.'; +$lang['url_change'] = '<strong>URL geändert:</strong> Die Download URL wurde seit dem letzten Download geändert. Internetadresse vor Aktualisierung der Erweiterung auf Gültigkeit prüfen.<br />Neu: %s<br />Alt: %s'; +$lang['error_badurl'] = 'URLs sollten mit http oder https beginnen'; +$lang['error_dircreate'] = 'Temporärer Ordner konnte nicht erstellt werden, um Download zu abzuspeichern'; +$lang['error_download'] = 'Download der Datei: %s nicht möglich.'; +$lang['error_decompress'] = 'Die heruntergeladene Datei konnte nicht entpackt werden. Dies kann die Folge eines fehlerhaften Downloads sein. In diesem Fall sollten Sie versuchen den Vorgang zu wiederholen. Es kann auch die Folge eines unbekannten Kompressionsformates sein, in diesem Fall müssen Sie die Datei selber herunterladen und manuell installieren.'; +$lang['error_findfolder'] = 'Das Erweiterungs-Verzeichnis konnte nicht identifiziert werden, laden und installieren Sie die Datei manuell.'; +$lang['error_copy'] = 'Beim Versuch Dateien in den Ordner <em>%s</em>: zu installieren trat ein Kopierfehler auf. Die Dateizugriffsberechtigungen könnten falsch sein. Dies kann an einem unvollständig installierten Plugin liegen und beeinträchtigt somit die Stabilität Ihre Wiki-Installation.'; +$lang['noperms'] = 'Das Erweiterungs-Verzeichnis ist schreibgeschützt'; +$lang['notplperms'] = 'Das Template-Verzeichnis ist schreibgeschützt'; +$lang['nopluginperms'] = 'Das Plugin-Verzeichnis ist schreibgeschützt'; +$lang['git'] = 'Diese Erweiterung wurde über git installiert und sollte daher nicht hier aktualisiert werden.'; +$lang['auth'] = 'Dieses Auth Plugin ist in der Konfiguration nicht aktiviert, Sie sollten es deaktivieren.'; +$lang['install_url'] = 'Von Webadresse (URL) installieren'; +$lang['install_upload'] = 'Erweiterung hochladen:'; +$lang['repo_error'] = 'Es konnte keine Verbindung zum Plugin-Verzeichnis hergestellt werden. Stellen sie sicher das der Server Verbindung mit www.dokuwiki.org aufnehmen darf und überprüfen sie ihre Proxy Einstellungen.'; +$lang['nossl'] = 'Ihr PHP scheint SSL nicht zu unterstützen. Das Herunterladen vieler DokuWiki Erweiterungen wird scheitern.'; diff --git a/wiki/lib/plugins/extension/lang/en/intro_install.txt b/wiki/lib/plugins/extension/lang/en/intro_install.txt new file mode 100644 index 0000000..a5d5ab0 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/en/intro_install.txt @@ -0,0 +1 @@ +Here you can manually install plugins and templates by either uploading them or providing a direct download URL. diff --git a/wiki/lib/plugins/extension/lang/en/intro_plugins.txt b/wiki/lib/plugins/extension/lang/en/intro_plugins.txt new file mode 100644 index 0000000..4e42efe --- /dev/null +++ b/wiki/lib/plugins/extension/lang/en/intro_plugins.txt @@ -0,0 +1 @@ +These are the plugins currently installed in your DokuWiki. You can enable or disable or even completely uninstall them here. Plugin updates are shown here as well, be sure to read the plugin's documentation before updating. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/en/intro_search.txt b/wiki/lib/plugins/extension/lang/en/intro_search.txt new file mode 100644 index 0000000..244cd68 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/en/intro_search.txt @@ -0,0 +1 @@ +This tab gives you access to all available 3rd party plugins and templates for DokuWiki. Please be aware that installing 3rd party code may pose a **security risk**, you may want to read about [[doku>security#plugin_security|plugin security]] first. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/en/intro_templates.txt b/wiki/lib/plugins/extension/lang/en/intro_templates.txt new file mode 100644 index 0000000..012a749 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/en/intro_templates.txt @@ -0,0 +1 @@ +These are the templates currently installed in your DokuWiki. You can select the template to be used in the [[?do=admin&page=config|Configuration Manager]]. diff --git a/wiki/lib/plugins/extension/lang/en/lang.php b/wiki/lib/plugins/extension/lang/en/lang.php new file mode 100644 index 0000000..79f6436 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/en/lang.php @@ -0,0 +1,109 @@ +<?php +/** + * English language file for extension plugin + * + * @author Michael Hamann <michael@content-space.de> + * @author Christopher Smith <chris@jalakai.co.uk> + */ + +$lang['menu'] = 'Extension Manager'; + +$lang['tab_plugins'] = 'Installed Plugins'; +$lang['tab_templates'] = 'Installed Templates'; +$lang['tab_search'] = 'Search and Install'; +$lang['tab_install'] = 'Manual Install'; + +$lang['notimplemented'] = 'This feature hasn\'t been implemented yet'; +$lang['notinstalled'] = 'This extension is not installed'; +$lang['alreadyenabled'] = 'This extension has already been enabled'; +$lang['alreadydisabled'] = 'This extension has already been disabled'; +$lang['pluginlistsaveerror'] = 'There was an error saving the plugin list'; +$lang['unknownauthor'] = 'Unknown author'; +$lang['unknownversion'] = 'Unknown version'; + +$lang['btn_info'] = 'Show more info'; +$lang['btn_update'] = 'Update'; +$lang['btn_uninstall'] = 'Uninstall'; +$lang['btn_enable'] = 'Enable'; +$lang['btn_disable'] = 'Disable'; +$lang['btn_install'] = 'Install'; +$lang['btn_reinstall'] = 'Re-install'; + +$lang['js']['reallydel'] = 'Really uninstall this extension?'; + +$lang['search_for'] = 'Search Extension:'; +$lang['search'] = 'Search'; + +$lang['extensionby'] = '<strong>%s</strong> by %s'; +$lang['screenshot'] = 'Screenshot of %s'; +$lang['popularity'] = 'Popularity: %s%%'; +$lang['homepage_link'] = 'Docs'; +$lang['bugs_features'] = 'Bugs'; +$lang['tags'] = 'Tags:'; +$lang['author_hint'] = 'Search extensions by this author'; +$lang['installed'] = 'Installed:'; +$lang['downloadurl'] = 'Download URL:'; +$lang['repository'] = 'Repository:'; +$lang['unknown'] = '<em>unknown</em>'; +$lang['installed_version'] = 'Installed version:'; +$lang['install_date'] = 'Your last update:'; +$lang['available_version'] = 'Available version:'; +$lang['compatible'] = 'Compatible with:'; +$lang['depends'] = 'Depends on:'; +$lang['similar'] = 'Similar to:'; +$lang['conflicts'] = 'Conflicts with:'; +$lang['donate'] = 'Like this?'; +$lang['donate_action'] = 'Buy the author a coffee!'; +$lang['repo_retry'] = 'Retry'; +$lang['provides'] = 'Provides:'; +$lang['status'] = 'Status:'; +$lang['status_installed'] = 'installed'; +$lang['status_not_installed'] = 'not installed'; +$lang['status_protected'] = 'protected'; +$lang['status_enabled'] = 'enabled'; +$lang['status_disabled'] = 'disabled'; +$lang['status_unmodifiable'] = 'unmodifiable'; +$lang['status_plugin'] = 'plugin'; +$lang['status_template'] = 'template'; +$lang['status_bundled'] = 'bundled'; + +$lang['msg_enabled'] = 'Plugin %s enabled'; +$lang['msg_disabled'] = 'Plugin %s disabled'; +$lang['msg_delete_success'] = 'Extension %s uninstalled'; +$lang['msg_delete_failed'] = 'Uninstalling Extension %s failed'; +$lang['msg_template_install_success'] = 'Template %s installed successfully'; +$lang['msg_template_update_success'] = 'Template %s updated successfully'; +$lang['msg_plugin_install_success'] = 'Plugin %s installed successfully'; +$lang['msg_plugin_update_success'] = 'Plugin %s updated successfully'; +$lang['msg_upload_failed'] = 'Uploading the file failed'; + +$lang['missing_dependency'] = '<strong>Missing or disabled dependency:</strong> %s'; +$lang['security_issue'] = '<strong>Security Issue:</strong> %s'; +$lang['security_warning'] = '<strong>Security Warning:</strong> %s'; +$lang['update_available'] = '<strong>Update:</strong> New version %s is available.'; +$lang['wrong_folder'] = '<strong>Plugin installed incorrectly:</strong> Rename plugin directory "%s" to "%s".'; +$lang['url_change'] = '<strong>URL changed:</strong> Download URL has changed since last download. Check if the new URL is valid before updating the extension.<br />New: %s<br />Old: %s'; + +$lang['error_badurl'] = 'URLs should start with http or https'; +$lang['error_dircreate'] = 'Unable to create temporary folder to receive download'; +$lang['error_download'] = 'Unable to download the file: %s'; +$lang['error_decompress'] = 'Unable to decompress the downloaded file. This maybe as a result of a bad download, in which case you should try again; or the compression format may be unknown, in which case you will need to download and install manually.'; +$lang['error_findfolder'] = 'Unable to identify extension directory, you need to download and install manually'; +$lang['error_copy'] = 'There was a file copy error while attempting to install files for directory <em>%s</em>: the disk could be full or file access permissions may be incorrect. This may have resulted in a partially installed plugin and leave your wiki installation unstable'; + +$lang['noperms'] = 'Extension directory is not writable'; +$lang['notplperms'] = 'Template directory is not writable'; +$lang['nopluginperms'] = 'Plugin directory is not writable'; +$lang['git'] = 'This extension was installed via git, you may not want to update it here.'; +$lang['auth'] = 'This auth plugin is not enabled in configuration, consider disabling it.'; + +$lang['install_url'] = 'Install from URL:'; +$lang['install_upload'] = 'Upload Extension:'; + +$lang['repo_error'] = 'The plugin repository could not be contacted. Make sure your server is allowed to contact www.dokuwiki.org and check your proxy settings.'; +$lang['nossl'] = 'Your PHP seems to miss SSL support. Downloading will not work for many DokuWiki extensions.'; + +$lang['js']['display_viewoptions'] = 'View Options:'; +$lang['js']['display_enabled'] = 'enabled'; +$lang['js']['display_disabled'] = 'disabled'; +$lang['js']['display_updatable'] = 'updatable'; diff --git a/wiki/lib/plugins/extension/lang/eo/intro_install.txt b/wiki/lib/plugins/extension/lang/eo/intro_install.txt new file mode 100644 index 0000000..d9c63da --- /dev/null +++ b/wiki/lib/plugins/extension/lang/eo/intro_install.txt @@ -0,0 +1 @@ +Tie vi povas permane instali kromaĵojn kaj ŝablonojn tra alŝuto aŭ indiko de URL por rekta elŝuto. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/eo/intro_plugins.txt b/wiki/lib/plugins/extension/lang/eo/intro_plugins.txt new file mode 100644 index 0000000..cc7ae66 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/eo/intro_plugins.txt @@ -0,0 +1 @@ +Jenaj kromaĵoj momente estas instalitaj en via DokuWiki. Vi povas ebligi, malebligi aŭ eĉ tute malinstali ilin tie. Ankaŭ montriĝos aktualigoj de kromaĵoj -- certiĝu, ke vi legis la dokumentadon de la kromaĵo antaŭ aktualigo. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/eo/intro_search.txt b/wiki/lib/plugins/extension/lang/eo/intro_search.txt new file mode 100644 index 0000000..5d19494 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/eo/intro_search.txt @@ -0,0 +1 @@ +Tiu tabelo donas aliron al ĉiuj haveblaj eksteraj kromaĵoj kaj ŝablonoj por DokuWiki. Bonvolu konscii, ke instali eksteran kodaĵon povas enkonduki **sekurecriskon**, prefere legu antaŭe pri [[doku>security#plugin_security|sekureco de kromaĵo]]. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/eo/intro_templates.txt b/wiki/lib/plugins/extension/lang/eo/intro_templates.txt new file mode 100644 index 0000000..6dc0ef6 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/eo/intro_templates.txt @@ -0,0 +1 @@ +Jenaj ŝablonoj momente instaliĝis en via DokuWiki. Elektu la ŝablonon por uzi en la [[?do=admin&page=config|Opcia administrilo]]. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/eo/lang.php b/wiki/lib/plugins/extension/lang/eo/lang.php new file mode 100644 index 0000000..bcac85d --- /dev/null +++ b/wiki/lib/plugins/extension/lang/eo/lang.php @@ -0,0 +1,89 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Kristjan SCHMIDT <kristjan.schmidt@googlemail.com> + * @author Robert Bogenschneider <bogi@uea.org> + */ +$lang['menu'] = 'Aldonaĵa administrado'; +$lang['tab_plugins'] = 'Instalitaj kromaĵoj'; +$lang['tab_templates'] = 'Instalitaj ŝablonoj'; +$lang['tab_search'] = 'Serĉi kaj instali'; +$lang['tab_install'] = 'Permana instalado'; +$lang['notimplemented'] = 'Tiu funkcio ankoraŭ ne realiĝis'; +$lang['notinstalled'] = 'Tiu aldonaĵo ne estas instalita'; +$lang['alreadyenabled'] = 'Tiu aldonaĵo jam ebliĝis'; +$lang['alreadydisabled'] = 'Tiu aldonaĵo jam malebliĝis'; +$lang['pluginlistsaveerror'] = 'Okazis eraro dum la kromaĵlisto konserviĝis'; +$lang['unknownauthor'] = 'Nekonata aŭtoro'; +$lang['unknownversion'] = 'Nekonata versio'; +$lang['btn_info'] = 'Montri pliajn informojn'; +$lang['btn_update'] = 'Aktualigi'; +$lang['btn_uninstall'] = 'Malinstali'; +$lang['btn_enable'] = 'Ebligi'; +$lang['btn_disable'] = 'Malebligi'; +$lang['btn_install'] = 'Instali'; +$lang['btn_reinstall'] = 'Re-instali'; +$lang['js']['reallydel'] = 'Ĉu vere malinstali la aldonaĵon?'; +$lang['js']['display_updatable'] = 'ĝisdatigebla'; +$lang['search_for'] = 'Serĉi la aldonaĵon:'; +$lang['search'] = 'Serĉi'; +$lang['extensionby'] = '<strong>%s</strong> fare de %s'; +$lang['screenshot'] = 'Ekrankopio de %s'; +$lang['popularity'] = 'Populareco: %s%%'; +$lang['homepage_link'] = 'Dokumentoj'; +$lang['bugs_features'] = 'Cimoj'; +$lang['tags'] = 'Etikedoj:'; +$lang['author_hint'] = 'Serĉi aldonaĵojn laŭ tiu aŭtoro:'; +$lang['installed'] = 'Instalitaj:'; +$lang['downloadurl'] = 'URL por elŝuti:'; +$lang['repository'] = 'Kodbranĉo:'; +$lang['unknown'] = '<em>nekonata</em>'; +$lang['installed_version'] = 'Instalita versio:'; +$lang['install_date'] = 'Via lasta aktualigo:'; +$lang['available_version'] = 'Havebla versio:'; +$lang['compatible'] = 'Kompatibla kun:'; +$lang['depends'] = 'Dependas de:'; +$lang['similar'] = 'Simila al:'; +$lang['conflicts'] = 'Konfliktas kun:'; +$lang['donate'] = 'Ĉu vi ŝatas tion?'; +$lang['donate_action'] = 'Aĉetu kafon al la aŭtoro!'; +$lang['repo_retry'] = 'Reprovi'; +$lang['provides'] = 'Provizas per:'; +$lang['status'] = 'Statuso:'; +$lang['status_installed'] = 'instalita'; +$lang['status_not_installed'] = 'ne instalita'; +$lang['status_protected'] = 'protektita'; +$lang['status_enabled'] = 'ebligita'; +$lang['status_disabled'] = 'malebligita'; +$lang['status_unmodifiable'] = 'neŝanĝebla'; +$lang['status_plugin'] = 'kromaĵo'; +$lang['status_template'] = 'ŝablono'; +$lang['status_bundled'] = 'kunliverita'; +$lang['msg_enabled'] = 'Kromaĵo %s ebligita'; +$lang['msg_disabled'] = 'Kromaĵo %s malebligita'; +$lang['msg_delete_success'] = 'Aldonaĵo %s malinstaliĝis'; +$lang['msg_template_install_success'] = 'Ŝablono %s sukcese instaliĝis'; +$lang['msg_template_update_success'] = 'Ŝablono %s sukcese aktualiĝis'; +$lang['msg_plugin_install_success'] = 'Kromaĵo %s sukcese instaliĝis'; +$lang['msg_plugin_update_success'] = 'Kromaĵo %s sukcese aktualiĝis'; +$lang['msg_upload_failed'] = 'Ne eblis alŝuti la dosieron'; +$lang['missing_dependency'] = '<strong>Mankanta aŭ malebligita dependeco:</strong> %s'; +$lang['security_issue'] = '<strong>Sekureca problemo:</strong> %s'; +$lang['security_warning'] = '<strong>Sekureca averto:</strong> %s'; +$lang['update_available'] = '<strong>Aktualigo:</strong> Nova versio %s haveblas.'; +$lang['wrong_folder'] = '<strong>Kromaĵo instalita malĝuste:</strong> Renomu la kromaĵdosierujon "%s" al "%s".'; +$lang['url_change'] = '<strong>URL ŝanĝita:</strong> La elŝuta URL ŝanĝiĝis ekde la lasta elŝuto. Kontrolu, ĉu la nova URL validas antaŭ aktualigi aldonaĵon.<br />Nova: %s<br />Malnova: %s'; +$lang['error_badurl'] = 'URLoj komenciĝu per http aŭ https'; +$lang['error_dircreate'] = 'Ne eblis krei portempan dosierujon por akcepti la elŝuton'; +$lang['error_download'] = 'Ne eblis elŝuti la dosieron: %s'; +$lang['error_decompress'] = 'Ne eblis malpaki la elŝutitan dosieron. Kialo povus esti fuŝa elŝuto, kaj vi reprovu; aŭ la pakiga formato estas nekonata, kaj vi devas elŝuti kaj instali permane.'; +$lang['error_findfolder'] = 'Ne eblis rekoni la aldonaĵ-dosierujon, vi devas elŝuti kaj instali permane'; +$lang['error_copy'] = 'Okazis kopiad-eraro dum la provo instali dosierojn por la dosierujo <em>%s</em>: la disko povus esti plena aŭ la alirpermesoj por dosieroj malĝustaj. Rezulto eble estas nur parte instalita kromaĵo, kiu malstabiligas vian vikion'; +$lang['noperms'] = 'La aldonaĵ-dosierujo ne estas skribebla'; +$lang['notplperms'] = 'La ŝablon-dosierujo ne estas skribebla'; +$lang['nopluginperms'] = 'La kromaĵ-dosierujo ne estas skribebla'; +$lang['git'] = 'Tiu aldonaĵo estis instalita pere de git, eble vi ne aktualigu ĝin ĉi tie.'; +$lang['install_url'] = 'Instali de URL:'; +$lang['install_upload'] = 'Alŝuti aldonaĵon:'; diff --git a/wiki/lib/plugins/extension/lang/es/intro_install.txt b/wiki/lib/plugins/extension/lang/es/intro_install.txt new file mode 100644 index 0000000..533396b --- /dev/null +++ b/wiki/lib/plugins/extension/lang/es/intro_install.txt @@ -0,0 +1 @@ +Aquí se puede instalar manualmente los plugins y las plantillas, ya sea cargándolos o dando una URL de descarga directa. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/es/intro_plugins.txt b/wiki/lib/plugins/extension/lang/es/intro_plugins.txt new file mode 100644 index 0000000..4805021 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/es/intro_plugins.txt @@ -0,0 +1 @@ +Estos son los plugins actualmente instalados en su DokuWiki. Puede activar, desactivar o incluso desinstalar completamente desde aquí. Actualizaciones de los Plugin se muestran también aquí, asegúrese de leer la documentación del plugin antes de actualizar. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/es/intro_search.txt b/wiki/lib/plugins/extension/lang/es/intro_search.txt new file mode 100644 index 0000000..f59bb33 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/es/intro_search.txt @@ -0,0 +1 @@ +Esta pestaña te da acceso a todos los plugins de 3as partes disponibles y plantillas para DokuWiki. Tenga en cuenta que la instalación de código de terceras partes puede plantear un **riesgo de seguridad**, es posible que desee leer primero sobre [[doku>security#plugin_security|plugin security]]. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/es/intro_templates.txt b/wiki/lib/plugins/extension/lang/es/intro_templates.txt new file mode 100644 index 0000000..4ede9a1 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/es/intro_templates.txt @@ -0,0 +1 @@ +Estas son las plantillas actualmente instalados en su DokuWiki. Puede seleccionar la plantilla que se utilizará en [[?do=admin&page=config|Configuration Manager]] \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/es/lang.php b/wiki/lib/plugins/extension/lang/es/lang.php new file mode 100644 index 0000000..b7adf8f --- /dev/null +++ b/wiki/lib/plugins/extension/lang/es/lang.php @@ -0,0 +1,100 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Antonio Bueno <atnbueno@gmail.com> + * @author Antonio Castilla <antoniocastilla@trazoide.com> + * @author Jonathan Hernández <me@jhalicea.com> + * @author Álvaro Iradier <airadier@gmail.com> + * @author Mauricio Segura <maose38@yahoo.es> + * @author Domingo Redal <docxml@gmail.com> + */ +$lang['menu'] = 'Administrador de Extensiones '; +$lang['tab_plugins'] = 'Plugins instalados'; +$lang['tab_templates'] = 'Plantillas instaladas'; +$lang['tab_search'] = 'Buscar e instalar'; +$lang['tab_install'] = 'Instalación manual'; +$lang['notimplemented'] = 'Esta característica no se ha implementado aún'; +$lang['notinstalled'] = 'Esta expensión no está instalada'; +$lang['alreadyenabled'] = 'Esta extensión ya había sido activada'; +$lang['alreadydisabled'] = 'Esta extensión ya había sido desactivada'; +$lang['pluginlistsaveerror'] = 'Se ha producido un error al guardar la lista de plugins'; +$lang['unknownauthor'] = 'autor desconocido'; +$lang['unknownversion'] = 'versión desconocida'; +$lang['btn_info'] = 'Mostrar más información'; +$lang['btn_update'] = 'Actualizar'; +$lang['btn_uninstall'] = 'Desinstalar'; +$lang['btn_enable'] = 'Activar'; +$lang['btn_disable'] = 'Desactivar'; +$lang['btn_install'] = 'Instalar'; +$lang['btn_reinstall'] = 'Reinstalar'; +$lang['js']['reallydel'] = '¿Realmente quiere desinstalar esta extensión?'; +$lang['js']['display_viewoptions'] = 'Ver opciones:'; +$lang['js']['display_enabled'] = 'habilitado'; +$lang['js']['display_disabled'] = 'deshabilitado'; +$lang['js']['display_updatable'] = 'actualizable'; +$lang['search_for'] = 'Extensión de búsqueda :'; +$lang['search'] = 'Buscar'; +$lang['extensionby'] = '<strong>%s</strong> por %s'; +$lang['screenshot'] = 'Captura de %s'; +$lang['popularity'] = 'Popularidad:%s%%'; +$lang['homepage_link'] = 'Documentos'; +$lang['bugs_features'] = 'Bugs'; +$lang['tags'] = 'Etiquetas:'; +$lang['author_hint'] = 'Buscar extensiones de este autor'; +$lang['installed'] = 'Instalado:'; +$lang['downloadurl'] = 'URL de descarga:'; +$lang['repository'] = 'Repositorio:'; +$lang['unknown'] = '<em>desconocido</em>'; +$lang['installed_version'] = 'Versión instalada:'; +$lang['install_date'] = 'Tú última actualización:'; +$lang['available_version'] = 'Versión disponible:'; +$lang['compatible'] = 'Compatible con:'; +$lang['depends'] = 'Dependencias:'; +$lang['similar'] = 'Similar a:'; +$lang['conflicts'] = 'Conflictos con:'; +$lang['donate'] = '¿Cómo está?'; +$lang['donate_action'] = '¡Págale un café al autor!'; +$lang['repo_retry'] = 'Trate otra vez'; +$lang['provides'] = 'Provee: '; +$lang['status'] = 'Estado:'; +$lang['status_installed'] = 'instalado'; +$lang['status_not_installed'] = 'no instalado'; +$lang['status_protected'] = 'protegido'; +$lang['status_enabled'] = 'activado'; +$lang['status_disabled'] = 'desactivado'; +$lang['status_unmodifiable'] = 'no modificable'; +$lang['status_plugin'] = 'plugin'; +$lang['status_template'] = 'plantilla'; +$lang['status_bundled'] = 'agrupado'; +$lang['msg_enabled'] = 'Plugin %s activado'; +$lang['msg_disabled'] = 'Plugin %s desactivado'; +$lang['msg_delete_success'] = 'Extensión %s desinstalada'; +$lang['msg_delete_failed'] = 'La desinstalación de la extensión %s ha fallado'; +$lang['msg_template_install_success'] = 'Plantilla %s instalada con éxito'; +$lang['msg_template_update_success'] = 'Plantilla %s actualizada con éxito'; +$lang['msg_plugin_install_success'] = 'Plugin %s instalado con éxito'; +$lang['msg_plugin_update_success'] = 'Plugin %s actualizado con éxito'; +$lang['msg_upload_failed'] = 'Falló la carga del archivo'; +$lang['missing_dependency'] = '<strong>Dependencia deshabilitada o perdida:</strong> %s'; +$lang['security_issue'] = '<strong>Problema de seguridad:</strong> %s'; +$lang['security_warning'] = '<strong>Aviso de seguridad:</strong> %s'; +$lang['update_available'] = '<strong>Actualizar:</strong> Nueva versión %s disponible.'; +$lang['wrong_folder'] = '<strong>"Plugin" instalado incorrectamente:</strong> Cambie el nombre del directorio del plugin "%s" a "%s".'; +$lang['url_change'] = '<strong>URL actualizada:</strong> El Download URL ha cambiado desde el último download. Verifica si el nuevo URL es valido antes de actualizar la extensión .<br />Nuevo: %s<br />Viejo: %s'; +$lang['error_badurl'] = 'URLs deberían empezar con http o https'; +$lang['error_dircreate'] = 'No es posible de crear un directorio temporero para poder recibir el download'; +$lang['error_download'] = 'No es posible descargar el documento: %s'; +$lang['error_decompress'] = 'No se pudo descomprimir el fichero descargado. Puede ser a causa de una descarga incorrecta, en cuyo caso puedes intentarlo de nuevo; o puede que el formato de compresión sea desconocido, en cuyo caso necesitarás descargar e instalar manualmente.'; +$lang['error_findfolder'] = 'No se ha podido identificar el directorio de la extensión, es necesario descargar e instalar manualmente'; +$lang['error_copy'] = 'Hubo un error durante la copia de archivos al intentar instalar los archivos del directorio <em>%s</em>: el disco puede estar lleno o los permisos de acceso a los archivos pueden ser incorrectos. Esto puede haber dado lugar a un plugin instalado parcialmente y dejar su instalación wiki inestable'; +$lang['noperms'] = 'El directorio de extensiones no tiene permiso de escritura.'; +$lang['notplperms'] = 'El directorio de plantillas no tiene permiso de escritura.'; +$lang['nopluginperms'] = 'No se puede escribir en el directorio de plugins'; +$lang['git'] = 'Esta extensión fue instalada a través de git, quizás usted no quiera actualizarla aquí mismo.'; +$lang['auth'] = 'Este plugin de autenticación no está habilitada en la configuración, considere la posibilidad de desactivarlo.'; +$lang['install_url'] = 'Instalar desde URL:'; +$lang['install_upload'] = 'Subir Extensión:'; +$lang['repo_error'] = 'El repositorio de plugins no puede ser contactado. Asegúrese que su servidor pueda contactar www.dokuwiki.org y verificar la configuración de su proxy.'; +$lang['nossl'] = 'Tu PHP parece no tener soporte SSL. Las descargas no funcionaran para muchas extensiones de DokuWiki.'; diff --git a/wiki/lib/plugins/extension/lang/fa/intro_install.txt b/wiki/lib/plugins/extension/lang/fa/intro_install.txt new file mode 100644 index 0000000..93c2b97 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/fa/intro_install.txt @@ -0,0 +1 @@ +در اینجا میتوانید افزونهها و قالبها را به صورت دستی از طریق آپلودشان یا با ارائهٔ لینک مستقیم دانلود نصب کنید. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/fa/intro_plugins.txt b/wiki/lib/plugins/extension/lang/fa/intro_plugins.txt new file mode 100644 index 0000000..7d7d331 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/fa/intro_plugins.txt @@ -0,0 +1 @@ +اینها افزونههایی است که اکنون روی داکو ویکی شما نصب میباشند. از اینجا میتوانید آنها را غیرفعال، فعال یا به طور کامل حذف نمایید. بهروزرسانی افزونهها نیز در اینجا نمایش داده میشود. پیش از بهروزرسانی مطمئن شوید که مستندات افزونه را مطالعه نمودهاید. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/fa/intro_search.txt b/wiki/lib/plugins/extension/lang/fa/intro_search.txt new file mode 100644 index 0000000..07fde76 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/fa/intro_search.txt @@ -0,0 +1 @@ +این شاخه به تمام افزونهها و قالبهای نسل سوم داکو ویکی دسترسی میدهد. لطفا دقت کنید که نصب کد نسل سوم یک **ریسک امنیتی** است برای همین بهتر است که ابتدا [[doku>security#plugin_security|امنیت افزونه]] را مطالعه نمایید. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/fa/intro_templates.txt b/wiki/lib/plugins/extension/lang/fa/intro_templates.txt new file mode 100644 index 0000000..1a127c0 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/fa/intro_templates.txt @@ -0,0 +1 @@ +اینها قالبهاییست که اکنون در داکو ویکی شما نصب میباشد. شما میتوانید قالبی که میخواهید استفاده شود را در [[?do=admin&page=config|تنظیمات پیکربندی]] انتخاب نمایید. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/fa/lang.php b/wiki/lib/plugins/extension/lang/fa/lang.php new file mode 100644 index 0000000..63345fd --- /dev/null +++ b/wiki/lib/plugins/extension/lang/fa/lang.php @@ -0,0 +1,97 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Mohamad Mehdi Habibi <habibi.esf@gmail.com> + * @author Masoud Sadrnezhaad <masoud@sadrnezhaad.ir> + * @author Sam01 <m.sajad079@gmail.com> + */ +$lang['menu'] = 'مدیریت افزونه ها'; +$lang['tab_plugins'] = 'پلاگین های نصب شده'; +$lang['tab_templates'] = 'قالب های نصب شده'; +$lang['tab_search'] = 'جستجو و نصب'; +$lang['tab_install'] = 'نصب دستی'; +$lang['notimplemented'] = 'این قابلیت هنوز پیادهسازی نشده'; +$lang['notinstalled'] = 'این افزونه نصب نشده است'; +$lang['alreadyenabled'] = 'این افزونه فعال شده است'; +$lang['alreadydisabled'] = 'این افزونه غیرفعال شده است'; +$lang['pluginlistsaveerror'] = 'یک خطا هنگام ذخیرهسازی این افزونه رخ داده'; +$lang['unknownauthor'] = 'نویسنده نامشخص'; +$lang['unknownversion'] = 'نسخه ناشناخته'; +$lang['btn_info'] = 'نمایش اطلاعات بیشتر'; +$lang['btn_update'] = 'به روز رسانی'; +$lang['btn_uninstall'] = 'حذف'; +$lang['btn_enable'] = 'فعال'; +$lang['btn_disable'] = 'غیرفعال'; +$lang['btn_install'] = 'نصب'; +$lang['btn_reinstall'] = 'نصب مجدد'; +$lang['js']['reallydel'] = 'واقعا میخواهید این افزونه را حذف کنید؟'; +$lang['js']['display_viewoptions'] = 'نمایش گزینهها:'; +$lang['js']['display_enabled'] = 'فعال'; +$lang['js']['display_disabled'] = 'غیرفعال'; +$lang['js']['display_updatable'] = 'قابل بهروزرسانی'; +$lang['search_for'] = 'جستجوی افزونه:'; +$lang['search'] = 'جستجو'; +$lang['extensionby'] = '<strong>%s</strong> به وسیلهٔ %s'; +$lang['screenshot'] = 'اسکرین شات %s'; +$lang['popularity'] = 'محبوبیت: %s%%'; +$lang['homepage_link'] = 'مستندات'; +$lang['bugs_features'] = 'اشکالات'; +$lang['tags'] = 'برچسب ها:'; +$lang['author_hint'] = 'جستجوی افزونههای این نویسنده'; +$lang['installed'] = 'نصب شده:'; +$lang['downloadurl'] = 'لینک دانلود:'; +$lang['repository'] = 'مخزن:'; +$lang['unknown'] = '<em>ناشناخته</em>'; +$lang['installed_version'] = 'نسخه نصب شده:'; +$lang['install_date'] = 'آخرین بهروزرسانی شما:'; +$lang['available_version'] = 'نسخه در دسترس:'; +$lang['compatible'] = 'سازگار با:'; +$lang['depends'] = 'وابسته به:'; +$lang['similar'] = 'شبیه به:'; +$lang['conflicts'] = 'تداخل دارد با:'; +$lang['donate'] = 'به این علاقهمندید؟'; +$lang['donate_action'] = 'برای نویسنده یک فنجان قهوه بخرید!'; +$lang['repo_retry'] = 'دوباره'; +$lang['provides'] = 'شامل میشود:'; +$lang['status'] = 'وضعیت'; +$lang['status_installed'] = 'نصب شده'; +$lang['status_not_installed'] = 'نصب نشده'; +$lang['status_protected'] = 'محافظت شده'; +$lang['status_enabled'] = 'فعال'; +$lang['status_disabled'] = 'غیرفعال'; +$lang['status_unmodifiable'] = 'غیرقابل تغییر'; +$lang['status_plugin'] = 'پلاگین'; +$lang['status_template'] = 'قالب'; +$lang['status_bundled'] = 'باندل شده'; +$lang['msg_enabled'] = 'افزونه %s فعال شده'; +$lang['msg_disabled'] = 'افزونه %s غیرفعال شده'; +$lang['msg_delete_success'] = 'افزونه %s حذف شده'; +$lang['msg_delete_failed'] = 'حذف افزونه %s ناموفق بود'; +$lang['msg_template_install_success'] = 'قالب %s با موفقیت نصب شد'; +$lang['msg_template_update_success'] = 'قالب %s با موفقیت بهروزرسانی شد'; +$lang['msg_plugin_install_success'] = 'افزونهٔ %s با موفقیت نصب شد'; +$lang['msg_plugin_update_success'] = 'افزونهٔ %s با موفقیت نصب شد'; +$lang['msg_upload_failed'] = 'بارگذاری فایل ناموفق بود'; +$lang['missing_dependency'] = '<strong>نیازمندی وجود ندارد یا غیرفعال است:</strong> %s'; +$lang['security_issue'] = '<strong>اشکال امنیتی:</strong> %s'; +$lang['security_warning'] = '<strong>اخطار امنیتی:</strong> %s'; +$lang['update_available'] = '<strong>بهروزرسانی</strong> نسخهٔ جدید %s موجود است.'; +$lang['wrong_folder'] = '<strong>افزونه اشتباه نصب شده:</strong> نام پوشهٔ افزونه را از "%s" به "%s" تغییر دهید.'; +$lang['url_change'] = '<strong>لینک تغییر کرد:</strong> لینک دانلود از آخرین دانلود تغییر کرد. پیش از بهروزرسانی افزونه، چک کنید که لینک جدید درست باشد.<br />جدید: %s<br />قدیمی: %s'; +$lang['error_badurl'] = 'لینکها باید با http یا https شروع شوند'; +$lang['error_dircreate'] = 'امکان ایجاد پوشهٔ موقت برای دریافت دانلود وجود ندارد'; +$lang['error_download'] = 'امکان دانلود فایل وجود ندارد: %s'; +$lang['error_decompress'] = 'امکان خارج کردن فایل دانلود شده از حالت فشرده وجود ندارد. این میتوانید در اثر دانلود ناقص باشد که در اینصورت باید دوباره تلاش کنید؛ یا اینکه فرمت فشردهسازی نامعلوم است که در اینصورت باید به صورت دستی دانلود و نصب نمایید.'; +$lang['error_findfolder'] = 'امکان تشخیص پوشهٔ افزونه وجود ندارد. باید به صورت دستی دانلود و نصب کنید.'; +$lang['error_copy'] = 'هنگام تلاش برای نصب فایلها برای پوشهٔ <em>%s</em> خطای کپی فایل وجود دارد: رسانه ذخیرهسازی میتواند پر باشد یا پرمیشنهای فایل نادرست است. این میتواند باعث نصب بخشی از افزونه شده باشد و ویکی را ناپایدار نماید.'; +$lang['noperms'] = 'پوشه افزونه ها قابل نوشتن نیست'; +$lang['notplperms'] = 'پوشه قالب ها قابل نوشتن نیست'; +$lang['nopluginperms'] = 'پوشه پلاگین ها قابل نوشتن نیست'; +$lang['git'] = 'این افزونه از طریق گیت نصب شده، شما نباید آن را از اینجا بهروزرسانی کنید.'; +$lang['auth'] = 'این افزونهٔ auth در بخش تنظیمات فعال نشده، غیرفعالش کنید.'; +$lang['install_url'] = 'نصب از آدرس:'; +$lang['install_upload'] = 'بارگذاری افزونه:'; +$lang['repo_error'] = 'امکان ارتباط با مخزن افزونهها وجود ندارد. مطمئن شوید که سرور شما اجازهٔ ارتباط با www.dokuwiki.org را دارد و تنظیمات پراکسی را چک کنید.'; +$lang['nossl'] = 'به نظر میآید که PHP شما از SSL پشتیبانی نمیکند. دانلود کردن برای بسیاری از افزونههای داکو ویکی کار نمیکند.'; diff --git a/wiki/lib/plugins/extension/lang/fi/lang.php b/wiki/lib/plugins/extension/lang/fi/lang.php new file mode 100644 index 0000000..a154f25 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/fi/lang.php @@ -0,0 +1,37 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Jussi Takala <jussi.takala@live.fi> + */ +$lang['tab_plugins'] = 'Asennetut liitännäiset'; +$lang['tab_search'] = 'Etsi ja asenna'; +$lang['tab_install'] = 'Manuaalinen asennus'; +$lang['notimplemented'] = 'Tätä ominaisuutta ei ole vielä toteutettu'; +$lang['notinstalled'] = 'Tätä laajennusta ei ole asennettu'; +$lang['alreadyenabled'] = 'Tämä laajennus on jo käytössä'; +$lang['alreadydisabled'] = 'Tämä laajennus on jo otettu pois käytöstä'; +$lang['pluginlistsaveerror'] = 'Tapahtui virhe tallentaessa liitännäislistaa'; +$lang['unknownauthor'] = 'Tuntematon tekijä'; +$lang['unknownversion'] = 'Tuntematon versio'; +$lang['btn_info'] = 'Näytä lisää tietoa'; +$lang['btn_update'] = 'Päivitä'; +$lang['btn_enable'] = 'Ota käyttöön'; +$lang['btn_disable'] = 'Poista käytöstä'; +$lang['btn_install'] = 'Asenna'; +$lang['btn_reinstall'] = 'Uudelleenasenna'; +$lang['js']['reallydel'] = 'Haluatko varmasti poistaa tämän laajennuksen?'; +$lang['search_for'] = 'Etsi laajennusta:'; +$lang['search'] = 'Etsi'; +$lang['downloadurl'] = 'Lataa URL-osoite'; +$lang['installed_version'] = 'Asennettu versio'; +$lang['install_date'] = 'Sinun viimeinen päivitys:'; +$lang['available_version'] = 'Saatavissa oleva versio:'; +$lang['status_installed'] = 'asennettu'; +$lang['status_protected'] = 'suojattu'; +$lang['status_enabled'] = 'otettu käyttöön'; +$lang['status_disabled'] = 'otettu pois käytöstä'; +$lang['status_plugin'] = 'liitännäinen'; +$lang['install_url'] = 'Asenna URL-osoitteesta:'; +$lang['install_upload'] = 'Ladattu laajennus:'; diff --git a/wiki/lib/plugins/extension/lang/fr/intro_install.txt b/wiki/lib/plugins/extension/lang/fr/intro_install.txt new file mode 100644 index 0000000..5d287b8 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/fr/intro_install.txt @@ -0,0 +1 @@ +Ici, vous pouvez installer des extensions, greffons et thèmes. Soit en les téléversant, soit en indiquant un URL de téléchargement. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/fr/intro_plugins.txt b/wiki/lib/plugins/extension/lang/fr/intro_plugins.txt new file mode 100644 index 0000000..a40b863 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/fr/intro_plugins.txt @@ -0,0 +1 @@ +Voilà la liste des extensions actuellement installées. À partir d'ici, vous pouvez les activer, les désactiver ou même les désinstaller complètement. Cette page affiche également les mises à jour. Assurez vous de lire la documentation avant de faire la mise à jour. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/fr/intro_search.txt b/wiki/lib/plugins/extension/lang/fr/intro_search.txt new file mode 100644 index 0000000..418e359 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/fr/intro_search.txt @@ -0,0 +1 @@ +Cet onglet vous donne accès à toutes les extensions de tierces parties. Restez conscients qu'installer du code de tierce partie peut poser un problème de **sécurité**. Vous voudrez peut-être au préalable lire l'article sur la [[doku>fr:security##securite_des_plugins|sécurité des plugins]]. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/fr/intro_templates.txt b/wiki/lib/plugins/extension/lang/fr/intro_templates.txt new file mode 100644 index 0000000..a0a1336 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/fr/intro_templates.txt @@ -0,0 +1 @@ +Voici la liste des thèmes actuellement installés. Le [[?do=admin&page=config|gestionnaire de configuration]] vous permet de choisir le thème à utiliser. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/fr/lang.php b/wiki/lib/plugins/extension/lang/fr/lang.php new file mode 100644 index 0000000..9a57851 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/fr/lang.php @@ -0,0 +1,99 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Damien Regad <dregad@mantisbt.org> + * @author Schplurtz le Déboulonné <schplurtz@laposte.net> + * @author Yves Grandvalet <Yves.Grandvalet@laposte.net> + * @author Carbain Frédéric <fcarbain@yahoo.fr> + * @author Nicolas Friedli <nicolas@theologique.ch> + */ +$lang['menu'] = 'Gestionnaire d\'extensions'; +$lang['tab_plugins'] = 'Greffons installés'; +$lang['tab_templates'] = 'Thèmes installés'; +$lang['tab_search'] = 'Rechercher et installer'; +$lang['tab_install'] = 'Installation manuelle'; +$lang['notimplemented'] = 'Cette fonctionnalité n\'est pas encore installée'; +$lang['notinstalled'] = 'Cette extension n\'est pas installée'; +$lang['alreadyenabled'] = 'Cette extension a déjà été installée'; +$lang['alreadydisabled'] = 'Cette extension a déjà été désactivée'; +$lang['pluginlistsaveerror'] = 'Une erreur s\'est produite lors de l\'enregistrement de la liste des greffons.'; +$lang['unknownauthor'] = 'Auteur inconnu'; +$lang['unknownversion'] = 'Version inconnue'; +$lang['btn_info'] = 'Montrer plus d\'informations'; +$lang['btn_update'] = 'Mettre à jour'; +$lang['btn_uninstall'] = 'Désinstaller'; +$lang['btn_enable'] = 'Activer'; +$lang['btn_disable'] = 'Désactiver'; +$lang['btn_install'] = 'Installer'; +$lang['btn_reinstall'] = 'Réinstaller'; +$lang['js']['reallydel'] = 'Vraiment désinstaller cette extension'; +$lang['js']['display_viewoptions'] = 'Voir les options:'; +$lang['js']['display_enabled'] = 'activé'; +$lang['js']['display_disabled'] = 'désactivé'; +$lang['js']['display_updatable'] = 'Mise à jour possible'; +$lang['search_for'] = 'Rechercher l\'extension :'; +$lang['search'] = 'Chercher'; +$lang['extensionby'] = '<strong>%s</strong> de %s'; +$lang['screenshot'] = 'Aperçu de %s'; +$lang['popularity'] = 'Popularité : %s%%'; +$lang['homepage_link'] = 'Documentation'; +$lang['bugs_features'] = 'Bogues'; +$lang['tags'] = 'Étiquettes :'; +$lang['author_hint'] = 'Chercher les extensions de cet auteur'; +$lang['installed'] = 'Installés :'; +$lang['downloadurl'] = 'URL de téléchargement :'; +$lang['repository'] = 'Dépôt : '; +$lang['unknown'] = '<em>inconnu</em>'; +$lang['installed_version'] = 'Version installée :'; +$lang['install_date'] = 'Votre dernière mise à jour :'; +$lang['available_version'] = 'Version disponible :'; +$lang['compatible'] = 'Compatible avec :'; +$lang['depends'] = 'Dépend de :'; +$lang['similar'] = 'Similaire à :'; +$lang['conflicts'] = 'En conflit avec :'; +$lang['donate'] = 'Vous aimez ?'; +$lang['donate_action'] = 'Payer un café à l\'auteur !'; +$lang['repo_retry'] = 'Réessayer'; +$lang['provides'] = 'Fournit :'; +$lang['status'] = 'État :'; +$lang['status_installed'] = 'installé'; +$lang['status_not_installed'] = 'non installé'; +$lang['status_protected'] = 'protégé'; +$lang['status_enabled'] = 'activé'; +$lang['status_disabled'] = 'désactivé'; +$lang['status_unmodifiable'] = 'non modifiable'; +$lang['status_plugin'] = 'greffon'; +$lang['status_template'] = 'thème'; +$lang['status_bundled'] = 'fourni'; +$lang['msg_enabled'] = 'Greffon %s activé'; +$lang['msg_disabled'] = 'Greffon %s désactivé'; +$lang['msg_delete_success'] = 'Extension %s désinstallée.'; +$lang['msg_delete_failed'] = 'Échec de la désinstallation de l\'extension %s'; +$lang['msg_template_install_success'] = 'Thème %s installé avec succès'; +$lang['msg_template_update_success'] = 'Thème %s mis à jour avec succès'; +$lang['msg_plugin_install_success'] = 'Greffon %s installé avec succès'; +$lang['msg_plugin_update_success'] = 'Greffon %s mis à jour avec succès'; +$lang['msg_upload_failed'] = 'Téléversement échoué'; +$lang['missing_dependency'] = '<strong>Dépendance absente ou désactivée :</strong> %s'; +$lang['security_issue'] = '<strong>Problème de sécurité :</strong> %s'; +$lang['security_warning'] = '<strong>Avertissement de sécurité :</strong> %s'; +$lang['update_available'] = '<strong>Mise à jour :</strong> la version %s est disponible.'; +$lang['wrong_folder'] = '<strong>Greffon installé incorrectement :</strong> renommer le dossier du greffon "%s" en "%s".'; +$lang['url_change'] = '<strong>URL modifié :</strong> L\'URL de téléchargement a changé depuis le dernier téléchargement. Vérifiez si l\'URL est valide avant de mettre à jour l\'extension.<br />Nouvel URL : %s<br />Ancien : %s'; +$lang['error_badurl'] = 'Les URL doivent commencer par http ou https'; +$lang['error_dircreate'] = 'Impossible de créer le dossier temporaire pour le téléchargement.'; +$lang['error_download'] = 'Impossible de télécharger le fichier : %s'; +$lang['error_decompress'] = 'Impossible de décompresser le fichier téléchargé. C\'est peut être le résultat d\'une erreur de téléchargement, auquel cas vous devriez réessayer. Le format de compression est peut-être inconnu. Dans ce cas il vous faudra procéder à une installation manuelle.'; +$lang['error_findfolder'] = 'Impossible d\'identifier le dossier de l\'extension. Vous devez procéder à une installation manuelle.'; +$lang['error_copy'] = 'Une erreur de copie de fichier s\'est produite lors de l\'installation des fichiers dans le dossier <em>%s</em>. Il se peut que le disque soit plein, ou que les permissions d\'accès aux fichiers soient incorrectes. Il est possible que le greffon soit partiellement installé et que cela laisse votre installation de DokuWiki instable.'; +$lang['noperms'] = 'Impossible d\'écrire dans le dossier des extensions.'; +$lang['notplperms'] = 'Impossible d\'écrire dans le dossier des thèmes.'; +$lang['nopluginperms'] = 'Impossible d\'écrire dans le dossier des greffons.'; +$lang['git'] = 'Cette extension a été installé via git, vous voudrez peut-être ne pas la mettre à jour ici.'; +$lang['auth'] = 'Votre configuration n\'utilise pas ce greffon d\'authentification. Vous devriez songer à le désactiver.'; +$lang['install_url'] = 'Installez depuis l\'URL :'; +$lang['install_upload'] = 'Téléversez l\'extension :'; +$lang['repo_error'] = 'Le dépôt d\'extensions est injoignable. Veuillez vous assurer que le server web est autorisé à contacter www.dokuwiki.org et vérifier les réglages de proxy.'; +$lang['nossl'] = 'Votre version de PHP semble ne pas prendre en charge SSL. Le téléchargement de nombreuses extensions va échouer.'; diff --git a/wiki/lib/plugins/extension/lang/he/lang.php b/wiki/lib/plugins/extension/lang/he/lang.php new file mode 100644 index 0000000..ecdc19c --- /dev/null +++ b/wiki/lib/plugins/extension/lang/he/lang.php @@ -0,0 +1,26 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Guy Yakobovitch <guy.yakobovitch@gmail.com> + */ +$lang['menu'] = 'מנהל הרחבות'; +$lang['tab_plugins'] = 'תוספים מותקנים'; +$lang['tab_templates'] = 'תבניות מותקנות'; +$lang['tab_install'] = 'התקנה ידנית'; +$lang['notinstalled'] = 'הרחבה זו לא מותקנת'; +$lang['status_not_installed'] = 'לא מותקן'; +$lang['status_protected'] = 'מוגן'; +$lang['status_enabled'] = 'מופעל'; +$lang['status_disabled'] = 'מושבת'; +$lang['status_unmodifiable'] = 'לא ניתן לשינוי'; +$lang['status_plugin'] = 'תוסף'; +$lang['status_template'] = 'תבנית'; +$lang['msg_enabled'] = 'תוסף %s מופעל'; +$lang['msg_disabled'] = 'תוסף %s מושבת'; +$lang['msg_delete_success'] = 'הרחבה %s הוסרה'; +$lang['msg_delete_failed'] = 'הסרת ההרחבה %s נכשלה'; +$lang['msg_template_install_success'] = 'תבנית %s הותקנה בהצלחה'; +$lang['msg_template_update_success'] = 'תבנית %s עודכנה בהצלחה'; +$lang['error_download'] = 'לא ניתן להוריד את הקובץ: %s'; diff --git a/wiki/lib/plugins/extension/lang/hr/intro_install.txt b/wiki/lib/plugins/extension/lang/hr/intro_install.txt new file mode 100644 index 0000000..f3274b0 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/hr/intro_install.txt @@ -0,0 +1 @@ +Ovdje možete ručno postaviti dodatak (plugin) i predložak (template) bilo učitavanjem ili navođenjem URL adrese za direktno učitavanje. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/hr/intro_plugins.txt b/wiki/lib/plugins/extension/lang/hr/intro_plugins.txt new file mode 100644 index 0000000..0c458ee --- /dev/null +++ b/wiki/lib/plugins/extension/lang/hr/intro_plugins.txt @@ -0,0 +1 @@ +Ovo su dodaci (plugin) trenutno postavljeni na Vašem DokuWiku-u. Možete ih omogućiti, onemogućiti ili u potpunosti ukloniti. Nadogradnje dodataka su također prikazane, obavezno pročitajte dokumentaciju dodatka prije nadogradnje. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/hr/intro_search.txt b/wiki/lib/plugins/extension/lang/hr/intro_search.txt new file mode 100644 index 0000000..4056905 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/hr/intro_search.txt @@ -0,0 +1 @@ +Ovdje možete potražiti i druge dostupne dodatke i predloške za DokuWiki. Molimo budite svjesni da postavljanje koda razvijenog od treće strane može biti **sigurnosni rizik**, možda želite prvo pročitati o [[doku>security#plugin_security|sigurnosti dodataka]]. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/hr/intro_templates.txt b/wiki/lib/plugins/extension/lang/hr/intro_templates.txt new file mode 100644 index 0000000..76dafe6 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/hr/intro_templates.txt @@ -0,0 +1 @@ +Ovo su predlošci trenutno postavljeni na Vašem DokuWiki-u. Koji se predložak koristi možete odabrati na [[?do=admin&page=config|Upravitelju postavki]]. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/hr/lang.php b/wiki/lib/plugins/extension/lang/hr/lang.php new file mode 100644 index 0000000..697806d --- /dev/null +++ b/wiki/lib/plugins/extension/lang/hr/lang.php @@ -0,0 +1,95 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> + */ +$lang['menu'] = 'Upravitelj proširenja'; +$lang['tab_plugins'] = 'Ugrađeni dodatci'; +$lang['tab_templates'] = 'Ugrađeni predlošci'; +$lang['tab_search'] = 'Potraži i ugradi'; +$lang['tab_install'] = 'Ručna ugradnja'; +$lang['notimplemented'] = 'Ova mogućnost još nije napravljena'; +$lang['notinstalled'] = 'Proširenje nije ugrađeno'; +$lang['alreadyenabled'] = 'Ovo proširenje je već omogućeno'; +$lang['alreadydisabled'] = 'Ovo proširenje je već onemogućeno'; +$lang['pluginlistsaveerror'] = 'Dogodila se greška pri snimanju liste dodataka'; +$lang['unknownauthor'] = 'Nepoznat autor'; +$lang['unknownversion'] = 'Nepoznata inačica'; +$lang['btn_info'] = 'Prikaži više informacija'; +$lang['btn_update'] = 'Ažuriraj'; +$lang['btn_uninstall'] = 'Ukloni'; +$lang['btn_enable'] = 'Omogući'; +$lang['btn_disable'] = 'Onemogući'; +$lang['btn_install'] = 'Ugradi'; +$lang['btn_reinstall'] = 'Ponovno ugradi'; +$lang['js']['reallydel'] = 'Zaista ukloniti ovo proširenje?'; +$lang['js']['display_viewoptions'] = 'Opcije pregleda:'; +$lang['js']['display_enabled'] = 'omogućen'; +$lang['js']['display_disabled'] = 'onemogućen'; +$lang['js']['display_updatable'] = 'izmjenjiv'; +$lang['search_for'] = 'Pretraži proširenja'; +$lang['search'] = 'Pretraži'; +$lang['extensionby'] = '<strong>%s</strong> po %s'; +$lang['screenshot'] = 'Slika zaslona od %s'; +$lang['popularity'] = 'Popularnost: %s%%'; +$lang['homepage_link'] = 'Upute'; +$lang['bugs_features'] = 'Greške'; +$lang['tags'] = 'Oznake:'; +$lang['author_hint'] = 'Potraži proširenja od ovog autora'; +$lang['installed'] = 'Ugrađeno:'; +$lang['downloadurl'] = 'URL adresa preuzimanja:'; +$lang['repository'] = 'Repozitorij:'; +$lang['unknown'] = '<em>nepoznat</em>'; +$lang['installed_version'] = 'Ugrađena inačica:'; +$lang['install_date'] = 'Vaše zadnje osvježavanje:'; +$lang['available_version'] = 'Dostupna inačica'; +$lang['compatible'] = 'Kompatibilan s:'; +$lang['depends'] = 'Zavisi o:'; +$lang['similar'] = 'Sličan s:'; +$lang['conflicts'] = 'U sukobu s:'; +$lang['donate'] = 'Poput ovog?'; +$lang['donate_action'] = 'Kupite autoru kavu!'; +$lang['repo_retry'] = 'Ponovi'; +$lang['provides'] = 'Osigurava:'; +$lang['status'] = 'Status:'; +$lang['status_installed'] = 'ugrađen'; +$lang['status_not_installed'] = 'nije ugrađen'; +$lang['status_protected'] = 'zaštićen'; +$lang['status_enabled'] = 'omogućen'; +$lang['status_disabled'] = 'onemogućen'; +$lang['status_unmodifiable'] = 'neizmjenjiv'; +$lang['status_plugin'] = 'dodatak'; +$lang['status_template'] = 'predložak'; +$lang['status_bundled'] = 'ugrađen'; +$lang['msg_enabled'] = 'Dodatak %s omogućen'; +$lang['msg_disabled'] = 'Dodatak %s onemogućen'; +$lang['msg_delete_success'] = 'Proširenje %s uklonjeno'; +$lang['msg_delete_failed'] = 'Uklanjanje proširenja %s nije uspjelo'; +$lang['msg_template_install_success'] = 'Predložak %s uspješno ugrađen'; +$lang['msg_template_update_success'] = 'Predložak %s uspješno nadograđen'; +$lang['msg_plugin_install_success'] = 'Dodatak %s uspješno ugrađen'; +$lang['msg_plugin_update_success'] = 'Dodatak %s uspješno nadograđen'; +$lang['msg_upload_failed'] = 'Učitavanje datoteke nije uspjelo'; +$lang['missing_dependency'] = '<strong>Nedostaje ili onemogućena zavisnost:</strong> %s'; +$lang['security_issue'] = '<strong>Sigurnosno pitanje:</strong> %s'; +$lang['security_warning'] = '<strong>Sigurnosno upozorenje:</strong> %s'; +$lang['update_available'] = '<strong>Nadogranja:</strong> Nova inačica %s je dostupna.'; +$lang['wrong_folder'] = '<strong>Dodatak neispravno ugrađen:</strong> Preimenujte mapu dodatka iz "%s" u "%s".'; +$lang['url_change'] = '<strong>URL izmijenjen:</strong> Adresa za preuzimanje je promijenjena od zadnjeg preuzimanja. Provjerite da li je novu URL valjan prije nadogradnje proširenja.<br />Novi: %s<br />Stari: %s'; +$lang['error_badurl'] = 'URL adrese trebaju započinjati sa http ili https'; +$lang['error_dircreate'] = 'Ne mogu napraviti privremenu mapu za prihvat preuzimanja'; +$lang['error_download'] = 'Ne mogu preuzeti datoteku: %s'; +$lang['error_decompress'] = 'Ne mogu raspakirati preuzetu datoteku. To može biti rezultati lošeg preuzimanja i tada treba pokušati ponovo; ili format sažimanja je nepoznat i u tom slučaju treba datoteku ručno preuzeti i ugraditi.'; +$lang['error_findfolder'] = 'Ne mogu odrediti mapu proširenja, trebate ga ručno preuzeti i ugraditi'; +$lang['error_copy'] = 'Dogodila se greška pri kopiranju dok je pokušavanja ugradnja datoteka u mapu <em>%s</em>: disk može biti pun ili dozvole pristupa nisu dobre. Ovo može rezultirati djelomično ugrađenim dodatkom i može učiniti Vaš wiki nestabilnim'; +$lang['noperms'] = 'Nije moguće pisati u mapu proširanja'; +$lang['notplperms'] = 'Nije moguće pisati u mapu predloška'; +$lang['nopluginperms'] = 'Nije moguće pisati u mapu dodatka'; +$lang['git'] = 'Proširenje je ugrađeno preko Git-a, možda ga ne želite nadograđivati ovdje.'; +$lang['auth'] = 'Autorizacijski dodatak nije podešen, razmotrite njegovo onemogućavanje kao dodatka.'; +$lang['install_url'] = 'Ugradi s URL-a:'; +$lang['install_upload'] = 'Učitaj proširenje:'; +$lang['repo_error'] = 'Repozitorij dodataka nije dostupan. Budite sigurni da server može pristupiti www.dokuwiki.org i provjerite proxy postavke.'; +$lang['nossl'] = 'Izgleda da korišteni PHP ne podržava SSL. Učitavanje neće raditi na mnogim DokuWiki dodatcima.'; diff --git a/wiki/lib/plugins/extension/lang/hu/intro_install.txt b/wiki/lib/plugins/extension/lang/hu/intro_install.txt new file mode 100644 index 0000000..8427e7d --- /dev/null +++ b/wiki/lib/plugins/extension/lang/hu/intro_install.txt @@ -0,0 +1 @@ +Itt új modulokat és sablonokat telepíthetsz feltöltéssel vagy a csomagra hivatkozó URL megadásával. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/hu/intro_plugins.txt b/wiki/lib/plugins/extension/lang/hu/intro_plugins.txt new file mode 100644 index 0000000..8a3e92d --- /dev/null +++ b/wiki/lib/plugins/extension/lang/hu/intro_plugins.txt @@ -0,0 +1 @@ +A DokuWiki rendszerben telepített modulok az alábbiak. Engedélyezheted, letilthatod vagy teljesen le is törölheted ezeket. A modulokhoz tartozó frissítések is itt láthatók, viszont frissítés előtt mindenképp olvasd el az utasításokat a modul dokumentációjában is! \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/hu/intro_search.txt b/wiki/lib/plugins/extension/lang/hu/intro_search.txt new file mode 100644 index 0000000..87a2a5d --- /dev/null +++ b/wiki/lib/plugins/extension/lang/hu/intro_search.txt @@ -0,0 +1 @@ +Ezen a fülön harmadik fél által készített modulokat és sablonokat találsz a DokuWiki-hez. Ne feledd, hogy a harmadik féltől származó kódok **biztonsági kockázatot** jelenthetnek, ennek a [[doku>security#plugin_security|modulok biztonsága]] oldalon olvashatsz utána a telepítés előtt. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/hu/intro_templates.txt b/wiki/lib/plugins/extension/lang/hu/intro_templates.txt new file mode 100644 index 0000000..c0ad92b --- /dev/null +++ b/wiki/lib/plugins/extension/lang/hu/intro_templates.txt @@ -0,0 +1 @@ +A DokuWiki rendszerben telepített sablonok az alábbiak. A használt sablont a [[?do=admin&page=config|Beállítóközpontban]] választhatod ki. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/hu/lang.php b/wiki/lib/plugins/extension/lang/hu/lang.php new file mode 100644 index 0000000..7d531e1 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/hu/lang.php @@ -0,0 +1,95 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Marton Sebok <sebokmarton@gmail.com> + */ +$lang['menu'] = 'Bővítménykezelő'; +$lang['tab_plugins'] = 'Telepített modulok'; +$lang['tab_templates'] = 'Telepített sablonok'; +$lang['tab_search'] = 'Keresés és telepítés'; +$lang['tab_install'] = 'Kézi telepítés'; +$lang['notimplemented'] = 'Ez a funkció még nincs implementálva'; +$lang['notinstalled'] = 'Ez a bővítmény nincs telepítve'; +$lang['alreadyenabled'] = 'Ez a bővítmény már engedélyezve van'; +$lang['alreadydisabled'] = 'Ez a bővítmény már le van tiltva'; +$lang['pluginlistsaveerror'] = 'Hiba történt a modulok listájának mentésekor'; +$lang['unknownauthor'] = 'Ismeretlen szerző'; +$lang['unknownversion'] = 'Ismeretlen verzió'; +$lang['btn_info'] = 'További információk megjelenítése'; +$lang['btn_update'] = 'Frissítés'; +$lang['btn_uninstall'] = 'Törlés'; +$lang['btn_enable'] = 'Engedélyezés'; +$lang['btn_disable'] = 'Letiltás'; +$lang['btn_install'] = 'Telepítés'; +$lang['btn_reinstall'] = 'Újratelepítés'; +$lang['js']['reallydel'] = 'Biztosan törlöd ezt a bővítményt?'; +$lang['js']['display_viewoptions'] = 'Nézet beállításai:'; +$lang['js']['display_enabled'] = 'engedélyezve'; +$lang['js']['display_disabled'] = 'letiltva'; +$lang['js']['display_updatable'] = 'frissíthető'; +$lang['search_for'] = 'Bővítmények keresése:'; +$lang['search'] = 'Keresés'; +$lang['extensionby'] = '<strong>%s</strong>, %s szerzőtől'; +$lang['screenshot'] = '%s képernyőképe'; +$lang['popularity'] = 'Népszerűség: %s%%'; +$lang['homepage_link'] = 'Dokumentáció'; +$lang['bugs_features'] = 'Hibák'; +$lang['tags'] = 'Címkék:'; +$lang['author_hint'] = 'Bővítmények keresése ettől a szerzőtől'; +$lang['installed'] = 'Telepítve:'; +$lang['downloadurl'] = 'Csomag URL:'; +$lang['repository'] = 'Repository:'; +$lang['unknown'] = '<em>ismeretlen</em>'; +$lang['installed_version'] = 'Telepített verzió:'; +$lang['install_date'] = 'Utoljára frissítve:'; +$lang['available_version'] = 'Elérhető verzió:'; +$lang['compatible'] = 'Kompatibilis rendszerek:'; +$lang['depends'] = 'Függőségek:'; +$lang['similar'] = 'Hasonló bővítmények:'; +$lang['conflicts'] = 'Ütközést okozó bővítmények:'; +$lang['donate'] = 'Tetszik?'; +$lang['donate_action'] = 'Hívd meg a szerzőjét egy kávéra!'; +$lang['repo_retry'] = 'Újra'; +$lang['provides'] = 'Szolgáltatások:'; +$lang['status'] = 'Állapot:'; +$lang['status_installed'] = 'telepítve'; +$lang['status_not_installed'] = 'nincs telepítve'; +$lang['status_protected'] = 'védett'; +$lang['status_enabled'] = 'engedélyezve'; +$lang['status_disabled'] = 'letiltva'; +$lang['status_unmodifiable'] = 'nem lehet módosítani'; +$lang['status_plugin'] = 'modul'; +$lang['status_template'] = 'sablon'; +$lang['status_bundled'] = 'beépített'; +$lang['msg_enabled'] = 'A(z) %s modul engedélyezve'; +$lang['msg_disabled'] = 'A(z) %s modul letiltva'; +$lang['msg_delete_success'] = 'A bővítmény %s törölve'; +$lang['msg_delete_failed'] = 'A(z) %s bővítmény eltávolítása sikertelen'; +$lang['msg_template_install_success'] = 'A(z) %s sablon sikeresen telepítve'; +$lang['msg_template_update_success'] = 'A(z) %s sablon sikeresen frissítve'; +$lang['msg_plugin_install_success'] = 'A(z) %s modul sikeresen telepítve'; +$lang['msg_plugin_update_success'] = 'A(z) %s modul sikeresen frissítve'; +$lang['msg_upload_failed'] = 'A fájl feltöltése sikertelen'; +$lang['missing_dependency'] = '<strong>Hiányzó vagy letiltott függőség:</strong> %s'; +$lang['security_issue'] = '<strong>Biztonsági probléma:</strong> %s'; +$lang['security_warning'] = '<strong>Biztonsági figyelmeztetés:</strong> %s'; +$lang['update_available'] = '<strong>Frissítés:</strong> Elérhető %s új verziója.'; +$lang['wrong_folder'] = '<strong>A modul telepítése sikertelen:</strong> Nevezd át a modul könyvtárát "%s" névről "%s" névre!'; +$lang['url_change'] = '<strong>Az URL megváltozott:</strong> A csomag URL-je megváltozott az utolsó letöltés óta. A bővítmény frissítése előtt ellenőrizd az új URL helyességét!<br />Új: %s<br />Régi: %s'; +$lang['error_badurl'] = 'Az URL-nek "http"-vel vagy "https"-sel kell kezdődnie'; +$lang['error_dircreate'] = 'A letöltéshez az ideiglenes könyvtár létrehozása sikertelen'; +$lang['error_download'] = 'A(z) %s fájl letöltése sikertelen'; +$lang['error_decompress'] = 'A letöltött fájlt nem lehet kicsomagolni. Ezt okozhatja a fájl sérülése (ebben az esetben próbáld újra letölteni) vagy egy ismeretlen tömörítési formátum használata (ilyenkor kézzel kell telepítened).'; +$lang['error_findfolder'] = 'A bővítményhez tartozó könyvtárat nem sikerült megállapítani, kézzel kell letöltened és telepítened'; +$lang['error_copy'] = 'Egy fájl másolása közben hiba történt a <em>%s</em> könyvtárban: lehet, hogy a lemez megtelt vagy nincsenek megfelelő írási jogaid. A telepítés megszakadása a modul hibás működését eredményezheti és instabil állapotba hozhatja a wikit'; +$lang['noperms'] = 'A bővítmény könyvtára nem írható'; +$lang['notplperms'] = 'A sablon könyvtára nem írható'; +$lang['nopluginperms'] = 'A modul könyvtára nem írható'; +$lang['git'] = 'Ezt a bővítményt git-tel telepítették, lehet, hogy nem itt célszerű frissíteni'; +$lang['auth'] = 'Ez az autentikációs modul nincs engedélyezve a beállításokban, érdemes lehet letiltani.'; +$lang['install_url'] = 'Telepítés erről az URL-ről:'; +$lang['install_upload'] = 'Bővítmény feltöltése:'; +$lang['repo_error'] = 'A modul repository-ja nem érhető el. Bizonyosodj meg róla, hogy a szervereden engedélyezett a www.dokuwiki.org cím elérése és ellenőrizd a proxy beállításaidat!'; +$lang['nossl'] = 'Úgy tűnik, a PHP konfigurációd nem támogatja az SSL-t. Néhány DokuWiki bővítmény letöltése sikertelen lehet.'; diff --git a/wiki/lib/plugins/extension/lang/it/intro_install.txt b/wiki/lib/plugins/extension/lang/it/intro_install.txt new file mode 100644 index 0000000..5106500 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/it/intro_install.txt @@ -0,0 +1 @@ +Qui potete installare manualmente plugin e template, sia caricandoli in upload sia fornendo una URL per scaricarli direttamente. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/it/intro_plugins.txt b/wiki/lib/plugins/extension/lang/it/intro_plugins.txt new file mode 100644 index 0000000..cd7825f --- /dev/null +++ b/wiki/lib/plugins/extension/lang/it/intro_plugins.txt @@ -0,0 +1 @@ +Questi sono i plugin attualmente installati nel vostro DokuWiki. Qui potete abilitarli o disabilitarli o addirittura disinstallarli completamente. Qui sono mostrati anche gli aggiornamenti dei plugin, assicurativi di leggere la relativa documentazione prima di aggiornarli. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/it/intro_search.txt b/wiki/lib/plugins/extension/lang/it/intro_search.txt new file mode 100644 index 0000000..fb77d36 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/it/intro_search.txt @@ -0,0 +1 @@ +Questa sezione ti da accesso a tutti i plugin e temi di terze parti disponibili per DokuWiki. Sappi che l'installazione di codice di terze parti potrebbe rappresentare un **rischio di sicurezza**, quindi, forse, prima vorresti informarti a proposito della [[doku>security#plugin_security|sicurezza dei plugin]]. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/it/intro_templates.txt b/wiki/lib/plugins/extension/lang/it/intro_templates.txt new file mode 100644 index 0000000..a38d868 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/it/intro_templates.txt @@ -0,0 +1 @@ +Questi sono i temi attualmente installati nel tuo DokuWiki. Puoi selezionare il tema da usare in [[?do=admin&page=config|Configurazione Wiki]]. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/it/lang.php b/wiki/lib/plugins/extension/lang/it/lang.php new file mode 100644 index 0000000..3d414a4 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/it/lang.php @@ -0,0 +1,98 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Francesco <francesco.cavalli@hotmail.com> + * @author Fabio <fabioslurp@yahoo.it> + * @author Torpedo <dgtorpedo@gmail.com> + * @author Maurizio <mcannavo@katamail.com> + */ +$lang['menu'] = 'Manager delle Extension'; +$lang['tab_plugins'] = 'Plugin Installati'; +$lang['tab_templates'] = 'Template Installati'; +$lang['tab_search'] = 'Ricerca e Installazione'; +$lang['tab_install'] = 'Installazione Manuale'; +$lang['notimplemented'] = 'Questa funzionalità non è ancora stata implementata'; +$lang['notinstalled'] = 'Questa extension non è installata'; +$lang['alreadyenabled'] = 'Questa extension è già stata abilitata'; +$lang['alreadydisabled'] = 'Questa extension à già stata disabilitata'; +$lang['pluginlistsaveerror'] = 'Si è verificato un errore durante il salvataggio dell\'elenco dei plugin'; +$lang['unknownauthor'] = 'Autore sconosciuto'; +$lang['unknownversion'] = 'Revisione sconosciuta'; +$lang['btn_info'] = 'Mostra maggiori informazioni'; +$lang['btn_update'] = 'Aggiorna'; +$lang['btn_uninstall'] = 'Disinstalla'; +$lang['btn_enable'] = 'Abilita'; +$lang['btn_disable'] = 'Disabilita'; +$lang['btn_install'] = 'Installa'; +$lang['btn_reinstall'] = 'Reinstalla'; +$lang['js']['reallydel'] = 'Sicuro di disinstallare questa estensione?'; +$lang['js']['display_viewoptions'] = 'Opzioni di Visualizzazione:'; +$lang['js']['display_enabled'] = 'abilitato'; +$lang['js']['display_disabled'] = 'disabilitato'; +$lang['js']['display_updatable'] = 'aggiornabile'; +$lang['search_for'] = 'Extension di Ricerca:'; +$lang['search'] = 'Cerca'; +$lang['extensionby'] = '<strong>%s</strong> da %s'; +$lang['screenshot'] = 'Screenshot di %s'; +$lang['popularity'] = 'Popolarità: %s%%'; +$lang['homepage_link'] = 'Documenti'; +$lang['bugs_features'] = 'Bug'; +$lang['tags'] = 'Tag:'; +$lang['author_hint'] = 'Cerca estensioni per questo autore'; +$lang['installed'] = 'Installato:'; +$lang['downloadurl'] = 'URL download:'; +$lang['repository'] = 'Repository'; +$lang['unknown'] = '<em>sconosciuto</em>'; +$lang['installed_version'] = 'Versione installata'; +$lang['install_date'] = 'Il tuo ultimo aggiornamento:'; +$lang['available_version'] = 'Versione disponibile:'; +$lang['compatible'] = 'Compatibile con:'; +$lang['depends'] = 'Dipende da:'; +$lang['similar'] = 'Simile a:'; +$lang['conflicts'] = 'Conflitto con:'; +$lang['donate'] = 'Simile a questo?'; +$lang['donate_action'] = 'Paga un caffè all\'autore!'; +$lang['repo_retry'] = 'Riprova'; +$lang['provides'] = 'Fornisce:'; +$lang['status'] = 'Status:'; +$lang['status_installed'] = 'installato'; +$lang['status_not_installed'] = 'non installato'; +$lang['status_protected'] = 'protetto'; +$lang['status_enabled'] = 'abilitato'; +$lang['status_disabled'] = 'disabilitato'; +$lang['status_unmodifiable'] = 'inmodificabile'; +$lang['status_plugin'] = 'plugin'; +$lang['status_template'] = 'modello'; +$lang['status_bundled'] = 'accoppiato'; +$lang['msg_enabled'] = 'Plugin %s abilitato'; +$lang['msg_disabled'] = 'Plugin %s disabilitato'; +$lang['msg_delete_success'] = 'Estensione %s disinstallata'; +$lang['msg_delete_failed'] = 'Disinstallazione dell\'Extension %s fallita'; +$lang['msg_template_install_success'] = 'Il template %s è stato installato correttamente'; +$lang['msg_template_update_success'] = 'Il Template %s è stato aggiornato correttamente'; +$lang['msg_plugin_install_success'] = 'Plugin %s installato con successo'; +$lang['msg_plugin_update_success'] = 'Plugin %s aggiornato con successo'; +$lang['msg_upload_failed'] = 'Caricamento del file fallito'; +$lang['missing_dependency'] = '<strong>Dipendenza mancante o disabilitata: </strong> %s'; +$lang['security_issue'] = '<strong>Problema di sicurezza:</strong> %s'; +$lang['security_warning'] = '<strong>Avvertimento di sicurezza:</strong> %s'; +$lang['update_available'] = '<strong>Aggiornamento:</strong> Nuova versione %s disponibile.'; +$lang['wrong_folder'] = '<strong>Plugin non installato correttamente:</strong> rinomina la directory del plugin "%s" in "%s".'; +$lang['url_change'] = '<strong>URL cambiato:</strong> l\'URL per il download è cambiato dall\'ultima volta che è stato utilizzato. Controlla se il nuovo URL è valido prima di aggiornare l\'estensione.<br />Nuovo: %s<br />Vecchio: %s'; +$lang['error_badurl'] = 'URLs deve iniziare con http o https'; +$lang['error_dircreate'] = 'Impossibile creare una cartella temporanea per ricevere il download'; +$lang['error_download'] = 'Impossibile scaricare il file: %s'; +$lang['error_decompress'] = 'Impossibile decomprimere il file scaricato. Ciò può dipendere da errori in fase di download, nel qual caso dovreste ripetere l\'operazione; oppure il formato di compressione è sconosciuto, e in questo caso dovrete scaricare e installare manualmente.'; +$lang['error_findfolder'] = 'Impossibile identificare la directory dell\'extension, dovrete scaricare e installare manualmente'; +$lang['error_copy'] = 'C\'è stato un errore di copia dei file mentre si tentava di copiare i file per la directory <em>%s</em>: il disco potrebbe essere pieno o i pemessi di accesso ai file potrebbero essere sbagliati. Questo potrebbe aver causato una parziale installazione dei plugin lasciando il tuo wiki instabile'; +$lang['noperms'] = 'La directory Extension non è scrivibile'; +$lang['notplperms'] = 'Il modello di cartella non è scrivibile'; +$lang['nopluginperms'] = 'La cartella plugin non è scrivibile'; +$lang['git'] = 'Questa extension è stata installata da git, potreste non volerla aggiornare qui.'; +$lang['auth'] = 'Questo plugin di autenticazione non è abilitato nella configurazione, considera di disabilitarlo.'; +$lang['install_url'] = 'Installa da URL:'; +$lang['install_upload'] = 'Caricamento Extension:'; +$lang['repo_error'] = 'Il repository dei plugin non può essere raggiunto. Assicuratevi che il vostro server sia abilitato a contattare l\'indirizzo www.dokuwiki.org e controllate le impostazioni del vostro proxy.'; +$lang['nossl'] = 'La tua installazione PHP sembra mancare del supporto SSL. I download per molte estensioni di DokuWiki non funzioneranno.'; diff --git a/wiki/lib/plugins/extension/lang/ja/intro_install.txt b/wiki/lib/plugins/extension/lang/ja/intro_install.txt new file mode 100644 index 0000000..9f99b82 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/ja/intro_install.txt @@ -0,0 +1 @@ +アップロードするかダウンロードURLを指定して、手動でプラグインやテンプレートをインストールできます。 diff --git a/wiki/lib/plugins/extension/lang/ja/intro_plugins.txt b/wiki/lib/plugins/extension/lang/ja/intro_plugins.txt new file mode 100644 index 0000000..b8251c7 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/ja/intro_plugins.txt @@ -0,0 +1 @@ +このDokuWikiに現在インストールされているプラグインです。これらプラグインを有効化、無効化、アンインストールできます。更新はできる場合のみ表示されます。更新前に、プラグインの解説をお読みください。 \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/ja/intro_search.txt b/wiki/lib/plugins/extension/lang/ja/intro_search.txt new file mode 100644 index 0000000..66d977b --- /dev/null +++ b/wiki/lib/plugins/extension/lang/ja/intro_search.txt @@ -0,0 +1 @@ +このタブでは、DokuWiki用の利用可能なすべてのサードパーティのプラグインとテンプレートにアクセスできます。サードパーティ製のコードには、**セキュリティ上のリスク**の可能性があることに注意してください、最初に[[doku>ja:security#プラグインのセキュリティ|プラグインのセキュリティ]]を読むことをお勧めします。 \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/ja/intro_templates.txt b/wiki/lib/plugins/extension/lang/ja/intro_templates.txt new file mode 100644 index 0000000..5de6d2f --- /dev/null +++ b/wiki/lib/plugins/extension/lang/ja/intro_templates.txt @@ -0,0 +1 @@ +このDokuWikiに現在インストールされているテンプレートです。使用するテンプレートは[[?do=admin&page=config|設定管理]]で選択できます。 \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/ja/lang.php b/wiki/lib/plugins/extension/lang/ja/lang.php new file mode 100644 index 0000000..6b3ef67 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/ja/lang.php @@ -0,0 +1,98 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Hideaki SAWADA <chuno@live.jp> + * @author PzF_X <jp_minecraft@yahoo.co.jp> + * @author Satoshi Sahara <sahara.satoshi@gmail.com> + * @author Ikuo Obataya <i.obataya@gmail.com> + */ +$lang['menu'] = '拡張機能管理'; +$lang['tab_plugins'] = 'インストール済プラグイン'; +$lang['tab_templates'] = 'インストール済テンプレート'; +$lang['tab_search'] = '検索とインストール'; +$lang['tab_install'] = '手動インストール'; +$lang['notimplemented'] = 'この機能は未実装です。'; +$lang['notinstalled'] = 'この拡張機能はインストールされていません。'; +$lang['alreadyenabled'] = 'この拡張機能は有効です。'; +$lang['alreadydisabled'] = 'この拡張機能は無効です。'; +$lang['pluginlistsaveerror'] = 'プラグイン一覧の保存中にエラーが発生しました。'; +$lang['unknownauthor'] = '作者不明'; +$lang['unknownversion'] = 'バージョン不明'; +$lang['btn_info'] = '詳細情報を表示する。'; +$lang['btn_update'] = '更新'; +$lang['btn_uninstall'] = 'アンインストール'; +$lang['btn_enable'] = '有効化'; +$lang['btn_disable'] = '無効化'; +$lang['btn_install'] = 'インストール'; +$lang['btn_reinstall'] = '再インストール'; +$lang['js']['reallydel'] = 'この拡張機能を本当にアンインストールしますか?'; +$lang['js']['display_viewoptions'] = '表示オプション: '; +$lang['js']['display_enabled'] = '有効'; +$lang['js']['display_disabled'] = '無効'; +$lang['js']['display_updatable'] = '更新可能'; +$lang['search_for'] = '拡張機能の検索:'; +$lang['search'] = '検索'; +$lang['extensionby'] = '<strong>%s</strong> 作者: %s'; +$lang['screenshot'] = '%s のスクリーンショット'; +$lang['popularity'] = '利用状況:%s%%'; +$lang['homepage_link'] = '解説'; +$lang['bugs_features'] = 'バグ'; +$lang['tags'] = 'タグ:'; +$lang['author_hint'] = 'この作者で拡張機能を検索'; +$lang['installed'] = 'インストール済:'; +$lang['downloadurl'] = 'ダウンロード URL:'; +$lang['repository'] = 'リポジトリ:'; +$lang['unknown'] = '<em>不明</em>'; +$lang['installed_version'] = 'インストール済バージョン:'; +$lang['install_date'] = '最終更新日:'; +$lang['available_version'] = '利用可能バージョン:'; +$lang['compatible'] = '互換:'; +$lang['depends'] = '依存:'; +$lang['similar'] = '類似:'; +$lang['conflicts'] = '競合:'; +$lang['donate'] = 'お気に入り?'; +$lang['donate_action'] = '寄付先'; +$lang['repo_retry'] = '再実行'; +$lang['provides'] = '提供:'; +$lang['status'] = '状態:'; +$lang['status_installed'] = 'インストール済'; +$lang['status_not_installed'] = '未インストール'; +$lang['status_protected'] = '保護されています'; +$lang['status_enabled'] = '有効'; +$lang['status_disabled'] = '無効'; +$lang['status_unmodifiable'] = '編集不可'; +$lang['status_plugin'] = 'プラグイン'; +$lang['status_template'] = 'テンプレート'; +$lang['status_bundled'] = '同梱'; +$lang['msg_enabled'] = '%s プラグインを有効化しました。'; +$lang['msg_disabled'] = '%s プラグインを無効化しました。'; +$lang['msg_delete_success'] = '拡張機能 %s をアンインストールしました。'; +$lang['msg_delete_failed'] = '拡張機能 %s のアンインストールに失敗しました。'; +$lang['msg_template_install_success'] = '%s テンプレートをインストールできました。'; +$lang['msg_template_update_success'] = '%s テンプレートを更新できました。'; +$lang['msg_plugin_install_success'] = '%s プラグインをインストールできました。'; +$lang['msg_plugin_update_success'] = '%s プラグインを更新できました。'; +$lang['msg_upload_failed'] = 'ファイルのアップロードに失敗しました。'; +$lang['missing_dependency'] = '<strong>依存関係が欠落または無効:</strong> %s'; +$lang['security_issue'] = '<strong>セキュリティ問題:</strong> %s'; +$lang['security_warning'] = '<strong>セキュリティ警告:</strong> %s'; +$lang['update_available'] = '<strong>更新:</strong> %sの新バージョンが利用可能です。'; +$lang['wrong_folder'] = '<strong>プラグインは正しくインストールされませんでした:</strong> プラグインのディレクトリを "%s" から "%s" へ変更して下さい。'; +$lang['url_change'] = '<strong>URL が変更されました:</strong> 最後にダウンロードした後、ダウンロード URL が変更されました。拡張機能のアップデート前に新 URL が正しいかを確認して下さい。<br />新:%s<br />旧:%s'; +$lang['error_badurl'] = 'URLはhttpかhttpsで始まる必要があります。'; +$lang['error_dircreate'] = 'ダウンロード用の一時フォルダが作成できません。'; +$lang['error_download'] = 'ファイルをダウンロードできません:%s'; +$lang['error_decompress'] = 'ダウンロードしたファイルを解凍できません。ダウンロードの失敗の結果であれば、再度試して下さい。圧縮形式が不明の場合は、手動でダウンロード・インストールしてください。'; +$lang['error_findfolder'] = '拡張機能ディレクトリを認識できません。手動でダウンロード・インストールしてください。'; +$lang['error_copy'] = '<em>%s</em> ディレクトリのファイルをインストールしようとした時、ファイルコピーエラーが発生しました:ディスクがいっぱいかもしれませんし、ファイルのアクセス権が正しくないかもしれません。プラグインが一部分インストールされ、wiki が不安定になるかもしれません。'; +$lang['noperms'] = '拡張機能ディレクトリが書き込み不可です。'; +$lang['notplperms'] = 'テンプレートディレクトリが書き込み不可です。'; +$lang['nopluginperms'] = 'プラグインディレクトリが書き込み不可です。'; +$lang['git'] = 'この拡張機能は Git 経由でインストールされており、ここで更新すべきでないかもしれません。'; +$lang['auth'] = 'この認証プラグインは設定管理画面で無効化されています。'; +$lang['install_url'] = 'URL からインストール:'; +$lang['install_upload'] = '拡張機能をアップロード:'; +$lang['repo_error'] = 'プラグインのリポジトリに接続できません。サーバーが www.dokuwiki.org に接続できることやプロキシの設定を確認して下さい。'; +$lang['nossl'] = 'PHP機能がSSLをサポートしていないため、拡張機能のダウンロードが正常に動作しません。'; diff --git a/wiki/lib/plugins/extension/lang/ko/intro_install.txt b/wiki/lib/plugins/extension/lang/ko/intro_install.txt new file mode 100644 index 0000000..269df29 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/ko/intro_install.txt @@ -0,0 +1 @@ +여기에 플러그인과 템플릿을 수동으로 올리거나 직접 다운로드 URL을 제공하여 수동으로 설치할 수 있습니다. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/ko/intro_plugins.txt b/wiki/lib/plugins/extension/lang/ko/intro_plugins.txt new file mode 100644 index 0000000..9ac7a3d --- /dev/null +++ b/wiki/lib/plugins/extension/lang/ko/intro_plugins.txt @@ -0,0 +1 @@ +도쿠위키에 현재 설치된 플러그인입니다. 여기에서 플러그인을 활성화 또는 비활성화하거나 심지어 완전히 제거할 수 있습니다. 또한 플러그인 업데이트는 여기에 보여집니다. 업데이트하기 전에 플러그인의 설명문서를 읽으십시오. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/ko/intro_search.txt b/wiki/lib/plugins/extension/lang/ko/intro_search.txt new file mode 100644 index 0000000..b676026 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/ko/intro_search.txt @@ -0,0 +1 @@ +이 탭은 도쿠위키를 위한 사용할 수 있는 모든 타사 플러그인과 템플릿에 접근하도록 제공합니다. 타사 코드를 설치하면 **보안 위험에 노출**될 수 있음을 유의하십시오, 먼저 [[doku>security#plugin_security|플러그인 보안]]에 대해 읽을 수 있습니다. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/ko/intro_templates.txt b/wiki/lib/plugins/extension/lang/ko/intro_templates.txt new file mode 100644 index 0000000..d4320b8 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/ko/intro_templates.txt @@ -0,0 +1 @@ +도쿠위키에 현재 설치된 템플릿입니다. [[?do=admin&page=config|환경 설정 관리자]]에서 사용하는 템플릿을 선택할 수 있습니다. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/ko/lang.php b/wiki/lib/plugins/extension/lang/ko/lang.php new file mode 100644 index 0000000..50ec739 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/ko/lang.php @@ -0,0 +1,97 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Young gon Cha <garmede@gmail.com> + * @author Myeongjin <aranet100@gmail.com> + * @author hyeonsoft <hyeonsoft@live.co.kr> + */ +$lang['menu'] = '확장 기능 관리자'; +$lang['tab_plugins'] = '설치된 플러그인'; +$lang['tab_templates'] = '설치된 템플릿'; +$lang['tab_search'] = '검색하고 설치'; +$lang['tab_install'] = '수동 설치'; +$lang['notimplemented'] = '이 기능은 아직 구현되지 않았습니다'; +$lang['notinstalled'] = '이 확장 기능은 설치되어 있지 않습니다'; +$lang['alreadyenabled'] = '이 확장 기능이 이미 활성화되어 있습니다'; +$lang['alreadydisabled'] = '이 확장 기능이 이미 비활성화되어 있습니다'; +$lang['pluginlistsaveerror'] = '플러그인 목록을 저장하는 중 오류가 있었습니다'; +$lang['unknownauthor'] = '알 수 없는 저자'; +$lang['unknownversion'] = '알 수 없는 버전'; +$lang['btn_info'] = '정보 더 보기'; +$lang['btn_update'] = '업데이트'; +$lang['btn_uninstall'] = '제거'; +$lang['btn_enable'] = '활성화'; +$lang['btn_disable'] = '비활성화'; +$lang['btn_install'] = '설치'; +$lang['btn_reinstall'] = '다시 설치'; +$lang['js']['reallydel'] = '정말 이 확장 기능을 제거하겠습니까?'; +$lang['js']['display_viewoptions'] = '보기 옵션:'; +$lang['js']['display_enabled'] = '활성화됨'; +$lang['js']['display_disabled'] = '비활성화됨'; +$lang['js']['display_updatable'] = '업데이트할 수 있음'; +$lang['search_for'] = '확장 기능 검색:'; +$lang['search'] = '검색'; +$lang['extensionby'] = '<strong>%s</strong> (저자 %s)'; +$lang['screenshot'] = '%s의 스크린샷'; +$lang['popularity'] = '인기: %s%%'; +$lang['homepage_link'] = '문서'; +$lang['bugs_features'] = '버그'; +$lang['tags'] = '태그:'; +$lang['author_hint'] = '이 저자로 확장 기능 검색'; +$lang['installed'] = '설치됨:'; +$lang['downloadurl'] = '다운로드 URL:'; +$lang['repository'] = '저장소:'; +$lang['unknown'] = '<em>알 수 없음</em>'; +$lang['installed_version'] = '설치된 버전:'; +$lang['install_date'] = '마지막 업데이트:'; +$lang['available_version'] = '가능한 버전:'; +$lang['compatible'] = '다음과의 호환성:'; +$lang['depends'] = '다음에 의존:'; +$lang['similar'] = '다음과 비슷:'; +$lang['conflicts'] = '다음과 충돌:'; +$lang['donate'] = '이것이 좋나요?'; +$lang['donate_action'] = '저자에게 커피를 사주세요!'; +$lang['repo_retry'] = '다시 시도'; +$lang['provides'] = '제공:'; +$lang['status'] = '상태:'; +$lang['status_installed'] = '설치됨'; +$lang['status_not_installed'] = '설치되지 않음'; +$lang['status_protected'] = '보호됨'; +$lang['status_enabled'] = '활성화됨'; +$lang['status_disabled'] = '비활성화됨'; +$lang['status_unmodifiable'] = '수정할 수 없음'; +$lang['status_plugin'] = '플러그인'; +$lang['status_template'] = '템플릿'; +$lang['status_bundled'] = '포함'; +$lang['msg_enabled'] = '%s 플러그인이 활성화되었습니다'; +$lang['msg_disabled'] = '%s 플러그인이 비활성화되었습니다'; +$lang['msg_delete_success'] = '%s 확장 기능이 제거되었습니다'; +$lang['msg_delete_failed'] = '%s 확장 기능 제거에 실패했습니다'; +$lang['msg_template_install_success'] = '%s 템플릿을 성공적으로 설치했습니다'; +$lang['msg_template_update_success'] = '%s 템플릿을 성공적으로 업데이트했습니다'; +$lang['msg_plugin_install_success'] = '%s 플러그인을 성공적으로 설치했습니다'; +$lang['msg_plugin_update_success'] = '%s 플러그인을 성공적으로 업데이트했습니다'; +$lang['msg_upload_failed'] = '파일 올리기에 실패했습니다'; +$lang['missing_dependency'] = '<strong>의존성을 잃었거나 비활성화되어 있습니다:</strong> %s'; +$lang['security_issue'] = '<strong>보안 문제:</strong> %s'; +$lang['security_warning'] = '<strong>보안 경고:</strong> %s'; +$lang['update_available'] = '<strong>업데이트:</strong> 새 버전 %s(을)를 사용할 수 있습니다.'; +$lang['wrong_folder'] = '<strong>플러그인이 올바르지 않게 설치됨:</strong> 플러그인 디렉터리를 "%s"에서 "%s"로 이름을 바꾸세요.'; +$lang['url_change'] = '<strong>URL이 바뀜:</strong> 다운로드 URL이 최신 다운로드 이래로 바뀌었습니다. 확장 기능을 업데이트하기 전에 새 URL이 올바른지 확인하세요.<br />새 URL: %s<br />오래된 URL: %s'; +$lang['error_badurl'] = 'URL은 http나 https로 시작해야 합니다'; +$lang['error_dircreate'] = '다운로드를 받을 임시 폴더를 만들 수 없습니다'; +$lang['error_download'] = '파일을 다운로드할 수 없습니다: %s'; +$lang['error_decompress'] = '다운로드한 파일의 압축을 풀 수 없습니다. 이는 아마도 잘못된 다운로드의 결과로, 이럴 경우 다시 시도해야 합니다; 또는 압축 형식을 알 수 없으며, 이럴 경우 수동으로 다운로드하고 설치해야 합니다.'; +$lang['error_findfolder'] = '확장 기능 디렉터리를 식별할 수 없습니다, 수동으로 다운로드하고 설치해야 합니다'; +$lang['error_copy'] = '<em>%s</em> 디렉터리에 파일을 설치하는 동안 파일 복사 오류가 발생했습니다: 디스크가 꽉 찼거나 파일 접근 권한이 잘못되었을 수도 있습니다. 플러그인이 부분적으로 설치되어 위키가 불안정할지도 모릅니다'; +$lang['noperms'] = '확장 기능 디렉터리에 쓸 수 없습니다'; +$lang['notplperms'] = '임시 디렉터리에 쓸 수 없습니다'; +$lang['nopluginperms'] = '플러그인 디렉터리에 쓸 수 없습니다'; +$lang['git'] = '이 확장 기능은 git를 통해 설치되었으며, 여기에서 업데이트할 수 없을 수 있습니다.'; +$lang['auth'] = '이 인증 플러그인은 환경 설정에서 활성화할 수 없습니다, 그것을 비활성화하는 것을 고려하세요.'; +$lang['install_url'] = 'URL에서 설치:'; +$lang['install_upload'] = '확장 기능 올리기:'; +$lang['repo_error'] = '플러그인 저장소에 연결할 수 없습니다. 서버가 www.dokuwiki.org에 연결할 수 있는지 확인하고 프록시 설정을 확인하세요.'; +$lang['nossl'] = 'PHP가 SSL 지원을 하지 않는 것으로 보입니다. 많은 도쿠위키 확장 기능의 다운로드가 작동하지 않을 것입니다.'; diff --git a/wiki/lib/plugins/extension/lang/lv/intro_templates.txt b/wiki/lib/plugins/extension/lang/lv/intro_templates.txt new file mode 100644 index 0000000..1014c7c --- /dev/null +++ b/wiki/lib/plugins/extension/lang/lv/intro_templates.txt @@ -0,0 +1 @@ +DokuWiki ir instalēti šādi šabloni. Lietojamo šablonu var norādīt [[?do=admin&page=config|Konfigurācijas lapā]]. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/lv/lang.php b/wiki/lib/plugins/extension/lang/lv/lang.php new file mode 100644 index 0000000..b3e5ce0 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/lv/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Aivars Miška <allefm@gmail.com> + */ +$lang['msg_delete_success'] = 'Papildinājums %s atinstalēts'; diff --git a/wiki/lib/plugins/extension/lang/nl/intro_install.txt b/wiki/lib/plugins/extension/lang/nl/intro_install.txt new file mode 100644 index 0000000..6a0b410 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/nl/intro_install.txt @@ -0,0 +1 @@ +Hier kunt u handmatig plugins en templates installeren door deze te uploaden of door een directe download URL op te geven. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/nl/intro_plugins.txt b/wiki/lib/plugins/extension/lang/nl/intro_plugins.txt new file mode 100644 index 0000000..e12bdf0 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/nl/intro_plugins.txt @@ -0,0 +1 @@ +Dit zijn de momenteel in uw Dokuwiki geïnstalleerde plugins. U kunt deze hier aan of uitschakelen danwel geheel deïnstalleren. Plugin updates zijn hier ook opgenomen, lees de plugin documentatie voordat u update. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/nl/intro_search.txt b/wiki/lib/plugins/extension/lang/nl/intro_search.txt new file mode 100644 index 0000000..f0c8d74 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/nl/intro_search.txt @@ -0,0 +1 @@ +Deze tab verschaft u toegang tot alle plugins en templates vervaardigd door derden en bestemd voor Dokuwiki. Houdt er rekening mee dat indien u Plugins van derden installeert deze een **veiligheids risico ** kunnen bevatten, geadviseerd wordt om eerst te lezen [[doku>security#plugin_security|plugin security]]. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/nl/intro_templates.txt b/wiki/lib/plugins/extension/lang/nl/intro_templates.txt new file mode 100644 index 0000000..52c96ce --- /dev/null +++ b/wiki/lib/plugins/extension/lang/nl/intro_templates.txt @@ -0,0 +1 @@ +Deze templates zijn thans in DokuWiki geïnstalleerd. U kunt een template selecteren middels [[?do=admin&page=config|Configuration Manager]] . \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/nl/lang.php b/wiki/lib/plugins/extension/lang/nl/lang.php new file mode 100644 index 0000000..4fe8359 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/nl/lang.php @@ -0,0 +1,101 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Rene <wllywlnt@yahoo.com> + * @author Gerrit Uitslag <klapinklapin@gmail.com> + * @author Johan Vervloet <johan.vervloet@gmail.com> + * @author Mijndert <mijndert@mijndertstuij.nl> + * @author Johan Wijnker <johan@wijnker.eu> + * @author Mark C. Prins <mprins@users.sf.net> + * @author hugo smet <hugo.smet@scarlet.be> + */ +$lang['menu'] = 'Uitbreidingen'; +$lang['tab_plugins'] = 'Geïnstalleerde Plugins'; +$lang['tab_templates'] = 'Geïnstalleerde Templates'; +$lang['tab_search'] = 'Zoek en installeer'; +$lang['tab_install'] = 'Handmatige installatie'; +$lang['notimplemented'] = 'Deze toepassing is nog niet geïnstalleerd'; +$lang['notinstalled'] = 'Deze uitbreiding is nog niet geïnstalleerd'; +$lang['alreadyenabled'] = 'Deze uitbreiding is reeds ingeschakeld'; +$lang['alreadydisabled'] = 'Deze uitbreiding is reeds uitgeschakeld'; +$lang['pluginlistsaveerror'] = 'Fout bij het opslaan van de plugin lijst'; +$lang['unknownauthor'] = 'Onbekende auteur'; +$lang['unknownversion'] = 'Onbekende versie'; +$lang['btn_info'] = 'Toon meer informatie'; +$lang['btn_update'] = 'Update'; +$lang['btn_uninstall'] = 'Deinstalleer'; +$lang['btn_enable'] = 'Schakel aan'; +$lang['btn_disable'] = 'Schakel uit'; +$lang['btn_install'] = 'Installeer'; +$lang['btn_reinstall'] = 'Her-installeer'; +$lang['js']['reallydel'] = 'Wilt u deze uitbreiding deinstalleren?'; +$lang['js']['display_viewoptions'] = 'Weergave opties:'; +$lang['js']['display_enabled'] = 'ingeschakeld'; +$lang['js']['display_disabled'] = 'uitgeschakeld'; +$lang['js']['display_updatable'] = 'update beschikbaar'; +$lang['search_for'] = 'Zoek Uitbreiding:'; +$lang['search'] = 'Zoek'; +$lang['extensionby'] = '<strong>%s</strong> by %s'; +$lang['screenshot'] = 'Schermafdruk bij %s'; +$lang['popularity'] = 'Populariteit: %s%%'; +$lang['homepage_link'] = 'Documentatie'; +$lang['bugs_features'] = 'Bugs'; +$lang['tags'] = 'Tags:'; +$lang['author_hint'] = 'Zoek uitbreidingen van deze auteur:'; +$lang['installed'] = 'Geinstalleerd:'; +$lang['downloadurl'] = 'Download URL:'; +$lang['repository'] = 'Centrale opslag:'; +$lang['unknown'] = '<em>onbekend</em>'; +$lang['installed_version'] = 'Geïnstalleerde versie:'; +$lang['install_date'] = 'Uw laatste update:'; +$lang['available_version'] = 'Beschikbare versie:'; +$lang['compatible'] = 'Compatible met:'; +$lang['depends'] = 'Afhankelijk van:'; +$lang['similar'] = 'Soortgelijk:'; +$lang['conflicts'] = 'Conflicteerd met:'; +$lang['donate'] = 'Vindt u dit leuk?'; +$lang['donate_action'] = 'Koop een kop koffie voor de auteur!'; +$lang['repo_retry'] = 'Herhaal'; +$lang['provides'] = 'Zorgt voor:'; +$lang['status'] = 'Status:'; +$lang['status_installed'] = 'Geïnstalleerd'; +$lang['status_not_installed'] = 'niet geïnstalleerd '; +$lang['status_protected'] = 'beschermd'; +$lang['status_enabled'] = 'ingeschakeld'; +$lang['status_disabled'] = 'uitgeschakeld'; +$lang['status_unmodifiable'] = 'Niet wijzigbaar'; +$lang['status_plugin'] = 'plugin'; +$lang['status_template'] = 'template'; +$lang['status_bundled'] = 'Gebundeld'; +$lang['msg_enabled'] = 'Plugin %s ingeschakeld'; +$lang['msg_disabled'] = 'Plugin %s uitgeschakeld'; +$lang['msg_delete_success'] = 'Uitbreiding %s gedeinstalleerd'; +$lang['msg_delete_failed'] = 'Het deïnstalleren van de extensie %s is mislukt.'; +$lang['msg_template_install_success'] = 'Template %s werd succesvol geïnstalleerd'; +$lang['msg_template_update_success'] = 'Template %s werd succesvol geüpdatet'; +$lang['msg_plugin_install_success'] = 'Plugin %s werd succesvol geïnstalleerd'; +$lang['msg_plugin_update_success'] = 'Plugin %s werd succesvol geüpdatet'; +$lang['msg_upload_failed'] = 'Uploaden van het bestand is mislukt'; +$lang['missing_dependency'] = '<strong>niet aanwezige of uitgeschakelde afhankelijkheid</strong> %s'; +$lang['security_issue'] = '<strong>Veiligheids kwestie:</strong> %s'; +$lang['security_warning'] = '<strong>Veiligheids Waarschuwing</strong> %s'; +$lang['update_available'] = '<strong>Update:</strong> Nieuwe versie %s is beschikbaar.'; +$lang['wrong_folder'] = '<strong>Plugin onjuist geïnstalleerd:</strong> Hernoem de plugin directory van "%s" naar "%s"'; +$lang['url_change'] = '<strong>URL gewijzigd:</strong> Download URL is gewijzigd sinds de laatste download. Controleer of de nieuwe URL juist is voordat u de uitbreiding updatet. <br />Nieuw:%s<Br /> Vorig: %s'; +$lang['error_badurl'] = 'URLs moeten beginnen met http of https'; +$lang['error_dircreate'] = 'De tijdelijke map kon niet worden gemaakt om de download te ontvangen'; +$lang['error_download'] = 'Het is niet mogelijk het bestand te downloaden: %s'; +$lang['error_decompress'] = 'Onmogelijk om het gedownloade bestand uit te pakken. Dit is wellicht het gevolg van een onvolledige/onjuiste download, in welk geval u het nog eens moet proberen; of het compressie formaat is onbekend in welk geval u het bestand handmatig moet downloaden en installeren.'; +$lang['error_findfolder'] = 'Onmogelijk om de uitbreidings directory te vinden, u moet het zelf downloaden en installeren'; +$lang['error_copy'] = 'Er was een bestand kopieer fout tijdens het installeren van bestanden in directory <em>%s</em>: de schijf kan vol zijn of de bestand toegangs rechten kunnen onjuist zijn. Dit kan tot gevolg hebben dat de plugin slechts gedeeltelijk werd geïnstalleerd waardoor uw wiki installatie onstabiel is '; +$lang['noperms'] = 'Uitbreidings directory is niet schrijfbaar'; +$lang['notplperms'] = 'Template directory is niet schrijfbaar'; +$lang['nopluginperms'] = 'Plugin directory is niet schrijfbaar'; +$lang['git'] = 'De uitbreiding werd geïnstalleerd via git, u wilt deze hier wellicht niet aanpassen.'; +$lang['auth'] = 'Deze auth plugin is niet geactiveerd in de configuratie, overweeg het om uit te schakelen.'; +$lang['install_url'] = 'Installeer vanaf URL:'; +$lang['install_upload'] = 'Upload Uitbreiding:'; +$lang['repo_error'] = 'Er kon geen verbinding worden gemaakt met de centrale plugin opslag. Controleer of de server verbinding mag maken met www.dokuwiki.org en controleer de proxy instellingen.'; +$lang['nossl'] = 'Je PHP mist SSL ondersteuning. Downloaden werkt niet met veel DokuWiki extensies.'; diff --git a/wiki/lib/plugins/extension/lang/no/intro_install.txt b/wiki/lib/plugins/extension/lang/no/intro_install.txt new file mode 100644 index 0000000..6453cae --- /dev/null +++ b/wiki/lib/plugins/extension/lang/no/intro_install.txt @@ -0,0 +1 @@ +Her kan du manuellt installere programtillegg eller maler, enten ved å laste de opp, eller ved å skrive inn nettadressen til utvidelsen \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/no/intro_plugins.txt b/wiki/lib/plugins/extension/lang/no/intro_plugins.txt new file mode 100644 index 0000000..e9e34d1 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/no/intro_plugins.txt @@ -0,0 +1 @@ +Her finner du de programtillegg som er installert i din DokuWiki. Du kan slå av/på, eller avistallere dine programtillegg her. Oppdatering av programtillegg vil også vises her, men du bør lese dokumentasjonen for disse før du oppdaterere. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/no/intro_search.txt b/wiki/lib/plugins/extension/lang/no/intro_search.txt new file mode 100644 index 0000000..d139fe9 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/no/intro_search.txt @@ -0,0 +1 @@ +Denne fanen gir deg tillgang til alle tilgjengelige tredjeparts programtillegg og maler for DokuWiki. Merk at det å installere tillegg fra tredjepart kan innebære en **sikerhetsrisiko**. Les mer om [[doku>security#plugin_security|sikkerhet og tillegg ]] før installasjon av disse. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/no/intro_templates.txt b/wiki/lib/plugins/extension/lang/no/intro_templates.txt new file mode 100644 index 0000000..0649620 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/no/intro_templates.txt @@ -0,0 +1,2 @@ +Her finner du malene som nå er installert i denne DokuWikien. Her velger du malen som brukes i siden for [[?do=admin&page=config|konfigurasjonsinnstillinger]]. + diff --git a/wiki/lib/plugins/extension/lang/no/lang.php b/wiki/lib/plugins/extension/lang/no/lang.php new file mode 100644 index 0000000..0ceec58 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/no/lang.php @@ -0,0 +1,95 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Arne Hanssen <arnehans@getmail.no> + */ +$lang['menu'] = 'Utvidelsesbehandling'; +$lang['tab_plugins'] = 'Installerte programtillegg'; +$lang['tab_templates'] = 'Installerte maler'; +$lang['tab_search'] = 'Søk og installer'; +$lang['tab_install'] = 'Manuell installasjon'; +$lang['notimplemented'] = 'Denne funksjon er ikke laget ennå'; +$lang['notinstalled'] = 'Denne utvidelsen er ikke installert '; +$lang['alreadyenabled'] = 'Denne utvidelsen er allerede slått på'; +$lang['alreadydisabled'] = 'Denne utvidelsen er allerede slått av'; +$lang['pluginlistsaveerror'] = 'Det oppsto en feil ved lagring av programlisten'; +$lang['unknownauthor'] = 'Ukjent utvikler'; +$lang['unknownversion'] = 'Ukjent versjon'; +$lang['btn_info'] = 'Vis mer info'; +$lang['btn_update'] = 'Oppdater'; +$lang['btn_uninstall'] = 'Avinstaller'; +$lang['btn_enable'] = 'Slå på'; +$lang['btn_disable'] = 'Slå av'; +$lang['btn_install'] = 'Installer'; +$lang['btn_reinstall'] = 'Installer på nytt'; +$lang['js']['reallydel'] = 'Vil du virkelig avinstallere denne utvidelsen?'; +$lang['js']['display_viewoptions'] = 'Filtrer etter:'; +$lang['js']['display_enabled'] = 'slått på'; +$lang['js']['display_disabled'] = 'slått av'; +$lang['js']['display_updatable'] = 'Oppdaterbar'; +$lang['search_for'] = 'Finn programtillegg:'; +$lang['search'] = 'Søk'; +$lang['extensionby'] = '<strong>%s</strong> av %s'; +$lang['screenshot'] = 'Skjermbilde av %s'; +$lang['popularity'] = 'Popularitet: %s%%'; +$lang['homepage_link'] = 'Dok.'; +$lang['bugs_features'] = 'Feilm.'; +$lang['tags'] = 'Stikkord:'; +$lang['author_hint'] = 'Let etter programmtilleg fra denne utvikler'; +$lang['installed'] = 'Installert:'; +$lang['downloadurl'] = 'URL for nedlasting:'; +$lang['repository'] = 'Lager:'; +$lang['unknown'] = '<em>ukjent</em>'; +$lang['installed_version'] = 'Installert versjon'; +$lang['install_date'] = 'Sist oppdatert:'; +$lang['available_version'] = 'Tilgengelig versjon:'; +$lang['compatible'] = 'Kompatibel med:'; +$lang['depends'] = 'Avhenger av:'; +$lang['similar'] = 'Ligner på:'; +$lang['conflicts'] = 'I konflikt med:'; +$lang['donate'] = 'Liker du denne?'; +$lang['donate_action'] = 'Kjøp en kaffe til utvikleren!'; +$lang['repo_retry'] = 'Forsøk igjen'; +$lang['provides'] = 'Tilbyr:'; +$lang['status'] = 'Status:'; +$lang['status_installed'] = 'installert'; +$lang['status_not_installed'] = 'ikke installert'; +$lang['status_protected'] = 'beskyttet'; +$lang['status_enabled'] = 'slått på '; +$lang['status_disabled'] = 'slått av'; +$lang['status_unmodifiable'] = 'ikke-modifiserbar'; +$lang['status_plugin'] = 'programtillegg'; +$lang['status_template'] = 'mal'; +$lang['status_bundled'] = 'pakke'; +$lang['msg_enabled'] = 'Programtillegg %s er slått på '; +$lang['msg_disabled'] = 'Programtillegg %s er slått av '; +$lang['msg_delete_success'] = 'Utvidelse %s ble avinstallert'; +$lang['msg_delete_failed'] = 'Avinstallering av utvidelse %s feilet'; +$lang['msg_template_install_success'] = 'Mal %s ble installert'; +$lang['msg_template_update_success'] = 'Mal %s ble oppdatert'; +$lang['msg_plugin_install_success'] = 'Programtillegg %s ble installert'; +$lang['msg_plugin_update_success'] = 'Programtillegg %s ble oppdatert'; +$lang['msg_upload_failed'] = 'Opplasting av fil feilet'; +$lang['missing_dependency'] = '<strong>Manglende eller avslått avhengighet:</strong> %s'; +$lang['security_issue'] = '<strong>Sikerhetsproblem:</strong> %s'; +$lang['security_warning'] = '<strong>Sikerhetsvarsel:</strong> %s'; +$lang['update_available'] = '<strong>Oppdater:</strong> Ny versjon %s er tilgjengelig.'; +$lang['wrong_folder'] = '<strong>Programtillegg feil installert:</strong> Døp om mappen for programtillegg "%s" til "%s".'; +$lang['url_change'] = '<strong>URL er endret:</strong> URL for nedlasning er blitt endret sidene siste nedlastning. Sjekk at den nye URLen er gyldig før du oppdatere utvidelsen.<br />Ny: %s<br />Gammel: %s'; +$lang['error_badurl'] = 'URLer bør starte med http eller https'; +$lang['error_dircreate'] = 'Klarte ikke opprette midlertidig mappe nedlasting'; +$lang['error_download'] = 'Klarte ikke laste ned filen: %s'; +$lang['error_decompress'] = 'Klarte ikke pakke ut nedlastet fil. Muligens fordi nedlastingen feilet, da bør du prøve igjen; eller så kan komprimeringsformatet være ukjent, i så fall må du laste ned og installere utvidelsen manuelt.'; +$lang['error_findfolder'] = 'Klarte ikke finne utvidelsesmappen, du må laste ned og installere manuelt'; +$lang['error_copy'] = 'Det oppsto en kopieringsfeil ved installasjon av filer i katalogen <em>%s </ em>: disken kan være full eller filens tilgangsrettigheter kan være feil. Denne feilen kan ha resultert i en delvis installert programtillegg, og kan føre til at din wiki vil være ustabil.'; +$lang['noperms'] = 'Mappen for utvidelser er ikke skrivbar'; +$lang['notplperms'] = 'Mappen for maler er ikke skrivbar'; +$lang['nopluginperms'] = 'Mappen for programtillegg er ikke skrivbar'; +$lang['git'] = 'Denne utvidelsen ble installert via git, du vl kanskje ikke oppdatere den herfra.'; +$lang['auth'] = 'Denne autentiseringsutvidelser er i konfigurasjonsinstillingene ikke slått på. vurder å slå den av.'; +$lang['install_url'] = 'Installer fra URL:'; +$lang['install_upload'] = 'Last opp utvidelse:'; +$lang['repo_error'] = 'Lagret for programtillegg kunne ikke kontaktes. Kontroller at din server har rettigheter til å kontakte www.dokuwiki.org, sjekk også instillinger for hurtiglager (proxy).'; +$lang['nossl'] = 'DIn PHP-installasjon mangler støtte for SSL. Nedlastning vil derfor ikke virke for mange DokuWIki-utvidelser.'; diff --git a/wiki/lib/plugins/extension/lang/pl/intro_install.txt b/wiki/lib/plugins/extension/lang/pl/intro_install.txt new file mode 100644 index 0000000..338d939 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/pl/intro_install.txt @@ -0,0 +1 @@ +Tutaj możesz ręcznie zainstalować wtyczki i szablony, przesyłając je lub podając bezpośredni adres URL do pobrania. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/pl/intro_plugins.txt b/wiki/lib/plugins/extension/lang/pl/intro_plugins.txt new file mode 100644 index 0000000..d228485 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/pl/intro_plugins.txt @@ -0,0 +1 @@ +Są to wtyczki aktualnie zainstalowane w twoim DokuWiki. Możesz je tutaj włączyć lub wyłączyć, a nawet całkowicie odinstalować. Znajdziesz tu również informację o nowych wersjach. Przed aktualizacją koniecznie przeczytaj dokumentację wtyczki. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/pl/intro_search.txt b/wiki/lib/plugins/extension/lang/pl/intro_search.txt new file mode 100644 index 0000000..d1773fa --- /dev/null +++ b/wiki/lib/plugins/extension/lang/pl/intro_search.txt @@ -0,0 +1 @@ +W tej zakładka znajdziesz wszystkie wtyczki i szablony przygotowane dla DokuWiki przez osoby trzecie. Należy pamiętać, że instalacja kodu zewnętrznego może stwarzać ** zagrożenie bezpieczeństwa **. Koniecznie przeczytaj o [[doku>security#plugin_security|bezpieczeństwie wtyczek]]. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/pl/intro_templates.txt b/wiki/lib/plugins/extension/lang/pl/intro_templates.txt new file mode 100644 index 0000000..ef90cbf --- /dev/null +++ b/wiki/lib/plugins/extension/lang/pl/intro_templates.txt @@ -0,0 +1 @@ +Są to szablony aktualnie zainstalowane w twoim DokuWiki. [[?do=admin&page=config|Menadżer konfiguracji]] pozwala wybrać używany szablon. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/pl/lang.php b/wiki/lib/plugins/extension/lang/pl/lang.php new file mode 100644 index 0000000..7191dcb --- /dev/null +++ b/wiki/lib/plugins/extension/lang/pl/lang.php @@ -0,0 +1,97 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Wojciech Lichota <wojciech@lichota.pl> + * @author Max <maxrb146@gmail.com> + * @author Mati <mackosa@wp.pl> + */ +$lang['menu'] = 'Menedżer rozszerzeń'; +$lang['tab_plugins'] = 'Zainstalowane dodatki'; +$lang['tab_templates'] = 'Zainstalowane Szablony'; +$lang['tab_search'] = 'Znajdź i zainstaluj'; +$lang['tab_install'] = 'Instalacja ręczna'; +$lang['notimplemented'] = 'Ta funkcja nie została jeszcze zaimplementowana'; +$lang['notinstalled'] = 'Te rozszerzenie nie zostało zainstalowane'; +$lang['alreadyenabled'] = 'Te rozszerzenie jest już uruchomione'; +$lang['alreadydisabled'] = 'Rozszerzenie zostało wyłączone'; +$lang['pluginlistsaveerror'] = 'Wystąpił błąd podczas zapisywania listy wtyczek'; +$lang['unknownauthor'] = 'Nieznany autor'; +$lang['unknownversion'] = 'Nieznana wersja'; +$lang['btn_info'] = 'Pokaż więcej informacji'; +$lang['btn_update'] = 'Aktualizuj'; +$lang['btn_uninstall'] = 'Odinstaluj'; +$lang['btn_enable'] = 'Uruchom'; +$lang['btn_disable'] = 'Wyłącz'; +$lang['btn_install'] = 'Instaluj'; +$lang['btn_reinstall'] = 'Ponowna instalacja'; +$lang['js']['reallydel'] = 'Naprawdę odinstalować te rozszerzenie?'; +$lang['js']['display_viewoptions'] = 'Zobacz Opcje'; +$lang['js']['display_enabled'] = 'włącz'; +$lang['js']['display_disabled'] = 'wyłącz'; +$lang['js']['display_updatable'] = 'do aktualizacji'; +$lang['search_for'] = 'Szukaj rozszerzenia:'; +$lang['search'] = 'Szukaj'; +$lang['extensionby'] = '<strong>%s</strong> przez %s'; +$lang['screenshot'] = 'Zrzut ekranu z %s'; +$lang['popularity'] = 'Popularność: %s%%'; +$lang['homepage_link'] = 'Dokumenty'; +$lang['bugs_features'] = 'Błędy'; +$lang['tags'] = 'Tagi:'; +$lang['author_hint'] = 'Szukaj rozszerzenia po autorze'; +$lang['installed'] = 'Zainstalowano:'; +$lang['downloadurl'] = 'Pobierz URL'; +$lang['repository'] = 'Repozytorium'; +$lang['unknown'] = '<em>nie znany</em>'; +$lang['installed_version'] = 'Zainstalowana wersja:'; +$lang['install_date'] = 'Twoja ostatnia aktualizacja:'; +$lang['available_version'] = 'Dostępna wersja:'; +$lang['compatible'] = 'Zgodny z:'; +$lang['depends'] = 'Zależy od:'; +$lang['similar'] = 'Podobny do:'; +$lang['conflicts'] = 'Konflikt z:'; +$lang['donate'] = 'Lubisz to?'; +$lang['donate_action'] = 'Kup autorowi kawę!'; +$lang['repo_retry'] = 'Ponów'; +$lang['provides'] = 'Dostawcy:'; +$lang['status'] = 'Status:'; +$lang['status_installed'] = 'zainstalowano'; +$lang['status_not_installed'] = 'nie zainstalowano'; +$lang['status_protected'] = 'chroniony'; +$lang['status_enabled'] = 'uruchomione'; +$lang['status_disabled'] = 'wyłączone'; +$lang['status_unmodifiable'] = 'niemodyfikowalny'; +$lang['status_plugin'] = 'dodatek'; +$lang['status_template'] = 'szablon'; +$lang['status_bundled'] = 'paczka'; +$lang['msg_enabled'] = 'Dodatek %s włączony'; +$lang['msg_disabled'] = 'Dodatek %s wyłączony'; +$lang['msg_delete_success'] = 'Rozszerzenie %s odinstalowane'; +$lang['msg_delete_failed'] = 'Odinstalowywanie rozszerzenia %s nie powiodło się'; +$lang['msg_template_install_success'] = 'Szablon %s został zainstalowany'; +$lang['msg_template_update_success'] = 'Szablon %s został zaktualizowany'; +$lang['msg_plugin_install_success'] = 'Dodatek %s został zainstalowany'; +$lang['msg_plugin_update_success'] = 'Dodatek %s został zaktualizowany'; +$lang['msg_upload_failed'] = 'Ładowanie pliku nie powiodło się'; +$lang['missing_dependency'] = '<strong>Brakująca lub wyłączona zależność:</strong> %s'; +$lang['security_issue'] = '<strong>Problemy bezpieczeństwa:</strong> %s'; +$lang['security_warning'] = '<strong>Alert Bezpieczeństwa:</strong>%s'; +$lang['update_available'] = '<strong>Uaktualnij</strong> Nowa wersja %s jest dostępna.'; +$lang['wrong_folder'] = '<strong>Nieprawidłowo zainstalowana wtyczka:</strong> Zmień nazwę katalogu wtyczek z "%s" na "%s".'; +$lang['url_change'] = '<strong>URL został zmieniony:</strong>URL zmienił się od czasu ostatniego pobrania. Przed aktualizacją rozszerzenia, sprawdź czy nowy adres URL jest prawidłowy.<br />Nowy: %s<br />Stary: %s'; +$lang['error_badurl'] = 'URL powinien zaczynać się od http lub https'; +$lang['error_dircreate'] = 'Nie można utworzyć tymczasowego folderu pobierania '; +$lang['error_download'] = 'Nie można pobrać pliku %s'; +$lang['error_decompress'] = 'Nie można rozpakować pobranego pliku. Może to być spowodowane złym pobieraniem, w takim przypadku powinieneś spróbować ponownie; lub format kompresji może być nieznany, w takim przypadku należy ręcznie pobrać i zainstalować.'; +$lang['error_findfolder'] = 'Nie można zidentyfikować katalogu z rozszerzeniami, musisz pobrać i zainstalować ręcznie'; +$lang['error_copy'] = 'Wystąpił błąd kopiowania pliku podczas próby zainstalowania plików dla katalogu <em>%s</em>: dysk może być pełny lub uprawnienia dostępu do pliku mogą być niepoprawne. Mogło to spowodować częściowo zainstalowaną wtyczkę i pozostawić twoją instalację wiki niestabilną'; +$lang['noperms'] = 'Katalog z rozszerzeniami nie posiada uprawnień zapisu'; +$lang['notplperms'] = 'Katalog z szablonami nie posiada uprawnień zapisu'; +$lang['nopluginperms'] = 'Katalog z wtyczkami nie posiada uprawnień zapisu'; +$lang['git'] = 'To rozszerzenie zostało zainstalowane przez git, możesz nie chcieć go aktualizować tutaj.'; +$lang['auth'] = 'Ta wtyczka autoryzacji nie jest włączona w konfiguracji, rozważ jej wyłączenie.'; +$lang['install_url'] = 'Instaluj z URL:'; +$lang['install_upload'] = 'Załaduj Rozszerzenie '; +$lang['repo_error'] = 'Nie można skontaktować się z repozytorium wtyczek. Upewnij się, że twój serwer może skontaktować się z www.dokuwiki.org i sprawdzić ustawienia serwera proxy.'; +$lang['nossl'] = 'Twój PHP wydaje się nie obsługiwać protokołu SSL. Pobieranie nie zadziała dla wielu rozszerzeń DokuWiki.'; diff --git a/wiki/lib/plugins/extension/lang/pt-br/intro_install.txt b/wiki/lib/plugins/extension/lang/pt-br/intro_install.txt new file mode 100644 index 0000000..08527b0 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/pt-br/intro_install.txt @@ -0,0 +1 @@ +Aqui você pode instalar extensões e modelos manualmente, ou subindo eles ou submetendo uma URL de baixar diretamente. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/pt-br/intro_plugins.txt b/wiki/lib/plugins/extension/lang/pt-br/intro_plugins.txt new file mode 100644 index 0000000..e0a8c7f --- /dev/null +++ b/wiki/lib/plugins/extension/lang/pt-br/intro_plugins.txt @@ -0,0 +1 @@ +Estas são as extensões instaladas atualmente no seu DokuWiki. Você pode habilitar ou desabilitar ou desinstalar completamente elas aqui. Atualizações das extensões também são mostradas, certifique-se de ler a documentação da extensão antes de atualizá-la. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/pt-br/intro_search.txt b/wiki/lib/plugins/extension/lang/pt-br/intro_search.txt new file mode 100644 index 0000000..f2101d7 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/pt-br/intro_search.txt @@ -0,0 +1 @@ +Esta aba lhe dá acesso a extensões e modelos disponibilizados por terceiros para o DokuWiki. Favor ter cuidado pois instalar código de terceiros pode acarretar um **risco de segurança**, você poderia ler sobre [[doku>security#plugin_security|segurança de extensões]] primeiramente. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/pt-br/intro_templates.txt b/wiki/lib/plugins/extension/lang/pt-br/intro_templates.txt new file mode 100644 index 0000000..aa3e07f --- /dev/null +++ b/wiki/lib/plugins/extension/lang/pt-br/intro_templates.txt @@ -0,0 +1 @@ +Estes são os modelos instalados atualmente no seu DokuWiki. Você pode selecionar o modelo a ser usado no [[?do=admin&page=config|Configuration Manager]]. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/pt-br/lang.php b/wiki/lib/plugins/extension/lang/pt-br/lang.php new file mode 100644 index 0000000..ce4c3b8 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/pt-br/lang.php @@ -0,0 +1,97 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Felipe Castro <fefcas@gmail.com> + * @author Hudson FAS <hudsonfas@gmail.com> + * @author Frederico Gonçalves Guimarães <frederico@teia.bio.br> + */ +$lang['menu'] = 'Gerenciador de extensões'; +$lang['tab_plugins'] = 'Extensões instaladas'; +$lang['tab_templates'] = 'Modelos instalados'; +$lang['tab_search'] = 'Procurar e instalar'; +$lang['tab_install'] = 'Instalar manualmente'; +$lang['notimplemented'] = 'Esta função ainda não foi implementada'; +$lang['notinstalled'] = 'Esta extensão não está instalada'; +$lang['alreadyenabled'] = 'Esta extensão já foi habilitada'; +$lang['alreadydisabled'] = 'Esta extensão já foi desabilitada'; +$lang['pluginlistsaveerror'] = 'Houve um erro ao salvar a lista de extensões'; +$lang['unknownauthor'] = 'Autor desconhecido'; +$lang['unknownversion'] = 'Versão desconhecida'; +$lang['btn_info'] = 'Mostrar mais informações'; +$lang['btn_update'] = 'Atualizar'; +$lang['btn_uninstall'] = 'Desinstalar'; +$lang['btn_enable'] = 'Habilitar'; +$lang['btn_disable'] = 'Desabilitar'; +$lang['btn_install'] = 'Instalar'; +$lang['btn_reinstall'] = 'Re-instalar'; +$lang['js']['reallydel'] = 'Quer mesmo desinstalar esta extensão?'; +$lang['js']['display_viewoptions'] = 'Opções de visualização:'; +$lang['js']['display_enabled'] = 'habilitado'; +$lang['js']['display_disabled'] = 'desabilitado'; +$lang['js']['display_updatable'] = 'atualizável'; +$lang['search_for'] = 'Procurar extensão:'; +$lang['search'] = 'Procurar'; +$lang['extensionby'] = '<strong>%s</strong> de %s'; +$lang['screenshot'] = 'Tela congelada de %s'; +$lang['popularity'] = 'Popularidade: %s%%'; +$lang['homepage_link'] = 'Docs'; +$lang['bugs_features'] = 'Erros'; +$lang['tags'] = 'Etiquetas:'; +$lang['author_hint'] = 'Procurar extensões deste autor'; +$lang['installed'] = 'Instalado:'; +$lang['downloadurl'] = 'URL para baixar:'; +$lang['repository'] = 'Repositório:'; +$lang['unknown'] = '<em>desconhecido</em>'; +$lang['installed_version'] = 'Versão instalada:'; +$lang['install_date'] = 'Sua última atualização:'; +$lang['available_version'] = 'Versão disponível:'; +$lang['compatible'] = 'Compatível com:'; +$lang['depends'] = 'Depende de:'; +$lang['similar'] = 'Similar a:'; +$lang['conflicts'] = 'Colide com:'; +$lang['donate'] = 'Gostou deste?'; +$lang['donate_action'] = 'Pague um café ao autor!'; +$lang['repo_retry'] = 'Tentar de novo'; +$lang['provides'] = 'Disponibiliza:'; +$lang['status'] = 'Estado:'; +$lang['status_installed'] = 'instalado'; +$lang['status_not_installed'] = 'não instalado'; +$lang['status_protected'] = 'protegido'; +$lang['status_enabled'] = 'habilitado'; +$lang['status_disabled'] = 'desabilitado'; +$lang['status_unmodifiable'] = 'não modificável'; +$lang['status_plugin'] = 'extensão'; +$lang['status_template'] = 'modelo'; +$lang['status_bundled'] = 'agrupado'; +$lang['msg_enabled'] = 'Extensão %s habilitada'; +$lang['msg_disabled'] = 'Extensão %s desabilitada'; +$lang['msg_delete_success'] = 'Extensão %s desinstalada'; +$lang['msg_delete_failed'] = 'Falha na desinstalação da extensão %s'; +$lang['msg_template_install_success'] = 'Modelo %s instalado com sucesso'; +$lang['msg_template_update_success'] = 'Modelo %s atualizado com sucesso'; +$lang['msg_plugin_install_success'] = 'Extensão %s instalada com sucesso'; +$lang['msg_plugin_update_success'] = 'Extensão %s atualizada com sucesso'; +$lang['msg_upload_failed'] = 'Subida do arquivo falhou'; +$lang['missing_dependency'] = '<strong>Dependência faltante ou desabilitada:</strong> %s'; +$lang['security_issue'] = '<strong>Problema com segurança:</strong> %s'; +$lang['security_warning'] = '<strong>Aviso sobre segurança:</strong> %s'; +$lang['update_available'] = '<strong>Atualização:</strong> Nova versão %s está disponível.'; +$lang['wrong_folder'] = '<strong>Extensão instalada incorretamente:</strong> Renomeie o diretório de extensões "%s" para "%s".'; +$lang['url_change'] = '<strong>URL mudou:</strong> A URL para baixar mudou desde a última baixada. Verifique se a nova URL é válida antes de atualizar a extensão.<br />Novo: %s<br />Velho: %s'; +$lang['error_badurl'] = 'O URL deve começar com http ou https'; +$lang['error_dircreate'] = 'Impossível criar pasta temporária para receber o download'; +$lang['error_download'] = 'Impossável baixar o arquivo: %s'; +$lang['error_decompress'] = 'Impossável descompimir o arquivo baixado. Isso pode ser resultado de um download ruim que neste caso pode ser tentado novamente; ou o formato da compressão pode ser desconhecido, neste caso baixe e instale manualmente.'; +$lang['error_findfolder'] = 'Impossíl identificar a extensão do diretório, você deve baixar e instalar manualmente.'; +$lang['error_copy'] = 'Houve um erro de cópia de arquivo durante a tentativa de instalar os arquivos para o diretório <em>%s</em> : o disco pode estar cheio ou as permissões de acesso ao arquivo podem estar incorreta. Isso pode ter resultado em um plugin parcialmente instalado e deixar a sua instalação wiki instável'; +$lang['noperms'] = 'Diretório de extensão não é gravável'; +$lang['notplperms'] = 'Diretório de modelo (Template) não é gravável'; +$lang['nopluginperms'] = 'Diretório de plugin não é gravável'; +$lang['git'] = 'A extensão foi instalada via git, você talvez não queira atualizá-lo aqui.'; +$lang['auth'] = 'O plugin auth não está ativado na configuração, considere desativá-lo.'; +$lang['install_url'] = 'Instale a partir do URL:'; +$lang['install_upload'] = 'Publicar Extensão:'; +$lang['repo_error'] = 'O repositório de plugin não pode ser contactado. Certifique-se de que o servidor pode acessar www.dokuwiki.org e confira suas configurações de proxy.'; +$lang['nossl'] = 'Sua instalação PHP parece que não suporta SSL. Algumas extensões DokuWiki não serão baixadas.'; diff --git a/wiki/lib/plugins/extension/lang/pt/intro_install.txt b/wiki/lib/plugins/extension/lang/pt/intro_install.txt new file mode 100644 index 0000000..5e58713 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/pt/intro_install.txt @@ -0,0 +1 @@ +Aqui você pode instalar manualmente plugins e modelos ou enviando-os (upload) ou fornecendo uma URL de download direto. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/pt/intro_plugins.txt b/wiki/lib/plugins/extension/lang/pt/intro_plugins.txt new file mode 100644 index 0000000..fcfaa5c --- /dev/null +++ b/wiki/lib/plugins/extension/lang/pt/intro_plugins.txt @@ -0,0 +1 @@ +Estes são os plugins instalados atualmente em seu DokuWiki. Você pode ativar ou desativar ou desinstala-los completamente aqui. Atualizações de plugins também são mostradas aqui, não se esqueça de ler a documentação do plug-in antes de atualizar. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/pt/intro_search.txt b/wiki/lib/plugins/extension/lang/pt/intro_search.txt new file mode 100644 index 0000000..be39a98 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/pt/intro_search.txt @@ -0,0 +1 @@ +Esta guia lhe dá acesso a todos os plugins e modelos de terceiros disponíveis DokuWiki. Por favor, esteja ciente de que a instalação de componentes de terceiros pode representar um risco de segurança ** **, você pode querer ler sobre [[doku> segurança # plugin_security | segurança plug-in]] antes de realizar a instalação de módulos de terceiros. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/pt/intro_templates.txt b/wiki/lib/plugins/extension/lang/pt/intro_templates.txt new file mode 100644 index 0000000..02bc336 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/pt/intro_templates.txt @@ -0,0 +1 @@ +Estes são os modelos atualmente instalados em seu DokuWiki. Você pode selecionar o modelo a ser usado no [[?do=admin&page=config|Configuration Manager]]. diff --git a/wiki/lib/plugins/extension/lang/pt/lang.php b/wiki/lib/plugins/extension/lang/pt/lang.php new file mode 100644 index 0000000..e31907c --- /dev/null +++ b/wiki/lib/plugins/extension/lang/pt/lang.php @@ -0,0 +1,140 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Guido Salatino <guidorafael23@gmail.com> + * @author Romulo Pereira <romuloccomp@gmail.com> + * @author Paulo Carmino <contato@paulocarmino.com> + * @author Alfredo Silva <alfredo.silva@sky.com> + * @author Guilherme Sá <guilherme.sa@hotmail.com> + */ +$lang['menu'] = 'Gerenciador de Extensões'; +$lang['tab_plugins'] = 'Plugins Instalados'; +$lang['tab_templates'] = 'Modelos Instalados'; +$lang['tab_search'] = 'Pesquisar e Instalar'; +$lang['tab_install'] = 'Instalação Manual'; +$lang['notimplemented'] = 'Este recurso não foi implementado ainda'; +$lang['notinstalled'] = 'Esta extensão não está instalada'; +$lang['alreadyenabled'] = 'Esta extensão já foi ativada'; +$lang['alreadydisabled'] = 'Esta extensão já foi desativada'; +$lang['pluginlistsaveerror'] = 'Houve um erro ao salvar a lista de plugins'; +$lang['unknownauthor'] = 'Autor desconhecido'; +$lang['unknownversion'] = 'Versão desconhecida'; +$lang['btn_info'] = 'Mostrar mais informações'; +$lang['btn_update'] = 'Atualizar'; +$lang['btn_uninstall'] = 'Desinstalar'; +$lang['btn_enable'] = 'Habilitar'; +$lang['btn_disable'] = 'Desabilitar'; +$lang['btn_install'] = 'Instalar'; +$lang['btn_reinstall'] = 'Reinstalar'; +$lang['js']['reallydel'] = 'Confirma a desinstalação desta extensão?'; +$lang['js']['display_viewoptions'] = 'Ver Opções:'; +$lang['js']['display_enabled'] = 'ativado'; +$lang['js']['display_disabled'] = 'desativado'; +$lang['js']['display_updatable'] = 'atualizável'; +$lang['search_for'] = 'Pesquisar Extensão:'; +$lang['search'] = 'Pesquisar'; +$lang['extensionby'] = '<strong>%s</strong> by %s'; +$lang['screenshot'] = 'Screenshot of %s'; +$lang['popularity'] = 'Popularidade: %s%%'; +$lang['homepage_link'] = 'Documentos'; +$lang['bugs_features'] = 'Erros'; +$lang['tags'] = 'Tags:'; +$lang['author_hint'] = 'Pesquisar extensões deste autor'; +$lang['installed'] = 'Instalado: +'; +$lang['downloadurl'] = 'Baixar URL: +'; +$lang['repository'] = 'Repositório: +'; +$lang['unknown'] = '<em> desconhecido </em> +'; +$lang['installed_version'] = 'Versão instalada:'; +$lang['install_date'] = 'Sua última atualização:'; +$lang['available_version'] = 'Versão disponível: +'; +$lang['compatible'] = 'Compatível com:'; +$lang['depends'] = 'Depende de: +'; +$lang['similar'] = 'Semelhante a: +'; +$lang['conflicts'] = 'Conflitos com: +'; +$lang['donate'] = 'Assim? +'; +$lang['donate_action'] = 'Pague um café para o autor!'; +$lang['repo_retry'] = 'Tentar novamente +'; +$lang['provides'] = 'Fornece: +'; +$lang['status'] = 'Status: +'; +$lang['status_installed'] = 'instalado +'; +$lang['status_not_installed'] = 'não instalado +'; +$lang['status_protected'] = 'protegido +'; +$lang['status_enabled'] = 'habilitado'; +$lang['status_disabled'] = 'desabilitado'; +$lang['status_unmodifiable'] = 'imodificável +'; +$lang['status_plugin'] = 'plugin +'; +$lang['status_template'] = 'modelo +'; +$lang['status_bundled'] = 'empacotado +'; +$lang['msg_enabled'] = 'Plugin %s habilitado +'; +$lang['msg_disabled'] = 'Plugin %s desabilitado'; +$lang['msg_delete_success'] = 'Extensão %s desinstalada'; +$lang['msg_delete_failed'] = 'Desinstalar Extensão %s falhou +'; +$lang['msg_template_install_success'] = 'Modelo %s instalado com sucesso'; +$lang['msg_template_update_success'] = 'Modelo %s atualizado com sucesso +'; +$lang['msg_plugin_install_success'] = 'Plugin %s instalado com sucesso +'; +$lang['msg_plugin_update_success'] = 'Plugin %s atualizado com sucesso +'; +$lang['msg_upload_failed'] = 'Enviando o arquivo falhou +'; +$lang['missing_dependency'] = '<strong>dependência ausente ou desabilitada:</strong> %s +'; +$lang['security_issue'] = '<strong> Questão de segurança:</strong> %s +'; +$lang['security_warning'] = '<strong> Aviso de segurança:</strong> %s'; +$lang['update_available'] = '<strong>Atualização:</strong> Nova versão %s está disponível. +'; +$lang['wrong_folder'] = '<strong>Plugin instalado incorretamente: </strong> Renomear pasta de plugins de "%s" para "%s". +'; +$lang['url_change'] = '<strong>URL mudou: </strong> URL para download mudou desde o último download. Verifique se a nova URL é válida antes de atualizar a extensão <br/> Nova:%s<br/>Antiga:%s +'; +$lang['error_badurl'] = 'URLs deve começar com http ou https +'; +$lang['error_dircreate'] = 'Não é possível criar pasta temporária para receber o download +'; +$lang['error_download'] = 'Não é possível baixar o arquivo:%s +'; +$lang['error_decompress'] = 'Não é possível descompactar o arquivo baixado. Talvez seja resultado de um download ruim, nesse caso, você deve tentar novamente; ou o formato de compressão pode ser desconhecido, nesse caso, você precisará baixar e instalar manualmente.'; +$lang['error_findfolder'] = 'Não foi possível identificar diretório de extensão, você precisa baixar e instalar manualmente +'; +$lang['error_copy'] = 'Houve um erro na cópia do arquivo durante a tentativa de instalar os arquivos para o diretório <em>%s </em>: o disco pode estar cheio ou as permissões de acesso ao arquivo podem estar incorretas. Isso pode ter resultado em um plugin parcialmente instalado e tornar instável a sua instalação wiki +'; +$lang['noperms'] = 'Diretório da extensão não é gravável +'; +$lang['notplperms'] = 'Diretório do modelo não é gravável +'; +$lang['nopluginperms'] = 'Diretório do plugin não é gravável +'; +$lang['git'] = 'Esta extensão foi instalada via git, você não pode querer atualizá-la aqui. +'; +$lang['auth'] = 'Este plugin não está habilitado na configuração, considere desabilita-lo.'; +$lang['install_url'] = 'Instalar a partir da URL:'; +$lang['install_upload'] = 'Publique a Extensão:'; +$lang['repo_error'] = 'O repositório do plugin não pôde ser conectado. Verifique se o seu servidor está autorizado a conectar com www.dokuwiki.org e verifique as configurações de proxy do servidor. +'; +$lang['nossl'] = 'Seu PHP parece que perdeu o suporte a SSL. O download não vai funcionar para muitas extensões DokuWiki. +'; diff --git a/wiki/lib/plugins/extension/lang/ru/intro_install.txt b/wiki/lib/plugins/extension/lang/ru/intro_install.txt new file mode 100644 index 0000000..0c555ae --- /dev/null +++ b/wiki/lib/plugins/extension/lang/ru/intro_install.txt @@ -0,0 +1 @@ +Здесь вы можете самостоятельно установить плагины и шаблоны, загрузив их или предоставив прямой URL для скачивания. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/ru/intro_plugins.txt b/wiki/lib/plugins/extension/lang/ru/intro_plugins.txt new file mode 100644 index 0000000..96d1742 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/ru/intro_plugins.txt @@ -0,0 +1 @@ +Плагины, установленные в вашей «Докувики». Здесь вы можете их включить/отключить или даже полностью удалить. Также здесь показываются обновления плагинов; обязательно прочтите документацию плагина перед обновлением. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/ru/intro_search.txt b/wiki/lib/plugins/extension/lang/ru/intro_search.txt new file mode 100644 index 0000000..609985b --- /dev/null +++ b/wiki/lib/plugins/extension/lang/ru/intro_search.txt @@ -0,0 +1 @@ +Вкладка даёт вам доступ ко всем имеющимся сторонним плагинам и шаблонам для «Докувики». Имейте в виду, что установка стороннего кода может представлять **угрозу безопасности,** возможно вам нужно сперва прочитать о [[doku>security#plugin_security|безопасности плагинов]]. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/ru/intro_templates.txt b/wiki/lib/plugins/extension/lang/ru/intro_templates.txt new file mode 100644 index 0000000..a71ad67 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/ru/intro_templates.txt @@ -0,0 +1 @@ +Шаблоны (темы оформления), установленные в вашей «Докувики». Шаблон, который нужно использовать, выбирается в [[?do=admin&page=config|настройках вики]] \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/ru/lang.php b/wiki/lib/plugins/extension/lang/ru/lang.php new file mode 100644 index 0000000..97ad123 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/ru/lang.php @@ -0,0 +1,100 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Aleksandr Selivanov <alexgearbox@yandex.ru> + * @author Igor Degraf <igordegraf@gmail.com> + * @author Type-kun <workwork-1@yandex.ru> + * @author Vitaly Filatenko <kot@hacktest.net> + * @author Alex P <alexander@lanos.co.uk> + * @author Takumo <9206984@mail.ru> + */ +$lang['menu'] = 'Управление дополнениями'; +$lang['tab_plugins'] = 'Установленные плагины'; +$lang['tab_templates'] = 'Установленные шаблоны'; +$lang['tab_search'] = 'Поиск и установка'; +$lang['tab_install'] = 'Ручная установка'; +$lang['notimplemented'] = 'Эта возможность ещё не реализована'; +$lang['notinstalled'] = 'Это дополнение не установлено'; +$lang['alreadyenabled'] = 'Это дополнение уже включено'; +$lang['alreadydisabled'] = 'Это дополнение уже отключено'; +$lang['pluginlistsaveerror'] = 'Ошибка при сохранении списка плагинов'; +$lang['unknownauthor'] = 'Автор неизвестен'; +$lang['unknownversion'] = 'Версия неизвестна'; +$lang['btn_info'] = 'Подробнее'; +$lang['btn_update'] = 'Обновить'; +$lang['btn_uninstall'] = 'Удалить'; +$lang['btn_enable'] = 'Включить'; +$lang['btn_disable'] = 'Отключить'; +$lang['btn_install'] = 'Установить'; +$lang['btn_reinstall'] = 'Переустановить'; +$lang['js']['reallydel'] = 'Действительно удалить это дополнение?'; +$lang['js']['display_viewoptions'] = 'Показать как:'; +$lang['js']['display_enabled'] = 'включён'; +$lang['js']['display_disabled'] = 'отключён'; +$lang['js']['display_updatable'] = 'обновление'; +$lang['search_for'] = 'Поиск дополнения'; +$lang['search'] = 'Найти'; +$lang['extensionby'] = '<strong>%s</strong> %s'; +$lang['screenshot'] = 'Скриншот: %s'; +$lang['popularity'] = 'Популярность: %s%%'; +$lang['homepage_link'] = 'Описание'; +$lang['bugs_features'] = 'Баг-трекер'; +$lang['tags'] = 'Метки:'; +$lang['author_hint'] = 'Найти дополнения этого автора'; +$lang['installed'] = 'Установлен'; +$lang['downloadurl'] = 'URL скачивания'; +$lang['repository'] = 'Репозиторий'; +$lang['unknown'] = '<em>неизвестно</em>'; +$lang['installed_version'] = 'Версия'; +$lang['install_date'] = 'Обновлено'; +$lang['available_version'] = 'Доступная версия'; +$lang['compatible'] = 'Совместимость'; +$lang['depends'] = 'Зависит от'; +$lang['similar'] = 'Похож на'; +$lang['conflicts'] = 'Конфликтует с'; +$lang['donate'] = 'Нравится?'; +$lang['donate_action'] = 'Купить автору кофе!'; +$lang['repo_retry'] = 'Повторить'; +$lang['provides'] = 'Предоставляет'; +$lang['status'] = 'Статус'; +$lang['status_installed'] = 'установлен'; +$lang['status_not_installed'] = 'не установлен'; +$lang['status_protected'] = 'защищён'; +$lang['status_enabled'] = 'включён'; +$lang['status_disabled'] = 'отключён'; +$lang['status_unmodifiable'] = 'неизменяем'; +$lang['status_plugin'] = 'плагин'; +$lang['status_template'] = 'шаблон'; +$lang['status_bundled'] = 'в комплекте'; +$lang['msg_enabled'] = 'Плагин %s включён'; +$lang['msg_disabled'] = 'Плагин %s отключён'; +$lang['msg_delete_success'] = 'Дополнение %s удалено'; +$lang['msg_delete_failed'] = 'Не удалось удалить дополнение %s'; +$lang['msg_template_install_success'] = 'Шаблон %s успешно установлен'; +$lang['msg_template_update_success'] = 'Шаблон %s успешно обновлён'; +$lang['msg_plugin_install_success'] = 'Плагин %s успешно установлен'; +$lang['msg_plugin_update_success'] = 'Плагин %s успешно обновлён'; +$lang['msg_upload_failed'] = 'Не удалось загрузить файл'; +$lang['missing_dependency'] = '<strong>Отсутствует или отключена зависимость:</strong> %s'; +$lang['security_issue'] = '<strong>Проблема безопасности:</strong> %s'; +$lang['security_warning'] = '<strong>Предупреждение безопасности:</strong> %s'; +$lang['update_available'] = '<strong>Обновление:</strong> доступна новая версия %s'; +$lang['wrong_folder'] = '<strong>Плагин установлен неправильно:</strong> переименуйте директорию плагина из %s в %s'; +$lang['url_change'] = '<strong>Ссылка изменилась:</strong> ссылка для загрузки изменилась с прошлого раза. Проверьте новую ссылку прежде, чем обновлять дополнение.<br />Новая: %s<br />Старая: %s'; +$lang['error_badurl'] = 'Ссылка должна начинаться с http или https'; +$lang['error_dircreate'] = 'Не удалось создать временную директорию для загрузки'; +$lang['error_download'] = 'Не удалось загрузить файл: %s'; +$lang['error_decompress'] = 'Не удалось распаковать загруженный файл. Возможно, файл был повреждён при загрузке — тогда нужно попробовать ещё раз. Либо неизвестен формат архива — тогда загрузку и установку надо произвести вручную'; +$lang['error_findfolder'] = 'Не удалось определить директорию для дополнения, загрузку и установку надо произвести вручную.'; +$lang['error_copy'] = 'Возникла ошибка копирования файлов в директорию <em>%s</em>: возможно, диск переполнен, или неверно выставлены права доступа. Это могло привести к неполной установке плагина и нарушить работу вашей вики.'; +$lang['noperms'] = 'Директория для дополнений недоступна для записи'; +$lang['notplperms'] = 'Директория для шаблонов недоступна для записи'; +$lang['nopluginperms'] = 'Директория для плагинов недоступна для записи'; +$lang['git'] = 'Это дополнение было установлено через git. Вы не можете обновить его тут.'; +$lang['auth'] = 'Этот auth-плагин не включён в конфигурации, подумайте об его отключении'; +$lang['install_url'] = 'Установить с адреса'; +$lang['install_upload'] = 'Загрузить дополнение'; +$lang['repo_error'] = 'Сайт с плагинами недоступен. Убедитесь, что у сайта есть доступ на www.dokuwiki.org, а также проверьте настройки соединения прокси.'; +$lang['nossl'] = 'Ваша PHP-конфигурация не имеет SSL-поддержки. Это нарушит скачивание для многих дополнений.'; diff --git a/wiki/lib/plugins/extension/lang/sk/lang.php b/wiki/lib/plugins/extension/lang/sk/lang.php new file mode 100644 index 0000000..775e89a --- /dev/null +++ b/wiki/lib/plugins/extension/lang/sk/lang.php @@ -0,0 +1,61 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Martin Michalek <michalek.dev@gmail.com> + */ +$lang['tab_plugins'] = 'Inštalované pluginy'; +$lang['tab_templates'] = 'Inštalované šablóny'; +$lang['tab_search'] = 'Hľadanie e inštalácia'; +$lang['tab_install'] = 'Manuálna inštalácia'; +$lang['notimplemented'] = 'Táto vlastnosť ešte nebola implementovaná'; +$lang['unknownauthor'] = 'Neznámy autor'; +$lang['unknownversion'] = 'Neznáma verzia'; +$lang['btn_info'] = 'Viac informácií'; +$lang['btn_update'] = 'Aktualizácia'; +$lang['btn_uninstall'] = 'Odinštalovanie'; +$lang['btn_enable'] = 'Povolenie'; +$lang['btn_disable'] = 'Zablokovanie'; +$lang['btn_install'] = 'Inštalácia'; +$lang['btn_reinstall'] = 'Re-Inštalácia'; +$lang['search'] = 'Vyhľadávanie'; +$lang['extensionby'] = '<strong>%s</strong> od %s'; +$lang['screenshot'] = 'Obrázok od %s'; +$lang['popularity'] = 'Popularita: %s%%'; +$lang['homepage_link'] = 'Dokumentácia'; +$lang['bugs_features'] = 'Chyby:'; +$lang['tags'] = 'Kľúčové slová:'; +$lang['unknown'] = '<em>neznámy</em>'; +$lang['installed_version'] = 'Inštalovaná verzia:'; +$lang['install_date'] = 'Posledná aktualizácia:'; +$lang['available_version'] = 'Dostupné verzie:'; +$lang['compatible'] = 'Kompaktibilita:'; +$lang['similar'] = 'Podobné:'; +$lang['conflicts'] = 'V konflikte:'; +$lang['status_installed'] = 'inštalovaný'; +$lang['status_not_installed'] = 'neinštalovaný'; +$lang['status_protected'] = 'chránený'; +$lang['status_enabled'] = 'povolený'; +$lang['status_disabled'] = 'nepovolený'; +$lang['status_plugin'] = 'plugin'; +$lang['status_template'] = 'šablóna'; +$lang['msg_enabled'] = 'Plugin %s povolený'; +$lang['msg_disabled'] = 'Plugin %s nepovolený'; +$lang['msg_template_install_success'] = 'Šablóna %s úspešne nainštalovaná'; +$lang['msg_template_update_success'] = 'Šablóna %s úspešne aktualizovaná'; +$lang['msg_plugin_install_success'] = 'Plugin %s úspešne nainštalovaný'; +$lang['msg_plugin_update_success'] = 'Plugin %s úspešne aktualizovaný'; +$lang['msg_upload_failed'] = 'Nahrávanie súboru zlyhalo'; +$lang['missing_dependency'] = '<strong>Chýbajúca alebo nepovolená závislosť:</strong> %s'; +$lang['security_issue'] = '<strong>Bezpečnostný problém:</strong> %s'; +$lang['security_warning'] = '<strong>Bezpečnostné upozornenie:</strong> %s'; +$lang['update_available'] = '<strong>Aktualizácia:</strong> Nová verzia %s.'; +$lang['wrong_folder'] = '<strong>Plugin nesprávne nainštalovaný:</strong> Premenujte adresár s pluginom "%s" na "%s".'; +$lang['error_badurl'] = 'URL by mali mať na začiatku http alebo https'; +$lang['error_dircreate'] = 'Nie je možné vytvoriť dočasný adresár pre uloženie sťahovaného súboru'; +$lang['error_download'] = 'Nie je možné stiahnuť súbor: %s'; +$lang['error_decompress'] = 'Nie je možné dekomprimovať stiahnutý súbor. Môže to byť dôvodom chyby sťahovania (v tom prípade to skúste znova) alebo neznámym kompresným formátom (v tom prípade musíte stiahnuť a inštalovať manuálne).'; +$lang['error_copy'] = 'Chyba kopírovania pri inštalácii do adresára <em>%s</em>: disk môže byť plný alebo nemáte potrebné prístupové oprávnenie. Dôsledkom može byť čiastočne inštalovaný plugin a nestabilná wiki inštalácia.'; +$lang['nopluginperms'] = 'Adresár s pluginom nie je zapisovateľný.'; +$lang['install_url'] = 'Inštalácia z URL:'; diff --git a/wiki/lib/plugins/extension/lang/sr/intro_install.txt b/wiki/lib/plugins/extension/lang/sr/intro_install.txt new file mode 100644 index 0000000..b05dc2c --- /dev/null +++ b/wiki/lib/plugins/extension/lang/sr/intro_install.txt @@ -0,0 +1 @@ +Овде можете ручно инсталирати прикључке и шаблоне тако што ћете их отпремити или унети адресу за директно преузимање. \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/sr/lang.php b/wiki/lib/plugins/extension/lang/sr/lang.php new file mode 100644 index 0000000..a4fc884 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/sr/lang.php @@ -0,0 +1,66 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Марко М. Костић <marko.m.kostic@gmail.com> + */ +$lang['menu'] = 'Управник проширења'; +$lang['tab_plugins'] = 'Инсталирани прикључци'; +$lang['tab_templates'] = 'Инсталирани шаблони'; +$lang['tab_search'] = 'Тражи и инсталирај'; +$lang['tab_install'] = 'Ручно инсталирање'; +$lang['notimplemented'] = 'Ова могућност још није израђена'; +$lang['notinstalled'] = 'Ово проширење још није инсталирано'; +$lang['alreadyenabled'] = 'Ово проширење је већ омогућено'; +$lang['alreadydisabled'] = 'Ово проширење је већ онемогућено'; +$lang['pluginlistsaveerror'] = 'Догодила се грешка приликом чувања списка прикључака'; +$lang['unknownauthor'] = 'Непознат творац'; +$lang['unknownversion'] = 'Непознато издање'; +$lang['btn_info'] = 'Прикажи још података'; +$lang['btn_update'] = 'Ажурирај'; +$lang['btn_uninstall'] = 'Деинсталирај'; +$lang['btn_enable'] = 'Омогући'; +$lang['btn_disable'] = 'Онемогући'; +$lang['btn_install'] = 'Инсталирај'; +$lang['btn_reinstall'] = 'Поново инсталирај'; +$lang['js']['reallydel'] = 'Заиста деинсталирати ово проширење?'; +$lang['js']['display_viewoptions'] = 'Опције приказа:'; +$lang['js']['display_enabled'] = 'омогућено'; +$lang['js']['display_disabled'] = 'онемогућено'; +$lang['js']['display_updatable'] = 'могуће ажурирати'; +$lang['search_for'] = 'Претражи проширење:'; +$lang['search'] = 'Претрага'; +$lang['screenshot'] = 'Снимак екрана од %s'; +$lang['popularity'] = 'Популарност: %s%%'; +$lang['homepage_link'] = 'Документа'; +$lang['bugs_features'] = 'Грешке'; +$lang['tags'] = 'Ознаке:'; +$lang['author_hint'] = 'Претражи проширења овог творца'; +$lang['installed'] = 'Инсталирано:'; +$lang['downloadurl'] = 'Адреса за преузимање:'; +$lang['repository'] = 'Ризница:'; +$lang['unknown'] = '<em>непознато</em>'; +$lang['installed_version'] = 'Инсталирано издање:'; +$lang['install_date'] = 'Ваше последње ажурирање:'; +$lang['available_version'] = 'Доступно издање:'; +$lang['compatible'] = 'Подударно са:'; +$lang['depends'] = 'Зависи од:'; +$lang['similar'] = 'Слично као:'; +$lang['conflicts'] = 'У сукобу са:'; +$lang['donate'] = 'Свиђа вам се?'; +$lang['donate_action'] = 'Купите творцу шољицу кафе!'; +$lang['repo_retry'] = 'Поново покушај'; +$lang['provides'] = 'Пружа:'; +$lang['status'] = 'Стање:'; +$lang['status_installed'] = 'инсталирано'; +$lang['status_not_installed'] = 'није инсталирано'; +$lang['status_protected'] = 'заштићено'; +$lang['status_enabled'] = 'омогућено'; +$lang['status_disabled'] = 'онемогућено'; +$lang['status_unmodifiable'] = 'неизмењиво'; +$lang['status_plugin'] = 'прикључак'; +$lang['status_template'] = 'шаблон'; +$lang['status_bundled'] = 'упаковано'; +$lang['msg_enabled'] = 'Прикључак %s је омогућен'; +$lang['msg_disabled'] = 'Прикључак %s је онемогућен'; diff --git a/wiki/lib/plugins/extension/lang/sv/lang.php b/wiki/lib/plugins/extension/lang/sv/lang.php new file mode 100644 index 0000000..92d21f2 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/sv/lang.php @@ -0,0 +1,67 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Tor Härnqvist <tor@harnqvist.se> + */ +$lang['tab_templates'] = 'Installerade templat'; +$lang['tab_search'] = 'Sök och installera'; +$lang['tab_install'] = 'Manuell installation'; +$lang['notimplemented'] = 'Denna funktion har ännu inte implementerats'; +$lang['unknownauthor'] = 'Okänd skapare'; +$lang['unknownversion'] = 'Okänd version'; +$lang['btn_info'] = 'Visa mer info'; +$lang['btn_update'] = 'Uppdatera'; +$lang['btn_uninstall'] = 'Avinstallera'; +$lang['btn_enable'] = 'Aktivera'; +$lang['btn_disable'] = 'Avaktivera'; +$lang['btn_install'] = 'Installera'; +$lang['btn_reinstall'] = 'Ominstallera'; +$lang['js']['reallydel'] = 'Vill du verkligen avinstallera detta tillägg?'; +$lang['js']['display_viewoptions'] = 'Visa alternativ:'; +$lang['js']['display_enabled'] = 'aktivera'; +$lang['js']['display_disabled'] = 'avaktivera'; +$lang['js']['display_updatable'] = 'möjlig att uppdatera'; +$lang['search'] = 'Sök'; +$lang['screenshot'] = 'Skärmdump av %s'; +$lang['popularity'] = 'Populatitet: %s%%'; +$lang['homepage_link'] = 'Dokumentation'; +$lang['bugs_features'] = 'Buggar'; +$lang['tags'] = 'Taggar:'; +$lang['installed'] = 'Installerat:'; +$lang['downloadurl'] = 'Nedladdningslänk:'; +$lang['unknown'] = '<em>okänd</em>'; +$lang['installed_version'] = 'Installerad version:'; +$lang['install_date'] = 'Din senaste uppdatering:'; +$lang['available_version'] = 'Tillgänglig version:'; +$lang['compatible'] = 'Kompatibel med:'; +$lang['depends'] = 'Beroende av:'; +$lang['similar'] = 'Liknande som:'; +$lang['conflicts'] = 'Konflikt med:'; +$lang['donate'] = 'Som denna?'; +$lang['donate_action'] = 'Köp en kaffe till skaparen'; +$lang['repo_retry'] = 'Försök igen'; +$lang['status'] = 'Status:'; +$lang['status_installed'] = 'installerad'; +$lang['status_not_installed'] = 'inte installerad'; +$lang['status_protected'] = 'skyddad'; +$lang['status_enabled'] = 'aktiverad'; +$lang['status_disabled'] = 'avaktiverad'; +$lang['status_unmodifiable'] = 'ej modifierbar'; +$lang['msg_enabled'] = 'Tillägg %s aktiverat'; +$lang['msg_disabled'] = 'Tillägg %s avaktiverat'; +$lang['msg_template_install_success'] = 'Templat %s installerades framgångsrikt'; +$lang['msg_template_update_success'] = 'Templat %s uppdaterades framgångsrikt'; +$lang['msg_upload_failed'] = 'Uppladdning av filen misslyckades'; +$lang['security_warning'] = '<strong>Säkerhetsvarning:</strong> %s'; +$lang['update_available'] = '<strong>Uppdatering:</strong> Ny version av %s är tillgänglig.'; +$lang['url_change'] = '<strong>URL ändrad:</strong> Nedladdningslänken har ändrats sedan senaste nedladdning. Kontrollera om den nya sökvägen är giltig innan du uppdaterar tillägget.<br />Ny sökväg: %s<br />Gammal sökväg: %s'; +$lang['error_badurl'] = 'URL:er borde inledas med http eller https'; +$lang['error_dircreate'] = 'Kunde inte skapa temporär katalog för nedladdning'; +$lang['error_download'] = 'Kunde inte ladda ner filen: %s'; +$lang['notplperms'] = 'Templatkatalogen är inte skrivbar'; +$lang['nopluginperms'] = 'Tilläggskatalogen är inte skrivbar'; +$lang['install_url'] = 'Installera från URL:'; +$lang['install_upload'] = 'Ladda upp tillägg:'; +$lang['nossl'] = 'Din PHP tycks sakna SSL-stöd. Nedladdning kommer inte att fungera för många DokuWiki-tillägg.'; diff --git a/wiki/lib/plugins/extension/lang/tr/lang.php b/wiki/lib/plugins/extension/lang/tr/lang.php new file mode 100644 index 0000000..c90b7b1 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/tr/lang.php @@ -0,0 +1,61 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author İlker R. Kapaç <irifat@gmail.com> + * @author Mete Cuma <mcumax@gmail.com> + */ +$lang['menu'] = 'Genişletme Yöneticisi'; +$lang['tab_plugins'] = 'Kurulmuş Eklentiler'; +$lang['tab_templates'] = 'Kurulmuş Şablonlar'; +$lang['tab_search'] = 'Ara ve Kur'; +$lang['tab_install'] = 'Elle Kurulum'; +$lang['notimplemented'] = 'Bu özellik henüz uygulamaya geçmemiştir'; +$lang['notinstalled'] = 'Bu genişletme yüklü değildir'; +$lang['alreadyenabled'] = 'Bu genişletme zaten etkinleştirilmiştir.'; +$lang['alreadydisabled'] = 'Bu genişletme zaten pasifleştirilmiştir'; +$lang['pluginlistsaveerror'] = 'Eklenti listesini kaydederken bir hata oluştu.'; +$lang['unknownauthor'] = 'Bilinmeyen yazar'; +$lang['unknownversion'] = 'Bilinmeyen sürüm'; +$lang['btn_info'] = 'Daha fazla bilgi göster'; +$lang['btn_update'] = 'Güncelle'; +$lang['btn_uninstall'] = 'Kaldır'; +$lang['btn_enable'] = 'Etkinleştir'; +$lang['btn_disable'] = 'Pasifleştir'; +$lang['btn_install'] = 'Kur'; +$lang['btn_reinstall'] = 'Yeniden kur'; +$lang['js']['reallydel'] = 'Genişletme gerçekten kaldırılsın mı?'; +$lang['search_for'] = 'Genişletme Ara:'; +$lang['search'] = 'Ara'; +$lang['extensionby'] = '<strong>%s</strong> tarafından %s'; +$lang['screenshot'] = '%s ekran görüntüsü'; +$lang['popularity'] = 'Rağbet: %s%%'; +$lang['homepage_link'] = 'Belgeler'; +$lang['bugs_features'] = 'Hatalar'; +$lang['tags'] = 'Etiketler:'; +$lang['author_hint'] = 'Bu yazarın genişletmelerini ara.'; +$lang['installed'] = 'Kurulu:'; +$lang['downloadurl'] = 'İndirme bağlantısı:'; +$lang['repository'] = 'Veri havuzu:'; +$lang['unknown'] = '<em>bilinmeyen</em>'; +$lang['installed_version'] = 'Kurulu sürüm:'; +$lang['install_date'] = 'Son güncellemeniz:'; +$lang['available_version'] = 'Müsait sürüm:'; +$lang['compatible'] = 'Şununla uyumlu:'; +$lang['depends'] = 'Şuna bağımlı'; +$lang['similar'] = 'Şununla benzer'; +$lang['conflicts'] = 'Şununla çelişir:'; +$lang['donate'] = 'Beğendiniz mi?'; +$lang['donate_action'] = 'Yazara bir kahve ısmarlayın!'; +$lang['repo_retry'] = 'Yeniden dene'; +$lang['provides'] = 'Sağlar:'; +$lang['status'] = 'Durum:'; +$lang['status_installed'] = 'kurulu'; +$lang['status_not_installed'] = 'kurulu değil'; +$lang['status_protected'] = 'korunmuş'; +$lang['status_enabled'] = 'etkin'; +$lang['status_disabled'] = 'hizmet dışı'; +$lang['status_unmodifiable'] = 'değiştirilemez'; +$lang['status_plugin'] = 'eklenti'; +$lang['status_template'] = 'şablon'; diff --git a/wiki/lib/plugins/extension/lang/zh-tw/intro_install.txt b/wiki/lib/plugins/extension/lang/zh-tw/intro_install.txt new file mode 100644 index 0000000..3ba93f5 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/zh-tw/intro_install.txt @@ -0,0 +1 @@ +在此你可以透過檔案上傳或提供下載網址的方式,進行手動安裝外掛與版型風格。 \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/zh-tw/intro_plugins.txt b/wiki/lib/plugins/extension/lang/zh-tw/intro_plugins.txt new file mode 100644 index 0000000..b5b77a2 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/zh-tw/intro_plugins.txt @@ -0,0 +1 @@ +已經有一些外掛套件被安裝在你的DokuWiki之中。你可以在這裡啟用、禁用,甚至是完全移除它們。如外掛可更新也同時會顯示在這裡,請確保在更新前先閱讀過該套件之文件。 \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/zh-tw/lang.php b/wiki/lib/plugins/extension/lang/zh-tw/lang.php new file mode 100644 index 0000000..8087778 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/zh-tw/lang.php @@ -0,0 +1,85 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Stan <talktostan@gmail.com> + * @author June-Hao Hou <junehao@gmail.com> + * @author lioujheyu <lioujheyu@gmail.com> + * @author Liou, Jhe-Yu <lioujheyu@gmail.com> + */ +$lang['menu'] = '延伸功能管理'; +$lang['tab_plugins'] = '已安裝外掛'; +$lang['tab_templates'] = '已安裝裝模版 +'; +$lang['tab_search'] = '搜尋與安裝'; +$lang['tab_install'] = '手動安裝'; +$lang['notimplemented'] = '此功能尚未完成'; +$lang['notinstalled'] = '此延伸功能尚未安裝'; +$lang['alreadyenabled'] = '此延伸功能已經安裝'; +$lang['alreadydisabled'] = '此延伸功能停用'; +$lang['unknownauthor'] = '作者未知'; +$lang['unknownversion'] = '版本未知'; +$lang['btn_info'] = '顯示更多訊息'; +$lang['btn_update'] = '更新'; +$lang['btn_uninstall'] = '移除安裝'; +$lang['btn_enable'] = '啟用'; +$lang['btn_disable'] = '停用'; +$lang['btn_install'] = '安裝'; +$lang['btn_reinstall'] = '重新安裝'; +$lang['js']['reallydel'] = '確定要移除此延伸功能?'; +$lang['js']['display_enabled'] = '啟用'; +$lang['js']['display_disabled'] = '禁用'; +$lang['js']['display_updatable'] = '可更新'; +$lang['search_for'] = '搜尋延伸功能:'; +$lang['search'] = '搜尋'; +$lang['homepage_link'] = '文件'; +$lang['tags'] = '標籤:'; +$lang['author_hint'] = '搜尋相同作者的延伸功能'; +$lang['installed'] = '已安裝:'; +$lang['downloadurl'] = '下載網址:'; +$lang['unknown'] = '<em>未知</em>'; +$lang['installed_version'] = '已安裝版本:'; +$lang['install_date'] = '你最後一次更新: '; +$lang['available_version'] = '可用版本:'; +$lang['compatible'] = '相容於:'; +$lang['depends'] = '依賴於: '; +$lang['similar'] = '類似於: '; +$lang['conflicts'] = '相衝突於: '; +$lang['donate'] = '像這樣?'; +$lang['donate_action'] = '請作者一杯咖啡!'; +$lang['repo_retry'] = '再試一次'; +$lang['status'] = '狀態:'; +$lang['status_installed'] = '已安裝'; +$lang['status_not_installed'] = '未安裝'; +$lang['status_protected'] = '已保護'; +$lang['status_enabled'] = '作用中'; +$lang['status_disabled'] = '停用中'; +$lang['status_unmodifiable'] = '不可更動'; +$lang['status_plugin'] = '外掛'; +$lang['status_template'] = '模板'; +$lang['status_bundled'] = '已綑綁內附'; +$lang['msg_enabled'] = '外掛 %s 已啟用'; +$lang['msg_disabled'] = '外掛 %s 已禁用'; +$lang['msg_delete_failed'] = '解除安裝 %s 失敗'; +$lang['msg_template_install_success'] = '模板 %s 以成功安裝'; +$lang['msg_template_update_success'] = '模板 %s 以成功更新'; +$lang['msg_plugin_install_success'] = '外掛 %s 以成功安裝'; +$lang['msg_plugin_update_success'] = '外掛 %s 以成功更新'; +$lang['msg_upload_failed'] = '上傳檔案失敗'; +$lang['missing_dependency'] = '<strong>遺失或禁用相依性套件:</strong> %s'; +$lang['security_issue'] = '<strong>安全性問題:</strong> %s'; +$lang['security_warning'] = '<strong>安全問題警告:</strong> %s'; +$lang['update_available'] = '<strong>更新:</strong> 已可取得 %s 的新版本'; +$lang['wrong_folder'] = '<strong>外掛安裝不正確:</strong> 將外掛資料夾從 "%s" 更名至 "%s"。'; +$lang['url_change'] = '<strong>網址已變更:</strong> 自從上次下載後下載網址已變更。在更新延伸功能前請先檢查新網址是否可用。<br />新: %s<br />舊: %s'; +$lang['error_dircreate'] = '無法建立暫存目錄以接收下載檔案'; +$lang['error_download'] = '無法下載檔案:%s'; +$lang['error_decompress'] = '無法解壓縮檔案。這可能是下載品質不佳所致,在這個情況下你應該再試一次;也有可能是因為無法辨識的壓縮格式,在這個情況下你應該自行下載並手動安裝'; +$lang['error_findfolder'] = '無法辨認延伸功能資料夾,你必須自行下載並手動安裝'; +$lang['noperms'] = '延伸功能資料夾無法寫入'; +$lang['notplperms'] = '版型資料夾無法寫入'; +$lang['nopluginperms'] = '外掛資料夾無法寫入'; +$lang['git'] = '此延伸功能是透過git安裝的,最好不要用上傳方式。'; +$lang['install_url'] = '透過網址安裝:'; +$lang['install_upload'] = '上傳延伸功能:'; diff --git a/wiki/lib/plugins/extension/lang/zh/intro_install.txt b/wiki/lib/plugins/extension/lang/zh/intro_install.txt new file mode 100644 index 0000000..6408393 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/zh/intro_install.txt @@ -0,0 +1 @@ +你可以通过上传或直接提供下载链接来安装插件和模板。 \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/zh/intro_plugins.txt b/wiki/lib/plugins/extension/lang/zh/intro_plugins.txt new file mode 100644 index 0000000..69cb343 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/zh/intro_plugins.txt @@ -0,0 +1 @@ +这些是你当前已经安装的插件。你可以在这里启用和禁用甚至卸载它们。插件的更新信息也显示在这,请一定在更新之前阅读插件的文档。 \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/zh/intro_search.txt b/wiki/lib/plugins/extension/lang/zh/intro_search.txt new file mode 100644 index 0000000..ebc7e99 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/zh/intro_search.txt @@ -0,0 +1 @@ +这个标签会为你展示所有 DokuWiki 的第三方插件和模板。但你需要知道这些由第三方提供的代码可能会给你带来**安全方面的风险**,你最好先读一下[[doku>security#plugin_security|插件安全性]]。 \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/zh/intro_templates.txt b/wiki/lib/plugins/extension/lang/zh/intro_templates.txt new file mode 100644 index 0000000..10c1bed --- /dev/null +++ b/wiki/lib/plugins/extension/lang/zh/intro_templates.txt @@ -0,0 +1 @@ +DokuWiki 当前所使用的模板已经安装了,你可以在[[?do=admin&page=config|配置管理器]]里选择你要的模板。 \ No newline at end of file diff --git a/wiki/lib/plugins/extension/lang/zh/lang.php b/wiki/lib/plugins/extension/lang/zh/lang.php new file mode 100644 index 0000000..622a007 --- /dev/null +++ b/wiki/lib/plugins/extension/lang/zh/lang.php @@ -0,0 +1,101 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author lempel <riverlempel@hotmail.com> + * @author Cupen <Cupenoruler@foxmail.com> + * @author xiqingongzi <Xiqingongzi@Gmail.com> + * @author qinghao <qingxianhao@gmail.com> + * @author lainme <lainme993@gmail.com> + * @author Errol <errol@hotmail.com> + * @author phy25 <git@phy25.com> + */ +$lang['menu'] = '扩展管理器'; +$lang['tab_plugins'] = '安装插件'; +$lang['tab_templates'] = '安装模板'; +$lang['tab_search'] = '搜索和安装'; +$lang['tab_install'] = '手动安装'; +$lang['notimplemented'] = '未实现的特性'; +$lang['notinstalled'] = '该扩展未安装'; +$lang['alreadyenabled'] = '该扩展已激活'; +$lang['alreadydisabled'] = '该扩展已关闭'; +$lang['pluginlistsaveerror'] = '保存插件列表时碰到个错误'; +$lang['unknownauthor'] = '未知作者'; +$lang['unknownversion'] = '未知版本'; +$lang['btn_info'] = '查看更多信息'; +$lang['btn_update'] = '更新'; +$lang['btn_uninstall'] = '卸载'; +$lang['btn_enable'] = '激活'; +$lang['btn_disable'] = '关闭'; +$lang['btn_install'] = '安装'; +$lang['btn_reinstall'] = '重新安装'; +$lang['js']['reallydel'] = '确定卸载这个扩展么?'; +$lang['js']['display_viewoptions'] = '查看选项:'; +$lang['js']['display_enabled'] = '启用'; +$lang['js']['display_disabled'] = '禁用'; +$lang['js']['display_updatable'] = '可更新'; +$lang['search_for'] = '搜索扩展'; +$lang['search'] = '搜索'; +$lang['extensionby'] = '<strong>%s</strong> by %s'; +$lang['screenshot'] = '%s 的截图'; +$lang['popularity'] = '人气: %s%%'; +$lang['homepage_link'] = '文档'; +$lang['bugs_features'] = '错误'; +$lang['tags'] = '标签:'; +$lang['author_hint'] = '搜索这个作者的插件'; +$lang['installed'] = '已安装的:'; +$lang['downloadurl'] = '下载地址:'; +$lang['repository'] = '版本库:'; +$lang['unknown'] = '<em>未知的</em>'; +$lang['installed_version'] = '已安装版本:'; +$lang['install_date'] = '您的最后一次升级:'; +$lang['available_version'] = '可用版本:'; +$lang['compatible'] = '兼容于:'; +$lang['depends'] = '依赖于:'; +$lang['similar'] = '相似于:'; +$lang['conflicts'] = '冲突于:'; +$lang['donate'] = '喜欢?'; +$lang['donate_action'] = '捐给作者一杯咖啡钱!'; +$lang['repo_retry'] = '重试'; +$lang['provides'] = '提供:'; +$lang['status'] = '现状:'; +$lang['status_installed'] = '已安装的'; +$lang['status_not_installed'] = '未安装'; +$lang['status_protected'] = '受保护'; +$lang['status_enabled'] = '启用'; +$lang['status_disabled'] = '禁用'; +$lang['status_unmodifiable'] = '不可修改'; +$lang['status_plugin'] = '插件'; +$lang['status_template'] = '模板'; +$lang['status_bundled'] = '内建'; +$lang['msg_enabled'] = '插件 %s 已启用'; +$lang['msg_disabled'] = '插件 %s 已禁用'; +$lang['msg_delete_success'] = '%s 扩展没有安装'; +$lang['msg_delete_failed'] = '卸载扩展 %s 失败'; +$lang['msg_template_install_success'] = '模板 %s 安装成功'; +$lang['msg_template_update_success'] = '模板 %s 更新成功'; +$lang['msg_plugin_install_success'] = '插件 %s 安装成功'; +$lang['msg_plugin_update_success'] = '插件 %s 更新成功'; +$lang['msg_upload_failed'] = '上传文件失败'; +$lang['missing_dependency'] = '<strong>缺少或者被禁用依赖:</strong> %s'; +$lang['security_issue'] = '<strong>安全问题:</strong> %s'; +$lang['security_warning'] = '<strong>安全警告:</strong> %s'; +$lang['update_available'] = '<strong>更新:</strong>新版本 %s 已经可用。'; +$lang['wrong_folder'] = '<strong>插件安装不正确:</strong>重命名插件目录 "%s" 为 "%s"。'; +$lang['url_change'] = '<strong>URL已改变:</strong>自上次下载以来的下载 URL 已经改变。请在更新扩展前检查新 URL 是否有效。<br />新的:%s<br />旧的:%s'; +$lang['error_badurl'] = 'URL 应当以 http 或者 https 作为开头'; +$lang['error_dircreate'] = '无法创建用于保存下载的临时文件夹'; +$lang['error_download'] = '无法下载文件:%s'; +$lang['error_decompress'] = '无法解压下载的文件。这可能是由于文件损坏,在这种情况下您可以重试。这也可能是由于压缩格式是未知的,在这种情况下您需要手动下载并且安装。'; +$lang['error_findfolder'] = '无法识别扩展目录,您需要手动下载和安装'; +$lang['error_copy'] = '在尝试安装文件到目录 <em>%s</em> 时出现文件复制错误:磁盘可能已满或者文件访问权限不正确。这可能导致插件被部分安装并使您的维基处在不稳定状态'; +$lang['noperms'] = '扩展目录不可写'; +$lang['notplperms'] = '模板目录不可写'; +$lang['nopluginperms'] = '插件目录不可写'; +$lang['git'] = '这个扩展是通过 Git 安装的,您可能不想在这里升级它'; +$lang['auth'] = '这个认证插件没有在配置中启用,请考虑禁用它。'; +$lang['install_url'] = '从 URL 安装:'; +$lang['install_upload'] = '上传扩展:'; +$lang['repo_error'] = '无法连接到插件仓库。请确定您的服务器可以连接 www.dokuwiki.org 并检查您的代理设置。'; +$lang['nossl'] = '您的 PHP 似乎不支持 SSL。很多 DokuWiki 扩展将无法下载。'; diff --git a/wiki/lib/plugins/extension/plugin.info.txt b/wiki/lib/plugins/extension/plugin.info.txt new file mode 100644 index 0000000..7ee84dc --- /dev/null +++ b/wiki/lib/plugins/extension/plugin.info.txt @@ -0,0 +1,7 @@ +base extension +author Michael Hamann +email michael@content-space.de +date 2015-07-26 +name Extension Manager +desc Allows managing and installing plugins and templates +url https://www.dokuwiki.org/plugin:extension diff --git a/wiki/lib/plugins/extension/script.js b/wiki/lib/plugins/extension/script.js new file mode 100644 index 0000000..8627db4 --- /dev/null +++ b/wiki/lib/plugins/extension/script.js @@ -0,0 +1,145 @@ +jQuery(function(){ + + var $extmgr = jQuery('#extension__manager'); + + /** + * Confirm uninstalling + */ + $extmgr.find('button.uninstall').click(function(e){ + if(!window.confirm(LANG.plugins.extension.reallydel)){ + e.preventDefault(); + return false; + } + return true; + }); + + /** + * very simple lightbox + * @link http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/super-simple-lightbox-with-css-and-jquery/ + */ + $extmgr.find('a.extension_screenshot').click(function(e) { + e.preventDefault(); + + //Get clicked link href + var image_href = jQuery(this).attr("href"); + + // create lightbox if needed + var $lightbox = jQuery('#plugin__extensionlightbox'); + if(!$lightbox.length){ + $lightbox = jQuery('<div id="plugin__extensionlightbox"><p>Click to close</p><div></div></div>') + .appendTo(jQuery('body')) + .hide() + .click(function(){ + $lightbox.hide(); + }); + } + + // fill and show it + $lightbox + .show() + .find('div').html('<img src="' + image_href + '" />'); + + + return false; + }); + + /** + * Enable/Disable extension via AJAX + */ + $extmgr.find('button.disable, button.enable').click(function (e) { + e.preventDefault(); + var $btn = jQuery(this); + + // get current state + var extension = $btn.attr('name').split('[')[2]; + extension = extension.substr(0, extension.length - 1); + var act = ($btn.hasClass('disable')) ? 'disable' : 'enable'; + + // disable while we wait + $btn.attr('disabled', 'disabled'); + $btn.css('cursor', 'wait'); + + // execute + jQuery.get( + DOKU_BASE + 'lib/exe/ajax.php', + { + call: 'plugin_extension', + ext: extension, + act: act + }, + function (data) { + $btn.css('cursor', '') + .removeAttr('disabled') + .removeClass('disable') + .removeClass('enable') + .text(data.label) + .addClass(data.reverse) + .parents('li') + .removeClass('disabled') + .removeClass('enabled') + .addClass(data.state); + } + ); + }); + + /** + * AJAX detail infos + */ + $extmgr.find('a.info').click(function(e){ + e.preventDefault(); + + var $link = jQuery(this); + var $details = $link.parent().find('dl.details'); + if($details.length){ + $link.toggleClass('close'); + $details.toggle(); + return; + } + + $link.addClass('close'); + jQuery.get( + DOKU_BASE + 'lib/exe/ajax.php', + { + call: 'plugin_extension', + ext: $link.data('extid'), + act: 'info' + }, + function(data){ + $link.parent().append(data); + } + ); + }); + + /** + Create section for enabling/disabling viewing options + */ + if ( $extmgr.find('.plugins, .templates').hasClass('active') ) { + var $extlist = jQuery('#extension__list'); + $extlist.addClass('hasDisplayOptions'); + + var $displayOpts = jQuery('<p>', { id: 'extension__viewoptions'} ).appendTo($extmgr.find( '.panelHeader' )); + $displayOpts.append(LANG.plugins.extension.display_viewoptions); + + var displayOptionsHandler = function(){ + $extlist.toggleClass( this.name ); + DokuCookie.setValue('ext_'+this.name, $extlist.hasClass(this.name) ? '1' : '0'); + }; + + jQuery(['enabled', 'disabled', 'updatable']).each(function(index, chkName){ + var $label = jQuery( '<label></label>' ) + .appendTo($displayOpts); + var $input = jQuery( '<input />', { type: 'checkbox', name: chkName }) + .change(displayOptionsHandler) + .appendTo($label); + + var previous = DokuCookie.getValue('ext_'+chkName); + if(typeof previous === "undefined" || previous == '1') { + $input.click(); + } + + jQuery( '<span/>' ) + .append(' '+LANG.plugins.extension['display_'+chkName]) + .appendTo($label); + }); + } +}); diff --git a/wiki/lib/plugins/extension/style.less b/wiki/lib/plugins/extension/style.less new file mode 100644 index 0000000..261fa1c --- /dev/null +++ b/wiki/lib/plugins/extension/style.less @@ -0,0 +1,386 @@ +/* + * Extension plugin styles + * + * @author Christopher Smith <chris@jalakai.co.uk> + * @author Piyush Mishra <me@piyushmishra.com> + * @author Håkan Sandell <sandell.hakan@gmail.com> + * @author Anika Henke <anika@selfthinker.org> + */ + +/** + * very simple lightbox + * @link http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/super-simple-lightbox-with-css-and-jquery/ + */ +#plugin__extensionlightbox { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: url(images/overlay.png) repeat; + text-align: center; + cursor: pointer; + z-index: 9999; + + p { + text-align: right; + color: #fff; + margin-right: 20px; + font-size: 12px; + } + + img { + box-shadow: 0 0 25px #111; + max-width: 90%; + max-height: 90%; + } +} + +/** + * general styles + */ +#extension__manager { + // tab layout - most of it is in the main template + ul.tabs li.active a { + background-color: @ini_background_alt; + border-bottom: solid 1px @ini_background_alt; + z-index: 2; + } + .panelHeader { + background-color: @ini_background_alt; + margin: 0 0 10px 0; + padding: 10px 10px 8px; + overflow: hidden; + } + + // message spacing + div.msg { + margin: 0.4em 0 0 0; + } +} + +/* + * extensions table + */ +#extension__list { + ul.extensionList { + margin-left: 0; + margin-right: 0; + padding: 0; + list-style: none; + } + + ul.extensionList li { + margin: 0 0 .5em; + padding: 0 0 .5em; + color: @ini_text; + border-bottom: 1px solid @ini_border; + overflow: hidden; + } + + button { + margin-bottom: .3em; + } +} + +/** + * extension table left column + */ +#extension__list .legend { + position: relative; + width: 75%; + float: left; + + // padding + > div { + padding: 0 .5em 0 132px; + border-right: 1px solid @ini_background_alt; + overflow: hidden; + } + + // screenshot + div.screenshot { + margin-top: 4px; + margin-left: -132px; + max-width: 120px; + float: left; + position: relative; + + img { + width: 120px; + height: 70px; + border-radius: 5px; + box-shadow: 2px 2px 2px #666; + } + + span { + min-height: 24px; + min-width: 24px; + position: absolute; + left: 0; + top: 0; + } + } + + // plugin headline + h2 { + width: 100%; + float: right; + margin: 0.2em 0 0.5em; + font-size: 100%; + font-weight: normal; + border: none; + + strong { + font-size: 120%; + font-weight: bold; + vertical-align: baseline; + } + } + + // description + p { + margin: 0 0 0.6em 0; + } + + // popularity bar + div.popularity { + background-color: @ini_background; + border: 1px solid silver; + height: .4em; + margin: 0 auto; + padding: 1px; + width: 5.5em; + position: absolute; + right: .5em; + top: 0.2em; + + div { + background-color: @ini_border; + height: 100%; + } + } + + // Docs, Bugs, Tags + div.linkbar { + font-size: 85%; + + span.tags { + padding-left: 18px; + background: transparent url(images/tag.png) no-repeat 0 0; + } + + a.bugs { + padding-left: 18px; + background: transparent url(images/bug.gif) no-repeat 0 0; + } + } + + // more info button + a.info { + background: transparent url(images/down.png) no-repeat 0 0; + border-width: 0; + height: 13px; + width: 13px; + text-indent: -9999px; + float: right; + margin: .5em 0 0; + overflow: hidden; + + &.close { + background: transparent url(images/up.png) no-repeat 0 0; + } + } + + // detailed info box + dl.details { + margin: 0.4em 0 0 0; + font-size: 85%; + border-top: 1px solid @ini_background_alt; + clear: both; + + dt { + clear: left; + float: left; + width: 25%; + margin: 0; + text-align: right; + font-weight: normal; + padding: 0.2em 5px 0 0; + font-weight: bold; + } + + dd { + margin-left: 25%; + padding: 0.2em 0 0 5px; + + a.donate { + padding-left: 18px; + background: transparent url(images/donate.png) left center no-repeat; + } + } + } +} + +[dir=rtl] #extension__list .legend { + float: right; + + > div { + padding: 0 132px 0 .5em; + border-left: 1px solid @ini_background_alt; + border-right-width: 0; + } + + div.screenshot { + margin-left: 0; + margin-right: -132px; + float: right; + + span { + left: auto; + right: 0; + } + } + + h2 { + float: left; + } + + div.popularity { + right: auto; + left: .5em; + } + + div.linkbar span.tags, + dl.details dd a.donate { + padding-left: 0; + padding-right: 18px; + background-position: top right; + } + + a.info { + float: left; + } + + dl.details { + dt { + clear: right; + float: right; + text-align: left; + padding-left: 5px; + padding-right: 0; + } + + dd { + margin-left: 0; + margin-right: 25%; + padding-left: 0; + padding-right: 5px; + } + } +} + +/* + * Enabled/Disabled overrides + */ +#extension__list { + + &.hasDisplayOptions { + .enabled, + .disabled, + .updatable { + display: none; + } + + &.enabled .enabled, + &.disabled .disabled, + &.updatable .updatable { + display: block; + } + } + + .enabled div.screenshot span { + background: transparent url(images/enabled.png) no-repeat 2px 2px; + } + + .disabled div.screenshot span { + background: transparent url(images/disabled.png) no-repeat 2px 2px; + } + + .disabled .legend { + opacity: 0.7; + } +} + +/** + * extension table right column + */ +#extension__manager .actions { + padding: 0; + font-size: 95%; + width: 25%; + float: right; + text-align: right; + + .version { + display: block; + } + + p { + margin: 0.2em 0; + text-align: center; + } + + p.permerror { + margin-left: 0.4em; + text-align: left; + padding-left: 19px; + background: transparent url(images/warning.png) center left no-repeat; + line-height: 18px; + font-size: 12px; + } +} + +[dir=rtl] #extension__manager .actions { + float: left; + text-align: left; + + p.permerror { + margin-left: 0; + margin-right: 0.4em; + text-align: right; + padding-left: 0; + padding-right: 19px; + background-position: center right; + } +} + +/** + * Search form + */ +#extension__manager form.search { + display: block; + margin-bottom: 2em; + + span { + font-weight: bold; + } + + input.edit { + width: 25em; + } +} + +/** + * Install form + */ +#extension__manager form.install { + text-align: center; + display: block; + width: 60%; +} + +#extension__viewoptions label { + margin-left: 1em; + vertical-align: baseline; +} |