WPML guide
This guide walks you through setting up WPML with Milano. WPML lets you run a store in multiple languages. Each language gets its own pages, products, and menus.
WPML is a paid plugin. You need at least the Multilingual CMS tier to translate WooCommerce products. You also need the WPML String Translation addon to translate theme text.
What you will build
Section titled “What you will build”A multilingual Milano store where visitors can switch between languages. Each language has its own homepage, product catalog, and navigation menu.
What you will need
Section titled “What you will need”- Milano theme installed and active.
- WooCommerce installed if you are running a store.
- A WPML license (paid). The Multilingual CMS tier or higher.
- The WPML String Translation addon (included with your license).
Step 1 — Install and configure WPML
Section titled “Step 1 — Install and configure WPML”- Buy a WPML license from wpml.org.
- Download the WPML plugin files from your WPML account.
- Go to Plugins → Add New Plugin in WordPress.
- Click Upload Plugin at the top.
- Upload the WPML core plugin file and click Install Now.
- Activate the plugin.
- Repeat the upload step for these WPML addons:
- WPML String Translation
- WPML Translation Management
- WPML Media Translation
- WooCommerce Multilingual (if you use WooCommerce)
- Go to WPML → Setup to start the configuration wizard.
Step 2 — Set up languages
Section titled “Step 2 — Set up languages”The WPML setup wizard guides you through language configuration.
- Enter your WPML site key when asked. This activates your license.
- Choose the default language for your site. This is the language your content is currently in.
- Select the languages you want to add. You can pick more than one.
- Choose how the language appears in URLs. You have three options:
- Different languages in directories —
yoursite.com/fr/for French. This is the most common choice. - Different languages in domains —
yoursite.frfor French. You need separate domains set up. - Different languages in parameters —
yoursite.com/?lang=fr. This works but is not ideal for SEO.
- Different languages in directories —
- Add a language switcher. You can place it in the menu, in the footer, or both.
- Complete the wizard. WPML saves your settings.
Step 3 — Translate pages and products
Section titled “Step 3 — Translate pages and products”Translate pages
Section titled “Translate pages”- Go to Pages → All Pages.
- You will see language columns next to each page. Click the + icon under the language you want to add.
- The translation editor opens. You can use the built-in editor or translate on the front end.
- Enter your translated title and content.
- Click Save.
Translate products
Section titled “Translate products”The process is the same for products.
- Go to Products → All Products.
- Click the + icon under the target language.
- Fill in the translated product title, description, price, and other fields.
- Click Save.
Translate with the translation editor
Section titled “Translate with the translation editor”WPML offers a visual translation editor. It shows the original and translation side by side.
- Go to WPML → Translation Management.
- Select the content you want to translate.
- Click Translate selected items.
- Work through each string in the editor.
- Mark each translation as complete when you are done.
Step 4 — Translate theme strings through WPML String Translation
Section titled “Step 4 — Translate theme strings through WPML String Translation”Milano has text strings that come from the theme itself. These include labels like “Add to cart”, “Related products”, and pagination text. WPML String Translation handles these.
- Go to WPML → String Translation.
- Wait for WPML to scan for strings. This may take a moment.
- Use the “Select domain within admin texts” dropdown and choose milano to filter to theme strings.
- Find the string you want to translate. Click the + icons under each language.
- Type your translation and click Save.
Step 5 — Set up the language switcher in Milano
Section titled “Step 5 — Set up the language switcher in Milano”You can add the WPML language switcher to your Milano header or footer.
Add to a menu
Section titled “Add to a menu”- Go to Appearance → Menus.
- Select the menu you want to edit.
- Check the “Language switcher” option in the left panel.
- Click Add to menu.
- Drag the language switcher to your preferred position.
- Click Save Menu.
Add through the Customizer
Section titled “Add through the Customizer”- Go to Appearance → Customize.
- Find the header or footer builder section.
- Add a WPML language switcher widget or element.
- Configure the display options (flags, language names, or both).
- Click Publish.
Recommended settings for Milano
Section titled “Recommended settings for Milano”These settings work well with Milano’s header and footer builder.
| Setting | Recommended value | Why |
|---|---|---|
| URL format | Language directories | Works with SEO and needs no extra domain setup |
| Language switcher type | Menu item | Fits naturally in Milano’s header builder |
| Hide language if translation missing | Turn on | Prevents visitors from landing on empty pages |
| SEO options | Turn on hreflang tags | Helps search engines understand your language structure |
| Copy media on translation | Turn off | Saves disk space. Images usually do not need translating |
Troubleshooting
Section titled “Troubleshooting”Problem: The language switcher does not appear in the header.
Fix: Check that you added the switcher to the correct menu. Go to Appearance → Menus and confirm the language switcher is in the menu assigned to the header location. If you use Milano’s header builder, add the WPML widget through the Customizer instead.
Problem: Theme strings still show in English after translation.
Fix: Go to WPML → Theme and plugins localization and scan Milano again. Some strings only register after the theme loads them on a page. Visit the front end of your site, then rescan.
Problem: Product translations are missing pricing or stock status.
Fix: WooCommerce Multilingual syncs product data. Go to WooCommerce → WooCommerce Multilingual and check the sync status. Run a manual sync if needed.