How Language Switcher Pro works
1. It finds out where your languages live. When the plugin loads, it looks for a translation plugin. If it finds one, it asks that plugin for the URL of the current page in every language, so the switcher links to the real translated page (with translated slugs). The plugin it found is shown in the top bar of the settings screen and on the Languages tab.
2. Without a translation plugin, it uses built-in URLs. Your default language stays at your normal addresses (/about/) and every other language gets its code in front (/fr/about/, /ar/about/). The plugin builds these links and works out the current language from the first part of the address. It does not create or translate the pages at those addresses: you build them (see Built-in URLs without a translation plugin in Translation Plugins).
3. It adds the switcher to your pages. Wherever you place a button (menu, block, shortcode or PHP), the language window is added once at the bottom of the page. Its CSS and JavaScript are small, load with defer, and have no outside requests.
4. It can suggest a language. When country or browser detection is on, a visitor reading a language that is not their own can see a banner offering theirs, or be sent there automatically. Once they choose, their choice is remembered in a cookie and they are not asked again.
5. It keeps search engines right. Search engines and other bots are never redirected or shown banners, so every language can be indexed. Without a translation plugin, the plugin also adds hreflang links so search engines know which pages are translations of each other.
Works with page caching. The suggestion banner asks your server for the visitor’s country after the page loads, so it is correct even when the page itself comes from a cache or a CDN.