Next.js செயலிகளில் சர்வதேசீகরণের (i18n) சிறந்த தீர்வு
உங்கள் Next.js பயன்பாட்டை புதிய சந்தைகளுக்கு விரிவுபடுத்த நினைக்கிறீர்களா? TacoTranslate உங்கள் Next.js திட்டத்தை உள்ளூரீகப்படுத்த மிகவும் எளிதாக்குகிறது, இதனால் நீங்கள் சிரமமின்றி உலகளாவிய பார்வையாளர்களை அடைய முடியும்.
Next.js-க்காக TacoTranslateஐ ஏன் தேர்ந்தெடுக்க வேண்டும்?
- இணக்கமான ஒருங்கிணைவு: Next.js பயன்பாடுகளுக்காக குறிப்பாக வடிவமைக்கப்பட்டதால், TacoTranslate உங்கள் தற்போதைய பணிநடைமுறையில் எளிதாக மற்றும் தடையின்றி இணைகிறது.
- தானாக தொடர்கள் சேகரிப்பு: JSON கோப்புகளை கைமுறையாக நிர்வகிக்க தேவையில்லை. TacoTranslate உங்கள் குறியீட்டு ஆதாரத்திலிருந்து தொடர்களை தானாக சேகரிக்கிறது.
- AI-ஆதாரமான மொழிபெயர்ப்புகள்: உங்கள் பயன்பாட்டின் தொனிக்கு பொருந்தும், சூழல் சார்ந்த துல்லியமான மொழிபெயர்ப்புகளை வழங்க 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 keys தாவலுக்குச் செல்லவும். ஒரு read விசையையும் ஒரு read/write விசையையும் உருவாக்குங்கள். அவற்றை சுற்றுச்சூழல் மாறிலிகளாகச் சேமிப்போம். read விசையை நாம் public என்று அழைப்போம், மற்றும் read/write விசை secret ஆகும். உதாரணமாக, அவற்றை உங்கள் திட்டத்தின் ரூட்டில் உள்ள .env கோப்பில் சேர்க்கலாம்.
TACOTRANSLATE_PUBLIC_API_KEY=123456
TACOTRANSLATE_SECRET_API_KEY=789010இரகசிய read/write API விசையை கிளையன்ட்-சைடு உற்பத்தி சூழல்களுக்கு வெளியே விடக்கூடாது என்பதை உறுதிசெய்யுங்கள்.
மேலும் இரண்டு சுற்றுச்சூழல் மாறிலிகளைச் சேர்க்கப்போகிறோம்: TACOTRANSLATE_DEFAULT_LOCALE மற்றும் TACOTRANSLATE_ORIGIN.
TACOTRANSLATE_DEFAULT_LOCALE: இயல்பான (fallback) மொழி குறியீடு. இந்த எடுத்துக்காட்டில், அதைenஎன்று ஆங்கிலத்திற்காக அமைப்போம்.TACOTRANSLATE_ORIGIN: உங்கள் ஸ்ட்ரிங்ஸ் சேமிக்கப்படும் "கோப்புறை" — உதாரணமாக உங்கள் வலைத்தளத்தின் URL. மூலங்கள் (origins) பற்றி மேலும் இங்கு படிக்கவும்.
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) இருந்தால், புதிய ஸ்ட்ரிங்களை மொழிபெயர்க்க அனுப்புவதை உறுதி செய்வதற்காக நாங்கள் ரகசிய 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: வெளியிடவும் மற்றும் சோதிக்கவும்!
நாம் முடித்துவிட்டோம்! உங்கள் Next.js பயன்பாடு, நீங்கள் Translate கூறகத்தில் எந்த ஸ்ட்ரிங்ஸையும் சேர்த்தாலோ அவற்றை தானாக மொழிபெயர்க்கப்படும். குறிப்பாக, API விசையில் read/write அனுமதிகள் only உள்ள சுற்றுச்சூழல்கள் மட்டுமே புதிய மொழிபெயர்க்க வேண்டிய ஸ்ட்ரிங்ஸை உருவாக்க முடியும் என்பதை கவனிக்கவும். இவர்களுடன் உங்கள் தயாரிப்பு பயன்பாட்டை சோதிக்க, வெளியிடுவதற்கு முன் புதிய ஸ்ட்ரிங்ஸைச் சேர்க்கக்கூடிய ஒரு மூடப்பட்ட மற்றும் பாதுகாக்கப்பட்ட ஸ்டேஜிங் சுற்றுச்சூழலை வைத்திருக்க நாங்கள் பரிந்துரைக்கிறோம். இது யாரும் யாரும் உங்கள் ரகசிய 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!