Character set difficulties are still a real problem, but so is dynamic text. Damian Conway's paper
"An Algorithmic Approach to English Pluralization" http://www.csse.monash.edu.au/~damian/papers/HTML/Plurals.html
contains some fairly complicated tools for generating dynamically- pluralized English. Now generalize that tool set for multiple languages and/or more complex variations. Right.
In my current work, I am generating user-specific explanations for the permission and ownership information in (roughly) an "ls -al" listing. That is, the user gets three paragraphs, saying (a) what the effect of these permissions is on the user, (b) how this was derived, and (c) what the item's permissions are, as a whole. For example:
permission bits mode owner group type name --------------- ---- ----- ----- ---- ---------------- rwx rwx r-xt 1775 root wheel directory Users
/Users ------
You have read, write, and execute (rwx) permissions for this directory. This allows you to inspect, change (e.g., add to), and access its contents. Because the sticky bit (t) is set, you may not remove other users' files.
The user id for this node does not match your effective user id, but the group id matches one of your effective group ids. Consequently, your access is controlled by the node's "group" permissions (rwx, as shown in the second field of the "permission bits" column).
The node's owner (root) has read, write, and execute permissions (rwx). Members of group "wheel" have read, write, and execute permissions (rwx). Other users have read and execute permissions (r-x). The sticky bit (t in the third field) is set; files in this directory may only be removed or renamed by a user if the user has write permission for the directory and the user is the owner of the file, the owner of the directory, or the super-user. See sticky(8) for more information.
As I was writing generation code for the text above, the prospect of modifying the code for multiple languages crossed my mind. I quickly decided, however, that this was unlikely to be my problem. Even if I weren't firmly monolingual, the process of generalizing this code is going to be quite language-specific (and doing it automagically is AI-complete :-).
-r -- email: [EMAIL PROTECTED]; phone: +1 650-873-7841 http://www.cfcl.com/rdm - my home page, resume, etc. http://www.cfcl.com/Meta - The FreeBSD Browser, Meta Project, etc. http://www.ptf.com/dossier - Prime Time Freeware's DOSSIER series http://www.ptf.com/tdc - Prime Time Freeware's Darwin Collection