Akukita Chat with AI Translation

Beskrivning

Turn your WordPress site into a global community.

Got visitors from different countries who don’t share a common language? With Akukita Chat, an English speaker and a Spanish speaker hold a perfectly natural conversation — each one reads and writes in their own language. The translation happens in between, instantly and invisibly.

No API keys, no monthly fees, no configuration. Activate the plugin, answer two questions in the setup wizard, and you have a multilingual chat running in under a minute.

What’s new: direct messages, moderation and reactions are now free

The 1.5 release moved three of the biggest add-on features into the free plugin. They are not trials or teasers — they are complete and yours to keep:

  • ✉️ Direct messages — Private one-to-one conversations with the same automatic translation as the rooms. Conversation list, user search, unread badges and a slide-out sidebar you can open from any page.
  • 🛡 Moderation — Ban or temporarily mute anyone, delete messages, straight from the chat with a right-click or from the admin panel. It works on guests too, which is where spam actually comes from.
  • 😊 Emoji reactions — React to any message with 👍 ❤️ 😂 😮 😢 🔥. Guests included.

Everything you get

  • 🌍 70+ languages, zero configuration — Works out of the box with the free MyMemory engine. No registration, no credit card, no API key.
  • 🧙 Guided setup in 60 seconds — A wizard runs the moment you activate: pick a translation engine and get a ready-to-use chat page created for you.
  • 👥 Open the chat to anyone — Guest mode lets visitors join with just a display name and a language, no account needed. Spam protection (rate limiting, length limits and a honeypot) is always on.
  • 💬 Multi-room chat — As many topic-based rooms as you want, each with its own shortcode.
  • ✉️ Direct messages — Private translated conversations between registered users.
  • 🛡 Moderation — Ban, mute and delete, for members and guests alike.
  • 😊 Emoji reactions — Lightweight engagement on every message.
  • Real-time — Messages appear as they are sent, with no page reload.
  • 🧠 3 translation engines — Free (MyMemory), high quality (DeepL), or state of the art (OpenAI GPT-4o-mini). Switch any time without losing history.
  • 🚀 Smart caching — Each phrase is translated once and then served instantly to everyone, which saves your quota and your server.
  • 📱 Looks right on mobile — Responsive dark-glass interface built for phones as much as desktops.
  • 🇪🇺 GDPR-ready — Privacy text generated for you, configurable retention, and nothing leaves your database except the sentence being translated.

Perfect for

  • International communities and forums
  • Language exchange and learning sites
  • Multilingual e-commerce stores with WooCommerce
  • Travel, expat and digital-nomad communities
  • Online courses with students from multiple countries
  • SaaS support chats serving customers worldwide

How it works

  1. Install and activate the plugin.
  2. The setup wizard opens automatically and asks two quick questions: which translation engine you want and where to place the chat. It then creates a ready-to-use chat page for you.
  3. (Optional) Decide who can chat in Akukita Chat Settings Who can chat: only logged-in users (default), anyone with a display name (guest mode), or visitors who first create a WordPress account.
  4. Share the chat URL with your audience. That’s it.

Shortcodes

[akukita_chat]                     Full chat widget with room sidebar
[akukita_chat height="700"]        Custom height in pixels
[akukita_chat_room id="1"]         Embed a specific room
[akukita_dm]                       Standalone direct-messages page

Translation Providers

You choose which one to use, and you can switch any time without losing your chat history:

  1. MyMemory (default) — 100% free, no API key. 5,000 words/day per IP, or 50,000/day if you add your email in Settings.
  2. DeepL Free — Best European-language quality. 500,000 characters/month with a free DeepL API key.
  3. OpenAI GPT-4o-mini — State-of-the-art translation quality including idiomatic and informal language. Requires a paid OpenAI API key. Costs are minimal (~$0.15 per 1M input tokens).

If the API ever goes down, the original message is shown as-is — your chat keeps working.

Optional premium add-on

The free plugin above is complete — you never need to buy anything to run a fully working multilingual chat with rooms, direct messages, moderation and reactions.

If you run a business on top of it, the optional add-on at akukita.es adds:

  • 📎 File attachments — Share images and files in rooms and DMs
  • 🎨 6 themes + custom CSS — Match the chat to your brand
  • 📊 Analytics dashboard — Messages per room, active users, peak hours
  • 🔔 DM email alerts — Notify people by email when they get a message
  • 📤 History export — Download a room’s history as CSV or JSON
  • Priority translation — Your messages go to the front of the queue
  • 🔗 Webhooks — Send chat events to Zapier, Make or Slack
  • 🛒 WooCommerce rooms — Unlock a room when a customer buys a product
  • 🏷 White label — Remove the ”Powered by” attribution

