diff --git a/src/env.d.ts b/src/env.d.ts deleted file mode 100644 index 44036c3..0000000 --- a/src/env.d.ts +++ /dev/null @@ -1,229 +0,0 @@ -/* - * This file is a part of the SteamWar software. - * - * Copyright (C) 2023 SteamWar.de-Serverteam - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/// -/// - -/// - -/// - -// ###> astro-i18n/type-generation ### -type PrimaryLocale = "en" -type SecondaryLocale = "de" -type Locale = PrimaryLocale | SecondaryLocale -type RouteParameters = {"/dashboard":undefined;"/downloads":undefined;"/":undefined;"/login":undefined;"/[...slug]":{"slug":unknown;};"/admin":undefined;"/announcements":undefined;"/announcements/[...slug]":{"slug":unknown;};"/announcements/tags/[tag]":{"tag":unknown;};"/help":undefined;"/help/[...slug]":{"slug":unknown;};"/ranked/[...gamemode]":{"gamemode":unknown;};"/rules":undefined;"/rules/[mode]":{"mode":unknown;};"/stats/fight":undefined;} -type Route = keyof RouteParameters -type TranslationVariables = {"dashboard.page":object|undefined;"dashboard.title":{"name"?:unknown;}|undefined;"dashboard.rank":{"rank"?:unknown;}|undefined;"dashboard.permissions":object|undefined;"dashboard.buttons.logout":object|undefined;"dashboard.buttons.admin":object|undefined;"dashboard.schematic.upload":object|undefined;"dashboard.schematic.home":object|undefined;"dashboard.schematic.dir":object|undefined;"dashboard.schematic.head.type":object|undefined;"dashboard.schematic.head.name":object|undefined;"dashboard.schematic.head.owner":object|undefined;"dashboard.schematic.head.updated":object|undefined;"dashboard.schematic.head.replaceColor":object|undefined;"dashboard.schematic.head.allowReplay":object|undefined;"dashboard.schematic.info.path":{"path"?:unknown;}|undefined;"dashboard.schematic.info.replaceColor":object|undefined;"dashboard.schematic.info.allowReplay":object|undefined;"dashboard.schematic.info.type":{"type"?:unknown;}|undefined;"dashboard.schematic.info.updated":{"updated"?:unknown;}|undefined;"dashboard.schematic.info.item":{"item"?:unknown;}|undefined;"dashboard.schematic.info.members":{"members"?:unknown;}|undefined;"dashboard.schematic.info.btn.download":object|undefined;"dashboard.schematic.info.btn.close":object|undefined;"login.page":object|undefined;"login.title":object|undefined;"login.placeholder.username":object|undefined;"login.placeholder.token":object|undefined;"login.label.username":object|undefined;"login.label.token":object|undefined;"login.generateToken":object|undefined;"login.submit":object|undefined;"login.error":object|undefined;"blog.title":object|undefined;"page":object|undefined;"wg.description":object|undefined;"as.description":object|undefined;"ws.description":object|undefined;"mwg.description":object|undefined;"rules":object|undefined;"announcements":object|undefined;"ranking":object|undefined;"title":{"mode"?:unknown;}|undefined;"stats.title":object|undefined;"navbar.title":object|undefined;"navbar.logo.alt":object|undefined;"navbar.links.home.title":object|undefined;"navbar.links.home.announcements":object|undefined;"navbar.links.home.about":object|undefined;"navbar.links.home.downloads":object|undefined;"navbar.links.home.faq":object|undefined;"navbar.links.rules.title":object|undefined;"navbar.links.rules.gamemode":object|undefined;"navbar.links.rules.wg":object|undefined;"navbar.links.rules.mwg":object|undefined;"navbar.links.rules.ws":object|undefined;"navbar.links.rules.as":object|undefined;"navbar.links.rules.qg":object|undefined;"navbar.links.rules.rotating":object|undefined;"navbar.links.rules.megawg":object|undefined;"navbar.links.rules.micro":object|undefined;"navbar.links.rules.sf":object|undefined;"navbar.links.rules.general":object|undefined;"navbar.links.rules.coc":object|undefined;"navbar.links.help.title":object|undefined;"navbar.links.help.center":object|undefined;"navbar.links.help.docs":object|undefined;"navbar.links.account":object|undefined;"status.loading":object|undefined;"status.status":object|undefined;"status.online":object|undefined;"status.offline":object|undefined;"status.players":{"count"?:unknown;}|undefined;"status.version":{"version"?:unknown;}|undefined;"home.page":object|undefined;"home.title.first":object|undefined;"home.title.second":object|undefined;"home.subtitle.1":object|undefined;"home.subtitle.2":object|undefined;"home.subtitle.3":object|undefined;"home.join":object|undefined;"home.benefits.historic.title":object|undefined;"home.benefits.historic.description.1":object|undefined;"home.benefits.historic.description.2":object|undefined;"home.benefits.server.title":object|undefined;"home.benefits.server.description":object|undefined;"home.benefits.events.title":object|undefined;"home.benefits.events.description.1":object|undefined;"home.benefits.events.description.2":object|undefined;"home.benefits.read":object|undefined;"home.prefix.Admin":object|undefined;"home.prefix.Dev":object|undefined;"home.prefix.Mod":object|undefined;"home.prefix.Sup":object|undefined;"home.prefix.Arch":object|undefined;"footer.imprint":object|undefined;"footer.privacy":object|undefined;"footer.coc":object|undefined;"footer.stats":object|undefined;"footer.gamemodes":object|undefined;"footer.announcements":object|undefined;"footer.join":object|undefined;"wg.title":object|undefined;"mwg.title":object|undefined;"ws.title":object|undefined;"as.title":object|undefined;"qg.title":object|undefined;"ranking.heading":{"mode"?:unknown;}|undefined;"announcements.table.time":object|undefined;"announcements.table.blue":object|undefined;"announcements.table.red":object|undefined;"announcements.table.team":object|undefined;"announcements.table.points":object|undefined;"elo.place":object|undefined;"elo.name":object|undefined;"elo.elo":object|undefined;"elo.title":{"mode"?:unknown;}|undefined;"warning.title":object|undefined;"warning.text":object|undefined;} -type Translation = keyof TranslationVariables -type Environment = "none"|"node"|"browser" -declare module "astro-i18n" { - type GetStaticPathsProps = {paginate:Function;rss:Function} - type GetStaticPathsItem = {params:Record;props?:Record} - type DeepStringRecord = {[key: string]:string|DeepStringRecord} - type TranslationDirectory = {i18n?:string;pages?: string} - export type Translations = {[group: string]:{[locale: string]: DeepStringRecord}} - export type TranslationFormatters = {[formatterName: string]:(value:unknown,...args:unknown[])=>unknown} - export type TranslationLoadingRules = {groups:string[];routes: string[]}[] - export type SegmentTranslations = {[secondaryLocale: string]:{[segment: string]:string}} - export interface AstroI18nConfig {primaryLocale:string;secondaryLocales:string[];fallbackLocale:string;showPrimaryLocale:boolean;trailingSlash:"always"|"never";run:"server"|"client+server";translations:Translations;translationLoadingRules:TranslationLoadingRules;translationDirectory:TranslationDirectory;routes:SegmentTranslations;} - /** Typed astro-i18n config definition. */ - export function defineAstroI18nConfig(config: Partial): Partial - /** The `astro-i18n` middleware. */ - export function useAstroI18n( - config?: Partial | string, - formatters?: TranslationFormatters, - ): (...args: any[]) => any - /** Workaround function to make astroI18n work inside getStaticPaths. This is because Astro's getStaticPaths runs before everything which doesn't allows astroI18n to update its state automatically. */ - function createGetStaticPaths( - callback: ( - props: GetStaticPathsProps, - ) => GetStaticPathsItem[] | Promise, - ): (props: GetStaticPathsProps & { - astroI18n?: { - locale: string; - }; - }) => Promise - /** - * @param key The translation key, for example `"my.nested.translation.key"`. - * @param properties An object containing your interpolation variables and/or your variants, for example `{ variant: 3, interpolation: "text" }`. - * @param options `route`: Overrides the current route, you will be able to access that route's translations. `locale`: Overrides the current locale, this allows you to control which language you want to translate to. `fallbackLocale`: Overrides the fallback locale. - */ - export function t( - key: T | string & {}, - ...args: undefined extends TranslationVariables[T] - ? [ - properties?: keyof TranslationVariables extends T - ? Record - : TranslationVariables[T], - options?: { - route?: Route | string & {} - locale?: Locale | string & {} - fallbackLocale?: Locale | string & {} - } - ] - : [ - properties: TranslationVariables[T], - options?: { - route?: Route | string & {} - locale?: Locale | string & {} - fallbackLocale?: Locale | string & {} - } - ] - ): string - /** - * @param route A route in any of the configured languages, for example `"/en/my/english/route/[param]"`. - * @param parameters An object containing your route parameters, for example `{ slug: "my-blog-post-slug" }`. - * @param options `targetLocale`: Overrides the target locale. `routeLocale`: Overrides the given route locale, this is useful if astro-i18n cannot figure out the route's locale. `showPrimaryLocale`: Overrides the showPrimaryLocale parameter. `query`: Adds these query parameters at the end of the translated route. - */ - export function l( - route: T | string & {}, - ...args: T extends keyof RouteParameters - ? undefined extends RouteParameters[T] - ? [ - parameters?: Record, - options?: { - targetLocale?: string, - routeLocale?: string, - showPrimaryLocale?: string, - query?: Record - } - ] - : [ - parameters: RouteParameters[T], - options?: { - targetLocale?: string, - routeLocale?: string, - showPrimaryLocale?: string, - query?: Record - } - ] - : [ - parameters?: Record, - options?: { - targetLocale?: string, - routeLocale?: string, - showPrimaryLocale?: string, - query?: Record - } - ] - ): string - class AstroI18n { - /** The detected runtime environment. */ - environment: Environment - /** The current page route. */ - route: string - /** All page routes. For example: `["/", "/about", "/posts/[slug]"]` */ - pages: string[] - /** The equivalent page for the current route. For example if route is equal to `"/posts/my-cool-cat"` this could return `"/posts/[slug]"`. */ - page: string - /** The current page locale. */ - locale: Locale - /** All configured locales. */ - locales: Locale[] - /** The default/primary locale. */ - primaryLocale: PrimaryLocale - /** Locales other than the default/primary one. */ - secondaryLocales: SecondaryLocale[] - /** The fallback locale, when a translation is missing in a locale the fallback locale will be used to find a replacement. */ - fallbackLocale: Locale - /** True when astro-i18n is initialized. */ - isInitialized: boolean - /** - * @param key The translation key, for example `"my.nested.translation.key"`. - * @param properties An object containing your interpolation variables and/or your variants, for example `{ variant: 3, interpolation: "text" }`. - * @param options `route`: Overrides the current route, you will be able to access that route's translations. `locale`: Overrides the current locale, this allows you to control which language you want to translate to. `fallbackLocale`: Overrides the fallback locale. - */ - t( - key: T | string & {}, - ...args: undefined extends TranslationVariables[T] - ? [ - properties?: keyof TranslationVariables extends T - ? Record - : TranslationVariables[T], - options?: { - route?: Route | string & {} - locale?: Locale | string & {} - fallbackLocale?: Locale | string & {} - } - ] - : [ - properties: TranslationVariables[T], - options?: { - route?: Route | string & {} - locale?: Locale | string & {} - fallbackLocale?: Locale | string & {} - } - ] - ): string - /** - * @param route A route in any of the configured languages, for example `"/en/my/english/route/[param]"`. - * @param parameters An object containing your route parameters, for example `{ slug: "my-blog-post-slug" }`. - * @param options `targetLocale`: Overrides the target locale. `routeLocale`: Overrides the given route locale, this is useful if astro-i18n cannot figure out the route's locale. `showPrimaryLocale`: Overrides the showPrimaryLocale parameter. `query`: Adds these query parameters at the end of the translated route. - */ - l( - route: T | string & {}, - ...args: T extends keyof RouteParameters - ? undefined extends RouteParameters[T] - ? [ - parameters?: Record, - options?: { - targetLocale?: string, - routeLocale?: string, - showPrimaryLocale?: string, - query?: Record - } - ] - : [ - parameters: RouteParameters[T], - options?: { - targetLocale?: string, - routeLocale?: string, - showPrimaryLocale?: string, - query?: Record - } - ] - : [ - parameters?: Record, - options?: { - targetLocale?: string, - routeLocale?: string, - showPrimaryLocale?: string, - query?: Record - } - ] - ): string - /** Adds new translations at runtime. */ - addTranslations(translations: Translations): this - /** Adds new translation formatters at runtime. */ - addFormatters(translationFormatters: TranslationFormatters): this - /** Adds new translation loading rules at runtime. */ - addTranslationLoadingRules(translationLoadingRules: TranslationLoadingRules): this - /** Adds new route segment translations at runtime. */ - addRoutes(routes: SegmentTranslations): this - /** Tries to parse one of the configured locales out of the given route. If no configured locale is found it will return `null`. */ - extractRouteLocale(route: string): string|null - /** Initializes astro-i18n on the server-side. */ - initialize(config?: Partial | string, formatters?: TranslationFormatters = {}): Promise - /** Redirects the user to the given destination. */ - redirect(destination: string | URL, status = 301) - } - export const astroI18n: AstroI18n -} -// ###< astro-i18n/type-generation ###