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; };