diff --git a/i18n/en-US/equicord.json b/i18n/en-US/equicord.json index 12052ee56..9f07a0088 100644 --- a/i18n/en-US/equicord.json +++ b/i18n/en-US/equicord.json @@ -304,6 +304,7 @@ }, "enableScreenshotKeybind": "Enable the screenshot keybind feature", "enableVoiceOnlyClips": "Enable voice-only clips (audio without video)", + "enableSpeakingIndicators": "Enable speaking indicators", "enableAdvancedSignals": "Enable advanced clip signals (auto-clip triggers)", "ignorePlatformRestriction": "Allow Platform Restricted Clipping (may cause save errors)", "clipsLink": "Change FPS and duration options in Clips settings!" diff --git a/i18n/en-US/vencord.json b/i18n/en-US/vencord.json index e70ec2ed5..822fce90f 100644 --- a/i18n/en-US/vencord.json +++ b/i18n/en-US/vencord.json @@ -463,7 +463,39 @@ "removeDecoration": "Remove Decoration", "title": "Decor", "baseUrl": "Decor api url", - "agreedToGuidelines": "Agreed to guidelines" + "agreedToGuidelines": "Agreed to guidelines", + "options": "Decoration Options", + "copyHash": "Copy Decoration Hash", + "deleteDecoration": "Delete Decoration", + "deleteConfirm": "Are you sure you want to delete {name}?", + "delete": "Delete", + "yourDecorations": "Your Decorations", + "deleteInstructions": "You can delete your own decorations by right clicking on them.", + "apply": "Apply", + "discordTooltip": "Join Decor's Discord Server for notifications on your decoration's review, and when new presets are released", + "discordServer": "Discord Server", + "logOut": "Log Out", + "confirmLogOut": "Are you sure you want to log out of Decor?", + "pendingReview": "Pending review", + "presetPart": "Part of the {name} Preset", + "createdBy": "Created by", + "copyPresetId": "Copy Preset ID", + "alreadyPending": "You already have a decoration pending review", + "createDecoration": "Create Decoration", + "submitForReview": "Submit for Review", + "guidelinesNotice": "Make sure your decoration does not violate {guidelines} before submitting it.", + "theGuidelines": "the guidelines", + "file": "File", + "chooseAFile": "Choose a file", + "browse": "Browse", + "fileNotice": "File should be APNG or PNG.", + "name": "Name", + "nameNotice": "This name will be used when referring to this decoration.", + "discordServerNotice": "To receive updates on your decoration's review, join {link} and allow direct messages.", + "decorDiscordServer": "Decor's Discord server", + "holdOn": "Hold on", + "guidelinesAgreementNotice": "By submitting a decoration, you agree to {guidelines}. Not reading these guidelines may get your account suspended from creating more decorations in the future.", + "continue": "Continue" }, "devCompanion": { "description": "Dev Companion Plugin. Please report anything not working or being weird (most likely its a bug) to sadan, either ping or dm, thanks!", @@ -517,7 +549,8 @@ "customName": "Custom Name", "failedToClone": "Failed to clone: {error}", "nameValidation": "Name must be between 2 and 32 characters", - "somethingWentWrong": "Something went wrong (check console!)" + "somethingWentWrong": "Something went wrong (check console!)", + "cloneName": "Clone {name}" }, "f8break": { "description": "Pause the client when you press F8 with DevTools (+ breakpoints) open." @@ -538,6 +571,7 @@ "disableNotice": "You can disable this notice in the plugin settings." }, "sendAnyway": "Send Anyway", + "ok": "OK", "settings": { "disableEmbedPermissionCheck": "Whether to disable the embed permission check when sending fake emojis and stickers", "emojiSize": "Size of the emojis when sending", @@ -1026,6 +1060,7 @@ "separatedDiffs": "Separate addition and removals in diffs for a more readable differential", "showEditDiffs": "Show visual differences between edited message versions" }, + "showDiff": "Show Diff", "toggleDeletedHighlight": "Toggle Deleted Highlight" }, "messagePopoverAPI": { @@ -1465,7 +1500,9 @@ "unblockUser": "Unblock user", "viewReviews": "View Reviews", "description": "Review other users (Adds a new settings to profiles)", - "userReviews": "User Reviews" + "userReviews": "User Reviews", + "userOptedOut": "User opted out", + "noReviewsYet": "No reviews yet" }, "roleColorEverywhere": { "description": "Adds the top role color anywhere possible", @@ -2113,6 +2150,7 @@ "settings": { "clickMethodDescription": "Change the button to view the raw content/data of any message.", "leftClick": "Left Click to view the raw content.", + "messageContextMenu": "Show in message context menu", "rightClick": "Right click to view the raw content." }, "viewRaw": "View Raw", @@ -2228,5 +2266,10 @@ }, "showMissingKeys": "If the current locale is missing translations, show the keys instead of falling back to English" } + }, + "vencordDonor": { + "title": "Vencord Donor", + "description": "This Badge is a special perk for Vencord Donors", + "description2": "Please consider supporting the development of Vencord by becoming a donor. It would mean a lot!!" } } \ No newline at end of file diff --git a/src/components/settings/tabs/vencord/index.tsx b/src/components/settings/tabs/vencord/index.tsx index 56a235844..6acd65e83 100644 --- a/src/components/settings/tabs/vencord/index.tsx +++ b/src/components/settings/tabs/vencord/index.tsx @@ -160,7 +160,7 @@ function Switches() { function EquicordSettings() { const donateImage = useMemo(() => Math.random() > 0.5 ? DEFAULT_DONATE_IMAGE : SHIGGY_DONATE_IMAGE, - [] + [] ); const user = UserStore?.getCurrentUser(); diff --git a/src/plugins/decor/ui/modals/GuidelinesModal.tsx b/src/plugins/decor/ui/modals/GuidelinesModal.tsx index 923499898..1063ca0ec 100644 --- a/src/plugins/decor/ui/modals/GuidelinesModal.tsx +++ b/src/plugins/decor/ui/modals/GuidelinesModal.tsx @@ -8,6 +8,7 @@ import { Link } from "@components/Link"; import { Paragraph } from "@components/Paragraph"; import { settings } from "@plugins/decor/settings"; import { DecorationModalClasses, requireAvatarDecorationModal } from "@plugins/decor/ui"; +import { t } from "@utils/translation"; import { RenderModalProps } from "@vencord/discord-types"; import { ConfirmModal, openModal } from "@webpack/common"; @@ -17,8 +18,8 @@ function GuidelinesModal(props: RenderModalProps) { return ( { settings.store.agreedToGuidelines = true; @@ -28,11 +29,13 @@ function GuidelinesModal(props: RenderModalProps) { >
- By submitting a decoration, you agree to - the guidelines - . Not reading these guidelines may get your account suspended from creating more decorations in the future. + {t("vencord.decor.guidelinesAgreementNotice", { + guidelines: + {t("vencord.decor.theGuidelines")} + + })}
diff --git a/src/utils/constants.ts b/src/utils/constants.ts index da7e30958..cab4d182a 100644 --- a/src/utils/constants.ts +++ b/src/utils/constants.ts @@ -664,10 +664,6 @@ export const EquicordDevs = Object.freeze({ name: "nobody", id: 0n }, - yafyx: { - name: "kiniyaku", - id: 658209494609821699n - }, thororen: { name: "thororen", id: 848339671629299742n @@ -1045,10 +1041,6 @@ export const EquicordDevs = Object.freeze({ name: "Loukios", id: 211461918127292416n }, - qdnx: { - name: "qdnx", - id: 1374803023506702508n - }, vappstar: { name: "vappstar", id: 747192967311261748n @@ -1333,10 +1325,18 @@ export const EquicordDevs = Object.freeze({ name: "NassCT", id: 354996937868705793n }, + yafyx: { + name: "kiniyaku", + id: 658209494609821699n + }, dhopcs: { name: "dhopcs", id: 206309860038410240n }, + qdnx: { + name: "qdnx", + id: 1374803023506702508n + }, } satisfies Record); // iife so #__PURE__ works correctly diff --git a/src/utils/types.ts b/src/utils/types.ts index a042ebf3d..36aea6e0e 100644 --- a/src/utils/types.ts +++ b/src/utils/types.ts @@ -277,7 +277,7 @@ export const enum OptionType { export type SettingsDefinition = Record; export type SettingsChecks = { [K in keyof D]?: D[K] extends PluginSettingComponentDef ? IsDisabledOrHidden> : - (IsDisabledOrHidden> & IsValid, DefinedSettings>); + (IsDisabledOrHidden> & IsValid, DefinedSettings>); }; export type PluginSettingDef = @@ -396,13 +396,13 @@ export interface PluginSettingComponentProps { /** Maps a `PluginSettingDef` to its value type */ type PluginSettingType = O extends PluginSettingStringDef ? string : O extends PluginSettingNumberDef ? number : - O extends PluginSettingBigIntDef ? BigInt : - O extends PluginSettingBooleanDef ? boolean : - O extends PluginSettingSelectDef ? O["options"][number]["value"] : - O extends PluginSettingSliderDef ? number : - O extends PluginSettingComponentDef ? O extends { default: infer Default; } ? Default : any : - O extends PluginSettingCustomDef ? O extends { default: infer Default; } ? Default : any : - never; + O extends PluginSettingBigIntDef ? BigInt : + O extends PluginSettingBooleanDef ? boolean : + O extends PluginSettingSelectDef ? O["options"][number]["value"] : + O extends PluginSettingSliderDef ? number : + O extends PluginSettingComponentDef ? O extends { default: infer Default; } ? Default : any : + O extends PluginSettingCustomDef ? O extends { default: infer Default; } ? Default : any : + never; type PluginSettingDefaultType = O extends PluginSettingSelectDef ? ( O["options"] extends { default?: boolean; }[] ? O["options"][number]["value"] : undefined @@ -444,8 +444,8 @@ export type IpcRes = { ok: true; value: V; } | { ok: false, error: any; export type PluginNative any>> = { [key in keyof PluginExports]: PluginExports[key] extends (event: Electron.IpcMainInvokeEvent, ...args: infer Args) => infer Return - ? (...args: Args) => Return extends Promise ? Return : Promise - : never; + ? (...args: Args) => Return extends Promise ? Return : Promise + : never; }; export type AllOrNothing = T | { [K in keyof T]?: never; };