All themes have full support for Localizations - and many include translations for different languages.
Setting your site language
When installing your WordPress site you will be asked to select your sites language, however if you want to change the language then you can do so through the Settings → General menu.
Translating Your Theme
If you've purchased the theme and it does not support your language then there's two things you could do.
Use translate.wordpress.com to translate the theme. This is ideal for WordPress.com
Use Poedit to translate the theme. The quickest solution for a self hosted site.
Use translate.wordpress.com to translate the theme
Using translate.wordpress.com to translate the theme will take a bit longer, however it is better in the long run since the translation will be managed by WordPress.com and so everything will be updated automatically as the theme updates.
The pot file for the theme you want to translate. This can be found in the languages folder in the theme of your choice.
To translate using Poedit you should:
Open up the pot file in your newly installed copy of Poedit. Use ‘New file from POT file’ in the file menu.
Edit all of the text in the editor. Keep the original text (it’s needed for reference) and add the translations. The software is really simple and intuitive so this should be straight forward
Once translated save the changes using the naming conventions below. When you save the file you will be given a .mo and a .po file. The mo file is the machine readable copy, and the po is for people. Once you have the po file you can open that to edit further and you will see your existing changes.
Upload the mo and po files to the languages directory within the theme files.
If you haven't already then select the language within WordPress.
This can be a little confusing so I will explain it to the best of my ability. The idea is that the file is saved using the 2 letter language code followed by the 2 letter country code, separated by an underscore (_). For example I speak English and I am from Great Britain so I would use the file name en_GB. The default WordPress language is US English – or en_US. Many countries, such as Germany, speak their own language, so the German language file would be saved as de_DE.
We'd love to get some feedback to help us create better themes.