Omdat we momenteel bezig zijn met een project in verschillende talen, wou ik even een discussie starten over de verschillende mogelijkheden rond opslaan en weergeven van vertalingen op websites. In de search was er niet meteen veel over te vinden... Dit leek me een nuttig onderwerp om eens over te brainstormen.
Voor statische sites werken we meestal op een van volgende manieren:
- In DreamWeaver de tekst in taal A tussen 2 PHP tags (if language == A ...), die voor taal B tussen zulke tags, die voor taal C tussen deze tags, ...
- Aparte tekstbestanden met de juiste tekst in de juiste taal voor de juiste pagina
Voor een dynamische sites waar enkele korte woordjes op dienden vertaald te worden, hebben we een database aangelegd in de zin van "pagina | woord | taal | vertaling". Dit werkte ook redelijk vlot.
Maar wat is nu de juiste manier voor complexe sites die in meerdere talen dienen te komen?
Niet alleen de taal van de interface is anders, ook de taal van de (dynamische) content is anders.
Voorzie je per taal een andere database? Voorzie je per veld een vertalingsveld er taal?
Je kan eventueel ook weer aparte tabellen gaan gebruiken met vertalingen, maar dan krijg je in je database weer van die complexe JOINs...
Voor statische sites werken we meestal op een van volgende manieren:
- In DreamWeaver de tekst in taal A tussen 2 PHP tags (if language == A ...), die voor taal B tussen zulke tags, die voor taal C tussen deze tags, ...
- Aparte tekstbestanden met de juiste tekst in de juiste taal voor de juiste pagina
Voor een dynamische sites waar enkele korte woordjes op dienden vertaald te worden, hebben we een database aangelegd in de zin van "pagina | woord | taal | vertaling". Dit werkte ook redelijk vlot.
Maar wat is nu de juiste manier voor complexe sites die in meerdere talen dienen te komen?
Niet alleen de taal van de interface is anders, ook de taal van de (dynamische) content is anders.
Voorzie je per taal een andere database? Voorzie je per veld een vertalingsveld er taal?
Je kan eventueel ook weer aparte tabellen gaan gebruiken met vertalingen, maar dan krijg je in je database weer van die complexe JOINs...