Using a different domain name for each language
Drupal makes it easy to serve different language versions of your websites from different domains.
This allows you, for example, to have English contents in www.yourdomain.com and Spanish contents in spanish.yourdomain.com.
Different languages can be in subdomains or completely different domains, including different top level domains (TLDs).
To do this, you'll need to setup Drupal to serve different languages in different domains and you'll also need to setup your web server to point all domains to the same Drupal site.
Setup in Drupal
1) Go to /admin/settings/language/configure and select "Domain name only" as the Language negotiation.
2) Go to the language administration page, /admin/settings/language and edit each language to include the domain name
Setup in the server configuration file
Once you've set up Drupal to serve differnt languages in different domains, you need to instruct your web server to send requests from multiple domains to the same Drupal site.
In Apache, you'll need to edit the .conf file and add aliases to all the different domains. For example:
In addition to this, you'll also need to point the domain name server (DNS) to your server for all the domain names in different languages.