sql >> Databasteknik >  >> RDS >> Mysql

internationalisering av php-webbplatsen

Det finns ett antal sätt att tackla detta. Ingen av dem "det bästa sättet" och alla med problem på kort eller lång sikt. Det allra första att säga är att flerspråkiga webbplatser inte är lätta, översättare och underbara människor men svåra att arbeta med och de flesta programmerare ser problemet som enbart ett tekniskt problem. Det finns också en annan dimension, utanför ramen för detta svar, när det gäller om du översätter eller lokaliserar. Detta innebär att titta på målgruppens kulturella seder och sedan skräddarsy språk, stil, layout, färg, typsnitt etc. till den kulturen. Slutligen, använd inte MT, Maskinöversättning, för något allvarligt eller om det behöver vara korrekt och när du skaffar översättare se till att de översätter från ett främmande språk till sitt modersmål vilket innebär att de förstår alla nyanser av målspråket.

Höger. Lösningar. På grundval av att du inte vill skriva om webbplatsen, klona sedan helt enkelt webbplatsen du har och översätt kopiorna till målspråket. Förutsatt att kodbasen är stabil kan du använda en VCS för att hantera eventuella kodändringar. Du kan anpassa enskilda delar av webbplatsen för att passa målspråket, till exempel är fransk text i genomsnitt 30 % större än motsvarande engelska text, så att använda en webbplats för att leverera detta betyder att du kan (kommer) ha formateringsproblem och behöver byta en olika css-filer in och ut beroende på språk. Det kan tyckas vara ett klumpigt sätt att göra det, men hur länge kommer sajterna att existera? Ledningens omkostnader för att göra det på detta sätt kan mycket väl vara mindre än andra alternativ.

Andra sättet utan att bygga om. Byt ut allt innehåll på den aktuella webbplatsen med taggar och lägg sedan det olika språket i fil- eller db-tabeller, sniffa användarnas önskade språk (har du registrerade användare som kan göra en preferens eller vill du få webbläsarens språktagg, eller är det kommer att vara URL dot-com dot-fr, dot-de som gör valet) och ersätt sedan taggarna med målspråket. Sedan måste du ta itu med storleksfrågorna och bildproblemen separat. Denna lösning är i kraft när ramverk som Symfony och Zend gör det för att implementera l10n.

Sedan kan du bygga om med ett ramverk eller med gettext och eventuellt ha en renare lösning, men kom ihåg att ramverk utformades för att lösa andra problem, inte översättning och översättningskomponenten har kommit in i ramverket som en dellösning, inte den fullständiga.

Det stora problemet med alla lösningar är löpande underhåll. För du har inte bara en kodbas utan även flera språkbaser att underhålla. Såvida inte allt i en lösning är riktigt smart och effektiv kommer det att vara svårt att pågå i en pågående uppgift.




  1. mysql ändrar unik nyckel till primär (mariadb)

  2. Så här skapar du en rapport från en tabell i Access 2016

  3. Hur gör man Qt mysql-drivrutin i Windows?

  4. Fönsterfunktioner - Totalt med återställning