Skip to content

Latest commit

 

History

History
121 lines (85 loc) · 4.21 KB

README_zh-CN.md

File metadata and controls

121 lines (85 loc) · 4.21 KB

适用于 React 的轻量、简单、灵活、自动翻译的国际化工具

English | 简体中文

npm-version npm-download

github-stars last-commit github-issues codecov

demo

目录

愿景
要求
特性
Live Demo
原理
License

愿景

为了让接入国际化成为轻松且愉快的事😄💪🏻

要求

  • react >= 16.8.0
  • react-dom >= 16.8.0
  • react-native >= 0.59.0
  • i18n-pro >= 2.0.0

特性

  • 轻量bundlesize + bundlesize
  • 以下特性继承于 i18n-pro
    • 简单
    • 灵活
    • 自动翻译
    • keyless

Live Demo

原理

该库是基于 i18n-pro 结合 Reactcontext 特性来实现的

主要由 2 部分构成

  • I18nProvider
  • useI18n

I18nProvider:配置国际化初始化属性的容器组件

useI18n:获取国际化 API 和状态的 hook 方法

简易示例如下

import React from 'react'
import { render } from 'react-dom'
import { I18nProvider, useI18n } from '@i18n-pro/react'

function App() {
  const { t } = useI18n()

  return <>{t('hello world')}</>
}

render(
  <I18nProvider
    namespace="i18n-example"
    locale="en"
    langs={{
      zh: {
        'hello world': '你好世界',
      },
      ja:{
        "hello world": "こんにちは世界",
      },
    }}
  >
    <App />
  </I18nProvider>,
  document.getElementById('root'),
)

帮助文档

为了避免不必要的重复文档内容,该库的部分文档是链接 i18n-pro 中的内容
当前文档中 i18n-pro 相关链接是基于 2.0.0 版本,如果你使用的非该版本,需查看你所使用版本对应的文档,以免用法不一致

License

MIT

Copyright (c) 2023-present Eyelly Wu