One licence unlocks all of it; the packs differ only in how many sites you may activate on.

Built by Akukita

Akukita is a Spanish software studio focused on building tools that connect people across languages. Mario Simón Melchor leads development. The plugin is actively maintained — bug reports and feature requests get a response within 48 hours on the support forum.

External services

Akukita Chat connects to third-party translation APIs to translate chat messages. Each provider is opt-in and configured by you in Akukita Chat Settings. No data is sent unless you enable a provider and a user posts a message.

1. MyMemory / Translated.net (default — no API key needed)
Only the text of each chat message is sent. No user identifiers, emails or WordPress data are transmitted.

  • Service URL: https://mymemory.translated.net
  • Terms of Service: https://mymemory.translated.net/terms-and-conditions
  • Privacy Policy: https://translated.com/confidentiality

2. DeepL API (optional — requires API key)
Only message text is sent.

  • Service URL: https://www.deepl.com
  • Terms of Service: https://www.deepl.com/pro-license
  • Privacy Policy: https://www.deepl.com/privacy

3. OpenAI API (optional — requires API key)
Only message text is sent to the GPT model.

  • Service URL: https://openai.com
  • Terms of Service: https://openai.com/policies/row-terms-of-use/
  • Privacy Policy: https://openai.com/policies/row-privacy-policy/

4. Deactivation feedback (optional — only when you submit it)
When you deactivate the plugin, an optional form asks why. If — and only if — you fill it in and click ”Submit & deactivate”, the reason you select, any comment you type, and a reply email (only if you choose to provide one) are emailed to the plugin developer at akukita.es. Choosing ”Skip & deactivate” sends nothing. No site URL beyond the standard email signature, and no other site or admin data, is collected.

  • Developer: https://akukita.es

Privacy

Akukita Chat stores all chat messages in your own WordPress database. The plugin uses wp_add_privacy_policy_content() to automatically suggest privacy text for your site’s policy page (visible in Settings Privacy). You control the message retention period from the plugin settings.

Skärmdumpar

Installation

From WordPress.org (recommended)

  1. Go to Plugins Add New in your WordPress admin.
  2. Search for ”Akukita Chat”.
  3. Click Install Now, then Activate.
  4. Go to Akukita Chat Settings to configure your provider (the free one works out of the box).
  5. Go to Akukita Chat Rooms to create your first room.
  6. Paste [akukita_chat] on any page or post.
  7. Make sure Settings General Anyone can register is enabled so visitors can join.

Manual installation

  1. Download the ZIP from this page.
  2. Upload it via Plugins Add New Upload Plugin.
  3. Activate and follow steps 4-7 above.

Vanliga frågor

Do I really need zero configuration?

Yes. After activating the plugin, the free MyMemory provider is already selected. You only need to create a room and paste the shortcode. The default 5,000 words/day quota is enough for small to medium communities.

How do I get the 50,000 words/day free quota?

In Akukita Chat Settings, enter any email address in the MyMemory field. That’s it — your quota goes from 5,000 to 50,000 words/day at no cost.

Can my users create their own rooms?

No, by design. Only administrators create and manage rooms from the dashboard, which keeps the conversation structured and stops anyone spinning up junk rooms.

Do users need a WordPress account?

For the public rooms, no. Turn on guest mode in Settings Who can chat and visitors join with just a display name and a language.

Direct messages are the exception: a private conversation is stored against a real account, and a guest identity only lives as long as a browser cookie, so DMs are for registered users. Guests can still use the rooms, react to messages, and be moderated.

Is the caching plugin on my site going to break the chat?

No. The chat page carries per-visitor data (who you are, your session token), so the plugin tells page caches not to store it and marks its own scripts as ”do not combine”. WP Rocket, LiteSpeed, W3 Total Cache, WP Super Cache, WP-Optimize, Cache Enabler and Cloudflare are all handled. On top of that the chat asks the server who you are on every load, so even a cache that ignores those signals cannot serve you somebody else’s session.

Which translation engine should I choose?

Start with MyMemory: it is free, needs no API key and is preselected. Bear in mind it is a translation memory rather than a pure machine translator, so on short chat phrases its quality is uneven.

