Miongozo

Jinsi ya Kuongeza Lugha Nyingi kwenye App au Tovuti Yako

Ili kuongeza lugha nyingi kwenye app, hamisha maandishi yote ya kiolesura kwenye faili za tafsiri (moja kwa kila lugha), yapakie kwa maktaba ya i18n, kisha ongeza kibadilishaji cha lugha kinachokumbuka chaguo. Kwa kurasa za umma unazotaka zipatikane kwenye utafutaji, mpe kila lugha URL yake, kama /fr/, na unganisha matoleo kwa kutumia lebo za hreflang. Kisha shughulikia sehemu ambazo watu husahau: tarehe, namba na sarafu, maandishi marefu zaidi kwa baadhi ya lugha, lugha za kulia kwenda kushoto, na maudhui yaliyohifadhiwa kwenye database yako.

Maneno utakayosikia

  • Internationalisation (i18n): kuandaa msimbo ili usaidie lugha yoyote — bila maandishi yaliyowekwa ndani ya msimbo, umbizo linalofuata lugha husika, na mipangilio inayonyumbulika. Namba ya "18" ni idadi ya herufi kati ya i na n.
  • Localisation (l10n): kuibadilisha app kwa lugha au soko maalum, hasa tafsiri, na wakati mwingine pia sarafu, picha na maandishi ya kisheria.
  • Locale: lugha pamoja, kwa hiari, na eneo, kama en-GB au pt-BR.

Fanya i18n mara moja, kisha kuongeza kila lugha mpya kunabaki kuwa kazi ya tafsiri zaidi.

Chaguo na mambo ya kuzingatia

MbinuInavyofanya kaziInafaa kwaKikwazo
Maktaba ya i18n + faili za tafsiri (k.m. react-i18next, next-intl, vue-i18n)Maandishi yako kwenye faili za JSON kwa kila locale; vipengele vinatafuta funguoApp nyingiKubadilisha msimbo mwanzoni; tafsiri za kutunza
Mfumo wa usimamizi wa tafsiri (k.m. Crowdin, Lokalise, Phrase)Kihariri cha mtandaoni kwa watafsiri, kinachosawazishwa na faili zakoLugha nyingi, watafsiri kadhaaNi wa kulipia; zana nyingine ya kuweka
Tafsiri ya mashine au AI wakati wa kujengaTengeneza rasimu za tafsiri kwa API, kisha kaguaKufikia lugha nyingi harakaUbora unahitaji kukaguliwa; gharama za API
Kutafsiri kiotomatiki kwa kivinjari au wijetiKivinjari cha mgeni hutafsiri ukurasa papo hapoHakuna unachodhibitiHakuna udhibiti wa ubora; kurasa zilizotafsiriwa hazihesabiwi kuwa zako
Tovuti tofauti kwa kila lughaNakili tovuti kwa kila sokoMasoko yenye tofauti kubwaKila kitu kinatunzwa mara mbili

Kwa app nyingi, maktaba ya kawaida ya i18n yenye faili za tafsiri ndiyo msingi sahihi. Tengeneza rasimu kwa tafsiri ya mashine au AI ukipenda, kisha mpe mzungumzaji mwenye ufasaha kukagua kile ambacho wateja wanaona zaidi.

Sehemu za app yenye lugha nyingi

Faili za tafsiri

Badala ya <h1>Karibu tena</h1>, msimbo unasema t('dashboard.welcome'), na kila locale ina faili yenye maandishi:

{
  "dashboard": {
    "welcome": "Karibu tena, {{name}}",
    "items_one": "{{count}} kipengee",
    "items_other": "{{count}} vipengee"
  }
}

Tumia vishikilizi (placeholders) kwa vigezo badala ya kuunganisha vipande vya sentensi — mpangilio wa maneno unatofautiana kati ya lugha. Pia tumia kanuni za wingi za maktaba: Kiingereza kina aina mbili (item 1, items 2), lakini baadhi ya lugha zina aina tatu, nne au zaidi.

