summaryrefslogtreecommitdiff
path: root/plugins/af_lang_detect/init.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2015-06-19 10:12:47 +0300
committerAndrew Dolgov <[email protected]>2015-06-19 10:12:47 +0300
commit3318d324105ee222a54afc94076878c12b588c24 (patch)
treea12222c9add62f165946cf6b03a6cd7e885350d8 /plugins/af_lang_detect/init.php
parent724e08f1c01bb60681616e3b1ddc14bc0648de3a (diff)
move language detection to a plugin, remove config.php constant
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;
+ }
+
+}
+?>