Zgjidhja më e mirë për ndërkombëtarizimin (i18n) në aplikacionet Next.js
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 telashe.
Pse të zgjidhni TacoTranslate për Next.js?
- Integrim pa ndërprerje: Dizajnuar posaçërisht për aplikacionet Next.js, TacoTranslate integrohet me lehtësi në rrjedhën tuaj ekzistuese të punës.
- Mbledhje automatike e teksteve: Nuk keni më nevojë të menaxhoni manualisht skedarët JSON. TacoTranslate i mbledh automatikisht tekstet nga baza e kodit tuaj.
- Përkthime të fuqizuara nga AI: Përdorni fuqinë e AI për të siguruar përkthime të sakta në kontekst që përshtaten me tonin e aplikacionit tuaj.
- Mbështetje e menjëhershme e gjuhëve: 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 po bëhet më e globalizuar, bëhet gjithnjë e më e rëndësishme që zhvilluesit e uebit të ndërtojnë aplikacione që mund t'u përshtaten përdoruesve nga vende dhe kultura të ndryshme. Një nga mënyrat kryesore për ta arritur këtë është ndërkombëtarizimi (i18n), i cili ju lejon të përshtatni aplikacionin tuaj për gjuhë, monedha dhe formate datash të ndryshme.
Në këtë udhëzues, do të shqyrtojmë se si të shtoni ndërkombëtarizimin në aplikacionin tuaj React Next.js, me renderim nga ana e serverit. TL;DR: Shihni 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ë tij.
Hapi 1: Instaloni një bibliotekë i18n
Për të zbatuar internacionalizimin në aplikacionin tuaj Next.js, së pari do të zgjedhim një bibliotekë i18n. Ka disa biblioteka të njohura, përfshirë next-intl. Megjithatë, në këtë shembull, do të përdorim TacoTranslate.
TacoTranslate përkthen automatikisht vargjet tuaja në çdo gjuhë duke përdorur inteligjencë artificiale të avancuar, dhe ju çliron nga menaxhimi i lodhshëm i skedarëve JSON.
Le ta instalojmë me npm në terminalin tuaj:
npm install tacotranslateHapi 2: Krijoni një llogari falas TacoTranslate
Tani që e keni instaluar modulin, është koha të krijoni llogarinë tuaj në TacoTranslate, një projekt përkthimi dhe çelësat API përkatës. Krijoni një llogari këtu. Është falas, dhe nuk kërkon që të shtoni një kartë krediti.
Në ndërfaqen e aplikacionit TacoTranslate, krijoni një projekt dhe shkoni te skeda e çelësave të API-së. Create one read key, and one read/write key. Do t'i ruajmë 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 në një skedar .env në rrënjën e projektit tuaj.
TACOTRANSLATE_PUBLIC_API_KEY=123456
TACOTRANSLATE_SECRET_API_KEY=789010Sigurohu që kurrë të mos rrjedhësh çelësin sekret të API-së read/write në mjedise prodhimi të anës së klientit.
Ne gjithashtu do të shtojmë edhe dy variabla të tjera të mjedisit: TACOTRANSLATE_DEFAULT_LOCALE dhe TACOTRANSLATE_ORIGIN.
TACOTRANSLATE_DEFAULT_LOCALE: Kodi i lokalizimit të parazgjedhur. Në këtë shembull, do ta vendosim nëenpër anglisht.TACOTRANSLATE_ORIGIN: “dosja” ku do të ruhen tekstet tuaja, si p.sh. URL-ja e faqes suaj të internetit. Lexoni më shumë rreth origjinave këtu.
TACOTRANSLATE_DEFAULT_LOCALE=en
TACOTRANSLATE_ORIGIN=your-website-url.comHapi 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 e API-së nga më parë. Për shembull, krijoni një skedar të quajtur /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;Do të 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, 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 versionet e personalizuara të pageProps dhe _app.tsx, ju lutemi zgjerojeni përkufizimin me pronat dhe kodin nga më sipër.
Hapi 4: Zbatimi i renderizimit në anën e serverit
TacoTranslate lejon renderimin në server të përkthimeve tuaja. Kjo përmirëson ndjeshëm përvojën e përdoruesit duke shfaqur përmbajtjen e përkthyer menjëherë, në vend që së pari të shfaqet për një çast përmbajtja e papërkthyer. Për më tepër, mund të anashkalojmë kërkesat e rrjetit në klient, sepse tashmë kemi të gjitha përkthimet që na duhen.
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'),
});
};Ndryshoni kontrollin isProduction për t'iu përshtatur konfigurimit tuaj. Nëse true, TacoTranslate do të shfaqë çelësin publik të API-së. Nëse jemi në një mjedis lokal, testimi ose staging (isProduction is false), do të përdorim çelësin sekret read/write të API-së për t'u siguruar që vargjet e reja të dërgohen për përkthim.
Deri tani, ne kemi vetëm konfiguruar aplikacionin Next.js me një listë gjuhësh të mbështetura. Hapi tjetër që do të kryejmë ë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 në varësi të kërkesave tuaja.
Këto funksione pranojnë tre argumente: Një objekt Next.js Static Props Context, konfigurim për TacoTranslate, dhe prona opsionale të Next.js. Vini re se revalidate në getTacoTranslateStaticProps është caktuar në 60 si parazgjedhje, në mënyrë që përkthimet tuaja të jenë të përditësuara.
Për të përdorur cilëndo nga këto funksione në një faqe, le të supozojmë se 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 tekstet brenda të gjitha komponentëve tuaj React.
import {Translate} from 'tacotranslate/react';
function Component() {
return <Translate string="Hello, world!"/>
}Hapi 5: Publikoni dhe testoni!
Kemi mbaruar! Aplikacioni juaj Next.js tani do të përkthehet automatikisht kur të shtoni ndonjë varg në komponentin Translate. Kini parasysh se vetëm mjediset me lejet read/write mbi çelësin API do të jenë në gjendje të krijojnë vargje të reja për t'u përkthyer. Ne rekomandojmë të keni një mjedis 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 të publikoni. Kjo do të parandalojë që kushdo kushdo të vjedhë çelësin tuaj sekret të API-së, dhe potencialisht të fryjë projektin tuaj të përkthimit duke shtuar vargje të reja, të palidhura.
Be sure to check out the complete example over at our GitHub profile. There, you’ll also find an example of how to do this using the App Router! If you encounter any problems, feel free to reach out, and we’ll be more than happy to help.
TacoTranslate lets you automatically localize your React applications quickly to and from over 75 languages. Get started today!