【发布时间】:2014-06-21 11:46:50
【问题描述】:
我目前正在考虑本地化一个用 C#.NET 4.5.1 编写的 ASP.NET 网站。现在我知道了本地资源文件和全局资源文件,但是我想更清楚地了解人们如何做这件事以使其更实用,因为我发现创建一个或多个本地资源并不是特别好每个网页的文件。
例如,该站点有 100 多个 .aspx 网页。对于我需要支持的每种语言,我都需要创建一个单独的 .resx 文件。所以我的主页支持英语、法语和德语看起来像这样:
default.aspx.resx
default.aspx.fr.resx
default.aspx.de.resx
制作所有这些文件将是一项艰巨的任务。我正在考虑的是为什么我不能只为我的所有页面使用全局资源文件?如果我用页面名称和文本描述适当地为每个资源添加前缀,这肯定是管理页面本地化维护的一种稍微简单的方法。
例如,我的英文全球资源文件将包含:
Default-TitleText - My Web Page Title
Default-BodyText - This is some example text for the body of my home page.
Login-TitleText - Enter your login details:
Login-UsernameText - Username
Login-PasswordText - Password
Login-SubmitButton - Login
User-Default-TitleText - Welcome to your personal page.
User-Default-Username - Hello {0}
User-Default-Logout - Click here to logout
如您所见,我会在资源键前面加上页面名称和文本描述。对于子目录中的文件,我只需在页面名称前加上目录名称(即用户默认注销)。
对我来说,这是一个更简单的解决方案。是的,文件会变得很大,但所有内容都位于一个位置。
我想就其他人实际做了什么以及这是否是一个实用的想法获得一些反馈。
【问题讨论】:
标签: c# asp.net webforms localization resx