Vokativ 1.1.0
dotnet add package Vokativ --version 1.1.0
NuGet\Install-Package Vokativ -Version 1.1.0
<PackageReference Include="Vokativ" Version="1.1.0" />
<PackageVersion Include="Vokativ" Version="1.1.0" />
<PackageReference Include="Vokativ" />
paket add Vokativ --version 1.1.0
#r "nuget: Vokativ, 1.1.0"
#:package Vokativ@1.1.0
#addin nuget:?package=Vokativ&version=1.1.0
#tool nuget:?package=Vokativ&version=1.1.0
📣 Vokativ - Skloňování českých jmen do vokativu
.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.
🔧 Funkce
- 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
📁 Struktura repozitáře
Vokativ.sln - Solution file obsahující oba projekty
├── Vokativ/ - NuGet balíček (class library)
│ ├── Vokativ.csproj
│ ├── Vokativ.cs
│ └── data/ - JSON soubory se suffixy
└── VokativExample/ - Demo Web API aplikace
├── VokativExample.csproj
└── Program.cs
📦 Instalace
NuGet Package
dotnet add package Vokativ
Nebo v Package Manager Console:
Install-Package Vokativ
🛠️ Použití
Základní použití (doporučeno)
Nejjednodušší 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)
Explicitní zadání parametrů
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á"
Vlastní umístění dat (pokročilé)
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"
📚 API Reference
Třída Vokativ
Třída pro skloňování českých jmen do vokativu.
Statické metody (doporučeno pro běžné použití)
Vokativ.Get()
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"
Vokativ.DetectSex()
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"
Instance metody (pokročilé použití)
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.
Konstruktor
public Vokativ(string? dataDirname = null)
dataDirname: Cesta ke složce s JSON soubory se suffixy. Výchozí hodnota je"data".
GetVokativ()
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().
GetSex()
public string GetSex(string name)
Instance verze metody pro detekci pohlaví. Parametry stejné jako u statické metody DetectSex().
🎯 Demo Web API
V repozitáři je také ukázková ASP.NET aplikace (VokativExample/), která demonstruje použití knihovny pomocí REST API.
Spuštění demo aplikace
cd VokativExample
dotnet run
Použití API
POST /vokativ Tělo požadavku (JSON):
{
"name": "Petr",
"isWoman": false,
"isLastName": false
}
Odpověď:
Petře
Swagger UI
Po spuštění aplikace navštivte:
https://localhost:<port>/swagger
📄 Licence
MIT
🤝 Přispívání
Příspěvky jsou vítány! Neváhejte otevřít issue nebo pull request.
📌 Původní projekt
Tento projekt je .NET implementací původní Python knihovny vokativ.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. 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. |
-
net9.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.