The Next Generation GoldenDict https://xiaoyifang.github.io/goldendict-ng/
Go to file
2022-11-19 16:39:41 +08:00
.github [action] bump qt version from 6.3.2 to 6.4.1 2022-11-18 20:28:26 +08:00
autotests iconv test case 2022-02-26 16:25:00 +08:00
base zim: move regex to globalregex 2022-11-19 16:39:41 +08:00
docs release version 22.4 2022-04-01 20:21:38 +08:00
flags ui: update icon 2022-03-27 18:12:33 +08:00
help update help file 2022-08-27 20:31:12 +08:00
howto Create how to customize the opencc.md 2022-09-26 14:39:17 +08:00
icons style: modify default style 2022-08-19 20:50:04 +08:00
locale fix: forvo has no free plan now fix the apikey tooltip 2022-11-18 20:13:24 +08:00
maclibs remove mac and windows dependency of libao 2022-11-12 09:34:09 +08:00
opencc winlib: update opencc to 2020-04-26 2022-02-11 21:54:14 +08:00
redist
scripts opt:iframe set height logic restricted to most 10 seconds 2022-09-05 20:17:00 +08:00
thirdparty Delete qtwebengine_de_CH.qm 2022-09-27 14:01:40 +08:00
tools tools: nsis script update 2022-05-12 23:49:57 +08:00
winlibs remove mac and windows dependency of libao 2022-11-12 09:34:09 +08:00
.clang-format add new clang format style 2022-10-28 10:51:18 +08:00
.gitignore .gitignore add .qtc_clangd excluded folder 2022-04-10 09:36:03 +08:00
aard.cc xapian ,fullindex file name different in normal mode and xapian mode 2022-10-06 11:04:48 +08:00
aard.hh
about.cc add xapian to the about dialog 2022-10-24 20:14:53 +08:00
about.hh opt: print _MSC_FULL_VER instead of incorrect VS version 2022-05-26 21:03:18 +08:00
about.ui
ankiconnector.cpp add 'send to anki' function 2022-05-21 17:34:22 +08:00
ankiconnector.h add 'send to anki' function 2022-05-21 17:34:22 +08:00
article-style-print.css Set article background to white while printing 2022-11-16 18:51:01 +03:00
article-style-st-babylon.css opt: remove body default 13 px font-size, use chrome's instead 2022-05-19 22:13:49 +08:00
article-style-st-classic.css style: modify default style 2022-08-19 20:50:04 +08:00
article-style-st-lingoes-blue.css fix:rtl display in Arabic/Persian language 2022-10-27 21:30:06 +08:00
article-style-st-lingoes.css add dict's margin back to lingos style 2022-06-08 20:55:08 +08:00
article-style-st-lingvo.css style: move duplicate class together 2022-06-13 19:45:29 +08:00
article-style-st-modern.css fix:rtl display in Arabic/Persian language 2022-10-27 21:30:06 +08:00
article-style.css [reg]: unicode-bidi cause the welcome title aligned left 2022-10-29 13:23:17 +08:00
article_inspect.cpp inspect element crash on the first time 2022-10-14 10:52:09 +08:00
article_inspect.h inspect element crash on the first time 2022-10-14 10:52:09 +08:00
article_maker.cc fix: when history forward/back ,the founded dictionary does not change 2022-11-04 21:23:42 +08:00
article_maker.hh fix: collapse function does not work expectedly. 2022-04-21 23:14:19 +08:00
article_netmgr.cc fix: zim dictionary auto refresh logic 2022-11-19 15:23:22 +08:00
article_netmgr.hh opt: change ArticleNetworkAccessManager's method createRequest to getArticleReply 2022-05-19 07:14:36 +08:00
articleview.cc add spx extenstion to the QFileDialog save path 2022-11-17 14:09:11 +08:00
articleview.hh fix: when history forward/back ,the founded dictionary does not change 2022-11-04 21:23:42 +08:00
articleview.ui Merge branch 'master' of https://github.com/goldendict/goldendict into goldendict-master 2022-07-10 12:39:12 +08:00
articlewebpage.cpp opt: handle the url click before the page finished loaded 2022-07-10 14:27:50 +08:00
articlewebpage.h remember last link's groupId and muted dictionary 2022-06-08 20:52:44 +08:00
articlewebview.cc remove useless method 2022-08-05 22:24:28 +08:00
articlewebview.hh remove useless method 2022-08-05 22:24:28 +08:00
atomic_rename.cc
atomic_rename.hh
audiolink.cc
audiolink.hh
audiooutput.cpp ffmpeg convert the the audio to raw format 2022-11-15 21:14:34 +08:00
audiooutput.h feature: remove libao dependency and use QAudioSink(QAudioOutput) to play the pcm audio format 2022-11-12 09:34:09 +08:00
audioplayerfactory.cc
audioplayerfactory.hh
audioplayerinterface.hh
authentication.ui
belarusiantranslit.cc Merge branch 'feature/cpp-refactor-code' into staged 2022-02-03 17:51:40 +08:00
belarusiantranslit.hh
bgl.cc xapian ,fullindex file name different in normal mode and xapian mode 2022-10-06 11:04:48 +08:00
bgl.hh
bgl_babylon.cc remove iconv lib 2022-02-26 15:13:24 +08:00
bgl_babylon.hh clean: remove stdint_msvc.h 2022-02-26 14:01:34 +08:00
btreeidx.cc Merge branch 'staged' of github.com:xiaoyifang/goldendict into staged 2022-11-12 09:22:06 +08:00
btreeidx.hh opt: improve headword dialog performance 2022-10-01 15:33:23 +08:00
CHANGES.md Update CHANGES.md 2022-09-20 21:43:22 +08:00
chinese.cc clean code: replace throw() with noexcept 2022-06-03 21:29:06 +08:00
chinese.hh
chineseconversion.cc
chineseconversion.hh
chineseconversion.ui
chunkedstorage.cc use qmutex instead of mutex(qmutexrecursive) 2022-06-18 09:09:49 +08:00
chunkedstorage.hh map nullptr check 2022-06-17 20:37:59 +08:00
conanfile.txt
config.cc Save&restore the geometry of Print Preview dialog 2022-11-17 18:36:58 +03:00
config.hh Save&restore the geometry of Print Preview dialog 2022-11-17 18:36:58 +03:00
country.cc
country.hh
CREDITS.txt add translation of Swiss High-German 2022-08-26 20:27:34 +08:00
decompress.cc
decompress.hh
delegate.cc upgrade to qt6.2 2022-03-11 22:00:45 +08:00
delegate.hh
dictdfiles.cc xapian ,fullindex file name different in normal mode and xapian mode 2022-10-06 11:04:48 +08:00
dictdfiles.hh
dictgroupwidget.ui
dictheadwords.cc opt: improve headword dialog performance 2022-10-01 15:33:23 +08:00
dictheadwords.hh opt: headwords dialog filtering optimization 2022-10-02 19:53:54 +08:00
dictheadwords.ui opt: improve headword dialog performance 2022-10-01 15:33:23 +08:00
dictinfo.cc show dict id in dictionary info panel 2022-10-11 21:34:24 +08:00
dictinfo.hh
dictinfo.ui show dict id in dictionary info panel 2022-10-11 21:34:24 +08:00
dictionary.cc xapian revert the needToRebuildBTreeIndex to needToRebuildIndex 2022-10-08 21:16:15 +08:00
dictionary.hh xapian revert the needToRebuildBTreeIndex to needToRebuildIndex 2022-10-08 21:16:15 +08:00
dictionarybar.cc [clean] remove code in dictionarybar eventfilter 2022-11-01 20:21:30 +08:00
dictionarybar.hh [clean] remove code in dictionarybar eventfilter 2022-11-01 20:21:30 +08:00
dictserver.cc clean code: replace throw() with noexcept 2022-06-03 21:29:06 +08:00
dictserver.hh
dictspanewidget.hh
dictzip.c optimize:fix resource leak Fixes #20 2022-02-18 18:28:44 +03:00
dictzip.h
dsl.cc xapian revert the needToRebuildBTreeIndex to needToRebuildIndex 2022-10-08 21:16:15 +08:00
dsl.hh
dsl_details.cc fix conflict with upstream as codebase has changed a lot 2022-11-06 10:09:09 +08:00
dsl_details.hh clean code:remove useless code 2022-06-14 07:22:16 +08:00
editdictionaries.cc opt:remove dictMap parameter 2022-07-10 17:11:13 +08:00
editdictionaries.hh opt:remove dictMap parameter 2022-07-10 17:11:13 +08:00
editdictionaries.ui
epwing.cc xapian ,fullindex file name different in normal mode and xapian mode 2022-10-06 11:04:48 +08:00
epwing.hh fix: epwing reference process logic 2022-10-04 20:02:17 +08:00
epwing_book.cc fix: epwing dictionary headword correction 2022-10-05 20:00:23 +08:00
epwing_book.hh fix: epwing remove unused parameter 2022-10-05 16:33:59 +08:00
epwing_charmap.cc upgrade to qt6.2 2022-03-11 22:00:45 +08:00
epwing_charmap.hh upgrade to qt6.2 2022-03-11 22:00:45 +08:00
ex.hh clean code: replace throw() with noexcept 2022-06-03 21:29:06 +08:00
externalaudioplayer.cc
externalaudioplayer.hh
externalviewer.cc
externalviewer.hh clean:remove empty file ,cpp_features.hh 2022-02-26 13:56:50 +08:00
extlineedit.cc
extlineedit.hh
favoritespanewidget.cc feature: add support to import txt format file to favorite pannel 2022-11-12 12:31:03 +08:00
favoritespanewidget.hh feature: add support to import txt format file to favorite pannel 2022-11-12 12:31:03 +08:00
ffmpegaudio.cc ffmpeg convert the the audio to raw format 2022-11-15 21:14:34 +08:00
ffmpegaudio.hh
ffmpegaudioplayer.hh
file.cc opt: add xapian support 2022-10-06 01:39:59 +08:00
file.hh use qmutex instead of mutex(qmutexrecursive) 2022-06-18 09:09:49 +08:00
filetype.cc
filetype.hh
fixx11h.h
flags.qrc
folding.cc fix: epwing dictionary headword correction 2022-10-05 20:00:23 +08:00
folding.hh
forvo.cc fix: forvo has no free plan now fix the apikey tooltip 2022-11-18 20:13:24 +08:00
forvo.hh
fsencoding.cc Revert "clean code: win return std::string directly" 2022-04-07 19:56:29 +08:00
fsencoding.hh
ftshelpers.cc Update ftshelpers.cc 2022-10-09 12:18:26 +08:00
ftshelpers.hh opt: add xapian support 2022-10-06 01:39:59 +08:00
fulltextsearch.cc fix: crash on quit while fullindex is creating 2022-10-11 22:09:15 +08:00
fulltextsearch.hh fix: crash on quit while fullindex is creating 2022-10-11 22:09:15 +08:00
fulltextsearch.ui opt: add xapian support 2022-10-06 01:39:59 +08:00
gdappstyle.cc
gdappstyle.hh
gddebug.cc remove uselesscode 2022-06-02 20:38:55 +08:00
gddebug.hh Disable GD_DPRINTF() output in Release builds on all systems 2022-11-04 21:01:52 +03:00
german.cc
german.hh
gestures.cc
gestures.hh
globalbroadcaster.cpp opt: function refract 2022-10-15 13:58:24 +08:00
globalbroadcaster.h opt: function refract 2022-10-15 13:58:24 +08:00
gls.cc xapian ,fullindex file name different in normal mode and xapian mode 2022-10-06 11:04:48 +08:00
gls.hh
goldendict.pro ffmpeg depends on multimedia 2022-11-12 17:03:20 +08:00
greektranslit.cc Merge branch 'feature/cpp-refactor-code' into staged 2022-02-03 17:51:40 +08:00
greektranslit.hh
groupcombobox.cc
groupcombobox.hh
groups.cc opt:remove dictMap parameter 2022-07-10 17:11:13 +08:00
groups.hh
groups.ui
groups_widgets.cc opt:remove dictMap parameter 2022-07-10 17:11:13 +08:00
groups_widgets.hh
guids.c
headwordsmodel.cpp opt: initialize variable in the constructor 2022-10-07 17:39:43 +08:00
headwordsmodel.h opt: headwords dialog filtering optimization 2022-10-02 19:53:54 +08:00
helpwindow.cc fix: help file can not be opened in Qt6 2022-09-20 20:06:27 +08:00
helpwindow.hh
history.cc
history.hh
historypanewidget.cc fix: right mouse on the history panel and favorite panel should not trigger the click event. 2022-11-05 21:02:33 +08:00
historypanewidget.hh
hotkeyedit.cc
hotkeyedit.hh
hotkeywrapper.cc Revert "fix:ctrl +c triggered unintentionally" 2022-09-11 09:36:39 +08:00
hotkeywrapper.hh fix:remove x11extra private 2022-05-29 16:00:28 +08:00
htmlescape.cc syntaticly space is more reasonable than remove directly. 2022-06-10 20:44:59 +08:00
htmlescape.hh html unescape 2022-06-08 21:13:07 +08:00
hunspell.cc github:add macos homebrew based package github action 2022-09-06 00:29:01 +08:00
hunspell.hh
iconv.cc iconv test case 2022-02-26 16:25:00 +08:00
iconv.hh remove iconv lib 2022-02-26 15:13:24 +08:00
iframeschemehandler.cpp fix: word around to fix website return 404 with no response body 2022-09-16 07:55:35 +08:00
iframeschemehandler.h fix:add ifr local scheme 2022-05-15 22:54:26 +08:00
inc_case_folding.hh
inc_diacritic_folding.hh
indexedzip.cc clean code: remove \n in parameter of GD_DPRINTF 2022-06-02 20:11:05 +08:00
indexedzip.hh
initializing.cc clean code: remove uxtheme 2022-05-20 18:43:47 +08:00
initializing.hh clean code: remove uxtheme 2022-05-20 18:43:47 +08:00
initializing.ui
instances.cc opt:remove dictMap parameter 2022-07-10 17:11:13 +08:00
instances.hh opt:remove dictMap parameter 2022-07-10 17:11:13 +08:00
keyboardstate.cc fix:remove x11extra private 2022-05-29 16:00:28 +08:00
keyboardstate.hh
langcoder.cc opt: langcoder optimization 2022-06-23 20:03:29 +08:00
langcoder.hh
language.cc optimize:translator refactor 2022-03-03 23:12:38 +08:00
language.hh
LICENSE.txt
loaddictionaries.cc xapian remove obsolete ftx index 2022-10-07 17:08:10 +08:00
loaddictionaries.hh clean code: replace throw() with noexcept 2022-06-03 21:29:06 +08:00
lsa.cc clean code: replace throw() with noexcept 2022-06-03 21:29:06 +08:00
lsa.hh
machotkeywrapper.mm
macmouseover.hh
macmouseover.mm
main.cc revert embed translation 2022-09-22 20:06:43 +08:00
mainstatusbar.cc
mainstatusbar.hh
maintabwidget.cc
maintabwidget.hh
mainwindow.cc Merge commit '83d71daf03e468f784e41e834dc32c67fe2a5870' into staged 2022-11-18 20:23:32 +08:00
mainwindow.hh Linux-specific: don't force X11 focus unnecessarily 2022-11-05 22:03:51 +03:00
mainwindow.ui fix: wordlist panel background color regression 2022-09-04 10:47:29 +08:00
mdictparser.cc opt: refactor the homebrew macos action (#140) 2022-09-08 21:46:17 +08:00
mdictparser.hh Revert "the last headword in the block has incorrect data length" 2022-08-07 11:03:46 +08:00
mdx.cc fix: mdx headword total count is incorrect 2022-11-16 21:09:30 +08:00
mdx.hh Revert "optimize: for loop optimize" 2022-04-13 23:29:36 +08:00
mediawiki.cc opt:add wikipedia url to whitelist. 2022-07-11 21:01:49 +08:00
mediawiki.hh
mruqmenu.cc
mruqmenu.hh
multimediaaudioplayer.cc upgrade to qt6.2 2022-03-11 22:00:45 +08:00
multimediaaudioplayer.hh upgrade to qt6.2 2022-03-11 22:00:45 +08:00
mutex.cc
mutex.hh revert mutex parent class from qrecursivemutex to qmutex 2022-06-18 09:17:43 +08:00
myInfo.plist
options.ui
orderandprops.cc opt:remove dictMap parameter 2022-07-10 17:11:13 +08:00
orderandprops.hh opt:remove dictMap parameter 2022-07-10 17:11:13 +08:00
orderandprops.ui
parsecmdline.cc
parsecmdline.hh
preferences.cc fix revert c5035d87fc conflict 2022-11-17 16:43:42 +08:00
preferences.hh fix revert c5035d87fc conflict 2022-11-17 16:43:42 +08:00
preferences.ui fix revert c5035d87fc conflict 2022-11-17 16:43:42 +08:00
processwrapper.cc performance: Prefer prefix ++/-- operators for non-primitive types. 2022-02-16 22:08:32 +08:00
processwrapper.hh
programs.cc clean code: replace throw() with noexcept 2022-06-03 21:29:06 +08:00
programs.hh
qt-style-macos.css
qt-style-st-babylon.css style: optimize the custom style sheet when enabled system dark mode 2022-08-31 22:12:05 +08:00
qt-style-st-classic.css opt:add new default style. 2022-08-18 20:54:35 +08:00
qt-style-st-lingoes-blue.css
qt-style-st-lingoes.css style: fix lingoes style 2022-08-21 22:02:42 +08:00
qt-style-st-lingvo.css style: fix lingoes style 2022-08-21 22:02:42 +08:00
qt-style-st-modern.css style: optimize the custom style sheet when enabled system dark mode 2022-08-31 22:12:05 +08:00
qt-style.css style: optimize the custom style sheet when enabled system dark mode 2022-08-31 22:12:05 +08:00
README.md Update README.md 2022-11-05 10:46:52 +08:00
resources.qrc opt: move jquery js from resources to scripts folder 2022-09-04 10:47:29 +08:00
resourceschemehandler.cpp opt: change ArticleNetworkAccessManager's method createRequest to getArticleReply 2022-05-19 07:14:36 +08:00
resourceschemehandler.h
ripemd.cc
ripemd.hh clean: remove stdint_msvc.h 2022-02-26 14:01:34 +08:00
romaji.cc Merge branch 'feature/cpp-refactor-code' into staged 2022-02-03 17:51:40 +08:00
romaji.hh
russiantranslit.cc
russiantranslit.hh
sapi.hh
scanflag.cc upgrade to 6.2,linux compile 2022-03-11 22:14:40 +08:00
scanflag.hh
scanflag.ui
scanpopup.cc Don't attempt to translate empty or whitespace-only text 2022-11-02 19:16:33 +03:00
scanpopup.hh opt:scanpopup inspect element action optimization 2022-09-08 21:11:43 +08:00
scanpopup.ui Update scanpopup.ui 2022-06-28 09:18:59 +08:00
scripts.qrc opt:iframe height auto resize 2022-09-04 19:03:27 +08:00
sdict.cc xapian ,fullindex file name different in normal mode and xapian mode 2022-10-06 11:04:48 +08:00
sdict.hh
searchpanewidget.hh
slob.cc xapian ,fullindex file name different in normal mode and xapian mode 2022-10-06 11:04:48 +08:00
slob.hh
sounddir.cc clean code: replace throw() with noexcept 2022-06-03 21:29:06 +08:00
sounddir.hh
sources.cc
sources.hh
sources.ui fix: forvo has no free plan now fix the apikey tooltip 2022-11-18 20:13:24 +08:00
speechclient.hh
speechclient_mac.mm
speechclient_win.cc
speechhlp.cc
speechhlp.hh
sphelper.hh
splitfile.cc upgrade to qt6.2 2022-03-11 22:00:45 +08:00
splitfile.hh
sptr.hh Revert "improve:refactor code ,reimplement sptr class." 2022-08-04 21:03:33 +08:00
stardict.cc xapian ,fullindex file name different in normal mode and xapian mode 2022-10-06 11:04:48 +08:00
stardict.hh
stylescombobox.cc
stylescombobox.hh
termination.cc terminate handler 2022-03-13 13:10:01 +08:00
termination.hh
texttospeechsource.cc
texttospeechsource.hh
texttospeechsource.ui ui: remove top margin 2022-03-27 21:01:28 +08:00
tiff.cc no extra tiff 2022-08-06 15:09:15 +08:00
tiff.hh no extra tiff 2022-08-06 15:09:15 +08:00
translatebox.cc upgrade to qt6.2 2022-03-11 22:00:45 +08:00
translatebox.hh
transliteration.cc clean code: replace throw() with noexcept 2022-06-03 21:29:06 +08:00
transliteration.hh clean code: replace throw() with noexcept 2022-06-03 21:29:06 +08:00
treeview.cc
treeview.hh
ufile.cc
ufile.hh
utf8.cc clean code: replace throw() with noexcept 2022-06-03 21:29:06 +08:00
utf8.hh clean code: replace throw() with noexcept 2022-06-03 21:29:06 +08:00
utils.cc opt: function refract 2022-10-15 13:58:24 +08:00
utils.hh opt: function refract 2022-10-15 13:58:24 +08:00
voiceengines.cc clean code: replace throw() with noexcept 2022-06-03 21:29:06 +08:00
voiceengines.hh
webmultimediadownload.cc
webmultimediadownload.hh
website.cc Revert "opt:website dictionary iframe remove mouseover event" 2022-09-22 20:04:01 +08:00
website.hh
weburlrequestinterceptor.cpp opt: function refract 2022-10-15 13:58:24 +08:00
weburlrequestinterceptor.h opt:use acceptNavigationRequest instead of weburlinterceptor 2022-05-20 18:01:41 +08:00
wildcard.cc
wildcard.hh
wordfinder.cc
wordfinder.hh
wordlist.cc clean code:remove seemingly useless code 2022-09-21 23:52:12 +08:00
wordlist.hh clean code:remove seemingly useless code 2022-09-21 23:52:12 +08:00
wstring.hh optimize: wchar use builtin char32_t 2022-02-17 22:33:58 +08:00
wstring_qt.cc Revert "clean code: win return std::string directly" 2022-04-07 19:56:29 +08:00
wstring_qt.hh remove iconv lib 2022-02-26 15:13:24 +08:00
xdxf.cc xapian ,fullindex file name different in normal mode and xapian mode 2022-10-06 11:04:48 +08:00
xdxf.hh
xdxf2html.cc
xdxf2html.hh
zim.cc zim: move regex to globalregex 2022-11-19 16:39:41 +08:00
zim.hh
zipfile.cc
zipfile.hh
zipsounds.cc clean code: replace throw() with noexcept 2022-06-03 21:29:06 +08:00
zipsounds.hh

Codacy Badge Windows Ubuntu macos

Introduction

GoldenDict 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.

Requirements

This code has been run and tested on Windows 10/11, Ubuntu Linux, Mac OS X.

External Deps

  • Make, GCC, Git
  • Qt framework. Minimum required version is 5.15 and support the latest QT version 6.X
  • Qt Creator IDE is recommended for development
  • Various libraries on Linux (png, zlib, etc)
  • On Mac and Windows all the libraries are already included in the repository

Installing External Deps on Ubuntu Linux for Qt5

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 \
     libao-dev libavutil-dev libavformat-dev libtiff5-dev libeb16-dev \
     libqt5svg5-dev libqt5x11extras5-dev qttools5-dev \
     qttools5-dev-tools qtmultimedia5-dev libqt5multimedia5-plugins libqt5webchannel5-dev qtwebengine5-dev

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 \
     libao-devel ffmpeg-devel libtiff-devel eb-devel qt5-qtx11extras-devel libXtst-devel \
     libxkbcommon-devel qt5-qtbase qt5-qttools qt5-qtsvg-devl qt5-qtwebengine-devel qt5-qtmultimedia-devl
     

How to build

First, clone this repository, e.g.:

git clone https://github.com/xiaoyifang/goldendict.git

Linux (fedora)

And then invoke qmake-qt5 and make:

cd goldendict && qmake-qt5 && make

ArchLinux

on archlinux based os, you can use yay to install the community goldendict-webengine-git .

#(Manjaro distribution)
pacman -S --needed git base-devel yay

yay -S goldendict-webengine-git

macOS

brew install qt # or use official offline installer
qmake CONFIG+=release   CONFIG+=zim_support   CONFIG+=chinese_conversion_support QMAKE_APPLE_DEVICE_ARCHS="x86_64 arm64"
make 
make install

Windows

Alternatively, you might want to load goldendict.pro file from within Qt Creator, especially on Windows.

Building with Chinese conversion support

To add Chinese conversion support you need at first install libopencc-dev package:

sudo apt-get install libopencc-dev

Then pass "CONFIG+=chinese_conversion_support" to qmake

qmake "CONFIG+=chinese_conversion_support"

Building with Zim dictionaries support

To add Zim and Slob formats support you need at first install lzma-dev and zstd-dev packages:

sudo apt-get install liblzma-dev libzstd-dev

Then pass "CONFIG+=zim_support" to qmake

qmake "CONFIG+=zim_support"

Building without extra tiff handler( DEPRECATED )

deprecated: qt has offered b/w tiff support which means this options should always enabled. intend to remove in the future.

If you have problem building with libtiff5-dev package, you can pass "CONFIG+=no_extra_tiff_handler" to qmake in order to disable extra tiff support (without such extra support some b/w tiff images will not be displayed):

qmake "CONFIG+=no_extra_tiff_handler"

Building without Epwing format support

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

qmake "CONFIG+=no_epwing_support"

Building without internal audio players

If you have problem building with FFmpeg/libao (for example, Ubuntu older than 12.04), you can pass "CONFIG+=no_ffmpeg_player" to qmake in order to disable FFmpeg+libao internal audio player back end:

qmake "CONFIG+=no_ffmpeg_player"

If you have problem building with Qt5 Multimedia or experience GStreamer run-time errors (for example, Ubuntu 14.04), you can pass "CONFIG+=no_qtmultimedia_player" to qmake in order to disable Qt Multimedia internal audio player back end:

qmake "CONFIG+=no_qtmultimedia_player"

NB: All additional settings for qmake that you need must be combined in one qmake launch, for example:

qmake "CONFIG+=zim_support" "CONFIG+=no_extra_tiff_handler" "CONFIG+=no_ffmpeg_player"

Then, invoke make clean before make because the setting change:

make clean && make

Building with xapian

build xapian from source, download and extract the xapian-core source code.

./configure
make 
make install

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. A precompiled version of xapian lib has provided in winlibs

use CONFIG+=use_xapian to enable this feature. when enabled ,xapian will be used to support as the the fulltext's backend engine.

qmake "CONFIG+=use_xapian"

Building under Windows with MS Visual Studio

the source code has offered precompile x64 windows libs on winlibs/lib/msvc. you can build your own version either.

To build with Visual Studio. check this how to build with visual studio

Installation

Installation is an optional step since the built binary can be used as-is without installation. But you can properly install via:

make install

NB: Don't do that on Windows!

You can uninstall via:

make uninstall

License

This project is licensed under the GNU GPLv3+ license, a copy of which can be found in the LICENSE.txt file.

Support

Users looking for support should file an issue in the official GoldenDict issue tracker, or even better: submit a pull request if you have a fix available. General questions should be asked on the official GoldenDict forum.