tamazight
Version:
A JavaScript library for transliterating Latin Tamazight into Tifinagh and vice versa.
160 lines (104 loc) • 4.38 kB
Markdown
# 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/)