@@ -200,6 +200,23 @@ more common (but less original) ordering; don't use it as a reference for
|
||||
the position enum order. Card and position text in `tarot_data.c` is
|
||||
condensed from Waite's own wording in Part III §3 (public domain).
|
||||
|
||||
**Gender** (`Gender` in `tarot.h`: `GENDER_UNSPECIFIED`/`GENDER_MALE`/
|
||||
`GENDER_FEMALE`) is who the reading is for — it only affects the
|
||||
pronouns in the 9 Celtic Cross position names/descriptions that have one
|
||||
(Waite addresses the querent as "him" throughout; every other position
|
||||
text in this codebase — card meanings, narrative, guidance — is already
|
||||
pronoun-neutral or direct "you" address, so nothing else varies with
|
||||
it). `DailyReading.gender` is set by `reading_generate()` the same way
|
||||
`utc_moment` is, `deck-engine`'s `--gender male|female|unspecified`
|
||||
flag/`dist/user.properties`' `gender=` field/the watch config page's
|
||||
Gender field all feed it, and `reading_print_json`/`reading_load_json`
|
||||
carry it across the `deck-engine` → `interpreter-cli` JSON boundary
|
||||
(`tarot_gender_slug()`) the same way `date` does. `GENDER_UNSPECIFIED`
|
||||
is the default and renders pronoun-neutral phrasing (singular "they" in
|
||||
English; German rephrases around a noun like "die fragende Person"
|
||||
rather than a pronoun, since German has no equivalent singular-they
|
||||
construction in common use).
|
||||
|
||||
### Translations (`i18n.c`, `engine/i18n/*.lang`)
|
||||
|
||||
All display text (planet/sign/moon-phase/aspect names, tarot card names
|
||||
@@ -217,7 +234,12 @@ Keys are namespaced by the *slug* tables in `tarot_data.c`/`astro.c`
|
||||
`moonphase.<slug>`, `aspect.<slug>`), plus `ui.*` keys for `reading.c`'s
|
||||
own labels — deliberately keyed off separate slug strings rather than
|
||||
the C enum names, so renaming an enumerator can never silently break a
|
||||
`.lang` file. **To add a language**: copy `engine/i18n/en.lang` to
|
||||
`.lang` file. `position.<slug>.name/desc` additionally take an optional
|
||||
`.male`/`.female` suffix (e.g. `position.attitude.name.male`) for the
|
||||
`Gender`-varying wording (see "Tarot" above); the unsuffixed key is
|
||||
looked up first as the fallback for a missing gendered key, so a
|
||||
position whose wording doesn't vary by gender only needs the one
|
||||
unsuffixed key. **To add a language**: copy `engine/i18n/en.lang` to
|
||||
`<code>.lang` in the same directory (keys must match exactly) and
|
||||
translate the values — no source changes needed, `make` picks up any
|
||||
`*.lang` file there automatically.
|
||||
@@ -444,10 +466,16 @@ built once and linked into *both* binaries.
|
||||
`VENDORED.md` for the pinned upstream commit.
|
||||
- Card/spread text in `tarot_data.c`/`engine/i18n/en.lang`: condensed
|
||||
from A. E. Waite's *The Pictorial Key to the Tarot* (1911), public
|
||||
domain.
|
||||
domain. The `GENDER_MALE` variant of the Celtic Cross position text
|
||||
keeps Waite's own "him"/"his" wording verbatim; the
|
||||
`GENDER_UNSPECIFIED`/`GENDER_FEMALE` variants are original paraphrases
|
||||
written for this project, not Waite's own text (see "Tarot" above).
|
||||
- `engine/i18n/de.lang`'s card/spread text is an original translation of
|
||||
that same public-domain English text, made for this project — not
|
||||
taken from any specific published German edition.
|
||||
taken from any specific published German edition. Its `Gender`-varying
|
||||
position text follows the same policy as the English original: `.male`
|
||||
is a direct translation of Waite's own wording, `.female`/unsuffixed
|
||||
are original paraphrases for this project.
|
||||
- Transit narrative text in `interpreter/src/narrative.c`: condensed from
|
||||
Sepharial's *Transits and Planetary Periods* (1920, public domain —
|
||||
`res/Transits_and_Planetary_Periods.pdf`), except the Moon and Pluto
|
||||
|
||||
Reference in New Issue
Block a user