UNPKG

tamazight

Version:

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

160 lines (104 loc) 4.38 kB
# 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 ```sh 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: ```jsx <!-- 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: ```sh # 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 ```sh # Clone the repository git clone https://github.com/Abdessamadae/tamazight.git cd tamazight # Install dependencies npm install # Run tests npm test ``` ### Running Tests ```sh 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](https://github.com/Abdessamadae) [Linkedin Profile](https://www.linkedin.com/in/abdessamad-ait-elmouden/)