@chalkbooks/react-doc-viewer
Version:
File viewer for React.
22 lines (21 loc) • 787 B
JavaScript
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,
};
};