I'm using psuedo-xml tags to do the translation work with. So let's say you "edit the nice wooden desk's name". You'll see something like:
nice wooden desk
You want to turn this in to:
<lang code="en">nice wooden desk</lang><lang code="jbo">melbi mudri jubme</lang>
Feel free to translate into more than just English and Lojban, but there need to be language objects for any other languages you want to add, so mail Robin Powell if you're going to do that sort of thing.
-Robin
When you're in the shell around the moo, I have a perl script (~m-labinx/bin/untranslated) that gives a list of messages that still need to be translated. Additonally, when you're editing a description as admin, you'll be using vim (by default), and you can use the ":LA" command to insert some of the boilerplate on the current line.
-la binxo
When translating a name, leave the article out, as Robin indicated above. When translating messages, always remember to include .i at the start of the sentence, and if your x1 uses a variable, use cu just to be safe. (ie ".i $this cu broda" instead of ".i $this broda", since $this might be replaced with "le dakfu" or something, and without a cu, you have no selbri in this case.)
- Ted
(Copied from IRC)
<rlpowell> Yeah, code changes don't belove in /var. <rlpowell> So the way it works is that the live moo runs out of /var/lib/mooix, and the distributed code is all in /usr/lib/mooix <rlpowell> Every object in /var has a parent in /usr, and every parent in /usr has a parent in /var. <rlpowell> Erm, every *system* object, rather. <rlpowell> So your avatar's parent is in /var, and its parent is in /usr, and its parent is in /var, and so on until you get to /usr/lib/mooix/concrete/thing, where it stops. <rlpowell> The *reason* is that it allows one to update the the code in /usr as much as you want *without* fucknig with local changes but still having the changes take effect. <Eimi> So changes in /usr/ take effect, unless we've already overridden it in /var/ <Eimi> we do our local translations in /var, /usr gets the code changes and new messages that will eventually get folded back into the distribution <rlpowell> Right. <rlpowell> /usr is *completely* destroyed every time I compile. <rlpowell> So never ever ever change things in /usr. <rlpowell> Test your code changes in /var and then e-mail me with what you changed so I can roll it into the tree.
You'll need to be an admin for this.
The example is mooix:concrete/thing put.cmd
# "put down object / put object down" verb, do_preposition(down), direct_object(this)(touchable)(tomove) : put_in # "put object in object" verb, direct_object(touchable)(tomove), io_preposition(set@in_prepositions), indirect_object(this)(touchable)(open) : put_in # "put object on object" verb, direct_object(touchable)(tomove), io_preposition(set@on_prepositions), indirect_object(this)(touchable) : put_on # "put object under object" verb, direct_object(touchable)(tomove), io_preposition(set@under_prepositions), indirect_object(this)(touchable) : put_under # "put object behind object" verb, direct_object(touchable)(tomove), io_preposition(set@behind_prepositions), indirect_object(this)(touchable) : put_under
The first one can simply be dropped.
The rest become:
## "prepositional" forms # "punji le bolci le nenri be le jubme" brivla, direct_object=object2(touchable)(tomove), io_preposition=preposition3(set@in_prepositions), indirect_object=object3(this)(touchable)(open) : put_in # "punji le bolci le cpana be le jubme" brivla, direct_object=object2(touchable)(tomove), io_preposition=preposition3(set@on_prepositions), indirect_object=object3(this)(touchable) : put_on # "punji le bolci le cnita be le jubme" brivla, direct_object=object2(touchable)(tomove), io_preposition=preposition3(set@under_prepositions), indirect_object=object3(this)(touchable) : put_under # "punji le bolci le trixe be le jubme" brivla, direct_object=object2(touchable)(tomove), io_preposition=preposition3(set@behind_prepositions), indirect_object=object3(this)(touchable) : put_behind
In addition, Lojban has the non-prepositional use of "punji", like so:
## Regular bridi forms # "punji le bolci le jubmi" brivla, direct_object=object2(touchable)(tomove), indirect_object=object3(this)(touchable) : put_on
Special case: things attached to an object with po/pe/etc are numbered the same as the object, so {galfi "name" po le lojbo cipra pilno} ends up with an object1 and a non_lojban_quote1.
To use the test parser, use "set my parser to mooix:/var/lib/mooix/mixin/test_parser". You must log out and back in for any parser changes to take effect. If "quit" stops working, use ctrl-d.
Note that the test parser should now be the default.
Please note that in the new parser, your language setting is used for both input and output.
Having done so, to change your language from English to Lobjan:
To change your language from Lojban to English:
It seems to me that there should be a place to record what a Lojban parser should be able to do, particularily as compared to what the English parser can already do.
So, please record such observations at the Lojban MOO Multilingual Parser Theoretical Capabilities page.