diff options
Diffstat (limited to 'platform/www/lib/plugins/translation/syntax')
-rw-r--r-- | platform/www/lib/plugins/translation/syntax/notrans.php | 92 | ||||
-rw-r--r-- | platform/www/lib/plugins/translation/syntax/trans.php | 72 |
2 files changed, 164 insertions, 0 deletions
diff --git a/platform/www/lib/plugins/translation/syntax/notrans.php b/platform/www/lib/plugins/translation/syntax/notrans.php new file mode 100644 index 0000000..0d04671 --- /dev/null +++ b/platform/www/lib/plugins/translation/syntax/notrans.php @@ -0,0 +1,92 @@ +<?php +/** + * Translation Plugin: Simple multilanguage plugin + * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * @author Andreas Gohr <andi@splitbrain.org> + */ +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +/** + * Class syntax_plugin_translation_notrans + */ +class syntax_plugin_translation_notrans extends DokuWiki_Syntax_Plugin { + + /** + * for th helper plugin + * @var helper_plugin_translation + */ + var $hlp = null; + + /** + * Constructor. Load helper plugin + */ + function __construct(){ + $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 + * + * @param string $mode + */ + function connectTo($mode) { + $this->Lexer->addSpecialPattern('~~NOTRANS~~',$mode,'plugin_translation_notrans'); + } + + /** + * Handler to prepare matched data for the rendering process + * + * @param string $match The text matched by the patterns + * @param int $state The lexer state for the match + * @param int $pos The character position of the matched text + * @param Doku_Handler $handler The Doku_Handler object + * @return bool|array Return an array with all data you want to use in render, false don't add an instruction + */ + function handle($match, $state, $pos, Doku_Handler $handler){ + return array('notrans'); + } + + /** + * Create output + * + * @param string $format + * @param Doku_Renderer $renderer + * @param array $data + * @return bool + */ + function render($format, Doku_Renderer $renderer, $data) { + // store info in metadata + if($format == 'metadata'){ + /** @var Doku_Renderer_metadata $renderer */ + $renderer->meta['plugin']['translation']['notrans'] = true; + } + return false; + } + + // for backward compatibility + /** + * @return string + */ + function _showTranslations(){ + return $this->hlp->showTranslations(); + } + +} + +//Setup VIM: ex: et ts=4 enc=utf-8 : diff --git a/platform/www/lib/plugins/translation/syntax/trans.php b/platform/www/lib/plugins/translation/syntax/trans.php new file mode 100644 index 0000000..152276e --- /dev/null +++ b/platform/www/lib/plugins/translation/syntax/trans.php @@ -0,0 +1,72 @@ +<?php +/** + * Translation Plugin: Simple multilanguage plugin + * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * @author Andreas Gohr <andi@splitbrain.org> + */ +// must be run within Dokuwiki +if(!defined('DOKU_INC')) die(); + +/** + * Class syntax_plugin_translation_trans + */ +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 + * + * @param string $mode + */ + function connectTo($mode) { + $this->Lexer->addSpecialPattern('~~TRANS~~', $mode, 'plugin_translation_trans'); + } + + /** + * Handler to prepare matched data for the rendering process + * + * @param string $match The text matched by the patterns + * @param int $state The lexer state for the match + * @param int $pos The character position of the matched text + * @param Doku_Handler $handler The Doku_Handler object + * @return bool|array Return an array with all data you want to use in render, false don't add an instruction + */ + function handle($match, $state, $pos, Doku_Handler $handler) { + return array(); + } + + /** + * Handles the actual output creation. + * + * @param string $format output format being rendered + * @param Doku_Renderer $renderer the current renderer object + * @param array $data data created by handler() + * @return boolean rendered correctly? (however, returned value is not used at the moment) + */ + function render($format, Doku_Renderer $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 : |