WordPress plugin intelligence profile

Datoden Language Switcher

Your website in two languages – the second language on its own address (/en/), with linked pages and a language switcher in the menu.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.1
Current version3.0.17
WordPress coverageTested up to WordPress 7.1
Minimum stackWP 6.5 · PHP 7.4
Directory statusactive
Last directory update4 Nov 20264h ago
Active installationsNewAdoption metric — not a quality score
WordPress.org ratingNo WordPress.org ratings yet
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Datoden Language Switcher version 3.0.17 as active, updated 4h ago and tested up to WordPress 7.1.

Overview

About this plugin

In the WordPress admin the plugin is shown as “DT-language” in the DT-addons menu (Datoden’s menu).

DT-language puts your website in two languages: the main language on the website’s usual address and one more language on its own address on the same domain (for example /en/).

  • Two languages: the main language and a second language with its own address on the same domain (/en/).
  • Pages are linked to their translations. Click + EN next to a page in the page list: a copy opens, ready to be translated.
  • The page and post lists show the language of every page, can be filtered by language and show a page and its translations in consecutive rows.
  • The start page, the sections on it, the contact page, the privacy page and placed DT-slideshow slideshows follow the language automatically.
  • Menus follow the language: pages in the menu go to their translations.
  • Language switcher (SV / EN) last in the menu, where the theme puts it, or the shortcode [datoden_language_switcher].
  • hreflang links for search engines, the right language in and WordPress’ own texts in the visitor’s language.
  • A page opened on the wrong language address is redirected to the right one.
  • DT-contact forms are shown in the visitor’s language, and their texts are written per language in DT-contact.
  • No extra tables, nothing loaded from other servers.

For themes and plugins

  • apply_filters(‘datoden_lang_id’, $page_id) gives the page in the visitor’s language.
  • do_action(‘datoden_language_switcher’) prints the language switcher where the theme wants it (with add_theme_support(‘dt-language-switcher’)).
  • Filters for own addresses per language (datoden_lang_path), language-neutral pages shown in both languages (datoden_lang_neutral_post), own hreflang addresses (datoden_lang_alternates) and translation of whole pages with a dictionary (datoden_lang_dictionary, datoden_lang_translate_output, datoden_lang_output).
  • REST: POST /wp-json/datoden-language/v1/translation creates or updates a translation (for editors who may edit the page).

Pro add-on

org): more than two languages, an own domain per language, an own menu per language, translation of the theme’s texts, the site title and the menu labels in Customize, translation of the slideshows’ texts in DT-slideshow, and changing any text directly on the website. DT-language works fully without it.

External services

com), a service run by Responsit AB, Sweden. The connection is optional – everything in the plugin works without it. com.

You can disconnect at any time with “Disconnect” (or by turning DT-website-guard off) on the DT-website-guard page; then nothing more is sent.

What is sent to Datoden, and when (only while the website is connected, except the connection itself):

  • When you connect: the website address, the administrator’s language (Swedish or English), the WordPress address that Datoden returns to and a random check value. After you approve on Datoden, the website sends the one-time code it got back, together with the website address and the language, and receives a website key that is stored in your database.
  • Once a day (WordPress cron), and when an administrator opens a DT plugin page and the last contact is more than six hours old: the website key, the language, and the folder names, versions and active state of the installed Datoden plugins (for example datoden-cookie-consent). The answer can contain short messages from Datoden and updated wording for the DT plugins’ texts, which are shown on the plugins’ pages.
  • When an administrator opens the DT-website-guard page or a DT plugin page (at most every five minutes), or clicks “Check again”: the website key, to get the latest result of Datoden’s monitoring (up or down, response time, and the expiry dates of the SSL certificate and the domain). “Check again” also asks Datoden to check the website once more.
  • When the DT-website-guard page is shown and the DT-website-guard plugin is installed: the list of Datoden’s plugins and their versions is fetched from datoden.se, at most every six hours. No data about the website is sent.
  • When you click “My websites”: the website key, the language and the email address of the logged-in WordPress user, so that Datoden can sign you in directly if it is the same address as your Datoden account.
  • When you save, use or delete a settings profile: the website key, and when saving the settings of DT-cookie and DT-darkmode (no personal data; website-specific values such as the logo and the privacy page are left out). They are stored in or read from your Datoden account.
  • When you disconnect: the website key, so that Datoden can remove it.
  • While connected, Datoden visits the public website every five minutes (like any visitor) to check that it is up, reads its SSL certificate and looks up the domain’s public registration data to find when it expires. The plugin shows the dates as Datoden reports them; the website does not contact any other service for this.

com/terms/

com/privacy-policy/

Source code

Everything in this plugin is the original, human-readable source code. The PHP, JavaScript and CSS files are written by hand and are neither minified nor generated by a build tool, so there is no build step: the files in the plugin folder are the source and can be read and edited directly.

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • language switcher
  • hreflang
  • languages
  • multilingual
  • translation
Compatibility & maintenance

Compatibility & maintenance

Tested with WP 7.1

Marked as tested with the current WordPress 7.1 release.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.1
Minimum requirementsWordPress 6.5 · PHP 7.4
Update activity4 Nov 20264h ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.