Nomenclature Predictably Misunderstood
    Have ideas to improve npm?Join in the discussion! »

    @dagonmetric/ng-translit
    TypeScript icon, indicating that this package has built-in type declarations

    14.3.2 • Public • Published

    Transliterate Service for Angular

    GitHub Actions Status Azure Pipeline Status codecov npm version Gitter

    General-purpose transliteration service for Angular applications which can be used in swapping letters such as α → a, ၎ → ၎င်း or Zawgyi-One to standard Myanmar Unicode.

    Features

    • Can transliterate/convert any script or Unicode letters by using from a simplest rule definition (just with from and to rules) to more powerful rule definition (with tplVar, tplSeq, when, postRules, etc.)
    • Can use transliteration rules in both design-time and run-time with JSON file which can be loaded lazily or eagerly using extendable TranslitRuleLoader (see built-in HttpTranslitRuleLoader for implementation demo)
    • Can transliterate input phase by phase
    • Can define template variables with tplVar to reduce JSON size and to avoid repetition
    • Can define template loop sequences with tplSeq for sequential rules checking and replacement
    • Quick test input string checking with quickTests and minLength options for better performance
    • Can check converted left portion string with hasLeft boolean option and left regular expression option
    • Can check right part after matched input string with right regular expression option
    • Conditional rules processing with when and skip options
    • Can define post-rules with postRules for step-by-step conversions
    • Can use postRulesDef and postRulesRef to reduce JSON size and to avoid repetition in defining postRules
    • Conversion trace information can be included in output result for debugging purpose
    • Work with latest versions of Angular
    • Compatible with Angular Universal (Server Side Rendering - SSR)
    • Powered with RxJS

    Getting Started

    Installation

    npm

    npm install @dagonmetric/ng-translit

    or yarn

    yarn add @dagonmetric/ng-translit

    Module Setup (app.module.ts)

    The following code is a simple module setup with no rule loader.

    import { TranslitModule } from '@dagonmetric/ng-translit';
    
    @NgModule({
      imports: [
        // Other module imports
    
        // ng-translit module
        TranslitModule
      ]
    })
    export class AppModule { }

    Live edit app.module.ts in stackblitz

    Usage (app.component.ts)

    import { Component } from '@angular/core';
    
    import { TranslitRuleItem, TranslitService } from '@dagonmetric/ng-translit';
    
    @Component({
      selector: 'app-root',
      templateUrl: './app.component.html'
    })
    export class AppComponent {
      constructor(private readonly translitService: TranslitService) {
        const zg2uniRules: TranslitRuleItem[] = [{
          from: '\u103B([\u1000-\u1021])',
          to: '$1\u103C'
        },
        {
          from: '\u1039',
          to: '\u103A'
        }];
    
        this.translitService.translit('ျမန္မာစာ', 'zg2uni', zg2uniRules)
          .subscribe(result => {
            // output: မြန်မာစာ
            console.log('output: ', result.outputText);
          });
      }
    }

    Live edit app.component.ts in stackblitz

    Samples

    Documentation

    Transliterate Rules

    Live Application

    • Zawgyi Unicode Converter - Angular Progress Web Application designed to convert Myanmar font encodings between Zawgyi-One and Standard Myanmar Unicode

    Feedback and Contributing

    Check out the Contributing page.

    License

    This repository is licensed with the MIT license.

    Install

    npm i @dagonmetric/ng-translit

    DownloadsWeekly Downloads

    740

    Version

    14.3.2

    License

    MIT

    Unpacked Size

    472 kB

    Total Files

    51

    Last publish

    Collaborators

    • avatar
    • avatar