Getting started

Guida Proxylang

Come configurare Proxylang, migliorare le traduzioni e farsi trovare in altre lingue. Il materiale per gli sviluppatori si trova in fondo.

Start here

Inizia ora

Quattro passaggi da un nuovo account a un sito tradotto. Il tag dello script è l'opzione predefinita e funziona su ogni piattaforma.

WhereSetup

Configura in quattro passaggi

  1. Add your site

    Vai su Configurazione e digita l'indirizzo del tuo sito web. Scegli la piattaforma su cui gira.

  2. Pick languages

    Scegli la lingua originale del tuo sito, poi le lingue che vuoi aggiungere. Il tuo piano stabilisce il numero massimo consentito.

  3. Install

    Scegli come inserire il tag script nel tuo sito. Lascia fare all'IA: incolla il nostro messaggio in ChatGPT, Claude o Cursor. Fallo tu stesso: copia una riga e pubblica. Oppure invialo al tuo sviluppatore: scriveremo noi l'e-mail. I siti WordPress utilizzano il plugin.

  4. Check your site

    La procedura guidata conferma che lo script è attivo. Un selettore di lingua apparirà sul tuo sito.

Guide all'installazione per piattaforma:

Scegli come si collega Proxylang

Il tag script è l'opzione predefinita e funziona ovunque. Le altre modalità aggiungono visibilità sui motori di ricerca in altre lingue. Puoi cambiare modalità in un secondo momento nella scheda Setup del dominio; nulla andrà offline durante il passaggio.

Script tag

VisitorSearch engineYour serverProxylangsentences

I motori di ricerca leggono il tuo sito originale.

Hybrid

VisitorSearch engineYour serverProxylangsentences

I motori di ricerca ricevono le pagine tradotte.

DNS Proxy

VisitorSearch engineYour serverProxylang

Tutti ricevono le pagine tradotte.

Green arrow: traffic that goes through Proxylang. Dotted line: Proxylang reads your server behind the scenes.

Script tag

Ogni piano, ogni piattaforma

La traduzione avviene nel browser del visitatore. I motori di ricerca vedono comunque la tua lingua originale.

Ideale per: App, pagine protette da login e qualsiasi sito builder.

WordPress plugin

WordPress sites

Installa lo script per te e aggiunge indirizzi per lingua, tag SEO e sitemap senza toccare il DNS.

Ideale per: qualsiasi sito WordPress o WooCommerce.

Hybrid

Piano Lite e superiori, siti costruiti con codice

Una sola modifica al DNS. I motori di ricerca ricevono le pagine tradotte da Proxylang. I visitatori mantengono il tag script.

Ideale per: siti di marketing che vuoi far trovare in altre lingue.

DNS Proxy

Dal piano Pro in su, siti sviluppati con codice

Ogni visitatore riceve le pagine tradotte da Proxylang, tramite indirizzi tradotti come /es-es/about.

Ideale per: siti che desiderano URL completamente tradotti per tutti, senza script.

Come tradurre una pagina

Con il tag script, la pagina viene caricata dal tuo server come al solito. Lo script richiede quindi a Proxylang la traduzione di ogni frase e la sostituisce. La prima visita a una pagina viene tradotta mentre la guardi. Ogni visita successiva è istantanea, perché la traduzione viene salvata.

1Page loads from your server as usual2The script sends each sentence to Proxylang3Proxylang translates it and saves the result4The translated text is swapped innext visit: saved copy, instant
The first visit to a page translates as you watch. Every later visit uses the saved copy.

Con la modalità DNS Proxy o Hybrid, Proxylang si posiziona tra il visitatore (o il motore di ricerca) e il tuo server:

  1. A visitor opens a translated addressyourdomain.com/es-es/page

  2. Proxylang recupera la pagina originale dal tuo server

  3. L'IA traduce il testo visibile

    Il layout e il codice rimangono esattamente come erano.

  4. La pagina tradotta viene salvata e servita

    Il visitatore successivo la riceve istantaneamente.

  5. SEO tags are added

    Link linguistici, indirizzo canonical e altro.

Short addresses also work. /es/about and /mx/about both redirect to /es-es/about.

Se il sito non cambia

  • Open your site in a private window and use the language switcher. Your own browser may have a language remembered.
  • Check the script is on every page, not only the home page. Your platform guide shows where it goes.
  • Turn off ad blockers for a moment. Some block third-party scripts.
  • Nothing at all, even after a refresh? Your site may have a Content Security Policy. See the developer section at the end of this guide.

Avanti: Brand e contesto

Make translations better

Brand e contesto

Dì al traduttore chi sei. Dedicare cinque minuti a questo passaggio garantisce una qualità superiore a qualsiasi altra parte di questa guida.

WhereDomains › your domain › Brand & Context

Cosa compilare

  • Brand Name. Your name in your site's language and in English. It is kept exactly as written in every language.
  • Site Description. Two or three sentences: what you sell, who reads the site, the tone you want. Example: "Online shop for Korean skincare. Customers are women 25 to 40. Friendly, not formal." This also helps translate visitors' search queries.
  • Landing Pages. Pick up to 20 pages (your home page, pricing) where headlines and calls to action should read like native marketing copy rather than a word-for-word translation.
  • Translation Formality. Formal, casual or automatic. This one is chosen when you add the domain and cannot be changed later, because every saved translation depends on it.

Quando diventa effettivo

Clicca su Salva Brand & Context. Le nuove traduzioni utilizzeranno il nuovo contesto entro un'ora. Il testo già tradotto manterrà la sua formulazione. Per rifare una pagina, puoi correggere singole frasi nell'Editor Live.

Avanti: Glossario ed elenco termini da non tradurre


Glossario ed esclusioni

Decidi come tradurre una parola, una volta sola, per ogni pagina.

WhereGlossary

I tuoi termini

  • A term is a word or phrase in your site's language, its translation, and the language it applies to. Add one with Add Term . Tick case sensitive if "Apple" and "apple" should be treated differently.
  • Terms apply everywhere the phrase appears. Up to 5,000 terms per domain.
  • Have a list already? Use Import with a CSV file. Columns: source_text, target_text, source_lang, target_lang, case_sensitive, notes . Export gives you the same format back.
  • Tick rows and click Delete Selected to remove many at once.

Timing

I nuovi termini raggiungono i server di traduzione in circa dieci minuti. Il testo già tradotto mantiene la vecchia dicitura finché non viene tradotto nuovamente. Per controllare una pagina, aprila in una finestra in incognito, in modo che il browser non ti mostri una copia salvata.

Mai tradurre

La scheda Never Translate in cima al glossario contiene le parole che devono rimanere esattamente come scritte in ogni lingua: il tuo brand, il nome di un prodotto, un hashtag. Fino a 100 voci da 60 caratteri ciascuna. Il confronto è case-sensitive, quindi aggiungi "iPhone", non "iphone".

