Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including ngx-i18nsupport-lib with all npm packages installed. Try it out:

var ngxI18nsupportLib = require("ngx-i18nsupport-lib")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

ngx-i18nsupport-lib v1.10.2

A Typescript library to work with Angular generated i18n files (xliff, xmb)

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

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free