Kuumbiza tarehe, namba na pesa

Usiziumbize kwa mkono. API ya Intl iliyojengwa kwenye kivinjari inaumbiza kwa locale yoyote: 1,234.5 kwa Kiingereza ni 1.234,5 kwa Kijerumani; tarehe zinabadilika kati ya siku-kwanza na mwezi-kwanza; alama za sarafu zinahama. Hifadhi tarehe kwa UTC na pesa kama namba pamoja na msimbo wa sarafu, na uziumbize tu kwa ajili ya kuonyesha.

Mpangilio unaonyoka

Maandishi yaliyotafsiriwa mara nyingi ni marefu kuliko Kiingereza — hasa maneno ya Kijerumani na Kifini. Epuka vitufe vya upana usiobadilika na lebo zilizokatwa, na jaribu kwa lugha yako ndefu zaidi.

Lugha za kulia kwenda kushoto

Kiarabu, Kiebrania, Kiajemi na Kiurdu husomwa kutoka kulia kwenda kushoto. Weka dir="rtl" kwenye ukurasa kwa locale hizo na tumia sifa za mantiki za CSS (margin-inline-start badala ya margin-left; kwenye Tailwind, ms-4 badala ya ml-4) ili mpangilio ujigeuze wenyewe. Aikoni zinazoonyesha mwelekeo, kama mishale, pia zinahitaji kugeuzwa.

Kibadilishaji cha lugha na utambuzi

Onyesha kibadilishaji kwenye kila ukurasa, kikiwa na jina la kila lugha kwa lugha yenyewe ("Deutsch", "Français", "العربية") badala ya bendera — bendera zinawakilisha nchi, si lugha. Tambua lugha inayopendelewa ya kivinjari kwenye ziara ya kwanza ili kupendekeza toleo, lakini chaguo wazi la mgeni ndilo linalofuata na likumbukwe.

URL na SEO

Kwa kurasa unazotaka zionekane kwenye matokeo ya utafutaji, kila lugha inahitaji URL yake. Kufikia Septemba 2026, mwongozo wa Google kwa tovuti za lugha nyingi ni:

  • URL tofauti kwa kila lugha — saraka ndogo (example.com/fr/) ndizo rahisi zaidi; subdomains na domeni za nchi pia zinafanya kazi. Vigezo vya URL (?lang=fr) havipendekezwi.
  • Usibadilishe lugha kwa cookie au mpangilio wa kivinjari pekee; kitambaza cha Google huenda kisione matoleo mengine kamwe.
  • Usielekeze kiotomatiki kwa lugha; unganisha matoleo badala yake.
  • Tumia hreflang kumwambia Google ni kurasa zipi ni tafsiri za zingine. Kila toleo lazima lijijumuishe lenyewe na yote mengine, vinginevyo maelezo yanaweza kupuuzwa. Ongeza x-default kwa ukurasa wa akiba.
  • Google hutambua lugha ya ukurasa kutoka kwenye maudhui yanayoonekana, si kutoka lang au hreflang — kwa hiyo tafsiri ukurasa mzima, si menyu tu.

Bado weka <html lang="fr"> kwenye kila toleo: visomaji vya skrini hutumia hiyo kuchagua matamshi sahihi, ambayo ni sharti la upatikanaji.

Skrini za app zilizoingia hazihitaji kuorodheshwa, kwa hiyo kwa hizo, kuhifadhi lugha kwenye wasifu wa mtumiaji kunatosha. Angalia SEO kwa tovuti zilizojengwa na AI kwa kupata kurasa za umma zikitambaziwa kwanza.

Maudhui kwenye database yako

Maandishi ya kiolesura yanaishi kwenye faili; maudhui kama majina ya bidhaa, makala za blogu na kategoria yanaishi kwenye database. Mifumo miwili ya kawaida:

  • Jedwali la tafsiri: product_translations (product_id, locale, name, description). Ni safi na inakua kwa lugha nyingi.
  • Safu ya JSON kwa kila sehemu: name: {"en": "...", "fr": "..."}. Ni rahisi kwa lugha chache.

