locales.ts 650 B

12345678910111213141516171819202122232425262728293031
  1. import Cookies from "js-cookie";
  2. import "moment/locale/zh-cn";
  3. import "moment/locale/zh-tw";
  4. import "moment/locale/es";
  5. import "moment/locale/fr";
  6. import "moment/locale/ja";
  7. import "moment/locale/ko";
  8. const KEY = "locale";
  9. export const get = (): string => {
  10. return localStorage.getItem(KEY) || Cookies.get(KEY) || "en-US";
  11. };
  12. export const set = (lang: string, reload: boolean) => {
  13. Cookies.set(KEY, lang);
  14. localStorage.setItem(KEY, lang);
  15. if (reload) {
  16. window.location.reload();
  17. }
  18. };
  19. export const remove = () => {
  20. Cookies.remove(KEY);
  21. localStorage.removeItem(KEY);
  22. };
  23. interface ILocale {
  24. messages: Record<string, string>;
  25. }