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å?
MeleaMedlem sedan juli 20033 147 inlägg 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å?
Danne VMedlem sedan aug. 20068 090 inlägg 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.
Web-TorMedlem sedan nov. 200013 890 inlägg
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.
Danne VMedlem sedan aug. 20068 090 inlägg
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..
Web-TorMedlem sedan nov. 200013 890 inlägg 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.
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?
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?
Web-TorMedlem sedan nov. 200013 890 inlägg
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.
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...
Danne VMedlem sedan aug. 20068 090 inlägg
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.
hltmMedlem sedan nov. 2004438 inlägg 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.. :)
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" :)
emissionMedlem sedan dec. 19996 721 inlägg
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
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. :)