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.
Configura in quattro passaggi
Add your site
Vai su Configurazione e digita l'indirizzo del tuo sito web. Scegli la piattaforma su cui gira.
Pick languages
Scegli la lingua originale del tuo sito, poi le lingue che vuoi aggiungere. Il tuo piano stabilisce il numero massimo consentito.
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.
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
I motori di ricerca leggono il tuo sito originale.
Hybrid
I motori di ricerca ricevono le pagine tradotte.
DNS Proxy
Tutti ricevono le pagine tradotte.
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.
Con la modalità DNS Proxy o Hybrid, Proxylang si posiziona tra il visitatore (o il motore di ricerca) e il tuo server:
A visitor opens a translated address
yourdomain.com/es-es/pageProxylang recupera la pagina originale dal tuo server
L'IA traduce il testo visibile
Il layout e il codice rimangono esattamente come erano.
La pagina tradotta viene salvata e servita
Il visitatore successivo la riceve istantaneamente.
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.
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.
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.
Modifica una traduzione
- 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 .
- Switch the site to the language you want to fix.
- 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.
- On the Live Editor page, find Invite a translator . Type their email.
- Under Can edit , leave All languages or pick only the languages they should touch.
- 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.
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-translateclass 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.
<!-- 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.
<!-- @proxylang-do-not-translate-start -->
<div class="testimonial">
Customer reviews stay exactly as written.
</div>
<!-- @proxylang-do-not-translate-end -->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.
<!-- 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.
Pagine legali
Per impostazione predefinita, le informative sulla privacy e i termini rimangono nella tua lingua originale.
Mantieni le pagine legali nella tua lingua
Una traduzione automatica di un contratto potrebbe non essere valida in tribunale e una lunga pagina legale consumerebbe inutilmente gran parte del tuo limite di parole. Per questo motivo Proxylang salta queste pagine, a meno che tu non decida diversamente.
Pagine saltate senza alcuna configurazione
Proxylang si basa sull'indirizzo della pagina. Queste vengono saltate in ogni piano e in ogni modalità:
/privacy,/privacy-policy,/cookie-policy,/cookies,/gdpr/terms,/tos,/terms-of-service,/terms-and-conditions,/legal,/eula/disclaimer,/dmca,/copyright,/refund,/refund-policy,/return-policy,/shipping-policy- German:
/agb,/datenschutz,/impressum,/nutzungsbedingungen
Viene saltato solo il testo principale della pagina. Intestazione, menu e piè di pagina vengono comunque tradotti, così i tuoi visitatori potranno continuare a orientarsi facilmente.
Pagine legali con altri indirizzi
If your legal page lives somewhere else (for example /about/policies), mark it yourself. Add the proxylang-no-translate class to the element that wraps the legal text. On a site builder, put the legal text in a code block or custom HTML element and add the class there.
<!-- Wrap the legal text, not the whole page -->
<main class="proxylang-no-translate">
<h1>Privacy Policy</h1>
<p>Last updated ...</p>
</main>Se desideri tradurle
Fai redigere la versione in un'altra lingua da un avvocato o da un traduttore certificato, quindi pubblicala come pagina separata. Non fare affidamento sulla traduzione automatica per qualsiasi cosa che un cliente potrebbe firmare o contestare.
Avanti: SEO in altre lingue
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.
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
<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
<?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.txtis served with the sitemap lines added. Your own rules are kept.
Motori di ricerca basati su IA
robots.txtallows GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot and Google-Extended.- A
/llms.txtfile 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.
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.
Apri il tuo dominio, poi la scheda Setup
Domini → il tuo dominio → Setup.
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.
Keep Script Tag on
I tuoi visitatori continuano a usare il tag script che hai già installato.
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.
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
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.
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.
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
- On the Live Chat tab, in the Agents card, type a teammate's email and click Invite . Seats are free and unlimited.
- They get a link, good for seven days. They enter the name visitors will see and the language they want to read chats in.
- 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.
- 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.
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-imageto the image tag.
<!-- 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.
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.
<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:
<!-- 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.
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.
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.
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
Visualizzazioni: reset il 1° del mese
| Plan | Words (total) | Page views / month | Languages | Sites |
|---|---|---|---|---|
| Test Drive | 2,000 | 1,500 | 1 | 1 |
| Lite | 20,000 | 15,000 | 5 | 1 |
| Start | 100,000 | 50,000 | All 77 (3 indexed) | Unlimited |
| Pro | 500,000 | 150,000 | All 77 (10 indexed) | Unlimited |
| Business | 2,500,000 | 750,000 | All 77 (25 indexed) | Unlimited |
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.
For developers
Riferimento attributi, API JavaScript ed eventi, API Live Chat, Content Security Policy, lingue da destra a sinistra.
Riferimento attributi
For developersOgni 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 developersLeggi la lingua attiva, crea il tuo selettore e reagisci ai cambiamenti.
window.Proxylang
Disponibile in modalità script tag, Hybrid e DNS Proxy.
| Method | Returns | Description |
|---|---|---|
getCurrentLanguage() | string | Active language code, e.g. "ko-KR". |
getBaseLanguage() | string | The site’s own language. |
getLanguages() | Array | Enabled 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() | boolean | True once the widget has initialised. |
onReady(fn) | void | Runs fn when ready, or at once if already ready. |
isTranslated() | boolean | True once the first translation pass has finished. |
onTranslated(fn) | void | Runs fn when the first pass finishes, or at once if it already has. |
onLanguageChange(fn) | () => void | Runs fn on every switch. Returns a function that unsubscribes. |
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") // navigatesProxylang:ready
Fired on document once the widget has initialised. detail carries language and baseLanguage .
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.
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.
// 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=1to any page address to get verbose logs in the console. - In DNS Proxy mode a
proxylang:translatingevent fires onwindowwithdetail.loadingtrue 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 developersInserisci 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$crispto$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,$proxylangis a plain array.
// 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
| Command | What 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:textandmessage:showappear exactly as you write them. They are not translated. Pick the text for the visitor's language yourself withwindow.Proxylang.getCurrentLanguage().- A
message:showmessage while the window is closed adds to the unread count on the chat bubble.
// 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
| Command | What 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.
| Command | What 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. |
$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 developersLa 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:
# 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:
<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.
# 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 developersArabo, 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.
<!-- 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 .