TacoTranslate
/
दस्तऐवजकिंमती
 
लेख
०४ मे

Next.js अॅप्समधील आंतरराष्ट्रीयीकरणासाठी (i18n) सर्वोत्तम समाधान

आपण आपल्या Next.js ऍप्लिकेशनला नवीन बाजारपेठांमध्ये विस्तार करण्याचा विचार करत आहात का? TacoTranslate आपला Next.js प्रकल्प स्थानिकीकरण करणे अतिशय सोपे करते, ज्यामुळे आपण सहजपणे जागतिक प्रेक्षकांपर्यंत पोहोचू शकता.

Next.js साठी TacoTranslate का निवडावे?

  • सातत्यपूर्ण एकत्रीकरण: Next.js अनुप्रयोगांसाठी विशेषतः डिझाइन केलेले, TacoTranslate आपल्या विद्यमान कार्यप्रवाहात सहजपणे एकत्रित होते.
  • स्वयंचलित स्ट्रिंग संकलन: JSON फाइल्स हाताने व्यवस्थापित करण्याची गरज नाही. TacoTranslate आपोआप आपल्या कोडबेसमधील स्ट्रिंग्स संकलित करते.
  • AI-चालित अनुवाद: आपल्या अनुप्रयोगाच्या टोनशी सुसंगत संदर्भानुसार अचूक अनुवाद प्रदान करण्यासाठी AI चा वापर करा.
  • तत्काळ भाषा समर्थन: फक्त एका क्लिकने नवीन भाषा समर्थन जोडा, ज्यामुळे आपला अनुप्रयोग जागतिक स्तरावर उपलब्ध होतो.

हे कसे कार्य करते

जसे जग अधिक जागतिक होते आहे, तसे वेब विकसकांसाठी वेगळ्या देशांतील आणि संस्कृतींतील वापरकर्त्यांसाठी अनुप्रयोग तयार करणे अधिक महत्त्वाचे होते आहे. हे साध्य करण्याचा एक मुख्य मार्ग म्हणजे आंतरराष्ट्रीयीकरण (i18n), जे आपल्या अनुप्रयोगाला वेगवेगळ्या भाषांमध्ये, चलनांमध्ये आणि तारखेच्या स्वरूपांमध्ये अनुकूल करण्याची परवानगी देते.

या ट्युटोरियलमध्ये, आपण आपल्या React Next.js अनुप्रयोगात सर्व्हर साइड रेंडरिंगसह आंतरराष्ट्रीयीकरण कसे जोडायचे ते पाहू. TL;DR: पूर्ण उदाहरण येथे पहा.

हा मार्गदर्शक त्या Next.js अनुप्रयोगांसाठी आहे जे Pages Router वापरत आहेत.
जर आपण App Router वापरत असाल, तर कृपया याऐवजी हा मार्गदर्शक पहा.

पायरी 1: i18n लायब्ररी इंस्टॉल करा

आपल्या Next.js अनुप्रयोगात आंतरराष्ट्रीयीकरण (internationalization) लागू करण्यासाठी, आपण प्रथम एक i18n लायब्ररी निवडू. अनेक लोकप्रिय लायब्ररी आहेत, ज्यात next-intl देखील आहे. तथापि, या उदाहरणात, आपण TacoTranslate वापरणार आहोत.

TacoTranslate आपल्या स्ट्रिंग्जना अगदी आघाडीच्या AI चा वापर करून कोणत्याही भाषेत स्वयंचलितपणे भाषांतरित करतो आणि JSON फाइल्सच्या कंटाळवाण्या व्यवस्थापनापासून आपल्याला मुक्त करतो.

चला, तुमच्या टर्मिनलमध्ये npm वापरून ते इन्स्टॉल करूया:

npm install tacotranslate

पाऊल २: एक मोफत TacoTranslate खाते तयार करा

आता तुमच्याकडे मॉड्यूल इंस्टॉल झाले आहे, तेव्हा तुमचे TacoTranslate खाते, एक भाषांतर प्रोजेक्ट, आणि संबंधित API किज तयार करण्याची वेळ आली आहे. येथे खाते तयार करा. हे मोफत आहे, आणि तुम्हाला क्रेडिट कार्ड जोडण्याची गरज नाही.

TacoTranslate ॲप्लिकेशन UI मध्ये, एक प्रोजेक्ट तयार करा आणि त्याच्या API कीज टॅबवर जा. एक read की आणि एक read/write की तयार करा. आम्ही त्यांना वातावरणातील व्हेरिएबल्स म्हणून जतन करू. read की म्हणजेच आम्ही ज्याला public म्हणतो आणि read/write की म्हणजे secret. उदाहरणार्थ, तुम्ही त्या तुमच्या प्रोजेक्टच्या रूटमधील .env फाईलमध्ये जोडू शकता.

.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. येथे ऑरिजिनबद्दल अधिक वाचा.
.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 प्रॉपर्टीज. लक्षात घ्या की revalidate हे getTacoTranslateStaticProps वर डीफॉल्टने 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!"/>
}

पायरी ५: तैनात करा आणि चाचणी करा!

आम्ही पूर्ण केले! जेव्हा तुम्ही Translate घटकामध्ये कोणतेही स्ट्रिंग्ज जोडाल, तेव्हा तुमचे Next.js अॅप्लिकेशन आता आपोआप अनुवादित होईल. लक्षात घ्या की API कीवर read/write परवानग्या असलेल्या वातावरणांनाच नवीन स्ट्रिंग्ज तयार करण्याची परवानगी असेल ज्यांचे अनुवाद करायचे आहेत. आम्ही शिफारस करतो की तुम्ही एक बंद आणि सुरक्षित स्टेजिंग वातावरण ठेवा जिथे तुम्ही तुमचे उत्पादन अॅप्लिकेशन अशा API कीसह चाचणी करू शकता, आणि नवीन स्ट्रिंग्ज लाईव्ह जाण्यापूर्वी जोडू शकता. यामुळे कोणालाही तुमची गुप्त API की चोरी करण्यापासून रोखले जाईल आणि संभाव्यतेने अनावश्यक नवीन स्ट्रिंग्ज जोडून तुमच्या अनुवाद प्रकल्पाचा त्रास होण्यापासून प्रतिबंध होईल.

नक्कीच आमच्या GitHub प्रोफाइलवर पूर्ण उदाहरण पाहा. तिथे, तुम्हाला App Router वापरून हे कसे करायचे याचे उदाहरणही सापडेल! तुम्हाला काही अडचण आल्यास, कृपया संपर्क करा, आणि आम्हाला मदत करण्यात आनंद होईल.

TacoTranslate तुम्हाला तुमच्या React अनुप्रयोगांना कोणत्याही भाषेतून जलदपणे स्वयंचलितपणे स्थानिक करण्याची अनुमती देते. आजच सुरुवात करा!

Nattskiftet कडून एक उत्पादननॉर्वेमधून तयार केलेले