ⵡⵉⴽⵉⴱⵉⴷⵢⴰ zghwiki https://zgh.wikipedia.org/wiki/%E2%B5%9C%E2%B4%B0%E2%B5%99%E2%B5%8F%E2%B4%B0_%E2%B5%8F_%E2%B5%93%E2%B5%99%E2%B5%8F%E2%B5%93%E2%B4%B1%E2%B4%B3 MediaWiki 1.47.0-wmf.8 first-letter ⵎⵉⴷⵢⴰ ⴰⵎⵥⵍⵉ ⴰⵎⵙⴳⴷⴰⵍ ⴰⵏⵙⵙⵎⵔⵙ ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ ⵡⵉⴽⵉⴱⵉⴷⵢⴰ ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵡⵉⴽⵉⴱⵉⴷⵢⴰ ⴰⴼⴰⵢⵍⵓ ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⴼⴰⵢⵍⵓ ⵎⵉⴷⵢⴰⵡⵉⴽⵉ ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵎⵉⴷⵢⴰⵡⵉⴽⵉ ⴰⵍⴱⵓⴹ ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵍⴱⵓⴹ ⵜⵉⵡⵉⵙⵉ ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵜⵡⵉⵙⵉ ⴰⵙⵎⵉⵍ ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵙⵎⵉⵍ TimedText TimedText talk Module Module talk Event Event talk ⴰⵍⴱⵓⴹ:ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ/ⴳ ⵉⵏⵖⵎⵉⵙⵏ 10 5585 177055 177009 2026-06-26T11:41:06Z ⴰⵏⴰⵙ ⵓⵍⵃⵍⵓ 10568 177055 wikitext text/x-wiki * ⵜⴰⵎⵜⵜⴰⵏⵜ ⵏ [[ⵜⴰⵙⵏⴰⵎⵓⵏⵜ|ⵓⵎⵙⵏⴰⵎⵓⵏ]] [[ⵜⴰⴼⵍⵙⵓⴼⵜ|ⴰⴼⵍⵙⴰⴼ]] ⵓ [[ⴼⵕⴰⵏⵚⴰ]] [[ⵉⴷⴳⴰⵔ ⵎⵓⵔⴰⵏ]] (ⴳ ⵜⵡⵍⴰⴼⵜ) ⴷⴳ ⵓⵡⵜⴰⵢ ⵏ 104 ⵏ ⵓⵙⴳⴳⴰⵙ.[[ⴰⴼⴰⵢⵍⵓ:Edgar Morin LslaP 1549751.jpg|Frameless|150px|right]] * [[ⵜⵓⴼⵔⵉⵏⵜ ⵏ ⵢⵉⴽⵡⴰⴹⵓⵕ]] ⵜⵔⵏⴰ [[ⵜⵓⴼⵔⵉⵏⵜ ⵏ ⵓⵍⵉⵎⴰⵏ]] ⵙ 2 - 1. * [[ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵜⴰⵎⵖⵔⵉⴱⵉⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⵜⵓⴼⵔⵉⵏⵜ ⵏ ⵎⵓⵔⴰⴽⵓⵛ]] ⵜⵏⵔⴰ [[ⵜⵓⴼⵔⵉⵏⵜ ⵏ ⵀⴰⵢⵜⵉ]] ⵙ 4 - 2. * [[11 ⵢⵓⵏⵢⵓ]] ⴰⵙⵏⵜⵉ ⵏ ⵜⴱⵔⵣⴰ ⵏ [[ⴰⴽⵔⵡⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 2026|ⵓⴽⵔⵡⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ]] ⴰⵙⵙ ⴰⴷ ⵏⵏⴰ ⵜⵙⵏⴱⴳⵉ [[ⵎⵉⴽⵙⵉⴽ]] ⴷ [[ⴽⴰⵏⴰⴷⴰ|ⴽⴰⵏⴰⴹⴰ]] ⴷ [[ⵉⵡⴰⵏⴽⵏ ⵉⵎⵓⵏⵏ]]. *[[ⴱⴰⵔⵉⵙ ⵙⴰⵏ ⵊⵉⵔⵎⴰⵏ]] ⵢⵓⵡⵉ ⴰⴽⵔⵡⴰⵙ ⵏ [[ⵜⴰⴹⴰ ⵏ ⵉⵏⴱⵔⴰⵣⵏ ⵏ ⵜⵓⵕⵓⴱⵜ]] ⴹⴰⵕⵜ ⵎⴰⵢⴷ ⵉⵏⵔⴰ [[ⴰⵔⵙⵓⵏⴰⵍ]] ⵙ ⵜⵉⵢⵢⴰⵜ ⵏ ⵓⵙⵎⵢⵉⴳⵔ. * ⴰⴼⵉⵍⵎ ⵏ "[[ⵉⵎⵏⵖⵉ ⵜⴰⵎⴰ ⵏ ⵢⴰⵏ (ⴰⴼⵉⵍⵎ)|ⵉⵎⵏⵖⵉ ⵜⴰⵎⴰ ⵏ ⵢⴰⵏ]]" ⵢⵓⵡⵉ ⵚⴹⵉⵚⵜ [[ⵜⴰⵙⵎⵖⵓⵜⵏ ⵏ ⵓⵙⴽⴰⵔ|ⵜⵙⵎⵖⵓⵔⵉⵏ ⵏ ⵓⵙⴽⴰⵔ]] ⴳ ⵜⴼⵓⴳⵍⴰ ⵜⵉⵙ ⵜⵥⴰⵎⵔⴰⵡ ⴷ ⵜⴰⵎ, ⵢⵓⵎⴰⵏ ⵓⵢⴰ ⵜⴰⵙⵎⵖⵓⵔⵜ ⵏ ⵓⴼⵉⵍⵎ ⴰⵎⵓⴼⴰⵢ ⴷ ⵓⵎⵙⵙⵓⴼⵖ ⴰⵎⵓⴼⴰⵢ ⵉ ⴱⵓⵍ ⵜⵓⵎⴰⵙ ⴰⵏⴷⵔⵙⵓⵏ. {{ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ/ⵜⵓⵣⴷⵉⵔⵜ |[[ⴰⵍⴱⵓⴹ:ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ/ⴳ ⵉⵏⵖⵎⵉⵙⵏ|ⵔⵏⵓ ⴰⵏⵖⵎⵉⵙ]] '''.''' [[ⴰⵍⴱⵓⴹ:ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ/ⴳ ⵉⵏⵖⵎⵉⵙⵏ/ⵜⵉⵎⵃⴹⵉⵜ|ⵜⵉⵎⵃⴹⵉⵜ]]}} d9cu5vbyb01gaxtql99omx3dgl10nyl ⴰⵍⴱⵓⴹ:ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ/ⵜⴰⵡⵍⴰⴼⵜ ⵜⵓⴼⵔⵉⵏⵜ 10 5608 177056 176821 2026-06-26T11:42:05Z ⴰⵏⴰⵙ ⵓⵍⵃⵍⵓ 10568 177056 wikitext text/x-wiki <div style="text-align: center"> [[ⴰⴼⴰⵢⵍⵓ:018 Giant otter eating a fish in Encontro das Águas State Park Photo by Giles Laurent.jpg|500px]] </div> <div class="main-footer">ⵥⵕ ⵓⴳⴳⴰⵔ ⴳ [[commons:Category:Tamazight|ⵡⵉⴽⵉⵎⵉⴷⵢⴰ ⴽⵓⵎⴰⵏⵥ]]</div> {{ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ/ⵜⵓⵣⴷⵉⵔⵜ |[[ⴰⵍⴱⵓⴹ:ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ/ⵜⴰⵡⵍⴰⴼⵜ ⵜⵓⴼⵔⵉⵏⵜ|ⵙⵜⵉ ⵜⴰⵡⵍⴰⴼⵜ ⵏⵏⴽ ⴰⴼⴰⴷ ⴰⴷ ⵜⴳ ⵜⵓⴼⵔⵉⵏⵜ]] '''.''' [[ⴰⵍⴱⵓⴹ:ⵜⴰⵙⵏⴰ ⵏ ⵓⵙⵏⵓⴱⴳ/ⵜⴰⵡⵍⴰⴼⵜ ⵜⵓⴼⵔⵉⵏⵜ/ⴰⵙⴼⵙⵔ ⵏ ⵜⵡⵍⴰⴼⵉⵏ ⵜⵓⴼⵔⵉⵏⵉⵏ|ⴰⵙⴼⵙⵔ ⵏ ⵜⵡⵍⴰⴼⵉⵏ ⵜⵓⴼⵔⵉⵏⵉⵏ]]}} kbi08wski5jp5bpoohz0gru6x4af1vl ⵡⵉⴽⵉⴱⵉⴷⵢⴰ:ⴰⵎⵏⵏⵉ ⵓⴼⵔⵉⵏ/26 4 5702 177054 174772 2026-06-26T11:39:09Z ⴰⵏⴰⵙ ⵓⵍⵃⵍⵓ 10568 177054 wikitext text/x-wiki [[ⴰⴼⴰⵢⵍⵓ:Neptune Voyager2 color calibrated.png|Frameless|200px|right]] '''[[ⵏⵉⴱⵜⵓⵏ]]''' (ⵙ [[ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⵍⴰⵜⵉⵏⵜ|ⵜⵍⴰⵜⵉⵏⵜ]]: Neptunus) ⵉⴳⴰ ⴰⵎⵜⵉⵡⴳ ⵡⵉⵙⵙ ⵜⴰⵎ ⴷ ⵡⴰⴷ ⵉⵜⵜⵓⵙⵙⴰⵏⵏ ⵏⵏ ⴰⴽⴽⵯ ⵢⴰⴳⴳⵓⴳⵏ ⵙⴳ [[ⵜⴰⴼⵓⴽⵜ]] ⴳ [[ⴰⵏⴳⵔⴰⵡ ⴰⴼⵓⴽⴰⵏ|ⵓⵏⴳⵔⴰⵡ ⴰⴼⵓⴽⴰⵏ]]. ⵉⴳ ⴰⵎⵜⵉⵡⴳ ⵡⵉⵙⵙ ⴽⴽⵓⵥ ⵉⵎⵇⵇⵓⵔⵏ ⴳ ⵜⵓⴱⴷⵉⵙⵜ ⴷ ⵡⵉⵙⵙ ⴽⵕⴰⴹ ⵉⴳⴰⵏ ⴰⴽⵙⵡⴰⵜ ⴳ ⵓⵏⴳⵔⴰⵡ ⴰⴼⵓⴽⴰⵏ. ⵜⵍⴽⵎ ⵜⵙⴰⴽⴰⵢⵜ ⵏⵏⵙ 17 ⵏ ⵜⴽⴽⴰⵍ ⵓⴳⴳⴰⵔ ⵏ ⵜⵙⴰⴽⴰⵢⵜ ⵏ [[ⴰⴽⴰⵍ|ⵡⴰⴽⴰⵍ]]. ⵉⵜⵜⵓⵙⵎⵎⴰ ⵙ ⵢⵉⵙⵎ ⵏ ⵡⴰⴽⵓⵛ ⴰⵕⵓⵎⴰⵏⵉ ⵏ ⵢⵉⵍⵍ. ⵜⴰⵎⴰⵜⴰⵔⵜ ⵏⵏⵙ ⵜⴰⵙⵏⵉⵜⵔⵉⵜ ⵜⴳⴰ ♆, ⵉⴳⴰⵏ ⵜⵓⵏⵖⵉⵍⵜ ⵉⵜⵜⵓⵙⵖⵉⵡⵙⵏ ⵏ ⵜⴰⵣⵔⵜ ⵏ ⵡⴰⴽⵓⵛ ⵏⵉⴱⵜⵓⵏ. ⵉⴳⴰ ⴰⵎⵜⵉⵡⴳ ⴰⵎⵣⵡⴰⵔⵓ ⵉⵜⵜⵢⴰⴼⴰⵏ ⵙ ⵓⵙⵉⴹⵏ ⴰⵙⵏⴰⴽⵜⴰⵏ ⵓⵔ ⴷ ⵙ ⵓⵙⵏⴰⵖⵙ ⵓⵙⵔⵉⴷ. ⴰⵛⴽⵓ ⵜⵓⵥⴽⵉⵡⵜ ⵏⵏⵙ ⴷ ⵜⵓⴷⴷⵙⴰ ⵏⵏⵙ ⵔⵡⴰⵙⵏⵜ ⵜⵉⵏ ⵓⵔⴰⵏⵓⵙ, ⴷ ⵎⵣⴰⵔⴰⵢⵏⵜ ⴷ ⵉⵎⵜⵉⵡⴳⵏ ⵉⴽⵙⵡⴰⵜⵏ ⵏ ⵓⴳⴰⵣ [[ⴰⴷⴰⵏⴱⴰⵍⴰ]] ⴷ [[ⴰⵡⵉⵀⴰⴷ|ⵓⵡⵉⵀⴰⴷ]], ⴷⴰ ⵉⵜⵜⵓⵙⵉⵙⵎⵍ ⵓⵔⴰⵏⵓⵙ ⴷ ⵏⵉⴱⵜⵓⵏ ⴽⵔⴰ ⵏ ⵜⴽⴽⴰⵍ ⴳ ⵓⵙⵎⵉⵍ ⵏ "ⵉⴱⴰⵔⴰⵔⵏ ⵏ ⵓⴳⵔⵉⵙ". ⵜⵉⴳⵏⵡⵜ ⵏ ⵏⵉⴱⵜⵓⵏ ⵉⴳⴳⵓⵜ ⴳⵉⵙ [[ⴰⵀⵉⴷⵔⵓⵊⵉⵏ|ⵓⵀⵉⴷⵔⵓⵊⵉⵏ]] ⴷ [[ⴰⵀⵉⵍⵢⵓⵎ|ⵓⵀⵉⵍⵢⵓⵎ]], ⴰⴽⴷ ⵉⵎⵉⴽⴽ ⵏ [[ⴰⵀⵉⴷⵔⵓⴽⴰⵕⴱⵓⵏ|ⵉⵀⵉⴷⵔⵓⴽⴰⵕⴱⵓⵏⵏ]] ⴷ ⵉⵖⵉⵢ ⴰⵡⴷ [[ⴰⵏⵉⵜⵔⵓⵊⵉⵏ|ⵓⵏⵉⵜⵔⵓⵊⵉⵏ]], ⵎⵇⵇⴰⵔ ⴳⵉⵙ ⵜⴰⵎⵏⵛⴽⵜ ⵢⴰⵜⵜⵓⵢⵏ ⵏ "[[ⴰⴳⵔⵉⵙ|ⵓⴳⵔⵉⵙ]]" ⵣⵓⵏ ⴷ [[ⴰⵎⴰⵏ]], [[ⴰⵎⵓⵏⵢⴰ]], ⴷ [[ⴰⵎⵉⵟⴰⵏ|ⵓⵎⵉⵟⴰⵏ]]. ⵉⴳⴰ ⵓⵎⵉⵟⴰⵏ ⵍⵍⵉ ⵉⵍⵍⴰⵏ ⴳ ⵜⵎⵏⴰⴹⵉⵏ ⵜⵉⴱⵕⵕⴰⵏⵉⵏ ⵏ ⵜⴳⵏⵡⵜ ⴰⵙⵔⴰⴳ ⴰⵔⵙⵍⴰⵏ ⵏ ⵓⴽⵍⵓ ⴰⵏⵉⵍⵉ ⵏ ⵓⵎⵜⵉⵡⴳ. ⵉⴳⴰ ⵓⵙⴼⵓⴽⴽⵔ ⵏ ⵏⵉⴱⵜⵓⵏ ⵢⴰⵏ ⵙⴳ ⵉⵎⴷⵢⴰⵜⵏ ⵉⵣⴰⵍⴰⵏⵏ ⵏ ⵓⴷⵡⴰⵙ ⵏ [[ⵜⴰⵙⵏⴳⴰⵎⴰ|ⵜⵙⵏⴳⴰⵎⴰ]] ⵜⵓⵙⵏⴰⴽⵜⴰⵏⵜ. ⵜⵏⵜⵉ ⵜⵓⵍⵍⵉⵙⵜ ⵍⵍⵉⴳ ⵉⵥⵕⴰ ⵓⵎⵙⵏⵉⵜⵔⵉ [[ⴰⵍⵉⴽⵙⵉⵙ ⴱⵓⴼⴰⵔⴷ]] ⵎⴰⵙ ⴷ ⴰⵥⵢⴰⵕ ⵏ ⵓⵔ ⵉⵎⵙⴰⵙⴰ ⵏⵉⵜ ⴷ ⵉⵙⴰⴹⵓⴼⵏ ⵏ ⵏⵢⵓⵜⵏ ⵏ ⵓⵏⵣⵣⵓⵖ. ⵉⵙⵙⵓⵎⵔ ⵎⴰⵙ ⵉⵍⵍⴰ ⵢⴰⵏ ⵓⵎⵜⵉⵡⴳ ⵢⴰⴹⵏ ⵢⴰⴳⴳⵓⴳⵏ ⵉⵜⵜⵣⵔⵉⵔⵉⵏ ⵖⴼ ⵓⵥⵢⴰⵕ ⵏ ⵓⵔⴰⵏⵓⵙ. ⴳ ⵓⵙⴳⴳⵯⴰⵙ ⵏ 1845, ⵉⵙⵙⵏⵜⵉ ⵓⵎⵙⵏⴰⴽⵜ ⴰⴼⵕⴰⵏⵚⵉⵚ [[ⵓⵔⴱⴰⵏ ⵍⵓ ⴼⵉⵔⵢⵉ]] ⴰⵙⵉⴹⵏ ⵏ ⵓⴷⵖⴰⵔ ⵏ ⵓⵎⵜⵉⵡⴳ ⴰⴷ ⴰⵔⵓⵙⵙⵉⵏ. ⴳ ⵢⴰⵏ ⵡⴰⴽⵓⴷ, ⵉⵙⴽⵔ ⵓⵎⵙⵏⴰⴽⵜ ⴰⵏⴳⵍⵉⵣⵉ [[ⵊⵓⵏ ⴽⵓⵜⵛ ⴰⴷⴰⵎⵣ]] ⵜⵉⵙⵉⴹⴰⵏ ⵉⵔⵡⴰⵙⵏ ⵙ ⵜⵖⴰⵔⴰⵙⵜ ⵜⴰⵙⵉⵎⴰⵏⵜ, ⵎⴰⵛⴰ ⴰⵔⵣⵣⵓ ⵏⵏⵙ ⵓⵔ ⵉⵜⵜⵓⴼⵙⴰⵔ ⵙ ⵜⵖⴰⵔⴰⵙⵜ ⵜⴰⵎⵉⵔⵉⵡⵜ ⴳ ⵡⴰⵎⵓⵏ ⵓⵙⵙⵏⴰⵏ. ⴳ 23 ⵛⵓⵜⴰⵏⴱⵉⵔ 1846, ⵉⴼⴽⴰ ⵍⵓ ⴼⵉⵔⵢⵉ ⵜⵉⴹⴽⴰⴹⵉⵏ ⵏⵏⵙ ⵉ ⵓⵎⵙⵏⵉⵜⵔⵉ ⴰⵍⵎⴰⵏⵉ ⵢⵓⵀⴰⵏ ⴳⴰⵍⵉ ⴳ ⵓⵙⴰⴹⴰⴼ ⵏ ⴱⵉⵔⵍⵉⵏ. ⴳ ⵢⵉⴹ ⴰⵏⵏ ⵏⵉⵜ, ⵉⵥⵕⴰ ⴳⴰⵍⵉ ⴷ ⵓⵎⴰⵡⴰⵙ ⵏⵏⵙ ⵀⴰⵢⵏⵔⵉ ⴷⴰⵔⵉⵙⵜ ⴰⵎⵜⵉⵡⴳ ⴰⵎⴰⵢⵏⵓ ⴳ ⵜⴰⵎⴰ ⵏ ⵓⴷⵖⴰⵔ ⵍⵍⵉ ⵉⴹⴽⴹ ⵍⵓ ⴼⵉⵔⵢⵉ, ⵢⴰⴳⴳⵓⴳ ⵖⴰⵙ ⵙ ⵢⴰⵜ ⵜⵙⴽⵯⴼⵍⵜ. {{ⵜⵓⵣⴷⵉⵔⵜ |[[ⵡⵉⴽⵉⴱⵉⴷⵢⴰ:ⴰⵎⵏⵏⵉ ⵓⴼⵔⵉⵏ/26|ⵙⵙⵏⴼⵍ]] '''.''' [[ⵏⵉⴱⵜⵓⵏ|ⵖⵔ ⵓⴳⴳⴰⵔ]] }} q4paxkhski29miqqxplvt92x6oz3188 ⵊⵓⵔⵊ ⴼⵉⵍⵀⵉⵍⵎ ⴼⵔⵉⴷⵔⵉⵛ ⵀⵉⴳⵍ 0 42316 177039 174810 2026-06-26T00:30:21Z ⵊⴰⵎⴰⵍ ⵓⴱⵓⵣⵉⴷ 32142 177039 wikitext text/x-wiki {{ⴰⵎⵏⵏⵉ ⵓⵙⵎⵉⴷ}} {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵓⴳⴳⵉⴷ}} '''ⵊⵓⵔⵊ ⴼⵉⵍⵀⵉⵍⵎ ⴼⵔⵉⴷⵔⵉⵛ ⵀⵉⴳⵍ''' (ⵙ [[ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⵍⵉⵎⴰⵏⵜ|ⵜⵍⵉⵎⴰⵏⵜ]]: Georg Wilhelm Friedrich Hegel) (ⵉⵍⵓⵍ ⴳ 27 ⵖⵓⵛⵜ 1770 — 14 ⵏⵓⵡⴰⵏⴱⵉⵔ 1831) ⵉⴳⴰ ⵢⴰⵏ ⵓⴼⵍⵙⴰⴼ [[ⴰⵍⵉⵎⴰⵏ|ⴰⵡⵍⵉⵎⴰⵏ]], ⵉⵍⵓⵍ ⴳ [[ⵛⵜⵓⵜⴳⴰⵔⵜ]] ⴳ ⵜⵙⴳⴰ ⵜⴰⵏⵥⵓⵍⵜ ⵜⵓⵜⵔⵉⵎⵜ ⵏ ⵓⵍⵉⵎⴰⵏ. ⵉⵜⵜⵓⵙⵉⵜⴳ ⵀⵉⴳⵍ ⴰⵎ ⵢⴰⵏ ⵙⴳ ⵉⴼⵍⵙⴰⴼⵏ ⵉⵍⵉⵎⴰⵏⵏ ⴰⴽⴽⵯ ⵉⵅⴰⵜⴰⵔⵏ, ⵍⵍⵉⴳ ⵉⴳⴰ ⴰⵎⵙⵙⵔⵙⵍ ⴰⵅⴰⵜⴰⵔ ⵏ "[[ⵜⴰⴼⵉⵍⴰⵡⵜ ⵜⴰⵍⵉⵎⴰⵏⵜ]]" (German Idealism) ⴳ ⵜⴼⵍⵙⴰⴼⵜ ⴳ ⵜⴳⵉⵔⴰ ⵏ ⵜⵊⵕⵎⴰ ⵜⵉⵙ ⵜⴰⵎⵜ ⴷ ⵎⵔⴰⵡ ⵏ ⵜⵍⴰⵍⵉⵜ. ⵉⵙⴱⵓⵖⵍⴰ [[ⵜⴰⵔⵔⴰⵢⵜ ⵜⴰⵎⵙⵜⴰⵍⵉⵜ]] (Dialectical method) ⵏⵏⴰ ⵙ ⵉⵙⵙⵍⴽⵏ ⵎⴰⵙ ⴷ ⵜⴰⵣⵣⵉⴳⵣⵜ ⵏ ⵓⵎⵣⵔⵓⵢ ⴷ ⵜⵡⵏⴳⵉⵎⵉⵏ ⵜⴻⵜⵜⵉⵍⵉ ⵙ ⵢⵉⵍⵉ ⵏ ⵜⵓⵙⵔⵉⵙⵜ ⵉⵍⵎⵎⴰ ⴰⵏⵎⴳⴰⵍ ⵏⵏⵙ ⵉⵍⵎⵎⴰ ⴰⵙⵎⵙⴰⵙⴰ ⴳⵔ ⴰⵙⵏ. ⵉⴽⴽⴰ ⵜⵜ ⵉⵏⵏ ⵀⵉⴳⵍ ⵉⴳⴰ ⴰⵏⴳⴳⴰⵔⵓ ⵏ ⵉⵎⵥⴽⴰⵡⵏ ⵏ «ⵉⵙⵏⴼⴰⵔⵏ ⵉⴼⵍⵙⴰⴼⵏ ⵉⵎⵇⵔⴰⵏⵏ» ⴳ ⵓⵣⵎⵣ ⴰⵜⵔⴰⵔ.<ref>[[ⵊⵓⵔⵊ ⴼⵉⵍⵀⵉⵍⵎ ⴼⵔⵉⴷⵔⵉⵛ ⵀⵉⴳⵍ]], [[ⴰⵙⴰⵎⵓ ⴰⵡⴱⵔⵉⵟⴰⵏ]]. [https://web.archive.org/web/20170801182814/https://www.britannica.com/biography/Georg-Wilhelm-Friedrich-Hegel ⵜⵓⵏⵖⵉⵍⵜ ⵉⵜⵜⵓⴼⵔⴰⴳⵏ] ⴰⵙⵙ ⵏ 25 ⴽⵟⵓⴱⵕ 2017 ⴳ ⵡⴰⵏⵙⴰ ⵏ [[ⵡⴰⵢ ⴱⴰⴽ ⵎⴰⵛⵉⵏ|ⵡⴰⵢⴱⴰⴽ ⵎⴰⵛⵉⵏ]].</ref> ⵜⴽⴽⴰ ⵜⵜ ⵉⵏⵏ ⴷⴰⵔ ⵜⴼⵍⵙⴰⴼⵜ ⵏⵏⵙ ⵢⴰⵜ ⵜⵣⵔⵉⵔⵜ ⵉⴷⵔⴰⵏ ⵖⴼ ⵓⵎⴰⵜⴰ ⵏ ⵜⴼⵍⵙⴰⴼⵉⵏ ⵜⵉⵎⵉⵔⴰⵏⵉⵏ.<ref>[https://books.google.com.sa/books/about/La_raison_dans_l_Histoire.html?id=59RdmqkpgpMC&redir_esc=y ⵜⴰⴳⵔⵔⴰⵡⵜ ⴳ ⵓⵎⵣⵔⵓⵢ], ⵜⴰⵏⴽⴷⴰ ⵖⴼ ⵓⴷⵍⵉⵙ. [https://web.archive.org/web/20170730224059/https://books.google.com.sa/books/about/La_raison_dans_l_Histoire.html?id=59RdmqkpgpMC&redir_esc=y ⵜⵓⵏⵖⵉⵍⵜ ⵉⵜⵜⵓⵃⴹⴰⵏ] ⴳ 30 ⵢⵓⵍⵢⵓⵣ 2017 ⵖⴼ ⵓⵙⵉⵜ ⵏ [[ⵡⴰⵢⴱⴰⴽ ⵎⴰⵛⵉⵏ]].</ref> == ⵜⵓⴷⵔⵜ ⵏⵏⵙ ⴷ ⵓⵙⵙⵉⵍⵖ ⴰⵡⵏⴳⵉⵎ ⴳ ⵜⵓⴱⵉⵏⴳⵏ == ⵉⵍⵓⵍ ⵊⵓⵔⵊ ⴼⵉⵍⵀⵉⵍⵎ ⴼⵔⵉⴷⵔⵉⵛ ⵀⵉⴳⵍ ⴳ ⵓⵙⴳⴳⵯⴰⵙ 1770 ⴳ ⵜⵎⴷⵉⵏⵜ ⵏ ⵛⵜⵓⵜⴳⴰⵔⵜ ⴳ ⵓⵉⵍⵎⴰⵏ, ⴳ ⵢⴰⵜ ⵜⵡⵏⵏⴰⴹⵜ ⵜⴰⴱⵓⵔⵊⵡⴰⵣⵜ ⵜⵉⵎⵃⴹⵉⵜ, ⵍⵍⵉⴳ ⵜⵜ ⵉⵏⵏ ⵉⴽⴽⴰ ⴱⴰⴱⴰⵙ ⴷ ⴰⵎⵙⵜⴰⵏ ⵓⵏⴱⵉⴹ. ⵙⴳ ⵜⵎⵥⵉ ⵏⵏⵙ, ⵉⵙⵙⵓⵎⴰⵏ ⴷ ⵀⵉⴳⵍ ⵢⴰⵜ ⵜⴰⵢⵔⵉ ⵉ ⵜⵖⵔⵉ ⴷ ⵜⵓⵙⵙⵏⴰ, ⵢⵓⵎⵥ ⵢⴰⵏ ⵓⵙⴳⵎⵉ ⴰⴽⵍⴰⵙⵉⴽ ⵉⴷⵓⵙⵏ. ⵉⴽⴽⴰ ⵜⵜ ⵉⵏⵏ ⵓⵙⵔⵙ ⵍⵍⵉ ⵉⵅⴰⵜⵔⵏ ⴳ ⵓⵙⵙⵉⵍⵖ ⵏⵏⵙ ⴰⵡⵏⴳⵉⵎ ⴷ ⵓⵎⵏⵣⵓ ⴰⴽⵛⵛⵓⵎ ⵏⵏⵙ ⵙ ⵜⵖⵉⵡⴰⵏⵜ ⵏ [[ⵜⴰⵙⵏⴰⴽⵓⵛⵜ|ⵜⵙⵏⴰⴽⵓⵛⵜ]] ⵉⵜⵜⵡⴰⵙⵙⴰⵏⵏ ⴳ ⵜⵙⴷⴰⵡⵉⵜ ⵏ ⵜⵓⴱⵉⵏⴳⵏ ⴳ 1788. ⵖⵉⵏⵏ ⴰ ⴳ ⵉⴷⵔⴰ ⵜⴰⵃⴰⵏⵓⵜ<ref>[[ⴼⵔⵉⴷⵔⵉⴽ ⴱⴰⵢⵣⵔ]], ⴰⵎⵙⵏⴼⵍ (1993). ⴰⵎⴰⵏⴰⵔ ⵏ ⴽⴰⵎⴱⵔⵉⴷⵊ ⵉ ⵀⵉⴳⵍ. ⵜⵉⵥⵕⵉⴳⵉⵏ ⵏ ⵜⵙⴷⴰⵡⵉⵜ ⵏ ⴽⴰⵎⴱⵔⵉⴷⵊ.ⵜ. [https://books.google.co.ma/books?id=N1ohAwAAQBAJ&pg=PT419&dq=&redir_esc=y "Hegel""Tübinger+Stift.+1789–1790+shares+a+roomwith+Hölderlin+and+Schelling+and+forms+friendship+with+them" 419]. ([[ⵓⵟⵟⵓⵏ ⴰⴳⵔⴰⵖⵍⴰⵏ ⴰⵏⴰⵡⴰⵢ ⵏ ⵓⴷⵍⵉⵙ|ISBN]] [[1-13982495-3]]). ⵉⵜⵜⵓⵃⴹⴰ ⵙⴳ [https://books.google.co.ma/books?id=N1ohAwAAQBAJ&printsec=frontcover&redir_esc=y ⵓⵙⴰⵍⴰ] ⴳ 2020-04-12.</ref> ⴷ ⵓⵣⵔⴰⵡ ⴷ ⵢⴰⵏ ⵙⵉⵏ ⵓⴷⵎⴰⵡⵏ ⵍⵍⵉ ⵙⵓⵔ ⵉⴳⴰⵏ ⵉⵎⴰⵜⴰⵔⵏ ⵏ ⵜⴷⵍⵙⴰ ⵜⴰⵍⵉⵎⴰⵏⵜ: ⴰⵎⴷⵢⴰⵣ ⴼⵔⵉⴷⵔⵉⵛ ⵀⵓⵍⴷⵔⵍⵉⵏ, ⴷ ⵓⴼⵍⵙⴰⴼ ⴼⵔⵉⴷⵔⵉⴽ ⵛⵉⵍⵏⴳ. ⵙⴽⵔⵏ ⴽⵕⴰⴹ ⴰⴷ ⵢⴰⵜ ⵜⴷⴷⵓⴽⵍⴰ ⵜⴰⵡⵏⴳⵉⵎⵜ ⵏⵏⴰ ⵉⴷⵔⴰⵏ, ⴷ ⴷⵔⴰⵏ ⴰⵚⵚⴰⴱ ⵉ ⵜⴳⵔⴰⵡⵍⴰ ⵜⴰⴼⵕⴰⵏⵚⵉⵚⵜ ⴷ ⵓⴳⴰⵔⴰⵣ ⵏ ⵜⴷⵍⵙⴰ ⵜⴰⵡⴳⵔⵉⴽⵜ ⵜⴰⵣⴰⵢⴽⵓⵜ. ⵎⵇⵇⴰⵔ ⴷ ⵀⵉⴳⵍ ⴳ ⵜⵣⵡⵉⵔⵉ ⵓⵔ ⵜ ⴰⴷⵍⵍⵉ ⵢⵓⵡⵉ ⴱⴰⵀⵔⴰ ⴳ ⵜⴼⵍⵙⴰⴼⵜ ⵜⴰⵥⵕⴽⴰⵏⵟⵜ ⵙ ⵓⵙⵎⵣⴰⵣⴰⵍ ⴷ ⵉⵎⴷⴷⵓⴽⴽⴰⵍ ⵏⵏⵙ, ⵜⵥⵕⴰ ⵜⵉⵣⵉ ⴰⴷ ⵜⴰⵍⴰⵍⵉⵜ ⵏ ⵓⵎⴰⴳⴳⵓⵎ ⵏⵏⵙ ⴰⴼⵍⵙⴰⴼ, ⵉⵜⵜⵓⵣⵔⵔⴰ ⵙ ⵓⴷⵡⴰⵙ ⵙ ⵜⵡⵏⴳⵉⵎⵉⵏ ⵜⵉⵔⵓⵎⴰⵏⵙⵉⵢⵉⵏ ⴷ ⵜⵡⵓⵔⵉⵡⵉⵏ ⵏ ⵉⵎⵙⵡⵉⵏⴳⵉⵎⵏ ⴰⵎ ⵊⴰⵏ ⵊⴰⴽ ⵔⵓⵙⵓ. ⴽⴽⴰⵏ ⵜⵜ ⵉⵏⵏ ⵉⵙⴳⴳⵯⴰⵙⵏ ⵏ ⵜⵓⴱⵉⵏⴳⵏ ⵣⵓⵏ ⴷ ⴽⵔⴰ ⵏ ⵜⵎⵙⴷⵍⵜ ⵍⵍⵉ ⴳ ⵜⵜⵓⵙⴽⴰⵔⵏ ⵓⵎⵏⴰⵏ ⵉⵎⵣⵡⵓⵔⴰ ⵏ ⵓⵙⵏⴼⴰⵔ ⵏⵏⵙ ⴰⴼⵍⵙⴰⴼ ⴰⵥⵎⵍⴰⵍⴰⵢ. == ⵜⴰⵎⵓⵙⵜ ⵜⴰⴼⵍⵙⴰⴼⵜ: ⵜⴰⵔⵔⴰⵢⵜ/ⵜⴰⴱⵔⵉⴷⵜ ⵜⴰⵎⵙⵜⴰⵍⵉⵜ ⴷ ⵜⵡⵏⴳⵉⵎⵜ ⵜⴰⵎⴰⴳⴷⵣⵜ == ⵜⴱⴷⴷ ⵜⴼⵍⵙⴰⴼⵜ ⵏ ⵀⵉⴳⵍ ⵖⴼ ⵢⴰⵜ ⵜⵡⵏⴳⵉⵎⵜ ⵜⴰⴷⵙⵍⴰⵏⵜ, ⵜⴳⴰ ⵜⵜ ⵎⴰⵙ ⴷ ⵜⵉⵍⴰⵡⵜ ⴳ ⵜⵎⵓⵙⵜ ⵏⵏⵙ ⵜⴳⴰ ⵜⵎⴰⴳⵔⵔⴰⵡⵜ, ⴷ ⵎⴰⵙ ⴷ ⵜⴰⴳⵔⵔⴰⵡⵜ ⴷ ⵜⵉⴷⵜ ⵜⴰⵎⴰⴳⴷⵣⵜ. ⵉⵙⴱⵓⵖⵍⴰ ⵢⴰⵜ ⵜⴰⵔⵔⴰⵢⵜ ⵉⵥⵍⵉⵏ ⵉ ⵓⵔⵎⴰⵙ ⵏ ⵜⵏⴼⵍⵉⵜ (ⵜⴰⵣⵣⵉⴳⵣⵜ) ⵏ ⵜⵉⵍⴰⵡⵜ ⴰⴷ ⴷ ⵜⴳⵔⵔⴰⵡⵜ ⴰⴷ, ⴷ ⵍⵍⵉ ⵜⵜ ⵉⴳⴰⵏ ⴷ "ⵜⴰⵔⵔⴰⵢⵜ/ⴰⴱⵔⵉⴷⵜ ⵜⴰⵎⵙⵜⴰⵍⵉⵜ" (dialectique). ⴰⵔ ⵉⵥⵕⵕⴰ ⵀⵉⴳⵍ ⵎⴰⵙ ⴷ ⴽⵔⴰⵢⴳⴰⵜ ⵜⴰⵖⴰⵡⵙⴰ ⴳ ⵜⵉⵍⵍⵉⵜ, ⵙⵡⴰ ⵜⴳⴰ ⵜⴰⵡⵏⴳⵉⵎⵜ ⵏⵖ ⵜⵓⵎⴰⵏⵜ ⵜⴰⵎⵣⵔⵓⵢⴰⵏⵜ ⵏⵖ ⴰⵏⴳⵔⴰⵡ ⴰⵏⴰⵎⵓⵏ, ⴷⴰ ⵉⵜⵜⵙⵏⴼⵍⴰⵢ ⵙ ⵢⴰⵜ ⵜⵎⵀⵍⵜⵜ ⵜⴰⵎⴽⵕⴰⴹⵜ: ⴷⴰ ⵜⵙⵙⵏⵜⵉ ⵙ "ⵜⵓⵙⵔⵉⵙⵜ", ⵜⴳⴰ ⴰⵙⵔⵓⵙ ⵏⵖ ⵜⴰⵡⵏⴳⵉⵎⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ, ⵉⵍⵎⵎⴰ ⵜⵎⵏⴰⵍⴰ ⵜⵓⵙⵔⵉⵙⵜ ⴰⴷ ⴷ ⵓⵏⵎⴳⴰⵍ ⵏⵏⵙ ⵓⵙⵔⵉⴷ, ⵉⴳⴰ ⵜ "ⴰⵏⵎⴳⴰⵍ". ⴷ ⵙⴳ ⵜⴰⵎⴰⵖⵜ ⴷ ⵓⵎⵢⴰⴳⴳⴰ ⴳⵔ ⴰⵙⵏ, ⴷⴰ ⵜⴻⵜⵜⵏⴽⴰⵔ "ⵜⴰⵏⵖⵔⵓⴼⵜ" (Synthesis). ⵜⴰⵏⵖⵔⵓⴼⵜ ⴰⴷ ⵜⴰⵎⴰⵢⵏⵓⵜ ⵓⵔ ⵜⴳⵉ ⵖⴰⵙ ⵢⴰⵏ ⵓⴼⵙⵙⴰⵢ ⴰⵏⴰⵎⵎⴰⵙ, ⵎⴰⵛⴰ ⵜⴳⴰ ⵢⴰⵜ ⵜⴼⵔⴽⵜ ⵢⴰⵜⵜⵓⵢⵏ ⵉⵣⵔⵉⵏ ⵙⵉⵏ ⵍⵍⵉ ⵏⴱⴷⵔ, ⴷ ⴰⵔ ⵜⵃⵟⵟⵓ ⵙ ⵜⵎⵓⵙⵜ ⵏⵏⵙⵏⵜ ⵙ ⵢⴰⵜ ⵜⴽⴽⵍⵜ, ⵉⵍⵎⵎⴰ ⵜⴰⵖⵓⵍ ⴰⵡⴷ ⵏⵜⵜⴰⵜ ⴷ ⵜⵓⵙⵔⵉⵙⵜ ⵜⴰⵎⴰⵢⵏⵓⵜ ⴳ ⵜⵎⵀⵍⵜ ⵜⴰⵎⵙⵜⴰⵍⵉⵜ ⵉⵣⴷⵉⵏ. ⴰⵡⵜⵜⴰⵙ ⵏ ⵓⵎⵓⵙⵙⵓ ⴰⴷ ⴰⵎⵙⵜⴰⵍⵉ ⴰⵎⵖⵍⴰⵍ ⵉⴳⴰ ⵜ ⴰⵡⴰⴹ ⵖⵔ "ⵜⵡⵏⴳⵉⵎⵜ ⵜⴰⵎⴰⴳⴷⵣⵜ" ⵏⵖ "ⵉⵎⴰⵏ ⴰⵎⴰⴳⴷⵣ" (Absolute Spirit), ⵏⵏⴰ ⵉⴳⴰⵏ ⴰⴷⴷⴰⴷ ⵍⵍⵉ ⴳ ⴰⵔ ⵉⵜⵜⴰⵡⴹ ⵓⴼⵔⴰⴽ ⵖⵔ ⵓⵔⵎⴰⵙ ⵉⵏⵎⴷⵏ ⵉ ⵢⵉⵖⴼ ⵏⵏⵙ, ⴷ ⴰⵔ ⵜⴻⵜⵜⵓⵙⵉⴷⵜ ⵜⵢⵓⵏⵜ ⵜⴰⵖⵣⵓⵔⴰⵏⵜ ⴳⵔ ⵓⵡⵏⴳⵎ ⴷ [[ⵜⵉⵍⵍⵉⵜ (ⵜⴰⴼⵉⵔⴳⴰⵎⴰ)|ⵜⵉⵍⵍⵉⵜ]], ⴷ ⴳⵔ ⵜⵏⴽⴽⵉⵜ ⴷ ⵓⵙⴽⴽⵉⵏ. == ⴰⵣⴰⵣⵓ ⴰⴽⴰⴷⵉⵎⵉ ⴷ ⵜⵏⵡⵉⵜ ⵏ ⵓⵡⵏⴳⵎ ⴳ ⵢⵉⵏⴰ == ⴹⴰⵕⵜ ⵏ ⵎⴰⴷ ⵉⵙⵡⵓⵔⵉ ⴰⵎ ⵓⵙⵍⵎⴰⴷ ⵓⵙⵍⵉⴳ ⵉ ⴽⵔⴰ ⵏ ⵉⵙⴳⴳⵯⴰⵙⵏ, ⵉⵎⵎⵓⵜⵜⵉ ⵀⵉⴳⵍ ⵖⵔ [[ⵜⵙⴷⴰⵡⵉⵜ ⵏ ⵢⵉⵏⴰ]] (Jena) ⴳ ⵓⵙⴳⴳⵯⴰⵙ 1801, ⵙ ⵓⵙⴱⵖⵙ ⵏ ⵓⵎⴷⴷⴰⴽⴽⵯⵍ ⵏⵏⵙ [[ⴼⵔⵉⴷⵔⵉⵛ ⴼⵉⵍⵀⵉⵍⵎ ⵊⵓⵣⵉⴼ ⵛⵉⵍⵏⴳ|ⵛⵉⵍⵏⴳ]] ⵍⵍⵉ ⵉⴳⴰⵏ ⴰⵙⵍⵎⴰⴷ ⴳ ⵖⵉⵏⵏ. ⵜⴽⴽⴰ ⵜⵜ ⵉⵏⵏ ⵜⴼⵔⴽⵜ ⵏ ⵢⵉⵏⴰ ⵜⴳⴰ ⵜⴰⵎⵖⵜⴰⵙⵜ ⴳ ⵜⵏⵡⵉⵜ ⵏ ⵓⵡⵏⴳⵎ ⵏⵏⵙ, ⵍⵍⵉⴳ ⵉⵙⵙⵏⵜⵉ ⴳ ⵓⵙⵉⵍⵖ ⵏ ⵓⵏⴳⵔⴰⵡ ⵏⵏⵙ ⴰⴼⵍⵙⴰⴼ ⴰⵖⵣⵓⵔⴰⵏ ⵙ ⵜⵖⴰⵔⴰⵙⵜ ⵜⴰⵏⴱⵔⵉⴷⵜ. ⴳ ⵜⴼⵔⴽⵜ ⴰⴷ, ⵉⴼⵙⵔ ⴰⴷⵍⵉⵙ ⵏⵏⵙ ⴰⵎⵣⵡⴰⵔⵓ "ⴰⵎⵣⴰⵔⴰⵢ ⴳⵔ [[ⵢⵓⵀⴰⵏ ⴳⵓⵜⵍⵉⴱ ⴼⵉⵅⵜ|ⴼⵉⵅⵜ]] ⴷ [[ⴼⵔⵉⴷⵔⵉⵛ ⴼⵉⵍⵀⵉⵍⵎ ⵊⵓⵣⵉⴼ ⵛⵉⵍⵏⴳ|ⵛⵉⵍⵏⴳ]] ⴳ ⵓⵏⴳⵔⴰⵡ ⴰⴼⵍⵙⴰⴼ", ⴷ ⵉⴷⵔⴰ ⴰⴽⴷ ⵛⵉⵍⵏⴳ ⴳ ⵓⵙⵙⵓⴼⵖ ⵏ "ⵜⵙⵖⵓⵏⵜ ⵏ ⵓⵣⵖⴰⵏ ⴰⴼⵍⵙⴰⴼ". ⵎⴰⵛⴰ ⵜⴰⵡⵓⵔⵉ ⴰⴽⴽⵯ ⵉⵙⵜⴰⵡⵀⵎⵎⴰⵏ ⵏⵏⴰ ⵉⴼⴰⵔⵙ ⴳ ⵜⴼⵔⴽⵜ ⴰⴷ ⵉⴳⴰ ⵜⵜ ⵓⴷⵍⵉⵙ ⵏⵏⵙ ⴰⵙⵙⵔⵙⵍⴰⵏ "ⵜⴰⵙⵏⵓⵎⴰⵏⵜ ⵏ ⵢⵉⵎⴰⵏ" (Phenomenology of Spirit) ⵏⵏⴰ ⵉⵎⴷ ⴳ ⵓⵙⴳⴳⵯⴰⵙ 1806 ⴷⴷⴰⵡ ⵏ ⵉⵎⴳⴳⵉ ⵏ ⵜⴱⵓⵇⵓⵛⵉⵏ ⵏ ⵓⵙⵔⴷⴰⵙ ⵏ [[ⵏⴰⴱⵓⵍⵢⵓⵏ ⴱⵓⵏⴰⴱⴰⵕⵜ]] ⵍⵍⵉⴳ ⵉⴽⵛⵎ [[ⵜⴰⵎⴷⵉⵏⵜ ⵏ ⵢⵉⵏⴰ]]. ⴳ ⵜⵡⵓⵔⵉ ⴰⴷ ⵜⵓⴷⴷⵉⵙⵜ, ⴷⴰ ⵉⴹⴼⴼⵓⵕ ⵀⵉⴳⵍ ⵜⴰⵏⵢⵓⴷⴷⵓⵜ ⵏ ⵓⴼⵔⴰⴽ ⴰⵏⴼⴳⴰⵏ ⴳ ⵜⴼⵔⴽⵉⵡⵉⵏ ⵎⵣⴰⵔⴰⵢⵏⵉⵏ ⵏ ⵜⵏⴼⵍⵉⵜ, ⵙⴳ ⵓⵔⵎⴰⵙ ⴰⴼⵔⵢⴰⵏ ⴰⴼⵔⴰⵔ, ⵖⵔ ⵓⴼⵔⴰⴽ ⴰⵏⵉⵎⴰⵏ ⴷ ⵓⵎⵏⵣⴰⵖ ⵖⴼ ⵓⵙⵉⵜⴳ (ⵜⴰⵎⵙⵜⴰⵍⵉⵜ ⵏ ⵎⴰⵙⵙ ⴷ ⵓⴽⵍⵉ ⵍⵍⵉ ⵉⵜⵜⵢⵓⵙⵙⴰⵏⵏ), ⴰⵔ ⴰⵡⴰⴹ ⵖⵔ ⵜⴼⵔⴽⵉⵡⵉⵏ ⵏ ⵜⴳⵔⵔⴰⵡⵜ ⴷ ⵓⵙⴳⴷ ⴷ ⵜⵥⵓⵕⵉ, ⵖⵔ ⵜⴳⵉⵔⴰ ⵙ ⵜⵓⵙⵙⵏⴰ ⵜⴰⵎⴰⴳⴷⵣⵜ, ⵍⵍⵉⴳ ⵉⴼⵔⴽ ⵓⴼⵔⴰⴽ ⵎⴰⵙ ⴷ ⵏⵜⵜⴰ ⴰⴷ ⵉⴳⴰⵏ ⵜⵉⴷⵜ ⵜⴰⵎⴰⴳⴷⵣⵜ. == ⵥⵕ ⵓⴳⴳⴰⵔ == * [[ⵜⴰⵥⵕⵀⵉⴳⵍⵜ]] == ⵉⵙⴰⵖⵓⵍⵏ == {{ⵉⵙⴰⵖⵓⵍⵏ}} {{ⵉⵎⵔⵙⴰⵏ ⵏ ⵜⴼⵍⵙⴰⴼⵜ}} {{ⴰⴱⴰⴹ ⵓⵏⵜⵉⵎ}} 61r1r7r01ntj14svrz6yt3ghkg8dbl8 177040 177039 2026-06-26T00:33:16Z ⵊⴰⵎⴰⵍ ⵓⴱⵓⵣⵉⴷ 32142 177040 wikitext text/x-wiki {{ⴰⵎⵏⵏⵉ ⵓⵙⵎⵉⴷ}} {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵓⴳⴳⵉⴷ}} '''ⵊⵓⵔⵊ ⴼⵉⵍⵀⵉⵍⵎ ⴼⵔⵉⴷⵔⵉⵛ ⵀⵉⴳⵍ''' (ⵙ [[ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⵍⵉⵎⴰⵏⵜ|ⵜⵍⵉⵎⴰⵏⵜ]]: Georg Wilhelm Friedrich Hegel) (ⵉⵍⵓⵍ ⴳ 27 ⵖⵓⵛⵜ 1770 — 14 ⵏⵓⵡⴰⵏⴱⵉⵔ 1831) ⵉⴳⴰ ⵢⴰⵏ ⵓⴼⵍⵙⴰⴼ [[ⴰⵍⵉⵎⴰⵏ|ⴰⵡⵍⵉⵎⴰⵏ]], ⵉⵍⵓⵍ ⴳ [[ⵛⵜⵓⵜⴳⴰⵔⵜ]] ⴳ ⵜⵙⴳⴰ ⵜⴰⵏⵥⵓⵍⵜ ⵜⵓⵜⵔⵉⵎⵜ ⵏ ⵓⵍⵉⵎⴰⵏ. ⵉⵜⵜⵓⵙⵉⵜⴳ ⵀⵉⴳⵍ ⴰⵎ ⵢⴰⵏ ⵙⴳ ⵉⴼⵍⵙⴰⴼⵏ ⵉⵍⵉⵎⴰⵏⵏ ⴰⴽⴽⵯ ⵉⵅⴰⵜⴰⵔⵏ, ⵍⵍⵉⴳ ⵉⴳⴰ ⴰⵎⵙⵙⵔⵙⵍ ⴰⵅⴰⵜⴰⵔ ⵏ "[[ⵜⴰⴼⵉⵍⴰⵡⵜ ⵜⴰⵍⵉⵎⴰⵏⵜ]]" (German Idealism) ⴳ ⵜⴼⵍⵙⴰⴼⵜ ⴳ ⵜⴳⵉⵔⴰ ⵏ ⵜⵊⵕⵎⴰ ⵜⵉⵙ ⵜⴰⵎⵜ ⴷ ⵎⵔⴰⵡ ⵏ ⵜⵍⴰⵍⵉⵜ. ⵉⵙⴱⵓⵖⵍⴰ [[ⵜⴰⵔⵔⴰⵢⵜ ⵜⴰⵎⵙⵜⴰⵍⵉⵜ]] (Dialectical method) ⵏⵏⴰ ⵙ ⵉⵙⵙⵍⴽⵏ ⵎⴰⵙ ⴷ ⵜⴰⵣⵣⵉⴳⵣⵜ ⵏ ⵓⵎⵣⵔⵓⵢ ⴷ ⵜⵡⵏⴳⵉⵎⵉⵏ ⵜⴻⵜⵜⵉⵍⵉ ⵙ ⵢⵉⵍⵉ ⵏ ⵜⵓⵙⵔⵉⵙⵜ ⵉⵍⵎⵎⴰ ⴰⵏⵎⴳⴰⵍ ⵏⵏⵙ ⵉⵍⵎⵎⴰ ⴰⵙⵎⵙⴰⵙⴰ ⴳⵔ ⴰⵙⵏ. ⵉⴽⴽⴰ ⵜⵜ ⵉⵏⵏ ⵀⵉⴳⵍ ⵉⴳⴰ ⴰⵏⴳⴳⴰⵔⵓ ⵏ ⵉⵎⵥⴽⴰⵡⵏ ⵏ «ⵉⵙⵏⴼⴰⵔⵏ ⵉⴼⵍⵙⴰⴼⵏ ⵉⵎⵇⵔⴰⵏⵏ» ⴳ ⵓⵣⵎⵣ ⴰⵜⵔⴰⵔ.<ref>[[ⵊⵓⵔⵊ ⴼⵉⵍⵀⵉⵍⵎ ⴼⵔⵉⴷⵔⵉⵛ ⵀⵉⴳⵍ]], [[ⴰⵙⴰⵎⵓ ⴰⵡⴱⵔⵉⵟⴰⵏ]]. [https://web.archive.org/web/20170801182814/https://www.britannica.com/biography/Georg-Wilhelm-Friedrich-Hegel ⵜⵓⵏⵖⵉⵍⵜ ⵉⵜⵜⵓⴼⵔⴰⴳⵏ] ⴰⵙⵙ ⵏ 25 ⴽⵟⵓⴱⵕ 2017 ⴳ ⵡⴰⵏⵙⴰ ⵏ [[ⵡⴰⵢ ⴱⴰⴽ ⵎⴰⵛⵉⵏ|ⵡⴰⵢⴱⴰⴽ ⵎⴰⵛⵉⵏ]].</ref> ⵜⴽⴽⴰ ⵜⵜ ⵉⵏⵏ ⴷⴰⵔ ⵜⴼⵍⵙⴰⴼⵜ ⵏⵏⵙ ⵢⴰⵜ ⵜⵣⵔⵉⵔⵜ ⵉⴷⵔⴰⵏ ⵖⴼ ⵓⵎⴰⵜⴰ ⵏ ⵜⴼⵍⵙⴰⴼⵉⵏ ⵜⵉⵎⵉⵔⴰⵏⵉⵏ.<ref>[https://books.google.com.sa/books/about/La_raison_dans_l_Histoire.html?id=59RdmqkpgpMC&redir_esc=y ⵜⴰⴳⵔⵔⴰⵡⵜ ⴳ ⵓⵎⵣⵔⵓⵢ], ⵜⴰⵏⴽⴷⴰ ⵖⴼ ⵓⴷⵍⵉⵙ. [https://web.archive.org/web/20170730224059/https://books.google.com.sa/books/about/La_raison_dans_l_Histoire.html?id=59RdmqkpgpMC&redir_esc=y ⵜⵓⵏⵖⵉⵍⵜ ⵉⵜⵜⵓⵃⴹⴰⵏ] ⴳ 30 ⵢⵓⵍⵢⵓⵣ 2017 ⵖⴼ ⵓⵙⵉⵜ ⵏ [[ⵡⴰⵢⴱⴰⴽ ⵎⴰⵛⵉⵏ]].</ref> == ⵜⵓⴷⵔⵜ ⵏⵏⵙ ⴷ ⵓⵙⵙⵉⵍⵖ ⴰⵡⵏⴳⵉⵎ ⴳ ⵜⵓⴱⵉⵏⴳⵏ == ⵉⵍⵓⵍ ⵊⵓⵔⵊ ⴼⵉⵍⵀⵉⵍⵎ ⴼⵔⵉⴷⵔⵉⵛ ⵀⵉⴳⵍ ⴳ ⵓⵙⴳⴳⵯⴰⵙ 1770 ⴳ ⵜⵎⴷⵉⵏⵜ ⵏ ⵛⵜⵓⵜⴳⴰⵔⵜ ⴳ ⵓⵉⵍⵎⴰⵏ, ⴳ ⵢⴰⵜ ⵜⵡⵏⵏⴰⴹⵜ ⵜⴰⴱⵓⵔⵊⵡⴰⵣⵜ ⵜⵉⵎⵃⴹⵉⵜ, ⵍⵍⵉⴳ ⵜⵜ ⵉⵏⵏ ⵉⴽⴽⴰ ⴱⴰⴱⴰⵙ ⴷ ⴰⵎⵙⵜⴰⵏ ⵓⵏⴱⵉⴹ. ⵙⴳ ⵜⵎⵥⵉ ⵏⵏⵙ, ⵉⵙⵙⵓⵎⴰⵏ ⴷ ⵀⵉⴳⵍ ⵢⴰⵜ ⵜⴰⵢⵔⵉ ⵉ ⵜⵖⵔⵉ ⴷ ⵜⵓⵙⵙⵏⴰ, ⵢⵓⵎⵥ ⵢⴰⵏ ⵓⵙⴳⵎⵉ ⴰⴽⵍⴰⵙⵉⴽ ⵉⴷⵓⵙⵏ. ⵉⴽⴽⴰ ⵜⵜ ⵉⵏⵏ ⵓⵙⵔⵙ ⵍⵍⵉ ⵉⵅⴰⵜⵔⵏ ⴳ ⵓⵙⵙⵉⵍⵖ ⵏⵏⵙ ⴰⵡⵏⴳⵉⵎ ⴷ ⵓⵎⵏⵣⵓ ⴰⴽⵛⵛⵓⵎ ⵏⵏⵙ ⵙ ⵜⵖⵉⵡⴰⵏⵜ ⵏ [[ⵜⴰⵙⵏⴰⴽⵓⵛⵜ|ⵜⵙⵏⴰⴽⵓⵛⵜ]] ⵉⵜⵜⵡⴰⵙⵙⴰⵏⵏ ⴳ ⵜⵙⴷⴰⵡⵉⵜ ⵏ ⵜⵓⴱⵉⵏⴳⵏ ⴳ 1788. ⵖⵉⵏⵏ ⴰ ⴳ ⵉⴷⵔⴰ ⵜⴰⵃⴰⵏⵓⵜ<ref>[[ⴼⵔⵉⴷⵔⵉⴽ ⴱⴰⵢⵣⵔ]], ⴰⵎⵙⵏⴼⵍ (1993). ⴰⵎⴰⵏⴰⵔ ⵏ ⴽⴰⵎⴱⵔⵉⴷⵊ ⵉ ⵀⵉⴳⵍ. ⵜⵉⵥⵕⵉⴳⵉⵏ ⵏ ⵜⵙⴷⴰⵡⵉⵜ ⵏ ⴽⴰⵎⴱⵔⵉⴷⵊ.ⵜ. [https://books.google.co.ma/books?id=N1ohAwAAQBAJ&pg=PT419&dq=&redir_esc=y "Hegel""Tübinger+Stift.+1789–1790+shares+a+roomwith+Hölderlin+and+Schelling+and+forms+friendship+with+them" 419]. ([[ⵓⵟⵟⵓⵏ ⴰⴳⵔⴰⵖⵍⴰⵏ ⴰⵏⴰⵡⴰⵢ ⵏ ⵓⴷⵍⵉⵙ|ISBN]] [[1-13982495-3]]). ⵉⵜⵜⵓⵃⴹⴰ ⵙⴳ [https://books.google.co.ma/books?id=N1ohAwAAQBAJ&printsec=frontcover&redir_esc=y ⵓⵙⴰⵍⴰ] ⴳ 2020-04-12.</ref> ⴷ ⵓⵣⵔⴰⵡ ⴷ ⵢⴰⵏ ⵙⵉⵏ ⵓⴷⵎⴰⵡⵏ ⵍⵍⵉ ⵙⵓⵔ ⵉⴳⴰⵏ ⵉⵎⴰⵜⴰⵔⵏ ⵏ ⵜⴷⵍⵙⴰ ⵜⴰⵍⵉⵎⴰⵏⵜ: ⴰⵎⴷⵢⴰⵣ ⴼⵔⵉⴷⵔⵉⵛ ⵀⵓⵍⴷⵔⵍⵉⵏ, ⴷ ⵓⴼⵍⵙⴰⴼ ⴼⵔⵉⴷⵔⵉⴽ ⵛⵉⵍⵏⴳ. ⵙⴽⵔⵏ ⴽⵕⴰⴹ ⴰⴷ ⵢⴰⵜ ⵜⴷⴷⵓⴽⵍⴰ ⵜⴰⵡⵏⴳⵉⵎⵜ ⵏⵏⴰ ⵉⴷⵔⴰⵏ, ⴷ ⴷⵔⴰⵏ ⴰⵚⵚⴰⴱ ⵉ ⵜⴳⵔⴰⵡⵍⴰ ⵜⴰⴼⵕⴰⵏⵚⵉⵚⵜ ⴷ ⵓⴳⴰⵔⴰⵣ ⵏ ⵜⴷⵍⵙⴰ ⵜⴰⵡⴳⵔⵉⴽⵜ ⵜⴰⵣⴰⵢⴽⵓⵜ. ⵎⵇⵇⴰⵔ ⴷ ⵀⵉⴳⵍ ⴳ ⵜⵣⵡⵉⵔⵉ ⵓⵔ ⵜ ⴰⴷⵍⵍⵉ ⵢⵓⵡⵉ ⴱⴰⵀⵔⴰ ⴳ ⵜⴼⵍⵙⴰⴼⵜ ⵜⴰⵥⵕⴽⴰⵏⵟⵜ ⵙ ⵓⵙⵎⵣⴰⵣⴰⵍ ⴷ ⵉⵎⴷⴷⵓⴽⴽⴰⵍ ⵏⵏⵙ, ⵜⵥⵕⴰ ⵜⵉⵣⵉ ⴰⴷ ⵜⴰⵍⴰⵍⵉⵜ ⵏ ⵓⵎⴰⴳⴳⵓⵎ ⵏⵏⵙ ⴰⴼⵍⵙⴰⴼ, ⵉⵜⵜⵓⵣⵔⵔⴰ ⵙ ⵓⴷⵡⴰⵙ ⵙ ⵜⵡⵏⴳⵉⵎⵉⵏ ⵜⵉⵔⵓⵎⴰⵏⵙⵉⵢⵉⵏ ⴷ ⵜⵡⵓⵔⵉⵡⵉⵏ ⵏ ⵉⵎⵙⵡⵉⵏⴳⵉⵎⵏ ⴰⵎ ⵊⵓⵏ ⵊⴰⴽ ⵔⵓⵙⵓ. ⴽⴽⴰⵏ ⵜⵜ ⵉⵏⵏ ⵉⵙⴳⴳⵯⴰⵙⵏ ⵏ ⵜⵓⴱⵉⵏⴳⵏ ⵣⵓⵏ ⴷ ⴽⵔⴰ ⵏ ⵜⵎⵙⴷⵍⵜ ⵍⵍⵉ ⴳ ⵜⵜⵓⵙⴽⴰⵔⵏ ⵓⵎⵏⴰⵏ ⵉⵎⵣⵡⵓⵔⴰ ⵏ ⵓⵙⵏⴼⴰⵔ ⵏⵏⵙ ⴰⴼⵍⵙⴰⴼ ⴰⵥⵎⵍⴰⵍⴰⵢ. == ⵜⴰⵎⵓⵙⵜ ⵜⴰⴼⵍⵙⴰⴼⵜ: ⵜⴰⵔⵔⴰⵢⵜ/ⵜⴰⴱⵔⵉⴷⵜ ⵜⴰⵎⵙⵜⴰⵍⵉⵜ ⴷ ⵜⵡⵏⴳⵉⵎⵜ ⵜⴰⵎⴰⴳⴷⵣⵜ == ⵜⴱⴷⴷ ⵜⴼⵍⵙⴰⴼⵜ ⵏ ⵀⵉⴳⵍ ⵖⴼ ⵢⴰⵜ ⵜⵡⵏⴳⵉⵎⵜ ⵜⴰⴷⵙⵍⴰⵏⵜ, ⵜⴳⴰ ⵜⵜ ⵎⴰⵙ ⴷ ⵜⵉⵍⴰⵡⵜ ⴳ ⵜⵎⵓⵙⵜ ⵏⵏⵙ ⵜⴳⴰ ⵜⵎⴰⴳⵔⵔⴰⵡⵜ, ⴷ ⵎⴰⵙ ⴷ ⵜⴰⴳⵔⵔⴰⵡⵜ ⴷ ⵜⵉⴷⵜ ⵜⴰⵎⴰⴳⴷⵣⵜ. ⵉⵙⴱⵓⵖⵍⴰ ⵢⴰⵜ ⵜⴰⵔⵔⴰⵢⵜ ⵉⵥⵍⵉⵏ ⵉ ⵓⵔⵎⴰⵙ ⵏ ⵜⵏⴼⵍⵉⵜ (ⵜⴰⵣⵣⵉⴳⵣⵜ) ⵏ ⵜⵉⵍⴰⵡⵜ ⴰⴷ ⴷ ⵜⴳⵔⵔⴰⵡⵜ ⴰⴷ, ⴷ ⵍⵍⵉ ⵜⵜ ⵉⴳⴰⵏ ⴷ "ⵜⴰⵔⵔⴰⵢⵜ/ⴰⴱⵔⵉⴷⵜ ⵜⴰⵎⵙⵜⴰⵍⵉⵜ" (dialectique). ⴰⵔ ⵉⵥⵕⵕⴰ ⵀⵉⴳⵍ ⵎⴰⵙ ⴷ ⴽⵔⴰⵢⴳⴰⵜ ⵜⴰⵖⴰⵡⵙⴰ ⴳ ⵜⵉⵍⵍⵉⵜ, ⵙⵡⴰ ⵜⴳⴰ ⵜⴰⵡⵏⴳⵉⵎⵜ ⵏⵖ ⵜⵓⵎⴰⵏⵜ ⵜⴰⵎⵣⵔⵓⵢⴰⵏⵜ ⵏⵖ ⴰⵏⴳⵔⴰⵡ ⴰⵏⴰⵎⵓⵏ, ⴷⴰ ⵉⵜⵜⵙⵏⴼⵍⴰⵢ ⵙ ⵢⴰⵜ ⵜⵎⵀⵍⵜⵜ ⵜⴰⵎⴽⵕⴰⴹⵜ: ⴷⴰ ⵜⵙⵙⵏⵜⵉ ⵙ "ⵜⵓⵙⵔⵉⵙⵜ", ⵜⴳⴰ ⴰⵙⵔⵓⵙ ⵏⵖ ⵜⴰⵡⵏⴳⵉⵎⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ, ⵉⵍⵎⵎⴰ ⵜⵎⵏⴰⵍⴰ ⵜⵓⵙⵔⵉⵙⵜ ⴰⴷ ⴷ ⵓⵏⵎⴳⴰⵍ ⵏⵏⵙ ⵓⵙⵔⵉⴷ, ⵉⴳⴰ ⵜ "ⴰⵏⵎⴳⴰⵍ". ⴷ ⵙⴳ ⵜⴰⵎⴰⵖⵜ ⴷ ⵓⵎⵢⴰⴳⴳⴰ ⴳⵔ ⴰⵙⵏ, ⴷⴰ ⵜⴻⵜⵜⵏⴽⴰⵔ "ⵜⴰⵏⵖⵔⵓⴼⵜ" (Synthesis). ⵜⴰⵏⵖⵔⵓⴼⵜ ⴰⴷ ⵜⴰⵎⴰⵢⵏⵓⵜ ⵓⵔ ⵜⴳⵉ ⵖⴰⵙ ⵢⴰⵏ ⵓⴼⵙⵙⴰⵢ ⴰⵏⴰⵎⵎⴰⵙ, ⵎⴰⵛⴰ ⵜⴳⴰ ⵢⴰⵜ ⵜⴼⵔⴽⵜ ⵢⴰⵜⵜⵓⵢⵏ ⵉⵣⵔⵉⵏ ⵙⵉⵏ ⵍⵍⵉ ⵏⴱⴷⵔ, ⴷ ⴰⵔ ⵜⵃⵟⵟⵓ ⵙ ⵜⵎⵓⵙⵜ ⵏⵏⵙⵏⵜ ⵙ ⵢⴰⵜ ⵜⴽⴽⵍⵜ, ⵉⵍⵎⵎⴰ ⵜⴰⵖⵓⵍ ⴰⵡⴷ ⵏⵜⵜⴰⵜ ⴷ ⵜⵓⵙⵔⵉⵙⵜ ⵜⴰⵎⴰⵢⵏⵓⵜ ⴳ ⵜⵎⵀⵍⵜ ⵜⴰⵎⵙⵜⴰⵍⵉⵜ ⵉⵣⴷⵉⵏ. ⴰⵡⵜⵜⴰⵙ ⵏ ⵓⵎⵓⵙⵙⵓ ⴰⴷ ⴰⵎⵙⵜⴰⵍⵉ ⴰⵎⵖⵍⴰⵍ ⵉⴳⴰ ⵜ ⴰⵡⴰⴹ ⵖⵔ "ⵜⵡⵏⴳⵉⵎⵜ ⵜⴰⵎⴰⴳⴷⵣⵜ" ⵏⵖ "ⵉⵎⴰⵏ ⴰⵎⴰⴳⴷⵣ" (Absolute Spirit), ⵏⵏⴰ ⵉⴳⴰⵏ ⴰⴷⴷⴰⴷ ⵍⵍⵉ ⴳ ⴰⵔ ⵉⵜⵜⴰⵡⴹ ⵓⴼⵔⴰⴽ ⵖⵔ ⵓⵔⵎⴰⵙ ⵉⵏⵎⴷⵏ ⵉ ⵢⵉⵖⴼ ⵏⵏⵙ, ⴷ ⴰⵔ ⵜⴻⵜⵜⵓⵙⵉⴷⵜ ⵜⵢⵓⵏⵜ ⵜⴰⵖⵣⵓⵔⴰⵏⵜ ⴳⵔ ⵓⵡⵏⴳⵎ ⴷ [[ⵜⵉⵍⵍⵉⵜ (ⵜⴰⴼⵉⵔⴳⴰⵎⴰ)|ⵜⵉⵍⵍⵉⵜ]], ⴷ ⴳⵔ ⵜⵏⴽⴽⵉⵜ ⴷ ⵓⵙⴽⴽⵉⵏ. == ⴰⵣⴰⵣⵓ ⴰⴽⴰⴷⵉⵎⵉ ⴷ ⵜⵏⵡⵉⵜ ⵏ ⵓⵡⵏⴳⵎ ⴳ ⵢⵉⵏⴰ == ⴹⴰⵕⵜ ⵏ ⵎⴰⴷ ⵉⵙⵡⵓⵔⵉ ⴰⵎ ⵓⵙⵍⵎⴰⴷ ⵓⵙⵍⵉⴳ ⵉ ⴽⵔⴰ ⵏ ⵉⵙⴳⴳⵯⴰⵙⵏ, ⵉⵎⵎⵓⵜⵜⵉ ⵀⵉⴳⵍ ⵖⵔ [[ⵜⵙⴷⴰⵡⵉⵜ ⵏ ⵢⵉⵏⴰ]] (Jena) ⴳ ⵓⵙⴳⴳⵯⴰⵙ 1801, ⵙ ⵓⵙⴱⵖⵙ ⵏ ⵓⵎⴷⴷⴰⴽⴽⵯⵍ ⵏⵏⵙ [[ⴼⵔⵉⴷⵔⵉⵛ ⴼⵉⵍⵀⵉⵍⵎ ⵊⵓⵣⵉⴼ ⵛⵉⵍⵏⴳ|ⵛⵉⵍⵏⴳ]] ⵍⵍⵉ ⵉⴳⴰⵏ ⴰⵙⵍⵎⴰⴷ ⴳ ⵖⵉⵏⵏ. ⵜⴽⴽⴰ ⵜⵜ ⵉⵏⵏ ⵜⴼⵔⴽⵜ ⵏ ⵢⵉⵏⴰ ⵜⴳⴰ ⵜⴰⵎⵖⵜⴰⵙⵜ ⴳ ⵜⵏⵡⵉⵜ ⵏ ⵓⵡⵏⴳⵎ ⵏⵏⵙ, ⵍⵍⵉⴳ ⵉⵙⵙⵏⵜⵉ ⴳ ⵓⵙⵉⵍⵖ ⵏ ⵓⵏⴳⵔⴰⵡ ⵏⵏⵙ ⴰⴼⵍⵙⴰⴼ ⴰⵖⵣⵓⵔⴰⵏ ⵙ ⵜⵖⴰⵔⴰⵙⵜ ⵜⴰⵏⴱⵔⵉⴷⵜ. ⴳ ⵜⴼⵔⴽⵜ ⴰⴷ, ⵉⴼⵙⵔ ⴰⴷⵍⵉⵙ ⵏⵏⵙ ⴰⵎⵣⵡⴰⵔⵓ "ⴰⵎⵣⴰⵔⴰⵢ ⴳⵔ [[ⵢⵓⵀⴰⵏ ⴳⵓⵜⵍⵉⴱ ⴼⵉⵅⵜ|ⴼⵉⵅⵜ]] ⴷ [[ⴼⵔⵉⴷⵔⵉⵛ ⴼⵉⵍⵀⵉⵍⵎ ⵊⵓⵣⵉⴼ ⵛⵉⵍⵏⴳ|ⵛⵉⵍⵏⴳ]] ⴳ ⵓⵏⴳⵔⴰⵡ ⴰⴼⵍⵙⴰⴼ", ⴷ ⵉⴷⵔⴰ ⴰⴽⴷ ⵛⵉⵍⵏⴳ ⴳ ⵓⵙⵙⵓⴼⵖ ⵏ "ⵜⵙⵖⵓⵏⵜ ⵏ ⵓⵣⵖⴰⵏ ⴰⴼⵍⵙⴰⴼ". ⵎⴰⵛⴰ ⵜⴰⵡⵓⵔⵉ ⴰⴽⴽⵯ ⵉⵙⵜⴰⵡⵀⵎⵎⴰⵏ ⵏⵏⴰ ⵉⴼⴰⵔⵙ ⴳ ⵜⴼⵔⴽⵜ ⴰⴷ ⵉⴳⴰ ⵜⵜ ⵓⴷⵍⵉⵙ ⵏⵏⵙ ⴰⵙⵙⵔⵙⵍⴰⵏ "ⵜⴰⵙⵏⵓⵎⴰⵏⵜ ⵏ ⵢⵉⵎⴰⵏ" (Phenomenology of Spirit) ⵏⵏⴰ ⵉⵎⴷ ⴳ ⵓⵙⴳⴳⵯⴰⵙ 1806 ⴷⴷⴰⵡ ⵏ ⵉⵎⴳⴳⵉ ⵏ ⵜⴱⵓⵇⵓⵛⵉⵏ ⵏ ⵓⵙⵔⴷⴰⵙ ⵏ [[ⵏⴰⴱⵓⵍⵢⵓⵏ ⴱⵓⵏⴰⴱⴰⵕⵜ]] ⵍⵍⵉⴳ ⵉⴽⵛⵎ [[ⵜⴰⵎⴷⵉⵏⵜ ⵏ ⵢⵉⵏⴰ]]. ⴳ ⵜⵡⵓⵔⵉ ⴰⴷ ⵜⵓⴷⴷⵉⵙⵜ, ⴷⴰ ⵉⴹⴼⴼⵓⵕ ⵀⵉⴳⵍ ⵜⴰⵏⵢⵓⴷⴷⵓⵜ ⵏ ⵓⴼⵔⴰⴽ ⴰⵏⴼⴳⴰⵏ ⴳ ⵜⴼⵔⴽⵉⵡⵉⵏ ⵎⵣⴰⵔⴰⵢⵏⵉⵏ ⵏ ⵜⵏⴼⵍⵉⵜ, ⵙⴳ ⵓⵔⵎⴰⵙ ⴰⴼⵔⵢⴰⵏ ⴰⴼⵔⴰⵔ, ⵖⵔ ⵓⴼⵔⴰⴽ ⴰⵏⵉⵎⴰⵏ ⴷ ⵓⵎⵏⵣⴰⵖ ⵖⴼ ⵓⵙⵉⵜⴳ (ⵜⴰⵎⵙⵜⴰⵍⵉⵜ ⵏ ⵎⴰⵙⵙ ⴷ ⵓⴽⵍⵉ ⵍⵍⵉ ⵉⵜⵜⵢⵓⵙⵙⴰⵏⵏ), ⴰⵔ ⴰⵡⴰⴹ ⵖⵔ ⵜⴼⵔⴽⵉⵡⵉⵏ ⵏ ⵜⴳⵔⵔⴰⵡⵜ ⴷ ⵓⵙⴳⴷ ⴷ ⵜⵥⵓⵕⵉ, ⵖⵔ ⵜⴳⵉⵔⴰ ⵙ ⵜⵓⵙⵙⵏⴰ ⵜⴰⵎⴰⴳⴷⵣⵜ, ⵍⵍⵉⴳ ⵉⴼⵔⴽ ⵓⴼⵔⴰⴽ ⵎⴰⵙ ⴷ ⵏⵜⵜⴰ ⴰⴷ ⵉⴳⴰⵏ ⵜⵉⴷⵜ ⵜⴰⵎⴰⴳⴷⵣⵜ. == ⵥⵕ ⵓⴳⴳⴰⵔ == * [[ⵜⴰⵥⵕⵀⵉⴳⵍⵜ]] == ⵉⵙⴰⵖⵓⵍⵏ == {{ⵉⵙⴰⵖⵓⵍⵏ}} {{ⵉⵎⵔⵙⴰⵏ ⵏ ⵜⴼⵍⵙⴰⴼⵜ}} {{ⴰⴱⴰⴹ ⵓⵏⵜⵉⵎ}} a11b9rrnd2umej0wjq19gi6bcl9p9ky 177041 177040 2026-06-26T00:38:39Z ⵊⴰⵎⴰⵍ ⵓⴱⵓⵣⵉⴷ 32142 177041 wikitext text/x-wiki {{ⴰⵎⵏⵏⵉ ⵓⵙⵎⵉⴷ}} {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵓⴳⴳⵉⴷ}} '''ⵊⵓⵔⵊ ⴼⵉⵍⵀⵉⵍⵎ ⴼⵔⵉⴷⵔⵉⵛ ⵀⵉⴳⵍ''' (ⵙ [[ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⵍⵉⵎⴰⵏⵜ|ⵜⵍⵉⵎⴰⵏⵜ]]: Georg Wilhelm Friedrich Hegel) (ⵉⵍⵓⵍ ⴳ 27 ⵖⵓⵛⵜ 1770 — 14 ⵏⵓⵡⴰⵏⴱⵉⵔ 1831) ⵉⴳⴰ ⵢⴰⵏ ⵓⴼⵍⵙⴰⴼ [[ⴰⵍⵉⵎⴰⵏ|ⴰⵡⵍⵉⵎⴰⵏ]], ⵉⵍⵓⵍ ⴳ [[ⵛⵜⵓⵜⴳⴰⵔⵜ]] ⴳ ⵜⵙⴳⴰ ⵜⴰⵏⵥⵓⵍⵜ ⵜⵓⵜⵔⵉⵎⵜ ⵏ ⵓⵍⵉⵎⴰⵏ. ⵉⵜⵜⵓⵙⵉⵜⴳ ⵀⵉⴳⵍ ⴰⵎ ⵢⴰⵏ ⵙⴳ ⵉⴼⵍⵙⴰⴼⵏ ⵉⵍⵉⵎⴰⵏⵏ ⴰⴽⴽⵯ ⵉⵅⴰⵜⴰⵔⵏ, ⵍⵍⵉⴳ ⵉⴳⴰ ⴰⵎⵙⵙⵔⵙⵍ ⴰⵅⴰⵜⴰⵔ ⵏ "[[ⵜⴰⴼⵉⵍⴰⵡⵜ ⵜⴰⵍⵉⵎⴰⵏⵜ]]" (German Idealism) ⴳ ⵜⴼⵍⵙⴰⴼⵜ ⴳ ⵜⴳⵉⵔⴰ ⵏ ⵜⵊⵕⵎⴰ ⵜⵉⵙ ⵜⴰⵎⵜ ⴷ ⵎⵔⴰⵡ ⵏ ⵜⵍⴰⵍⵉⵜ. ⵉⵙⴱⵓⵖⵍⴰ [[ⵜⴰⵔⵔⴰⵢⵜ ⵜⴰⵎⵙⵜⴰⵍⵉⵜ]] (Dialectical method) ⵏⵏⴰ ⵙ ⵉⵙⵙⵍⴽⵏ ⵎⴰⵙ ⴷ ⵜⴰⵣⵣⵉⴳⵣⵜ ⵏ ⵓⵎⵣⵔⵓⵢ ⴷ ⵜⵡⵏⴳⵉⵎⵉⵏ ⵜⴻⵜⵜⵉⵍⵉ ⵙ ⵢⵉⵍⵉ ⵏ ⵜⵓⵙⵔⵉⵙⵜ ⵉⵍⵎⵎⴰ ⴰⵏⵎⴳⴰⵍ ⵏⵏⵙ ⵉⵍⵎⵎⴰ ⴰⵙⵎⵙⴰⵙⴰ ⴳⵔ ⴰⵙⵏ. ⵉⴽⴽⴰ ⵜⵜ ⵉⵏⵏ ⵀⵉⴳⵍ ⵉⴳⴰ ⴰⵏⴳⴳⴰⵔⵓ ⵏ ⵉⵎⵥⴽⴰⵡⵏ ⵏ «ⵉⵙⵏⴼⴰⵔⵏ ⵉⴼⵍⵙⴰⴼⵏ ⵉⵎⵇⵔⴰⵏⵏ» ⴳ ⵓⵣⵎⵣ ⴰⵜⵔⴰⵔ.<ref>[[ⵊⵓⵔⵊ ⴼⵉⵍⵀⵉⵍⵎ ⴼⵔⵉⴷⵔⵉⵛ ⵀⵉⴳⵍ]], [[ⴰⵙⴰⵎⵓ ⴰⵡⴱⵔⵉⵟⴰⵏ]]. [https://web.archive.org/web/20170801182814/https://www.britannica.com/biography/Georg-Wilhelm-Friedrich-Hegel ⵜⵓⵏⵖⵉⵍⵜ ⵉⵜⵜⵓⴼⵔⴰⴳⵏ] ⴰⵙⵙ ⵏ 25 ⴽⵟⵓⴱⵕ 2017 ⴳ ⵡⴰⵏⵙⴰ ⵏ [[ⵡⴰⵢ ⴱⴰⴽ ⵎⴰⵛⵉⵏ|ⵡⴰⵢⴱⴰⴽ ⵎⴰⵛⵉⵏ]].</ref> ⵜⴽⴽⴰ ⵜⵜ ⵉⵏⵏ ⴷⴰⵔ ⵜⴼⵍⵙⴰⴼⵜ ⵏⵏⵙ ⵢⴰⵜ ⵜⵣⵔⵉⵔⵜ ⵉⴷⵔⴰⵏ ⵖⴼ ⵓⵎⴰⵜⴰ ⵏ ⵜⴼⵍⵙⴰⴼⵉⵏ ⵜⵉⵎⵉⵔⴰⵏⵉⵏ.<ref>[https://books.google.com.sa/books/about/La_raison_dans_l_Histoire.html?id=59RdmqkpgpMC&redir_esc=y ⵜⴰⴳⵔⵔⴰⵡⵜ ⴳ ⵓⵎⵣⵔⵓⵢ], ⵜⴰⵏⴽⴷⴰ ⵖⴼ ⵓⴷⵍⵉⵙ. [https://web.archive.org/web/20170730224059/https://books.google.com.sa/books/about/La_raison_dans_l_Histoire.html?id=59RdmqkpgpMC&redir_esc=y ⵜⵓⵏⵖⵉⵍⵜ ⵉⵜⵜⵓⵃⴹⴰⵏ] ⴳ 30 ⵢⵓⵍⵢⵓⵣ 2017 ⵖⴼ ⵓⵙⵉⵜ ⵏ [[ⵡⴰⵢⴱⴰⴽ ⵎⴰⵛⵉⵏ]].</ref> == ⵜⵓⴷⵔⵜ ⵏⵏⵙ ⴷ ⵓⵙⵙⵉⵍⵖ ⴰⵡⵏⴳⵉⵎ ⴳ ⵜⵓⴱⵉⵏⴳⵏ == ⵉⵍⵓⵍ ⵊⵓⵔⵊ ⴼⵉⵍⵀⵉⵍⵎ ⴼⵔⵉⴷⵔⵉⵛ ⵀⵉⴳⵍ ⴳ ⵓⵙⴳⴳⵯⴰⵙ 1770 ⴳ ⵜⵎⴷⵉⵏⵜ ⵏ ⵛⵜⵓⵜⴳⴰⵔⵜ ⴳ ⵓⵉⵍⵎⴰⵏ, ⴳ ⵢⴰⵜ ⵜⵡⵏⵏⴰⴹⵜ ⵜⴰⴱⵓⵔⵊⵡⴰⵣⵜ ⵜⵉⵎⵃⴹⵉⵜ, ⵍⵍⵉⴳ ⵜⵜ ⵉⵏⵏ ⵉⴽⴽⴰ ⴱⴰⴱⴰⵙ ⴷ ⴰⵎⵙⵜⴰⵏ ⵓⵏⴱⵉⴹ. ⵙⴳ ⵜⵎⵥⵉ ⵏⵏⵙ, ⵉⵙⵙⵓⵎⴰⵏ ⴷ ⵀⵉⴳⵍ ⵢⴰⵜ ⵜⴰⵢⵔⵉ ⵉ ⵜⵖⵔⵉ ⴷ ⵜⵓⵙⵙⵏⴰ, ⵢⵓⵎⵥ ⵢⴰⵏ ⵓⵙⴳⵎⵉ ⴰⴽⵍⴰⵙⵉⴽ ⵉⴷⵓⵙⵏ. ⵉⴽⴽⴰ ⵜⵜ ⵉⵏⵏ ⵓⵙⵔⵙ ⵍⵍⵉ ⵉⵅⴰⵜⵔⵏ ⴳ ⵓⵙⵙⵉⵍⵖ ⵏⵏⵙ ⴰⵡⵏⴳⵉⵎ ⴷ ⵓⵎⵏⵣⵓ ⴰⴽⵛⵛⵓⵎ ⵏⵏⵙ ⵙ ⵜⵖⵉⵡⴰⵏⵜ ⵏ [[ⵜⴰⵙⵏⴰⴽⵓⵛⵜ|ⵜⵙⵏⴰⴽⵓⵛⵜ]] ⵉⵜⵜⵡⴰⵙⵙⴰⵏⵏ ⴳ ⵜⵙⴷⴰⵡⵉⵜ ⵏ ⵜⵓⴱⵉⵏⴳⵏ ⴳ 1788. ⵖⵉⵏⵏ ⴰ ⴳ ⵉⴷⵔⴰ ⵜⴰⵃⴰⵏⵓⵜ<ref>[[ⴼⵔⵉⴷⵔⵉⴽ ⴱⴰⵢⵣⵔ]], ⴰⵎⵙⵏⴼⵍ (1993). ⴰⵎⴰⵏⴰⵔ ⵏ ⴽⴰⵎⴱⵔⵉⴷⵊ ⵉ ⵀⵉⴳⵍ. ⵜⵉⵥⵕⵉⴳⵉⵏ ⵏ ⵜⵙⴷⴰⵡⵉⵜ ⵏ ⴽⴰⵎⴱⵔⵉⴷⵊ.ⵜ. [https://books.google.co.ma/books?id=N1ohAwAAQBAJ&pg=PT419&dq=&redir_esc=y "Hegel""Tübinger+Stift.+1789–1790+shares+a+roomwith+Hölderlin+and+Schelling+and+forms+friendship+with+them" 419]. ([[ⵓⵟⵟⵓⵏ ⴰⴳⵔⴰⵖⵍⴰⵏ ⴰⵏⴰⵡⴰⵢ ⵏ ⵓⴷⵍⵉⵙ|ISBN]] [[1-13982495-3]]). ⵉⵜⵜⵓⵃⴹⴰ ⵙⴳ [https://books.google.co.ma/books?id=N1ohAwAAQBAJ&printsec=frontcover&redir_esc=y ⵓⵙⴰⵍⴰ] ⴳ 2020-04-12.</ref> ⴷ ⵓⵣⵔⴰⵡ ⴷ ⵢⴰⵏ ⵙⵉⵏ ⵓⴷⵎⴰⵡⵏ ⵍⵍⵉ ⵙⵓⵔ ⵉⴳⴰⵏ ⵉⵎⴰⵜⴰⵔⵏ ⵏ ⵜⴷⵍⵙⴰ ⵜⴰⵍⵉⵎⴰⵏⵜ: ⴰⵎⴷⵢⴰⵣ ⴼⵔⵉⴷⵔⵉⵛ ⵀⵓⵍⴷⵔⵍⵉⵏ, ⴷ ⵓⴼⵍⵙⴰⴼ ⴼⵔⵉⴷⵔⵉⴽ ⵛⵉⵍⵏⴳ. ⵙⴽⵔⵏ ⴽⵕⴰⴹ ⴰⴷ ⵢⴰⵜ ⵜⴷⴷⵓⴽⵍⴰ ⵜⴰⵡⵏⴳⵉⵎⵜ ⵏⵏⴰ ⵉⴷⵔⴰⵏ, ⴷ ⴷⵔⴰⵏ ⴰⵚⵚⴰⴱ ⵉ ⵜⴳⵔⴰⵡⵍⴰ ⵜⴰⴼⵕⴰⵏⵚⵉⵚⵜ ⴷ ⵓⴳⴰⵔⴰⵣ ⵏ ⵜⴷⵍⵙⴰ ⵜⴰⵡⴳⵔⵉⴽⵜ ⵜⴰⵣⴰⵢⴽⵓⵜ. ⵎⵇⵇⴰⵔ ⴷ ⵀⵉⴳⵍ ⴳ ⵜⵣⵡⵉⵔⵉ ⵓⵔ ⵜ ⴰⴷⵍⵍⵉ ⵢⵓⵡⵉ ⴱⴰⵀⵔⴰ ⴳ ⵜⴼⵍⵙⴰⴼⵜ ⵜⴰⵥⵕⴽⴰⵏⵟⵜ ⵙ ⵓⵙⵎⵣⴰⵣⴰⵍ ⴷ ⵉⵎⴷⴷⵓⴽⴽⴰⵍ ⵏⵏⵙ, ⵜⵥⵕⴰ ⵜⵉⵣⵉ ⴰⴷ ⵜⴰⵍⴰⵍⵉⵜ ⵏ ⵓⵎⴰⴳⴳⵓⵎ ⵏⵏⵙ ⴰⴼⵍⵙⴰⴼ, ⵉⵜⵜⵓⵣⵔⵔⴰ ⵙ ⵓⴷⵡⴰⵙ ⵙ ⵜⵡⵏⴳⵉⵎⵉⵏ ⵜⵉⵔⵓⵎⴰⵏⵙⵉⵢⵉⵏ ⴷ ⵜⵡⵓⵔⵉⵡⵉⵏ ⵏ ⵉⵎⵙⵡⵉⵏⴳⵉⵎⵏ ⴰⵎ ⵊⵓⵏ ⵊⴰⴽ ⵔⵓⵙⵓ. ⴽⴽⴰⵏ ⵜⵜ ⵉⵏⵏ ⵉⵙⴳⴳⵯⴰⵙⵏ ⵏ ⵜⵓⴱⵉⵏⴳⵏ ⵣⵓⵏ ⴷ ⴽⵔⴰ ⵏ ⵜⵎⵙⴷⵍⵜ ⵍⵍⵉ ⴳ ⵜⵜⵓⵙⴽⴰⵔⵏ ⵓⵎⵏⴰⵏ ⵉⵎⵣⵡⵓⵔⴰ ⵏ ⵓⵙⵏⴼⴰⵔ ⵏⵏⵙ ⴰⴼⵍⵙⴰⴼ ⴰⵥⵎⵍⴰⵍⴰⵢ. == ⵜⴰⵎⵓⵙⵜ ⵜⴰⴼⵍⵙⴰⴼⵜ: ⵜⴰⵔⵔⴰⵢⵜ/ⵜⴰⴱⵔⵉⴷⵜ ⵜⴰⵎⵙⵜⴰⵍⵉⵜ ⴷ ⵜⵡⵏⴳⵉⵎⵜ ⵜⴰⵎⴰⴳⴷⵣⵜ == ⵜⴱⴷⴷ ⵜⴼⵍⵙⴰⴼⵜ ⵏ ⵀⵉⴳⵍ ⵖⴼ ⵢⴰⵜ ⵜⵡⵏⴳⵉⵎⵜ ⵜⴰⴷⵙⵍⴰⵏⵜ, ⵜⴳⴰ ⵜⵜ ⵎⴰⵙ ⴷ ⵜⵉⵍⴰⵡⵜ ⴳ ⵜⵎⵓⵙⵜ ⵏⵏⵙ ⵜⴳⴰ ⵜⵎⴰⴳⵔⵔⴰⵡⵜ, ⴷ ⵎⴰⵙ ⴷ ⵜⴰⴳⵔⵔⴰⵡⵜ ⴷ ⵜⵉⴷⵜ ⵜⴰⵎⴰⴳⴷⵣⵜ. ⵉⵙⴱⵓⵖⵍⴰ ⵢⴰⵜ ⵜⴰⵔⵔⴰⵢⵜ ⵉⵥⵍⵉⵏ ⵉ ⵓⵔⵎⴰⵙ ⵏ ⵜⵏⴼⵍⵉⵜ (ⵜⴰⵣⵣⵉⴳⵣⵜ) ⵏ ⵜⵉⵍⴰⵡⵜ ⴰⴷ ⴷ ⵜⴳⵔⵔⴰⵡⵜ ⴰⴷ, ⴷ ⵍⵍⵉ ⵜⵜ ⵉⴳⴰⵏ ⴷ "ⵜⴰⵔⵔⴰⵢⵜ/ⴰⴱⵔⵉⴷⵜ ⵜⴰⵎⵙⵜⴰⵍⵉⵜ" (dialectique). ⴰⵔ ⵉⵥⵕⵕⴰ ⵀⵉⴳⵍ ⵎⴰⵙ ⴷ ⴽⵔⴰⵢⴳⴰⵜ ⵜⴰⵖⴰⵡⵙⴰ ⴳ ⵜⵉⵍⵍⵉⵜ, ⵙⵡⴰ ⵜⴳⴰ ⵜⴰⵡⵏⴳⵉⵎⵜ ⵏⵖ ⵜⵓⵎⴰⵏⵜ ⵜⴰⵎⵣⵔⵓⵢⴰⵏⵜ ⵏⵖ ⴰⵏⴳⵔⴰⵡ ⴰⵏⴰⵎⵓⵏ, ⴷⴰ ⵉⵜⵜⵙⵏⴼⵍⴰⵢ ⵙ ⵢⴰⵜ ⵜⵎⵀⵍⵜⵜ ⵜⴰⵎⴽⵕⴰⴹⵜ: ⴷⴰ ⵜⵙⵙⵏⵜⵉ ⵙ "ⵜⵓⵙⵔⵉⵙⵜ", ⵜⴳⴰ ⴰⵙⵔⵓⵙ ⵏⵖ ⵜⴰⵡⵏⴳⵉⵎⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ, ⵉⵍⵎⵎⴰ ⵜⵎⵏⴰⵍⴰ ⵜⵓⵙⵔⵉⵙⵜ ⴰⴷ ⴷ ⵓⵏⵎⴳⴰⵍ ⵏⵏⵙ ⵓⵙⵔⵉⴷ, ⵉⴳⴰ ⵜ "ⴰⵏⵎⴳⴰⵍ". ⴷ ⵙⴳ ⵜⴰⵎⴰⵖⵜ ⴷ ⵓⵎⵢⴰⴳⴳⴰ ⴳⵔ ⴰⵙⵏ, ⴷⴰ ⵜⴻⵜⵜⵏⴽⴰⵔ "ⵜⴰⵏⵖⵔⵓⴼⵜ" (Synthesis). ⵜⴰⵏⵖⵔⵓⴼⵜ ⴰⴷ ⵜⴰⵎⴰⵢⵏⵓⵜ ⵓⵔ ⵜⴳⵉ ⵖⴰⵙ ⵢⴰⵏ ⵓⴼⵙⵙⴰⵢ ⴰⵏⴰⵎⵎⴰⵙ, ⵎⴰⵛⴰ ⵜⴳⴰ ⵢⴰⵜ ⵜⴼⵔⴽⵜ ⵢⴰⵜⵜⵓⵢⵏ ⵉⵣⵔⵉⵏ ⵙⵉⵏ ⵍⵍⵉ ⵏⴱⴷⵔ, ⴷ ⴰⵔ ⵜⵃⵟⵟⵓ ⵙ ⵜⵎⵓⵙⵜ ⵏⵏⵙⵏⵜ ⵙ ⵢⴰⵜ ⵜⴽⴽⵍⵜ, ⵉⵍⵎⵎⴰ ⵜⴰⵖⵓⵍ ⴰⵡⴷ ⵏⵜⵜⴰⵜ ⴷ ⵜⵓⵙⵔⵉⵙⵜ ⵜⴰⵎⴰⵢⵏⵓⵜ ⴳ ⵜⵎⵀⵍⵜ ⵜⴰⵎⵙⵜⴰⵍⵉⵜ ⵉⵣⴷⵉⵏ. ⴰⵡⵜⵜⴰⵙ ⵏ ⵓⵎⵓⵙⵙⵓ ⴰⴷ ⴰⵎⵙⵜⴰⵍⵉ ⴰⵎⵖⵍⴰⵍ ⵉⴳⴰ ⵜ ⴰⵡⴰⴹ ⵖⵔ "ⵜⵡⵏⴳⵉⵎⵜ ⵜⴰⵎⴰⴳⴷⵣⵜ" ⵏⵖ "ⵉⵎⴰⵏ ⴰⵎⴰⴳⴷⵣ" (Absolute Spirit), ⵏⵏⴰ ⵉⴳⴰⵏ ⴰⴷⴷⴰⴷ ⵍⵍⵉ ⴳ ⴰⵔ ⵉⵜⵜⴰⵡⴹ ⵓⴼⵔⴰⴽ ⵖⵔ ⵓⵔⵎⴰⵙ ⵉⵏⵎⴷⵏ ⵉ ⵢⵉⵖⴼ ⵏⵏⵙ, ⴷ ⴰⵔ ⵜⴻⵜⵜⵓⵙⵉⴷⵜ ⵜⵢⵓⵏⵜ ⵜⴰⵖⵣⵓⵔⴰⵏⵜ ⴳⵔ ⵓⵡⵏⴳⵎ ⴷ [[ⵜⵉⵍⵍⵉⵜ (ⵜⴰⴼⵉⵔⴳⴰⵎⴰ)|ⵜⵉⵍⵍⵉⵜ]], ⴷ ⴳⵔ ⵜⵏⴽⴽⵉⵜ ⴷ ⵓⵙⴽⴽⵉⵏ. == ⴰⵣⴰⵣⵓ ⴰⴽⴰⴷⵉⵎⵉ ⴷ ⵜⵏⵡⵉⵜ ⵏ ⵓⵡⵏⴳⵎ ⴳ ⵢⵉⵏⴰ == ⴹⴰⵕⵜ ⵏ ⵎⴰⴷ ⵉⵙⵡⵓⵔⵉ ⴰⵎ ⵓⵙⵍⵎⴰⴷ ⵓⵙⵍⵉⴳ ⵉ ⴽⵔⴰ ⵏ ⵉⵙⴳⴳⵯⴰⵙⵏ, ⵉⵎⵎⵓⵜⵜⵉ ⵀⵉⴳⵍ ⵖⵔ [[ⵜⵙⴷⴰⵡⵉⵜ ⵏ ⵢⵉⵏⴰ]] (Jena) ⴳ ⵓⵙⴳⴳⵯⴰⵙ 1801, ⵙ ⵓⵙⴱⵖⵙ ⵏ ⵓⵎⴷⴷⴰⴽⴽⵯⵍ ⵏⵏⵙ [[ⴼⵔⵉⴷⵔⵉⵛ ⴼⵉⵍⵀⵉⵍⵎ ⵊⵓⵣⵉⴼ ⵛⵉⵍⵏⴳ|ⵛⵉⵍⵏⴳ]] ⵍⵍⵉ ⵉⴳⴰⵏ ⴰⵙⵍⵎⴰⴷ ⴳ ⵖⵉⵏⵏ. ⵜⴽⴽⴰ ⵜⵜ ⵉⵏⵏ ⵜⴼⵔⴽⵜ ⵏ ⵢⵉⵏⴰ ⵜⴳⴰ ⵜⴰⵎⵖⵜⴰⵙⵜ ⴳ ⵜⵏⵡⵉⵜ ⵏ ⵓⵡⵏⴳⵎ ⵏⵏⵙ, ⵍⵍⵉⴳ ⵉⵙⵙⵏⵜⵉ ⴳ ⵓⵙⵉⵍⵖ ⵏ ⵓⵏⴳⵔⴰⵡ ⵏⵏⵙ ⴰⴼⵍⵙⴰⴼ ⴰⵖⵣⵓⵔⴰⵏ ⵙ ⵜⵖⴰⵔⴰⵙⵜ ⵜⴰⵏⴱⵔⵉⴷⵜ. ⴳ ⵜⴼⵔⴽⵜ ⴰⴷ, ⵉⴼⵙⵔ ⴰⴷⵍⵉⵙ ⵏⵏⵙ ⴰⵎⵣⵡⴰⵔⵓ "ⴰⵎⵣⴰⵔⴰⵢ ⴳⵔ [[ⵢⵓⵀⴰⵏ ⴳⵓⵜⵍⵉⴱ ⴼⵉⵅⵜ|ⴼⵉⵅⵜ]] ⴷ [[ⴼⵔⵉⴷⵔⵉⵛ ⴼⵉⵍⵀⵉⵍⵎ ⵊⵓⵣⵉⴼ ⵛⵉⵍⵏⴳ|ⵛⵉⵍⵏⴳ]] ⴳ ⵓⵏⴳⵔⴰⵡ ⴰⴼⵍⵙⴰⴼ", ⴷ ⵉⴷⵔⴰ ⴰⴽⴷ ⵛⵉⵍⵏⴳ ⴳ ⵓⵙⵙⵓⴼⵖ ⵏ "ⵜⵙⵖⵓⵏⵜ ⵏ ⵓⵣⵖⴰⵏ ⴰⴼⵍⵙⴰⴼ". ⵎⴰⵛⴰ ⵜⴰⵡⵓⵔⵉ ⴰⴽⴽⵯ ⵉⵙⵜⴰⵡⵀⵎⵎⴰⵏ ⵏⵏⴰ ⵉⴼⴰⵔⵙ ⴳ ⵜⴼⵔⴽⵜ ⴰⴷ ⵉⴳⴰ ⵜⵜ ⵓⴷⵍⵉⵙ ⵏⵏⵙ ⴰⵙⵙⵔⵙⵍⴰⵏ "ⵜⴰⵙⵏⵓⵎⴰⵏⵜ ⵏ ⵢⵉⵎⴰⵏ" (Phenomenology of Spirit) ⵏⵏⴰ ⵉⵍⵎⴷ ⴳ ⵓⵙⴳⴳⵯⴰⵙ 1806 ⴷⴷⴰⵡ ⵏ ⵉⵎⴳⴳⵉ ⵏ ⵜⴱⵓⵇⵓⵛⵉⵏ ⵏ ⵓⵙⵔⴷⴰⵙ ⵏ [[ⵏⴰⴱⵓⵍⵢⵓⵏ ⴱⵓⵏⴰⴱⴰⵕⵜ]] ⵍⵍⵉⴳ ⵉⴽⵛⵎ [[ⵜⴰⵎⴷⵉⵏⵜ ⵏ ⵢⵉⵏⴰ]]. ⴳ ⵜⵡⵓⵔⵉ ⴰⴷ ⵜⵓⴷⴷⵉⵙⵜ, ⴷⴰ ⵉⴹⴼⴼⵓⵕ ⵀⵉⴳⵍ ⵜⴰⵏⵢⵓⴷⴷⵓⵜ ⵏ ⵓⴼⵔⴰⴽ ⴰⵏⴼⴳⴰⵏ ⴳ ⵜⴼⵔⴽⵉⵡⵉⵏ ⵎⵣⴰⵔⴰⵢⵏⵉⵏ ⵏ ⵜⵏⴼⵍⵉⵜ, ⵙⴳ ⵓⵔⵎⴰⵙ ⴰⴼⵔⵢⴰⵏ ⴰⴼⵔⴰⵔ, ⵖⵔ ⵓⴼⵔⴰⴽ ⴰⵏⵉⵎⴰⵏ ⴷ ⵓⵎⵏⵣⴰⵖ ⵖⴼ ⵓⵙⵉⵜⴳ (ⵜⴰⵎⵙⵜⴰⵍⵉⵜ ⵏ ⵎⴰⵙⵙ ⴷ ⵓⴽⵍⵉ ⵍⵍⵉ ⵉⵜⵜⵢⵓⵙⵙⴰⵏⵏ), ⴰⵔ ⴰⵡⴰⴹ ⵖⵔ ⵜⴼⵔⴽⵉⵡⵉⵏ ⵏ ⵜⴳⵔⵔⴰⵡⵜ ⴷ ⵓⵙⴳⴷ ⴷ ⵜⵥⵓⵕⵉ, ⵖⵔ ⵜⴳⵉⵔⴰ ⵙ ⵜⵓⵙⵙⵏⴰ ⵜⴰⵎⴰⴳⴷⵣⵜ, ⵍⵍⵉⴳ ⵉⴼⵔⴽ ⵓⴼⵔⴰⴽ ⵎⴰⵙ ⴷ ⵏⵜⵜⴰ ⴰⴷ ⵉⴳⴰⵏ ⵜⵉⴷⵜ ⵜⴰⵎⴰⴳⴷⵣⵜ. == ⵥⵕ ⵓⴳⴳⴰⵔ == * [[ⵜⴰⵥⵕⵀⵉⴳⵍⵜ]] == ⵉⵙⴰⵖⵓⵍⵏ == {{ⵉⵙⴰⵖⵓⵍⵏ}} {{ⵉⵎⵔⵙⴰⵏ ⵏ ⵜⴼⵍⵙⴰⴼⵜ}} {{ⴰⴱⴰⴹ ⵓⵏⵜⵉⵎ}} 92ou2j7w0wfg3s2z68yam9x2zdw02aq 177052 177041 2026-06-26T11:36:40Z ⴰⵏⴰⵙ ⵓⵍⵃⵍⵓ 10568 177052 wikitext text/x-wiki {{ⴰⵎⵏⵏⵉ ⵓⵙⵎⵉⴷ}} {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵓⴳⴳⵉⴷ}} '''ⵊⵓⵔⵊ ⴼⵉⵍⵀⵉⵍⵎ ⴼⵔⵉⴷⵔⵉⵛ ⵀⵉⴳⵍ''' (ⵙ [[ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⵍⵉⵎⴰⵏⵜ|ⵜⵍⵉⵎⴰⵏⵜ]]: Georg Wilhelm Friedrich Hegel) (ⵉⵍⵓⵍ ⴳ 27 ⵖⵓⵛⵜ 1770 — 14 ⵏⵓⵡⴰⵏⴱⵉⵔ 1831) ⵉⴳⴰ ⵢⴰⵏ ⵓⴼⵍⵙⴰⴼ [[ⴰⵍⵉⵎⴰⵏ|ⴰⵡⵍⵉⵎⴰⵏ]], ⵉⵍⵓⵍ ⴳ [[ⵛⵜⵓⵜⴳⴰⵔⵜ]] ⴳ ⵜⵙⴳⴰ ⵜⴰⵏⵥⵓⵍⵜ ⵜⵓⵜⵔⵉⵎⵜ ⵏ ⵓⵍⵉⵎⴰⵏ. ⵉⵜⵜⵓⵙⵉⵜⴳ ⵀⵉⴳⵍ ⴰⵎ ⵢⴰⵏ ⵙⴳ ⵉⴼⵍⵙⴰⴼⵏ ⵉⵍⵉⵎⴰⵏⵏ ⴰⴽⴽⵯ ⵉⵅⴰⵜⵔⵏ, ⵍⵍⵉⴳ ⵉⴳⴰ ⴰⵎⵙⵙⵔⵙⵍ ⴰⵅⴰⵜⴰⵔ ⵏ "[[ⵜⴰⴼⵉⵍⴰⵡⵜ ⵜⴰⵍⵉⵎⴰⵏⵜ]]" (German Idealism) ⴳ ⵜⴼⵍⵙⴰⴼⵜ ⴳ ⵜⴳⵉⵔⴰ ⵏ ⵜⵊⵕⵎⴰ ⵜⵉⵙ ⵜⴰⵎⵜ ⴷ ⵎⵔⴰⵡ ⵏ ⵜⵍⴰⵍⵉⵜ. ⵉⵙⴱⵓⵖⵍⴰ [[ⵜⴰⵔⵔⴰⵢⵜ ⵜⴰⵎⵙⵜⴰⵍⵉⵜ]] (Dialectical method) ⵏⵏⴰ ⵙ ⵉⵙⵙⵍⴽⵏ ⵎⴰⵙ ⴷ ⵜⴰⵣⵣⵉⴳⵣⵜ ⵏ ⵓⵎⵣⵔⵓⵢ ⴷ ⵜⵡⵏⴳⵉⵎⵉⵏ ⵜⴻⵜⵜⵉⵍⵉ ⵙ ⵢⵉⵍⵉ ⵏ ⵜⵓⵙⵔⵉⵙⵜ ⵉⵍⵎⵎⴰ ⴰⵏⵎⴳⴰⵍ ⵏⵏⵙ ⵉⵍⵎⵎⴰ ⴰⵙⵎⵙⴰⵙⴰ ⴳⵔ ⴰⵙⵏ. ⵉⴽⴽⴰ ⵜⵜ ⵉⵏⵏ ⵀⵉⴳⵍ ⵉⴳⴰ ⴰⵏⴳⴳⴰⵔⵓ ⵏ ⵉⵎⵥⴽⴰⵡⵏ ⵏ «ⵉⵙⵏⴼⴰⵔⵏ ⵉⴼⵍⵙⴰⴼⵏ ⵉⵎⵇⵔⴰⵏⵏ» ⴳ ⵓⵣⵎⵣ ⴰⵜⵔⴰⵔ.<ref>[[ⵊⵓⵔⵊ ⴼⵉⵍⵀⵉⵍⵎ ⴼⵔⵉⴷⵔⵉⵛ ⵀⵉⴳⵍ]], [[ⴰⵙⴰⵎⵓ ⴰⵡⴱⵔⵉⵟⴰⵏ]]. [https://web.archive.org/web/20170801182814/https://www.britannica.com/biography/Georg-Wilhelm-Friedrich-Hegel ⵜⵓⵏⵖⵉⵍⵜ ⵉⵜⵜⵓⴼⵔⴰⴳⵏ] ⴰⵙⵙ ⵏ 25 ⴽⵟⵓⴱⵕ 2017 ⴳ ⵡⴰⵏⵙⴰ ⵏ [[ⵡⴰⵢ ⴱⴰⴽ ⵎⴰⵛⵉⵏ|ⵡⴰⵢⴱⴰⴽ ⵎⴰⵛⵉⵏ]].</ref> ⵜⴽⴽⴰ ⵜⵜ ⵉⵏⵏ ⵖⵓⵔ ⵜⴼⵍⵙⴰⴼⵜ ⵏⵏⵙ ⵢⴰⵜ ⵜⵣⵔⵉⵔⵜ ⵉⴷⵔⴰⵏ ⵖⴼ ⵓⵎⴰⵜⴰ ⵏ ⵜⴼⵍⵙⴰⴼⵉⵏ ⵜⵉⵎⵉⵔⴰⵏⵉⵏ.<ref>[https://books.google.com.sa/books/about/La_raison_dans_l_Histoire.html?id=59RdmqkpgpMC&redir_esc=y ⵜⴰⴳⵔⵔⴰⵡⵜ ⴳ ⵓⵎⵣⵔⵓⵢ], ⵜⴰⵏⴽⴷⴰ ⵖⴼ ⵓⴷⵍⵉⵙ. [https://web.archive.org/web/20170730224059/https://books.google.com.sa/books/about/La_raison_dans_l_Histoire.html?id=59RdmqkpgpMC&redir_esc=y ⵜⵓⵏⵖⵉⵍⵜ ⵉⵜⵜⵓⵃⴹⴰⵏ] ⴳ 30 ⵢⵓⵍⵢⵓⵣ 2017 ⵖⴼ ⵓⵙⵉⵜ ⵏ [[ⵡⴰⵢⴱⴰⴽ ⵎⴰⵛⵉⵏ]].</ref> == ⵜⵓⴷⵔⵜ ⵏⵏⵙ ⴷ ⵓⵙⵙⵉⵍⵖ ⴰⵡⵏⴳⵉⵎ ⴳ ⵜⵓⴱⵉⵏⴳⵏ == ⵉⵍⵓⵍ ⵊⵓⵔⵊ ⴼⵉⵍⵀⵉⵍⵎ ⴼⵔⵉⴷⵔⵉⵛ ⵀⵉⴳⵍ ⴳ ⵓⵙⴳⴳⴰⵙ 1770 ⴳ ⵜⵎⴷⵉⵏⵜ ⵏ ⵛⵜⵓⵜⴳⴰⵔⵜ ⴳ ⵓⵉⵍⵎⴰⵏ, ⴳ ⵢⴰⵜ ⵜⵡⵏⵏⴰⴹⵜ ⵜⴰⴱⵓⵔⵊⵡⴰⵣⵜ ⵜⵉⵎⵃⴹⵉⵜ, ⵍⵍⵉⴳ ⵜⵜ ⵉⵏⵏ ⵉⴽⴽⴰ ⴱⴰⴱⴰⵙ ⴷ ⴰⵎⵙⵜⴰⵏ ⵓⵏⴱⵉⴹ. ⵙⴳ ⵜⵎⵥⵉ ⵏⵏⵙ, ⵉⵙⵙⵓⵎⴰⵏ ⴷ ⵀⵉⴳⵍ ⵢⴰⵜ ⵜⴰⵢⵔⵉ ⵉ ⵜⵖⵔⵉ ⴷ ⵜⵓⵙⵙⵏⴰ, ⵢⵓⵎⵥ ⵢⴰⵏ ⵓⵙⴳⵎⵉ ⴰⴽⵍⴰⵙⵉⴽ ⵉⴷⵓⵙⵏ. ⵉⴽⴽⴰ ⵜⵜ ⵉⵏⵏ ⵓⵙⵔⵙ ⵍⵍⵉ ⵉⵅⴰⵜⵔⵏ ⴳ ⵓⵙⵙⵉⵍⵖ ⵏⵏⵙ ⴰⵡⵏⴳⵉⵎ ⴷ ⵓⵎⵏⵣⵓ ⴰⴽⵛⵛⵓⵎ ⵏⵏⵙ ⵙ ⵜⵖⵉⵡⴰⵏⵜ ⵏ [[ⵜⴰⵙⵏⴰⴽⵓⵛⵜ|ⵜⵙⵏⴰⴽⵓⵛⵜ]] ⵉⵜⵜⵡⴰⵙⵙⴰⵏⵏ ⴳ ⵜⵙⴷⴰⵡⵉⵜ ⵏ ⵜⵓⴱⵉⵏⴳⵏ ⴳ 1788. ⴷⵉⵏⵏ ⴰ ⴳ ⵉⴷⵔⴰ ⵜⴰⵃⴰⵏⵓⵜ<ref>[[ⴼⵔⵉⴷⵔⵉⴽ ⴱⴰⵢⵣⵔ]], ⴰⵎⵙⵏⴼⵍ (1993). ⴰⵎⴰⵏⴰⵔ ⵏ ⴽⴰⵎⴱⵔⵉⴷⵊ ⵉ ⵀⵉⴳⵍ. ⵜⵉⵥⵕⵉⴳⵉⵏ ⵏ ⵜⵙⴷⴰⵡⵉⵜ ⵏ ⴽⴰⵎⴱⵔⵉⴷⵊ.ⵜ. [https://books.google.co.ma/books?id=N1ohAwAAQBAJ&pg=PT419&dq=&redir_esc=y "Hegel""Tübinger+Stift.+1789–1790+shares+a+roomwith+Hölderlin+and+Schelling+and+forms+friendship+with+them" 419]. ([[ⵓⵟⵟⵓⵏ ⴰⴳⵔⴰⵖⵍⴰⵏ ⴰⵏⴰⵡⴰⵢ ⵏ ⵓⴷⵍⵉⵙ|ISBN]] [[1-13982495-3]]). ⵉⵜⵜⵓⵃⴹⴰ ⵙⴳ [https://books.google.co.ma/books?id=N1ohAwAAQBAJ&printsec=frontcover&redir_esc=y ⵓⵙⴰⵍⴰ] ⴳ 2020-04-12.</ref> ⴷ ⵓⵣⵔⴰⵡ ⴷ ⵢⴰⵏ ⵙⵉⵏ ⵡⵓⴷⵎⴰⵡⵏ ⵏⵏⵉ ⵙⵓⵍ ⵉⴳⴰⵏ ⵉⵎⴰⵜⴰⵔⵏ ⵏ ⵜⴷⵍⵙⴰ ⵜⴰⵍⵉⵎⴰⵏⵜ: ⴰⵎⴷⵢⴰⵣ ⴼⵔⵉⴷⵔⵉⵛ ⵀⵓⵍⴷⵔⵍⵉⵏ, ⴷ ⵓⴼⵍⵙⴰⴼ ⴼⵔⵉⴷⵔⵉⴽ ⵛⵉⵍⵏⴳ. ⵙⴽⵔⵏ ⴽⵕⴰⴹ ⴰⴷ ⵢⴰⵜ ⵜⴷⴷⵓⴽⵍⴰ ⵜⴰⵡⵏⴳⵉⵎⵜ ⵏⵏⴰ ⵉⴷⵔⴰⵏ, ⴷ ⴷⵔⴰⵏ ⴰⵚⵚⴰⴱ ⵉ ⵜⴳⵔⴰⵡⵍⴰ ⵜⴰⴼⵕⴰⵏⵚⵉⵚⵜ ⴷ ⵓⴳⴰⵔⴰⵣ ⵏ ⵜⴷⵍⵙⴰ ⵜⴰⵡⴳⵔⵉⴽⵜ ⵜⴰⵣⴰⵢⴽⵓⵜ. ⵎⵇⵇⴰⵔ ⴷ ⵀⵉⴳⵍ ⴳ ⵜⵣⵡⵉⵔⵉ ⵓⵔ ⵜ ⴰⴷⵍⵍⵉ ⵢⵓⵡⵉ ⴱⴰⵀⵔⴰ ⴳ ⵜⴼⵍⵙⴰⴼⵜ ⵜⴰⵥⵕⴽⴰⵏⵟⵜ ⵙ ⵓⵙⵎⵣⴰⵣⴰⵍ ⴷ ⵉⵎⴷⴷⵓⴽⴽⴰⵍ ⵏⵏⵙ, ⵜⵥⵕⴰ ⵜⵉⵣⵉ ⴰⴷ ⵜⴰⵍⴰⵍⵉⵜ ⵏ ⵓⵎⴰⴳⴳⵓⵎ ⵏⵏⵙ ⴰⴼⵍⵙⴰⴼ, ⵉⵜⵜⵓⵣⵔⵔⴰ ⵙ ⵓⴷⵡⴰⵙ ⵙ ⵜⵡⵏⴳⵉⵎⵉⵏ ⵜⵉⵔⵓⵎⴰⵏⵙⵉⵢⵉⵏ ⴷ ⵜⵡⵓⵔⵉⵡⵉⵏ ⵏ ⵉⵎⵙⵡⵉⵏⴳⵉⵎⵏ ⴰⵎ ⵊⵓⵏ ⵊⴰⴽ ⵔⵓⵙⵓ. ⴽⴽⴰⵏ ⵜⵜ ⵉⵏⵏ ⵉⵙⴳⴳⵯⴰⵙⵏ ⵏ ⵜⵓⴱⵉⵏⴳⵏ ⵣⵓⵏ ⴷ ⴽⵔⴰ ⵏ ⵜⵎⵙⴷⵍⵜ ⵍⵍⵉ ⴳ ⵜⵜⵓⵙⴽⴰⵔⵏ ⵓⵎⵏⴰⵏ ⵉⵎⵣⵡⵓⵔⴰ ⵏ ⵓⵙⵏⴼⴰⵔ ⵏⵏⵙ ⴰⴼⵍⵙⴰⴼ ⴰⵥⵎⵍⴰⵍⴰⵢ. == ⵜⴰⵎⵓⵙⵜ ⵜⴰⴼⵍⵙⴰⴼⵜ: ⵜⴰⵔⵔⴰⵢⵜ/ⵜⴰⴱⵔⵉⴷⵜ ⵜⴰⵎⵙⵜⴰⵍⵉⵜ ⴷ ⵜⵡⵏⴳⵉⵎⵜ ⵜⴰⵎⴰⴳⴷⵣⵜ == ⵜⴱⴷⴷ ⵜⴼⵍⵙⴰⴼⵜ ⵏ ⵀⵉⴳⵍ ⵖⴼ ⵢⴰⵜ ⵜⵡⵏⴳⵉⵎⵜ ⵜⴰⴷⵙⵍⴰⵏⵜ, ⵜⴳⴰ ⵜⵜ ⵎⴰⵙ ⴷ ⵜⵉⵍⴰⵡⵜ ⴳ ⵜⵎⵓⵙⵜ ⵏⵏⵙ ⵜⴳⴰ ⵜⴰⵎⴰⴳⵔⵔⴰⵡⵜ, ⴷ ⵎⴰⵙ ⴷ ⵜⴰⴳⵔⵔⴰⵡⵜ ⵜⴳⴰ ⵢⴰⵜ ⵜⵉⴷⵜ ⵉⴳⴰⵏ ⵜⴰⵎⴰⴳⴷⵣⵜ. ⵉⵙⴱⵓⵖⵍⴰ ⵢⴰⵜ ⵜⴰⵔⵔⴰⵢⵜ ⵉⵥⵍⵉⵏ ⵉ ⵓⵔⵎⴰⵙ ⵏ ⵜⵏⴼⵍⵉⵜ (ⵜⴰⵣⵣⵉⴳⵣⵜ) ⵏ ⵜⵉⵍⴰⵡⵜ ⴰⴷ ⴷ ⵜⴳⵔⵔⴰⵡⵜ ⴰⴷ, ⴷ ⵍⵍⵉ ⵜⵜ ⵉⴳⴰⵏ ⴷ "ⵜⴰⵔⵔⴰⵢⵜ/ⴰⴱⵔⵉⴷⵜ ⵜⴰⵎⵙⵜⴰⵍⵉⵜ" (dialectique). ⴰⵔ ⵉⵥⵕⵕⴰ ⵀⵉⴳⵍ ⵎⴰⵙ ⴷ ⴽⵔⴰⵢⴳⴰⵜ ⵜⴰⵖⴰⵡⵙⴰ ⴳ ⵜⵉⵍⵍⵉⵜ, ⵙⵡⴰ ⵜⴳⴰ ⵜⴰⵡⵏⴳⵉⵎⵜ ⵏⵖ ⵜⵓⵎⴰⵏⵜ ⵜⴰⵎⵣⵔⵓⵢⴰⵏⵜ ⵏⵖ ⴰⵏⴳⵔⴰⵡ ⴰⵏⴰⵎⵓⵏ, ⴷⴰ ⵉⵜⵜⵙⵏⴼⵍⴰⵢ ⵙ ⵢⴰⵜ ⵜⵎⵀⵍⵜⵜ ⵜⴰⵎⴽⵕⴰⴹⵜ: ⴷⴰ ⵜⵙⵙⵏⵜⵉ ⵙ "ⵜⵓⵙⵔⵉⵙⵜ", ⵜⴳⴰ ⴰⵙⵔⵓⵙ ⵏⵖ ⵜⴰⵡⵏⴳⵉⵎⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ, ⵉⵍⵎⵎⴰ ⵜⵎⵏⴰⵍⴰ ⵜⵓⵙⵔⵉⵙⵜ ⴰⴷ ⴷ ⵓⵏⵎⴳⴰⵍ ⵏⵏⵙ ⵓⵙⵔⵉⴷ, ⵉⴳⴰ ⵜ "ⴰⵏⵎⴳⴰⵍ". ⴷ ⵙⴳ ⵜⴰⵎⴰⵖⵜ ⴷ ⵓⵎⵢⴰⴳⴳⴰ ⴳⵔ ⴰⵙⵏ, ⴷⴰ ⵜⴻⵜⵜⵏⴽⴰⵔ "ⵜⴰⵏⵖⵔⵓⴼⵜ" (Synthesis). ⵜⴰⵏⵖⵔⵓⴼⵜ ⴰⴷ ⵜⴰⵎⴰⵢⵏⵓⵜ ⵓⵔ ⵜⴳⵉ ⵖⴰⵙ ⵢⴰⵏ ⵓⴼⵙⵙⴰⵢ ⴰⵏⴰⵎⵎⴰⵙ, ⵎⴰⵛⴰ ⵜⴳⴰ ⵢⴰⵜ ⵜⴼⵔⴽⵜ ⵢⴰⵜⵜⵓⵢⵏ ⵉⵣⵔⵉⵏ ⵙⵉⵏ ⵏⵏⵉ ⵏⴱⴷⵔ, ⴷ ⴰⵔ ⵜⵃⵟⵟⵓ ⵙ ⵜⵎⵓⵙⵜ ⵏⵏⵙⵏⵜ ⵙ ⵢⴰⵜ ⵜⴽⴽⵍⵜ, ⵉⵍⵎⵎⴰ ⵜⴰⵖⵓⵍ ⴰⵡⴷ ⵏⵜⵜⴰⵜ ⴷ ⵜⵓⵙⵔⵉⵙⵜ ⵜⴰⵎⴰⵢⵏⵓⵜ ⴳ ⵜⵎⵀⵍⵜ ⵜⴰⵎⵙⵜⴰⵍⵉⵜ ⵉⵣⴷⵉⵏ. ⴰⵡⵜⵜⴰⵙ ⵏ ⵓⵎⵓⵙⵙⵓ ⴰⴷ ⴰⵎⵙⵜⴰⵍⵉ ⴰⵎⵖⵍⴰⵍ ⵉⴳⴰ ⵜ ⴰⵡⴰⴹ ⵖⵔ "ⵜⵡⵏⴳⵉⵎⵜ ⵜⴰⵎⴰⴳⴷⵣⵜ" ⵏⵖ "ⵉⵎⴰⵏ ⴰⵎⴰⴳⴷⵣ" (Absolute Spirit), ⵏⵏⴰ ⵉⴳⴰⵏ ⴰⴷⴷⴰⴷ ⵍⵍⵉ ⴳ ⴰⵔ ⵉⵜⵜⴰⵡⴹ ⵓⴼⵔⴰⴽ ⵖⵔ ⵓⵔⵎⴰⵙ ⵉⵏⵎⴷⵏ ⵉ ⵢⵉⵖⴼ ⵏⵏⵙ, ⴷ ⴰⵔ ⵜⴻⵜⵜⵓⵙⵉⴷⵜ ⵜⵢⵓⵏⵜ ⵜⴰⵖⵣⵓⵔⴰⵏⵜ ⴳⵔ ⵓⵡⵏⴳⵎ ⴷ [[ⵜⵉⵍⵍⵉⵜ (ⵜⴰⴼⵉⵔⴳⴰⵎⴰ)|ⵜⵉⵍⵍⵉⵜ]], ⴷ ⴳⵔ ⵜⵏⴽⴽⵉⵜ ⴷ ⵓⵙⴽⴽⵉⵏ. == ⴰⵣⴰⵣⵓ ⴰⴽⴰⴷⵉⵎⵉ ⴷ ⵜⵏⵡⵉⵜ ⵏ ⵓⵡⵏⴳⵎ ⴳ ⵢⵉⵏⴰ == ⴹⴰⵕⵜ ⵏ ⵎⴰⴷ ⵉⵙⵡⵓⵔⵉ ⴰⵎ ⵓⵙⵍⵎⴰⴷ ⵓⵙⵍⵉⴳ ⵉ ⴽⵔⴰ ⵏ ⵉⵙⴳⴳⵯⴰⵙⵏ, ⵉⵎⵎⵓⵜⵜⵉ ⵀⵉⴳⵍ ⵖⵔ [[ⵜⵙⴷⴰⵡⵉⵜ ⵏ ⵢⵉⵏⴰ]] (Jena) ⴳ ⵓⵙⴳⴳⴰⵙ 1801, ⵙ ⵓⵙⴱⵖⵙ ⵏ ⵓⵎⴷⴷⴰⴽⴽⵯⵍ ⵏⵏⵙ [[ⴼⵔⵉⴷⵔⵉⵛ ⴼⵉⵍⵀⵉⵍⵎ ⵊⵓⵣⵉⴼ ⵛⵉⵍⵏⴳ|ⵛⵉⵍⵏⴳ]] ⵍⵍⵉ ⵉⴳⴰⵏ ⴰⵙⵍⵎⴰⴷ ⴳ ⴷⵉⵏⵏ. ⵜⴽⴽⴰ ⵜⵜ ⵉⵏⵏ ⵜⴼⵔⴽⵜ ⵏ ⵢⵉⵏⴰ ⵜⴳⴰ ⵜⴰⵎⵖⵜⴰⵙⵜ ⴳ ⵜⵏⵡⵉⵜ ⵏ ⵓⵡⵏⴳⵎ ⵏⵏⵙ, ⵍⵍⵉⴳ ⵉⵙⵙⵏⵜⵉ ⴳ ⵓⵙⵙⵉⵍⵖ ⵏ ⵓⵏⴳⵔⴰⵡ ⵏⵏⵙ ⴰⴼⵍⵙⴰⴼ ⴰⵖⵣⵓⵔⴰⵏ ⵙ ⵜⵖⴰⵔⴰⵙⵜ ⵜⴰⵏⴱⵔⵉⴷⵜ. ⴳ ⵜⴼⵔⴽⵜ ⴰⴷ, ⵉⴼⵙⵔ ⴰⴷⵍⵉⵙ ⵏⵏⵙ ⴰⵎⵣⵡⴰⵔⵓ "ⴰⵎⵣⴰⵔⴰⵢ ⴳⵔ [[ⵢⵓⵀⴰⵏ ⴳⵓⵜⵍⵉⴱ ⴼⵉⵅⵜ|ⴼⵉⵅⵜ]] ⴷ [[ⴼⵔⵉⴷⵔⵉⵛ ⴼⵉⵍⵀⵉⵍⵎ ⵊⵓⵣⵉⴼ ⵛⵉⵍⵏⴳ|ⵛⵉⵍⵏⴳ]] ⴳ ⵓⵏⴳⵔⴰⵡ ⴰⴼⵍⵙⴰⴼ", ⴷ ⵉⴷⵔⴰ ⴰⴽⴷ ⵛⵉⵍⵏⴳ ⴳ ⵓⵙⵙⵓⴼⵖ ⵏ "ⵜⵙⵖⵓⵏⵜ ⵏ ⵓⵣⵖⴰⵏ ⴰⴼⵍⵙⴰⴼ". ⵎⴰⵛⴰ ⵜⴰⵡⵓⵔⵉ ⴰⴽⴽⵯ ⵉⵙⵜⴰⵡⵀⵎⵎⴰⵏ ⵏⵏⴰ ⵉⴼⴰⵔⵙ ⴳ ⵜⴼⵔⴽⵜ ⴰⴷ ⵉⴳⴰ ⵜⵜ ⵓⴷⵍⵉⵙ ⵏⵏⵙ ⴰⵙⵙⵔⵙⵍⴰⵏ "ⵜⴰⵙⵏⵓⵎⴰⵏⵜ ⵏ ⵢⵉⵎⴰⵏ" (Phenomenology of Spirit) ⵏⵏⴰ ⵉⵎⴷ ⴳ ⵓⵙⴳⴳⴰⵙ 1806 ⴷⴷⴰⵡ ⵏ ⵢⵉⵎⴳⴳⵉ ⵏ ⵜⴱⵓⵇⵓⵛⵉⵏ ⵏ ⵓⵙⵔⴷⴰⵙ ⵏ [[ⵏⴰⴱⵓⵍⵢⵓⵏ ⴱⵓⵏⴰⴱⴰⵕⵜ]] ⵍⵍⵉⴳ ⵉⴽⵛⵎ [[ⵜⴰⵎⴷⵉⵏⵜ ⵏ ⵢⵉⵏⴰ]]. ⴳ ⵜⵡⵓⵔⵉ ⴰⴷ ⵜⵓⴷⴷⵉⵙⵜ, ⴷⴰ ⵉⴹⴼⴼⵓⵕ ⵀⵉⴳⵍ ⵜⴰⵏⵢⵓⴷⴷⵓⵜ ⵏ ⵓⴼⵔⴰⴽ ⴰⵏⴼⴳⴰⵏ ⴳ ⵜⴼⵔⴽⵉⵡⵉⵏ ⵎⵣⴰⵔⴰⵢⵏⵉⵏ ⵏ ⵜⵏⴼⵍⵉⵜ, ⵙⴳ ⵓⵔⵎⴰⵙ ⴰⴼⵔⵢⴰⵏ ⴰⴼⵔⴰⵔ, ⵖⵔ ⵓⴼⵔⴰⴽ ⴰⵏⵉⵎⴰⵏ ⴷ ⵓⵎⵏⵣⴰⵖ ⵖⴼ ⵓⵙⵉⵜⴳ (ⵜⴰⵎⵙⵜⴰⵍⵉⵜ ⵏ ⵎⴰⵙⵙ ⴷ ⵓⴽⵍⵉ ⵍⵍⵉ ⵉⵜⵜⵢⵓⵙⵙⴰⵏⵏ), ⴰⵔ ⴰⵡⴰⴹ ⵖⵔ ⵜⴼⵔⴽⵉⵡⵉⵏ ⵏ ⵜⴳⵔⵔⴰⵡⵜ ⴷ ⵓⵙⴳⴷ ⴷ ⵜⵥⵓⵕⵉ, ⵖⵔ ⵜⴳⵉⵔⴰ ⵙ ⵜⵓⵙⵙⵏⴰ ⵜⴰⵎⴰⴳⴷⵣⵜ, ⵍⵍⵉⴳ ⵉⴼⵔⴽ ⵓⴼⵔⴰⴽ ⵎⴰⵙ ⴷ ⵏⵜⵜⴰ ⴰⴷ ⵉⴳⴰⵏ ⵜⵉⴷⵜ ⵜⴰⵎⴰⴳⴷⵣⵜ. == ⵥⵕ ⵓⴳⴳⴰⵔ == * [[ⵜⴰⵥⵕⵀⵉⴳⵍⵜ]] == ⵉⵙⴰⵖⵓⵍⵏ == {{ⵉⵙⴰⵖⵓⵍⵏ}} {{ⵉⵎⵔⵙⴰⵏ ⵏ ⵜⴼⵍⵙⴰⴼⵜ}} {{ⴰⴱⴰⴹ ⵓⵏⵜⵉⵎ}} 2ch11p67zpjkuhhhtpr0jhmsuhlr0wo ⵡⵉⴽⵉⴱⵉⴷⵢⴰ:ⴰⵏⵎⵓⴳⴳⴰⵔ 4 43374 177029 176939 2026-06-25T13:30:26Z MediaWiki message delivery 188 /* Deployment of Legal and Safety Contacts Link in the Footer of Your Wiki */ new section 177029 wikitext text/x-wiki {{ⴰⵏⵎⵓⴳⴳⴰⵔ}} {{ⴰⵍⴱⵓⴹ:ⵜⵉⴼⵉⵍⵜ ⵏ ⵓⵙⵡⵓⴷⴷⵓ}} {{ⵏⴹⵓ |20px}} <templatestyles src="Template:ⵜⴰⵙⵏⴰ/styles.css"/> __TOC__ == <span lang="en" dir="ltr">Annual review of the Universal Code of Conduct and Enforcement Guidelines</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> I am writing to you to let you know the annual review period for the Universal Code of Conduct and Enforcement Guidelines is open now. You can make suggestions for changes through 9 February 2026. This is the first step of several to be taken for the annual review. [[m:Special:MyLanguage/Universal Code of Conduct/Annual review/2026|Read more information and find a conversation to join on the UCoC page on Meta]]. The [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee|Universal Code of Conduct Coordinating Committee]] (U4C) is a global group dedicated to providing an equitable and consistent implementation of the UCoC. This annual review was planned and implemented by the U4C. For more information and the responsibilities of the U4C, [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|you may review the U4C Charter]]. Please share this information with other members in your community wherever else might be appropriate. -- In cooperation with the U4C, [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]])<section end="announcement-content" /> </div> 22:02, 19 ⵉⵏⵏⴰⵢⵔ 2026 (+01) <!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=29905753 --> == ⵜⵓⵜⵜⵔⴰ ⵏ ⵜⵎⵙⵙⵓⴳⵓⵔⵜ == ⴰⵣⵓⵍ ⵉⵎⴷⴷⵓⴽⴽⴰⵍ {{ⵉⵏⵙⵙⵎⵔⵙⵏ}}! ⴰⵔ ⵙⵙⵉⵜⵉⵎⵖ ⴰ ⵜⵉⵍⵉⵎ ⴰⴽⴽⵯ ⴳ ⵢⴰⵏ ⵡⴰⴷⴷⴰⴷ ⵉⵛⵏⴰⵏ, ⵉⴳⴰ ⵉⵢⵉ ⴰⴷⴷⵓⵔ ⴰⴷ ⵜⵜⵔⵖ ⵉⵣⵔⴼⴰⵏ ⵏ ⵓⵎⵙⵙⵓⴳⵓⵔ. ⵉⴳ ⴰ ⵜⵜⴰⵏⵏⴰⵢⵎ ⵎⴰⵙ ⴷ ⵖⵉⵖ ⴰⴷ ⴼⴽⵖ ⵓⴳⴳⴰⵔ ⵉ ⵡⵉⴽⵉⴱⵉⴷⵢⴰ ⵜⴰⵎⴰⵣⵉⵖⵜ ⵉⴳ ⴳⵉⵖ ⴰⵎⵙⵙⵓⴳⵓⵔ ⴼⴽⴰⵜ ⵜⴰⵏⵏⴰⵢⵜ ⵏⵏⵓⵏ ⵙ ⵓⵙⵎⵔⵙ ⵏ {{ⴷⵉⴷⵙ}} ⵏⵖ {{ⵎⴳⴰⵍ}} --[[ⴰⵏⵙⵙⵎⵔⵙ:Lhoussine AIT TAYFST|Lhoussine AIT TAYFST]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Lhoussine AIT TAYFST|ⴰⵎⵙⴰⵡⴰⵍ]]) 21:06, 28 ⴱⵕⴰⵢⵕ 2026 (+00) *{{ⴷⵉⴷⵙ}} --[[ⴰⵏⵙⵙⵎⵔⵙ:Lhoussine AIT TAYFST|Lhoussine AIT TAYFST]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Lhoussine AIT TAYFST|ⴰⵎⵙⴰⵡⴰⵍ]]) 21:06, 28 ⴱⵕⴰⵢⵕ 2026 (+00) *{{ⴷⵉⴷⵙ}} --[[ⴰⵏⵙⵙⵎⵔⵙ:ⴰⵏⴰⵙ ⵓⵍⵃⵍⵓ|ⴰⵏⴰⵙ ⵓⵍⵃⵍⵓ]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:ⴰⵏⴰⵙ ⵓⵍⵃⵍⵓ|ⴰⵎⵙⴰⵡⴰⵍ]]) 22:04, 28 ⴱⵕⴰⵢⵕ 2026 (+00) *{{ⴷⵉⴷⵙ}}--[[ⴰⵏⵙⵙⵎⵔⵙ:Essaidib2|Essaidib2]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Essaidib2|ⴰⵎⵙⴰⵡⴰⵍ]]) 22:50, 28 ⴱⵕⴰⵢⵕ 2026 (+00) *{{ⴷⵉⴷⵙ}}----[[ⴰⵏⵙⵙⵎⵔⵙ:ⵟⴰⵢⵢⵉⴱ ⵎⴰⵢⴰⵃ|ⵟⴰⵢⵢⵉⴱ ⵎⴰⵢⴰⵃ]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:ⵟⴰⵢⵢⵉⴱ ⵎⴰⵢⴰⵃ|ⴰⵎⵙⴰⵡⴰⵍ]]) 23:12, 28 ⴱⵕⴰⵢⵕ 2026 (+00) :{{ⴷⵉⴷⵙ}} [[ⴰⵏⵙⵙⵎⵔⵙ:ⵕⴰⵊⵉ|ⵕⴰⵊⵉ]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:ⵕⴰⵊⵉ|ⴰⵎⵙⴰⵡⴰⵍ]]) 23:57, 28 ⴱⵕⴰⵢⵕ 2026 (+00) *{{ⴷⵉⴷⵙ}} --[[ⴰⵏⵙⵙⵎⵔⵙ:ZacharyB|ZacharyB]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:ZacharyB|ⴰⵎⵙⴰⵡⴰⵍ]]) 13:23, 1 ⵎⴰⵕⵚ 2026 (+00) *{{ⴷⵉⴷⵙ}} [[ⴰⵏⵙⵙⵎⵔⵙ:ABDELATIF ANADJAR|ABDELATIF ANADJAR]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:ABDELATIF ANADJAR|ⴰⵎⵙⴰⵡⴰⵍ]]) 14:15, 1 ⵎⴰⵕⵚ 2026 (+00) *{{ⴷⵉⴷⵙ}}[[ⴰⵏⵙⵙⵎⵔⵙ:El Hassan BOUTSSAID|El Hassan BOUTSSAID]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:El Hassan BOUTSSAID|ⴰⵎⵙⴰⵡⴰⵍ]]) 10:27, 4 ⵎⴰⵕⵚ 2026 (+00) *{{ⴷⵉⴷⵙ}} - [[ⴰⵏⵙⵙⵎⵔⵙ:Aksel Tinfat|Aksel Tinfat]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Aksel Tinfat|ⴰⵎⵙⴰⵡⴰⵍ]]) 22:21, 4 ⵎⴰⵕⵚ 2026 (+00) ⵜⴰⵏⵎⵎⵉⵔⵜ ⵏⵏⵓⵏ ⴰ ⵉⵎⴷⴷⵓⴽⴽⴰⵍ ⵅⴼ ⵜⵎⵢⵉⵎⴰⵏⵜ! ([https://meta.wikimedia.org/wiki/Steward_requests/Permissions#Lhoussine_AIT_TAYFST@zghwiki ⵥⵕ ⵜⵓⵜⵜⵔⴰ ⴳ ⵜⵙⵏⴰ ⵏ ⵎⵉⵜⴰ-ⵡⵉⴽⵉ]) --[[ⴰⵏⵙⵙⵎⵔⵙ:Lhoussine AIT TAYFST|Lhoussine AIT TAYFST]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Lhoussine AIT TAYFST|ⴰⵎⵙⴰⵡⴰⵍ]]) 22:22, 5 ⵎⴰⵕⵚ 2026 (+00)  ''' ⴷⵉⴷⵙ''' [[ⴰⵏⵙⵙⵎⵔⵙ:Daoudsfouli|Daoudsfouli]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Daoudsfouli|ⴰⵎⵙⴰⵡⴰⵍ]]) 19:23, 5 ⵉⴱⵔⵉⵔ 2026 (+01) == <span lang="en" dir="ltr">Migration to Parsoid</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> <em>[[m:Special:MyLanguage/Wikimedia Foundation/Product and Technology/Parsoid Read Views/Read View Announcement|Read this in another language]]</em> Hello everyone! I am glad to inform you that as the next step in the [[mw:Special:MyLanguage/Parsoid/Parser Unification|Parser Unification]] project, Parsoid will soon be turned on as the default article renderer on your wiki. We are gradually increasing the number of wikis using Parsoid, with the intention of making it the default wikitext parser for MediaWiki's next long-term support release. This will make our wikis more reliable and consistent for editors, readers, and tools to use, as well as making the development of future wikitext features easier. If this disrupts your workflow, don’t worry! You can still opt out through a user preference or turn Parsoid off on the current page using the Tools submenu, as described in the [[mw:Special:MyLanguage/Help:Extension:ParserMigration|Extension:ParserMigration]] documentation. There is [[mw:Special:MyLanguage/Parsoid/Parser Unification/Confidence Framework|more information about our roll-out strategy]] available, including the testing done before we turn on Parsoid for a new wiki. To report bugs and issues, please look at our [[mw:Special:MyLanguage/Parsoid/Parser Unification/Known Issues|known issues]] documentation and if you found a new bug please create a phab ticket and tag the [[phab:project/view/5846|Content Transform Team in Phabricator]]. <section end="announcement-content" /> </div> <bdi lang="en" dir="ltr">[[mw:User:CAnanian (WMF)|C. Scott Ananian]] (Parsoid technical lead)</bdi> 17:48, 18 ⵉⴱⵔⵉⵔ 2026 (+01) <!-- Message sent by User:CAnanian (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Wikimedia_Foundation/Product_and_Technology/Parsoid_Read_Views/2026-04-20_Wikipedias&oldid=30424286 --> == ⵜⵓⵜⵜⵔⴰ ⵏ ⵉⵣⵔⴼⴰⵏ ⵏ ⵓⵎⵙⵙⵓⴳⵓⵔ (Adminship request) == ⴰⵣⵓⵍ ⵉⵎⴷⴷⵓⴽⴽⴰⵍ {{ⴰⵔⵇⵇⴰⵙ}}, ⵙⵙⵉⵜⵎⵖ ⴰⴷ ⴽⵯⵏ ⵜⴰⴼ ⵜⵓⵣⵉⵏⵜ ⴰⴷ ⴳ ⵜⵍⵡⵉⵜ ⴷ ⵓⴼⵔⴰ. ⵔⵉⵖ ⴰⴷ ⵉⵢⵉ ⵜⴼⴽⵉⵎ ⴰⵏⵏⴰⵍ ⵏⵏⵓⵏ ⴰⴷ ⴳⵖ ⴰⵎⵙⵙⵓⴳⵓⵔ ⴳ ⵡⵉⴽⵉ ⴰⴷ. ⵙⵙⵎⵔⵙⴰⵜ <code><nowiki>{{ⴷⵉⴷⵙ}}</nowiki></code> {{ⴷⵉⴷⵙ}} ⵏⵖ <code><nowiki>{{ⵎⴳⴰⵍ}}</nowiki></code> {{ⵎⴳⴰⵍ}} ⵜⴰⵏⵎⵎⵉⵔⵜ.--[[ⴰⵏⵙⵙⵎⵔⵙ:Essaidib2|Essaidib2]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Essaidib2|ⴰⵎⵙⴰⵡⴰⵍ]]) 01:02, 24 ⵉⴱⵔⵉⵔ 2026 (+01) *{{ⴷⵉⴷⵙ}} [[ⴰⵏⵙⵙⵎⵔⵙ:ⴰⵏⴰⵙ ⵓⵍⵃⵍⵓ|ⴰⵏⴰⵙ ⵓⵍⵃⵍⵓ]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:ⴰⵏⴰⵙ ⵓⵍⵃⵍⵓ|ⴰⵎⵙⴰⵡⴰⵍ]]) 09:14, 24 ⵉⴱⵔⵉⵔ 2026 (+01) :{{ⴷⵉⴷⵙ}} --[[ⴰⵏⵙⵙⵎⵔⵙ:Lhoussine Bentayfaste|Lhoussine Bentayfaste]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Lhoussine Bentayfaste|ⴰⵎⵙⴰⵡⴰⵍ]]) 11:11, 24 ⵉⴱⵔⵉⵔ 2026 (+01) :{{ⴷⵉⴷⵙ}} --[[ⴰⵏⵙⵙⵎⵔⵙ:ZacharyB|ZacharyB]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:ZacharyB|ⴰⵎⵙⴰⵡⴰⵍ]]) 22:53, 25 ⵉⴱⵔⵉⵔ 2026 (+01) :{{ⴷⵉⴷⵙ}} - [[ⴰⵏⵙⵙⵎⵔⵙ:Aksel Tinfat|Aksel Tinfat]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Aksel Tinfat|ⴰⵎⵙⴰⵡⴰⵍ]]) 06:50, 26 ⵉⴱⵔⵉⵔ 2026 (+01) :ⵜⴰⵏⵎⵎⵉⵔⵜ ⵉⵎⴷⴷⵓⴽⴽⴰⵍ, ⵓⵎⵥⵖ ⵉⵣⵔⴼⴰⵏ ⵏ ⵓⵎⵙⵙⵓⴳⵓⵔ ⴰⵙⵙ ⴰⴷ. [[ⴰⵏⵙⵙⵎⵔⵙ:Essaidib2|Essaidib2]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Essaidib2|ⴰⵎⵙⴰⵡⴰⵍ]]) 16:58, 11 ⵎⴰⵢⵢⵓ 2026 (+01) == Request for comment (global AI policy) == <bdi lang="en" dir="ltr" class="mw-content-ltr"> Apologies for writing in English. {{int:Please-translate}} A [[:m:Requests for comment/Artificial intelligence policy|request for comment]] is currently being held to decide on a global AI policy. {{int:Feedback-thanks-title}} [[ⴰⵏⵙⵙⵎⵔⵙ:MediaWiki message delivery|MediaWiki message delivery]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:MediaWiki message delivery|ⴰⵎⵙⴰⵡⴰⵍ]]) 01:58, 26 ⵉⴱⵔⵉⵔ 2026 (+01) </bdi> <!-- Message sent by User:Codename Noreste@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30424282 --> == ⴰⵍⵓⴳⵓ ⵏ ⵡⵉⴽⵉⴱⵉⴷⵢⴰ ⵜⴰⵎⴰⵣⵉⵖⵜ == ⴰⵣⵓⵍ ⵉⵎⴷⴷⵓⴽⴽⵯⴰⵍ {{ⴰⵔⵇⵇⴰⵙ}} ⵉⴳ ⵉⵢⵉ ⴰⴷⴷⵓⵔ ⴰⴷ ⵜⵜⵔⵖ ⵜⴰⵏⵏⴰⵢⵜ ⵏⵏⵓⵏ ⴳ ⵎⴰ ⵉⵥⵍⵉⵏ ⵙ ⵓⵙⵏⴼⵍ ⵏ ⵓⵍⵓⴳⵓ ⵏ ⵡⵉⴽⵉⴱⵉⴷⵢⴰ ⵜⴰⵎⴰⵣⵉⵖⵜ ⵙ ⵉⵍⵓⴳⵓⵜⵏ ⴰⴷ! ⴽⵓ ⴰⴷ ⴰⵖ ⵉⴼⴽ ⵜⴰⵏⵏⴰⵢⵜ ⵏⵏⵙ. <gallery mode="packed" heights="180"> File:Wikipedia-logo-v2-zgh.svg File:Wikipedia Logo zgh h.svg File:Wikipedia logo h zgh.svg </gallery> --[[ⴰⵏⵙⵙⵎⵔⵙ:Lhoussine Bentayfaste|Lhoussine Bentayfaste]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Lhoussine Bentayfaste|ⴰⵎⵙⴰⵡⴰⵍ]]) 16:47, 11 ⵎⴰⵢⵢⵓ 2026 (+01) :ⴰⵣⵓⵍ ⵎⴰⵙⵙ @[[ⴰⵏⵙⵙⵎⵔⵙ:Lhoussine Bentayfaste|ⵍⵃⵓⵙⴰⵢⵏ]], ⴽⵔⴰ ⵏ ⵉⵙⵉⵙⴼⵉⵡⵏ ⵓⴳⴳⴰⵔ ⵖⴼ ⵓⵙⵏⴼⵍ ⴰⴷ. ⵜⴰⵏⵎⵎⵉⵔⵜ. [[ⴰⵏⵙⵙⵎⵔⵙ:Essaidib2|Essaidib2]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Essaidib2|ⴰⵎⵙⴰⵡⴰⵍ]]) 17:02, 11 ⵎⴰⵢⵢⵓ 2026 (+01) ::ⴰⵣⵓⵍ ⵎⴰⵙⵙ @[[ⴰⵏⵙⵙⵎⵔⵙ:Essaidib2|Essaidib2]] ⴰⵍⵓⴳⵓ ⵏⵏⴰ ⵉⵜⵜⵓⵙⵙⵎⵔⴰⵙⵏ ⵉ ⵡⵉⴽⵉⴱⵉⴷⵢⴰ ⵉⴳ ⵜ ⵜⵥⵕⵉⴷ ⵓⵔ ⴱⴰⵀⵔⴰ ⵉⴼⴰⵍⴽⵉ, ⵓⴽⴰⵏ ⵏⵏⵉⵖ ⴰⴷ ⵜ ⵏⵙⵙⵏⴼⵍ ⵙ ⵓⵍⵓⴳⵓ ⴰⴷ --[[ⴰⵏⵙⵙⵎⵔⵙ:Lhoussine Bentayfaste|Lhoussine Bentayfaste]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Lhoussine Bentayfaste|ⴰⵎⵙⴰⵡⴰⵍ]]) 17:37, 11 ⵎⴰⵢⵢⵓ 2026 (+01) *{{ⴷⵉⴷⵙ}} -- [[ⴰⵏⵙⵙⵎⵔⵙ:Essaidib2|Essaidib2]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Essaidib2|ⴰⵎⵙⴰⵡⴰⵍ]]) 23:59, 11 ⵎⴰⵢⵢⵓ 2026 (+01) *{{ⴷⵉⴷⵙ}} --[[ⴰⵏⵙⵙⵎⵔⵙ:Lhoussine Bentayfaste|Lhoussine Bentayfaste]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Lhoussine Bentayfaste|ⴰⵎⵙⴰⵡⴰⵍ]]) 17:38, 11 ⵎⴰⵢⵢⵓ 2026 (+01) *{{ⴷⵉⴷⵙ}} [[ⴰⵏⵙⵙⵎⵔⵙ:ABDELATIF ANADJAR|ABDELATIF ANADJAR]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:ABDELATIF ANADJAR|ⴰⵎⵙⴰⵡⴰⵍ]]) 23:48, 11 ⵎⴰⵢⵢⵓ 2026 (+01) *{{ⴷⵉⴷⵙ}} --[[ⴰⵏⵙⵙⵎⵔⵙ:ⴰⵏⴰⵙ ⵓⵍⵃⵍⵓ|ⴰⵏⴰⵙ ⵓⵍⵃⵍⵓ]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:ⴰⵏⴰⵙ ⵓⵍⵃⵍⵓ|ⴰⵎⵙⴰⵡⴰⵍ]]) 14:32, 12 ⵎⴰⵢⵢⵓ 2026 (+01) :Why am I pinged here? [[ⴰⵏⵙⵙⵎⵔⵙ:Robertsky|Robertsky]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Robertsky|ⴰⵎⵙⴰⵡⴰⵍ]]) 19:47, 11 ⵎⴰⵢⵢⵓ 2026 (+01) ::Hi @[[user:Robertsky|Robertsky]], Because this [[ⴰⵍⴱⵓⴹ:ⴰⵔⵇⵇⴰⵙ|template]] pings last month active users for opend discussions on this wiki. I will modify it to ping only local users. [[ⴰⵏⵙⵙⵎⵔⵙ:Essaidib2|Essaidib2]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Essaidib2|ⴰⵎⵙⴰⵡⴰⵍ]]) 00:09, 12 ⵎⴰⵢⵢⵓ 2026 (+01) :::@[[ⴰⵏⵙⵙⵎⵔⵙ:Essaidib2|Essaidib2]], I see. That's an interesting way to rally the community for discussions. 👍I have a couple suggestions if you don't mind me... I recognise that a number of editors removed at [[Special:Diff/176202]] are members of the global renamers group, as I am also one of them. Maybe you can modify your tool exclude non-local editors who are in the global user right groups. It would give you a list of non-local editors who are contributing to this project. A second suggestion is that if you are displaying who you have pinged, please substitute ([[:en:Help:Substitution]]) the template whenever it is used so that everyone knows who have been pinged that the point of usage, not leave disjointed conversations like this, and makes it easier for whoever is looking back at the history of the project to read. Personally, I would do something like this, [[:en:Template:@ITNA]], where those who have been plnged can simply shown as "@Editors active in last 30 days:" and not worry about substitutions. :::On a separate note, I initially thought it was an advance notification to someone who have done Wikimedia site configuration changes to prepare for a change of site logos, as I also do that as well for some other Wikimedia projects! 😂 [[ⴰⵏⵙⵙⵎⵔⵙ:Robertsky|Robertsky]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Robertsky|ⴰⵎⵙⴰⵡⴰⵍ]]) 03:31, 12 ⵎⴰⵢⵢⵓ 2026 (+01) ::::@[[ⴰⵏⵙⵙⵎⵔⵙ:Robertsky|Robertsky]], Thank you for your suggestions, I modify it to ping only users who made at least 5 edits in the main namespace during the last 30 days, are logged-in users, are not bots, and do not belong to global groups. [[ⴰⵏⵙⵙⵎⵔⵙ:Essaidib2|Essaidib2]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Essaidib2|ⴰⵎⵙⴰⵡⴰⵍ]]) 19:41, 12 ⵎⴰⵢⵢⵓ 2026 (+01) :::@[[ⴰⵏⵙⵙⵎⵔⵙ:Essaidib2|Essaidib2]] ⴳ ⵎⴰ ⵉⵥⵍⵉⵏ ⵙ ⵉⵏⵙⵙⵎⵔⵙⵏ ⵏⵏⴰ ⵎⵓ ⴷ ⵢⴰⵇⵇⵔⴰ ⵓⵔⵇⵇⴰⵙ, ⵔⵏⵓ ⵢⴰⵜ ⵜⴼⴰⴷⴰ ⵢⴰⴹⵏⵉⵏ ⴰⴼⴰⴷ ⴰⴷ ⵉⵙⴰⵜⵜⵉ ⵖⴰⵙ ⵉⵙⵎⴰⵡⵏ ⵏ ⵡⵉⵏⵏⴰ ⵉⵙⴽⵔⵏ ⵓⴳⴳⴰⵔ ⵏ 10 ⵏ ⵉⵙⵏⴼⴰⵍ ⴳ ⵡⴰⵢⵢⵓⵔ ⴰⴷ ⴰⵎⴳⴳⴰⵔⵓ ⴰⴼⴰⴷ ⴰⴷ ⵓⵔ ⴷ ⵢⴰⵇⵇⵔⴰ ⵓⵍⴰ ⵉ ⵡⵉⵏⵏⴰ ⵉⵙⴽⵔⵏ ⵖⴰⵙ ⵉⴽⴽⴰⵏ ⵡⵉⴽⵉ ⵏ ⵜⵎⴰⵣⵉⵖⵜ ⵙ ⵓⵖⴰⵔⴰⵙ --[[ⴰⵏⵙⵙⵎⵔⵙ:Lhoussine Bentayfaste|Lhoussine Bentayfaste]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Lhoussine Bentayfaste|ⴰⵎⵙⴰⵡⴰⵍ]]) 12:28, 12 ⵎⴰⵢⵢⵓ 2026 (+01) ::::@[[ⴰⵏⵙⵙⵎⵔⵙ:Lhoussine Bentayfaste|Lhoussine Bentayfaste]], ⵙⵏⴼⵍⵖ ⵜ ⴰⴷ ⵢⴰⵇⵔⴰ ⵖⴰⵙ ⵉ ⵡⵉⵏⵏⴰ ⵉⵙⴽⵔⵏ 5 ⵉⵙⵏⴼⴰⵍ ⴳ ⵉⵎⴰⴳⵔⴰⴷⵏ ⴳ 30 ⵡⵓⵙⵙⴰⵏ ⵉⵎⴳⴳⵓⵔⴰ, ⴷ ⵓⵔ ⴷⴰⵔⵙⵏ ⵉⵣⵔⴼⴰⵏ ⵉⴳⵔⴰⵖⵍⴰⵏⵏ. [[ⴰⵏⵙⵙⵎⵔⵙ:Essaidib2|Essaidib2]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Essaidib2|ⴰⵎⵙⴰⵡⴰⵍ]]) 19:47, 12 ⵎⴰⵢⵢⵓ 2026 (+01) :::::@[[ⴰⵏⵙⵙⵎⵔⵙ:Essaidib2|Essaidib2]] ⴰⵢⵢⵓⵣ ⵏⵏⴽ ⴰ ⵙⵙⵉ ⴱⵕⴰⵀⵉⵎ, ⵓⵍⴰ ⵙⵎⵎⵓⵙ ⴼⵓⵍⴽⵉⵏ --[[ⴰⵏⵙⵙⵎⵔⵙ:Lhoussine Bentayfaste|Lhoussine Bentayfaste]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Lhoussine Bentayfaste|ⴰⵎⵙⴰⵡⴰⵍ]]) 12:05, 13 ⵎⴰⵢⵢⵓ 2026 (+01) :ⴰⵢⴷⴰ ⵜⵔⵉⴷ, ⴰⵚⵍⴰⵏ ⵏⴽⴽ ⵓⵔ ⴷⴰ ⵜⵜⴰⵙⵉⵖ ⴰⵏⵣⴳⵓⴳ ⵉ ⵉⵙⴽⴽⵉⵏⵏ ⴰⵏⵏ ⴰⵖ… [[ⴰⵏⵙⵙⵎⵔⵙ:Amnnagh-Nuzilal|Amnnagh-Nuzilal]] ([[ⴰⵎⵙⴳⴷⴰⵍ ⵏ ⵓⵏⵙⵙⵎⵔⵙ:Amnnagh-Nuzilal|ⴰⵎⵙⴰⵡⴰⵍ]]) 04:00, 18 ⵎⴰⵢⵢⵓ 2026 (+01) == <span lang="en" dir="ltr">Vote now in the 2026 U4C election</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> Eligible voters are asked to participate in the 2026 [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee]] election. More information–including an eligibility check, voting process information, candidate information, and a link to the vote–are available on Meta at the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|2026 Election information page]]. The vote closes on 2 June 2026 at [https://zonestamp.toolforge.org/1780358400 00:00 UTC]. Please vote if your account is eligible. Results will be available by 14 June 2026. -- In cooperation with the U4C,<section end="announcement-content" /> </div> [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) 18:15, 27 ⵎⴰⵢⵢⵓ 2026 (+01) <!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30513860 --> == RFC about AI-generated content in Wikimedia Commons == <bdi lang="en" dir="ltr">Apologies for writing in English, please help translate this message to your language. You are invited to participate in a [[c:Commons:Requests for comment/Policy update for AI content|request for comment on Wikimedia Commons about a policy update for AI content]]. This may affect files that are uploaded to Wikimedia Commons for use on this project. Thank you. [[m:User:Codename Noreste|Codename Noreste]] ([[m:User talk:Codename Noreste|ⴰⵎⵙⴰⵡⴰⵍ]])</bdi> 18:12, 23 ⵢⵓⵏⵢⵓ 2026 (+01) <!-- Message sent by User:Codename Noreste@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30513860 --> == <span lang="en" dir="ltr">Deployment of Legal and Safety Contacts Link in the Footer of Your Wiki</span> == <div lang="en" dir="ltr"> <section begin="Message"/> '''Legal & Safety Contacts''' Hello community, the Wikimedia Foundation has provided a [[wmf:Special:MyLanguage/Legal:Wikimedia Foundation Legal and Safety Contact Information|single legal and safety contact page]], to be linked in the footer of your wiki, to ensure access to accurate legal information. This is a regulatory requirement. We have already rolled out links to English, German, Italian, Spanish and other wikis and we will deploy to your wiki soon. [[m:Special:MyLanguage/Wikimedia_Foundation_Legal_and_Safety_Contacts_FAQ|Please read more on the project page]] and leave any comments in this thread or on the [[m:Special:MyLanguage/Talk:Wikimedia Foundation Legal and Safety Contacts FAQ|talk page]]. <section end="Message"/> </div> -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 14:30, 25 ⵢⵓⵏⵢⵓ 2026 (+01) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Sannita_(WMF)/Mass_sending_test&oldid=30731267 --> 2nm9kdgv3gp66l6eonuzxkk08rgszzi Module:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ 828 52742 177033 176995 2026-06-25T19:50:48Z Essaidib2 15 177033 Scribunto text/plain -- This module generates an infobox for national football teams -- Supports manual template parameters and Wikidata auto-fetch. -- Module usage: {{#invoke:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|main|qid=}} -- Template usage: {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}} -- ============================================================ local p = {} -- ── Constants ────────────────────────────────────────────────── local HEADER_COLOR = '#b31b1b' -- Red header local HEADER_TEXT = 'white' local ROW_BG = '#f0f0f0' -- ── Helper Functions ────────────────────────────────────────── function trimWhitespace(str) if not str then return '' end return mw.text.trim(str) end function exists(value) return value and value ~= '' and value ~= nil end -- ── Custom Argument Parser (self-contained) ────────────────── function getArgs(frame) local args = {} -- Get the parent frame (the template that called this module) local parent = frame:getParent() -- If there's no parent, use the current frame if not parent then parent = frame end -- Get all arguments from the parent frame local parentArgs = parent.args -- Process named arguments for key, value in pairs(parentArgs) do if type(key) == 'string' then -- Clean the key (trim whitespace) local cleanKey = mw.text.trim(key) if cleanKey ~= '' then -- Clean the value local cleanValue = value if type(cleanValue) == 'string' then cleanValue = mw.text.trim(cleanValue) end -- Only add if not empty (removeBlanks) if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end -- Process numbered/positional arguments local i = 1 while true do if parentArgs[i] == nil then break end local value = parentArgs[i] if type(value) == 'string' then value = mw.text.trim(value) end if value ~= '' then args[i] = value end i = i + 1 end -- Also check frame.args directly (for when module is called directly) for key, value in pairs(frame.args) do if type(key) == 'string' then local cleanKey = mw.text.trim(key) if cleanKey ~= '' then local cleanValue = value if type(cleanValue) == 'string' then cleanValue = mw.text.trim(cleanValue) end if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end return args end function getEntity(entityId) if not entityId or entityId == '' then return nil end return mw.wikibase.getEntity(entityId) end function getValueOrWikidata(args, paramName, wdProp) -- Check if value exists in args local value = args[paramName] if value and value ~= '' then return value, false end -- If no Wikidata property specified or no entity ID, return nothing if not wdProp or not args.qid then return nil, false end -- Try to get from Wikidata local entity = getEntity(args.qid) if not entity then return nil, false end local claims = entity.claims if not claims or not claims[wdProp] then return nil, false end -- Get the first claim value local claim = claims[wdProp][1] if not claim then return nil, false end local value = nil local datatype = claim.datatype if datatype == 'string' or datatype == 'external-id' or datatype == 'url' then value = claim.mainsnak.datavalue.value elseif datatype == 'monolingualtext' then value = claim.mainsnak.datavalue.value.text elseif datatype == 'wikibase-item' then local id = claim.mainsnak.datavalue.value.id value = mw.wikibase.getLabel(id) elseif datatype == 'time' then value = claim.mainsnak.datavalue.value.time elseif datatype == 'quantity' then value = claim.mainsnak.datavalue.value.amount end if value and value ~= '' then return value, true end return nil, false end function editIcon(entityId, propertyId) if not entityId or not propertyId then return '' end local url = 'https://www.wikidata.org/wiki/Special:EditEntity/' .. entityId .. '#' .. propertyId return ' <sup class="plainlinks">[' .. url .. ' ⵙⵏⴼⵍ]</sup>' end function buildNativeKit(args, num, title) local pattern_b = args['pattern_b' .. num] or '' local pattern_la = args['pattern_la' .. num] or '' local pattern_ra = args['pattern_ra' .. num] or '' local pattern_sh = args['pattern_sh' .. num] or '' local pattern_so = args['pattern_so' .. num] or '' local leftarm = args['leftarm' .. num] or '' local body = args['body' .. num] or '' local rightarm = args['rightarm' .. num] or '' local shorts = args['shorts' .. num] or '' local socks = args['socks' .. num] or '' -- Build kit HTML local kitHtml = mw.html.create('div') :css({ ['text-align'] = 'center', ['margin'] = '5px' }) -- Title if title then kitHtml:tag('div') :css({ ['font-weight'] = 'bold', ['font-size'] = '90%', ['margin-bottom'] = '3px' }) :wikitext(title) end -- Kit image placeholder local kitDiv = kitHtml:tag('div') :css({ ['display'] = 'inline-block', ['background-color'] = '#ffffff', ['padding'] = '5px', ['border'] = '1px solid #ccc' }) -- Build kit using standard Wikipedia football kit template syntax local kitTemplate = '{{ⴰⵔⵉⴽⵉ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ\\n' if pattern_la ~= '' then kitTemplate = kitTemplate .. '| pattern_la = ' .. pattern_la .. '\n' end if pattern_b ~= '' then kitTemplate = kitTemplate .. '| pattern_b = ' .. pattern_b .. '\n' end if pattern_ra ~= '' then kitTemplate = kitTemplate .. '| pattern_ra = ' .. pattern_ra .. '\n' end if pattern_sh ~= '' then kitTemplate = kitTemplate .. '| pattern_sh = ' .. pattern_sh .. '\n' end if pattern_so ~= '' then kitTemplate = kitTemplate .. '| pattern_so = ' .. pattern_so .. '\n' end if leftarm ~= '' then kitTemplate = kitTemplate .. '| leftarm = ' .. leftarm .. '\n' end if body ~= '' then kitTemplate = kitTemplate .. '| body = ' .. body .. '\n' end if rightarm ~= '' then kitTemplate = kitTemplate .. '| rightarm = ' .. rightarm .. '\n' end if shorts ~= '' then kitTemplate = kitTemplate .. '| shorts = ' .. shorts .. '\n' end if socks ~= '' then kitTemplate = kitTemplate .. '| socks = ' .. socks .. '\n' end kitTemplate = kitTemplate .. '}}' kitDiv:wikitext(kitTemplate) return tostring(kitHtml) end -- ── UI Functions ───────────────────────────────────────────── function addSectionHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.3em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '105%', ['border-top'] = '2px solid #ccc', }) :wikitext(title) return cell end function addSubHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = '#e8e8e8', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '95%', ['font-style'] = 'italic', }) :wikitext(title) return cell end -- ── Main Entry Point ────────────────────────────────────────── function p.main(frame) local args = getArgs(frame) -- Resolve Wikidata Entity ID local entityId = trimWhitespace(args.qid) if entityId == '' then entityId = mw.wikibase and mw.wikibase.getEntityIdForCurrentPage() or nil end args.qid = entityId local entity = getEntity(entityId) -- ── Build the infobox table ─────────────────────────────── local infobox = mw.html.create('table') infobox:addClass('infobox') infobox:css({ ['border'] = '1px solid #a2a9b1', ['border-spacing'] = '3px', ['background-color'] = '#f8f9fa', ['color'] = 'black', ['margin'] = '0.5em 0 0.5em 1em', ['padding'] = '0.2em', ['float'] = 'right', ['clear'] = 'right', ['font-size'] = '90%', ['line-height'] = '1.5em', ['width'] = '22em', }) -- ── Title header ───────────────────────────────────────── -- Try to get title from args first local title, titleFromWD = getValueOrWikidata(args, 'ⴰⵣⵡⵍ', nil) -- If not found, try to get label from Wikidata if not exists(title) and entityId then title = mw.wikibase.getLabel(entityId) end -- Fallback to page title if not exists(title) then title = mw.title.getCurrentTitle().text end local titleRow = infobox:tag('tr') local titleCell = titleRow:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.4em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '115%', ['position'] = 'relative', ['line-height'] = '2em', }) local titleDiv = mw.html.create('div') :css({ ['padding'] = '0 30px' }) :wikitext(title) titleCell:node(titleDiv) -- Football icon positioned in top-right corner titleCell:node( mw.html.create('div') :css({ ['position'] = 'absolute', ['top'] = '5px', ['right'] = '5px' }) :wikitext('[[File:Soccerball.svg|30px|alt=ⵜⴰⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ]]') ) -- ── Logos / Brand Identity Images ───────────────────────── local logo1, logo1FromWD = getValueOrWikidata(args, 'ⴰⵍⵓⴳⵓ', 'P154') local logo2 = args['ⴰⵍⵓⴳⵓ2'] if exists(logo1) then local imgCell = infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em' }) local imgStr = '[[File:' .. logo1 .. '|220px|alt=' .. title .. ']]' if exists(logo2) then imgStr = imgStr .. '<br />[[File:' .. logo2 .. '|220px]]' end imgCell:wikitext(imgStr) if logo1FromWD and entityId then imgCell:wikitext(editIcon(entityId, 'P154')) end end -- ── Sections and Rows Definition ────────────────────────── local sections = { -- General Information { title_param = 'ⵓⵎⵍⴰⵏ ⵉⵎⴰⵜⴰⵢⵏ', default_title = 'ⵓⵎⵍⴰⵏ ⵉⵎⴰⵜⴰⵢⵏ', rows = { { 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'P1268' }, { 'ⵜⴰⵎⵓⵏⵜ', 'ⵜⴰⵎⵓⵏⵜ', 'P463' }, { 'ⵎⴼⴼⵔⵉⵙⵎ', 'ⵎⴼⴼⵔⵉⵙⵎ', nil }, { 'ⵉⴽⵯⵍⴰⵏ', 'ⵉⴽⵯⵍⴰⵏ', 'P462' }, { 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'P1449' }, { 'ⴰⴱⴰⵔⴰⵣ', 'ⴰⴱⴰⵔⴰⵣ', 'P115' }, { 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', 'P115' }, { 'ⴰⵙⵉⵜⵡⵉⴱ', 'ⴰⵙⵉⵜⵡⵉⴱ', 'P115' }, } }, -- FIFA Rankings { title_param = 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ', default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ', 'P1081' }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, -- Elo Ratings { title_param = 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ', default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ', 'P1081' }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, -- Key Figures { title_param = 'ⵉⵎⵙⵜⴳⴳⴰⵔⵏ ⴷ ⵉⵎⵓⵔⴰⵔⵏ', default_title = 'ⵉⵎⵙⵜⴳⴳⴰⵔⵏ ⴷ ⵉⵎⵓⵔⴰⵔⵏ', rows = { { 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'P286' }, { 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', nil }, { 'ⴰⵏⴱⴷⴰⴷ', 'ⴰⵏⴱⴷⴰⴷ', 'P634' }, { 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', nil }, } }, -- Historic Matches { title_param = 'ⵜⵉⵎⵏⵢⵓⴳⴰⵔⵉⵏ ⵉ ⵓⵎⵣⵔⵓⵢ', default_title = 'ⵜⵉⵎⵏⵢⵓⴳⴰⵔⵉⵏ ⵉ ⵓⵎⵣⵔⵓⵢ', rows = { { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ', 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil, 'fullwidth' }, { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ', 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil, 'fullwidth' }, { subheader = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ', 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', nil, 'fullwidth' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ 2', 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ 2', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ 2', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', nil, 'fullwidth' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ 3', 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ 3', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ 3', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', nil, 'fullwidth' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ 4', 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ 4', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ 4', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', nil, 'fullwidth' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ 5', 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ 5', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ 5', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', nil, 'fullwidth' }, { subheader = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ', 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', nil, 'fullwidth' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ 2', 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ 2', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ 2', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', nil, 'fullwidth' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ 3', 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ 3', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ 3', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', nil, 'fullwidth' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ 4', 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ 4', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ 4', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', nil, 'fullwidth' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ 5', 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ 5', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ 5', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', nil, 'fullwidth' }, } }, -- World Cup { title_param = 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- Confederation Cup { title_param = 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- Olympic games { title_param = 'ⵓⵍⴰⵎⴱⵢⴰⴷ', default_title = '[[ⵓⵔⴰⵔⵏ ⵓⵍⴰⵎⴱⵉⵏ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- CONCACAF Gold Cup { title_param = 'ⴽⵓⵏⴽⴰⴽⴰⴼ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵡⵓⵔⵖ ⵏ ⴽⵓⵏⴽⴰⴽⴰⴼ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- Copa America { title_param = 'ⴽⵓⵎⵏⵉⴱⵓⵍ', default_title = '[[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- UEFA European Championship { title_param = 'ⵢⵓⵡⵉⴼⴰ', default_title = '[[ⵜⴰⴱⵔⵣⴰ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵕⵓⴱⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- CAF Africa Cup { title_param = 'ⴽⴰⴼ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⴼⵔⵉⵇⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- AFC Asia Cup { title_param = 'ⵉⵢⵉⴼⵙⵉ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⴰⵣⵉⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- OFC Nation Cup { title_param = 'ⵓⵡⵉⵙⵉⴼ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵙⵢⴰⵏⵉⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- Other Championships { title_param = 'ⵜⴰⴱⵔⵣⴰ', default_title = 'ⵜⴰⴱⵔⵣⴰ', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 2', default_title = 'ⵜⴰⴱⵔⵣⴰ 2', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 3', default_title = 'ⵜⴰⴱⵔⵣⴰ 3', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 4', default_title = 'ⵜⴰⴱⵔⵣⴰ 4', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 5', default_title = 'ⵜⴰⴱⵔⵣⴰ 5', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } } } -- ── Render data blocks sequentially ─────────────────────── for _, section in ipairs(sections) do local sectionHtml = mw.html.create('') local hasContent = false local pendingSubHeader = nil local pendingRows = nil local function flushPending() if pendingRows and pendingRows.count > 0 then hasContent = true if pendingSubHeader then addSubHeader(sectionHtml, pendingSubHeader) end sectionHtml:node(pendingRows.html) end pendingSubHeader = nil pendingRows = nil end for _, rowDef in ipairs(section.rows) do if rowDef.subheader then flushPending() pendingSubHeader = rowDef.subheader pendingRows = { count = 0, html = mw.html.create('') } else local label, paramName, wdProp, fullwidth = rowDef[1], rowDef[2], rowDef[3], rowDef[4] if exists(label) then local value, fromWD = getValueOrWikidata(args, paramName, wdProp) if exists(value) then if not pendingRows then pendingRows = { count = 0, html = mw.html.create('') } end pendingRows.count = pendingRows.count + 1 local row = pendingRows.html:tag('tr') if fullwidth == 'fullwidth' then -- Full width row - spans both columns local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = ROW_BG, ['text-align'] = 'center', ['font-weight'] = 'bold', }) -- Add label as bold text followed by value cell:wikitext(label .. ': ') if fromWD and entityId and wdProp then local icons = {} local props = type(wdProp) == 'table' and wdProp or {wdProp} for _, pid in ipairs(props) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end else -- Standard two-column row row:tag('th') :wikitext(label) :css({ ['background-color'] = ROW_BG, ['padding'] = '0.2em', ['text-align'] = 'left', ['font-weight'] = 'bold', ['width'] = '45%', }) local cell = row:tag('td') :css({ ['padding'] = '0.2em' }) if fromWD and entityId and wdProp then local icons = {} local props = type(wdProp) == 'table' and wdProp or {wdProp} for _, pid in ipairs(props) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end end end end end end flushPending() if hasContent then -- Get the section title from args or use default local sectionTitle = args[section.title_param] or section.default_title addSectionHeader(infobox, sectionTitle) infobox:node(sectionHtml) end end -- ── Kit Graphics Sub-table Rendering ────────────────────── if exists(args['body1']) or exists(args['pattern_b1']) or exists(args['body2']) or exists(args['pattern_b2']) then addSectionHeader(infobox, 'ⵉⵔⵉⴽⵉⵜⵏ') -- Kits Header local kitContainer = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em', ['background-color'] = 'white' }) local kitTable = kitContainer:tag('table') :css({ ['width'] = '100%', ['background'] = 'transparent', ['text-align'] = 'center' }) local kitRow = kitTable:tag('tr') local function renderKitColumn(num, defaultTitle) local body = args['body'..num] local pattern_b = args['pattern_b'..num] if exists(body) or exists(pattern_b) then local cell = kitRow:tag('td') cell:wikitext(buildNativeKit(args, num, defaultTitle)) end end renderKitColumn('1', 'ⴰⴷⵙⵍⴰⵏ') renderKitColumn('2', 'ⵡⵉⵙⵙ 2') renderKitColumn('3', 'ⵡⵉⵙⵙ 3') end -- ── Bottom Separator line ───────────────────────────────── infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['padding'] = '0', ['border-top'] = '2px dashed ' .. HEADER_COLOR }) -- ── Action Footer Links ─────────────────────────────────── local currentTitle = mw.title.getCurrentTitle() local editSourceUrl = currentTitle:fullUrl({ action = 'edit', section = '0' }) local editVisualUrl = currentTitle:fullUrl({ veaction = 'edit' }) local footerCell = infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.2em', ['font-size'] = '85%', ['text-align'] = 'left', ['background-color'] = '#f8f9fa', }) local footerDiv = mw.html.create('div') :css({ ['display'] = 'flex', ['justify-content'] = 'space-between', ['align-items'] = 'center' }) local editSpan = footerDiv:tag('span'):addClass('plainlinks') if entityId and entityId ~= '' then local wdUrl = 'https://www.wikidata.org/wiki/Special:EntityPage/' .. entityId editSpan:wikitext( '[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · ' .. '[' .. editVisualUrl .. ' ⵙⵏⴼⵍ] · ' .. '[' .. wdUrl .. ' ⵡⵉⴽⵉⴷⴰⵜⴰ]' ) else editSpan:wikitext( '[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · ' .. '[' .. editVisualUrl .. ' ⵙⵏⴼⵍ]' ) end local templateDocUrl = mw.title.new('ⴰⵍⴱⵓⴹ:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ'):fullUrl() footerDiv:tag('span') :css({ ['float'] = 'right', ['margin-left'] = '5px' }) :wikitext('[[File:Info Simple.svg|18px|link=' .. templateDocUrl .. '|ⵥⵕ ⵓⴳⴳⴰⵔ ⵅⴼ ⵡⴰⵍⴱⵓⴹ ⴰⴷ]]') footerCell:node(footerDiv) return tostring(infobox) end return p qp1dkjbzmc3e0b4u3tl7mqkd50owd7n 177034 177033 2026-06-25T21:55:18Z Essaidib2 15 177034 Scribunto text/plain -- This module generates an infobox for national football teams -- Supports manual template parameters and Wikidata auto-fetch. -- Module usage: {{#invoke:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|main|qid=}} -- Template usage: {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}} -- ============================================================ local p = {} -- ── Constants ────────────────────────────────────────────────── local HEADER_COLOR = '#8FCEFF' -- Red header local HEADER_TEXT = 'Black' local ROW_BG = '#f0f0f0' -- ── Helper Functions ────────────────────────────────────────── function trimWhitespace(str) if not str then return '' end return mw.text.trim(str) end function exists(value) return value and value ~= '' and value ~= nil end -- ── Custom Argument Parser (self-contained) ────────────────── function getArgs(frame) local args = {} -- Get the parent frame (the template that called this module) local parent = frame:getParent() -- If there's no parent, use the current frame if not parent then parent = frame end -- Get all arguments from the parent frame local parentArgs = parent.args -- Process named arguments for key, value in pairs(parentArgs) do if type(key) == 'string' then -- Clean the key (trim whitespace) local cleanKey = mw.text.trim(key) if cleanKey ~= '' then -- Clean the value local cleanValue = value if type(cleanValue) == 'string' then cleanValue = mw.text.trim(cleanValue) end -- Only add if not empty (removeBlanks) if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end -- Process numbered/positional arguments local i = 1 while true do if parentArgs[i] == nil then break end local value = parentArgs[i] if type(value) == 'string' then value = mw.text.trim(value) end if value ~= '' then args[i] = value end i = i + 1 end -- Also check frame.args directly (for when module is called directly) for key, value in pairs(frame.args) do if type(key) == 'string' then local cleanKey = mw.text.trim(key) if cleanKey ~= '' then local cleanValue = value if type(cleanValue) == 'string' then cleanValue = mw.text.trim(cleanValue) end if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end return args end function getEntity(entityId) if not entityId or entityId == '' then return nil end return mw.wikibase.getEntity(entityId) end function getValueOrWikidata(args, paramName, wdProp) -- Check if value exists in args local value = args[paramName] if value and value ~= '' then return value, false end -- If no Wikidata property specified or no entity ID, return nothing if not wdProp or not args.qid then return nil, false end -- Try to get from Wikidata local entity = getEntity(args.qid) if not entity then return nil, false end local claims = entity.claims if not claims or not claims[wdProp] then return nil, false end -- Get the first claim value local claim = claims[wdProp][1] if not claim then return nil, false end local value = nil local datatype = claim.datatype if datatype == 'string' or datatype == 'external-id' or datatype == 'url' then value = claim.mainsnak.datavalue.value elseif datatype == 'monolingualtext' then value = claim.mainsnak.datavalue.value.text elseif datatype == 'wikibase-item' then local id = claim.mainsnak.datavalue.value.id value = mw.wikibase.getLabel(id) elseif datatype == 'time' then value = claim.mainsnak.datavalue.value.time elseif datatype == 'quantity' then value = claim.mainsnak.datavalue.value.amount end if value and value ~= '' then return value, true end return nil, false end function editIcon(entityId, propertyId) if not entityId or not propertyId then return '' end local url = 'https://www.wikidata.org/wiki/Special:EditEntity/' .. entityId .. '#' .. propertyId return ' <sup class="plainlinks">[' .. url .. ' ⵙⵏⴼⵍ]</sup>' end function buildNativeKit(args, num, title) local pattern_b = args['pattern_b' .. num] or '' local pattern_la = args['pattern_la' .. num] or '' local pattern_ra = args['pattern_ra' .. num] or '' local pattern_sh = args['pattern_sh' .. num] or '' local pattern_so = args['pattern_so' .. num] or '' local leftarm = args['leftarm' .. num] or '' local body = args['body' .. num] or '' local rightarm = args['rightarm' .. num] or '' local shorts = args['shorts' .. num] or '' local socks = args['socks' .. num] or '' -- Helper to format CSS colors correctly (defaulting to white) local function formatColor(c) if not c or mw.text.trim(c) == '' then return '#ffffff' end c = mw.text.trim(c) if string.match(c, '^[0-9A-Fa-f]{3}$') or string.match(c, '^[0-9A-Fa-f]{6}$') then return '#' .. c end return c end -- Default missing patterns to 'empty' files if pattern_la == '' then pattern_la = 'empty' end if pattern_b == '' then pattern_b = 'empty' end if pattern_ra == '' then pattern_ra = 'empty' end if pattern_sh == '' then pattern_sh = 'empty' end if pattern_so == '' then pattern_so = 'empty' end -- Main kit wrapper local kitHtml = mw.html.create('div') :css({ ['text-align'] = 'center', ['margin'] = '5px' }) -- Title if title then kitHtml:tag('div') :css({ ['font-weight'] = 'bold', ['font-size'] = '90%', ['margin-bottom'] = '3px' }) :wikitext(title) end -- Kit graphics container local kitDiv = kitHtml:tag('div') :css({ ['display'] = 'inline-block', ['background-color'] = '#ffffff', ['padding'] = '5px', ['border'] = '1px solid #ccc', ['width'] = '100px' }) -- Shirt block local shirt = kitDiv:tag('div') :css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '59px', ['margin'] = '0 auto', ['padding'] = '0' }) -- Left arm shirt:tag('div') :css({ ['position'] = 'absolute', ['left'] = '0', ['top'] = '0', ['width'] = '31px', ['height'] = '59px', ['background-color'] = formatColor(leftarm) }) :wikitext('[[File:Kit left arm ' .. pattern_la .. '.png|31x59px|alt=|link=]]') -- Body shirt:tag('div') :css({ ['position'] = 'absolute', ['left'] = '31px', ['top'] = '0', ['width'] = '38px', ['height'] = '59px', ['background-color'] = formatColor(body) }) :wikitext('[[File:Kit body ' .. pattern_b .. '.png|38x59px|alt=|link=]]') -- Right arm shirt:tag('div') :css({ ['position'] = 'absolute', ['left'] = '69px', ['top'] = '0', ['width'] = '31px', ['height'] = '59px', ['background-color'] = formatColor(rightarm) }) :wikitext('[[File:Kit right arm ' .. pattern_ra .. '.png|31x59px|alt=|link=]]') -- Shorts block kitDiv:tag('div') :css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '36px', ['margin'] = '0 auto', ['padding'] = '0', ['background-color'] = formatColor(shorts) }) :wikitext('[[File:Kit shorts ' .. pattern_sh .. '.png|100x36px|alt=|link=]]') -- Socks block kitDiv:tag('div') :css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '25px', ['margin'] = '0 auto', ['padding'] = '0', ['background-color'] = formatColor(socks) }) :wikitext('[[File:Kit socks ' .. pattern_so .. '.png|100x25px|alt=|link=]]') return tostring(kitHtml) end -- ── UI Functions ───────────────────────────────────────────── function addSectionHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.3em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '105%', ['border-top'] = '2px solid #ccc', }) :wikitext(title) return cell end function addSubHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = '#e8e8e8', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '95%', ['font-style'] = 'italic', }) :wikitext(title) return cell end -- ── Main Entry Point ────────────────────────────────────────── function p.main(frame) local args = getArgs(frame) -- Resolve Wikidata Entity ID local entityId = trimWhitespace(args.qid) if entityId == '' then entityId = mw.wikibase and mw.wikibase.getEntityIdForCurrentPage() or nil end args.qid = entityId local entity = getEntity(entityId) -- ── Build the infobox table ─────────────────────────────── local infobox = mw.html.create('table') infobox:addClass('infobox') infobox:css({ ['border'] = '1px solid #a2a9b1', ['border-spacing'] = '3px', ['background-color'] = '#f8f9fa', ['color'] = 'black', ['margin'] = '0.5em 0 0.5em 1em', ['padding'] = '0.2em', ['float'] = 'right', ['clear'] = 'right', ['font-size'] = '90%', ['line-height'] = '1.5em', ['width'] = '22em', }) -- ── Title header ───────────────────────────────────────── -- Try to get title from args first local title, titleFromWD = getValueOrWikidata(args, 'ⴰⵣⵡⵍ', nil) -- If not found, try to get label from Wikidata if not exists(title) and entityId then title = mw.wikibase.getLabel(entityId) end -- Fallback to page title if not exists(title) then title = mw.title.getCurrentTitle().text end local titleRow = infobox:tag('tr') local titleCell = titleRow:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.4em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '115%', ['position'] = 'relative', ['line-height'] = '2em', }) local titleDiv = mw.html.create('div') :css({ ['padding'] = '0 30px' }) :wikitext(title) titleCell:node(titleDiv) -- Football icon positioned in top-right corner titleCell:node( mw.html.create('div') :css({ ['position'] = 'absolute', ['top'] = '5px', ['right'] = '5px' }) :wikitext('[[File:Soccerball.svg|30px|alt=ⵜⴰⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ]]') ) -- ── Logos / Brand Identity Images ───────────────────────── local logo1, logo1FromWD = getValueOrWikidata(args, 'ⴰⵍⵓⴳⵓ', 'P154') local logo2 = args['ⴰⵍⵓⴳⵓ2'] if exists(logo1) then local imgCell = infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em' }) local imgStr = '[[File:' .. logo1 .. '|220px|alt=' .. title .. ']]' if exists(logo2) then imgStr = imgStr .. '<br />[[File:' .. logo2 .. '|220px]]' end imgCell:wikitext(imgStr) if logo1FromWD and entityId then imgCell:wikitext(editIcon(entityId, 'P154')) end end -- ── Sections and Rows Definition ────────────────────────── local sections = { -- General Information { title_param = 'ⵓⵎⵍⴰⵏ ⵉⵎⴰⵜⴰⵢⵏ', default_title = 'ⵓⵎⵍⴰⵏ ⵉⵎⴰⵜⴰⵢⵏ', rows = { { 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'P1268' }, { 'ⵜⴰⵎⵓⵏⵜ', 'ⵜⴰⵎⵓⵏⵜ', 'P463' }, { 'ⵎⴼⴼⵔⵉⵙⵎ', 'ⵎⴼⴼⵔⵉⵙⵎ', nil }, { 'ⵉⴽⵯⵍⴰⵏ', 'ⵉⴽⵯⵍⴰⵏ', 'P462' }, { 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'P1449' }, { 'ⴰⴱⴰⵔⴰⵣ', 'ⴰⴱⴰⵔⴰⵣ', 'P115' }, { 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', 'P115' }, { 'ⴰⵙⵉⵜⵡⵉⴱ', 'ⴰⵙⵉⵜⵡⵉⴱ', 'P115' }, } }, -- FIFA Rankings { title_param = 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ', default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ', 'P1081' }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, -- Elo Ratings { title_param = 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ', default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ', 'P1081' }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, -- Key Figures { title_param = 'ⵉⵎⵙⵜⴳⴳⴰⵔⵏ ⴷ ⵉⵎⵓⵔⴰⵔⵏ', default_title = 'ⵉⵎⵙⵜⴳⴳⴰⵔⵏ ⴷ ⵉⵎⵓⵔⴰⵔⵏ', rows = { { 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'P286' }, { 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', nil }, { 'ⴰⵏⴱⴷⴰⴷ', 'ⴰⵏⴱⴷⴰⴷ', 'P634' }, { 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', nil }, } }, -- Historic Matches { title_param = 'ⵜⵉⵎⵏⵢⵓⴳⴰⵔⵉⵏ ⵉ ⵓⵎⵣⵔⵓⵢ', default_title = 'ⵜⵉⵎⵏⵢⵓⴳⴰⵔⵉⵏ ⵉ ⵓⵎⵣⵔⵓⵢ', rows = { { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ', 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil, 'fullwidth' }, { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ', 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil, 'fullwidth' }, { subheader = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ', 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', nil, 'fullwidth' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ 2', 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ 2', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ 2', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', nil, 'fullwidth' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ 3', 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ 3', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ 3', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', nil, 'fullwidth' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ 4', 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ 4', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ 4', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', nil, 'fullwidth' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ 5', 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ 5', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ 5', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', nil, 'fullwidth' }, { subheader = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ', 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', nil, 'fullwidth' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ 2', 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ 2', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ 2', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', nil, 'fullwidth' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ 3', 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ 3', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ 3', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', nil, 'fullwidth' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ 4', 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ 4', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ 4', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', nil, 'fullwidth' }, { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ 5', 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', nil, 'fullwidth' }, { 'ⴰⵙⴰⴽⵓⴷ 5', 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', nil, 'fullwidth' }, { 'ⴰⴷⵖⴰⵔ 5', 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', nil, 'fullwidth' }, } }, -- World Cup { title_param = 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- Confederation Cup { title_param = 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- Olympic games { title_param = 'ⵓⵍⴰⵎⴱⵢⴰⴷ', default_title = '[[ⵓⵔⴰⵔⵏ ⵓⵍⴰⵎⴱⵉⵏ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- CONCACAF Gold Cup { title_param = 'ⴽⵓⵏⴽⴰⴽⴰⴼ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵡⵓⵔⵖ ⵏ ⴽⵓⵏⴽⴰⴽⴰⴼ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- Copa America { title_param = 'ⴽⵓⵎⵏⵉⴱⵓⵍ', default_title = '[[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- UEFA European Championship { title_param = 'ⵢⵓⵡⵉⴼⴰ', default_title = '[[ⵜⴰⴱⵔⵣⴰ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵕⵓⴱⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- CAF Africa Cup { title_param = 'ⴽⴰⴼ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⴼⵔⵉⵇⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- AFC Asia Cup { title_param = 'ⵉⵢⵉⴼⵙⵉ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⴰⵣⵉⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- OFC Nation Cup { title_param = 'ⵓⵡⵉⵙⵉⴼ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵙⵢⴰⵏⵉⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- Other Championships { title_param = 'ⵜⴰⴱⵔⵣⴰ', default_title = 'ⵜⴰⴱⵔⵣⴰ', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 2', default_title = 'ⵜⴰⴱⵔⵣⴰ 2', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 3', default_title = 'ⵜⴰⴱⵔⵣⴰ 3', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 4', default_title = 'ⵜⴰⴱⵔⵣⴰ 4', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 5', default_title = 'ⵜⴰⴱⵔⵣⴰ 5', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } } } -- ── Render data blocks sequentially ─────────────────────── for _, section in ipairs(sections) do local sectionHtml = mw.html.create('') local hasContent = false local pendingSubHeader = nil local pendingRows = nil local function flushPending() if pendingRows and pendingRows.count > 0 then hasContent = true if pendingSubHeader then addSubHeader(sectionHtml, pendingSubHeader) end sectionHtml:node(pendingRows.html) end pendingSubHeader = nil pendingRows = nil end for _, rowDef in ipairs(section.rows) do if rowDef.subheader then flushPending() pendingSubHeader = rowDef.subheader pendingRows = { count = 0, html = mw.html.create('') } else local label, paramName, wdProp, fullwidth = rowDef[1], rowDef[2], rowDef[3], rowDef[4] if exists(label) then local value, fromWD = getValueOrWikidata(args, paramName, wdProp) if exists(value) then if not pendingRows then pendingRows = { count = 0, html = mw.html.create('') } end pendingRows.count = pendingRows.count + 1 local row = pendingRows.html:tag('tr') if fullwidth == 'fullwidth' then -- Full width row - spans both columns local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = ROW_BG, ['text-align'] = 'center', ['font-weight'] = 'bold', }) -- Add label as bold text followed by value cell:wikitext(label .. ': ') if fromWD and entityId and wdProp then local icons = {} local props = type(wdProp) == 'table' and wdProp or {wdProp} for _, pid in ipairs(props) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end else -- Standard two-column row row:tag('th') :wikitext(label) :css({ ['background-color'] = ROW_BG, ['padding'] = '0.2em', ['text-align'] = 'left', ['font-weight'] = 'bold', ['width'] = '45%', }) local cell = row:tag('td') :css({ ['padding'] = '0.2em' }) if fromWD and entityId and wdProp then local icons = {} local props = type(wdProp) == 'table' and wdProp or {wdProp} for _, pid in ipairs(props) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end end end end end end flushPending() if hasContent then -- Get the section title from args or use default local sectionTitle = args[section.title_param] or section.default_title addSectionHeader(infobox, sectionTitle) infobox:node(sectionHtml) end end -- ── Kit Graphics Sub-table Rendering ────────────────────── if exists(args['body1']) or exists(args['pattern_b1']) or exists(args['body2']) or exists(args['pattern_b2']) then addSectionHeader(infobox, 'ⵉⵔⵉⴽⵉⵜⵏ') -- Kits Header local kitContainer = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em', ['background-color'] = 'white' }) local kitTable = kitContainer:tag('table') :css({ ['width'] = '100%', ['background'] = 'transparent', ['text-align'] = 'center' }) local kitRow = kitTable:tag('tr') local function renderKitColumn(num, defaultTitle) local body = args['body'..num] local pattern_b = args['pattern_b'..num] if exists(body) or exists(pattern_b) then local cell = kitRow:tag('td') cell:wikitext(buildNativeKit(args, num, defaultTitle)) end end renderKitColumn('1', 'ⴰⴷⵙⵍⴰⵏ') renderKitColumn('2', 'ⵡⵉⵙⵙ 2') renderKitColumn('3', 'ⵡⵉⵙⵙ 3') end -- ── Bottom Separator line ───────────────────────────────── infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['padding'] = '0', ['border-top'] = '2px dashed ' .. HEADER_COLOR }) -- ── Action Footer Links ─────────────────────────────────── local currentTitle = mw.title.getCurrentTitle() local editSourceUrl = currentTitle:fullUrl({ action = 'edit', section = '0' }) local editVisualUrl = currentTitle:fullUrl({ veaction = 'edit' }) local footerCell = infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.2em', ['font-size'] = '85%', ['text-align'] = 'left', ['background-color'] = '#f8f9fa', }) local footerDiv = mw.html.create('div') :css({ ['display'] = 'flex', ['justify-content'] = 'space-between', ['align-items'] = 'center' }) local editSpan = footerDiv:tag('span'):addClass('plainlinks') if entityId and entityId ~= '' then local wdUrl = 'https://www.wikidata.org/wiki/Special:EntityPage/' .. entityId editSpan:wikitext( '[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · ' .. '[' .. editVisualUrl .. ' ⵙⵏⴼⵍ] · ' .. '[' .. wdUrl .. ' ⵡⵉⴽⵉⴷⴰⵜⴰ]' ) else editSpan:wikitext( '[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · ' .. '[' .. editVisualUrl .. ' ⵙⵏⴼⵍ]' ) end local templateDocUrl = mw.title.new('ⴰⵍⴱⵓⴹ:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ'):fullUrl() footerDiv:tag('span') :css({ ['float'] = 'right', ['margin-left'] = '5px' }) :wikitext('[[File:Info Simple.svg|18px|link=' .. templateDocUrl .. '|ⵥⵕ ⵓⴳⴳⴰⵔ ⵅⴼ ⵡⴰⵍⴱⵓⴹ ⴰⴷ]]') footerCell:node(footerDiv) return tostring(infobox) end return p nx3mtsswj6lgxabhzyn7o5jqp6vqoa3 177035 177034 2026-06-25T22:48:44Z Essaidib2 15 177035 Scribunto text/plain -- This module generates an infobox for national football teams -- Supports manual template parameters and Wikidata auto-fetch. -- Module usage: {{#invoke:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|main|qid=}} -- Template usage: {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}} -- ============================================================ local p = {} -- ── Constants ────────────────────────────────────────────────── local HEADER_COLOR = '#8FCEFF' -- Red header local HEADER_TEXT = 'Black' local ROW_BG = '#f0f0f0' -- ── Helper Functions ────────────────────────────────────────── function trimWhitespace(str) if not str then return '' end return mw.text.trim(str) end function exists(value) return value and value ~= '' and value ~= nil end -- ── Custom Argument Parser (self-contained) ────────────────── function getArgs(frame) local args = {} -- Get the parent frame (the template that called this module) local parent = frame:getParent() -- If there's no parent, use the current frame if not parent then parent = frame end -- Get all arguments from the parent frame local parentArgs = parent.args -- Process named arguments for key, value in pairs(parentArgs) do if type(key) == 'string' then -- Clean the key (trim whitespace) local cleanKey = mw.text.trim(key) if cleanKey ~= '' then -- Clean the value local cleanValue = value if type(cleanValue) == 'string' then cleanValue = mw.text.trim(cleanValue) end -- Only add if not empty (removeBlanks) if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end -- Process numbered/positional arguments local i = 1 while true do if parentArgs[i] == nil then break end local value = parentArgs[i] if type(value) == 'string' then value = mw.text.trim(value) end if value ~= '' then args[i] = value end i = i + 1 end -- Also check frame.args directly (for when module is called directly) for key, value in pairs(frame.args) do if type(key) == 'string' then local cleanKey = mw.text.trim(key) if cleanKey ~= '' then local cleanValue = value if type(cleanValue) == 'string' then cleanValue = mw.text.trim(cleanValue) end if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end return args end function getEntity(entityId) if not entityId or entityId == '' then return nil end return mw.wikibase.getEntity(entityId) end function getValueOrWikidata(args, paramName, wdProp) -- Check if value exists in args local value = args[paramName] if value and value ~= '' then return value, false end -- If no Wikidata property specified or no entity ID, return nothing if not wdProp or not args.qid then return nil, false end -- Try to get from Wikidata local entity = getEntity(args.qid) if not entity then return nil, false end local claims = entity.claims if not claims or not claims[wdProp] then return nil, false end -- Get the first claim value local claim = claims[wdProp][1] if not claim then return nil, false end local value = nil local datatype = claim.datatype if datatype == 'string' or datatype == 'external-id' or datatype == 'url' then value = claim.mainsnak.datavalue.value elseif datatype == 'monolingualtext' then value = claim.mainsnak.datavalue.value.text elseif datatype == 'wikibase-item' then local id = claim.mainsnak.datavalue.value.id value = mw.wikibase.getLabel(id) elseif datatype == 'time' then value = claim.mainsnak.datavalue.value.time elseif datatype == 'quantity' then value = claim.mainsnak.datavalue.value.amount end if value and value ~= '' then return value, true end return nil, false end function editIcon(entityId, propertyId) if not entityId or not propertyId then return '' end local url = 'https://www.wikidata.org/wiki/Special:EditEntity/' .. entityId .. '#' .. propertyId return ' <sup class="plainlinks">[' .. url .. ' ⵙⵏⴼⵍ]</sup>' end function buildNativeKit(args, num, title) local pattern_b = args['pattern_b' .. num] or '' local pattern_la = args['pattern_la' .. num] or '' local pattern_ra = args['pattern_ra' .. num] or '' local pattern_sh = args['pattern_sh' .. num] or '' local pattern_so = args['pattern_so' .. num] or '' local leftarm = args['leftarm' .. num] or '' local body = args['body' .. num] or '' local rightarm = args['rightarm' .. num] or '' local shorts = args['shorts' .. num] or '' local socks = args['socks' .. num] or '' -- Helper to format CSS colors correctly (defaulting to white) local function formatColor(c) if not c or mw.text.trim(c) == '' then return '#ffffff' end c = mw.text.trim(c) if string.match(c, '^[0-9A-Fa-f]{3}$') or string.match(c, '^[0-9A-Fa-f]{6}$') then return '#' .. c end return c end -- Default missing patterns to 'empty' files if pattern_la == '' then pattern_la = 'empty' end if pattern_b == '' then pattern_b = 'empty' end if pattern_ra == '' then pattern_ra = 'empty' end if pattern_sh == '' then pattern_sh = 'empty' end if pattern_so == '' then pattern_so = 'empty' end -- Main kit wrapper local kitHtml = mw.html.create('div') :css({ ['text-align'] = 'center', ['margin'] = '5px' }) -- Title if title then kitHtml:tag('div') :css({ ['font-weight'] = 'bold', ['font-size'] = '90%', ['margin-bottom'] = '3px' }) :wikitext(title) end -- Kit graphics container local kitDiv = kitHtml:tag('div') :css({ ['display'] = 'inline-block', ['background-color'] = '#ffffff', ['padding'] = '5px', ['border'] = '1px solid #ccc', ['width'] = '100px' }) -- Shirt block local shirt = kitDiv:tag('div') :css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '59px', ['margin'] = '0 auto', ['padding'] = '0' }) -- Left arm shirt:tag('div') :css({ ['position'] = 'absolute', ['left'] = '0', ['top'] = '0', ['width'] = '31px', ['height'] = '59px', ['background-color'] = formatColor(leftarm) }) :wikitext('[[File:Kit left arm ' .. pattern_la .. '.png|31x59px|alt=|link=]]') -- Body shirt:tag('div') :css({ ['position'] = 'absolute', ['left'] = '31px', ['top'] = '0', ['width'] = '38px', ['height'] = '59px', ['background-color'] = formatColor(body) }) :wikitext('[[File:Kit body ' .. pattern_b .. '.png|38x59px|alt=|link=]]') -- Right arm shirt:tag('div') :css({ ['position'] = 'absolute', ['left'] = '69px', ['top'] = '0', ['width'] = '31px', ['height'] = '59px', ['background-color'] = formatColor(rightarm) }) :wikitext('[[File:Kit right arm ' .. pattern_ra .. '.png|31x59px|alt=|link=]]') -- Shorts block kitDiv:tag('div') :css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '36px', ['margin'] = '0 auto', ['padding'] = '0', ['background-color'] = formatColor(shorts) }) :wikitext('[[File:Kit shorts ' .. pattern_sh .. '.png|100x36px|alt=|link=]]') -- Socks block kitDiv:tag('div') :css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '25px', ['margin'] = '0 auto', ['padding'] = '0', ['background-color'] = formatColor(socks) }) :wikitext('[[File:Kit socks ' .. pattern_so .. '.png|100x25px|alt=|link=]]') return tostring(kitHtml) end -- ── UI Functions ───────────────────────────────────────────── function addSectionHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.3em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '105%', ['border-top'] = '2px solid #ccc', }) :wikitext(title) return cell end function addSubHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = '#e8e8e8', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '95%', ['font-style'] = 'italic', }) :wikitext(title) return cell end -- ── Main Entry Point ────────────────────────────────────────── function p.main(frame) local args = getArgs(frame) -- Resolve Wikidata Entity ID local entityId = trimWhitespace(args.qid) if entityId == '' then entityId = mw.wikibase and mw.wikibase.getEntityIdForCurrentPage() or nil end args.qid = entityId local entity = getEntity(entityId) -- ── Build the infobox table ─────────────────────────────── local infobox = mw.html.create('table') infobox:addClass('infobox') infobox:css({ ['border'] = '1px solid #a2a9b1', ['border-spacing'] = '3px', ['background-color'] = '#f8f9fa', ['color'] = 'black', ['margin'] = '0.5em 0 0.5em 1em', ['padding'] = '0.2em', ['float'] = 'right', ['clear'] = 'right', ['font-size'] = '90%', ['line-height'] = '1.5em', ['width'] = '22em', }) -- ── Title header ───────────────────────────────────────── -- Try to get title from args first local title, titleFromWD = getValueOrWikidata(args, 'ⴰⵣⵡⵍ', nil) -- If not found, try to get label from Wikidata if not exists(title) and entityId then title = mw.wikibase.getLabel(entityId) end -- Fallback to page title if not exists(title) then title = mw.title.getCurrentTitle().text end local titleRow = infobox:tag('tr') local titleCell = titleRow:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.4em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '115%', ['position'] = 'relative', ['line-height'] = '2em', }) local titleDiv = mw.html.create('div') :css({ ['padding'] = '0 30px' }) :wikitext(title) titleCell:node(titleDiv) -- Football icon positioned in top-right corner titleCell:node( mw.html.create('div') :css({ ['position'] = 'absolute', ['top'] = '5px', ['right'] = '5px' }) :wikitext('[[File:Soccerball.svg|30px|alt=ⵜⴰⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ]]') ) -- ── Logos / Brand Identity Images ───────────────────────── local logo1, logo1FromWD = getValueOrWikidata(args, 'ⴰⵍⵓⴳⵓ', 'P154') local logo2 = args['ⴰⵍⵓⴳⵓ2'] if exists(logo1) then local imgCell = infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em' }) local imgStr = '[[File:' .. logo1 .. '|220px|alt=' .. title .. ']]' if exists(logo2) then imgStr = imgStr .. '<br />[[File:' .. logo2 .. '|220px]]' end imgCell:wikitext(imgStr) if logo1FromWD and entityId then imgCell:wikitext(editIcon(entityId, 'P154')) end end -- ── Sections and Rows Definition ────────────────────────── local sections = { -- General Information { title_param = 'ⵓⵎⵍⴰⵏ ⵉⵎⴰⵜⴰⵢⵏ', default_title = 'ⵓⵎⵍⴰⵏ ⵉⵎⴰⵜⴰⵢⵏ', rows = { { 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'P1268' }, { 'ⵜⴰⵎⵓⵏⵜ', 'ⵜⴰⵎⵓⵏⵜ', 'P463' }, { 'ⵎⴼⴼⵔⵉⵙⵎ', 'ⵎⴼⴼⵔⵉⵙⵎ', nil }, { 'ⵉⴽⵯⵍⴰⵏ', 'ⵉⴽⵯⵍⴰⵏ', 'P462' }, { 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'P1449' }, { 'ⴰⴱⴰⵔⴰⵣ', 'ⴰⴱⴰⵔⴰⵣ', 'P115' }, { 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', 'P115' }, { 'ⴰⵙⵉⵜⵡⵉⴱ', 'ⴰⵙⵉⵜⵡⵉⴱ', 'P115' }, } }, -- FIFA Rankings { title_param = 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ', default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ', 'P1081' }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, -- Elo Ratings { title_param = 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ', default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ', 'P1081' }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, -- Key Figures { title_param = 'ⵉⵎⵙⵜⴳⴳⴰⵔⵏ ⴷ ⵉⵎⵓⵔⴰⵔⵏ', default_title = 'ⵉⵎⵙⵜⴳⴳⴰⵔⵏ ⴷ ⵉⵎⵓⵔⴰⵔⵏ', rows = { { 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'P286' }, { 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', nil }, { 'ⴰⵏⴱⴷⴰⴷ', 'ⴰⵏⴱⴷⴰⴷ', 'P634' }, { 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', nil }, } }, -- Historic Matches { title_param = 'ⵜⵉⵎⵏⵢⵓⴳⴰⵔⵉⵏ ⵉ ⵓⵎⵣⵔⵓⵢ', default_title = 'ⵜⵉⵎⵏⵢⵓⴳⴰⵔⵉⵏ ⵉ ⵓⵎⵣⵔⵓⵢ', rows = { { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ' }, { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ' }, { subheader = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5' }, { subheader = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5' }, } }, -- World Cup { title_param = 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- Confederation Cup { title_param = 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- Olympic games { title_param = 'ⵓⵍⴰⵎⴱⵢⴰⴷ', default_title = '[[ⵓⵔⴰⵔⵏ ⵓⵍⴰⵎⴱⵉⵏ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- CONCACAF Gold Cup { title_param = 'ⴽⵓⵏⴽⴰⴽⴰⴼ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵡⵓⵔⵖ ⵏ ⴽⵓⵏⴽⴰⴽⴰⴼ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- Copa America { title_param = 'ⴽⵓⵎⵏⵉⴱⵓⵍ', default_title = '[[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- UEFA European Championship { title_param = 'ⵢⵓⵡⵉⴼⴰ', default_title = '[[ⵜⴰⴱⵔⵣⴰ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵕⵓⴱⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- CAF Africa Cup { title_param = 'ⴽⴰⴼ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⴼⵔⵉⵇⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- AFC Asia Cup { title_param = 'ⵉⵢⵉⴼⵙⵉ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⴰⵣⵉⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- OFC Nation Cup { title_param = 'ⵓⵡⵉⵙⵉⴼ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵙⵢⴰⵏⵉⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- Other Championships { title_param = 'ⵜⴰⴱⵔⵣⴰ', default_title = 'ⵜⴰⴱⵔⵣⴰ', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 2', default_title = 'ⵜⴰⴱⵔⵣⴰ 2', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 3', default_title = 'ⵜⴰⴱⵔⵣⴰ 3', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 4', default_title = 'ⵜⴰⴱⵔⵣⴰ 4', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 5', default_title = 'ⵜⴰⴱⵔⵣⴰ 5', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } } } -- ── Render data blocks sequentially ─────────────────────── for _, section in ipairs(sections) do local sectionHtml = mw.html.create('') local hasContent = false local pendingSubHeader = nil local pendingRows = nil local function flushPending() if pendingRows and pendingRows.count > 0 then hasContent = true if pendingSubHeader then addSubHeader(sectionHtml, pendingSubHeader) end sectionHtml:node(pendingRows.html) end pendingSubHeader = nil pendingRows = nil end for _, rowDef in ipairs(section.rows) do if rowDef.subheader then flushPending() pendingSubHeader = rowDef.subheader pendingRows = { count = 0, html = mw.html.create('') } elseif rowDef.type == 'historic_match' then -- Combined layout for Historic Matches local matchVal, matchFromWD = getValueOrWikidata(args, rowDef.match, nil) local dateVal = getValueOrWikidata(args, rowDef.date, nil) local locVal = getValueOrWikidata(args, rowDef.loc, nil) if exists(matchVal) then if not pendingRows then pendingRows = { count = 0, html = mw.html.create('') } end pendingRows.count = pendingRows.count + 1 local row = pendingRows.html:tag('tr') local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = ROW_BG, ['text-align'] = 'center', }) local content = matchVal if exists(locVal) or exists(dateVal) then content = content .. '<br />' if exists(locVal) then content = content .. locVal end if exists(dateVal) then if exists(locVal) then content = content .. ' (' .. dateVal .. ')' else content = content .. '(' .. dateVal .. ')' end end end cell:wikitext(content) end else local label, paramName, wdProp, fullwidth = rowDef[1], rowDef[2], rowDef[3], rowDef[4] if exists(label) then local value, fromWD = getValueOrWikidata(args, paramName, wdProp) if exists(value) then if not pendingRows then pendingRows = { count = 0, html = mw.html.create('') } end pendingRows.count = pendingRows.count + 1 local row = pendingRows.html:tag('tr') if fullwidth == 'fullwidth' then -- Full width row - spans both columns local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = ROW_BG, ['text-align'] = 'center', ['font-weight'] = 'bold', }) -- Add value without the label prefix if fromWD and entityId and wdProp then local icons = {} local props = type(wdProp) == 'table' and wdProp or {wdProp} for _, pid in ipairs(props) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end else -- Standard two-column row row:tag('th') :wikitext(label) :css({ ['background-color'] = ROW_BG, ['padding'] = '0.2em', ['text-align'] = 'left', ['font-weight'] = 'bold', ['width'] = '45%', }) local cell = row:tag('td') :css({ ['padding'] = '0.2em' }) if fromWD and entityId and wdProp then local icons = {} local props = type(wdProp) == 'table' and wdProp or {wdProp} for _, pid in ipairs(props) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end end end end end end flushPending() if hasContent then -- Get the section title from args or use default local sectionTitle = args[section.title_param] or section.default_title addSectionHeader(infobox, sectionTitle) infobox:node(sectionHtml) end end -- ── Kit Graphics Sub-table Rendering ────────────────────── if exists(args['body1']) or exists(args['pattern_b1']) or exists(args['body2']) or exists(args['pattern_b2']) then addSectionHeader(infobox, 'ⵉⵔⵉⴽⵉⵜⵏ') -- Kits Header local kitContainer = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em', ['background-color'] = 'white' }) local kitTable = kitContainer:tag('table') :css({ ['width'] = '100%', ['background'] = 'transparent', ['text-align'] = 'center' }) local kitRow = kitTable:tag('tr') local function renderKitColumn(num, defaultTitle) local body = args['body'..num] local pattern_b = args['pattern_b'..num] if exists(body) or exists(pattern_b) then local cell = kitRow:tag('td') cell:wikitext(buildNativeKit(args, num, defaultTitle)) end end renderKitColumn('1', 'ⴰⴷⵙⵍⴰⵏ') renderKitColumn('2', 'ⵡⵉⵙⵙ 2') renderKitColumn('3', 'ⵡⵉⵙⵙ 3') end -- ── Bottom Separator line ───────────────────────────────── infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['padding'] = '0', ['border-top'] = '2px dashed ' .. HEADER_COLOR }) -- ── Action Footer Links ─────────────────────────────────── local currentTitle = mw.title.getCurrentTitle() local editSourceUrl = currentTitle:fullUrl({ action = 'edit', section = '0' }) local editVisualUrl = currentTitle:fullUrl({ veaction = 'edit' }) local footerCell = infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.2em', ['font-size'] = '85%', ['text-align'] = 'left', ['background-color'] = '#f8f9fa', }) local footerDiv = mw.html.create('div') :css({ ['display'] = 'flex', ['justify-content'] = 'space-between', ['align-items'] = 'center' }) local editSpan = footerDiv:tag('span'):addClass('plainlinks') if entityId and entityId ~= '' then local wdUrl = 'https://www.wikidata.org/wiki/Special:EntityPage/' .. entityId editSpan:wikitext( '[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · ' .. '[' .. editVisualUrl .. ' ⵙⵏⴼⵍ] · ' .. '[' .. wdUrl .. ' ⵡⵉⴽⵉⴷⴰⵜⴰ]' ) else editSpan:wikitext( '[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · ' .. '[' .. editVisualUrl .. ' ⵙⵏⴼⵍ]' ) end local templateDocUrl = mw.title.new('ⴰⵍⴱⵓⴹ:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ'):fullUrl() footerDiv:tag('span') :css({ ['float'] = 'right', ['margin-left'] = '5px' }) :wikitext('[[File:Info Simple.svg|18px|link=' .. templateDocUrl .. '|ⵥⵕ ⵓⴳⴳⴰⵔ ⵅⴼ ⵡⴰⵍⴱⵓⴹ ⴰⴷ]]') footerCell:node(footerDiv) return tostring(infobox) end return p 1b4fpd20kjk0j6psd5sf6esz9u0plw3 177036 177035 2026-06-25T23:17:03Z Essaidib2 15 177036 Scribunto text/plain -- This module generates an infobox for national football teams -- Supports manual template parameters and Wikidata auto-fetch. -- Module usage: {{#invoke:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|main|qid=}} -- Template usage: {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}} -- ============================================================ local p = {} -- ── Constants ────────────────────────────────────────────────── local HEADER_COLOR = '#8FCEFF' -- Header background color local HEADER_TEXT = 'Black' local ROW_BG = '#f0f0f0' -- ── Helper Functions ────────────────────────────────────────── function trimWhitespace(str) if not str then return '' end return mw.text.trim(str) end function exists(value) return value and value ~= '' and value ~= nil end -- ── Custom Argument Parser (self-contained) ────────────────── function getArgs(frame) local args = {} local parent = frame:getParent() if not parent then parent = frame end local parentArgs = parent.args for key, value in pairs(parentArgs) do if type(key) == 'string' then local cleanKey = mw.text.trim(key) if cleanKey ~= '' then local cleanValue = type(value) == 'string' and mw.text.trim(value) or value if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end local i = 1 while true do if parentArgs[i] == nil then break end local value = parentArgs[i] if type(value) == 'string' then value = mw.text.trim(value) end if value ~= '' then args[i] = value end i = i + 1 end for key, value in pairs(frame.args) do if type(key) == 'string' then local cleanKey = mw.text.trim(key) if cleanKey ~= '' then local cleanValue = type(value) == 'string' and mw.text.trim(value) or value if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end return args end function getEntity(entityId) if not entityId or entityId == '' then return nil end return mw.wikibase.getEntity(entityId) end function getValueOrWikidata(args, paramName, wdProp) local value = args[paramName] if value and value ~= '' then return value, false end if not wdProp or not args.qid then return nil, false end local entity = getEntity(args.qid) if not entity then return nil, false end local claims = entity.claims if not claims or not claims[wdProp] then return nil, false end local claim = claims[wdProp][1] if not claim then return nil, false end local datatype = claim.datatype if datatype == 'string' or datatype == 'external-id' or datatype == 'url' then value = claim.mainsnak.datavalue.value elseif datatype == 'monolingualtext' then value = claim.mainsnak.datavalue.value.text elseif datatype == 'wikibase-item' then local id = claim.mainsnak.datavalue.value.id value = mw.wikibase.getLabel(id) elseif datatype == 'time' then value = claim.mainsnak.datavalue.value.time elseif datatype == 'quantity' then value = claim.mainsnak.datavalue.value.amount end if value and value ~= '' then return value, true end return nil, false end function editIcon(entityId, propertyId) if not entityId or not propertyId then return '' end local url = 'https://www.wikidata.org/wiki/Special:EditEntity/' .. entityId .. '#' .. propertyId return ' <sup class="plainlinks">[' .. url .. ' ⵙⵏⴼⵍ]</sup>' end function buildNativeKit(args, num, title) local pattern_b = args['pattern_b' .. num] or '' local pattern_la = args['pattern_la' .. num] or '' local pattern_ra = args['pattern_ra' .. num] or '' local pattern_sh = args['pattern_sh' .. num] or '' local pattern_so = args['pattern_so' .. num] or '' local leftarm = args['leftarm' .. num] or '' local body = args['body' .. num] or '' local rightarm = args['rightarm' .. num] or '' local shorts = args['shorts' .. num] or '' local socks = args['socks' .. num] or '' local function formatColor(c) if not c or mw.text.trim(c) == '' then return '#ffffff' end c = mw.text.trim(c) if string.match(c, '^[0-9A-Fa-f]{3}$') or string.match(c, '^[0-9A-Fa-f]{6}$') then return '#' .. c end return c end if pattern_la == '' then pattern_la = 'empty' end if pattern_b == '' then pattern_b = 'empty' end if pattern_ra == '' then pattern_ra = 'empty' end if pattern_sh == '' then pattern_sh = 'empty' end if pattern_so == '' then pattern_so = 'empty' end local kitHtml = mw.html.create('div') :css({ ['text-align'] = 'center', ['margin'] = '5px' }) if title then kitHtml:tag('div') :css({ ['font-weight'] = 'bold', ['font-size'] = '90%', ['margin-bottom'] = '3px' }) :wikitext(title) end local kitDiv = kitHtml:tag('div') :css({ ['display'] = 'inline-block', ['background-color'] = '#ffffff', ['padding'] = '5px', ['border'] = '1px solid #ccc', ['width'] = '100px' }) local shirt = kitDiv:tag('div') :css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '59px', ['margin'] = '0 auto', ['padding'] = '0' }) shirt:tag('div'):css({ ['position'] = 'absolute', ['left'] = '0', ['top'] = '0', ['width'] = '31px', ['height'] = '59px', ['background-color'] = formatColor(leftarm) }):wikitext('[[File:Kit left arm ' .. pattern_la .. '.png|31x59px|alt=|link=]]') shirt:tag('div'):css({ ['position'] = 'absolute', ['left'] = '31px', ['top'] = '0', ['width'] = '38px', ['height'] = '59px', ['background-color'] = formatColor(body) }):wikitext('[[File:Kit body ' .. pattern_b .. '.png|38x59px|alt=|link=]]') shirt:tag('div'):css({ ['position'] = 'absolute', ['left'] = '69px', ['top'] = '0', ['width'] = '31px', ['height'] = '59px', ['background-color'] = formatColor(rightarm) }):wikitext('[[File:Kit right arm ' .. pattern_ra .. '.png|31x59px|alt=|link=]]') kitDiv:tag('div'):css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '36px', ['margin'] = '0 auto', ['padding'] = '0', ['background-color'] = formatColor(shorts) }):wikitext('[[File:Kit shorts ' .. pattern_sh .. '.png|100x36px|alt=|link=]]') kitDiv:tag('div'):css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '25px', ['margin'] = '0 auto', ['padding'] = '0', ['background-color'] = formatColor(socks) }):wikitext('[[File:Kit socks ' .. pattern_so .. '.png|100x25px|alt=|link=]]') return tostring(kitHtml) end -- ── UI Functions ───────────────────────────────────────────── function addSectionHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.3em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '105%', ['border-top'] = '2px solid #ccc', }) :wikitext(title) return cell end function addSubHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = '#e8e8e8', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '95%', ['font-style'] = 'italic', }) :wikitext(title) return cell end -- ── Main Entry Point ────────────────────────────────────────── function p.main(frame) local args = getArgs(frame) local entityId = trimWhitespace(args.qid) if entityId == '' then entityId = mw.wikibase and mw.wikibase.getEntityIdForCurrentPage() or nil end args.qid = entityId local entity = getEntity(entityId) local infobox = mw.html.create('table') infobox:addClass('infobox') infobox:css({ ['border'] = '1px solid #a2a9b1', ['border-spacing'] = '3px', ['background-color'] = '#f8f9fa', ['color'] = 'black', ['margin'] = '0.5em 0 0.5em 1em', ['padding'] = '0.2em', ['float'] = 'right', ['clear'] = 'right', ['font-size'] = '90%', ['line-height'] = '1.5em', ['width'] = '22em', }) local title, titleFromWD = getValueOrWikidata(args, 'ⴰⵣⵡⵍ', nil) if not exists(title) and entityId then title = mw.wikibase.getLabel(entityId) end if not exists(title) then title = mw.title.getCurrentTitle().text end local titleRow = infobox:tag('tr') local titleCell = titleRow:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.4em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '115%', ['position'] = 'relative', ['line-height'] = '2em', }) local titleDiv = mw.html.create('div') :css({ ['padding'] = '0 30px' }) :wikitext(title) titleCell:node(titleDiv) titleCell:node( mw.html.create('div') :css({ ['position'] = 'absolute', ['top'] = '5px', ['right'] = '5px' }) :wikitext('[[File:Soccerball.svg|30px|alt=ⵜⴰⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ]]') ) local logo1, logo1FromWD = getValueOrWikidata(args, 'ⴰⵍⵓⴳⵓ', 'P154') local logo2 = args['ⴰⵍⵓⴳⵓ2'] if exists(logo1) then local imgCell = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em' }) local imgStr = '[[File:' .. logo1 .. '|220px|alt=' .. title .. ']]' if exists(logo2) then imgStr = imgStr .. '<br />[[File:' .. logo2 .. '|220px]]' end imgCell:wikitext(imgStr) if logo1FromWD and entityId then imgCell:wikitext(editIcon(entityId, 'P154')) end end -- ── Sections and Rows Definition ────────────────────────── local sections = { -- General Information { default_title = 'ⵓⵎⵍⴰⵏ ⵉⵎⴰⵜⴰⵢⵏ', rows = { { 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'P1268' }, { 'ⵜⴰⵎⵓⵏⵜ', 'ⵜⴰⵎⵓⵏⵜ', 'P463' }, { 'ⵎⴼⴼⵔⵉⵙⵎ', 'ⵎⴼⴼⵔⵉⵙⵎ', nil }, { 'ⵉⴽⵯⵍⴰⵏ', 'ⵉⴽⵯⵍⴰⵏ', 'P462' }, { 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'P1449' }, { 'ⴰⴱⴰⵔⴰⵣ', 'ⴰⴱⴰⵔⴰⵣ', 'P115' }, { 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', 'P115' }, { 'ⴰⵙⵉⵜⵡⵉⴱ', 'ⴰⵙⵉⵜⵡⵉⴱ', 'P115' }, } }, -- FIFA Rankings { default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ', 'P1081' }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, -- Elo Ratings { default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ', 'P1081' }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, -- Key Figures { default_title = 'ⵉⵎⵙⵜⴳⴳⴰⵔⵏ ⴷ ⵉⵎⵓⵔⴰⵔⵏ', rows = { { 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'P286' }, { 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', nil }, { 'ⴰⵏⴱⴷⴰⴷ', 'ⴰⵏⴱⴷⴰⴷ', 'P634' }, { 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', nil }, } }, -- Historic Matches { default_title = 'ⵜⵉⵎⵏⵢⵓⴳⴰⵔⵉⵏ ⵉ ⵓⵎⵣⵔⵓⵢ', rows = { { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ' }, { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ' }, { subheader = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5' }, { subheader = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5' }, } }, -- Palmarès (Grouped Competitions) { default_title = 'ⴰⴱⴰⵍⵎⴰⵔⵉⵙ', rows = { -- World Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- Confederation Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- Olympic games { subheader = '[[ⵓⵔⴰⵔⵏ ⵓⵍⴰⵎⴱⵉⵏ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- CONCACAF Gold Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵡⵓⵔⵖ ⵏ ⴽⵓⵏⴽⴰⴽⴰⴼ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- Copa America { subheader = '[[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- UEFA European Championship { subheader = '[[ⵜⴰⴱⵔⵣⴰ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵕⵓⴱⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- CAF Africa Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⴼⵔⵉⵇⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- AFC Asia Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⴰⵣⵉⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- OFC Nation Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵙⵢⴰⵏⵉⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- Other Championships { title_param = 'ⵜⴰⴱⵔⵣⴰ', default_title = 'ⵜⴰⴱⵔⵣⴰ', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 2', default_title = 'ⵜⴰⴱⵔⵣⴰ 2', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 3', default_title = 'ⵜⴰⴱⵔⵣⴰ 3', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 4', default_title = 'ⵜⴰⴱⵔⵣⴰ 4', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 5', default_title = 'ⵜⴰⴱⵔⵣⴰ 5', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } } } -- ── Render data blocks sequentially ─────────────────────── for _, section in ipairs(sections) do local sectionHtml = mw.html.create('') local hasContent = false local pendingSubHeader = nil local pendingRows = nil local function flushPending() if pendingRows and pendingRows.count > 0 then hasContent = true if pendingSubHeader then addSubHeader(sectionHtml, pendingSubHeader) end sectionHtml:node(pendingRows.html) end pendingSubHeader = nil pendingRows = nil end for _, rowDef in ipairs(section.rows) do if rowDef.subheader then flushPending() pendingSubHeader = rowDef.subheader pendingRows = { count = 0, html = mw.html.create('') } elseif rowDef.type == 'historic_match' then local matchVal, matchFromWD = getValueOrWikidata(args, rowDef.match, nil) local dateVal = getValueOrWikidata(args, rowDef.date, nil) local locVal = getValueOrWikidata(args, rowDef.loc, nil) if exists(matchVal) then if not pendingRows then pendingRows = { count = 0, html = mw.html.create('') } end pendingRows.count = pendingRows.count + 1 local row = pendingRows.html:tag('tr') local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = ROW_BG, ['text-align'] = 'center' }) local content = matchVal if exists(locVal) or exists(dateVal) then content = content .. '<br />' if exists(locVal) then content = content .. locVal end if exists(dateVal) then if exists(locVal) then content = content .. ' (' .. dateVal .. ')' else content = content .. '(' .. dateVal .. ')' end end end cell:wikitext(content) end else local label, paramName, wdProp, fullwidth = rowDef[1], rowDef[2], rowDef[3], rowDef[4] if exists(label) then local value, fromWD = getValueOrWikidata(args, paramName, wdProp) if exists(value) then if not pendingRows then pendingRows = { count = 0, html = mw.html.create('') } end pendingRows.count = pendingRows.count + 1 local row = pendingRows.html:tag('tr') if fullwidth == 'fullwidth' then local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = ROW_BG, ['text-align'] = 'center', ['font-weight'] = 'bold' }) if fromWD and entityId and wdProp then local icons = {} local props = type(wdProp) == 'table' and wdProp or {wdProp} for _, pid in ipairs(props) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end else row:tag('th') :wikitext(label) :css({ ['background-color'] = ROW_BG, ['padding'] = '0.2em', ['text-align'] = 'left', ['font-weight'] = 'bold', ['width'] = '45%' }) local cell = row:tag('td'):css({ ['padding'] = '0.2em' }) if fromWD and entityId and wdProp then local icons = {} local props = type(wdProp) == 'table' and wdProp or {wdProp} for _, pid in ipairs(props) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end end end end end end flushPending() if hasContent then -- Safely handle blocks with or without a title_param local sectionTitle = (section.title_param and args[section.title_param]) or section.default_title addSectionHeader(infobox, sectionTitle) infobox:node(sectionHtml) end end -- ── Kit Graphics Sub-table Rendering ────────────────────── if exists(args['body1']) or exists(args['pattern_b1']) or exists(args['body2']) or exists(args['pattern_b2']) then addSectionHeader(infobox, 'ⵉⵔⵉⴽⵉⵜⵏ') local kitContainer = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em', ['background-color'] = 'white' }) local kitTable = kitContainer:tag('table') :css({ ['width'] = '100%', ['background'] = 'transparent', ['text-align'] = 'center' }) local kitRow = kitTable:tag('tr') local function renderKitColumn(num, defaultTitle) local body = args['body'..num] local pattern_b = args['pattern_b'..num] if exists(body) or exists(pattern_b) then local cell = kitRow:tag('td') cell:wikitext(buildNativeKit(args, num, defaultTitle)) end end renderKitColumn('1', 'ⴰⴷⵙⵍⴰⵏ') renderKitColumn('2', 'ⵡⵉⵙⵙ 2') renderKitColumn('3', 'ⵡⵉⵙⵙ 3') end -- ── Bottom Separator line ───────────────────────────────── infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['padding'] = '0', ['border-top'] = '2px dashed ' .. HEADER_COLOR }) -- ── Action Footer Links ─────────────────────────────────── local currentTitle = mw.title.getCurrentTitle() local editSourceUrl = currentTitle:fullUrl({ action = 'edit', section = '0' }) local editVisualUrl = currentTitle:fullUrl({ veaction = 'edit' }) local footerCell = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.2em', ['font-size'] = '85%', ['text-align'] = 'left', ['background-color'] = '#f8f9fa' }) local footerDiv = mw.html.create('div') :css({ ['display'] = 'flex', ['justify-content'] = 'space-between', ['align-items'] = 'center' }) local editSpan = footerDiv:tag('span'):addClass('plainlinks') if entityId and entityId ~= '' then local wdUrl = 'https://www.wikidata.org/wiki/Special:EntityPage/' .. entityId editSpan:wikitext('[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · [' .. editVisualUrl .. ' ⵙⵏⴼⵍ] · [' .. wdUrl .. ' ⵡⵉⴽⵉⴷⴰⵜⴰ]') else editSpan:wikitext('[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · [' .. editVisualUrl .. ' ⵙⵏⴼⵍ]') end local templateDocUrl = mw.title.new('ⴰⵍⴱⵓⴹ:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ'):fullUrl() footerDiv:tag('span') :css({ ['float'] = 'right', ['margin-left'] = '5px' }) :wikitext('[[File:Info Simple.svg|18px|link=' .. templateDocUrl .. '|ⵥⵕ ⵓⴳⴳⴰⵔ ⵅⴼ ⵡⴰⵍⴱⵓⴹ ⴰⴷ]]') footerCell:node(footerDiv) return tostring(infobox) end return p 9ghwuw1wqqjykrh55j82zz4ziif7m45 177037 177036 2026-06-25T23:53:43Z Essaidib2 15 177037 Scribunto text/plain -- This module generates an infobox for national football teams local p = {} -- ── Constants ────────────────────────────────────────────────── local HEADER_COLOR = '#8FCEFF' local HEADER_TEXT = 'Black' local ROW_BG = '#f0f0f0' -- ── Helper Functions ────────────────────────────────────────── function trimWhitespace(str) return str and mw.text.trim(str) or '' end function exists(value) return value and value ~= '' and value ~= nil end function getArgs(frame) local args = {} local parent = frame:getParent() or frame for key, value in pairs(parent.args) do if type(key) == 'string' then local cleanValue = type(value) == 'string' and mw.text.trim(value) or value if exists(cleanValue) then args[key] = cleanValue end end end return args end function getEntity(qid) if not qid or qid == '' then return nil end return mw.wikibase.getEntity(qid) end function getValueOrWikidata(args, paramName, wdProp) if exists(args[paramName]) then return args[paramName], false end if not wdProp or not args.qid then return nil, false end local entity = getEntity(args.qid) if not entity or not entity.claims or not entity.claims[wdProp] then return nil, false end local claim = entity.claims[wdProp][1] if not claim or not claim.mainsnak.datavalue then return nil, false end local val = claim.mainsnak.datavalue.value if type(val) == 'string' then return val, true end if val.id then return mw.wikibase.getLabel(val.id), true end return nil, false end function editIcon(entityId, propertyId) if not entityId or not propertyId then return '' end return ' <sup class="plainlinks">[https://www.wikidata.org/wiki/Special:EditEntity/' .. entityId .. '#' .. propertyId .. ' ⵙⵏⴼⵍ]</sup>' end function buildNativeKit(args, num, title) -- (Kit code remains unchanged for brevity and functionality) -- [Rest of your existing buildNativeKit code goes here] return "" -- Placeholder if not used end -- ── Main Entry Point ────────────────────────────────────────── function p.main(frame) local args = getArgs(frame) local entityId = args.qid or (mw.wikibase and mw.wikibase.getEntityIdForCurrentPage()) args.qid = entityId local entity = getEntity(entityId) local infobox = mw.html.create('table'):addClass('infobox'):css({ ['border'] = '1px solid #a2a9b1', ['border-spacing'] = '3px', ['background-color'] = '#f8f9fa', ['width'] = '22em', ['float'] = 'right' }) -- 1. TITLE SECTION local title = args['ⴰⵣⵡⵍ'] or (entity and mw.wikibase.getLabel(entityId)) or mw.title.getCurrentTitle().text infobox:tag('tr'):tag('th'):attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['padding'] = '0.4em', ['font-size'] = '115%' }) :wikitext(title) -- 2. LOGO SECTION local function cleanImg(str) return str and str:gsub('^File:', ''):gsub('^file:', '') or nil end local logo1 = cleanImg(args['ⴰⵍⵓⴳⵓ']) local logo2 = cleanImg(args['ⴰⵍⵓⴳⵓ2']) if logo1 then local imgCell = infobox:tag('tr'):tag('td'):attr('colspan', 2):css({ ['text-align'] = 'center', ['padding'] = '0.5em' }) imgCell:wikitext('[[File:' .. logo1 .. '|220px|alt=' .. title .. ']]') if logo2 then imgCell:wikitext('<br />[[File:' .. logo2 .. '|220px]]') end end -- 3. CONTENT SECTIONS local sections = { { default_title = 'ⵓⵎⵍⴰⵏ ⵉⵎⴰⵜⴰⵢⵏ', rows = { {'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'P1268'}, {'ⵜⴰⵎⵓⵏⵜ', 'ⵜⴰⵎⵓⵏⵜ', 'P463'} } }, { default_title = 'ⴰⴱⴰⵍⵎⴰⵔⵉⵙ', rows = { {subheader = '[[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ|ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ]]'}, {'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil} } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ', default_title = 'ⵜⴰⴱⵔⵣⴰ', rows = { {'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil} } } } for _, section in ipairs(sections) do local sectionHtml = mw.html.create('') local hasContent = false -- [Your existing loop logic to render rows and subheaders...] -- (Include the flushPending logic here) if hasContent then local secTitle = (section.title_param and args[section.title_param]) or section.default_title infobox:tag('tr'):tag('th'):attr('colspan', 2):css({['background-color'] = HEADER_COLOR}):wikitext(secTitle) infobox:node(sectionHtml) end end return tostring(infobox) end return p ex7fw57yhhcpabax61gyzmy53zhjoxm 177038 177037 2026-06-26T00:23:00Z Essaidib2 15 177038 Scribunto text/plain -- This module generates an infobox for national football teams -- Supports manual template parameters and Wikidata auto-fetch. -- Module usage: {{#invoke:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|main|qid=}} -- Template usage: {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}} -- ============================================================ local p = {} -- ── Constants ────────────────────────────────────────────────── local HEADER_COLOR = '#8FCEFF' -- Light blue header local HEADER_TEXT = 'Black' local ROW_BG = '#f0f0f0' -- ── Helper Functions ────────────────────────────────────────── function trimWhitespace(str) if not str then return '' end return mw.text.trim(str) end function exists(value) return value and value ~= '' and value ~= nil end -- Extracts just the filename, stripping [[ ]], File:, Image:, etc. function cleanImageName(img) if not img or img == '' then return nil end img = mw.text.trim(img) -- Extract file name if wrapped in [[ ]] local file = string.match(img, '^%[%[%s*([^|%]]+)%s*|?.*%]%]$') if file then img = file end -- Remove namespaces (case-insensitive manual match) local prefixes = { "^%s*[Ff][Ii][Ll][Ee]%s*:%s*", "^%s*[Ii][Mm][Aa][Gg][Ee]%s*:%s*", "^%s*[Ff][Ii][Cc][Hh][Ii][Ee][Rr]%s*:%s*", "^%s*ⴰⴼⴰⵢⵍⵓ%s*:%s*", "^%s*ⵜⴰⵡⵍⴰⴼⵜ%s*:%s*" } for _, prefix in ipairs(prefixes) do img = string.gsub(img, prefix, "") end return mw.text.trim(img) end -- ── Custom Argument Parser (self-contained) ────────────────── function getArgs(frame) local args = {} local parent = frame:getParent() if not parent then parent = frame end local parentArgs = parent.args -- Process named arguments for key, value in pairs(parentArgs) do if type(key) == 'string' then local cleanKey = mw.text.trim(key) if cleanKey ~= '' then local cleanValue = value if type(cleanValue) == 'string' then cleanValue = mw.text.trim(cleanValue) end if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end -- Process numbered/positional arguments local i = 1 while true do if parentArgs[i] == nil then break end local value = parentArgs[i] if type(value) == 'string' then value = mw.text.trim(value) end if value ~= '' then args[i] = value end i = i + 1 end -- Also check frame.args directly for key, value in pairs(frame.args) do if type(key) == 'string' then local cleanKey = mw.text.trim(key) if cleanKey ~= '' then local cleanValue = value if type(cleanValue) == 'string' then cleanValue = mw.text.trim(cleanValue) end if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end return args end function getEntity(entityId) if not entityId or entityId == '' then return nil end return mw.wikibase.getEntity(entityId) end function getValueOrWikidata(args, paramName, wdProp) local value = args[paramName] if value and value ~= '' then return value, false end if not wdProp or not args.qid then return nil, false end local entity = getEntity(args.qid) if not entity then return nil, false end local claims = entity.claims if not claims or not claims[wdProp] then return nil, false end local claim = claims[wdProp][1] if not claim then return nil, false end local v = nil local datatype = claim.datatype if datatype == 'string' or datatype == 'external-id' or datatype == 'url' then v = claim.mainsnak.datavalue.value elseif datatype == 'monolingualtext' then v = claim.mainsnak.datavalue.value.text elseif datatype == 'wikibase-item' then local id = claim.mainsnak.datavalue.value.id v = mw.wikibase.getLabel(id) elseif datatype == 'time' then v = claim.mainsnak.datavalue.value.time elseif datatype == 'quantity' then v = claim.mainsnak.datavalue.value.amount end if v and v ~= '' then return v, true end return nil, false end function editIcon(entityId, propertyId) if not entityId or not propertyId then return '' end local url = 'https://www.wikidata.org/wiki/Special:EditEntity/' .. entityId .. '#' .. propertyId return ' <sup class="plainlinks">[' .. url .. ' ⵙⵏⴼⵍ]</sup>' end function buildNativeKit(args, num, title) local pattern_b = args['pattern_b' .. num] or '' local pattern_la = args['pattern_la' .. num] or '' local pattern_ra = args['pattern_ra' .. num] or '' local pattern_sh = args['pattern_sh' .. num] or '' local pattern_so = args['pattern_so' .. num] or '' local leftarm = args['leftarm' .. num] or '' local body = args['body' .. num] or '' local rightarm = args['rightarm' .. num] or '' local shorts = args['shorts' .. num] or '' local socks = args['socks' .. num] or '' local function formatColor(c) if not c or mw.text.trim(c) == '' then return '#ffffff' end c = mw.text.trim(c) if string.match(c, '^[0-9A-Fa-f]{3}$') or string.match(c, '^[0-9A-Fa-f]{6}$') then return '#' .. c end return c end if pattern_la == '' then pattern_la = 'empty' end if pattern_b == '' then pattern_b = 'empty' end if pattern_ra == '' then pattern_ra = 'empty' end if pattern_sh == '' then pattern_sh = 'empty' end if pattern_so == '' then pattern_so = 'empty' end local kitHtml = mw.html.create('div') :css({ ['text-align'] = 'center', ['margin'] = '5px' }) if title then kitHtml:tag('div') :css({ ['font-weight'] = 'bold', ['font-size'] = '90%', ['margin-bottom'] = '3px' }) :wikitext(title) end local kitDiv = kitHtml:tag('div') :css({ ['display'] = 'inline-block', ['background-color'] = '#ffffff', ['padding'] = '5px', ['border'] = '1px solid #ccc', ['width'] = '100px' }) local shirt = kitDiv:tag('div') :css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '59px', ['margin'] = '0 auto', ['padding'] = '0' }) shirt:tag('div') :css({ ['position'] = 'absolute', ['left'] = '0', ['top'] = '0', ['width'] = '31px', ['height'] = '59px', ['background-color'] = formatColor(leftarm) }) :wikitext('[[File:Kit left arm ' .. pattern_la .. '.png|31x59px|alt=|link=]]') shirt:tag('div') :css({ ['position'] = 'absolute', ['left'] = '31px', ['top'] = '0', ['width'] = '38px', ['height'] = '59px', ['background-color'] = formatColor(body) }) :wikitext('[[File:Kit body ' .. pattern_b .. '.png|38x59px|alt=|link=]]') shirt:tag('div') :css({ ['position'] = 'absolute', ['left'] = '69px', ['top'] = '0', ['width'] = '31px', ['height'] = '59px', ['background-color'] = formatColor(rightarm) }) :wikitext('[[File:Kit right arm ' .. pattern_ra .. '.png|31x59px|alt=|link=]]') kitDiv:tag('div') :css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '36px', ['margin'] = '0 auto', ['padding'] = '0', ['background-color'] = formatColor(shorts) }) :wikitext('[[File:Kit shorts ' .. pattern_sh .. '.png|100x36px|alt=|link=]]') kitDiv:tag('div') :css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '25px', ['margin'] = '0 auto', ['padding'] = '0', ['background-color'] = formatColor(socks) }) :wikitext('[[File:Kit socks ' .. pattern_so .. '.png|100x25px|alt=|link=]]') return tostring(kitHtml) end -- ── UI Functions ───────────────────────────────────────────── function addSectionHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.3em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '105%', ['border-top'] = '2px solid #ccc', }) :wikitext(title) return cell end function addSubHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = '#e8e8e8', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '95%', ['font-style'] = 'italic', }) :wikitext(title) return cell end -- ── Main Entry Point ────────────────────────────────────────── function p.main(frame) local args = getArgs(frame) local entityId = trimWhitespace(args.qid) if entityId == '' then entityId = mw.wikibase and mw.wikibase.getEntityIdForCurrentPage() or nil end args.qid = entityId local entity = getEntity(entityId) local infobox = mw.html.create('table') infobox:addClass('infobox') infobox:css({ ['border'] = '1px solid #a2a9b1', ['border-spacing'] = '3px', ['background-color'] = '#f8f9fa', ['color'] = 'black', ['margin'] = '0.5em 0 0.5em 1em', ['padding'] = '0.2em', ['float'] = 'right', ['clear'] = 'right', ['font-size'] = '90%', ['line-height'] = '1.5em', ['width'] = '22em', }) -- ── Title header ───────────────────────────────────────── local title, titleFromWD = getValueOrWikidata(args, 'ⴰⵣⵡⵍ', nil) if not exists(title) and entityId then title = mw.wikibase.getLabel(entityId) end -- Fallback to page title & strip disambiguation (e.g., "(ⵜⴰⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ)") if not exists(title) then title = mw.title.getCurrentTitle().text title = string.gsub(title, '%s*%([^%)]+%)$', '') end local titleRow = infobox:tag('tr') local titleCell = titleRow:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.4em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '115%', ['position'] = 'relative', ['line-height'] = '2em', }) local titleDiv = mw.html.create('div') :css({ ['padding'] = '0 30px' }) :wikitext(title) titleCell:node(titleDiv) titleCell:node( mw.html.create('div') :css({ ['position'] = 'absolute', ['top'] = '5px', ['right'] = '5px' }) :wikitext('[[File:Soccerball.svg|30px|alt=]]') ) -- ── Logos / Brand Identity Images ───────────────────────── local logo1, logo1FromWD = getValueOrWikidata(args, 'ⴰⵍⵓⴳⵓ', 'P154') local logo2 = args['ⴰⵍⵓⴳⵓ2'] -- Clean the image strings to prevent [[File:File:...]] rendering bugs logo1 = cleanImageName(logo1) logo2 = cleanImageName(logo2) if exists(logo1) or exists(logo2) then local imgCell = infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em', ['background-color'] = '#ffffff' }) -- Dynamically set size: 120px if both exist, 200px if only 1 exists local size = (exists(logo1) and exists(logo2)) and '120px' or '200px' local imgStr = '' if exists(logo1) then imgStr = '[[File:' .. logo1 .. '|' .. size .. '|alt=' .. title .. ' Logo]]' end if exists(logo2) then if exists(logo1) then imgStr = imgStr .. ' [[File:' .. logo2 .. '|' .. size .. '|alt=' .. title .. ' Logo 2]]' else imgStr = '[[File:' .. logo2 .. '|' .. size .. '|alt=' .. title .. ' Logo 2]]' end end imgCell:wikitext(imgStr) if logo1FromWD and entityId then imgCell:wikitext(editIcon(entityId, 'P154')) end end -- ── Sections and Rows Definition ────────────────────────── local sections = { { title_param = 'ⵓⵎⵍⴰⵏ ⵉⵎⴰⵜⴰⵢⵏ', default_title = 'ⵓⵎⵍⴰⵏ ⵉⵎⴰⵜⴰⵢⵏ', rows = { { 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'P1268' }, { 'ⵜⴰⵎⵓⵏⵜ', 'ⵜⴰⵎⵓⵏⵜ', 'P463' }, { 'ⵎⴼⴼⵔⵉⵙⵎ', 'ⵎⴼⴼⵔⵉⵙⵎ', nil }, { 'ⵉⴽⵯⵍⴰⵏ', 'ⵉⴽⵯⵍⴰⵏ', 'P462' }, { 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'P1449' }, { 'ⴰⴱⴰⵔⴰⵣ', 'ⴰⴱⴰⵔⴰⵣ', 'P115' }, { 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', 'P115' }, { 'ⴰⵙⵉⵜⵡⵉⴱ', 'ⴰⵙⵉⵜⵡⵉⴱ', 'P856' }, } }, { title_param = 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ', default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ', 'P1081' }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, { title_param = 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ', default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, { title_param = 'ⵉⵎⵙⵜⴳⴳⴰⵔⵏ ⴷ ⵉⵎⵓⵔⴰⵔⵏ', default_title = 'ⵉⵎⵙⵜⴳⴳⴰⵔⵏ ⴷ ⵉⵎⵓⵔⴰⵔⵏ', rows = { { 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'P286' }, { 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', nil }, { 'ⴰⵏⴱⴷⴰⴷ', 'ⴰⵏⴱⴷⴰⴷ', 'P634' }, { 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', nil }, } }, { title_param = 'ⵜⵉⵎⵏⵢⵓⴳⴰⵔⵉⵏ ⵉ ⵓⵎⵣⵔⵓⵢ', default_title = 'ⵜⵉⵎⵏⵢⵓⴳⴰⵔⵉⵏ ⵉ ⵓⵎⵣⵔⵓⵢ', rows = { { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ' }, { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ' }, { subheader = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5' }, { subheader = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5' }, } }, { title_param = 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵓⵍⴰⵎⴱⵢⴰⴷ', default_title = '[[ⵓⵔⴰⵔⵏ ⵓⵍⴰⵎⴱⵉⵏ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⴽⵓⵏⴽⴰⴽⴰⴼ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵡⵓⵔⵖ ⵏ ⴽⵓⵏⴽⴰⴽⴰⴼ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⴽⵓⵎⵏⵉⴱⵓⵍ', default_title = '[[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵢⵓⵡⵉⴼⴰ', default_title = '[[ⵜⴰⴱⵔⵣⴰ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵕⵓⴱⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⴽⴰⴼ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⴼⵔⵉⵇⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵉⵢⵉⴼⵙⵉ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⴰⵣⵉⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵓⵡⵉⵙⵉⴼ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵙⵢⴰⵏⵉⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ', default_title = 'ⵜⴰⴱⵔⵣⴰ', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 2', default_title = 'ⵜⴰⴱⵔⵣⴰ 2', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 3', default_title = 'ⵜⴰⴱⵔⵣⴰ 3', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 4', default_title = 'ⵜⴰⴱⵔⵣⴰ 4', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 5', default_title = 'ⵜⴰⴱⵔⵣⴰ 5', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } } } -- ── Render data blocks sequentially ─────────────────────── for _, section in ipairs(sections) do local sectionHtml = mw.html.create('') local hasContent = false local pendingSubHeader = nil local pendingRows = nil local function flushPending() if pendingRows and pendingRows.count > 0 then hasContent = true if pendingSubHeader then addSubHeader(sectionHtml, pendingSubHeader) end sectionHtml:node(pendingRows.html) end pendingSubHeader = nil pendingRows = nil end for _, rowDef in ipairs(section.rows) do if rowDef.subheader then flushPending() pendingSubHeader = rowDef.subheader pendingRows = { count = 0, html = mw.html.create('') } elseif rowDef.type == 'historic_match' then local matchVal, matchFromWD = getValueOrWikidata(args, rowDef.match, nil) local dateVal = getValueOrWikidata(args, rowDef.date, nil) local locVal = getValueOrWikidata(args, rowDef.loc, nil) if exists(matchVal) then if not pendingRows then pendingRows = { count = 0, html = mw.html.create('') } end pendingRows.count = pendingRows.count + 1 local row = pendingRows.html:tag('tr') local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = ROW_BG, ['text-align'] = 'center', }) local content = matchVal if exists(locVal) or exists(dateVal) then content = content .. '<br />' if exists(locVal) then content = content .. locVal end if exists(dateVal) then if exists(locVal) then content = content .. ' (' .. dateVal .. ')' else content = content .. '(' .. dateVal .. ')' end end end cell:wikitext(content) end else local label, paramName, wdProp, fullwidth = rowDef[1], rowDef[2], rowDef[3], rowDef[4] if exists(label) then local value, fromWD = getValueOrWikidata(args, paramName, wdProp) if exists(value) then if not pendingRows then pendingRows = { count = 0, html = mw.html.create('') } end pendingRows.count = pendingRows.count + 1 local row = pendingRows.html:tag('tr') if fullwidth == 'fullwidth' then local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = ROW_BG, ['text-align'] = 'center', ['font-weight'] = 'bold', }) if fromWD and entityId and wdProp then local icons = {} local props = type(wdProp) == 'table' and wdProp or {wdProp} for _, pid in ipairs(props) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end else row:tag('th') :wikitext(label) :css({ ['background-color'] = ROW_BG, ['padding'] = '0.2em', ['text-align'] = 'left', ['font-weight'] = 'bold', ['width'] = '45%', }) local cell = row:tag('td') :css({ ['padding'] = '0.2em' }) if fromWD and entityId and wdProp then local icons = {} local props = type(wdProp) == 'table' and wdProp or {wdProp} for _, pid in ipairs(props) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end end end end end end flushPending() if hasContent then local sectionTitle = args[section.title_param] or section.default_title addSectionHeader(infobox, sectionTitle) infobox:node(sectionHtml) end end -- ── Kit Graphics Sub-table Rendering ────────────────────── if exists(args['body1']) or exists(args['pattern_b1']) or exists(args['body2']) or exists(args['pattern_b2']) then addSectionHeader(infobox, 'ⵉⵔⵉⴽⵉⵜⵏ') local kitContainer = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em', ['background-color'] = 'white' }) local kitTable = kitContainer:tag('table') :css({ ['width'] = '100%', ['background'] = 'transparent', ['text-align'] = 'center' }) local kitRow = kitTable:tag('tr') local function renderKitColumn(num, defaultTitle) local body = args['body'..num] local pattern_b = args['pattern_b'..num] if exists(body) or exists(pattern_b) then local cell = kitRow:tag('td') cell:wikitext(buildNativeKit(args, num, defaultTitle)) end end renderKitColumn('1', 'ⴰⴷⵙⵍⴰⵏ') renderKitColumn('2', 'ⵡⵉⵙⵙ 2') renderKitColumn('3', 'ⵡⵉⵙⵙ 3') end -- ── Bottom Separator line ───────────────────────────────── infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['padding'] = '0', ['border-top'] = '2px dashed ' .. HEADER_COLOR }) -- ── Action Footer Links ─────────────────────────────────── local currentTitle = mw.title.getCurrentTitle() local editSourceUrl = currentTitle:fullUrl({ action = 'edit', section = '0' }) local editVisualUrl = currentTitle:fullUrl({ veaction = 'edit' }) local footerCell = infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.2em', ['font-size'] = '85%', ['text-align'] = 'left', ['background-color'] = '#f8f9fa', }) local footerDiv = mw.html.create('div') :css({ ['display'] = 'flex', ['justify-content'] = 'space-between', ['align-items'] = 'center' }) local editSpan = footerDiv:tag('span'):addClass('plainlinks') if entityId and entityId ~= '' then local wdUrl = 'https://www.wikidata.org/wiki/Special:EntityPage/' .. entityId editSpan:wikitext( '[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · ' .. '[' .. editVisualUrl .. ' ⵙⵏⴼⵍ] · ' .. '[' .. wdUrl .. ' ⵡⵉⴽⵉⴷⴰⵜⴰ]' ) else editSpan:wikitext( '[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · ' .. '[' .. editVisualUrl .. ' ⵙⵏⴼⵍ]' ) end local templateDocUrl = mw.title.new('ⴰⵍⴱⵓⴹ:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ'):fullUrl() footerDiv:tag('span') :css({ ['float'] = 'right', ['margin-left'] = '5px' }) :wikitext('[[File:Info Simple.svg|18px|link=' .. templateDocUrl .. '|ⵥⵕ ⴰⵍⴱⵓⴹ]]') footerCell:node(footerDiv) return tostring(infobox) end return p k12m4t38j5jjqzw19q3oaxho6nfwbs8 177042 177038 2026-06-26T00:57:21Z Essaidib2 15 177042 Scribunto text/plain -- Supports manual template parameters AND Wikidata auto-fetch. -- Matches the formatting and architectural standards of Module:Infobox/Udem. -- Natively integrates custom HTML vector football kit templates exclusively. -- Usage: {{#invoke:Infobox/NationalTeam|main|qid=Q...}} -- ============================================================ local p = {} -- ── Utility helpers ─────────────────────────────────────────── -- Trims leading and trailing whitespace from strings local function trimWhitespace(s) if type(s) ~= 'string' then return '' end return s:match('^%s*(.-)%s*$') or '' end -- Checks if a variable exists and is not an empty string local function exists(var) return var ~= nil and var ~= '' end -- Extracts just the filename, stripping [[ ]], File:, Image:, etc. local function cleanImageName(img) if not img or img == '' then return nil end img = mw.text.trim(img) -- Extract file name if wrapped in [[ ]] local file = string.match(img, '^%[%[%s*([^|%]]+)%s*|?.*%]%]$') if file then img = file end -- Remove namespaces (case-insensitive manual match) local prefixes = { "^%s*[Ff][Ii][Ll][Ee]%s*:%s*", "^%s*[Ii][Mm][Aa][Gg][Ee]%s*:%s*", "^%s*[Ff][Ii][Cc][Hh][Ii][Ee][Rr]%s*:%s*", "^%s*ⴰⴼⴰⵢⵍⵓ%s*:%s*", "^%s*ⵜⴰⵡⵍⴰⴼⵜ%s*:%s*" } for _, prefix in ipairs(prefixes) do img = string.gsub(img, prefix, "") end return mw.text.trim(img) end -- Merge parent-frame args then invoke args (invoke parameters win on conflict) local function getArgs(frame) local args = {} local parent = frame:getParent() if parent and parent.args then for k, v in pairs(parent.args) do args[k] = trimWhitespace(v) end end for k, v in pairs(frame.args) do args[k] = trimWhitespace(v) end return args end -- Format a Wikidata time string into a clean, human-readable date local function formatDate(dateString) if not dateString or type(dateString) ~= 'string' then return dateString end local year, month, day = dateString:match('^%+(%d%d%d%d)%-(%d%d)%-(%d%d)') if not year then return dateString end local lang = mw.getContentLanguage() local base if day and day ~= '00' and month and month ~= '00' then base = year .. '-' .. month .. '-' .. day .. 'T00:00:00Z' return lang:formatDate('j F Y', base) elseif month and month ~= '00' then base = year .. '-' .. month .. '-01T00:00:00Z' return lang:formatDate('F Y', base) else return year end end -- ── Wikidata entity loader ───────────────────────────────────── local function getEntity(entityId) if not mw.wikibase then return nil end if not entityId then entityId = mw.wikibase.getEntityIdForCurrentPage() end if not entityId then return nil end local success, entity = pcall(function() return mw.wikibase.getEntity(entityId) end) if not (success and entity) then return nil end -- Attach best statement helper directly onto the entity table entity.getBestStatements = function(self, propertyId) if not self.claims or not self.claims[propertyId] then return {} end local out = {} for _, claim in pairs(self.claims[propertyId]) do if claim.mainsnak.snaktype == 'value' then table.insert(out, claim) end end return out end return entity end -- ── Wikidata value fetchers ──────────────────────────────────── -- Low-level fetcher: returns formatted data for a specific property local function makeRequest(entityId, property) local entity = getEntity(entityId) if not entity then return nil, false end local statements = entity:getBestStatements(property) if #statements == 0 then return nil, false end local values = {} for _, statement in ipairs(statements) do local dv = statement.mainsnak.datavalue local val = nil if dv.type == 'string' then val = dv.value elseif dv.type == 'monolingualtext' then val = dv.value.text elseif dv.type == 'wikibase-entityid' then local tid = dv.value.id local label = mw.wikibase.getLabel(tid) local link = mw.wikibase.getSitelink(tid) if link then val = string.format('[[%s|%s]]', link, label or tid) else val = string.format('[[:d:%s|%s]]', tid, label or tid) end elseif dv.type == 'quantity' then local amount = tonumber(dv.value.amount) local lang = mw.getContentLanguage() val = amount and lang:formatNum(amount) or string.gsub(dv.value.amount, "^%+", "") elseif dv.type == 'time' then val = formatDate(dv.value.time) end if val then table.insert(values, val) end end if #values > 0 then return table.concat(values, ', '), true end return nil, false end -- Wrapper to search through multiple properties; returns first non-empty match local function getWikidataValue(properties, entityId) local props = type(properties) == 'table' and properties or {properties} local values = {} for _, prop in ipairs(props) do local val, found = makeRequest(entityId, prop) if found then table.insert(values, val) end end if #values > 0 then return table.concat(values, ', '), true end return nil, false end -- Fallback mechanism: tries local arguments, drops back to Wikidata if absent local function getValueOrWikidata(args, paramName, properties) local value = args[paramName] if value then value = trimWhitespace(value) end local fromWikidata = false if not exists(value) and properties then value, fromWikidata = getWikidataValue(properties, args.qid) end return value, fromWikidata end -- ── Wikidata edit icon ──────────────────────────────────────── local function editIcon(entityId, propertyId) if not entityId or not propertyId then return '' end return string.format( ' [[File:Edit-icon.svg|20px|link=https://www.wikidata.org/wiki/Special:EntityPage/%s#%s|ⵙⵏⴼⵍ ⴳ ⵡⵉⴽⵉⴷⴰⵜⴰ]]', entityId, propertyId ) end -- ── Section / row builders ──────────────────────────────────── local HEADER_COLOR = '#1F8F6F' -- Emerald Green palette for national teams local HEADER_TEXT = '#ffffff' local SECTION_COLOR = '#1A7A5E' -- Darker tone for subheaders local ROW_BG = '#f1f1f1' local function addSectionHeader(infobox, title) infobox:tag('tr') :tag('th') :attr('colspan', 2) :wikitext(title) :css({ ['background-color'] = SECTION_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.4em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '110%', }) end -- ── Native Kit Renderer Logic ───────────────────────────────── local function buildNativeKit(args, num, defaultTitle) local filetype = exists(args.filetype) and args.filetype or 'png' local leftarm = exists(args['leftarm' .. num]) and args['leftarm' .. num] or 'ffffff' local body = exists(args['body' .. num]) and args['body' .. num] or 'ffffff' local rightarm = exists(args['rightarm' .. num]) and args['rightarm' .. num] or 'ffffff' local shorts = exists(args['shorts' .. num]) and args['shorts' .. num] or 'ffffff' local socks = exists(args['socks' .. num]) and args['socks' .. num] or 'ffffff' local title = exists(args['pattern_name' .. num]) and args['pattern_name' .. num] or defaultTitle local pattern_la = args['pattern_la' .. num] local pattern_b = args['pattern_b' .. num] local pattern_ra = args['pattern_ra' .. num] local pattern_sh = args['pattern_sh' .. num] local pattern_so = args['pattern_so' .. num] -- Set layout height based on socks parameter setup local containerHeight = (socks == 'none') and '95px' or '135px' local root = mw.html.create('div') :css({ ['width'] = '100px', ['margin'] = '0 auto', ['padding'] = '0' }) local canvas = root:tag('div') :css({ ['position'] = 'relative', ['left'] = '0px', ['top'] = '0px', ['width'] = '100px', ['height'] = containerHeight, ['margin'] = '0 auto', ['padding'] = '0' }) -- Helper function to generate composite overlay image tracks natively local function addLayer(canvasBox, x, y, w, h, bg, pattern, prefix, fallbackSvg) local baseLayer = canvasBox:tag('div') :css({ ['position'] = 'absolute', ['left'] = x .. 'px', ['top'] = y .. 'px', ['width'] = w .. 'px', ['height'] = h .. 'px', ['background-color'] = '#' .. bg, ['color'] = 'inherit' }) if exists(pattern) then local imgName = 'Media:Kit ' .. prefix .. pattern .. '.' .. filetype local titleObj = mw.title.new(imgName) if titleObj and titleObj.exists then baseLayer:wikitext('[[File:Kit ' .. prefix .. pattern .. '.' .. filetype .. '|top|link=|alt=]]') else baseLayer:wikitext('[[Category:Pages using football kit with incorrect pattern parameters]]') end end canvasBox:tag('div') :css({ ['position'] = 'absolute', ['left'] = x .. 'px', ['top'] = y .. 'px', ['width'] = w .. 'px', ['height'] = h .. 'px' }) :wikitext('[[File:' .. fallbackSvg .. '|top|link=|alt=]]') end -- Left arm (0px wide offset canvas) addLayer(canvas, 0, 0, 31, 59, leftarm, pattern_la, 'left arm', 'Kit left arm.svg') -- Body torso (31px wide offset canvas) addLayer(canvas, 31, 0, 38, 59, body, pattern_b, 'body', 'Kit body.svg') -- Right arm (69px wide offset canvas) addLayer(canvas, 69, 0, 31, 59, rightarm, pattern_ra, 'right arm', 'Kit right arm.svg') -- Shorts (59px vertical top alignment) addLayer(canvas, 0, 59, 100, 36, shorts, pattern_sh, 'shorts', 'Kit shorts.svg') -- Socks (95px vertical top alignment conditional check) if socks ~= 'none' then addLayer(canvas, 0, 95, 100, 40, socks, pattern_so, 'socks', 'Kit socks long.svg') end -- Label Title Footer Rendering if exists(title) then root:tag('div') :css({ ['padding-top'] = '0.6em', ['text-align'] = 'center', ['font-weight'] = 'bold' }) :wikitext(title) end return tostring(root) end -- ── Main entry point ────────────────────────────────────────── function p.main(frame) local args = getArgs(frame) -- Resolve Wikidata Entity ID local entityId = trimWhitespace(args.qid) if entityId == '' then entityId = mw.wikibase and mw.wikibase.getEntityIdForCurrentPage() or nil end args.qid = entityId local entity = getEntity(entityId) -- ── Build the infobox table ─────────────────────────────── local infobox = mw.html.create('table') infobox:addClass('infobox') infobox:css({ ['border'] = '1px solid #a2a9b1', ['border-spacing'] = '3px', ['background-color'] = '#f8f9fa', ['color'] = 'black', ['margin'] = '0.5em 0 0.5em 1em', ['padding'] = '0.2em', ['float'] = 'right', ['clear'] = 'right', ['font-size'] = '90%', ['line-height'] = '1.5em', ['width'] = '22em', }) -- ── Title header ───────────────────────────────────────── local title, titleFromWD = getValueOrWikidata(args, 'ⴰⵣⵡⵍ', entity and nil or nil) if not exists(title) and entityId then title = mw.wikibase.getLabel(entityId) end if not exists(title) then title = mw.title.getCurrentTitle().text title = string.gsub(title, '%s*%([^%)]+%)$', '') -- Strip disambiguation parentheses end local titleRow = infobox:tag('tr') local titleCell = titleRow:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.4em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '115%', ['position'] = 'relative', ['line-height'] = '2em', }) local titleDiv = mw.html.create('div') :css({ ['padding'] = '0 30px' }) :wikitext(title) titleCell:node(titleDiv) -- Football icon positioned in top-right corner titleCell:node( mw.html.create('div') :css({ ['position'] = 'absolute', ['top'] = '5px', ['right'] = '5px' }) :wikitext('[[File:Soccerball.svg|30px|alt=ⵜⴰⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ]]') ) -- ── Logos / Brand Identity Images ───────────────────────── local logo1, logo1FromWD = getValueOrWikidata(args, 'ⴰⵍⵓⴳⵓ', 'P154') local logo2 = args['ⴰⵍⵓⴳⵓ2'] logo1 = cleanImageName(logo1) logo2 = cleanImageName(logo2) if exists(logo1) or exists(logo2) then local imgCell = infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em', ['background-color'] = '#ffffff' }) local size = (exists(logo1) and exists(logo2)) and '120px' or '200px' local imgStr = '' if exists(logo1) then imgStr = '[[File:' .. logo1 .. '|' .. size .. ']]' end if exists(logo2) then if exists(logo1) then imgStr = imgStr .. ' [[File:' .. logo2 .. '|' .. size .. ']]' else imgStr = '[[File:' .. logo2 .. '|' .. size .. ']]' end end imgCell:wikitext(imgStr) if logo1FromWD and entityId then imgCell:wikitext(editIcon(entityId, 'P154')) end end -- ── Dynamic Fields & Data Normalization ──────────────────── local function formatPalmares(phases, result) if not exists(phases) and not exists(result) then return nil end local out = "" if exists(phases) then out = out .. "''ⵜⵉⴼⵔⴽⵉⵡⵉⵏ'' : " .. phases .. " <br />" end if exists(result) then out = out .. result end return out end args['palmares_cm'] = formatPalmares(args['ⵜⵉⴼⵔⴽⵉⵡⵉⵏ ⵏ ⵓⵎⴰⴹⴰⵍ'], args['ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ (ⴰⵎⴰⴹⴰⵍ)']) args['palmares_cc1'] = formatPalmares(args['ⵜⵉⴼⵔⴽⵉⵡⵉⵏ ⵜⵉⵎⵏⵥⴰⵡⵉⵏ'], args['ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ (ⵜⴰⵎⵏⵥⴰⵡⵜ)']) -- ── Sections and Rows Definition ────────────────────────── local sections = { { title = 'ⵓⵎⵍⴰⵏ ⵉⵎⴰⵜⴰⵢⵏ', -- General Information rows = { { 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'P1268' }, -- Association / Federation { 'ⵜⴰⵎⵓⵏⵜ', 'ⵜⴰⵎⵓⵏⵜ', 'P463' }, -- Confederation { 'ⵜⴰⵙⵍⴼⵙⵜ', 'ⵜⴰⵙⵍⴼⵜ', nil }, -- Nickname { 'ⵉⴽⵯⵍⴰⵏ', 'ⵉⴽⵯⵍⴰⵏ', 'P462' }, -- Team Colors { 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'P1449' }, -- Official Name { 'ⴰⴱⴰⵔⴰⵣ', 'ⴰⴱⴰⵔⴰⵣ', 'P115' }, -- Home Stadium { 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ', 'P1081' }, -- FIFA Ranking } }, { title = 'ⵓⵎⵍⴰⵏ ⵏ ⵡⵓⴳⴳⵉⴷⵏ', -- Key Figures / Management rows = { { 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'P286' }, -- Head Coach { 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', nil }, -- Head Coach { 'ⴰⵏⴱⴷⴰⴷ', 'ⴰⵏⴱⴷⴰⴷ', 'P634' }, -- Captain { 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', nil }, -- Top Scorer { 'ⴰⵎⵓⵔⴰⵔ ⵢⵓⵔⴰⵔⵏ ⴽⵉⴳⴰⵏ', 'ⴰⵎⵓⵔⴰⵔ ⵢⵓⵔⴰⵔⵏ ⴽⵉⴳⴰⵏ', nil }, -- Most Caps } }, { title = 'ⵜⵉⵎⵏⵢⵓⴳⴰⵔⵉⵏ ⵉ ⵓⵎⵣⵔⵓⵢ', -- Historic Matches rows = { { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, -- First International Match { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, -- Latest Match { 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵅⴰⵜⴰⵔⵜ', 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵅⴰⵜⴰⵔⵜ', nil }, -- Biggest Win { 'ⵜⵉⵕⵥⵉ ⵜⴰⵅⴰⵜⴰⵔⵜ', 'ⵜⵉⵕⵥⵉ ⵜⴰⵅⴰⵜⴰⵔⵜ', nil }, -- Biggest Defeat } }, { title = 'ⴰⴱⴰⵍⵎⴰⵔⵉⵙ', -- Records & Achievements rows = { { 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ', nil }, -- World Cup Performance { 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ', nil }, -- Continental Cup Performance { 'ⵓⵔⴰⵔⵏ ⵓⵍⴰⵎⴱⵉⵢⵏ', 'ⵓⵔⴰⵔⵏ ⵓⵍⴰⵎⴱⵉⵢⵏ', nil }, -- Olympic Games } } } -- ── Render data blocks sequentially ─────────────────────── for _, section in ipairs(sections) do local hasContent = false local sectionHtml = mw.html.create('') for _, rowDef in ipairs(section.rows) do local label, paramName, wdProp = rowDef[1], rowDef[2], rowDef[3] if exists(label) then local value, fromWD = getValueOrWikidata(args, paramName, wdProp) if exists(value) then hasContent = true local row = sectionHtml:tag('tr') row:tag('th') :wikitext(label) :css({ ['background-color'] = ROW_BG, ['padding'] = '0.2em', ['text-align'] = 'left', ['font-weight'] = 'bold', ['width'] = '45%', }) local cell = row:tag('td'):css({ ['padding'] = '0.2em' }) if fromWD and entityId and wdProp then local icons = {} local props = type(wdProp) == 'table' and wdProp or {wdProp} for _, pid in ipairs(props) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end end end end if hasContent then addSectionHeader(infobox, section.title) infobox:node(sectionHtml) end end -- ── Kit Graphics Sub-table Rendering ────────────────────── if exists(args['body1']) or exists(args['pattern_b1']) or exists(args['body2']) or exists(args['pattern_b2']) then addSectionHeader(infobox, 'ⵉⵔⵉⴽⵉⵜⵏ') -- Kits Header local kitContainer = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em', ['background-color'] = 'white' }) local kitTable = kitContainer:tag('table') :css({ ['width'] = '100%', ['background'] = 'transparent', ['text-align'] = 'center' }) local kitRow = kitTable:tag('tr') local function renderKitColumn(num, defaultTitle) local body = args['body'..num] local pattern_b = args['pattern_b'..num] if exists(body) or exists(pattern_b) then local cell = kitRow:tag('td') cell:wikitext(buildNativeKit(args, num, defaultTitle)) end end renderKitColumn('1', 'ⴰⴷⵙⵍⴰⵏ') renderKitColumn('2', 'ⵡⵉⵙ 2') renderKitColumn('3', 'ⵡⵉⵙ 3') end -- ── Bottom Separator line ───────────────────────────────── infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['padding'] = '0', ['border-top'] = '2px dashed ' .. HEADER_COLOR }) -- ── Action Footer Links ─────────────────────────────────── local currentTitle = mw.title.getCurrentTitle() local editSourceUrl = currentTitle:fullUrl({ action = 'edit', section = '0' }) local editVisualUrl = currentTitle:fullUrl({ veaction = 'edit' }) local footerCell = infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.2em', ['font-size'] = '85%', ['text-align'] = 'left', ['background-color'] = '#f8f9fa', }) local footerDiv = mw.html.create('div') :css({ ['display'] = 'flex', ['justify-content'] = 'space-between', ['align-items'] = 'center' }) local editSpan = footerDiv:tag('span'):addClass('plainlinks') if entityId and entityId ~= '' then local wdUrl = 'https://www.wikidata.org/wiki/Special:EntityPage/' .. entityId editSpan:wikitext( '[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · ' .. '[' .. editVisualUrl .. ' ⵙⵏⴼⵍ] · ' .. '[' .. wdUrl .. ' ⵡⵉⴽⵉⴷⴰⵜⴰ]' ) else editSpan:wikitext( '[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · ' .. '[' .. editVisualUrl .. ' ⵙⵏⴼⵍ]' ) end local templateDocUrl = mw.title.new('ⴰⵍⴱⵓⴹ:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ'):fullUrl() footerDiv:tag('span') :css({ ['float'] = 'right', ['margin-left'] = '5px' }) :wikitext('[[File:Info Simple.svg|18px|link=' .. templateDocUrl .. '|ⵥⵕ ⵓⴳⴳⴰⵔ ⵅⴼ ⵡⴰⵍⴱⵓⴹ ⴰⴷ]]') footerCell:node(footerDiv) return tostring(infobox) end return p pxemk9o59qacekb306kz3e65qrbuwhy 177043 177042 2026-06-26T01:07:19Z Essaidib2 15 177043 Scribunto text/plain local p = {} -- ── Utility helpers ─────────────────────────────────────────── -- Trims leading and trailing whitespace from strings local function trimWhitespace(s) if type(s) ~= 'string' then return '' end return s:match('^%s*(.-)%s*$') or '' end -- Checks if a variable exists and is not an empty string local function exists(var) return var ~= nil and var ~= '' end -- Extracts just the filename, stripping [[ ]], File:, Image:, etc. local function cleanImageName(img) if not img or img == '' then return nil end img = mw.text.trim(img) -- Extract file name if wrapped in [[ ]] local file = string.match(img, '^%[%[%s*([^|%]]+)%s*|?.*%]%]$') if file then img = file end -- Remove namespaces (case-insensitive manual match) local prefixes = { "^%s*[Ff][Ii][Ll][Ee]%s*:%s*", "^%s*[Ii][Mm][Aa][Gg][Ee]%s*:%s*", "^%s*[Ff][Ii][Cc][Hh][Ii][Ee][Rr]%s*:%s*", "^%s*ⴰⴼⴰⵢⵍⵓ%s*:%s*", "^%s*ⵜⴰⵡⵍⴰⴼⵜ%s*:%s*" } for _, prefix in ipairs(prefixes) do img = string.gsub(img, prefix, "") end return mw.text.trim(img) end -- Merge parent-frame args then invoke args (invoke parameters win on conflict) local function getArgs(frame) local args = {} local parent = frame:getParent() if parent and parent.args then for k, v in pairs(parent.args) do args[k] = trimWhitespace(v) end end for k, v in pairs(frame.args) do args[k] = trimWhitespace(v) end return args end -- Format a Wikidata time string into a clean, human-readable date local function formatDate(dateString) if not dateString or type(dateString) ~= 'string' then return dateString end local year, month, day = dateString:match('^%+(%d%d%d%d)%-(%d%d)%-(%d%d)') if not year then return dateString end local lang = mw.getContentLanguage() local base if day and day ~= '00' and month and month ~= '00' then base = year .. '-' .. month .. '-' .. day .. 'T00:00:00Z' return lang:formatDate('j F Y', base) elseif month and month ~= '00' then base = year .. '-' .. month .. '-01T00:00:00Z' return lang:formatDate('F Y', base) else return year end end -- ── Wikidata entity loader ───────────────────────────────────── local function getEntity(entityId) if not mw.wikibase then return nil end if not entityId then entityId = mw.wikibase.getEntityIdForCurrentPage() end if not entityId then return nil end local success, entity = pcall(function() return mw.wikibase.getEntity(entityId) end) if not (success and entity) then return nil end -- Attach best statement helper directly onto the entity table entity.getBestStatements = function(self, propertyId) if not self.claims or not self.claims[propertyId] then return {} end local out = {} for _, claim in pairs(self.claims[propertyId]) do if claim.mainsnak.snaktype == 'value' then table.insert(out, claim) end end return out end return entity end -- ── Wikidata value fetchers ──────────────────────────────────── -- Low-level fetcher: returns formatted data for a specific property local function makeRequest(entityId, property) local entity = getEntity(entityId) if not entity then return nil, false end local statements = entity:getBestStatements(property) if #statements == 0 then return nil, false end local values = {} for _, statement in ipairs(statements) do local dv = statement.mainsnak.datavalue local val = nil if dv.type == 'string' then val = dv.value elseif dv.type == 'monolingualtext' then val = dv.value.text elseif dv.type == 'wikibase-entityid' then local tid = dv.value.id local label = mw.wikibase.getLabel(tid) local link = mw.wikibase.getSitelink(tid) if link then val = string.format('[[%s|%s]]', link, label or tid) else val = string.format('[[:d:%s|%s]]', tid, label or tid) end elseif dv.type == 'quantity' then local amount = tonumber(dv.value.amount) local lang = mw.getContentLanguage() val = amount and lang:formatNum(amount) or string.gsub(dv.value.amount, "^%+", "") elseif dv.type == 'time' then val = formatDate(dv.value.time) end if val then table.insert(values, val) end end if #values > 0 then return table.concat(values, ', '), true end return nil, false end -- Wrapper to search through multiple properties; returns first non-empty match local function getWikidataValue(properties, entityId) local props = type(properties) == 'table' and properties or {properties} local values = {} for _, prop in ipairs(props) do local val, found = makeRequest(entityId, prop) if found then table.insert(values, val) end end if #values > 0 then return table.concat(values, ', '), true end return nil, false end -- Fallback mechanism: tries local arguments, drops back to Wikidata if absent local function getValueOrWikidata(args, paramName, properties) local value = args[paramName] if value then value = trimWhitespace(value) end local fromWikidata = false if not exists(value) and properties then value, fromWikidata = getWikidataValue(properties, args.qid) end return value, fromWikidata end -- ── Wikidata edit icon ──────────────────────────────────────── local function editIcon(entityId, propertyId) if not entityId or not propertyId then return '' end return string.format( ' [[File:Edit-icon.svg|20px|link=https://www.wikidata.org/wiki/Special:EntityPage/%s#%s|ⵙⵏⴼⵍ ⴳ ⵡⵉⴽⵉⴷⴰⵜⴰ]]', entityId, propertyId ) end -- ── Section / row builders ──────────────────────────────────── local HEADER_COLOR = '#1F8F6F' -- Emerald Green palette for national teams local HEADER_TEXT = '#ffffff' local SECTION_COLOR = '#1A7A5E' -- Darker tone for subheaders local ROW_BG = '#f1f1f1' local function addSectionHeader(infobox, title) infobox:tag('tr') :tag('th') :attr('colspan', 2) :wikitext(title) :css({ ['background-color'] = SECTION_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.4em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '110%', }) end -- ── Native Kit Renderer Logic ───────────────────────────────── local function buildNativeKit(args, num, defaultTitle) local filetype = exists(args.filetype) and args.filetype or 'png' local leftarm = exists(args['leftarm' .. num]) and args['leftarm' .. num] or 'ffffff' local body = exists(args['body' .. num]) and args['body' .. num] or 'ffffff' local rightarm = exists(args['rightarm' .. num]) and args['rightarm' .. num] or 'ffffff' local shorts = exists(args['shorts' .. num]) and args['shorts' .. num] or 'ffffff' local socks = exists(args['socks' .. num]) and args['socks' .. num] or 'ffffff' local title = exists(args['pattern_name' .. num]) and args['pattern_name' .. num] or defaultTitle local pattern_la = args['pattern_la' .. num] local pattern_b = args['pattern_b' .. num] local pattern_ra = args['pattern_ra' .. num] local pattern_sh = args['pattern_sh' .. num] local pattern_so = args['pattern_so' .. num] -- Set layout height based on socks parameter setup local containerHeight = (socks == 'none') and '95px' or '135px' local root = mw.html.create('div') :css({ ['width'] = '100px', ['margin'] = '0 auto', ['padding'] = '0' }) local canvas = root:tag('div') :css({ ['position'] = 'relative', ['left'] = '0px', ['top'] = '0px', ['width'] = '100px', ['height'] = containerHeight, ['margin'] = '0 auto', ['padding'] = '0' }) -- Helper function to generate composite overlay image tracks natively local function addLayer(canvasBox, x, y, w, h, bg, pattern, prefix, fallbackSvg) local baseLayer = canvasBox:tag('div') :css({ ['position'] = 'absolute', ['left'] = x .. 'px', ['top'] = y .. 'px', ['width'] = w .. 'px', ['height'] = h .. 'px', ['background-color'] = '#' .. bg, ['color'] = 'inherit' }) if exists(pattern) then local imgName = 'Media:Kit ' .. prefix .. pattern .. '.' .. filetype local titleObj = mw.title.new(imgName) if titleObj and titleObj.exists then baseLayer:wikitext('[[File:Kit ' .. prefix .. pattern .. '.' .. filetype .. '|top|link=|alt=]]') else baseLayer:wikitext('[[Category:Pages using football kit with incorrect pattern parameters]]') end end canvasBox:tag('div') :css({ ['position'] = 'absolute', ['left'] = x .. 'px', ['top'] = y .. 'px', ['width'] = w .. 'px', ['height'] = h .. 'px' }) :wikitext('[[File:' .. fallbackSvg .. '|top|link=|alt=]]') end -- Left arm (0px wide offset canvas) addLayer(canvas, 0, 0, 31, 59, leftarm, pattern_la, 'left arm', 'Kit left arm.svg') -- Body torso (31px wide offset canvas) addLayer(canvas, 31, 0, 38, 59, body, pattern_b, 'body', 'Kit body.svg') -- Right arm (69px wide offset canvas) addLayer(canvas, 69, 0, 31, 59, rightarm, pattern_ra, 'right arm', 'Kit right arm.svg') -- Shorts (59px vertical top alignment) addLayer(canvas, 0, 59, 100, 36, shorts, pattern_sh, 'shorts', 'Kit shorts.svg') -- Socks (95px vertical top alignment conditional check) if socks ~= 'none' then addLayer(canvas, 0, 95, 100, 40, socks, pattern_so, 'socks', 'Kit socks long.svg') end -- Label Title Footer Rendering if exists(title) then root:tag('div') :css({ ['padding-top'] = '0.6em', ['text-align'] = 'center', ['font-weight'] = 'bold' }) :wikitext(title) end return tostring(root) end -- ── Main entry point ────────────────────────────────────────── function p.main(frame) local args = getArgs(frame) -- Resolve Wikidata Entity ID local entityId = trimWhitespace(args.qid) if entityId == '' then entityId = mw.wikibase and mw.wikibase.getEntityIdForCurrentPage() or nil end args.qid = entityId local entity = getEntity(entityId) -- ── Build the infobox table ─────────────────────────────── local infobox = mw.html.create('table') infobox:addClass('infobox') infobox:css({ ['border'] = '1px solid #a2a9b1', ['border-spacing'] = '3px', ['background-color'] = '#f8f9fa', ['color'] = 'black', ['margin'] = '0.5em 0 0.5em 1em', ['padding'] = '0.2em', ['float'] = 'right', ['clear'] = 'right', ['font-size'] = '90%', ['line-height'] = '1.5em', ['width'] = '22em', }) -- ── Title header ───────────────────────────────────────── local title, titleFromWD = getValueOrWikidata(args, 'ⴰⵣⵡⵍ', entity and nil or nil) if not exists(title) and entityId then title = mw.wikibase.getLabel(entityId) end if not exists(title) then title = mw.title.getCurrentTitle().text title = string.gsub(title, '%s*%([^%)]+%)$', '') -- Strip disambiguation parentheses end local titleRow = infobox:tag('tr') local titleCell = titleRow:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.4em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '115%', ['position'] = 'relative', ['line-height'] = '2em', }) local titleDiv = mw.html.create('div') :css({ ['padding'] = '0 30px' }) :wikitext(title) titleCell:node(titleDiv) -- Football icon positioned in top-right corner titleCell:node( mw.html.create('div') :css({ ['position'] = 'absolute', ['top'] = '5px', ['right'] = '5px' }) :wikitext('[[File:Soccerball.svg|30px|alt=ⵜⴰⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ]]') ) -- ── Logos / Brand Identity Images ───────────────────────── local logo1, logo1FromWD = getValueOrWikidata(args, 'ⴰⵍⵓⴳⵓ', 'P154') local logo2 = args['ⴰⵍⵓⴳⵓ2'] -- Clean the image strings to prevent [[File:File:...]] rendering bugs logo1 = cleanImageName(logo1) logo2 = cleanImageName(logo2) if exists(logo1) or exists(logo2) then local imgCell = infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em', ['background-color'] = '#ffffff' }) -- Dynamically set size: 120px if both exist, 200px if only 1 exists local size = (exists(logo1) and exists(logo2)) and '120px' or '200px' local imgStr = '' if exists(logo1) then imgStr = '[[File:' .. logo1 .. '|' .. size .. ']]' end if exists(logo2) then if exists(logo1) then imgStr = imgStr .. ' [[File:' .. logo2 .. '|' .. size .. ']]' else imgStr = '[[File:' .. logo2 .. '|' .. size .. ']]' end end imgCell:wikitext(imgStr) if logo1FromWD and entityId then imgCell:wikitext(editIcon(entityId, 'P154')) end end -- ── Dynamic Fields & Data Normalization ──────────────────── local function formatPalmares(phases, result) if not exists(phases) and not exists(result) then return nil end local out = "" if exists(phases) then out = out .. "''ⵜⵉⴼⵔⴽⵉⵡⵉⵏ'' : " .. phases .. " <br />" end if exists(result) then out = out .. result end return out end args['palmares_cm'] = formatPalmares(args['ⵜⵉⴼⵔⴽⵉⵡⵉⵏ ⵏ ⵓⵎⴰⴹⴰⵍ'], args['ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ (ⴰⵎⴰⴹⴰⵍ)']) args['palmares_cc1'] = formatPalmares(args['ⵜⵉⴼⵔⴽⵉⵡⵉⵏ ⵜⵉⵎⵏⵥⴰⵡⵉⵏ'], args['ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ (ⵜⴰⵎⵏⵥⴰⵡⵜ)']) -- ── Sections and Rows Definition ────────────────────────── local sections = { { title = 'ⵓⵎⵍⴰⵏ ⵉⵎⴰⵜⴰⵢⵏ', -- General Information rows = { { 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'P1268' }, -- Association / Federation { 'ⵜⴰⵎⵓⵏⵜ', 'ⵜⴰⵎⵓⵏⵜ', 'P463' }, -- Confederation { 'ⵜⴰⵙⵍⴼⵙⵜ', 'ⵜⴰⵙⵍⴼⵜ', nil }, -- Nickname { 'ⵉⴽⵯⵍⴰⵏ', 'ⵉⴽⵯⵍⴰⵏ', 'P462' }, -- Team Colors { 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'P1449' }, -- Official Name { 'ⴰⴱⴰⵔⴰⵣ', 'ⴰⴱⴰⵔⴰⵣ', 'P115' }, -- Home Stadium { 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ', 'P1081' }, -- FIFA Ranking } }, { title = 'ⵓⵎⵍⴰⵏ ⵏ ⵡⵓⴳⴳⵉⴷⵏ', -- Key Figures / Management rows = { { 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'P286' }, -- Head Coach { 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', nil }, -- Head Coach { 'ⴰⵏⴱⴷⴰⴷ', 'ⴰⵏⴱⴷⴰⴷ', 'P634' }, -- Captain { 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', nil }, -- Top Scorer { 'ⴰⵎⵓⵔⴰⵔ ⵢⵓⵔⴰⵔⵏ ⴽⵉⴳⴰⵏ', 'ⴰⵎⵓⵔⴰⵔ ⵢⵓⵔⴰⵔⵏ ⴽⵉⴳⴰⵏ', nil }, -- Most Caps } }, { title = 'ⵜⵉⵎⵏⵢⵓⴳⴰⵔⵉⵏ ⵉ ⵓⵎⵣⵔⵓⵢ', -- Historic Matches rows = { { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, -- First International Match { 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, -- Latest Match { 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵅⴰⵜⴰⵔⵜ', 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵅⴰⵜⴰⵔⵜ', nil }, -- Biggest Win { 'ⵜⵉⵕⵥⵉ ⵜⴰⵅⴰⵜⴰⵔⵜ', 'ⵜⵉⵕⵥⵉ ⵜⴰⵅⴰⵜⴰⵔⵜ', nil }, -- Biggest Defeat } }, { title = 'ⴰⴱⴰⵍⵎⴰⵔⵉⵙ', -- Records & Achievements rows = { { 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ', nil }, -- World Cup Performance { 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ', nil }, -- Continental Cup Performance { 'ⵓⵔⴰⵔⵏ ⵓⵍⴰⵎⴱⵉⵢⵏ', 'ⵓⵔⴰⵔⵏ ⵓⵍⴰⵎⴱⵉⵢⵏ', nil }, -- Olympic Games } } } -- ── Render data blocks sequentially ─────────────────────── for _, section in ipairs(sections) do local hasContent = false local sectionHtml = mw.html.create('') for _, rowDef in ipairs(section.rows) do local label, paramName, wdProp = rowDef[1], rowDef[2], rowDef[3] if exists(label) then local value, fromWD = getValueOrWikidata(args, paramName, wdProp) if exists(value) then hasContent = true local row = sectionHtml:tag('tr') row:tag('th') :wikitext(label) :css({ ['background-color'] = ROW_BG, ['padding'] = '0.2em', ['text-align'] = 'left', ['font-weight'] = 'bold', ['width'] = '45%', }) local cell = row:tag('td'):css({ ['padding'] = '0.2em' }) if fromWD and entityId and wdProp then local icons = {} local props = type(wdProp) == 'table' and wdProp or {wdProp} for _, pid in ipairs(props) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end end end end if hasContent then addSectionHeader(infobox, section.title) infobox:node(sectionHtml) end end -- ── Kit Graphics Sub-table Rendering ────────────────────── if exists(args['body1']) or exists(args['pattern_b1']) or exists(args['body2']) or exists(args['pattern_b2']) then addSectionHeader(infobox, 'ⵉⵔⵉⴽⵉⵜⵏ') -- Kits Header local kitContainer = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em', ['background-color'] = 'white' }) local kitTable = kitContainer:tag('table') :css({ ['width'] = '100%', ['background'] = 'transparent', ['text-align'] = 'center' }) local kitRow = kitTable:tag('tr') local function renderKitColumn(num, defaultTitle) local body = args['body'..num] local pattern_b = args['pattern_b'..num] if exists(body) or exists(pattern_b) then local cell = kitRow:tag('td') cell:wikitext(buildNativeKit(args, num, defaultTitle)) end end renderKitColumn('1', 'ⴰⴷⵙⵍⴰⵏ') renderKitColumn('2', 'ⵡⵉⵙ 2') renderKitColumn('3', 'ⵡⵉⵙ 3') end -- ── Bottom Separator line ───────────────────────────────── infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['padding'] = '0', ['border-top'] = '2px dashed ' .. HEADER_COLOR }) -- ── Action Footer Links ─────────────────────────────────── local currentTitle = mw.title.getCurrentTitle() local editSourceUrl = currentTitle:fullUrl({ action = 'edit', section = '0' }) local editVisualUrl = currentTitle:fullUrl({ veaction = 'edit' }) local footerCell = infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.2em', ['font-size'] = '85%', ['text-align'] = 'left', ['background-color'] = '#f8f9fa', }) local footerDiv = mw.html.create('div') :css({ ['display'] = 'flex', ['justify-content'] = 'space-between', ['align-items'] = 'center' }) local editSpan = footerDiv:tag('span'):addClass('plainlinks') if entityId and entityId ~= '' then local wdUrl = 'https://www.wikidata.org/wiki/Special:EntityPage/' .. entityId editSpan:wikitext( '[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · ' .. '[' .. editVisualUrl .. ' ⵙⵏⴼⵍ] · ' .. '[' .. wdUrl .. ' ⵡⵉⴽⵉⴷⴰⵜⴰ]' ) else editSpan:wikitext( '[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · ' .. '[' .. editVisualUrl .. ' ⵙⵏⴼⵍ]' ) end local templateDocUrl = mw.title.new('ⴰⵍⴱⵓⴹ:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ'):fullUrl() footerDiv:tag('span') :css({ ['float'] = 'right', ['margin-left'] = '5px' }) :wikitext('[[File:Info Simple.svg|18px|link=' .. templateDocUrl .. '|ⵥⵕ ⵓⴳⴳⴰⵔ ⵅⴼ ⵡⴰⵍⴱⵓⴹ ⴰⴷ]]') footerCell:node(footerDiv) return tostring(infobox) end return p mophaaktplscc05vo853tte8t64jz0e 177044 177043 2026-06-26T01:34:40Z Essaidib2 15 177044 Scribunto text/plain -- This module generates an infobox for national football teams -- Supports manual template parameters and Wikidata auto-fetch. -- Module usage: {{#invoke:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|main|qid=}} -- Template usage: {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}} -- ============================================================ local p = {} -- ── Constants ────────────────────────────────────────────────── local HEADER_COLOR = '#8FCEFF' -- Red header local HEADER_TEXT = 'Black' local ROW_BG = '#f0f0f0' -- ── Helper Functions ────────────────────────────────────────── function trimWhitespace(str) if not str then return '' end return mw.text.trim(str) end function exists(value) return value and value ~= '' and value ~= nil end -- ── Custom Argument Parser (self-contained) ────────────────── function getArgs(frame) local args = {} -- Get the parent frame (the template that called this module) local parent = frame:getParent() -- If there's no parent, use the current frame if not parent then parent = frame end -- Get all arguments from the parent frame local parentArgs = parent.args -- Process named arguments for key, value in pairs(parentArgs) do if type(key) == 'string' then -- Clean the key (trim whitespace) local cleanKey = mw.text.trim(key) if cleanKey ~= '' then -- Clean the value local cleanValue = value if type(cleanValue) == 'string' then cleanValue = mw.text.trim(cleanValue) end -- Only add if not empty (removeBlanks) if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end -- Process numbered/positional arguments local i = 1 while true do if parentArgs[i] == nil then break end local value = parentArgs[i] if type(value) == 'string' then value = mw.text.trim(value) end if value ~= '' then args[i] = value end i = i + 1 end -- Also check frame.args directly (for when module is called directly) for key, value in pairs(frame.args) do if type(key) == 'string' then local cleanKey = mw.text.trim(key) if cleanKey ~= '' then local cleanValue = value if type(cleanValue) == 'string' then cleanValue = mw.text.trim(cleanValue) end if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end return args end function getEntity(entityId) if not entityId or entityId == '' then return nil end return mw.wikibase.getEntity(entityId) end function getValueOrWikidata(args, paramName, wdProp) -- Check if value exists in args local value = args[paramName] if value and value ~= '' then return value, false end -- If no Wikidata property specified or no entity ID, return nothing if not wdProp or not args.qid then return nil, false end -- Try to get from Wikidata local entity = getEntity(args.qid) if not entity then return nil, false end local claims = entity.claims if not claims or not claims[wdProp] then return nil, false end -- Get the first claim value local claim = claims[wdProp][1] if not claim then return nil, false end local value = nil local datatype = claim.datatype if datatype == 'string' or datatype == 'external-id' or datatype == 'url' then value = claim.mainsnak.datavalue.value elseif datatype == 'monolingualtext' then value = claim.mainsnak.datavalue.value.text elseif datatype == 'wikibase-item' then local id = claim.mainsnak.datavalue.value.id value = mw.wikibase.getLabel(id) elseif datatype == 'time' then value = claim.mainsnak.datavalue.value.time elseif datatype == 'quantity' then value = claim.mainsnak.datavalue.value.amount end if value and value ~= '' then return value, true end return nil, false end function editIcon(entityId, propertyId) if not entityId or not propertyId then return '' end local url = 'https://www.wikidata.org/wiki/Special:EditEntity/' .. entityId .. '#' .. propertyId return ' <sup class="plainlinks">[' .. url .. ' ⵙⵏⴼⵍ]</sup>' end function buildNativeKit(args, num, title) local pattern_b = args['pattern_b' .. num] or '' local pattern_la = args['pattern_la' .. num] or '' local pattern_ra = args['pattern_ra' .. num] or '' local pattern_sh = args['pattern_sh' .. num] or '' local pattern_so = args['pattern_so' .. num] or '' local leftarm = args['leftarm' .. num] or '' local body = args['body' .. num] or '' local rightarm = args['rightarm' .. num] or '' local shorts = args['shorts' .. num] or '' local socks = args['socks' .. num] or '' -- Helper to format CSS colors correctly (defaulting to white) local function formatColor(c) if not c or mw.text.trim(c) == '' then return '#ffffff' end c = mw.text.trim(c) if string.match(c, '^[0-9A-Fa-f]{3}$') or string.match(c, '^[0-9A-Fa-f]{6}$') then return '#' .. c end return c end -- Default missing patterns to 'empty' files if pattern_la == '' then pattern_la = 'empty' end if pattern_b == '' then pattern_b = 'empty' end if pattern_ra == '' then pattern_ra = 'empty' end if pattern_sh == '' then pattern_sh = 'empty' end if pattern_so == '' then pattern_so = 'empty' end -- Main kit wrapper local kitHtml = mw.html.create('div') :css({ ['text-align'] = 'center', ['margin'] = '5px' }) -- Title if title then kitHtml:tag('div') :css({ ['font-weight'] = 'bold', ['font-size'] = '90%', ['margin-bottom'] = '3px' }) :wikitext(title) end -- Kit graphics container local kitDiv = kitHtml:tag('div') :css({ ['display'] = 'inline-block', ['background-color'] = '#ffffff', ['padding'] = '5px', ['border'] = '1px solid #ccc', ['width'] = '100px' }) -- Shirt block local shirt = kitDiv:tag('div') :css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '59px', ['margin'] = '0 auto', ['padding'] = '0' }) -- Left arm shirt:tag('div') :css({ ['position'] = 'absolute', ['left'] = '0', ['top'] = '0', ['width'] = '31px', ['height'] = '59px', ['background-color'] = formatColor(leftarm) }) :wikitext('[[File:Kit left arm ' .. pattern_la .. '.png|31x59px|alt=|link=]]') -- Body shirt:tag('div') :css({ ['position'] = 'absolute', ['left'] = '31px', ['top'] = '0', ['width'] = '38px', ['height'] = '59px', ['background-color'] = formatColor(body) }) :wikitext('[[File:Kit body ' .. pattern_b .. '.png|38x59px|alt=|link=]]') -- Right arm shirt:tag('div') :css({ ['position'] = 'absolute', ['left'] = '69px', ['top'] = '0', ['width'] = '31px', ['height'] = '59px', ['background-color'] = formatColor(rightarm) }) :wikitext('[[File:Kit right arm ' .. pattern_ra .. '.png|31x59px|alt=|link=]]') -- Shorts block kitDiv:tag('div') :css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '36px', ['margin'] = '0 auto', ['padding'] = '0', ['background-color'] = formatColor(shorts) }) :wikitext('[[File:Kit shorts ' .. pattern_sh .. '.png|100x36px|alt=|link=]]') -- Socks block kitDiv:tag('div') :css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '25px', ['margin'] = '0 auto', ['padding'] = '0', ['background-color'] = formatColor(socks) }) :wikitext('[[File:Kit socks ' .. pattern_so .. '.png|100x25px|alt=|link=]]') return tostring(kitHtml) end -- ── UI Functions ───────────────────────────────────────────── function addSectionHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.3em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '105%', ['border-top'] = '2px solid #ccc', }) :wikitext(title) return cell end function addSubHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = '#e8e8e8', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '95%', ['font-style'] = 'italic', }) :wikitext(title) return cell end -- ── Main Entry Point ────────────────────────────────────────── function p.main(frame) local args = getArgs(frame) -- Resolve Wikidata Entity ID local entityId = trimWhitespace(args.qid) if entityId == '' then entityId = mw.wikibase and mw.wikibase.getEntityIdForCurrentPage() or nil end args.qid = entityId local entity = getEntity(entityId) -- ── Build the infobox table ─────────────────────────────── local infobox = mw.html.create('table') infobox:addClass('infobox') infobox:css({ ['border'] = '1px solid #a2a9b1', ['border-spacing'] = '3px', ['background-color'] = '#f8f9fa', ['color'] = 'black', ['margin'] = '0.5em 0 0.5em 1em', ['padding'] = '0.2em', ['float'] = 'right', ['clear'] = 'right', ['font-size'] = '90%', ['line-height'] = '1.5em', ['width'] = '22em', }) -- ── Title header ───────────────────────────────────────── -- Try to get title from args first local title, titleFromWD = getValueOrWikidata(args, 'ⴰⵣⵡⵍ', nil) -- If not found, try to get label from Wikidata if not exists(title) and entityId then title = mw.wikibase.getLabel(entityId) end -- Fallback to page title if not exists(title) then title = mw.title.getCurrentTitle().text end local titleRow = infobox:tag('tr') local titleCell = titleRow:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.4em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '115%', ['position'] = 'relative', ['line-height'] = '2em', }) local titleDiv = mw.html.create('div') :css({ ['padding'] = '0 30px' }) :wikitext(title) titleCell:node(titleDiv) -- Football icon positioned in top-right corner titleCell:node( mw.html.create('div') :css({ ['position'] = 'absolute', ['top'] = '5px', ['right'] = '5px' }) :wikitext('[[File:Soccerball.svg|30px|alt=ⵜⴰⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ]]') ) -- ── Logos / Brand Identity Images ───────────────────────── local logo1, logo1FromWD = getValueOrWikidata(args, 'ⴰⵍⵓⴳⵓ', 'P154') local logo2 = args['ⴰⵍⵓⴳⵓ2'] if exists(logo1) then local imgCell = infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em' }) local imgStr = '[[File:' .. logo1 .. '|220px|alt=' .. title .. ']]' if exists(logo2) then imgStr = imgStr .. '<br />[[File:' .. logo2 .. '|220px]]' end imgCell:wikitext(imgStr) if logo1FromWD and entityId then imgCell:wikitext(editIcon(entityId, 'P154')) end end -- ── Sections and Rows Definition ────────────────────────── local sections = { -- General Information { title_param = 'ⵓⵎⵍⴰⵏ ⵉⵎⴰⵜⴰⵢⵏ', default_title = 'ⵓⵎⵍⴰⵏ ⵉⵎⴰⵜⴰⵢⵏ', rows = { { 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'P1268' }, { 'ⵜⴰⵎⵓⵏⵜ', 'ⵜⴰⵎⵓⵏⵜ', 'P463' }, { 'ⵎⴼⴼⵔⵉⵙⵎ', 'ⵎⴼⴼⵔⵉⵙⵎ', nil }, { 'ⵉⴽⵯⵍⴰⵏ', 'ⵉⴽⵯⵍⴰⵏ', 'P462' }, { 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'P1449' }, { 'ⴰⴱⴰⵔⴰⵣ', 'ⴰⴱⴰⵔⴰⵣ', nil }, { 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', nil }, { 'ⴰⵙⵉⵜⵡⵉⴱ', 'ⴰⵙⵉⵜⵡⵉⴱ', nil }, } }, -- FIFA Rankings { title_param = 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ', default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ', 'P1081' }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, -- Elo Ratings { title_param = 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ', default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ', 'P1081' }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, -- Key Figures { title_param = 'ⵉⵎⵙⵜⴳⴳⴰⵔⵏ ⴷ ⵉⵎⵓⵔⴰⵔⵏ', default_title = 'ⵉⵎⵙⵜⴳⴳⴰⵔⵏ ⴷ ⵉⵎⵓⵔⴰⵔⵏ', rows = { { 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'P286' }, { 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', nil }, { 'ⴰⵏⴱⴷⴰⴷ', 'ⴰⵏⴱⴷⴰⴷ', 'P634' }, { 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', nil }, } }, -- Historic Matches { title_param = 'ⵜⵉⵎⵏⵢⵓⴳⴰⵔⵉⵏ ⵉ ⵓⵎⵣⵔⵓⵢ', default_title = 'ⵜⵉⵎⵏⵢⵓⴳⴰⵔⵉⵏ ⵉ ⵓⵎⵣⵔⵓⵢ', rows = { { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ' }, { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ' }, { subheader = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5' }, { subheader = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5' }, } }, -- World Cup { title_param = 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- Confederation Cup { title_param = 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- Olympic games { title_param = 'ⵓⵍⴰⵎⴱⵢⴰⴷ', default_title = '[[ⵓⵔⴰⵔⵏ ⵓⵍⴰⵎⴱⵉⵏ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- CONCACAF Gold Cup { title_param = 'ⴽⵓⵏⴽⴰⴽⴰⴼ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵡⵓⵔⵖ ⵏ ⴽⵓⵏⴽⴰⴽⴰⴼ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- Copa America { title_param = 'ⴽⵓⵎⵏⵉⴱⵓⵍ', default_title = '[[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- UEFA European Championship { title_param = 'ⵢⵓⵡⵉⴼⴰ', default_title = '[[ⵜⴰⴱⵔⵣⴰ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵕⵓⴱⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- CAF Africa Cup { title_param = 'ⴽⴰⴼ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⴼⵔⵉⵇⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- AFC Asia Cup { title_param = 'ⵉⵢⵉⴼⵙⵉ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⴰⵣⵉⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- OFC Nation Cup { title_param = 'ⵓⵡⵉⵙⵉⴼ', default_title = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵙⵢⴰⵏⵉⵜ]]', rows = { { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- Other Championships { title_param = 'ⵜⴰⴱⵔⵣⴰ', default_title = 'ⵜⴰⴱⵔⵣⴰ', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 2', default_title = 'ⵜⴰⴱⵔⵣⴰ 2', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 3', default_title = 'ⵜⴰⴱⵔⵣⴰ 3', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 4', default_title = 'ⵜⴰⴱⵔⵣⴰ 4', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 5', default_title = 'ⵜⴰⴱⵔⵣⴰ 5', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } } } -- ── Render data blocks sequentially ─────────────────────── for _, section in ipairs(sections) do local sectionHtml = mw.html.create('') local hasContent = false local pendingSubHeader = nil local pendingRows = nil local function flushPending() if pendingRows and pendingRows.count > 0 then hasContent = true if pendingSubHeader then addSubHeader(sectionHtml, pendingSubHeader) end sectionHtml:node(pendingRows.html) end pendingSubHeader = nil pendingRows = nil end for _, rowDef in ipairs(section.rows) do if rowDef.subheader then flushPending() pendingSubHeader = rowDef.subheader pendingRows = { count = 0, html = mw.html.create('') } elseif rowDef.type == 'historic_match' then -- Combined layout for Historic Matches local matchVal, matchFromWD = getValueOrWikidata(args, rowDef.match, nil) local dateVal = getValueOrWikidata(args, rowDef.date, nil) local locVal = getValueOrWikidata(args, rowDef.loc, nil) if exists(matchVal) then if not pendingRows then pendingRows = { count = 0, html = mw.html.create('') } end pendingRows.count = pendingRows.count + 1 local row = pendingRows.html:tag('tr') local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = ROW_BG, ['text-align'] = 'center', }) local content = matchVal if exists(locVal) or exists(dateVal) then content = content .. '<br />' if exists(locVal) then content = content .. locVal end if exists(dateVal) then if exists(locVal) then content = content .. ' (' .. dateVal .. ')' else content = content .. '(' .. dateVal .. ')' end end end cell:wikitext(content) end else local label, paramName, wdProp, fullwidth = rowDef[1], rowDef[2], rowDef[3], rowDef[4] if exists(label) then local value, fromWD = getValueOrWikidata(args, paramName, wdProp) if exists(value) then if not pendingRows then pendingRows = { count = 0, html = mw.html.create('') } end pendingRows.count = pendingRows.count + 1 local row = pendingRows.html:tag('tr') if fullwidth == 'fullwidth' then -- Full width row - spans both columns local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = ROW_BG, ['text-align'] = 'center', ['font-weight'] = 'bold', }) -- Add value without the label prefix if fromWD and entityId and wdProp then local icons = {} local props = type(wdProp) == 'table' and wdProp or {wdProp} for _, pid in ipairs(props) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end else -- Standard two-column row row:tag('th') :wikitext(label) :css({ ['background-color'] = ROW_BG, ['padding'] = '0.2em', ['text-align'] = 'left', ['font-weight'] = 'bold', ['width'] = '45%', }) local cell = row:tag('td') :css({ ['padding'] = '0.2em' }) if fromWD and entityId and wdProp then local icons = {} local props = type(wdProp) == 'table' and wdProp or {wdProp} for _, pid in ipairs(props) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end end end end end end flushPending() if hasContent then -- Get the section title from args or use default local sectionTitle = args[section.title_param] or section.default_title addSectionHeader(infobox, sectionTitle) infobox:node(sectionHtml) end end -- ── Kit Graphics Sub-table Rendering ────────────────────── if exists(args['body1']) or exists(args['pattern_b1']) or exists(args['body2']) or exists(args['pattern_b2']) then addSectionHeader(infobox, 'ⵉⵔⵉⴽⵉⵜⵏ') -- Kits Header local kitContainer = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em', ['background-color'] = 'white' }) local kitTable = kitContainer:tag('table') :css({ ['width'] = '100%', ['background'] = 'transparent', ['text-align'] = 'center' }) local kitRow = kitTable:tag('tr') local function renderKitColumn(num, defaultTitle) local body = args['body'..num] local pattern_b = args['pattern_b'..num] if exists(body) or exists(pattern_b) then local cell = kitRow:tag('td') cell:wikitext(buildNativeKit(args, num, defaultTitle)) end end renderKitColumn('1', 'ⴰⴷⵙⵍⴰⵏ') renderKitColumn('2', 'ⵡⵉⵙⵙ 2') renderKitColumn('3', 'ⵡⵉⵙⵙ 3') end -- ── Bottom Separator line ───────────────────────────────── infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['padding'] = '0', ['border-top'] = '2px dashed ' .. HEADER_COLOR }) -- ── Action Footer Links ─────────────────────────────────── local currentTitle = mw.title.getCurrentTitle() local editSourceUrl = currentTitle:fullUrl({ action = 'edit', section = '0' }) local editVisualUrl = currentTitle:fullUrl({ veaction = 'edit' }) local footerCell = infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.2em', ['font-size'] = '85%', ['text-align'] = 'left', ['background-color'] = '#f8f9fa', }) local footerDiv = mw.html.create('div') :css({ ['display'] = 'flex', ['justify-content'] = 'space-between', ['align-items'] = 'center' }) local editSpan = footerDiv:tag('span'):addClass('plainlinks') if entityId and entityId ~= '' then local wdUrl = 'https://www.wikidata.org/wiki/Special:EntityPage/' .. entityId editSpan:wikitext( '[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · ' .. '[' .. editVisualUrl .. ' ⵙⵏⴼⵍ] · ' .. '[' .. wdUrl .. ' ⵡⵉⴽⵉⴷⴰⵜⴰ]' ) else editSpan:wikitext( '[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · ' .. '[' .. editVisualUrl .. ' ⵙⵏⴼⵍ]' ) end local templateDocUrl = mw.title.new('ⴰⵍⴱⵓⴹ:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ'):fullUrl() footerDiv:tag('span') :css({ ['float'] = 'right', ['margin-left'] = '5px' }) :wikitext('[[File:Info Simple.svg|18px|link=' .. templateDocUrl .. '|ⵥⵕ ⴰⵍⴱⵓⴹ]]') footerCell:node(footerDiv) return tostring(infobox) end return p 3f60lcqh5prs3td2gm4wdbv2pmjilx2 177045 177044 2026-06-26T01:42:39Z Essaidib2 15 177045 Scribunto text/plain -- This module generates an infobox for national football teams -- Supports manual template parameters and Wikidata auto-fetch. -- Module usage: {{#invoke:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|main|qid=}} -- Template usage: {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}} -- ============================================================ local p = {} -- ── Constants ────────────────────────────────────────────────── local HEADER_COLOR = '#8FCEFF' -- Header background color local HEADER_TEXT = 'Black' local ROW_BG = '#f0f0f0' -- ── Helper Functions ────────────────────────────────────────── function trimWhitespace(str) if not str then return '' end return mw.text.trim(str) end function exists(value) return value and value ~= '' and value ~= nil end -- ── Custom Argument Parser (self-contained) ────────────────── function getArgs(frame) local args = {} local parent = frame:getParent() if not parent then parent = frame end local parentArgs = parent.args for key, value in pairs(parentArgs) do if type(key) == 'string' then local cleanKey = mw.text.trim(key) if cleanKey ~= '' then local cleanValue = type(value) == 'string' and mw.text.trim(value) or value if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end local i = 1 while true do if parentArgs[i] == nil then break end local value = parentArgs[i] if type(value) == 'string' then value = mw.text.trim(value) end if value ~= '' then args[i] = value end i = i + 1 end for key, value in pairs(frame.args) do if type(key) == 'string' then local cleanKey = mw.text.trim(key) if cleanKey ~= '' then local cleanValue = type(value) == 'string' and mw.text.trim(value) or value if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end return args end function getEntity(entityId) if not entityId or entityId == '' then return nil end return mw.wikibase.getEntity(entityId) end function getValueOrWikidata(args, paramName, wdProp) local value = args[paramName] if value and value ~= '' then return value, false end if not wdProp or not args.qid then return nil, false end local entity = getEntity(args.qid) if not entity then return nil, false end local claims = entity.claims if not claims or not claims[wdProp] then return nil, false end local claim = claims[wdProp][1] if not claim then return nil, false end local datatype = claim.datatype if datatype == 'string' or datatype == 'external-id' or datatype == 'url' then value = claim.mainsnak.datavalue.value elseif datatype == 'monolingualtext' then value = claim.mainsnak.datavalue.value.text elseif datatype == 'wikibase-item' then local id = claim.mainsnak.datavalue.value.id value = mw.wikibase.getLabel(id) elseif datatype == 'time' then value = claim.mainsnak.datavalue.value.time elseif datatype == 'quantity' then value = claim.mainsnak.datavalue.value.amount end if value and value ~= '' then return value, true end return nil, false end function editIcon(entityId, propertyId) if not entityId or not propertyId then return '' end local url = 'https://www.wikidata.org/wiki/Special:EditEntity/' .. entityId .. '#' .. propertyId return ' <sup class="plainlinks">[' .. url .. ' ⵙⵏⴼⵍ]</sup>' end function buildNativeKit(args, num, title) local pattern_b = args['pattern_b' .. num] or '' local pattern_la = args['pattern_la' .. num] or '' local pattern_ra = args['pattern_ra' .. num] or '' local pattern_sh = args['pattern_sh' .. num] or '' local pattern_so = args['pattern_so' .. num] or '' local leftarm = args['leftarm' .. num] or '' local body = args['body' .. num] or '' local rightarm = args['rightarm' .. num] or '' local shorts = args['shorts' .. num] or '' local socks = args['socks' .. num] or '' local function formatColor(c) if not c or mw.text.trim(c) == '' then return '#ffffff' end c = mw.text.trim(c) if string.match(c, '^[0-9A-Fa-f]{3}$') or string.match(c, '^[0-9A-Fa-f]{6}$') then return '#' .. c end return c end if pattern_la == '' then pattern_la = 'empty' end if pattern_b == '' then pattern_b = 'empty' end if pattern_ra == '' then pattern_ra = 'empty' end if pattern_sh == '' then pattern_sh = 'empty' end if pattern_so == '' then pattern_so = 'empty' end local kitHtml = mw.html.create('div') :css({ ['text-align'] = 'center', ['margin'] = '5px' }) if title then kitHtml:tag('div') :css({ ['font-weight'] = 'bold', ['font-size'] = '90%', ['margin-bottom'] = '3px' }) :wikitext(title) end local kitDiv = kitHtml:tag('div') :css({ ['display'] = 'inline-block', ['background-color'] = '#ffffff', ['padding'] = '5px', ['border'] = '1px solid #ccc', ['width'] = '100px' }) local shirt = kitDiv:tag('div') :css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '59px', ['margin'] = '0 auto', ['padding'] = '0' }) shirt:tag('div'):css({ ['position'] = 'absolute', ['left'] = '0', ['top'] = '0', ['width'] = '31px', ['height'] = '59px', ['background-color'] = formatColor(leftarm) }):wikitext('[[File:Kit left arm ' .. pattern_la .. '.png|31x59px|alt=|link=]]') shirt:tag('div'):css({ ['position'] = 'absolute', ['left'] = '31px', ['top'] = '0', ['width'] = '38px', ['height'] = '59px', ['background-color'] = formatColor(body) }):wikitext('[[File:Kit body ' .. pattern_b .. '.png|38x59px|alt=|link=]]') shirt:tag('div'):css({ ['position'] = 'absolute', ['left'] = '69px', ['top'] = '0', ['width'] = '31px', ['height'] = '59px', ['background-color'] = formatColor(rightarm) }):wikitext('[[File:Kit right arm ' .. pattern_ra .. '.png|31x59px|alt=|link=]]') kitDiv:tag('div'):css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '36px', ['margin'] = '0 auto', ['padding'] = '0', ['background-color'] = formatColor(shorts) }):wikitext('[[File:Kit shorts ' .. pattern_sh .. '.png|100x36px|alt=|link=]]') kitDiv:tag('div'):css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '25px', ['margin'] = '0 auto', ['padding'] = '0', ['background-color'] = formatColor(socks) }):wikitext('[[File:Kit socks ' .. pattern_so .. '.png|100x25px|alt=|link=]]') return tostring(kitHtml) end -- ── UI Functions ───────────────────────────────────────────── function addSectionHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.3em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '105%', ['border-top'] = '2px solid #ccc', }) :wikitext(title) return cell end function addSubHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = '#e8e8e8', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '95%', ['font-style'] = 'italic', }) :wikitext(title) return cell end -- ── Main Entry Point ────────────────────────────────────────── function p.main(frame) local args = getArgs(frame) local entityId = trimWhitespace(args.qid) if entityId == '' then entityId = mw.wikibase and mw.wikibase.getEntityIdForCurrentPage() or nil end args.qid = entityId local entity = getEntity(entityId) local infobox = mw.html.create('table') infobox:addClass('infobox') infobox:css({ ['border'] = '1px solid #a2a9b1', ['border-spacing'] = '3px', ['background-color'] = '#f8f9fa', ['color'] = 'black', ['margin'] = '0.5em 0 0.5em 1em', ['padding'] = '0.2em', ['float'] = 'right', ['clear'] = 'right', ['font-size'] = '90%', ['line-height'] = '1.5em', ['width'] = '22em', }) local title, titleFromWD = getValueOrWikidata(args, 'ⴰⵣⵡⵍ', nil) if not exists(title) and entityId then title = mw.wikibase.getLabel(entityId) end if not exists(title) then title = mw.title.getCurrentTitle().text end local titleRow = infobox:tag('tr') local titleCell = titleRow:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.4em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '115%', ['position'] = 'relative', ['line-height'] = '2em', }) local titleDiv = mw.html.create('div') :css({ ['padding'] = '0 30px' }) :wikitext(title) titleCell:node(titleDiv) titleCell:node( mw.html.create('div') :css({ ['position'] = 'absolute', ['top'] = '5px', ['right'] = '5px' }) :wikitext('[[File:Soccerball.svg|30px|alt=ⵜⴰⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ]]') ) local logo1, logo1FromWD = getValueOrWikidata(args, 'ⴰⵍⵓⴳⵓ', 'P154') local logo2 = args['ⴰⵍⵓⴳⵓ2'] if exists(logo1) then local imgCell = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em' }) local imgStr = '[[File:' .. logo1 .. '|220px|alt=' .. title .. ']]' if exists(logo2) then imgStr = imgStr .. '<br />[[File:' .. logo2 .. '|220px]]' end imgCell:wikitext(imgStr) if logo1FromWD and entityId then imgCell:wikitext(editIcon(entityId, 'P154')) end end -- ── Sections and Rows Definition ────────────────────────── local sections = { -- General Information { default_title = 'ⵓⵎⵍⴰⵏ ⵉⵎⴰⵜⴰⵢⵏ', rows = { { 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'P1268' }, { 'ⵜⴰⵎⵓⵏⵜ', 'ⵜⴰⵎⵓⵏⵜ', 'P463' }, { 'ⵎⴼⴼⵔⵉⵙⵎ', 'ⵎⴼⴼⵔⵉⵙⵎ', nil }, { 'ⵉⴽⵯⵍⴰⵏ', 'ⵉⴽⵯⵍⴰⵏ', 'P462' }, { 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'P1449' }, { 'ⴰⴱⴰⵔⴰⵣ', 'ⴰⴱⴰⵔⴰⵣ', 'P115' }, { 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', 'P115' }, { 'ⴰⵙⵉⵜⵡⵉⴱ', 'ⴰⵙⵉⵜⵡⵉⴱ', 'P115' }, } }, -- FIFA Rankings { default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ', 'P1081' }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, -- Elo Ratings { default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ', 'P1081' }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, -- Key Figures { default_title = 'ⵉⵎⵙⵜⴳⴳⴰⵔⵏ ⴷ ⵉⵎⵓⵔⴰⵔⵏ', rows = { { 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'P286' }, { 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', nil }, { 'ⴰⵏⴱⴷⴰⴷ', 'ⴰⵏⴱⴷⴰⴷ', 'P634' }, { 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', nil }, } }, -- Historic Matches { default_title = 'ⵜⵉⵎⵏⵢⵓⴳⴰⵔⵉⵏ ⵉ ⵓⵎⵣⵔⵓⵢ', rows = { { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ' }, { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ' }, { subheader = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5' }, { subheader = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5' }, } }, -- Palmarès (Grouped Competitions) { default_title = 'ⴰⴱⴰⵍⵎⴰⵔⵉⵙ', rows = { -- World Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- Confederation Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- Olympic games { subheader = '[[ⵓⵔⴰⵔⵏ ⵓⵍⴰⵎⴱⵉⵏ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- CONCACAF Gold Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵡⵓⵔⵖ ⵏ ⴽⵓⵏⴽⴰⴽⴰⴼ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- Copa America { subheader = '[[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- UEFA European Championship { subheader = '[[ⵜⴰⴱⵔⵣⴰ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵕⵓⴱⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- CAF Africa Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⴼⵔⵉⵇⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- AFC Asia Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⴰⵣⵉⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- OFC Nation Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵙⵢⴰⵏⵉⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, -- Other Championships { title_param = 'ⵜⴰⴱⵔⵣⴰ', default_title = 'ⵜⴰⴱⵔⵣⴰ', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 2', default_title = 'ⵜⴰⴱⵔⵣⴰ 2', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 3', default_title = 'ⵜⴰⴱⵔⵣⴰ 3', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 4', default_title = 'ⵜⴰⴱⵔⵣⴰ 4', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 5', default_title = 'ⵜⴰⴱⵔⵣⴰ 5', rows = { { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, } } } -- ── Render data blocks sequentially ─────────────────────── for _, section in ipairs(sections) do local sectionHtml = mw.html.create('') local hasContent = false local pendingSubHeader = nil local pendingRows = nil local function flushPending() if pendingRows and pendingRows.count > 0 then hasContent = true if pendingSubHeader then addSubHeader(sectionHtml, pendingSubHeader) end sectionHtml:node(pendingRows.html) end pendingSubHeader = nil pendingRows = nil end for _, rowDef in ipairs(section.rows) do if rowDef.subheader then flushPending() pendingSubHeader = rowDef.subheader pendingRows = { count = 0, html = mw.html.create('') } elseif rowDef.type == 'historic_match' then local matchVal, matchFromWD = getValueOrWikidata(args, rowDef.match, nil) local dateVal = getValueOrWikidata(args, rowDef.date, nil) local locVal = getValueOrWikidata(args, rowDef.loc, nil) if exists(matchVal) then if not pendingRows then pendingRows = { count = 0, html = mw.html.create('') } end pendingRows.count = pendingRows.count + 1 local row = pendingRows.html:tag('tr') local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = ROW_BG, ['text-align'] = 'center' }) local content = matchVal if exists(locVal) or exists(dateVal) then content = content .. '<br />' if exists(locVal) then content = content .. locVal end if exists(dateVal) then if exists(locVal) then content = content .. ' (' .. dateVal .. ')' else content = content .. '(' .. dateVal .. ')' end end end cell:wikitext(content) end else local label, paramName, wdProp, fullwidth = rowDef[1], rowDef[2], rowDef[3], rowDef[4] if exists(label) then local value, fromWD = getValueOrWikidata(args, paramName, wdProp) if exists(value) then if not pendingRows then pendingRows = { count = 0, html = mw.html.create('') } end pendingRows.count = pendingRows.count + 1 local row = pendingRows.html:tag('tr') if fullwidth == 'fullwidth' then local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = ROW_BG, ['text-align'] = 'center', ['font-weight'] = 'bold' }) if fromWD and entityId and wdProp then local icons = {} local props = type(wdProp) == 'table' and wdProp or {wdProp} for _, pid in ipairs(props) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end else row:tag('th') :wikitext(label) :css({ ['background-color'] = ROW_BG, ['padding'] = '0.2em', ['text-align'] = 'left', ['font-weight'] = 'bold', ['width'] = '45%' }) local cell = row:tag('td'):css({ ['padding'] = '0.2em' }) if fromWD and entityId and wdProp then local icons = {} local props = type(wdProp) == 'table' and wdProp or {wdProp} for _, pid in ipairs(props) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end end end end end end flushPending() if hasContent then -- Safely handle blocks with or without a title_param local sectionTitle = (section.title_param and args[section.title_param]) or section.default_title addSectionHeader(infobox, sectionTitle) infobox:node(sectionHtml) end end -- ── Kit Graphics Sub-table Rendering ────────────────────── if exists(args['body1']) or exists(args['pattern_b1']) or exists(args['body2']) or exists(args['pattern_b2']) then addSectionHeader(infobox, 'ⵉⵔⵉⴽⵉⵜⵏ') local kitContainer = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em', ['background-color'] = 'white' }) local kitTable = kitContainer:tag('table') :css({ ['width'] = '100%', ['background'] = 'transparent', ['text-align'] = 'center' }) local kitRow = kitTable:tag('tr') local function renderKitColumn(num, defaultTitle) local body = args['body'..num] local pattern_b = args['pattern_b'..num] if exists(body) or exists(pattern_b) then local cell = kitRow:tag('td') cell:wikitext(buildNativeKit(args, num, defaultTitle)) end end renderKitColumn('1', 'ⴰⴷⵙⵍⴰⵏ') renderKitColumn('2', 'ⵡⵉⵙⵙ 2') renderKitColumn('3', 'ⵡⵉⵙⵙ 3') end -- ── Bottom Separator line ───────────────────────────────── infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['padding'] = '0', ['border-top'] = '2px dashed ' .. HEADER_COLOR }) -- ── Action Footer Links ─────────────────────────────────── local currentTitle = mw.title.getCurrentTitle() local editSourceUrl = currentTitle:fullUrl({ action = 'edit', section = '0' }) local editVisualUrl = currentTitle:fullUrl({ veaction = 'edit' }) local footerCell = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.2em', ['font-size'] = '85%', ['text-align'] = 'left', ['background-color'] = '#f8f9fa' }) local footerDiv = mw.html.create('div') :css({ ['display'] = 'flex', ['justify-content'] = 'space-between', ['align-items'] = 'center' }) local editSpan = footerDiv:tag('span'):addClass('plainlinks') if entityId and entityId ~= '' then local wdUrl = 'https://www.wikidata.org/wiki/Special:EntityPage/' .. entityId editSpan:wikitext('[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · [' .. editVisualUrl .. ' ⵙⵏⴼⵍ] · [' .. wdUrl .. ' ⵡⵉⴽⵉⴷⴰⵜⴰ]') else editSpan:wikitext('[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · [' .. editVisualUrl .. ' ⵙⵏⴼⵍ]') end local templateDocUrl = mw.title.new('ⴰⵍⴱⵓⴹ:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ'):fullUrl() footerDiv:tag('span') :css({ ['float'] = 'right', ['margin-left'] = '5px' }) :wikitext('[[File:Info Simple.svg|18px|link=' .. templateDocUrl .. '|ⵥⵕ ⵓⴳⴳⴰⵔ ⵅⴼ ⵡⴰⵍⴱⵓⴹ ⴰⴷ]]') footerCell:node(footerDiv) return tostring(infobox) end return p 9ghwuw1wqqjykrh55j82zz4ziif7m45 177046 177045 2026-06-26T02:17:51Z Essaidib2 15 177046 Scribunto text/plain -- This module generates an infobox for national football teams -- Supports manual template parameters and Wikidata auto-fetch. -- Module usage: {{#invoke:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|main|qid=}} -- Template usage: {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}} -- ============================================================ local p = {} -- ── Constants ────────────────────────────────────────────────── local HEADER_COLOR = '#8FCEFF' -- Header background color local HEADER_TEXT = 'Black' local ROW_BG = '#f0f0f0' -- ── Helper Functions ────────────────────────────────────────── function trimWhitespace(str) if not str then return '' end return mw.text.trim(str) end function exists(value) return value and value ~= '' and value ~= nil end -- ── Custom Argument Parser (self-contained) ────────────────── function getArgs(frame) local args = {} local parent = frame:getParent() if not parent then parent = frame end local parentArgs = parent.args for key, value in pairs(parentArgs) do if type(key) == 'string' then local cleanKey = mw.text.trim(key) if cleanKey ~= '' then local cleanValue = type(value) == 'string' and mw.text.trim(value) or value if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end local i = 1 while true do if parentArgs[i] == nil then break end local value = parentArgs[i] if type(value) == 'string' then value = mw.text.trim(value) end if value ~= '' then args[i] = value end i = i + 1 end for key, value in pairs(frame.args) do if type(key) == 'string' then local cleanKey = mw.text.trim(key) if cleanKey ~= '' then local cleanValue = type(value) == 'string' and mw.text.trim(value) or value if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end return args end function getEntity(entityId) if not entityId or entityId == '' then return nil end return mw.wikibase.getEntity(entityId) end function getValueOrWikidata(args, paramName, wdProp) local value = args[paramName] if value and value ~= '' then return value, false end if not wdProp or not args.qid then return nil, false end local entity = getEntity(args.qid) if not entity then return nil, false end local claims = entity.claims if not claims or not claims[wdProp] then return nil, false end local claim = claims[wdProp][1] if not claim then return nil, false end local datatype = claim.datatype if datatype == 'string' or datatype == 'external-id' or datatype == 'url' then value = claim.mainsnak.datavalue.value elseif datatype == 'monolingualtext' then value = claim.mainsnak.datavalue.value.text elseif datatype == 'wikibase-item' then local id = claim.mainsnak.datavalue.value.id value = mw.wikibase.getLabel(id) elseif datatype == 'time' then value = claim.mainsnak.datavalue.value.time elseif datatype == 'quantity' then value = claim.mainsnak.datavalue.value.amount end if value and value ~= '' then return value, true end return nil, false end function editIcon(entityId, propertyId) if not entityId or not propertyId then return '' end local url = 'https://www.wikidata.org/wiki/Special:EditEntity/' .. entityId .. '#' .. propertyId return ' <sup class="plainlinks">[' .. url .. ' ⵙⵏⴼⵍ]</sup>' end function buildNativeKit(args, num, title) local pattern_b = args['pattern_b' .. num] or '' local pattern_la = args['pattern_la' .. num] or '' local pattern_ra = args['pattern_ra' .. num] or '' local pattern_sh = args['pattern_sh' .. num] or '' local pattern_so = args['pattern_so' .. num] or '' local leftarm = args['leftarm' .. num] or '' local body = args['body' .. num] or '' local rightarm = args['rightarm' .. num] or '' local shorts = args['shorts' .. num] or '' local socks = args['socks' .. num] or '' local function formatColor(c) if not c or mw.text.trim(c) == '' then return '#ffffff' end c = mw.text.trim(c) if string.match(c, '^[0-9A-Fa-f]{3}$') or string.match(c, '^[0-9A-Fa-f]{6}$') then return '#' .. c end return c end if pattern_la == '' then pattern_la = 'empty' end if pattern_b == '' then pattern_b = 'empty' end if pattern_ra == '' then pattern_ra = 'empty' end if pattern_sh == '' then pattern_sh = 'empty' end if pattern_so == '' then pattern_so = 'empty' end local kitHtml = mw.html.create('div') :css({ ['text-align'] = 'center', ['margin'] = '5px' }) if title then kitHtml:tag('div') :css({ ['font-weight'] = 'bold', ['font-size'] = '90%', ['margin-bottom'] = '3px' }) :wikitext(title) end local kitDiv = kitHtml:tag('div') :css({ ['display'] = 'inline-block', ['background-color'] = '#ffffff', ['padding'] = '5px', ['border'] = '1px solid #ccc', ['width'] = '100px' }) local shirt = kitDiv:tag('div') :css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '59px', ['margin'] = '0 auto', ['padding'] = '0' }) shirt:tag('div'):css({ ['position'] = 'absolute', ['left'] = '0', ['top'] = '0', ['width'] = '31px', ['height'] = '59px', ['background-color'] = formatColor(leftarm) }):wikitext('[[File:Kit left arm ' .. pattern_la .. '.png|31x59px|alt=|link=]]') shirt:tag('div'):css({ ['position'] = 'absolute', ['left'] = '31px', ['top'] = '0', ['width'] = '38px', ['height'] = '59px', ['background-color'] = formatColor(body) }):wikitext('[[File:Kit body ' .. pattern_b .. '.png|38x59px|alt=|link=]]') shirt:tag('div'):css({ ['position'] = 'absolute', ['left'] = '69px', ['top'] = '0', ['width'] = '31px', ['height'] = '59px', ['background-color'] = formatColor(rightarm) }):wikitext('[[File:Kit right arm ' .. pattern_ra .. '.png|31x59px|alt=|link=]]') kitDiv:tag('div'):css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '36px', ['margin'] = '0 auto', ['padding'] = '0', ['background-color'] = formatColor(shorts) }):wikitext('[[File:Kit shorts ' .. pattern_sh .. '.png|100x36px|alt=|link=]]') kitDiv:tag('div'):css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '25px', ['margin'] = '0 auto', ['padding'] = '0', ['background-color'] = formatColor(socks) }):wikitext('[[File:Kit socks ' .. pattern_so .. '.png|100x25px|alt=|link=]]') return tostring(kitHtml) end -- ── UI Functions ───────────────────────────────────────────── function addSectionHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.3em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '105%', ['border-top'] = '2px solid #ccc', }) :wikitext(title) return cell end function addSubHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = '#e8e8e8', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '95%', ['font-style'] = 'italic', }) :wikitext(title) return cell end -- ── Main Entry Point ────────────────────────────────────────── function p.main(frame) local args = getArgs(frame) local entityId = trimWhitespace(args.qid) if entityId == '' then entityId = mw.wikibase and mw.wikibase.getEntityIdForCurrentPage() or nil end args.qid = entityId local entity = getEntity(entityId) local infobox = mw.html.create('table') infobox:addClass('infobox') infobox:css({ ['border'] = '1px solid #a2a9b1', ['border-spacing'] = '3px', ['background-color'] = '#f8f9fa', ['color'] = 'black', ['margin'] = '0.5em 0 0.5em 1em', ['padding'] = '0.2em', ['float'] = 'right', ['clear'] = 'right', ['font-size'] = '90%', ['line-height'] = '1.5em', ['width'] = '22em', }) local title, titleFromWD = getValueOrWikidata(args, 'ⴰⵣⵡⵍ', nil) if not exists(title) and entityId then title = mw.wikibase.getLabel(entityId) end if not exists(title) then title = mw.title.getCurrentTitle().text end local titleRow = infobox:tag('tr') local titleCell = titleRow:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.4em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '115%', ['position'] = 'relative', ['line-height'] = '2em', }) local titleDiv = mw.html.create('div') :css({ ['padding'] = '0 30px' }) :wikitext(title) titleCell:node(titleDiv) titleCell:node( mw.html.create('div') :css({ ['position'] = 'absolute', ['top'] = '5px', ['right'] = '5px' }) :wikitext('[[File:Soccerball.svg|30px|alt=ⵜⴰⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ]]') ) local logo1, logo1FromWD = getValueOrWikidata(args, 'ⴰⵍⵓⴳⵓ', 'P154') local logo2 = args['ⴰⵍⵓⴳⵓ2'] if exists(logo1) then local imgCell = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em' }) local imgStr = '[[File:' .. logo1 .. '|220px|alt=' .. title .. ']]' if exists(logo2) then imgStr = imgStr .. '<br />[[File:' .. logo2 .. '|220px]]' end imgCell:wikitext(imgStr) if logo1FromWD and entityId then imgCell:wikitext(editIcon(entityId, 'P154')) end end -- ── Sections and Rows Definition ────────────────────────── local sections = { -- General Information { default_title = 'ⵓⵎⵍⴰⵏ ⵉⵎⴰⵜⴰⵢⵏ', rows = { { 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'P1268' }, { 'ⵜⴰⵎⵓⵏⵜ', 'ⵜⴰⵎⵓⵏⵜ', 'P463' }, { 'ⵎⴼⴼⵔⵉⵙⵎ', 'ⵎⴼⴼⵔⵉⵙⵎ', nil }, { 'ⵉⴽⵯⵍⴰⵏ', 'ⵉⴽⵯⵍⴰⵏ', 'P462' }, { 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'P1449' }, { 'ⴰⴱⴰⵔⴰⵣ', 'ⴰⴱⴰⵔⴰⵣ', 'P115' }, { 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', 'P115' }, { 'ⴰⵙⵉⵜⵡⵉⴱ', 'ⴰⵙⵉⵜⵡⵉⴱ', 'P115' }, } }, -- FIFA Rankings { default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ', 'P1081' }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, -- Elo Ratings { default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ', 'P1081' }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, -- Key Figures { default_title = 'ⵉⵎⵙⵜⴳⴳⴰⵔⵏ ⴷ ⵉⵎⵓⵔⴰⵔⵏ', rows = { { 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'P286' }, { 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', nil }, { 'ⴰⵏⴱⴷⴰⴷ', 'ⴰⵏⴱⴷⴰⴷ', 'P634' }, { 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', nil }, } }, -- Historic Matches { default_title = 'ⵜⵉⵎⵏⵢⵓⴳⴰⵔⵉⵏ ⵉ ⵓⵎⵣⵔⵓⵢ', rows = { { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ' }, { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ' }, { subheader = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5' }, { subheader = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5' }, } }, -- Palmarès (Grouped Competitions including Other Championships) { default_title = 'ⴰⴱⴰⵍⵎⴰⵔⵉⵙ', rows = { -- World Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- Confederation Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- Olympic games { subheader = '[[ⵓⵔⴰⵔⵏ ⵓⵍⴰⵎⴱⵉⵏ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- CONCACAF Gold Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵡⵓⵔⵖ ⵏ ⴽⵓⵏⴽⴰⴽⴰⴼ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- Copa America { subheader = '[[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- UEFA European Championship { subheader = '[[ⵜⴰⴱⵔⵣⴰ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵕⵓⴱⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- CAF Africa Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⴼⵔⵉⵇⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- AFC Asia Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⴰⵣⵉⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- OFC Nation Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵙⵢⴰⵏⵉⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- Other Championships (Moved here as subheaders) { subheader = args['ⵜⴰⴱⵔⵣⴰ'] or 'ⵜⴰⴱⵔⵣⴰ' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, { subheader = args['ⵜⴰⴱⵔⵣⴰ 2'] or 'ⵜⴰⴱⵔⵣⴰ 2' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, { subheader = args['ⵜⴰⴱⵔⵣⴰ 3'] or 'ⵜⴰⴱⵔⵣⴰ 3' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, { subheader = args['ⵜⴰⴱⵔⵣⴰ 4'] or 'ⵜⴰⴱⵔⵣⴰ 4' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, { subheader = args['ⵜⴰⴱⵔⵣⴰ 5'] or 'ⵜⴰⴱⵔⵣⴰ 5' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil } } } } -- ── Render data blocks sequentially ─────────────────────── for _, section in ipairs(sections) do local sectionHtml = mw.html.create('') local hasContent = false local pendingSubHeader = nil local pendingRows = nil local function flushPending() if pendingRows and pendingRows.count > 0 then hasContent = true if pendingSubHeader then addSubHeader(sectionHtml, pendingSubHeader) end sectionHtml:node(pendingRows.html) end pendingSubHeader = nil pendingRows = nil end for _, rowDef in ipairs(section.rows) do if rowDef.subheader then flushPending() pendingSubHeader = rowDef.subheader pendingRows = { count = 0, html = mw.html.create('') } elseif rowDef.type == 'historic_match' then local matchVal, matchFromWD = getValueOrWikidata(args, rowDef.match, nil) local dateVal = getValueOrWikidata(args, rowDef.date, nil) local locVal = getValueOrWikidata(args, rowDef.loc, nil) if exists(matchVal) then if not pendingRows then pendingRows = { count = 0, html = mw.html.create('') } end pendingRows.count = pendingRows.count + 1 local row = pendingRows.html:tag('tr') local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = ROW_BG, ['text-align'] = 'center' }) local content = matchVal if exists(locVal) or exists(dateVal) then content = content .. '<br />' if exists(locVal) then content = content .. locVal end if exists(dateVal) then if exists(locVal) then content = content .. ' (' .. dateVal .. ')' else content = content .. '(' .. dateVal .. ')' end end end cell:wikitext(content) end else local label, paramName, wdProp, fullwidth = rowDef[1], rowDef[2], rowDef[3], rowDef[4] if exists(label) then local value, fromWD = getValueOrWikidata(args, paramName, wdProp) if exists(value) then if not pendingRows then pendingRows = { count = 0, html = mw.html.create('') } end pendingRows.count = pendingRows.count + 1 local row = pendingRows.html:tag('tr') if fullwidth == 'fullwidth' then local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = ROW_BG, ['text-align'] = 'center', ['font-weight'] = 'bold' }) if fromWD and entityId and wdProp then local icons = {} local props = type(wdProp) == 'table' and wdProp or {wdProp} for _, pid in ipairs(props) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end else row:tag('th') :wikitext(label) :css({ ['background-color'] = ROW_BG, ['padding'] = '0.2em', ['text-align'] = 'left', ['font-weight'] = 'bold', ['width'] = '45%' }) local cell = row:tag('td'):css({ ['padding'] = '0.2em' }) if fromWD and entityId and wdProp then local icons = {} local props = type(wdProp) == 'table' and wdProp or {wdProp} for _, pid in ipairs(props) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end end end end end end flushPending() if hasContent then -- Safely handle blocks with or without a title_param local sectionTitle = (section.title_param and args[section.title_param]) or section.default_title addSectionHeader(infobox, sectionTitle) infobox:node(sectionHtml) end end -- ── Kit Graphics Sub-table Rendering ────────────────────── if exists(args['body1']) or exists(args['pattern_b1']) or exists(args['body2']) or exists(args['pattern_b2']) then addSectionHeader(infobox, 'ⵉⵔⵉⴽⵉⵜⵏ') local kitContainer = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em', ['background-color'] = 'white' }) local kitTable = kitContainer:tag('table') :css({ ['width'] = '100%', ['background'] = 'transparent', ['text-align'] = 'center' }) local kitRow = kitTable:tag('tr') local function renderKitColumn(num, defaultTitle) local body = args['body'..num] local pattern_b = args['pattern_b'..num] if exists(body) or exists(pattern_b) then local cell = kitRow:tag('td') cell:wikitext(buildNativeKit(args, num, defaultTitle)) end end renderKitColumn('1', 'ⴰⴷⵙⵍⴰⵏ') renderKitColumn('2', 'ⵡⵉⵙⵙ 2') renderKitColumn('3', 'ⵡⵉⵙⵙ 3') end -- ── Bottom Separator line ───────────────────────────────── infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['padding'] = '0', ['border-top'] = '2px dashed ' .. HEADER_COLOR }) -- ── Action Footer Links ─────────────────────────────────── local currentTitle = mw.title.getCurrentTitle() local editSourceUrl = currentTitle:fullUrl({ action = 'edit', section = '0' }) local editVisualUrl = currentTitle:fullUrl({ veaction = 'edit' }) local footerCell = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.2em', ['font-size'] = '85%', ['text-align'] = 'left', ['background-color'] = '#f8f9fa' }) local footerDiv = mw.html.create('div') :css({ ['display'] = 'flex', ['justify-content'] = 'space-between', ['align-items'] = 'center' }) local editSpan = footerDiv:tag('span'):addClass('plainlinks') if entityId and entityId ~= '' then local wdUrl = 'https://www.wikidata.org/wiki/Special:EntityPage/' .. entityId editSpan:wikitext('[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · [' .. editVisualUrl .. ' ⵙⵏⴼⵍ] · [' .. wdUrl .. ' ⵡⵉⴽⵉⴷⴰⵜⴰ]') else editSpan:wikitext('[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · [' .. editVisualUrl .. ' ⵙⵏⴼⵍ]') end local templateDocUrl = mw.title.new('ⴰⵍⴱⵓⴹ:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ'):fullUrl() footerDiv:tag('span') :css({ ['float'] = 'right', ['margin-left'] = '5px' }) :wikitext('[[File:Info Simple.svg|18px|link=' .. templateDocUrl .. '|ⵥⵕ ⵓⴳⴳⴰⵔ ⵅⴼ ⵡⴰⵍⴱⵓⴹ ⴰⴷ]]') footerCell:node(footerDiv) return tostring(infobox) end return p rnhtnrccxbpq1m1y6ndnpdhlkf3y4pr 177047 177046 2026-06-26T02:51:15Z Essaidib2 15 177047 Scribunto text/plain -- This module generates an infobox for national football teams -- Supports manual template parameters and Wikidata auto-fetch. -- Module usage: {{#invoke:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|main|qid=}} -- Template usage: {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}} -- ============================================================ local p = {} -- ── Constants ────────────────────────────────────────────────── local HEADER_COLOR = '#8FCEFF' local HEADER_TEXT = 'Black' local ROW_BG = '#f0f0f0' -- ── Helper Functions ────────────────────────────────────────── function trimWhitespace(str) if not str then return '' end return mw.text.trim(str) end function exists(value) return value and value ~= '' and value ~= nil end -- ── Custom Argument Parser ──────────────────────────────────── function getArgs(frame) local args = {} local parent = frame:getParent() if not parent then parent = frame end local parentArgs = parent.args for key, value in pairs(parentArgs) do if type(key) == 'string' then local cleanKey = mw.text.trim(key) if cleanKey ~= '' then local cleanValue = type(value) == 'string' and mw.text.trim(value) or value if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end local i = 1 while true do if parentArgs[i] == nil then break end local value = parentArgs[i] if type(value) == 'string' then value = mw.text.trim(value) end if value ~= '' then args[i] = value end i = i + 1 end for key, value in pairs(frame.args) do if type(key) == 'string' then local cleanKey = mw.text.trim(key) if cleanKey ~= '' then local cleanValue = type(value) == 'string' and mw.text.trim(value) or value if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end return args end -- ── Wikidata Helpers ────────────────────────────────────────── function getEntity(entityId) if not entityId or entityId == '' then return nil end return mw.wikibase.getEntity(entityId) end function getValueOrWikidata(args, paramName, wdProp) local value = args[paramName] if value and value ~= '' then return value, false end if not wdProp or not args.qid then return nil, false end local entity = getEntity(args.qid) if not entity then return nil, false end local claims = entity.claims if not claims or not claims[wdProp] then return nil, false end local claim = claims[wdProp][1] if not claim then return nil, false end local datatype = claim.datatype if datatype == 'string' or datatype == 'external-id' or datatype == 'url' or datatype == 'commonsMedia' then -- fix: commonsMedia returns bare filename value = claim.mainsnak.datavalue.value elseif datatype == 'monolingualtext' then value = claim.mainsnak.datavalue.value.text elseif datatype == 'wikibase-item' then local id = claim.mainsnak.datavalue.value.id value = mw.wikibase.getLabel(id) elseif datatype == 'time' then value = claim.mainsnak.datavalue.value.time elseif datatype == 'quantity' then value = claim.mainsnak.datavalue.value.amount end if value and value ~= '' then return value, true end return nil, false end function editIcon(entityId, propertyId) if not entityId or not propertyId then return '' end local url = 'https://www.wikidata.org/wiki/Special:EditEntity/' .. entityId .. '#' .. propertyId return ' <sup class="plainlinks">[' .. url .. ' ⵙⵏⴼⵍ]</sup>' end -- ── Kit Builder ─────────────────────────────────────────────── function buildNativeKit(args, num, title) local pattern_b = args['pattern_b' .. num] or '' local pattern_la = args['pattern_la' .. num] or '' local pattern_ra = args['pattern_ra' .. num] or '' local pattern_sh = args['pattern_sh' .. num] or '' local pattern_so = args['pattern_so' .. num] or '' local leftarm = args['leftarm' .. num] or '' local body = args['body' .. num] or '' local rightarm = args['rightarm' .. num] or '' local shorts = args['shorts' .. num] or '' local socks = args['socks' .. num] or '' local function formatColor(c) if not c or mw.text.trim(c) == '' then return '#ffffff' end c = mw.text.trim(c) if string.match(c, '^[0-9A-Fa-f]{3}$') or string.match(c, '^[0-9A-Fa-f]{6}$') then return '#' .. c end return c end if pattern_la == '' then pattern_la = 'empty' end if pattern_b == '' then pattern_b = 'empty' end if pattern_ra == '' then pattern_ra = 'empty' end if pattern_sh == '' then pattern_sh = 'empty' end if pattern_so == '' then pattern_so = 'empty' end local kitHtml = mw.html.create('div') :css({ ['text-align'] = 'center', ['margin'] = '5px' }) if title then kitHtml:tag('div') :css({ ['font-weight'] = 'bold', ['font-size'] = '90%', ['margin-bottom'] = '3px' }) :wikitext(title) end local kitDiv = kitHtml:tag('div') :css({ ['display'] = 'inline-block', ['background-color'] = '#ffffff', ['padding'] = '5px', ['border'] = '1px solid #ccc', ['width'] = '100px', }) local shirt = kitDiv:tag('div') :css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '59px', ['margin'] = '0 auto', ['padding'] = '0' }) shirt:tag('div'):css({ ['position'] = 'absolute', ['left'] = '0', ['top'] = '0', ['width'] = '31px', ['height'] = '59px', ['background-color'] = formatColor(leftarm) }):wikitext('[[File:Kit left arm ' .. pattern_la .. '.png|31x59px|alt=|link=]]') shirt:tag('div'):css({ ['position'] = 'absolute', ['left'] = '31px', ['top'] = '0', ['width'] = '38px', ['height'] = '59px', ['background-color'] = formatColor(body) }):wikitext('[[File:Kit body ' .. pattern_b .. '.png|38x59px|alt=|link=]]') shirt:tag('div'):css({ ['position'] = 'absolute', ['left'] = '69px', ['top'] = '0', ['width'] = '31px', ['height'] = '59px', ['background-color'] = formatColor(rightarm) }):wikitext('[[File:Kit right arm ' .. pattern_ra .. '.png|31x59px|alt=|link=]]') kitDiv:tag('div'):css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '36px', ['margin'] = '0 auto', ['padding'] = '0', ['background-color'] = formatColor(shorts) }):wikitext('[[File:Kit shorts ' .. pattern_sh .. '.png|100x36px|alt=|link=]]') kitDiv:tag('div'):css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '25px', ['margin'] = '0 auto', ['padding'] = '0', ['background-color'] = formatColor(socks) }):wikitext('[[File:Kit socks ' .. pattern_so .. '.png|100x25px|alt=|link=]]') return tostring(kitHtml) end -- ── UI Functions ────────────────────────────────────────────── function addSectionHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.3em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '105%', ['border-top'] = '2px solid #ccc', }) :wikitext(title) return cell end function addSubHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = '#e8e8e8', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '95%', ['font-style'] = 'italic', }) :wikitext(title) return cell end -- ── Main Entry Point ────────────────────────────────────────── function p.main(frame) local args = getArgs(frame) local entityId = trimWhitespace(args.qid or '') if entityId == '' then entityId = mw.wikibase and mw.wikibase.getEntityIdForCurrentPage() or nil end args.qid = entityId local entity = getEntity(entityId) -- ── Infobox table ───────────────────────────────────────── local infobox = mw.html.create('table') infobox:addClass('infobox') infobox:css({ ['border'] = '1px solid #a2a9b1', ['border-spacing'] = '3px', ['background-color'] = '#f8f9fa', ['color'] = 'black', ['margin'] = '0.5em 0 0.5em 1em', ['padding'] = '0.2em', ['float'] = 'right', ['clear'] = 'right', ['font-size'] = '90%', ['line-height'] = '1.5em', ['width'] = '22em', }) -- ── Title header ────────────────────────────────────────── local title, titleFromWD = getValueOrWikidata(args, 'ⴰⵣⵡⵍ', entity and nil or nil) if not exists(title) and entityId then title = mw.wikibase.getLabel(entityId) end if not exists(title) then title = mw.title.getCurrentTitle().text end local titleRow = infobox:tag('tr') local titleCell = titleRow:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.4em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '115%', ['position'] = 'relative', ['line-height'] = '2em', }) local titleDiv = mw.html.create('div') :css({ ['padding'] = '0 30px' }) :wikitext(title) titleCell:node(titleDiv) -- Football icon positioned in top-right corner titleCell:node( mw.html.create('div') :css({ ['position'] = 'absolute', ['top'] = '5px', ['right'] = '5px' }) :wikitext('[[File:Soccerball.svg|30px|alt=ⵜⴰⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ]]') ) -- ── Logos / Brand Identity Images ───────────────────────── local logo1, logo1FromWD = getValueOrWikidata(args, 'ⴰⵍⵓⴳⵓ', 'P154') local logo2 = args['ⴰⵍⵓⴳⵓ2'] if exists(logo1) then local imgCell = infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em' }) local imgStr = '[[File:' .. logo1 .. '|220px|alt=' .. title .. ']]' if exists(logo2) then imgStr = imgStr .. '<br />[[File:' .. logo2 .. '|220px]]' end imgCell:wikitext(imgStr) if logo1FromWD and entityId then imgCell:wikitext(editIcon(entityId, 'P154')) end end -- ── Sections and Rows Definition ────────────────────────── local sections = { -- General Information { default_title = 'ⵓⵎⵍⴰⵏ ⵉⵎⴰⵜⴰⵢⵏ', rows = { { 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'P1268' }, { 'ⵜⴰⵎⵓⵏⵜ', 'ⵜⴰⵎⵓⵏⵜ', 'P463' }, { 'ⵎⴼⴼⵔⵉⵙⵎ', 'ⵎⴼⴼⵔⵉⵙⵎ', nil }, { 'ⵉⴽⵯⵍⴰⵏ', 'ⵉⴽⵯⵍⴰⵏ', 'P462' }, { 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'P1449' }, { 'ⴰⴱⴰⵔⴰⵣ', 'ⴰⴱⴰⵔⴰⵣ', 'P115' }, { 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', 'P115' }, { 'ⴰⵙⵉⵜⵡⵉⴱ', 'ⴰⵙⵉⵜⵡⵉⴱ', 'P115' }, } }, -- FIFA Rankings { default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ', 'P1081' }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ','ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, -- Elo Ratings { default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ', 'P1081' }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ','ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, -- Key Figures { default_title = 'ⵉⵎⵙⵜⴳⴳⴰⵔⵏ ⴷ ⵉⵎⵓⵔⴰⵔⵏ', rows = { { 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'P286' }, { 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', nil }, { 'ⴰⵏⴱⴷⴰⴷ', 'ⴰⵏⴱⴷⴰⴷ', 'P634' }, { 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', nil }, } }, -- Historic Matches { default_title = 'ⵜⵉⵎⵏⵢⵓⴳⴰⵔⵉⵏ ⵉ ⵓⵎⵣⵔⵓⵢ', rows = { { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ' }, { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ' }, { subheader = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5' }, { subheader = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5' }, } }, -- Palmarès (all competitions, including custom slots merged in) { default_title = 'ⴰⴱⴰⵍⵎⴰⵔⵉⵙ', rows = { -- World Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- Confederation Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- Olympic Games { subheader = '[[ⵓⵔⴰⵔⵏ ⵓⵍⴰⵎⴱⵉⵏ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- CONCACAF Gold Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵡⵓⵔⵖ ⵏ ⴽⵓⵏⴽⴰⴽⴰⴼ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- Copa America { subheader = '[[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- UEFA European Championship { subheader = '[[ⵜⴰⴱⵔⵣⴰ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵕⵓⴱⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- CAF Africa Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⴼⵔⵉⵇⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- AFC Asia Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⴰⵣⵉⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- OFC Nations Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵙⵢⴰⵏⵉⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- Custom championship slots 1–5 (subheader text = value of the title_param arg) { title_param = 'ⵜⴰⴱⵔⵣⴰ' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵜⴰⴱⵔⵣⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ' }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ' }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 2' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⵉⴷⵔⴰⵡⵉⵏ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 2' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 2' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 2' }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 2' }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 3' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⵉⴷⵔⴰⵡⵉⵏ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 3' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 3' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 3' }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 3' }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 4' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⵉⴷⵔⴰⵡⵉⵏ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 4' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 4' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 4' }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 4' }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 5' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⵉⴷⵔⴰⵡⵉⵏ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 5' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 5' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 5' }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 5' }, } }, } -- ── Render sections ─────────────────────────────────────── for _, section in ipairs(sections) do local sectionHtml = mw.html.create('') local hasContent = false local pendingSubHeader = nil local pendingRows = nil local function flushPending() if pendingRows and pendingRows.count > 0 then hasContent = true if pendingSubHeader then addSubHeader(sectionHtml, pendingSubHeader) end sectionHtml:node(pendingRows.html) end pendingSubHeader = nil pendingRows = nil end for _, rowDef in ipairs(section.rows) do -- ① Conditional subheader sentinel: { title_param = 'ⵜⴰⴱⵔⵣⴰ' } -- No [1] key, no type, has title_param → emit subheader only when arg present if rowDef.title_param and not rowDef[1] and not rowDef.type then if exists(args[rowDef.title_param]) then flushPending() pendingSubHeader = args[rowDef.title_param] pendingRows = { count = 0, html = mw.html.create('') } end -- ② Static subheader elseif rowDef.subheader then flushPending() pendingSubHeader = rowDef.subheader pendingRows = { count = 0, html = mw.html.create('') } -- ③ Historic match row elseif rowDef.type == 'historic_match' then local matchVal = getValueOrWikidata(args, rowDef.match, nil) local dateVal = getValueOrWikidata(args, rowDef.date, nil) local locVal = getValueOrWikidata(args, rowDef.loc, nil) if exists(matchVal) then if not pendingRows then pendingRows = { count = 0, html = mw.html.create('') } end pendingRows.count = pendingRows.count + 1 local cell = pendingRows.html:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = ROW_BG, ['text-align'] = 'center' }) local content = matchVal if exists(locVal) or exists(dateVal) then content = content .. '<br />' if exists(locVal) then content = content .. locVal end if exists(dateVal) then content = content .. (exists(locVal) and ' (' .. dateVal .. ')' or '(' .. dateVal .. ')') end end cell:wikitext(content) end -- ④ Normal label/value row (with optional title_param gate) else local label = rowDef[1] local paramName = rowDef[2] local wdProp = rowDef[3] local fullwidth = rowDef[4] local tp = rowDef.title_param -- Skip if this row belongs to a missing custom championship if tp and not exists(args[tp]) then -- suppressed elseif exists(label) then local value, fromWD = getValueOrWikidata(args, paramName, wdProp) if exists(value) then if not pendingRows then pendingRows = { count = 0, html = mw.html.create('') } end pendingRows.count = pendingRows.count + 1 local row = pendingRows.html:tag('tr') if fullwidth == 'fullwidth' then local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = ROW_BG, ['text-align'] = 'center', ['font-weight'] = 'bold' }) if fromWD and entityId and wdProp then local icons = {} for _, pid in ipairs(type(wdProp) == 'table' and wdProp or {wdProp}) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end else row:tag('th') :wikitext(label) :css({ ['background-color'] = ROW_BG, ['padding'] = '0.2em', ['text-align'] = 'left', ['font-weight'] = 'bold', ['width'] = '45%' }) local cell = row:tag('td'):css({ ['padding'] = '0.2em' }) if fromWD and entityId and wdProp then local icons = {} for _, pid in ipairs(type(wdProp) == 'table' and wdProp or {wdProp}) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end end end end end end flushPending() if hasContent then local sectionTitle = section.default_title addSectionHeader(infobox, sectionTitle) infobox:node(sectionHtml) end end -- ── Kit Graphics ────────────────────────────────────────── if exists(args['body1']) or exists(args['pattern_b1']) or exists(args['body2']) or exists(args['pattern_b2']) then addSectionHeader(infobox, 'ⵉⵔⵉⴽⵉⵜⵏ') local kitContainer = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em', ['background-color'] = 'white' }) local kitRow = kitContainer:tag('table') :css({ ['width'] = '100%', ['background'] = 'transparent', ['text-align'] = 'center' }) :tag('tr') local function renderKitColumn(num, defaultTitle) if exists(args['body'..num]) or exists(args['pattern_b'..num]) then kitRow:tag('td'):wikitext(buildNativeKit(args, num, defaultTitle)) end end renderKitColumn('1', 'ⴰⴷⵙⵍⴰⵏ') renderKitColumn('2', 'ⵡⵉⵙⵙ 2') renderKitColumn('3', 'ⵡⵉⵙⵙ 3') end -- ── Bottom separator ────────────────────────────────────── infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['padding'] = '0', ['border-top'] = '2px dashed ' .. HEADER_COLOR }) -- ── Footer ──────────────────────────────────────────────── local currentTitle = mw.title.getCurrentTitle() local editSourceUrl = currentTitle:fullUrl({ action = 'edit', section = '0' }) local editVisualUrl = currentTitle:fullUrl({ veaction = 'edit' }) local footerCell = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.2em', ['font-size'] = '85%', ['text-align'] = 'left', ['background-color'] = '#f8f9fa' }) local footerDiv = mw.html.create('div') :css({ ['display'] = 'flex', ['justify-content'] = 'space-between', ['align-items'] = 'center' }) local editSpan = footerDiv:tag('span'):addClass('plainlinks') if entityId and entityId ~= '' then local wdUrl = 'https://www.wikidata.org/wiki/Special:EntityPage/' .. entityId editSpan:wikitext('[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · [' .. editVisualUrl .. ' ⵙⵏⴼⵍ] · [' .. wdUrl .. ' ⵡⵉⴽⵉⴷⴰⵜⴰ]') else editSpan:wikitext('[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · [' .. editVisualUrl .. ' ⵙⵏⴼⵍ]') end local templateDocUrl = mw.title.new('ⴰⵍⴱⵓⴹ:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ'):fullUrl() footerDiv:tag('span') :css({ ['float'] = 'right', ['margin-left'] = '5px' }) :wikitext('[[File:Info Simple.svg|18px|link=' .. templateDocUrl .. '|ⵥⵕ ⵓⴳⴳⴰⵔ ⵅⴼ ⵡⴰⵍⴱⵓⴹ ⴰⴷ]]') footerCell:node(footerDiv) return tostring(infobox) end return p hyatsqvkku14264x23diyplyyvl4ijq 177048 177047 2026-06-26T03:32:41Z Essaidib2 15 177048 Scribunto text/plain -- This module generates an infobox for national football teams -- Supports manual template parameters and Wikidata auto-fetch. -- Module usage: {{#invoke:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|main|qid=}} -- Template usage: {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}} -- ============================================================ local p = {} -- ── Constants ────────────────────────────────────────────────── local HEADER_COLOR = '#61C68D' local HEADER_TEXT = '#111111' local ROW_BG = '#F0F0F0' -- ── Helper Functions ────────────────────────────────────────── function trimWhitespace(str) if not str then return '' end return mw.text.trim(str) end function exists(value) return value and value ~= '' and value ~= nil end -- ── Custom Argument Parser ──────────────────────────────────── function getArgs(frame) local args = {} local parent = frame:getParent() if not parent then parent = frame end local parentArgs = parent.args for key, value in pairs(parentArgs) do if type(key) == 'string' then local cleanKey = mw.text.trim(key) if cleanKey ~= '' then local cleanValue = type(value) == 'string' and mw.text.trim(value) or value if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end local i = 1 while true do if parentArgs[i] == nil then break end local value = parentArgs[i] if type(value) == 'string' then value = mw.text.trim(value) end if value ~= '' then args[i] = value end i = i + 1 end for key, value in pairs(frame.args) do if type(key) == 'string' then local cleanKey = mw.text.trim(key) if cleanKey ~= '' then local cleanValue = type(value) == 'string' and mw.text.trim(value) or value if cleanValue ~= '' then args[cleanKey] = cleanValue end end end end return args end -- ── Wikidata Helpers ────────────────────────────────────────── function getEntity(entityId) if not entityId or entityId == '' then return nil end return mw.wikibase.getEntity(entityId) end function getValueOrWikidata(args, paramName, wdProp) local value = args[paramName] if value and value ~= '' then return value, false end if not wdProp or not args.qid then return nil, false end local entity = getEntity(args.qid) if not entity then return nil, false end local claims = entity.claims if not claims or not claims[wdProp] then return nil, false end local claim = claims[wdProp][1] if not claim then return nil, false end local datatype = claim.datatype if datatype == 'string' or datatype == 'external-id' or datatype == 'url' or datatype == 'commonsMedia' then -- fix: commonsMedia returns bare filename value = claim.mainsnak.datavalue.value elseif datatype == 'monolingualtext' then value = claim.mainsnak.datavalue.value.text elseif datatype == 'wikibase-item' then local id = claim.mainsnak.datavalue.value.id value = mw.wikibase.getLabel(id) elseif datatype == 'time' then value = claim.mainsnak.datavalue.value.time elseif datatype == 'quantity' then value = claim.mainsnak.datavalue.value.amount end if value and value ~= '' then return value, true end return nil, false end function editIcon(entityId, propertyId) if not entityId or not propertyId then return '' end local url = 'https://www.wikidata.org/wiki/Special:EditEntity/' .. entityId .. '#' .. propertyId return ' <sup class="plainlinks">[' .. url .. ' ⵙⵏⴼⵍ]</sup>' end -- ── Kit Builder ─────────────────────────────────────────────── function buildNativeKit(args, num, title) local pattern_b = args['pattern_b' .. num] or '' local pattern_la = args['pattern_la' .. num] or '' local pattern_ra = args['pattern_ra' .. num] or '' local pattern_sh = args['pattern_sh' .. num] or '' local pattern_so = args['pattern_so' .. num] or '' local leftarm = args['leftarm' .. num] or '' local body = args['body' .. num] or '' local rightarm = args['rightarm' .. num] or '' local shorts = args['shorts' .. num] or '' local socks = args['socks' .. num] or '' local function formatColor(c) if not c or mw.text.trim(c) == '' then return '#ffffff' end c = mw.text.trim(c) if string.match(c, '^[0-9A-Fa-f]{3}$') or string.match(c, '^[0-9A-Fa-f]{6}$') then return '#' .. c end return c end if pattern_la == '' then pattern_la = 'empty' end if pattern_b == '' then pattern_b = 'empty' end if pattern_ra == '' then pattern_ra = 'empty' end if pattern_sh == '' then pattern_sh = 'empty' end if pattern_so == '' then pattern_so = 'empty' end local kitHtml = mw.html.create('div') :css({ ['text-align'] = 'center', ['margin'] = '5px' }) if title then kitHtml:tag('div') :css({ ['font-weight'] = 'bold', ['font-size'] = '90%', ['margin-bottom'] = '3px' }) :wikitext(title) end local kitDiv = kitHtml:tag('div') :css({ ['display'] = 'inline-block', ['background-color'] = '#ffffff', ['padding'] = '5px', ['border'] = '1px solid #ccc', ['width'] = '100px', }) local shirt = kitDiv:tag('div') :css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '59px', ['margin'] = '0 auto', ['padding'] = '0' }) shirt:tag('div'):css({ ['position'] = 'absolute', ['left'] = '0', ['top'] = '0', ['width'] = '31px', ['height'] = '59px', ['background-color'] = formatColor(leftarm) }):wikitext('[[File:Kit left arm ' .. pattern_la .. '.png|31x59px|alt=|link=]]') shirt:tag('div'):css({ ['position'] = 'absolute', ['left'] = '31px', ['top'] = '0', ['width'] = '38px', ['height'] = '59px', ['background-color'] = formatColor(body) }):wikitext('[[File:Kit body ' .. pattern_b .. '.png|38x59px|alt=|link=]]') shirt:tag('div'):css({ ['position'] = 'absolute', ['left'] = '69px', ['top'] = '0', ['width'] = '31px', ['height'] = '59px', ['background-color'] = formatColor(rightarm) }):wikitext('[[File:Kit right arm ' .. pattern_ra .. '.png|31x59px|alt=|link=]]') kitDiv:tag('div'):css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '36px', ['margin'] = '0 auto', ['padding'] = '0', ['background-color'] = formatColor(shorts) }):wikitext('[[File:Kit shorts ' .. pattern_sh .. '.png|100x36px|alt=|link=]]') kitDiv:tag('div'):css({ ['position'] = 'relative', ['width'] = '100px', ['height'] = '25px', ['margin'] = '0 auto', ['padding'] = '0', ['background-color'] = formatColor(socks) }):wikitext('[[File:Kit socks ' .. pattern_so .. '.png|100x25px|alt=|link=]]') return tostring(kitHtml) end -- ── UI Functions ────────────────────────────────────────────── function addSectionHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.3em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '105%', }) :wikitext(title) return cell end function addSubHeader(parent, title) local row = parent:tag('tr') local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = '#e8e8e8', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '95%', }) :wikitext(title) return cell end -- ── Main Entry Point ────────────────────────────────────────── function p.main(frame) local args = getArgs(frame) local entityId = trimWhitespace(args.qid or '') if entityId == '' then entityId = mw.wikibase and mw.wikibase.getEntityIdForCurrentPage() or nil end args.qid = entityId local entity = getEntity(entityId) -- ── Infobox table ───────────────────────────────────────── local infobox = mw.html.create('table') infobox:addClass('infobox') infobox:css({ ['border'] = '1px solid #a2a9b1', ['border-spacing'] = '3px', ['background-color'] = '#f8f9fa', ['color'] = 'black', ['margin'] = '0.5em 0 0.5em 1em', ['padding'] = '0.2em', ['float'] = 'right', ['clear'] = 'right', ['font-size'] = '90%', ['line-height'] = '1.5em', ['width'] = '22em', }) -- ── Title header ────────────────────────────────────────── local title, titleFromWD = getValueOrWikidata(args, 'ⴰⵣⵡⵍ', entity and nil or nil) if not exists(title) and entityId then title = mw.wikibase.getLabel(entityId) end if not exists(title) then title = mw.title.getCurrentTitle().text end local titleRow = infobox:tag('tr') local titleCell = titleRow:tag('th') :attr('colspan', 2) :css({ ['background-color'] = HEADER_COLOR, ['color'] = HEADER_TEXT, ['padding'] = '0.4em', ['text-align'] = 'center', ['font-weight'] = 'bold', ['font-size'] = '115%', ['position'] = 'relative', ['line-height'] = '2em', }) local titleDiv = mw.html.create('div') :css({ ['padding'] = '0 30px' }) :wikitext(title) titleCell:node(titleDiv) -- Football icon positioned in top-right corner titleCell:node( mw.html.create('div') :css({ ['position'] = 'absolute', ['top'] = '5px', ['right'] = '5px' }) :wikitext('[[File:Soccerball.svg|30px|alt=ⵜⴰⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ]]') ) -- ── Logos / Brand Identity Images ───────────────────────── local logo1, logo1FromWD = getValueOrWikidata(args, 'ⴰⵍⵓⴳⵓ', 'P154') local logo2 = args['ⴰⵍⵓⴳⵓ2'] if exists(logo1) then local imgCell = infobox:tag('tr') :tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em' }) local imgStr = '[[File:' .. logo1 .. '|220px|alt=' .. title .. ']]' if exists(logo2) then imgStr = imgStr .. '<br />[[File:' .. logo2 .. '|220px]]' end imgCell:wikitext(imgStr) if logo1FromWD and entityId then imgCell:wikitext(editIcon(entityId, 'P154')) end end -- ── Sections and Rows Definition ────────────────────────── local sections = { -- General Information { default_title = 'ⵓⵎⵍⴰⵏ ⵉⵎⴰⵜⴰⵢⵏ', rows = { { 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'ⵜⴰⵙⴷⴰⵡⵉⵜ', 'P1268' }, { 'ⵜⴰⵎⵓⵏⵜ', 'ⵜⴰⵎⵓⵏⵜ', 'P463' }, { 'ⵎⴼⴼⵔⵉⵙⵎ', 'ⵎⴼⴼⵔⵉⵙⵎ', nil }, { 'ⵉⴽⵯⵍⴰⵏ', 'ⵉⴽⵯⵍⴰⵏ', 'P462' }, { 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ', 'P1449' }, { 'ⴰⴱⴰⵔⴰⵣ', 'ⴰⴱⴰⵔⴰⵣ', 'P115' }, { 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', 'ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ', 'P115' }, { 'ⴰⵙⵉⵜⵡⵉⴱ', 'ⴰⵙⵉⵜⵡⵉⴱ', 'P115' }, } }, -- FIFA Rankings { default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ', 'P1081' }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ','ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, -- Elo Ratings { default_title = 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ', rows = { { 'ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ', 'P1081' }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ', 'ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ','ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ', nil }, } }, -- Key Figures { default_title = 'ⵉⵎⵙⵜⴳⴳⴰⵔⵏ ⴷ ⵉⵎⵓⵔⴰⵔⵏ', rows = { { 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ', 'P286' }, { 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', 'ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ', nil }, { 'ⴰⵏⴱⴷⴰⴷ', 'ⴰⵏⴱⴷⴰⴷ', 'P634' }, { 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', 'ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ', nil }, { 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', 'ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ', nil }, } }, -- Historic Matches { default_title = 'ⵜⵉⵎⵏⵢⵓⴳⴰⵔⵉⵏ ⵉ ⵓⵎⵣⵔⵓⵢ', rows = { { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ' }, { subheader = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ' }, { subheader = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4' }, { type = 'historic_match', match = 'ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5' }, { subheader = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4' }, { type = 'historic_match', match = 'ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', date = 'ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5', loc = 'ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5' }, } }, -- Palmarès (all competitions, including custom slots merged in) { default_title = 'ⴰⴱⴰⵍⵎⴰⵔⵉⵙ', rows = { -- World Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- Confederation Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- Olympic Games { subheader = '[[ⵓⵔⴰⵔⵏ ⵓⵍⴰⵎⴱⵉⵏ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- CONCACAF Gold Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵡⵓⵔⵖ ⵏ ⴽⵓⵏⴽⴰⴽⴰⴼ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- Copa America { subheader = '[[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- UEFA European Championship { subheader = '[[ⵜⴰⴱⵔⵣⴰ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵕⵓⴱⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- CAF Africa Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⴼⵔⵉⵇⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- AFC Asia Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⴰⵣⵉⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- OFC Nations Cup { subheader = '[[ⴰⴽⴰⵙ ⵏ ⵜⵎⵜⵜⴰ ⵏ ⵜⵓⵙⵢⴰⵏⵉⵜ]]' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil }, -- Custom championship slots 1–5 (subheader text = value of the title_param arg) { title_param = 'ⵜⴰⴱⵔⵣⴰ' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵜⴰⴱⵔⵣⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ' }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ' }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 2' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵜⴰⴱⵔⵣⴰ 2 ⵜⵉⴷⵔⴰⵡⵉⵏ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 2' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 2' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 2' }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 2' }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 3' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵜⴰⴱⵔⵣⴰ 3 ⵜⵉⴷⵔⴰⵡⵉⵏ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 3' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 3' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 3' }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 3' }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 4' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵜⴰⴱⵔⵣⴰ 4 ⵜⵉⴷⵔⴰⵡⵉⵏ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 4' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 4' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 4' }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 4' }, { title_param = 'ⵜⴰⴱⵔⵣⴰ 5' }, { 'ⴰⵎⴹⴰⵏ ⵏ ⵜⴷⵔⴰⵡⵉⵏ', 'ⵜⴰⴱⵔⵣⴰ 5 ⵜⵉⴷⵔⴰⵡⵉⵏ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 5' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 5' }, { 'ⵜⴰⴷⵔⴰⵡⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ','ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 5' }, { 'ⵜⴰⴼⵍⵍⴰⵡⵜ ⵜⴰⵎⵓⴼⴰⵢⵜ','ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ', nil, title_param = 'ⵜⴰⴱⵔⵣⴰ 5' }, } }, } -- ── Render sections ─────────────────────────────────────── for _, section in ipairs(sections) do local sectionHtml = mw.html.create('') local hasContent = false local pendingSubHeader = nil local pendingRows = nil local function flushPending() if pendingRows and pendingRows.count > 0 then hasContent = true if pendingSubHeader then addSubHeader(sectionHtml, pendingSubHeader) end sectionHtml:node(pendingRows.html) end pendingSubHeader = nil pendingRows = nil end for _, rowDef in ipairs(section.rows) do -- ① Conditional subheader sentinel: { title_param = 'ⵜⴰⴱⵔⵣⴰ' } -- No [1] key, no type, has title_param → emit subheader only when arg present if rowDef.title_param and not rowDef[1] and not rowDef.type then if exists(args[rowDef.title_param]) then flushPending() pendingSubHeader = args[rowDef.title_param] pendingRows = { count = 0, html = mw.html.create('') } end -- ② Static subheader elseif rowDef.subheader then flushPending() pendingSubHeader = rowDef.subheader pendingRows = { count = 0, html = mw.html.create('') } -- ③ Historic match row elseif rowDef.type == 'historic_match' then local matchVal = getValueOrWikidata(args, rowDef.match, nil) local dateVal = getValueOrWikidata(args, rowDef.date, nil) local locVal = getValueOrWikidata(args, rowDef.loc, nil) if exists(matchVal) then if not pendingRows then pendingRows = { count = 0, html = mw.html.create('') } end pendingRows.count = pendingRows.count + 1 local cell = pendingRows.html:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['text-align'] = 'center' }) local content = matchVal if exists(locVal) or exists(dateVal) then content = content .. '<br />' if exists(locVal) then content = content .. locVal end if exists(dateVal) then content = content .. (exists(locVal) and ' (' .. dateVal .. ')' or '(' .. dateVal .. ')') end end cell:wikitext(content) end -- ④ Normal label/value row (with optional title_param gate) else local label = rowDef[1] local paramName = rowDef[2] local wdProp = rowDef[3] local fullwidth = rowDef[4] local tp = rowDef.title_param -- Skip if this row belongs to a missing custom championship if tp and not exists(args[tp]) then -- suppressed elseif exists(label) then local value, fromWD = getValueOrWikidata(args, paramName, wdProp) if exists(value) then if not pendingRows then pendingRows = { count = 0, html = mw.html.create('') } end pendingRows.count = pendingRows.count + 1 local row = pendingRows.html:tag('tr') if fullwidth == 'fullwidth' then local cell = row:tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.3em', ['background-color'] = ROW_BG, ['text-align'] = 'center', ['font-weight'] = 'bold' }) if fromWD and entityId and wdProp then local icons = {} for _, pid in ipairs(type(wdProp) == 'table' and wdProp or {wdProp}) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end else row:tag('th') :wikitext(label) :css({ ['background-color'] = ROW_BG, ['padding'] = '0.2em', ['text-align'] = 'left', ['font-weight'] = 'bold', ['width'] = '45%' }) local cell = row:tag('td'):css({ ['padding'] = '0.2em' }) if fromWD and entityId and wdProp then local icons = {} for _, pid in ipairs(type(wdProp) == 'table' and wdProp or {wdProp}) do table.insert(icons, editIcon(entityId, pid)) end cell:wikitext(value .. table.concat(icons)) else cell:wikitext(value) end end end end end end flushPending() if hasContent then local sectionTitle = section.default_title addSectionHeader(infobox, sectionTitle) infobox:node(sectionHtml) end end -- ── Kit Graphics ────────────────────────────────────────── if exists(args['body1']) or exists(args['pattern_b1']) or exists(args['body2']) or exists(args['pattern_b2']) then addSectionHeader(infobox, 'ⵉⵔⵉⴽⵉⵜⵏ') local kitContainer = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['text-align'] = 'center', ['padding'] = '0.5em', ['background-color'] = 'white' }) local kitRow = kitContainer:tag('table') :css({ ['width'] = '100%', ['background'] = 'transparent', ['text-align'] = 'center' }) :tag('tr') local function renderKitColumn(num, defaultTitle) if exists(args['body'..num]) or exists(args['pattern_b'..num]) then kitRow:tag('td'):wikitext(buildNativeKit(args, num, defaultTitle)) end end renderKitColumn('1', 'ⴰⴷⵙⵍⴰⵏ') renderKitColumn('2', 'ⵡⵉⵙⵙ 2') renderKitColumn('3', 'ⵡⵉⵙⵙ 3') end -- ── Bottom separator ────────────────────────────────────── infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['padding'] = '0', ['border-top'] = '2px dashed ' .. HEADER_COLOR }) -- ── Footer ──────────────────────────────────────────────── local currentTitle = mw.title.getCurrentTitle() local editSourceUrl = currentTitle:fullUrl({ action = 'edit', section = '0' }) local editVisualUrl = currentTitle:fullUrl({ veaction = 'edit' }) local footerCell = infobox:tag('tr'):tag('td') :attr('colspan', 2) :css({ ['padding'] = '0.2em', ['font-size'] = '85%', ['text-align'] = 'left', ['background-color'] = '#f8f9fa' }) local footerDiv = mw.html.create('div') :css({ ['display'] = 'flex', ['justify-content'] = 'space-between', ['align-items'] = 'center' }) local editSpan = footerDiv:tag('span'):addClass('plainlinks') if entityId and entityId ~= '' then local wdUrl = 'https://www.wikidata.org/wiki/Special:EntityPage/' .. entityId editSpan:wikitext('[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · [' .. editVisualUrl .. ' ⵙⵏⴼⵍ] · [' .. wdUrl .. ' ⵡⵉⴽⵉⴷⴰⵜⴰ]') else editSpan:wikitext('[' .. editSourceUrl .. ' ⵙⵏⴼⵍ ⴰⵙⴰⴳⵎ] · [' .. editVisualUrl .. ' ⵙⵏⴼⵍ]') end local templateDocUrl = mw.title.new('ⴰⵍⴱⵓⴹ:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ'):fullUrl() footerDiv:tag('span') :css({ ['float'] = 'right', ['margin-left'] = '5px' }) :wikitext('[[File:Info Simple.svg|18px|link=' .. templateDocUrl .. '|ⵥⵕ ⵓⴳⴳⴰⵔ ⵅⴼ ⵡⴰⵍⴱⵓⴹ ⴰⴷ]]') footerCell:node(footerDiv) return tostring(infobox) end return p twfaj9dcwv8r2f4c5zuld1z2iyulebr ⴰⵍⴱⵓⴹ:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ/ⴰⵙⵙⵏⵜⵎ 10 52744 177030 176997 2026-06-25T15:37:22Z Essaidib2 15 /* ⴰⵙⵙⵎⵔⵙ */ 177030 wikitext text/x-wiki {{ⵜⴰⴷⵓⵙⵏⴰ ⵏ ⵓⵙⵙⵏⵜⵎ}}{{lua|Module:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}} ==ⴰⵙⵙⵎⵔⵙ== <syntaxhighlight lang="wikitext" copy="yes"> {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | qid = | ⴰⵣⵡⵍ = | ⴰⵍⵓⴳⵓ = | ⴰⵍⵓⴳⵓ2 = | ⵜⴰⵙⴷⴰⵡⵉⵜ = | ⵜⴰⵎⵓⵏⵜ = | ⵎⴼⴼⵔⵉⵙⵎ = | ⵉⴽⵯⵍⴰⵏ = | ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ = | ⴰⴱⴰⵔⴰⵣ = | ⴰⵣⵓⵢⵜ ⴰⵎⵉⵔⴰⵏ = | ⴰⵣⵓⵢⵜ ⴰⵎⵓⴼⴰⵢ = | ⴰⵣⵓⵢⵜ ⴰⵎⴰⵣⴷⴰⵔ = | ⴰⵎⵙⵍⵖⵎⴰⵢ = | ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ = | ⴰⵏⴱⴷⴰⴷ = | ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ = | ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ = | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 2 = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 3 = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 4 = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 5 = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ = | pattern_la1 = | pattern_b1 = | pattern_ra1 = | pattern_sh1 = | pattern_so1 = | leftarm1 = | body1 = | rightarm1 = | shorts1 = | socks1 = | pattern_la2 = | pattern_b2 = | pattern_ra2 = | pattern_sh2 = | pattern_so2 = | leftarm2 = | body2 = | rightarm2 = | shorts2 = | socks2 = | pattern_la3 = | pattern_b3 = | pattern_ra3 = | pattern_sh3 = | pattern_so3 = | leftarm3 = | body3 = | rightarm3 = | shorts3 = | socks3 = }}</syntaxhighlight> ===ⵉⵎⴷⵢⴰⵜⵏ=== <includeonly>{{ⴰⵙⵎⵉⵍ|ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ|ⵜⵉⴼⵍⵓⵖⵎⵉⵙⵉⵏ ⵏ ⵜⵓⵏⵏⵓⵏⵜ|ⵜⵉⴼⵍⵓⵖⵎⵉⵙⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}}</includeonly> pak50eytoswdrfwhrnsmbezd9njvzzt 177031 177030 2026-06-25T16:00:05Z Essaidib2 15 177031 wikitext text/x-wiki {{ⵜⴰⴷⵓⵙⵏⴰ ⵏ ⵓⵙⵙⵏⵜⵎ}}{{lua|Module:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}} ==ⴰⵙⵙⵎⵔⵙ== <syntaxhighlight lang="wikitext" copy="yes"> {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | qid = | ⴰⵣⵡⵍ = | ⴰⵍⵓⴳⵓ = | ⴰⵍⵓⴳⵓ2 = | ⵜⴰⵙⴷⴰⵡⵉⵜ = | ⵜⴰⵎⵓⵏⵜ = | ⵎⴼⴼⵔⵉⵙⵎ = | ⵉⴽⵯⵍⴰⵏ = | ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ = | ⴰⴱⴰⵔⴰⵣ = | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ = | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ = | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ = | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ = | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ = | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ = | ⴰⵎⵙⵍⵖⵎⴰⵢ = | ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ = | ⴰⵏⴱⴷⴰⴷ = | ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ = | ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ = | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 2 = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 3 = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 4 = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 5 = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ = | pattern_la1 = | pattern_b1 = | pattern_ra1 = | pattern_sh1 = | pattern_so1 = | leftarm1 = | body1 = | rightarm1 = | shorts1 = | socks1 = | pattern_la2 = | pattern_b2 = | pattern_ra2 = | pattern_sh2 = | pattern_so2 = | leftarm2 = | body2 = | rightarm2 = | shorts2 = | socks2 = | pattern_la3 = | pattern_b3 = | pattern_ra3 = | pattern_sh3 = | pattern_so3 = | leftarm3 = | body3 = | rightarm3 = | shorts3 = | socks3 = }}</syntaxhighlight> ===ⵉⵎⴷⵢⴰⵜⵏ=== <includeonly>{{ⴰⵙⵎⵉⵍ|ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ|ⵜⵉⴼⵍⵓⵖⵎⵉⵙⵉⵏ ⵏ ⵜⵓⵏⵏⵓⵏⵜ|ⵜⵉⴼⵍⵓⵖⵎⵉⵙⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}}</includeonly> 8pmv36vfvpm5njy6dyi1us7lz78prdp 177032 177031 2026-06-25T19:14:24Z Essaidib2 15 /* ⴰⵙⵙⵎⵔⵙ */ 177032 wikitext text/x-wiki {{ⵜⴰⴷⵓⵙⵏⴰ ⵏ ⵓⵙⵙⵏⵜⵎ}}{{lua|Module:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}} ==ⴰⵙⵙⵎⵔⵙ== <syntaxhighlight lang="wikitext" copy="yes"> {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵣⵡⵍ = | ⴰⵍⵓⴳⵓ = | ⴰⵍⵓⴳⵓ2 = | ⵜⴰⵙⴷⴰⵡⵉⵜ = | ⵜⴰⵎⵓⵏⵜ = | ⵎⴼⴼⵔⵉⵙⵎ = | ⵉⴽⵯⵍⴰⵏ = | ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ = | ⴰⴱⴰⵔⴰⵣ = | ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ = | ⴰⵙⵉⵜⵡⵉⴱ = | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ = | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ = | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ = | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ = | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ = | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ = | ⴰⵎⵙⵍⵖⵎⴰⵢ = | ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ = | ⴰⵏⴱⴷⴰⴷ = | ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ = | ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ = | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 2 = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 3 = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 4 = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 5 = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ = | pattern_la1 = | pattern_b1 = | pattern_ra1 = | pattern_sh1 = | pattern_so1 = | leftarm1 = | body1 = | rightarm1 = | shorts1 = | socks1 = | pattern_la2 = | pattern_b2 = | pattern_ra2 = | pattern_sh2 = | pattern_so2 = | leftarm2 = | body2 = | rightarm2 = | shorts2 = | socks2 = | pattern_la3 = | pattern_b3 = | pattern_ra3 = | pattern_sh3 = | pattern_so3 = | leftarm3 = | body3 = | rightarm3 = | shorts3 = | socks3 = }}</syntaxhighlight> ===ⵉⵎⴷⵢⴰⵜⵏ=== <syntaxhighlight lang="wikitext"> {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵣⵡⵍ = ⵜⴰⵔⴰⴱⴱⵓⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵍⵓⴳⵓ = Argentina national football team logo.svg | ⴰⵍⵓⴳⵓ2 = | ⵜⴰⵙⴷⴰⵡⵉⵜ = [[ⵜⴰⵙⴷⴰⵡⵉⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⵜⴰⵙⴷⴰⵡⵉⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ]] | ⵜⴰⵎⵓⵏⵜ = [[ⴽⵓⵎⵏⵉⴱⵓⵍ]] | ⵎⴼⴼⵔⵉⵙⵎ = {{nowrap|ⵍⴰ ⵙⵉⵍⵉⴽⵙⵢⵓⵏ (''La Selección'')}}<br />{{nowrap|ⵍⴰ ⴰⵍⴱⴰⵙⵉⵍⵉⵙⵜⵉ (''La Albiceleste'')}}<br />{{nowrap|ⵍⴰ ⵙⴽⴰⵍⵓⵏⵉⵜⵜⴰ (''La Scaloneta'')}} | ⵉⴽⵯⵍⴰⵏ = ⴰⵏⵉⵍⵉ ⴰⴳⵏⵏⴰⵡ ⴷ ⵡⵓⵎⵍⵉⵍ | ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ = Argentina | ⴰⴱⴰⵔⴰⵣ = ⵉⵎⵏⵏⴰⵡⵏ | ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ = [[ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵉⵏⵉⴳⵍⵏ ⵏ ⴼⵉⴼⴰ|ARG]] | ⴰⵙⵉⵜⵡⵉⴱ = {{url|https://www.afa.com.ar/es/seleccion-mayor| afa.com.ar/seleccion-mayor}} | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ = {{ⴰⵣⵓⵢⵜ ⴰⵎⴰⴹⵍⴰⵏ ⵏ ⴼⵉⴼⴰ|ARG}} | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ = 1 | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ = 24 (ⵖⵓⵛⵜ 1996) | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ = {{World Football Elo Ratings|Argentina}} | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ = 1 | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ = 260 (ⵢⵓⵏⵢⵓ 1990) | ⴰⵎⵙⵍⵖⵎⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵙⴽⴰⵍⵓⵏⵉ]] | ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ = | ⴰⵏⴱⴷⴰⴷ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] | ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] (122) | ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] (201) | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = {{fb|URU}} 0–6 {{fb-rt|ARG}} | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 20 ⵢⵓⵍⵢⵓⵣ 1902 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵎⵓⵏⵜⵉⴼⵉⴷⵢⵓ]], [[ⵓⵔⵓⴳⵡⴰⵢ]] | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = {{fb|ARG}} 12–0 {{fb-rt|ECU}} | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = 22 ⵉⵏⵏⴰⵢⵔ 1942 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = [[ⵎⵓⵏⵜⵉⴼⵉⴷⵢⵓ]], [[ⵓⵔⵓⴳⵡⴰⵢ]] | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = {{fb|TCH}} 6–1 {{fb-rt|ARG}} | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = 15 ⵢⵓⵏⵢⵓ 1958 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = [[ⵀⵉⵍⵙⵉⵏⴳⴱⵓⵔⴳ]], [[ⵙⵙⵡⵉⴷ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = {{fb|BOL}} 6–1 {{fb-rt|ARG}} | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = 1 ⵉⴱⵔⵉⵔ 2009 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = [[ⵍⴰⴱⴰⵣ]], [[ⴱⵓⵍⵉⴼⵢⴰ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = {{fb|ESP}} 6–1 {{fb-rt|ARG}} | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = 27 ⵎⴰⵕⵚ 2018 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = [[ⵎⴰⴷⵔⵉⴷ]], [[ⵚⴱⴰⵏⵢⴰ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = 19 | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 1930 | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 1978|1978]], [[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 1986|1986]], [[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 2022|2022]]) | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ = 3 | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 1992 | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ 1992|1992]]) | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = 44 | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1916|1916]] | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1921|1921]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1925|1925]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1927|1927]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1929|1929]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1937|1937]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1941|1941]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1945|1945]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1946|1946]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1947|1947]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1955|1955]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1957|1957]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1959|1959]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1991|1991]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1993|1993]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 2021|2021]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 2024|2024]]) | ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ = [[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ]] | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ 1956|1956]] | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ 1960|1960]]) | ⵜⴰⴱⵔⵣⴰ 2 = [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ]] | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 1993|1993]] | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 1993|1993]], [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 2022|2022]]) | ⵜⴰⴱⵔⵣⴰ 3 = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 4 = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 5 = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ = | pattern_la1 = _arg26h | pattern_b1 = _arg26h | pattern_ra1 = _arg26h | pattern_sh1 = _arg26h2 | pattern_so1 = _arg26h2l | leftarm1 = FFFFFF | body1 = FFFFFF | rightarm1 = FFFFFF | shorts1 = FFFFFF | socks1 = FFFFFF | pattern_la2 = _arg26A | pattern_b2 = _arg26A | pattern_ra2 = _arg26A | pattern_sh2 = _arg26A | pattern_so2 = _arg26al | leftarm2 = | body2 = | rightarm2 = | shorts2 = | socks2 = | pattern_la3 = | pattern_b3 = | pattern_ra3 = | pattern_sh3 = | pattern_so3 = | leftarm3 = | body3 = | rightarm3 = | shorts3 = | socks3 = }}</syntaxhighlight> {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵣⵡⵍ = ⵜⴰⵔⴰⴱⴱⵓⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵍⵓⴳⵓ = Argentina national football team logo.svg | ⴰⵍⵓⴳⵓ2 = | ⵜⴰⵙⴷⴰⵡⵉⵜ = [[ⵜⴰⵙⴷⴰⵡⵉⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⵜⴰⵙⴷⴰⵡⵉⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ]] | ⵜⴰⵎⵓⵏⵜ = [[ⴽⵓⵎⵏⵉⴱⵓⵍ]] | ⵎⴼⴼⵔⵉⵙⵎ = {{nowrap|ⵍⴰ ⵙⵉⵍⵉⴽⵙⵢⵓⵏ (''La Selección'')}}<br />{{nowrap|ⵍⴰ ⴰⵍⴱⴰⵙⵉⵍⵉⵙⵜⵉ (''La Albiceleste'')}}<br />{{nowrap|ⵍⴰ ⵙⴽⴰⵍⵓⵏⵉⵜⵜⴰ (''La Scaloneta'')}} | ⵉⴽⵯⵍⴰⵏ = ⴰⵏⵉⵍⵉ ⴰⴳⵏⵏⴰⵡ ⴷ ⵡⵓⵎⵍⵉⵍ | ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ = Argentina | ⴰⴱⴰⵔⴰⵣ = ⵉⵎⵏⵏⴰⵡⵏ | ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ = [[ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵉⵏⵉⴳⵍⵏ ⵏ ⴼⵉⴼⴰ|ARG]] | ⴰⵙⵉⵜⵡⵉⴱ = {{url|https://www.afa.com.ar/es/seleccion-mayor| afa.com.ar/seleccion-mayor}} | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ = {{ⴰⵣⵓⵢⵜ ⴰⵎⴰⴹⵍⴰⵏ ⵏ ⴼⵉⴼⴰ|ARG}} | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ = 1 | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ = 24 (ⵖⵓⵛⵜ 1996) | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ = {{World Football Elo Ratings|Argentina}} | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ = 1 | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ = 260 (ⵢⵓⵏⵢⵓ 1990) | ⴰⵎⵙⵍⵖⵎⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵙⴽⴰⵍⵓⵏⵉ]] | ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ = | ⴰⵏⴱⴷⴰⴷ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] | ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] (122) | ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] (201) | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = {{fb|URU}} 0–6 {{fb-rt|ARG}} | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 20 ⵢⵓⵍⵢⵓⵣ 1902 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵎⵓⵏⵜⵉⴼⵉⴷⵢⵓ]], [[ⵓⵔⵓⴳⵡⴰⵢ]] | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = {{fb|ARG}} 12–0 {{fb-rt|ECU}} | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = 22 ⵉⵏⵏⴰⵢⵔ 1942 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = [[ⵎⵓⵏⵜⵉⴼⵉⴷⵢⵓ]], [[ⵓⵔⵓⴳⵡⴰⵢ]] | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = {{fb|TCH}} 6–1 {{fb-rt|ARG}} | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = 15 ⵢⵓⵏⵢⵓ 1958 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = [[ⵀⵉⵍⵙⵉⵏⴳⴱⵓⵔⴳ]], [[ⵙⵙⵡⵉⴷ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = {{fb|BOL}} 6–1 {{fb-rt|ARG}} | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = 1 ⵉⴱⵔⵉⵔ 2009 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = [[ⵍⴰⴱⴰⵣ]], [[ⴱⵓⵍⵉⴼⵢⴰ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = {{fb|ESP}} 6–1 {{fb-rt|ARG}} | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = 27 ⵎⴰⵕⵚ 2018 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = [[ⵎⴰⴷⵔⵉⴷ]], [[ⵚⴱⴰⵏⵢⴰ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = 19 | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 1930 | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 1978|1978]], [[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 1986|1986]], [[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 2022|2022]]) | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ = 3 | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 1992 | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ 1992|1992]]) | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = 44 | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1916|1916]] | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1921|1921]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1925|1925]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1927|1927]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1929|1929]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1937|1937]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1941|1941]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1945|1945]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1946|1946]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1947|1947]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1955|1955]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1957|1957]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1959|1959]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1991|1991]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1993|1993]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 2021|2021]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 2024|2024]]) | ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ = [[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ]] | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ 1956|1956]] | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ 1960|1960]]) | ⵜⴰⴱⵔⵣⴰ 2 = [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ]] | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 1993|1993]] | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 1993|1993]], [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 2022|2022]]) | ⵜⴰⴱⵔⵣⴰ 3 = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 4 = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 5 = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ = | pattern_la1 = _arg26h | pattern_b1 = _arg26h | pattern_ra1 = _arg26h | pattern_sh1 = _arg26h2 | pattern_so1 = _arg26h2l | leftarm1 = FFFFFF | body1 = FFFFFF | rightarm1 = FFFFFF | shorts1 = FFFFFF | socks1 = FFFFFF | pattern_la2 = _arg26A | pattern_b2 = _arg26A | pattern_ra2 = _arg26A | pattern_sh2 = _arg26A | pattern_so2 = _arg26al | leftarm2 = | body2 = | rightarm2 = | shorts2 = | socks2 = | pattern_la3 = | pattern_b3 = | pattern_ra3 = | pattern_sh3 = | pattern_so3 = | leftarm3 = | body3 = | rightarm3 = | shorts3 = | socks3 = }} <includeonly>{{ⴰⵙⵎⵉⵍ|ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ|ⵜⵉⴼⵍⵓⵖⵎⵉⵙⵉⵏ ⵏ ⵜⵓⵏⵏⵓⵏⵜ|ⵜⵉⴼⵍⵓⵖⵎⵉⵙⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}}</includeonly> 6s5zlfeibavhfek2rbvui5lm02wrckp 177049 177032 2026-06-26T03:47:03Z Essaidib2 15 /* ⵉⵎⴷⵢⴰⵜⵏ */ 177049 wikitext text/x-wiki {{ⵜⴰⴷⵓⵙⵏⴰ ⵏ ⵓⵙⵙⵏⵜⵎ}}{{lua|Module:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}} ==ⴰⵙⵙⵎⵔⵙ== <syntaxhighlight lang="wikitext" copy="yes"> {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵣⵡⵍ = | ⴰⵍⵓⴳⵓ = | ⴰⵍⵓⴳⵓ2 = | ⵜⴰⵙⴷⴰⵡⵉⵜ = | ⵜⴰⵎⵓⵏⵜ = | ⵎⴼⴼⵔⵉⵙⵎ = | ⵉⴽⵯⵍⴰⵏ = | ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ = | ⴰⴱⴰⵔⴰⵣ = | ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ = | ⴰⵙⵉⵜⵡⵉⴱ = | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ = | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ = | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ = | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ = | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ = | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ = | ⴰⵎⵙⵍⵖⵎⴰⵢ = | ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ = | ⴰⵏⴱⴷⴰⴷ = | ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ = | ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ = | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 2 = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 3 = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 4 = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 5 = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ = | pattern_la1 = | pattern_b1 = | pattern_ra1 = | pattern_sh1 = | pattern_so1 = | leftarm1 = | body1 = | rightarm1 = | shorts1 = | socks1 = | pattern_la2 = | pattern_b2 = | pattern_ra2 = | pattern_sh2 = | pattern_so2 = | leftarm2 = | body2 = | rightarm2 = | shorts2 = | socks2 = | pattern_la3 = | pattern_b3 = | pattern_ra3 = | pattern_sh3 = | pattern_so3 = | leftarm3 = | body3 = | rightarm3 = | shorts3 = | socks3 = }}</syntaxhighlight> ===ⵉⵎⴷⵢⴰⵜⵏ=== <syntaxhighlight lang="wikitext"> {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵣⵡⵍ = ⵜⴰⵔⴰⴱⴱⵓⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵍⵓⴳⵓ = Argentina national football team logo.svg | ⴰⵍⵓⴳⵓ2 = | ⵜⴰⵙⴷⴰⵡⵉⵜ = [[ⵜⴰⵙⴷⴰⵡⵉⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⵜⴰⵙⴷⴰⵡⵉⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ]] | ⵜⴰⵎⵓⵏⵜ = [[ⴽⵓⵎⵏⵉⴱⵓⵍ]] | ⵎⴼⴼⵔⵉⵙⵎ = {{nowrap|ⵍⴰ ⵙⵉⵍⵉⴽⵙⵢⵓⵏ<br />{{nowrap|ⵍⴰ ⴰⵍⴱⴰⵙⵉⵍⵉⵙⵜⵉ<br />{{nowrap|ⵍⴰ ⵙⴽⴰⵍⵓⵏⵉⵜⵜⴰ }} | ⵉⴽⵯⵍⴰⵏ = ⴰⵏⵉⵍⵉ ⴰⴳⵏⵏⴰⵡ ⴷ ⵡⵓⵎⵍⵉⵍ | ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ = Argentina | ⴰⴱⴰⵔⴰⵣ = ⵉⵎⵏⵏⴰⵡⵏ | ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ = [[ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵉⵏⵉⴳⵍⵏ ⵏ ⴼⵉⴼⴰ|ARG]] | ⴰⵙⵉⵜⵡⵉⴱ = {{url|https://www.afa.com.ar/es/seleccion-mayor| afa.com.ar/seleccion-mayor}} | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ = {{Fifa world rankings|ARG}} | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ = 1 | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ = 24 (ⵖⵓⵛⵜ 1996) | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ = {{World Football Elo Ratings|Argentina}} | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ = 1 | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ = 260 (ⵢⵓⵏⵢⵓ 1990) | ⴰⵎⵙⵍⵖⵎⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵙⴽⴰⵍⵓⵏⵉ]] | ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ = | ⴰⵏⴱⴷⴰⴷ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] | ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] (122) | ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] (201) | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = ⵓⵕⵓⴳⵡⴰⵢ 0–6 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 20 ⵢⵓⵍⵢⵓⵣ 1902 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵎⵓⵏⵜⵉⴼⵉⴷⵢⵓ]], [[ⵓⵔⵓⴳⵡⴰⵢ]] | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = ⴰⵕⵊⵓⵏⵜⵉⵏ 12–0 ⵉⴽⵡⴰⴹⵓⵕ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = 22 ⵉⵏⵏⴰⵢⵔ 1942 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = [[ⵎⵓⵏⵜⵉⴼⵉⴷⵢⵓ]], [[ⵓⵔⵓⴳⵡⴰⵢ]] | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = ⵜⵛⵉⴽⵢⴰ 6–1 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = 15 ⵢⵓⵏⵢⵓ 1958 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = [[ⵀⵉⵍⵙⵉⵏⴳⴱⵓⵔⴳ]], [[ⵙⵙⵡⵉⴷ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = ⴱⵓⵍⵉⴼⵢⴰ 6–1 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = 1 ⵉⴱⵔⵉⵔ 2009 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = [[ⵍⴰⴱⴰⵣ]], [[ⴱⵓⵍⵉⴼⵢⴰ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = ⵚⴱⴰⵏⵢⴰ 6–1 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = 27 ⵎⴰⵕⵚ 2018 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = [[ⵎⴰⴷⵔⵉⴷ]], [[ⵚⴱⴰⵏⵢⴰ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = 19 | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 1930 | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 1978|1978]], [[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 1986|1986]], [[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 2022|2022]]) | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ = 3 | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 1992 | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ 1992|1992]]) | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = 44 | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1916|1916]] | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1921|1921]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1925|1925]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1927|1927]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1929|1929]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1937|1937]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1941|1941]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1945|1945]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1946|1946]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1947|1947]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1955|1955]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1957|1957]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1959|1959]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1991|1991]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1993|1993]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 2021|2021]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 2024|2024]]) | ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ = [[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ]] | ⵜⴰⴱⵔⵣⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ 1956|1956]] | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ 1960|1960]]) | ⵜⴰⴱⵔⵣⴰ 2 = [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ]] | ⵜⴰⴱⵔⵣⴰ 2 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 1993|1993]] | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 1993|1993]], [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 2022|2022]]) | ⵜⴰⴱⵔⵣⴰ 3 = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 4 = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 5 = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ = | pattern_la1 = _arg26h | pattern_b1 = _arg26h | pattern_ra1 = _arg26h | pattern_sh1 = _arg26h2 | pattern_so1 = _arg26h2l | leftarm1 = FFFFFF | body1 = FFFFFF | rightarm1 = FFFFFF | shorts1 = FFFFFF | socks1 = FFFFFF | pattern_la2 = _arg26A | pattern_b2 = _arg26A | pattern_ra2 = _arg26A | pattern_sh2 = _arg26A | pattern_so2 = _arg26al | leftarm2 = | body2 = | rightarm2 = | shorts2 = | socks2 = | pattern_la3 = | pattern_b3 = | pattern_ra3 = | pattern_sh3 = | pattern_so3 = | leftarm3 = | body3 = | rightarm3 = | shorts3 = | socks3 = }}</syntaxhighlight> {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵣⵡⵍ = ⵜⴰⵔⴰⴱⴱⵓⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵍⵓⴳⵓ = Argentina national football team logo.svg | ⴰⵍⵓⴳⵓ2 = | ⵜⴰⵙⴷⴰⵡⵉⵜ = [[ⵜⴰⵙⴷⴰⵡⵉⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⵜⴰⵙⴷⴰⵡⵉⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ]] | ⵜⴰⵎⵓⵏⵜ = [[ⴽⵓⵎⵏⵉⴱⵓⵍ]] | ⵎⴼⴼⵔⵉⵙⵎ = {{nowrap|ⵍⴰ ⵙⵉⵍⵉⴽⵙⵢⵓⵏ<br />{{nowrap|ⵍⴰ ⴰⵍⴱⴰⵙⵉⵍⵉⵙⵜⵉ<br />{{nowrap|ⵍⴰ ⵙⴽⴰⵍⵓⵏⵉⵜⵜⴰ }} | ⵉⴽⵯⵍⴰⵏ = ⴰⵏⵉⵍⵉ ⴰⴳⵏⵏⴰⵡ ⴷ ⵡⵓⵎⵍⵉⵍ | ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ = Argentina | ⴰⴱⴰⵔⴰⵣ = ⵉⵎⵏⵏⴰⵡⵏ | ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ = [[ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵉⵏⵉⴳⵍⵏ ⵏ ⴼⵉⴼⴰ|ARG]] | ⴰⵙⵉⵜⵡⵉⴱ = {{url|https://www.afa.com.ar/es/seleccion-mayor| afa.com.ar/seleccion-mayor}} | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ = {{Fifa world rankings|ARG}} | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ = 1 | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ = 24 (ⵖⵓⵛⵜ 1996) | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ = {{World Football Elo Ratings|Argentina}} | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ = 1 | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ = 260 (ⵢⵓⵏⵢⵓ 1990) | ⴰⵎⵙⵍⵖⵎⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵙⴽⴰⵍⵓⵏⵉ]] | ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ = | ⴰⵏⴱⴷⴰⴷ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] | ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] (122) | ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] (201) | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = ⵓⵕⵓⴳⵡⴰⵢ 0–6 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 20 ⵢⵓⵍⵢⵓⵣ 1902 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵎⵓⵏⵜⵉⴼⵉⴷⵢⵓ]], [[ⵓⵔⵓⴳⵡⴰⵢ]] | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = ⴰⵕⵊⵓⵏⵜⵉⵏ 12–0 ⵉⴽⵡⴰⴹⵓⵕ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = 22 ⵉⵏⵏⴰⵢⵔ 1942 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = [[ⵎⵓⵏⵜⵉⴼⵉⴷⵢⵓ]], [[ⵓⵔⵓⴳⵡⴰⵢ]] | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = ⵜⵛⵉⴽⵢⴰ 6–1 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = 15 ⵢⵓⵏⵢⵓ 1958 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = [[ⵀⵉⵍⵙⵉⵏⴳⴱⵓⵔⴳ]], [[ⵙⵙⵡⵉⴷ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = ⴱⵓⵍⵉⴼⵢⴰ 6–1 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = 1 ⵉⴱⵔⵉⵔ 2009 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = [[ⵍⴰⴱⴰⵣ]], [[ⴱⵓⵍⵉⴼⵢⴰ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = ⵚⴱⴰⵏⵢⴰ 6–1 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = 27 ⵎⴰⵕⵚ 2018 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = [[ⵎⴰⴷⵔⵉⴷ]], [[ⵚⴱⴰⵏⵢⴰ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = 19 | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 1930 | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 1978|1978]], [[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 1986|1986]], [[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 2022|2022]]) | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ = 3 | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 1992 | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ 1992|1992]]) | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = 44 | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1916|1916]] | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1921|1921]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1925|1925]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1927|1927]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1929|1929]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1937|1937]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1941|1941]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1945|1945]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1946|1946]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1947|1947]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1955|1955]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1957|1957]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1959|1959]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1991|1991]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1993|1993]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 2021|2021]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 2024|2024]]) | ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ = [[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ]] | ⵜⴰⴱⵔⵣⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ 1956|1956]] | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ 1960|1960]]) | ⵜⴰⴱⵔⵣⴰ 2 = [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ]] | ⵜⴰⴱⵔⵣⴰ 2 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 1993|1993]] | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 1993|1993]], [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 2022|2022]]) | ⵜⴰⴱⵔⵣⴰ 3 = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 4 = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 5 = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ = | pattern_la1 = _arg26h | pattern_b1 = _arg26h | pattern_ra1 = _arg26h | pattern_sh1 = _arg26h2 | pattern_so1 = _arg26h2l | leftarm1 = FFFFFF | body1 = FFFFFF | rightarm1 = FFFFFF | shorts1 = FFFFFF | socks1 = FFFFFF | pattern_la2 = _arg26A | pattern_b2 = _arg26A | pattern_ra2 = _arg26A | pattern_sh2 = _arg26A | pattern_so2 = _arg26al | leftarm2 = | body2 = | rightarm2 = | shorts2 = | socks2 = | pattern_la3 = | pattern_b3 = | pattern_ra3 = | pattern_sh3 = | pattern_so3 = | leftarm3 = | body3 = | rightarm3 = | shorts3 = | socks3 = }} <includeonly>{{ⴰⵙⵎⵉⵍ|ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ|ⵜⵉⴼⵍⵓⵖⵎⵉⵙⵉⵏ ⵏ ⵜⵓⵏⵏⵓⵏⵜ|ⵜⵉⴼⵍⵓⵖⵎⵉⵙⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}}</includeonly> mgyjsb8dqhz2sv1y5xn9jz942s8jsyt 177050 177049 2026-06-26T03:52:06Z Essaidib2 15 /* ⵉⵎⴷⵢⴰⵜⵏ */ 177050 wikitext text/x-wiki {{ⵜⴰⴷⵓⵙⵏⴰ ⵏ ⵓⵙⵙⵏⵜⵎ}}{{lua|Module:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}} ==ⴰⵙⵙⵎⵔⵙ== <syntaxhighlight lang="wikitext" copy="yes"> {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵣⵡⵍ = | ⴰⵍⵓⴳⵓ = | ⴰⵍⵓⴳⵓ2 = | ⵜⴰⵙⴷⴰⵡⵉⵜ = | ⵜⴰⵎⵓⵏⵜ = | ⵎⴼⴼⵔⵉⵙⵎ = | ⵉⴽⵯⵍⴰⵏ = | ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ = | ⴰⴱⴰⵔⴰⵣ = | ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ = | ⴰⵙⵉⵜⵡⵉⴱ = | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ = | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ = | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ = | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ = | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ = | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ = | ⴰⵎⵙⵍⵖⵎⴰⵢ = | ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ = | ⴰⵏⴱⴷⴰⴷ = | ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ = | ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ = | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 2 = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 3 = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 4 = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 5 = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ = | pattern_la1 = | pattern_b1 = | pattern_ra1 = | pattern_sh1 = | pattern_so1 = | leftarm1 = | body1 = | rightarm1 = | shorts1 = | socks1 = | pattern_la2 = | pattern_b2 = | pattern_ra2 = | pattern_sh2 = | pattern_so2 = | leftarm2 = | body2 = | rightarm2 = | shorts2 = | socks2 = | pattern_la3 = | pattern_b3 = | pattern_ra3 = | pattern_sh3 = | pattern_so3 = | leftarm3 = | body3 = | rightarm3 = | shorts3 = | socks3 = }}</syntaxhighlight> ===ⵉⵎⴷⵢⴰⵜⵏ=== <syntaxhighlight lang="wikitext"> {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵣⵡⵍ = ⵜⴰⵔⴰⴱⴱⵓⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵍⵓⴳⵓ = Argentina national football team logo.svg | ⴰⵍⵓⴳⵓ2 = | ⵜⴰⵙⴷⴰⵡⵉⵜ = [[ⵜⴰⵙⴷⴰⵡⵉⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⵜⴰⵙⴷⴰⵡⵉⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ]] | ⵜⴰⵎⵓⵏⵜ = [[ⴽⵓⵎⵏⵉⴱⵓⵍ]] | ⵎⴼⴼⵔⵉⵙⵎ = {{nowrap|ⵍⴰ ⵙⵉⵍⵉⴽⵙⵢⵓⵏ}}<br />{{nowrap|ⵍⴰ ⴰⵍⴱⴰⵙⵉⵍⵉⵙⵜⵉ}}<br />{{nowrap|ⵍⴰ ⵙⴽⴰⵍⵓⵏⵉⵜⵜ }} | ⵉⴽⵯⵍⴰⵏ = ⴰⵏⵉⵍⵉ ⴰⴳⵏⵏⴰⵡ ⴷ ⵡⵓⵎⵍⵉⵍ | ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ = Argentina | ⴰⴱⴰⵔⴰⵣ = ⵉⵎⵏⵏⴰⵡⵏ | ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ = [[ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵉⵏⵉⴳⵍⵏ ⵏ ⴼⵉⴼⴰ|ARG]] | ⴰⵙⵉⵜⵡⵉⴱ = {{url|https://www.afa.com.ar/es/seleccion-mayor| afa.com.ar/seleccion-mayor}} | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ = {{Fifa world rankings|ARG}} | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ = 1 | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ = 24 (ⵖⵓⵛⵜ 1996) | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ = {{World Football Elo Ratings|Argentina}} | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ = 1 | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ = 260 (ⵢⵓⵏⵢⵓ 1990) | ⴰⵎⵙⵍⵖⵎⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵙⴽⴰⵍⵓⵏⵉ]] | ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ = | ⴰⵏⴱⴷⴰⴷ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] | ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] (122) | ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] (201) | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = ⵓⵕⵓⴳⵡⴰⵢ 0–6 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 20 ⵢⵓⵍⵢⵓⵣ 1902 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵎⵓⵏⵜⵉⴼⵉⴷⵢⵓ]], [[ⵓⵔⵓⴳⵡⴰⵢ]] | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = ⴰⵕⵊⵓⵏⵜⵉⵏ 12–0 ⵉⴽⵡⴰⴹⵓⵕ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = 22 ⵉⵏⵏⴰⵢⵔ 1942 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = [[ⵎⵓⵏⵜⵉⴼⵉⴷⵢⵓ]], [[ⵓⵔⵓⴳⵡⴰⵢ]] | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = ⵜⵛⵉⴽⵢⴰ 6–1 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = 15 ⵢⵓⵏⵢⵓ 1958 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = [[ⵀⵉⵍⵙⵉⵏⴳⴱⵓⵔⴳ]], [[ⵙⵙⵡⵉⴷ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = ⴱⵓⵍⵉⴼⵢⴰ 6–1 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = 1 ⵉⴱⵔⵉⵔ 2009 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = [[ⵍⴰⴱⴰⵣ]], [[ⴱⵓⵍⵉⴼⵢⴰ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = ⵚⴱⴰⵏⵢⴰ 6–1 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = 27 ⵎⴰⵕⵚ 2018 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = [[ⵎⴰⴷⵔⵉⴷ]], [[ⵚⴱⴰⵏⵢⴰ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = 19 | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 1930 | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 1978|1978]], [[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 1986|1986]], [[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 2022|2022]]) | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ = 3 | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 1992 | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ 1992|1992]]) | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = 44 | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1916|1916]] | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1921|1921]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1925|1925]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1927|1927]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1929|1929]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1937|1937]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1941|1941]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1945|1945]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1946|1946]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1947|1947]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1955|1955]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1957|1957]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1959|1959]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1991|1991]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1993|1993]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 2021|2021]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 2024|2024]]) | ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ = [[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ]] | ⵜⴰⴱⵔⵣⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ 1956|1956]] | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ 1960|1960]]) | ⵜⴰⴱⵔⵣⴰ 2 = [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ]] | ⵜⴰⴱⵔⵣⴰ 2 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 1993|1993]] | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 1993|1993]], [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 2022|2022]]) | ⵜⴰⴱⵔⵣⴰ 3 = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 4 = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 5 = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ = | pattern_la1 = _arg26h | pattern_b1 = _arg26h | pattern_ra1 = _arg26h | pattern_sh1 = _arg26h2 | pattern_so1 = _arg26h2l | leftarm1 = FFFFFF | body1 = FFFFFF | rightarm1 = FFFFFF | shorts1 = FFFFFF | socks1 = FFFFFF | pattern_la2 = _arg26A | pattern_b2 = _arg26A | pattern_ra2 = _arg26A | pattern_sh2 = _arg26A | pattern_so2 = _arg26al | leftarm2 = | body2 = | rightarm2 = | shorts2 = | socks2 = | pattern_la3 = | pattern_b3 = | pattern_ra3 = | pattern_sh3 = | pattern_so3 = | leftarm3 = | body3 = | rightarm3 = | shorts3 = | socks3 = }}</syntaxhighlight> {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵣⵡⵍ = ⵜⴰⵔⴰⴱⴱⵓⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵍⵓⴳⵓ = Argentina national football team logo.svg | ⴰⵍⵓⴳⵓ2 = | ⵜⴰⵙⴷⴰⵡⵉⵜ = [[ⵜⴰⵙⴷⴰⵡⵉⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⵜⴰⵙⴷⴰⵡⵉⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ]] | ⵜⴰⵎⵓⵏⵜ = [[ⴽⵓⵎⵏⵉⴱⵓⵍ]] | ⵎⴼⴼⵔⵉⵙⵎ = {{nowrap|ⵍⴰ ⵙⵉⵍⵉⴽⵙⵢⵓⵏ}}<br />{{nowrap|ⵍⴰ ⴰⵍⴱⴰⵙⵉⵍⵉⵙⵜⵉ}}<br />{{nowrap|ⵍⴰ ⵙⴽⴰⵍⵓⵏⵉⵜⵜ }} | ⵉⴽⵯⵍⴰⵏ = ⴰⵏⵉⵍⵉ ⴰⴳⵏⵏⴰⵡ ⴷ ⵡⵓⵎⵍⵉⵍ | ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ = Argentina | ⴰⴱⴰⵔⴰⵣ = ⵉⵎⵏⵏⴰⵡⵏ | ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ = [[ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵉⵏⵉⴳⵍⵏ ⵏ ⴼⵉⴼⴰ|ARG]] | ⴰⵙⵉⵜⵡⵉⴱ = {{url|https://www.afa.com.ar/es/seleccion-mayor| afa.com.ar/seleccion-mayor}} | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ = {{Fifa world rankings|ARG}} | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ = 1 | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ = 24 (ⵖⵓⵛⵜ 1996) | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ = {{World Football Elo Ratings|Argentina}} | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ = 1 | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ = 260 (ⵢⵓⵏⵢⵓ 1990) | ⴰⵎⵙⵍⵖⵎⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵙⴽⴰⵍⵓⵏⵉ]] | ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ = | ⴰⵏⴱⴷⴰⴷ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] | ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] (122) | ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] (201) | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = ⵓⵕⵓⴳⵡⴰⵢ 0–6 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 20 ⵢⵓⵍⵢⵓⵣ 1902 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵎⵓⵏⵜⵉⴼⵉⴷⵢⵓ]], [[ⵓⵔⵓⴳⵡⴰⵢ]] | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = ⴰⵕⵊⵓⵏⵜⵉⵏ 12–0 ⵉⴽⵡⴰⴹⵓⵕ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = 22 ⵉⵏⵏⴰⵢⵔ 1942 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = [[ⵎⵓⵏⵜⵉⴼⵉⴷⵢⵓ]], [[ⵓⵔⵓⴳⵡⴰⵢ]] | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = ⵜⵛⵉⴽⵢⴰ 6–1 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = 15 ⵢⵓⵏⵢⵓ 1958 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = [[ⵀⵉⵍⵙⵉⵏⴳⴱⵓⵔⴳ]], [[ⵙⵙⵡⵉⴷ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = ⴱⵓⵍⵉⴼⵢⴰ 6–1 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = 1 ⵉⴱⵔⵉⵔ 2009 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = [[ⵍⴰⴱⴰⵣ]], [[ⴱⵓⵍⵉⴼⵢⴰ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = ⵚⴱⴰⵏⵢⴰ 6–1 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = 27 ⵎⴰⵕⵚ 2018 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = [[ⵎⴰⴷⵔⵉⴷ]], [[ⵚⴱⴰⵏⵢⴰ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = 19 | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 1930 | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 1978|1978]], [[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 1986|1986]], [[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 2022|2022]]) | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ = 3 | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 1992 | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ 1992|1992]]) | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = 44 | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1916|1916]] | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1921|1921]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1925|1925]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1927|1927]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1929|1929]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1937|1937]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1941|1941]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1945|1945]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1946|1946]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1947|1947]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1955|1955]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1957|1957]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1959|1959]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1991|1991]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1993|1993]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 2021|2021]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 2024|2024]]) | ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ = [[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ]] | ⵜⴰⴱⵔⵣⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ 1956|1956]] | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ 1960|1960]]) | ⵜⴰⴱⵔⵣⴰ 2 = [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ]] | ⵜⴰⴱⵔⵣⴰ 2 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 1993|1993]] | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 1993|1993]], [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 2022|2022]]) | ⵜⴰⴱⵔⵣⴰ 3 = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 4 = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 5 = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ = | pattern_la1 = _arg26h | pattern_b1 = _arg26h | pattern_ra1 = _arg26h | pattern_sh1 = _arg26h2 | pattern_so1 = _arg26h2l | leftarm1 = FFFFFF | body1 = FFFFFF | rightarm1 = FFFFFF | shorts1 = FFFFFF | socks1 = FFFFFF | pattern_la2 = _arg26A | pattern_b2 = _arg26A | pattern_ra2 = _arg26A | pattern_sh2 = _arg26A | pattern_so2 = _arg26al | leftarm2 = | body2 = | rightarm2 = | shorts2 = | socks2 = | pattern_la3 = | pattern_b3 = | pattern_ra3 = | pattern_sh3 = | pattern_so3 = | leftarm3 = | body3 = | rightarm3 = | shorts3 = | socks3 = }} <includeonly>{{ⴰⵙⵎⵉⵍ|ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ|ⵜⵉⴼⵍⵓⵖⵎⵉⵙⵉⵏ ⵏ ⵜⵓⵏⵏⵓⵏⵜ|ⵜⵉⴼⵍⵓⵖⵎⵉⵙⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}}</includeonly> 5361ltjcclx2qcvskjkc5eu4cut1q9z 177051 177050 2026-06-26T04:17:11Z Essaidib2 15 /* ⵉⵎⴷⵢⴰⵜⵏ */ 177051 wikitext text/x-wiki {{ⵜⴰⴷⵓⵙⵏⴰ ⵏ ⵓⵙⵙⵏⵜⵎ}}{{lua|Module:ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}} ==ⴰⵙⵙⵎⵔⵙ== <syntaxhighlight lang="wikitext" copy="yes"> {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵣⵡⵍ = | ⴰⵍⵓⴳⵓ = | ⴰⵍⵓⴳⵓ2 = | ⵜⴰⵙⴷⴰⵡⵉⵜ = | ⵜⴰⵎⵓⵏⵜ = | ⵎⴼⴼⵔⵉⵙⵎ = | ⵉⴽⵯⵍⴰⵏ = | ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ = | ⴰⴱⴰⵔⴰⵣ = | ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ = | ⴰⵙⵉⵜⵡⵉⴱ = | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ = | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ = | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ = | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ = | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ = | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ = | ⴰⵎⵙⵍⵖⵎⴰⵢ = | ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ = | ⴰⵏⴱⴷⴰⴷ = | ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ = | ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ = | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 2 = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 3 = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 4 = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 5 = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ = | pattern_la1 = | pattern_b1 = | pattern_ra1 = | pattern_sh1 = | pattern_so1 = | leftarm1 = | body1 = | rightarm1 = | shorts1 = | socks1 = | pattern_la2 = | pattern_b2 = | pattern_ra2 = | pattern_sh2 = | pattern_so2 = | leftarm2 = | body2 = | rightarm2 = | shorts2 = | socks2 = | pattern_la3 = | pattern_b3 = | pattern_ra3 = | pattern_sh3 = | pattern_so3 = | leftarm3 = | body3 = | rightarm3 = | shorts3 = | socks3 = }}</syntaxhighlight> ===ⵉⵎⴷⵢⴰⵜⵏ=== <syntaxhighlight lang="wikitext"> {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵣⵡⵍ = ⵜⴰⵔⴰⴱⴱⵓⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵍⵓⴳⵓ = | ⴰⵍⵓⴳⵓ2 = | ⵜⴰⵙⴷⴰⵡⵉⵜ = [[ⵜⴰⵙⴷⴰⵡⵉⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⵜⴰⵙⴷⴰⵡⵉⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ]] | ⵜⴰⵎⵓⵏⵜ = [[ⴽⵓⵎⵏⵉⴱⵓⵍ]] | ⵎⴼⴼⵔⵉⵙⵎ = ⵍⴰ ⵙⵉⵍⵉⴽⵙⵢⵓⵏ<br />ⵍⴰ ⴰⵍⴱⴰⵙⵉⵍⵉⵙⵜⵉ<br />ⵍⴰ ⵙⴽⴰⵍⵓⵏⵉⵜⵜ | ⵉⴽⵯⵍⴰⵏ = ⴰⵏⵉⵍⵉ ⴰⴳⵏⵏⴰⵡ ⴷ ⵡⵓⵎⵍⵉⵍ | ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ = Argentina | ⴰⴱⴰⵔⴰⵣ = ⵉⵎⵏⵏⴰⵡⵏ | ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ = [[ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵉⵏⵉⴳⵍⵏ ⵏ ⴼⵉⴼⴰ|ARG]] | ⴰⵙⵉⵜⵡⵉⴱ = {{url|https://www.afa.com.ar/es/seleccion-mayor| afa.com.ar/seleccion-mayor}} | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ = 1 (11 ⵢⵓⵏⵢⵓ 2026) | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ = 1 | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ = 24 (ⵖⵓⵛⵜ 1996) | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ = | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ = | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ = | ⴰⵎⵙⵍⵖⵎⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵙⴽⴰⵍⵓⵏⵉ]] | ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ = | ⴰⵏⴱⴷⴰⴷ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] | ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] (122) | ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] (201) | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = ⵓⵕⵓⴳⵡⴰⵢ 0–6 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 20 ⵢⵓⵍⵢⵓⵣ 1902 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵎⵓⵏⵜⵉⴼⵉⴷⵢⵓ]], [[ⵓⵔⵓⴳⵡⴰⵢ]] | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = ⴰⵕⵊⵓⵏⵜⵉⵏ 12–0 ⵉⴽⵡⴰⴹⵓⵕ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = 22 ⵉⵏⵏⴰⵢⵔ 1942 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = [[ⵎⵓⵏⵜⵉⴼⵉⴷⵢⵓ]], [[ⵓⵔⵓⴳⵡⴰⵢ]] | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = ⵜⵛⵉⴽⵢⴰ 6–1 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = 15 ⵢⵓⵏⵢⵓ 1958 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = [[ⵀⵉⵍⵙⵉⵏⴳⴱⵓⵔⴳ]], [[ⵙⵙⵡⵉⴷ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = ⴱⵓⵍⵉⴼⵢⴰ 6–1 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = 1 ⵉⴱⵔⵉⵔ 2009 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = [[ⵍⴰⴱⴰⵣ]], [[ⴱⵓⵍⵉⴼⵢⴰ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = ⵚⴱⴰⵏⵢⴰ 6–1 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = 27 ⵎⴰⵕⵚ 2018 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = [[ⵎⴰⴷⵔⵉⴷ]], [[ⵚⴱⴰⵏⵢⴰ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = 19 | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 1930 | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 1978|1978]], [[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 1986|1986]], [[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 2022|2022]]) | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ = 3 | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 1992 | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ 1992|1992]]) | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = 44 | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1916|1916]] | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1921|1921]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1925|1925]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1927|1927]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1929|1929]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1937|1937]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1941|1941]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1945|1945]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1946|1946]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1947|1947]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1955|1955]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1957|1957]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1959|1959]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1991|1991]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1993|1993]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 2021|2021]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 2024|2024]]) | ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ = [[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ]] | ⵜⴰⴱⵔⵣⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = 2 | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ 1956|1956]] | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ 1960|1960]]) | ⵜⴰⴱⵔⵣⴰ 2 = [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ]] | ⵜⴰⴱⵔⵣⴰ 2 ⵜⵉⴷⵔⴰⵡⵉⵏ = 3 | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 1993|1993]] | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 1993|1993]], [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 2022|2022]]) | ⵜⴰⴱⵔⵣⴰ 3 = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 4 = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 5 = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ = | pattern_la1 = _arg26h | pattern_b1 = _arg26h | pattern_ra1 = _arg26h | pattern_sh1 = _arg26h2 | pattern_so1 = _arg26h2l | leftarm1 = FFFFFF | body1 = FFFFFF | rightarm1 = FFFFFF | shorts1 = FFFFFF | socks1 = FFFFFF | pattern_la2 = _arg26A | pattern_b2 = _arg26A | pattern_ra2 = _arg26A | pattern_sh2 = _arg26A | pattern_so2 = _arg26al | leftarm2 = | body2 = | rightarm2 = | shorts2 = | socks2 = | pattern_la3 = | pattern_b3 = | pattern_ra3 = | pattern_sh3 = | pattern_so3 = | leftarm3 = | body3 = | rightarm3 = | shorts3 = | socks3 = }}</syntaxhighlight> {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵜⴰⵔⴰⴱⴱⵓⵜ ⵜⴰⵏⴰⵎⵓⵔⵜ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵣⵡⵍ = ⵜⴰⵔⴰⴱⴱⵓⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ | ⴰⵍⵓⴳⵓ = | ⴰⵍⵓⴳⵓ2 = | ⵜⴰⵙⴷⴰⵡⵉⵜ = [[ⵜⴰⵙⴷⴰⵡⵉⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ|ⵜⴰⵙⴷⴰⵡⵉⵜ ⵏ ⵡⴰⵔⵊⵓⵏⵜⵉⵏ]] | ⵜⴰⵎⵓⵏⵜ = [[ⴽⵓⵎⵏⵉⴱⵓⵍ]] | ⵎⴼⴼⵔⵉⵙⵎ = ⵍⴰ ⵙⵉⵍⵉⴽⵙⵢⵓⵏ<br />ⵍⴰ ⴰⵍⴱⴰⵙⵉⵍⵉⵙⵜⵉ<br />ⵍⴰ ⵙⴽⴰⵍⵓⵏⵉⵜⵜ | ⵉⴽⵯⵍⴰⵏ = ⴰⵏⵉⵍⵉ ⴰⴳⵏⵏⴰⵡ ⴷ ⵡⵓⵎⵍⵉⵍ | ⵉⵙⵎ ⴰⵎⴰⴷⴷⵓⴷ = Argentina | ⴰⴱⴰⵔⴰⵣ = ⵉⵎⵏⵏⴰⵡⵏ | ⵉⵏⵉⴳⵍ ⵏ ⴼⵉⴼⴰ = [[ⵜⴰⵍⴳⴰⵎⵜ ⵏ ⵉⵏⵉⴳⵍⵏ ⵏ ⴼⵉⴼⴰ|ARG]] | ⴰⵙⵉⵜⵡⵉⴱ = {{url|https://www.afa.com.ar/es/seleccion-mayor| afa.com.ar/seleccion-mayor}} | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵉⵔⴰⵏ = 1 (11 ⵢⵓⵏⵢⵓ 2026) | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⵓⴼⴰⵢ = 1 | ⴰⵣⵓⵢⵜ ⵏ ⴼⵉⴼⴰ ⴰⵎⴰⵣⴷⴰⵔ = 24 (ⵖⵓⵛⵜ 1996) | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵉⵔⴰⵏ = | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⵓⴼⴰⵢ = | ⴰⵣⵓⵢⵜ ⵏ ⵉⵍⵓ ⴰⵎⴰⵣⴷⴰⵔ = | ⴰⵎⵙⵍⵖⵎⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵙⴽⴰⵍⵓⵏⵉ]] | ⴰⵎⵙⵍⵖⵎⴰⵢ ⴰⵎⴰⵡⴰⵙ = | ⴰⵏⴱⴷⴰⴷ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] | ⵉⵎⵙⵙⵡⵉ ⴰⵎⵓⴼⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] (122) | ⵜⴰⵎⴽⵔⵔⴰ ⵏ ⵓⵙⵜⴰⵢ = [[ⵍⵢⵓⵏⵉⵍ ⵎⵉⵙⵙⵉ]] (201) | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = ⵓⵕⵓⴳⵡⴰⵢ 0–6 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 20 ⵢⵓⵍⵢⵓⵣ 1902 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵎⵓⵏⵜⵉⴼⵉⴷⵢⵓ]], [[ⵓⵔⵓⴳⵡⴰⵢ]] | ⵜⴰⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵎⵏⵢⵓⴳⴰⵔⵜ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = ⴰⵕⵊⵓⵏⵜⵉⵏ 12–0 ⵉⴽⵡⴰⴹⵓⵕ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = 22 ⵉⵏⵏⴰⵢⵔ 1942 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = [[ⵎⵓⵏⵜⵉⴼⵉⴷⵢⵓ]], [[ⵓⵔⵓⴳⵡⴰⵢ]] | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⴰⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵔⵏⴰⵡⵜ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = ⵜⵛⵉⴽⵢⴰ 6–1 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = 15 ⵢⵓⵏⵢⵓ 1958 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ = [[ⵀⵉⵍⵙⵉⵏⴳⴱⵓⵔⴳ]], [[ⵙⵙⵡⵉⴷ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = ⴱⵓⵍⵉⴼⵢⴰ 6–1 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = 1 ⵉⴱⵔⵉⵔ 2009 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 2 = [[ⵍⴰⴱⴰⵣ]], [[ⴱⵓⵍⵉⴼⵢⴰ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = ⵚⴱⴰⵏⵢⴰ 6–1 ⴰⵕⵊⵓⵏⵜⵉⵏ | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = 27 ⵎⴰⵕⵚ 2018 | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 3 = [[ⵎⴰⴷⵔⵉⴷ]], [[ⵚⴱⴰⵏⵢⴰ]] | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 4 = | ⵜⵉⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⵙⴰⴽⵓⴷ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴷⵖⴰⵔ ⵏ ⵜⵕⵥⵉ ⵜⴰⵎⵇⵇⵔⴰⵏⵜ 5 = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = 19 | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 1930 | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 1978|1978]], [[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 1986|1986]], [[ⴰⴽⴰⵙ ⵏ ⵓⵎⴰⴹⴰⵍ 2022|2022]]) | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⵉⴷⵔⴰⵡⵉⵏ = 3 | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = 1992 | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴰⴽⴰⵙ ⵏ ⵜⵎⵏⵥⴰⵡⵉⵏ 1992|1992]]) | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵍⴰⵎⴱⵢⴰⴷ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵏⴽⴰⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⵉⴷⵔⴰⵡⵉⵏ = 44 | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1916|1916]] | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⵓⵎⵏⵉⴱⵓⵍ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1921|1921]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1925|1925]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1927|1927]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1929|1929]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1937|1937]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1941|1941]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1945|1945]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1946|1946]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1947|1947]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1955|1955]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1957|1957]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1959|1959]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1991|1991]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 1993|1993]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 2021|2021]], [[ⴽⵓⴱⴱⴰ ⴰⵎⵉⵔⵉⴽⴰ 2024|2024]]) | ⵢⵓⵡⵉⴼⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵢⵓⵡⵉⴼⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⴽⴰⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⴽⴰⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⴽⴰⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵉⵢⵉⴼⵙⵉ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵓⵡⵉⵙⵉⴼ ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ = [[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ]] | ⵜⴰⴱⵔⵣⴰ ⵜⵉⴷⵔⴰⵡⵉⵏ = 2 | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ 1956|1956]] | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⵜⴰⴱⵔⵣⴰ ⵜⴰⴽⴽⵎⵔⵉⴽⵜ 1960|1960]]) | ⵜⴰⴱⵔⵣⴰ 2 = [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ]] | ⵜⴰⴱⵔⵣⴰ 2 ⵜⵉⴷⵔⴰⵡⵉⵏ = 3 | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 1993|1993]] | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 2 ⵜⴰⵎⵓⴼⴰⵢⵜ = '''ⵜⴰⵏⴱⵔⴰⵣⵜ''' ([[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 1993|1993]], [[ⵜⴰⴱⵔⵣⴰ ⵏ ⴼⵉⵏⴰⵍⵉⵙⵉⵎⴰ 2022|2022]]) | ⵜⴰⴱⵔⵣⴰ 3 = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 3 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 4 = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 4 ⵜⴰⵎⵓⴼⴰⵢⵜ = | ⵜⴰⴱⵔⵣⴰ 5 = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⵉⴷⵔⴰⵡⵉⵏ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵣⵡⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⴳⴳⴰⵔⵓⵜ = | ⵜⴰⴱⵔⵣⴰ 5 ⵜⴰⵎⵓⴼⴰⵢⵜ = | pattern_la1 = _arg26h | pattern_b1 = _arg26h | pattern_ra1 = _arg26h | pattern_sh1 = _arg26h2 | pattern_so1 = _arg26h2l | leftarm1 = FFFFFF | body1 = FFFFFF | rightarm1 = FFFFFF | shorts1 = FFFFFF | socks1 = FFFFFF | pattern_la2 = _arg26A | pattern_b2 = _arg26A | pattern_ra2 = _arg26A | pattern_sh2 = _arg26A | pattern_so2 = _arg26al | leftarm2 = | body2 = | rightarm2 = | shorts2 = | socks2 = | pattern_la3 = | pattern_b3 = | pattern_ra3 = | pattern_sh3 = | pattern_so3 = | leftarm3 = | body3 = | rightarm3 = | shorts3 = | socks3 = }} <includeonly>{{ⴰⵙⵎⵉⵍ|ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ|ⵜⵉⴼⵍⵓⵖⵎⵉⵙⵉⵏ ⵏ ⵜⵓⵏⵏⵓⵏⵜ|ⵜⵉⴼⵍⵓⵖⵎⵉⵙⵉⵏ ⵏ ⵜⵛⴰⵎⵎⴰ ⵏ ⵓⴹⴰⵕ}}</includeonly> amv2328lknrji08x1tyty0cxbsf5657 ⵊⵉⵏⵓⵙⵉⴷ ⵏ ⵖⴰⵣⵣⴰ 0 52746 177027 177026 2026-06-25T12:02:00Z جودت 2067 /* */ 177027 wikitext text/x-wiki {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵓⴳⴳⵉⴷ}} '''ⵊⵉⵏⵓⵙⵉⴷ ⵏ ⵖⴰⵣⵣⴰ''' ⵉⴳⴰ ⴷ ⴰⵙⴻⵏⴳⴻⵔ ⴰⵎⴻⵜⵜⵉ ⵉⵜⵜⵡⴰⵙⵙⴻⵏⵊⴻⵏ, ⵙ ⵍⴻⴱⵖⵉ ⴷ ⵓⵙⴻⵏⵜⴻⵎ ⵏ ⵓⵙⴻⴷⵔⴻⵎ ⵏ [[:en:Palestinians|ⵓⵖⴻⵔⴼ ⴰⴼⴻⵍⵉⵙⵟⵉⵏⵉ]] ⴳ ⵡⴰⵎⵎⴰⵙ ⵏ [[:en:Gaza_Strip|ⵡⴰⴳⴳⴰⵔ ⵏ ⵖⴰⵣⵣⴰ]], ⵢⴻⵜⵜⵡⴰⴳⴳⴰⵏ ⵙⵖⵓⵔ [[ⵉⵙⵔⴰⵢⵉⵍ]] ⴷⴻⴳ [[:en:Gaza_war|ⴰⵎⴻⵏⵏⵓⵖ ⵏ ⵖⴻⵣⵣⴰ]].<ref>{{cite web |date=27 November 2025 |title=Israel's genocide against Palestinians 'not over' despite ceasefire - new Amnesty briefing |url=https://www.amnesty.org.uk/press-releases/israels-genocide-against-palestinians-not-over-despite-ceasefire-new-amnesty |access-date=4 January 2026 |archive-url=https://web.archive.org/web/20251128172416/https://www.amnesty.org.uk/press-releases/israels-genocide-against-palestinians-not-over-despite-ceasefire-new-amnesty |archive-date=28 November 2025 |publisher=[[Amnesty International]] |url-status=live}}</ref><ref>{{cite news |date=28 November 2025 |last1=Segal |first1=Raz |author1-link=Raz Segal |title=The genocide in Gaza is far from over |url=https://www.theguardian.com/commentisfree/2025/nov/28/the-genocide-in-gaza-is-far-from-over |access-date=4 January 2026 |work=[[The Guardian]] |archive-url=https://web.archive.org/web/20251128115413/https://www.theguardian.com/commentisfree/2025/nov/28/the-genocide-in-gaza-is-far-from-over |archive-date=28 November 2025 |url-status=live |ref=none}}</ref><ref>{{Cite web |date=23 March 2026 |title=UN expert warns torture has become 'state doctrine' in Israel, making prisons instruments of genocide and torture |url=https://www.ohchr.org/en/press-releases/2026/03/un-expert-warns-torture-has-become-state-doctrine-israel-making-prisons |access-date=17 May 2026 |website=[[OHCHR]] |language=en |archive-url= |archive-date=}}</ref><ref>{{Cite web |last= |first= |date=8 April 2026 |title=Gaza Genocide: Children Maimed, Hunger Spreads, World Silent |url=https://easternherald.com/2026/04/08/gaza-genocide-children-hunger-global-silence/ |access-date=17 May 2026 |website=The Eastern Herald |language=en-US}}</ref><ref>{{Cite web |date=10 April 2026 |title=This is not a ceasefire: Life in Gaza continues to be suffocated six months on |url=https://www.msf.org/not-ceasefire-life-gaza-continues-be-suffocated-six-months |access-date=17 May 2026 |website=[[Médecins sans frontières]] |language=en |archive-url= |archive-date=}}</ref><ref>{{Cite web |date=11 May 2026 |title=Israel/OPT: Israel's systematic destruction of high-rise buildings must be investigated as war crimes of wanton destruction and collective punishment |url=https://www.amnesty.org/en/latest/news/2026/05/israel-opt-israels-systematic-destruction-of-high-rise-buildings-must-be-investigated-as-war-crimes-of-wanton-destruction-and-collective-punishment/ |access-date=14 May 2026 |website=[[Amnesty International]] |language=en |archive-url= |archive-date= |quote=Israel's unlawful and wanton destruction of civilian high-rise buildings continues to have devastating consequences for displaced Palestinian families in the occupied Gaza Strip, where reconstruction remains a distant dream amid ongoing genocide and air strikes despite the October 2025 so-called ceasefire, said Amnesty International today.}}</ref><ref>{{Cite news|date=24 June 2026|title=Israel deliberately targeting children in ongoing genocide against Palestinians, UN commission finds|url=https://edition.cnn.com/2026/06/24/middleeast/israel-targeting-children-report-un-intl|work=[[CNN]]}}</ref> ⵜⴻⴱⴷⴰ ⵜⵉⵍⵍⵉⵜ ⵏ ⵊⵉⵏⵓⵙⵉⴷ ⴰⴷ ⴰⵙⵙ ⵏ 7 ⴽⵟⵓⴱⴻⵔ 2023, ⵜⴻⵜⵜⵡⴰⵎⵎⴰⵍ ⴰⵔ ⵡⴰⵙⵙ-ⴰ. ==ⵉⵙⴰⵖⵓⵍⵏ== 74khxne0v93d858lmpxg0mxhmdlaimm 177028 177027 2026-06-25T12:31:28Z Lhoussine Bentayfaste 13 177028 wikitext text/x-wiki {{ⴰⵎⵏⵏⵉ ⵉⵙⵖⴰⵡⵙⴰⵏ ⴰⵣⵣⵔⴰⵢ}} {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵓⴳⴳⵉⴷ}} '''ⵊⵉⵏⵓⵙⵉⴷ ⵏ ⵖⴰⵣⵣⴰ''' ⵉⴳⴰ ⴷ ⴰⵙⴻⵏⴳⴻⵔ ⴰⵎⴻⵜⵜⵉ ⵉⵜⵜⵡⴰⵙⵙⴻⵏⵊⴻⵏ, ⵙ ⵍⴻⴱⵖⵉ ⴷ ⵓⵙⴻⵏⵜⴻⵎ ⵏ ⵓⵙⴻⴷⵔⴻⵎ ⵏ [[:en:Palestinians|ⵓⵖⴻⵔⴼ ⴰⴼⴻⵍⵉⵙⵟⵉⵏⵉ]] ⴳ ⵡⴰⵎⵎⴰⵙ ⵏ [[:en:Gaza_Strip|ⵡⴰⴳⴳⴰⵔ ⵏ ⵖⴰⵣⵣⴰ]], ⵢⴻⵜⵜⵡⴰⴳⴳⴰⵏ ⵙⵖⵓⵔ [[ⵉⵙⵔⴰⵢⵉⵍ]] ⴷⴻⴳ [[:en:Gaza_war|ⴰⵎⴻⵏⵏⵓⵖ ⵏ ⵖⴻⵣⵣⴰ]].<ref>{{cite web |date=27 November 2025 |title=Israel's genocide against Palestinians 'not over' despite ceasefire - new Amnesty briefing |url=https://www.amnesty.org.uk/press-releases/israels-genocide-against-palestinians-not-over-despite-ceasefire-new-amnesty |access-date=4 January 2026 |archive-url=https://web.archive.org/web/20251128172416/https://www.amnesty.org.uk/press-releases/israels-genocide-against-palestinians-not-over-despite-ceasefire-new-amnesty |archive-date=28 November 2025 |publisher=[[Amnesty International]] |url-status=live}}</ref><ref>{{cite news |date=28 November 2025 |last1=Segal |first1=Raz |author1-link=Raz Segal |title=The genocide in Gaza is far from over |url=https://www.theguardian.com/commentisfree/2025/nov/28/the-genocide-in-gaza-is-far-from-over |access-date=4 January 2026 |work=[[The Guardian]] |archive-url=https://web.archive.org/web/20251128115413/https://www.theguardian.com/commentisfree/2025/nov/28/the-genocide-in-gaza-is-far-from-over |archive-date=28 November 2025 |url-status=live |ref=none}}</ref><ref>{{Cite web |date=23 March 2026 |title=UN expert warns torture has become 'state doctrine' in Israel, making prisons instruments of genocide and torture |url=https://www.ohchr.org/en/press-releases/2026/03/un-expert-warns-torture-has-become-state-doctrine-israel-making-prisons |access-date=17 May 2026 |website=[[OHCHR]] |language=en |archive-url= |archive-date=}}</ref><ref>{{Cite web |last= |first= |date=8 April 2026 |title=Gaza Genocide: Children Maimed, Hunger Spreads, World Silent |url=https://easternherald.com/2026/04/08/gaza-genocide-children-hunger-global-silence/ |access-date=17 May 2026 |website=The Eastern Herald |language=en-US}}</ref><ref>{{Cite web |date=10 April 2026 |title=This is not a ceasefire: Life in Gaza continues to be suffocated six months on |url=https://www.msf.org/not-ceasefire-life-gaza-continues-be-suffocated-six-months |access-date=17 May 2026 |website=[[Médecins sans frontières]] |language=en |archive-url= |archive-date=}}</ref><ref>{{Cite web |date=11 May 2026 |title=Israel/OPT: Israel's systematic destruction of high-rise buildings must be investigated as war crimes of wanton destruction and collective punishment |url=https://www.amnesty.org/en/latest/news/2026/05/israel-opt-israels-systematic-destruction-of-high-rise-buildings-must-be-investigated-as-war-crimes-of-wanton-destruction-and-collective-punishment/ |access-date=14 May 2026 |website=[[Amnesty International]] |language=en |archive-url= |archive-date= |quote=Israel's unlawful and wanton destruction of civilian high-rise buildings continues to have devastating consequences for displaced Palestinian families in the occupied Gaza Strip, where reconstruction remains a distant dream amid ongoing genocide and air strikes despite the October 2025 so-called ceasefire, said Amnesty International today.}}</ref><ref>{{Cite news|date=24 June 2026|title=Israel deliberately targeting children in ongoing genocide against Palestinians, UN commission finds|url=https://edition.cnn.com/2026/06/24/middleeast/israel-targeting-children-report-un-intl|work=[[CNN]]}}</ref> ⵜⴻⴱⴷⴰ ⵜⵉⵍⵍⵉⵜ ⵏ ⵊⵉⵏⵓⵙⵉⴷ ⴰⴷ ⴰⵙⵙ ⵏ 7 ⴽⵟⵓⴱⴻⵔ 2023, ⵜⴻⵜⵜⵡⴰⵎⵎⴰⵍ ⴰⵔ ⵡⴰⵙⵙ-ⴰ. ==ⵉⵙⴰⵖⵓⵍⵏ== 0rkz4yd0tdcux47o5gedessj9a2b92h 177053 177028 2026-06-26T11:38:33Z ⴰⵏⴰⵙ ⵓⵍⵃⵍⵓ 10568 177053 wikitext text/x-wiki {{ⴰⵎⵏⵏⵉ ⵉⵙⵖⴰⵡⵙⴰⵏ ⴰⵣⵣⵔⴰⵢ}} {{ⵜⴰⴼⵍⵓⵖⵎⵉⵙⵜ ⵓⴳⴳⵉⴷ}} '''ⵊⵉⵏⵓⵙⵉⴷ ⵏ ⵖⴰⵣⵣⴰ''' ⵉⴳⴰ ⴷ ⴰⵙⵏⴳⵔ ⴰⵎⵜⵜⵉ ⵉⵜⵜⵡⴰⵙⵙⵏⵊⵏ, ⵙ ⵍⴱⵖⵉ ⴷ ⵓⵙⵏⵜⵎ ⵏ ⵓⵙⴷⵔⵎ ⵏ [[:en:Palestinians|ⵓⵖⴻⵔⴼ ⴰⴼⴻⵍⵉⵙⵟⵉⵏⵉ]] ⴳ ⵡⴰⵎⵎⴰⵙ ⵏ [[:en:Gaza_Strip|ⵡⴰⴳⴳⴰⵔ ⵏ ⵖⴰⵣⵣⴰ]], ⵉⵜⵜⵡⴰⴳⴳⴰⵏ ⵙⵖⵓⵔ [[ⵉⵙⵔⴰⵢⵉⵍ]] ⴷⴳ [[:en:Gaza_war|ⴰⵎⴻⵏⵏⵓⵖ ⵏ ⵖⴻⵣⵣⴰ]].<ref>{{cite web |date=27 November 2025 |title=Israel's genocide against Palestinians 'not over' despite ceasefire - new Amnesty briefing |url=https://www.amnesty.org.uk/press-releases/israels-genocide-against-palestinians-not-over-despite-ceasefire-new-amnesty |access-date=4 January 2026 |archive-url=https://web.archive.org/web/20251128172416/https://www.amnesty.org.uk/press-releases/israels-genocide-against-palestinians-not-over-despite-ceasefire-new-amnesty |archive-date=28 November 2025 |publisher=[[Amnesty International]] |url-status=live}}</ref><ref>{{cite news |date=28 November 2025 |last1=Segal |first1=Raz |author1-link=Raz Segal |title=The genocide in Gaza is far from over |url=https://www.theguardian.com/commentisfree/2025/nov/28/the-genocide-in-gaza-is-far-from-over |access-date=4 January 2026 |work=[[The Guardian]] |archive-url=https://web.archive.org/web/20251128115413/https://www.theguardian.com/commentisfree/2025/nov/28/the-genocide-in-gaza-is-far-from-over |archive-date=28 November 2025 |url-status=live |ref=none}}</ref><ref>{{Cite web |date=23 March 2026 |title=UN expert warns torture has become 'state doctrine' in Israel, making prisons instruments of genocide and torture |url=https://www.ohchr.org/en/press-releases/2026/03/un-expert-warns-torture-has-become-state-doctrine-israel-making-prisons |access-date=17 May 2026 |website=[[OHCHR]] |language=en |archive-url= |archive-date=}}</ref><ref>{{Cite web |last= |first= |date=8 April 2026 |title=Gaza Genocide: Children Maimed, Hunger Spreads, World Silent |url=https://easternherald.com/2026/04/08/gaza-genocide-children-hunger-global-silence/ |access-date=17 May 2026 |website=The Eastern Herald |language=en-US}}</ref><ref>{{Cite web |date=10 April 2026 |title=This is not a ceasefire: Life in Gaza continues to be suffocated six months on |url=https://www.msf.org/not-ceasefire-life-gaza-continues-be-suffocated-six-months |access-date=17 May 2026 |website=[[Médecins sans frontières]] |language=en |archive-url= |archive-date=}}</ref><ref>{{Cite web |date=11 May 2026 |title=Israel/OPT: Israel's systematic destruction of high-rise buildings must be investigated as war crimes of wanton destruction and collective punishment |url=https://www.amnesty.org/en/latest/news/2026/05/israel-opt-israels-systematic-destruction-of-high-rise-buildings-must-be-investigated-as-war-crimes-of-wanton-destruction-and-collective-punishment/ |access-date=14 May 2026 |website=[[Amnesty International]] |language=en |archive-url= |archive-date= |quote=Israel's unlawful and wanton destruction of civilian high-rise buildings continues to have devastating consequences for displaced Palestinian families in the occupied Gaza Strip, where reconstruction remains a distant dream amid ongoing genocide and air strikes despite the October 2025 so-called ceasefire, said Amnesty International today.}}</ref><ref>{{Cite news|date=24 June 2026|title=Israel deliberately targeting children in ongoing genocide against Palestinians, UN commission finds|url=https://edition.cnn.com/2026/06/24/middleeast/israel-targeting-children-report-un-intl|work=[[CNN]]}}</ref> ⵜⵙⵙⵏⵜⴰ ⵜⵉⵍⵍⵉⵜ ⵏ ⵊⵉⵏⵓⵙⵉⴷ ⴰⴷ ⴰⵙⵙ ⵏ 7 ⴽⵟⵓⴱⵕ 2023, ⵜⴻⵜⵜⵡⴰⵎⵎⴰⵍ ⴰⵔ ⴰⵙⵙ ⴰⴷ. ==ⵉⵙⴰⵖⵓⵍⵏ== oy4yqilul9mn2h10un3b72ih2v2vkfx