我正在为 .NET Core 3.1 寻找一些工具/框架来简化我的 Web 应用程序的本地化。我想尽可能避免处理 .resx 文件。Westwind.Globalization 不错,但不支持 .NET Core 3.1 版本。有没有类似的东西或任何其他解决方案?
在网上搜索了很多。找不到。
我正在为 .NET Core 3.1 寻找一些工具/框架来简化我的 Web 应用程序的本地化。我想尽可能避免处理 .resx 文件。Westwind.Globalization 不错,但不支持 .NET Core 3.1 版本。有没有类似的东西或任何其他解决方案?
在网上搜索了很多。找不到。
如果您使用 ASP.NET Core,它具有这个新的 IStringLocalizer/IViewLocalizer 概念。您不再需要创建 .resx 文件,只需注入本地化界面,然后使用该界面翻译您的标记和代码。
<p>This is a sample</p>
变成
<p>@localizer["This is a sample"]</p>
您也可以在源代码中使用本地化程序。
要进行本地化,您仍然必须创建一个普通的本地化 .resx 文件。幸运的是,有一些工具可以为你做。
使用Soluling时,您只需选择 .csproj 文件。然后 Soluling 扫描您的代码(.cshtml 和 .cs 文件)以查找使用了本地化程序的实例。Soluling 提取字符串并向您(或您的翻译人员)显示用于翻译它们的用户界面。最后,它会创建本地化的 .resx 文件。你编译你的项目,它是多语言的。
从这里阅读更多信息。