Miglioramenti AI

Proxylang esamina periodicamente le traduzioni sul tuo sito e propone piccole correzioni. Le correzioni approvate vengono aggiunte al tuo glossario come termini contrassegnati come AI, con la motivazione e la formulazione che hanno sostituito. Puoi eliminarle tutte.

  • Turn the review off for a domain with the switch in the AI Improvements card. Terms already added stay until you delete them.
  • A sentence you edited in the Live Editor is never changed by an AI improvement. Your edit wins.


Editor live

Correggi una traduzione sul tuo sito: clicca sulla frase, digita e salva. Incluso in ogni piano.

WhereLive Editor, or press Esc twice on your site

Modifica una traduzione

  1. Go to Live Editor , pick the domain and click Start editing . Your site opens in a new tab with the editor bar on it. Shortcut: on any page of your site, press Esc twice and click Open editor .
  2. Switch the site to the language you want to fix.
  3. Click any text. A panel shows the Original and the Translation . Change the translation and click Save .
  • You see your change at once. Other visitors see it within about five minutes.
  • Your edit always wins. Proxylang will not overwrite it, and neither will AI improvements.
  • Changed your mind? Open the same text and click Reset to automatic translation .
  • Some text has placeholders like {0} for a link or bold word. Keep them in your translation, in any order.
  • Only verified domains you own appear in the Live Editor.

Invita un traduttore

Un traduttore non ha bisogno di un account Proxylang. Accede direttamente al tuo sito e può modificare le traduzioni, nient'altro.

  1. On the Live Editor page, find Invite a translator . Type their email.
  2. Under Can edit , leave All languages or pick only the languages they should touch.
  3. Click Send invite . A password appears once . Copy it now, or click Email them to open a ready-made email. Nothing is sent automatically.
  • The translator opens your site, switches language, presses Esc twice and signs in with that email and password.
  • To remove someone, hover their row in the translator list and click the ×. They are locked out at once.
  • The editor bar and panels are available in English, Korean, Japanese, Spanish, German, French, Italian and Portuguese.

Avanti: Controlla cosa viene tradotto


Gestisci le traduzioni

Mantieni i nomi dei brand, i codici coupon e le recensioni nella lingua originale, oppure sospendi completamente la traduzione.

WhereYour HTML, or Domains › your domain › Advanced

Mantieni i contenuti nella lingua originale

Alcuni testi non dovrebbero mai cambiare: un nome di un brand, un codice coupon, una citazione, le recensioni scritte dai clienti. Hai a disposizione tre strumenti, da soluzioni senza codice a soluzioni con un po' di codice.

  • A single word or name, everywhere. Add it to the Never Translate list in the glossary. No code.
  • A block on a page. Add the proxylang-no-translate class to the element. Everything inside it is skipped. See below.
  • A whole file or region. Wrap it in the comment markers. See below.

Salta un blocco tramite una classe

Add the class proxylang-no-translate to any element. The attribute data-proxylang-no-translate does the same thing. Works in every mode.

HTML
<!-- Everything inside is left in the original language -->
<div class="proxylang-no-translate">
  <h2>Brand Name™</h2>
  <p>SAVE20 is your coupon code.</p>
</div>

<!-- The attribute form does the same -->
<span data-proxylang-no-translate>Acme Corp</span>

Salta una sezione con i commenti

Utile quando non puoi aggiungere una classe o per il testo all'interno dei file JavaScript. Tutto ciò che si trova tra i due marker viene saltato.

HTML
<!-- @proxylang-do-not-translate-start -->
<div class="testimonial">
  Customer reviews stay exactly as written.
</div>
<!-- @proxylang-do-not-translate-end -->
JavaScript

Esclusi automaticamente

  • Code samples inside <pre> and <code> , in every mode. Syntax highlighters that render into those tags (Shiki, highlight.js, Prism) are covered. Code editors that render into a plain <div> (CodeMirror, Monaco) are not; add the class to their wrapper.
  • <kbd>, <var> and <samp> when Proxylang translates on the server (DNS Proxy and Hybrid).
  • Legal pages at standard addresses. See the Legal pages section.
  • Email addresses, URLs, numbers and prices.

Salta solo per i motori di ricerca

A volte si desidera che i motori di ricerca indicizzino la dicitura originale (un tagline o uno slogan per cui ti posizioni) mentre i visitatori continuano a leggerlo tradotto. Usa i marcatori bot-only. Si applicano solo dove Proxylang serve pagine ai bot, quindi in modalità DNS Proxy e Hybrid. Se applicati solo al tag script, non hanno alcun effetto.

HTML
<!-- Search engines index the original wording.
     Visitors still see it translated. -->
<h2 class="proxylang-bot-only-no-translate">Our Brand Tagline</h2>

<!-- Attribute form -->
<p data-proxylang-bot-only-no-translate>Ranked slogan</p>

<!-- Comment form, for a larger region -->
<!-- @proxylang-bot-only-do-not-translate-start -->
<section>...</section>
<!-- @proxylang-bot-only-do-not-translate-end -->

Sospendi tutto

Due interruttori nella scheda Avanzate del dominio interrompono le nuove traduzioni senza rimuovere nulla dal tuo sito. Il testo già tradotto continuerà a essere visualizzato.

  • Pause Translations. Humans. Visitors see cached translations only. New pages stay in the original language. Use it while you look into a cost spike or a quality problem.
  • Pause Translations. Bots. Same, for search engines and AI crawlers. Stops SEO spend without touching what visitors see.
  • Also on that tab: Preserve Line Breaks keeps line breaks where the original has them. DNS Proxy mode only.


Get found in search

SEO in altre lingue

Recupera le pagine tradotte trovate. Proxylang aggiunge i tag ricercati dai motori di ricerca e ti fornisce un'unica pagina per monitorarli.

WhereSEONeedsLite plan or above

La pagina SEO

Apri SEO e seleziona un sito. È necessario il piano Lite o superiore. Anche le schede Parole Chiave e Titoli di Pagina richiedono la modalità Hybrid o DNS Proxy, perché con il solo tag dello script i motori di ricerca non vedono mai i titoli tradotti.

Health
A score from 0 to 100 and a to-do list. It checks that search engines can reach your translated pages, that the right tags are on them, and that setup is finished.
Keywords
Type up to 20 phrases your customers search for, in your own language. Proxylang writes a matching set for every language search engines index and uses them for your home page title and description. A language that joins them later gets its set shortly after you save, with no click. You can give a pricing or campaign page its own set.
Page Titles & Descriptions
See the title and description each language really shows in search results, and pin your own wording for any page. A pin is exact and final for that page and language. Too long? Click Shorten.
Settings
Bot translation budget, which pages go in the sitemap, and a switch to stop SEO tags while you test.
  • Google Search Console. The Health checklist has a "Connect Google Search Console" step. It pulls Google's own indexing data into the Health tab. Available once Hybrid or DNS Proxy is on.
  • Naver and Daum. If Korean is one of your languages, a card lists the four manual steps those engines need. Tick each one off as you go.
  • AI answers. A second checklist covers listings that help ChatGPT, Gemini and Perplexity recommend you: Wikidata, Google Business Profile and, for software, G2 and Product Hunt.