For a real community, DeepL Free is a big step up and still costs nothing up to 500,000 characters a month. OpenAI GPT-4o-mini handles slang and informal writing best and costs a few cents a month at typical chat volumes.

What about chat history?

Messages are stored in your own WordPress database. You decide how many days of history to keep in Settings, and older messages are auto-purged daily. Nothing is ever sent to third parties except the text being translated to your chosen provider.

What if my translation provider goes down?

The original (untranslated) message is shown. Users still see the conversation, just without translation during the outage. The chat itself keeps working at full speed.

Does it work with Multisite?

Yes. Each site in the network has its own rooms, messages and settings.

What PHP version is required?

PHP 7.4 or higher. PHP 8.0 or higher is recommended for better performance.

Is the plugin compatible with WordPress 7.0?

Yes, fully tested and compatible with WordPress 7.0.

Recensioner

26 maj 2026 1 svar
The real-time translation is super fast and actually sounds natural, not like a robotic Google Translate copy-paste. I can now chat with international clients and students in real time without any awkward pauses. It set up in minutes and just works. If you need to talk to a global audience, just get it. It’s worth it!
7 maj 2026 1 svar
It has been a huge help on an international community project I’m working on in WordPress. I needed a chat feature where users from different countries could communicate without language barriers, and this plugin is a perfect fit because it automatically translates messages in real time. It’s easy to integrate using shortcodes and very practical for projects with multilingual users.
Läs alla 4 betyg

Bidragsgivare och utvecklare

”Akukita Chat with AI Translation” är programvara med öppen källkod. Följande personer har bidragit till detta tillägg.

Bidragande personer

Ändringslogg

1.5.4

  • Fixed: Sites with an active premium licence still saw the upgrade banner in Settings and the ”⭐ Premium” sales page in the menu. Both were hidden based on whether a single feature — direct messages — was licensed, and since direct messages became part of the free plugin that check never matched again. They now key off whether the add-on is active at all.
  • Changed: The premium feature list no longer advertises direct messages, reactions, moderation or unread notifications, all of which are part of the free plugin.

1.5.3

  • Improved: The free MyMemory provider is a translation memory, so besides machine translation it returns segments previously contributed by people. On the short conversational text a chat produces those segments are frequently unrelated — ”i am fine and you?” could come back as ”i love you”. The plugin now prefers MyMemory’s machine-translated result over its human memory matches.
  • Improved: When MyMemory only offers a weak match, the message is left in its original language instead of being replaced with unrelated text. Untranslated is better than wrong.

1.5.2

  • Fixed: Messages were often stored under the wrong language, so they were never translated for the people who needed it. The language recorded for a message was the sender’s interface language — what they prefer to read — rather than the language they actually typed in. Since the composer explicitly invites you to write in any language, a Spanish message from someone reading in English was tagged as English and shown untranslated to every English reader. The written language is now detected from the text itself, in both rooms and direct messages.
  • Fixed: The direct-message sidebar kept using whichever language was active when the page loaded, ignoring later changes to the language selector.
  • Improved: Language detection results are cached for a day, so the repetitive phrases typical of chat (”hi”, ”hola”, ”ok”) no longer trigger an API call every time.

1.5.1

  • Fixed: Choosing ”Send direct message” on a guest did nothing. A conversation is stored against real user accounts, and guests have no account, so the action can never succeed — it is no longer offered for guests, or to guests. Previously it appeared to be available and then failed silently.
  • Improved: Participant names that open a conversation now carry a permanent, subtle dotted underline plus a 💬 hint on hover, so it is obvious they can be clicked without having to discover it by accident. On touch screens, where there is no hover, the hint stays visible.
  • Improved: Clickable names are keyboard-focusable with a visible focus ring.

1.5.0

Direct messages are now free

  • Added: Private one-to-one conversations between registered users, translated automatically just like the public rooms — each person reads and writes in their own language.
  • Added: Conversation list, user search, unread badges and a slide-out sidebar available from any page with the chat.
  • Added: New [akukita_dm] shortcode for a standalone direct-messages page.
  • Added: Open a conversation by clicking a participant’s name or avatar, or from the message context menu.
  • Note: Existing conversations are preserved. If this site previously used the premium add-on for direct messages, the tables are reused as-is and nothing is lost.
  • Note: Direct messages require a user account. Guests can use the public rooms, but a conversation needs a stable identity that outlives a browser cookie.

