Multi language Joomla site without 3rd-party-extensions

by Peter Martin (“pe7er”) twitter: @pe7er website: www.db8.nl

JoomlaDay Bangkok 2012 February 25th 2012

Welcome!

Peter Martin (“pe7er”), Nijmegen, Netherlands

Sheets will be available electronically  Thai examples → used Google Translate

2

My fictional Dutch website

Subject: Dutch website about Dutch cookies: “Stroopwafels”

Google Analytics: many non-Dutch visitors

Goal:
– –

3

Multilanguage website Three languages: Dutch + English + Thai Keep old hyperlinks to website (prevent 404 errors)

Joomla! 2.5
How to create a Multilanguage website With Joomla 2.5 in 10 steps?

4

Multi language in 10 steps
1. Install Language Pack: Joomla system “labels”: “Read more...” 2. Define Content Languages 3. Enable & Configure “System - Language Filter” plugin 4. Create Root Category for every Language 5. Create Articles 6. Create Menus (every Language own Menu) 7. Create Menu Items & Menu Item Association 8. Create Menu Modules (every Language own Menu Module) 9. Create Language Switcher Module 10.Redirect old incoming links

Multi language in 10 steps
1. Install Language Pack: Joomla system “labels”: “Read more...” 2. Define Content Languages 3. Enable & Configure “System - Language Filter” plugin 4. Create Root Category for every Language 5. Create Articles 6. Create Menus (every Language own Menu) 7. Create Menu Items & Menu Item Association 8. Create Menu Modules (every Language own Menu Module) 9. Create Language Switcher Module 10.Redirect old incoming links

1. Install Language pack
 In
– –

Extensions > Extension Manager > install language pack
Default = en-GB Install: nl-NL + th-TH

 Alternative

installation:

Upload language folder to right locations & use Extensions > Discover > install

1. Screen: Install Language pack

1. Screen: Installed Languages

Multi language in 10 steps
1. Install Language Pack: Joomla system “labels”: “Read more...” 2. Define Content Languages 3. Enable & Configure “System - Language Filter” plugin 4. Create Root Category for every Language 5. Create Articles 6. Create Menus (every Language own Menu) 7. Create Menu Items & Menu Item Association 8. Create Menu Modules (every Language own Menu Module) 9. Create Language Switcher Module 10.Redirect old incoming links

2. Content Language
 Create
– –

“Content Language”

In Extensions > Language Manager > Content For every language create a "content language"
 Title:

Thai (Th)  Title Native: ภาษาไทย (Th)  URL Language Code: th  Image Prefix: th  Language Tag: th-TH

2. Screen: Content Language

2. Screen: Content Languages

Multi language in 10 steps
1. Install Language Pack: Joomla system “labels”: “Read more...” 2. Define Content Languages 3. Enable & Configure “System - Language Filter” plugin 4. Create Root Category for every Language 5. Create Articles 6. Create Menus (every Language own Menu) 7. Create Menu Items & Menu Item Association 8. Create Menu Modules (every Language own Menu Module) 9. Create Language Switcher Module 10.Redirect old incoming links

3. Enable “System - Language Filter” plugin
 In

Extensions > Plug-in Manager
"System - Language Filter"
 Status:

Enabled  Menu associations: Yes  Remove URL Language Code: Yes (For SEO)

3. Screen:“System - Language Filter” plugin

Multi language in 10 steps
1. Install Language Pack: Joomla system “labels”: “Read more...” 2. Define Content Languages 3. Enable & Configure “System - Language Filter” plugin 4. Create Root Category for every Language 5. Create Articles 6. Create Menus (every Language own Menu) 7. Create Menu Items & Menu Item Association 8. Create Menu Modules (every Language own Menu Module) 9. Create Language Switcher Module 10.Redirect old incoming links

4. Create Language Categories
 In

Content > Category Manager create a Root Category for every language
Dutch
Title: Dutch  Language: Dutch (Nl) [select content language]

English
Title: English  Language: English (Uk) [select content language]

Thai
Title: Thai  Language: Thai (Th) [select content language]

4. Screen: Create Language Categories

4b. Create Language Categories
 Create

subcategories under the language categories
Nederlands (= Dutch)
Nieuws  Stroopwafels

English
News  Stroopwaffles

Thai
ข่าว  Stroopwafels (no Thai translation?)

4. Screen: Create Language Categories

Multi language in 10 steps
1. Install Language Pack: Joomla system “labels”: “Read more...” 2. Define Content Languages 3. Enable & Configure “System - Language Filter” plugin 4. Create Root Category for every Language 5. Create Articles 6. Create Menus (every Language own Menu) 7. Create Menu Items & Menu Item Association 8. Create Menu Modules (every Language own Menu Module) 9. Create Language Switcher Module 10.Redirect old incoming links

5. Create Articles
 In
– –

Content > Article Manager create "Articles" and:
Select “Language” category Select “Language” [select content language]

5. Screen: Create Articles

5b. Create Articles
 Usefull

tool: Batch process the selected

articles – Batch copy + set language of articles
 Set

Language  Select Category for Move/Copy  Copy  Click [Process] button

5b. Screen: Create Articles

5c. Create Articles
 Don't – – –

forget: Check “Category” & “Language” Create title in Language Create a new Alias For non latin languages like Thai:
Year-Month-Day-Hours-Minutes-Seconds
Alternative:

use English Alias Or Global Configuration > Site > SEO Settings > Unicode Aliases: Yes

5c. Screen: Create Articles

