@cantez/turkishify
v1.0.0
Published
Harmonious suffixes for Turkish nouns. Zero dependencies.
Readme
Turkishify
Harmonious suffix implementation for Turkish nouns in JavaScript. Zero dependencies.
🇬🇧: A tiny JavaScript library to generate Turkish suffixes based on nouns. This library helps you correctly form Turkish grammatical cases (belirtme, yönelme, bulunma, and ayrılma hâli) while following Turkish vowel harmony rules.
🇹🇷: İsimlere Türkçe ekler getirmeye yarayan minik bir JavaScript kütüphanesi. Bu kütüphane, Türkçe ses uyumu kurallarına uygun olarak ismin hallerini (belirtme, yönelme, bulunma ve ayrılma hâli) doğru şekilde oluşturmanıza yardımcı olur.
Bazı popüler uygulamaların Türkçe versiyonlarında görülen doğal hissettirmeyen ek hatalarını yok etmeyi amaçlamıştır. Bunlar:
- Mehmet'dan (Snapchat)
- Fatma'e (Instagram Reels)
gibi dil bilgisi açısından yanlış olan yazılışlar örnekleridir.
Features / Özellikler
- Generates correct Turkish suffixes for:
- Accusative case (Belirtme hâli) - e.g., "evi", "kediyi", "gözlüğü"
- Dative case (Yönelme hâli) - e.g., "eve", "arabaya"
- Locative case (Bulunma hâli) - e.g., "evde", "arabada"
- Ablative case (Ayrılma hâli) - e.g., "evden", "arabadan"
- Handles proper nouns with correct capitalization
- Implements Turkish vowel harmony rules
- Manages consonant softening
- Supports buffer consonants (y) when needed
Installation / Yükleme
Either of / Herhangi biri
npm install @cantez/turkishifyyarn add @cantez/turkishifypnpm install @cantez/turkishifyUsage / Kullanım
const Turkishify = require("@cantez/turkishify");
// Accusative case (Belirtme hâli)
console.log(Turkishify.accusative("ev")); // "evi"
console.log(Turkishify.accusative("kedi")); // "kediyi"
console.log(Turkishify.accusative("gözlük")); // "gözlüğü"
// Dative case (Yönelme hâli)
console.log(Turkishify.dative("ev")); // "eve"
console.log(Turkishify.dative("araba")); // "arabaya"
// Locative case (Bulunma hâli)
console.log(Turkishify.locative("ev")); // "evde"
console.log(Turkishify.locative("araba")); // "arabada"
// Ablative case (Ayrılma hâli)
console.log(Turkishify.ablative("ev")); // "evden"
console.log(Turkishify.ablative("araba")); // "arabadan"
// Proper nouns
console.log(Turkishify.accusative("Türkiye", true)); // "Türkiye'yi"
console.log(Turkishify.dative("İstanbul", true)); // "İstanbul'a"API Reference / API İçeriği
Methods / Metotlar
accusative(word, isProperNoun = false)
Generates the accusative case form of a word.
dative(word, isProperNoun = false)
Generates the dative case form of a word.
locative(word, isProperNoun = false)
Generates the locative case form of a word.
ablative(word, isProperNoun = false)
Generates the ablative case form of a word.
Parameters / Parametreler
word(string): The word to generate the suffix for / Ek oluşturulacak kelimeisProperNoun(boolean): Whether the word is a proper noun (default: false) / Kelimenin özel isim olup olmadığı durumu
Source / Kaynak
This library is based on Turkish grammar rules as described in the Turkish grammar Wikipedia article.
