TacoTranslate
/
డాక్యుమెంటేషన్ధరలు
 
ట్యుటోరియల్
04 మే

Pages Router ఉపయోగిస్తున్న Next.js అప్లికేషన్‌లో అంతర్జాతీయీకరణను ఎలా అమలు చేయాలి

మీ React అప్లికేషన్‌ను అంతర్జాతీయీకరణ (i18n) ద్వారా మరింత సులభంగా యాక్సెస్ చేయదగినదిగా చేసి కొత్త మార్కెట్లను చేరుకోండి.

ప్రపంచం మరింత గ్లోబలైగా మారుతున్నందున, వెబ్ డెవలపర్లు వివిధ దేశాలు మరియు సంస్కృతుల వినియోగదారులకు అనుకూలంగా ఉండే అప్లికేషన్లు రూపొందించడం మరింత ముఖ్యంగా మారింది. వాటిని సాధించే ప్రధాన మార్గాల్లో ఒకటి అంతర్జాతీయీకరణ (i18n), ఇది మీ అప్లికేషన్‌ను వివిధ భాషలు, కరెన్సీలు మరియు తేదీ ఫార్మాట్లకు అనుగుణంగా మార్చడానికి సహాయపడుతుంది.

ఈ ట్యుటోరియల్‌లో, సర్వర్-సైడ్ రేండరింగ్‌తో మీ React Next.js అప్లికేషన్‌లో అంతర్జాతీయీకరణను ఎలా జోడించాలో మనం పరిశీలిస్తాం. TL;DR: పూర్తి ఉదాహరణను ఇక్కడ చూడండి.

ఈ గైడ్ Pages Router ను ఉపయోగించే Next.js అప్లికేషన్ల కోసం ఉంది.
మీరు App Router ను ఉపయోగిస్తున్నట్లయితే, దయచేసి బదులుగా ఈ గైడ్‌ను చూడండి.

దశ 1: i18n లైబ్రరీను ఇన్‌స్టాల్ చేయండి

మీ Next.js అప్లికేషన్‌లో అంతర్జాతీయీకరణను అమలు చేయడానికి, మేము మొదట ఒక i18n లైబ్రరీని ఎంచుకుంటాము. కొన్ని ప్రముఖ లైబ్రరీలు ఉన్నాయి, వాటిలో next-intl. అయితే, ఈ ఉదాహరణలో మేము TacoTranslate.

TacoTranslate అత్యాధునిక AI ద్వారా మీ స్ట్రింగ్‌లను ఏ భాషకైనా స్వయంచాలకంగా అనువదిస్తుంది, మరియు JSON ఫైళ్లను అలసించే నిర్వహణ నుండి మిమ్మల్ని విమోచిస్తుంది.

మీ టెర్మినల్‌లో npm ఉపయోగించి దీన్ని ఇన్‌స్టాల్ చేద్దాం:

npm install tacotranslate

దశ 2: ఉచిత TacoTranslate ఖాతా సృష్టించండి

ఇప్పుడు మీరు మాడ్యూల్‌ను ఇన్స్టాల్ చేసుకున్నందున, మీ TacoTranslate ఖాతా, ఒక అనువాద ప్రాజెక్ట్ మరియు సంబంధిత API కీలు సృష్టించుకునే సమయం వచ్చింది. ఇక్కడ ఖాతా సృష్టించండి. ఇది ఉచితం, మరియు క్రెడిట్ కార్డ్ జోడించాల్సిన అవసరం లేదు.

TacoTranslate అప్లికేషన్ UIలో, ఒక ప్రాజెక్ట్ సృష్టించి దాని API keys ట్యాబ్‌కు నావిగేట్ చేయండి. ఒక read కీ మరియు ఒక read/write కీ సృష్టించండి. వాటిని environment variables గా సేవ్ చేస్తాము. read కీని మేము public అని పిలుస్తాము మరియు read/write కీ secret గా ఉంటుంది. ఉదాహరణకు, వాటిని మీ ప్రాజెక్ట్ రూట్‌లోని .env ఫైల్‌లో జోడించవచ్చు.

.env
TACOTRANSLATE_PUBLIC_API_KEY=123456
TACOTRANSLATE_SECRET_API_KEY=789010

ఖచ్చితంగా గోప్యమైన read/write API కీని క్లయింట్-సైడ్ ప్రొడక్షన్ వాతావరణాలకు ఎప్పుడూ లీక్ చేయకండి.

మేము ఇంకా రెండు ఎన్విరాన్‌మెంట్ వేరియబుల్స్‌ను జోడిస్తాము: TACOTRANSLATE_DEFAULT_LOCALE మరియు TACOTRANSLATE_ORIGIN.

  • TACOTRANSLATE_DEFAULT_LOCALE: డిఫాల్ట్ ఫాల్‌బ్యాక్ లోకేల్ కోడ్. ఈ ఉదాహరణలో, మేము దీన్ని ఆంగ్లానికి en గా సెట్ చేస్తాం.
  • TACOTRANSLATE_ORIGIN: మీ స్ట్రింగ్‌లు నిల్వ చేయబడే “ఫోల్డర్”, ఉదాహరణకు మీ వెబ్‌సైట్ యొక్క URL. ఇక్కడ ఒరిజిన్స్ గురించి మరింత చదవండి.
.env
TACOTRANSLATE_DEFAULT_LOCALE=en
TACOTRANSLATE_ORIGIN=your-website-url.com

Step 3: TacoTranslate ను సెటప్ చేయడం

మీ అప్లికేషన్‌తో TacoTranslateని సమీకరించడానికి, ముందుగా పొందిన API కీలు ఉపయోగించి ఒక క్లయింట్‌ను సృష్టించాలి. ఉదాహరణకు, /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;

