[sword-devel] language of module descriptions

DM Smith dmsmith555 at yahoo.com
Sun Mar 20 06:39:20 MST 2005

I don't think it is a good idea to hold all the translations in the 
conf. I think translations should be in separate files. I think that 
this will minimize corruption, aid maintenance of the files and speed 
loading of the confs.

I would like to suggest that we *consider* the *design* of Java's 
mechanism for Internationalization and Localization, called 
ResourceBundles. (The implementation details are not important)
Here is a simplification:
A resource bundle consists of (key,value) pairs in files of a predefined 
The name of the resource bundle is of the form name.ext, name_lang.ext 
or name_lang_locale.ext.
Name.ext is regarded as the default resource bundle. All others are 
Given a user's language and locale a key is looked up in the following 
    Look first for name_lang_locale.ext for the key's value.
    Failing that look in name_lang.ext for the key's value.
    Failing that look in name.ext for the key's value.
    Failing that report an error.
(In practice, a user's lang/locale determines the possible set of files 
and these are merged in core into a single representation)
I don't know if we need to go to the level of localization, but we 
should define the mechanism. Perhaps, Australian English and American 
English are different enough to warrant separate files. (In one job I 
did, this was the case!)

The practical implications of this is that a translation is only done on 
the keys that are needed. These are held in separate files. (We could 
also use directories rather than suffixes to hold the lang and locale 
info.) This means that the values that software needs to do its job are 
held in the default file. If software wants to use the other info it 
can, but it won't need to even look at it otherwise.

The nice thing about the proposal above, is that it does not require 
that one language (e.g. English) and locale (e.g. UK) be the default.

Since the majority of the translatable info is related to copyright, we 
may need to consider what language is used as the default. It may be 
possible that the publisher provides specific text and it differs from 
the vernacular of the text.

(By the way, it is no advantage to JSword if this mechanism is used. The 
conf's are significantly different from Java's property files that we 
will have to write our own lookup routines)

Daniel Glassey wrote:

> Hi,
> Being an English speaker it wasn't obvious, but all the works (also 
> known as modules) descriptions are in English. Surely the descriptions 
> should be in the language of the people who will use the works?
> Here's what I suggest. For any new modules or modules that are 
> changed, or modules that people want to change this for:
> make a new Description in the language of the module
> rename the old conf field to Description_en
> make sure both descriptions mean the same thing ;)
> This mechanism allows descriptions to be made in other languages if 
> people really want e.g. Description_de
> The Description_en is probably necessary as I guess not all frontends 
> would be able to handle unicode descriptions.
> It is not a priority to change old modules but I think it would be a 
> good policy for new modules.
> Another thing that would be useful is an About_en (at least from my 
> point of view trying to understand the copyright details of modules).
> Regards,
> Daniel
> _______________________________________________
> sword-devel mailing list
> sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel

More information about the sword-devel mailing list