sql >> Database >  >> RDS >> Mysql

internationalisering van php website

Er zijn een aantal manieren om dit aan te pakken. Geen van allen "de beste manier" en allemaal met problemen op korte of lange termijn. Het allereerste wat je moet zeggen is dat meertalige sites niet gemakkelijk zijn, vertalers en aardige mensen, maar moeilijk om mee te werken en de meeste programmeurs zien het probleem alleen als een technisch probleem. Er is ook een andere dimensie, buiten het bestek van dit antwoord, of u vertaalt of lokaliseert. Hierbij wordt gekeken naar de culturele zeden van de doelgroep en vervolgens de taal, stijl, lay-out, kleur, lettertype etc. op die cultuur afstemmen. Gebruik ten slotte MT, Machine Translation, niet voor iets serieus of als het nauwkeurig moet zijn en zorg er bij het inhuren van vertalers voor dat ze vanuit een vreemde taal naar hun moedertaal vertalen, wat betekent dat ze alle nuances van de doeltaal begrijpen.

Rechts. Oplossingen. Op basis van het feit dat u de site niet wilt herschrijven, kloont u gewoon de site die u heeft en vertaalt u de kopieën naar de doeltaal. Ervan uitgaande dat de codebasis stabiel is, kunt u een VCS gebruiken om codewijzigingen te beheren. U kunt afzonderlijke delen van de site aanpassen aan de doeltaal, bijvoorbeeld Franse tekst is gemiddeld 30% groter dan de equivalente Engelse tekst, dus als u één site gebruikt om dit te leveren, kunt u opmaakproblemen (zullen) hebben en moet u een verschillende css-bestanden in en uit afhankelijk van de taal. Het lijkt misschien een onhandige manier om het te doen, maar hoe lang blijven de sites dan bestaan? De beheerskosten om het op deze manier te doen, zijn misschien minder dan bij andere opties.

Tweede weg zonder verbouwing. Vervang alle content in de huidige site door tags en zet dan de andere taal in file of db tabellen, snuif de gewenste taal van de gebruiker op (heb je geregistreerde gebruikers die een voorkeur kunnen maken of wil je de browser taaltag krijgen, of is het wordt de URL dot-com dot-fr, dot-de die de keuze maakt) en vervang dan de tags door de doeltaal. Vervolgens moet u de problemen met de afmetingen en de afbeelding afzonderlijk aanpakken. Deze oplossing is van kracht wanneer frameworks zoals Symfony en Zend l10n implementeren.

Dan zou je kunnen herbouwen met een framework of met gettext en mogelijk een schonere oplossing hebben, maar onthoud dat frameworks zijn ontworpen om andere problemen op te lossen, niet vertaling en de vertaalcomponent is in het framework gekomen als een gedeeltelijke oplossing en niet als de volledige.

Het grote probleem met alle oplossingen is het voortdurende onderhoud. Omdat u niet alleen een codebasis hebt, maar ook meerdere taalbases die u moet onderhouden. Tenzij je alles-in-één oplossing echt slim en effectief is, zal het moeilijk zijn om een ​​doorlopende taak uit te voeren.




  1. MySQL zoeken in volledige tekst met gedeeltelijke woorden

  2. Sphinx-waarschuwing vooraf geladen:kan niet worden geopend

  3. Query cache-efficiëntie

  4. Niet-alphaNumerics verwijderen in MySQL