Si të shtosh disa gjuhë në aplikacionin ose faqen tënde
Për të shtuar disa gjuhë në një aplikacion, zhvendos çdo pjesë të tekstit të ndërfaqes në skedarë përkthimi (një për gjuhë), ngarko them me një bibliotekë i18n, dhe shto një ndërrues gjuhe që e kujton zgjedhjen. Për faqet publike që dëshiron t'i gjejë kërkimi, jep çdo gjuhe URL të veten, si /fr/, dhe lidh versionet me etiketa hreflang. Pastaj trajto pjesët që njerëzit i harrojnë: datat, numrat dhe monedhat, tekstin më të gjatë në disa gjuhë, shkrimet nga e djathta në të majtë dhe përmbajtjen e ruajtur në bazën e të dhënave.
Fjalët që do të dëgjosh
- Ndërkombëtarizimi (i18n): përgatitja e kodit për të mbështetur çdo gjuhë — pa tekste të shkruara fikst, formatim i ndjeshëm ndaj gjuhës, dizajn fleksibël. Numri "18" është numri i shkronjave mes i-së dhe n-së.
- Lokalizimi (l10n): përshtatja e aplikacionit për një gjuhë ose treg të caktuar, kryesisht përkthim, ndonjëherë edhe monedhë, imazhe dhe tekst ligjor.
- Lokaliteti (locale): një gjuhë plus, nëse dëshiron, një rajon, si
en-GBosept-BR.
Bëje i18n një herë, dhe shtimi i çdo gjuhe të re bëhet kryesisht punë përkthimi.
Opsionet dhe kompromiset
| Qasja | Si funksionon | E mirë për | Kompromisi |
|---|---|---|---|
| Bibliotekë i18n + skedarë përkthimi (p.sh. react-i18next, next-intl, vue-i18n) | Teksti jeton në skedarë JSON për çdo lokalitet; komponentët kërkojnë çelësa | Shumicën e aplikacioneve | Refaktorim fillestar; përkthime për t'u mbajtur |
| Sistem menaxhimi i përkthimeve (p.sh. Crowdin, Lokalise, Phrase) | Redaktor i hostuar për përkthuesit, i sinkronizuar me skedarët e tu | Shumë gjuhë, disa përkthues | I paguar; një mjet tjetër për t'u konfiguruar |
| Përkthim automatik ose me AI gjatë ndërtimit | Gjeneron drafte përkthimesh me një API, pastaj rishikim | Të arrish shumë gjuhë shpejt | Cilësia duhet kontrolluar; kosto API |
| Përkthim automatik i shfletuesit ose i widget-it | Shfletuesi i vizitorit përkthen faqen në fluturim | Asgjë që kontrollon ti | Pa kontroll cilësie; faqet e përkthyera nuk indeksohen si të tuajat |
| Faqe të veçanta për çdo gjuhë | Faqe e dyfishuar për çdo treg | Tregje shumë të ndryshme | Gjithçka mbahet dy herë |
Për shumicën e aplikacioneve, një bibliotekë standarde i18n me skedarë përkthimi është baza e duhur. Bëj drafte me përkthim automatik ose me AI nëse dëshiron, pastaj kërko nga folës të rrjedhshëm të shqyrtojnë atë që klientët shohin më shpesh.
Pjesët e një aplikacioni shumëgjuhësh
Skedarët e përkthimit
Në vend të <h1>Mirë se u kthyet</h1>, kodi thotë t('dashboard.welcome'), dhe çdo lokalitet ka një skedar me tekstin:
{
"dashboard": {
"welcome": "Mirë se u kthyet, {{name}}",
"items_one": "{{count}} artikull",
"items_other": "{{count}} artikuj"
}
}
Përdor vende mbajtëse për ndryshoret në vend që të bashkosh copëza fjalish — renditja e fjalëve ndryshon mes gjuhëve. Dhe përdor rregullat e shumësit të bibliotekës: anglishtja ka dy forma (1 item, 2 items), por disa gjuhë kanë tre, katër ose më shumë.
Formatimi i datave, numrave dhe parasë
Mos i formato këto me dorë. API-ja e integruar e shfletuesit Intl formaton për çdo lokalitet: 1,234.5 në anglisht është 1.234,5 në gjermanisht; datat ndërrojnë mes formatit ditë-para dhe muaj-para; simbolet e monedhës lëvizin. Ruaj datat në UTC dhe paratë si numra me një kod monedhe, dhe formato vetëm për shfaqje.
Dizajn që zgjerohet
Teksti i përkthyer shpesh është më i gjatë se në anglisht — sidomos fjalët gjermane dhe finlandeze. Shmang butonat me gjerësi fikse dhe etiketat e prera, dhe testo me gjuhën tënde më të gjatë.
Gjuhët nga e djathta në të majtë
Arabishtja, hebraishtja, persishtja dhe urdishtja lexohen nga e djathta në të majtë. Vendos dir="rtl" në faqe për ato lokalitete dhe përdor vetitë logjike të CSS (margin-inline-start në vend të margin-left; në Tailwind, ms-4 në vend të ml-4), që dizajni të pasqyrohet vetvetiu. Ikonat që tregojnë drejtimin, si shigjetat, duhet gjithashtu të kthehen.
Ndërrues gjuhe dhe zbulim
Shfaq një ndërrues në çdo faqe, me emrin e secilës gjuhë në gjuhën e vet ("Deutsch", "Français", "العربية") në vend të flamujve — flamujt përfaqësojnë vende, jo gjuhë. Zbulo gjuhën e preferuar të shfletuesit në vizitën e parë për të sugjeruar një version, por lëre zgjedhjen e qartë të vizitorit të mbizotërojë dhe kujtoje.
URL-të dhe SEO
Për faqet që dëshiron të shfaqen në rezultatet e kërkimit, çdo gjuhë ka nevojë për URL të veten. Që nga shtatori 2026, udhëzimi i Google për faqet shumëgjuhëshe është:
- URL të veçanta për çdo gjuhë — nënfolderët (
example.com/fr/) janë më të thjeshtët; nëndomenet dhe domenet e vendeve gjithashtu funksionojnë. Parametrat e URL-së (?lang=fr) nuk rekomandohen. - Mos ndërro gjuhën vetëm me cookie ose me cilësimin e shfletuesit; crawler-i i Google mund të mos i shohë kurrë versionet e tjera.
- Mos ridrejto automatikisht sipas gjuhës; lidh versionet me njëri-tjetrin.
- Përdor hreflang për t'i treguar Google cilat faqe janë përkthime të njëra-tjetrës. Çdo version duhet të listojë veten dhe të gjitha të tjerat, përndryshe shënimet mund të injorohen. Shto
x-defaultpër faqen rezervë. - Google e zbulon gjuhën e një faqeje nga përmbajtja e dukshme, jo nga
langose hreflang — kështu që përkthe të gjithë faqen, jo vetëm menunë.
Vendos gjithsesi <html lang="fr"> në çdo version: lexuesit e ekranit e përdorin për të zgjedhur shqiptimin e duhur, që është kërkesë e qasshmërisë.
Ekranet e aplikacionit për përdoruesit e kyçur nuk kanë nevojë të indeksohen, kështu që për to mjafton ruajtja e gjuhës në profilin e përdoruesit. Shiko SEO për faqet e ndërtuara me AI për të pasur faqet publike të kaluara nga crawler-at së pari.
Përmbajtja në bazën e të dhënave
Teksti i ndërfaqes jeton në skedarë; përmbajtja si emrat e produkteve, postimet e blogut dhe kategoritë jeton në bazën e të dhënave. Dy modele të zakonshme:
- Tabelë përkthimesh:
product_translations (product_id, locale, name, description). E pastër dhe shkallëzohet për shumë gjuhë. - Një kolonë JSON për çdo fushë:
name: {"en": "...", "fr": "..."}. Më e thjeshtë për pak gjuhë.
Vendos çfarë ndodh kur mungon një përkthim — zakonisht kthehu te gjuha e parazgjedhur në vend që të shfaqësh hapësirë boshe.
Emailet dhe njoftimet
Ruaj gjuhën e çdo përdoruesi dhe përdoreni për emailet, njoftimet dhe PDF-të gjithashtu. Është e lehtë të përkthesh aplikacionin dhe të harrosh që emaili i mirëseardhjes ende arrin në anglisht.
Prompte që funksionojnë
Shto ndërkombëtarizimin me react-i18next. Zhvendos çdo tekst të dukshëm për përdoruesin në locales/en.json me çelësa me hapësira emrash, përdor ndërfutjen dhe rregullat e shumësit në vend të bashkimit të tekstit, dhe formato datat, numrat dhe çmimet me Intl sipas lokalitetit aktual. Mos ndrysho ende asnjë fjalë.
Shto frëngjisht dhe gjermanisht. Faqet publike të marketingut marrin prefiksët e URL /fr/ dhe /de/ me anglishten në rrënjë, lidhje hreflang në çdo faqe (duke përfshirë vetë-referencën dhe x-default), dhe html lang të vendosur për çdo faqe. Shto një ndërrues gjuhe që shfaq emrin amtar të çdo gjuhe. Për faqet e përdoruesve të kyçur, ruaje gjuhën në profilin e përdoruesit.
Shto arabishten me mbështetje nga e djathta në të majtë: vendos dir="rtl" për arabishten, zëvendëso margjinat dhe mbushjet majtas/djathtas me vetitë logjike, pasqyro ikonat drejtuese, dhe kontrollo që format dhe tabelat ende lexohen saktë.
Hap pas hapi
- Zgjidh gjuhën e parë shtesë sipas kërkesës reale — ku janë vizitorët ose klientët e tu.
- Ndërkombëtarizo kodin: zhvendos tekstet në skedarë, shto shumësin dhe formatimin me
Intl. Publiko këtë vetëm me anglisht dhe kontrollo që asgjë nuk ndryshoi. - Vendos strukturën e URL-ve për faqet publike dhe shto hreflang.
- Përkthe: bëj draftin me përkthim automatik ose me AI, pastaj shqyrtoje me një folës të rrjedhshëm. Jepi përkthuesve kontekst — një fjalë si "Book" është emër në një ekran dhe folje në tjetrin.
- Përkthe përmbajtjen e bazës së të dhënave dhe cakto rezervat.
- Lokalizo pjesën tjetër: emailet, mesazhet e gabimit, faqet ligjore, imazhet me tekst brenda.
- Testo çdo gjuhë në gjerësinë e telefonit, dhe me nga e djathta në të majtë nëse është e rëndësishme.
- Vendos një proces që veçoritë e reja të publikohen me përkthime, jo muaj më vonë.
Gabime të zakonshme
- Bashkimi i fjalive (
"You have " + n + " messages"), që prishet në gjuhë të tjera. - Tekst i shkruar fikst i mbetur në komponentë, mesazhe gabimi dhe tekste validimi.
- Formatimi i datave dhe çmimeve me dorë.
- Flamuj për gjuhët, dhe ridrejtime automatike që e bllokojnë njerëzin në versionin e gabuar.
- Një URL për të gjitha gjuhët në faqet që dëshiron të indeksohen.
- Mungesë e lidhjeve kthyese hreflang, kështu që Google i injoron shënimet.
- Përkthimi i ndërfaqes por jo i përmbajtjes, ose e kundërta.
- Përkthim automatik i pashqyrtuar në faqet e çmimeve, ligjore dhe të pagesës.
Lista e kontrollit për shumëgjuhësi
- Pa tekste të shkruara fikst të dukshme për përdoruesin; rregullat e shumësit dhe vendet mbajtëse të përdorura
- Datat, numrat dhe monedhat të formatuara me
Intl - Ndërrues gjuhe me emra amtarë në çdo faqe; zgjedhja kujtohet
- URL të veçanta për çdo gjuhë për faqet publike; pa ridrejtime të detyruara
- hreflang në çdo version, duke përfshirë vetveten dhe x-default
-
html lang(dhedir="rtl"kur nevojitet) të vendosur për çdo faqe - Përmbajtja e bazës së të dhënave e përkthyer me rezerva të arsyeshme
- Emailet dhe njoftimet dërgohen në gjuhën e përdoruesit
- Teksti për klientët i shqyrtuar nga një folës i rrjedhshëm
Shumë gjuhë në Mythex
Në Mythex, shton gjuhët duke kërkuar në chat — nuk ka panel të veçantë përkthimi — kështu që prompte-t e mësipërme funksionojnë siç janë shkruar. Bëj hapin e ndërkombëtarizimit të parin dhe kontrolloje në Preview para se të shtosh gjuhë; është një refaktorim i madh, dhe një checkpoint në chat të jep një pikë kthimi nëse diçka prishet (chat dhe checkpoint-et). Nëse dëshiron që aplikacioni të përkthejë automatikisht përmbajtjen me një API AI ose përkthimi, kjo përdor çelësin tënd API, të ruajtur te cilësimet e projektit (variablat e mjedisit dhe sekretet); si të përdorësh API-të LLM shpjegon kostot. Publiko përsëri kur gjuhët e reja të jenë gati.
Pyetje
Cila është diferenca midis i18n dhe lokalizimit?
Ndërkombëtarizimi (i18n) është përgatitja e kodit që të mbështesë shumë gjuhë: pa tekst të shkruar fikst, data dhe numra të ndjeshëm ndaj gjuhës, dizajn që trajton fjalë më të gjata dhe shkrim nga e djathta në të majtë. Lokalizimi (l10n) është puna për ta përshtatur për një gjuhë ose treg të caktuar, kryesisht përkthimi.
A mund të përdor thjesht përkthim automatik ose me AI për aplikacionin tim?
Për një draft të parë, po — përkthimi modern automatik dhe me AI është i mirë për tekstin e ndërfaqes. Kërkoji një folësi të rrjedhshëm të shqyrtojë çdo gjë që shihet nga klientët, veçanërisht tekstet ligjore, çmimet dhe tekstet e marketingut, sepse tonaliteti dhe gabimet e vogla kanë rëndësi aty.
A duhet që çdo gjuhë të ketë URL të veten?
Për faqet publike që dëshiron të shfaqen në rezultatet e kërkimit, po. Google rekomandon URL të veçanta për çdo gjuhë, si /fr/ dhe /de/, në vend që të ndërrohet gjuha me cookie ose me cilësimin e shfletuesit, sepse crawler-i i tij mund të shohë vetëm një version.
A duhet t'i ridrejtoj vizitorët sipas gjuhës së shfletuesit?
Sugjero, mos detyro. Google këshillon kundër ridrejtimeve automatike sipas gjuhës, sepse mund t'i pengojnë njerëzit dhe crawler-at të arrijnë versionet e tjera. Shfaq një njoftim të vogël që ofron gjuhën përkatëse dhe një ndërrues të dukshëm në çdo faqe.