Which languages search engines see

Your plan sets how many languages search engines index. Visitors can still pick every language you turn on. A language you add joins the indexed ones on its own while your plan has room. It goes into the sitemap and language links, and if you have saved keywords on the Keywords tab, it gets its own keywords and home page title written from them. To choose them yourself, use the search icon next to each language on the domain's Languages tab.

When every slot is taken, the Languages tab and the SEO Keywords tab name the languages search engines can't see. Swap one in for an indexed language, or upgrade for more.

Tag aggiunti a ogni pagina tradotta

  • Language links (hreflang) that tell search engines which page is which language.
  • A canonical address per language, so translations are not seen as duplicates.
  • The page's language tag, for Bing and Baidu.
  • Social preview locale, so shared links show the right language.

Si applica alle modalità Hybrid e DNS Proxy, in cui i motori di ricerca ottengono le pagine da Proxylang. Tramite il solo tag dello script, leggono il tuo sito originale.

Show an example
What a page's head contains
<link rel="alternate" hreflang="en-US" href="https://example.com/page" />
<link rel="alternate" hreflang="es-ES" href="https://example.com/es-es/page" />
<link rel="alternate" hreflang="fr-FR" href="https://example.com/fr-fr/page" />
<link rel="alternate" hreflang="x-default" href="https://example.com/page" />
<link rel="canonical" href="https://example.com/es-es/page" />
<meta property="og:locale" content="es_ES" />

Titoli, descrizioni e testo delle immagini

Il titolo della pagina, la meta descrizione, il titolo e la descrizione dell'anteprima social e le parole chiave vengono tradotti. Lo stesso vale per i testi alt delle immagini, i tooltip dei pulsanti e i segnaposto dei moduli. Fissa la tua terminologia per ogni pagina nella scheda Titoli e descrizioni delle pagine.

Risultati avanzati

Se le tue pagine contengono dati strutturati (i dettagli nascosti di prodotti, articoli, FAQ o eventi che alimentano i rich results su Google), i campi di testo vengono tradotti e il campo lingua aggiornato. Prezzi, date, URL e identificatori rimangono invariati.

Sitemap

Proxylang builds a sitemap per language and lists them all at /sitemap.xml on your domain. Pages come from your own sitemap, plus pages Proxylang has seen. Each language also has its own file, such as /es-es/sitemap.xml . They refresh daily, and right away when a language save changes which languages search engines see; click Regenerate sitemap on the SEO Settings tab to rebuild now.

Show an example
/sitemap.xml
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap><loc>https://example.com/sitemap-1.xml</loc></sitemap>
  <sitemap><loc>https://example.com/es-es/sitemap.xml</loc></sitemap>
  <sitemap><loc>https://example.com/fr-fr/sitemap.xml</loc></sitemap>
</sitemapindex>

Scegli quali pagine includere nella sitemap

