Skip to content

i18n API

registerTranslation

Register translations for a language. Keys match the {% trans "text" %} source string.

const { registerTranslation } = require('miki-template');



registerTranslation('en', {

  hello: 'Hello',

  goodbye: 'Goodbye'

});
import { registerTranslation } from 'miki-template';



registerTranslation('en', {

  hello: 'Hello',

  goodbye: 'Goodbye'

});

You can also register nested keys for blocktrans with variables:

const { registerTranslation, setLanguage } = require('miki-template');



setLanguage('en');

registerTranslation('en', {

  'Welcome, {name}!': 'Welcome, {name}!',

  'Goodbye, {name}!': 'Goodbye, {name}!'

});
import { registerTranslation, setLanguage } from 'miki-template';



setLanguage('en');

registerTranslation('en', {

  'Welcome, {name}!': 'Welcome, {name}!',

  'Goodbye, {name}!': 'Goodbye, {name}!'

});

unregisterTranslation

const { unregisterTranslation } = require('miki-template');



// Unregister a specific key

unregisterTranslation('en', 'hello');



// Unregister entire language

unregisterTranslation('en');



// Unregister all translations

unregisterTranslation();
import { unregisterTranslation } from 'miki-template';



unregisterTranslation('en', 'hello');

setLanguage / getLanguage

Set or get the active language.

const { setLanguage, getLanguage } = require('miki-template');



setLanguage('fr');

console.log(getLanguage()); // 'fr'
import { setLanguage, getLanguage } from 'miki-template';



setLanguage('fr');

console.log(getLanguage()); // 'fr'

setFallbackLanguage / getFallbackLanguage

Set or get the fallback language (used when a key is missing from the active language).

const { setFallbackLanguage, getFallbackLanguage } = require('miki-template');



setFallbackLanguage('en');

console.log(getFallbackLanguage()); // 'en'
import { setFallbackLanguage, getFallbackLanguage } from 'miki-template';



setFallbackLanguage('en');

getAvailableLanguages

List all registered languages.

const { getAvailableLanguages } = require('miki-template');



console.log(getAvailableLanguages());

// ['en', 'fr', 'es']
import { getAvailableLanguages } from 'miki-template';



console.log(getAvailableLanguages());

Template Tags

The {% trans %} and {% blocktrans %} tags are provided by the auto-activated i18n library:

{% trans "Hello" %}

{% blocktrans %}Welcome, {{ name }}!{% endblocktrans %}

{% language "fr" %}...{% endlanguage %}

Next Steps