Referência do Next.js

init(options)

Importar de @18ways/next/server.

ts
import { init } from '@18ways/next/server';

Opções comuns:

OpçãoTipoNotas
apiKeystringObrigatório.
baseLocalestringLocalidade de origem para o aplicativo.
localidadestringSubstituição de localidade fixa opcional.
localesAceitasstring[]Lista de locais explícita opcional.
persistLocaleCookieboolean | ((request) => boolean)Política de cookies de localidade padrão para middleware e alterações de localidade do cliente.
cacheTtlnúmeroTTL de cache para solicitações de adaptador.
fetchertypeof fetchImplementação de busca personalizada.
caminhoRoteamentoWaysPathRoutingConfigIncluir ou excluir rotas com prefixo de localidade.

WaysRoot

Use WaysRoot no layout do seu App Router para que o adaptador possa inicializar o estado em tempo de execução para a requisição atual.

htmlAttrs()

htmlAttrs() resolve os valores atuais de lang e dir para o elemento do documento.

generateWaysMetadata()

Use generateWaysMetadata() dentro de generateMetadata() quando você quiser títulos traduzidos, descrições e URLs canônicas ou alternativas que considerem a localidade.

waysMiddleware()

waysMiddleware() é a API de middleware no tempo de requisição retornada de init(). Ela resolve o estado de localidade, aplica cookies de localidade e retorna o NextResponse final. Use transformRequestHeaders ou transformResponse quando precisar de um comportamento personalizado.

valor de retorno de init()

init() retorna estes campos:

CampoO que faz
WaysRootWrapper raiz para layouts do App Router.
htmlAttrs()Resolve lang e dir para a solicitação atual.
generateWaysMetadata()Cria metadados cientes da localidade e pode traduzir strings de metadados.
waysMiddleware()Resolve o comportamento do middleware ciente da localidade e retorna uma resposta.

Ajuda para clientes

Importar de @18ways/next/client.

useLocale()

Leia e altere a localidade atual. Este é o gancho que você emparelha com LanguageSwitcher ou sua própria interface de seleção personalizada.

useUnlocalizedPathname()

Leia o caminho atual sem o prefixo de localidade.

useLocalizedHref()

Converta um href interno em um href que considere a localidade atual.

localizePathname()

Auxiliar puro para construir um caminho localizado fora do React.

stripLocalePrefix()

Auxiliar puro para remover um prefixo de localidade de um caminho.

Path routing config

WaysPathRoutingConfig aceita:

ts
{
  include?: Array<string | RegExp>;
  exclude?: Array<string | RegExp>;
}

Use-o quando URLs públicas devem ter prefixos de localidade. Deixe-o de fora quando você quiser seleção de localidade baseada em cookies ou cabeçalhos sem reescrita de caminho.

Lower-level exports

Também existem exportações de RSC e middleware em @18ways/next/rsc e @18ways/next/server, mas para a maioria dos aplicativos, a superfície init() acima é a abstração correta.