Title: Duolangue — Lightweight Bilingual
Author: wewillstudio
Published: <strong>October 14, 2026</strong>
Last modified: October 14, 2026

---

Search plugins

![](https://ps.w.org/duolangue/assets/banner-772x250.png?rev=3746907)

![](https://ps.w.org/duolangue/assets/icon.svg?rev=3746907)

# Duolangue — Lightweight Bilingual

 By [wewillstudio](https://profiles.wordpress.org/wewillstudio/)

[Download](https://downloads.wordpress.org/plugin/duolangue.1.0.4.zip)

 * [Details](https://wordpress.org/plugins/duolangue/#description)
 * [Reviews](https://wordpress.org/plugins/duolangue/#reviews)
 *  [Installation](https://wordpress.org/plugins/duolangue/#installation)
 * [Development](https://wordpress.org/plugins/duolangue/#developers)

 [Support](https://wordpress.org/support/plugin/duolangue/)

## Description

Most sites are not translated into ten languages — they are translated into two.
Duolangue is built for that exact case: **one site, two languages, no bloat.** No
custom database tables, no settings maze, no machine-translation upsell baked into
checkout.

Duolangue gives you a fully working bilingual site for pages, posts and custom post
types:

 * **Directory-based routing** — your default language at the root, the second language
   under its own directory (e.g. `/fr/`). A `?lang=` parameter mode is available
   as a fallback.
 * **Translated URL bases** — translate the URL base of posts and custom post types(
   e.g. `/projects/`  `/fr/projets/`).
 * **Manual translation linking** — link any page, post or custom post type entry
   to its translation from the editor (the “Duolangue — Language” panel in Gutenberg,
   or a metabox in the classic editor), or unlink at any time. Nothing is ever deleted.
 * **Language switcher** — a `[duolangue_switcher]` shortcode plus `duolangue_language_switcher()`/`
   duolangue_other_lang_url()` template functions for themes, page builders and 
   code blocks.
 * **Automatic hreflang** — correct alternate + x-default tags on every page, out
   of the box.
 * **Menus follow the visitor’s language** — menu items pointing at a linked page
   or post are swapped to its translation automatically, and a language link can
   be appended to the menus you choose.
 * **ACF-aware** — Post Object, Page Link and Relationship pickers only list content
   in the language being edited.
 * **Native admin integration** — a Language column, per-language tabs and bulk “
   assign language” actions on every list screen.
 * **Admin language toggle** — switch the admin between your two site languages (
   global setting plus an optional per-user toggle). The plugin’s own strings are
   translated through translate.wordpress.org.
 * **Page-builder friendly** — builder template post types (Oxygen, Bricks, Breakdance,
   Elementor, Divi, Beaver Builder) are left untouched.

Every switcher link points to the **linked translation of the current page** when
it exists and is published; otherwise it falls back to the **home page of the target
language**.

#### What Duolangue deliberately does NOT do

 * No third language: Duolangue is designed around a language pair, where every 
   page has exactly one counterpart in the other language (the same in Duolangue
   Pro).
 * No custom SQL tables — everything lives in post meta and a single option.
 * No automatic / machine translation — you (or your translator) write the words.
 * No subdomain or multisite-based language setup.

#### Duolangue Pro

A separate commercial edition, **Duolangue Pro**, adds one-click duplication into
the other language, taxonomy term translation and whole-menu translation. Everything
described above is in this free plugin, with no limits. Learn more at [duolangue.com](https://duolangue.com/).

### External services

This plugin includes the [Freemius](https://freemius.com/) SDK, which on activation
shows an optional opt-in screen.

 * **What is sent, and when:** only if you click “Allow & Continue” on that screen,
   Freemius receives your site URL, WordPress, PHP and plugin versions, the site
   language, your admin name and email address, and later plugin activation/deactivation/
   uninstall events. If you skip the opt-in, nothing is sent.
 * **Why:** to understand usage, send optional product updates by email and, if 
   you ever purchase a Pro license, manage that account.
 * Declining the opt-in does not limit any feature of this plugin.
 * Freemius [Terms of Service](https://freemius.com/terms/) and [Privacy Policy](https://freemius.com/privacy/).

## Screenshots

[⌊Settings: pick your two languages, their WordPress locales and how URLs are structured.⌉⌊
Settings: pick your two languages, their WordPress locales and how URLs are structured
.⌉[

Settings: pick your two languages, their WordPress locales and how URLs are structured.

[⌊Every list screen gets language tabs, a language column and the translation status
of each item.⌉⌊Every list screen gets language tabs, a language column and the translation
status of each item.⌉[

Every list screen gets language tabs, a language column and the translation status
of each item.

[⌊In the block editor, set the page language and link the page to its translation.⌉⌊
In the block editor, set the page language and link the page to its translation.⌉[

In the block editor, set the page language and link the page to its translation.

[⌊Translate the URL base of each post type, including custom post types.⌉⌊Translate
the URL base of each post type, including custom post types.⌉[

Translate the URL base of each post type, including custom post types.

## Installation

 1. Upload the `duolangue` folder to `/wp-content/plugins/`, or install it from the
    Plugins screen.
 2. Activate the plugin.
 3. Go to **Duolangue -> Settings**, pick your two languages and their WordPress locales,
    choose the URL structure, then save.
 4. (Optional) Go to **Duolangue -> Slugs & URLs** to translate your URL bases (this
    flushes permalinks on save).
 5. Open any page, post or custom post type entry: the “Duolangue — Language” panel
    in the editor sidebar lets you set its language and link its translation.

## FAQ

### Does Duolangue support more than two languages?

No. Duolangue is a bilingual plugin: its data model links each page to a single 
counterpart in the other language, and its URLs, menus and switcher are built on
that pair. This is the same in every edition — Duolangue Pro does not add languages.
For three or more languages, a multilingual plugin is the right tool.

### Does it work with any pair of languages?

Yes. English–French, Spanish–German, any pair. Language codes, names and WordPress
locales are fully configurable.

### Where is my data stored? What happens if I uninstall?

Everything lives in standard WordPress post meta and one option — no custom SQL 
tables. Deactivating or uninstalling **preserves** your language assignments and
translation links by default, so reinstalling restores everything. A `DUOLANGUE_REMOVE_ALL_DATA`
constant is available if you want a full wipe on uninstall.

### Which content types are translatable?

Pages, posts and every public custom post type. Page-builder template types are 
excluded on purpose; developers can adjust the list with the `duolangue_post_types`
and `duolangue_excluded_post_types` filters.

### Are there limits?

No. There is no cap on the number of items you translate, no time limit and no license
key.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Duolangue — Lightweight Bilingual” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ wewillstudio ](https://profiles.wordpress.org/wewillstudio/)

“Duolangue — Lightweight Bilingual” has been translated into 1 locale. Thank you
to [the translators](https://translate.wordpress.org/projects/wp-plugins/duolangue/contributors)
for their contributions.

[Translate “Duolangue — Lightweight Bilingual” into your language.](https://translate.wordpress.org/projects/wp-plugins/duolangue)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/duolangue/), check 
out the [SVN repository](https://plugins.svn.wordpress.org/duolangue/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/duolangue/) by [RSS](https://plugins.trac.wordpress.org/log/duolangue/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.4

 * Fixed: the language link added to chosen menu locations now also appears when
   a page builder (Oxygen, Bricks…) renders that menu by its ID instead of its location.

#### 1.0.3

 * Clearer wording on the “Pages & editor” and “Slugs & URLs” screens.

#### 1.0.2

 * Initial release.

## Meta

 *  Version **1.0.4**
 *  Last updated **4 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [Czech](https://cs.wordpress.org/plugins/duolangue/) and [English (US)](https://wordpress.org/plugins/duolangue/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/duolangue)
 * Tags
 * [bilingual](https://wordpress.org/plugins/tags/bilingual/)[hreflang](https://wordpress.org/plugins/tags/hreflang/)
   [language switcher](https://wordpress.org/plugins/tags/language-switcher/)[multilingual](https://wordpress.org/plugins/tags/multilingual/)
   [translation](https://wordpress.org/plugins/tags/translation/)
 *  [Advanced View](https://wordpress.org/plugins/duolangue/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/duolangue/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/duolangue/reviews/)

## Contributors

 *   [ wewillstudio ](https://profiles.wordpress.org/wewillstudio/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/duolangue/)