At this year's Drupalcamp Atlanta, Steven Jackson and I co-presented the topic "Getting Started with Drupal Translations". Both Steven and I submitted similar sessions, and the organizers thought it would be a good idea for the two of us to combine our proposed topics into one presentation. This worked out great! It was my intention to cover the basics for setting up a Drupal site for multi-language translations from a non-programmer's perspective and Steven Jackson's presentation focused on those with more PHP experience. By combining our topics, we were able to speak to a broader audience of both newbies and experienced Drupalists.
My portion of the presentation covered the basic setup steps involved to enable translations for a Drupal site, including Language Templates, the core modules that need enabling as well as contributory modules that provide easier and more robust translation management. The modules discussed were i18n (Internationalization), i18n Auto Translate, and the Language Switcher Dropdown. In addition, I spent some time discussing the differences in how to translate new content versus legacy content (nodes that exist before translations are enabled).
Steven presented the second half of the session to cover specifics regarding how some limitations were noticed when uncovering translated date functions, the server's inability to properly handle special characters, path auto & url alias conflicts, and when regular expressions are needed in PHP. Steven also went over some key "Do's & Don'ts" involved with setting up translations, specifically in regards to proper project planning.