在剃须刀中显示另一种语言的html片段或脚本时,如何更改字符串或html片段的位置以适合该语言
例如:
“飞往安塔利亚的航班价格为39.99欧元起”
将更改为
“€39,99’danbaşlayanfiyatlarla Antalyauçuşları”
从土耳其语翻译成英语:他们的位置将会改变
答案 0 :(得分:2)
仅在相关资源文件中使用格式化的字符串:
resources.en.resx:
“飞往安塔利亚的机票价格从{0}起”
或resources.tr.resx:
“ {0}’danbaşlayanfiyatlarla Antalyauçuşları”
然后您可以使用默认的IStringLocalizer,如下所示:
_localizer["{0}’dan başlayan fiyatlarla Antalya uçuşları", price]
答案 1 :(得分:1)
我认为,您可以使用Culture和UICulture。每个请求都会在布局中设置语言。
Exp;
@{
Layout = "~/_Layout.cshtml";
if(!Request["lang"].IsEmpty()){
Culture = UICulture = Request["lang"];
}
}
依赖于语言的定义,以使用ToString(iformatter)。
Exp;
Currency: @(10000.ToString("c")
法则:£
EN适用:€
答案 2 :(得分:0)
我从某个地方找到
ClientResources.en.resx
可以从页面上的引用中获取实例
R = Settings.Resources!==未定义?设置资源:{},
您可以在需要时使用
if(totalPassengerCount> maximumPassengerCount){ alert(R.MaximumPassengerCount);
答案 3 :(得分:0)
您主要需要两件事:
CultureInfo.CurrentCulture
包含所需的语言+区域(也称为区域性)resx
)中读取翻译文本的方法例如,日期之类的东西会根据当前区域性自动格式化。
[这是有关使用AspNet Core Razor页面和/或MVC进行本地化的文章],以了解西班牙语的过程(https://sunnyatticsoftware.com/blog/webs-multilingue-localizacion-mvc-razor-pages)(希望您可以让浏览器以足够好的方式对其进行翻译) ,但最后显示了如何使用C#中的Razor Pages实现这一目标。