Kom ihåg mig?
Home Menu

Menu


Finns det bra metoder för flerspråkig site?

 
Ämnesverktyg Visningsalternativ
Oläst 2007-10-09, 14:56 #1
totoos avatar
totoo totoo är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Nov 2006
Inlägg: 730
totoo totoo är inte uppkopplad
Mycket flitig postare
totoos avatar
 
Reg.datum: Nov 2006
Inlägg: 730
Jag har gjort flerspråkiga siter förr, men jag har aldrig kommit fram till någon bra struktur.
Finns det överhuvudtaget någon klockren lösning för flerspråkiga siter?

Jag har spånat lite på tekniker man kan använda (jag tar gärna emot förslag på fler, samt fler åsikter kring dem) samt hur man använder tekniken...

TEKNIK 1: Helt (100%) skilda filer (flera webbplatser)
FÖRDELAR
Du kan ha helt olika upplägg på de olika webbplatserna utan att behöva designa till fördel för ett visst sprk.

NACKDELAR
Det finns risk för en del dubbelarbete för kod som annars skulle vara gemensam.


TEKNIK 2: All content är dynamisk och läses in från db (t.ex. INDEX,SV och INDEX,EN)
Förtydligande: Denna teknik används ju även för att t.ex. få fram nyheter och blogginlägg på rätt språk... (select * from blogg where lang='en')
FÖRDELAR
Bara en webbplats om man ser det till filstruktur.

NACKDELAR
Denna teknik fungerar bra för content, men inte för materialet utanför (t.ex. om man har en meny som behöver översättas). Därför bör den kombineras med exempelvis teknik 3.

TEKNIK 3: Anropa texter via konstanter - som man byter ut dynamiskt
Exempel: T.ex. ha en sv.php och en.php med en massa konstanter i stil med define("MAIN_MENU", "Huvudmeny").

FÖRDELAR
Det fungerar bra för enskilda ord och korta texter
Ganska smidigt med alla ord samlade i en fil (den typiska fördelen med konstanter)

NACKDELAR
Fungerar inte speciellt bra på content, det blir lite för massivt.
Fungerar i allmänhet bara bra på statiskt material, så den måste kombinerad med annan teknik.

TEKNIK 4: Ifsatser i varje php-fil som skriver ut material enligt språkval
Exempel:

if($lang == "en")
echo("Welcome to my site");
else if($lang == "sv")
echo("Välkommen till min webbplats");
else ......

FÖRDELAR
Du har content på alla språk i rätt fil. Det är lätt att hålla ordning och översikten tenderar att bli bra.

NACKDELAR
Fungerar ju förståss bara bra för statisk content


SLUTSATS
Efter att ha klurat i ett par timmar så är det väl ovanstående tekniker som gäller för en flerspråkig site. Antingen alla tillammans eller några av dem (alternativt ettan enskilt, men det känns orealistiskt för en stor dynamisk site).

Är det någon som känner sig riktigt bra på att ta fram flerspråkiga siter som kan presentera en metod som verkligen känns bekväm att jobba med, både i stora och medelstora projekt.

Jag själv är inne på att använda teknik 2 för nyheter, artiklar och andra element som hämtas dynamiskt.
Använda teknik 3 för enskilda och korta texter, t.ex. huvudrubrik, menyrubrik etc.

Sist men inte minst använda teknik 4 på statisk content.
Just nu ser min struktur ut såhär inuti en php-fil (exempel):

-foretaget.php- (tar get-parameter för nästa nivå)

if($param == "foretagshistoria")
{
echo("all text om företagets historia");
}
else if($param == "personal")
{
echo("all text om personalen");
}

Och om man nu kombinerar det där med teknik 4 så får man alltså duplicera alla ifsatser och anpassa dem efter språk. Eventuellt sätter man dessa ifsatser inuti en if($lang == "sv") och sedan kommer en för engelska, och alla ifsatser på nytt. Alternativt blandar man, så att varje text ligger tillsammans med sina översättningar, det kanske är smidigast att arbeta med.


Sååå, är det någon som har några spännande förslag och erfarenheter att dela med sig av?
totoo är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 23:02.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017