ForHosting KIT · Lettura e monitoraggio di siti web

Analizzi Accept-Language e ordini le preferenze locali

Accept-Language sembra semplice, ma interpretarlo correttamente richiede più che dividere una stringa sulle virgole.

● BetaGratis · nel tuo browser
Usalo da WebAPIEmailTelegramApp presto

Ogni intervallo linguistico può avere un valore di qualità, gli elementi con lo stesso peso devono conservare l’ordine originario e le etichette malformate vanno rifiutate prima della negoziazione dei contenuti. Questo analizzatore trasforma un valore di intestazione in un elenco prevedibile di preferenze locali. Normalizza le maiuscole di lingua, scrittura e regione, mantiene i caratteri jolly, convalida la qualità e restituisce i risultati in ordine decrescente per instradamento, test, registri o selezione della lingua.

Trasformi l’intestazione in preferenze esplicite

Un’intestazione Accept-Language esprime più scelte in poco testo. Un browser può inviare prima una variante regionale, poi una lingua più generale e infine un carattere jolly come ultima alternativa. Leggere direttamente il valore nel codice di instradamento favorisce duplicazioni e comportamenti incoerenti nei casi limite. L’analizzatore produce un array di preferenze in cui ogni record contiene una località e un valore numerico di qualità. Le voci prive di qualità esplicita ricevono il valore standard 1. L’elenco viene ordinato dalla qualità più alta alla più bassa, mentre gli elementi con lo stesso peso mantengono la posizione indicata dal mittente. Questa stabilità è importante perché, a parità di peso, la posizione resta l’unico segnale di preferenza. Anche le maiuscole vengono normalizzate: lingue in minuscolo, regioni di due lettere in maiuscolo e scritture di quattro lettere con iniziale maiuscola. L’asterisco rimane invariato affinché l’applicazione riconosca un’alternativa generale senza scambiarla per una località specifica.

Rifiuti subito dati ambigui o malformati

L’intestazione proviene normalmente da un client e attraversa quindi un confine di fiducia. Una correzione silenziosa può trasformare un refuso in una lingua inattesa; l’analizzatore rifiuta perciò l’input invece di indovinarne il significato. Un intervallo deve iniziare con un subtag alfabetico e può continuare con subtag alfanumerici separati da trattini. Non sono validi trattini bassi, spazi interni, subtag vuoti e punteggiatura. L’unico carattere jolly ammesso è un asterisco usato come intervallo completo. Il parametro di qualità deve usare q e un valore da 0 a 1, con non più di tre cifre decimali; valori maggiori, negativi, parametri ignoti o punti e virgola ripetuti causano un errore. Sono respinte anche le voci vuote tra virgole. Il limite dichiarato mantiene finita l’elaborazione. In questo modo gli errori emergono al confine dell’API e un’intestazione letta solo in parte non seleziona contenuti mai richiesti dal client.

Applichi il risultato alla negoziazione locale

L’output ordinato è un ingresso pulito per la politica di corrispondenza dell’applicazione. Scorra le preferenze e confronti ogni località con le traduzioni disponibili. Può cercare prima la variante regionale esatta, poi ridurre fr-CA alla lingua di base e infine usare il carattere jolly o il valore predefinito del prodotto. L’analizzatore non impone tale politica: località supportate, regole di ripiego e gestione della qualità zero dipendono dall’applicazione. Separare analisi e selezione rende il comportamento facile da testare e riutilizzare in gateway, pagine renderizzate dal server, API e pipeline analitiche. Se una persona riceve la lingua sbagliata, i registri possono conservare l’elenco strutturato invece di un’intestazione opaca, agevolando la diagnosi. Per l’automazione ogni richiesta costa $0.002. La versione nel browser esegue localmente la stessa logica deterministica, così Lei può esaminare le intestazioni senza inviarne altrove il contenuto.

Scelga contenuti localizzati

Converta l’intestazione del browser in candidati ordinati prima di confrontarli con le località supportate dal sito.

Verifichi client e proxy

Controlli che browser, SDK o gateway invii gli intervalli linguistici e i pesi previsti.

Normalizzi i registri delle richieste

Conservi preferenze strutturate per cercare e confrontare in modo uniforme gli incidenti di instradamento linguistico.

Che cosa viene restituito?

Il risultato contiene un array di preferenze ordinato per qualità decrescente. Ogni voce include una località normalizzata e una qualità numerica.

Che cosa accade se q viene omesso?

La voce riceve qualità 1, cioè la preferenza massima standard.

Le voci con la stessa qualità vengono riordinate?

No. Conservano l’ordine relativo originario.

L’analizzatore sceglie una località supportata?

No. Analizza e ordina l’intestazione; l’applicazione decide corrispondenze esatte, ripieghi e località predefinita.

Quali valori malformati causano un errore?

Per esempio etichette con trattini bassi o subtag vuoti, voci bianche, parametri ignoti e qualità fuori dall’intervallo da 0 a 1 o con più di tre decimali.

Quanto costa una richiesta API?

Ogni richiesta API costa $0.002. Lo strumento deterministico può anche essere eseguito localmente in questa pagina.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/web/accept-language-parse

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/web/accept-language-parse \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"en-US,en;q=0.9,fr-CA;q=0.7,*;q=0.1"}'
{
  "text": "en-US,en;q=0.9,fr-CA;q=0.7,*;q=0.1"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "web.accept_language_parse",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

max_chars8192
HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Leggi la documentazione completa del KIT →