Skip to content

About

Skloňování českých jmen do vokativu.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

15 Commits

Folders and files

Repository files navigation

📣 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
└── VokativNugetExample/          - Ukázková aplikace používající NuGet balíček
    ├── VokativNugetExample.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 vokativu
  • woman: true pro ženské jméno, false pro mužské. Pokud není zadáno (null), pohlaví se detekuje automaticky.
  • lastName: true pro příjmení, false pro 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().

🎯 Ukázková aplikace

V repozitáři je ukázková ASP.NET aplikace (VokativNugetExample/), která demonstruje použití NuGet balíčku pomocí REST API.

Spuštění ukázkové aplikace

cd VokativNugetExample
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

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.

📄 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.

About

Skloňování českých jmen do vokativu.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages