最近在学 typescript,试着写了个非常迷你的 i18n 工具,百分百覆盖的单元测试,压缩后不到 1kb,

2021-03-26 19:01:38 +08:00
 KouShuiYu

Example

const i18n = new I18n({
  locale: 'zh',
  fallbackLocale: 'zh',
  messages: {
    zh: {
      hello: "你好 世界",
      say: {
        thanks: "{name} 谢谢"
      }
    },
    en: {
      hello: "hello world",
      say: {
        thanks: "thanks {name}"
      }
    }
  }
});

i18n.t('hello') // 你好 世界
i18n.t('say.thanks', {name: 'xiaohong'}) // xiaohong 谢谢

Demo

Documentation

1275 次点击
所在节点    分享创造
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/765516

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX