Merge pull request #1355 from xiaoyifang/doc/add-program-dictionary

doc: add a document about program dictionary
This commit is contained in:
xiaoyifang 2024-01-04 19:48:39 +08:00 committed by GitHub
commit cbcd274ac1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 52 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View file

@ -0,0 +1,51 @@
# How to add a program or script to the goldendict-ng
GoldenDict has offered a program dictionary function that allow you to customize the user experience when using the this software.
# An example
tokenize the input german sentence into words.
## use python script
You can use any script language or program to implement this feature.
## install python
## install SoMaJo
you can follow the instructions in the documentation https://github.com/tsproisl/SoMaJo?tab=readme-ov-file#installation
`pip install -U SoMaJo`
## create a script
```
from somajo import SoMaJo
import sys
tokenizer = SoMaJo("de_CMC", split_camel_case=True)
# note that paragraphs are allowed to contain newlines
paragraphs = [sys.argv[1]]
sentences = tokenizer.tokenize_text(paragraphs)
for sentence in sentences:
for token in sentence:
if token.token_class=='regular':
print(f"{token.text}")
```
and save the script in the E:\test.py for example.
## add the script to the program dictionary
![Add the script as program dictionary](add-program-dictionary.png)
`python e:\test.py %GDWORD%`
## the result
![](program-result.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View file

@ -57,4 +57,5 @@ nav:
- Build ffmpeg on Windows: howto/how to build ffmpeg for visual studio.md
- How to update the crowdin.ts file: howto/how to update crowdin.ts file.md
- How to debug dictionary js: howto/how to debug dictionary js.md
- How to add a program dictionary: howto/how to add a program as dictionary.md