sql >> Database teknologi >  >> RDS >> Mysql

internationalisering af php hjemmeside

Der er en række måder at tackle dette på. Ingen af ​​dem "den bedste måde" og alle med problemer på kort eller lang sigt. Den allerførste ting at sige er, at flersprogede websteder ikke er nemme, oversættere og dejlige mennesker, men svære at arbejde med, og de fleste programmører ser problemet kun som et teknisk problem. Der er også en anden dimension, uden for dette svars omfang, med hensyn til, om du oversætter eller lokaliserer. Dette indebærer at se på målgruppens kulturelle sædvaner og derefter skræddersy sprog, stil, layout, farve, skrifttype osv. til denne kultur. Brug endelig ikke MT, Maskinoversættelse, til noget seriøst, eller hvis det skal være nøjagtigt, og når du anskaffer oversættere, skal du sikre dig, at de oversætter fra et fremmedsprog til deres modersmål, hvilket betyder, at de forstår alle nuancerne i målsproget.

Ret. Løsninger. På baggrund af, at du ikke ønsker at omskrive webstedet, skal du blot klone det websted, du har, og oversætte kopierne til målsproget. Forudsat at kodebasen er stabil, kan du bruge en VCS til at styre eventuelle kodeændringer. Du kan tilpasse individuelle dele af webstedet, så det passer til målsproget, for eksempel er fransk tekst i gennemsnit 30 % større end den tilsvarende engelske tekst, så at bruge ét websted til at levere dette betyder, at du kan (vil) have formateringsproblemer og skal bytte en forskellige css-filer ind og ud afhængigt af sproget. Det kan virke som en klodset måde at gøre det på, men hvor længe vil webstederne så eksistere? Ledelsens omkostninger ved at gøre det på denne måde kan meget vel være mindre end andre muligheder.

Anden vej uden ombygning. Erstat alt indhold på det aktuelle websted med tags og læg derefter det forskellige sprog i fil- eller db-tabeller, snus til brugerens ønskede sprog (har du registrerede brugere, der kan foretage en præference eller ønsker du at få browserens sprogtag, eller er det bliver URL dot-com dot-fr, dot-de, der træffer valget) og erstatter derefter taggene med målsproget. Derefter skal du behandle størrelsesproblemerne og billedproblemerne separat. Denne løsning er i kraft, når rammer som Symfony og Zend gør for at implementere l10n.

Så kunne du genopbygge med et framework eller med gettext og muligvis have en renere løsning, men husk at frameworks blev designet til at løse andre problemer, ikke oversættelse, og oversættelseskomponenten er kommet ind i frameworket som delvis løsning ikke den fulde.

Det store problem med alle løsningerne er løbende vedligeholdelse. Fordi du ikke kun har en kodebase, men også flere sprogbaser at vedligeholde. Medmindre du alt i én løsning er virkelig klog og effektiv, vil det være vanskeligt at løse en igangværende opgave.




  1. Hvordan bruger du en BIGINT som en auto-inkrementerende primærnøgle i Laravel 4

  2. Alternativ til FIND_IN_SET i SQLite?

  3. Hvordan kan jeg bruge $_get med build_categories_options-funktionen

  4. Henter den seneste note (efter tidsstempel) i en enkelt forespørgsel fra en 1:n-tabel