Зміст
Технічні вимоги TYPO3 CMS
Нейронний автоматичний переклад, який використовуватиметься з TYPO3 CMS, потребуватиме використання сценарію PHP (можна завантажити нижче). Щоб установити сценарій Linguise , вам знадобляться такі вимоги:
- Запустіть PHP 7+
- Сервер Apache, LiteSpeed, NGINX, IIS
- Переконайтеся, що на вашому сервері активовано перезапис URL-адрес
- TYPO3 CMS 9 і вище
1. Згенеруйте ключ API
Після підключення або реєстрації на інформаційній панелі Linguise вам потрібно буде спочатку налаштувати новий домен і зберегти його налаштування, щоб отримати ключ API.
Ви можете вибрати платформу «Інша PHP», щоб продовжити реєстрацію домену Linguise , як-от ця документація, вихідна та цільова мови.
Після цього ви отримаєте:
- Ключ API, який підтверджує ваше членство
- Посилання на сценарій Linguise для перемикача мов
Ключ API – це те, що потрібно для активації перекладу на вашому веб-сайті TYPO3 CMS. По суті, ключ API перевірить, яку мову активовано у вашому домені, і дозволить автоматичний переклад вмісту.
Наразі ви можете скопіювати ключ API і зберегти його в буфері обміну.
2. Завантажте та підключіть сценарій перекладу Linguise
Сценарій перекладу Linguise необхідно завантажити на ваш сервер, де встановлено TYPO3 CMS:
Після завантаження сценарію розпакуйте його та завантажте в кореневу папку, де встановлено TYPO3 CMS.
- Переконайтеся, що це на кореневому рівні вашого веб-сайту (де розташовані файли TYPO3
- Переконайтеся, що папка зберігає назву за замовчуванням « linguise »
Ключ Linguise API потрібно буде скопіювати у Configuration.php , який ви завантажили на свій сервер, відредагуйте файл і скопіюйте свій ключ API між простими лапками, замініть текст REPLACE_BY_TOUR TOKEN.
3. Налаштуйте перезапис URL-адрес TYPO3 CMS
За замовчуванням перезапис URL-адрес активний у TYPO3 CMS. Якщо це не так, ви можете активувати його у свого хостинг-провайдера.
URL-адресу за мовою потрібно налаштувати в .htaccess. Просто скопіюйте наведений нижче код після коду “ RewriteEngine on ” , який доступний у стандартному TYPO3 CMS .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
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]
Нарешті, ваш файл .htaccess TYPO3 CMS має виглядати приблизно так:
# Set PHP version to 7.4
AddHandler application/x-httpd-php74 .php
# 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]
Тепер ви можете завантажити всі свої перекладені сторінки за допомогою URL-адреси, наприклад: www.shop.com /fr/
Давайте тепер завантажимо перемикач мов.
4. Активуйте перемикач мов
4.1 Завантажте сценарій Linguise JS
Посилання на сценарій Linguise JS потрібно завантажити на всі ваші сторінки CMS TYPO3 , щоб відображати перемикач мов із прапорцями та альтернативними URL-адресами у ваших заголовках HTML (з метою SEO).
Щоб скопіювати посилання на сценарій, на інформаційній панелі Linguise перейдіть до налаштувань домену та скопіюйте посилання на сценарій.
Найпростіший спосіб завантажити цей код у TYPO3 CMS – додати його в заголовок веб-сайту або код. TYPO3 CMS постачається зі спеціальним середовищем, і воно має створити певний файл, щоб додати сценарій до заголовка.
Ви можете досягти цього, виконавши наведені нижче дії.
- Увійдіть до Typo3 ,
- Виберіть « Сторінка » > « +Вміст » > клацніть вкладку Спеціальні елементи > Звичайний HTML
Відредагуйте файл сценарію, щоб включити посилання на сценарій у розділ HTML-коду, як показано нижче.
Перемикач мов за замовчуванням відображатиметься у плаваючому верхньому правому місці на вашому веб-сайті. Ви можете налаштувати його, як описано в наступному розділі.
Важлива примітка щодо SEO: кількість налаштованих мов має великий вплив на SEO. Під час налаштування мов перекладу, якщо у вас є велика кількість проіндексованих сторінок (>500), пошуковій системі може знадобитися багато часу для їх обробки. Це може вплинути на ваше SEO мовою оригіналу. Ось чому ми рекомендуємо спочатку додавати максимум 5 мов, а потім, коли буде проіндексовано, ви зможете додавати мови по 3 на місяць.
Налаштуйте перемикач мов у TYPO3 CMS
Перемикач мов можна налаштувати на інформаційній панелі Linguise > Налаштування > Відображення позначок мови. Кожна зміна тут буде відображена на веб-сайті.
У правій частині екрана є попередній перегляд перемикача мов. Ось елементи, які ви можете налаштувати:
- 3 макети: поруч, спадне або спливаюче
- Положення перемикача мов
- Вміст перемикача мов
- Назви мов англійською або рідною мовою
- Форми та розміри прапорів
- Кольори та коробка тіні
Завантажте перемикач мов у вміст TYPO3 CMS
Щоб відобразити перемикач мов у певному місці у TYPO3 , вам слід встановити позицію «На місці».
Після того як ви встановили позицію на Linguise , ви можете додати короткий код нижче, щоб включити його. Натисніть на наведений нижче код, щоб помістити його в буфер обміну.
Після додавання на інтерфейсі ви матимете прапор і назви мов, які відображатимуться в області HTML, до якої ви додали код.
Активуйте опцію системи локального кешу
Як варіант, ви можете активувати систему локального кешу, яка зберігає URL-адреси та відповідний багатомовний вміст для швидшого обслуговування сторінок. Локальний кеш заощадить передачу даних між сервером Linguise та сервером вашого веб-сайту. Кеш використовується лише тоді, коли сторінку вже перекладено й не оновлено. Кеш-пам’ять, яка буде мати пріоритет, буде кеш-пам’яттю багатомовних сторінок, які найчастіше переглядаються.
Щоб доповнити це, ви можете визначити обсяг кешу, що зберігається в МБ. У наведеному нижче прикладі кеш активовано, а обсяг кешу, який потрібно зберегти, становить 500 МБ.
/** Basic configuration **/
public $cache_enabled = true;
public $cache_max_size = 500; // In megabyte
Автоматичний переклад на серверах NGINX
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;
Автоматичний переклад на серверах Windows IIS
Додайте рядок, що відповідає конструктору веб-сайтів, у файл Web.config.
Його слід встановити перед будь-яким іншим перенаправленням, особливо перед перенаправленням до головного файлу PHP:
Від SQLite до MySQL
У Configuration.php є налаштування для примусового використання MySQL замість SQLite, якщо SQLite не встановлено на сервері.
У цьому випадку вам потрібно буде заповнити інформацію MySQL у цій частині файлу 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 = '';