Zgjidhja më e mirë për internacionalizimin (i18n) në aplikacionet Next.js
A po kërkoni të zgjeroni aplikacionin tuaj Next.js në tregje të reja? TacoTranslate e bën jashtëzakonisht të lehtë lokalizimin e projektit tuaj Next.js, duke ju mundësuar të arrini një audiencë globale pa vështirësi.
Pse të zgjidhni TacoTranslate për Next.js?
- Integrim i Paqartë: Projektuar posaçërisht për aplikacionet Next.js, TacoTranslate integrohet pa mundim në rrjedhën tuaj ekzistuese të punës.
- Mbledhja Automatike e Varësave: Nuk ka më nevojë për menaxhim manual të skedarëve JSON. TacoTranslate mbledh automatikisht vargjet nga baza e kodit tuaj.
- Përkthime të Fuqizuara nga AI: Shfrytëzoni fuqinë e AI për të ofruar përkthime kontekstualisht të sakta që përshtaten me tonin e aplikacionit tuaj.
- Mbështetje e Menjëhershme për Gjuhët: Shtoni mbështetje për gjuhë të reja me vetëm një klik, duke e bërë aplikacionin tuaj të aksesueshëm globalisht.
Si funksionon
Ndërsa bota bëhet gjithnjë e më e globalizuar, është gjithnjë e më e rëndësishme për zhvilluesit e uebit që të ndërtojnë aplikacione që mund t'u përgjigjen përdoruesve nga vende dhe kultura të ndryshme. Një nga mënyrat kryesore për ta arritur këtë është përmes ndërkombëtarizimit (i18n), i cili ju lejon të përshtatni aplikacionin tuaj në gjuhë, valuta dhe formate datash të ndryshme.
Në këtë tutorial, do të eksplorojmë se si të shtoni ndërkombëtarizimin në aplikacionin tuaj React Next.js, me rendering në server. TL;DR: Shikoni shembullin e plotë këtu.
Ky udhëzues është për aplikacionet Next.js që po përdorin Pages Router.
Nëse po përdorni App Router, ju lutemi shikoni këtë udhëzues në vend të kësaj.
Hapi 1: Instaloni një bibliotekë i18n
Për të zbatuar ndërkombëtarizimin në aplikacionin tuaj Next.js, së pari do të zgjedhim një bibliotekë i18n. Ekzistojnë disa biblioteka të njohura, duke përfshirë next-intl. Megjithatë, në këtë shembull, do të përdorim TacoTranslate.
TacoTranslate përkthen automatikisht fjalët tuaja në çdo gjuhë duke përdorur AI më të avancuar, dhe ju çliron nga menaxhimi i lodhshëm i skedarëve JSON.
Le të instalojmë me npm në terminalin tuaj:
npm install tacotranslate
Hapi 2: Krijo një llogari falas në TacoTranslate
Tani që e keni instaluar modulin, është koha të krijoni llogarinë tuaj TacoTranslate, një projekt përkthimi, dhe çelësa API të lidhur. Krijo një llogari këtu. Është falas, dhe nuk kërkon që të shtoni një kartë krediti.
Brenda ndërfaqes së aplikacionit TacoTranslate, krijoni një projekt dhe kaloni te skeda e çelësave API. Krijoni një çelës read
dhe një çelës read/write
. Ne do t'i ruajmë ato si variabla mjedisore. Çelësi read
është ai që e quajmë public
, dhe çelësi read/write
është secret
. Për shembull, mund t'i shtoni ato në një skedar .env
në rrënjën e projektit tuaj.
TACOTRANSLATE_PUBLIC_API_KEY=123456
TACOTRANSLATE_SECRET_API_KEY=789010
Sigurohuni që kurrë të mos rrjedhni çelësin sekret read/write
të API-së në mjediset e prodhimit nga ana e klientit.
Ne do të shtojmë gjithashtu dy variabla të mëtejshëm mjedisi: TACOTRANSLATE_DEFAULT_LOCALE
dhe TACOTRANSLATE_ORIGIN
.
TACOTRANSLATE_DEFAULT_LOCALE
: Kodi i lokalizimit të parazgjedhur të rikthimit. Në këtë shembull, ne do ta vendosim nëen
për anglisht.TACOTRANSLATE_ORIGIN
: “Dosja” ku do të ruhen vargjet tuaja, si për shembull URL-ja e faqes tuaj të internetit. Lexoni më shumë rreth origjinave këtu.
TACOTRANSLATE_DEFAULT_LOCALE=en
TACOTRANSLATE_ORIGIN=your-website-url.com
Hapi 3: Konfigurimi i TacoTranslate
Për të integruar TacoTranslate me aplikacionin tuaj, do t'ju duhet të krijoni një klient duke përdorur çelësat API nga më herët. Për shembull, krijoni një skedar me emrin /tacotranslate-client.js
.
const {default: createTacoTranslateClient} = require('tacotranslate');
const tacoTranslate = createTacoTranslateClient({
apiKey:
process.env.TACOTRANSLATE_SECRET_API_KEY ??
process.env.TACOTRANSLATE_PUBLIC_API_KEY ??
process.env.TACOTRANSLATE_API_KEY ??
'',
projectLocale: process.env.TACOTRANSLATE_DEFAULT_LOCALE ?? '',
});
module.exports = tacoTranslate;
Ne do ta përcaktojmë automatikisht TACOTRANSLATE_API_KEY
së shpejti.
Krijimi i klientit në një skedar të veçantë e bën më të lehtë përdorimin e tij më vonë. Tani, duke përdorur një /pages/_app.tsx
të personalizuar, do të shtojmë ofruesin TacoTranslate
.
import React from 'react';
import {type AppProps} from 'next/app';
import {type Origin, type Locale, type Localizations} from 'tacotranslate';
import TacoTranslate from 'tacotranslate/react';
import TacoTranslateHead from 'tacotranslate/next/head';
import tacoTranslate from '../tacotranslate-client';
type PageProperties = {
origin: Origin;
locale: Locale;
locales: Locale[];
localizations: Localizations;
};
export default function App({Component, pageProps}: AppProps<PageProperties>) {
const {origin, locale, locales, localizations} = pageProps;
return (
<TacoTranslate
client={tacoTranslate}
origin={origin}
locale={locale}
localizations={localizations}
>
<TacoTranslateHead rootUrl="https://your-website.com" locales={locales} />
<Component {...pageProps} />
</TacoTranslate>
);
}
Nëse tashmë keni pageProps
dhe _app.tsx
të personalizuara, ju lutemi zgjeroni definicionin me pronat dhe kodin nga lart.
Hapi 4: Zbatimi i renderimit në anën e serverit
TacoTranslate lejon renderimin në anën e serverit të përkthimeve tuaja. Kjo përmirëson ndjeshëm përvojën e përdoruesit duke treguar menjëherë përmbajtje të përkthyer, në vend të një shfaqjeje të shkurtër të përmbajtjes së papërkthyer më parë. Për më tepër, mund të anashkalojmë kërkesat në rrjet nga klienti, sepse tashmë kemi të gjitha përkthimet që na nevojiten.
Do të fillojmë duke krijuar ose modifikuar /next.config.js
.
const withTacoTranslate = require('tacotranslate/next/config').default;
const tacoTranslateClient = require('./tacotranslate-client');
module.exports = async () => {
const config = {};
return withTacoTranslate(config, {
client: tacoTranslateClient,
isProduction:
process.env.TACOTRANSLATE_ENV === 'production' ||
process.env.VERCEL_ENV === 'production' ||
(!(process.env.TACOTRANSLATE_ENV || process.env.VERCEL_ENV) &&
process.env.NODE_ENV === 'production'),
});
};
Modifikoni kontrollin e isProduction
për t'iu përshtatur konfigurimit tuaj. Nëse true
, TacoTranslate do të shfaqë çelësin publik API. Nëse jemi në një mjedis lokal, testimi ose inskenimi (isProduction
is false
), do të përdorim çelësin sekret read/write
API për t'u siguruar që vargjet e reja të dërgohen për përkthim.
Derisa tani, ne kemi vetëm vendosur aplikacionin Next.js me një listë të gjuhëve të mbështetura. Gjëja tjetër që do të bëjmë është të marrim përkthimet për të gjitha faqet tuaja. Për ta bërë këtë, do të përdorni ose getTacoTranslateStaticProps
ose getTacoTranslateServerSideProps
bazuar në kërkesat tuaja.
Këto funksione marrin tre argumente: Një objekt Next.js Static Props Context, konfigurimin për TacoTranslate, dhe pronësi opsionale të Next.js. Vini re se revalidate
në getTacoTranslateStaticProps
është vendosur në 60 si parazgjedhje, kështu që përkthimet tuaja qëndrojnë të përditësuara.
Për të përdorur ndonjërin nga këto funksione në një faqe, le të supozojmë që keni një skedar faqeje si /pages/hello-world.tsx
.
import {Translate} from 'tacotranslate/react';
import getTacoTranslateStaticProps from 'tacotranslate/next/get-static-props';
import tacoTranslateClient from '../tacotranslate-client';
export async function getStaticProps(context) {
return getTacoTranslateStaticProps(context, {client: tacoTranslateClient});
}
export default function Page() {
return <Translate string="Hello, world!"/>;
}
Tani duhet të jeni në gjendje të përdorni komponentin Translate
për të përkthyer vargje brenda të gjitha komponentëve tuaj React.
import {Translate} from 'tacotranslate/react';
function Component() {
return <Translate string="Hello, world!"/>
}
Hapi 5: Vendosni në prodhim dhe testoni!
Kemi përfunduar! Aplikacioni juaj Next.js tani do të përkthehet automatikisht kur të shtoni çfarëdo vargjesh në një komponent Translate
. Vini re se vetëm ambientet me leje read/write
në çelësin API do të jenë në gjendje të krijojnë vargje të reja për t'u përkthyer. Ne rekomandojmë të keni një ambient staging të mbyllur dhe të sigurt ku mund të testoni aplikacionin tuaj të prodhimit me një çelës API të tillë, duke shtuar vargje të reja para se ta publikoni. Kjo do të parandalojë që dikush të vjedhë çelësin tuaj sekret API dhe potencialisht të fryjë projektin tuaj të përkthimit duke shtuar vargje të reja, të pa lidhura.
Sigurohuni të shikoni shembullin e plotë në profilin tonë në GitHub. Atje, gjithashtu do të gjeni një shembull se si ta bëni këtë duke përdorur App Router! Nëse hasni ndonjë problem, mos hezitoni të na kontaktoni, dhe do të jem më shumë se të lumtur t'ju ndihmojmë.
TacoTranslate ju lejon të lokalizoni automatikisht aplikacionet tuaja React shpejt në çdo gjuhë dhe nga çdo gjuhë. Filloni sot!