Установить Linguise на сайты, основанные на Laravel

Оглавление

Технические требования

Чтобы запустить скрипт перевода Linguise, вам понадобится следующее:

  • Запустите PHP 7+ и Laravel
  • Серверы Apache, LiteSpeed, NGINX, IIS
  • Активируйте переписывание URL в конфигурации вашего сервера
  • Корневая папка Laravel обычно находится в “public” папке, убедитесь, что Linguise установлен в этой папке 

1. Сгенерируйте ключ API

После вашего подключения к вашему Linguise dashboard вам потребуется сначала настроить новый домен и сохранить его настройки, чтобы получить API-ключ.

API‑ключ — это то, что требуется для активации перевода на вашем сайте. По сути, API‑ключ проверит, какой язык активирован на каком домене, и позволит генерировать страницы нейронного перевода.

Скопируйте ключ API и сохраните его в буфере обмена.

Шаг 2 из 2, готово. Вы можете начать перевод!

Затем, щёлкнув по вкладке “Script PHP”, вы’ получите инструкции по установке, которые мы’ подробно рассмотрим здесь.

Скриншот инструкций по установке плагина WordPress, показывающий шаги по установке социального доказательства на веб‑сайте.

2. Загрузите и подключите скрипт перевода Linguise

Скрипт перевода Linguise необходимо загрузить на ваш сервер, в папку, где установлен Laravel, его можно скачать здесь:

После загрузки скрипта распакуйте его и загрузите в корневую папку, где установлен Laravel.

  • Убедитесь, что это находится на корневом уровне вашей установки Laravel (обычно Laravel устанавливает корень в “public” папке, вы можете установить Linguise там)
  • Убедитесь, что папка называется “linguise” (имя по умолчанию при распаковке папки)
Список каталогов файловой системы с папками

Как получить доступ к интерфейсу Linguise Script?

После завершения установки Linguise вы можете получить доступ к панели управления, посетив свой веб-сайт по следующему URL-адресу:
https://www.domain.com/linguise

Измените доменное имя в соответствии с адресом вашего веб-сайта*.
Убедитесь, что у Linguise есть соответствующие права на чтение и запись*.

Настройка пароля и подключения к базе данных

После доступа к интерфейсу скрипта вам будет показан экран настройки, где вы сможете создать пароль и подключиться к выбранной вами базе данных.

Ты можешь:

  • Установите пароль, который потребуется для дальнейшего доступа к этому интерфейсу.
  • Выберите тип базы данных — MySQL или SQLite, в зависимости от ваших настроек и предпочтений.

Эта первоначальная настройка обеспечивает безопасный доступ и позволяет сконфигурировать скрипт в соответствии с вашей средой.

подключение к базе данных MySQL

Если вы выберете MySQL, появится другой интерфейс, запрашивающий следующие данные для подключения к полям конфигурации MySQL:

Убедитесь, что предоставленная информация верна, чтобы установить успешное соединение с вашей базой данных MySQL. 

MySQL vs SQLite – В чём разница?
MySQL и SQLite — популярные системы баз данных, используемые для хранения и управления данными веб‑сайтов и приложений. Однако они предназначены для разных сценариев использования и имеют некоторые ключевые различия:

ОсобенностьSQLiteMySQL
НастраиватьОчень просто (требуется установка SQLite)Требуется настройка сервера
ХранилищеОдин файлУправление осуществляется сервером MySQL
ПроизводительностьОтлично подходит для небольших приложенийЛучше подходит для крупных систем с высокой интенсивностью трафика
Вариант использованияЛокальные приложения, тестирование, небольшие сайтыВеб-приложения, электронная коммерция, корпоративные системы

Интерфейс Linguise Script: настройка для платформы PHP

Панель управления переводом Linguise, ранее доступная только для Joomla и WordPress, теперь поддерживает PHP и другие платформы. Это обновление позволяет пользователям легко настраивать языковые параметры — такие как параметры отображения, стили флагов и внешний вид — непосредственно из единого интерфейса, независимо от используемой CMS или фреймворка.

API-интерфейс

Администраторы могут более эффективно управлять настройками языка благодаря таким единообразным функциям, как всплывающие окна выбора языка, эффекты теней и варианты выбора флагов для конкретных регионов. Панель управления сохраняет свой удобный дизайн, предлагая при этом более широкую совместимость с различными веб-средами.

интерфейс дисплея
внешний вид-интерфейс
Мы понимаем, что настройка URL-адресов и переключения языка может быть немного сложной с технической точки зрения; но есть и хорошие новости! Мы предлагаем бесплатную установку

3. Настройте URL‑адреса языков

URL по языкам необходимо настроить в файле .htaccess, если у вас есть “RewriteBase /” в файле, просто скопируйте после этого весь следующий код:

				
					<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^linguise/linguise.php$ - [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)(?:$|/)(.*)$ linguise/linguise.php?linguise_language=$1&original_url=$2 [L,QSA] </IfModule>
				
			
Скриншот папки компьютера на Mac OS.
Мы понимаем, что настройка URL-адресов и переключения языка может быть немного сложной с технической точки зрения; но есть и хорошие новости! Мы предлагаем бесплатную установку

