https://github.com/alperencantez/turkishify
Harmonious suffix implementation for Turkish nouns in JavaScript. Zero dependencies.
https://github.com/alperencantez/turkishify
turkish-language turkish-nlp
Last synced: 3 months ago
JSON representation
Harmonious suffix implementation for Turkish nouns in JavaScript. Zero dependencies.
- Host: GitHub
- URL: https://github.com/alperencantez/turkishify
- Owner: alperencantez
- License: mit
- Created: 2025-06-03T07:06:18.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-06-03T07:13:35.000Z (4 months ago)
- Last Synced: 2025-06-26T04:03:07.811Z (3 months ago)
- Topics: turkish-language, turkish-nlp
- Language: JavaScript
- Homepage: https://npmjs.com/package/@cantez/turkishify
- Size: 5.86 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
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ış ö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
```bash copy
npm install @cantez/turkishify
``````bash
yarn add @cantez/turkishify
``````bash
pnpm install @cantez/turkishify
```## Usage / Kullanım
```javascript
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"
console.log(Turkishify.ablative('İzmir', true)); // "İzmir'den"
console.log(Turkishify.ablative('Okan', true)); // "Okan'dan"
```## 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 kelime
- `isProperNoun` (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](https://en.wikipedia.org/wiki/Turkish_grammar#Case)._