webForumDet fria alternativet

Bygga sida med stöd för flera språk

8 svar · 751 visningar · startad av Dies_Irae

Dies_IraeMedlem sedan aug. 2001145 inlägg
#1

Hallå,

Tänker höra om ni har någon erfarenhet av detta eller någon idee hur man på ett så effektift sätt som möjligt kunna bygga en sida där man kan lägga till flera språk senare.

PeddaMedlem sedan juni 20006 032 inlägg
Dies_IraeMedlem sedan aug. 2001145 inlägg
#3

Tackar, en metod. Hade gärna sätt fler

MeleaMedlem sedan juli 20033 147 inlägg
#4

Rent spontant hade jag löst det med databaser.
En tabell som innehåller kategorier, och en för språkfälten.

tbl_lang_cat
id (int)
category (varchar)

tbl_lang
catid (int)
description (varchar)
phrase (longtext)

/r Sen hade jag nog byggt upp det med arrayer utifrån databasen.
Typ:

while($row = mysql_fetch_assoc($sql)) {
    $language[$row['description']] = $row['phrase'];
}

Dock väldigt otestat. :)

Osäker på hur fnuttarna ska se ut, har ingen möjlighet att testa.
Men du förstår principen. :)

Dies_IraeMedlem sedan aug. 2001145 inlägg
#5

Jag va lite inne på att ha de i dbn också faktiskt.

Skulle vara ganska lätt att göra ett script för att översätta till ett annat språk då man bara kollar vilka kategorier som inte är översatta och generera en sida där någon kan sitta och skriva översättningarna som inte är gjorda men vet inte om de är snabbt nog att ha all text i databasen sådär.

MeleaMedlem sedan juli 20033 147 inlägg
#6

Dies_Irae skrev:

men vet inte om de är snabbt nog att ha all text i databasen sådär.

Det beror helt på hur du kodar.

Dies_IraeMedlem sedan aug. 2001145 inlägg
#7

Melea, skulle du vilja vara lite mer specifik på hur du skulle göra för att få de bra nog?

MeleaMedlem sedan juli 20033 147 inlägg
#8

Uppriktigt sagt är jag inte superbra på PHP, men jag kan göra ett försök.

tbl_lang (innehåller olika språk)
id (int)
language (varchar)

tbl_lang_cat (innehåller olika kategorier, ex. index, news, links)
id (int)
langid (int)
category (varchar)

tbl_lang_phrase (innehåller fraser för de olika kategorierna, ex. catid = 1, description = welcome, phrase = välkommen)
catid (int)
description (varchar)
phrase (longtext)

Sen hade jag byggt upp strukturen så att man sparar vilken språk man använder i en kaka.
Sedan kollar man vilken sida man är inne på, och kör sql-frågan utifrån den sidan, och hämtar alltså endast de postar i tbl_lang_phrase som tillhör den aktuella sidan.
Efter det hade jag kört en loop och lagt alla fraser i en array, som jag beskrev i mitt tidigare inlägg.

while($row = mysql_fetch_assoc($sql)) { 
    $language[$row['description']] = $row['phrase']; 
}

Och skrivit ut dem såhär:

echo $language['welcome'];

Hoppas det inte blev för luddigt. :)

Dies_IraeMedlem sedan aug. 2001145 inlägg
#9

De låter som en bra ide, tackar.

365 ms totalt · 3 externa anrop · v20260731065814-full.cf67ef55
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
363 ms — hämta tråd, inlägg och bilagor (db)