#343 · Herramienta para desarrolladores

HTTP Accept Language Parser

Descompone el encabezado HTTP Accept-Language en etiquetas de idioma, regiones y prioridades q. Ordena las preferencias del cliente y ayuda a revisar configuraciones de localización, fallbacks y negociación de idioma sin mezclar la sintaxis del header con reglas internas de i18n.

Datos de entrada

Cabecera Accept-Language
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Pega el valor completo de Accept-Language.
  2. Ejecuta el parser.
  3. Revisa el orden por q y la etiqueta principal.
  4. Compara las preferencias con los locales soportados por tu aplicación.

Qué hace esta herramienta para desarrolladores

Extrae cada language range, su valor q y componentes básicos como idioma primario y región. El resultado se ordena por prioridad y conserva el comodín * como una preferencia válida.

Si q no aparece se asigna 1. Se valida una forma práctica compatible con etiquetas BCP 47 comunes: subtags alfanuméricos separados por guiones o el comodín *.

Una etiqueta sintácticamente válida no garantiza que exista una traducción en tu aplicación. El servidor debe cruzar la preferencia con su catálogo de locales disponibles.

Ejemplo

Entrada

es-ES, es;q=0.9, en-US;q=0.7, en;q=0.6, *;q=0.1

Resultado esperado

La herramienta procesa el ejemplo con la lógica descrita arriba y muestra un resumen estructurado listo para copiar o descargar.

Casos de uso

  • Diagnosticar selección de idioma inesperada.
  • Probar middleware de localización.
  • Revisar cabeceras enviadas por navegador o cliente móvil.

Consejos para obtener resultados fiables

  • Normaliza tus locales internos de forma consistente.
  • No uses Accept-Language como prueba de ubicación física.
  • Define un locale por defecto cuando no haya coincidencia.
  • Trata * como un fallback amplio, no como un idioma concreto.

Detalles del procesamiento

El parser divide por comas, extrae parámetros q y separa subtags. Para cada entrada muestra el rango original, idioma primario, región cuando puede inferirse y validez.

La validación es sintáctica y deliberadamente ligera; no incorpora el registro completo de IANA ni resuelve variantes, scripts o aliases de todos los locales posibles.

Preguntas frecuentes

¿Cómo se ordenan los idiomas en Accept-Language?

Se priorizan por el valor q de mayor a menor. Si q no se especifica, se interpreta como 1.

¿Qué diferencia hay entre es y es-ES?

es expresa una preferencia general por español, mientras que es-ES identifica una variante regional más específica.

¿Puedo usar Accept-Language para detectar el país del usuario?

No es fiable para geolocalización. Es una preferencia lingüística del cliente y puede configurarse manualmente.

¿Qué significa * en Accept-Language?

Indica que el cliente acepta otros idiomas no enumerados explícitamente, con la prioridad asignada por q.

¿Qué hago si ningún idioma del header existe en mi aplicación?

Aplica un fallback definido por tu producto, por ejemplo un locale predeterminado, y documenta esa regla en tu middleware de i18n.

Resumen de módulos

MóduloQué muestra
Language rangeEtiqueta de idioma o comodín
Calidad qPrioridad de la preferencia
SubtagsIdioma primario y región detectada