feat(exporter,viewer): glossary term links, RTL item content, per-item language list (#1427)

Commit: 033d85e256c071992eec80cfdb6007d1cda2a7cf
Date: 2026-07-06 01:25:01 +0200
Author: PascalHavelange

Commit Message

feat(exporter,viewer): glossary term links, RTL item content, per-item language list (#1427)

- item-exporter.ts: add `languages` per item (from the same translation map
  already built for translations/items.{lang}.json), so the viewer can list
  only languages an item actually has instead of every site language.
- ItemDetail.vue:
  - Wire glossary terms into item text, mirroring legacy's clickable
    glossary words (e.g. "thuluth" on database_item.php): every spelling of
    the item's glossary_ids, in the active language, gets wrapped in a
    clickable span before markdown rendering. Clicking one opens a modal
    with the term and its definition, matching legacy's glossary1.php popup.
  - Item content (title, key facts, description/history sections, dynasty
    text, related items) now renders right-to-left when Arabic is the
    active language - the app's own English interface (nav, labels,
    buttons) is unaffected.
  - The item-language dropdown now lists only languages this item actually
    has a translation in, instead of every language in the whole site.

Verified locally against a real export + a temporarily swapped-in data
package: glossary term wraps/click/modal, RTL toggling, and the
per-item language list all work as expected.
EOF

Co-authored-by: Pascal HAVELANGE <havelangep@hotmail.com>

Files Changed


This documentation was automatically generated from Git commit data.