An open API service indexing awesome lists of open source software.

https://github.com/tsvetomir/xlf-translate

Populate XLIFF (.XLF) files with existing translations in Angular 2 apps
https://github.com/tsvetomir/xlf-translate

angular angular-2 i18n language-files translation xlf

Last synced: 5 months ago
JSON representation

Populate XLIFF (.XLF) files with existing translations in Angular 2 apps

Awesome Lists containing this project

README

          

[![npm version](https://badge.fury.io/js/xlf-translate.svg)](https://badge.fury.io/js/xlf-translate)

# xlf-translate

Populates translations in XLIFF (.xlf) message files. Specifically developed for [Angular i18n](https://angular.dev/guide/i18n) - enabled apps, but might work for others as well.

## Description

Normally, you'd localize an attribute using the following syntax:

```html
Hello!
```

This utility makes use of the optional meaning tag to associate the message with an unique key.
```html
Hello!
```

The key will be persisted in the messages file as a "meaning":
```xml

Hello!

A hello world message for the localized component
localized.component.hello

```

This utility will look up the keys in the supplied language file to provide the target translation.

## Language Files

The language files contain translations corresponding to the keys in the description.
For example, the `localized.component.hello` key and its translation are represented as:

```yaml
localized:
component:
hello: Bonjour!
```

## Installation

`npm install -g xlf-translate`

## Usage

`xlf-translate --lang-file sample/lang/fr.yml sample/messages.fr.xlf`

This will populate all empty target elements in the `messages.xlf` file with matching translations. Non-empty target elements will be skipped to avoid overwriting user translations.

> The messages file will be updated in place.

You can also force overwriting all translations, regardless if empty or not:

`xlf-translate --force --lang-file sample/lang/fr.yml sample/messages.fr.xlf`

## See Also

* [Sample usage in an i18n Angular app](https://github.com/tsvetomir/angular-cli-i18n-sample)
* [Angular - Internationalization (i18n)](https://angular.dev/guide/i18n)