Suluhisho bora kwa uboreshaji wa kimataifa (i18n) katika programu za Next.js
Je, unatafuta kupanua programu yako ya Next.js kwenda masoko mapya? TacoTranslate inafanya iwe rahisi sana kutoa lugha ya eneo la mradi wako wa Next.js, ikikuwezesha kufikia hadhira ya duniani kote bila usumbufu.
Kwa nini uchague TacoTranslate kwa Next.js?
- Muunganisho Usio na Kikwazo: Imesanifiwa mahsusi kwa ajili ya programu za Next.js, TacoTranslate hujumuisha kwa urahisi katika mtiririko wako wa kazi uliopo.
- Ukusanyaji wa Mifunguo kwa Moja kwa Moja: Hakuna tena kusimamia faili za JSON kwa mkono. TacoTranslate hukusanya mifunguo moja kwa moja kutoka kwenye msimbo wako.
- Tafsiri Zinazotumia AI: Tumia nguvu ya AI kutoa tafsiri sahihi kiundani ambazo zinaendana na mtindo wa programu yako.
- Msaada wa Lugha Mara Moja: Ongeza msaada wa lugha mpya kwa kubofya tu, na kufanya programu yako ipatikane duniani kote.
Jinsi inavyofanya kazi
Wakati dunia inazidi kuwa ya kimataifa, ni muhimu zaidi kwa waendeleza wavuti kujenga programu zinazoweza kuwahudumia watumiaji kutoka nchi na tamaduni tofauti. Njia moja kuu ya kufanikisha hili ni kupitia uanzishwaji wa kimataifa (i18n), ambao unakuwezesha kubadilisha programu yako kwa lugha tofauti, sarafu, na miundo ya tarehe.
Kwenye mafunzo haya, tutachunguza jinsi ya kuongeza uanzishwaji wa kimataifa kwenye programu yako ya React Next.js, pamoja na upitishaji wa seva upande. TL;DR: Tazama mfano kamili hapa.
Mwongozo huu ni kwa ajili ya programu za Next.js zinazotumia Pages Router.
Iwapo unatumia App Router, tafadhali tazama mwongozo huu badala yake.
Hatua ya 1: Sakinisha maktaba ya i18n
Ili kutekeleza uInternationalization katika programu yako ya Next.js, tutaanza kwa kuchagua maktaba ya i18n. Kuna maktaba kadhaa maarufu, zikiwemo next-intl. Hata hivyo, katika mfano huu, tutatumia TacoTranslate.
TacoTranslate hutafsiri moja kwa moja maandishi yako kwa lugha yoyote kwa kutumia AI yenye teknolojia ya hali ya juu, na inakuondolea usumbufu wa kusimamia faili za JSON.
Tuanze kuisakinisha kwa kutumia npm kwenye terminal yako:
npm install tacotranslate
Hatua ya 2: Tengeneza akaunti ya bure ya TacoTranslate
Sasa baada ya kuwa umeweka moduli, ni wakati wa kuunda akaunti yako ya TacoTranslate, mradi wa kutafsiri, na funguo za API zinazohusiana. Unda akaunti hapa. Ni bure, na haihitaji kuongeza kadi ya mkopo.
Ndani ya UI ya programu ya TacoTranslate, unda mradi, na nenda kwenye kichupo cha API keys zake. Unda ufunguo mmoja read
na ufunguo mmoja read/write
. Tutayahifadhi kama vigezo vya mazingira. Ufunguo wa read
ndio tunaouita public
na ufunguo wa read/write
ni secret
. Kwa mfano, unaweza kuyaongeza kwenye faili ya .env
kwenye mzizi wa mradi wako.
TACOTRANSLATE_PUBLIC_API_KEY=123456
TACOTRANSLATE_SECRET_API_KEY=789010
Hakikisha hauwahi kufichua siri ya read/write
API key kwa mazingira ya uzalishaji upande wa mteja.
Pia tutaongeza mabadiliko mawili zaidi ya mazingira: TACOTRANSLATE_DEFAULT_LOCALE
na TACOTRANSLATE_ORIGIN
.
TACOTRANSLATE_DEFAULT_LOCALE
: Msimbo wa kiasili wa eneo la kubadili la chaguo-msingi. Katika mfano huu, tutaiweka kuwaen
kwa Kiingereza.TACOTRANSLATE_ORIGIN
: "Folda" ambapo mistari yako itahifadhiwa, kama anwani ya tovuti yako. Soma zaidi kuhusu asili hapa.
TACOTRANSLATE_DEFAULT_LOCALE=en
TACOTRANSLATE_ORIGIN=your-website-url.com
Hatua ya 3: Kuweka TacoTranslate
Ili kuunganisha TacoTranslate na maombi yako, utahitaji kuunda mteja ukitumia funguo za API kutoka awali. Kwa mfano, tengeneza faili iitwayo /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;
Tutakuwa tukibainisha kwa moja kwa moja TACOTRANSLATE_API_KEY
hivi karibuni.
Kuumba mteja katika faili tofauti huifanya iwe rahisi kuitumia tena baadaye. Sasa, tukitumia /pages/_app.tsx
maalum, tutaongeza mtoaji 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>
);
}
Ikiwa tayari una pageProps
na _app.tsx
maalum, tafadhali panua ufafanuzi huo kwa kutumia sifa na msimbo kutoka juu.
Hatua ya 4: Kutekeleza uchoraji upande wa seva
TacoTranslate inaruhusu uchoraji wa tafsiri zako upande wa server. Hii inaboresha sana uzoefu wa mtumiaji kwa kuonyesha maudhui yaliyotafsiriwa mara moja, badala ya kuwasha kwa muda maudhui ambayo hayajatafsiriwa kwanza. Zaidi ya hayo, tunaweza kuruka maombi ya mtandao upande wa mteja, kwa sababu tayari tunayo tafsiri zote tunazohitaji.
Tutaanza kwa kuunda au kubadilisha /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'),
});
};
Rekebisha ukaguzi wa isProduction
ili kuendana na usanidi wako. Ikiwa true
, TacoTranslate itaonyesha ufunguo wa API ya umma. Ikiwa tuko katika mazingira ya ndani, ya majaribio, au ya jukwaa (isProduction
is false
), tutatumia kitufe cha siri read/write
API ili kuhakikisha kuwa mifuatano mipya inatumwa kwa tafsiri.
Mpaka sasa, tumeweka tu programu ya Next.js na orodha ya lugha zinazotolewa msaada. Kitu kinachofuata tutakachofanya ni kupata tafsiri za kurasa zako zote. Kufanya hivyo, utatumia ama getTacoTranslateStaticProps
au getTacoTranslateServerSideProps
kulingana na mahitaji yako.
Hizi kazi zinachukua hoja tatu: Mojawapo ni kitu cha Next.js Static Props Context, usanidi wa TacoTranslate, na mali za hiari za Next.js. Kumbuka kwamba revalidate
kwenye getTacoTranslateStaticProps
imewekwa 60 kwa asili, ili tafsiri zako ziwe za kisasa.
Ili kutumia moja ya kazi hizi kwenye ukurasa, tuchukulie una faili ya ukurasa kama /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!"/>;
}
Sasa unapaswa kuwa na uwezo wa kutumia sehemu ya Translate
kutafsiri mistari ndani ya vipengele vyako vyote vya React.
import {Translate} from 'tacotranslate/react';
function Component() {
return <Translate string="Hello, world!"/>
}
Hatua ya 5: Toa na jaribu!
Tumemaliza! Programu yako ya Next.js sasa itatafsiriwa kiotomatiki unapoongeza mistari yoyote kwenye sehemu ya Translate
. Kumbuka kuwa ni mazingira yenye ruhusa za read/write
kwenye API key tu ndiyo yataweza kuunda mistari mipya ya kutafsiriwa. Tunapendekeza kuwa na mazingira ya staging yaliyofungwa na salama ambapo unaweza kujaribu programu yako ya uzalishaji ukitumia API key kama hiyo, ukiongeza mistari mipya kabla ya kuanza kwa moja kwa moja. Hii itazuia mtu yeyote kuiba API key yako ya siri, na pia kuzuia mradi wako wa tafsiri kupanuka kupita kiasi kwa kuongeza mistari mipya isiyohusiana.
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!