UNPKG

@chalkbooks/react-doc-viewer

Version:
22 lines (21 loc) 787 B
import { useCallback, useContext } from "react"; import mustache from "mustache"; import { DocViewerContext } from "../store/DocViewerProvider"; import { defaultLanguage, locales } from "../i18n"; export var useTranslation = function () { var language = useContext(DocViewerContext).state.language; var defaultTranslations = locales[defaultLanguage]; var t = useCallback(function (key, variables) { var translations = locales[language]; if (translations[key]) { return mustache.render(translations[key], variables); } if (defaultTranslations[key]) { return mustache.render(defaultTranslations[key], variables); } return key; }, [language, defaultTranslations]); return { t: t, }; };