{"id":351051,"date":"2026-08-21T17:50:43","date_gmt":"2026-08-21T17:50:43","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/mt-multilang\/"},"modified":"2026-08-21T18:11:00","modified_gmt":"2026-08-21T18:11:00","slug":"mtcodes-translator","status":"publish","type":"plugin","link":"https:\/\/test.wordpress.org\/plugins\/mtcodes-translator\/","author":18661505,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1","requires":"5.9","requires_php":"7.4","requires_plugins":null,"header_name":"MTCodes Translator & Language Switcher","header_author":"MTCodes","header_description":"Lightweight multilingual plugin \u2014 unlimited languages, translates the rendered page (Elementor-compatible), SEO-ready: language URLs, hreflang, canonicals, sitemap.","assets_banners_color":"","last_updated":"2026-08-21 18:11:00","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/mtcodes.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":66,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"milkan2002","date":"2026-08-21 18:11:00"}},"upgrade_notice":{"1.0.0":"<p>First public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3659475,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3659475,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3659475,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3659475,"resolution":"1","location":"assets","locale":"","width":1200,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3659475,"resolution":"2","location":"assets","locale":"","width":1200,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3659475,"resolution":"3","location":"assets","locale":"","width":1200,"height":900}},"screenshots":{"1":"Languages settings \u2014 add unlimited languages, pick the default, and turn on automatic browser-language redirection for first-time visitors.","2":"Translations editor \u2014 every string discovered on the front end lands here automatically; edit and save per language.","3":"Front end \u2014 a language-prefixed URL (<code>\/de\/<\/code>) with the <code>[mtml_switcher]<\/code> shortcode in the header."}},"plugin_section":[],"plugin_tags":[2993,22323,99,95,2333],"plugin_category":[48],"plugin_contributors":[204574],"plugin_business_model":[],"class_list":["post-351051","plugin","type-plugin","status-publish","hentry","plugin_tags-hreflang","plugin_tags-language-switcher","plugin_tags-multilingual","plugin_tags-translate","plugin_tags-translation","plugin_category-language-tools","plugin_contributors-milkan2002","plugin_committers-milkan2002"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/mtcodes-translator\/assets\/icon.svg?rev=3659475","icon":"https:\/\/ps.w.org\/mtcodes-translator\/assets\/icon.svg?rev=3659475","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/mtcodes-translator\/assets\/screenshot-1.png?rev=3659475","caption":"Languages settings \u2014 add unlimited languages, pick the default, and turn on automatic browser-language redirection for first-time visitors."},{"src":"https:\/\/ps.w.org\/mtcodes-translator\/assets\/screenshot-2.png?rev=3659475","caption":"Translations editor \u2014 every string discovered on the front end lands here automatically; edit and save per language."},{"src":"https:\/\/ps.w.org\/mtcodes-translator\/assets\/screenshot-3.png?rev=3659475","caption":"Front end \u2014 a language-prefixed URL (<code>\/de\/<\/code>) with the <code>[mtml_switcher]<\/code> shortcode in the header."}],"raw_content":"<!--section=description-->\n<p>MTCodes Translator is a lightweight multilingual plugin with no dependencies and no theme coupling, built by <a href=\"https:\/\/mtcodes.com\">MTCodes<\/a>.<\/p>\n\n<ul>\n<li><strong>Unlimited languages<\/strong> \u2014 every non-default language is served under its own URL prefix (<code>\/bs\/<\/code>, <code>\/fr\/<\/code>, <code>\/de\/<\/code>, \u2026); the default language stays at the site root.<\/li>\n<li><strong>Works with any builder<\/strong> \u2014 the fully rendered HTML is parsed and every text node (plus <code>alt<\/code>, <code>title<\/code>, <code>placeholder<\/code>, <code>aria-label<\/code> and SEO meta) is swapped against the translations table. Strings without a translation stay in the default language and appear in the admin editor automatically.<\/li>\n<li><strong>SEO-ready<\/strong> \u2014 hreflang alternates with <code>x-default<\/code> on every page, self-referencing canonicals on translated URLs, per-language <code>&lt;html lang&gt;<\/code> and <code>og:locale<\/code>, translated <code>&lt;title&gt;<\/code> and meta description, and language variants of all pages in the core XML sitemap.<\/li>\n<li><strong>Language switcher<\/strong> \u2014 <code>[mtml_switcher]<\/code> shortcode, <code>mtml_switcher()<\/code> template tag, or build your own with <code>mtml_languages()<\/code>, <code>mtml_lang_url()<\/code> and <code>mtml_current_lang()<\/code>.<\/li>\n<li><strong>Importer<\/strong> \u2014 optionally imports a theme dictionary file (<code>inc\/i18n.php<\/code> returning <code>array( 'lang' =&gt; array( 'key' =&gt; 'text' ) )<\/code>).<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Copy the <code>mtcodes-translator<\/code> folder into <code>wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Configure languages under Settings \u2192 MTCodes Translator \u2192 Languages.<\/li>\n<li>Visit any page under a language prefix, then translate the discovered strings under Settings \u2192 MTCodes Translator \u2192 Translations.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20to%20duplicate%20my%20pages%20per%20language%3F\"><h3>Do I need to duplicate my pages per language?<\/h3><\/dt>\n<dd><p>No. One page serves all languages; the plugin translates the rendered output per URL.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20untranslated%20strings%3F\"><h3>What happens to untranslated strings?<\/h3><\/dt>\n<dd><p>They are shown in the default language and collected in the admin editor, sorted newest first.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: language URL routing, rendered-page translation, string discovery, hreflang\/canonical\/sitemap SEO, admin editor, theme dictionary importer, switcher shortcode.<\/li>\n<\/ul>","raw_excerpt":"Unlimited languages with SEO-ready URLs. Translates the rendered page, so it works with Elementor and any page builder.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/351051","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=351051"}],"author":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/milkan2002"}],"wp:attachment":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=351051"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=351051"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=351051"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=351051"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=351051"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=351051"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}