Every string Doku puts on screen is translatable. They are split across two text domains, and both need translating — the theme owns what readers see, the plugin owns what you see while writing.
| Package | Text domain | Template file |
|---|---|---|
| Doku (theme) | doku | doku/languages/doku.pot |
| Doku Core (plugin) | doku-core | doku-core/languages/doku-core.pot |
Set your site’s language first, under Settings > General > Site Language.
With Loco Translate
The path with no files to move:
- Install and activate Loco Translate from Plugins > Add New.
- Go to Loco Translate > Themes > Doku and click New language.
- Pick your language. For Choose a location, pick System —
wp-content/languages/themes/. - Translate the strings and click Save. Loco compiles the
.mofile for you. - Repeat under Loco Translate > Plugins > Doku Core.
With Poedit
- Open
doku/languages/doku.potin Poedit and choose Create new translation. - Translate, then save as
doku-{locale}.po—doku-de_DE.po, for example. Poedit writes the matching.mofile beside it. - Copy both files into
wp-content/languages/themes/. - Repeat with
doku-core.pot, saving asdoku-core-{locale}.pointowp-content/languages/plugins/.
The locale has to match the one WordPress is using — the code shown beside your language under Settings > General. de_DE, not de.
Keep translations in
wp-content/languages/, never inside the theme or plugin folder. Both of those are replaced wholesale when you update, taking anything you put inside them with it.wp-content/languages/sits outside both and survives.
Two things to know before you start
- There is no right-to-left stylesheet. Translating the strings into Arabic, Hebrew or Farsi works, but the layout does not mirror: the sidebar stays on the left and text stays left-aligned. A right-to-left site needs those rules written into a child theme.
- This translates the interface, not your content. Running the same documentation in several languages at once is a different job, and the multilingual plugins that do it — WPML, Polylang — are not supported in version 1.0.