Have you tried google with "free resource editor"?
Originally Posted by li0000
If I want to design one, how can I do it?
How can I find the "Text" location in the EXE file? Can I just remember the offset and length of the "Text", translate it, and write it back to EXE file? It will work?
You would typically use BeginUpdateResource() to get access to the resources in an executable file, UpdateResource() to modify them, and EndUpdateResource() to close the file handle. See MSDN for details.
Note however that just accessing and modifying the resources in an executable is the simplest part (and you can even do that with the resource editor integrated in Visual Studio). The value of localization tools is the database they maintain to simplify recurring translations, and the management functions to maintain different localized versions across several releases (and hence the need to retranslate just the differences).