Jump to content

Invision Community Blog


Managing successful online communities


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!

Comments

Recommended Comments



[quote name='TheMorrigan' date='Aug 12 2008, 11:33 AM']This sounds so awesome. I do have one question though, will we be able to replace the "non-language" buttons with ones with a language easily?

"Non-language" buttons simply mean that buttons with text on them do not have the text embedded on the image. The button would still look similar in the final output as it does now, but the image itself simply has no text in it (the text is drawn on top of the button by the browser when the page is rendered, instead, making it entirely possible to translate the buttons via a language file instead of in the image).

Now, if you were shooting for a non-standard font or something, then yes, you can of course skin the system however you like. :)

Link to comment
Share on other sites

[quote name='bfarber' date='Aug 12 2008, 12:38 PM']"Non-language" buttons simply mean that buttons with text on them do not have the text embedded on the image. The button would still look similar in the final output as it does now, but the image itself simply has no text in it (the text is drawn on top of the button by the browser when the page is rendered, instead, making it entirely possible to translate the buttons via a language file instead of in the image).

Now, if you were shooting for a non-standard font or something, then yes, you can of course skin the system however you like. :)

Link to comment
Share on other sites

Great news for me & for everyone. You're going to get the way for an excellent success.

[quote name='IPS NEWS']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.

Link to comment
Share on other sites

Great news! I'm really looking forward to this, and it makes me glad you are actually dealing with this (quite urgent) matter for international users. This takes language management take a big leap forward. Thank you!

One idea. You could save image button text in the database as well, and render the images with the correct text (with outline and shadow) to image files. This will make older standard skins sort of "backward compatible", and you can let the administrators chose wich font to use.

Not a very big deal, but it would be nice!

Link to comment
Share on other sites

I am not sure if this is something related to the language or skin but what about a language that reads from right to left, like hebrew and arabic. In most softwares i saw they store in a language bit the direction and those makes it align the page by the language set so i would have something like this in my global language set



Making the page to be outputed aligned to the right. That's an essential feature that should be implemented both in the board and ACP. Ability to change the direction of the page is necessary, In my opinion at least.

$lang['direction'] = 'ltr';

on rtl languages it could be translated to

$lang['direction'] = 'rtl';
Link to comment
Share on other sites

It's impossible to say if there will be a "RTL" switch just yet - the skin isn't finished and that very very heavily ties into the skin. From all reports I've heard, while possible, it may be a bit tricky to implement. Guess we'll see later on.

A guest language selector is something on our todo list for 3. ;)

Link to comment
Share on other sites

Great features!
I would like to see also a full support for languages that are written from right to left, and if for example there are images like arrows and such so making the language settings to go from right to left will also flip the image's direction the other side. if you know what I mean...
And it would be also great if I could choose a different language for the Board and for the ACP, since I prefer English on the ACP.

Link to comment
Share on other sites

[quote name='Kfir2' date='Aug 12 2008, 10:22 PM']Great features!
I would like to see also a full support for languages that are written from right to left, and if for example there are images like arrows and such so making the language settings to go from right to left will also flip the image's direction the other side. if you know what I mean...
And it would be also great if I could choose a different language for the Board and for the ACP, since I prefer English on the ACP.

+1 plz make it easy for right to left written languages

Link to comment
Share on other sites



Agreed, I don't thing that we must use the language on board in the ACP as well, Having two settings to choose what language we would prefer using in the ACP would be a great addition.

And it would be also great if I could choose a different language for the Board and for the ACP, since I prefer English on the ACP.

Link to comment
Share on other sites

What about language detection? Browsers send a comma delimited list of preferred languages starting with the most preferred to least preferred using the HTTP_ACCEPT_LANGUAGE header. Would it be possible to auto detect the users language and give them the most relevant language pack available? Of course this would be override-able, but when a user that speaks German first visits the site and you have a German language pack, it would be nice for it to automatically select that language pack without them having to find the language selector.

Also one idea I have is with the many sites that do not have language packs other than English. Given the new nature of the language pack system, would it not be possible to provide official language packs and stream them to boards when needed (if turned on)? Like a board starts out with an English language pack but someone that speaks french comes on the site. The board doesn't have the french language pack, but it's available on IPS site. With a "streaming" feature turned on, it could download that language pack from IPS and install it for that user. Obviously the official language packs would not have bits for mods, modules etc... but it could substitute un-recognizable bits from the english pack, or the next preferred language. Heck, you could have users suggest translations for bits within the board itself and submit them to the admin for approval - especially useful for parts of the site that doesn't come stock.

Link to comment
Share on other sites

Thnak you! This is really sweet music to my ears. It seems that initial translation and especially keeping your translation up to date with new versions is going to be much, much smoother than at present.

Already for sometime I've thought of asking when can we have IPB 3.0 language pack so that we could start translating... so that the translation may be ready when everything else is ready.

Link to comment
Share on other sites



Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

Important Information

We use technologies, such as cookies, to customise content and advertising, to provide social media features and to analyse traffic to the site. We also share information about your use of our site with our trusted social media, advertising and analytics partners. See more about cookies and our Privacy Policy

×