Next.js యాప్లలో అంతర్జాతీయీకరణ (i18n) కోసం ఉత్తమ పరిష్కారం
మీ Next.js అప్లికేషన్ను కొత్త మార్కెట్లకు విస్తరించాలని చూస్తున్నారా? TacoTranslate మీ Next.js ప్రాజెక్ట్ను స్థానికీకరణ చేయడాన్ని ఎంతో సులభతరం చేస్తుంది, తద్వారా మీరు ఇబ్బంది లేకుండా ప్రపంచవ్యాప్తంగా ప్రేక్షకులను చేరుకోగలుగుతారు.
Next.js కోసం TacoTranslateని ఎందుకు ఎంచుకోవాలి?
- సజావుగా ఏకీకరణ: Next.js అప్లికేషన్ల కోసం ప్రత్యేకంగా రూపొందించిన TacoTranslate మీ ప్రస్తుత వర్క్ఫ్లోలో సులభంగా ఏకీకృతమవుతుంది.
- స్వయంచాలక స్ట్రింగ్ సేకరణ: JSON ఫైళ్లను మాన్యువల్గా నిర్వహించాల్సిన అవసరం లేదు. TacoTranslate మీ కోడ్బేస్ నుండి స్ట్రింగ్లను ఆటోమేటిక్గా సేకరిస్తుంది.
- AI ఆధారిత అనువాదాలు: మీ అప్లికేషన్ టోన్కు సరిపోయే, సందర్భానుసారంగా ఖచ్చితమైన అనువాదాలను అందించడానికి AI శక్తిని వినియోగించండి.
- తక్షణ భాషా మద్దతు: ఒక క్లిక్తోనే కొత్త భాషలకు మద్దతు జోడించండి, తద్వారా మీ అప్లికేషన్ ప్రపంచవ్యాప్తంగా అందుబాటులో ఉంటుంది.
ఇది ఎలా పనిచేస్తుంది
ప్రపంచం మరింత గ్లోబలై పోతున్నందున, వివిధ దేశాలు మరియు సంస్కృతుల వినియోగదారులను అందుకోగలిగే అనువర్తనాలను వెబ్ డెవలపర్లు రూపొందించడం సమయానికి సార్ధకంగా ముఖ్యంగా మారింది. దీన్ని సాధించడానికి ముఖ్యమైన మార్గాల్లో ఒకటి అంతర్జాతీయీకరణ (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 కీలు టాబ్కి వెళ్లండి. ఒక read కీ మరియు ఒక read/write కీ సృష్టించండి. మేము వాటిని ఎన్విరాన్మెంట్ వేరియబుల్స్గా సేవ్ చేస్తాము. 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: డిఫాల్ట్ fallback లోకేల్ కోడ్. ఈ ఉదాహరణలో, ఇంగ్లీష్ కోసం దీన్నిenగా సెట్ చేస్తాము.TACOTRANSLATE_ORIGIN: మీ స్ట్రింగ్స్ నిల్వ చేయబడే “ఫోల్డర్”, ఉదాహరణకు మీ వెబ్సైట్ యొక్క URL వంటి. ఇక్కడ Origins గురించి మరింత చదవండి.
TACOTRANSLATE_DEFAULT_LOCALE=en
TACOTRANSLATE_ORIGIN=your-website-url.comదశ 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: డిప్లాయ్ చేసి పరీక్షించండి!
మేము పూర్తి చేసాం! మీ Next.js అప్లికేషన్ ఇప్పుడు మీరు Translate కంపోనెంట్కు ఏదైనా స్ట్రింగ్లు జోడించిన వెంటనే ఆటోమేటిక్గా అనువదించబడుతుంది. గమనించండి: API కీపై read/write అనుమతులు ఉన్న పర్యావరణాల్లోనే అనువదించడానికి కొత్త స్ట్రింగ్లు సృష్టించగలరు. లైవ్కు వెళ్లే ముందు కొత్త స్ట్రింగ్లను జోడిస్తూ మీ ప్రొడక్షన్ అప్లికేషన్ను ఆ రకమైన API కీతో పరీక్షించడానికి మూసివేసిన మరియు సురక్షితమైన స్టేజింగ్ వాతావరణం కలిగి ఉండాలని మేము సిఫారసు చేస్తాము. ఇది ఎవ్వరైనా ఎవ్వరైనా మీ రహస్య API కీని దొంగిలించుకునేవారిని నిరోధిస్తుంది, అలాగే సంబంధం లేని కొత్త స్ట్రింగ్లను చేర్చడం ద్వారా మీ అనువాద ప్రాజెక్ట్ను అవాంఛితంగా పరపతి (bloating) కాకుండా ఉంచుతుంది.
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!