summaryrefslogtreecommitdiff
path: root/plugins/af_lang_detect/init.php
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/af_lang_detect/init.php')
-rw-r--r--plugins/af_lang_detect/init.php46
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;
+ }
+
+}
+?>