መመሪያዎች

ብዙ ቋንቋዎችን ወደ አፕዎ ወይም ድር ጣቢያዎ እንዴት ማከል

ለመተግበሪያ ብዙ ቋንቋዎችን ለመጨመር፣ እያንዳንዱን የበይነገጽ ጽሑፍ ወደ የትርጉም ፋይሎች (ለእያንዳንዱ ቋንቋ አንድ) ያንቀሳቅሱ፣ በ i18n ቤተ-መጽሐፍት ይጫኑ፣ እና ምርጫውን የሚያስታውስ የቋንቋ መቀየሪያ ያክሉ። ለፍለጋ የሚታዩ ይፋዊ ገጾች ለእያንዳንዱ ቋንቋ የራሱ URL እንደ /fr/ ይስጡ፣ እና ቅጆቹን በ hreflang መለያዎች ያገናኙ። ከዚያ ብዙ ሰዎች የሚረሷቸውን ክፍሎች ይያዙ፦ ቀኖች፣ ቁጥሮችና ገንዘብ፣ በአንዳንድ ቋንቋዎች ረዣዥም ጽሑፎች፣ ቀኝ-ወደ-ግራ ፊደላት፣ እና በዳታቤዝዎ የተቀመጠ ይዘት።

የምትሰሙአቸው ቃላት

  • Internationalisation (i18n)፦ ኮዱን ማንኛውንም ቋንቋ እንዲደግፍ ማዘጋጀት — በኮድ ውስጥ የተጻፈ ጽሑፍ የለም፣ ለአካባቢው የሚስማማ ቅርጸት፣ ተለዋዋጭ አቀማመጥ። «18» በ i እና n መካከል ያሉት ፊደላት ብዛት ነው።
  • Localisation (l10n)፦ መተግበሪያውን ለአንድ የተወሰነ ቋንቋ ወይም ገበያ ማስማማት፣ በብዛት ትርጉም፣ አንዳንዴም ገንዘብ፣ ምስሎችና ሕጋዊ ጽሑፍ።
  • Locale፦ ቋንቋ እና አማራጭ ክልል፣ ለምሳሌ 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": "እንኳን ደህና መጡ፣ {{name}}",
    "items_one": "{{count}} ንጥል",
    "items_other": "{{count}} ንጥሎች"
  }
}

ለተለዋዋጮች ከዓረፍተ-ነገር ቁርጥራጮች ከማያያዝ ይልቅ placeholders ይጠቀሙ — የቃላት ቅደም-ተከተል በቋንቋዎች ይለያያል። እንዲሁም የቤተ-መጽሐፍቱን የብዛት ህጎች (plural rules) ይጠቀሙ፦ እንግሊዝኛ ሁለት ቅርጾች አሉት (1 ንጥል፣ 2 ንጥሎች)፣ አንዳንድ ቋንቋዎች ግን ሦስት፣ አራት ወይም ከዚያ በላይ ቅርጾች አሏቸው።

ቀንና ቁጥር፣ ገንዘብ መቅረጽ

እነዚህን በእጅ አትቅረጹ። የአሳሹ አብሮ የተሰራ Intl API ለማንኛውም ቋንቋ ይቀርጻል፦ 1,234.5 በእንግሊዝኛ በጀርመንኛ 1.234,5 ይሆናል፤ ቀኖች ቀን-መጀመሪያ ወይም ወር-መጀመሪያ ይሆናሉ፤ የገንዘብ ምልክቶች ቦታቸውን ይቀያየራሉ። ቀኖችን በUTC ያስቀምጡ፣ ገንዘብን እንደ ቁጥር ከገንዘብ ኮድ ጋር፣ እና ለማሳየት ብቻ ይቅረጹ።

የሚለጠጥ አቀማመጥ

የተተረጎመ ጽሑፍ ከእንግሊዝኛ ብዙ ጊዜ ይረዝማል — በተለይ ጀርመንኛና ፊንላንድኛ። ቋሚ ስፋት ያላቸው ቁልፎችና የተቆረጡ መለያዎችን ያስወግዱ፣ እና በረጅሙ ቋንቋዎ ይሞክሩ።

ቀኝ-ወደ-ግራ ቋንቋዎች

