I'd recommend taking a look at StarDict, which is a cross-platform application having its dictionaries supported by even more applications on other platforms. Quoting from their homepage:
StarDict is a Cross-Platform and international dictionary Software. It has powerful features such as "Glob-style pattern matching", "Scan selection word," "Fuzzy query," etc. Stardict Version3.0 has developed a lot of new functions, such as Full-text translation, Net Dict.
Many dictionaries are available for offline use, so the mentioned "Net Dict" is an option you can use or ignore. I'm using their dictionaries on Android for years; my last "dictionary use" on Linux is a bit far in the past thanks to excellent online solutions I'm using there (Linguee, Leo).
Let's see how it matches your requirements:
- Offline: Yes.
- Bi-lingual: Depends on the dictionaries installed – but yes, possible.
- Linux: Definitely. Additionally Microsoft Windows, FreeBSD, Maemo and Solaris (according to Wikipedia)
As the above is just the application, let me add some sources for the dictionaries themselves:
- FreeDict offers a list of dictionaries. Pick the
dictd links from there where no StarDict link exists, those files should be directly supported by StarDict as well. You might have to rename/symlink the
.index files to
.idx; not sure how to compensate for the missing
.ifo files – but the next bullet-point should cover that.
- This page has a collection of information on the dictionaries – including details on how to convert other dictionaries to StarDict format.
- As you're on Linux:
apt-cache search stardict should prove helpful (on Debian and derivates; use the corresponding tool on other distros). There are some dicts shipped with the repositories AFAIR, see e.g. here for Debian
- This page holds links to many StarDict dictionaries, including German-English and English-German