繁体   English   中英

Razor Pages 中的 Asp.net 核心本地化

[英]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 对于: €

你主要需要两件事:

  1. 一种在 http 请求中设置用户当前文化的自动化方法,以便CultureInfo.CurrentCulture包含所需的语言 + 区域(又名文化)
  2. 根据指定的区域性从资源文件 ( 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM