本地化的问题

本文关键字:问题 本地化 | 更新日期: 2023-09-27 18:11:32

我的网站有几个西班牙语、日语、法语和其他语言的表格。我不想使用资源文件,因为它会花费很多时间来手动更改。所以我可以取当前线程,取你正在使用的文化,如果它让我们说意大利语来执行查询,从适当的表中检索资源。是否有可能从后面的代码而不是资源文件本地化值?单独的资源文件意味着我们必须在不同的位置(使用不同的工具)更新(大量)翻译,这是不好的。

本地化的问题

我们使用了类似于您在大型ASP中描述的基于数据库的方法。. NET web应用程序,支持几种语言。

事实上,我们没有改变线程文化,我们有一个登录屏幕,用户可以选择语言,基于这个选择,我们有一个助手类,它"知道"当前语言,并总是检索该语言的值。

根据代码的变化,我们在所有的web表单中都有一个叫做initUITexts的方法,它简单地做了如下的事情:

label1.Text = LanguageHelper.GetText("PageName.label1.Text");
label2.Text = LanguageHelper.GetText("PageName.label2.Text");
button1.Text = LanguageHelper.GetText("PageName.button1.Text");

这可能不是最好的或唯一的方法,但它对我们来说工作得很好,所有的查询逻辑都封装在LanguageHelper中。