TacoTranslate
/
દસ્તાવેજીકરણભાવ
 
લેખ
04 મે

Next.js એપ્લિકેશનોમાં આંતરરાષ્ટ્રીયકરણ (i18n) માટેનું શ્રેષ્ઠ ઉકેલ

શું તમે તમારા Next.js એપ્લિકેશનને નવા બજારોમાં વિસ્તૃત કરવા ઇચ્છો છો? TacoTranslate તમારા Next.js પ્રોજેક્ટને લોકલાઇઝ કરવું અત્યંત સરળ બનાવે છે, જેથી તમે બિનજટિલતાથી વૈશ્વિક પ્રેક્ષકો સુધી પહોંચી શકો.

Next.js માટે TacoTranslate કેમ પસંદ કરવું?

  • સુગમ એકીકરણ: Next.js એપ્લિકેશન્સ માટે ખાસ ડિઝાઇન કરાયેલ, TacoTranslate તમારા વર્તમાન કાર્યપ્રવાહમાં સરળતાથી એકીકૃત થાય છે.
  • આપમેળે સ્ટ્રિંગ સંગ્રહ: હવે JSON ફાઈલોને મેન્યુઅલી મેનેજ કરવાની જરૂર નથી. TacoTranslate આપમેળે તમારા કોડબેઝમાંથી સ્ટ્રિંગ્સ એકત્ર કરે છે.
  • એઆઇ-સંચાલિત અનુવાદ: એઆઇની શક્તિનો ઉપયોગ કરીને પ્રાસંગિક રીતે સચોટ અનુવાદ પ્રદાન કરે છે, જે તમારા એપ્લિકેશનની લહજાને અનુરૂપ હોય.
  • તાત્કાલિક ભાષા સમર્થન: ફક્ત એક ક્લિકમાં નવી ભાષાઓ માટે સમર્થન ઉમેરો, જેથી તમારું એપ્લિકેશન વૈશ્વિક સ્તરે ઉપલબ્ધ બને.

તે કેવી રીતે કામ કરે છે

જેમ જેમ દુનિયા વધુ વૈશ્વિક બને છે, વેબ ડેવલપર્સ માટે વિવિધ દેશો અને સંસ્કૃતિઓના વપરાશકર્તાઓને પૂરતા પ્રમાણમાં કવર કરી શકતા એપ્લિકેશન્સ બનાવવું આગળ વધી રહ્યું છે. આ સિદ્ધ કરવા માટેના મુખ્ય માર્ગોમાંનું એક છે આંતરરાષ્ટ્રીયકરણ (i18n), જે તમને તમારી એપ્લિકેશનને વિવિધ ભાષાઓ, ચલણો અને તારીખ ફોર્મેટ્સ માટે અનુકૂળ બનાવવા દે છે.

આ માર્ગદર્શિકામાં, અમે બતાવીશું કે કેવી રીતે સર્વર-સાઇડ રેન્ડરિંગ સાથે તમારી React Next.js એપ્લિકેશનમાં આંતરરાષ્ટ્રીયકરણ ઉમેરવું. TL;DR: સંપૂર્ણ ઉદાહરણ અહીં જુઓ.

આ માર્ગદર્શન Next.js એપ્લિકેશનો માટે છે જે Pages Router નો ઉપયોગ કરે છે.
જો તમે 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 કી બનાવો. અમે તેમને પર્યાવરણીય પરિવર્તકો (environment variables) તરીકે સાચવીશું. અમે 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. અહીં origins વિશે વધુ વાંચો.
.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!"/>
}

પગલું 5: તૈનાત કરો અને પરીક્ષણ કરો!

અમે પૂર્ણ કર્યું! જ્યારે તમે Translate કમ્પોનન્ટમાં કોઈપણ સ્ટ્રિંગ્સ ઉમેરશો ત્યારે તમારી Next.js એપ્લિકેશન હવે આપમેળે અનુવાદિત થઈ જશે. નોંધો કે માત્ર તે પર્યાવરણો જ, જેમની 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!

Nattskiftet નું ઉત્પાદનનોર્વેમાં બનાવેલું