Installa la traduzione automatica Linguise su TYPO3 CMS

Tabella dei Contenuti

Requisiti tecnici del CMS TYPO3

Per utilizzare la traduzione automatica neurale con TYPO3 CMS sarà necessario utilizzare lo script PHP (scaricabile qui sotto). Per installare lo script Linguise , sono necessari i seguenti requisiti:

  • Esegui PHP 7+
  • Server Apache, LiteSpeed, NGINX, IIS
  • Assicurati che la riscrittura degli URL sia attivata sul tuo server
  • TYPO3 CMS 9 e versioni successive

1. Generare la chiave API

Dopo la connessione o la registrazione alla dashboard Linguise , dovrai prima configurare un nuovo dominio e salvarne le impostazioni per ottenere la chiave API.

È possibile selezionare la piattaforma "Altro PHP" per procedere con la registrazione del dominio Linguise , come questa documentazione e le lingue di origine e di destinazione.

Impostazioni della piattaforma del sito web e della lingua di traduzione

Dopodiché otterrai:

  • La chiave API che convalida la tua iscrizione
  • Il collegamento allo script Linguise per il cambio di lingua

 

Uno screenshot di una pagina web con un video sulla traduzione di un sito web

La chiave API è ciò che serve per attivare la traduzione sul tuo sito web TYPO3 CMS. In pratica, la chiave API verifica quale lingua è attiva sul tuo dominio e consente la traduzione automatica dei contenuti.

Per ora puoi copiare la chiave API e conservarla negli appunti.

2. Carica e collega lo script di traduzione Linguise

Lo script di traduzione Linguise deve essere caricato sul server su cui è installato TYPO3 CMS:

