How do you make a WordPress site bilingual in Turkish and English?
In short: WordPress can't run a bilingual site on its own. You install a multilingual plugin such as Polylang or WPML, add Turkish and English as languages, then write the English version of each post as a separate post and link the two. The plugin gives each language its own URL (for example /en/) and feeds the language switcher. The theme's job is only to show the switcher and print its own text in the right language; Wiozen Theme works with both plugins but doesn't translate posts itself.
What does a bilingual site need?
It takes three things, and each comes from a different part of the site:
- Content per language: a Turkish and an English copy of every post and page. You write or translate these.
- Language management: a plugin that tracks which post is in which language, links translations together, gives each language its own URLs and outputs hreflang tags for search engines. Polylang and WPML do this.
- A compatible theme: one that shows a language switcher and can print its own buttons and labels in both languages.
Automatic translation plugins machine-translate the page. That's fast, but if you want control over the English text readers and search engines see, translating posts yourself is safer.
Add Turkish and English with Polylang
- Under Settings › General, set the site language to Turkish. This becomes your default language.
- Install and activate Polylang from Plugins › Add New.
- On the Languages screen, add Turkish first, then English. Make sure Turkish is the default.
- Polylang asks which language your existing posts are in; assign them all to Turkish.
- Choose the URL structure under Languages › Settings. The directory format (
yoursite.com/en/post-name) is the easiest to manage on one domain.
With WPML the steps are similar: in the setup wizard you pick Turkish as the default language, English as the second, and choose the URL format.
Translate posts and pages
Polylang adds a column for each language to the post list. Clicking the plus in the English column of a Turkish post opens a new, empty English post linked to it. You write the title, text and slug in English.
Categories and tags are per language too. Create a "Desserts" category as the counterpart of "Tatlılar" and link the two; English posts go into the English category.
How site parts such as menus and templates are split per language depends on the plugin and its version. Check the plugin's documentation on block themes before trying to split the menu into two languages.
How does Wiozen Theme work with these plugins?
Wiozen Theme is a free block theme. It isn't a multilingual theme; it's a theme compatible with Polylang and WPML. The plugin manages languages, translations and URLs, and the theme displays them.
The theme's Language switcher block lists the site's languages with short codes such as tr and en when Polylang or WPML is active, and marks the current one. If a page has no translation, the link for that language still shows. With neither plugin active the block prints nothing on the site; in the Site Editor it only shows the note "The language switcher appears when Polylang or WPML is active."
The switcher is already in the header in the News, Technology, Finance and Food designs, and in the footer in the Guide design. To put it somewhere else, add Language switcher from the block inserter in the Site Editor.
The theme's own text ("Advertisement", "Print recipe", search and pagination labels and so on) is written in English and ships with a Turkish translation file. When the plugin switches the page language, that text comes out in Turkish on Turkish pages and in English on English ones.
Translating front page module titles
In Wiozen Theme the front page is built from modules under Appearance › Wiozen Theme › Customize. When you give a module your own title, kicker or subtitle, that text is stored as a single setting, so it has to be translated or it shows unchanged on the English page.
- Polylang: the module text you saved appears on the Languages › Translations screen under the "Wiozen Theme" group. Type the English version there and the English front page shows it.
- WPML: the theme opens these three fields for translation through its
wpml-config.xmlfile. The text appears in WPML's String Translation screen, which needs WPML's String Translation add-on.
Only text you typed and saved goes on the list. Default titles you never changed are the theme's own text and already follow the page language. The Customize tab is in the theme panel, which opens once the site is connected to a Wiozen account with at least $5 in total top-ups.
A checklist for search engines
- Give each language its own URL (an
/en/directory or a subdomain). Switching language on the same URL by cookie or browser language stops search engines from seeing the two languages separately. - The plugin outputs the hreflang tags in the page head; open a page's source and check that
hreflang="tr"andhreflang="en"lines are there. - Write the meta description separately for each language in your SEO plugin.
- Make sure the sitemap has the URLs of both languages. Polylang and WPML work with the sitemaps of the common SEO plugins.
Frequently asked questions
Does Wiozen Theme translate my posts into English?
No. The theme doesn't translate posts or set up per-language URLs. Polylang or WPML does that; the theme shows the language switcher and prints its own text in the page language.
Why isn't the language switcher block showing on my site?
If Polylang or WPML isn't active, the block prints nothing on the site. It shows once you install the plugin and add at least two languages.
Does the demo content come in both languages?
No. It comes in Turkish if the site language is Turkish when you add it, otherwise in English, and in one language only.
Polylang or WPML?
The theme works with both. Polylang's free version is enough for adding languages, translating posts and per-language URLs. WPML is a paid plugin with more translation management tools.
For a block theme that works with Polylang or WPML, download Wiozen Theme for free and try the language switcher on your own site.