Zainstaluj automatyczne tłumaczenie Linguise w systemie CMS TYPO3

Spis Treści

Wymagania techniczne TYPO3 CMS

Automatyczne tłumaczenie neuronowe, które będzie używane z systemem CMS TYPO3 będzie wymagało użycia skryptu PHP (do pobrania poniżej). Aby zainstalować skrypt Linguise , musisz spełnić następujące wymagania:

  • Uruchom PHP 7+
  • Serwer Apache, LiteSpeed, NGINX, IIS
  • Upewnij się, że na Twoim serwerze jest włączona funkcja przepisywania adresów URL
  • TYPO3 CMS 9 i nowsze

1. Wygeneruj klucz API

Po połączeniu się lub zarejestrowaniu w panelu Linguise musisz najpierw skonfigurować nową domenę i zapisać jej ustawienia, aby uzyskać klucz API.

Możesz wybrać platformę „Inna platforma PHP”, aby kontynuować rejestrację domeny Linguise , podobnie jak niniejsza dokumentacja oraz języki źródłowy i docelowy.

Ustawienia platformy witryny i języka tłumaczenia

Potem otrzymasz:

  • Klucz API potwierdzający Twoje członkostwo
  • Link do skryptu Linguise dla przełącznika języka

 

Zrzut ekranu strony internetowej z filmem instruktażowym na temat tłumaczenia witryny internetowej

Klucz API jest wymagany do aktywacji tłumaczenia na stronie internetowej TYPO3 CMS. Zasadniczo klucz API sprawdza, jaki język jest aktywny w Twojej domenie i umożliwia automatyczne tłumaczenie treści.

Na razie możesz skopiować klucz API i zachować go w schowku.

2. Prześlij i podłącz skrypt tłumaczenia Linguise

Skrypt tłumaczenia Linguise należy przesłać na serwer, na którym zainstalowany jest system TYPO3 CMS:

Po pobraniu skryptu rozpakuj go i prześlij do folderu głównego, w którym zainstalowano TYPO3 CMS.

  • Upewnij się, że znajduje się on na poziomie głównym Twojej witryny (tam, gdzie znajdują się pliki TYPO3
  • Upewnij się, że folder zachowuje swoją domyślną nazwę linguise
TYPO3-plik CMS

Jak uzyskać dostęp do interfejsu skryptowego Linguise ?

Po zakończeniu Linguise możesz uzyskać dostęp do pulpitu nawigacyjnego, odwiedzając swoją witrynę za pomocą następującego formatu adresu URL
linguise https://www.domena.com/linguise

Zmień adres domeny zgodnie z adresem swojej witryny internetowej*
Upewnij się, że Linguise ma odpowiednie uprawnienia do odczytu i zapisu*

Skonfiguruj hasło i połączenie z bazą danych

Po uzyskaniu dostępu do interfejsu skryptu zostanie wyświetlony ekran konfiguracji, na którym możesz utworzyć hasło i połączyć się z wybraną bazą danych.

Możesz:

  • Ustaw hasło, które będzie wymagane w celu uzyskania dostępu do tego interfejsu w przyszłości.
  • Wybierz typ bazy danych — MySQL lub SQLite, w zależności od konfiguracji i preferencji.

Ta początkowa konfiguracja zapewnia bezpieczny dostęp i umożliwia skonfigurowanie skryptu zgodnie ze środowiskiem, w którym pracujesz.

Połączenie z bazą danych MySQL

Jeśli wybierzesz MySQL, pojawi się inny interfejs, w którym należy podać następujące dane połączenia z polami konfiguracji MySQL poniżej:

Upewnij się, że informacje są poprawne, aby nawiązać połączenie z bazą danych MySQL. 

MySQL a SQLite – jaka jest różnica?
Zarówno MySQL, jak i SQLite to popularne systemy baz danych służące do przechowywania i zarządzania danymi stron internetowych i aplikacji. Są one jednak przeznaczone do różnych zastosowań i różnią się kilkoma kluczowymi kwestiami:

FunkcjaSQLiteMySQL
Organizować cośBardzo łatwe (wymagana instalacja SQLite)Wymaga konfiguracji serwera
MagazynowaniePojedynczy szeregZarządzane przez serwer MySQL
WydajnośćŚwietnie nadaje się do aplikacji na małą skalęLepiej sprawdza się w dużych systemach o dużym natężeniu ruchu
Przypadek użyciaAplikacje lokalne, testowanie, małe witrynyAplikacje internetowe, eCommerce, systemy korporacyjne

Interfejs skryptowy Linguise : konfiguracja dla platformy PHP

Panel tłumaczeń Linguise , wcześniej dostępny tylko dla Joomla i WordPress, rozszerza teraz obsługę PHP i innych platform. Ta aktualizacja umożliwia użytkownikom płynną konfigurację ustawień językowych – takich jak opcje wyświetlania, style flag i personalizacja wyglądu – bezpośrednio z poziomu ujednoliconego interfejsu, niezależnie od używanego systemu CMS lub frameworka.

interfejs API

Administratorzy mogą wydajniej zarządzać ustawieniami Linguise dzięki spójnym funkcjom, takim jak wyskakujące okienka wyboru języka, efekty cienia i warianty flag dla poszczególnych regionów. Panel zachowuje przyjazny dla użytkownika design, oferując jednocześnie szerszą kompatybilność z różnymi środowiskami internetowymi.

interfejs wyświetlacza
wygląd-interfejs
ROZUMIEMY, ŻE KONFIGURACJA ADRESÓW URL I PRZEŁĄCZNIK JĘZYKA SĄ TROCHĘ SKOMPLIKOWANE TECHNICZNIE, ALE MAMY DOBRĄ WIADOMOŚĆ! OFERUJEMY BEZPŁATNĄ INSTALACJĘ

3. Skonfiguruj przepisywanie adresów URL w systemie CMS TYPO3

Domyślnie przepisywanie adresów URL jest aktywne w systemie TYPO3 CMS. Jeśli nie, możesz je aktywować u swojego dostawcy hostingu.

Adres URL dla języka musi zostać skonfigurowany w pliku .htaccess. Wystarczy skopiować poniższy kod po kodzie RewriteEngine on dostępnym w domyślnym 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>
				
			

Na koniec plik TYPO3 CMS .htaccess powinien wyglądać mniej więcej tak:

				
					# 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]

				
			

Teraz możesz załadować wszystkie przetłumaczone strony, korzystając z adresu URL, na przykład: www.shop.com /fr/

Załadujmy teraz przełącznik języka.

ROZUMIEMY, ŻE KONFIGURACJA ADRESÓW URL I PRZEŁĄCZNIK JĘZYKA SĄ TROCHĘ SKOMPLIKOWANE TECHNICZNIE, ALE MAMY DOBRĄ WIADOMOŚĆ! OFERUJEMY BEZPŁATNĄ INSTALACJĘ

4. Aktywuj przełącznik języka

4.1 Załaduj skrypt Linguise JS

Łącze skryptu Linguise JS musi zostać załadowane na wszystkich stronach TYPO3 CMS, aby wyświetlić przełącznik języka z flagami i alternatywnymi adresami URL w nagłówkach HTML (w celach SEO).

Aby skopiować link do skryptu, w panelu Linguise przejdź do ustawień domeny i skopiuj link do skryptu.

Wykres ilustrujący kroki instalacji modułu. Wykres przedstawia niebieską przerywaną linię biegnącą w górę.

Najprostszym sposobem załadowania tego kodu w TYPO3 CMS jest dodanie go w nagłówku witryny lub kod. TYPO3 CMS ma specjalne środowisko i musi utworzyć specjalny plik, aby dodać skrypt do nagłówka.

Można to osiągnąć, wykonując poniższe kroki:

  1. Zaloguj się do Typo3 Admin,
  2. Wybierz „ Strona ” > „ +Treść ” > kliknij kartę Elementy specjalne > Zwykły HTML

Edytuj plik skryptu, aby dodać odnośnik do skryptu w sekcji kodu HTML, jak pokazano poniżej.

Skrypt-w-TYPO3-cms

Przełącznik języka będzie domyślnie wyświetlany w pozycji pływającej w prawym górnym rogu Twojej witryny. Możesz go dostosować, jak wyjaśniono w następnym rozdziale.

TYPO3- przełącznik języka CMS

Ważna uwaga dotycząca SEO: Liczba skonfigurowanych języków ma duży wpływ na SEO. Jeśli podczas konfiguracji języków tłumaczenia masz dużą liczbę zindeksowanych stron (>500), przetworzenie ich przez wyszukiwarkę może zająć dużo czasu. Może to wpłynąć na SEO w języku źródłowym. Dlatego zalecamy dodanie na początku maksymalnie 5 języków, a następnie, gdy strona zostanie zindeksowana, możesz dodawać języki partiami po 3 języki miesięcznie.

Konfiguracja przełącznika języka w TYPO3 CMS

Przełącznik języka można dostosować w panelu Linguise > Ustawienia > Wyświetlanie flag językowych. Każda zmiana wprowadzona w tym miejscu będzie widoczna na stronie internetowej.

Zrzut ekranu przedstawiający menu rozwijane umożliwiające wybór ustawień językowych z opcjami dla języka angielskiego.

Po prawej stronie ekranu znajduje się podgląd przełącznika języka. Oto elementy, które możesz skonfigurować:

  • 3 układy: obok siebie, lista rozwijana lub wyskakujące okienko
  • Pozycja przełącznika języka
  • Zawartość przełącznika języka
  • Nazwy języków w języku angielskim lub ojczystym
  • Kształty i rozmiar flag
  • Kolory i cień pudełka

Załaduj przełącznik języka w treści TYPO3 CMS

pozycja flagi na miejscu

Aby wyświetlić przełącznik języka w określonym miejscu w TYPO3 , należy ustawić jego pozycję jako „Na miejscu”.
Po ustawieniu pozycji w Linguise , możesz dodać poniższy kod. Kliknij poniższy kod, aby umieścić go w schowku.

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

Po dodaniu, na froncie, w obszarze HTML, do którego dodałeś kod, zostaną wyświetlone nazwy flag i języków.

Aktywuj opcję lokalnego systemu pamięci podręcznej

Opcjonalnie możesz aktywować lokalny system pamięci podręcznej, który przechowuje adresy URL i powiązane z nimi treści wielojęzyczne, aby szybciej serwować strony. Lokalny system pamięci podręcznej zmniejszy transfer danych między serwerem Linguise a serwerem Twojej witryny. Pamięć podręczna jest używana tylko wtedy, gdy strona została już przetłumaczona i nie została zaktualizowana. Priorytetem będzie pamięć podręczna najczęściej wyświetlanych stron wielojęzycznych.

Aby to uzupełnić, możesz zdefiniować ilość przechowywanej pamięci podręcznej w MB. W poniższym przykładzie pamięć podręczna jest aktywowana, a ilość pamięci podręcznej do zachowania wynosi 500 MB.

Przykład kodu konfiguracji tłumaczeń Laravel . Konfiguracja do konfigurowania tłumaczeń.
				
					    /** Basic configuration **/
    public $cache_enabled = true;
    public $cache_max_size = 500; // In megabyte
				
			

Automatyczne tłumaczenie na serwerach NGINX

Dodaj wiersz odpowiadający Twojemu CMS-owi w bloku konfiguracji serwera NGINX.
Należy go ustawić przed każdym innym przekierowaniem, zwłaszcza przekierowaniem w głównym pliku 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;
				
			

Automatyczne tłumaczenie na serwerach Windows IIS

Dodaj wiersz odpowiadający kreatorowi witryny w pliku Web.config.
Powinien on być ustawiony przed każdym innym przekierowaniem, zwłaszcza przekierowaniem do głównego pliku 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>
				
			

Z SQLite do MySQL

Nadal w pliku Configuration.php znajduje się ustawienie wymuszające użycie MySQL zamiast SQLite, na wypadek gdyby SQLite nie był zainstalowany na serwerze.

W tym przypadku musisz uzupełnić informacje MySQL w tej części pliku 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 = '';