OpenCC 0.1.2
dotnet add package OpenCC --version 0.1.2
NuGet\Install-Package OpenCC -Version 0.1.2
<PackageReference Include="OpenCC" Version="0.1.2" />
<PackageVersion Include="OpenCC" Version="0.1.2" />
<PackageReference Include="OpenCC" />
paket add OpenCC --version 0.1.2
#r "nuget: OpenCC, 0.1.2"
#:package OpenCC@0.1.2
#addin nuget:?package=OpenCC&version=0.1.2
#tool nuget:?package=OpenCC&version=0.1.2
OpenCC for C#
純 C# 版本的 OpenCC 函式庫,無任何 NuGet 套件依賴。
安裝
dotnet add package OpenCC
專案結構
src/OpenCC/:函式庫原始碼tests/OpenCC.Tests/:xUnit 單元測試examples/:完整使用者範例與逐一說明OpenCC.sln:解決方案檔,便於一鍵建置與測試
範例
請參考 examples/,內含基本轉換、不套用詞彙轉換、不同簡繁詞庫差異、自訂詞典與 HTML/XML 轉換範例。
基本用法
using OpenCC;
var converter = OpenCC.Converter("cn", "tw2");
Console.WriteLine(converter("汉语")); // 漢語
tw2 的「台/臺」規則:日常用語用「台」(台北、舞台、電視台),「颱」「檯」不變(颱風、櫃檯),正式名稱保留「臺」(國立臺灣大學、臺北市政府、新臺幣)。輸入寫成「台」的正式名稱也會統一成「臺」。tw2 轉回其他地區時不會把「台」改回「臺」,所以 tw → tw2 → tw 不保證能還原原文。白名單來源是 opencc-js 的 src/custom/TW2TaiProperNouns.js,字典資料是 TW2Tai/TW2TaiRev,用 opencc-js 的 tools/gen-tw2-tai.mjs 產生。
自訂轉換器
使用陣列定義
using OpenCC;
var converter = OpenCC.CustomConverter(new[]
{
new DictEntry("香蕉", "banana"),
new DictEntry("蘋果", "apple"),
});
Console.WriteLine(converter("我喜歡吃香蕉和蘋果"));
使用字串定義
using OpenCC;
var converter = OpenCC.CustomConverter("香蕉 banana|蘋果 apple|梨 pear");
Console.WriteLine(converter("香蕉 蘋果 梨"));
進階組合
using OpenCC;
var customDict = new[]
{
new DictEntry("“", "「"),
new DictEntry("”", "」"),
};
var converter = OpenCC.ConverterFactory(
OpenCC.Locale.From.Cn,
OpenCC.Locale.To.Tw.Concat(new[] { Dict.FromEntries(customDict) })
);
Console.WriteLine(converter("悟空道:“师父又来了。”"));
HTML / XML 轉換 (XDocument)
HtmlConverter 以 System.Xml.Linq 為基礎,適用於 XML 或可解析為 XML 的 HTML 片段。
using System.Xml.Linq;
using OpenCC;
var converter = OpenCC.Converter("hk", "cn");
var doc = XDocument.Parse("<html lang='zh-HK'><body><p lang='zh-HK'>漢語</p></body></html>");
var htmlConverter = OpenCC.HtmlConverter(converter, doc, "zh-HK", "zh-CN");
htmlConverter.Convert();
Console.WriteLine(doc.ToString());
htmlConverter.Restore();
NuGet 封裝
dotnet pack src/OpenCC/OpenCC.csproj -c Release
產出的 .nupkg 會在 src/OpenCC/bin/Release/。
License
MIT
台灣詞彙品質改善
tw2 / twp 的共用詞彙規則、語境限制、測試結果與效能對照,請見 台灣詞彙品質說明。
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.