cloudux-l10n
Version:
Package for providing localization to avid static plugins
93 lines (72 loc) • 3.31 kB
Markdown
Package to providing localization for the Avid® MediaCentral UX static
plugins.
To be able to get the localization files you have to request them
through our API. Localization file will be fetched by using our internal
mechanism that depends on the current runtime user locale.
**Example**
import localizationData from 'path/to/your/folder/lang.l10n.json'
Here is the __lang.10n.json__ is the template file name, which will be replaced by the current language in the runtime. For instance, if current locale will be the 'de'
name of the required file will be __lang.de.json___
To be able to use this API you have to provide the localization files at your
project. This is name convention in the name of this files that resolves
by API. To be able to obtain the file according to the current runtime
localization you should require ```some-file-name.l10n.json``` file where
In case if German is being active locale, file name request will be resolved
to `some-string.de.json` at runtime level to the name of the current locale.
Localization has names according to [ISO_639-1](https://en.wikipedia.org/wiki/ISO_639-1)
```
static-plugin-folder/
├── src
│ ├── index.js
│ ├── l10n
│ │ ├── lang.de.json
│ │ ├── lang.fr.json
│ │ └── lang.en.json
│ └── views
│ ├── settings-view
│ │ ├── index.js
```
Localization file has the flat json object structure. Nesting object is
currently unsupported. Example of the ``lang.en.json``:
```
{
'hello-msg': 'Hello World'
}
```
the same file in different language will have the same key6 but localized
value. For instance, in Deutch ``lang.de.json`` will be
```
{
'hello-msg': 'Hallo Welt'
}
```
In the above example we placed the three localization files in the folder
named ```l10n```. This localization should be required as an external module.
For instance, by using AMD module pattern
Or, if you are using the webpack, you have to add the path to
localization file as an external dependency. See example below.
```
//@file "static-plugin-folder/src/views/settings-view/index.js";
const l10nData = require('../../l10n/lang.l10n.json'); // path relative to this file
// If current locale is === "de" will be required file named lang.de.json
// l10nData = { 'submit': 'Einreichen' };
const localize = l10n.getLocalization(l10nData);
```
If you need parametrized labels, add parameters using `{}`:
In your localization file:
```
{
"copy-folder-part-of-items-error-message": "{0} of {1} items cannot be copied to the destination folder."
}
```
Usage:
```
localize('copy-folder-part-of-items-error-message', errorItemsCount, copyItemsCount)
```
**You can check it on our examples on [Avid-Technology Github](https://github.com/avid-technology)**