Drupal Translations
There are so many little words all over the place! Drupal does not have one way of dealing with all those little things, but they fall into 3 categories.
1. The user interface
2. strings that were created by the admin
3. content submitted by users, usually nodes
Core: locale, content translation
Contrib: i18n, localization client
admin/settings/languages
Browser settings
Drupal user preferences
Path prefix: the language prefix appears in url
Domain name: you can use sub domains to switch
admin/settings/languages/configure - where you set that preference
path prefix with language fallback
translated menus - it's important you display the menus as blocks, not printed directly in the theme. You can disable primary and secondary links in theme settings.
you can turn on translations in the content type settings page. Also on this page, the i18n module adds some settings in multilanguage options section.
l10n_update module allows you to pull in new translations instead of going out and getting them.
localization client module displays all pieces of the page that can be translated with string translations and lets you set them up.
Summary:
i18n module is key.
ICanLocalize is a great service and is going to be the go-to place for drupal translations going forward. They offer a module that can basically do all this stuff for us.