A Node.js package for converting keyboard inputs between Persian and English character sets.
fz-keyboard-converter
is a JavaScript library designed to facilitate the conversion of keyboard inputs between Persian and English layouts. This package provides bidirectional mapping, allowing users to easily convert text between these two languages.
- Bidirectional Conversion: Convert text from Persian to English and vice versa.
- Predefined Mappings: Utilizes a comprehensive set of character mappings for accurate conversion.
- Easy Integration: Simple to integrate into your Node.js projects.
To install the package, use npm:
npm install fz-keyboard-converter
Here’s a basic example of how to use the convertInput
function provided by this package:
const convertInput = require('fz-keyboard-converter');
// Example input string
const inputString = 'sghl';
// Convert the input string
const convertedString = convertInput(inputString);
// Output the converted string
console.log(convertedString); // سلام
// Default behavior (lowercase conversion)
console.log(convertInput('اثممخ')); // Outputs: "hello"
// Uppercase conversion
console.log(convertInput('اثممخ', { upperCase: true })); // Outputs: "HELLO"
Note: The mappings used are specific to Persian and English keyboard layouts. Non-mapped characters remain unchanged.
- Description: Converts the input string based on predefined character mappings.
-
Parameters:
-
input
(string
): The input string to be converted. -
options
(object
, optional): Options for conversion.-
upperCase
(boolean
optional): if true, use uppercase mappings.
-
-
-
Returns: (
string
) The converted string with characters replaced based on the mappings.
The mappings used are defined in charMap.js
, and include mappings for both lowercase and uppercase letters, as well as punctuation marks. The mapping object is bidirectional, which means it supports conversion from and to the standard keyboard layout.
-
'q'
maps to'ض'
-
'w'
maps to'ص'
-
'e'
maps to'ث'
-
'a'
maps to'ش'
-
'Z'
maps to'ظ'
-
'?'
maps to'؟'
For a complete list of mappings, refer to the charMap.js
file.
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Create a new Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
For any questions or feedback, feel free to open an issue or contact the author at SalmanFz1681.