Files
discord-decomp/intl/util.tsx
T
2026-11-01 12:12:55 +02:00

59 lines
1.7 KiB
TypeScript

// Metro module 1237 (f1238).
import { useSyncExternalStore } from "react";
import * as _en_US_messages from "./messages/en-US.messages";
import { runtimeHashMessageKey } from "../_bundle/Module1274";
import * as _Module1296 from "../_bundle/Module1296";
import { filter } from "../_bundle/Module1296";
export function getAvailableLocales() {
const default2 = _en_US_messages.default;
return filter((item) => item.enabled).map((item) => {
const code = item.code;
return {
value: code,
name: item.name,
localizedName: default2[runtimeHashMessageKey(code)]
};
}).sort(({ name }, { name: name2 }) => {
const r9 = name.toLowerCase();
const r11 = name2.toLowerCase();
return r9 < r11 ? -1 : r9 > r11 ? 1 : 0;
});
}
export function getLanguages() {
return _Module1296;
}
export function getNormalizedLocale(a0, a1) {
let r32;
const r9 = filter((item) => item.enabled).map((item) => item.code);
if (r9.includes(a0)) {
return a0;
}
let c12936_0;
L13: {
const r22 = a0.split("-");
c12936_0 = r22;
const r24 = r9.includes(r22[0]);
const r25 = r22[0];
if (r24) {
r32 = r25;
} else {
if (r25 === "zh" && r22.length > 1 && r22[1] === "Hant") {
let r35 = r9.find((item) => item === "zh-TW");
if (r35 == null) {
r35 = a1;
}
r32 = r35;
break L13;
}
r32 = r9.find((item) => item.split("-")[0] === c12936_0[0]);
if (r32 == null) {
r32 = a1;
}
}
}
return r32;
}
export function useSyncMessages(c12937_0, c12937_1) {
useSyncExternalStore((a0) => c12937_0.onChange(a0), () => c12937_0.isLocaleLoaded(c12937_1.currentLocale));
}