మేము త్వరలో ఆటోమేటిక్‌గా TACOTRANSLATE_API_KEY ను నిర్వచిస్తాము.

క్లయింట్‌ను వేరే ఫైల్‌లో సృష్టించడం తర్వాత మళ్లీ ఉపయోగించడాన్ని సులభతరం చేస్తుంది. ఇప్పుడు, ఒక కస్టమ్ /pages/_app.tsx ఉపయోగించి, మనం 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>
	);
}

మీకు ఇప్పటికే కస్టమ్ pageProps మరియు _app.tsx ఉంటే, దయచేసి పైలో ఇవ్వబడిన ప్రాపర్టీలు మరియు కోడ్‌తో నిర్వచనాన్ని విస్తరించండి.

దశ 4: సర్వర్-సైడ్ రెండరింగ్ అమలు చేయడం

TacoTranslate మీ అనువాదాలకు సర్వర్-సైడ్ రెండరింగ్‌ను అనుమతిస్తుంది. ఇది అనువదించని కంటెంట్ యొక్క ఒక చిన్న మెరుపు కనిపించే బదులుగా, అనువదించిన కంటెంట్‌ను వెంటనే చూపించడం ద్వారా వినియోగదారుల అనుభవాన్ని ఎంతో మెరుగుపరుస్తుంది. అదనంగా, అవసరమైన అన్ని అనువాదాలు మాకు ఇప్పటికే ఉన్నందున క్లయింట్‌లో నెట్‌వర్క్ అభ్యర్థనలను మినహాయించవచ్చు.

మేము /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'),
	});
};

మీ సెటప్‌కు అనుగుణంగా isProduction చెక్‌ను సరిచేయండి. true అయితే, TacoTranslate పబ్లిక్ API కీని ప్రదర్శిస్తుంది. మనం స్థానిక, టెస్ట్, లేదా స్టేజింగ్ వాతావరణంలో ఉంటే (isProduction is false), కొత్త స్ట్రింగ్‌లు అనువాదానికి పంపబడేలా చేయడానికి గోప్యమైన read/write API కీని ఉపయోగిస్తాం.

ఇప్పటివరకు, మేము Next.js అప్లికేషన్‌ను మద్దతు పొందిన భాషల జాబితాతో మాత్రమే సెటప్ చేయాము. తదుపరి, మీ అన్ని పేజీల కోసం అనువాదాలను పొందాలి. அத үшін, మీ అవసరాల ఆధారంగా getTacoTranslateStaticProps లేదా getTacoTranslateServerSidePropsను ఉపయోగించండి.

ఈ ఫంక్షన్లు మూడు ఆర్గ్యుమెంట్లు తీసుకుంటాయి: ఒక Next.js Static Props Context ఆబ్జెక్ట్, TacoTranslate కోసం కాన్ఫిగరేషన్, మరియు ఐచ్ఛిక Next.js ప్రాపర్టీలు. గమనించండి, revalidate ను getTacoTranslateStaticProps లో డిఫాల్ట్‌గా 60 గా సెట్ చేశారు, తద్వారా మీ అనువాదాలు తాజా ఉంటాయి.

ఈ రెండు ఫంక్షన్లలో ఏదైనా పేజీలో ఉపయోగించడానికి, మీ వద్ద /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!"/>;
}

ఇప్పుడు మీరు మీ అన్ని React కాంపోనెంట్లలో స్ట్రింగ్‌లను అనువదించడానికి Translate కాంపోనెంట్‌ను ఉపయోగించగలరు.

import {Translate} from 'tacotranslate/react';

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

దశ 5: డిప్లాయ్ చేసి పరీక్షించండి!

మేము పూర్తిచేశాం! మీ React అప్లికేషన్ ఇప్పుడు Translate component‌లో మీరు ఏ స్ట్రింగ్‌లను జోడించిన వెంటనే స్వయంచాలకంగా అనువదించబడుతుంది. గమనించండి: API కీపై read/write permissions ఉన్న పరిసరాలే కొత్తగా అనువదించాల్సిన స్ట్రింగ్‌లను సృష్టించగలవు. లైవ్‌కు వెళ్లేముందు కొత్త స్ట్రింగ్‌లను జోడిస్తూ ఇలాంటి API కీతో మీ ప్రొడక్షన్ అప్లికేషన్ని పరీక్షించడానికి మూసివేసిన, సురక్షితమైన స్టేజింగ్ పరిసరాన్ని కలిగి ఉండాలని మేము సిఫార్సు చేస్తాము. ఇది ఎవరైనా ఎవరైనా మీ గోప్యమైన API కీని దొంగిలించకుండా, మరియు కొత్త, అసంబంధిత స్ట్రింగ్‌లు జోడించడం ద్వారా మీ అనువాద ప్రాజెక్ట్‌ను అవాంఛనీయంగా పెద్దగా పెరగకుండా నిరోధిస్తుంది.

మన GitHub ప్రొఫైల్‌‌లోని పూర్తి ఉదాహరణను తప్పక చూడండి. అక్కడ, మీరు App Router ఉపయోగించి దీన్ని ఎలా చేయాలో ఒక ఉదాహరణను కూడా కనుగొనవచ్చు! ఏవైనా సమస్యలు ఎదురైతే, దయచేసి మాకు సంప్రదించండి, మేము సంతోషంగా సహాయం చేస్తాము.

TacoTranslate మీ React అప్లికేషన్లను 75 కంటే ఎక్కువ భాషలకు మరియు వాటినుండి ఆటోమేటిగ్గా, వేగంగా స్థానికీకరించడానికి అనుమతిస్తుంది. ఇప్పుడే ప్రారంభించండి!

Nattskiftet నుండి ఒక ఉత్పత్తినార్వేలో తయారైంది