TacoTranslate
/
ලේඛනමිල ගණන්
 
ලිපිය
2025 මැයි 04

Next.js යෙදුම්වල i18n (ජාත්‍යන්තරීකරණය) සඳහා හොඳම විසඳුම

ඔබගේ Next.js යෙදුම නව වෙළඳපොළවලට පුළුල් කිරීමට බලාපොරොත්තුද? TacoTranslate ඔබගේ Next.js ව්‍යාපෘතිය දේශීයකරණය කිරීම අතිශය පහසු කරයි, එමඟින් ඔබට අමාරුවක් නොමැතිව ගෝලීය ප්‍රේක්ෂකයන්ට ළඟා විය හැක.

Next.js සඳහා TacoTranslate තෝරාගන්නේ ඇයි?

  • සම්පූර්ණ ලෙස ඒකාබද්ධ වීම: Next.js යෙදුම් සඳහා විශේෂයෙන්ම සැලසුම් කර ඇති අතර, TacoTranslate ඔබගේ වර්තමාන වැඩ ප්‍රවාහයට පහසුවෙන් ඒකාබද්ධ වේ.
  • ස්වයංක්‍රීय පෙළ එකතු කිරීම: JSON ගොනු අත්හදා බලමින් කළමනාකරණය කිරීම අවශ්‍ය නැත. TacoTranslate ඔබේ කේත මූලාශ්‍රයෙන් ස්වයංක්‍රීයව පෙළ එකතු කරයි.
  • කෘත්‍රිම බුද්ධියෙන් බලගත් පරිවර්තන: ඔබගේ යෙදුමේ ස්වරයට ගැලපෙන, ප්‍රසංගිකව නිවැරදි පරිවර්තන ලබාදීමට කෘත්‍රිම බුද්ධියේ බලය භාවිතා කරන්න.
  • ක්ෂණික භාෂා සහය: ක්ලික් එකක් මගින් නව භාෂා සඳහා සහාය එකතු කරන්න, ඔබගේ යෙදුම ගෝලීයව ප්‍රවේශයට ලක් කරගත හැක.

මෙය කෙසේ ක්‍රියා කරයි

ලෝකය ගෝලීයවෙමින් පවතින බැවින්, විවිධ රටවල සහ සංස්කෘතික පසුබැසීම් ඇති පරිශීලකයින්ට ගැලපෙන යෙදුම් නිර්මාණය කිරීම වෙබ් සංවර්ධකයින්ට තවදුරටත් වැදගත් වී තිබේ. එම ලක්ෂ්‍යය ලබාගැනීමට ප්‍රධාන ක්‍රමයක් වන්නේ ජාත්‍යන්තරීකරණය (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 යතුරක් සාදන්න. අප ඒවා පරිසර විචල්‍ය (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.

.env
TACOTRANSLATE_DEFAULT_LOCALE=en
TACOTRANSLATE_ORIGIN=your-website-url.com

පියවර 3: TacoTranslate සැකसීම

TacoTranslate ඔබගේ යෙදුම සමඟ ඒකාබද්ධ කිරීමට, පෙර ලබාදුන් API යතුරු භාවිතයෙන් client එකක් නිර්මාණය කිරීම අවශ්‍ය වේ. උදාහරණයක් ලෙස, /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 ස්වයංක්‍රීයව නියම කරනු ඇත.

Client එක වෙනම ගොනුවක නිර්මාණය කිරීමෙන් පසු නැවත භාවිතයට ගැනීම පහසු වේ. දැන්, අභිරුචිකෘත /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 ඔබේ පරිවර්තන සඳහා සේවාදායක‑පාර්ශ්ව රෙන්ඩර කිරීම සලසයි. මෙය පරිශීලක අත්දැකීම විශාල ලෙස වර්ධනය කරයි — මුලින් පරිවර්තනය නොකළ අන්තර්ගතයක් කෙටි කාලයක් සඳහා පෙන්වීම වෙනුවට පරිවර්තිත අන්තර්ගය වහාම පෙන්වයි. අමතරව, අපට client‑පාර්ශ්වයෙන් ජාල ඉල්ලීම් කිරීමට අවශ්‍ය නැත, මන්ද අපට අවශ්‍ය සියලු පරිවර්තන දැනටමත් තිබේ.

අපි /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 on 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 කොම්පොනන්ට්වල ඇති strings පරිවර්තනය කිරීමට Translate කොම්පොනන්ට් එක භාවිතා කළ හැකිය.

import {Translate} from 'tacotranslate/react';

function Component() {
	return <Translate string="Hello, world!"/>
}

පියවර 5: නිකුත් කර පරීක්ෂා කරන්න!

අපි අවසන් වුණා! ඔබ Translate කොම්පොනෙන්ටුවකට ඕනෑම පෙළක් එක් කරන විට, ඔබගේ Next.js යෙදුම දැන් ස්වයංක්‍රීයව පරිවර්තනය වේ. API යතුර සඳහා read/write අවසර ඇති පරිසරවලට පමණක් පරිවර්තනය සඳහා නව පෙළ ජනනය කළ හැකි බව සලකන්න. එවැනි API යතුරක් භාවිතයෙන් ඔබගේ ප්‍රොඩක්ෂන් යෙදුම පරීක්ෂා කළ හැකි වසා ඇති සහ ආරක්ෂිත staging පරිසරයක් තිබීම අපි නිර්දේශ කරමු; එහිදී සජීවී කිරීමට පෙර නව පෙළ එකතු කර පරීක්ෂා කරන්න. මෙය ඔබගේ රහසිගත 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 වෙතින්නෝර්වේ නිෂ්පාදිත