Classic-Asp的多语言支持

时间:2009-12-23 00:20:33

标签: asp-classic localization

我想将我的网页翻译成7种不同的语言,我很好奇处理这个问题的最佳方法是什么?

我知道这个主题多次开放,但我没有得到合理的答案。 实际上,所有主题都是关于php和gettext的,但我使用的是经典的asp(vbscript)。

我现在使用的方法是;

我有en.asptr.asp,其中包含

lang_home="Home Page"lang_home="Ana Sayfa"

在我的网页中,我将其显示为<%=lang_home%>。我不想使用大量的手镯因为我认为它们减慢了我的网站。

埃文,我以为<%=GetTranslatedText(lang_home)%>

我需要知道的是什么是asp的多语言网站的最佳方法,是否有像gettext for asp这样的解决方案?

提前致谢。

1 个答案:

答案 0 :(得分:1)

在ASP中,只有两种方法可以将动态文本发送到浏览器:

  1. 使用Response.Write调用
  2. 编写整个HTML页面
  3. 在其他静态HTML中嵌入式调用Response.Write。
  4. 我认为你正走在正确的道路上,平衡了使用易于编辑的HTML代码以及快速查找和替换特定于语言的字符串的需求。至少比一堆SELECT CASE语句更快,或者对Collection进行查找。

    (如果性能真的是一个问题,为什么不转移到ASP.NET?)

    另一个选择是预编译您的ASP页面...保留一个模板,比如“default.asp.template”,其中包含变量,单独的语言文件(就像您现在所拥有的),还有一些代码可以生成每次更改模板时,“default-en.asp”,“default-en.asp”等。然后,将“default.asp”设置为根据用户语言简单而无声地将执行转移到正确的页面。

    我用于预编译ASP页面的优秀(但商业)应用程序是WebGecko APGen(http://www.webgecko.com/)。