Graag zou ik willen weten hoe jullie je websites multilingual maken. Ik heb dit nooit eerder gedaan (i.i.g. niet op deze grote)
Ik maak gebruik van PHP met mySQL. Het voornaamste is dat ik mijn .php en .html ook log leesbaar en herkenbaar maak en dat ik eventueel meerdere talen kan toevoegen.
Ik wil om te beginnen NL EN DE, maar de kans dat er FR IT ES en PT bijkomen is zeer aanwezig.
Hoe pas ik dit toe op een logische wijze zodat ik de code leesbaar houd:
<h1><?php echo $..; ?></h1>
<input type="submit" value="<?php echo $..; ?>" title="<?php echo $..; ?>" />
Gebruik ik een database, of losse files? Hoe benoem ik mijn variablelen (logisch en herkenbaar)?
Graag jullie mening, ervaringen do's and dont's
- [PHP] Multilingual website
-
10-12-2010, 12:50 #1
- Berichten
- 98
- Lid sinds
- 15 Jaar
[PHP] Multilingual website
-
-
10-12-2010, 12:58 #2
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: [PHP] Multilingual website
Ligt er ook maar net aan met hoeveel man je werkt.. als jij een Nederlandse vertaling maakt en die moeten omgezet worden door anderen is een database opzet misschien niet zo gek aangezien je dan een klein stukje code kunt schrijven om gemakkelijk vertalingen mee te maken.
Aan de andere kant is een file ook niet zo'n gek idee.. als je bepaalde modules hebt kun je deze hun eigen talen bestand laten includen. Verder heb je met zo'n bestand ook meer mogelijkheden in het benoemen van je variabelen.
Je hebt zo veel opties:
$text['nl']['nieuws']['geplaatst_op'] = "Geplaatst op";
$nieuws['geplaatst_op'] = "Geplaatst op";
$nl['nieuws']['geplaatst_op'] = "Geplaatst op";
define("GEPLAATST_OP", "Geplaatst op");
Met veel talen is het misschien handig om een database te gebruiken ivm de vertalingen, maar aan de andere kan kan een volle database op een grote site ook weer wat laadtijd met zich meebrengen en of dat nu de bedoeling is?
-
10-12-2010, 13:22 #3
- Berichten
- 2.971
- Lid sinds
- 18 Jaar
Re: [PHP] Multilingual website
HTML en PHP code door elkaar gooien vind ik allerminst leesbaar.
Ga voor een template engine en zet je taal in een array.
-
10-12-2010, 13:41 #4
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: [PHP] Multilingual website
Dat is een goede, niet eens opgevallen direct dat je dat niet gebruikt. Kijk eens naar TemplatePower bijvoorbeeld!
-
10-12-2010, 13:44 #5
- Berichten
- 1.031
- Lid sinds
- 17 Jaar
Re: [PHP] Multilingual website
Of Smarty
-
10-12-2010, 15:01 #6
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: [PHP] Multilingual website
Of smarty inderdaad ;-) gebruikersgemak om templatepower te gebruiken eigenlijk. Moet eens overstappen op smarty dat biedt me toch wat meer opties.
-
10-12-2010, 15:07 #7
- Berichten
- 231
- Lid sinds
- 19 Jaar
Re: [PHP] Multilingual website
Vertalingen in de db stoppen en dan cashen d.m.v. defines.
Hierdoor houd je alles netjes beheersbaar.
-
10-12-2010, 15:23 #8
- Berichten
- 2.971
- Lid sinds
- 18 Jaar
-
10-12-2010, 15:29 #9
- Berichten
- 231
- Lid sinds
- 19 Jaar
Re: [PHP] Multilingual website
Zoals ik al zei, beheersbaarheid.
Hierdoor kun je leeken laten vertalen + gemakkelijk zien wat er ontbreekt, nieuwe talen toevoegen etc.
-
10-12-2010, 15:57 #10
- Berichten
- 240
- Lid sinds
- 15 Jaar
Re: [PHP] Multilingual website
@Vincent In principe heb je helemaal geen template parser nodig als je gebruik maakt van PHP. PHP kan zelf variablen vervangen door gewenste tekst, simpele waarden controleren tegen andere waarden, dus waarom daarvoor gebruik maken van een nieuwe taal om dit te doen?
-
10-12-2010, 16:17 #11
- Berichten
- 231
- Lid sinds
- 19 Jaar
Re: [PHP] Multilingual website
Kan ook met raw text files zoals XML of desnoods gewoon specifieke taal variabelen definiëren in een apart bestand.
@Vincent In principe heb je helemaal geen template parser nodig als je gebruik maakt van PHP. PHP kan zelf variablen vervangen door gewenste tekst, simpele waarden controleren tegen andere waarden, dus waarom daarvoor gebruik maken van een nieuwe taal om dit te doen?
-
10-12-2010, 17:23 #12
- Berichten
- 2.971
- Lid sinds
- 18 Jaar
Re: [PHP] Multilingual website
@Vincent In principe heb je helemaal geen template parser nodig als je gebruik maakt van PHP. PHP kan zelf variablen vervangen door gewenste tekst, simpele waarden controleren tegen andere waarden, dus waarom daarvoor gebruik maken van een nieuwe taal om dit te doen?
Daarnaast is er geen sprake van een nieuwe taal, waarom het wiel opnieuw uitvinden als de engines er al zijn ;)
-
11-12-2010, 12:34 #13
- Berichten
- 240
- Lid sinds
- 15 Jaar
Re: [PHP] Multilingual website
PHP Code:{foreach $foo as $bar}
...
{/foreach}
Caching is inderdaad een leuk iets wat veel template engines standaard leveren, maar ik denk dat het veel beter is om gewoon zelf een mini View module te schrijven (eventueel die koppelen aan een bestaande cahce module) die werkt met bestaande PHP code in plaats van aardig wat resources te verspillen aan het parsen van een bepaalde template engine haar syntax.
@Stef V Dat hangt er maar net van af wat je gewend bent natuurlijk. Als je zelf een mini interface schrijft om de taal bestanden (of dit nu een database is of XML files zijn) te beheren, maakt dat 'in zicht hebben' natuurlijk niet veel meer uit en moet je gaan kijken naar wat beter voor de performance is; elke keer een verbinding met de database maken of bestanden op de harde schijf uitlezen.
En aangezien je de waardes in de database waarschijnlijk gaat cachen, in bestanden op de harde schijf, kun je toch veel beter direct de taal bestanden op de harde schijf plaatsen?
-
11-12-2010, 13:20 #14
- Berichten
- 59
- Lid sinds
- 17 Jaar
Re: [PHP] Multilingual website
Mocht je geen template engine willen gebruiken; Ik heb voor elke grote pagina een language file met daarin een grote array die op elke pagina uitgebreid wordt.
In de admin (waar een klant graag makkelijk de talen wilt beheren), kan je heel makkelijk voor elke pagina de array uitlezen en hier velden van maken die overzichtelijk te wijzigen zijn.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic