Referência do Next.js
init(options)
Importar de @18ways/next/server.
import { init } from '@18ways/next/server';Opções comuns:
| Opção | Tipo | Notas |
|---|---|---|
apiKey | string | Obrigatório. |
baseLocale | string | Localidade de origem para o aplicativo. |
localidade | string | Substituição de localidade fixa opcional. |
localesAceitas | string[] | Lista de locais explícita opcional. |
persistLocaleCookie | boolean | ((request) => boolean) | Política de cookies de localidade padrão para middleware e alterações de localidade do cliente. |
cacheTtl | número | TTL de cache para solicitações de adaptador. |
fetcher | typeof fetch | Implementação de busca personalizada. |
caminhoRoteamento | WaysPathRoutingConfig | Incluir 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:
| Campo | O que faz |
|---|---|
WaysRoot | Wrapper 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:
{
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.