# Traductions du plugin Cal24h

Ce dossier contient les ressources de traduction distribuées avec le plugin :

- `cal24h.pot` – modèle de traduction (extrait des sources).
- `cal24h-<locale>.po` – fichiers éditables (une langue par locale, p.ex. `cal24h-fr_FR.po`).
- `cal24h-<locale>.mo` – binaires PHP générés à partir des `.po`.
- `cal24h-<locale>.json` – traductions utilisées par le bloc Gutenberg (éditeur JS).

## Générer .mo et .json (recommandé)

Un script Python sans dépendance est fourni pour créer/mettre à jour les `.po` et compiler `.mo` + `.json` :

```
python3 scripts/generate_locales.py
```

Par défaut, il traite : `en_US es_ES de_DE it_IT pt_BR nl_NL fr_FR`.

Pour des locales spécifiques :

```
python3 scripts/generate_locales.py --locales en_US es_ES
```

Sortie :
- Génère/actualise `cal24h-<locale>.po` (si manquant, créé depuis le `.pot`).
- Compile `cal24h-<locale>.mo` (si au moins une traduction non vide existe).
- Écrit `cal24h-<locale>.json` pour l’éditeur (même condition).

Les fichiers générés sont déposés dans `wordpress-plugin/cal24h/languages/`.

## Ajouter une nouvelle langue

1. Créez/éditez `cal24h-<locale>.po` (ex. `cal24h-es_ES.po`). Le script peut aussi le créer depuis le `.pot` :
   ```
   python3 scripts/generate_locales.py --locales es_ES
   ```
2. Traduisez les `msgstr` dans le `.po`.
3. Recompilez :
   ```
   python3 scripts/generate_locales.py --locales es_ES
   ```

## Mettre à jour le modèle (`.pot`)

Idéalement via WP‑CLI :

```
wp i18n make-pot wordpress-plugin/cal24h wordpress-plugin/cal24h/languages/cal24h.pot --domain=cal24h
```

Ensuite, relancez le script de génération.

## Chargement des traductions dans le plugin

- Les traductions PHP sont chargées via :
  ```php
  load_plugin_textdomain('cal24h', false, dirname(plugin_basename(__FILE__)) . '/languages');
  ```
- Le bloc Gutenberg utilise `wp_set_script_translations()` et lira les JSON `cal24h-<locale>.json`.

## Distribution (SVN WordPress.org)

Commitez `.po`, `.mo` et `.json` dans `trunk/languages/`. Après publication, le système de traduction WordPress.org pourra générer des packs officiels – vos fichiers servent de base initiale.
