</> Cómo funciona
Traducciones de la palabra al idioma dado (en/de/fr/pt/it).
| parámetro | tipo | por defecto | qué hace |
|---|---|---|---|
palabra | string | — (obligatorio) | la palabra |
idioma | string | en | idioma destino: en/de/fr/pt/it |
commons/diccionario.py — un solo módulo con la búsqueda base _mvs() y las funciones de cada endpoint (definición, ejemplo, relacionadas, colocaciones, traducción, audio, registros, refranes)._mvs() y encima aplican su especialidad. Por eso son una sola página.flowchart TD
MOD[("repositorio")]
_mvs["_mvs()"]
traduccion["traduccion()"]
traduccion --> _mvs
_mvs -. datos .-> MOD
classDef red fill:#fde7f0,stroke:#c0397b,color:#7a1e4d;
class MOD red;# -*- coding: utf-8 -*-
"""diccionario.py — diccionario semántico: una red de asociación de palabras.
Toda consulta LEMATIZA primero la palabra y busca por el LEMA (no por la forma
concreta), sobre la unidad léxica y sus explicaciones. Se apoya en el Índice de
Contiguidad (palabras del mismo campo semántico están "cerca").
Un solo módulo da servicio a varios endpoints del diccionario: definición, ejemplo,
palabras relacionadas, colocaciones, traducción, audio, clasificación de una frase
y el cruce con los refranes. Todos comparten la misma búsqueda base por lema.
"""
import urllib.parse as _url
_IMG_BASE = "https://diccionario.wordkers.es/media/img/"
_AUDIO_BASE = "https://diccionario.wordkers.es/audio/"
# […consultas al repositorio del diccionario + tabla de idiomas (esquema interno)…]
def _mvs(cur, palabra):
"""Búsqueda BASE: filas unidad+explicación de la palabra (ya lematizada).
Todas las funciones de abajo parten de aquí."""
cur.execute(_SQL_MV, (palabra, palabra))
return cur.fetchall()
def traduccion(cur, palabra, idioma):
"""Traducciones a un idioma (en/de/fr/pt/it)."""
idi = _IDIOMAS.get((idioma or "").lower()) # None si el idioma no está soportado
rows = _mvs(cur, palabra)
out = []
if idi:
for r in rows:
cur.execute(_SQL_TRADUCCION, (r[0], idi))
for t in cur.fetchall():
out.append({"lema": r[2], "traduccion": t[0], "similitud": t[1], "matiz": t[2]})
return {"palabra": palabra, "idioma": idioma, "idioma_valido": idi is not None,
"encontrado": bool(out), "traducciones": out}
Llámala con el código a la vista.
curl "https://api.wordkers.com/v1/diccionario/traduccion?palabra=casa" \
-H "X-API-Key: TU_CLAVE"