Jag har en sida som visar svenska ord ur en databas (stor) och vill översätta dessa till engelska vid visning på webben, Första frågan är om du verkligen måste lägga den i urlen - men det finns säkert en anledning till det. Som svar på din andra fråga borde du istället skicka med något id - exempelvis att just bkäckpatron = 32 och då fråga select * from tabell where kategori=32, om jag nu inte missuppfattat dig. Vad har sidan för funktion? Är det typ ett lexekon för mer än ett språk? Hur ser din datastruktur ut? Så kan du göra: Tackar för svaren! Jag tycker du går tillväga på fel sätt. Istället för att översätta, lagra produktnamn för varje språk: Tyvärr blir databasen enorm i det fallet med tanke på att det är strax över 30.000 produkter. Är produktnamnet fast? Borde du inte kunna "skapa" ett produktnamn: Öhh nu förstog jag inte? Ett sätt, förutsätter att översättningarna finns i en hashtabell och att man bryter vid " ".Översätta ord i querystring?
Jag har tänkt mig nåt liknande det här
Om svensktord Bläckpatron returneras i frågan till databasen skall ordet visas som Inkcartridge på webbsidan,
Jag tror frågan måste bli ung.
If "bläckpatron" in Request.QueryString("KATEGORI") then bläckpatron = Inkcartridge
men detta är bara en vild gissning.
eller typ:
om request.querystring("KATEGORI")value = bläckpatron then value = Inkcartridge
Kan nån vänlig själ ge mig en hint om detta
TPFH
PeterSv: Översätta ord i querystring?
Sv: Översätta ord i querystring?
Sv: Översätta ord i querystring?
strCategory = Request.QueryString("KATEGORI")
If strCategory = "bläckpatron" Then strCategory = "ink cartridge"Sv: Översätta ord i querystring?
Det var den sista koden jag var ute efter.
Kan man förfina den ytterligare? jag tänker på om strCategory innehåller fler än ett ord t.ex
bläckpatron svart 42ml men jag vill bara selectera ett ord?
Tack på förhand
Som svar på de andra frågorna, nej det är inget lexicon, det är vår webbshop som skall bli internationell
Så tack allihopaSv: Översätta ord i querystring?
Tabell: tblProducts
Fält: tblProductId
Fält: tblProductCode
Fält: tblProductSize
Fält: tblProductUnit
Fält: tblProductPrice
Fält: tblProductManufacture
Osv...
Fält: tblProductNames
Fält: tblProductNameId -> tblProducts.tblProductId
Fält: tblProductNameLanguage
Fält: tblProductNameName
tblProducts
------------------------------------
tblProductId, tblProductCode, tblProductSize, tblProductUnit, tblProductPrice, tblProductManufacture
1, HP001, 42, "ml", 299, "HP"
2, HP002, 42, "ml", 399, "HP"
tblProductNames
------------------------------------
tblProductNameId, tblProductNameLanguage, tblProductNameName
1, "SE", "bläckpatron svart 42ml"
1, "EN", "inc cartridge black 42ml"
2, "SE", "bläckpatron färg 42ml"
2, "EN", "inc cartridge color 42ml"Sv: Översätta ord i querystring?
Sv: Översätta ord i querystring?
<Toner/Bläck> <färg> <storlek>
I vilket fall tycker jag det är fel att hårdkoda översättningen. Du kan lagra översättnings termer i en databas. Plocka ut orden med regexp och sedan slå upp dem.
Tycker i alla fall jag. Sv: Översätta ord i querystring?
Ett artikelnamn kan se ut så här:
Bläckpatron Svart 42ml
Nästa
Bläckpatron Svart 15ml
Nästa
Bläckpatron 3-färg
Nästa
Bläckpatron 5-färg
osv.
Jag vill alltså plocka ur t.ex enbart "Bläckpatron" ur recordsettet och ersätta med ett "nytt ord"
Detta med regexpr har jag aldrig sysslat med så det är rena indiskan för mig
Tack så längeSv: Översätta ord i querystring?
function translate(ToBeTranslated as string) as string
Dim name() As String = ToBeTranslated.Split(" ")
Dim result as string
Dm space as string = ""
for each tmp as string in name
if htTranslated.contains(tmp) then
result += space & htTranslated(tmp)
space = " "
else
result += space & tmp
space = " "
end if
next
end function
Nu borde du ha tillräckligt för att göra en halvtaskig lösning. Det bästa hade varit att översätta produktnamnen i databasen, att det finns 30 000 produkter gör det inte till en enorm databas på något sätt.