Karma, It is a real tricky thing to do to have a multi-language website. I mean from the Search Engines point of view. if you want to rank high for both english and let say french keywords you will need to work almost double.
Not impossible, just more challenging. 1/ get a shopping cart (like the one we use) that is multi-languages and also multi-languages for SEO (page titles, meta tags, ...) 2/ place a clear indication on your website that the software is only supported in english. 3/ On each page, place a real link to the home page of the other language, so each language can be easily crawled by SEs (drop down menu selector often do not get crawled by SEs)
I would use sub-domains for the links exposure not parameters. en.example.com fr.example.com sp.example.com
Then use the same database for content and create separate tables according to language to differentiate among them. When the language changes you access the associated tables. It will be easier to manage from a single admin end. If you use a template/theme you probably have to make it dynamic enough to support multilingual strings and headers via a database or string files.