ar-design
Version:
AR Design is a (react | nextjs) ui library.
26 lines (25 loc) • 1.02 kB
JavaScript
import Utils from "../../../infrastructure/shared/Utils";
import { NotificationEN, NotificationTR } from "../locales";
import KanbanBoardEN from "../locales/kanban-board/en";
import KanbanBoardTR from "../locales/kanban-board/tr";
import TableEN from "../locales/table/en";
import TableTR from "../locales/table/tr";
const useTranslation = function (currentLanguage, translations = {}) {
const merged = {};
const ExtraLocales = {
tr: { ...TableTR, ...KanbanBoardTR, ...NotificationTR },
en: { ...TableEN, ...KanbanBoardEN, ...NotificationEN },
};
const allLanguages = new Set([...Object.keys(translations), ...Object.keys(ExtraLocales)]);
allLanguages.forEach((lang) => {
merged[lang] = {
...translations[lang],
...ExtraLocales[lang],
};
});
const t = (key, ...args) => {
return Utils.StringFormat(merged[currentLanguage ?? "tr"][key], ...args) ?? "";
};
return { t, currentLanguage };
};
export default useTranslation;