turkify
v0.1.1
Published
Türkçe karakter normalizasyon paketi - SEO ve URL'ler için
Downloads
20
Maintainers
Readme
Turkify 🇹🇷
Turkish character normalization package - for SEO and URLs
Features
- ✅ Turkish Character Normalization - Convert Turkish characters to Latin equivalents (İ→I, Ş→S, Ç→C, etc.)
- ✅ Turkish Locale Case Conversion - Lowercase/uppercase conversions with Turkish locale support
- ✅ URL/Slug Generation - Create SEO-friendly slugs with Turkish character support
- ✅ Framework Support - Works with all JavaScript frameworks (React, Next.js, Vue, Angular, vanilla JS)
- ✅ TypeScript Support - Full TypeScript definitions included
- ✅ Zero Dependencies - No external dependencies
Installation
npm install turkifyor
yarn add turkifyUsage
Turkish Character Normalization
import { normalizeTurkish } from "turkify";
normalizeTurkish("İstanbul"); // 'Istanbul'
normalizeTurkish("Şişli"); // 'Sisli'
normalizeTurkish("Çankaya"); // 'Cankaya'Turkish Locale Case Conversion
import { toTurkishLowerCase, toTurkishUpperCase } from "turkify";
toTurkishLowerCase("İSTANBUL"); // 'istanbul'
toTurkishLowerCase("İ"); // 'i'
toTurkishUpperCase("istanbul"); // 'İSTANBUL'
toTurkishUpperCase("ı"); // 'I'Normalize and Lowercase
import { normalizeTurkishLowercase } from "turkify";
normalizeTurkishLowercase("İstanbul"); // 'istanbul'
normalizeTurkishLowercase("ŞİŞLİ"); // 'sisli'Slug/URL Generation
import { slugify } from "turkify";
// Basic usage
slugify("İstanbul Şişli"); // 'istanbul-sisli'
slugify("Çankaya Ümraniye"); // 'cankaya-umraniye'
// Custom separator
slugify("İstanbul Şişli", { separator: "_" }); // 'istanbul_sisli'Framework Examples
React Example
import { slugify } from "turkify";
function Article({ title }) {
const slug = slugify(title);
return <a href={`/articles/${slug}`}>{title}</a>;
}Next.js Example
import { slugify } from "turkify";
export default function BlogPost({ title }) {
const slug = slugify(title);
return (
<Link href={`/blog/${slug}`}>
<h1>{title}</h1>
</Link>
);
}Vue 3 Example (Composition API)
<template>
<div>
<a :href="`/articles/${slug}`">{{ title }}</a>
</div>
</template>
<script setup lang="ts">
import { computed } from "vue";
import { slugify } from "turkify";
const title = "İstanbul Şişli";
const slug = computed(() => slugify(title));
</script>Angular Example
import { Component } from "@angular/core";
import { slugify } from "turkify";
@Component({
selector: "app-article",
template: ` <a [href]="'/articles/' + slug">{{ title }}</a> `,
})
export class ArticleComponent {
title = "İstanbul Şişli";
slug = slugify(this.title);
}Vanilla JavaScript Example
import { slugify, normalizeTurkish } from "turkify";
// Slug generation
const title = "İstanbul Şişli";
const slug = slugify(title);
document.getElementById("link").href = `/articles/${slug}`;
// Normalization
const normalized = normalizeTurkish("Çankaya");
console.log(normalized); // 'Cankaya'Contact With
Dilara Uluturhan - LinkedIn - [email protected]
Turkify 🇹🇷
Türkçe karakter normalizasyon paketi - SEO ve URL'ler için
Özellikler
- ✅ Türkçe Karakter Normalizasyonu - Türkçe karakterleri Latin karşılıklarına çevirme (İ→I, Ş→S, Ç→C, vb.)
- ✅ Türkçe Locale Büyük/Küçük Harf Dönüşümü - Türkçe locale ile lowercase/uppercase dönüşümleri
- ✅ URL/Slug Oluşturma - Türkçe karakter desteği ile SEO uyumlu slug oluşturma
- ✅ Framework Desteği - Tüm JavaScript framework'lerinde kullanılabilir (React, Next.js, Vue, Angular, vanilla JS)
- ✅ TypeScript Desteği - Tam TypeScript tanımları dahil
- ✅ Sıfır Bağımlılık - Harici bağımlılığı olmayan kütüphane
Kurulum
npm install turkifyveya
yarn add turkifyKullanım
Türkçe Karakter Normalizasyonu
import { normalizeTurkish } from "turkify";
normalizeTurkish("İstanbul"); // 'Istanbul'
normalizeTurkish("Şişli"); // 'Sisli'
normalizeTurkish("Çankaya"); // 'Cankaya'Türkçe Locale Büyük/Küçük Harf Dönüşümü
import { toTurkishLowerCase, toTurkishUpperCase } from "turkify";
toTurkishLowerCase("İSTANBUL"); // 'istanbul'
toTurkishLowerCase("İ"); // 'i'
toTurkishUpperCase("istanbul"); // 'İSTANBUL'
toTurkishUpperCase("ı"); // 'I'Normalize ve Lowercase
import { normalizeTurkishLowercase } from "turkify";
normalizeTurkishLowercase("İstanbul"); // 'istanbul'
normalizeTurkishLowercase("ŞİŞLİ"); // 'sisli'Slug/URL Oluşturma
import { slugify } from "turkify";
// Basit kullanım
slugify("İstanbul Şişli"); // 'istanbul-sisli'
slugify("Çankaya Ümraniye"); // 'cankaya-umraniye'
// Özel separator
slugify("İstanbul Şişli", { separator: "_" }); // 'istanbul_sisli'Framework Örnekleri
React Örneği
import { slugify } from "turkify";
function Article({ title }) {
const slug = slugify(title);
return <a href={`/articles/${slug}`}>{title}</a>;
}Next.js Örneği
import { slugify } from "turkify";
export default function BlogPost({ title }) {
const slug = slugify(title);
return (
<Link href={`/blog/${slug}`}>
<h1>{title}</h1>
</Link>
);
}Vue 3 Örneği (Composition API)
<template>
<div>
<a :href="`/articles/${slug}`">{{ title }}</a>
</div>
</template>
<script setup lang="ts">
import { computed } from "vue";
import { slugify } from "turkify";
const title = "İstanbul Şişli";
const slug = computed(() => slugify(title));
</script>Angular Örneği
import { Component } from "@angular/core";
import { slugify } from "turkify";
@Component({
selector: "app-article",
template: ` <a [href]="'/articles/' + slug">{{ title }}</a> `,
})
export class ArticleComponent {
title = "İstanbul Şişli";
slug = slugify(this.title);
}JavaScript Örneği
import { slugify, normalizeTurkish } from "turkify";
// Slug oluşturma
const title = "İstanbul Şişli";
const slug = slugify(title);
document.getElementById("link").href = `/articles/${slug}`;
// Normalizasyon
const normalized = normalizeTurkish("Çankaya");
console.log(normalized); // 'Cankaya'İletişim Kuralım
Dilara Uluturhan - LinkedIn - [email protected]
