TacoTranslate
/
ഡോക്യുമെന്റേഷന്‍വില നിർണ്ണയം
 
ലേഖനം
മേയ് 04

Next.js ആപ്പുകൾക്കുള്ള അന്താരാഷ്ട്രീകരണത്തിനുള്ള (i18n) ഏറ്റവും മികച്ച പരിഹാരം

നിങ്ങളുടെ Next.js അപ്ലിക്കേഷൻ പുതിയ വിപണികളിലേക്ക് വിപുലീകരിക്കാനുഭവിക്കുകയാണ്? TacoTranslate നിങ്ങളുടെ Next.js പ്രോജക്റ്റ് ലൊക്കലൈസ് ചെയ്യാൻ അതുല്യമായ(report) സൌകര്യം നൽകുന്നു, ഇതിലൂടെ നിങ്ങൾക്ക് ബുദ്ധിമുട്ട് ഇല്ലാതെ ഒരു ആഗോള പ്രേക്ഷകവൃന്ദത്തോട് എത്താം.

Next.js ന് വേണ്ടി TacoTranslate തിരഞ്ഞെടുക്കുന്നതെന്തുകൊണ്ട്?

  • സെമ്ലെസ് ഇന്റഗ്രേഷൻ: പ്രത്യേകിച്ച് Next.js ആപ്ലിക്കേഷനുകൾക്കായി രൂപകല്പന ചെയ്‌തത്, TacoTranslate നിങ്ങളുടെ നിലവിലുള്ള പ്രവൃത്തി പ്രവാഹത്തിലേക്ക് എളുപ്പത്തിൽ ഇന്റഗ്രേറ്റ് ചെയ്യുന്നു.
  • ഓട്ടോമാറ്റിക് സ്ട്രിംഗ് ശേഖരണം: JSON ഫയലുകൾ മാനുവലായി കൈകാര്യം ചെയ്യേണ്ടതില്ല. TacoTranslate സ്വയം നിങ്ങളുടെ കോഡ്‌ബേസിൽ നിന്നായി സ്ട്രിംഗ്‌സ് ശേഖരിക്കുന്നു.
  • AI-ശക്തിയുള്ള വിവർത്തനങ്ങൾ: നിങ്ങളുടെ ആപ്ലിക്കേഷൻ ടോണിനൊപ്പം ഒത്തხმഞ്ഞിരിക്കുന്ന പശ്ചാത്തലപരമായി കൃത്യമായ വിവർത്തനങ്ങൾ നൽകാൻ AI ന്റെ ശക്തി ഉപയോഗിക്കുക.
  • തത്സമയം ഭാഷാ പിന്തുണ: ഒറ്റ ക്ലിക്കിൽ പുതിയ ഭാഷകളെ പിന്തുണയ്ക്കാൻ ചേർക്കാം, näin നിങ്ങളുടെ ആപ്ലിക്കേഷൻ ലോകമാകെയുള്ള ആക്സസ്‌ബിളാകുന്നു.

ഇത് എങ്ങനെ പ്രവർത്തിക്കുന്നു

ലോകം കൂടുതൽ ആഗോളവൽക്കൃതമായിരിക്കുന്നു, അതുകൊണ്ടുതന്നെ വെബ് ഡെവലപ്പർമാർക്ക് വ്യത്യസ്ത രാജ്യങ്ങളിലെയും സാംസ്കാരികങ്ങളിലെയും ഉപഭോക്താക്കളെ പരിഗണിച്ചുകൊണ്ട് അപ്ലിക്കേഷനുകൾ നിർമിക്കുന്നതു നിർണ്ണായകമാണ്. ഇത് സാധ്യമാക്കാനുള്ള പ്രധാന മാർഗങ്ങളിലൊന്ന് ഇന്റർനാഷണലൈസേഷൻ (i18n) ആണ്, ഇത് നിങ്ങളുടെ അപ്ലിക്കേഷൻ വിവിധ ഭാഷകൾ, കറൻസികൾ, തീയതി ഫോംമാറ്റുകൾ എന്നിവയ്ക്ക് അനുയോജ്യമായി മാറ്റാൻ സഹായിക്കുന്നു.

ഈ ട്യൂട്ടോറിയലിൽ, സെർവർ സൈഡ് റെൻഡറിംഗ് ഉൾപ്പെട്ടുള്ള നിങ്ങളുടെ React Next.js അപ്ലിക്കേഷനിൽ ഇന്റർനാഷണലൈസേഷൻ എങ്ങനെ ചേർക്കാമെന്ന് നാം പരിശോധിക്കുമെന്ന്. TL;DR: പൂർണ്ണ ഉദാഹരണം ഇവിടെ കാണുക.

ഈ ഗൈഡ് Pages Router ഉപയോഗിക്കുന്ന Next.js ആപ്ലിക്കേഷനുകൾക്കായാണ്.
നിങ്ങൾ App Router ഉപയോഗിച്ചാൽ, ദയവായി പകരം ഈ ഗൈഡ് കാണുക.

പടി 1: ഒരു i18n ലൈബ്രറി ഇൻസ്റ്റാൾ ചെയ്യുക

നിങ്ങളുടെ Next.js അപ്ലിക്കേഷനിൽ അന്താരാഷ്ട്രീകാരം നടപ്പിലാക്കാൻ, ആദ്യം നാം ഒരു i18n ലൈബ്രറി തിരഞ്ഞെടുക്കും. നിരവധി ജനപ്രിയ ലൈബ്രറികളുണ്ട്, അതിൽ next-intl ഉൾപ്പെടുന്നു. എന്നാൽ, ഈ ഉദാഹരണത്തിൽ, നാം TacoTranslate ഉപയോഗിക്കും.

TacoTranslate ഏറ്റവും പുതിയ AI ഉപയോഗിച്ച് നിങ്ങളുടെ സ്ട്രിങ്ക്‌സ് ഏതെങ്കിലും ഭാഷയിലേക്ക് സ്വയം അനuvadം ചെയ്യുന്നു, കൂടാതെ 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: നിങ്ങളുടെ ചੰਦਰിക strings സൂക്ഷിക്കപ്പെടുന്ന “ഫോൾഡർ”, ഉദാഹരണത്തിന് നിങ്ങളുടെ വെബ്സൈറ്റിന്റെ 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 പ്രോപ്പർട്ടീസുകൾ. getTacoTranslateStaticPropsrevalidate ഡിഫോൾട് ആയി 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!

നാറ്റ്‌സ്‌കിഫ്റ്റെറ്റ് നിന്നുള്ള ഒരു ഉൽപ്പന്നംനോർവേയിൽ നിർമ്മിച്ചത്