Translating a StudioPress theme

A new feature of StudioPress themes is that they are being Internationalized (I18n). This means that you can now translate these themes into your own native language! (Currently Internationalized StudioPress themes: Genesis*, Church, Corporate, Education, & Magazine. This post is a simple “how to” that should help you get a translation done.

Step 1. Download Poedit

To be able to translate a theme, you’ll need a program called Poedit. It’s available for Windows, Mac and Linux. If you’re using Windows or Mac, you can download it here. If you’re on Linux, get it through your distributions package distribution system.

Step 2. Run Poedit

Once you download and run it, it’ll look something like this:

How to Translate a StudioPress Theme

A smart thing to do now is go to Preferences and enter your details, these will be used in all files you ever create with Poedit.

Step 3. Creating a new catalog

You can then go in to the File menu and select “New catalog from POT file…”. This opens an open file dialog. Go to your themes’ “languages” folder and open the .pot file you find there. Poedit will ask you to give some info about Project names, versions, teams, etc. It’s very important to set the Language and Country correctly here. After that, you can press “OK”.

Poedit will now ask you to name your file. This is very important (although easy to fix later). The naming convention for these files is the two letter language code, in lowercase, followed by an underscore, followed by the country code in uppercase. So for my home country, the Netherlands, and language Dutch, it would be nl_NL, for US English it would be en_US and for UK English it would be en_UK.

Step 4. Translate all strings

After doing that, you get the interface that this is all about, in which you can translate the strings. This will look something like this:

How to Translate a StudioPress Theme

The upper left side contains the original strings, the right side the translations. Below that is the currently selected string in the first box, followed by the area where you can type in your new translation. You can now go through all the strings and translate them.

Step 5. Save, upload & enjoy!

Once you’re done, save the file. On saving, Poedit will actually create two files, a .po file and a .mo file. No need to really describe what those are here, but suffice to say the .mo file is the “machine” version of the .po file. Now you can upload both files to your blog, placing them in your themes languages directory, and you’re done. If you’re running a localized WordPress, your template should now be localized as well!

* – Note: The Genesis Theme Framework is internationalized and comes with a .po file. All available Child themes are internationalized, too and since they work with the parent theme-Genesis, the Genesis .po file covers them.

Comments

  1. Very cool feature.

  2. Good feature. will check later.

  3. Is it possible to allow site visitors to choose which language to view the site in?

    I see shared translation files already starting to appear in the forums which is fantastic. I assume that one would only want a translation in X language if they spoke language X, so shenanigans will be unlikely. It will just save others lots of time in translating.

    Another great improvement.

    • Yes, it is – use QTranslate Pluginhttp://wordpress.org/extend/plugins/qtranslate/, you choose languages you want to use, then you will get aditional input boxes in write/edit post/page for translated text for selected languages. It is kind of cool ;)
      screenshots in action: http://wordpress.org/extend/plugins/qtranslate/screenshots/

      When you switch language on the blog (template tags or widget for switching flags), it will use i18n files from theme directory for each language (ie. you are viewing blog in lets say german language, then if you have de_DE.mo in your theme directory, and you will also see content, filled for german part of the blog.

    • some example blog using QTranslate plugin I found on google, so see it in action: http://www.planxdesign.eu/

  4. I like the feature. It will be better if you can show how it works in the Demo Site.

  5. Done this, uploaded the translated file(s), but get no swedish text. Anything else needed in order to get the changes to stick? uploaded file in the /language directory, named sv_SE.mo

    Site is running WP 2.8.

    Goran

    • Craig Tuller :

      Are you using our Education 1.0 or Streamline 3.0 Themes?

      The theme you are using must be Internationalized.

      Our next releases will be the Lifestyle & Church themes with the added Internationalization and what we are fondly calling the Joost Boost, wherein Joost (really pronounced Yoast) is optimizing the themes for the search engines, further than what the original code had.

  6. I translated everything manually in German, it cost me hours to do that.

    But this looks a little bit confusing. Is there no easier way? (Like collecting the translations and putting them together so only one has to translate for all of us)

  7. There are other languages out there! Thanks Joost! You are making a positive impact – and quickly.

  8. This is really a fine option. In the past I translated my streamline theme in the php-files in Dutch. Not very nice of course. Now I’m glad to read that translation is possible through Poedit. Just should be the standard. Also for plugins. Nice to here that Studiopress has started with this.

  9. Very nice, looking forward to see this feature on other templates…. like Lifestyle, Church or Allure

    Then I make the translations into German and Danish right away.

    lindebjerg

  10. WOW! Way to go! And the only right way to go. It’s good to see you guys are go international now.

  11. So really… How do you force theme to use another language once you translated it? I find always same problem with great themes… no explenations whatsoever on most basic things. Yes, it is easy to transle, upload, get Poedit… but afte everything is done… WHAT?

  12. I am really considering buying this theme now. I have seen it and it’s very impressive. If only this feature is included with the lifestyle theme. :)

    • Brian Gardner :

      This feature will be included in the Lifestyle theme update that is going to be released hopefully within the next week.

  13. I am working on the “Lifestyle” theme, bought by a client of mine. I don’t seem to find any POT file in the theme or the wordpress 2.8 files. What am I missing?

  14. Great news! Very Good feature…

    thanks

  15. Good feature for a theme.

  16. Excellent stuff, learning new things every day… Thanks!

  17. dear brian,
    you know, i love your theme-work. congratulations for your decition for internationalisation. i hope, you will probably get the time to do this with the most of your themes. that would be great, but i dunno, how much work it is… thank´s a lot for this great idea, now you´ll get a lot of fans outside of the usa.

    regards burk

  18. Awesome themes, especially useful that you can translate these themes into your own native language..

    Definitely a big success.

  19. if I purchase the corporate theme which is not yet internationalized, does it mean i cannot set it for a japanese website?
    what parts cannot be translated without the internationalization thing

    regards

  20. Joost – Great to have you on board here, I’m an avid reader of your own blog. I’d be very interested to learn more about what your plans are for the development of the SEO on the SP themes.

  21. I did everything written in this post. I put my it_IT.mo in the language directory of my theme but it still remains in English. Do I have to do something more to say to my Lifestyletheme 4.0 to take my italian .mo file? Because it doesn’t work. Tnx

  22. Lifestyle is internazionalized but not in all the template pages there is the textdomain “studiopress”.
    In functons.php missing this code

  23. load_theme_textdomain(‘studiopress’, TEMPLATEPATH.’/languages/’);

    And it’s also important to specify in your poedit translation the key (under the catalog settings) _e and __
    It was not so clear in your tutorial. Great. Charliegolf

  24. The date and time is not translated though. I have installed the Spanish localization of WordPress and translated everything else. However, the upper right date remains the same. Help!

  25. Useful article! :-)

    Those people, like me, who find Poedit about as easy to use as eating soup with a fork, may be interested in a short video tutorial on Poedit which I’ve just published on my site. :-)

  26. Good article

    FYI, hen naming the file with the country code (in my case) Canada, french the naming would be: fr_CA.* right?-but it does not work- . I got stuck with this for DAYS! I had to put fr_FR.* for it to work. Just so you know
    pour les Quebecois

    cheers!

  27. I have used Studiopress theme for three different domains of mine. Really it is so usable. I highly advise people to use Studio press wordpress theme.

  28. Hi,
    I have followed all the step here but it does not work for me. I have translated the file using Poedit, saved as fr_FR.po and .mo and uploaded to the language directory. But for me there is no change in the language on the site. Is there something else to do. For informaiton I use the News theme.
    Thanks, Sebastien.

  29. Hi,
    Several people here are asking the same with no answer. Once the translation is done it is not clear exactly in which directory to place and if further work is required for this to be active.

    I have mi es_ES.po and .mo, placed them in /wp-content/themes/education_10/languages and nothing happened. Help anyone?

    Thanks,
    Alex

  30. OK I fixed my issue… seems that you have to have WP in general translated and change in wp-config.php the line define (‘WPLANG’, ”); for define (‘WPLANG’, ‘es_ES’); in my case…
    Regards,
    Alex