JSFiddle - React, Tailwind, and code Playground

by fxi

JavaScript

// simuluate mx object. 
// Available when widget init
var mx = {
  settings: {
    language: "en"
  }
}

// In the widget
var my_local_dict = [{
  "id": "my_little_pony",
  "fr": "Mon petit poney",
  "en": "My little pony"
}, {
  "id": "title_graph_super_important",
  "fr": "Une poule sur un mur",
  "en": "Hamburgers yummy yummy"
}]


// get current lang NOT dynamically
var lang = mx.settings.language;

// set default
if (lang != "en" && lang !== "fr") {
  lang = "en"
};

// get value function
function t(key) {
  // filter array
  var val = my_local_dict.filter(function(i) {
      return i.id == key
    })
    // if not found return key
  if (!val || val.length == 0) return key;
  return val[0][lang]
}

console.log(t("my_little_pony"))