webForumDet fria alternativet

Flera språk på hemsida

Databaser & SQL

15 svar · 1 125 visningar · startad av altruism

Medlem sedan nov. 200664 inlägg
Frågan#1

En kort fråga. Jag ska göra en sida som skall översättas på flera olika språk, vilket är det smidigaste sättet att göra detta på? Säg att sidan skall finnas på fyra olika språk, jag tänkte så att man skapar fyra likadana databaser men där varje databas innehåller var sin språkversion. Sedan så väljer man rätt databas mha. php när man väljer språk.

Är detta den bästa lösningen eller finns det andra sätt att lösa det på?

Medlem sedan juli 20033 147 inlägg
#2

Jag har löst mina sidor med den här lösningen.

http://www.webforum.nu/showthread.php?p=1119639#post1119639

Medlem sedan nov. 200664 inlägg
#3

där var en lösning ja. Men blir det inte väldigt rörigt om man har en stor sida att spara alla delsidors texter i samma tabell?

Hela sidan skall även vara redigerbar via ett gränssnitt uppbyggt med olika formulär, men det borde väl inte ställa till några problem?

De olika texterna skall översättas efter att jag är klar med sidan, därför tänkte jag att det skulle vara smidigt med olika databaser som först är tomma på text och sen läggs texten in. Fast det kanske går med din lösning också?

Medlem sedan aug. 20068 090 inlägg
#4

Antar att du har php/MySQL eller nåt.

Du skapar ett antal identiska dokument, ett för varje språk, t.ex. "en.php" för engelska, "se.php" för svenska osv. I dokumenten har man id:n för varje textsnutt. I den engelska t.ex. "id1='Hello, how are you?'" och i den svenska "id1='Hej, hur mår du?'" osv.

Sen lägger man in id:n på rätt ställen i sajtens sidor. Då plockar sidorna upp texterna från den språkversion som användaren valt.

Ovan är mycket schematiskt. Jag kan inte php så kan inte ge bättre förklaring.

Fördelen är att du kan lägga till, redigera och ta bort språk väldigt enkelt.

Medlem sedan nov. 200013 890 inlägg
#5

Danne V skrev:

Du skapar ett antal identiska dokument, ett för varje språk

Hua! Det där vill jag verkligen inte rekommendera. Varje GUI-ändring betyder fyra gånger så mycket arbete (om man nu har fyra språk).

Undvik redundant kod till varje pris.

Medlem sedan aug. 20068 090 inlägg
#6

Web-Tor skrev:

Hua! Det där vill jag verkligen inte rekommendera. Varje GUI-ändring betyder fyra gånger så mycket arbete (om man nu har fyra språk).

Undvik redundant kod till varje pris.

Nej, du missuppfattar. Det har ingen med GUI:n att göra alls.
Dokumenten innehåller BARA texterna som alltså laddas in där dom ska vara på sajten..

Medlem sedan nov. 200013 890 inlägg
#7

Tack! Det låter bättre. :)
Det här fungerar väldigt bra. Vi har använt det här sättet på sidor med upp emot 50 språk.
När man designar sidan gäller det även att tänka på att vissa språk (typ finska) sväller väldigt mycket och andra (typ arabiska) skrivs från höger till vänster.

Medlem sedan nov. 200664 inlägg
#8

Danne V skrev:

Antar att du har php/MySQL eller nåt.

Du skapar ett antal identiska dokument, ett för varje språk, t.ex. "en.php" för engelska, "se.php" för svenska osv. I dokumenten har man id:n för varje textsnutt. I den engelska t.ex. "id1='Hello, how are you?'" och i den svenska "id1='Hej, hur mår du?'" osv.

Sen lägger man in id:n på rätt ställen i sajtens sidor. Då plockar sidorna upp texterna från den språkversion som användaren valt.

Ovan är mycket schematiskt. Jag kan inte php så kan inte ge bättre förklaring.

Fördelen är att du kan lägga till, redigera och ta bort språk väldigt enkelt.

okeej.... hmm vet inte om jag är med på hur du menar.... Hur sparar jag texterna som ska in på sidan i databasen då? Alla språk i en tabell eller i olika?

Medlem sedan nov. 200664 inlägg
#9

Web-Tor skrev:

Tack! Det låter bättre. :)
Det här fungerar väldigt bra. Vi har använt det här sättet på sidor med upp emot 50 språk.
När man designar sidan gäller det även att tänka på att vissa språk (typ finska) sväller väldigt mycket och andra (typ arabiska) skrivs från höger till vänster.

Vad fungerar väldigt bra menar du förslaget som Danne V hade?

Medlem sedan nov. 200013 890 inlägg
#10

altruism skrev:

Vad fungerar väldigt bra menar du förslaget som Danne V hade?

Ja, Dannes förslag fungerar utmärkt. Du skapar alltså en fil för varje språk så här:

sv.php skrev:

id1="Hej"
id2="Välkommen"
id3="Ja"

eng.php skrev:

id1="Hello"
id2="Welcome"
id3="Yes"

