@keegpt/i18zen
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

I18zen

Extreme simple and lightweight i18n for react projects

Install

npm install @keegpt/i18zen --save

Load

import React from 'react';
import ReactDOM from 'react-dom';

import { useI18Zen, I18ZenProvider } from 'react-i18zen';

// we can use local files
import en from './locales/en.json';
import pt from './locales/pt.json';

// or we can use remote files
const remoteLocales = [
  { locale: 'en', url: 'http://localhost:3000/locales/en.json' },
  { locale: 'pt', url: 'http://localhost:3000/locales/pt.json' }
];

Usage Example

function App() {
  const { __, changeLocale } = useI18Zen();
  return (
    <div>
        <span>{__('hello', { name: 'José' })}</span>
        <button onClick={(_e) => changeLocale('en') }>Change Locale</button>
    </div>
  );
}

ReactDOM.render(
    <I18ZenProvider 
        locales={{ pt, en }}
        remoteLocales={remoteLocales}
        errorCallback={console.error}
        initialLocale="pt"
        fallbackLocale="pt"
    >
        <App />
    </I18ZenProvider>
    , document.getElementById('root'));

Locale Example

{
    "hello": "Hello, {{name}}."
}

Package Sidebar

Install

npm i @keegpt/i18zen

Weekly Downloads

0

Version

1.1.0

License

MIT

Unpacked Size

7.87 kB

Total Files

9

Last publish

Collaborators

  • josepgomes