webForumDet fria alternativet

Struktur på språkdatabas.

4 svar · 671 visningar · startad av dMan

dManMedlem sedan juli 20092 inlägg
#1

Hej!

Mitt första inlägg här.:)

Håller på med en internationell sajt som ska ha flera språk tillgängliga (10+). Jag tänkte lagra alla ord i en databas (MySQL). Är lite osäker på hur jag ska lägga upp strukturen. Om man ska ha en eller flera tabeller osv..

Tänkte höra om det är någon här som har lite erfarenheter?

Tacksam för lite tips! (y)

Mvh
David

SPiNMedlem sedan mars 20007 896 inlägg
#2

Att tänka på: Många språk har bokstäver/tecken som inte kan presenteras i "default charset". Jag tänker främst på kinesiska (eller snarare asiatiska språk överlag) och t.ex. spanska. Spanskans ñ kan ställa till problem, har jag sett. MySQL har ju tyvärr ingen nvarchar-typ som t.ex. Oracle eller Ms SQL Server har - men jag har förstått det som att använda big5 som standardteckenuppsättning och sätta big5 som fältens teckenuppsättning kan du lagra de flesta texter i strängfälten. Jag vet att jag inte kommer med något konkret, men det är viktigt att tänka på sådant innan man sätter upp strukturen. I värsta fall kan det ju bli så att du får sätta upp olika tabeller med olika teckenuppsättning på.

prebenMedlem sedan mars 2009452 inlägg
#3

Välkommen till detta eminenta forum! :-)

***
Tips:
Lägg dig bekvämt till rätta på ett skönt ställe, typ i sängen eller i soffan, med en penna och block i handen. Sen ritar och tänker du hur du vill att resultatet -- RESULTATET -- av ditt arbete ska bli.

Vid denna typen av problem tänker man bäst off-line, så att säga. Inte vid datorn.

Det är lite svårt att med ditt korta inlägg bedöma din kompetens på området databasdesign. Men jag utgår från viss erfarenhet på området. Du känner till räknare och de olika fälten.

***
Ska du göra en sida på 10+ språk!? Då inkluderar detta även SEO på dessa olika språk...

Min rekommendation då är faktiskt att göra en separat webb på respektive språk.

domän.se
en.domän.se
fi.domän.se
ru.domän.se
osv...

Det är INTE den mest snabbjobbade varianten, men vad gäller SEO, vilket jag har skapligt bra koll på, är det helt klart det mest effektiva om EN domän har ETT språk. (I detta fallet räknas subdomän som en egen domän.)

Detta är vanligt:
domän.se/sv/
domän.se/ru/
domän.se/dk/
osv...

Men ut ett SEO-perspektiv är det värdelöst.
- För att man inte kan garantera att sökmotorn vet vilket språk hemsidan är på. Detta kan generera i dålig eller ingen indexering på något annat språk än ... ja, inte alla språk. Du vill ju ha likvärdig indexering på alla språk, fast på respektive språk!

***
Sökmotorer:
Google är ju stora i vår del av världen. Yahoo är stora i USA.
http://www.yandex.ru/ -- gäller i Ryssland och rysktalande delar av världen. (200 miljoner bara i Europa)
http://www.baidu.com/ -- gäller i Asien, i Kina. Troligen skapligt censurerad, men om du inte pysslar med militära angelägenheter, porr eller liknande, torde det inte vara ett problem.

http://www.bing.com/ -- Microsofts nya sökmotor. Kommer GARANTERAT ta marknadsandelar av folk som är datoranalfabeter, som bara tror att internet bor i datorn... dessa är skapligt många.

Sen finns det en drös av underdogs som gör allt i sin makt för att ta sin del av kakan och indexerar hela eller delar av internet på sitt eget vis. Det kan inte falla på ditt ansvar att hålla koll på alla dessa, vad dom gör och inte gör och hur dom indexerar och vad dom indexerar... med mera.

Olika specialsökmotorer för olika områden och för olika nischer är inte så stort i Sverige, men det är ju utomlands du vänder dig. Det är en STOR skillnad på USA och Sverige i detta avseendet.

***
Avslutningsvis:
Avstå frestelsen att lägga alla språk på samma domän! :-)

Försök också att, med detta inläggets hjälp, försöka förklara det för kunden, vilket kan vara nog så knepigt...

nitro2k01Medlem sedan aug. 20039 342 inlägg
#4

preben skrev:

- För att man inte kan garantera att sökmotorn vet vilket språk hemsidan är på. Detta kan generera i dålig eller ingen indexering på något annat språk än ... ja, inte alla språk. Du vill ju ha likvärdig indexering på alla språk, fast på respektive språk!

Jag kanske tänker fel, men borde det inte räcka att deklarera språket på alla sidor med lang="xxx" xml:lang="xxx" ?
Sen vet jag inte hur bra det är i övrigt, men den metoden borde lösa just det problemet åtminstone.

BrimbaMedlem sedan dec. 19995 875 inlägg
#5

dMan skrev:

Håller på med en internationell sajt som ska ha flera språk tillgängliga (10+). Jag tänkte lagra alla ord i en databas (MySQL). Är lite osäker på hur jag ska lägga upp strukturen. Om man ska ha en eller flera tabeller osv..

När det gäller ren översättning av texter så kan jag tycka att det räcker med en tabell. Alternativt en tabell till för kategorisering.
Det som jag tycker är svårt med flerspråkiga databaser är de gånger man har listor i sin databas. Om vi exempelvis en databas för bilar, så kanske man vill lista alla bilar i dropdown, dessa bilmärken kanske inte alls ligger i din språktabell utan i en helt egen bilmärkestabell. Mitt tips där får bli att du får koppla ihop din bilmärkestabell med din språktabell och i din bilmärkestabell lagra tillhörande nyckel från språktabellen.

nitro2k01 skrev:

Jag kanske tänker fel, men borde det inte räcka att deklarera språket på alla sidor med lang="xxx" xml:lang="xxx" ?
Sen vet jag inte hur bra det är i övrigt, men den metoden borde lösa just det problemet åtminstone.

Det kan mycket väl räcka, men exempelvis google använder sig av flera andra sätt att identifiera vilket land/språk en viss sajt tillhör.
Exempelvis
- ip-adress (och vilket land det är registrerat i)
- TLD (.se/.uk)
- google webmaster tools (inställningen man kan göra där)
- språket man anger att sidan är på via attribut

Se exempelvis dessa videos
http://www.youtube.com/watch?v=keIzr3eWK8I
http://www.youtube.com/watch?v=hXt23AXlJJU

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