Nella scheda Impostazioni SEO, sotto Pagine Sitemap:

  • All pages. The default.
  • Only specific paths. Start with a few pages, add more later.
  • Exclude paths. Hide a section, such as /internal/*.

One path per line. * matches anything, so /blog/* covers every blog post. The home page is always included. Subdomains use their root domain's setting.

Segnalare nuove pagine ai motori di ricerca

  • Bing, Yandex, Naver, Seznam and Yep are told the moment a translated page is saved. DuckDuckGo, Ecosia and Qwant use Bing's index. Nothing to set up.
  • Google does not take pings. It finds your pages through the sitemap and the language links. Connecting Search Console lets you watch it happen.
  • Your robots.txt is served with the sitemap lines added. Your own rules are kept.

Motori di ricerca basati su IA

  • robots.txt allows GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot and Google-Extended.
  • A /llms.txt file describes your site and lists its languages and sitemaps for AI tools that look for one.
  • AI bots get translated pages only in Hybrid or DNS Proxy mode. They are counted under the bot budget like any other crawler.

Lingua in ogni indirizzo

In DNS Proxy mode, visitors normally see clean addresses and their language is remembered in a cookie. Turn on URL Language Prefix (domain → Advanced tab) and every visitor sees the language in the address, like /es-es/about . Search results, ads and analytics then always point at one clear version of each page.

Solo modalità DNS Proxy. I sottodomini seguono il proprio dominio principale.


Modalità ibrida (SEO per i motori di ricerca)

I motor di ricerca ricevono le pagine tradotte da Proxylang mentre i tuoi visitatori mantengono il tag script.

WhereDomains › your domain › SetupNeedsLite plan or above, site built with code

Cosa fa

Il tag script traduce le pagine nel browser del visitatore. I motori di ricerca non eseguono quello script, quindi vedono solo la tua lingua originale. La modalità Hybrid risolve questo problema.

Motori di ricerca e bot AI

Ottieni una pagina completamente tradotta da Proxylang. Google, Bing, Naver, ChatGPT, Perplexity e le anteprime dei link (Slack, LinkedIn, Facebook) sono in lista.

Your visitors

Mantieni il tuo sito esattamente com'è oggi, tradotto tramite il tag script. Il tuo hosting, l'analisi dei dati e i test A/B rimangono invariati.

I siti su Wix, Squarespace, Webflow e costruttori simili non possono cambiare il DNS in questo modo, quindi rimangono con il tag script.

Come attivarla

Non esiste un interruttore "Hybrid". Hybrid è ciò che ottieni quando sia il DNS Proxy che il Tag Script sono attivi per lo stesso dominio.

  1. Apri il tuo dominio, poi la scheda Setup

    Domini → il tuo dominio → Setup.

  2. Turn on DNS Proxy

    Aggiungi i record DNS che ti mostriamo presso il tuo registrar di dominio, quindi verifica. Questo è il passaggio che permette ai motori di ricerca di raggiungere Proxylang.

  3. Keep Script Tag on

    I tuoi visitatori continuano a usare il tag script che hai già installato.

  4. Done

    Con entrambi attivi, il badge del dominio riporta "Hybrid (SEO)". Disattiva uno dei due e il sito tornerà all'altra modalità senza tempi di inattività.

Quanto costa

Le visite dei bot utilizzano parole dal tuo credito, a un quarto della tariffa normale. Tre limiti impediscono che una scansione incontrollata lo esaurisca. Puoi abbassare ciascun limite nella pagina SEO sotto Impostazioni.

Bot requestlimit 1Words todayover:original pagelimit 2Budget for this pageover:original pagelimit 3Visits today (unverified)over:original pageTranslated pageGoogle, Bing, Apple, DuckDuckGo, Yandex skip limit 3.

Parole giornaliere per i bot

Una volta raggiunto il limite, i bot riceveranno la tua lingua originale fino alla mezzanotte UTC. Impostalo a 0 per interrompere completamente la traduzione per i bot.

Start
3,000
Pro+
20,000

Budget per page

Indica quanti token AI (circa 2,7 per parola) un bot può utilizzare per tradurre una singola pagina. Il valore predefinito è 4.000. Titolo, descrizione ed intestazioni non vengono conteggiati.

Start
8,000
Pro+
50,000

Visite giornaliere, bot non verificati

Google, Bing, Apple, DuckDuckGo e Yandex sono verificati tramite il loro indirizzo di rete e non sono limitati. Tutto il resto condivide questo limite.

Start
5
Pro+
10
Free of charge. Bots that bring no visitors (SEO scrapers, uptime checkers) always get the original page and cost nothing.

Quando usarlo

  • You want your pages to rank in other languages.
  • You want AI search tools to quote your translated pages.
  • You do not want Proxylang in the path of real visitors. Hybrid keeps them on your own server.

Le pagine protette da login non traggono alcun vantaggio da Hybrid. Mantieni quelle nel tag script.

Avanti: siti multipli e sottodomini


Siti e sottodomini multipli

Aggiungi sottodomini gratuitamente e più domini di primo livello con il piano Start e superiori. Tutti i siti condividono lo stesso saldo parole.

WhereDomains

Cosa puoi aggiungere

  • Subdomains of a site you already added (app.yourdomain.com, shop.yourdomain.com). Free on every plan. They do not count toward your domain limit.
  • Separate root domains (yourdomain.com and yourapp.io). Needs the Start plan or above, which carries as many as you like. Test Drive and Lite cover one site.

Tutti i tuoi siti condividono lo stesso saldo parole. Un secondo sito non aggiunge parole; attinge dallo stesso pool.

Se in seguito passerai a un piano inferiore, nulla andrà offline. Manterrai tutti i siti che hai già aggiunto. Potrai solo aggiungere nuovi siti una volta tornato sotto il limite.

Cosa eredita un sottodominio

Un sottodominio segue il suo dominio di primo livello. Riceve la stessa modalità di connessione, le stesse lingue, le impostazioni della sitemap e gli interruttori della scheda Avanzate. Li imposti una sola volta sul dominio principale.

Se il dominio principale utilizza la modalità DNS Proxy o Hybrid, ogni sottodominio avrà bisogno dei propri record DNS. L'app mostra esattamente quali record aggiungere: quattro per un dominio di primo livello (il dominio nudo, www e due record di verifica) e due per un sottodominio.

Quale modalità per quale sito

Sito di marketing o landing page

Hybrid mode

Vuoi che venga trovato in altre lingue. Usa Hybrid se il tuo piano e il tuo sito lo consentono (piano Lite o superiore, sito costruito con codice). Altrimenti, il tag dello script lo tradurrà comunque per i visitatori.

App o portale clienti

Script tag

Le pagine protette da login non vengono mai indicizzate, quindi non c'è alcun vantaggio in termini di ricerca da perseguire. Nessuna modifica DNS, nulla nel percorso del traffico.

Features

Chat dal vivo

Una bolla di chat che traduce in entrambe le direzioni. Un unico abbonamento, ogni sito, agenti illimitati.

WhereDomains › your domain › Live ChatNeedsIncluded from Start up. 14-day trial on Test Drive and Lite

Cosa fa

Una bolla di chat sul tuo sito. I visitatori scrivono nella loro lingua. Tu leggi e rispondi nella tua. Entrambe le parti vengono tradotte in tempo reale. Un unico abbonamento copre ogni sito del tuo account, con tutti gli agenti che desideri.

Attivalo

Apri il dominio, vai alla scheda Live Chat e attiva l'interruttore. La bolla apparirà sul tuo sito e il sito apparirà nella tua console di chat in Chat.

  • On Start and above, chat is already included with your plan. Nothing to buy and no trial to start.
  • On Test Drive and Lite, every account gets one 14-day trial with 2,000 translated messages. No card needed. The trial is per account, not per site.
  • When nobody is online, visitors see "We are away" and can leave their email. You answer by email from the console. Turn this off in widget settings if you prefer.

Aggiungi il tuo team

  1. On the Live Chat tab, in the Agents card, type a teammate's email and click Invite . Seats are free and unlimited.
  2. They get a link, good for seven days. They enter the name visitors will see and the language they want to read chats in.
  3. They see that site's conversations only, marked "Shared". No settings, no billing.

Rimuovi qualcuno utilizzando il pulsante Rimuovi sulla sua riga.

Rispondere alle chat

  • The console has three panes: conversations, the open chat, and visitor details (page they are on, country, past chats).
  • Having the console open makes you "Online". Click the pill to go "Away"; visitors then get the offline form.
  • Type / in the reply box for quick replies (hello, order, refund, shipping).
  • You can send images up to 10 MB. Edit a sent message and the visitor's translation is redone.
  • If a teammate is already answering, your reply box locks so the visitor never gets two answers.
  • Under Chat settings → Widget , set the bubble colour, position, greeting and the name visitors see. The greeting is shown as written and is not translated yet.

App desktop e mobile

La pagina Download contiene l'app desktop per macOS, Windows e Linux. Ti fornisce avvisi e badge per i messaggi non letti anche con il browser chiuso, e si aggiorna automaticamente. Le app per iPhone e Android sono elencate come in arrivo a breve.

L'accesso aprirà il tuo browser abituale per un istante, per poi tornare all'app. È un comportamento previsto.

Cosa include ogni piano

Contano solo i messaggi tradotti. I messaggi nella stessa lingua sono gratuiti. Il limite mensile è condiviso tra i tuoi siti e si resetta il 1° del mese.

Start
Live Chat includedChat · 2,000 translated messages/mo
Pro
Live Chat includedChat Plus · 10,000 translated messages/mo
Business and above
Live Chat includedChat Scale · 50,000 translated messages/mo
  • Test Drive and Lite include no chat plan beyond the trial. Bigger chat plans are a monthly add-on, priced on the Live Chat page.
  • At the limit, chat keeps running but messages arrive untranslated and new conversations wait until the 1st. A chat already in progress always finishes.
  • Hiding the "Powered by Proxylang" line in the chat window needs the Pro plan or above.

Avanti: Traduzione immagini


Traduci immagini

Riscrivi il testo all'interno di banner e immagini prodotto nella lingua del visitatore.

WhereDomains › your domain › Image TranslationsNeedsImage credits (prepaid)

Configurazione

1. Buy credits

La traduzione delle immagini è attiva per ogni dominio. Il tuo credito è l'unico limite. Acquista un pacchetto dalla sezione Fatturazione. I pacchetti sono validi per 12 mesi.

10 images
$5 / ₩7,000
$0.50 per image
50 images
$20 / ₩28,000
$0.40 per image
100 images
$35 / ₩49,000
$0.35 per image

2. Scegli quali immagini tradurre

Vengono tradotte solo le immagini selezionate. Tre metodi, dal più semplice:

  • Live Editor. Open your site, press Escape twice, sign in, click Image Translation in the editor bar and tap the images. Works on any platform.
  • Paste image addresses. On the domain's Image Translations tab, use Auto-Translate Images by URL . Good for site builders where you cannot edit HTML.
  • Tag the HTML. Add data-pl-translate-image to the image tag.
HTML
<!-- Only tagged images are translated -->
<img src="/hero-banner.png" data-pl-translate-image alt="Welcome" />

<!-- Any image source works -->
<img src="https://cdn.example.com/promo.jpg" data-pl-translate-image />

Cosa succede e quanto costa

  • The first visitor in a language sees the original image. Translation runs in the background, usually under two minutes, then the translated image replaces it on the page without a refresh.
  • Every visitor after that gets the translated image instantly. It is kept forever.
  • One credit per image, per language. The same banner in Korean and Japanese costs two credits.
  • Images whose longer side is over 2000px cost two credits per language. Tall product detail images usually fall in this group.
  • Visitors reading your site in its own language never use credits.

Funziona in ogni modalità. Con il metodo "incolla indirizzi immagine", il matching avviene nel browser del visitatore, quindi è necessario il tag script (modalità script o Hybrid).

Cosa tradurre

Translate these

  • Banners with text on them
  • Infographics and charts with labels
  • Product images with printed details
  • Screenshots with on-screen text

Non taggare questi elementi (verranno comunque addebitati)

  • Photos with no text
  • Logos and icons
  • SVG files and GIFs

Sono supportati i formati PNG, JPG e WebP. I file molto grandi vengono ridimensionati prima della traduzione. Sono supportate 33 lingue di destinazione; l'elenco è disponibile nella scheda Traduzioni Immagini del dominio.

Avanti: Cerca traduzione


Traduci ricerca

Traduci ciò che i visitatori digitano nella casella di ricerca, così otterranno risultati in qualsiasi lingua.

WhereDomains › your domain › AdvancedNeedsSearch credits (prepaid). Script tag or Hybrid mode

Configurazione

1. Buy searches

Pagamento tramite crediti di ricerca prepagati. Acquista un pacchetto dalla sezione Fatturazione. I pacchetti non scadono mai.

10,000 searches
$9.99 / ₩13,900
50,000 searches
$39.99 / ₩55,900
200,000 searches
$139.99 / ₩194,000

2. Attivalo per dominio

Apri il dominio, vai alla scheda Avanzate e attiva Traduci query di ricerca. L'interruttore rimarrà disattivato finché non avrai dei crediti. Possono essere necessari fino a cinque minuti per applicare le modifiche al tuo sito live, quindi attendi prima di testare.

Come funziona

If your search box is a normal form, or its field is named q, query, search, keyword, term or s, it works with no changes. When the visitor presses Enter, Proxylang translates the query and your search receives the translated text.

A search form that just works
<form action="/search" method="GET">
  <input type="search" name="q" />
  <button type="submit">Search</button>
</form>
  • Runs from the script tag, so it works in script tag and Hybrid mode. Not on DNS Proxy-only sites.
  • Visitors reading your site in its own language are not affected and use no credits.
  • Each search uses one credit, including repeats. Translated queries are remembered per domain, so repeats are instant.
  • If translation takes longer than 4.5 seconds, the original query is sent through instead. Visitors never wait on a spinner.

Caselle di ricerca che filtrano un elenco sulla pagina

Alcune caselle di ricerca non inviano mai nulla a un server. Filtrano semplicemente un elenco già presente sulla pagina (come una FAQ o una griglia di prodotti). Per queste è necessario un attributo sull'input:

HTML
<!-- Translate when the visitor presses Enter (default) -->
<input type="text" placeholder="Search..." data-proxylang-reverse-search />

<!-- Translate as they type, after a short pause -->
<input type="text" placeholder="Search..." data-proxylang-reverse-search="live" />

By default the query is translated when the visitor presses Enter. Add ="live" to translate as they type, after a short pause. Live mode uses more credits, one per pause.

Aiutare la traduzione con il contesto

A one-word query can mean many things. Proxylang uses the Site Description from your Brand & Context tab to pick the right meaning. For one specific search box you can override it with data-proxylang-search-context="..." on the input (up to 240 characters).

Consigli

  • Keep Enter mode unless your search really needs results while typing. It costs a fraction of live mode.
  • Write a clear Site Description. "Korean skincare shop" gives better query translations than "our website".
  • Test in a private window with the site switched to another language.

Limiti noti

  • Queries over 200 characters are passed through untranslated.
  • When credits reach zero, searches pass through untranslated. Buying a pack turns it back on within a minute.
  • For developers: searches sent by form.submit() in code are not intercepted; use a normal submit. For fetch requests, only the query parameters and top-level JSON fields are translated. GraphQL requests are skipped.

Avanti: Aspetto del selettore lingua


Personalizza selettore lingua

Tutto ciò che riguarda il menu lingua visto dai visitatori: posizione, aspetto e modalità di visualizzazione.

WhereLanguage Switcher

Cosa puoi modificare

Activate Switcher
The on/off switch for the widget on this site. Also holds a test key for trying the script on your own computer.
Layout
Floating in a corner, or inline where you place it. Starting corner. Whether visitors can drag it.
Appearance
Button size, menu size, corner shape, shadow, and whether languages show as "EN", "English" or both.
Colors
Six ready-made themes, or your own colours for light and dark mode.
Behavior
Shrink to an icon after a few seconds, menu animation, and a soft fade when translated text appears.
Branding
Hide the "Translation by Proxylang" line in the menu. Start plan and above.
Loading Indicators
A spinner, a thin bar at the top, both, or nothing while a page translates.
Dark Mode Detection
Follow the visitor's system setting, or tell Proxylang which CSS class your site uses for dark mode.
Advanced
Stacking order, the width at which the mobile layout kicks in, and the right-to-left auto-flip switch.

Le modifiche raggiungono il tuo sito in pochi secondi, al massimo cinque minuti. Se non le vedi, aggiorna la pagina.

Quale lingua vede per prima il visitatore

Non c'è nulla da impostare. Alla prima visita, Proxylang analizza le lingue preferite dal browser del visitatore e seleziona la corrispondenza migliore tra le lingue che hai abilitato. Se non c'è corrispondenza, utilizza il paese del visitatore e poi la lingua del tuo sito. Successivamente, la scelta del visitatore viene memorizzata per un anno.

To test another language, open your site in a private window, or add ?lang=ko-KR to the address.

Inserire il selettore nel proprio menu

Under Layout, choose Inline and place <div id="proxylang-widget"></div> where the switcher should appear, for example in your header. For a second spot in a mobile menu, add <div id="proxylang-widget-mobile"></div> as well.

Avanti: Analisi e utilizzo

Your account

Analisi e utilizzo

Scopri chi visita il sito in quale lingua e dove finiscono le tue parole.

WhereDashboard › Analytics

Chi visita, in quale lingua

La scheda Analytics sulla tua dashboard mostra visitatori, visite, pagine, la provenienza delle persone, il loro paese e dispositivo, e la quota di chi ha letto una versione tradotta. Non vengono utilizzati cookie; i visitatori vengono conteggiati tramite un fingerprint crittografato che non può essere riconvertito in un indirizzo.

  • A visit ends after 30 minutes without activity.
  • Bots are hidden by default, and so is your own traffic from a development machine. Use the Filter button to show them.
  • Detailed records are kept for 90 days.
  • The Visitor Map shows the same data on a world map.

Dove vanno le tue parole

La scheda Dashboard mostra quanto del tuo piano hai utilizzato. Le schede Metriche e Pagine forniscono il dettaglio per giorno, lingua e pagina.

  • A sentence costs words once, the first time it is translated for your site. Showing it again is free.
  • Bot visits in Hybrid and DNS Proxy mode count at a quarter of the rate. The chart shows "Visitor words" and "Bot words" separately.
  • A page view is one page opened by a real visitor in a translated language. Bots, visitors reading the original language, and your own testing on localhost do not count.
  • You get an email at 75%, 90% and 100% of your allowance.

Avanti: Piani, fatturazione e crediti


Piani, fatturazione e crediti

Cosa include ogni piano, cosa succede al raggiungimento del limite e come funzionano crediti e codici.

WhereBilling

Cosa ti offre un piano

Ogni piano ha un limite di parole, un limite mensile di visualizzazioni di pagina, un numero di lingue e un numero di siti. Il limite di parole è un totale, non un importo mensile: una frase viene conteggiata solo la prima volta che viene tradotta e rimane tradotta in seguito. Ogni lingua conta separatamente: una pagina di 500 parole aperta in tre lingue utilizza 1.500 parole. Con il piano Start e superiori, i visitatori possono scegliere tra le 77 lingue disponibili, e il piano stabilisce quante di esse vengono indicizzate dai motori di ricerca. I crawler recuperano ogni lingua indicizzata, quindi quelle sono le lingue che consumano parole senza un visitatore.

Parole: un totale che si esaurisce una sola volta

each new sentence is counted once, then never again

Visualizzazioni: reset il 1° del mese

one count per page a visitor opens in a translated language
Both are shared across all your sites.

Test Drive

Words (total)
2,000
Page views / month
1,500
Languages
1
Sites
1

Lite

Words (total)
20,000
Page views / month
15,000
Languages
5
Sites
1

Start

Words (total)
100,000
Page views / month
50,000
Languages
All 77 (3 indexed)
Sites
Unlimited

Pro

Words (total)
500,000
Page views / month
150,000
Languages
All 77 (10 indexed)
Sites
Unlimited

Business

Words (total)
2,500,000
Page views / month
750,000
Languages
All 77 (25 indexed)
Sites
Unlimited
  • Global, Enterprise and Custom plans are arranged through the Custom card on the pricing page.
  • Lite and above add per-language SEO and Hybrid mode. Pro and above add DNS Proxy mode.
  • Words used up. New text stays in the original language until you upgrade. Text already translated keeps showing, and the language switcher keeps working. There is no overage charge.
  • Page views used up. The same happens for one month, then the whole site is served in its original language until the next month or an upgrade.
  • Bot visits in Hybrid and DNS Proxy mode count at a quarter of the rate.
  • Yearly billing is ten months for twelve.
  • Moving to a smaller plan never takes a site offline. You keep what you have and cannot add more until you fit.

Modifica o cancellazione

  • Open Billing and pick a plan under Available Plans . A change takes effect at once. The price difference is settled on your next invoice.
  • New subscriptions on Start or Pro (monthly, paid in USD, outside Korea) start with a 14-day free trial.
  • Korean customers pay in KRW through KG이니시스, with VAT shown separately. Yearly Korean plans are a one-time payment you renew by hand. Cancel with the 해지 button; you keep access to the end of the period.
  • Every charge and receipt is under Payment History at the top of the Billing page.

Crediti per immagini e ricerca

I piani a pagamento includono un pacchetto di crediti una tantum al momento dell'iscrizione: Lite 2 immagini e 500 ricerche, Start 10 immagini e 2.000 ricerche, Pro 30 immagini e 2.000 ricerche, Business e Global 100 immagini e 2.000 ricerche. Passare a un piano superiore aggiunge solo la differenza. I crediti inclusi non scadono mai e vengono concessi una volta per account, non una volta per ogni upgrade.

Se rimani senza crediti, acquistane altri sotto forma di pacchetti prepagati nella pagina Fatturazione, nella pagina Traduzione Immagini o nella pagina Ricerca Inversa. I pacchetti sono condivisi tra i tuoi siti. I pacchetti immagine acquistati sono validi per 12 mesi e riceverai un'e-mail 30 giorni prima della loro scadenza; i pacchetti ricerca acquistati non scadono mai.

L'acquisto si aprirà in una nuova scheda. Il tuo saldo nella pagina di Fatturazione si aggiornerà quando tornerai su di essa.

Codici promozionali

  • Outside Korea there is no code box. Your discount is attached to your account and applied at checkout on its own.
  • In Korea, the code box is on the Billing page while you are on the free plan. Codes apply to the first payment only.
  • Discounts do not stack. The largest one wins.

Invita un amico

Il tuo link si trova nella pagina Referral. Un amico che si iscrive tramite il link ottiene uno sconto del 15% sul suo primo piano. Quando si iscrive, il tuo prossimo pagamento mensile avrà uno sconto del 50%, una volta per amico. Il link viene memorizzato per 90 giorni. I pacchetti non contano, i piani sì.

Avanti: Riferimento attributi

For developers

Riferimento attributi, API JavaScript ed eventi, API Live Chat, Content Security Policy, lingue da destra a sinistra.

Riferimento attributi

For developers

Ogni classe, attributo e marker di commento Proxylang viene letto dal tuo HTML.

Browser si riferisce al tag script e alle pagine che i visitatori caricano in modalità Hybrid. Server si riferisce alle pagine che Proxylang renderizza per i motori di ricerca in modalità Hybrid e per tutti in modalità DNS Proxy. Entrambi significa entrambi.

Skip

class="proxylang-no-translate"Both
Skip this element and everything inside it.
data-proxylang-no-translateBoth
Same as the class.
class="notranslate"Browser
Google’s standard skip class. Honoured as well.
translate="no"Browser
The HTML standard skip attribute. Honoured as well.
data-pl-skipBrowser
Short form of the skip attribute.
<!-- @proxylang-do-not-translate-start --> … <!-- @proxylang-do-not-translate-end -->Server
Skip a region of HTML. JS files use the same words after //.
class="proxylang-bot-only-no-translate"Server
Keep the original wording for search engines only. Visitors still get the translation.
data-proxylang-bot-only-no-translateServer
Attribute form of the bot-only skip.
<!-- @proxylang-bot-only-do-not-translate-start --> … <!-- @proxylang-bot-only-do-not-translate-end -->Server
Comment form of the bot-only skip.

Hint

data-pl-context="…"Server
A hint for the translator about this element (“button label”, “product name”).
data-pl-max-chars="N"Server
Keep the translation at or under N characters. Useful for fixed-width buttons.
data-proxylang-search-context="…"Browser
Context for translating what visitors type in this search box.

Force

data-pl-retranslate="token"Both
Translate this element again, bypassing every cache. Change the token to trigger it. Must be switched on for your domain by Proxylang support.
data-no-url-path-langBrowser
On the script tag itself. Your own router owns /xx-xx/ paths, so Proxylang will not read the language from the URL.

Features

data-pl-translate-imageBoth
Translate the text in this image. See Image translation.
data-proxylang-reverse-searchBrowser
Translate what visitors type in this search box. See Search translation.
class="proxylang-flip-on-rtl"Both
Mirror this element for right-to-left languages.
data-pl-no-rtl-fixBoth
Leave this element out of the right-to-left animation fixes.

Also skipped without markers: <pre> and <code> everywhere; <kbd>, <var> and <samp> on the server; <script>, <style>, <svg>, <math>, form inputs and iframes.

Avanti: API JavaScript ed eventi


API ed eventi JavaScript

For developers

Leggi la lingua attiva, crea il tuo selettore e reagisci ai cambiamenti.

window.Proxylang

Disponibile in modalità script tag, Hybrid e DNS Proxy.

MethodReturnsDescription
getCurrentLanguage()stringActive language code, e.g. "ko-KR".
getBaseLanguage()stringThe site’s own language.
getLanguages()ArrayEnabled languages as { code, english, native, isBase }. Empty until the config has loaded.
setLanguage(code)Promise<void>Switch language. Navigates the page. Unknown codes are ignored with a console warning.
isReady()booleanTrue once the widget has initialised.
onReady(fn)voidRuns fn when ready, or at once if already ready.
isTranslated()booleanTrue once the first translation pass has finished.
onTranslated(fn)voidRuns fn when the first pass finishes, or at once if it already has.
onLanguageChange(fn)() => voidRuns fn on every switch. Returns a function that unsubscribes.
JavaScript
window.Proxylang.getCurrentLanguage()  // "ko-KR"
window.Proxylang.getBaseLanguage()     // "en-US"
window.Proxylang.getLanguages()
// [{code: "en-US", english: "English", native: "English", isBase: true},
//  {code: "ko-KR", english: "Korean", native: "한국어", isBase: false}, ...]

window.Proxylang.setLanguage("fr-FR")  // navigates

Proxylang:ready

Fired on document once the widget has initialised. detail carries language and baseLanguage .

JavaScript
window.Proxylang.onReady(() => {
  console.log(window.Proxylang.getCurrentLanguage())
})

document.addEventListener('proxylang:ready', (e) => {
  console.log(e.detail.language, e.detail.baseLanguage)
})

Proxylang:translated

Fired on document exactly once per page load, when the first translation pass has finished. It never fires again, not for added content or client-side navigation. It is guaranteed within about five seconds; if the safety cap fires first, detail.timedOut is true and language may be null. Use it to remove a loading overlay.

JavaScript
document.addEventListener('proxylang:translated', (e) => {
  console.log(e.detail.language)      // "ko-KR", or null if timedOut
  console.log(e.detail.baseLanguage)  // "en-US"
  console.log(e.detail.timedOut)      // true if the 5s cap fired first
  document.getElementById('loading-overlay')?.remove()
})

// Same thing, callback style. Runs at once if already finished.
window.Proxylang.onTranslated(() => { /* ... */ })