1.4.0

Moderation is now free

  • Added: Moderation panel under Akukita Chat Moderation. Ban participants, mute them for a set time, and see who is currently blocked. Previously part of the premium add-on.
  • Added: Right-click (or long-press on touch devices) any message to ban, mute or delete straight from the chat.
  • Added: Moderation now covers guests as well. The premium version could only act on registered accounts, which left open guest chats with no way to stop an abusive visitor — the most common place spam actually arrives.
  • Added: Mutes can be lifted before they expire, and expired mutes are cleaned up automatically instead of lingering in the list.
  • Changed: The premium page now reflects a single premium product; the packs differ only in how many sites a licence covers, not in features.

1.3.2

  • Fixed: A message you sent did not appear until you sent the next one. The de-duplication guard added in 1.3.1 was rejecting the sender’s own local echo, because it runs while the send is in flight and the message is authored by you — exactly the combination the guard looks for. Local echoes are now exempt from it.
  • Fixed: Reacting to a message you had just sent did nothing, because its reaction bar still carried the temporary id assigned before the server replied.
  • Fixed: Reactions added by other people only appeared after reloading the page. The polling loop only requests messages newer than the last one seen, so reactions on messages already on screen were never refreshed. A single bulk request now keeps every visible message in sync on each poll.

1.3.1

  • Fixed: Reactions could not be saved — the REST call was built with a double slash in the URL and the server answered ”no route matched”.
  • Fixed: On an empty room, the very first message was rendered twice for its sender. The polling loop could return the message before the send request resolved, so neither de-duplication check could recognise it yet. The client now ignores its own messages while a send is in flight and removes any leftover duplicate once the real message id is known.
  • Fixed: A freshly sent message briefly showed a different clock time than the same message after reloading, because the optimistic bubble was timestamped in UTC while the server returns site-local time.
  • Fixed: Clicking a participant’s name did nothing when the premium add-on was not installed. The ”send a direct message” affordance is now only rendered when direct messages are actually available.
  • Fixed: The admin screens still advertised message reactions as a premium feature after they became part of the free plugin in 1.3.0.

1.3.0

Message reactions are now free

  • Added: Emoji reactions on chat messages (👍 ❤️ 😂 😮 😢 🔥). Previously part of the premium add-on, now included in the free plugin for everyone.
  • Reactions work for guests too, not just registered users.
  • Reactions are delivered inside the message payload itself, so displaying them costs no extra HTTP requests — the chat stays just as fast with reactions enabled.
  • Reactions attached to a message are removed automatically when that message is deleted, and swept completely on uninstall.

1.2.1

Robustness pass for cached & hardened environments

  • Added: New /wp-json/akch/v1/whoami REST endpoint that returns the visitor’s fresh identity and nonces on every page load. The client-side JavaScript now calls it on boot and uses its values instead of the inline data — this defeats the whole class of bugs where a page-cache plugin (WP-Optimize, LiteSpeed, WP Rocket, W3 Total Cache, Cache Enabler, Cloudflare) served HTML built for a previous visitor. Symptoms fixed: phantom guest gate for logged-in users, Cookie check failed (403) on every REST call, and stale user identities across sessions.
  • Added: /wp-json/akch/v1/guest-name REST endpoint as the primary path for saving a guest’s display name. Some hosting stacks (Wordfence, iThemes Security, restrictive WAFs) block non-logged-in POSTs to admin-ajax.php and return an HTML error page. The new REST route is treated as more legitimate by most WAFs.
  • Added: If the REST route is blocked, the client transparently falls back to admin-ajax.php. Both paths share exactly the same validation code server-side.
  • Added: The chat page now signals ”do not cache / do not minify” to every major cache & optimization plugin in the ecosystem: WP-Optimize (page cache and its Minify module), LiteSpeed Cache, WP Rocket, Autoptimize, Cache Enabler, and Cloudflare — plus the standard DONOTCACHEPAGE and nocache_headers() signals.
  • Added: The plugin’s own <script> tags carry data-no-optimize, data-no-minify, data-no-defer and data-cfasync="false" so no JS bundler combines chat.js into a shared bundle that would then be cached across visitors.
  • Improved: When the server responds with HTML instead of JSON (blocked by a security plugin, a login redirect, or a 5xx error page), the guest gate now shows an actionable message: ”The server returned an unexpected response. This is often caused by a security plugin blocking guest requests. Please contact the site owner.”
  • Improved: The account access mode now shows a clean, single-CTA modal when user registration is disabled on the site (previously the modal showed an inactive ”Log in” tab-button that appeared to do nothing).
  • Improved: More precise error messages surfaced from the server (e.g. Guest chat is not enabled on this site) instead of a generic Error.

