An open API service indexing awesome lists of open source software.

https://github.com/anshsinghsonkhia/strip-diacritics

A utility package to remove diacritics and normalize text across multiple languages.
https://github.com/anshsinghsonkhia/strip-diacritics

npm-package

Last synced: 6 months ago
JSON representation

A utility package to remove diacritics and normalize text across multiple languages.

Awesome Lists containing this project

README

          

# strip-diacritics

Remove diacritics (accents, special characters, and marks) from text, making it easier to normalize, search, and process text across multiple languages.

[![npm](https://img.shields.io/npm/v/strip-diacritics.svg)](https://www.npmjs.com/package/strip-diacritics) [![License](https://img.shields.io/npm/l/strip-diacritics.svg)](LICENSE)

# 📦 Installation

Install via npm

```sh
npm i strip-diacritics
```

Install via yarn

```sh
yarn add strip-diacritics
```

# 🚀 Usage

```js
const { removeDiacritics, hasDiacritics, replaceDiacritics, normalizeText, getSupportedCharacters } = require('strip-diacritics');

console.log(removeDiacritics("Málaga, façade, naïve"));
// Output: "Malaga, facade, naive"

console.log(hasDiacritics("niño"));
// Output: true

console.log(replaceDiacritics("über", { 'ü': 'ue' }));
// Output: "ueber"

console.log(normalizeText("München ist schön", "de"));
// Output: "Muenchen ist schoen"

console.log(normalizeText("¡Hola, cómo estás!", "es"));
// Output: "Hola, como estas"

console.log(normalizeText("Crème brûlée", "fr"));
// Output: "Creme brulee"

console.log(normalizeText("Zażółć gęślą jaźń", "pl"));
// Output: "Zazolc gesla jazn"

console.log(getSupportedCharacters());
```

# 📜 API Reference

| Function Name | Description |
|--------------------------|-----------------------------------------------------------------------------|
| `removeDiacritics(text)` | Removes diacritics from a given text. |
| `hasDiacritics(text)` | Checks if a string contains diacritic characters. Returns true or false. |
| `replaceDiacritics(text, replacementMap)` | Replaces specific diacritics with custom values (e.g., é → e, ü → ue). |
| `normalizeText(text, locale = 'en')` | Converts text into a standardized form based on language rules. |
| `getSupportedCharacters()` | Returns a list of all characters that are modified. |