Proxylang:languagechange

Fired on document when the visitor switches language, with detail.language . Callbacks run before the page navigates, so an analytics call may not finish sending. Use your analytics library's beacon or "transport: beacon" option.

JavaScript
// Returns a function that unsubscribes
const stop = window.Proxylang.onLanguageChange((lang) => {
  navigator.sendBeacon('/analytics', JSON.stringify({ event: 'language_change', lang }))
})

// Or listen for the DOM event
document.addEventListener('proxylang:languagechange', (e) => {
  console.log(e.detail.language)
})

// Later, e.g. when a component unmounts
stop()

Debug

  • Add ?proxylang_debug=1 to any page address to get verbose logs in the console.
  • In DNS Proxy mode a proxylang:translating event fires on window with detail.loading true or false around each re-translation.
  • Framework apps: the script waits for hydration before touching the page. If your app re-renders text after that, the observer picks it up and translates it.

Prossimo: API JavaScript Live Chat


API JavaScript Live Chat

For developers

Inserisci il testo nella finestra della chat, aprila tramite i tuoi pulsanti e comunica al tuo team l'identità del visitatore.

$Proxylang

The chat loads with your Proxylang script tag. Send it commands by pushing them onto window.$proxylang . Commands pushed before the chat has loaded wait and run in order once it has.

  • The commands use the same format as Crisp's $crisp . A page already wired to Crisp moves over by renaming $crisp to $proxylang .
  • Commands the chat does not know are ignored. They never throw an error on your page.
  • $proxylang.get() and $proxylang.is() exist only after the chat has loaded. Before that, $proxylang is a plain array.
