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

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

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

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

ఈ పరిచయ వ్యాసంలో, server side renderingతో మీ 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 కీలను ట్యాబ్‌కు నావిగేట్ చేయండి. ఒక read కీ మరియు ఒక read/write కీ సృష్టించండి. మేము వాటిని పర్యావరణ వేరియబుల్స్ గా సేవ్ చేస్తాము. read కీని మేము public అని పిలుస్తాము మరియు read/write కీని secret అని పిలుస్తాము. ఉదాహరణకి, మీరు వాటిని మీ ప్రాజెక్ట్ root లో ఉన్న .env ఫైల్‌లో జత చేయవచ్చు.

.env
TACOTRANSLATE_PUBLIC_API_KEY=123456
TACOTRANSLATE_SECRET_API_KEY=789010

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

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

.env
TACOTRANSLATE_DEFAULT_LOCALE=en
TACOTRANSLATE_ORIGIN=your-website-url.com

దశ 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 ప్రాపర్టీలు. గమనించండి getTacoTranslateStaticProps పై revalidate ను డిఫాల్ట్ గా 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 కంపోనెంట్‌లో చేర్చినప్పుడు స్వయంచాలకంగా అనువదించబడుతుంది. API కీపై read/write అనుమతులు ఉన్నే పరిసరాలు మాత్రమే అనువదించడానికి కొత్త స్ట్రింగ్స్ సృష్టించగలవు గానీ గమనించండి. మీరు అందుబాటులోకి వెళ్లే ముందు కొత్త స్ట్రింగ్స్‌ని చేర్చుకునేందుకు, ఈ విధమైన API కీతో మీ ఉత్పత్తి అనువర్తనాన్ని పరీక్షించుకునేందుకు మూసివేసిన మరియు సురక్షితమైన స్టేజింగ్ పరిసరాన్ని కలిగి ఉండాలని మేము సిఫార్సు చేస్తున్నాము. ఇది ఎవరైనా మీ రహస్య API కీని దొంగిలించడం, మరియు అనవసరమయిన కొత్త స్ట్రింగ్స్ చేర్చబడుటతో మీ అనువాద ప్రాజెక్టును మిక్కిలిగా పెరగించడం నివారిస్తుంది.

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

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

Nattskiftet నుండి ఉత్పత్తినార్వేలో తయారు చేయబడింది