Next.js య్యాప్స్లో అంతర్జాతీయీకరణ (i18n) కోసం ఉత్తమ పరిష్కారం
మీ Next.js అనువర్తనాన్ని కొత్త మార్కెట్లకు విస్తరించాలనుకుంటున్నారా? TacoTranslate మీ Next.js ప్రాజెక్టును స్థానికీకరించడాన్ని అద్భుతంగా సులభతరం చేస్తుంది, మీకు సులభంగా ప్రపంచవ్యాప్తంగా ప్రేక్షకులను చేరుకునే అవకాశం ఇస్తుంది.
Next.js కోసం TacoTranslate ఎందుకు ఎంచుకోవాలి?
- సహజమైన సమ్మేళనం: ప్రత్యేకంగా Next.js అనువర్తనాలకు రూపొందించబడింది, TacoTranslate మీ ఉన్న వర్క్ఫ్లోలో సులభంగా విలీనమవుతుంది.
- స్వయంచాలక స్ట్రింగ్ సేకరణ: JSON ఫైళ్ళను చేతితో నిర్వహించాల్సిన అవసరం లేదు. TacoTranslate మీ కోడ్బేస్ నుండి స్వయంచాలకంగా స్ట్రింగులను సేకరిస్తుంది.
- ఏఐ ఆధారిత అనువాదాలు: 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 కీని క్లయింట్ సైడ్ ఉత్పత్తి పరిసరాలకు ఎప్పటికీ లీక్ చేయకుండా జాగ్రత్త వహించండి.
మనం మరో రెండు environment variablesను కూడా జోడించబోతున్నాము: TACOTRANSLATE_DEFAULT_LOCALE
మరియు TACOTRANSLATE_ORIGIN
.
TACOTRANSLATE_DEFAULT_LOCALE
: డిఫాల్ట్ ఫాల్బ్యాక్ లోకేల్ కోడ్. ఈ ఉదాహరణలో, మేము దీన్ని ఇంగ్లిష్ కోసంen
గా సెట్ చేస్తాము.TACOTRANSLATE_ORIGIN
: మీ స్ట్రింగ్స్ నిల్వ చేసే “ఫోల్డర్”, ఉదాహరణకు మీ వెబ్సైట్ యొక్క URL. ఇక్కడ ఒరిజిన్స్ గురించి మరింత చదవండి.
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
), కొత్త strings అనువాదానికి పంపబడేందుకు సీక్రెట్ read/write
API కీని ఉపయోగిస్తాము.
ఇప్పటికే, మనం Next.js అప్లికేషన్ను కేవలం మద్దతుగా ఉన్న భాషల జాబితాతో మాత్రమే సജ్జం చేశాం. తదుపరి మనం చేయాల్సింది మీ అన్ని పేజీలకు అనువాదాలను తెచ్చుకోవడం. ఆ కోసం, మీరు మీ అవసరాల ఆధారంగా getTacoTranslateStaticProps
లేదా getTacoTranslateServerSideProps
ను ఉపయోగిస్తారు.
ఈ ఫంక్షన్లు మూడు ఆర్గ్యుమెంట్లను తీసుకుంటాయి: ఒకటి Next.js Static Props Context ఆబ్జెక్టు, TacoTranslate కోసం కాన్ఫిగరేషన్, మరియు ఐచ్ఛిక Next.js ప్రాపర్టీలను. గమనించండి, getTacoTranslateStaticProps
పై revalidate
డిఫాల్ట్గా 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: desplear మరియు పరీక్షించండి!
మేము పూర్తయ్యాం! మీరు Translate
కాంపొనెంట్కు ఏదైనా స్ట్రింగ్లు జోడించినప్పుడు మీ Next.js అప్లికేషన్ ఇప్పుడు ఆటోమేటిక్గా అనువదించబడుతుంది. API కీపై read/write
అనుమతులు ఉన్న వాతావరణాలలో మాత్రమే కొత్త అనువదించే స్ట్రింగ్లు సృష్టించగలవని గమనించండి. లైవ్కి వెళ్ళడానికి ముందు కొత్త స్ట్రింగ్లను జోడించి, మీ ప్రొడక్షన్ అప్లికేషన్ని ఇలాంటి API కీతో పరిక్షించడానికి ఒక మూసివేసిన మరియు సురక్షితమైన స్టేజింగ్ వాతావరణం ఉంచాలని మేము సిఫార్సు చేస్తాము. ఇది ఎవరికీ మీ రహస్య API keyను దొంగిలించుకునే అవకాశాన్ని నివారిస్తుంది, మరియు సంబంధం లేని కొత్త స్ట్రింగ్లు జోడించడం వల్ల మీ అనువాద ప్రాజెక్ట్ పెరగడంతో కూడిన సమస్యలను తప్పిస్తుంది.
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!