Magento Displaying appropriate localisation based on Location
GeoIP and Store Views will help you solve this issue.
GeoIP You can use a provider like MaxMind for your GeoIP database (or load it as a web server module that adds the country in the header).
Based on the IP address you can redirect the customer to the proper Store View (check the link generated by the store view switcher.
Store Views
Russian should be a Store View. Check the store view switcher to see what is the link you need to use for your customers.
After redirection you can set a cookie to associate the customer with the store view.
There is a Magento GeoIP extension (written by me) which downloads latest MaxMind data file and periodically updates it.
I suggest hooking into controller_front_init_before
event. You can use the following code to check get the ISO 3166-1 code of visitor's country and then redirect him to corespondent store view if you have one:
$geoIP = Mage::getSingleton('geoip/country');
$code = $geoIP->getCountry();
/*
* Check if store view for this country/language exists and it is not a current store view.
* If so do a redirect.
* You can also take a language from user agent into consideration.
*/
The detailed article about using this extension can be found here.
take a look at http://www.thefutureoftheweb.com/blog/use-accept-language-header
if you can program. You could make a switch in the index.php
loading the storeview appropriate for the language.