working i18n conf
This commit is contained in:
parent
15b825bd5d
commit
1ab35db47d
19 changed files with 479 additions and 369 deletions
30
.astro-i18n/generated.d.ts
vendored
30
.astro-i18n/generated.d.ts
vendored
|
@ -1,23 +1,45 @@
|
|||
type DefaultLangCode = "fr"
|
||||
type SupportedLangCode = "en"
|
||||
type LangCode = "fr" | "en"
|
||||
type RouteUri = | "/articles" | "/tags/[tag]" | "/tags" | "/"
|
||||
type RouteParams = {"/articles": undefined; "/tags/[tag]": { "tag": string; }; "/tags": undefined; "/": undefined; }
|
||||
type TranslationPath = "accueil" | "tagline" | "copyright" | "contact" | "contactLien" | "contactTel" | "contenuVide" | "header.skipLink" | "header.mainNav" | "header.homeLink" | "sitemap" | "prevNext.contenus" | "prevNext.precedent" | "prevNext.suivant" | "article.titre" | "article.tagline" | "meta.publication" | "meta.modification" | "meta.credit" | "fragments.titre" | "fragments.tagline" | "projet.titre" | "projet.tagline" | "projet.cta" | "projet.lienTitle" | "projet.fenetre" | "erreur.introuvable" | "erreur.autre" | "erreur.lienRetour" | "seo.article.title" | "seo.article.description" | "seo.projet.title" | "seo.projet.description" | "seo.code.title" | "seo.code.description" | "index.articles" | "index.title" | "index.quoi" | "index.comment" | "index.opensource" | "index.projetsRecents" | "index.articlesRecents"
|
||||
type TranslationOptions = { "accueil": {} | undefined; "tagline": {} | undefined; "copyright": {} | undefined; "contact": {} | undefined; "contactLien": {} | undefined; "contactTel": {} | undefined; "contenuVide": {} | undefined; "header.skipLink": {} | undefined; "header.mainNav": {} | undefined; "header.homeLink": {} | undefined; "sitemap": {} | undefined; "prevNext.contenus": {} | undefined; "prevNext.precedent": {} | undefined; "prevNext.suivant": {} | undefined; "article.titre": {} | undefined; "article.tagline": {} | undefined; "meta.publication": {} | undefined; "meta.modification": {} | undefined; "meta.credit": {} | undefined; "fragments.titre": {} | undefined; "fragments.tagline": {} | undefined; "projet.titre": {} | undefined; "projet.tagline": {} | undefined; "projet.cta": {} | undefined; "projet.lienTitle": {} | undefined; "projet.fenetre": {} | undefined; "erreur.introuvable": {} | undefined; "erreur.autre": {} | undefined; "erreur.lienRetour": {} | undefined; "seo.article.title": {} | undefined; "seo.article.description": {} | undefined; "seo.projet.title": {} | undefined; "seo.projet.description": {} | undefined; "seo.code.title": {} | undefined; "seo.code.description": {} | undefined; "index.articles": {} | undefined; "index.title": {} | undefined; "index.quoi": {} | undefined; "index.comment": {} | undefined; "index.opensource": {} | undefined; "index.projetsRecents": {} | undefined; "index.articlesRecents": {} | undefined; }
|
||||
type TranslationPath = "accueil" | "tagline" | "copyright" | "contact" | "contactLien" | "contactTel" | "contenuVide" | "header.skipLink" | "header.mainNav" | "header.homeLink" | "sitemap" | "prevNext.contenus" | "prevNext.precedent" | "prevNext.suivant" | "article.titre" | "article.tagline" | "article.published" | "meta.publication" | "meta.modification" | "meta.credit" | "fragments.titre" | "fragments.tagline" | "projet.titre" | "projet.tagline" | "projet.cta" | "projet.lienTitle" | "projet.fenetre" | "erreur.introuvable" | "erreur.autre" | "erreur.lienRetour" | "seo.article.title" | "seo.article.description" | "seo.projet.title" | "seo.projet.description" | "seo.code.title" | "seo.code.description" | "index.articles" | "index.title" | "index.quoi" | "index.comment" | "index.opensource" | "index.projetsRecents" | "index.articlesRecents"
|
||||
type TranslationOptions = { "accueil": {} | undefined; "tagline": {} | undefined; "copyright": {} | undefined; "contact": {} | undefined; "contactLien": {} | undefined; "contactTel": {} | undefined; "contenuVide": {} | undefined; "header.skipLink": {} | undefined; "header.mainNav": {} | undefined; "header.homeLink": {} | undefined; "sitemap": {} | undefined; "prevNext.contenus": {} | undefined; "prevNext.precedent": {} | undefined; "prevNext.suivant": {} | undefined; "article.titre": {} | undefined; "article.tagline": {} | undefined; "article.published": { datetime: unknown; options: unknown; }; "meta.publication": {} | undefined; "meta.modification": {} | undefined; "meta.credit": {} | undefined; "fragments.titre": {} | undefined; "fragments.tagline": {} | undefined; "projet.titre": {} | undefined; "projet.tagline": {} | undefined; "projet.cta": {} | undefined; "projet.lienTitle": {} | undefined; "projet.fenetre": {} | undefined; "erreur.introuvable": {} | undefined; "erreur.autre": {} | undefined; "erreur.lienRetour": {} | undefined; "seo.article.title": {} | undefined; "seo.article.description": {} | undefined; "seo.projet.title": {} | undefined; "seo.projet.description": {} | undefined; "seo.code.title": {} | undefined; "seo.code.description": {} | undefined; "index.articles": {} | undefined; "index.title": {} | undefined; "index.quoi": {} | undefined; "index.comment": {} | undefined; "index.opensource": {} | undefined; "index.projetsRecents": {} | undefined; "index.articlesRecents": {} | undefined; }
|
||||
|
||||
declare module "astro-i18n" {
|
||||
export * from "astro-i18n/"
|
||||
|
||||
export function l<Uri extends RouteUri>(
|
||||
route: Uri,
|
||||
route: Uri | string & {},
|
||||
...args: undefined extends RouteParams[Uri]
|
||||
? [params?: RouteParams[Uri], query?: Record<string, string>, langCode?: LangCode]
|
||||
: [params: RouteParams[Uri], query?: Record<string, string>, langCode?: LangCode]
|
||||
): string
|
||||
|
||||
export function t<Path extends TranslationPath>(
|
||||
path: Path,
|
||||
path: Path | string & {},
|
||||
...args: undefined extends TranslationOptions[Path]
|
||||
? [options?: TranslationOptions[Path], langCode?: LangCode]
|
||||
: [options: TranslationOptions[Path], langCode?: LangCode]
|
||||
): string
|
||||
|
||||
type Translation = string | { [translationKey: string]: string | Translation }
|
||||
type Translations = { [langCode: string]: Record<string, Translation> }
|
||||
type RouteTranslations = { [langCode: string]: Record<string, string> }
|
||||
type InterpolationFormatter = (value: unknown, ...args: unknown[]) => string
|
||||
class AstroI18n {
|
||||
defaultLangCode: DefaultLangCode
|
||||
supportedLangCodes: SupportedLangCode[]
|
||||
showDefaultLangCode: boolean
|
||||
translations: Translations
|
||||
routeTranslations: RouteTranslations
|
||||
get langCodes(): LangCode[]
|
||||
get langCode(): LangCode
|
||||
set langCode(langCode: LangCode)
|
||||
get formatters(): Record<string, InterpolationFormatter>
|
||||
getFormatter(name: string): InterpolationFormatter | undefined
|
||||
setFormatter(name: string, formatter: InterpolationFormatter): void
|
||||
deleteFormatter(name: string): void
|
||||
}
|
||||
export const astroI18n: AstroI18n
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue