Springen naar inhoud

4gamers.be


Foto

PHP-website multilanguage interface


  • Please log in to reply
5 replies to this topic

#1 MiniJeffrey

MiniJeffrey

    Crew

  • Administrator
  • 8007 berichten

Posted 11 October 2014 - 12:14

Klein vraagje:

 

Ik heb een website, die ene multilanguage interface moet hebben. Voor mij moet de interface bvb in Engels staan, voor een andere gebruiker in Frans, etc. Nu vraag ik me af hoe ik dit zou programmeren.

 

Ik wil alles in de Database opslaan, maar het probleem is: hoe haal ik de gegevens op:

 

Bij inloggen meteen alle data uit de interface ophalen en opslaan in een session?

Voordeel: Er moet slechts één keer een query uitgevoerd worden om de gehele interface op te halen.

Nadeel: Een zware query (momenteel 250 rijen) die enkel maar zwaarder zal worden als de tool groter wordt. 

 

 

Bij het laden van een pagina de data voor die pagina ophalen?

Voordeel: De query's zijn beperkter en de zwaarte is afhankelijk van de hoeveelheid interface op die pagina

Nadeel: Een extra query op elke pagina, dus elke pagina wordt miniem vertraagd.

 

 

Iemand suggesties/ideetjes?


  • 0

- 4Gamers Forum Administrator -


#2 rafbanaan

rafbanaan

    Crew

  • Crew
  • 12906 berichten

Posted 11 October 2014 - 14:22

Hmm, inderdaad een moeilijke keuze.

 

Kan je beiden niet timen voor een aantal pagina's en zien wat de impact is?


  • 0

PSN ID/STEAM ID/ORIGIN ID: Tha_soh

Xbox Live ID: Tha soh

 

The 4Gamers PC-build generator


#3 MiniJeffrey

MiniJeffrey

    Crew

  • Topic Starter
  • Administrator
  • 8007 berichten

Posted 11 October 2014 - 21:37

Zelfs 200 rijen ophalen en in een php array steken gebeurt bliksemsnel dus ik denk dat ik de hele layout in één keer ga ophalen.


  • 0

- 4Gamers Forum Administrator -


#4 dJeez

dJeez

    First baby steps

  • Member
  • Pip
  • 35 berichten

Posted 31 October 2014 - 21:47

Wat laat, maar waarom het wiel opnieuw uitvinden? Want daar bestaan echt al veel goede oplossingen voor. De meeste systemen werken achterliggend met simpele PHP lookup arrays (associative key => vertaling) per taal. Je kan de vertalingen opslaan in YAML, .po , XML of andere formaten. Eventueel kan je die bestanden ook omzetten via een "compiler" stapje naar uitvoerbare PHP (zijnde een script dat de associatieve array definieert, en je dus overal waar gewenst kan includen - dat is wat Symfony2 in de achtergrond doet trouwens).

 

Dus : gebruik best iets dat al bestaat zoals de Symfony2 Translator of Zend\I18n.


Edited by dJeez, 31 October 2014 - 21:47.

  • 0

#5 Sharpless...

Sharpless...

    On a roll

  • Member
  • PipPip
  • 510 berichten

Posted 14 December 2014 - 16:47

Een Json file gebruiken waar je keywoorden hebt. Bv eng.json , nld.json etc

 

 


  • 0

#6 robertkingsley52

robertkingsley52

    First baby steps

  • Member
  • Pip
  • 36 berichten

Posted 10 October 2015 - 10:40

Een Json file gebruiken waar je keywoorden hebt. Bv eng.json , nld.json etc

 

Dat klinkt als een goede keuze


  • 0

Spoiler

Angry-Mob deelt gratis teamspeak channels uit voor mensen die een eigen plek zoeken om te gamen.

Web: www.angry-mob.com | Teamspeak : angry-mob.ts-ip.com





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users