⬇ Download TranslateRocket v1.3.0
.zip · WordPress 5.6+ · PHP 7.4+ · GPLv2 · 由 WordPress.org 提供
一分钟即可安装
- 在您的 WordPress 管理后台中,请前往 插件 → 添加新插件 并搜索 TranslateRocket — 或者通过以下方式上传下载的 zip 文件 上传插件.
- 点击 立即安装.
- 激活,打开 TranslateRocket → 设置,选择语言——搞定。
What’s new in 1.3.0
- New: tidy up the pages Polylang, WPML or Bogo left behind. Those plugins keep a separate page for every language; once their translations are imported, TranslateRocket translates the original page itself, so each copy is a second place to edit the same page. Under the importer, "Review the separate pages" lists every copy with what was found: copies whose text is all in TranslateRocket can go to the Trash, copies with text laid out differently can be kept as independent copies, and nothing is offered for the Trash before the import or while its language is not active. Nothing is deleted — pages go to the Trash — and the old address of each copy sends visitors and search engines to the translated page with a 301.
- Fix: on a page opened through its translated address (for example /it/chi-siamo/), the hreflang links and the language switcher reused that Italian slug for every language, so they pointed at addresses that do not exist (/chi-siamo/, /es/chi-siamo/). Each language now gets its own address — the original slug, or its own translated one — exactly as the sitemap already did.
- Fix: hreflang links no longer repeat the query string of the visit (?utm_source=…); they name the clean address of each version.
- Fix: a page that does not exist (404) no longer prints hreflang links to the same missing address in every language.
- Fix: WooCommerce block checkout — after placing an order in a translated language, customers landed on the "Order received" page in the site's default language. They now stay in the language they shopped in, as the order e-mail already did.
- Fix: translated addresses now work for WooCommerce products and every other custom post type. A translated slug on a product (/it/product/colazione-in-terrazza/) returned "page not found", while the language switcher and hreflang already pointed there; product links in shop pages now use the translated slug too.
来自另一个插件?迁移指南: WPML · TranslatePress · Polylang.
有问题或发现错误?请前往 支持 — 由真人接听。
📦 更新日志
正在积极开发中——以下是已发布的版本,按时间倒序排列。
v1.3.0
- New: tidy up the pages Polylang, WPML or Bogo left behind. Those plugins keep a separate page for every language; once their translations are imported, TranslateRocket translates the original page itself, so each copy is a second place to edit the same page. Under the importer, "Review the separate pages" lists every copy with what was found: copies whose text is all in TranslateRocket can go to the Trash, copies with text laid out differently can be kept as independent copies, and nothing is offered for the Trash before the import or while its language is not active. Nothing is deleted — pages go to the Trash — and the old address of each copy sends visitors and search engines to the translated page with a 301.
- Fix: on a page opened through its translated address (for example /it/chi-siamo/), the hreflang links and the language switcher reused that Italian slug for every language, so they pointed at addresses that do not exist (/chi-siamo/, /es/chi-siamo/). Each language now gets its own address — the original slug, or its own translated one — exactly as the sitemap already did.
- Fix: hreflang links no longer repeat the query string of the visit (?utm_source=…); they name the clean address of each version.
- Fix: a page that does not exist (404) no longer prints hreflang links to the same missing address in every language.
- Fix: WooCommerce block checkout — after placing an order in a translated language, customers landed on the "Order received" page in the site's default language. They now stay in the language they shopped in, as the order e-mail already did.
- Fix: translated addresses now work for WooCommerce products and every other custom post type. A translated slug on a product (/it/product/colazione-in-terrazza/) returned "page not found", while the language switcher and hreflang already pointed there; product links in shop pages now use the translated slug too.
v1.2.1
- New: structured data is translated too. The FAQ questions and answers, article headlines and descriptions that themes and SEO plugins put in JSON-LD for search engines used to stay in the source language on every translated page, and an article on /de/ still declared itself English. They are now collected like the page title and description, translated in every language, and "inLanguage" states the language of the page. Names of people, companies, software and the site are never translated, a video keeps the language it was recorded in, and addresses, dates and prices are left exactly as they are. The data is read and rewritten as JSON, so a translation can never break it.
- Fix: the flag shown for Chinese had a single star, which made it look like another country's flag. It now has the large star with the four small ones beside it.
- Change: Arabic no longer shows a national flag. It is official in more than twenty countries, so no single flag is right for it, and the one usually chosen for it carries a religious inscription that should not be redrawn or used as decoration. Arabic now shows a neutral "AR" marker. If you would rather have a flag, you can still choose one for that language in the custom flag field.
- Fix: a floating language switcher placed along the bottom of the page opens upwards, so its menu is no longer cut off by the edge of the window.
v1.2.0
- 新增:只在部分语言中显示内容。把内容放在
[translaterocket_language lang="it,de"]…[/translaterocket_language]中,或者使用not="it"在部分语言中隐藏;在区块编辑器中,可以为任意区块(包括导航链接)添加类名trrocket-only-it或trrocket-hide-it。限定于某种语言的内容会按你写的原样显示,绝不会被重新翻译。 - 新增:菜单项可只在部分语言中显示。外观 → 菜单中的每个菜单项都有一行“显示于”语言复选框。不勾选任何一项表示在所有语言中显示,因此现有菜单看起来与之前完全一样;隐藏的菜单项会连同其子项一起隐藏。
- 新增:在 ChatGPT 或 Gemini 中翻译整个页面,无需 API 密钥。在可视化编辑器的“翻译页面”面板中,一个按钮就能复制页面文本,连同一段为你的网站量身撰写的提示词——你的语言、你从不翻译的词、你的术语表和你的写作风格。提示词会要求 AI 保留行号和格式标记,因此它的回复可以直接放回原位。
- 用于复制的文本框现在一键即可全选,用于粘贴的文本框在第一次点击时就会选中其中的内容,所以第二次粘贴会替换第一次的内容。
- 更新日志已经超过插件目录 5,000 词的上限,正在被截断:从 1.0.0 开始的版本记录保留在这里,完整历史记录在随插件附带的 changelog.txt 中。
- 小修小补:“词语和短语”排除框中的示例更清楚了,LICENSE 文件现在包含纯 GPLv2 文本。
v1.1.4
- 插件自己的页眉现在是一片夜空,取代了原来的彩虹色条带,与项目网站上使用的一致。星星用 CSS 绘制,所以不需要额外下载任何东西,徽标也终于从背景中清晰地凸显出来。
v1.1.3
- 修复:打开媒体库为某种语言选择图片时,那些小小的“选择图片”按钮——以及图片窗口本身——会浮在媒体库上方,下面是一块看似空白的面板。现在媒体库打开时它们会自动让开,关闭时再回来,按 Esc 键关闭也一样。
v1.1.2
- 修复: 以前,得不到响应的保存会一直转圈。 如果你的网站没有回应——代理挂住了连接、网络中断、安全防护层吞掉了请求——按钮会一直转个不停,屏幕上没有任何解释;如果你放弃并关闭对话框,刚写好的句子也就丢了。现在请求等待三十秒后就会停止,你的文本会保留在对话框里,提示信息会告诉你是网站拒绝了请求(附带状态码),还是根本没有回应。
- 修复:替换图片的窗口现在会 在屏幕中央打开,并且可以拖动,标题栏也与文本编辑器一致。以前它会紧贴在图片旁边出现——对于页面顶部的全宽照片来说,就是被挤在顶部边缘——而且它的标题栏使用了并不存在的样式,导致标题、拖动手柄和关闭按钮挤成一团。
v1.1.1
- 新增: 现在新添加的语言默认处于离线状态。 在此之前,勾选一种语言并点击保存,它就会在同一秒公开——出现在语言切换器、网站地图和 hreflang 标签中——而里面还什么都没翻译。现在它加入时开关是灰色的,等你准备好了再把它切换成绿色。你网站上原本就有的语言会保持原来的状态。
- 新增: 控制面板会提示你哪些页面在上次读取之后发生了变化。 文本是在你登录状态下查看页面时被检测到的——所以如果你在区块编辑器里修改了一个页面,之后再也没打开过它,其中的新句子就从未被收集:它们不会出现在你待翻译的字符串列表中,而在翻译后的页面上,它们会悄无声息地保留源语言。这种沉默到此为止:这些页面会按名称列出,一键即可扫描,每个页面一经读取,提示就会自动消失。
- 修复:在“语言”页面上,每种语言的进度条绘制时没有颜色,所以即使达到 98% 也看起来是空的。现在它和插件里的其他进度条一样,从红色渐变到绿色。
v1.1.0
- 新增: 现在就添加语言,等准备好了再发布。 你启用的每种语言旁边都有一个开关:绿色表示访客可以看到,灰色表示只有你能看到。语言处于离线状态时,它不会出现在语言切换器、网站地图和 hreflang 标签中,任何访问其 URL 的人都会被引导到你的默认语言——但你仍然可以在真实页面上继续完善它,因为有预览权限的人依然能看到全部内容。任何翻译到一半的内容都不会被你的访客或 Google 看到。
- 新增: 可视化编辑器中的 SEO 面板现在包含了搜索引擎读取的所有内容,并按顺序排列:网址、页面标题、元描述、社交分享预览(Open Graph 和 X)、关键词,然后是页面上的每张图片和每个可翻译属性——title、placeholder、ARIA 标签。每一行都会带你定位到对应元素:页面滚动到那里,元素闪烁一下,并打开合适的编辑器。对照片来说是图片选择器;对它的替代文本来说则是文本编辑器。
- 修复: 社交分享文本从未被翻译。 如果 Yoast 或 Rank Math 之类的 SEO 插件自行设置了
og:title、og:description或twitter:卡片——文字与页面标题不同,这是很常见的情况——这些文字从未被收集,因此也就无法翻译:翻译后的页面每次被分享时,发出去的都是源语言。现在这些文字会像其他文本一样被收集,并显示在 SEO 面板中。 - 感谢 Simona,为 TranslateRocket 送来了第一笔捐赠。
v1.0.0
- 新增:支持从 Bogo导入。它为每种语言保留一篇文章,通过两项文章元数据相互关联,因此配对完全准确——标题、摘要和正文都会迁移过来。
- 新增:支持从 Multilanguage by BestWebSoft导入,直接从它的两张表读取,包括分类和标签名称。
- 新增:导入你 用 Loco Translate 手动完成的 翻译——也就是
.po/.mo文件,位于wp-content/languages/loco/中。只读取你自己的成果,不读取 WordPress 自动下载的语言包:那是成千上万条你网站上没有任何人选择过的字符串,会把有用的翻译淹没。仍标记为“fuzzy”的条目会被跳过,因为还没有人检查过它们。 - 新增: 每种语言可以使用不同的图片。 在可视化编辑器中,每张图片上都有一个小按钮:点击它,就能从媒体库中为该语言选择另一张图片。翻译后的页面上会替换这张图片,
srcset也一并替换——否则浏览器会悄悄重新加载原图,替换看起来就像没有生效。图片地址与文本分开保存,绝不会发送给翻译服务:URL 翻译回来往往面目全非,图片就会从页面上消失。 - 修复:导入页面不再在每次打开时扫描所有文章。它会逐个询问导入器是否有可导入的内容,而 qTranslate 导入器必须查看文章内部才能回答——在大型网站上,这会让页面慢得像在爬。现在这个结果会被记住一小时。
- 修复:在语言切换器的实时预览中,下拉菜单一直卡在展开状态。你能看到菜单的颜色,却看不到它是怎么展开的——而这正是下拉菜单一半的作用。现在预览使用与真实切换器相同的标记和 CSS,因此点击时的展开和收起与你网站上的完全一致。
- 修复:只适用于下拉布局的三项设置——展开方式、箭头、展开动画——在你选择内联或列表布局时会被禁用,而不是看起来可用却毫无作用。它们的值会被保留,所以切换布局不再会重置它们。
- 修复:滚动浏览切换器设置时,实时预览现在会跟随你,而不是在第一部分之后就滚出视野。
- 从这个版本起,插件可以从另外十个插件导入,还支持 CSV 和 TMX。
正打算离开一个付费插件?看看这些诚实对比: WPML 替代方案 · TranslatePress 替代方案 · Weglot 替代方案 · GTranslate 替代方案
网站需要搭把手吗?我可以替你做
我是 Federico,TranslateRocket 的作者 —— 做和翻译 WordPress 网站就是我的营生。这正是这个插件能一直免费的原因:它不是为了让你买升级而阉割过的版本,而是我每天在收费项目里用的那套工具。
从零做一个新的多语言网站、把设计扶正、把已有的网站从一门语言做到十门、按需开发、经人校对的翻译,或者从一个每月向你收费的插件搬走:告诉我你需要什么,我会老实告诉你我是不是合适的人。你面对的是写这套引擎的人,不是一条客服排队。