Commit Graph
8 Commits
Author SHA1 Message Date
Hasan Emir Yıldırım 0d88dd6efb Merge remote-tracking branch 'origin/main' into pr45
# Conflicts:
#	README.md
2026-07-16 09:45:08 +03:00
umutcakirai e4579fad5d Fix TypeScript interface and Python example in README
Three documentation inaccuracies, all independent of each other.

1. `media_id`, `image` and `gif_url` were typed `string | null`, but no
   record has a null in any of them (0/1324 each) and the JSON Schema
   declares all three as required, non-nullable strings — `image` and
   `gif_url` even carry path patterns. The optional type pushed needless
   null-handling onto every consumer. Narrowed to `string`.

2. `instruction_steps` was missing from the interface entirely, even
   though every record carries it and the field table documents it.
   Added, typed `string[]` per language.

3. The Python example stopped at Hindi, skipping Polish and Korean; the
   JavaScript example right below it lists both. Added the two lines.

Docs only — no data or schema changes.
2026-07-10 16:04:41 +03:00
umutcakirai 6f3031b3b2 Add French (fr) exercise instructions
Adds a tenth language to all 1,324 exercises: `instructions.fr` and
`instruction_steps.fr`, plus the schema, README, viewer and setup guide.

Register matches the existing Spanish/Italian/Polish translations —
informal second-person imperative (tutoiement):

  en: Lie flat on your back with your knees bent and feet flat on the ground.
  fr: Allonge-toi sur le dos, les genoux fléchis et les pieds à plat au sol.

How it was produced
-------------------
The 7,710 English step sentences deduplicate to 4,414 unique strings.
Those were translated (LLM-assisted, glossary-constrained, then audited),
and the per-exercise arrays were rebuilt deterministically by mapping each
English step back through that table. `instructions.fr` is the join of
`instruction_steps.fr`, so the two can never drift.

A fixed glossary pinned the recurring terms — répétitions, position de
départ, haltère/barre, sangle abdominale, omoplates, largeur des épaules —
so terminology is consistent across all 1,324 records rather than varying
sentence by sentence.

Verified
--------
- 1,324 records validate against the updated schema; a record missing `fr`
  is now rejected.
- fr step count == en step count in every record (the dataset's existing
  invariant across all nine prior languages).
- instructions.fr == ' '.join(instruction_steps.fr) in every record.
- Every pre-existing field is byte-identical; `fr` is purely additive.
- No empty strings, none left in English, no vouvoiement across 7,710 steps.
- index.html embed stays in sync with data/exercises.json; the language
  picker renders "Français" and the steps display correctly.

Note for review: these are machine translations, reviewed programmatically
rather than by a native speaker. Happy to adjust any wording.
2026-07-10 15:58:52 +03:00
118e4bd6b1 Add Polish and Korean exercise instructions
Incorporates the translation content from two external PRs onto current main
(their branches were based on a pre-media-restore history with no common
ancestor, so applied programmatically rather than merged):

- Polish (pl) from #25 (Dawid Matyjasik) — as submitted.
- Korean (ko) from #27 (SeungTaek Lim) — normalized to the dataset convention:
  only nested instructions.ko / instruction_steps.ko were kept. The PR's extra
  flat top-level *_ko metadata fields (name_ko, target_ko, etc.) were dropped
  because they are inconsistent with every other language and would violate
  data/exercises.schema.json (additionalProperties: false).

Updates data/exercises.json (all 1,324 records), the embedded EXERCISES blob
and SQL export in index.html, the SQL schemas / INSERT builder / LLM prompt in
setup.html, and README language references (7 -> 9 languages). Change is purely
additive: stripping pl+ko reproduces the previous data byte-for-byte.

Co-Authored-By: Dawid Matyjasik <63721806+dawidmatyjasik@users.noreply.github.com>
Co-Authored-By: SeungTaek Lim <61047602+namest504@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 21:10:06 +03:00
Hasan Emir YıldırımandClaude Opus 4.8 39348bf821 Merge pull request #42 from yazmorukyaz/hindi (Add Hindi exercise instructions)
Resolved README.md conflict with #34: kept both the instructions.hi row and
the instruction_steps.<lang> row (extended to include hi).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 20:54:12 +03:00
yazmorukyaz 73b0c68652 Add Hindi exercise instructions 2026-07-09 18:55:59 +03:00
serafettin a081e72793 Add JSON Schema for exercises dataset
Adds data/exercises.schema.json (Draft 2020-12) describing every field,
its type and constraints, so the dataset and community additions can be
validated with any standard JSON Schema validator. Validated against all
1,324 records with zero errors.

Also documents the previously undocumented instruction_steps field and
references the schema from the README.
2026-07-09 06:08:43 +03:00
Hasan Emir Yıldırım 6990c56f86 exercises-dataset: 1,324 multilingual gym exercises with media 2026-07-08 18:36:00 +03:00