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

Reply via email to