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>
This commit is contained in:
co-authored by
Dawid Matyjasik
SeungTaek Lim
Claude Opus 4.8
parent
39348bf821
commit
118e4bd6b1
+14
-2
@@ -749,6 +749,8 @@ const DB_SQL = {
|
||||
instructions_ru NVARCHAR(MAX),
|
||||
instructions_zh NVARCHAR(MAX),
|
||||
instructions_hi NVARCHAR(MAX),
|
||||
instructions_pl NVARCHAR(MAX),
|
||||
instructions_ko NVARCHAR(MAX),
|
||||
muscle_group NVARCHAR(100),
|
||||
secondary_muscles NVARCHAR(MAX), -- JSON array stored as string
|
||||
target NVARCHAR(100),
|
||||
@@ -769,6 +771,8 @@ const DB_SQL = {
|
||||
instructions_ru TEXT,
|
||||
instructions_zh TEXT,
|
||||
instructions_hi TEXT,
|
||||
instructions_pl TEXT,
|
||||
instructions_ko TEXT,
|
||||
muscle_group VARCHAR(100),
|
||||
secondary_muscles JSONB,
|
||||
target VARCHAR(100),
|
||||
@@ -789,6 +793,8 @@ const DB_SQL = {
|
||||
instructions_ru TEXT,
|
||||
instructions_zh TEXT,
|
||||
instructions_hi TEXT,
|
||||
instructions_pl TEXT,
|
||||
instructions_ko TEXT,
|
||||
muscle_group VARCHAR(100),
|
||||
secondary_muscles JSON,
|
||||
target VARCHAR(100),
|
||||
@@ -809,6 +815,8 @@ const DB_SQL = {
|
||||
instructions_ru TEXT,
|
||||
instructions_zh TEXT,
|
||||
instructions_hi TEXT,
|
||||
instructions_pl TEXT,
|
||||
instructions_ko TEXT,
|
||||
muscle_group TEXT,
|
||||
secondary_muscles TEXT, -- JSON array stored as string
|
||||
target TEXT,
|
||||
@@ -1393,7 +1401,7 @@ function buildLlmPrompt(fwKey, dbKey) {
|
||||
|
||||
## Dataset Overview
|
||||
- 1,324 fitness exercises
|
||||
- Fields: id (string, e.g. "0001"), name, category, body_part, equipment, instructions_en (full text), instructions_es (Spanish text), instructions_it (Italian text), instructions_tr (Turkish text), instructions_ru (Russian text), instructions_zh (Chinese text), instructions_hi (Hindi text), muscle_group, secondary_muscles (JSON array of strings), target, image (relative path like "images/0001.jpg"), gif_url (relative path like "videos/0001.gif"), created_at
|
||||
- Fields: id (string, e.g. "0001"), name, category, body_part, equipment, instructions_en (full text), instructions_es (Spanish text), instructions_it (Italian text), instructions_tr (Turkish text), instructions_ru (Russian text), instructions_zh (Chinese text), instructions_hi (Hindi text), instructions_pl (Polish text), instructions_ko (Korean text), muscle_group, secondary_muscles (JSON array of strings), target, image (relative path like "images/0001.jpg"), gif_url (relative path like "videos/0001.gif"), created_at
|
||||
|
||||
## Database Schema (${db.name})
|
||||
\`\`\`sql
|
||||
@@ -1522,6 +1530,8 @@ function buildInserts(exercises, db) {
|
||||
const instrRu = ex.instructions && ex.instructions.ru ? ex.instructions.ru : '';
|
||||
const instrZh = ex.instructions && ex.instructions.zh ? ex.instructions.zh : '';
|
||||
const instrHi = ex.instructions && ex.instructions.hi ? ex.instructions.hi : '';
|
||||
const instrPl = ex.instructions && ex.instructions.pl ? ex.instructions.pl : '';
|
||||
const instrKo = ex.instructions && ex.instructions.ko ? ex.instructions.ko : '';
|
||||
|
||||
const vals = [
|
||||
escStr(ex.id, db),
|
||||
@@ -1536,6 +1546,8 @@ function buildInserts(exercises, db) {
|
||||
escStr(instrRu, db),
|
||||
escStr(instrZh, db),
|
||||
escStr(instrHi, db),
|
||||
escStr(instrPl, db),
|
||||
escStr(instrKo, db),
|
||||
escStr(ex.muscle_group, db),
|
||||
escStr(muscles, db),
|
||||
escStr(ex.target, db),
|
||||
@@ -1544,7 +1556,7 @@ function buildInserts(exercises, db) {
|
||||
escStr(ex.created_at, db),
|
||||
].join(', ');
|
||||
|
||||
lines.push(`INSERT INTO exercises (id, name, category, body_part, equipment, instructions_en, instructions_es, instructions_it, instructions_tr, instructions_ru, instructions_zh, instructions_hi, muscle_group, secondary_muscles, target, image, gif_url, created_at) VALUES (${vals});`);
|
||||
lines.push(`INSERT INTO exercises (id, name, category, body_part, equipment, instructions_en, instructions_es, instructions_it, instructions_tr, instructions_ru, instructions_zh, instructions_hi, instructions_pl, instructions_ko, muscle_group, secondary_muscles, target, image, gif_url, created_at) VALUES (${vals});`);
|
||||
|
||||
if (db === 'mssql' && (i + 1) % 50 === 0 && i + 1 < exercises.length) {
|
||||
lines.push('GO');
|
||||
|
||||
Reference in New Issue
Block a user