在 TYPO3 CMS 上安装 Linguise 自动翻译

目录

TYPO3 CMS 技术要求

在 TYPO3 CMS 中使用的神经自动翻译需要使用 PHP 脚本(可在下方下载)。要安装 Linguise 脚本,您需要以下要求:

  • 运行 PHP 7+
  • Apache、LiteSpeed、NGINX、IIS 服务器
  • 确保在服务器上启用 URL 重写
  • TYPO3 CMS 9 及以上

1. 生成 API 密钥

在您连接或注册到您的 Linguise 仪表板,您需要先设置一个新域名并保存其设置以获取 API 密钥。

您可以选择 “Other PHP” 平台来继续 Linguise 注册域名,如本文件所示以及源语言和目标语言。.

网站平台和翻译语言设置

之后您将获得:

  • 验证您会员资格的 API 密钥
  • 语言切换器的 Linguise 脚本链接

 

一个网页的截图,展示了翻译网站的视频

API 密钥是激活您 TYPO3 CMS 网站翻译所必需的。基本上,API 密钥会检查您域名上激活的语言,并允许内容的自动翻译。.

目前,您可以复制 API 密钥并将其保存在剪贴板中。.

2. 上传并连接 Linguise 翻译脚本

需要将 Linguise 翻译脚本上传到安装了 TYPO3 CMS 的服务器上:

脚本下载后,解压并上传到安装了 TYPO3 CMS 的根文件夹中。.

  • 确保它位于 根级别 您的网站(其中存放 TYPO3 CMS 文件)
  • 确保文件夹 保持默认名称 “linguise”
TYPO3-CMS-file

如何访问 Linguise 脚本界面?

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

根据您网站的地址更改域名地址*
确保 Linguise 拥有适当的读写权限*

设置密码和数据库连接

一旦您访问脚本界面,系统将呈现一个设置屏幕,您可以在此创建密码并连接到您偏好的数据库。.

您可以:

  • 设置密码,未来访问此界面时将需要该密码。.
  • 选择您的数据库类型——可以是 MySQL 或 SQLite,取决于您的设置和偏好。.

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

MySQL 数据库连接

如果您选择 MySQL,将出现一个不同的界面,要求填写以下 MySQL 配置字段的连接详细信息:

确保信息正确,以成功连接到您的 MySQL 数据库。. 

MySQL 与 SQLite – 有何区别?
MySQL 和 SQLite 都是流行的数据库系统,用于存储和管理网站及应用程序的数据。然而,它们针对不同的使用场景设计,并且存在一些关键差异:

特性SQLiteMySQL
设置非常容易(需要安装 SQLite)需要服务器设置
存储单文件由 MySQL 服务器管理
性能非常适合小规模应用更适合大型高流量系统
使用场景本地应用、测试、小型站点Web 应用、电子商务、企业系统

Linguise 脚本接口:PHP 平台设置

Linguise 翻译仪表板,之前仅适用于 Joomla 和 WordPress,现在已扩展对 PHP 及其他平台的支持。此更新允许用户从统一界面无缝配置语言设置—例如显示选项、旗帜样式和外观自定义—,无论其 CMS 或框架为何。.

api-接口

管理员可以更高效地管理 Linguise 设置,具备一致的功能,如语言选择弹窗、阴影效果以及地区特定的旗帜选项变体。仪表板保持用户友好的设计,同时为多样的网络环境提供更广泛的兼容性。.

显示界面
外观界面
我们理解 URL 配置和语言切换器的设置有些技术性;但好消息!我们提供免费安装。

3. 设置 TYPO3 CMS URL 重写

默认情况下,URL 重写在 TYPO3 CMS 中是激活的。如果那’不是这种情况,您可以从托管服务商处激活它。.

需要在 .htaccess 中为每种语言配置 URL。请在代码后复制以下代码 RewriteEngine on在默认的 TYPO3 CMS .htaccess.

				
					# 将 PHP 版本设置为 7.4 >> 请在 Rewrite 规则之前添加此代码,以确保 Linguise 在 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 文件应如下所示:

				
					# 设置 PHP 版本为 7.4 AddHandler application/x-httpd-php74 .php <IfModule mod_rewrite.c> # 启用 URL 重写 RewriteEngine On RewriteBase /typo10/ # 将 RewriteBase 设置为子文件夹 # 添加条件以检查请求是否以子文件夹开头 RewriteCond %{REQUEST_URI} !^/typo10/ # 将不以子文件夹开头的请求重写以包含它 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 脚本

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

要复制脚本链接,请从 Linguise 仪表板进入域设置并复制脚本链接。.

一个展示安装模块步骤的图表。该图表显示了一条向上的蓝色虚线。.

在 TYPO3 CMS 中加载此代码的最简便方法是将其添加到您网站的页眉或 <head> 代码。 TYPO3 CMS 带有特殊的环境,需要创建特定文件以将脚本添加到页眉。

您可以通过以下步骤实现此目标:

  1. 登录到 Typo3 Admin,
  2. 选择 “页面” > “+内容” > 点击 特殊元素选项卡 > Plain HTML

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

脚本-in-TYPO3-cms

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

TYPO3-CMS-语言切换器

SEO重要提示: 您设置的语言数量对SEO有很大影响。当您设置翻译语言时,如果有大量已索引的页面(>500),搜索引擎可能需要很长时间来处理它们。这可能会影响您原始语言的SEO。因此我们建议您一开始最多添加5种语言,等它们被索引后,您可以每月批量添加3种语言。

在 TYPO3 CMS 中设置语言切换器

可以在 Linguise 仪表板 > 设置 > 语言旗帜显示 中自定义语言切换器。此处的每一次修改都会在网站上体现。.

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

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

  • 三种布局:并排、下拉菜单或弹出式
  • 语言切换员职位
  • 语言切换器内容
  • 英语或母语中的语言名称
  • 旗帜的形状和尺寸
  • 颜色和阴影

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

旗帜位置已确定

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

				
					<div>[linguise]</div>
				
			

添加完成后,前端会在您添加代码的 HTML 区域中显示国旗和语言名称。.

激活本地缓存系统选项

作为一种选项,您可以激活本地缓存系统,该系统存储 URL 及其相关的多语言内容,以加快页面加载速度。本地缓存将减少 Linguise 服务器与您网站服务器之间的数据传输。仅在页面已翻译且未更新时才使用缓存。优先保留的缓存将是访问量最高的多语言页面的缓存。.

为补充上述内容,您可以定义以 MB 为单位的缓存容量。在以下示例中,缓存已激活,需保留的缓存容量为 500 MB。.

Laravel 翻译配置代码示例。用于设置翻译的配置。.
				
					    /** 基本配置 **/ public $cache_enabled = true; public $cache_max_size = 500; // 以兆字节为单位
				
			

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

从 SQLite 到 MySQL

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

在这种情况下,您’ll 需要填写 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 = '';