[jsword-devel] BD translations
DM Smith
dmsmith555 at yahoo.com
Mon Apr 28 08:56:39 MST 2008
Peter,
I think these are worthy ideas, but they will take a bit of work to
make it happen.
Peter von Kaehne wrote:
> Looking at the source code of Al-Kitab and while thinking about
> translating it, I suddenly started to wonder again re BD + whether we
> went wrong with including application language choice.
>
The language choice is only pertinent for users in one Locale to bring
up the program in another Locale. People in Iran, who run BD should have
it automatically come up in Farsi. Likewise, people in Germany should
have it come up in German. For Chinese, this gives one the ability to
choose between two different scripts. But, Iranians in Scotland might
have the program start in English and then need to switch.
I think it is useful for developers and needs to at least be a hidden or
advanced option.
> I think few if any people will want to mess around with the various
> application language options, most will simply want to run a programme
> in the language they are used to.
I agree. But this is only an issue where auto-detection of a user's
locale doesn't match the user's expectation.
> Also most churches etc who might want
> to distribute BD will want to do so in the language they use instead of
> telling their recipients to start an English programme, switch it to
> e.g. Chinese and then restart it.
> Particularly if we keep adding translations this might also add to
> considerable bulk.
>
> So, what do you think about the following two options: -
>
> 1) wholesale removal of the whole language choice code, but adjustment
> of the build scripts so that one can produce a - potentially much
> leaner? - BD executable in any chosen language at build time.
>
I don't have much problem with multiple builds. But we are running low
on space on the CrossWire server. So, I don't see doing it for the
nightly build.
> 2) or distribution of the English executable with loadable translation
> modules as separate items for distribution.
>
English will always be the fall-back for all translations. That is, if a
translation of a particular string is missing, then English will be
provided.
This option is lighter in it's space requirements than the first and
could be part of a nightly build. Potentially, this would require no
more space that what we currently take.
With either of these options, it would also be good to have
desktop.properties and a few property files initialized with language
appropriate choices, e.g. font specification.
> (1) particularly could result also in speed improvements - choice of a
> RtoL language at build time could result also in RtoL oriented code
> rather than in code offering both options and requiring again and again
> decisions.
I don't think that there would be much of a performance improvement, as
I didn't see much of a hit to displaying non-Farsi when I added the
"expensive" number shaping code. Most of that shaping in done on verse
numbers and references in the XSL transformation of the OSIS into HTML.
A third option (which doesn't work for Mac, because a Mac is required to
build a dmg) is to dynamically merge the application and the chosen
language resources when the user downloads the program. I think we can
auto-detect the user's locale as the default choice. (Likewise, we could
automatically detect their OS and default to the appropriate download.)
Later, we plan to re-engineer the program to use RCP/SWT/JFace and we
will get "language pack" support for cheap. (They have it and we won't
have to invent it).
In Him,
DM
More information about the jsword-devel
mailing list