Ik ben nu wat ideeën aan het uitwerken voor een meertalige website. Dingen zoals nieuws-items en dergelijke zijn allemaal geregeld via een genormaliseerde database-structuur. Werkt prima, is makkelijk te verwerken in de applicatie enzovoorts.
Echter, nu loop ik dus tegen de statische data aan. Teksten op knoppen, teksten die nooit veranderen in de site en dat soort dingen. Verder eventueel natuurlijk weergave van valuta en dat soort ongein. De website wordt geschreven in PHP en maakt gebruik van Smarty als templateparser.
Gettext valt voor mij af, heb geen zin in bestanden die ik niet in 3 seconden kan bewerken, of waar ik andere tools voor nodig heb. Vind het gewoon onhandig, hoewel het vrij snel is.
Dan zijn er twee opties die ik interessant vind: XML of een DB, MySQL in mijn geval. Ik heb wel enig idee hoe ik dit zou moeten maken, maar ik maak me een beetje zorgen over de performance.
Stel, ik heb 500 items die in 3 verschillende talen staan. Kom je in totaal uit op 1500 items. Niet schokkend veel dus. Als ik hiervoor XML bestanden moet gaan inlezen kan het best nog wel eens wat tijd kosten, maar met een DB is dat eigenlijk hetzelfde verhaal.
Natuurlijk ligt het er een beetje aan hoe je XML bestanden indeelt, of je per gedeelte van de website een apart XML bestand gebruikt (ik heb er liever maar één eigenlijk) en hoe je het aanroept. Het idee is in elk geval dat ik in m'n template iets in de standaardtaal kan plaatsen en dat die string compile-time vervangen wordt door iets in de juiste taal. Maargoed, dat kan ik Smarty mooi afhandelen.
Bij een DB heb ik niet zo'n lekker gevoel. Het lijkt me veel te omslachtig, en er is zoveel functionaliteit die ik echt niet nodig heb. Bovendien wordt het uiteindelijk ook gewoon opgeslagen op het bestandssysteem, net als XML, dus waarom die stap ertussen ?
Maar goed, waarmee moet ik rekening houden bij het ontwerpen van een dergelijke website ? Wat is in de regel sneller en handiger ?
Echter, nu loop ik dus tegen de statische data aan. Teksten op knoppen, teksten die nooit veranderen in de site en dat soort dingen. Verder eventueel natuurlijk weergave van valuta en dat soort ongein. De website wordt geschreven in PHP en maakt gebruik van Smarty als templateparser.
Gettext valt voor mij af, heb geen zin in bestanden die ik niet in 3 seconden kan bewerken, of waar ik andere tools voor nodig heb. Vind het gewoon onhandig, hoewel het vrij snel is.
Dan zijn er twee opties die ik interessant vind: XML of een DB, MySQL in mijn geval. Ik heb wel enig idee hoe ik dit zou moeten maken, maar ik maak me een beetje zorgen over de performance.
Stel, ik heb 500 items die in 3 verschillende talen staan. Kom je in totaal uit op 1500 items. Niet schokkend veel dus. Als ik hiervoor XML bestanden moet gaan inlezen kan het best nog wel eens wat tijd kosten, maar met een DB is dat eigenlijk hetzelfde verhaal.
Natuurlijk ligt het er een beetje aan hoe je XML bestanden indeelt, of je per gedeelte van de website een apart XML bestand gebruikt (ik heb er liever maar één eigenlijk) en hoe je het aanroept. Het idee is in elk geval dat ik in m'n template iets in de standaardtaal kan plaatsen en dat die string compile-time vervangen wordt door iets in de juiste taal. Maargoed, dat kan ik Smarty mooi afhandelen.
Bij een DB heb ik niet zo'n lekker gevoel. Het lijkt me veel te omslachtig, en er is zoveel functionaliteit die ik echt niet nodig heb. Bovendien wordt het uiteindelijk ook gewoon opgeslagen op het bestandssysteem, net als XML, dus waarom die stap ertussen ?
Maar goed, waarmee moet ik rekening houden bij het ontwerpen van een dergelijke website ? Wat is in de regel sneller en handiger ?