@bntk/transliteration
Version:
Build applications with Bengali natural language processing tools.
88 lines (87 loc) • 3.63 kB
TypeScript
/**
* Transliteration mode for Avro Phonetic keyboard layout.
*
* Avro Phonetic is the most widely used phonetic typing method for Bangla text.
* It follows intuitive phonetic rules where you type words exactly as they sound.
*/
type TransliterationOptionModeAvro = {
mode: "avro";
};
/**
* Transliteration mode for Orva (Reverse Avro) layout.
*
* Orva performs reverse transliteration from Bangla script to romanized text.
* It's particularly useful for converting Bangla text into a Latin alphabet representation.
*/
type TransliterationOptionModeOrva = {
mode: "orva";
};
/**
* Transliteration mode for Banglish layout.
*
* Banglish is an informal phonetic typing system that matches common patterns
* used in digital communications when writing Bangla words with English characters.
*/
type TransliterationOptionModeBanglish = {
mode: "banglish";
};
/**
* Transliteration mode for Lishbang (Latin-to-Bangla) layout.
*
* Lishbang is designed to be intuitive for English speakers while maintaining
* accurate Bangla pronunciation rules. It uses systematic Latin character mappings
* that closely match Bangla phonetics.
*/
type TransliterationOptionModeLishbang = {
mode: "lishbang";
};
/**
* Configuration options for the Bangla text transliteration process.
*
* The transliteration system supports multiple modes to accommodate different
* typing preferences and use cases. Each mode is optimized for specific scenarios,
* from formal typing to casual communication.
*
* @see {@link TransliterationOptionModeAvro} for the popular Avro Phonetic system
* @see {@link TransliterationOptionModeOrva} for reverse transliteration
* @see {@link TransliterationOptionModeBanglish} for informal typing
* @see {@link TransliterationOptionModeLishbang} for English-speaker friendly typing
*/
type TransliterationOptions = TransliterationOptionModeAvro | TransliterationOptionModeOrva | TransliterationOptionModeBanglish | TransliterationOptionModeLishbang;
/**
* Transliterates text between Bangla and Latin scripts using various modes.
* @modes
* - #### avro
* Most popular phonetic typing system for Bangla
* ```typescript
* transliterate("amar sOnar bangla", { mode: "avro" }) // → "আমার সোনার বাংলা"
* transliterate("jIbon", { mode: "avro" }) // → "জীবন"
* ```
*
* - #### orva
* Reverse transliteration from Bangla to Latin script (beta)
* ```typescript
* transliterate("আমার সোনার বাংলা", { mode: "orva" }) // → "amar sOnar bangla"
* transliterate("জীবন", { mode: "orva" }) // → "jIbon"
* ```
*
* - #### banglish
* Informal phonetic system matching common texting patterns (not yet implemented)
* ```typescript
* transliterate("amar shonar bangla", { mode: "banglish" }) // → "আমার সোনার বাংলা"
* transliterate("jibon", { mode: "banglish" }) // → "জীবন"
* ```
*
* - #### lishbang
* English-speaker friendly system with systematic mappings (not yet implemented)
* ```typescript
* transliterate("ইট ইজ নট গুড।", { mode: "lishbang" }) // → "It is not good."
* transliterate("মাই নেইম ইজ আপন।", { mode: "lishbang" }) // → "My name is Apon."
* ```
*
* @param {string} text - The input text to transliterate
* @param {TransliterationOptions} options - Configuration options with desired mode
* @returns {string} The transliterated text
*/
export declare function transliterate(text: string, options?: TransliterationOptions): string;
export {};