Merge remote-tracking branch 'origin/release' into danieljgeiger-mathjax

This commit is contained in:
Daniel J. Geiger 2023-08-21 16:09:37 -05:00
commit e4ddd08bb1
261 changed files with 12625 additions and 14661 deletions

View file

@ -1,8 +1,8 @@
import fallbackLangData from "./locales/en.json";
import percentages from "./locales/percentages.json";
import { ENV } from "./constants";
import { jotaiScope, jotaiStore } from "./jotai";
import { atom, useAtomValue } from "jotai";
import { NestedKeyOf } from "./utility-types";
const COMPLETION_THRESHOLD = 85;
@ -12,6 +12,8 @@ export interface Language {
rtl?: boolean;
}
export type TranslationKeys = NestedKeyOf<typeof fallbackLangData>;
export const defaultLang = { code: "en", label: "English" };
export const languages: Language[] = [
@ -71,7 +73,7 @@ export const languages: Language[] = [
];
const TEST_LANG_CODE = "__test__";
if (process.env.NODE_ENV === ENV.DEVELOPMENT) {
if (import.meta.env.DEV) {
languages.unshift(
{ code: TEST_LANG_CODE, label: "test language" },
{
@ -150,7 +152,9 @@ const findPartsForData = (data: any, parts: string[]) => {
};
export const t = (
path: string,
path:
| NestedKeyOf<typeof fallbackLangData>
| `${NestedKeyOf<typeof fallbackLangData>}.${string}`,
replacement?: { [key: string]: string | number } | null,
fallback?: string,
) => {
@ -176,7 +180,7 @@ export const t = (
if (translation === undefined) {
const errorMessage = `Can't find translation for ${path}`;
// in production, don't blow up the app on a missing translation key
if (process.env.NODE_ENV === "production") {
if (import.meta.env.PROD) {
console.warn(errorMessage);
return "";
}