我刚刚开始研究一个新的国际项目。 ASPX页面标记中的所有字符串都是System.Web.UI.WebControls.Localize控件,带有“meta:resourcekey =”属性。在Web根目录中有App_LocalResources和App_GlobalResources,但所有资源文件中的字符串都是英文。
网站在哪里获得国际语言字符串?是否有一些内置的ASP.NET翻译器?我应该在哪里看到unicode外语字符?
答案 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文件会发生什么。