use-zman
is a simple React hook that allows you to add multiple languages to your React application. It provides a context for managing translations and makes it easy to switch between different languages.
You can install this package using npm or yarn:
npm i use-zman
To use use-zman
in your project, follow these steps:
- Import the
ZmanProvider
anduseZman
hook into your component:
import { ZmanProvider } from "use-zman";
- Create a translations for ZmanProvider
const translations = {
en: {
hello: "Hello World",
},
ku: {
hello: "سڵاو جیهان",
},
};
- Wrap your application with the
ZmanProvider
component and pass the translations as a prop:
const App = () => {
return (
<ZmanProvider translations={translations}>
// 👈
<div>
<h1>Hello World</h1>
</div>
</ZmanProvider> // 👈
);
};
You can also pass default language as a prop to ZmanProvider:
const App = () => {
return (
<ZmanProvider
translations={translations}
defaultLanguage="ku" // 👈
>
<div>
<h1>Hello World</h1>
</div>
</ZmanProvider>
);
};
- Import
useZman
hook to your component:
import { useZman } from "use-zman";
- Use the
useZman
hook to access the translations:
const { texts, setZman, currentZman } = useZman();
- Use the
texts
object to access the translations:
const { texts, setZman, currentZman } = useZman();
<p>{texts.hello}</p>; // سڵاو جیهان
- Use the
setZman
function to change the language:
const { texts, setZman, currentZman } = useZman();
<button onClick={() => setZman("en")}>English</button>
<button onClick={() => setZman("ku")}>Kurdish</button>
- Use the
currentZman
to get the current language:
const { texts, setZman, currentZman } = useZman();
<p>{currentZman}</p>; // en