This is a good question and all though some similar questions have been asked I think yours is slightly unique.
First there are a few things you should seriously consider as you do not want to start making domain/directory changes.
- Are the languages being translated by a native speaker, Google translate or a CMS internally?
- Are you aggressively targeting a specific language?
- Are you selling a product or is it an informational website?
Once those things are figured out, your choice becomes easier to make
Subdomains are great if you plan on branding under one main domain name.
For example, example.com, jp.example.com, it.example.com
Top Level Domains are great if you do in fact want to reach each language based on their country. These usually require separate sites, domain names, costs and not a good idea if you plan on using an app or software for translations.
For example, example.jp, example.it. These usually require separate sites, domain names, costs and not a good idea if you plan on using an app or software for translations.
Directories are a very good idea to use if you do have an easy method to translate , branding one domain name, easy to remember domain names and if a person forgets how to navigate to a specific language, they can easily find it by going to the main domain name and simple select a language version.
The costs are less than the other options, easier to maintain from one server location and verbally sounds more natural than es.example.com. Personally, I never liked the whole idea of esDotEXAMPLEDot.com, as it reminds me of a cheap sounding free DNS name.
Also what people do not realize is the BIG brands still use the directory method.
For example,
http://www.apple.com/es/
http://www.ebay.es/
In the end, look at all the factors involved and you will make the best decision based on what benefits you financially and time investment to create a good workflow and who is your target and their location.
Cheers!