itfag | Teknologi. Data. Læring. Deling.

mai/11

12

Hvordan endre språk på webside?

Av: Svend Andreas Horgen, høgskolelektor og faglærer i PHP

En liten nøtt i dag. Løsningsforslag kommer senere. Har du forslag til strategi for å løse problemet, så legg gjerne igjen en kommentar.

Dette innlegget har 4 kommentarer. Gjerne bidra :-)

Skrevet av: Svend Andreas Horgen (totalt 133 blogginnlegg)

4 comments

  • Geir Arne Aasen · 19. mai, 2011, kl. 18:35

    Skal ikke komme med et ferdig løsningsforslag, men jeg kan nevne noen php-funksjoner som egentlig ikke er så mye brukt av folk flest:
    – parse_ini_file
    – ini_get
    – ini_set

    Ellers kan det være en stor fordel om man er glad i kjeks, om man enten velger å spise dem eller bruke kjeks på annen måte 🙂

  • Tronds · 21. mai, 2011, kl. 09:58

    Må nok like kjeks her ja 🙂
    I denne oppgaven er det jo bare en side som skal oversettes, så da går det ann å bruke arrays som kan plasseres i selve filen.

    Men hvis du nå tenker at du skal oversette flere sider så hadde det vært greit å passere teksten i egne filer? Hadde vel kanskje litt mer oversiktlig og enklere å oppdatere eller legge til et nytt språk ?

  • Mikael · 22. mai, 2011, kl. 21:17

    Som du sier Tronds, lønner det seg å bruke egne filer – dersom det er mye som skal oversettes. Og da er det alltid lurt å holde seg til standarder. Særlig siden du ofte lar andre ta seg av oversettingen.

    Etter min mening er det da Gettext som burde brukes.

    Gettext er ofte brukt til internasjonalisering (i18n om du vil), og det finnes f.eks mange programmer som du kan bruke til å opprette språkfiler.

    Gettext er også enkelt å bruke i PHP.

  • Jone · 23. mai, 2011, kl. 11:27

    Kjeks og databaser er den løsningen jeg ville ha foretrukket. Lagre tekstene i db knyttet opp mot forskjellige språk. Finnes ikke teksten på det ønskede språket kan defaultspråket benyttes, evt med en feilmeling som sier at teksten ikke finnes på det ønskede språket. Hvordan man setter opp tabellene er avhengig av egne preferanser. Lag en tabell med et språk i hver kolonne, lag en tabell for hvert språk eller lag en tabell for default og en for oversettelser. Bruk enten teksten på dafultspråket som index eller bruk et nummer(nummer anbefales). I tillegg er det lurt å lage en egen klasse eller funksjon som håndterer henting/oversetting av tekst.

    Jeg benytter noe som ser litt ut som dette:
    echo hentTekst(12345, «no», true)

    hentTekst søker da i db etter tekst med id 12345 og ser om språk «no» finnes. Hvis teksten finnes på språket «no» returneres den på det språket, hvis ikke returnerer den defaultspråket. Hvis det siste argumentet hadde vært false ville en feilmelding på valgt språk blitt returnert.

    Dette er bare et kjapt eksempel, men for meg fungerer det fint å gjøre det omtrent slik.

<<

>>

Theme Design by devolux.nh2.me