በPolyglot በመጠቀም በJekyll ብሎግ ውስጥ ብዙ ቋንቋ ድጋፍ እንዴት እንደሚጨምሩ (2) - የቋንቋ ምርጫ አዝራር መተግበር & የአቀማመጥ ቋንቋ አካባቢያዊ ማድረግ
'jekyll-theme-chirpy' ላይ የተመሠረተ Jekyll ብሎግ ላይ Polyglot ፕላግን በመተግበር ብዙ ቋንቋ ድጋፍ እንዴት እንደተገነባ ያብራራል። ይህ የተከታታይ ጽሑፎች ሁለተኛው ጽሑፍ ሲሆን የቋንቋ ምርጫ አዝራር መተግበርና የአቀማመጥ ቋንቋ አካባቢያዊ ማድረግን ይሸፍናል።
አጠቃላይ እይታ
በ12024 ዓ.ም. ጁላይ መጀመሪያ ላይ፣ በGithub Pages በኩል የሚስተናገድ ይህ በJekyll የተመሠረተ ብሎግ ላይ Polyglot ፕላግን በመተግበር ብዙ ቋንቋ ድጋፍ አክዬበታለሁ። ይህ ተከታታይ ጽሑፎች በChirpy ገጽታ ላይ Polyglot ፕላግን ሲተገበር የተፈጠሩ ችግኞችን እና የመፍትሄ ሂደታቸውን፣ እንዲሁም SEO ን በማሰብ html ሄደር እና sitemap.xml እንዴት እንደሚጻፉ ያጋራል። ይህ ተከታታይ 3 ጽሑፎችን ያካትታል፣ እያነበቡት ያሉትም ይህ ጽሑፍ ሁለተኛው ነው።
- ክፍል 1: Polyglot ፕላግን መተግበር & html ሄደር እና sitemap ማስተካከል
- ክፍል 2: የቋንቋ ምርጫ አዝራር መተግበር & የአቀማመጥ ቋንቋ አካባቢያዊ ማድረግ (ይህ ጽሑፍ)
- ክፍል 3: የChirpy ገጽታ ግንባታ መሳካት አለመቻል እና የፍለጋ ባህሪ ስህተት መላ መፈለግ
በመጀመሪያ በአጠቃላይ 2 ክፍሎች ብቻ እንዲሆን አድርጌ ነበር፣ ነገር ግን ከዚያ በኋላ በበርካታ ዙሮች ይዘቱን እየጨመርኩ ስሄድ መጠኑ እጅግ ስለጨመረ ወደ 3 ክፍሎች እንዲሆን አሻሽዬዋለሁ።
መስፈርቶች
- የገነባው ውጤት(ድረ ገጽ) በቋንቋ ልዩ መንገዶች(ex.
/posts/ko/,/posts/ja/) ተለይቶ መቅረብ አለበት። - ለብዙ ቋንቋ ድጋፍ ተጨማሪ የሚፈልገውን ጊዜና ጉልበት እስከሚቻል ድረስ ለመቀነስ፣ በተጻፈው የመጀመሪያ የMarkdown ፋይል YAML front matter ውስጥ ‘lang’ እና ‘permalink’ ታጎችን በእያንዳንዱ ፋይል ላይ በተናጠል ማስገባት ሳያስፈልግ፣ በግንባታ ጊዜ ፋይሉ ያለበትን አካባቢያዊ መንገድ(ex.
/_posts/ko/,/_posts/ja/) መሰረት በማድረግ ቋንቋውን በራሱ መለየት መቻል አለበት። - በጣቢያው ውስጥ ያሉ እያንዳንዱ ገጽ ሄደር ክፍሎች ተገቢ Content-Language ሜታ ታግ፣ hreflang ተለዋጭ ታጎች እና canonical አገናኝ በመያዝ ለብዙ ቋንቋ ፍለጋ የGoogle SEO መመሪያዎችን ማሟላት አለባቸው።
- በጣቢያው ውስጥ ያሉ የእያንዳንዱ ቋንቋ ስሪት ገጽ አገናኞች ምንም ሳይቀሩ በ
sitemap.xmlመቅረብ አለባቸው፣ እናsitemap.xmlራሱ በስር መንገድ ላይ ብቻ አንድ መኖር አለበት። - በChirpy ገጽታ የሚሰጡ ሁሉም ባህሪዎች በእያንዳንዱ ቋንቋ ገጽ ላይ በመደበኛነት መስራት አለባቸው፣ ካልሆነም እንዲሰሩ ማስተካከል አለበት።
- ‘Recently Updated’, ‘Trending Tags’ ባህሪዎች በመደበኛነት መስራት
- GitHub Actions በመጠቀም በሚካሄደው የግንባታ ሂደት ውስጥ ስህተት እንዳይፈጠር
- በብሎጉ በላይ ቀኝ ጠርዝ ያለው የፖስት ፍለጋ ባህሪ በመደበኛነት መስራት
ከመጀመርዎ በፊት
ይህ ጽሑፍ ከክፍል 1 የሚቀጥል ስለሆነ፣ እስካሁን ካላነበቡት በመጀመሪያ ያለፈውን ጽሑፍ እንዲያነቡ እመክራለሁ።
በጎን አሞሌ ውስጥ የቋንቋ ምርጫ አዝራር መጨመር
(12025.02.05. ዝማኔ) የቋንቋ ምርጫ አዝራሩ ወደ dropdown ዝርዝር ቅርጽ ተሻሽሏል።
_includes/lang-selector.html ፋይል ፈጥሬ እንደሚከተለው ይዘት ጻፍሁበት።
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<link rel="stylesheet" href="{{ '/assets/css/lang-selector.css' | relative_url }}">
<div class="lang-dropdown">
<select class="lang-select" onchange="changeLang(this.value)" aria-label="Select Language">
{%- for lang in site.languages -%}
<option value="{% if lang == site.default_lang %}{{ page.url }}{% else %}/{{ lang }}{{ page.url }}{% endif %}"
{% if lang == site.active_lang %}selected{% endif %}>
{% case lang %}
{% when 'ko' %}🇰🇷 한국어
{% when 'en' %}🇺🇸 English
{% when 'ja' %}🇯🇵 日本語
{% when 'zh-TW' %}🇹🇼 正體中文
{% when 'es' %}🇪🇸 Español
{% when 'pt-BR' %}🇧🇷 Português
{% when 'fr' %}🇫🇷 Français
{% when 'de' %}🇩🇪 Deutsch
{% else %}{{ lang }}
{% endcase %}
</option>
{%- endfor -%}
</select>
</div>
<script>
function changeLang(url) {
window.location.href = url;
}
</script>
እንዲሁም assets/css/lang-selector.css ፋይል ፈጥሬ እንደሚከተለው ይዘት ጻፍሁበት።
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
/**
* የቋንቋ ምርጫ አስመራጭ ስታይል
*
* በጎን አሞሌ ውስጥ የሚገኘውን የቋንቋ ምርጫ dropdown ስታይል ይገልጻል።
* የገጽታውን ጨለማ ሁነታ ይደግፋል፣ እና በሞባይል አካባቢም የተመቻቸ ነው።
*/
/* የቋንቋ ምርጫ አስመራጭ ኮንቴይነር */
.lang-selector-wrapper {
padding: 0.35rem;
margin: 0.15rem 0;
text-align: center;
}
/* dropdown ኮንቴይነር */
.lang-dropdown {
position: relative;
display: inline-block;
width: auto;
min-width: 120px;
max-width: 80%;
}
/* የምርጫ ግቤት አካል */
.lang-select {
/* መሠረታዊ ስታይል */
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
width: 100%;
padding: 0.5rem 2rem 0.5rem 1rem;
/* ፎንት እና ቀለም */
font-family: Lato, "Pretendard JP Variable", "Pretendard Variable", sans-serif;
font-size: 0.95rem;
color: var(--sidebar-muted);
background-color: var(--sidebar-bg);
/* ቅርጽ እና መስተጋብር */
border-radius: var(--bs-border-radius, 0.375rem);
cursor: pointer;
transition: all 0.2s ease;
/* የቀስት አዶ መጨመር */
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right 0.75rem center;
background-size: 1rem;
}
/* የሰንደቅ ኢሞጂ ስታይል */
.lang-select option {
font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif;
padding: 0.35rem;
font-size: 1rem;
}
.lang-flag {
display: inline-block;
margin-right: 0.5rem;
font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif;
}
/* hover ሁኔታ */
.lang-select:hover {
color: var(--sidebar-active);
background-color: var(--sidebar-hover);
}
/* focus ሁኔታ */
.lang-select:focus {
outline: 2px solid var(--sidebar-active);
outline-offset: 2px;
color: var(--sidebar-active);
}
/* Firefox አሳሽ ተኳኋኝነት */
.lang-select:-moz-focusring {
color: transparent;
text-shadow: 0 0 0 var(--sidebar-muted);
}
/* IE አሳሽ ተኳኋኝነት */
.lang-select::-ms-expand {
display: none;
}
/* ጨለማ ሁነታ ተኳኋኝነት */
[data-mode="dark"] .lang-select {
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
}
/* ለሞባይል አካባቢ ማመቻቸት */
@media (max-width: 768px) {
.lang-select {
padding: 0.75rem 2rem 0.75rem 1rem; /* የበለጠ ትልቅ የንክኪ ቦታ */
}
.lang-dropdown {
min-width: 140px; /* በሞባይል ላይ የበለጠ ሰፊ የምርጫ ቦታ */
}
}
ከዚያ በኋላ፣ በChirpy ገጽታ ውስጥ ያለው _includes/sidebar.html ፋይል ውስጥ sidebar-bottom ክፍል በቀጥታ ከመታየቱ በፊት lang-selector-wrapper ክፍል ያላቸውን ሦስት መስመሮች እንደሚከተለው አክዬ ነበር፣ ይህም ከዚያ በፊት የጻፍኩትን _includes/lang-selector.html ይዘት Jekyll ገጹን ሲገነባ እንዲጭነው አድርጎታል።
1
2
3
4
5
6
7
(전략)...
<div class="lang-selector-wrapper w-100">
{%- include lang-selector.html -%}
</div>
<div class="sidebar-bottom d-flex flex-wrap align-items-center w-100">
...(후략)
(12025.07.31. ባህሪ ተጨምሯል) የአቀማመጥ ቋንቋ አካባቢያዊ ማድረግ
ከዚህ በፊት ቋንቋ አካባቢያዊ ማድረግን በገጽ ርዕስ እና ይዘት ያሉ ዋና የጽሑፍ ክፍሎች ላይ ብቻ እተገብር ነበር፣ በግራ ጎን አሞሌ ያሉ የትሮች ስሞች ወይም የድረ ገጹ ላይኛ እና ታችኛ ክፍሎች እንዲሁም የቀኝ ፓነል ያሉ የአቀማመጥ ቋንቋዎች ግን የጣቢያው ነባሪ እሴት የሆነው እንግሊዝኛ ብቻ እንዲታይ ተደርጓል። በግል አስተያየቴ ያ መጠን በቂ ነበር፣ ስለዚህ ተጨማሪ ስራ ለመስራት አስፈላጊነት እጅግ አልተሰማኝም። ነገር ግን በቅርቡ ከላይ የተጠቀሱትን Open Graph ሜታዳታ ባህሪዎች እና canonical URL ፓች በማዘጋጀት ሂደት ውስጥ የአቀማመጥ ቋንቋ አካባቢያዊ ማድረግ በጥቂት ማስተካከያ ብቻ በጣም ቀላል መሆኑን አግኝቻለሁ። ትልቅና አስቸጋሪ የኮድ ማሻሻያ ስራ ቢያስፈልግ ኖሮ እንጂ፣ ከ10 ደቂቃ እንኳን ያልበለጠ ቀላል ስራ ስለነበር በአጋጣሚ ይህንም ጨምሬ ተግባራዊ አደረግሁ።
ሎካል መጨመር
በጣቢያው ውስጥ ለእያንዳንዱ ገጽ ብዙ ቋንቋ ስሪቶችን በአንድ ጊዜ ማቅረብና በተጠቃሚ ምርጫ መሠረት በመካከላቸው መቀያየር ባይኖርም፣ የChirpy ገጽታ የሚደግፈው የቋንቋ ስፋት ከመጀመሪያውም በጣም ሰፊ ነው። ስለዚህ ከChirpy ገጽታ የሚሰጡት የሎካል ፋይሎች ውስጥ የሚፈልጉትን ብቻ መርጠው አውርደው ማከል ይችላሉ፣ አስፈላጊ ከሆነም የፋይሉን ስም ብቻ እንዲመጣጠን መቀየር ይችላሉ። የሎካል ፋይል ስሞች ቀደም ሲል የቅንብር ማዋቀር ደረጃ ላይ _config.yml ፋይል ውስጥ ከተገለጹት languages ዝርዝር እቃዎች ጋር መስማማት አለባቸው።
በእርግጥ በቀጥታ ከዚህ በኋላም እንደምጠቅሰው፣
_dataማውጫ ውስጥ ያሉ ፋይሎች በቀጥታ ሳይጨመሩም jekyll-theme-chirpy gem በኩል በነባሪነት ይሰጣሉ።ግን በእኔ ሁኔታ፣ በሚከተሉት ምክንያቶች Chirpy ገጽታ የሚያቀርበውን ሎካል በቀጥታ መጠቀም አስቸጋሪ ነበር፣ ስለዚህ ጥቂት ማሻሻያዎች ማድረግ አስፈልጎኛል።
- Chirpy ገጽታ በነባሪነት የሚሰጣቸው የሎካል ፋይሎች ስም ቅርጽ
ko-KR,ja-JPወዘተ እንደሚሆን የክልል ኮድ ያካትታል፣ ይህም በአሁኑ ጣቢያ ላይ ከምጠቀምበት ቅርጽ(ko,jaወዘተ) ጋር አይጣጣምም- የፈቃድ ማስታወቂያውን ከነባሪው CC BY 4.0 ይልቅ ከዚህ ብሎግ የCC BY-NC 4.0 ፈቃድ ጋር እንዲስማማ ማስተካከል አስፈልጎኛል
- ኮሪያኛ ወይም ጃፓንኛ ሎካል ፋይሎች እኔ ኮሪያዊ ሰው ስለሆንሁ በማየቴ ትንሽ የማይተፋፈሱ ወይም ለዚህ ብሎግ የማይስማሙ ክፍሎች ነበሩ፣ ስለዚህ በግል ያሻሻልኳቸው ክፍሎች አሉ
- ከታች እንደገለጽኩት በብዙ ምክንያቶች የክርስቲያን ዘመን ቁጥር ስርዓትን አልወድም፣ እና ቢያንስ በዚህ ብሎግ ላይ የቀን ማሳያ ቅርጽ እንደ የሆሎሲን ዘመን ቆጠራ ስለምጠቀም ሎካሉንም ከዚያ ጋር እንዲስማማ ማስተካከል አስፈልጓል
- በመሠረቱ የተወሰነ ሃይማኖት በጣም ጠንካራ የሃይማኖት ቀለም ያለው ሲሆን ወደ ምዕራባዊ ዓለም ያዘነበለ ነው
- ኢየሱስ ታላቅ ቅዱስ ሰው እንደሆነ አልክድም፣ እና የዚያን ሃይማኖት አቋምም አከብራለሁ፤ ስለዚህ እንደ ቡድሂስት ቆጠራ ሁሉ የክርስቲያን ቆጠራም በዚያ ሃይማኖት ውስጥ ብቻ ቢጠቀሙበት ምንም ችግር አልነበረም፣ ግን ችግሩ ይህ ብቻ አለመሆኑ ነው። ኮንፊውስ፣ ሻክያሙኒ፣ ሶክራቴስ ወዘተ ሌሎችም ብዙ ታላላቅ ሰዎች ነበሩ፤ እንግዲህ ለሃይማኖት ያልተገኙ ሰዎች፣ ለሌሎች ሃይማኖቶች ተከታዮች እና ከአውሮፓ ውጭ ያሉ ባህላዊ ክልሎች አንጻር ዓለም ሁሉ የሚጠቀምበት የዓመት ቆጠራ ለምን የግድ ከኢየሱስ ልደት ጀምሮ መሆን አለበት?
- እንዲሁም ያ ‘መጀመሪያ ዓመት’ በእርግጥ ኢየሱስ የተወለደበት ዓመት ነውን ብንል፣ በእውነቱ ያም አይደለም፣ ከዚያ ጥቂት ዓመታት በፊት እንደተወለደ መቆጠሩ አጠቃላይ የተቀባ ነው
- የ‘0’ ጽንሰ-ሐሳብ ከመኖሩ በፊት የተነደፈ የዓመት ቆጠራ ስርዓት ስለሆነ፣ ከክ.ዓ. 1(-1) በኋላ ቀጥታ ክ.ዓ. 1(1) ይመጣል የሚለው አመት ስሌትን በቀጥታ ለማስተዋል አስቸጋሪ ያደርገዋል
- ከሰው ልጅ የኒዮሊቲክ ዘመን እና ወደ ግብርና ማህበረሰብ ከገባበት ጊዜ ጀምሮ እስከ ኢየሱስ ልደት ድረስ ያለው 10000 ዓመታት፣ ወይም ቢያንስ ከጽሑፍ ፈጠራ በኋላ ያለው 3000-4000 ዓመታት ታሪክ ‘ከልደት በፊት’ በሚለው አንድ ስም ይጠቃለላል፣ ይህም በዓለም ታሪክ በተለይም በጥንታዊ ታሪክ ላይ የአስተዋል ማዛባት ይፈጥራል
ስለዚህ እዚህ ውስጥ
_data/localesማውጫ ውስጥ የሎካል ፋይሎችን በቀጥታ ጨምሬ በአግባቡ አሻሽዬ ተግባራዊ አደረግኋቸው።
ስለዚህ ይህ አይመለከትዎትም እና Chirpy ገጽታ በነባሪ የሚሰጡትን ሎካሎች ምንም ማሻሻያ ሳይደረግባቸው ማግበር ከፈለጉ፣ ይህን ደረጃ መዝለል ይችላሉ።
ከPolyglot ጋር ማዋሃድ
አሁን ከሚከተሉት ሁለት ፋይሎች ላይ ትንሽ ማስተካከያ ብቻ በማድረግ Polyglot ጋር ለስላሳ የሆነ ውህደት ማድረግ ይቻላል።
መጀመሪያ ሪፖዚቶሪውን ሲፈጥሩ የገጽታውን ሪፖዚቶሪ በቀጥታ fork ሳታደርጉ Chirpy Starter ከተጠቀሙ ተዛማጅ ፋይሎቹ በራስዎ የጣቢያ ሪፖዚቶሪ ውስጥ ላይኖሩ ይችላሉ። ምክንያቱም በቀጥታ ሳይጨመሩም jekyll-theme-chirpy gem በኩል በነባሪነት የሚሰጡ ፋይሎች ስለሆኑ ነው። በዚህ ሁኔታ ከChirpy ገጽታ ሪፖዚቶሪ ተዛማጅ የሆነውን ዋና ፋይል በመጀመሪያ አውርደው በራስዎ ሪፖዚቶሪ ውስጥ በተመሳሳይ ቦታ ላይ ካስቀመጡት በኋላ ስራውን መጀመር ይችላሉ። Jekyll ጣቢያውን ሲገነባ በሪፖዚቶሪው ውስጥ ተመሳሳይ ስም ያለው ፋይል ካለ በውጭ gem(jekyll-theme-chirpy) ከሚሰጠው ፋይል በፊት ይተገበራል።
‘_includes/lang.html’
ከታች እንደሚታየው _includes/lang.html ፋይል መካከል ሁለት የኮድ መስመሮችን ጨምሬ ነበር፣ ይህም የገጹ YAML front matter ውስጥ lang ተለዋዋጭ በተለየ ሁኔታ ካልተገለጸ በ _config.yml ውስጥ ከተገለጸው የጣቢያ ነባሪ ቋንቋ(site.lang) ወይም እንግሊዝኛ('en') በፊት የPolyglot site.active_lang ተለዋዋጭ እንዲቀድም ያደርጋል። ይህ ፋይል Chirpy ገጽታ የሚጠቀምባቸው ሁሉም ገጾች(_layouts/default.html) ላይ በግንባታ ጊዜ lang ተለዋዋጭን ለማስተዋወቅ በጋራ የሚጠራ ፋይል ሲሆን፣ እዚህ የሚገለጸውን lang ተለዋዋጭ በመጠቀም የአቀማመጥ ቋንቋ አካባቢያዊ ማድረግ ይከናወናል።
1
2
3
4
5
6
7
8
9
10
11
12
13
@@ -1,10 +1,12 @@
{% comment %}
Detect appearance language and return it through variable "lang"
{% endcomment %}
{% if site.data.locales[page.lang] %}
{% assign lang = page.lang %}
+{% elsif site.data.locales[site.active_lang] %}
+ {% assign lang = site.active_lang %}
{% elsif site.data.locales[site.lang] %}
{% assign lang = site.lang %}
{% else %}
{% assign lang = 'en' %}
{% endif %}
lang ተለዋዋጭ ሲገለጽ የቅድሚያ ቅደም ተከተል:
- ከማሻሻያው በፊት:
page.lang(በእያንዳንዱ ገጽ YAML front matter ውስጥ ከተገለጸ)site.lang(_config.ymlውስጥ ከተገለጸ)'en'
- ከማሻሻያው በኋላ:
page.lang(በእያንዳንዱ ገጽ YAML front matter ውስጥ ከተገለጸ)site.active_lang(Polyglot ተግባራዊ ሲሆን)site.lang(_config.ymlውስጥ ከተገለጸ)'en'
‘_layouts/default.html’
በተመሳሳይም _layouts/default.html ፋይል ይዘትን አሻሽዬ ነበር፣ ይህም HTML ሰነዱ ከፍተኛ ደረጃ አካል በሆነው <html> ታግ ላይ lang ባህሪ በትክክል እንዲመደብ ያደርጋል።
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@@ -1,19 +1,19 @@
---
layout: compress
---
<!doctype html>
{% include origin-type.html %}
{% include lang.html %}
{% if site.theme_mode %}
{% capture prefer_mode %}data-mode="{{ site.theme_mode }}"{% endcapture %}
{% endif %}
<!-- `site.alt_lang` can specify a language different from the UI -->
-<html lang="{{ page.lang | default: site.alt_lang | default: site.lang }}" {{ prefer_mode }}>
+<html lang="{{ page.lang | default: site.active_lang | default: site.alt_lang | default: site.lang }}" {{ prefer_mode }}>
{% include head.html %}
<html> ታግ ላይ lang ባህሪ ሲመደብ የቅድሚያ ቅደም ተከተል:
- ከማሻሻያው በፊት:
page.lang(በእያንዳንዱ ገጽ YAML front matter ውስጥ ከተገለጸ)site.alt_lang(_config.ymlውስጥ ከተገለጸ)site.lang(_config.ymlውስጥ ከተገለጸ)unknown(ባዶ ሕብረቁምፊ፣lang="")
- ከማሻሻያው በኋላ:
page.lang(በእያንዳንዱ ገጽ YAML front matter ውስጥ ከተገለጸ)site.active_lang(Polyglot ተግባራዊ ሲሆን)site.alt_lang(_config.ymlውስጥ ከተገለጸ)site.lang(_config.ymlውስጥ ከተገለጸ)unknown(ባዶ ሕብረቁምፊ፣lang="")
የድር ገጹን ቋንቋ(
langባህሪ) ሳይገልጹunknownእንዲሆን መተው አይመከርም፣ ስለዚህ ከተቻለ ተገቢ እሴት መመደብ ይኖርበታል። እንደሚታየው_config.ymlውስጥ ያለው የlangባህሪ እሴት fallback ሆኖ ይጠቀማል፣ ስለዚህ Polyglot ቢጠቀሙም ባትጠቀሙም ይህን እሴት በአግባቡ መግለጽ ጥሩ ነው፣ እና በመደበኛ ሁኔታ አስቀድሞ የተገለጸ ሊሆን ይገባል። እንደ ዚህ ጽሑፍ ውስጥ እንደሚመለከተው Polyglot ወይም ከእሱ ጋር ተመሳሳይ የi18n ፕላግን ከተጠቀሙ ደግሞsite.default_langጋር ተመሳሳይ እሴት መመደብ የተለመደ እና አስተማማኝ ምርጫ ይሆናል።
ተጨማሪ ንባብ
በክፍል 3 ይቀጥላል
