前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >i18n 简易版

i18n 简易版

作者头像
Karl Du
发布2023-10-20 18:59:43
1820
发布2023-10-20 18:59:43
举报
文章被收录于专栏:Web开发之路Web开发之路

最近在做一个Edge插件,突然离开webpacknpm有点陌生而又兴奋的感觉。从最简单的http请求到i18n,都自己手撸了一遍。后来某一天,看到chrome文档有官方的i18n方案,就弃用了自己封装的代码。在这里,我把代码贴出来,纪念一下我"逝去"的代码~

代码语言:javascript
复制
(function() {
  var i18n = {
    lang: 'en_US',
    phrases: {},
    tr: function(word) {
      return i18n.phrases[i18n.lang][word];
    },
    setLang: function(lang = 'en_US') {
      i18n.lang = lang;
      webix.storage.local.put('lang', lang);
      window.location.reload();
    }
  };

  // 恢复上次选择语言
  var localLang = webix.storage.local.get('lang');
  if (!localLang) {
    webix.storage.local.put('lang', 'en_US');
  } else {
    i18n.lang = localLang;
  }

  // 加载词库
  const xhr = new XMLHttpRequest();
  xhr.open('GET', '/profile/language.json', false);
  xhr.send();
  if (xhr.status !== 200) {
    throw new Error(`HTTP error! status: ${xhr.status}`);
  }

  var phrases = JSON.parse(xhr.responseText);
  i18n.phrases = phrases;

  window.i18n = i18n;
})();
本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023/03/27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com