Directory

← Back

i18n-element

I18N Base Element for lit-html and Polymer

Author

Rating

Popularity

<100

Build Status Coverage Status npm Published on webcomponents.org

i18n-element

I18N Base Element for lit-html and Polymer with i18n-behavior as I18N engine

  • i18n-element inserts I18N layer into UI definitions in HTML templates transparently
  • i18n-element comes with the full-featured automation tools

Extendable and composable HTML template literals based on lit-html

import { html, i18n, bind } from 'i18n-element/i18n.js';

class MyI18nElement extends i18n(HTMLElement) {
  ... // a few boilerplate mandatory methods are omitted here
  render() {
    return html`${bind(this, 'my-i18n-element')}
      <span>localizable message with ${this.property}</span>`;
  }
  ...
}

class ExtendedElement extends MyI18nElement {
  render() {
    return html`${bind(this, 'extended-element')}
      <div>extended message with ${this.property}</div>
      ${super.render()}`;
  }
}

class CompositeElement extends i18n(HTMLElement) {
  render() {
    return html`${bind(this /* bound to 'composite-element' */)}
      <div>composite element with ${getMessage()}</div>
      <extended-element></extended-element>`;
  }
}

const binding = bind('get-message', import.meta); // bound to a pseudo-element name

const getMessage = () => html`${'get-message', binding}<span>get message</span>`;
  • Each HTML template literal is bound to its unique (pseudo-)element name
  • Fetch JSON for locale resources at locales/{element-name}.{locale}.json

Install

npm install i18n-element

Import

  • lit-html elements
import { html, i18n, bind } from 'i18n-element/i18n.js';
  • Polymer elements
import { Localizable } from 'i18n-element/i18n-element.js';

Quick Tour

I18N-ready pwa-starter-kit

    npm install -g polymer-cli
    git clone https://github.com/t2ym/pwa-starter-kit
    cd pwa-starter-kit
    npm ci
    # Add Locales
    gulp locales --targets="de es fr ja zh-Hans"
    # I18N Process
    gulp
    # Translate XLIFF ./xliff/bundle.*.xlf
    # Merge Translation
    gulp
    # Dev build on http://localhost:8080
    polymer serve
    # Static build
    polymer build
    # Static build on http://localhost:8080
    cd build/{esm-unbundled|esm-bundled|es6-bundled|es5-bundled}
    python -m SimpleHTTPServer 8080

Syntax

I18N for lit-html elements

import { html, i18n, bind } from 'i18n-element/i18n.js';

class AwesomeElement extends i18n(HTMLElement) {
  static get importMeta() { return import.meta; }
  constructor() {
    super();
    this.attachShadow({mode: 'open'});
    this.addEventListener('lang-updated', this._langUpdated.bind(this));
  }
  connectedCallback() { this.invalidate(); }
  _langUpdated(event) { this.invalidate(); }
  render() {
    return html`${bind(this, 'awesome-element')}
      <div>localizable message from ${this.is}</div>`;
  }
  invalidate() {
    render(this.render(), this.shadowRoot);
  }
}
customElements.define('awesome-element', AwesomeElement);
    # npm run demo === cd demo; gulp
    # Add locales
    npm run demo -- locales --targets="de es fr ja zh-Hans"
    # I18N process
    npm run demo

Localizable mixin for Polymer elements

Demo Source

import { LegacyElementMixin } from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
import { html } from '@polymer/polymer/lib/utils/html-tag.js';

import { Localizable } from 'i18n-element/i18n-element.js';

class LocalizableElement extends Localizable(LegacyElementMixin(HTMLElement)) {
  static get importMeta() { return import.meta; }
  static get template() {
    return html`<span id="label1">Localizable UI label 1</span>`;
  }
  static get is() { return 'localizable-element'; }
}
customElements.define(LocalizableElement.is, LocalizableElement);

Define = class Thin Definition Syntax

import 'i18n-element/define-element.js';

Define = class ThinElement extends Localizable(LegacyElementMixin(HTMLElement)) {
  static get importMeta() { return import.meta; }
  static get template() {
    return html`<span id="label1">Localizable UI label 1</span>`;
  }
  // static get is() can be omitted
}
// customElements.define() can be omitted

I18N-ready Bound Element i18n-dom-bind based on Polymer dom-bind

