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
ఫైల్లో జోడించవచ్చు.
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. ఇక్కడ ఒరిజిన్స్ గురించి మరింత చదవండి.
TACOTRANSLATE_DEFAULT_LOCALE=en
TACOTRANSLATE_ORIGIN=your-website-url.com
Step 3: TacoTranslate ను సెటప్ చేయడం
మీ అప్లికేషన్తో TacoTranslateని సమీకరించడానికి, ముందుగా పొందిన API కీలు ఉపయోగించి ఒక క్లయింట్ను సృష్టించాలి. ఉదాహరణకు, /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
ప్రొవైడర్ను జోడిస్తాము.
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
ని సృష్టించడం లేదా మార్చడం ద్వారా ప్రారంభిస్తాము.
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
వంటి ఒక పేజీ ఫైల్ ఉందని అనుకుందాం.
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 కంటే ఎక్కువ భాషలకు మరియు వాటినుండి ఆటోమేటిగ్గా, వేగంగా స్థానికీకరించడానికి అనుమతిస్తుంది. ఇప్పుడే ప్రారంభించండి!