You are on page 1of 61

Multi language Joomla site

without 3rd-party-extensions
by Peter Martin (pe7er)
twitter: @pe7er
website: www.db8.nl
JoomlaDay Bango !"#!
$ebr%ary !&t' !"#!
!
Welcome!

Peter Martin (pe7er)( )i*megen( )et'erlands

+'eets will be a,ailable ele-troni-ally

.'ai e/amples 0 %sed 1oogle .ranslate


2
My fictional Dutch website

+%b*e-t: D%t-' website abo%t D%t-' -ooies:


+troopwa3els
4
1oogle 5nalyti-s:
many non6D%t-' ,isitors

1oal:
4
M%ltilang%age website
4
.'ree lang%ages: D%t-' 7 8nglis' 7 .'ai
4
9eep old 'yperlins to website (pre,ent :": errors)
:
;ow to -reate
a M%ltilang%age website
<it' Joomla !.&
in #" steps=
Joomla! 2.

Multi language in !" steps
#. >nstall ?ang%age Pa-: Joomla system labels: @ead more...
!. De3ine Aontent ?ang%ages
2. 8nable B Aon3ig%re +ystem 6 ?ang%age $ilter pl%gin
:. Areate @oot Aategory 3or e,ery ?ang%age
&. Areate 5rti-les
C. Areate Men%s (e,ery ?ang%age own Men%)
7. Areate Men% >tems B Men% >tem 5sso-iation
8. Areate Men% Mod%les (e,ery ?ang%age own Men% Mod%le)
D. Areate ?ang%age +wit-'er Mod%le
#".@edire-t old in-oming lins

Multi language in !" steps
#. >nstall ?ang%age Pa-: Joomla system labels: @ead more...
!. De3ine Aontent ?ang%ages
2. 8nable B Aon3ig%re +ystem 6 ?ang%age $ilter pl%gin
:. Areate @oot Aategory 3or e,ery ?ang%age
&. Areate 5rti-les
C. Areate Men%s (e,ery ?ang%age own Men%)
7. Areate Men% >tems B Men% >tem 5sso-iation
8. Areate Men% Mod%les (e,ery ?ang%age own Men% Mod%le)
D. Areate ?ang%age +wit-'er Mod%le
#".@edire-t old in-oming lins

!. #nstall $anguage pac%

>n 8/tensions E 8/tension Manager E install


lang%age pa-
4
De3a%lt F en61B
4
>nstall: nl6)? 7 t'6.;

5lternati,e installation:
4
Gpload lang%age 3older to rig't lo-ations B %se
8/tensions E Dis-o,er E install

!. &creen' #nstall $anguage pac%

!. &creen' #nstalled $anguages

Multi language in !" steps
#. >nstall ?ang%age Pa-: Joomla system labels: @ead more...
!. De3ine Aontent ?ang%ages
2. 8nable B Aon3ig%re +ystem 6 ?ang%age $ilter pl%gin
:. Areate @oot Aategory 3or e,ery ?ang%age
&. Areate 5rti-les
C. Areate Men%s (e,ery ?ang%age own Men%)
7. Areate Men% >tems B Men% >tem 5sso-iation
8. Areate Men% Mod%les (e,ery ?ang%age own Men% Mod%le)
D. Areate ?ang%age +wit-'er Mod%le
#".@edire-t old in-oming lins

2. (ontent $anguage

Areate Aontent ?ang%age


4
>n 8/tensions E ?ang%age Manager E Aontent
4
$or e,ery lang%age -reate a H-ontent lang%ageH

.itle: .'ai (.')

.itle )ati,e: (.')

G@? ?ang%age Aode: t'

>mage Pre3i/: t'

?ang%age .ag: t'6.;



2. &creen' (ontent $anguage

2. &creen' (ontent $anguages

Multi language in !" steps
#. >nstall ?ang%age Pa-: Joomla system labels: @ead more...
!. De3ine Aontent ?ang%ages
2. 8nable B Aon3ig%re +ystem 6 ?ang%age $ilter pl%gin
:. Areate @oot Aategory 3or e,ery ?ang%age
&. Areate 5rti-les
C. Areate Men%s (e,ery ?ang%age own Men%)
7. Areate Men% >tems B Men% >tem 5sso-iation
8. Areate Men% Mod%les (e,ery ?ang%age own Men% Mod%le)
D. Areate ?ang%age +wit-'er Mod%le
#".@edire-t old in-oming lins

3. )nable *&ystem - $anguage +ilter, plugin