1.2.0

Headline features

  • 🧙 New: Guided setup wizard. Activating the plugin now opens a one-screen wizard that asks for your translation engine and creates a ready-to-use chat page for you — first-run time is under a minute.
  • 👥 New: Open chat for guests, no account required. Switch ”Who can chat” to Anyone in Settings and visitors join the chat by entering just a display name and a language. Per-identity rate limiting, message length limits and a honeypot field protect open chats from spam, always on.
  • 💬 New: Optional deactivation feedback. When you deactivate the plugin, an opt-in modal asks why. Skip it and nothing is sent. If you submit, only the reason and any text you type leave your site — no URL, no WP version, no other site data. Helps the plugin keep improving.

Improvements

  • Message moderation: administrators can remove individual messages.
  • ”Settings” link added to the row of the Plugins screen.
  • Clearer labels and an active-mode banner in Settings Who can chat.
  • The registration / login modal now opens the WooCommerce ”My Account” page automatically when WooCommerce is active. A new akch_login_url filter lets you point the button anywhere.
  • Uninstall now removes every plugin option, transient and user meta entry cleanly, including the new 1.2.0 keys.
  • Pages that contain the chat shortcode are now marked as uncacheable for WP Rocket, LiteSpeed, W3 Total Cache, WP Super Cache and Cloudflare. Avoids one guest’s session being served from cache to a different visitor.
  • All chat input fields (textarea, language picker, registration inputs) now use a white background with dark text and explicit placeholder colours, for consistent readability across OS themes.

Bug fixes

  • The first message sent in an empty room could appear twice on the sender’s screen due to a race between the optimistic render and the polling loop. Fixed with a sender-side ID set and a corrected ordering of state updates.
  • The ”Log in” tab in the registration modal did not respond to clicks because the JS bound to an outdated element id. Fixed.
  • The guest name gate did not initialise on guest-mode pages because the bootstrap only ran for users with positive IDs. It now runs whenever the chat widget is rendered.
  • Server-side error messages were being swallowed by the front-end API helper. Errors now surface as toasts and, if the server reports a missing name, the name gate reappears automatically with the typed text preserved.
  • The guest gate now also renders correctly inside themes that aggressively rewrite shortcode output (e.g. Divi), thanks to a fixed-position fallback overlay that attaches directly to <body> with a maximum z-index.

1.1.2

  • Fixed: Messages now sync correctly in real time when using the single-room shortcode [akukita_chat_room].
  • Improved: Refined plugin tags for better discoverability in the plugin directory.
  • Improved: New screenshots showcasing live multilingual chat.

1.1.1

  • Improved: Review prompt now appears after 3 days of use (previously 14) for faster user feedback.

1.1.0

  • Added: Friendly review prompt in admin (appears after 3 days of use, fully dismissible).
  • Improved: Better integration with the WordPress.org support workflow — unhappy users are directed to the support forum instead of leaving rushed reviews.

1.0.9

  • Confirmed compatibility with WordPress 7.0.
  • Improved plugin documentation and on-screen help.

1.0.8

  • Improved: Database security review and code hardening across the entire plugin.
  • Improved: Updated all external service links to canonical URLs for stability.

1.0.7

  • Improved: Plugin scope optimized for the free version. Private rooms moved to the Premium add-on for a cleaner feature split.
  • Improved: All third-party service documentation links verified and updated.

1.0.5

  • Added: ”Powered by” badge is now opt-in from Settings (off by default).
  • Improved: REST API permission checks tightened across all endpoints.

1.0.3

  • Added: Premium upgrade page with feature overview.
  • Added: Developer hooks (akch_message_created, akch_room_created, akch_can_post_message) for extensions and integrations.

1.0.2

  • Added: GDPR-ready privacy policy suggestion.
  • Improved: Full compliance with WordPress.org coding standards.

1.0.1

  • Initial public release.
  • Multi-room real-time chat with AI translation.
  • MyMemory (free), DeepL and OpenAI GPT-4o-mini providers.
  • 70+ languages with automatic detection and caching.
  • User self-registration from the chat page.
  • Configurable message history retention.
  • Responsive dark-glass UI.