More elegant way of doing this lexicon?

239 views
Skip to first unread message

Silvercat

unread,
Aug 8, 2017, 4:32:01 PM8/8/17
to TiddlyWiki
I'm switching my constructed language lexicon to TW5 and I expect there's a more elegant way of doing the english index. The TWC version is here - http://www.silversspace.com/conlang/nyji/nyji-lexicon.html#EnglishIndex 

What I was doing was making a tiddler for each English word and tagging it English then using the old Embed plug-in to throw them all in one tiddler. Since language is messy, it's not a one-to-one correlation in either direction for a lot of the words.

Any ideas of an easier and better way of doing it? My current method effectively doubles the number of tiddlers needed and since I have over 300 words, it's kinda a pain.

Thanks

Mat

unread,
Aug 8, 2017, 5:52:38 PM8/8/17
to TiddlyWiki
Silvercat wrote:

Any ideas of an easier and better way of doing it? My current method effectively doubles the number of tiddlers needed and since I have over 300 words, it's kinda a pain.

Not really clear what "doing it" means, or exactly what you mean with "double" (maybe two tiddlers per word?) - but did you know that you can import a TW classic into a TW5 so you probably don't have to re-create your actual word tiddlers?

<:-)

Lydean Works

unread,
Aug 8, 2017, 6:03:34 PM8/8/17
to TiddlyWiki

Yes, I did that. I'm working on fixing all the old formatting. There's double because there's the lexicon entry itself then the english index entry. To use Spanish as an example instead of my weirdo language, there'd be the lexicon entries for 'ser' and 'estar' with their definitions, notes, and example sentences and the english index of 'to be'.


--
You received this message because you are subscribed to a topic in the Google Groups "TiddlyWiki" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywiki/IQvtn9UKeIk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tiddlywiki+...@googlegroups.com.
To post to this group, send email to tiddl...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/7a75daf0-50d4-4b95-822e-c04dc651c9a0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Mark S.

unread,
Aug 8, 2017, 6:35:05 PM8/8/17
to TiddlyWiki
I would say that for maximum flexibility, instead of fixing the formatting, put the various bits of information into fields. Then use template tiddlers to display the field information as needed. If the information is stored as fields, then you can do things like list English - word - phonetic or put your comparable words in a list field and then for each english word you could also list each (??) word followed by its notes.

Play with it a bit, of course, before committing to any one approach.

Good luck!
Mark

Silvercat

unread,
Aug 8, 2017, 8:51:54 PM8/8/17
to TiddlyWiki
I'm not worried about maximum flexibility as there are just too many parts in an entry. The standard noun has the word, between one and ten meanings; any irregularity; an abbreviated form for deriving words; notes; the spelling, stress, IPA, and phonetic of the singular, plural, and paucal; and at least one translated sentence. Verbs, adjectives, and affixes are simpler. Stamps are making my life much easier.

Still not sure how to do the English index. Some examples: 'chanyki' has three meanings that would be listed separately (color, skin, and surface), while 'chuBi, liBi, syBi,' and 'mymsy' would all be listed under 'here'. I've given 'chanyki' three fields: english1, english2, and english3... I'm sure there's a way to pull those three fields from each word entry and match them up with their title on the EnglishIndex tiddler, I just don't know how.

Can y'all tell I'm not a programming person? :p

Mark S.

unread,
Aug 8, 2017, 11:21:17 PM8/8/17
to TiddlyWiki
Do you want to have 3 english fields, or would you prefer a single list field with as many words as relate (e.g. [[Wordy 1]] [[Wordy 2]] [[Wordy 3]]) ??

You mention EnglishIndex tiddler. Does that mean that you have a data dictionary with english definitions, or were you referring to a group of tiddlers each with their respective English definitions? A data dictionary would let you make a simple word -> definition glossary.


Mark

Lydean Works

unread,
Aug 8, 2017, 11:24:07 PM8/8/17
to TiddlyWiki

I don't have anything right now for the TW5 version. Is there a 101 for doing a data dictionary?


RichardWilliamSmith

unread,
Aug 8, 2017, 11:38:10 PM8/8/17
to TiddlyWiki
A data dictionary is only going to give you 1:1 mappings. I think Mark's on the right track - each tiddler has as many fields as it needs and each field can contain a list if it needs to. You can write an interface for entering/editing the information and you can transclude it into the view however you like. Do you have the original data in some other form? A spreadsheet for example? There should be a way to automate the creation of the tiddlers if you do.

Regards,
Richard

Lydean Works

