Meteor 1.8, Blaze & i18n Localization

So far it seems both Tap & Universe don’t work for me with Meteor 1.8 and Blaze

Install for Universe:

meteor add universe:i18n universe:i18n-blaze

Install for Tap:

meteor add tap:i18n tap:i18n-db

I have the folllowing configuration files (both Tap and Universe):

/i18n/en.i18n.json

{
    "hello": "hello world"
}

/i18n/fr.i18n.json

{
    "hello": "bonjour"
}

The Blaze template file with Tap
/client/blaze-template-tap.html

<template name="BlazeTemplateTap">
  {{_ "hello"}}
</template>

/client/blaze-template-universe.html

<template name="BlazeTemplateUniverse">
  {{__ "hello"}}
</template>

Also, with Universe (only) I need to register namespace in template:
/client/blaze-template-universe.js

Template.BlazeTemplateUniverse.bindI18nNamespace('hello');

The result is alway just no matter if I change the localization between English and French via the

chrome://settings/languages

and/or the Quick Language Switcher Chrome extension.

// Chrome Result:

hello world

So connection (both in Tap and Universe) is made between the Blaze template {{__ "hello"}} and the en.i18n.json file { "hello" "hello world" } because it’s displaying “hello world”. But something is not clicking when I try to switch languages in Chrome.

Any help getting Tap or Universe (or even i18next, which I have not tried) to display different languages within Blaze is appriciated! :slight_smile:

Here’s my SO question on this topic: https://stackoverflow.com/questions/55601611/meteor-1-8-blaze-i18n-localization

To my little knowledge the language change happens due changing a global variable in Blaze using TAPi18n.setLanguage(). Is it not similar?

1 Like

This worked. Thanks!

I’m converting my application from Blaze to React, is anyone using i18n Tap with React?