Background
SIL is investigating LIFT export for Living Dictionaries (sillsdev/TheCombine#4332); if it proceeds, python-sil-lift would be the conformance validator, a Python writer for a converter route, and the reference for conformant output. The writer/validator/CLI already cover the constructs involved — this issue adds the two things still missing here: a test proving the LD field model round-trips, and export docs tailored to the LD case.
Tests
- Full LD-shaped entry round-trip. One entry exercising every construct the LD→LIFT mapping uses, together: a multi-orthography
lexical-unit; a Pronunciation with a speaker-label forms entry (The Combine's Speaker: <name> convention) plus media; a Sense with grammatical-info, gloss, definition, an Example + Translation, an illustration (URLRef with a caption label), a semantic-domain-ddp4 trait, and LD-only data carried as <field>/<trait>. Build → save → reload → assert the values survive and iter_problems() is clean. The model already supports all of these, so this is verification, not new code.
- (Optional, once a real sample is available) add a representative Living Dictionaries export as a corpus fixture (with provenance) and validate it end-to-end.
Docs
- Semantic-domain representation for LD — in the Producing conformant LIFT guide (
docs/en/guides/lift-export-interop.md), document how to emit LD's ~69-key vocabulary as its own named range in .lift-ranges (lossless, self-describing), with a short example.
- LD → LIFT field-mapping reference — a concise summary (MultiString →
<form lang>, audio/speaker labels, sense photos as <illustration>, LD-only fields as <field>/<trait>) so an exporter author has one place to look; can build on the existing Building a LIFT export from scratch example (docs/en/guides/build-export.md).
Non-goals
- Any LD exporter (would live in Living Dictionaries / a converter, not here).
- Bundling the DDP4 taxonomy.
Background
SIL is investigating LIFT export for Living Dictionaries (sillsdev/TheCombine#4332); if it proceeds,
python-sil-liftwould be the conformance validator, a Python writer for a converter route, and the reference for conformant output. The writer/validator/CLI already cover the constructs involved — this issue adds the two things still missing here: a test proving the LD field model round-trips, and export docs tailored to the LD case.Tests
lexical-unit; aPronunciationwith a speaker-labelformsentry (The Combine'sSpeaker: <name>convention) plusmedia; aSensewithgrammatical-info,gloss,definition, anExample+Translation, anillustration(URLRefwith a captionlabel), asemantic-domain-ddp4trait, and LD-only data carried as<field>/<trait>. Build → save → reload → assert the values survive anditer_problems()is clean. The model already supports all of these, so this is verification, not new code.Docs
docs/en/guides/lift-export-interop.md), document how to emit LD's ~69-key vocabulary as its own named range in.lift-ranges(lossless, self-describing), with a short example.<form lang>, audio/speaker labels, sense photos as<illustration>, LD-only fields as<field>/<trait>) so an exporter author has one place to look; can build on the existing Building a LIFT export from scratch example (docs/en/guides/build-export.md).Non-goals