From e14357da0a7bd93b94fe72372d4207a799c7d3e6 Mon Sep 17 00:00:00 2001 From: Xing Yi Date: Thu, 12 Oct 2023 21:35:40 +0800 Subject: [PATCH] doc: several clarifications --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 16e73bc..9fe66b9 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ![favicon](/client/public/favicon.ico) -[Documentation and Guides](https://github.com/Crissium/SilverDict/wiki) (under work) +[Documentation and Guides](https://github.com/Crissium/SilverDict/wiki) (under work, only an outdated version of the API documentation at the moment) This project is intended to be a modern, from-the-ground-up, maintainable alternative to [GoldenDict](https://github.com/goldendict/goldendict)(-[ng](https://github.com/xiaoyifang/goldendict-ng)), developed with Flask and React. @@ -22,9 +22,9 @@ The dark theme is not built in, but rendered with the [Dark Reader Firefox exten - The wildcard characters are `^` and `+` (instead of `%` and `_` of SQL or the more traditional `*` and `?`) for technical reasons. Hint: imagine `%` and `_` are shifted one key to the right on an American keyboard. - This project creates a back-up of DSL dictionaries, overhauls[^3] them and _silently overwrites_ the original files. So after adding a DSL dictionary to SilverDict, it may no longer work with GoldenDict. - During the indexing process of DSL dictionaries, the memory usage could reach as high as 1.5 GiB (tested with the largest DSL ever seen, the _Encyclopædia Britannica_), and even after that the memory used remains at around 500 MiB. Restart the server process and the memory usage will drop to a few MiB. (The base server with no dictionaries loaded uses around 50 MiB of memory.) -- Both-sides suggestion matching is implemented with an $n$-gram based method, where $n = 4$, meaning that it will only begin working when the query is equal to or longer than 4 characters. This feature is disabled by default, and can be enabled by editing `~/.silverdict/preferences.yaml` and create the ngram table in the settings menu. This process could be slow. You have to do this manually each time you add a new dictionary. +- Both-sides suggestion matching is implemented with an $n$-gram based method, where $n = 4$, meaning that it will only begin working when the query is equal to or longer than 4 characters. This feature is disabled by default, and can be enabled by editing `~/.silverdict/preferences.yaml` and create the ngram table in the settings menu. This process could be slow. You have to do this manually each time a dictionary is added or deleted. - Morphology analysis (word stemming & spelling suggestions) is disabled unless you have installed the Python package `hunspell`, which could be non-trivial on some platforms. On Termux you can try out the script `termux_setup.sh` (Please ensure you have run `termux-setup-storage` before running the script). -- To ensure cross-platform compatibility, the morphology dictionaries (Hunspell dictionaries with .aff and .dic files) should be placed into `~/.silverdict/hunspell`. Each dictionary's name must be `[language code].aff/dic`, e.g. `en.aff` & `en.dic`; `en_GB.aff` will be ignored. These dictionaries are usually distributed as myspell/hunspell data packages on Linux and can be found in `/usr/share/hunspell` or `/usr/share/myspell`. Please read [this](https://github.com/hunspell/hunspell#dictionaries) to see where to get Hunspell dictionaries if you are on other platforms. Warning: these dictionaries use a huge amount of memory despite their small size, so please add them only when you really need them. +- To ensure cross-platform compatibility, the morphology dictionaries (Hunspell dictionaries with .aff and .dic files) should be placed into `~/.silverdict/hunspell`. Each dictionary's name must be `[language code].aff/dic`, e.g. `en.aff` & `en.dic`; `en_GB.aff` will be ignored. These dictionaries are usually distributed as myspell/hunspell data packages on Linux and can be found in `/usr/share/hunspell` or `/usr/share/myspell`. Please read [this](https://github.com/hunspell/hunspell#dictionaries) to see where to get Hunspell dictionaries if you are on other platforms. Warning: these dictionaries use a huge amount of memory (tens of megabytes each) despite their small size, so please add them only when you really need them. ## Features @@ -72,7 +72,7 @@ The dark theme is not built in, but rendered with the [Dark Reader Firefox exten - [ ] Beautify the dialogues (help wanted!) - [X] GoldenDict-like dictionary group support - [X] A mobile-friendly interface (retouch needed) -- [ ] **A real mobile app** +- [ ] [**A real mobile app**](https://github.com/Crissium/SilverDict-mobile) - [ ] A C++/Qt (or QML) desktop app (development is scheduled to begin in July, 2024)[^7] ### Issue backlog @@ -86,7 +86,7 @@ The dark theme is not built in, but rendered with the [Dark Reader Firefox exten This project utilises some Python 3.10 features, such as the _match_ syntax, and a minimal set of dependencies: ``` -PyYAML # for better efficiency, please install libyaml +PyYAML # for better efficiency, please install libyaml before building the wheel Flask Flask-Cors waitress