Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

tamazight

AbdessamadAe30MIT1.0.5

A JavaScript library for transliterating Latin Tamazight into Tifinagh and vice versa.

tamazight, amazigh, transliteration, tifinagh, latin

readme

Tamazight Transliterator

A JavaScript library that transliterates Latin-script Tamazight into Tifinagh and vice versa. This lightweight utility makes it easy to convert between Latin and Tifinagh scripts for the Tamazight (Berber) language.

Installation

npm install tamazight

Features

  • Transliterate from Latin to Tifinagh script and vise-versa
  • Improves searchability of Amazigh content by enabling Latin-based search
  • Command-line interface (CLI) included
  • Simplifies development of websites with Tifinagh text

Web Development Benefits and Usage

Enhanced Website Accessibility

This library makes developing websites with Tifinagh text significantly easier:

  • Content Management: Store content in Latin script and display in Tifinagh
  • Form Processing: Accept input in either script and normalize for backend processing
  • Responsive Text: Easily switch between scripts based on user preferences

Search Engine Optimization for Amazigh Content

The transliteration capabilities provide significant SEO advantages:

  • Improved Discoverability: Users can search using Latin characters and find Tifinagh content
  • Dual Indexing: Search engines can index content in both scripts when properly implemented
  • Content Accessibility: Makes Amazigh language content accessible to a wider audience
  • Metadata Enhancement: Use both scripts in metadata to improve search engine visibility

Example implementation for SEO benefits:

<!-- HTML example with SEO benefits -->
import React, { useState } from "react";
import { transliterateToTifinagh } from "tamazight";

function TamazightContent() {
  const [latinText] = useState("Tamazight tutlayt n Imazighen");

  // Transliterate the Latin text to Tifinagh
  const tifinaghText = transliterateToTifinagh(latinText);

  return (
    <article>
      {/* Tifinagh content for display */}
      <h1 className="tifinagh">{tifinaghText}</h1>

      {/* Hidden Latin text for SEO purposes */}
      <h1 data-latin={latinText} className="hidden-for-visual">
        {latinText}
      </h1>
    </article>
  );
}

export default TamazightContent;

Command Line Interface

The package includes a CLI tool for quick transliteration:

# Install globally (optional)
npm install -g tamazight

# Latin to Tifinagh
tamazight-transliterate "tamghart" --to-tifinagh

# Tifinagh to Latin
tamazight-transliterate "ⵜⴰⵎⵖⴰⵔⵜ" --to-latin

API Reference

transliterateToTifinagh(text)

Converts Latin script Tamazight text to Tifinagh script.

  • Parameters: text (String) - The Latin script text to convert
  • Returns: String - The text converted to Tifinagh script

transliterateToLatin(text)

Converts Tifinagh script text to Latin script Tamazight.

  • Parameters: text (String) - The Tifinagh script text to convert
  • Returns: String - The text converted to Latin script

Development

Prerequisites

  • Node.js (v14 or higher recommended)
  • npm

Setting Up Development Environment

# Clone the repository
git clone https://github.com/Abdessamadae/tamazight.git
cd tamazight

# Install dependencies
npm install

# Run tests
npm test

Running Tests

npm test

Contributing

Contributions are welcome! Here's how you can contribute:

  1. Fork the repository
  2. Create your feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add some amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Ways you can contribute:

  • Improve character mappings: Help expand and improve the transliteration mappings to cover more characters and sequences.
  • Fix bugs: Report and help resolve any bugs or issues you find.
  • Add features: Have ideas for new features? We welcome new functionality that improves the library.

Code Style

  • Follow standard JavaScript conventions
  • Add JSDoc comments for new functions
  • Add tests for new features
  • Update documentation as needed

Acknowledgments

  • Thanks to all contributors who have helped with the development
  • Inspired by the need for better digital tools for Tamazight language

Contact

Abdessamad Ait Elmouden - GitHub Profile

Linkedin Profile