Multi language in 10 steps
1. Install Language Pack: Joomla system “labels”: “Read more...” 2. Define Content Languages 3. Enable & Configure “System - Language Filter” plugin 4. Create Root Category for every Language 5. Create Articles 6. Create Menus (every Language own Menu) 7. Create Menu Items & Menu Item Association 8. Create Menu Modules (every Language own Menu Module) 9. Create Language Switcher Module 10.Redirect old incoming links

6. Create Menu
 In
– – –

Menus > Menu Manager create a Menu for every language
Title: Dutch Menu, Menu Type: dutchmenu Title: English Menu, Menu Type: englishmenu Title: Thai Menu, Menu Type: thaimenu

 Do

not change “Main Menu”

6. Screen: Create Menu

6. Screen: Create Menu

Multi language in 10 steps
1. Install Language Pack: Joomla system “labels”: “Read more...” 2. Define Content Languages 3. Enable & Configure “System - Language Filter” plugin 4. Create Root Category for every Language 5. Create Articles 6. Create Menus (every Language own Menu) 7. Create Menu Items & Menu Item Association 8. Create Menu Modules (every Language own Menu Module) 9. Create Language Switcher Module 10.Redirect old incoming links

7. Create Menu Item

In Menus > [language] menu > create some Menu Items: – Menu Item Type: [choose Type] – Menu Title (“menu button”) + Alias (“title in URL”) – Menu Location: [select “language menu"] – Language: [ select “content language”] – Under parameters: [select some [language] Article or [language] Category]

7. Screen: Create Menu Item

7b. Menu items
 Set

default “Homepage” in every language menu
Click in Menus > Menu Manager [language] on “default” star to set language flag

7b. Screen: Menu items

7c. Menu items
 Use

“Menu Item Associations” to associate menu item with other language menu items

7c. Screen: Menu items

Multi language in 10 steps
1. Install Language Pack: Joomla system “labels”: “Read more...” 2. Define Content Languages 3. Enable & Configure “System - Language Filter” plugin 4. Create Root Category for every Language 5. Create Articles 6. Create Menus (every Language own Menu) 7. Create Menu Items & Menu Item Association 8. Create Menu Modules (every Language own Menu Module) 9. Create Language Switcher Module 10.Redirect old incoming links

8. Create “Menu” Module

In Extensions > Module Manager: create new Module of type "Menu"

Title: Dutch Menu Language: Dutch (NL) Select Menu: Dutch Menu Title: English Menu Language: English (UK) Select Menu: English Menu Title: Thai Menu Language: Thai (TH) Select Menu: Thai Menu

8. Screen: Create “Menu” Module

8. Screen: Create “Menu” Module

Multi language in 10 steps
1. Install Language Pack: Joomla system “labels”: “Read more...” 2. Define Content Languages 3. Enable & Configure “System - Language Filter” plugin 4. Create Root Category for every Language 5. Create Articles 6. Create Menus (every Language own Menu) 7. Create Menu Items & Menu Item Association 8. Create Menu Modules (every Language own Menu Module) 9. Create Language Switcher Module 10.Redirect old incoming links

9. Create “Language Switcher” Module

In Extensions > Module Manager: create new Module of type "Language Switcher"
– – – –

Title: Language Switcher Position: position-7 Language: All Use Dropdown (on right): No

9. Screen: “Language Switcher” Module

Multi language in 10 steps
1. Install Language Pack: Joomla system “labels”: “Read more...” 2. Define Content Languages 3. Enable & Configure “System - Language Filter” plugin 4. Create Root Category for every Language 5. Create Articles 6. Create Menus (every Language own Menu) 7. Create Menu Items & Menu Item Association 8. Create Menu Modules (every Language own Menu Module) 9. Create Language Switcher Module 10.Redirect old incoming links

10. Redirect old incoming links
 Incoming
– –

links for old content?

Old link: /stroopwafels/stroopwafels.html New link: /nl/stroopwafels

 Redirect

a couple of old URLs:

A couple of URLs: Components > Redirect

10. Redirect old incoming links

10. Redirect old incoming links

10b. Redirect old incoming links
 Redirect

a lot of old URLs:

use .htaccess
Redirect 301 /old/relative/URL http://new/absolute/URL  Redirect 301 /stroopwafels/stroopwafels.html http://www.example.com/nl/stroopwafels

 Tool
– – – –

to collect old URLs:

Xmap Sitemap on old site Browser → View HTML Source Copy to Excel / Open Office Calc Construct “Redirect” statements

10b. Screen: Redirect old links

10b. Screen: Redirect old links

10b. Screen: Redirect old links

Column A: old relative URL Column B: new absolute URL Column C: formula: ="Redirect 301 "&A1&" "&B1

10b. Screen: Redirect old links

Bonus steps :-)
 Tool

for Language status check  Using 3rd Party Extensions

Tool for Language status check
 Extensions

> Module Manager > [Site/Administrator -> select Administrator]
Multilanguage status Admin Module
 This

module shows status of multilanguage parameters.

Tool for Language status check
 

Extensions > Language Manager > Content: Dutch (NL) unpublished Menus > English Menu: No default “Home”

Example 3 Party Extension, XMap

rd

Sitemap: Xmap
– –

Install XMap, enable "Xmap - Content Plugin" Components > XMap > Create for all 3 menus a sitemap:

Title + Enable + choose Menu

Example 3 Party Extension, XMap

rd

In Dutch/English/Thai menu, create Xmap Menu Item:

Menu Item Type: [HTML Site map] Menu Title: ไทยปไซต์ Menu Location: [Thai Menu] Language: [Thai (Th)] Choose a site map: [Thai]

Don't forget “Menu Item Association”!

Questions?

Presentation: – Peter Martin (pe7er)
– –

twitter: @pe7er e-mail: info at db8.nl website: www.db8.nl

61

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.