Webmove Blog : Multilanguage websites ontwikkelen met Umbraco deel 3

Multilanguage websites ontwikkelen met Umbraco deel 3

Deze blogpost reeks behandelt mogelijkheden en tools die Umbraco CMS biedt bij het ontwikkelen van een multilanguage website. In het eerste deel zagen welke structurele benaderingen er zijn om een multilanguage website in Umbraco aan te maken. In deel twee zijn we dan begonnen met het stap voor stap aanmaken van een multilanguage website. In dit derde deel gaan we gebruikmaken van de Relations API en implementeren we een taalkeuze element zodat de bezoeker tussen taalversies van een pagina kan switchen.

Relations API

Vaak keert men bij multilanguage sites terug naar de homepage van een andere taalversie, wanneer een andere taal wordt geselecteerd. Zou het niet veel handiger zijn, dat wanneer men op de 'Diensten'-pagina zit, men automatisch op de 'Services'-pagina terecht komt wanneer men de Engelstalige versie selecteert? Met de Relations functionaliteit in Umbraco kan dit scenario perfect gerealiseerd worden. Via de Relations API kunnen enkelvoudige of wederkerige relaties tussen twee objecten (pagina's, documenten, media, etc ...) gelegd worden. Deze relaties worden opgeslagen in de umbracoRelation tabel in de database.

In deel twee zagen we hoe we bij het kopiëren van de Nederlandstalige rootnode de checkbox 'Relate copied items to original' kunnen aanvinken. Op dat moment worden alle relaties tussen de gekopieerde nodes en de orginele nodes weggeschreven naar de umbracoRelation tabel:

umbracoRelation
fig.1 De umbracoRelation tabel in de database

Een Language Selector implementeren in Umbraco

Het enige wat we nu nog nodig hebben is een component die het mogelijk maakt voor de gebruiker om een andere taal te selecteren. Tim Geyssens beschrijft in zijn blog hoe je zelf zo'n Language Selector kunt implementeren in je Umbraco website (http://www.nibble.be/?p=32).

Webmove gebruikt echter de uitstekende Goyaweb Multilanguage Tools, ontwikkelt door Yannick Smits. Deze language selector bevat ook een Razor-script die automatisch naar de anderstalige pagina switched indien er een relatie bestaat in de Relations table. Je hebt ook drie weergave mogelijkheden voor de Language Selector: een dropdownlist, textuele links of afbeeldingen van vlaggetjes:

render-view-language-selector
fig.2 weergave mogelijkheden voor de Language Selector van de Goyaweb Multilanguage Tools

na installatie van de package hoef je enkel een macro aan je template toe te voegen:

<umbraco:Macro  RenderType="Flags"  Alias="MLLanguageSwitcher"  runat="server"></umbraco:Macro>

De bezoekers kunnen nu een ander taalversie van een pagina selecteren door op de vlaggetjes van de taalkeuze component te klikken:

navbar-ned
fig.3 De implementatie van de taalkeuze component op de website

Een andere handige package is de Vizioz Relationship package van Chris Houston. Deze package voegt een document type toe via dewelke je de relaties tussen pagina's kunt beheren in de Umbraco Backoffice.

We zijn nu klaar met onze multi-site structuur voor onze multilanguage website. We kunnen onze anderstalige websites onafhankelijk van elkaar beheren, en waar nodig relaties leggen tussen de onderlinge anderstalige pagina's. Gebruikers kunnen via een Language Selector de gewenste taal selecteren.

In het vierde en laatste deel zullen we de ingebouwde Translation Workflow in Umbraco nader bekijken. Deze Translation Workflow maakt het mogelijk om de samenwerking met professionele vertaalbureaus te integreren in de Umbraco Backoffice.

Posted by Anthony Candaele at 10:05
Categories :

0 Comments:

Post a comment

Latest comments