28 messages in net.sourceforge.lists.courier-sqwebmail[sqwebmail] Spelling and other templa...
FromSent OnAttachments
oth...@freeshell.orgDec 21, 2004 1:57 pm 
Brian CandlerDec 28, 2004 3:11 am 
Sam VarshavchikDec 28, 2004 4:16 am 
Paul L. AllenDec 28, 2004 11:32 am 
oth...@freeshell.orgDec 28, 2004 7:45 pm 
oth...@freeshell.orgDec 28, 2004 8:45 pm 
oth...@freeshell.orgDec 28, 2004 9:02 pm 
Paul L. AllenDec 29, 2004 3:28 am 
oth...@freeshell.orgDec 29, 2004 11:39 am 
Paul L. AllenDec 29, 2004 1:18 pm 
oth...@freeshell.orgDec 29, 2004 2:34 pm 
Paul L. AllenDec 29, 2004 4:50 pm 
oth...@freeshell.orgDec 29, 2004 9:08 pm 
Brian CandlerDec 30, 2004 1:10 am 
Brian CandlerDec 30, 2004 2:29 am 
Paul L. AllenDec 30, 2004 9:56 am 
Paul L. AllenDec 30, 2004 12:15 pm 
oth...@freeshell.orgDec 30, 2004 2:39 pm 
oth...@freeshell.orgDec 30, 2004 3:14 pm 
Paul L. AllenDec 30, 2004 4:07 pm 
Brian CandlerDec 31, 2004 2:40 am 
Laurent WacrenierDec 31, 2004 3:00 am 
Paul L. AllenDec 31, 2004 3:41 am 
Brian CandlerDec 31, 2004 4:11 am 
Pawel TeczaDec 31, 2004 4:47 am 
Laurent WacrenierDec 31, 2004 5:22 am 
Brian CandlerJan 1, 2005 4:45 am 
Brian CandlerJan 1, 2005 5:17 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:[sqwebmail] Spelling and other templates (Was: stale processes and m17n)Actions...
From:Paul L. Allen (pl@softflare.com)
Date:Dec 29, 2004 1:18:25 pm
List:net.sourceforge.lists.courier-sqwebmail

Note that I've dropped sympa-translation from this reply.

oth@freeshell.org writes:

On Wed, Dec 29, 2004 at 11:28:43AM +0000, Paul L. Allen wrote:

[Figuring out which spelling checker is in use and which dictionaries are available]

That's why I suggest the determination be left up to the administrator, who can discern which dictionaries are installed and write a config file appropriately. Then it doesn't matter what the name of the dictionary is, because its location or language code is entered to a file with a title for that language. Ex:

Many administrators would need documentation on how to do that because delving through the spelling-checker docs on how to go about it would take a while. If you're going to document it you might as well script it.

I can see why you'd like this to be totally automated and built at build time by configure, Makefiles, patches, etc. However it does seem a bit more work than just allowing a human to do it.

One human at each of thousands of ISPs. It's a lot of duplicated effort. With many of them not knowing enough to figure out how to do it and end up asking here for idiot-level instructions. So eventually it will get scripted just to stop the bandwidth being wasted by people who can't figure out where their spelling checker keeps its dictionaries, because once you have idiot-level instructions you can script it.

I'm not familiar with how qmailadmin does its language templates, but I know the ones for Sympa seem to work well.

I'm not familiar with that. Maybe it's better suited to sqwebmail than the qmailadmin way of doing things.

http://www.sympa.org/howtotranslate.html

Seems that if one followed those instructions the templates would be built automagically?

That uses gettext. I've seen the difficulties gettext causes on another list, and that is in code where it is actually appropriate to use it. Those who are willing to translate to another language have difficulties figuring out how to drive the tools needed to create and merge in the translations.

From what little I read about it, gettext is used to replace print statements in a programming language. So instead of printf("%s\n", foo) you'd use a call to gettext that contains the format and the variable name and it looks up the translation.

If I understand it correctly, to use it in sqwebmail would STILL require template substitution. Instead of having <td>Login</td> the template would have <td>[#S509#]</td>, the code would spot the [#S509#] and translate that using an internal table that maps S590 to Login and then it would call gettext to translate Login. In essence you have to do everything that the qmailadmin system does and THEN call gettext on top.

Well, you could have the template contain [#Login#] to save the internal lookup. But that is going to cause problems if there are any homonyms in the templates that translate differently depending upon which meaning they have. Unlikely, because they will usually be words which are in phrases that are translated as a phrase rather than as individual words, but it's possible.

Another way would be to abandon templates and have all the html generated on the fly by the code. That would eliminate the template substitution step. But then you lose the ability to easily change the look and feel of the page - you have to hack code instead of html and most people who are good coders are not good at page design/layout (and vice versa).

I believe there's another disadvantage to the gettext method. Sometimes our users are so dim it is desirable to change the actual text to give them a clue what they're supposed to do or what something is for. With the qmailadmin method I change some words in a plain text file (or more than one if we use translations). I know how to drive a text editor, how to search for a particular word or phrase and how to replace it. I don't know how to drive the gettext tools and would have to spend time learning them (how much I don't know, but having seen the problems coders had with it on another list it's not a 5-minute job). So unless I'm missing something, using gettext would make it harder for anyone who wants to customize things.

I guess that would be up to Sam to decide...should we further analyze both methods...bring in more discussion from qmailadmin and sympa teams...?

I don't think there's any point in involving them. They made their decision about which method to use based on their own evaluations of the pluses and minuses of those approaches and Sam will do the same irrespective of the opinions of either of those teams (or anyone else) because only he knows how much effort would be involved in adapting the existing code and templates to use those approaches.

If anyone knows of any other approach, mentioning that would be useful - it might be an approach Sam wouldn't have thought of himself but fits in with existing code and templates better than the two we have so far. And even that may not be useful if Sam has already decided he wants to keep the existing system because of the effort involved in changing it.