sillsdev / sillsdev/interlinearizer-extension
Link a gloss to an existing lexicon sense
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2
- Forks
- 0
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 55
Description
Let a user attach a gloss to a specific lexicon sense, and detach it again.
Scope
A lookup affordance in the gloss field and the morpheme editor: searchByForm on the current surface form, pick a sense from the candidates, store the ref (senseRef on a morpheme, glossSenseRef on a token analysis). Uses the third grid row MorphemeBox reserves (src/components/MorphemeBox.tsx), whose display half lands in #227.
Gated on the port's search capability — not rendered when the active provider cannot search, and not rendered in tier 0.
The UX decision to record
Free-form glossing and lexicon linking are distinct and both first-class; a gloss never requires a link. The model already settles the data question — a typed gloss takes precedence over the ref, and the ref is retained so the link is not lost. What is not settled is what the user sees when the two disagree, and how they say "actually, use the lexicon's wording."
Recommended: linking never overwrites typed text, and an explicit adopt sense gloss action copies the resolved text into gloss. Decide and write it down here, because every later lexicon affordance inherits it.
Also in scope
- Unlink, leaving the free-form gloss intact. Dropping a ref must never blank a gloss.
- Linking and unlinking are analysis edits: they go through the existing dedupe path, and references stay outbound only — nothing here writes to the lexicon (#194).
Non-goals
Creating entries. Search that finds nothing is a dead end in this item; the create path is the next one.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with src/components/MorphemeBox.tsx and the display work in #227, then trace the existing analysis-edit dedupe path and the port's search capability. Follow searchByForm from the current surface form through candidate sense selection, covering senseRef and glossSenseRef, including unlinking and the adopted-gloss decision. Done means linking and unlinking work in the gloss field and morpheme editor without rendering for unsupported providers or tier 0.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100