Jump to content

Language Management in IP.Board 3

Over the past few years our international user base has grown by leaps and bounds, and we want to do our best to support those users and make sure that IPB is a great solution for them. Toward that end, one of our goals for IP.Board 3 is to dramatically improved our language management system. So today I want to introduce you to a few of the upgrades that you can expect to see in that system.

First off, we want to ensure that the entire system can be translated, this includes the Admin CP. You will be able to create and distribute combined language packs that will cover both the front end and the Admin CP. For administrators, your language of choice will of course carry over to both, without the need of selecting your language for both the Admin CP and the front end.

You will also be able to assign a 'locale' to a language pack, which allows IP.Board to format all dates and number specifically for that language pack. Additionally, both the Admin CP and the front end will use UTF-8 as the default encoding type. There will also be no need to translate images for a language, as the new skin will not utilize any images with text.

The language bits themselves are now stored in the database directly and cached to flat files. When you are editing a language pack, you will be able to see the default English string while you translate the string. You will also have the option of reverting language bits back to the default English string. Every string now includes a version number, which will let you know what version that string was last updated in. If you translate a string in IP.Board 3.0.0, and then that string is modified by us in IPB 3.0.1, the language manager will let you know that your translation is out of date and needs to be updated. It's possible to bring up a list of all out of date language entries, as well as a list of all entries that have not yet been translated.

We've also added a search feature to the language system, that will make it easy to find specific text within the language packs. For example, if you wanted to replace all instances of the word 'forums' with 'boards', you can search for 'forums' and the system will show you everywhere that word is used.

Each application can include an XML file that specifies all of the language strings for that application. This file will automatically be processed by the application installer, making it easy for modification authors to distribute language strings with their applications. They will also be able to make use of the string versioning and the application upgrade system will handle updating the strings and letting you know if any of them are now out of date.

So those are some of the changes that you can expect to see in the new language system. We hope that these features will be useful to our international users. If you have any questions/comments about the new language system, please let us know!

  • Create New...