🇲🇨 API du Traducteur Monégasque

Traduire du français vers le monégasque (et inversement) depuis vos propres programmes.

⚠️ Service non officiel. Les traductions sont produites automatiquement et peuvent contenir des erreurs ; pour tout usage important, faites-les vérifier par un locuteur ou un enseignant de monégasque. Le service est fourni gratuitement, sans garantie de disponibilité.
🔑 Une clé d'API est obligatoire. Toutes les requêtes de traduction doivent contenir votre clé personnelle ; sans elle, l'API répond 401 unauthorized. Il n'y a pas d'inscription en ligne : pour obtenir une clé, contactez-moi via la rubrique Contact du site (onglet « ℹ️ À propos »), en indiquant votre nom ou celui de votre projet et l'usage prévu.

Démarrage rapide

Adresse de l'API :

https://traducteur-monegasque-api.julie-hubert.workers.dev

Une fois votre clé obtenue (voir ci-dessous), une seule requête suffit, avec la clé dans l'en-tête X-API-Key :

curl "https://traducteur-monegasque-api.julie-hubert.workers.dev/translate?q=Bonjour&dir=fr-mc" \
  -H "X-API-Key: VOTRE_CLE"
{
  "input": "Bonjour",
  "direction": "fr-mc",
  "translation": "Bungiurnu",
  "confidence": "high",
  "tokens": [ { "w": "Bonjour", "type": "found", "tr": "Bungiurnu" } ]
}

L'API ne propose que de la lecture : vous envoyez un texte, elle renvoie sa traduction. Toutes les requêtes se font en GET.

Obtenir une clé

Toute utilisation de l'API nécessite une clé. Il n'y a pas d'inscription automatique : demandez-la par mail via la rubrique Contact du site (onglet « ℹ️ À propos » de munegascu.pages.dev), en indiquant :

Vous recevrez une clé de la forme tm_2159ee5079d3c515db6cda…. Gardez-la privée, comme un mot de passe : ne la publiez pas dans le code d'une page web publique (voir Bonnes pratiques).

GET /translate

Traduit un texte.

Paramètres (dans l'adresse)

ParamètreObligatoireDescription
qouiLe texte à traduire, encodé pour une URL (500 caractères maximum).
dirnonfr-mc (par défaut) : français → monégasque ; mc-fr : monégasque → français.
api_keynon*Votre clé, si vous ne pouvez pas utiliser l'en-tête (pratique pour tester dans un navigateur).

En-tête

En-têteDescription
X-API-KeyVotre clé. *Obligatoire, sauf si elle est passée dans api_key. L'en-tête est préférable : une clé dans une adresse peut se retrouver dans des historiques ou des journaux.

Test rapide dans un navigateur :

https://traducteur-monegasque-api.julie-hubert.workers.dev/translate?q=la%20mer%20est%20belle&dir=fr-mc&api_key=VOTRE_CLE

GET / (ou /health)

Sans clé : renvoie une courte description de l'API au format JSON. Utile pour vérifier que le service répond.

Réponse

Toujours du JSON (encodage UTF-8), y compris en cas d'erreur.

ChampDescription
inputLe texte envoyé.
directionfr-mc ou mc-fr.
translationLa traduction — c'est en général le seul champ dont vous avez besoin.
confidenceIndice de confiance : high (tous les mots reconnus), medium, low, none. Utile pour prévenir vos utilisateurs quand la traduction est incertaine.
tokensDétail mot par mot (voir ci-dessous) : pratique pour surligner les mots inconnus ou afficher des explications.

Détail des tokens

ChampDescription
wLe mot (ou groupe de mots) d'origine.
trSa traduction (absente pour la ponctuation et les mots inconnus).
typefound : trouvé dans le dictionnaire ; phrase : expression ou phrase connue ; smart : obtenu par une règle de grammaire (conjugaison, accord, élision…) ; proper : nom propre conservé ; unknown : mot inconnu, laissé tel quel ; punct : ponctuation.
noteFacultatif : explication de la règle appliquée.

La liste des champs peut s'enrichir avec le temps ; ignorez simplement ceux que vous ne connaissez pas.

Erreurs

Code HTTPerrorCauseQue faire
400bad_requestq absent, vide ou de plus de 500 caractères.Corriger la requête ; découper les longs textes.
401unauthorizedClé absente, erronée ou révoquée.Vérifier l'en-tête X-API-Key.
404not_foundAdresse inconnue.Vérifier le chemin (/translate).
429rate_limitedTrop de requêtes pour votre clé.Attendre le délai indiqué par l'en-tête Retry-After (en secondes).
500internal_errorErreur du moteur.Réessayer plus tard ; si cela persiste, nous signaler le texte en cause.

Chaque erreur contient aussi un champ message lisible (en français).

Limites

Exemples

JavaScript (navigateur ou Node.js 18+)

const API = 'https://traducteur-monegasque-api.julie-hubert.workers.dev';

async function traduire(texte, dir = 'fr-mc') {
  const url = `${API}/translate?q=${encodeURIComponent(texte)}&dir=${dir}`;
  const r = await fetch(url, { headers: { 'X-API-Key': 'VOTRE_CLE' } });
  const d = await r.json();
  if (!r.ok) throw new Error(d.message);
  return d.translation;
}

traduire('La procession a lieu le 27 janvier').then(console.log);

Python

import requests

API = "https://traducteur-monegasque-api.julie-hubert.workers.dev"

def traduire(texte, dir="fr-mc"):
    r = requests.get(f"{API}/translate",
                     params={"q": texte, "dir": dir},
                     headers={"X-API-Key": "VOTRE_CLE"},
                     timeout=10)
    d = r.json()
    if r.status_code != 200:
        raise RuntimeError(d.get("message"))
    return d["translation"]

print(traduire("U Prìncipu è vegnüu", "mc-fr"))

curl, sens monégasque → français

curl -G "https://traducteur-monegasque-api.julie-hubert.workers.dev/translate" \
  --data-urlencode "q=Ancœi gh'è de sardine" \
  --data-urlencode "dir=mc-fr" \
  -H "X-API-Key: VOTRE_CLE"

Bonnes pratiques