| 开发者 | aumcreate |
|---|---|
| 更新时间 | 2026年10月14日 18:07 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPL-2.0-or-later |
| 版权网址: | 版权信息 |
aumlang folder to /wp-content/plugins/, or install the plugin ZIP via Plugins → Add New → Upload./zh/ require them.Not if WordPress already has one. AumLang's default engine is the AI client built into WordPress 7.0, which uses the provider connected under Settings > Connectors — that connection belongs to WordPress, is shared with every other plugin, and this plugin never sees the key. You need your own key only for the second engine, the direct connection. It exists because the connectors WordPress ships cover Anthropic, Google and OpenAI, and a site whose network cannot reach any of those still needs a way to translate. It speaks the OpenAI-compatible chat API, so any service implementing it will do; you supply the endpoint, the model and the key, and the AI account is yours either way.
Yes. AumLang reads each builder's own structure, translating only the text and leaving layout, styles and design untouched — including custom widgets.
Yes — product title, description, short description, categories, tags, brands and attributes, while carrying over price, stock and gallery so the translation remains a complete product. Multi-currency is intentionally out of scope; pair AumLang with a dedicated currency plugin if you need it.
Add the language switcher via the [aumlang_language_switcher] shortcode, the block, the widget, or the aumlang_language_switcher() template tag.
get_post(), which runs no query — so nothing this plugin had hooked could see it. The entry was
in the translation list, translating it changed nothing on the front end, and there was no error
anywhere. The content is now matched by an exact hash of itself, so it works regardless of how the
theme fetched the page, and a theme that uses no such block pays one string comparison.widget_title filter, which only fires if the widget itself calls it. Core widgets do; many others
simply print the stored value, and for those the title stayed in the source language and never even
appeared in the strings list, so there was nothing to notice. Every widget's stored fields are now
read before it renders. URLs, icons, CSS classes, ids, email addresses and phone numbers are left
alone — translating those breaks the widget rather than the wording.ja, not ja_JP. Those
languages sat in the switcher with no flag beside the ones that had one. Languages genuinely spoken
across several countries (English, Arabic, Swahili, Catalan, Basque) still show no flag, because
there is no right answer for them and a wrong flag is worse than none.