.Net IDE智慧提示漢化(.Net6、AspNetCore)

internalnet發表於2022-04-24

.Net IDE智慧提示漢化(.Net6、AspNetCore)

先上現成的.net6漢化檔案,可以手動下載後參照 如何為 .NET 安裝本地化的 IntelliSense 檔案 進行安裝。或者使用後文的工具進行自動安裝。

漢化內容來自 官方線上文件 ,某些內容可能存在明顯的機翻痕跡。

上一些效果圖:

.Net6 之前的版本漢化

.net6 之前的版本,微軟官方提供了本地化包,可以在 Download localized .NET IntelliSense files 下載到,安裝教程在 如何為 .NET 安裝本地化的 IntelliSense 檔案 。漢化內容包括NETStandard2.1NETCoreWindowsDesktop

.Net6 的漢化

到目前為止官方並沒有提供 .net6 的本地化包。

官方文件倉庫中有相關issue Need .net6.0 Localized IntelliSense Packs 。回答是不再提供本地化包了 - "Yes, unfortunately, we will no longer be localizing IntelliSense.",也沒有在這裡說明原因。

Yes, unfortunately, we will no longer be localizing IntelliSense.

然而官方線上文件卻是本地化了的,包括.net6的新API,如:System.DateOnlySystem.TimeOnly 等。猜測可能是沒有人力進行本地化相關工作,使用了機翻,質量參差不齊,所以不再發布本地化包了。

本主題的部分內容可能是由機器翻譯

雖然有些翻譯質量差,但如果能夠直接在IDE中提示,也好過完全看不懂某些單詞的時候,也不用手動再去查一遍線上文件。我們完全可以通過線上文件來做一個本地化包,流程如下:檢視xml檔案->找到要本地化的項->檢視對應的線上文件頁面->複製對應內容並貼上回xml。

機械化的重複流程可以使用程式碼來自動處理,並且還能生成 AspNetCore 的相關文件。

  • 生成邏輯:解析xml檔案->獲取其中成員->爬取對應文件頁面->解析頁面->生成本地化xml

當然缺陷是明顯的 - 線上文件頁面改版,就要重寫解析邏輯。這裡提供一個現成的生成工具。

本地化xml生成工具

工具以dotnet cli釋出,使用dotnet tool進行安裝

dotnet tool install -g islocalizer

.net6的漢化包已經有現成的了,可以直接進行安裝

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

自定義生成

如下示例生成.net6的原始內容在前的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 檢視更多的命令幫助。

相關文章