《别废话!用这个本地化脚本,三分钟让你的WordPress说人话!》

!bin/bash
适用人群
这篇教程只写给两种人看:第一种,被各种“全网最全本地化教程”忽悠得团团转,结果WordPress后台还是满屏英文的新手;第二种,懒得手动改那几十个文件、就想一键让网站“学会”中文的急性子,如果你是那种喜欢研究每一行代码原理的学院派,请立刻关闭本页面,我怕你嫌我粗鲁,如果你是“我就要结果、别跟我整过程”的实干家,往下看,十五分钟包你搞定,搞不定我跟你姓。
完整搭建步骤
第一步:准备“作案工具”
你需要三样东西:
- 服务器环境(Apache/Nginx + PHP 7.4以上 + MySQL 5.7以上)——别问为什么是这些版本,问了就是兼容性好,听哥的。
- WordPress安装包——去官网下载,别用中文版,我们要用脚本强转。
- 一个叫
wp-localize.sh的脚本(见下文,我手把手教你写)。
打开终端(Windows用Git Bash或WSL),SSH登录你的服务器,执行以下命令创建一个空文件夹:
mkdir ~/wp-zh && cd ~/wp-zh
然后把下载好的WordPress压缩包 latest.tar.gz 扔进去,并解压:
tar -xzf latest.tar.gz mv wordpress/* . && rm -rf wordpress latest.tar.gz
第二步:写那个“神奇脚本”
用你最喜欢的文本编辑器(Vim或者Nano都行,别跟我说你用记事本),在当前目录新建一个文件叫 wp-localize.sh,粘入以下内容:
echo "正在下载中文语言包..."
wget -q https://downloads.wordpress.org/translation/core/6.7/zh_CN.zip -O zh_CN.zip
unzip -qo zh_CN.zip -d wp-content/languages/
rm -f zh_CN.zip
echo "正在安装本地化插件..."
wp plugin install loco-translate --activate --path=.
echo "正在设置站点语言..."
wp option update WPLANG "zh_CN" --path=.
wp option update blogdescription "一个又新又快的WordPress站" --path=.
echo "清理默认英文文件(保留核心)..."
rm -f wp-content/languages/admin-*.po wp-content/languages/wp-*.po 2>/dev/null
echo "完成!别急着访问,先跑第三步的数据库配置。"
注意:这个脚本假设你已经安装了WP-CLI命令行工具,没装?赶紧装,别偷懒:
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar chmod +x wp-cli.phar && sudo mv wp-cli.phar /usr/local/bin/wp
第三步:执行脚本并配置数据库
给脚本执行权限,然后运行:
chmod +x wp-localize.sh ./wp-localize.sh
看到“完成”字样后,编辑根目录的 wp-config.php 文件,添加数据库连接信息,不会?我帮你写好模板:
define('DB_NAME', '你的数据库名');
define('DB_USER', '数据库用户名');
define('DB_PASSWORD', '数据库密码');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8mb4');
define('DB_COLLATE', '');
然后把 wp-config-sample.php 重命名成 wp-config.php,或者直接覆盖,最后在浏览器访问你的域名,填入站点信息——注意,语言已经在脚本里帮你锁死成中文了,你只需要设置管理员账号和密码。
配置要点
语言包版本必须匹配
很多新手栽在这里:去下载了个 WordPress 6.4 的语言包,结果服务器跑的是 7,后台直接乱码一半,脚本里的版本号(7)必须和你下载的WordPress压缩包版本完全一致,查版本命令:
grep '^\$wp_version' wp-includes/version.php
然后修改脚本中 wget 链接里的版本号,7 改成 6.2。
插件“Loco Translate”不是必选项
我加了这个插件是因为它能让你在后台直接手动修改翻译,比如把“Hello World!”改成“你好,世界!”,如果你不打算改默认翻译,可以删掉脚本里 wp plugin install 那一行,但建议留着,因为很多插件的中文翻译不完整,你需要手动补充。
URL重写规则
如果后台所有页面都显示404,说明伪静态没设置,Nginx用户在 server 块里加:
location / {
try_files $uri $uri/ /index.php?$args;
}
Apache用户确保 .htaccess 存在且可写,然后去后台“设置-固定链接”点一下“保存更改”就行。
常见踩坑提醒
坑1:语言包下成英文,但显示乱码
多半是 wget 链接写错了,或者压缩包损坏,手动验证:进入 wp-content/languages/ 目录,看看有没有 zh_CN.mo 文件,如果没有,重新运行脚本,或者手动下载解压。
坑2:后台一半中文一半英文 这是因为WP核心翻译包只覆盖了大约80%的界面,剩下20%仍然是原文(比如一些开发者专用的界面字符串),解决方法:装好Loco Translate后,在插件里找到“WordPress核心”,点击“编辑模板”,用机器翻译批量补全——别偷懒,这个词条量不大。
坑3:WP-CLI报“无此命令”
你先运行 wp --info 测试下,如果报错,八成是PHP路径问题,用 which php 找到PHP位置,然后在 wp-localize.sh 开头加一句:
或者直接装个带WP-CLI的集成环境,比如LAMP一键包,省事。
坑4:脚本执行一半卡住
检查网络,国内服务器连 downloads.wordpress.org 可能被墙,解决方案:手动下载语言包上传到服务器,或者在脚本里换成国内镜像,
wget -q https://wp-china.org/translations/zh_CN-6.7.zip -O zh_CN.zip
注意镜像站域名要自己找能用的。
最后两句糙话
脚本跑完、站点全中文展示之后,别急着发朋友圈,去“设置-常规”看看“站点标题”和“副标题”,如果还是英文,手动改过来。wp-config.php 里最好加上一句:
define('WPLANG', 'zh_CN');
以防在某些缓存场景下语言被重置,行了,按我说的来,三分钟你的WordPress就能说流利中文,别再问我“为什么我复制你的脚本报错”——先确认你环境变量配好了,然后仔细看第三段,动手,别光看!
发表评论