WordPress: WordPress 插件 WPML 构建和运行多语言站点
WPML Multilingual CMS
WPML 使得构建和运行多语言站点变得非常容易。使用 WPML,您可以翻译页面、文章、自定义类型、分类法、菜单甚至主题文本。
每个使用 WordPress API 的主题或插件都使用 WPML 运行多语言。
WPML 使得只需安装一个 WordPress 就可以轻松地运行一个多语言网站。WPML 提供了超过40种语言。您还可以使用 WPML 的语言编辑器添加自己的语言变体(如加拿大法语或墨西哥西班牙语)。
您可以在同一个域(在语言目录中)、子域或完全不同的域中安排不同的语言内容。
跳过WPML 激活过程
WPML 插件要求配置后才能使用,配置过程中会被要求提供一个许可证密钥。
跳过激活/注册过程:
- Download the latest version 4.6.9 from https://babia.to/resources/wpml-multilingual-cms-wordpress-plugin.348/version/120526/download.
- Open the file LicenseStep.zip with winrar and replace the
LicenseStep.php
file in theclassessetupendpoints
folder with the file. - Install the plugin on your WordPress site and enter the word "babiatofly" for activation in the WPML installation step and continue.
LicenseStep.php文件原内容:
从第31行开始:
private function register_site_key( Collection $data ) { $site_key = Sanitize::string( $data->get( 'siteKey' ) ); icl_set_setting( 'site_key', null, true ); if ( function_exists( 'OTGS_Installer' ) ) { $args = [ 'repository_id' => 'wpml', 'nonce' => wp_create_nonce( 'save_site_key_wpml' ), 'site_key' => $site_key, 'return' => 1, ]; $r = OTGS_Installer()->save_site_key( $args ); if ( ! empty( $r['error'] ) ) { return Either::left( [ 'msg' => strip_tags( $r['error'] ) ] ); } else { icl_set_setting( 'site_key', $site_key, true ); $isTMAllowed = Plugins::updateTMAllowedOption(); return Right::of( [ 'isTMAllowed' => $isTMAllowed, 'msg' => __( 'Thank you for registering WPML on this site. You will receive automatic updates when new versions are available.', 'sitepress' ), ] ); } } return Either::left( false ); }
LicenseStep.php文件修改后:
private function register_site_key( Collection $data ) { $site_key = 'true'; $site_key = Sanitize::string( $data->get( 'siteKey' ) ); icl_set_setting( 'site_key', null, true ); if ( function_exists( 'OTGS_Installer' ) ) { $args = [ 'repository_id' => 'true', // 'repository_id' => 'wpml', 'nonce' => wp_create_nonce( 'save_site_key_wpml' ), 'site_key' => $site_key, 'return' => 1, ]; $r = OTGS_Installer()->save_site_key( $args ); if ( ! empty( $r['error'] ) ) { return Either::left( [ 'msg' => strip_tags( $r['error'] ) ] ); } else { icl_set_setting( 'site_key', $site_key, true ); $isTMAllowed = Plugins::updateTMAllowedOption(); return Right::of( [ 'isTMAllowed' => $isTMAllowed, 'msg' => __( 'Thank you for registering WPML on this site. You will receive automatic updates when new versions are available.', 'sitepress' ), ] ); } } return Either::left( false ); }
通过执行 WPML 重置来删除语言和插件数据
在某些情况下,您可能需要删除使用 WPML 创建的翻译并删除插件数据以重新开始。
当网站计划发生变化时,您可能会对默认语言内容进行重大更新。或者,您可能决定不再使用第二语言。
在这些情况下,您可能需要从 WordPress 网站的前端和网站的数据库中删除所有 WPML 数据。这包括表格和翻译。通过这样做,您可以将您的网站恢复到使用 WPML 之前的状态。然后,当您重新安装该插件时,您可以从头开始。
为此,您需要遵循 3 个步骤:
请务必严格按照这些步骤的顺序进行操作。
第 1 步:删除第二语言和所有现有翻译
WPML 提供了从站点中删除辅助语言的选项。当您删除辅助语言时,您将从站点的数据库中删除该语言的所有现有内容。
- 转到WPML → 语言。在“站点语言”部分中,删除您选择的辅助语言。
- 将出现一个包含已停用语言的表格。单击删除图标可从数据库中删除您已翻译成第二语言的所有内容。
重要的:
- 在某些情况下,此功能可能不会删除分类术语的翻译。
- 此功能在 WPML 4.5.9 及更高版本中可用。
步骤 2:删除已删除语言的 MO 和 PO 文件
从数据库中删除某种语言及其翻译后,您网站上的其他主题和插件可能会继续下载该语言的翻译文件。
为了防止这种情况发生,您需要删除该语言的所有剩余MO和PO文件:
- 使用FileZilla等FTP 工具访问您的网站。
- 转到您网站的../wp-content/languages/plugins/文件夹。
- 删除以要删除的语言的语言代码结尾的MO和PO文件。例如,如果您使用西班牙语区域设置 (es) 删除了西班牙语 (ES),则语言文件将以-es_ES.mo和-es_ES.po结尾。
要删除主题翻译,请打开../wp-content/languages/中的主题文件夹,然后按照上面第三步中的说明进行操作。
第 3 步:执行 WPML 重置
最后一步是重置 WPML。这将从站点的数据库中删除 WPML 表并停用该插件。
WPML 重置无法撤消。您发送到远程翻译服务的所有翻译都将丢失。
我们建议您在重置 WPML 之前创建站点的备份。
- 转至WPML → 支持并单击故障排除链接。
Go toWPML
→Support
and click theTroubleshooting
link. - 在“故障排除”页面的“重置”部分中,选中“我将重置所有翻译和语言数据”复选框。然后,单击重置并停用 WPML按钮。
In theReset
section of theTroubleshooting
page, select theI am about to reset all translation and language data
checkbox. Then, click theReset and deactivate WPML
button.
完成所有这些步骤后,WPML 将被重置并停用,从而有效地从您的站点中删除其数据。
当您准备好再次开始翻译时,您将需要重新安装和配置 WPML。