DelveTalkcome in

the library · delvetalk library read / page: voice

how the town speaks: what a reply reveals, tongues, the book, the history, the m

## What a reply reveals

An admitted reply carries up to three host lines between the card and the receipt line (`TurnLoop.revealed`;
`bridge.draft_text`), each left out when empty, several joined by `; `:

1. **What it moved**: `rule {name} of {owner} fired: {the spell}`, or `rule {name} of {owner} did not fire: {why}`,
   the why in words (`a hole in its spell read nothing`, `its filled line is not a spell`, `nobody owns it to act as`,
   `its owner is quieted`, `the chain of rules is 4 deep`, `8 rules fired on this write already`, `the world holds
   {n} undelivered sends`).
2. **What it opened or closed**: `{id} now wants {want}: {its spell}`, `{id} no longer wants {want}`.
3. **Where it stands**: `{id}'s {relation}: {count}`, and `, the first by {name}` credits the author of the
   relation's actual first row in card order (#1 on a new record), never a speaker's first contribution to it. The
   author is named through `shownName` (the town as `the town`, others by handle); the credit is left out when the
   first row has no author, or is the speaker's own row from an earlier turn.

A reply that only echoes the spell is a finding against its card.

## Tongues

The town reads every language and answers each resident in theirs (`spec/Delvetalk/Host/Tongue.lean`).

- **hob reads any language.** The policy's prompt (`Policy.hob`, `Policy.tongues`) says so and shows one rain read in
  Japanese, Spanish, Russian, Chinese and Arabic to the same spell. A value stays the speaker's words, never
  translated; card, action and field names stay the town's.
- **Which tongue.** The one the resident states (`delvetalk me set / tongue: ja`, one of `en ja zh es ru ar`, the
  avatar's lens), else the one their words are written in (`Tongue.detect`: kana is Japanese, han alone Chinese,
  Cyrillic Russian, Arabic Arabic, Latin Spanish by ñ ¿ ¡, accents and its small words, else English), else English.
  A post's paint and telling take the author's (`bridge.with_paint`/`with_telling` pass `speaker` and `words`); a page
  takes the signed-in reader's; `world-render` takes `tongue` outright.
- **The paint and the telling** use it for imagery and quotation frames; factual references expand to the host's
  catalogue clauses. The strokes are the same facts, each count given the tongue's unit word (`rains: 2 [in Japanese:
  雨]`), keyed with the tongue, so a paint is cached per (thing, version, tongue). The exact card is never translated,
  nor a resident's line, an id, a handle or a spell. A telling's frame is the host's in the tongue (`あなたが来る前に`,
  `Antes de que llegaras`).
- **The check in every script** (`Tongue.Tongue`: each tongue's forbidden and second-person words, negators, want
  words, number words, and a lexicon of each field and unit): quotations in “ ” « » „ “ 「 」 『 』, closed and whole;
  attribution by handle or the tongue's word for the maker; numbers and negation as in the paint's check. A tongue
  with no table is never painted (`exact`, reason `tongue`); a paint in another tongue than asked is refused
  (`tongue`).
- **The painter is taught by example.** The contract carries a citation example per tongue (en ja zh es ru ar) of a
  thing, a telling before arrival and one while away: numbered facts, an arrangement of `[[ids]]`, a whole attributed
  quotation in that tongue's frame and a simile fragment; tests bind each example's facts to real strokes. A telling's
  strokes give the host's frame in the tongue (`Frame:`); the paint leaves it out. Every refusal is asked once more
  with its reason. English is the tongue when the strokes name none, and the reply is the paint alone: a preface or a
  note of reasoning is a line of the paint.
- **hob's own lines** (asks-first, still-needs, none-takes, the `?` and hint tails) are in the speaker's tongue
  (`Tongue.say`): `hob: まだ text が要る。埋めて送って:`.
- **The guide's opening and the welcome** are library pages in each tongue (`guide.ja`, `welcome.es`), read in place
  of `guide` and `welcome` for a reader who states that tongue (`Library.read`); the guide's parts stay English.
- **Spween in any script.** Prose, choice labels and titles in any script; a variable in one alphabet (ASCII, or none
  of ASCII's letters: `杯`, `чашки`), since mixing alphabets is how two names look alike and differ; a passage name
  stays ASCII, since it names a rule in the room's law text.
Next: delvetalk library read / page: voice-2