diff --git a/sources/lib/plugins/translation/README b/sources/lib/plugins/translation/README new file mode 100644 index 0000000..1a5b5ef --- /dev/null +++ b/sources/lib/plugins/translation/README @@ -0,0 +1,25 @@ +translation Plugin for DokuWiki + +All documentation for this plugin can be found at +http://www.dokuwiki.org/plugin:translation + +If you install this plugin manually, make sure it is installed in +lib/plugins/translation/ - if the folder is called different it +will not work! + +Please refer to http://www.dokuwiki.org/plugins for additional info +on how to install plugins in DokuWiki. + +---- +Copyright (C) Andreas Gohr + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; version 2 of the License + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +See the COPYING file in your DokuWiki folder for details diff --git a/sources/lib/plugins/translation/action.php b/sources/lib/plugins/translation/action.php new file mode 100644 index 0000000..825355b --- /dev/null +++ b/sources/lib/plugins/translation/action.php @@ -0,0 +1,280 @@ + + * @author Guy Brand + */ + +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN', DOKU_INC . 'lib/plugins/'); +require_once(DOKU_PLUGIN . 'action.php'); + +class action_plugin_translation extends DokuWiki_Action_Plugin { + + /** + * for th helper plugin + * @var helper_plugin_translation + */ + var $hlp = null; + + var $locale; + + /** + * Constructor. Load helper plugin + */ + function action_plugin_translation() { + $this->hlp =& plugin_load('helper', 'translation'); + } + + /** + * Registe the events + */ + function register(&$controller) { + // should the lang be applied to UI? + $scriptName = basename($_SERVER['PHP_SELF']); + + if($this->getConf('translateui')) { + switch($scriptName) { + case 'js.php': + $controller->register_hook('INIT_LANG_LOAD', 'BEFORE', $this, 'translation_js'); + $controller->register_hook('JS_CACHE_USE', 'BEFORE', $this, 'translation_jscache'); + break; + + case 'ajax.php': + $controller->register_hook('INIT_LANG_LOAD', 'BEFORE', $this, 'translate_media_manager'); + break; + + case 'mediamanager.php': + $controller->register_hook('TPL_METAHEADER_OUTPUT', 'BEFORE', $this, 'setJsCacheKey'); + break; + + default: + $controller->register_hook('TPL_METAHEADER_OUTPUT', 'BEFORE', $this, 'setJsCacheKey'); + } + } + + if($scriptName !== 'js.php' && $scriptName !== 'ajax.php') { + $controller->register_hook('DOKUWIKI_STARTED', 'BEFORE', $this, 'translation_hook'); + $controller->register_hook('MEDIAMANAGER_STARTED', 'BEFORE', $this, 'translation_hook'); + } + + $controller->register_hook('SEARCH_QUERY_PAGELOOKUP', 'AFTER', $this, 'translation_search'); + $controller->register_hook('COMMON_PAGETPL_LOAD', 'AFTER', $this, 'page_template_replacement'); + } + + /** + * Hook Callback. Make current language available as page template placeholder and handle + * original language copying + * + * @param $event + * @param $args + */ + function page_template_replacement(&$event, $args) { + global $ID; + + // load orginal content as template? + if($this->getConf('copytrans') && $this->hlp->istranslatable($ID, false)) { + // look for existing translations + $translations = $this->hlp->getAvailableTranslations($ID); + if($translations) { + // find original language (might've been provided via parameter or use first translation) + $orig = (string) $_REQUEST['fromlang']; + if(!$orig) $orig = array_shift(array_keys($translations)); + + // load file + $origfile = $translations[$orig]; + $event->data['tpl'] = io_readFile(wikiFN($origfile)); + + // prefix with warning + $warn = io_readFile($this->localFN('totranslate')); + if($warn) $warn .= "\n\n"; + $event->data['tpl'] = $warn . $event->data['tpl']; + + // show user a choice of translations if any + if(count($translations) > 1) { + $links = array(); + foreach($translations as $t => $l) { + $links[] = '' . $this->hlp->getLocalName($t) . ''; + } + + msg( + sprintf( + $this->getLang('transloaded'), + $this->hlp->getLocalName($orig), + join(', ', $links) + ) + ); + } + + } + } + + // apply placeholders + $event->data['tpl'] = str_replace('@LANG@', $this->hlp->realLC(''), $event->data['tpl']); + $event->data['tpl'] = str_replace('@TRANS@', $this->hlp->getLangPart($ID), $event->data['tpl']); + } + + /** + * Hook Callback. Load correct translation when loading JavaScript + * + * @param $event + * @param $args + */ + function translation_js(&$event, $args) { + global $conf; + if(!isset($_GET['lang'])) return; + if(!in_array($_GET['lang'], $this->hlp->trans)) return; + $lang = $_GET['lang']; + $event->data = $lang; + $conf['lang'] = $lang; + } + + /** + * Hook Callback. Pass language code to JavaScript dispatcher + * + * @param $event + * @param $args + * @return bool + */ + function setJsCacheKey(&$event, $args) { + if(!isset($this->locale)) return false; + $count = count($event->data['script']); + for($i = 0; $i < $count; $i++) { + if(strpos($event->data['script'][$i]['src'], '/lib/exe/js.php') !== false) { + $event->data['script'][$i]['src'] .= '&lang=' . hsc($this->locale); + } + } + + return false; + } + + /** + * Hook Callback. Make sure the JavaScript is translation dependent + * + * @param $event + * @param $args + */ + function translation_jscache(&$event, $args) { + if(!isset($_GET['lang'])) return; + if(!in_array($_GET['lang'], $this->hlp->trans)) return; + + $lang = $_GET['lang']; + // reuse the constructor to reinitialize the cache key + $event->data->cache( + $event->data->key . $lang, + $event->data->ext + ); + } + + /** + * Hook Callback. Translate the AJAX loaded media manager + * + * @param $event + * @param $args + */ + function translate_media_manager(&$event, $args) { + global $conf; + if(isset($_REQUEST['ID'])) { + $id = getID(); + $lc = $this->hlp->getLangPart($id); + } elseif(isset($_SESSION[DOKU_COOKIE]['translationlc'])) { + $lc = $_SESSION[DOKU_COOKIE]['translationlc']; + } else { + return; + } + if(!$lc) return; + + $conf['lang'] = $lc; + $event->data = $lc; + } + + /** + * Hook Callback. Change the UI language in foreign language namespaces + */ + function translation_hook(&$event, $args) { + global $ID; + global $lang; + global $conf; + global $ACT; + // redirect away from start page? + if($this->conf['redirectstart'] && $ID == $conf['start'] && $ACT == 'show') { + $lc = $this->hlp->getBrowserLang(); + if(!$lc) $lc = $conf['lang']; + header('Location: ' . wl($lc . ':' . $conf['start'], '', true, '&')); + exit; + } + + // check if we are in a foreign language namespace + $lc = $this->hlp->getLangPart($ID); + + // store language in session (for page related views only) + if(in_array($ACT, array('show', 'recent', 'diff', 'edit', 'preview', 'source', 'subscribe'))) { + $_SESSION[DOKU_COOKIE]['translationlc'] = $lc; + } + if(!$lc) $lc = $_SESSION[DOKU_COOKIE]['translationlc']; + if(!$lc) return; + $this->locale = $lc; + + if(!$this->getConf('translateui')) { + return true; + } + + if(file_exists(DOKU_INC . 'inc/lang/' . $lc . '/lang.php')) { + require(DOKU_INC . 'inc/lang/' . $lc . '/lang.php'); + } + $conf['lang_before_translation'] = $conf['lang']; //store for later access in syntax plugin + $conf['lang'] = $lc; + + return true; + } + + /** + * Hook Callback. Resort page match results so that results are ordered by translation, having the + * default language first + */ + function translation_search(&$event, $args) { + + if($event->data['has_titles']) { + // sort into translation slots + $res = array(); + foreach($event->result as $r => $t) { + $tr = $this->hlp->getLangPart($r); + if(!is_array($res["x$tr"])) $res["x$tr"] = array(); + $res["x$tr"][] = array($r, $t); + } + // sort by translations + ksort($res); + // combine + $event->result = array(); + foreach($res as $r) { + foreach($r as $l) { + $event->result[$l[0]] = $l[1]; + } + } + } else { + # legacy support for old DokuWiki hooks + + // sort into translation slots + $res = array(); + foreach($event->result as $r) { + $tr = $this->hlp->getLangPart($r); + if(!is_array($res["x$tr"])) $res["x$tr"] = array(); + $res["x$tr"][] = $r; + } + // sort by translations + ksort($res); + // combine + $event->result = array(); + foreach($res as $r) { + $event->result = array_merge($event->result, $r); + } + } + } + +} + +//Setup VIM: ex: et ts=4 : diff --git a/sources/lib/plugins/translation/conf/default.php b/sources/lib/plugins/translation/conf/default.php new file mode 100644 index 0000000..49672b4 --- /dev/null +++ b/sources/lib/plugins/translation/conf/default.php @@ -0,0 +1,18 @@ + + */ + +$conf['translations'] = ''; +$conf['translationns'] = ''; +$conf['skiptrans'] = ''; +$conf['dropdown'] = 0; +$conf['translateui'] = 0; +$conf['redirectstart'] = 0; +$conf['checkage'] = 0; +$conf['about'] = ''; +$conf['localabout'] = 0; +$conf['display'] = 'langcode,title'; +$conf['copytrans'] = 0; diff --git a/sources/lib/plugins/translation/conf/metadata.php b/sources/lib/plugins/translation/conf/metadata.php new file mode 100644 index 0000000..6164ecd --- /dev/null +++ b/sources/lib/plugins/translation/conf/metadata.php @@ -0,0 +1,20 @@ + + */ + +$meta['translations'] = array('string','_pattern' => '/^(|[a-zA-Z\- ,]+)$/'); +$meta['translationns'] = array('string','_pattern' => '/^(|[\w:\-]+)$/'); +$meta['skiptrans'] = array('string'); +$meta['dropdown'] = array('onoff'); +$meta['display'] = array('multicheckbox', + '_choices' => array('langcode','name','flag','title','twolines')); +$meta['translateui'] = array('onoff'); +$meta['redirectstart'] = array('onoff'); +$meta['checkage'] = array('onoff'); +$meta['about'] = array('string','_pattern' => '/^(|[\w:\-]+)$/'); +$meta['localabout'] = array('onoff'); +$meta['copytrans'] = array('onoff'); + diff --git a/sources/lib/plugins/translation/flags/af.gif b/sources/lib/plugins/translation/flags/af.gif new file mode 100644 index 0000000..9889408 Binary files /dev/null and b/sources/lib/plugins/translation/flags/af.gif differ diff --git a/sources/lib/plugins/translation/flags/ar.gif b/sources/lib/plugins/translation/flags/ar.gif new file mode 100644 index 0000000..179961b Binary files /dev/null and b/sources/lib/plugins/translation/flags/ar.gif differ diff --git a/sources/lib/plugins/translation/flags/da.gif b/sources/lib/plugins/translation/flags/da.gif new file mode 100644 index 0000000..03e75bd Binary files /dev/null and b/sources/lib/plugins/translation/flags/da.gif differ diff --git a/sources/lib/plugins/translation/flags/de.gif b/sources/lib/plugins/translation/flags/de.gif new file mode 100644 index 0000000..75728dd Binary files /dev/null and b/sources/lib/plugins/translation/flags/de.gif differ diff --git a/sources/lib/plugins/translation/flags/el.gif b/sources/lib/plugins/translation/flags/el.gif new file mode 100644 index 0000000..b4c8c04 Binary files /dev/null and b/sources/lib/plugins/translation/flags/el.gif differ diff --git a/sources/lib/plugins/translation/flags/en.gif b/sources/lib/plugins/translation/flags/en.gif new file mode 100644 index 0000000..3c6bce1 Binary files /dev/null and b/sources/lib/plugins/translation/flags/en.gif differ diff --git a/sources/lib/plugins/translation/flags/es.gif b/sources/lib/plugins/translation/flags/es.gif new file mode 100644 index 0000000..c27d65e Binary files /dev/null and b/sources/lib/plugins/translation/flags/es.gif differ diff --git a/sources/lib/plugins/translation/flags/et.gif b/sources/lib/plugins/translation/flags/et.gif new file mode 100644 index 0000000..9397a2d Binary files /dev/null and b/sources/lib/plugins/translation/flags/et.gif differ diff --git a/sources/lib/plugins/translation/flags/fa.gif b/sources/lib/plugins/translation/flags/fa.gif new file mode 100644 index 0000000..156040f Binary files /dev/null and b/sources/lib/plugins/translation/flags/fa.gif differ diff --git a/sources/lib/plugins/translation/flags/fr.gif b/sources/lib/plugins/translation/flags/fr.gif new file mode 100644 index 0000000..43d0b80 Binary files /dev/null and b/sources/lib/plugins/translation/flags/fr.gif differ diff --git a/sources/lib/plugins/translation/flags/ga.gif b/sources/lib/plugins/translation/flags/ga.gif new file mode 100644 index 0000000..506ad28 Binary files /dev/null and b/sources/lib/plugins/translation/flags/ga.gif differ diff --git a/sources/lib/plugins/translation/flags/he.gif b/sources/lib/plugins/translation/flags/he.gif new file mode 100644 index 0000000..c8483ae Binary files /dev/null and b/sources/lib/plugins/translation/flags/he.gif differ diff --git a/sources/lib/plugins/translation/flags/hu.gif b/sources/lib/plugins/translation/flags/hu.gif new file mode 100644 index 0000000..6142d86 Binary files /dev/null and b/sources/lib/plugins/translation/flags/hu.gif differ diff --git a/sources/lib/plugins/translation/flags/it.gif b/sources/lib/plugins/translation/flags/it.gif new file mode 100644 index 0000000..d79e90e Binary files /dev/null and b/sources/lib/plugins/translation/flags/it.gif differ diff --git a/sources/lib/plugins/translation/flags/ja.gif b/sources/lib/plugins/translation/flags/ja.gif new file mode 100644 index 0000000..444c1d0 Binary files /dev/null and b/sources/lib/plugins/translation/flags/ja.gif differ diff --git a/sources/lib/plugins/translation/flags/ko.gif b/sources/lib/plugins/translation/flags/ko.gif new file mode 100644 index 0000000..1cddbe7 Binary files /dev/null and b/sources/lib/plugins/translation/flags/ko.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ad.gif b/sources/lib/plugins/translation/flags/more/ad.gif new file mode 100644 index 0000000..57b4997 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ad.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ae.gif b/sources/lib/plugins/translation/flags/more/ae.gif new file mode 100644 index 0000000..78d15b6 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ae.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ag.gif b/sources/lib/plugins/translation/flags/more/ag.gif new file mode 100644 index 0000000..48f8e7b Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ag.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ai.gif b/sources/lib/plugins/translation/flags/more/ai.gif new file mode 100644 index 0000000..1cbc579 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ai.gif differ diff --git a/sources/lib/plugins/translation/flags/more/al.gif b/sources/lib/plugins/translation/flags/more/al.gif new file mode 100644 index 0000000..c44fe0a Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/al.gif differ diff --git a/sources/lib/plugins/translation/flags/more/am.gif b/sources/lib/plugins/translation/flags/more/am.gif new file mode 100644 index 0000000..2915e30 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/am.gif differ diff --git a/sources/lib/plugins/translation/flags/more/an.gif b/sources/lib/plugins/translation/flags/more/an.gif new file mode 100644 index 0000000..cb570c6 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/an.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ao.gif b/sources/lib/plugins/translation/flags/more/ao.gif new file mode 100644 index 0000000..8c854fa Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ao.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ar.gif b/sources/lib/plugins/translation/flags/more/ar.gif new file mode 100644 index 0000000..a9f71f7 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ar.gif differ diff --git a/sources/lib/plugins/translation/flags/more/as.gif b/sources/lib/plugins/translation/flags/more/as.gif new file mode 100644 index 0000000..d776ec2 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/as.gif differ diff --git a/sources/lib/plugins/translation/flags/more/at.gif b/sources/lib/plugins/translation/flags/more/at.gif new file mode 100644 index 0000000..87e1217 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/at.gif differ diff --git a/sources/lib/plugins/translation/flags/more/au.gif b/sources/lib/plugins/translation/flags/more/au.gif new file mode 100644 index 0000000..5269c6a Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/au.gif differ diff --git a/sources/lib/plugins/translation/flags/more/aw.gif b/sources/lib/plugins/translation/flags/more/aw.gif new file mode 100644 index 0000000..27fdb4d Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/aw.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ax.gif b/sources/lib/plugins/translation/flags/more/ax.gif new file mode 100644 index 0000000..0ceb684 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ax.gif differ diff --git a/sources/lib/plugins/translation/flags/more/az.gif b/sources/lib/plugins/translation/flags/more/az.gif new file mode 100644 index 0000000..d771618 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/az.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ba.gif b/sources/lib/plugins/translation/flags/more/ba.gif new file mode 100644 index 0000000..9bf5f0a Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ba.gif differ diff --git a/sources/lib/plugins/translation/flags/more/bb.gif b/sources/lib/plugins/translation/flags/more/bb.gif new file mode 100644 index 0000000..b7d08e5 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/bb.gif differ diff --git a/sources/lib/plugins/translation/flags/more/bd.gif b/sources/lib/plugins/translation/flags/more/bd.gif new file mode 100644 index 0000000..0fd27ec Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/bd.gif differ diff --git a/sources/lib/plugins/translation/flags/more/be.gif b/sources/lib/plugins/translation/flags/more/be.gif new file mode 100644 index 0000000..ae09bfb Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/be.gif differ diff --git a/sources/lib/plugins/translation/flags/more/bf.gif b/sources/lib/plugins/translation/flags/more/bf.gif new file mode 100644 index 0000000..9d6772c Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/bf.gif differ diff --git a/sources/lib/plugins/translation/flags/more/bg.gif b/sources/lib/plugins/translation/flags/more/bg.gif new file mode 100644 index 0000000..11cf8ff Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/bg.gif differ diff --git a/sources/lib/plugins/translation/flags/more/bh.gif b/sources/lib/plugins/translation/flags/more/bh.gif new file mode 100644 index 0000000..56aa72b Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/bh.gif differ diff --git a/sources/lib/plugins/translation/flags/more/bi.gif b/sources/lib/plugins/translation/flags/more/bi.gif new file mode 100644 index 0000000..6e2cbe1 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/bi.gif differ diff --git a/sources/lib/plugins/translation/flags/more/bj.gif b/sources/lib/plugins/translation/flags/more/bj.gif new file mode 100644 index 0000000..e676116 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/bj.gif differ diff --git a/sources/lib/plugins/translation/flags/more/blankflag.gif b/sources/lib/plugins/translation/flags/more/blankflag.gif new file mode 100644 index 0000000..9935f82 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/blankflag.gif differ diff --git a/sources/lib/plugins/translation/flags/more/bm.gif b/sources/lib/plugins/translation/flags/more/bm.gif new file mode 100644 index 0000000..9feb87b Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/bm.gif differ diff --git a/sources/lib/plugins/translation/flags/more/bn.gif b/sources/lib/plugins/translation/flags/more/bn.gif new file mode 100644 index 0000000..b7b6b0f Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/bn.gif differ diff --git a/sources/lib/plugins/translation/flags/more/bo.gif b/sources/lib/plugins/translation/flags/more/bo.gif new file mode 100644 index 0000000..4844f85 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/bo.gif differ diff --git a/sources/lib/plugins/translation/flags/more/bs.gif b/sources/lib/plugins/translation/flags/more/bs.gif new file mode 100644 index 0000000..c0a741e Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/bs.gif differ diff --git a/sources/lib/plugins/translation/flags/more/bt.gif b/sources/lib/plugins/translation/flags/more/bt.gif new file mode 100644 index 0000000..abe2f3c Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/bt.gif differ diff --git a/sources/lib/plugins/translation/flags/more/bv.gif b/sources/lib/plugins/translation/flags/more/bv.gif new file mode 100644 index 0000000..6202d1f Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/bv.gif differ diff --git a/sources/lib/plugins/translation/flags/more/bw.gif b/sources/lib/plugins/translation/flags/more/bw.gif new file mode 100644 index 0000000..986ab63 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/bw.gif differ diff --git a/sources/lib/plugins/translation/flags/more/by.gif b/sources/lib/plugins/translation/flags/more/by.gif new file mode 100644 index 0000000..43ffcd4 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/by.gif differ diff --git a/sources/lib/plugins/translation/flags/more/bz.gif b/sources/lib/plugins/translation/flags/more/bz.gif new file mode 100644 index 0000000..791737f Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/bz.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ca.gif b/sources/lib/plugins/translation/flags/more/ca.gif new file mode 100644 index 0000000..457d966 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ca.gif differ diff --git a/sources/lib/plugins/translation/flags/more/catalonia.gif b/sources/lib/plugins/translation/flags/more/catalonia.gif new file mode 100644 index 0000000..73df9a0 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/catalonia.gif differ diff --git a/sources/lib/plugins/translation/flags/more/cc.gif b/sources/lib/plugins/translation/flags/more/cc.gif new file mode 100644 index 0000000..3f78327 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/cc.gif differ diff --git a/sources/lib/plugins/translation/flags/more/cd.gif b/sources/lib/plugins/translation/flags/more/cd.gif new file mode 100644 index 0000000..1df717a Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/cd.gif differ diff --git a/sources/lib/plugins/translation/flags/more/cf.gif b/sources/lib/plugins/translation/flags/more/cf.gif new file mode 100644 index 0000000..35787ca Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/cf.gif differ diff --git a/sources/lib/plugins/translation/flags/more/cg.gif b/sources/lib/plugins/translation/flags/more/cg.gif new file mode 100644 index 0000000..e0a62a5 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/cg.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ch.gif b/sources/lib/plugins/translation/flags/more/ch.gif new file mode 100644 index 0000000..d5c0e5b Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ch.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ci.gif b/sources/lib/plugins/translation/flags/more/ci.gif new file mode 100644 index 0000000..844120a Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ci.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ck.gif b/sources/lib/plugins/translation/flags/more/ck.gif new file mode 100644 index 0000000..2edb739 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ck.gif differ diff --git a/sources/lib/plugins/translation/flags/more/cl.gif b/sources/lib/plugins/translation/flags/more/cl.gif new file mode 100644 index 0000000..cbc370e Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/cl.gif differ diff --git a/sources/lib/plugins/translation/flags/more/cm.gif b/sources/lib/plugins/translation/flags/more/cm.gif new file mode 100644 index 0000000..1fb102b Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/cm.gif differ diff --git a/sources/lib/plugins/translation/flags/more/co.gif b/sources/lib/plugins/translation/flags/more/co.gif new file mode 100644 index 0000000..d0e15ca Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/co.gif differ diff --git a/sources/lib/plugins/translation/flags/more/cr.gif b/sources/lib/plugins/translation/flags/more/cr.gif new file mode 100644 index 0000000..0728dd6 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/cr.gif differ diff --git a/sources/lib/plugins/translation/flags/more/cs.gif b/sources/lib/plugins/translation/flags/more/cs.gif new file mode 100644 index 0000000..101db64 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/cs.gif differ diff --git a/sources/lib/plugins/translation/flags/more/cu.gif b/sources/lib/plugins/translation/flags/more/cu.gif new file mode 100644 index 0000000..291255c Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/cu.gif differ diff --git a/sources/lib/plugins/translation/flags/more/cv.gif b/sources/lib/plugins/translation/flags/more/cv.gif new file mode 100644 index 0000000..43c6c6c Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/cv.gif differ diff --git a/sources/lib/plugins/translation/flags/more/cx.gif b/sources/lib/plugins/translation/flags/more/cx.gif new file mode 100644 index 0000000..a5b4308 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/cx.gif differ diff --git a/sources/lib/plugins/translation/flags/more/cy.gif b/sources/lib/plugins/translation/flags/more/cy.gif new file mode 100644 index 0000000..35c661e Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/cy.gif differ diff --git a/sources/lib/plugins/translation/flags/more/cz.gif b/sources/lib/plugins/translation/flags/more/cz.gif new file mode 100644 index 0000000..0a605e5 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/cz.gif differ diff --git a/sources/lib/plugins/translation/flags/more/dj.gif b/sources/lib/plugins/translation/flags/more/dj.gif new file mode 100644 index 0000000..212406d Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/dj.gif differ diff --git a/sources/lib/plugins/translation/flags/more/dm.gif b/sources/lib/plugins/translation/flags/more/dm.gif new file mode 100644 index 0000000..2f87f3c Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/dm.gif differ diff --git a/sources/lib/plugins/translation/flags/more/do.gif b/sources/lib/plugins/translation/flags/more/do.gif new file mode 100644 index 0000000..f7d0bad Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/do.gif differ diff --git a/sources/lib/plugins/translation/flags/more/dz.gif b/sources/lib/plugins/translation/flags/more/dz.gif new file mode 100644 index 0000000..ed580a7 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/dz.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ec.gif b/sources/lib/plugins/translation/flags/more/ec.gif new file mode 100644 index 0000000..9e41e0e Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ec.gif differ diff --git a/sources/lib/plugins/translation/flags/more/eg.gif b/sources/lib/plugins/translation/flags/more/eg.gif new file mode 100644 index 0000000..6857c7d Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/eg.gif differ diff --git a/sources/lib/plugins/translation/flags/more/eh.gif b/sources/lib/plugins/translation/flags/more/eh.gif new file mode 100644 index 0000000..dd0391c Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/eh.gif differ diff --git a/sources/lib/plugins/translation/flags/more/england.gif b/sources/lib/plugins/translation/flags/more/england.gif new file mode 100644 index 0000000..933a4f0 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/england.gif differ diff --git a/sources/lib/plugins/translation/flags/more/er.gif b/sources/lib/plugins/translation/flags/more/er.gif new file mode 100644 index 0000000..3d4d612 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/er.gif differ diff --git a/sources/lib/plugins/translation/flags/more/et.gif b/sources/lib/plugins/translation/flags/more/et.gif new file mode 100644 index 0000000..f77995d Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/et.gif differ diff --git a/sources/lib/plugins/translation/flags/more/europeanunion.gif b/sources/lib/plugins/translation/flags/more/europeanunion.gif new file mode 100644 index 0000000..28a762a Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/europeanunion.gif differ diff --git a/sources/lib/plugins/translation/flags/more/fam.gif b/sources/lib/plugins/translation/flags/more/fam.gif new file mode 100644 index 0000000..7d52885 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/fam.gif differ diff --git a/sources/lib/plugins/translation/flags/more/fi.gif b/sources/lib/plugins/translation/flags/more/fi.gif new file mode 100644 index 0000000..8d3a191 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/fi.gif differ diff --git a/sources/lib/plugins/translation/flags/more/fj.gif b/sources/lib/plugins/translation/flags/more/fj.gif new file mode 100644 index 0000000..486151c Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/fj.gif differ diff --git a/sources/lib/plugins/translation/flags/more/fk.gif b/sources/lib/plugins/translation/flags/more/fk.gif new file mode 100644 index 0000000..37b5ecf Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/fk.gif differ diff --git a/sources/lib/plugins/translation/flags/more/fm.gif b/sources/lib/plugins/translation/flags/more/fm.gif new file mode 100644 index 0000000..7f8723b Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/fm.gif differ diff --git a/sources/lib/plugins/translation/flags/more/fo.gif b/sources/lib/plugins/translation/flags/more/fo.gif new file mode 100644 index 0000000..4a90fc0 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/fo.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ga.gif b/sources/lib/plugins/translation/flags/more/ga.gif new file mode 100644 index 0000000..23fd5f0 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ga.gif differ diff --git a/sources/lib/plugins/translation/flags/more/gd.gif b/sources/lib/plugins/translation/flags/more/gd.gif new file mode 100644 index 0000000..25ea312 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/gd.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ge.gif b/sources/lib/plugins/translation/flags/more/ge.gif new file mode 100644 index 0000000..faa7f12 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ge.gif differ diff --git a/sources/lib/plugins/translation/flags/more/gf.gif b/sources/lib/plugins/translation/flags/more/gf.gif new file mode 100644 index 0000000..43d0b80 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/gf.gif differ diff --git a/sources/lib/plugins/translation/flags/more/gh.gif b/sources/lib/plugins/translation/flags/more/gh.gif new file mode 100644 index 0000000..273fb7d Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/gh.gif differ diff --git a/sources/lib/plugins/translation/flags/more/gi.gif b/sources/lib/plugins/translation/flags/more/gi.gif new file mode 100644 index 0000000..7b1984b Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/gi.gif differ diff --git a/sources/lib/plugins/translation/flags/more/gl.gif b/sources/lib/plugins/translation/flags/more/gl.gif new file mode 100644 index 0000000..ef445be Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/gl.gif differ diff --git a/sources/lib/plugins/translation/flags/more/gm.gif b/sources/lib/plugins/translation/flags/more/gm.gif new file mode 100644 index 0000000..6847c5a Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/gm.gif differ diff --git a/sources/lib/plugins/translation/flags/more/gn.gif b/sources/lib/plugins/translation/flags/more/gn.gif new file mode 100644 index 0000000..a982ac6 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/gn.gif differ diff --git a/sources/lib/plugins/translation/flags/more/gp.gif b/sources/lib/plugins/translation/flags/more/gp.gif new file mode 100644 index 0000000..31166db Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/gp.gif differ diff --git a/sources/lib/plugins/translation/flags/more/gq.gif b/sources/lib/plugins/translation/flags/more/gq.gif new file mode 100644 index 0000000..8b4e0cc Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/gq.gif differ diff --git a/sources/lib/plugins/translation/flags/more/gs.gif b/sources/lib/plugins/translation/flags/more/gs.gif new file mode 100644 index 0000000..ccc96ec Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/gs.gif differ diff --git a/sources/lib/plugins/translation/flags/more/gt.gif b/sources/lib/plugins/translation/flags/more/gt.gif new file mode 100644 index 0000000..7e94d1d Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/gt.gif differ diff --git a/sources/lib/plugins/translation/flags/more/gu.gif b/sources/lib/plugins/translation/flags/more/gu.gif new file mode 100644 index 0000000..eafef68 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/gu.gif differ diff --git a/sources/lib/plugins/translation/flags/more/gw.gif b/sources/lib/plugins/translation/flags/more/gw.gif new file mode 100644 index 0000000..55f7571 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/gw.gif differ diff --git a/sources/lib/plugins/translation/flags/more/gy.gif b/sources/lib/plugins/translation/flags/more/gy.gif new file mode 100644 index 0000000..1cb4cd7 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/gy.gif differ diff --git a/sources/lib/plugins/translation/flags/more/hk.gif b/sources/lib/plugins/translation/flags/more/hk.gif new file mode 100644 index 0000000..798af96 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/hk.gif differ diff --git a/sources/lib/plugins/translation/flags/more/hm.gif b/sources/lib/plugins/translation/flags/more/hm.gif new file mode 100644 index 0000000..5269c6a Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/hm.gif differ diff --git a/sources/lib/plugins/translation/flags/more/hn.gif b/sources/lib/plugins/translation/flags/more/hn.gif new file mode 100644 index 0000000..6c4ffe8 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/hn.gif differ diff --git a/sources/lib/plugins/translation/flags/more/hr.gif b/sources/lib/plugins/translation/flags/more/hr.gif new file mode 100644 index 0000000..557c660 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/hr.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ht.gif b/sources/lib/plugins/translation/flags/more/ht.gif new file mode 100644 index 0000000..059604a Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ht.gif differ diff --git a/sources/lib/plugins/translation/flags/more/id.gif b/sources/lib/plugins/translation/flags/more/id.gif new file mode 100644 index 0000000..865161b Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/id.gif differ diff --git a/sources/lib/plugins/translation/flags/more/in.gif b/sources/lib/plugins/translation/flags/more/in.gif new file mode 100644 index 0000000..1cd8027 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/in.gif differ diff --git a/sources/lib/plugins/translation/flags/more/io.gif b/sources/lib/plugins/translation/flags/more/io.gif new file mode 100644 index 0000000..de7e7ab Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/io.gif differ diff --git a/sources/lib/plugins/translation/flags/more/iq.gif b/sources/lib/plugins/translation/flags/more/iq.gif new file mode 100644 index 0000000..c34fe3c Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/iq.gif differ diff --git a/sources/lib/plugins/translation/flags/more/is.gif b/sources/lib/plugins/translation/flags/more/is.gif new file mode 100644 index 0000000..b42502d Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/is.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ja.gif b/sources/lib/plugins/translation/flags/more/ja.gif new file mode 100644 index 0000000..444c1d0 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ja.gif differ diff --git a/sources/lib/plugins/translation/flags/more/jm.gif b/sources/lib/plugins/translation/flags/more/jm.gif new file mode 100644 index 0000000..0bed67c Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/jm.gif differ diff --git a/sources/lib/plugins/translation/flags/more/jo.gif b/sources/lib/plugins/translation/flags/more/jo.gif new file mode 100644 index 0000000..03daf8a Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/jo.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ke.gif b/sources/lib/plugins/translation/flags/more/ke.gif new file mode 100644 index 0000000..c2b5d45 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ke.gif differ diff --git a/sources/lib/plugins/translation/flags/more/kg.gif b/sources/lib/plugins/translation/flags/more/kg.gif new file mode 100644 index 0000000..72a4d41 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/kg.gif differ diff --git a/sources/lib/plugins/translation/flags/more/kh.gif b/sources/lib/plugins/translation/flags/more/kh.gif new file mode 100644 index 0000000..30a1831 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/kh.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ki.gif b/sources/lib/plugins/translation/flags/more/ki.gif new file mode 100644 index 0000000..4a0751a Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ki.gif differ diff --git a/sources/lib/plugins/translation/flags/more/km.gif b/sources/lib/plugins/translation/flags/more/km.gif new file mode 100644 index 0000000..5859595 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/km.gif differ diff --git a/sources/lib/plugins/translation/flags/more/kn.gif b/sources/lib/plugins/translation/flags/more/kn.gif new file mode 100644 index 0000000..bb9cc34 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/kn.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ko.gif b/sources/lib/plugins/translation/flags/more/ko.gif new file mode 100644 index 0000000..1cddbe7 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ko.gif differ diff --git a/sources/lib/plugins/translation/flags/more/kp.gif b/sources/lib/plugins/translation/flags/more/kp.gif new file mode 100644 index 0000000..6e0ca09 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/kp.gif differ diff --git a/sources/lib/plugins/translation/flags/more/kw.gif b/sources/lib/plugins/translation/flags/more/kw.gif new file mode 100644 index 0000000..1efc734 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/kw.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ky.gif b/sources/lib/plugins/translation/flags/more/ky.gif new file mode 100644 index 0000000..d3d02ee Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ky.gif differ diff --git a/sources/lib/plugins/translation/flags/more/kz.gif b/sources/lib/plugins/translation/flags/more/kz.gif new file mode 100644 index 0000000..24baebe Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/kz.gif differ diff --git a/sources/lib/plugins/translation/flags/more/la.gif b/sources/lib/plugins/translation/flags/more/la.gif new file mode 100644 index 0000000..d14cf4d Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/la.gif differ diff --git a/sources/lib/plugins/translation/flags/more/lb.gif b/sources/lib/plugins/translation/flags/more/lb.gif new file mode 100644 index 0000000..003d83a Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/lb.gif differ diff --git a/sources/lib/plugins/translation/flags/more/lc.gif b/sources/lib/plugins/translation/flags/more/lc.gif new file mode 100644 index 0000000..f5fe5bf Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/lc.gif differ diff --git a/sources/lib/plugins/translation/flags/more/li.gif b/sources/lib/plugins/translation/flags/more/li.gif new file mode 100644 index 0000000..713c58e Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/li.gif differ diff --git a/sources/lib/plugins/translation/flags/more/lk.gif b/sources/lib/plugins/translation/flags/more/lk.gif new file mode 100644 index 0000000..1b3ee7f Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/lk.gif differ diff --git a/sources/lib/plugins/translation/flags/more/lr.gif b/sources/lib/plugins/translation/flags/more/lr.gif new file mode 100644 index 0000000..435af9e Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/lr.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ls.gif b/sources/lib/plugins/translation/flags/more/ls.gif new file mode 100644 index 0000000..427ae95 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ls.gif differ diff --git a/sources/lib/plugins/translation/flags/more/lt.gif b/sources/lib/plugins/translation/flags/more/lt.gif new file mode 100644 index 0000000..dee9c60 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/lt.gif differ diff --git a/sources/lib/plugins/translation/flags/more/lu.gif b/sources/lib/plugins/translation/flags/more/lu.gif new file mode 100644 index 0000000..7d7293e Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/lu.gif differ diff --git a/sources/lib/plugins/translation/flags/more/lv.gif b/sources/lib/plugins/translation/flags/more/lv.gif new file mode 100644 index 0000000..17e71b7 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/lv.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ly.gif b/sources/lib/plugins/translation/flags/more/ly.gif new file mode 100644 index 0000000..a654c30 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ly.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ma.gif b/sources/lib/plugins/translation/flags/more/ma.gif new file mode 100644 index 0000000..fc78411 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ma.gif differ diff --git a/sources/lib/plugins/translation/flags/more/mc.gif b/sources/lib/plugins/translation/flags/more/mc.gif new file mode 100644 index 0000000..02a7c8e Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/mc.gif differ diff --git a/sources/lib/plugins/translation/flags/more/md.gif b/sources/lib/plugins/translation/flags/more/md.gif new file mode 100644 index 0000000..e4b8a7e Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/md.gif differ diff --git a/sources/lib/plugins/translation/flags/more/me.gif b/sources/lib/plugins/translation/flags/more/me.gif new file mode 100644 index 0000000..a260453 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/me.gif differ diff --git a/sources/lib/plugins/translation/flags/more/mg.gif b/sources/lib/plugins/translation/flags/more/mg.gif new file mode 100644 index 0000000..a91b577 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/mg.gif differ diff --git a/sources/lib/plugins/translation/flags/more/mh.gif b/sources/lib/plugins/translation/flags/more/mh.gif new file mode 100644 index 0000000..92f5f48 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/mh.gif differ diff --git a/sources/lib/plugins/translation/flags/more/mk.gif b/sources/lib/plugins/translation/flags/more/mk.gif new file mode 100644 index 0000000..7aeb831 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/mk.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ml.gif b/sources/lib/plugins/translation/flags/more/ml.gif new file mode 100644 index 0000000..53d6f49 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ml.gif differ diff --git a/sources/lib/plugins/translation/flags/more/mm.gif b/sources/lib/plugins/translation/flags/more/mm.gif new file mode 100644 index 0000000..9e0a275 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/mm.gif differ diff --git a/sources/lib/plugins/translation/flags/more/mn.gif b/sources/lib/plugins/translation/flags/more/mn.gif new file mode 100644 index 0000000..dff8ea5 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/mn.gif differ diff --git a/sources/lib/plugins/translation/flags/more/mo.gif b/sources/lib/plugins/translation/flags/more/mo.gif new file mode 100644 index 0000000..66cf5b4 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/mo.gif differ diff --git a/sources/lib/plugins/translation/flags/more/mp.gif b/sources/lib/plugins/translation/flags/more/mp.gif new file mode 100644 index 0000000..73b7147 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/mp.gif differ diff --git a/sources/lib/plugins/translation/flags/more/mq.gif b/sources/lib/plugins/translation/flags/more/mq.gif new file mode 100644 index 0000000..570bc5d Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/mq.gif differ diff --git a/sources/lib/plugins/translation/flags/more/mr.gif b/sources/lib/plugins/translation/flags/more/mr.gif new file mode 100644 index 0000000..f52fcf0 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/mr.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ms.gif b/sources/lib/plugins/translation/flags/more/ms.gif new file mode 100644 index 0000000..5e5a67a Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ms.gif differ diff --git a/sources/lib/plugins/translation/flags/more/mt.gif b/sources/lib/plugins/translation/flags/more/mt.gif new file mode 100644 index 0000000..45c709f Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/mt.gif differ diff --git a/sources/lib/plugins/translation/flags/more/mu.gif b/sources/lib/plugins/translation/flags/more/mu.gif new file mode 100644 index 0000000..081ab45 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/mu.gif differ diff --git a/sources/lib/plugins/translation/flags/more/mv.gif b/sources/lib/plugins/translation/flags/more/mv.gif new file mode 100644 index 0000000..46b6387 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/mv.gif differ diff --git a/sources/lib/plugins/translation/flags/more/mw.gif b/sources/lib/plugins/translation/flags/more/mw.gif new file mode 100644 index 0000000..ad045a0 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/mw.gif differ diff --git a/sources/lib/plugins/translation/flags/more/mx.gif b/sources/lib/plugins/translation/flags/more/mx.gif new file mode 100644 index 0000000..ddc75d0 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/mx.gif differ diff --git a/sources/lib/plugins/translation/flags/more/my.gif b/sources/lib/plugins/translation/flags/more/my.gif new file mode 100644 index 0000000..fc7d523 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/my.gif differ diff --git a/sources/lib/plugins/translation/flags/more/mz.gif b/sources/lib/plugins/translation/flags/more/mz.gif new file mode 100644 index 0000000..7d63508 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/mz.gif differ diff --git a/sources/lib/plugins/translation/flags/more/na.gif b/sources/lib/plugins/translation/flags/more/na.gif new file mode 100644 index 0000000..c0babe7 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/na.gif differ diff --git a/sources/lib/plugins/translation/flags/more/nc.gif b/sources/lib/plugins/translation/flags/more/nc.gif new file mode 100644 index 0000000..b1e91b9 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/nc.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ne.gif b/sources/lib/plugins/translation/flags/more/ne.gif new file mode 100644 index 0000000..ff4eaf0 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ne.gif differ diff --git a/sources/lib/plugins/translation/flags/more/nf.gif b/sources/lib/plugins/translation/flags/more/nf.gif new file mode 100644 index 0000000..c83424c Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/nf.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ng.gif b/sources/lib/plugins/translation/flags/more/ng.gif new file mode 100644 index 0000000..bdde7cb Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ng.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ni.gif b/sources/lib/plugins/translation/flags/more/ni.gif new file mode 100644 index 0000000..d05894d Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ni.gif differ diff --git a/sources/lib/plugins/translation/flags/more/np.gif b/sources/lib/plugins/translation/flags/more/np.gif new file mode 100644 index 0000000..1096893 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/np.gif differ diff --git a/sources/lib/plugins/translation/flags/more/nr.gif b/sources/lib/plugins/translation/flags/more/nr.gif new file mode 100644 index 0000000..2e4c0c5 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/nr.gif differ diff --git a/sources/lib/plugins/translation/flags/more/nu.gif b/sources/lib/plugins/translation/flags/more/nu.gif new file mode 100644 index 0000000..618210a Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/nu.gif differ diff --git a/sources/lib/plugins/translation/flags/more/nz.gif b/sources/lib/plugins/translation/flags/more/nz.gif new file mode 100644 index 0000000..028a5dc Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/nz.gif differ diff --git a/sources/lib/plugins/translation/flags/more/om.gif b/sources/lib/plugins/translation/flags/more/om.gif new file mode 100644 index 0000000..2b8c775 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/om.gif differ diff --git a/sources/lib/plugins/translation/flags/more/pa.gif b/sources/lib/plugins/translation/flags/more/pa.gif new file mode 100644 index 0000000..d518b2f Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/pa.gif differ diff --git a/sources/lib/plugins/translation/flags/more/pe.gif b/sources/lib/plugins/translation/flags/more/pe.gif new file mode 100644 index 0000000..3bc7639 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/pe.gif differ diff --git a/sources/lib/plugins/translation/flags/more/pf.gif b/sources/lib/plugins/translation/flags/more/pf.gif new file mode 100644 index 0000000..849297a Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/pf.gif differ diff --git a/sources/lib/plugins/translation/flags/more/pg.gif b/sources/lib/plugins/translation/flags/more/pg.gif new file mode 100644 index 0000000..2d20b07 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/pg.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ph.gif b/sources/lib/plugins/translation/flags/more/ph.gif new file mode 100644 index 0000000..12b380a Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ph.gif differ diff --git a/sources/lib/plugins/translation/flags/more/pk.gif b/sources/lib/plugins/translation/flags/more/pk.gif new file mode 100644 index 0000000..f3f62c2 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/pk.gif differ diff --git a/sources/lib/plugins/translation/flags/more/pl.gif b/sources/lib/plugins/translation/flags/more/pl.gif new file mode 100644 index 0000000..bf10646 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/pl.gif differ diff --git a/sources/lib/plugins/translation/flags/more/pm.gif b/sources/lib/plugins/translation/flags/more/pm.gif new file mode 100644 index 0000000..99bf6fd Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/pm.gif differ diff --git a/sources/lib/plugins/translation/flags/more/pn.gif b/sources/lib/plugins/translation/flags/more/pn.gif new file mode 100644 index 0000000..4bc86a1 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/pn.gif differ diff --git a/sources/lib/plugins/translation/flags/more/pr.gif b/sources/lib/plugins/translation/flags/more/pr.gif new file mode 100644 index 0000000..6d5d589 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/pr.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ps.gif b/sources/lib/plugins/translation/flags/more/ps.gif new file mode 100644 index 0000000..6afa3b7 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ps.gif differ diff --git a/sources/lib/plugins/translation/flags/more/pw.gif b/sources/lib/plugins/translation/flags/more/pw.gif new file mode 100644 index 0000000..5854510 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/pw.gif differ diff --git a/sources/lib/plugins/translation/flags/more/py.gif b/sources/lib/plugins/translation/flags/more/py.gif new file mode 100644 index 0000000..f2e66af Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/py.gif differ diff --git a/sources/lib/plugins/translation/flags/more/qa.gif b/sources/lib/plugins/translation/flags/more/qa.gif new file mode 100644 index 0000000..2e843ff Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/qa.gif differ diff --git a/sources/lib/plugins/translation/flags/more/re.gif b/sources/lib/plugins/translation/flags/more/re.gif new file mode 100644 index 0000000..43d0b80 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/re.gif differ diff --git a/sources/lib/plugins/translation/flags/more/rs.gif b/sources/lib/plugins/translation/flags/more/rs.gif new file mode 100644 index 0000000..3bd1fb2 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/rs.gif differ diff --git a/sources/lib/plugins/translation/flags/more/rw.gif b/sources/lib/plugins/translation/flags/more/rw.gif new file mode 100644 index 0000000..0d095f7 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/rw.gif differ diff --git a/sources/lib/plugins/translation/flags/more/sb.gif b/sources/lib/plugins/translation/flags/more/sb.gif new file mode 100644 index 0000000..8f5ff83 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/sb.gif differ diff --git a/sources/lib/plugins/translation/flags/more/sc.gif b/sources/lib/plugins/translation/flags/more/sc.gif new file mode 100644 index 0000000..31b4767 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/sc.gif differ diff --git a/sources/lib/plugins/translation/flags/more/scotland.gif b/sources/lib/plugins/translation/flags/more/scotland.gif new file mode 100644 index 0000000..03f3f1d Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/scotland.gif differ diff --git a/sources/lib/plugins/translation/flags/more/sd.gif b/sources/lib/plugins/translation/flags/more/sd.gif new file mode 100644 index 0000000..53ae214 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/sd.gif differ diff --git a/sources/lib/plugins/translation/flags/more/sg.gif b/sources/lib/plugins/translation/flags/more/sg.gif new file mode 100644 index 0000000..5663d39 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/sg.gif differ diff --git a/sources/lib/plugins/translation/flags/more/sh.gif b/sources/lib/plugins/translation/flags/more/sh.gif new file mode 100644 index 0000000..dcc7f3b Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/sh.gif differ diff --git a/sources/lib/plugins/translation/flags/more/si.gif b/sources/lib/plugins/translation/flags/more/si.gif new file mode 100644 index 0000000..23852b5 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/si.gif differ diff --git a/sources/lib/plugins/translation/flags/more/sj.gif b/sources/lib/plugins/translation/flags/more/sj.gif new file mode 100644 index 0000000..6202d1f Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/sj.gif differ diff --git a/sources/lib/plugins/translation/flags/more/sk.gif b/sources/lib/plugins/translation/flags/more/sk.gif new file mode 100644 index 0000000..1b3f22b Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/sk.gif differ diff --git a/sources/lib/plugins/translation/flags/more/sl.gif b/sources/lib/plugins/translation/flags/more/sl.gif new file mode 100644 index 0000000..f0f3492 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/sl.gif differ diff --git a/sources/lib/plugins/translation/flags/more/sm.gif b/sources/lib/plugins/translation/flags/more/sm.gif new file mode 100644 index 0000000..04d98de Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/sm.gif differ diff --git a/sources/lib/plugins/translation/flags/more/sn.gif b/sources/lib/plugins/translation/flags/more/sn.gif new file mode 100644 index 0000000..6dac870 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/sn.gif differ diff --git a/sources/lib/plugins/translation/flags/more/so.gif b/sources/lib/plugins/translation/flags/more/so.gif new file mode 100644 index 0000000..f196169 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/so.gif differ diff --git a/sources/lib/plugins/translation/flags/more/sr.gif b/sources/lib/plugins/translation/flags/more/sr.gif new file mode 100644 index 0000000..0f7499a Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/sr.gif differ diff --git a/sources/lib/plugins/translation/flags/more/st.gif b/sources/lib/plugins/translation/flags/more/st.gif new file mode 100644 index 0000000..4f1e6e0 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/st.gif differ diff --git a/sources/lib/plugins/translation/flags/more/sv.gif b/sources/lib/plugins/translation/flags/more/sv.gif new file mode 100644 index 0000000..2d7b159 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/sv.gif differ diff --git a/sources/lib/plugins/translation/flags/more/sy.gif b/sources/lib/plugins/translation/flags/more/sy.gif new file mode 100644 index 0000000..dc8bd50 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/sy.gif differ diff --git a/sources/lib/plugins/translation/flags/more/sz.gif b/sources/lib/plugins/translation/flags/more/sz.gif new file mode 100644 index 0000000..f37aaf8 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/sz.gif differ diff --git a/sources/lib/plugins/translation/flags/more/tc.gif b/sources/lib/plugins/translation/flags/more/tc.gif new file mode 100644 index 0000000..11a8c23 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/tc.gif differ diff --git a/sources/lib/plugins/translation/flags/more/td.gif b/sources/lib/plugins/translation/flags/more/td.gif new file mode 100644 index 0000000..7aa8a10 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/td.gif differ diff --git a/sources/lib/plugins/translation/flags/more/tf.gif b/sources/lib/plugins/translation/flags/more/tf.gif new file mode 100644 index 0000000..51a4325 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/tf.gif differ diff --git a/sources/lib/plugins/translation/flags/more/tg.gif b/sources/lib/plugins/translation/flags/more/tg.gif new file mode 100644 index 0000000..ca6b4e7 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/tg.gif differ diff --git a/sources/lib/plugins/translation/flags/more/tj.gif b/sources/lib/plugins/translation/flags/more/tj.gif new file mode 100644 index 0000000..2fe38d4 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/tj.gif differ diff --git a/sources/lib/plugins/translation/flags/more/tk.gif b/sources/lib/plugins/translation/flags/more/tk.gif new file mode 100644 index 0000000..3d3a727 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/tk.gif differ diff --git a/sources/lib/plugins/translation/flags/more/tl.gif b/sources/lib/plugins/translation/flags/more/tl.gif new file mode 100644 index 0000000..df22d58 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/tl.gif differ diff --git a/sources/lib/plugins/translation/flags/more/tm.gif b/sources/lib/plugins/translation/flags/more/tm.gif new file mode 100644 index 0000000..36d0994 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/tm.gif differ diff --git a/sources/lib/plugins/translation/flags/more/tn.gif b/sources/lib/plugins/translation/flags/more/tn.gif new file mode 100644 index 0000000..917d428 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/tn.gif differ diff --git a/sources/lib/plugins/translation/flags/more/to.gif b/sources/lib/plugins/translation/flags/more/to.gif new file mode 100644 index 0000000..d7ed4d1 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/to.gif differ diff --git a/sources/lib/plugins/translation/flags/more/tt.gif b/sources/lib/plugins/translation/flags/more/tt.gif new file mode 100644 index 0000000..47d3b80 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/tt.gif differ diff --git a/sources/lib/plugins/translation/flags/more/tv.gif b/sources/lib/plugins/translation/flags/more/tv.gif new file mode 100644 index 0000000..3c33827 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/tv.gif differ diff --git a/sources/lib/plugins/translation/flags/more/tw.gif b/sources/lib/plugins/translation/flags/more/tw.gif new file mode 100644 index 0000000..cacfd9b Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/tw.gif differ diff --git a/sources/lib/plugins/translation/flags/more/tz.gif b/sources/lib/plugins/translation/flags/more/tz.gif new file mode 100644 index 0000000..82b52ca Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/tz.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ua.gif b/sources/lib/plugins/translation/flags/more/ua.gif new file mode 100644 index 0000000..5d6cd83 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ua.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ug.gif b/sources/lib/plugins/translation/flags/more/ug.gif new file mode 100644 index 0000000..58b731a Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ug.gif differ diff --git a/sources/lib/plugins/translation/flags/more/um.gif b/sources/lib/plugins/translation/flags/more/um.gif new file mode 100644 index 0000000..3b4c848 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/um.gif differ diff --git a/sources/lib/plugins/translation/flags/more/us.gif b/sources/lib/plugins/translation/flags/more/us.gif new file mode 100644 index 0000000..8f198f7 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/us.gif differ diff --git a/sources/lib/plugins/translation/flags/more/uy.gif b/sources/lib/plugins/translation/flags/more/uy.gif new file mode 100644 index 0000000..12848c7 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/uy.gif differ diff --git a/sources/lib/plugins/translation/flags/more/uz.gif b/sources/lib/plugins/translation/flags/more/uz.gif new file mode 100644 index 0000000..dc9daec Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/uz.gif differ diff --git a/sources/lib/plugins/translation/flags/more/va.gif b/sources/lib/plugins/translation/flags/more/va.gif new file mode 100644 index 0000000..2bd7446 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/va.gif differ diff --git a/sources/lib/plugins/translation/flags/more/vc.gif b/sources/lib/plugins/translation/flags/more/vc.gif new file mode 100644 index 0000000..4821381 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/vc.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ve.gif b/sources/lib/plugins/translation/flags/more/ve.gif new file mode 100644 index 0000000..19ce6c1 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ve.gif differ diff --git a/sources/lib/plugins/translation/flags/more/vg.gif b/sources/lib/plugins/translation/flags/more/vg.gif new file mode 100644 index 0000000..1fc0f96 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/vg.gif differ diff --git a/sources/lib/plugins/translation/flags/more/vi.gif b/sources/lib/plugins/translation/flags/more/vi.gif new file mode 100644 index 0000000..66f9e74 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/vi.gif differ diff --git a/sources/lib/plugins/translation/flags/more/vu.gif b/sources/lib/plugins/translation/flags/more/vu.gif new file mode 100644 index 0000000..8a8b2b0 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/vu.gif differ diff --git a/sources/lib/plugins/translation/flags/more/wales.gif b/sources/lib/plugins/translation/flags/more/wales.gif new file mode 100644 index 0000000..901d175 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/wales.gif differ diff --git a/sources/lib/plugins/translation/flags/more/wf.gif b/sources/lib/plugins/translation/flags/more/wf.gif new file mode 100644 index 0000000..eaa954b Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/wf.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ws.gif b/sources/lib/plugins/translation/flags/more/ws.gif new file mode 100644 index 0000000..a51f939 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ws.gif differ diff --git a/sources/lib/plugins/translation/flags/more/ye.gif b/sources/lib/plugins/translation/flags/more/ye.gif new file mode 100644 index 0000000..7b0183d Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/ye.gif differ diff --git a/sources/lib/plugins/translation/flags/more/yt.gif b/sources/lib/plugins/translation/flags/more/yt.gif new file mode 100644 index 0000000..a2267c0 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/yt.gif differ diff --git a/sources/lib/plugins/translation/flags/more/za.gif b/sources/lib/plugins/translation/flags/more/za.gif new file mode 100644 index 0000000..ede5258 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/za.gif differ diff --git a/sources/lib/plugins/translation/flags/more/zm.gif b/sources/lib/plugins/translation/flags/more/zm.gif new file mode 100644 index 0000000..b2851d2 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/zm.gif differ diff --git a/sources/lib/plugins/translation/flags/more/zw.gif b/sources/lib/plugins/translation/flags/more/zw.gif new file mode 100644 index 0000000..02901f6 Binary files /dev/null and b/sources/lib/plugins/translation/flags/more/zw.gif differ diff --git a/sources/lib/plugins/translation/flags/nl.gif b/sources/lib/plugins/translation/flags/nl.gif new file mode 100644 index 0000000..c1c8f46 Binary files /dev/null and b/sources/lib/plugins/translation/flags/nl.gif differ diff --git a/sources/lib/plugins/translation/flags/no.gif b/sources/lib/plugins/translation/flags/no.gif new file mode 100644 index 0000000..6202d1f Binary files /dev/null and b/sources/lib/plugins/translation/flags/no.gif differ diff --git a/sources/lib/plugins/translation/flags/pt-br.gif b/sources/lib/plugins/translation/flags/pt-br.gif new file mode 100644 index 0000000..8c86616 Binary files /dev/null and b/sources/lib/plugins/translation/flags/pt-br.gif differ diff --git a/sources/lib/plugins/translation/flags/pt.gif b/sources/lib/plugins/translation/flags/pt.gif new file mode 100644 index 0000000..e735f74 Binary files /dev/null and b/sources/lib/plugins/translation/flags/pt.gif differ diff --git a/sources/lib/plugins/translation/flags/ro.gif b/sources/lib/plugins/translation/flags/ro.gif new file mode 100644 index 0000000..f5d5f12 Binary files /dev/null and b/sources/lib/plugins/translation/flags/ro.gif differ diff --git a/sources/lib/plugins/translation/flags/ru.gif b/sources/lib/plugins/translation/flags/ru.gif new file mode 100644 index 0000000..b525c46 Binary files /dev/null and b/sources/lib/plugins/translation/flags/ru.gif differ diff --git a/sources/lib/plugins/translation/flags/sv.gif b/sources/lib/plugins/translation/flags/sv.gif new file mode 100644 index 0000000..80f6285 Binary files /dev/null and b/sources/lib/plugins/translation/flags/sv.gif differ diff --git a/sources/lib/plugins/translation/flags/th.gif b/sources/lib/plugins/translation/flags/th.gif new file mode 100644 index 0000000..0130792 Binary files /dev/null and b/sources/lib/plugins/translation/flags/th.gif differ diff --git a/sources/lib/plugins/translation/flags/tr.gif b/sources/lib/plugins/translation/flags/tr.gif new file mode 100644 index 0000000..e407d55 Binary files /dev/null and b/sources/lib/plugins/translation/flags/tr.gif differ diff --git a/sources/lib/plugins/translation/flags/vi.gif b/sources/lib/plugins/translation/flags/vi.gif new file mode 100644 index 0000000..f1e20c9 Binary files /dev/null and b/sources/lib/plugins/translation/flags/vi.gif differ diff --git a/sources/lib/plugins/translation/flags/zh.gif b/sources/lib/plugins/translation/flags/zh.gif new file mode 100644 index 0000000..b052530 Binary files /dev/null and b/sources/lib/plugins/translation/flags/zh.gif differ diff --git a/sources/lib/plugins/translation/helper.php b/sources/lib/plugins/translation/helper.php new file mode 100644 index 0000000..a362d2f --- /dev/null +++ b/sources/lib/plugins/translation/helper.php @@ -0,0 +1,392 @@ + + */ + +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +class helper_plugin_translation extends DokuWiki_Plugin { + var $trans = array(); + var $tns = ''; + var $defaultlang = ''; + var $LN = array(); // hold native names + var $opts = array(); // display options + + /** + * Initialize + */ + function helper_plugin_translation() { + global $conf; + require_once(DOKU_INC . 'inc/pageutils.php'); + require_once(DOKU_INC . 'inc/utf8.php'); + + // load wanted translation into array + $this->trans = strtolower(str_replace(',', ' ', $this->getConf('translations'))); + $this->trans = array_unique(array_filter(explode(' ', $this->trans))); + sort($this->trans); + + // load language names + $this->LN = confToHash(dirname(__FILE__) . '/lang/langnames.txt'); + + // display options + $this->opts = $this->getConf('display'); + $this->opts = explode(',', $this->opts); + $this->opts = array_map('trim', $this->opts); + $this->opts = array_fill_keys($this->opts, true); + + // get default translation + if(!$conf['lang_before_translation']) { + $dfl = $conf['lang']; + } else { + $dfl = $conf['lang_before_translation']; + } + if(in_array($dfl, $this->trans)) { + $this->defaultlang = $dfl; + } else { + $this->defaultlang = ''; + array_unshift($this->trans, ''); + } + + $this->tns = cleanID($this->getConf('translationns')); + if($this->tns) $this->tns .= ':'; + } + + /** + * Check if the given ID is a translation and return the language code. + */ + function getLangPart($id) { + list($lng) = $this->getTransParts($id); + return $lng; + } + + /** + * Check if the given ID is a translation and return the language code and + * the id part. + */ + function getTransParts($id) { + $rx = '/^' . $this->tns . '(' . join('|', $this->trans) . '):(.*)/'; + if(preg_match($rx, $id, $match)) { + return array($match[1], $match[2]); + } + return array('', $id); + } + + /** + * Returns the browser language if it matches with one of the configured + * languages + */ + function getBrowserLang() { + $rx = '/(^|,|:|;|-)(' . join('|', $this->trans) . ')($|,|:|;|-)/i'; + if(preg_match($rx, $_SERVER['HTTP_ACCEPT_LANGUAGE'], $match)) { + return strtolower($match[2]); + } + return false; + } + + /** + * Returns the ID and name to the wanted translation, empty + * $lng is default lang + */ + function buildTransID($lng, $idpart) { + global $conf; + if($lng) { + $link = ':' . $this->tns . $lng . ':' . $idpart; + $name = $lng; + } else { + $link = ':' . $this->tns . $idpart; + $name = $this->realLC(''); + } + return array($link, $name); + } + + /** + * Returns the real language code, even when an empty one is given + * (eg. resolves th default language) + */ + function realLC($lc) { + global $conf; + if($lc) { + return $lc; + } elseif(!$conf['lang_before_translation']) { + return $conf['lang']; + } else { + return $conf['lang_before_translation']; + } + } + + /** + * Check if current ID should be translated and any GUI + * should be shown + */ + function istranslatable($id, $checkact = true) { + global $ACT; + + if($checkact && $ACT != 'show') return false; + if($this->tns && strpos($id, $this->tns) !== 0) return false; + $skiptrans = trim($this->getConf('skiptrans')); + if($skiptrans && preg_match('/' . $skiptrans . '/ui', ':' . $id)) return false; + $meta = p_get_metadata($id); + if($meta['plugin']['translation']['notrans']) return false; + + return true; + } + + /** + * Return the (localized) about link + */ + function showAbout() { + global $ID; + global $conf; + global $INFO; + + $curlc = $this->getLangPart($ID); + + $about = $this->getConf('about'); + if($this->getConf('localabout')) { + list($lc, $idpart) = $this->getTransParts($about); + list($about, $name) = $this->buildTransID($curlc, $idpart); + $about = cleanID($about); + } + + $out = ''; + $out .= ''; + $out .= html_wikilink($about, '?'); + $out .= ''; + + return $out; + } + + /** + * Returns a list of (lc => link) for all existing translations of a page + * + * @param $id + * @return array + */ + function getAvailableTranslations($id) { + $result = array(); + + list($lc, $idpart) = $this->getTransParts($id); + $lang = $this->realLC($lc); + + foreach($this->trans as $t) { + if($t == $lc) continue; //skip self + list($link, $name) = $this->buildTransID($t, $idpart); + if(page_exists($link)) { + $result[$name] = $link; + } + } + + return $result; + } + + /** + * Creates an UI for linking to the available and configured translations + * + * Can be called from the template or via the ~~TRANS~~ syntax component. + */ + public function showTranslations() { + global $conf; + global $INFO; + + if(!$this->istranslatable($INFO['id'])) return ''; + $this->checkage(); + + list($lc, $idpart) = $this->getTransParts($INFO['id']); + $lang = $this->realLC($lc); + + $out = '
'; + + //show title and about + if(isset($this->opts['title'])) { + $out .= '' . $this->getLang('translations'); + if($this->getConf('about')) $out .= $this->showAbout(); + $out .= ': '; + if(isset($this->opts['twolines'])) $out .= '
'; + } + + // open wrapper + if($this->getConf('dropdown')) { + // select needs its own styling + if($INFO['exists']) { + $class = 'wikilink1'; + } else { + $class = 'wikilink2'; + } + if(isset($this->opts['flag'])) { + $flag = DOKU_BASE . 'lib/plugins/translation/flags/' . hsc($lang) . '.gif'; + }else{ + $flag = ''; + } + + if($conf['userewrite']) { + $action = wl(); + } else { + $action = script(); + } + + $out .= '
'; + if($flag) $out .= '' . hsc($lang) . ' '; + $out .= ''; + $out .= ''; + $out .= '
'; + } else { + $out .= ''; + } + + // show about if not already shown + if(!isset($this->opts['title']) && $this->getConf('about')) { + $out .= ' '; + $out .= $this->showAbout(); + } + + $out .= '
'; + + return $out; + } + + /** + * Return the local name + * + * @param $lang + * @return string + */ + function getLocalName($lang) { + if($this->LN[$lang]) { + return $this->LN[$lang]; + } + return $lang; + } + + /** + * Create the link or option for a single translation + * + * @param $lc string The language code + * @param $idpart string The ID of the translated page + * @returns string The item + */ + function getTransItem($lc, $idpart) { + global $ID; + global $conf; + + list($link, $lang) = $this->buildTransID($lc, $idpart); + $link = cleanID($link); + + // class + if(page_exists($link, '', false)) { + $class = 'wikilink1'; + } else { + $class = 'wikilink2'; + } + + // local language name + $localname = $this->getLocalName($lang); + + // current? + if($ID == $link) { + $sel = ' selected="selected"'; + $class .= ' cur'; + } else { + $sel = ''; + } + + // flag + if(isset($this->opts['flag'])) { + $flag = DOKU_BASE . 'lib/plugins/translation/flags/' . hsc($lang) . '.gif'; + $style = ' style="background-image: url(\'' . $flag . '\')"'; + $class .= ' flag'; + } + + // what to display as name + if(isset($this->opts['name'])) { + $display = hsc($localname); + if(isset($this->opts['langcode'])) $display .= ' (' . hsc($lang) . ')'; + } elseif(isset($this->opts['langcode'])) { + $display = hsc($lang); + } else { + $display = ' '; + } + + // prepare output + $out = ''; + if($this->getConf('dropdown')) { + if($conf['useslash']) $link = str_replace(':', '/', $link); + + $out .= ''; + } else { + $out .= '
  • '; + } + + return $out; + } + + /** + * Checks if the current page is a translation of a page + * in the default language. Displays a notice when it is + * older than the original page. Tries to lin to a diff + * with changes on the original since the translation + */ + function checkage() { + global $ID; + global $INFO; + if(!$this->getConf('checkage')) return; + if(!$INFO['exists']) return; + $lng = $this->getLangPart($ID); + if($lng == $this->defaultlang) return; + + $rx = '/^' . $this->tns . '((' . join('|', $this->trans) . '):)?/'; + $idpart = preg_replace($rx, '', $ID); + + // compare modification times + list($orig, $name) = $this->buildTransID($this->defaultlang, $idpart); + $origfn = wikiFN($orig); + if($INFO['lastmod'] >= @filemtime($origfn)) return; + + // get revision from before translation + $orev = 0; + $revs = getRevisions($orig, 0, 100); + foreach($revs as $rev) { + if($rev < $INFO['lastmod']) { + $orev = $rev; + break; + } + } + + // see if the found revision still exists + if($orev && !page_exists($orig, $orev)) $orev = 0; + + // build the message and display it + $orig = cleanID($orig); + $msg = sprintf($this->getLang('outdated'), wl($orig)); + if($orev) { + $msg .= sprintf( + ' ' . $this->getLang('diff'), + wl($orig, array('do' => 'diff', 'rev' => $orev)) + ); + } + + echo '
    ' . $msg . '
    '; + } +} diff --git a/sources/lib/plugins/translation/lang/cs/lang.php b/sources/lib/plugins/translation/lang/cs/lang.php new file mode 100644 index 0000000..9a92c61 --- /dev/null +++ b/sources/lib/plugins/translation/lang/cs/lang.php @@ -0,0 +1,3 @@ + + * @author Soren Birk + */ +$lang['translations'] = 'Oversættelser af denne side'; +$lang['outdated'] = 'Denne oversættelse er ældre end den originale side og er muligvis forældet.'; +$lang['diff'] = 'Se hvad der er ændret.'; +$lang['transloaded'] = 'Indholdet af denne sides oversættelse i %s er blevet præ-indlæst for lettere oversættelse.
    Du kan basere din oversættelse på følgende nuværende oversættelser: %s.'; diff --git a/sources/lib/plugins/translation/lang/da/settings.php b/sources/lib/plugins/translation/lang/da/settings.php new file mode 100644 index 0000000..53b74f6 --- /dev/null +++ b/sources/lib/plugins/translation/lang/da/settings.php @@ -0,0 +1,16 @@ + + * @author Soren Birk + */ +$lang['translations'] = 'Mellemrums-separeret liste a oversættelsessprog (ISO koder). Lad være med at inkludere standardsproget.'; +$lang['translationns'] = 'Hvis du kun vil have oversættelser under et bestemt navnerum, indsæt det her.'; +$lang['skiptrans'] = 'Hvis navnet på siden matcher dette regulære udtryk, så lad være med at vise oversættelsesmenuen.'; +$lang['dropdown'] = 'Benyt en rulleliste til at vise oversættelserne (anbefales til 5 sprog eller mere).'; +$lang['translateui'] = 'Skal brugerfladens sprog også skiftes i fremmedsprogets navnerum?'; +$lang['redirectstart'] = 'Skal startsiden automatisk henvise til et sprog-navnerum vha browserens sprog-genkendelse?'; +$lang['about'] = 'Skriv et sidenavn her hvor oversættelsesfunktionen er forklaret for dine brugere. Siden vil blive linket til fra sprogvælgeren.'; +$lang['checkage'] = 'Advar om mulige forældede oversættelser.'; diff --git a/sources/lib/plugins/translation/lang/de-informal/lang.php b/sources/lib/plugins/translation/lang/de-informal/lang.php new file mode 100644 index 0000000..e402a02 --- /dev/null +++ b/sources/lib/plugins/translation/lang/de-informal/lang.php @@ -0,0 +1,3 @@ + + */ +$lang['translations'] = 'Übersetzungen dieser Seite'; +$lang['outdated'] = 'Diese Übersetzung ist älter als das Original und ist eventuell veraltet.'; +$lang['diff'] = 'Änderungen zeigen.'; +$lang['transloaded'] = 'Der Inhalt dieser Seite auf %s wurde in den Editor geladen um die Übersetzung zu erleichtern.
    Sie können Ihre Arbeit auch mit einer der folgenden vorhandenen Übersetzungen beginnen: %s.'; diff --git a/sources/lib/plugins/translation/lang/de/settings.php b/sources/lib/plugins/translation/lang/de/settings.php new file mode 100644 index 0000000..80bd4d9 --- /dev/null +++ b/sources/lib/plugins/translation/lang/de/settings.php @@ -0,0 +1,18 @@ + + */ +$lang['translations'] = 'Liste der Sprachen (ISO codes), mittels Leerzeichen separiert. Die Default-Sprache nicht angeben.'; +$lang['translationns'] = 'Wenn die Übersetzung nur unterhalb eines Namensraumes gelten soll, diesen hier angeben.'; +$lang['skiptrans'] = 'Wenn der Seitennamen dem regulären Ausdruck entspricht, dann den Sprachumschalter nicht anzeigen.'; +$lang['dropdown'] = 'Eine Auswahlliste benutzen, um die Übersetzungen anzuzeigen (zu bevorzugen bei mehr als fünf Sprachen).'; +$lang['translateui'] = 'Soll die Sprache der Benutzerschnittstelle auch in die jeweilige Fremdspache umgeschaltet werden?'; +$lang['redirectstart'] = 'Anhand des Browsers des Benutzers erkennen, welche Sprache angezeigt werden soll. (Startseite leitet in den passenden Namensraum um).'; +$lang['about'] = 'Geben Sie hier eine Seite an, welche den Mechanismus der Übersetzung erklärt. Sie wird vom Sprachumschalter verlinkt.'; +$lang['localabout'] = 'Sprachspezifische Versionen der oben angegebenen Seite (anstelle einer globalen) nutzen.'; +$lang['checkage'] = 'Warnungen von möglicherweise veralteten Übersetzungen anzeigen.'; +$lang['display'] = 'Geben Sie an welches/r Symbol/Text im Sprachumschalter angezeigt werden soll. (Die Nutzung von länderspezifischen Flaggen wird aus Gründen der Benutzbarkeit nicht empfohlen.)'; +$lang['copytrans'] = 'Original Sprachversion in den Editor kopieren wenn eine neue Übersetzung begonnen wird?'; diff --git a/sources/lib/plugins/translation/lang/de/totranslate.txt b/sources/lib/plugins/translation/lang/de/totranslate.txt new file mode 100644 index 0000000..37d03ae --- /dev/null +++ b/sources/lib/plugins/translation/lang/de/totranslate.txt @@ -0,0 +1 @@ +FIXME **Diese Seite wurde noch nicht vollständig übersetzt. Bitte helfen Sie bei der Übersetzung.**\\ //(diesen Absatz entfernen, wenn die Übersetzung abgeschlossen wurde)// \ No newline at end of file diff --git a/sources/lib/plugins/translation/lang/en/lang.php b/sources/lib/plugins/translation/lang/en/lang.php new file mode 100644 index 0000000..37178eb --- /dev/null +++ b/sources/lib/plugins/translation/lang/en/lang.php @@ -0,0 +1,7 @@ +original page and might be outdated.'; +$lang['diff'] = 'See what has changed.'; +$lang['transloaded'] = 'The contents of this page\'s translation in %s have been pre-loaded for easy translation.
    But you can base your translation on the following existing translations: %s.'; + diff --git a/sources/lib/plugins/translation/lang/en/settings.php b/sources/lib/plugins/translation/lang/en/settings.php new file mode 100644 index 0000000..f36ce4d --- /dev/null +++ b/sources/lib/plugins/translation/lang/en/settings.php @@ -0,0 +1,19 @@ + + */ + +$lang['translations'] = 'Space separated list of translation languages (ISO codes).'; +$lang['translationns'] = 'If you only want translations below a certain namespace, put it here.'; +$lang['skiptrans'] = 'When the pagename matches this regular expression, don\'t show the translation menu.'; +$lang['dropdown'] = 'Use a dropdown list to display the translations (recommended for more than 5 languages).'; +$lang['translateui'] = 'Should the language of the user interface be switched in foreign language namespaces, too?'; +$lang['redirectstart'] = 'Should the start page automatically redirect into a language namespace using browser language detection?'; +$lang['about'] = 'Enter a pagename here where the translation feature is explained for your users. It will be linked from the language selector.'; +$lang['localabout'] = 'Use localized versions of about page (instead of one global about page).'; +$lang['checkage'] = 'Warn about possibly outdated translations.'; +$lang['display'] = 'Select what you\'d like to have shown in the language selector. Note that using country flags for language selection is not recommended by usability experts.'; + +$lang['copytrans'] = 'Copy original language text into the editor when starting a new translation?'; \ No newline at end of file diff --git a/sources/lib/plugins/translation/lang/en/totranslate.txt b/sources/lib/plugins/translation/lang/en/totranslate.txt new file mode 100644 index 0000000..ab42d5f --- /dev/null +++ b/sources/lib/plugins/translation/lang/en/totranslate.txt @@ -0,0 +1 @@ +FIXME **This page is not fully translated, yet. Please help completing the translation.**\\ //(remove this paragraph once the translation is finished)// \ No newline at end of file diff --git a/sources/lib/plugins/translation/lang/eo/lang.php b/sources/lib/plugins/translation/lang/eo/lang.php new file mode 100644 index 0000000..3b325da --- /dev/null +++ b/sources/lib/plugins/translation/lang/eo/lang.php @@ -0,0 +1,11 @@ + + */ +$lang['translations'] = 'Tradukoj de tiu paĝo'; +$lang['outdated'] = 'Tiu traduko estas pli malnova ol la origina paĝo kaj povus esti malaktuala.'; +$lang['diff'] = 'Vidi kio ŝanĝiĝis.'; +$lang['transloaded'] = 'La enhavo de la paĝtraduko en %s disponeblas por facila tradukado.
    Sed vi povas bazi vian tradukon sur la sekvaj tradukoj: %s.'; diff --git a/sources/lib/plugins/translation/lang/eo/settings.php b/sources/lib/plugins/translation/lang/eo/settings.php new file mode 100644 index 0000000..6edf642 --- /dev/null +++ b/sources/lib/plugins/translation/lang/eo/settings.php @@ -0,0 +1,18 @@ + + */ +$lang['translations'] = 'Spaco-disigita listo de tradukaj lingvoj (ISO-kodoj).'; +$lang['translationns'] = 'Se vi volas traduki nur ene de certa nomspaco, indiku ĝin.'; +$lang['skiptrans'] = 'Ne montri la tradukmenuon, kiam la paĝnomo kongruas al tiu regula esprimo.'; +$lang['dropdown'] = 'Uzi falmenuon por montri la tradukojn (rekomendata por pli ol 5 lingvoj).'; +$lang['translateui'] = 'Ĉu ankaŭ ŝanĝi la lingvon de la uzanto-interfaco en alilingvaj nomspacoj?'; +$lang['redirectstart'] = 'Ĉu la startpaĝo aŭtomate redirektiĝu al lingva nomspaco laŭ foliumila rekonado?'; +$lang['about'] = 'Paĝnomo, kie klariĝas la tradukad-funkcio al uzantoj. La lingvo-selektilo ligos tien.'; +$lang['localabout'] = 'Uzi lokajn versiojn de la pri-paĝo (anstataŭ unu ĝenerala pri-paĝo).'; +$lang['checkage'] = 'Averti pri eble malaktualaj tradukoj.'; +$lang['display'] = 'Kion montri en la lingvo-selektilo. Notu ke uzeblec-fakuloj ne rekomendas uzi landajn flagetojn por lingvo-elekto.'; +$lang['copytrans'] = 'Ĉu kopii la originlingvan tekston en la redaktokampon por komenci novan tradukon?'; diff --git a/sources/lib/plugins/translation/lang/eo/totranslate.txt b/sources/lib/plugins/translation/lang/eo/totranslate.txt new file mode 100644 index 0000000..1987959 --- /dev/null +++ b/sources/lib/plugins/translation/lang/eo/totranslate.txt @@ -0,0 +1 @@ +FIXME **Tiu paĝo ankoraŭ ne plene tradukiĝis. Bv. helpi kompletigi la tradukon.**\\ //(forigu tiun alineon post fintraduko)// \ No newline at end of file diff --git a/sources/lib/plugins/translation/lang/es/lang.php b/sources/lib/plugins/translation/lang/es/lang.php new file mode 100644 index 0000000..f1d1c60 --- /dev/null +++ b/sources/lib/plugins/translation/lang/es/lang.php @@ -0,0 +1,3 @@ + + */ + +$lang['translations'] = "Lista de lenguajes para traducción (Códigos ISO), separados por espacios. No incluir el lenguaje por defecto."; +$lang['flags'] = "¿Usar banderas en la pantalla en lugar del código ISO de dos letras para los lenguajes? Marcar si es sí, desmarcar si es no."; +$lang['translationns'] = "Si sólo quieres traducciones en determinados espacios de nombre, indícalos aquí."; +$lang['translateui'] = "¿También debería el lenguaje del interface de usuario cambiarse en los espacios de nombre foráneos?"; +$lang['about'] = "Introduce aquí un nombre de página donde se explique a tus usuarios la funcionalidad de traducción. Se enlazará desde el selector de lenguaje."; + diff --git a/sources/lib/plugins/translation/lang/fr/lang.php b/sources/lib/plugins/translation/lang/fr/lang.php new file mode 100644 index 0000000..6944d07 --- /dev/null +++ b/sources/lib/plugins/translation/lang/fr/lang.php @@ -0,0 +1,13 @@ + + * @author NicolasFriedli + * @author Gilles-Philippe Morin + */ +$lang['translations'] = 'Traductions de cette page'; +$lang['outdated'] = 'Cette traduction est plus ancienne que la page originale et est peut-être dépassée.'; +$lang['diff'] = 'Voir ce qui a changé.'; +$lang['transloaded'] = 'Le contenu de cette page en %s a été pré-chargé pour faciliter la traduction.
    Mais vous pouvez baser votre traduction sur les traductions existantes: %s'; diff --git a/sources/lib/plugins/translation/lang/fr/settings.php b/sources/lib/plugins/translation/lang/fr/settings.php new file mode 100644 index 0000000..316b129 --- /dev/null +++ b/sources/lib/plugins/translation/lang/fr/settings.php @@ -0,0 +1,20 @@ + + * @author Vincent Feltz + * @author NicolasFriedli + */ +$lang['translations'] = 'Liste des langues disponibles séparées par des espaces (codes ISO).'; +$lang['translationns'] = 'Si vous souhaitez ne traduire qu\'un certain namespace, indiquez-le ici.'; +$lang['skiptrans'] = 'Quand le nom de la page correspond à cette expression régulière, ne pas montrer le menu de traduction.'; +$lang['dropdown'] = 'Utiliser un menu déroulant pour afficher les traductions (recommandé pour plus de 5 langues).'; +$lang['translateui'] = 'Dans les namespace traduits, la langue de l\'interface utilisateur doit-elle aussi être changée ?'; +$lang['redirectstart'] = 'La page de départ devrait-elle rediriger vers un namespace traduit en utilisant la détection de langue du navigateur ?'; +$lang['about'] = 'Entrez ici un nom de page où la fonctionnalité de traduction est expliquée aux utilisateurs. Elle sera accessible depuis le sélecteur de langue.'; +$lang['localabout'] = 'Utiliser des versions traduites de la page à propos (au lieu d\'une page à propos globale).'; +$lang['checkage'] = 'Avertir de la possibilité de traductions dépassées.'; +$lang['display'] = 'Sélectionnez ce que vous voudriez afficher dans le sélecteur de langue. Notez qu\'utiliser les drapeaux de pays pour la sélection de langue n\'est pas recommandée par les experts en ergonomie.'; +$lang['copytrans'] = 'Copier le texte en langue souce dans l\'éditeur quand une nouvelle traduction est lancée?'; diff --git a/sources/lib/plugins/translation/lang/fr/totranslate.txt b/sources/lib/plugins/translation/lang/fr/totranslate.txt new file mode 100644 index 0000000..3603d4e --- /dev/null +++ b/sources/lib/plugins/translation/lang/fr/totranslate.txt @@ -0,0 +1 @@ +FIXME **Cette page n'est pas encore traduite entièrement. Merci de terminer la traduction**\\ //(supprimez ce paragraphe une fois la traduction terminée)// \ No newline at end of file diff --git a/sources/lib/plugins/translation/lang/hu/lang.php b/sources/lib/plugins/translation/lang/hu/lang.php new file mode 100644 index 0000000..6a576ff --- /dev/null +++ b/sources/lib/plugins/translation/lang/hu/lang.php @@ -0,0 +1,11 @@ + + */ +$lang['translations'] = 'Oldal fordításai'; +$lang['outdated'] = 'A fordítás régebbi, mint az eredeti oldal, ezért lehet, hogy már elavult.'; +$lang['diff'] = 'Módosítások megtekintése.'; +$lang['transloaded'] = 'Az oldal tartalmának %s nyelvi fordítását előre betöltöttem a könnyebb módosítás érdekében.
    Ugyanakkor a fordítást elvégezhetjük a már létező %s fordítás alapján is.'; diff --git a/sources/lib/plugins/translation/lang/hu/settings.php b/sources/lib/plugins/translation/lang/hu/settings.php new file mode 100644 index 0000000..5a27108 --- /dev/null +++ b/sources/lib/plugins/translation/lang/hu/settings.php @@ -0,0 +1,18 @@ + + */ +$lang['translations'] = 'Szóközzel elválasztott lista a nyelvi fordításokról (ISO-kódokkal).'; +$lang['translationns'] = 'Ha csak egy bizonyos névtér alatt lévő fordítást szeretnénk, tegyük ide.'; +$lang['skiptrans'] = 'Ha az oldal neve illeszkedik ehhez a reguláris kifejezéshez, ne jelenjen meg a fordítások menüje.'; +$lang['dropdown'] = 'Legördülő lista használata a fordításokhoz (5 nyelvnél több esetén javasolt).'; +$lang['translateui'] = 'Módosuljon a felhasználói felület nyelve is idegen nyelvi névterek alatt?'; +$lang['redirectstart'] = 'Átirányítsuk automatikusan a kezdőoldalt abba a nyelvi névtérbe, amely nyelv a böngészőben van beállítva?'; +$lang['about'] = 'Itt adhatjuk meg annak az oldalnak a nevét, amelyen a fordítási lehetőségeket ismertetjük a felhasználókkal. Erre fog hivatkozni a nyelvkiválasztó képernyőelem.'; +$lang['localabout'] = 'A névjegy oldal fordított változátanak használata (a globális névjegy oldal helyett).'; +$lang['checkage'] = 'Figyelmeztetés az esetlegesen elavult fordításokra.'; +$lang['display'] = 'Válasszuk ki, mi jelenjen meg a nyelvi kiválasztó képernyőelemében. Jegyezzük meg: az országzászlókat nem javasolják a használhatósági szakértők.'; +$lang['copytrans'] = 'Átmásoljuk az eredeti nyelvi szöveget a szövegszerkesztőbe új fordítás indításakor?'; diff --git a/sources/lib/plugins/translation/lang/hu/totranslate.txt b/sources/lib/plugins/translation/lang/hu/totranslate.txt new file mode 100644 index 0000000..e072d8a --- /dev/null +++ b/sources/lib/plugins/translation/lang/hu/totranslate.txt @@ -0,0 +1 @@ +JAVÍTANDÓ **Az oldal még nincs teljesen lefordítva. Kérjük, segítsen a befejezésében!**\\ //(Töröljük ezt a bekezdést a fordítás elkészültekor.)// \ No newline at end of file diff --git a/sources/lib/plugins/translation/lang/it/lang.php b/sources/lib/plugins/translation/lang/it/lang.php new file mode 100644 index 0000000..e0a8ee2 --- /dev/null +++ b/sources/lib/plugins/translation/lang/it/lang.php @@ -0,0 +1,3 @@ + + * @author Diego Pierotto + */ + +$lang['translations'] = "Elenco delle lingue di traduzione separati da spazi (codici ISO). Non includere la lingua predefinita"; +$lang['translationns'] = "Scrivi qui solo se vuoi le traduzioni all'interno di una certa categoria."; +$lang['translateui'] = "Vuoi che anche la lingua dell'interfaccia utente sia modificata in categorie della stessa lingua?"; +$lang['about'] = "Inserisci qui una pagina dove la funzione di traduzione viene spiegata agli utenti. Sarà collegata al selettore lingua."; diff --git a/sources/lib/plugins/translation/lang/ja/lang.php b/sources/lib/plugins/translation/lang/ja/lang.php new file mode 100644 index 0000000..6739f3e --- /dev/null +++ b/sources/lib/plugins/translation/lang/ja/lang.php @@ -0,0 +1,11 @@ + + */ +$lang['translations'] = 'このページの翻訳'; +$lang['outdated'] = 'この翻訳は元のページよりも古く、時代遅れな可能性があります。'; +$lang['diff'] = '変更点を参照して下さい。'; +$lang['transloaded'] = '翻訳し易くするために %s にあるこのページの翻訳内容を事前に読み込みました。
    以下の既存の翻訳を翻訳の基にすることができます:%s。'; diff --git a/sources/lib/plugins/translation/lang/ja/settings.php b/sources/lib/plugins/translation/lang/ja/settings.php new file mode 100644 index 0000000..bc37b1e --- /dev/null +++ b/sources/lib/plugins/translation/lang/ja/settings.php @@ -0,0 +1,18 @@ + + */ +$lang['translations'] = '翻訳言語(ISOコード)のスペース区切り一覧'; +$lang['translationns'] = '特定の名前空間以下のみを翻訳したい場合、名前空間を記入する。'; +$lang['skiptrans'] = 'ページ名がこの正規表現と一致すると、翻訳メニューが表示されません。'; +$lang['dropdown'] = '翻訳を表示するためにドロップダウン一覧を使用する(5言語以上の場合推奨)。'; +$lang['translateui'] = 'ユーザーインターフェイスの言語も、名前空間の外国語に切り替えるか?'; +$lang['redirectstart'] = 'ブラウザーの言語を検出して、スタートページを言語の名前空間に自動的にリダイレクトするか?'; +$lang['about'] = '翻訳機能をユーザーに説明するページ名を入力して下さい。言語セレクタからリンクされます。'; +$lang['localabout'] = '(包括的な概要ページの代わりに)翻訳版の概要ページを使用する。'; +$lang['checkage'] = '古い翻訳について警告する。'; +$lang['display'] = '言語セレクタに何を表示するかを選択する。言語選択に国旗を使用することをユーザビリティ専門家は奨励しないので注意してください。'; +$lang['copytrans'] = '新しく翻訳を開始する時、エディタに元の言語の文章をコピーするか?'; diff --git a/sources/lib/plugins/translation/lang/ja/totranslate.txt b/sources/lib/plugins/translation/lang/ja/totranslate.txt new file mode 100644 index 0000000..05ac184 --- /dev/null +++ b/sources/lib/plugins/translation/lang/ja/totranslate.txt @@ -0,0 +1 @@ +FIXME **このページはまだ完全には、翻訳されません。翻訳の完了を支援して下さい。**\\ //(翻訳が完了したらこの段落を削除して下さい)// \ No newline at end of file diff --git a/sources/lib/plugins/translation/lang/ko/lang.php b/sources/lib/plugins/translation/lang/ko/lang.php new file mode 100644 index 0000000..6e7910b --- /dev/null +++ b/sources/lib/plugins/translation/lang/ko/lang.php @@ -0,0 +1,11 @@ + + */ +$lang['translations'] = '이 문서의 번역'; +$lang['outdated'] = '이 번역은 원래 문서보다 오래되었고 오래된 번역일 수 있습니다.'; +$lang['diff'] = '무엇이 바뀌었는지 참고하세요.'; +$lang['transloaded'] = '%s에 있는 이 문서의 번역의 내용을 쉽게 번역하기 위해 미리 불러왔습니다.
    하지만 다음 기존 번역에 당신의 번역을 기반으로 할 수 있습니다: %s.'; diff --git a/sources/lib/plugins/translation/lang/ko/settings.php b/sources/lib/plugins/translation/lang/ko/settings.php new file mode 100644 index 0000000..9f5e36a --- /dev/null +++ b/sources/lib/plugins/translation/lang/ko/settings.php @@ -0,0 +1,18 @@ + + */ +$lang['translations'] = '번역 언어의 공백으로 구분한 목록 (ISO 코드).'; +$lang['translationns'] = '특정 이름공간에 따라 번역을 원하면 여기에 넣으세요.'; +$lang['skiptrans'] = '문서이름이 정규 표현식과 일치하면, 번역 메뉴를 보여주지 마세요.'; +$lang['dropdown'] = '번역을 보여줄 드롭다운 목록을 사용합니다. (5개 이상의 언어이면 권장)'; +$lang['translateui'] = '사용자 인터페이스의 언어도 외국어 이름공간으로 전환해야 합니까?'; +$lang['redirectstart'] = '시작 문서가 자동으로 브라우저 언어 감지를 사용해 언어 이름공간으로 넘겨줘야 합니까?'; +$lang['about'] = '사용자에게 설명할 번역 기능이 어디에 있는지 여기에 문서이름을 입력하세요.'; +$lang['localabout'] = '(하나의 전역 소개 문서 대신) 소개 문서의 지역화된 버전을 사용합니다.'; +$lang['checkage'] = '가능하면 오래된 번역에 대해 경고합니다.'; +$lang['display'] = '언어 선택기에 보여주고 싶은 것을 선택하세요. 언어 선택에 국기를 사용하는 것은 사용성 전문가에게 권장하지 않음을 참고하세요.'; +$lang['copytrans'] = '새 번역을 시작할 때 편집기에 원래 언어 문장을 복사하겠습니까?'; diff --git a/sources/lib/plugins/translation/lang/ko/totranslate.txt b/sources/lib/plugins/translation/lang/ko/totranslate.txt new file mode 100644 index 0000000..9a19833 --- /dev/null +++ b/sources/lib/plugins/translation/lang/ko/totranslate.txt @@ -0,0 +1 @@ +FIXME **이 문서는 아직 완전히 번역되지 않았습니다. 번역을 완료하는 데 도와주세요.**\\ //(번역을 마치면 이 단락을 지우세요)// \ No newline at end of file diff --git a/sources/lib/plugins/translation/lang/lv/lang.php b/sources/lib/plugins/translation/lang/lv/lang.php new file mode 100644 index 0000000..af85894 --- /dev/null +++ b/sources/lib/plugins/translation/lang/lv/lang.php @@ -0,0 +1,11 @@ + + */ +$lang['translations'] = 'Citās valodās'; +$lang['outdated'] = 'Šis tulkojums ir vecāks par oriģinālo lapu un varbūt ir novecojis.'; +$lang['diff'] = 'Redzēt, ka ir mainījies.'; +$lang['transloaded'] = 'Vieglākai tulkošanai ir ielādēts lapas saturs no %s .
    Bet varat balstīties arī uz šādiem tulkojumiem: %s.'; diff --git a/sources/lib/plugins/translation/lang/lv/settings.php b/sources/lib/plugins/translation/lang/lv/settings.php new file mode 100644 index 0000000..1b61b46 --- /dev/null +++ b/sources/lib/plugins/translation/lang/lv/settings.php @@ -0,0 +1,19 @@ + + * @author Aivars Miška + */ +$lang['translations'] = 'Ar atstarpēm atdalīts tulkojumu valodu saraksts (ISO kodi). Izņemot noklusēto valodu.'; +$lang['translationns'] = 'Ja tulkojumus vajag tikai noteiktā nodaļā, ieraksti to šeit.'; +$lang['skiptrans'] = 'Ja lapas nosaukums atbilst regulārajai izteiksmei, tulkošanas izvēlni nerādīt.'; +$lang['dropdown'] = 'Lietot izkrītošo izvēlni tulkojumu parādīšanai (ieteikt, ja ir vairāk par 5 valodām). '; +$lang['translateui'] = 'Vai svešvalodu nodaļās jāpārslēdz arī lietotāja sakarnes valoda?'; +$lang['redirectstart'] = 'Vai sākuma lapai automātiski jāpārslēdzas atkarībā no pārlūkprogrammas noteiktās valodas?'; +$lang['about'] = 'Ieraksti šeit lapu, kurā lietotājiem izskaidrotas tulkošas iespējas. Tā tiks piesaistīta valodu izvēlei.'; +$lang['localabout'] = 'Lietot "par" lapas lokalizēto versiju, nevis globālo "par" lapu.'; +$lang['checkage'] = 'Brīdināt pa varbūt novecojušiem tulkojumiem. '; +$lang['display'] = 'Norādiet, ko lietot valodas izvēlei. Ņemiet vērā, ka valodām izmantot valstu karogus neiesaka.'; +$lang['copytrans'] = 'Sākot tulkojumu, iekopēt redaktorā oriģināltekstu?'; diff --git a/sources/lib/plugins/translation/lang/lv/totranslate.txt b/sources/lib/plugins/translation/lang/lv/totranslate.txt new file mode 100644 index 0000000..c46c14e --- /dev/null +++ b/sources/lib/plugins/translation/lang/lv/totranslate.txt @@ -0,0 +1 @@ +IZLABO **Lapa nav pilnībā pārtulkota. Lūdzu palīdzi pabeigt tulkojumu!** \\ //(Izdzēs šo rindkopu, kad tulkojums pabeigts!)// \ No newline at end of file diff --git a/sources/lib/plugins/translation/lang/nl/lang.php b/sources/lib/plugins/translation/lang/nl/lang.php new file mode 100644 index 0000000..b3397fe --- /dev/null +++ b/sources/lib/plugins/translation/lang/nl/lang.php @@ -0,0 +1,11 @@ + + */ +$lang['translations'] = 'Paginavertalingen'; +$lang['outdated'] = 'Deze vertaling is ouder dan de originele pagina en kan verouderd zijn.'; +$lang['diff'] = 'Kijk wat er is veranderd.'; +$lang['transloaded'] = 'De inhoud van vertaling van deze pagina in %s is al geladen om vertalen makkelijker te maken.
    Maar je kunt je vertaling ook baseren op één van de volgende bestaande vertalingen: %s.'; diff --git a/sources/lib/plugins/translation/lang/nl/settings.php b/sources/lib/plugins/translation/lang/nl/settings.php new file mode 100644 index 0000000..9f0464a --- /dev/null +++ b/sources/lib/plugins/translation/lang/nl/settings.php @@ -0,0 +1,19 @@ + + * @author Gerrit Uitslag + */ +$lang['translations'] = 'Spatiegescheiden lijst van vertalingen (ISO codes).'; +$lang['translationns'] = 'Als je alleen vertalingen in een bepaalde namespace wenst, plaatst die dan hier.'; +$lang['skiptrans'] = 'Wanneer een paginanaam overeenstemt met deze reguliere expressie, wordt het vertaalmenu niet getoond.'; +$lang['dropdown'] = 'Gebruik een dropdownlijst om vertalingen weer te geven (aanbevolen bij meer dan 5 talen).'; +$lang['translateui'] = 'Moet de taal van de gebruikersinterface ook veranderen naar de taal van vertaalde namespace?'; +$lang['redirectstart'] = 'Moet de startpagina automatisch doorverwijzen naar de namespace van de taal die de taaldetectie van de browser doorgeeft?'; +$lang['about'] = 'Geef een paginanaam waar de vertaalfunctie wordt uitgelegd voor je gebruikers. Het zal worden gelinkt vanuit de talenkiezer.'; +$lang['localabout'] = 'Gebruik vertaalde versies van bovengenoemde vertalingsuitlegpagina (in plaats van één globale uitlegpagina).'; +$lang['checkage'] = 'Waarschuw voor mogelijk gedateerde vertalingen.'; +$lang['display'] = 'Selecteer wat je wil zien in de talenkiezer. Let op dat het gebruik van landenvlaggen in de talenkiezer niet altijd gebruiksvriendelijkheid is.'; +$lang['copytrans'] = 'De tekst in de oorspronkelijke taal naar het bewerkvenster kopiëren als er een nieuwe vertaling wordt begonnen.'; diff --git a/sources/lib/plugins/translation/lang/nl/totranslate.txt b/sources/lib/plugins/translation/lang/nl/totranslate.txt new file mode 100644 index 0000000..d5f8cee --- /dev/null +++ b/sources/lib/plugins/translation/lang/nl/totranslate.txt @@ -0,0 +1 @@ +FIXME **Deze pagina is nog niet volledig vertaald. Help alsjeblieft de vertaling compleet te maken.**\\ //(verwijder deze paragraaf als de vertaling is voltooid)// \ No newline at end of file diff --git a/sources/lib/plugins/translation/lang/pt-br/lang.php b/sources/lib/plugins/translation/lang/pt-br/lang.php new file mode 100644 index 0000000..acc3cdf --- /dev/null +++ b/sources/lib/plugins/translation/lang/pt-br/lang.php @@ -0,0 +1,3 @@ + + + * @date Oct 17, 2007 + */ + +$lang['translations'] = "Lista de idiomas (códigos ISO) separada por espaços. Não inclua o idioma padrão."; +$lang['translationns'] = "Se você deseja traduções somente abaixo de um determinado namespace, informe-o aqui."; +$lang['translateui'] = "A interface também deve ser alterada para o idioma selecionado pelo usuário?"; +$lang['about'] = "Informe uma página onde a funcionalidade de tradução é explicada para o usuário. Ela pode ser conectada com o selecionador de idiomas."; + diff --git a/sources/lib/plugins/translation/lang/pt/lang.php b/sources/lib/plugins/translation/lang/pt/lang.php new file mode 100644 index 0000000..38e32c3 --- /dev/null +++ b/sources/lib/plugins/translation/lang/pt/lang.php @@ -0,0 +1,10 @@ + + */ +$lang['translations'] = 'Traduções para esta página'; +$lang['outdated'] = 'Esta tradução é mais antiga que a página original e pode estar desatualizada.'; +$lang['diff'] = 'Veja o que foi alterado.'; diff --git a/sources/lib/plugins/translation/lang/pt/settings.php b/sources/lib/plugins/translation/lang/pt/settings.php new file mode 100644 index 0000000..971d901 --- /dev/null +++ b/sources/lib/plugins/translation/lang/pt/settings.php @@ -0,0 +1,16 @@ + + */ +$lang['translations'] = 'Lista de línguas de tradução (códigos ISO) separada por espaços.'; +$lang['skiptrans'] = 'Quando o nome da página condizer com esta expressão regular, não mostrar o menu de tradução.'; +$lang['dropdown'] = 'Usar uma lista de dropdown para mostrar as traduções (recomendado para mais de 5 línguas).'; +$lang['translateui'] = 'A linguagem do interface de utilizador deve ser também alterada em namespaces de língua estrangeira?'; +$lang['redirectstart'] = 'A página inicial deve redirecionar automaticamente para um namespace de língua, usando deteção de língua do navegador web?'; +$lang['about'] = 'Insira aqui um nome de página onde a funcionalidade de tradução é explicada aos seus utilizadores. O seletor de língua terá uma ligação para lá.'; +$lang['localabout'] = 'Usar versões localizadas da página acerca (em vez de uma página acerca global).'; +$lang['checkage'] = 'Avisar acerca de possíveis traduções desatualizadas.'; +$lang['display'] = 'Selecione o que gostaria de ver mostrado no seletor de linguagem. Note que usar bandeiras de países para seleção de linguagem não é recomendado por peritos de usabilidade.'; diff --git a/sources/lib/plugins/translation/lang/ru/lang.php b/sources/lib/plugins/translation/lang/ru/lang.php new file mode 100644 index 0000000..87b1104 --- /dev/null +++ b/sources/lib/plugins/translation/lang/ru/lang.php @@ -0,0 +1,10 @@ + + */ +$lang['translations'] = 'Перевод этой страницы'; +$lang['outdated'] = 'Этот перевод старее, чем оригинальная страница, и может быть неактуальным.'; +$lang['diff'] = 'Смотрите, что было изменено.'; diff --git a/sources/lib/plugins/translation/lang/ru/settings.php b/sources/lib/plugins/translation/lang/ru/settings.php new file mode 100644 index 0000000..fa2be4f --- /dev/null +++ b/sources/lib/plugins/translation/lang/ru/settings.php @@ -0,0 +1,19 @@ + + * @author Aleksandr Selivanov + */ +$lang['translations'] = 'Список поддерживаемых языков перевода (двухсимвольные коды ISO). Разделите значения пробелами.'; +$lang['translationns'] = 'Если вы хотите перевести только определённое пространство имён, тогда впишите здесь его имя.'; +$lang['skiptrans'] = 'Если имя страницы соответствует этому регулярному выражению, тогда не отображать меню перевода.'; +$lang['dropdown'] = 'Использовать выпадающий список для отображения доступных переводов (рекомендуется, если более 5 переводов)'; +$lang['translateui'] = 'Должен ли язык интерфейса пользователя также переключаться согласно языку пространства имён?'; +$lang['redirectstart'] = 'Должна ли стартовая страница автоматически перенаправляться на пространство имён языка, используя автоопределение языка браузера?'; +$lang['about'] = 'Введите здесь имя страницы, на которой будут разъяснены функции перевода для ваших пользователей. Она будет связана с выбором языка.'; +$lang['localabout'] = 'Использовать локализованную версию страницы разъяснений (вместо одной глобальной страницы разъяснений).'; +$lang['checkage'] = 'Отображать предупреждение о возможной неактуальности перевода?'; +$lang['display'] = 'Выберите? что бы вы хотели отображать в селекторе языков. Заметка: использовать флаг страны для селектора языков не рекомендуеся экспертами по удобности использования интерфейса.'; +$lang['copytrans'] = 'Копировать текст оригинала в окно редактирования при создании нового перевода?'; diff --git a/sources/lib/plugins/translation/lang/ru/totranslate.txt b/sources/lib/plugins/translation/lang/ru/totranslate.txt new file mode 100644 index 0000000..b34588e --- /dev/null +++ b/sources/lib/plugins/translation/lang/ru/totranslate.txt @@ -0,0 +1 @@ +FIXME **Эта страница пока что не переведена полностью. Пожалуйста, помогите завершить перевод.**\\ //(Сотрите это сообщение по окончании перевода.)// \ No newline at end of file diff --git a/sources/lib/plugins/translation/lang/sl/lang.php b/sources/lib/plugins/translation/lang/sl/lang.php new file mode 100644 index 0000000..be8a195 --- /dev/null +++ b/sources/lib/plugins/translation/lang/sl/lang.php @@ -0,0 +1,9 @@ +izvorne strani in je zato lahko zastarel.'; +$lang['diff'] = 'Oglejte si spremembe.'; diff --git a/sources/lib/plugins/translation/lang/sl/settings.php b/sources/lib/plugins/translation/lang/sl/settings.php new file mode 100644 index 0000000..6bdcff4 --- /dev/null +++ b/sources/lib/plugins/translation/lang/sl/settings.php @@ -0,0 +1,18 @@ + + * @author Matej Urbančič + */ +$lang['translations'] = 'Space separated list of translation languages (ISO codes).'; +$lang['translationns'] = 'If you only want translations below a certain namespace, put it here.'; +$lang['skiptrans'] = 'When the pagename matches this regular expression, don\'t show the translation menu.'; +$lang['dropdown'] = 'Use a dropdown list to display the translations (recommended for more than 5 languages).'; +$lang['translateui'] = 'Should the language of the user interface be switched in foreign language namespaces, too?'; +$lang['redirectstart'] = 'Should the start page automatically redirect into a language namespace using browser language detection?'; +$lang['about'] = 'Enter a pagename here where the translation feature is explained for your users. It will be linked from the language selector.'; +$lang['localabout'] = 'Uporabi prevedeno različico strani o vstavku (namesto splošne strani).'; +$lang['checkage'] = 'Opozori o zastarelem prevodu.'; +$lang['display'] = 'Izbor možnosti za prikaz jezika v izbirniku jezika. Izbor zastave jezika v izbiri ni priporočen.'; diff --git a/sources/lib/plugins/translation/lang/uk/lang.php b/sources/lib/plugins/translation/lang/uk/lang.php new file mode 100644 index 0000000..06e1938 --- /dev/null +++ b/sources/lib/plugins/translation/lang/uk/lang.php @@ -0,0 +1,5 @@ +оригінальна сторінка і може бути не актуальним.'; +$lang['diff'] = 'Дивіться що було змінено.'; diff --git a/sources/lib/plugins/translation/lang/uk/settings.php b/sources/lib/plugins/translation/lang/uk/settings.php new file mode 100644 index 0000000..11e87a0 --- /dev/null +++ b/sources/lib/plugins/translation/lang/uk/settings.php @@ -0,0 +1,18 @@ + + */ + +$lang['translations'] = 'Список підтримуваних мов перекладу (двохсимвольні коди ISO). Розділіть значення комами або пробілами.'; +$lang['translationns'] = 'Якщо ви хочете перекласти тільки визначений Простір імен, тоді впишіть тут його ім\'я.'; +$lang['skiptrans'] = 'Якщо ім\'я сторінки відповідає цьому регулярному виразу, тоді не відображувати меню перекладів.'; +$lang['dropdown'] = 'Використовувати випадаючий список для відображення доступних перекладів (рекомендується, якщо більше 5 перекладів)'; +$lang['translateui'] = 'Чи повинна мова інтерфейсу користувача також перемикатись відповідно до мови Простору імен?'; +$lang['redirectstart'] = 'Чи повинна стартова сторінка автоматично перенаправлятись на Простір імен мови, використовуючи детектекцію мови оглядача?'; +$lang['about'] = 'Введіть тут ім\'я сторінки, на якій буде роз\'яснено функції перекладу для ваших користувачів. Вона буде пов\'язана з вибором мови.'; +$lang['localabout'] = 'Використовувати локалізовану версію сторінки роз\'яснень (замість однієї глобальної сторінки роз\'яснень).'; +$lang['checkage'] = 'Відображувати попередження про можливу не актуальність перекладу сторінок?'; +$lang['display'] = 'Оберіть що б ви хотіли відображувати в перемикачі мов. Примітка: використовувати прапор країни для перемикача мов не рекомендується експертами по зручності використання інтерфейсу.'; +?> diff --git a/sources/lib/plugins/translation/lang/zh-tw/lang.php b/sources/lib/plugins/translation/lang/zh-tw/lang.php new file mode 100644 index 0000000..7b9f694 --- /dev/null +++ b/sources/lib/plugins/translation/lang/zh-tw/lang.php @@ -0,0 +1,6 @@ +原始頁面舊,可能已過時。'; +$lang['diff'] = '檢視變更。'; + diff --git a/sources/lib/plugins/translation/lang/zh-tw/settings.php b/sources/lib/plugins/translation/lang/zh-tw/settings.php new file mode 100644 index 0000000..7cc76dc --- /dev/null +++ b/sources/lib/plugins/translation/lang/zh-tw/settings.php @@ -0,0 +1,16 @@ + + * @author oott123 + */ +$lang['translations'] = '本页面的其他翻译'; +$lang['outdated'] = '翻译跟原始页面比较起来显得有些陈旧,所以可能失效。'; +$lang['diff'] = '查看更新'; +$lang['transloaded'] = '此页面的 %s 已经由 easy translation 预翻译。
    但你可以以以下现存的语言为基础翻译你的版本。%s'; diff --git a/sources/lib/plugins/translation/lang/zh/settings.php b/sources/lib/plugins/translation/lang/zh/settings.php new file mode 100644 index 0000000..229337c --- /dev/null +++ b/sources/lib/plugins/translation/lang/zh/settings.php @@ -0,0 +1,19 @@ + + * @author oott123 + */ +$lang['translations'] = '使用空格分隔的翻译语言列表(ISO 码)。请勿填入默认语言。'; +$lang['translationns'] = '如果您只希望本插件作用于某个特定的名称空间,请在这里写上其名称。'; +$lang['skiptrans'] = '当页面名称与此正则匹配时,不要显示翻译菜单。'; +$lang['dropdown'] = '使用下拉列表显示翻译语言(5+语言时建议启用)'; +$lang['translateui'] = '整个用户界面也跟随某个页面的翻译语言而改变吗?'; +$lang['redirectstart'] = '首页是否根据浏览器语言自动切换到相应语言?'; +$lang['about'] = '请在此输入向用户解释翻译功能的页面的名称空间。它的链接将出现在语言选择器上。'; +$lang['localabout'] = '使用本地化的关于页面(而不是一个全局关于页面)。'; +$lang['checkage'] = '警告:可能过时了的翻译。'; +$lang['display'] = '选择你想在选择器中显示什么。注意可用性专家并不推荐使用国旗选择语言。'; +$lang['copytrans'] = '开始新翻译的时候在编辑器中复制原始语言版本?'; diff --git a/sources/lib/plugins/translation/lang/zh/totranslate.txt b/sources/lib/plugins/translation/lang/zh/totranslate.txt new file mode 100644 index 0000000..aaa32f9 --- /dev/null +++ b/sources/lib/plugins/translation/lang/zh/totranslate.txt @@ -0,0 +1 @@ +等待修复 **此页面没有被翻译完全。请帮助翻译本页。**\\ //(当全文翻译完时请移除这个段落。)// \ No newline at end of file diff --git a/sources/lib/plugins/translation/plugin.info.txt b/sources/lib/plugins/translation/plugin.info.txt new file mode 100644 index 0000000..a37d87b --- /dev/null +++ b/sources/lib/plugins/translation/plugin.info.txt @@ -0,0 +1,8 @@ +# General Plugin Info do not edit +base translation +author Andreas Gohr +email andi@splitbrain.org +date 2014-03-27 +name Translation Plugin +desc Supports the easy setup of a multi-language wiki. +url http://www.dokuwiki.org/plugin:translation diff --git a/sources/lib/plugins/translation/print.css b/sources/lib/plugins/translation/print.css new file mode 100644 index 0000000..c2fd328 --- /dev/null +++ b/sources/lib/plugins/translation/print.css @@ -0,0 +1 @@ +.dokuwiki div.plugin_translation { display: none } diff --git a/sources/lib/plugins/translation/script.js b/sources/lib/plugins/translation/script.js new file mode 100644 index 0000000..819b80e --- /dev/null +++ b/sources/lib/plugins/translation/script.js @@ -0,0 +1,20 @@ +/** + * Remove go button from translation dropdown + */ +jQuery(function(){ + var $frm = jQuery('#translation__dropdown'); + if(!$frm.length) return; + $frm.find('input[name=go]').hide(); + $frm.find('select[name=id]').change(function(){ + var id = jQuery(this).val(); + // this should hopefully detect rewriting good enough: + var action = $frm.attr('action'); + if(action.substr(action.length-1) == '/'){ + var link = action + id; + }else{ + var link = action + '?id=' + id; + } + + window.location.href= link; + }); +}); diff --git a/sources/lib/plugins/translation/style.css b/sources/lib/plugins/translation/style.css new file mode 100644 index 0000000..b89172a --- /dev/null +++ b/sources/lib/plugins/translation/style.css @@ -0,0 +1,80 @@ +.dokuwiki div.plugin_translation { + float: right; + font-size: 95%; + padding-right: 0.1em; + margin : 0.0em 0 0.3em 0; + text-align: right; +} + +/* List */ + +.dokuwiki div.plugin_translation ul { + padding: 0; + margin: 0; +} +.dokuwiki div.plugin_translation ul li { + float: left; + list-style-type: none; + padding: 0; + margin: 0.2em 0 0 0; +} +.dokuwiki div.plugin_translation ul li img { + margin: -0.1em 0.2em; +} + +.dokuwiki div.plugin_translation ul li a.wikilink1:link, +.dokuwiki div.plugin_translation ul li a.wikilink1:hover, +.dokuwiki div.plugin_translation ul li a.wikilink1:active, +.dokuwiki div.plugin_translation ul li a.wikilink1:visited { + background-color: #000080; + color: #fff !important; + text-decoration:none; + padding: 0 0.2em; + margin: 0.1em 0.2em; + border: none !important; +} + +.dokuwiki div.plugin_translation ul li a.wikilink2:link, +.dokuwiki div.plugin_translation ul li a.wikilink2:hover, +.dokuwiki div.plugin_translation ul li a.wikilink2:active, +.dokuwiki div.plugin_translation ul li a.wikilink2:visited { + background-color: #808080; + color: #fff !important; + text-decoration:none; + padding: 0 0.2em; + margin: 0.1em 0.2em; + border: none !important; +} + + +/* Dropdown */ + +.dokuwiki div.plugin_translation select, +.dokuwiki div.plugin_translation input { + border: none; + background-color: #ccc; +} + +.dokuwiki div.plugin_translation option.flag { + padding-left: 18px; + background-repeat: no-repeat; + background-position: left center; +} + +.dokuwiki div.plugin_translation select.wikilink1, +.dokuwiki div.plugin_translation option.wikilink1 { + color: #000080; + text-align: center; +} + +.dokuwiki div.plugin_translation select.wikilink2, +.dokuwiki div.plugin_translation option.wikilink2 { + color: #808080; + text-align: center; +} + +/* flags for non-existing pages */ +.dokuwiki div.plugin_translation img.wikilink2, +.dokuwiki div.plugin_translation .wikilink2 img { + opacity: 0.5; +} diff --git a/sources/lib/plugins/translation/syntax/notrans.php b/sources/lib/plugins/translation/syntax/notrans.php new file mode 100644 index 0000000..b4d8f6d --- /dev/null +++ b/sources/lib/plugins/translation/syntax/notrans.php @@ -0,0 +1,73 @@ + + */ +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +class syntax_plugin_translation_notrans extends DokuWiki_Syntax_Plugin { + + /** + * for th helper plugin + */ + var $hlp = null; + + /** + * Constructor. Load helper plugin + */ + function syntax_plugin_translation(){ + $this->hlp =& plugin_load('helper', 'translation'); + } + + /** + * What kind of syntax are we? + */ + function getType(){ + return 'substition'; + } + + /** + * Where to sort in? + */ + function getSort(){ + return 155; + } + + + /** + * Connect pattern to lexer + */ + function connectTo($mode) { + $this->Lexer->addSpecialPattern('~~NOTRANS~~',$mode,'plugin_translation_notrans'); + } + + + /** + * Handle the match + */ + function handle($match, $state, $pos, &$handler){ + return array('notrans'); + } + + /** + * Create output + */ + function render($format, &$renderer, $data) { + // store info in metadata + if($format == 'metadata'){ + $renderer->meta['plugin']['translation']['notrans'] = true; + } + return false; + } + + // for backward compatibility + function _showTranslations(){ + return $this->hlp->showTranslations(); + } + +} + +//Setup VIM: ex: et ts=4 enc=utf-8 : diff --git a/sources/lib/plugins/translation/syntax/trans.php b/sources/lib/plugins/translation/syntax/trans.php new file mode 100644 index 0000000..b177fd4 --- /dev/null +++ b/sources/lib/plugins/translation/syntax/trans.php @@ -0,0 +1,57 @@ + + */ +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +class syntax_plugin_translation_trans extends DokuWiki_Syntax_Plugin { + /** + * What kind of syntax are we? + */ + function getType() { + return 'substition'; + } + + /** + * Where to sort in? + */ + function getSort() { + return 155; + } + + /** + * Connect pattern to lexer + */ + function connectTo($mode) { + $this->Lexer->addSpecialPattern('~~TRANS~~', $mode, 'plugin_translation_trans'); + } + + /** + * Handle the match + */ + function handle($match, $state, $pos, &$handler) { + return array(); + } + + /** + * Create output + */ + function render($format, &$renderer, $data) { + if($format != 'xhtml') return false; + + // disable caching + $renderer->nocache(); + + /** @var helper_plugin_translation $hlp */ + $hlp = plugin_load('helper', 'translation'); + $renderer->doc .= $hlp->showTranslations(); + return true; + } + +} + +//Setup VIM: ex: et ts=4 enc=utf-8 :