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 keys ట్యాబ్కి వెళ్లండి. ఒకటి 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: డిఫాల్ట్ ఫాల్బ్యాక్ లోకేల్ కోడ్. ఈ ఉదాహరణలో, మేము దీన్ని ఆంగ్లానికి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 కీని దొంగిలించకుండా, అలాగే సంబంధం లేని కొత్త స్ట్రింగ్లు జోడించడం ద్వారా మీ అనువాద ప్రాజెక్ట్ను అనవసరంగా ఊబకాయవకుండా నివారిస్తుంది.
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!