{"id":373438,"date":"2026-09-23T06:04:18","date_gmt":"2026-09-23T06:04:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/truelang-free-ai-website-translation\/"},"modified":"2026-09-24T08:14:16","modified_gmt":"2026-09-24T08:14:16","slug":"truelang-ai-website-translation","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/truelang-ai-website-translation\/","author":23571243,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.1.4","stable_tag":"2.1.4","tested":"7.1.2","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"TrueLang AI Website Translation","header_author":"TrueLang","header_description":"Translate your WordPress site with AI. Add up to 10 page URLs and press Translate. Translation runs on TrueLang's servers with a free account - no AI provider account, no API key.","assets_banners_color":"0b2630","last_updated":"2026-09-24 08:14:16","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/truelang.io\/free","header_author_uri":"https:\/\/truelang.io","rating":0,"author_block_rating":0,"active_installs":0,"downloads":89,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.1.2":{"tag":"2.1.2","author":"theoquodr","date":"2026-09-23 06:03:58","revision":3708586},"2.1.3":{"tag":"2.1.3","author":"theoquodr","date":"2026-09-23 18:18:13","revision":3709943},"2.1.4":{"tag":"2.1.4","author":"theoquodr","date":"2026-09-24 08:14:16","revision":3710830}},"upgrade_notice":{"2.1.1":"<p>Fixes &quot;HTTP 403&quot; on every page, which affected sites whose hosting firewall blocks the browser signature 2.1.0 used to read your pages.<\/p>","2.1.0":"<p>Translation failures are no longer silent. If your pages showed as &quot;Translated&quot; with nothing translated, this release tells you why. DeepSeek and Mistral users must switch to Claude, OpenAI or Google Gemini.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3709917,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3709917,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3709917,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3709917,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.1.2","2.1.3","2.1.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3709917,"resolution":"1","location":"assets","locale":"","width":2560,"height":1600},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3709917,"resolution":"2","location":"assets","locale":"","width":2560,"height":1600},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3709917,"resolution":"3","location":"assets","locale":"","width":2560,"height":1600},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3709917,"resolution":"4","location":"assets","locale":"","width":2560,"height":1600},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3709917,"resolution":"5","location":"assets","locale":"","width":2560,"height":1600}},"screenshots":{"1":"Setup in three steps - connect your free account, pick your languages, switch it on","2":"Configure languages and translation scope from one dashboard","3":"Your account: pages used, and what the free plan covers","4":"8 widget styles and 4 positions - customize the language switcher to match your site","5":"Track your page usage and manage translations easily"}},"plugin_section":[],"plugin_tags":[2353,1385,99,95,2333],"plugin_category":[48],"plugin_contributors":[282210],"plugin_business_model":[],"class_list":["post-373438","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-language","plugin_tags-multilingual","plugin_tags-translate","plugin_tags-translation","plugin_category-language-tools","plugin_contributors-theoquodr","plugin_committers-theoquodr"],"banners":{"banner":"https:\/\/ps.w.org\/truelang-ai-website-translation\/assets\/banner-772x250.png?rev=3709917","banner_2x":"https:\/\/ps.w.org\/truelang-ai-website-translation\/assets\/banner-1544x500.png?rev=3709917","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/truelang-ai-website-translation\/assets\/icon-128x128.png?rev=3709917","icon_2x":"https:\/\/ps.w.org\/truelang-ai-website-translation\/assets\/icon-256x256.png?rev=3709917","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/truelang-ai-website-translation\/assets\/screenshot-1.png?rev=3709917","caption":"Setup in three steps - connect your free account, pick your languages, switch it on"},{"src":"https:\/\/ps.w.org\/truelang-ai-website-translation\/assets\/screenshot-2.png?rev=3709917","caption":"Configure languages and translation scope from one dashboard"},{"src":"https:\/\/ps.w.org\/truelang-ai-website-translation\/assets\/screenshot-3.png?rev=3709917","caption":"Your account: pages used, and what the free plan covers"},{"src":"https:\/\/ps.w.org\/truelang-ai-website-translation\/assets\/screenshot-4.png?rev=3709917","caption":"8 widget styles and 4 positions - customize the language switcher to match your site"},{"src":"https:\/\/ps.w.org\/truelang-ai-website-translation\/assets\/screenshot-5.png?rev=3709917","caption":"Track your page usage and manage translations easily"}],"raw_content":"<!--section=description-->\n<p>TrueLang Free makes your WordPress site multilingual. Translation runs on TrueLang's servers, so there is no AI provider account to open and no API key to paste. Enter your email, pick a language, and your pages are translated.<\/p>\n\n<p><strong>What the free plan includes:<\/strong><\/p>\n\n<ul>\n<li>10 translated pages<\/li>\n<li>1 target language<\/li>\n<li>Translation included - no API key, no credit card<\/li>\n<li>Automatic language switcher widget<\/li>\n<li>SEO-friendly subdirectory URLs (<code>\/en\/page\/<\/code>)<\/li>\n<li>Hreflang tags for search engines<\/li>\n<li>Local translation caching, so repeat visits are served from your own database<\/li>\n<\/ul>\n\n<p>There is no trial period. The free plan does not expire and does not ask for a card at any point.<\/p>\n\n<p><strong>How it works:<\/strong><\/p>\n\n<ol>\n<li>Install the plugin and open the setup.<\/li>\n<li>Enter your email. Your free TrueLang account is created and connected.<\/li>\n<li>Choose your source and target language.<\/li>\n<li>Add the pages you want translated and switch translation on.<\/li>\n<\/ol>\n\n<p><strong>Good to know<\/strong><\/p>\n\n<p>Pages are translated up to 3,000 words each. That covers ordinary pages and posts; archive pages listing hundreds of articles are usually far larger, and translating the articles themselves works better anyway.<\/p>\n\n<p>WooCommerce shops are not supported by this plugin. A shop needs its cart, checkout, order emails and prices translated too, and that is what the paid version does.<\/p>\n\n<p><strong>Need more?<\/strong><\/p>\n\n<p><a href=\"https:\/\/truelang.io\/#pricing\">TrueLang Solo<\/a> adds unlimited pages, unlimited languages, translated URL slugs, redirects for changed slugs, multilingual sitemaps, front-end visual editing, a glossary, WooCommerce support, and the option to use your own AI provider key. One-time payment. Yours forever.<\/p>\n\n<h3>Third-Party Services<\/h3>\n\n<p>This plugin connects to external services in specific situations:<\/p>\n\n<h4>TrueLang (truelang.io)<\/h4>\n\n<p>This plugin needs a free TrueLang account, and it is TrueLang that translates your pages.<\/p>\n\n<ul>\n<li>When you finish the setup, your email address, your site's domain and name, the languages you chose and the language of your WordPress dashboard are sent to truelang.io to create the account. Your site is asked to confirm it is really yours before anything is created.<\/li>\n<li>When you translate a page, its text is sent to truelang.io, translated, and stored in your own WordPress database. Nothing else about your site is sent.<\/li>\n<li><p>Your page count is kept on our side, which is what the free plan is measured against.<\/p><\/li>\n<li><p>Service: <a href=\"https:\/\/truelang.io\">truelang.io<\/a><\/p><\/li>\n<li>Privacy Policy: <a href=\"https:\/\/truelang.io\/privacy\">truelang.io\/privacy<\/a><\/li>\n<li>Terms of Service: <a href=\"https:\/\/truelang.io\/terms\">truelang.io\/terms<\/a><\/li>\n<\/ul>\n\n<p>TrueLang translates using <a href=\"https:\/\/ai.google.dev\">Google Gemini<\/a> - <a href=\"https:\/\/policies.google.com\/privacy\">Privacy Policy<\/a>. Your text reaches the model through us; you have no account to open with them.<\/p>\n\n<h4>Country Flags<\/h4>\n\n<p>Flag images ship with the plugin. Nothing is fetched from a third party.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install the plugin from the WordPress plugin directory, or upload the <code>truelang-ai-website-translation<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Open <strong>TrueLang &gt; Getting Started<\/strong> and enter your email address. Your free account is created and connected.<\/li>\n<li>Choose your source and target language, add the pages you want translated, and switch translation on.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20it%20really%20free%3F\"><h3>Is it really free?<\/h3><\/dt>\n<dd><p>Yes, and there is nothing else to pay. Translation runs on TrueLang's servers and we cover its cost for the free plan: 10 pages in one language. There is no trial period, no expiry and no card at any point.<\/p><\/dd>\n<dt id=\"do%20i%20need%20an%20ai%20provider%20account%20or%20an%20api%20key%3F\"><h3>Do I need an AI provider account or an API key?<\/h3><\/dt>\n<dd><p>No. You do not open an account with Anthropic, OpenAI or Google, and you have no key to paste anywhere. Your email address is all the setup asks for.<\/p><\/dd>\n<dt id=\"what%20are%20the%20limits%3F\"><h3>What are the limits?<\/h3><\/dt>\n<dd><p>10 translated pages, 1 target language, and up to 3,000 words per page.<\/p>\n\n<p>A page counts once it has been translated, and it keeps counting afterwards: removing it from the list tidies your list but does not give the slot back, because the translation has already been done. Translating the same page again costs nothing.<\/p>\n\n<p>The 3,000 word ceiling covers ordinary pages and posts. Archive pages listing hundreds of articles are usually far larger; translating the articles themselves works better anyway.<\/p><\/dd>\n<dt id=\"where%20are%20my%20translations%20stored%3F\"><h3>Where are my translations stored?<\/h3><\/dt>\n<dd><p>In your own WordPress database. Pages are served from there, so repeat visits do not call anything. If you later move to a paid plan, everything you have already translated stays translated.<\/p><\/dd>\n<dt id=\"what%20data%20is%20sent%20to%20truelang%3F\"><h3>What data is sent to TrueLang?<\/h3><\/dt>\n<dd><p>When the account is created: your email address, your site's domain and name, the languages you chose, and the language of your WordPress dashboard (so our emails reach you in a language you read). When you ask for a page to be translated: the text of that page. Nothing else. See the Third-Party Services section below.<\/p><\/dd>\n<dt id=\"what%20url%20format%20does%20it%20use%3F\"><h3>What URL format does it use?<\/h3><\/dt>\n<dd><p>Subdirectory format (<code>yoursite.com\/en\/page\/<\/code>) is recommended and enabled by default. Query parameter format (<code>?lang=en<\/code>) is also supported.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.1.4<\/h4>\n\n<ul>\n<li>Changed: the language of your WordPress dashboard is sent when the account is created, so emails from TrueLang reach you in a language you read, even when your site is written in another one.<\/li>\n<li>Changed: the \"What data is sent to TrueLang?\" answer and the Third-Party Services section now list every piece of information sent at setup.<\/li>\n<\/ul>\n\n<h4>2.1.3<\/h4>\n\n<ul>\n<li>Fixed: the setup screen showed a PHP notice at the top of the page on sites with debugging turned on.<\/li>\n<li>Fixed: the admin menu still read \"TrueLang Free\". It now reads \"TrueLang\", like the plugin.<\/li>\n<li>Fixed: the Account screen called the plan's page size limit \"Largest page translated\". It now reads \"Largest page allowed\".<\/li>\n<\/ul>\n\n<h4>2.1.2<\/h4>\n\n<ul>\n<li>Changed: translation is now included. No AI provider account, no API key: enter your email during setup and your free TrueLang account is created for you.<\/li>\n<li>Added: pages are translated up to 3,000 words each, which keeps a single archive page from using up a whole free plan.<\/li>\n<li>Added: the admin interface now speaks 72 languages instead of 9.<\/li>\n<li>Added: the \"Powered by TrueLang\" credit under the switcher is now a setting, and you can turn it off.<\/li>\n<li>Changed: flags are served from the plugin instead of an external CDN, so no visitor request leaves your site.<\/li>\n<li>Changed: the admin screens use the WordPress system font instead of loading one from Google.<\/li>\n<li>Changed: updates now come from the WordPress.org plugin directory. The plugin no longer contacts truelang.io to check for new versions.<\/li>\n<li>Fixed: activating the free plugin no longer switches off a paid TrueLang. It steps aside on its own and tells you why.<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>Fixed: on some hosts every page failed with \"HTTP 403\". The crawler sent a single fixed browser signature, and some hosting firewalls block exactly that string. It now tries several signatures until one is accepted.<\/li>\n<li>Improved: a page blocked by your host now says so, instead of showing a bare status code.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Fixed: a page could be marked \"Translated\" when nothing had actually been translated. Every failure now reports the reason from your AI provider.<\/li>\n<li>Fixed: \"Test &amp; Save\" tested a different model from the one used for translation, so an unusable setting could report success.<\/li>\n<li>Fixed: the admin interface was never translated. The nine bundled languages now load correctly.<\/li>\n<li>Fixed: text containing an excluded term was translated, billed and then discarded.<\/li>\n<li>Fixed: a partly failed run kept what was translated and now says how much was missed, instead of reporting success.<\/li>\n<li>Changed: available models are read from your own API key instead of a built-in list, so new models appear without a plugin update.<\/li>\n<li>Changed: expensive models are no longer offered. They cost far more and translate no better.<\/li>\n<li>Removed: DeepSeek and Mistral. Use Claude, OpenAI or Google Gemini.<\/li>\n<li>Improved: the page crawler identifies as a browser and detects when a firewall serves it a security check instead of your site.<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Added Maori, Samoan and Tongan<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Crawl-based translation: add up to 10 URLs and click Translate<\/li>\n<li>No account and no license key required<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added JSON repair for CJK translations<\/li>\n<li>Improved AI prompts for cultural adaptation<\/li>\n<li>Zero API calls to TrueLang servers<\/li>\n<li>SEO fixes<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Translate your WordPress site with AI. Free forever: 10 pages, 1 language, translation included. No API key, no card.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/373438","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=373438"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/theoquodr"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=373438"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=373438"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=373438"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=373438"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=373438"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=373438"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}