[Jaws-project-developers] Translations for Jaws-MVC
Status: Alpha
Brought to you by:
ionmx
|
From: Jon W. <jo...@je...> - 2004-11-20 17:47:34
|
Hey, I was rummaging around the control panel to try and get things working and spent a while trying to trace a bug in the settings - it turns out that translations aren't implemented yet, and so it wasn't returning a language list. I've set the control panel model to return a single element array with a todo note in it for now to prevent that error. However, we're still left with the question of translations. It appears that we have a few options on how to do this - whichever one gets chosen in the end I'm willing to step up and actually implement it, since translation is huge draw for users. 1. The current way In Jaws 0.4 translations are simply a bunch of constant definitions - I haven't had a good look around the code for how this works, but presumably there is some sort of system in place to prevent existing constants getting overwritten. Pros: Easy for translators to use. Cons: Kinda messy, none standard, no tools available for editing. 2. GetText GetText is the standard method for providing i18n (internationalisation... you can see why I'm not gonna repeat that :P) in open source projects - it's used by Horde, KDE, Gnome, and a billion and one other projects. This means that there are lots of people out there who already have experience with it, and GUI tools are available to help in the process of translating. It is also kinda crusty in places - it demands a certain directory layout, and bails if it doesn't have that layout. There is built in support of GetText in PHP, although it doesn't come built as standard in the binary releases. Realistically though, it shouldn't be too hard to install, and we can have some sort of fallback to use if GetText isn't available (probably just returning the string sent for translation). Pros: Experienced translators (we may be able to steal some the Gnome i18n team if we're lucky), common standard, not much code needs writing. Cons: Crustiness! 3. Something Else New and Unthought Of This is just a catchall option really - if you can think of what this should be, add it! I'd also like to propose creating a jaws-i18n list to help co-ordinate translators without them having to dealing with the dev list and everything that carries. Any new strings should be announced to jaws-i18n to make sure that the translators know that they're around so that they don't have to track CVS commits. Jon |