“Localization, Internationalization, Translation... How's it work?”

Hi Everyone,

Translating seems to be a difficult step for several users, so I wanted to offer some information and clarity in regards to this subject as a whole. Let's see if I can clear some of this up here :)

Note: Any links provided are included as references and additional information in an attempt to help. Some users will find value in these, and some won't - but this an attempt to help every user from the first timer to the experienced translator.

= = = = =

01 - What's Included? I have personally gone through every line of code in our themes to ensure that they have been coded to the latest specs to support and accept mult-language translation without you needing to sift through the code. It’s “internationalized”, if you want to use WordPress developer’s lingo.

With this, the theme is ready for translation but still requires some work from you. It's not hard, but we understand that if it's your first time it may be a bit intimidating and confusing. So, to help you along, we've compiled additional information that should help below.

02 - Translating Basics: The whole process of translating includes more than just setting "Read More" to "En Savoir Plus." You'll either need to walkthrough the Manual Translating Method or the Plugin Translating Method. There are tons of tutorials out there that can help - feel free to check out some of these:

03 - Veteran Translator: If you've translated before, the process here is no different. Just that the text-domain is 'mythology'.

04 - New to Translating: From there, if you've never translated before, then those tutorials above offer a step by step guide to translating - but here is the basic overview:

  • Plugin(s): If you choose to use a plugin to translate the theme (and many do), there are several to choose from. Using a plugin helps with one or more steps of the translation process - and the better ones can help you avoid having to open any additional files. Each may have a different interface or process, so we recommend following their documentations provided if you use this method. Over the years, the majority of free users that have come through have used Transposh and the Code Style Localization plugins.
    • We've used the “Code Style Localization” Plugin in the past, which is available for free in the WordPress plugins directory. Find more details and instructions on how to create the translations here: http://www.code-styling.de/english/development/wordpress-plugin-codestyling-localization-en
    • We've also had users find success with Transposh: https://wordpress.org/plugins/transposh-translation-filter-for-wordpress/ We also recommend doing a Google search of the current top rated WP Translating Plugins.
    • Several more solid options have come out, so a simple Google search for "best free wordpress translation plugin" should help you find one or two to try out so that you can find one that you like.
    • Finally, WPML is a paid plugin option that has worked for the vast majority of users. For the Polytechnic theme - we also include "out of the box" support for the WPML plugin as a part of their Go Global program. This means that we've included the required/recommended code/files that they've asked us to include. I personally spent weeks with their team on this and made sure that we are doing everything we can to support the WPML plugin and their associated translation plugins (like String Translation).
  • Manually: From there, you can also translate the theme manually. All WordPress themes are the same here as long as they include a pot file. The pot file is the file you open in Poedit to start translating. After you've translated all of the strings in Poedit (with that pot file) you'll want to save the project out as a .mo/.po file (File > Save As) and ensure that you have the correct/correlating language file name. This should match the define('WPLANG') that you have set in your wp-config.php file. Then, copy/paste the saved .po and .mo files to wp-content/themes/polytechnic/languages folder. That's it (unless you haven't set the define('WPLANG') in wp-config.php file.

05 Support: In summary though - we're following the official WP codex on providing the proper code markup for this - there's not much actual support that we can do here as we're all English-only speakers though.