>n 8/tensions E Pl%g6in Manager


4
H+ystem 6 ?ang%age $ilterH

+tat%s: 8nabled

Men% asso-iations: Ies

@emo,e G@? ?ang%age Aode: Ies ($or +8J)



3. &creen'*&ystem - $anguage +ilter, plugin

Multi language in !" steps
#. >nstall ?ang%age Pa-: Joomla system labels: @ead more...
!. De3ine Aontent ?ang%ages
2. 8nable B Aon3ig%re +ystem 6 ?ang%age $ilter pl%gin
:. Areate @oot Aategory 3or e,ery ?ang%age
&. Areate 5rti-les
C. Areate Men%s (e,ery ?ang%age own Men%)
7. Areate Men% >tems B Men% >tem 5sso-iation
8. Areate Men% Mod%les (e,ery ?ang%age own Men% Mod%le)
D. Areate ?ang%age +wit-'er Mod%le
#".@edire-t old in-oming lins

-. (reate $anguage (ategories

>n Aontent E Aategory Manager -reate a


@oot Aategory 3or e,ery lang%age
4
D%t-'

.itle: D%t-'

?ang%age: D%t-' ()l) .select content language/


4
8nglis'

.itle: 8nglis'

?ang%age: 8nglis' (G) .select content language/


4
.'ai

.itle: .'ai

?ang%age: .'ai (.') .select content language/



-. &creen' (reate $anguage (ategories

-b. (reate $anguage (ategories

Areate s%b-ategories %nder t'e lang%age


-ategories
4
)ederlands (F D%t-')

)ie%ws

+troopwa3els
4
8nglis'

)ews

+troopwa33les
4
.'ai

+troopwa3els (no .'ai translation=)



-. &creen' (reate $anguage (ategories

Multi language in !" steps
#. >nstall ?ang%age Pa-: Joomla system labels: @ead more...
!. De3ine Aontent ?ang%ages
2. 8nable B Aon3ig%re +ystem 6 ?ang%age $ilter pl%gin
:. Areate @oot Aategory 3or e,ery ?ang%age
&. Areate 5rti-les
C. Areate Men%s (e,ery ?ang%age own Men%)
7. Areate Men% >tems B Men% >tem 5sso-iation
8. Areate Men% Mod%les (e,ery ?ang%age own Men% Mod%le)
D. Areate ?ang%age +wit-'er Mod%le
#".@edire-t old in-oming lins

. (reate 0rticles

>n Aontent E 5rti-le Manager


-reate H5rti-lesH and:
4
+ele-t ?ang%age -ategory
4
+ele-t ?ang%age .select content language/

. &creen' (reate 0rticles

b. (reate 0rticles

Gse3%ll tool: Bat-' pro-ess t'e sele-ted


arti-les
4
Bat-' -opy 7 set lang%age o3 arti-les

+et ?ang%age

+ele-t Aategory 3or Mo,eKAopy

Aopy

Ali- LPro-essM b%tton



b. &creen' (reate 0rticles

c. (reate 0rticles

DonNt 3orget:
4
A'e- Aategory B ?ang%age
4
Areate title in ?ang%age
4
Areate a new 5lias

$or non latin lang%ages lie .'ai:


Iear6Mont'6Day6;o%rs6Min%tes6+e-onds

5lternati,e: %se 8nglis' 5lias

Jr 1lobal Aon3ig%ration E +ite E +8J


+ettings E Gni-ode 5liases: Ies

c. &creen' (reate 0rticles

Multi language in !" steps
#. >nstall ?ang%age Pa-: Joomla system labels: @ead more...
!. De3ine Aontent ?ang%ages
2. 8nable B Aon3ig%re +ystem 6 ?ang%age $ilter pl%gin
:. Areate @oot Aategory 3or e,ery ?ang%age
&. Areate 5rti-les
C. Areate Men%s (e,ery ?ang%age own Men%)
7. Areate Men% >tems B Men% >tem 5sso-iation
8. Areate Men% Mod%les (e,ery ?ang%age own Men% Mod%le)
D. Areate ?ang%age +wit-'er Mod%le
#".@edire-t old in-oming lins

1. (reate Menu

>n Men%s E Men% Manager


-reate a Men% 3or e,ery lang%age
4
.itle: D%t-' Men%( Men% .ype: d%t-'men%
4
.itle: 8nglis' Men%( Men% .ype: englis'men%
4
.itle: .'ai Men%( Men% .ype: t'aimen%

Do not -'ange Main Men%



1. &creen' (reate Menu

1. &creen' (reate Menu

Multi language in !" steps
#. >nstall ?ang%age Pa-: Joomla system labels: @ead more...
!. De3ine Aontent ?ang%ages
2. 8nable B Aon3ig%re +ystem 6 ?ang%age $ilter pl%gin
:. Areate @oot Aategory 3or e,ery ?ang%age
&. Areate 5rti-les
C. Areate Men%s (e,ery ?ang%age own Men%)
7. Areate Men% >tems B Men% >tem 5sso-iation
8. Areate Men% Mod%les (e,ery ?ang%age own Men% Mod%le)
D. Areate ?ang%age +wit-'er Mod%le
#".@edire-t old in-oming lins

2. (reate Menu #tem

>n Men%s E Llang%ageM men% E -reate some Men%


>tems:
4
Men% >tem .ype: L-'oose .ypeM
4
Men% .itle (men% b%tton) 7 5lias (title in G@?)
4
Men% ?o-ation: Lsele-t lang%age men%HM
4
?ang%age: L sele-t -ontent lang%ageM
4
Gnder parameters: Lsele-t some Llang%ageM
5rti-le or Llang%ageM AategoryM

2. &creen' (reate Menu #tem

2b. Menu items

+et de3a%lt ;omepage in e,ery lang%age


men%
4
Ali- in Men%s E Men% Manager Llang%ageM
on de3a%lt star to set lang%age 3lag

2b. &creen' Menu items

2c. Menu items

Gse Men% >tem 5sso-iations to asso-iate


men% item wit' ot'er lang%age men% items

2c. &creen' Menu items

Multi language in !" steps
#. >nstall ?ang%age Pa-: Joomla system labels: @ead more...
!. De3ine Aontent ?ang%ages
2. 8nable B Aon3ig%re +ystem 6 ?ang%age $ilter pl%gin
:. Areate @oot Aategory 3or e,ery ?ang%age
&. Areate 5rti-les
C. Areate Men%s (e,ery ?ang%age own Men%)
7. Areate Men% >tems B Men% >tem 5sso-iation
8. Areate Men% Mod%les (e,ery ?ang%age own Men% Mod%le)
D. Areate ?ang%age +wit-'er Mod%le
#".@edire-t old in-oming lins

3. (reate *Menu, Module

>n 8/tensions E Mod%le Manager:


-reate new Mod%le o3 type HMen%H
4
.itle: D%t-' Men%
?ang%age: D%t-' ()?)
+ele-t Men%: D%t-' Men%
4
.itle: 8nglis' Men%
?ang%age: 8nglis' (G9)
+ele-t Men%: 8nglis' Men%
4
.itle: .'ai Men%
?ang%age: .'ai (.;)
+ele-t Men%: .'ai Men%

3. &creen' (reate *Menu, Module

3. &creen' (reate *Menu, Module

Multi language in !" steps
#. >nstall ?ang%age Pa-: Joomla system labels: @ead more...
!. De3ine Aontent ?ang%ages
2. 8nable B Aon3ig%re +ystem 6 ?ang%age $ilter pl%gin
:. Areate @oot Aategory 3or e,ery ?ang%age
&. Areate 5rti-les
C. Areate Men%s (e,ery ?ang%age own Men%)
7. Areate Men% >tems B Men% >tem 5sso-iation
8. Areate Men% Mod%les (e,ery ?ang%age own Men% Mod%le)
D. Areate ?ang%age +wit-'er Mod%le
#".@edire-t old in-oming lins

4. (reate *$anguage &witcher, Module

>n 8/tensions E Mod%le Manager:


-reate new Mod%le o3 type H?ang%age +wit-'erH
4
.itle: ?ang%age +wit-'er
4
Position: position67
4
?ang%age: 5ll
4
Gse Dropdown (on rig't): )o

4. &creen' *$anguage &witcher, Module

Multi language in !" steps
#. >nstall ?ang%age Pa-: Joomla system labels: @ead more...
!. De3ine Aontent ?ang%ages
2. 8nable B Aon3ig%re +ystem 6 ?ang%age $ilter pl%gin
:. Areate @oot Aategory 3or e,ery ?ang%age
&. Areate 5rti-les
C. Areate Men%s (e,ery ?ang%age own Men%)
7. Areate Men% >tems B Men% >tem 5sso-iation
8. Areate Men% Mod%les (e,ery ?ang%age own Men% Mod%le)
D. Areate ?ang%age +wit-'er Mod%le
#".@edire-t old in-oming lins

!". 5edirect old incoming lin%s

>n-oming lins 3or old -ontent=


4
Jld lin: Kstroopwa3elsKstroopwa3els.'tml
4
)ew lin: 6nlKstroopwa3els

@edire-t a -o%ple o3 old G@?s:


4
5 -o%ple o3 G@?s: Aomponents E @edire-t

!". 5edirect old incoming lin%s

!". 5edirect old incoming lin%s

!"b. 5edirect old incoming lin%s

@edire-t a lot o3 old G@?s:


4
%se .'ta--ess
4
@edire-t 2"# KoldKrelati,eKG@? 'ttp:KKnewKabsol%teKG@?

@edire-t 2"# Kstroopwa3elsKstroopwa3els.'tml


'ttp:KKwww.e/ample.-omKnlKstroopwa3els

.ool to -olle-t old G@?s:


4
Omap +itemap on old site
4
Browser 0 Piew ;.M? +o%r-e
4
Aopy to 8/-el K Jpen J33i-e Aal-
4
Aonstr%-t @edire-t statements

!"b. &creen' 5edirect old lin%s

!"b. &creen' 5edirect old lin%s

!"b. &creen' 5edirect old lin%s
Aol%mn 5: old relati,e G@?
Aol%mn B: new absol%te G@?
Aol%mn A: 3orm%la: FH@edire-t 2"# HB5#BH HBB#

!"b. &creen' 5edirect old lin%s

7onus steps '-8

.ool 3or ?ang%age stat%s -'e-

Gsing 2rd Party 8/tensions



9ool for $anguage status chec%

8/tensions E Mod%le Manager E


L+iteK5dministrator 6E sele-t 5dministratorM
4
M%ltilang%age stat%s 5dmin Mod%le

.'is mod%le s'ows stat%s o3 m%ltilang%age parameters.



9ool for $anguage status chec%

8/tensions E ?ang%age Manager E Aontent: D%t-' ()?) %np%blis'ed

Men%s E 8nglis' Men%: )o de3a%lt ;ome



)xample 3
rd
:arty )xtension; <Map

+itemap: Omap
4
>nstall OMap( enable HOmap 6 Aontent Pl%ginH
4
Aomponents E OMap E Areate 3or all 2 men%s a sitemap:

.itle 7 8nable 7 -'oose Men%



)xample 3
rd
:arty )xtension; <Map

>n D%t-'K8nglis'K.'ai men%(


-reate Omap Men% >tem:
4
Men% >tem .ype:
L;.M? +ite mapM
4
Men% .itle:

4
Men% ?o-ation:
L.'ai Men%M
4
?ang%age:
L.'ai (.')M
4
A'oose a site map:
L.'aiM

DonNt 3orget Men% >tem


5sso-iationQ
C#
=uestions>

Presentation:
4
Peter Martin (pe7er)
4
twitter: @pe7er
4
e6mail: in3o at db8.nl
4
website: www.db8.nl

You might also like