AllAi/packages/i18n/types.ts
2025-11-14 21:54:04 +03:00

200 lines
4.4 KiB
TypeScript

export type PromoContent = {
tag: string;
title: string;
description: string;
bulletPoints: string[];
};
export type HistoryActionDictionary = {
menu: string;
preview: string;
download: string;
copyPrompt: string;
animate: string;
share: string;
delete: string;
};
export type NanoWorkbenchDictionary = {
menuTitle: string;
imageCategoryLabel: string;
videoCategoryLabel: string;
modelLabels: Record<string, string>;
promptLabel: string;
promptPlaceholder: string;
promptHint: string;
formatLabel: string;
formatOptions: Array<{ value: string; label: string }>;
primaryLabel: string;
primaryEmptyTitle: string;
primaryEmptyHint: string;
referencesLabel: string;
referenceEmptyTitle: string;
referenceEmptyHint: string;
removeLabel: string;
deleteTitle: string;
generate: string;
clearAll: string;
history: {
title: string;
subtitle: string;
button: string;
};
historyStatus: {
submitting: string;
waiting: string;
queuing: string;
generating: string;
progressLabel: string;
completed: string;
failed: string;
noResult: string;
promptCopied: string;
promptCopyError: string;
};
historyActions: HistoryActionDictionary;
historyModals: {
previewTitle: string;
animateTitle: string;
animateDescription: string;
animateSelectLabel: string;
animateConfirm: string;
shareTitle: string;
shareSubtitle: string;
shareEmail: string;
shareTelegram: string;
shareWhatsapp: string;
shareCopyLink: string;
shareCopied: string;
deleteTitle: string;
deleteDescription: string;
deleteConfirm: string;
cancel: string;
};
promos: Record<string, PromoContent>;
};
export type VideoWorkbenchDictionary = {
menuTitle: string;
modelLabels: Record<string, string>;
promptLabel: string;
promptPlaceholder: string;
promptHint: string;
negativePromptLabel: string;
negativePromptPlaceholder: string;
modeLabel: string;
modeOptions: Record<string, string>;
aspectLabel: string;
resolutionLabel: string;
personLabel: string;
seedLabel: string;
referenceLabel: string;
referenceHint: string;
removeLabel: string;
generate: string;
clearAll: string;
history: {
title: string;
subtitle: string;
button: string;
};
promos: Record<string, PromoContent>;
};
type PricingPlanId = "starter" | "creator" | "studio";
export type PricingPlanDictionary = {
title: string;
description: string;
features: string[];
};
export type MarketingDictionary = {
pricing: {
heroTitle: string;
heroSubtitle: string;
priceSuffix: string;
buttonLabel: string;
footerTitle: string;
footerBody: string;
plans: Record<PricingPlanId, PricingPlanDictionary>;
};
};
export type Dictionary = {
common: {
brandShort: string;
brandLong: string;
logIn: string;
signOutLabel: string;
balanceLabel: string;
creditsSuffix: string;
searchLabel: string;
languageMenuLabel: string;
};
navigation: {
suite: string;
home: string;
stock: string;
community: string;
about: string;
pricing: string;
faq: string;
blog: string;
imageGenerator: string;
videoGenerator: string;
assistant: string;
allTools: string;
creations: string;
pinned: string;
};
actions: {
upgrade: string;
upgradeDescription: string;
create: string;
};
dashboard: {
welcome: string;
selectModel: string;
guidedMode: string;
proMode: string;
promptPlaceholder: string;
tasks: string;
history: string;
historyEmpty: string;
inspiration: string;
inspirationRefresh: string;
recent: string;
};
nanoWorkbench: NanoWorkbenchDictionary;
videoWorkbench: VideoWorkbenchDictionary;
marketing: MarketingDictionary;
auth: {
loginTitle: string;
loginSubtitle: string;
registerTitle: string;
registerSubtitle: string;
emailLabel: string;
passwordLabel: string;
confirmPasswordLabel: string;
submitLogin: string;
submitRegister: string;
orDivider: string;
googleButton: string;
registerCta: string;
registerLink: string;
loginCta: string;
loginLink: string;
errorGeneric: string;
passwordMismatch: string;
};
account: {
title: string;
subtitle: string;
balanceLabel: string;
historyTitle: string;
historyEmpty: string;
refreshLabel: string;
};
};