[sword-devel] i18n of sword website
Troy A. Griffitts
sword-devel@crosswire.org
Tue, 25 Feb 2003 05:28:20 -0700
Joachim,
I had a look at the i18n taglib from jakarta and don't like it. I
don't like the idea of replacing all strings in the source files with
some key name. It makes the page very unreadable.
Martin showed me some of your stuff earlier today and it was great.
Here's my plan for a jsp implementation. Let me know what you think
(other people please let me know, as well).
I have commited two new classes to jsword-old cvs to handle a new
taglib package: org.crosswire.web.i18n
So far, the 2 classes will enable 2 new tags in jsp:
<t:contextStart />
<t:t>My text to translate</t:t>
We can call the tags whatever we like, but I wanted to keep the prefix
short ('t' for translation taglib) and the actual translate tag short
('t' for translate), since they're gonna be everywhere.
Currently the idea for the handler for contextStart will look in the
users session for a locale name. If one is set, it will look for a
serialized HashMap in a file called ./i18n/<pageName>.<localeName>
If it finds the file, it deserializes it and save the HashMap into the
session with the key "i18n.transMap"
It will also clear another session property "i18n.transKeys" that is a
Vector of Strings. This will happen at the beginning of each page.
The t handler currently looks in "i18n.transMap" HashMap for a value to
the key of it's body, e.g. "My text to translate" would be the key. If
it finds a value, it replaces the body of the tag with this text.
This part is done and in CVS.
It will also add the initial body value to the Vector of Strings in the
session at "i18n.transKeys"
A 3rd call will be created, probably something like <t:contextEnd />
which will check to see if a 'translator' is logged in. If so, it will
add a new link to the bottom of the page: _Translation_Maintenence_
This link will take them to a translation page that will look for the
session Vector "i18n.transKeys", and also "i18n.transMap" (set from the
previous page), and display each key and any entry in the transMap that
matches those keys. It will probably also display any keys in the
transMap that are there that didn't have a transKey entry (this means
that we probably changed something in the page) so the translator can
salvage any translation they may have done if the change is very minor.
Obviously a new translation would have all the keys, and empty text
boxes for each one. Once the user submits this page it will save all
the values in a new HashMap (so we clear out stale entries) and
serialize it out to the appropriate i18n/<pageName>.<localeName> file.
I think this works similar to your method. Let me know what you think
and if you think we will run into any problems that you may have
encountered.
Anyone wishing to help me with the remaining work on the new taglib
would be appreciated, as well (jsword guys) :)
-Troy.
Joachim Ansorg wrote:
> Daniel, that's a very useful and good idea!
>
> For www.bibletime.info we have a online translation tool in place which offers
> the possibility to translate and edit the messages of the chosen language
> online.
> The data is stored in a aSQL database.
>
> In my opinion the online translation tool is very useful for people who don't
> have programming skills.
>
> Thank you for spending your time about this topic!
> Joachim
>
> On Montag, 24. Februar 2003 19:50, Daniel Glassey wrote:
>
>>well, with the debate raging about plans for the web interface and
>>the importance of non-English stuff () it seems like a good time to
>>bring up the idea of translating the sword website into (at minimum)
>>appropriate languages, imho these would do for starters:
>>
>>Important imho:
>>German
>>Chinese Traditional and Simplified
>>Thai
>>Russian
>>Arabic
>>Korean?
>>
>>Other potentially useful imho:
>>Czech
>>Danish
>>Spanish
>>Finnish
>>French
>>Italian
>>Dutch
>>Vietnamese
>>others that there are modules for
>>
>>after that in importance are other languages people would like to
>>translate to.
>>
>>On an English only website non-English modules won't be as useful as
>>they could possibly be.
>>
>>Just one wee problem. There is no procedure for translating the site
>>yet, or core/essential bits of it set aside for translating. _If_
>>there is going to be a change to the website this should definitely
>>be part of it (see www.bibletime.info for one way to do it ;) )
>>
>>Do other people think this would be useful and do you think people
>>would be willing to do the translation?
>>
>>Regards,
>>Daniel
>>_______________________________________________
>>sword-devel mailing list
>>sword-devel@crosswire.org
>>http://www.crosswire.org/mailman/listinfo/sword-devel
>
>