UNPKG

@bntk/transliteration

Version:

Build applications with Bengali natural language processing tools.

88 lines (87 loc) 3.63 kB
/** * 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 {};