4. Активировать переключатель языка в Laravel

Переключатель языка — это всплывающее окно с флагом для выбора нужного языка. Чтобы загрузить его, вам понадобится скопировать код, указанный в конце конфигурации сайта (Linguise dashboard).

Скрипт должен быть загружен в head ваших HTML-страниц, обрабатываемых Laravel. Затем переключатель языка с флагом будет загружен автоматически.

Баннер согласия на использование файлов cookie на веб‑сайте

Переключатель языков будет отображаться по умолчанию в плавающем положении в правом верхнем углу вашего сайта. Вы можете настроить его по своему желанию с помощью CSS.

Выпадающее меню для выбора языков на веб-сайте. Варианты включают английский, испанский, французский и другие.

Важное примечание SEO: Количество языков, которые вы настраиваете, сильно влияет на SEO. Когда вы настраиваете языки перевода, если у вас большое количество проиндексированных страниц (>500), поисковый движок может потребовать много времени для их обработки. Это может повлиять на ваш SEO в исходном языке. Поэтому мы рекомендуем сначала добавить максимум 5 языков, а затем, когда они будут проиндексированы, добавлять языки партиями по 3 в месяц.

Настройте переключатель языка

Переключатель языка можно настроить в панели управления Linguise > Настройки > Отображение языковых флагов. Все изменения, внесенные здесь, будут отражены на веб-сайте.

Скриншот, демонстрирующий выпадающее меню для выбора языковых настроек с возможностью выбора английского языка.

В правой части экрана отображается предварительный просмотр переключателя языка. Вот элементы, которые вы можете настроить:

  • 3 варианта расположения элементов: рядом, выпадающее меню или всплывающее окно
  • Позиция переключателя языка
  • Содержимое переключателя языка
  • Названия языков на английском или родном языке
  • Формы и размеры флагов
  • Цвета и тень от коробки

Загрузите переключатель языка в контент Laravel

положение флага на месте

Чтобы отобразить переключатель языка в определённом месте в содержимом Laravel, вы должны установить позицию как “In place”. 
После того как вы установите позицию в панели управления Linguise, вы можете добавить приведённый ниже шорткод, чтобы включить его. Нажмите на код ниже, чтобы скопировать его в буфер обмена.

				
					<div>[лингвизе]</div>
				
			

После добавления на фронтенде названия флага и языка будут отображаться в HTML-области, куда вы добавили код.

Система локального кэша для страниц Laravel

В качестве опции вы можете активировать локальную систему кэширования, которая хранит URL-адреса и связанный с ними многоязычный контент для более быстрой загрузки страниц. Локальный кэш позволит сэкономить данные, передаваемые между сервером Linguise и сервером вашего веб-сайта. Кэш используется только тогда, когда страница уже переведена и не обновлялась. Приоритет будет отдаваться кэшу наиболее просматриваемых многоязычных страниц.

Пример кода для настройки перевода в Laravel. Конфигурация для настройки переводов.

В качестве опции вы можете задать объём кэша в мегабайтах. В следующем примере кэш активирован, и объём кэша, который следует сохранять, составляет 500 МБ:

				
					    /** Базовая конфигурация **/ public $cache_enabled = true; public $cache_max_size = 500; // В мегабайтах
				
			

Специфические настройки для платформы Laravel

В файле Configuration.php у нас также есть настройка, позволяющая передать некоторую специфическую конфигурацию для CMS или не CMS. По умолчанию это автоматическое, но команда поддержки может попросить вас персонализировать его для использования некоторых специальных настроек.

Вот код, который нужно добавить для Laravel, это имя CMS в нижнем регистре:

				
					    /** Базовая конфигурация **/ /* * Обновите значение CMS в соответствии с вашей CMS * Доступные CMS: laravel, prestashop */ public static $cms = 'laravel';
				
			

От SQLite к MySQL

По‑прежнему в файле Configuration.php есть настройка, принуждающая использовать MySQL вместо SQLite, если SQLite не установлен на сервере.

В этом случае вам понадобится заполнить информацию MySQL в этой части файла Configuration.php:

				
					    /** Продвинутая конфигурация базы данных **/ /* * Если вы не хотите использовать Sqlite, вы можете использовать MySQL * Для этого вам нужно заполнить следующие переменные * Linguise создаст таблицы для вас */ public static $db_host = ''; public static $db_user = ''; public static $db_password = ''; public static $db_name = ''; public static $db_prefix = '';
				
			

Автоматический перевод на Laravel + Windows IIS серверах

Добавьте строку, соответствующую вашему конструктору сайтов, в файл Web.config.
Она должна быть установлена до любого другого перенаправления, особенно перенаправления к вашему основному 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}&original_url={R:2}" appendQueryString="true" /> </rule>
				
			

Автоматический перевод на Laravel + NGINX серверах

Добавьте строку, соответствующую вашей CMS, в блок конфигурации вашего сервера NGINX.
Его следует установить до любых других перенаправлений, особенно до перенаправлений в основном PHP-файле.
				
					переписать ^/(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;