Historical linguistics for your conlang
Write the sound changes between stages, and Lemula derives every word with its history.
Example

Example layout based on an example in the Wikipedia article Interlinear gloss (illustrative; Leipzig-style conventions).
A single Turkish verb, çık-mak, glosses as two English words plus a tag: come.out-INF. This is the smallest interlinear case, two lines and one word, and it is the clearest place to see how one source morpheme can answer to several words in the translation. It reads like a dictionary entry.
The word splits into a stem and an infinitive ending:
When one source morpheme needs more than one English word, Leipzig conventions join those words with a period instead of a space, so come.out reads as a single gloss for a single morpheme. Writing it as two separate words would suggest two morphemes, which would break the matching count. The period keeps one piece on each side.
More on this mark and the others:
Open the example and reuse it as a template for dictionary-style entries: one source word, one gloss line. Set the morpheme boundary character under Settings → Tokens to split a stem from its suffix, then export the entry as PNG, SVG, or PDF.
Related examples:
Historical linguistics for your conlang
Write the sound changes between stages, and Lemula derives every word with its history.