Kana.NET 1.0.3

There is a newer version of this package available.
See the version list below for details.
dotnet add package Kana.NET --version 1.0.3
NuGet\Install-Package Kana.NET -Version 1.0.3
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Kana.NET" Version="1.0.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Kana.NET --version 1.0.3
#r "nuget: Kana.NET, 1.0.3"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Kana.NET as a Cake Addin
#addin nuget:?package=Kana.NET&version=1.0.3

// Install Kana.NET as a Cake Tool
#tool nuget:?package=Kana.NET&version=1.0.3

Kana.NET

Japanese Kana utility for .NET. Convert Hiragana and Katakana. Kana.NET depends on only .NET. Kana.NET doesn't invoke windows funtion. So it works on Linux too. See also https://www.umayadia.com/Note/Note063Kana.NET.htm

平仮名とカタカナを変換します。文字コードの計算処理だけで変換を実現しているためOSの機能に依存しません。 そのため、非日本語環境のWindowsやLinux上でも動作します。 詳細はこちらの記事をご覧ください。 https://www.umayadia.com/Note/Note063Kana.NET.htm

You can get "どらえもん大好き" from this code. C#

string hiragana = Umayadia.Kana.KanaConverter.ToHiragana("ドラえもん大好き");

VB

Dim hiragana As String = Umayadia.Kana.KanaConverter.ToHiragana("ドラえもん大好き")

You can get "ドラエモン大好キ" from this code. C#

string katakana = Umayadia.Kana.KanaConverter.ToKatakana("ドラえもん大好き");

VB

Dim katakana As String = Umayadia.Kana.KanaConverter.ToKatakana("ドラえもん大好き")

Custom mapper

MapToHiraganaプロパティを使用すると、カスタムなひらがな変換を定義できます。 MapToKatakanaプロパティを使用すると同様にカスタムなカタカナ変換を定義できます。

これらは静的なプロパティなので1度定義すればその後のすべての変換に適用されます。 カスタムな変換を無効にするには null を設定します。

C# sample

//Define custom map to Hiragana
Umayadia.Kana.KanaConverter.MapToHiragana =
    (System.Text.StringBuilder builder, string letter, string suggestion, string source) =>
    {
        builder.Append(letter switch
        {
            "ド" => "★",
            "ラ" => "ららら~",
            _ => suggestion
        });
    };

string result1 = Umayadia.Kana.KanaConverter.ToHiragana("ドラえもん大好き");
Console.WriteLine(result1); //★ららら~えもん大好き

sample

//Define custom map to Hiragana
Umayadia.Kana.KanaConverter.MapToKatakana =
    (System.Text.StringBuilder builder, string letter, string suggestion, string source) =>
    {
        builder.Append(letter switch
        {
            "え" => "e",
            "も" => "MO",
            _ => suggestion
        });
    };

string result2 = Umayadia.Kana.KanaConverter.ToKatakana("ドラえもん大好き");
Console.WriteLine(result2); //ドラeMOン大好キ

カスタム変換用の関数は1文字ごとに呼ばれます。引数の意味は次の通りです。

builder

変換結果のバッファーです。ここに変換後の文字を追加してください。 ここに何も追加しないと、その文字は無視されます。

letter

この文字に対する変換を定義してください。言い換えるとこれは変換前の文字です。

suggestion

Kana.NET が提案する変換後の文字です。カスタムな変換が不要な場合、この文字をそのまま builder に追加してください。

source

変換を行おうとしている文字列全体です。

StrConv compatibility

Microsoft.VisualBasic.Strings.StrConv (and StrConv of VB6, VBA) is obsolete. But some programs needs alternative method. So Kana.NET have StrConv compatible method named, same as, StrConv.

In following sample you will see that '𩸽' become '??'. This is the StrConv way.

Microsoft.VisualBasic.Strings.StrConv (それにVB6やVBAのStrConv)は時代遅れですが、互換性が必要なプログラムもあるでしょう。 Kana.NETではStrConvと互換性のある同じ名前の StrConv というメソッドを用意しています。

下記のサンプルでは '𩸽' が ?? に変換されます。StrConvと同じ仕様です。

VB Sample

'▼Sample6
'StrConv
Dim result6 As String = Umayadia.Kana.KanaConverter.StrConv("ドラえもんは𩸽が大好き", vbHiragana)
Console.WriteLine(result6) 'どらえもんは??が大好き

'▼Sample7
'StrConv
Dim result7 As String = Umayadia.Kana.KanaConverter.StrConv("ドラえもんは𩸽が大好き", vbKatakana)
Console.WriteLine(result7) 'ドラエモンハ??ガ大好キ

C# Sample

//▼Sample6
//StrConv
string result6 = Umayadia.Kana.KanaConverter.StrConv("ドラえもんは𩸽が大好き", Umayadia.Kana.umaStrConv.Hiragana);
Console.WriteLine(result6); //どらえもんは??が大好き

//▼Sample7
//StrConv
string result7 = Umayadia.Kana.KanaConverter.StrConv("ドラえもんは𩸽が大好き", Umayadia.Kana.umaStrConv.Katakana);
Console.WriteLine(result7); //ドラエモンハ??ガ大好キ
Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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. 
.NET Core netcoreapp3.1 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 3.1

    • No dependencies.
  • net5.0

    • No dependencies.
  • net6.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.

Version Downloads Last updated
1.0.6 100,268 11/8/2021
1.0.5 352 11/6/2021
1.0.4 464 10/31/2021
1.0.3 346 10/30/2021
1.0.2 369 10/30/2021
1.0.1 352 10/26/2021
1.0.0 396 10/25/2021