unread,
Aug 8, 2017, 11:42:20 PM8/8/17
to TiddlyWiki

Not any more, but I have as much time as I need to work on it. If I can get the concept working...


--
You received this message because you are subscribed to a topic in the Google Groups "TiddlyWiki" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywiki/IQvtn9UKeIk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tiddlywiki+...@googlegroups.com.
To post to this group, send email to tiddl...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.

Silvercat

unread,
Aug 10, 2017, 8:30:32 PM8/10/17
to TiddlyWiki
So any pointers toward telling tw5 to take the 'english' fields from all the tiddlers tagged 'lexeme', match them with the tiddler title fields, alphabetize them by the 'english' fields, and then throw them all in one tiddler? Cuz I'm clueless, sorry. I'm focusing on the 10 or 11 completely complete lexicon entries to get thing working.

Thanks


On Tuesday, August 8, 2017 at 8:42:20 PM UTC-7, Silvercat wrote:

Not any more, but I have as much time as I need to work on it. If I can get the concept working...


On Tue, Aug 8, 2017, 8:38 PM RichardWilliamSmith <richardwi...@gmail.com> wrote:
A data dictionary is only going to give you 1:1 mappings. I think Mark's on the right track - each tiddler has as many fields as it needs and each field can contain a list if it needs to. You can write an interface for entering/editing the information and you can transclude it into the view however you like. Do you have the original data in some other form? A spreadsheet for example? There should be a way to automate the creation of the tiddlers if you do.

Regards,
Richard

--
You received this message because you are subscribed to a topic in the Google Groups "TiddlyWiki" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywiki/IQvtn9UKeIk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tiddlywiki+unsubscribe@googlegroups.com.

Mark S.

unread,
Aug 11, 2017, 12:51:33 AM8/11/17
to TiddlyWiki
Something like:

<$list filter="[tag[lexeme]each[english]get[english]sort[]"/>

Should make your basic english list. With a variety of techniques, you can make the list look more like something you want.

If you can make a tiddler that automatically culls and presents the items, do you really need to throw them into a tiddler? It's usually better to leverage the power of automation.

It helps if you post your burgeoning lexicon some place, so everyone can see what your data is shaping up as.

Good luck,
Mark








On Thursday, August 10, 2017 at 5:30:32 PM UTC-7, Silvercat wrote:
So any pointers toward telling tw5 to take the 'english' fields from all the tiddlers tagged 'lexeme', match them with the tiddler title fields, alphabetize them by the 'english' fields, and then throw them all in one tiddler? Cuz I'm clueless, sorry. I'm focusing on the 10 or 11 completely complete lexicon entries to get thing working.

Thanks

On Tuesday, August 8, 2017 at 8:42:20 PM UTC-7, Silvercat wrote:

Not any more, but I have as much time as I need to work on it. If I can get the concept working...


On Tue, Aug 8, 2017, 8:38 PM RichardWilliamSmith <richardwi...@gmail.com> wrote:
A data dictionary is only going to give you 1:1 mappings. I think Mark's on the right track - each tiddler has as many fields as it needs and each field can contain a list if it needs to. You can write an interface for entering/editing the information and you can transclude it into the view however you like. Do you have the original data in some other form? A spreadsheet for example? There should be a way to automate the creation of the tiddlers if you do.

Regards,
Richard

--
You received this message because you are subscribed to a topic in the Google Groups "TiddlyWiki" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywiki/IQvtn9UKeIk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tiddlywiki+...@googlegroups.com.

Silvercat

unread,
Aug 11, 2017, 1:32:43 PM8/11/17
to TiddlyWiki

The pertinent tiddler is EnglishIndex and I'm trying to make it more or less look like the old one at http://www.silversspace.com/conlang/nyji/nyji-lexicon.html#EnglishIndex with the English meaning matching up to the linked conlang words.

Is there a breathe-in, breathe-out manual to filters (aka, the first step is breathe in...)? Because the one on tiddlywiki.com goes right over my head

Mark S.

unread,
Aug 11, 2017, 3:15:51 PM8/11/17
to TiddlyWiki
Ok, to make the following work, I made some changes to your en-Cat entry. It looks like:

caption: Cat
changecount
: 5
tags
: english Mammal
taijin
: [[chun]] [[kaŋi]]
title
: en-cat
type
: text/vnd.tiddlywiki

;Cat: {{nya{[[chun]]}}}