Sedan hämtar du en av filerna beroende på vilket språk besökaren valt.

Medlem sedan nov. 200664 inlägg
#11

Alltså blandar jag inte in databaser på något sätt? Om så är fallet hur är det då med uppdateringen av sidan? Som jag sa tidigare så skall företaget sedan kunna uppdatera sidan mha. php och formulär...

Medlem sedan aug. 20068 090 inlägg
#12

altruism skrev:

Alltså blandar jag inte in databaser på något sätt? Om så är fallet hur är det då med uppdateringen av sidan? Som jag sa tidigare så skall företaget sedan kunna uppdatera sidan mha. php och formulär...

Var du sparar språkversionerna spelar ju ingen roll, i en php-fil eller i en databas. Vill du spara i en php-fil så kan dom öppna och uppdatera filen i en textredigerare (typ WordPad eller vad det heter på Win) och ändra. Vill dom ha i en databas, så måste dom antingen ha ett snygg webbgränssnitt där dom kan skriva in varje id, eller gå in in databasen direkt (också med t.ex. WordPad eller nåt) eller via t.ex. phpMyAdmin.

Enklast och tjusigast om man vill ha så liten felrisk som möjligt är ju att skapa ett administratörsgränssnitt för databasen med fält för varje text-id, osv.

Medlem sedan nov. 2004438 inlägg
#13

Om det är en php-lösning du är ute efter så rekommenderar jag den här tråden:
http://www.webforum.nu/showthread.php?s=&threadid=65227
Om inte så får du iaf lite kött på benen - notera dessutom Web-Tors kommentar ang finska, det kan bokstavligen strula till den mest genomtänkta designen.. :)

Medlem sedan nov. 200664 inlägg
#14

Danne V skrev:

Var du sparar språkversionerna spelar ju ingen roll, i en php-fil eller i en databas. Vill du spara i en php-fil så kan dom öppna och uppdatera filen i en textredigerare (typ WordPad eller vad det heter på Win) och ändra. Vill dom ha i en databas, så måste dom antingen ha ett snygg webbgränssnitt där dom kan skriva in varje id, eller gå in in databasen direkt (också med t.ex. WordPad eller nåt) eller via t.ex. phpMyAdmin.

Enklast och tjusigast om man vill ha så liten felrisk som möjligt är ju att skapa ett administratörsgränssnitt för databasen med fält för varje text-id, osv.

Ja precis, men då kan jag spara det såhär i databasen?

tbl_indexpage_sv
----------------------------
id1     detta är rubriken
id2    detta är brödtexten
id3     detta är nyhet1
id4     detta är nyhet2

tbl_indexpage_en
----------------------------
id1     this is the headline
id2     this is the maintext
id3     this is news1
id4     this is news2

osv. Sen läser har man en phpfil till varje tabell så att säga? En sv.php som läser in tbl_indexpage_sv och en en.php som läser in tbl_indexpage_en

hltm skrev:

Om det är en php-lösning du är ute efter så rekommenderar jag den här tråden:
http://www.webforum.nu/showthread.php?s=&threadid=65227
Om inte så får du iaf lite kött på benen - notera dessutom Web-Tors kommentar ang finska, det kan bokstavligen strula till den mest genomtänkta designen.. :)

Nej det är en databasbaserad lösning jag är ute efter.

hehe. Jag har försökt anpassa menyer och sånt så dom inte ska bli för långa och sen har jag så att sidan utvidgar sig nedåt vid långa texter så att inget hamnar utanför divvarna. Den ska översättas till franska och det är ju ett ganska "långt språk" :)

Medlem sedan dec. 19996 721 inlägg
#15

altruism skrev:

Ja precis, men då kan jag spara det såhär i databasen?

tbl_indexpage_sv
----------------------------
id1     detta är rubriken
id2    detta är brödtexten
id3     detta är nyhet1
id4     detta är nyhet2

tbl_indexpage_en
----------------------------
id1     this is the headline
id2     this is the maintext
id3     this is news1
id4     this is news2

Det kan du, men det är betydligt enklare och flexiblare att lägga innehållet i en tabell. En tabell för alla sidor

tbl_pagelangcontent (contentid,lang,content)
----------------------------
1 SV    detta är rubriken
2 SV    detta är brödtexten
3 SV    detta är nyhet1
4 SV    detta är nyhet2
1 SV    this is the headline
2 SV    this is the maintext
3 SV    this is news1
4 SV    this is news2

..helst supportad av en eller två strukturtabeller

tbl_pages (pageid,pagename)
----------------------------
1 index
2 subpage
3 about

tbl_pagecontents (contentid,contentname,pageid)
----------------------------
1 headline 1
2 maintext 1
3 news1 1
4 news2 1
Medlem sedan nov. 200664 inlägg
#16

Okej tack! Nu känns det som jag har lite mer koll. Nu gäller det bara att förverkliga dom här idéerna till verklighet också. Kanske har jag tagit mig vatten över huvudet, men det är för sent att ångra sig nu och utmaningar gör väl bara att man lär sig nåt nytt antar jag. :)

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)