Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    angular-l10npublic

    Angular localization

    Build Status npm version npm npm

    An Angular library to translate messages, dates and numbers

    This library is for localization of Angular v6 apps written in TypeScript, ES6 or ES5. It allows, in addition to translation, to localize numbers and dates of your app, adding language code, country code, currency code, timezone and optionally script code, numbering system and calendar, through Internationalization API. It also implements the validation of numbers by locales.

    Sample app built with Angular CLI & Material, and its source code.

    Get the changelog by releases.

    Angular localization features

    • A module to translate texts & a module to translate texts, dates & numbers
    • A module for validation by locales (numbers)
    • Direct & Asynchronous loading of translation data
    • Available providers for Asynchronous loading:
      • Static (json files)
      • WebAPI (json format)
      • Fallback
      • Custom
    • Caching of the http requests
    • Composed languages (e.g. languageCode-countryCode)
    • Language, Default locale & Currency through ISO codes
    • Timezone through IANA time zone
    • Cookies, Session & Local Storage, or custom storage (e.g. for using with Ionic Storage) available for storing the ISO codes
    • Intl API to localize dates & numbers
    • Pure pipes & Directives to get the translation
    • Decorators or class inheritance for the ISO codes used by the pure pipes
    • Html tags in translations
    • Parameters in translations
    • Composed keys in translations (nested objects)
    • Directives can dynamically change parameters and expressions values as the pipes
    • Directives can translate also attributes
    • Directives work also with complex UI components, like Material or Ionic
    • Methods to translate in component class
    • Custom translation handler for translated values
    • Support for lazy loading
    • Collator for sorting and filtering a list by locales

    Angular i18n solutions

    Feature Angular Official ngx-translate External library angular-l10n External library
    Messages Html attributes, message IDs directives, impure pipes directives, pure pipes
    File formats XLIFF, XMB/XTB JSON JSON
    No bootstrap (when language changes) not yet yes yes
    Getting the translation in component class not yet yes yes
    Numbers pure pipes using CLDR - directives & pure pipes via Intl API
    Dates pure pipes using CLDR - directives & pure pipes via Intl API
    Validation - - numbers validation via Intl API

    Installing

    You can add angular-l10n to your project using npm:

    npm install angular-l10n --save 

    To install a pre-release package:

    npm install --save angular-l10n@next

    Loading

    Using SystemJS configuration

    System.config({
        map: {
            'angular-l10n': 'node_modules/angular-l10n/bundles/angular-l10n.umd.js'
        }
    });

    Angular CLI

    No need to set up anything, just import it in your code.

    Rollup or webpack

    No need to set up anything, just import it in your code.

    Plain JavaScript

    If you build apps in Angular using ES5, you can include the umd bundle in your index.html:

    <script src="node_modules/angular-l10n/bundles/angular-l10n.umd.js"></script>

    and use global ng.l10n namespace.

    AoT compilation, Server Side Rendering & strict

    This library is compatible with AoT compilation & Server Side Rendering. It also supports the strict TypeScript compiler option.

    Usage

    • Angular v6

    • Angular v5 (Angular l10n v4.1.5)

    • Angular v4 (Angular l10n v3.5.2)

    • Angular v2 (Angular l10n v2.0.11)

    Contributing

    License

    MIT

    install

    npm i angular-l10n

    Downloadsweekly downloads

    2,685

    version

    5.0.0

    license

    MIT

    repository

    githubgithub

    last publish

    collaborators

    • avatar