[sword-devel] Adding abbreviated names to the module conf file (was Re: isalnum(3) for i18n)

DM Smith dmsmith555 at yahoo.com
Wed Dec 17 07:22:00 MST 2008


I would like to lobby for a separator between the language code and  
the field name. I don't much care whether it is a prefix or suffix.  
While I understand that you are suggesting that we don't have a deAbbr  
or xxAbbr, I could see that it might be added some time in the future  
and with 3-letter codes and with differences in script (e.g.  
Traditional/Simplified Chinese), a separator makes it much easier to  
code for today.

I like that the default should be in the language of the module. I'm  
assuming as well in the encoding of the module (e.g. UTF-8 for UTF-8  

WRT the length of Abbr, I'd like to see it be much shorter than 16 or  
that 16 be the upper limit w/ a much smaller number being the  
recommended maximum, say 6?, with the knowledge that anything longer  
than 6 (or whatever is the recommended max) may be truncated by some  
frontends (e.g. MacSword and BibleDesktop have dropdowns for a  
parallel view which have a severe limit of 4. I imagine that small  
devices, such as phones and PDAs would also have a real estate problem.)

In Him,

On Dec 16, 2008, at 7:47 PM, Chris Little wrote:

> Jonathan Morgan wrote:
>> On Thu, Aug 14, 2008 at 4:50 AM, Ben Morgan <benpmorgan at gmail.com>  
>> wrote:
>>> I'd really like to see an abbreviations field - while a  
>>> description is
>>> useful, an abbreviation such as KJV, ESV, etc is invaluable when  
>>> there is
>>> not much room.
>>> Most bibles have such an abbreviation.
>>> I also agree that we should be targeting most of this at the end  
>>> users of
>>> each module - developers don't matter nearly as much :)
>>> So I think:
>>> Description should be in the foreign language (encoded as per  
>>> encoding
>>> directive)
>>> There should be a field Abbreviation for a short version (encoded  
>>> as per
>>> encoding directive)
>>> And the actual module name (presumably derived from the  
>>> abbreviation, but
>>> ascii) can be used by developers.
>>> Maybe a field like Description_en would be a good idea. Then if  
>>> you are
>>> using the english locale, you might see that in the frontend.
>>> That way you could also have a Description_fr for french  
>>> description,
>>> Description_de for german description, etc.
>> Just reviving this thread, I think at a minimum we need to add an
>> optional "Abbreviation" field to the module configuration to contain
>> an abbreviated form of the module name, to be used where frontends
>> currently use the module name (due to limited space).  For modules
>> which do not have it, this would fall back to the module name.  For
>> modules like ESV, ISBE, KJV, ... the module name is perfectly
>> acceptable, but for something like GerLut1545 a better abbreviation
>> would probably be Luther 1545 or similar (and this is a problem for
>> almost all foreign language modules, and I don't want them to be
>> essentially second class citizens).
>> I'm not going to argue at present about whether this should be
>> localised or not, but I suspect it would be better if it were, so  
>> long
>> as all frontends could display the localised text (e.g. AraSVD goes  
>> to
>> some brief Arabic name).
> Re-resurrecting this thread, since Peter is proposing something  
> quite similar.
> I'd like to propose 4 new .conf file entries, along with a couple  
> fallback orders. Presently module naming is identified in .confs via  
> three values:
> The internal module ID (what's in between the square brackets at the  
> head of a .conf) is highly constrained ([A-Za-z0-9_]+). The  
> Description contains the module title. And the About can contain a  
> bunch of info, or as little as the title (when that's all that's  
> available).
> In addition to these, I recommend adding enDescription, enAbout,  
> Abbr, and enAbbr.
> We traditionally include English and localized title/about data  
> within Description & About entries. The addition of enDescription  
> and enAbout would simply divide these, so enDescription will contain  
> the English title and Description will contain the localized title.  
> Likewise, enAbout will contain the English about text and About will  
> contain the localized version.
> Abbr will contain a localized abbreviated (short form) title  
> (possibly an abbreviation or initialism). And enAbbr, by analogy  
> will contain an English-form abbreviated title. Unlike the module  
> ID, the (en)Abbr won't have any restrictions with respect to  
> codepoints (except that LF & CR are prohibited, I suppose). I would  
> also like to recommend we put a soft limit on spacing codepoints  
> here. I think 16 spacing codepoints is /probably/ reasonable.  
> Limiting this will allow frontends to display this short form in  
> sidebars without taking up too much screen real estate. Keeping it a  
> soft limit lets module developers use longer abbreviated titles at  
> the risk of not having them display completely on all frontends.
> We should add a few methods to SWConfig for grabbing this data via  
> the fallback mechanism I'm about to describe, but the data will also  
> be there via the existing mechanisms for those who desire finer  
> grained control in their frontends. The methods should give access  
> to the preferred forms (as described in the fallback order below) as  
> well as concatenated entries (the localized plus English forms).
> Ideally you'll want to display the title from Description, but  
> enDescription would be there as a fallback. Likewise enAbout would  
> be the last resort if About is unavailable. And finally, abbreviated  
> forms should be taken from Abbr, or enAbbr if that's unavailable, or  
> the module ID as a final fallback.
> All data in the new entries should follow the existing encoding  
> standards for .confs: If the module Encoding=UTF-8, these entries  
> will be UTF-8. Otherwise, they must be cp1252. (Frankly, I don't see  
> any need to issue cp1252 modules at all. But I want to be explicit.)  
> All UTF-8 should be in NFC.
> We want new data to take advantage of improvements, but we don't  
> want to break existing, installed data. I think this achieves that.
> Sound good?
> --Chris
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page

More information about the sword-devel mailing list