=== MTCodes Translator & Language Switcher ===
Contributors: milkan2002
Tags: multilingual, translation, translate, language switcher, hreflang
Requires at least: 5.9
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Unlimited languages with SEO-ready URLs. Translates the rendered page, so it works with Elementor and any page builder.

== Description ==

MTCodes Translator is a lightweight multilingual plugin with no dependencies and no theme coupling, built by [MTCodes](https://mtcodes.com).

* **Unlimited languages** — every non-default language is served under its own URL prefix (`/bs/`, `/fr/`, `/de/`, …); the default language stays at the site root.
* **Works with any builder** — the fully rendered HTML is parsed and every text node (plus `alt`, `title`, `placeholder`, `aria-label` 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.
* **SEO-ready** — hreflang alternates with `x-default` on every page, self-referencing canonicals on translated URLs, per-language `<html lang>` and `og:locale`, translated `<title>` and meta description, and language variants of all pages in the core XML sitemap.
* **Language switcher** — `[mtml_switcher]` shortcode, `mtml_switcher()` template tag, or build your own with `mtml_languages()`, `mtml_lang_url()` and `mtml_current_lang()`.
* **Importer** — optionally imports a theme dictionary file (`inc/i18n.php` returning `array( 'lang' => array( 'key' => 'text' ) )`).

== Installation ==

1. Copy the `mtcodes-translator` folder into `wp-content/plugins/`.
2. Activate the plugin.
3. Configure languages under Settings → MTCodes Translator → Languages.
4. Visit any page under a language prefix, then translate the discovered strings under Settings → MTCodes Translator → Translations.

== Frequently Asked Questions ==

= Do I need to duplicate my pages per language? =

No. One page serves all languages; the plugin translates the rendered output per URL.

= What happens to untranslated strings? =

They are shown in the default language and collected in the admin editor, sorted newest first.

== Screenshots ==

1. Languages settings — add unlimited languages, pick the default, and turn on automatic browser-language redirection for first-time visitors.
2. Translations editor — every string discovered on the front end lands here automatically; edit and save per language.
3. Front end — a language-prefixed URL (`/de/`) with the `[mtml_switcher]` shortcode in the header.

== Changelog ==

= 1.0.0 =
* Initial release: language URL routing, rendered-page translation, string discovery, hreflang/canonical/sitemap SEO, admin editor, theme dictionary importer, switcher shortcode.

== Upgrade Notice ==

= 1.0.0 =
First public release.
