Hi
I've made a script that will add [CASTE_NAME] tags with male and female variants of names for all vanilla (and possibly also modded) creatures. It works by first looking at the [NAME] tag to extract the actuall names of the creatures, and then appending [CASTE_NAME] definitions in [CASTE:FEMALE] and [CASTE:MALE] (other castes are not changed). The new name is simply "oldname male" or "oldname female" (so "dog male", "dog female", "horse male"...).
The use of this is, it helps you to differentiate between genders on screens that do not show gender. Some of those include z->animals, cage/rope assign menu, pit menu, units screen, and probably some more. This will increase your selective breeding program productivity by 1000% guaranteed

The script is written for unix bash system, which I'm sure some of you are familiar with. Even if you can't code/use it, it's very simple (this tutorial is for a unix/linux/macos machine -- windows users, I'm sorry, you'll have to ask your nix friend
Instalation1. open console (shell) window
If you do not care about this, here's a one-liner command to do the all the work:
wget http://dasnet.cz/fuco/df/gender.txt && mv gender.txt gender.sh && chmod 700 gender.shotherwise, here's the complete explanation:
2. download script here
http://dasnet.cz/fuco/df/gender.txt using
wget http://dasnet.cz/fuco/df/gender.txt3. rename the file to gender.sh with
mv gender.txt gender.sh4. set file options to allow execution
chmod 700 gender.shNow, to "fix" a (single) file, you need to do the following:(the script to fix "all" or multiple files below)
1. if you use files from windows, you have to get rid of CR characters (remember, unix uses \n, windows uses \n\r)
this can be accomplished by two commands, first is rather simple
dos2unix creature_domestic.txt (where creature_domestic.txt can be name of any creature file)
This will transform the dos line ending into unix line ending.
If dos2unix is not available on your system, you can use another command
tr -d '\r' < creature_domestic.txt > creature_domestic-unix.txt && mv -f creature_domestic-unix.txt creature_domestic.txt make sure the two filenames are different. The filename after < is input, the filename after > is output. The command after && will rename the temp file back to the original -- replacing it
2. run the script itself
./gender.sh creature_domestic.txt > creature_domestic-fixed.txt the first argument is UNIX-line ending raw file, the file after > is output.
You can also save it to different directory under the same name with (but the directory has to exist beforehand, you can use 'mkdir fixed' to create it)
./gender creature_domestic.txt > fixed/creature_domestic.txtHow to "fix" multiple files1. make a directory tofix
mkdir tofix2. move all files you want to fix to this directory (use cp or mv commands)
3. make a directory fixed
mkdir fixed4. execute:
for f in tofix/*.txt ; do tr -d '\r' < $f > ${f}-unix.txt && mv -f ${f}-unix.txt $f && ./gender.sh $f > fixed/`echo "$f" | awk '{split($0,a,"/"); print a[2]}'` ; doneIf you're using UNIX-based raws, you can use the shorter
for f in tofix/*.txt ; ./gender.sh $f > fixed/`echo "$f" | awk '{split($0,a,"/"); print a[2]}'` ; donethis will "fix" all the files in the directory "tofix" and place fixed files in directory "fixed"
The script is messy -- it's bash, it's supposed to be that way. However, if you want to improve it, feel free 
(also, I suck at bash

)