Remix / server: RemixI18nServer
Functions, types, and exports for Remix / server: RemixI18nServer.
Page outline
import type { RemixI18nServer } from "@palamedes/remix/server"
type RemixI18nServer<TLocale extends string> = {
resolveLocale(input: RemixI18nRunInput): RemixResolvedLocale<TLocale>;
run<Result>(input: RemixI18nRunInput, callback: (context: RemixI18nContextValue<TLocale, PalamedesI18n>) => Result | Promise<Result>): Promise<Result>;
middleware(): Middleware<{
key: typeof remixI18nContext;
value: RemixI18nContextValue<TLocale, PalamedesI18n>;
property: "palamedes";
}>;
get(context?: RemixI18nContextReader): RemixI18nContextValue<TLocale, PalamedesI18n> | undefined;
createClientCatalogAsset(locale: TLocale): RemixClientCatalogAsset<TLocale>;
/**
* Render the catalog preload link. The bootstrap loads the catalog from
* `catalogAssets.basePath` through its import-map data, never from this link,
* so a `basePath` override changes only the preload URL.
*/
renderClientCatalog(locale: TLocale, options?: {
basePath?: string;
}): string;
/** Render the stable Remix import map and external adapter bootstrap for an entry file. */
renderClientEntry(entryPath: string, options: RemixClientEntryOptions): Promise<string>;
serveClientCatalogAsset(request: Request): Response | undefined;
serializeLocaleCookie(locale: TLocale): string;
};
resolveLocale
resolveLocale(input: RemixI18nRunInput): RemixResolvedLocale<TLocale>
Parameters
| Name | Type | Required |
|---|---|---|
input | RemixI18nRunInput | Yes |
Returns
RemixResolvedLocale<TLocale>
run
run<Result>(input: RemixI18nRunInput, callback: (context: RemixI18nContextValue<TLocale, PalamedesI18n>) => Result | Promise<Result>): Promise<Result>
Parameters
| Name | Type | Required |
|---|---|---|
input | RemixI18nRunInput | Yes |
callback | (context: RemixI18nContextValue<TLocale, PalamedesI18n>) => Result | Promise<Result> | Yes |
Returns
Promise<Result>
middleware
middleware(): Middleware<{
key: typeof remixI18nContext;
value: RemixI18nContextValue<TLocale, PalamedesI18n>;
property: "palamedes";
}>
Returns
Middleware<{ key: typeof remixI18nContext; value: RemixI18nContextValue<TLocale, PalamedesI18n>; property: "palamedes" }>
get
get(context?: RemixI18nContextReader): RemixI18nContextValue<TLocale, PalamedesI18n> | undefined
Parameters
| Name | Type | Required |
|---|---|---|
context | RemixI18nContextReader | No |
Returns
RemixI18nContextValue<TLocale, PalamedesI18n> | undefined
createClientCatalogAsset
createClientCatalogAsset(locale: TLocale): RemixClientCatalogAsset<TLocale>
Parameters
| Name | Type | Required |
|---|---|---|
locale | TLocale | Yes |
Returns
RemixClientCatalogAsset<TLocale>
renderClientCatalog
Render the catalog preload link. The bootstrap loads the catalog from
catalogAssets.basePath through its import-map data, never from this link,
so a basePath override changes only the preload URL.
renderClientCatalog(locale: TLocale, options?: {
basePath?: string;
}): string
Parameters
| Name | Type | Required |
|---|---|---|
locale | TLocale | Yes |
options | { basePath?: string } | No |
Returns
string
renderClientEntry
Render the stable Remix import map and external adapter bootstrap for an entry file.
renderClientEntry(entryPath: string, options: RemixClientEntryOptions): Promise<string>
Parameters
| Name | Type | Required |
|---|---|---|
entryPath | string | Yes |
options | RemixClientEntryOptions | Yes |
Returns
Promise<string>
serveClientCatalogAsset
serveClientCatalogAsset(request: Request): Response | undefined
Parameters
| Name | Type | Required |
|---|---|---|
request | Request | Yes |
Returns
Response | undefined
serializeLocaleCookie
serializeLocaleCookie(locale: TLocale): string
Parameters
| Name | Type | Required |
|---|---|---|
locale | TLocale | Yes |
Returns
string
Last updated: November 1, 2026