[Database General] Veld in meerdere talen.

Pagina: 1
Acties:

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
Graag even jullie mening over een database structuur die voor een boel velden in 2 talen moet.

Ik was van Title_En, Title_Fr te doen. Maar erg proper vind ik dat niet. Wel snel om te retrieven natuurlijk.

Anders een soort van lookup per taal

Title [FK]

andere tabel:

content:
[K] (non unique)
[Taal] Nl / Fr (natuurlijk met nummer en indexed)
Text.

Maar dan moet ik voor elk veldje een lookup doen en wat als ik er dan meerdere in 1 keer terug wil?. (voor elke taal een tabel? -> maar hoe hou je de indexen dan synced).

Voor google vond ik niet de juiste trefwoorden.

Zijn hiervoor standaard oplossingen of zijn de meningen daar ook over verspreid?

  • Martin Sturm
  • Registratie: December 1999
  • Laatst online: 30-04 16:11
Ik weet niet precies om wat voor data het gaat (dat is eigenlijk wel essentieel, wat meer info), maar ik kan me voorstellen dat het ook mogelijk is om gewoon een db-structuur te ontwerpen en dan bij tabellen een extra veld 'language' ofzo toe te voegen.

  • ATS
  • Registratie: September 2001
  • Laatst online: 12-02 13:46

ATS

De tweede oplossing is bijna goed. Maak een tabel met een contentID en een taalID, en maak van de combinatie hiervan de PK (een key over meer dan één veld dus).

My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
content: gewoon wat tekst, kan some html 'achtig' zijn.

hmm die PK die across 2 velden gaat is dat wel mogelijk met zoiets als MySQL? En als je nou

Project A wil opvragen waardat er 10 dingen zijn met een bepaalde taal?

je kan toch geen 10 lookups in 1 maal doen?:

Stel project A, bestaat uit content-ids. 10,20,50. + nog iets van zichzelf.

nu wil ik alles van A

Select Project.id, ???? Name From Project Inner Join Content. ????

edit:
Mijn 'systeem' is tamelijk dataaware (ie het stelt de queries zelf op) dus ben nu aan het zien of ik niet per 'multilanguage veld' een soort van replace kan doen met de taal. zo kan ik later ook zonder issues meerdere talen bijvoegen. Maar woyu het puur in SQL oplossen eigenklijk

[ Voor 26% gewijzigd door hobbit_be op 05-03-2004 17:54 ]


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Hm... ik snap het probleem niet zo erg geloof ik.

Wat ik altijd doe met multilingual websites is het volgende (bijvoorbeeld pagina's)

tabel page
page_id (PK, autoinc)
name (intern gebruikte naam in CMS enzo)

tabel page_language
page_id (PK)
language_id (PK)
title
content

tabel language
language_id (PK, autoinc)
locale
name

Dan is het toch heel eenvoudig om met een INNER JOIN (waarin je zowel de language_id=... als de page.page_id=page_language.page_id clause opneemt) de juiste zooi in de goede taal te querien?

Later talen toevoegen is dan geen enkel probleem. Zelfs het per taal andere pagina's opgeven is dan geen probleem, want door de INNER JOIN verplicht je data in de page_language tabel aanwezig te zijn om in die taal weer te kunnen geven. Anders geeft de query geen resultaat terug.

Of begrijp ik je niet?

[ Voor 23% gewijzigd door drm op 05-03-2004 18:07 ]

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
drm: ok dus jij maakt per 'page' dus per taal 1 row in page_language? daar had ik nog niet aan gedacht.
dan gooi je de language specific 'zooi' dus in een tweede tabel .

argh lijkt me ideaal.

alleen jammer dat in de editor hij ook de twee talen zal moeten hebben wordt me net gebrieft. Dan zou ik dus zonder de language id moet linken en krijgt ie dus per object x-aantal (waardat x het aantal used talen is) en dan heb ik dus dubbel/triple-x rows.

maar je begreep me goed, alleen het editor probleem wordt dan "vree" moeilijk. ;)

edit:
tenzij ik natuurlijk alleen in de editor eerst vraag naar de taal zooi en die apart zet.

[ Voor 12% gewijzigd door hobbit_be op 05-03-2004 18:32 ]

Pagina: 1