Installa la traduzione automatica Linguise su TYPO3 CMS

Sommario

Requisiti tecnici del CMS TYPO3

La traduzione automatica neurale da utilizzare con TYPO3 CMS richiederà l'utilizzo dello script PHP (scaricabile di seguito). Per installare lo script Linguise , avrai bisogno dei 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. Genera la chiave API

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

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

Dopodiché otterrai:

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

 

La chiave API è ciò che è necessario per attivare la traduzione sul tuo sito web TYPO3 CMS. In sostanza, la chiave API controllerà quale lingua è attivata sul tuo dominio e consentirà la traduzione automatica del contenuto.

Per ora, puoi copiare la chiave API e tenerla negli appunti.

2. Carica e collega lo script di traduzione Linguise

Lo script di traduzione Linguise deve essere caricato sul tuo 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 principale del tuo sito web (dove si trovano i file CMS TYPO3
  • Assicurati che la cartella mantenga il suo nome predefinito " linguise "
TYPO3-file CMS

La Linguise dovrà essere copiata nel Configuration.php che hai caricato sul tuo server, modifica il file e copia la tua chiave API tra virgolette semplici, sostituisci il testo REPLACE_BY_TOUR TOKEN.

config-php
COMPRENDIAMO CHE LA CONFIGURAZIONE DEGLI URL E IL CAMBIO DI LINGUA SONO UN PO' TECNICI DA CONFIGURARE; MA BUONE NOTIZIE! OFFRIAMO INSTALLAZIONE GRATUITA

3. Configura la riscrittura degli URL CMS TYPO3

Per impostazione predefinita, la riscrittura dell'URL è attiva nel CMS TYPO3 . In caso contrario, puoi attivarlo dal tuo provider di hosting.

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

				
					# 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 TYPO3 CMS .htaccess dovrebbe assomigliare 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.

COMPRENDIAMO CHE LA CONFIGURAZIONE DEGLI URL E IL CAMBIO DI LINGUA SONO UN PO' TECNICI DA CONFIGURARE; MA BUONE NOTIZIE! OFFRIAMO INSTALLAZIONE GRATUITA

4. Attivare il selettore di lingua

4.1 Caricare lo script Linguise JS

Il collegamento allo script Linguise JS deve essere caricato su tutte le pagine CMS TYPO3 per visualizzare il cambio 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.

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

Puoi raggiungere questo obiettivo seguendo questi passaggi di seguito:

  1. Accedi a Typo3 Admin,
  2. Seleziona " Pagina " > " +Contenuto " > fai clic sulla scheda Elementi speciali > HTML normale

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

Script-in-TYPO3-cms

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

TYPO3-Commutatore di lingua CMS

Nota importante sulla SEO: il numero di lingue impostate ha un grande impatto sulla SEO. Quando imposti le tue lingue di traduzione, se hai una grande quantità di pagine indicizzate (>500), il motore di ricerca potrebbe impiegare molto tempo per elaborarle. Potrebbe avere un impatto sulla tua SEO nella tua lingua originale. Ecco perché ti consigliamo di aggiungere all'inizio un massimo di 5 lingue, poi, una volta indicizzato, puoi aggiungere le lingue in un batch di 3 al mese.

Imposta il cambio di lingua in TYPO3 CMS

Il selettore di lingua può essere personalizzato dalla dashboard Linguise > Impostazioni > Visualizzazione flag lingua. Ogni modifica qui si rifletterà sul sito web.

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

  • 3 layout: affiancati, a discesa o popup
  • La posizione del selettore di lingua
  • Il 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 CMS TYPO3

posizione della bandiera sul posto

Per visualizzare il commutatore di lingua in un punto specifico, nel TYPO3 , è necessario impostare la posizione su "Sul posto".
Una volta impostata la posizione nella Linguise , puoi aggiungere lo shortcode qui sotto per includerla. Clicca sul codice qui sotto per inserirlo negli appunti.

[linguise]

Una volta aggiunto, sul frontend avrai la bandiera e i nomi delle lingue visualizzati nell'area HTML in cui hai aggiunto il codice.

Attiva l'opzione del sistema cache locale

Come opzione, puoi attivare un sistema di cache locale che memorizza gli URL e il relativo contenuto multilingue per servire le pagine più velocemente. La cache locale salverà alcuni trasferimenti 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 prioritaria sarà la cache delle pagine multilingue più visualizzate.

Per completare ciò, puoi definire la quantità di cache archiviata in MB. Nell'esempio seguente, la cache è attivata e la quantità di cache da mantenere è di 500 MB.

				
					    /** 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 su server Windows IIS

Aggiungi la riga corrispondente al tuo costruttore di siti web nel file Web.config.
Dovrebbe essere impostato 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 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 inserire 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 = '';