Giter VIP home page Giter VIP logo

ngn999 / goldendict Goto Github PK

View Code? Open in Web Editor NEW

This project forked from goldendict/goldendict

2.0 0.0 0.0 160.67 MB

A feature-rich dictionary lookup program, supporting multiple dictionary formats (StarDict/Babylon/Lingvo/Dictd) 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.

Home Page: http://goldendict.org/

License: Other

C++ 42.58% CSS 1.24% C 54.88% Shell 0.17% QMake 0.23% Objective-C++ 0.36% NSIS 0.40% PowerShell 0.04% JavaScript 0.09%

goldendict's Introduction

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
  • 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

How to build

First, clone this repository, e.g.:

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

Linux

And then invoke qmake-qt5 and make:

cd goldendict && qmake-qt5 && make

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

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

goldendict's People

Contributors

0x1997 avatar abs62 avatar alexandrocasanova avatar chulai avatar csg2008 avatar dinvlad avatar dragonroot avatar embar- avatar hosiet avatar hyln9 avatar ibragimov avatar jjzz avatar jose1711 avatar kyleskimo avatar ngn999 avatar ozzii avatar passw avatar proletarius101 avatar quendimax avatar sikmir avatar sukruyekta avatar timonwong avatar tvangeste avatar vedgy avatar virtualtam avatar vtliem avatar wlhunag avatar xiaoyifang avatar xvitaly avatar zdenop avatar

Stargazers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.