smujajgau(1L)

πŸ“¦ version 0.43, in nixos 26.05, nixpkgs unstable

πŸ’– NAME

smujajgau β€” bestie, it's a dictionary builder, and it's for using with jbofihe and cmafihe. That's the whole gig. πŸ’…


✨ SYNOPSIS

smujajgau [-v]
smujajgau dictionary-name [ file1 file2 ...  filen ]

πŸ¦‹ DESCRIPTION

Okay so picture this: smujajgau reads a whole pile of English definitions for Lojban words and formats them into a presorted dictionary that jbofihe and cmafihe can actually use. And it's arranged for rapid access, so no cap, it's fast. ⚑


πŸŽ€ OPTIONS

  • -v β€” shows you the program version and then dips, like it's done here. πŸ‘‹
  • dictionary-name β€” the name of the formatted dictionary that's getting generated / modified. And here's the cute part: if that file already exists, the definitions from the other file(s) get added to it, replacing existing entries wherever they clash. Merge era. 🫢
  • file1 .. filen β€” the source files you're adding. Lines starting with # are comments and get tossed in the bin. πŸ—‘οΈ Every other line has to be one of these forms:
lojban:english
lojban:english:comment

🌸 SEE ALSO

  • jbofihe β€” the Lojban grammar checker, and it also hands you English translations of the individual words. 🧚
  • cmafihe β€” gives you English translations of the Lojban words in the input without checking the grammar. Literally so useful for getting a rough translation of grammatically invalid text. 😭

πŸ“ FILES

  • /usr/local/lib/jbofihe/smujmaji.dat β€” this is the default location where jbofihe and cmafihe expect to find the dictionary. So it should therefore be the default first argument to smujajgau β€” unless the software was installed to an alternative location, iykyk. πŸ“

πŸ‘‘ SPECIAL TRANSLATION FORMATS

So dictionary entries for brivla (gismu & lujvo) are expected to provide entries for each place of the word. The English translation should indicate the type of the word and the translation. The types are, in order:

  • A β€” Act β€” Noun: X-er(s), Verb: X-ing, Qualifier: X-ing, Tag: X-er(s)
  • D β€” Discrete β€” Noun: X(s), Verb: being X, Qualifier: X, Tag: X
  • S β€” Substance β€” Noun: X, Verb: being X, Qualifier: X, Tag: X
  • P β€” Property β€” Noun: X thing(s), Verb: being X, Qualifier: X, Tag: X thing(s)
  • R β€” Rev. prop β€” Noun: thing(s) X, Verb: being X, Qualifier: X, Tag: things(s) X
  • I β€” Idiomatic β€” Noun: thing(s) X-ing, Verb: X-ing, Qualifier: X-ing, Tag: thing(s) X-ing
  • E β€” Event β€” Noun: X(s), Verb: being X, Qualifier: X, Tag: X

And on top of that, the gloss for a translation X is shown depending on the context where it'll arise in the translation. These defaults may be overridden β€” you have the power. πŸ’…

🧚 Specifying the entries

To specify the dictionary entries, the lojban should take the form 'brivlaN', where brivla is the word and N is the place number. One of the following may be suffixed to provide an override of the defaults in the table: n v a or t (for noun, verb, adjective, tag respectively).

As an example, 'nanmu' might have entries:

nanmu1:D;man
nanmu1n:D;man/men

whereas 'nandu' might have the definition:

nandu1:P;difficulty
nandu2:I;have* difficulty
nandu3:S;conditions for difficulty
nandu3t:under conditions

A '*' is used in the places where the affixed -s, -er and -ing should be applied (instead of putting them at the end of the English translation, which is the default). πŸ“Œ

The 'places.dat' file included in the distribution shows many examples.

πŸ’œ The n suffix situation

Where a translation with an 'n' suffix exists, this is used in place of some other default forms in the table. For example, this allows special plural forms to be used in other places (e.g. tags). Obsessed with the flexibility honestly. ✨

🌈 Pattern translations

The dictionary also supports some 'pattern' translations. This allows defaults to be automatically generated for forms ending in '-gau', defined in terms of the prefix.

The 'Lojban' form for such patterns should be defined in the dictionary as '*Mprefix+N' or '*M+suffixN' for prefix forms (e.g. nu+) and suffix forms (e.g. +zmadu) respectively. M is the 'precedence' (5 highest, 0 lowest), defining the order in which prefix v suffix matches will be attempted. N is the place number as usual. The letters n, v, a or t may be suffixed to define a particular form if required, as for normal definitions.

The 'English' form is either a standard definition or a place redirection. In standard definitions, the symbol % is used to mean the translation of the rest of the lujvo form. Place redirections take the form @N, and mean that the lojban pattern form should be translated as place N of the rest of the lujvo.

An example makes this clearer β€” zmadu:

*2+zmadu1:R;more %1q
*2+zmadu2:R;less %1q
*2+zmadu2t:than
*2+zmadu3:@2
*2+zmadu4:@3
*2+zmadu5:@4
*2+zmadu6:@5

The components are defined in terms of the full gismu forms, rather than rafsi (hence zmadu rather than mau). This is necessary because the form of a rafsi can change when components are added to or subtracted from a lujvo form. πŸ’€

🫢 The - English form

When the 'English' form is given as -, it indicates that the next components inwards should be concatenated to form a new 'Lojban' form for lookup. This facility is only used for one thing so far β€” to handle the rafsi 'zil' followed by the rafsi for a cmavo of selma'o PA to puncture a place from the following form. An example (to delete the 1st place of a word, e.g. zilpavykla):

*4zi'o+1:-
*4zi'o+2:-
*4zi'o+3:-
*4zi'o+4:-
*4zi'o+5:-
*4zi'o+pa+1:@2
*4zi'o+pa+2:@3
*4zi'o+pa+3:@4
*4zi'o+pa+4:@5
*4zi'o+pa+5:@6

The pattern forms are all defined in a file 'patterns' in the distribution.

πŸŽ€ cmavo stuff

For cmavo, there are special forms used for certain selma'o, particular tenses. These allow dependence on the context in which the cmavo is used. Logical connectives are also defined in a special way. The file 'extradict' in the distribution provides examples.

(More documentation is required!) 😭

πŸ’€ BUGS

ju'oru'e so'imei (Surely there are many). Not gonna lie, they said it, not me. πŸ™ˆ


⭐ REFERENCES


πŸ‘‘ AUTHOR

Richard Curnow <rc@rc0.org.uk>


and that's the whole page, bestie β€” brought to you by the smujajgau(1L) crew, April 2000, section 1L. slay. πŸ’–βœ¨

πŸ“¦ where this page comes from