The Lojban MOO
Outstanding Bugs
- in both English and Lojban, "and"/".e" is used for the "The parser believes that you need to supply the following parts of speech:" list. Should be "and/or" and ".a"
- tty sessions do dexml on the very first bit said, socket connections do not. (pretty dumb either way; no point in multilingualizing the banner before the user has logged in!)
- the second \n in any .msg file for guest users seems to get turned into \N. I haven't the slightest idea why.
- "editor" po mi cu binxo "vim" doesn't work, but \"editor" po mi cu binxo "vim" does; this is even worse since "foo doesn't cause "foo" to be spoken...
- Just in case that wasn't clear: "... should do speech for Lojban speakers too, just because It's Easier.
- Search the code for "adjectives"; various bits set adjectives like "broken" that we need to do something about.
- We don't handle numbers at all, as in for example set.cmd: verb(this), direct_object(nearby|reference), number, field, quote; used for things like "set bob's second alias to "foo"".
- {cusku lu .i mi na djuno li'u} produces ".i do cu cusku lu i mi na djuno li'u" (note the missing .)
- Trying to delete a mip while there are multiple present produced ".i do cuxna ma lu'i le mip poi do bevri ku'o .e le mip poi nenri le skami xanri bo munje krasi ku'o". It appears that the correct way to choose the former is "le mip poi nenri mi". This is far from intuitive, since 1) it's not actually {nenri} me (complete containment), and 2) it's not actually one of the choices presented.
- SE doesn't appear to work anymore. Test case: "lu cipra li'u cu se cusku"
Fixed Bugs
- selbau la gliban "portfolio" — presents a new prompt. Again.
- No grammar setup for languages; should be {bangu fa la gliban} and not {bangu fa "gliban"}
- The help system currently shows *only* the help for one's language if a non-zero amount of same exists. Need "helpall" that shows all language's help strings.
- Regular users (children of mooix:abstract/avatar) can't use the language change commands.
- {bangu la gliban} caused an infinite loop for clsn
- cpacu le blanu bolci poi cpana le mudri jubme — doesn't work; need a cpacu.cmd.jbo for furniture — actually, that wasn't it at all; "poi cpana" was missing out of "on relatives".
- viska le cpana be le mudri jubme — doesn't work; need a viska.cmd.jbo for furniture
- Entering the command "cusku lu cipra" produces (Guessing that you meant to type: cusku "lu cipra" ...). It should be able to guess that I actually mean to type "cusku lu cipra li'u"
- When an object has a name only in one language (<lang code="jbo">xunre bolci</lang>, for instance), it can't be refered to in other languages except by id. Note that if it's only in English (and therefore is saved without the <lang> tags), this problem doesn't exist.
Design discussion
What follows is something of a dumping ground for thoughts. It'll probably be incomplete, and if you don't understand it, don't worry.
We're looking at completely redoing the way the multilingualism is done in
Mooix. Specifically, instead of having xml files that each contain all
languages, we're going to have separate files for translations into each
language. So that instead of having one name, you'd have name.en, name.jbo,
name.es, or whatever else.
One advantage is that it would be faster than splitting the xml. Another
advantage comes from the fact that language packs could be made much more
easily (so you could download an entire language and add it to your MOO,
without it breaking anything that currently exists). It also makes it much
clearer which fields are subject to translation (so you won't be like me,
with an editor of "<lang code='en'>vim</lang><lang code='jbo'>vim</lang>".
So far the chief difficulty seems to be with inheritance.
In the following, we have two users, John (who language is Lojban, "jbo"),
and Ed (whose language is English, "en"). Ed creates a Meep, and gives it a
description in English. Finally, John derives his own mipri from Ed's Meep,,
but doesn't change anything in it. So we've got:
/usr/lib/mooix/contrib/animal/description.en: An animal.
/var/lib/mooix/contrib/animal/description.jbo: .i danlu
/var/lib/mooix/users/ed/portfolio/Meep/description.en: A meep!
It seems desirable that both John and Ed see the Meep described as "A meep!"
(even though for John that's not his own language), instead of John seeing
".i danlu" (which just means "It's an animal").
What inheritance strategy provides this?