1## Introduction
2
3<b>GoldenDict</b> is 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.
4
5## Requirements
6
7This code has been run and tested on Windows XP/Vista/7, Ubuntu Linux, Mac OS X.
8
9### External Deps
10
11* Make, GCC, Git
12* Qt framework. Minimum required version is 4.6. But Qt 4.7 or 4.8 is recommended.
13* Qt Creator IDE is recommended for development
14* Various libraries on Linux (png, zlib, etc)
15* On Mac and Windows all the libraries are already included in the repository
16
17### Installing External Deps on Ubuntu Linux
18
19    sudo apt-get install git pkg-config build-essential qt4-qmake \
20         libvorbis-dev zlib1g-dev libhunspell-dev x11proto-record-dev \
21         libqt4-dev libqtwebkit-dev libxtst-dev liblzo2-dev libbz2-dev \
22         libao-dev libavutil-dev libavformat-dev libtiff5-dev libeb16-dev
23
24#### Installing External Deps on Ubuntu Linux for Qt5
25
26    sudo apt-get install git pkg-config build-essential qt5-qmake \
27         libvorbis-dev zlib1g-dev libhunspell-dev x11proto-record-dev \
28         qtdeclarative5-dev libxtst-dev liblzo2-dev libbz2-dev \
29         libao-dev libavutil-dev libavformat-dev libtiff5-dev libeb16-dev \
30         libqt5webkit5-dev libqt5svg5-dev libqt5x11extras5-dev qttools5-dev \
31         qttools5-dev-tools qtmultimedia5-dev libqt5multimedia5-plugins
32
33## How to build
34
35First, clone this repository, e.g.:
36
37    git clone git://github.com/goldendict/goldendict.git
38
39And then invoke `qmake-qt4` and `make`:
40
41    cd goldendict && qmake-qt4 && make
42
43In case when `qmake-qt4` does not exist, try using `qmake` but make sure it is indeed from the Qt 4 installation.
44On the other hand, if you want to use `qt5`, make sure that `qmake` is from Qt 5 installation. If not, you can try
45finding it at a path like `/usr/lib/x86_64-linux-gnu/qt5/bin/qmake`.
46Alternatively, you might want to load `goldendict.pro` file from within Qt Creator, especially on Windows.
47
48Note: To compile with `libhunspell` older than 1.5 pass `"CONFIG+=old_hunspell"` to `qmake`.
49
50### Building with Chinese conversion support
51
52To add Chinese conversion support you need at first install libopencc-dev package:
53
54    sudo apt-get install libopencc-dev
55
56Then pass `"CONFIG+=chinese_conversion_support"` to `qmake`
57
58    qmake "CONFIG+=chinese_conversion_support"
59
60### Building with Zim dictionaries support
61
62To add Zim and Slob formats support you need at first install lzma-dev and zstd-dev packages:
63
64    sudo apt-get install liblzma-dev libzstd-dev
65
66Then pass `"CONFIG+=zim_support"` to `qmake`
67
68    qmake "CONFIG+=zim_support"
69
70### Building without extra tiff handler
71
72If you have problem building with libtiff5-dev package, you can pass
73`"CONFIG+=no_extra_tiff_handler"` to `qmake` in order to disable extra tiff support
74(without such extra support some b/w tiff images will not be displayed):
75
76    qmake "CONFIG+=no_extra_tiff_handler"
77
78### Building without Epwing format support
79
80If you have problem building with libeb-dev package, you can pass
81`"CONFIG+=no_epwing_support"` to `qmake` in order to disable Epwing format support
82
83    qmake "CONFIG+=no_epwing_support"
84
85### Building without internal audio players
86
87If you have problem building with FFmpeg/libao (for example, Ubuntu older than 12.04), you can pass
88`"CONFIG+=no_ffmpeg_player"` to `qmake` in order to disable FFmpeg+libao internal audio player back end:
89
90    qmake "CONFIG+=no_ffmpeg_player"
91
92If you have problem building with Qt5 Multimedia or experience GStreamer run-time errors (for example, Ubuntu 14.04), you can pass
93`"CONFIG+=no_qtmultimedia_player"` to `qmake` in order to disable Qt Multimedia internal audio player back end:
94
95    qmake "CONFIG+=no_qtmultimedia_player"
96
97<b>NB:</b> All additional settings for `qmake` that you need must be combined in one `qmake` launch, for example:
98
99    qmake "CONFIG+=zim_support" "CONFIG+=no_extra_tiff_handler" "CONFIG+=no_ffmpeg_player"
100
101
102Then, invoke `make clean` before `make` because the setting change:
103
104    make clean && make
105
106### Building under Windows with MS Visual Studio
107
108To build GoldenDict with Visual Studio take one of next library packs and unpack it to `"winlibs/lib/msvc"` folder in GoldenDict sources folder.
109[GoldenDict_libs_VS2013_x86_v4.7z](http://www.mediafire.com/file/3il4vr1l8299nxn/GoldenDict_libs_VS2013_x86_v4.7z) - for MS Visual Studio 2013, 32 bit
110[GoldenDict_libs_VS2013_x64_v4.7z](http://www.mediafire.com/file/2itgg8bafppg6lw/GoldenDict_libs_VS2013_x64_v4.7z) - for MS Visual Studio 2013, 64 bit
111[GoldenDict_libs_VS2015_x86_v4.7z](http://www.mediafire.com/file/0a7ygy9rn99oevm/GoldenDict_libs_VS2015_x86_v4.7z) - for MS Visual Studio 2015, 32 bit
112[GoldenDict_libs_VS2015_x64_v4.7z](http://www.mediafire.com/file/yoy2q8af0s1467m/GoldenDict_libs_VS2015_x64_v4.7z) - for MS Visual Studio 2015, 64 bit
113
114To create project files for Visual Studio you can pass `"-tp vc"` option to `qmake`.
115
116Note: In Qt 5.6.0 and later the `Webkit` module was removed from official release builds. You should to build it from sources to compile GoldenDict.
117
118
119## Installation
120
121Installation is an optional step since the built binary can be used as-is without installation. But you can properly install via:
122
123    make install
124
125<b>NB:</b> Don't do that on Windows!
126
127You can uninstall via:
128
129    make uninstall
130
131## License
132
133This project is licensed under the <b>GNU GPLv3+</b> license, a copy of which can be found in the `LICENSE.txt` file.
134
135## Support
136
137Users looking for support should file an issue in the official [GoldenDict issue tracker](https://github.com/goldendict/goldendict/issues),
138or even better: submit a [pull request](https://github.com/goldendict/goldendict/pulls) if you have a fix available.
139General questions should be asked on the [official GoldenDict forum](http://goldendict.org/forum/).
140