Skip to content

Commit

Permalink
chore: added support for config override
Browse files Browse the repository at this point in the history
  • Loading branch information
likhith-deriv committed Jun 10, 2024
1 parent 51d7b7c commit 672575a
Showing 1 changed file with 19 additions and 6 deletions.
25 changes: 19 additions & 6 deletions src/utils/initialize-i18n.ts
Original file line number Diff line number Diff line change
@@ -1,29 +1,42 @@
import i18next from "i18next";
import i18next, { InitOptions } from "i18next";
import { str as crc32 } from "crc-32";
import { OtaSdk } from "@utils/index";
import { initReactI18next } from "react-i18next";
import { getInitialLanguage } from "@utils/index";

const i18n_config = {
type TInstanceConfig = {
useSuspense?: Exclude<InitOptions["react"], undefined>["useSuspense"];
enableDebug?: InitOptions["debug"];
};

const setI18Config = ({ useSuspense, enableDebug }: TInstanceConfig) => ({
react: {
hashTransKey(defaultValue: string) {
return crc32(defaultValue);
},
useSuspense: true,
useSuspense,
},
debug: false,
debug: enableDebug,
initImmediate: true,
fallbackLng: "EN",
interpolation: {
escapeValue: false,
},
};
});

export default function initializeI18n({ cdnUrl }: { cdnUrl: string }) {
export default function initializeI18n({
cdnUrl,
useSuspense = true,
enableDebug = false,
}: {
cdnUrl: string;
} & TInstanceConfig) {
const module = new OtaSdk(cdnUrl);

const initial_language = getInitialLanguage();

const i18n_config = setI18Config({ useSuspense, enableDebug });

i18next
.use(module)
.use(initReactI18next)
Expand Down

0 comments on commit 672575a

Please sign in to comment.