在 ProcessWire CMS 上安装 Linguise 自动翻译

目录

ProcessWire CMS 技术要求

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

  • 运行 PHP 7+
  • Apache、LiteSpeed、NGINX、IIS 服务器
  • 确保在服务器上启用 URL 重写
  • ProcessWire CMS 2.x 或 3 及以上

1. 生成 API 密钥

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

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

网站平台和翻译语言设置

之后您将获得:

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

 

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

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

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

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

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

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

  • 确保它’位于 根级别 您的网站(ProcessWire CMS 文件所在位置)
  • 确保文件夹 保持默认名称 “linguise”
ProcessWire-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. 设置 ProcessWire CMS URL 重写

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

需要在 .htaccess 中配置按语言的 URL。只需在代码后复制下面的代码 RewriteEngine on在默认的 ProcessWire CMS .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>
				
			

最后,您的 ProcessWire CMS .htaccess 应该类似于以下内容:

				
					# 8. 启用 Apache mod_rewrite(必需) # ----------------------------------------------------------------------------------------------- <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] # 8A. 可选地(O)设置重写基准,如果重写在您的服务器上无法正常工作。 # -----------------------------------------------------------------------------------------------
				
			

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

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

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

4. 激活语言切换器

4.1 加载 Linguise JS 脚本

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

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

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

在 ProcessWire CMS 中加载此代码的最简便方法是将其添加到网站的页眉或 <head> 部分。 ProcessWire CMS 拥有一个特定的文件来将脚本加载到页眉。

它位于 _main.php 您可以通过导航到 site/templates/_main.php编辑脚本文件以在页眉部分包含脚本链接。

带有旗帜的语言切换器现在应该自动加载。.

ProcessWire-cms 中的脚本

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

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

设置语言切换器

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

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

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

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

在 ProcessWire 内容中加载语言切换器

旗帜位置已确定

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

				
					<div>[linguise]</div>
				
			

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

激活本地缓存系统选项

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

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

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

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>
				
			

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;