prod-wag-backend-automate-s.../WebServices/management-frontend/src/validations/translations/translation.tsx

77 lines
1.4 KiB
TypeScript

// Define TypeScript interfaces for menu structure
interface LanguageTranslation {
tr: string;
en: string;
}
interface MenuThirdLevel {
name: string;
lg: LanguageTranslation;
siteUrl: string;
}
interface MenuSecondLevel {
name: string;
lg: LanguageTranslation;
subList: MenuThirdLevel[];
}
interface MenuFirstLevel {
name: string;
lg: LanguageTranslation;
subList: MenuSecondLevel[];
}
// Define interfaces for the filtered menu structure
interface FilteredMenuThirdLevel {
name: string;
lg: LanguageTranslation;
siteUrl: string;
}
interface FilteredMenuSecondLevel {
name: string;
lg: LanguageTranslation;
subList: FilteredMenuThirdLevel[];
}
interface FilteredMenuFirstLevel {
name: string;
lg: LanguageTranslation;
subList: FilteredMenuSecondLevel[];
}
interface PageProps {
lang: keyof LanguageTranslation;
queryParams?: { [key: string]: string | undefined };
}
type PageComponent = React.ComponentType<PageProps>;
export type LanguageKey = "en" | "tr";
export interface TranslationSet {
showing: string;
of: string;
items: string;
total: string;
filtered: string;
page: string;
previous: string;
next: string;
itemsPerPage: string;
}
export type {
PageComponent,
PageProps,
MenuFirstLevel,
MenuSecondLevel,
MenuThirdLevel,
FilteredMenuFirstLevel,
FilteredMenuSecondLevel,
FilteredMenuThirdLevel,
LanguageTranslation,
};