Fora Dictionary Pro for iPad, iPhone, and iPod touch
Fora Dictionary Pro is an offline dictionary lookup application. It allows StarDict, XDXF, DSL, DICTD, or TSV/Plain format dictionaries accessed off-line, quickly, and easily.
- Import from shared folder or URL
- Diacritics-tolerant and in-headword matching
- Phonetic, wildcard, fuzzy, full-text search
- In-page pop-ups (all words clickable)
- Clipboard lookups
- Morphology support
- Dictionary management (grouping, ordering, etc.)
- Advanced features like attaching resources and data compression
Latest version is 22.2.0
Desktop version is identical to the iOS version in terms of performance and functionality. You can try it out on your computer before purchasing the iOS version.
Introduction to File Sharing
File Sharing feature of iOS allows exchanging files between your computer and apps installed on your device. Fora Dictionary utilizes the feature to receive dictionary files from your computer. For details, visit http://support.apple.com/kb/ht4094
A) Instructions for adding dictionaries via iTunes
1) Connect your device to your computer
2) Open iTunes and select the device
3) Select “Apps” tab
4) Select Fora Dictionary app and scroll down to File Sharing
5) Select “Add…” and add dictionary files (e.g. for StarDict, they are *.idx, *.dict.dz, *.ifo) to shared documents
6) Open Fora Dictionary, scroll to the bottom of the home screen and tap "Options", and select "Import Dictionary" and select the dict's main file (e.g. for StarDict, its *.idx)
7) Follow on-screen instructions (please wait while one-time import is in process)
8) After import completes, you can clean up the shared folder by using “Delete File” from “Options” menu
B) Instructions for adding compressed dictionaries via iTunes
1) Compress the dictionary to a zip file if it's not yet an archive (zip, tar, bz2 supported)
2) Connect your device to your computer
3) Open iTunes and select the device
4) Select “Apps” tab
5) Select Fora Dictionary and scroll down to File Sharing
6) Select “Add…” and add the zip file to shared documents
7) Open Fora Dictionary, scroll to the bottom of the home screen and tap "Options", and select "Import Dictionary" and select the zip file
8) Follow on-screen instructions (please wait while one-time import is in process)
9) After import completes, you can clean up the shared folder by using “Delete File” from “Options” menu
C) Instructions for adding dictionaries via URL
1) Open Fora Dictionary, scroll to the bottom of the home screen and tap "Options", and select "Import From URL" and enter the URL (note that the URL should point to a direct download link, not to a web page)
2) Follow on-screen instructions (please wait while one-time import is in process)
D) Setting up dictionaries using the desktop version
1) Download and launch the desktop application on your computer
2) Convert, upgrade, and create full-text indexes of your dictionaries
3) Make sure that both the desktop application and your iOS device is connected to the same Wi-Fi network
4) On your iOS device, tap "Options" and "Receive Dictionary". The IP (network) address of the iOS device will be displayed on screen
5) On desktop application, tap "Options" and "Send Dictionary", and enter the IP address shown on (4).
6) Repeat (4) and (5) for all your dictionaries
E) Attaching Resources
Fora Dictionary Pro can index ZIP files containing resources (images, sounds, videos) and locate resources automatically during lookups. It supports classic ZIP files (non-ZIP64) and the encoding of file names of the resource files should be ASCII/Latin only. Also, the ZIP files should not contain subfolders (flat structure).
Steps for attaching resources to a dictionary:
1) Extract resource files to your hard disk
2) Group the resource files into folders. Each folder can contain a maximum of 65,535 resource files
3) Create ZIP files for each group. In order to make ZIP files' structure flat, select all files in a group at once (not parent folder) and use the context menu (right-click) to create ZIP files. You can use 7-Zip on Windows or "Compress" context-menu on OS X. You can give any file name to the ZIP files as long as it ends with .zip
4) Put the ZIP files into the shared folder (see above)
5) Open the app on device, click the dictionary and select “Attach ZIP” option and select the ZIP file
6) After attaching completes, you can clean up the shared folder by using “Delete File” from “Options” menu
F) Creating Offline Wikipedia (Advanced)
1) Choose a wiki dump from: Database dumps.
2) The file required is usually named like: [WIKI_NAME]-[DATE]-pages-articles.xml.bz2 (for example, dewiki-20140528-pages-articles.xml.bz2)
3) The XML file is usually very big, and you will need to split it into parts/volumes since:
a) File system of the device may not allow this big files
b) The built-in DZ compression does not support files larger than about 1.8GB
c) Full-text searching may fail due to memory overflows (both during indexing on computer and searching on device)
If you prefer splitting, extract the *.bz2 file to your hard disk and split the *.xml file using Options > "Split File". Recommended part size is 128MBs. For smaller wikis, you can skip this step.
4) Create dictionaries for each part using regular conversion. Optionally you can create a profile for wikis.
About offline Wikipedia creation:
a) Limitations: No tables, No images, No templates (just optimized page text with hyperlinks).
b) Support: Wikis relying heavily (and essentially) on templates (e.g. Wiktionary) don't work yet.
c) Performance: Wikitexts are compiled during indexing, hence it's very slow (a few MBs per minute), but lookups are fine.
G) Adding Hunspell dictionaries for stemming
1) Verify that the filename of the Hunspell dictionary reflects the language of itself (e.g. en_GB.aff and en_GB.dic)
2) Import the Hunspell dictionary by selecting it's *.aff file
3) Verify that all dictionaries have their source/target languages selected properly (you can edit them using "Edit Properties" on dictionary menu)
a) Hunspell dictionaries support is limited to prefixes and suffixes
b) After importing, dictionaries having the same source language as the language of the Hunspell dictionary will take advantage of it when searching
c) There is some built-in stemming support for some languages (examples here). In the case of multiple stemming sources for a language, the app leverages all of them.
H) Converting audio/sounds on a computer
1) Install FFmpeg which supports many formats and allows setting parameters (e.g. bitrate) for each format
2) Pick a format and convert a few sample resource files in order to verify that the format (and parameters) is playable on the device
3) Use the format and parameters with a batch-file/script/terminal to convert all resources (example)
4) Repackage and re-index the zip file
a) This conversion is required only if the app says "Failed to play audio"
b) The filenames (including extension) of each resource file should be kept same after the conversion since they are hardcoded in dictionary data
c) If you are not comfortable with console apps, a regular/GUI batch conversion tool can also do the conversion
1) You should create one archive per dictionary (not multiple dictionaries in an archive)
2) If you plan to use full-text search function or to attach resources, it's recommended to follow method (D) to add dictionaries
Sharing And Moving
Fora Dictionary Pro allows simplified sharing of dictionaries by means of Import and Export concept. To share or to copy/move a dictionary, you “Export” it in the source app, which creates a standard ZIP archive optimised for sharing, and then “Import” it in the target app.
There are five kinds of search you can perform on a dictionary.
1) Regular (exact) search: searches in headwords of articles. Any dictionary can be searched.
2) Extended (diacritics-tolerant and multi-word matching): ignores diacritics and punctuation. Suggestions present diacritics-tolerant, in-phrase, and phonetic (English only) matches. The dictionary must be upgraded.
3) Full-text (reverse index) search: searches exact matches in article bodies. The dictionary must be upgraded (which can take very long time since every single word anywhere on the dictionary is taken into account).
4) Fuzzy search: searches approximately typed headwords (like a spell checker). Any dictionary can be searched.
5) Wildcard/RegEx search: performs wildcard and regex search in headwords. Any dictionary can be searched.
1) Fora Dictionary delegates playback of multimedia files of dictionaries to the iOS operating system and file format support is out of the scope of the application. If your device can't play some files, you may need to use a separate (probably a desktop) app to batch convert those files to a format that can be played by your device prior to attaching them to the dictionary.
2) Large dictionaries can't be imported (indexed) directly on device due to memory and speed limitations and require being imported using the provided desktop version.
For Advanced Users:
1) If you are using a third-party file manager, the directory to directly copy/move converted dictionaries is: app_sandbox/Library/Dictionaries (then use Options > Detect Dictionary to rescan the directory)
2) The instructions for conversion in the help window of the desktop converter utility applies to Fora Dictionary for iOS, as well.
Q: When I select "Receive Dictionary" to transfer over Wi-Fi, I get "Address In Use" or "Bind Failed"
A: Network addresses are shared across all apps on a device. The error indicates that another app is currently using the address (specifically, it's TCP/53132). Closing running apps or restarting the device should free up the address and allow the app connect successfully.
Q: I bought an offline dictionary, can I use it in Fora Dictionary?
A: Probably, no. Most standalone dictionaries have it's own proprietary data format incompatible with general-purpose dictionaries. You need dictionary data in one of the supported formats.
Q: I'm new to Fora Dictionary. Where to start?
A: The desktop version is the best and recommended way/tool to set up your dictionaries and start using the app. It's identical in functionality and is much faster with respect to the mobile version since all the power of your computer is available to harness in converting/optimising (which itself may take very long time). After configuring dictionaries, you can synchronise with the mobile version using a common wi-fi connection.
Q: Fora Dictionary is too complicated.
A: This is a side-effect of having a plethora of built-in functionality, that we notice mostly in new users. We believe that over time, as you get used to the app, you will appreciate the feature set offered and the complicated-feeling features will translate into a joy to use. Please also keep in mind that we can't document every single feature of the app and hence urge users to explore them.
Q: Fora Dictionary User Interface (UI/UX) is non-standard and/or weird.
A: Fora Dictionary is written in the Java programming language and shares 90% of it's code (inner workings) across iOS/Android/desktop (here is an example). Optimizing the UI/UX for each platform (iOS7/8, Material on Android, mouse on desktop, etc) is not feasible because it requires dedicated developers on each platform, which is not available.
Q: Fora Dictionary license is too expensive.
A: Fora Dictionary is a little intricate app designed exclusively for performers of the art of discovery. Many man-years, mostly through the magic wand of love, were devoted in creation of this handy digital gadget. Please don’t compare the app with flashlight apps which can easily be created/developed in a few hours.
Below are some example repositories that host dictionaries that you can download and use with the application. The links are provided for informational purposes only, and we are not responsible for their content in any way.
dicts.info free dictionaries
English Wiktionary in StarDict format
Miscellaneous dictionary links
Converter for various dictionary formats (including BGL)
The URL scheme to launch Fora Dictionary Pro is fora://lookup/<word>. The parameter <word> should be percent-encoded utf-8 and is required.