SecondLanguage lets you use Gettext files in .NET without a lot of hassle. It can read and write both .mo and .po, and fully supports message contexts and plural forms. A C-style printf formatter is included, so you don't have to use .NET-specific translations.