TacoTranslate
/
DokumentacioniÇmimet
 
Neni
04 maj

Zgjidhja më e mirë për ndërkombëtarizim (i18n) në aplikacionet Next.js

A jeni duke kërkuar të zgjeroni aplikacionin tuaj Next.js në tregje të reja? TacoTranslate e bën shumë të lehtë lokalizimin e projektit tuaj Next.js, duke ju mundësuar të arrini një audiencë globale pa asnjë vështirësi.

Pse të zgjidhni TacoTranslate për Next.js?

  • Integrim pa probleme: Projektuar posaçërisht për aplikacionet Next.js, TacoTranslate integrohet pa vështirësi në rrjedhën tuaj ekzistuese të punës.
  • Mbledhje automatike e vargjeve: Nuk ka më 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 të sakta në kontekst 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ë klikim, duke e bërë aplikacionin tuaj të aksesueshëm në mbarë botën.

Si funksionon

Ndërsa bota bëhet gjithnjë e më shumë e globalizuar, është gjithnjë e më e rëndësishme për 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ë përmes internacionalizimit (i18n), i cili ju lejon të përshtatni aplikacionin tuaj me gjuhë, monedha dhe formate datash të ndryshme.

Në këtë tutorial, do të eksplorojmë se si të shtoni internacionalizimin në aplikacionin tuaj React Next.js, me renditje në server. TL;DR: Shihni shembullin e plotë këtu.

Ky udhëzues është për aplikacionet Next.js që 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. Ekzistojnë disa biblioteka të njohura, duke 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 AI të avancuar, dhe ju lirëson nga menaxhimi i lodhshëm i skedarëve JSON.

Le ta instalojmë duke përdorur npm në terminalin tuaj:

npm install tacotranslate

Hapi 2: Krijoni një llogari falas në TacoTranslate

Tani që keni instaluar modulën, është koha të krijoni llogarinë tuaj TacoTranslate, një projekt përkthimi dhe çelësat përkatës API. Krijoni një llogari këtu. Është falas, dhe nuk kërkon të shtoni kartë krediti.

Brenda ndërfaqes së aplikacionit TacoTranslate, krijoni një projekt dhe navigoni te skedari i çelësave API. Krijoni një çelës read dhe një çelës read/write. Ne do t'i ruajmë si variabla mjedisi. Ç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.

.env
TACOTRANSLATE_PUBLIC_API_KEY=123456
TACOTRANSLATE_SECRET_API_KEY=789010

Sigurohuni që kurrë të mos shpërndani çelësin sekret read/write API në mjediset e prodhimit nga ana e klientit.

Ne gjithashtu do të shtojmë edhe dy variabla të mjedisit: TACOTRANSLATE_DEFAULT_LOCALE dhe TACOTRANSLATE_ORIGIN.

  • TACOTRANSLATE_DEFAULT_LOCALE: Kodi i vendndodhjes së parazgjedhur rezervë. Në këtë shembull, do ta vendosim në en për anglisht.
  • TACOTRANSLATE_ORIGIN: “Dosja” ku do të ruhen stringjet tuaja, si për shembull URL-ja e faqes suaj të internetit. Lexoni më shumë rreth origjinave këtu.
.env
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ë parë. Për shembull, krijoni një skedar me emrin /tacotranslate-client.js.

/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 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 përsëri më vonë. Tani, duke përdorur një /pages/_app.tsx të personalizuar, do të shtojmë ofruesin TacoTranslate.

/pages/_app.tsx
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ë personalizuar, ju lutemi zgjerojeni përcaktimin me vetitë 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 shfaqur përmbajtjen e përkthyer menjëherë, në vend të një shfaqjeje të shkurtër të përmbajtjes së papërkthyer në fillim. Për më tepër, ne 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.

/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.

Deri tani, ne kemi vendosur vetëm një listë gjuhësh të mbështetura për aplikacionin Next.js. Gjëja tjetër që do të bëjmë është të marrim përkthime 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 opsionale pronat e Next.js. Vini re se revalidategetTacoTranslateStaticProps është vendosur në 60 si parazgjedhje, në mënyrë që përkthimet tuaja të qëndrojnë të përditësuara.

Për të përdorur cilindo nga këto funksione në një faqe, le të supozojmë që keni një skedar faqe si /pages/hello-world.tsx.

/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 stringjet brenda të gjitha komponentëve tuaj React.

import {Translate} from 'tacotranslate/react';

function Component() {
	return <Translate string="Hello, world!"/>
}

Hapi 5: Vendos dhe testo!

Kemi përfunduar! Aplikacioni juaj Next.js tani do të përkthehet automatikisht kur të shtoni çfarëdo vargu në një komponent Translate. Vini re se vetëm ambientet me lejet read/write në çelësin API do të mund të krijojnë vargje të reja për t’u përkthyer. Ne rekomandojmë të keni një ambient të mbyllur dhe të sigurt testimi ku mund të provoni aplikacionin tuaj të prodhimit me një çelës API të tillë, duke shtuar vargje të reja para se të bëheni live. Kjo do të parandalojë që dikush të vjedhë çelësin tuaj sekret API, dhe potencialisht të ngarkojë projektin tuaj të përkthimit duke shtuar vargje të reja, të pavarura.

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!

Një produkt nga NattskiftetBërë në Norvegji