我想咨询我做的事情。
我的网站有3种语言。希伯来语(主要),英语和俄语。我正在使用一个数据库,其表格包含以下字段: ID,fieldName,1,2,3 。其中1 2 3是语言。
一旦输入网站语言1(希伯来语)将自动选择,直到您选择另一个。并保存为session("currentLanguage")
。
我写了一个函数 langstirng ,它接收一个字段名称并根据session("currentLanguage")
中的语言输出值:
Dim languageStrings
Set languageStrings = Server.CreateObject("ADODB.Recordset")
languageStrings.ActiveConnection = MM_KerenDB_STRING
languageStrings.Source = "SELECT fieldName,"¤t_Language&"FROM Multilangual"
languageStrings.CursorType = 0
languageStrings.CursorLocation = 2
languageStrings.LockType = 1
languageStrings.Open()
sub langstring(fieldName)
do while NOT(languageStrings.EOF)
if (languageStrings.fields.item("fieldName").value = fieldName) then
exit do
else
languageStrings.movenext
end if
loop
if (languageStrings.EOF) then
response.Write("***"&fieldName&"***")
else
response.Write(languageStrings.fields.item(currentLanguage+1).value)
end if
languageStrings.movefirst
end sub
我这样使用它:<div>langstring("header")</div>
。
我发现在任何页面上不断向服务器发送查询都是愚蠢的。由于多语言表不会改变“那个”,我常常想以某种方式保存当前浏览的记录集。
我正在寻找这个解决方案的帮助,请。
答案 0 :(得分:1)
答案 1 :(得分:0)
另一种选择是,如果您希望将语言存储在单独的表中,然后使用join语句根据语言设置的cookie或会话提取该信息。
然后你永远不必检查语言并创建组合框,就像你只有一个html组合框,其中包含表格中该语言唯一ID的值。