summary refs log tree commit diff
path: root/whispers/services/dict.scm
diff options
context:
space:
mode:
Diffstat (limited to 'whispers/services/dict.scm')
-rw-r--r--whispers/services/dict.scm50
1 files changed, 50 insertions, 0 deletions
diff --git a/whispers/services/dict.scm b/whispers/services/dict.scm
new file mode 100644
index 0000000..9798d88
--- /dev/null
+++ b/whispers/services/dict.scm
@@ -0,0 +1,50 @@
+;;; Whispers --- Stealth VPN and ssh tunneler
+;;; Copyright © 2024 Runciter <runciter@whispers-vpn.org>
+;;;
+;;; This file is part of Whispers.
+;;;
+;;; Whispers 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; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; Whispers 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.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with Whispers.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (whispers services dict)
+  #:use-module (guix gexp)
+  #:use-module (gnu services dict)
+  #:use-module (whispers packages dict)
+  #:use-module (gnu packages dictionaries)
+  #:export (%dictorg-handler
+            %cedict-dictorg-databases))
+
+(define %dictorg-handler
+  (dicod-handler (name "dictorg")
+                 (module "dictorg")
+                 (options (list #~(string-append "dbdir=/")))))
+
+(define (cedict-dictorg-database variant)
+  "Return a record of type @code{<dicod-database>} that configures a
+database for the CC-CEDICT chinese-english multilingual dictionary
+variant described by the string VARIANT."
+  (dicod-database (name (string-append "cedict-"
+                                       variant))
+                  (complex? #t)
+                  (handler "dictorg")
+                  (options (list #~(string-append "database="
+                                                  #$cc-cedict
+                                                  "/share/cc-cedict/cedict-"
+                                                  #$variant)))))
+
+(define %cedict-dictorg-databases
+  (map cedict-dictorg-database (list "bare"
+                                     "numb"
+                                     "pinyin"
+                                     "smpl"
+                                     "trad")))