There have been a few queries from people recently about whether Variations could be created programmatically. I started investigating the methods used in the Sharepoint API, but then I happened across some excellent detective work on Michiel Lankamp's Sharepoint Blog.

The method he outlines is unsupported by Microsoft, but if you have the requirement to create variations programmatically, this seems to be the only way you can achieve it at present;

He has also created a project on Codeplex that compliments his article;

Well done Michiel, you're a credit to the Sharepoint community!

 btw, you might want to create your Variations through a Feature instead of programmatically. If so, check this out;