# Multilingual Site

### Overview

**Basically, transforming an existing Joomla website into a Joomla multilanguage website is nothing more than duplicating your content (categories, articles, menus, menu items, modules) and assigning all this to a separate language.**

As alternative you can use 3'rd party extensions like Falang or JomFish.

<p class="callout info">Before you start, disable or clear your cache to ensure JomDirectory using the latest data. Finally, if you use any SEO plugins (JoomSEF, Sh404SEF, SEOSimple, MijoSEF) </p>

<p class="callout info">**Your** language means e.g. Spanish, French or whatever language you are using. These steps need to be followed for every new language you configure.</p>

### Install your language pack

Since we want Joomla to generate language-specific strings on our site (and even on our backend if we want to), we first have to install one or more language packs. (After installation, the new language will appear under *Extensions &gt; Language Manager*. It shows up both under the tabs *Installed – Site* and *Installed – Administrator*). For more information on installing language packs, check out [https://docs.joomla.org/J3.x:Setup\_a\_Multilingual\_Site/Installing\_New\_Language](https://docs.joomla.org/J3.x:Setup_a_Multilingual_Site/Installing_New_Language).

### Filter a specific language

By enabling functionality to filter a specific language, we can ask Joomla to discover the language that’s been used in the browser of our visitor. In that way, Joomla will automatically provide the visitor with his preferred language. This is the case whenever there’s a match between the browser settings language of the visitor and one of the languages that’s installed in our Joomla website. If there’s no match, the visitor will be shown the default language.

<div id="bkmrk-extensions-%3E-plug-in">- Extensions &gt; Plug-in Manager &gt; click **System – Language Filter**
- Status: **Enabled**
- Menu associations: **Yes**
- Click **Save &amp; Close**

</div><p class="callout success">When a visitor to your site is looking at your English listings, by switching to the another language (see A Language Switch Module), Joomla will know that you still want to see the Directory Listing, but in a different language. (If you don’t use menu item associations, Joomla will send the user to the homepage which is not exactly something we want to happen.)</p>

### Enable second language for JomDirectory 

Assuming that you already have an English categories (language also set to English), duplicate category (Save as copy) and edit it's details. Go to Publishing tab and sets desired language than Save. Do that for every category.

**Do the same for the Custom fields and Listings. If necessary also Addresses and Reviews.**

### Duplicate menu

We need to duplicate our current menu, so menus are available for each one of the installed languages. First, we assign the current menu to the English language.

<div id="bkmrk-menus-%3E-menu-manager">- Menus &gt; Menu Manager &gt; click the checkbox of the **current menu**
- Click **edit**
- Title: **English**
- Menu type: **english**
- Description: **English language menu**
- Click **Save &amp; Close**

</div><div id="bkmrk-now-create-your%27s-la"><div>Now create Your's language menu.</div><div>- Click **New**
- Title: **French**
- Menu type: **french**
- Description: **French language menu**
- Click **Save &amp; Close**

</div></div>### Duplicate JomDirectory menu items

Since we created a separate menu for each language, we need to duplicate our menu items as well. By default, the current menu items are set to the language All. First, assign them to the English menu.

<div id="bkmrk-click%C2%A0menu-items-cli">- Click **Menu Items**
- Click **Check All**
- Set Language: **English**
- Click **Process**

</div><p class="callout success">JomDirectory Items link needs to be duplicated for each language. More about creating menu links can be [found here](https://wiki.comdev.eu/books/jomdirectory/page/menu-items "Menu Items")</p>

Now duplicate the menu items and assign them to the Your's language menu.

<div id="bkmrk-click%C2%A0check-all-set-">- Click **Check All**
- Set Language: **French**
- Select Menu or Parent for Move/Copy: **French Add to this menu** and click **Copy**
- Click **Process**

</div>### Duplicate the menu placeholders

<div id="bkmrk-now-that-the-menus-a"><div>Now that the menus and menu items are generated for both languages, we need a menu module to publish them on the site. We first assign the English menu to the current menu module.</div><div>- Extensions &gt; Module Manager &gt; click your **current menu**
- Title: **English menu**
- Language: **English**
- Module Assignment: to clear all checkboxes click **No pages**
- Module Assignment: **Only on the pages selected**
- On the English tab below **check all boxes**
- Select Menu: **English**
- Click **Save**

</div></div><div id="bkmrk-now-duplicate-this-m"><div>Now duplicate this menu module and assign it to the French menu.</div><div>- Click **Save as Copy**
- Title: **French menu**
- Status: **Published**
- Language: **French**
- Module Assignment: to clear all checkboxes click **No pages**
- Module Assignment: **Only on the pages selected**
- On the French tab below **check all boxes**
- Select Menu: **French**
- Click **Save &amp; Close**

</div></div>### A language switcher module

We want to provide our visitors a way so they can switch to another language. To accomplish this, we’re going to publish the language switcher module. This module uses a dropdown to switch languages, but you can also use little clickable icon flags.

<div id="bkmrk-click%C2%A0new-click%C2%A0lang">- Click **New**
- Click **Language Switcher**
- Title: **Language Switcher**
- Position: **select the position where you want the icon flags to show up on the page**
- Click **Save &amp; Close**

</div>