ngx-i18nsupport-lib
    TypeScript icon, indicating that this package has built-in type declarations

    1.10.2 • Public • Published

    Build Status Dependency Status devDependency Status Code coverage npm

    ngx-i18nsupport-lib

    A Typescript library to work with Angular generated i18n files (XLIFF Version 1.2 and 2.0, XMB)

    Table of Contents

    Introduction

    Installation

    npm install ngx-i18nsupport-lib --save-dev

    Usage

    TranslationMessagesFileFactory

    This class is the entry point of the library. You can use TranslationMessagesFileFactory to load Angular generated message files. The format of the files can be XLIFF 1.2, XLIFF 2.0 or XMB.

    It returns a format independent abstraction of the file content, which is described in the interfade ITranslationMessagesFile

    Example

    // Usage of fromFileContent to read a file with a known format
    let filename = ...;
    let encoding = 'UTF-8';
    let content = fs.readFileSync(filename, encoding);
    let file: ITranslationMessagesFile
      = TranslationMessagesFileFactory.fromFileContent('xlf', content, filename, encoding);
    console.log(Utils.format('Translation from %s to %s', 
        file.sourceLanguage(),
        file.targetLanguage()));
    file.forEachTransUnit((tu: ITransUnit) => {
      console.log(tu.sourceContent());
    });
    

    You can also use fromUnknownFormatFileContent to read a file of any supported format. The library will detect the correct file format:

    ...
    let file: ITranslationMessagesFile
      = TranslationMessagesFileFactory.fromUnknownFormatFileContent(content, filename, encoding);
    
    

    ITranslationMessagesFile

    A messages file.

    For API details have a look at the interface.

    ITransUnit

    A single translation contained in the messages file.

    For API details have a look at the interface.

    Tests

    npm test

    This will run a testsuite that checks all relevant aspects of the library.

    Contributing

    I did not really think about contributions, because it is just a small experimental project.

    But if you are interesting, send me an email, so that we can discuss it.

    References

    Install

    npm i ngx-i18nsupport-lib

    DownloadsWeekly Downloads

    16,648

    Version

    1.10.2

    License

    MIT

    Unpacked Size

    2.38 MB

    Total Files

    219

    Last publish

    Collaborators

    • martinroob