[sword-devel] Localized module Name and Description?

Chris Little chrislit at crosswire.org
Fri Dec 6 21:12:50 MST 2013


On 12/6/2013 1:56 AM, Костя Маслюк wrote:
> Ok, i didn't seen that.
> I only see that it confusing for now, event in one repository there is
> different solutions, Description is that in english that in module language.
> I see that english fields for non-english modules are helpful for
> developers and module maintainers and useless for end users.

No, there is one system in use and it provides fallbacks for backward 
compatibility.

The basic (un-localized) version of each field is the fallback form, 
which will work with every Sword front-end ever produced, going back to 
the 1990s. (If you dug up & built Cheetah, there would be some Unicode 
display issues, but the basic version of these fields would be the 
version it would pick.)

By default, every front-end should (and, without requiring any changes, 
would) select the basic version for display in all instances.

Ideally, front-ends should inspect the user's locale setting and use 
that to select a better, localized string whenever it is available. So, 
if a user's locale is set to en_US and the front-end needs to display 
the About text, then the front-end should first look for About_en_US, 
then About_en, then About, and display whichever one it finds first.


> We can discuss here the list of fields that could be localized: History,
> About, Description. Localized module name, it looks good idea to me. but
> it should be in suffixed entry.

There is really nothing to discuss. From the first line of the Wiki section:
"Those .conf fields that are essentially text intended for presentation 
to the end-user may be localized by appending _locale to the field name, 
where locale is replaced by an appropriate locale code, according to BCP 
47."

Text fields may be localized. Non-text fields may not.

About, Abbreviation, Description, Copyright fields, History_x.x, etc. 
can be localized. (A localized module name would be a localized 
Abbreviation field.)

Anything with a controlled vocabulary, such as Version, Lang, 
SwordVersionDate, Feature, Direction, SourceType, Versification, 
BlockType, ModDrv, GlobalOptionFilter, or DataPath, cannot be localized.

--Chris



More information about the sword-devel mailing list