First of all, questions like this belong in the general Creation and Customization forum. I'll report it so that a moderator will move it.
Second, the existing text keys are in NewText/en_US/CIV5GameTextInfos_Civilopedia.xml, and other similar files in that directory. The format is very simple, along the lines of:
Code:
<GameData>
<Language_en_US>
<Row Tag="TXT_KEY_WHATEVER">
<Text>Descriptive text goes here.</Text>
</Row>
</Language_en_US>
</GameData>
If you're making a new mod, then that's what you need to do. Note that you can't duplicated an existing key; if there's already a TXT_KEY_CITY_NAME_ROME, for instance, and you want to add a new city named Rome, then any attempt to define TXT_KEY_CITY_NAME_ROME in your own mod will cause the entire file to fail. As a result, it's often better to add some unique modifier to all of your text keys. (So TXT_KEY_CITY_SPATZ_ROME instead.)
If you're having TXT_KEY issues with previous mods, it's often because many mods created before the March patch didn't handle this sort of name conflict correctly. You'd have to go through and figure out which was is causing a conflict and remove or rename it.
As for the rest, go read Kael's modding guide again. It explains in great detail how to add icons (except that his guide does not include the VFS issue for importing .DDS files), and the rest is just normal XML editing.