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
ફાઈલમાં ઉમેરી શકો છો.
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 વિશે વધુ વાંચો.
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 પ્રોપર્ટીઝ. નોંધો કે revalidate
getTacoTranslateStaticProps
પર ડિફોલ્ટરૂપે 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: તૈનાત કરો અને પરીક્ષણ કરો!
અમે પૂર્ણ કર્યું! જ્યારે તમે 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!