JavaScript
// Safe to run before the chat has loaded. Commands wait, then run in order.
window.$proxylang = window.$proxylang || []
$proxylang.push(['do', 'chat:open'])

Inserisci il testo nella finestra della chat

CommandWhat it does
['set', 'message:text', [text]]Fills the reply box. The visitor can edit it and presses send themselves. Nothing reaches your team until they do.
['do', 'message:show', ['text', text]]Shows a message from your team in the chat. Only this visitor sees it, only on this page. It is not sent to your team or saved, and a reload removes it.
['do', 'message:send', ['text', text]]Sends a message as the visitor. Your team gets it in the console, translated like any other message.
  • Text is capped at 4,000 characters. Empty text is ignored.
  • message:text and message:show appear exactly as you write them. They are not translated. Pick the text for the visitor's language yourself with window.Proxylang.getCurrentLanguage() .
  • A message:show message while the window is closed adds to the unread count on the chat bubble.
JavaScript
// A "Request a quote" button: open the chat with a message ready to send
function requestQuote() {
  $proxylang.push(['set', 'message:text', ['Hi, I would like a quote for the Pro plan.']])
  $proxylang.push(['do', 'chat:open'])
}

// A message from your team, shown only to this visitor on this page
$proxylang.push(['do', 'message:show', ['text', 'Questions about plans? Ask us here.']])

