Next.js reference

18ways.config.*

Lumikha ng 18ways.config.ts, 18ways.config.js, o 18ways.config.cjs sa root ng iyong app at i-export do'n ang iyong 18ways config.

ts
import type { WaysConfig } from '@18ways/next/config';
 
export default {
  apiKey: process.env.NEXT_PUBLIC_18WAYS_PUBLIC_API_KEY,
  baseLocale: 'en-GB',
  router: 'app', // 'app', 'path', or 'none' depending on if you use app router, path router, or if you don't want the router to sync with locale at all
} satisfies WaysConfig;

withWays()

Mag-import mula sa @18ways/next/config at tawagin ito mula sa next.config.js.

ts
import { withWays } from '@18ways/next/config';

Kapag may 18ways.config.*, awtomatikong nilo-load ito ng withWays(). Para sa router: 'path', ibinabalik nito ang native na Next i18n config na naka-disable ang locale detection. Para sa router: 'app' at router: 'none', ini-inject nito ang alias na kailangan para sa direktang mga import mula sa @18ways/next/server.

Karaniwang mga opsyon:

OpsyonUriMga Tala
apiKeystringKinakailangan.
baseLocalestringSource locale at default locale para sa routing.
router'app' | 'path' | 'none'Mode ng locale routing. Gamitin ang none kapag may ibang router na may-ari na ng mga URL ng locale.
mgaTinanggapNaWikastring[]Eksplisit na listahan ng locale. Kinakailangan para sa path, opsyonal sa iba. Panatilihing naka-sync ang mode na path sa mga wikang naka-enable sa iyong 18ways dashboard.
domainsArray<{domain, defaultLocale}>Opsyonal na mapa ng domain routing.
localeParamNamestringApp Router locale segment param. Naka-default sa lang.
persistLocaleCookieboolean | ((request) => boolean)Patakaran sa pagpapanatili ng locale-cookie para sa mga pagbabago ng locale sa server at client.
cacheTtlnumeroCache TTL para sa mga request ng adapter.
fetchertypeof fetchPasadyang implementasyon ng pagkuha.

init(config)

I-import mula sa @18ways/next/server.

Gamitin ito kapag gusto mong tahasang i-bind ang isang config object.

WaysRoot

I-import ang WaysRoot nang direkta mula sa @18ways/next/server sa iyong mga layout pagkatapos balutin ang next.config.js gamit ang withWays(...).

Gamitin ang WaysRoot sa iyong layout para makapag-seed ang adapter ng runtime state para sa kasalukuyang request. Sa App Router locale routing, karaniwan itong nangangahulugang app/[lang]/layout.tsx.

getLocale()

I-resolve ang kasalukuyang locale sa server. Ito ang helper na gamitin kapag kailangan mo ng locale state sa labas ng WaysRoot, halimbawa sa mga server-only SEO helper o iba pang server code na nakatali sa request.

htmlAttrs()

htmlAttrs() resolves the current lang and dir values for the document element.

generateWaysMetadata()

Use generateWaysMetadata() inside generateMetadata() when you want translated titles, descriptions, and locale-aware canonical or alternate URLs.

proxy.ts

Para sa router: 'app', ang proxy.ts ang opinyonadong entrypoint para sa mga redirect ng locale sa oras ng request. I-re-export mula sa @18ways/next/proxy para asikasuhin ang / -> /{locale} at canonicalization ng domain.

ts
export { default, config } from '@18ways/next/proxy';

Kung mayroon ka nang sariling project na proxy.ts o middleware.ts, gamitin ang getWaysProxyResponse(request) at ibalik ito bago ang natitirang logic mo.

Client helpers

Import from @18ways/next/client.

useLocale()

Read and change the current locale. This is the hook you pair with LanguageSwitcher or your own custom selector UI.

useRouter()

Wrapper na aware sa locale sa ibabaw ng Next navigation. Ipasa ang locale="fr-FR" para piliting gumamit ng localized na target o locale={false} para piliting gumamit ng walang localization.

Wrapper na aware sa locale sa ibabaw ng next/link na may kaparehong override model gaya ng useRouter().

useUnlocalizedPathname()

Basahin ang kasalukuyang pathname nang walang locale prefix.

useLocalizedHref()

Mas mababang antas na helper para gawing kasalukuyang locale-aware na href ang internal na href.

Path routing config

Sa mode na router: 'app', sinusunod ng adapter ang iyong route tree:

  • ang mga route sa ilalim ng app/[lang]/... ay localized
  • mananatiling walang localization ang mga route sa labas ng segment na iyon

Itinuturing ng Link, useRouter(), at setLocale() na naka-localize ang mga internal route bilang default. Gamitin ang locale={false} lang kapag kailangan mong tahasang tumarget ng unlocalized na route.

Pinapalitan ang wika
Sanggunian sa Next.js