import 'i18n-element/i18n-dom-bind.js';
  • Based on Polymer dom-bind Element
  • i18n-dom-bind element must have id attribute

Demo Source

<i18n-dom-bind id="el5">
  <template>
    <span id="label1">Bound UI label 1</span>
  </template>
</i18n-dom-bind>

Tools

Full-featured automation tools are available

Module NPM version Description
gulp-i18n-preprocess npm Build-time I18N preprocessor
gulp-i18n-leverage npm L10N JSON updater
gulp-i18n-add-locales npm L10N JSON placeholder generator
xliff-conv npm XLIFF/JSON converter
live-localizer npm L10N widget with Firebase storage
i18n-element npm I18N base element class
i18n-behavior npm Run-time I18N handler
i18n-format npm I18N text formatter
i18n-number npm I18N number formatter

They are fully integrated in these samples:

Configurations in demo/gulpfile.js - npm run demo to trigger I18N automation

    const useI18nCoreJs = true; // true to use i18n-core.js for preprocessed scripts
    const useI18nFormatDataProperty = true; // true to proprocess to <i18n-format .data=${data}><json-data preprocessed>
    // Diretories are relative to the current directory
    var srcDir = 'clock'; // source files directory before preprocessing; should be changed to 'src' or whatever the target project is configured with
    var tmpDir = 'tmp'; // temporary directory for I18N preprocessing
    var destDir = 'preprocess'; // directory for preprocessed files
    const minifyHtmlTemplates = false; // true to minify HTML template literals (experimental)
    const htmlMinifierOptions = { // options for minification of HTML template literals
      // Same options as polymer build minify: true
      collapseWhitespace: true,
      removeComments: true,
    };
    const extractAnonymousTemplates = false; // true For Polymer 3.0 templates

Compatible Versions

i18n-element i18n-behavior Polymer lit-html
4.x 4.x 3.x (optional) 1.x
3.x 3.x 3.x (mandatory) 1.x
2.x 2.x 1.x-2.x -
- 1.x 1.x -
  • Polymer elements using i18n-element.js must depend on @polymer/polymer NPM package themselves

Browser Compatibility

  • Polyfilled by @webcomponents/webcomponentsjs/webcomponents-{bundle|loader}.js
Browser Chrome Firefox Edge 13+ IE 11 Safari 10+ Chrome Android Mobile Safari Opera
Supported

License

BSD-2-Clause

Compatibility

(Loading compatibility data...)

Was this helpful? Need more help?
Leave a comment or a question below. You can also join the chat on Discord or ask questions on StackOverflow.

Version

Dependencies

Released
2016-09-10
Maturity
IMPORTED
License
BSD 2-clause "Simplified" License

Compatibility

Framework
Polymer 1.0+
Polymer 2.0+ in 0.0.1
Polymer 3.0+ in 3.0.0-pre.1
Browser
Browser Independent

i18n-element - Vaadin Add-on Directory