// A message sent as the visitor. Your team gets it in the console.
$proxylang.push(['do', 'message:send', ['text', 'I need help with order #1042']])

Apri e chiudi

CommandWhat it does
['do', 'chat:open']Opens the chat window.
['do', 'chat:close']Closes it.
$proxylang.is('chat:opened')True while the window is open.

Comunica al tuo team l'identità del visitatore

Il tuo team visualizzerà queste informazioni nel pannello visitatori della console chat. Per rendere un'e-mail verificata, firmala sul tuo server utilizzando il segreto presente in Impostazioni chat › Widget › E-mail visitatori verificati. La firma è l'HMAC-SHA256 dell'e-mail, in formato esadecimale.

CommandWhat it does
['set', 'user:email', [email, signature]]The visitor’s email. Add the signature to mark it verified.
['set', 'user:nickname', [name]]The name your team sees.
['set', 'user:avatar', [url]]Picture address. https only.
['set', 'user:phone', [phone]]Phone number.
['set', 'user:company', [name, { url, description }]]Company name, with an optional website and description.
['set', 'session:data', [[[key, value], ...]]]Up to 32 key/value pairs. Values are text, numbers or true/false. Keys are cut to 40 characters and text values to 200. Pushing again adds new keys and overwrites existing ones; keys are never removed until session:reset. Once there are 32 keys, new keys are skipped without an error.
['set', 'session:event', [[[name, data, colour]]]]Adds entries to the visitor’s timeline. Colour is red, orange, yellow, green, blue, purple, pink, brown, grey or black.
$proxylang.get('user:email')Reads back a value you set. Works for every user: key and for session:data.
['do', 'session:reset']Starts a new visitor in this browser. Call it when a user signs out, so the next person to sign in does not see their chats or take over their email.
JavaScript
$proxylang.push(['set', 'user:email', [user.email, signature]])
$proxylang.push(['set', 'user:nickname', [user.name]])
$proxylang.push(['set', 'user:company', ['Acme', { url: 'https://acme.com' }]])

