WordPress模板插件定制

您现在的位置是:首页 > WordPress教程WordPress教程

手把手教你搞懂WordPress主题翻译!本地化成中文就这么简单

查看 WP集市 的更多文章WP集市 2025-08-21 【WordPress教程】 1862人已围观

说白了,现在做网站谁还只守着一种语言啊?万一用户是老外,或者你想把主题卖到别的国家,本地化翻译这玩意儿必须得会。今天就掏心窝子给你讲讲,WordPress主题咋变成中文(或者别的语言),其实真没那么玄乎,跟着步骤走,保准你半小时搞定。

先搞明白:为啥要费劲搞本地化?

你想啊,要是你下载个主题,全是英文,按钮写着“Read More”,导航栏是“Home”,咱爹妈用着不懵吗?本地化就是把这些文字换成用户看得懂的语言,说白了就是“入乡随俗”。这活儿做好了,用户体验蹭蹭涨,主题也更值钱——记好了啊,这可不是可有可无的。

工具先备齐:Poedit这玩意儿得安排上

工欲善其事,必先利其器嘛。翻译主题离不开.po和.mo文件,这俩文件咋来?Poedit!免费、好用,新手友好度拉满。官网搜“Poedit”下载,安装完打开,界面清爽得很,不用研究说明书,跟着我操作就行。

第一步:主题里的文字,别再硬写死了!

你猜怎么着?很多新手写主题,文字直接写在代码里,比如<h1>首页</h1>,这玩意儿没法翻译啊!正确姿势是用WordPress自带的翻译函数把文字“包”起来,就像给文字贴个“待翻译”标签。

记好了啊,常用的就俩函数:

  • __('要翻译的文字', 'text-domain'):返回翻译后的文字(得用echo输出)
  • _e('要翻译的文字', 'text-domain'):直接输出翻译后的文字(省事!)

“text-domain”是啥?说白了就是你主题的“身份证号”,必须唯一!建议用主题文件夹名,比如你主题叫“my-cool-theme”,text-domain就写“my-cool-theme”,别瞎起,不然WordPress找不到翻译文件。

举个栗子🌰:
原来写<p>欢迎来到我的博客</p>
现在改成_e('欢迎来到我的博客', 'my-cool-theme')
搞定!就这么简单。

第二步:生成翻译模板(.pot文件)

改完主题里的文字,下一步就是告诉WordPress“哪些文字需要翻译”。这时候Poedit就派上用场了:

  1. 打开Poedit,点“新建”→“从源代码获取翻译”
  2. 弹出的窗口里,“基本目录”选你主题文件夹(比如/wp-content/themes/my-cool-theme)
  3. “路径”里点“添加文件夹”,选主题根目录
  4. “关键字”里,把___e加上(Poedit可能默认有,检查一下)
  5. 点“确定”,Poedit会扫描你主题里所有带翻译函数的文字,生成一个.pot文件(模板文件)
  6. 保存到主题文件夹里新建的“languages”文件夹,文件名随便起,比如“my-cool-theme.pot”

第三步:翻译文字,生成.po和.mo文件

有了.pot模板,就能开始翻译了。比如要翻译成中文:

  1. 在Poedit里打开刚生成的.pot文件
  2. 点“创建新翻译”,选“中文(中国)”
  3. 左边是原文,右边“翻译”栏里填中文,比如“欢迎来到我的博客”对应“Welcome to my blog”(哦不对,是原文是英文的话翻中文,你懂我意思)
  4. 全翻译完,点“保存”,会自动生成两个文件:zh_CN.po(翻译文本)和zh_CN.mo(机器读的二进制文件)
  5. 把这俩文件扔到主题的“languages”文件夹里

第四步:告诉WordPress“用我的翻译文件”

你翻译好了,WordPress咋知道用呢?得写段代码“激活”翻译。在主题的functions.php里加这段:

function my_theme_load_textdomain() {
  load_theme_textdomain(
    'my-cool-theme', // 刚才的text-domain,别写错!
    get_template_directory() . '/languages' // languages文件夹路径
  );
}
add_action('after_setup_theme', 'my_theme_load_textdomain');

记好了啊,get_template_directory()是获取主题根目录,“languages”文件夹得自己建,不然路径错了白搭。

踩过的坑:这些地方容易翻车!

  1. text-domain写错:比如主题里用“my-cool-theme”,代码里写成“my-cool-themes”,差个s就完蛋,WordPress找不到翻译文件。
  2. 函数用混_e()是直接输出,__()是返回文字(得用echo输出),比如echo __('Hello', 'my-cool-theme'),别搞反。
  3. 动态内容翻译:比如带变量的文字,像“你有3条新消息”,不能直接写_e('你有'.$num.'条新消息', 'my-cool-theme'),得用sprintf
    echo sprintf(_e('你有 %d 条新消息', 'my-cool-theme'), $num);
    %d是数字占位符,具体看sprintf用法,不难)

最后说两句

说白了,WordPress主题本地化就这四步:改主题文字用翻译函数→用Poedit生成.pot→翻译生成.po/.mo→代码加载翻译。你就这么干,保证能成。记不住的话,收藏起来,下次踩坑了翻出来看看——我这都是实战经验,不忽悠!

行了,赶紧去试试,翻译完你的主题就能“走遍天下都不怕”了!有问题评论区喊我,咱再唠~

Tags:

WordPress模板插件定制