Amua kitakachotokea tafsiri ikikosekana — kwa kawaida rudi kwenye lugha kuu badala ya kuonyesha nafasi tupu.

Barua pepe na arifa

Hifadhi lugha ya kila mtumiaji na uitumie kwa barua pepe, arifa na PDF pia. Ni rahisi kutafsiri app na kusahau kwamba barua pepe ya karibu bado inafika kwa Kiingereza.

Maagizo yanayofanya kazi

Ongeza internationalisation kwa react-i18next. Hamisha kila maandishi yanayomwonekana mtumiaji kwenye locales/en.json kwa funguo zenye nafasi za majina, tumia interpolation na kanuni za wingi badala ya kuunganisha maneno, na uumbize tarehe, namba na bei kwa Intl kwa kutumia locale ya sasa. Usibadilishe maneno yoyote bado.

Ongeza Kifaransa na Kijerumani. Kurasa za umma za matangazo zipate viambishi vya URL /fr/ na /de/ huku Kiingereza kikibaki kwenye mzizi, lebo za hreflang kwenye kila ukurasa (pamoja na kujirejelea na x-default), na html lang iwekwe kwa kila ukurasa. Ongeza kibadilishaji cha lugha kinachoonyesha jina la asili la kila lugha. Kwa kurasa zilizoingia, hifadhi lugha kwenye wasifu wa mtumiaji.

Ongeza Kiarabu chenye usaidizi wa kulia kwenda kushoto: weka dir="rtl" kwa Kiarabu, badilisha margin na padding za kushoto/kulia kwa sifa za mantiki, geuza aikoni zinazoonyesha mwelekeo, na hakikisha fomu na jedwali bado vinasomeka vizuri.

Hatua kwa hatua

  1. Chagua lugha yako ya kwanza ya ziada kutokana na mahitaji halisi — wageni au wateja wako wako wapi.
  2. Fanya msimbo kuwa wa internationalisation: hamisha maandishi kwenye faili, ongeza wingi na uumbizaji wa Intl. Itoe ukiwa na Kiingereza tu na uhakiki hakuna kilichobadilika.
  3. Amua muundo wa URL kwa kurasa za umma na ongeza hreflang.
  4. Tafsiri: tengeneza rasimu kwa tafsiri ya mashine au AI, kisha kagua na mzungumzaji mwenye ufasaha. Wape watafsiri muktadha — neno "Book" ni nomino kwenye skrini moja na kitenzi kwenye nyingine.
  5. Tafsiri maudhui ya database na uweke akiba.
  6. Tafsiri vingine vyote: barua pepe, ujumbe wa makosa, kurasa za kisheria, picha zenye maandishi ndani yake.
  7. Jaribu kila lugha kwa upana wa simu, na kulia kwenda kushoto ikiwa inahusika.
  8. Weka utaratibu ili vipengele vipya vitoke pamoja na tafsiri, si miezi baadaye.

Makosa ya kawaida

  • Kuunganisha sentensi ("Una " + n + " ujumbe"), jambo linalovunjika kwenye lugha nyingine.
  • Maandishi yaliyowekwa ndani ya vipengele, ujumbe wa makosa na maneno ya uthibitishaji.
  • Kuumbiza tarehe na bei kwa mkono.
  • Bendera kwa lugha, na kuelekeza kiotomatiki kunakowanasa watu kwenye toleo lisilo sahihi.
  • URL moja kwa lugha zote kwenye kurasa unazotaka ziorodheshwe.
  • Kukosekana kwa viungo vya kurudi vya hreflang, hivyo Google inapuuza maelezo.
  • Kutafsiri kiolesura lakini si maudhui, au kinyume chake.
  • Tafsiri ya mashine isiyokaguliwa kwenye kurasa za bei, kisheria na malipo.

