.NET IDE智能提示漢化(.NET 6、ASPNETCore)
先上現成的.NET 6漢化檔案,可以手動下載下傳後參照 如何為 .NET 安裝本地化的 IntelliSense 檔案 進行安裝。或者使用後文的工具進行自動安裝。
- 無對照:https://files.cnblogs.com/files/blogs/708274/net6.0@[email protected]
- 英文在前:https://files.cnblogs.com/files/blogs/708274/net6.0@[email protected]
- 中文在前:https://files.cnblogs.com/files/blogs/708274/net6.0@[email protected]
漢化内容來自 官方線上文檔 ,某些内容可能存在明顯的機翻痕迹。
上一些效果圖:
.NET 6 之前的版本漢化
.NET 6 之前的版本,微軟官方提供了本地化包,可以在 Download localized .NET IntelliSense files 下載下傳到,安裝教程在 如何為 .NET 安裝本地化的 IntelliSense 檔案 。漢化内容包括NETStandard2.1、NETCore、WindowsDesktop。
.NET 6 的漢化
到目前為止官方并沒有提供 .NET 6 的本地化包。
官方文檔倉庫中有相關issue Need .net6.0 Localized IntelliSense Packs 。回答是不再提供本地化包了 - "Yes, unfortunately, we will no longer be localizing IntelliSense.",也沒有在這裡說明原因。
然而官方線上文檔卻是本地化了的,包括.net6的新API,如:System.DateOnly、System.TimeOnly 等。猜測可能是沒有人力進行本地化相關工作,使用了機翻,品質參差不齊,是以不再釋出本地化包了。
雖然有些翻譯品質差,但如果能夠直接在IDE中提示,也好過完全看不懂某些單詞的時候,也不用手動再去查一遍線上文檔。我們完全可以通過線上文檔來做一個本地化包,流程如下:檢視xml檔案->找到要本地化的項->檢視對應的線上文檔頁面->複制對應内容并粘貼回xml。
機械化的重複流程可以使用代碼來自動處理,并且還能生成 AspNetCore 的相關文檔。
- 生成邏輯:解析xml檔案->擷取其中成員->爬取對應文檔頁面->解析頁面->生成本地化xml
當然缺陷是明顯的 - 線上文檔頁面改版,就要重寫解析邏輯。這裡提供一個現成的生成工具。
本地化xml生成工具
工具以dotnet cli釋出,使用dotnet tool進行安裝
dotnet tool install -g islocalizer
.NET 6的漢化包已經有現成的了,可以直接進行安裝
islocalizer install auto -m net6.0 -l zh-cn
工具會自動從github下載下傳對應的包進行安裝(可能需要通路加速)。也可以通過-cc參數指定内容對照類型
- OriginFirst: 原始内容在前
- LocaleFirst: 本地化内容在前
- None: 沒有對照
islocalizer install auto -m net6.0 -l zh-cn -cc OriginFirst
自定義生成
如下示例生成.NET 6的原始内容在前的zh-cn本地化包,并使用 --------- 分隔原文和本地化内容,生成完成後的包路徑會輸出到控制台。
islocalizer build -m net6.0 -l zh-cn -cc OriginFirst -sl '---------'
可以通過 islocalizer build -h 檢視更多的建構參數資訊。
首次建構過程可能非常緩慢(需要爬取所有的頁面),相關檔案會被緩存(單zh-cn内容大小約3.5G),再次建構時會比較快;
安裝
islocalizer install {包路徑}
包路徑為build指令完成後輸出的路徑。
可以通過 islocalizer -h 檢視更多的指令幫助。
轉自:internalnet
連結:cnblogs.com/internalnet/p/16185298.html