ASP.NET本地化 - 国际资源字符串在哪里?

时间:2009-11-05 20:13:28

标签: asp.net localization

我刚刚开始研究一个新的国际项目。 ASPX页面标记中的所有字符串都是System.Web.UI.WebControls.Localize控件,带有“meta:resourcekey =”属性。在Web根目录中有App_LocalResources和App_GlobalResources,但所有资源文件中的字符串都是英文。

网站在哪里获得国际语言字符串?是否有一些内置的ASP.NET翻译器?我应该在哪里看到unicode外语字符?

3 个答案:

答案 0 :(得分:1)

没有内置翻译器。

您应该在App_LocalResources文件夹中看到每个.aspx页面的资源文件。对于每个.aspx文件,将有多个资源文件,每个文件对应一个文件名,如:

AddCustomer.aspx.resx
AddCustomer.aspx.fr.resx
AddCustomer.aspx.en-US.resx

等。每个文件都包含文件名中给出的文化的翻译。

答案 1 :(得分:0)

当您在设计视图中打开页面或用户控件时,可以选择本地化工具菜单(我认为)。这将在您当前工作的任何文件夹中创建一个App_LocalResources文件夹。根目录中的App_LocalResources将用于网站根目录中的页面。 App_GlobalResources适用于您的web.sitemap以及您希望在整个站点中使用的任何其他资源。

我在App_LocalResources中为每种语言设置了子文件夹。

例如,某些页面:

的Default.aspx Create.aspx View.aspx

- > App_LocalResources //文件夹

Default.aspx.resx //如果不满足浏览器的偏好,则会选择默认语言。 Create.aspx.resx View.aspx.resx

- > DE //德语的子文件夹

Default.aspx.de.resx Create.aspx.de.resx View.aspx.de.resx

- > FR //法语

的子文件夹

Default.aspx.fr.resx Create.aspx.fr.resx View.aspx.fr.resx

我从来没有做任何事情来指定一个特定国家的语言品牌(除了显示当前的情况)但是如果你需要奥地利德语,那么你可以这样做。

- > DE-AT //奥地利德语的子文件夹

Default.aspx.de-AT.resx Create.aspx.de-AT.resx View.aspx.de-AT.resx

答案 2 :(得分:0)

也可能已经创建了自定义资源提供程序(这是处理大型站点/程序时最好的事情)。有一个overview of resource providers here可以帮助您追踪如果无法找到resx文件会发生什么。