มอดูล:Flagg
| มอดูลนี้ขึ้นอยู่กับมอดูลอื่น ๆ ดังต่อไปนี้ |
| มอดูลนี้ถูกจัดอันดับเป็นระดับเบตา ซึ่งหมายถึงสามารถใช้งานในวงกว้างได้แล้วในระดับหนึ่ง แต่ยังใหม่และควรใช้ความระมัดระวังในการใช้งานเพื่อให้ตรงตามความต้องการและจุดประสงค์ |
| มอดูลนี้ปิดใช้งานการแก้ไขโดยผู้ใช้ใหม่หรือผู้ใช้ยังไม่มีบัญชี ดูเพิ่มที่นโยบายการป้องกันและปูมการป้องกันสำหรับรายละเอียเพิ่มเติม หากคุณไม่สามารถแก้ไขมอดูลนี้ได้และต้องการเสนอการเปลี่ยนแปลง คุณสามารถส่งคำขอแก้ไขได้ โดยแจ้งในหน้าคุยของหน้านี้ หรือแจ้งยกเลิกการป้องกัน เข้าสู่ระบบ หรือสร้างบัญชี |
{{Flagg}} (flag general) เป็นแม่แบบธงชาติที่สามารถกำหนดผลลัพธ์ที่แสดงได้ เนื่องจากแม่แบบนี้ใช้สคริปต์ภาษาลูอาจึงสามารถดัดแปลงผลลัพธ์ที่ต้องการจัดแสดงได้และสามารถแสดงผลได้แม้กระทั่งประเทศหรือองค์กรที่สมมติขึ้นมาโดยไม่จำเป็นต้องใช้ฟังก์ชันที่ซับซ้อน แม่แบบนี้ไม่ได้สร้างขึ้นมาเพื่อทดแทนแม่แบบธงชาติทั้งหมดที่มี แต่สามารถใช้จัดรูปแบบที่ซับซ้อนหรือยังไม่มีแม่แบบสร้างขึ้นมารองรับได้
พารามิเตอร์
ชื่ออื่น ๆ ที่ใช้แทนพารามิเตอร์หรือค่ากำหนดสำหรับพารามิเตอร์จะแสดงในวงเล็บเหลี่ยม
รูปแบบ (พารามิเตอร์ไม่มีชื่อตัวแรก)
พารามิเตอร์ตัวแรกคือรหัสอักษรสำหรับกำหนดรูปแบบผลลัพธ์ที่ต้องการ อักษรตัวแรกกำหนดรูปแบบรูปภาพไอคอน อักษรตัวที่สองกำหนดตัวกั้นระหว่างรูปภาพไอคอนและชื่อประเทศ และอักษรตัวที่สามกำหนดรูปแบบชื่อประเทศ สามารถใช้ได้ทั้งอักษรตัวพิมพ์เล็กและพิมพ์ใหญ่
ในกรณีที่อักษรตัวใดตัวหนึ่งหายไปหรือไม่ตรงตามข้อกำหนดที่ระบุในตารางด้านล่าง จะแสดงผลลัพธ์ตามค่าปริยาย เช่น ถ้าพารามิเตอร์ตัวแรกเป็น i i** หรือ izz จะแสดงผลแบบเดียวกับ isc
อักษรตัวแรก: รูปภาพไอคอน
| อักษร | ความหมาย | คำอธิบาย | ตัวอย่าง |
|---|---|---|---|
| u | unlinked | ภาพไม่มีลิงก์ (ค่าปริยาย) | {{flagg|uxx|France}} → |
| c | country | ภาพมีลิงก์ไปยังหน้าของประเทศหรือองค์กร | {{flagg|cxx|France}} → |
| p [f] | prefix/suffix | ภาพมีลิงก์ไปยังหน้าบทความที่เป็นชื่อประเทศรวมกับคำอุปสรรคที่กำหนด (ค่าปริยายคือ "ธงชาติ...") ซึ่งสามารถกำหนดได้โดยใช้พารามิเตอร์ |pref= และ |suff= (ดูด้านล่าง) |
{{flagg|pxx|France}} → |
| i | image page | ภาพมีลิงก์ไปยังหน้าคำบรรยายไฟล์ ควรใช้ในกรณีที่ภาพไม่ใช่สาธารณสมบัติและจำเป็นต้องระบุชื่อผู้สร้างสรรค์ไฟล์ | {{flagg|ixx|France}} → |
| d | data template | ภาพมีลิงก์ไปยังหน้าแม่แบบ Country data ของประเทศนั้นเพื่อการอภิปราย ใส่ redirect=no ให้อัตโนมัติถ้าลิงก์ไปหน้าเปลี่ยนทาง |
{{flagg|dxx|France}} → |
| x | กากบาท | ไม่มีภาพปรากฏ ถ้าอักษรตัวที่สองไม่ใช่ x และไม่ได้ตั้งค่า o เอาไว้จะแสดงภาพโปร่งใสและไม่มีลิงก์เพื่อรักษาที่ว่าง | {{flagg|xnx|France}} → |
อักษรตัวที่สอง: ตัวกั้น
| อักษร | ความหมาย | คำอธิบาย | ตัวอย่าง | |
|---|---|---|---|---|
| s | span box | ภาพธงชาติจะถูกแทรกลงในแท็ก <span> ที่กำหนดความกว้างคงที่เพื่อให้ชื่อประเทศเรียงเป็นแนวตรงในแนวตั้ง ดูเพิ่มที่แม่แบบ {{Flaglist}} (ค่าปริยาย) | {{flagg|usu|Niger}} → | |
| n | non-breaking space | ใช้ที่ว่างไม่แบ่งบรรทัด ( ) เป็นตัวกั้นเช่นเดียวกับแม่แบบธงชาติโดยส่วนใหญ่รวมทั้ง {{flag}} อย่างไรก็ตาม เบราเซอร์บางประเภทอาจยังคงแสดงผลแยกบรรทัดได้แม้ว่าจะใช้ ในกรณีนี้สามารถใช้ w ประกอบได้ |
{{flagg|unu|Niger}} → | |
| l | line break | ใช้การขึ้นบรรทัดใหม่ (<br/>) เป็นตัวกั้น |
{{flagg|ulu|Niger}} → Niger | |
| t | table cell | ใช้เส้นกั้นช่องตาราง (เครื่องหมายไพป์สองตัว) เป็นตัวกั้น | Niger | |
| x | กากบาท | ไม่มีตัวกั้น | {{flagg|uxu|Niger}} → | |
อักษรตัวที่สาม: ชื่อ
| อักษร | ความหมาย | คำอธิบาย | ตัวอย่าง |
|---|---|---|---|
| c | country | ชื่อประเทศลิงก์ไปยังหน้าของประเทศ (ค่าปริยาย) | {{flagg|xxc|Chile}} → Chile
|
| p | prefix/suffix | ชื่อประเทศลิงก์ไปยังหน้าของชื่อประเทศรวมกับคำอุปสรรคที่กำหนด (ค่าปริยายคือ "ธงชาติ...") ซึ่งสามารถกำหนดได้โดยใช้พารามิเตอร์ |pref= และ |suff= (ดูด้านล่าง) |
{{flagg|xxp|Chile}} → Chile
|
| f | full prefix/suffix | เหมือนกับ p แต่จะแสดงชื่อประเทศรวมกับคำอุปสรรคที่กำหนด | {{flagg|xxf|Chile}} → ธงชาติChile
|
| b | both country and prefix/suffix | แสดงลิงก์ชื่อประเทศและลิงก์คำอุปสรรคแยกกัน | {{flagg|xxb|Chile}} → ธงชาติChile
|
| u | unlinked (cf. {{flagu}}) | ไม่มีลิงก์ | {{flagg|xxu|Chile}} → Chile
|
| d | data template | ชื่อประเทศลิงก์ไปยังหน้าแม่แบบ Country data ของประเทศนั้นสำหรับการอภิปราย ใส่ redirect=no ให้อัตโนมัติถ้าลิงก์ไปหน้าเปลี่ยนทาง |
{{flagg|xxd|Chile}} → Chile
|
| x | กากบาท | ไม่แสดงข้อความ | {{flagg|xxx|Chile}} →
|
| * | Add * | เหมือนกับ "p" แต่มีเครื่องหมายดอกจันเพิ่ม (*) | {{flagg|xx*|Chile}} → Chile *
|
นอกจากนี้ยังมีการจัดรูปแบบอื่น ๆ ที่สามารถเลือกเพิ่มได้โดยเติมตัวอักษรเหล่านี้ต่อท้ายอักษรสามตัวแรก
| อักษร | คำอธิบาย | ตัวอย่าง |
|---|---|---|
| a | เพิ่ม (add) ชื่อประเทศเป็นข้อความแสดงแทนรูปภาพและข้อความที่ปรากฏเมื่อตัวชี้เมาส์อยู่เหนือ ถ้าใช้พารามิเตอร์ |alt= อยู่แล้วไม่ต้องกำหนดเพิ่ม |
{{flagg|uxxa|Pakistan}} → |
| b | ถ้าไม่มีธงชาติจะไม่แสดง (blank) ข้อความ | {{flagg|uncb|แดนสนธยา}} → เปรียบเทียบ: {{flagg|unc|แดนสนธยา}} → |
| e | ขยาย (expand) อักษรย่อชื่อประเทศโดยใช้ชื่อเต็มของชื่อประเทศในลักษณะเดียวกับ {{flagcountry}} | {{flagg|unue|PAK}} → |
| f | ถ้าไม่มีหน้าบทความที่ตรงกับชื่อประเทศประสมกับคำอุปสรรคจะย้อน (fallback) กลับไปยังหน้าชื่อประเทศ ตัวเลือกนี้อาจจะทำให้ใช้เวลาดาวน์โหลดนานและจำนวนครั้งที่ใช้ได้ในหนึ่งหน้าอาจจะถูกจำกัด | {{flagg|psff|Egypt|pref=การเล่นสงกรานต์ในประเทศ}} → เปรียบเทียบ: {{flagg|psf|Egypt|pref=การเล่นสงกรานต์ในประเทศ}} → |
| l | ใช้ชื่อลิงก์ (link) เป็นข้อความแสดงแทนรูปภาพและข้อความที่ปรากฏเมื่อตัวชี้เมาส์อยู่เหนือ ถ้าใช้พารามิเตอร์ |alt= อยู่แล้วไม่ต้องกำหนดเพิ่ม |
{{flagg|cxxl|PAK}} → เปรียบเทียบ: {{flagg|cxxa|PAK}} → |
| o | ไม่แสดง (omit) รูปภาพไอคอนและตัวกั้นในกรณีที่รูปภาพเป็นภาพโปร่งใส นั่นคือจะแสดงรูปภาพไอคอนก็ต่อเมื่อมีธงชาติปรากฏเท่านั้น มีประโยชน์ในกรณีที่จัดเรียงแบบแนวนอนหรือใช้ตามลำพังโดยไม่จำเป็นต้องจัดแนวชื่อให้ตรงกัน | {{flagg|unuo|Pakistan|image=}} → Pakistanเปรียบเทียบ: {{flagg|unu|Pakistan|image=}} → |
| r | สลับลำดับให้ธงชาติไปอยู่ด้านขวา (right) ในลักษณะเดียวกับ {{flagright}} ไม่มีผลต่อลำดับตัวอักษร | {{flagg|uncr|Pakistan}} → Pakistan |
| w | หลีกเลี่ยงการตัดคำ (wrapping) โดยเติม <span class="nowrap">...</span> รอบชื่อที่แสดง |
{{flagg|unuw|United Arab Emirates}} → |
| t | จัดชิดซ้ายในตาราง (table) | |
| อักษรในตารางนี้สามารถใส่ซ้อนกันได้ | {{flagg|unuewr|COD}} → สาธารณรัฐประชาธิปไตยคองโก | |
| อักษรในตารางนี้สามารถใส่สลับลำดับกันได้ | {{flagg|unuer|UAE}} → สหรัฐอาหรับเอมิเรตส์ เปรียบเทียบ: {{flagg|unure|UAE}} → สหรัฐอาหรับเอมิเรตส์ |
ประเทศหรือองค์กร (พารามิเตอร์ไม่มีชื่อตัวที่สอง)
พารามิเตอร์ตัวที่สองคือชื่อของประเทศหรือองค์กร โดยแม่แบบจะพยายามเรียกข้อมูลจากหน้า "แม่แบบ:Country data ค่าของพารามิเตอร์ตัวที่สอง" ถ้าไม่พบก็จะใช้ค่าของพารามิเตอร์นั้นเป็นชื่อประเทศและจะไม่แสดงรูปภาพไอคอน นอกจากนี้พารามิเตอร์ตัวที่สองก็จะเป็นชื่อที่ปรากฏในผลลัพธ์ถ้าไม่ได้ใช้ตัวเลือก e ในพารามิเตอร์ตัวแรก
พารามิเตอร์สำหรับรูปภาพไอคอน
|variant=[พารามิเตอร์ไม่มีชื่อตัวที่สาม]- ใช้ระบุว่าจะให้ใช้รูปธงใดจากแวเรียนต์ที่กำหนดไว้ในแม่แบบ Country data ของประเทศนั้น เช่น
{{flagg|ixx|Germany|naval}}→
จะแสดงธงจากแวเรียนต์ "naval" ใน แม่แบบ:Country data Germany |image=- กำหนดชื่อภาพโดยใส่คำว่า "File:" นำหน้าหรือไม่ก็ได้ ใช้ได้ในกรณีที่ภาพที่ต้องการไม่ปรากฏในแม่แบบ Country data หรือไม่มีแม่แบบดังกล่าว ถ้าไม่ต้องการแสดงภาพใด ๆ ให้ตั้งค่าเป็น "none" ["blank", เว้นว่าง] (เหมือนกันกับตัวเลือก x)
|size=[|sz=]- กำหนดขนาดภาพ ค่าปริยายโดยส่วนใหญ่คือ 23×15 พิกเซล โดยสามารถกำหนดขนาดเป็นพิกเซลได้ เช่น 30x20px หรือ 30x20 หรือสามารถกำหนดขนาดโดยใช้ตัวเลือก "xs" (ครึ่งหนึ่งของค่าปริยาย) "s" "m" "l" และ "xl" (สองเท่าของค่าปริยาย)
|border=- ภาพไอคอนจะแสดงเส้นขอบเป็นค่าปริยาย นอกจากว่าในแม่แบบ Country data จะกำหนดไว้เป็นอย่างอื่น ถ้าต้องการให้แสดงเส้นขอบเสมอสามารถตั้งค่า
|border=เป็น "yes" ["y", "1"] ในขณะเดียวกันถ้าไม่ต้องการให้แสดงเส้นขอบให้ตั้งค่าเป็น "no" ["n", "0", เว้นว่าง] |align=[|al=]- ในกรณีที่ใช้ตัวกั้นแบบ s หรือ t สามารถจัดให้ไอคอนชิดซ้าย "left" ["l"] กึ่งกลาง "center" ["centre", "c", "middle", "m"] หรือชิดขวา "right" ["r"] ค่าปริยายในกรณีตัวกั้นแบบ t จะให้อยู่กึ่งกลาง ส่วนค่าปริยายในกรณีตัวกั้นแบบ s จะให้อยู่ชิดซ้าย ยกเว้นถ้าใช้ตัวเลือก r ประกอบจะให้อยู่ชิดขวา
|width=[|w=]- กำหนดความกว้างของย่อหน้าสำหรับตัวกั้นแบบ s เป็นพิกเซลโดยไม่ต้องระบุ "px" ต่อท้าย ค่าปริยายจะคำนวณจากมอดูล:Flaglist/size ซึ่งขึ้นกับขนาดของภาพ
|alt=- กำหนดข้อความแสดงแทนรูปภาพและข้อความที่ปรากฏเมื่อตัวชี้เมาส์อยู่เหนือรูปภาพไอคอน ไม่จำเป็นต้องใช้พารามิเตอร์นี้ถ้าข้อความที่ต้องการเป็นข้อความเดียวกับที่ระบุในพารามิเตอร์ตัวที่สอง ในกรณีนี้ให้ใช้ a แทน
|ilink=- กำหนดลิงก์สำหรับรูปภาพไอคอนในกรณีที่ไม่สามารถลิงก์ไปยังหน้าที่ต้องการโดยใช้พารามิเตอร์ตัวแรกได้
|noredlink=no- ใช้ในกรณีที่ต้องการให้แสดงลิงก์แดงในกรณีที่ไม่มีแม่แบบ Country data ค่าปริยายคือ "yes" ซึ่งจะไม่แสดงลิงก์แดง
|missingcategory=ชื่อหมวดหมู่- เพิ่มหน้าลงในหมวดหมู่ ชื่อหมวดหมู่ ถ้าไม่มีรูปภาพธงที่ต้องการในแม่แบบ Country data
พารามิเตอร์สำหรับข้อความและลิงก์
|name=- เปลี่ยนชื่อประเทศที่แสดง ในกรณีที่ใช้ตัวเลือก f คำอุปสรรคก็จะถูกแทนที่ด้วย
|clink=[|link=]- เปลี่ยนลิงก์ไปยังหน้าบทความประเทศ สามารถใช้กำหนดคำอุปสรรคสำหรับตัวเลือก f p และ b
|pref=,|suff=,|plink=|pref=และ|suff=ใช้กำหนดคำนำหน้าและตามหลังชื่อประเทศเพื่อลิงก์ไปยังหน้าบทความที่ต้องการ (ตัวเลือก f p และ b) ในกรณีที่ไม่ได้กำหนดจะตั้งคำนำหน้าเริ่มต้นเป็น "ธงชาติ" และไม่มีคำตามหลัง สามารถใช้|plink=เพื่อเปลี่ยนลิงก์ได้เช่นกัน|the=- พารามิเตอร์นี้ใช้สำหรับวิกิพีเดียภาษาอังกฤษเนื่องจากบางประเทศจะใช้คำว่า the นำหน้าในภาษาอังกฤษ เช่น the Netherlands หรือ the Philippines ซึ่งไม่จำเป็นสำหรับวิกิพีเดียไทย แต่คงไว้เพื่อเปรียบเทียบ
|section=- ลิงก์ไปยังส่วนของบทความโดยไม่แสดงชื่อส่วนของบทความ ถ้าใช้ลิงก์แยกระหว่างบทความประเทศและบทความที่ประสมคำอุปสรรคให้ใช้
|csection=สำหรับส่วนในหน้าบทความประเทศและ|psection=สำหรับส่วนในหน้าบทความที่ประสมคำอุปสรรค |altvar=[|avar=],|age=- ใช้เลือกคำอุปสรรคที่เกี่ยวข้องกับบทความกีฬาทีมชาติและกองทัพของประเทศ รายชื่อ altvar และคำอุปสรรคที่เกี่ยวข้องโหลดมาจาก มอดูล:Flagg/Altvar data ในบางกรณีจะเปลี่ยนรูปภาพไอคอนให้เหมาะสมกับทีมชาติหรือกองทัพ เช่น
{{flagg|usp|Ireland|avar=ru}}→
Ireland จะแสดงธงประจำรักบี้ยูเนียนทีมชาติไอร์แลนด์ สำหรับทีมชาติชุดเยาวชนในกีฬาบางชนิดจะต้องกำหนดรุ่นอายุโดยใช้ |age= |nalign=[|nal=]- กำหนดการจัดตำแหน่งในช่องตาราง (สำหรับตัวกั้นแบบ t) ค่าปริยายคือชิดซ้าย ค่าอื่น ๆ ที่เป็นไปได้เหมือนกับ
|align= |text=- แสดงข้อความนี้แทนข้อความจากพารามิเตอร์อื่น ๆ ใช้ในกรณีที่จำเป็นเท่านั้น วิธีอื่นที่แนะนำคือให้ตั้งอักษรตัวที่สามในพารามิเตอร์จัดรูปแบบเป็น x (ไม่แสดงข้อความ) แล้วพิมพ์ข้อความที่ต้องการภายนอกแม่แบบ
|nodata=y- สั่งแม่แบบให้ไม่ต้องค้นหาแม่แบบ Country data
|pref2=,|suff2=,|plink2=,|psection2=- ถ้าในพารามิเตอร์จัดรูปแบบมี f เป็นตัวอักษรที่สี่หรือต่อจากนั้น (fallback) และบทความที่ประสมชื่อประเทศกับคำอุปสรรคชุดแรกไม่มีหรือยังไม่ได้สร้าง จะเปลี่ยนไปใช้คำอุปสรรคชุดถัดไป และถ้ายังไม่มีหรือไม่ได้สร้างอีกก็จะย้อนกลับมาใช้บทความชื่อประเทศ ซึ่งอาจจะทำให้หน้าใช้เวลาโหลดนาน
ตัวอย่าง
รูปแบบทั่วไป:
{{flagg|usc|Fiji}}→
Fiji (default format){{flagg||Fiji}}→
Fiji (default format){{flagg|pnbr|Fiji}}→ ธงชาติFiji
<span style="display:inline-block;text-align:center;">{{flagg|ilf|Fiji|sz=xl}}</span>→
ธงชาติFiji
การจัดรูปแบบและตำแหน่งในตาราง:
{{flagg|utu|Jamaica}} |
Jamaica | |
{{flagg|utur|Jamaica}} |
Jamaica | |
{{flagg|utu|Jamaica|al=l|nal=l}} |
Jamaica | |
{{flagg|utu|Jamaica|al=c|nal=c}} |
Jamaica | |
{{flagg|utu|Jamaica|al=r|nal=r}} |
Jamaica |
ธงชาติความกว้างพิเศษ:
{{flagg|usu|Switzerland}}→
Switzerland{{flagg|usu|Switzerland|al=l}}→
Switzerland{{flagg|usu|Switzerland|al=c}}→
Switzerland{{flagg|usu|Switzerland|al=r}}→
Switzerland{{flagg|usu|Nepal}}→
Nepal{{flagg|usu|Nepal|al=l}}→
Nepal{{flagg|usu|Nepal|al=c}}→
Nepal{{flagg|usu|Nepal|al=r}}→
Nepal
พารามิเตอร์ภาพและชื่อ:
{{flagg|isc|Myanmar}}→
Myanmar{{flagg|isc|Myanmar|border=}}→
Myanmar{{flagg|isc|Myanmar|1974}}→
Myanmar{{flagg|isc|Myanmar|variant=1974}}→
Myanmar{{flagg|isc|Myanmar|name=Burma|variant=1974}}→
Burma{{flagg|isc|Burma|variant=1974}}→
Burma{{flagg|isc|Myanmar|sz=30}}→
Myanmar{{flagg|isc|Myanmar|size=30}}→
Myanmar{{flagg|isc|Myanmar|size=30px}}→
Myanmar{{flagg|isc|Myanmar|size=30x18px}}→
Myanmar{{flagg|isc|Myanmar|size=xs}}→
Myanmar{{flagg|isc|Myanmar|size=xl}}→
Myanmar{{flagg|isc|Myanmar|width=30|size=xs}}→
Myanmar{{flagg|isc|Myanmar|image=}}→
Myanmar{{flagg|isc|Myanmar|image=Flag of None.svg}}→
Myanmar{{flagg|isc|Myanmar|image=File:Flag of None.svg}}→
Myanmar
ลิงก์และคำอุปสรรค (altvar):
{{flagg|psp|Egypt}}→
Egypt{{flagg|psf|Egypt}}→
ธงชาติEgypt{{flagg|psb|Egypt}}→
ธงชาติEgypt{{flagg|csc|Egypt|section=ประวัติศาสตร์}}→
Egypt{{flagg|csb|Egypt|csection=ประวัติศาสตร์}}→
ธงชาติEgypt{{flagg|psb|Egypt|psection=Kingdom of Egypt (1922–1953)|variant=1922}}→
ธงชาติEgypt{{flagg|psb|Egypt|plink=List of Egyptian flags}}→
ธงชาติEgypt{{flagg|psf|Egypt|pref=ประวัติศาสตร์}}→
ประวัติศาสตร์Egypt{{flagg|psp|Egypt|suff=ในโอลิมปิก}}→
Egypt{{flagg|psp|Egypt|avar=fb}}→
Egypt{{flagg|psp|Egypt|avar=football}}→
Egypt{{flagg|psp|Egypt|avar=fbu|age=20}}→
Egypt{{flagg|psf|Egypt|avar=navy}}→
Egyptกองทัพเรือ
ประเทศสมมติซึ่งไม่มีแม่แบบ country data:
{{flagg|isc|EUSSR|nodata=1}}→
EUSSR{{flagg|isc|EUSSR|image=EUSSR red flag.svg|size=xl|nodata=1}}→
EUSSR
Adding links to specialized country, state, territory articles
For example:
- List of U.S. states and territories by incarceration and correctional supervision rate
- List of countries by incarceration rate
Once you have a table with {{flaglist}} or other flag template it is easy to convert the links to specialized links. So instead of Oklahoma you would have Incarceration in Oklahoma, or if that article does not exist, then Crime in Oklahoma.
Use a global find-and-replace in the wikitext. Replace:
- {{flaglist
with
- {{flagg|us*eft|pref=Incarceration in|pref2=Crime in
The {{flagg}} template looks for the articles. If it finds one of the two choices it adds the link and an asterisk after the state, country, territory, or other subnational area name. If it does not find either article, it just adds the standard link.
Substitute your preferred topics in the pref= and pref2= spots. For more info see Help:Table and its sections on adding flags and country/state/territory links.
This particular use of {{flagg}} parameters is expensive and can only be used on a few hundred links per article. Every time the article is saved it occurs. So only one big country table per article. Other country tables in the same article should use standard links.
เปรียบเทียบกับแม่แบบอื่น
แม่แบบเฉพาะเหล่านี้มีมาก่อน Flagg ซึ่งอาจจะเร็วกว่าเพราะไม่จำเป็นต้องใช้สคริปต์ลูอา แต่ไม่มีตัวเลือกสำหรับแก้ไขลิงก์หรือภาพ
แม่แบบทั่วไป
| แม่แบบ | โค้ดสำหรับแม่แบบ {{flagg}} ที่ตรงกัน |
ตัวอย่างเปรียบเทียบ |
|---|---|---|
{{flag|country}} |
{{flagg|uncb|country}} |
{{flag|China}} → {{flagg|unc|China}} → |
{{flagbig|country}} |
{{flagg|ulc|country|sz=l}} |
{{flagbig|China}} → จีน {{flagg|ulc|China|sz=l}} → China |
{{flagc|country}} |
{{flagg|inc|country}} |
{{flagc|China}} → {{flagg|inc|China}} → |
{{flagcountry|country}} |
{{flagg|unce|country}} |
{{flagcountry|CHN}} → {{flagg|unce|CHN}} → |
{{flagdeco|country}} |
{{flagg|uxxo|country}} |
{{flagdeco|China}} → {{flagg|uxx|China}} → |
{{flagicon|country}} |
{{flagg|cxxlo|country}} |
{{flagicon|China}} → {{flagg|cxxlo|China}} → |
{{flagicon image|image}} |
{{flagg|uxx|image=image}} |
{{flagicon image|Flag of China.svg}} → {{flagg|uxx|image=Flag of China.svg}} → |
{{flaglink|country|suffix}} |
{{flagg|unp|country|suff=suffix}} |
{{flaglink|China|at the Hopman Cup}} → {{flagg|unp|China|suff=at the Hopman Cup}} → |
{{flag+link|prefix|country}} |
{{flagg|unp|country|pref=prefix}} (no existence check) |
{{flag+link|เกษตรกรรมในประเทศ|China}} → {{flagg|unp|China|pref=เกษตรกรรมในประเทศ}} → |
{{flaglist|country}} |
{{flagg|usc|country}} |
{{flaglist|China}} → {{flagg|usc|China}} → |
{{flagof|country}} |
{{flagg|unp|country|sz=l}} |
{{flagof|China}} → {{flagg|unp|China|sz=l}} → |
{{flagright|country}} |
{{flagg|uncr|country}} |
{{flagright|China}} → China {{flagg|uncr|China}} → China |
{{flagu|country}} |
{{flagg|unu|country}} |
{{flagu|China}} → {{flagg|unu|China}} → |
{{noflag|country}} |
{{flagg|xnu|country}} |
{{noflag|China}} → China{{flagg|xnu|China}} → |
{{noflag|[[country]]}} |
{{flagg|xnc|country}} |
{{noflag|[[China]]}} → China{{flagg|xnc|China}} → |
แม่แบบกีฬาทีมชาติและกองทัพ
ในที่นี้จะแสดงเฉพาะแม่แบบฟุตบอล กีฬาประเภทอื่น ๆ มีแม่แบบในลักษณะคล้ายคลึงกัน
| แม่แบบ | โค้ดสำหรับแม่แบบ {{flagg}} ที่ตรงกัน |
ตัวอย่างเปรียบเทียบ |
|---|---|---|
{{fb|country}} |
{{flagg|unpe|country|avar=fb}} |
{{fb|China}} → {{flagg|unpe|China|avar=fb}} → |
{{fb|country|align=1}} |
{{flagg|uspe|country|avar=fb|al=c}} |
{{fb|China|align=1}} → {{flagg|uspe|China|avar=fb|al=c}} → |
{{fb-big|country}} |
{{flagg|ulpe|country|avar=fb|sz=l}} |
{{fb-big|China}} → จีน {{flagg|ulpe|China|avar=fb|sz=l}} → จีน |
{{fb-rt|country}} |
{{flagg|unpre|country|avar=fb}} |
{{fb-rt|China}} → จีน {{flagg|unpre|China|avar=fb}} → จีน |
{{fbu|age|country}} |
{{flagg|unpe|country|avar=fbu|age=age}} |
{{fbu|17|China}} → {{flagg|unpe|China|avar=fbu|age=17}} → |
{{fbw|country}} |
{{flagg|unpe|country|avar=fbw}} |
{{fbw|China}} → {{flagg|unpe|China|avar=fbw}} → |
{{fbwu|age|country}} |
{{flagg|unpe|country|avar=fbwu|age=age}} |
{{fbwu|17|China}} → {{flagg|unpe|China|avar=fbwu|age=17}} → |
{{army|country}} |
{{flagg|unfe|country|avar=army}} (no automatic name override) |
{{army|China}} → {{flagg|unfe|China|avar=army}} → |
{{navy|country}} |
{{flagg|unfe|country|avar=navy}} (no automatic name override) |
{{navy|China}} → {{flagg|unfe|China|avar=navy}} → |
{{air force|country}} |
{{flagg|unfe|country|avar=air force}} (no automatic name override) |
{{air force|China}} → {{flagg|unfe|China|avar=air force}} → |
See also
- User:SiBr4/Flagg tests — extensive tests of the template's functions, which may also serve as additional examples
local titleSelf = mw.title.new(... or mw.getCurrentFrame():getTitle())
local titleCountryData = mw.title.new[[มอดูล:CountryData]]
if titleSelf.isSubpage then
local sandbox = titleSelf.subpageText:match[[^sandbox]]
if sandbox then
titleCountryData = titleCountryData:subPageTitle(sandbox)
end
end
local CountryData = require(tostring(titleCountryData))
local p = {}
function p.main(frame)
--Get input arguments
local args = require('มอดูล:Arguments').getArgs(frame,{valueFunc =
function(key,value)
if value then
value = mw.text.trim(value)
--Change empty string to nil for all args except 'image' and 'border'
if key=="image" or key=="border" or value~="" then
return value
end
end
return nil
end
})
--Call main function
return p.luaMain(frame,args)
end
function p.luaMain(frame,args)
local function emp2nil(x)
if x=="" then return nil else return x end
end
local function space2emp(x)
if string.find(x,"^%s*$") then return "" else return x end
end
local function nopx(x)
if x~=nil and (string.find(x,"^%d+$") or string.find(x,"^%d+px$")) then return string.gsub(x,"^(.*)px","%1") else return nil end
end
--Country & mode parameters
local mode = string.lower(args[1] or "usc")
local mi = string.sub(mode,1,1)
local ms = string.sub(mode,2,2)
local mn = string.sub(mode,3,3)
local me = string.sub(mode,4,-1)
local country = args[2] or ""
local countryDataCountry = country
if string.find(me, "i") then
local titleIocCountryData = mw.title.new[[มอดูล:Country alias/data]]
local IocCountryData = require(tostring(titleIocCountryData))
local iocCountryAlias = IocCountryData.countryAliases[country] or country
countryDataCountry = IocCountryData.countries[iocCountryAlias]["countrydata_name"] or IocCountryData.countries[iocCountryAlias]["name"]
end
local avar = args["avar"] or args["altvar"]
local clink = args["clink"] or args["link"]
--Get country data & altvar data
local data, alink, amap, asuf
if avar then
local age = args["age"] or ""
local aalias
amap, aalias = require("มอดูล:Flagg/Altvar data").alttable(age)
avar = string.gsub(string.lower(avar or ""),"[ -]","")
avar = aalias[avar] or avar
if not amap[avar] then error("Unknown avar") end
local apar = {altvar=amap[avar].altvar;mw=amap[avar].mw;age=amap[avar].age;variant=args["variant"] or args[3]}
data = CountryData.getcachedtable(frame, countryDataCountry, apar)
asuf = amap[avar].altlink
alink = data["link alias-"..amap[avar].altvar] or (clink or data["shortname alias"] or data.alias or country)..""..asuf
else
data = (args["nodata"] and {}) or CountryData.getcachedtable(frame, countryDataCountry, {variant=args["variant"] or args[3]})
avar = ""
amap = {[""]={altvar=""}}
end
--Name and link parameters
clink = clink or data.alias or country
local pref = args["pref"]
local suff = args["suff"] or asuf
local pref2 = args["pref2"]
local suff2 = args["suff2"]
if not pref and not suff then --Default prefix
pref = "ธงชาติ"
end
local yn_map = {[""]=0; ["0"]=0; ["no"]=0; ["n"]=0; ["1"]=1; ["yes"]=1; ["y"]=1}
local fthe = (args["pthe"] and yn_map[args["pthe"]]~=0) or (args["the"] and yn_map[args["the"]]~=0)
local nthe = (args["nthe"] and yn_map[args["nthe"]]~=0) or (args["the"] and yn_map[args["the"]]~=0)
fthe = fthe and (pref and "t" or "T").."he " or ""
nthe = nthe and (pref and "t" or "T").."he " or ""
local flink = args["plink"] or args["flink"] or alink
or clink=="" and "" or space2emp((pref or "").."")..fthe..clink..space2emp(""..(suff or ""))
local flink2
if args["plink2"] or args["flink2"] or pref2 or suff2 then
flink2 = args["plink2"] or args["flink2"] or clink=="" and "" or space2emp((pref2 or "").."")..fthe..clink..space2emp(""..(suff2 or ""))
else
flink2 = flink
end
local fsec = args["psection"] or args["section"]
local fsec2 = args["psection2"] or args["section"]
local csec = args["csection"] or args["section"]
fsec = fsec and "#"..fsec or ""
fsec2 = fsec2 and "#"..fsec2 or ""
csec = csec and "#"..csec or ""
if string.find(me,"f") then
if mw.title.new( flink ).exists == false then
if flink2 ~= flink and mw.title.new ( flink2 ).exists == true then
flink = flink2
fsec = fsec2
else
flink = clink
end
end
end
local name = args["name"]
if not name then
local cname = string.find(me,"e") and (data["name alias-"..amap[avar].altvar] or data["shortname alias"] or data.alias) or country
if mn == "f" then
name = cname=="" and "" or space2emp((pref or "").."")..nthe..cname..space2emp(""..(suff or ""))
else
name = cname
end
end
--Image parameters
local pimage = args["image"]
local placeholder = "Flag placeholder.svg"
local variant = args["variant"] or args[3] or ""
local image_map = {[""]=placeholder; ["none"]=placeholder; ["blank"]=placeholder}
if pimage then --Remove namespace
pimage = string.gsub(pimage,"^[Ff][Ii][Ll][Ee]:","")
pimage = string.gsub(pimage,"^[Ii][Mm][Aa][Gg][Ee]:","")
end
local iname = image_map[pimage] or pimage
local size = args["size"] or args["sz"]
local size_map = {xs="12x8px"; s="17x11px"; m="23x15px"; l="32x21px"; xl="46x30px"}
if size==nil or string.find(size,"^%d*x?%d+px$") then
--valid EIS size (..px, x..px or ..x..px) or unset
elseif string.find(size,"^%d*x?%d+$") then --EIS size without "px" suffix
size=size.."px"
else --size from map, or invalid value
size = size_map[size] or nil
end
local border = args["border"]
if iname then
size = size or "23x15px"
if yn_map[border]==0 then border = "" else border = "|border" end
else
iname = data["flag alias-"..amap[avar].altvar.."-"..variant] or data["flag alias-"..variant] or data["flag alias-"..amap[avar].altvar] or data["flag alias"] or placeholder
size = size or emp2nil(data.size) or "23x15px"
if border then
if yn_map[border]==0 then border = "" else border = "|border" end
else
local autoborder = data["border-"..variant] or data["border-"..amap[avar].altvar] or data.border
if autoborder and autoborder~="border" then border = "" else border = "|border" end
end
end
local am = ""
if args["alt"] or string.find(me,"a") then
am = args["alt"] or args["name"] or country
am = am.."|"..am
end
--Build display name
local text = args["text"]
if not text then
if mn=="x" then --no text
text = ""
elseif mn=="p" or mn=="f" or mn == "*" then --prefix/suffix link
text = flink=="" and name or "[["..flink..fsec.."|"..name.."]]"
-- By the principle of least surprise, there should be some
-- indication that the link [[X of Country|Country]] does not
-- go to [[Country]].
if mn == "*" and clink ~= flink then
text = text:sub(1, -3) .. "\226\128\175*]]" end
elseif mn=="l" then --display link target
text = flink=="" and name or "[["..flink..fsec.."|"..(args["name"] or flink).."]]"
elseif mn=="b" then --both prefix/suffix and normal country link
local preflink = pref and (flink=="" and pref.."" or "[["..flink..fsec.."|"..pref.."]]") or ""
local sufflink = suff and (flink=="" and ""..suff or "[["..flink..fsec.."|"..suff.."]]") or ""
local namelink = (name=="" and "" or nthe)..(clink=="" and name or "[["..clink..csec.."|"..name.."]]")
text = preflink..namelink..sufflink
elseif mn=="d" then --data template
local title = mw.title.new("Template:Country data "..country)
--check if redirect
if title.isRedirect then
text = "<span class=\"plainlinks\">["..title:fullUrl("redirect=no")..""..name.."]</span>"
else
text = "[["..title.fullText.."|"..name.."]]"
end
elseif mn=="u" then --unlinked
text = name
elseif mn=="a" then --abbr
text = name==country and (clink==country and country or "<abbr title='"..clink.."'>"..country.."</abbr>") or ("<abbr title='"..name.."'>"..country.."</abbr>")
else --country link (default)
text = clink=="" and name or "[["..clink..csec.."|"..name.."]]"
end
if string.find(me,"p") then
text = "("..text..")"
end
end
if type(text) == 'function' then
text = text(data)
end
--Define separator
local separator = " "
if ms=="x" then --no separator
separator = ""
elseif ms=="l" then --line break
separator = "<br />"
end
--Add preftext, if used
local preftext = args["preftext"]
if (preftext or "") ~= "" then
text = preftext..separator..text
end
--Build image
local ilink = args["ilink"]
if not ilink then
if mi=="x" or (iname==placeholder and pimage~=placeholder) then --no image/invisible image
iname = placeholder
border = ""
ilink = "|link="
am = ""
elseif mi=="i" then --image page link
ilink = ""
elseif mi=="c" then --country link
ilink = "|link="..clink..(clink=="" and "" or csec)
elseif mi=="p" or mi=="f" then --prefix/suffix link
ilink = "|link="..flink..(flink=="" and "" or fsec)
elseif mi=="d" then --data template
local title = mw.title.new("Template:Country data "..country)
--check if redirect
if title.isRedirect then
ilink = "|link="..title:fullUrl("redirect=no")
else
ilink = "|link="..title.fullText
end
else --unlinked (default)
ilink = "|link="
end
end
if am == "" and string.find(me,"l") then
am = mw.ustring.sub(ilink,7,-1)
end
local image = "[[File:"..iname.."|"..size..border..ilink.."|alt="..am.."]]"
if iname==placeholder then
if require('มอดูล:yesno')(args["noredlink"]) == false or args["noredlink"] == "notext" then
if country ~= '' and data.alias == nil then
iname = ''
image = "[[:Template:Country data "..country.."]]"
if args["noredlink"] == "notext" then
text = ''
end
end
end
if (args["missingcategory"] or '') ~= '' then
image = image..args["missingcategory"]
end
if string.find(me,"b") then
text = ''
end
end
--Combine image and name with separator
local align_map = {left="left", l="left", center="center", centre="center", c="center", middle="center", m="center", right="right", r="right"}
local align = align_map[args["align"] or args["al"]]
local nalign = align_map[args["nalign"] or args["nal"]]
local out
if string.find(me,"r") then
--image right of name
if (ms=="x" and mi=="x") or (string.find(me,"o") and iname==placeholder and pimage~=placeholder) then --name only
out = text
elseif ms=="x" or ms=="n" or ms=="l" then --no separator, non-breaking space, or line break
out = text.."<span class=\"flagicon nowrap\">"..separator..image.."</span>"
elseif ms=="t" then --table cell
out = "style=\"text-align:"..(nalign or "left").."\"|"..text.."||style=\"text-align:"..(align or "center").."\"|<span class=\"flagicon\">"..image.."</span>"
else --fixed-width span box (default)
local width = args["width"] or args["w"] or require("มอดูล:Flaglist").luawidth(size)
out = text.."<span class=\"nowrap\"> <span class=\"flagicon\" style=\"display:inline-block;width:"..width.."px;text-align:"..(align or "right").."\">"..image.."</span></span>"
end
else --image left of name
if (ms=="x" and mi=="x") or (string.find(me,"o") and iname==placeholder and pimage~=placeholder) then --name only
out = text
elseif ms=="x" or ms=="n" or ms=="l" then --no separator, non-breaking space, or line break
out = "<span class=\"flagicon\">"..image..separator.."</span>"..text
elseif ms=="t" then --table cell
out = "style=\"text-align:"..(align or "center")..";\"|<span class=\"flagicon\">"..image.."</span>||style=\"text-align:"..(nalign or "left").."\"|"..text
else --fixed-width span box (default)
local width = nopx(args["width"] or args["w"]) or require("มอดูล:Flaglist").luawidth(size)
out = "<span class=\"nowrap\"><span class=\"flagicon\" style=\"display:inline-block;width:"..width.."px;text-align:"..(align or "left").."\">"..image.."</span> </span>"..text
end
end
-- align in table
if me:find("t") then
out = 'style="text-align:'..(align or 'left')..'"|'..out
end
--Tracking categories
local cat = ""
if pimage and not image_map[pimage] and country~="" and data["flag alias"] and not args.demo then
cat = "[[Category:Pages using Flagg with specified image instead of data template image]]"
end
return out..cat
end
p[''] = p.main
return p