አረብኛ፣ ዕብራይስጥ፣ ፋርሲና ኡርዱ ከቀኝ ወደ ግራ ይነበባሉ። ለእነዚህ ቋንቋዎች በገጹ ላይ dir="rtl" ያዘጋጁ እና የCSS logical properties ይጠቀሙ (margin-inline-start ከmargin-left ይልቅ፤ በTailwind ms-4 ከml-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 i18n ጨምር። በ locales/en.json ውስጥ በስም-ቦታ ቁልፎች ሁሉንም ለተጠቃሚ የሚታይ ጽሑፍ አስቀምጥ፤ ከሕብረቁምፊ መደመር ይልቅ interpolation እና የብዛት ህጎችን ተጠቀም፤ ቀኖችን፣ ቁጥሮችንና ዋጋዎችን በአሁኑ ቋንቋ በ Intl ቅረጽ። ገና ምንም ቃል አትቀይር።

ፈረንሳይኛና ጀርመንኛ ጨምር። ለይፋዊ የገበያ ገጾች /fr/ እና /de/ የURL ቅድመ-ቅጥያዎች ስጥ፣ እንግሊዝኛ በስሩ ይቆይ፤ በእያንዳንዱ ገጽ (ራስን ማገናኘትና x-default ጨምሮ) hreflang አገናኞች፣ እና በእያንዳንዱ ገጽ html lang አዘጋጅ። የእያንዳንዱን ቋንቋ የራሱን ስም የሚያሳይ የቋንቋ መቀየሪያ ጨምር። ለገቡ ገጾች ቋንቋውን በተጠቃሚው መገለጫ ላይ አስቀምጥ።

ቀኝ-ወደ-ግራ ድጋፍ ያለው አረብኛ ጨምር፦ ለአረብኛ dir="rtl" አዘጋጅ፣ የግራና የቀኝ ማርጂንና ፓዲንጎችን በ logical properties ተካ፣ አቅጣጫ የሚያሳዩ ምልክቶችን ገልብጥ፣ እና ቅጾችና ሰንጠረዦች አሁንም በትክክል መነበባቸውን ፈትሽ።

ደረጃ በደረጃ

  1. የመጀመሪያውን ተጨማሪ ቋንቋ ምረጡ በእውነተኛ ፍላጎት ላይ በመመስረት — ጎብኚዎቻችሁ ወይም ደንበኞቻችሁ ያሉበት።
  2. ኮዱን i18n አድርጉ፦ ጽሑፍን ወደ ፋይሎች አንቀሳቅሱ፣ የብዛትና Intl ቅርጸት ጨምሩ። በእንግሊዝኛ ብቻ ይላኩ እና ምንም እንዳልተቀየረ አረጋግጡ።
  3. የURL አወቃቀሩን ወስኑ ለይፋዊ ገጾች እና hreflang ጨምሩ።
  4. ተርጉሙ፦ በማሽን ወይም AI ትርጉም ረቂቅ አዘጋጁ፣ ከዚያ በአቀላጥፎ በሚያውቅ ሰው ገምግሙ። ለተርጓሚዎች አውድ ስጡ — «Book» በአንድ ማያ ስም ሲሆን በሌላ ማያ ግስ ነው።
  5. የዳታቤዝ ይዘቱን ተርጉሙ እና የመውደቂያ ዋጋዎችን አዘጋጁ።
  6. የቀረውን አካባቢያዊ አድርጉ፦ ኢሜሎች፣ የስህተት መልዕክቶች፣ ሕጋዊ ገጾች፣ ጽሑፍ ያላቸው ምስሎች።
  7. እያንዳንዱን ቋንቋ በስልክ ስፋት ሞክሩ፣ ተገቢ ከሆነ ቀኝ-ወደ-ግራም ጨምሩ።
  8. ሂደት አዘጋጁ አዳዲስ ባህሪዎች ከትርጉሞቻቸው ጋር አብረው እንዲላኩ፣ ከወራት በኋላ እንዳይሆን።

የተለመዱ ስህተቶች

  • ዓረፍተ-ነገሮችን መደመር ("You have " + n + " messages")፤ በሌሎች ቋንቋዎች ይበላሻል።
  • በክፍሎች ውስጥ የቀሩ በኮድ የተጻፉ ጽሑፎች፣ የስህተት መልዕክቶችና የማረጋገጫ ሕብረቁምፊዎች።
  • ቀንና ዋጋን በእጅ መቅረጽ።
  • ለቋንቋዎች ባንዲራዎች፣ እና ሰዎችን በተሳሳተ ቅጂ የሚያጠምዱ ራስ-ሰር ማዘዋወሮች።
  • አንድ URL ለሁሉም ቋንቋዎች ኢንዴክስ እንዲደረጉ በሚፈልጓቸው ገጾች ላይ።
  • የጎደሉ hreflang የመመለሻ አገናኞች፣ ስለዚህ Google ማብራሪያዎቹን ችላ ይላል።
  • በይነገጹን መተርጎም ነገር ግን ይዘቱን አለመተርጎም፣ ወይም በተቃራኒው።
  • ያልተገመገመ ማሽን ትርጉም በዋጋ፣ በሕጋዊ እና በክፍያ ገጾች ላይ።

የብዙ ቋንቋ ዝርዝር

  • ለተጠቃሚ የሚታይ ጽሑፍ በኮድ ውስጥ የለም፤ የብዛት ህጎችና placeholders ጥቅም ላይ ውለዋል
  • ቀኖች፣ ቁጥሮችና ገንዘብ በ Intl ተቀርጸዋል
  • በእያንዳንዱ ገጽ ላይ የቋንቋ መቀየሪያ ከቋንቋዎቹ ስሞች ጋር፤ ምርጫው ይታወሳል
  • ለይፋዊ ገጾች የተለያዩ URL ለእያንዳንዱ ቋንቋ፤ የግዳጅ ማዘዋወር የለም
  • hreflang በእያንዳንዱ ቅጂ ላይ፣ ራስን እና x-default ጨምሮ
  • html lang (እና dir="rtl" ሲያስፈልግ) በእያንዳንዱ ገጽ ተዘጋጅቷል
  • የዳታቤዝ ይዘት ተተርጉሟል፤ የመውደቂያ ዋጋዎች ተዘጋጅተዋል
  • ኢሜሎችና ማሳወቂያዎች በተጠቃሚው ቋንቋ ይላካሉ
  • ለደንበኞች የሚታየው ጽሑፍ በአቀላጥፎ በሚያውቅ ሰው ተገምግሟል

በMythex ላይ ብዙ ቋንቋዎች

በMythex ቋንቋዎችን የምትጨምሩት በውይይት በመጠየቅ ነው — የተለየ የትርጉም ፓነል የለም — ስለዚህ ከላይ ያሉት ጥያቄዎች እንደተጻፉ ይሠራሉ። ትልቅ ለውጥ ስለሆነ i18n ደረጃውን በመጀመሪያ ያድርጉ እና ቋንቋዎችን ከመጨመራችሁ በፊት በPreview ይፈትሹ፤ የውይይት ቼክፖይንት ነገር ከተበላሸ ወደ ኋላ ለመመለስ ይጠቅማል (ውይይትና ቼክፖይንቶች)። ይዘቱን በAI ወይም በትርጉም API በራስ-ሰር ለመተርጎም ከፈለጉ፣ ይህ የራስዎን API ቁልፍ ይጠቀማል፣ በፕሮጀክት ቅንብሮች ውስጥ ይቀመጣል (የአካባቢ ተለዋዋጮችና ሚስጥሮች)፤ LLM API እንዴት እንደሚጠቀሙ ወጪዎቹን ያብራራል። አዳዲሶቹ ቋንቋዎች ዝግጁ ሲሆኑ እንደገና ያትሙ።

ጥያቄዎች

በ i18n እና በ localisation መካከል ያለው ልዩነት ምንድን ነው?

Internationalisation (i18n) ኮዱን ብዙ ቋንቋዎችን እንዲደግፍ ማዘጋጀት ነው፦ በኮድ ውስጥ የተጻፈ ጽሑፍ አለመኖር፣ ለአካባቢው የሚስማሙ ቀኖችና ቁጥሮች፣ እንዲሁም ረዣዥም ቃላትና ቀኝ-ወደ-ግራ ፊደላትን የሚይዙ አቀማመጦች። Localisation (l10n) ለአንድ ቋንቋ ወይም ገበያ ማስማማት ነው፣ በዋናነት ትርጉም።

ለመተግበሪያዬ ማሽን ትርጉም ወይም AI ብቻ መጠቀም እችላለሁ?

ለመጀመሪያ ረቂቅ አዎ፤ ዘመናዊ ማሽንና AI ትርጉም ለበይነገጽ ጽሑፍ ጥሩ ነው። ለደንበኞች የሚታየውን ነገር፣ በተለይ ሕጋዊ ጽሑፍን፣ ዋጋንና የማስታወቂያ ቃላትን አቀላጥፎ የሚያውቅ ሰው ይገምግመው፤ ቃና ና ትናንሽ ስህተቶች እዚያ ጉዳይ ይሆናሉ።

እያንዳንዱ ቋንቋ የራሱ URL ሊኖረው ይገባል?

በፍለጋ ውጤት ውስጥ እንዲታዩ ለምትፈልጓቸው ይፋዊ ገጾች፣ አዎ። Google እንደ /fr/ እና /de/ ያሉ የተለያዩ URL ለእያንዳንዱ ቋንቋ ይመክራል፤ ቋንቋን በኩኪ ወይም በአሳሽ ቅንብር ከመቀየር ይልቅ። ያለበለዚያ ክራውለሩ አንዱን ቅጂ ብቻ ሊያይ ይችላል።

ጎብኚዎችን በአሳሻቸው ቋንቋ በራስ-ሰር ላኩ?

ጥቆማ ይስጡ እንጂ አያስገድዱ። Google በራስ-ሰር ቋንቋ መቀየር ሰዎችና ክራውለሮች ሌሎች ቅጂዎች እንዳይደርሱ ስለሚያደርግ ይመክራል። ተዛማጅ ቋንቋ የሚጠቁም ትንሽ መልዕክትና በእያንዳንዱ ገጽ የሚታይ መቀየሪያ ያስቀምጡ።

Mythex · Pricing · በAI ማንኛውንም ነገር ይገንቡ · የድር ጣቢያ እና የመተግበሪያ ቴምፕሌቶች · Mythex ከሌሎች ጋር ሲነጻጸር · የAI መተግበሪያ ግንባታ የቃላት መዝገበ-ቃላት · ነፃ የ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 Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)