I figured out how to do this successfully, here's a short way to do it for ANY LANGUAGE.
NON TECHNICAL WRITEUP FOR EASY USE; JAILBREAK IS NOT REQUIRED:
1. Download a dictionary for your language of interest. For example, here is a French one (in French):
http://www.etresoft.com/etreref/EtreRef_Dictionnaire-AcademieFrancaise_1935_101.zip. Note, when you install it, it will be found in either /Library/Dictionaries or ~/Library/Dictionaries/
Here are some translating ones to/from German from many other languages:
http://mysite.mweb.co.za/residents/clasqm/mac-os-x-dictionaries/west-european-languages/german.html
And you can look yourself for others. Note that if they are already in Apple's .dictionary format, it will make this process easier.
2. Once you have downloaded the .dictionary file, open it up (mac: right click -> show package contents) then click the Contents folder and look for Info.plist. Open up the Info.plist in TextEdit or a similar text editor. Look for the SECOND line starting something like <string>com...</string>. For the French dictionary linked above, this is: <string>com.etresoft.EtreRef.DAF_1935</string>
Save that somewhere.
3. Open up your iOS device with a file explorer, like iExplorer (
http://www.macroplant.com/iexplorer/ ) for Mac; many equivalents for PC.
Navigate to /Library/Dictionaries/ ---> note this is "Root - Library - Dictionaries"
4. Copy your dictionary file to the Dictionaries folder. You should now see your new dictionary in that folder.
5. Now go to your iOS device (still in iExplorer) and go to your Apps folder and go to iBooks.app. Open the iBooks.app folder which will have MANY files. Look for the file called BKDictionaryManager_LanguageToOrder.plist and copy this to your computer.
6. Open the BKDictionaryManager_LanguageToOrder.plist file in a simple text editor like TextEdit.
You will see something like:
<key>en</key>
<array>
<string>com.apple.dictionary.NOAD</string>
<string>com.apple.dictionary.OAWT</string>
<string>com.apple.dictionary.AppleDictionary</string>
</array>
<key>ja</key>
<array>
<string>com.apple.dictionary.Daijisen</string>
<string>com.apple.dictionary.ruig</string>
<string>com.apple.dictionary.PEJ-PJE</string>
</array>
Here, you need to add a new section depending on your language and the <string> from step 2. For me to add my French dictionary, I add the additional lines after the </array> for Japan (but BEFORE </dict>)
<key>fr</key>
<array>
<string>com.etresoft.EtreRef.DAF_1935</string>
</array>
I now save this file and copy it back to the same folder in iBooks.app on the iOS device where I got it.
7. Your dictionary should immediately begin working. Note: you may need to quit iBooks and relaunch it by double-clicking the Home button, holding down on iBooks.app, and then pressing the red minus sign.
8. Congrats!
NOTES:
1. This method will not affect Japanese or English books/definitions. However, if you want to replace the English or Japanese dictionaries (e.g. you want to translate English into your native language), when you see the line in the LanguageToOrder.plist like:
<string>com.apple.dictionary.NOAD</string>
You should add your dictionary <string> line BEFORE THAT. The dictionary.app on iOS preferentially chooses the FIRST dictionary for a language under each <key>. If it does not find the word in the first dictionary, it goes onto the second, and so forth. Do not delete any old dictionaries or text, just in case you want to go back.
2. If you want to make your own dictionaries, it is unfortunately quite difficult. Furthermore, there is no way to concatenate two dictionaries easily; e.g. you cannot combine a translating dictionary with a real dictionary in any simple method.
3. You can download a wide variety of translating dictionaries from StarDict here:
http://cvsup6.freebsd.org/mirror/FreeBSD/distfiles/stardict/
Unfortunately they must be converted using DictUnifier which only works on OS X 10.5 through 10.7 at the time of writing, though may work for 10.8 eventually. (
http://code.google.com/p/mac-dictionary-kit/ ). To make these, simply drag the .tar.bz2 dictionary file onto DictUnifier and wait for it to complete, then install the dictionary, which you will find in ~/Library/Dictionaries/ and then can copy to your iOS device.
------ "HACKER" METHOD -------
This method is technically more difficult and requires a jailbroken iOS device, so I don't really recommend it, but it's how I did it in the first place. If you know what you're doing it's just as quick as the previous method.
ON YOUR COMPUTER
1. Download or make the dictionary you want. By far the easiest is to download a file already in Apple's .dictionary format, which you can find online in many places [see above]
2. Show package contents on the Apple .dictionary file and look inside the Info.plist for the <key>CFBundleIdentifier</key>
<string>com.apple.dictionary.YOUR_DICTIONARY_NAME</string>
and keep track of the <string>com.apple.dictionary.YOUR_DICTIONARY_NAME</string> line.
3. Copy your dictionary to the iOS device to /Library/Dictionaries/ (you MUST copy as root). E.g. this is syntax like "scp -r YOURDICTIONARY
root@XXX.XXX.X.XXX:/Library/Dictionaries/". The default root password is "alpine" and if it is still that, you should change it. Note the "-r" is essential for this copy.
ON YOUR iOS DEVICE
5. Find your iBooks application folder, either by going through all your Application folders one-by-one (if using a browing app) or by typing "find . -name iBooks.app" if you're using CLI. Keep track of that location.
ON YOUR COMPUTER
6. Copy BKDictionaryManager_LanguageToOrder.plist back to your computer, e.g. "scp
root@XXX.XXX.X.XXX:/var/mobile/Applications/325187A0ETCETCETC/iBooks.app/BKDictionaryManager_LanguageToOrder.plist ."
7. Open up the BKDictionary... file in a text editor. Make a new language entry for your language, using the correct two letter key (fr is French, de is German; you'll have to figure out the rest).
8. Save the plist and copy it back to your iBooks.app/ from step 5.
9. If iBooks is open, close it, then double-click your home button, hold down on iBooks, then click the red 'minus'. Now re-open iBooks and your new dictionary should immediately start working.
10. If you want multiple dictionaries for a language, then you can do that by adding more ITEMS to the plist, but unfortunately iBooks will default and select the first dictionary and only go onto item 2, 3, etc, if the word you search for is not in item 1. Switching between the two is a PITA since you have to edit the plist.
E: I based my instructions off of this person's tutorial, with some modifications.
http://eduworkz.net/Forums/tabid/57/forumid/7/postid/62/scope/posts/Default.aspx