.NET knihovna pro skloňování českých jmen do vokativu (5. pád). Je to přepsaná verze https://github.com/Mimino666/vokativ do .NETu.
- Automatická detekce pohlaví (pokud není zadáno)
- Rozlišování mezi křestním jménem a příjmením (volitelné)
- Využívá JSON soubory se suffixy pro skloňování
- Dostupná jako NuGet balíček
- Podporuje .NET 9.0
Vokativ.sln - Solution file obsahující oba projekty
├── Vokativ/ - NuGet balíček (class library)
│ ├── Vokativ.csproj
│ ├── Vokativ.cs
│ └── data/ - JSON soubory se suffixy
└── VokativNugetExample/ - Ukázková aplikace používající NuGet balíček
├── VokativNugetExample.csproj
└── Program.cs
dotnet add package VokativNebo v Package Manager Console:
Install-Package VokativNejjednodušší způsob - volejte statické metody přímo:
using VokativLib;
// Automatická detekce pohlaví
var result1 = Vokativ.Get("Petr"); // "Petře"
var result2 = Vokativ.Get("Jana"); // "Jano"
var result3 = Vokativ.Get("Novotný"); // "Novotný"
var result4 = Vokativ.Get("Novotná"); // "Novotná"
// Detekce pohlaví
var sex = Vokativ.DetectSex("Petr"); // "m" (muž)
var sex2 = Vokativ.DetectSex("Jana"); // "w" (žena)using VokativLib;
// Explicitní zadání pohlaví a typu jména
var name1 = Vokativ.Get("Petr", woman: false, lastName: false); // "Petře"
var name2 = Vokativ.Get("Jana", woman: true, lastName: false); // "Jano"
var name3 = Vokativ.Get("Novotný", woman: false, lastName: true); // "Novotný"
var name4 = Vokativ.Get("Novotná", woman: true, lastName: true); // "Novotná"Pokud chcete použít vlastní JSON soubory se suffixy, vytvořte instanci:
var vokativ = new Vokativ("cesta/k/datum");
var result = vokativ.GetVokativ("Petr"); // "Petře"Třída pro skloňování českých jmen do vokativu.
public static string Get(string name, bool? woman = null, bool? lastName = null)Převádí jméno do vokativu (5. pádu) - statická verze pro snadné použití.
Parametry:
name: Jméno k převedení do vokativuwoman:truepro ženské jméno,falsepro mužské. Pokud není zadáno (null), pohlaví se detekuje automaticky.lastName:truepro příjmení,falsepro křestní jméno. Pokud není zadáno (null), typ jména se detekuje automaticky.
Návratová hodnota: Jméno skloněné ve vokativu
Příklad:
var vokativ = Vokativ.Get("Petr"); // "Petře"public static string DetectSex(string name)Detekuje pohlaví podle jména.
Parametry:
name: Jméno ke zjištění pohlaví
Návratová hodnota:
"m"pro mužské jméno"w"pro ženské jméno
Příklad:
var sex = Vokativ.DetectSex("Jana"); // "w"Pro většinu případů použití stačí statické metody výše. Instance metody níže jsou užitečné, pokud potřebujete vlastní umístění dat.
public Vokativ(string? dataDirname = null)dataDirname: Cesta ke složce s JSON soubory se suffixy. Výchozí hodnota je"data".
public string GetVokativ(string name, bool? woman = null, bool? lastName = null)Instance verze metody pro převod do vokativu. Parametry stejné jako u statické metody Get().
public string GetSex(string name)Instance verze metody pro detekci pohlaví. Parametry stejné jako u statické metody DetectSex().
V repozitáři je ukázková ASP.NET aplikace (VokativNugetExample/), která demonstruje použití NuGet balíčku pomocí REST API.
cd VokativNugetExample
dotnet runPOST /vokativ Tělo požadavku (JSON):
{
"name": "Petr",
"isWoman": false,
"isLastName": false
}Odpověď:
Petře
Po spuštění aplikace navštivte:
https://localhost:<port>/swagger
Poznámka: Tato ukázková aplikace používá publikovaný NuGet balíček Vokativ, nikoliv přímý projekt odkaz. Je to ideální příklad jak balíček používat ve vašich vlastních projektech.
MIT
Příspěvky jsou vítány! Neváhejte otevřít issue nebo pull request.
Tento projekt je .NET implementací původní Python knihovny vokativ.