// Key/value pairs shown in the visitor pane
$proxylang.push(['set', 'session:data', [[['plan', 'pro'], ['orders', 3]]]])

// Timeline entries: name, optional data, optional colour
$proxylang.push(['set', 'session:event', [[['checkout-failed', { total: 120 }, 'red']]]])

// When the user signs out: start a new visitor in this browser
$proxylang.push(['do', 'session:reset'])

// Once the chat has loaded
$proxylang.get('user:email')
$proxylang.is('chat:opened')

Avanti: Content Security Policy


Content Security Policy

For developers

La maggior parte dei siti non dispone di una Content Security Policy. Se nessuno l'ha configurata per il tuo sito, salta questa sezione.

Ti serve davvero?

A CSP is a rule list that tells the browser which scripts and servers a page may use. If your site has one, it can block Proxylang. The sign: translations never appear and there is no error on the page. Open the browser console (F12) and look for a line starting with Refused to and mentioning Content Security Policy.

Tag Script e modalità Ibrida

The script loads from proxy.proxylang.dev and Live Chat from chat.proxylang.dev . It also fetches translations, swaps in translated images and adds a few inline styles. Add these sources to your existing policy:

HTTP header
# Add these sources to your existing policy.
# script-src:  the Proxylang script, plus 'unsafe-inline' for the small styles/scripts it injects
# connect-src: translation, image and chat requests (wss:// is the Live Chat socket)
# img-src:     translated images are served from Proxylang storage
Content-Security-Policy:
  script-src  'self' https://proxy.proxylang.dev https://chat.proxylang.dev 'unsafe-inline';
  style-src   'self' 'unsafe-inline';
  connect-src 'self' https://proxy.proxylang.dev https://chat.proxylang.dev wss://chat.proxylang.dev;
  img-src     'self' data: https:

Stesse regole di un meta tag, se il tuo sito imposta la policy in questo modo:

HTML meta tag
<meta http-equiv="Content-Security-Policy"
  content="script-src 'self' https://proxy.proxylang.dev https://chat.proxylang.dev 'unsafe-inline'; style-src 'self' 'unsafe-inline'; connect-src 'self' https://proxy.proxylang.dev https://chat.proxylang.dev wss://chat.proxylang.dev; img-src 'self' data: https:">

Modalità Proxy DNS

Le traduzioni vengono aggiunte sul server, quindi la maggior parte delle policy funziona così com'è. Solo una policy che blocca tutti gli script inline richiede una modifica: Proxylang aggiunge piccoli script inline che mantengono le traduzioni in posizione durante il caricamento della pagina.

HTTP header
# Only needed if your policy blocks all inline scripts:
Content-Security-Policy: script-src 'self' 'unsafe-inline'

Avanti: Lingue da destra a sinistra


Lingue da destra a sinistra

For developers

Arabo, ebraico, persiano e urdu si leggono da destra a sinistra. Proxylang inverte il layout per te.

Cosa avviene automaticamente

When a visitor picks a right-to-left language, Proxylang sets dir="rtl" on the page so text, menus and layout mirror. When an Arabic or Hebrew site is shown in English, it sets dir="ltr" and overrides any CSS that pins the direction, so the layout flips back.

  • Any right-to-left target gets dir="rtl", even if the source is already right-to-left.
  • Left-to-right to left-to-right leaves the page untouched.
  • In script tag and Hybrid mode the page paints in its original direction first and flips once the script runs. DNS Proxy mode flips on the server with no flash.

Per disattivare la funzione per un dominio, usa l'interruttore nella pagina Language Switcher. Diventerà attivo solo una volta che una lingua da destra a sinistra sarà abilitata su quel dominio.

Riflettere una freccia o un'icona

Directional graphics (a "next" arrow, a back icon) do not mirror on their own. Add the proxylang-flip-on-rtl class to any element that should.

HTML
<!-- Mirrored when the page is right-to-left -->
<img src="/arrow-next.svg" class="proxylang-flip-on-rtl" />

<svg class="proxylang-flip-on-rtl">...</svg>

Correzioni delle animazioni ed esclusione

Alcune animazioni appaiono errate quando vengono specchiate. Proxylang aggiunge correzioni CSS per i casi più comuni: le barre di avanzamento e di caricamento si riempiono da destra, i ticker e le marquee mantengono la direzione di scorrimento, i caroselli e gli slider continuano a funzionare e le barre NProgress rimangono sul bordo superiore.

If one of those fixes breaks something on your site, add data-pl-no-rtl-fix to that element and Proxylang leaves it alone. The one exception is NProgress, which is styled by its own class and cannot be excluded this way.

For your own CSS, two variables follow the reading direction: --pl-transform-origin-start and --pl-transform-origin-end .