[jsword-devel] I18N

Joe Walker jsword-devel@crosswire.org
Mon, 29 Dec 2003 23:09:12 +0000

Aleksander Rozman - Andy wrote:

> At 12/27/2003, you wrote:
> Hi Joe !
>> JSword used to use a method very similar to yours, and I found that 
>> the message file was constantly getting out of date with respect to 
>> the source.
>> There were 3 problems:
>> - editing properties files was a hassle
>> - unused messages would not be purged
>> - lazy developers (me!) would add an i18n key thinking "i'll add it to 
>> the message file later" and never do it.
> Reason why we have so many bad programs arround are sloppy 
> developers.... I mean java has so many solutions for one single problem, 
> that is sometimes very hard to see the light. If you are sloppy OK, we 
> will add Exception thrower into class that reads I18N Strings, so that 
> you won't be able to run program, while you don't fix properties file.

Doesn't help, and can make the problem worse. *Type safety* fixes the 
problem in the compiler and not the runtime. Your system doesn't prevent 
me from simply hard coding strings.
And are we going to expect every non English locale user to translate 
the entire message file before using JSword at all?

>> You can now navigate to the message with a single key press in any 
>> decent IDE (in eclipse I just press F3)
>> You can detect if the message is used without lengthy search 
>> procedures with your IDE (ctrl+shift+g in eclipse)
>> The english developer can ignore message files completely because the 
>> messages are in the source
> Only good thing about Msg/MsgBase shema is that is easy for sloppy 
> programers...

I don't think that is fair.
I accept that Msg will make things start more slowly, but it certainly 
does not pander to sloppy programmers.

If slow start due to Msg proves to be an issue then we can optimize 
later, but optimizing later is much easier than sorting out a mess of 
resource files later.