Zainstaluj automatyczne tłumaczenie Linguise w Concrete CMS

Spis Treści

Wymagania techniczne dotyczące Concrete CMS

Automatyczne tłumaczenie neuronowe, które będzie używane z Concrete CMS , 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.3+
  • Apache, serwer IIS, NGINX
  • Upewnij się, że na Twoim serwerze jest włączona funkcja przepisywania adresów URL
  • Concrete CMS 9 i wyższy

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

Następnie 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 Twojej stronie internetowej Concrete 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 Concrete CMS . Pobierz go tutaj.

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

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

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 Concrete CMS

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

Adres URL dla języka należy skonfigurować w pliku .htaccess. Wystarczy skopiować poniższy kod po kodzie RewriteEngine on dostępnym w domyślnym Concrete CMS Plik .htaccess.

				
					<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 Twój Concrete CMS powinien wyglądać mniej więcej tak:

				
					<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)(?:$|/)(.*)$ /concretee/linguise/linguise.php?linguise_language=$1&original_url=$2 [L,QSA]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME}/index.html !-f
    RewriteCond %{REQUEST_FILENAME}/index.php !-f
    RewriteRule . /concretee/index.php [L]
</IfModule>

				
			

Teraz możesz załadować wszystkie przetłumaczone strony, korzystając z adresu URL, na przykład: www.concretewebsite.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

Link do skryptu Linguise JS musi zostać załadowany na wszystkich stronach Concrete 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 Concrete CMS jest dodanie go do pliku header.php lub kod.

Możesz to skonfigurować, wykonując następujące kroki: Otwórz panel administracyjny , a następnie po prawej stronie przejdź do sekcji System i ustawienia > SEO i statystyki > Kody śledzenia . Domyślnie możesz użyć tej metody.

Jeśli jednak używasz innego motywu, niż domyślny, musisz wstawić kod do pliku header.php , który znajduje się w folderze motywu .

Edytuj plik skryptu, dodając odnośnik do skryptu w sekcji nagłówka, jak poniżej.

skrypt-w-Concrete-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.

Concrete-cms-language-switcher

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.

Ustaw przełącznik języka

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 Concrete CMS

pozycja flagi na miejscu

Aby wyświetlić przełącznik języka w określonym miejscu w Concrete CMS , 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 = '';