# How to Access Multilingual Exercise Instructions in the Exercises Dataset

> Easily access multilingual exercise instructions from the exercises dataset. Load the JSON file and read the nested instructions object for translations in six languages.

- Repository: [Hasan Emir Yıldırım/exercises-dataset](https://github.com/hasaneyldrm/exercises-dataset)
- Tags: how-to-guide
- Published: 2026-07-31

---

**Access multilingual exercise instructions by loading [`data/exercises.json`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.json) and reading the nested `instructions` object, which provides translated text for six languages via the keys `en`, `es`, `it`, `tr`, `ru`, and `zh`.**

The `hasaneyldrm/exercises-dataset` repository provides a comprehensive JSON dataset where every exercise record includes multilingual exercise instructions. Each entry contains a structured `instructions` sub-object supporting six major languages, making it straightforward to retrieve localized content for fitness applications. Understanding the exact schema allows you to efficiently extract the specific language variant you need without additional translation APIs.

## Dataset Structure and Language Schema

The dataset resides in [`data/exercises.json`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.json) as a flat array of exercise objects. According to the repository's [`README.md`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/README.md) (lines 71-85), each object contains an `instructions` field that maps language codes to their respective translations. The supported language keys are:

- `en` — English
- `es` — Spanish
- `it` — Italian
- `tr` — Turkish
- `ru` — Russian
- `zh` — Chinese

Because the file is a plain JSON array, you can use any language-agnostic JSON parser and then access the nested keys exactly as shown in the usage examples (README lines 100-108).

## Retrieving Instructions by Language

Since the dataset contains only text-based multilingual content—no media files—you can locate any exercise by index, ID, or filter criteria and access the corresponding language field (e.g., `exercise.instructions.es` for Spanish).

### Python Implementation

```python
import json

with open("data/exercises.json", "r", encoding="utf-8") as f:
    exercises = json.load(f)

# first exercise

ex = exercises[0]

print("English:", ex["instructions"]["en"])
print("Spanish:", ex["instructions"]["es"])
print("Italian:", ex["instructions"]["it"])
print("Turkish:", ex["instructions"]["tr"])
print("Russian:", ex["instructions"]["ru"])
print("Chinese:", ex["instructions"]["zh"])

```

### JavaScript Implementation

```javascript
const exercises = require("./data/exercises.json");

// first exercise
const ex = exercises[0];

console.log("English:", ex.instructions.en);
console.log("Spanish:", ex.instructions.es);
console.log("Italian:", ex.instructions.it);
console.log("Turkish:", ex.instructions.tr);
console.log("Russian:", ex.instructions.ru);
console.log("Chinese:", ex.instructions.zh);

```

### TypeScript Implementation

```typescript
interface Exercise {
  id: string;
  name: string;
  // … other fields …
  instructions: {
    en: string;
    es: string;
    it: string;
    tr: string;
    ru: string;
    zh: string;
  };
  // … other fields …
}

import exercises from "./data/exercises.json";
const data = exercises as Exercise[];

const first = data[0];
console.log(first.instructions.en); // English instructions

```

## Working with the JSON Schema

To retrieve a specific language, parse [`data/exercises.json`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.json) using your preferred method, select the exercise object, and reference the desired key within the `instructions` object. The multilingual text represents the only language-specific content in the repository, so no additional binary assets or media files are required for localization.

## Summary

- The [`data/exercises.json`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.json) file stores all exercise data as a JSON array with nested multilingual support.
- Each exercise contains an `instructions` object with six language keys: `en`, `es`, `it`, `tr`, `ru`, and `zh`.
- Access translations using standard JSON parsing and dot/bracket notation (e.g., `ex["instructions"]["tr"]` for Turkish).
- No additional media or binary files are required—all multilingual content resides in the JSON text fields.
- Refer to [`README.md`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/README.md) lines 71-85 for schema documentation and lines 100-108 for usage examples.

## Frequently Asked Questions

### What file contains the multilingual exercise instructions?

The multilingual exercise instructions are stored in [`data/exercises.json`](https://github.com/hasaneyldrm/exercises-dataset/blob/main/data/exercises.json) at the repository root. Each exercise object in this array contains an `instructions` sub-object with translated text for six languages.

### Which programming languages can I use to parse the dataset?

You can use any programming language with a JSON parser, including Python (using the standard `json` module), JavaScript/TypeScript (using `require` or `import`), Java, Go, or Ruby. The file uses standard UTF-8 encoding and follows a flat array structure.

### Does the dataset include audio or video instructions?

No. According to the source analysis, the dataset does not include any media files. The multilingual exercise instructions consist solely of text strings within the JSON structure, making the repository lightweight and language-agnostic.

### How do I handle missing translations for a specific language?

Every exercise in the dataset includes complete translations for all six supported languages (English, Spanish, Italian, Turkish, Russian, and Chinese). You should not encounter missing keys, but defensively, you can implement fallback logic to default to English (`en`) if a specific language field is ever absent.