Multi language Joomla site without 3rd-party-extensions

engineachooInternet and Web Development

Dec 4, 2013 (3 years and 4 months ago)

54 views

Multi language Joomla site
without 3rd-party-extensions
by Peter Martin (“pe7er”)
twitter: @pe7er
website: www.db8.nl
JoomlaDay Bangkok 2012
February 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 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
rd
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 3
rd
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