2022-02-10 05:34:37 +00:00
[![Codacy Badge ](https://api.codacy.com/project/badge/Grade/e507f9bf83bd48f7a5b76f71dfe9f0dd )](https://app.codacy.com/gh/xiaoyifang/goldendict?utm_source=github.com& utm_medium=referral& utm_content=xiaoyifang/goldendict& utm_campaign=Badge_Grade_Settings)
2022-01-31 04:19:24 +00:00
[![Windows ](https://github.com/xiaoyifang/goldendict/actions/workflows/windows.yml/badge.svg )](https://github.com/xiaoyifang/goldendict/actions/workflows/windows.yml) [![Ubuntu ](https://github.com/xiaoyifang/goldendict/actions/workflows/ubuntu.yml/badge.svg )](https://github.com/xiaoyifang/goldendict/actions/workflows/ubuntu.yml)
2022-02-20 03:57:42 +00:00
[![macos ](https://github.com/xiaoyifang/goldendict/actions/workflows/macos.yml/badge.svg )](https://github.com/xiaoyifang/goldendict/actions/workflows/macos.yml)
2022-01-31 04:19:24 +00:00
2023-04-17 09:11:18 +00:00
# GoldenDict-ng
GoldenDict the next generation.
2013-05-03 20:25:57 +00:00
2022-11-21 07:38:01 +00:00
A feature-rich dictionary lookup program, supporting multiple dictionary formats (StarDict/Babylon/Lingvo/Dictd/AARD/MDict/SDict) and online dictionaries, featuring perfect article rendering with the complete markup, illustrations and other content retained, and allowing you to type in words without any accents or correct case.
2013-05-03 20:25:57 +00:00
2023-04-08 06:40:36 +00:00
# Some significant features of this repository
- webengine with latest html/css feature support
- support >4GB dictionary
- support highdpi screen resolution
- built with xapian(optional) as fulltext engine
- support Qt5.15.2 and higher ,include latest Qt6
- performance optimization(eg. >10000000 headwords support)
- anki integration
- dark theme
- daily auto release support
- lots of bug fixes and improvements
2022-11-21 07:38:01 +00:00
## Installation
2013-05-03 20:25:57 +00:00
2022-11-21 07:38:01 +00:00
### Windows and macOS
2013-05-03 20:25:57 +00:00
2022-11-21 07:38:01 +00:00
Download latest [stable ](https://github.com/xiaoyifang/goldendict/releases/latest ) version or daily [pre-release builds ](https://github.com/xiaoyifang/goldendict/releases ).
2013-05-03 20:25:57 +00:00
2022-11-21 07:38:01 +00:00
`.exe` for Windows users and `.dmg` for macOS users.
2013-05-03 20:25:57 +00:00
2022-11-21 07:38:01 +00:00
### Linux
2013-05-03 20:25:57 +00:00
2022-11-21 07:38:01 +00:00
The download links above includes `.Appimage` for Linux users.
2016-12-19 08:22:59 +00:00
2022-11-21 07:38:01 +00:00
Archlinux users can also use community maintained [goldendict-webengine-git ](https://aur.archlinux.org/packages/goldendict-webengine-git ).
2016-12-19 08:22:59 +00:00
2022-12-22 03:32:37 +00:00
[Debian packages ](https://tracker.debian.org/pkg/goldendict-webengine ) are available in Debian 12 or later.
[Ubuntu packages ](https://launchpad.net/ubuntu/+source/goldendict-webengine ) are available in Ubuntu 23.04 or later.
2022-11-21 07:38:01 +00:00
openSUSE ships an old version of this fork.
2013-05-03 20:25:57 +00:00
2022-11-21 07:38:01 +00:00
Helps are needed to deliver this fork to other distros!
2013-05-03 20:25:57 +00:00
2022-11-21 07:38:01 +00:00
## Build from source
2013-05-03 20:25:57 +00:00
2022-11-21 07:38:01 +00:00
### Dependencies
2022-03-15 12:45:20 +00:00
2022-11-21 07:38:01 +00:00
* C++17 compiler
* Qt 5.15 or latest QT version 6.X
* Various libraries on Linux, see below
* On Mac and Windows all the libraries are included in the repository
* Qt Creator is recommended for development
2013-05-03 20:25:57 +00:00
2022-11-21 07:38:01 +00:00
Steps below are using qt5, and you may use qt6 by replacing `5` with `6` .
2013-05-03 20:25:57 +00:00
2022-11-21 07:38:01 +00:00
#### Ubuntu
2022-11-05 02:44:28 +00:00
2022-11-21 07:38:01 +00:00
```
sudo apt-get install git pkg-config build-essential qt5-qmake \
libvorbis-dev zlib1g-dev libhunspell-dev x11proto-record-dev \
qtdeclarative5-dev libxtst-dev liblzo2-dev libbz2-dev \
2023-04-15 23:00:58 +00:00
libavutil-dev libavformat-dev libeb16-dev \
2022-11-21 07:38:01 +00:00
libqt5svg5-dev libqt5x11extras5-dev qttools5-dev \
2023-04-01 05:53:12 +00:00
qttools5-dev-tools qtmultimedia5-dev libqt5multimedia5-plugins libqt5webchannel5-dev qtwebengine5-dev \
libqt5texttospeech5-dev
2022-11-21 07:38:01 +00:00
```
2022-11-05 02:44:28 +00:00
2022-11-21 07:38:01 +00:00
#### Fedora 35
```
sudo dnf install git pkg-config libzstd-devel opencc-devel xz-devel xz-lzma-compat\
libvorbis-devel zlib-devel hunspell-devel lzo-devel bzip2-devel \
2023-04-15 23:00:58 +00:00
ffmpeg-devel eb-devel qt5-qtx11extras-devel libXtst-devel \
2022-11-21 07:38:01 +00:00
libxkbcommon-devel qt5-qtbase qt5-qttools qt5-qtsvg-devl qt5-qtwebengine-devel qt5-qtmultimedia-devel
```
### Build steps
Clone this repository:
```
2023-04-17 09:11:18 +00:00
git clone https://github.com/xiaoyifang/goldendict-ng.git
2022-11-21 07:38:01 +00:00
```
#### Linux build
```
2023-04-17 09:11:18 +00:00
cd goldendict-ng & & qmake-qt5 & & make
2022-11-21 07:38:01 +00:00
```
#### macOS build
2022-11-05 02:44:28 +00:00
2022-03-15 12:45:20 +00:00
```
2022-03-25 05:04:49 +00:00
brew install qt # or use official offline installer
2023-04-17 09:11:18 +00:00
qmake CONFIG+=release CONFIG+=zim_support CONFIG+=chinese_conversion_support QMAKE_APPLE_DEVICE_ARCHS="x86_64 arm64"
2022-03-15 12:45:20 +00:00
make
make install
```
2022-11-21 07:38:01 +00:00
#### Windows build
2013-05-03 20:25:57 +00:00
2022-11-21 07:38:01 +00:00
the source code has offered precompile x64 windows libs on winlibs/lib/msvc. you can build your own version either.
2017-07-05 14:58:43 +00:00
2022-11-21 07:38:01 +00:00
To build with Visual Studio.
check this [how to build with visual studio ](howto/how%20to%20build%20and%20debug%20with%20VS2019.md )
2015-10-25 13:54:38 +00:00
2022-11-21 07:38:01 +00:00
Alternatively, you might want to load `goldendict.pro` file from within Qt Creator.
2015-10-25 13:54:38 +00:00
2022-11-21 07:38:01 +00:00
### Build Configurations
2015-10-25 13:54:38 +00:00
2022-11-21 07:38:01 +00:00
**Notice**: All additional configs for `qmake` that must be combined in one of pass config options to `qmake` :
```
qmake-qt5 "CONFIG+=release" "CONFIG+=zim_support" "CONFIG+=chinese_conversion_support"
```
2015-10-25 13:54:38 +00:00
2022-11-21 07:38:01 +00:00
To ensure the changes applied, you may want to use `make clean` before `make` .
2015-10-25 13:54:38 +00:00
2022-11-21 07:38:01 +00:00
#### Building with Chinese conversion support
2014-05-05 14:01:50 +00:00
2022-11-21 07:38:01 +00:00
To add Chinese conversion support you need at first install libopencc-dev package, then pass `"CONFIG+=chinese_conversion_support"` to `qmake` .
2014-05-05 14:01:50 +00:00
2022-11-21 07:38:01 +00:00
```
sudo apt-get install libopencc-dev
```
2014-05-05 14:01:50 +00:00
2022-11-21 07:38:01 +00:00
#### Building with Zim dictionaries support
2014-05-05 14:01:50 +00:00
2022-11-21 07:38:01 +00:00
To add Zim and Slob formats support you need at first install lzma-dev and zstd-dev packages, then pass `"CONFIG+=zim_support"` to `qmake`
2014-05-05 14:01:50 +00:00
2022-11-21 07:38:01 +00:00
```
sudo apt-get install liblzma-dev libzstd-dev
```
#### Building without Epwing format support
2014-05-20 13:59:56 +00:00
If you have problem building with libeb-dev package, you can pass
`"CONFIG+=no_epwing_support"` to `qmake` in order to disable Epwing format support
2022-11-21 07:38:01 +00:00
#### Building without internal audio players
2013-06-18 01:11:21 +00:00
2022-11-21 07:38:01 +00:00
If you have problem building with FFmpeg (for example, very old linux distro), you can pass
`"CONFIG+=no_ffmpeg_player"` to `qmake` in order to disable FFmpeg internal audio player back end.
2018-03-29 17:00:53 +00:00
If you have problem building with Qt5 Multimedia or experience GStreamer run-time errors (for example, Ubuntu 14.04), you can pass
2022-11-21 07:38:01 +00:00
`"CONFIG+=no_qtmultimedia_player"` to `qmake` in order to disable Qt Multimedia internal audio player back end.
2014-05-05 14:01:50 +00:00
2022-11-21 07:38:01 +00:00
#### Building with xapian
2022-10-02 07:34:46 +00:00
2022-10-05 23:54:28 +00:00
build xapian from source, download and extract the xapian-core source code.
2022-11-21 07:38:01 +00:00
```
./configure
make
make install
```
2022-10-05 23:54:28 +00:00
2022-10-10 16:15:28 +00:00
On Windows,follow the instructions in the xapian-core/INSTALL Visual Studio parts.( **xapian does not support to use the Debug lib in Windows. have to debug in release version mode using xapian's release lib**) .
2022-10-10 16:13:21 +00:00
A precompiled version of xapian lib has provided in winlibs
2022-10-05 23:54:28 +00:00
2022-10-02 07:34:46 +00:00
use `CONFIG+=use_xapian` to enable this feature. when enabled ,xapian will be used to support as the the fulltext's backend engine.
2022-11-21 07:38:01 +00:00
```
qmake "CONFIG+=use_xapian"
```
2016-04-07 21:45:27 +00:00
2023-02-01 15:23:23 +00:00
use `CONFIG+=use_iconv` to enable this feature. when enabled ,iconv will be used to convert encoding other than the QTextCodec(which will be deprecated in future Qt version)
```
qmake "CONFIG+=use_iconv"
```
when enabled ,iconv should be installed on the platform at the same time.
2022-11-21 07:38:01 +00:00
## Contributing
2013-05-03 20:25:57 +00:00
2022-11-21 07:38:01 +00:00
All kinds of help like answering questions, bug reporting, testing translation and coding are welcomed.
2013-05-03 20:25:57 +00:00
2022-11-21 07:38:01 +00:00
To start coding, the easiest way is load the `goldendict.pro` file to Qt Creator, make some changes then press the run button.
2013-05-03 20:25:57 +00:00
2023-03-16 07:56:26 +00:00
### the code guideline
2023-03-16 07:40:57 +00:00
check the document [how to use clang-format ](howto/how%20to%20use%20.clang-format%20to%20format%20the%20code.md )
2023-03-28 09:21:02 +00:00
## Online document
[document ](https://xiaoyifang.github.io/goldendict/ )
2022-11-21 07:38:01 +00:00
## Support
2013-05-03 20:25:57 +00:00
2023-01-06 01:34:53 +00:00
Bug reporting: [GoldenDict issue tracker ](https://github.com/xiaoyifang/goldendict/issues )
2020-10-01 21:59:19 +00:00
2022-11-21 07:38:01 +00:00
General discussions: [discussions ](https://github.com/xiaoyifang/goldendict/discussions )
2020-10-01 21:59:19 +00:00
2013-05-03 20:25:57 +00:00
## License
This project is licensed under the < b > GNU GPLv3+</ b > license, a copy of which can be found in the `LICENSE.txt` file.
2022-11-21 07:38:01 +00:00
## History
The original project was developed at < http: / / goldendict . org / > and < https: / / github . com / goldendict / goldendict > .
2013-05-03 20:25:57 +00:00