Hallo Bert,
Voor zover ik weet word multi language nog niet standaard ondersteund. Vanaf versie 2 zal dit wel het geval zijn.
Alby heeft wel een onoficieel multi language systeem geschreven, deze kun je hier downloaden:
http://dev.cmsmadesimple.org/project/fi ... ackage-201
Hier zit ook een handleiding bij, deze kun je hier downloaden:
http://forum.cmsmadesimple.org/index.ph ... 458.0.html
Het is niet de beste oplossing, je zult er wat tabellen voor moeten wijzigen in je database. Maar het is wel de enigste oplossing op dit moment.
Groet,
Bas
Multiple languages support?
Moderator: velden
-
- Forum Members
- Posts: 110
- Joined: Thu Aug 14, 2008 10:33 am
Re: Multiple languages support?
Hallo Bert,
Ook binnen de normale CMSMS installatie zou je een meertalige site kunnen maken.
Zie http://forum.cmsmadesimple.org/index.ph ... 589.0.html
Voor erg grote sites zou dit toch wat lastig kunnen worden... Bomen en het bos en zo ;)
Zelf heb ik eens gekozen voor drie aparte installaties op één database, werkt op zich prima.
Alleen iedere keer 3x upgrade uitvoeren, iets minder handig. :-\
Groet, Rolf
Ook binnen de normale CMSMS installatie zou je een meertalige site kunnen maken.
Zie http://forum.cmsmadesimple.org/index.ph ... 589.0.html
Voor erg grote sites zou dit toch wat lastig kunnen worden... Bomen en het bos en zo ;)
Zelf heb ik eens gekozen voor drie aparte installaties op één database, werkt op zich prima.
Alleen iedere keer 3x upgrade uitvoeren, iets minder handig. :-\
Groet, Rolf
Last edited by Rolf on Fri Sep 18, 2009 1:33 pm, edited 1 time in total.
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Re: Multiple languages support?
Ikzelf gebruik nog wel eens de volgende logica....
Structuur van de pagina's:
- Home
- NL
- NLpage1
- NLpage2
- EN
- Enpage1
- Enpage2
- FR
- FRpage1
- FRpage2
Code:
Code:
{menu template='simple_navigation.tpl' start_level='2' collapse='1'}
Wat ik een voordeel vind van deze methode, is dat de structuur onder de verschillende talen niet identiek hoeft te zijn.
De logica hieronder kan EXTRA worden gebruikt, maar is niet noodzakelijk voor de werking.
Extra 1:
Mocht je ook nog willen dat gebaseerd op de taal van de bezoeker, deze automatisch naar zijn specifieke taal homepage gaat, dan als extraatje ....
Maak een UDT "browserlanguage" aan:
Code:
'Home' bevat enkel deze UDT als content, en aangezien Home mijn default pagina is, doet deze een re-direct naar de taal-homepage.
Extra 2:
Overigens heb ik ook nog wel een voorbeeld, hoe je middels smarty, binnen 1 template de logica kunt laten meelopen, waarmee je search e.d. ook als label, afhankelijk van de taal in de goede taal weergeeft...
Ook dit is niet nodig voor de werking, je kunt ook met meerdere templates werken, of 1 als je geen search e.d. gebruikt.
Structuur van de pagina's:
- Home
- NL
- NLpage1
- NLpage2
- EN
- Enpage1
- Enpage2
- FR
- FRpage1
- FRpage2
Code:
{menu} dient met de parameter (start_level) te worden uitgebreidt, zodat enkel de sub-pagins's van de gekozen taal getoond worden.
{cms_selflink page="en" image="uploads/flags/lang_en.gif" alt="English" imageonly=1}
{cms_selflink page="fr" image="uploads/flags/lang_fr.gif" alt="French" imageonly=1}
{cms_selflink page="nl" image="uploads/flags/lang_nl.gif" alt="Nederlands" imageonly=1}
Code:
{menu template='simple_navigation.tpl' start_level='2' collapse='1'}
Wat ik een voordeel vind van deze methode, is dat de structuur onder de verschillende talen niet identiek hoeft te zijn.
De logica hieronder kan EXTRA worden gebruikt, maar is niet noodzakelijk voor de werking.
Extra 1:
Mocht je ook nog willen dat gebaseerd op de taal van de bezoeker, deze automatisch naar zijn specifieke taal homepage gaat, dan als extraatje ....
Maak een UDT "browserlanguage" aan:
Code:
De logica hierbij is dat gekeken wordt wat zijn taal is, en dat als deze bekend is, als hoofdpagina je daarheen stuurt, anders naar de standaard-pagina, hierboven 'nl'. Let wel, dit zijn de aliassen....{
$lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
if (substr($lang, 0, 2) == 'en')
{
header("Location: index.php?page=en");
} elseif (substr($lang, 0, 2) == 'fr')
{
header("Location: index.php?page=fr");
} else {
header("Location: index.php?page=nl");
}
}
'Home' bevat enkel deze UDT als content, en aangezien Home mijn default pagina is, doet deze een re-direct naar de taal-homepage.
Extra 2:
Overigens heb ik ook nog wel een voorbeeld, hoe je middels smarty, binnen 1 template de logica kunt laten meelopen, waarmee je search e.d. ook als label, afhankelijk van de taal in de goede taal weergeeft...
Ook dit is niet nodig voor de werking, je kunt ook met meerdere templates werken, of 1 als je geen search e.d. gebruikt.
Hierbij wordt de toppagina (zijnde de gekozen taal) uitgelezen middels een UDT, genaamd "get_root_page_alias".
{get_root_page_alias assign="root_page_alias"}
{if $root_page_alias eq 'fr'}
{search searchtext="frans" lang="fr_FR"}
{elseif $root_page_alias eq 'en'}
{search searchtext="engels" lang="en_US"}
{else}
{search searchtext="nederlands" lang="nl_NL"}
{/if}
Ronnyglobal $gCms;
global $smarty;
$manager =& $gCms->GetHierarchyManager();
$var = 'root_page_alias';
if( isset($params['assign']) && $params['assign'] != '' )
{
$var = $params['assign'];
}
$result = "NO RESULT";
$thisPage = $gCms->variables['content_id'];
$currentNode = &$manager->sureGetNodeById($thisPage);
while( isset($currentNode) && $currentNode->getLevel() >= 0 )
{
$currentContent =& $currentNode->getContent();
$result = $currentContent->Alias();
$currentNode =& $currentNode->getParentNode();
}
$smarty->assign($var,$result);
Last edited by RonnyK on Wed Mar 11, 2009 10:19 am, edited 1 time in total.
Re: Multiple languages support?
Bert,
je kunt hem i.i.g. plaatsen in de Tips & Trucs onder het NL-board, met uitleg over de werking. Daarnaast kan het ook in het Tips & Tricks board op het Engelstalige deel van het Forum.
Ronny
je kunt hem i.i.g. plaatsen in de Tips & Trucs onder het NL-board, met uitleg over de werking. Daarnaast kan het ook in het Tips & Tricks board op het Engelstalige deel van het Forum.
Ronny