Orodha ya ukaguzi ya lugha nyingi

  • Hakuna maandishi yaliyowekwa ndani yanayomwonekana mtumiaji; kanuni za wingi na vishikilizi vimetumika
  • Tarehe, namba na sarafu zimeumbizwa kwa Intl
  • Kibadilishaji cha lugha chenye majina ya asili kwenye kila ukurasa; chaguo linakumbukwa
  • URL tofauti kwa kila lugha kwa kurasa za umma; hakuna kuelekeza kwa lazima
  • hreflang kwenye kila toleo, pamoja na lenyewe na x-default
  • html lang (na dir="rtl" inapohitajika) imewekwa kwa kila ukurasa
  • Maudhui ya database yametafsiriwa na yana akiba zinazofaa
  • Barua pepe na arifa zinatumwa kwa lugha ya mtumiaji
  • Maandishi yanayoonekana kwa wateja yamekaguliwa na mzungumzaji mwenye ufasaha

Lugha nyingi kwenye Mythex

Kwenye Mythex, unaongeza lugha kwa kuomba kwenye chat — hakuna paneli tofauti ya tafsiri — kwa hiyo maagizo hapo juu yanafanya kazi kama yalivyoandikwa. Fanya hatua ya internationalisation kwanza na uikague kwenye Preview kabla ya kuongeza lugha; ni mabadiliko makubwa ya msimbo, na checkpoint ya chat inakupa sehemu ya kurudi nyuma kama kitu kitavunjika (chat na checkpoints). Ukitaka app itafsiri maudhui kiotomatiki kwa AI au API ya tafsiri, hiyo inatumia API key yako mwenyewe, iliyohifadhiwa kwenye mipangilio ya mradi (variables za mazingira na siri); jinsi ya kutumia LLM APIs inaeleza gharama. Chapisha tena mara lugha mpya zitakapokuwa tayari.

Maswali

Tofauti kati ya i18n na localisation ni ipi?

Internationalisation (i18n) ni kuandaa msimbo ili uweze kusaidia lugha nyingi: maandishi yasiwe yamewekwa ndani ya msimbo, tarehe na namba zifuate lugha husika, na mipangilio iweze kushughulikia maneno marefu na maandishi ya kulia kwenda kushoto. Localisation (l10n) ni kazi ya kuibadilisha kwa lugha moja au soko moja, hasa tafsiri.

Je, naweza kutumia tafsiri ya mashine au AI tu kutafsiri app yangu?

Kwa rasimu ya kwanza, ndiyo — tafsiri ya kisasa ya mashine na AI ni nzuri kwa maandishi ya kiolesura. Mpe mzungumzaji mzawa mwenye ufasaha kukagua chochote kinachoonekana kwa wateja, hasa maandishi ya kisheria, bei na matangazo, kwa sababu sauti ya maneno na makosa madogo ni muhimu hapo.

Je, kila lugha inapaswa kuwa na URL yake?

Kwa kurasa za umma unazotaka zionekane kwenye matokeo ya utafutaji, ndiyo. Google inapendekeza URL tofauti kwa kila lugha, kama /fr/ na /de/, badala ya kubadilisha lugha kwa kutumia cookie au mpangilio wa kivinjari, kwa sababu kitambaza cha Google kinaweza kuona toleo moja tu.

Je, nielekeze wageni kiotomatiki kulingana na lugha ya kivinjari chao?

Pendekeza, usilazimishe. Google inashauri dhidi ya kuelekeza kiotomatiki kwa lugha kwa sababu inaweza kuwazuia watu na vitambaza kufika kwenye matoleo mengine. Onyesha ujumbe mdogo unaotoa lugha inayolingana na kibadilishaji kinachoonekana kwenye kila ukurasa.

Mythex · Pricing · Jenga chochote kwa AI · Violezo vya tovuti na programu · Mythex ikilinganishwa · Kamusi ya istilahi za kujenga programu kwa AI · Zana za bure za kujenga programu kwa AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)