మీ యాప్ లేదా వెబ్సైట్కు బహుళ భాషలను ఎలా జోడించాలి
యాప్కు బహుళ భాషలు జోడించడానికి, యాప్ ఇంటర్ఫేస్లోని ప్రతి టెక్స్ట్ను అనువాద ఫైళ్లలోకి (ప్రతి భాషకు ఒకటి) తరలించండి, ఒక i18n లైబ్రరీతో వాటిని లోడ్ చేయండి, ఎంపికను గుర్తుంచుకునే భాష మార్చే బటన్ జోడించండి. శోధనలో కనిపించాల్సిన పబ్లిక్ పేజీలకు, ప్రతి భాషకు /fr/ వంటి వేర్వేరు URL ఇవ్వండి మరియు hreflang ట్యాగ్లతో వెర్షన్లను లింక్ చేయండి. తర్వాత ప్రజలు తరచుగా మరచిపోయే భాగాలను చూసుకోండి: తేదీలు, సంఖ్యలు మరియు కరెన్సీలు, కొన్ని భాషల్లో పొడవైన టెక్స్ట్, కుడి నుండి ఎడమకు రాసే లిపులు, మరియు మీ డేటాబేస్లో నిల్వ చేసిన కంటెంట్.
మీరు వినే పదాలు
- ఇంటర్నేషనలైజేషన్ (i18n): ఏ భాషకైనా మద్దతు ఇచ్చేలా కోడ్ను సిద్ధం చేయడం — కోడ్లో నేరుగా రాసిన స్ట్రింగ్లు లేకపోవడం, స్థానిక ఫార్మాటింగ్, అనువైన లేఅవుట్లు. "18" అంటే i మరియు n మధ్య ఉన్న అక్షరాల సంఖ్య.
- లోకలైజేషన్ (l10n): యాప్ను ఒక నిర్దిష్ట భాష లేదా మార్కెట్కు అనుగుణంగా మార్చడం, ఎక్కువగా అనువాదం, కొన్నిసార్లు కరెన్సీ, చిత్రాలు మరియు చట్టపరమైన టెక్స్ట్ కూడా.
- లొకేల్: ఒక భాష మరియు ఐచ్ఛికంగా ఒక ప్రాంతం, ఉదాహరణకు
en-GBలేదాpt-BR.
i18nను ఒక్కసారి చేయండి, తర్వాత ప్రతి కొత్త భాష జోడించడం ఎక్కువగా అనువాద పనిగా మారుతుంది.
ఎంపికలు మరియు ట్రేడ్-ఆఫ్లు
| విధానం | ఎలా పనిచేస్తుంది | దేనికి మంచిది | ట్రేడ్-ఆఫ్ |
|---|---|---|---|
| i18n లైబ్రరీ + అనువాద ఫైళ్లు (ఉదా. react-i18next, next-intl, vue-i18n) | టెక్స్ట్ ప్రతి లొకేల్ కోసం JSON ఫైళ్లలో ఉంటుంది; కాంపోనెంట్లు కీల ద్వారా వెతుకుతాయి | చాలా యాప్లు | ప్రారంభ రీఫ్యాక్టర్; నిర్వహించాల్సిన అనువాదాలు |
| అనువాద నిర్వహణ వ్యవస్థ (ఉదా. Crowdin, Lokalise, Phrase) | అనువాదకుల కోసం హోస్ట్ చేసిన ఎడిటర్, మీ ఫైళ్లతో సమకాలీకరణ | చాలా భాషలు, అనేక అనువాదకులు | చెల్లింపు; సెటప్ చేయాల్సిన మరో టూల్ |
| బిల్డ్ సమయంలో మెషిన్ లేదా AI అనువాదం | API ద్వారా డ్రాఫ్ట్ అనువాదాలు సృష్టించి, తర్వాత సమీక్ష | త్వరగా చాలా భాషలకు చేరడం | నాణ్యత తనిఖీ అవసరం; API ఖర్చులు |
| బ్రౌజర్ లేదా విడ్జెట్ ఆటో-ట్రాన్స్లేట్ | సందర్శకుల బ్రౌజర్ పేజీని అప్పటికప్పుడు అనువదిస్తుంది | మీరు నియంత్రించేది ఏమీ లేదు | నాణ్యత నియంత్రణ లేదు; అనువదించిన పేజీలు మీవిగా ఇండెక్స్ కావు |
| ప్రతి భాషకు వేర్వేరు సైట్లు | ప్రతి మార్కెట్కు సైట్ నకలు | చాలా విభిన్న మార్కెట్లు | ప్రతిదీ రెండుసార్లు నిర్వహించాలి |
చాలా యాప్లకు, అనువాద ఫైళ్లతో కూడిన ప్రామాణిక i18n లైబ్రరీ సరైన ఆధారం. మీకు నచ్చితే మెషిన్ లేదా AI అనువాదంతో డ్రాఫ్ట్లు తయారు చేయండి, తర్వాత కస్టమర్లు ఎక్కువగా చూసే వాటిని నిష్ణాతులైన స్థానిక భాష మాట్లాడేవారితో సమీక్షించండి.
బహుభాషా యాప్లోని భాగాలు
అనువాద ఫైళ్లు
<h1>Welcome back</h1> బదులుగా, కోడ్ t('dashboard.welcome') అని చెబుతుంది, మరియు ప్రతి లొకేల్కు టెక్స్ట్ ఉన్న ఒక ఫైల్ ఉంటుంది:
{
"dashboard": {
"welcome": "Welcome back, {{name}}",
"items_one": "{{count}} item",
"items_other": "{{count}} items"
}
}
వాక్య భాగాలను కలపడం కంటే వేరియబుల్స్ కోసం ప్లేస్హోల్డర్లు ఉపయోగించండి — భాషల మధ్య పదాల క్రమం వేరుగా ఉంటుంది. మరియు లైబ్రరీ యొక్క బహువచన నియమాలు ఉపయోగించండి: ఇంగ్లీష్లో రెండు రూపాలు ఉన్నాయి (1 item, 2 items), కానీ కొన్ని భాషల్లో మూడు, నాలుగు లేదా అంతకంటే ఎక్కువ రూపాలు ఉంటాయి.
తేదీలు, సంఖ్యలు మరియు డబ్బు ఫార్మాటింగ్
వీటిని చేతితో ఫార్మాట్ చేయవద్దు. బ్రౌజర్ యొక్క అంతర్నిర్మిత Intl API ఏ లొకేల్కైనా ఫార్మాట్ చేస్తుంది: ఇంగ్లీష్లో 1,234.5 జర్మన్లో 1.234,5 అవుతుంది; తేదీలు రోజు-మొదట లేదా నెల-మొదట మారతాయి; కరెన్సీ చిహ్నాలు స్థానం మారుస్తాయి. తేదీలను UTCలో నిల్వ చేయండి, డబ్బును కరెన్సీ కోడ్తో కూడిన సంఖ్యలుగా నిల్వ చేయండి, మరియు ప్రదర్శన కోసం మాత్రమే ఫార్మాట్ చేయండి.
సాగే లేఅవుట్
అనువదించిన టెక్స్ట్ తరచుగా ఇంగ్లీష్ కంటే పొడవుగా ఉంటుంది — ముఖ్యంగా జర్మన్ మరియు ఫిన్నిష్ పదాలు. స్థిర వెడల్పు బటన్లు మరియు కత్తిరించిన లేబుల్లను నివారించండి, మరియు మీ అత్యంత పొడవైన భాషతో పరీక్షించండి.
కుడి నుండి ఎడమకు రాసే భాషలు
అరబిక్, హీబ్రూ, పర్షియన్ మరియు ఉర్దూ కుడి నుండి ఎడమకు చదవబడతాయి. ఆ లొకేల్ల కోసం పేజీపై dir="rtl" సెట్ చేయండి మరియు CSS లాజికల్ ప్రాపర్టీలు ఉపయోగించండి (margin-left బదులుగా margin-inline-start; Tailwind లో ml-4 బదులుగా ms-4) తద్వారా లేఅవుట్ తనంతట తానే ప్రతిబింబిస్తుంది. బాణాలు వంటి దిశను సూచించే ఐకాన్లను కూడా తిప్పాలి.
భాష మార్చే బటన్ మరియు గుర్తింపు
ప్రతి పేజీలో భాష మార్చే బటన్ చూపండి, ప్రతి భాష దాని స్వంత పేరుతో లేబుల్ చేయబడాలి ("Deutsch", "Français", "العربية"), జెండాలు కాదు — జెండాలు దేశాలను సూచిస్తాయి, భాషలను కాదు. మొదటి సందర్శనలో బ్రౌజర్ ఇష్టపడే భాషను గుర్తించి ఒక వెర్షన్ను సూచించండి, కానీ సందర్శకుడి స్పష్టమైన ఎంపికే గెలవాలి మరియు గుర్తుంచుకోవాలి.
URLలు మరియు SEO
శోధన ఫలితాల్లో కనిపించాలనుకునే పేజీలకు, ప్రతి భాషకు దాని స్వంత URL ఉండాలి. సెప్టెంబర్ 2026 నాటికి, బహుభాషా సైట్ల కోసం Google మార్గదర్శకత్వం ఇది:
- ప్రతి భాషకు వేర్వేరు URLలు — సబ్డైరెక్టరీలు (
example.com/fr/) అత్యంత సరళమైనవి; సబ్డొమైన్లు మరియు దేశ డొమైన్లు కూడా పనిచేస్తాయి. URL పారామీటర్లు (?lang=fr) సిఫార్సు చేయబడవు. - కుకీ లేదా బ్రౌజర్ సెట్టింగ్ ద్వారా మాత్రమే భాష మార్చవద్దు; Google క్రాలర్ ఇతర వెర్షన్లను చూడకపోవచ్చు.
- భాష ఆధారంగా ఆటో-రీడైరెక్ట్ చేయవద్దు; బదులుగా వెర్షన్ల మధ్య లింక్ చేయండి.
- hreflang ఉపయోగించండి ఏ పేజీలు ఒకదానికొకటి అనువాదాలో Googleకు చెప్పడానికి. ప్రతి వెర్షన్ తనను మరియు మిగతా అన్నింటినీ జాబితా చేయాలి, లేకపోతే ఆ సూచనలు విస్మరించబడవచ్చు. ఫాల్బ్యాక్ పేజీ కోసం
x-defaultజోడించండి. - Google ఒక పేజీ భాషను దాని కనిపించే కంటెంట్ నుండి గుర్తిస్తుంది,
langలేదా hreflang నుండి కాదు — కాబట్టి కేవలం మెనూ మాత్రమే కాకుండా మొత్తం పేజీని అనువదించండి.
అయినా ప్రతి భాషా వెర్షన్లో <html lang="fr"> సెట్ చేయండి: స్క్రీన్ రీడర్లు సరైన ఉచ్చారణ ఎంచుకోవడానికి దీన్ని ఉపయోగిస్తాయి, ఇది యాక్సెసిబిలిటీ అవసరం.
లాగిన్ అయిన యాప్ స్క్రీన్లు ఇండెక్స్ కావాల్సిన అవసరం లేదు, కాబట్టి వాటికి భాషను వినియోగదారు ప్రొఫైల్లో నిల్వ చేయడం సరైనదే. పబ్లిక్ పేజీలు మొదట క్రాల్ కావడానికి AI-నిర్మిత వెబ్సైట్ల కోసం SEO చూడండి.
డేటాబేస్లోని కంటెంట్
ఇంటర్ఫేస్ టెక్స్ట్ ఫైళ్లలో ఉంటుంది; ఉత్పత్తి పేర్లు, బ్లాగ్ పోస్ట్లు మరియు వర్గాలు వంటి కంటెంట్ డేటాబేస్లో ఉంటుంది. రెండు సాధారణ పద్ధతులు:
- అనువాదాల పట్టిక:
product_translations (product_id, locale, name, description). శుభ్రంగా ఉంటుంది మరియు చాలా భాషలకు విస్తరిస్తుంది. - ఫీల్డ్కు ఒక JSON కాలమ్:
name: {"en": "...", "fr": "..."}. కొన్ని భాషలకు సరళమైనది.
ఒక అనువాదం లేనప్పుడు ఏమి జరగాలో నిర్ణయించండి — సాధారణంగా ఖాళీ స్థలం చూపకుండా డిఫాల్ట్ భాషకు తిరిగి వెళ్లండి.
ఇమెయిళ్లు మరియు నోటిఫికేషన్లు
ప్రతి వినియోగదారు భాషను నిల్వ చేసి, ఇమెయిళ్లు, నోటిఫికేషన్లు మరియు PDFల కోసం కూడా దాన్నే ఉపయోగించండి. యాప్ను అనువదించి, స్వాగత ఇమెయిల్ ఇంకా ఇంగ్లీష్లోనే వస్తోందని మరచిపోవడం సులభం.
పని చేసే ప్రాంప్ట్లు
react-i18next తో internationalisation జోడించండి. ప్రతి వినియోగదారు-కనిపించే స్ట్రింగ్ను namespaced కీలతో locales/en.json లోకి తరలించండి, స్ట్రింగ్ కలపడానికి బదులుగా interpolation మరియు plural rules ఉపయోగించండి, మరియు తేదీలు, సంఖ్యలు మరియు ధరలను ప్రస్తుత లొకేల్తో Intl ఉపయోగించి ఫార్మాట్ చేయండి. ఇంకా ఏ పదాలనూ మార్చవద్దు.
ఫ్రెంచ్ మరియు జర్మన్ జోడించండి. పబ్లిక్ మార్కెటింగ్ పేజీలకు /fr/ మరియు /de/ URL ప్రిఫిక్స్లు ఇవ్వండి, రూట్లో ఇంగ్లీష్ ఉంచండి, ప్రతి పేజీలో hreflang లింక్లు ఉంచండి (స్వీయ-సూచనతో మరియు x-defaultతో సహా), మరియు ప్రతి పేజీకి html lang సెట్ చేయండి. ప్రతి భాష దాని స్థానిక పేరుతో చూపే భాష మార్చే బటన్ జోడించండి. లాగిన్ అయిన పేజీల కోసం, భాషను వినియోగదారు ప్రొఫైల్లో నిల్వ చేయండి.
కుడి నుండి ఎడమకు మద్దతుతో అరబిక్ జోడించండి: అరబిక్ కోసం dir="rtl" సెట్ చేయండి, ఎడమ/కుడి మార్జిన్లు మరియు పాడింగ్లను లాజికల్ ప్రాపర్టీలతో మార్చండి, దిశను సూచించే ఐకాన్లను తిప్పండి, మరియు ఫారమ్లు మరియు పట్టికలు ఇంకా సరిగ్గా చదవబడుతున్నాయో తనిఖీ చేయండి.
దశలవారీగా
- మీ మొదటి అదనపు భాషను ఎంచుకోండి నిజమైన డిమాండ్ ఆధారంగా — మీ సందర్శకులు లేదా కస్టమర్లు ఎక్కడ ఉన్నారో.
- కోడ్ను ఇంటర్నేషనలైజ్ చేయండి: స్ట్రింగ్లను ఫైళ్లలోకి తరలించండి, బహువచనాలు మరియు
Intlఫార్మాటింగ్ జోడించండి. దీన్ని ఇంగ్లీష్తోనే విడుదల చేసి, ఏమీ మారలేదని తనిఖీ చేయండి. - పబ్లిక్ పేజీల కోసం URL నిర్మాణాన్ని నిర్ణయించండి మరియు hreflang జోడించండి.
- అనువదించండి: మెషిన్ లేదా AI అనువాదంతో డ్రాఫ్ట్ చేయండి, తర్వాత నిష్ణాతుడైన స్థానిక భాష మాట్లాడేవారితో సమీక్షించండి. అనువాదకులకు సందర్భం ఇవ్వండి — "Book" అనే పదం ఒక స్క్రీన్పై నామవాచకం, మరో స్క్రీన్పై క్రియ.
- డేటాబేస్ కంటెంట్ను అనువదించండి మరియు ఫాల్బ్యాక్లు సెట్ చేయండి.
- మిగతావాటిని స్థానికీకరించండి: ఇమెయిళ్లు, ఎర్రర్ సందేశాలు, చట్టపరమైన పేజీలు, టెక్స్ట్ ఉన్న చిత్రాలు.
- ప్రతి భాషను ఫోన్ వెడల్పులో పరీక్షించండి, మరియు సంబంధితమైతే కుడి నుండి ఎడమకు రాసే మోడ్లో.
- ప్రక్రియను సెటప్ చేయండి, తద్వారా కొత్త ఫీచర్లు నెలల తర్వాత కాకుండా అనువాదాలతో విడుదలవుతాయి.
సాధారణ తప్పులు
- వాక్యాలను కలపడం (
"You have " + n + " messages"), ఇది ఇతర భాషల్లో విరిగిపోతుంది. - కాంపోనెంట్లలో కోడ్లో రాసిన టెక్స్ట్, ఎర్రర్ సందేశాలు మరియు ధ్రువీకరణ స్ట్రింగ్లు.
- తేదీలు మరియు ధరలను చేతితో ఫార్మాట్ చేయడం.
- భాషలకు జెండాలు, మరియు ప్రజలను తప్పు వెర్షన్లో బంధించే ఆటో-రీడైరెక్ట్లు.
- ఇండెక్స్ కావాల్సిన పేజీలకు అన్ని భాషలకు ఒకే URL.
- hreflang రిటర్న్ లింక్లు లేకపోవడం, దీంతో Google ఆ సూచనలను విస్మరిస్తుంది.
- ఇంటర్ఫేస్ను అనువదించి కంటెంట్ను కాకపోవడం, లేదా దీనికి విరుద్ధంగా.
- ధర, చట్టపరమైన మరియు చెక్అవుట్ పేజీలలో సమీక్షించని మెషిన్ అనువాదం.
బహుభాషా చెక్లిస్ట్
- వినియోగదారు-కనిపించే స్ట్రింగ్లు కోడ్లో రాసినవి లేవు; బహువచన నియమాలు మరియు ప్లేస్హోల్డర్లు ఉపయోగించబడ్డాయి
- తేదీలు, సంఖ్యలు మరియు కరెన్సీలు
Intlతో ఫార్మాట్ చేయబడ్డాయి - ప్రతి పేజీలో స్థానిక పేర్లతో భాష మార్చే బటన్; ఎంపిక గుర్తుంచుకోబడుతుంది
- పబ్లిక్ పేజీలకు ప్రతి భాషకు వేర్వేరు URLలు; బలవంతపు రీడైరెక్ట్లు లేవు
- ప్రతి వెర్షన్లో hreflang ఉంది, స్వీయ మరియు x-defaultతో సహా
- ప్రతి పేజీకి
html lang(మరియు అవసరమైన చోటdir="rtl") సెట్ చేయబడింది - డేటాబేస్ కంటెంట్ సరైన ఫాల్బ్యాక్లతో అనువదించబడింది
- ఇమెయిళ్లు మరియు నోటిఫికేషన్లు వినియోగదారు భాషలో పంపబడతాయి
- కస్టమర్లకు కనిపించే టెక్స్ట్ను నిష్ణాతుడైన స్థానిక భాష మాట్లాడేవారు సమీక్షించారు
Mythex పై బహుభాషా మద్దతు
Mythex పై, మీరు చాట్లో అడగడం ద్వారా భాషలను జోడిస్తారు — ప్రత్యేక అనువాద ప్యానెల్ లేదు — కాబట్టి పైన ఉన్న ప్రాంప్ట్లు ఉన్నవి ఉన్నట్టుగానే పనిచేస్తాయి. ముందుగా internationalisation దశను చేసి, కొత్త భాషలు జోడించే ముందు దాన్ని Previewలో తనిఖీ చేయండి; ఇది పెద్ద రీఫ్యాక్టర్, మరియు ఏదైనా విరిగితే చాట్ చెక్పాయింట్ మిమ్మల్ని తిరిగి వెనక్కి తీసుకెళ్లగలదు (చాట్ మరియు చెక్పాయింట్లు). యాప్ AI లేదా అనువాద APIతో కంటెంట్ను స్వయంచాలకంగా అనువదించాలంటే, అది ప్రాజెక్ట్ సెట్టింగ్లలో నిల్వ చేసిన మీ స్వంత API కీని ఉపయోగిస్తుంది (ఎన్విరాన్మెంట్ వేరియబుల్స్ మరియు సీక్రెట్లు); LLM APIలను ఎలా ఉపయోగించాలి ఖర్చుల గురించి వివరిస్తుంది. కొత్త భాషలు సిద్ధమైన తర్వాత మళ్లీ ప్రచురించండి.
ప్రశ్నలు
i18n మరియు స్థానికీకరణ (localisation) మధ్య తేడా ఏమిటి?
ఇంటర్నేషనలైజేషన్ (i18n) అంటే కోడ్ను అనేక భాషలకు మద్దతు ఇచ్చేలా సిద్ధం చేయడం: కోడ్లో నేరుగా రాసిన టెక్స్ట్ లేకుండా చేయడం, స్థానిక పద్ధతిలో తేదీలు మరియు సంఖ్యలు చూపడం, పొడవైన పదాలు మరియు కుడి నుండి ఎడమకు రాసే లిపులను నిర్వహించగల లేఅవుట్లు. స్థానికీకరణ (l10n) అంటే ఒక భాష లేదా మార్కెట్ కోసం దాన్ని అనుకూలంగా మార్చే పని, ప్రధానంగా అనువాదం.
నా యాప్ను అనువదించడానికి నేను కేవలం మెషిన్ ట్రాన్స్లేషన్ లేదా AI ఉపయోగించవచ్చా?
మొదటి డ్రాఫ్ట్ కోసం, అవును — ఆధునిక మెషిన్ మరియు AI అనువాదం యాప్ ఇంటర్ఫేస్ టెక్స్ట్కు మంచి ఫలితాలు ఇస్తుంది. కస్టమర్లు చూసే ఏ భాగాన్నైనా, ముఖ్యంగా చట్టపరమైన టెక్స్ట్, ధరలు మరియు మార్కెటింగ్ కాపీని, నిష్ణాతుడైన స్థానిక భాష మాట్లాడేవారితో సమీక్షించుకోండి, ఎందుకంటే అక్కడ స్వరం మరియు చిన్న తప్పులు ముఖ్యమైనవి.
ప్రతి భాషకు దాని స్వంత URL ఉండాలా?
శోధన ఫలితాల్లో కనిపించాలనుకునే పబ్లిక్ పేజీలకు, అవును. బ్రౌజర్ సెట్టింగ్ లేదా కుకీ ద్వారా భాష మార్చడం కంటే, /fr/ మరియు /de/ వంటి ప్రతి భాషకు వేర్వేరు URLలు ఇవ్వమని Google సిఫార్సు చేస్తుంది. లేకపోతే దాని క్రాలర్ ఒక్క వెర్షన్ను మాత్రమే చూడవచ్చు.
సందర్శకుల బ్రౌజర్ భాష ఆధారంగా వారిని వేరే పేజీకి మళ్లించాలా?
సూచించండి, బలవంతం చేయకండి. ఆటోమేటిక్ భాష రీడైరెక్ట్లు ప్రజలు మరియు క్రాలర్లు ఇతర వెర్షన్లను చేరకుండా ఆపవచ్చు కాబట్టి Google వాటికి వ్యతిరేకంగా సలహా ఇస్తుంది. సరిపోలే భాషను ఆఫర్ చేసే చిన్న ప్రాంప్ట్ చూపండి, ప్రతి పేజీలో కనిపించే భాష మార్చే బటన్ ఉంచండి.