[sword-devel] isalnum(3) for i18n

Chris Little chrislit at crosswire.org
Mon Aug 11 21:42:07 MST 2008

Is isalnum actually used anywhere in Sword for this check? I think it  
should instead be iscsym, since underscore is also permitted in the  
module ID.

On Aug 11, 2008, at 8:35 PM, Ben Morgan wrote:

> Hi Karl,
> Currently such module names are not "allowed".
> Quoting from the wiki:
> Each conf file begins with [name], replacing "name" with be a short  
> well known abbreviation. This must be on the first line, and start  
> the first line. It can only contain A-Z, a-z and 0-9.
> The name of the file should be the lowercase of this name followed  
> by .conf. For example, [MyModule] would be mymodule.conf.

The wiki was a little off, so I've made the correction regarding  
underscore. If other characters are valid, I can't think of them, but  
we should add them to the wiki. Hyphen, space, period, and non-ASCII  
letters aren't valid, though.

> I think foreign languages are hard done by with the module names for  
> two reasons:
> 1. They can't be non-english
> 2. They seem to start with a prefix based on the language (e.g.  
> FreBBB, GerAlbrecht, BurJudson).
> I don't think these prefixes help anything, and they just waste  
> available screen space.
> Maybe we should prefix every english module with Eng :-) (e.g.  
> EngKJV, EngABS_Essay_GoodSam_SWB)

The rule for Bibles and Commentaries at least, is that texts in  
original languages and English get no language prefix. Texts in other  
languages get prefixes consisting of the first three letters of the  
language, as it is spelled in English.

There are old exceptions to this rule. For example, the Russian  
Synodal Translation is RST--but it will likely be changed to  
RusSynodal when we do the update. There is also a new exception to  
this rule found in the WBTI modules, which still use a language  
prefix, but use the ISO language code instead of the English name.

As to the utility of this language prefix, please bear in mind two  
1) There was a time before we added the lang tag to .confs, when the  
prefix helped enormously.
2) The module name is intended for use by developers, not necessarily  
for display to users. That's why the constraint is iscsym--to  
facilitate use within code. If you want to suggest the addition of a  
short abbreviation .conf tag, that's a different matter.


More information about the sword-devel mailing list