﻿# uzbek-translit

O'zbek tilidagi **krill** va **lotin** yozuvlari orasida transliteratsiya qiluvchi TypeScript moduli. Modul `Node.js`, `React`, `Vue`, `Next.js` va boshqa TypeScript asosidagi frontend/backend loyihalarda ishlaydi.

---

## ✨ Xususiyatlar

- 🔁 Krill ⟷ Lotin transliteratsiyasi
- 🔁 Lotin ⟷ Krill transliteratsiyasi
- ⚙️ TypeScript’da yozilgan
- 📦 Har qanday JavaScript/TypeScript loyihasida ishlaydi (Node, React, Vue, Svelte, Angular va h.k.)
- 🌐 Browser va serverda ishlaydi

---

## 📦 O‘rnatish

```bash
npm install uzbek-translit
# yoki
yarn add uzbek-translit
```

---

## 🚀 Foydalanish

Node.js yoki React TypeScript loyihada:

```typescript
import { toLotin, toKrill } from "uzbek-translit";

const krillMatn = "Ўзбекистон - менинг Ватаним!";
const lotinMatn = "Oʻzbekiston - mening Vatanim!";

console.log(toLotin(krillMatn)); // Oʻzbekiston - mening Vatanim!
console.log(toKrill(lotinMatn)); // Ўзбекистон - менинг Ватаним!
```

---

## 🔧 API

### `toLotin(text: string): string`

Krill yozuvdagi matnni toza lotin yozuviga o‘giradi. Agar kirish bo'sh `string` bo'lsa, bo'sh `string` qaytaradi.

### `toKrill(text: string): string`

### Lotin yozuvdagi matnni krill yozuviga o‘giradi. Agar kirish bo'sh `string` bo'lsa, bo'sh `string` qaytaradi.

---

## 🛠 Dasturiy foydalanish shartlari

- Funktsiyalar faqat `string` tipidagi kiruvchilarni qabul qiladi.
- Transliteratsiya qilish **kontekstsiz** bajariladi (masalan, `Ye`, `E`, `yo`, `yu` harflari so'zning pozitsiyasidan qat'i nazar o‘z holida o‘giriladi).
- Maxsus belgilar (masalan, `!`, `@`, `#`) va emoji-lar (😊, 🚀) o‘zgartirilmaydi.
- Foydalanish uchun hech qanday qo‘shimcha kutubxona talab qilinmaydi.

---

## 📌 Misollar

Vue (Composition API) da:

```typescript
import { ref } from "vue";
import { toLotin, toKrill } from "uzbek-translit";

const input = ref("Oʻzbekiston");
const result = toKrill(input.value); // Ўзбекистон
```

---

## 🌍 Qo‘llab-quvvatlangan platformalar

| Platforma | Qo‘llab-quvvatlanadi                           |
| --------- | ---------------------------------------------- |
| Node.js   | ✅                                             |
| React     | ✅                                             |
| Vue 3     | ✅                                             |
| Vue 2     | ⚠️ (Eski ESM modul sozlamalari talab qilinadi) |
| Svelte    | ✅                                             |
| Angular   | ✅                                             |
| Browser   | ✅                                             |
| Deno      | ⚠️ (Hozircha sinovdan o‘tmagan)                |
| Bun       | ⚠️ (Hozircha sinovdan o‘tmagan)                |
