新聞中心
本文轉(zhuǎn)載自微信公眾號「鵬祥」,作者AZRNG。轉(zhuǎn)載本文請聯(lián)系鵬祥公眾號。

望江ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
開篇語
首先非常感謝各位朋友或技術(shù)愛好者的關(guān)注。
介紹
支持多語言使網(wǎng)站可以覆蓋更廣泛的受眾。ASP.NET Core 提供的服務(wù)和中間件可將網(wǎng)站本地化為不同的語言。
本次示例環(huán)境:vs2019、net5
配置
無需引用Nuget包即可實(shí)現(xiàn)以下功能。
注入容器
- services.AddLocalization(t =>
- {
- t.ResourcesPath = "Language";
- });
啟用配置
- var supportedCultures = new List
() - {
- new CultureInfo("zh-CN"),
- new CultureInfo("en-US")
- };
- app.UseRequestLocalization(new RequestLocalizationOptions
- {
- //這里指定默認(rèn)語言包
- DefaultRequestCulture = new RequestCulture("en-US"),//為了測試配置默認(rèn)語言英文
- SupportedCultures = supportedCultures,
- SupportedUICultures = supportedCultures
- });
語言配置文件
需要在根目錄新建一個文件夾,文件夾名字就是ResourcesPath的名字。資源文件(resx結(jié)尾)存放路徑需要和使用的地方目錄結(jié)構(gòu)一致。(右鍵文件夾>添加>新建項(xiàng))
image.png
語言包下的目錄結(jié)構(gòu)和MVC對應(yīng),控制器對應(yīng)控制器,視圖對應(yīng)視圖。資源文件命名方式為使用文件的文件名稱加上語言代碼。
image.png
讀取資源文件
在控制器中使用,依賴注入資源文件
- [ApiController]
- [Route("[controller]")]
- public class HomeController : ControllerBase
- {
- private readonly IStringLocalizer
_localizer; - public HomeController(IStringLocalizer
localizer) - {
- _localizer = localizer;
- }
- [HttpGet]
- public string Get()
- {
- return _localizer["succeed"].Value;//如果找不到succeed的本地化值,那么就返回字符串“succeed”
- }
- }
測試
有多種方法可以告訴程序需要使用哪一個語言文件,下面只說常見的使用,還支持自定義 。
默認(rèn)輸出
image.png
HTTP報(bào)文
和常見的請求一樣添加Accept-Language請求頭即可
- Accept-Language:zh-CN
image.png
Cookie
默認(rèn)使用cookie名稱.AspNetCore.Culture,值是
- c=zh-CN|uic=zh-CN
- c=zh-CN
- uic=zh-CN
c是Culture,uic是UICulture
URL參數(shù)
三種寫法,效果一樣
- ?culture=zh-CN&ui-culture=zh-CN
- ?culture=zh-CN
- ?ui-culture=zh-CN
image.png
參考文檔
https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/localization?view=aspnetcore-5.0
網(wǎng)站欄目:一文教會你.Net之多語言配置
網(wǎng)站網(wǎng)址:http://fisionsoft.com.cn/article/cdgeeeh.html


咨詢
建站咨詢
