1.1.0 • Published 1 year ago

@renec-foundation/lang-provider v1.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

Language Provider

This package provides a LocaleProvider and a useLocaleContext hook that allows you to easily handle language switching in your Next.js application.

Installation

npm install --save @renec-foundation/lang-provider

or

yarn add @renec-foundation/lang-provider

Example

import {
  LocaleProvider,
  useLocaleContext,
} from "@renec-foundation/lang-provider";

function MyApp({ Component, pageProps }) {
  return (
    <LocaleProvider geoApiUrl={".../api/geo"}>
      <MyLayout>
        <Component {...pageProps} />
      </MyLayout>
    </LocaleProvider>
  );
}

function MyComponent() {
  const { locale, handleLocaleChange } = useLocaleContext();

  return (
    <div>
      <p>Current locale: {locale}</p>
      <button onClick={() => handleLocaleChange("en")}>
        Switch to English
      </button>
      <button onClick={() => handleLocaleChange("fr")}>Switch to French</button>
    </div>
  );
}

Example

LocaleProvider

This is a component that should wrap your entire application. It sets up the LocaleContext and provides it to all child components.

Props

  • children - ReactNode: The child components to render.
  • geoApiUrl - string: The default geo api url (default is "/api/geo").

useLocaleContext

This is a hook that allows you to access the LocaleContext anywhere in your application.

Props

An object containing:

  • locale - - string: The current locale.
  • handleLocaleChange - - (newLocale: string) => void: A function to change the current locale.