From af5bbe630cb990daf9f29b307572f965ee9fa099 Mon Sep 17 00:00:00 2001 From: Runciter Date: Mon, 28 Oct 2024 02:19:54 +0800 Subject: Initial. A .guix-authorizations A .guix-channel A COPYING A README A whispers/packages/dict.scm A whispers/packages/doc.scm A whispers/packages/pdf.scm A whispers/packages/sh.scm A whispers/packages/whispers.scm A whispers/services/console.scm A whispers/services/dict.scm A whispers/services/finance.scm A whispers/services/gps.scm A whispers/services/proton.scm A whispers/services/ssh-agent.scm A whispers/services/ssh-tunneler.scm A whispers/services/whispers.scm A whispers/services/whispers/finance.scm A whispers/services/whispers/gps.scm A whispers/services/whispers/mail.scm A whispers/services/whispers/ssh.scm A whispers/services/whispers/vpn.scm A whispers/services/whispers/xdg.scm A whispers/tests/ssh-tunneler.scm --- whispers/services/dict.scm | 146 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 whispers/services/dict.scm (limited to 'whispers/services/dict.scm') diff --git a/whispers/services/dict.scm b/whispers/services/dict.scm new file mode 100644 index 0000000..8c481f5 --- /dev/null +++ b/whispers/services/dict.scm @@ -0,0 +1,146 @@ +;;; Whispers --- Stealth VPN and ssh tunneler +;;; Copyright © 2024 Runciter +;;; +;;; 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 . + +(define-module (whispers services dict) + #:use-module (guix gexp) + #:use-module (gnu services dict) + #:use-module (whispers packages dict) + #:export (%dictorg-handler + freedict-dictorg-database + %freedict-dictorg-databases + %cedict-dictorg-databases)) + +(define %dictorg-handler + (dicod-handler (name "dictorg") + (module "dictorg") + (options (list #~(string-append "dbdir=/"))))) + +(define (freedict-dictorg-database dict-name) + "Return a record of type @code{} that configures a +database for the freedict multilingual dictionary named by the string +DICT-NAME." + (dicod-database (name (string-append "freedict-" + dict-name)) + (complex? #t) + (handler "dictorg") + (options (list #~(string-append "database=" + #$freedict-dictionaries + "/share/dictd/" + #$dict-name))))) +(define %freedict-dictorg-databases + (map freedict-dictorg-database (list "afr-deu" + "afr-eng" + "ara-eng" + "bre-fra" + "ces-eng" + "ckb-kmr" + "cym-eng" + "dan-eng" + "deu-ita" + "deu-kur" + "deu-nld" + "deu-por" + "deu-tur" + "eng-afr" + "eng-ara" + "eng-ces" + "eng-cym" + "eng-dan" + "eng-ell" + "eng-fra" + "eng-gle" + "eng-hin" + "eng-hrv" + "eng-hun" + "eng-ita" + "eng-lat" + "eng-lit" + "eng-nld" + "eng-pol" + "eng-por" + "eng-rom" + "eng-rus" + "eng-spa" + "eng-srp" + "eng-swh" + "eng-tur" + "fra-bre" + "fra-eng" + "fra-nld" + "gla-deu" + "gle-eng" + "gle-pol" + "hrv-eng" + "hun-eng" + "isl-eng" + "ita-deu" + "ita-eng" + "jpn-deu" + "jpn-eng" + "jpn-fra" + "jpn-rus" + "kha-deu" + "kha-eng" + "kur-deu" + "kur-eng" + "kur-tur" + "lat-deu" + "lat-eng" + "lit-eng" + "mkd-bul" + "nld-deu" + "nld-eng" + "nld-fra" + "nno-nob" + "oci-cat" + "pol-gle" + "por-deu" + "por-eng" + "san-deu" + "slk-eng" + "slv-eng" + "spa-ast" + "spa-eng" + "spa-por" + "srp-eng" + "swe-eng" + "swh-eng" + "swh-pol" + "tur-deu" + "tur-eng" + "wol-fra"))) + +(define (cedict-dictorg-database variant) + "Return a record of type @code{} 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"))) -- cgit v1.2.3