diff options
Diffstat (limited to 'plugins/af_lang_detect/init.php')
-rw-r--r-- | plugins/af_lang_detect/init.php | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/plugins/af_lang_detect/init.php b/plugins/af_lang_detect/init.php new file mode 100644 index 000000000..3f2eb29f8 --- /dev/null +++ b/plugins/af_lang_detect/init.php @@ -0,0 +1,46 @@ +<?php +class Af_Lang_Detect extends Plugin { + private $host; + private $lang; + + function about() { + return array(1.0, + "Detect article language", + "fox"); + } + + function init($host) { + $this->host = $host; + + $host->add_hook($host::HOOK_ARTICLE_FILTER, $this); + + require_once __DIR__ . "/languagedetect/LanguageDetect.php"; + + $this->lang = new Text_LanguageDetect(); + $this->lang->setNameMode(2); + } + + function hook_article_filter($article) { + + if ($this->lang) { + $entry_language = $this->lang->detect($article['title'] . " " . $article['content'], 1); + + if (count($entry_language) > 0) { + $possible = array_keys($entry_language); + $entry_language = $possible[0]; + + _debug("detected language: $entry_language"); + + $article["language"] = $entry_language; + } + } + + return $article; + } + + function api_version() { + return 2; + } + +} +?> |