client.ts 828 B

1234567891011121314151617181920212223242526272829
  1. "use client";
  2. import { createI18nClient } from "next-international/client";
  3. // NOTE: Also update middleware.ts to support locale
  4. export const languages = ["en", "fr"];
  5. export const { useI18n, useScopedI18n, I18nProviderClient, useChangeLocale, defineLocale, useCurrentLocale } = createI18nClient(
  6. {
  7. en: async () => {
  8. await new Promise((resolve) => setTimeout(resolve, 100));
  9. return import("./en");
  10. },
  11. fr: async () => {
  12. await new Promise((resolve) => setTimeout(resolve, 100));
  13. return import("./fr");
  14. },
  15. },
  16. {
  17. // Uncomment to set base path
  18. // basePath: '/base',
  19. // Uncomment to use custom segment name
  20. // segmentName: 'locale',
  21. // Uncomment to set fallback locale
  22. // fallbackLocale: en,
  23. },
  24. );
  25. export type TFunction = Awaited<ReturnType<typeof useI18n>>;