ASP.NET Core Identity中ForgotPassword等页面的翻译位置咨询
解决ASP.NET Core Identity中缺失ForgotPassword和ResendEmailConfirmation页面的问题
别担心,这是很常见的情况——ASP.NET Core Identity默认是通过**Razor类库(Razor Class Library, RCL)提供这些UI页面的,所以它们不会直接出现在你的项目目录里,而是在幕后被引用。要修改(翻译)这些页面,你需要把它们scaffold(脚手架生成)**到本地项目中。
下面是具体的操作步骤:
方法1:使用Package Manager Console(Visual Studio内)
- 打开Visual Studio的「工具」→「NuGet包管理器」→「包管理器控制台」。
- 运行以下命令(记得把
YourDbContextClass替换成你项目中实际的Identity上下文类,比如ApplicationDbContext):
这个命令只会生成你需要的两个页面,避免生成多余文件。Scaffold-Identity -Context YourDbContextClass --files "Account.ForgotPassword,Account.ResendEmailConfirmation"
方法2:使用.NET CLI(跨平台)
如果你用的是Visual Studio Code或者其他编辑器,打开终端并运行:
dotnet aspnet-codegenerator identity -dc YourDbContextClass --files "Account.ForgotPassword,Account.ResendEmailConfirmation"
同样,替换YourDbContextClass为你的实际上下文类名。
后续操作
执行完命令后,你会在项目的Areas/Identity/Pages/Account目录下看到生成的ForgotPassword.cshtml和ResendEmailConfirmation.cshtml文件。现在你就可以打开这些文件,把里面的英文文本(比如"Forgot your password?")翻译成对应的波兰语了。
另外,你的Login.cshtml里的链接已经正确指向了这些页面,生成后链接就能正常工作啦。
内容的提问来源于stack exchange,提问作者Konstanty Martyniuk
相关产品推荐
相关产品推荐

