在 TYPO3 CMS上安装 Linguise 自动翻译

目录

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 CMS 文件所在的位置)
  • 确保文件夹保留其默认名称 linguise
TYPO3-CMS 文件

如何访问 Linguise 脚本接口?

完成Linguise安装后,您可以通过以下URL格式访问网站:
https://www.domain.com/linguise

根据您的网站地址更改域地址*
确保Linguise具有适当的读写和写入许可*

设置密码和数据库连接

访问脚本接口后,您将提供一个设置屏幕,您可以在其中创建密码并连接到首选的数据库。

你可以:

  • 设置一个密码,这是对将来访问此接口所需的密码。
  • 根据您的设置和偏好,选择您的数据库类型 - MySQL或SQLite。

此初始设置可确保安全访问权限,并允许您根据环境配置脚本。

MySQL数据库连接

如果您选择MySQL,则会出现不同的接口,要求以下MySQL配置字段的以下连接详细信息:

确保信息是正确的,以建立与您的MySQL数据库的成功连接。 

mysql vs sqlite - 有什么区别?
MySQL和SQLite都是流行的数据库系统,用于存储和管理网站和应用程序的数据。但是,它们是针对不同用例设计的,并且有一些关键差异:

特征sqlitemysql
设置非常简单(需要安装SQLite)需要服务器设置
贮存单文件由MySQL Server管理
表现非常适合小型应用程序更好的是大型高流量系统
使用案例本地应用程序,测试,小网站Web应用程序,电子商务,企业系统

Linguise 脚本接口:PHP平台的设置

以前仅适用于 Joomla 和 WordPressLinguise 翻译仪表板现在向PHP和其他平台扩展了支持。此更新允许用户无缝配置语言设置(例如显示选项,标志样式和外观自定义),无论其CMS或框架如何,都可以从统一的界面中直接配置。

API接口

管理员可以更有效地管理 Linguise 设置,具有一致的功能,例如语言选择弹出窗口,阴影效果和特定于区域的标志选择变体。仪表板保留了其用户友好的设计,同时为各种网络环境提供了更广泛的兼容性。

显示开关
外观接口
我们确实了解 URL 配置和语言切换器的配置有点技术性; 但好消息! 我们提供免费安装

3. 设置 TYPO3 CMS URL重写

默认情况下, TYPO3 CMS 中的 URL 重写处于活动状态。 如果不是这种情况,您可以从托管提供商处激活它。

需要在 .htaccess 中配置按语言划分的 URL。 默认TYPO3 CMS 代码 RewriteEngine on

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

最后,您的 TYPO3 CMS .htaccess 文件应如下所示:

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

				
			

您现在可以使用 URL 加载所有已翻译的页面,例如:www.shop.com /fr/

现在让我们加载语言切换器。

我们确实了解 URL 配置和语言切换器的配置有点技术性; 但好消息! 我们提供免费安装

4. 激活语言切换器

4.1 加载 Linguise JS 脚本

需要在所有 TYPO3 CMS 页面上加载 Linguise JS 脚本链接,以在 HTML 标头中显示带有标记和备用 URL 的语言切换器(用于 SEO 目的)。

要复制脚本链接,请从 Linguise 仪表板转到域设置并复制脚本链接。

说明安装模块步骤的图表。图表显示一条向上的蓝色虚线。

TYPO3 中加载此代码的最简单方法是将其添加到您的网站标题中或 代码。 TYPO3 CMS带有一个特殊的环境,它必须创建一个特定的文件来将脚本添加到标题中。

您可以通过执行以下步骤来实现此目的:

  1. 登录Typo3管理员,
  2. 选择“页面”>“ +内容”>单击“特殊元素”选项卡>“纯 HTML”

编辑脚本文件以将脚本链接包含在 HTML 代码部分中,如下所示。

脚本输入TYPO3-cms

默认情况下,语言切换器将显示在网站右上角的浮动位置。 欢迎您按照下一章中的说明进行自定义。

TYPO3-CMS-语言切换器

SEO 重要说明:您设置的语言数量对 SEO 有很大影响。 当您设置翻译语言时,如果您有大量索引页面 (>500),搜索引擎可能会花费大量时间来处理它们。 它可能会影响您的原始语言的 SEO。 这就是为什么我们建议首先添加最多 5 种语言,然后当它被编入索引时,您可以每月批量添加 3 种语言。

在 TYPO3 CMS中设置语言切换器

可以通过 Linguise 仪表板 > 设置 > 语言标志显示来自定义语言切换器。 这里的每一个修改都会反映在网站上。

屏幕截图显示了用于选择语言设置的下拉菜单,其中包含英语选项。

在屏幕右侧,您可以预览语言切换器。 以下是您可以设置的元素:

  • 3 种布局:并排、下拉或弹出
  • 语言切换器位置
  • 语言切换器内容
  • 英语或母语的语言名称
  • 旗帜形状和尺寸
  • 颜色和盒子阴影

在 TYPO3 CMS内容中加载语言切换器

标志位置就位

要在特定位置显示语言切换器,在TYPO3内容中,应将位置设置为“In place”。 Linguise
中设置位置后,您可以添加下面的短代码以包含它。 单击下面的代码将其放入剪贴板。

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

添加后,在前端,您将在添加代码的 HTML 区域中显示标志和语言名称。

激活本地缓存系统选项

作为一种选择,您可以激活存储 URL 及其相关多语言内容的本地缓存系统,以更快地为页面提供服务。 本地缓存将节省 Linguise 服务器和您的网站服务器之间的一些数据传输。 仅当页面已翻译且尚未更新时才使用缓存。 优先保留的缓存将是浏览次数最多的多语言页面的缓存。

为了补充这一点,您可以定义以 MB 为单位存储的缓存量。 在以下示例中,缓存已激活并且要保留的缓存量为 500 MB。

Laravel 翻译配置代码示例。用于设置翻译的配置。
				
					    /** Basic configuration **/
    public $cache_enabled = true;
    public $cache_max_size = 500; // In megabyte
				
			

NGINX 服务器上的自动翻译

在 NGINX 服务器配置块中添加与 CMS 相对应的行。
它应该在任何其他重定向之前设置,尤其是 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;
				
			

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}&amp;original_url={R:2}" appendQueryString="true" />
</rule>
				
			

从 SQLite 到 MySQL

仍然在 Configuration.php 中,有一个设置强制使用 MySQL 而不是 SQLite,以防服务器上未安装 SQLite。

在这种情况下,您需要在Configuration.php 文件的这一部分中填写 MySQL 信息:

				
					    /** 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 = '';