在 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 密钥。

您可以选择“其他 PHP”平台来继续进行 Linguise 注册域名,例如本文档以及源语言和目标语言。.

网站平台和翻译语言设置

之后您将获得:

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

 

网页截图,其中包含一个关于网站翻译的视频

API 密钥是激活 ProcessWire CMS 网站翻译功能所必需的。简而言之,API 密钥会检查您的域名已启用的语言,并允许自动翻译内容。.

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

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

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

脚本下载完成后,将其解压缩并上传到 ProcessWire CMS 的安装根文件夹。.

  • 请确保它位于网站的根目录ProcessWire CMS 文件所在的目录)。
  • 请确保文件夹保留其默认名称 linguise ”。
ProcessWire-CMS 文件

如何访问 Linguise 脚本界面?

Linguise完成后,您可以通过访问以下 URL 格式的网站来访问控制面板:
https: 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 设置,它拥有统一的功能,例如语言选择弹出窗口、阴影效果和特定区域的旗帜选项。控制面板保持了其用户友好的设计,同时增强了对各种 Web 环境的兼容性。.

显示界面
外观界面
我们理解网址配置和语言切换器设置起来有点技术性;不过好消息是!我们提供免费安装服务。

3. 设置 ProcessWire CMS URL 重写

ProcessWire CMS 默认启用 URL 重写功能。如果未启用,您可以从您的主机提供商处启用该功能。.

需要在 .htaccess 文件中配置按语言分类的 URL。只需将以下代码复制到默认ProcessWire CMS RewriteEngine on

				
					<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. Enable Apache mod_rewrite (required)
# -----------------------------------------------------------------------------------------------

<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. Optionally (O) set a rewrite base if rewrites are not working properly on your server.
  # -----------------------------------------------------------------------------------------------
				
			

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

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

我们理解网址配置和语言切换器设置起来有点技术性;不过好消息是!我们提供免费安装服务。

4. 启用语言切换器

4.1 加载 Linguise JS 脚本

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

要复制脚本链接,请从 Linguise 控制面板转到域设置并复制脚本链接。.

图示为模块安装步骤。图中有一条向上延伸的蓝色虚线。.

ProcessWire 中加载此代码的最简单方法是将其添加到您的网站头部或本节。ProcessWire CMSProcessWire 用于将脚本加载到头部。

它位于_main.php 文件site/templates/_main.php找到它。编辑该脚本文件,将脚本链接添加到头部部分。

带有语言切换标志的语言切换器现在应该会自动加载。.

ProcessWire中的脚本 -cms

语言切换器默认显示在网站右上角的浮动位置。您可以根据下一章的说明对其进行自定义。.

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

设置语言切换器

您可以在 Linguise 控制面板 > 设置 > 语言标志显示 中自定义语言切换器。在此处所做的任何更改都会反映在网站上。.

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

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

  • 3 种布局:並列、下拉菜单或弹出框
  • 语言切换器位置
  • 语言切换器内容
  • 英语或母语的语言名称
  • 标志形状和大小
  • 颜色和盒子阴影

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

旗帜位置已确定

ProcessWire中的特定位置显示语言切换器,您应该将位置设置为“就地显示”。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
				
			

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>
				
			

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;