# Available Languages for Exercise Instructions in the Exercises Dataset

> Discover the six languages available for exercise instructions in the Exercises Dataset: English, Spanish, Italian, Turkish, Russian, and Chinese. Access multilingual fitness guidance easily.

- Repository: [Hasan Emir Yıldırım/exercises-dataset](https://github.com/hasaneyldrm/exercises-dataset)
- Tags: api-reference
- Published: 2026-07-29

---

**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`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/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`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/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`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/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`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/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:

```python
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:

```javascript
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:

```typescript
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:

```bash
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`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.json) | Primary dataset containing 1,324 exercise objects with multilingual `instructions` fields |
| [`README.md`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/README.md) | Human-readable documentation listing supported languages and schema definitions |
| [`setup.html`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/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)](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.json)
- **Documentation:** [[`README.md`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/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.json`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.json) contains all six language translations in the `instructions` object.
- Schema definitions in [`README.md`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/README.md) lines 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`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/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`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/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`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/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.