Mga pangunahing konsepto
May ilang bagay na may matibay na paninindigan ang 18ways. Kapag malinaw na ang mga ito, diretso na lang ang natitirang bahagi ng API surface.
Batayang lokal
Ang iyong baseLocale ay ang wikang isinusulat mo.
Kung ang product copy mo ay nakasulat sa British English, ang base locale mo ay en-GB. Kung ito ay nakasulat
sa American English, ang base locale mo ay en-US.
Kapag ang kasalukuyang locale ay tumutugma sa base locale, ibinabalik agad ng 18ways ang source text at nilalaktawan ang gawain sa pagsasalin.
Target na lokalidad
Ang iyong target na locale ay ang wikang kasalukuyang binabasa ng user.
In Next.js, the adapter can resolve it from middleware, cookies, the pathname, and browser preferences.
Mga konteksto
Ang mga context ay kung paano pinagsasama-sama ng 18ways ang magkakaugnay na kopya.
Gamitin ang mga ito para panatilihing maliit ang mga kahilingan sa pagsasalin at maiwasang pagsamahin ang mga hindi magkakaugnay na teksto.
'use client';
import { Ways } from '@18ways/react';
export function MarketingPage() {
return (
<Ways context="marketing">
<Ways context="hero">
<Hero />
</Ways>
<Ways context="pricing">
<Pricing />
</Ways>
</Ways>
);
}Ang mga nested na Ways scope ay nagsasama-sama tungo sa iisang context path. marketing plus hero ay nagiging
marketing.hero.
Mga tinanggap na locale
18ways ay nagkakaiba sa pagitan ng:
- isang locale na makikilala nito, gaya ng
fr-FR - isang lokaling aktuwal na tinatanggap ng iyong proyekto
Maaaring kunin ng runtime ang listahan ng mga tinatanggap na locale mula sa API, at saka gawing normal ang mga papasok na halaga ng locale batay sa listahang iyon.
That is why @18ways/next can do sensible things like redirect /en-US/docs to /en-GB/docs
when only en-GB is enabled.
import type { WaysConfig } from '@18ways/next/config';
export default {
apiKey: 'pk_dummy_demo_token',
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;Pagpupursige
Ang cookie ng preference sa locale na ginagamit ng runtime ay 18ways_locale.
Kapag naglo-load ang mga pagsasalin
@18ways/next can resolve locale on the server, seed context translations, and emit translated
metadata.
Pinagsasaluhang mental na modelo
Panatilihing simple ang modelo:
- Piliin ang tamang package para sa iyong app.
- Itakda nang tama ang base locale.
- Panatilihing matatag at makabuluhan ang mga susi ng konteksto.
- Hayaan ang runtime na magsalin ng buong parirala, hindi mga piraso.
Susunod: Pag-format ng Mensahe