I18N Base Element for lit-html and Polymer i18n-element - Vaadin Add-on Directory
[![Build Status](https://travis-ci.org/t2ym/i18n-element.svg?branch=master)](https://travis-ci.org/t2ym/i18n-element) [![Coverage Status](https://coveralls.io/repos/github/t2ym/i18n-element/badge.svg?branch=master)](https://coveralls.io/github/t2ym/i18n-element?branch=master) [![npm](https://img.shields.io/npm/v/i18n-element.svg)](https://www.npmjs.com/package/i18n-element) [![Published on webcomponents.org](https://img.shields.io/badge/webcomponents.org-published-blue.svg)](https://www.webcomponents.org/element/t2ym/i18n-element) # i18n-element I18N Base Element for [`lit-html`](https://lit-html.polymer-project.org/) and [Polymer](https://polymer-library.polymer-project.org/) with [`i18n-behavior`](https://github.com/t2ym/i18n-behavior) as I18N engine - `i18n-element` inserts **I18N layer** into UI definitions in HTML templates transparently - `i18n-element` comes with the full-featured automation [tools](#Tools) ## Extendable and composable HTML template literals based on `lit-html` ```javascript import { html, i18n, bind } from 'i18n-element/i18n.js'; class MyI18nElement extends i18n(HTMLElement) { ... // a few boilerplate mandatory methods are omitted here render() { return html`${bind(this, 'my-i18n-element')} localizable message with ${this.property}`; } ... } class ExtendedElement extends MyI18nElement { render() { return html`${bind(this, 'extended-element')}
extended message with ${this.property}
${super.render()}`; } } class CompositeElement extends i18n(HTMLElement) { render() { return html`${bind(this /* bound to 'composite-element' */)}
composite element with ${getMessage()}
`; } } const binding = bind('get-message', import.meta); // bound to a pseudo-element name const getMessage = () => html`${'get-message', binding}get message`; ``` - Each HTML template literal is bound to its **unique** (pseudo-)element name - Fetch JSON for locale resources at `locales/{element-name}.{locale}.json` ## Install ```sh npm install i18n-element ``` ## Import - `lit-html` elements ```javascript import { html, i18n, bind } from 'i18n-element/i18n.js'; ``` - Polymer elements ```javascript import { Localizable } from 'i18n-element/i18n-element.js'; ``` ## Quick Tour [I18N-ready `pwa-starter-kit`](https://github.com/t2ym/pwa-starter-kit) ```sh npm install -g polymer-cli git clone https://github.com/t2ym/pwa-starter-kit cd pwa-starter-kit npm ci # Add Locales gulp locales --targets="de es fr ja zh-Hans" # I18N Process gulp # Translate XLIFF ./xliff/bundle.*.xlf # Merge Translation gulp # Dev build on http://localhost:8080 polymer serve # Static build polymer build # Static build on http://localhost:8080 cd build/{esm-unbundled|esm-bundled|es6-bundled|es5-bundled} python -m SimpleHTTPServer 8080 ``` ## Syntax ### I18N for `lit-html` elements - [API Docs](https://t2ym.github.io/i18n-element/) - [Demo](https://t2ym.github.io/i18n-element/demo/preprocess/) - [Demo Source](https://github.com/t2ym/i18n-element/blob/master/demo/clock/clock.js) ```javascript import { html, i18n, bind } from 'i18n-element/i18n.js'; class AwesomeElement extends i18n(HTMLElement) { static get importMeta() { return import.meta; } constructor() { super(); this.attachShadow({mode: 'open'}); this.addEventListener('lang-updated', this._langUpdated.bind(this)); } connectedCallback() { this.invalidate(); } _langUpdated(event) { this.invalidate(); } render() { return html`${bind(this, 'awesome-element')}
localizable message from ${this.is}
`; } invalidate() { render(this.render(), this.shadowRoot); } } customElements.define('awesome-element', AwesomeElement); ``` - I18N process automation for [`i18n-element/demo/`](https://github.com/t2ym/i18n-element/blob/master/demo/) ```sh # npm run demo === cd demo; gulp # Add locales npm run demo -- locales --targets="de es fr ja zh-Hans" # I18N process npm run demo ``` ### `Localizable` mixin for Polymer elements [Demo Source](https://github.com/t2ym/i18n-element/blob/master/demo/poc/elements/localizable-element.js) ```javascript import { LegacyElementMixin } from '@polymer/polymer/lib/legacy/legacy-element-mixin.js'; import { html } from '@polymer/polymer/lib/utils/html-tag.js'; import { Localizable } from 'i18n-element/i18n-element.js'; class LocalizableElement extends Localizable(LegacyElementMixin(HTMLElement)) { static get importMeta() { return import.meta; } static get template() { return html`Localizable UI label 1`; } static get is() { return 'localizable-element'; } } customElements.define(LocalizableElement.is, LocalizableElement); ``` ### `Define = class` Thin Definition Syntax ```javascript import 'i18n-element/define-element.js'; Define = class ThinElement extends Localizable(LegacyElementMixin(HTMLElement)) { static get importMeta() { return import.meta; } static get template() { return html`Localizable UI label 1`; } // static get is() can be omitted } // customElements.define() can be omitted ``` ### I18N-ready Bound Element `i18n-dom-bind` based on Polymer `dom-bind` ```javascript import 'i18n-element/i18n-dom-bind.js'; ``` - Based on Polymer `dom-bind` Element - `i18n-dom-bind` element must have `id` attribute [Demo Source](https://github.com/t2ym/i18n-element/blob/master/demo/poc/index.html) ```html ``` ## Tools Full-featured automation tools are available | Module | NPM version | Description | |:--------------|:------------|:------------| | [gulp-i18n-preprocess](https://github.com/t2ym/gulp-i18n-preprocess) | [![npm](https://img.shields.io/npm/v/gulp-i18n-preprocess.svg)](https://www.npmjs.com/package/gulp-i18n-preprocess) | Build-time I18N preprocessor | | [gulp-i18n-leverage](https://github.com/t2ym/gulp-i18n-leverage) | [![npm](https://img.shields.io/npm/v/gulp-i18n-leverage.svg)](https://www.npmjs.com/package/gulp-i18n-leverage) | L10N JSON updater | | [gulp-i18n-add-locales](https://github.com/t2ym/gulp-i18n-add-locales) | [![npm](https://img.shields.io/npm/v/gulp-i18n-add-locales.svg)](https://www.npmjs.com/package/gulp-i18n-add-locales) | L10N JSON placeholder generator | | [xliff-conv](https://github.com/t2ym/xliff-conv) | [![npm](https://img.shields.io/npm/v/xliff-conv.svg)](https://www.npmjs.com/package/xliff-conv) | XLIFF/JSON converter | | [live-localizer](https://github.com/t2ym/live-localizer) | [![npm](https://img.shields.io/npm/v/live-localizer.svg)](https://www.npmjs.com/package/live-localizer) | L10N widget with Firebase storage | | [i18n-element](https://github.com/t2ym/i18n-element) | [![npm](https://img.shields.io/npm/v/i18n-element.svg)](https://www.npmjs.com/package/i18n-element) | I18N base element class | | [i18n-behavior](https://github.com/t2ym/i18n-behavior) | [![npm](https://img.shields.io/npm/v/i18n-behavior.svg)](https://www.npmjs.com/package/i18n-behavior) | Run-time I18N handler | | [i18n-format](https://github.com/t2ym/i18n-format) | [![npm](https://img.shields.io/npm/v/i18n-format.svg)](https://www.npmjs.com/package/i18n-format) | I18N text formatter | | [i18n-number](https://github.com/t2ym/i18n-number) | [![npm](https://img.shields.io/npm/v/i18n-number.svg)](https://www.npmjs.com/package/i18n-number) | I18N number formatter | They are fully integrated in these samples: - [I18N-ready `pwa-starter-kit`](https://github.com/t2ym/pwa-starter-kit) with [`pwa-starter-kit/gulpfile.js`](https://github.com/t2ym/pwa-starter-kit/blob/master/gulpfile.js) - [Live Localizer demo](https://github.com/t2ym/live-localizer) with [`live-localizer/demo/gulpfile.js`](https://github.com/t2ym/live-localizer/blob/master/demo/gulpfile.js) - This version is equipped with Firebase configuration and synchronization for `` - [`i18n-element` demo](https://github.com/t2ym/i18n-element) with [`i18n-element/demo/gulpfile.js`](https://github.com/t2ym/i18n-element/blob/master/demo/gulpfile.js) - This is the latest version ### Configurations in `demo/gulpfile.js` - `npm run demo` to trigger I18N automation ```javascript const useI18nCoreJs = true; // true to use i18n-core.js for preprocessed scripts const useI18nFormatDataProperty = true; // true to proprocess to // Diretories are relative to the current directory var srcDir = 'clock'; // source files directory before preprocessing; should be changed to 'src' or whatever the target project is configured with var tmpDir = 'tmp'; // temporary directory for I18N preprocessing var destDir = 'preprocess'; // directory for preprocessed files const minifyHtmlTemplates = false; // true to minify HTML template literals (experimental) const htmlMinifierOptions = { // options for minification of HTML template literals // Same options as polymer build minify: true collapseWhitespace: true, removeComments: true, }; const extractAnonymousTemplates = false; // true For Polymer 3.0 templates ``` ## Compatible Versions | i18n-element | i18n-behavior | Polymer | lit-html | |:---------------|:---------------|:--------|:---------| | 4.x | 4.x | 3.x (optional) | 1.x | | 3.x | 3.x | 3.x (mandatory) | 1.x | | 2.x | 2.x | 1.x-2.x | - | | - | 1.x | 1.x | - | - Polymer elements using `i18n-element.js` must depend on `@polymer/polymer` NPM package themselves ## Browser Compatibility - Polyfilled by `@webcomponents/webcomponentsjs/webcomponents-{bundle|loader}.js` | Browser | Chrome | Firefox | Edge 13+ | IE 11 | Safari 10+ | Chrome Android | Mobile Safari | Opera | |:----------|:-------:|:--------:|:---------:|:------:|:---------:|:---------------:|:--------------:|:------:| | Supported | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ## License [BSD-2-Clause](https://github.com/t2ym/i18n-behavior/blob/master/LICENSE.md)
View on NPM
View on GitHub

i18n-element version 0.0.0
### Dependencies

i18n-element version 0.0.1
### Dependencies

i18n-element version 0.0.2
### Dependencies

i18n-element version 0.0.3
### Dependencies

i18n-element version 0.0.4
### Dependencies

i18n-element version 0.0.5
### Dependencies

i18n-element version 0.0.6
### Dependencies

i18n-element version 0.0.7
### Dependencies

i18n-element version 0.0.10
### Dependencies

i18n-element version 0.0.8
### Dependencies

i18n-element version 0.0.9
### Dependencies

i18n-element version 0.0.11
### Dependencies

i18n-element version 0.0.12
### Dependencies

i18n-element version 0.0.13
### Dependencies

i18n-element version 0.0.14
### Dependencies

i18n-element version 0.0.15
### Dependencies

i18n-element version 0.0.16
### Dependencies

i18n-element version 0.0.17
### Dependencies

i18n-element version 0.0.18
### Dependencies

i18n-element version 0.0.19
### Dependencies

i18n-element version 0.0.20
### Dependencies

i18n-element version 0.0.21
### Dependencies

i18n-element version 0.0.22
### Dependencies

i18n-element version 0.0.23
### Dependencies

i18n-element version 0.0.24
### Dependencies

i18n-element version 0.0.25
### Dependencies

i18n-element version 0.0.26
### Dependencies

i18n-element version 0.0.27
### Dependencies

i18n-element version 0.0.28
### Dependencies

i18n-element version 0.0.29
### Dependencies

i18n-element version 0.0.30
### Dependencies

i18n-element version 0.0.31
### Dependencies

i18n-element version 0.0.32
### Dependencies

i18n-element version 0.0.33
### Dependencies

i18n-element version 0.0.34
### Dependencies

i18n-element version 0.0.35
### Dependencies

i18n-element version 0.0.36
### Dependencies

i18n-element version 0.0.37
### Dependencies

i18n-element version 0.0.38
### Dependencies

i18n-element version 0.0.39
### Dependencies

i18n-element version 0.0.40
### Dependencies

i18n-element version 0.0.41
### Dependencies

i18n-element version 0.0.42
### Dependencies

i18n-element version 0.0.43
### Dependencies

i18n-element version 0.0.44
### Dependencies

i18n-element version 0.0.45
### Dependencies

i18n-element version 0.0.46
### Dependencies

i18n-element version 0.0.47
### Dependencies

i18n-element version 0.0.48
### Dependencies

i18n-element version 0.0.49
### Dependencies

i18n-element version 0.0.50
### Dependencies

i18n-element version 0.0.51
### Dependencies

i18n-element version 0.0.52
### Dependencies

i18n-element version 0.0.53
### Dependencies

i18n-element version 0.0.54
### Dependencies

i18n-element version 0.0.55
### Dependencies

i18n-element version 0.0.56
### Dependencies

i18n-element version 0.0.57
### Dependencies

i18n-element version 0.0.58
### Dependencies

i18n-element version 0.0.59
### Dependencies

i18n-element version 0.0.60
### Dependencies

i18n-element version 0.0.61
### Dependencies

i18n-element version 0.0.62
### Dependencies

i18n-element version 0.0.63
### Dependencies

i18n-element version 0.0.64
### Dependencies

i18n-element version 0.0.65
### Dependencies

i18n-element version 0.0.66
### Dependencies

i18n-element version 0.0.67
### Dependencies

i18n-element version 0.0.68
### Dependencies

i18n-element version 0.0.69
### Dependencies

i18n-element version 0.0.70
### Dependencies

i18n-element version 0.0.71
### Dependencies

i18n-element version 0.0.72
### Dependencies

i18n-element version 0.0.73
### Dependencies

i18n-element version 0.0.74
### Dependencies

i18n-element version 0.0.75
### Dependencies

i18n-element version 0.0.76
### Dependencies

i18n-element version 0.0.77
### Dependencies

i18n-element version 0.0.78
### Dependencies

i18n-element version 0.0.79
### Dependencies

i18n-element version 2.0.0
### Dependencies

i18n-element version 2.0.1
### Dependencies

i18n-element version 3.0.0-pre.1
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.14

i18n-element version 3.0.0-pre.1-lit-html.8.4
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.14 * lit-html#^1.0.0-rc.1

i18n-element version 3.0.0-pre.2
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.14

i18n-element version 3.0.0-pre.3
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.14

i18n-element version 3.0.0-pre.4
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.14

i18n-element version 3.0.0-pre.4-lit-html.8.4
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.14 * lit-html#^1.0.0-rc.1

i18n-element version 3.0.0-pre.5
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.14

i18n-element version 3.0.0-pre.5-lit-html.8.4
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.14 * lit-html#^1.0.0-rc.1

i18n-element version 3.0.0-pre.5-lit-html.8.5
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.14 * lit-html#^1.0.0-rc.1

i18n-element version 3.0.0-pre.5-lit-html.8.6
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.14 * lit-html#^1.0.0-rc.1

i18n-element version 3.0.0-pre.6
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.14

i18n-element version 3.0.0-pre.6-lit-html.8.6
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.14 * lit-html#^1.0.0-rc.1

i18n-element version 3.0.0-pre.10
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.14

i18n-element version 3.0.0-pre.7
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.14

i18n-element version 3.0.0-pre.8
### Dependencies

i18n-element version 3.0.0-pre.9
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.14

i18n-element version 3.0.0-pre.11
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.14

i18n-element version 3.0.0-pre.12
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.14

i18n-element version 3.0.0-pre.13
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.16

i18n-element version 3.0.0-pre.14
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.16

i18n-element version 3.0.0-pre.14-lit-html.8.6
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.16 * lit-html#^1.0.0-rc.1

i18n-element version 3.0.0-pre.15
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.17

i18n-element version 3.0.0-pre.16
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.17

i18n-element version 3.0.0-pre.16-lit-html.8.10
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.17 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.16-lit-html.8.7
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.17 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.16-lit-html.8.8
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.17 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.16-lit-html.8.9
### Dependencies

i18n-element version 3.0.0-pre.17
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.17

i18n-element version 3.0.0-pre.17-lit-html.8.10
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.17 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.18
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.18

i18n-element version 3.0.0-pre.18-lit-html.8.10
### Dependencies

i18n-element version 3.0.0-pre.18-lit-html.9
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.18 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.18-lit-html.9.1
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.18 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.19
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.19

i18n-element version 3.0.0-pre.19-lit-html.9.1
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.19 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.20
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.19

i18n-element version 3.0.0-pre.20-lit-html.10
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.19 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.20-lit-html.9.1
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.19 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.21
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.20

i18n-element version 3.0.0-pre.21-lit-html.10
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.20 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.22
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.21

i18n-element version 3.0.0-pre.22-lit-html.10
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.21 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.23
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.21

i18n-element version 3.0.0-pre.23-lit-html.10
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.21 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.24
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.22

i18n-element version 3.0.0-pre.24-lit-html.11
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.22 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.24-lit-html.12
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.22 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.25
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.23

i18n-element version 3.0.0-pre.25-lit-html.13
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.23 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.25-lit-html.14
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.23 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.25-lit-html.15
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.23 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.26
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.24

i18n-element version 3.0.0-pre.26-lit-html.15
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.24 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.26-lit-html.16
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.24 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.26-lit-html.17
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.24 * lit-html#^1.0.0-rc.2

i18n-element version 3.0.0-pre.26-lit-html.18
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-pre.24 * lit-html#^1.0.0

i18n-element version 3.0.0-pre.27
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.1

i18n-element version 3.0.0-pre.27-lit-html.18
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.1 * lit-html#^1.0.0

i18n-element version 3.0.0-pre.27-lit-html.19
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.1 * lit-html#^1.0.0

i18n-element version 3.0.0-pre.27-lit-html.20
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.1 * lit-html#^1.0.0

i18n-element version 3.0.0-pre.28
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.2

i18n-element version 3.0.0-pre.28-lit-html.21
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.2 * lit-html#^1.0.0

i18n-element version 3.0.0-pre.28-lit-html.22
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.2 * lit-html#^1.0.0

i18n-element version 3.0.0-pre.28-lit-html.23
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.2 * lit-html#^1.0.0

i18n-element version 3.0.0-pre.28-lit-html.24
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.2 * lit-html#^1.0.0

i18n-element version 3.0.0-pre.28-lit-html.25
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.2 * lit-html#^1.0.0

i18n-element version 3.0.0-pre.28-lit-html.26
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.2 * lit-html#^1.0.0

i18n-element version 3.0.0-pre.28-lit-html.27
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.2 * lit-html#^1.0.0

i18n-element version 3.0.0-pre.28-lit-html.28
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.2 * lit-html#^1.0.0

i18n-element version 3.0.0-pre.28-lit-html.29
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.2 * lit-html#^1.0.0

i18n-element version 3.0.0-pre.28-lit-html.30
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.2 * lit-html#^1.0.0

i18n-element version 3.0.0-pre.28-lit-html.31
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.2 * lit-html#^1.0.0

i18n-element version 3.0.0-pre.28-lit-html.32
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.2 * lit-html#^1.0.0

i18n-element version 3.0.0-pre.28-lit-html.33
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.2 * lit-html#^1.0.0

i18n-element version 3.0.0-rc.1
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.2 * lit-html#^1.0.0

i18n-element version 3.0.0-rc.2
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0-rc.2 * lit-html#^1.0.0

i18n-element version 3.0.0
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^3.0.0 * lit-html#^1.0.0

i18n-element version 4.0.0-pre.1
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^4.0.0-pre.2 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.2
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^4.0.0-pre.3 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.3
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^4.0.0-pre.4 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.4
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^4.0.0-pre.6 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.5
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^4.0.0-pre.7 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.6
### Dependencies * @polymer/polymer#^3.0.0 * i18n-behavior#^4.0.0-pre.8 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.7
### Dependencies * i18n-behavior#^4.0.0-pre.9 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.10
### Dependencies * i18n-behavior#^4.0.0-pre.12 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.10-core
### Dependencies * i18n-behavior#^4.0.0-pre.12 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.11
### Dependencies * i18n-behavior#^4.0.0-pre.13 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.11-core
### Dependencies * i18n-behavior#^4.0.0-pre.13 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.8
### Dependencies * i18n-behavior#^4.0.0-pre.10 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.9
### Dependencies * i18n-behavior#^4.0.0-pre.10 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.12
### Dependencies * i18n-behavior#^4.0.0-pre.14 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.12-core
### Dependencies * i18n-behavior#^4.0.0-pre.14 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.13
### Dependencies * i18n-behavior#^4.0.0-pre.15 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.13-core
### Dependencies * i18n-behavior#^4.0.0-pre.15 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.14
### Dependencies * i18n-behavior#^4.0.0-pre.16 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.14-core
### Dependencies * i18n-behavior#^4.0.0-pre.16 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.15
### Dependencies * i18n-behavior#^4.0.0-pre.17 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.15-core
### Dependencies * i18n-behavior#^4.0.0-pre.17 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.16
### Dependencies * i18n-behavior#^4.0.0-pre.18 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.16-core
### Dependencies * i18n-behavior#^4.0.0-pre.18 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0
### Dependencies * i18n-behavior#^4.0.0 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-core
### Dependencies * i18n-behavior#^4.0.0 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.17
### Dependencies * i18n-behavior#^4.0.0-pre.19 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.0-pre.17-core
### Dependencies * i18n-behavior#^4.0.0-pre.19 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.1
### Dependencies * i18n-behavior#^4.0.0 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.1-core
### Dependencies * i18n-behavior#^4.0.0 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.2
### Dependencies * i18n-behavior#^4.0.0 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.2-core
### Dependencies * i18n-behavior#^4.0.0 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.0.3
### Dependencies

i18n-element version 4.1.0
### Dependencies * i18n-behavior#^4.0.0 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.1.0-core
### Dependencies * i18n-behavior#^4.0.0 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.1.1
### Dependencies

i18n-element version 4.1.2
### Dependencies * i18n-behavior#^4.0.0 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.1.2-core
### Dependencies * i18n-behavior#^4.0.0 * lit-html#^1.0.0 * wc-putty#^0.1.0

i18n-element version 4.1.3
### Dependencies * i18n-behavior#^4.0.0 * lit-html#^1.0.0 * wc-putty#^0.1.0

Online