So I added a caption field (Cat), and a taijin (I don't know what word you want to use so I guessed) with equivalent words (yes, I know kaŋi isn't equivalent, but I needed to demonstrate more than one word). And I changed the title to en-cat rather than en-Cat. The reason the title needed to change was so that it would match the word in your english field list. TW let's us add the en- prefix easily enough, but not change capitalization. 

After these changes, you can run this code:


\define wordlist(words) <$list filter="$words$"><$link><$view field=title/></$link>, </$list>
<$list filter="[tag[Translation]each[english]get[english]addprefix[en-]sort[]]">
<div><b>{{!!caption}}</
b>: <$macrocall $name=wordlist words={{!!taijin}}/>
</div>
</
$list>



Which will generate a very short lexicon:

Cat: chun, kaŋi,
:



As you can see, the second definition (for the entry 'wrong') doesn't show up, because there is no en-wrong matching tiddler.

So there's some decisions that need to be made about how you want to encode entries. The way I did it in this example isn't the only possibly way.

About filters, did you look at the tiddler "Introduction to filter notation" at Tiddlywiki.com ? I'm sure it's simpler than Ŋyjichɯn

Good luck!
Mark



Silvercat

unread,
Aug 14, 2017, 2:17:47 PM8/14/17
to TiddlyWiki
Thanks! That helps a lot.

> About filters, did you look at the tiddler "Introduction to filter notation" at Tiddlywiki.com ? I'm sure it's simpler than Ŋyjichɯn

You overestimate my conlanging skills. :D

Silvercat

unread,
Aug 14, 2017, 9:08:41 PM8/14/17
to TiddlyWiki
Any idea why film and evil aren't showing up in EnglishIndex? https://drive.google.com/open?id=0B2AstAs9QlRjSnhvU1ktWGF0c28 

I'm sure it's user error, but I can't see any difference between those two and the three (cat, here, and wrong) that are showing up.


On Monday, August 14, 2017 at 11:17:47 AM UTC-7, Silvercat wrote:

Mark S.

unread,
Aug 14, 2017, 11:40:34 PM8/14/17
to TiddlyWiki
The problem is that the those items in the nyji language don't have 'english' fields -- they have english1 and english2 fields. You can fix this in the short term by extending the filter:

[tag[Lexeme]each[english]get[english]]  [tag[Lexeme]each[english1]get[english1]]  [tag[Lexeme]each[english2]get[english2]]  +[addprefix[en-]sort[]]

The complication is ... is there an upper limit to the english[n] fields?

Is there a data-based reason that you couldn't put all the words in a single english list field (e.g. [[film]] [[dust]] ... etc.)  ?

When you use the filter above, "film" will still not appear because neither of the words you have for film (chachykmaŋnyki chiwkiŋam) have english, english1, or english2 fields containing the word "film".

Good luck!
Mark

Lydean Works

unread,
Aug 14, 2017, 11:43:51 PM8/14/17
to TiddlyWiki

Ah, I see. I was getting confused cuz I have too many things called english! (tags, fields...)

Thanks!


--
You received this message because you are subscribed to a topic in the Google Groups "TiddlyWiki" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywiki/IQvtn9UKeIk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tiddlywiki+...@googlegroups.com.
To post to this group, send email to tiddl...@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.

Silvercat

unread,
Aug 15, 2017, 2:22:22 PM8/15/17
to TiddlyWiki

> Is there a data-based reason that you couldn't put all the words in a single english list field (e.g. [[film]] [[dust]] ... etc.)  ?


Nope. The only reason I did it that way (English, english1, english2) is cuz I don't know what I'm doing. It looks like there needs to be a change to the filter because when I do that stuff doesn't show up. That or user error (my guess is user error).


joztiizz

english [[wrong]] [[evil]]
tags  Quality j Lexeme IrregularNoun IrregularCombo Translation Morality Culture ComboType3 NounType1 


en-evil

caption Evil
nyji [[joztiizz]]
tags english Morality


en-wrong

caption Wrong
nyji [[joztiizz]]
tags Quality Morality English


BTW, Mark, do you have a type jar or paypal somewhere? Seems the least I can do is buy you a coffee or equivalent.

Mark S.

unread,
Aug 15, 2017, 2:49:55 PM8/15/17
to TiddlyWiki
Yes. The filter needs to change. You can try this for the list-based english fields:

<$list filter="[tag[Lexeme]each:list-item[english]sort[]addprefix[en-]]">

HTH
Mark

Silvercat

unread,
Aug 15, 2017, 3:50:49 PM8/15/17
to TiddlyWiki
Awesome. Thank you!
Reply all
Reply to author
Forward
0 new messages