<p>Internationalizing web apps always seems to be a chore.  No matter how much you plan ahead for pluggable languages, there's always issues with encoding, funky phrasing that doesn't fit your templates, and other problems.</p>

<p>I think it would be useful to get the SO community's input for a set of things that programmers should look out for when deciding to internationalize their web apps.</p>

I have a couple apps that are "bilingual"
I used resource files in ASP.NET1.1
There is also something called the String Resource Tool
Basically you put all your strings in a .RES file for both languages and then determine what file to read from based on Culture or whether someone clicked a Link for the language
The biggest gotcha is making sure the Translations are done correctly