ForHosting KIT · Lettura e monitoraggio di siti web

Analizzi Accept-Language e ordini le preferenze locali

Trasformi un'intestazione Accept-Language in un elenco ordinato di preferenze linguistiche: nell'esempio en-US viene prima con peso 1, poi en con 0,9, fr-CA e zh-Hant-TW con 0,7 e il carattere jolly per ultimo con 0,1. Le etichette malformate vengono rifiutate. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto

Accept-Language sembra semplice, ma interpretarlo correttamente richiede più che dividere una stringa sulle virgole. 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.

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. Se una persona riceve la lingua sbagliata, i registri possono conservare l’elenco strutturato invece di un’intestazione opaca, agevolando la diagnosi. 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.

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.

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.

Gli elementi con la stessa qualità vengono riordinati?

No, mantengono l'ordine in cui il mittente li ha indicati. Nell'esempio fr-CA e zh-Hant-TW hanno entrambi 0,7 e restano in quell'ordine, perché quando i pesi sono uguali la posizione è l'unico segnale di preferenza rimasto.

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.

Rifiuti subito dati ambigui o malformati

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

Separare analisi e selezione rende il comportamento facile da testare e riutilizzare in gateway, pagine renderizzate dal server, API e pipeline analitiche. Per l’automazione ogni richiesta costa $0.002.

Verifichi client e proxy

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

Le voci con la stessa qualità vengono riordinate?

No. Conservano l’ordine relativo originario.

Quanto costa una richiesta API?

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

Leggi la documentazione completa del KIT →