[英]Asp.net core Localization in Razor Pages
在 razor 中以另一种语言显示 html 片段或脚本时,如何更改字符串或 html 片段的位置以适合该语言
例如:
“飞往安塔利亚的机票价格为 39.99 欧元起”
将更改为
"€39,99'dan başlayan fiyatlarla Antalya uçuşları"
从土耳其语翻译成英语:他们的立场会改变
只需在相关资源文件中使用格式化字符串:
资源.en.resx:
“飞往安塔利亚的机票价格从 {0} 起”
或 resources.tr.resx:
“{0}'dan başlayan fiyatlarla Antalya uçuşları”
然后你可以使用默认的 IStringLocalizer 如下:
_localizer["{0}’dan başlayan fiyatlarla Antalya uçuşları", price]
我从某处找到
ClientResources.en.resx
在您可以从页面上的参考中获取实例之后
R = Settings.Resources !== undefined ? 设置.资源:{},
您可以在需要时使用
if (totalPassengerCount > maximumPassengerCount) { alert(R.MaximumPassengerCount);
我认为,您可以使用 Culture 和 UICulture。 每个请求都在布局中设置语言。
经验;
@{
Layout = "~/_Layout.cshtml";
if(!Request["lang"].IsEmpty()){
Culture = UICulture = Request["lang"];
}
}
语言相关定义使用 ToString(iformatter)。
经验;
Currency: @(10000.ToString("c")
FR 对于: £
CN 对于: €
你主要需要两件事:
CultureInfo.CurrentCulture
包含所需的语言 + 区域(又名文化)resx
) 读取翻译文本的方法例如,日期之类的东西会根据当前的文化自动格式化。
[这是一篇关于使用 AspNet Core Razor Pages 和/或 MVC 进行本地化的文章]了解这个过程( https://sunnyatticsoftware.com/blog/webs-multilingue-localizacion-mvc-razor-pages )它是西班牙语的(希望您可以让浏览器以足够好的方式翻译它),但最后它展示了如何使用 C# 中的 Razor Pages 实现这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.