As opposed to the iPod Touch which comes with a wide-enough selection of on-screen keyboards and dictionaries, the iPhone (1.1.4) is limited to the ones for the countries in which the phone was officially available at the time of the firmware's release (English/UK, English/US, French/France, German/Germany). So thanks to Apple, if you want to input text in another language, you will have to jailbreak your iPhone and tweak it a bit.
Here is how to do it:
A. Activate the international keyboards
- Download the UIKit.zip file from here.
- Drop the UIKit file found inside UIKit.zip into /System/Library/Frameworks/UIKit.framework on your iPhone (you can use SCP or SFTP - i.e. your iPhone must be jailbroken with the SSH server installed and running). Maybe it is a good idea to backup the old file beforehand.
- Set the right permissions for hte file (chmod 755) if your SCP/SFTP client doesn't do it automatically.
- Restart the iPhone.
B. Copy dictionaries to have spell check with the newly activated keyboards
Then, you can copy dictionaries if needed. For example, I want to use the French-Canadian keyboard to have a qwerty layout instead of the French azerty one. I am able to do that once step A is completed, however as it is hidden by default Apple didn't include the dictionary files for it, as a consequence there is no spell check when you use it. To solve this, I copied the French dictionary for the French-France keyboard to the French-Canadian keyboard. To do that, you can connect to the iPhone via ssh and type:
# cd /System/Library/KeyboardDictionaries# cp ./fr_CA-one-letter-words.dat ./fr_CA-one-letter-words.dat.bak
# cp ./fr_CA-two-letter-words.dat ./fr_CA-two-letter-words.dat.bak
# cp ./fr_FR-one-letter-words.dat ./fr_CA-one-letter-words.dat
# cp ./fr_FR-two-letter-words.dat ./fr_CA-two-letter-words.dat
# cp ./fr_FR-stems.dat ./fr_CA-stems.dat
# cp ./fr_FR-unigrams.idx ./fr_CA-unigrams.idx
# cp ./fr_FR-unigrams.dat ./fr_CA-unigrams.dat
References
http://www.hackint0sh.org/forum/showthread.php?t=31937&highlight=keyboard+1.1.4