multi language joomla site without 3rd-party-extensions
TRANSCRIPT
Multi language Joomla site without 3rd-party-extensions
by Peter Martin (“pe7er”)
twitter: @pe7er
website: www.db8.nl
JoomlaDay Bangkok 2012February 25th 2012
2
Welcome!
Peter Martin (“pe7er”), Nijmegen, Netherlands
Sheets will be available electronically Thai examples → used Google Translate
3
My fictional Dutch website
Subject: Dutch website about Dutch cookies: “Stroopwafels”– Google Analytics:
many non-Dutch visitors
Goal:– Multilanguage website– Three languages: Dutch + English + Thai– Keep old hyperlinks to website (prevent 404 errors)
4
How to create
a Multilanguage website
With Joomla 2.5
in 10 steps?
Joomla! 2.5
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 AliasOr 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 MenuLanguage: English (UK)Select Menu: English Menu
– Title: Thai MenuLanguage: 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 URLColumn B: new absolute URLColumn 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 3rd Party Extension, XMap
Sitemap: Xmap– Install XMap, enable "Xmap - Content Plugin"
– Components > XMap > Create for all 3 menus a sitemap: Title + Enable + choose Menu
Example 3rd Party Extension, XMap
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”!
61
Questions?
Presentation: – Peter Martin (pe7er)– twitter: @pe7er– e-mail: info at db8.nl– website: www.db8.nl