Dopo aver scaricato lo script, decomprimilo e caricalo nella cartella principale in cui è installato TYPO3 CMS.

  • Assicurati che sia al livello radice del tuo sito web (dove si trovano i file TYPO3
  • Assicurati che la cartella mantenga il suo nome predefinito " linguise "
File TYPO3-CMS

Come accedere all'interfaccia dello script Linguise ?

Dopo aver completato l' Linguise , puoi accedere alla dashboard visitando il tuo sito web con il seguente formato URL:
https://www.dominio.com/ linguise

Cambia l'indirizzo del dominio in base all'indirizzo del tuo sito web*
Assicurati che Linguise abbia i permessi di lettura e scrittura appropriati*

Imposta password e connessione al database

Una volta effettuato l'accesso all'interfaccia dello script, verrà visualizzata una schermata di configurazione in cui è possibile creare una password e connettersi al database preferito.

Puoi:

  • Imposta una password che sarà necessaria per i futuri accessi a questa interfaccia.
  • Scegli il tipo di database: MySQL o SQLite, a seconda della tua configurazione e delle tue preferenze.

Questa configurazione iniziale garantisce un accesso sicuro e consente di configurare lo script in base al proprio ambiente.

Connessione al database MySQL

Se si sceglie MySQL, verrà visualizzata un'interfaccia diversa che richiederà i seguenti dettagli di connessione dei campi di configurazione MySQL riportati di seguito:

Assicurati che le informazioni siano corrette per stabilire una connessione corretta al tuo database MySQL. 

MySQL vs SQLite: qual è la differenza?
MySQL e SQLite sono entrambi sistemi di database molto diffusi, utilizzati per archiviare e gestire dati per siti web e applicazioni. Tuttavia, sono progettati per casi d'uso diversi e presentano alcune differenze fondamentali:

CaratteristicaSQLiteMySQL
ImpostareMolto semplice (è richiesta l'installazione di SQLite)Richiede la configurazione del server
Archiviazionefila indianaGestito dal server MySQL
PrestazioniOttimo per app su piccola scalaIdeale per sistemi di grandi dimensioni e ad alto traffico
Caso d'usoApplicazioni locali, test, piccoli sitiApplicazioni web, eCommerce, sistemi aziendali

Interfaccia dello script Linguise : configurazione per la piattaforma PHP

La dashboard di traduzione Linguise , precedentemente disponibile solo per Joomla e WordPress, ora estende il supporto a PHP e ad altre piattaforme. Questo aggiornamento consente agli utenti di configurare senza problemi le impostazioni della lingua, come le opzioni di visualizzazione, gli stili dei flag e la personalizzazione dell'aspetto, direttamente da un'interfaccia unificata, indipendentemente dal CMS o dal framework in uso.

interfaccia API

Gli amministratori possono gestire le impostazioni Linguise in modo più efficiente, con funzionalità coerenti come popup di selezione della lingua, effetti ombra e varianti di scelta delle bandiere specifiche per regione. La dashboard mantiene il suo design intuitivo, offrendo al contempo una maggiore compatibilità con diversi ambienti web.

interfaccia di visualizzazione
aspetto-interfaccia
Sappiamo che la configurazione degli URL e il cambio di lingua sono un po' tecnici, ma c'è una buona notizia! Offriamo l'installazione gratuita

3. Imposta la riscrittura degli URL del CMS TYPO3

Di default, la riscrittura degli URL è attiva in TYPO3 CMS. In caso contrario, puoi attivarla tramite il tuo provider di hosting.

L'URL per lingua deve essere configurato nel file .htaccess. Basta copiare il codice sottostante dopo il codice " RewriteEngine on " disponibile nel file .htaccess predefinito TYPO3 CMS .

				
					# Set PHP version to 7.4 >> Please Add this code before the Rewrite rules to ensure Linguise works in PHP v7.4
AddHandler application/x-httpd-php74 .php

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|/)(.*)$ linguise/linguise.php?linguise_language=$1&original_url=$2 [L,QSA]
</IfModule>
				
			

Infine, il file .htaccess del tuo TYPO3 CMS dovrebbe avere un aspetto simile a questo:

				
					# Set PHP version to 7.4
AddHandler application/x-httpd-php74 .php

<IfModule mod_rewrite.c>

	# Enable URL rewriting
	RewriteEngine On
	RewriteBase /typo10/   # Set the RewriteBase to the subfolder

    # Add a condition to check if the request starts with the subfolder
    RewriteCond %{REQUEST_URI} !^/typo10/

    # Rewrite requests that don't start with the subfolder to include it
    RewriteRule ^(.*)$ /typo10/$1 [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l

	RewriteRule ^(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|/)(.*)$ /typo10/linguise/linguise.php?linguise_language=$1&original_url=$2 [L,QSA]

				
			

Ora puoi caricare tutte le tue pagine tradotte utilizzando l'URL, ad esempio: www.shop.com /fr/

Carichiamo ora il selettore di lingua.

Sappiamo che la configurazione degli URL e il cambio di lingua sono un po' tecnici, ma c'è una buona notizia! Offriamo l'installazione gratuita

4. Attiva il selettore di lingua

4.1 Caricare lo script Linguise JS

Il collegamento allo script Linguise JS deve essere caricato su tutte le pagine del tuo TYPO3 CMS per visualizzare il selettore di lingua con flag e URL alternativi nelle intestazioni HTML (per scopi SEO).

Per copiare il collegamento allo script, dalla dashboard Linguise vai alle impostazioni del dominio e copia il collegamento allo script.

Un grafico che illustra i passaggi per installare un modulo. Il grafico mostra una linea tratteggiata blu che sale.

Il modo più semplice per caricare questo codice in TYPO3 CMS è aggiungerlo all'interno dell'intestazione del tuo sito web o codice. TYPO3 CMS è dotato di un ambiente speciale e deve creare un file specifico per aggiungere uno script all'intestazione.

Puoi ottenere questo risultato seguendo i passaggi indicati di seguito:

  1. Accedi all'amministrazione di Typo3 ,
  2. Seleziona " Pagina " > " +Contenuto " > fai clic sulla scheda Elementi speciali > HTML semplice

Modifica il file di script per includere il collegamento allo script nella sezione del codice HTML, come di seguito.

Script inTYPO3-cms

Il selettore di lingua verrà visualizzato per impostazione predefinita in alto a destra sul tuo sito web. Puoi personalizzarlo come spiegato nel prossimo capitolo.

TYPO3-CMS-cambio-lingua

Nota importante sulla SEO: il numero di lingue impostate ha un impatto significativo sulla SEO. Quando imposti le lingue di traduzione, se hai un numero elevato di pagine indicizzate (>500), il motore di ricerca potrebbe impiegare molto tempo per elaborarle. Questo potrebbe influire sulla SEO nella lingua originale. Ecco perché consigliamo di aggiungere inizialmente un massimo di 5 lingue, poi, una volta indicizzate, potrai aggiungerne 3 al mese.

Imposta il selettore di lingua in TYPO3 CMS

Il selettore di lingua può essere personalizzato dalla dashboard Linguise > Impostazioni > Visualizzazione delle bandiere delle lingue. Ogni modifica apportata qui verrà riflessa sul sito web.

Uno screenshot che mostra un menu a discesa per selezionare le impostazioni della lingua con opzioni per l&#39;inglese.

Sul lato destro dello schermo è presente l'anteprima del selettore di lingua. Ecco gli elementi che puoi impostare:

  • 3 layout: affiancati, a discesa o popup
  • Posizione del selettore di lingua
  • Contenuto del selettore di lingua
  • Nomi delle lingue in inglese o nella lingua madre
  • Forme e dimensioni delle bandiere
  • Colori e ombra della scatola

Carica il selettore di lingua nel contenuto TYPO3 CMS

posizione della bandiera in posizione

Per visualizzare il selettore di lingua in un punto specifico del TYPO3 , è necessario impostare la posizione "In place".
Una volta impostata la posizione nella Linguise , è possibile aggiungere lo shortcode qui sotto per includerla. Fare clic sul codice qui sotto per salvarlo negli appunti.

				
					<div>&#091;linguise&#093;</div>
				
			

Una volta aggiunto, sul frontend verranno visualizzati i nomi della bandiera e della lingua nell'area HTML in cui hai aggiunto il codice.

Attiva l'opzione del sistema di cache locale

In alternativa, puoi attivare un sistema di cache locale che memorizza gli URL e i relativi contenuti multilingue per servire le pagine più velocemente. La cache locale eviterà il trasferimento di dati tra il server Linguise e il server del tuo sito web. La cache viene utilizzata solo quando una pagina è già stata tradotta e non è stata aggiornata. La cache mantenuta in priorità sarà quella delle pagine multilingue più visualizzate.

Per completare questa operazione, è possibile definire la quantità di cache memorizzata in MB. Nell'esempio seguente, la cache è attivata e la quantità di cache da conservare è 500 MB.

Esempio di codice di configurazione della traduzione Laravel . Configurazione per impostare le traduzioni.
				
					    /** Basic configuration **/
    public $cache_enabled = true;
    public $cache_max_size = 500; // In megabyte
				
			

Traduzione automatica sui server NGINX

Aggiungi la riga corrispondente al tuo CMS nel blocco di configurazione del server NGINX.
Dovrebbe essere impostato prima di qualsiasi altro reindirizzamento, in particolare il reindirizzamento nel file principale PHP.
				
					rewrite ^/(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|/)(.*)$ /linguise/linguise.php?linguise_language=$1&original_url=$2 last;
				
			

Traduzione automatica sui server Windows IIS

Aggiungi la riga corrispondente al tuo generatore di siti web nel file Web.config.
Dovrebbe essere impostata prima di qualsiasi altro reindirizzamento, in particolare il reindirizzamento al file principale PHP:

				
					<rule name="Linguise" stopProcessing="true">
<match url="^(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-cn|zh-tw|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu|zz-zz)(?:$|/)(.*)$" ignoreCase="false" />
        <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
            <action type="Rewrite" url="linguise/linguise.php?linguise_language={R:1}&amp;original_url={R:2}" appendQueryString="true" />
</rule>
				
			

Da SQLite a MySQL

Sempre nel file Configuration.php c'è un'impostazione per forzare l'utilizzo di MySQL invece di SQLite, nel caso in cui SQLite non sia installato sul server.

In questo caso, dovrai compilare le informazioni MySQL in questa parte del file Configuration.php:

				
					    /** Advanced database configuration **/
    /*
     *  In case you don't want to use Sqlite, you can use MySQL
     *  To do so, you need to fill the following variables
     *  Linguise will create the tables for you
     */
    public static $db_host = '';
    public static $db_user = '';
    public static $db_password = '';
    public static $db_name = '';
    public static $db_prefix = '';