Jump to content

IP.Board 3.2.0 Dev Update: Minor Translation Improvements

With each release of IP.Board we try to give attention to every area of the software that our customers care about. This is a challenge, of course, because all of our customers have different needs and priorities. Some users want us to make interface improvements, while some customers want us to make it easier for them to edit the interface themselves. Some customers want new features, while some customers want us to cut out "bloat". Every customer has different requirements of the software, and those requirements are important to us as they help us to improve and focus the product for you.

While we do not always discuss every change we make in each release, we did want to take a moment to let our international users who translate the software via language packs know that we have made a few minor improvements that we think you'll be interested in hearing about. We realize this blog entry may not be as exciting as some of the previous entries, but rest assured that those customers who translate the software will benefit from these changes, and thus these details are important to share.


As mentioned in our recent Search/VNC Interface Improvements blog entry, we have taken some time to implement use of IPSLib::getAppTitle() throughout the search interface as appropriate. We are also updating all other areas of the software that display an application name to ensure it uses this same method, allowing us to be sure that the application title, as displayed, is appropriate based on the language pack in use.

For our English-speaking customers or customers with only one language pack installed, you can still edit each application in the ACP to change the application title without having to go into the manage languages area of the ACP. Simultaneously, our international translators can specify application titles in their language packs, and those translated titles will instead be used, allowing multi-language sites and distributed language packs to better customize the display for each language.

If a lot of this doesn't make sense or matter to you, don't worry about it. Ultimately this change will help translators better customize their language packs, and as this is important to our international users we are happy to work towards consolidating the application titles for this purpose.

Translatable ACP Menu

An issue that has long-plagued our international users has been the ability (or rather, inability) to translate the left hand menu in the IP.Board ACP. The strings that are used to generate the links in the left hand menus of the ACP are stored in XML files, which made it difficult to allow easy translation via the language system. We are happy to announce that we have overcome this limitation in 3.2, allowing translators the ability to fully translate this left hand menu in their language packs. Furthermore, third party applications can optionally make use of this new system, but will still function just fine if they don't.

Within the XML files that store this left hand menu system, a language key can now be specified. Core applications store these language strings in the global admin language file, while individual applications can provide a new language file which will be auto-loaded as needed for this purpose.

Translatable ACP Restrictions

Similar to the reasons that caused translating the left hand menus of the ACP to be difficult, ACP restriction details are stored in XML files and were not previously translatable. We have applied the same change just discussed for the left hand menus to the ACP restrictions so that they are now translatable as well. While the core applications store these language keys in the members_admin_restrictions language file, third party applications can (optionally) include these strings in the same additional language file they would use for the left hand menus.

Small Improvements

Of course we are also working hard to ensure any text that is not already language abstracted is properly put into the language files so that translators can adjust the text for their own languages.

We are also trying to consolidate some strings that are pieced together presently to instead use the PHP sprintf() function. This should help when translating the software to languages that might have noun or verb placement different from the English language.

We have moved the settings to define the prefixes for polls, moved topics and pinned topics to the language system. Moving them to the language system will not only allow regular admins to still edit these strings, but allow translators to adjust them as needed per-language pack.

And while we have not completely overhauled the language system in this release, we have plans to improve the language system as a whole in a near-future release. We recognize some of the issues our international users face using the language system (such as importing language files for individual applications) and we want to improve it for you to make using the software easier and more consistent. We hope these small steps will help you to better share language packs with the community in the mean time, while we plan bigger improvements in the future.

Feel free to comment on this blog entry below or, if you have feedback unrelated to this blog entry, start a new topic in our feedback forum. Be sure to check the What's New in IP.Board 3.2 topic for a running list of announced changes!

  • Create New...