Available Languages for Exercise Instructions in the Exercises Dataset
The Exercises Dataset provides step-by-step exercise instructions in six languages: English (en), Spanish (es), Italian (it), Turkish (tr), Russian (ru), and Chinese (zh).
The hasaneyldrm/exercises-dataset repository contains a comprehensive collection of fitness exercises with multilingual support stored in JSON format. Each exercise record includes an instructions object that stores translated step-by-step guidance, making the dataset ideal for international fitness applications. Understanding the available languages for exercise instructions ensures developers can build localized user experiences across diverse markets.
Supported Language Codes
The dataset standardizes language representation using ISO 639-1 two-letter codes. According to the schema definition in [README.md lines 80-86](https://github.com/hasaneyldrm/exercises-dataset/blob/main/README.md#L80-L86), the instructions field contains exactly six language keys:
- English (
en) - Spanish (
es) - Italian (
it) - Turkish (
tr) - Russian (
ru) - Chinese (
zh)
This language set is explicitly documented in the "Available Languages" table at [README.md lines 75-77](https://github.com/hasaneyldrm/exercises-dataset/blob/main/README.md#L75-L77) and visually indicated in the repository overview badge at line 8.
Data Structure for Multilingual Instructions
In data/exercises.json, each of the 1,324 exercise objects contains an instructions property structured as a dictionary mapping language codes to instruction strings. The schema guarantees that all six language keys are present for every exercise record, ensuring consistent multilingual coverage across the entire dataset.
The setup.html file also references this language structure in its interactive developer guide, demonstrating how to import the dataset and handle the multilingual fields when generating API stubs.
Accessing Exercise Instructions Programmatically
Developers can extract language information using standard JSON parsing techniques. Below are practical implementations in multiple programming languages.
Python
Use the standard json module to load the dataset and enumerate supported languages from the first record:
import json
with open("data/exercises.json", "r", encoding="utf-8") as f:
exercises = json.load(f)
first = exercises[0]
langs = list(first["instructions"].keys())
print("Supported languages:", langs)
# Output: Supported languages: ['en', 'es', 'it', 'tr', 'ru', 'zh']
JavaScript (Node.js)
Require the JSON file directly and inspect the instruction keys:
const exercises = require("./data/exercises.json");
const langs = Object.keys(exercises[0].instructions);
console.log("Supported languages:", langs);
// → Supported languages: [ 'en', 'es', 'it', 'tr', 'ru', 'zh' ]
TypeScript
Define a type-safe interface to ensure compile-time checking of language codes:
interface Instructions {
en: string;
es: string;
it: string;
tr: string;
ru: string;
zh: string;
}
interface Exercise {
id: string;
name: string;
instructions: Instructions;
// … other fields omitted for brevity
}
import exercises from "./data/exercises.json";
const data = exercises as Exercise[];
data.forEach((ex) => {
console.log(`Exercise: ${ex.name}`);
console.log(`English: ${ex.instructions.en}`);
console.log(`Spanish: ${ex.instructions.es}`);
// … similarly for the other four languages
});
Shell (jq)
Quickly verify language keys using jq without writing a full script:
jq '.[0].instructions | keys' data/exercises.json
# ["en","es","it","tr","ru","zh"]
Key Repository Files
Understanding the file structure helps locate authoritative language definitions:
| File | Purpose |
|---|---|
data/exercises.json |
Primary dataset containing 1,324 exercise objects with multilingual instructions fields |
README.md |
Human-readable documentation listing supported languages and schema definitions |
setup.html |
Interactive guide referencing the language set for API integration examples |
Browse these resources directly on GitHub:
- Dataset: [
data/exercises.json](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.json) - Documentation: [
README.md](https://github.com/hasaneyldrm/exercises-dataset/blob/main/README.md)
Summary
- The Exercises Dataset provides six languages for exercise instructions: English, Spanish, Italian, Turkish, Russian, and Chinese.
- Language codes follow the ISO 639-1 standard (
en,es,it,tr,ru,zh). - Every exercise record in
data/exercises.jsoncontains all six language translations in theinstructionsobject. - Schema definitions in
README.mdlines 75-86 formally document the supported language set. - Developers can access translations using standard JSON parsing in Python, JavaScript, TypeScript, or shell tools.
Frequently Asked Questions
How many languages does the Exercises Dataset support?
The dataset supports six languages for exercise instructions. According to the source code analysis of hasaneyldrm/exercises-dataset, these include English, Spanish, Italian, Turkish, Russian, and Chinese. Every exercise entry contains translations for all six languages within the instructions object.
Where are the language codes defined in the repository?
The language codes are formally defined in the repository's README.md file. Lines 75-77 present the "Available Languages" table, while lines 80-86 describe the instructions field schema specifying the six ISO 639-1 codes (en, es, it, tr, ru, zh). The setup.html file also references these codes in its implementation examples.
Is every exercise translated into all six languages?
Yes, the dataset schema guarantees that every exercise record contains translations for all six available languages. The data/exercises.json file structure ensures the instructions object always includes keys for en, es, it, tr, ru, and zh, providing consistent multilingual coverage across all 1,324 exercises in the collection.
How can I filter exercises by a specific language?
Since every exercise contains all six languages, you can filter by accessing the specific language key within the instructions object. For example, in Python: exercise["instructions"]["tr"] retrieves the Turkish instructions. The dataset does not require filtering for availability; instead, you simply extract the desired language code from the predefined set of six options.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →