simonvdfr / ecoindex-light-js

une version allégée pour se donner une idée de l'ecoindex de la page en cours
Other
6 stars 2 forks source link

Passer un paramètre pour avoir le badge dans une langue différente #3

Open hrenaud opened 3 years ago

hrenaud commented 3 years ago

Bonjour,

On pourrait supposer utiliser un paramètre pour localiser le badge dans la langue de l'utilisateur.

En l'appelant ainsi :

<script type="text/javascript" data-my_var_1="some_val_1" src="/js/somefile.js"></script>

Puis, en lisant la valeur du/des paramètres ainsi (à tester) :

var this_js_script = $('script[src*=somefile]'); // or better regexp to get the file name..

var my_var_1 = this_js_script.attr('data-my_var_1');   
if (typeof my_var_1 === "undefined" ) {
   var my_var_1 = 'some_default_value';
}
alert(my_var_1); // to view the variable value

Dans le code, il pourrait y avoir un dictionnaire des valeurs anglais/français/...

const dictionary = {
    FR: {
      percentError: "% d'erreur",
      ges: 'GES',
      gCO2e: 'gCO2e',
      water: 'eau',
      reqNum: 'Nombre de requêtes',
      pageSize: 'Taille de la page',
      domSize: 'Taille du DOM',
      pageURL: 'http://www.ecoindex.fr/quest-ce-que-ecoindex/',
    },
    EN: {
      percentError: '% error',
      ges: 'GES',
      gCO2e: 'gCO2e',
      water: 'water',
      reqNum: 'Number of requests',
      pageSize: 'Page size',
      domSize: 'DOM size',
      pageURL: 'http://www.ecoindex.fr/quest-ce-que-ecoindex/',
    },
  }

Puis il serait mis en mémoire ainsi :

let dic =
      lang.lang.toString().toUpperCase() === 'EN'
        ? dictionary.EN
        : dictionary.FR

et lu dans le code

let ecotitle =
      'ecoIndex: ' +
      ecoIndex.toFixed(2) +
      (p100error > 0
        ? ' (*' + Math.round(p100error) + dic.percentError + ')'
        : '') +
      ' | ' +
      dic.ges +
      ': ' +
      ...
florimondmanca commented 2 years ago

Hello,

Je passe par ici, je me suis basé sur ecoindex-light-js pour ajouter ma propre version ici : https://github.com/florimondmanca/www/pull/253

Mon site est internationalisé anglais/français, par défaut j'ai choisi d'adapter le script pour afficher le résultat en anglais, mais la possibilité de passer une langue pourrait être sympa en effet. Je ne suis pas certain de comment on pourrait l'implémenter.

En tout cas, merci bcp pour ce script, j'allais ajouter un badge "WebsiteCarbon" mais leur méthodologie me semblait moins rigoureuse, très content d'avoir un petit outil pour intégrer EcoIndex à la place ! :-)