Hov. Du er ikke logget ind.
DU SKAL VÆRE LOGGET IND, FOR AT INTERAGERE PÅ DENNE SIDE

2 sprog på hjemmesiden??

Side 1 ud af 1 (9 indlæg)
  • 1
Tilmeldt 5. Jan 07
Indlæg ialt: 6
Skrevet kl. 14:47
Hvor mange stjerner giver du? :
Hej alle Amino brugere, og rigtig godt nytår...

 

Jeg har fulgt lidt med her på siden, men nu står jeg og mangler et par råd.

Jeg er sammen med en kammerat ved at opstarte en hjemmeside med salg af online annoncer. Vi vil meget gerne have hjemmesiden på 2 sprog og dermed også annoncerne (med tiden flere sprog). Annoncerne bliver jo selvsagt hentet ud af min database og det er intet problem for mig, nu hvor siden kun er på dansk. Mit spørgsmål er så:

 

Hvordan laver jeg det så annoncerne bliver vist på engelsk på den engelske del af hjemmesiden? Det betyder selvfølgeligt at vi selv skal oversætte annoncerne fra dansk, men vi kan jo ikke bare oversætte dem i databasen for så er de jo ikke danske på den danske del mere.

Skal jeg arbejde med flere databaser, eller lave flere tables i databasen afhængigt af hvor jeg arbejder fra?

Andre forslag??

 

På forhånd tak for hjælpen)

Fra Roskilde
Tilmeldt 30. Jul 06
Indlæg ialt: 2298
Skrevet kl. 15:58
Hvor mange stjerner giver du? :
Jeg anbefaler følgende:

Du laver en tabel der hedder "AnnonceTekster"

 

Den skal have følgende kolonner:

    AnnonceId    Integer

    Sprog          text(5)

    AnnonceText     memo/ntext/nvarchar

Du kan så hive teksten ud med SQL''en:

SELECT AnnonceText FROM AnnonceTekster WHERE AnnonceId = <ID> AND Language = ''en''

Således behøver du ikke at rode med databasen hver gang du får et nyt sprog til, men gemmer blot med en ny sprogkode.

 

Tilmeldt 5. Jan 07
Indlæg ialt: 6
Skrevet kl. 18:56
Hvor mange stjerner giver du? :
Mange tak skal du have.

 

Men er det også muligt når den samme annonce tekst skal være på flere sprog. Så ville jeg ummidelbart sige at de skulle have samme ID, men det er jo ikke muligt. Eller har jeg forstået det forkert?

Fra Horsens
Tilmeldt 29. Mar 05
Indlæg ialt: 626
Skrevet kl. 19:13
Hvor mange stjerner giver du? :
Dato: 05-01-2007 18:55:31
Forfatter: MK
Så ville jeg ummidelbart sige at de skulle have samme ID, men det er jo ikke muligt. Eller har jeg forstået det forkert?



Ved ovenstående løsningen skal de have samme id.

Udover det skal du enten have en kolonne med en unik nøgle, eller evt. sammensætte en nøgle af AnnonceID og Sprog.

Alt om både i Danmark

Tilmeldt 5. Jan 07
Indlæg ialt: 6
Skrevet kl. 12:19
Hvor mange stjerner giver du? :
Hej Bjarne

 

Mange tak. Så giver det mening

Fra Roskilde
Tilmeldt 30. Jul 06
Indlæg ialt: 2298
Skrevet kl. 20:42
Hvor mange stjerner giver du? :
Bjarne kom mig i forkøbet, men han har helt ret. Selv vil jeg foretrække at tilføje en kolonne med et unikt id.

Hvis du er lidt forudseende kan du benytte tabellen mere generelt til mange forskellige sprogversionerede tekster - ikke kun annonceteksterne. Men det kommer jo meget an på dine konkrete behov.

Tilmeldt 30. Oct 06
Indlæg ialt: 588
Fra  dk Skrevet kl. 14:47
Hvor mange stjerner giver du? :
Den foreslåede løsning er fin nok, til mindre/mellemstore hjemmesider. Og det kommer også lidt an på hvor meget tekst der skal hentes ud.

 

Jeg har lavet et par hjemmesider i tidens løb der også skulle have flere sprog. Og den mest optimale løsning er at bruge tekst filer, som man kan include på siden.

Det kræver også lidt programmeringsarbejde at lave en administrationsdel til dem, så man ikke skal ind manuelt og tilføje til tekstfilen.

 

Et hurtigt eksempel:

En side indholder teksten "velkommen".

 

I stedet for skriver du:

En side indholder teksten "$welcome"

 

Øverst på den side laver du include afhængig af hvilket sprog der skal vises:

include("lang-dk.php");

eller:

include("lang-eng.php");

 

Den danske fil indeholder:

$welcome = "velkommen";

den engelske:

$welcome = "welcome";

 

Det samme gør man så med al tekst på siden.

 

På den måde slipper man også for at lave to komplette hjemmesider bare med forskelligt sprog, og man slipper for at have et stort antal sql kald til at hente teksten ud. Det giver nemmere opdatering, som man bliver rigtig glad for senere hen når noget skal rettes.

Fra Roskilde
Tilmeldt 30. Jul 06
Indlæg ialt: 2298
Skrevet kl. 12:32
Hvor mange stjerner giver du? :
På den måde slipper man også for at lave to komplette hjemmesider bare med forskelligt sprog

Dette er nu heller ikke tilfældet med sql løsningen. Det er korrekt at uden ekstra tiltage vil databasen nok komme på overarbejde, og det kan gå ud over hvor hurtigt siderne kan genereres.

Generelt bryder jeg mig ikke så meget om "Hvis jeg skal tilføje ekstra data, skal jeg ændre i sourcekoden". Som i Mads'' forslag. Hvis man som udgangspunkt har sine data liggende i en database, er der to oplagte måder at optimere performance på:

1) Cache teksterne i memory, så man slår op i cachen først inden man spørger i databasen.

2) Man kan også lave et job der automatisk genererer fx. lang-eng.php som beskrevet nedenunder, ud fra de data der til hver en tid ligger i sql serveren. Dette tillader at man laver et webinterface til opdateringer, istedet for at skulle oploade php filer til webhotellet. (kræver man har skriverettigheder hvor include filerne ligger).

/Jesper

Tilmeldt 30. Oct 06
Indlæg ialt: 588
Fra  dk Skrevet kl. 01:08
Hvor mange stjerner giver du? :
Dato: 14-01-2007 12:31:49 Forfatter: Mads Jensen


Det kræver også lidt programmeringsarbejde at lave en administrationsdel til dem, så man ikke skal ind manuelt og tilføje til tekstfilen.




 



Jeg er enig ;)



Side 1 ud af 1 (9 indlæg)