How to translate my site to another language

pH7CMS uses gettext libraries and tools for internationalization.

You can create a translation to your language using the global POT file (available here, in pH7-Internationalization repo).
You can also create a new translation from the 'global.po' file located in pH7CMS project "_protected/app/langs/en_US/LC_MESSAGES/global.po"

You will also have to translate "language.php" located in "_protected/app/langs/en_US/language.php" (replace "en_US" to your language).
and edit "_protected/app/langs/en_US/config/config.ini" (like changing "lang = id" located in the beginning of the file).

The language folder name conforms to the ISO 639-2 (language code + _ + country code).
So, for instance, "German" language will be "de_DE", "Dutch" will be "nl_NL", "Italian" will be "it_IT", "Spanish" will be "es_ES", "Russian" will be "ru_RU", and so on.

pH7CMS is already (partially) translated into Spanish, Italian, German, Dutch, Brazilian Portuguese, Indonesian and French. You can find those translations here.
How to install them and troubleshooting.
Please note that the software is in constant evolution, giving new language strings over time. Taking this into account, you may have to translate new strings from the translated `global.po` file.

Finally, in order to translate the gettext files easily, the recommended software is PoEdit software. It is available on Windows, Linux and Mac OS.
You can also find paid solutions such as PhraseApp or Transifex.

Language Directory Structure
Example of where to upload the language folder

P.S. Terms and Privacy pages aren't translatable, because of their big size.
However, you can change the text of those pages easily through the Admin Panel -> File/Page -> Page Module.

 


Found a Typo/Something to Add? Edit this page