Skip to content

Latest commit

 

History

History
118 lines (83 loc) · 4.4 KB

README.md

File metadata and controls

118 lines (83 loc) · 4.4 KB

Lightweight, simple, flexible, automatic translation internationalization tool for Solid

English | 简体中文

npm-version npm-download

github-stars last-commit github-issues codecov

demo

Table of Contents

Vision
Requirement
Features
Live Demo
Principle
License

Vision

To make internationalization easy and enjoyable 😄💪🏻

Requirement

  • solid-js >= 1.0.0
  • i18n-pro >= 2.0.0

Features

  • lightweightbundlesize + bundlesize
  • The following features are inherited from i18n-pro
    • simple
    • flexible
    • automatic-translation
    • keyless

Live Demo

Principle

This library is implemented based on i18n-pro combined with Solid 's context feature

Mainly composed of 2 parts

  • I18nProvider
  • useI18n

I18nProvider:Configure container components for internationalization initialization properties
useI18n:Hook method for obtaining internationalization API and state

A simple example is as follows

import { render } from 'solid-js/web'
import { I18nProvider, useI18n } from '@i18n-pro/solid'

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'),
)

Help Document

To avoid unnecessary duplicate document content, some of the documents in this library are linked to the content in i18n-pro
The i18n-pro related link in the current document is based on the 2.1.0 version. If you are using a different version, you need to check the document corresponding to the version you are using to avoid inconsistent usage

License

MIT

Copyright (c) 2023-present Eyelly Wu