Mga pangunahing konsepto
May ilang bagay na may matibay na pananaw ang 18ways. Kapag malinaw na ang mga ito, diretso na ang natitirang bahagi ng API surface.
Batayang lokal
Ang iyong baseLocale ay ang wika kung saan ka nagsusulat.
Kung nakasulat sa British English ang text ng iyong produkto, ang base locale mo ay en-GB. Kung nakasulat ito
sa American English, ang base locale mo ay en-US.
Kapag tumutugma ang kasalukuyang locale sa base locale, agad na ibinabalik ng 18ways ang source text at nilalaktawan ang trabaho sa pagsasalin.
Target na lokasyon
Ang target na locale mo ay ang wikang kasalukuyang binabasa ng user.
Sa Vanilla JS, direktang itinakda mo ito sa engine gamit ang engine.setLocale(...).
Mga Konteksto
Ang mga Context ay kung paano pinagsasama-sama ng 18ways ang magkakaugnay na kopya.
Gamitin ang mga ito para mapanatiling maliit ang mga kahilingan sa pagsasalin at upang maiwasan ang paghahalo-halo ng mga tekstong hindi magkakaugnay.
import { create18waysEngine } from '@18ways/core/engine';
const engine = create18waysEngine({
apiKey: 'pk_dummy_demo_token',
baseLocale: 'en-GB',
locale: 'fr-FR',
context: 'marketing',
});
const heroTitle = await engine.t('Wrap your text. We handle the rest.', {
context: 'marketing.hero',
});
const pricingTitle = await engine.t('Simple pricing', {
context: 'marketing.pricing',
});Gumamit ng matatag na mga pangalan ng konteksto para manatiling magkakasama ang magkakaugnay na kopya.
Mga tanggap na locale
Ipinag-iiba ng 18ways ang pagitan ng:
- isang locale na makikilala nito, tulad ng
fr-FR - isang locale na talagang tinatanggap ng iyong proyekto
Sa core package, karaniwan mong itinatago ang listahan ng mga tinatanggap na locale sa sarili mong app at kino-normalize
bago tawagan ang engine.setLocale(...).
const acceptedLocales = ['en-GB', 'fr-FR', 'de-DE'];
function setLocale(nextLocale: string) {
const locale = acceptedLocales.includes(nextLocale) ? nextLocale : 'en-GB';
engine.setLocale(locale);
}Pagpupunyagi
Ang cookie ng kagustuhan sa locale na ginagamit ng mga runtime adapter ay 18ways_locale.
Kung ikaw mismo ang magpapatuloy ng locale at gusto mong manatiling compatible sa React o Next layers, gamitin ang parehong pangalan.
Kapag naglo-load ang mga salin
@18ways/core ang nagbibigay sa iyo ng mas mababang antas na engine at caching, pero ikaw ang may-ari ng rendering flow.
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 makahulugan ang mga susi ng konteksto.
- Hayaang isalin ng runtime ang mga kumpletong parirala, hindi mga piraso.
Susunod: Pag-format ng Mensahe