ASP.Net / MySQL : Translating content into several languages

I have an ASP.Net website which uses a MySQL database for the back end. The website is an English e-commerce system, and we are looking at the possibility of translating it into about five other languages (French, Spanish etc). We will be getting human translators to perform the translation – we’ve looked at automated services but these aren’t good enough.

When should I use ugettext_lazy?

I have a question about using ugettext and ugettext_lazy for translations.
I learned that in models I should use ugettext_lazy, while in views ugettext.
But are there any other places, where I should use ugettext_lazy too? What about form definitions?
Are there any performance diffrences between them?