TacoTranslate
/
ஆவணப்படுத்தல்விலை நிர்ணயம்
 
ஆர்ட்டிகிள்
04 மே

Next.js செயலிகளில் சர்வதேசமயமாக்கலுக்கான (i18n) மிகச்சிறந்த தீர்வு

நீங்கள் உங்கள் Next.js பயன்பாட்டை புதிய சந்தைகளுக்கு விரிவுபடுத்த விரும்புகிறீர்களா? TacoTranslate உங்கள் Next.js திட்டத்தை உள்ளூராக்க மிகவும் எளிதாக மாற்றுகிறது, இதனால் நீங்கள் பிரச்சினையில்லாமல் உலகளாவிய பார்வையாளர்களை அடைய முடியும்.

Next.js க்கான TacoTranslate ஐ ஏன் தேர்வு செய்ய வேண்டும்?

  • தொடர்ச்சியான ஒருங்கிணைப்பு: Next.js செயலிகளுக்காக சிறப்பாக வடிவமைக்கப்பட்ட TacoTranslate உங்கள் தற்போதைய வேலைநடையை எளிதாக இணைக்கிறது.
  • தானியங்கி строк்க்கள் சேகரிப்பு: JSON கோப்புகளை கைமுறையாக நிர்வகிக்க தேவையில்லை. TacoTranslate தானாகவே உங்கள் குறியீட்டு அடிப்படையிலிருந்து строк்க்களை சேகரிக்கிறது.
  • எய்ஐ மூலம் இயக்கப்படும் மொழிபெயர்ப்புகள்: உங்கள் விண்ணப்பத்தின் தன்மைக்கு பொருந்தும் பொருள் சார்ந்த துல்லியமான மொழிபெயர்ப்புகளை வழங்க எய்ஐ சக்தியை பயன்படுத்துங்கள்.
  • உடனடி மொழி ஆதரவு: புதிய மொழிகளுக்கு ஒரு கிளிக்கில் ஆதரவை சேர்க்கவும், உங்கள் விண்ணப்பத்தை உலகளாவியமாக அணுகக்கூடியதாக மாற்றவும்.

இதன் செயற்பாடு எப்படி உள்ளது

உலகம் அதிக அளவில் உலகமயமாகும் போது, வெப் டெவலப்பர்களுக்கு வெவ்வேறு நாடுகள் மற்றும் பண்பாட்டினருக்கான பயனாளிகளுக்கு பொருந்தக்கூடிய பயன்பாடுகளை உருவாக்குவது மிகவும் முக்கியமாகிறது. இதை எட்டுவதற்கான முக்கிய வழிகளில் ஒன்று மைய்கொள்ளப்பட்ட மொழிபெயர்ப்பு (internationalization - i18n) ஆகும், இது உங்கள் பயன்பாட்டை வெவ்வேறு மொழிகள், நாணயங்கள் மற்றும் தேதி வடிவமைப்புகளுக்கு தகுந்தபடி மாற்றுவதற்கு அனுமதிக்கிறது.

இந்த பயிற்சிக்கட்டுரையில், உங்கள் React Next.js பயன்பாட்டுக்கு server side rendering உடன் மைய்கொள்ளப்பட்ட மொழிபெயர்ப்பை சேர்ப்பது எப்படி என்பதைக் கண்டறிவோம். TL;DR: இந்த முழு எடுத்துக்காட்டை இங்கே பாருங்கள்.

இந்த வழிகாட்டி Pages Router பயன்படுத்தும் Next.js பயன்பாடுகளுக்காக உள்ளது.
நீங்கள் App Router பயன்படுத்தினால், தயவுசெய்து அதன் பதிலாக இந்த வழிகாட்டியை பார்க்கவும்.

படி 1: ஒரு i18n நூலகத்தை நிறுவவும்

உங்கள் Next.js பயன்பாட்டில் சர்வதேசாவதாரிப்பை (i18n) செயல்படுத்த முதலில் ஒரு 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 கோப்பில் சேர்க்கலாம்.

.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 உங்கள் தழுவல்களின் சேவையக பக்க விளக்கத்தைக் (server side rendering) அனுமதிக்கிறது. இது மொழிபெயர்க்கப்பட்ட உள்ளடக்கத்தை உடனடியாக காட்டுவதன் மூலம் பயனர் அனுபவத்தை பெரிதும் மேம்படுத்துகிறது, முதலில் மொழிபெயர்க்கப்படாத உள்ளடக்கம் திடீரென தோன்றுவதைக் காட்டுவதில்லை. கூடுதலாக, நமக்கு தேவையான அனைத்து மொழிபெயர்ப்புகளும் ஏற்கனவே இருக்கிறதால் கிளையண்டில் நெட்வொர்க் கோரிக்கைகளை தவிர்க்க முடியும்.

நாம் /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 பயன்படுத்த வேண்டும்.

இந்த செயல்பாடுகள் மூன்று arguments எடுத்துக்கொள்கின்றன: ஒரு Next.js Static Props Context பொருள், TacoTranslate அமைப்புகள், மற்றும் விருப்பமான Next.js பண்புகள். getTacoTranslateStaticProps இல் revalidate இயல்பாக 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 விசை திருடுவதை தடுக்கும் மற்றும் புதிய, தொடர்பில்லாத சரங்கள் சேர்க்கப்பட்டு உங்கள் மொழிபெயர்ப்பு திட்டத்தை அதிகமாக்கும் அபாயத்தையும் குறைக்கும்.

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!

நாட்ட்ஸ்கிப்டெட் வழங்கும் ஒரு தயாரிப்புநார்வேயில் தயாரிக்கப்பட்டது