Βικιπαίδεια pntwiki https://pnt.wikipedia.org/wiki/%CE%91%CF%81%CF%87%CE%B9%CE%BA%CF%8C%CE%BD_%CF%83%CE%B5%CE%BB%CE%AF%CE%B4%CE%B1 MediaWiki 1.46.0-wmf.7 first-letter Μέσον Ειδικόν Καλάτσεμαν Χρήστες Καλάτσεμαν χρήστε Βικιπαίδεια Βικιπαίδεια καλάτσεμαν Αρχείον Καλάτσεμαν αρχείονος MediaWiki MediaWiki talk Πρότυπον Καλάτσεμαν πρότυπι Βοήθειαν Καλάτσεμαν βοήθειας Κατηγορίαν Καλάτσεμαν κατηγορίας TimedText TimedText talk Module Module talk Event Event talk Αρχικόν σελίδα 0 28 35744 31879 2024-09-27T03:17:38Z Amire80 164 NOTOC 35744 wikitext text/x-wiki __NOTOC__ <div align="center" style="font-size:25pt; line-height:1em;">Η Βικιπαίδεια σα Ποντιακά</div> <div align="center" style="font-size:15pt; line-height:1em;">τα Ρωμαίικα τη Πόντονος</div> <div align="center" style="font-size:12pt; line-height:1,3em;">'''''Ανοιχτόν εγκυκλοπαίδεια ντο γράφκεται και τρανείν ας ατείντς πη θέλνε.'''''</div> <!-- ------------ --> {| cellpadding="0" cellspacing="0" | valign="top" width="48%" style="background:#f5fffa; border: 1px solid #cef2e0" | {| cellspacing="10" style="background:transparent; font-family: Verdana, Arial, Helvetica, sans-serif;" |----------------------------------------- | style="text-align:center; padding:4px; font:bold 17px Georgia,serif; letter-spacing:3px; border-bottom: 1px solid #ccc;background-color:#cef2e0" | <span style="float: left; margin:0px; ">[[Image:Comedyicon.svg|25px|]]</span> ΚΑΛΩΣ ΕΡΘΕΤΕΝ... |----------------------------------------- | style="text-align:left" | ...σην [[Βικιπαίδεια|Βικιπαίδειαν]]. '''Μαθέστεν''' πολλά για τ'ατέν δεβάζοντας τα [[Βικιπαίδεια:Πολλά ερωτήσεις|πολλά ερωτήσεις]] και την [[Βικιπαίδεια/Βοήθεια|βοήθειαν]]. Ο αριθμόν ασά σελίδας τη ποντιακής τη Βικιπαίδειας ατώρα εν '''[[Ειδικόν:Statistics|{{NUMBEROFARTICLES}}]]'''. Βοηθέστεν για να εφτάτεν ατέναν κι άλλο τρανέσαν. Γράψτεν τα νουνίζματα και τ' ιδέας'εσούν σην [[Βικιπαίδεια:Αγορά|αγοράν]] και δεβάστεν [[Βικιπαίδεια:Ντο 'κ εν η Βικιπαίδεια|ντο κ' εν η Βικιπαίδεια]]. |----------------------------------------- | style="text-align:center; padding:0px; padding-top: 4px; font:bold 17px Georgia,serif; letter-spacing:3px; border-bottom: 1px solid #ccc; background:#cef2e0" | <span style="float: left; margin:0px; ">[[Image:Open bible 01 01.svg|25px|]]</span> ΔΕΒΑΣΤΕΝ ΚΑΙ ΜΑΘΕΣΤΕΝ |----------------------------------------- | {{arthron}} |----------------------------------------- | style="text-align:center; padding:0px; padding-top: 4px; font:bold 17px Georgia,serif; letter-spacing:3px; border-bottom: 1px solid #ccc; background:#cef2e0" | <span style="float: left; margin:0px; ">[[Image:Feather writing.png|25px|]]</span> ΧΑΠΕΡΑΙ |----------------------------------------- | {{Πρότυπον:Χαπέραι}} |----------------------------------------- |} | valign="top" width="48%| {| cellspacing="10" style="background:#f5faff; border: 1px solid #cedff2" |----------------------------------------- | style="text-align:center; padding:4px; font:bold 17px Georgia,serif; letter-spacing:3px; border-bottom: 1px solid #ccc;background-color:#cedff2" |ΠΡΟΣΚΑΛΕΣΜΑΝ ΓΙΑ ΤΟ ΕΡΓΟΝ ΑΤΟ |----------------------------------------- | style="text-align:left" | Βοηθέστεν την Βικιπαίδειαν. Βάλτεν και σεις ατά ντο εξέρετεν, αέτς για να τρανείν η εγκυκλοπαίδεια. *Εάν ευρήκετεν γραφόμενα ντο κ' είναι σωστά κι αν έςχετε σον νούν'εσουν τα σωστά, ποίστεν ατό κι άλλο καλλίον. *Εάν εγνωρίζετε καλά καινούραι πράματα, αρχίστεν άλλο γράψιμον. *Η αντιγραφή ασ' άλλα γλώσσας ίνεται. |----------------------------------------- | style="text-align:center; padding:4px; font:bold 17px Georgia,serif; letter-spacing:3px; border-bottom: 1px solid #ccc;background-color:#cedff2" |<span style="float: left;">[[Image:P literature.svg|25px|]]</span>ΕΓΚΥΚΛΟΠΑΙΔΕΙΑ |----------------------------------------- | style="text-align:center;font-weight: bold; font-size: 13px;background-color:#cedff2" | Ο Κατάλογον με τα θέματα |----------------------------------------- | {| style="font-size: 12px; background:#f5faff" cellspacing="0" cellpadding="3" | width="50%" | [[Image:P parthenon.svg|40px|left]] <big>[[:Category:Πολιτισμόν|Πολιτισμός]]</big><br> [[:Category:Αρχιτεκτονικήν|Αρχιτεκτονική]] &middot; [[:Category:Ζωγραφικήν|Ζωγραφική]] &middot; [[:Category:Γλυπτικήν|Γλυπτική]] &middot; [[:Category:Θέατρον|Θέατρον]] &middot; [[:Category:Λογοτεχνίαν|Λογοτεχνία]] &middot; [[:Category:Ποιητικήν|Ποίηση]] &middot; [[:Category:Μουσική|Μουσική]] &middot; [[:Category:Χορός|Χορόν]] &middot; [[:Category:Κινηματογράφον|Κινηματόγραφον]] &middot; [[:Category:Φωτογραφίαν|Φωτογραφία]] &middot; [[:Category:Κόμιξ|Κόμιξ]] &middot; [[:Category:Αθλητισμός|Αθλητισμός]] &middot; [[:Category:Μυθολογίαν|Μυθολογία]] &middot; [[:Category:Θρησκείαν|Θρησκεία]] [[Image:P countries.png|40px|left]] <big>[[:Category:Γεωγραφίαν|Γεωγραφία]]</big><br/> [[Ασίαν|Ασία]] &middot; [[Αφρικήν|Αφρική]] &middot; [[Ευρώπην|Ευρώπη]] &middot; [[Αμερικήν|Αμερική]] &middot; [[Ωκεανίαν|Ωκεανία]] &middot; [[Ανταρκτικήν|Ανταρκτική]] &middot; [[Αρκτικήν|Αρκτική]] &middot; [[:Category:Πολιτείας|Πολιτείας]] &middot; [[:Category:Κράτη|Κράτη]] &middot; [[:Category:Θάλασσας|Θάλασσας]] &middot; [[:Category:Ποτάμαι|Ποτάμαι]] &middot; [[:Category:Νησία|Νησία]] &middot; [[:Category:Ραχία|Ραςχία]] [[Image:P history.png|40px|left]] <big>[[:Category:Ιστορίαν|Ιστορία]]</big><br/> [[:Category:Παλαιόν Ιστορίαν|Παλαιόν Ιστορία]] &middot; [[:Category:Ρωμανίαν|Ρωμανία/Βυζάντιον]] &middot; [[:Category:Ευρωπαϊκόν Ιστορίαν|Ευρωπαϊκόν Ιστορία]] &middot; [[:Category:Πολέμ|Πολέμ]] &middot; [[:Category:Ρωμαϊκόν Αυτοκρατορίαν|Ρωμαϊκόν Αυτοκρατορία]] &middot; [[:Category:Καινούρ' Ιστορίαν|Καινούρ' Ιστορία]] [[Image:P physics.png|40px|left]] <big>[[:Category:Επιστήμην|Επιστήμη]]</big><br/> [[:Category:Μαθηματικά|Μαθηματικά]] &middot; [[:Category:Φυσικήν|Φυσική]] &middot; [[:Category:Χημείαν|Χημεία]] &middot; [[:Category:Βιολογίαν|Βιολογία]] [[Image:P writing.svg|40px|left]] <big>[[Γραμματικήν|Γραμματική]]</big><br/>[[Ουσιαστικόν|Ουσιαστικόν]] &middot; [[Επίθετον|Επίθετον]] &middot; [[Ρήμαν|Ρήμα]] &middot; [[Επίρρημαν|Επίρρημα]] &middot; [[Σύνδεσμον|Σύνδεσμος]] &middot; [[Πρόθεσην|Πρόθεση]] &middot; [[Αντωνυμίαν|Αντωνυμία]] &middot; [[Άρθρον|Άρθρον]] &middot; [[Αριθμητικόν|Αριθμητικόν]] &middot; [[Επιφώνημαν|Επιφώνημαν]] &middot; [[Λεχτικόν]] [[Image:P wiki letter w.svg|40px|left]] <big>[[Βικιπαίδεια|Βικιπαίδεια]]</big><br/> [[Βικιπαίδεια:Αγορά|Αγορά]] &middot; [irc://irc.freenode.net/wikipedia-pnt Παρακάθ σο IRC] &middot; [[Βικιπαίδεια:Βοήθεια|'''Βοήθεια''']] &middot; [[Βικιπαίδεια:Αργαστέρ|'''Εργαστήριον''']] &middot; <br />[[Βικιπαίδεια:Ντο εν η Βικιπαίδεια|Ντο εν η Βικιπαίδεια]] &middot; [[Βικιπαίδεια:Ντο 'κ εν η Βικιπαίδεια|Ντο κ' εν η Βικιπαίδεια]] &middot; [[Βικιπαίδεια:Δικαιώματα πνευματί|Aχουλί δικαιώματα]] &middot; [[Βικιπαίδεια:Ποντιακόν γράψιμον|Ποντιακόν γράψιμον]] &middot; [[Βικιπαίδεια:Λεχτικόν]] &middot; [[Βικιπαίδεια:Νέον λεχτικόν|Νέον λεχτικόν]] &middot; [[Βικιπαίδεια:Γραμματικήν|Γραμματική]] |} <!-- <div style="float: right;"><small>[{{SERVER}}{{localurl:Πρότυπο:Θεματικός κατάλογος|action=edit}} Επεξεργασία]</small></div>--> |------------------------------------ |} |} {{:Άλλα έργα}} [[als:]] [[id:]] [[bg:]] [[bs:]] [[ca:]] [[cs:]] [[da:]] [[de:]] [[el:]] [[en:]] [[es:]] [[et:]] [[eo:]] [[fr:]] [[fy:]] [[gl:]] [[he:]] [[hr:]] [[it:]] [[ja:]] [[ko:]] [[ku:]] [[la:]] [[lb:]] [[li:]] [[hu:]] [[nl:]] [[no:]] [[nn:]] [[nds:]] [[pl:]] [[pt:]] [[ro:]] [[ru:]] [[sk:]] [[sl:]] [[sr:]] [[sh:]] [[fi:]] [[sv:]] [[tr:]] [[uk:]] [[zh:]] [[zh-classical:]] m4qdlqff9g7uvhhzt4jhblqbhp1n33r 10 Σταυρί 0 30 37224 37156 2025-12-16T18:50:16Z Εὐθυμένης 2777 37224 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[9 Σταυρί]] | [[10 Σταυρί]] | [[11 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''10 Σταυρί''' εν 253ον [[ημέρα]] τη [[χρονία|χρονίας]], ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 254ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 112 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[10 Αλωναρί]] - [[10 Τρυγομηνά]] {{Μήνας‎}} <!--Categories--> [[Κατηγορίαν:Ημέρας τη χρονίας|0910]] hvtep6x0xau72u67o1bzgmvtkyzek9o 11 Σταυρί 0 96 37225 37161 2025-12-16T18:50:30Z Εὐθυμένης 2777 37225 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[10 Σταυρί]] | [[11 Σταυρί]] | [[12 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''11 Σταυρί''' εν 254ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 255ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 111 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[11 Αλωναρί]] - [[11 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0911]] k79jwbia0xug09e33gnsqztgn8e8522 12 Σταυρί 0 97 37226 37155 2025-12-16T18:50:50Z Εὐθυμένης 2777 37226 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[11 Σταυρί]] | [[12 Σταυρί]] | [[13 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''12 Σταυρί''' εν 255ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 256ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 110 ημέρας για να τελούτεν η χρονία. [[1225]]: Πόντιον εξαφανίζετ == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[12 Αλωναρί]] - [[12 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0912]] 8qrq9zdcom8q376sn7aemqzum8hp7n8 13 Σταυρί 0 98 37227 37157 2025-12-16T18:51:05Z Εὐθυμένης 2777 37227 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[12 Σταυρί]] | [[13 Σταυρί]] | [[14 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''13 Σταυρί''' εν 256ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 257ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 109 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[13 Αλωναρί]] - [[13 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0913]] hj6cxkuo0w55y47roudrobggcwqibb3 14 Σταυρί 0 99 37228 37168 2025-12-16T18:51:19Z Εὐθυμένης 2777 37228 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[13 Σταυρί]] | [[14 Σταυρί]] | [[15 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''14 Σταυρί''' εν 257ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 258ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 108 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == * 2000 - Ο [[Γεώργιος Καρατζαφέρης|Γιωρίκας ο Καρατζαφέρτς]] εποίκε το κόμμα τη [[ΛΑΟΣ|ΛΑΟΝΟΣ]]. == Εγεννέθαν == * 1956 - [[Κωνσταντίνος Καραμανλής]], ασα 2004 τη χρονίαν εν ο [[Πρωθυπουργόν]] τ' [[Ελλάδα|Ελλάδας]]. * 1969 - [[Κώστας Κουκοδήμος]], βουλευτής (ΝΔ) σην Πιερίαν τη [[Μακεδονία|Μακεδονίας]] και παλεός αγωνιστέας σο λάνγκεμα τη αγώνων τη σταδί. == Αποθάναν == * 2001 - [[Στέλιος Καζαντζίδης]], Έλλενας τραγουδοποιός. == Έξεργος == [[Εικόναν:Sazonov. Elena and Konstantin.jpg|thumb|«Κωνσταντίνος κι Ελένε», {{polytonic|Ὕψωσις τοῦ Τιμίου Σταυροῦ}}. Εζωγράφσεν ατό ο Wassily Sazonov σα 1870.]] * [[Ορθόδοξον Εγκλεσία|Ορθόδοξον]] και Ρωμαιοκαθολικόν Εγκλεσίαν: {{polytonic|Ὕψωσις τοῦ Τιμίου Σταυροῦ}} (σα 326 τη χρονίαν). * Σ' [[Αρχαίον Ελλάδαν|αρχαίον]] [[Ελλάδα|Ελλάδαν]]: Ερχίνεναν τα {{polytonic|Ἐλευσίνια Μυστήρια}}. '''Τερέστεν πα:''' * [[14 Αλωναρί]] - [[14 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0914]] 92pv36lmjaekfe9pgzs6s48zlff39wr 15 Σταυρί 0 100 37229 37159 2025-12-16T18:51:33Z Εὐθυμένης 2777 37229 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[14 Σταυρί]] | [[15 Σταυρί]] | [[16 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''15 Σταυρί''' εν 258ον ημέρα τη χρονίας, άμον ντο λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 259ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 107 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[15 Αλωναρί]] - [[15 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0915]] 7menbzungxo25a2mxubwav5djsx306e 1 Σταυρί 0 101 37160 37150 2025-12-16T18:47:44Z Εὐθυμένης 2777 (By [[meta:Indic-TechCom/Tools|FindAndReplace]]) 37160 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[31 Αλωναρί]] | [[1 Σταυρί]] | [[2 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''1 Σταυρί''' εν 244ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 245ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 121 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[1 Αλωναρί]] - [[1 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0901]] nfa5ncsxjf9t8nbi3vfsoglv4b984af 23 Σταυρί 0 102 37237 37162 2025-12-16T18:59:28Z Εὐθυμένης 2777 37237 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[22 Σταυρί]] | [[23 Σταυρί]] | [[24 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''23 Σταυρί''' εν 266ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 267ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 99 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == * 2007 - Εχπάστεν και έντονεν το τέστ τη [[Ποντιακά Βικιπαίδεια|Ποντιακού Βικιπαίδειας]]. == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[23 Αλωναρί]] - [[23 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0923]] 5c085g4p3fj6jnnab0wblezhxrmu5xe 2 Σταυρί 0 103 37165 37151 2025-12-16T18:47:44Z Εὐθυμένης 2777 (By [[meta:Indic-TechCom/Tools|FindAndReplace]]) 37165 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[1 Σταυρί]] | [[2 Σταυρί]] | [[3 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''2 Σταυρί''' εν 245ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 246ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 120 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[2 Αλωναρί]] - [[2 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0902]] hpvabu20uxvvufdsx8ilsoaij14nxyg 3 Σταυρί 0 104 37158 37152 2025-12-16T18:47:44Z Εὐθυμένης 2777 (By [[meta:Indic-TechCom/Tools|FindAndReplace]]) 37158 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[2 Σταυρί]] | [[3 Σταυρί]] | [[4 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''3 Σταυρί''' εν 246ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 247ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 119 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[3 Αλωναρί]] - [[3 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0903]] lkc5eyqu71xj6auu2ezw8g7u8kmkrwj 4 Σταυρί 0 105 37154 37153 2025-12-16T18:44:27Z Εὐθυμένης 2777 37154 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[3 Σταυρί]] | [[4 Σταυρί]] | [[5 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''4 Σταυρί''' εν 247ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 248ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 118 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[4 Αλωναρί]] - [[4 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0904]] qimbs2xq4dnh34zi3c74mf8bt57hg65 5 Σταυρί 0 106 37219 37163 2025-12-16T18:49:02Z Εὐθυμένης 2777 37219 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[4 Σταυρί]] | [[5 Σταυρί]] | [[6 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''5 Σταυρί''' εν 248ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 249ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 117 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[5 Αλωναρί]] - [[5 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0905]] 7nqs8qizgp7rith1slvtnucxzwec94e 6 Σταυρί 0 107 37220 37164 2025-12-16T18:49:16Z Εὐθυμένης 2777 37220 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[5 Σταυρί]] | [[6 Σταυρί]] | [[7 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''6 Σταυρί''' εν 249ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 250ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 116 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[6 Αλωναρί]] - [[6 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0906]] k7v9lqtoi7x94qccmdnyoksj9cyvq6c 7 Καλανταρί 0 108 37291 37033 2025-12-16T19:19:18Z Εὐθυμένης 2777 37291 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[6 Καλανταρί]] | [[7 Καλανταρί]] | [[8 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''7 τη Καλανταρί''' εν 7ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 358 ημέρας για να τελούτεν η χρονία (359 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == * [[2009]] - Σο [[meta:Main_Page|Meta-Wiki]] εδέκανε την [[meta:Requests for new languages/Wikipedia Pontic|έγκρισην]] για να ίνετεν το ποντιακόν η [[Βικιπαίδεια]]. == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[7 Χριστουγενναρί]] - [[7 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0107]] 7bs7x7subnxhbds44j7z5l4rwj9drdi 7 Μαρτί 0 109 37318 37028 2025-12-16T19:27:51Z Εὐθυμένης 2777 37318 wikitext text/x-wiki <div class="center">[[Καλαντάρτς]] | [[Κούντουρος]] | '''[[Μαρτς]]''' | [[Απρίλτς]] | [[Καλομηνάς]]</div> <div class="center">[[6 Μαρτί]] | [[7 Μαρτί]] | [[8 Μαρτί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|3}} '''7 Σταυρί''' εν 66ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 67ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 299 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == * 2008 - Ση Ποντιακή Βικιπαίδεια εχτέθεν καινούρεον [[Βικιπαίδεια:Αγορά|αγοράν]]. == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[7 Κούντουρονος]] - [[7 Απρίλ]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0307]] hm2bou3jr8hbe361laa2mmtd74c8ra7 7 Σταυρί 0 110 37221 37189 2025-12-16T18:49:33Z Εὐθυμένης 2777 37221 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[6 Σταυρί]] | [[7 Σταυρί]] | [[8 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''7 Σταυρί''' εν 250ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 251ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 115 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[7 Αλωναρί]] - [[7 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0907]] sfllaqmfyhkbwjd5s88fjoc09wd5aet 8 Σταυρί 0 111 37222 37178 2025-12-16T18:49:47Z Εὐθυμένης 2777 37222 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[7 Σταυρί]] | [[8 Σταυρί]] | [[9 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''8 Σταυρί''' εν 251ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 252ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 114 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[8 Αλωναρί]] - [[8 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0908]] fqw4zjkxoj7j0qicjqynj2au2wf07r7 9 Σταυρί 0 112 37223 37182 2025-12-16T18:50:01Z Εὐθυμένης 2777 37223 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[8 Σταυρί]] | [[9 Σταυρί]] | [[10 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''9 Σταυρί''' εν 252ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 253ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 113 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[9 Αλωναρί]] - [[9 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0909]] tldr0qji46kbybfpxpn8hh69dqovy9s Πρότυπον:Arhikon selida 10 113 33570 33258 2018-01-26T14:27:59Z Hugo.arg 153 Ο Hugo.arg μετακίνησε τη σελίδα [[Arhikon selida]] στην [[Πρότυπον:Arhikon selida]] 33570 wikitext text/x-wiki <center><big>'''Ελλενικά''': Τερέστε αδακά ντο χτίετεν : [[Αρχείον:Wikipedia-logo-pnt.png|25px]] '''[[Αρχικόν σελίδα|<big>Η Βικιπαίδεια σα Ποντιακά</big>, «τα Ρωμαίικα τη Πόντονος»]]'''</big></center> <center><big>'''Latinika''': Tereste adaka nto htieten : [[Αρχείον:Wikipedia-logo-pnt.png|25px]] '''[[Ke me latinikus haraktires|<big>İ Vikipedia sa Pontiaka</big>, «ta Romeika ti Pontonos»]]'''</big></center> [[Κατηγορίαν:Wp/pnt|Arxikon selida]] 5t9t6inaa25i5b89bloakg34ldcqpjh Arxikon selida 0 114 33572 883 2018-01-28T01:17:46Z Xqbot 449 Ρομπότ: Διόρθωση διπλής ανακατεύθυνσης σε [[Πρότυπον:Arhikon selida]] 33572 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Πρότυπον:Arhikon selida]] deyv5xg7tp2g3yukdtaqzat7f0njlc3 BMW Isetta 0 115 35444 34324 2023-07-17T00:01:30Z InternetArchiveBot 8521 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 35444 wikitext text/x-wiki [[Αρχείον:Isetta dwergauto.gif|thumb|BMW Isetta]] Το '''BMW Isetta''' έτον πολλά μικρόν [[αραπάν]] ντ' εποίκενατο η φίρμα [[BMW]]. == Ιστορία == Όντες ο δεύτερον ο τρανόν ο πόλεμος ετελέθεν η φίρμα είχεν τρανά προβλήματα με τα παράδας. Οι φάμπρικεσατς εχάθαν σον πόλεμον κι ότ' επέμνεν, επαίρανατο οι νικητές. Ατότες ένας τρανός τη BMW είδεν την Isetta σο ''Σαλόνι Αραπαδίων τη Τορίν''' (''Salone dell'automobile di Torino'') κι επαίρεν τα δικαιώματα για την κατασκευήνατς στην [[Γερμανία|Γερμανίαν]]. Σα 1955 και σα 1962 τα χρονίας απές, η BMW εποίκεν 161.728 ''Motocoupé'', άμον ντ' έλεγαν την Isetta. == Τεχνολογία == Σην αρχήν εποίκανατο με 12 PS (250 cm³) κι επεκεί και με 13 PS (300 cm³). == Συνδέζμαι == * [[Αρχείον:Commons-logo.svg|13px]] '''[[:el:commons:BMW Isetta|Η BMW Isetta σα Commons]]''' * http://www.isetta.de * [https://web.archive.org/web/20080412010642/http://www.kress.de/cont/spot.php?spot=119 Ιστορικόν ρεκλάμα για την Ιζέτα] [[Κατηγορίαν:Αραπάδας|BMW Isetta]] jclonyydg2xke1dao4wfx1odgwnqaev MOS Technology 6502 0 116 31458 30933 2013-03-11T10:25:15Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 1 interwiki links, now provided by [[d:|Wikidata]] on [[d:q255528]] [[M:User:Addbot/WDS|(translate me)]] 31458 wikitext text/x-wiki [[Εικόναν:MOS 6502AD 4585 top.jpg|thumb|Προσέσορας MOS 6502]] Ο '''MOS Technology 6502''' εν μικροπροσέσορας τη 8 bit τη [[MOS Technology|MOS Technology, Inc.]], ντ’ εξέβεν σην αγοράν σα 1975 τη χρονίαν και είχεν τρανόν επιτυχίαν. Αιτίαν για την επιτυχίαν ατ’ έτον η απλότηταν ατ’ με το καλόν τη δουλείαν ντ’ εποίνε και το χαμελόν την τιμήν ατ’ εντάμαν. Εκείνα τα χρόναι έτον ασ’ ουλτς φθηνόν προσέσορας, κι άλλο φθηνόν δηλαδή ασα τρανά τα προσεσόρεα τη [[Intel]] και τη [[Motorola]]. Τον 6502 εδούλεψανατον σε πολλα τ’ οσπιτί κομπιούτερ (home computer, λ.χ. τοι Commodore [[VIC-20]], [[PET 2001]], [[Atari 800 XL]], [[Apple II]] και [[BBC Micro]]). == Γενικά == Τον 6502 εποίκανατον σο σχέδιον τη [[Motorola 6800]] απάν. Σα ''instruction set'' ατούν τα δυο τα προσεσόρεα μοιάζνε τ’έναν με τ’άλλο, άμα για 16-bit ''register'' ο 6502 εχ δυο τη 8 bit. Για τατό τα προγράμματα τη 6502 έχνε διαφορετικόν στιλ: για τα arrays ασα 256 bytes κι απάν θα πρέπ να ίνουνταν κι άλλο προγραμματισμός. Ας σ’ αλλ’ την μερέαν πα, τα προσεσόρεα τη 8 bit δουλεύνε τ’ αξίας τη 8 bit κι άλλο αληγορτά. Οσήμερον (2008) ο 6502 ακόμαν υπάρχει. Λ.χ. εν κομμάτ’ τ’ αριθμομηχανής τη HP-35s. == Τεχνικά στοιχεία == * τεχνολογίαν: NMOS, HMOS, CMOS * αριθμός τρανζίστορ: σα 5000 * clock signal: 20 kHz ους 4 MHz. Μορφή CMOS: 0 ους 14 MHz * clock cyclus ανά εντολή: 2 με 7 * address space: 64 [[Byte|KiByte]], δίχως ξεχωριστό χώρο διευθύνσεων I/O (αμόν το [[Intel 8080]]). Τα I/O ίντανε μέσω [[Memory Mapped I/O]]. * address bus: 16 bit * data bus: 8 bit * interrupts: ένα NMI, ένα IRQ, και software-interrupt μέσω εντολής BRK * εντολάς: 56, μορφή CMOS: 70 * τρόποι διευθυνσιοδότησης: 13, μορφή CMOS: 16 * endianness: little endian * registers: ** accumulator, 8 bit ** 2 index-register (X και Y), 8 bit. ** stack pointer, 16 bit. ** prozessorstate-register, 7 bit (''flags'': Carry, Zero, Decimal, Interrupt Disable, Break*, Overflow, Negative) ** instruction pointer, 16 bit == Βιβλιογραφίαν == * Bagnall, Brian: ''On The Edge: The Spectacular Rise and Fall of Commodore'', ISBN 0973864907 * Rodnay Zaks: ''Programming the 6502'', ISBN 0895880288 * Lance A. Leventhal: ''6502 Assembly Language Programming'', ISBN 007881216X * Ekkehard Flögel: ''Programmieren in Maschinensprache mit dem 6502'', ISBN 3921682614 == Συνδέσμ == *[http://www.6502.org/ 6502.org - the 6502 microprocessor resource] (αγγλικά) [[Κατηγορίαν:Τεχνολογίαν|MOS Technology 6502]] g6d7lpcdk2ve99r2fjy6hz5gjihxuu4 PontosWorld.com 0 117 34838 6566 2021-08-10T19:04:30Z InternetArchiveBot 8521 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.8 34838 wikitext text/x-wiki Το '''PontosWorld.com''' εν τ' όνεμαν [[διαδίκτυον|διαδικτυακού]] σελίδας ντο έχ' θέμαν το [[Πόντος|ποντιακόν]] τη κουλτούραν. == Ντο εν το PontosWorld == Αβούτο η σελίδαν εγράφτεν και γράφκεται για τ' ανθρώπς ντ' εξέβαν ασόν Πόντον, άμα και γι' ατείντς π' ακόμε γιασαέβν' εκαικά. Απές σην σελίδαν ευρίσκουνταν πολλά στοιχεία για τον Πόντον και την ιστορίαν ατ', άμα και για τ' οσημερνόν το [[Μαύρον Θάλασσα|Μαύρον τη θάλασσαν]]. Έχ' και φορούμι για να συντισέν'νε οι χρήστες. Ο καθαείς επορεί ν' εφτάει λογαρίαν και να κουλανεύ' ατό. Εςς και λεξικόν ποντιακόν. Οι χρήστες τη σελίδας γράφνε ασόν κόσμον όλον, π.χ. [[Αυστραλία|Αυστραλία]], [[Ελλάδα|Ελλάδα]], [[Τουρκία|Τουρκία]], [[Γερμανία|Γερμανία]], [[ΗΠΑ|ΗΠΑ]], κλπ. == Συνδέζμε == *[http://www.pontosworld.com/ pontosworld.com] - Αρχικόν σελίδα *[https://web.archive.org/web/20080820015827/http://pontosforum.4.forumer.com/ pontosforum] - Φορούμι τη pontosworld.com *[http://pontosworld.com/index.php?option=com_content&task=category&sectionid=5&id=20&Itemid=72 dictionary] - Λεξικόν τη pontosworld.com [[Κατηγορίαν:Ελλενικόν ιστορίαν|PontosWorld.com]] [[Κατηγορίαν:Πόντος|PontosWorld.com]] 1p0thvmclc2smjc0mvpsbxdkm809cpt Rage Against the Machine 0 118 35533 30934 2024-01-23T17:42:16Z Διογένες 10538 μικρογραφία 35533 wikitext text/x-wiki [[Εικόναν:Zach de la Rocha at 2007 Coachella Valley Music and Arts Festival.jpg|μικρογραφία|right|Ασό 2007 τη χρονίαν: ο τραγωδένος [[Zack de la Rocha]] με τοι Rage Against the Machine ση Coachella.]] '''Rage Against The Machine''' (λέγν' ατείντς και '''RATM''' ή '''Rage''') εν τ’ όνεμα [[Μουσική|μουσικού]] μπάντας ασα Ενωμένα τα Πολιτείας τη [[Αμερικήν|Αμερικής]] ντο εχ’ τρανά επιτυχίας. Σα τραγωδίασατουν εφτάγνε κριτικήν σα καπιταλιστικά στοιχεία τη κοινωνίας και τα αιτίας ντο γεννούν τα ταξικάς διαφοράς, την εκμετάλλευσην και τοι [[πολέμ]]. Η μουσικήνατουν εν συγκόλληση ασα μουσικά τα είδη rock, funk και rap. Τ’ ονέματα τη μουσικίων είναι Zack de la Rocha (τραγωδένος), Tom Morello (κιθαρτζής), Tim Commerford (μπάσο), Brad Wilk (νταουλτζής). == Δισκογραφίαν == === Albums === * Rage Against the Machine (1992) * Evil Empire (1996) * The Battle of Los Angeles (1999) * Renegades (2000) === Live Albums === * Live & Rare (1998) * Live at the Grand Olympic Auditorium (2003) === Singles === * "Killing in the Name", 1993 * "Bullet in the Head", 1993 * "Bombtrack", 1993 * "Know Your Enemy", 1993 * "Freedom", 1994 * "Bulls on Parade", 1996 * "People of the Sun", 1996 * "Down Rodeo", 1996 * "Vietnow", 1997 ft. Chuck D * "No Shelter", 1998 * "Guerrilla Radio", 1999 * "Sleep Now in the Fire", 2000 * "Testify", 2000 * "Calm Like A Bomb", 2000 * "The Ghost of Tom Joad", 2001 * "Renegades of Funk", 2002 * "How I Could Just Kill a Man", 2002 === Videos === * "Killing in the Name" * "Bombtrack" * "Bullet in the Head" * "Freedom" * "Bulls on Parade" * "People of the Sun" * "No Shelter" * "Guerrilla Radio" * "Sleep Now in the Fire", 2000 * "Testify", 2000 * "Renegades of Funk" * "The Ghost of Tom Joad" * "How I Could Just Kill a Man" * "Calm Like A Bomb" [[Κατηγορίαν:Μουσική|Rage Against the Machine]] rgwskgtpg2ctfxpxwa5cc42gfub12hw Tonya 0 119 910 909 2009-03-06T14:58:43Z MF-Warburg 53 1 revision:&#32;import from incubator 910 wikitext text/x-wiki #REDIRECT [[Τόνυα]] 675smyax5p5zpworrogl96bpg3nd5hd Βικι 0 120 35695 35674 2024-05-25T23:53:02Z InternetArchiveBot 8521 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 35695 wikitext text/x-wiki [[Εικόναν:HNL Wiki Wiki Bus.jpg|thumb|Wiki Wiki (δηλ. αληγορτόν) πούλμαν ση Χονολούλου]] '''Wiki''' (ή '''βικι''') λέγομε την κατηγορίαν τ' [[Ουσιαστικόν/ιστότοπος|ιστοτόπ']], όπου ούλ' ανθρώπ (οι χρήστες) εμπορούν να εφτάνε και ν' αλλάζνε τα σελίδας αθέ. Αβούτο τ' όνομαν εν συντόμευσην τη λέξης ''WikiWikiWeb''. ''Wikiwiki'' ένι [[Ουσιαστικόν/Χαβάη|χαβαϊκόν]] λέξη το σημαίνει «αλήγορον». Σα ''wiki'' πολλοί χρήστες εμπορούν να γράφουν εντάμαν. Άμον ντ' εφτάει ο ένας άρθρον το 'κ είναι σωστόν, ο άλλος εμπορεί ν' αλλάζατο αέτς για να ίνεται καλλίον. Εξόν τα αλλαγάς, ίνεται και το πρόσθεμαν καινούρεων γνωσίων σο άρθρον κι αέτς το wiki θα τρανείν. Επίσης ίνεται και γουνούσεμαν. Σ' ορισμένα ''βικι'' (αμόν τη [[Βικιπαίδεια]], τ' ασ' ούλτς διάσημον wiki) έχ' τα σελίδας καλατσεματί, σ' αλλά οι χρήστες πα γονουσεύνε σ' ούλτς τα σελίδας. Ο σκοπόν και τα νομς που κανονίζνε την λειτουργείαν ατούν 'κ είναι πάντα ίδιοι. Σκοπόν τη Βικιπαίδειας λ.χ. εν το γράψιμον αρθρίων αέτς για να χτίζεται [[Ουσιαστικόν/εγκυκλοπαίδεια|εγκυκλοπαίδειαν]]. Το πρώτο ''wiki'' εχπάστεν σα 25 τη Μαρτ 1995 ασον Ward Cunningham και είχε πολλούς χρήστες. Επεκεί αβούτοι εποίκαν τα ''βικι'' ατούν. == Τρανά wiki == * [http://www.wikipedia.org/ Βικιπαίδεια] * [https://web.archive.org/web/20190206132156/https://www.wikinsider.org/ Wikinsider] * [http://www.wikiznanie.ru/ WikiZnanie] * [https://web.archive.org/web/20170722042417/http://www.world66.com/ World66] Travel Wiki * [https://web.archive.org/web/20060104053439/http://susning.nu/ Susning.nu] * [https://web.archive.org/web/20060712102757/http://twiki.org/ TWikiWeb] * [http://www.wikinfo.org/ Wikinfo] * [http://c2.com/cgi/wikiPages WikiWikiWeb] Κατάλογος με τ’ ασ’ ουλτ’ς τρανά wiki με στατιστικάς [[Κατηγορίαν:Βικιπαίδεια|Βικι]] j37t06stloz9dtleaci3h3djegni01n Άι Μαρίνος 0 122 32106 30936 2014-11-21T14:41:38Z CommonsDelinker 121 The file [[:Image:Wiktionary-logo-el.png]] has been replaced by [[:Image:Greek_wiktionary_logo.png]] by administrator [[:commons:User:Billinghurst]]: ''exact or scaled-down duplicate''. ''[[m:User:CommonsDelinker|Translate me!]]'' 32106 wikitext text/x-wiki {{Πληροφορίας χώρας| |εθνικόν_όνεμαν= <big>Serenissima Repubblica di San Marino</big> |εθνικόν όνεμαν σα ποντιακά = Γαληνότατον Δημοκρατίαν τη Άι Μαρίνου |κοινόν_όνεμαν= Άι Μαρίνον |σημαία = Flag of San Marino.svg |άρθρον σημαίας = Σημαία τ΄ Άι Μαρίνου |σύμβολον = Coat of arms of San Marino.svg |άρθρον συμβολατί = Σύμβολον τ΄ Άι Μαρίνου |χάρτες= Europe location SMO.png |εθνικόν_σύνθημαν= Libertas (ελευθερίαν) |εθνικόν_ύμνος= [[Εθνικόν Ύμνον τη Δημοκρατίας|{{polytonic|Εθνικόν Ύμνον τη Δημοκρατίας <br />(Inno Nazionale della Repubblica)}}]] |επίσημα_γλώσσας= [[Ιταλικόν γλώσσα|Ιταλικόν]] |πρωτεύουσα και ασ' όλον τρανόν πολιτεία = [[Άι Μαρίνος]] |συντεταγμένας_πρωτεύουσας= |πολίτευμαν= [[Κοινοβουλευτικόν Δημοκρατία]] |τίτλοι_τ' ηγετίων = [[Τρανός Κουμαντάρτς|Τρανοί Κουμανταρέοι]] | |ονόματα_τ' ηγετίων = [[Ερνέστο Μπενετίνι|Ερνέστο Μπενεντετίνι]] κι [[Ασούντα Μελόνι]]<br /> |θέση_έκτασης= 223 |έκταση= 60,57 |ποσοστόν_νερού= 0,01 % |εκτίμηση_πληθυσμού= 31.006 |χρονία_εκτίμησης_πληθυσμού= 2008 |πληθυσμός= 28.561 |θέση_πληθυσμού= 212 |χρονία_απογραφής_πληθυσμού= 2005 |πυκνότητα_πληθυσμού= 481 |θέση_πυκνότητας_πληθυσμού= 20 |τύπος_κυριαρχίας= [[Ανεξαρτησία]] |γεγονός_κυριαρχίας= [[3 Σταυρί|3 τη Σταυρίτε]], [[301]]<br /> | |παράδας = [[Ευρώ]] |κωδικός_παράδων = € EUR |ώρα_ζώνες= |διαφορά_UTC= +1 |θερινόν_UTC= |θερινόν_διαφορά_UTC= +2 |top_level_domain= .sm |κωδικός_τηλεφωνατί= 378 |σημειώσεις= }} Ο '''Άι Μαρίνος''' (''λένατον πα κι'' Άι Μαρίνον, σα ιταλικά: ''Serenissima Repubblica di San Marino'') εν τζιπ μικρόν [[κράτος]] σα νότια τη [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν το [[Σαν Μαρίνο]] και οι αρχηγοί τη κυβέρνησης ατ' εν οι [[Ερνέστο Μπενετίνι|Ερνέστο Μπενεντετίνι]] κι [[Ασούντα Μελόνι]]. Η χώρα εχ' πληθυσμόν σα 31.006 τ' ανθρώπ'ς. == Γεωγραφίαν == Ο Άι Μαρίνος ευρίεται απές σην [[Ιταλία|Ιταλίαν]]. == Συνδέζμαι == * '''[[Εικόναν:Commons-logo.svg|15px]] [[:el:commons:San Marino|Ο Άι Μαρίνον σα Commons]]''' * '''[[Εικόναν:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Άγιος Μαρίνος|Ο Άι Μαρίνον σο Βικιλεξικόν]]''' * '''[[Εικόναν:Gnome-globe.svg|15px]] [[:el:commons:Atlas of San Marino|Χάρτες ασον Άι Μαρίνον]]''' {{Πρότυπον:Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Άγιος Μαρίνος]] [[Κατηγορίαν:Ευρώπη|Άγιος Μαρίνος]] [[Κατηγορίαν:Άγιος Μαρίνος| ]] iv11yxqi2lksyv9sortpcoyvcywffhf Άκαμψης 0 123 30937 29546 2013-03-07T16:37:40Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 22 interwiki links, now provided by [[d:|Wikidata]] on [[d:q70970]] [[M:User:Addbot/WDS|(translate me)]] 30937 wikitext text/x-wiki [[Εικόναν:Çoruh River.jpg|thumb|Ο Άκαμψης]] Ο '''Άκαμψης''' (γεωργ. ''ჭოროხი'', τουρκ. ''Çoruh'') εν τζιπ τρανόν ποτάμι κι ευρίεται σον [[Πόντος|Πόντον]]. Αχπάσκεται σο ραχίν Μεστζίτ σο βορειοατατολικόν την [[Τουρκία|Τουρκίαν]], σα 3.255 μέτρα ασην θάλασσαν απάν. Απεκεί πάει σην [[Γρουζία|Γρουζίαν]] κι εκεί σο [[Μαύρον Θάλασσα|Μαύρον τη Θάλασσαν]]. [[Κατηγορίαν:Ποτάμαι|Ακαμψης]] srbs1txu4hac1zp4eh0rff9xx59zxur Άλλα έργα 0 124 36241 36222 2025-05-05T21:29:15Z Ternera 11155 Replacing image with .svg of superior quality. If there is an issue with this edit, please revert it and leave a message on my talk page. 36241 wikitext text/x-wiki <div style="font: 15pt times; font-weight:bold; padding:5px; border-bottom:1px solid #AAAAAA;"><div class="center">Τ' άλλα τα έργα</div> </div> Η λειτουργίαν τη Βικιπαίδειας αποκουμπισκάται σον οργανισμόν [[Wikimedia|Wikimedia Foundation]], ο οποίος αποκουμπίζ' κι αλλέτερα πολύγλωσσα και [[ελεύθερο περιεχόμενο|ελεύθερου περιεχομένου]] σάιτ: {|width="100%" align="center" cellpadding="4" style="text-align:left; background-color: transparent;" | align="center" | <imagemap>Εικόναν:Wikisource-logo.svg|35px default [[s:|Wikisource]] desc none</imagemap> | width="33%" |'''<span class="plainlinks">[http://el.wikisource.org/ Βικιθήκη]</span>'''<br />Ελεύθερα γραψίματα και πηγές | align="center" | <imagemap>Εικόναν:Wiktionary-logo-en.svg|35px default [[wikt:|Wiktionary]] desc none</imagemap> |width="33%" | '''<span class="plainlinks">[http://el.wiktionary.org/ Βικιλεξικόν]</span>'''<br />Λεξικόν και Θησαυρός | align="center" | <imagemap>Εικόναν:Wikiquote-logo.svg|35px default [[q:|Wikiquote]] desc none</imagemap> |width="33%" | '''<span class="plainlinks">[http://el.wikiquote.org/ Βικικαλατσίας]</span>'''<br />Σουρίν καλατσεματίων |- | align="center" | <imagemap>Εικόναν:Commons-logo.svg|31px default [[commons:Κύρια_Σελίδα|Commons]] desc none</imagemap> | '''<span class="plainlinks">[http://commons.wikimedia.org/wiki/Κύρια_Σελίδα Κοινά - Commons]</span>'''<br />Ανοιχτόν αποθήκην πολυμεσίων | align="center" | <imagemap>Εικόναν:Wikibooks-logo.svg|35px default [[b:|Wikibooks]] desc none</imagemap> | '''<span class="plainlinks">[http://el.wikibooks.org/ Βικιβιβλία]</span>'''<br />Βιβλία και γραψίματα για να παίρ' ο καθαείς | align="center" | <imagemap>Εικόναν:Wikinews-logo.svg|51px default [[wikinews:|Wikinews]] desc none</imagemap> | '''<span class="plainlinks">[http://el.wikinews.org/ Βικιχαπέραι]</span>'''<br />Χαπέραι για να δεβάζ' ο καθαείς |- | align="center" | <imagemap>Εικόναν:Wikiversity-logo.svg|35px default [[v:|Wikiversity]] desc none</imagemap> | '''<span class="plainlinks">[http://el.wikiversity.org/ Βικιεπιστήμιον]</span>'''<br />Γραψίματα για μάθεμαν | align="center" | <imagemap>Εικόναν:Wikispecies-logo.svg|35px default [[wikispecies:Κύρια_Σελίδα|Wikispecies]] desc none</imagemap> | '''<span class="plainlinks">[http://species.wikimedia.org/wiki/Κύρια_Σελίδα Βικιείδη]</span>'''<br />Κατάλογος τ' ειδίων | align="center" | <imagemap>Εικόναν:Wikimedia Community Logo.svg|35px default [[m:Κύρια_Σελίδα|Meta-Wiki]] desc none</imagemap> | '''<span class="plainlinks">[http://meta.wikimedia.org/wiki/Κύρια_Σελίδα Μετα-Βίκι]</span>'''<br />Κανονίζ' τη λειτουργείαν όλιων τη προγραμματίων τη Wikimedia |} [[Κατηγορίαν:Wp/pnt|Άλλα έργα]] 6qki7f5g0p1emx04jv4hwdhycw3mg4a Άλυς 0 125 35470 30938 2023-09-24T00:01:53Z InternetArchiveBot 8521 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 35470 wikitext text/x-wiki [[Αρχείον:Kızılırmak iskilip.jpg|thumb|Ο Άλυς]] Ο '''Άλυς''' (γιά '''Μαρσύας''', τουρκ. ''Kızılırmak'' [{{IPA|kɯˈzɯlɯɾmak}}]) εν τζιπ τρανόν ποτάμι κι ευρίεται ολόκληρον απές σην [[Τουρκία|Τουρκίαν]], σον [[Πόντος|Πόντον]]. Το μάκρος ατ' εν 1.355 χμ. == Τ' όνεμαν == «Άλυς» εν τ' αρχαίον τ' ελλενικόν τ' όνεμαν κι εξέβεν ασ' αρχαίον τη λέξην ντ' ελέγανε για τ' [[άλας]] ({{polytonic|ἅλς}}). Το τούρκικόν τ' όνεμαν «Kızılırmak» εχ' τη σημασίαν «κόκκινον ποτάμι». == Απόθεν κατεβαίν' == Το ποτάμι εβγών' σ' ανατολικά τα ραχίας τ' Ανατολίας, 150 χμ ασον τόπον απόθεν εβγών' ο [[Ευφράτες]], ασην [[Σεβάστεια|Σεβάστειαν]] ανατολικά, σα ραχία Κιζίλ Νταγ και Κουμανλί Νταγ. Σ' αρνάσεμανατ' ο Άλυς δαβαίν' τη χώραν σα δυτικά και σα νοτιοδυτικά. Απεκεί κλώσκεται σο κεντρικόν την Ανατολίαν σα βόρεια. Εκαικά δαβαίν' απές σα [[Ποντιακά Παρχάραι|Ποντιακά τα Παρχάραι]]. Τελείται σο [[Μαύρον Θάλασσα|Μαύρον τη Θάλασσαν]], σα βορειοδυτικά τη [[Σαμψούντα|Σαμψούντας]] και ολίγον ασην [[Πάφρα|Πάφραν]] απάν μερέαν. == Συνδέζμ' σα εξ μερέαν == * [https://web.archive.org/web/20100330092026/http://www.livius.org/ha-hd/halys/halys.html Livius.org: Halys] - Φωτογραφίας [[Κατηγορίαν:Ποτάμαι|Αλυς]] jma9svmqsxv54y8a7zsi00vr01ahrnk Ήλος 0 126 35523 35224 2024-01-22T07:52:15Z Kwamikagami 8969 35523 wikitext text/x-wiki [[Αρχείον:Howl Bangladesh.jpg|thumb|Ο Ήλος]] [[file:Sun symbol (planetary color).svg|frameless|upright=0.35|☉]] Ο '''Ήλος''' (γιά '''Ήλες''') εν τ' [[αστέρ]] τ' [[ηλεϊκόν σύστεμαν|ηλεϊκού τη συστεματίεμουν]], και τ' ασούλτς φωτεινόν σώμαν τ' ουρανού. Όνταν εν ημέρα κι ο ήλος ευρίεται ασόν ορίζονταν απάν διγ ατόσον φως που καϊνείς 'κ επορεί ν' ελέπ τ' άλλα τα σώματα τ' ουρανού (εξόν το [[Φέγγος|Φέγγον]] και την [[Αφροδύτε|Αφροδίτεν]]). Τ' αρχαίον τ' ελλενικόν η [[μυθολογία]] λεει ντ' έτονε υιός τη [[Τιτάνες|τιτάνα]] [[Υπερίων (μυθολογία)|Υπερίωνος]] (αέτς γράφνε ο [[Όμηρος]] και ο [[Ησίοδος]]). Τ' αστρονομικόν το σύμβολονατ' εν: [[file:Sun symbol (fixed width).svg|16px|☉]]. {{Commons|Sun}} [[Κατηγορίαν:Αστρονομία|Ηλος]] 1sysbegdwhv2ws4d4cp5thk43pfptb3 Αεργίτες 0 127 37030 37025 2025-12-16T18:14:34Z Εὐθυμένης 2777 (By [[meta:Indic-TechCom/Tools|FindAndReplace]]) 37030 wikitext text/x-wiki <center> '''Ημέρας Αεργί''' </center> <center> [[1 Αεργί|1]] | [[2 Αεργί|2]] | [[3 Αεργί|3]] | [[4 Αεργί|4]] | [[5 Αεργί|5]] | [[6 Αεργί|6]] | [[7 Αεργί|7]] | [[8 Αεργί|8]] | [[9 Αεργί|9]] | [[10 Αεργί|10]] | [[11 Αεργί|11]] | [[12 Αεργί|12]] | [[13 Αεργί|13]] | [[14 Αεργί|14]] | [[15 Αεργί|15]] | [[16 Αεργί|16]] | [[17 Αεργί|17]] | [[18 Αεργί|18]] | [[19 Αεργί|19]] | [[20 Αεργί|20]] | [[21 Αεργί|21]] | [[22 Αεργί|22]] | [[23 Αεργί|23]] | [[24 Αεργί|24]] | [[25 Αεργί|25]] | [[26 Αεργί|26]] | [[27 Αεργί|27]] | [[28 Αεργί|28]] | [[29 Αεργί|29]] | [[30 Αεργί|30]] </center> ---- {{ΗμερολόγιοΣεΠίνακα|11}} Ο '''Αεργίτες''' (σ' ελλενικά: ''Νοέμβριος'') εν ενδέκατον ο μήνας τη χρονίας, όπως λέγει μας το [[Γρηγοριανόν ημερολόγιον]] κι εχ' 30 ημέρας. == Τ' όνεμα == Τ' όνεμαν τη μηνού εχ τη ρίζαν ατ’ σην λέξην «άεργος», επειδή σ’ αβούτον τον μήναν οι ανθρώπ’ ‘κ είχανε δουλείας ν' εφτάγνε σα χωράφεατουν. == Ο λαόν για τον Αεργίτε == :''«Αεργίτες έν’ ζεγκίντν' :''φέρ’ κρύα νερά και πίντς.»'' == Συνδέσμ == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:November|Αεργίτες σα Commons]]''' * '''[[Αρχείον:Wiktfavicon en.svg|16px|Βικιλεξικόν]] [[:el: wikt:Αεργίτες|Ο Αεργίτες σ’ ελλενικόν το Βικιλεξικόν]]''' {{Μήνας‎}} [[Κατηγορίαν:Μήνας|Αεργιτες]] 8ar37xoqly3dl6zvauc201wbld4wkuw Αθήνα 0 128 36859 30941 2025-12-16T10:00:05Z Εὐθυμένης 2777 36859 wikitext text/x-wiki [[Αρχείον:Hellenic Parliament at Athens.jpg|thumb|280px|Τ' Ελλενικόν η Βουλή σην Αθήναν εν έδρα τη κυβέρνησης τ' ελλενικού τη κράτονος]] Η '''Αθήνα''' (αρχ. ''Ἀθῆναι'') εν [[Ελλάδα|ελλενικόν]] πολιτείαν και εχ' τρανόν [[ιστορίαν]]. Εν η ασ' ουλτς τρανόν πολιτείαν και η [[πρωτεύουσα]] τη χώρας. Οσήμερον (2001) εχ' πληθυσμόν 3.361.806 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{el}} {{επίσημος ιστότοπος}} {{authority control}} {{DEFAULTSORT:Αθηνα}} [[Κατηγορίαν:Πολιτείας τ' Ελλάδας]] h0wabmg3bzdmeeui1pzc3177yr0i890 Αλατςάμ 0 129 37376 36737 2025-12-20T12:03:36Z Εὐθυμένης 2777 37376 wikitext text/x-wiki [[Αρχείον:Alaçam Meydanı.JPG|μικρογραφία|δεξιά|300px| Alaçam Square]] Τ' '''Αλατσάμ''' (τουρκ. ''Alaçam'') εν μικρόν πολιτείαν τη [[Τουρκία|Τουρκίας]] κι ευρίεται σην επαρχίαν τη [[Σαμψούντα|Σαμψούντας]], σον [[Πόντος|Πόντον]]. Οι γραμματιζμέν' εθαρρούνε ντο εν τ' αρχαίον η πολιτείαν ο Ζαλίχης.<ref>Richard Talbert, Barrington Atlas of the Greek and Roman World, (ISBN 0-691-03169-X), Map 87 & notes.</ref> Οι ανθρώπ εκαικά (σα 12.000 απαναφκά) εργάσκουνταν πολλά σα χωράφαι, άμα και σα ζα και σ' οψάραι. Σα χωράφαιατουν έχνε πολλά καπνά, άμα και [[λαζούδ|λαζούδαι]], ρύζι, λάχανα και φρούτα. == Αναφοράντας == <references /> == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{tr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Τουρκίας|Αλατσαμ]] [[Κατηγορίαν:Πόντος|Αλατσαμ]] i2xhx4ebyepqwi7fkhebs2ncvnncoeg Αλατσάμ 0 130 990 989 2009-03-06T14:58:53Z MF-Warburg 53 1 revision:&#32;import from incubator 990 wikitext text/x-wiki #REDIRECT [[Αλατςάμ]] qnp4mks0e7xyvx2ncj0r6hxng1pv9cl Αλβανία 0 131 36269 36268 2025-06-09T18:47:02Z Εὐθυμένης 2777 36269 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Αλβανία'''</big></big><br/>''Republika e Shqipërisë'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Albania.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Albania.svg|125px]] |- | align="center" width="140px" | Τ' αλβανικόν η σημαίαν | align="center" width="140px" | |} |- | align="center" colspan=2 | <small></big> |- | align=center colspan=2 | [[Αρχείον:Europe-Albania.svg|300px]] |} Η '''Δημοκρατίαν τ' Αλβανίας''' (σ' αλβανικά: ''Republika e Shqipërisë'') εν [[κράτος]] σο νότον τ' [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς είν' τα [[Τίρανα]]. Ο πρόεδρον ατ'ς λέχκεται [[Ιλίρ Μέτα]] και πρωθυπουργούν εν ο [[Έντι Ράμα]]. Σον [[Χορτοθέρτς|Χορτοθέρτ]] τη 2008 η Αλβανίαν είχεν πληθυσμόν σα 3.619.778 <ref>''The World Factbook'' - [https://web.archive.org/web/20080709071433/https://www.cia.gov/library/publications/the-world-factbook/print/al.html Albania]</ref> απαναφκά. == Γεωγραφίαν == Η Αλβανίαν ευρίεται σ' ανατολικόν τη Μεσόγειον, σα δυτικά τη [[Βόρεια Μακεδονία]], σα βόρεια τ' [[Ελλάδα|Ελλάδας]] και σο νότον τη [[Μαυροβούνιον]]. == Αναφοράντας == <references/> == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Albania|Η Αλβανίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Αλβανία|Η Αλβανίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Albania|Χάρτες ασην Αλβανίαν]]''' * [http://www.parlament.al Το επίσημον ο ιστοτόπον τ' αλβανικού τη κοινοβουλί] {{Πρότυπον:Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Αλβανία]] [[Κατηγορίαν:Ευρώπη|Αλβανία]] [[Κατηγορίαν:Βαλκάνια|Αλβανία]] [[Κατηγορίαν:Αλβανία| ]] 9ry5k99dqgz4a1sivefno0ntlkxj2mm Αμάσεια 0 132 36738 36557 2025-12-16T08:31:03Z Εὐθυμένης 2777 36738 wikitext text/x-wiki [[Εικόναν:Amasya Turkey Provinces locator.gif|thumb|230px|Η Αμάσεια σον χάρτεν τη Τουρκίας]] [[Εικόναν:Amasya genelgorunum.jpg|thumb|230px|Η Αμάσεια]] Η '''Αμάσεια''' (σα λατινικά: ''Amasia'', σα τουρκικά: ''Amasya'') εν [[Τουρκία|τουρκικόν]] πολιτείαν κι ευρισκάται σον [[Πόντος|Πόντον]], 130 χιλιόμετρα ασήν [[Σαμψούντα|Σαμψούνταν]] νότεα. Εν η πρωτεύουσαν τ' επαρχίας τ' Αμάσειας κι οσήμερον εχ' πληθυσμόν 80.000 απαναφκά. Σην πολιτείαν απές δαβαίν' ο ποταμόν Ίρις. == Ιστορία == Η πολιτείαν έντον τρανόν σ' ελλενιστικά τα χρόναι. Σα 300 π.Χ. ους 183 π.Χ. έτον πρωτεύουσαν τη Βασιλίου τη Πόντονος. Επεκεί εγέντον πρωτεύουσαν η [[Σινώπη]] ντ' έτον σην θάλασσαν σουμά. Σα 70 π.Χ. (3ον Μιθριδατικόν Πόλεμος) ο Πόντον έντον ρωμαϊκόν επαρχίαν ''Bithynia et Pontus'' με πρωτεύουσαν την Αμάσειαν. Σ' ατά τα χρόναι εγεννέθεν κι έζησεν εκέκα τρανόν γεωγράφον ο [[Στράβων]].<br /> Σα βυζαντινά τα χρόναι έτον έδρα τη Θέματι Αρμενιακόν. Σα 306 τη χρονίαν απόθανεν αδακά ο [[Άγιος Θεόδωρος ο Τήρων|Άγιον Θεόδωρον ο Τήρων]].<br /> Σα 1075 τη χρονίαν οι Σελτζούκ επαίραν την Αμάσειαν και σα 1386 ο σουλτάνος [[Βαγιαζήτ Α΄]] εποίκενατεν πολιτείαν τ' [[Οθωμανικόν αυτοκρατορίαν|Οθωμανικού τ' αυτοκρατορίας]]. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{tr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Τουρκίας|Αμασεια]] [[Κατηγορίαν:Πόντος|Αμασεια]] j9you13yxihtwsnr0wv4trzts6etlwm Αμερικήν 0 133 35230 33994 2022-09-20T01:08:11Z Kwamikagami 8969 35230 wikitext text/x-wiki [[Αρχείον:Americas in the world (red) (W3).svg|thumb|right|Η Αμερικήν σον χάρτεν τη κόσμονος]] Η '''Αμερικήν''' εν τρανόν ήπειρον σο δυτικόν ημψόν τη γης. Οι λόγιοι τ' [[Ευρώπην|Ευρώπης]] 'κ εγνωρίζαν' ατέν ώσαμε σα 1492 τη χρονίαν. Ατότε εύραν ατέν και για τ' ατό έδωκαν τ' όνεμαν «''Νέον Κόσμον''». Η Αμερικήν χωρίεται σο Βόρειον και σο Νότιον την Αμερικήν. Εχ' πληθυσμόν σα 900.000.000 τ' ανθρώπ'ς κιαν. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:America|Η Αμερικήν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Αρκτική|Η Αμερικήν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of America|Χάρτες ασην Αμερικήν]]''' [[Κατηγορίαν:Γεωγραφίαν|Αμερικήν]] 4d1l1qx3llkx21qbr5al8s6adbh3m2b Ανδόρρα 0 134 36111 35909 2025-01-26T23:59:50Z InternetArchiveBot 8521 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 36111 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Ανδόρρα'''</big></big><br/>''Principauté d'Andorre'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Andorra.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Andorra.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Location_Andorra_Europe.png|300px]] |} Το '''Πριγκηπάτο τη Ανδόρρας''' (σα καταλανικά: ''Principat d'Andorra'', σα γαλλικά: ''Principauté d'Andorre'', σα ισπανικά: ''Principado de Andorra'') είναι τζιπ μικρόν [[κράτος]] σα δυτικά τη [[Ευρώπην|Ευρώπης]], σ' [[Ιβηρικόν Χερσόνησος|Ιβηρικόν τη χερσόνησον]]. Ευρισκάται απεσκές σην [[Γαλλία|Γαλλίαν]] και σην [[Ισπανία|Ισπανίαν]]. Πρωτεύουσαν ατ' εν η [[Ανδόρρα λα Βέγια]]. Την ηγεμονίαν συγκατέχνε ο Επίσκοπον τη Ουρχέλ, Ζουάν Ενρίκ Βίβες Σισίλια, και ο πρόεδρον τη Γαλλίας, [[Νικολά Σαρκοζί]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Andorra|Η Ανδόρραν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Ανδόρρα|Η Ανδόρραν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Andorra|Χάρτες ασην Ανδόρραν]]''' * [https://web.archive.org/web/20161207030138/http://www.andorra.ad/ Το επίσημον ο ιστοτόπον τη Ανδόρρας] {{Πρότυπον:Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Ανδόρρα]] [[Κατηγορίαν:Ευρώπη|Ανδόρρα]] [[Κατηγορίαν:Ιβηρία|Ανδόρρα]] [[Κατηγορίαν:Ανδόρρα| ]] 3wz84nba4qp58vynhqnesrzxmk53j8t Ανεφορίτσα 0 135 36112 35536 2025-01-28T00:56:48Z Wolverène 4171 36112 wikitext text/x-wiki '''Ανεφορίτσα''' εν τόνεμαν είνος χορού τη [[Πόντος|Πόντονος]], ασην [[Γαλίαινα|Γαλίαιναν]] τη [[Τραπεζούντα|Τραπεζούντας]]. == Πως χορεύκεται == Η ανεφορίτσαν εν αμόν τη [[σερανίτσα|σερανίτσαν]] άμα με μονό [[τικ|τικ]] (δύο τριαρόπα σον τόπον) και χορέυνατον σε κλειστόν κύκλον. Οι χορευτάδες πιάσκουνταν ασα παλάμες και λυγίζνε τ' αγκώνασατουν. Εφτάνε τέσσερα βήματα σα δεξιά και τέσσερα σ' αριστερά. Το δεξί το ποδάρ πάει εμπροστά και τ' αριστερό απ' οπίς. Τα χέρια επέμνε άπραγα. Το μουσικόν το όργανον ντε κουλανέυκεται σ' αούτον το χορόν εν η λύραν (κεμεντζές). Ο χορός πάει σ' αριστερά και ο ρυθμόνατ ένι πεντάσημον ([[Media:5-8_rhythm_metre_meter_time_measure.ogg|5/8]]).<br> == Τραγοδία == Με τον χορόν εντάμαν τραγοδίζνε και τα λόγια: ''«Κόρη κατήβα σο μαντρίν ελίεν η κιζέλα,''<br> ''εφώταξεν ο πρόσωπος άμμον ντο εν ημέρα.»'' {{Πρότυπον:Μετάφραση el}} [[Κατηγορίαν:Χορός]] [[Κατηγορίαν:Μουσική]] cd2zd5ua276pi3d2vj6hwyq9lv8kcd3 Ανταρκτικήν 0 136 35251 35156 2022-10-23T10:21:56Z 2A02:586:A3D:5E90:E50E:5AF0:47D8:6E26 35251 wikitext text/x-wiki [[Εικόναν:Antarctica (orthographic projection).svg|thumb|250px|right|Ανταρκτικήν]] [[Εικόναν:LocationAntarctica.png|thumb|250px|right|Η Ανταρκτική σον χάρτεν τη κόσμονος]] Η '''Ανταρκτικήν''' εν ήπειρος. Ευρίεται σο Νότιον Πόλον τη γης και πάντα εν σκεπασμέντζα ασοι πάγους και τα σόναι. Σην Ανταρκτικήν απάν εζούνε πιγκουίν και φώκιες. == Συνδέζμαι == * '''[[Εικόναν:Commons-logo.svg|15px]] [[:el:commons:Antarctica|Η Ανταρκτικήν σα Commons]]''' * '''[[Εικόναν:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Ανταρκτική|Η Ανταρκτικήν σο Βικιλεξικόν]]''' * '''[[Εικόναν:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Antarctica|Χάρτες ασην Ανταρκτικήν]]''' * [https://web.archive.org/web/20190515210037/https://www.ats.aq/index_e.htm Γραμματεία Ανταρκτικής Συνθήκης] <gallery> File: 061212-nordkapp.jpg File:GletscherMM.jpg File:Fryxellsee Opt.jpg File:Mount Erebus Aerial 2.jpg File:Aurore australe - Aurora australis.jpg </gallery> [[Κατηγορίαν:Γεωγραφίαν|Ανταρκτικην]] sleqol7qpnxh6py65algzl7mh1nkmvw Απρίλτς 0 137 37042 37018 2025-12-16T18:14:35Z Εὐθυμένης 2777 (By [[meta:Indic-TechCom/Tools|FindAndReplace]]) 37042 wikitext text/x-wiki <center> '''Ημέρας τ' Απρίλτ''' </center> <center> [[1 Απρίλτ|1]] | [[2 Απρίλτ|2]] | [[3 Απρίλτ|3]] | [[4 Απρίλτ|4]] | [[5 Απρίλτ|5]] | [[6 Απρίλτ|6]] | [[7 Απρίλτ|7]] | [[8 Απρίλτ|8]] | [[9 Απρίλτ|9]] | [[10 Απρίλτ|10]] | [[11 Απρίλτ|11]] | [[12 Απρίλτ|12]] | [[13 Απρίλτ|13]] | [[14 Απρίλτ|14]] | [[15 Απρίλτ|15]] | [[16 Απρίλτ|16]] | [[17 Απρίλτ|17]] | [[18 Απρίλτ|18]] | [[19 Απρίλτ|19]] | [[20 Απρίλτ|20]] | [[21 Απρίλτ|21]] | [[22 Απρίλτ|22]] | [[23 Απρίλτ|23]] | [[24 Απρίλτ|24]] | [[25 Απρίλτ|25]] | [[26 Απρίλτ|26]] | [[27 Απρίλτ|27]] | [[28 Απρίλτ|28]] | [[29 Απρίλτ|29]] | [[30 Απρίλτ|30]] </center> ---- {{ΗμερολόγιοΣεΠίνακα|4}} [[Εικόναν:Matthäus Merian Monate 04 April.jpg|thumb|Τα μήνας, «Απρίλτς». Εζωγράφσεν ατό ο Matthäus Merian (ο τρανόν) σα 1610.]] '''Απρίλτς''' (σ' ελλενικά: ''Απρίλιος'') εν ο τέταρτον μήνας τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] κι εχ' 30 ημέρας. Τ' όνεμαν ατ' εβγών' ασόν λατινικόν τη λέξην ''aperire'' το σημαίν' «ανοιγείναι». Δηλαδή ανοίγ' ο καιρόν γάλε γάλε, σειμουγκόν τελείται κι άνοιξην έρται. == Ο λαόν για τ' Απρίλτ == :''«Απρίλ' τα φερ' τα χελιδόνε, κελαηδούν και λύν' τα χιόνε'' :''Έρθεν Απρίλ' με το καλόν, έγκεν τα πρασινάδας'' :''Ξενιτεύνε οι παντρεμέν', κλαινίζνε τοι νυφάδας.»'' :''«Απρίλτς έρται και περά,'' :''τ’ άλλο κλαίει τ’ άλλο γελά.»'' == Συνδέσμ == * '''[[Εικόναν:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:April|Απρίλτς σα Commons]]''' * '''[[Εικόναν:Wiktfavicon en.svg|16px|Βικιλεξικόν]] [[:el:wikt:Απρίλιος|Ο Απρίλτς (Απρίλιος) σ' ελλενικόν το Βικιλεξικόν]]''' {{Μήνας‎}} [[Κατηγορίαν:Μήνας|Απριλτς]] 4rohr5zefzzfzpq0fvytkb448vc0rw1 Αργαίος 0 138 37390 30949 2025-12-20T12:07:37Z Εὐθυμένης 2777 /* Απόθεν επαίραμε πληροφορίας */ 37390 wikitext text/x-wiki [[Εικόναν:Erciyes Dagi.jpg|thumb|Ο Αργαίος σα 2007 τη χρονίαν]] Ο '''Αργαίος''' (τουρκ. ''Erciyes Dağı'') εν ραχίν σην [[Καππαδοκία|Καππαδοκίαν]], σο νότον τη [[Τουρκία|Τουρκίας]]. Χωρίζ' την Καππαδοκίαν ασο δυτικόν το κομμάτ' τη [[Πόντος|Πόντονος]] κι έχ' ψήλος 3.917 μέτρα.<ref>[http://www.peakbagger.com/peak.aspx?pid=10442 peakbagger.com]</ref> Ο [[Στράβων]] έγραψεν γιαβούτο το ραχίν ντ' έτον πάντα σκεπαζμένον σα χιόναι και ντ' επόρνεν να δει κανείς ασο βουνόν και το [[Μαύρον Θάλασσα|Μαύρον τη Θάλασσαν]] και το [[Μεσόγειον Θάλασσα|Μεσόγειον τη Θάλασσαν]].<ref>Στράβων, ''Γεωγραφικά'' 12.2.7.</ref> == Απόθεν επαίραμε πληροφορίας == <references /> [[Κατηγορίαν:Ραχία|Αργαιος]] ew9ttqaebo35j4d36ksdnlu6d43uhch Αρκτικήν 0 139 32111 30950 2014-11-21T14:41:48Z CommonsDelinker 121 The file [[:Image:Wiktionary-logo-el.png]] has been replaced by [[:Image:Greek_wiktionary_logo.png]] by administrator [[:commons:User:Billinghurst]]: ''exact or scaled-down duplicate''. ''[[m:User:CommonsDelinker|Translate me!]]'' 32111 wikitext text/x-wiki [[Εικόναν:Arctica surface.jpg|thumb|175px|right|Αρκτικήν]] Η '''Αρκτικήν''' εν πόλος, κεν ήπειρος. Ευρίεται σο Βόρειον Πόλον τη γης και άμον την [[Ανταρκτικήν]] που ευρίεται σο Νότιον Πόλον, πάντα εν σκεπασμέντζα ασοι πάγους και τα ςςόναι. Σην Αρκτικήν απάν εζούνεν άρκτοι (λέγν' ατα και αρκούδας σα [[Ελλενικόν γλώσσα|νεοελλενικά]]) και ασατίντς επέρ τ' όνεμαν ατς. == Συνδέζμαι == * '''[[Εικόναν:Commons-logo.svg|15px]] [[:el:commons:Arctic|Η Αρκτικήν σα Commons]]''' * '''[[Εικόναν:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Αρκτική|Η Αρκτικήν σο Βικιλεξικόν]]''' * '''[[Εικόναν:Gnome-globe.svg|15px]] [[:el:commons:Κατηγορίαν:Maps of the Arctic|Χάρτες ασην Αρκτικήν]]''' [[Κατηγορίαν:Γεωγραφίαν|Αρκτικήν]] ms0x3312zt91wns51aqjfrwi8skzytr Αρχικόν σελίδ 0 140 1107 1106 2009-03-06T14:59:07Z MF-Warburg 53 1 revision:&#32;import from incubator 1107 wikitext text/x-wiki #REDIRECT[[Αρχικόν σελίδα]] 9zh2u3mxf7hjcc88dvdeen2nzm3hjz1 Ασίαν 0 141 37389 35229 2025-12-20T12:07:27Z Εὐθυμένης 2777 /* Αναφοράν */ 37389 wikitext text/x-wiki [[Αρχείον:Asia in the world (red) (W3).svg|thumb|right|Η Ασίαν σον χάρτεν τη κόσμονος]] [[Αρχείον:Asia satellite orthographic.jpg|thumb|Ασό δορυφόρον: φωτογραφία τ' Ασίας]] Η '''Ασίαν''' εν όλων το τρανόν η ήπειρος τη κόσμονος. Ο πληθυσμόν ατ'ς εν σα 4.000.000.000 τ' ανθρώπ'ς και βρέχεται ασόν [[Ατλαντικόν ωκεανός|Ατλαντικόν τον ωκεανόν]], τον [[Ινδικόν ωκεανός|Ινδικόν τον ωκεανόν]], το [[Μαύρον Θάλασσα|Μαύρον τη θάλασσαν]] και το [[Μεσόγειον θάλασσα|Μεσόγειον τη θάλασσαν]]. Με την [[Ευρώπην]] και την [[Αφρικήν]] εντάμαν σχηματίζνε τον «Παλαιόν Κόσμον». == Ετυμολογία == Τ' όνεμα «Ασία» εξέβεν ασ' ακκαδικόν τη λέξην ''«asu»''<ref name="etymonline.com">http://www.etymonline.com/index.php?search=asia&searchmode=none σο σάιτ: etymonline.com, εύρον τη λέξην <code>Asia</code> (αγγλικά)</ref> και η σημασέαν ατ'ς εν: «''ανατολή'' (τ' ήλιονος)», που έχνε γιά το λατινικόν η ονομασίαν ''oriens'', γιά τ' [[Ελλενικόν γλώσσα|ελλενικόν]] ''ανατολή''. Σ' αρχαία τα χρόναι «Ασία» έτον τ' όνεμα τη ρωμαϊκού τ' επαρχίας (''Asia''), τη Μικράς τη Ασίας. == Γεωγραφίαν == Η Ασίαν εν η ήπειρος με τα περισσόν νησία και τα περισσόν χερσονησία. == Κράτη == Τα [[Κράτος|κράτε]] σ' Ασίαν: * [[Γρουζία]] * [[Κίνα]] * [[Ιαπωνία]] * [[Τουρκία]] * [[Ινδία]] * [[Ρουσία]] * [[Μογγολία]] == Αναφοράν == <references /> == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Asia|Η Ασίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Ασία|Η Ασίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Asia|Χάρτες ασην Ασίαν]]''' [[Κατηγορίαν:Γεωγραφίαν|Ασιαν]] 43tstfr15ax9iro2o3f5nkewq7jj21k Αστερίκον 0 142 34840 34628 2021-08-10T19:05:26Z InternetArchiveBot 8521 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.8 34840 wikitext text/x-wiki '''Αστερίκον''' (σ' ελλενικά: ''Αστερίξ'', σα γαλλικά: ''Astérix le Gaulois'' ) εν ο τίτλος εινός [[κόμιξ]] τη [[Ρενέ Γκοσινί]] (γραφ') και [[Αλμπέρ Ουντερζό]] (ζωγραφίζ'). Τ' όνεμαν ατ' εβγών' ασον ήρωαν τη σειράς: τον Αστερίκον. Η σειρά εχπάστεν σα 1959 τη χρονίαν κ' γράφκεται σα Γαλλικά. Όντες επέθανε ο Γκοσινί (σα 1977), ο Ουντερζό απεκεί κιαδά μερέαν γραφ' μαναχός τ' ιστορίας με τ' ανθρώπς τη γαλατικού τη χωρίου τ' αντιφέρκεται σοι Ρωμαίοις. Τ' όνεμα «Αστερίκον» εξέβεν ασ' αρχαίον τ' ελλενικόν τη λέξην {{Polytonic|ἀστερίσκος}} («μικρόν αστέρ», «αστερίκον»). == Ιστορίας == Ο Αστερίκον εν τζιπ έξυπνος πολεμιστής κι εξέρ' ν' εγαντουρεύ' τ' εχθρούσατ'. Εν ψιλωτός και χαμελός. Ασ' άλλ' τη μερέαν εν ο Οβελίκον, τ' εν ψηλόν σαγλάμψ, άμα κι αγαθόν κι αγνόν σο νούνιγμανατ'. Όντες έτον χάταλον ερούξεν σο καζάν με το μαγικόν το ζωμίν κι επεκεί εχ' τρανόν δύναμη. Για τοι Ρωμαίοις λέγει: «''Είναι παλαλοί ατοίν οι ανθρώπ'!''» Ασα 1965 τη χρονίαν (''Le Tour de Gaul'') κιαδά μερέαν έχνε κι έναν σκύλον.<br /> Τα ιστορίας θέκουν ατά σα πενήντα χρόναι πριχού γεννίεται ο Χριστόν: Οι Ρωμαίοι (όχι τ' εμέτερ ασον [[Μαύρον Θάλασσα|Πόντον]], αλλά εκείν ασην Ρώμην τ' [[Ιταλία|Ιταλίας]]) επάτεσαν τον κόσμον όλον. Αέτς πα, η Γαλατία όλον εν αφκά α σοι Ρωμαίοις - άμα 'κ εν όλον! Έναν χωρίον με Γαλάτες 'κ προσκυνά τοι Ρωμαίοις. Αβούτοι χωρέτ' έχνε το μαγικόν το ζωμίν ντο δι ατείντζ τρανόν τακάτ κι αντιφέρκουνταν κι ευτάνε αντίστασην! Αέτς πα οι Ρωμαίοι λεγεωνάριοι που ωρίαζνε τα κάστρα σο Πετίμπονον, σο Ακουάριον, σο Λάβδανον και σο Μπαμπάορον εύραν την πελάνατουν. Σα πρώτα χρόναι τ' ιστορίας τ' έγραφεν ο Γκοσινί. Ασον θάνατονατ' (1977) κιαδά μερέαν ο Ουντερζό ζωγραφίζ' τα ιστορίας κ' εφτάει και το γράψιμον (<span style="background-color:#eeeeee;"> τα γκρι τ' ονέματ' αφκακαικά</span>). <br clear="all" /> {| width=100% cellspacing="0" |- ! style="background:#efefef;" | Νο. – Ελλενικόν τίτλος ! style="background:#efefef;" | Νο. – Γαλλικόν τίτλος ! style="background:#efefef;" | Νο. – Ποντιακόν/Ρωμαίικον τίτλος |- | 10 – Αστερίξ ο Γαλάτης (1990) | 01 – Astérix le Gaulois (1961) |- | 16 – Το χρυσό δρεπάνι | 02 – La Serpe d'or (1962) |- | 4 – Ο Αστερίξ και οι Γότθοι (1989) | 03 – Astérix et les Goths (1963) |- | 13 – Ο Αστερίξ μονομάχος | 04 – Astérix gladiateur (1964) |- | 09 – Ο γύρος της Γαλατίας | 05 – Le Tour de Gaule (1965) |- | 05 – Αστερίξ και Κλεοπάτρα | 06 – Astérix et Cléopâtre (1965) |- | 01 – Ο Αγώνας των αρχηγών (1989) | 07 – Le Combat des Chefs (1966) |- | 17 – Ο Αστερίξ στους Βρετανούς | 08 – Astérix chez les Bretons (1966) |- | 14 – Ο Αστερίξ και οι Νορμανδοί | 09 – Astérix et les Normands (1966) |- | 24 – Ο Αστερίξ λεγεωνάριος (1992) | 10 – Astérix légionnaire (1967) |- | 19 – Η ασπίδα της Αρβέρνης | 11 – Le Bouclier Arverne (1968) |- | 25 – Ο Αστερίξ στους Ολυμπιακούς αγώνες | 12 – Astérix aux Jeux Olympiques (1968) | 03 – Ο Αστερίκον σα Ολυμπιακά τ' Αγώνας (2007) |- | 18 – Ο Αστερίξ και η χύτρα | 13 – Le Chaudron (1969) |- | 03 – Ο Αστερίξ στην Ισπανία (1989) | 14 – Astérix en Hispanie (1969) |- | 06 – Η διχόνοια | 15 – La Zizanie (1970) | 01 – Το Ζιζάνιον (2000) |- | 20 – Ο Αστερίξ στους Ελβετούς | 16 – Astérix chez les Helvètes (1970) |- | 07 – Η κατοικία των θεών (1990) | 17 – Le Domaine des Dieux (1971) |- | 15 – Οι δάφνες του Καίσαρα | 18 – Les Lauriers de César (1972) |- | 08 – Ο μάντης | 19 – Le Devin (1972) |- | 12 – Ο Αστερίξ στην Κορσική | 20 – Astérix en Corse (1973) |- | 21 – Το δώρο του Καίσαρα (1991) | 21 – Le Cadeau de César (1974) |- | 23 – Το μεγάλο ταξίδι | 22 – La Grande Traversée (1975) |- | 02 – Οβελίξ και Σία (1989) | 23 – Obélix et compagnie (1976) |- | 11 – Ο Αστερίξ στους Βέλγους (1990) | 24 – Astérix chez les Belges (1979) |- |bgcolor=#eeeeee| 26 – Η μεγάλη τάφρος |bgcolor=#eeeeee| 25 – Le Grand Fossé (1980) |- |bgcolor=#eeeeee| 27 – Η οδύσσεια του Αστερίξ |bgcolor=#eeeeee| 26 – L'Odyssée d'Astérix (1981) |- |bgcolor=#eeeeee| 28 – Ο γιός του Αστερίξ |bgcolor=#eeeeee| 27 – Le Fils d'Astérix (1983) |- |bgcolor=#eeeeee| 29 – Ο Αστερίξ και η Χαλαλίμα |bgcolor=#eeeeee| 28 – Astérix chez Rahàzade (1987) |- |bgcolor=#eeeeee| 22 – Ρόδο και ξίφος |bgcolor=#eeeeee| 29 – La rose et la glaive (1991) |bgcolor=#eeeeee| 02 – Σπαθία και τραvτάφυλλα (2003) |- |bgcolor=#eeeeee| 30 – Η γαλέρα του Οβελίξ (1996) |bgcolor=#eeeeee| 30 – La galère d'Obélix (1996) |- |bgcolor=#eeeeee| 31 – O Αστερίξ και η Λατραβιάτα (2001) |bgcolor=#eeeeee| 31 – Astérix et Latraviata (2001) |- |bgcolor=#eeeeee| 32 – O Αστερίξ και η επιστροφή των Γαλατών (2006) |bgcolor=#eeeeee| 32 – Astérix et la rentrée gauloise (2003) |- |bgcolor=#eeeeee| 33 – Και ο ουρανός έπεσε στο κεφάλι τους |bgcolor=#eeeeee| 33 – Le ciel lui tombe sur la tête (2005) |} == Τονέματα σα ρωμαίικα, σα νεοελλενικά και σα γαλλικά == * Αστερίκον (Αστερίξ, Astérix) * Οβελίκον (Οβελίξ, Obélix) * Πανοραμίκον (Πανοραμίξ, Panoramix) * Žαγκοφωνίκον (Κακοφωνίξ, Assurancetourix) * Ακριτονίκον (Μαζεστίξ, Abraracourcix) == Το χωρίον == Το χωρίον εν φανταστικόν κι ευρισκάται σην Αρμορίκην, (τ' οσημερνόν η Βρετάνη) σα νοτιοδυτικά τη [[Γαλλία|Γαλλίας]], σην Κονδάτη (Ρεν) σουμά. Τόνεμαν αθέ 'κ εξέρουματο. Ο Ουντερζό είπεν να θέκουνατο σην Βρετάνην γιατί έτον εκεί σα χρόναι τη πολέμονος κι εγνώρτσεν καλά τα τοπέα. Ασ' αλλ' τη μερέαν, ο Γκοσινί είπεν να θέκουνατο σην θάλασσαν σουμά αέτς για να κλώσκουνταν οι χωρέτ' σον κόσμον. Σο χωρίον απές έχ' έναν ορμίν. == Συνδέσμ == * '''[[Εικόναν:Commons-logo.svg|13px]] [[:el:commons:category:Astérix|Ο Αστερίκον σα Commons]]''' * [http://www.asterix-obelix.nl/manylanguages/ Τα ιστορίας σα πολλά τα γλώσσας] * [https://web.archive.org/web/20091227011652/http://www.asterix-obelix.nl/manylanguages/greek-pontiaka.htm Τα ιστορίας σα ποντιακά] [[Κατηγορίαν:Κόμιξ|Αστερικον]] [[Κατηγορίαν:Βικιπαίδεια:Arthron]] r6akljc5krhq00brtwz4okzbi3ees3a Ατςαπάτ 0 143 30953 6580 2013-03-07T16:51:02Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 2 interwiki links, now provided by [[d:|Wikidata]] on [[d:q3567515]] [[M:User:Addbot/WDS|(translate me)]] 30953 wikitext text/x-wiki '''Ατςαπάτ''' εν τόνεμαν είνος ρωμαίικου χορού τη [[Πόντος|Πόντονος]], ασα [[Πλάτανα|Πλάτανα]]. == Τόνεμαν == Τόνεμαν «ατςαπάτ» εβγών' ασο [[Τουρκία|τούρκικον]] τόνεμαν τη Πλατανίων: (''Akçaabat''). Αβούτεν η πολιτείαν ευρίεται ασην [[Τραπεζούντα|Τραπεζούνταν]] δυτικά. Ασ' αβούτον τον τόπον εξέβαν πολλά τρανοί χορευτάδες. == Πως χορεύκεται == Το ατςαπάτ ένι αργόν μορφήν τη [[σέρρα|ςέρρας]] και πάει με τραγοδίαν εντάμαν. Ο ρυθμόσατ' ένι επτάσημον (7/8). Σα παλαιά τα χρόναι χορεύκουτον ασ' αγούρ μαναχόν. Ο χορόν αποκουμπισκάται σο [[τικ|τικ]] το διπλόν με πολλά λοέν φιγούρας. [[Κατηγορίαν:Μουσική|Ατσαπατ]] [[Κατηγορίαν:Χορός|Ατσαπατ]] tvu6xryx1u082615hjonwtzvnm8alka Ατσαπάτ 0 144 1178 1177 2009-03-06T14:59:17Z MF-Warburg 53 1 revision:&#32;import from incubator 1178 wikitext text/x-wiki #REDIRECT [[Ατςαπάτ]] 5yep81ih20drtecni2znycv5bz3viq9 Αυστρία 0 145 35913 34373 2024-10-26T05:24:57Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35913 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Αυστρία'''</big></big><br/>''Republik Österreich'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Austria.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Austria.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Austria.svg|300px]] |} [[File:Austria, administrative divisions - Nmbrs - colored.svg|thumb]] Η '''Δημοκρατίαν τη Αυστρίας''' (σα γερμανικά: ''Republik Österreich'') εν [[κράτος]] σο κέντρον τη [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν η [[Βιέννη]] κι έχ' πληθυσμόν σα 8.858.775 τ' ανθρώπ'ς (2019). Ο καγκελάριον ατ'ς εν ο Άλφρεντ Γκουζενμπάουερ. == Γεωγραφίαν == Η Αυστρίαν ευρίεται σα ανατολικά τη [[Λιχτενστάιν]], τη [[Ελβετία|Ελβετίας]], σα βόρεια τη [[Ιταλία|Ιταλίας]] και τη [[Σλοβενία|Σλοβενίας]], σα δυτικά τη [[Σλοβακία|Σλοβακίας]] και τη [[Ουγγαρία|Ουγγαρίας]] και σα νότια τη [[Τσεχία|Τσεχίας]] και τη [[Γερμανία|Γερμανίας]]. Απέσ' σα τρανά τα πολιτείας ατ'ς είναι το [[Γκρατς]] και το [[Λιντς]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Austria|Η Αυστρίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Αυστρία|Η Αυστρίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Austria|Χάρτες ασην Αυστρίαν]]''' * [http://www.austria.gv.at Το επίσημον ο ιστοτόπον τη κυβέρνησης τη Αυστρίας] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Αυστρία]] [[Κατηγορίαν:Ευρώπη|Αυστρία]] [[Κατηγορίαν:Αυστρία| ]] k6u45i05ic68j9i020p153245hzp5b4 Αυστραλία 0 146 36218 36212 2025-04-09T08:20:09Z CommonsDelinker 121 Replacing Coat_of_arms_of_the_Commonweatlh_of_Australia.svg with [[File:Coat_of_arms_of_the_Commonwealth_of_Australia.svg]] (by [[:c:User:CommonsDelinker|CommonsDelinker]] because: [[:c:COM:FR|File renamed]]: [[:c:COM:FR#FR3|Criterion 3]]). 36218 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Αυστραλία'''</big></big><br/>''Commonwealth of Australia'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Australia.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of the Commonwealth of Australia.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Australia_with_AAT_(orthographic_projection).svg|300px]] |} Η '''Αυστραλία''' (σα εγγλέζικα: ''Australia'') είναι [[Ωκεανίαν|ωκεανικόν]] [[κράτος]] σο νότιον τον Ειρηνικόν τον ωκεανόν. Πρωτεύουσαν ατ'ς εν η [[Καμπέρα]]. Ο πρόεδρον ατ'ς εν ο [[Μάικλ Τζέφρι Κέβιν Ραντ]] και ο πληθυσμόν ατ'ς ένι σα 20.406.800 τ' ανθρώπ'ς. == Γεωγραφία == Η Αυστραλίαν συνορεύ' με 4 κράτη: τη [[Νέα Ζηλανδία]], την Ινδονησία, την Παπούα-Νέα Γουινέα και το Ανατολικό Τιμόρ. Σα τρανά πολιτείας εξόν τη πρωτεύουσαν ανήκ'νε το Σύδνεϋ και η Μελβούρνη. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Australia|Η Αυστραλία σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Αυστραλία|Η Αυστραλίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Australia|Χάρτες ασήν Αυστραλίαν]]''' [[Κατηγορίαν:Κράτη|Αυστραλία]] [[Κατηγορίαν:Αυστραλία| ]] 7tx0wfllxxsagv9rgk42wqpt8a5u0wa Αφρικήν 0 147 37388 35233 2025-12-20T12:07:15Z Εὐθυμένης 2777 /* Αναφοράν */ 37388 wikitext text/x-wiki [[Αρχείον:Africa in the world (red) (W3).svg|thumb|right|Η Αφρικήν σον χάρτεν τη κόσμονος]] Η '''Αφρικήν''' εν δεύτερον τρανόν ήπειρον τη κόσμονος. Ο πληθυσμόν ατ'ς εν σα 900.000.000 τ' ανθρώπ'ς (2005)<ref>[https://web.archive.org/web/20080509144121/http://library.stanford.edu/africa/religion.html "World Population Prospects: The 2004 Revision"] ΟΗΕ (Τμήμαν Οικονομικών και Κοινωνικών Υποθεσίων)</ref> και βρέχεται ασόν [[Μεσόγειον θάλασσα|Μεσόγειον τη θάλασσαν]] σα βόρεια, τ' [[Ερυθρόν Θάλασσα|Ερυθρόν τη θάλασσαν]] σα βορειοανατολικά, τ' [[Ινδικόν Ωκεανός|Ινδικόν τ' ωκεανόν]] σα νοτιοανατολικά και τ' [[Ατλαντικόν ωκεανός|Ατλαντικόν τον ωκεανόν]] ση δύσαν. Με την [[Ευρώπην]] και την [[Ασίαν]] εντάμαν σχηματίζνε τον «''Παλαιόν τον Κόσμον''». == Αναφοράν == <references /> == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Africa|Η Αφρικήν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Αφρική|Η Αφρικήν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Africa|Χάρτες ασην Αφρικήν]]''' * [http://allafrica.com/ Ιστότοπον: AllAfrica.Com] * [https://web.archive.org/web/20081122150448/http://www.dmoz.org./Regional/Africa/ Open Directory Project: Αφρικήν] * [http://africadatabase.com/ Contemporary Africa Database] <br /> [[Κατηγορίαν:Γεωγραφίαν|Αφρικην]] 8xuutvf1041t81div7cc5jx8wovvhz3 Βέλγιον 0 148 36294 35915 2025-08-14T10:53:45Z Jacques Ballieu 7789 36294 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Βέλγιον'''</big></big><br/>''Royaume de Belgique'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Belgium.svg|125px]] | align="center" width="140px" | [[Αρχείον:Great coat of arms of Belgium.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Belgium.svg|300px]] |} Το '''Βασίλειον τη Βελγί''' (σα γαλλικά: ''Royaume de Belgique'', σα ολλανδικά: Koninkrijk België, σα γερμανικά: Königreich Belgien) εν [[κράτος]] ση δύσαν τ' [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν τα [[Βρυξέλλας]] κι βασιλέας ατ' εν ο [[Φίλιππος τη Βελγί|Φίλιππον τη Βελγί]]. Η χώρα έχ' πληθυσμόν σα 11.250.585 τ' ανθρώπ'ς (2016), 11.570.762 τ' ανθρώπ'ς (2018), 11.825.551 τ' ανθρώπ'ς (2025). == Γεωγραφίαν == Το Βέλγιον ευρισκάται σο Βόρειον τη θάλασσαν αφκά, σην [[Γερμανία|Γερμανίαν]], το [[Λουξεμβούργο|Λουξεμβούργον]], την [[Ολλανδία|Ολλανδίαν]] και την [[Γαλλία|Γαλλίαν]] απές. Έχ' τρανά πολιτείας την [[Αμβέρσα|Αμβέρσαν]], τη [[Γάνδη|Γάνδην]] και το [[Σαρλερουά]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:België - Belgique|Το Βελγίν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Βέλγιο|Το Βελγίν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Belgium|Χάρτες ασον Βελγίν]]''' * [http://www.Belgium.be/ Το επίσημον ο ιστοτόπον τη κυβέρνησης τη Βελγί] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Βέλγιον]] [[Κατηγορίαν:Ευρώπη|Βέλγιον]] [[Κατηγορίαν:Βέλγιον| ]] 8shszgt79dhgxto28cg4ctg2fhxxx2i Βικιπαίδεια 0 149 36087 36058 2024-12-12T23:33:11Z Wolverène 4171 36087 wikitext text/x-wiki [[Αρχείον:Wikimedia.png|thumb|right|140px|Το σήμα τ' ιδρυματί Wikimedia ντο 'κ εν' κερδοσκοπικόν]] Με τη '''Βικιπαίδειαν''' (αγγλ. ''Wikipedia'') εφτάμε την προσπάθειαν να χτίζομε [[Διαδίκτυον|διαδικτυακήν]] εγκυκλοπαίδειαν, να καλλιεργούμε και να πλουταίνουμ' ατέν σην γλώσσανεμουν και σ' όλια τ' άλλα γλώσσας. Η λέξη «Βικιπαίδεια» εν συγκόλλησην ασό χαβαϊκόν τη λέξην «[[wiki]]» (''αλήγορον'') και τ' [[Ελλενικόν γλώσσα|ελλενικόν]] τη λέξην «εγκυκλοπαίδεια». Ατό η εγκυκλοπαίδεια γράφκεται και τρανείν απ' ατείντς π' θέλνε να εργάσκουνταν. [[Κατηγορίαν:Βικιπαίδεια|*]] lmq1ikoivzfmgvxsjli0dapnakkdb2j Βικιπαίδεια/Αγορά 0 150 32901 32898 2016-06-14T11:00:24Z Frhdkazan 5174 32901 wikitext text/x-wiki #REDIRECT [[Βικιπαίδεια:Αγορά]] Αγαπητοί φίλοι και συμπατριώτες, η καλή σας προσπάθεια για να έχει θετικά αποτελέσματα, θα πρέπει να υποστηρίζεται από επαρκείς φιλολόγους ποντίους ή και άλλους συμπατριώτες μας που γνωρίζουν καλή σύνταξη και γραμματική της ποντιακής, οι οποίοι θα πρέπει να προσκληθούν για να υποστηρίξουν την αξιαίπενη προσπάθειά σας (πχ. υπάρχει ο '''Πανελλήνιος Σύλλογος Ποντίων Εκπαιδευτικών''', επίσης αξιόλογοι επιστήμονες στην '''Επιτροπή Ποντιακών Μελετών''' κλπ με πολούς επαίοντες που θα μπορούσαν να συμβάλλουν στην διόρθωση της Ηλεκτρονικής Ποντιακής Εγκυκλοπαίδειας). Τα λάθη Ως ΠΡΟς ΤΗΝ ΟΡΘΟΓΡΑΦΊΑ ΚΑΙ ΤΗΝ ΣΎΝΤΑΞΗ πάντως, οφείλω να ομολογήσω οτι είναι σοβαρά και θα πρέπει να τα προσέξετε, για να συντείνετε και εσείς σε μια καλύτερη βάση δεδομένων μιας γλώσσας που χάνετα (ειδικά ως προς την προφορά κατά την ανάγνωση. πχ ζζ κλπ). Η Γραμματική Τοπχαρά (πλην της ιστορικής αξίας της πάντως), δεν νομίζω οτι μπορεί να συμβάλει ως προς την νοηματική και ετυμολογική κατανόηση της διαλέκτου μας. Καλή δύναμη και καλή προσπάθεια! Η κριτική όταν είναι γόνιμη και καλόπιστη πρέπει να εισακούεται. Με πολύ εκτίμηση Θεόφιλος Καστανίδης απο τον Σύλλογο Ποντίων "ΑΡΓΟΝΑΥΤΑΙ-ΚΟΜΝΗΝΟΙ" ΠΑΡΕ ΤΗΛΕΦΩΝΟ ΜΗΝ ΜΕ ΞΕΧΝΑΣ ΘΕΛΩ ΝΑ ΣΕ ΡΩΤΗΣΩ ΚΑΤΙ e1zqtmp6j2oi7uql9pp2lwbvvq2vf5o Βικιπαίδεια/Βοήθεια 0 151 4281 1273 2009-03-14T21:56:26Z Abigor 163 Redirected page to [[Βοήθειαν:Περιεχόμενα]] 4281 wikitext text/x-wiki #REDIRECT [[Βοήθειαν:Περιεχόμενα]] ii8hki0k9cwg8nclb9n1k7ph2h3t9tr Βικιπαίδεια/Βοήθεια en 0 152 1275 1274 2009-03-06T14:59:30Z MF-Warburg 53 1 revision:&#32;import from incubator 1275 wikitext text/x-wiki #REDIRECT [[Βικιπαίδεια:Βοήθεια en]] 40rsiqa2q11fpy4rk31vrian3esd057 Βικιπαίδεια/Δικαιώματα πνευματί 0 153 1277 1276 2009-03-06T14:59:30Z MF-Warburg 53 1 revision:&#32;import from incubator 1277 wikitext text/x-wiki #REDIRECT [[Βικιπαίδεια:Δικαιώματα πνευματί]] ozoj7c8yfp7d0bsi9tj2raq6s5f70br Βικιπαίδεια/Ντο 'κ εν η Βικιπαίδεια 0 154 1279 1278 2009-03-06T14:59:31Z MF-Warburg 53 1 revision:&#32;import from incubator 1279 wikitext text/x-wiki #REDIRECT [[Βικιπαίδεια:Ντο 'κ εν η Βικιπαίδεια]] nivzkz7bb5n22e8qbl0fd0ugu6qij28 Βικιπαίδεια/Ντο εν η Βικιπαίδεια 0 155 1281 1280 2009-03-06T14:59:31Z MF-Warburg 53 1 revision:&#32;import from incubator 1281 wikitext text/x-wiki #REDIRECT [[Βικιπαίδεια:Ντο εν η Βικιπαίδεια]] c8khaq4m1jhlh3jmspyf2gobeqjmfqr Βικιπαίδεια:GNU Free Documentation License 4 156 32483 31750 2015-08-04T22:06:38Z YiFeiBot 4458 Ρομπότ: Μεταφέρω 2 σύνδεσμους interwiki, που τώρα παρέχονται από τα [[d:|Wikidata]] στο [[d:q5829664]] 32483 wikitext text/x-wiki <center> <div class="boilerplate metadata" style="text-align:justify; background: #efefff; border: #9F9FFF 1px solid; padding:10px; width:90%;"> {{shortcut|[[ΒΠ:GFDL]]}} <p> [[Image:Heckert GNU white.png|80px|left|]] Αφκά καικά ευρισκάται το γράψιμον τη '''GNU Free Documentation License''' ([[Άδεια Ελεύθερης Τεκμηρίωσης GNU|Άδεια Ελεύθερης Τεκμηρίωσης GNU]]). Αβούτον εκανονίζ' με ποίον τρόπον θα μεταχειρίσκουμες τα γραψίματα τη [[Βικιπαίδεια|Βικιπαίδειας]]. Επορείτε να δεαβάσετε πλέα πληροφορίας ση σελίδαν [[Βικιπαίδεια/Δικαιώματα πνευματί|Βικιπαίδεια:Δικαιώματα πνευματί]].<br /> <small>Αβούτο το αγγλικόν το γράψιμον εν τ' ασ' ούλτς σημαντικόν! Αν σ'άλλα γλώσσας εν αλλέτερον, αβούτον θα τερείτε! </small> </p></div></center> __NOTOC__ Version 1.2, November 2002 <pre> Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. </pre> ==0. PREAMBLE== The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. ==1. APPLICABILITY AND DEFINITIONS == This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words. A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque". Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only. The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition. The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License. ==2. VERBATIM COPYING == You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. ==3. COPYING IN QUANTITY == If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. ==4. MODIFICATIONS == You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: * '''A.''' Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. * '''B.''' List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement. * '''C.''' State on the Title page the name of the publisher of the Modified Version, as the publisher. * '''D.''' Preserve all the copyright notices of the Document. * '''E.''' Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. * '''F.''' Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. * '''G.''' Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. * '''H.''' Include an unaltered copy of this License. * '''I.''' Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. * '''J.''' Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. * '''K.''' For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. * '''L.''' Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. * '''M.''' Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version. * '''N.''' Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section. * '''O.''' Preserve any Warranty Disclaimers. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. ==5. COMBINING DOCUMENTS == You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements." ==6. COLLECTIONS OF DOCUMENTS == You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. ==7. AGGREGATION WITH INDEPENDENT WORKS == A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate. ==8. TRANSLATION == Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail. If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title. ==9. TERMINATION == You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. ==10. FUTURE REVISIONS OF THIS LICENSE == The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. = How to use this License for your documents = To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: <pre> Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". </pre> If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this: with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. ----- Copyright notice above.<br> 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA<br> Verbatim copying and distribution of this entire article is permitted in any medium without royalty provided this notice is preserved. <div class="messagebox" style="width:100%;"> Contrary to any other marking or statement in this page, the above text of the license is '''NOT''' distributed under the GNU FDL. </div> [[Category:Βικιπαίδεια|GNU Free Documentation License]] [[ro:GNU FDL]] akoej5zr67ipji4ek9yq150f6twcgi5 Βικιπαίδεια:Νομς και συμβουλάς 4 157 33991 33964 2018-10-27T16:43:24Z Wim b 3723 Ανάκληση των αλλαγών [[Special:Contributions/91.140.89.219|91.140.89.219]] ([[User talk:91.140.89.219|συζήτηση]]) επιστροφή στην προηγούμενη αναθεώρηση [[User:Addbot|Addbot]] 30959 wikitext text/x-wiki {{:Βικιπαίδεια: Πολιτική}} Η [[Βικιπαίδεια|Βικιπαίδειαν]] εν έργον ομαδικόν και ίνεται για να χτίζομε έναν καλόν [[εγκυκλοπαίδεια|εγκυκλοπαίδειαν]]. Για την δουλείαν ντ'εφτάμε σην Βικιπαίδειαν έχομε '''τα νομς και τα συμβουλάς''', τα οποία επρέπ να ισιαύομε! Αν εφτάμε αλέτερα και ο καθαείς εφτάει άμον ντο θελ, έργον πα 'κ χτίζομε. Αβούτα τα νομς και συμβουλάς ακόμαν γράφκουνταν και το γράψιμον 'κ ετελέθεν. Άμαν ορισμένα νομς εποίκεν ατα επίσημα ο [[Χρήστες:Τςίμπον Ουέιλς|Τςίμπον Ουέιλς]] (τέρεν και [http://mail.wikimedia.org/pipermail/wikien-l/2002-November/000083.html αβούτον το γράψιμον σο Wikien-l] και [[:w:en:User:Jimbo_Wales/Statement_of_principles|Jimbo Wales/Statement of principles]]). == Κεντρικά νομς τη Βικιπαίδειας == Αβούτα τα νομς χρειάσκουνταν για χτίζομε την Βικιπαίδειαν και 'κ αλλάζνε. * '''Η Βικιπαίδεια εν εγκυκλοπαίδεια:''' Μεταχειρίσκουμες τη Βικιπαίδειαν για να εφτάμε εγκυκλοπαίδειαν μαναχόν. Δεάβασον [[Βικιπαίδεια/Ντο 'κ εν η Βικιπαίδεια|ντο 'κ εν η Βικιπαίδεια]]. * '''Ουδετερότητα:''' Γράψον [[Βικιπαίδεια/Ουδετερότητα|ουδέτερα]]! Τα ιδέας και τα γεγονότα γράψον ατα με τρόπον που δέχκουνταν ατα ατοί π' ερέχκουνταν ατα και ατοί που 'κ ερέχκουνταν ατα. Αδακά εννοούμε να δέχκουνταν ατα με λογικήν και θίχως φανατισμόν. * '''Ελεύθερον γόμομαν:''' Η Βικιπαίδειαν εν ανοιχτόν εγκυκλοπαίδεια και δημοσιεύκεται με τα νομς τη [[GNU Free Documentation License]]. Βαλέστε γράψιμον και φωτογραφίας σην Βικιπαίδειαν όνταν κατέχετε τα [[Βικιπαίδεια/Δικαιώματα πνευματί|δικαιώματα πνευματί]] μαναχόν! Αν εφτάτε αλέτερα, το έργον θα εςς προβλήματα πολλά τρανά. * '''Καμίαν 'κ εφτάτε προσωπικόν επίθεση:''' Οι χρήστες τη Βικιπαίδειας είναι ασον κόσμον όλον κι έχνε αλέτερον ασο τεσόν το νούνιζμαν. Θα καλατζέβουμε, καμίαν 'κ θα υβρίσκουμες. == Ποίος οράζ' ατα; == '''Εσύ''' γραφς τη Βικιπαίδειαν! Αρχισυντάκτην (ρεντακτόρης) αδαπές πα 'κ εςς. Ο χρήστες τερεί τα [[Ειδικόν:Recentchanges|υστερνά αλλαγάς]] κι αν εβρεί γραφόμενα ντο 'κ είναι σωστά ή έχνε μορφήν κακόν, κι αν εςς σον νούνατ' τα σωστά, εφτάει ατα κι άλλο καλλίον. Αδαπές ο καθαείς εν συνγραφέας και αρχισυντάκτες. == Τέρεν και == * [http://wikimediafoundation.org/wiki/Policies Policies] (αγγλικά) – Βασικά νομς για όλεα τα Βικιπαίδειας <div id="source"> {| class="toccolours" style="border: 1px solid #aaaaaa; background-color: #f9f9f9; padding: 5px; margin-top: 1em; margin-bottom: -0.5em; clear: both; width:100%;" | width="30px"| [[Εικόναν:Wikipedia-logo.png|25px|]] | Αβούτο το γράψιμον επαίραμε και μεταφράσαμ'ατο ασο [[:de:|γερμανικόν τη Βικιπαίδειαν]], ασ' άρθρον [[:de:Wikipedia:Grundprinzipien|Wikipedia:Grundprinzipien]] (άδεια [[Άδεια Ελεύθερης Τεκμηρίωσης GNU|GNU FDL]]). (<span class="plainlinks">[http://de.wikipedia.org/w/index.php?title=Wikipedia:Grundprinzipien&action=history ιστορικόν/συνγραφιάντ]</span>). |}</div> [[Κατηγορίαν:Βικιπαίδεια|Νομς και συμβουλας]] [[dv:ވިކިޕީޑިޔާ: ފަސް ތަނބު]] [[ml:വിക്കിപീഡിയ:പഞ്ചസ്തംഭങ്ങള്‍]] a2skr1nmw1ka615pu6pj4orff0xyrrn Βικιπαίδεια:Πολιτική 4 158 4109 3649 2009-03-10T01:51:03Z Sinopeus 168 σνδ 4109 wikitext text/x-wiki {| width="25%" cellpadding="0" style="padding: 0.3em; float:right; margin-left:15px; border: 1px solid #FFE7BA; background:#FFFFE0; text-align:center; font-size:95%;" | style="background: #FFE7BA; padding: 3px 5px; text-align:center;" |'''[[Βικιπαίδεια: Νομς και συμβουλάς|Πολιτική τη Βικιπαίδειας]]''' |- |style="padding: 0.3em; font-family: sans-serif; font-size: 0.9em; background-color: #FFE7BA"| Βασικά |- |style="padding: 0.3em; line-height: 1.5em"| [[Βικιπαίδεια:Ντο εν η Βικιπαίδεια|Ντο εν η Βικιπαίδεια]] <br/> [[Βικιπαίδεια:Ντο 'κ εν η Βικιπαίδεια|Ντο 'κ εν η Βικιπαίδεια]] <br/> [[Βικιπαίδεια:Δικαιώματα πνευματί|Δικαιώματα πνευματί]] <br/> [[Βικιπαίδεια:Βοήθεια|Βοήθεια]] |} l1qk81qflmw27qci8spqgjx6q0ew4nu Βικιπαίδεια:Αγορά/Αρχείον 2009 4 159 35276 10283 2022-12-17T20:39:39Z Εὐθυμένης 2777 ([[c:GR|GR]]) [[File:Tr ponto2.gif]] → [[File:Flag of Pontus (2).svg]] 35276 wikitext text/x-wiki __NEWSECTIONLINK__ <ul><li>'''pnt:''' {| class="plainlinks" width="50%" align="center" border="0" cellpadding="2" cellspacing="2" style="margin-bottom:0.5em; background:#FFF; font-size:1.2em; text-align:center;" | [{{fullurl:Wp/pnt/Βικιπαίδεια/Αγορά|action=edit&section=new}} Αρχινέστε γράψιμον σην αγοράν<br>Arhineste ğrapsimon sin ağoran] |} {| align="right" style="background:#FFF5EE; margin:0 0 0.5em 1em;" id="toc" width="220px" |- |colspan="2" align="center" | [[Image:Diogenes looking for a man - attributed to JHW Tischbein.jpg|center|200px]] |- |colspan="2" align="center" | <big>'''Αγορά'''</big><br /> ---- |- |style="background:#EEDFCC;" colspan="2" align="center"| '''Χρήσιμα''' |- |colspan="2" align="center"| '''[[Βικιπαίδεια:Αδακά ψηφίζομεν για νοματάντς|Αδακά ψηφίζομεν για νοματάντς και γιαρίφς]]'''<br /> [[Αρχικόν σελίδα|Αρχικόν σελίδαν]]<br /> [[Βικιπαίδεια|Βικιπαίδεια]]<br /> [[Βικιπαίδεια/Ντο εν η Βικιπαίδεια|Ντο εν η Βικιπαίδεια]]<br />[[Βικιπαίδεια/Ντο 'κ εν η Βικιπαίδεια|Ντο 'κ εν η Βικιπαίδεια]] <br /> [[Βικιπαίδεια/Βοήθεια|Βοήθεια]] <br /> [[Βικιπαίδεια/Δικαιώματα πνευματί|Δικαιώματα πνευματί]]<br />[irc://irc.freenode.net/wikipedia-pnt Παρακάθ σο IRC] |} <div style="background:#EEDFCC; text-align:left; margin:0px; padding:3px;"> <span style="font-size:bigger;">'''Χαιρετίας και καλωσόρεμαν σ' όλεα τα Βικιπαιδία!'''</span> </div> <div style="background:#FFF5EE; padding:2px; margin-top:2px;"> Οι παλιοίεμουν σ' αρχαίον τ' ελλενικόν την γλώσσαν έλεγαν «αγοράν» τον τόπον που εποίνανε τα μουχαμπέτε και τα καλατσίασατουν. Αέτς πα, όλ εμείστουν θα καλατσέβουμε αδά σην αγοράνεμουν. Σον αρχαίον την αγοράν ο Διογένες ο Σινωπέας αραεύκουτον τ' ανθρώπ'ς (εικόνα). Εμείστουν αδά πα θα ευρίσκουμ' ατείντζ. Αρχινέστε γράψιμον [{{fullurl:{{FULLPAGENAME}}|action=edit&section=new}} αφκά καικά] και βαλέστε την '''υπογραφήνεσουν''': <nowiki>~~~~</nowiki>. </div> </li> <li>'''en:''' Requests for the [[m:bot|bot]] flag should be made on this page. This wiki uses the [[m:bot policy|standard bot policy]], and allows [[m:bot policy#Global_bots|global bots]] and [[m:bot policy#Automatic_approval|automatic approval of certain types of bots]]. Other bots should apply below.</li> </ul> <hr size="5px" noshadow> ==Έγκριση== '''Τερέστεν [http://incubator.wikimedia.org/w/index.php?title=Template:Wp/pnt/%CE%A0%CF%81%CF%8C%CF%84%CF%85%CF%80%CE%BF%CE%BD:%CE%A7%CE%B1%CF%80%CE%AD%CF%81%CE%B1%CE%B9&diff=263154&oldid=262981 αδακά] παίδια. Επήραμεν την έγκρισην.''' --[[User:Makedonier|Μακεδόνας]] 14:36, 8 January 2009 (UTC) ==Final localisation== Παιδιά πρέπει να δηλώσουμε τα παρακάτω: 1) Το όνομα της ιστοσελίδας το οποίο πρέπει να είναι σαν το αγγλικό Wikipedia δηλαδή υποθέτω Βικιπαίδεια 2) Την περιοχή ονόματος για άρθρα που είναι συνήθως ίδια με το όνομα της ιστοσελίδας δηλαδή πάλι Βικιπαίδεια (για παράδειγμα δείτε την αγορά η οποία όταν μετακινηθούμε στην ιστοσελίδα μας θα γίνει Βικιπαίδεια:Αγορά 3) Την περιοχή συζήτησης της Βικιπαίδειας (Wikipedia_talk) δηλαδή: κάθε άρθρο έχει τη συζήτησή του έτσι λοιπόν τα άρθρα που θα είναι π.χ. Βικιπαίδεια:Αγορά θα έχουν και συζήτηση η οποία προτείνω να είναι ως Καλάτσεμαν_Βικιπαίδειας δηλαδή θα γίνεται σαν Καλάτσεμαν_Βικιπαίδειας:Αγορά Αυτές οιπροτάσεις που κατέθεσα είναι οι πιο λογικές σύμφωνα με την μετάφραση που γίνεται συνήθως ωστόσο εγώ δεν μιλάω τα ποντιακά όπως εσείς οπότε καταθέτω εδώ την πρόταση. Αν μέχρι το πολύ αύριο (γιατί πρέπει να παραδωθεί άμεσα η μετάφραση) δεν υπάρξει αμιά ένσταση θα δώσω τις προτάσεις μου για τις τελευταίες μεταφράσεις.--[[User:ZaDiak|ZaDiak]] 17:03, 10 January 2009 (UTC) :Δεν ξέρω αν επικοινώνησες ήδη μαζί τους ή αν κατέθεσες ήδη τις προτάσεις σου, αλλά σε κάθε περίπτωση πιστεύω ότι είναι σωστές (οι δύο πρώτες τουλάχιστον) και ότι σήμερα θα πρέπει να κατατεθούν οπωσδήποτε. Αυτή η δήλωση φαίνεται να είναι το τελευταίο βήμα πριν το άμεσο άνοιγμα του project. Η σημαντική ένσταση μου είναι η εξής: το τρίτο μήνυμα θα πρέπει να ονομαστεί <span style="color:blue">Βικιπαίδεια_καλάτσεμαν</span> κατά αντιστοιχία με την ελληνική Βικιπαίδεια: [[w:el:Βικιπαίδεια_συζήτηση:Βοήθεια]]. Δες και τον γαλλικό τίτλο [[w:fr:Discussion Wikipédia:Le Bistro]] και όχι Discussion_''de''_''la''_Wikipédia.<br />--[[User:Omnipaedista|Omnipaedista]] 07:17, 11 January 2009 (UTC) ::Δεν ξέρω τόσο καλά ποντιακά όσο εσύ αλλά να σου σημειώσω κάτι: Στο βικιεπιστήμιο το έχουμε Συζήτηση Βικιεπιστημίου και στο Βικιλεξικό Συζήτηση:Βικιλεξικό. Σαν συμβουλή στο λέω μην παίρνεις ότι έχει η Βικιπαίδεια σαν "νόμο" γιατί δημιουργήθηκε πριν πολύ καιρό. Ωστόσο η γνώση μου στα ποντιακά δεν είναι και τόσο καλή κι έτσι πιστεύω ότι η πρότασή σου είναι καλύτερη από τη δική μου. Οπότε μέχρι το απόγευμα αν δεν έχει κάποιος καμιά καλύτερη πρόταση θα καταθέσω τη δική σου για το τρίτο μέρος. Φιλικά.--[[User:ZaDiak|ZaDiak]] 10:54, 11 January 2009 (UTC) :::Λοιπόν κατέθεσα τις 2 πρώτες προτάσεις μου και στην τρίτη κατέθεσα του omnipaedista.--[[User:ZaDiak|ZaDiak]] 17:59, 11 January 2009 (UTC) ::::Παρεμπιπτόντως, σ'ευχαριστώ για την άμεση ειδοποίηση περί της fnl. lοclsn. Να σημειώσω, για την ιστορία, ότι το καλάτσεμαν βικιπαίδειας ήταν μια χαρά από γραμματικής άποψεως, απλά δε συμβάδιζε με τη σύμβαση (γιατί περί σύμβασης πρόκειται) των πιο παλιών βικιπαιδειών όπως αυτών που ανέφερα. Αναμένω να ξανασυνεργαστούμε και σαν ''χρηστ'' της νέας κοινότητας! --[[User:Omnipaedista|Omnipaedista]] 11:54, 12 January 2009 (UTC) ντο να λέω 'κ ξέρω... μπράβο παιδιά (για την έγκριση). :-) ZaDiak, καλά έκανες. :-) --[[User:Sinopeus|Sinopeus]] 22:40, 11 January 2009 (UTC) ==Cappadocian== Hello friends. I am a romance-speaker but, in the last years, I have begun to get interested in hellenic-languages, from Myceanean to contemporary (I am thinking about taking lessons in modern greek). As you know, I have been one of the supporters of Grc-pedia, since I discovered this project. It is positive that hellenic-family languages are as well represented in wiki projects, as romance family is. I am very curious, about cappadocian since I have learned about it. I know that is an extint (or nearly extint) hellenic language, with a special grammatical structure and with indoeuropean roots but morphologically not indoeuropean. I think for it a request for wikisource is the best. [[User:Crazymadlover|Crazymadlover]] :Well your idea is nice but I think you won't be able to form a community because only a few people can speak the language. I live in greece but I don't know anybody who speaks the language.--[[User:ZaDiak|ZaDiak]] 15:32, 11 January 2009 (UTC) ::This is the reason that I suggest Wikisource. Wikisource can be edited by a person. It just needs a lingüist (an expert), in this case. [[User:Crazymadlover|Crazymadlover]] :::I have suggested above the creation of pontic lemmas on the english wiktionary. Something similar could be feasible for cappadocian lemmas as well; thanks for (indirectly) giving me this idea. Regarding texts in cappadocian, it will be very hard to convince anyone that they belong to any Wikimedia website other than el.wikisource.org. --[[User:Omnipaedista|Omnipaedista]] 12:00, 13 January 2009 (UTC) == Congratulations== My congratulations for the approval. [[User:Crazymadlover|Crazymadlover]] :Thanks! (on behalf of the ''pnt'' community) --[[User:Omnipaedista|Omnipaedista]] 12:00, 13 January 2009 (UTC) ==Tsakonian, too== Exploring Incubator Ι have found the test page of [[incubator:Wp/tsd/Main_Page|Tsakonian wikipedia]] [[User:Crazymadlover|Crazymadlover]] :You did well by raising the hellenic languages issues in a public Wikimedia website; colloquies on this kind of projects rarely occur publically or if they do, the discussion isn't sober (and of course it is usually in modern Greek and only grecophones can participate in the argumentation). However, since this is a long discussion let's continue it in my [[User_talk:Omnipaedista|talk-page]]. --[[User:Omnipaedista|Omnipaedista]] 11:25, 16 January 2009 (UTC) ==ΕΠΙΚΟΙΝΩΝΙΑ ΣΤΟ ΤΣΑΤ== Γεια χαρά σε όλους σας. *Σας ευχαριστώ για τις συνεισφορές σας και εγώ από τη πλευρά μου. *Είμαι ιδιαίτερα χαρούμενος και περήφανος για το κατόρθωμα μας. *Δημιουργήσαμε τη Ποντιακή Βικιπαίδεια. Θα σας παρακαλούσα αν έχετε τη καλοσύνη να έρθουμε μιά μέρα κοινής αποδοχής μέσα στο Σαβατοκύριακο σε επικοινωνία. Σκέφτομαι να δημιουργήσω ένα μπλόγκ για τη Ποντιακή Βικιπαίδεια, στο οποίο θα έχουμε όλοι μας τη δυνατότητα σύνταξης άρθρων/κειμένων και τη προσθήκη ειδήσεων και πληροφοριών. Επειδή όλο αυτό το καιρό που εκπροσωπούσα για επικοινωνιακούς λόγους την κοινότητα μας στα διάφορα συνέδρεια και εκδηλώσεις, ήρθα σε επαφή με πολύ κόσμο, όπως σας έχω ήδη αναφέρει και μέσω των μέηλ που λάβατε, θα σας πρότεινα να συνενοηθούμε μεταξύ μας για να βγάλουμε ένα δελτίο τύπου, ουτοσώστε να ενημερώσουμε και τους ανθρώπους αυτούς καθώς τη κοινή γνώμη (για το πως θα σας εξηγήσω...). Επίσης θα μπορούσαμε να συζητήσουμε και κάποια διαδικαστικά θέματα, όπως: διαχειριστές, πλάνο κτλ. :ΠΟΙΑ ΗΜΕΡΑ ΚΑΙ ΩΡΑ ΣΑΣ ΒΟΛΕΥΕΙ ΝΑ ΤΑ ΠΟΥΜΕ ([irc://irc.freenode.net/wikipedia-pnt IRC]); :ΜΗΠΩΣ ΝΑ ΤΟ ΚΑΝΟΝΙΣΟΥΜΕ ΠΡΩΙΝΕΣ ΩΡΕΣ ΣΑΒΒΑΤΟΥ Ή ΚΥΡΙΑΚΗΣ; :ΜΗΠΩΣ ΜΕΣΗΜΕΡΑΚΙ; :ΜΗΠΩΣ ΑΡΓΑ ΤΟ ΒΡΑΔΥ; :ΘΑ ΣΑΣ ΠΑΡΑΚΑΛΕΣΩ ΝΑ ΤΟ ΚΑΝΟΝΙΣΟΥΜΕ ΤΟ ΣΥΝΤΟΜΟΤΕΡΟ. :ΣΑΣ ΕΥΧΑΡΙΣΤΩ ΠΟΛΥ ΠΑΙΔΙΑ ΚΑΙ ΕΥΧΟΜΑΙ Ο ΘΕΟΣ ΝΑ ΣΑΣ ΕΧΕΙ ΟΛΟΥΣ ΚΑΛΑ!!! --[[User:Makedonier|Μακεδόνας]] 03:44, 16 January 2009 (UTC) ::Κυριακή βράδυ μου κάνει το νωρίτερο επειδή μέχρι Κυριακή απόγευμα φιλοξενώ συγγενείς από Ελλάδα. Μέχρι τότε είμαι εδώ όποτε τύχει. <br> ::Φυσικά είσαι ελεύθερος να δημιουργήσεις το blog που λες, αλλά στην φάση που βρισκόμαστε το θεωρώ περιττό. Καλά θα ήταν να φροντίσουμε ο κόσμος να έρχεται στην ίδια την pnt.wiki, η κοινότητα της οποίας προς το παρόν ήδη είναι πολύ πολύ μικρή. Θα προτιμούσα από το να γράφει ο κόσμος σε διάφορα blog '''για''' την pnt.wiki (όπως εδώ και λίγους μήνες γίνεται ήδη από άγνωστους φίλους, που δεν έχουν γράψει λέξη εδώ), καλύτερα να '''συμβάλλει ενεργά στην δημιουργία της'''. Φοβάμαι πως wiki από εδώ, blog από εκεί, θα κουράσουμε τον κόσμο πριν αρχίσει να ασχολείται καν. Είμαστε ελεύθεροι ο κάθε ένας να δημιουργήσει ιστολόγιο ως υποσελίδα της σελίδας χρήστη, όπως κάνουν σε όλες τις Βικιπαίδειες (π.χ. [[:el:Χρήστης:Badseed/Αχριστολόγιο]], με την ευκαιρία διαβάστε «τι δεν είναι οι διαχειριστές» ;-). Ακόμη θα μπορούσαμε να δημιουργήσουμε '''εντός της pnt.wiki''' δελτίο τύπου του είδους [[:de:Wikipedia:Kurier]]. Είμαι πρόθυμος να βοηθήσω σε αυτά. Θα ήθελα όμως ο κόσμος που ενδιαφέρεται για την pnt.wiki να πηγαίνει '''ακριβώς εκεί''', μαζί με ότι έχει να προσφέρει. --[[User:Sinopeus|Sinopeus]] 12:15, 16 January 2009 (UTC) ==Συνάντηση Σαββατοκύριακου== Δείτε τι απάντησαν παρακάτω, οι αγαπητοί φίλοι-μέλη της κοινότητος: *[[User:Consta|Χρήστης '''Consta''']] [http://incubator.wikimedia.org/w/index.php?title=User_talk:Makedonier&diff=264502&oldid=264469 '''είπε ότι:'''<br> Eίμαι σύμφωνος με την ιδέα. Λίγο δύσκολο για μένα, γιατί θα αρχίσει η εξεταστική μου και προετοιμάζομαι πυρετοδώς (λόγω εξαιρετικά ευρείας ύλης εξετάσεων). Ίσως καταφέρω να ξεκλέψω λίγο χρόνο το Σάββατο (θα προσπαθείσω να το σιγουρέψω) το πρωί κατα τις 11.30-12.00. Δυστυχώς δεν μπορώ να βρω άλλο κενό αν και θέλω πάρα πολύ να συμμετάσχω στη συζήτηση. Πάντως είμαι σύμφωνος για τα περί ιστολόγιου(μπλοκ) ποντιακής βίκι και περί δελτίου τύπου νομίζω ό,τι είναι πολύ καλες ιδεές για το νέο μας εγχείρημα. Αν δεν μπορέσω τελικά ελπίζω να μου πείτε τι έγινε - τι έχει αποφασιστεί!] *O [[User:ZaDiak|Χρήστης '''ZaDiak''']] [http://incubator.wikimedia.org/w/index.php?title=User_talk:ZaDiak&diff=prev&oldid=264494 '''είπε ότι:'''<br> Το Σαββατοκύριακο όποτε και να κανονίσετε θα είμαι ελεύθερος αρκεί να μου το πείτε από πιο πριν για να ξέρω!] *O [[User:Omnipaedista|Χρήστης '''Omnipaedista''']] [http://incubator.wikimedia.org/w/index.php?title=User_talk:Omnipaedista&diff=prev&oldid=264528 '''είπε ότι:'''<br> Mέχρι την Κυριακή, εκτός απροόπτου, θα είμαι διαθέσιμος!] *O [[User:Sinopeus|Χρήστης '''Sinopeus''']] -που είναι και ο 1ος προσωρινός διαχειριστής- [http://incubator.wikimedia.org/w/index.php?title=Wp/pnt/%CE%92%CE%B9%CE%BA%CE%B9%CF%80%CE%B1%CE%AF%CE%B4%CE%B5%CE%B9%CE%B1:%CE%91%CE%B3%CE%BF%CF%81%CE%AC&diff=prev&oldid=264497 '''είπε ότι:'''<br> Κυριακή βράδυ μου κάνει το νωρίτερο επειδή μέχρι Κυριακή απόγευμα φιλοξενώ συγγενείς από Ελλάδα. Μέχρι τότε είμαι εδώ όποτε τύχει!] *Ο [[User:Asteraki|Χρήστης '''Asteraki''']] , θα εκπροσωπηθεί -και θα ενημερωθεί- από εμένα. *Τέλος, ο συντάξας αυτού του μυνήματος [[User:Makedonier|Χρήστης '''Makedonier''']] -που είναι και ο 2ος προσωρινός διαχειριστής- σας ενημερώνω ότι θα είμαι στο [irc://irc.freenode.net/wikipedia-pnt IRC-CHAT] και το Σάββατο και τη Κυριακή. Έτσι, σύμφωνα με τα παραπάνω προτείνω να γίνουν 2 συναντήσεις στο [irc://irc.freenode.net/wikipedia-pnt IRC-CHAT] λόγω μη εναρμονισμένου ελεύθερου χρόνου. δείτε: === 1η Συνάντηση το Σάββατο στις 12:00 ώρα Ελλάδος === *[[User:Consta|Χρήστης '''Consta''']] (θέλει πολύ να είναι παρών, αν και δεν έχει ελευθερία χρόνου !!!). *O [[User:ZaDiak|Χρήστης '''ZaDiak''']] (θα ενημερωθεί αμέσως από μένα μέσω κινητού !!!). *O [[User:Omnipaedista|Χρήστης '''Omnipaedista''']] (θα μας τιμήσει με τη παρουσία του !!!). *[[User:Makedonier|Χρήστης '''Makedonier''']] (θα εκπροσωπό και το [[User:Asteraki|Χρήστη '''Asteraki''']] !!!). :Σημ.: [[User:Sinopeus|Χρήστης '''Sinopeus''']] θα είναι δικαιολογημένα απών. Ωστόσο προτίθεμε να τον ενημερώσω -για τη Σαββατιάτικη συζήτηση μας- κατά τα μεσάνυχτα της Κυριακής (δείτε παρακάτω. Ενώ θα είμαι μέσα από τις 23:30 ώρα Ελλάδος, δηλαδή 22:30 ώρα Γερμανίας) που θα έχει μάλλον χρόνο. === 2η Συνάντηση τη Κυριακή στις 23:30 ώρα Ελλάδος === *O [[User:Sinopeus|Χρήστης '''Sinopeus''']]. *[[User:Makedonier|Χρήστης '''Makedonier''']] (θα εκπροσωπώ και το [[User:Asteraki|Χρήστη '''Asteraki''']].) *[[User:ZaDiak|Χρήστης '''ZaDiak''']] :Σημ.: Αν θέλει να συμμετέχει και κάποιος αλλος και τότε στη συζήτηση-ενημέρωση με τον Sinopeus, μπορεί ευχαρίστως να το κάνει. '''Ευχαριστώ.''' --[[User:Makedonier|Μακεδόνας]] 07:25, 17 January 2009 (UTC) OK --[[User:Sinopeus|Sinopeus]] 16:49, 17 January 2009 (UTC) == Admin pnt.wiki == Φίλοι, πήραμε την έγκριση και η ποντιακή Βικιπαίδεια θα γίνει πραγματικότητα. Συνεπώς η «θητεία» μου ως προσωρινός διαχειριστής της δοκιμαστικής ΒΠ εδώ στο incubator σύντομα θα λήξει. Για το λόγο αυτό προτείνω να διεξαχθεί ψηφοφορία για την παραχώρηση δικαιωμάτων διαχειριστή (νοματέα) στην νέα ΒΠ. Η ψηφοφορία θα πραγματοποιηθεί σε υποσελίδα της αγοράς, που σύντομα θα δημιουργήσω. Ο κάθε χρήστης της κοινότητας μπορεί να προτείνει όποιον θέλει. Σκεφτείτε και ετοιμάστε λοιπόν τις προτάσεις σας. Μόλις δημιουργήσω την υποσελίδα, θα σας ενημερώσω εδώ. --[[User:Sinopeus|Sinopeus]] 02:05, 19 January 2009 (UTC) Ή μάλλον κάντε τις προτάσεις σας εδώ και αφού συγκεντρώσουμε υποψήφιους και δεχτούν αυτοί, θα διεξαχθούν εκλογές στον ανάλογο χώρο. Ακούω τις προτάσεις σας. --[[User:Sinopeus|Sinopeus]] 11:13, 19 January 2009 (UTC) :Έμορφα!!! Ως ο δεύτερος χρονικά [http://incubator.wikimedia.org/wiki/Special:ListUsers/test-sysop προσωρινός διαχειριστής της δοκιμαστικής ποντιακής ΒΠ], θα συμφωνήσω με τη προτροπή του [[User:Sinopeus|Sinopeua]] για ψηφοφορία δικαιωμάτων διαχειριστή και θα κάνω μάλιστα και την αρχή, κάνωντας τη πρώτη πρόταση. :'''Προτείνω λοιπόν:''' (αν και οι ίδιοι βέβαια συμφωνούν και κατά αλφαβητική σειρά) *Για τα δικαιωμάτα γραφειοκράτη διαχειριστή (Buros): :ZaDiak :<s>Makedonier</s> --[[User:Makedonier|Μακεδόνας]] 16:09, 23 January 2009 (UTC) :<s>Sinopeus</s> --[[User:Makedonier|Μακεδόνας]] 16:09, 23 January 2009 (UTC) *Για τα δικαιωμάτα διαχειριστή (Admins): :Makedonier :Omnipaedista :Sinopeus :<s>ZaDiak (ή αν δε θέλει, τότε για τα δικαιωμάτα προσωρινού διαχειριστή <Temp admin>)</s> --[[User:Makedonier|Μακεδόνας]] 16:09, 23 January 2009 (UTC) Δηλαδή προτείνω 2 για γραφειοκράτες και 4 για διαχειριστές. Σας ευχαριστώ θερμά. --[[User:Makedonier|Μακεδόνας]] 12:50, 19 January 2009 (UTC) Συμφωνώ με την παραπάνω πρόταση όμως δε νομίζω ότι επιτρέπεται το ίδιο πρόσωπο να είναι συγχρόνως νοματέας και γραφειοκράτης (γραφειοκράτης πως λέγεται στα ποντιακά;)--[[User:Consta|Consta]] 13:48, 19 January 2009 (UTC) Συμφωνώ κι εγώ. Καλό το ερώτημα σχετικά με τον γραφειοκράτη. Τί λέτε οι άλλοι; --[[User:Sinopeus|Sinopeus]] 16:15, 19 January 2009 (UTC) :Όταν λες δεν επιτρέπεται εννοείς ότι δεν συμφωνείς; Γιατί εγώ π.χ. στο ΒΕ είμαι και επιστάτης και γραφειοκράτης.--[[User:ZaDiak|ZaDiak]] 16:54, 19 January 2009 (UTC) *{{Support}} με τη πρόταση του Makedonier και την επισήμανση του ZaDiak. Δε βρίσκω το λόγο να μην επιτρέπεται, αφού ήδη γίνεται το ίδιο και στο ΒΕ. --[[User:Asteraki|Asteraki]] 10:53, 20 January 2009 (UTC) *{{Support}} και εγώ τελικά. Για το διπλό πόστο, έχω να πω ότι εἰναι και θέμα του ποιος έχει τον χρόνο και την διάθεση να φροντίζει τακτικά τα "διοικητικά" του project. --[[User:Omnipaedista|Omnipaedista]] 22:36, 21 January 2009 (UTC) Οπότε μετά από το πέρας της χρονικής διάρκειας για τις προτάσεις, θα παρακαλέσω το [[User:ZaDiak|Χρήστη '''ZaDiak''']] να οργανώσει τις εκλογες στη παρακάτω σελίδα: ::<big>'''[[Βικιπαίδεια:Αδακά ψηφίζομεν για νοματάντς|Βικιπαίδεια:Αδακά ψηφίζομεν για νοματάντς]]'''</big> --[[User:Makedonier|Μακεδόνας]] 16:09, 23 January 2009 (UTC) == Άλλη σημαία == Δείτε βρήκα μια αλλη έκδοση της ποντιακής σημαίας [[File:Flag of Pontus (2).svg|80px]] Αν σας αρέσει μπορούμε να την αλλάξουμε!--[[User:Consta|Consta]] 14:14, 19 January 2009 (UTC) :Είναι όντως πιο όμορφη. Εάν η σημαία προορίζεται για το άρθρο «Πόντος» ή «Δημοκρατία του Πόντου», πολύ καλά. Ελπίζω όμως να μην προορίζεται για «σημαία της ποντιακής ΒΠ». --[[User:Sinopeus|Sinopeus]] 14:37, 19 January 2009 (UTC) ::Μπράβο σου Consta για την εύρεση της σημαίας. Ωστόσο θα συμφωνήσω με το σχόλιο του Sinopeus. --[[User:Asteraki|Asteraki]] 10:53, 20 January 2009 (UTC) :Εσέγκα'τεναν σο άρθρον [[Πόντος]]. 1917 μέχρι 1919, σωστά; Έτσι είχαμε πει κάποτε (βλ. παραπάνω). Όποιος έχει στη διάθεση του ανάλογη βιβλιογραφία, παρακαλώ να το τσεκάρει και να αναφέρει την βιβλιογραφική πηγή. --[[User:Sinopeus|Sinopeus]] 11:37, 20 January 2009 (UTC) == Πρώτη Παμποντιακή Βικιπαιδική Συνάντηση == Πραγματοποιήσαμε το βράδυ της Κυριακής συνάντηση στο τσατ. Σε αυτή τη συνάντηση αποφασίστηκε: #Να εφαρμόσουμε μια ενιαία ορθογραφία η οποία συμφωνήθηκε να είναι η πρόταση του Όμνι (έτσι θα σε φωνάζω από εδώ και πέρα για συντομία) #Αποφασίστηκε να γίνουν εκλογές για την εκλογή των μελλοντικών πόστων που θα έχει η βικιπαίδεια όταν δημιουργηθεί #Να κυκλοφορήσει ένα δελτίο τύπου στο οποίο να γίνεται πληροφόρηση ότι εγκριθήκαμε #Να δημιουργηθεί ένα ποντιακό μπλογκ για τη βικιπαίδεια --[[User:ZaDiak|ZaDiak]] 14:18, 19 January 2009 (UTC) == Εκλογές == Παιδιά έγραψα στη λίστα ηλεκτρονικών μηνυμάτων του Ιδρύματος για τις εκλογές μας. Επίσης ειδοποίησα κι έναν φίλο μου τον GerardM μέλος της language subcommitee (αυτός μου πρότεινε να το δημοσιεύσω και στη λίστα) ο οποίος αφού ψήφισε δημοσίευσε και στο [http://ultimategerardm.blogspot.com/2009/01/pontic-wikipedia.html ιστολόγιό] του για τις εκλογές μας. Όποιος θέλει να δει το μήνυμα μπορεί εφόσον είναι εγγεγραμμένο μέλος στη λίστα.--[[User:ZaDiak|ZaDiak]] 14:26, 27 January 2009 (UTC) == Τοπχαράς == Έχω ένα μέρος της γραμματικής του Τοπχαρά σε ηλεκτρονική μορφή. Όσοι τη θέλετε ας μου στείλετε μήνυμα τι ώρα να συναντηθούμε στο τσατ να του δώσω το αρχείο.--[[User:ZaDiak|ZaDiak]] 18:15, 28 January 2009 (UTC) :Επίσης να σας πληροφορήσω ότι τώρα έχω διαθέσιμη όλη την γραμμματική σε ηλεκτρονιή μορφή μάλιστα. Έτσι απλά μπορείτε να μου στείλετε ένα ηλεκτρονικό μήνυμα και να σας τη στείλω. Επίσης να σας πω ότι δημιούργησα ένα άρθρο για τον συγγραφέα στο [[Κώστας Τοπχαράς]].--[[User:ZaDiak|ZaDiak]] 13:26, 18 February 2009 (UTC) == Temporary administrator status == I will write in English since this issue is mainly done for the stewards (who don't speak hellenic languages -except grc-). I would like temporary sysop status. There is some work that needs to be done here since the wiki is new. I have been contributing to the test project for quite a long time and all the other pnt members agree I have also done some work in pnt localisation. Thank you.--[[Χρήστες:ZaDiak|ZaDiak]] 12:41, 6 Μαρτ 2009 (UTC) :Please await at least one week for commenting to your request. I wonder, btw., why this wiki still has no [[Αρχικόν σελίδα|main page]] and no contents. O.O Did they forget to import the stuff from incubator? Best regards, --[[Χρήστες:Thogo|Thogo]] 13:21, 6 Μαρτ 2009 (UTC) == Translatewiki localization, don't stop the translation == First congratulations for the recent opening. And, for remembering don't forget to contribute, permanently, to the localization of mediawiki messages throught [http://translatewiki.net/wiki/Portal:Pnt translatewiki]. [[User:Crazymadlover|Crazymadlover]]. :100% behind this call for translations. Also many congratulations on the opening of the Pontic Wikipedia. I hope it will be a succes after the excellent trial period in the Incubator. I am currently running an interwikibot over the main namespace to give this new Wikipedia some attention in the other Wikipedias. Cheers! [[Χρήστες:Siebrand|Siebrand]] 20:35, 7 Μαρτ 2009 (UTC) == Συγχαρητήρια == *Συγχαρητήρια και καλή αρχή. --[[Χρήστες:Μυρμηγκάκι|Μυρμηγκάκι]] 19:32, 8 Μαρτ 2009 (UTC) :Να σαι καλά αδερφέ και καλώς τον. Αλήθεια, μήπως ξέρεις και ποντιακά; :-) --[[Χρήστες:Makedonier|Makedonier]] 05:29, 10 Μαρτ 2009 (UTC) ==Χερέτημαν== Φίλες και φίλοι γράψαμε ιστορία και συνεχίζουμε ακάθεκτοι... *Λοιπόν... χρειαζόμαστε ένα χερετισμό για το καλωσόρισμα των νέων χρηστών. Προτείνω το "Πρότυπο:Χερέτημαν" παρόμοιο με το [[w:el:Πρότυπο:Καλωσόρισμα|Πρότυπο:Καλωσόρισμα]] της ελληνικής. Δεδομένου ότι για τις επόμενες δύο εβδομάδες θα έχω ελάχιστο χρόνο και γενικά... πρόβλημα χρόνου λόγω επαγγελματικών και επειδή αυτό το θέμα είναι σημαντικό, θέλω να παρακαλέσω κάποιον που θα έχει το χρόνο και τη διάθεση να το αναλάβει και να το δημιουργήσει, έτσι ώστε να μπορούμε να καλωσορίζουμε τους νέους χρήστες. *Υπενθυμίζω ότι έχω αναλάβει το "Δελτίο Τύπου" για τη δημιουργία μας και σας έχω στείλει και σχετικό μέιλ, παρακαλώ απαντήστε μου μέσω μέιλ, άμεσα και εντός ορίου. *Ο ZaDiak ανέλαβε προσωρινός διαχειριστής το μεσημέρι της 6ης Μαρτίου 2009 και για μιά εβδομάδα μέχρι το μεσημέρι της 13ης Μάρτη και μετά θα αναλαμβάνει και για άλλο ένα τρίμηνο ακόμη -εκτός αν κάποιος έχει αντίρρηση (γεγονός που απεύχομαι) - και έχει επικεντρωθεί στο να γίνει η σωστή μεταβίβαση των δεδομένων από τη Ποντιακή του incubator, στη κανονική Ποντιακή. Ωστόσο θέλω να τον ενημερώσω πως θα πρέπει να μερμνίσει για την ολοκλήρωση της [[Βικιπαίδεια:Αδακά ψηφίζομεν για νοματάντς|ψηφοφορίας των νοματέων]] το αργότερο μέχρι την 23η Μαρτίου 2009 και ώρα 16:25΄ , δηλαδή με τη συμπλήρωση άκριβώς δύο μηνών. *Ελάτε αν μπορείτε και στο [irc://irc.freenode.net/wikipedia-pnt IRC] για να τα πούμε, έχουμε πολλά να πούμε... Γράψτε μόνο πότε και την ώρα. Ως τότε... τα λέμε!!! --[[Χρήστες:Makedonier|Makedonier]] 07:55, 10 Μαρτ 2009 (UTC) :Τέρεν: [[Πρότυπον:Χαιρέτημαν‎]] --[[Χρήστες:Sinopeus|Sinopeus]] 11:32, 10 Μαρτ 2009 (UTC) ::Ντο να λέγω πα για τεσέν... Εποίκες αοίκο τρανόν δουλείαν τόσο έμορφαν και αλίγορα. Την εφςχήμ να έιςχ πουλόπομ θα έλεγε σε ο Πάππομ και εγώ πα ο παλαλό θα ελέγω σε ςχίλε καλά να έιςχ! Εκόπεν η λαλίαμ, άλλο κι επορώ να καλατσέβω!!! Πολλά εχάρα να εξέρτς!!! --[[Χρήστες:Makedonier|Makedonier]] 20:21, 10 Μαρτ 2009 (UTC) == Φεύγω! == ... κι έρχομαι. Φίλοι, φεύγω για λίγες μέρες στην Ελβετία σε συγγενείς και επιστρέφω την Κυριακή. ;-) Τα λέμε σύντομα. Καλά να είστουν ούλ'. --[[Χρήστες:Sinopeus|Sinopeus]] 11:18, 11 Μαρτ 2009 (UTC) *Καλό ταξίδι (πώς το λέμε αυτό ποντιακά?) --[[Χρήστες:Lemur12|Lemur12]] 14:36, 11 Μαρτ 2009 (UTC) :Ευχαριστώ. :) Εκλώστα οπίς (επέστρεψα). Το «Καλό ταξίδι» είναι καλή ερώτηση. Εγώ (pnt-2) θα έλεγα «δέβα σο καλόν». --[[Χρήστες:Sinopeus|Sinopeus]] 12:21, 16 Μαρτ 2009 (UTC) == Lord's Father in Pontic == A little of topic, anyone can write at [[w:en:Translations_of_The_Lord%27s_Prayer|Translations_of_The_Lord's_Prayer]], the translation to pontic, an the transliteration of Tsakonian and Grico. [[User:Crazymadlover|Crazymadlover]] == Ατο πα τρανον και θαμαστον! == Εκιτι τεη ! Ναταν ο κυρισ μ να ετερνατο! Αμα αραετς θα καλατσεβμε και ξαη κι θα νεσπαλουμε την λαλιαν μουνε . Να εστε ουλκαλα !. Τσιλι -- 79.103.105.80 :Αέτς εν αμον ντο λες, να είσαι καλά! Έλα με τ'εμάς και [http://pnt.wikipedia.org/wiki/%CE%95%CE%B9%CE%B4%CE%B9%CE%BA%CF%8C%CE%BD:UserLogin ποίσον έναν account] κι εντάμαν αγράφουμε σην λαλίανμουνε. :) --[[Χρήστες:Sinopeus|Sinopeus]] 13:19, 19 Μαρτ 2009 (UTC) == Pontic grammar == Hello! </br> Firstly, I'd like to congratulate you with this initiative I think it is a great thing for poorly recognized languages to be used in an encyclopedic project like this. I would like to add some Pontic vocabulary to the Dutch Wiktionary, but in order to make those articles as complete as possible, I would need some kind of grammar. With that grammar I could add some templates for declensions and conjugations. Does anyone now where I can find this (or can anyone tell me what the rules are)? A dictionary could be useful, but off course the articles of this Wikipedia could be a start. </br> Another thing is the Latin script (Romeyka). Do you use it on an equal level as the Greek script (in which case I'd add those transcriptions to the dictionary) or not? </br> I'm very sorry for writing in English, but my Greek is not fluent enough... Καλησπέρα. [[Χρήστες:Wikibelgiaan|Wikibelgiaan]] 00:22, 20 Μαρτ 2009 (UTC) ==Ανυπόγραφον== ΝΑ ΛΕΛΕΒΟΣΑΣ!ΝΑ ΤΡΟΟ ΤΑ ΨΥΝΕΣ ΣΟΥΣ!!!ΝΤΕ ΦΤΑΤΕ ΤΣΙΚΑΡΕΑΜ? ΑΝ ΕΦΤΑΟ ΜΕΡΙΚΑ ΛΑΘΗ ΣΧΟΡΝΑΤΕ ΜΕ !ΚΟΙΜΕ ΠΟΛΛΑ ΤΡΑΝΕΣΑ ! Κ ΚΣΕΡΟ ΝΑ ΤΑΑΛΑΤΣΕΒΟ ΚΑΛΑ. == Update information about localisaton on translatewiki.net == * Currently 41.51% of the MediaWiki messages and 0.86% of the messages of the extensions used by the Wikimedia Foundation projects have been localised. Please help us help your language by localising and proof reading at [[betawiki:Special:LanguageStats/{{CONTENTLANGUAGE}}|translatewiki.net]]. This is the [http://translatewiki.net/w/i.php?title=Special:RecentChanges&translations=only&trailer=/{{CONTENTLANGUAGE}} recent localisation activity] for your language. Thanks, [[Χρήστες:GerardM|GerardM]] 08:56, 27 Μαρτ 2009 (UTC) * Currently 41.37% of the MediaWiki messages and 0.80% of the messages of the extensions used by the Wikimedia Foundation projects have been localised. Please help us help your language by localising and proof reading at [[betawiki:Special:LanguageStats/{{CONTENTLANGUAGE}}|translatewiki.net]]. This is the [http://translatewiki.net/w/i.php?title=Special:RecentChanges&translations=only&trailer=/{{CONTENTLANGUAGE}} recent localisation activity] for your language. Thanks, [[Χρήστες:GerardM|GerardM]] 08:25, 13 Καλομηνά 2009 (UTC) ==Ανυπόγραφον 2== ΧΑΙΡΕΤΙΑΣ ΣΤΕΛΛΩ ΣΑΣ ΟΥΛ'Σ. ΤΡΑΝΟΝ ΧΑΡΑΝ ΕΔΕΚΕΤ'ΜΕ ΜΕ Α'ΤΑ ΤΑ ΣΕΛΙΔΑΣ Τ'Η΄"ΙΣΤΟΥ" ,ΠΩΣ ΛΕΓΟΥΝΤΑΝ, ΑΤΩΡΑ ΘΑ ΚΑΛΑΤΣΕΥΟΥΜΕ ΜΕ ΟΥΛ' ΤΑ ΠΑΙΔΙΑ ΚΑΙ ΤΑ ΚΟΡΤΣΟΠΑ ΑΣ'ΟΛ' ΤΟ ΝΤΟΥΝΙΑ.... ...ΚΑΙ ΚΑΤ'ΑΛΛΟΝ :ΧΩΡΙΣ ΝΑ ΓΡΑΦ' ΤΑ ΛΕΞΕΙΣ ΚΑΝΕΙΣ ΚΙ' ΜΑΘΑΝ ΤΑ ΠΟΝΤΙΑΚΑ. ZAXON == Σχόλια και συμβουλές από ένα φίλο == Μου προκάλεσε δυσάρεστη έκπληξη το ότι αφενός με το ξεκίνημα του εγχειρήματος ευλογούνται τα γένια των πρώτων χρηστών σε [http://www.provoles.de/content/view/2788/31/lang,el/ αυτό το δελτίο τύπου], η μεγαλοποίηση ενός γεγονότος που έχει συμβεί [[meta:List_of_Wikipedias|265 φορές]] μέχρι τώρα, και για γλώσσες με πολύ λιγότερους ομιλητές από την ποντιακή (''τρανή δουλεία'', λοιπόν). Aκόμη περισσότερο το γεγονός ότι εμφανίζονται πρόσωπα, που δεν έγραψαν λέξη στο wiki, σαν να έχουν συμβάλλει τα μέγιστα. Τι πάει να πει "''η παραπάνω προσπάθεια πιστοποιήθηκε, όπως προβλέπεται από το καθεστώς λειτουργίας της Wikipedia, μετά από σχετική αλληλογραφία και επαφές που είχε με τους υπεύθυνους του ιδρύματος της «Γουικιμίντια», ο κ. Θεοφάνης Μαλκίδης Δρ. Κοινωνικών Επιστημών''"; Η διαδικασία είναι [[meta:Meta:Language proposal policy|ξεκάθαρη και ανοικτή]], δεν γνωρίζω να ''προβλέπεται από το καθεστώς λειτουργίας'' κάποια "''αλληλογραφία''" με κάποιους "''καθηγητές''". Όπως και παραπάνω βέβαια, τι θα πει "''μας στηρίζουν οι τάδε σύλλογοι;''" Τι ακριβώς σημαίνει αυτή η στήριξη; Τα ευχολόγια δεν είναι ουσιαστική στήριξη. Και για ότι αφορά την "ευχαριστήρια λίστα", τι ακριβώς πρόσφεραν όλοι αυτοί ώστε μια κοινότητα τεσσάρων ατόμων αισθάνεται την ανάγκη να ευχαριστήσει [http://www.provoles.de/content/view/2788/31/lang,el/ 19 άσχετους με το εγχείρημα + 4 άσχετα blogs]; Πολύ ενδιαφέρον θα είχε να μας έλεγαν και τι έκανε ο καθένας από αυτούς και τον ευχαριστούν. Όπως το βλέπω τέτοιες κινήσεις δεν έχουν σκοπό την ανάπτυξη μιας εγκυκλοπαίδειας αλλά απλά την δικτύωση μέσα στις ποντιακές κοινότητες και συλλόγους και πολύ φοβάμαι ''καπέλωμα'' του εγχειρήματος. Αντιλαμβάνομαι ότι την ευθύνη για αυτό το κείμενο δεν έχουν όλοι οι χρήστες τις ποντιακής βικιπαίδειας, αλλά θα πρέπει να τους προβληματίσει. Δεν θα σας απασχολούσα εδώ, αλλά σε [http://www.e-tipos.com/newsitem?id=83955 νέο δημοσίευμα] που γυρνάει σε εφημερίδες και blogs, διαβάζουμε τα πολύ όμορφα: "''Η άδεια επίσημης λειτουργίας της δόθηκε παράλληλα με την αναφορά στον Άτλαντα γλωσσών της UNESCO για την Ποντιακή διάλεκτο.''" Υπονοώντας κάποια σχέση μεταξύ Wikimedia και UNESCO; Κάποια σχέση μεταξύ των βικιπαιδιστών και της UNESCO; Μιλάμε για δύο εντελώς διαφορετικά γεγονότα, άσχετα μεταξύ τους, για κάποιο λόγο η επαφή του δημοσιογράφου (''υπεύθυνος επικοινωνίας της ποντιακής βικιπαίδειας'') θέλησε να τα συνδέσει. Αυτό όμως είναι μικρότερης σημασίας για εμάς. Δυστυχώς παρακάτω βρίσκεται το τρομερό «''Αρχικά, απευθυνθήκαμε στους υπεύθυνους της ελληνικής έκδοσης της Βικιπαίδειας, οι οποίοι όμως ήταν κατηγορηματικά αντίθετοι, λέγοντάς μας ότι το όλο εγχείρημα δεν έχει μέλλον. Η στήριξη ήρθε ανέλπιστα από τον Ολλανδό Meijssen Gerard, υπεύθυνο του Language Commitee της Wikimedia, ο οποίος συνέβαλε καθοριστικά στο να πραγματοποιήσουμε το όνειρό μας''». Για να μην μένουν λανθασμένες εντυπώσεις, αυτό που ζητήθηκε από την ελληνική βικιπαίδεια ήταν [[:el:Βικιπαίδεια:Σελίδα συζήτησης για την Ποντιακή Wiki|να συνυπάρξουν τα άρθρα στην ποντιακή γλώσσα εντός της ελληνικής]], κάτι που κρίθηκε μη εφαρμόσιμο, και άλλωστε είχε ήδη γίνει [http://meta.wikimedia.org/wiki/Requests_for_new_languages#Pontic_Wikipedia αίτηση για την δημιουργία ξεχωριστής βικιπαίδειας] η ύπαρξη της οποίας ήταν ανεξάρτητη από την ελληνική και υπήρχε ήδη η [http://incubator.wikimedia.org/wiki/Wp/pnt δοκιμαστική έκδοση στο incubator] οπότε δεν υπήρχε λόγος μεταφοράς της εδώ. Κανείς στην ελληνική βικιπαίδεια (τι ακριβώς εννοεί με το "υπεύθυνοι";) δεν μπορεί να εγκρίνει ή να απορρίψει την δημιουργία μιας άλλης βικιπαίδειας, οπότε η παραπάνω αναφορά είναι πέρα για πέρα ανακριβής. Φυσικά επαναλαμβάνεται το τραγελαφικό "''η παραπάνω προσπάθεια πιστοποιήθηκε, όπως προβλέπεται από το καθεστώς λειτουργίας της Wikipedia, μετά από σχετική αλληλογραφία και επαφές που είχε με τους υπεύθυνους του ιδρύματος της «Γουικιμίντια», ο κ. Θεοφάνης Μαλκίδης Δρ. Κοινωνικών Επιστημών.''"; Όπως ξαναέγραψα, η διαδικασία είναι [[meta:Meta:Language proposal policy|ξεκάθαρη και ανοικτή]], και δεν ''προβλέπεται από το καθεστώς λειτουργίας'' οποιαδήποτε "''αλληλογραφία''" με οποιουσδήποτε "''καθηγητές''". Ελπίζω να καταλάβουν οι χρήστες και κυρίως ο "υπεύθυνος επικοινωνίας" (ποιά άλλη βικιπαίδεια έχει "υπεύθυνο επικοινωνίας";) ότι ρεζιλεύουν την ίδια την προσπάθεια και την βικιπαίδεια γενικά και όχι μόνο την ποντιακή με τέτοιες διθυραμβικές δημοσιεύσεις και τις προβλέψεις για 1000 άρθρα μέχρι το τέλος του χρόνου, όταν οι περίεργοι επισκέπτες περιμένουν να βρουν κάτι τρομερό και βρίσκουν 100 παλιά stubs και 10 νέα άρθρα στον πρώτο μήνα αυτόνομης λειτουργίας. --[[User:Geraki|<font color="green">'''Geraki'''</font>]] <sup>[[User_talk:Geraki|Σ]]</sup><sub>[[Ειδικό:Μητρώο/Geraki|Μ]]</sub> 22:07, 7 Απρίλ 2009 (UTC) :Σίγουρα καλοπροαίρετο το σχόλιο σου, φίλε Γεράκι, και σε ευχαριστώ πολύ. Το θέμα σίγουρα θέλει προσοχή. "Υπεύθυνος επικοινωνίας" της ΒΠ φυσικά και δεν υπάρχει, προσωπικού μπλογκ ίσως. Θα ήθελα όμως να επισημάνω ότι εντός pnt.wiki δε θα βρεις τίποτε από όλα αυτά και πιστεύω ότι αυτό είναι βασικό. Ούτε καν άρθρο με περιεχόμενο τους [[:w:el:Βικιπαίδεια:Ιστορία της Βικιπαίδειας|πρώτους χρήστες του εγχειρήματος]]. Όπως έχω πει και [http://pnt.wikipedia.org/w/index.php?title=%CE%92%CE%B9%CE%BA%CE%B9%CF%80%CE%B1%CE%AF%CE%B4%CE%B5%CE%B9%CE%B1%3A%CE%91%CE%B3%CE%BF%CF%81%CE%AC%2F%CE%91%CF%81%CF%87%CE%B5%CE%AF%CE%BF_1&diff=1418&oldid=1416 πριν], η εργασία για την Βικιπαίδεια στην ποντιακή γίνεται ακριβώς εδώ! Όποιος θέλει να συμμετάσχει, να το κάνει ακριβώς και μόνον εδώ. Εδώ, όπου ξεκινήσαμε εθελοντικά έργο, κυριολεκτικά από το μηδέν! Όσον αφορά εμένα, το τί λένε στα μπλογκ τους οι διάφοροι χρήστες, είναι θέμα δικό τους. Δεν έχω τον χρόνο και την όρεξη να ελέγχω ακόμη και αυτά. Σοβαροί δημοσιογράφοι κι εφημερίδες ''γενικώς'' όμως δεν θα έπρεπε να αντιγράφουν πληροφορίες από μπλογκ. Όποιοσδήποτε αναγνώστης ενδιαφερθεί πραγματικά για την λειτουργεία της ΒΠ θα πρέπει να διαβάσει τα ανάλογα στοιχεία στην ίδια (υπάρχουν στα ελληνικά, αγγλικά κλπ) και όχι σε μπλογκ. Πέραν αυτού φυσικά συμφωνώ ότι θα πρέπει να είμαστε προσεκτικοί με τις δημοσιεύσεις στα μπλογκ μας, για να μη βλάψουμε το έργο δίχως να θέλουμε. Να είσαι καλά. --[[Χρήστες:Sinopeus|Sinopeus]] 01:21, 8 Απρίλ 2009 (UTC) ::Αγαπητέ Σινωπέα, θα πρέπει να προσέξετε καλά αυτό το πρόβλημα και να ξεκαθαρίσετε με κάθε σαφήνεια το θέμα. Πρώτα από όλα ο Ευστάθιος Παπαδόπουλος (Makedonier) μου συστήθηκε με e-mail ως "υπεύθυνος επικοινωνίας", εδώ στην Αγορά έγραψε "''εκπροσωπούσα για επικοινωνιακούς λόγους την κοινότητα μας στα διάφορα συνέδρεια και εκδηλώσεις''", και μιλά με αυτή την ιδιότητα σε εφημερίδες και περιοδικά όπως φαίνεται από το "''σημειώνει ο Ευστάθιος Παπαδόπουλος, ο οποίος είναι <u>υπεύθυνος επικοινωνίας</u> της Ποντιακής Βικιπαίδειας''" [http://www.e-tipos.com/newsitem?id=83955]. Είναι ξεκάθαρο ότι τα παραπάνω δεν προέρχονται από κανένα blog, ξεκάθαρα γράφει το δημοσίευμα ότι τα "''<u>δηλώνει στο ΑΠΕ-ΜΠΕ</u> ο Ευστάθιος Παπαδόπουλος από την πόλη Ellwangen της Βάδης-Βυρτεμβέργης''". Συνέντευξη έδωσε ο άνθρωπος. Από την στιγμή που δεν βλέπουμε διάψευση από κανέναν ως προς αυτή την ιδιότητα, λογικό είναι θεωρήσουμε ότι μιλά τουλάχιστον εκ μέρους κάποιων χρηστών. Σας εκφράζει ή όχι τελικά; Τα Δελτία Τύπου που έστειλε, εκφράζουν την κοινότητα; Αν εκφράζουν μόνο τον ίδιο, πως θα αντιμετωπίσετε το γεγονός ότι φέρεται σαν να σας εκφράζει όλους; --[[User:Geraki|<font color="green">'''Geraki'''</font>]] <sup>[[User_talk:Geraki|Σ]]</sup><sub>[[Ειδικό:Μητρώο/Geraki|Μ]]</sub> 12:57, 8 Απρίλ 2009 (UTC) :::Λυπάμαι όμως δε βρίσκω τα σχόλια του Γεράκι ιδιαίτερα φιλικά. Κατ' αρχήν οφείλω να παραδεχτώ 3 πράγματα. Πρώτον ήμουν ο αρχικός εισηγητής της ποντιακής βικιπαίδειας χωρίς φυσικά να θέλω να αναβαθμίσω τη θέση μου εδώ. Δεύτερον γνωρίζω ότι δεν αντιμετωπίστηκε ιδιαίτερα φιλικά από τους χρήστες της ελληνική βικιπαίδειας η πρόταση δημιουργίας της ποντιακής βίκι (πόσο μάλλον η ένωση της με την ελληνική). Τρίτον η μόνιμη κοινότητα χρηστών εξ αρχής και προς το παρόν είναι μικρή. Σχετικά με το μήνυμα του Γεράκι δε μου άρεσαν οι διατυπώσεις του, τι πάει να πει ευλογούμε τα γένια μας; Προφανώς εννοεί τη μνημόνευση που έγινε στο "δελτίο τύπου". Προσωπικά πιστεύω γι αυτό το δελτίο ότι δε θα έπρεπε να γίνει τόσο εκτενή αναφορά στα ονόματα μας και με θαυμαστικά. Ούτε κάποιες διατυπώσεις. Σχετικά με τους υπόλοιπους που δεν είχαν ενεργεί συνεισφορά σε άρθρα, βοήθησαν σε τομείς όπως προβολή, γνωστοποίηση, ενημέρωση και συμβολή επιστημονικά τεκμηριωμένων απόψεων όπως ζητήθηκε και από το ίδιο το languge subcomitee κ.α. Σχετικά με το γεγονός που συνέβη 265 φορές σε 265 γλώσσες και διαλέκτους. Προφανώς ο Γεράκι δεν ξέρει να μιλάει σε 265 γλώσσες και διαλέκτους γι' αυτό ίσως δεν του κάνει εντύπωση. Ο ενθουσιασμός του και αυτών που έχουν την ίδια γνώμη περιορίζετε στη δημιουργία της ελληνικής βικιπαίδειας (αξιομνημόνευτο γεγονός) καθώς γι' αυτούς είναι μητρική γλώσσα. Η δημιουργία μιας βικιπαίδειας σε μια συγκεκριμένη γλώσσα αποτελεί κατά τη γνώμη μου σημαντικό γεγονός για την ίδια την κοινότητα και για τους χρήστες που την απαρτίζουν, όποτε είναι δικαιολογημένη πιστεύω η γνωστοποίηση και η προβολή του γεγονότος και όχι η μεγαλοποίηση. Ελπίζω στους 19 άσχετους μην εννοεί και εμάς μαζί. Όσο αφορά την προσωπική μας συνεισφορά, που με μεγάλο ενδιαφέρον θα ήθελε να ακούσει μάλλον θα απογοητευτεί, μιλούμε για 3-5 χρήστες οι οποίοι με καλοί διάθεση και όχι με ματαιοδοξία (όπως θέλουν να παρουσιάζουν προπαγανδιστικά). Αποφάσισαν να αγοράσουν βιβλία γραμματικής και συντακτικού (πχ. Ποντιακή γραμματική του κ. Τόπχαρα ή της κ. Κεσίδου) για μια γλώσσα ή διάλεκτο στην οποία δε δίνεται έμφαση και να προσπαθήσουν να μάθουν, να μιλούν και να γράφουν την ποντιακή όσο γίνεται καλύτερα για έναν ομιλητή πού έχει μια άλλη μητρική γλώσσα φυσικά υπήρχαν σ' αυτούς τους 3-5 και άτομα που τη μιλούσαν ως μητρική ώστε να αμφισβητείται στο ελάχιστο δυνατό η αξιοπιστία των άρθρων. Άσχετα με τον αριθμό των άρθρων που επετεύχθησαν. Άλλωστε υπάρχουν και χρήστες της ελληνικής βικιπαίδειας που δεν μιλούν την ελληνική αλλά τους επιτρέπεται να γράφουν άρθρα. Επίσης πάνω στο ότι κρίθηκε καθ' αυτούς "μη εφαρμόσιμη" θα έλεγα μάλλον μη αποδεκτή. Επιτρέπεται σύμφωνα με κανονισμούς του ιδρύματος να υπάρχουν σε κοινό βίκι πχ. μια γλώσσα και μια διάλεκτος της , κάτι που δε μένει μόνο στα χαρτιά αλλά είναι εφαρμόσιμο και έχει συμβεί. Επίσης διαψεύδω ότι είχε ήδη γίνει αίτηση για δημιουργία του εγχειρήματος και μετά έγινε η πρόταση για συνένωση. Κλείνοντας δε θα ήθελα να σταθώ τόσο στους ''έμμεσους'' χαρακτηρισμούς του ''ήθους'' των χρηστών της ποντιακής κοινότητας από κάποιους ''καλοθελητές'', αλλά στην προσπάθεια τους να κατευθύνουν τη συνεισφορά νέων χρηστών και να υποβαθμίσουν τη συνεισφορά αυτών που έχουν ήδη θυσίασαν οικειοθελώς φυσικά αρκετό χρόνο για να δημιουργηθεί αυτό το εγχείρημα και να μπορούν κάποιοι να βλέπουν αυτό που βλέπουν και να "ξινίζονται", με το τη επετεύχθη. Εγώ θέλω να πω ότι δε δίνουμε σημασία στη λάσπη και να ζητήσω να μην ασχολούνται με τα εδώ θέματα, προσποιούμενοι σφαιρική γνώμη χωρίς να ενδιαφέρονται να μάθουν και τη γνώμη της άλλης πλευράς.--[[Χρήστες:Consta|Consta]] 13:47, 8 Απρίλ 2009 (UTC) # Δεν σου άρεσε ότι η φράση "ευλογούν τα γένια τους", αλλά συμφωνείς ότι δεν θα έπρεπε να γίνεται αναφορά σε ονόματα. ΟΚ, το κρατάω. # "''βοήθησαν σε τομείς όπως προβολή, γνωστοποίηση, ενημέρωση και συμβολή επιστημονικά τεκμηριωμένων απόψεων''": Σύμφωνα με αυτό λοιπόν, η ελληνική βικιπαίδεια θα πρέπει στο επόμενο δελτίο τύπου να έχει ένα κατάλογο με όλα τα ΜΜΕ που την έχουν αναφέρει. Ας μην γελιόμαστε όμως, όλοι αυτοί έκαναν αναφορές μετά την έκδοση ΔΤ. Μπορείς να μας εξηγήσεις τι ''επιστημονικά τεκμηριωμένες απόψεις'' παρέθεσαν οποιοιδήποτε; Οι απαιτήσεις βρίσκονται '''[[meta:Meta:Language proposal policy#Requisites for eligibility|εδώ]]''', 4+2 κριτήρια. Σε ποιό ακριβώς σημείο κολλήσατε και χρειαστήκατε ''επιστημονική βοήθεια''; # "''Η δημιουργία μιας βικιπαίδειας σε μια συγκεκριμένη γλώσσα αποτελεί κατά τη γνώμη μου σημαντικό γεγονός [...] όποτε είναι δικαιολογημένη πιστεύω η γνωστοποίηση και η προβολή του γεγονότος''". Η βικιπαίδειες ανοίγουν αλλά και κλείνουν. Εγώ σημειώνω ότι για την ελληνική βικιπαίδεια Δελτίο Τύπου εκδόθηκε στα 20.000 άρθρα. Και ας σοβαρευτούμε, τελικά ποιός ήταν ο σκοπός ενός Δελτίου Τύπου, και μάλιστα '''ενός Δελτίου Τύπου για ένα εγχείρημα που μόλις ξεκίνησε και δεν έχει μια πρόσκληση προς το κοινό να συνεισφέρει εδώ;''' Η απουσία μιας τέτοιας πρόσκλησης, απουσία της αναφοράς ότι οποιοσδήποτε μπορεί να συνεισφέρει, τεκμηριώνει ότι σκοπός της ανακοίνωσης ήταν μόνο τα ευχαριστήρια. # "''Επιτρέπεται σύμφωνα με κανονισμούς του ιδρύματος να υπάρχουν σε κοινό βίκι πχ. μια γλώσσα και μια διάλεκτος της''". Πρώτον, επιτρέπεται, δεν είναι υποχρεωτικό. Δεύτερον, μιλάει για διάλεκτο (π.χ. Κυπριακή) και όχι γλώσσα (π.χ. Ποντιακή). Εάν τεκμηριώνατε ότι τα Ποντιακά είναι απλώς διάλεκτος και όχι γλώσσα, δεν θα υπήρχε Ποντιακή Βικιπαίδεια (οι επιστημονικοί σύμβουλοι σας τα είπαν αυτά;). Τις απαιτήσεις δεν τις διαβάσατε; #* Και επειδή με προκαλείς να διαψεύσω την δίαψευσή σου "''διαψεύδω ότι είχε ήδη γίνει αίτηση για δημιουργία του εγχειρήματος και μετά έγινε η πρόταση για συνένωση.''": ## Εσύ ο ίδιος έκανες αίτηση για δημιουργία του ξεχωριστού εγχειρήματος στις 16 Σεπτεμβρίου 2007 [http://meta.wikimedia.org/w/index.php?title=Requests_for_new_languages/Wikipedia_Pontic&oldid=679734] ## Η δοκιμαστική έκδοση στο incubator ξεκίνησε στις 23 Σεπτεμβρίου 2007 ## Εσύ ο ίδιος πήρες την ιδέα του Teak για πρόταση για συνένωση στις 28 Σεπτεμβρίου 2007 [http://meta.wikimedia.org/w/index.php?title=Requests_for_new_languages/Wikipedia_Pontic&diff=prev&oldid=689951] ## Εσύ ο ίδιος με βάση αυτή την ιδέα έφερες την πρόταση για συνένωση στις 3 Οκτωβρίου 2008 [http://el.wikipedia.org/w/index.php?title=%CE%92%CE%B9%CE%BA%CE%B9%CF%80%CE%B1%CE%AF%CE%B4%CE%B5%CE%B9%CE%B1:%CE%A3%CE%B5%CE%BB%CE%AF%CE%B4%CE%B1_%CF%83%CF%85%CE%B6%CE%AE%CF%84%CE%B7%CF%83%CE%B7%CF%82_%CE%B3%CE%B9%CE%B1_%CF%84%CE%B7%CE%BD_%CE%A0%CE%BF%CE%BD%CF%84%CE%B9%CE%B1%CE%BA%CE%AE_Wiki&oldid=707546] #* Μόλις τεκμηριώθηκε ότι η διάψευσή σου ήταν παραπλανητική και το ήξερες. Έχεις να προσθέσεις κάτι; # Κατά τα άλλα, αλλά λόγια να αγαπιόμαστε, φυσικά και δεν εννοώ τους συμμετέχοντες στο wiki αλλά τον κατάλογο που βρίσκεται σε αυτό το ''[http://www.provoles.de/content/view/2788/31/lang,el/ Δελτίο Τύπου]'' (19 ονόματα και 4 blogs). Είμαι σίγουρος ότι κι εσύ ο ίδιος δεν ξέρεις για ποιό λόγο τους ευχαριστεί ο Makedonier, ίσως και πρώτη φορά βλέπεις αυτά τα ονόματα. Κατά τα άλλα, η άποψή μου είναι ακριβώς ότι εξέφρασε παραπάνω και πολύ σωστά ο Sinopeus "''η εργασία για την Βικιπαίδεια στην ποντιακή γίνεται ακριβώς εδώ''". # Φυσικά δεν απαντήθηκαν όλα τα ερωτήματά μου όπως π.χ. γιατί αναφέρεται η UNESCO, ούτε για το αν τελικά ο Ευστάθιος μιλά ή όχι εκ μέρους όλων. Σύμφωνα με τον Σινωπέα, όχι. Σύμφωνα με τα δικά σου, αποδέχεσαι αυτά που γράφει. Υπάρχει "''υπεύθυνος επικοινωνίας της ποντιακής βικιπαίδειας;''" Δεν σου άρεσαν αυτά που έγραψα, απλά επειδή δεν με συμπαθείς. Σκασίλα μου. Μπορείς να με βρίσεις δημόσια και να χαρακτηρίζεις "ξινίλες" αυτά που γράφω, αλλά να διορθώσετε όλα αυτά που καταλαβαίνεις και ο ίδιος ότι είναι "ξερές" και δεν θέλεις να τα παραδεχτείς. Η επιτυχία ενός εγχειρήματος δεν είναι να ξεκινήσει φιλαράκο. Αυτό είναι το εύκολο κομμάτι. Η επιτυχία είναι να δημιουργήσει περιεχόμενο. ΟΚ, παίδες δικό σας το παιχνίδι. Υείαν και ευλογίαν. --[[User:Geraki|<font color="green">'''Geraki'''</font>]] <sup>[[User_talk:Geraki|Σ]]</sup><sub>[[Ειδικό:Μητρώο/Geraki|Μ]]</sub> 19:18, 8 Απρίλ 2009 (UTC) Οφείλω να πω φυσικά (κάτι που κακώς δεν έκανα στο προηγούμενο μήνυμά μου, νύσταζα ρε παιδιά) ότι παρόλο το σκεπτικισμό που έδειξα όταν προτάθηκε τον Ιανουάριο η δημιουργία μπλογκ, τελικά αποδείχτηκε πολύ αποτελεσματικό. Ο χρήστης Makedonier κατάφερε μέσα σε τρεις μήνες να κάνει με τον τρόπο του την pnt.wiki πολύ περισσότερο γνωστή από ότι κατάφερα πχ εγώ σε έναν ολόκληρο χρόνο. Το ότι δηλώνονται τώρα τελευταία συνεχώς νέοι χρηστες (πράγμα που το 2008 δε γινόταν) και αρχίζουν σιγά σιγά να προσθέτουν υλικό στην pnt.wiki είναι αποτέλεσμα της ακούραστης δραστηριότητάς του. Το εκτιμώ και το υποστηρίζω αυτό! Τώρα, εάν κάποιος θεωρεί ότι θα μπορούσε να βελτιωθεί η εργασία του, ας επικοινωνίσει μαζί του. Εάν έχει να προσφέρει εργασία εδώ, ακόμη καλύτερα. Όσον αφορά τα stubs κλπ: κάθε σειρά που γράφεται εδώ στα ποντιακά (μια διάλεκτο που κινδινεύει να χαθεί) είναι κέρδος! Βρισκόμαστε στην αρχή και το γνωρίζουμε καλά αυτό εμείς που εργαστήκαμε! Και συνεχίζουμε! Τέλος από εμένα. Να είστε καλά --[[Χρήστες:Sinopeus|Sinopeus]] 18:44, 8 Απρίλ 2009 (UTC) :Έλα ρε Σινωπέα, [http://pnt.wikipedia.org/w/index.php?title=%CE%95%CE%B9%CE%B4%CE%B9%CE%BA%CF%8C%CE%BD:RecentChanges&days=30&limit=500&namespace=0 που είδες] ότι οι [http://pnt.wikipedia.org/w/index.php?title=%CE%95%CE%B9%CE%B4%CE%B9%CE%BA%CF%8C%CE%BD:Log&limit=500&type=newusers&month=&year= νέοι χρήστες] [http://pnt.wikipedia.org/w/index.php?title=%CE%95%CE%B9%CE%B4%CE%B9%CE%BA%CF%8C%CE%BD:RecentChanges&days=30&limit=500&namespace=0 προσθέτουν υλικό]; Τα bot που βάζουν interwiki; Οι λογαριασμοί που δημιουργούνται αυτόματα; Πόσα πραγματικά άρθρα (όχι κενές ημερομηνίες) [[Ειδικόν:NewPages|δημιουργήθηκαν από την έγκριση και μετά]]; Μεταξύ μας μιλάμε! Ποιά είναι η διεύθυνση αυτού του περίφημου blog για να το δούμε κι εμείς; Ελπίζω να μην θεωρήσει κι εσύ μαζί με τον Consta "ξινά" και "κακοπροαίρετα" τα σχόλιά μου. [http://el.wikipedia.org/wiki/%CE%92%CE%B9%CE%BA%CE%B9%CF%80%CE%B1%CE%AF%CE%B4%CE%B5%CE%B9%CE%B1:%CE%A3%CE%B5%CE%BB%CE%AF%CE%B4%CE%B1_%CF%83%CF%85%CE%B6%CE%AE%CF%84%CE%B7%CF%83%CE%B7%CF%82_%CE%B3%CE%B9%CE%B1_%CF%84%CE%B7%CE%BD_%CE%A0%CE%BF%CE%BD%CF%84%CE%B9%CE%B1%CE%BA%CE%AE_Wiki Εδώ] είχα γράψει "''Μια ξεχωριστή Βικιπαίδεια δεν σημαίνει ότι θα είναι απαραίτητα μόνη της. Δεν νομίζω να αρνιόταν κανείς σε συμβουλές και βοήθεια από χρήστες και διαχειριστές της ελληνικής βικιπαίδειας.''" "''Εγώ εύχομαι να εγκριθεί η Ποντιακή Βικιπαίδεια''". Θυμήσου και [http://el.wikipedia.org/w/index.php?title=%CE%92%CE%B9%CE%BA%CE%B9%CF%80%CE%B1%CE%AF%CE%B4%CE%B5%CE%B9%CE%B1:%CE%91%CE%B3%CE%BF%CF%81%CE%AC/%CE%91%CF%81%CF%87%CE%B5%CE%AF%CE%BF_2009/%CE%9C%CE%AC%CF%81%CF%84%CE%B9%CE%BF%CF%82&diff=1422820&oldid=1422744 ότι έγραψα για ευχές] στο ξεκίνημά σας. Μπορεί να σου φαίνονται δυσάρεστα όλα τα παραπάνω, αλλά είναι πολύ σοβαρά για να μην ληφθούν υπόψη. Το έμπρακτο ενδιαφέρον μου για την λειτουργία '''όλων''' των εγχειρημάτων δεν μπορεί να το αρνηθεί κανείς. Μια έκφραση του ενδιαφέροντος είναι όλα τα παραπάνω. Μπορείτε να τα απορρίψετε, και θα προσπαθήσουμε να μην επηρεάσει καθόλου την ελληνική βικιπαίδεια ή οποιοδήποτε άλλο εγχείρημα. --[[User:Geraki|<font color="green">'''Geraki'''</font>]] <sup>[[User_talk:Geraki|Σ]]</sup><sub>[[Ειδικό:Μητρώο/Geraki|Μ]]</sub> 19:30, 8 Απρίλ 2009 (UTC) :Κοίτα μόνο και μόνο από τη γλώσσα που χρησιμοποιείς και τη γλώσσα που χρησιμοποιείς φαίνεται πόσο καλοπροαίρετα τα κάνεις τα σχόλια σου. Δε δινω σημασία στα φανταχτερά κόπι πέιστ σου ούτε στις ξευτοπαραπλανητικές σου πηγές. *1 ναι δε συμφωνω που χρησιμοποιήθηκαν έτσι τα ονόματα μας. *2 στο σημείο που τόσο πολύ έχεις την επιθυμία να μάθεις βρισκόταν [http://meta.wikimedia.org/w/index.php?title=Language_committee/Status/wp-pnt&action=edit&redlink=1 εδώ] το διέγραψε ο pathoschild άλλα σίγουρα θα έχει αρχείο ειδάλλως ζήτα από το language subcomitee για τις προυποθέσεις ''' Ρequirements for final apporoved''' (ζητήθηκε η γνώμη ενός επιστήμονα), και με μεγάλη σου λίπη θα διαπιστώσεις ότι έχεις άδικο(δεν έχει σημασία που διαγράφτηκε το πρακτικό σίγουρα υπάρχει αρχείο που κρατιέται ρώτα και τον Σινωπέα για να σου το επιβεβαιώσει και δε εκμεταλλεύομαι που σβήστηκε). *3 Δεν έγραψες εσύ στο λεξικό τον ορισμό του '''δελτίου τύπου''' οπότε άσε τις υποθέσεις για τους στόχους. *4 Σ' αυτό το σημείο παίζεις με τις λέξεις. Δες και τις απόψεις άλλων που γράφουν ότι καθ αυτούς η ποντιακή είναι διάλεκτος, το θέμα δεν ήταν οι διατύπωση, αν θέλατε θα το ονομάζαται διάλεκτο και δε θα διαφωνούσε κανείς. Άστοχη και αυτή σου η νουθεσία. Και φυσικά δεν είναι υποχρεωτικό *5 Εδώ είναι ίσως το μόνο πράγμα που συμφωνώ. (Το ''άλλα λόγια να αγαπιόμαστε'' κράτα το για σένα.) Πράγματι δεν ξέρω συγκεκριμένα τη έκανε ο καθένας απ αυτούς. Δέχομαι ότι η εργασία είναι ομαδική *6 Για Unesco πρώτη φορά το ακούω και δεν ξέρω ποιος το έγραψε ούτε έχω τη διάθεση να ψάχνω για σενα. Επίσης μη βάζεις παραπλανητικά και ύπουλα λόγια στο στόμα μου που δεν είπα πότε, για μένα δεν υπάρχει υπεύθυνος επικοινωνίας όπως νομίζεις ότι λέω χωρις να το χω πει ποτέ. Θα σου απαντήσω ότι απλούστατα ούτε εσύ με συμπαθείς και αυτό γιατί τόλμησα να μη συμφωνήσω μαζί σου. Σκασίλα μου τι λες και τι υποθέτεις. Αυτό για τις δημόσιες βρισιές που θες να ακούσεις, επειδή '''φαγουρίζεσαι''' δε θα σου κάνω τι χάρη να το κάνω, οι σκέψεις σου και το είδος γλώσσας που χρησιμοποιείς προδίδουν και τις προθέσεις σου φαίνεται τη ήρθες να κάνεις εδώ. Το "φιλαράκο" κράτα το καλύτερα για δικούς σου φίλους δεν είσαι ούτε θα γίνεις φίλος μου, η ορισμοί σου για την επιτυχία όπως την αντιλαμβάνεσαι εσύ δε με ενδιαφέρουν. Έσυ άρχισες την κόντρα νομίζεις ότι επειδή είσαι διαχειριστής τα λόγια σου έχουν μεγαλύτερη αξία. Κάνε ότι νομίζεις συμβουλές από τέτοια άτομα δε θέλω, είσαι άκυρος. --[[Χρήστες:Consta|Consta]] 12:27, 9 Απρίλ 2009 (UTC) * Πράγματι χρειάστηκε ένας καθηγητής, αλλά δεν δικαιολογείται η πρεμούρα να αναφέρεται με αυτή την διατύπωση ως καθοριστικός παράγοντας. Ένα e-mail έστειλε. * Η εμπάθειά σου δεν σε αφήνει να καταλάβεις καν το ζητούμενο: Το δελτίο τύπου γράφει ότι οι υπεύθυνοι της ελληνικής βικιπαίδειας απέρριψε την δημιουργία ποντιακής βικιπαίδειας. '''Η αίτηση που δεν έγινε δεκτή στην Ελληνική Βικιπαίδεια ήταν για να γίνει ενσωμάτωση ποντιακών άρθρων εκεί, και όχι για την δημιουργία ανεξάρτητης ποντιακής βικιπαίδειας όπως ισχυρίζεται το δελτίο τύπου.''' Κανείς δεν απέρριψε την δημιουργία ποντιακής βικιπαίδειας. * Δεν είπες ότι υπάρχει "υπεύθυνος επικοινωνίας" αλλά στο πρώτο σου post παραπάνω, τον υπερασπίστηκες χωρίς να δηλώσεις έστω έκπληξη ή έστω απορία γι'αυτό τον χαρακτηρισμό (τον οποίο επαναλαμβάνω '''δήλωσε επίσημα στο ΑΠΕ-ΜΠΕ'''). Προφανώς είχες μεγαλύτερη αγωνία να με χαρακτηρίσεις "καλοθελητή" παρά να ανησυχήσεις γι'αυτόν που αυτοχαρακτηρίζεται "υπεύθυνος επικοινωνίας" * Η λέξη "κόντρα" σημαίνει αντίδραση. Οι παρατηρήσεις μου παραπάνω ήταν δράση και η αντίδραση (''κόντρα'') ήταν δική σου (άρα εσύ την ξεκίνησες και όχι εγώ). Εγώ απευθύνθηκα στην κοινότητα της ποντιακής βικιπαίδειας και δεν περίμενα καν να απαντήσεις, οπότε το αν σε συμπαθώ(-ούσα) εσένα ή όχι, δεν έχει καμία απολύτως σημασία. {| align="right" style="border:1px solid red;background:silver;text-align:center;" |Shooting<br>the<br>messenger |} Είναι δικαίωμά σου να είσαι εμπαθής, αλλά το κάνεις με άκομψο τρόπο που σε κάνει αναξιόπιστο. Ουσιαστικά μας λες ότι ''όντως διαφωνώ με το ΔΤ, όντως υπάρχουν αυτά τα προβλήματα, όντως δεν έχω ιδέα για το τι έγινε, αλλά δεν πρόκειται να τα κοιτάξω επειδή τα ανέφερε το Geraki που δεν συμπαθώ''. Μπορείς να επαναπροσδιορίσεις λοιπόν την επιτυχία μιας βικιπαίδειας (αφού δεν σου άρεσε ο δικός μου ορισμός), να συνεχίσεις να επιτρέπεις σε κάποιον να τιτλοφορείται "υπεύθυνος επικοινωνίας", να γράφει του κεφαλιού του, να ευχαριστεί εκ μέρους σου και εκ μέρους την κοινότητας πρόσωπα που δεν ξέρετε τι έκαναν (αν έκαναν) κλπ. Δεν περίμενα να ψάξεις για χάρη μου, θα περίμενα όμως να ψάξεις για χάρη δική σου και της κοινότητας. Επί του παρόντος βλέπω ότι απλώς επιτίθεσαι σε αυτόν που φέρνει τα κακά μαντάτα. --[[User:Geraki|<font color="green">'''Geraki'''</font>]] <sup>[[User_talk:Geraki|Σ]]</sup><sub>[[Ειδικό:Μητρώο/Geraki|Μ]]</sub> 17:45, 9 Απρίλ 2009 (UTC) Χαίρομαι που έριξες τους τόνους. Όσο για το "εμπαθής" που μου αποδίδεις γνώμη σου είναι,αν μπορείς να δώσεις μόνο αυτή την εξήγηση. Το ζητούμενο το καταλαβαίνω πάρα πολύ καλά, εγώ άλλωστε ζήτησα να ενσωματωθούν άρθρα της ποντιακής στην ελληνική κάτι το οποίο απορρίφθηκε από την ελληνική βικιπαίδεια. *Ή Ελληνική βικι δεν απέριψε την ιδέα της δημιουργίας της ποντιακής βίκι, γιατί πολύ απλά δεν είναι στις αρμοδιότητες μιας βικιπαίδειας να απορρίψει τη δημιουργία μιας άλλης νέας. Αρμοδιότητα γι αυτό έχει το language comitee και Board of Trustees οπότε και να θέλατε να αποτρέψετε τη δημιουργία της ποντιακής βικιπαίδειας δε θα μπορούσατε σαν κοινότητα. *Δεν κατηγόρησα άμεσα κανένα χρήστη πόσο μάλλον διαχειριστή γιατί δε θέλω να δημιουργήσω εσωτερικό πρόβλημα. Αν υφίσταται όντος ουσιαστικό πρόβλημα κι όχι αν θεωρείται ότι υπάρχει, αυτό θα επιλυθεί, δε θα πάρει στο λαιμό του κάποιος όλη την κοινότητα. *Κόντρα δε σημαίνει απλά αντίδραση αλλά σύγκρουση και ανταγωνισμός, δε μου άρεσε που καταδίκασες ανθρώπους όπως το Θεοφάνη Μαλκίδη Δρ. κοινωνικών επιστημών επειδή του ζητήθηκε '''από το ίδιο το ίδρυμα''' να γράψει μια επιστημονικά τεκμηριωμένη έκθεση για την ποντιακή γλώσσα. ''Δεν πειράζει προφανώς δεν ήξερες'', ότι σε κάποιες περιπτώσεις απαιτήται από το ίδρυμα το συγκεκριμένο για να δοθεί η έγκριση. Δε θέλω να σχολιάσω το χαρακτηρισμό ''εμπαθής'' που μου αποδίδεις. Θέλω όμως να σου δώσω καλοπροαίρετα μια συμβουλή, να μη λες στο συνομιλητή σου, είτε το συμπαθείς είτε όχι, ότι έχει το δικαίωμα να σε βρίζει δημόσια για κανένα λόγο γιατί έτσι εκτίθεσαι ο ίδιος και μειώνεις την αξιοπιστία των επιχειρημάτων σου ακόμα κι αν λες σωστά πράγματα. Εγώ δεν έχω τίποτα προσωπικό μαζί σου ούτε είμαι "εμπαθής" μαζί σου όπως λες κι ούτε θέλω να σε βρίσω, οι χαρακτηρισμοί μου στα πρώτο μήνυμα ήταν γενικοί (π.χ. καλοθελητές) δεν απευθυνόταν προσωπικά εναντίον σου. --[[Χρήστες:Consta|Consta]] 11:16, 11 Απρίλ 2009 (UTC) Κακό ξεκίνημα κάνατε και το Geraki έχει δίκιο σε πολλά πράγματα. Οι φανφάρες στα δελτία τύπου μειώνουν τη δουλειά που προσπαθείτε να κάνετε τα τελευταία δυο χρόνια και ξέρετε καλά πως θα ήταν άσχημη η ενσωμάτωση ποντιακών κειμένων στην Ελληνική έκδοση, είναι πολύ καλύτερα που εγκρίθηκε ως ξεχωριστή και δε θα μπλέκονται τα κείμενα -- [[Χρήστες:Fefeli|Fefeli]] [[Κατηγορίαν:Wp/pnt]] o6pj45fufcv2522y4erx1z62j3rue8o Βικιπαίδεια:Εκλογήν 4 160 34905 34904 2021-08-30T11:57:15Z 91.140.25.228 Αφαίρεση ψηφοφορίας από μαριονέτα 34905 wikitext text/x-wiki __NOTOC__ {| width=50% class="plainlinks" align=center border=0 cellpadding=2 cellspacing=2 style="margin-bottom:0.5em; background: white; font-size:120%; text-align:center;" |} {| align="right" style="background:#87CEFF; margin: 0 0 0.5em 1em;" id="toc" width=220 |- |colspan="2" allign="center" | [[Image:Emblem-WikiVote.svg|center|200px]] |- |colspan="2" align="center"|<center><big>'''Αδαπές ψηφίζομεν'''</big></center> |} <div style="background:#00B2EE; text-align: left; margin: 0px; padding: 3px;"> <font size="+1"><b>Χαιρετίας και καλωσόρεμαν σ' όλεα τα Βικιπαιδία!</b></font> </div> <hr size=5px noshadow> Αδακά γίνουντο εκλογήν σην Βικιπαίδειαν. Αδαπές ψηφίζομεν για νοματάντς και γιαρίφς. Το καλάτσεμαν για πολιτική εν αδαπές. Ψαλαφία για σημαίαν μποτ πρεπ' να ίνουνταν σην [[Βικιπαίδεια:Αγορά|Αγοράν]]. Εκέκα εχ' οδηγίας για ατά τα ψαλαφία. Για συμβουλάς γράφκετε σο [[Καλάτσεμαν χρήστε:ZaDiak|καλάτσεμαν]] τ' χρήστη [[Χρήστες:ZaDiak|ZaDiak]]. Ατός εν ο γιαρίφς σην Βικιπαίδειαν. ---- '''''<big>Καμμίαν 'κ ψηφίζετε τον εαυτόν εσούν</big>''''' ==Γιαρίφ== ===ZaDiak=== Εδώ μπορείτε να ψηφίσετε για την υποψηφιότητα του χρήστη ZaDiak για γραφειοκράτη (γιαρίφς). *{{Support}}--[[User:Omnipaedista|Omnipaedista]] 16:42, 23 January 2009 (UTC) *{{Support}} Καλός εν κι εξέρ τα δουλείας τη γιαρίφ. Μικρός σα χρόναι, τρανός σ'αχούλ. :) --[[User:Sinopeus|Sinopeus]] 16:45, 23 January 2009 (UTC) *{{Support}} --[[User:Makedonier|Μακεδόνας]] 16:49, 23 January 2009 (UTC) *{{Support}} -- [[User:GerardM|GerardM]] 13:42, 27 January 2009 (UTC) *{{Support}}--[[User:Lady 6thofAu|Lady 6thofAu]] 15:59, 31 January 2009 (UTC) *{{Support}} --[[User:Consta|Consta]] 13:15, 23 February 2009 (UTC) ==Νοματέοι== ===Sinopeus=== Εδώ μπορείτε να ψηφίσετε για την υποψηφιότητα του χρήστη Sinopeus για διαχειριστή (νοματέας). *{{Support}}--[[User:ZaDiak|ZaDiak]] 16:36, 23 January 2009 (UTC) *{{Support}}--[[User:Omnipaedista|Omnipaedista]] 16:42, 23 January 2009 (UTC) *{{Support}} --[[User:Makedonier|Μακεδόνας]] 16:50, 23 January 2009 (UTC) *{{Support}}--[[User:Lady 6thofAu|Lady 6thofAu]] 15:59, 31 January 2009 (UTC) *{{Support}} --[[User:Consta|Consta]] 13:16, 23 February 2009 (UTC) ===Makedonier=== Εδώ μπορείτε να ψηφίσετε για την υποψηφιότητα του χρήστη Makedonier για διαχειριστή (νοματέας). *{{support}}--[[User:ZaDiak|ZaDiak]] 16:37, 23 January 2009 (UTC) *{{Support}}--[[User:Omnipaedista|Omnipaedista]] 16:42, 23 January 2009 (UTC) *{{Support}} Ο Makedonier καλατςέβ ςκυρά ποντιακά και πολλά αγαπάει τη γλώσσα. Εποίκεν τρανόν γιαρτίμ σο έργον. --[[User:Sinopeus|Sinopeus]] 16:46, 23 January 2009 (UTC) *{{Support}}--[[User:Lady 6thofAu|Lady 6thofAu]] 15:59, 31 January 2009 (UTC) *{{Support}} --[[User:Consta|Consta]] 13:16, 23 February 2009 (UTC) ===Omnipaedista=== Εδώ μπορείτε να ψηφίσετε για την υποψηφιότητα του χρήστη Omnipaedista για διαχειριστή (νοματέας). *{{support}}--[[User:ZaDiak|ZaDiak]] 16:38, 23 January 2009 (UTC) *{{Support}} Ο Omnipaedista εν καλόν βικιπαιδίν κι αγαπά να τερεί ατά ντο γράφκουνταν. Αγαπά την διαφάνειαν και τα νομς ντο κανονίζνε την δουλείαν αδαπές. Για τ'ατό θα εν καλός νοματέας. --[[User:Sinopeus|Sinopeus]] 16:46, 23 January 2009 (UTC) *{{Support}} --[[User:Makedonier|Μακεδόνας]] 16:50, 23 January 2009 (UTC) *{{Support}} --[[User:Consta|Consta]] 13:16, 23 February 2009 (UTC) [[Category:wp/pnt|Βικιπαίδεια/Ψηφοφορίαν]] == Bots == === [[User:Purbo T|Purbo T]] === Hi there all. Sorry for writing in English, but would you be alright with giving [[User:VolkovBot]], [[User:SieBot]], [[User:JAnDbot]], and [[User:Darkicebot]] bot flags here? Thanks, [[Χρήστες:Razorflame|Razorflame]] 20:42, 9 Μαρτ 2009 (UTC) :It will take a week before stewards will touch the requests anyways and my proposal for Global Bots here will cover all these bots I believe and only has 6 days to go. Once it goes through all of them will have the bot flag. -[[Χρήστες:Djsasso|Djsasso]] 01:25, 10 Μαρτ 2009 (UTC) :: It looks like nobody has objections to the global bot proposal so let it be active also here [[Χρήστες:Carsrac|Carsrac]] 12:02, 15 Μαρτ 2009 (UTC) :::Same question for [[User:Purbo T|Purbo T]]. Sorry for coming a bit behind the others. --[[Χρήστες:Purodha|Purodha]] 10:30, 17 Μαρτ 2009 (UTC) Granted<tt>:)</tt>--[[Χρήστες:ZaDiak|ZaDiak]] === [[user:Dinamik-bot|Dinamik-bot]] === I request that [[user:Dinamik-bot|Dinamik-bot]] gets a bot flag. The bot will be add and fix interwiki links. * '''Operator:''' [[:ru:user:Dinamik|Dinamik]] * '''Mode:''' automatic * '''Function:''' fix/add interwikis * '''Software:''' [[:en:Python|Python]], [[:meta:pywikipedia|pywikipedia]] * '''Technical details:''' autonomous mode * '''already has a bot flag on:''' az, be-x-old, ca, cs, el, es, fa, fi, he, hy, id, it, ka, mk, nl, no, pl, pt, ro, ru, simple, sr, sv, tr, uk, zh, zh-yue Thank you! [[Χρήστες:Dinamik|Dinamik]] 17:59, 29 Τρυγομηνά 2009 (UTC) :Granted <tt>;)</tt> --[[Χρήστες:ZaDiak|ZaDiak]] 21:17, 29 Τρυγομηνά 2009 (UTC) === [[user:Egmontbot|Egmontbot]] === Αιτούμαι την σημαία bot για το [[user:Egmontbot|Egmontbot]]. Το bot θα βάζει μόνο interwiki. Αν δεν υπάρχουν τοπικά bot και '''μόνο κατόπιν εντολής''' από την κοινότητα το bot ευχαρίστως μπορεί να κάνει και άλλες δουλειές. * '''Operator:''' [[:el:user:Egmontaz|Egmontaz]] * '''Mode:''' automatic * '''Function:''' fix/add interwikis * '''Software:''' [[:meta:pywikipedia|pywikipedia]] * '''Technical details:''' με επίβλεψη, ποτέ αυτόματα * '''already has a bot flag on:'''el en (μόνο για αποσαφηνίσεις)''' Ευχαριστώ. --[[User:Egmontaz|<b><font color="#082567">Egmontaℨ</font></b><font color="#CD5B45">♤</font>]]<i><font color="#F0E130"> <sup>[[User talk:Egmontaz|συζήτηση]]</sup></font></i> 17:15, 12 Κούντουρονος 2010 (UTC) :Σου έδωσα τη σημαία. Καλή δουλειά!--<b>[[Χρήστης:ZaDiak|<font color="black">Ζάχον</font>]]</b><sup>[[User talk:ZaDiak|<font color="Crimson">Talk</font>]]</sup> 17:39, 13 Κούντουρονος 2010 (UTC) == Πολιτικήν == ===Bot policy=== Hello. To facilitate [[m:steward|steward]] granting of bot access, I suggest implementing the [[m:Bot policy|standard bot policy]] on this wiki. In particular, this policy allows stewards to automatically flag known interlanguage linking bots (if this page says that is acceptable), which form the vast majority of such requests. The policy also enables [[m:Bot policy#Global_bots|global bots]] on this wiki (if this page says that is acceptable), which are trusted bots that will be given bot access on every wiki that allows global bots. This policy makes bot access requesting much easier for local users, operators, and stewards. To implement it we only need to create a redirect to this page from [[Project:Bot policy]], and add a line at the top noting that it is used here. Please read the text at [[m:Bot policy]] before commenting. If you object, please say so; I hope to implement in one week if there is no objection, since it is particularly written to streamline bot requests on wikis with little or no community interested in bot access requests. [[Χρήστες:Djsasso|Djsasso]] 20:34, 8 Μαρτ 2009 (UTC) : Implemented. —<small>[[m:User:Pathoschild|Pathoschild]] 20:37:42, 15 Μαρτς 2009 (UTC)</small> 9e5srjqvque4idw2kyq7m9zo7mpvazr Βοήθειαν:Περιεχόμενα 12 161 36089 36062 2024-12-12T23:33:28Z Wolverène 4171 36089 wikitext text/x-wiki {{:Βικιπαίδεια:Πολιτική}} <div style="float:right;border:1px dotted red;margin:5px;padding:2px;background:#FFF8DC;">(en) [[Βικιπαίδεια:Βοήθεια en|Βοήθεια in english]]</div> Αδακά ολίγον '''βοήθειαν''' για να εφτάτε γραψίματα σην [[Βικιπαίδεια|Βικιπαίδειαν]]. == Ο τίτλον == Ο τίτλον τ' αρθρί να αρχίζ' με τ' ατά τα γράμματα. Ατό πρέπ' να ίνεται για να πηγαίνουν τα [[Ποντιακά|ποντιακά]] τ' άρθρα τ' incubator ουλ' εντάμαν, λ.χ. [[Ουσιαστικόν]]. == Κατηγορίας == Κάθαν γράψιμον πρέπ' να έχ' κατηγορίαν. Για να εφτάτε την κατηγοριοποίησην θα γράφετε ασόν άρθρον αφκά το category statement, την κατηγορίαν, λ.χ.: *Για να βάζομε τ' άρθον ''Ουσιαστικόν'' σην κατηγορία ''Γραμματικήν'' θα γράφομε: ::<nowiki>[[Κατηγορίαν:Γραμματικήν|Ουσιαστικον]]</nowiki> == Η λέξην μετά τη γραμμήν (|) == Η λέξην μετά τη γραμμήν (σο παράδειγμανεμουν: ''Ουσιαστικον'') θέκ' σ' αλφαβητικόν σειράν τα λέξεις ση σελίδαν τη κατηγορίων. Σο τίτλον 'κ θα γράφετε νε άρθρον νε σημείον για τον τόνον. == Σελίδας κατηγορίων == Οι τίτλοι ούλ' τη σελιδίων εσέβνε αυτόματα σον κατάλογον τη σελιδίων κατηγορίων. Για να εμπάτε σε σελίδαν κατηγορίας εφτάτε κλικ σο category statement τ' αρθρί. Λ.χ. σ' ατό τη σελίδαν θα εφτάτε κλικ σο ''Wp/pnt/Βικιπαίδεια'' και θα εμπάτε σην σελίδα κατηγορίας «Βικιπαιδεία». Άλλα κατηγορίας τη [[Ποντιακά|ποντιακού]] τη Βικιπαίδειας: *Category:Wp/pnt/Γραμματικήν *Category:Wp/pnt/Κράτη Όλεα τα σελίδας κατηγορίας πρέπ' να ευρίσκουνταν σ' άλλη κατηγορίαν. Ασ' ούλτ'ς απάν είναι η κατηγορίαν με τ' όνεμα ''Pontic Wikipedia'': ::<nowiki>[[Category:Pontic Wikipedia]]</nowiki> == Λεχτικόν == Όντες θα εγράφετε άρθα σην Βικιπαίδειαν, θα χρειάσκουνταν και λέξεις ντο 'κ έχομε σα [[Ποντιακά|ρωμαίικα τα ποντιακά]] τη παλαιώνεμουν. Απόθεν θα παίρομ' ατά; === Ασ' αρχαία τ' ελλενικά === Τα λεξεις ντο 'κ έχομε θα παίρομε ατα ασ' εκείνα ντο είχαμε κι εχάσαμε. Ενούμε αδακά, τ' αρχαία τα λέξεις ντ' ενεσπάλθαν οσήμερον, επειδή και ο πολιτισμόσεμουν εξέπεσεν, λ χ. οπτική, αίστηση, αφή, γεωμετρία, μετεωρολογία, κ.τ.λ. Άλλον λόγον ένι ότι πολλά ασ' ατά τα λέξεις ένταν διεθνικά κι θα λέγομ ατά αμόν ντο λέει ατά όλεν ο κόσμον. Ασ' άλλ' την μερέαν πα έχομε λέξεις ντο 'κ ενεπέμναν τα ίδια, άμαν η ρίζανατουν ενεπέμνε και για τ' ατό εύκολα επορούμε να πάιρομ' ατά: «φαίνομαι» (έχομ' ατεν) -> «φαινόμενον» (θα παίρομ' ατεν) γιά «ερωτώ» -> «ερωτηματικόν». === Ασα ξένα γλώσσας === Αμόν ντ' επάρθαν ξενικά λέξεις κι ένταν ρωμαίικα σα παλαιά τα χρόνε, αέτς θα παίρομ' ατά κι οσήμερον. Τα ποντιακά έχνε πολλά ξενικά λέξεις, λ.χ. «κουμούλ» ασα λατινικά (''cumulus''), «αραεύω» ασα τουρκικά (''arama''), «καρτόφαι» ασα γερμανικά (''Kartoffel''), «καφές» ασα αραβικά (قهوة ''qahwa''), κ.τ.λ. Αμόν ντ' όλεα τα γλώσσας, αέτς και τα ποντιακά επαίραν ξενικά λέξεις αση λαούς που με τον πολιτιζμόν ατούν επηρέασαν τοι Ρωμαίοις τη Πόντονος. === Τρόπος === Θα παίρομε παράδειγμα τα νομς ντο τερούσαν όντες επαίραν τα παλαιά τα ξένα τα λέξεις (λ.χ. «αραεύω»): αν η λέξη ταιριάζ με το καλούπ' τη γλώσσας, θα παίρομ' ατεν όπως είν. Αν όχι, θα κανονίζομ' ατεν και θα βάλομ' ατεν σο καλούπ' τη ρωμαίικης: αέτς πα το ''ben arama'' έντον «αραεύω» και τα ''Kartoffeln'' «καρτόφαι». <br> Σα λέξεις ασ' αρχαία τ' ελλενικά: «αφή» ταιρίαζ έτσι όπως εν. Άμαν η «όρασις» 'κ ταιριάζ και ίνεται «όραση» χωρίς ''-ς''. == Κι άλλα για την Βικιπαίδεια == *[[Βικιπαίδεια/Ντο εν η Βικιπαίδεια|Ντο εν η Βικιπαίδεια]] *[[Βικιπαίδεια/Ντο 'κ εν η Βικιπαίδεια|Ντο 'κ εν η Βικιπαίδεια]] *[[Βικιπαίδεια/Δικαιώματα πνευματί|Δικαιώματα πνευματί]] == Επικοινωνία == * [[Βικιπαίδεια:Αγορά|Αγορά]], ο κεντρικόν τόπον επικοινωνίας * [http://meta.wikipedia.com/ Meta Wikipedia], a site that works alongside the main Wikipedia project. Here you can post essays and discussions about topics related to Wikipedia. [[Category:Βικιπαίδεια|Βοηθεια]] [[af:Wikipedia:Help]] [[als:Wikipedia:Hilfe]] [[am:Help:Contents]] [[an:Wikipedia:Aduya]] [[ang:Help:Innung]] [[ar:مساعدة:محتويات]] [[ay:Help:Contents]] [[bg:Помощ:Съдържание]] [[br:Wikipedia:Skoazell]] [[bs:Pomoć:Sadržaj]] [[ca:Viquipèdia:Ajuda]] [[cs:Nápověda:Obsah]] [[cy:Wicipedia:Cymorth]] [[da:Hjælp:Forside]] [[de:Wikipedia:Hilfe]] [[el:Βικιπαίδεια:Βοήθεια]] [[en:Wikipedia:Help]] [[eo:Helpo:Enhavo]] [[es:Wikipedia:Ayuda]] [[et:Juhend:Sisukord]] [[eu:Wikipedia:Laguntza]] [[fa:راهنما:فهرست]] [[fi:Wikipedia:Ohje]] [[fo:Hjálp:Innihald]] [[fr:Aide:Sommaire]] [[fy:Wikipedy:Help]] [[gl:Wikipedia:Axuda]] [[he:עזרה:תפריט ראשי]] [[hi:विकिपीडिया:सहायता]] [[hr:Wikipedija:Pomoć]] [[hsb:Wikipedija:Pomoc]] [[hu:Segítség:Tartalom]] [[hy:Help:Contents]] [[ia:Wikipedia:Adjuta]] [[id:Bantuan:Isi]] [[ilo:Help:Contents]] [[io:Helpo:Helpo]] [[is:Hjálp:Efnisyfirlit]] [[it:Aiuto:Manuale]] [[ja:Wikipedia:ヘルプ]] [[ka:ვიკიპედია:დახმარება]] [[kn:ಸಹಾಯ:ಪರಿವಿಡಿ]] [[ko:도움말:목차]] [[ksh:Hölp:Hölp]] [[ku:Wîkîpediya:Alîkarî]] [[kw:Wikipedia:Gweres]] [[lb:Wikipedia:Hëllef]] [[li:Wikipedia:Gebroekersportaol]] [[lt:Pagalba:Turinys]] [[lv:Lietošanas pamācība]] [[map-bms:Wikipedia:Bantuan]] [[mi:Whakamārama:Kuputohu]] [[mk:Помош:Содржина]] [[mr:Help:Contents]] [[ms:Bantuan:Kandungan]] [[mt:Għajnuna:Kontenut]] [[nds:Wikipedia:Hülp]] [[nds-nl:Hulpe:Wikipedie]] [[new:ग्वाहालि:धल:पौ]] [[nl:Portaal:Hulp en beheer]] [[nn:Hjelp:Innhald]] [[no:Hjelp:Portal]] [[pl:Pomoc:Spis treści]] [[pms:Wikipedia:Agiut]] [[pt:Ajuda:Página principal]] [[qu:Wikipidiya:Yanapana]] [[ro:Wikipedia:Ajutor]] [[ru:Википедия:Справка]] [[scn:Help:Aiutu]] [[se:Help:Contents]] [[simple:Help:Contents]] [[sk:Pomoc:Obsah]] [[sl:Pomoč:Vsebina]] [[sq:Wikipedia:Ndihmë]] [[sr:Помоћ:Садржај]] [[stq:Hälpe:Hälpe]] [[su:Wikipedia:Pitulung]] [[sv:Hjälp:Innehåll]] [[sw:Msaada wa kuanzisha makala]] [[tl:Wikipedia:Tulong]] [[ta:Wikipedia:உதவி]] [[te:Help:Contents]] [[th:วิกิพีเดีย:ความช่วยเหลือ]] [[tr:Yardım:İçindekiler]] [[ug:Yardem:Contents]] [[uk:Вікіпедія:Довідка]] [[ur:معاونت:فہرست]] [[vi:Trợ giúp:Mục lục]] [[wa:Wikipedia:Aidance]] [[yi:הילף:אינהאַלט]] [[zh:Help:目录]] [[zh-classical:Help:協助]] [[zh-min-nan:Help:Bo̍k-lio̍k]] dykt6y04akutjaa0ljjjlasn22q6iiw Βικιπαίδεια:Βοήθεια en 4 162 33984 33971 2018-10-27T16:42:42Z Wim b 3723 Ανάκληση των αλλαγών [[Special:Contributions/91.140.89.219|91.140.89.219]] ([[User talk:91.140.89.219|συζήτηση]]) επιστροφή στην προηγούμενη αναθεώρηση [[User:Wim b|Wim b]] 33932 wikitext text/x-wiki <div style="float:right;border:1px dotted red;margin:5px;padding:2px;background:#FFF8DC;">(pnt) [[Βοήθειαν:Περιεχόμενα|Βοήθεια σα ρωμαίικα ποντιακά]]</div> Some '''Βοήθεια''' in English for creating articles in [[Βικιπαίδεια]]. == Categorization == Each article should belong to a category. To categorize an article, add a ''category statement'' at the bottom of the article, such as: *For the ''Ουσιαστικόν'' article in the ''Γραμματικήν'' category: ::<nowiki>[[Category:Γραμματικήν|Ουσιαστικον]]</nowiki> == The word after the pipe (|) == Τhe word after the pipe (in this example ''Ουσιαστικον'') enables proper alphabetization on the category pages. The title of the page should be given here without definite articles and without accents. == Category pages == These pages automatically list all the articles in that category. To access a category page, click on the category statement at the bottom of the page. For example, on this page, click on ''Βικιπαίδεια'' below to access the Βικιπαιδεία category page. Some other categories in Pontic Greek Wikipedia include: *Category:Γραμματικήν *Category:Κράτη All category pages must themselves belong to another category. The top-level categories all belong to the master category called ''Wp/pnt'': ::<nowiki>[[Category:Wp/pnt]]</nowiki> [[Category:Βικιπαίδεια|Βοηθεια]] 6h05wxy89bvecnm80hgjzjyk9y03jec Βικιπαίδεια:Δικαιώματα πνευματί 4 163 33979 33976 2018-10-27T16:41:27Z Wim b 3723 Ανάκληση των αλλαγών [[Special:Contributions/91.140.89.219|91.140.89.219]] ([[User talk:91.140.89.219|συζήτηση]]) επιστροφή στην προηγούμενη αναθεώρηση [[User:Addbot|Addbot]] 31626 wikitext text/x-wiki {{:Βικιπαίδεια: Πολιτική}} Βαλέστε άρθρα σην [[Βικιπαίδεια|Βικιπαίδειαν]] όνταν κατέχετε τα '''δικαιώματα πνευματί''' μαναχόν. Αδακά 'κ εν ο τόπον για να θέκουμε γράψιμον ντ' έγραψαν αλλ θίχως ν' ερωτούματοιντς! Βαλέστε άρθα ντ' επιτρέπ' η [[:w:el:Άδεια Ελεύθερης Τεκμηρίωσης GNU|Άδεια Ελεύθερης Τεκμηρίωσης GNU]].<br /> Επίσης ούλαι τα τεσέτερα τα γραψίματα θα μεταχειρίσκουνταν άμον ντο λεει αβούτεν η άδειαν. Ατό αν 'κ θέλετε να ίνεται, ξάι μην εφτάτε το αποθήκεμαν τη γραψιματίνεσουν. Άμαν καμμίαν κι ανασπάλλετε: Αδακά 'κ εν ο τόπον για να θέκουμε γράψιμον ντ' έγραψαν αλλ! == Κι άλλα για την Βικιπαίδεια == *[[Βικιπαίδεια/Βοήθεια|Βοήθεια]] *[[Βικιπαίδεια/Ντο εν η Βικιπαίδεια|Ντο εν η Βικιπαίδεια]] *[[Βικιπαίδεια/Ντο 'κ εν η Βικιπαίδεια|Ντο 'κ εν η Βικιπαίδεια]] == Επικοινωνία == * [[Βικιπαίδεια:Αγορά|Αγορά]], ο κεντρικόν τόπον επικοινωνίας [[Category:Βικιπαίδεια|Δικαιωματα πνευματι]] bhgsezy5adbu44zxqq3x47490a7m4fa Βικιπαίδεια:Ντο 'κ εν η Βικιπαίδεια 4 165 36088 36060 2024-12-12T23:33:21Z Wolverène 4171 36088 wikitext text/x-wiki {{:Βικιπαίδεια: Πολιτική}} Η [[Βικιπαίδεια]] εν δικτυακόν, ουδέτερον εγκυκλοπαίδειαν. Δικτυακόν κοινότηταν γράφ' και ωριάζ' ατέναν. Για τ' ατό ας εξέρουμε κάποια πράματα που 'κ εν για την Βικιπαίδειαν. Δέβασον και θα μαθάν'ς. == Ντο 'κ εν η Βικιπαίδεια == * '''Η Βικιπαίδεια 'κ εν λεξικόν'''. Για τ' ατό 'κ επορεί να έχ' άρθρα για όλεα τα λέξεις τη γλώσσας. * '''Η Βικιπαίδεια 'κ εν τόπον για τα τ' εσέτερα τα προσωπικά τα νουνίζματα και ιδέας'''. Θα γράφουμε ατά που λέγνε μας η επιστήμη και τα γεγονότα. Όντες η επιστήμη λεει μας δυο πράματα αντίθετα απάν σο θέμαν, και το ένα θα γράφουμε και το άλλο. Αέτς πα θα τοπλαεύουμε τα γνώσιας. * '''Η Βικιπαίδεια 'κ εν φορούμι'''. Επορείτε να γράφετε ούλ' ατά ντο θέλετε σα σελίδας καλατσεματί τη χρηστίων. Ακαικά να εφτάτε παρακάθ' και διάλογον. Σα σελίδας καλατσεματί τ' αρθρίων επορείτε ν' εφτάτε διάλογον για να λύνετε τα προβλήματα τ' αρθρί. Άμα ση σελίδαν τ' αρθρί θα γράφετε σο θέμαν απάν μαναχόν. Να μην εφτάτε καλάτσεμαν σο άρθρον απές. * '''Η Βικιπαίδεια 'κ εν τόπον για να γράφουμε γνώσια ντο 'κ ξέρουμε καλά'''. Για τ' αναγνώριμα τα θέματα ξάι 'κ θα γράφετε. * '''Η Βικιπαίδεια 'κ εν τόπον για να εφτάμε πρωτότυπον αράεμαν'''. Αδακά 'κ θ' αραεύουμε καινούρεα ιδέας, λέξεις, θεωρίας και λύσεις. Τ' εσέτερα τα αραέματα για το θέμαν θα δημοσιεύετε τα σ' άλλον τόπον. * '''Η Βικιπαίδεια 'κ εν τόπον για να εφτάμε καταλόγους με συνδέσμους, εικόνας και αρχεία ήχου'''. * '''Η Βικιπαίδεια 'κ εν τόπον για να εφτάμε ρεκλάμα και διαφήμιση'''. * '''Η Βικιπαίδεια 'κ εν τόπον για να τοπλαεύουμε κείμενα ντο 'κ έγραψαμε'''. Βαλέστε κείμενα όνταν κατέχετε τα [[Βικιπαίδεια/Δικαιώματα πνευματί|δικαιώματα πνευματί]]. * '''Η Βικιπαίδεια 'κ θα τυπώνεται σε χαρτίν'''. Για τ' ατό επορεί να έχ' συνδέσμαι, να αλλάζ' την μορφήν ατ'ς και να τρανείν. * '''Η Βικιπαίδεια 'κ εν τόπον για να εφτάμε προσωπικόν σάιτ''' (Αυτοπροβολή). == Ντο θα ίνεται αν εφτάτε αλλέτερα == * Άλλος χρήστες θα εφτάει αλλαγάς απάν σο τ' εσόν το γράψιμον. * Ανίσως το άρθρον εν κατάλληλον, θ' αποθηκεύοματο γιά σην [[s:el:Κύρια Σελίδα|Βικιθήκην]] γιά σα [[:q:el:Κύρια_Σελίδα|Βικιφθέγματα]]. Ώσποτα άμαν 'κ εν κατάλληλον, το άρθρον θα σβήεται. * Αφότε τ' άρθρον εν άχρηστον, θα σβήεται αλήγορα. * Αφότε ο χρήστες εν τεβεκενλής και συνεχίζ' ξάι 'κ να τερεί τα νομς ντο κανονίζ'νε τη Βικιπαίδειαν, θ' ασπαλίζ'νε την IP ή τη λογαρίαν ατ'. == Κι άλλα για την Βικιπαίδεια == * [[Βικιπαίδεια/Βοήθεια|Βοήθεια]] * [[Βικιπαίδεια/Ντο εν η Βικιπαίδεια|Ντο εν η Βικιπαίδεια]] * [[Βικιπαίδεια/Δικαιώματα πνευματί|Δικαιώματα πνευματί]] == Επικοινωνία == * [[Βικιπαίδεια:Αγορά|Αγορά]], ο κεντρικόν τόπον επικοινωνίας * [http://meta.wikipedia.com/ Meta Wikipedia], a site that works alongside the main Wikipedia project. Here you can post essays and discussions about topics related to Wikipedia. [[Κατηγορίαν:Βικιπαίδεια|Ντο 'κ εν η Βικιπαιδεια]] f3jr0g7n5eirq02phusi5h8y38vm5tk Βικιπαίδεια:Ντο εν η Βικιπαίδεια 4 166 26125 1589 2012-04-03T17:17:13Z 80.187.107.158 /* Βασικά στοιχεία */ Π'εχπαστεν :) 26125 wikitext text/x-wiki {{:Βικιπαίδεια: Πολιτική}} H '''[[Βικιπαίδεια|Βικιπαίδεια]]''' εν [[εγκυκλοπαίδεια|εγκυκλοπαίδειαν]] το περιεχόμενον ατς εν ελεύθερον. Γράφκεται απ' ατείντζ π' θέλνε να εργάσκουνταν και να συνεργάσκουνταν ο εις με τ' άλλον, αέτς για να τρανείν η εγκυκλοπαίδειαν. Λέγομε «[[ελεύθερον περιεχόμενον|ελεύθερον περιεχόμενον]]» κι ενούμε αδακά ντ' επορεί να ίνεται χρήση, αντιγραφή και αλλαγή τη σελιδίων ασ' ούλτς π' θέλνε. Πλέα νομς ντο κανονίζνε τη λειτουργείαν τη Βικιπαίδειας θα ευρίσκετ' ατα σα [[Βικιπαίδεια/Δικαιώματα πνευματί|Δικαιώματα πνευματί]]. == Βασικά στοιχεία == Αβούτο η σελίδαν εν [[Wiki|wiki]]: Ούλ' οι χρήστες επορούν ν' εφτάνε κι ν' αλλάζνε τα σελίδας αθέ πατώντας το κουμπίν ''άλλαξον''. Οι χρήστες επορούν ν' εργάσκουνταν σ' όλεα τα σελίδας, εξόν τ' ολίγα τα ειδικά που είν' ασπαλιγμένα. Το [[Ποντιακά|ποντιακόν]] το τεστ τη Βικιπαίδειας ερχίνεσεν σα 23 τη Σταυρίτε 2007 κι ατώρα έχ' {{NUMBEROFARTICLES}} άρθρα. Κι άλλο πολλά άρθρα έχ' [[w:el:Βικιπαίδεια:Γλώσσες|σ' άλλα γλώσσας]]. Η άδεια χρήσης με τόνεμαν [[w:el:GFDL|GNU Free Documentation License]] ωριάζ' τα περιεχόμενα τη Βικιπαίδειας. Τα συνεισφοράντας εναπομέν'νε ιδιοκτησίαν τ' ατεινών π' εφτάγν' ατείν, άμαν η άδεια χρήσης δίγει το δικαίωμαν για χρήσην, αναδιανομήν και αναπαραγωγήν. {| |[[Image:Down-r1.svg|47px]] ||'''Σημείωση 1:''' Το ρωμαίικον η Βικιπαίδειαν εχπάστεν με πρότυπο τ' [[:el:Κύρια_Σελίδα|ελλενικόν]] την έκδοσην και τα τρανά τα Βικιπαίδειας, τ' [[:en:Main_Page|αγγλικόν]] και το [[:de:Hauptseite|γερμανικόν]]. Πολλά άρθρα και οδηγίας 'κ είν' μεταφρασμέν' ακόμαν. Για τ' ατό επορείτε να δεαβάσετε τ' ανάλογα τ' άρθρα σ' αγγλικόν την έκδοσην όντες 'κ έχομ ατα αδακά. |- |&nbsp; |- |[[Image:Up-r1.png|47px]] || '''Σημείωση 2:''' Η Βικιπαίδεια θα έχ' ορισμένα άρθρα το 'κ θα ερέχκουνταν τα μερικοί χρήστες. Δεαβάστεν το [[w:en:Wikipedia:Content disclaimer|content disclaimer]] για να μαθάνετεν κι άλλα για το θέμαν. |} == Τερέστεν και == *[[Βικιπαίδεια/Βοήθεια|Βοήθεια]] *[[Βικιπαίδεια/Ντο 'κ εν η Βικιπαίδεια|Ντο 'κ εν η Βικιπαίδεια]] *[[Βικιπαίδεια/Δικαιώματα πνευματί|Δικαιώματα πνευματί]] == Επικοινωνία == * [[Βικιπαίδεια:Αγορά|Αγορά]], ο κεντρικόν τόπον επικοινωνίας * [http://meta.wikipedia.com/ Meta Wikipedia], a site that works alongside the main Wikipedia project. Here you can post essays and discussions about topics related to Wikipedia. == Η Βικιπαίδεια σ' άλλα γλώσσας == </div> <div style="font-size:115%; padding-left:5px; margin-bottom: 0.5em; text-align: left"> <!--Biggest Wikipedias--> '''100 000 +'''<br/></div> <div style="font-size:95%; padding-left:7px; margin-bottom: 1em; text-align: left"> [[:en:|English]] &nbsp;•&nbsp; [[:de:|Deutsch (German)]] &nbsp;•&nbsp; [[:ja:|日本語 (Japanese)]] &nbsp;•&nbsp; [[:fr:|Français (French)]] &nbsp;•&nbsp; [[:pl:|Polski (Polish)]] &nbsp;•&nbsp; [[:fi:|Suomi (Finnish)]] &nbsp;•&nbsp; [[:sv:|Svenska (Swedish)]] &nbsp;•&nbsp; [[:nl:|Nederlands (Dutch)]] &nbsp;•&nbsp; [[:es:|Español (Spanish)]] &nbsp;•&nbsp; [[:it:|Italiano (Italian)]] &nbsp;•&nbsp; [[:no:|Norsk (Norwegian Bokmål)]] &nbsp;•&nbsp; [[:pt:|Português (Portuguese)]] &nbsp;•&nbsp; [[:ru:|Русский (Russian)]] &nbsp;•&nbsp; [[:zh:|中文 (Chinese)]] </div> <!--Biggest Wikipedias--> <div style="font-size:100%; padding-left:7px; margin-bottom: 0.5em; text-align: left"> <!--Large Wikipedias--> '''10 000 +'''</div> <div style="font-size:95%; padding-left:7px; margin-bottom: 0.5em; text-align: left"> [[:ar:|العربية (Arabic)]] &nbsp;•&nbsp; [[:bg:|Български (Bulgarian)]] &nbsp;•&nbsp; [[:bs:|Bosanski (Bosnian)]] &nbsp;•&nbsp; [[:ca:|Català (Catalan)]] &nbsp;•&nbsp; [[:cs:|Česká (Czech)]] &nbsp;•&nbsp; [[:cy:|Cymraeg (Welsh)]] &nbsp;•&nbsp; [[:da:|Dansk (Danish)]] &nbsp;•&nbsp; [[:el:|Ελληνικά (Greek)]] &nbsp;•&nbsp; [[:eo:|Esperanto]] &nbsp;•&nbsp; [[:et:|Eesti (Estonian)]] &nbsp;•&nbsp; [[:eu:|Euskara (Basque)]] &nbsp;•&nbsp; [[:gl:|Galego (Galician)]] &nbsp;•&nbsp; [[:he:|עברית (Hebrew)]] &nbsp;•&nbsp; [[:hi:|हिन्दी (Hindi)]] &nbsp;•&nbsp; [[:hr:|Hrvatski (Croatian)]] &nbsp;•&nbsp; [[:hu:|Magyar (Hungarian)]] &nbsp;•&nbsp; [[:io:|Ido]] &nbsp;•&nbsp; [[:id:|Bahasa Indonesia (Indonesian)]] &nbsp;•&nbsp; [[:is:|Íslenska (Icelandic)]] &nbsp;•&nbsp; [[:jv:|Basa Jawa (Javanese)]] &nbsp;•&nbsp; [[:ko:|한국어 (Korean)]] &nbsp;•&nbsp; [[:la:|Latina (Latin)]] &nbsp;•&nbsp; [[:lb:|Lëtzebuergesch (Luxembourgish)]] &nbsp;•&nbsp; [[:lt:|Lietuvių (Lithuanian)]] &nbsp;•&nbsp; [[:lv:|Latviešu (Latvian)]] &nbsp;•&nbsp; [[:ms:|Bahasa Melayu (Malay)]] &nbsp;•&nbsp; [[:nds:|Plattdüütsch (Low Saxon)]] &nbsp;•&nbsp; [[:nn:|Norsk (Norwegian Nynorsk)]] &nbsp;•&nbsp; [[:fa:|فارسی (Persian)]] &nbsp;•&nbsp; [[:ro:|Română (Romanian)]] &nbsp;•&nbsp; [[:scn:|Sicilianu (Sicilian)]] &nbsp;•&nbsp; <!--'''Simple''' &nbsp;•&nbsp;--> [[:sk:|Slovenčina (Slovak)]] &nbsp;•&nbsp; [[:sl:|Slovenščina (Slovenian)]] &nbsp;•&nbsp; [[:sr:|Српски (Serbian)]] &nbsp;•&nbsp; [[:su:|Basa Sunda (Sundanese)]] &nbsp;•&nbsp; [[:ta:|தமிழ் (Tamil)]] &nbsp;•&nbsp; [[:th:|ไทย (Thai)]] &nbsp;•&nbsp; [[:tr:|Türkçe (Turkish)]] &nbsp;•&nbsp; [[:uk:|Українська (Ukrainian)]] &nbsp;•&nbsp; [[:vi:|Tiếng Việt (Vietnamese)]] </div> <div style="font-size:100%; padding-left:7px; margin-bottom: 0.5em; text-align: left"> <!--Wikipedias with many articles--> '''1 000 +'''</div> <div style="font-size:95%; padding-left:7px; margin-bottom: 1em; text-align: left"> [[:af:|Afrikaans]] &nbsp;•&nbsp; [[:ast:|Asturianu (Asturian)]] &nbsp;•&nbsp; [[:be:|Беларуская (Belarusian)]] &nbsp;•&nbsp; [[:csb:|Kaszëbsczi (Kashubian)]] &nbsp;•&nbsp; [[:fy:|Frysk (Western Frisian)]] &nbsp;•&nbsp; [[:ga:|Gaeilge (Irish)]] &nbsp;•&nbsp; [[:ia:|Interlingua]] &nbsp;•&nbsp; [[:ku:|Kurdî (Kurdish)]] &nbsp;•&nbsp; [[:kw:|Kernewek (Cornish)]] &nbsp;•&nbsp; [[:zh-min-nan:|Bân-lâm-gú (Southern Min)]] &nbsp;•&nbsp; [[:oc:|Occitan]] &nbsp;•&nbsp; [[:sa:|संस्कृत (Sanskrit)]] &nbsp;•&nbsp; [[:sco:|Scots]] &nbsp;•&nbsp; [[:tt:|Tatarça (Tatar)]] &nbsp;•&nbsp; [[:ur:|اردو (Urdu)]] [[:wa:|Walon (Walloon)]] &nbsp;•&nbsp; [[:yi:|יידיש (Yiddish)]] &nbsp;•&nbsp; [[:zh-classical:|古文/文言文 (Classical Chinese)]] <!--Wikipedias with many articles--> </div> <div style="font-size:95%; padding-left:7px; margin-bottom: 0.5em; text-align: left"> <!--Wikipedias with fewer articles--> '''100 +'''</div> <div style="font-size:95%; padding-left:7px; margin-bottom: 1.5em; text-align: left"> [[:cr:|Nehiyaw (Cree)]] &nbsp;•&nbsp; [[:cu:|словѣньскъ (Old Church Slavonic)]] &nbsp;•&nbsp; [[:got:|gutisk (Gothic)]] &nbsp;•&nbsp; [[:mi:|Māori]] </div> == Παρόμοια έργα == *[http://wiktionary.org Wiktionary], a multilingual Wiki dictionary and thesaurus. *[http://textbook.wikipedia.org Wikibooks], a Wikipedia-like project to create open content textbooks. *[http://wikiquote.org Wikiquote], a compendium of quotations in every language. (Τερέστεν: [[s:el:Κύρια Σελίδα|Βικιθήκη]]) *[http://sources.wikipedia.org Wikisource], a collection of public domain source texts. [[Category:Βικιπαίδεια|Ντο εν η Βικιπαιδεια]] [[el:Βικιπαίδεια:Τι είναι η Βικιπαίδεια]] erqwabg5fvohhb5di1csq99gopcuce7 Βικιπαίδεια:Ποντιακόν γράψιμον 4 167 27119 27064 2012-06-12T04:19:01Z Omnipaedista 35 Undo revision 27064 by [[Special:Contributions/178.59.226.136|178.59.226.136]] 27119 wikitext text/x-wiki Αδακά καλατςςέβουμε για το '''ποντιακόν το γράψιμον'''. Σο κέντρον τη προσοχήσεμουν στέκ' το ζήτημαν πως να εφτάμε και ατά ντο γράφουμε να είναι σωστά, να προφέρκουνταν σωστά, και να εγροικούν ατα ατοί π' δεαβάζν'ατα. Το σωστόν το ποντιακόν το γράψιμον ποίον εν; Χρειάσκουμες νομς για το ποντιακόν το γράψιμον; 'Κ εν εύκολα ερωτήσεις. Άμα, έναν πράμαν εξέρουμε: Τα ποντιακά επίσημον ορθογραφίαν 'κ έχνε. Για τ'ατό ο καθαείς αγράφτ, άμον ντο θελ'. 'Κ επρέπ' να γράφετε άμον ντο λέμε αφκά καικά. Να εφτάν'ατο ατοί π'θέλνε. == Ποντιακά φτόγγοι που 'κ εςς ατα το νεοελλενικόν η λαλίαν == Το [[Ποντιακόν λαλίαν|ποντιακόν η γλώσσα]] εςς φτόγγους που 'κ έχν' ατα τα νεοελλενικά. Τ'οσημερνόν τ'ελλενικόν τ'αλφάβητον 'κ εςς γράμματα για να γράφομ'ατα. Αέτς πα έχομε τον φτόγγον {{IPA|[ʃ]}}, λ.χ. σα λέξεις «πι'''ςς'''ία», «τ'''ςς'''αΐζω». Με το ιστορικόν την ορθογραφίαν γράφομ'ατα «πισία» και «τσαΐζω», άμα το γράμμαν '''σ''' (προφέρκεται {{IPA|[s]}}) 'κ διγ το σωστόν τη προφοράν. Το σωστόν η προφορά τη λέξης «πιςςία» εν {{IPA|[piʃ'ia]}}. Η προφορά {{IPA|[pis'ia]}}'κ εν σωστόν. Για τ'ατό γράφομ'ατα με ιδιαίτερον τρόπον. == Νεοελληνικόν γράψιμον == Εδώ είναι το σύστημα του [[Κώστας Τοπχαράς|Κώστα Τοπχαρά]] συνδυασμένο με νεοελληνική ορθογραφία: {| class="wikitable" |- ! Φτόγγον<br>([[w:en:IPA|IPA]]) !! Φτόγγον<br>σ'άλλον γλώσσα !! Πως να γράφομ'ατον<br>σην λέξην απές !! Πως να γράφομ'ατον<br>σο τέλος τη λέξης !! Παράδειγμαν |- | {{IPA|[ʃ]}} || '''sh'''eep (english)<br>'''ch'''er (français)<br>|| ςς (ή ς) || ςς || '''ςς'''ερ (ή '''ς'''ερ), ε'''ςς''' |- | {{IPA|[ʒ]}} || plea'''s'''ure (english)<br>'''j'''our (français)<br>|| ζζ || ζζ || χαλά'''ζζ'''α |- | {{IPA|[tʃ]}} || '''ch'''eap (english)<br>|| τζ (ή τςς) || τζ (ή τςς) || '''τζ'''αΐζω (ή '''τςς'''αΐζω) |- | {{IPA|[dʒ]}} || '''j'''oke (english)<br>|| ντζζ || ντζζ || ''ο φτόγγον '''ντζζ''' 'κ εν συχνόν'' |- |} == Εναλλαχτικόν γράψιμον == ===Σύμφωνα=== ====Αλλέτερα ορθογραφικά σύστεματα==== *σ΄ σ̌ ʃ ш ςς ς *Σ΄ Σˇ Ʃ Ш Ϛς Ϛ *ζ΄ ζˇ ʒ ж ζζ *Ζ΄ Ζˇ Ʒ ж Ζζ ====Τελικόν πρότασην==== ''Πρώτα η επιστημονική γραφή, μετά η γραφή κατά το σύστημα Τοπχαρά, και τέλος η γραφή της Βικιπαίδειας'' *'''σ''' --> ''š σ΄'': šκεπάζω ςςκεπάζο ςκεπάζω, šκίζω ςςκίζω ςκίζω, šκύλον ςςκίλον σ΄κύλον {π.χ. Ϛςκύλον ή Σ΄κύλον}, έςˇ έςς (ΕϚϚ (κατά Τοπχαρά) ή ΕΣ΄) *χ --> ''ĥ σ΄'': ĥέρι ςςέρι σ΄έρι, ĥαιρετώ ςςεραιτό σ΄εραιτώ, ĥίλä ςςίλεα σ΄ίλεα **εδώ εναλλακτικά για ετυμολογικούς λόγους θα μπορούσε να χρησιμοποιηθεί και το χ΄ (πχ: χ΄ἐρι) *'''ζ''' --> ''ž ζ΄'': χαλάžä χαλάζζεα χαλάζ΄εα, žαγκώνω ζζαγκόνο ζ΄αγκώνω *ξ --> ''κš κσ΄'': κšύνω κςςίνο κσ΄ύνω|ξ΄ύνω *ψ --> ''πš πσ΄'': πšη πςςι πσ΄η|ψ΄η *τσ --> ''τš τσ΄'': καλατσ̌έβ καλατςςέβ|καλατζέβ καλατσ΄έβ *[zm] δηλώνεται (κατά Τοπχαρά) με ζμ: σύνδεζμον ή και (κατά την φωνημική ορθογραφία) με σμ: σύνδεσμον ====Σημείωσην==== Ο Τοπχαράς ''δεν'' χρησιμοποιεί διαφορετικα συμβολά για το τελικό και για το μέσο [s] καθώς χρησιμοποιεί και για τα δύο το ς (και στα κεφαλαία το Σ, φυσικά). <br>Αλλά αν κάποιος θέλει να γράφει (στη μικρογράμματη γραφή) και με τελικό και μέσο σίγμα, υπάρχει η εξής πρόταση: * Μέσα: σ [s] σ΄ [ʃ] (στα κεφαλαία Σ, Ϛ) * Τελικά: ς [s] ς΄ [ʃ] (στα κεφαλαία Σ, Ϛ) Πρέπει να σημειωθεί ότι η δήλωση του δίγραφου σσ/ςς για την δήλωση του [ʃ] δεν δουλεύει καλά όταν συνδυάζεται με ιστορική γραφή. H λέξη "γλώσσα", παραδείγματος χάριν, γράφεται με δύο σ για ετυμολογικούς λόγους και όχι επειδή εμπεριέχει κάποιο ουρανικό φθόγγο. ''Πρόστετος πρότασην'': για λόγους συνέπειας ''δεν'' προτείνεται ορθογραφική γραφή για τους δίφθογγους <αυ> και <ευ>: πχ: καλατσ΄έβ ~ εκαλάτσ΄εβαν, και ὀχι καλατσ΄έβ ~ εκαλάτσ΄ευαν. ===Διακριτικά=== ''Πρώτα η επιστημονική γραφή, μετά η γραφή της Βικιπαίδειας'' *''' ΄ ουράνωση''' **μ΄ [mɲ] ***ομ΄εάζω [om'ɲæzo] (αλλά για λόγους συνέπειας ''όχι'' με γράμματα αντί για διακριτικό σύμβολο, πχ: ομ'''οι'''εάζω) **δ΄ [ðj] ***δ΄εάβασον (Δ΄ΕΑΒΑΣΟΝ) (αλλά καλύτερα ''όχι'' με γράμμα αντί για διακριτικό σύμβολο, πχ: δ'''ι'''εάβασον) **ζ΄ [ʒ] ***χαλάζ΄' αδακά (ΧΑΛΑΖ΄' ΑΔΑΚΑ και κεφαλαία με τόνους: ΧΑΛΆΖ΄' ΑΔΑΚΆ) ή χωρίς απόστροφο: χαλάζ΄α αδακά *''' ' απόστροφος''' (προαιρετικά) **ιδέασεσουν ή ιδέας'εσουν **δογμενίων'εσουν ή χωρίς απόστροφο δογμενίωνεσουν ===Φωνήεντα=== ''Πρώτα η επιστημονική γραφή και μετά η γραφή της Βικιπαίδειας'' *''ä εα'' [æ]: όλä όλεα, οσπίτä οσπίτεα, λ΄öντάρä λ΄εοντάρεα, τραγωδ΄ä́νον τραγωδ΄εάνον, κιφάλä κιφάλεα, θέλετ'äτο (<-- θέλετε ατό) θέλετ'εατό, ομ΄ä́ζω ομ΄εάζω (η εναλλακτικό δίγραφο δημιουργεί σύγχιση με το νεοελληνικό δίγραφο αι που προφέρεται αλλιώς από το ποντιακό) *''ö εο'' [œ]: τελ΄ö́νω τελ΄εόνω, ĥ΄ö́νιν σ΄εόνιν (πχ: Ϛςεόνιν ή Σ΄έονιν) ===Σύνοψην=== *Δύο μη νεοελληνικοί δίψηφοι φωνηεντικοί μονόφθογγοι: εα, εο *Δύο μη νεοελληνικοί δίψηφοι συμφωνικοί μονόφθογγοι ''για όσους ακολουθούν το σύστημα Τοπχαρά'': ςς, ζζ *Μόνον δύο διακριτικά: απόστροφος (') για τη προαιρετική δήλωση της έκθλιψης, και απλός τόνος (΄) για τα ουρανωμένα σύμφωνα (πλην του [ʃ] που έχει δικό του γράμμα) *Μόνον ένα εξωτικό σύμβολο ''για όσους ακολουθούν το σύστημα Τοπχαρά'': το στίγμα κεφαλαίo: Ϛ (εναλλακτικά, αντί αυτού: Σ΄) ''Πρόστετος πρότασην'': ''Ὀπου είναι εφικτό'' προτείνεται ετυμολογική ορθογραφία ''στα φωνήεντα'' κατά τα πρότυπα της νεοελληνικής. ==Ορθογραφίαν Τοπχαρά== Παραδείγματα και στο πλήρως απλοποιημένο φωνητικό αλφάβητο (και ελληνικό και λατινικὀ) σε περίπτωση που επιλεχθεί σαν ''εναλλακτικό'': ςςκίλον shkilon, τραγοδιεάνον trağodieanon, διεάβαζον dyeavazon, ομιεάζο omyeazo, τελιεόνο telyeono, ντο nto, έμπαζμαν empazman, μπορίτε mporite, σίνδεζμον syndezmon, εγκικλοπέδια engiklopedia, άνκελον angelon, βοίθιαν voithian, εξέρετεν exereten, καλατςςέβ|καλατζέβ kalatshev, χτίετεν htieten, αποκ'''υ'''μπίςκατε apokumbiskate, Σταβρίτε Stavrite, ςςεόνιν sheonin, χαλάζζ halazh, 'κ εςς 'k esh, κςάι ksai (το αι αποδίδεται με ε / e - τα ει, οι, η, υ, ι με ι / i - τα ο, ω με o / o - το ου με υ / u). ''Σημείωσην 1'': ο Τοπχαράς χρησιμοποιεί το <υ> [u] στη θέση του νεοελληνικού <ου> [u], και το <ι> [i] στη θέση του νεοελληνικού <υ> [i]. Επίσης χρησιμοποιεί το δίγραφο <γκ> αποκλειστικά για την δήλωση του [ɡ], ενώ για το σύμπλεγμα [nɡ] χρησιμοποιεί το <νκ>. Επίσης για να δηλώσει το [ss] χρησιμοποιεί ενωτικό <ς-ς> ανάμεσα στα ς για να αποφύγει την σύγχιση με το <ςς> [ʃ]. ''Σημείωσην 2'': ο Τοπχαράς χρησιμοποιεί την γραφή <τζ> [tʃ] στη θέση της νεοελληνικής διαλεκτικής γραφής <τσ΄> [tʃ] και τη γραφή <ντζ> [dz] στη θέση της νεοελληνικής <τζ> [dz]. == Τέρεν και == *[[Ποντιακόν λαλίαν|Ποντιακόν λαλίαν]] == Βιβλιογραφία == *Τοπχαράς, Κ. 1928, 1932: ''Γραμματική της ποντιακής διαλέκτου''. Ρόστοβ-Ντον, Εκδότης: Κυριακίδη Αφοί ΑΕ, ISBN 960-343-448-5 [[Category:Βικιπαίδεια|Ποντιακον γραψιμον]] l7h9d9srbs4tfr0ykofls3wl2v5mjb7 Βοσνία και Ερζεγοβίνη 0 168 32117 31543 2014-11-21T14:42:00Z CommonsDelinker 121 The file [[:Image:Wiktionary-logo-el.png]] has been replaced by [[:Image:Greek_wiktionary_logo.png]] by administrator [[:commons:User:Billinghurst]]: ''exact or scaled-down duplicate''. ''[[m:User:CommonsDelinker|Translate me!]]'' 32117 wikitext text/x-wiki [[Αρχείον:Flag of Bosnia and Herzegovina.svg|thumb|Η σημαία τη Βοσνίας Ερζεγοβίνης]] [[Αρχείον:Map Bih entities.png|thumb|250px|right]] Η '''Βοσνία και Ερζεγοβίνη''' (λατινικόν γράψιμον: ''Bosna i Hercegovina'', κυριλλικόν γράψιμον: ''Босна и Херцеговина'') εν [[κράτος]] σο νοτιανατολικόν τ' [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν το [[Σαράγιεβο]] και ο πρόεδρον ατ'ς εν ο [[Νίκολα Σπίριτς]]. Ο πληθυσμόν τη χώρας εν σα 4.552.000 τ' ανθρώπ'ς απαναφκά (Χορτοθέρτς 2007). == Γεωγραφίαν == Η Βοσνίαν κι Ερζεγοβίνην ευρίεται σο [[Αδριατικόν θάλασσα|Αδριατικόν τη θάλασσα]], ανάμεσα σην [[Σερβία|Σερβίαν]], σην [[Κροατία|Κροατίαν]] και σο [[Μαυροβούνιο|Μαυροβούνιον]]. Έχ' τρανά πολιτείας τη [[Μπάνια Λούκα|Μπάνια Λούκαν]] και την [[Τούζλα|Τούζλαν]]. == Ιστορίαν == Σα 1918 τη χρονίαν τ' οσημερνόν το κράτος έντον φελίν πολυεθνικού του «Βασίλειονος τη Σερβαντίων, τη Κροαταντίων και τη Σλοβεναντίων». Ατό το κράτος επαίρεν σα 1929 τη χρονίαν τ' όνεμα «Γιουγκοσλαβία». Μετά τα 1945 έντον κομμουνιστικόν χώραν. Απές εκαικά έτον μιαν ασα Δημοκρατίας ατ'ς. Σα 1992 τη χρονίαν ερχίνεσε τρανόν πόλεμον ανεξαρτησίας (1 Απρίλτ 1992 - 14 Χριστουγενναρί 1995). Η Γιουγκοσλαβίαν εταγουτεύτεν κι επεκεί Βοσνάντ εποίκαν τ' ατεινών τ' οσημερνόν τ' ανεξάρτητον κράτος. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Bosnia and Herzegovina|Η Βοσνίαν κ' Ερζεγοβίνην σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Βοσνία και Ερζεγοβίνη|Η Βοσνίαν κ' Ερζεγοβίνην σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Bosnia and Herzegovina|Χάρτες ασην Βοσνίαν κ' Ερζεγοβίνην]]''' {{Πρότυπον:Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Βοσνία και Ερζεγοβίνη]] [[Κατηγορίαν:Ευρώπη|Βοσνία και Ερζεγοβίνη]] [[Κατηγορίαν:Βαλκάνια|Βοσνία και Ερζεγοβίνη]] [[Κατηγορίαν:Βοσνία και Ερζεγοβίνη| ]] 85yik20sk7a9ufbqzrey5inyam9q7r2 Βουλγαρία 0 169 35918 35728 2024-10-26T05:25:19Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35918 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Βουλγαρία'''</big></big><br/>''Република България'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Bulgaria.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Bulgaria.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Bulgaria.svg|300px]] |} Η '''Δημοκρατίαν τη Βουλγαρίας''' (σα βουλγάρικα: ''Република България'') εν [[κράτος]] ντο ευρίεται σα νοτιοανατολικά τη [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν η [[Σόφια]]. Η χώρα εχ' πληθυσμόν σα 6.385.500 τ' ανθρώπ'ς απαναφκά. Ο πρωθυπουργόν ατ'ς εν ο Μπόικο Μπορίσωφ. == Γεωγραφίαν == Η Βουλγαρίαν ευρίεται σο [[Μαύρον Θάλασσα‎|Μαύρον τη θάλασσαν]], κι απέσ' σην [[Ελλάδα|Ελλάδαν]], σα [[Βόρεια Μακεδονία|Σκόπια]], σην [[Ρουμανία|Ρουμανίαν]], σην [[Σερβία|Σερβίαν]] και σην [[Τουρκία|Τουρκίαν]]. Σα τρανά τα πολιτείας τη χώρας ανήκ'νε η [[Φιλιππούπολη|Φιλιππούπολην]], η [[Βάρνα|Βάρναν]] και ο [[Μπουργκάς|Πύργον]]. <gallery> 51-manasses-chronicle.jpg| BASA-600K-1-1865-15-Vasil Levski-retouched.jpeg| The Old Bulgarian capital Preslav Ruins.jpg| OLD HOUSE IN THE NATIONAL REVIVAL STYLE, VELIKO TURNOVOI.jpg| Sofia University (37536311404).jpg| BASA-937K-1-410-7-Ivan Vazov (cropped).JPG| Rila 7 lakes circus panorama edit1.jpg| Pantokrator kerk Nesebar.jpg| Bulgarian dancers.jpg| </gallery> == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Bulgaria|Η Βουλγαρίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Βουλγαρία|Η Βουλγαρίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Bulgaria|Χάρτες ασην Βουλγαρίαν]]''' * [https://web.archive.org/web/20090202083852/http://www.government.bg/english/ Το επίσημον ο ιστοτόπον τη βουλγαρικού τη κυβέρνησης] * [https://web.archive.org/web/20080609002250/http://www.parliament.bg/?lng=en Το επίσημον ο ιστοτόπον τη βουλγαρικού τη κοινοβουλί] * [[wikisource:en:Essential History of Bulgaria in Seven Pages]] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Βουλγαρία]] [[Κατηγορίαν:Ευρώπη|Βουλγαρία]] [[Κατηγορίαν:Βαλκάνια|Βουλγαρία]] [[Κατηγορίαν:Βουλγαρία| ]] r783ee74cihx4qrq1oo62wt338uti6q Γαλλία 0 170 36603 36136 2025-12-15T19:39:18Z Εὐθυμένης 2777 36603 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Γαλλίαν'''</big></big><br/>''République française'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of France.svg|125px]] | align="center" width="140px" | [[Αρχείον:Armoiries_r%C3%A9publique_fran%C3%A7aise.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-France.svg|300px]] |} Η '''Γαλλίαν''' (σα γαλλικά: ''France''), επίσημα '''Γαλλικόν Δημοκρατίαν''' (''République française''), εν [[κράτος]] σα δυτικά τη [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν το [[Παρίσι|Παρίσιν]] και ο πρόεδρον ατ'ς εν ο [[Εμανιουέλ Μακρόν]]. Ο πληθυσμός τη χώρας εν σα 67.595.000 τ' ανθρώπ'ς απαναφκά. == Γεωγραφίαν == Η Γαλλίαν ευρίεται απέσ' σον Ατλαντικόν τον Ωκεανόν και την Μεσόγειον, σα δυτικά της [[Γερμανία|Γερμανίας]], το [[Βέλγιον|Βελγίον]] και της [[Ιταλία|Ιταλίας]] και σα βόρεια της [[Ισπανία|Ισπανίας]] και της [[Ανδόρρα|Ανδόρρας]]. Τζιπ τρανά γαλλικά πολιτείας εν η [[Μασσαλία|Μασσαλίαν]], η [[Λιόν]], η [[Τουλούζ]], η [[Νις (Γαλλία)|Νις]], το [[Μπορντό]], το [[Στρασβούργο]], η [[Λιλ]], η [[Ναντ]] και η [[Ρουέν]]. Σαν το 2016 τη χρονιάς ο Μακρόν εξέβεν πρόεδρον τη Γαλλίας. == Συνδέζμαι == * '''[[Εικόναν:Commons-logo.svg|15px]] [[:el:commons:France|Η Γαλλίαν σα Commons]]''' * '''[[Εικόναν:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Γαλλία|Η Γαλλίαν σο Βικιλεξικόν]]''' * '''[[Εικόναν:Gnome-globe.svg|15px]] [[:el:commons:Atlas of France|Χάρτες ασην Γαλλίαν]]''' * [https://web.archive.org/web/20080408184009/http://www.diplomatie.gouv.fr/index.de.html Το επίσημον ο ιστοτόπον τη γαλλικού Υπουργεί σα εξ μερέαν] {{Κράτη τη Ευρώπης}} {{Κράτη ΕΣ}} {{authority control}} [[Κατηγορίαν:Κράτη|Γαλλία]] [[Κατηγορίαν:Ευρώπη|Γαλλία]] [[Κατηγορίαν:Γαλλία]] 68y6g8mvnuyn8nizboulclq3cxhcpow Γερμανία 0 171 36085 36076 2024-12-12T23:32:16Z Wolverène 4171 36085 wikitext text/x-wiki {{Πληροφορίας χώρας| |εθνικόν_όνεμαν= <big>Bundesrepublik Deutschland</big> |εθνικόν όνεμαν σα ποντιακά = Ομοσπονδιακόν Δημοκρατίαν τη Γερμανίας |κοινόν_όνεμαν= Γερμανίαν |σημαία = Flag of Germany.svg |άρθρον σημαίας = Σημαία τη Γερμανίας |σύμβολον = Coat of arms of Germany.svg |άρθρον συμβολατί = Σύμβολον τη Γερμανίας |χάρτες= EU location GER.png |εθνικόν_σύνθημαν= Ενότηταν, δικαιοσύνην και ελευθερίαν |εθνικόν_ύμνος= [[Το τραγούδ' τη Γερμανών|{{polytonic|Το τραγούδ' τη Γερμανών (Das Lied der Deutschen)}}]] |επίσημα_γλώσσας= [[Γερμανικόν γλώσσα|Γερμανικόν]] |πρωτεύουσα και ασ' όλον τρανόν πολιτεία = [[Βερολίνο]] |συντεταγμένας_πρωτεύουσας= |πολίτευμαν= [[Προεδρευόμενον Κοινοβουλευτικόν Δημοκρατία|Προεδρευόμενον<br /> Κοινοβουλευτικόν Δημοκρατία]] |τίτλοι_τ' ηγετίων = <br />[[Πρόεδρος της Δημοκρατίας]]<br />[[Καγκελάριος]] |ονόματα_τ' ηγετίων = [[Frank-Walter Steinmeier]] <br />[[Όλαφ Σολτς]] |θέση_έκτασης= 63 |έκταση= 357.114,22 |ποσοστόν_νερού= %2,416 |εκτίμηση_πληθυσμού= 82.191.000 |χρονία_εκτίμησης_πληθυσμού= 2008 |πληθυσμός= 82.515.988 |θέση_πληθυσμού= 14 |χρονία_απογραφής_πληθυσμού= 2005 |πυκνότητα_πληθυσμού= 231,1 |θέση_πυκνότητας_πληθυσμού= 34 |τύπος_κυριαρχίας= [[Ανεξαρτησία]] |γεγονός_κυριαρχίας= - Εκύρηξαν το Γερμανικόν Ράιχ<br /><br /> -Εκύρηξαν τη Δημοκρατίας<br />τη Βαϊμάρης<br /><br /> -Εκύρηξαν τη Ομοσπονδιακήν<br />Δημοκρατίαν τη Γερμανίας<br /> -Εγένταν έναν με το<br /> Ανατολικόν τη Γερμανία<br /> | ημερομηνίες_κυριαρχίας = <br /> [[18 Ιανουαρίου]], [[1871]] <br /> [[9 Νοεμβρίου]] [[1918]] <br /><br /> [[23 Μαΐου]] [[1949]]<br /><br /> [[3 Οκτωβρίου]] [[1990]]<br /> | |παράδας = [[Ευρώ]] |κωδικός_παράδων = € EUR |ώρα_ζώνες= |διαφορά_UTC= +1 |θερινόν_UTC= |θερινόν_διαφορά_UTC= +2 |top_level_domain= .de |κωδικός_τηλεφωνατί= 49 |σημειώσεις= }} Το '''Ομοσπονδιακόν η Δημοκρατίαν τη Γερμανίας''' (σα γερμανικά: ''Bundesrepublik Deutschland'') εν [[κράτος]] σο κέντρον τη [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν το [[Βερολίνο|Βερολίνον]] και o καγκελαρέσαν ατ'ς εν o [[Όλαφ Σολτς]]. Η χώραν εχ' πληθυσμόν σα 82.191.000 τ' ανθρώπ'ς απαναφκά.ĆĈÇČ == Γεωγραφίαν == Η Γερμανίαν ευρίεται αφκά σο Βόρειον τη θάλασσαν, τη [[Δανία|Δανίαν]] και το Βαλτικόν τη θάλασσαν, σα ανατολικά τη [[Γαλλία|Γαλλίας]], τη [[Λουξεμβούργο|Λουξεμβούργ']], τη [[Βέλγιον|Βελγί]] και τη [[Ολλανδία|Ολλανδίας]]. Σα νότια τη Γερμανίας ευρίουνταν η [[Αυστρία|Αυστρίαν]] και η [[Ελβετία|Ελβετίαν]] και σην ανατολήν αθέ η [[Τσεχία|Τσεχίαν]] και η [[Πολωνία|Πολωνίαν]]. Σα τρανά τα πολιτείας τη χώρας ανήκ'νε το [[Αμβούργο|Αμβούργον]], το [[Μόναχο|Μόναχον]] και η [[Κολωνία|Κολωνίαν]]. == Πολιτικήν == Τ' ατωριζνόν η κηβέρνησην τη Γερμανίας εν η Κυβέρνησην του Όλαφ Σολτς ντ' εξέβεν σην εξουσίαν σα 2021 τη χρονίαν. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Germany|Η Γερμανίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Γερμανία|Η Γερμανίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Germany|Χάρτες ασην Γερμανίαν]]''' * [http://www.athen.diplo.de/Vertretung/athen/el/Startseite.html Το επίσημον ο ιστοτόπον τη Γερμανικής πρεσβείας σην Αθήναν] {{Κράτη τη Ευρώπης}} {{Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Γερμανία]] [[Κατηγορίαν:Ευρώπη|Γερμανία]] [[Κατηγορίαν:Γερμανία| ]] 628781975iysm3oenhige9lo6n5lsj9 Γεωγραφίαν 0 172 34942 30966 2021-10-18T06:56:37Z 94.245.132.222 /* Τέρεν */ 34942 wikitext text/x-wiki '''Γεωγραφίαν''' λέχκεται η τέχνην που συστηματοποιά την περιγραφήν τη [[γη|γης]]. Ο γεωγράφον τερεί τα φαινόμενα τ' ούλης τη γεώσφαιρας. Άμαν την ερμηνείαν (για το μαθηματικόν-φυσικόν γιά το βιολογικόν) εφτάγνε άλλα γεωτέχνας, λ.χ. η εδαφολογίαν, η γεωδαισίαν, η γεωλογίαν, η γεωφυσικήν, η υδρολογίαν, η ωκεανογραφίαν και η μετεωρολογίαν. == Τέρεν == * [[Ασίαν]] * [[Αφρικήν]] * [[Ευρώπην]] * [[Αμερικήν]] * [[Ωκεανίαν]] * [[Ανταρκτικήν]] * [[Πολιτεία|Πολιτείας]] * [[Κράτος|Κράτη]] * [[Θάλασα|Θάλασας]] * [[Νησίν|Νησία]] * [[Ραχίν|Ραχία]] [[Κατηγορίαν:Γεωγραφίαν| ]] 1841x4dg4pxw1p936923v94xxcjs9yf Γεωργία 0 173 1699 1698 2009-03-06T15:21:28Z MF-Warburg 53 1 revision 1699 wikitext text/x-wiki #REDIRECT [[Γρουζία]] nutw4zrw5pe08dof4dixr9l1924fy02 Γλυπτικήν 0 174 35537 33100 2024-01-23T17:52:59Z Διογένες 10538 μικρογραφία 35537 wikitext text/x-wiki [[Αρχείον:Begin Road, Tel Aviv-Yafo דרך מנחם בגין (15).JPG|μικρογραφία|Γλυπτικήν]] ==Αρχαίον Ελλάδα== * [[Λύσιππος]] * [[Πολύκλειτος]] * [[Πραξιτέλης]] * [[Σκόπας]] * [[Φειδίας]] [[Κατηγορίαν:Γλυπτικήν|*]] [[Κατηγορίαν:Πολιτισμόν|*]] esdc0tuaik7wv2ns5v9gj6s58bppyn1 Γραμματική 0 175 30968 30412 2013-03-07T17:59:36Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 123 interwiki links, now provided by [[d:|Wikidata]] on [[d:q8091]] [[M:User:Addbot/WDS|(translate me)]] 30968 wikitext text/x-wiki '''Γραμματικήν''' λέγουμε την τέχνην που συστηματοποιά και κανονίζ' μίαν [[γλώσσαν]] σ' ορισμένον περίοδον. Ο προορισμόν τη γραμματικής 'κι εν περιορισμένον και 'κι τελειών' με το να φωτογραφίζ' την κατάστασην τη γλώσσας, αλλά εν κι άλλο πλατύν. Στηρίχκεται απάν' σα αλήθειας ντο ελέπ' σην γλώσσαν και ευκολύνει ατό να επορεί να εξαπλούται κι αραέτς πα βοηθά την ανάπτυξην τη γλώσσας. == Τέρεν == * [[Επίρρημαν]] * [[Ουσιαστικόν]] * [[Ρήμαν]] * [[Σύνδεσμον]] == Βιβλιογραφία == * Τοπχαράς, Κ. 1928, 1932: ''Ι Γραματικι Τι Ρομεικυ Τι Ποντεικυ Τι Γλοςας''. Ρόστοβ-Ντον. ISBN 960-343-448-5 [[Κατηγορίαν:Γραμματικήν|Γραμματικήν]] tkf9iz5uqecuqsvey9i7djurhpjj5re Γρουζία 0 176 35920 35213 2024-10-26T05:25:28Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35920 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Γρουζία'''</big></big><br/>''საქართველო'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Georgia.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Georgia.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Europe-Georgia.svg|300px]] |} [[File:Georgia cities01.png|thumb|250px|right]] Η '''Γρουζίαν''' (γρούζ. ''საქართველო'') εν κράτος ντ' ευρίεται ση δύσαν τ' [[Ασίαν|Ασίας]] και σ' ανατολικά τη [[Μαύρον Θάλασσα|Μαύρου τη Θάλασσας]]. Πρωτεύουσαν ατ'ς εν η [[Τιφλίδα]]. Η χώρα εχ' πληθυσμόν σα 4.630.841 τ' ανθρώπ'ς (Χορτοθέρτς 2008). == Γεωγραφίαν == Η χώρα ευρίεται σα νότια τη [[Ρουσία|Ρουσίας]], σα βόρεια τη [[Τουρκία|Τουρκίας]], τ' [[Αρμενία|Αρμενίας]] και τ' [[Αζερμπαϊτζάν]]. Βρέχκεται σ' ανατολικάν ασό Μαύρον τη Θάλασσα. Έχ' τρανά πολιτείας το [[Κουταίσι]] και το [[Βατούμι]]. == Πολιτικήν == Πρόεδρος εν ο Μιχαήλ Σαακασβίλι. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Κατηγορίαν:Georgia|Η Γρουζίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Γεωργία|Η Γρουζίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Georgia|Χάρτες αση Γρουζίαν]]''' {{Πρότυπον:Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Γρουζία]] [[Κατηγορίαν:Ασία|Γρουζία]] [[Κατηγορίαν:Ευρώπη|Γρουζία]] [[Κατηγορίαν:Καυκασία|Γρουζία]] [[Κατηγορίαν:Γρουζία| ]] 56nulfahkvnuk2sm9xn3035s9hw1906 Δανία 0 177 35921 32396 2024-10-26T05:25:32Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35921 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Δανία'''</big></big><br/>''Kongeriget Danmark'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Denmark.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Denmark.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Denmark.svg|300px]] |} Το '''Βασίλειον τη Δανίας''' (σα δανέζκα: ''Kongeriget Danmark'') εν [[κράτος]] ντο ευρίεται σα βόρεια τη [[Ευρώπην|Ευρώπης]] και σα νότια τη [[Σκανδιναβικόν Χερσόνησος|Σκανδιναβικού Χερσόνησου]]. Πρωτεύουσαν ατ εν η [[Κοπεγχάγη]] και η πρωθυπουργόν ατ ο [[Ένερς Φο Ράσμουσεν]]. Ο πληθυσμόν τη χώρας εν σα 5.411.405 τ' ανθρώπ'ς (2005). == Γεωγραφίαν == Η Δανίαν ευρισκάται σην Γιουτλάνδη, απεσκέσ' σο Βόρειον και σο Βαλτικόν τη θάλασσαν. Κράτη γειτόν είν' η [[Γερμανία]] και η [[Σουηδία]]. Εχ' τρανά πολιτείας την [[Ώρχους]], και τ' [[Άλμπορκ]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Denmark|Η Δανίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Δανία|Η Δανίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Denmark|Χάρτες ασην Δανίαν]]''' * [http://www.denmark.dk Το επίσημον ο ιστοτόπον τη Δανίας] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Δανία]] [[Κατηγορίαν:Ευρώπη|Δανία]] [[Κατηγορίαν:Σκανδιναβία|Δανία]] [[Κατηγορίαν:Δανία| ]] o8cjkawvsmcuimpmciyhhz6pki0q6gq Δευτέραν 0 178 34015 30971 2018-10-31T15:52:36Z Το πουλί της φωτιάς 6952 34015 wikitext text/x-wiki Η '''Δευτέραν''' (σ' [[Ελλενικόν γλώσσα|ελλενικά]]: ''Δευτέρα'') εν το δεύτερον ημέρα τ' [[Εβδομάδα|εβδομάδας]]. == Ο λαόν για την Δευτέραν == :''«Την Δευτέραν κετσινεύνε'' :''οι τεμπέλ, που΄κι΄δουλεύνε.»'' == Συνδέζμ == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:Monday|Δευτέραν σα Commons]]''' * '''[[Αρχείον:Wiktfavicon en.svg|16px|Βικιλεξικόν]] [[:el: wikt:Δευτέρα|Η Δευτέραν (Δευτέρα) σ’ ελλενικόν το Βικιλεξικόν]]''' {{Πρότυπον:Ημέρας τη εβδομάδας‎}} [[Κατηγορίαν:Ημέρας τη εβδομάδας|Δευτέραν]] kfdtfnoqix6e67p0g90xf2rbx5o91n6 Διογένες ο Σινωπέας 0 179 34844 31437 2021-08-10T19:06:13Z InternetArchiveBot 8521 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.8 34844 wikitext text/x-wiki [[Αρχείον:Diogenes_von_Sinope.jpg|thumb|Διογένες ο Σινωπέας]] [[Αρχείον:Alexander visits Diogenes living in a barrel at Corinth in an early 19th century engraving.jpg|thumb|''«Αποσκότ'σον με»'']] Ο '''Διογένες ο Σινωπέας''' (Διογένης ὁ Σινωπεύς, 391 για 399 π.Χ. - 323 π.Χ.) έτον [[φιλοσοφία|φιλόσοφος]] σο παλαιόν την Ελλάδαν. Εγεννέθεν σην [[Σινώπη|Σινώπην]] τη [[Πόντος|Πόντονος]], έζησεν σ' [[Αθήνα|Αθήνας]] κι έτον μαθητής τ' [[Αντισθένες|Αντισθένε]] (κι αούτος πα έτον μαθητής τη [[Σωκράτες|Σωκράτε]]). == Ο κύων == Ο Διογένες την κουλτούραν πα 'κ εθέλνεν. Εμάθηνεν φιλοσοφία τη χώρας τα παιδία με τ' ατά ντ' εποίκεν. Ολίγον εμάθηνενατα με λόγια και θεωρίας. Εθέλνεν την ελευθερίαν τ' ανθρωπίων και ξάι 'κ ελογαρίαζεν το έλεεν η κοινωνίαν. Ο Διογένες έτον ο πρώτον ο άνθρωπον ντ' έλεεν για τον εαυτόν ατ' το έτον κοσμοπολίτες (''«κοσμοπολίτης»''). 'Κ έλεεν ντο έτον πολίτες εινός πολιτείας μαναχόν. Τ' οσπίτνατ έτον ο δρόμον. Εκαικά κάθουντον αβαράς να ηλεάεται ούλην ημέραν. Με το γιασάεμαν ατό ντ' εποίνεν, ο κόσμον έλεενατον ''«κύων»'' (σκύλον). Ο Διογένες πα επαίρεν αβούτο το παρωνύμ' κι εποίκενατο τίτλον ατ'. Ασ' ατουπές εξέβεν τ' όνεμαν τη σχολής ατ', τη σχολής τη κυνικών κι αέτς εσήβεν σε πολλά οσημερνά λαλίας, άμον τ' εγγλέζκον το ''cynicism''. Άμον ντο είχανε ουλ κυνικοί, αέτς κι ο Διογένες είχεν έναν δαβρίν για το πορπάτεμαν, έναν μπόγον με το βιόν ατ' κι έναν σαχάν για να τρώει. Ούλ' ατά εσυμβολίζαν την βάσην τη κυνισμού: ελευθερία (''«αὐτάρκεια»''), ανοιχτόν συντίσεμαν (''«παρρησία»'') και το κοσμοπολίτεμαν. == Πολλά λοέν ιστορίας == Για το Διογένεν λέχκουνταν πολλά ιστορίας. Ολίγα ασ' ατά τα ιστορίας λέγουνε και τον [[Μεξαλέξανδρος|Μεγαλέξανδρον]]. Μίαν αείκον μεσελέν λέγει πως ο Μεγαλέξανδρος εθέλνεν να τιρτέβ' το Διογένεν κι αέτς εχαρεντέρισενατον έναν σαχάν με στούδαι. Στούδαι για τον κύων (το σκύλον). Πέρασαν τα ημέρας κι επήγεν κι ερώτησεν το Διογένεν αν το χαρεντερίδ έτον καλόν. Ο Διογένες είπεν: ''«Για κύων έτον πολλά καλόν, άμα για βασιλέα ξάι 'κ έτον καλόν»''. Άλλον ιστορίαν πα λέγει πως επήγεν ο Μεγαλέξανδρος κι ερώτησεν το Διογένεν ντο χατίρ' θέλ' να φτάγ' ατον. Ο Διογένες είπεν: ''«Αποσκότ'σον με.»'' Ασην μίαν μεράν ατό εν αμόν το «Έπαρ με ασην σκοτίαν οξουκά και πέει με να μαθάνω την αλήθειαν». Ασ' άλλ' τη μερέαν πα ατό πορεί να έχ' τη σημασέαν: ''«Φύγον απατουκά ν' ελέπ με ο [[Ήλος|ήλον]].»'' Ο Αλέξανδος εγροίξεν ατό και είπεν: ''«Αλέξανδρος αν 'κ είμουν, Διογένες θ' εθέλνα να είμαι»''. == Εικόνας == <gallery> Εικόναν:Diogenes at sculoa di atene.jpg|Διογένες ο Σινωπέας, κομμάται τη «Diogenes at sculoa di Atene», Raphael Santi (σα 1510/11 τη χρονίαν) Εικόναν:Diogenes looking for a man - attributed to JHW Tischbein.jpg|Ο Διογένες αραέβ' ανθρώπς - Johann Heinrich Wilhelm Tischbein (σα 1780 τη χρονίαν) Εικόναν:Gerome_-_Diogenes.jpg|Ο Διογένες απές σο βαρέλ', Jean-Léon Gérôme (σα 1860 τη χρονίαν) Εικόναν:Waterhouse-Diogenes.jpg|John William Waterhouse: Ο Διογένες, δίπλα εν το φανάρ και τα κρεμμύδαι τ' (σα 1882 τη χρονίαν) [https://web.archive.org/web/20070312070933/http://home.eduhi.at/teaching/epiktet/diogenes_web.jpg] </gallery> == Συνδέζμε == * '''[[Αρχείον:Commons-logo.svg|14px]] [[:el:commons:Κατηγορίαν:Diogenes of Sinope|Ο Διογένες σα Commons]]''' * [http://www.bartleby.com/66/54/16754.html Διογένες ο Σινωπέας, The Columbia World of Quotations] (αγγλ.) * [http://www.benbest.com/philo/diogenes.html Διογένες ο Σινωπέας] (αγγλ.) [[Κατηγορίαν:Έλλενας (αρχαιότητα)|Διογενες Σινωπεας]] ce0jux4geif96ovgrsqtz375jq3v9ax Ελβετία 0 180 35922 32397 2024-10-26T05:25:36Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35922 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Ελβετία'''</big></big><br/>''Confédération suisse'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Switzerland (Pantone).svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat_of_Arms_of_Switzerland_(Pantone).svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Europe-Switzerland.svg|300px]] |} Η '''Ελβετίαν''', (τ' επίσημον τ' όνεμα εν ''Ελβετικόν Συνομοσπονδίαν'' (σα γερμανικά: ''Schweizerische Eidgenossenschaft'', σα γαλλικά: ''Confédération suisse'', ''σα ιταλικά'' Confederazione Svizzera, σα ραιτορομανικά: ''Confederaziun svizra'') είναι [[κράτος]] σο κέντρον τη [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν η [[Βέρνη]] και ο πρόεδρον ατ'ς εν ο [[Πασκάλ Κουσπέν]]. Η χώρα εχ' πληθυσμόν σα 7.508.700 τ' ανθρώπ'ς. == Γεωγραφίαν == Η Ελβετίαν ευρίεται ανάμεσα ση [[Αυστρία|Αυστρίαν]], τη [[Ιταλία|Ιταλίαν]], τη [[Γαλλία|Γαλλίαν]] και τη [[Γερμανία|Γερμανίαν]]. Έχ' τρανά πολιτείας την [[Ζυρίχη|Ζυρίχην]] και η [[Γενεύη|Γενεύην]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Confoederatio Helvetica|Η Ελβετίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Ελβετία|Η Ελβετίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Switzerland|Χάρτες ασην Ελβετίαν]]''' * [http://www.ch.ch Το επίσημον ο ιστοτόπον τη καγκελαρίας τη Ελβετίας] {{Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Ελβετία]] [[Κατηγορίαν:Ευρώπη|Ελβετία]] [[Κατηγορίαν:Ελβετία| ]] 7x6ermxbhc7s3jrb73ie5mvo5cl2j5h Ελλάδα 0 181 36322 35638 2025-10-11T17:34:52Z Antimuonium 10707 Tag correction 36322 wikitext text/x-wiki {{Πληροφορίας χώρας| |εθνικόν_όνεμαν = <big>Ελληνική Δημοκρατία</big> |εθνικόν όνεμαν σα ποντιακά = Ελλενικόν Δημοκρατίαν |κοινόν_όνεμαν = Ελλάδα |σημαία = Flag of Greece.svg |άρθρον σημαίας = Σημαία τ' Ελλάδας |σύμβολον = Coat of arms of Greece.svg |άρθρον συμβολατί = Σύμβολον τ' Ελλάδας |χάρτες = EU location GRE.png |εθνικόν_σύνθημαν = Ελευθερία ή Θάνατος |εθνικόν_ύμνος = [[Ύμνος εις την ελευθερίαν|{{polytonic|Ὕμνος εἰς τὴν Ἐλευθερίαν}}]] |επίσημα_γλώσσας = [[Ελλενικόν γλώσσα|Ελλενικόν]] |πρωτεύουσα και ασ' όλον τρανόν πολιτεία = [[Αθήνα]] |συντεταγμένας_πρωτεύουσας = |πολίτευμαν = [[Προεδρευόμενον Κοινοβουλευτικόν Δημοκρατία|Προεδρευόμενον<br /> Κοινοβουλευτικόν Δημοκρατία]] |τίτλοι_τ' ηγετίων = <br />[[Πρόεδρος]]<br />[[Πρωθυπουργός]] | |ονόματα_τ' ηγετίων = [[Κατερίνα Σακελλαροπούλου]] <br /> [[Κυριάκος Μητσοτάκης]] |επίσημον_θρήσκευμα =[[Ορθόδοξοι Χριστιανοί]] |θέση_έκτασης = 94 |έκταση = 131.957 |ποσοστόν_νερού = %0,86 |πληθυσμός = 10.815.197 |θέση_πληθυσμού = 72 |χρονία_απογραφής_πληθυσμού = 2011 |πυκνότητα_πληθυσμού = 83,1 |θέση_πυκνότητας_πληθυσμού = 87 |τύπος_κυριαρχίας = [[Ανεξαρτησία]] |γεγονός_κυριαρχίας = - Κηρύχθηκε<br /> - Αναγνωρίστηκε<br /> |ημερομηνίες_κυριαρχίας = <br /> [[25 Μαρτίου]], [[1821]] <br /> [[1828]] <br /> |παράδας = [[Ευρώ]] |κωδικός_παράδων = € EUR |ώρα_ζώνες = |διαφορά_UTC = +2 |θερινόν_UTC = |θερινόν_διαφορά_UTC = +3 |top_level_domain = .gr |κωδικός_τηλεφωνατί = 30 |σημειώσεις = }} Η '''Ελλάδαν''' κράτος εν σα νοτιοανατολικά τη [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν η [[Αθήνα|Αθήναν]] και πρωθυπουργόν ατ'ς εν ο [[Κυριάκος Μητσοτάκης]]. Ο πληθυσμόν τη χώρας εν σα 10.815.197 τ' ανθρώπ'ς. == Γεωγραφίαν == Η Ελλάδαν ευρίεται αφκά σην [[Αλβανία|Αλβανίαν]], σα [[Βόρεια Μακεδονία|Σκόπια]], σην [[Βουλγαρία|Βουλγαρίαν]] και σα δυτικά τη [[Τουρκία|Τουρκίας]]. Σα τρανά τα ελλενικά τα πολιτείας εξόν τη [[Αθήνα|πρωτεύουσαν]] ανήκ'νε η [[Θεσσαλονίκη|Θεσσαλονίκην]] και ο [[Πειραιάς]]. == Ιστορίαν == === Ασ' αρχαία χρόναι ους την ανεξαρτησίαν === Η Ελλάδαν έχ' τσιπ τρανόν ιστορίαν. Ο πολιτισμόν τ' [[Ευρώπην|Ευρώπης]] έχ' τη ρίζαν ατ' σ' [[Αρχαίον Ελλάδαν|αρχαίον την Ελλάδαν]]. Αβούτεν έτον κι άλλο τρανήν ασ' οσημερνόν το κράτος: μέρος ατ'ς έτον και η [[Μικρά Ασία]] με τον [[Εύξεινος Πόντος|Πόντον]] εντάμαν. Ασ' ατά τα τοπέα εξέβαν σ' αρχαία τα χρόναι τρανοί γραμματισμέν τη φιλοσοφίας, τη φυσικής, τ' [[Ιστορίαν|ιστοριογραφίας]] και τη [[Ποιητικήν|ποιητικής]]. Σα 336 π.Χ. τη χρονιαν ο [[Μεγας Αλέξανδρος]] έκανε την Ελλάδα ασ' όλον των εποχών τρανόν. Σα 30 π.Χ. τη χρονίαν η Ελλάδα εγέντον επαρχίαν τη [[Ρωμαϊκόν αυτοκρατορίαν|Ρωμαϊκού τ' Αυτοκρατορίας]]. Όντες σα 395 τη χρονίαν εχώρτσαν τ' αυτοκρατορίαν, εγέντον μέρος τη [[Ρωμανίαν|Ρωμανίας]] (Βυζάντιον). Έτον σα 1.000 χρόναι σην Ρωμανίαν ους το 15ον αιώναν, όντες η Ρωμανίαν πάρθεν ασοι Τουρκάντ' κι έντον [[Οθωμανικόν αυτοκρατορίαν]].<br /> Σα 1821 τη χρονίαν οι ανθρώπ' τη [[Φιλικόν Εταιρεία|Φιλικού τ' Εταιρείας]] ερχίνεσαν επανάστασην και πόλεμον ανεξαρτησίας και σα 1827 εμπόρεσαν με τ' Ευρωπαίοις εντάμαν να χατεύσνε σο Ναυαρίνον τοι Τουρκάντ'. Με το πρωτόκολλον τη Λονδίνου (3 τη Κούντουρονος 1830), η Ελλάδαν έντον ξαν κράτος οξουκά ασ' Οθωμανικόν τ' αυτοκρατορίαν. Ο πρώτον ο κυβερνήτες ατ'ς έτον ο [[Ιωάννες Καποδίστριας]]. === Ασήν ανεξαρτησίαν (1830) ους τα 1914 === Σα 1832 τη χρονίαν ο πρίγκηπας τη Βαυαρίας Όθων επαίρεν τον τίτλον «Βασιλεύς της Ελλάδος» και την Ελλάδαν εκύρηξανατεν βασίλειον. Άμαν το βασίλειον έτον έναν κομμάτ' τ' οσημερνού τη χώρας μαναχόν. Σα 1862 τη χρονίαν εγέντον επανάσταση κι ο Όθων χατεύτεν. Σα 30 τη Μαρτ [[1863]] ο Γεώργιος Α΄ εγέντον καινούρεος βασιλέας. Απεκεί κιαδά μερέαν το κράτος ετράνηνε: τα νησία τ' Ιωνίου (1864), η Θεσσαλίαν (1881) και η Κρήτην (1908) ένταν τοπέανατ'. Με τοι βαλκανικούς τοι πολέμ' (1912-1913) εγένταν Ελλάδα κι άλλα τοπέα: η [[Ήπειρος]], η [[Μακεδονία]] (με τη [[Θεσσαλονίκη|Θεσσαλονίκην]] εντάμαν) και άλλα νησία. Σα 1913 τη χρονίαν έντον βασιλέας ο Κωνσταντίνος Α΄. Σ' ατά τα χρόναι το τακάτ τ' Οθωμανικού τ' αυτοκρατορίας γάλε γάλε χάνταν κι αέτς οι Έλλενες παίρνε οπίς τα παλαιά τα τοπέαν ατούν. === Τα τρανά τα πολέμ' και τα χρόναι απεσκέσ' === Όντες σα [[1914]] τη χρονίαν ερχίνεσεν ο πρώτον ο τρανόν πόλεμον η Ελλάδα επέμνεν ουδέτερον. Άμαν σον Χορτοθέρτ τη [[1917]] εκήρυξεν πόλεμον σην [[Γερμανία|Γερμανίαν]], σην [[Αυστρο-Ουγγαρία|Αυστρο-Ουγγαρίαν]], σην [[Τουρκία|Τουρκίαν]] και ση [[Βουλγαρία|Βουλγαρίαν]] κι επολέμησεν ατείντζ με την [[Αντάντ]] εντάμαν. Τ' Οθωμανικόν η αυτοκρατορίαν έχασεν τον πόλεμον κι ο πρωθυπουργός τ' Ελλάδας, ο [[Ελευθέριος Βενιζέλος]], επροσπάθησεν να χτίζ' την Ελλάδαν τη «[[Μεγάλη ιδέα|μεγάλου τ' ιδέας]]»: την Ελλάδαν τη «δυενών ηπειρίων και τη πέντε θαλασσίων», άμον ντ' έλεγεν ατέν. Άμαν η Ελλάδαν έχασεν τ' ελλενοτουρκικόν πόλεμον (1919-1922) κι επεκεί εγέντον ατό ντο λέγομε «[[Μικρασιατικόν καταστροφή]]»: με τη συνθήκην τη Λωζάνης (1923) οι Τουρκάντ' έχπασαν τ' Έλλενες χριστιανούς τ' ανατολής (σα 1.500.000) ασήν πατρίδαν ατούν κι εχατεύταν ατείντζ σην Ελλάδαν. Ασ' αλλ τη μερέαν οι μουσουλμάν τ' Ελλάδας (σα 500.000) εχατεύταν σην Τουρκίαν. Επέμναν σα τοπέανατουν οι Έλλενες τη νήσωνον Ίμβρος και Τένεδος και τη Παλαιάς Πρωτεύουσας Κωνσταντινούπολης ασόνα τη μερέα και οι μουσουλμάν τη δυτικού τη [[Θράκη|Θράκης]] ασάλο τη μερέα. Σον δεύτερον παγκόσμιον πόλεμον ο δικτάτορας Μεταξάς είπεν τ' «Όχι» σην [[Ιταλία|Ιταλίαν]] (28 τη Τρηγομηνά 1940) κι αβούτεν ερχίνεσεν πόλεμον με την Ελλάδαν. Ο ελλενικός στρατός εμπόρεσεν και χάτευσον τ' ιταλικά τα δυνάμεις οπίς σην [[Αλβανία|Αλβανίαν]]. Σ' Απρίλτ τη 1941 έρθεν το [[Γερμανία|γερμανικόν]] η Βέρμαχτ κι εποίκεν γιαρτίμ τ' Ιταλίαν κι αέτς ενίκεσαν τ' Έλλενες. Επεκεί ερχίνεσεν το γερμανικόν η κατοχήν. === Ασο 1945 τη χρονίας κιαν === Ασον δεύτερον το τρανόν το πόλεμον κι επεκεί έψεν εμφύλιον πόλεμος κι εκράτησεν ούσα 1949 τη χρονίαν. Τρία χρόναι επεκεί η χώρα εσέβεν σο ΝΑΤΟ. Σα [[1967]], 21 τ' Απρίλτ', ο στρατόν επήγεν κι εποίκεν πραξικόπημαν κι επαίραν σα χέριανατουν την εξουσίαν οι δικτάτορες (η Χούντα). Εχάτεψαν τον βασιλέαν κι εκρέμσαν τ' ελλενικόν τη μοναρχίαν. Η Χούντα και η πολιτικήνατς έτον η αιτία για το Κυπριακόν το ζήτημαν, το οποίον έστειλενατεναν σον κρεμόν σα [[1974]]. Σα 1974, 8 τη Χριστουγεννάρτ', ο λαόν εψήφησεν, και το πολίτευμαν τη χώρας εγέντον αβασίλευτον Δημοκρατία. Σα 1975, 11 τη Κερασινού, το Ε' τ' Αναθεωρητικόν η Βουλή εποίκεν τ' οσημερνόν το σύνταγμαν. Σα 1981 Η Ελλάδα εγέντον μέλος τ' [[Ευρωπαϊκόν Σύδεσμος|Ευρωπαϊκού τη Σύδεσμου]]. == Πολιτικήν == Το νέον η κηβέρνησην τη κράτονος εν η [[Κυβέρνηση Κυριακου Μητσοτακη|Κυβέρνηση Κυριάκου Μητσοτάκη]] ντ' εξέβεν σην εξουσίαν σα 2019 τη χρονίαν. Η παλαιόν κυβέρνησην τη κράτονος έτον η [[Κυβερνηση Αλεξη Τσιπρα|Κυβέρνηση Αλέξη Τσίπρα]] σο 2015 - 2019. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Greece|Η Ελλάδαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Ελλάδα|Η Ελλάδαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Greece|Χάρτες ασην Ελλάδαν]]''' * [http://www.primeminister.gr Το επίσημον ο ιστοτόπον τη Πρωθυπουργού τη Ελλάδος] * [https://web.archive.org/web/20101210205021/http://www.parliament.gr/ Το επίσημον ο ιστοτόπον τη Βουλής τ' Ελλένων] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Ελλάδα]] [[Κατηγορίαν:Ευρώπη|Ελλάδα]] [[Κατηγορίαν:Βαλκάνια|Ελλάδα]] [[Κατηγορίαν:Ελλάδα| ]] 1v28l94gjp2k1kpk4jvxa88wv3x84mg Ελλενικόν λαλίαν 0 182 36168 36090 2025-02-19T04:41:21Z 200.24.154.83 36168 wikitext text/x-wiki {| border="1" cellpadding="2" cellspacing="0" align="right" width="300" ! colspan="2" bgcolor="lawngreen" style="font-size:120%"|Ελλενικά |- | valign="top"|Συντισένατεν σην |[[Ελλάδα|Ελλάδαν]], [[Κύπρος|Κύπρον]], [[Ηνωμένα Πολιτείας|Αμερικήν]], [[Βόρεια Μακεδονία]], [[Σερβία|Σερβίαν]], [[Τουρκία|Τουρκίαν]], [[Αίγυπτος|Αίγυπτον]], [[Ιταλία|Ιταλιαν]], [[Καναδάς|Καναδάν]], [[Αυστραλία|Αυστραλίαν]], [[Γερμανία|Γερμανίαν]], [[Ηνωμένο Βασίλειο|Ηνωμένον Βασίλειον]], [[Γαλλία|Γαλλίαν]], [[Βέλγιον]] κ.α. |- | valign="top"|Συνολικοί ομιλητές |20.000.000 |- | valign="top"|Γενετική τη γλώσσας |Ινδοευρωπαϊκά γλώσσας<br /> :Αρχαία Ελλενικά <br /> ::Αττικά ελλενικά <br /> :::'''Νεοελλενικά''' |- ! colspan="2" bgcolor="lawngreen"|Επίσημα |- | valign="top"|Επίσημον γλώσσαν | [[Ελλάδα|Ελλάδαν]], [[Κύπρος|Κύπρον]], [[Ευρωπαϊκόν Σύνδεσμον|Ευρωπαϊκός σύνδεσμος]] |- | valign="top"|ISO 639-1 | valign="top"|el |- | valign="top"|ISO 639-2 | valign="top"|gre (B) / ell (T) |- | valign="top"|ISO 639-3 | valign="top"|[https://web.archive.org/web/20080601214845/http://www.sil.org/iso639-3/documentation.asp?id=ell ell] |- | valign="top"|SIL | valign="top"|GRK |} Τ' '''ελλενικόν η λαλίαν''' (ελλ. ''ελληνική γλώσσα'') εν ινδοευρωπαϊκόν γλώσσα, κι ατουπές εν ξεχωριστόν παρακλάδ και καλατςέβν' ατό σην [[Ελλάδα|Ελλάδαν]] και σην [[Κύπρος|Κύπρον]]. Τ' [[Αρχαίον ελλενικόν γλώσσα|αρχαίον τ' ελλενικόν η γλώσσα]] ντ' εκαλάτςεβαν σα παλαιά τα χρόναι κι οσήμερον μαθίζνε σα σχολία εν έναν γλώσσαν με τ' ατωριζνά τα [[Νεοελλενικόν γλώσσα|νεοελλενικά]]. Το έναν εξέβεν ασ' άλλον κι όλεα είν' ελλενικά. Τ' ελλενικά γράφκουνταν 3.400 χρόναι. Άλλον ζωντανόν γλώσσαν (εξόν το κινεζικόν) αΐκον τρανόν ιστορίαν σο γράψιμον πα 'κ εςς. Το δυτικόν το κουλτούρι επαίρεν πολλά ασ' ελλενικόν τη γλώσσαν τ' αρχαίου τη Ελλάδας. Πολλά σημαντικά λογοτεχνικά έργα τη κόσμονος, άμον ντο είν' τ' ομηρικά τα έπε και τα γραφόμενα τη [[Πλάτον|Πλάτονος]] και τ' [[Αριστοτέλες|Αριστοτέλε]], άμα και το [[Κοινόν Διαθήκη|Κοινόν η Διαθήκη]], εγράφταν σ' ελλενικά. Αέτς πολλά παλαιά ελλενικά λέξεις εσέβαν σα καινούρεα γλώσσας κι ατουπές οσήμερον είναι ξενικά λέξεις. == Συγγενικά γλώσσας == Τ'ελλενικόν η γλώσσα ανήκ' σα [[ινδοευρωπαϊκά γλώσσας|ινδοευρωπαϊκά τα γλώσσας]]. Ατουπές τ'ελλενικά υπολογίζν' ατα ιδιαίτερον παρακλάδ. Εςς τα διαλέκται νατς άμαν οι γραμματιζμέν' τη κόσμονος λέγουνατα διαλέκται, κιαραέτς γλώσσας πα 'κ είναι. Πολλοί λέγουνε τ'αρχαίον το μακεδονικόν τη γλώσσαν έτον αδερφικόν γλώσσαν, άμαν 'κ εξέρουμε πολλά για τ'ατέν τη γλώσσαν. Ασ' άλλ τη μερέαν πα ελογαριάζνε πως κι αβούτεν έτον ελλενικόν διάλεκτος. == Συνδέζμ' == * [[:el:Κύρια_Σελίδα|Ελλενικόν Βικιπαίδεια]] * [[:el:wikt:Κύρια Σελίδα|Ελλενικόν Βικιλεξικόν]] [[Κατηγορίαν:Ελλάδα|Ελλενικα]] [[Κατηγορίαν:Λαλίαν|Ελλενικα]] dkxv0u5voldwh9teys40sq9gnkt7e9d Επίρρημαν 0 183 30981 30837 2013-03-07T18:01:17Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 68 interwiki links, now provided by [[d:|Wikidata]] on [[d:q380057]] [[M:User:Addbot/WDS|(translate me)]] 30981 wikitext text/x-wiki '''Επίρρημαν''' λέγουμε τ' άκλιτα τα λέξεις που προσδιορίζ'νε τα [[Ρήμαν|ρήματα]]. Ση [[γραμματικήν]] τη [[Ποντιακόν λαλίαν|ποντιακού τη ρωμαίικου]] τη γλώσσας είναι σχεδόν όλεα ασ' [[Αρχαία ελλενικά|αρχαίον τ' ελλενικόν]] την γλώσσαν. == Τα επιρρήματα είναι == # Τοπικά: ''αδά, αδακά, ακεί, ατού, ατουκά, ατουκαικά, αλλού, αλλουκαικά, ανθέν, καθέν, απανκαικά, αποκαθενκιάν, που, πουδέν, εμπροστά, εμπρί, οπίς, δεξά, ζεβριά, ολόερα, αντίκρυ, πέρα, σουμά, κοντά, μακρά, αφκά, αλαφκά, απάν, απές, εκεί, καταγής, χώρια, δίπλα''. # Χρονικά: ''οσήμερον, αύριον, οψές, πουρνόν, βραδόν, σηναυγά, όλημερα, ολονύχτα, συνύχτα, συνπίρνα, οφέτος, οπέρτς, αροπέρτς, ατώρα, υστερνά, απυστερνά, επεκεί, κάποτε(ς), ώσπου, ατότες, πάντα, αποβραδύς''. # Ποσοτικά: ''πολλά, ολίγον, εναξά,επεΐ, ξάι, ατόσον, απαναφκά''. # Τροπικά: ''Αέτς, αέτς κι αέτς, κάπως, καθώς, ίσως, ίσα-ίσα, δηλαδή, τεά, εξίχωρα, μασχαρευτά, καλά, άσκεμα''. == Τέρεν == * [[Ουσιαστικόν]] * [[Σύνδεσμον]] [[Κατηγορίαν:Γραμματικήν|Επιρρημαν]] jfujnyorgx41fp3bgnsumgbkvv33s27 Ευρώπην 0 184 37387 35445 2025-12-20T12:07:05Z Εὐθυμένης 2777 /* Αναφοράντας */ 37387 wikitext text/x-wiki [[Αρχείον:LocationEurope.png|thumb|Η Ευρώπη σον χάρτεν τη κόσμονος]] [[Αρχείον:Europe satellite globe.jpg|thumb|Ασόν δορυφόρον : φωτογραφία τ' Ευρώπης]] Η '''Ευρώπην''' εν ήπειρος. Λέγν' ατέν και ''γηρεόφορον ήπειρον''. [[Γεωγραφίαν|Γεωγραφικά]] εν κομμάτ' τ' ευρασιατικού τη μάζας, άμαν έχ' τ' ατεινές το ξεχωριστόν την ιστορίαν και την κουλτούραν και για τ' ατό λέγουν ατέν ήπειρον. Βρέχεται ασον [[Ατλαντικόν Ωκεανός|Ατλαντικόν τον Ωκεανόν]], το [[Μαύρον Θάλασσα|Μαύρον τη Θάλασσαν]] και το [[Μεσόγειον Θάλασσα|Μεσόγειον τη Θάλασσαν]]. Με την [[Ασίαν]] και την [[Αφρικήν]] εντάμαν σχηματίζνε τον «Παλαιόν Κόσμον». == Ετυμολογία == Τ' όνεμαν «Ευρώπη» εξέβεν α' σ' αρχαία τ' [[Ελλενικόν καλατσή|ελλενικά]] τα λέξεις {{Polytonic|«εὐρύς»}} και {{Polytonic|«ὤψ (ἡ)»}}. Η σημασίαν τη λέξης εν: «γαρή π' ελέπ' μακρά». Σ' αρχαίον τ' ελλενικόν τη [[μυθολογία|μυθολογίαν]] «Ευρώπη» έτον τ' όνεμαν τη κόρης εινός βασιλέα α΄ση Φοινικίαν. Ας σ' αλλ' την μερέαν πα, αλλ' ετυμολόγοι λέγουν η λέξην «Ευρώπη» εχ' σημιτικόν ρίζαν κι επεκεί έντον ελλενικόν,<ref name="etymonline.com">http://www.etymonline.com/index.php?search=europe σο σάιτ: etymonline.com, εύρον τη λέξην <code>European</code> (αγγλικά).</ref> λ.χ. ασό ακκαδικόν τη γλώσσαν ''«erebu»'' (''δύσα'' [[Ήλος|τ' ήλιονος]]). == Ανθρώπ' == Ο πληθυσμόν ατ'ς εν σα 742.452.000 νοματούς (σα 2013 τη χρονίαν) απαναφκά. 'Σ σο μέσον όρον ζούν' ακαικά 'ς σα 65&nbsp;ανθρώπ/χλμ². Α' σ' ούλτ'ς περισσόν ζούνε 'ς σο δυτικόν, 'ς σο κεντρικόν και 'ς σο νότιον την Ευρώπην. 'Σ σ' ανατολικά γάλαι-γάλαι κι άλλο λίγ' ινέσκουνταν. === Καλατσίας === [[Αρχείον:Languages-Europe.svg|thumb|upright=1.2|Τ' ευρωπαϊκά τα καλατσίας]] 'Σ σα 90&nbsp;τοις εκατό τ' ανθρωπίων και ακόμαν περισσόν καλατσεύ'νε [[Ινδοευρωπαϊκά γλώσσας|ινδοευρωπαϊκά καλατσίας]]. Τζιπ τρανόν έκτασην έχ'νε τα σλαβικά, τα γερμανικά και τα ρωμανικά τα καλατσίας. Άλλ' ινδοευρωπαϊκά καλατσίας είναι τ' ελλενικά, τ' αρναούτικά, τα βαλτικά ,τα κελτικά και η ρομανί. Το δεύτερον ασ' ολτ'ς τρανόν γλωσσικόν φαμέλιαν εν τ' [[ουραλικά γλώσσας|ουραλικά τα γλώσσας]]. Επίσημα καλατσίας απέσ' 'ς σ' ατά είν' τα φινλανδικά, τ' ούγγρικα και τ' εσθονικά. Εξόν ατεινών εν τα λαπωνικά. Σ' ευρωπαϊκόν το κομμάτ' τη [[Τουρκία|Τουρκίας]] καλατσεύ'νε [[τουρκικά γλώσσας|τουρκικόν γλώσσα]], τα τουρκικά. === Ινάνεμα === 75 τοις εκατό τ' ανθρωπίων έν χριστιανάντ (ά' σ' ούλτ'ς περισσόν ρωμαιοκαθολικοί, προτεστάντ' κι [[Ορθόδοξον Εγκλεσία|ορθόδοξοι]]). 8 τοις εκατό είν' μουσουλμανάντ κι ευρίουνταν 'ς σο ευρωπαϊκόν τη [[Ρουσία|Ρουσίαν]] (25.000.000), 'ς σο ευρωπαϊκόν τη [[Τουρκία|Τουρκίαν]] (5.900.000), 'ς ση [[Βοσνία και Ερζεγοβίνη|Βοσνίαν Ερζεγοβίνην]] (2.200.000) και 'ς σην [[Αλβανία|Αλβανίαν]] (1.400.000 – 2.500.000). Έξον ατούν είν' μουσουλμάν ξενιτάντ' και οι απογόνατουν τη [[Γαλλία|Γαλλίας]] (5.500.000), τη [[Γερμανία|Γερμανίας]] (3.200.000), τ' [[Ηνωμένον Βασίλειο|Ηνωμενατί Βασιλειατί]] (1.500.000) και τ' [[Ιταλία|Ιταλίας]] (1.000.000). 'Σ σο 1 τοις εκατό τ' ανθρωπίων αφ'κά είν' τ' έτερα τ' ινανέματα. 'ς σα 16 με 17 τοις εκατό ξάι 'κ ινανεύνε. == Κράτη και πολιτικόν διαίρεση == === Βόρειον Ευρώπη === # Χερσαία τοπέα: [[Δανία]], [[Φινλανδία]] # [[Σκανδιναβικόν Χερσόνησος]]: [[Νορβηγία]], [[Σουηδία]]. # Νησιωτικά τοπέα: [[Ισλανδία]] === Δυτικόν Ευρώπη === # Χερσαία τοπέα: [[Γαλλία]], [[Μονακόν]] # [[Κάτω Χώρας]]: [[Ολλανδία]], [[Βέλγιον]], [[Λουξεμβούργον]] # Νησιωτικα τοπέα: [[Ηνωμένο Βασίλειο|Ηνωμένον Βασίλεον]] ([[Τρανόν Βρετανία]]), [[Ιρλανδία]] === Κεντρικόν Ευρώπη === # Παραθαλάσσεα τοπέα: [[Γερμανία]], [[Πολωνία]] # Ηπειρωτικά τοπέα: [[Ελβετία]], [[Λιχτενστάιν]], [[Αυστρία]], [[Ουγγαρία]], [[Τσεχία]], [[Σλοβακία]], === Ανατολικόν Ευρώπη === # Παρα-βαλτικά τοπέα: [[Εσθονία]], [[Λεττονία]], [[Λιθουανία]], # Ηπειρωτικά τοπέα: [[Ρουσία]] (ευρωπαϊκόν)<ref name="Part in Asia"> Ένα κομάτ ασήν έκτασην ατς ευρίεται σην Ασίαν.</ref>, [[Λευκορουσία]] # Παρευξείνεια τοπέα: [[Αζερμπαϊτζάν]]<ref name="Part in Asia"> Ένα κομάτ ασήν έκτασην ατς ευρίεται σην Ασίαν.</ref>, [[Αρμενία]]<ref name="Geo-Asia">Γεωγραφικά εν σην Ασίαν, άμαν λέγουμ' ατέναν ευρωπαϊκόν για την ιστορίαν και τον πολιτισμόν ατς.</ref>, [[Γρουζία]]<ref name="Geo-Asia">Γεωγραφικά εν σην Ασίαν, άμαν λέγουμ' ατέναν ευρωπαϊκόν για την ιστορίαν και τον πολιτισμόν ατς.</ref>, [[Μολδαβία]], [[Ουκρανία]] === Νότιον Ευρώπη === # [[Ιβηρικόν Χερσόνησος]]: [[Ισπανία]], [[Πορτογαλία]], [[Ανδόρρα]]. # [[Ιταλικόν Χερσόνησος]]: [[Ιταλία]], [[Βατικανό|Βατικανόν]], [[Άγιος Μαρίνος]]. # [[Βαλκανικόν Χερσόνησος]]: [[Αλβανία]], [[Βουλγαρία]], [[Ρουμανία]], [[Ελλάδα]], [[Σερβία]], [[Μαυροβούνιον|Μαυροραχιν]], [[Κροατία]], [[Σλοβενία]], [[Βοσνία και Ερζεγοβίνη|Βοσνία και Ερζεγοβίνην]], [[Βόρεια Μακεδονία]], [[Τουρκία]] (ευρωπαϊκόν)<ref name="Part in Asia"> Ένα κομάτ ασήν έκτασην ατς ευρίεται σην Ασίαν.</ref>. # Νησιωτικά τοπέα: [[Μάλτα]], [[Κύπρος]]. == Γεωγραφία == Με την [[Ασίαν]] εντάμαν εφτάει τρανόν γεωγραφικόν σύνολον. Αέτσ' η Ευρώπην εν χερσόνησον τ' ευρασιατικού τ' ήπειρατι. Τα τζιπ τρανά τα ευρωπαϊκά τα χερσονησία είν' η Κόλα, το Σκανδιναβικόν, το Γιουτλανδικόν, το Ιβηρικόν, το Ιταλικόν και το Βαλκανικόν. Απέσ' σ' ουλ' τρανά τ' ευρωπαϊκά τα νησία ευρίουμεν τη Νόβαγια Ζεμλιά, τη Γην τη Φραγκίσκονος Ιωσήφ, τα Βρετανικά τα νησία, τα νησία τη Δανίας, την [[Ισλανδία|Ισλανδίαν]], την Κορσικήν, τη [[Σαρδηνία|Σαρδηνίαν]], τη [[Σικελία|Σικελίαν]], την [[Κύπρος|Κύπρον]] και την [[Κρήτη|Κρήτην]]. == Αναφοράντας == <references /> == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Europe - Europa|Η Ευρώπην σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Ευρώπη|Η Ευρώπην σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Europe|Χάρτες ασην Ευρώπην]]''' * [https://web.archive.org/web/20201129051213/http://www.europestartpage.com/ EUROPEstartpage.com (Οδηγός ταξιδίων)] * [https://web.archive.org/web/20080921223939/http://earthobservatory.nasa.gov/Newsroom/NewImages/images.php3?img_id=13266 Η Ευρώπην σην νύχταν] * [https://web.archive.org/web/20050403105702/http://www.geog.tamu.edu/~prout/GVmidtermTwo.html Περιοχίδια τη Ευρώπης] * [http://www.freeworldmaps.net/europe/ Χάρτες τη Ευρώπης] * [http://europa.eu Ιστοσελίδα τη Ευρωπαϊκής Ένωσης] {{Πρότυπον:Κράτη τη Ευρώπης}} [[Κατηγορίαν:Ευρώπη| ]] [[Κατηγορίαν:Βικιπαίδεια:Arthron]] 0z1at59uqr89p1mzdla1p48qqz0njqn Εύξεινος Πόντος 0 185 35334 35139 2023-02-08T22:59:37Z 46.177.98.254 /* Μυθολογίαν */ 35334 wikitext text/x-wiki Αβούτο εν γράψιμον για τη θάλασσαν. Για τον τόπον δεαβάστεν: [[Πόντος|Πόντος]]'' [[Εικόναν:Ελληνικές_αποικίες_Ευξείνου_Πόντου.svg|thumb|300px|Αποικίες τη Πόντονος]] '''Εύξεινος Πόντος''' εν τ' ιστορικόν τ' όνεμαν τη [[Μαύρον Θάλασσα|Μαύρου τη Θάλασσας]]. Τ' όνεμαν εξέβεν ασην αλλαγήν τη πρώτου τ' ονεματί «Άξεινος Πόντος» (''αφιλόξενον θάλασσα''). «Εύξεινος Πόντος» σημαίνει ''φιλόξενον θάλασσα''. == Μυθολογίαν == Κατά τ' ελλενικόν τη μυθολογίαν σ' αούτον τον τόπον εζήνεν ο θεόν [[Πόντος (μυθολογία)|Πόντος]], ο γυιον τ' [[Αιθέρας|Αιθέρα]] και τη [[Γαία|Γαίας]]. Αβούτον τη θάλασσαν ετολανεύτεν ο [[Ιάσων|Ιάσων]] όντες εχπάστεν τ' [[Αργοναυτικόν εκστρατεία|Αργοναυτικόν την εκστρατείαν]]. Ο [[Αυτόλυκος|Αυτόλυκος]] (έτον απές σ' αυτοίν τ' Αργοναυτικού τ' εκστρατείας) ίδρυσεν τη [[Σινώπη|Σινωπή]], την πρώτην πολιτείαν τη [[Πόντος|Πόντονος]]. == Τέρεν == *[[Πόντος|Πόντος]] [[Κατηγορίαν:Ελλενικόν ιστορίαν|Ευξεινος Ποντος]] [[Κατηγορίαν:Μαύρον Θάλασσα|Ευξεινος Ποντος]] 4ejbky9oz58l7dqa5k3chfy4s8u3fbd Θεσσαλονίκη 0 186 36864 35651 2025-12-16T10:04:21Z Εὐθυμένης 2777 36864 wikitext text/x-wiki [[Εικόναν:Thessalonica_Montage_L.png|thumb|right|310px|<div style="font-size:85%; font-family:Palatino linotype;"><center>H Θεσσαλονίκην</center></div>]] Η '''Θεσσαλονίκην''' γιόξαμ '''Σαλονίκ΄''' εν πολιτείαν ντο ευρίεται 'ς σην [[Ελλάδα|Ελλάδαν]] και εχ’ τρανόν [[ιστορίαν]]. Το σύμβολον ατ'ς εν ο Λευκόν ο Πύργον, ντο εποίκαν ατόν οι Ενετοί. Η Θεσσαλονίκην εν η πρωτεύουσα τη [[Μακεδονία|Μακεδονίας]] και εχ' πληθυσμόν 800.764 ανθρώπ'ς απαναφκά. == Γεωγραφίαν == Η Θεσσαλονίκην εν χτιζμέντζα 'ς σο Θερμαϊκόν το Κόλπον, πέραν ά'σό ψηλόρραχον το [[Χορτιάτες|Χορτϊάτ']]. == Ιστορίαν == Το 315 π.Χ. τη χρονίαν ο [[Κάσσανδρος|Κάσσανδρον]] ίδρυσεν τη Θεσσαλονίκην. Έδωκεν ατέν τ' όνεμαν τη πατσής τη [[Μέγας Αλέξανδρος|Μεγαλέξανδρονος]]. Ατέ πα επαίρεν τ' όνεμαν ατ'ς όντες οι Μακεδόνες και οι Θεσσαλοί ενίκεσαν τοι Φέρες και τοι Φωκεάδες. Τ' όνεμαν «Θεσσαλονίκη» εν συγκόλλησην ά' σ' αρχαία τ' ελλενικά τα λέξεις ''Θεσσαλῶν'' και ''Νίκη''. <br /> Ά' σό 168 π.Χ. τη χρονίαν η Θεσσαλονίκη έντονε μέρος τη Ρωμαϊκού τη Αυτοκρατορίας κι επεκεί τη [[Ρωμανίαν|Βυζαντινού τη Αυτοκρατορίας]]. Έτον πρωτεύουσα τη ρωμαϊκού τη επαρχίας ''Macedonia''.<br /> Αντιφέρκουτον κι επολέμησεν το Οθωμανικόν τη Αυτοκρατορίαν, 'ς σο τέλος έχασεν τον πόλεμον και ά' σό 1430 τη χρονίαν έντονε μέρος ατ'ς για 480 χρόνä. Όντες το 1912 τη χρονίαν ετελέθεν ο Α’ Βαλκανικόν Πόλεμον έντον πολιτεία τη [[Ελλάδα|Ελλάδας]]. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{el}} {{επίσημος ιστότοπος}} {{authority control}} {{DEFAULTSORT:Θεσσαλονικη}} [[Κατηγορίαν:Μακεδονία|Θεσσαλονίκη]] [[Κατηγορίαν:Πολιτείας τ' Ελλάδας|Θεσσαλονίκη]] jta0g6mq6ap6mb73ek0bjyaap8ad427 Ιβηρία 0 187 1948 1947 2009-03-06T15:22:15Z MF-Warburg 53 3 revisions 1948 wikitext text/x-wiki #REDIRECT[[Ιβηρικόν Χερσόνησος|Ιβηρικόν Χερσόνησος]] biwp7v8rymsc0bb37kibpjkvpl1mthl Ιβηρικόν Χερσόνησος 0 188 30985 30901 2013-03-07T18:02:41Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 94 interwiki links, now provided by [[d:|Wikidata]] on [[d:q12837]] [[M:User:Addbot/WDS|(translate me)]] 30985 wikitext text/x-wiki [[Εικόναν:Iberian peninsula.jpg|right|thumb|270px|Ασό σατελίτ: τ' Ιβηρικόν η χερσόνησος]] Τ' '''Ιβηρικόν η χερσόνησος''' εν ση δύσαν τ' [[Ευρώπην|Ευρώπης]] κι ανήκει σα ασ' όλεα τα τρανά τα χερσονησία νατς. Λέγνατεν και ''Ιβηρία''. Αούτο τ' όνεμαν εξέβεν ασον λαόν τ' Ιβηρίων π' έτον ακαικά σ' αρχαία τα χρόνε. Σα λατινικά επαίρεν τόνεμαν ''Hispania''. Επεκεί εξέβαν τοσημερνά τονέματα ''España'' και ''[[Ισπανία]]''. <br /> Τ' Ιβηρικόν τη χερσόνησο και τη [[Γαλλία|Γαλλίαν]] χωρίζνε τα ρασία τη [[Πυρηναία|Πυρηναίων]]. Σα νοτιοδυτικά, δυτικά και βόρεια βρέχκεται ασόν [[Ατλαντικόν Ωκεανός|Ατλαντικόν τον ωκεανόν]] και ανατολικά και νοτιοανατολικά ασήν [[Μεσόγειον θάλασσα|Μεσόγειον τη θάλασσαν]]. Το τζιπ νότιον σημείον ατ'ς εν το [[Γιβραλτάρ]], σην Αφρικήν καικά. Έχ' τρανόν ποταμόν τον [[Τάγος|Τάγον]]. Έχ' έκτασην άμον ντ' έχνε η Γαλλίαν και το [[Βέλγιο|Βέλγιον]] εντάμαν, σα 580.000 τ. χλμ. εξόν τ' ισπανικών νησίων [[Βαλεαρίδας]] και [[Κανάρια νησία|Κανάραι]] και τα πορτογαλικά τ' [[Αζόρες|Αζόρε]] και τη [[Μαδέρα|Μαδέραν]]. Σ' Ιβηρικόν τη χερσόνησον ευρίσκουνταν τ' ευρωπαϊκά τα [[Κράτος|κράτη]] τ' [[Ισπανία|Ισπανίας]], τη [[Πορτογαλία|Πορτογαλίας]], τ' [[Ανδόρρα|Ανδόρρας]] και ο βράχος τη [[Γιβραλτάρ]]. Την μορφήν ατ'ς δίνε διάφορα ρασιοσειράς, τα «σιέρας» (''Sierra''). Τ' ασ' όλεν ψηλά εν η «Σιέρα ντε λα Ντεμάντα» (2308 μ.), η «Σιέρα Ναβάντα», η «Σιέρα ντε Μουκάθιο» (2317 μ.) και η «Σιέρα ντε Σεμπολλιέρα» (2178 μ.). == Κράτε κι εδάφε == * [[Εικόναν:Flag of Andorra.svg|20px]] [[Ανδόρρα]] * [[Εικόναν:Flag of Spain.svg|20px]] [[Ισπανία]] * [[Εικόναν:Flag of Portugal.svg|20px]] [[Πορτογαλία]] * [[Εικόναν:Flag of Gibraltar.svg|20px]] [[Γιβραλτάρ]] * [[Εικόναν:Flag of France.svg|20px]] [[Γαλλία]] [[Κατηγορίαν:Χερσονησία|Ιβηρικον Χερσονησος]] [[Κατηγορίαν:Ευρώπη|Ιβηρικον Χερσονησος]] [[Κατηγορίαν:Ιβηρία| ]] lycvss7wan3t7kobud4n7imw7lcppcw Ιρλανδία 0 189 35925 34848 2024-10-26T05:25:44Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35925 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Ιρλανδία'''</big></big><br/>''Éire'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Ireland.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat_of_arms_of Ireland.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Ireland.svg|300px]] |} Η '''Δημοκρατίαν τ' Ιρλανδίας''' (σα ιρλανδικά: ''Poblacht na hÉireann'', σα αγγλικά: ''Republic of Ireland'') εν [[κράτος]] σα βορειοδυτικά τ' [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν το [[Δουβλίνο|Δουβλίνον]]. Ο πληθυσμόν τη χώρας είν' σα 4.130.000 τ' ανθρώπ'ς και πρόεδρον ατ'ς εν ο Μέρι ΜακΑλίζ. == Γεωγραφίαν == Η Ιρλανδίαν ευρισκάται απεσκέσ' σον Αντλαντικόν τον Ωκεανόν και σο Ιρλανδικόν τη Θάλασσαν. Σα βορειοανατολικά συνορεύ' με το βρετανικόν το [[Βόρειον Ιρλανδίαν|Βόρειον τη Ιρλανδίαν]]. Σα τρανά τα πολιτείας ατ'ς ανήκ'νε το [[Κορκ]] και το [[Γκάλγουεϊ]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Ireland|Η Ιρλανδίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Ιρλανδία|Η Ιρλανδίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Ireland|Χάρτες ασην Ιρλανδίαν]]''' * [https://web.archive.org/web/20050403211720/http://www.gov.ie/aras/ Το επίσημον ο ιστοτόπον τη προέδρονος τ' Ιρλανδίας] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Ιρλανδία]] [[Κατηγορίαν:Ευρώπη|Ιρλανδία]] [[Κατηγορίαν:Ιρλανδία| ]] sdxczn49o40ymgrirddzqv4e5jvwve6 Ισλανδία 0 190 35926 33495 2024-10-26T05:25:48Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35926 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Ισλανδία'''</big></big><br/>''Ísland '' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Iceland.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat_of_arms_of Iceland.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Iceland.svg|300px]] |} Η '''Ισλανδία''' (σα ισλανδικά: ''Lýðveldið Ísland'') είναι [[Ευρώπην|ευρωπαϊκόν]] [[κράτος]] σο βόρειον τον Ατλαντικόν τον ωκεανόν. Πρωτεύουσαν ατ'ς εν η [[Ρέυκιαβικ]]. Ο πρόεδρον ατ'ς εν ο [[Όλαφουρ Ράγκναρ Γκρίμσσον]] και ο πληθυσμόν ατ'ς ένι σα 312.861 τ' ανθρώπ'ς. President : [[Guðni Th. Jóhannesson]] == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Iceland|Η Ισλανδίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Ισλανδία|Η Ισλανδίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Iceland|Χάρτες ασην Ισλανδίαν]]''' * [http://iceland.is/ Το επίσημον ο ιστοτόπον τ' ισλανδικού Υπουργεί σα εξ μερέαν] {{Πρότυπον:Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Ισλανδία]] [[Κατηγορίαν:Ευρώπη|Ισλανδία]] [[Κατηγορίαν:Ισλανδία| ]] 3mrt4lil2damx30tqst6oyfyjgg1mtl Ισπανία 0 191 36302 35927 2025-08-26T14:42:06Z 46.12.104.200 απόδοση λέξης από τη νέα ελληνική στα ποντιακά 36302 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Ισπανία'''</big></big><br/>''Reino de España'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Spain.svg|125px]] | align="center" width="140px" | [[Αρχείον:Escudo_de_Espa%C3%B1a_(mazonado).svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Spain.svg|300px]] |} Το '''Βασίλειον τη Ισπανίας''' (σα ισπανικά ''Reino de España'', σα καταλωνικά ''Regne d'Espanya'', σα γαλικιανικά ''Reino de España'', σα βασκικά ''Espainiako Erresuma'') εν κράτος σα δυτικά τη [[Ευρώπην|Ευρώπης]], σ' [[Ιβηρικόν Χερσόνησος|Ιβηρικόν τη χερσόνησον]]. Πρωτεύουσαν ατ'ς εν η [[Μαδρίτη]] και ο βασιλέαν ατ'ς εν ο [[Κάρολος Α' τη Ισπανίας|Φιλιππος Η' τη Ισπανίας]]. Η Ισπανίαν ευρίεται απές σην Μεσόγειον και σον Ατλαντικόν τον Οκεανόν, αφκά ασή [[Γαλλία|Γαλλίαν]] και την [[Ανδόρρα|Ανδόρραν]] και σα ανατολικά τη [[Πορτογαλία|Πορτογαλίας]]. == Συνδέζμαι == * {{commonscat|Spain}} * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Ισπανία|Η Ισπανίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Spain|Χάρτες ασην Ισπανίαν]]''' * [http://www.senado.es/ Το επίσημον ο ιστοτόπον τ' ισπανικού τη κοινοβουλί] * [http://www.congreso.es/ Το επίσημον ο ιστοτόπον τ' ισπανικού τη κονγκρέσωνος] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Ισπανία]] [[Κατηγορίαν:Ευρώπη|Ισπανία]] [[Κατηγορίαν:Ιβηρία|Ισπανία]] [[Κατηγορίαν:Ισπανία| ]] ani8nbqtn6gwlcaylm7tyqwsamdrtiy Ιστορία 0 192 32286 30992 2015-03-19T10:58:47Z Cekli829 906 32286 wikitext text/x-wiki '''Ιστορίαν''' λέγουμε την τέχνην π' συστηματοποιά την μελέτην ντο τερεί τ' ανθρώπς, ντ' εποίν'ναν σα παλαιά τα βαχούτεα κι επεκεί. Τερεί τοι παλαιούς, ντο έσαν και ντ' εποίν'νεν καθαείς ατούν.<ref name="Whitney">Whitney, W. D. (1889). [http://books.google.com/books?id=wrACAAAAIAAJ The Century dictionary; an encyclopedic lexicon of the English language]. New York: The Century Co. Page [http://books.google.com/books?id=wrACAAAAIAAJ&printsec=frontcover#PPA2842,M1 2842].</ref> == Εποχάς == * [[Παλαιόν Ιστορίαν]] * [[Ρωμανίαν|Ρωμανίαν/Βυζάντιον]] * [[Ευρωπαϊκόν Ιστορίαν]] * [[Πολέμ]] * [[Ρωμαϊκόν Αυτοκρατορίαν]] * [[Καινούρ' Ιστορίαν]] == Ιστοριογράφοι == * [[Στράβων]] == Αναφοράντας == <references /> [[Κατηγορίαν:Ιστορίαν|*]] rma19pjszi8m0qlef8hne8csa0b5k8r Ιταλία 0 201 35929 35352 2024-10-26T05:26:00Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35929 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Ιταλία'''</big></big><br/>''Repubblica italiana'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Italy.svg|125px]] | align="center" width="140px" | [[Αρχείον:Emblem_of_Italy.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Italy.svg|300px]] |} Η '''Ιταλία''', (σα ιταλικά: ''Italia'', τ' επίσημον τ' όνεμα εν ''Repubblica Italiana'') είναι [[κράτος]] σο νότον τη [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν η [[Ρώμη]] και η πρωθυπουργόν ατ'ς εν η [[Τζόρτζια Μελόνι]]. Η χώρα εχ' πληθυσμόν σα 59.131.287 τ' ανθρώπ'ς. == Γεωγραφίαν == Η Ιταλίαν ευρίεται σο [[Μεσόγειον θάλασσα|Μεσόγειον τη θάλασσα]], ανάμεσα ση [[Αυστρία|Αυστρίαν]], τη [[Σλοβενία|Σλοβενίαν]], τη [[Γαλλία|Γαλλίαν]], την [[Ελλάδα|Ελλάδαν]] και τη [[Ελβετία|Ελβετίαν]]. Έχ' τρανά πολιτείας το [[Μιλάνο|Μιλάνον]] και τη [[Νεάπολη (Ιταλία)|Νεάπολην]]. Η πολιτείαν Καμπιόνε ντ' Ιτάλια, που ευρίεται σο ελβετικόν το έδαφος, εν κι αυτή ιταλικόν. == Συνδέζμαι == * '''[[Εικόναν:Commons-logo.svg|15px]] [[:el:commons:Italy|Η Ιταλίαν σα Commons]]''' * '''[[Εικόναν:Greek_wiktionary_logo.png|15px]] [[:el:wikt:Ιταλία|Η Ιταλίαν σο Βικιλεξικόν]]''' * '''[[Εικόναν:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Italy|Χάρτες ασην Ιταλίαν]]''' * [http://www.quirinale.it/ Το επίσημον ο ιστοτόπον τη προέδρονος τ' Ιταλίας] * [http://www.parlamento.it/ Το επίσημον ο ιστοτόπον τ' ιταλικού τη κοινοβουλί] * [https://web.archive.org/web/20080517014204/http://www.esteri.gov.it/eng/ Το επίσημον ο ιστοτόπον τ' ιταλικού Υπουργεί σα εξ μερέαν] * [http://www.iic.gr/ Το επίσημον ο ιστοτόπον τ' ιταλικού μορφωτικού ινστιτούτου σην Αθήναν] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Ιταλία]] [[Κατηγορίαν:Ευρώπη|Ιταλία]] [[Κατηγορίαν:Ιταλία| ]] hlklwjzrwkis9p4t746g7zb1ktivc69 Ke me latinikus haraktires 0 202 33593 8709 2018-03-05T16:01:04Z Escarbot 910 wikidata interwiki 33593 wikitext text/x-wiki <div align="center" style="font-size:25pt; line-height:1em;">İ Vikipedia sa Pontiaka</div> <div align="center" style="font-size:15pt; line-height:1em;">ta Romeyika ason Ponton</div> <div align="center" style="font-size:12pt; line-height:1,3em;">'''Anihton engyklopedia do ğrafkete ke tranin ap' atins p' thelne.'''</div> <!-- ------------ --> {| cellpadding="0" cellspacing="0" | valign="top" width="48%" style="background:#f5fffa; border: 1px solid #cef2e0" | {| cellspacing="10" style="background:transparent; font-family: Verdana, Arial, Helvetica, sans-serif;" |----------------------------------------- | style="text-align:center; padding:4px; font:bold 17px Georgia,serif; letter-spacing:3px; border-bottom: 1px solid #ccc;background-color:#cef2e0" | <span style="float: left; margin:0px; ">[[Εικόναν:Comedyicon.svg|25px|]]</span> KALOS ERTHETEN... |----------------------------------------- | style="text-align:left" | ...sin [[Βικιπαίδεια|Vikipedian]]. '''Mathesten''' polla gia t'aten deavazontas ta [[Βικιπαίδεια/Πολλά ερωτήσεις|polla erotisis]] ke tin [[Βικιπαίδεια/Βοήθεια|voithian]]. To pontiakon i Vikipedia atora eş '''[[Ειδικόν:Statistics|{{NUMBEROFARTICLES}}]]''' sayfedes. Voithesten ki eftaten atenan ki allo tranesan. Ğrafesten ta nunismata ke ta ideasesun sin [[Βικιπαίδεια:Αγορά|ağoran]] ke deavasten [[Βικιπαίδεια:Ντο 'κ εν η Βικιπαίδεια|do 'k en i Vikipedia]]. |----------------------------------------- | style="text-align:center; padding:0px; padding-top: 4px; font:bold 17px Georgia,serif; letter-spacing:3px; border-bottom: 1px solid #ccc; background:#cef2e0" | <span style="float: left; margin:0px; ">[[Εικόναν:Open bible 01 01.svg|25px|]]</span> DEAVASTEN KE MATHESTEN |----------------------------------------- | {{arthron}} |----------------------------------------- | style="text-align:center; padding:0px; padding-top: 4px; font:bold 17px Georgia,serif; letter-spacing:3px; border-bottom: 1px solid #ccc; background:#cef2e0" | <span style="float: left; margin:0px; ">[[Εικόναν:Feather writing.png|25px|]]</span> HAPERE |----------------------------------------- | {{Πρότυπον:Χαπέραι}} |----------------------------------------- |} | valign="top" width="48%| {| cellspacing="10" style="background:#f5faff; border: 1px solid #cedff2" |----------------------------------------- | style="text-align:center; padding:4px; font:bold 17px Georgia,serif; letter-spacing:3px; border-bottom: 1px solid #ccc;background-color:#cedff2" |PROSKALEMAN YA TO ERĞON ATO |----------------------------------------- | style="text-align:left" | Voithesten tin Vikipedian. Valesten ki esistun to eksereten aets ya na tranin i engyklopedia. *Εan ekserete kala kenurea pramata, arnaşepsten allo ğrapsimon. *Ean evrisketen ğrapsimata do k' ine sosta ki an eşete so nunesun ta sosta, piisten ta kiallo kallion. *İ antiğrafin as' alla ğlossas inete. |----------------------------------------- | style="text-align:center; padding:4px; font:bold 17px Georgia,serif; letter-spacing:3px; border-bottom: 1px solid #ccc;background-color:#cedff2" |<span style="float: left;">[[Εικόναν:P literature.svg|25px|]]</span>ENGYKLOPEDIA |----------------------------------------- | style="text-align:center;font-weight: bold; font-size: 13px;background-color:#cedff2" | Kataloğos me ta themata |----------------------------------------- | {| style="font-size: 12px; background:#f5faff" cellspacing="0" cellpadding="3" | width="50%" | [[Εικόναν:P parthenon.svg|40px|left]] <big>[[:Κατηγορίαν:Πολιτισμόν|Kültüri]]</big><br> [[Ζωγραφικήν|Zoğrafiki]] &middot; [[Θέατρον|Tiyatro]] &middot; [[Λογοτεχνίαν|Loğotehnia]] &middot; [[Μουσικήν|Musiki]] &middot; [[Αρχιτεκτονικήν|Arhitektoniki]] &middot; [[Γλυπτικήν|Ğliptiki]] &middot; [[Αθλητισμός|Athlitismos]] &middot; [[Μυθολογίαν|Mytholojia]] &middot; [[Θρησκείαν|İnanema]] &middot; [[Ποιητικήν|Piitiki]] [[Εικόναν:P countries.png|40px|left]] <big>[[Γεωγραφίαν|Jeoğrafia]]</big><br/> [[Ασίαν|Asia]] &middot; [[Αφρικήν|Afriki]] &middot; [[Ευρώπην|Evropi]] &middot; [[Αμερικήν|Ameriki]] &middot; [[Ωκεανίαν|Okeania]] &middot; [[Ανταρκτικήν|Antarktiki]] &middot; [[Αρκτικήν|Arktiki]] &middot; [[:Κατηγορίαν:Πολιτείας|Politias (Şehire)]] &middot; [[:Κατηγορίαν:Κράτη|Devlete]] &middot; [[:Κατηγορίαν:Θάλασσας|Thalassas]] &middot; [[:Κατηγορίαν:Ποτάμαι|Potame]] &middot; [[:Κατηγορίαν:Νησία|Nisia]] &middot; [[:Κατηγορίαν:Ραχία|Raşia]] [[Εικόναν:P history.png|40px|left]] <big>[[:Κατηγορίαν:Ιστορίαν|İstoria]]</big><br/> [[Παλαιόν Ιστορίαν|Παλαιόν Ιστορίαν]] &middot; [[Ρωμανίαν|Romanian/Bizans]] &middot; [[Ευρωπαϊκόν Ιστορίαν|Evropaikon İstoria]] &middot; [[Πολέμ|Polem]] &middot; [[Ρωμαϊκόν Αυτοκρατορίαν|Romaikon Aftokratoria]] &middot; [[Καινούρ' Ιστορίαν|Kenur' İstoria]] [[Εικόναν:P writing.svg|40px|left]] <big>[[Γραμματικήν|Ğrammatiki]]</big><br/>[[Ουσιαστικόν|Usiastikon]] &middot; [[Επίθετον|Epitheton]] &middot; [[Ρήμαν|Riman]] &middot; [[Επίρρημαν|Epiriman]] &middot; [[Σύνδεσμον|Syndesmon]] &middot; [[Πρόθεσην|Prothesi]] &middot; [[Αντωνυμίαν|Antonymia]] &middot; [[Άρθρον|Arthron]] &middot; [[Αριθμητικόν|Arithmitikon]] &middot; [[Επιφώνημαν|Epifoniman]] [[Εικόναν:P wiki letter w.svg|40px|left]] <big>[[Βικιπαίδεια|Vikipedia]]</big><br/> [[Βικιπαίδεια:Αγορά|Ağora]] &middot; [irc://irc.freenode.net/wikipedia-pnt Parakath so IRC] &middot; [[Βικιπαίδεια:Βοήθεια|'''Voithia''']] &middot; [[Βικιπαίδεια:Ντο εν η Βικιπαίδεια|Do en i Vikipedia]] &middot; [[Βικιπαίδεια:Ντο 'κ εν η Βικιπαίδεια|Do 'k en i Vikipedia]] &middot; [[Βικιπαίδεια:Δικαιώματα πνευματί|Dikeomata pnevmati]] &middot; [[Βικιπαίδεια:Ποντιακόν γράψιμον|Pontiakon ğrapsimon]] |} <!-- <div style="float: right;"><small>[{{SERVER}}{{localurl:Πρότυπο:Θεματικός κατάλογος|action=edit}} Επεξεργασία]</small></div>--> |------------------------------------ |} |} {{:Άλλα έργα}} bfwyn3e8nv4t3inuqdtyzdafkt4sgnt Κάλαντα Χριστουγέννων 0 203 32880 31633 2016-05-10T16:48:39Z Escarbot 910 wikidata interwiki 32880 wikitext text/x-wiki Τα '''κάλαντα τη Χριστουγεννίων''' είν' ευχητικά τραγωδίας ντο ψάλκουνταν κάθαν χρόνον, σην παραμονήν τη [[Χριστούγεννα|Χριστουγεννίων]]. Τα κάλαντα έχνε πολλά λοέν μορφάς (λ.χ. [[Ποντιακά|ποντιακά]], μωραΐτικα, κρητικά, κ.ου.κ.). == Κάλαντα == :Χριστός ’γεννέθεν χαράν ’ς σον κόσμον, χα καλή ώρα, καλή σ’ ημέρα. :Χα καλόν παιδίν οψέ ’γεννέθεν, οψέ ’γεννέθεν, ουρανοστάθεν. :Τον εγέννεσεν η Παναγία, τον ενέστεσεν (Αϊ Παρθένος-δις). :Εκαβάλκεψεν χρυσόν πουλάριν κι εκατήβεν ’ς σο σταυροδρόμιν :Έρπαξαν Ατον οι χίλ’ Εβραίοι, οι χίλ’ Εβραίοι και μύριοι Εβραίοι. :Ας ακρεντικά κι ας σην καρδίαν αίμαν έσταξεν, χολή ’κ’ εφάνθεν. :Ούμπαν έσταξεν, και μύρος έτον, μύρος έτον και μυρωδία. :Εμυρίστεν ατο ο κόσμος όλεν, για μυρίστ’ ατο κι εσύ αφέντα. :Συ αφέντα, καλέ μ’ αφέντα. :Έρθαν τη Χριστού τα παλικάρα και θημίζ’νε τον νοικοκύρην, :Νοικοκύρη μ’ και βασιλέα. :Δέβα ’ς σο ταρέζ’ κι έλα ’ς σην πόρταν, δος μας ούβας και λεφτοκάρα :Κι αν αν’εις μας, χαράν ’ς σην πόρτα σ’. ::(Καλά Χριστούγεννα και σ’ έτη πολλά) == Συνδέσμ == *[http://www.youtube.com/watch?v=Tdqr9HOY9tM Τα ποντιακά τα κάλαντα σην ΕΤ1] [[Κατηγορίαν:Θρησκείαν|Καλαντα Χριστουγεννων]] 86u7zje0fm5bwv1zy8h2armqhc1sx82 Κέστεραν 0 204 36865 36214 2025-12-16T10:05:13Z Εὐθυμένης 2777 36865 wikitext text/x-wiki [[Εικόναν:Dimos Kastorias.png|thumb|Η Κέστεραν σον χάρτεν τη νομού]] Η '''Κέστεραν''' (σα [[Ελλενικόν γλώσσα|ελλενικά]] ''Καστοριά'') εν [[Ελλάδα|ελλενικόν]] πολιτείαν ντ' ευρίεται σην [[Μακεδονία|Μακεδονίαν]] κι εςς πληθυσμόν 20.000 ανθρώπ απαναφκά. Ευρίεται σην δύσαν τη Δυτικού τη Μακεδονίας κι απές σον νομόν τη Κέστερας. Η πολιτείαν εν χτισμέντζα σον ισθμόν εινός χερσόνησονος απάν, ση «γούλαν» ντ' ευρίεται ση δύσαν τη κιολί τη Κέστερας. Το κιόλιν εςς τόνεμαν Ορεστιάδα. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{el}} {{επίσημος ιστότοπος}} {{authority control}} {{DEFAULTSORT:Κεστεραν}} [[Κατηγορίαν:Πολιτείας τ' Ελλάδας]] [[Κατηγορίαν:Μακεδονία]] mu3fy2b0ag6egvhs02rlbvy4pulzoz0 Κίνα 0 205 35433 35324 2023-06-27T13:49:04Z 2A03:D000:7108:AE46:1:0:1FE9:FC28 35433 wikitext text/x-wiki {| border="1" align="right" cellpadding="4" cellspacing="0" width="300" style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Κίνα'''</big></big><br />中华人民共和国 |- | colspan="2" style="background:#efefef;" align="center" | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of the People's Republic of China.svg|125px]] | align="center" width="140px" | [[Αρχείον:National_Emblem_of_the_People%27s_Republic_of_China.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | colspan="2" align="center" | |- | colspan="2" align="center" | [[Αρχείον:People's Republic of China (orthographic projection).svg|300px]] |} Η '''Κίναν''' συνορεύ' με 14 κράτη: το [[Βιετνάμ]], το [[Λάος]], τη [[Βιρμανία]]ν, την [[Ινδία]]ν, το [[Μπουτάν]], το [[Νεπάλ]], το [[Πακιστάν]], το [[Αφγανιστάν]], το [[Τατζικιστάν]], το [[Κιργιστάν]], το [[Καζαχστάν]], τη [[Ρωσία]]ν, τη [[Μογγολία]]ν και το Βόρειον τη Κορέαν. Έχ' τρανά πολιτείας τη [[Σαγκάη]] και το [[Χονγκ κόνγκ]]. == Συνδέζμαι == * [[Αρχείον:Commons-logo.svg|15px]] '''[[:el:commons:China|Η Κίναν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Κίνα|Η Κίναν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of the People's Republic of China|Χάρτες ασην Κίναν]]''' * [http://www.npc.gov.cn/ Το επίσημον η σελίδαν τη NPC] (σα κινεζικά) [[Κατηγορίαν:Κίνα| ]] nw2j3efzekwyyiv5c86n86ojykybpyi Καβάλα 0 206 36866 35209 2025-12-16T10:06:05Z Εὐθυμένης 2777 36866 wikitext text/x-wiki [[Εικόναν:Kavala old town.jpg|220px|thumb|Η παλεά μερέα τη πολιτείας τη Καβάλας]] H '''Καβάλαν''' (αρχ. ''Νεάπολη'') εν η πρωτεύουσα τη [[Ανατολικόν Μακεδονία|ανατολικού]] τη [[Μακεδονία|Μακεδονίας]] και το όγδοον ασα τρανά τα [[Ελλάδα|ελλενικά]] τα πολιτείας. Οσήμερον εςχ' πληθυσμόν 58.663 ανθρώπς απαναφκά (2001). == Ιστορίαν == Η Καβάλαν έχς' τσιπ τρανόν ιστορίαν και έςχ' τη ρίζαν ατς' σ' [[Αρχαίον Ελλάδαν|αρχαίον την Ελλάδαν]]. Απ'αδά εξεκίνησεν ο [[Χριστιανιμός|Χριστιανιμόν]] για τ' [[Ευρώπην|Ευρώπας]], όταν'έρτε σ'ατέν και καλάτσεψε για τ'ατό τη πίστην ο [[Απόστολος Παύλος|Απόστολον ο Παύλον]], μεταπέκ΄ς ασοί [[Φιλίπποι|Φιλίππς]]. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{el}} {{επίσημος ιστότοπος}} {{authority control}} {{DEFAULTSORT:Καβαλα}} [[Κατηγορίαν:Μακεδονία]] [[Κατηγορίαν:Πολιτείας τ' Ελλάδας]] 4o573j844iphh7vtpvuqczjj3vrjb7g Καλαντάρτς 0 207 37109 37014 2025-12-16T18:14:38Z Εὐθυμένης 2777 (By [[meta:Indic-TechCom/Tools|FindAndReplace]]) 37109 wikitext text/x-wiki <center> '''Ημέρας Καλανταρί''' </center> <center> [[1 Καλανταρί|1]] | [[2 Καλανταρί|2]] | [[3 Καλανταρί|3]] | [[4 Καλανταρί|4]] | [[5 Καλανταρί|5]] | [[6 Καλανταρί|6]] | [[7 Καλανταρί|7]] | [[8 Καλανταρί|8]] | [[9 Καλανταρί|9]] | [[10 Καλανταρί|10]] | [[11 Καλανταρί|11]] | [[12 Καλανταρί|12]] | [[13 Καλανταρί|13]] | [[14 Καλανταρί|14]] | [[15 Καλανταρί|15]] | [[16 Καλανταρί|16]] | [[17 Καλανταρί|17]] | [[18 Καλανταρί|18]] | [[19 Καλανταρί|19]] | [[20 Καλανταρί|20]] | [[21 Καλανταρί|21]] | [[22 Καλανταρί|22]] | [[23 Καλανταρί|23]] | [[24 Καλανταρί|24]] | [[25 Καλανταρί|25]] | [[26 Καλανταρί|26]] | [[27 Καλανταρί|27]] | [[28 Καλανταρί|28]] | [[29 Καλανταρί|29]] | [[30 Καλανταρί|30]] | [[31 Καλανταρί|31]] </center> ----- {{ΗμερολόγιοΣεΠίνακα|1}} Ο '''Καλαντάρτς''' (σ' ελλενικά: ''Ιανουάριος'') εν ο πρώτον μήνας τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] κι εχ' 31 ημέρας. Τ' όνεμαν ατ' εβγών' ασον λατινικόν τη λέξη «καλένδαι» (''calendae'' = πρώτον ημέραν τη μηνού). [[Αρχείον:Januar Leandro Bassano.jpg|thumb|Leandro Bassano, ''Καλανταρί''|300px]] == Ο λαόν για τον Καλαντάρτ == :''«Καλαντάρτς και νέον έτος, άμον πάντα και οφέτος'' :''έρθαν, αρνί μ', τα Κάλαντα, έρθεν ο Καλαντάρης,'' :''μένω σε και αν 'κ έρχεσαι, να έρται το χαπάρι σ'.»'' :''«Καλαντάρτς καλή χρονία,'' :''κόρ’ εσύ εσέν ερία'' :''καλαντάρτς και νέον έτος, '' :''κόρ’ θα παίρω σε οφέτος.»'' == Συνδέσμ == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:January|Καλαντάρτς σα Commons]]''' * '''[[Αρχείον:Wiktfavicon en.svg|16px|Βικιλεξικόν]] [[:el:wikt:Ιανουάριος|Ο Καλαντάρτς (Ιανουάριος) σ' ελλενικόν το Βικιλεξικόν]]''' {{Μήνας‎}} [[Κατηγορίαν:Μήνας|Καλανταρτς]] tpenjonaipnapr6q3n3l278c9kpd9e9 Καλομηνάς 0 208 37032 37019 2025-12-16T18:14:34Z Εὐθυμένης 2777 (By [[meta:Indic-TechCom/Tools|FindAndReplace]]) 37032 wikitext text/x-wiki <center> '''Ημέρας Καλομηνά''' </center> <center> [[1 Καλομηνά|1]] | [[2 Καλομηνά|2]] | [[3 Καλομηνά|3]] | [[4 Καλομηνά|4]] | [[5 Καλομηνά|5]] | [[6 Καλομηνά|6]] | [[7 Καλομηνά|7]] | [[8 Καλομηνά|8]] | [[9 Καλομηνά|9]] | [[10 Καλομηνά|10]] | [[11 Καλομηνά|11]] | [[12 Καλομηνά|12]] | [[13 Καλομηνά|13]] | [[14 Καλομηνά|14]] | [[15 Καλομηνά|15]] | [[16 Καλομηνά|16]] | [[17 Καλομηνά|17]] | [[18 Καλομηνά|18]] | [[19 Καλομηνά|19]] | [[20 Καλομηνά|20]] | [[21 Καλομηνά|21]] | [[22 Καλομηνά|22]] | [[23 Καλομηνά|23]] | [[24 Καλομηνά|24]] | [[25 Καλομηνά|25]] | [[26 Καλομηνά|26]] | [[27 Καλομηνά|27]] | [[28 Καλομηνά|28]] | [[29 Καλομηνά|29]] | [[30 Καλομηνά|30]] | [[31 Καλομηνά|31]] </center> ---- {{ΗμερολόγιοΣεΠίνακα|5}} Ο '''Καλομηνάς''' (σ' ελλενικά: ''Μάιος'') εν ο πέμπτον μήνας τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] κι εχ' 31 ημέρας. == Πολλά λοέν πληροφορίας == Ο λαόν λεει τ' αφκά καικά τα δίστιχα για τον Καλομηνά: :''«Όνταν έρτ΄ ο Καλομηνάς, φυτρώνε τα χορτάρια,'' :''ντ΄ έμορφα επρασίντσανε τα τσόλια τα παρχάρια.»'' :''«Έρθεν ο Καλομηνάς,'' :''γάλαν φά όσον πεινάς.»'' == Συνδέσμ == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:May|Καλομηνάς σα Commons]]''' * '''[[Αρχείον:Wiktfavicon en.svg|16px|Βικιλεξικόν]] [[:el: wikt:Μάιος|Ο Καλομηνάς (Μάιος) σ’ ελλενικόν το Βικιλεξικόν]]''' {{Μήνας‎}} [[Κατηγορίαν:Μήνας|Καλομηνάς]] thizrnbbw9tz3cbt12dfmcpmrjhjtrx Καππαδοκία 0 209 37386 34852 2025-12-20T12:06:52Z Εὐθυμένης 2777 /* Απόθεν επαίραμε τα πληροφορίας */ 37386 wikitext text/x-wiki [[Αρχείον:Asia minor p20.jpg|thumb|Χάρτες τη Μ. Ασίας σα ρωμαϊκά τα χρόναι]] [[Αρχείον:Map of Cappadocia.jpg|thumb|Places of touristic relevance]] Η '''Καππαδοκία''' (τούρκ. ''Kapadokya'') λέγομε τον τόπον τη Μ. Ασίας ντ' ευρίεται σο κέντρον τη [[Τουρκία|Τουρκίας]]. Εν νοτιοδυτικά σον [[Πόντος|Πόντον]]. == Τ' όνεμαν == Τ' όνεμαν «Καππαδοκία» εξέβεν ασο παλαιόν το περσικόν τ' όνεμαν ''Katpatuka'' (''Κατπατούκα'') ντο έχ' τη σημασίαν «η χώρα με τ' έμορφα τ' άλογα».<ref>LexicOrient: [https://web.archive.org/web/20081011233238/http://lexicorient.com/e.o/cappadocia.htm Cappadocia]</ref> == Γεωγραφία == Ο Αντίταυρος αχπάσκεται σο βόρειον τη Καππαδοκίαν, δαβαίν τη χώραν σ' ανατολικά και χωρίζ' τον [[Πόντος|Πόντον]] και την [[Αρμενία|Αρμενίαν]]. Ασ' άλλ τη μερέαν ση δύσαν εν το ψηλόρραχον τη τόπονος ο [[Αργαίος]] (3.917 μ), που χωρίζ' τον Πόντον και την Καππαδοκίαν. == Απόθεν επαίραμε τα πληροφορίας == <references /> == Συνδέσμ' == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:Cappadocia|Η Καππαδοκία σα Commons]]''' [[Κατηγορίαν:Ελλενικόν ιστορίαν|Καππαδοκια]] [[Κατηγορίαν:Τουρκία|Καππαδοκια]] 8jcf8q2mv8o7o04eubmgnydqdeefd03 Καρς 0 210 36739 36573 2025-12-16T08:31:43Z Εὐθυμένης 2777 /* Συνδέσμ' */ 36739 wikitext text/x-wiki [[Αρχείον:Kars Turkey Provinces locator.gif|thumb|230px|Το Καρς σον χάρτεν τη Τουρκίας]] [[Αρχείον:Kars russian architecture.jpg|thumb|230px|Ρουσικόν αρχιτεκτονική σο Καρς]] Το '''Καρς''' (σα τουρκικά: ''Kars'', σ' αζερικά: ''Qars'', σα κούρδικα: ''Qers'', σα γεωργ. ყარსი = ''Qarsi'', σ' αρμενικά: Ղարս = ''Ghars'' ή Կարս) εν πολιτείαν τη [[Τουρκία|Τουρκίας]], σα νοτιοδυτικά τη Καύκασονος. Εν η πρωτεύουσαν τη επαρχίας τη Καρς κι εχ' πληθυσμόν σα 90.000 τ' ανθρώπς. == Ιστορία == Για τ' αβούτον τον τόπον εποίκαν πολέμ οι [[Ρουσία|Ρουσάντ]] με τοι Τουρκάντ. Όντες έντον ο κριμαϊκόν ο πόλεμος η πολιτείαν έτον τουρκικόν, άμαν επαίραν ατέν οι Ρουσάντ σα 24 τ' Αεργί 1855. Με τη συνθήκην τη Παρισί ξαν' έντον τουρκικόν (30 τη Μαρτ 1856).<br /> Σο ρουσοτουρκικόν πόλεμον τη 1877-78 έντον ρουσικόν κι επέμνεν σην Ρουσίαν ους σα 1918 τη χρονίαν. Σα 1878-1918 60.000 Έλλενες αφήγαν ασήν Τουρκίαν κι επήγαν σην πολιτείαν τη Καρς για να ζούν' εκαικά. Σα χωρία τ' επαρχίας επήγανε άλλα 5.000 Έλλενες. Ασα 177 δημοτικά σχολεία τα 55 έσαν ελλενικά. Επίσης η πολιτείαν είχεν δυο ελλενικά εγκλεσίας: το ναόν τη Μεταμόρφωσης του Χριστού και τον Άγιον Γεώργιον. <ref>''Εγκυκλοπαίδεια του ποντιακού ελληνισμού. Ιστορία - λαογραφία - πολιτισμός'', 1988, Τεύχος 2 (Ζ-ΚΡΥ), σελ. 175-176</ref> Με το σοσιαλιστικόν την επανάστασην και τη συνθήκην τη Μπρεστ-Λιτόφσκ σα 3 Μαρτί 1918, τα τοπέα Καρς-Αρταχάν και το Βατούμι εγένταν τουρκικά. Με τη συνθήκην τη Σεβρών (10 Aλωναρί 1920) το Καρς έντον αρμενικόν, άμαν η Τουρκάντ αντιφέρκουσαν και αση συνθήκην τ' Αδριανούπολης (22 Χριστουγενναρί 1920) κι αδά μερέαν εν τουρκικόν.<br /> Σα 1922 τη χρονίαν η [[Ελλάδα]] έχασεν τ' ελλενοτουρκικόν πόλεμον (1919-1922) και με τη συνθήκην τη Λωζάνης (1923) οι Τουρκάντ' έχπασαν τ' Έλλενες χριστιανούς τη Καρς κι εχάτεψαν ατείντζ σην Ελλάδαν ([[Μικρασιατικόν καταστροφή]]). == Αναφοράντας == <div style="font-size:90%;"><references/></div></div> == Βιβλιογραφία == * Μαυρογένους, Στ. 1963 ''Το Κυβερνείον Καρς του Αντικαύκασου''. Θεσσαλονίκη. * Cuinet, V. 1892 ''La Turquie d' Asie''. Paris. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{tr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Τουρκίας|Καρς]] [[Κατηγορίαν:Πόντος|Καρς]] [[Κατηγορίαν:Βικιπαίδεια:Arthron]] ksbo9g76sfwoik1bvz416p3szbmrct1 Κασταμονή 0 211 36741 36575 2025-12-16T08:34:16Z Εὐθυμένης 2777 /* Απόθεν επαίραμε ατά ντ' εγράψαμε */ 36741 wikitext text/x-wiki [[Αρχείον:Kastamonu Turkey Provinces locator.gif|thumb|240px|right|Η Κασταμονή σον χάρτεν τη Τουρκίας]] Η '''Κασταμονή''' (τουρκ. ''Kastamonu'', βυζαντινόν όνεμα: ''Κασταμών'') εν πολιτείαν τη [[Τουρκία|Τουρκίας]] κι ευρίεται σον [[Πόντος|Πόντον]]. Εχ' πληθυσμόν σα 103.340 τ' ανθρώπς(2000). == Τ' όνεμαν == Οριζμένοι ελογαριάζνε πως τ' όνεμα τη πολιτείας έτον «Κάστρον Κομνηνοί» κι επεκεί εξέβεν το «Κασταμονή». Σο βιβλίον την Αλεξιάδαν, η Άννα Κομνηνή λεει την Κασταμονήν «''παππώαν πόλιν''». == Ιστορία == Η πολιτεία εν χτιζμέντζα σα ρίζας είνος ραχί. Σ' αβούτον το ραχίν απάν είχεν έναν κάστρον σα βυζαντινά τα χρόναι. Πριν ασα 1923 τη χρονίας εζήναν εκαικά σα 1.800 [[Ελλάδα|Έλλενες]]. Σα 1379 τη χρονίαν η πολιτείαν επάρθεν ασ' Οθωμανόν το σουλτάνον Βαγιαζίτ Α' (Γιλντιρίμ). == Απόθεν επαίραμε ατά ντ' εγράψαμε == * [http://pontosworld.com/index.php?option=com_content&task=view&id=473&Itemid=90 www.pontosworld.com] - Kastamoni - Κασταμονή - Kastamonu == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{tr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Τουρκίας|Κασταμονη]] [[Κατηγορίαν:Πόντος|Κασταμονη]] 8ynnn670tjgg01z0ih8ak7lyu3jf8h1 Κατσκάρ Νταγ 0 212 37385 31011 2025-12-20T12:06:40Z Εὐθυμένης 2777 /* Απόθεν τα πληροφορίας */ 37385 wikitext text/x-wiki [[Εικόναν:KackarDagi fromNorth hory.jpg|thumb|Το Κατσκάρ Νταγ]] Το '''Κατσκάρ Νταγ''' (τουρκ. ''Kaçkar Dağı'') εν τ' ασ' όλων τρανόν ραχίν σα [[Ποντιακά Παρχάραι|Ποντιακά τα Παρχάραι]] σην [[Τουρκία|Τουρκίαν]]. Ευρίεται σην επαρχίαν τη Ριζούντας κι έχ' ψήλος 3.937 μέτρα.<ref>[http://www.peakbagger.com/peak.aspx?pid=10441 peakbagger.com]</ref> == Γεωγραφία == Σα νότεα δαβαίν' το ποτάμι ο [[Άκαμψης|Άκαμψης]] (Çoruh). Αβούτος εμπαίν' σο [[Μαύρον Θάλασσα|Μαύρον τη Θάλασσαν]] σην ανατολήν, σο γρούζικον την πολιτείαν το [[Βατούμι|Βατούμι]]. Το Κατσκάρ Νταγ εν 40 χμ ασό Μαύρον τη Θάλασσαν κι 70 χμ ασά σύνορα τη [[Γρουζία|Γρουζίας]] (Βατούμι). Τα τούρκικα τα [[Πόντος|ποντιακά]] τα πολιτείας [[Τραπεζούντα|Τραπεζούντα]] και [[Ριζούντα|Ριζούντα]] απέχ'νε ασό ραχίν 70 και 120 χμ. Ασό Κατσκάρ Νταγ ολόερα εχ' σα 400 χμ ψηλορραχέας. Αούτα εν τ' ανατολικόν το κομμάτ' τη Ποντιακών τη Παρχαρίων και σα τούρκικα λέχκεται ''Doğu Karadeniz Dağları''. Τα Ποντιακά τα Παρχάραι δαβαίνε τον Πόντον σα 1000 χμ (τα ραχίατ' εφτάν'νε σα 200 χμ ση χώρας τ' απές μερέαν) κι επέμνε σο Μαύρον τη Θάλασσαν κοντά. == Απόθεν τα πληροφορίας == <references /> == Τερέστεν και == *[[Ποντιακά Παρχάραι|Ποντιακά Παρχάραι]] *[[Μαύρον Θάλασσα|Μαύρον Θάλασσα]] *[[Πόντος|Πόντος]] [[Κατηγορίαν:Ραχία|Κατσκαρ Νταγ]] 4vtoaddfplsf6h0b2i9nkcmbgguzoj0 Κερασινός 0 213 37035 37020 2025-12-16T18:14:34Z Εὐθυμένης 2777 (By [[meta:Indic-TechCom/Tools|FindAndReplace]]) 37035 wikitext text/x-wiki <center> '''Ημέρας Κερασινού''' </center> <center> [[1 Κερασινού|1]] | [[2 Κερασινού|2]] | [[3 Κερασινού|3]] | [[4 Κερασινού|4]] | [[5 Κερασινού|5]] | [[6 Κερασινού|6]] | [[7 Κερασινού|7]] | [[8 Κερασινού|8]] | [[9 Κερασινού|9]] | [[10 Κερασινού|10]] | [[11 Κερασινού|11]] | [[12 Κερασινού|12]] | [[13 Κερασινού|13]] | [[14 Κερασινού|14]] | [[15 Κερασινού|15]] | [[16 Κερασινού|16]] | [[17 Κερασινού|17]] | [[18 Κερασινού|18]] | [[19 Κερασινού|19]] | [[20 Κερασινού|20]] | [[21 Κερασινού|21]] | [[22 Κερασινού|22]] | [[23 Κερασινού|23]] | [[24 Κερασινού|24]] | [[25 Κερασινού|25]] | [[26 Κερασινού|26]] | [[27 Κερασινού|27]] | [[28 Κερασινού|28]] | [[29 Κερασινού|29]] | [[30 Κερασινού|30]] </center> ---- {{ΗμερολόγιοΣεΠίνακα|6}} [[Αρχείον:Cherry Stella444.jpg|thumb|Κεράσαι]] Ο '''Κερασινός''' (σ' ελλενικά: ''Ιούνιος'') εν ο έκτον μήνας τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] κι εχ' 30 ημέρας. == Τ' όνεμα == Σ' αβούτον τον μήναν γίνουνταν τα κεράσαι και για τ' ατό ο μήνας επαίρεν τ' όνεμαν «Κερασινός». == Ο λαόν για τον Κερασινόν == Ο λαόν λεει τ' αφκά καικά τα δίστιχα για τον Κερασινόν: :''«Τη Κερασινού ο ήλον'' :''κοκκινίει σε άμον μήλον.»'' :''«Έρθεν και ο Κερασινόν, θα γίνταν τα κεράσαι.'' :''Παιδάντ' πολλά μη τρώτε ατά, έρχουζνε απ'ν' σην ραχίαν».'' == Συνδέσμ == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:June|Κερασινός σα Commons]]''' * '''[[Αρχείον: Wiktfavicon en.svg|16px|Βικιλεξικόν]] [[:el: wikt:Κερασινόν|Ο Κερασινός (Κερασινόν) σ’ ελλενικόν το Βικιλεξικόν]]''' {{Μήνας‎}} [[Κατηγορίαν:Μήνας|Κερασινός]] tl2om20h4u6bhqs7mrjqvmkdwup8ksu Κερεκήν 0 214 31015 30588 2013-03-07T18:07:39Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 179 interwiki links, now provided by [[d:|Wikidata]] on [[d:q132]] [[M:User:Addbot/WDS|(translate me)]] 31015 wikitext text/x-wiki Η '''Κερεκήν''' (σ' [[Ελλενικόν γλώσσα|ελλενικά]]: ''Κυριακή'') εν το πρώτον ημέρα τ' [[Εβδομάδα|εβδομάδας]]. == Ο λαόν για την Κερεκή == :''«Σήμερον έν’ Κερεκή'' :''στα ολίγον κι επεκεί.»'' :''«Την Κερεκήν που δουλεύ΄,'' :''την Δευτέραν κ΄ αρτουρεύ.»'' == Συνδέσμ == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:Sunday|Κερεκήν σα Commons]]''' * '''[[Αρχείον:Wiktfavicon en.svg|16px|Βικιλεξικόν]] [[:el: wikt:Κυριακή|Η Κερεκήν (Κυριακή) σ’ ελλενικόν το Βικιλεξικόν]]''' {{Πρότυπον:Ημέρας τη εβδομάδας‎}} [[Κατηγορίαν:Ημέρας τη εβδομάδας|Κερεκήν]] ryh0vq1dna0kbmhble5sryu2bdm3h5a Κουρόβ 0 215 34853 34021 2021-08-10T19:07:38Z InternetArchiveBot 8521 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.8 34853 wikitext text/x-wiki [[Αρχείον:KurówPoland.png|thumb|Το Κουρόβ σον χάρτεν τη Πολωνίας]] Το '''Κουρόβ''' (σα πολωνικά: ''Kurów'', εν χωρίον σα ανατολικά τη [[Πολωνία|Πολωνίας]]. Ευρίεται απές σα πολιτείας Πουλάβι (Puławy) και το Λούμπλιν (Lublin), πέραν ασον ποταμόν Kurówka. Ο πληθυσμόν αθέ είν' ασα 2.782 τ' ανθρώπ'ς (30 τη Κερασινού 2006). == Ιστορίαν == Απές σο έτος 1431 και 1442 τη χρονίαν το χωρίον επαίρ' τα δικαιώματα πολιτείας με τον νόμ τη Μαγδεβούργονος κι έντον κέντρον εμπορικόν. Ασο 1795 τη χρονίαν κι επεκεί έτον φελίν τη [[Αυστρία|Αυστρίας]]. Επεκεί ασο 1815 τη χρονίαν έντον ξαν' πολωνικόν. Ασο 1870 τη χρονίαν έντον εκεί η ''Εξέγερσην τη Καλαντάρτ''' κι επεκεί το Κουρόβ έχασεν τα δικαιώματα πολιτείας κι έντον ξαν χωρίον. Ενεπέμ'νεν χωρίον ους οσήμερον. == Σύνδεσμοι == * [https://web.archive.org/web/20070218061412/http://www.kurow.lubelskie.pl/gmina.html Επίσημον σάιτ] [[Κατηγορίαν:Χωρία|Κουρόβ]] [[Κατηγορίαν:Πολωνία|Κουρόβ]] qpfpdxf3wtcws6bo2glddikhporcs3z Κούντουρος 0 216 37055 37016 2025-12-16T18:14:36Z Εὐθυμένης 2777 (By [[meta:Indic-TechCom/Tools|FindAndReplace]]) 37055 wikitext text/x-wiki <center> '''Ημέρας Κούντουρονος''' </center> <center> [[1 Κούντουρονος|1]] | [[2 Κούντουρονος|2]] | [[3 Κούντουρονος|3]] | [[4 Κούντουρονος|4]] | [[5 Κούντουρονος|5]] | [[6 Κούντουρονος|6]] | [[7 Κούντουρονος|7]] | [[8 Κούντουρονος|8]] | [[9 Κούντουρονος|9]] | [[10 Κούντουρονος|10]] | [[11 Κούντουρονος|11]] | [[12 Κούντουρονος|12]] | [[13 Κούντουρονος|13]] | [[14 Κούντουρονος|14]] | [[15 Κούντουρονος|15]] | [[16 Κούντουρονος|16]] | [[17 Κούντουρονος|17]] | [[18 Κούντουρονος|18]] | [[19 Κούντουρονος|19]] | [[20 Κούντουρονος|20]] | [[21 Κούντουρονος|21]] | [[22 Κούντουρονος|22]] | [[23 Κούντουρονος|23]] | [[24 Κούντουρονος|24]] | [[25 Κούντουρονος|25]] | [[26 Κούντουρονος|26]] | [[27 Κούντουρονος|27]] | [[28 Κούντουρονος|28]] | ''[[29 Κούντουρονος|29]]'' </center> ---- {{ΗμερολόγιοΣεΠίνακα|2}} Ο '''Κούντουρος''' άμαν και λέγν'ατόν και '''''Κούντουρον''''' (σ' ελλενικά: ''Φεβρουάριος'') εν ο δεύτερον μήνας τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]]. Τ' όνεμαν ατ' εβγών' ασον μικρόν τ' αριθμόν τ' ημερίων αθέ (κοντόν ουρά). Εν ασ' ολτς μικρόν μήνας κι εχ' 28 ημέρας άμα όντες η χρονίαν εν δίσεκτον έχ' 29. Σ' αρχαίον το [[Ρωμαϊκόν Αυτοκρατορίαν|ρωμαϊκόν]] ημερολόγιον έτον ο τελευταίον ο μήνας. Για τ' ατό σα δίσεκτα χρονίας επαίρνεν τα καινούρ' ημέρας, άμον ντ' επαίρν' ατέν σ' οσημερνόν Γρηγοριανόν ημερολόγιον. == Ο λαόν για τον Κούντουρον == :''«Ο Κούντουρον, ο κούτσουρον, ο ουραδοκομμένον'' :''Εξέβεν και ο Καλαντάρτς σον Κούντουρον θα πάμε,'' :''Αρνί μ' αν 'κ θα έρχεσαι, ασό μεράκ' θα χάμαι.»'' :''«Ο Κούντουρον έν’ λειψός,'' :[[Αρχείον:Patrologia Graeca Vol. 139.pdf|μικρογραφία]]''ποδεδίζω το Χριστός.»'' :''«Ο κούντουρον εν λειφτός εν ολίγον πα ζαντός,'' :''κούντουρον κι γυναικίζνε για να μην ατοίν σερεύνε,'' :''και οι τσεχέλ κι σουμαδεύκουν'' :''τα σουμάδε να μην κλώσκουν.»'' :''«Ο Κούντουρον ο κούτσουρο'' :''και ο πασαλοκάφτες.»'' :''«Ο Κούντουρον φέρ' το κρύον'' :''νασάν 'κείνον π' έχ' το βίο.»'' :''«Έρθεν και ο Κούντουρον'' :''Θα τρως πολλά βούτουρον.»'' :''«Εδέβεν πλάν' ο Κούντουρον, τη Μάρτ' τ' ωτία 'φάνθαν'' :''τα χιόνιε όλα 'λύγανε κι ας σα ραχία 'χάθαν.»'' :''«Η καλή μ' παρχαρεύκεται Κουντούρ' σα Λιβαδία'' :''με τα κρενία κατηβάζ' το γάλα σα χωρία.»'' == Συνδέσμ == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:February|Κούντουρος σα Commons]]''' * '''[[Αρχείον:Wiktfavicon en.svg|16px|Βικιλεξικόν]] [[:el:wikt:Φεβρουάριος|Ο Κούντουρος (Φεβρουάριος) σ' ελλενικόν το Βικιλεξικόν]]''' {{Μήνας‎}} [[Κατηγορίαν:Μήνας|Κουντουρος]] dds3wncmkzi9u9l6jqwqt37h9hw6m0p Κράτος 0 217 35636 34110 2024-03-16T07:47:16Z Thanou 69-72 10610 /* Ευρώπην */ 35636 wikitext text/x-wiki Το '''κράτος''' είν' οργανωμένον πολιτικόν οντότηταν, σε συγκεκριμένον [[Γεωγραφίαν|γεωγραφικόν]] περιοχήν απάν (χώρα). Έχ' κυβέρνησην και νόμ'ς, ντο κανονίζνε την λειτουργείαν ατ'. Η πολιτείαν ντο εν πολιτικόν και διοικητικόν κέντρον ατούν λέχκεται [[πρωτεύουσα]].<br /> Σ' αφκά καικά τον κατάλογον ευρίουνταν τ' ανεξάρτητα τα ντεβλέται ανά ήπειρον. == Ασίαν == Τα κράται τ' [[Ασίαν|Ασίας]]: * [[Εικόναν:Flag of the People's Republic of China.svg|20px]] [[Κίνα]] * [[Εικόναν:Flag of Turkey.svg|20px]] [[Τουρκία]] == Ευρώπην == Τα κράται τ' [[Ευρώπην|Ευρώπης]]: * [[Εικόναν:Flag of Albania.svg|Αλβανία|20px]] [[Αλβανία]] * [[Εικόναν:Flag of Andorra.svg|Ανδόρρα|20px]] [[Ανδόρρα]] * [[Εικόναν:Flag of Austria.svg|20px]] [[Αυστρία]] * [[Εικόναν:Flag of Belgium.svg|20px]] [[Βέλγιον]] * [[Εικόναν:Flag of Bosnia and Herzegovina.svg|20px]] [[Βοσνία και Ερζεγοβίνη]] * [[Εικόναν:Flag of Bulgaria.svg|20px]] [[Βουλγαρία]] * [[Εικόναν:Flag of France.svg|20px]] [[Γαλλία]] * [[Εικόναν:Flag of Germany.svg|20px]] [[Γερμανία]] * [[Εικόναν:Flag of Georgia.svg|20px]] [[Γρουζία]] * [[Εικόναν:Flag of Denmark.svg|20px]] [[Δανία]] * [[Εικόναν:Flag of Switzerland.svg|20px]] [[Ελβετία]] * [[Εικόναν:Flag of Greece.svg|20px]] [[Ελλάδα]] * [[Εικόναν:Flag of Estonia.svg|20px]] [[Εσθονία]] * [[Εικόναν:Flag of Ireland.svg|20px]] [[Ιρλανδία]] * [[Εικόναν:Flag of Iceland.svg|20px]] [[Ισλανδία]] * [[Εικόναν:Flag of Spain.svg|20px]] [[Ισπανία]] * [[Εικόναν:Flag of Italy.svg|20px]] [[Ιταλία]] * [[Εικόναν:Flag of Croatia.svg|20px]] [[Κροατία]] * [[Εικόναν:Flag of Latvia.svg|20px]] [[Λεττονία]] * [[Εικόναν:Flag of Liechtenstein.svg|20px]] [[Λιχτενστάιν]] * [[Εικόναν:Flag of Lithuania.svg|20px]] [[Λιθουανία]] * [[Εικόναν:Flag of Moldova.svg|20px]] [[Μολδαβία]] * [[Εικόναν:Flag of Norway.svg|20px]] [[Νορβηγία]] * [[Εικόναν:Flag of the Netherlands.svg|20px]] [[Ολλανδία]] * [[Εικόναν:Flag of Hungary.svg|20px]] [[Ουγγαρία]] * [[Εικόναν:Flag of Ukraine.svg|20px]] [[Ουκρανία]] * [[Εικόναν:Flag of Portugal.svg|20px]] [[Πορτογαλία]] * [[Εικόναν:Flag of Romania.svg|20px]] [[Ρουμανία]] * [[Εικόναν:Flag of Serbia.svg|20px]] [[Σερβία]] * [[Εικόναν:Flag of North Macedonia.svg|20px]] [[Βόρεια Μακεδονία|Σκόπια]] * [[Εικόναν:Flag of Slovakia.svg|20px]] [[Σλοβακία]] * [[Εικόναν:Flag of Slovenia.svg|20px]] [[Σλοβενία]] * [[Εικόναν:Flag of Sweden.svg|20px]] [[Σουηδία]] * [[Εικόναν:Flag of the Czech Republic.svg|20px]] [[Τσεχία]] == Ωκεανίαν == Τα κράται τ' [[Ωκεανίαν|Ωκεανίας]]: * [[Εικόναν:Flag of Australia.svg|20px]] [[Αυστραλία]] * [[Εικόναν:Flag of New Zealand.svg|20px]] [[Νέα Ζηλανδία]] [[Κατηγορίαν:Κράτη|*]] 8kpawzd93ffkwe1c0ay283m2f5dnm1q Κροατία 0 218 36320 35236 2025-10-11T17:34:23Z Antimuonium 10707 Tag correction 36320 wikitext text/x-wiki {{Πληροφορίας χώρας| |εθνικόν_όνεμαν= <big>Republika Hrvatska</big> |εθνικόν όνεμαν σα ποντιακά = Κροατικόν Δημοκρατία |κοινό_όνομα= Ελλάδα |σημαία = Flag of Croatia.svg |άρθρον σημαίας = Σημαία τη Κροατίας |σύμβολον =Coat_of_arms_of_Croatia.svg |άρθρον συμβολατί = Σύμβολον τη Κροατίας |χάρτες= LocationCroatia.png |εθνικόν_σύνθημαν= |εθνικόν_ύμνος= [[Ljepa naša Domovino]] |επίσημα_γλώσσας= [[Κροατικόν γλώσσα|Κροατικόν]] |πρωτεύουσα και ασ' όλον τρανόν πολιτεία = [[Ζάγκρεμπ]] [[Αρχείον:Coat of arms of Zagreb.svg|20px|]] |συντεταγμένας_πρωτεύουσας= |πολίτευμαν= [[Δημοκρατία]] |τίτλοι_τ' ηγετίων = [[Πρόεδρος]]<br />[[Πρωθυπουργός]] | |ονόματα_τ' ηγετίων = [[Στίπε Μέσιτς]] <br /> [[Ίβο Σάναντερ]] |θέση_έκτασης= 124 |έκταση= 56.548 |ποσοστόν_νερού= %0,01 |εκτίμηση_πληθυσμού= 4.496.869 |χρονία_εκτίμησης_πληθυσμού= Χορτοθέρτς 2004 |πληθυσμός= 4.437.460 |θέση_πληθυσμού= 117 |χρονία_απογραφής_πληθυσμού= 2001 |πυκνότητα_πληθυσμού= 83 |θέση_πυκνότητας_πληθυσμού= 116 |τύπος_κυριαρχίας= [[Ανεξαρτησία]] |γεγονός_κυριαρχίας= - Κηρύχθηκε<br /> - Αναγνωρίστηκε<br /> |ημερομηνίες_κυριαρχίας= <br /> [[25 Μαρτίου]], [[1821]] <br /> [[1828]] <br /> |παράδας = [[Κούνα]] |κωδικός_παράδων = HRK |ώρα_ζώνες= CET |διαφορά_UTC= +1 |θερινόν_UTC= CEST |θερινόν_διαφορά_UTC= +2 |top_level_domain= .hr |κωδικός_τηλεφωνατί= 385 |σημειώσεις= }} Η '''Κροατική Δημοκρατία''', (στα κροατικά: ''Hrvatska'', το επίσημο όνομά της είναι ''Republika Hrvatska'') είναι [[κράτος]] της νοτιο-ανατολικής [[Ευρώπην|Ευρώπης]]. Πρωτεύουσά της είναι το [[Ζάγκρεμπ]] και πρόεδρός της είναι ο [[Στίπε Μέσιτς]]. Η χώρα έχει πληθυσμό 4.496.869. == Γεωγραφία == Η Κροατία ευρίσκεται στην [[Αδριατικόν θάλασσα|Αδριατική θάλασσα]], ανάμεσα στη [[Σλοβενία]], στην [[Ουγγαρία]], στη [[Σερβία]], στη [[Βοσνία και Ερζεγοβίνη|Βοσνία- Ερζεγοβίνη]] και στο [[Μαυροβούνιο]]. Άλλες μεγάλες πόλεις της είναι η [[Πούλα]] και η [[Ριέκα]]. == Ιστορία == === Παλαιά Ιστορία === Τα πρώτα οικισμούς τη Δαλματίας εποίκαν ατά Ίωνες [[Ελλάδα|Έλλενες]] σο 12ο/11ο αιώναν π.Χ. (λ.χ. τ' οσημερνόν [[Σπλιτ]] είχεν τόνεμα «Ασπάλαθος»). Σα 34 π.Χ. τη χρονίαν και με την αφεντίαν τ' [[Αύγουστος|Αύγουστονος]] έντον κομμάτ' τη [[Ρωμαϊκόν αυτοκρατορίαν|Ρωμαϊκού τη αυτοκρατορίας]] κι επεκεί τη [[Ρωμανίαν|Βυζαντινού τη Αυτοκρατορίας]].<br /> Σον 7ον αιώναν ο Βασιλέας τη Ρωμαίων [[Ηράκλειος]] έφερε τοι Κροατάντ σ' οσημερνόν τη πατρίδαν ατεινών για να εφτάνε γιαρτίμ τοι Ρωμαίοις σον πόλεμον κατά τ' Αβαράντ. === Σύγχρονη Ιστορία === Σα 1918 τη χρονιά οι Κροατάντ ένταν ένα με τοι Σερβάντ και τοι Σλοβενάντ κι εποίκαν εντάμαν κενούρεον πολυεθνικόν ντεβλέτι, το «Βασίλειον τη Σερβίων, τη Κροατίων και τη Σλοβενίων». Ατό το κράτος επαίρεν σα 1929 τη χρονίαν τ' όνεμα «Γιουγκοσλαβία». Μετά τα 1945 έντον κομμουνιστικόν χώραν και η Κροατίαν έντον μιαν ασα Δημοκρατίας ατ'ς. Σα 1991 τη χρονίαν ερχίνεσε τρανόν πόλεμος ανεξαρτησίας (Μαρτς 1991 – 7 Αύγουστονος 1995). Η Γιουγκοσλαβίαν εταγουτεύτεν κι επεκεί οι Κροατάντ εποίκαν τ' ατεινών τ' ανεξάρτητον κράτος, το «Κροατικόν τη Δημοκρατίαν». == Σύνδεσμοι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Croatia|Η Κροατίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Κροατία|Η Κροατίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Croatia|Χάρτες ασην Κροατίαν]]''' * [https://web.archive.org/web/20090420021935/http://de.mfa.hr/?mh=172&mv=991 Το επίσημον ο ιστοτόπον τη κροατικού Υπουργεί σα εξ μερέαν] {{Πρότυπον:Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Κροατία]] [[Κατηγορίαν:Ευρώπη|Κροατία]] [[Κατηγορίαν:Βαλκάνια|Κροατία]] [[Κατηγορίαν:Κροατία| ]] o0uqade9rynoema8fejfhvajbfaisee Κυβέρνηση Κωνσταντίνονος Α. Καραμανλή 2007 0 219 36194 36096 2025-03-26T15:59:16Z 79.107.89.117 36194 wikitext text/x-wiki Τ' οσημερνόν την '''κυβέρνησην τ' [[Ελλάδα|Ελλάδας]]''' εσχημάτισεν ατέναν ο πρωθυπουργός [[Κωνσταντίνος Καραμανλής|Κωνσταντίνος Καραμανλής]], πρόεδρος τη [[Νέα Δημοκρατίαν|Νέας Δημοκρατίας]] τσίγκι ενίκεσεν τα βουλευτικά τα εκλογάς τη [[16 Σταυρί|16 Σταυρί]] [[2007|2007]]. Επαίρεν ατότες έναν ποσοστόν 41,84% και 152 έδρας τη βουλής. Ο Πρόεδρος τη Δημοκρατίας, ο [[Κάρολος Παπούλιας|Κάρολος Παπούλιας]] έδωκενατον την εντολήν νεφτάει κυβέρνησην σα 17 τη Σταυρί κι εποίκεν όρκον σα 19 τη Σταυρί, με το καινούρεον την κυβέρνησήνατ εντάμαν. == Σύνθεση τη Κυβέρνησης == Τ' οσημερνόν η Κυβέρνηση τ' Ελλάδα εν: *Πρωθυπουργός [[Κωνσταντίνος Καραμανλής|Κώστας Καραμανλής]] * Υπουργείον απές μερέαν ** Υπουργός Προκόπης Παυλόπουλος ** Υφυπουργός για τη Δημόσιαν την Τάξην Παναγιώτης Χηνοφώτης ** Υφυπουργός Αθανάσιος Νάκος ** Υφυπουργός Χρήστος Ζώης * Υπουργείον Οικονομίας και Οικονομικών ** Υπουργός Γιώργος Αλογοσκούφης ** Υφυπουργός Γιάννης Παπαθανασίου ** Υφυπουργός Αντώνιος Μπέζας ** Υφυπουργός Νίκος Λέγκας * Υπουργείον σα εξ μερέαν ** Υπουργός σα εξ μερέαν [[Ντόρα Μπακογιάννη|Ντόρα Μπακογιάννη]] ** Υφυπουργός Γιάννης Βαληνάκης ** Υφυπουργός Θεόδωρος Κασσίμης ** Υφυπουργός Πέτρος Δούκας * Υπουργείον τ' Εθνικού τ' Άμυνας]] ** Υπουργός Ευάγγελος Μεϊμαράκης ** Υφυπουργός Κωνσταντίνος Τασούλας ** Υφυπουργός Γιάννης Πλακιωτάκης * Υπουργείον Ανάπτυξης ** Υπουργός Χρήστος Φώλιας ** Υφυπουργός Γιώργος Βλάχος ** Υφυπουργός Σταύρος Καλαφάτης * Υπουργείον Περιβάλλοντος, Χωροταξίας και τη Δημοσίων τ' Εργίων]] ** Υπουργός Γεώργιος Σουφλιάς ** Υφυπουργός Σταύρος Καλογιάννης ** Υφυπουργός Θεμιστοκλής Ξανθόπουλος * Υπουργείον τ' Εθνικού τη Παιδείας και τη Θρησκευματίων ** Υπουργός Ευριπίδης Στυλιανίδης ** Υφυπουργός Ανδρέας Λυκουρέτζος ** Υφυπουργός Σπύρος Ταλιαδούρος * Υπουργείον Απασχόλησης και τη Κοινωνικού τη Προστασίας ** Υπουργός Φάνη Πάλλη-Πετραλιά (19 Σταυρί ους 15 Χριστουγενναρί Βασίλης Μαγγίνας) ** Υφυπουργός Σοφία Καλαντζάκου * Υπουργείον Υγείας και τη Κοινωνικού τη Αλληλεγγύης ** Υπουργός Δημήτρης Αβραμόπουλος ** Υφυπουργός Γιώργος Παπαγεωργίου ** Υφυπουργός Γιώργος Κωνσταντόπουλος * Υπουργείον Αγροτικού Ανάπτυξης και Φαϊων ** Υπουργός Αλέξανδρος Κοντός ** Υφυπουργός Κώστας Κιλτίδης * Υπουργείον Δικαιοσύνης ** Υπουργός Σωτήρης Χατζηγάκης * Υπουργείον Πολιτισμού ** Υπουργός Μιχάλης Λιάπης ** Υφυπουργός (θέματα Αθλητισμού) * Υπουργείον Μεταφορών και Επικοινωνιών ** Υπουργός Κώστας Χατζηδάκης * Υπουργείον Εμπορικής Ναυτιλίας και Νησιωτικής Πολιτικής ** Υπουργός Γιώργος Βουλγαράκης * Υπουργείον τη Τουριστικού τ' Ανάπτυξης ** Υπουργός Άρης Σπηλιωτόπουλος * Υπουργείον Μακεδονίας - Θράκης ** Υπουργός Μαργαρίτης Τζίμας ** Υπουργός Επικρατείας και Κυβερνητικόν Εκπρόσωπος Θόδωρος Ρουσόπουλος == Συνδέσμ == * [https://web.archive.org/web/20090219201435/http://www.ggk.gr/goverments.php?ord=num Κατάλογος όλων των ελληνικών κυβερνήσεων από το 1909 από τη Γενική Γραμματεία της Κυβέρνησης] * [https://web.archive.org/web/20061007125609/http://www.primeminister.gr/gr/government.asp Η Κυβέρνηση] [[Κατηγορίαν:Πολιτικήν|Κυβερνηση 2007]] 1ktv27eitm8gcwsfwq7s8ows6fx6y3w Κωνσταντίνος Καραμανλής 0 220 35350 34855 2023-02-23T20:05:38Z 91.140.27.48 35350 wikitext text/x-wiki {| border=1 cellpadding=4 cellspacing=0 class="toccolours" style="float: right; width: 250px; clear: both; margin: 0.5em 0 1em 1em; border-style: solid; border:1px solid #7f7f7f; border-right-width: 2px; border-bottom-width: 2px; border-collapse: collapse; font-size: 100%;" |+<big>'''Κωνσταντίνος Α. Καραμανλής'''</big> |- | style="background:lightsteelblue" align="center" colspan="2" | [[Αρχείον:Kostas Karamanlis 2009 (cropped).jpg|359x359εσ]] |- |'''Δημόσιον λειτούργημαν:''' |Πρωθυπουργόν τη Ελλάδας |- |'''Εγεννέθεν:''' |[[14 Σταυρί|14 τη Σταυρίτε]], 1956 |- |'''Εγεννέθεν σην:''' |[[Αθήνα|Αθήναν]] [[Εικόναν:Flag of Greece.svg|20px]] |- |'''Πολιτικόν Κόμμαν:''' |Νέα Δημοκρατίαν |} Ο '''Κωνσταντίνος τη Αλέξανδρονος Καραμανλής''' (''Κώστας Καραμανλής'', εγεννέθεν σα [[14 Σταυρί|14 τη Σταυρίτε]] 1956) εν παλαιόν [[Πρωθυπουργόν]] τ' [[Ελλάδα|Ελλάδας]] (2004-2009). Σα 1997 τη χρονίαν εψήφσαν ατόν πρόεδρον τη [[Νέα Δημοκρατία|Νέας Δημοκρατίας]], υστερνά ασή μιαν προεδρικήν εκλογήν τη Μιλτιάδη Έβερτ. Σα [[7 Μαρτί|7 τη Μαρτ]] 2004 εξέβεν Πρωθυπουργόν. Σα [[16 Σταυρί|16 τη Σταυρίτε]] 2007 εψήφσαν ατόν ξαν Πρωθυπουργόν. Ο Κωνσταντίνος Καραμανλής εν ασ' ολτς μικρόν ασ' εγένονταν πρωθυπουργοί τ' Ελλάδας<!-- κ' ο μαναχόν (με τον [[]]) τ' εγεννέθεν υστερνά ασόν Β' Παγκόσμιον Πόλεμον-->. Σα 1998 τη χρονίαν υπάντρεψεν κι εγυναίκ'σεν τη Νατάσσαν τη Παζαΐτη. Εποίκαν χάταλα δίδυμα σα 2003 τη χρονίαν, τ' Αλέξανδρον και τ' Αλίκην. == Συνδέσμ == * [http://www.primeminister.gr/index.php?option=content&task=view&id=1000 Βιογραφικό σημείωμα στον επίσημο δικτυακό τόπο του Πρωθυπουργού] (ελλ) * [https://web.archive.org/web/20080515150042/http://www.parliament.gr/synthesh/mp.asp?MPID=605 Σελίδα στον δικτυακό τόπο της Βουλής] (ελλ) * [http://www.nd.gr/index.php?option=com_content&task=view&id=31&Itemid=47 Νέα Δημοκρατία - ο Πρόεδρος] (ελλ) [[Κατηγορίαν:Πολιτικός (Ελλάδα)|Καραμανλης, Κωνσταντινος]] n65rxto9g1tpn3koydi104dm135ndlx Κότσαρι 0 221 34930 34856 2021-09-27T16:37:34Z InternetArchiveBot 8521 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.8.1 34930 wikitext text/x-wiki Το '''κότσαρι''' εν πολλά γνωστόν χορόν τη [[Πόντος|Πόντονος]]. Είν' αληγορτόν κι εχ' κεφ'. Ο ρυθμόν τη [[Μουσικήν|μουσικής]] ατ' εχ' απλόν μορφήν ους δίσημον (2/4), άμον ντ' έχν' ατόν κι άλλα ποντιακά χορόντας. Σα παλαιά τα χρόναι το κότσαρι το χορεύανε τ' αγούρτς μαναχόν. == Ιστορία == Αβούτον τον χορόν εχόρευαν ατόν σ' ανατολήν τη Πόντονος: σο [[Καρς|Καρς]], σην [[Αργυρούπολη|Αργυρούπολην]], σο [[Παϊπούρτ|Παϊπούρτ]] και σον [[Καύκασος|Καύκασον]]. Έτον γνωστός ακόμαν και σην περιοχήν τη [[Ματσούκα|Ματσούκας]]. == Σύνδεσμοι == *[https://web.archive.org/web/20070130102059/http://www.see.ed.ac.uk/~s0239622/Library/Kotsari_el.htm Πληροφορίας και ανάλυση] *Κότσαρι (μουσική) - [https://web.archive.org/web/20070929150649/http://www.scimitarmusic.com/pontos/grigoris.mp3 Ποντιακόν], [https://web.archive.org/web/20070630092123/http://hem.bredband.net/b218823/kochari.mp3 αρμενικόν], [https://web.archive.org/web/20070809163753/http://www.qeenatha.com/music/Assyrian%20Folk%20Dance%20-%201961/Assyrian%20Folk%20Dances%20-%2013%20-%20Kochari.mp3 συριακόν], [https://web.archive.org/web/20070927000012/http://www.artvin.gov.tr/h-ezgi/Akordiyon/kocari.MP3 τουρκικόν] *Κότσαρι (χορός) - [https://web.archive.org/web/20121016041345/http://www.pontian.info/dance/kotsari.htm Ποντιακόν εκδοχή], [http://www.youtube.com/watch?v=juUnB1ex4Jg αρμενικόν εκδοχή] [[Κατηγορίαν:Χορός|Κοτσαρι]] [[Κατηγορίαν:Μουσική|Κοτσαρι]] ivtst1q37tp984xda5o1z35pqqcqy4n Κώστας Τοπχαράς 0 222 8441 8440 2009-09-08T11:31:45Z ZaDiak 10 8441 wikitext text/x-wiki Ο '''Κώστας Τοπχαράς''' (το πλήρες όνεμαν τοποίου εν Γιάγκος Λάμπου Κανονίδης - Τοπχαράς) έτον γνωστός ποιητής-σατιρικός ([[1889]] - [[1938]]) υπό τα ψευδώνυμα Δάμων Εριστέας, Ανατολίτης, Μαχαράνον. ==Βιογραφικό== Ο Τοπχαράς εγεννέθεν το 1889. Έτον ξάδεργος τ' γνωστού θεατρικού Βασίλη Κανονίδη. Έγνε γνωστός επειδή δούλευεν σην πιο τρανήν εφημερίδαν τς [[ΣΣΣΔ]] την "Κομυνιςτις" η οποία έτον ο πιο τρανός ελληνοσοβιετ' εκδοτικός οικός με έδρα τ' Ροστόβ. Σον "Κομυνιςτι" έτον από τ' βασικότερα στελέχη ση δεκαετίαν τ' 1930. Εχ' γράψ' πολλά έργαν τα οποία εν επηρεασμένα απ' τον σοσιαλιζμόν. Εχ' επίσης γραψ' κ' τη "Γραμματική τς Πονταίικης διαλέκτου". Επέθανεν το 1938. ==Έργα== Γνωστά τ' έργαν εν: *«Ματσουκάτκον Χαρά», κομοδία ςε διο μέρι, φωνητική, μονοτονικό, Τραπεζούς 1910. *«Το Σιμβύλιο Σινεδριάζι», κομοδία μονόπρακτη. *«Το Γράμα τυ Παπά», δράμα, φωνητική. *«Οτςκο», κομοδία μονόπρακτι. *«Τα Μαΐας», «Ο Μικταρτς τι Χοριεμυν», «Καςκαμα Μυρδυλιζματα» μονόπρακτα. *«Ι Επαναστασι στι Γλοσα. Ι Κιδια τις Καθαρεβυςας», οπερέτα ςε τρις πρακςις Νοβοροςιςκ 1927. ==Συνδέζμαι== *[[oldwikisource:Γραμματικι Τοπχαρα|Γραμματική της Ποντιακής διαλέκτου]] [[Κατηγορίαν:Συγγραφέοι]] tuk2urmdail1iy67jwby7ablokkqf9d Λιχτενστάιν 0 223 35938 32408 2024-10-26T05:26:44Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35938 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Λιχτενστάιν'''</big></big><br/>''Fürstentum Liechtenstein'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Liechtenstein.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Liechtenstein.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Location Liechtenstein Europe.png|300px]] |} Το '''Λιχτενστάιν''' (σα γερμανικά: ''Fürstentum Liechtenstein'') είναι τζιπ μικρόν [[κράτος]] σο κέντρον τη [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν η [[Βαντούζ]] και ο πρωθυπουργόν ατ' εν ο [[Ότμαρ Χάσλερ]]. Ο πληθυσμόν τη χώρας είν' ασα 32.528 τ' ανθρώπ'ς. == Γεωγραφίαν == Το Λιχτενστάιν ευρίεται απές σην [[Αυστρία|Αυστρίαν]] και την [[Ελβετία|Ελβετίαν]]. Ευρίεται σα Άλπεις απάν. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Liechtenstein|Το Λιχτενστάιν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Λιχτενστάιν|Το Λιχτενστάιν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Liechtenstein|Χάρτες ασο Λιχτενστάιν]]''' * [http://www.liechtenstein.li/ Το επίσημον ο ιστοτόπον τη Λιχτενστάιν] {{Πρότυπον:Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Λιχτενστάιν]] [[Κατηγορίαν:Ευρώπη|Λιχτενστάιν]] [[Κατηγορίαν:Λιχτενστάιν| ]] 8fquvkq5319a18u9fba4ri15ihvckbv Λουξεμβούργο 0 224 35844 34207 2024-10-26T05:21:03Z Minorax 7522 35844 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Λουξεμβούργο'''</big></big><br/>''Groussherzogtum Lëtzebuerg'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Luxembourg.svg|125px]] | align="center" width="140px" | |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Luxembourg.svg|300px]] |} Το '''Λουξεμβούργον''' (σα λουξεμβουργιανά ''Groussherzogtum Lëtzebuerg'') εν [[κράτος]] σην δυτικήν [[Ευρώπην]]. Πρωτεύουσαν ατ'ς εν το [[Λουξεμβούργο (πόλη)|Λουξεμβούργον]] και ο πρωθυπουργόν ατ'ς εν ο [[Σαβιέ Μπετέλ]]. Ο πληθυσμόν τη χώρας είν' ασα 480.222 (2007) τ' ανθρώπ'ς. == Γεωγραφίαν == Το Λουξεμβουργόν ευρίεται απεσκέσ' ση [[Γαλλία|Γαλλίαν]], ση [[Γερμανία|Γερμανίαν]], και σο [[Βέλγιον]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Luxembourg|Το Λουξεμβούργον σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Λουξεμβούργο|Το Λουξεμβούργον σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Luxembourg|Χάρτες ασο Λουξεμβούργον]]''' * [http://www.gouvernement.lu/ Το επίσημον ο ιστοτόπον τη κυβέρνησης τη λουξεμβούργονος] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Λουξεμβούργον]] [[Κατηγορίαν:Ευρώπη|Λουξεμβούργον]] [[Κατηγορίαν:Λουξεμβούργο| ]] ns2j5l4dp3bc8ji672rfk2qiqvwxjee Λουτροχώρ 0 225 37384 37218 2025-12-20T12:06:24Z Εὐθυμένης 2777 /* Αναφοράντας */ 37384 wikitext text/x-wiki {| style="float:right; clear: right; width: 20em; font-size: 85%; text-align: left; border: 1px solid #aaaaaa; border-right-width: 2px; border-bottom-width: 2px; background-color: #f9f9f9; margin-bottom: 0.5em; margin-left: 1em;" cellspacing="4" cellpadding="1" |- {| class="infobox" cellpadding="3" cellspacing="1" style="float: right; width: 280px; font-size: 90%; background-color: lightlightgrey; margin-left: 1em;" |- ! colspan="2" class="hiddenStructureLoutrochori" style="font-size: 110%; background-color: lightsteelblue;" | <span style="float: left;">[[Εικόναν:Flag of Greece.svg|40px|Ελλάδα]]</span><span style="float:right;">[[Εικόναν:Flag of Greek Macedonia.svg|45px|Μακεδονία]]</span><center><big><big>'''Λουτροχώρ'''</big><br>(el: Λουτροχώρι)</big></center> |- | colspan="2" | {| style="text-align: center; margin: 0 auto; background: none;" |- | style="border: 0; vertical-align: middle;" | <span style="border: 1px solid #bbbbbb; display: table-cell;">[[Εικόναν:Agii_Pantes_Loutrochori.jpg|250px|center]]</span> |- | colspan="2" style="border-top: solid 1px #ccd2d9; padding: 0.4em 1em 0.4em 0; vertical-align: top; text-align: center; font-size: 85%;" | Η τρανέσα εκκλησία τη χωρή, Άγιοι Πάντες. |} |- | colspan="2" style="border-bottom: 5px solid lightsteelblue; font-size: 10%;" | &nbsp; |- | '''[[Χώραν|Κράτος]]''': || '''<big>[[Ελλάδα|Ελλάδαν]]</big>''' |- | [[Γεωγραφικά τοπία τη Ελλάδας|Γεωγρ. τοπία]]: || [[Μακεδονία]] |- | [[Περιφέρειας τη Ελλάδας|Περιφέρειαν]]: || [[Κεντρικόν Μακεδονία]] |- | [[Νομία τη Ελλάδας|Νομός]]: || [[Νομός Πέλλας|Πέλλας]] |- | [[Πληθυσμός|Πληθυσμόν (ανθρώπς)]]: || 466 {{#if: 2001 |<small>(2001<ref name="Greek-01"><small>Απογραφή 2001. Εθνική Στατιστική Υπηρεσία Ελλάδος (ΕΣΥΕ), ([http://web.archive.org/web/20090318065626/http://www.statistics.gr/gr_tables/S1101_SAP_1_TB_DC_01_03_Y.pdf PF GR-591109 02:Λουτροχώρι, 466 κάτοικοι] 875 KB)</small></ref>)</small> }} |- | [[Έκτασην|Έκτασην (τρανόν)]]: ''|| 7,506 [[Τετραγωνικόν χιλιόμετρον|χμ²]] |- class="hiddenStructure118" style="vertical-align: top;" | [[Πυκνότητα τη πληθυσμού|Πυκνότητα πληθυσμού]]: || 62 κάτοικοι/χμ² |- | [[Υψόμετρο|Υψόμετρον]] <small>(Μέσο)</small>: || 90 [[M|μ.]] |- | [[Γεωγραφικές συντεταγμένες|Γεωγρ. συντ.]]: || <small> </small><br />40°43'23.02" Β. (Πλάτος)<br /> 22°'06'33.01" A. (Μήκος) |- | [[Κατάλογον τη ταχυδρομικών κωδίκων τη Ελλάδας|Κωδικός ταχυδρομί]]: || 585 00 |- | [[Τηλεφωνί κωδικοί τη Ελλάδας|Κωδικός τηλεφωνατί]]: || (0030) 23810 - 7**** |- | [[Ελλενικά αμαξί ταπέλας|Αμαξί ταπέλας]] : || '''EE''' |- | [[Τοπικόν διοικητικόν νούμερον|Τ.Δ.Ν. (LAU)]]: || GR-591109 02<ref name="Greek-01"/> |- | Διεύθυνση Δήμονος : || <small>Εθνικής Αντίστασης 20 </small> <br /> <small>(58500 Δήμος [[Σκύδρα|Σκύδρας]])</small> |- | Δικτυακός τόπος: || <small>[http://dim-loutroch.pel.sch.gr/ Δημοτ. σχολ. Λουτροχωρί]</small><br /><small>[http://nip-loutroch.pel.sch.gr/ Νηπιαγωγείο Λουτροχωρί]</small> |} |- |} Το '''Λουτροχώρ''' (σα [[Ελλενικόν γλώσσα|ελλενικά]]: ''Λουτροχώρι'', ''Λουτροχώριov'' 'κι ''Μπάνια'', οξουκά: ''Loutrochori'') έν [[Ελλάδα|ελλενικόν]] [[χωρίον]] ντ' ευρίεται σον [[Δήμος Σκύδρας|Δήμoν Σκύδρας]], σην αφκά μερέα τη [[Νομός Πέλλας|νομού Πέλλας]] σο [[Κεντρικόν Μακεδονία|Κεντρικόν]] κομμάτ τη [[Μακεδονία|Μακεδονίας]]. == Γεωγραφίαν == Εν χτισμένον σουμά σο ρασήν Kάμπερ, σο συνόρ τη νομού [[Νομός Πέλλας|Πέλλας]] με ατόν τη [[Νομός Ημαθίας|Ημαθίας]] και ευρίεται σε μέσον υψόμετρον σα 90 μέτρα<ref name="Dimos Skidras-01"><small>Συγκριτικά στοιχεία απογραφών, ετών 1951-2001, του Δήμου Σκύδρας.</small></ref> απάν ασή θάλασσαν. === Κλίμαν === Το τοπικό [[κλίμα|κλίμαν]] εν μεσογειακόν [[εύκρατο κλίμα|εύκρατο κλίμαν]], με ελαφρά, βροςχερά χειμωγκόνας και τσιπ ξεράν 'κ χασεφτάν Θέρους. {| class="wikitable" style="font-size:80%;width:64%;border:0px;text-align:center;line-height:120%;" ! style="background: #99CCCC; color: #000080" height="17" |Μήνας ! style="background: #99CCCC; color:#000080;" | Χρονία ! style="background: #99CCCC; color:#000080;" | [[Καλαντάρτς|Καλ]] ! style="background: #99CCCC; color:#000080;" | [[Κούντουρος|Κου]] ! style="background: #99CCCC; color:#000080;" | [[Μαρτς|Μαρ]] ! style="background: #99CCCC; color:#000080;" | [[Απρίλτς|Απρ]] ! style="background: #99CCCC; color:#000080;" | [[Καλομηνάς|Καλ]] ! style="background: #99CCCC; color:#000080;" | [[Κερασινός|Κερ]] ! style="background: #99CCCC; color:#000080;" | [[Χορτοθέρτς|Χορ]] ! style="background: #99CCCC; color:#000080;" | [[Αλωνάρτς|Αλω]] ! style="background: #99CCCC; color:#000080;" | [[Σταυρίτες|Στα]] ! style="background: #99CCCC; color:#000080;" | [[Τρυγομηνάς|Τρυ]] ! style="background: #99CCCC; color:#000080;" | [[Αεργίτες|Αερ]] ! style="background: #99CCCC; color:#000080;" | [[Χριστουγεννάρτς|Χρι]] |- ! style="background: #99CCCC; color:#000080;" |Μέσο τρανόν θερμ. °C (°F) ! style="background: #FFCC66; color:#000080;" | '''19,5''' (67) ! style="background: #FFFF99; color:#000080;" | '''7''' (44) ! style="background: #FFFF99; color:#000080;" | '''9''' (48) ! style="background: #FFCC66; color:#000080;" | '''14''' (57) ! style="background: #FFCC66; color:#000080;" | '''18''' (64) ! style="background: #FFCC00; color:#000080;" | '''24''' (75) ! style="background: #FF9900; color:#000080;" | '''29''' (84) | style="background: #FF9900; color:#000080;" | '''31''' (88) ! style="background: #FF9900; color:#000080;" | '''32''' (90) ! style="background: #FFCC00; color:#000080;" | '''27''' (81) ! style="background: #FFCC00; color:#000080;" | '''22''' (71) ! style="background: #FFFF66; color:#000080;" | '''14''' (55) ! style="background: #FFFF99; color:#000080;" | '''8''' (46) |- ! style="background: #99CCCC; color:#000080;" height="16;" |Μέσο χάταλον θερμ. °C (°F) ! style="background: #FFFF66; color: black;" | '''10''' (50) ! style="background: #FFFFCC; color: black;" | '''1''' (34) ! style="background: #FFFFCC; color: black;" | '''3''' (37) ! style="background: #FFFF99; color: black;" | '''6''' (43) ! style="background: #FFFF99; color: black;" | '''8''' (47) ! style="background: #FFFF66; color: black;" | '''12''' (54) ! style="background: #FFCC00; color: black;" | '''17''' (62) ! style="background: #FFCC00; color: black;" | '''19''' (66) ! style="background: #FFCC00; color: black;" | '''18''' (64) ! style="background: #FFFF66; color: black;" | '''15''' (59) ! style="background: #FFFF66; color: black;" | '''12''' (54) ! style="background: #FFFF99; color: black;" | '''6''' (43) ! style="background: #FFFFCC; color: black;" | '''3''' (37) |- ! style="background: #99CCCC; color: #000080;" height="17" |'''Βροςχία σε mm''' ! style="background: #66CCFF; color: black;" | 470 (<small>'''39,2''' / μήνα</small>) ! style="background: #66CCFF; color: black;" | '''43''' ! style="background: #0033FF; color: black;" | '''51''' ! style="background: #66CCFF; color: black;" | '''45''' ! style="background: #66FFFF; color: black;" | '''35''' ! style="background: #66CCFF; color: black;" | '''41''' ! style="background: #80FFFF; color: black;" | '''28''' ! style="background: #80FFFF; color: black;" | '''27''' ! style="background: #80FFFF; color: black;" | '''23''' ! style="background: #66FFFF; color: black;" | '''34''' ! style="background: #66CCFF; color: black;" | '''39''' ! style="background: #0033FF; color: black;" | '''51''' ! style="background: #0033FF; color: black;" | '''53''' |- | colspan="14" style="text-align:center;font-size:90%;"|''Ασά: [http://www.fallingrain.com/world/GR/7/Loutrochorion.html Fallingrain] , [http://www.freemeteo.com/default.asp?pid=15&la=2&gid=735366 Freemeteo] 'κι [http://www.multimap.com/map/browse.cgi?scale=100000&lon=22.1091666667&lat=40.7230555556 Multimap]'' |} {| align="center" class="toccolours" cellspacing="3" |- ! colspan="3" bgcolor="#ddeef8" align="center" | '''Τα χωρία ολόερα''' |- | align="center" style="font-size: 90%;" colspan="3"| |- {| width ="90%" border = 1 align="center" |- | width ="33%" align="center" | [[Καισαριανά Πέλλας|Καισαριανάν]], [[Φλαμουριά Πέλλας|Φλαμουριάν]] | width ="34%" align="center" | [[Σεβαστιανά Πέλλας|Σεβαστιανάν]], [[Ριζάρ Πέλλας|Ριζάρ]] | width ="33%" align="center" | [[Ριζόν Πέλλας|Ριζόν]], [[Σκύδρα|Σκύδραν]] |- | width ="33%" align="center" | [[Αία Φωτεινή Πέλλας|Αίαν Φωτεινήν]], [[Πολλά Νερά Ημαθίας|Πολλά Νεράν]] | width ="34%" align="center" | {| style="float:center; background-color:transparent;" |[[Εικόναν:Brosen windrose el.svg|100px]] |} | width ="33%" align="center" | [[Πετριά Πέλλας|Πετριάν]], [[Αρσέν Πέλλας|Αρσένι]] |- | width ="33%" align="center" | [[Ροδοχώρ Ημαθίας|Ροδοχώρ]], [[Γιαννακοχώρ Ημαθίας|Γιαννακοχώρ]] | width ="34%" align="center" | [[Μαρίνα Ημαθίας|Μαρίναν]], [[Λευκάδε Ημαθίας|Λευκάδεν]] | width ="33%" align="center" | [[Πλεύρωμα Πέλλας|Πλεύρωμαν]], [[Επισκοπή Ημαθίας|Επισκοπήν]] |} |} == Αναφοράντας == <references /> == Συνδέζμαι == * [http://www.indexmundi.com/z/?lat=40.7230556&lon=22.1091667&t=p&r=6340&p=loutrochorion&cc=gr&c=greece To Λουτροχώρ ασό διάστημαν] [[Κατηγορίαν:Μακεδονία|Λουτροχώρ]] [[Κατηγορίαν:Χωρία]] 3j20imcsy0fkgw0fmjd7aop0pfj4jyw Μάλτα 0 226 37383 37186 2025-12-20T12:06:10Z Εὐθυμένης 2777 /* Αναφοράντας */ 37383 wikitext text/x-wiki {{Πληροφορίας χώρας| |εθνικόν_όνεμαν= <big>Repubblika ta' Malta</big> |εθνικόν όνεμαν σα ποντιακά = Δημοκρατία της Μάλτας |κοινόν_όνεμαν= Μάλταν |σημαία = Flag of Malta.svg |άρθρον σημαίας = Σημαία τη Μάλτας |σύμβολον = Coat of arms of Malta.svg |άρθρον συμβολατί = Σύμβολον τη Μάλτας |χάρτες= Location Malta EU Europe.png |εθνικόν_σύνθημαν= |εθνικόν_ύμνος= [[Ύμνος τη Μάλτας|{{polytonic|Ύμνος τη Μάλτας (L-Innu Malti)}}]] |επίσημα_γλώσσας= [[Μαλτέζικόν γλώσσα|Μαλτέζικον]], [[Αγγλικόν γλώσσα|Αγγλικόν]] |πρωτεύουσα και ασ' όλον τρανόν πολιτεία = [[Βαλλέτα]] |συντεταγμένας_πρωτεύουσας= |πολίτευμαν= [[Δημοκρατία]] |τίτλοι_τ' ηγετίων = <br />[[Πρόεδρος της Δημοκρατίας|Πρόεδρον της Δημοκρατίας]]<br />[[Πρωθυπουργός|Πρωθυπουργόν]] | |ονόματα_τ' ηγετίων = [[Έντουαρντ Φένετς Αντάμι]] <br /> [[Λόρενς Γκόνζι]] |θέση_έκτασης= 185 |έκταση= 316 |ποσοστόν_νερού= %0,001 |εκτίμηση_πληθυσμού= 419.285 |χρονία_εκτίμησης_πληθυσμού= 2007 |πληθυσμός= 404.039 |θέση_πληθυσμού= 174 |χρονία_απογραφής_πληθυσμού= 2005 |πυκνότητα_πληθυσμού= 1.278,6 |θέση_πυκνότητας_πληθυσμού= 7 |τύπος_κυριαρχίας= [[Ανεξαρτησία]] |γεγονός_κυριαρχίας= - Εκύρηξαν ασ΄Ενωμένον Βασίλειον<br /><br /> ημερομηνίες_κυριαρχίας = <br /> [[21 Σταυρί|21 τη Σταυρίτε]], [[1964]] <br /> | |παράδας = [[Ευρώ]] |κωδικός_παράδων = € EUR |ώρα_ζώνες= |διαφορά_UTC= +1 |θερινόν_UTC= |θερινόν_διαφορά_UTC= +2 |top_level_domain= .mt |κωδικός_τηλεφωνατί= 356 |σημειώσεις= }} Η '''Δημοκρατίαν τη Μάλτας''' (σα Μαλτέζικα: Repubblika ta' Malta) εν νησιωτικό χώραν σο νότιο κομμάτ τη [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν η [[Βαλλέτα|Βαλλέταν]] και ο πρόεδρον ατ'ς εν ο [[Έντουαρντ Φένετς Αντάμι]], ατός ντο υπέγραψεν για να μπεν η χώραν ατέ, απές σον [[Ευρωπαϊκόν Σύδεσμος|Ευρωπαϊκό Σύνδεσμον]]. Η χώρα έχ' πληθυσμόν σα 404.039 τ' ανθρώπ'ς (2005)<ref name="Census2005">National Statistics Office (2005). [https://web.archive.org/web/20110920210030/http://www.nso.gov.mt/statdoc/document_file.aspx?id=1653 Census of Population and Housing 2005: Preliminary Report]. Valletta: National Statistics Office. ISBN-13 978-99909-73-38-9.</ref>. == Γεωγραφίαν == Η Μάλταν ευρίεται σο [[Μεσόγειον θάλασσα|Μεσόγειον τη θάλασσα]], σα 93 χλμ. αφκά τη Σικελίας και εφτάνατεν εφτά νησία εντάμα. === Κλίμαν === Το τοπικό [[κλίμα|κλίμαν]] εν μεσογειακόν [[εύκρατο κλίμα|εύκρατο κλίμαν]], με ελαφρά, βροςχερά χειμωγκόνας και τσιπ ξεράν Θέρους. {| class="wikitable" style="font-size:85%;width:71%;border:0px;text-align:center;line-height:120%;" ! style="background: #99CCCC; color: #000080" height="17" |Μήνας ! style="background: #99CCCC; color:#000080;" | Χρονία ! style="background: #99CCCC; color:#000080;" | [[Καλαντάρτς|Καλ]] ! style="background: #99CCCC; color:#000080;" | [[Κούντουρος|Κου]] ! style="background: #99CCCC; color:#000080;" | [[Μαρτς|Μαρ]] ! style="background: #99CCCC; color:#000080;" | [[Απρίλτς|Απρ]] ! style="background: #99CCCC; color:#000080;" | [[Καλομηνάς|Καλ]] ! style="background: #99CCCC; color:#000080;" | [[Κερασινός|Κερ]] ! style="background: #99CCCC; color:#000080;" | [[Χορτοθέρτς|Χορ]] ! style="background: #99CCCC; color:#000080;" | [[Αλωνάρτς|Αλω]] ! style="background: #99CCCC; color:#000080;" | [[Σταυρίτες|Στα]] ! style="background: #99CCCC; color:#000080;" | [[Τρυγομηνάς|Τρυ]] ! style="background: #99CCCC; color:#000080;" | [[Αεργίτες|Αερ]] ! style="background: #99CCCC; color:#000080;" | [[Χριστουγεννάρτς|Χρι]] |- ! style="background: #99CCCC; color:#000080;" |Μέσο τρανόν θερμ. °C (°F) | style="background: #FFFF99; color:#000000;" | 21 (71) | style="background: #DDDDDD; color:#000000;" | 15 (59) | style="background: #DDDDDD; color:#000000;" | 15 (59) | style="background: #FFFFCC; color:#000000;" | 16 (61) | style="background: #FFFF99; color:#000000;" | 18 (65) | style="background: #FFFF99; color:#000000;" | 22 (72) | style="background: #FFCC66; color:#000000;" | 27 (80) | style="background: #FF8000; color:#000000;" | 30 (86) | style="background: #FF8000; color:#000000;" | 30 (86) | style="background: #FF8000; color:#000000;" | 28 (82) | style="background: #FFCC66; color:#000000;" | 24 (75) | style="background: #FFFF99; color:#000000;" | 19 (67) | style="background: #FFFFCC; color:#000000;" | 16 (61) |- ! style="background: #99CCCC; color:#000080;" height="16;" |Μέσο χάταλον θερμ. °C (°F) | style="background: #DDDDDD; color: black;" | 15 (60) | style="background: #80FFFF; color: black;" | 9 (49) | style="background: #80FFFF; color: black;" | 9 (49) | style="background: #80FFFF; color: black;" | 10 (51) | style="background: #DDDDDD; color: black;" | 12 (54) | style="background: #DDDDDD; color: black;" | 15 (59) | style="background: #FFFF99; color: black;" | 19 (66) | style="background: #FFFF99; color: black;" | 22 (71) | style="background: #FFFF99; color: black;" | 22 (72) | style="background: #FFFF99; color: black;" | 20 (69) | style="background: #FFFF99; color: black;" | 18 (64) | style="background: #DDDDDD; color: black;" | 14 (57) | style="background: #80FFFF; color: black;" | 11 (52) |- | colspan="14" style="text-align:center;font-size:90%;"|''Ασό: [https://web.archive.org/web/20110907165644/http://www.weatherbase.com/weather/weather.php3?s=79561&refer= Weatherbase]'' |} == Αναφοράντας == <references /> == Συνδέζμαι == * '''[[Εικόναν:Commons-logo.svg|15px]] [[:el:commons:Malta|Η Μάλταν σα Commons]]''' * '''[[Εικόναν:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Μάλτα|Η Μάλταν σο Βικιλεξικόν]]''' * '''[[Εικόναν:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Malta|Χάρτες ασην Μάλταν]]''' * [http://www.gov.mt/ Το επίσημον ο ιστοτόπον τη κυβέρνησης τη Μάλτας] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} {{Πρότυπον:Μετάφραση el}} [[Κατηγορίαν:Κράτη|Μαλτα]] [[Κατηγορίαν:Ευρώπη|Μαλτα]] [[Κατηγορίαν:Μάλτα| ]] n9s39ogknrmd0mvjqo1qilaqfq3cr5j Μακεδονία 0 227 37412 36332 2025-12-30T22:16:27Z Таёжный лес 10003 37412 wikitext text/x-wiki {| style="float:right; clear: right; width: 20em; font-size: 110%; text-align: left; border: 1px solid #aaaaaa; border-right-width: 2px; border-bottom-width: 2px; background-color: #f9f9f9; margin-bottom: 0.5em; margin-left: 1em;" cellspacing="4" cellpadding="1" |- ! colspan="2" class="hiddenStructureMacedonia" style="font-size: 110%; background-color: lightsteelblue;" | <div class="center"><big>'''Μ α κ ε δ ο ν ί α'''</big><br /><big>''Μακεδονίαν''</big></div> |- | colspan="2" | {| style="text-align: center; margin: 0 auto; background: none;" |- | style="border: 0; vertical-align: middle;" | <span style="border: 1px solid #bbbbbb; display: table-cell;">[[Εικόναν:Flag of Greece.svg|120px]]</span> | style="border: 0; vertical-align: middle;" | <span style="border: 1px solid #bbbbbb; display: table-cell;">[[Εικόναν:Flag of Greek Macedonia.svg|125px]]</span> |- | colspan="2" style="border-top: solid 1px #ccd2d9; padding: 0.4em 1em 0.4em 0; vertical-align: top; text-align: center; font-size: 95%;" | Τοπικόν ύμνος: Μακεδονία ξακουστή |} |- | colspan="2" | {| style="text-align: center; margin: 0 auto; background: none;" |- | style="border: 0; vertical-align: middle;" | <span style="border: 1px solid #bbbbbb; display: table-cell;">[[Εικόναν:LocationMacedonia-HEL-1-z.png|130px]]</span> | style="border: 0; vertical-align: middle;" | [[Εικόναν:Macedonia actualised overview.png|100px]] |} |- | colspan="2" style="border-bottom: 5px solid lightsteelblue; font-size: 1%;" | &nbsp; |- | [[Πρωτεύουσα|Πρωτεύουσαν]] || [[Θεσσαλονίκη|Θεσσαλονίκην]] |- | '''Πληθυσμόν''' <small>(ανθρώπς)</small> || 2.625.681 {{#if: 2007 |<small>(2007)</small> }} |- class="hiddenStructure77" style="vertical-align: top;" | <small>'''Πυκνότητα τη πληθυσμού'''</small> || 77/km² |- | '''Έκτασην''' <small>(τρανόν)</small> || 34.177 km² |} '''Μακεδονία''' λέγομε το τρανόν τον τόπον, ντ' ευρισκάται σο βόρειον κομμάτ τη [[Ελλάδα|Ελλάδας]]. Εν σο [[Αιγαίον πέλαγος|Αιγαίον το πέλαγον]] απάν κι ο πληθυσμόν τη τόπονος'ατς εν σα 2.625.681 τ' ανθρώπς απαναφκά (2007). Πρωτεύουσαν ατ'ς εν η [[Θεσσαλονίκη|Θεσσαλονίκην]]. == Όνομαν == Ατέ πα επαίρεν τ'όνεμαν'ατς ασ'[[Αρχαία Ελληνικά|αρχαίον το Ελληνικόν]] τ'όνεμαν, για τ'ανθρώπς ασ'ατόν τον τόπον : [[Μακεδόνες]]. Ατοί έτονε οι ασ'ούλτς τρανοί αγούρ ασό Βορράν. Αραέτς εγροικούμε ότ'η Μακεδονίαν εν ο τόπον που ευρίσκανται, τη ασ'ουλτς τρανοί [[Έλληνες|Έλλενες]]. == Γεωγραφίαν == Η Μακεδονίαν εν ο ασ' ουλτς τρανόν τόπον τη Ελλάδας. Ατέ ευρίεται αφκά σην [[Αλβανία|Αλβανίαν]], σα [[Βόρεια Μακεδονία|Σκόπια]], ση [[Βουλγαρία|Βουλγαρίαν]], σα δυτικά τη [[Θράκη|Θράκης]], σ'ανατολικά τ'[[Ήπειρος|Ηπείρωνος]] και απάν'ση [[Θεσσαλία|Θεσσαλίαν]]. Σα τρανά τα ελλενικά τα πολιτείας τη Μακεδονίας εξόν τη [[Πρωτεύουσα|πρωτεύουσαν]] Θεσσαλονίκην ανήκ'νε τα [[Σέρρες|Σέρρας]], η [[Καβάλα|Καβάλαν]] και η [[Κοζάνη|Κοζάν]]. == Ιστορίαν == Η Μακεδονίαν έχ' τσιπ τρανόν ιστορίαν. Ο πολιτισμόν'ατς έχ' τη ρίζαν ατ' σ' [[Αρχαίον Ελλάδαν|αρχαίον την Ελλάδαν]]. Έν'η γενέτειρα περιοχήν τ'αρχαίων τ'Ελλένων [[Βασιλείς τη Μακεδονίας|Βασιλέων τη Μακεδονίας]], τη [[Φίλιππος Β'|Φιλίππονος τη δευτέρου]] και τη [[Μέγας Αλέξανδρος|Μεγαλέξανδρονος]], ατοί τ'εποίκαν κι' έχτισαν το πρώτον πανελλενικόν ομoσπονδίαν. Απ'αδά εξεκίνησεν κι ο [[Χριστιανισμός|Χριστιανισμόν]] για τ' [[Ευρώπην|Ευρώπας]], όταν'έρθε και καλάτσεψε για τ'ατόν ο [[Απόστολος Παύλος|Απόστολον ο Παύλον]] σα [[Φιλίπποι|Φιλίππους]], ση Θεσσαλονίκην και ση [[Βέροια|Βέροιαν]]. Αδακά εγεννέθαν πα τ'αδέλφε [[Άγιοι Κύριλλος και Μεθόδιος|Άγιοι Κύριλλον και Μεθόδιον]] π'εφώτσαν τη [[Σλάβοι|Σλάβς]] και ο τρανομάρτυρτς ο [[Άγιος Δημήτριος|Άγιος Δημήτριον]]. == Πολιτικόν διοίκηση == Το τοπί τη Μακεδονίας χωρίετεν διοικητικά σε 3 [[Περιφέρειας τη Ελλάδας|Περιφέρειας]]{{fn|1=1}} και σε 13 νομία{{fn|1=1}}: {| class="wikitable" style="text-align:left; font-size:95%" |- style="font-size:100%; text-align:center" !width="200px" bgcolor="#6495ED"| <big>'''Ο χάρτες τη Μακεδονίας'''</big> !!width="10px" bgcolor="#6495ED" | <big>'''[[Αριθμόν|Αρ.]]'''</big> !!width="190px" bgcolor="#6495ED"| '''<big>[[Περιφέρειες της Ελλάδας|Περιφέρεια]]</big> ( με τα νομία τι: )'''!!width="70px" bgcolor="#6495ED"| <big>'''[[Πρωτεύουσα|Πρωτεύουσαν]]'''</big> !!width="80px" bgcolor="#6495ED" | <big>'''[[Έκτασην]]'''</big> !!width="70px" bgcolor="#6495ED" | <big>'''[[Πληθυσμόν]]'''</big> </tr> | rowspan=19 | [[Εικόναν:Macedonia greece prefectures.png|300px]] |- | width="32px" bgcolor="#FFCBCB" | || width="32px" bgcolor="#FFCBCB" | <big>'''[[Δυτική Μακεδονία|Δυτικής Μακεδονίας]]'''</big>|| width="32px" bgcolor="#FFCBCB" | <big>'''[[Κοζάν]]'''</big> || style="text-align:right" width="32px" bgcolor="#FFCBCB" |'''9.451 χμ²'''|| style="text-align:right" width="32px" bgcolor="#FFCBCB" |'''301.522''' |- | width="32px" bgcolor="#FFCBCB" | '''1''' || [[Νομόν Κέστερας|Κέστερας]] || [[Κέστεραν]] || style="text-align:right" |1.720 χμ²|| style="text-align:right" |53.483 |- | width="32px" bgcolor="#FFCBCB" | '''2''' || [[Νομόν Φλώρινας|Φλώρινας]] || [[Φλώριναν]] || style="text-align:right" |1.924 χμ²|| style="text-align:right" |54.768 |- | width="32px" bgcolor="#FFCBCB" |'''3''' || [[Νομόν Κοζάντς|Κοζάντς]] || [[Κοζάν]] ||style="text-align:right" |3.516 χμ²|| style="text-align:right" |155.324 |- | width="32px" bgcolor="#FFCBCB" | '''4''' || [[Νομόν Γρεβενίας|Γρεβενίας]] || [[Γρεβενάν]] || style="text-align:right" |2.291 χμ²|| style="text-align:right" |37.947 |- | width="32px" bgcolor="#B9FFC5" | || width="32px" bgcolor="#B9FFC5" | <big>'''[[Κεντρική Μακεδονία|Κεντρικής Μακεδονίας]]'''</big>|| width="32px" bgcolor="#B9FFC5" | <big>'''[[Θεσσαλονίκη|Θεσσαλονίκην]]'''</big> ||style="text-align:right" width="32px" bgcolor="#B9FFC5" |'''18.811 χμ²'''|| style="text-align:right" width="32px" bgcolor="#B9FFC5" |'''1.871.952''' |- | width="32px" bgcolor="#B9FFC5" | '''5''' || [[Νομόν Πέλλας|Πέλλας]] || [[Έδεσσα|Έδεσσαν]] || style="text-align:right"|2.506 χμ²|| style="text-align:right"|145.797 |- | width="32px" bgcolor="#B9FFC5" | '''6''' || [[Νομόν Ημαθίας|Ημαθίας]] || [[Βέροια|Βέροιαν]] ||style="text-align:right"|1.701 χμ²|| style="text-align:right"|143.618 |- | width="32px" bgcolor="#B9FFC5" | '''7''' || [[Νομόν Πιερίας|Πιερίας]] || [[Κατερίνη|Κατερίνην]] || style="text-align:right"|1.516 χμ²|| style="text-align:right"|129.846 |- | width="32px" bgcolor="#B9FFC5" | '''8''' || [[Νομόν Κιλκίς|Κιλκίς]] || [[Κιλκίς]] || style="text-align:right"|2.519 χμ²|| style="text-align:right"|89.056 |- | width="32px" bgcolor="#B9FFC5" | '''9''' || [[Νομόν Θεσσαλονίκης|Θεσσαλονίκης]] || [[Θεσσαλονίκη|Θεσσαλονίκην]] || style="text-align:right"|3.683 χμ²|| style="text-align:right"| 1.057.825 |- | width="32px" bgcolor="#B9FFC5" | '''10''' || [[Νομόν Χαλκιδικής|Χαλκιδικής]] || [[Πολύγυρος|Πολύγυρον]] || style="text-align:right"|2.918 χμ²|| style="text-align:right"|104.894 |- | width="32px" bgcolor="#B9FFC5" | '''11''' || [[Νομόν Σερρών|Σερρών]] || [[Σέρρες|Σέρρας]] || style="text-align:right"|3.968 χμ²|| style="text-align:right"|200.916 |- | width="32px" bgcolor="#CCCCFF" | || width="32px" bgcolor="#CCCCFF" | <big>'''[[Περιφέρεια Ανατολικής Μακεδονίας και Θράκης|Ανατολικής Μακεδονίας]]'''</big>{{fn|1=2}}|| width="32px" bgcolor="#CCCCFF" | <big>'''[[Καβάλα|Καβάλαν]]'''</big> || style="text-align:right" width="32px" bgcolor="#CCCCFF" |'''5.579 χμ²'''|| style="text-align:right" width="32px" bgcolor="#CCCCFF" |'''249.029''' |- | width="32px" bgcolor="#CCCCFF" | '''12''' || [[Νομόν Καβάλας|Καβάλας]] || [[Καβάλα|Καβάλαν]] || style="text-align:right"|2.111 χμ²|| style="text-align:right"|145.054 |- | width="32px" bgcolor="#CCCCFF" | '''13''' || [[Νομόν Δράμας|Δράμας]] || [[Δράμα (πολιτείαν)|Δράμαν]] || style="text-align:right"|3.468 χμ²|| style="text-align:right"|103.975 |- | - || <big>'''[[Άγιο Όρος|Άγιον Όρος]]'''</big>{{fn|1=1}} <small>(αυτόνομο κομμάτ)</small> || <big>'''[[Καρυές (Άι Ορί)|Καρυές]]'''</big> || style="text-align:right"|336 χμ²|| style="text-align:right"|2.262 |- | width="32px" bgcolor="#FFDB58" | [[Εικόναν:PosGreekMacedonia.png|35px]] || width="32px" bgcolor="#FFDB58" | <big>Σύνολο</big> || width="32px" bgcolor="#FFDB58" | || style="text-align:right" width="32px" bgcolor="#FFDB58" |'''<big>34.177</big> <big>χμ²</big>'''|| style="text-align:right" width="32px" bgcolor="#FFDB58" |<big>'''2.424.765'''</big><ref name=census-gr>{{cite web| url= http://www.statistics.gr/gr_tables/S1101_SAP_01_TB_DC_01_02_Y.zip | title= Εθνική Στατιστική Υπηρεσία της Ελλάδος | work= Απογραφή 2001 | format = zip xls |accessmonthday= 26-08-2007|accessyear= |archiveurl=http://web.archive.org/web/20060916102811/http://www.statistics.gr/gr_tables/S1101_SAP_01_TB_DC_01_02_Y.zip|archivedate=2006-09-16}}</ref> |} '''Αναφοράντας''' * {{fnb|1=1}} - Ση Μακεδονίαν εν και το αυτόνομο κομμάτ τη [[Άγιο Όρος|Άι Ορί]], ένα μοναστηρέικο χώραν απές σην Ελληνική δημοκρατίαν. Ευρισκάται σ' ανατολικότερον ασά τρίαν μεγάλα χερσονησία τη [[Χαλκιδική|Χαλκιδικής]]. * {{fnb|1=2}} - Απές σην [[Περιφέρεια Ανατολικής Μακεδονίας και Θράκης|περιφέρειαν Ανατολικής Μακεδονίας και Θράκης]] εν και τα νομία τη [[Θράκη|Θράκης]]. <references/> == Συνδέζμαι == * '''[[Εικόναν:Commons-logo.svg|15px]] [[:el:commons:Macedonia|Η Μακεδονίαν σα Commons]]''' * '''[[Εικόναν:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Μακεδονία|Η Μακεδονίαν σο Βικιλεξικόν]]''' * '''[[Εικόναν:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Macedonia|Χάρτες ασην Μακεδονίαν]]''' * [http://www.mathra.gr/ To υπουργίον τη Μακεδονίας και τη Θράκης] * [https://web.archive.org/web/20080526015237/http://www.westernmacedonia.gr/index.php Περιφέρεια Δυτικής Μακεδονίας] * [https://web.archive.org/web/20071011053333/http://www.rcm.gr/ Περιφέρεια Κεντρικής Μακεδονίας] * [https://web.archive.org/web/20090223061659/http://www.remth.gr/index.php Περιφέρεια Ανατολικής Μακεδονίας και Θράκης] <references/> {{authority control}} [[Κατηγορίαν:Ελλάδα|Μακεδονία]] [[Κατηγορίαν:Μακεδονία| ]] md4vi00bvm9vj30gh2ldalvrl83fsuk Μαρτς 0 228 37037 37017 2025-12-16T18:14:34Z Εὐθυμένης 2777 (By [[meta:Indic-TechCom/Tools|FindAndReplace]]) 37037 wikitext text/x-wiki <center> '''Ημέρας τη Μάρτ''' </center> <center> [[1 Μαρτί|1]] | [[2 Μαρτί|2]] | [[3 Μαρτί|3]] | [[4 Μαρτί|4]] | [[5 Μαρτί|5]] | [[6 Μαρτί|6]] | [[7 Μαρτί|7]] | [[8 Μαρτί|8]] | [[9 Μαρτί|9]] | [[10 Μαρτί|10]] | [[11 Μαρτί|11]] | [[12 Μαρτί|12]] | [[13 Μαρτί|13]] | [[14 Μαρτί|14]] | [[15 Μαρτί|15]] | [[16 Μαρτί|16]] | [[17 Μαρτί|17]] | [[18 Μαρτί|18]] | [[19 Μαρτί|19]] | [[20 Μαρτί|20]] | [[21 Μαρτί|21]] | [[22 Μαρτί|22]] | [[23 Μαρτί|23]] | [[24 Μαρτί|24]] | [[25 Μαρτί|25]] | [[26 Μαρτί|26]] | [[27 Μαρτί|27]] | [[28 Μαρτί|28]] | [[29 Μαρτί|29]] | [[30 Μαρτί|30]] | [[31 Μαρτί|31]] </center> ---- {{ΗμερολόγιοΣεΠίνακα|3}} [[Αρχείον:Matthäus Merian Monate 03 März.jpg|thumb|Τα μήνας, «Ο Μάρτς». Εζωγράφσεν ατό ο Matthäus Merian (ο τρανόν) σα 1610.]] Ο '''Μάρτς''' (σα ελλενικά: ''Μάρτιος'', σα ρουσικά: Март, σα τουρκικά: ''Mart'') εν ο τρίτον μήνας τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] κι εχ' 31 ημέρας . Σ' αβούτον το μήναν ο [[ήλες]] εν σο ζενίθ απάν ασον ισημερνόν. Τ' όνεμαν ατ' εβγών' ασον Άρην (λατ. ''Mars''), θεόν τ' Έλλενων και τη Ρωμαίων ασην [[Ρώμη|Ρώμην]] τη [[Ιταλία|Ιταλίας]]. Αέτς εδέκαν ατ τ' όνεμαν ''Martius''. Σ' αρχαίον το [[Ρωμαϊκόν Αυτοκρατορίαν|ρωμαϊκόν]] ημερολόγιον έτον πρώτον μήνας. Για τ' ατό τα καινούρεα μήνας σ' ελλενικά επαίραν τ' ονέματατουν λ.χ. ''Σεπτέμβριος'', (λατ. ''septem'' = εφτά), Οκτώβριος (λατ."octō" = οχτώ), Νοέμβριος (λατ. ''novem'' = εννέα) και Δεκέμβριος (λατ. "decem" = δέκα. == Ο λαόν για το Μάρτ == :''«Ο Μάρτ' έρται και διαβαίν', αλλ' τς πάγων' και άλλ' τα χουλαίν'' :''Εδέβεν πλαν' ο Κούντουρον, τη Μάρτ' τ' ωτία εφάνθαν'' :''Τα χιόνε όλεα ελύγανε κι ασά ραχιά εχάθαν.»'' :''«Ο Μάρτς φέρ’ τα χελιδόνα'' :''κελαϊδούν και λύν’ν τα χόνα.»'' == Συνδέσμ == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:March|Μαρτς σα Commons]]''' * '''[[Αρχείον:Wiktfavicon en.svg|16px|Βικιλεξικόν]] [[:el:wikt:Μάρτιος|Ο Μαρτς (Μάρτιος) σ' ελλενικόν το Βικιλεξικόν]]''' {{Μήνας‎}} [[Κατηγορίαν:Μήνας|Μάρτς]] aukqwepjnka2i7xck3z7gs4gwxd0orn Μαύρον Θάλασσα 0 229 36580 35693 2025-12-15T19:08:38Z Εὐθυμένης 2777 /* Συνδέζμαι */ 36580 wikitext text/x-wiki [[Αρχείον:ΜαύρηΘάλασσα.PNG|thumb|250px|Το Μαύρον η Θάλασσα σον χάρτεν.]] Το '''Μαύρον η Θάλασσα''' (κε Μαυροθαλασα) (σ' αρχαία τα χρόνε λέχκουτον '''[[Εύξεινος Πόντος]]''') εν θάλασσαν απές μερέαν. Ευρίεται σο νοτιοανατολικόν τ' [[Ευρώπην]] και σο [[Μικράν Ασία|Μικράν Ασίαν]] απές. Με τ' [[Μεσόγειον Θάλασσα|Μεσόγειο τη Θάλασσαν]] συνδέν' ατέν ο [[Βόσπορος|Βόσπορον]] και η [[Θάλασσα Μαρμαρά]]. Ο [[Ισθμός τη Κερτς|Ισθμόν τη Κερτς]] ενών' ατέν με τη [[Θάλασσα Αζόφ|Θάλασσαν τ' Αζόφ]]. == Κράτη ντο συνορεύνε με το Μαύρον τη Θάλασσαν == [[Τουρκία]], η [[Βουλγαρία]], η [[Ρουμανία]], η [[Ουκρανία]], η [[Ρουσία]] και η [[Γρουζία]]. Το Κριμαϊκόν η χερσόνησος εν Ουκρανικόν αυτόνομον δημοκρατία. Έχ' τρανά πολιτείας τοι: [[Κωνσταντινούπολη]], Πύργος, [[Βάρνα (Βουλγαρία)|Βάρνα]], [[Κοστάντα]], [[Γιάλτα]], [[Οδησσός]], [[Κέρτς]], [[Νοβοροσίσκ]], [[Σόχι]], [[Σουχούμι]], [[Πότι]], [[Βατούμι]], [[Τραπεζούντα]], [[Σαμψούντα]]. == Όνομα == Τ' όνομα «Μαύρον Θάλασσα» 'κ ευρίσκεται ασόν 13ον αιώναν πριχού. Ο [[Στράβων]] έλεεν ''Πόντος'' ατέν (δηλ. «Θάλασσαν») μαναχόν. Σ' ελλενο-ρωμαϊκά τα ζαμάναι επαίρεν τ' όνεμαν «Εύξεινος Πόντος», δηλ. «Φιλόξενον Θάλασσα». Άβούτον τ' όνεμαν εν ευφημισμόν κι επαίρεν τη θέσην τη παλαιού τ' ονεματί «Άξεινος Πόντος» (δηλ. «Αφιλόξενον Θάλασσα»), το οποίον εγράφκουτον ασόν [[Πίνδαρος|Πίνδαρον]] (ση 5ου τ' αιώνα π.Χ. τ' αρχάς). Ο Στράβων ινάνευεν ντο λέχκουτον αέτς πριχού τ' ελλενικόν τον αποικισμόν. Λόγοι έσαν τα δυσκολίας ντ' είχανε ν' εφτάνε τα πρώτα τα πολιτείας εκαιπά. Άμα όντες οι Μιλήσιοι εποίκεσαν τον τόπον κι εποίκαν ατόν μέρος τ' ελλενικού τη πολιτισμού, τ' όνεμα μεταβάλκουτον κι εγέντον «φιλόξενον». Οι [[Τουρκία|Τουρκάντ]] έδωκαν τ' όνεμα «Μαύρον Θάλασσα» (''Karadeniz'', τ' Αγαίον λέγν' ατό «Άσπρον Θάλασσα», ''Akdeniz''). Οσήμερον αβούτο τ' όνεμα επαίραν ατό κι άλλα γλώσσας: Ρουσικά: ''Черное Море'', Βουλγαρικά: ''Черно море'' (''Cherno more''), Γεωργιανά: ''შავი ზღვა'' (''shavi zghva''), Ουκρανικά :'' Chorne More'', Ρουμανικά: ''Marea Neagră'', κλπ. [[Αρχείον:sochi_edited.jpg|right|thumb|Φωτογραφία: Σα 1915 τη χρονίαν.]] == Βιβλιογραφία == * Charles King, ''The Black Sea: A History'', 2004, ISBN 0-19-924161-9 * William Ryan and Walter Pitman, ''Noah's Flood'', 1999, ISBN 0-684-85920-3 * Neal Ascherson, ''Black Sea'' (Vintage 1996), ISBN 0-09-959371-8 * Özhan Öztürk, Karadeniz: Ansiklopedik Sözlük (Black Sea: Encyclopedic Dictionary). 2 Cilt (2 Volumes). Heyamola Publishing. Istanbul.2005 ISBN 975-6121-00-9. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:Black Sea|Μαύρον Θάλασσα σα Commons]]''' * [https://web.archive.org/web/20051123034629/http://www.blacksea-archaeology.org/ Κέντρον για τ' αρχαιολογίαν τη Μαύρου τη Θάλασσας] (Γερμανικά κι Αγγλικά) * [http://goobix.com/black-sea-pictures/ Goobix.com - Εικόνας ασό Μαύρον τη Θάλασσαν] (Κούντουρονος 2005) * [https://web.archive.org/web/20060212061504/http://ebs.hit.bg/ Οικολογίαν τη Μαύρου τη Θάλασσας] * [https://web.archive.org/web/20081202124232/http://www.sonbaski.com/fotograf1.htm Φωτογραφίας ασήν Τουρκίαν] * [http://earthfromspace.photoglobe.info/spc_blacksea.html Η Γη ασό Διάστημαν] - Μαύρον Θάλασσα * [https://web.archive.org/web/20080611152026/http://www.karalahana.com/english.html Μαύρον Θάλασσα] * [https://web.archive.org/web/20061106224353/http://lahana.org/resimler/index.php Εικόνα] {{authority control}} [[Κατηγορίαν:Θάλασσας|Μαυρον Θαλασσα]] [[Κατηγορίαν:Μαύρον Θάλασσα|*]] 7zensc8ct10ia3aq7j5lyyb96jn8sjo Μαύρον θάλασσα 0 230 2410 2409 2009-03-06T15:29:14Z MF-Warburg 53 1 revision 2410 wikitext text/x-wiki #REDIRECT [[Μαύρον Θάλασσα]] rzen1kydaywa5mgwp0x66qveokhohef Μολδαβία 0 231 35942 34861 2024-10-26T05:26:56Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35942 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Moldova'''</big></big><br/>''Republica Moldova'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Moldova.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Moldova.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Europe-Moldova.svg|300px]] |} Η '''Δημοκρατία τη Μολδαβίας''' (σα μολδαβέικα ''Republica Moldova'') εν [[κράτος]] σην ανατολήν [[Ευρώπην]]. Πρωτεύουσαν ατ'ς εν το [[Κισινάου]] και ο πρόεδρον ατ'ς εν ο [[Νικολάε Τιμόφτι]]. Ο πληθυσμόν τη χώρας είν' σα 4,128,047 (2008) τ' ανθρώπ'ς. == Γεωγραφίαν == Η Μολδαβίαν ευρίεται απεσκέσ' ση [[Ρουμανία|Ρουμανίαν]], ση [[Ουκρανία|Ουκρανίαν]], και ση [[Υπερδνειστερία|Υπερδνειστερίαν]]. Έχ' τρανά πολιτείας το [[Μπάλτσι|Μπάλτσιν]] και τo [[Μπέντερ]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Moldova|Η Μολδαβίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Μολδαβία|Η Μολδαβίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Moldova|Χάρτες αση Μολδαβίαν]]''' * [https://web.archive.org/web/20081218163523/http://www.parlament.md/en.html Το επίσημον ο ιστοτόπον τη μολδαβικού τη κοινοβουλί] {{Πρότυπον:Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Μολδαβία]] [[Κατηγορίαν:Ευρώπη|Μολδαβία]] [[Κατηγορίαν:Βαλκάνια|Μολδαβία]] [[Κατηγορίαν:Μολδαβία| ]] 19e7u0e02qqfjw55unvka97e6g2ayra Πρότυπον:Wp/pnt 10 232 9966 2419 2009-12-04T14:55:36Z Qoan 1170 Κατηγοριοποιώ 9966 wikitext text/x-wiki <includeonly> ... [[Category:Wp/pnt/ΑΔΑΚΑ Τ'ΟΝΕΜΑΝ ΚΑΤΗΓΟΡΙΑΣ|Wp/pnt]] </includeonly> <noinclude> [[Κατηγορίαν:Πρότυπα]] </noinclude> 2ssa6hyscxve3k27jawmqiqhjemo79c Μορφολογία 0 233 31426 30982 2013-03-11T10:22:59Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 2 interwiki links, now provided by [[d:|Wikidata]] on [[d:q38311]] [[M:User:Addbot/WDS|(translate me)]] 31426 wikitext text/x-wiki Η '''μορφολογία''' εν το παρακλάδ' τη [[γλωσσολογία|γλωσσολογίας]] και τη [[Γραμματικήν|γραμματικής]] που τερεί τ' ασ' ούλτς μικρά στοιχεία τη γλώσσας που δίγνε σημασίαν: τα [[μόρφημαν|μορφήματα]]. Τα μορφήματα έχνε απές τα [[φώνημαν|φωνήματα]] και πολλά μορφήματα εντάμαν σχηματίζνε τη λέξην. Τα νομς ντο κανονίζνε τ' απές μερέαν μορφήν τη λέξης εξέβαν αση μορφολογίαν. == Ντο τερεί η μορφολογία == Τα λέξεις κ'έπορουμε να λέγουματα πάντα με έναν μορφήν. Για να διγ νόημαν ο λόγον πρέπ' να γίνταν κάποια αλλαγάς σα λέξεις. Λχ: ''ο Γιάννες, είμαι, αδερφός, η Ελένε'' Αβούτον ο λόγον αέτς άμον ντο εν νόημαν σωστόν 'κ διγ. Πρέπ' να ενώνουμε τα λέξεις και για να ενώνομ'ατα χρειάσκουνταν αλλαγάς: Για να ενώνομε ''Ο Γιάννες'' και ''είμαι'' πρέπ' να λέγουμε το [[ρήμαν]] σο τρίτον πρόσωπον: ''Ο Γιάννες εν''. Αέτς εφτάμε τα αλλαγάς και βάζομε και το ''Ελένε'' σο γενικόν τη πτώσην για να ενώνομ'ατο με το ''αδερφός'' κι εβγών ο λόγον: ''Ο Γιάννες εν αδερφός τ' Ελένες.'' == Βιβλιογραφία == * Τοπχαράς, Κ. 1928, 1932: ''Ι Γραματικι Τι Ρομεικυ Τι Ποντεικυ Τι Γλοςας''. Ρόστοβ-Ντον. ISBN 960-343-448-5 [[Κατηγορίαν:Γραμματικήν|Μορφολογια]] [[Κατηγορίαν:Γλωσσολογίαν|Μορφολογια]] 04jqn0e8hvc92hmvb2q720a66pl10so Μουσική 0 234 30986 30765 2013-03-07T18:02:53Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 173 interwiki links, now provided by [[d:|Wikidata]] on [[d:q638]] [[M:User:Addbot/WDS|(translate me)]] 30986 wikitext text/x-wiki Εθνομουσικολόγοι και κοινωνιολόγοι λέγνε ντο η '''μουσική''' εν ''«ήχον ντο κανονίζ' ο άνθρωπον»''. == Το ποντιακόν η μουσική == Το ρωμαίικα τα ποντιακά τα μελωδίας έχνε περίπλοκα ρυθμικά σχήματα. Συνήθως εν πολλά αληγορτά και συνοδεύονται από τραγωδία και χορόντας. Τα ποντιακά μουσικά όργανα είναι το [[τουλούμ]] και η [[λύρα]]. Τη ποντιακή τη μουσικήν πέζνε σην [[Ελλάδα|Ελλάδαν]], ση Ρουσίαν και σον οσημερινόν Πόντον τη [[Τουρκία|Τουρκίας]]. Ακόμαν και οι Τουρκάντ «χορόν» ''(horon)'' λέγνε ατέν. [[Κατηγορίαν:Μουσική|*]] 1wmkefiegapkajwnrryz60w8f57xa2j Νέα Ζηλανδία 0 235 35944 32434 2024-10-26T05:27:04Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35944 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Νέα Ζηλανδία'''</big></big><br/>''New Zealand'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of New Zealand.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat_of_arms_of New Zealand.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:New Zealand_(orthographic_projection).svg|300px]] |} Η '''Νέα Ζηλανδία''' (σα εγγλέζικα: ''New Zealand'') εν [[Ωκεανίαν|ωκεανικόν]] [[κράτος]] σο νότιον τον Ειρηνικόν τον ωκεανόν. Πρωτεύουσαν ατ'ς εν το [[Ουέλλινγκτον]] κ' τρανότερη πόλη τ' [[Ώκλαντ]]. Η πρωθυπουργόν ατ'ς εν η [[Έλεν Κλαρκ]] και ο πληθυσμόν ατ'ς ένι σα 4.173.279 τ' ανθρώπ'ς. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:New Zealand|Η Νέα Ζηλανδία σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Νέα Ζηλανδία|Η Νέα Ζηλανδίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of New Zealand|Χάρτες ασήν Νέα Ζηλανδίαν]]''' [[Κατηγορίαν:Κράτη|Ζηλανδία]] [[Κατηγορίαν:Νέα Ζηλανδία| ]] 0d27hunpv5zkx5kizg778os5cjl3jxb Νέος Μαρμαράς 0 236 30991 28363 2013-03-07T18:03:26Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 8 interwiki links, now provided by [[d:|Wikidata]] on [[d:q200417]] [[M:User:Addbot/WDS|(translate me)]] 30991 wikitext text/x-wiki Ο '''Νέος Μαρμαράς''' εν χωρίον σην [[Ελλάδα|Ελλάδαν]] ντ' εχτίεν σον Τορωναίον το Κόλπον, σα ρασώπα ση δύσαν τη Σιθωνίας τη Χαλκιδικής απές. Ασή [[Θεσσαλονίκη|Θεσσαλονίκην]] εν 135 χλμ απαναφκά. Σον Μαρμαρά σουμά εν μαναχό ένα χωρίον, κ' εκείνο εν ο Παρθενώνας. Τ' άλλα χωρία είν' ελίγο μακρά α σον Μαρμαράν. Α σην Τορώνην εν 20 χλμ, α σην Νικήτην 23 χλμ και ασα Νέα Μουδανιά εν 60 χλμ. [[Κατηγορίαν:Χωρία|Μαρμαράς, Νέος]] [[Κατηγορίαν:Ελλάδα|Μαρμαράς, Νέος]] [[Κατηγορίαν:Μακεδονία|Μαρμαράς, Νέος]] 3kmoosqx6tap53b21q10c95nz94n4e9 Νορβηγία 0 237 36321 36173 2025-10-11T17:34:40Z Antimuonium 10707 Tag correction 36321 wikitext text/x-wiki {{Πληροφορίας χώρας| |εθνικόν_όνεμαν = <big>Νορβηγία</big> |εθνικόν όνεμαν σα ποντιακά = Kongeriket Norge<br />Kongeriket Noreg |κοινόν_όνεμαν = Νορβηγία |σημαία = Flag of Norway.svg |άρθρον σημαίας = Σημαία τ' Νορβηγία |σύμβολον = Coat of arms of Norway.svg |άρθρον συμβολατί = Σύμβολον τ' Νορβηγία |χάρτες = Europe-Norway.svg |εθνικόν_σύνθημαν = Enige og tro til Dovre faller |εθνικόν_ύμνος= ''Ja, vi elsker dette landet'' <br /><br /><div class="center">[[File:Norway (National Anthem).ogg]]</div> |επίσημα_γλώσσας = [[:no:Norsk|Norsk]] <small>([[:no:Bokmål|Bokmål]] / [[:nn:Nynorsk|Nynorsk]])</small><br />[[:se:Sámegielat|Davvisámegiella]] |πρωτεύουσα και ασ' όλον τρανόν πολιτεία = [[Όσλο]] |συντεταγμένας_πρωτεύουσας = |πολίτευμαν = [[Unitary state|Unitary]] [[Parliamentary system|parliamentary]] [[constitutional monarchy]] |τίτλοι_τ' ηγετίων = <br />[[Monarch]]<br />[[Πρωθυπουργός]] | |ονόματα_τ' ηγετίων = <br />[[Harald V]] <br /> [[:en:Jonas Gahr Støre|Jonas Gahr Støre]] ([[:en:Arbeiderpartiet|Ap]]) <small>(2021–)</small> |επίσημον_θρήσκευμα = όχι |θέση_έκτασης = 67 |έκταση = 385.207<ref name="kart">{{Cite web|url=https://www.kartverket.no/Kunnskap/Fakta-om-Norge/Arealstatistikk/Arealstatistikk-Norge/|title=Arealstatistics for Norway 2020|publisher=Kartverket, mapping directory for Norway|year=2019|date=2019-12-20|accessdate=2020-03-10|language=no}}</ref> |ποσοστόν_νερού = %6 |πληθυσμός = |θέση_πληθυσμού = 120 |χρονία_εκτίμησης_πληθυσμού = 2025 |χρονία_απογραφής_πληθυσμού = |εκτίμηση_πληθυσμού = 5.594.340<ref name="ssbf">{{Cite web|url=https://www.ssb.no/en/befolkning/folketall/statistikk/befolkning|title=Population, 2025-01-01|publisher=Statistics Norway|date=2025-02-25|accessdate=2025-02-26|language=en}}</ref> |πυκνότητα_πληθυσμού = 14,5 |θέση_πυκνότητας_πληθυσμού = 213 |τύπος_κυριαρχίας = [[Ανεξαρτησία]] |γεγονός_κυριαρχίας = - Κηρύχθηκε<br /> - Αναγνωρίστηκε<br /> |ημερομηνίες_κυριαρχίας = <br /> [[7 June]], [[1905]] |παράδας = [[Norske kroner]] |κωδικός_παράδων = NOK |ώρα_ζώνες = |διαφορά_UTC = +1 |θερινόν_UTC = |θερινόν_διαφορά_UTC = +2 |top_level_domain = .no |κωδικός_τηλεφωνατί = 47 |}} Το '''Βασίλειο τη Νορβηγίας''' εν κράτος ντο ευρίεται σα βόρεια τη [[Ευρώπην|Ευρώπης]] και σα δυτικά τη [[Σκανδιναβικόν Χερσόνησος|Σκανδιναβικού Χερσόνησου]]. Πρωτεύουσαν ατ'ς εν το [[Όσλο]] και τ’ όνεμα τη βασιλέαν ατούν εν [[Χάραλντ Ε'|Χάραλντ ο πέμπτον]]. Η χώρα εχ' πληθυσμόν σα 5.391.369 τ' ανθρώπ'ς (1 Κούντουρονος 2021). Σε έρευνα που έγινε το 2024, το μεγαλύτερο ποσοστό (98%) βρέθηκαν να έχουν όπλο στο χώρο της οικίας τους. == Γεωγραφίαν == Το σκανδιναβικόν η χώρα ευρισκάται σα δυτικά τη [[Σουηδία|Σουηδίας]] και σα νοτιοδυτικά τη [[Ρουσία|Ρουσίας]] και τη [[Φινλανδία|Φινλανδίας]]. Έχ' τρανά πολιτείας το [[Μπέργκεν]] και το [[Σταβάνγκερ]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Norway|Η Νορβηγίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Νορβηγία|Η Νορβηγίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Norway|Χάρτες αση Νορβηγίαν]]''' * [https://web.archive.org/web/20100408094131/http://www.norway.gr/ Το επίσημον ο ιστοτόπον τη Νορβηγίας σην Ελλάδαν] ==References== <references> </references> {{Πρότυπον:Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Νορβηγία]] [[Κατηγορίαν:Ευρώπη|Νορβηγία]] [[Κατηγορίαν:Σκανδιναβία|Νορβηγία]] [[Κατηγορίαν:Νορβηγία| ]] 4z4fu4fcel5wseuvfrqy29l90q94rly Ντόρα Μπακογιάννη 0 238 35388 35283 2023-04-24T07:25:20Z 91.140.26.111 35388 wikitext text/x-wiki {| border=1 cellpadding=4 cellspacing=0 class="toccolours" style="float: right; width: 250px; clear: both; margin: 0.5em 0 1em 1em; border-style: solid; border:1px solid #7f7f7f; border-right-width: 2px; border-bottom-width: 2px; border-collapse: collapse; font-size: 100%;" {| align="left" border="2" style="margin-left:1em" !colspan="2" bgcolor="#C6E2FF"|<big><big>'''Θεοδώρα Μπακογιάννη'''</big></big> |- | style="background:white" align="center" colspan="2" | [[Αρχείον:Dora Bakoyannis-headshot.jpg|326x326εσ]] |- |'''Δημόσιον λειτούργημαν:''' |Υπουργός σα εξ μερέαν |- |'''Εγεννέθεν:''' |[[6 Καλομηνά]], [[1954]] |- |'''Εγεννέθεν σην:''' |Αθήναν |- |'''Πολιτικόν Κόμμαν:''' |Νέα Δημοκρατίαν |- !colspan="2" bgcolor="#C6E2FF"|<small><small>''' .'''</small><small> |} Ο '''Θεοδώρα Μπακογιάννη''' (''Ντόρα Μπακογιάννη'', εγεννέθεν σα [[6 Καλομηνά|6 τη Καλομηνά]] [[1954]]) εν [[Υπουργός σα εξ μερέαν]] τ' [[Ελλάδα|Ελλάδας]]. Σα [[20 Τρυγομυνά]] τη [[2002]] εξέβεν Δήμαρχος τ' Αθηναίων. Έτον η πρώτη γαρή ντ' εποίκαν δήμαρχον τη πολιτείας. Επέμνε δήμαρχος ους τον [[Κούντουρος|Κούντουρον]] σα [[2006]] τη χρονίαν. Επεκεί έντον Υπουργός σα εξ μερέαν. Σα 1998 τη χρονίαν υπάντρεψεν κι έντρισεν τον Ισίδωρο Κούβελο. Έτον γαρή τ' Παύλου Μπακογιάννη ως τη θανή του. == Συνδέσμ == * [https://web.archive.org/web/20140104014742/http://www.dimsim.gr/ Επίσημη ιστοσελίδα της Δημοκρατικής Συμμαχίας] * [http://www.dorabak.gr/ Προσωπικόν σάιτ τη Ντόρας Μπακογιάννη] [[Κατηγορίαν:Πολιτικός (Ελλάδα)|Μπακογιαννη, Ντορα]] t516x842d793p4u6g7d5r501ifaxjrh Ολλανδία 0 239 35946 32414 2024-10-26T05:27:12Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35946 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Ολλανδία'''</big></big><br/>''Koninkrijk der Nederlanden'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Netherlands.svg|125px]] | align="center" width="140px" | [[Αρχείον:Royal_coat_of_arms_of_the_Netherlands.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Netherlands.svg|300px]] |} Η '''Ολλανδία''' εν τ' ιστορικόν τ' όνεμαν ασό '''Βασίλειον ασ' Αφκά τα Χώρας''' (σα ολλανδικά: Koninkrijk der Nederlanden) κι εν [[κράτος]] ση δύσαν τ' [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν τ' [[Άμστερνταμ]] κι βασίλισσαν ατ'ς εν η [[Βεατρίκη τη Ολλανδίας]]. Η χώρα έχ' πληθυσμόν σα 16.408.577 τ' ανθρώπ'ς (2008). == Γεωγραφίαν == Η Ολλανδίαν ευρίεται αφκά σον Ατλαντικόν τον Ωκεανόν, σα δυτικά τη [[Γερμανία|Γερμανίας]] και σα βόρεια τη [[Βέλγιον|Βελγί]]. Έχ' τρανά πολιτείας το [[Ρότερνταμ]], τη [[Χάγη|Χάγην]] και την [[Ουτρέχτη|Ουτρέχτην]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Nederland|Η Ολλανδίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Ολλανδία|Η Ολλανδίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of the Netherlands|Χάρτες ασην Ολλανδίαν]]''' * [http://www.government.nl/ Το επίσημον ο ιστοτόπον τη κυβέρνησης τη Ολλανδίας] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Ολλανδία]] [[Κατηγορίαν:Ευρώπη|Ολλανδία]] [[Κατηγορίαν:Ολλανδία| ]] c2bxv1pfhexnt998yic1f4krvhpn0ek Ορθόδοξον Εγκλεσία 0 240 34634 31436 2020-10-28T21:05:39Z Veverve 8190 34634 wikitext text/x-wiki [[Αρχείον:Coat of Arms of the Ecumenical Patriarchate Constantinople (St. George's Cathedral, Istanbul).svg|μικρογραφία|223x223εσ|Ο ρωμαίικον ο δικέφαλον ο αϊτέντς σο θύριν τη Πατριαρχείων Κωνσταντινουπόλεως.]] Τ' '''Ορθόδοξον η Eγκλεσία''' (Ορθοδοξία, Ανατολικόν Ορθόδοξον Eγκλεσία γιά Ορθόδοξον Καθολικόν κι Αποστολικόν Eγκλεσία) λέχκουνταν τ' αυτοκέφαλα και αυτόνομα τα [[Χριστιανισμός|Χριστιανικά]] τ' Eγκλεσίας, π' κανονίσκουνταν ούλ εντάμαν ασα Συνόδαι και θέλνε και δέχκουνταν τ' αποφάσαι π' επαίραν τ' επτά τα πρώτα τ' Οικουμενικά τα Συνόδαι. Αούτα τ' εγκλεσίας ελέπνε τ' αρνάσεμανατουν σον Ιησού Χριστόν, σ' Αποστόλτς ατ' και σ' αποστολικόν τη διαδοχήν. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Orthodox Church|Τ' Ορθόδοξον η Εγκλεσία σα Commons]]''' * [http://www.ecclesia.gr Επίσημον σελίδαν τ' Ορθοδόξου τη Χριστιανικού τ' Eγκλεσίας σην Ελλάδαν] [[Κατηγορίαν:Θρησκείαν|Ορθοδοξον Εγκλεσια]] sunrgkatue71lxc7v3yzkzvh6a4o7m1 Ουγγαρία 0 241 35947 34578 2024-10-26T05:27:20Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35947 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Ουγγαρία'''</big></big><br/>''Magyarország'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Hungary.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat_of_arms_of Hungary.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Hungary.svg|300px]] |} Η '''Δημοκρατίαν τη Ουγγαρίας''' (σα ουγγρικά: ''Magyar Köztársaság'') είναι [[κράτος]] σ' ανατολικά τ' [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν η [[Βουδαπέστη]]. Η χώρα εχ' πληθυσμόν σα 10.590.000 τ' ανθρώπ'ς και πρωθυπουργόν ατ'ς εν ο Βίκτορ Όρμπαν. == Γεωγραφίαν == Η Ουγγαρία ευρίεται σα βόρεια τη [[Σερβία|Σερβίας]], σα δυτικά τη [[Ουκρανία|Ουκρανίας]] και τη [[Ρουμανία|Ρουμανίας]], σα νότια τη [[Σλοβακία|Σλοβακίας]] και σα ανατολικά τη [[Αυστρία|Αυστρίας]] και τη [[Κροατία|Κροατίας]]. Απές σα τρανά τα πολιτείας ατ'ς είναι το [[Ντέμπρετσεν]], το [[Σέγκεντ]], το [[Πετς]] και το [[Μίσκολτς|Μισκόλτς]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Hungary|Η Ουγγαρίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Ουγγαρία|Η Ουγγαρίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Hungary|Χάρτες ασην Ουγγαρίαν]]''' * [http://www.magyarorszag.hu/english Το επίσημον ο ιστοτόπον τη κυβέρνησης τη Ουγγαρίας] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Ουγγαρία]] [[Κατηγορίαν:Ευρώπη|Ουγγαρία]] [[Κατηγορίαν:Ουγγαρία| ]] 4rib2e8k0fpbr47rp9q9xkxox10w181 Ουκρανία 0 242 35948 35750 2024-10-26T05:27:24Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35948 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Ουκρανία'''</big></big><br/>''Україна'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Ukraine.svg|125px]] | align="center" width="140px" | [[Αρχείον:Lesser_Coat_of_Arms_of_Ukraine.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | |} Η '''Ουκρανίαν''' (σα ουκρανικά ''Україна'') εν προην [[κράτος]] [https://el.m.wikipedia.org/wiki/%CE%88%CE%BD%CF%89%CF%83%CE%B7_%CE%A3%CE%BF%CE%B2%CE%B9%CE%B5%CF%84%CE%B9%CE%BA%CF%8E%CE%BD_%CE%A3%CE%BF%CF%83%CE%B9%CE%B1%CE%BB%CE%B9%CF%83%CF%84%CE%B9%CE%BA%CF%8E%CE%BD_%CE%94%CE%B7%CE%BC%CE%BF%CE%BA%CF%81%CE%B1%CF%84%CE%B9%CF%8E%CE%BD Ε.Σ.Σ.Δ.] σην ανατολήν [[Ευρώπην]]. Πρωτεύουσαν ατ'ς εν το [[Κίεβο]] και ο πρόεδρον ατ'ς εν ο [[Βολοντίμιρ Ζελένσκι]]. Η χώρα εχ' πληθυσμόν 33,365,000 (2024) ανθρώπ'ς.<ref>https://www.imf.org/en/Publications/WEO/weo-database/2024/April/weo-report?c=926,&s=NGDPD,PPPGDP,NGDPDPC,PPPPC,LP,&sy=2022&ey=2029&ssm=0&scsm=1&scc=0&ssd=1&ssc=0&sic=0&sort=country&ds=.&br=1</ref> == Γεωγραφίαν == Η Ουκρανίαν ευρίεται απεσκέσ' ση [[Μολδαβία|Μολδαβίαν]], τη [[Σλοβακία|Σλοβακίαν]], τη [[Ρουμανία|Ρουμανίαν]], την [[Ουγγαρία|Ουγγαρίαν]], την [[Λευκορουσία|Λευκορουσίαν]], τη [[Πολωνία|Πολωνίαν]] και τη [[Ρουσία|Ρουσίαν]]. Σο νότον συνορεύ' με το [[Μαύρον Θάλασσα‎|Μαύρον τη Θάλασσα‎ν]]. Έχ' τρανά πολιτείας το [[Χάρκοβο|Χάρκοβον]] και την [[Οδησσός|Οδησσόν]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Ukraine|Η Ουκρανίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Ουκρανία|Η Ουκρανίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Ukraine|Χάρτες ασην Ουκρανίαν]]''' * [https://archive.is/20120523223612/portal.rada.gov.ua/control/en/index Το επίσημον ο ιστοτόπον τη ουκρανικού τη κοινοβουλί] {{Πρότυπον:Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Ουκρανία]] [[Κατηγορίαν:Ευρώπη|Ουκρανία]] [[Κατηγορίαν:Ουκρανία| ]] 4ngni9k3kub6z99if02roludoxezqj4 Ουσιαστικόν 0 243 35267 31007 2022-12-01T11:50:45Z LightningLighting 8417 /* Ενικός αριθμός */ 35267 wikitext text/x-wiki Τα ονομασίας που μεταχειρίζουμες για να φανερώνομε όντα (λ.χ. ''πρόατον''), αντικείμενα (λ.χ. ''τραχτόρ''), δουλίαν (λ.χ. ''σπείρσιμον'') και ιδιότητα (λ.χ. ''μαχητικότητα'') λέγοματα '''ονόματα ουσιαστικά'''. == Κύρια και κοινά == Τα ονόματα τα ουσιαστικά είναι δυο λοέν: κύρια και κοινά. Εκείνα τα ουσιαστικά που ανήκ'νε σ’έναν όντον για μόνον σ'έναν μέρος, ραχίν, λιμνίν, ποτάμ', λέχκουνταν κύρια ονόματα και γράφκουνταν με κεφαλαίον γράμμαν (λ.χ. ''το Κιλκίς'', ''ο Καύκασος'', ''η Μπαϊκάλη'', ''ο Αξιός''). <br /> Εκείνα τα ονόματα τα ουσιαστικά που επορούν να ανήκ'νε σ’όλια τα όντα και τα αντικείμενα ινός είδους λέχκουνταν κοινά ουσιαστικά ονόματα και γράφκουνταν με μικρό γράμμαν (λ.χ. ''τ’άλογον'', ''το ποτάμ''', ''η πολιτεία'', ''το λιμνίν''). == Συγκεκριμένα και αφερεμένα == Τα ονόματα τα ουσιαστικά χωρίζομε ακόμαν σε συγκεκριμένα και αφερεμένα. Συγκεκριμένα λέγομε όλια εκείνα τα ουσιαστικά ονόματα που φανερώνε όντα και αντικείμενα πραματικά και ειν ατά που ελέπομε και 'σθανούμεσατα (λ.χ. ''ο μουχτερόν'', ''το ξεραντέρ'', ''το σταφύλ'', ''το τσακέλ''). <br /> Αφερεμένα λέγομε τα ονόματα τα ουσιαστικά που νια ελέπομε, νια αισθανούμεσατα, παραμόνον φαντασκούμεσατα (λ.χ. ''η όραση'', ''ο νους''). == Ντο καταληξία έχνε τα ουσιαστικά == === Καταληξία για τα αρσενικά === {| class="prettytable" |- | σε ''-ας'' || ο ψωμάς || ο δουλευτάς |- | σε ''-έας'' || ο γραφέας || ο οκνέας |- | σε ''-ης'' || ο κεμεντζετζής || ο καϊκτσής |- | σε ''-ες '' || ο εργάτες || ο Γιάννες |- | σε ''-ον'' || ο άνθρωπον || ο τόνον |- | σε ''-ς'' || ο καβαλάρτς || ο αράπς |} === Καταληξία για τα θελκά === {| class="prettytable" |- | σε ''-α'' || η γλώσσα || η σημασία |- | σε ''-η'' || η τιμή || η μηχανή |- | σε ''-ε'' || η Ελένε || η αράχνε |- | σε ''-ού '' || η αλεπού || η γλωσσού |- | σε ''-ω'' || η Δέσπω || |} === Καταληξία για τα ουδέτερα === {| class="prettytable" |- | σε ''-αν'' || το γράμμαν || το τσακέλιζμαν |- | σε ''-ιμον'' || το σκάψιμον || το βρέξιμον |- | σε ''-ον'' || το δέντρον || το φυτόν |- | σε ''-ος '' || το πάθος || το πάχος |- | σε ''-ιν'' || το παιδίν || το λιμνίν |} Έχομε και ουδέτερα ουσιαστικά χωρίς κατάληξην σο ονομαστικόν τη πτώσην. Έχασαν την κατάληξην –ιν γιατί επεκόπεν κεπέμναν χωρίς κατάληξην (λ.χ. ''το πεγάδ'', ''το κουτάλ'', ''το πιρόν''). == Κλίση == === Κλίση αρσενικών ουσιαστικών === ==== Ενικός αριθμός ==== Το ονομαστικόν η πτώση σον ενικόν αριθμόν σ' όλα τελειών' για σο ''-ς'' για σο ''-ν''. Το γενικόν η πτώση τ' ενικού τ' αριθμού χαν' το ''-ς'' τ' ονομαστικού τη πτώσης. Εκεί όμως όπου τ' ονομαστικόν η πτώση εχ το ''-ν'' η γενική παιρ' το ''-ς''. Το αιτιατικόν η πτώση σον ενικόν αριθμόν το γνωρίζμαναθε εν το ''–ν'' παντού. Το κλιτικόν η πτώση αποκόφτ το ''-ς'' χε εκεί που εν σο ''-ον'' σο ονομαστικόν την πτώσην την κατάληξην το ''-ν'' και το καταληχτικόν το άτριφτον αλλάζ το ''-ο'' σε ''-ε'' λ.χ. ''ο άνθρωπον'', ''ε άνθρωπε''. {| class="prettytable" |- |- | ''Ονομαστική'' || ο δουλευτάς || ο αράπς || ο λυριτζής || ο φοιτητής || ο εργάτες || ο άνθρωπον || ο αριθμός || ο Λαζόπουλον |- | ''Γενική'' || τη δουλευτά || τ' αράπ || τη λυριτζή || τη φοιτητή || τ' εργάτε (-α) || τ' άνθρωπονος || τ' αριθμού || τη Λαζόπουλονος |- | ''Αιτιατική'' || τον δουλευτάν || τον αράπ || τον λυριτζήν || τον φοιτητήν || τον εργάτεν || τον άνθρωπον || τον αριθμόν || τον Λαζόπουλον |- | ''Κλητική'' || δουλευτά || αράπ || λυριτζή || φοιτητή || εργάτε (-α) || άνθρωπε || αριθμέ || Λαζόπουλε |} Κατά το ''δουλευτάς'' κλίσκουνταν και τα: ''ο καπνάς'', ''ο ψαράς'', ''ο προατάς'', ''ο κυδωνάς'', κτλ. Κατά το ''λυριτζής'': ''ο τενεκετζής'', ''ο καϊκτζής'', ''ο ζουρνατζής'', κτλ. Κατά το ''φοιτητής'': ''ο μαθητής'', ''ο φυτευτής'', κτλ. Κατά το ο άνθρωπον: ο σύντροφον, ο υπάλληλον, ο δάσκαλον κτλ. Κατά τον ''Λαζόπουλον'': ο ''Παρασκευόπουλον'', ο ''Ξανθόπουλον'' κτλ. Κατά το ''αριθμός'': ''Κερασινός'', ''ζαντός'', ''παλαλός'' κτλ. ==== Πληθυντικός αριθμός ==== Σον πληθυντικόν αριθμόν τα κατάληξια σ’ονομαστικόν την πτώσην είναι ''-ήδες'', ''-άδες'' και ''-ντ''. Σο γενικόν παντού εν η κατάληξη ''-ιον''. Σο αιτιατικόν την πτώσην κάποτε τ’όνομαν εν αμόν ντο εν σο ονομαστικόν. Το άθρον μόνον αλλάζ σο αιτιατικόν την πτώσην και τα ονόματα που σο ονομαστικόν την πτώσην κ’έχνε το ''-ς'' το αιτιατικόν η πτώση παίρατο, λ.χ. ''οι δασκάλ'', ''τοι δασκάλτς'', ''οι παιδάντ'', ''τοι παιδάντς'' κτλ. Το κλητικόν η πτώση εν χωρίς άρθρον όπως και τ’ονομαστικόν και μόνον όνταν βάλομε το άρθρον, χωρίεται λ.χ. ''ε λυριτζήδες, αρχινέστε το παίξιμον''. {| class="prettytable" |- |- | ''Ονομαστική'' || οι δουλευτάδες || οι αράπ || οι λυριτζήδες || οι φοιτητάδες || οι εργάτ || οι ανθρώπ || οι αριθμοί|| οι Λαζοπουλάντ |- | ''Γενική'' || τη δουλευταδίων || τ' αραπίων || τη λυριτζήδων || τη φοιτηταδίων || τ' εργατίων || τη ανθρωπίων || τ' αριθμίων || τη Λαζοπουλαντίων |- | ''Αιτιατική'' || τοι δουλευτάδες || τοι αράπς || τοι λυριτζήδες || τοι φοιτητάδες || τ' εργάτς || τ' ανθρώπς || τ' αριθμούς || τοι Λαζοπουλάντ(α)ς |- | ''Κλητική'' || δουλευτάδες || αράπ || λυριτζήδες || φοιτητάδες || εργάτ || ανθρώπ || αρίθμ || Λαζοπουλάντ |} === Κλίση θελκών ουσιαστικών === ==== Ενικός αριθμός ==== Τα θελκά ουσιαστικά σο γενικόν τη πτώσην τ’ ενικού αριθμού όλεα παίρνε το ''-ς''. {| class="prettytable" |- |- | ''Ονομαστική'' || η μάνα || η χαρά || η γλώσσα || η αλεπού || η στρωμοθήκη || η κουτζή || η γνως || η λέξη || η Ελένε |- | ''Γενική'' || τη μάνας || τη χαράς || τη γλώσσας || τη αλεπούς || τη στρωμοθήκης || τη κουτζής || τη γνως || τη λέξης || τη Ελένες |- | ''Αιτιατική'' || την μάναν || την χαράν || την γλώσσαν || την αλεπούν || την στρωμοθήκην || την κουτζήν || την γνως || την λέξην || την Ελένεν |- | ''Κλητική'' || μάνα || χαρά || γλώσσα || αλεπού || στρωμοθήκη || κουτζή || γνως || λέξην || Ελένε |} ==== Πληθυντικός αριθμός ==== Σον πληθυντικόν αριθμόν παρατηρούμε πως όλεα τα θελκά που 'κ παρέσταινε έμψυχα ουδετεροποιούνταν. {| class="prettytable" |- |- | ''Ονομαστική'' || οι μανάδες || τα χαράντας || τα γλώσσας || τ' αλεπούδια || τα στρωμοθήκας || τα κουτζίδια/<br />οι κουτζἰδες || τα γνώσια || τα λέξεις |- | ''Γενική'' || τη μαναδίων || τη χαραντίων || τη γλωσσίων || τ' αλεπουδίων || τη στρωμοθηκίων || τη κουτζιδίων || τη γνωσίων || τη λεξίων |- | ''Αιτιατική'' || τοι μανάδες || τα χαράντας || τα γλώσσας || τ' αλεποὐδια || τα στρωμοθήκας || τα κουτζίδες || τα γνώσια || τα λέξεις |- | ''Κλητική'' || μανάδες || χαράντας || γλώσσας || αλεποὐδια || στρωμοθήκας || κουτζίδες || τα γνώσια || τα λέξεις |} === Κλίση ουδέτερων ουσιαστικών === ==== Ενικός αριθμός ==== {| class="prettytable" |- |- | ''Ονομαστική'' || το χωρίον || το παιδίν || το γάλαν || το γράψιμον || το μέλ(ιν) |- | ''Γενική'' || τη χωρί(ου) || τη παιδί(ου) || τη γαλατί(ου) || τη γραψιματί(ου) || τη μελί(ου) |- | ''Αιτιατική'' || το χωρίον || το παιδίν || το γάλαν || το γράψιμον || το μέλ(ιν) |- | ''Κλητική'' || χωρίον || παιδίν || γάλαν || γράψιμον || μέλ |} ==== Πληθυντικός αριθμός ==== {| class="prettytable" |- |- | ''Ονομαστική'' || τα χωρία || τα παιδία || τα γάλατα || τα γράψιματα || τα μέλια |- | ''Γενική'' || τη χωρίων || τη παιδίων || τη γαλατίων || τη γραψιματίων || τη μελίων |- | ''Αιτιατική'' || τα χωρία || τα παιδία || τα γάλατα || τα γράψιματα || το μέλια |- | ''Κλητική'' || χωρία || παιδία || γάλατα || γράψιματα || μέλια |} == Βιβλιογραφίαν == * Αντονιάδου-Κεσίδου, Β. 2002: ''Μαθήματα Ποντιακής Διαλέκτου''. Θεσσαλονίκη. ISBN 960-343-619-4 * Τοπχαράς, Κ. 1928, 1932: ''Ι Γραματικι Τι Ρομεικυ Τι Ποντεικυ Τι Γλοςας''. Ρόστοβ-Ντον. ISBN 960-343-448-5 [[Κατηγορίαν:Γραμματικήν|Ουσιαστικόν]] 6lxlsu6lc6blstrjr3rqp6nyb6w9s50 Βόρεια Μακεδονία 0 244 36291 36288 2025-07-21T16:42:52Z Apokar 10158 χώρες που συνορεύει 36291 wikitext text/x-wiki {| border="1" align="right" cellpadding="4" cellspacing="0" width="300" style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+'''Βόρεια Μακεδονία''' |- | colspan="2" style="background:#efefef;" align="center" |[[Αρχείον:Flag of Macedonia.svg|125px]] [[Αρχείον:Coat of arms of Macedonia.svg|100px]] |- | colspan="2" align="center" |[[Αρχείον:Europe-Republic of North Macedonia.svg|300px]] |} Η '''Βόρεια Μακεδονία''', (σα μακεδονικά: ''Severna Македонија'') εν [[κράτος]] ντο ευρίεται σα νοτιοανατολικά τη [[Ευρώπην|Ευρώπης]] που αποσπάστεικαι από την Γιουγκοσλαβία το 1991. Πρωτεύουσα του κράτους εν τα Σκόπια. == Γεωγραφία == Η χώρα συνορεύει βόρεια με τη [[Σερβία]] (και το [[Κόσοβο]]), δυτικά με την [[Αλβανία]], σα νότια με την [[Ελλάδα]] και σ' ανατολικά με τη [[Βουλγαρία]]. == Σύνδεσμοι == * '''[[Αρχείον:Commons-logo.svg|10px]] [[c:North Macedonia|Η Β. Μακεδονία σα Commons]]''' {{Κράτη τη Ευρώπης}}{{ΠΡΟΚΑΘΟΡΙΣΜΕΝΗΤΑΞΙΝΟΜΗΣΗ:Σκόπια}} [[Κατηγορίαν:Κράτη]] 24spy0fm5a2txji0csymkq9r3avdw3j Πάτερ Ημών 0 245 36318 36209 2025-10-05T20:29:18Z ~2025-27744-02 12014 Πρόσθεσα κάποια πραγματα 36318 wikitext text/x-wiki '''Πάτερ Ημών''' λέχκεται η ευχήν τ' έδωκεν ο Αρχάγγελος Δημήτριος εις μαθητάδες ατ' (κατά [[:el:s:Κατά Ματθαίον#στ'|Ματθαίον Ευαγγέλιον, κεφάλαιον 6.9-13]]). == Το κείμενον == === Πρωτότυπο στα αρχαία ελληνικά === :{{Polytonic|Πάτερ Ἡμῶν ὁ ἐν τοῖς οὐρανοῖς :ἁγιασθήτω τὸ ὄνομά Σου· :ἐλθέτω ἡ Βασιλεία Σου· :γενηθήτω τὸ θέλημά Σου, :ὡς ἐν οὐρανῷ καὶ ἐπὶ τῆς γῆς· :τὸν ἄρτον ἡμῶν τὸν ἐπιούσιον δὸς ἡμῖν σήμερον· :καὶ ἄφες ἡμῖν τὰ ὀφειλήματα ἡμῶν, :ὡς καὶ ἡμεῖς ἀφίεμεν τοῖς ὀφειλέταις ἡμῶν· :καὶ μὴ εἰσενέγκῃς ἡμᾶς εἰς πειρασμόν, :ἀλλὰ ῥῦσαι ἡμᾶς ἀπὸ τοῦ πονηροῦ. :[Ὅτι σοῦ ἐστιν ἡ βασιλεία καὶ ἡ δύναμις καὶ ἡ δόξα εἰς τοὺς αἰῶνας· :ἀμήν.]}} === Στα νέα Ελληνικά === :Πατέρα μας, που βρίσκεσαι στους ουρανούς, :Ας αγιασθεί (ας δοξασθεί) το Όνομα Σου :Ας έρθει η βασιλεία Σου :Ας γίνει το θέλημά Σου :όπως στον ουρανό (από τους αγγέλους) :έτσι και στη γη (από τους ανθρώπους) :Δώσε μας σήμερα τον απαραίτητο για τη ζωή μας άρτο. :Και άφησε μας τα χρέη μας (συγχώρησε τις αμαρτίες μας) :όπως κι εμείς αφήνομε τους χρεωστές μας (όπως και εμείς συγχωρούμε αυτούς που μας έφταιξαν). :Και μη μας βάλεις σε δοκιμασία. :αλλά απομάκρυνε μας από τις πονηριές (από το κακό). :[Γιατί σ' εσένα ανήκει παντοτινά η βασιλεία, η δύναμη και η δόξα στους αιώνες. Αμήν.] === Σ' Αραμαϊκά === :ܐܰܒܽܘܢ ܕܒܰܫܡܰܝܳܐ :ܢܶܬܩܰܕܰܫ ܫܡܳܟ :ܬܺܐܬܶܐ ܡܰܠܟܽܘܬܳܟ :ܢܶܗܘܶܐ ܨܶܒܝܳܢܳܟ :ܐܰܝܟܰܢܳܐ ܕܒܰܫܡܰܝܳܐ ܐܳܦ ܒܐܰܪܥܳܐ :ܗܰܒ ܠܰܢ ܠܰܚܡܳܐ ܕܣܽܘܢܩܳܢܰܢ ܝܰܘܡܳܢܳܐ :ܘܰܫܒܽܘܩ ܠܰܢ ܚܰܘܒܰܝܢ ܘܰܚܬܳܗܰܝܢ :ܐܰܝܟܰܢܳܐ ܕܐܳܦ ܚܢܰܢ :ܫܒܰܩܢ ܠܚܰܝܳܒܰܝܢ :ܠܳܐ ܬܰܥܠܰܢ ܠܢܶܣܝܽܘܢܳܐ :ܐܶܠܳܐ ܦܰܨܳܐ ܠܰܢ ܡܶܢ ܒܺܝܫܳܐ :ܡܶܬܽܠ ܕܕܺܝܠܳܟܺ ܗܝ ܡܰܠܟܽܘܬܳܐ :ܚܰܝܠܳܐ ܘܬܶܫܒܽܘܚܬܳܐ :ܠܥܳܠܰܡ ܥܳܠܡܺܝܢ ܐܰܡܺܝܢ܀ === Σα Λατινικά === :''Pater Noster, qui es in caelis, :''Sanctificetur nomen tuum. :''Adveniat regnum tuum, :''Fiat voluntas tua, :''sicut in caelo, et in terra. :''Panem nostrum quotidianum da nobis hodie, :''Et dimitte nobis debita nostra, :''sicut et nos dimittimus debitoribus nostris. :''Et ne nos inducas in tentationem, :''Sed libera nos a malo. :''Amen. === Σ' Ιταλικά === :Padre Nostro, che sei nei cieli, :Sia santificato il tuo nome. :Venga il tuo regno, :Sia fatta la tua volontà, :Come in cielo, così in terra. :Dacci oggi il nostro pane quotidiano, :E rimetti a noi i nostri debiti, :Come noi li rimettiamo ai nostri debitori. :E non ci indurre in tentazione, :Ma liberaci dal male. :Amen.. [[Κατηγορίαν:Θρησκείαν|Πατερ ημων]] ndd2iqbz84j753zjrxyjygx5l9de0dz Πέφτ 0 246 31013 30894 2013-03-07T18:07:28Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 177 interwiki links, now provided by [[d:|Wikidata]] on [[d:q129]] [[M:User:Addbot/WDS|(translate me)]] 31013 wikitext text/x-wiki Η '''Πέφτ''' (σ' [[Ελλενικόν γλώσσα|ελλενικά]]: ''Πέμπτη'') εν το πέμπτον ημέρα τ' [[Εβδομάδα|εβδομάδας]]. == Ο λαόν για τη Πέφτ == :''«Θα κοιμούμ' όλεν την Πέφτ'' :''τ' αρνί'μ κάτς φοούμε κλέφτ.»'' :''«Δούλεψον όλεν την Πεφτ'' :''και όσον ντο θελτ΄ς, κουρφεύτ.»'' == Συνδέσμ == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:Thursday|Πέφτ σα Commons]]''' * '''[[Αρχείον:Wiktfavicon en.svg|16px|Βικιλεξικόν]] [[:el: wikt:Πέμπτη|Η Πέφτ (Πέμπτη) σ’ ελλενικόν το Βικιλεξικόν]]''' {{Πρότυπον:Ημέρας τη εβδομάδας‎}} [[Κατηγορίαν:Ημέρας τη εβδομάδας|Πέφτ]] qjd2pxnpf4fzt8rhtkmvxntojhey4ep Πίνδαρος 0 247 35158 31014 2022-04-23T19:58:24Z NikonZ7II 9257 35158 wikitext text/x-wiki [[Αρχείον:Bust of Pindar.jpg|μικρογραφία|222x222εσ|Πίνδαρος]] Ο '''Πίνδαρος''' (522 - 443 π.Χ.) έτον τζιπ τρανός αρχαίος Έλλενας λυρικός ποιητής. Εγεννέθεν σα Κυνοσκηφάλαι, έναν χωρίον ση [[Θήβα|Θήβαν]] καικά. Έτον γιος τη Δαίφαντονος και τη Κλεοδίκης. Τα παραδόσαι τ' οικογένειασατ' εφέκαν τ' ιχνάραι ατούν σην ποίησηνατ'. Έζηνε με το γράψιμον τ' ωδίων. == Έργον == Τ' ωδία τ' εποίκε ο Πίνδαρον εν πολλά λοέν. Σην [[Βιβλιοθήκη τη Αλεξάνδρειας|Βιβλιοθήκην τ' Αλεξάνδρειας]] τ' υστερνής αρχαιότητας εθέκαν τα σε κατηγορίας: * ''Ύμνοι'', 1 βιβλίο * ''Παιάνες'', 1 βιβλίο * ''Διθύραμβοι'', 2 βιβλία * ''Προσωδία'', 1 βιβλίο * ''Παρθένια'', 3 βιβλία * ''Υπορχήματα'' 1 βιβλίο * ''Εγκώμια'', 1 βιβλίο * ''Θρήνοι'', 1 βιβλίο * ''Επινίκια'', 4 βιβλία Οσήμερον απ' ατά επέμναν τα ''Επινίκια'' μαναχόν. Τ' άλλα είν' γνωστά ασα χόρα γραψίματα τ' ευρέθαν σην [[Αίγυπτος|Αίγυπτον]]. * ''Ολυμπιόνικοι'' * ''Νεμεόνικοι'' * ''Πυθιόνικοι'' * ''Ισθμιόνικοι'' == Συνδέσμ == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:Pindar|Πίνδαρος σα Commons]]''' * '''[[Αρχείον:Wikisource-logo.svg|13px]] [[s:el:Πίνδαρος|Τ' έργον τη Πίνδαρονος σην Βικιθήκην]]''' [[Κατηγορίαν:Έλλενας (αρχαιότητα)|Πινδαρος]] fn77djgnek7wc4wgwwzd3gm6o5r5tlp Παρασκευήν 0 248 31018 30586 2013-03-07T18:08:13Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 174 interwiki links, now provided by [[d:|Wikidata]] on [[d:q130]] [[M:User:Addbot/WDS|(translate me)]] 31018 wikitext text/x-wiki Η '''Παρασκευήν''' (σ' ελλενικά: ''[[Ελλενικόν γλώσσα|Παρασκευή]]'') εν τ' έκτον ημέρα τ' [[Εβδομάδα|εβδομάδας]]. == Ο λαόν για τη Παρασκευήν == :''«Η Παρασκευή κλαμένον'' :''λημονεύ'νε αποθαμένον.»'' == Συνδέσμ == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:Friday|Παρασκευήν σα Commons]]''' * '''[[Αρχείον:Wiktfavicon en.svg|16px|Βικιλεξικόν]] [[:el: wikt:Παρασκευή|Η Παρασκευήν (Παρασκευήν) σ’ ελλενικόν το Βικιλεξικόν]]''' {{Πρότυπον:Ημέρας τη εβδομάδας‎}} [[Κατηγορίαν:Ημέρας τη εβδομάδας|Παρασκευήν]] aryqxylwm52embd247vsbq2jxsp5oqo Παϊπούρτ 0 249 36743 36577 2025-12-16T08:36:22Z Εὐθυμένης 2777 36743 wikitext text/x-wiki [[Image: Bayburt, 69000 Bayburt Merkez-Bayburt, Turkey - panoramio (4).jpg|thumb|300px|right| Bayburt]] [[image:Bayburt Turkey Provinces locator.gif|thumb|230px|Το Παϊπούρτ σον χάρτεν τη Τουρκίας]] Το '''Παϊπούρτ''' (λέγνατο και '''Μπαϊμπούρτ''' ή '''Βαϊβούρτη''', σα τουρκικά: ''Bayburt'') εν πολιτείαν σ' ανατολήν τη [[Τουρκία|Τουρκίας]], σην [[Αργυρούπολη|Αργυρούπολην]] και σο [[Ερζερούμ|Ερζερούμ]] απεσκέσ' και σον ποταμόν [[Άκαμψης|Τσορούχ]] σουμά. Εν η πρωτεύουσαν τ' επαρχίας τη Παϊπούρτ κι εχ' πληθυσμόν σα 87.745 τ' ανθρώπς (2005). == Ιστορία == Σα χρόναι τη [[Ρωμανίαν|Ρωμανίας]] έτον σα σύνορα τη χώρας και ο πολέμαρχον Θεόδωρον Γαβράς εποίκενατ' κάστρον. <ref>''Εγκυκλοπαίδεια του ποντιακού ελληνισμού. Ιστορία - λαογραφία - πολιτισμός'', 1988, Τεύχος 1 (Α-Ε), σελ. 172.</ref> Σα χρόναι τη τρανού τη πολέμονος κι επεκεί ([[Μικρασιατικόν καταστροφή|Μικρασιατικόν καταστροφή]]), ο τόπον έντον σημείον μαζέματι τ' Έλλενων για να χατεύκουνταν σην [[Ελλάδα|Ελλάδαν]]. <ref>''Εγκυκλοπαίδεια του ποντιακού ελληνισμού. Ιστορία - λαογραφία - πολιτισμός'', 1988, Τεύχος 1 (Α-Ε), σελ. 173.</ref> == Αναφοράντας == <div style="font-size:90%;"><references/></div></div> == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{tr}} {{επίσημος ιστότοπος}} {{authority control}} {{DEFAULTSORT:Παιπουρτ}} [[Κατηγορίαν:Πολιτείας τη Τουρκίας]] [[Κατηγορίαν:Πόντος]] k60u27q0fl4j23d3ct317iq1euk5xxr Πειραιάς 0 250 36869 34889 2025-12-16T10:08:28Z Εὐθυμένης 2777 36869 wikitext text/x-wiki [[Εικόναν:Πόλη του Πειραιά β.jpg|thumb|Η πολιτεία τη Πειραιά]] Ο '''Πειραιάς''' (αρχ. ''Πειραιεύς'') εν το τρίτο ασα τρανά τα [[Ελλάδα|ελλενικά]] τα πολιτείας. Οσήμερον (2001) εχ' πληθυσμόν 175.697 ανθρώπς. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{el}} {{επίσημος ιστότοπος}} {{authority control}} {{DEFAULTSORT:Πειραιας}} [[Κατηγορίαν:Πολιτείας τ' Ελλάδας]] ebscmdx31epfgp6hv68ikkopov09jon Ποιητικήν 0 251 31023 30440 2013-03-07T18:09:51Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 126 interwiki links, now provided by [[d:|Wikidata]] on [[d:q482]] [[M:User:Addbot/WDS|(translate me)]] 31023 wikitext text/x-wiki == Ποιητικήν == === Αρχαίοι === * [[Πίνδαρος]] === Νέοι === * [[Γιόχαν Βόλφγκανγκ φον Γκαίτε]] [[Κατηγορίαν:Πολιτισμόν|!]] [[Κατηγορίαν:Λογοτεχνίαν|!]] e3zowi6lzsc58pw8i7amt8ukna1bsw8 Πολωνία 0 252 35949 35096 2024-10-26T05:27:28Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35949 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Πολωνία'''</big></big><br/>''Rzeczpospolita Polska'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Poland.svg|125px]] | align="center" width="140px" | [[Αρχείον:Herb_Polski.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Poland.svg|300px]] |} [[Αρχείον:LocationPoland.svg|right|thumb|Πολωνία]] Η '''Δημοκρατίαν τη Πολωνίας''' (σα πολωνικά ''Rzeczpospolita Polska'') είναι [[κράτος]] σην ανατολήν τη [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν η [[Βαρσοβία]] και ο πρόεδρον ατ'ς εν ο [[Λεχ Καζίνσκι]]. Η Πολωνία έχ' πληθυσμόν σα 38 483 957 (2014) τ' ανθρώπ'ς. == Γεωγραφίαν == Η Πολωνίαν ευρίεται ανάμεσα ση [[Γερμανία|Γερμανίαν]], τη [[Τσεχία|Τσεχίαν]], τη [[Σλοβακία|Σλοβακίαν]], την [[Ουκρανία|Ουκρανίαν]], την [[Λευκορωσία|Λευκορωσίαν]], τη [[Λιθουανία|Λιθουανίαν]] και τη [[Ρωσία|Ρωσίαν]]. Έχ' τρανά πολιτείας τη [[Κρακοβία|Κρακοβίαν]] και την [[Βροτσλάβ]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Poland|Η Πολωνίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Πολωνία|Η Πολωνίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Poland|Χάρτες αση Πολωνίαν]]''' * [https://web.archive.org/web/20141101033604/http://www.polen.gov.pl/ Το επίσημον ο ιστοτόπον τη πολωνικού τη κυβέρνησης] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Πολωνία]] [[Κατηγορίαν:Ευρώπη|Πολωνία]] [[Κατηγορίαν:Πολωνία| ]] drrhsm7pljof57ukwz9q5w3awdl4bx1 Ποντιακά 0 253 2626 2625 2009-03-06T15:29:31Z MF-Warburg 53 1 revision 2626 wikitext text/x-wiki #REDIRECT [[Ποντιακόν λαλίαν]] hh70627f411imxoabivk216h6jm4bp9 Ποντιακά Παρχάραι 0 254 37395 36579 2025-12-20T13:47:55Z Εὐθυμένης 2777 37395 wikitext text/x-wiki {{WikidataCoord|display=title}} [[Εικόναν:Pontic Panorama.jpg|thumb|400px|Τα Ποντιακά τα Παρχάραι σα 2007 τη χρονίαν]] '''Ποντιακά Παρχάραι''' (γράφνατα και '''παρχάρε''', σα [[Ελλενικόν γλώσσα|ελλενικά]] ''Ποντιακά Όρη'', σα τούρκικα ''Doğu Karadeniz Dağları'') λέχκεται η ψηλορραχέα τη [[Πόντος|Πόντονος]] τ' ευρίεται σο βόρειον τη [[Τουρκία|Τουρκίαν]]. == Τ' όνεμαν == Σα [[Τουρκικόν λαλία|τούρκικα]] τα παρχάραι 'κ εκράτεσαν το παλαιόν τ' ελλενικόν τ' όνεμανατουν και λέχκουνταν ''Doğu Karadeniz Dağları'', άμα σ' άλλα γλώσσας το ''«ποντιακά»'' επέμνεν, λχ σ' αγγλικά (''Pontic Mountains''), σα γερμανικα (''Pontisches Gebirge''), σα γαλλικά (''Chaîne pontique''), σα ιταλικά (''Monti del Ponto'') κλπ. == Γεωγραφία == Τα παρχάραι χωρίζνε τον Πόντον σε δυο κομμάται, το παραλιακόν και τ' απές μερέαν, ντο εχ ραχία. Δαβαίν'νε τον Πόντον ασην ανατολήν ση δύσαν, ώσαμε το Αραράτ και τον Κάυκασον σην [[Γρουζία|Γρουζίαν]]. Το δέβασμανατουν εν παράλληλον με το [[Μαύρον Θάλασσα|Μαύρον τη Θάλασσαν]], που 'κ εν μακρά. Τ' ασούλτς ψηλόν σημείον εν σα 3.942 μέτρα, σο ραχίν [[Κατσκάρ Νταγ]] (γιά ''Kavron''). [[Εικόναν:KackarDagi fromNorth hory.jpg|thumb|Τ' ασ' ούλτς τρανόν ραχίν τη παρχαρίων: [[Κατσκάρ Νταγ]]]] Ο Αντίταυρος αχπάσκεται σο βόρειον τη [[Καππαδοκία|Καππαδοκίαν]], δαβαίν τη χώραν σ' ανατολικά και χωρίζ' τον Πόντον και την [[Αρμένια|Αρμένιαν]]. Ασ' άλλ τη μερέαν ση δύσαν εν ο [[Αργαίος]] που χωρίζ' τον Πόντον και την Καππαδοκίαν. Σην [[Κασταμονή|Κασταμονήν]] και την [[Τόσια|Τόσιαν]] απεσκές εν το ραχίν Ιλκάς Νταγ (2.900 μέτρα). Ση θάλασσαν κοντά, αφκά ασό [[Αλατσάμ]] (Alaçam) εν το Δουλμέν Νταγ, ένα ραχίν το 'κ εν ατόσο τρανόν. Σα νοτιοανατολικά τη Λαντίκ (Λαοδίκεια) ευρίεται το Κεμέρ Νταγ (2.200 μ.). Αβούτο το ραχίν χωρίζ τοι ποταμούς [[Ίρες]] (Yeşilırmak) και [[Λύκος (ποτάμι)|Λύκος]] (Çürüksu cayi). Δυτικά ασή [[Σεβάστεια|Σεβάστειαν]] (Sivas) ευρίεται ολίγον απάν ασόν [[Άλυς|Άλυ]] ποταμόν (Kızılırmak) το ραχίν Ακ Νταγ (2.730 μ.). Σην [[Τοκάτη|Τοκάτην]] και την Σεβάστειαν απεσκές εν το Γιλντίζ Νταγ (2.500 μ.), το Ντουμανλί Νταγ (2.700 μ.) και το Ασμασί Νταγ (2.400 μ.). Σα νοτιοδυτικά τη Νικόπολης εν γραγμένον η ψηλορραχέα Αγικελεσί Τεπέ (2.370 μ.). Νότια απ' ατουκά και πέρα ασόν Άλυ ευρίεται το ραχίν Ντελί Νταγ (1.800 μ.). Κι άλλο βόρεια κι ασόν Λύκον κιαλαπάν είν τα ραχία Καρά Γκιολ (3.035 μ.) και Καρά Νταγ (3.095 μ.). Σην [[Κρώμνη|Κρώμνην]] καικά ευρίεται ο Θέχες (Deveboynu Tepe, 3.060 μ.) και σην [[Σάντα|Σάνταν]] το Ματούρ Νταγ (2.850 μ.). Ασόν [[Άκαμψης|Άκαμψη]] (Çoruh) απάν ευρίουνταν τα ραχία Κεμέρ Νταγ, Σογανλί Νταγ, Κιρκλάρ Νταγ, Βαρτσεμπέκ και Κατσκάρ. Ασόν Άκαμψη αφκά, σα πολιτείας [[Παϊπούρτ]] και Ισπίρ απεσκές και ασό Ερζερούμ απάν ευρίουνταν τα ραχία Γιαβούρ Νταγλαρί (3.000 μ.) και Πτουμλού Νταγ (2.800 μ.). == Γεωλογία και ποτάμαι == [[Εικόναν:Rural pontic house.jpg|thumb|Οσπίτ σα παρχάραι]] Η [[Ανατολία]] εχ τρία τρανά ψηλορραχέας σα γιάντς ατς. Τα Ποντιακά τα Παρχάραι εν το βορειοανατολικόν η ψηλορραχέα. Το νότιον εν ο [[Ταύρος]], ντ' ευρίεται σο [[Μεσόγειον θάλασσα|Μεσόγειον τη θάλασσα]]. Τα δυο τα ψηλορραχέας ανήκνε γεωλογικά σ' αλπιδικόν το δίπλωμαν, το οποίον αχπάσκεται σα Πυρηναία κι απλώνεται ώσαμε τα Ιμαλάια. Τα τεκτονικά τα πλάκας εκαικά λαήσκουνταν πολλά και για τ' ατό έχ' τρανά σεισμούς. Το δέβασμαν τη ποταμίων περνά ασην ανατολήν ση δύσαν. Όντες φτάν'νε σα γιαζία παίρνε βόρειον κατύθυνσην και τελείνταν σο [[Μαύρον θάλασσα|Μαύρον τη θάλασσαν]]. Τρανόν ποτάμι εν ο Άλυς. Άμον ντ' εφτάει ο Ίρες, αέτς κι ο Άλυς περνάει αση χερσόνησον σην θάλασσαν απές. Το τρίτον η χερσόνησον ευρίεται σην [[Σινώπη|Σινώπην]] κοντά, κι εν ασ' άλλα τα δυο κιάλλο μικρόν. == Τέρεν και == * [[Μαύρον θάλασσα]] * [[Πόντος]] {{authority control}} [[Κατηγορίαν:Πόντος|Ποντιακα Παρχαραι]] [[Κατηγορίαν:Ραχία|Ποντιακα Παρχαραι]] [[Κατηγορίαν:Βικιπαίδεια:Arthron]] 1e4wr39k3pyg4mo6rs7jquql70jfk61 Ποντιακόν λαλίαν 0 255 36578 36167 2025-12-15T19:08:13Z Εὐθυμένης 2777 /* Συνδέζμ */ 36578 wikitext text/x-wiki {| border="1" cellpadding="2" cellspacing="0" align="right" width="300" ! colspan="2" bgcolor="lawngreen" style="font-size:120%"|Ποντιακά / Ρωμαίικα |- | valign="top"|Συντισένατεν σην |[[Αζερμπαϊτζάν|Αζερμπαϊτζάν]], [[Γερμανία|Γερμανία]], [[Γρουζία|Γρουζία]], [[Αρμενία]], [[Ελλάδα|Ελλάδα]], [[ΗΠΑ|ΗΠΑ]], [[Καζακστάν|Καζακστάν]], [[Καναδάς|Καναδάς]], [[Ουκρανία|Ουκρανία]], [[Ρουσία|Ρουσία]], [[Τουρκία|Τουρκία]]. |- | valign="top"|Συνολικοί ομιλητές |1.058.068<!--http://www.ethnologue.com/show_language.asp?code=pnt Ethnologue.com ''PONTIC: a language of Greece'' ασό Ethnologue: Languages of the World, 15th Edition.--> |- | valign="top"|Γενετική τη γλώσσας |Ινδοευρωπαϊκά γλώσσας<br> :Αρχαία Ελλενικά <br> ::Αττικά ελλενικά <br> :::'''Ποντιακά''' |- ! colspan="2" bgcolor="lawngreen"|Επίσημα |- | valign="top"|Επίσημον γλώσσαν | [[Πόντος]] (1917-1919) (παλαιάν),<br>[[Σ.Σ.Σ.Δ.]] (παλαιάv) |- | valign="top"|ISO 639-3 | valign="top"|[https://web.archive.org/web/20080617020111/http://www.sil.org/iso639-3/documentation.asp?id=pnt pnt] |- | valign="top"|SIL | valign="top"|PNT |} '''Το ποντιακόν τη λαλίαν''' εκαλάτσεβαν και καλατσέβνε οι [[Ρωμανίαν|Έλλενες Ρωμαίοι]] τη [[Πόντος|Πόντονος]]. Οι απογόν' ατουν σο σημερ'νόν τη [[Τουρκία|Τουρκίαν]] και τη [[Ρουσία|Ρουσίαν]] λέγ'ν' ατα «[[Ρωμανίαν|ρωμαίικα]]» (σην Τουρκίαν: ''romeyika'' για ''rumca'', σην Ρουσίαν: ромейка). Οι Ρωμαίοι τ' Ελλάδας λέγ'ν' ατα «ποντιακά». Έτον επίσημην γλώσσαν ση Δημοκρατίαν τη Πόντονος και σην [[Σύνδεζμος Σοβετικών Σοσιαλιστικών Δημοκρατίων|ΣΣΣΔ]]<ref>[https://web.archive.org/web/20090523024534/http://athens.indymedia.org/front.php3?lang=el&article_id=624246]</ref>. == Θέκεμαν == Τ' οσημερνόν τ' επίσημον νούνισμαν λεει το ποντιακόν η λαλίαν εν παρακλάδ τ' αρχαίου τ' ελλενιστικού τη Κοινής κι αποκουμπισκάται σα ιωνικά τ' ελλενικά. Έχ' απές [[Βικιπαίδεια:Λεχτικόν|λεχτικόν]] και [[Βικιπαίδεια:Γραμματικήν|γραμματικήν]] ασ' άλλα γλώσσας, άμον τ' οθωμανικόν ('κ εν τα τούρκικα τ' οσημερνού τη Τουρκίας), το ρούσικον κι άλλα γλώσσας τη [[Καύκασος|Καύκασονος]]. Ο γλωσσολόγον ο Μανόλης ο Τριανταφυλλίδης, χωρίζ' ατη σε τρία ιδιωματικά ομάδας: #τ' οινουντιακά ιδιώματα ασα τόπε τ' Οινόης (τουρκ. ''Ünye'', επηρεάσταν πολλά ασα νεοελλενικά) #τραπεζουντιακά ιδιώματα (επηρεάσταν ολίγον ασα νεοελλενικά) #χαλδιώτικα ιδιώματα (επηρεάσταν πολλά ασ' οθωμανικά τα τούρκικα) Ασ' άλλ τη μερέαν πα σα παλαιά τα χρόναι πολλοί ελογαρίαζαν πως το ποντιακόν η λαλία εν ιδιαίτερον ελλενικόν γλώσσαν. Αέτς λ.χ. ο Κώστας Τοπχαράς έγραψεν σο βιβλίονατ ''Ι Γραματικι Τι Ρομεικυ Τι Ποντεικυ Τι Γλοςας'', το ποντιακόν η λαλίαν ανεπτύχτεν σε διαφορετικά κοινωνικο-οικονομικά συνθήκας κι εδιαμόρφωσεν τατεινεθή λεχτικόν, φτογκολογίαν κλπ που διαφέρνε αση δημοτικήν και το λεχτικόνατς κι επηρεάστεν ασά ξενικά τα γλώσσας άμον ντο ίνεται σ' ούλαι τα γλώσσας, ακόμαν και σην δημοτικήν.<ref>Τοπχαράς, Κ. 1928, 1932: ''Ι Γραματικι Τι Ρομεικυ Τι Ποντεικυ Τι Γλοςας''. Ρόστοβ-Ντον, σελ. 18-19 ISBN 960-343-448-5</ref> Ο ρωμαίικον ο ποιητής και μεταφραστής Λεόντιος Κυριάκοβ ασην [[Ουκρανία|Ουκρανίαν]] έγραψεν πως τα ρωμαίικα τ' Ουκρανίας χωρίζνε αση δημοτικήν το καλατσέβνε σην Ελλάδαν, άμα τα δύα γλώσσας ένι καρδιακά αδέρφια κι έχνε έναν αρχαίον μάναν.<ref>[http://users.sch.gr/ioakenanid/leontijkyrjakov.htm ''Λεόντιος Κυριάκοβ, Ρωμιός ποιητής της Ουκρανίας'' ασον έργονατ: «ΚΑΛΥΣΉΝ», Donbas 1995.]</ref> == Αλφάβητον == Τα ρωμαίικα τη Πόντονος 'κ έχνε επίσημον αλφάβητον, άμα πολλοί [[Ρωμανίαν|Ρωμαίοι]] κουλανεύνε τ' ελλενικά τα γράμματα και θέκνε και διακριτικά για προφέρνε σωστά τα φτόγκους ατοί 'π δεαβάζνατα. Οι Ρωμαίοι τη [[Τουρκία|Τουρκίας]] και σα παλαιά δημοκρατίας τη Σ.Σ.Σ.Δ. κουλανεύνε τ' ατεινέτερα τα γράμματα. Ο [[Κώστας Τοπχαράς|Κώστας Τοπχαράς]] εποίκεν κι εκουλενέυτεν σα βιβλίανατ ιδιαίτερον ποντιακόν αλφάβητον, το «φωνητικόν αλφάβητον» το οποίον αποκουμπισκάται σα ελλενικά τα γράμματα. Επλοποίησεν την ορθογραφίαν «τ' ιστορικού τ' αλφάβητου», εφήκεν τα «περισσά» τα γράμματα και σημείον για τον τόνον 'κ έβαζεν. Εκράτησεν το ''Υ'', το οποίο προφέρκεται ''ΟΥ'' [u]. Τα ''Ξ'' και ''Ψ'' μεταβάλκουνταν σε ''ΚΣ'' και ''ΠΣ'' για να «λείπ' η σύγχιση». Κιαραέτς επέμνεν το αλφάβητον με τα ακόλουθα γράμματα:<ref>Τοπχαράς, Κ.: ''Ι Γραματικι Τι Ρομεικυ Τι Ποντεικυ Τι Γλοςας'', σελ. 2-5.</ref> {| class="wikitable" |- ! Φωνητικόν<br>αλφάβητον !! Τούρκικον<br>αλφάβητον !! Ρούσικον<br>αλφάβητον !! IPA !! Παράδειγμαν |- | Α α || A a || А а || [a] || ρομεικ'''α''', romeyik'''a''', ромейк'''а''' |- | Β β || V v || В в || [v] || κατι'''β'''ενο, kati'''v'''eno, кати'''в'''ено |- | Γ γ || Ğ ğ || Г г || [ɣ] [ʝ] || '''γ'''ανεβο, '''ğ'''anevo, '''г'''анево |- | Δ δ || DH dh || Д д || [ð] || '''δ'''οντι, '''dh'''onti, '''д'''онти |- | Ε ε || E e || Е е || [e] || '''ε'''γαπεςα, '''e'''ğapesa, '''е'''гапеса |- | Ζ ζ || Z z || З з || [z] || '''ζ'''αντος, '''z'''antos, '''з'''антос |- | ΖΖ ζζ || J j || Ж ж || [ʒ] || πυρ'''ζζ'''υας, bur'''j'''uvas, бур'''ж'''уас |- | Θ θ || TH th || С с, Ф ф, Т т || [θ] || '''θ'''εκο, '''th'''eko, '''т'''еко |- | Ι ι || İ i || И и || [i] || τοςπ'''ι'''τοπον, tosp'''i'''topon, тосп'''и'''топон |- | Κ κ || K k || К к || [k] || '''κ'''αλατζεμαν, '''k'''alaceman, '''к'''алачеман |- | Λ λ || L l || Л л || [l] || '''λ'''αλια, '''l'''alia, '''л'''алиа |- | Μ μ || M m || М м || [m] || '''μ'''ανα, '''m'''ana, '''м'''ана |- | Ν ν || N n || Н н || [n] || ολιγο'''ν''', oliğо'''n''', олиго'''н''' |- | Ο ο || O o || О о || [o] || τεμετερ'''ο'''ν, temeter'''o'''n, теметер'''о'''н |- | Π π || P p || П п || [p] || εγα'''π'''εςα, eğa'''p'''esa, ега'''п'''еса |- | Ρ ρ || R r || Р р || [ɾ] || '''ρ'''ομεικα, '''r'''omeyika, '''р'''омейка |- | Σ ς || S s || С с || [s] || καλατζεπ'''ς'''ον, kalacep'''s'''on, калачеп'''с'''он |- | ΣΣ ςς || Ş ş || Ш ш || [ʃ] || '''ςς'''ερι, '''ş'''eri, '''ш'''ери |- | Τ τ || T t || Т т || [t] || νος'''τ'''ιμεςα, nos'''t'''imesa, нос'''т'''имеса |- | ΤΖ τζ || C c || Ч ч || [ʤ] || καλα'''τζ'''εμαν, kala'''c'''eman, кала'''ч'''еман |- | ΤΣ τς || Ç ç || Ц ц || [tʃ] || μανι'''τς'''α, mani'''ç'''a, мани'''ц'''а |- | Υ υ || U u || У у || [u] || ν'''υ'''ς, n'''u'''s, н'''у'''с |- | Φ φ || F f || Ф ф || [f] || εμορ'''φ'''α, emor'''f'''a, эмор'''ф'''а |- | Χ χ || H, KH (sert H) || Х х || [x] || '''χ'''αςον, '''h'''ason, '''х'''асон |} == Αναφοράντας == <div style="font-size:90%;"><references/></div></div> == Συνδέζμ == * [http://www.ethnologue.com/show_language.asp?code=PNT Ethnologue.com] * [https://web.archive.org/web/20110526032426/http://www.ptolemaida.net/anamnhseis-almpoum-21.html Pontos Kültürü] - Το βιβλίον τη Ομέρ Ασάν online σην ptolemaida.net * [http://www.ocena.info/ Ocena.info] - Σελίδαν τη ρωμαίικου χωρί τ' Ότσενας, σην Τραπεζούνταν σουμά (σα ποντιακά, με τούρκικα γράμματα) {{authority control}} [[Κατηγορίαν:Πόντος|Ποντιακα]] [[Κατηγορίαν:Λαλίαν|Ποντιακα]] af9pzskdbqcxwiuaaf9o2lf9fe4qa0f Πορτογαλία 0 256 35950 34866 2024-10-26T05:27:32Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35950 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Πορτογαλία'''</big></big><br/>''República Portuguesa'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Portugal.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Portugal.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Portugal.svg|300px]] |} Το '''Πορτογαλικόν η Δημοκρατίαν''' (σα πορτογαλικά: ''República Portuguesa'') εν [[κράτος]] σα νότια τη [[Ευρώπην|Ευρώπης]], σ' [[Ιβηρικόν Χερσόνησος|Ιβηρικόν τη χερσόνησον]]. Πρωτεύουσαν ατ'ς εν η [[Λισαβώνα]] και ο πρωθυπουργόν ατ'ς εν ο [[Αντόνιο Κόστα]]. Η Πορτογαλίαν ευρίεται σον Ατλαντικόν τον Οκεανόν, σα δυτικά τη [[Ισπανία|Ισπανίας]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Portugal|Η Πορτογαλίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Πορτογαλία|Η Πορτογαλίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Portugal|Χάρτες αση Πορτογαλίαν]]''' * [https://web.archive.org/web/20170713105624/http://www.portugal.org/ Το επίσημον ο ιστοτόπον τη Πορτογαλίας] * [http://www.portugal.gov.pt/Portal/EN/ Το επίσημον ο ιστοτόπον τη κυβέρνησης τη Πορτογαλίας] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Πορτογαλία]] [[Κατηγορίαν:Ευρώπη|Πορτογαλία]] [[Κατηγορίαν:Ιβηρία|Πορτογαλία]] [[Κατηγορίαν:Πορτογαλία| ]] fqd90of3sl6wcu3fuz0xuppiyxmd7k6 Πρωτεύουσα 0 257 31399 31034 2013-03-07T23:31:12Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 2 interwiki links, now provided by [[d:|Wikidata]] on [[d:q5119]] [[M:User:Addbot/WDS|(translate me)]] 31399 wikitext text/x-wiki [[Αρχείον:Ελληνική Βουλή Αθήνα.jpg|thumb|Τ' Ελλενικόν η Βουλή σην Αθήναν εν έδρα τη κυβέρνησης τ' Ελλάδας]] '''Πρωτεύουσα''' λέγομε την πολιτείαν ντο εν πολιτικόν και διοικητικόν κέντρον [[Κράτος|κράτονος]] ή τόπονος και έδρα τη κυβέρνησης. Άμαν πολλά κράτη έχνε την έδραν τη κυβέρνησης ατούν σ' άλλον πολιτείαν, οξουκά ασήν πρωτεύουσαν. Αέτς λ.χ. η [[Ολλανδία]] έχ' πρωτεύουσαν το [[Άμστερνταμ]] κι έδραν τη κυβέρνησης τη [[Χάγη|Χάγην]].<br /> Τ' ασ' ουλτς τρανόν πολιτείαν 'κ πρεπ' να εν η πρωτεύουσαν. Αέτς λ.χ. η [[Τουρκία]] έχ' πρωτεύουσαν την [[Άγκυραν]], κι ασ' ουλτς τρανόν πολιτείαν την [[Κωνσταντινούπολην]]. [[Κατηγορίαν:Γεωγραφίαν|Πρωτευουσα]] 7o67fu0jko1n3devvm5ztcolemqaefc Πόλη 0 258 36342 33119 2025-12-15T13:50:22Z Εὐθυμένης 2777 36342 wikitext text/x-wiki {{delete|too short}} [[Αρχείον:גשר מעריב Maariv bridge (181).JPG|thumb|Πόλη]] {{polytonic|Η '''Πόλη''' εν τόπος.}} * [[Πόλεις]] [[Κατηγορίαν:Πολιτείας| ]] 7bo9778ubyms4g89pdkcnuagffukbif Πόντος 0 259 35277 34365 2022-12-17T20:39:40Z Εὐθυμένης 2777 ([[c:GR|GR]]) [[File:Tr ponto2.gif]] → [[File:Flag of Pontus (2).svg]] 35277 wikitext text/x-wiki :''Αβούτο εν γράψιμον για τον τόπον τη Πόντονος. Για τη θάλασσαν δεαβάστεν: [[Εύξεινος Πόντος]]'' [[Εικόναν:Mithridates VI of Pontus.jpg|thumb|Μιθριδάτες ο Τρανόν (Ευπάτωρ)]] [[Εικόναν:Pontosmap el.svg|thumb|Γεωγραφίαν του Πόντου]] [[Εικόναν:Flag of Pontus (2).svg|thumb|Σημαίαν τ' αυτόνομου Ποντιακού Δημοκρατίας (1917-1919)]] '''Πόντον''' λέγομε τον τόπον τη Μ. Ασίας ντ' ευρισκάται σο βορράν τ' οσημερνού τη [[Τουρκία|Τουρκίας]]. Εν σο [[Μαύρον θάλασσα|Μαύρον τη θάλασσαν]] αφκά κι επαίρεν τόνεμαν ατ' ασ' αρχαίον τόνεμαν τη θάλασσας: [[Εύξεινος Πόντος|Ευξείνος Πόντος]]. == Γεωγραφία == Ο Πόντος έx̌ σχήμαν αμόν το τοξάρ και ευρισκάται απαναφκά σο [[Βατούμι]] (πολιτεία τ' οσημερνού τη [[Γεωργία|Γεωργίας]]) και σην [[Σινώπη|Σινώπην]] απεσκές. Σα νότεα έx̌ σύνορα (σα 200-300 χιλιομέτρα) τα ψηλορραχέας τη Σκυδίση, τη Παρυάδρη και τη Αντιταύρονος ([[Ποντιακά Παρχάραι]]). == Μυθολογίαν == Κατά τ' ελλενικόν τη μυθολογίαν σ' αβούτον τον τόπον εζήνεν ο θεόν [[Πόντος (μυθολογία)|Πόντος]], ο γιον τ' [[Αιθέρας|Αιθέρα]] και τη [[Γαία|Γαίας]]. Σην θάλασσαν αυτέν εταξίδεψεν και ο [[Ιάσονας]] όντες εχπάστεν τ' [[Αργοναυτικόν εκστρατεία|Αργοναυτικόν την εκστρατείαν]]. Ο [[Αυτόλυκος]] (έτον απές σ' αυτοίν τ' Αργοναυτικού τ' εκστρατείας) ίδρυσεν τη [[Σινώπη|Σινωπή]]. == Ιστορίαν == Σον 8ο π.Χ. αιώνα οι Έλλενες εποίκαν τα πρώτα ελλενικά πολιτείας σον Πόντον. Πολλά τ' ατεινέτερων εχπάσταν ασ' ανθρώπς τη [[Μίλητος|Μίλητονος]]. Το 363 π.Χ. εποίκαν «Το βασίλειον τη Πόντονος». Ο πρώτον βασιλέας έτον ο Μιθριδάτες ο Κτίστες (302-266 π.Χ.). Ο τελευταίον βασιλέας έτον ο Μιθριδάτες ΣΤ' ο Τρανόν, ο Ευπάτωρ (132–63 π.Χ.). Αντιφέρκουτον κι επολέμησεν 30 χρόνε το [[Ρωμαϊκόν αυτοκρατορίαν|Ρωμαϊκόν τη αυτοκρατορίαν]] και σο τέλος έχασεν τον πόλεμον. Σον 1ο π.Χ. αιώνα ο Πόντος εγέντον ρωμαϊκόν επαρχίαν ''Bithynia et Pontus'' με πρωτεύουσαν την [[Αμάσεια|Αμάσειαν]] και οι Έλλενοι τη Μαύρη τη Θάλασσας, όπως και όλ' οι Έλλενοι, γάλια γάλια ερχίνεσαν ν' ονομάζνε τον νιαυτόνατουν «Ρωμαίοι». Σο Βυζαντινόν τη περίοδο (1204-1461) οι Κομνηνοί εποίκαν βασίλειον την [[Αυτοκρατορία τη Τραπεζούντας]] σε τόπον σην Σινώπην και σην [[Γεωργία|Γεωργίαν]] απές. Ση δύσαν τη τρανού τη πολέμονος σα 1918 τη χρονίαν, οι Έλλενες ορθόδοξοι τη Πόντονος εγράσεψαν ν' εφτάγνε ανεξάρτητον κράτος (αυτόνομον, ή συνομοσπονδίαν με τ' Αρμενάντ' εντάμαν). Άμα η [[Ελλάδα|Ελλάδαν]] έχασεν τ' ελλενοτουρκικόν πόλεμον (1919-1922) και με τη συνθήκη τη Λωζάνης (1922) οι Έλλενες χριστιανοί τη Πόντονος εξεριζώθαν ασην πατρίδαν ατουν κι εχατεύταν σην Ελλάδαν, κι εκεί έδωκανατουν τ' όνεμα «Πόντιοι». Σον τ' ατεινέτερων τον δρόμον, πολλοί επέθαναν και πολλοί εσκοτώθαν. Για τ' ατό οσήμερον λέγομε για τη [http://el.wikipedia.org/wiki/Γενοκτονία_των_Ελλήνων «Γενοκτονία τη Ποντίων»]. == Τέρεν == *[[Εύξεινος Πόντος]] [[Κατηγορίαν:Ελλενικόν ιστορίαν|Ποντος]] [[Κατηγορίαν:Μαύρον Θάλασσα|Ποντος]] 119lwpn1w8uun4j7si954jmqq752w3n Ρήμαν 0 260 32536 31037 2015-10-12T11:04:04Z 79.103.7.101 /* Αρχαιότροπες καταλήξεις */ 32536 wikitext text/x-wiki '''Ρήμαν''' λέγουμε τα λέξεις που φανερών'νε ντο εφτάει (''«γράφω»''), για ντο παθάν (''«βρέχουμαι»'') το [[υποκείμενον]]. == Το ενεργητικόν και το παθητικόν η μορφήν == Τα ρήματα που τελειών'νε σο πρώτον τ' ενικόν πρόσωπον τ' ενεστώτα σε ''-ω'' είναι σο ενεργητικόν τη μορφήν και κοφτά λέγουματα «ενεργητικά». Άμαν σο νόημαν όλεα ενεργητικά 'κ είναι, λ.χ. ''υπάρχω''. Πολλά όμως ασ' ατά φανερών'νε πως το υποκείμενο ενεργεί, λ.χ. ''τρέχω, πλέκω''. Τα ρήματα που τελειών'νε σο πρώτον τ' ενικόν πρόσωπον τ' ενεστώτα σε ''-ωμαι'' ή σε ''-ουμαι'' είναι σο παθητικόν τη μορφήν και κοφτά λέγουματα «παθητικά». Λέγουμε κι ατά πα παθητικά επειδή και πολλά ασ' ατά φανερών'νε πως το υποκείμενον κατ' παθάν, λ.χ. ''τυρανίουμαι, βρέχουμαι'' κ.τ.λ. Έχουμε άμαν ρήματα παθητικά που 'κ φανερών'νε πάθεμαν αλλά ενέργειαν, λ.χ. ''εργάζομαι''. == Οι χρόνοι == Η πράξη και το πάθεμαν τη ρηματί 'κ γίνταν πάντα σον ίδιον καιρόν. Για τ' ατό και σο ρήμαν διακρίνουμε διάφορα χρόνους, που κυρίως είναι τρία: # Το ατωριζνόν (''γράφω'') # Το μελλούμενον (''θα γράφω'') # Το περαζμένον (''έγραψα'') == Αρχαιότροπες καταλήξεις == * Το ανακατώνομαι εγέντον <u>ανακατούμαι</u>. * Το απλώνομαι εγέντον <u>απλούμαι</u>. == Τέρεν == * [[Επίρρημαν]] * [[Ουσιαστικόν]] * [[Σύνδεσμον]] == Βιβλιογραφία == * Τοπχαράς, Κ. 1928, 1932: ''Ι Γραματικι Τι Ρομεικυ Τι Ποντεικυ Τι Γλοςας''. Ρόστοβ-Ντον. ISBN 960-343-448-5 [[Κατηγορίαν:Γραμματικήν|Ρημαν]] en592gw5l02wa1mk49kn7f5iu3jvask Ρουμανία 0 261 35952 34868 2024-10-26T05:27:36Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35952 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Ρουμανία'''</big></big><br/>''România'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Romania.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Romania.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Romania.svg|300px]] |} Η '''Ρουμανία''' (σα ρουμάνικα ''România'') εν [[κράτος]] σην ανατολήν [[Ευρώπην]]. Πρωτεύουσαν ατ'ς εν το [[Βουκουρέστι]] και ο πρόεδρον ατ'ς εν ο [[Κλάους Γιοχάνις]]. Η χώρα εχ' πληθυσμόν σα 19,042,936 (2011) τ' ανθρώπ'ς. == Γεωγραφίαν == Η Ρουμανίαν ευρίεται απεσκέσ' ση [[Μολδαβία|Μολδαβίαν]], ση [[Ουκρανία|Ουκρανίαν]], ση [[Βουλγαρία|Βουλγαρίαν]], [[Ουγγαρία|Ουγγαρίαν]], και ση [[Σερβία|Σερβίαν]]. Σ' ανατολήν συνορεύ' με το [[Μαύρον Θάλασσα‎|Μαύρον τη Θάλασσα‎ν]]. Τζιπ τρανά ρουμανικά πολιτείας εν το [[Ιάσιο|Ιάσιον]], η [[Κλουζ-Ναπόκα]], η [[Κωστάντζα]], και το [[Γαλάτσι|Γαλάτσιν]] . == Συνδέζμαι == * '''[[Εικόναν:Commons-logo.svg|15px]] [[:el:commons:Romania|Η Ρουμανίαν σα Commons]]''' * '''[[Εικόναν:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Ρουμανία|Η Ρουμανίαν σο Βικιλεξικόν]]''' * '''[[Εικόναν:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Romania|Χάρτες αση Ρουμανίαν]]''' * [https://web.archive.org/web/20061004115558/http://www.gov.ro/engleza/ Το επίσημον ο ιστοτόπον τη κυβέρνησης τη Ρουμανίας] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Ρουμανία]] [[Κατηγορίαν:Ευρώπη|Ρουμανία]] [[Κατηγορίαν:Βαλκάνια|Ρουμανία]] [[Κατηγορίαν:Ρουμανία| ]] 0rmb7jj59kpgkzbjr5s9oo81hduv5wj Ρωμανίαν 0 262 35420 34234 2023-06-07T03:46:17Z Zemant 2522 /* Ρωμαϊκόν Αυτοκρατορίαν */ 35420 wikitext text/x-wiki [[Εικόναν:Byzantine Empire animated.gif|thumb|Η Ρωμανίαν απαρχής ους το τέλος.]] '''Ρωμανίαν''' (τ'επίσημον τ'όνομαν έτον: ''Βασιλεία τῶν Ῥωμαίων'', οσήμερον λέγν'ατέν οι [[ιστορία|ιστοριογράφ']] '''Βυζαντινόν Αυτοκρατορία''' ή '''Βυζάντιον''' μαναχόν) έτον τ' όνομαν είνος αυτοκρατορίας ντο είςεν [[πρωτεύουσα|πρωτεύουσαν]] την [[Ρώμη|Ρώμην]] και την [[Κωνσταντινούπολη|Κωνσταντινούπολην]]. Ασού εξέβεν ασο [[Ρωμαϊκόν Αυτοκρατορία|Ρωμαϊκόν την Αυτοκρατορίαν]] λέγν' ατέν και '''Ανατολικόν Ρωμαϊκόν Αυτοκρατορία'''. Ασο Ρωμαϊκόν την αυτοκρατορία, εγεννέθεν το ''«Εκχριστιανισμένον Ρωμαϊκόν κράτος τη Ανατολής»''. Όνταν είςεν την αφεντίαν η δυναστείαν τη [[Ηράκλειος|Ηρακλείου]] η χώραν ελλάγεν κι έντον ''«Εξελληνισμένον αυτοκρατορία τη χριστιανικού τη Ανατολής»''. Ασό [[1204]] κι επεκεί, ασού επαίραν το βασιλοσκάμν' οι [[Λατίνοι]], εγεννέθεν τ' ''«Ελλενικόν το Βυζαντινόν η Αυτοκρατορία»''<ref>''Ιστορία του Ελληνικού έθνους'', τόμ. Ζ', σελ. 5</ref>. == Ιστορίαν == Όντες οι Έλλενοι ενίκησαν σον [[Τρωικόν πόλεμον|Τρωικόν πόλεμος]], ένοιξεν ο δρόμος προς τον Άξενον Πόντον. Αέτς έλεγαν οι Έλλενοι σην αρχήν το [[Μαύρον Θάλασσα|Μαύρον την Θάλασσαν]]. Όντες εγνώρτσαν καλλίον ατέν, ονόμασαν ατέν «[[Εύξεινος Πόντος|Εύξεινον Πόντον]]» (το φιλόξενον η θάλασσα). === Βασίλειον τη Πόντονος === Το 363 π.Χ. εποίκαν «Το βασίλειον τη Πόντονος». Ο πρώτον βασιλέας έτον ο Μιθριδάτες ο Κτίστες (302-266 π.Χ.). Ο τελευταίον βασιλέας έτον ο Μιθριδάτες ΣΤ΄ ο Μεγάλον, ο Ευπάτωρ (132–63 π.Χ.). Αντιφέρκουτον κι επολέμησεν 30 χρόνε το [[Ρωμαϊκόν Αυτοκρατορίαν|Ρωμαϊκόν τη αυτοκρατορίαν]] και σο τέλος έχασεν τον πόλεμον. === Ρωμαϊκόν Αυτοκρατορίαν === Ασό 63 τη χρονίαν π.Χ. ο Πόντον έντονε μέρος τη Ρωμαϊκού τη αυτοκρατορίας και οι Έλλενοι τη Μαύρη τη Θάλασσας, όπως και όλ οι Έλλενοι, γάλια γάλια ερχίνεσαν να ονομάζνε τον νιαυτόνατουν «[[Ρωμαίοι]]». == Παραπομπές == <references/> [[Κατηγορίαν:Ρωμανίαν|*]] [[Κατηγορίαν:Ιστορίαν]] 7bvkf3oxp1pm0af7wslh99c76bm8fug Πρότυπον:Σ' άλλα γλώσσας 10 263 37407 33698 2025-12-30T21:58:38Z Таёжный лес 10003 Ο Таёжный лес μετακίνησε τη σελίδα [[Σ' άλλα γλώσσας]] στην [[Πρότυπον:Σ' άλλα γλώσσας]] 33698 wikitext text/x-wiki <div style="font-size:150%;font-weight:bold; text-align: center"> Η Βικιπαίδεια σ' άλλα γλώσσας ---- </div> <div style="font-size:115%; padding-left:5px; margin-bottom: 0.5em; text-align: left"> <!--Biggest Wikipedias--> '''100 000 +'''<br/></div> <div style="font-size:95%; padding-left:7px; margin-bottom: 1em; text-align: left"> [[:en:|English]] &nbsp;•&nbsp; [[:de:|Deutsch (German)]] &nbsp;•&nbsp; [[:ja:|日本語 (Japanese)]] &nbsp;•&nbsp; [[:fr:|Français (French)]] &nbsp;•&nbsp; [[:pl:|Polski (Polish)]] &nbsp;•&nbsp; [[:fi:|Suomi (Finnish)]] &nbsp;•&nbsp; [[:sv:|Svenska (Swedish)]] &nbsp;•&nbsp; [[:nl:|Nederlands (Dutch)]] &nbsp;•&nbsp; [[:es:|Español (Spanish)]] &nbsp;•&nbsp; [[:it:|Italiano (Italian)]] &nbsp;•&nbsp; [[:no:|Norsk (Norwegian Bokmål)]] &nbsp;•&nbsp; [[:pt:|Português (Portuguese)]] &nbsp;•&nbsp; [[:ru:|Русский (Russian)]] &nbsp;•&nbsp; [[:zh:|中文 (Chinese)]] </div> <!--Πολλά τρανά Βικιπαίδειας Wikipedias--> <div style="font-size:100%; padding-left:7px; margin-bottom: 0.5em; text-align: left"> <!--Τρανά Βικιπαίδειας--> '''10 000 +'''</div> <div style="font-size:95%; padding-left:7px; margin-bottom: 0.5em; text-align: left"> [[:ar:|العربية (Arabic)]] &nbsp;•&nbsp; [[:bg:|Български (Bulgarian)]] &nbsp;•&nbsp; [[:bs:|Bosanski (Bosnian)]] &nbsp;•&nbsp; [[:ca:|Català (Catalan)]] &nbsp;•&nbsp; [[:cs:|Česká (Czech)]] &nbsp;•&nbsp; [[:cy:|Cymraeg (Welsh)]] &nbsp;•&nbsp; [[:da:|Dansk (Danish)]] &nbsp;•&nbsp; [[:el:|Ελληνικά (Greek)]] &nbsp;•&nbsp; [[:eo:|Esperanto]] &nbsp;•&nbsp; [[:et:|Eesti (Estonian)]] &nbsp;•&nbsp; [[:eu:|Euskara (Basque)]] &nbsp;•&nbsp; [[:gl:|Galego (Galician)]] &nbsp;•&nbsp; [[:he:|עברית (Hebrew)]] &nbsp;•&nbsp; [[:hi:|हिन्दी (Hindi)]] &nbsp;•&nbsp; [[:hr:|Hrvatski (Croatian)]] &nbsp;•&nbsp; [[:hu:|Magyar (Hungarian)]] &nbsp;•&nbsp; [[:io:|Ido]] &nbsp;•&nbsp; [[:id:|Bahasa Indonesia (Indonesian)]] &nbsp;•&nbsp; [[:is:|Íslenska (Icelandic)]] &nbsp;•&nbsp; [[:jv:|Basa Jawa (Javanese)]] &nbsp;•&nbsp; [[:ko:|한국어 (Korean)]] &nbsp;•&nbsp; [[:la:|Latina (Latin)]] &nbsp;•&nbsp; [[:lb:|Lëtzebuergesch (Luxembourgish)]] &nbsp;•&nbsp; [[:lt:|Lietuvių (Lithuanian)]] &nbsp;•&nbsp; [[:lv:|Latviešu (Latvian)]] &nbsp;•&nbsp; [[:ms:|Bahasa Melayu (Malay)]] &nbsp;•&nbsp; [[:nds:|Plattdüütsch (Low Saxon)]] &nbsp;•&nbsp; [[:nn:|Norsk (Norwegian Nynorsk)]] &nbsp;•&nbsp; [[:fa:|فارسی (Persian)]] &nbsp;•&nbsp; [[:ro:|Română (Romanian)]] &nbsp;•&nbsp; [[:scn:|Sicilianu (Sicilian)]] &nbsp;•&nbsp; <!--'''Simple''' &nbsp;•&nbsp;--> [[:sk:|Slovenčina (Slovak)]] &nbsp;•&nbsp; [[:sl:|Slovenščina (Slovenian)]] &nbsp;•&nbsp; [[:sr:|Српски (Serbian)]] &nbsp;•&nbsp; [[:su:|Basa Sunda (Sundanese)]] &nbsp;•&nbsp; [[:ta:|தமிழ் (Tamil)]] &nbsp;•&nbsp; [[:th:|ไทย (Thai)]] &nbsp;•&nbsp; [[:tr:|Türkçe (Turkish)]] &nbsp;•&nbsp; [[:uk:|Українська (Ukrainian)]] &nbsp;•&nbsp; [[:vi:|Tiếng Việt (Vietnamese)]] </div> <div style="font-size:100%; padding-left:7px; margin-bottom: 0.5em; text-align: left"> <!--Βικιπαίδειας με πολλά γραψίματα--> '''1 000 +'''</div> <div style="font-size:95%; padding-left:7px; margin-bottom: 1em; text-align: left"> [[:af:|Afrikaans]] &nbsp;•&nbsp; [[:ast:|Asturianu (Asturian)]] &nbsp;•&nbsp; [[:be:|Беларуская (Belarusian)]] &nbsp;•&nbsp; [[:csb:|Kaszëbsczi (Kashubian)]] &nbsp;•&nbsp; [[:fy:|Frysk (Western Frisian)]] &nbsp;•&nbsp; [[:ga:|Gaeilge (Irish)]] &nbsp;•&nbsp; [[:ia:|Interlingua]] &nbsp;•&nbsp; [[:jbo:|Lojban]] &nbsp;•&nbsp; [[:ku:|Kurdî (Kurdish)]] &nbsp;•&nbsp; [[:kw:|Kernewek (Cornish)]] &nbsp;•&nbsp; [[:zh-min-nan:|Bân-lâm-gú (Southern Min)]] &nbsp;•&nbsp; [[:oc:|Occitan]] &nbsp;•&nbsp; [[:sa:|संस्कृत (Sanskrit)]] &nbsp;•&nbsp; [[:sco:|Scots]] &nbsp;•&nbsp; [[:tt:|Tatarça (Tatar)]] &nbsp;•&nbsp; [[:ur:|اردو (Urdu)]] &nbsp;•&nbsp; [[:wa:|Walon (Walloon)]] &nbsp;•&nbsp; [[:yi:|יידיש (Yiddish)]] &nbsp;•&nbsp; [[:zh-classical:|古文/文言文 (Classical Chinese)]] <!--Βικιπαίδειας με πολλά γραψίματα--> </div> <div style="font-size:95%; padding-left:7px; margin-bottom: 0.5em; text-align: left"> <!--Βικιπαίδειας με ολίγα γραψίματα--> '''100 +'''</div> <div style="font-size:95%; padding-left:7px; margin-bottom: 1.5em; text-align: left"> [[:cr:|Nehiyaw (Cree)]] &nbsp;•&nbsp; [[:cu:|словѣньскъ (Old Church Slavonic)]] &nbsp;•&nbsp; [[:got:|gutisk (Gothic)]] &nbsp;•&nbsp; [[:mi:|Māori]] </div> <div style="padding-right:10px; text-align: center; border-top:1px solid #e6d5ed;"> '''[[m:Complete list of language Wikipedias available|Κατάλογον μ' όλεα τα Βικιπαίδειας]]''' &ndash; '''[[:en:Wikipedia:Multilingual coordination|Συνεργίαν τη γλωσσίων]]''' </div><noinclude> <!--this text is not included on the main page. It is only included here to remove the page from Special:Deadendpages. --> ---- Αβούτη η σελίδαν εν κομμάτ' τ'[[Αρχικόν σελίδα|αρχικού τη σελίδας]] [[Κατηγορίαν:Wp/pnt|Σ' άλλα γλώσσας]] </noinclude> j48ax60vaqcwru0x9wavu9hl4a6lovp Σάββαν 0 264 31041 30610 2013-03-07T18:12:21Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 175 interwiki links, now provided by [[d:|Wikidata]] on [[d:q131]] [[M:User:Addbot/WDS|(translate me)]] 31041 wikitext text/x-wiki Το '''Σάββαν''' (σ' [[Ελλενικόν γλώσσα|ελλενικά]]: ''Σάββατο'') εν τ' έβδομον ημέρα τ' [[Εβδομάδα|εβδομάδας]]. == Ο λαόν για το Σάββαν == :''«Σάββαν δέβ'ασην δουλείας'' :''κι'έλα εφτάμε εμείς φιλίας.»'' :''«Την Σάββαν αν έεις δουλείαν,'' :''τούλωσον, μ΄εβγάλ΄ς λαλίαν.»'' == Συνδέσμ == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:Saturday|Σάββαν σα Commons]]''' * '''[[Αρχείον:Wiktfavicon en.svg|16px|Βικιλεξικόν]] [[:el: wikt:Σάββατο|Το Σάββαν (Σάββατο) σ’ ελλενικόν το Βικιλεξικόν]]''' {{Πρότυπον:Ημέρας τη εβδομάδας‎}} [[Κατηγορίαν:Ημέρας τη εβδομάδας|Σάββαν]] oq4tz2uc2iiuzdwe5c2hhzdlkkp408x Σερβία 0 265 35954 35657 2024-10-26T05:27:44Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35954 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Σερβία'''</big></big><br/>''Република Србија'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | width="140" align="center" | [[Αρχείον:Flag of Serbia.svg|125px]] | width="140" align="center" | [[Αρχείον:Coat of arms of Serbia.svg|125px]] |- | width="140" align="center" | | width="140" align="center" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Location of Serbia in Europe (2006–2008).png|300px]] |} Η '''Δημοκρατίαν τη Σερβίας''' (σα σέρβικα: ''Република Србија'') εν [[κράτος]] ντο ευρίεται σο Βαλκανικόν τη χερσόνησον, σα νοτιοανατολικά τη [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν το [[Βελιγράδι|Βελιγράδ']]. Η χώρα εχ' πληθυσμόν σα 9.396.411 τ' ανθρώπ'ς (με το [[Κόσοβο|Κόσοβον]]). == Γεωγραφίαν == Η Σερβία ευρίεται σα βόρεια τη [[ΠΓΔΜ]], σα δυτικά τη [[Βουλγαρία|Βουλγαρίας]] και τη [[Ρουμανία|Ρουμανίας]], σα νότια τη [[Ουγγαρία|Ουγγαρίας]] και σα ανατολικά τη [[Κροατία|Κροατίας]], τη [[Βοσνία και Ερζεγοβίνη|Βοσνίας]] και τη [[Μαυροβούνιον|Μαυροβουνιατί]]. Σα τρανά τα πολιτείας τη χώρας ανήκ'νε η [[Νις]] και το [[Κραγκούγιεβατς]]. == Ιστορίαν == Σα 822 τη χρονίαν ο Αϊνάρδος (βιογράφον τη [[Καρλομάγνος|Καρλομάγν']]) εφτάει γράψιμον για το πρώτον το σερβικόν το ντεβλέτι. Ζουπάνον (''Župan'') εκείνη την εποχήν έτον ο Στρογιμίρ. Γύρω σα 1000 τη χρονίαν τ' οσημερινόν η Σερβίαν έντον φελίν τη [[Ρωμανίαν|Βυζαντινού τη Αυτοκρατορίας]]. Σα 1040 ο Στέφαν Βόγισλαβ έντον βυζαντινόν άρχοντας. Οι Σερβάντ επολέμησαν τ' [[Οθωμανικόν αυτοκρατορίαν|Οθωμανικόν Αυτοκρατορίαν]], άμαν σο τέλος έχασαν τον πόλεμον και σα 1459 έντανε μέρος ατ'ς για 345 χρόνε. Σα 1918 τη χρονίαν οι Σερβάντ ένταν ένα με τοι Κροατάντ και τοι [[Σλοβενία|Σλοβενάντ]] κι εποίκαν εντάμαν κενούρεον πολυεθνικόν το «Βασίλειον τη Σερβαντίων, τη Κροαταντίων και τη Σλοβεναντίων». Ατό το κράτος επαίρεν σα 1929 τη χρονίαν τ' όνεμα «Γιουγκοσλαβία». Μετά τα 1945 έντον κομμουνιστικόν χώραν και η Κροατίαν έντον μιαν ασα Δημοκρατίας ατ'ς. Σα 1991 τη χρονίαν ερχίνεσαν τρανά πολέμ' και σο τέλος η Γιουγκοσλαβίαν εταγουτεύτεν. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Serbia|Η Σερβίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Σερβία|Η Σερβίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Serbia|Χάρτες αση Σερβίαν]]''' * [https://web.archive.org/web/20100328050736/http://www.serbia.sr.gov.yu/ Το επίσημον ο ιστοτόπον τη κυβέρνησης τη Σερβίας] {{Πρότυπον:Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Σερβία]] [[Κατηγορίαν:Ευρώπη|Σερβία]] [[Κατηγορίαν:Βαλκάνια|Σερβία]] [[Κατηγορίαν:Σερβία| ]] kosdbbt492yzn6z4qkt63n9redpxlk4 Σινώπη 0 266 36744 36735 2025-12-16T08:37:05Z Εὐθυμένης 2777 36744 wikitext text/x-wiki [[Εικόναν:Sinop Turkey Provinces locator.gif|thumb|230px|right|Η Σινώπη σον τούρκικον τον χάρτεν.]] Η '''Σινώπη''' (τουρκ. ''Sinop'') εν οσήμερον [[Τουρκία|τούρκικον]] πολιτείαν τη κι ευρίεται σην επαρχίαν τη Σινώπης, σον [[Πόντος|Πόντον]]. Σ' αβούτεν την πολιτείαν εγεννέθεν ο τρανόν ο φιλόσοφον ο [[Διογένες ο Σινωπέας|Διογένες]]. ==Ιστορία== Η Σινώπη ήταν πόλιτείαν με άγνωστον η ίδρυσές τη. Πρώτοιν άποικοι έταν οι κάτοικοι τη [[Μίλητος|Μιλέτου]] περί τον 8ο αι. π.Χ. Το όνοματη έρκεται από τη μεθολογική κόυζουμ του ποταμ Ασωπού, ''Σινώπη''. Η Σινώπη έταν η πρώτη ελλενικήν αποικαίν σο Πόντον και η [[Τραπεζούς]], η [[Κερασούς]] και τα [[Κοτύωρα]] έταν αποικίε τη Σινώπης. Κατς τη Βεζαντινήν περίοδον κι είκε σπουδαίαν σεμασίαν και το [[1462]] κατελέφθην από τον Μωάμεθ και οι νομάτοι μεταφέρθέκαν στη [[Κωνσταντινούπολη]] για αύξέσην του εκέ πλεθυσμού. ==Εκκλησιαστική ιστορία== Η Σινώπη κατά το μεσαίωναν απετέλεσεν επισκοπήν παγόμενην ση Μετρόπολην Ελενοπόντουν, σους νιότερους χρόνους στη Μέτρόπολην [[Αμάσεια]]ς. Κατς τη χρεστιανικήν παράδοσην, πρώτος που εκέρυξε το χρετιανισμόν στη πόλειτιαν έταν ο [[Απόστολος Ανδρέας]]. Ο ελλενικός πλεθυσμός τη Σινώπης πριν το 1914 έταν 5.000 και ο τορκικός 9.000. Οι ¨Ελλένες διατέρούσαν αστικήν σχολήν, Παρθεναγωγείον και 3 εκκλησίες.Ομως υπέστεσαν πολλιές κακουχίες και οι επιζέσαντες μετσανάστευσαν σην Ελλάδαν κατά τη διετίαν 1923-1924, κατάν την υποχρεωτεκήν ανταλλαγην. == Κλίμα == Το κλίμαν τη Σινώπης είναι [[Εύκρατη ζώνη|εύκρατο]] και αρκετάν δροσερόν. Η μέση ετέσια θερμοκρασίαν πτάνειν τους 14. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{tr}} {{επίσημος ιστότοπος}} {{authority control}} {{DEFAULTSORT:Σινωπη}} [[Κατηγορίαν:Πολιτείας τη Τουρκίας]] [[Κατηγορίαν:Πόντος]] 4cg6aush2ttto951801oaacgzpf079d Σκανδιναβικόν Χερσόνησος 0 267 31044 30403 2013-03-07T18:12:54Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 60 interwiki links, now provided by [[d:|Wikidata]] on [[d:q73169]] [[M:User:Addbot/WDS|(translate me)]] 31044 wikitext text/x-wiki [[Αρχείον:Fennoscandia.png|thumb|Το σκανδιναβικόν η χερσόνησος]] Το '''Σκανδιναβικόν η Χερσόνησος''' ένι [[Ευρώπην|ευρωπαϊκόν]] [[χερσόνησος]]. Τ' ασ' όλεα νότιον σημέιον ατεινές εν σo σουηδικόν τη πολιτείαν [[Σκάνια]] (''Skåne''). Σα βόρεια τελείται σο Βόρειον Ακρωτήριον τη [[Νορβηγία|Νορβηγίας]] (''Nordkapplatået'') και σα δυτικά βρέχεται ασην Βόρειον Θάλασσαν. Σα νότια έχ' τρανά κιόλια τη ''Vänern'' και τη ''Vättern''. Τα κράτε τη σκανδιναβηκού τη χερσονήσου είν' η [[Δανία|Δανίαν]], η [[Φινλανδία|Φινλανδίαν]], η [[Νορβηγία|Νορβηγίαν]] και η [[Σουηδία|Σουηδίαν]]. [[Κατηγορίαν:Ευρώπη|Σκανδιναβικόν Χερσόνησος]] [[Κατηγορίαν:Σκανδιναβία| ]] [[Κατηγορίαν:Χερσονησία|Σκανδιναβικον Χερσονησος]] poj1gwcguhncwp8a0944v899sm8ud6n Σλοβακία 0 268 35955 34892 2024-10-26T05:27:48Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35955 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Σλοβακία'''</big></big><br/>''Slovenská republika'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Slovakia.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Slovakia.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Slovakia.svg|300px]] |} Η '''Σλοβακία''' (σα σλοβάκικα: ''Slovensko'', ή ''Slovenská republika'') είναι [[κράτος]] σην ανατολήν τη [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν η [[Μπρατισλάβα]] και ο πρόεδρον ατ'ς εν ο [[Αντρέι Κίσκα]]. Ο πληθυσμόν τη χώρας είν' ασα 5.431.363 τ' ανθρώπ'ς. == Γεωγραφίαν == Η Σλοβακία ευρίεται ανάμεσα ση [[Αυστρία|Αυστρίαν]], τη [[Τσεχία|Τσεχίαν]], τη [[Πολωνία|Πολωνίαν]], την [[Ουκρανία|Ουκρανίαν]] και τη [[Ουγγαρία|Ουγγαρίαν]]. Έχ' τρανά πολιτείας την [[Κόσιτσε]] και τo [[Πρέσοβ]]. == Συνδέζμαι == * '''[[Εικόναν:Commons-logo.svg|15px]] [[:el:commons:Slovakia|Η Σλοβακίαν σα Commons]]''' * '''[[Εικόναν:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Σλοβακία|Η Σλοβακίαν σο Βικιλεξικόν]]''' * '''[[Εικόναν:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Slovakia|Χάρτες αση Σλοβακίαν]]''' * [https://web.archive.org/web/20120410060853/http://www.government.gov.sk/ Το επίσημον ο ιστοτόπον τη σλοβακικού τη κυβέρνησης] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Σλοβακία]] [[Κατηγορίαν:Ευρώπη|Σλοβακία]] [[Κατηγορίαν:Σλοβακία| ]] pqcx1sgj8jmvle8nus4h7mfd9bfnhav Σλοβενία 0 269 35956 32424 2024-10-26T05:27:52Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35956 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Σλοβενία'''</big></big><br/>''Repuplika Slovenija'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Slovenia.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Slovenia.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Slovenia.svg|300px]] |} Το '''Σλοβενικόν η Δημοκρατία''', (σα σλοβενικά: ''Repuplika Slovenija'') είναι [[κράτος]] σο νότον τη [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν η [[Λιουμπλιάνα]] και ο πρωθυπουργόν ατ'ς εν ο [[Γιάνεζ Γιάνσα]]. Η χώρα εχ' πληθυσμόν σα 2.003.584 τ' ανθρώπ'ς. == Γεωγραφίαν == Η Σλοβενία ευρίεται σο [[Μεσόγειον θάλασσα|Μεσόγειον τη θάλασσα]], ανάμεσα σην [[Ιταλία|Ιταλίαν]], σην [[Αυστρία|Αυστρίαν]], σην [[Ουγγαρία|Ουγγαρίαν]] και σην [[Κροατία|Κροατίαν]]. Έχ' τρανά πολιτείας το [[Μάριμπορ]] και τη [[Τσέλιε]]. == Ιστορίαν == Η Σλοβενία έτον φελίν τη Αγίου τη Ρωμαϊκού τη Αυτοκρατορίας κι επεκεί τη [[Αυστροουγγρικόν αυτοκρατορία|Αυστροουγγρικού τη Αυτοκρατορίας]]. Σα 1918 τη χρονίαν οι Σλοβενάντ ένταν ένα με τοι Σερβάντ και τοι Κροατάντ κι εποίκαν εντάμαν κενούρεον πολυεθνικόν ντεβλέτι, το «Βασίλειον τη Σερβίων, τη Κροατίων και τη Σλοβενίων». Ατό το κράτος επαίρεν σα 1929 τη χρονίαν τ' όνεμα «Γιουγκοσλαβία». Ασα 1945 κι επεκεί έντον κομμουνιστικόν χώραν και η Σλοβενίαν έντον μιαν ασα Δημοκρατίας ατ'ς. Σα 1991 τη χρονίαν ερχίνεσε πόλεμος ανεξαρτησίας για δέκα ημέρας (26 Κερασινού – 7 Χορτοθερί 1991). Ταγουτέβσαν τη Γιουγκοσλαβίαν κι επεκεί οι Σλοβενάντ εποίκαν τ' ατεινών τ' ανεξάρτητον κράτος, το «Σλοβενικόν τη Δημοκρατίαν». == Συνδέζμαι == * [http://www.slovenia.si/ Slovenia.si]. Your gateway to information on Slovenia. * [http://www.vlada.si/en/ Government of the Republic of Slovenia] * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Slovenia|Η Σλοβενίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Σλοβενία|Η Σλοβενίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Slovenia|Χάρτες αση Σλοβενίαν]]''' * [http://www.gov.si Το επίσημον ο ιστοτόπον τη σλοβενικού τη κυβέρνησης] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Σλοβενία]] [[Κατηγορίαν:Ευρώπη|Σλοβενία]] [[Κατηγορίαν:Βαλκάνια|Σλοβενία]] [[Κατηγορίαν:Σλοβενία| ]] 7tjaram2vi3yttuugejmq4wwmmmgqis Σουηδία 0 270 35957 33128 2024-10-26T05:27:56Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35957 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Σουηδία'''</big></big><br/>''Konungariket Sverige'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Sweden.svg|125px]] | align="center" width="140px" | [[Αρχείον:Great coat of arms of Sweden.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Sweden.svg|300px]] |} Το '''Βασίλειο τη Σουηδίας''' εν κράτος ντο ευρίεται σα βόρεια τη [[Ευρώπην|Ευρώπης]] και σα κεντρικά τη [[Σκανδιναβικόν Χερσόνησος|Σκανδιναβικού Χερσόνησου]]. Πρωτεύουσαν ατ'ς εν η [[Στοκχόλμη]]. Η χώρα εχ' πληθυσμόν σα 9.223.766 τ' ανθρώπ'ς (1 Κούντουρονος 2008). == Γεωγραφίαν == Το σκανδιναβικόν η χώρα ευρισκάται σην ανατολήν τη [[Νορβηγία|Νορβηγίας]] και σα βορειοδυτικά τη [[Φινλανδία|Φινλανδίας]]. Βρέχεται σ΄ ανατολικάν ασό [[Βοθνιακός κόλπος|Βοθνικό κόλπο]] και το [[Βαλτικόν θάλασσα|Βαλτικόν τη θάλασσα]]. Με τα πορθμούς τη [[Σκάγερακ]] και τη [[Κάτεγατ]] σα νοτιοδυτικά, χωρίεται το χερσόνησο το Σκανδιναβικόν ασή [[Δανία]] και με τη γέφυρα του Όρεσουντ, συγκολίετε ξανά με τατέν. Έχ' τρανά πολιτείας το [[Γκέτεμποργκ]] και το [[Μάλμοε]]. == Συνδέζμαι == * '''[[Εικόναν:Commons-logo.svg|15px]] [[:el:commons:Schweden|Η Σουηδίαν σα Commons]]''' * '''[[Εικόναν:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Σουηδία|Η Σουηδίαν σο Βικιλεξικόν]]''' * '''[[Εικόναν:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Sweden|Χάρτες αση Σουηδίαν]]''' * [http://www.sweden.gov.se/ Το επίσημον ο ιστοτόπον τη κυβέρνησης τη Σουηδίας] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Σουηδία]] [[Κατηγορίαν:Ευρώπη|Σουηδία]] [[Κατηγορίαν:Σκανδιναβία|Σουηδία]] [[Κατηγορίαν:Σουηδία| ]] 5aw3ys34ia3mv2dgalaoig14izjt5l2 Σταυρίτες 0 271 37040 37023 2025-12-16T18:14:34Z Εὐθυμένης 2777 (By [[meta:Indic-TechCom/Tools|FindAndReplace]]) 37040 wikitext text/x-wiki <center> '''Ημέρας Σταυρί''' </center> <center> [[1 Σταυρί|1]] | [[2 Σταυρί|2]] | [[3 Σταυρί|3]] | [[4 Σταυρί|4]] | [[5 Σταυρί|5]] | [[6 Σταυρί|6]] | [[7 Σταυρί|7]] | [[8 Σταυρί|8]] | [[9 Σταυρί|9]] | [[10 Σταυρί|10]] | [[11 Σταυρί|11]] | [[12 Σταυρί|12]] | [[13 Σταυρί|13]] | [[14 Σταυρί|14]] | [[15 Σταυρί|15]] | [[16 Σταυρί|16]] | [[17 Σταυρί|17]] | [[18 Σταυρί|18]] | [[19 Σταυρί|19]] | [[20 Σταυρί|20]] | [[21 Σταυρί|21]] | [[22 Σταυρί|22]] | [[23 Σταυρί|23]] | [[24 Σταυρί|24]] | [[25 Σταυρί|25]] | [[26 Σταυρί|26]] | [[27 Σταυρί|27]] | [[28 Σταυρί|28]] | [[29 Σταυρί|29]] | [[30 Σταυρί|30]] </center> ---- {{ΗμερολόγιοΣεΠίνακα|9}} [[Αρχείον:Sazonov. Elena and Konstantin.jpg|thumb|«Κωνσταντίνος κι Ελένε», {{polytonic|Ὕψωσις τοῦ Τιμίου Σταυροῦ}}. Εζωγράφσεν ατό ο Wassily Sazonov σα 1870.]] Ο '''Σταυρίτες''' άμαν και λέγν'ατόν και '''''Σταυρωτές''''' (σ' ελλενικά: ''Σεπτέμβριος'', σα ρωμαίικα τη [[Τουρκία|Τουρκίας]]: ''İstavrit ayı'') εν ο ένατον μήνας τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] κι εχ' 30 ημέρας. == Τ' όνεμα == Τ' όνεμαν ατ' εβγών' ασον έξεργον τη Σταυρού το εν σ' αβούτον μήναν, σα [[14 Σταυρί|14 τη Σταυρίτε]]. Για τ' ατό λέγν' ατον οι χριστιανοί τη Τουρκίας ''İstavroz ayı'' (''ayı'' = «μήνας»), ''Haç ayı'' και σο [[Μαύρον θάλασσα|Μαύρον τη θάλασσαν]] λέγνε τον ''İstavrit ayı''. Οι μουσουλμάν Τουρκάντ λένγατον ''Eylül''. == Ο λαόν για το Σταυρίτεν == :''«Ο Σταυρίτες ρουζ' τα φύλλα και ξεραίντανε τα ξύλα'' :''Σταυρωτά ετοιμάουνταν οι ξενιτιάρ' να φεύνε'' :''Και πριν να ξενιτεύκουνταν, κορίτσια φυγαδεύνε.»'' :''«Ο Σταυρίτες ρεντσιπέρτς,'' :''έναν σπέρτς και δέκα παίρτς.»'' == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Κατηγορίαν:September|Σταυρίτες σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px|Βικιλεξικόν]] [[:el: wikt:Σταυρίτες|Ο Σταυρίτες σ’ ελλενικόν το Βικιλεξικόν]]''' {{Μήνας‎}} [[Κατηγορίαν:Μήνας|Σταυριτες]] 3vjwkg62712i3gpjlaz5o93q854dsrj Στράβων 0 272 35721 35616 2024-07-24T09:39:05Z 2A02:587:B2F:B100:3536:30F0:B453:B7FC 35721 wikitext text/x-wiki [[Αρχείον:Strabo.jpg|thumb|Στράβων (''Strabon Geographe'', εζωγράφσεν ο André Thevet σο βιβλίον ''Les vrais pourtraits et vies des hommes'', Παρίσι 1584)]] Ο '''Στράβων''' (63 π.Χ. - 23 μ.Χ.) ήταν αρχαίος Έλληνας [[Ιστορίαν|ιστορικός]], [[φιλοσοφία|φιλόσοφος]] και [[Γεωγραφίαν|γεωγράφος]]. == Ζωή == Εγεννέθεν ασ' έναν πλούσιον οικογένεαν το 63 / 64 π.Χ. σην [[Αμάσεια|Αμάσειαν]] του [[Εύξεινος Πόντος|Πόντου]], όπου και επέθανεν όντας έτονε κι έτον 90 χρόνων (ολίον μετά το 23 μ.Χ.) Σήμερον η Αμάσειαν εν τόπος τη [[Τουρκία|Τουρκίας]] άμα όντας ο Στράβων εγενέθεν έτον επαρχία τη [[Ρωμαϊκή Αυτοκρατορία|Ρωμαϊκή Αυτοκρατορίας]]. Έτον πολλά ειδικέσας μορφώσεως γιατί εδιδάχτεν ασα τρανούς δασκάλους τη εποχής ατ, τον Αριστόδεμον ά' σην Καρίαν και το Τυράννιον ά' ση [[Ρώμη|Ρώμην]] κ' εμελέτησεν τα γραφούμενα γεωγραφάντων και φιλοσοφάντων τη αρχαιότητος, σην αρχήν σην περιοχήν ατ κ' επεκεί ση [[Ρώμη|Ρώμην]]. Εκλώστεν τον κόσμον επεή, επήεν σην [[Αίγυπτος|Αίγυπτον]] και σην [[Αιθιπία|Αιθιπίαν]]. Ση [[φιλοσοφία|φιλοσοφίας]] νατ έτον οπαδόν τη [[Στωικισμός|Στωικισμή]] και σην [[πολιτικήν]] υπεστήριζεν το [[Ρωμαϊκή Αυτοκρατορία|Ρωμαϊκόν]] [[Ιμπεριαλισμός|επεκτατισμόν]]. Όντας ελάσκουντον σον κόσμον ετοπλάευε στοιχεία για να γράφτ αργότερα τα ιστορικά και τα γεωγραφικά έργαν ατ.<p> Δύο τρανά έργαν ατ έτον τα «{{polytonic|Ἱστορικὰ Ὑπομνήματα}}» και τα ξακουστά [[Γεωγραφικά|«Γεωγραφικά»]] ατ (17 βιβλία). Τα «{{polytonic|Ἱστορικὰ Ὑπομνήματα}}» έτονε 47 βιβλία κ' έγραψεν ν'ατ σε [[Πάπυρος|πάπυρον]] αέτσ' για να συνεχίζ' το έργον τη [[Πολύβιος|Πολύβιονος]] άμα σχεδόν ούλea σχεδόν εχάθανε και ατά που επέμνανε κι βοηθούνε μας να εγρηκούμε ντ' άγνον έτον το έργον. Τα «Γεωγραφικά» έν 17 βιβλία και ευτυχώς εβρέθαν ούλea. Αέτς ο Στράβων εγέντονε δοξασμένος και ξακουστός σους αιώνας. Εν περιληπτικόν αλλά πολλά κατατοπιστικόν έργον και πληροφορά μας για την [[Ιστορία|ιστορίαν]] ανθρώπων αμα και πόλεων πα τη εποχής ατ, ασα διάφορα περιοχάς του τότε γνωστού κόσμου. <p> Του Στράβωνος το έργον επορούμε να λέμε ότι έτον όλων το καλίον ας 'α γεωγραφικά χάρτας τη εποχής ατ. Πότε ακριβώς έγραψεν ο Στράβων κι ξέρωμε, σ' άλλα αναφοράς δeaβάζωμε ότι το γράψιμο τη γεωγραφίας ετελέθεν όντας αυτοκράτορας έτον' ο [[Τιβέριος|Τιβέριον]]. == Τα «Γεωγραφικά» == [[Αρχείον:Map of Europe according to Strabo.jpg|thumb|right|280px|Η [[Ευρώπη|Ευρώπ]] όπως εθάρνεν ατεν ο Στράβωνας]] {{Βικιθήκη}} {{Βικιφθέγματα}} * Βιβλία I και II: Τρανόν πρόλογον * Βιβλία III ους X: [[Ευρώπην|Ευρώπη]], ά' σ' ούλä πολλά τ' αρχαίον η Ελλάδα (Βιβλία VIII-X) * Βιβλία XI ους XIV: [[Μικρά Ασία]] * Βιβλία XV ους XVI: Ανατολή * Βιβλίον XVII: [[Αφρικήν|Αφρική]] (Αίγυπτος και Λιβύη) == Συνδέσμ == * '''[[Αρχείον:Wikisource-logo.svg|13px]] Σην [[s:el:Κύρια Σελίδα|Βικιθήκην]] εχ' [[s:el:Στράβων|γραψίματα τη Στράβωνος]]''' [[Κατηγορίαν:Έλλενας (αρχαιότητα)|Στραβων]] [[Κατηγορίαν:Βικιπαίδεια:Arthron]] kyw07va7ml1kq6jaxjs0sihf5bbyr8b Σύνδεσμον 0 273 31050 28409 2013-03-07T18:14:01Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 52 interwiki links, now provided by [[d:|Wikidata]] on [[d:q36484]] [[M:User:Addbot/WDS|(translate me)]] 31050 wikitext text/x-wiki '''Σύνδεσμον''' λέγουμε σην [[γραμματικήν]] τ' άκλιτα τα λέξεις που ενών'νε λέξην με την λέξην και φράσην με τη φράσην. == Οι σύνδεσμοι είναι == #Συμπλεχτικά: ''και, νια, πα''. #Χωριστικά: ''για, γιαχότ, ή, είτε''. #Εναντιωματικά: ''άμαν, αν, και, αλλά, κιαν''. #Συμπερασματικά: ''αρ, ώστε, λοιπόν''. #Αιτιολογικά: ''γιατί, επειδή''. #Χρονικά: ''όνταν, πριχού, πρωτού, ωσπού, αφού, αμόν ντο, ώζνα, και''. == Τέρεν == * [[Ουσιαστικόν]] [[Κατηγορίαν:Γραμματικήν|Συνδεσμον]] 2ev836mhcm0nff9odbyelbdd53eoqkp Τάραντας 0 274 36853 34871 2025-12-16T09:55:18Z Εὐθυμένης 2777 36853 wikitext text/x-wiki [[Εικόναν:Taranto-Stemma.png|thumb|Η σημαία τη Ταραντού]] [[Εικόναν:Taranto satellite.jpg|thumb|Ασό σατελίτ: Ο Τάραντας]] Ο '''Τάραντας''' (σα ιταλικά ''Taranto'', σα λατικινά ''Tarentum'', σ' αρχαία τ' ελλενικά ''Τάρας'') εν [[πολιτεία]] σην [[Ιταλία|Ιταλίαν]] και εχ' τρανόν [[ιστορίαν]]. Εν πρωτεύουσαν τ' επαρχίας τη Ταραντού και εν χτιζμέντζα σον Κόλπον τη Ταραντού, σ' [[Ιωνικόν Πέλαγος]]. Εχ' πληθυσμόν σα 196.369 τ' ανθρώπ'ς (2006). Ευρισκάται σην επαρχίαν Ταραντού, το έχ 29 δήμους. Οι ανθρώπ καικά εργάσκουνταν σην γεωργίαν, σο ψάρεμαν και σην βιομηχανίαν (χημεία, θροφή, πουτίν, ξύλον, γυαλίν, κεραμικά). == Γεωγραφίαν == Τον Τάρανταν λέγνατον και «πολιτείαν τη δυενών θαλασσίων» (''città dei due mari''). Ευρισκάται σ' Ιώνιον το πέλαγος, ση θάλασσας τη γουήν. Εκεικά η θάλασσαν χωρίεται και ίνεται το μικρόν (''Mar Piccolo'') και το τρανόν η θάλασσαν (''Mar Grande''). Δυο ακρωτήραι χωρίζνε τα θάλασσας και σο τέλος σχηματίζνε κόλπον. Ατουπές έχ' έναν νησίν, το έτον το παλιόν κέντρον τη Ταραντού σ' αρχαία τα χρόνε. Αβούτο το νησίν ενών'νε το δυο γεφύραι (''Ponte di Porta Napoli'' και ''Ponte Girevole'') με την ήπειρον. == Ιστορίαν == Ο μύθον λεει ο ημ'σόθεον [[Τάρας]] εποίκε την πολιτείαν σα 1200 χρόνε πριχού την ίδρυσην τη [[Ρώμη|Ρώμης]] καικά σ' οσημερνόν την πολιτείαν, σον ποταμόν Τάρα. Σην [[αρχαιότητα|αρχαιότηταν]] ο Τάραντας έτον γνωστόν και πλούσιον κέντρον τη [[Τρανόν Ελλάς|Τρανού τ' Ελλάς]] (''Magna Graecia''). Η ιστορίαν ατ' εν γομάτον πολέμ: Σα 272 π.Χ. τη χρονίαν επαίραν ατεν οι Ρωμαίοι. Σον [[μεσαίωνας|μεσαίωναν]] βαρβαρικά μιλέτε εκατέστρεψαν ατέν. Οι [[Σαρακινοί]] εσήβαν και εποίκαν τον Τάραντα ισλαμικόν εμιράτον σα 840-880 απεσκέσ'. Επεκεί έντον μέρος τη [[Ρωμανίαν|Βυζαντίου]] κι η πολιτεία εχτέστεν ξαν σ' ατωριζνόν το παλαιόν την πολιτείαν καικά. Επεκεί η αφεντίαν έντον νορμανδικόν, [[Ισπανία|ισπανικόν]] und [[Γαλλία|γαλλικόν]]. Σημαντικοί λόγιοι τη φιλοσοφίας και τη λογοτεχνίας εγγενέθαν σον Τάραντον: ο Αρχύτας, ο Λίβιος Ανδρόνικος και ο Αριστόξενος. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{it}} {{επίσημος ιστότοπος}} {{authority control}} {{DEFAULTSORT:Ταραντας}} [[Κατηγορίαν:Πολιτείας τη Ιταλίας]] ilmrj40k71gmrcl44mcf1c62a1imnb8 Τετράδ 0 275 31052 30895 2013-03-07T18:14:23Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 179 interwiki links, now provided by [[d:|Wikidata]] on [[d:q128]] [[M:User:Addbot/WDS|(translate me)]] 31052 wikitext text/x-wiki Η '''Τετράδ''' (σ' [[Ελλενικόν γλώσσα|ελλενικά]]: ''Τετάρτη'') εν το τέταρτον ημέρα τ' [[Εβδομάδα|εβδομάδας]]. == Ο λαόν για την Τετράδ == :''«Που νηστεύνε την Τετράδ'' :''κόφνε τη δαβόλ τ' ουράδ.»'' == Συνδέσμ == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:Wednesday|Τετράδ σα Commons]]''' * '''[[Αρχείον:Wiktfavicon en.svg|16px|Βικιλεξικόν]] [[:el: wikt:Τετάρτη|Η Τετράδ (Τετάρτη) σ’ ελλενικόν το Βικιλεξικόν]]''' {{Πρότυπον:Ημέρας τη εβδομάδας‎}} [[Κατηγορίαν:Ημέρας τη εβδομάδας|Τετράδ]] 9lfcw1b2ub4f0rfcw7c107kr5dq5aau Τη Χριστού τ' Αληθινόν η Eγκλεσίαν 0 276 31053 30763 2013-03-07T18:14:34Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 256 interwiki links, now provided by [[d:|Wikidata]] on [[d:q1859]] [[M:User:Addbot/WDS|(translate me)]] 31053 wikitext text/x-wiki '''Τη Χριστού τ' Αληθινόν η Eγκλεσίαν''' (σα αγγλικά: ''True Jesus Church'') εν ανεξάρτητον Πεντηκοστιανόν [[χριστιανισμός|χριστιανικόν]] εγκλεσίαν ντ' εποίκαν σο [[Πεκίνο|Πεκίνον]] τη [[Κίνα|Κίνας]] ασό 1917 τη χρονίαν. Οσήμερον η εγκλεσίαν έχ' σα 2.500.000 τ' ανθρώπ'ς π' ινανεύνε σε 45 [[Κράτος|κράτη]] κι έξ' ηπείρ'. Σα 1967 τη χρονίαν έντον το διεθνικόν η συνελεύση τ' Εγκλεσίας σο [[Λος Άντζελες]]. Οσημερνόν ο πρόεδρον τη διεθνικού τη συνελεύσης τ' Εγκλεσίας εν ο ιεροκήρυκας Γιουνγκ-Γι Λιν (林永基傳道). Τα δέκα δόγματα τη Χριστού τ' Αληθινού τ' Eγκλεσίας: # Το Πνεύμα το Άγιον # Φωτίσα # Πλύση τοι ποδαρίων # Το Θείαν η Κοινωνίαν # Ημέραν Σάββατον # Χριστόν # Βίβλος # Σωτηρίαν # Εγκλεσίαν # Δευτέρα Παρουσία == Συνδέσμ' == * [http://www.tjc.org Τ' ευαγγελικόν η σελίδαν τη Εγκλεσίας] [[Κατηγορίαν:Θρησκείαν|Χρηστου τ Αληθινον η Eγκλεσιαν, τη]] thv353tewxxtefq844ue9dm9pcv42r6 Τοπχαράς 0 277 2870 2869 2009-03-06T15:29:52Z MF-Warburg 53 1 revision 2870 wikitext text/x-wiki #REDIRECT [[Κώστας Τοπχαράς]] jr06sp0ne3r92hm8i5bedapl1qme6ip Τουρκία 0 278 35959 35597 2024-10-26T05:28:04Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35959 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Τουρκία'''</big></big><br/>''Türkiye Cumhuriyeti'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | width="140" align="center" | [[Αρχείον:Flag of Turkey.svg|125px]] | width="140" align="center" | [[Αρχείον:TurkishEmblem.svg|125px]] |- | width="140" align="center" | | width="140" align="center" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Europe_location_Turkey.svg|300px]] |} Η '''Τουρκία''' (τουρκ. ''Türkiye Cumhuriyeti'') εν κράτος σα δυτικά τη [[Ασίαν|Ασίας]] και νοτιοανατολικά τη [[Ευρώπην|Ευρώπης]]. Η Τουρκία ευρίσκεται αφκά σο [[Μαύρον Θάλασσα‎|Μαύρον τη Θάλασσαν]], σα ανατολικά τη [[Ελλάδα]] και τη [[Βουλγαρία|Βουλγαρίας]]. Ο προεδρόν ατς εν ο [[Ρετζέπ Ταγίπ Ερντογάν]]. <gallery> File:Aya sofya.jpg| File:Kocatepe Mosque Ankara.jpg| File:State Painting and Sculpture Museum of Ankara.jpg| File:DolmabahceMainGate.JPG| File:İzmir clock tower.jpg| File:Pamukkale00.JPG| File:Eskişehir-Aycan.jpg| File:Antalya falezler.jpg| File:Alanya.jpg| File:Bluemosquefront.jpg| File:Diyarbakir P1050751 20080427135832.JPG| File:LocationTurkey2.png| </gallery> == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Turkey|Η Τουρκίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Τουρκία|Η Τουρκίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Turkey|Χάρτες αση Τουρκίαν]]''' {{Πρότυπον:Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Τουρκία]] [[Κατηγορίαν:Ασία|Τουρκία]] [[Κατηγορίαν:Ευρώπη|Τουρκία]] [[Κατηγορίαν:Βαλκάνια|Τουρκία]] [[Κατηγορίαν:Τουρκία| ]] 8sep4gupnl1874ue49i4heo3xb1wfhi Τρίτ 0 279 31055 30597 2013-03-07T18:14:56Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 182 interwiki links, now provided by [[d:|Wikidata]] on [[d:q127]] [[M:User:Addbot/WDS|(translate me)]] 31055 wikitext text/x-wiki Η '''Τρίτ''' (σ' [[Ελλενικόν γλώσσα|ελλενικά]]: ''Τρίτη'') εν το τρίτον ημέρα τ' [[Εβδομάδα|εβδομάδας]]. == Ο λαόν για την Τρίτ == :''«Άψον τ' άψιμο σ' την Τρίτ'' :''και μη καίει σε το κιρπίτ.»'' :''«Την Τρίτ΄ μ΄ αρχινάς δουλείαν,'' :''θα ευρί κ΄ σε αναποδίαν.»'' == Συνδέσμ == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:Tuesday|Τρίτ σα Commons]]''' * '''[[Αρχείον:Wiktfavicon en.svg|16px|Βικιλεξικόν]] [[:el: wikt:Τρίτη|Η Τρίτ (Τρίτη) σ’ ελλενικόν το Βικιλεξικόν]]''' {{Πρότυπον:Ημέρας τη εβδομάδας‎}} [[Κατηγορίαν:Ημέρας τη εβδομάδας|Τρίτ]] oz9n1xnobxnbwqfmqj4zq7h5okgfs0s Τρυγομηνάς 0 280 37048 37024 2025-12-16T18:14:35Z Εὐθυμένης 2777 (By [[meta:Indic-TechCom/Tools|FindAndReplace]]) 37048 wikitext text/x-wiki <center> '''Ημέρας Τρυγομηνά''' </center> <center> [[1 Τρυγομηνά|1]] | [[2 Τρυγομηνά|2]] | [[3 Τρυγομηνά|3]] | [[4 Τρυγομηνά|4]] | [[5 Τρυγομηνά|5]] | [[6 Τρυγομηνά|6]] | [[7 Τρυγομηνά|7]] | [[8 Τρυγομηνά|8]] | [[9 Τρυγομηνά|9]] | [[10 Τρυγομηνά|10]] | [[11 Τρυγομηνά|11]] | [[12 Τρυγομηνά|12]] | [[13 Τρυγομηνά|13]] | [[14 Τρυγομηνά|14]] | [[15 Τρυγομηνά|15]] | [[16 Τρυγομηνά|16]] | [[17 Τρυγομηνά|17]] | [[18 Τρυγομηνά|18]] | [[19 Τρυγομηνά|19]] | [[20 Τρυγομηνά|20]] | [[21 Τρυγομηνά|21]] | [[22 Τρυγομηνά|22]] | [[23 Τρυγομηνά|23]] | [[24 Τρυγομηνά|24]] | [[25 Τρυγομηνά|25]] | [[26 Τρυγομηνά|26]] | [[27 Τρυγομηνά|27]] | [[28 Τρυγομηνά|28]] | [[29 Τρυγομηνά|29]] | [[30 Τρυγομηνά|30]] | [[31 Τρυγομηνά|31]] </center> ---- {{ΗμερολόγιοΣεΠίνακα|10}} Ο '''Τρυγομηνάς''' (σ' ελλενικά: ''Οκτώβριος'') εν ο δέκατον μήνας τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] κι εχ' 31 ημέρας. == Ο λαόν για το Τρυγομηνά == :''«Ο Τρυγομηνάς φέρ’ ξύλα'' :''και μαραίν’ και ρούζ’ τα φύλλα.»'' == Συνδέσμ == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:October|Τρυγομηνάς σα Commons]]''' * '''[[Αρχείον:Wiktfavicon en.svg|16px|Βικιλεξικόν]] [[:el: wikt:Τρυγομηνάς|Ο Τρυγομηνάς σ’ ελλενικόν το Βικιλεξικόν]]''' {{Μήνας‎}} [[Κατηγορίαν:Μήνας|Τρυγομηνάς]] 797e63jv2vyvja0uqjzqa09z2fegw3s Τρυγόνα 0 281 35516 31624 2024-01-09T20:53:58Z Διογένες 10538 /* Σύνδεσμοι */+s 35516 wikitext text/x-wiki Η '''τρυγόνα''' είν' χορόν τη [[Πόντος|Πόντονος]]. Είν' αληγορτόν κι εχ' απλόν μορφή. Τα κινήσεις τη χορού συμβολίζ'νε το κόψιμο ξύλων. Ο ρυθμόν τη [[Μουσικήν|μουσικήν]] ατ' εχ' δύο μορφάς: Ους δίσημον (2/4), αμόν το το μονόν το [[ομάλ|ομάλ]], αλλά και κιαλλο αληγορτόν ους τρίσημον (5/8), αμόν το [[τικ|τικ]]. Σα παλαιά τα χρόνε την τρυγόναν την χορεύανε οι γαρήδες, άμαν οσήμερον ουλ' χορεύν' ατέν, τ' αγούρτς και οι γαρήδες. == Στίχοι == Σο τέλος τ' καθαείν τη στίχονος λέγ'νε το ρεφρέν: ''«η Τρυγόνα, η κορώνα»''. ''«Ακεί πέρα σ' ορμανόπον,<br>'' ''έστεκεν κι εποίνεν ξύλα. <br>'' ''Τα ξύλα τ'ς έταν οξέας, <br>'' ''κι άντρας ατ'ς έτον μυξέας.<br>'' ''Πορπατεί και πάει ομάλα,<br>'' ''το ορταρόπ' ατ'ς αρνομάλλα.<br>'' ''Πορπατεί και πάει τίκα<br>'' ''τ' ορταρόπ' ατ'ς είν' τιφτίκα.»'' == Σύνδεσμοι == *[https://www.efxinospontos.org/videos.html www.efxinospontos.org] Τρυγόνα σο βίντεο [[Κατηγορίαν:Χορός|Τρυγονα]] [[Κατηγορίαν:Μουσική|Τρυγονα]] 6kg7on7952tgywny9gkzlukul5evjlb Τσεχία 0 282 35960 32427 2024-10-26T05:28:08Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35960 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Τσεχία'''</big></big><br/>''Česká republika'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of the Czech Republic.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat_of_arms_of_the_Czech_Republic.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Czech_Republic.svg|300px]] |} Η '''Δημοκρατίαν τη Τσεχίας''' (''Česko'' ή ''Česká republika'' {{Audio|Cs-Ceska republika Cesko.ogg|σο τσεχικόν τη λαλίαν}}) εν [[κράτος]] σο κεντρικόν τη [[Ευρώπην|Ευρώπη]]. Πρωτεύουσαν ατ'ς εν η [[Πράγα]] και ο πρόεδρον ατ'ς εν ο [[Βάτσλαβ Κλάους]]. Ο πληθυσμόν τη χώρας είν' ασα 10.306.700 τ' ανθρώπ'ς. == Γεωγραφίαν == Η Τσεχίαν ευρίεται ανάμεσα ση [[Γερμανία|Γερμανίαν]], τη [[Πολωνία|Πολωνίαν]], τη [[Σλοβακία|Σλοβακίαν]], και την [[Αυστρία|Αυστρίαν]]. Έχ' τρανά πολιτείας τη [[Μπρνο]] και την [[Οστράβα|Οστράβαν]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Czech Republic|Η Τσεχίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Τσεχία|Η Τσεχίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of the Czech Republic|Χάρτες αση Τσεχίαν]]''' * [http://www.mzv.cz/wwwo/default.asp?idj=42&amb=12 Το επίσημον ο ιστοτόπον τη πρεσβείας τη Τσεχικού τη Δημοκρατίας σην Ελλάδαν] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Τσεχία]] [[Κατηγορίαν:Ευρώπη|Τσεχία]] [[Κατηγορίαν:Τσεχία| ]] apd1m9ttkpeyudq38brn2mfu57p6izx Τόνυα 0 283 36745 36574 2025-12-16T08:37:48Z Εὐθυμένης 2777 36745 wikitext text/x-wiki [[Αρχείον:Trabzon in Turkey.svg|thumb|Η Τόνυα σο καζα τη Τραπεζούντας.]] Η '''Τόνγια''' (σα τουρκικά ''Tonya'', το [[Ρωμανίαν|βυζαντινό]] το ονέμανατ'σ έτον ''Θωανία'') εν πολιτεία τη [[Τουρκία|Τουρκίας]] κι ευριέται σο καζα τη [[Τραπεζούντα|Τραπεζούντας]], αφκά ασα Πλατάνα, πέραν ασον ποταμόν Καλάνεμα. == Ιστορίαν == Σην Τόνγια εζήνανε ους το 1923 τη χρονίαν 2000 οικογένειας [[Ισλάμ|μουσουλμανικά]] που εκαλάτσευαν (εσύντζαιναν) ρωμαίϊκα. Άλλα 1000 οικογένειας ασήν Τόνγια, εταουτέφτανε σο καζα τη Τραπεζούντας και τη [[Αργυρούπολη|Αργυρούπολης]] (''Gümüşhane''). Η μουσουλμάν τη Τόνγιας είναι ασά 8.000 [[Χριστιανισμός|χριστιανικά]] οικογένειας, που τα χρόνια που εποίνανε τοι χριστιανούς μουσουλμάνους τ' 1700 και επέκει, εφήγαν ασήν Τραπεζούντα και ασά Πλατάνα και εβρέθανε σην Τόνγια να κουρταρεύκουνταν. Άμα εκεί πα` έβραν ατ'σ και εποίκαν ατ'σ μουσουλμάνους. Άμα αμόν τα χωρία σον Όφη, ατείν πα εκράτεσαν την γλώσσαν ατούν. Αμόν σον Όφη αδά πα` επόμειναν τα ονέματα τη χωρίων σα ρωμαίικα: Μεσοχώριν, Μεσοπλάγιν, Κατωχώριν, Άγιος Θωμάς, Άγιος Στέφανος, Μεσοπέδιν. Ακόμα εκράτεσαν ελλενικά και χριστιανικά ονέματα αμόν παρωνύμια: Γιάννης, Θεμιστοκλής, Αλέξανδρος και άλλα.<br /> Τα χωρία που καλατσεύνε ρωμαίικα είναι: Kesli, Tumusli, Pahartikli, Mpeskeli, Mamali, Tsuluk, Melikse και το Anchikoi. == Ανθρώπ' == Οι Τονγιαλήδες παλαιά περισσόν, άμα και ατώρα είναι το όνεμα, ντο είναι πολλά ςκληροί και περήφανοι. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{tr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Τουρκίας|Τονυα]] [[Κατηγορίαν:Πόντος|Καρς]] e7wtobkl4pu5kw34t6lio9spy73g4pk Τόσια 0 284 36746 36569 2025-12-16T08:38:37Z Εὐθυμένης 2777 36746 wikitext text/x-wiki [[Αρχείον:Tosya district of Kastamonu Province of Turkey.JPG|thumb|230px|right|Η Τόσια σον χάρτεν τ' επαρχίας τη Κασταμονής]] Η '''Τόσια''' (τουρκ. ''Tosya'', βυζαντινόν όνεμα: ''Δοκεία'') εν μικρόν πολιτείαν τη [[Τουρκία|Τουρκίας]] κι ευρίεται σην επαρχίαν τη Κασταμονής, σον [[Πόντος|Πόντον]]. Οι ανθρώπ εκαικά εργάσκουνταν σην γεωργίαν (ρύζι) και σην βιομηχανίαν (ξύλον). == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{tr}} {{επίσημος ιστότοπος}} {{authority control}} {{DEFAULTSORT:Τοσια}} [[Κατηγορίαν:Πολιτείας τη Τουρκίας]] [[Κατηγορίαν:Πόντος]] d2xg4g3xehyokjoncpxo2tqzmm9zxwo Φέγγος 0 285 35522 35222 2024-01-22T07:51:34Z Kwamikagami 8969 35522 wikitext text/x-wiki [[Αρχείον:Full Moon Luc Viatour.jpg|thumb|Ο Φέγγος]] [[file:Moon symbol (planetary color).svg|frameless|upright=0.35|☾]] Ο '''Φέγγος''' εν ο μόνον φυσικόν σατελίτες τη [[Γη|Γης]] κι ο πέμπτον τρανόν τ' [[ηλεϊκόν σύστεμαν|ηλεϊκού τη συστεματίεμουν]]. Εν τ' ασούλτς φωτεινόν σώμαν τ' ουρανού, ασόν [[Ήλος|Ήλον]] οπίς. Τ' αστρονομικόν το σύμβολονατ' εν: [[file:Moon decrescent symbol (fixed width).svg|16px|☾]]. Ο Φέγγος εν ση [[Γην]] κοντά και για τ' ατό οι ανθρώπ επόρεσαν κι ετολανεύτανατον. {{Commons|Moon}} [[Κατηγορίαν:Αστρονομία|Φεγγος]] nc42kaf5pu3yvkmltfgvem3yfa2k1x0 Χαβίτς 0 286 35565 34880 2024-01-23T18:18:04Z Διογένες 10538 μικρογραφία 35565 wikitext text/x-wiki [[Εικόναν:Havitz.JPG|300px|μικρογραφία|Ασου ψέεται το χαβίτς και ύστερα, εβγάλομ'ατ' ασο τηγάν, βάλλομ'ατο σ'έναν ςκεύος, κάθουμες κα και τρώγουμε.]] Το '''χαβίτς''' εν πατροπαράδοτον [[Πόντος|ποντιακόν]] φαΐν. Μαερεύκεται αγλήγορα και ίνεται από γνήσια προϊόντα. Εν πολλά καλόν για την υΐαν. == Ντο πράματα θέλομεν == *1 ποτήρ [[λαζούδ|λαζουδί]] αλεύρ *2 χουλερέας φαΐ παρχαρί βούτορον (ασα χτήνεα) *3 ποτήρεα νερόν *2 μικρά κομματόπα τυρίν χτηνί ή κατσικί, άμον ντο είναι τα λουκούμεα *Ολίγον [[άλας]] == Πώς εφτάμε το χαβίτς == Το χαβίτς θέλ ολίγον [[λαζούδ|λαζουδί]] αλεύρ, παρχαρί τυρίν και βούτορον (ασα χτήνεα), [[άλας|άλας]] και νερόν. Σο τηγάν' βάλλομε τ'αλεύρ να καβουρεύκεται και συνέχεια με το χουλιάρ ταράζομ'ατο να μη κάεται. Όνταν εγροικούμε εκαβουρεύτεν τ'αλεύρ, ατότε γομώνομε το νερόν σο τηγάν και ως να βράζ' με το χουλιάρ γάλια γάλια ταράζομ'ατο. Όνταν εγροικούμ' έβρασεν, τρίφτομε το τυρίν και σύρομ'ατο απές σο τηγάν. Επεκεί βάλλομε το βούτορον απές σ'έναν τηγανόπον να λύεται κι ασο λύεται και ύστερα κςύνομ'ατο απές σο τρανόν το τηγάν και με το χουλιάρ ταράζομ'ατο. Περιμένομεν ολίγον κιάλλο να βραζ κι αραέτς ψέεται. Ασο ψέεται και ύστερα, εβγάλομ'ατ' ασο τηγάν, βάλλομ'ατο σ'έναν ςκεύος, κάθουμες κα και τρώγουμε. == Συνδέσμεα == *[https://web.archive.org/web/20101223023133/http://www.sintagespareas.gr/sintages/xabits.html Πως εφτάμε το χαβίτς] - sintagespareas.gr (ελλ) *[https://web.archive.org/web/20101223022928/http://www.sintagespareas.gr/sintages/xabitz5c-me-fournikon-aleirin.html Πως εφτάμε το χαβίτς με φούρνικον αλεύρ'] - sintagespareas.gr (ελλ) [[Κατηγορίαν:φαΐα|χαβιτς]] [[Κατηγορίαν:Βικιπαίδεια:Arthron]] l2cegtqi75v4i8icjm7vsehudk5z0nw Χορτοθέρτς 0 287 37043 37021 2025-12-16T18:14:35Z Εὐθυμένης 2777 (By [[meta:Indic-TechCom/Tools|FindAndReplace]]) 37043 wikitext text/x-wiki <center> '''Ημέρας Χορτοθέρτ''' </center> <center> [[1 Χορτοθέρτ|1]] | [[2 Χορτοθέρτ|2]] | [[3 Χορτοθέρτ|3]] | [[4 Χορτοθέρτ|4]] | [[5 Χορτοθέρτ|5]] | [[6 Χορτοθέρτ|6]] | [[7 Χορτοθέρτ|7]] | [[8 Χορτοθέρτ|8]] | [[9 Χορτοθέρτ|9]] | [[10 Χορτοθέρτ|10]] | [[11 Χορτοθέρτ|11]] | [[12 Χορτοθέρτ|12]] | [[13 Χορτοθέρτ|13]] | [[14 Χορτοθέρτ|14]] | [[15 Χορτοθέρτ|15]] | [[16 Χορτοθέρτ|16]] | [[17 Χορτοθέρτ|17]] | [[18 Χορτοθέρτ|18]] | [[19 Χορτοθέρτ|19]] | [[20 Χορτοθέρτ|20]] | [[21 Χορτοθέρτ|21]] | [[22 Χορτοθέρτ|22]] | [[23 Χορτοθέρτ|23]] | [[24 Χορτοθέρτ|24]] | [[25 Χορτοθέρτ|25]] | [[26 Χορτοθέρτ|26]] | [[27 Χορτοθέρτ|27]] | [[28 Χορτοθέρτ|28]] | [[29 Χορτοθέρτ|29]] | [[30 Χορτοθέρτ|30]] | [[31 Χορτοθέρτ|31]] </center> ---- {{ΗμερολόγιοΣεΠίνακα|7}} [[Εικόναν:Hugo Mühlig Die Ernte.jpg|thumb|«Το θέρος» (''Die Ernte''). Εζωγράφσεν ατό ο Hugo Mühlig.]] Ο '''Χορτοθέρτς''' (σ' ελλενικά: ''Ιούλιος'') εν ο έβδομον μήνας τη χρονίας, ίστε λεει μάς το [[Γρηγοριανόν ημερολόγιον|Γρηγοριανόν το ημερολόγιον]] κι εχ' 31 ημέρας. == Ο λαόν για τον Χορτοθέρτ == : ''«Έρθεν και ο Χορτοθέρτς, '' : ''έπαρ' το καγιάν σο χέρ' τ'ς.»'' == Συνδέσμ == * '''[[Εικόναν:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:July|Χορτοθέρτς σα Commons]]''' * '''[[Εικόναν:Wiktfavicon en.svg|16px|Βικιλεξικόν]] [[:el:wikt:Χορτοθέρτς|Χορτοθέρτς σ’ ελλενικόν το Βικιλεξικόν]]''' {{Μήνας‎}} [[Κατηγορίαν:Μήνας|Χορτοθέρτς]] lquxqeai5uglhqvv95ckdtuviu0dc26 Χριστουγεννάρτς 0 288 37045 37026 2025-12-16T18:14:35Z Εὐθυμένης 2777 (By [[meta:Indic-TechCom/Tools|FindAndReplace]]) 37045 wikitext text/x-wiki <center> '''Ημέρας Χριστουγενναρί''' </center> <center> [[1 Χριστουγενναρί|1]] | [[2 Χριστουγενναρί|2]] | [[3 Χριστουγενναρί|3]] | [[4 Χριστουγενναρί|4]] | [[5 Χριστουγενναρί|5]] | [[6 Χριστουγενναρί|6]] | [[7 Χριστουγενναρί|7]] | [[8 Χριστουγενναρί|8]] | [[9 Χριστουγενναρί|9]] | [[10 Χριστουγενναρί|10]] | [[11 Χριστουγενναρί|11]] | [[12 Χριστουγενναρί|12]] | [[13 Χριστουγενναρί|13]] | [[14 Χριστουγενναρί|14]] | [[15 Χριστουγενναρί|15]] | [[16 Χριστουγενναρί|16]] | [[17 Χριστουγενναρί|17]] | [[18 Χριστουγενναρί|18]] | [[19 Χριστουγενναρί|19]] | [[20 Χριστουγενναρί|20]] | [[21 Χριστουγενναρί|21]] | [[22 Χριστουγενναρί|22]] | [[23 Χριστουγενναρί|23]] | [[24 Χριστουγενναρί|24]] | [[25 Χριστουγενναρί|25]] | [[26 Χριστουγενναρί|26]] | [[27 Χριστουγενναρί|27]] | [[28 Χριστουγενναρί|28]] | [[29 Χριστουγενναρί|29]] | [[30 Χριστουγενναρί|30]] | [[31 Χριστουγενναρί|31]] </center> ---- {{ΗμερολόγιοΣεΠίνακα|12}} [[Εικόναν:Duccio di Buoninsegna 002.jpg|thumb|right|250px|Η ''Κατά σάρκα Γέννησις'' τη Χριστού σ' έργον τη Duccio di Buoninsegna]] Ο '''Χριστουγεννάρτς''', άμαν και λέγν'ατόν και '''Χριστανάρτς''' (σ' ελλενικά: ''Δεκέμβριος''), εν ο δωδέκατον ο μήνας τη χρονίας, λεει μάς το [[Γρηγοριανόν ημερολόγιον]] κι εχ' 31 ημέρας. == Τ’ όνεμαν == Σ' αρχαίον το [[Ρωμαϊκόν Αυτοκρατορίαν|ρωμαϊκόν]] ημερολόγιον ο Χριστουγεννάρτς έτον ο δέκατον ο μήνας. Για τ' ατό τα μήνας σα νεοελλενικά και σ’ αλλα τα καλατσίας επαίρανε τ'ονέματα τουν λ.χ. ''Σεπτέμβριος'', (λατ. ''septem'' = εφτά), Οκτώβριος (λατ. ''octo'' = οκτώ), Νοέμβριος (λατ. ''novem'' = εννέα) και Δεκέμβριος (λατ. ''decem'' = δέκα). Σα [[Ποντιακά|ποντιακά τα ρωμαίικα]] τ' όνεμαν ατ' εβγαίν ασο [[Χριστούγεννα|Χριστουγεννίων]] τον έξεργον. == Ο λαόν για τον Χριστουγεννάρ (Χριστανάρ) == Ο λαόν λεει τ' αφκά κεκά τα δίστιχα για τον Χριστουγεννάρ (Χριστανάρτ): :''«Χριστουγεννάρτς φερ΄ τον κρύον,'' :''σαν εκείνον π΄ εχ΄ το βίον.»'' (ενν. να σαν) :''«Έρθαμε σον Χριστουγεννάρ, ο Χριστόν εγεννέθεν,'' :''Τα μήνας γίνταν δώδεκα, ο χρόνος πα ετέλεθεν.»'' == Συνδέσμ == * '''[[Εικόναν:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:December|Χριστουγεννάρτς σα Commons]]''' * '''[[Εικόναν: Wiktfavicon en.svg|16px|Βικιλεξικόν]] [[:el:wikt:Χριστουγεννάρτς|Ο Χριστουγεννάρτς σ’ ελλενικόν το Βικιλεξικόν]]''' {{Μήνας‎}} [[Κατηγορίαν:Μήνας|Χριστουγενναρτς]] 9mexd3429nm7oafl8j1wswjwe45yztw Ωκεανίαν 0 289 35228 32154 2022-09-20T01:07:26Z Kwamikagami 8969 35228 wikitext text/x-wiki Η '''Ωκεανίαν''' εν ήπειρος σον Ειρηνικόν Ωκεανόν. [[Αρχείον:Oceania in the world (red) (W3).svg|thumb|right|{{Polytonic|Ωκεανίαν}}]] == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Oceania|Η Ωκεανίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Ωκεανία|Η Ωκεανίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Oceania|Χάρτες ασην Ωκεανίαν]]''' * [http://dmoz.org/Regional/Oceania/ Open Directory Project:Ωκεανίαν] [[Κατηγορίαν:Γεωγραφίαν|Ωκεανιαν]] qoh37jtbibd2rn3cwwkk5ebspza6wkr Άλας 0 290 36086 36072 2024-12-12T23:32:42Z Wolverène 4171 36086 wikitext text/x-wiki [[Εικόναν:NaCl-zoutkristallen op Schott Duran 100 ml.JPG|μικρογραφία|Άλας]] Με τ' '''άλας''' αλίζνε τα φαΐα κι εφτάνατα κιάλλο έμνοστα. Αβούτο τ'όνεμαν εχ' και το [[νάτριον]], που εχ' απές χλώριον. Ευρίσκουματο σα νερά τη θάλασσας. Ατουπές το ποσοστόν τ' άλατος εν 2,7 - 3,8%. Άμα ευρίσκουμε και σκυρά μάζας ση γην απές, λ.χ. σην [[Πολωνία|Πολωνίαν]], σην [[Αυστρία|Αυστρίαν]], ση [[Γερμανία|Γερμανίαν]] κλπ. [[Κατηγορίαν:Φαΐα|αλας]] 4tjjsaoiy092svyrujgujy6w5plc034 Ήλες 0 291 2945 2944 2009-03-06T15:29:57Z MF-Warburg 53 1 revision 2945 wikitext text/x-wiki #REDIRECT[[Ήλος]] p5z32ew57q6vut8r2ootf4v6qeysute Εγκυκλοπαίδεια 0 292 31420 31066 2013-03-11T10:22:31Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 1 interwiki links, now provided by [[d:|Wikidata]] on [[d:q5292]] [[M:User:Addbot/WDS|(translate me)]] 31420 wikitext text/x-wiki Η '''εγκυκλοπαίδειαν''' εν λεξικόν κι εκειαπές τοπλαέβνε γνώσην. Η λέξη εν συγκόλησην ασα παλαιά [[Ελλενικόν γλώσσα|ελλενικά]] τα λέξεις ''ἐγκύκλιος'' (άμον τον κύκλον) και ''παιδεία'' (μάθεμαν). == Ιστορία τη λέξης == Η λέξην έρτεν ασο παλαιόν τ' ελλενικόν τη φράσην ''ἐγκύκλιος παιδεία'', σα ελλενιστικά τα χρόναι. Έλεγαν αέτς ούλ'ατα ντ'είςεν απές το γενικόν τ'επιστημονικόν το μάθεμαν. Ο [[Ρωμανίαν|Ρωμαίον]] ο συγγραφέας ο Ζωναράς έλεεν, η ''ἐγκύκλιος παιδεία'' έςς απές τη [[γραμματικήν]], τη [[ποιητικήν]], τη [[Ρητορική|ρητορικήν]], τη [[φιλολογικήν]], τη [[φιλοσοφίαν]], τη [[μαθεματικήν]] και κάθαν τέχνην τη σοφών. Αβούτον το παλαιόν τ'ελλενιστικόν η φράση ελάγεν κι εγέντον νεολατινικόν λέξην, ''encyclopaedia''. Αέτς επέρασεν κι εσέβεν σο γαλλικόν τη γλώσσαν σα 1532 τη χρονίαν (''encyclopédie'') κι επεκεί σ'άλλα τ'ευρωπαϊκά τα γλώσσας. Με αβούτον τη μορφήν (''εγκυκλοπαίδεια'') η λέξεν έρτεν (οπίς) σα ελλενικά σα 1710 τη χρονίαν, όνταν εξέβεν το έργον τ' Ιωάννε Πατούσα, ''Φιλολογική Ἐγκυκλοπαίδεια''. [[Κατηγορίαν:Wp/pnt|Εγκυκλοπαιδεια]] 3px3ofsfy3wvu812hwc4phdq0zewo2i Λαζούδ 0 293 33130 31865 2016-10-01T18:30:27Z Ercé 3412 33130 wikitext text/x-wiki [[Αρχείον:Corncobs.jpg|thumbnail|right|230px|Λαζούδαι]] [[File:Zea mays fraise MHNT.BOT.2011.18.21.jpg|thumb|''Zea mays "fraise"'']] [[File:Dent Corn 'Oaxacan Green' (Zea mays) MHNT 2.jpg|thumb|''Zea mays "Oaxacan Green"'']] [[File:Zea mays 'Ottofile giallo Tortonese' MHNT.BOT.2015.34.1.jpg|thumb|''Zea mays 'Ottofile giallo Tortonese''']] Το '''λαζούδ''' εν φυτόν, το οποίον έρθεν ασο [[Μεξικόν]]. Έρθεν σην [[Ευρώπην]] ασα 1500 τη χρονίαν κι αδά μερέαν κι επεκεί εξαπλώθεν σον κόσμον. Τ'οσημερνά τα λαζούδαι που φυτεύνατα σ' όλεν το κόσμον κι ούλ' εξέρουματα έχνε τ'όνεμαν ''Zea mays''. Σα άλλα Ελλενικά λαλίας λέγνατο καλαμπόκι και αραβόσιτος. [[Κατηγορίαν:Φυτά|λαζουδ]] 4nk3xok2g9fi6pqckafn5wn8vp46o7z Παλαιόν 0 294 33594 6732 2018-03-05T16:01:14Z Escarbot 910 wikidata interwiki 33594 wikitext text/x-wiki <div align="center" style="font-size:18pt; line-height:1em;">Η Βικιπαίδεια σα</div> <div align="center" style="font-size:25pt; line-height:1em;">Ρωμαίικα τα Ποντέικα</div> <div align="center" style="font-size:12pt; line-height:1,3em;">Ανοιχτόν εγκυκλοπαίδεια ντο γράφκεται και τρανείν απ' ατείντς π' θέλνε.</div> <div align="center" style="font-size:12pt; line-height:1,3em;">Ο αριθμόν τη σελίδιων τη ρωμαίικου τη ποντέικου τη Βικιπαίδειας ατώρα είναι {{NUMBEROFARTICLES}}. Βοηθέστεν κι εφτάτεν ατέναν κι άλλο τρανέσαν.</div> <inputbox> type=create width=50 bgcolor=#ffffff preload=Πρότυπον:Wp/pnt default= buttonlabel=αρχινέστεν άλλο γράψιμον </inputbox> <!-- Δέλτος μεγίστη --> <!-- ------------ --> {| cellpadding="0" cellspacing="0" | valign="top" width="48%" style="background:#f5fffa; border: 1px solid #cef2e0" | {| cellspacing="10" style="background:transparent; font-family: Palatino Linotype, Verdana, Arial, Helvetica, sans-serif;" | style="text-align:center; padding:4px; font:bold 17px Georgia,serif; letter-spacing:3px; border-bottom: 1px solid #ccc; background:#cef2e0" | ΚΑΛΩΣ ΕΡΘΕΤΕΝ... |----------------------------------------- | style="text-align:left" | ...σην [[Βικιπαίδεια|Βικιπαίδειαν]]. '''Μαθέστεν''' πολλά για τ'ατέν δεαβάζοντας τα [[Βικιπαίδεια/πολλά ερωτήσεις|'''πολλά ερωτήσεις''']] και την [[Βικιπαίδεια/Βοήθεια|'''βοήθειαν''']]. |----------------------------------------- | style="text-align:center; padding:4px; font:bold 17px Georgia,serif; letter-spacing:3px; border-bottom: 1px solid #ccc;background-color:#cedff2" |ΠΡΟΣΚΑΛΕΜΑΝ ΓΙΑ ΤΟ ΕΡΓΟΝ ΑΤΟ |----------------------------------------- | style="text-align:left" | '''Βοηθέστεν''' την Βικιπαίδειαν. Βαλέστεν και σεις το εξέρετεν αέτς για να τρανείν η εγκυκλοπαίδεια. *Εάν ευρήκετεν γραφόμενα ντο 'κ είναι σωστά κι αν έχετε σον νούνεσουν τα σωστά, '''ποίστεν το κι άλλο καλλίον'''. *Εάν εγνωρίζετε καλά καινούρεα πράματα, '''αρχινέστεν''' άλλο γράψιμον. *Η '''αντιγραφήν ασ' άλλα γλώσσας''' ίνεται. |----------------------------------------- | style="text-align:center; padding:4px; font:bold 17px Georgia,serif; letter-spacing:3px; border-bottom: 1px solid #ccc;background-color:#cedff2" |<span style="float: left;">[[Εικόναν:Nuvola apps kpdf.png|25px|]]</span>ΕΓΚΥΚΛΟΠΑΙΔΕΙΑ |----------------------------------------- | style="text-align:center;font-weight: bold; font-size: 13px;background-color:#cedff2" | Κατάλογος με τα θέματα |----------------------------------------- | {| style="font-size: 12px; background:#f5faff" cellspacing="0" cellpadding="3" | width="50%" | [[Εικόναν:Nuvola apps kcoloredit.svg|40px|left]] <big>[[Πολιτισμόν|Πολιτισμόν]]</big><br> [[Ζωγραφικήν|Ζωγραφικήν]] &middot; [[Θέατρον|Θέατρον]] &middot; [[Λογοτεχνίαν|Λογοτεχνίαν]] &middot; [[Μουσικήν|Μουσικήν]] &middot; [[Αρχιτεκτονικήν|Αρχιτεκτονικήν]] &middot; [[Γλυπτικήν|Γλυπτικήν]] &middot; [[Αθλητισμός|Αθλητισμός]] &middot; [[Μυθολογίαν|Μυθολογίαν]] &middot; [[Θρησκείαν|Θρησκείαν]] &middot; [[Ποιητικήν|Ποιητικήν]] [[Εικόναν:Nuvola_filesystems_www.png|40px|left]] <big>[[Γεωγραφίαν|Γεωγραφίαν]]</big><br/> [[Ασίαν|Ασίαν]] &middot; [[Αφρικήν|Αφρικήν]] &middot; [[Ευρώπην|Ευρώπην]] &middot; [[Αμερικήν|Αμερικήν]] &middot; [[Ωκεανίαν|Ωκεανίαν]] &middot; [[Ανταρκτικήν|Ανταρκτικήν]] &middot; [[Αρκτικήν|Αρκτικήν]] &middot; [[Πολιτεία|Πολιτείας]] &middot; [[Κράτος|Κράτη]] &middot; [[Θάλασσα|Θάλασσας]] &middot; [[Νησίν|Νησία]] &middot; [[Ραχίν|Ραχία]] [[Εικόναν:Nuvola apps bookcase.svg|40px|left]] <big>[[Ιστορίαν|Ιστορίαν]]</big><br/> [[Παλαιόν Ιστορίαν|Παλαιόν Ιστορίαν]] &middot; [[Ρωμανίαν|Ρωμανίαν/Βυζάντιον]] &middot; [[Ευρωπαϊκόν Ιστορίαν|Ευρωπαϊκόν Ιστορίαν]] &middot; [[Πολέμ|Πολέμ]] &middot; [[Ρωμαϊκόν Αυτοκρατορίαν|Ρωμαϊκόν Αυτοκρατορίαν]] &middot; [[Καινούρ' Ιστορίαν|Καινούρ' Ιστορίαν]] [[Εικόναν:Nuvola apps edu miscellaneous.png|40px|left]] <big>[[Γραμματικήν|Γραμματικήν]]</big><br/>[[Ουσιαστικόν|Ουσιαστικόν]] &middot; [[Ρήμαν|Ρήμαν]] &middot;[[Επίρρημαν|Επίρρημαν]] &middot; [[Σύνδεσμον|Σύνδεσμον]] [[Εικόναν:Nuvola apps kuser.svg|40px|left]] <big>[[Βικιπαίδεια|Βικιπαίδεια]]</big><br/> [[Βικιπαίδεια/Αγορά|Αγορά]] &middot; [[Βικιπαίδεια/Παρακάθ|Παρακάθ]] &middot; [[Βικιπαίδεια/Βοήθεια|'''Βοήθεια''']] &middot; [[Βικιπαίδεια/Ντο 'κ εν η Βικιπαίδεια|Ντο 'κ εν η Βικιπαίδεια]] &middot; [[Δικαιώματα πνευματί|Δικαιώματα πνευματί]] |} [[Κατηγορίαν:Wp/pnt|παλαιόν]] i3xvt1wdifg7hhrmrnnfi1y3zkerfpt Πιςία 0 295 36282 34890 2025-07-05T17:14:29Z Dianeira 8650 36282 wikitext text/x-wiki [[Αρχείον:Pisia 2.jpg|μικρογραφία|Ποντιακά πιςία.]] Τα '''πιςία''' (προφέρκουνταν {{IPA|[piʃ'ia]}}) είναι πατροπαράδοτον [[Πόντος|ποντιακόν]] φαΐν. Ψήεται σο τηγάν. == Ντο πράματα θέλομεν == Για δέκα πιςία: *500 γρ. αλεύρ *1 φακελόπον ξηρόν μαγιάν *1 ωβόν *1 χουλερόπον άλας *1 φλιτζάν ελάδ == Πώς εφτάμε τα πιςία == Εφτάμε τρανά ζουμωτά φύλλα κι ενοίγοματα. Επεκεί θέκοματα σο τηγάν απές και κλώθοματα ασα δύο μερέας. Εκοκκινίζνε κι επέκει εβγάζοματα, αλείβομ'απάν μέλ, πετμέζ ή ζάχαρην. Επεκεί βάλλομ'ατα σ'έναν ςκεύος, κάθουμες σο τραπέζ και τρώγουμε. == Συνδέσμεα == *[https://web.archive.org/web/20100804030211/http://www.sintagespareas.gr/sintages/pisia-me-giaourti.html Πως εφτάμε τα πιςία] - sintagespareas.gr (ελλ) [[Κατηγορίαν:φαΐα|πισια]] pzgbbx4f6p03q1mdiba07e6yof0ltsn Τσιριχτά 0 296 36084 36079 2024-12-12T23:31:19Z Wolverène 4171 36084 wikitext text/x-wiki [[Αρχείον: Τσιριχτά.JPG|200px|μικρογραφία|Τα τσιριχτά.]] [[Αρχείον:Τσιριχτά σο ελάδ απές.JPG|200px|μικρογραφία|Τα τσιριχτά απές σο χασευτόν τ' ελάδ.]] Τα ποντιακά τα '''τσιριχτά''' έν άμον τα ξακουστά τ'[[ελλενικόν λαλίαν|ελλενικά]] τα «λουκουμάδες» ντο έχνε σα ζαχαροπλαστεία. Βέβαια σα ζαχαροπλαστεία ξ̌ύνε και το σιρόπ απάν και κανέλλα. Οι Πόντιοι εδούνανε σα μωρά ‘τουν κι έτρωαν τα τσιριχτά για γλύκισμαν, αφού εβάλνανε σεκέρ ή μέλ’ απάν. == Τα τσιριχτά σο ποντιακόν τη χαράν == Όντες επάντρευανε οι νέοι, πρωτού το εγκλεσιαστικόν το μυστήριον (δηλαδή το στεφάνωμαν) και ύστερα ασ’ ατό, ο κόσμον εx̌αίρουντον και ετοιμάουτον να εφτάει τα γλέντϊα. Έτρωαν, έπιναν κι εχόρευαν. Η ποτή ατούν έτον το [[κρασίν]] και το [[ρακίν]], με τ'οποία έρχουνταν σο κεφ. Εσκάλωνανε το Σάββατον το βράδον με τα τραγωδίας και τον χορόν κι ετελαίνανε τη Δευτέραν το πρωίν. Τα φαΐα ‘τουν έσανε κρέατα [[μουχτερόν|μουχτερί]], [[κοσσάρα|κοσσάρας]], [[βουδ|βουδί]] κ' ίντια άλλο εδίνεν ο καιρόν. Τα σαλάτας ατούν έσανε [[λάχανα]] του χωραφί. Το χειμώναν εποίνανε και σαλάτα ασ'άσπρον το λάχανον και στίπα [[πιπέρ|πιπερή]] και λαχανί. Εξόν ασ’ ατά εποίνανε [[σινίν|σινία]] πα, εποίνανε τσιριχτά και [[ωτία]], π' εζύμωνανε με του [[κοκίν|κοκί]] τ'αλεύριν. Τα τσιριχτά εβάλν’ ατά απάν σα τραπέζϊα σα ποντιακά τα χαράντας και αντί για ψωμίν έτρωγαν ατά, σίτϊα έπινανε τα κρασία και τα ρακία. == Ντο πράματα θέλομεν == *2 ποτήρϊα τσ̌αΐ γαλιό χουλιόν νερόν *1 μικρόν χουλιαρέαν άλας *1 μικρόν χουλιαρέαν μέλ *1 χουλιάρ μαγιάν *σ̌ιμισκί ελάδ == Πώς εφτάμε τα τσιριχτά == [[Αρχείον:Τσιριχτά (ζουμάρ).JPG|εναλλ.=|μικρογραφία|259x259εσ|Με το βρεμμένον το χουλιάρ παίρουμε και κςύζουμε το ζυμάρ ντ’ εξέβεν ασ’ απάν το μέρος τη μούστας και σύρομ’ ατό απές σο χασευτόν τ'ελάδ.]] Ατώρα ας λέουμε πώς εποίνανε τ'εμετέρ τα τσιριχτά για να εγροικάτεν κι εσείς. Αούτο εν η συνταγήν τη γιάγιας ‘ιμ τη Ανατολής: Παίρουμε δυο ποτήρϊα τσαΐ γαλιό-χουλιόν νερόν, έναν μικρόν χουλιάρ [[άλας]] κι έναν πα μικρόν χουλιάρ μέλ’. Παίρουμε ολίον μαγιάν πα και λύουμε τη μαγιάν απές σο νερόν. Επεκεί φέρουμε το αλεύρ’ και ξ̌ύνουμε γάλϊα-γάλϊα απές σο νερόν. Παίρουμε κι έναν ξύλινον χουλιάρ και ταράζομ’ ατό ως ατό να ίνεται ζυμάρ. Ζυμάρ όμως μαλακόν, γιοκ σκυρόν. Επεκεί τσ̌ιλϊάζουμ’ ατό μ’έναν πανίν και βάλομ’ ατό σ’έναν χουλιόν μέρος κι αφήνομ’ ατό περίπου ημσόν ώραν ν’ανεβαίν’ το ζυμάρ’. Ασού ανεβαίν’ το ζυμάρ’ κι επεκεί παίρουμε έναν τένζερην μικρόν, ξ̌ύνουμ’ απές έναν λίτρον σ̌[[σίμισκα|ιμισκί]] [[ελάδ]], βάλομ’ατό απάν ση φωτίαν, σο τσ̌ακ ή σον πέσ̌κον κι αναμένωμαι ους να ψέεται καλά. Αφού εφτάμε όλϊα ατά, παίρουμε το ζυμάρ τ΄ανεβασμένον (γιόκ τ'ανανήβ’), βάλομ’ ατό δίπλα σο τηγάν’, παίρουμε κι έναν μαστραπάν’ νερόν κι έναν χουλιάρ του τσ̌αΐ. Βάλομε το χουλιάρ απές σο νερόν. Με τ'έναν το x̌ερ παίρουμε ζυμάρ απ'απές ασο σκεύος, τσουπώνουμε το x̌ερ εμούν κι εφτάμ’ ατό άμον μούστα. Ασ'απάν τη μερέαν αφήνουμε τα δάχτυλαν εμουν ολιόπον ανοιχτά για να εβγαίν το ζυμάρ απάν. Με τ'εβρεμμένον το χουλιάρ παίρουμε και ξ̌ύζουμε το ζυμάρ ντ’ εξέβεν ασ’ απάν το μέρος τη μούστας και σύρομ’ ατό απές σο χουλιόν τ'ελάδ. Ατό το έργον εφτάμ’ ατό ους να τελείται το ζουμάρ. Τα ψεμμένα τα τσιριχτά εβγάλουμ’ ατά ασο χουλιόν τ'ελάδ και βάλουμ’ ατά σ’έναν καθαρόν σκεύος. == Συνδέσμεα == *[https://web.archive.org/web/20110827031923/http://www.tithafame.gr/syntages/cea4cf83ceb9cf81ceb9cf87cf84ceac.html Πως εφτάμε τα τσιριχτά] - tithafame.gr (ελλ) [[Κατηγορίαν:φαΐα|τσιριχτα]] [[Κατηγορίαν:Βικιπαίδεια:Arthron]] e77sf3a8kteoc6y2a26afejov9g9zrl Πρότυπον:NUMBEROFARTICLES 10 297 9961 3084 2009-12-04T14:52:54Z Qoan 1170 Κατηγοριοποιώ 9961 wikitext text/x-wiki [[Special:Prefixindex/Wp/pnt|'''167''']] <noinclude> [[Κατηγορίαν:Πρότυπα]] </noinclude> k1vbxic4j9o3rd3k6k4tvfc0u0gomq9 Πρότυπον:Arthron 10 298 24725 24722 2011-12-22T20:43:55Z Ο Γέργον 1099 24725 wikitext text/x-wiki [[Εικόναν:Τσιριχτά.JPG|100px|right]] Τα ποντιακά τα '''τσιριχτά''' είναι τα φημισμένα ελλενικά «λουκουμάδες» σα ζαχαροπλαστεία. Οι Πόντιοι εδίναν τα μωρά ‘τουν κι έτρωγαν τα τσιριχτά για γλύκισμαν αφού εβάλλανε ζάχαρην ή μέλ’ απάν. Ατώρα ας λέγουμε πως εποίνανε τα τσιριχτά για να εγροικάτεν κι εσείς. Παίρουμε δυο ποτήρεα τςαΐ χαλέ χουλέν νερόν, έναν χουλέρ τςαΐ [[άλας]] κι έναν πα μικρόν χουλέρ τςαΐ μέλ’. Παίρουμε και ολίγον μαγιάν κα λύνουμε τη μαγιάν απές σο νερόν. Ύστερα φέρουμε το αλεύρ’ και κςύνουμε γάλεα γάλεα απές σο νερόν. Παίρουμε κι έναν ξύλινον χουλέρ και ταράζομ’ ατό όσπου να ίνεται ζουμάρ. Ζουμάρ όμως μαλακόν, όχι σπιχτόν. <div align=left style="font-size:100%;">'''[[Τσιριχτά|Πλέα...]]'''</div> <noinclude> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας]] </noinclude> 3v0vhihtw7lkif71htl67bmlbsgzmx6 Πρότυπον:Hapere 10 299 3665 3109 2009-03-07T11:23:13Z ZaDiak 10 Redirected page to [[Πρότυπον:Χαπέραι]] 3665 wikitext text/x-wiki #REDIRECT [[Πρότυπον:Χαπέραι]] me8bq91n4566ncy6m9mkboe64sign3m Πρότυπον:Πληροφορίας χώρας 10 300 32484 31751 2015-08-04T22:06:54Z YiFeiBot 4458 Ρομπότ: Μεταφέρω 6 σύνδεσμους interwiki, που τώρα παρέχονται από τα [[d:|Wikidata]] στο [[d:q5621162]] 32484 wikitext text/x-wiki <div> {| border=1 align=right cellpadding=4 cellspacing=0 width=250 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big>'''{{{εθνικόν_όνεμαν}}}'''</big> {{#if:{{{εθνικόν όνεμαν σα ποντιακά|<noinclude>-</noinclude>}}} | <br><big>'''{{{εθνικόν όνεμαν σα ποντιακά}}}'''</big> }} |- | align=center colspan="2" | {| style="background:#f9f9f9;" border="0" cellpadding="2" cellspacing="0" |- align=center | [[Image:{{{σημαία}}}|150px|border|Σημαία]] | [[Image:{{{σύμβολον}}}|{{{πλάτος εθνόσημου|100px}}}|Σύμβολον]] |- align=center | <small>[[{{{άρθρον σημαίας|Σημαία}}}|Σημαία]]</small> | <small>[[{{{άρθρον συμβολατί|Σύμβολον}}}|Σύμβολον]]</small> |} |- align=center valign=top {{#if:{{{εθνικόν_σύνθημαν|}}} |<!--then: --><tr> <td colspan="3" style="line-height:1.2em; text-align:center;"><!-- --><small>'''[[Εθνικόν σύνθημαν|Εθνικόν σύνθημαν]]:'''&nbsp;''{{{εθνικόν_σύνθημαν|}}}''</small></td> </tr><!-- -->}} |- align=center valign=top {{#if:{{{εθνικόν_ύμνος|}}}|<!--then: --><tr> <td colspan="3" style="line-height:1.2em; text-align:center;"><!-- -->{{#if:{{{εθνικόν_ύμνος|}}} |<!--then:--><small>'''[[Κατάλογος με τ' ύμνς τη κρατίων|Εθνικόν ύμνος]]:'''&nbsp;''{{{εθνικόν_ύμνος}}}''</small> }}<!-- --></td> </tr><!-- -->}} |- align=center | colspan="2" style="background:#ffffff;" | [[Image:{{{χάρτες}}}|250px|Θέση τη χώρας σον κόσμον]] |- valign=top {{#if: {{{πρωτεύουσα και ασ' όλον τρανόν πολιτεία|<noinclude>-</noinclude>}}} | {{!}} '''[[Πρωτεύουσα|Πρωτεύουσα]]'''<br><small>(και ασ' όλον τρανόν πολιτεία)</small> {{!}} {{{πρωτεύουσα και ασ' όλον τρανόν πολιτεία}}}<br/> {{#if: {{{συντεταγμένας_πρωτεύουσας|<noinclude>-</noinclude>}}} | <small>{{{συντεταγμένας_πρωτεύουσας}}}</small> }} }} |- valign=top {{#if: {{{πρωτεύουσα|<noinclude>-</noinclude>}}} | {{!}} '''[[Πρωτεύουσα|Πρωτεύουσα]]''' {{!}} {{{πρωτεύουσα}}}<br/> {{#if: {{{συντεταγμένας_πρωτεύουσας|<noinclude>-</noinclude>}}} | <small>{{{συντεταγμένας_πρωτεύουσας}}}</small>}} }} |- valign=top {{#if: {{{ασ' όλον τρανόν πολιτεία|<noinclude>-</noinclude>}}} | {{!}} '''Ασ' όλον τρανόν πολιτεία''' {{!}} {{{ασ' όλον τρανόν πολιτεία}}} }} |- valign=top {{#if: {{{επίσημα_γλώσσας|<noinclude>-</noinclude>}}} | {{!}} '''[[Επίσημον γλώσσα|Επίσημα&nbsp;γλώσσας]]''' {{!}} {{{επίσημα_γλώσσας}}} }} |- valign=top | style="white-space: nowrap;" | '''[[Πολίτευμαν|Πολίτευμαν]]'''<br>{{{τίτλοι_τ' ηγετίων}}} | style="white-space: nowrap;" | {{{πολίτευμαν}}}<br>{{{ονόματα_τ' ηγετίων}}} |- valign=top |- valign=top style="border-bottom:none;" {{#if: {{{έκταση|<noinclude>-</noinclude>}}} | {{!}} '''[[Κατάλογος χωρών ανά έκταση|Έκταση]]''' {{!}} {{{έκταση}}} km&sup2; }} {{#if: {{{θέση_έκτασης|<noinclude>-</noinclude>}}} | ([[Κατάλογος χωρών ανά έκταση|{{{θέση_έκτασης}}}ον]]) }} |- valign=top style="border-top:none;" {{#if: {{{ποσοστόν_νερού|<noinclude>-</noinclude>}}} | {{!}} Νερό (%) {{!}} {{{ποσοστόν_νερού}}} }} |- valign=top | style="white-space: nowrap;" | '''[[Κατάλογος κρατίων ανά πληθυσμόν|Πληθυσμός]]'''<br>&nbsp;- Εκτίμηση {{{χρονία_εκτίμησης_πληθυσμού}}}<br>&nbsp;- Απογραφή {{{χρονία_απογραφής_πληθυσμού}}}<br>&nbsp;- [[Πυκνότητα πληθυσμού|Πυκνότητα]] | &nbsp;<br>{{{εκτίμηση_πληθυσμού}}} ([[Κατάλογος χωρών ανά πληθυσμό|{{{θέση_πληθυσμού}}}ον]])<br>{{{πληθυσμός}}}<br>{{{πυκνότητα_πληθυσμού}}} κάτ./km&sup2; ([[Κατάλογος κρατίων κατά πυκνότητα πληθυσμού|{{{θέση_πυκνότητας_πληθυσμού}}}ον]]) |- valign=top {{#if: {{{παράδας|<noinclude>-</noinclude>}}} | {{!}} '''[[Παράδας|Παράδας]]''' {{!}} {{{παράδας}}} }} {{#if: {{{κωδικός_παράδων|<noinclude>-</noinclude>}}} | <br>(<code>[[ISO 4217|{{{κωδικός_παράδων}}}]]</code>) }} |- valign=top | '''[[Ζώνε ώρας|Ζώνε ώρας]]''' {{#if: {{{θερινόν_διαφορά_UTC|<noinclude>-</noinclude>}}} | <br>&nbsp;- [[θερινόν&nbsp;ώρα|θερινόν&nbsp;ώρα]]}} | {{{ώρα_ζώνες}}} ([[UTC|UTC]]{{{διαφορά_UTC}}}) {{#if: {{{θερινόν_διαφορά_UTC|<noinclude>-</noinclude>}}} |<br> ([[UTC|UTC]]{{{θερινόν_διαφορά_UTC}}})}} |- valign=top {{#if: {{{top_level_domain|<noinclude>-</noinclude>}}} | {{!}} '''[[Top-level domain|Internet TLD]]''' {{!}} <code>{{{top_level_domain}}}</code> }} |- valign=top {{#if: {{{κωδικός_τηλεφωνατί|<noinclude>-</noinclude>}}} | {{!}} '''[[Κατάλογος με κωδικούς τηλεφωνατί κρατίων|Κωδικός τηλεφωνατί]]''' {{!}} <code>+{{{κωδικός_τηλεφωνατί}}}</code> }} {{#if: {{{σημειώσεις|<noinclude>-</noinclude>}}} | {{!}}-valign=top {{!}}colspan=2 {{!}} <small>{{{σημειώσεις}}}</small> }} |} </div><noinclude> [[Category:Πρότυπα|Πληροφοριας χωρας]] [[fr:Modèle:Pays]] [[ro:Format:CutieŢări]] </noinclude> 6cpmb5i62i7bb9lcnxdzb4mc79j1t0k Πρότυπον:Ημέρας τη εβδομάδας 10 301 32485 31732 2015-08-04T22:07:04Z YiFeiBot 4458 Ρομπότ: Μεταφέρω 1 σύνδεσμους interwiki, που τώρα παρέχονται από τα [[d:|Wikidata]] στο [[d:q6091158]] 32485 wikitext text/x-wiki {| border="0" id="toc" style="margin: 0 auto" align=center | style="background:#ccccff" align="center" | '''Ημέρας τ' [[Εβδομάδα|εβδομάδας]]''' |- |align=center| [[Κερεκήν|Κερεκήν]] | [[Δευτέραν|Δευτέραν]] | [[Τρίτ|Τρίτ]] | [[Τετράδ|Τετράδ]] | [[Πέφτ|Πέφτ]] | [[Παρασκευήν|Παρασκευήν]] | [[Σάββαν|Σάββαν]] |} <noinclude> [[ml:ഫലകം:ആഴ്ചയിലെ ദിവസങ്ങള്‍]] [[Κατηγορίαν:Πρότυπα]] </noinclude> 1qs4r63nz8lo4hgjxw0zkppzmmd9duf Πρότυπον:Κράτη ΕΣ 10 302 35951 34756 2024-10-26T05:27:36Z Minorax 7522 35951 wikitext text/x-wiki <br clear=all> {| id="toc" style="margin: auto;" ! align="center" style="background:#ccccff" width="100%" | <div style="float:left;width:50px;">&nbsp;</div> Κράτη τ΄ [[Ευρωπαϊκόν Σύνδεσμος|Ευρωπαϊκού Συνδέσμου]] || [[Image:European flag.svg|50px|Σημαία τ΄ Ευρωπαϊκού Συνδέσμου]] |- | align="center" style="font-size: 100%;" colspan="2" | ''' [[Αυστρία]]{{·}} [[Βέλγιον]]{{·}} [[Βουλγαρία]]{{·}} [[Γαλλία]]{{·}} [[Γερμανία]]{{·}} [[Δανία]]{{·}} [[Ελλάδα]]{{·}} [[Εσθονία]]{{·}} [[Ιρλανδία]]{{·}} [[Ισπανία]]{{·}} [[Ιταλία]]{{·}} [[Κροατία]]{{·}} [[Κύπρος]]{{·}} [[Λεττονία]]{{·}} [[Λιθουανία]]{{·}} [[Λουξεμβούργο]]{{·}} [[Μάλτα]]{{·}} [[Ολλανδία]]{{·}} [[Ουγγαρία]]{{·}} [[Πολωνία]]{{·}} [[Πορτογαλία]]{{·}} [[Ρουμανία]]{{·}} [[Σλοβακία]]{{·}} [[Σλοβενία]]{{·}} [[Σουηδία]]{{·}} [[Τσεχία]]{{·}} [[Φινλανδία]] |} <noinclude> [[Category:Πρότυπα|Κράτη ΕΣ]] </noinclude> lo2c6yooev0ovgcrce1ll1t52y96w5p Πρότυπον:Κράτη τη Ευρώπης 10 303 36290 36289 2025-07-21T16:41:09Z Apokar 10158 36290 wikitext text/x-wiki <br clear="all" /> {| align="center" class="toccolours" cellspacing="0" |- ! bgcolor="#ccccff" align="center" | '''[[Κράτος|Κράτη]] τη [[Ευρώπην|Ευρώπης]]''' |- | align="center" style="font-size: 100%;" colspan="3"| [[Αζερμπαϊτζάν]]<sup>1</sup>{{•}} [[Άι Μαρίνος]]{{•}} [[Αλβανία]]{{•}} [[Ανδόρρα]]{{•}} [[Αρμενία]]<sup>2</sup>{{•}} [[Αυστρία]]{{•}} [[Βατικανό]]{{•}} [[Βέλγιον]]{{•}} [[Βοσνία και Ερζεγοβίνη|{{nowrap|Βοσνία και}} Ερζεγοβίνη]]{{•}} [[Βουλγαρία]]{{•}} [[Γαλλία]]{{•}} [[Γερμανία]]{{•}} [[Γρουζία]]<sup>1</sup>{{•}} [[Δανία]]{{•}} [[Ελβετία]]{{•}} [[Ελλάδα]]{{•}} [[Εσθονία]]{{•}} {{nowrap|[[Ηνωμένο Βασίλειο]]}}{{•}} [[Ιρλανδία]]{{•}} [[Ισλανδία]]{{•}} [[Ισπανία]]{{•}} [[Ιταλία]]{{•}} [[Κόσοβο]]{{•}} [[Κροατία]]{{•}} [[Κύπρος]]<sup>2</sup>{{•}} [[Λεττονία]]{{•}} [[Λευκορουσία]]{{•}} [[Λιθουανία]]{{•}} [[Λιχτενστάιν]]{{•}} [[Λουξεμβούργο]]{{•}} [[Βόρεια Μακεδονία|Βόρεια Μακεδονία]]{{•}} [[Μάλτα]]{{•}} [[Μαυροβούνιον]]{{•}} [[Μολδαβία]]{{•}} [[Μονακό]]{{•}} [[Νορβηγία]]{{•}} [[Ολλανδία]]{{•}} [[Ουγγαρία]]{{•}} [[Ουκρανία]]{{•}} [[Πολωνία]]{{•}} [[Πορτογαλία]]{{•}} [[Ρουμανία]]{{•}} [[Ρουσία]]<sup>1</sup>{{•}} [[Σερβία]]{{•}} [[Σλοβακία]]{{•}} [[Σλοβενία]]{{•}} [[Σουηδία]]{{•}} [[Τουρκία]]<sup>1</sup>{{•}} [[Τσεχία]]{{•}} [[Φινλανδία]] |---- | align="center" style="font-size: 100%" colspan="2"| '''Κτήσεις:''' [[Ακρωτήρι Κύπρου|Ακρωτήρι]]<sup>3</sup>{{•}} [[Δεκέλεια Κύπρου|Δεκέλεια]]<sup>3</sup>{{•}} {{nowrap|[[Νήσοι Φερόες]]}}{{•}} [[Γιβραλτάρ]]{{•}} [[Γκέρνσεϋ]]{{•}} [[Τζέρσεϋ]]{{•}} {{nowrap|[[Νήσος Μαν]]}} |---- | style="font-size: 94%" colspan="1"| 1. Ένα κομάτ ασήν έκτασην ατς ευρίεται σην Ασίαν.<br> 2. Γεωγραφικά εν σην Ασίαν, άμαν λέγουμ' ατέναν ευρωπαϊκόν για την ιστορίαν και τον πολιτισμόν ατς.<br> 3. Βρετανικόν έδαφος απέσς σο Κυπριακόν τη Δημοκρατίαν. |}<includeonly>{{#if: {{NAMESPACE}} | | [[Κατηγορίαν:{{PAGENAME}}| ]] [[Κατηγορίαν:Κράτη]] [[Κατηγορίαν:Ευρώπη]]}}</includeonly><!-- --><noinclude>{{Documentation}} </noinclude> ddnz9bbo2agjqep5cn8jb7lmuen3414 Πρότυπον:Μήνας 10 304 36998 36997 2025-12-16T16:44:54Z Εὐθυμένης 2777 36998 wikitext text/x-wiki {| border="0" id="toc" style="margin: 0 auto" align=center |align=center| [[Καλαντάρτς]] | [[Κούντουρος]] | [[Μαρτς]] | [[Απρίλτς]] | [[Καλομηνάς]] | [[Κερασινός]] | [[Χορτοθέρτς]] | [[Αλωνάρτς]] | [[Σταυρίτες]] | [[Τρυγομηνάς]] | [[Αεργίτες]] | [[Χριστουγεννάρτς]] |} <noinclude> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|Μηνας]] </noinclude> 4pmdi1e5kh58tunnvua9cw6ut7ciebl Πρότυπον:Μετάφραση el 10 305 3662 3166 2009-03-07T11:15:59Z ZaDiak 10 [[Πρότυπον:Πρότυπον:Μετάφραση el]] ετερχλαεύτεν σο [[Πρότυπον:Μετάφραση el]] 3662 wikitext text/x-wiki <div id="source"> {| class="toccolours" style="border: 1px solid #aaaaaa; background-color: #f9f9f9; padding: 5px; margin-top: 1em; margin-bottom: -0.5em; clear: both; width:100%;" | width="30px"| [[Image:Wikipedia-logo.png|25px|]] | Αβούτο το γράψιμον στηρίχκεται σο [[:el:{{{1|{{FULLPAGENAME}}}}}|άρθρον]] τ' [[:el:|ελλενικού τη Βικιπαίδειας]], κατά την [[w:el:Άδεια Ελεύθερης Τεκμηρίωσης GNU|GNU FDL]]. (<span class="plainlinks">[http://el.wikipedia.org{{localurl:{{{1|{{FULLPAGENAMEE}}}}}|action=history}} ιστορικόν/συντάκτες]</span>). |}</div> <noinclude> [[Category:Πρότυπα|Μεταφραση el]] </noinclude> kr0hl1c8m97l8txzcnxfwnw1q89vetl Πρότυπον:Χαπέραι 10 306 35755 35754 2024-10-12T14:20:59Z 37.73.38.10 35755 wikitext text/x-wiki * <span class="plainlinks" style="white-space: nowrap">[http://translatewiki.net/wiki/Translating:Group_statistics Μετάφραση τ' interface (pnt)]</span>: 45.11% (most used: 100.00%) ---- <div class="center">'''Ντο ίνεται με τη Βικιπαίδειαν'''</div> ---- ==2009== * '''[[5 Μαρτί|5 Μαρτί]]''': Έντονεν η Ποντιακή Βικιπαίδεια, έναν τρανόν κεφάλαιον για την ιστορίαν τ΄Ελλένων Ποντίων. Τερέστεν αδακά: '''[http://pnt.wikipedia.org/ http://pnt.wikipedia.org/]'''. * '''[[23 Καλανταρί|23 Καλανταρί]]''': [[Βικιπαίδεια:Αδακά ψηφίζομεν για νοματάντς|Ψηφίζομεν για νοματάντς και γιαρίφς]] τη [[Βικιπαίδεια|Βικιπαίδειας]] * '''[[7 Καλανταρί|7 Καλανταρί]]''': Εδέκανε΄μας ασο [[meta:Main_Page|Meta-Wiki]] την [[meta:Requests for new languages/Wikipedia Pontic|έγκρισην]] για να ίνετεν το κανονικόν η Ποντιακή [[Βικιπαίδεια|Βικιπαίδεια]]. Τερέστεν μερ΄κικά θα χτίζουματην: [http://pnt.wikipedia.org/ http://pnt.wikipedia.org/]. ==2008== * '''[[29 Απρίλτ|29 τ' Απρίλτ]]''': Σο δοκιμαστικόν κομμάτ τη Ποντιακού Βικιπαίδειας εχπάσκεται και χτίετε το ημερολόγιον. [[Σταυρίτες|Τερέστε παράδειγμαν]]. * '''[[18 Απρίλτ|18 τ' Απρίλτ]]''': Σο δοκιμαστικόν κομμάτ τη Ποντιακού Βικιπαίδειας εχπάσκεται και χτίετε το ημερολόγιον. [[Αρχικόν σελίδα]]. * '''[[7 Μαρτί|7 τη Μάρτ]]''': Σο δοκιμαστικόν κομμάτ τη Ποντιακού Βικιπαίδειας εχτέθεν καινούρ [[Βικιπαίδεια:Αγορά|αγοράν]]. ==2007== * '''[[23 Σταυρί|23 τη Σταυρίτε]]''': Ερχίνεσεν το δοκιμαστικόν κομμάτ' τη [[Ποντιακής Βικιπαίδειας]] τη [[Παλαιόν]]. <noinclude> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας]] </noinclude> ebrubwa3y7k0fwb0o6kqunsalpiagn2 Κατηγορίαν:Wp/pnt 14 307 31652 31639 2013-04-30T00:22:39Z EmausBot 1699 Bot: Migrating 1 interwiki links, now provided by [[Wikipedia:Wikidata|Wikidata]] on [[d:Q1281]] 31652 wikitext text/x-wiki This is the main category. heyctcv6q3zzcdjy21oe6tv63vip0c6 MediaWiki:Sidebar 8 308 34427 5688 2020-04-02T04:20:18Z ~riley 2999 RMV - outdated, 2009 (GS action 34427 wikitext text/x-wiki * navigation ** mainpage|mainpage-description ** pump-url|pump ** recentchanges-url|recentchanges ** sandbox-url|sandbox ** randompage-url|randompage ** helppage|help ** sitesupport-url|sitesupport 3p79msq63mmj8hgcpmwb5b1hcb4pley MediaWiki:Pump-url 8 309 3241 2009-03-06T15:36:00Z ZaDiak 10 Καινούρεον σελίδαν με 'Βικιπαίδεια:Αγορά' 3241 wikitext text/x-wiki Βικιπαίδεια:Αγορά g0ui4nh0k6707cvohdjw32rglghqbmh MediaWiki:Pump 8 310 3242 2009-03-06T15:36:26Z ZaDiak 10 Καινούρεον σελίδαν με 'Αγορά' 3242 wikitext text/x-wiki Αγορά i88wmglxn81fmm0pjt6ne16plhy8g4u Κατηγορίαν:Άγιος Μαρίνος 14 311 31576 29698 2013-04-13T07:59:43Z KLBot2 3570 Bot: Migrating 105 interwiki links, now provided by [[Wikidata]] on [[:d:Q7130509]] 31576 wikitext text/x-wiki {{Commonscat|San Marino}} [[Κατηγορίαν:Κράτη|Άγιος Μαρίνος]] lxo8sjkylzsrzutj4bmytswwpxof905 Κατηγορίαν:Έλλενας (αρχαιότητα) 14 312 31444 30321 2013-03-11T10:24:20Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 66 interwiki links, now provided by [[d:|Wikidata]] on [[d:q6692116]] [[M:User:Addbot/WDS|(translate me)]] 31444 wikitext text/x-wiki [[Κατηγορίαν:Ελλενικόν ιστορίαν|Ελλενας (αρχαιοτητα)]] 7lej37seeeau1ygjfwlgpe12tguxa5t Κατηγορίαν:Αλβανία 14 313 31503 29499 2013-03-14T05:09:36Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 137 interwiki links, now provided by [[d:|Wikidata]] on [[d:q7130966]] [[M:User:Addbot/WDS|(translate me)]] 31503 wikitext text/x-wiki {{Commonscat|Albania}} [[Κατηγορίαν:Κράτη|Αλβανία]] [[Κατηγορίαν:Βαλκάνια|Αλβανία]] a5wr1c3majwetzlj0forp3m3ulriw4m Κατηγορίαν:Ανδόρρα 14 314 31577 29745 2013-04-13T08:01:20Z KLBot2 3570 Bot: Migrating 129 interwiki links, now provided by [[Wikidata]] on [[:d:Q7130777]] 31577 wikitext text/x-wiki {{Commonscat|Andorra}} [[Κατηγορίαν:Κράτη|Ανδόρρα]] [[Κατηγορίαν:Ιβηρία|Ανδόρρα]] cugcmuj2uwmmormluh4nnz21x51h89d Κατηγορίαν:Αραπάδας 14 315 31578 31074 2013-04-13T08:01:21Z KLBot2 3570 Bot: Migrating 1 interwiki links, now provided by [[Wikidata]] on [[:d:Q3919953]] 31578 wikitext text/x-wiki [[Κατηγορίαν:Τεχνολογίαν|Αραπαδας]] kwcpqd3jouyn933bt1hsojjqhsi15sw Κατηγορίαν:Ασία 14 316 31579 31075 2013-04-13T08:01:22Z KLBot2 3570 Bot: Migrating 1 interwiki links, now provided by [[Wikidata]] on [[:d:Q5610083]] 31579 wikitext text/x-wiki {{Commonscat|Asia}} [[Κατηγορίαν:Γεωγραφίαν|Ασία]] [[Κατηγορίαν:Ευρασία|*]] bc5tn4ij1n531svqv4p54yiik0tuwii Κατηγορίαν:Αστρονομία 14 317 31402 31076 2013-03-08T00:01:36Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 1 interwiki links, now provided by [[d:|Wikidata]] on [[d:q6508]] [[M:User:Addbot/WDS|(translate me)]] 31402 wikitext text/x-wiki {{Commonscat|Astronomy}} [[Κατηγορίαν:Επιστήμην|Αστρονομια]] ip26olrp3w59ph4gye7tgwx94cbchlf Κατηγορίαν:Αυστρία 14 318 31077 29375 2013-03-07T18:39:58Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 152 interwiki links, now provided by [[d:|Wikidata]] on [[d:q1455420]] [[M:User:Addbot/WDS|(translate me)]] 31077 wikitext text/x-wiki {{Commonscat|Austria}} [[Κατηγορίαν:Κράτη|Αυστρία]] o7amll0te5kj4kn1h8zvhvvnjpxcpda Κατηγορίαν:Αυστραλία 14 319 31078 29709 2013-03-07T18:40:08Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 152 interwiki links, now provided by [[d:|Wikidata]] on [[d:q1411322]] [[M:User:Addbot/WDS|(translate me)]] 31078 wikitext text/x-wiki {{Commonscat|Australia}} [[Κατηγορίαν:Κράτη|Αυστραλία]] ak5erspvp8bdg9ubmj3xy7pq2fkeh27 Κατηγορίαν:Βέλγιον 14 320 31079 30864 2013-03-07T18:40:30Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 147 interwiki links, now provided by [[d:|Wikidata]] on [[d:q4366768]] [[M:User:Addbot/WDS|(translate me)]] 31079 wikitext text/x-wiki {{Commonscat|Belgium}} [[Κατηγορίαν:Κράτη|Βέλγιον]] 9uj9fngi5x7l40gw2thib6mylvsa6s3 Κατηγορίαν:Βαλκάνια 14 321 31528 30314 2013-04-02T18:47:20Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 59 interwiki links, now provided by [[d:|Wikidata]] on [[d:q7879262]] [[M:User:Addbot/WDS|(translate me)]] 31528 wikitext text/x-wiki [[Κατηγορίαν:Ευρώπη|Βαλκάνια]] [[Κατηγορίαν:Χερσονησία|Βαλκάνια]] gqtzsdjknexj6mvlntpdgy52d9kxj4h Κατηγορίαν:Βικιπαίδεια 14 322 31581 31080 2013-04-13T08:03:06Z KLBot2 3570 Bot: Migrating 12 interwiki links, now provided by [[Wikidata]] on [[:d:Q4966679]] 31581 wikitext text/x-wiki {{Commonscat|Wikipedia}} [[Κατηγορίαν:Wp/pnt|Βικιπαίδεια]] euh24p4wpx7u54t1be0yamjnou6bhpu Κατηγορίαν:Βοσνία και Ερζεγοβίνη 14 323 31582 31512 2013-04-13T08:04:08Z KLBot2 3570 Bot: Migrating 120 interwiki links, now provided by [[Wikidata]] on [[:d:Q7130650]] 31582 wikitext text/x-wiki {{Commonscat|Bosnia and Herzegovina}} [[Κατηγορίαν:Κράτη|Βοσνία και Ερζεγοβίνη]] [[Κατηγορίαν:Βαλκάνια|Βοσνία και Ερζεγοβίνη]] 1h0ej0fea7qyq52a1kqbrrnppfz7e9s Κατηγορίαν:Βουλγαρία 14 324 31081 30315 2013-03-07T18:41:08Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 143 interwiki links, now provided by [[d:|Wikidata]] on [[d:q8241]] [[M:User:Addbot/WDS|(translate me)]] 31081 wikitext text/x-wiki {{Commonscat|Bulgaria}} [[Κατηγορίαν:Κράτη|Βουλγαρία]] [[Κατηγορίαν:Βαλκάνια|Βουλγαρία]] snxe0e99wd38qouusgo9sdx6tctj3c1 Κατηγορίαν:Γαλλία 14 325 31403 31082 2013-03-08T00:30:13Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 1 interwiki links, now provided by [[d:|Wikidata]] on [[d:q8249]] [[M:User:Addbot/WDS|(translate me)]] 31403 wikitext text/x-wiki {{Commonscat|France}} [[Κατηγορίαν:Κράτη|Γαλλία]] 75ap6bdsy6r4rpyll4jxkwsqc6jgsb9 Κατηγορίαν:Γερμανία 14 326 33180 31404 2016-10-31T00:12:15Z EmausBot 1699 Bot: Migrating 1 interwiki links, now provided by [[Wikipedia:Wikidata|Wikidata]] on [[d:Q1410828]] 33180 wikitext text/x-wiki {{Commonscat|Germany}} [[Κατηγορίαν:Κράτη|Γερμανία]] kjawtr6s1j4gfuy6p907mi77ib4kd12 Κατηγορίαν:Γεωγραφίαν 14 327 31405 31084 2013-03-08T00:31:17Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 1 interwiki links, now provided by [[d:|Wikidata]] on [[d:q1457673]] [[M:User:Addbot/WDS|(translate me)]] 31405 wikitext text/x-wiki {{Commonscat|Geography}} [[Κατηγορίαν:Wp/pnt|Γεωγραφίαν]] pa0v9edwcoh9jvsv2ji253ec5l8aoxa Κατηγορίαν:Γεωμορφολογία 14 328 31502 30567 2013-03-14T05:09:28Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 64 interwiki links, now provided by [[d:|Wikidata]] on [[d:q7037629]] [[M:User:Addbot/WDS|(translate me)]] 31502 wikitext text/x-wiki [[Κατηγορίαν:Γεωγραφίαν|Γεωμορφολογία]] ljesnx8gasqpv192vbh703zo7h2ch5y Κατηγορίαν:Γραμματικήν 14 329 31583 31085 2013-04-13T08:04:19Z KLBot2 3570 Bot: Migrating 2 interwiki links, now provided by [[Wikidata]] on [[:d:Q4960721]] 31583 wikitext text/x-wiki {{Commonscat|Grammar}} [[Κατηγορίαν:Γλωσσολογίαν]] hn6jv0bg0st8aa2j2ym1g15glpofm9r Κατηγορίαν:Γρουζία 14 330 31584 30238 2013-04-13T08:05:14Z KLBot2 3570 Bot: Migrating 130 interwiki links, now provided by [[Wikidata]] on [[:d:Q7059874]] 31584 wikitext text/x-wiki {{Commonscat|Georgia}} [[Κατηγορίαν:Κράτη|Γρουζία]] bzhjo0rh9k89hjqr1nl2zhgh5fxg6o7 Κατηγορίαν:Δανία 14 331 31086 30235 2013-03-07T18:42:07Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 151 interwiki links, now provided by [[d:|Wikidata]] on [[d:q4367478]] [[M:User:Addbot/WDS|(translate me)]] 31086 wikitext text/x-wiki {{Commonscat|Denmark}} [[Κατηγορίαν:Κράτη|Δανία]] [[Κατηγορίαν:Σκανδιναβία|Δανία]] 9ej4rhfj5k8wi45dwz2fo34vmowlp9d Κατηγορίαν:Ελβετία 14 332 31087 29544 2013-03-07T18:42:18Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 137 interwiki links, now provided by [[d:|Wikidata]] on [[d:q1456250]] [[M:User:Addbot/WDS|(translate me)]] 31087 wikitext text/x-wiki {{Commonscat|Switzerland}} [[Κατηγορίαν:Κράτη|Ελβετία]] ev3v5i97q7x6llspg85o40ssil799py Κατηγορίαν:Ελλάδα 14 333 31088 30478 2013-03-07T18:42:28Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 151 interwiki links, now provided by [[d:|Wikidata]] on [[d:q4367791]] [[M:User:Addbot/WDS|(translate me)]] 31088 wikitext text/x-wiki {{Commonscat|Greece}} [[Κατηγορίαν:Κράτη|Ελλάδα]] [[Κατηγορίαν:Βαλκάνια|Ελλάδα]] [[Κατηγορίαν:Ευρώπη|Ελλάδα]] 3etimuowi0n3r7ee271mr9qxyuz3j9d Βικιπαίδεια:Βοήθεια 4 334 3310 2009-03-06T15:38:03Z ZaDiak 10 [[Βικιπαίδεια:Βοήθεια]] ετερχλαεύτεν σο [[Βοήθειαν:Περιεχόμενα]] 3310 wikitext text/x-wiki #REDIRECT [[Βοήθειαν:Περιεχόμενα]] ii8hki0k9cwg8nclb9n1k7ph2h3t9tr Κατηγορίαν:Ελλενικόν ιστορίαν 14 335 31499 30322 2013-03-14T05:08:19Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 80 interwiki links, now provided by [[d:|Wikidata]] on [[d:q6947426]] [[M:User:Addbot/WDS|(translate me)]] 31499 wikitext text/x-wiki {{Commonscat|History of Greece}} [[Κατηγορίαν:Ιστορίαν|Ελλενικον ιστοριαν]] m0zj6wkn2d0wn43qiaik6zsgymlcem6 Κατηγορίαν:Ευρασία 14 336 31527 30638 2013-04-02T18:45:35Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 50 interwiki links, now provided by [[d:|Wikidata]] on [[d:q8426586]] [[M:User:Addbot/WDS|(translate me)]] 31527 wikitext text/x-wiki [[Κατηγορίαν:Ασία|*]] [[Κατηγορίαν:Ευρώπη|*]] ew8byvlnjgglhv08rbii0f27gqcxci5 Κατηγορίαν:Ευρώπη 14 337 31586 31089 2013-04-13T08:05:20Z KLBot2 3570 Bot: Migrating 2 interwiki links, now provided by [[Wikidata]] on [[:d:Q4587662]] 31586 wikitext text/x-wiki {{Commonscat|Europe}} [[Κατηγορίαν:Γεωγραφίαν|Ευρωπη]] [[Κατηγορίαν:Ευρασία|*]] oojjaey2b3kkriunmb45syzkpufb5ia Κατηγορίαν:Ημέρας τη εβδομάδας 14 338 3323 3322 2009-03-06T15:38:04Z MF-Warburg 53 1 revision 3323 wikitext text/x-wiki [[Category:Ημερολόγιαν|Ημέρας τη εβδομάδας]] ka61knbueflzlktwnnucvdx03wij4gb Κατηγορίαν:Ημέρας τη χρονίας 14 339 31498 29882 2013-03-14T05:08:18Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 81 interwiki links, now provided by [[d:|Wikidata]] on [[d:q7190896]] [[M:User:Addbot/WDS|(translate me)]] 31498 wikitext text/x-wiki [[Κατηγορίαν:Χρόνος|Ημερας]] [[Κατηγορίαν:Ιστορίαν|Ημερας]] 69p5moj5slpe268day0immqj215md07 Κατηγορίαν:Ημερολόγιαν 14 340 3329 3328 2009-03-06T15:39:49Z MF-Warburg 53 1 revision 3329 wikitext text/x-wiki [[Category:Χρονολόγησην|Ημερολόγιαν]] 1ik629d73dlu3n8cqguben87qxh3u88 Κατηγορίαν:Θάλασσας 14 341 31641 31613 2013-04-24T10:26:40Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 2 interwiki links, now provided by [[d:|Wikidata]] on [[d:q6491872]] [[M:User:Addbot/WDS|(translate me)]] 31641 wikitext text/x-wiki {{Commonscat|Seas}} [[Κατηγορίαν:Γεωμορφολογία|Θάλασσας]] mhio4i1qlcdgk18s4965dadrko7vc8i Κατηγορίαν:Θρησκείαν 14 342 3335 3334 2009-03-06T15:39:49Z MF-Warburg 53 2 revisions 3335 wikitext text/x-wiki [[Category:Wp/pnt|Θρησκειαν]] 97i4vxfczwi5gbvm5u5cx5crzyn154o Κατηγορίαν:Ιβηρία 14 343 31526 28828 2013-04-02T18:45:16Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 22 interwiki links, now provided by [[d:|Wikidata]] on [[d:q8530571]] [[M:User:Addbot/WDS|(translate me)]] 31526 wikitext text/x-wiki [[Κατηγορίαν:Ευρώπη|Ιβηρία]] [[Κατηγορίαν:Χερσονησία|Ιβηρία]] iu4jcffnp6oiws9c998u1kxpzc3a1bk Κατηγορίαν:Ιρλανδία 14 344 31090 29514 2013-03-07T18:43:31Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 106 interwiki links, now provided by [[d:|Wikidata]] on [[d:q4368623]] [[M:User:Addbot/WDS|(translate me)]] 31090 wikitext text/x-wiki [[Κατηγορίαν:Κράτη|Ιρλανδία]] 8zmpywttdh3d8tx6c0o8wgrctkfw9q7 Κατηγορίαν:Ισλανδία 14 345 31091 29595 2013-03-07T19:00:11Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 139 interwiki links, now provided by [[d:|Wikidata]] on [[d:q4368249]] [[M:User:Addbot/WDS|(translate me)]] 31091 wikitext text/x-wiki {{Commonscat|Iceland}} [[Κατηγορίαν:Κράτη|Ισλανδία]] rlytgi6byqhx55f52fwqwn1yl91b2zd Κατηγορίαν:Ισπανία 14 346 31092 30331 2013-03-07T19:00:22Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 200 interwiki links, now provided by [[d:|Wikidata]] on [[d:q1411173]] [[M:User:Addbot/WDS|(translate me)]] 31092 wikitext text/x-wiki {{Commonscat|Spain}} [[Κατηγορίαν:Κράτη|Ισπανία]] [[Κατηγορίαν:Ιβηρία|Ισπανία]] 1b7ky7fxaio6d7wte1wn0gh0erwtqqj Κατηγορίαν:Ιστορίαν 14 347 31093 30671 2013-03-07T19:00:33Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 203 interwiki links, now provided by [[d:|Wikidata]] on [[d:q1457595]] [[M:User:Addbot/WDS|(translate me)]] 31093 wikitext text/x-wiki {{Commonscat|History}} [[Κατηγορίαν:Wp/pnt|Ιστορίαν]] 0rh61xh559lscp8cy1gxorsg3i1kwog Κατηγορίαν:Ιταλία 14 348 31094 30437 2013-03-07T19:00:44Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 191 interwiki links, now provided by [[d:|Wikidata]] on [[d:q1410903]] [[M:User:Addbot/WDS|(translate me)]] 31094 wikitext text/x-wiki {{Commonscat|Italy}} [[Κατηγορίαν:Κράτη|Ιταλία]] 8akpl7boe5u12mr4szyc9tpyeb76lfb Κατηγορίαν:Κίνα 14 349 34328 31095 2019-11-20T09:43:21Z Chongkian 3947 34328 wikitext text/x-wiki {{Commonscat|China}} [[Κατηγορίαν:Κράτη|Κίνα]] [[Κατηγορίαν:Ασία]] j10hb0oqq7nfsd3wclelf9f9h3144fo Κατηγορίαν:Καυκασία 14 350 31587 29348 2013-04-13T08:06:57Z KLBot2 3570 Bot: Migrating 69 interwiki links, now provided by [[Wikidata]] on [[:d:Q7463169]] 31587 wikitext text/x-wiki {{Commonscat|Caucasus}} [[Κατηγορίαν:Ασία|Καυκασία]] [[Κατηγορίαν:Ευρώπη|Καυκασία]] [[Κατηγορίαν:Ευρασία|Καυκασία]] eoktmwuq170wemgn0pr0zdilvwelp5j Κατηγορίαν:Κράτη 14 351 31096 30650 2013-03-07T19:01:09Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 199 interwiki links, now provided by [[d:|Wikidata]] on [[d:q4026570]] [[M:User:Addbot/WDS|(translate me)]] 31096 wikitext text/x-wiki {{Commonscat|Countries}} [[Κατηγορίαν:Γεωγραφίαν|Κράτη]] hfwvgqfvtni40524hnf9x67acrbs3ne Κατηγορίαν:Κροατία 14 352 31588 31097 2013-04-13T08:07:00Z KLBot2 3570 Bot: Migrating 1 interwiki links, now provided by [[Wikidata]] on [[:d:Q5626618]] 31588 wikitext text/x-wiki {{Commonscat|Croatia}} [[Κατηγορίαν:Κράτη|Κροατία]] [[Κατηγορίαν:Βαλκάνια|Κροατία]] mjv1zj3mr48r8vcgz19scw6k0buv8a5 Κατηγορίαν:Κόμιξ 14 353 31623 30526 2013-04-15T02:54:27Z Addbot 3509 Replaced content with "{{Commonscat|Comics}} [[Κατηγορίαν:Πολιτισμόν|Κομιξ]] [[fa:رده:کمیک استریپ]] [[hu:Kategória:Képregények]]" 31623 wikitext text/x-wiki {{Commonscat|Comics}} [[Κατηγορίαν:Πολιτισμόν|Κομιξ]] [[fa:رده:کمیک استریپ]] [[hu:Kategória:Képregények]] 23depeyvp3mdlfjc5lxmdhyvt4laih7 Κατηγορίαν:Λιχτενστάιν 14 354 31590 30475 2013-04-13T08:08:31Z KLBot2 3570 Bot: Migrating 115 interwiki links, now provided by [[Wikidata]] on [[:d:Q7130748]] 31590 wikitext text/x-wiki {{Commonscat|Liechtenstein}} [[Κατηγορίαν:Κράτη|Λιχτενστάιν]] t02tnq6h2peykuml15ysthhuccwik1m Κατηγορίαν:Λουξεμβούργο 14 355 31098 30328 2013-03-07T19:01:31Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 124 interwiki links, now provided by [[d:|Wikidata]] on [[d:q4368335]] [[M:User:Addbot/WDS|(translate me)]] 31098 wikitext text/x-wiki {{Commonscat|Luxembourg}} [[Κατηγορίαν:Κράτη|Λουξεμβούργο]] 9cqimxp18gg2r2i79ltwy6tyk64cp9v Κατηγορίαν:Μάλτα 14 356 31591 31099 2013-04-13T08:08:35Z KLBot2 3570 Bot: Migrating 2 interwiki links, now provided by [[Wikidata]] on [[:d:Q4368434]] 31591 wikitext text/x-wiki {{Commonscat|Malta}} [[Κατηγορίαν:Κράτη|Μάλτα]] [[Κατηγορίαν:Νησία|Μάλτα]] [[Κατηγορίαν:Ευρώπη|Μάλτα]] rkanic9k9aldbmov4ohuuidkzti3dq0 Κατηγορίαν:Μήνας 14 357 3378 3377 2009-03-06T15:39:51Z MF-Warburg 53 1 revision 3378 wikitext text/x-wiki [[Category:Χρόνος|Μηνας]] j2arh7wxzc3137zdkypzf2yxcupt3ws Κατηγορίαν:Μακεδονία 14 358 31507 30325 2013-03-14T05:10:09Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 39 interwiki links, now provided by [[d:|Wikidata]] on [[d:q7098293]] [[M:User:Addbot/WDS|(translate me)]] 31507 wikitext text/x-wiki [[Category:Ελλάδα|Μακεδονία]] q7pju10738lowilntsrse5ucq4kk0fd Κατηγορίαν:Μαύρον Θάλασσα 14 359 31530 30616 2013-04-02T18:48:00Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 55 interwiki links, now provided by [[d:|Wikidata]] on [[d:q7217332]] [[M:User:Addbot/WDS|(translate me)]] 31530 wikitext text/x-wiki {{Commonscat|Black Sea}} [[Κατηγορίαν:Θάλασσας|Μαυρον Θαλασσα]] jujgnus2orikjhonfbpfxb28zocz0r2 Κατηγορίαν:Μολδαβία 14 360 31100 30738 2013-03-07T19:01:55Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 123 interwiki links, now provided by [[d:|Wikidata]] on [[d:q5609626]] [[M:User:Addbot/WDS|(translate me)]] 31100 wikitext text/x-wiki {{Commonscat|Moldova}} [[Κατηγορίαν:Κράτη|Μολδαβία]] [[Κατηγορίαν:Βαλκάνια|Μολδαβία]] oiwte2u4v42eto90wuypc49nknshawd Κατηγορίαν:Μουσική 14 361 31101 29877 2013-03-07T19:02:06Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 190 interwiki links, now provided by [[d:|Wikidata]] on [[d:q8255]] [[M:User:Addbot/WDS|(translate me)]] 31101 wikitext text/x-wiki {{Commonscat|Music}} [[Κατηγορίαν:Πολιτισμόν|Μουσικη]] 3955t5rrnf0z7ty3xcnxjtu4n8g5cqa Κατηγορίαν:Νέα Ζηλανδία 14 362 31102 30326 2013-03-07T19:02:17Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 128 interwiki links, now provided by [[d:|Wikidata]] on [[d:q1411745]] [[M:User:Addbot/WDS|(translate me)]] 31102 wikitext text/x-wiki {{Commonscat|New Zealand}} [[Κατηγορίαν:Κράτη]] nka3794961l081dqmwtax8xrbys6xwt Κατηγορίαν:Νησία 14 363 31103 30349 2013-03-07T19:02:27Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 124 interwiki links, now provided by [[d:|Wikidata]] on [[d:q6394918]] [[M:User:Addbot/WDS|(translate me)]] 31103 wikitext text/x-wiki {{Commonscat|Islands}} [[Κατηγορίαν:Γεωμορφολογία]] s7z5xcblmb4t0w2mxpqzqbnhr06kfb8 Κατηγορίαν:Νορβηγία 14 364 31594 27969 2013-04-13T08:11:11Z KLBot2 3570 Bot: Migrating 147 interwiki links, now provided by [[Wikidata]] on [[:d:Q7130670]] 31594 wikitext text/x-wiki {{Commonscat|Norway}} [[Κατηγορίαν:Κράτη|Νορβηγία]] [[Κατηγορίαν:Σκανδιναβία|Νορβηγία]] ngu3oo494hxtxbe0ves3wczg53nmf1b Κατηγορίαν:Ολλανδία 14 365 31104 30327 2013-03-07T19:02:40Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 144 interwiki links, now provided by [[d:|Wikidata]] on [[d:q1455739]] [[M:User:Addbot/WDS|(translate me)]] 31104 wikitext text/x-wiki {{Commonscat|Netherlands}} [[Κατηγορίαν:Κράτη|Ολλανδία]] ryea4xh36gw0v3leze79wkw00gctp0a Κατηγορίαν:Ουγγαρία 14 366 31406 31105 2013-03-08T00:32:04Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 2 interwiki links, now provided by [[d:|Wikidata]] on [[d:q4366397]] [[M:User:Addbot/WDS|(translate me)]] 31406 wikitext text/x-wiki {{Commonscat|Hungary}} [[Κατηγορίαν:Κράτη|Ουγγαρία]] kecxgok3bxj0cbnrbmt8cffome2okn4 Κατηγορίαν:Ουκρανία 14 367 31677 31407 2013-05-17T17:04:06Z MerlIwBot 2140 Robot: Removing [[kbd:Категориэ:Укрэинэ]] (deleted) 31677 wikitext text/x-wiki {{Commonscat|Ukraine}} [[Κατηγορίαν:Κράτη|Ουκρανία]] 4lofw96gmlva2ep3twxcw0d7nm07ywt Κατηγορίαν:Πολιτείας 14 368 3406 3405 2009-03-06T15:39:52Z MF-Warburg 53 1 revision 3406 wikitext text/x-wiki [[Category:Γεωγραφίαν|Πολιτείας]] fdx7fuz07i68chdhmiqackcscpw3ga3 Κατηγορίαν:Πολιτικήν 14 369 3409 3408 2009-03-06T15:39:52Z MF-Warburg 53 2 revisions 3409 wikitext text/x-wiki [[Category:Wp/pnt|Πολιτικήν]] c0pn3nszzcovqtthe1yo8r528b1mk7j Κατηγορίαν:Πολιτικός (Ελλάδα) 14 370 31500 30224 2013-03-14T05:08:48Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 53 interwiki links, now provided by [[d:|Wikidata]] on [[d:q7028961]] [[M:User:Addbot/WDS|(translate me)]] 31500 wikitext text/x-wiki [[Category:Πολιτικήν|Ελλαδα]] kod91o8youm3fyw2617c7coevd2ub0p Κατηγορίαν:Πολιτισμόν 14 371 31844 31834 2013-11-22T17:00:30Z Omnipaedista 35 Undo revision 31834 by [[Special:Contributions/Φωτίκας Τσιαγκούδης|Φωτίκας Τσιαγκούδης]] ([[User talk:Φωτίκας Τσιαγκούδης|talk]]) 31844 wikitext text/x-wiki {{Commonscat|Culture}} [[Κατηγορίαν:Wp/pnt]] evs5va6vmot6kc5mnkyergse4rxnmyr Κατηγορίαν:Πολωνία 14 372 31429 31108 2013-03-11T10:23:24Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 1 interwiki links, now provided by [[d:|Wikidata]] on [[d:q1455901]] [[M:User:Addbot/WDS|(translate me)]] 31429 wikitext text/x-wiki {{Commonscat|Poland}} [[Κατηγορίαν:Κράτη|Πολωνία]] 6afa0iqb7kvsxapnzezmu1ah4xkqxhu Κατηγορίαν:Πορτογαλία 14 373 31408 31109 2013-03-08T00:32:27Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 1 interwiki links, now provided by [[d:|Wikidata]] on [[d:q1455963]] [[M:User:Addbot/WDS|(translate me)]] 31408 wikitext text/x-wiki {{Commonscat|Portugal}} [[Κατηγορίαν:Κράτη|Πορτογαλία]] [[Κατηγορίαν:Ιβηρία|Πορτογαλία]] 1yc32cd26o1goieylhtvgt677g1y2nq Κατηγορίαν:Ποτάμαι 14 374 31595 29513 2013-04-13T08:14:07Z KLBot2 3570 Bot: Migrating 148 interwiki links, now provided by [[Wikidata]] on [[:d:Q6965093]] 31595 wikitext text/x-wiki {{Commonscat|Rivers}} [[Κατηγορίαν:Γεωμορφολογία|Ποτάμαι]] 2qdg6f4lc5tt2ppgqpxz0uk9ujqu8wh Κατηγορίαν:Πρότυπα 14 375 31110 29602 2013-03-07T19:04:49Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 57 interwiki links, now provided by [[d:|Wikidata]] on [[d:q3760]] [[M:User:Addbot/WDS|(translate me)]] 31110 wikitext text/x-wiki {{Commonscat|Navigational templates}} [[Κατηγορίαν:Βικιπαίδεια|Προτυπα]] dbfweb4yug3pzdkyk60fcfw3m4n55mj Κατηγορίαν:Πόντος 14 376 31501 29543 2013-03-14T05:08:52Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 20 interwiki links, now provided by [[d:|Wikidata]] on [[d:q7138890]] [[M:User:Addbot/WDS|(translate me)]] 31501 wikitext text/x-wiki {{Commonscat|Pontus}} [[Κατηγορίαν:Γεωγραφίαν|Ποντος]] [[Κατηγορίαν:Ιστορίαν|Ποντος]] hc47986ls3u4gyckflx17niyfko9sm5 Κατηγορίαν:Ραχία 14 377 31596 31111 2013-04-13T08:14:09Z KLBot2 3570 Bot: Migrating 3 interwiki links, now provided by [[Wikidata]] on [[:d:Q5741923]] 31596 wikitext text/x-wiki {{Commonscat|Mountains}} [[Κατηγορίαν:Γεωμορφολογία|Ραχία]] fvo5z4t5zpop6ncgqddbda4jy9fk5d0 Κατηγορίαν:Ρουμανία 14 378 31112 30334 2013-03-07T19:05:13Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 148 interwiki links, now provided by [[d:|Wikidata]] on [[d:q11317]] [[M:User:Addbot/WDS|(translate me)]] 31112 wikitext text/x-wiki {{Commonscat|Romania}} [[Κατηγορίαν:Κράτη|Ρουμανία]] [[Κατηγορίαν:Βαλκάνια|Ρουμανία]] kuun31wpwd488ygtq1jm9yieb9ym0vv Κατηγορίαν:Σερβία 14 379 31597 30549 2013-04-13T08:15:23Z KLBot2 3570 Bot: Migrating 133 interwiki links, now provided by [[Wikidata]] on [[:d:Q7130806]] 31597 wikitext text/x-wiki {{Commonscat|Serbia}} [[Κατηγορίαν:Κράτη|Σερβία]] [[Κατηγορίαν:Βαλκάνια|Σερβία]] g7afa22ibocxmey0rjx71tiptv0cxfp Κατηγορίαν:Σκανδιναβία 14 380 31504 30754 2013-03-14T05:09:43Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 81 interwiki links, now provided by [[d:|Wikidata]] on [[d:q7162174]] [[M:User:Addbot/WDS|(translate me)]] 31504 wikitext text/x-wiki {{Commonscat|Scandinavia}} [[Κατηγορίαν:Ευρώπη|Σκανδιναβία]] [[Κατηγορίαν:Χερσονησία|Σκανδιναβία]] ab5h9f3re74hovogpp7vt4q410uaax8 Κατηγορίαν:Σλοβακία 14 381 31113 30172 2013-03-07T19:05:26Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 144 interwiki links, now provided by [[d:|Wikidata]] on [[d:q4368526]] [[M:User:Addbot/WDS|(translate me)]] 31113 wikitext text/x-wiki {{Commonscat|Slovakia}} [[Κατηγορίαν:Κράτη|Σλοβακία]] sdnjk763wyxs9t884v2xr86h8jmgzd6 Κατηγορίαν:Σλοβενία 14 382 31114 29842 2013-03-07T19:05:36Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 124 interwiki links, now provided by [[d:|Wikidata]] on [[d:q4368574]] [[M:User:Addbot/WDS|(translate me)]] 31114 wikitext text/x-wiki {{Commonscat|Slovenia}} [[Κατηγορίαν:Κράτη|Σλοβενία]] [[Κατηγορίαν:Βαλκάνια|Σλοβενία]] 0j12n65jdmmyvud5jwq7wktkfn7r6g1 Κατηγορίαν:Σουηδία 14 383 31505 31115 2013-03-14T05:09:45Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 2 interwiki links, now provided by [[d:|Wikidata]] on [[d:q4368475]] [[M:User:Addbot/WDS|(translate me)]] 31505 wikitext text/x-wiki {{Commonscat|Sweden}} [[Κατηγορίαν:Κράτη|Σουηδία]] [[Κατηγορίαν:Σκανδιναβία|Σουηδία]] k8gf4xxb8phvv3qc5nhzcomqr5ggdf9 Κατηγορίαν:Τεχνολογίαν 14 384 31599 31116 2013-04-13T08:17:35Z KLBot2 3570 Bot: Migrating 1 interwiki links, now provided by [[Wikidata]] on [[:d:Q4884546]] 31599 wikitext text/x-wiki {{Commonscat|Technology}} [[Κατηγορίαν:Wp/pnt|Τεχνολογιαν]] 6vgw1e9m9j9a5l7nhaydle4kz33wknw Κατηγορίαν:Τουρκία 14 385 31409 31117 2013-03-08T01:00:43Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 1 interwiki links, now provided by [[d:|Wikidata]] on [[d:q1411579]] [[M:User:Addbot/WDS|(translate me)]] 31409 wikitext text/x-wiki {{Commonscat|Turkey}} [[Κατηγορίαν:Κράτη|Τουρκια]] [[Κατηγορίαν:Βαλκάνια|Τουρκία]] [[Κατηγορίαν:Ευρώπη|Τουρκία]] [[Κατηγορίαν:Ασία|Τουρκία]] obr55lvnlki3vl896zkypvs1vw3f717 Κατηγορίαν:Τσεχία 14 386 31118 30204 2013-03-07T19:06:24Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 146 interwiki links, now provided by [[d:|Wikidata]] on [[d:q4367403]] [[M:User:Addbot/WDS|(translate me)]] 31118 wikitext text/x-wiki {{Commonscat|Czech Republic}} [[Κατηγορίαν:Κράτη|Τσεχία]] 4juz1syhyz82p3v031wrucxqisbhzg3 Κατηγορίαν:Χερσονησία 14 387 31506 29490 2013-03-14T05:09:46Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 82 interwiki links, now provided by [[d:|Wikidata]] on [[d:q7023666]] [[M:User:Addbot/WDS|(translate me)]] 31506 wikitext text/x-wiki [[Κατηγορίαν:Γεωμορφολογία|Χερσονησία]] 76es65tu2kbuw2hli7yy9lw0deip11t Κατηγορίαν:Χρονολόγησην 14 388 3461 3460 2009-03-06T15:39:55Z MF-Warburg 53 1 revision 3461 wikitext text/x-wiki [[Category:Χρόνος|Χρονολόγησην]] [[Category:Ιστορίαν|Χρονολόγησην]] 1f6ucd7lejzuvsbr2gvry8we7jc07db Κατηγορίαν:Χρόνος 14 389 31410 31119 2013-03-08T01:00:54Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 1 interwiki links, now provided by [[d:|Wikidata]] on [[d:q4049213]] [[M:User:Addbot/WDS|(translate me)]] 31410 wikitext text/x-wiki {{Commonscat|Time}} [[Κατηγορίαν:Wp/pnt|Χρονος]] hi0y7sv0bkwsg7fxbvedmzdu6yuu7xr Κατηγορίαν:Χωρία 14 390 3467 3466 2009-03-06T15:39:55Z MF-Warburg 53 1 revision 3467 wikitext text/x-wiki [[Category:Γεωγραφίαν|Χωρία]] 6y1gu79ugo4a5oiiy85fo5abfhq4rm0 Κατηγορίαν:Φαΐα 14 391 31120 30753 2013-03-07T19:06:50Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 55 interwiki links, now provided by [[d:|Wikidata]] on [[d:q6010682]] [[M:User:Addbot/WDS|(translate me)]] 31120 wikitext text/x-wiki [[Κατηγορίαν:Πολιτισμόν|Φαια]] 1o1fnxzciln0aa7chry639y55dwubkk Πρότυπον:Reflist 10 393 36905 36205 2025-12-16T10:31:15Z Εὐθυμένης 2777 36905 wikitext text/x-wiki <div class="reflist <!-- -->{{#if: {{{1|}}} | columns {{#iferror: {{#ifexpr: {{{1|1}}} > 1 }} | references-column-width | references-column-count references-column-count-{{#if:1|{{{1}}}}} }} | {{#if: {{{colwidth|}}} | references-column-width }} }}" style="<!-- -->{{#if: {{{1|}}} | {{#iferror: {{#ifexpr: {{{1|1}}} > 1 }} | {{column-width|{{#if:1|{{{1}}}}}}} | {{column-count|{{#if:1|{{{1}}}}}}} }} | {{#if: {{{colwidth|}}} | {{column-width|{{{colwidth}}}}} }} }} list-style-type: <!-- -->{{{liststyle|{{#switch: {{{group|}}} | upper-alpha | upper-roman | lower-alpha | lower-greek | lower-roman = {{{group}}} | #default = decimal}}}}};"> {{#tag:references|{{{refs|}}}|group={{{group|}}}}}</div><noinclude> {{Τεκμηρίωση προτύπου}}</noinclude> cthoasnuekikv6ldjeaca5k4ed2aavz MediaWiki:Latin 8 398 6831 3710 2009-06-29T23:02:26Z ZaDiak 10 6831 wikitext text/x-wiki Rumca 16hmhziqgyv39ergw25qqeggcgwdrbb MediaWiki:Latin-url 8 399 3714 3486 2009-03-07T14:25:03Z ZaDiak 10 3714 wikitext text/x-wiki Ke me latinikus haraktires e8n3urtpj4v1089418jr2zw9wru31a6 Πρότυπον:BUtilisateur 10 400 35962 3487 2024-10-26T05:28:13Z Minorax 7522 35962 wikitext text/x-wiki <div style="float:{{{align|left}}};margin:1px;width:238px;border:1px solid {{{bordure|#999999}}}"> {|width="100%" border="0" cellspacing="0" cellpadding="1" style="background-color:{{{couleur|#EEEEEE}}};color:{{{texte-couleur|#000000}}}" |- |id="ModeleBUtilisateurGauche" width="47" valign="middle" align="center" style="width:47px;height:47px;background-color:{{{img-couleur|#FFFFFF}}};color:{{{img-texte-couleur|#000000}}};text-align:center"|<!-- -->{{#if:{{{img|}}}|[[Αρχείον:{{{img}}}|{{{img-taille|45px}}}|{{{img-titre|{{{titre|{{{img}}}}}}}}}]]}}<!-- -->{{#if:{{{imgd|}}}|[[Αρχείον:{{{imgd}}}|{{{imgd-taille|45px}}}|{{{imgd-titre|{{{imgd}}}}}}]]}}<!-- -->{{#if:{{{img2|}}}|<br />[[Αρχείον:{{{img2}}}|{{{img2-taille|45px}}}|{{{img2-titre|{{{img2}}}}}}]]}}<!-- -->{{#if:{{{imgd2|}}}|[[Αρχείον:{{{imgd2}}}|{{{imgd2-taille|45px}}}|{{{imgd2-titre|{{{imgd2}}}}}}]]}}<!-- -->{{#if:{{{img-texte|}}}|<div id="ModeleBUtilisateurImgTexte" style="font-size:{{{img-texte-taille|14pt}}};line-height:1.25">{{{img-texte}}}</div>}} |id="ModeleBUtilisateurInfo" valign="middle" align="center" style="padding:1px;padding-right:4px;padding-left:4px;text-align:center"|<!-- -->{{#if:{{{catégorie|}}}{{{lien|}}}|<!-- --><div id="ModeleBUtilisateurLien" class="plainlinks" style="float:right;margin:0;margin-left:1px;font-size:12px;line-height:1"><!-- -->{{#if:{{{catégorie|}}}|<!-- -->[[:Catégorie:{{{catégorie}}}|∇]]|<!-- -->[[Special:Whatlinkshere/Modèle:Utilisateur {{{lien}}}|∇]]<!-- -->}}<!-- --></div><!-- -->}}<!-- -->{{#if:{{{titre|}}}|<!-- --><div id="ModeleBUtilisateurTitre" style="font-size:{{{titre-taille|8pt}}};line-height:1.25">'''{{{titre}}}'''</div><!-- -->}}<!-- --><div id="ModeleBUtilisateurTexte" class="plainlinks" style="font-size:{{{texte-taille|8pt}}};line-height:1.25">{{{texte}}}</div><!-- -->{{#if:{{{texte2|}}}|<!-- --><!-- --><div id="ModeleBUtilisateurTexte2" class="plainlinks" style="font-size:{{{texte2-taille|8pt}}};line-height:1.25">{{{texte2}}}</div><!-- -->}} |} </div><includeonly><!-- -->{{#if:{{{nocat|}}}||<!-- -->{{#ifeq:{{NAMESPACE}}|Utilisateur|<!-- -->{{#if:{{{catégorie|}}}|[[Catégorie:{{{catégorie}}}|{{PAGENAME}}]]}}<!-- -->{{#if:{{{catégorie2|}}}|[[Catégorie:{{{catégorie2}}}|{{PAGENAME}}]]}}<!-- -->}}<!-- -->}}</includeonly> mprdmklq5j1z56u3f729hb2eb9krfr4 Πρότυπον:Babel field 10 401 3488 2009-03-06T20:14:57Z ZaDiak 10 Καινούρεον σελίδαν με '{{BUtilisateur |bordure={{{color 1|#999999}}} |img-couleur={{{color 1|#999999}}} |img-texte-couleur=#000000 |img-texte-taille={{{letter code size|1…' 3488 wikitext text/x-wiki {{BUtilisateur |bordure={{{color 1|#999999}}} |img-couleur={{{color 1|#999999}}} |img-texte-couleur=#000000 |img-texte-taille={{{letter code size|1.5em}}} |img-texte='''{{{letter code}}}''' |couleur={{{color 2|#EEEEEE}}} |texte-couleur=#000000 |texte-taille={{{text size|0.83em}}} |titre={{{language|}}} |texte={{{text}}} |texte2={{{text2|}}} }} 27w1lndgjrekldn8s7lrht6yvu0z72h Πρότυπον:Babel field 2 10 402 3490 3489 2009-03-06T20:18:43Z ZaDiak 10 3490 wikitext text/x-wiki {{Babel field |color 1=#BCB9EF |color 2=#E9E5F9 |letter code={{#if:{{{lien langue|}}}|[[{{{lien langue}}}|{{{letter code}}}]]|{{{letter code}}}}}-2 |letter code size={{{letter code size|1.5em}}} |text size={{{text size|0.83em}}} |language={{{language|}}} |lien langue={{{lien langue|}}} |text={{{text}}} |text2={{{text2|}}} }}<includeonly>{{#ifeq:{{NAMESPACE}}|Χρήστες|{{#if:{{{nocat|}}}||[[Κατηγορίαν:User {{{letter code}}}|{{PAGENAME}}]][[Κατηγορίαν:User {{{letter code}}}-2|{{PAGENAME}}]]}}}}</includeonly><noinclude> [[Κατηγορίαν:Babel field]] </noinclude> 3hmcr56kfsprqgn6z1nhovk6ml44256 Πρότυπον:Babel field 1 10 403 3491 2009-03-06T20:21:07Z ZaDiak 10 Καινούρεον σελίδαν με '{{Babel field |color 1=#E0C0E0 |color 2=#F3E0F3 |letter code={{#if:{{{lien langue|}}}|[[{{{lien langue}}}|{{{letter code}}}]]|{{{letter code}}}}}-1 …' 3491 wikitext text/x-wiki {{Babel field |color 1=#E0C0E0 |color 2=#F3E0F3 |letter code={{#if:{{{lien langue|}}}|[[{{{lien langue}}}|{{{letter code}}}]]|{{{letter code}}}}}-1 |letter code size={{{letter code size|1.5em}}} |text size={{{text size|0.83em}}} |language={{{language|}}} |lien langue={{{lien langue|}}} |text={{{text}}} |text2={{{text2|}}} }}<includeonly>{{#ifeq:{{NAMESPACE}}|Χρήστες|{{#if:{{{nocat|}}}||[[Κατηγορίαν:User {{{letter code}}}|{{PAGENAME}}]][[Κατηγορίαν:User {{{letter code}}}-1|{{PAGENAME}}]]}}}}</includeonly><noinclude> [[Κατηγορίαν:Babel field]] </noinclude> 332gq9bgylmwbq9tcltbf2gn56a9ug4 Πρότυπον:Babel field 3 10 404 3492 2009-03-06T20:22:47Z ZaDiak 10 Καινούρεον σελίδαν με '{{Babel field |color 1=#99B3FF |color 2=#E0E8FF |letter code={{#if:{{{lien langue|}}}|[[{{{lien langue}}}|{{{letter code}}}]]|{{{letter code}}}}}-3 …' 3492 wikitext text/x-wiki {{Babel field |color 1=#99B3FF |color 2=#E0E8FF |letter code={{#if:{{{lien langue|}}}|[[{{{lien langue}}}|{{{letter code}}}]]|{{{letter code}}}}}-3 |letter code size={{{letter code size|1.5em}}} |text size={{{text size|0.83em}}} |language={{{language|}}} |text={{{text}}} |text2={{{text2|}}} }}<includeonly>{{#ifeq:{{NAMESPACE}}|Χρήστες|{{#if:{{{nocat|}}}||[[Κατηγορίαν:User {{{letter code}}}|{{PAGENAME}}]][[Κατηγορίαν:User {{{letter code}}}-3|{{PAGENAME}}]]}}}}</includeonly><noinclude> [[Κατηγορίαν:Babel field]] </noinclude> gdlfm0myom68n7bwq9izisvbzq59syc Πρότυπον:Babel field 4 10 405 3493 2009-03-06T20:25:10Z ZaDiak 10 Καινούρεον σελίδαν με '{{Babel field |color 1=#AFCFEF |color 2=#CFE7FF |letter code={{#if:{{{lien langue|}}}|[[{{{lien langue}}}|{{{letter code}}}]]|{{{letter code}}}}}-4 …' 3493 wikitext text/x-wiki {{Babel field |color 1=#AFCFEF |color 2=#CFE7FF |letter code={{#if:{{{lien langue|}}}|[[{{{lien langue}}}|{{{letter code}}}]]|{{{letter code}}}}}-4 |letter code size={{{letter code size|1.5em}}} |text size={{{text size|0.83em}}} |language={{{language|}}} |text={{{text}}} |text2={{{text2|}}} }}<includeonly>{{#ifeq:{{NAMESPACE}}|Χρήστες|{{#if:{{{nocat|}}}||[[Κατηγορίαν:User {{{letter code}}}|{{PAGENAME}}]][[Κατηγορίαν:User {{{letter code}}}-4|{{PAGENAME}}]]}}}}</includeonly><noinclude> [[Κατηγορίαν:Babel field]] </noinclude> stz0dfxemxr9tr9xyjfkceg85gz1cwq Πρότυπον:Babel field N 10 406 3494 2009-03-06T20:27:28Z ZaDiak 10 Καινούρεον σελίδαν με '{{Babel field |color 1=#6EF7A7 |color 2=#C5FCDC |letter code={{#if:{{{lien langue|}}}|[[{{{lien langue}}}|{{{letter code}}}]]|{{{letter code}}}}} |…' 3494 wikitext text/x-wiki {{Babel field |color 1=#6EF7A7 |color 2=#C5FCDC |letter code={{#if:{{{lien langue|}}}|[[{{{lien langue}}}|{{{letter code}}}]]|{{{letter code}}}}} |letter code size={{{letter code size|1.5em}}} |text size={{{text size|0.83em}}} |language={{{language|}}} |text={{{text}}} |text2={{{text2|}}} }}<includeonly>{{#ifeq:{{NAMESPACE}}|Χρήστες|{{#if:{{{nocat|}}}||[[Κατηγορίαν:User {{{letter code}}}|{{PAGENAME}}]][[Κατηγορίαν:User {{{letter code}}}-N|{{PAGENAME}}]]}}}}</includeonly><noinclude> [[Κατηγορίαν:Babel field]] </noinclude> 1q85rhqjecxyf0seqdy0kmm8iyt8ch8 Πρότυπον:Babel field 0 10 407 21600 3495 2011-07-14T11:24:47Z Dcljr 606 if you don't speak the language, you shouldn't be in the user category for that language 21600 wikitext text/x-wiki {{BUtilisateur |bordure={{{color 1|#999999}}} |img-couleur={{{color 1|#999999}}} |img-texte-couleur=#000000 |img-texte-taille={{{letter code size|1.5em}}} |img-texte='''{{{letter code}}}-0''' |couleur={{{color 2|#EEEEEE}}} |texte-couleur=#000000 |texte-taille={{{text size|0.83em}}} |titre={{{language|}}} |texte={{{text}}} |texte2={{{text2|}}} }}<includeonly>{{#ifeq:{{NAMESPACE}}|Χρήστες|{{#if:{{{nocat|}}}||[[Κατηγορίαν:User {{{letter code}}}-0|{{PAGENAME}}]]}}}}</includeonly><noinclude>[[Κατηγορίαν:Babel field]] </noinclude> jbqupo5ghr3qmqmtef5cj4lwn9jfsw0 Πρότυπον:Χρήστες pnt-0 10 412 3505 3502 2009-03-06T21:16:33Z ZaDiak 10 3505 wikitext text/x-wiki {{Babel field 0| letter code size=1.5em| letter code=pnt|lien langue =| text=Ατός ο χρήστες ξάι 'κ [[:Κατηγορίαν:User pnt-0|'''εγροικά''']] τα [[:Κατηγορίαν:User pnt|'''Ποντιακά''']] (ή με τρανόν ζορ).}} oefq35w5xbk2oe4z5w1ak9i9tpnd0gb Πρότυπον:Χρήστες pnt-1 10 413 3631 3507 2009-03-06T22:37:26Z Makedonier 30 3631 wikitext text/x-wiki {{Babel field 1| letter code size=1.5em| letter code=pnt|lien langue =| text=Ατός ο χρήστες [[:Κατηγορίαν:User pnt-1|'''καλατςέβ''']] έναν ξάιν τα [[:Κατηγορίαν:User pnt|'''Ποντιακά''']].}} ql09rzm1z8xpydavg5h7rfx6y846yp7 Κατηγορίαν:User pnt 14 417 31551 20928 2013-04-08T16:31:18Z EmausBot 1699 Bot: Migrating 2 interwiki links, now provided by [[Wikipedia:Wikidata|Wikidata]] on [[d:Q9701723]] 31551 wikitext text/x-wiki [[Κατηγορίαν:Βαβέλ]] af487s67kicv88furv78hphgoirnzr7 Κατηγορίαν:User pnt-1 14 418 3513 2009-03-06T21:36:42Z ZaDiak 10 Καινούρεον σελίδαν με '[[Κατηγορίαν:User pnt]]' 3513 wikitext text/x-wiki [[Κατηγορίαν:User pnt]] gfbc1xydlfrzr2xb7348dswc86pdkvu Κατηγορίαν:User pnt-0 14 422 4000 3862 2009-03-09T12:41:13Z JAnDbot 207 robot Removing: [[fr:Modèle:Utilisateur pnt-0]] 4000 wikitext text/x-wiki [[Κατηγορίαν:User pnt]] gfbc1xydlfrzr2xb7348dswc86pdkvu Main Page 0 430 3629 2009-03-06T22:30:03Z ZaDiak 10 Redirected page to [[Αρχικόν σελίδα]] 3629 wikitext text/x-wiki #REDIRECT [[Αρχικόν σελίδα]] avdpdrz86bu21g54lanrcu3lg1jt91r Πρότυπον:Babel field 5 10 432 3634 2009-03-06T22:48:25Z ZaDiak 10 Καινούρεον σελίδαν με '{{Babel field |color 1=#f99c99 |color 2=#f9cbc9 |letter code={{#if:{{{lien langue|}}}|[[{{{lien langue}}}|{{{letter code}}}]]|{{{letter code}}}}}-5 …' 3634 wikitext text/x-wiki {{Babel field |color 1=#f99c99 |color 2=#f9cbc9 |letter code={{#if:{{{lien langue|}}}|[[{{{lien langue}}}|{{{letter code}}}]]|{{{letter code}}}}}-5 |letter code size={{{letter code size|1.5em}}} |text size={{{text size|0.83em}}} |language={{{language|}}} |text={{{text}}} |text2={{{text2|}}} }}<includeonly>{{#ifeq:{{NAMESPACE}}|Χρήστες|{{#if:{{{nocat|}}}||[[Κατηγορίαν:User {{{letter code}}}|{{PAGENAME}}]][[Κατηγορίαν:User {{{letter code}}}-5|{{PAGENAME}}]]}}}}</includeonly><noinclude> [[Κατηγορίαν:Babel field]] </noinclude> n1jhmdwwn57swhohn9q9ischbxlfsy0 Πρότυπον:Support 10 435 10263 9959 2009-12-09T23:35:46Z ZaDiak 10 10263 wikitext text/x-wiki [[Image:Symbol support vote.svg|15px]] '''Support'''<noinclude> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας]] </noinclude> dwpiqlgtr7f8wcb2frtseb45aq1cm44 Πρότυπον:Χρήστες el 10 441 31631 14890 2013-04-16T08:35:59Z EmausBot 1699 Bot: Migrating 1 interwiki links, now provided by [[Wikipedia:Wikidata|Wikidata]] on [[d:Q11144584]] 31631 wikitext text/x-wiki {{Babel field N| letter code size=1.5em| letter code=el|lien langue =| text size=0.83em|nocat = {{{nocat|}}}| text=Αυτός ο χρήστης έχει ως '''[[:Κατηγορίαν:User el-N|μητρική]]''' του γλώσσα την '''[[:Κατηγορίαν:User_el|Ελληνική]]'''.}}<noinclude> </noinclude> jl0raq86wd7u3pog7jngo3znxii9xc8 Κατηγορίαν:User el 14 446 31121 30906 2013-03-07T19:07:14Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 119 interwiki links, now provided by [[d:|Wikidata]] on [[d:q6397340]] [[M:User:Addbot/WDS|(translate me)]] 31121 wikitext text/x-wiki {{Commonscat|User el}} [[Κατηγορίαν:Βαβέλ]] rwdt7f1dj2v7fgw34ylcw3k0yfoilgi Κατηγορίαν:User el-N 14 447 31122 30243 2013-03-07T19:07:24Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 94 interwiki links, now provided by [[d:|Wikidata]] on [[d:q6397808]] [[M:User:Addbot/WDS|(translate me)]] 31122 wikitext text/x-wiki {{Commonscat|User el-N}} [[Κατηγορίαν:User el]] rit0hjzxgu5a81mfkfhkesy72o46m7z Πρότυπον:Χρήστες en-4 10 452 31127 30834 2013-03-07T19:30:07Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 213 interwiki links, now provided by [[d:|Wikidata]] on [[d:q5546014]] [[M:User:Addbot/WDS|(translate me)]] 31127 wikitext text/x-wiki {{Babel field 4| letter code size=1.5em| letter code=en|lien langue =| text size=0.83em|nocat = {{{nocat|}}}| text=This user is able to contribute with a '''[[:Κατηγορίαν:User en-4|near-native]]''' level of '''[[:Κατηγορίαν:User en|English]]'''.}} <noinclude> [[Κατηγορίαν:User en-4| ]] </noinclude> bjrh83ng8i5ekgidq0487jxu51s0qc8 Κατηγορίαν:User en 14 453 31562 31128 2013-04-13T07:50:19Z KLBot2 3570 Bot: Migrating 2 interwiki links, now provided by [[Wikidata]] on [[:d:Q5626526]] 31562 wikitext text/x-wiki {{Commonscat|User en}} [[Κατηγορίαν:Βαβέλ]] 2m5bvm2z6opqjjrjcu0yk6fpqbckobl Κατηγορίαν:User en-4 14 454 31564 31129 2013-04-13T07:50:26Z KLBot2 3570 Bot: Migrating 8 interwiki links, now provided by [[Wikidata]] on [[:d:Q5626440]] 31564 wikitext text/x-wiki {{Commonscat|User en-4}} [[Κατηγορίαν:User en]] 7ab6kcrkp29z5fzspz1ys2rbav3uwlg Κατηγορίαν:User de 14 456 31559 31130 2013-04-13T07:50:11Z KLBot2 3570 Bot: Migrating 17 interwiki links, now provided by [[Wikidata]] on [[:d:Q6395874]] 31559 wikitext text/x-wiki {{Commonscat|User de}} [[Κατηγορίαν:Βαβέλ]] qwkr5p6a2xg82po9a6ta7dwmcv25v5d Κατηγορίαν:Βαβέλ 14 458 3693 2009-03-07T11:42:49Z ZaDiak 10 Καινούρεον σελίδαν με '[[Κατηγορίαν:Wp/pnt]]' 3693 wikitext text/x-wiki [[Κατηγορίαν:Wp/pnt]] gbnfivrzuu2xurtefe8l068j7u6tpvz Πρότυπον:Ημερολόγιο 10 459 31733 31617 2013-08-01T15:39:09Z Addbot 3509 [[User:addbot|Bot]]: Migrating interwiki links, now provided by [[d:|Wikidata]] on [[d:q10957435]] 31733 wikitext text/x-wiki <div style="border:solid #ccc; background: #fff; border-width: 1px 3px 3px 1px; text-align: center; padding-top:3px; float:left; font-size: smaller; line-height: 1.3; margin-right: 4px; width: 7em"> [[{{CURRENTDAY}} {{CURRENTMONTHNAMEGEN}}|<span style="display: block;">{{CURRENTDAYNAME}}</span> <span style="font-size: x-large; width: 100%; display: block; padding:6px 0px">{{CURRENTDAY}}</span> <span style="display: block;">{{CURRENTMONTHNAME}}</span>]] <span style="background: #aaa; color: #000; display: block;">'''[[{{CURRENTYEAR}}]]'''</span> </div><!-- --><noinclude> <!--Categories--> {{DEFAULTSORT:Ημερολογιο}} [[Category:Πρότυπα]] </noinclude> bdhxiju0m5u4tehxxjrjz9r8sl3hvb4 Κe me latinikus haraktires 0 461 3713 2009-03-07T14:24:44Z ZaDiak 10 [[Κe me latinikus haraktires]] ετερχλαεύτεν σο [[Ke me latinikus haraktires]] 3713 wikitext text/x-wiki #REDIRECT [[Ke me latinikus haraktires]] o8xynhyycjrmyo0npip21veg3es18yl Πρότυπον:IPA 10 469 31667 31132 2013-05-06T22:49:04Z Iketsi 1885 wikidata 31667 wikitext text/x-wiki <span class="IPA" style="white-space: nowrap; font-family:Arial Unicode MS, Doulos SIL, Code2000, Chrysanthi Unicode, Gentium, GentiumAlt, TITUS Cyberbit Basic, Bitstream Cyberbit, Bitstream Vera, Lucida Sans Unicode; font-family /**/:inherit;">{{{1}}}</span><!-- --><noinclude> <!--Categories--> [[Κατηγορίαν:Γλωσσολογίαν]] </noinclude> m5uxs7rbuwby2gu27km7avelmucg0m8 Πρότυπον:Polytonic 10 470 33499 32488 2017-10-12T05:04:10Z Great Brightstar 6110 33499 wikitext text/x-wiki <includeonly><span lang="grc" xml:lang="grc" class="polytonic" style="font-family: 'SBL BibLit', 'SBL Greek', Athena, 'EB Garamond 12', 'Foulis Greek', Cardo, 'Gentium Plus', Gentium, Garamond, 'Palatino Linotype', 'DejaVu Sans', 'DejaVu Serif', FreeSerif, FreeSans, 'Arial Unicode MS', 'Lucida Sans Unicode', 'Lucida Grande', Code2000,">{{{1}}}</span></includeonly><!-- --><noinclude> This template allows to display polytonic greek Text clearly with all diacritics and is used like this: ''<nowiki>{{Polytonic|Text}}</nowiki>'' <!--Categories--> <!--[[Κατηγορίαν:MSIE font fix templates |Polytonic]]--> <!--Interwikis--> [[Κατηγορίαν:Πρότυπα]] </noinclude> rr4r9h6i8nj2ynr0txt2z11sf3azh14 Πρότυπον:Unicode 10 471 31134 27373 2013-03-07T19:31:31Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 25 interwiki links, now provided by [[d:|Wikidata]] on [[d:q5409951]] [[M:User:Addbot/WDS|(translate me)]] 31134 wikitext text/x-wiki <span class="Unicode">{{{1}}}</span><!-- --><noinclude> <!--Categories--> <!--[[Κατηγορίαν:]]--> <!--Interwikis--> [[fa:الگو:کاراکترهای ویژه]] [[Κατηγορίαν:Πρότυπα]] </noinclude> 94esmtisb3qrgfzh92apb49fqpkif54 Πρότυπον:! 10 472 31135 30862 2013-03-07T19:31:42Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 263 interwiki links, now provided by [[d:|Wikidata]] on [[d:q5400303]] [[M:User:Addbot/WDS|(translate me)]] 31135 wikitext text/x-wiki |<!-- --><noinclude> <!--Categories--> <!--[[[Κατηγορίαν:]]--> <!--Interwikis--> [[kg:Template:!-]] [[Κατηγορίαν:Πρότυπα βοήθειας]] </noinclude> s73im21hvfhsgyq7ry1mkcq57fpnl9w Πρότυπον:· 10 473 3808 2009-03-08T03:06:23Z Budelberger 25 Création. 3808 wikitext text/x-wiki <includeonly><span style="font-weight:bold;">&nbsp;·</span> </includeonly><!-- --><noinclude> <!-- {{pp-template|small=yes}} {{template doc}} --> <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> f64lyd9sr75x866lrd2qg506pmc9rtx Άγιος Μαρίνος 0 478 3880 2009-03-08T15:07:36Z ZaDiak 10 [[Άγιος Μαρίνος]] ετερχλαεύτεν σο [[Άι Μαρίνος]] 3880 wikitext text/x-wiki #REDIRECT [[Άι Μαρίνος]] ttkn6ud48tycr7nq11b2ox9oivi2edy Βριλήσσια 0 485 36862 31136 2025-12-16T10:02:35Z Εὐθυμένης 2777 36862 wikitext text/x-wiki [[Εικόναν:Naos Analipseos at Vrilissia 2.jpg|thumb|280px|Τ' Ελλενικόν η Εκκλησία Ανάληψης σα Βριλήσσια εν έδρα τη πλατείας.]] Τα '''Βριλήσσια''' εν ελλενικόν προάστιον ση πρωτεύουσαν τη [[Αθήνα]]ς. Το 2008 εχ' πληθυσμόν 40.000 ανθρώπς. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{el}} {{επίσημος ιστότοπος}} {{authority control}} {{DEFAULTSORT:Βριλησσια}} [[Κατηγορίαν:Πολιτείας τ' Ελλάδας]] ellt2j25si4d0be2gfgkf331jq5dn56 1 Καλανταρί 0 487 37285 35779 2025-12-16T19:15:25Z Εὐθυμένης 2777 37285 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[31 Χριστουγενναρί]] | [[1 Καλανταρί]] | [[2 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''1 τη Καλανταρί''' εν 1ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 364 ημέρας για να τελούτεν η χρονία (365 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[1 Χριστουγενναρί]] - [[1 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0101]] maey7ebq2jmqhwk1i2skzcx731mrjnq 2 Καλανταρί 0 488 37286 35893 2025-12-16T19:15:41Z Εὐθυμένης 2777 37286 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[1 Καλανταρί]] | [[2 Καλανταρί]] | [[3 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''2 τη Καλανταρί''' εν 2ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 363 ημέρας για να τελούτεν η χρονία (364 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[2 Χριστουγενναρί]] - [[2 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0102]] c8ooovwr5zwjesi9stokmhcizinmr9w Πρότυπον:Χαιρέτημαν 10 512 31720 29023 2013-07-22T01:08:34Z MerlIwBot 2140 Robot: Removing [[lb:Schabloun:Welcome]] (deleted), [[bs:Šablon:Kahrimandobrodosli]] (deleted) 31720 wikitext text/x-wiki <noinclude> Ξάι μη εφτάτε τρανά αλλαγάς σ'αούτο το πρότυπον πριχού να καλατςέβουμε σην σελίδαν καλατςεματί. Γραφέστεν τον κώδικαν <code><nowiki>{{subst:χαιρέτημαν}}</nowiki></code>, για να θέκετε το πρότυπον. ---- </noinclude> <span style="font-size:130%;font-weight:bold;">Υίαν και χαιρετίαν!</span> ----- <div style="float:right;border:1px dotted red;margin:5px;padding:2px;background:#FFF8DC;">(de) [[Πρότυπον:Willkommen|Willkommen]]<br> (en) [[Πρότυπον:Welcome|Welcome]]<br> (es) [[Πρότυπον:Bienvenido|Bienvenido]]<br> (fr) [[Πρότυπον:Bienvenue|Bienvenue]]<br> (ru) [[Πρότυπον:Добро пожаловать|Добро пожаловать]]</div> {{PAGENAME}}<noinclude>ΧρήστηΤάδε</noinclude>, καλώς έρθες σην [[Βικιπαίδεια|Βικιπαίδειαν]]! Χρειάσκουμες κι εθέλουμε τ'εσόν το γράψιμον και τη δουλείαν. Τέρεν αούτα τα χρήσιμα τα συνδέσμε: *'''[[Βικιπαίδεια:Ντο εν η Βικιπαίδεια|Εισαγωγή]]''' και '''[[Βικιπαίδεια:Πολλά ερωτήσεις|Πολλά ερωτήσεις]]''' *Τα '''[[Βικιπαίδεια:Νομς και συμβουλάς|Νομς και συμβουλάς για την δουλείαν σην Βικιπαίδειαν]]''' *'''[[Βικιπαίδεια:Πολιτική|Βασικόν πολιτική]]''' (<small>[[Βικιπαίδεια:Ουδετερότητα|Ουδετερότητα]] - [[Βικιπαίδεια:Επαληθευσιμότητα|Επαληθευσιμότητα]] - [[Βικιπαίδεια:Ξάι μη εφτάτε πρωτότυπον αράεμαν|Ξάι μη εφτάτε πρωτότυπον αράεμαν.]]</small>) *'''[[Βικιπαίδεια:Εγκυκλοπαιδικότητα|Εγκυκλοπαιδικότητα]]''' (<small>ντο θέματα να γράφουμε</small>) *'''[[Βοήθειαν:Περιεχόμενα|Βοήθεια]]''' *'''[[Βικιπαίδεια:Ντο ν'εφτάν οι καινούρ' οι χρήστες|Ντο ν'εφτάν οι καινούρ' οι χρήστες]] *'''[[Βικιπαίδεια:Αργαστέρ|Αργαστέρ]]''' (<small>σελίδα για ν'εφτάτε πειράματα σην επεξεργασίαν σελιδίων</small>) Για να θέκεις την υπογραφή'ς σα [[Βικιπαίδεια:Σελίδα καλατςεματί|σελίδας καλατςεματί]] γράψον ~&#126;~~ ή ποίσον κλικ σο κουμπίν τ' υπογραφής ([[Image:Signature icon.png]]). Κάθαν ερώτησην επορείς να γραφ'ς ατέναν σην [[Βικιπαίδεια:Αγορά|Αγοράν]] εμούν. Χαϊτέστεν, ας εφτάμε τη δουλείαν εμουν!&nbsp;<noinclude> [[Κατηγορίαν:Πρότυπα Χαιρέτημαν|*]] [[af:Sjabloon:Welkom]] [[an:Plantilla:Biemplegata]] [[ar:قالب:ترحيب]] [[ast:Plantilla:Bienvenida]] [[bg:Шаблон:Добре дошли]] [[bn:Template:স্বাগতম]] [[br:Patrom:Degemermat nevez]] [[ca:Plantilla:Benvinguda]] [[cs:Šablona:Vítejte]] [[cv:Шаблон:Ырă сунса кĕтетпĕр]] [[da:Skabelon:Velkommen]] [[dsb:Pśedłoga:Witaj]] [[el:Πρότυπο:Καλωσόρισμα]] [[en:Template:Welcome]] [[eo:Ŝablono:Bonvenon]] [[es:Plantilla:Bienvenido usuario]] [[et:Mall:Teretulemast]] [[eu:Txantiloi:Ongietorria]] [[ext:Prantilla:Bienviniu]] [[fa:الگو:خوشامد]] [[fi:Malline:Tt]] [[fr:Modèle:Bienvenue nouveau]] [[gl:Modelo:Benvida]] [[gu:Template:સ્વાગત]] [[he:תבנית:ברוך בואך]] [[hi:साँचा:स्वागत]] [[hr:Predložak:Dobrodošlica2]] [[hsb:Předłoha:Witaj]] [[hu:Sablon:Üdvözlet]] [[ia:Patrono:Benvenite]] [[id:Templat:Selamatdatang]] [[io:Shablono:Bonveno]] [[is:Snið:Velkomin]] [[it:Template:Benvenuto]] [[ja:Template:Welcome]] [[jv:Cithakan:Sugengrawuh]] [[ka:თარგი:ახალი მომხმარებელი]] [[kn:ಟೆಂಪ್ಲೇಟು:ಸುಸ್ವಾಗತ]] [[ko:틀:환영합니다]] [[ksh:Schablon:Wėlkůmme]] [[la:Formula:Salve]] [[lt:Šablonas:Welcome]] [[mk:Шаблон:Добредојде]] [[ml:ഫലകം:സ്വാഗതം]] [[mn:Template:Welcome]] [[mr:साचा:Welcome]] [[ms:Templat:Sd]] [[nap:Template:Bemmenuto]] [[nl:Sjabloon:Welkom]] [[nn:Mal:Velkomst-reg]] [[no:Mal:Reg-velkommen]] [[oc:Modèl:Benvenguda novèl]] [[os:Шаблон:Салам]] [[pl:Szablon:Witaj2]] [[pt:Predefinição:Bem vindo]] [[ro:Format:Bunvenit]] [[ru:Шаблон:Welcome]] [[simple:Template:Welcome]] [[sk:Šablóna:Vitajte]] [[sl:Predloga:Pozdrav]] [[sr:Шаблон:Добродошао]] [[sv:Mall:Intro]] [[szl:Szablon:Witej]] [[ta:வார்ப்புரு:Newuser]] [[tr:Şablon:Hoşgeldin]] [[uk:Шаблон:Welcome]] [[ur:سانچہ:Newuser]] [[vec:Template:Benvegnù]] [[vi:Tiêu bản:Hoan nghênh]] [[yi:מוסטער:שלום עליכם]] [[zh:Template:Welcome]] [[zh-classical:Template:歡迎]] [[zh-yue:Template:歡迎]] </noinclude> nfv9v0kkn2wca379ba7r06y7luu43n1 Πρότυπον:Willkommen 10 515 9953 4495 2009-12-04T14:40:27Z Qoan 1170 Κατηγοριοποιώ 9953 wikitext text/x-wiki <noinclude> Bitte verändert diese Vorlage nicht wesentlich, ohne die Veränderungen vorher auf der<br> [[Καλάτσεμαν πρότυπι:Willkommen|Diskussionsseite]] zu besprechen. Um diese Vorlage zu benutzen, schreibt ihr: <code><nowiki>{{subst:χαιρέτημαν}}</nowiki></code> ---- </noinclude> <span style="font-size:130%;font-weight:bold;">Herzlich Willkommen!</span> ----- <div style="float:right;border:1px dotted red;margin:5px;padding:2px;background:#FFF8DC;">(de) [[Πρότυπον:Willkommen|Willkommen]]<br> (en) [[Πρότυπον:Welcome|Welcome]]<br> (es) [[Πρότυπον:Bienvenido|Bienvenido]]<br> (fr) [[Πρότυπον:Bienvenue|Bienvenue]]<br> (ru) [[Πρότυπον:Добро пожаловать|Добро пожаловать]]</div> <includeonly>{{sub</includeonly><includeonly>st:BASEPAGENAME}}</includeonly>Es freut uns, dass Du zu uns gestoßen bist, zur Wikipedia in pontischer Sprache (romeyika). Mit den folgenden Links kannst Du Dir mal einen Überblick über unsere Zusammenarbeit verschaffen: *'''[[Βικιπαίδεια:Ντο εν η Βικιπαίδεια|Εισαγωγή]]''' und '''[[Βικιπαίδεια:Πολλά ερωτήσεις|Πολλά ερωτήσεις]]''' *'''[[Βικιπαίδεια:Νομς και συμβουλάς|Νομς και συμβουλάς για την δουλείαν σην Βικιπαίδειαν]]''' *'''[[Βικιπαίδεια:Πολιτική|Βασικόν πολιτική]]''' (<small>[[Βικιπαίδεια:Ουδετερότητα|Ουδετερότητα]] - [[Βικιπαίδεια:Επαληθευσιμότητα|Επαληθευσιμότητα]] - [[Βικιπαίδεια:Ξάι μη εφτάτε πρωτότυπον αράεμαν|Ξάι μη εφτάτε πρωτότυπον αράεμαν.]]</small>) *'''[[Βικιπαίδεια:Εγκυκλοπαιδικότητα|Εγκυκλοπαιδικότητα]]''' (<small>ντο θέματα να γράφουμε</small>) *'''[[Βοήθειαν:Περιεχόμενα|Βοήθεια]]''' *'''[[Βικιπαίδεια:Ντο ν'εφτάν οι καινούρ' οι χρήστες|Ντο ν'εφτάν οι καινούρ' οι χρήστες]] *'''[[Βικιπαίδεια:Αργαστέρ|Αργαστέρ]]''' (<small>Auf dieser Seite kannst du nach Herzenslust herumprobieren und -spielen und dann auch sehen, was passiert.</small>) Deine Beiträge auf Diskussionsseiten kannst Du mit <nowiki>--~~~~</nowiki> (zwei Bindestriche, vier Tilden) unterschreiben oder einfach auf den Signaturbutton ([[Image:Signature icon.png]]) klicken. Fragen jeder Art kannst du gerne in der [[Βικιπαίδεια:Αγορά|Agora]] stellen. Viel Spass!&nbsp;<noinclude> [[Κατηγορίαν:Πρότυπα Χαιρέτημαν|Willkommen]] </noinclude> 2qm8fl25vbegodtqup7yoh7lfc1pc29 Βικιπαίδεια:Δικαιώματα Πνευματί 4 516 4149 2009-03-10T14:40:51Z Sinopeus 168 Redirected page to [[Βικιπαίδεια:Δικαιώματα πνευματί]] 4149 wikitext text/x-wiki #REDIRECT[[Βικιπαίδεια:Δικαιώματα πνευματί]] th426dyc541yrgetdf7d0dmb8g9cmsg Μαδαγασκάρην 0 521 37382 35939 2025-12-20T12:05:53Z Εὐθυμένης 2777 /* Αναφοράν */ 37382 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Μαδαγασκάρην'''</big></big><br/>''Repoblikan'i Madagasikara'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Madagascar.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat_of_arms_of Madagascar.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:MDG_orthographic.svg|300px]] |} Η '''Μαδαγασκάρην''' εν τέταρτον τρανόν νήσον τη κόσμονος. Ο πληθυσμόν ατ'ς εν σα 20.098.654<ref>[http://www.xist.org/earth/population1.aspx Geohive]</ref> τ' ανθρώπ'ς και ευρίεται ασόν Ινδικόν τ' ωκεανόν. Πρωτεύουσαν ατ'ς εν η [[Ταναναρίβην]] (σήμερον Ανταναναρίβο) και πρόεδρος ατ'ς εν ο [[Αντρί Ραζοελίνα]]. == Αναφοράν == <references /> == Συνδέζμαι == [[:el:Commons:Κατηγορίαν:Madagascar]] - H Μαδαγασκάρην σα Κόμονς. [[Κατηγορίαν:Μαδαγασκάρην|Μαδαγασκάρην]] [[Κατηγορίαν:Κράτη|Μαδα]] [[Κατηγορίαν:Αφρική]] hg6mjbs8gtsy27xqlhtum4jhr9viaf5 8 Μαρτί 0 522 37319 37053 2025-12-16T19:28:28Z Εὐθυμένης 2777 37319 wikitext text/x-wiki <div class="center">[[Καλαντάρτς]] | [[Κούντουρος]] | '''[[Μαρτς]]''' | [[Απρίλτς]] | [[Καλομηνάς]]</div> <div class="center">[[6 Μαρτί]] | [[7 Μαρτί]] | [[8 Μαρτί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|3}} '''8 Σταυρί''' εν 67ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (εν το 68ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 298 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[8 Κούντουρονος]] - [[8 Απρίλ]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0308]] 678w6sylo5tx20j5yg7v7gfd5jndlbd 9 Μαρτί 0 523 37320 37052 2025-12-16T19:28:47Z Εὐθυμένης 2777 37320 wikitext text/x-wiki <div class="center">[[Καλαντάρτς]] | [[Κούντουρος]] | '''[[Μαρτς]]''' | [[Απρίλτς]] | [[Καλομηνάς]]</div> <div class="center">[[6 Μαρτί]] | [[7 Μαρτί]] | [[8 Μαρτί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|3}} '''9 Σταυρί''' εν 68ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (εν το 69ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 297 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[9 Κούντουρονος]] - [[9 Απρίλ]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0309]] pbgm73m4ycbwkysuhkqd5cqkj6ekhbh 10 Μαρτί 0 525 37321 37063 2025-12-16T19:29:05Z Εὐθυμένης 2777 37321 wikitext text/x-wiki <div class="center">[[Καλαντάρτς]] | [[Κούντουρος]] | '''[[Μαρτς]]''' | [[Απρίλτς]] | [[Καλομηνάς]]</div> <div class="center">[[9 Μαρτί]] | [[10 Μαρτί]] | [[11 Μαρτί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|3}} '''10 Σταυρί''' εν 69ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (εν το 70ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 296 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[10 Κούντουρονος]] - [[10 Απρίλ]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0310]] muq0gcadenl2dqa5xhnof237l4yv1w9 11 Μαρτί 0 526 37322 37058 2025-12-16T19:29:22Z Εὐθυμένης 2777 37322 wikitext text/x-wiki <div class="center">[[Καλαντάρτς]] | [[Κούντουρος]] | '''[[Μαρτς]]''' | [[Απρίλτς]] | [[Καλομηνάς]]</div> <div class="center">[[10 Μαρτί]] | [[11 Μαρτί]] | [[12 Μαρτί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|3}} '''11 Σταυρί''' εν 70ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (εν το 71ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 295 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[11 Κούντουρονος]] - [[11 Απρίλ]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0311]] 5dbrgzoi6jisv119ozwwnuc45yu4hu2 Κατηγορίαν:Μαδαγασκάρην 14 527 31497 29691 2013-03-14T05:08:13Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 96 interwiki links, now provided by [[d:|Wikidata]] on [[d:q6891951]] [[M:User:Addbot/WDS|(translate me)]] 31497 wikitext text/x-wiki [[Category:Νησία]] l44bplsd83lm3r0618u30743ftl5bul 12 Μαρτί 0 528 37323 37047 2025-12-16T19:29:40Z Εὐθυμένης 2777 37323 wikitext text/x-wiki <div class="center">[[Καλαντάρτς]] | [[Κούντουρος]] | '''[[Μαρτς]]''' | [[Απρίλτς]] | [[Καλομηνάς]]</div> <div class="center">[[11 Μαρτί]] | [[12 Μαρτί]] | [[13 Μαρτί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|3}} '''12 Σταυρί''' εν 71ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (εν το 72ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 294 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[12 Κούντουρονος]] - [[12 Απρίλ]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0312]] dtwrpnvwxkbr9zgfkwoxdidxbsbrpxp Πρότυπον:CopyrightByWikimedia 10 531 9965 4282 2009-12-04T14:55:13Z Qoan 1170 9965 wikitext text/x-wiki '''© & ™ All rights reserved, Wikimedia Foundation, Inc.'''<br /> This image (or parts of it) is '''[[w:copyright|copyrighted]]''' by the '''[[Wikimedia:|Wikimedia Foundation]]'''. It is (or includes) one of the official logos or designs used by the Wikimedia Foundation or by one of its projects.'' Use of the Wikimedia logo is subject to the '''[[Wikimedia:Wikimedia visual identity guidelines|Wikimedia visual identity guidelines]]''' and requires permission. <noinclude> [[Κατηγορίαν:Πρότυπα]] </noinclude> 4a94utxja412y210sn3vq2h3fvnndm8 Βικιπαίδεια:Bot policy 4 558 4323 2009-03-15T20:21:20Z Pathoschild 209 redirected to [[Βικιπαίδεια:Αγορά|bot request page]] for [[m:standard bot policy|global bot policy]] 4323 wikitext text/x-wiki #REDIRECT [[Βικιπαίδεια:Αγορά]] 963dy9mmnphtjpqr6c8298cwvpmqq9d Πρότυπον:Добро пожаловать 10 559 28812 28807 2012-10-02T10:24:30Z Tamara Ustinova 2544 28812 wikitext text/x-wiki <div style="float:right;border:1px dotted red;margin:5px;padding:2px;background:#FFF8DC;">(de) [[Πρότυπον:Willkommen|Willkommen]]<br> (pnt) [[Πρότυπον:Χαιρέτημαν|Χαιρέτημαν]] <br> (en) [[Πρότυπον:Welcome|Welcome]]<br> (es) [[Πρότυπον:Bienvenido|Bienvenido]]<br> (fr) [[Πρότυπον:Bienvenue|Bienvenue]]</div> <includeonly>{{sub</includeonly><includeonly>st:BASEPAGENAME}}</includeonly><noinclude>ΧρήστηΤάδε</noinclude>, добро пожаловать в Понтийскую Википедию! Если вы ещё не создали страницы о себе, вы можете сделать это прямо сейчас (в верхнем меню ваше имя пользователя — ссылка на страницу о вас). Язык интерфейса можно поменять на [[Special:Preferences|странице настроек]]. Другие полезные ссылки: * [[:ru:Понтийский язык|О понтийском языке по-русски]]. * Наш [[Βικιπαίδεια:Αγορά|форум]]. Если у вас есть вопросы, задайте их на моей странице обсуждения. <noinclude>[[Κατηγορίαν:Πρότυπα Χαιρέτημαν|Добро пожаловать]]</noinclude> iznir5pmqgodfwyer7pml4hkspw6g7t Πρότυπον:Χρήστες ru 10 561 31742 31145 2013-08-01T15:39:10Z Addbot 3509 [[User:addbot|Bot]]: Migrating interwiki links, now provided by [[d:|Wikidata]] on [[d:q5743436]] 31742 wikitext text/x-wiki {{Babel field N| letter code size=1.5em| letter code=ru|lien langue =| text=Для этого участника '''[[:Κατηγορίαν:User ru|русский язык]]''' является '''[[:Κατηγορίαν:User ru-N|родным]]'''.}} <noinclude> [[Κατηγορίαν:User ru-N| ]] </noinclude> h8m21z9p7fpu6sept2noc02azsyx92v Πρότυπον:Bot 10 565 35364 31725 2023-03-19T09:35:52Z Minorax 7522 vva 35364 wikitext text/x-wiki {| class="messagebox plainlinks" |align="center"|[[Image:Crystal Clear action run.svg|50px]] |align="left" width="100%"|'''Αούτο η λογαρίαν εν [[Project:Bot policy|bot]] κι ο άνθρωπον οπίς ασο bot εν ο χρήστες [[:{{{site|pnt}}}:User:{{{1}}}|{{{1}}}]] ([[:{{{site|pnt}}}:User talk:{{{1}}}|καλάτσεμαν]]).''' Η λογαρίαν 'κ εν sock puppet. Το bot εν αυτόματον ή ημσόν-αυτόματον λογαρίαν και κουλανέβουν ατο για τα δουλείας π'ίνουνταν και ξαν ίνουνταν. <br> <small>''Νοματέοι: αούτο το bot αν 'κ δουλεύ' καλά κι εφτάει ζεμίας, [{{fullurl:Special:Blockip|wpBlockAddress={{PAGENAMEE}}&wpBlockExpiry=indefinite&wpAnonOnly=0&wpEnableAutoblock=0&wpCreateAccount=0&wpBlockReason=Bot%20malfunctioning:%20}} ασπαλίστεν τη λογαρίαν ατ].''</small> |}{{{category|[[Category:Bot|<includeonly>{{PAGENAME}}</includeonly> ]]}}} 30tkx2jz9sxme4d1vbl9pjahpxllqpi Κατηγορίαν:User en-2 14 576 31563 31151 2013-04-13T07:50:21Z KLBot2 3570 Bot: Migrating 2 interwiki links, now provided by [[Wikidata]] on [[:d:Q5626683]] 31563 wikitext text/x-wiki {{Commonscat|User en-2}} [[Κατηγορίαν:User en]] bcqsyr8gsac34w71d683fpvmt4wcxfu Κατηγορίαν:User eo 14 577 31565 31152 2013-04-13T07:50:29Z KLBot2 3570 Bot: Migrating 6 interwiki links, now provided by [[Wikidata]] on [[:d:Q6398969]] 31565 wikitext text/x-wiki {{Commonscat|User eo}} [[Κατηγορίαν:Βαβέλ]] 9gi0iujkew14fk0en24jjh7l5ahn02q Κατηγορίαν:User hsb 14 578 31446 31153 2013-03-11T10:24:28Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 2 interwiki links, now provided by [[d:|Wikidata]] on [[d:q6408311]] [[M:User:Addbot/WDS|(translate me)]] 31446 wikitext text/x-wiki {{Commonscat|User hsb}} [[Κατηγορίαν:Βαβέλ]] 7x86wst6qil1f3ii29x6jw313ck9ghi Κατηγορίαν:User dsb 14 579 31445 31154 2013-03-11T10:24:27Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 2 interwiki links, now provided by [[d:|Wikidata]] on [[d:q6396965]] [[M:User:Addbot/WDS|(translate me)]] 31445 wikitext text/x-wiki [[Κατηγορίαν:Βαβέλ]] af487s67kicv88furv78hphgoirnzr7 Κατηγορίαν:User pl 14 580 31572 30253 2013-04-13T07:54:49Z KLBot2 3570 Bot: Migrating 157 interwiki links, now provided by [[Wikidata]] on [[:d:Q7215810]] 31572 wikitext text/x-wiki {{Commonscat|User pl}} [[Κατηγορίαν:Βαβέλ]] 9jw3xl528fygw0ij8mhdko3ui0d7fnw Πρότυπον:Welcome 10 585 31704 31674 2013-06-29T13:19:18Z EmausBot 1699 Bot: Migrating 1 interwiki links, now provided by [[Wikipedia:Wikidata|Wikidata]] on [[d:Q5611978]] 31704 wikitext text/x-wiki <div style="float:right;border:1px dotted red;margin:5px;padding:2px;background:#FFF8DC;">(de) [[Πρότυπον:Willkommen|Willkommen]]<br> (pnt) [[Πρότυπον:Χαιρέτημαν|Χαιρέτημαν]] <br> (en) [[Πρότυπον:Welcome|Welcome]]<br> (es) [[Πρότυπον:Bienvenido|Bienvenido]]<br> (fr) [[Πρότυπον:Bienvenue|Bienvenue]]</div> <includeonly>{{sub</includeonly><includeonly>st:BASEPAGENAME}}</includeonly><noinclude> ΧρήστηΤάδε </noinclude>, welcome to the Pontic Wikipedia! If you have not yet created a page about yourself, you can do it right now (the top row has your username&mdash;click on it to create it). You can change the interface language by going to your [[Special:Preferences|preferences]]. Here are some other useful links: * [[:en:Pontic Greek|About Pontic in English]]. * Our [[Βικιπαίδεια:Αγορά|Village Pump]]. If you have any questions, please ask the on my discussion page. <noinclude>[[Κατηγορίαν:Πρότυπα Χαιρέτημαν|Welcome]] </noinclude> o7g6vq599l1hk2u17uro5hr49cisfbn Πρότυπον:Βαβέλ 10 586 31432 31158 2013-03-11T10:23:34Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 2 interwiki links, now provided by [[d:|Wikidata]] on [[d:q5461620]] [[M:User:Addbot/WDS|(translate me)]] 31432 wikitext text/x-wiki {| name="userboxes" id="userboxes" style="float: {{{align|right}}}; margin-left: 1em; margin-bottom: 0.5em; width: 242px; border: #99B3FF solid 1px; clear: {{{align|right}}};" {{#ifeq:{{{header|}}}|without||{{!-}} ! style="background-color: {{{color|}}}; text-align: center" colspan="10" {{!}} {{{header|[[ Project:Βαβέλ|Γλώσσας ντ'εξέρουμε]]}}}}} |- | {{#if:{{{1|}}}|{{Χρήστες {{{1}}} | mž={{{mž|}}} }}|<center>Ατός ο χρήστες νε γραφ' νε εγροικά τα γλώσσας. Βοηθέστεν ατόναν.</center> }}{{#if:{{{2|}}}|{{Χρήστες {{{2}}} | mž={{{mž|}}} }} }}{{#if:{{{3|}}}|{{Χρήστες {{{3}}} | mž={{{mž|}}} }} }}{{#if:{{{4|}}}|{{Χρήστες {{{4}}} | mž={{{mž|}}} }} }}{{#if:{{{5|}}}|{{Χρήστες {{{5}}} | mž={{{mž|}}} }} }}{{#if:{{{6|}}}|{{Χρήστες {{{6}}} | mž={{{mž|}}} }} }}{{#if:{{{7|}}}|{{Χρήστες {{{7}}} | mž={{{mž|}}} }} }}{{#if:{{{8|}}}|{{Χρήστες {{{8}}} | mž={{{mž|}}} }} }}{{#if:{{{9|}}}|{{Χρήστες {{{9}}} | mž={{{mž|}}} }} }}{{#if:{{{10|}}}|{{Χρήστες {{{10}}} | mž={{{mž|}}} }} }}{{#if:{{{11|}}}|{{Χρήστες {{{11}}} | mž={{{mž|}}} }} }}{{#if:{{{12|}}}|{{Χρήστες {{{12}}} | mž={{{mž|}}} }} }}{{#if:{{{13|}}}|{{Χρήστες {{{13}}} | mž={{{mž|}}} }} }}{{#if:{{{14|}}}|{{Χρήστες {{{14}}} | mž={{{mž|}}} }} }}{{#if:{{{15|}}}|{{Χρήστες {{{15}}} | mž={{{mž|}}} }} }}{{#if:{{{16|}}}|{{Χρήστες {{{16}}} | mž={{{mž|}}} }} }}{{#if:{{{17|}}}|{{Χρήστες {{{17}}} | mž={{{mž|}}} }} }}{{#if:{{{18|}}}|{{Χρήστες {{{18}}} | mž={{{mž|}}} }} }}{{#if:{{{19|}}}|{{Χρήστες {{{19}}} | mž={{{mž|}}} }} }}{{#if:{{{20|}}}|{{Χρήστες {{{20}}} | mž={{{mž|}}} }} }}{{#if:{{{21|}}}|{{Χρήστες {{{21}}} | mž={{{mž|}}} }} }}{{#if:{{{22|}}}|{{Χρήστες {{{22}}} | mž={{{mž|}}} }} }}{{#if:{{{23|}}}|{{Χρήστες {{{23}}} | mž={{{mž|}}} }} }}{{#if:{{{24|}}}|{{Χρήστες {{{24}}} | mž={{{mž|}}} }} }}{{#if:{{{25|}}}|{{Χρήστες {{{25}}} | mž={{{mž|}}} }} }}{{#if:{{{26|}}}|{{Χρήστες {{{26}}} | mž={{{mž|}}} }} }}{{#if:{{{27|}}}|{{Χρήστες {{{27}}} | mž={{{mž|}}} }} }}{{#if:{{{28|}}}|{{Χρήστες {{{28}}} | mž={{{mž|}}} }} }}{{#if:{{{29|}}}|{{Χρήστες {{{29}}} | mž={{{mž|}}} }} }}{{#if:{{{30|}}}|{{Χρήστες {{{30}}} | mž={{{mž|}}} }} }}{{#if:{{{31|}}}|{{Χρήστες {{{31}}} | mž={{{mž|}}} }} }}{{#if:{{{32|}}}|{{Χρήστες {{{32}}} | mž={{{mž|}}} }} }}{{#if:{{{33|}}}|{{Χρήστες {{{33}}} | mž={{{mž|}}} }} }}{{#if:{{{34|}}}|{{Χρήστες {{{34}}} | mž={{{mž|}}} }} }}{{#if:{{{35|}}}|{{Χρήστες {{{35}}} | mž={{{mž|}}} }} }}{{#if:{{{36|}}}|{{Χρήστες {{{36}}} | mž={{{mž|}}} }} }}{{#if:{{{37|}}}|{{Χρήστες {{{37}}} | mž={{{mž|}}} }} }}{{#if:{{{38|}}}|{{Χρήστες {{{38}}} | mž={{{mž|}}} }} }}{{#if:{{{39|}}}|{{Χρήστες {{{39}}} | mž={{{mž|}}} }} }}{{#if:{{{40|}}}|{{Χρήστες {{{40}}} | mž={{{mž|}}} }} }}{{#if:{{{41|}}}|{{Χρήστες {{{41}}} | mž={{{mž|}}} }} }}{{#if:{{{42|}}}|{{Χρήστες {{{42}}} | mž={{{mž|}}} }} }}{{#if:{{{43|}}}|{{Χρήστες {{{43}}} | mž={{{mž|}}} }} }}{{#if:{{{44|}}}|{{Χρήστες {{{44}}} | mž={{{mž|}}} }} }}{{#if:{{{45|}}}|{{Χρήστες {{{45}}} | mž={{{mž|}}} }} }}{{#if:{{{46|}}}|{{Χρήστες {{{46}}} | mž={{{mž|}}} }} }}{{#if:{{{47|}}}|{{Χρήστες {{{47}}} | mž={{{mž|}}} }} }}{{#if:{{{48|}}}|{{Χρήστες {{{48}}} | mž={{{mž|}}} }} }}{{#if:{{{49|}}}|{{Χρήστες {{{49}}} | mž={{{mž|}}} }} }}{{#if:{{{50|}}}|{{Χρήστες {{{50}}} | mž={{{mž|}}} }} }}{{#if:{{{51|}}}|{{Χρήστες {{{51}}} | mž={{{mž|}}} }} }}{{#if:{{{52|}}}|{{Χρήστες {{{52}}} | mž={{{mž|}}} }} }}{{#if:{{{53|}}}|{{Χρήστες {{{53}}} | mž={{{mž|}}} }} }}{{#if:{{{54|}}}|{{Χρήστες {{{54}}} | mž={{{mž|}}} }} }}{{#if:{{{55|}}}|{{Χρήστες {{{55}}} | mž={{{mž|}}} }} }}{{#if:{{{56|}}}|{{Χρήστες {{{56}}} | mž={{{mž|}}} }} }}{{#if:{{{57|}}}|{{Χρήστες {{{57}}} | mž={{{mž|}}} }} }}{{#if:{{{58|}}}|{{Χρήστες {{{58}}} | mž={{{mž|}}} }} }}{{#if:{{{59|}}}|{{Χρήστες {{{59}}} | mž={{{mž|}}} }} }}{{#if:{{{60|}}}|{{Χρήστες {{{60}}} | mž={{{mž|}}} }} }}{{#if:{{{61|}}}|{{Χρήστες {{{61}}} | mž={{{mž|}}} }} }}{{#if:{{{62|}}}|{{Χρήστες {{{62}}} | mž={{{mž|}}} }} }}{{#if:{{{63|}}}|{{Χρήστες {{{63}}} | mž={{{mž|}}} }} }}{{#if:{{{64|}}}|{{Χρήστες {{{64}}} | mž={{{mž|}}} }} }}{{#if:{{{65|}}}|{{Χρήστες {{{65}}} | mž={{{mž|}}} }} }}{{#if:{{{66|}}}|{{Χρήστες {{{66}}} | mž={{{mž|}}} }} }}{{#if:{{{67|}}}|{{Χρήστες {{{67}}} | mž={{{mž|}}} }} }}{{#if:{{{68|}}}|{{Χρήστες {{{68}}} | mž={{{mž|}}} }} }}{{#if:{{{69|}}}|{{Χρήστες {{{69}}} | mž={{{mž|}}} }} }}{{#if:{{{70|}}}|{{Χρήστες {{{70}}} | mž={{{mž|}}} }} }}{{#if:{{{71|}}}|{{Χρήστες {{{71}}} | mž={{{mž|}}} }} }}{{#if:{{{72|}}}|{{Χρήστες {{{72}}} | mž={{{mž|}}} }} }}{{#if:{{{73|}}}|{{Χρήστες {{{73}}} | mž={{{mž|}}} }} }}{{#if:{{{74|}}}|{{Χρήστες {{{74}}} | mž={{{mž|}}} }} }}{{#if:{{{75|}}}|{{Χρήστες {{{75}}} | mž={{{mž|}}} }} }}{{#if:{{{76|}}}|{{Χρήστες {{{76}}} | mž={{{mž|}}} }} }}{{#if:{{{77|}}}|{{Χρήστες {{{77}}} | mž={{{mž|}}} }} }}{{#if:{{{78|}}}|{{Χρήστες {{{78}}} | mž={{{mž|}}} }} }}{{#if:{{{79|}}}|{{Χρήστες {{{79}}} | mž={{{mž|}}} }} }}{{#if:{{{80|}}}|{{Χρήστες {{{80}}} | mž={{{mž|}}} }} }}{{#if:{{{81|}}}|{{Χρήστες {{{81}}} | mž={{{mž|}}} }} }}{{#if:{{{82|}}}|{{Χρήστες {{{82}}} | mž={{{mž|}}} }} }}{{#if:{{{83|}}}|{{Χρήστες {{{83}}} | mž={{{mž|}}} }} }}{{#if:{{{84|}}}|{{Χρήστες {{{84}}} | mž={{{mž|}}} }} }}{{#if:{{{85|}}}|{{Χρήστες {{{85}}} | mž={{{mž|}}} }} }}{{#if:{{{86|}}}|{{Χρήστες {{{86}}} | mž={{{mž|}}} }} }}{{#if:{{{87|}}}|{{Χρήστες {{{87}}} | mž={{{mž|}}} }} }}{{#if:{{{88|}}}|{{Χρήστες {{{88}}} | mž={{{mž|}}} }} }}{{#if:{{{89|}}}|{{Χρήστες {{{89}}} | mž={{{mž|}}} }} }}{{#if:{{{90|}}}|{{Χρήστες {{{90}}} | mž={{{mž|}}} }} }}{{#if:{{{91|}}}|{{Χρήστες {{{91}}} | mž={{{mž|}}} }} }}{{#if:{{{92|}}}|{{Χρήστες {{{92}}} | mž={{{mž|}}} }} }}{{#if:{{{93|}}}|{{Χρήστες {{{93}}} | mž={{{mž|}}} }} }}{{#if:{{{94|}}}|{{Χρήστες {{{94}}} | mž={{{mž|}}} }} }}{{#if:{{{95|}}}|{{Χρήστες {{{95}}} | mž={{{mž|}}} }} }}{{#if:{{{96|}}}|{{Χρήστες {{{96}}} | mž={{{mž|}}} }} }}{{#if:{{{97|}}}|{{Χρήστες {{{97}}} | mž={{{mž|}}} }} }}{{#if:{{{98|}}}|{{Χρήστες {{{98}}} | mž={{{mž|}}} }} }}{{#if:{{{99|}}}|{{Χρήστες {{{99}}} | mž={{{mž|}}} }} }}{{#if:{{{100|}}}|{{Χρήστες {{{100}}} | mž={{{mž|}}} }} }} {{#ifeq:{{{footer|}}}|whitout|| {{!-}} {{!}} style="background-color: {{{color|}}}; text-align: center" colspan="10" {{!}} {{{footer|'''[[:Κατηγορίαν:Βαβέλ|Βαβέλ]]'''}}} }} |}<noinclude>{{doc|ns=2}} [[Κατηγορίαν:Βαβέλ]] </noinclude> 177075zxr1wnsal0snpuh91etnx0r67 Πρότυπον:!- 10 587 31724 31159 2013-08-01T15:39:06Z Addbot 3509 [[User:addbot|Bot]]: Migrating interwiki links, now provided by [[d:|Wikidata]] on [[d:q5406460]] 31724 wikitext text/x-wiki |-<noinclude> [[Κατηγορίαν:Πρότυπα βοήθειας]] </noinclude> 3sm19iyajpp74phckqh5i5gpq9hlzyb Πρότυπον:Babel 10 588 4392 2009-03-16T18:12:34Z Tlustulimu 165 Redirected page to [[Πρότυπον:Βαβέλ]] 4392 wikitext text/x-wiki #REDIRECT [[Πρότυπον:Βαβέλ]] 9118g90n7iasa6s3mddgc9gvwputng9 Πρότυπον:Doc 10 589 26622 24723 2012-05-05T08:55:28Z MerlIwBot 2140 Robot: Removing [[pt:Predefinição:Instruções da predefinição]] (deleted) 26622 wikitext text/x-wiki <noinclude>{{doc|ns=10}} [[Κατηγορίαν:Πρότυπα βοήθειας]]</noinclude><includeonly>{{#if:{{{doc|}}}|{{Doc/beginning|{{{doc}}}|notoc={{{notoc|}}}}}{{{{{doc}}}}}{{#if:{{{ns|}}}|{{Doc/end|ns={{{ns}}}|dok={{{doc}}}}}|{{Doc/end|doc={{{doc}}}}}}} |{{Doc/beginning|{{SUBJECTPAGENAME}}/Doc|notoc={{{notoc|}}}}}{{{{SUBJECTPAGENAME}}/Doc}}{{#if:{{{ns|}}}|{{Doc/end|ns={{{ns}}}}}|{{Doc/end}}}}}}</includeonly><noinclude> [[bg:Шаблон:Документация]] [[ca:Plantilla:Ús de la plantilla]] [[da:Skabelon:Dokumentation]] [[de:Vorlage:Dokumentation]] [[dsb:Pśedłoga:Dokumentacija]] [[en:Template:Documentation]] [[eo:Ŝablono:Dok]] [[fa:الگو:توضیحات]] [[fr:Modèle:Documentation modèle]] [[hsb:Předłoha:Doc]] [[hu:Sablon:Sablondokumentáció]] [[ia:Patrono:Docpatrono]] [[ja:Template:Documentation]] [[ko:틀:틀 설명문서]] [[nl:Sjabloon:Sjabdoc]] [[pl:Szablon:Dokumentacja]] [[ro:Format:Documentaţie]] [[ru:Шаблон:Doc]] [[sl:Predloga:Dokumentacija]] [[sr:Шаблон:Документација]] [[sv:Mall:Dokumentation]] [[tpi:Template:Template doc]] [[uk:Шаблон:Doc]] [[zh:Template:Documentation]] </noinclude> eblicz2575io9oj15xr76p92aywrmhj Πρότυπον:Doc/end 10 590 31728 31637 2013-08-01T15:39:07Z Addbot 3509 [[User:addbot|Bot]]: Migrating interwiki links, now provided by [[d:|Wikidata]] on [[d:q6081633]] 31728 wikitext text/x-wiki <includeonly><nowiki/> <br/><hr style="border:none; height:0.7ex; background:#000000; clear:both;"/> {{(!}} {{individual formats|breadth=99%|b-color=#f9f9f9}} {{!}} If you have questions about this [[Help:Templates|template]], you can ask on the page [[Βικιπαίδεια καλάτσεμαν:Project for templates]]. {{!)}} {{(!}} cellspacing="8" cellpadding="0" class="plainlinks" style="background:transparent; margin: 2px 0;" id="Dokumentation.Info" {{!}} style="position:relative; width:35px; vertical-align:top;" {{!}} [[File:Information icon.svg|30px|Information]] {{!}} style="width: 100%;" {{!}} <ul> <li>{{#switch:{{{ns}}} | 2 = {{Usage|ns=2}} templates on user pages. | 6 = {{Usage|ns=6}} templates on file pages. | 10 = {{Usage|ns=10}} templates on pages for templates. | 14 = {{Usage|ns=14}} templates on pages of categories. | #default = {{Usage}} templates in articles. }}</li> {{#if:{{{doc|}}}| <li> This documentation is addes from [[{{{doc}}}|a subpage]], which is used from some templates.</li> | {{#ifexist:{{SUBJECTPAGENAME}}/Dokumentacija | <li> This documentation is added from [[{{SUBJECTPAGENAME}}/Doc|a subpage]].</li> | <li class="metadata metadata-label">[{{fullurl:{{SUBJECTPAGENAME}}/Doc|action=edit&preload=Πρότυπον:Doc/preload-Doc}} Create a subpage for the template documentation].</li> }} }} {{#ifexist:{{SUBJECTPAGENAME}}/hrajkanišćo | <li>The page for [[{{SUBJECTPAGENAME}}/sandbox|sandbox of the template, where can be evoluated new version]]. ([[Βικιπαίδεια:Sandbox and tests for templates|Help]])</li> | <li class="metadata metadata-label">[{{fullurl:{{SUBJECTPAGENAME}}/hrajkanišćo|action=edit&preload=Πρότυπον:Doc/preload-hrajkanišćo}} Create a subpage for the template sandbox]. ([[Βικιπαίδεια:Sandbox and tests for templates|Help]])</li> }} {{#ifexist:{{SUBJECTPAGENAME}}/testy | <li>Examples and tests of functionality are on the [[{{SUBJECTPAGENAME}}/tests|testing page]]. ([[Βικιπαίδεια:Sandbox and tests for templates|Help]])</li> | <li class="metadata metadata-label">[{{fullurl:{{SUBJECTPAGENAME}}/testy|action=edit&preload=Πρότυπον:Doc/preload-testy}} Create a testing page with examples]. ([[Βικιπαίδεια:Sandbox and tests for templates|Help]])</li> }} <li>[[Special:PrefixIndex/{{SUBJECTPAGENAME}}/|List of subpages]].</li> </ul> {{!)}} </div></includeonly><noinclude>{{Doc|ns=10}} <!--[[Kategorija:Wikipedija:Předłoha za předłohi]]--> [[Κατηγορίαν:Πρότυπα βοήθειας]] </noinclude> 5b4vuq3ycuhjmklbtobf6jfntygf7wn Πρότυπον:(! 10 591 13283 9939 2010-04-22T16:02:05Z Tlustulimu 165 correction 13283 wikitext text/x-wiki {|<noinclude> [[Κατηγορίαν:Πρότυπα βοήθειας]] </noinclude> tpzbmtgpaokntk583eosip88pxkxxgm Πρότυπον:!) 10 592 13284 9937 2010-04-22T16:05:09Z Tlustulimu 165 correction 13284 wikitext text/x-wiki |}<noinclude>__NOTOC__ [[Κατηγορίαν:Πρότυπα βοήθειας]] </noinclude> 2lvhs2l98r06nmpb0d1eyg403sb8m9h Πρότυπον:Doc/beginning 10 593 31496 31491 2013-03-14T05:08:05Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 6 interwiki links, now provided by [[d:|Wikidata]] on [[d:q6180494]] [[M:User:Addbot/WDS|(translate me)]] 31496 wikitext text/x-wiki <div style="background:#F0F8FF;border:1px dotted #8BCBFF;padding:10px 10px 0;margin-top:10px">__NOEDITSECTION__ <div style="float:right;padding-right:1em;"><span class=plainlinks style="font-size:11px"><nowiki>[</nowiki>[[{{{1}}}|Πρώτον τέρεμαν]]<nowiki>]</nowiki>&nbsp;<nowiki>[</nowiki>[{{fullurl:{{{1}}}|action=edit}} άλλαξον]<nowiki>]</nowiki>&nbsp;<nowiki>[</nowiki>[{{fullurl:{{{1}}}|action=history}} ιστορίαν]<nowiki>]</nowiki>&nbsp;<nowiki>[</nowiki>[{{fullurl:{{FULLPAGENAMEE}}|action=purge}} purge]<nowiki>]</nowiki></span></div><span style="font-size:11pt;line-height:11pt;">[[File:information.svg|20px|link=#Doc.Info|Doc]]&nbsp;Doc</span> ----{{#switch: {{SUBPAGENAME}} |sandbox|tests=<!--**njepokazaj tutej wotkazaj na tutymaj specielnymaj stronomaj sandbox/tests**--> |#default= {{#switch: {{SUBJECTSPACE}} |{{ns:template}} |{{ns:user}}= {{#ifexist: {{FULLPAGENAME}}/sandbox |This template has a [[/sandbox|sandbox]] <small style="font-style: normal">([{{fullurl:{{ #rel2abs: /sandbox}}|action=edit}} άλλαξον])</small> <!-- -->{{#ifexist: {{FULLPAGENAME}}/testy |and [[/tests|tests]] <small style="font-style: normal">([{{fullurl:{{ #rel2abs: /tests }}|action=edit}} άλλαξον])</small>}} for users to experimenting. |{{#ifexist: {{FULLPAGENAME}}/testy |This template has [[/tests|tests]] <small style="font-style: normal">([{{fullurl:{{ #rel2abs: /tests }}|action=edit}} άλλαξον])</small> for users to experimenting.}} }}}}}}{{#if:{{{notoc|}}}|__NOTOC__|{{TOC-right}}}} <noinclude> [[Κατηγορίαν:Πρότυπα βοήθειας]] </noinclude> <noinclude></div><!--please dont remove this div here!--> <!--[[Kategorija:Wikipedija:Předłoha za předłohi]]--> </noinclude> cygvgt6hbalb7o5h9vuwnr1w4dbg2nw Πρότυπον:TOC-right 10 594 32489 31731 2015-08-04T22:07:46Z YiFeiBot 4458 Ρομπότ: Μεταφέρω 2 σύνδεσμους interwiki, που τώρα παρέχονται από τα [[d:|Wikidata]] στο [[d:q5626794]] 32489 wikitext text/x-wiki <div style="{{float right}}">__TOC__</div><noinclude>{{Doc}} <!-- [[Kategorija:Předłoha:Formatowanska pomoc]]--> [[Κατηγορίαν:Πρότυπα βοήθειας]] </noinclude> cq5xsfueqem79iq2yettgjphli96nul Πρότυπον:Float right 10 595 31726 31612 2013-08-01T15:39:07Z Addbot 3509 [[User:addbot|Bot]]: Migrating interwiki links, now provided by [[d:|Wikidata]] on [[d:q10951414]] 31726 wikitext text/x-wiki float: right; margin-left: 1em; margin-bottom: 0.5em; clear: right;<noinclude> ==See also== *{{Tl|Float left}} <!--[[Kategorija:Předłoha:Formatowanska pomoc]]--> </noinclude> <noinclude> [[Κατηγορίαν:Πρότυπα βοήθειας]] </noinclude> epcd0ffyuhrj7qoiiqg90h05j5kszge Πρότυπον:Usage 10 596 9946 4403 2009-12-04T14:34:49Z Qoan 1170 Kατηγοριοποιοώ 9946 wikitext text/x-wiki {{Plainlink|{{fullurl:Special:WhatLinksHere|limit=200&hideredirs=1&hidelinks=1&target={{#if: {{{page|}}}|{{urlencode:{{{page}}} }}|{{FULLPAGENAMEE}} }}&namespace={{{ns|0}}}}}|{{{text|Usage}}} }}<noinclude> <!--{{Tausendfach verwendet}}-->{{Doc}} <!-- Please add interwiki link to the /Doc-subpage--> [[Κατηγορίαν:Πρότυπα βοήθειας]] </noinclude> qizua2ircrfmt3utwjtvk1tcrukppw2 Πρότυπον:Plainlink 10 597 31730 31619 2013-08-01T15:39:07Z Addbot 3509 [[User:addbot|Bot]]: Migrating interwiki links, now provided by [[d:|Wikidata]] on [[d:q10964198]] 31730 wikitext text/x-wiki <span class="plainlinks">[{{{1}}} {{{2|{{{1}}}}}}]</span><noinclude>{{doc}} <!-- [[Kategorija:Předłoha:Formatowanska pomoc|P]] [[Kategorija:Předłoha:Wotkazy|P]]--> [[Κατηγορίαν:Πρότυπα βοήθειας]] </noinclude> n3q52cu6djpnfykt9ll0yofdxhsznw1 Πρότυπον:Individual formats 10 598 31618 16904 2013-04-15T00:25:08Z Addbot 3509 31618 wikitext text/x-wiki cellspacing="{{#expr: 2 * {{{border|2}}}}}" cellpadding="{{#expr: 2 * {{{border|2}}}}}" style="width: {{{breadth|80%}}}; border: {{{border|2}}}px solid {{{border color|#CCCCCC}}}; margin: 0.5em auto 0.5em; clear: both; position: relative; background-color: {{{b-color|#FFFFFF}}}; color: {{{t-color|#000000}}};"<noinclude> '''Template for individual text boxes.''' == Parameters == {| class="prettytable" ! Parameter ! Meaning ! Default value |-- | breadth || relative breadth in %. || <tt>80</tt> |-- | border || border breadth in px ('''without''' "px") || <tt>2</tt> |-- | border color || border color (Format: #RRGGBB) || <tt>#CCCCCC</tt> |-- | b-color || background color (Format: #RRGGBB) || <tt>#FFFFFF</tt> |-- | t-color || text color (Format: #RRGGBB) || <tt>#000000</tt> |} == Source == <pre> {{Individual formats |breadth= |border= |border color= |b-color= |t-color= }} </pre> == Example == {| {{Individual formats}} |-- | Denk' ich an Deutschland in der Nacht, dann bin ich um den Schlaf gebracht. Ich kann nicht mehr die Augen schließen, und meine heißen Tränen fließen. (Heinrich Heine) |} <!-- [[Kategorija:Předłoha:Formatowanska pomoc|{{PAGENAME}}]]--> [[Κατηγορίαν:Πρότυπα βοήθειας]] </noinclude> fyv0bkzhxfucydza894j5bn4jopisc5 Κατηγορίαν:Πρότυπα Βικιπαίδειας 14 609 31412 31161 2013-03-08T01:30:30Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 1 interwiki links, now provided by [[d:|Wikidata]] on [[d:q3740]] [[M:User:Addbot/WDS|(translate me)]] 31412 wikitext text/x-wiki [[Κατηγορίαν:Πρότυπα]] ou0u4xph1hvsmak9ybztlxd2p0okt7b Βικιπαίδεια:Ντο ν'εφτάν οι καινούρ' οι χρήστες 4 619 33978 33977 2018-10-27T16:41:19Z Wim b 3723 Ανάκληση των αλλαγών [[Special:Contributions/91.140.89.219|91.140.89.219]] ([[User talk:91.140.89.219|συζήτηση]]) επιστροφή στην προηγούμενη αναθεώρηση [[User:MerlIwBot|MerlIwBot]] 26623 wikitext text/x-wiki '''Καλώς έρθες σην Βικιπαίδειαν. Αδακά καθαείς επορεί να γραφτ. Γράψον κι εσύ.''' Σ'αούτον τη σελίδαν ευρίουνταν ολίγα πληροφορίας για να μαθάνεις τη λειτουργίαν τη Βικιπαίδειας και πως να γραφτς. <h2 style="border:1px solid #AAAAAA; background-color:#F0F0F0; padding:0.2em 0; margin:0; font-size: 110%; font-weight:bold; text-indent:0.5em;">Είσαι καινούρεος χρήστες σο ποντιακόν τη Βικιπαίδειαν;</h2> <div class="plainlinks" style="border:1px solid #AAAAAA; border-top:0px solid #FFFFFF; background-color:#FFFFFF; margin-bottom:1em; padding:0.5em 0.8em 0.5em 0.8em;"> <div style="style=position:absolute; overflow:hidden; margin-bottom:0.5em;">[[Εικόναν:Edit wp pnt banner long.png]]</div> Αν θελτς να γραφτς σ'έναν άρθρον και να εφτάς ατο κι άλλο τρανόν, ποίσον έναν κλικ σο '''άλλαξον'''! </div> Αν εξέρτς κι άλλα πράματα για το άρθρον και τα πράματα 'κ είν' ατουπές, ποίσον έναν κλικ σο "άλλαξον" και γράψον ατα σο άρθρον απές. Με το "άλλαξον" επορείς να γραφτς καινούρεα πράματα σο άρθρον απές ή (αν ευρίκς γραφόμενα ντο 'κ είναι σωστά κι αν έεις σον νους τα σωστά) να εφτάς ατο κι άλλο καλόν. Ξάι μη γραφτς παλαλά πράματα και πράματα ντο 'κ είναι σωστά. Ασ' άλλ τη μερέαν πα 'κ πρεπ να φογάσαι. Να θαρρεύκεσαι, ποίσον τ'αλλαγάς-ις. Αν εφτάς λάθος 'κ εν πρόβλημαν να ίνεται κλώσιμον τη αρθρί. Αδακά σην Βικιπαίδειαν τα λάθη 'κ εν ανανάμενα. Τα άρθρα ντ'εχατεύταν επορούν να κλώσκουνταν οπίς. Αν εφτάς λάθος, άλλος χρήστες ή νοματέας θα έρτεν και θα φτάει έναν κλώσιμον το άρθρον και το λάθος θα χάται. Η Βικιπαίδειαν παίρ' ζωήν ασοι χρήστες ατς, π' σχηματίζνε την κοινότηταν τη ποντιακού τη Βικιπαίδειας. Για τ'ατό η κοινότητα τη Βικιπαίδειας εμουν πολλά θα χαρεντερίεται με την δουλεία'ς. Χάιτε, ντο στεκς; '''Πάντα να είσαι καταθαρρεμένον'''. Πριν τ'αποθήκεμαν τ'αλλαγίων ντ'εποίκες σο άρθρον, ποίσον έναν κλικ σο "πρώτον τέρεμαν". Αέτς επορείς ν'ελέπς ντο αλλαγάς εποίκες και αν είναι καλά. Αν θελτς, δέβα σο [[Βικιπαίδεια:Αργαστέρ|αργαστέρ]]. Ατουπές επορείς ν'εφτάς άμον ντο θελτς για να μαθάντς. <h2 style="border:1px solid #AAAAAA; background-color:#F0F0F0; padding:0.2em 0; margin:0; font-size: 110%; font-weight:bold; text-indent:0.5em;">Θελτς να καλατςεύτς;</h2> <div class="plainlinks" style="border:1px solid #AAAAAA; border-top:0px solid #FFFFFF; background-color:#FFFFFF; margin-bottom:1em; padding:0.5em 0.8em 0.5em 0.8em;"> <div style="style=position:absolute; overflow:hidden; margin-bottom:0.5em;">[[Εικόναν:Discussion wp pnt banner long.png]]</div> Αν θελτς να καλατςεύτς με τ'άλλτς τη χρήστες, ποίσον έναν κλικ σο '''καλάτσεμαν'''! </div> Αν εθαρρείς πως το άρθρον 'κ εν καλόν άμαν 'κ θελτς εφτάς ατό καλλίων, επορείς να γραφτς τα νουνίζματα'ς σο "καλάτσεμαν". Ατουπές επορείς να δεαβάζεις ντο λέγουν άλλοι χρήστες για το άρθρον. Έναν άρθρον αν εν ασπαλιγμένον και θελτς ν'εφτάς αλλαγάς άμαν 'κ επορείς, γράψον ατο σο "καλάτσεμαν". Όταν θα δεαβάζν'ατο χρήστες με τα δικαιώματα για τ'αλλαγάς, θ' αλλάζνε το άρθρον... ή 'κ θ' αλλάζν'ατο. [[Κατηγορίαν:Βικιπαίδεια|Ντο ν'εφτάν οι καινούρ' οι χρήστες]] [[ar:ويكيبيديا:ترحيب بالقادمين الجدد]] [[bar:Wikipedia:Griaßde]] [[bs:Wikipedia:Dobrodošli]] [[ca:Viquipèdia:Pàgina d'acollida]] [[ceb:Wikipedya:Maayong pag-abot, higala!]] [[da:Wikipedia:Velkommen nybegynder]] [[de:Wikipedia:Willkommen]] [[en:Wikipedia:Introduction]] [[eo:Vikipedio:Bonvenon al la Vikipedio]] [[es:Wikipedia:Bienvenidos]] [[fr:Wikipédia:Accueil des nouveaux arrivants]] [[hi:विकिपीडिया:स्वागत, नये आनेवालों]] [[ia:Wikipedia:Benvenite]] [[it:Aiuto:Benvenuto]] [[ja:Wikipedia:新規参加者の方、ようこそ]] [[lb:Wikipedia:Wëllkomm]] [[ms:Wikipedia:Selamat Datang]] [[nds:Wikipedia:Infos för Niege]] [[nl:Wikipedia:Welkom voor nieuwelingen]] [[pl:Wikipedia:Powitanie nowicjuszy]] [[ro:Wikipedia:Bun venit]] [[sk:Wikipédia:Úvod|úvod]] [[sl:Wikipedija:Dobrodošli, novinci]] [[sr:Википедија:Добродошли]] [[sv:Wikipedia:Välkommen]] [[tr:Vikipedi:Hoş geldiniz]] [[zh:Wikipedia:欢迎,新来者]] 2yniagnfz7w64nbymbep57qrjpnrs53 Επίθετον 0 622 34090 31427 2019-02-08T00:57:21Z 74.248.229.34 /* Τέρεν */ 34090 wikitext text/x-wiki '''Επίθετον''' εν τα λέξεις ντο φανερώνε ντο λογίς εν το [[ουσιαστικόν]], δηλαδή ντο ποιότηταν ή ιδιότηταν εσ το ουσιαστικόν. Λ.χ. τρανός κλεφτ, τρανέσα πολ, τρανόν κεπήν. == Καταληξία για τα επίθετα == Τα επίθετα κλίνουνταν αμόν τα ουσιαστικά μερ έχνε την ίδιαν καταληξία. Επίθετα εν τρανός, καλός, ακριβέσα, αλυκέσα, αχουλούς, παλαλός, λυγερέσα, λεγνέσα, οκνέσα, τσακωμένον κ.α. ειμαι παλαλος == Τέρεν == * [[Επίρρημαν]] * [[Ουσιαστικόν]] * [[Σύνδεσμον]] [[Κατηγορίαν:Γραμματικήν|Επιθετον]] am4ly0aua82iybemjg11zfal7wqt00g Πρότυπον:- 10 672 4587 2009-03-23T12:51:51Z Tlustulimu 165 Καινούρεον σελίδαν με '<br style="clear:both;" />' 4587 wikitext text/x-wiki <br style="clear:both;" /> nkbdfhm7mqlirgjhp2tk0ixh8v1z416 Πρότυπον:Πρότυπον 10 682 31741 31610 2013-08-01T15:39:10Z Addbot 3509 [[User:addbot|Bot]]: Migrating interwiki links, now provided by [[d:|Wikidata]] on [[d:q3926051]] 31741 wikitext text/x-wiki <includeonly>[[Πρότυπον:{{{1}}}|<nowiki>{{</nowiki>{{{1}}}{{#if:{{{2|}}}|{{!}}''{{{2}}}''|}}{{#if:{{{3|}}}|{{!}}''{{{3}}}''|}}{{#if:{{{4|}}}|{{!}}''{{{4}}}''|}}<nowiki>}}</nowiki>]]</includeonly><noinclude>{{Doc}} <!-- {{DEFAULTSORT:Predloha}} [[Kategorija:Předłoha:Formatowanska pomoc]] [[Kategorija:Předłoha:Wotkazowanska pomoc]] --> [[Κατηγορίαν:Πρότυπα βοήθειας]] </noinclude> h9zypt6lr8c8iwb6w9d2ks2ekc5bxyf Πρότυπον:Tl 10 683 37366 4604 2025-12-20T11:50:55Z Εὐθυμένης 2777 Αφαιρέθηκε ανακατεύθυνση προς το [[Πρότυπον:Πρότυπον]] 37366 wikitext text/x-wiki &#123;&#123;[[Πρότυπον:{{{1}}}|{{{1}}}]]&#125;&#125;<noinclude> {{Τεκμηρίωση προτύπου }} <!-- Οι κατηγορίες προστίθενται στην υποσελίδα τεκμηρίωσης και οι διαγλωσσικοί σύνδεσμοι προστίθενται στα Wikidata. --> <templatedata> { "params": { "1": { "label": "Πρότυπον", "description": "όνομα του προτύπου (χωρίς το πρόθεμα)", "example": "Παράδειγμα", "type": "wiki-template-name", "required": true } }, "description": " δημιουργεί έναν σύνδεσμο προς τη σελίδα κάποιου προτύπου με τη μορφή {{τίτλος}}", "format": "inline" } </templatedata> </noinclude> ek1s69zr51qemzhks3bx4e2lua16ys7 Μαυροβούνιον 0 686 35941 35190 2024-10-26T05:26:52Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35941 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Μαυροβούνιον'''</big></big><br/>''Crna Gora'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Montenegro.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Montenegro.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Europe-Montenegro.svg|300px]] |} Το '''Μαυροβούνιον''' (σερβικά: ''Црна Гора, Crna Gora'') εν κράτος ντο ευρίεται σο Βαλκανικόν τη χερσόνησον, σα νοτιοανατολικά τη Ευρώπης. Πρωτεύουσαν ατ'ς εν η Ποντγκόριτσα. Η χώρα εχ' πληθυσμόν σα 678,177 (2008) τ' ανθρώπ'ς. == Γεωγραφίαν == Η χώρα ευρίεται απεσκές ση [[Σερβία]], ση [[Βοσνία και Ερζεγοβίνη]], τ' [[Αλβανία|Αλβανίας]] και ση [[Κροατία]]. Βρέχκεται σ' δυτικόν ασό Αδριατικόν τη Θάλασσαν. Έχ' τρανά πολιτείας το [[Πλαν]] και το [[Μπαρ]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Κατηγορίαν:Montenegro|Το Μαυροβούνιον σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Μαυροβούνιο|Το Μαυροβούνιον σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Montenegro|Χάρτες ασο Μαυροβούνιον]]''' {{Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Μαυροβούνιον]] [[Κατηγορίαν:Ευρώπη|Μαυροβούνιον]] [[Κατηγορίαν:Μαυροβούνιον| ]] eyywo5gpwmssevll3zgsm1abe75cglb Λύρα 0 687 35567 34469 2024-01-24T15:03:34Z Διογένες 10538 ''' 35567 wikitext text/x-wiki Η '''λύρα''' (σα Ποντιακά λέεται κεμεντζές) εν έγχορδον όργανον. [[Κατηγορίαν:Μουσική|!]] awf041a9hnajv9mm2y4pnysj1k5kzol Πρότυπον:Χρήστες it-1 10 689 31737 31171 2013-08-01T15:39:09Z Addbot 3509 [[User:addbot|Bot]]: Migrating interwiki links, now provided by [[d:|Wikidata]] on [[d:q5567988]] 31737 wikitext text/x-wiki {{Babel field 1 |letter code size=1.5em |letter code=it |lien langue= |text size=0.83em |text= {{#switch: {{{mw|}}} | 1 = Posso | w = Questa utente può | Questo utente può }} contribuire con un '''[[:Category:User it|italiano]]''' di livello '''[[:Category:User it-1|semplice]]'''. }}<noinclude> [[Κατηγορίαν:User it-1| ]] </noinclude> nwserua0yby2h3r35146btvubup4mex Τόπσαμ 0 694 36582 4787 2025-12-15T19:09:22Z Εὐθυμένης 2777 36582 wikitext text/x-wiki Το '''Τόπσαμ''' έτονε το όνομαν τη δημοκρατίας ντο εποίκεν ο Κοτζαναστας, απα σα ρασία. Έτονε 10.000 απαναφκα [[Έλλενες]] τη [[Πόντος|Ποντί]], και επηναν αντάρτικόν. Οι Τουσμαν κι επόρνανε να νικουν ατούς. Όντες εγέντον η ανταλλαγή, ο κόσμον εδαίβεν σην ελέυθερην [[Ελλάδα]]. Ο Κοτζαναστάς εσκοτώθεν σε ενέδραν ντο εποίκαν οι Τουσμαν. Είσεν γαρην και έναν κορτσόπον. Η γαρήνατ' ερθεν σην Ελλάδαν, το κορτσόπον αρπαξενατο ο Αμερικάνικόν Ερυθρόν Σταυρόν και εδώκενατο για υιοθεσίαν σην Αμερικήν. {{authority control}} [[Κατηγορίαν:Ελλενικόν ιστορίαν|Τοπσαμ]] [[Κατηγορίαν:Πόντος|Τοπσαμ]] n1x2ownci0esd28zsgft6gyry75bi97 Κρυφοχριστιανοί 0 695 34478 34450 2020-04-08T05:46:50Z Tulsi 5081 Cross-wiki abuse 31174 wikitext text/x-wiki Όντες επαίραν την Μικραν Ασίαν οι Τουσμάν επαίραν και επήναν τον κόσμο Μωαμεθανούς με το ζόρι. Πολλοί Χριστιανοί κι θελαν να ανασπάλνε τον Χριστόν, αλλ' επογαλεύκουσαν να κλόσκουνται άλλον μια σον Χριστιανισμόν, μη παίρνε οι Τουσμάν και σκοτούνατους. Για τ' ατό εδίκνειζαν σοι Τουσμάντς ντο είναι σο Ισλαμ, αλλ' σα κρυφά ηταν Χριστιανοί και εκρατναν τα εικόνας σο σπιτνετουν, και είχαν Ελλενικά Χριστιανικά ονόματα, σα κρυφά. Ετερνανε να παντρέφκουνταν αλλόν κρυφοχριστιανόν. Πολλοί όντες επαίρανεν ο καιρόν τη Σουλτανί ντο επήνεν τον νόμον, να γίνουνταν Τουσμάν, ξαν κλόσκουνταν σον Χρηστόν. Αλλ' πα κι επόρναν να κλόσκουνταν. Οσήμερον σην Τουρκίαν εν άγνωστόν ο αριθμόν των Κρυφοχριστιανών, αλλ' εν κόσμον ντο εδαίβεν εκειπαν και καλάτσεψεν με κόσμον σα Ρωμαίϊκα, ντο λέγνε, είναι Χριστιανοί σα κρυφά. [[Κατηγορίαν:Θρησκείαν]] 5a1hhkkjt5a7eyjfnz4rx3u9oq0ijgu Wp/pnt/Βικιπαίδεια/Αγορά 0 699 5998 5997 2009-05-29T13:58:54Z Tlustulimu 165 Undo revision 5997 by [[Special:Contributions/Tlustulimu|Tlustulimu]] ([[User talk:Tlustulimu|Talk]]) 5998 wikitext text/x-wiki #REDIRECT [[Βικιπαίδεια:Αγορά]] Συγχαρητήρια!!!!! Γραπτά ποντιακά με ένταξη όλου του νέου τεχνολογικού λεξιλογίου!!!! rjo9wms3iovki71ldnn7c3rmh03cozs Παλαιόν Ιστορίαν 0 703 34466 34463 2020-04-08T05:46:43Z Tulsi 5081 Cross-wiki abuse 31431 wikitext text/x-wiki Το '''παλαιόν η ιστορίαν''' εν η μελέτε τη τσιπ σημαντικών πολιτιστικών και πολιτικών συμβαντίων ασα αρχάς τη ιστορίας τη άνθρωπονος ους τα πρώιμα τα μεσαιωνικά τα χρόνε. [[Κατηγορίαν:Παλαιόν Ιστορίαν|*]] 9zewpljvoug6abcv9oa94s5auohzttx Γιόχαν Βόλφγκανγκ φον Γκαίτε 0 704 37411 35667 2025-12-30T22:15:29Z Таёжный лес 10003 /* Συνδέσμε */ 37411 wikitext text/x-wiki [[Αρχείον:Goethe (Stieler 1828).jpg|μικρογραφία|250px|''Γιόχαν Βόλφγκανγκ φον Γκαίτε'', εζωγράφσεν ο Γιόζεφ Καρλ Ϛτίλερ (1828)[[Αρχείον:Signature of Johann Wolfgang von Goethe.svg|250px]]]] Ο '''Γιόχαν Βόλφγκανγκ φον Γκαίτε''' ([[γερμανικόν γλώσσα|γερμ.]] ''Johann Wolfgang von Goethe''), εποίκαν ατον αριστοκράτε σα 1782 τη χρονίας (* [[28 Αλωναρί]] [[1749]] σην [[Φραγκφούρτη|Φραγκφούρτην]], † [[22 Μαρτί]] [[1832]] σην [[Βαϊμάρη|Βαϊμάρην]], λέγνε και ''Γκαίτε'' μαναχόν), έτονε [[ποιητικήν|ποιητής]] ασην [[Γερμανία|Γερμανίαν]]. Εράεψεν κι έγραψεν και για τα [[φυσικόν επιστήμη|φυσικάς επιστήμας]]. Ασα 1776 τη χρονίας κι επεκεί έτονε και πολιτικός τη βαϊμαρικού τη προεστού. Σα φιλολογικά τα γράμματα τη Γκö́τονος απές ευρίουνταν [[ποίημαν|ποιήματα]], [[δράμαν|δράματα]], [[επικόν ποίηση|μεσελέδες]] (σον πεζόν λόγον και με στροφάς), [[αυτοβιογραφία|αυτοβιογραφικά]] κι επιστημονικά γράμματα. Άμαν και η αλληλογραφίαν ατ' εςς πολλά τρανόν φιλολογικόν σημασίαν. Ο Γκαίτε εμπρολάλεσεν το προρομαντικόν το κίνημαν τη ''Sturm und Drang''. Σα 1774 τη χρονίας η μεσελέν ατ' ''Die Leiden des jungen Werther'' (''Τα τέρτε τη άγουρονος Βέρτερ'') εποίκεν ατόναν γνωστόν σ'όλεν την [[Ευρώπην]]. Απυστεραίας εννεάσκουτον για τα ιδανικά τη [[αρχαιότητα|αρχαιότητας]] κι ασα 1790 τη χρονίας κι επεκεί με το [[Φρίντριχ Ϛίλερ]] εντάμαν (συνεργάσκουσαν) εγένταν μειζοτέρ συγγραφιάντ' τη ''κλασικισµού τη Βαϊµάρης'' (''Weimarer Klassik''). Ασην θανήν ατ' κι αδά μερέαν ο Γκαίτε 'κ νεσπάλθεν κι οσήμερον λέγουν για τ'ατόν οι αθρώπ' τη Γερμανίας το εν όλων ο καλλίων ο ποιητής ατουν. Το έργον ατ' εποίκεν τον κόσμον όλον να σεβάσκετ'ατον. == Ζωή == === Τα μικράτα === Ο Γκαίτε εγεννέθεν σ'οσημερνόν το ''Goethe-Haus'' ('' τη Γκö́τονος τ’ οσπίτ''), ντ'ευρίεται στην Φραγκφούρτην. Το κύρην ατ' έλεαν ατον Γιόχαν Κασπαρ Γκαίτε (1710–1782). Έτον νομικός, άμαν αφότε είςεν πλούσιον βιόν 'κ εδούλευεν. Αούτον τον βιόν εφέκεν σον γιον ατ' κι αέτς πα όταν ετράνηνεν ο Γκαίτε 'κ είςεν τέρτε με τα παράδας και 'κ έπρεπε να νεγκάζ' το κιφάλν'ατ για τ'ατά.<ref>Klaus Seehafer: ''Mein Leben, ein einzig Abenteuer - Johann Wolfgang Goethe, Biografie'', σελ. 12.</ref> Εννεάσκουτον για πολλά πράματα κι έτον πολλά αχουλής και δεαβασμένος, άμαν και πολλά σοβαρός κι εριστέας. Με τ'ατά επατάλευεν τοι περιςάντς τη μάναν και τον κύρην ατ' και λογοφέρκουσαν. Η μάναν ατ' έτονε φυντάν ασ'αρχοντικόν ρίζαν κι έλεγαν ατεναν Κατερίνα Ελίσαμπετ Γκαίτε (1731–1808, εγεννέθεν με τ'όνομαν Τέξτορ). Γελαστέσα και χαρεμέντσα πουτςή, έντρισεν σα 17 τα χρόν' ατ'ς τον Γιόχαν Κάσπαρ π'έτον σα 38. Α σου εγεννέθεν ο Γιόχαν Βόλφγκανγκ, εγεννέθαν κι άλλα τέσσερα παιδία, άμαν αποθάναν τα τρία σα μικράτα'τουν. Επέμναν ο Γιόχαν Βόλφγκανγκ με την αδερφέσαν ατ', την Κορνέλια, π'αγαπίουσαν κι εμπιστεύκουσαν. Τα παιδία εμάθισαν ατα πολλά γράμματα κι αέτς επαίραν τρανόν εκπαίδευσην. Ασα 1756 ους τα 1758 τη χρονίας ο Γιόχαν Βόλφγκανγκ επήγεν σε δημόσιον σχολείον. Απυστεραίας είςεν με την αδερφέσαν ατ' εντάμαν τ'ατεινέτερων δέσκαλον σ'οσπίτ'νατουν. Έμαθαν γαλλικά, αγγλικά, ιταλικά, λατινικά, [[ελλενικόν γλώσσα|ελλενικά]], φυσικά επιστήμας, θρησκείαν και ζωγράφεμαν. Ο Γκαίτε έμαθεν να παίζ' τςέλον, πιάνον, να καβαλκεύ' τ'άλογον, ν'αγωνίσκεται με τα σπαθία και να χορεύ'. Μικρίκον έτον όταν ερχίνεσεν κι εννεάσκουτον για τη φιλολογίαν. Για τα μεσελέδες ντ'έλεεν η μάναν ατ' και για το δεάβασμαν τ' [[Αεσμένον Γραφή|Αεσμένου τη Γραφής]] ντ'εποίνανε σο λουθηρανικόν-προτεσταντικόν την οικογένειαν ατ'. Σα Χριστούγεννα τη 1753 τη χρονίας η καλομάναν ατ' εδώκεν ατον έναν κουκλοθέατρον. Γι'αούτο το θέατρον ο Γκαίτε έγραψεν τα πρώτα έργ'ατ κι εδέκνιζεν ατα σοι φίλτς ατ'. Πολλά εδεάβαζαν σ'οσπίτ τη Γκö́τάντων. Ο κύρης είςεν τ'ατουνού βιβλιοθήκην κι ατουπές είςεν σα 2.000 βιβλία. Αέτς πα ο Γκαίτε έμαθεν σα μικράτατ' για τον Φάουστ (''Historia von D. Johann Fausten''). === Σπουδάζ κι εσκαλών' το γράψιμον === Σα 1765, έσαν τη µοθοπώρ τα µήνας, εχπάστεν ση Λειψίαν κι ακεκά ερχίνεσεν κι εδέβασεν νομικήν. Η Λειψίαν ασην Φραγκφούρτην έτονε αλλέτερον πολιτείαν. Κιάλλο ανοιχτόν, κιάλλο κοσμοπολίτικον. Ο Γκαίτε αέτς άμον ντο έτον τηδέν ‘κ εταίριαζεν σην Λειψίαν και για τ’ατό έλλαξεν τα συνήθειασ’ατ κι εφόρησεν καινούρεα λώματα. Το δεάβασμαν τη νομικής ‘κ ερέχτεν ατό. Αέτς πα ερχίνεσεν κι επαίνεν σα μαθήματα τη ποιητικής. Δέσκαλον ατ έτον ο Κρίστιαν Φüρχτεγκοτ Γκέλερτ κι ατός πα πολλά ‘κ ερέχτεν τα πρώτα ποιητικά δουλείας τη Γκαίτε. Ντ’ εγνώρτσεν το ζωγράφον Άνταμ Φρίντριχ Όεζερ είςεν τρανόν σημασίαν. Ο Όεζερ συνέχισεν κι εμάθισεν’ατον ζωγράφεμαν άμαν και τα νουνίζματα τη Γιόχαν Γιοάχιμ Βίνκελμαν σα ιδανικά τη αρχαιότητας απάν. Έτονε μικρός σα χρόνε και μακρά ασον κύρην και τη μάναν’ατ είςεν και τα ελευθερίας’ατ. Σο θέατρον πολλά επαίνεν ή έπηνεν μπύρας με τη φίλτς ατ εντάμαν. Ακεκά ση Λειψίαν εγνώρτσεν και την εγάπην κι ατό παλ επηρέασεν το γράψιμον’ατ. Σην αρχήν οριαστά έγραφεν έμορφα ποιήματα σην τεχνοτροπίαν τη [[ροκοκό]]. Άμαν ατώρα έκλωσεν το γράψιμον κι εποίκεν ατο κιάλλο ανοιχτόν και με σεβτά. Αέτς εσερέφταν 19 ποίματα. Επαίρεν ατα ο φίλον ατ ο Έρνστ Βόλφγκανγκ Μπέριςς έβαλεν απές και εικόνας κι εποίκεν ατα βιβλίον με τίτλον ''Annette''. Άλλο ποιητικόν δουλείαν εξέβεν σα 1769 και είςεν τ’όνομαν ''Neue Liede''r («καινούρεα τραγωδίας») κι έτον το πρώτον η δουλεία τη Γκαίτε π’ετύπωσαν ατο. Σα 1768 ερρώστησεν κι εκλώστεν οπίς σον κύρην και την μάναν ατ. === Φραγκφούρτη και Ϛτρασβούργον === Σα κρεβάτεα ερούξεν και να λαρούται ‘κ επόρνεν. Εδέβαν κι επέρασαν ημέρας και μήνας και ‘κ σκούτον. Ατότες ο Γκαίτε ερχίνεσεν να δεαβάζ’ πράματα ολόερα ασον μυστικισμόν και σην αλχημιστικήν. Ατά ντ’ εμάθανεν, αργότερα εχρησιμοποίησεν ατα σο βιβλίον ''[[Φάουστ]]''. Εξόν ασ’ατά είςεν τακάτ’ κι έγραψεν κι έναν κωμωδίαν, ''Die Mitschuldigen'' (Ατοίν π’φταίγνε). Σα 1770 τοι χρονίας, Απρίλτς έτον, εσυνέχισεν το σπούδαγμαν τη νομικής σο [[Ϛτρασβούργον]]. Ακεί πέραν σo Ϛτρασβούργον εγνώρτσεν το θεολόγον και φιλόλογον [[Γιόχαν Γκότφριντ Χέρντερ]]. Ο Χέρντερ ένοιξεν τ’ομμάτεα τη Γκαίτε για τοι παλαιούς συγγραφιάντ', λχ τον [[Όμηρος|Όμηρον]] και το [[Ϛαίξπηρ]]. Σο Ζέζεναϊμ, ασο Ϛτρασβούργον ‘κ έτον μακρά, εγνώρτσεν κι έναν πουτςή. Η Φριντερίκε Μπριόν έτονε τη ποπά η κόρ’. Όντες έφυεν ασο Ϛτρασβούργον ο Γκαίτε, εφέκεν και την Φριντερίκε. Τα ποιήματα ντ’έγραψεν ατα για τ’ατέν, επαίραν τον τίτλον ''Sesenheimer Lieder (Τραγωδίας ασο Ζέζεναϊμ).'' Έσανε πολλά εκφραστικά, ''«το επαναστατικόν αρνάςεμαν είνος καινούρεου λυρικού εποχής»''.<ref>Dieter Borchmeyer: ''Schnellkurs Goethe'', σελ. 31.</ref> Ετελέθαν τα σπουδάς ατ’ σο θέρος σα 1771 τη χρονίας κι έγραψεν έναν διατριβήν ''De legislatoribus''. Ατουπές έγραψεν πράματα π’ έσανε τεά «αιρετικά» <ref>Dieter Borchmeyer: ''Schnellkurs Goethe'', σελ. 28.</ref> και για τ’ατό ‘κ δέχτηκαν ατο κι εχάθεν. Άμαν ασο πανεπιστήμιον είπανατονα παίρ’ άδειαν να μαθίζ’. Εκατάφερεν κι επαίρενατεν ''cum applausu'' σα 1771, 6 Αλωναρί. Βάση τη εργασίας έσανε 56 θέσεις σο λατινικόν τη γλώσσαν με τ’όνομαν ''Positiones Juris''. === Πόρα και τάλεμαν === Εκλώστεν οπίς σην Φραγκφούρτην κι ένοιξεν μικρόν νομικόν γραφείον. Εδούλεψενατο τέσσερα χρόνεα κι επεκεί έκλεισενατο κι επήεν στην [[Βαϊµάρη|Βαϊµάρην]]. Ο Γκαίτε αση νομικήν κι άλλο πολλά εθέλνεν τη ποιητικήν. Σο τέλος τοι 1771 έγραψεν σ’έξι βδομάδας απές το δράμαν ''"Geschichte Gottfriedens von Berlichingen mit der eisernen Hand"''. Ασού εδούλεψενατο κι εποίκενατο καλλίον, το δράμαν εξέβεν σα 1773 με τ’όνομαν ''Götz von Berlichingen''. Το έργον ‘κ ετέρνεν τα παραδοσιακά δραματικά κανόνας και πολλοί εγάπεσανατο κι οσήμερον λέγουνε για τ'ατό το δράμαν ντ'εξεκίνησεν το ''Sturm und Drang'' (Πόρα και τάλεμαν).<ref>Dieter Borchmeyer: ''Schnellkurs Goethe'', σελ. 35.</ref> Σον Καλομηνά τοι 1772 – σα δυο γραψίματα τη ''Götz'' απεσκές – ο κύρης τη Γκöτονος έδωκενατον δαρμενεία κι αέτς επήεν κι εξεκίνησεν πρακτικήν σο δικαστήριον τη πολιτείας τη [[Βέτσλαρ]]. Ακεί πέρα είςεν συνεργάτεν το Γιόχαν Κρίστιαν Κέστνερ. Ατός επεριέγραψεν τον Γκαίτε άμον ντο έτον ατότες: ''«Πολλά αχουλής εν και εςς τρανόν τακάτ σο νούνισμαν. Χολάσκεται αναχάπαρτα. Εςς πολλά καλόν τρόπον νουνισματί […] Εφτάει άμον ντο θέλ και ξάι ‘κ σαέβ’ τ’αλλτς […]»''.<ref>Σο: Klaus Seehafer: ''Mein Leben, ein einzig Abenteuer – Johann Wolfgang Goethe, Biografie'', σελ.&nbsp; 105.</ref> === Υπουργός ση Βαϊμάρην === [[Αρχείον:Weimar, Stadtplan von Franz Ludwig Güssefeld, 1784.jpg|μικρογραφία|Αέτς έτονε η Βαϊμάρην όνταν ο Γκαίτε εζήνεν ακαικά). Σ'αφκά το μέρος αριστερά ελέπουμε το κεπίν ατ'.]] Ο Γκαίτε επήεν ση Βαϊμάρην σον Αεργίτεν τοι 1775. Η πολιτείαν έτον η πρωτεύουσαν τη τρανού τη Δουκατή τη Σαξονίας-Βαϊμάρης-Αϊζεναχή κι εζήναν ατού απές 6.000 αθρώπ' (σο δουκάτον εζήνανε 100.000 απάν αφκά). Σ'εκείνα τα χρόνεα η μάναν τη Δούκα, η Άννα Αμαλία, εποίκεν την Βαϊμάρην κι έντον πολιτισμικόν κέντρον.<ref>Ασού απόθανεν ο άντρας ατ'ς, η Άννα Αμαλία, εκυβέρνησεν το Δουκάτον ατ'ς 17 χρόνεα με τρανόν σοφία κι έφερεν σην αυλήν ατ'ς αχουλήδες, και καλλιτέχνες.</ref> Αγλήγορα ο Δούκας Καρλ Άουγκουστ εμπιστεύκουτον τον Γκαίτε κι επρότεινεν ατόν να ίνεται υπουργόν τη ντεβλετή. Ο Γκαίτε ύλεψεν κι εντούντσεν ατό, άμαν σο τέλος εδέχτηκεν. Επεκεί για 10 χρόνεα τιδέν 'κ εδημοσίευσεν, εξόν ασ'ολίγα μεσελέδες αδά κι ακεί. Με τα υπουργικά τα δουλείας χρόνον για σοβαρόν ποιητικόν έργον 'κ επέμνεν. Έναν ασα ολίγα σοβαρά δουλείας έτον το πεζογραφικόν εκδοχή τη ''Ιφιγένεια εν Ταύροις''. Επεκεί εξεκίνεσεν να γραφτ' τον '''Εγκμοντ'', το ''Τορκουάτο Τάσσο'' και το ''Βίλχελμ Μάιστερ''. Σα 1780 ο Γκαίτε ερχίνεσεν να αραέυ' απαντήσεις σα επιστημονικά ερωτήσεις τη [[γεωλογία|γεωλογίας]] και τη [[ωρυκτολογία|ωρυκτολογίας]], τη [[βοτανική|βοτανικής]] και τη [[οστεολογία|οστεολογίας]]. Σ'αούτον τη δεκαετίαν εγνώρτσεν κι εγάπεσεν την Τςαρλότε φον Ϛτάιν κι ερόιζεν αποπίσ'ατ'ς. Εκείνεν έντρισεν άλλον και είςεν παιδία άμαν για τον Γκαίτε άμον ατέναν 'κ ευρίουτον σα μαχαλάδας κι αέτς έγραψεν για τ'ατέν ποιήματα σεβταλίδικα πολλά. Επέμναν ους οσήμερον 1700 γράμματα και σημειώματα απάν αφκά ντο δεκνίζεν μας πόσο σεβταλής έτον. Αούτο η ιστορίαν ετελέθεν όνταν ο Γκαίτε εσκώθεν κι έφυεν στην [[Ιταλία|Ιταλίαν]]. Τιδέν 'κ είπεν ατέν και για τ'ατό η Τςαρλότε εγούζεψεν κι άλλο να ελέπ' ατόν 'κ εθέλνεν. === Σην Ιταλίαν === [[Εικόναν:Johann Heinrich Wilhelm Tischbein - Goethe in der roemischen Campagna.jpg|μικρογραφία|«Ο Γκαίτε σην Καμπανίαν», εζωγράφσεν ο Γιόχαν Χάινριχ Βίλελμ Τίςμπαϊν, 1787]] Σα 1786, Σταυρίτες έτον, ο Γκαίτε επουγαλεύτεν την Τςαρλότε φον Ϛτάιν, τη δουλείαν ατ', το Δουκάτον και ούλ' ατά και για τ'ατό εχπάστεν για την [[Ιταλία|Ιταλίαν]]. Κανείς 'κ εξέρνεν μερ επήεν, εξόν ασό θεραπόν ατ' και το Δούκαν. Ασού εκλώστεν τη [[Βερόνα|Βερόναν]], τη [[Βιτσέντσα|Βιτςέντσαν]] και τη [[Βενετία|Βενετίαν]] έφτασεν τον Αεργίτεν ση [[Ρώμη|Ρώμην]]. Επέμνεν εκεί ους τον Απρίλτ' τη 1788. Επεκεί εκλώστεν τη Σιέναν, τη Φλωρεντίαν, τη Πάρμαν και το Μιλάνον κι εκλώστεν οπίς στ Βαϊμάρην. == Δουλείας ατ' (χωρισμέν') == [[Αρχείον:Goethe Ginkgo Biloba.jpg|μικρογραφία|Αούτο εν το γράψιμον τη Γκö́τονος. Ποίημαν εν κι εςς τ'όνομαν ''Ginkgo biloba'' (1815)]] [[Αρχείον:Coudr 05.jpg|μικρογραφία|Το ταφίν τη Γκö́τονος σην Βαϊμάρην]] ''' Δράματα ''' * ''Die Laune des Verliebten'', 1768 * ''Die Mitschuldigen'', 1769 * ''Gö́tz von Berlichingen'', 1773 * ''Ein Fastnachtsspiel vom Pater Brey,'' 1774 * ''Jahrmarktsfest zu Plundersweilern,'' 1774 * ''Gö́tter, Helden und Wieland'', 1774 * ''Clavigo'', 1774 * ''Egmont'',1775 * ''Erwin und Elmire'' (θέατρον με τραγωδίας), 1775 * ''Die Geschwister. Ein Schauspiel in einem Akt'', 1776 * ''Stella. Ein Schauspiel für Liebende'', 1776 * ''Der Triumph der Empfindsamkeit'' (Eine dramatische Grille), 1777 * ''Proserpina'', 1778/1779 * ''Iphigenie auf Tauris'' (δράμα), 1779 * ''Torquato Tasso'' (δράμα), εχπάστεν σα 1780 * ''Faust. Ein Fragment'', 1790 * ''Der Groß-Cophta'', 1792 * ''Der Bürgergeneral'', 1793 * ''Faust. Eine Tragö́die'' * ''Mahomet der Prophet'', το κείμενον έγραψεν ο [[Βολταίρος|Βολταίρον]] και σα γερμανικά πα έκλωσεν ατο ο Γκαίτε, 1802 * ''Die natürliche Tochter'', 1804 * ''Pandora'', 1807/08 * ''Faust II.'' (2ον κομμάτ' τη ''Faust''), 1833 ''' Μεσελέδες και νοβέλλες ''' * ''Die Leiden des jungen Werthers'', 1774, 2ον μορφή 1787 * ''Wilhelm Meisters theatralische Sendung'', ασα 1776 κιαν, ετυπώθεν σα 1911 * ''Unterhaltungen deutscher Ausgewanderten'', 1795 * ''Wilhelm Meisters Lehrjahre'' 1795/96 [http://gutenberg.spiegel.de/goethe/meisterl/meisterl.htm (κείμενον)] * ''Novelle'' ab 1797 * ''Wilhelm Meisters Wanderjahre'' (μεσελέ), 1807 [http://gutenberg.spiegel.de/goethe/meisterw/meisterw.htm (κείμενον)] * ''Die Wahlverwandtschaften,'' 1809 [http://gutenberg.spiegel.de/goethe/wahlverw/wahlv001.htm (κείμενον)] ''' Ποιήματα ''' * 1774: ''Prometheus'' * 1774/1775: ''Vor Gericht'' (ποίημαν) * 1777: ''An den Mond'' * 1782: ''Der Erlkö́nig'' (μπαλάντα) * 1797: ''Der Schatzgräber'' (μπαλάντα) * 1799: ''Die erste Walpurgisnacht'' (μπαλάντα) * 1815: ''Totentanz'' * 1828: ''Dem aufgehenden Vollmonde'' (ποιήματα, Dornburg 1828 τη χρονίας, 25 τ'Αλωναρί) ''' Αυτοβιογραφικά γράμματα ''' * ''Aus meinem Leben. Dichtung und Wahrheit'', (αυτοβιογραφικόν ποίησην), 1811–33 * ''Italienische Reise'', 1816/17 * ''Kampagne in Frankreich'', 1822 == Αναφοράντας == <references/> == Συνδέσμε == {{Βικιφθέγματα|el:Γιόχαν Βόλφγκανγκ Γκαίτε}} * [[Αρχείον:Commons-logo.svg|link=https://commons.wikimedia.org/wiki/Category:Johann_Wolfgang_von_Goethe?uselang=pnt|18x18px]] Σα [[c:Αρχική σελίδα|Κοινά]] εσ υλικόν σχετικόν με [https://commons.wikimedia.org/wiki/Category:Johann_Wolfgang_von_Goethe?uselang=pnt '''''Γιόχαν Βόλφγκανγκ φον Γκαίτε'''''] * '''[[Αρχείον:Wikisource-logo.svg|13px]] Σο [[:de:s:Hauptseite|γερμανικόν τη Βικιθήκην]] εςς [[:de:s:Johann Wolfgang von Goethe|γραψίματα τη Γκö́τονος]]''' {{authority control}} [[Κατηγορίαν:Ποιητάδες|Γκαίτε, Γιοχαν Βολφγκανγκ φον]] [[Κατηγορίαν:Συγγραφέοι|Γκαίτε, Γιοχαν Βολφγκανγκ φον]] [[Κατηγορίαν:Λογοτεχνίαν]] [[Κατηγορίαν:Θέατρον]] of2d7u0nmwbpc85nfh12lpwl8mllo9z 22 Μαρτί 0 705 37324 37049 2025-12-16T19:29:58Z Εὐθυμένης 2777 37324 wikitext text/x-wiki <div class="center">[[Καλαντάρτς]] | [[Κούντουρος]] | '''[[Μαρτς]]''' | [[Απρίλτς]] | [[Καλομηνάς]]</div> <div class="center">[[21 Μαρτί]] | [[22 Μαρτί]] | [[23 Μαρτί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|3}} Η '''22 τη Μαρτί''' εν τ' 81ον ημέρα τη χρονίας (82ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 284 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == * [[1832]]: [[Γιόχαν Βόλφγκανγκ φον Γκöτε‎]], ποιητής ασην Γερμανίαν. == Έξεργος == '''Τερέστεν πα:''' * [[22 Κούντουρονος]] - [[22 Απρίλ]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0322]] klb6m24r4rcisarkkfh008929p0u6fc Ρουσία 0 711 35953 35749 2024-10-26T05:27:40Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35953 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Ρουσία'''</big></big><br/>''Российская Федерация'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Russia.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of Arms of the Russian Federation.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Russian Federation (orthographic projection) - Crimea disputed.svg|300px]] |} Η '''Ρουσίαν''' (ρουσ. ''Российская Федерация'') είναι ένα κράτος που βόρεια τη Ευρασίας. Η Ρουσίαν εν τ'ασούλτς τρανόν κράτος σ'όλεν τον κόσμον. Πρωτεύουσαν ατ'ς εν η [[Μόσχα|Μόσχαν]]. Η χώρα εχ' πληθυσμόν 144,699,673 ανθρώπ'ς (2023). {{Πρότυπον:Κράτη τη Ευρώπης|Πρωτεύουσα=Μόσχαν}} [[Κατηγορίαν:Ρουσία| ]] k7z1s1m91ykrd23tyfhryme9ks9fork 28 Αλωναρί 0 713 37149 37044 2025-12-16T18:42:18Z Εὐθυμένης 2777 37149 wikitext text/x-wiki <div class="center">[[Κερασινός]] | [[Χορτοθέρτς]] | '''[[Αλωνάρτς]]''' | [[Σταυρίτες]] | [[Τρυγομηνάς]]</div> <div class="center">[[27 Αλωναρί]] | [[28 Αλωναρί]] | [[29 Αλωναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|8}} Η '''28 Αλωναρί''' εν τ' 240ον ημέρα τη χρονίας (241ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 125 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == *[[1749]]: [[Γιόχαν Βόλφγκανγκ φον Γκαίτε‎]], ποιητής ασην Γερμανίαν. == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' *[[28 Χορτοθερί]] - [[28 Σταυρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0240]] 581836dl2hlgg2mskz5jbbltymw8kfm 1 Απρίλτ 0 717 37117 37046 2025-12-16T18:19:57Z Εὐθυμένης 2777 37117 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[31 Μαρτί]] | [[1 Απρίλτ]] | [[2 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''1 τ' Απρίλτ''' εν τ' 91ον ημέρα τη χρονίας (92ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 274 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[1 Μαρτί]] - [[1 Καλομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0091]] tdki8qw5jkq47cxakldsuwddr5ti0kw 2 Απρίλτ 0 718 37118 37050 2025-12-16T18:22:54Z Εὐθυμένης 2777 37118 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[1 Απρίλτ]] | [[2 Απρίλτ]] | [[3 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''2 τ' Απρίλτ''' εν τ' 92ον ημέρα τη χρονίας (93ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 273 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[2 Μαρτί]] - [[2 Καλομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0092]] f4vg0ynehlxyidlggjmrj0qtvichbj3 3 Απρίλτ 0 719 37119 37057 2025-12-16T18:23:11Z Εὐθυμένης 2777 37119 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[2 Απρίλτ]] | [[3 Απρίλτ]] | [[4 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''3 τ' Απρίλτ''' εν τ' 93ον ημέρα τη χρονίας (94ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 258 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[3 Μαρτί]] - [[3 Καλομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0093]] sjzpwwxii99gutty1hv41dqjeb3d5eg Πρότυπον:Αργαστέρ 10 720 36986 7284 2025-12-16T15:51:12Z Εὐθυμένης 2777 36986 wikitext text/x-wiki <noinclude> Αούτο το πρότυπον εν ο τίτλον τ' [[Βικιπαίδεια:Αργαστέρ|αργαστερί]].</noinclude> {{ombox |image=[[Αρχείον:Sandbox.png|75px|link=]] |style=margin: auto; |text=Καλώς έρθατε σο '''αργαστέρ'''. Αδαπές επορείτε ν'εφτάτε και να γράφετε άμον ντο θέλετε, αέτς για να μαθάνετε την Βικιπαίδειαν! Το αργαστέρ ευκαιρώνουμ'ατο μ'έναν αυτόματον λειτουργίαν. Για ν'εφτάτε δουλείας σο αργαστέρ, '''[{{fullurl:Special:MyPage/πρόχειρο|action=edit&preload=Template:User_sandbox/preload}} ποίστεν κλικ αδακά]'''. Γιά σο '''άλλαξον''' σην σελίδαν κιαλ'απάν. Γραφέστεν ήντιαν θέλετε! Επεκεί ποίστεν κλικ σο '''αποθήκεμαν''' και τερέστεν ντο θα ίνεται!''}} <noinclude> <templatedata> { "params": {}, "description": "Αυτό είναι ένα «πρότυπο», δηλαδή μια σελίδα που ενσωματώνεται σε μια άλλη σελίδα (αυτή που επεξεργάζεστε τώρα). Το συγκεκριμένο εμφανίζει αυτό το πλαίσιο μηνύματος. Άλλα πρότυπα μπορεί να εκτελούν και λειτουργίες και να δέχονται παραμέτρους που αλλάζουν αυτό που εμφανίζεται.", "format": "block" } </templatedata> </noinclude> 1xh4j157t1d5w9tnu9pb9w8j3h5w6lh Βικιπαίδεια:Αργαστέρ 4 721 33990 33965 2018-10-27T16:43:15Z Wim b 3723 Ανάκληση των αλλαγών [[Special:Contributions/91.140.89.219|91.140.89.219]] ([[User talk:91.140.89.219|συζήτηση]]) επιστροφή στην προηγούμενη αναθεώρηση [[User:Ποντικάκι|Ποντικάκι]] 33194 wikitext text/x-wiki {{αργαστέρ}} <!-- ΠΑΡΑΚΑΛΟΥΜΕ ΣΑΣ: ΓΡΑΦΕΣΤΕΝ ΑΦΚΑ Σ'ΑΟΥΤΟΝ ΤΗ ΓΡΑΜΜΗΝ! --><br />'' bvxulebcz7ij0ni2ygoknywy8g22rxu 4 Απρίλτ 0 722 37120 37061 2025-12-16T18:23:26Z Εὐθυμένης 2777 37120 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[3 Απρίλτ]] | [[4 Απρίλτ]] | [[5 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''4 τ' Απρίλτ''' εν τ' 94ον ημέρα τη χρονίας (95ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 258 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[4 Μαρτί]] - [[4 Καλομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0094]] 7r2tkej715uac0bqac56jj63wo7hq3h Φίλων Κτενίδης 0 723 32844 32033 2016-03-19T15:17:44Z 91.9.104.102 [[wmf:Resolution:Licensing policy]] 32844 wikitext text/x-wiki Ο '''Φίλων Κτενίδης''' (1889- 13 Χορτοθέρτ 1963) έτονε [[Πόντος|πόντιος]] [[Ελλάδα|έλλενας]] συγγραφέας, δημοσιογράφος και γιατρός. Ατός εμπρολάλεσεν την ανιστόρησην τη μονής Σουμελά σο Βέρμιον. Ίδρυσεν το Σωματείον τη Παναγίας Σουμελά το 1951. == Συνδέσμαι == * ''[[oldwikisource:Η Καμπάνα του Πόντου|Η Καμπάνα του Πόντου]]'' - Έργον τη Φίλωνα Κτενίδη * [http://pontosworld.com/index.php?option=com_content&task=view&id=202&Itemid=90 ''Φίλων Κτενίδης''] - σο [[PontosWorld.com]] (σ'αγγλικά και σ'ελλενικά) [[Κατηγορίαν:Ποιητάδες|Κτενίδης, Φίλων]] [[Κατηγορίαν:Συγγραφέοι|Κτενίδης, Φίλων]] 9qzixrmshhw189ahlzgoml37ifpzrzc Κατηγορίαν:User fr 14 725 31567 31184 2013-04-13T07:50:34Z KLBot2 3570 Bot: Migrating 8 interwiki links, now provided by [[Wikidata]] on [[:d:Q6402996]] 31567 wikitext text/x-wiki {{Commonscat|User fr}} [[Κατηγορίαν:Βαβέλ]] 7ogpsq6nyjzu9dewxh23wqxl8qz27c7 Μόσχα 0 729 36794 35551 2025-12-16T09:16:15Z Εὐθυμένης 2777 36794 wikitext text/x-wiki [[Αρχείον:Kremlin 27.06.2008 01.jpg|μικρογραφία]] Η '''Μόσχα''' (ρουσ. Москва́) εν η πρωτεύουσαν, η μία ασοι δύο ομοσπονδιακούς πόλεις τη [[Ρουσία|Ρουσίας]] και διοικητικόν κέντρον τη Περιφέρειας Μόσχας (Моско́вская о́бласть). <gallery> Kremlin birds eye view-1.jpg| RedSquare (pixinn.net).jpg| Moscow Business Center 5073-84.jpg| Trinitylavra.jpg| </gallery> == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ru}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ρουσία]] l076vu4e45is45itksuwkr1bld2ztdu 5 Απρίλτ 0 733 37121 37051 2025-12-16T18:23:41Z Εὐθυμένης 2777 37121 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[4 Απρίλτ]] | [[5 Απρίλτ]] | [[6 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''5 τ' Απρίλτ''' εν τ' 95ον ημέρα τη χρονίας (96ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 270 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[5 Μαρτί]] - [[5 Καλομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0095]] 1uxxbb8k22kd5v8rmjxl4quefbkosmx 6 Απρίλτ 0 734 37122 37056 2025-12-16T18:23:57Z Εὐθυμένης 2777 37122 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[5 Απρίλτ]] | [[6 Απρίλτ]] | [[7 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''6 τ' Απρίλτ''' εν τ' 96ον ημέρα τη χρονίας (97ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 269 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == * 46π.Χ.- Ο Ιούλος Καίσαρας ενίκεσεν τον Καικίλιον Μέτελλο Σκιπίωνα και τον Μάρκο Πόρκιο Κάτωνα σην μάχην σο Θαψό. * 402- Ο Στίλλιχον ενίκεσεν τους Βισιγότθους αφκά σο Αλαρικόν ση μάχην ση Πολλέντια. * 1199- Ο βασιλέας Ριχάρδος Α' της Αγγλίας απέθανεν απ' έναν λοίμωξην που έπαθεν όταν εξέγκαν ασον μίνατ' έναν δόρυ. * 1320- Οι Σκωτσέζοι ξανεποίκαν συμφωνία να ίνταν ανεξαρτητοι με την Διακήρηξην του Αμπρόατου. * 1327- Ο ποιητής Πετράρχης ελεπ΄πρωτην φοραν το εσνατ'το ταιριαστόν, τη Λαύρα, σην εκκλησίαν τη Αγίας Κλαίρης σο Αβινιόν. * 1385- Ο Γιάνες, ο κυβερνήτης σην περιοχής του Αβίζ εντον ο βασιλεας της Πορτογαλίας. * 1652- Σο Ακρωτήρ Καλής Ελπίδας, ο Ολλανδον 8αλασσοπόρον Ίαν φαν Ρίμπεκ εποίκεν ξαν εναν σταθμόν για τα αναγκας των εμπόρων που εν ατωρα το Κέιπ Τάουν. * 1667- Ίνασ τρανος σεισμός καταστρέφ' την πόλ'Δουβρόβνικ. * 1782- Ο Ράμα ο Α' ενίκεσεν τον βασιλέα Ταξίν του Σιαμ (οσήμερον Ταυλάνδη) και εποίκεν στρατιωτικόν νόμο. == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[6 Μαρτί]] - [[6 Καλομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0096]] 2owl85oi4mpofaaxs060qxy4ec8qv1q 7 Απρίλτ 0 736 37123 37054 2025-12-16T18:24:12Z Εὐθυμένης 2777 37123 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[6 Απρίλτ]] | [[7 Απρίλτ]] | [[8 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''7 τ' Απρίλτ''' εν τ' 97ον ημέρα τη χρονίας (98ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 268 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[7 Μαρτί]] - [[7 Καλομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0097]] i729k8omnp2ceb16ndj9ir1ni3vbvl5 ΚΤΕΝΙΔΗΣ ΦΙΛΩΝ 0 737 4943 2009-04-07T08:05:32Z Sinopeus 168 [[ΚΤΕΝΙΔΗΣ ΦΙΛΩΝ]] ετερχλαεύτεν σο [[Φίλων Κτενίδης]] 4943 wikitext text/x-wiki #REDIRECT [[Φίλων Κτενίδης]] asvsgfak7eu8ub6mnesn8d16g16627f Βικιπαίδεια:Αγορά 4 740 36330 36326 2025-11-20T14:22:33Z MediaWiki message delivery 4020 /* Reminder: Help us decide the name of the new Abstract Wikipedia project */ νέα ενότητα 36330 wikitext text/x-wiki __NEWSECTIONLINK__ <ul> {| class="plainlinks" width="50%" align="center" border="0" cellpadding="2" cellspacing="2" style="margin-bottom:0.5em; background:#FFF; font-size:1.2em; text-align:center;" | [{{fullurl:Βικιπαίδεια:Αγορά|action=edit&section=new}} Αρχινέστε γράψιμον σην αγοράν<br>Add a new topic in this forum<br>Добавьте новую тему на форуме] |} {| align="right" style="background:#FFF5EE; margin:0 0 0.5em 1em;" id="toc" width="220px" |- |colspan="2" align="center" | [[Αρχείον:Diogenes looking for a man - attributed to JHW Tischbein.jpg|center|200px]] |- |colspan="2" align="center" | <big>'''Αγορά'''</big><br /> ---- |- |style="background:#EEDFCC;" colspan="2" align="center"| '''Χρήσιμα''' |- |colspan="2" align="center"| [[Βικιπαίδεια:Εκλογήν|Εκλογήν]]<br /> [[Αρχικόν σελίδα|Αρχικόν σελίδαν]]<br /> [[Βικιπαίδεια|Βικιπαίδεια]]<br /> [[Βικιπαίδεια/Ντο εν η Βικιπαίδεια|Ντο εν η Βικιπαίδεια]]<br />[[Βικιπαίδεια/Ντο 'κ εν η Βικιπαίδεια|Ντο 'κ εν η Βικιπαίδεια]] <br /> [[Βικιπαίδεια/Βοήθεια|Βοήθεια]] <br /> [[Βικιπαίδεια/Δικαιώματα πνευματί|Δικαιώματα πνευματί]]<br />[irc://irc.freenode.net/wikipedia-pnt Παρακάθ σο IRC] |} <div style="background:#EEDFCC; text-align:left; margin:0px; padding:3px;"> <span style="font-size:bigger;">'''<u>Χ</u>αιρετίας και καλωσόρεμαν σ' όλ<u>α</u> τα Βικιπαιδία!'''</span> </div> <div style="background:#FFF5EE; padding:2px; margin-top:2px;"> Οι παλιοί εμουν σ' αρχαίον τ' ελλενικόν την γλώσσαν έλεγαν «αγοράν» τον τόπον που εποίνανε τα μουχαμπέτε και τα καλατσίας ατουν. Αέτς πα, όλ' εμείς 'τουν θα καλατσέβουμε αδά σην αγοράν εμουν. Σον αρχαίον την αγοράν ο Διογένες ο Σινωπέας αραεύκουτον τ' ανθρώπ'ς (εικόνα). Εμείς 'τουν αδά πα θα ευρίσκουμ' ατείντζ. Αρχινέστε γράψιμον [{{fullurl:{{FULLPAGENAME}}|action=edit&section=new}} αφκά καικά] και βαλέστε την '''υπογραφήν εσουν''': <nowiki>~~~~</nowiki>. </div> </li> <li>'''pnt:''' Ψαλαφία για σημαίαν μποτ πρεπ' να ίνουνταν σ'αβούτεν τη σελίδαν. </li> <li>'''en:''' Requests for the [[m:bot|bot]] flag should be made on this page. This wiki uses the [[m:bot policy|standard bot policy]], and allows [[m:bot policy#Global_bots|global bots]] and [[m:bot policy#Automatic_approval|automatic approval of certain types of bots]]. Other bots should apply below.</li> <li>'''ru:''' Запросы на присвоение флагов [[m:bot|бота]] должны быть поданы на этой странице. В данном Вики-разделе действует [[m:bot policy|стандартная политика в отношении ботов]], допускающая функционирование здесь т. н. [[m:bot policy#Global_bots|глобальных ботов]] и их [[m:bot policy#Automatic_approval|автоматическое подтверждение]] в большинстве Вики-проектов. В прочих случаях владельцы ботов должны подать заявку ниже. </ul> <hr size="5px" noshadow> == Αρχεία == * [[Βικιπαίδεια:Αγορά/Αρχείον 2008|Αρχείον 2008]] * [[Βικιπαίδεια:Αγορά/Αρχείον 2009|Αρχείον 2009]] * [[Βικιπαίδεια:Αγορά/Αρχείον 2009-2017|Αρχείον 2009-2017]] ==Αρχειοθέτηση== Έγινε αρχειοθέτηση της Αγοράς. [[Χρήστες:George23820|George23820]] ([[Καλάτσεμαν χρήστε:George23820|συζήτηση]]) 22:59, 2 Καλανταρί 2018 (UTC) == Editing News #1—2018 == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> ''[[m:VisualEditor/Newsletter/2018/February|Read this in another language]] • [[m:VisualEditor/Newsletter|Subscription list for this multilingual newsletter]]'' <div style="float:right;width:270px;margin-left:1em;border-style:solid;border-width:1px;padding:1em;"> [[File:VisualEditor-logo.svg|200px|center]] '''Did you know?'''<div class="thumbcaption" style="font-size: 90%;"> Did you know that you can now use the [[mw:Special:MyLanguage/VisualEditor/Diffs|visual diff tool]] on any page? [[File:Wikitext diff paragraph move correcting vandalism 2018.png|alt=Screenshot showing some changes, in the two-column wikitext diff display|center|frameless|250px]] Sometimes, it is hard to see important changes in a wikitext diff. This screenshot of a wikitext diff (click to enlarge) shows that the paragraphs have been rearranged, but it does not highlight the removal of a word or the addition of a new sentence. If you [[Special:Preferences#mw-prefsection-betafeatures|enable the Beta Feature]] for "{{Int:visualeditor-preference-visualdiffpage-label}}", you will have a new option. It will give you a new box at the top of every diff page. This box will let you choose either diff system on any edit. [[File:VisualEditor visual diff tool - toggle button.png|alt=Toggle button showing visual and wikitext options; visual option is selected|center|frameless|200px]] Click the toggle button to switch between visual and wikitext diffs. In the visual diff, additions, removals, new links, and formatting changes will be highlighted. Other changes, such as changing the size of an image, are described in notes on the side. [[File:Visual diff paragraph move correcting vandalism 2018.png|alt=Screenshot showing the same changes to an article. Most changes are highlighted with text formatting.|center|frameless|250px]] This screenshot shows the same edit as the wikitext diff. The visual diff highlights the removal of one word and the addition of a new sentence. You can read and help translate [[mw:Special:MyLanguage/Help:VisualEditor/User guide|the user guide]], which has more information about how to use the visual editor. </div></div> Since [[m:VisualEditor/Newsletter/2017/May|the last newsletter]], the [[mw:Editing|Editing Team]] has spent most of their time supporting [[mw:2017 wikitext editor|the 2017 wikitext editor mode]], which is available inside the visual editor as a Beta Feature, and improving [[mw:VisualEditor/Diffs|the visual diff tool]]. Their work board is available [[phab:project/view/3236/|in Phabricator]]. You can find links to the work finished each week at [[mw:VisualEditor/Weekly triage meetings]]. Their [[mw:Editing team/Current priorities|current priorities]] are fixing bugs, supporting the 2017 wikitext editor, and improving the visual diff tool. ===Recent changes=== *The '''[[mw:2017 wikitext editor|2017 wikitext editor]]''' is [[Special:Preferences#mw-prefsection-betafeatures|available as a Beta Feature]] on desktop devices. It has the same toolbar as the visual editor and can use the citoid service and other modern tools. The team have been comparing the performance of different editing environments. They have studied how long it takes to open the page and start typing. The study uses data for more than one million edits during December and January. Some changes have been made to improve the speed of the 2017 wikitext editor and the visual editor. Recently, the 2017 wikitext editor opened fastest for most edits, and the 2010 WikiEditor was fastest for some edits. More information will be posted at [[mw:Contributors/Projects/Editing performance]]. *The '''[[mw:VisualEditor/Diffs|visual diff tool]]''' was developed for the visual editor. It is now available to all users of the visual editor and the 2017 wikitext editor. When you review your changes, you can toggle between wikitext and visual diffs. You can also [[Special:Preferences#mw-prefsection-betafeatures|enable the new Beta Feature]] for "Visual diffs". The Beta Feature lets you use the visual diff tool to view other people's edits on page histories and [[Special:RecentChanges]]. [https://phabricator.wikimedia.org/T167508] *[[mw:Special:MyLanguage/Extension:CodeMirror|'''Wikitext syntax highlighting''']] is available as a Beta Feature for both [[mw:2017 wikitext editor|the 2017 wikitext editor]] and the 2010 wikitext editor. [https://phabricator.wikimedia.org/T101246] *The [[mw:Citoid|citoid service]] automatically translates URLs, DOIs, ISBNs, and PubMed id numbers into wikitext citation templates. It is very popular and useful to editors, although it can be a bit tricky to set up. <mark>Your wiki can have this service. Please [[mw:Special:MyLanguage/Citoid/Enabling Citoid on your wiki|read the instructions]]. You can [[phab:T127354|ask the team to help you enable citoid at your wiki]]</mark>. ===Let's work together=== *The team will talk about editing tools at an upcoming [[m:Wikimedia Foundation metrics and activities meetings|Wikimedia Foundation metrics and activities meeting]]. *Wikibooks, Wikiversity, and other communities may have the visual editor made available by default to contributors. If your community wants this, then please contact [[mw:User talk:Deskana (WMF)|Dan Garry]]. *The <code><nowiki><references /></nowiki></code> block can [[mw:Special:MyLanguage/Contributors/Projects/Columns for references|automatically display long lists of references in columns]] on wide screens. This makes footnotes easier to read. You can [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Cite,VisualEditor,Wikimedia-Site-requests&title=Convert%20reference%20lists%20over%20to%20`responsive`%20on%20XXwiki&priority=10&parent=159895 '''request multi-column support'''] for your wiki. [https://phabricator.wikimedia.org/T33597] *If you aren't reading this in your preferred language, then please help us with translations! Subscribe to the [[mail:translators-l|Translators mailing list]] or [https://meta.wikimedia.org/w/index.php?title=User_talk:Elitre_(WMF)&action=edit&section=new contact us] directly. We will notify you when the next issue is ready for translation. {{Int:Feedback-thanks-title}} —[[mw:User:Elitre (WMF)|Elitre (WMF)]] </div> 20:56, 2 Μαρτ 2018 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Elitre (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=VisualEditor/Newsletter/Wikis_with_VE&oldid=17790200 --> == Merging [[:Κατηγορίαν:Πρότυπα]] and [[:Κατηγορίαν:Πρότυπα Βικιπαίδειας]] == Hi all! Proposed merging [[:Κατηγορίαν:Πρότυπα]] and [[:Κατηγορίαν:Πρότυπα Βικιπαίδειας]]. These categories is aimed to these same topic. --[[Χρήστες:Kaganer|Kaganer]] ([[Καλάτσεμαν χρήστε:Kaganer|συζήτηση]]) 16:08, 4 Μαρτ 2018 (UTC) == WikiGap 2018 Russia == * '''EN:''' Dear colleagues, please comment on ''[[m:CentralNotice/Request/WikiGap 2018 Russia |CentralNotice banner proposal]]'' for [[wmru:Конкурсы/WikiGap 2018 Russia/en|WikiGap 2018 Russia]] article contest. (8 March - 8 April, all IPs from Russia, WPs only, 1 banner impression per week). Thank you. * '''RU:''' Уважаемые коллеги, пожалуйста выскажите своё мнение по поводу ''[[m:CentralNotice/Request/WikiGap 2018 Russia|баннерной кампании CentralNotice]]'' для объявления о российском викимарафоне [[wmru:Конкурсы/WikiGap 2018 Russia|WikiGap 2018]] (8 марта - 8 апреля, все IP из России, только Википедии, 1 показ в неделю). Спасибо.--[[Χρήστες:Frhdkazan|Frhdkazan]] ([[Καλάτσεμαν χρήστε:Frhdkazan|συζήτηση]]) 15:02, 6 Μαρτ 2018 (UTC) == Public Domain 2018 Russia == * '''EN:''' Dear colleagues, please comment on ''[[m:CentralNotice/Request/Public Domain 2018 Russia |CentralNotice banner proposal]]'' for [[wmru:Открытая библиотека/Конкурсы/Общественное достояние — 2018/en|Public Domain 2018 Russia]] uploads & article contest. (18 March - 30 June, all IPs from Russia, Wp/Ws/Commons, 1 banner impression per two weeks). Thank you. * '''RU:''' Уважаемые коллеги, пожалуйста выскажите своё мнение по поводу ''[[m:CentralNotice/Request/Public Domain 2018 Russia|баннерной кампании CentralNotice]]'' для объявления о российском викимарафоне [[wmru:Открытая библиотека/Конкурсы/Общественное достояние — 2018|Общественное достояние 2018]] (18 марта - 30 июня, все IP из России, Википедии/Викитеки/Викисклад, 1 показ в две недели). Спасибо.--[[Χρήστες:Frhdkazan|Frhdkazan]] ([[Καλάτσεμαν χρήστε:Frhdkazan|συζήτηση]]) 18:37, 8 Μαρτ 2018 (UTC) == Galicia 15 - 15 Challenge == <center>[[File:Mapa de Galiza con bandeira.svg|100px]]</center> '''[[:w:en:Wikipedia:Galicia 15 - 15 Challenge|Wikipedia:Galicia 15 - 15 Challenge]]''' is a public writing competition which will improve improve and translate this list of 15 really important articles into as many languages as possible. Everybody can help in any language to collaborate on writing and/or translating articles related to Galicia. To participate you just need to sign up [[:en:Wikipedia:Galicia 15 - 15 Challenge/Participants|here]]. Thank you very much.--[[Χρήστες:Breogan2008|Breogan2008]] ([[Καλάτσεμαν χρήστε:Breogan2008|συζήτηση]]) 14:29, 12 Μαρτ 2018 (UTC) == 2018 FIFA World Cup Cities Regions == RU: Уважаемые коллеги!</br> [[m:Wikimedia_Russia/ru|Викимедиа Россия]] ([[:wmru:|ВМРУ]]) выступает со-организатором открытого мультиплатформенного конкурса «[[wmru:Конкурсы/Узнай Россию. Города и регионы ЧМ по футболу 2018|Узнай Россию. Города и регионы ЧМ по футболу 2018]]» (14 марта-15 июля). Для уведомления о возможности участия пользующихся Википедией, Викигидом и Викискладом жителей и гостей России инициирована ''[[m:CentralNotice/Request/2018 FIFA World Cup Cities Regions|баннерная кампания CentralNotice]]''.</br> * '''Проект баннера''' (RU) <div class="plainlinks" style="border: 1px solid #ddd; margin: 0 0 3px;"> <div class="nomobile" style="float:left"></div> <div class="nomobile" style="float:right">[[File:Wikipedia-logo-v2.svg|180x25px|link=]]</br>[[File:Wikivoyage-logo.svg|75x30px|link=]]</br>[[File:Commons-logo.svg|180x35px|link=]]</div> <div style="color: grey; max-width:1280px; margin: 12px auto; font-family: Tahoma, 'DejaVu Sans Condensed', sans-serif; text-align: center; font-size: 14pt; position: relative;">«'''[[wmru:Конкурсы/Узнай Россию. Города и регионы ЧМ по футболу 2018|Узнай Россию. Города и регионы ЧМ по футболу 2018]]'''»</div> <div style="color: grey; max-width:1280px; margin: 12px auto; font-family: Tahoma, 'DejaVu Sans Condensed', sans-serif; text-align: center; font-size: 12pt; position: relative;">Пиши статьи, загружай изображения и выигрывай призы!</div> <div style="clear: both;"></div> </div></br> * '''Срок''': 20 мая - 3 июня 2018 г. * '''Аудитория''': [[m:Unregistered_user/ru|незарегистрировавшиеся посетители]] * '''Разделы''': [[w:en:|en]]-[[w:ru:|ru]]-[[w:tt:|tt]] и возможно в иных, на языке которых будет готова локальная посадочная страница (преимущественно из числа [[m:Wikipedias in the languages of Russia/ru|Википедий на языках народов России]]) * '''Частота показов''': низкая, по усмотрению CN-админов, желательно не более 3-4 всплываний в неделю (Limit traffic 3% like [https://meta.wikimedia.org/w/index.php?title=Special:CentralNotice&subaction=noticeDetail&notice=WMDE_spring_2018 WMDE Spring 2018]?).</br> ''Прошу высказать своё мнение, предложения по изменению баннера или настроек ниже, а лучше на [[m:CentralNotice/Request/2018 FIFA World Cup Cities Regions|страничке заявки на баннер]] на языке данного уведомления.'' Будем благодарны, если поможете нам создать или улучшить баннер и посадочную страницу проекта на Вашем языке.<br /> От имени [[:wmru:Баннеры|баннерной программы Викимедиа РУ]], с уважением EN: Dear colleagues!</br> [[m:Wikimedia_Russia|Wikimedia Russia]] ([[:wmru:en:|WMRU]]) is a co-organizer of [[wmru:Конкурсы/Узнай Россию. Города и регионы ЧМ по футболу 2018/en|Discover Russia. 2018 FIFA World Cup Cities & Regions]] Wiki-Marathon (March 14 - July 15). ''[[m:CentralNotice/Request/2018 FIFA World Cup Cities Regions|Targeted CentralNotice banner campaign]]'' is initiated to inform Wikipedia, Wikivoyage & Wikimedia Commons visitors from among residents & guests of the Russian Federation about this opportunity.</br> * '''Draft Banner''' (EN) <div class="plainlinks" style="border: 1px solid #ddd; margin: 0 0 3px;"> <div class="nomobile" style="float:left"></div> <div class="nomobile" style="float:right">[[File:Wikipedia-logo-v2.svg|180x25px|link=]]</br>[[File:Wikivoyage-logo.svg|75x30px|link=]]</br>[[File:Commons-logo.svg|180x35px|link=]]</div> <div style="color: grey; max-width:1280px; margin: 12px auto; font-family: Tahoma, 'DejaVu Sans Condensed', sans-serif; text-align: center; font-size: 14pt; position: relative;">'''[[wmru:Конкурсы/Узнай Россию. Города и регионы ЧМ по футболу 2018/en|Discover Russia. 2018 FIFA World Cup Cities & Regions]]'''</div><div style="color: grey; max-width:1280px; margin: 12px auto; font-family: Tahoma, 'DejaVu Sans Condensed', sans-serif; text-align: center; font-size: 12pt; position: relative;">Write articles, upload images and win prizes!</div> <div style="clear: both;"></div> </div> * '''Terms''': 20 May - 4 June 2018 * '''Audience''': [[m:Unregistered_user|Anonymous visitors]] * '''Wikipedia editions''': [[w:en:|en]]-[[w:ru:|ru]]-[[w:tt:|tt]] and possibly others, who will have local language landing page (though we mainly concentrate on [[m:Wikipedias in the languages of Russia|Wikipedias in the languages of Russia]]) * '''Weight & impression''': low, TBD by CN-admins, preferably no more than 3-4 impressions per week (Limit traffic 3% like [https://meta.wikimedia.org/w/index.php?title=Special:CentralNotice&subaction=noticeDetail&notice=WMDE_spring_2018 WMDE Spring 2018]?).</br> ''We invite you to express your opinion, voice your proposals about improving the banner or its settings, here or (better) at [[m:CentralNotice/Request/Wikimedia CEE Spring 2018 Russia|banner request page]] in the language of this notification.'' We will be grateful if you can help us to create or improve the banner and the project landing page in Your language.<br /> On behalf of [[:wmru:Баннеры/en|WMRU Banner Program]], respectfully--[[Χρήστες:Frhdkazan|Frhdkazan]] ([[Καλάτσεμαν χρήστε:Frhdkazan|συζήτηση]]) 21:59, 20 Απρίλ 2018 (UTC) == Wikimedia CEE Spring 2018 Russia == <blockquote> EN: Please comment on ''[[m:CentralNotice/Request/Wikimedia CEE Spring 2018 Russia|CentralNotice banner proposal]]'' for ongoing annual [[m:Wikimedia CEE Spring 2018|Wikimedia CEE Spring 2018]] article writing contest.</br>'''Proposed settings''': Month long, only in Russia, WPs in en-kk-myv-ru-tt & possibly others (local landing page, mainly from [[m:Wikipedias in the languages of Russia]]), low impression TBD by CN admins.</br>On behalf of [[:wmru:Banners|Wikimedia Russia Banners Program]], respectfully --[[Χρήστες:Frhdkazan|Frhdkazan]] ([[Καλάτσεμαν χρήστε:Frhdkazan|συζήτηση]]) 08:24, 21 Απρίλ 2018 (UTC) RU: Пожалуйста выскажитесь про ''[[m:CentralNotice/Request/Wikimedia CEE Spring 2018 Russia|баннерную кампанию CentralNotice]]'' для уведомления читателей о [[wmru:Конкурсы/Вики-весна — 2018|ежегодном викимарафоне «Вики-весна»]] (21 марта-31 мая).</br> '''Предложенные настройки''': длинной в месяц, только в России, разделы ВП на en-kk-myv-ru-tt и возможно в иных (локальная посадочная страница, преимущественно из числа [[m:Wikipedias in the languages of Russia/ru|Википедий на языках народов России]]), низкая частота показов по усмотрению CN-админов.</br> От имени [[:wmru:Баннеры|баннерной программы Викимедиа РУ]], с уважением --[[Χρήστες:Frhdkazan|Frhdkazan]] ([[Καλάτσεμαν χρήστε:Frhdkazan|συζήτηση]]) 08:24, 21 Απρίλ 2018 (UTC) </blockquote> == Time to bring embedded maps (‘mapframe’) to most Wikipedias == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> '''Time to bring embedded maps (‘mapframe’) to most Wikipedias''' {{int:please-translate}} [[mw:Special:MyLanguage/Help:Extension:Kartographer|Mapframe]] is a feature that enables users to easily display interactive maps right on wiki pages. Currently, most Wikipedias don’t have mapframe. But [[mw:Special:MyLanguage/Maps#Milestones_and_Updates|fifteen Wikipedias]], along with all the other Wikimedia projects, are using mapframe today to display maps on thousands of pages. A little background: over the last few months, the Foundation’s [[mw:Collaboration|Collaboration team]] has been working to improve the stability and user experience of the maps service. In addition, a question about long-term support for the maps service was recently settled, and a small team has been assigned for routine maintenance. Given these developments, bringing the benefits of mapframe to Wikipedias that lack the feature seems both safe and supportable. [[phab:T191583|Nine Wikipedias]] that use a stricter version of Flagged Revisions will not get mapframe in this release. Maps are a valuable form of visual data that can improve readers’ understanding across a wide range of topics. If you know of any reasons why mapframe shouldn’t be implemented on your Wikipedia, let us know [[mw:Talk:Map_improvements_2018|on the project talk page]]. Unless we hear from you, we plan to release mapframe to most Wikipedias in May, 2018. So, if you foresee an issue, please let us hear from you. Otherwise, happy mapping! </div> [[m:User:CKoerner (WMF)|CKoerner (WMF)]] ([[m:User talk:CKoerner (WMF)|talk]]) 21:38, 24 Απρίλ 2018 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:CKoerner (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:JMatazzoni_(WMF)/mapframe-to-all-wikipedias-notice/distribution_list&oldid=17969222 --> == AdvancedSearch == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> From May 8, [[mw:Special:MyLanguage/Help:Extension:AdvancedSearch|AdvancedSearch]] will be available as a [[mw:Special:MyLanguage/Beta Features|beta feature]] in your wiki. The feature enhances the [[Special:Search|search page]] through an advanced parameters form and aims to make [[m:WMDE_Technical_Wishes/AdvancedSearch/Functional_scope|existing search options]] more visible and accessible for everyone. AdvancedSearch is a project by [[m:WMDE Technical Wishes/AdvancedSearch|WMDE Technical Wishes]]. Everyone is invited to test the feature and we hope that it will serve you well in your work! </div> [[m:User:Birgit Müller (WMDE)|Birgit Müller (WMDE)]] 14:53, 7 Καλομηνά 2018 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Birgit Müller (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_2&oldid=17995461 --> == New Wikipedia Library Accounts Available Now (May 2018) == <div lang="en" dir="ltr" class="mw-content-ltr"> Hello Wikimedians! [[File:Wikipedia_Library_owl.svg|thumb|upright|The TWL OWL says sign up today!]] [[m:The Wikipedia Library|The Wikipedia Library]] is announcing signups today for free, full-access, accounts to research and tools as part of our [[m:The_Wikipedia_Library/Journals|Publisher Donation Program]]. You can sign up for new accounts and research materials on the [https://wikipedialibrary.wmflabs.org/ Library Card platform]: * '''[https://wikipedialibrary.wmflabs.org/partners/69/ Rock's Backpages]''' – Music articles and interviews from the 1950s onwards - 50 accounts * '''[https://wikipedialibrary.wmflabs.org/partners/68/ Invaluable]''' – Database of more than 50 million auctions and over 500,000 artists - 15 accounts * '''[https://wikipedialibrary.wmflabs.org/partners/70/ Termsoup]''' – Translation tool '''Expansions''' * '''[https://wikipedialibrary.wmflabs.org/partners/43/ Fold3]''' – Available content has more than doubled, now including new military collections from the UK, Australia, and New Zealand. * '''[https://wikipedialibrary.wmflabs.org/partners/52/ Oxford University Press]''' – The Scholarship collection now includes [http://www.e-enlightenment.com/ Electronic Enlightenment] * '''[https://wikipedialibrary.wmflabs.org/partners/60/ Alexander Street Press]''' – [https://alexanderstreet.com/products/women-and-social-movements-library Women and Social Movements Library] now available * '''[https://wikipedialibrary.wmflabs.org/partners/58/ Cambridge University Press]''' – [http://orlando.cambridge.org/ Orlando Collection] now available Many other partnerships with accounts available are listed on [https://wikipedialibrary.wmflabs.org/partners/ our partners page], including [https://wikipedialibrary.wmflabs.org/partners/47/ Baylor University Press], [https://wikipedialibrary.wmflabs.org/partners/41/ Loeb Classical Library], [https://wikipedialibrary.wmflabs.org/partners/46/ Cairn], [https://wikipedialibrary.wmflabs.org/partners/55/ Gale] and [https://wikipedialibrary.wmflabs.org/partners/61/ Bloomsbury]. Do better research and help expand the use of high quality references across Wikipedia projects: sign up today! <br>--[[w:en:Wikipedia:TWL/Coordinators|The Wikipedia Library Team]] 18:03, 30 Καλομηνά 2018 (UTC) :''You can host and coordinate signups for a Wikipedia Library branch in your own language. Please contact [[m:User:Ocaasi_(WMF)|Ocaasi (WMF)]].''<br> :<small>This message was delivered via the [https://meta.wikimedia.org/wiki/MassMessage#Global_message_delivery Global Mass Message] tool to [https://meta.wikimedia.org/wiki/Global_message_delivery/Targets/Wikipedia_Library The Wikipedia Library Global Delivery List].</small> </div> <!-- Το μήνυμα στάλθηκε από τον User:Samwalton9@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikipedia_Library&oldid=18064061 --> == Update on page issues on mobile web == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> '''Update on page issues on mobile web''' {{int:please-translate}} Hi everyone. The [[mw:Reading/Web/Team|Readers web team]] has recently begun working on exposing issue templates on the mobile website. Currently, details about issues with page content are generally hidden on the mobile website. This leaves readers unaware of the reliability of the pages they are reading. The goal of this project is to improve awareness of particular issues within an article on the mobile web. We will do this by changing the visual styling of page issues. So far, we have [[mw:Reading/Web/Projects/Mobile Page Issues|drafted a proposal on the design and implementation]] of the project. We were also able to run [[mw:Reading/Web/Projects/Mobile Page Issues/Research Results|user testing on the proposed designs]]. The tests so far have positive results. Here is a quick summary of what we learned: * The new treatment increases awareness of page issues among participants. This is true particularly when they are in a more evaluative/critical mode. * Page issues make sense to readers and they understand how they work * Readers care about page issues and consider them important * Readers had overwhelmingly positive sentiments towards Wikipedia associated with learning about page issues Our next step would be to start implementing these changes. We wanted to reach out to you for any concerns, thoughts, and suggestions you might have before beginning development. Please [[mw:Reading/Web/Projects/Mobile Page Issues|visit the project page]] where we have more information and mockups of how this may look. Please [[mw:Talk:Reading/Web/Projects/Mobile Page Issues|leave feedback on the talk page]]. </div> [[m:User:CKoerner (WMF)|CKoerner (WMF)]] ([[m:User talk:CKoerner (WMF)|talk]]) 20:58, 12 Κερασινού 2018 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:CKoerner (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:CKoerner_(WMF)/Sandbox&oldid=18120916 --> == Global preferences are available == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Global preferences are now available, you can set them by visiting your new [[Special:GlobalPreferences|global preferences page]]. Visit [[mw:Help:Extension:GlobalPreferences|mediawiki.org for information on how to use them]] and [[mw:Help talk:Extension:GlobalPreferences|leave feedback]]. -- [[User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) </div> 19:19, 10 Χορτοθερί 2018 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Keegan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=17968247 --> == New user group for editing sitewide CSS / JS == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> ''({{int:please-translate}})'' Hi all! To improve the security of our readers and editors, permission handling for CSS/JS pages has changed. (These are pages like <code dir="ltr">MediaWiki:Common.css</code> and <code dir="ltr">MediaWiki:Vector.js</code> which contain code that is executed in the browsers of users of the site.) A new user group, <code dir="ltr">[[m:Special:MyLanguage/Interface administrators|interface-admin]]</code>, has been created. Starting four weeks from now, only members of this group will be able edit CSS/JS pages that they do not own (that is, any page ending with <code dir="ltr">.css</code> or <code dir="ltr">.js</code> that is either in the <code dir="ltr">MediaWiki:</code> namespace or is another user's user subpage). You can learn more about the motivation behind the change [[m:Special:MyLanguage/Creation of separate user group for editing sitewide CSS/JS|here]]. Please add users who need to edit CSS/JS to the new group (this can be done the same way new administrators are added, by stewards or local bureaucrats). This is a dangerous permission; a malicious user or a hacker taking over the account of a careless interface-admin can abuse it in far worse ways than admin permissions could be abused. Please only assign it to users who need it, who are trusted by the community, and who follow common basic password and computer security practices (use strong passwords, do not reuse passwords, use two-factor authentication if possible, do not install software of questionable origin on your machine, use antivirus software if that's a standard thing in your environment). Thanks! <br/><span dir="ltr">[[m:User:Tgr|Tgr]] ([[m:User talk:Tgr|talk]]) 17:45, 30 Χορτοθερί 2018 (UTC) <small>(via [[m:Special:MyLanguage/Global_message_delivery|global message delivery]])</small></span> </div> <!-- Το μήνυμα στάλθηκε από τον User:Tgr@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Tgr/massmessage-T139380-ifadmin&oldid=18255968 --> == Enabling a helpful feature for Template editors == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hello. The team working on TemplateStyles at the Wikimedia Foundation would like to enable TemplateStyles on this wiki. TemplateStyles is a feature to allow non-administrators to write and manage CSS styles for templates. It allows contributors who edit templates to separate content and presentation. A good web practice that makes it easier to manage the layout of templates. If you don't edit templates, this will not have any impact on your contributions. TemplateStyles is useful for a few reasons. * It makes it possible for templates to work better on mobile. * It cuts out confusion on where to apply CSS rules. * Editing CSS is currently limited to administrators, which is a major barrier to participation. * All stylesheets must be loaded on all pages (whether they actually use the page or not), which wastes bandwidth and makes debugging style rules more difficult. You can [[mw:Help:TemplateStyles|learn more about TemplateStyles on MediaWiki.org]]. [[mw:Extension:TemplateStyles|Technical documentation is also available]]. This is an optional feature and no one must use it, but template contributors are encouraged to do so! Please discuss and let us know if there are any concerns. If there are no concerns we will proceed to deploy the feature on the 9th of August. Thank you. </div> [[m:User:CKoerner (WMF)|CKoerner (WMF)]] ([[m:User talk:CKoerner (WMF)|talk]]) 21:28, 6 Aλωναρί 2018 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:CKoerner (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:CKoerner_(WMF)/Sandbox&oldid=18277775 --> == Editing of sitewide CSS/JS is only possible for interface administrators from now == ''({{int:please-translate}})'' <div lang="en" dir="ltr" class="mw-content-ltr"> Hi all, as [[m:Special:MyLanguage/Creation of separate user group for editing sitewide CSS/JS/announcement 2|announced previously]], permission handling for CSS/JS pages has changed: only members of the <code>[[m:Special:MyLanguage/Interface administrators|interface-admin]]</code> ({{int:group-interface-admin}}) group, and a few highly privileged global groups such as stewards, can edit CSS/JS pages that they do not own (that is, any page ending with .css or .js that is either in the MediaWiki: namespace or is another user's user subpage). This is done to improve the security of readers and editors of Wikimedia projects. More information is available at [[m:Special:MyLanguage/Creation of separate user group for editing sitewide CSS/JS|Creation of separate user group for editing sitewide CSS/JS]]. If you encounter any unexpected problems, please contact me or file a bug. Thanks!<br /> [[m:User:Tgr|Tgr]] ([[m:User talk:Tgr|talk]]) 12:40, 27 Aλωναρί 2018 (UTC) <small>(via [[m:Special:MyLanguage/Global_message_delivery|global message delivery]])</small> </div> <!-- Το μήνυμα στάλθηκε από τον User:Tgr@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18258712 --> == Read-only mode for up to an hour on 12 September and 10 October == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch 2018|Read this message in another language]] • {{int:please-translate}} The [[foundation:|Wikimedia Foundation]] will be testing its secondary data centre. This will make sure that Wikipedia and the other Wikimedia wikis can stay online even after a disaster. To make sure everything is working, the Wikimedia Technology department needs to do a planned test. This test will show if they can reliably switch from one data centre to the other. It requires many teams to prepare for the test and to be available to fix any unexpected problems. They will switch all traffic to the secondary data center on '''Wednesday, 12 September 2018'''. On '''Wednesday, 10 October 2018''', they will switch back to the primary data center. Unfortunately, because of some limitations in [[mw:Manual:What is MediaWiki?|MediaWiki]], all editing must stop when we switch. We apologize for this disruption, and we are working to minimize it in the future. '''You will be able to read, but not edit, all wikis for a short period of time.''' *You will not be able to edit for up to an hour on Wednesday, 12 September and Wednesday, 10 October. The test will start at [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20170503T14 14:00 UTC] (15:00 BST, 16:00 CEST, 10:00 EDT, 07:00 PDT, 23:00 JST, and in New Zealand at 02:00 NZST on Thursday 13 September and Thursday 11 October). *If you try to edit or save during these times, you will see an error message. We hope that no edits will be lost during these minutes, but we can't guarantee it. If you see the error message, then please wait until everything is back to normal. Then you should be able to save your edit. But, we recommend that you make a copy of your changes first, just in case. ''Other effects'': *Background jobs will be slower and some may be dropped. Red links might not be updated as quickly as normal. If you create an article that is already linked somewhere else, the link will stay red longer than usual. Some long-running scripts will have to be stopped. *There will be code freezes for the weeks of 10 September 2018 and 8 October 2018. Non-essential code deployments will not happen. This project may be postponed if necessary. You can [[wikitech:Switch Datacenter#Schedule for 2018 switch|read the schedule at wikitech.wikimedia.org]]. Any changes will be announced in the schedule. There will be more notifications about this. '''Please share this information with your community.''' /<span dir=ltr>[[m:User:Johan (WMF)|User:Johan(WMF)]] ([[m:User talk:Johan (WMF)|talk]])</span> </div></div> 13:33, 6 Σταυρί 2018 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Johan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18333489 --> == The Community Wishlist Survey == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"><div class="plainlinks"> The Community Wishlist Survey. {{Int:Please-translate}}. Hey everyone, The Community Wishlist Survey is the process when the Wikimedia communities decide what the Wikimedia Foundation [[m:Community Tech|Community Tech]] should work on over the next year. The Community Tech team is focused on tools for experienced Wikimedia editors. You can post technical proposals from now until 11 November. The communities will vote on the proposals between 16 November and 30 November. You can read more on the [[m:Special:MyLanguage/Community Wishlist Survey 2019|wishlist survey page]]. <span dir=ltr>/[[m:User:Johan (WMF)|User:Johan (WMF)]]</span></div></div> 11:06, 30 Τρυγομηνά 2018 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Johan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18458512 --> == Πως είναι δυνατόν; == Πως είναι δυνατόν η ποντιακή Βικιπαίδεια να διαθέτει μόνο 462 λήμματα ενώ η Αγγλική διαθέτει πάνω από 1.000.000;--[[Χρήστες:Το πουλί της φωτιάς|Το πουλί της φωτιάς]] ([[Καλάτσεμαν χρήστε:Το πουλί της φωτιάς|συζήτηση]]) 17:02, 31 Τρυγομηνά 2018 (UTC) == Editing News #2—2018 == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> ''[[metawiki:VisualEditor/Newsletter/2018/October|Read this in another language]] • [[m:VisualEditor/Newsletter|Subscription list for this multilingual newsletter]]'' <div style="float:right;width:270px;margin-left:1em;border-style:solid;border-width:1px;padding:1em;"> [[File:VisualEditor-logo.svg|200px|center]] '''Did you know?''' <div class="thumbcaption" style="font-size: 90%;"> Did you know that you can use the visual editor on a mobile device? [[File:Mobile editing watchlist star editing pencil.png|alt=Screenshot showing the location of the pencil icon|center|frameless|250px]] Tap on the pencil icon to start editing. The page will probably open in the wikitext editor. You will see another pencil icon in the toolbar. Tap on that pencil icon to the switch between visual editing and wikitext editing. [[File:Visual editing mobile switch wikitext.png|alt=Toolbar with menu opened|center|frameless|250px]] Remember to publish your changes when you're done. You can read and help translate [[mw:Special:MyLanguage/Help:VisualEditor/User guide|the user guide]], which has more information about how to use the visual editor.</div></div> Since the last newsletter, the [[mw:Editing|Editing Team]] has wrapped up most of their work on the [[mw:2017 wikitext editor|2017 wikitext editor]] and [[mw:VisualEditor/Diffs|the visual diff tool]]. The team has begun investigating the needs of editors who use mobile devices. Their work board is available [[phab:project/view/3236/|in Phabricator]]. Their [[mw:Wikimedia Audiences/2018-19 Q2 Goals#Contributors|current priorities]] are fixing bugs and improving mobile editing. === Recent changes === *The Editing team has published an [[mw:Mobile editing using the visual editor report|initial report about mobile editing]]. *The Editing team has begun a design study of visual editing on the mobile website. New editors have trouble doing basic tasks on a smartphone, such as adding links to Wikipedia articles. You can [[c:File:Visual Editor Heuristic - Results.pdf|read the report]]. *The Reading team is working on a [[mw:Reading/Web/Advanced mobile contributions|separate mobile-based contributions project]]. *The 2006 wikitext editor is [[mw:Contributors/Projects/Removal of the 2006 wikitext editor|no longer supported]]. If you used [[:File:Edit toolbar - 2.png|that toolbar]], then you will no longer see any toolbar. You may choose another editing tool in your [[Special:Preferences#mw-prefsection-editing|editing preferences]], [[Special:Preferences#mw-prefsection-gadgets|local gadgets]], or [[Special:Preferences#mw-prefsection-betafeatures|beta features]]. *The Editing team described the history and status of [[mw:Extension:VisualEditor|VisualEditor]] in [[m:Wikimedia monthly activities meetings/2018-03|this recorded public presentation]] (starting at 29 minutes, 30 seconds). *The Language team released [[mw:Content translation/V2|a new version of Content Translation]] (CX2) last month, on [[foundationsite:2018/09/30/international-translation-day/|International Translation Day]]. It integrates the visual editor to support templates, tables, and images. It also produces better wikitext when the translated article is published. [https://wikimediafoundation.org/2018/09/30/content-translation-version-two/] === Let's work together === * The Editing team wants to improve visual editing on the mobile website. <mark>Please read [[mw:Visual-based mobile editing/Ideas/October 2018|their ideas]] and tell the team what you think would help editors who use the mobile site.</mark> *The [[m:Community Wishlist Survey 2019|Community Wishlist Survey]] begins next week. *If you aren't reading this in your preferred language, then please help us with translations! Subscribe to the [[mail:translators-l|Translators mailing list]] or [https://meta.wikimedia.org/w/index.php?title=User_talk:Elitre_(WMF)&action=edit&section=new contact us] directly. We will notify you when the next issue is ready for translation. {{int:Feedback-thanks-title}} —[[mw:User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[mw:User talk:Whatamidoing (WMF)|talk]]) </div> 14:17, 2 Αεργί 2018 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Johan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=VisualEditor/Newsletter/Wikis_with_VE&oldid=17790200 --> == Change coming to how certain templates will appear on the mobile web == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> '''Change coming to how certain templates will appear on the mobile web''' {{int:please-translate}} [[File:Page_issues_-_mobile_banner_example.jpg|thumb|Example of improvements]] Hello, In a few weeks the Readers web team will be changing how some templates look on the mobile web site. We will make these templates more noticeable when viewing the article. We ask for your help in updating any templates that don't look correct. What kind of templates? Specifically templates that notify readers and contributors about issues with the content of an article – the text and information in the article. Examples like [[wikidata:Q5962027|Template:Unreferenced]] or [[Wikidata:Q5619503|Template:More citations needed]]. Right now these notifications are hidden behind a link under the title of an article. We will format templates like these (mostly those that use Template:Ambox or message box templates in general) to show a short summary under the page title. You can tap on the "Learn more" link to get more information. For template editors we have [[mw:Recommendations_for_mobile_friendly_articles_on_Wikimedia_wikis#Making_page_issues_(ambox_templates)_mobile_friendly|some recommendations on how to make templates that are mobile-friendly]] and also further [[mw:Reading/Web/Projects/Mobile_Page_Issues|documentation on our work so far]]. If you have questions about formatting templates for mobile, [[mw:Talk:Reading/Web/Projects/Mobile_Page_Issues|please leave a note on the project talk page]] or [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Readers-Web-Backlog file a task in Phabricator] and we will help you. {{Int:Feedback-thanks-title}} </div> [[m:User:CKoerner (WMF)|CKoerner (WMF)]] ([[m:User talk:CKoerner (WMF)|talk]]) 19:35, 13 Αεργί 2018 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:CKoerner (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18543269 --> == Community Wishlist Survey vote == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"><div class="plainlinks"> The Community Wishlist Survey. {{Int:Please-translate}}. Hey everyone, The Community Wishlist Survey is the process when the Wikimedia communities decide what the Wikimedia Foundation [[m:Community Tech|Community Tech]] should work on over the next year. The Community Tech team is focused on tools for experienced Wikimedia editors. The communities have now posted a long list of technical proposals. You can vote on the proposals from now until 30 November. You can read more on the [[m:Special:MyLanguage/Community Wishlist Survey 2019|wishlist survey page]]. <span dir=ltr>/[[m:User:Johan (WMF)|User:Johan (WMF)]]</span></div></div> 18:13, 22 Αεργί 2018 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Johan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18543269 --> == Advanced Search == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> [[m:WMDE_Technical_Wishes/AdvancedSearch|Advanced Search]] will become a default feature on your wiki on November 28. This new interface allows you to perform specialized searches on the [[Special:Search|search page]], even if you don’t know any [[mw:Special:MyLanguage/Help:CirrusSearch|search syntax]]. Advanced Search originates from the [[m:WMDE_Technical_Wishes|German Community’s Technical Wishes project]]. It's already a default feature on German, Arabic, Farsi and Hungarian Wikipedia. Besides, more than 40.000 users across all wikis have tested the beta version. Feedback is welcome on the [[mw:Help talk:Extension:AdvancedSearch|central feedback page]].</div> [[m:User:Johanna Strodt (WMDE)|Johanna Strodt (WMDE)]] ([[m:User talk:Johanna Strodt (WMDE)|talk]]) 11:03, 26 Αεργί 2018 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Johanna Strodt (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_2&oldid=18363910 --> == New Wikimedia password policy and requirements == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> {{int:please-translate}} The Wikimedia Foundation security team is implementing a new [[m:Password policy|password policy and requirements]]. [[mw:Wikimedia_Security_Team/Password_strengthening_2019|You can learn more about the project on MediaWiki.org]]. These new requirements will apply to new accounts and privileged accounts. New accounts will be required to create a password with a minimum length of 8 characters. Privileged accounts will be prompted to update their password to one that is at least 10 characters in length. These changes are planned to be in effect on December 13th. If you think your work or tools will be affected by this change, please let us know on [[mw:Talk:Wikimedia_Security_Team/Password_strengthening_2019|the talk page]]. {{Int:Feedback-thanks-title}} </div> [[m:User:CKoerner (WMF)|CKoerner (WMF)]] ([[m:User talk:CKoerner (WMF)|talk]]) 20:03, 6 Χριστουγενναρί 2018 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:CKoerner (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18639017 --> == Invitation from Wiki Loves Love 2019 == <div lang="en" dir="ltr" class="mw-content-ltr"> {{int:please-translate}} [[File:WLL Subtitled Logo (transparent).svg|right|frameless]] Love is an important subject for humanity and it is expressed in different cultures and regions in different ways across the world through different gestures, ceremonies, festivals and to document expression of this rich and beautiful emotion, we need your help so we can share and spread the depth of cultures that each region has, the best of how people of that region, celebrate love. [[:c:Commons:Wiki Loves Love|Wiki Loves Love (WLL)]] is an international photography competition of Wikimedia Commons with the subject love testimonials happening in the month of February. The primary goal of the competition is to document love testimonials through human cultural diversity such as monuments, ceremonies, snapshot of tender gesture, and miscellaneous objects used as symbol of love; to illustrate articles in the worldwide free encyclopedia Wikipedia, and other Wikimedia Foundation (WMF) projects. The theme of 2019 iteration is '''''Celebrations, Festivals, Ceremonies and rituals of love.''''' Sign up your affiliate or individually at [[:c:Commons:Wiki Loves Love 2019/Participants|Participants]] page. To know more about the contest, check out our [[:c:Commons:Wiki Loves Love 2019|Commons Page]] and [[:c:Commons:Wiki Loves Love 2018/FAQ|FAQs]] There are several prizes to grab. Hope to see you spreading love this February with Wiki Loves Love! Kind regards, [[:c:Commons:Wiki Loves Love 2018/International Team|Wiki Loves Love Team]] Imagine... the sum of all love! </div> --[[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 10:13, 27 Χριστουγενναρί 2018 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Tiven2240@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18639017 --> == FileExporter beta feature == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> [[File:Logo for the beta feature FileExporter.svg|thumb|Coming soon: the beta feature [[m:WMDE_Technical_Wishes/Move_files_to_Commons|FileExporter]]]] A new beta feature will soon be released on all wikis: The [[m:WMDE_Technical_Wishes/Move_files_to_Commons|FileExporter]]. It allows exports of files from a local wiki to Wikimedia Commons, including their file history and page history. Which files can be exported is defined by each wiki's community: '''Please check your wiki's [[m:WMDE_Technical_Wishes/Move_files_to_Commons/Configuration file documentation|configuration file]]''' if you want to use this feature. The FileExporter has already been a beta feature on [https://www.mediawiki.org mediawiki.org], [https://meta.wikimedia.org meta.wikimedia], deWP, faWP, arWP, koWP and on [https://wikisource.org wikisource.org]. After some functionality was added, it's now becoming a beta feature on all wikis. Deployment is planned for January 16. More information can be found [[m:WMDE_Technical_Wishes/Move_files_to_Commons|on the project page]]. As always, feedback is highly appreciated. If you want to test the FileExporter, please activate it in your [[Special:Preferences#mw-prefsection-betafeatures|user preferences]]. The best place for feedback is the [[mw:Help_talk:Extension:FileImporter|central talk page]]. Thank you from Wikimedia Deutschland's [[m:WMDE Technical Wishes|Technical Wishes project]]. </div> [[User:Johanna Strodt (WMDE)|Johanna Strodt (WMDE)]] 09:41, 14 Καλανταρί 2019 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Johanna Strodt (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=18782700 --> == No editing for 30 minutes on 17 January == <div lang="en" dir="ltr" class="mw-content-ltr">You will '''not be able to edit''' the wikis for up to 30 minutes on '''[https://www.timeanddate.com/worldclock/fixedtime.html?iso=20190117T07 17 January 07:00 UTC]'''. This is because of a database problem that has to be fixed immediately. You can still read the wikis. Some wikis are not affected. They don't get this message. You can see which wikis are '''not''' affected [[:m:User:Johan (WMF)/201901ReadOnlyPage|on this page]]. Most wikis are affected. The time you can not edit might be shorter than 30 minutes. /[[User:Johan (WMF)|Johan (WMF)]]</div> 18:52, 16 Καλανταρί 2019 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Johan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Johan_(WMF)/201901ReadOnly/Targets6&oldid=18789238 --> ==Public Domain 2019 Russia== Уважаемые коллеги, пожалуйста выскажите своё мнение по поводу ''[[m:CentralNotice/Request/Public Domain 2019 Russia|баннерной кампании CentralNotice]]'' для объявления о российском викимарафоне [[wmru:Открытая библиотека/Конкурсы/Общественное достояние — 2019|Общественное достояние 2019]] (18 февраля — 31 марта, все IP из России, Википедии/Викитеки/Викисклад, 1 показ в две недели). [[Χρήστες:JukoFF|JukoFF]] ([[Καλάτσεμαν χρήστε:JukoFF|συζήτηση]]) 15:11, 30 Καλανταρί 2019 (UTC) == Talk to us about talking == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> [[File:OOjs_UI_icon_speechBubbles-rtl.svg|alt="icon depicting two speech Bubbles"|frameless|right|120px]] The Wikimedia Foundation is planning a [[mw:Talk pages consultation 2019|global consultation about communication]]. The goal is to bring Wikimedians and wiki-minded people together to improve tools for communication. We want all contributors to be able to talk to each other on the wikis, whatever their experience, their skills or their devices. We are looking for input from as many different parts of the Wikimedia community as possible. It will come from multiple projects, in multiple languages, and with multiple perspectives. We are currently planning the consultation. We need your help. '''We need volunteers to help talk to their communities or user groups.''' You can help by hosting a discussion at your wiki. Here's what to do: # First, [[mw:Talk pages consultation 2019/Participant group sign-up|sign up your group here.]] # Next, create a page (or a section on a Village pump, or an e-mail thread – whatever is natural for your group) to collect information from other people in your group. This is not a vote or decision-making discussion: we are just collecting feedback. # Then ask people what they think about communication processes. We want to hear stories and other information about how people communicate with each other on and off wiki. Please consider asking these five questions: ## When you want to discuss a topic with your community, what tools work for you, and what problems block you? ## What about talk pages works for newcomers, and what blocks them? ## What do others struggle with in your community about talk pages? ## What do you wish you could do on talk pages, but can't due to the technical limitations? ## What are the important aspects of a "wiki discussion"? # Finally, please go to [[mw:Talk:Talk pages consultation 2019|Talk pages consultation 2019 on Mediawiki.org]] and report what you learned from your group. Please include links if the discussion is available to the public. '''You can also help build the list of the many different ways people talk to each other.''' Not all groups active on wikis or around wikis use the same way to discuss things: it can happen on wiki, on social networks, through external tools... Tell us [[mw:Talk pages consultation 2019/Tools in use|how your group communicates]]. You can read more about [[mw:Talk pages consultation 2019|the overall process]] on mediawiki.org. If you have questions or ideas, you can [[mw:Talk:Talk pages consultation 2019|leave feedback about the consultation process]] in the language you prefer. Thank you! We're looking forward to talking with you. </div> [[user:Trizek (WMF)|Trizek (WMF)]] 15:01, 21 Κούντουρονος 2019 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Trizek (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18639017 --> == New Wikipedia Library Accounts Available Now (March 2019) == <div lang="en" dir="ltr" class="mw-content-ltr"> Hello Wikimedians! [[File:Wikipedia_Library_owl.svg|thumb|upright|The TWL OWL says sign up today!]] [[m:The Wikipedia Library|The Wikipedia Library]] is announcing signups today for free, full-access, accounts to published research as part of our [[m:The_Wikipedia_Library/Journals|Publisher Donation Program]]. You can sign up for new accounts and research materials on the [https://wikipedialibrary.wmflabs.org/ Library Card platform]: * '''[https://wikipedialibrary.wmflabs.org/partners/72/ Kinige]''' – Primarily Indian-language ebooks - 10 books per month * '''[https://wikipedialibrary.wmflabs.org/partners/55/ Gale]''' – Times Digital Archive collection added (covering 1785-2013) * '''[https://wikipedialibrary.wmflabs.org/partners/54/ JSTOR]''' – New applications now being taken again Many other partnerships with accounts available are listed on [https://wikipedialibrary.wmflabs.org/partners/ our partners page], including [https://wikipedialibrary.wmflabs.org/partners/47/ Baylor University Press], [https://wikipedialibrary.wmflabs.org/partners/10/ Taylor & Francis], [https://wikipedialibrary.wmflabs.org/partners/46/ Cairn], [https://wikipedialibrary.wmflabs.org/partners/32/ Annual Reviews] and [https://wikipedialibrary.wmflabs.org/partners/61/ Bloomsbury]. You can request new partnerships on our [https://wikipedialibrary.wmflabs.org/suggest/ Suggestions page]. Do better research and help expand the use of high quality references across Wikipedia projects: sign up today! <br>--[[w:en:Wikipedia:TWL/Coordinators|The Wikipedia Library Team]] 17:40, 13 Μαρτ 2019 (UTC) :''You can host and coordinate signups for a Wikipedia Library branch in your own language. Please contact [[m:User:Ocaasi_(WMF)|Ocaasi (WMF)]].''<br> :<small>This message was delivered via the [https://meta.wikimedia.org/wiki/MassMessage#Global_message_delivery Global Mass Message] tool to [https://meta.wikimedia.org/wiki/Global_message_delivery/Targets/Wikipedia_Library The Wikipedia Library Global Delivery List].</small> </div> <!-- Το μήνυμα στάλθηκε από τον User:Samwalton9@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikipedia_Library&oldid=18873404 --> == Read-only mode for up to 30 minutes on 11 April == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"><div class="plainlinks"> <div lang="en" dir="ltr" class="mw-content-ltr">You will '''not be able to edit''' most Wikimedia wikis for up to 30 minutes on '''[https://www.timeanddate.com/worldclock/fixedtime.html?iso=20190411T05 11 April 05:00 UTC]'''. This is because of a hardware problem. You can still read the wikis. You [[phab:T220080|can see which wikis are affected]]. The time you can not edit might be shorter than 30 minutes. /[[User:Johan (WMF)|Johan (WMF)]]</div></div></div> 10:56, 8 Απρίλ 2019 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Johan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18979889 --> == Wikimedia Foundation Medium-Term Plan feedback request == {{int:please-translate}} <div lang="en" dir="ltr" class="mw-content-ltr">The Wikimedia Foundation has published a [[m:Special:MyLanguage/Wikimedia_Foundation_Medium-term_plan_2019|Medium-Term Plan proposal]] covering the next 3–5 years. We want your feedback! Please leave all comments and questions, in any language, on [[m:Talk:Wikimedia_Foundation_Medium-term_plan_2019|the talk page]], by April 20. {{Int:Feedback-thanks-title}} [[m:User:Quiddity (WMF)|Quiddity (WMF)]] ([[m:User talk:Quiddity (WMF)|talk]]) 17:35, 12 Απρίλ 2019 (UTC)</div> <!-- Το μήνυμα στάλθηκε από τον User:Quiddity (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18998727 --> == Wikidata Bridge: edit Wikidata’s data from Wikipedia infoboxes == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> ''Sorry for writing this message in English - feel free to help us translating it :)'' Hello all, Many language versions of Wikipedia use the content of [[Wikidata]], the centralized knowledge base, to fill out the content of infoboxes. The data is stored in Wikidata and displayed, partially or completely, in the Wikipedia’s language, on the articles. This feature is used by many template editors, but brought several issues that were raised by communities in various places: not being able to edit the data directly from Wikipedia was one of them. This is the reason why the '''[[mw:Wikidata Bridge|Wikidata Bridge]]''' project started, with the goal of offering a way to Wikipedia editors to edit Wikidata’s data more easily. This will be achieved by an interface, connected to the infobox, that users can access directly from their local wiki. The project is now at an early stage of development. A lot of [[mw:Wikidata_Bridge/Research|user research]] has been done, and will continue to be done through the different phases of the project. The next steps of [[mw:Wikidata_Bridge/Development|development]] will be achieved by the development team working at Wikimedia Deutschland, starting now until the end of 2019. In order to make sure that we’re building a tool that is answering editors’ needs, we’re using agile methods in our development process. We don’t start with a fixed idea of the tool we want to deliver: we will build it together with the editors, based on feedback loops that we will regularly organize. The first version will not necessarily have all of the features you want, but it will keep evolving. Here’s the planned timeline: * From June to August, we will build the setup and technical groundwork. * From September to November 2019, we will develop the first version of the feature and publish a test system so you can try it and give feedback. * Later on, we will test the feature on a few projects, in collaboration with the communities. ** We will first focus on early adopters communities who already implemented a shortcut from their infoboxes to edit Wikidata (for example Russian, Catalan, Basque Wikipedias) ** but we also welcome also communities who [[mw:Wikidata_Bridge/Get_involved|volunteer to be part of the first test round]]. ** Then we will reach some of the big Wikipedias (French, German, English) in order to see if the project scales and to address their potentially different needs. ** Even later, we can consider enabling the feature on all the other projects. In any case, no deployment or big change will be enforced on the projects without talking to the communities first, and helping the template builders to prepare for the changes they will have to do on the infoboxes’ code. If you want to get involved, there are several ways to help: * Read and help translating [[mw:Wikidata_Bridge|the documentation pages]] * Follow the [[mw:Wikidata_Bridge/Updates|updates]] and participate in [[mw:Topic:V1x2lxtu8rgi954a|the first feedback loop]] * Talk about it with your local community More ideas will be added [[mw:Wikidata_Bridge/Get_involved|on this page]] along the way If you have any questions for the development team, feel free to ask them [[mw:Talk:Wikidata_Bridge|on the main talk page]]. You can also ask under this message, but if you expect an answer from me, please make sure to ping me. Thanks for your attention, [[:d:User:Lea Lacroix (WMDE)|Lea Lacroix (WMDE)]] 13:03, 24 Κερασινού 2019 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Lea Lacroix (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Lea_Lacroix_(WMDE)/List_Wikipedias&oldid=19168539 --> == Editing News #1—July 2019 == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> ''[[m:VisualEditor/Newsletter/2019/July|Read this in another language]] • [[m:VisualEditor/Newsletter|Subscription list for this multilingual newsletter]]'' <div style="float:right;width:270px;margin-left:1em;border-style:solid;border-width:1px;padding:1em;"> [[File:VisualEditor-logo.svg|200px|center]] <big>'''Did you know?'''</big> <div class="thumbcaption" style="font-size: 90%;"> Did you know that you can use the visual editor on a mobile device? Every article has a pencil icon at the top. Tap on the pencil icon [[File:OOjs UI icon edit-ltr.svg|frameless|16x16px]] to start editing. '''<big>Edit Cards</big>''' [[File:EditCards-v.20.png|alt=Toolbar with menu opened|center|frameless|250px]] This is what the new '''Edit Cards for editing links''' in the mobile visual editor look like. You can try the prototype here: '''[[mw:Topic:V394zwrigth8ii7c|📲 Try Edit Cards]].''' </div></div> Welcome back to the [[mw:Editing|Editing]] newsletter. Since [[m:VisualEditor/Newsletter/2018/October|the last newsletter]], the team has released two new features for the [[mw:VisualEditor on mobile|mobile visual editor]] and has started developing three more. All of this work is part of the team's goal to [[m:Wikimedia Foundation Annual Plan/2018-2019/Audiences#Outcome 3: Mobile Contribution|make editing on mobile web simpler]]. Before talking about the team's recent releases, we have a question for you: <strong>Are you willing to try a new way to add and change links?</strong> If you are interested, we would value your input! You can try this new link tool in the mobile visual editor on a separate wiki. <em>Follow these instructions and share your experience:</em> <strong>[[mw:Topic:V394zwrigth8ii7c|📲 Try Edit Cards]].</strong> === Recent releases === The mobile visual editor is a simpler editing tool, for smartphones and tablets using the [[mw:Reading/Web/Mobile#About|mobile site]]. The Editing team recently launched two new features to improve the mobile visual editor: # [[mw:VisualEditor on mobile/Section editing|Section editing]] #* The purpose is to help contributors focus on their edits. #* The team studied this with an A/B test. [[mw:VisualEditor on mobile/Section editing#16 June 2019|This test showed]] that contributors who could use section editing were '''1% more likely to publish''' the edits they started than people with only full-page editing. # [[mw:VisualEditor on mobile#March 1, 2019|Loading overlay]] #* The purpose is to smooth the transition between reading and editing. Section editing and the new loading overlay are '''now available to everyone''' using the mobile visual editor. === New and active projects === This is a list of our most active projects. [[mw:Help:Watching pages|Watch]] these pages to learn about project updates and to share your input on new designs, prototypes and research findings. *[[mw:VisualEditor on mobile/Edit cards|Edit cards]]: This is a clearer way to add and edit links, citations, images, templates, etc. in articles. You can try this feature now. <em>Go here to see how:</em> [[mw:Topic:V394zwrigth8ii7c|📲 <em>Try Edit Cards</em>]]. *[[mw:VisualEditor on mobile/Toolbar refresh|Mobile toolbar refresh]]: This project will learn if contributors are more successful when the editing tools are easier to recognize. *[[mw:VisualEditor on mobile/VE mobile default|Mobile visual editor availability]]: This A/B test asks: ''Are newer contributors more successful if they use the mobile visual editor?'' We are collaborating with [[mw:VisualEditor on mobile/VE mobile default#26 June 2019 %E2%80%93 Participating wikis and test start date|20 Wikipedias]] to answer this question. *[[mw:VisualEditor on mobile/Usability improvements|Usability improvements]]: This project will make the mobile visual editor easier to use. The goal is to let contributors stay focused on editing and to feel more confident in the editing tools. === Looking ahead === * '''Wikimania:''' Several members of the Editing Team will be attending [[wmania:|Wikimania]] in August 2019. They will lead a session about mobile editing in the [[wmania:2019:Community Growth/Visual editing on mobile: An accessible editor for all|Community Growth space]]. Talk to the team about how editing can be improved. * '''Talk Pages:''' In the coming months, the Editing Team will begin [[mw:Talk pages consultation 2019|improving talk pages]] and communication on the wikis. === Learning more === The [[mw:VisualEditor on mobile|VisualEditor on mobile]] is a good place to learn more about the projects we are working on. The team wants to talk with you about anything related to editing. If you have something to say or ask, please leave a message at [[mw:Talk:VisualEditor on mobile|Talk:VisualEditor on mobile]]. [[user:PPelberg (WMF)|PPelberg (WMF)]] ([[mw:user_talk:PPelberg (WMF)|talk]]) & [[User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[mw:user_talk:Whatamidoing (WMF)|talk]]) </div> 18:32, 23 Χορτοθερί 2019 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Trizek (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=VisualEditor/Newsletter/Wikis_with_VE&oldid=19175117 --> == Γειά! == Γειά σου! Θέλω να επιταχύνω και να βοηθήσω ως διαχειριστής εδώ. --[[Χρήστες:Giooo95|Giooo95]] ([[Καλάτσεμαν χρήστε:Giooo95|συζήτηση]]) 22:49, 30 Χορτοθερί 2019 (UTC) :You have 4 edits to this project and don't give a reason to be an administrator other than that you want to volunteer. I oppose this request. [[Χρήστες:Vermont|Vermont]] ([[Καλάτσεμαν χρήστε:Vermont|συζήτηση]]) 17:19, 6 Aλωναρί 2019 (UTC) == Update on the consultation about office actions == Hello all, Last month, the Wikimedia Foundation's Trust & Safety team [[:en:Wikipedia:Village_pump_(policy)/Archive_152#Announcement_of_forthcoming_temporary_and_partial_ban_tool_consultation|announced]] a future consultation about partial and/or temporary [[m:Special:MyLanguage/office actions|office actions]]. We want to let you know that the '''draft version''' of this consultation has now been [[:m:Office_actions/Community_consultation_on_partial_and_temporary_office_actions/draft|posted on Meta]]. This is a '''draft'''. It is not intended to be the consultation itself, which will be posted on Meta likely in early September. Please do not treat this draft as a consultation. Instead, we ask your assistance in forming the final language for the consultation. For that end, we would like your input over the next couple of weeks about what questions the consultation should ask about partial and temporary Foundation office action bans and how it should be formatted. '''[[:m:Talk:Office_actions/Community_consultation_on_partial_and_temporary_office_actions/draft|Please post it on the draft talk page]]'''. Our goal is to provide space for the community to discuss all the aspects of these office actions that need to be discussed, and we want to ensure with your feedback that the consultation is presented in the best way to encourage frank and constructive conversation. Please visit [[:m:Office_actions/Community_consultation_on_partial_and_temporary_office_actions/draft|the consultation draft on Meta-wiki]] and leave your comments on the draft’s talk page about what the consultation should look like and what questions it should ask. Thank you for your input! -- The [[m:Special:MyLanguage/Trust and Safety|Trust & Safety team]] 08:03, 16 Aλωναρί 2019 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Trizek (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=19175143 --> == New tools and IP masking == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"><div class="plainlinks"> <div lang="en" dir="ltr" class="mw-content-ltr"> Hey everyone, The Wikimedia Foundation wants to work on two things that affect how we patrol changes and handle vandalism and harassment. We want to make the tools that are used to handle bad edits better. We also want to get better privacy for unregistered users so their IP addresses are no longer shown to everyone in the world. We would not hide IP addresses until we have better tools for patrolling. We have an idea of what tools ''could'' be working better and how a more limited access to IP addresses would change things, but we need to hear from more wikis. You can read more about the project [[m:IP Editing: Privacy Enhancement and Abuse Mitigation|on Meta]] and [[m:Talk:IP Editing: Privacy Enhancement and Abuse Mitigation|post comments and feedback]]. Now is when we need to hear from you to be able to give you better tools to handle vandalism, spam and harassment. You can post in your language if you can't write in English. [[User:Johan (WMF)|Johan (WMF)]]</div></div></div> 14:18, 21 Aλωναρί 2019 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Johan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Johan_(WMF)/Tools_and_IP_message/Distribution&oldid=19315232 --> == Κλήσημο της Ποντιακής Βικιπαίδιας == Γειά σας, για διάφορους λόγους πιστεύω ότι αυτή η έκδοση της Βικιπαίδιας πρέπει να κλήσει. Δείτε την αντοίστηχη σελιδα στο Μετα (https://meta.wikimedia.org/wiki/Proposals_for_closing_projects/Closure_of_Pontic_Wikipedia). Ειστε ευπρόσδεκτοι να πει΄τε την γνώμη σας εκεί. [[Χρήστες:Enivak|Enivak]] ([[Καλάτσεμαν χρήστε:Enivak|συζήτηση]]) 10:47, 26 Aλωναρί 2019 (UTC) :Sorry for writing in English. This proposal was rejected, and this project will remain open. [[Χρήστες:StevenJ81|StevenJ81]] ([[Καλάτσεμαν χρήστε:StevenJ81|συζήτηση]]) 16:14, 13 Σταυρί 2019 (UTC) == The consultation on partial and temporary Foundation bans just started == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> <div class="plainlinks"> Hello, In a [[:en:Wikipedia:Community_response_to_the_Wikimedia_Foundation%27s_ban_of_Fram/Official_statements#Board_statement|recent statement]], the Wikimedia Foundation Board of Trustees [[:en:Wikipedia:Community_response_to_the_Wikimedia_Foundation%27s_ban_of_Fram/Official_statements#Board_statement|requested that staff hold a consultation]] to "re-evaluat[e] or add community input to the two new office action policy tools (temporary and partial Foundation bans)". Accordingly, the Foundation's Trust & Safety team invites all Wikimedians [[:m:Office actions/Community consultation on partial and temporary office actions/09 2019|to join this consultation and give their feedback]] from 30 September to 30 October. How can you help? * Suggest how partial and temporary Foundation bans should be used, if they should (eg: On all projects, or only on a subset); * Give ideas about how partial and temporary Foundation bans should ideally implemented, if they should be; and/or * Propose changes to the existing Office Actions policy on partial and temporary bans. We offer our thanks in advance for your contributions, and we hope to get as much input as possible from community members during this consultation! </div> </div>-- [[user:Kbrown (WMF)|Kbrown (WMF)]] 17:14, 30 Σταυρί 2019 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Trizek (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=19302497 --> == Feedback wanted on Desktop Improvements project == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> {{Int:Please-translate}} {{int:Hello}}. The Readers Web team at the WMF will work on some [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements|improvements to the desktop interface]] over the next couple of years. The goal is to increase usability without removing any functionality. We have been inspired by changes made by volunteers, but that currently only exist as local gadgets and user scripts, prototypes, and volunteer-led skins. We would like to begin the process of bringing some of these changes into the default experience on all Wikimedia projects. We are currently in the research stage of this project and are looking for ideas for improvements, as well as feedback on our current ideas and mockups. So far, we have performed interviews with community members at Wikimania. We have gathered lists of previous volunteer and WMF work in this area. We are examining possible technical approaches for such changes. We would like individual feedback on the following: * Identifying focus areas for the project we have not yet discovered * Expanding the list of existing gadgets and user scripts that are related to providing a better desktop experience. If you can think of some of these from your wiki, please let us know * Feedback on the ideas and mockups we have collected so far We would also like to gather a list of wikis that would be interested in being test wikis for this project - these wikis would be the first to receive the updates once we’re ready to start building. When giving feedback, please consider the following goals of the project: * Make it easier for readers to focus on the content * Provide easier access to everyday actions (e.g. search, language switching, editing) * Put things in logical and useful places * Increase consistency in the interface with other platforms - mobile web and the apps * Eliminate clutter * Plan for future growth As well as the following constraints: * Not touching the content - no work will be done in terms of styling templates or to the structure of page contents themselves * Not removing any functionality - things might move around, but all navigational items and other functionality currently available by default will remain * No drastic changes to the layout - we're taking an evolutionary approach to the changes and want the site to continue feeling familiar to readers and editors Please give all feedback (in any language) at [[mw:Talk:Reading/Web/Desktop Improvements|mw:Talk:Reading/Web/Desktop Improvements]] After this round of feedback, we plan on building a prototype of suggested changes based on the feedback we receive. You’ll hear from us again asking for feedback on this prototype. {{Int:Feedback-thanks-title}} [[mw:User:Quiddity (WMF)|Quiddity (WMF)]] ([[mw:User talk:Quiddity (WMF)|talk]]) </div> 07:18, 16 Τρυγομηνά 2019 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Quiddity (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Quiddity_(WMF)/Global_message_delivery_split_4&oldid=19462890 --> == Beta feature "Reference Previews" == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> A new beta feature will soon be deployed to your wiki: [[m:WMDE_Technical_Wishes/ReferencePreviews|Reference Previews]]. As you might guess from the name, this feature gives you a preview of references in the article text. That means, you can look up a reference without jumping down to the bottom of the page. Reference Previews have already been a beta feature on German and Arabic Wikipedia since April. Now they will become available on more wikis. Deployment is planned for October 24. More information can be found [[m:WMDE_Technical_Wishes/ReferencePreviews|on the project page]]. As always, feedback is highly appreciated. If you want to test Reference Previews, please activate the beta feature in your [[Special:Preferences#mw-prefsection-betafeatures|user preferences]] and let us know what you think. The best place for feedback is the [[mw:Help talk:Reference Previews|central talk page]]. We hope the feature will serve you well in your work. Thank you from Wikimedia Deutschland's [[m:WMDE Technical Wishes|Technical Wishes project]]. </div> -- [[User:Johanna Strodt (WMDE)|Johanna Strodt (WMDE)]] 09:47, 23 Τρυγομηνά 2019 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Johanna Strodt (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=19478814 --> == Editing News #2 – Mobile editing and talk pages == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> <em>[[m:VisualEditor/Newsletter/2019/October|Read this in another language]] • [[m:VisualEditor/Newsletter|Subscription list for this multilingual newsletter]]</em> Inside this newsletter, the [[mw:Editing|Editing team]] talks about their work on the [[mw:Mobile visual editor|mobile visual editor]], on [[mw:Talk pages project|the new talk pages project]], and at [[wikimania:|Wikimania 2019]]. === Help === <strong>What talk page interactions do you remember?</strong> Is it a story about how someone helped you to learn something new? Is it a story about how someone helped you get involved in a group? Something else? Whatever your story is, we want to hear it! Please tell us a story about how you used a talk page. <mark>Please share a link to a memorable discussion, or describe it on the <strong>[[mw:Topic:V8d91yh8gcg404dj|talk page for this project]]</strong>.</mark> The team wants your examples. These examples will help everyone develop a shared understanding of what this project should support and encourage. === Talk pages project === The [[mw:Talk pages consultation 2019|Talk Pages Consultation]] was a global consultation to define better tools for wiki communication. From February through June 2019, more than 500 volunteers on 20 wikis, across 15 languages and multiple projects, came together with members of the Foundation to create a product direction for a set of discussion tools. The [[mw:Talk pages consultation 2019/Phase 2 report|Phase 2 Report]] of the Talk Page Consultation was published in August. It summarizes the product direction the team has started to work on, which you can read more about here: [[mw:Talk pages project|Talk Page Project project page]]. The team needs and wants your help at this early stage. They are starting to develop the first idea. Please add your name to the [[mw:Talk pages project#Getting involved|<strong>"Getting involved"</strong>]] section of the project page, if you would like to hear about opportunities to participate. === Mobile visual editor === The Editing team is trying to make it simpler to edit on mobile devices. The team is changing the [[mw:VisualEditor on mobile|visual editor on mobile]]. If you have something to say about editing on a mobile device, please leave a message at [[mw:Talk:VisualEditor on mobile|Talk:VisualEditor on mobile]]. ==== [[mw:VisualEditor on mobile/Edit cards|Edit Cards]] ==== [[File:Edit Cards-before-v3-comparison.png|thumb|486x486px|What happens when you click on a link. The new Edit Card is bigger and has more options for editing links.]] * On 3 September, the Editing team released [[:File:Edit Cards comparison v2 and v3.png|version 3 of Edit Cards]]. Anyone could use the new version in the mobile visual editor. * There is an [[:File:Edit Cards comparison v2 and v3.png|updated design]] on the Edit Card for adding and modifying links. There is also a new, [[mw:VisualEditor on mobile/Edit cards#2 September 2019 - v3 deployment timing|combined workflow for editing a link's display text and target]]. * Feedback: You can try the new Edit Cards by opening the mobile visual editor on a smartphone. Please post your feedback on the [[:mw:Topic:V5rg0cqmikpubmjj|Edit cards talk page]]. ==== [[mw:VisualEditor on mobile/Toolbar refresh|Toolbar]] ==== [[File:Toolbar-comparison-v1.png|thumb|486px|The editing toolbar is changing in the mobile visual editor. The old system had two different toolbars. Now, all the buttons are together. [[mw:Topic:V79x6zm8n6i4nb56|Tell the team what you think about the new toolbar]].]] * In September, the Editing team updated the mobile visual editor's editing toolbar. Anyone could see these changes in the mobile visual editor. ** <em>One toolbar:</em> All of the editing tools are located in one toolbar. Previously, the toolbar changed when you clicked on different things. **<em>New navigation:</em> The buttons for moving forward and backward in the edit flow have changed. **<em>Seamless switching:</em> an [[phab:T228159|improved workflow]] for switching between the visual and wikitext modes. * Feedback: You can try the refreshed toolbar by opening the mobile VisualEditor on a smartphone. Please post your feedback on the [[mw:Topic:V79x6zm8n6i4nb56|Toolbar feedback talk page]]. === Wikimania === The Editing Team attended [[wmania:2019:Program|Wikimania 2019]] in Sweden. They led a session on [[wmania:2019:Community Growth/Visual editing on mobile: An accessible editor for all|the mobile visual editor]] and a session on [[wmania:2019:Community Growth/After Flow: A new direction for improving talk pages|the new talk pages project]]. They tested [[mw:VisualEditor on mobile/Toolbar refresh#v1 prototype|two]] new [[mw:VisualEditor on mobile/Edit cards#v3 prototype|features]] in the mobile visual editor with contributors. You can read more about what the team did and learned in [[mw:VisualEditor on mobile#Wikimania Stockholm: Overview|the team's report on Wikimania 2019]]. === Looking ahead === * <strong>Talk Pages Project:</strong> The team is thinking about the first set of proposed changes. The team will be working with a few communities to pilot those changes. The best way to stay informed is by adding your username to the list on the project page: [[mw:Talk pages project#Getting involved|<strong>Getting involved</strong>]]. * <strong>Testing the mobile visual editor as the default:</strong> The Editing team plans to post results before the end of the calendar year. The best way to stay informed is by adding the project page to your watchlist: [[mw:VisualEditor on mobile/VE mobile default|<strong>VisualEditor as mobile default project page</strong>]]. * <strong>Measuring the impact of Edit Cards:</strong> This study asks whether the project helped editors add links and citations. The Editing team hopes to share results in November. The best way to stay informed is by adding the project page to your watchlist: [[mw:VisualEditor on mobile/Edit cards|<strong>Edit Cards project page</strong>]]. – [[User:PPelberg (WMF)|PPelberg (WMF)]] ([[mw:User talk:PPelberg (WMF)|talk]]) & [[User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[mw:User talk:Whatamidoing (WMF)|talk]]) </div> 11:12, 29 Τρυγομηνά 2019 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Johan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Johan_(WMF)/Target_lists/VE_201910/4&oldid=19500850 --> == Wikipedia Asian Month 2019 == <div lang="en" dir="ltr" class="mw-content-ltr"> {{int:please-translate}} [[File:WAM logo without text.svg|right|frameless]] '''Wikipedia Asian Month''' is back! We wish you all the best of luck for the contest. The basic guidelines of the contest can be found on your local page of Wikipedia Asian Month. For more information, refer [[:m:Wikipedia Asian Month 2019|to our Meta page]] for organizers. Looking forward to meet the next ambassadors for Wikipedia Asian Month 2019! For additional support for organizing offline event, contact our international team [[:m:Talk:Wikipedia Asian Month 2019|on wiki]] or on email. We would appreciate the translation of this message in the local language by volunteer translators. Thank you! [[:m:Wikipedia Asian Month 2019/International Team|Wikipedia Asian Month International Team.]] [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 16:57, 31 Τρυγομηνά 2019 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Tiven2240@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Tiven2240/WAM&oldid=19499019 --> ==Выпускники и наставники России 2019== Уважаемые коллеги, пожалуйста выскажите своё мнение по поводу ''[[m:CentralNotice/Request/Alumni and Mentors of Russia 2019|баннерной кампании CentralNotice]]'' для объявления о российском конкурсе статей [[wmru:Конкурсы/Выпускники и наставники России 2019|Конкурсы/Выпускники и наставники России 2019]] (1 - 15 декабря, все IP из России, Википедии, 1 показ в две недели). Спасибо. [[Χρήστες:JukoFF|JukoFF]] ([[Καλάτσεμαν χρήστε:JukoFF|συζήτηση]]) 13:27, 10 Αεργί 2019 (UTC) == Extension of Wikipedia Asian Month contest == In consideration of a week-long internet block in Iran, [[:m:Wikipedia Asian Month 2019|Wikipedia Asian Month 2019]] contest has been extended for a week past November. The articles submitted till 7th December 2019, 23:59 UTC will be accepted by the fountain tools of the participating wikis. Please help us translate and spread this message in your local language. [[:m:Wikipedia Asian Month 2019/International Team|Wikipedia Asian Month International Team]] --[[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 14:16, 27 Αεργί 2019 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Tiven2240@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Tiven2240/WAM&oldid=19592127 --> == Wiki Loves Folklore == [[File:WLL Subtitled Logo (transparent).svg|100px|right|frameless]] '''Hello Folks,''' Wiki Loves Love is back again in 2020 iteration as '''[[:c:Commons:Wiki Loves Folklore|Wiki Loves Folklore]]''' from 1 February, 2020 - 29 February, 2020. Join us to celebrate the local cultural heritage of your region with the theme of folklore in the international photography contest at [https://commons.wikimedia.org/w/index.php?title=Special:UploadWizard&campaign=wllove Wikimedia Commons]. Images, videos and audios representing different forms of folk cultures and new forms of heritage that haven’t otherwise been documented so far are welcome submissions in Wiki Loves Folklore. Learn more about the contest at [[m:Wiki Loves Folklore|Meta-Wiki]] and [[:c:Commons:Wiki Loves Folklore|Commons]]. '''Kind regards,'''<br/> [[:c:Commons:Wiki Loves Folklore/International Team|'''Wiki Loves Folklore International Team''']]<br/> <small>&mdash;&nbsp;[[User:Tulsi Bhagat|<font color="black">'''Tulsi Bhagat'''</font>]] <small>([[Special:Contributions/Tulsi Bhagat|<font color="black">contribs</font>]] &#124; [[User talk:Tulsi Bhagat|<font color="black">talk</font>]])</small><br/> sent using [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 06:15, 18 Καλανταρί 2020 (UTC)</small> <!-- Το μήνυμα στάλθηκε από τον User:Tulsi Bhagat@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Tiven2240/wll&oldid=19716850 --> == Movement Learning and Leadership Development Project == Hello The Wikimedia Foundation’s Community Development team is seeking to learn more about the way volunteers learn and develop into the many different roles that exist in the movement. Our goal is to build a movement informed framework that provides shared clarity and outlines accessible pathways on how to grow and develop skills within the movement. To this end, we are looking to speak with you, our community to learn about your journey as a Wikimedia volunteer. Whether you joined yesterday or have been here from the very start, we want to hear about the many ways volunteers join and contribute to our movement. To learn more about the project, [[:m:special:MyLanguage/Movement Learning and Leadership Development Project|please visit the Meta page]]. If you are interested in participating in the project, please complete [https://docs.google.com/forms/d/e/1FAIpQLSegM07N1FK_s0VUECM61AlWOthwdn5zQOlVsa2vaKcx13BwZg/viewform?usp=sf_link this simple Google form]. Although we may not be able to speak to everyone who expresses interest, we encourage you to complete this short form if you are interested in participating! -- [[user:LMiranda (WMF)|LMiranda (WMF)]] ([[user talk:LMiranda (WMF)|talk]]) 19:01, 22 Καλανταρί 2020 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Trizek (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Trizek_(WMF)/sandbox/temp_MassMessage_list&oldid=19738989 --> == Γλωσσικό συνέδριο Celtic Knot στην Ιρλανδία, 9-10 Ιουλίου 2020 == Χαιρετώ την κοινότητα και με συγχωρείτε που δεν γνωρίζω Ποντιακά (αν και "τεμέτερη", με πρώην σύζυγο Πόντιο και κόρη μισή Πόντια μισή Κεφαλονίτισσα :). Γράφω εδώ για να σας κοινοποιήσω ένα πάρα πολύ ενδιαφέρον συνέδριο, στο οποίο γίνεται προσπάθεια να αναπτυχθούν στη Βικιπαίδεια οι γλώσσες που μιλούνται πλέον ελάχιστα στον κόσμο... πρόκειται για το Celtic Knot: το πρώτο συνέδριο έγινε στο Εδιμβούργο τον Ιούλιο του 2017, όπου είχα προσκληθεί να μιλήσω για το Κεφαλονίτικο ιδίωμα (δείτε [https://media.ed.ac.uk/media/The+Kefalonian+Dialect+in+Wiktionary+and+how+Wikitherapy+addresses+social+equality+in+open-source+language+projects+-+Mina+Theofilatou/1_bondd8n3 εδώ] την παρουσίαση). Ήταν μια εξαιρετική ευκαιρία να γνωριστώ με ανθρώπους από όλη την Ευρώπη και τον κόσμο με πάθος για τη μητρική τους γλώσσα... οι ιστορίες τους ήταν ενδιαφέρουσες, συγκινητικές και ενίοτε εξοργιστικές (όπως π.χ. ότι στη Σκωτία και Ουαλία δεκαετία του 70 απαγορευόταν στα παιδιά στο σχολείο να μιλούν τις μητρικές τους γλώσσες, και οι παραβάτες φορούσαν πινακίδα που έγραφε "I spoke Gaelic" για μια ολόκληρη μερα). Έδειξαν μεγάλο ενδιαφέρον για τις διαλέκτους και τα ιδιώματα της Ελλάδας, ήταν με λίγα λόγια μια υπέροχη εμπειρία απόκτησης γνώσεων, παρέα με παθιασμένους με τη γλώσσα και τον πολιτισμό τους ανθρώπους, σε μια υπέροχη πόλη όπως είναι το Εδιμβούργο :) Φέτος το συνέδριο θα πραγματοποιηθεί στην Ιρλανδία. Πέρυσι που ήμουν στη Wikimania συζητούσα με το διοργανωτή του 1ου Celtic Knot ότι θα ήταν εξαιρετικό το ενδεχόμενο συμμετοχής εκπροσώπου(-ων) της Ποντιακής Βικιπαίδειας! Μόλις είδα λοιπόν την ανακοίνωση του συνεδρίου, σας κοινοποιώ [https://meta.wikimedia.org/wiki/Celtic_Knot_Conference_2020 εδώ] το σύνδεσμο και εύχομαι να τα κατάφερει κάποιος από εσάς να συμμετάσχει... και γιατί όχι, με παρουσίαση! Αν χρειαστείτε οτιδήποτε μπορείτε να μου αφήσετε μήνυμα στη σελίδα μου, ή να μου στείλετε μέιλ. Α, αξίζει να σημειώσω ότι πέρυσι για πρώτη φορά δόθηκαν κάποιες υποτροφίες που κάλυπταν μέρος των εξόδων του ταξιδιού. Δεν ξέρω αν θα γίνει το ίδιο φέτος, αξίζει πάντως να το δείτε. Με φιλικούς χαιρετισμούς από Κεφαλονιά, Μίνα Θ. --[[Χρήστες:Saintfevrier|Saintfevrier]] ([[Καλάτσεμαν χρήστε:Saintfevrier|συζήτηση]]) 22:03, 23 Κούντουρονος 2020 (UTC) == Additional interface for edit conflicts on talk pages == ''Sorry, for writing this text in English. If you could help to translate it, it would be appreciated.'' You might know the new interface for edit conflicts (currently a beta feature). Now, Wikimedia Germany is designing an additional interface to solve edit conflicts on talk pages. This interface is shown to you when you write on a discussion page and another person writes a discussion post in the same line and saves it before you do. With this additional editing conflict interface you can adjust the order of the comments and edit your comment. We are inviting everyone to have a look at [[m:WMDE Technical Wishes/Edit Conflicts#Edit conflicts on talk pages|the planned feature]]. Let us know what you think on our [[mw:Help talk:Two Column Edit Conflict View|central feedback page]]! -- For the Technical Wishes Team: [[m:User:Max Klemm (WMDE)|Max Klemm (WMDE)]] 14:15, 26 Κούντουρονος 2020 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Max Klemm (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=19845780 --> == WikiGap 2020 Russia == Уважаемые коллеги, пожалуйста выскажите своё мнение по поводу ''[[m:CentralNotice/Request/WikiGap 2020 Russia|баннерной кампании CentralNotice]]'' для объявления о российском викимарафоне [[wmru:Конкурсы/WikiGap 2020 Russia|WikiGap 2020]] (8 марта - 8 мая, все IP из России, только Википедии, 1 показ в неделю). Спасибо. [[Χρήστες:JukoFF|JukoFF]] ([[Καλάτσεμαν χρήστε:JukoFF|συζήτηση]]) 09:01, 27 Κούντουρονος 2020 (UTC) == Editing news 2020 #1 – Discussion tools == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> <em>[[m:VisualEditor/Newsletter/2020/April|Read this in another language]] • [[m:VisualEditor/Newsletter|Subscription list for this multilingual newsletter]]</em> [[File:TalkPages-Reply-v1.0.png|thumb|300px|alt=Screenshot showing what the Reply tool looks like|This early version of the Reply tool automatically signs and indents comments.]] The [[mw:Editing|Editing team]] has been working on [[mw:Talk pages project|the talk pages project]]. The goal of the talk pages project is to help contributors communicate on wiki more easily. This project is the result of the [[mw:Talk pages consultation 2019|Talk pages consultation 2019]]. [[File:TalkPages-Reply-v2.0.png|thumb|300px|alt=Reply tool improved with edit tool buttons|In a future update, the team plans to test a tool for easily linking to another user's name, a rich-text editing option, and other tools.]] The team is building a [[mw:Talk pages project/replying|new tool for replying]] to comments now. This early version can sign and indent comments automatically. <strong>Please [[mw:Talk pages project/replying/prototype testing#Reply%20version%201.0|test the new Reply tool]].</strong> *On 31 March 2020, the new {{Int:discussiontools-replylink}} tool was offered as a [[mw:Beta Feature|Beta Feature]] editors at four Wikipedias: [[w:ar:Special:Preferences#mw-prefsection-betafeatures|Arabic]], [[w:nl:Special:Preferences#mw-prefsection-betafeatures|Dutch]], [[w:fr:Special:Preferences#mw-prefsection-betafeatures|French]], and [[w:hu:Special:Preferences#mw-prefsection-betafeatures|Hungarian]]. If your community also wants early access to the new tool, contact [[User:Whatamidoing (WMF)]]. *The team is planning some upcoming changes. <strong>Please [[mw:Talk pages project/replying#Version%202.0|review the proposed design]] and share your thoughts on the talk page.</strong> The team will test features such as: **an easy way to mention another editor ("pinging"), **a rich-text visual editing option, and **other features identified through user testing or recommended by editors. To hear more about Editing Team updates, please add your name to the [[mw:Talk pages project#Get involved|<strong>"Get involved"</strong>]] section of the project page. You can also watch [[File:MediaWiki Vector skin blue star watchlist icon.svg|frameless|16px]] these pages: [[mw:Talk pages project|the main project page]], [[mw:Talk pages project/Updates|Updates]], [[mw:Talk pages project/replying|Replying]], and [[mw:Talk pages project/replying/prototype testing|User testing]]. – [[user:PPelberg (WMF)|PPelberg (WMF)]] ([[mw:User talk:PPelberg (WMF)|talk]]) & [[User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[mw:User talk:Whatamidoing (WMF)|talk]]) </div> 19:25, 8 Απρίλ 2020 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Quiddity (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Quiddity_(WMF)/sandbox2&oldid=19967064 --> == Editing news 2020 #2 == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> <em>[[m:Special:MyLanguage/VisualEditor/Newsletter/2020/June|Read this in another language]] • [[m:Special:MyLanguage/VisualEditor/Newsletter|Subscription list for this multilingual newsletter]]</em> [[File:TalkPages-Reply-v2.0.png|alt=Mockup of the new reply feature, showing new editing tools|thumb|400x400px|The new features include a toolbar. [[mw:Talk:Talk pages project/replying|What do you think should be in the toolbar?]]]] This issue of the [[mw:Special:MyLanguage/Editing|Editing]] newsletter includes information the [[mw:Special:MyLanguage/Talk pages project|Talk pages project]], an effort to help contributors communicate on wiki more easily. * [[mw:Special:MyLanguage/Talk pages project/replying|<strong>Reply tool</strong>]]: This is available as a Beta Feature at the four partner wikis (Arabic, Dutch, French, and Hungarian Wikipedias). The Beta Feature is called "{{int:discussiontools-preference-label}}". The Beta Feature will get [[mw:Special:MyLanguage/Talk pages project/replying#Version%202.0|new features]] soon. The new features include writing comments in a new visual editing mode and pinging other users by typing <code>@</code>. You can [[mw:Special:MyLanguage/Talk pages project/replying/prototype testing#Reply%20tool%20version%202.0|test the new features]] on the [[mw:Special:MyLanguage/Beta Cluster|Beta Cluster]] now. Some other wikis will have a chance to try the Beta Feature in the coming months. * [[mw:Special:MyLanguage/New requirements for user signatures|<strong>New requirements for user signatures</strong>]]: Soon, users will not be able to save invalid custom signatures in [[Special:Preferences]]. This will reduce signature spoofing, prevent page corruption, and make new talk page tools more reliable. Most editors will not be affected. * [[mw:Special:MyLanguage/Talk pages project/New discussion|<strong>New discussion tool</strong>]]: The Editing team is beginning work on a simpler process for starting new discussions. You can [[mw:Special:MyLanguage/Talk pages project/New discussion#Design|see the initial design on the project page]]. * [[m:Special:MyLanguage/Research:Usage of talk pages|<strong>Research on the use of talk pages</strong>]]: The Editing team worked with the [[mw:Special:MyLanguage/Wikimedia Research|Wikimedia research team]] to study how talk pages help editors improve articles. We learned that new editors who use talk pages make more edits to the main namespace than new editors who don't use talk pages. – [[User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[User talk:Whatamidoing (WMF)|talk]]) </div> 20:33, 17 Κερασινού 2020 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Trizek (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Trizek_(WMF)/sandbox/temp_MassMessage_list&oldid=20184653 --> == Annual contest Wikipedia Pages Wanting Photos == [[File:WPWP logo 1.png|150px|right|Wikipedia Pages Wanting Photos (WPWP)]] This is to invite you to join the Wikipedia Pages Wanting Photos (WPWP) campaign to help improve Wikipedia articles with photos and win prizes. The campaign starts today 1st July 2020 and closes 31st August 2020. The campaign primarily aims at using images from Wikimedia Commons on Wikipedia articles that are lacking images. Participants will choose among Wikipedia pages without photo images, then add a suitable file from among the many thousands of photos in the Wikimedia Commons, especially those uploaded from thematic contests (Wiki Loves Africa, Wiki Loves Earth, Wiki Loves Folklore, etc.) over the years. Please visit the '''[[m:Wikipedia Pages Wanting Photos|campaign page]]''' to learn more about the WPWP Campaign. With kind regards, Thank you, Deborah Schwartz Jacobs, Communities Liaison, On behalf of the Wikipedia Pages Wanting Photos Organizing Team - 08:24, 1 Χορτοθερί 2020 (UTC) ''feel free to translate this message to your local language when this helps your community'' <!-- Το μήνυμα στάλθηκε από τον User:Romaine@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Romaine/MassMessage&oldid=20232618 --> == Feedback on movement names == {{int:Hello}}. Apologies if you are not reading this message in your native language. {{int:please-translate}} if necessary. {{Int:Feedback-thanks-title}} There are a lot of conversations happening about the future of our movement names. We hope that you are part of these discussions and that your community is represented. Since 16 June, the Foundation Brand Team has been running a [https://wikimedia.qualtrics.com/jfe/form/SV_9G2dN7P0T7gPqpD survey] in 7 languages about [[m:Special:MyLanguage/Communications/Wikimedia brands/2030 movement brand project/Naming convention proposals|3 naming options]]. There are also community members sharing concerns about renaming in a [[m:Special:MyLanguage/Community open letter on renaming|Community Open Letter]]. Our goal in this call for feedback is to hear from across the community, so we encourage you to participate in the survey, the open letter, or both. The survey will go through 7 July in all timezones. Input from the survey and discussions will be analyzed and published on Meta-Wiki. Thanks for thinking about the future of the movement, --[[:m:Talk:Communications/Wikimedia brands/2030 movement brand project|The Brand Project team]], 19:42, 2 Χορτοθερί 2020 (UTC) ''Note: The survey is conducted via a third-party service, which may subject it to additional terms. For more information on privacy and data-handling, see the [[foundation:Special:MyLanguage/Naming Convention Proposals Movement Feedback Survey Privacy Statement|survey privacy statement]].'' <!-- Το μήνυμα στάλθηκε από τον User:Elitre (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Elitre_(WMF)/All_wikis_June_2020&oldid=20238830 --> == Editing news 2020 #3 == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> <em>[[m:VisualEditor/Newsletter/2020/July|Read this in another language]] • [[m:VisualEditor/Newsletter|Subscription list for this multilingual newsletter]]</em> [[File:50M@2x.png|thumb|alt=A gold star with a blue ribbon, and the text 50m|More than <strong>50 million edits</strong> have been made using the visual editor on desktop.|400px]] Seven years ago this month, the [[mw:Editing team|Editing team]] offered the visual editor to most Wikipedia editors. Since then, editors have achieved many milestones: * More than <strong>50 million edits</strong> have been made using the visual editor on desktop. * More than <strong>2 million new articles</strong> have been created in the visual editor. More than 600,000 of these new articles were created during 2019. * The visual editor is <strong>increasingly popular</strong>. The proportion of all edits made using the visual editor has increased every year since its introduction. * In 2019, <strong>35% of the edits by newcomers</strong> (logged-in editors with ≤99 edits) used the visual editor. This percentage has <strong>increased every year</strong>. * Almost <strong>5 million edits on the mobile site</strong> have been made with the visual editor. Most of these edits have been made since the Editing team started improving the [[mw:Mobile visual editor|mobile visual editor]] in 2018. * On 17 November 2019, the [https://discuss-space.wmflabs.org/t/first-edit-made-to-wikipedia-from-outer-space/2254 <strong>first edit from outer space</strong>] was made in the mobile visual editor. 🚀 👩‍🚀 * Editors have made more than <strong>7 million edits in the 2017 wikitext editor</strong>, including starting <strong>600,000 new articles</strong> in it. The [[mw:2017 wikitext editor|2017 wikitext editor]] is VisualEditor's built-in wikitext mode. You can [[Special:Preferences#mw-prefsection-betafeatures|enable it in your preferences]]. [[User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[User talk:Whatamidoing (WMF)|talk]]) </div> 12:55, 9 Χορτοθερί 2020 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Elitre (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=VisualEditor/Newsletter/Wikis_with_VE&oldid=20232673 --> == Announcing a new wiki project! Welcome, Abstract Wikipedia == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hi all, It is my honor to introduce Abstract Wikipedia, a new project that has been unanimously approved by the Wikimedia Foundation Board of Trustees. Abstract Wikipedia proposes a new way to generate baseline encyclopedic content in a multilingual fashion, allowing more contributors and more readers to share more knowledge in more languages. It is an approach that aims to make cross-lingual cooperation easier on our projects, increase the sustainability of our movement through expanding access to participation, improve the user experience for readers of all languages, and innovate in free knowledge by connecting some of the strengths of our movement to create something new. This is our first new project in over seven years. Abstract Wikipedia was submitted as a project proposal by Denny Vrandečić in May 2020 <ref>[[m:Special:MyLanguage/Abstract Wikipedia|Abstract Wikipedia]]</ref> after years of preparation and research, leading to a detailed plan and lively discussions in the Wikimedia communities. We know that the energy and the creativity of the community often runs up against language barriers, and information that is available in one language may not make it to other language Wikipedias. Abstract Wikipedia intends to look and feel like a Wikipedia, but build on the powerful, language-independent conceptual models of Wikidata, with the goal of letting volunteers create and maintain Wikipedia articles across our polyglot Wikimedia world. The project will allow volunteers to assemble the fundamentals of an article using words and entities from Wikidata. Because Wikidata uses conceptual models that are meant to be universal across languages, it should be possible to use and extend these building blocks of knowledge to create models for articles that also have universal value. Using code, volunteers will be able to translate these abstract “articles” into their own languages. If successful, this could eventually allow everyone to read about any topic in Wikidata in their own language. As you can imagine, this work will require a lot of software development, and a lot of cooperation among Wikimedians. In order to make this effort possible, Denny will join the Foundation as a staff member in July and lead this initiative. You may know Denny as the creator of Wikidata, a long-time community member, a former staff member at Wikimedia Deutschland, and a former Trustee at the Wikimedia Foundation <ref>[[m:User:Denny|User:Denny]]</ref>. We are very excited that Denny will bring his skills and expertise to work on this project alongside the Foundation’s product, technology, and community liaison teams. It is important to acknowledge that this is an experimental project, and that every Wikipedia community has different needs. This project may offer some communities great advantages. Other communities may engage less. Every language Wikipedia community will be free to choose and moderate whether or how they would use content from this project. We are excited that this new wiki-project has the possibility to advance knowledge equity through increased access to knowledge. It also invites us to consider and engage with critical questions about how and by whom knowledge is constructed. We look forward to working in cooperation with the communities to think through these important questions. There is much to do as we begin designing a plan for Abstract Wikipedia in close collaboration with our communities. I encourage you to get involved by going to the project page and joining the new mailing list <ref>[[mail:abstract-wikipedia|Abstract Wikipedia mailing list]]</ref>. We recognize that Abstract Wikipedia is ambitious, but we also recognize its potential. We invite you all to join us on a new, unexplored path. Yours, Katherine Maher (Executive Director, Wikimedia Foundation) <references/> </div> <small>Sent by [[:m:User:Elitre (WMF)]] 20:10, 9 Χορτοθερί 2020 (UTC) - '''[[:m:Special:MyLanguage/Abstract Wikipedia/July 2020 announcement]]''' </small> <!-- Το μήνυμα στάλθηκε από τον User:Elitre (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Elitre_(WMF)/All_wikis_June_2020&oldid=20265921 --> == The Universal Code of Conduct (UCoC): we want to hear from you. == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> ''{{int:Hello}}. Apologies that you may not be reading this message in your native language: translations of the following message may be available on [[:m:Special:MyLanguage/Universal Code of Conduct/Message to small and medium sized wikis|Meta]]. {{int:please-translate}}. {{Int:Feedback-thanks-title}}''<br> At times, our contributor communities and projects have suffered from a lack of guidelines that can help us create an environment where free knowledge can be shared safely without fear. There has been talk about the need for a global set of conduct rules in different communities over time. Recently, the Wikimedia Foundation Board of Trustees announced a [[:m:Special:MyLanguage/Wikimedia_Foundation_Board_noticeboard/May_2020_-_Board_of_Trustees_on_Healthy_Community_Culture,_Inclusivity,_and_Safe_Spaces|Community Culture Statement]], asking for new standards to address harassment and promote inclusivity across projects. The universal code of conduct will be a binding minimum set of standards across all Wikimedia projects, and will apply to all of us, staff and volunteers alike, all around the globe. It is of great importance that we all participate in expressing our opinions and thoughts about UCoC and its values. We should think about what we want it to cover or include and what it shouldn’t include, and how it may create difficulties or help our groups. This is the time to talk about it. Before starting drafting the code of conduct, we would like to hear from you and to solicit the opinions and feedback of your colleagues. In order for your voice to be heard, we encourage and invite you to read more about [[:m:Special:MyLanguage/Universal_Code_of_Conduct|the universal code of conduct (UCoC)]] and then write down your opinions or feedback [[:m:Talk:Universal_Code_of_Conduct|on the discussion page]]. To reduce language barriers during the process, you are welcome to translate [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Universal+Code+of+Conduct&language=en&action=page&filter= the universal code of conduct main page] from English into your respective local language. You and your community may choose to provide your opinions/feedback using your local languages. Thanks in advance for your attention and contributions, [[:m:Talk:Trust_and_Safety|The Trust and Safety team at Wikimedia Foundation]] 16:42, 22 Χορτοθερί 2020 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Elitre (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Universal_Code_of_Conduct/Message_to_small_and_medium_sized_wikis/List&oldid=20303398 --> == Technical Wishes: FileExporter and FileImporter become default features on all Wikis == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> The [[m:WMDE_Technical_Wishes/Move_files_to_Commons|FileExporter and FileImporter]] will become a default features on all wikis until August 7, 2020. They are planned to help you to move files from your local wiki to Wikimedia Commons easier while keeping all original file information (Description, Source, Date, Author, View History) intact. Additionally, the move is documented in the files view history. How does it work? Step 1: If you are an auto-confirmed user, you will see a link "Move file to Wikimedia Commons" on the local file page. Step 2: When you click on this link, the FileImporter checks if the file can in fact be moved to Wikimedia Commons. These checks are performed based on the wiki's [[m:WMDE_Technical_Wishes/Move_files_to_Commons/Configuration_file_documentation|configuration file]] which is created and maintained by each local wiki community. Step 3: If the file is compatible with Wikimedia Commons, you will be taken to an import page, at which you can update or add information regarding the file, such as the description. You can also add the 'Now Commons' template to the file on the local wiki by clicking the corresponding check box in the import form. Admins can delete the file from the local wiki by enabling the corresponding checkbox. By clicking on the 'Import' button at the end of the page, the file is imported to Wikimedia Commons. If you want to know more about the [[m:WMDE_Technical_Wishes/Move_files_to_Commons|FileImporter extension]] or the [[m:WMDE_Technical_Wishes|Technical Wishes Project]], follow the links. --For the Technical Wishes Team: </div>[[User:Max Klemm (WMDE)|Max Klemm (WMDE)]] 09:14, 6 Aλωναρί 2020 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Max Klemm (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=20343133 --> ==Alumni and Mentors of Russia 2020== Уважаемые коллеги, пожалуйста выскажите своё мнение по поводу ''[[m:CentralNotice/Request/Alumni and Mentors of Russia 2020|баннерной кампании CentralNotice]]'' для объявления о российском конкурсе статей [[wmru:Конкурсы/Выпускники и наставники России 2020|Конкурсы/Выпускники и наставники России 2020]] (20 августа - 10 ноября 2020, все IP из России, Википедии, 1 показ в две недели). Спасибо. [[Χρήστες:JukoFF|JukoFF]] ([[Καλάτσεμαν χρήστε:JukoFF|συζήτηση]]) 17:24, 10 Aλωναρί 2020 (UTC) == Important: maintenance operation on September 1st == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch 2020|Read this message in another language]] • [[:m:Special:MyLanguage/Tech/Server switch 2020|{{int:please-translate}}]] The [[foundation:|Wikimedia Foundation]] will be testing its secondary data centre. This will make sure that Wikipedia and the other Wikimedia wikis can stay online even after a disaster. To make sure everything is working, the Wikimedia Technology department needs to do a planned test. This test will show if they can reliably switch from one data centre to the other. It requires many teams to prepare for the test and to be available to fix any unexpected problems. They will switch all traffic to the secondary data centre on '''Tuesday, September 1st 2020'''. Unfortunately, because of some limitations in [[mw:Manual:What is MediaWiki?|MediaWiki]], all editing must stop while the switch is made. We apologize for this disruption, and we are working to minimize it in the future. '''You will be able to read, but not edit, all wikis for a short period of time.''' *You will not be able to edit for up to an hour on Tuesday, September 1st. The test will start at [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20200901T14 14:00 UTC] (15:00 BST, 16:00 CEST, 10:00 EDT, 19:30 IST, 07:00 PDT, 23:00 JST, and in New Zealand at 02:00 NZST on Wednesday September 2). *If you try to edit or save during these times, you will see an error message. We hope that no edits will be lost during these minutes, but we can't guarantee it. If you see the error message, then please wait until everything is back to normal. Then you should be able to save your edit. But, we recommend that you make a copy of your changes first, just in case. ''Other effects'': *Background jobs will be slower and some may be dropped. Red links might not be updated as quickly as normal. If you create an article that is already linked somewhere else, the link will stay red longer than usual. Some long-running scripts will have to be stopped. *There will be code freezes for the week of September 1st, 2020. Non-essential code deployments will not happen. This project may be postponed if necessary. You can [[wikitech:Switch Datacenter#Schedule for 2018 switch|read the schedule at wikitech.wikimedia.org]]. Any changes will be announced in the schedule. There will be more notifications about this. '''Please share this information with your community.''' </div></div> <span dir=ltr>[[m:User:Trizek (WMF)|Trizek (WMF)]] ([[m:User talk:Trizek (WMF)|talk]])</span> 13:48, 26 Aλωναρί 2020 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Trizek (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=20384955 --> == New Wikipedia Library Collections Now Available (September 2020) == <div lang="en" dir="ltr" class="mw-content-ltr"> Hello Wikimedians! [[File:Wikipedia_Library_owl.svg|thumb|upright|The TWL owl says sign up today!]] [[m:The Wikipedia Library|The Wikipedia Library]] is announcing new free, full-access, accounts to reliable sources as part of our [https://wikipedialibrary.wmflabs.org/partners/ research access program]. You can sign up for new accounts and research materials on the [https://wikipedialibrary.wmflabs.org/ Library Card platform]: * '''[https://wikipedialibrary.wmflabs.org/partners/101/ Al Manhal]''' – Arabic journals and ebooks * '''[https://wikipedialibrary.wmflabs.org/partners/102/ Ancestry.com]''' – Genealogical and historical records * '''[https://wikipedialibrary.wmflabs.org/partners/100/ RILM]''' – Music encyclopedias Many other partnerships are listed on [https://wikipedialibrary.wmflabs.org/partners/ our partners page], including [https://wikipedialibrary.wmflabs.org/partners/49/ Adam Matthew], [https://wikipedialibrary.wmflabs.org/partners/57/ EBSCO], [https://wikipedialibrary.wmflabs.org/partners/55/ Gale] and [https://wikipedialibrary.wmflabs.org/partners/54/ JSTOR]. A significant portion of our collection now no longer requires individual applications to access! Read more in our [https://diff.wikimedia.org/2020/06/24/simplifying-your-research-needs-the-wikipedia-library-launches-new-technical-improvements-and-partnerships/ recent blog post]. Do better research and help expand the use of high quality references across Wikipedia projects! <br>--[[w:en:Wikipedia:TWL/Coordinators|The Wikipedia Library Team]] 09:49, 3 Σταυρί 2020 (UTC) :<small>This message was delivered via the [https://meta.wikimedia.org/wiki/MassMessage#Global_message_delivery Global Mass Message] tool to [https://meta.wikimedia.org/wiki/Global_message_delivery/Targets/Wikipedia_Library The Wikipedia Library Global Delivery List].</small> </div> <!-- Το μήνυμα στάλθηκε από τον User:Samwalton9@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikipedia_Library&oldid=20418180 --> == Invitation to participate in the conversation == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> ''{{int:Hello}}. Apologies for cross-posting, and that you may not be reading this message in your native language: translations of the following announcement may be available on '''[[:m:Special:MyLanguage/Universal Code of Conduct/Draft review/Invitation (long version)|Meta]]'''. {{int:please-translate}}. {{Int:Feedback-thanks-title}}'' We are excited to share '''[[:m:Special:MyLanguage/Universal Code of Conduct/Draft review|a draft of the Universal Code of Conduct]]''', which the Wikimedia Foundation Board of Trustees called for earlier this year, for your review and feedback. The discussion will be open until October 6, 2020. The UCoC Drafting Committee wants to learn which parts of the draft would present challenges for you or your work. What is missing from this draft? What do you like, and what could be improved? Please join the conversation and share this invitation with others who may be interested to join, too. To reduce language barriers during the process, you are welcomed to translate this message and the [[:m:Special:MyLanguage/Universal Code of Conduct/Draft review|Universal Code of Conduct/Draft review]]. You and your community may choose to provide your opinions/feedback using your local languages. To learn more about the UCoC project, see the [[:m:Special:MyLanguage/Universal Code of Conduct|Universal Code of Conduct]] page, and the [[:m:Special:MyLanguage/Universal Code of Conduct/FAQ|FAQ]], on Meta. Thanks in advance for your attention and contributions, [[:m:Talk:Trust_and_Safety|The Trust and Safety team at Wikimedia Foundation]], 17:55, 10 Σταυρί 2020 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Elitre (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Universal_Code_of_Conduct/Draft_review/Invitation_(long_version)/List&oldid=20440292 --> == Wiki of functions naming contest == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> {{int:Please-translate}} {{int:Hello}}. Please help pick a name for the new Wikimedia wiki project. This project will be a wiki where the community can work together on a library of [[m:Special:MyLanguage/Abstract_Wikipedia/Wiki_of_functions_naming_contest#function|functions]]. The community can create new functions, read about them, discuss them, and share them. Some of these functions will be used to help create language-independent Wikipedia articles that can be displayed in any language, as part of the Abstract Wikipedia project. But functions will also be usable in many other situations. There will be two rounds of voting, each followed by legal review of candidates, with voting beginning on 29 September and 27 October. Our goal is to have a final project name selected on 8 December. If you would like to participate, then '''[[m:Special:MyLanguage/Abstract Wikipedia/Wiki of functions naming contest|please learn more and vote now]]''' at meta-wiki. {{Int:Feedback-thanks-title}} --[[m:User:Quiddity (WMF)|Quiddity (WMF)]]</div> 21:22, 29 Σταυρί 2020 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Quiddity (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Quiddity_(WMF)/Global_message_delivery_split_5&oldid=20492309 --> == Call for feedback about Wikimedia Foundation Bylaws changes and Board candidate rubric == <div lang="en" dir="ltr" class="mw-content-ltr"> {{int:Hello}}. Apologies if you are not reading this message in your native language. {{Int:Please-translate}}. Today the Wikimedia Foundation Board of Trustees starts two calls for feedback. One is about changes to the Bylaws mainly to increase the Board size from 10 to 16 members. The other one is about a trustee candidate rubric to introduce new, more effective ways to evaluate new Board candidates. The Board welcomes your comments through 26 October. For more details, [[m:Special:MyLanguage/Wikimedia Foundation Board noticeboard/October 2020 - Call for feedback about Bylaws changes and Board candidate rubric|check the full announcement]]. {{Int:Feedback-thanks-title}} [[m:User:Qgil-WMF|Qgil-WMF]] ([[m:User talk:Qgil-WMF|talk]]) 17:17, 7 Τρυγομηνά 2020 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Elitre (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Elitre_(WMF)/Board&oldid=20519859 --> == Important: maintenance operation on October 27 == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch 2020|Read this message in another language]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Tech%2FServer+switch+2020&language=&action=page&filter= {{int:please-translate}}] The [[foundation:|Wikimedia Foundation]] tests the switch between its first and secondary data centers. This will make sure that Wikipedia and the other Wikimedia wikis can stay online even after a disaster. To make sure everything is working, the Wikimedia Technology department needs to do a planned test. This test will show if they can reliably switch from one data centre to the other. It requires many teams to prepare for the test and to be available to fix any unexpected problems. They will switch all traffic back to the primary data center on '''Tuesday, October 27 2020'''. Unfortunately, because of some limitations in [[mw:Manual:What is MediaWiki?|MediaWiki]], all editing must stop while the switch is made. We apologize for this disruption, and we are working to minimize it in the future. '''You will be able to read, but not edit, all wikis for a short period of time.''' *You will not be able to edit for up to an hour on Tuesday, October 27. The test will start at [https://zonestamp.toolforge.org/1603807200 14:00 UTC] (14:00 WET, 15:00 CET, 10:00 EDT, 19:30 IST, 07:00 PDT, 23:00 JST, and in New Zealand at 03:00 NZDT on Wednesday October 28). *If you try to edit or save during these times, you will see an error message. We hope that no edits will be lost during these minutes, but we can't guarantee it. If you see the error message, then please wait until everything is back to normal. Then you should be able to save your edit. But, we recommend that you make a copy of your changes first, just in case. ''Other effects'': *Background jobs will be slower and some may be dropped. Red links might not be updated as quickly as normal. If you create an article that is already linked somewhere else, the link will stay red longer than usual. Some long-running scripts will have to be stopped. *There will be code freezes for the week of October 26, 2020. Non-essential code deployments will not happen. This project may be postponed if necessary. You can [[wikitech:Switch_Datacenter#Schedule_for_2020_switch|read the schedule at wikitech.wikimedia.org]]. Any changes will be announced in the schedule. There will be more notifications about this. A banner will be displayed on all wikis 30 minutes before this operation happens. '''Please share this information with your community.'''</div></div> -- <span dir=ltr>[[m:User:Trizek (WMF)|Trizek (WMF)]] ([[m:User talk:Trizek (WMF)|talk]])</span> 17:11, 21 Τρυγομηνά 2020 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Trizek (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=20519839 --> == Wiki of functions naming contest - Round 2 == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> {{int:Hello}}. Reminder: Please help to choose the name for the new Wikimedia wiki project - the library of functions. The finalist vote starts today. The finalists for the name are: <span lang="en" dir="ltr" class="mw-content-ltr">Wikicode, Wikicodex, Wikifunctions, Wikifusion, Wikilambda, Wikimedia Functions</span>. If you would like to participate, then '''[[m:Special:MyLanguage/Abstract Wikipedia/Wiki of functions naming contest/Names|please learn more and vote now]]''' at Meta-wiki. {{Int:Feedback-thanks-title}} --[[m:User:Quiddity (WMF)|Quiddity (WMF)]] </div> 22:10, 5 Αεργί 2020 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Quiddity (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=20564572 --> == [[m:Special:MyLanguage/Community Wishlist Survey 2021/Invitation|Community Wishlist Survey 2021]] == <div class="plainlinks mw-content-ltr" lang="el" dir="ltr"> [[File:Magic Wand Icon 229981 Color Flipped.svg|thumb|48px]] H '''[[m:Special:MyLanguage/Community Wishlist Survey 2021|Δημοσκόπηση Επιθυμιών της Κοινότητας 2021]]''' έχει τώρα ανοίξει! Η δημοσκόπηση αυτή αποτελεί την μέθοδο μέσω της οποίας οι κοινότητες αποφασίζουν σε τί θα εργαστεί η ομάδα [[m:Community Tech|Community Tech]] μέσα στην επόμενη χρονιά. Ενθαρρύνουμε όλους να συμβάλλουν με προτάσεις μέχρι τις '''{{#time:j xg|2020-11-30|{{PAGELANGUAGE}}}}''', ή να σχολιάσουν τις υπάρχουσες προτάσεις ώστε να βελτιωθούν. Οι κοινότητες θα μπορούν να ψηφίσουν τις προτάσεις μεταξύ {{#time:j xg|2020-12-08|{{PAGELANGUAGE}}}} και {{#time:j xg|2020-12-21|{{PAGELANGUAGE}}}}. Η ομάδα Community Tech εστιάζει σε εργαλεία για έμπειρους συντάκτες. Μπορείτε να συντάξετε προτάσεις σε οποιαδήποτε γλώσσα, και θα τις μεταφράσουμε για εσάς. Ευχαριστούμε και ανυπομονούμε να δούμε τις προτάσεις σας! </div> <span lang="en" dir="ltr" class="mw-content-ltr">[[m:user:SGrabarczuk (WMF)|SGrabarczuk (WMF)]]</span> 18:11, 20 Αεργί 2020 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:SGrabarczuk (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:SGrabarczuk_(WMF)/sandbox/MM/Other_TOP30&oldid=20692843 --> == Global bot policy proposal: invitation to a Meta discussion == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> {{int:hello}}! I apologize for sending a message in English. {{int:please-translate}}. According to [[:m:Bot_policy/Implementation#Where_it_is_policy|the list]], your wiki project currently is opted in to the [[:m:Bot_policy#Global_bots|global bot policy]]. Under this policy, bots that fix double redirects or maintain interwiki links are allowed to operate under a global bot flag that is assigned directly by the stewards. As the Wikimedia projects developed, the need for the current global bot policy decreased, and in the past years, no bots were appointed via that policy. That is mainly given Wikidata were estabilished in 2013, and it is no longer necessary to have dozens of bots that maintain interwiki links. A [[:m:Requests for comment/Refine global bot policy|proposal]] was made at Meta-Wiki, which proposes that the stewards will be authorized to determine whether an uncontroversial task may be assigned a global bot flag. The stewards already assign permissions that are more impactful on many wikis, namely, [[:m:GS|global sysops]] and [[:m:GR|global renamers]], and I do not think that trust should be an issue. The stewards will assign the permission only to time-proven bots that are already approved at a number of projects, like [[:m:User:ListeriaBot|ListeriaBot]]. By this message, I would like to invite you to comment [[:m:Requests for comment/Refine global bot policy|in the global RFC]], to voice your opinion about this matter. Thank you for your time. Best regards,<br /> [[User:Martin Urbanec|Martin Urbanec]] ([[:m:User talk:Martin Urbanec|{{int:Talkpagelinktext}}]]) 11:49, 24 Αεργί 2020 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Martin Urbanec@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Martin_Urbanec/sand&oldid=20709229 --> == Wikidata descriptions changes to be included more often in Recent Changes and Watchlist == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> ''Sorry for sending this message in English. Translations are available on [[m:Special:MyLanguage/Announcements/Announcement Wikidata descriptions in watchlist|this page]]. Feel free to translate it in more languages!'' As you may know, you can include changes coming from Wikidata in your Watchlist and Recent Changes ([[Special:Preferences#mw-prefsection-watchlist|in your preferences]]). Until now, this feature didn’t always include changes made on Wikidata descriptions due to the way Wikidata tracks the data used in a given article. Starting on December 3rd, the Watchlist and Recent Changes will include changes on the descriptions of Wikidata Items that are used in the pages that you watch. This will only include descriptions in the language of your wiki to make sure that you’re only seeing changes that are relevant to your wiki. This improvement was requested by many users from different projects. We hope that it can help you monitor the changes on Wikidata descriptions that affect your wiki and participate in the effort of improving the data quality on Wikidata for all Wikimedia wikis and beyond. Note: if you didn’t use the Wikidata watchlist integration feature for a long time, feel free to give it another chance! The feature has been improved since the beginning and the content it displays is more precise and useful than at the beginning of the feature in 2015. If you encounter any issue or want to provide feedback, feel free to use [[Phab:T191831|this Phabricator ticket]]. Thanks! [[:d:User:Lea Lacroix (WMDE)|Lea Lacroix (WMDE)]] 14:39, 30 Αεργί 2020 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Lea Lacroix (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Lea_Lacroix_(WMDE)/wikis&oldid=20728482 --> == 2020 Coolest Tool Award Ceremony on December 11th == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hello all, The ceremony of the 2020 [[m:Coolest_Tool_Award|Wikimedia Coolest Tool Award]] will take place virtually on Friday, December 11th, at 17:00 GMT. This award is highlighting tools that have been nominated by contributors to the Wikimedia projects, and the ceremony will be a nice moment to show appreciation to the tools developers and maybe discover new tools! You will find more information [[m:Coolest_Tool_Award|here]] about the livestream and the discussions channels. Thanks for your attention, [[:d:User:Lea Lacroix (WMDE)|Lea Lacroix (WMDE)]] 10:55, 7 Χριστουγενναρί 2020 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Lea Lacroix (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=20734978 --> == [[m:Special:MyLanguage/Community Wishlist Survey 2021|Community Wishlist Survey 2021]] == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> [[File:Magic Wand Icon 229981 Color Flipped.svg|thumb|48px]] '''We invite all registered users to vote on the [[m:Special:MyLanguage/Community Wishlist Survey 2021|2021 Community Wishlist Survey]]. You can vote from now until {{#time:j xg|2020-12-21|en}} for as many different wishes as you want.''' In the Survey, wishes for new and improved tools for experienced editors are collected. After the voting, we will do our best to grant your wishes. We will start with the most popular ones. We, the [[m:Special:MyLanguage/Community Tech|Community Tech]], are one of the [[m:Special:MyLanguage/Wikimedia Foundation|Wikimedia Foundation]] teams. We create and improve editing and wiki moderation tools. What we work on is decided based on results of the Community Wishlist Survey. Once a year, you can submit wishes. After two weeks, you can vote on the ones that you're most interested in. Next, we choose wishes from the survey to work on. Some of the wishes may be granted by volunteer developers or other teams. We are waiting for your votes. Thank you! </div> [[user:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] 15:58, 11 Χριστουγενναρί 2020 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:SGrabarczuk (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:SGrabarczuk_(WMF)/sandbox/MM/Other_TOP30&oldid=20692843 --> == Moving Wikimania 2021 to a Virtual Event == <div class="mw-content-ltr" lang="en" dir="ltr"> [[File:Wikimania_logo_with_text_2.svg|right|alt=Wikimania's logo.|75px]] ''{{int:Hello}}. Apologies if you are not reading this message in your native language. {{Int:Please-translate}}. {{Int:Feedback-thanks-title}}'' [[:m:Wikimania 2021|Wikimania will be a virtual event this year]], and hosted by a wide group of community members. Whenever the next in-person large gathering is possible again, [[:m:ESEAP Hub|the ESEAP Core Organizing Team]] will be in charge of it. Stay tuned for more information about how ''you'' can get involved in the planning process and other aspects of the event. [https://lists.wikimedia.org/pipermail/wikimedia-l/2021-January/096141.html Please read the longer version of this announcement on wikimedia-l]. ''ESEAP Core Organizing Team, Wikimania Steering Committee, Wikimedia Foundation Events Team'', 15:16, 27 Καλανταρί 2021 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Elitre (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Elitre_(WMF)/Wikimania21&oldid=21014617 --> == Project Grant Open Call == This is the announcement for the [[m:Grants:Project|Project Grants program]] open call that started on January 11, with the submission deadline of February 10, 2021.<br> This first open call will be focussed on Community Organizing proposals. A second open call focused on research and software proposals is scheduled from February 15 with a submission deadline of March 16, 2021.<br> For the Round 1 open call, we invite you to propose grant applications that fall under community development and organizing (offline and online) categories. Project Grant funds are available to support individuals, groups, and organizations to implement new experiments and proven ideas, from organizing a better process on your wiki, coordinating a campaign or editathon series to providing other support for community building. We offer the following resources to help you plan your project and complete a grant proposal:<br> * Weekly proposals clinics via Zoom during the Open Call. Join us for [[m:Grants:Project|#Upcoming_Proposal_Clinics|real-time discussions]] with Program Officers and select thematic experts and get live feedback about your Project Grants proposal. We’ll answer questions and help you make your proposal better. We also offer these support pages to help you build your proposal: * [[m:Grants:Project/Tutorial|Video tutorials]] for writing a strong application<br> * General [[m:Grants:Project/Plan|planning page]] for Project Grants <br> * [[m:Grants:Project/Learn|Program guidelines and criteria]]<br> Program officers are also available to offer individualized proposal support upon request. Contact us if you would like feedback or more information.<br> We are excited to see your grant ideas that will support our community and make an impact on the future of Wikimedia projects. Put your idea into motion, and [[m:Grants:Project/Apply|submit your proposal]] by February 10, 2021!<br> Please feel free to get in touch with questions about getting started with your grant application, or about serving on the Project Grants Committee. Contact us at projectgrants{{at}}wikimedia.org. Please help us translate this message to your local language. [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 08:01, 28 Καλανταρί 2021 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RSharma (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=20808431 --> == New Wikipedia Library Collections Available Now (February 2021) == <div lang="en" dir="ltr" class="mw-content-ltr"> Hello Wikimedians! [[File:Wikipedia_Library_owl.svg|thumb|upright|The TWL owl says sign up today!]] [[m:The Wikipedia Library|The Wikipedia Library]] is announcing new free, full-access, accounts to reliable sources as part of our [https://wikipedialibrary.wmflabs.org/partners/ research access program]. You can sign up to access research materials on the [https://wikipedialibrary.wmflabs.org/ Library Card platform]: * '''[https://wikipedialibrary.wmflabs.org/partners/103/ Taxmann]''' – Taxation and law database * '''[https://wikipedialibrary.wmflabs.org/partners/104/ PNAS]''' – Official journal of the National Academy of Sciences * '''[https://wikipedialibrary.wmflabs.org/partners/57/ EBSCO]''' – New Arabic and Spanish language databases added We have a wide array of [https://wikipedialibrary.wmflabs.org/partners/ other collections available], and a significant number now no longer require individual applications to access! Read more in our [https://diff.wikimedia.org/2020/06/24/simplifying-your-research-needs-the-wikipedia-library-launches-new-technical-improvements-and-partnerships/ blog post]. Do better research and help expand the use of high quality references across Wikipedia projects! :<small>This message was delivered via the [https://meta.wikimedia.org/wiki/MassMessage#Global_message_delivery Global Mass Message] tool to [https://meta.wikimedia.org/wiki/Global_message_delivery/Targets/Wikipedia_Library The Wikipedia Library Global Delivery List].</small> --12:57, 1 Κούντουρονος 2021 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Samwalton9@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikipedia_Library&oldid=21022367 --> == Wiki Loves Folklore 2021 is back! == <div lang="en" dir="ltr" class="mw-content-ltr"> {{int:please-translate}} [[File:Wiki Loves Folklore Logo.svg|right|150px|frameless]] You are humbly invited to participate in the '''[[:c:Commons:Wiki Loves Folklore 2021|Wiki Loves Folklore 2021]]''' an international photography contest organized on Wikimedia Commons to document folklore and intangible cultural heritage from different regions, including, folk creative activities and many more. It is held every year from the 1st till the 28th of February. You can help in enriching the folklore documentation on Commons from your region by taking photos, audios, videos, and [https://commons.wikimedia.org/w/index.php?title=Special:UploadWizard&campaign=wlf_2021 submitting] them in this commons contest. Please support us in translating the [[:c:Commons: Wiki Loves Folklore 2021|project page]] and a [https://meta.wikimedia.org/wiki/Special:Translate?group=Centralnotice-tgroup-wikiloveslove2020&language=en&filter=%21translated&action=translate|one-line banner message] to help us spread the word in your native language. '''Kind regards,''' '''Wiki loves Folklore International Team''' [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 13:25, 6 Κούντουρονος 2021 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Tiven2240@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Tiven2240/wll&oldid=21073884 --> == Feminism & Folklore 1 February - 31 March == <div lang="en" dir="ltr" class="mw-content-ltr"> {{int:please-translate}} Greetings! You are invited to participate in '''[[m:Feminism and Folklore 2021|Feminism and Folklore]] writing contest'''. This year Feminism and Folklore will focus on feminism, women's biographies and gender-focused topics for the project in league with Wiki Loves Folklore gender gap focus with folk culture theme on Wikipedia. folk activities, folk games, folk cuisine, folk wear, fairy tales, folk plays, folk arts, folk religion, mythology, etc. You can help us in enriching the folklore documentation on Wikipedia from your region by creating or improving articles centered on folklore around the world, including, but not limited to folk festivals, folk dances, folk music, women and queer personalities in folklore, folk culture (folk artists, folk dancers, folk singers, folk musicians, folk game athletes, women in mythology, women warriors in folklore, witches and witch-hunting, fairy tales and more. You can contribute to new articles or translate from the list of [[:m:Feminism and Folklore 2021/List of Articles|suggested articles here]]. You can also support us in translating the [[m:Feminism and Folklore 2021|project page]] and help us spread the word in your native language. Learn more about the contest and prizes from our [[m:Feminism and Folklore 2021|project page]]. Thank you. Feminism and Folklore team, [[m:User:Joy Agyepong|Joy Agyepong]] ([[m:User talk:Joy Agyepong|talk]]) 02:40, 16 Κούντουρονος 2021 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Tiven2240@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery/Wikipedia&oldid=20421065 --> == Proposal: Set two-letter project shortcuts as alias to project namespace globally == <div lang="en" dir="ltr"> {{int:please-translate}} Hello everyone, I apologize for posting in English. I would like to inform everyone that I created a new global request for comment (GRFC) at Meta Wiki, which may affect your project: [[:m:Requests for comment/Set short project namespace aliases by default globally]]. In this GRFC, I propose that two-project shortcuts for project names will become a default alias for the project namespace. For instance, on all Wikipedias, WP will be an alias to the Wikipedia: namespace (and similar for other projects). Full list is available in the GRFC. This is already the case for Wikivoyages, and many individual projects asked for this alias to be implemented. I believe this makes it easier to access the materials in the project namespace, as well as creating shortcuts like <tt>WP:NPOV</tt>, as well as helps new projects to use this feature, without having to figure out how to request site configuration changes first. As far as I can see, {{SITENAME}} currently does not have such an alias set. This means that such an alias will be set for you, if the GRFC is accepted by the global community. I would like to ask all community members to participate in the request for comment at Meta-Wiki, see [[:m:Requests for comment/Set short project namespace aliases by default globally]]. Please feel free to [[:m:User talk:Martin Urbanec|ask me]] if you have any questions about this proposal. Best regards,<br /> --[[:m:User:Martin Urbanec|Martin Urbanec]] ([[:m:User talk:Martin Urbanec|talk]]) 14:12, 18 Κούντουρονος 2021 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Martin Urbanec@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Martin_Urbanec/MassMessage&oldid=21125035 --> == Wikifunctions logo contest == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> {{Int:Hello}}. Please help to choose a design concept for the logo of the new Wikifunctions wiki. Voting starts today and will be open for 2 weeks. If you would like to participate, then '''[[m:Special:MyLanguage/Abstract Wikipedia/Wikifunctions logo concept/Vote|please learn more and vote now]]''' at Meta-Wiki. {{Int:Feedback-thanks-title}} --[[m:User:Quiddity (WMF)|Quiddity (WMF)]]</div> 01:47, 2 Μαρτ 2021 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Quiddity (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=21087740 --> == WikiGap 2021 Russia == Уважаемые коллеги, пожалуйста выскажите своё мнение по поводу ''[[m:CentralNotice/Request/WikiGap 2021 Russia|баннерной кампании CentralNotice]]'' для объявления о российском викимарафоне [[wmru:Конкурсы/WikiGap 2021 Russia|WikiGap 2021]] (8 марта - 8 мая, все IP из России, только Википедии, 1 показ в неделю). Спасибо. --[[Χρήστες:Dmitry Rozhkov|Dmitry Rozhkov]] ([[Καλάτσεμαν χρήστε:Dmitry Rozhkov|συζήτηση]]) 00:32, 7 Μαρτ 2021 (UTC) == Universal Code of Conduct – 2021 consultations == <div lang="en" dir="ltr" class="mw-content-ltr"> === Universal Code of Conduct Phase 2 === {{int:please-translate}} The [[:wmf:Special:MyLanguage/Universal Code of Conduct|'''Universal Code of Conduct (UCoC)''']] provides a universal baseline of acceptable behavior for the entire Wikimedia movement and all its projects. The project is currently in Phase 2, outlining clear enforcement pathways. You can read more about the whole project on its [[:m:Special:MyLanguage/Universal Code of Conduct|'''project page''']]. ==== Drafting Committee: Call for applications ==== The Wikimedia Foundation is recruiting volunteers to join a committee to draft how to make the code enforceable. Volunteers on the committee will commit between 2 and 6 hours per week from late April through July and again in October and November. It is important that the committee be diverse and inclusive, and have a range of experiences, including both experienced users and newcomers, and those who have received or responded to, as well as those who have been falsely accused of harassment. To apply and learn more about the process, see [[:m:Special:MyLanguage/Universal Code of Conduct/Drafting committee|Universal Code of Conduct/Drafting committee]]. ==== 2021 community consultations: Notice and call for volunteers / translators ==== From 5 April – 5 May 2021 there will be conversations on many Wikimedia projects about how to enforce the UCoC. We are looking for volunteers to translate key material, as well as to help host consultations on their own languages or projects using suggested [[:m:Special:MyLanguage/Universal Code of Conduct/2021 consultations/Discussion|key questions]]. If you are interested in volunteering for either of these roles, please [[:m:Talk:Universal Code of Conduct/2021 consultations|contact us]] in whatever language you are most comfortable. To learn more about this work and other conversations taking place, see [[:m:Special:MyLanguage/Universal Code of Conduct/2021 consultations|Universal Code of Conduct/2021 consultations]]. -- [[User:Xeno (WMF)|Xeno (WMF)]] ([[User talk:Xeno (WMF)|talk]]) 22:06, 5 Απρίλ 2021 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:MNadzikiewicz (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:MNadzikiewicz_(WMF)/Without_Russian,_Polish_and_translated/5&oldid=21302202 --> == Global bot policy changes == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> {{int:hello}}! I apologize for sending a message in English. {{int:please-translate}}. According to [[:m:Bot_policy/Implementation#Where_it_is_policy|the list]], your wiki project is currently opted in to the [[:m:Bot_policy#Global_bots|global bot policy]]. As such, I want to let you know about some changes that were made after the [[:m:Requests for comment/Refine global bot policy|global RfC]] was closed. *Global bots are now subject to a 2 week discussion, and it'll be publicized via a MassMessage list, available at [[:m:Bot policy/New global bot discussion|Bot policy/New global bot discussion]] on Meta. Please subscribe yourself or your wiki if you are interested in new global bots proposals. *For a bot to be considered for approval, it must demonstrate it is welcomed in multiple projects, and a good way to do that is to have the bot flag on at least 5 wikis for a single task. *The bot operator should make sure to adhere to the wiki's preference as related to the use of the bot flag (i.e., if a wiki doesn't want a bot to use the flag as it edits, that should be followed). Thank you for your time. Best regards,<br /> —'''''<span style="font-family:Candara">[[User:Tks4Fish|<span style="color:black">Thanks for the fish!</span>]] <sup>[[User Talk:Tks4Fish|<span style="color:blue">talk</span>]]•[[Special:Contribs/Tks4Fish|contribs]]</sup></span>''''' 18:48, 6 Απρίλ 2021 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Tks4Fish@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Tks4Fish/temp&oldid=21306363 --> == Line numbering coming soon to all wikis == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> [[File:Technical_Wishes_–_Line_numbering_-_2010_wikitext_editor.png|thumb|Example]] From April 15, you can enable line numbering in some wikitext editors - for now in the template namespace, coming to more namespaces soon. This will make it easier to detect line breaks and to refer to a particular line in discussions. These numbers will be shown if you enable the syntax highlighting feature ([[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror extension]]), which is supported in the [[mw:Special:MyLanguage/Extension:WikiEditor|2010]] and [[mw:Special:MyLanguage/2017 wikitext editor|2017]] wikitext editors. More information can be found on [[m:WMDE Technical Wishes/Line Numbering|this project page]]. Everyone is invited to test the feature, and to give feedback [[m:talk:WMDE Technical Wishes/Line Numbering|on this talk page]]. </div> -- [[m:User:Johanna Strodt (WMDE)|Johanna Strodt (WMDE)]] 15:09, 12 Απρίλ 2021 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Johanna Strodt (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=21329014 --> == Suggested Values == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> From April 29, it will be possible to suggest values for parameters in templates. Suggested values can be added to [[mw:Special:MyLanguage/Help:TemplateData|TemplateData]] and will then be shown as a drop-down list in [[mw:Special:MyLanguage/Help:VisualEditor/User guide|VisualEditor]]. This allows template users to quickly select an appropriate value. This way, it prevents potential errors and reduces the effort needed to fill the template with values. It will still be possible to fill in values other than the suggested ones. More information, including the supported parameter types and how to create suggested values: [[mw:Help:TemplateData#suggestedvalues|[1]]] [[m:WMDE_Technical_Wishes/Suggested_values_for_template_parameters|[2]]]. Everyone is invited to test the feature, and to give feedback [[m:Talk:WMDE Technical Wishes/Suggested values for template parameters|on this talk page]]. </div> [[m:User:Timur Vorkul (WMDE)|Timur Vorkul (WMDE)]] 14:08, 22 Απρίλ 2021 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Timur Vorkul (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=21361904 --> == Universal Code of Conduct News – Issue 1 == <div style = "line-height: 1.2"> <span style="font-size:200%;">'''Universal Code of Conduct News'''</span><br> <span style="font-size:120%; color:#404040;">'''Issue 1, June 2021'''</span><span style="font-size:120%; float:right;">[[m:Universal Code of Conduct/Newsletter/1|Read the full newsletter]]</span> ---- Welcome to the first issue of [[m:Special:MyLanguage/Universal Code of Conduct|Universal Code of Conduct News]]! This newsletter will help Wikimedians stay involved with the development of the new code, and will distribute relevant news, research, and upcoming events related to the UCoC. Please note, this is the first issue of UCoC Newsletter which is delivered to all subscribers and projects as an announcement of the initiative. If you want the future issues delivered to your talk page, village pumps, or any specific pages you find appropriate, you need to [[m:Global message delivery/Targets/UCoC Newsletter Subscription|subscribe here]]. You can help us by translating the newsletter issues in your languages to spread the news and create awareness of the new conduct to keep our beloved community safe for all of us. Please [[m:Universal Code of Conduct/Newsletter/Participate|add your name here]] if you want to be informed of the draft issue to translate beforehand. Your participation is valued and appreciated. </div><div style="margin-top:3px; padding:10px 10px 10px 20px; background:#fffff; border:2px solid #808080; border-radius:4px; font-size:100%;"> * '''Affiliate consultations''' – Wikimedia affiliates of all sizes and types were invited to participate in the UCoC affiliate consultation throughout March and April 2021. ([[m:Universal Code of Conduct/Newsletter/1#sec1|continue reading]]) * '''2021 key consultations''' – The Wikimedia Foundation held enforcement key questions consultations in April and May 2021 to request input about UCoC enforcement from the broader Wikimedia community. ([[m:Universal Code of Conduct/Newsletter/1#sec2|continue reading]]) * '''Roundtable discussions''' – The UCoC facilitation team hosted two 90-minute-long public roundtable discussions in May 2021 to discuss UCoC key enforcement questions. More conversations are scheduled. ([[m:Universal Code of Conduct/Newsletter/1#sec3|continue reading]]) * '''Phase 2 drafting committee''' – The drafting committee for the phase 2 of the UCoC started their work on 12 May 2021. Read more about their work. ([[m:Universal Code of Conduct/Newsletter/1#sec4|continue reading]]) * '''Diff blogs''' – The UCoC facilitators wrote several blog posts based on interesting findings and insights from each community during local project consultation that took place in the 1st quarter of 2021. ([[m:Universal Code of Conduct/Newsletter/1#sec5|continue reading]])</div> --[[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 23:06, 11 Κερασινού 2021 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:SOyeyele (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:SOyeyele_(WMF)/Announcements/Other_languages&oldid=21578291 --> == Wikimania 2021: Individual Program Submissions == [[File:Wikimania logo with text 2.svg|right|200px]] Dear all, Wikimania 2021 will be [[:wikimania:2021:Save the date and the Core Organizing Team|hosted virtually]] for the first time in the event's 15-year history. Since there is no in-person host, the event is being organized by a diverse group of Wikimedia volunteers that form the [[:wikimania:2021:Organizers|Core Organizing Team]] (COT) for Wikimania 2021. '''Event Program''' - Individuals or a group of individuals can submit their session proposals to be a part of the program. There will be translation support for sessions provided in a number of languages. See more information [[:wikimania:2021:Submissions/Guidelines#Language Accessibility|here]]. Below are some links to guide you through; * [[:wikimania:2021:Submissions|Program Submissions]] * [[:wikimania:2021:Submissions/Guidelines|Session Submission Guidelines]] * [[:wikimania:2021:FAQ|FAQ]] Please note that the deadline for submission is 18th June 2021. '''Announcements'''- To keep up to date with the developments around Wikimania, the COT sends out weekly updates. You can view them in the Announcement section [[:wikimania:2021:Announcements|here]]. '''Office Hour''' - If you are left with questions, the COT will be hosting some office hours (in multiple languages), in multiple time-zones, to answer any programming questions that you might have. Details can be found [[:wikimania:2021:Organizers#Office hours schedule|here.]] Best regards, [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 04:18, 16 Κερασινού 2021 (UTC) On behalf of Wikimania 2021 Core Organizing Team <!-- Το μήνυμα στάλθηκε από τον User:Bodhisattwa@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/VisualEditor/Newsletter/Wikis_with_VE&oldid=21597568 --> == Editing news 2021 #2 == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> <em>[[m:Special:MyLanguage/VisualEditor/Newsletter/2021/June|Read this in another language]] • [[m:VisualEditor/Newsletter|Subscription list for this multilingual newsletter]]</em> [[File:Reply Tool A-B test comment completion.png|alt=Junior contributors comment completion rate across all participating Wikipedias|thumb|296x296px|When newcomers had the Reply tool and tried to post on a talk page, they were more successful at posting a comment. ([https://wikimedia-research.github.io/Reply-tools-analysis-2021/ Source])]] Earlier this year, the Editing team ran a large study of [[mw:Talk pages project/Replying|the Reply Tool]]. The main goal was to find out whether the Reply Tool helped [[mw:Talk pages project/Glossary|newer editors]] communicate on wiki. The second goal was to see whether the comments that newer editors made using the tool needed to be reverted more frequently than comments newer editors made with the existing wikitext page editor. The key results were: * Newer editors who had automatic ("default on") access to the Reply tool were [https://wikimedia-research.github.io/Reply-tools-analysis-2021/ more likely] to post a comment on a talk page. * The comments that newer editors made with the Reply Tool were also [https://wikimedia-research.github.io/Reply-tools-analysis-2021/ less likely] to be reverted than the comments that newer editors made with page editing. These results give the Editing team confidence that the tool is helpful. <strong>Looking ahead</strong> The team is planning to make the Reply tool available to everyone as an opt-out preference in the coming months. This has already happened at the Arabic, Czech, and Hungarian Wikipedias. The next step is to [[phab:T280599|resolve a technical challenge]]. Then, they will deploy the Reply tool first to the [[phab:T267379|Wikipedias that participated in the study]]. After that, they will deploy it, in stages, to the other Wikipedias and all WMF-hosted wikis. You can turn on "{{int:discussiontools-preference-label}}" [[Special:Preferences#mw-prefsection-betafeatures|in Beta Features]] now. After you get the Reply tool, you can change your preferences at any time in [[Special:Preferences#mw-prefsection-editing-discussion]]. –[[User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[User talk:Whatamidoing (WMF)|talk]]) </div> 14:14, 24 Κερασινού 2021 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Elitre (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/VisualEditor/Newsletter/Wikis_with_VE&oldid=21624491 --> == Server switch == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch 2020|Read this message in another language]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Tech%2FServer+switch+2020&language=&action=page&filter= {{int:please-translate}}] The [[foundation:|Wikimedia Foundation]] tests the switch between its first and secondary data centers. This will make sure that Wikipedia and the other Wikimedia wikis can stay online even after a disaster. To make sure everything is working, the Wikimedia Technology department needs to do a planned test. This test will show if they can reliably switch from one data centre to the other. It requires many teams to prepare for the test and to be available to fix any unexpected problems. <!-- They will switch all traffic back to the primary data center on '''Tuesday, October 27 2020'''. --> Unfortunately, because of some limitations in [[mw:Manual:What is MediaWiki?|MediaWiki]], all editing must stop while the switch is made. We apologize for this disruption, and we are working to minimize it in the future. '''You will be able to read, but not edit, all wikis for a short period of time.''' *You will not be able to edit for up to an hour on Tuesday, 29 June 2021. The test will start at [https://zonestamp.toolforge.org/1624975200 14:00 UTC] (07:00 PDT, 10:00 EDT, 15:00 WEST/BST, 16:00 CEST, 19:30 IST, 23:00 JST, and in New Zealand at 02:00 NZST on Wednesday 30 June). *If you try to edit or save during these times, you will see an error message. We hope that no edits will be lost during these minutes, but we can't guarantee it. If you see the error message, then please wait until everything is back to normal. Then you should be able to save your edit. But, we recommend that you make a copy of your changes first, just in case. ''Other effects'': *Background jobs will be slower and some may be dropped. Red links might not be updated as quickly as normal. If you create an article that is already linked somewhere else, the link will stay red longer than usual. Some long-running scripts will have to be stopped. *There will be code freezes for the week of June 28. Non-essential code deployments will not happen. This project may be postponed if necessary. You can [[wikitech:Switch_Datacenter#Schedule_for_2021_switch|read the schedule at wikitech.wikimedia.org]]. Any changes will be announced in the schedule. There will be more notifications about this. A banner will be displayed on all wikis 30 minutes before this operation happens. '''Please share this information with your community.'''</div></div> [[user:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] 01:19, 27 Κερασινού 2021 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:SGrabarczuk (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=21463754 --> == New Wikipedia Library collections and design update (August 2021) == <div lang="en" dir="ltr" class="mw-content-ltr"> Hello Wikimedians! [[File:Wikipedia_Library_owl.svg|thumb|upright|The TWL OWL says log in today!]] [https://wikipedialibrary.wmflabs.org/users/my_library/ The Wikipedia Library] is pleased to announce the addition of new collections, alongside a new interface design. New collections include: * '''[https://wikipedialibrary.wmflabs.org/partners/107/ Cabells]''' – Scholarly and predatory journal database * '''[https://wikipedialibrary.wmflabs.org/partners/108/ Taaghche]''' - Persian language e-books * '''[https://wikipedialibrary.wmflabs.org/partners/112/ Merkur]''', '''[https://wikipedialibrary.wmflabs.org/partners/111/ Musik & Ästhetik]''', and '''[https://wikipedialibrary.wmflabs.org/partners/110/ Psychologie, Psychotherapie, Psychoanalyse]''' - German language magazines and journals published by Klett-Cotta * '''[https://wikipedialibrary.wmflabs.org/partners/117/ Art Archiv]''', '''[https://wikipedialibrary.wmflabs.org/partners/113/ Capital]''', '''[https://wikipedialibrary.wmflabs.org/partners/115/ Geo]''', '''[https://wikipedialibrary.wmflabs.org/partners/116/ Geo Epoche]''', and '''[https://wikipedialibrary.wmflabs.org/partners/114/ Stern]''' - German language newspapers and magazines published by Gruner + Jahr Additionally, '''[https://wikipedialibrary.wmflabs.org/partners/105/ De Gruyter]''' and '''[https://wikipedialibrary.wmflabs.org/partners/106/ Nomos]''' have been centralised from their previous on-wiki signup location on the German Wikipedia. Many other collections are freely available by simply logging in to [https://wikipedialibrary.wmflabs.org/ The Wikipedia Library] with your Wikimedia login! We are also excited to announce that the first version of a new design for My Library was deployed this week. We will be iterating on this design with more features over the coming weeks. Read more on the [[:m:Library Card platform/Design improvements|project page on Meta]]. Lastly, an Echo notification will begin rolling out soon to notify eligible editors about the library ([[Phab:T132084|T132084]]). If you can translate the notification please do so [https://translatewiki.net/w/i.php?title=Special:Translate&group=ext-thewikipedialibrary at TranslateWiki]! --The Wikipedia Library Team 13:23, 11 Aλωναρί 2021 (UTC) :<small>This message was delivered via the [https://meta.wikimedia.org/wiki/MassMessage#Global_message_delivery Global Mass Message] tool to [https://meta.wikimedia.org/wiki/Global_message_delivery/Targets/Wikipedia_Library The Wikipedia Library Global Delivery List].</small> </div> <!-- Το μήνυμα στάλθηκε από τον User:Samwalton9@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikipedia_Library&oldid=21851699 --> == Universal Code of Conduct - Enforcement draft guidelines review == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="content"/>The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Drafting_committee#Phase_2|Universal Code of Conduct Phase 2 drafting committee]] would like comments about the '''[[:m:Universal Code of Conduct/Enforcement draft guidelines review|enforcement draft guidelines]]''' for the [[m:Special:MyLanguage/Universal Code of Conduct|Universal Code of Conduct]] (UCoC). This review period is planned for 17 August 2021 through 17 October 2021. These guidelines are not final but you can help move the progress forward. The committee will revise the guidelines based upon community input. Comments can be shared in any language on the [[m:Talk:Universal Code of Conduct/Enforcement draft guidelines review|draft review talk page]] and [[m:Special:MyLanguage/Universal Code of Conduct/Discussions|multiple other venues]]. Community members are encouraged to organize conversations in their communities. There are planned live discussions about the UCoC enforcement draft guidelines: :[[wmania:2021:Submissions/Universal_Code_of_Conduct_Roundtable|Wikimania 2021 session]] (recorded 16 August) :[[m:Special:MyLanguage/Universal_Code_of_Conduct/2021_consultations/Roundtable_discussions#Conversation hours|Conversation hours]] - 24 August, 31 August, 7 September @ 03:00 UTC & 14:00 UTC :[[m:Special:MyLanguage/Universal_Code_of_Conduct/2021_consultations/Roundtable_discussions|Roundtable calls]] - 18 September @ 03:00 UTC & 15:00 UTC Summaries of discussions will be posted every two weeks [[m:Special:MyLanguage/Universal Code of Conduct/Drafting committee/Digests|here]]. Please let me know if you have any questions.<section end="content"/> </div> [[User:Xeno (WMF)|Xeno (WMF)]] 23:19, 17 Aλωναρί 2021 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Xeno (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Xeno_(WMF)/Delivery/Wikipedia&oldid=21895766 --> == Wikimedia Foundation Board of Trustees election has come to an end == Thank you for participating in the [[:meta:Special:MyLanguage/Wikimedia_Foundation_elections/2021|2021 Wikimedia Foundation Board of Trustees election]]! Voting closed August 31 at 23:59. The official data, including the four most voted candidates, will be announced as soon as the [[:meta:Special:MyLanguage/Wikimedia_Foundation_elections_committee|Elections Committee]] completes their review of the ballots. The official announcement of the new trustees appointed will happen later, once the selected candidates have been confirmed by the Board. 6,946 community members from 216 wiki projects have voted. This makes 10.2% global participation, 1.1% higher than in the last Board elections. In 2017, 5167 people from 202 wiki projects cast their vote. A full analysis is planned to be published in a few days when the confirmed results are announced. In the meantime, you can check the [[:meta:Special:MyLanguage/Wikimedia_Foundation_elections/2021/Stats|data produced during the election]]. Diversity was an important goal with these elections. Messages about the Board election were translated into 61 languages. This outreach worked well. There were 70 communities with eligible voters voting in this election for the first time. With your help, next year’s Board of Trustees election will be even better. 10:03, 2 Σταυρί 2021 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:MNadzikiewicz (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Xeno_(WMF)/Delivery/Wikipedia&oldid=21895840 --> == The 2022 Community Wishlist Survey will happen in January == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hello everyone, We hope all of you are as well and safe as possible during these trying times! We wanted to share some news about a change to the Community Wishlist Survey 2022. We would like to hear your opinions as well. Summary: <div style="font-style:italic;"> We will be running the [[m:Special:MyLanguage/Community Wishlist Survey|Community Wishlist Survey]] 2022 in January 2022. We need more time to work on the 2021 wishes. We also need time to prepare some changes to the Wishlist 2022. In the meantime, you can use a [[m:Special:MyLanguage/Community Wishlist Survey/Sandbox|dedicated sandbox to leave early ideas for the 2022 wishes]]. </div> === Proposing and wish-fulfillment will happen during the same year === In the past, the [[m:Special:MyLanguage/Community Tech|Community Tech]] team has run the Community Wishlist Survey for the following year in November of the prior year. For example, we ran the [[m:Special:MyLanguage/Community Wishlist Survey 2021|Wishlist for 2021]] in November 2020. That worked well a few years ago. At that time, we used to start working on the Wishlist soon after the results of the voting were published. However, in 2021, there was a delay between the voting and the time when we could start working on the new wishes. Until July 2021, we were working on wishes from the [[m:Special:MyLanguage/Community Wishlist Survey 2020|Wishlist for 2020]]. We hope having the Wishlist 2022 in January 2022 will be more intuitive. This will also give us time to fulfill more wishes from the 2021 Wishlist. === Encouraging wider participation from historically excluded communities === We are thinking how to make the Wishlist easier to participate in. We want to support more translations, and encourage under-resourced communities to be more active. We would like to have some time to make these changes. === A new space to talk to us about priorities and wishes not granted yet === We will have gone 365 days without a Wishlist. We encourage you to approach us. We hope to hear from you in the [[m:Special:MyLanguage/Talk:Community Wishlist Survey|talk page]], but we also hope to see you at our bi-monthly Talk to Us meetings! These will be hosted at two different times friendly to time zones around the globe. We will begin our first meeting '''September 15th at 23:00 UTC'''. More details about the agenda and format coming soon! === Brainstorm and draft proposals before the proposal phase === If you have early ideas for wishes, you can use the [[m:Special:MyLanguage/Community Wishlist Survey/Sandbox|new Community Wishlist Survey sandbox]]. This way, you will not forget about these before January 2022. You will be able to come back and refine your ideas. Remember, edits in the sandbox don't count as wishes! === Feedback === * What should we do to improve the Wishlist pages? * How would you like to use our new [[m:Special:MyLanguage/Community Wishlist Survey/Sandbox|sandbox?]] * What, if any, risks do you foresee in our decision to change the date of the Wishlist 2022? * What will help more people participate in the Wishlist 2022? Answer on the [[m:Special:MyLanguage/Talk:Community Wishlist Survey|talk page]] (in any language you prefer) or at our Talk to Us meetings. </div> [[user:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[user talk:SGrabarczuk (WMF)|talk]]) 00:23, 7 Σταυρί 2021 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:SGrabarczuk (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=21980442 --> == Call for Candidates for the Movement Charter Drafting Committee ending 14 September 2021 == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content"/>Movement Strategy announces [[:m:Special:MyLanguage/Movement_Charter/Drafting_Committee|the Call for Candidates for the Movement Charter Drafting Committee]]. The Call opens August 2, 2021 and closes September 14, 2021. The Committee is expected to represent [[:m:Special:MyLanguage/Movement_Charter/Drafting_Committee/Diversity_and_Expertise_Matrices|diversity in the Movement]]. Diversity includes gender, language, geography, and experience. This comprises participation in projects, affiliates, and the Wikimedia Foundation. English fluency is not required to become a member. If needed, translation and interpretation support is provided. Members will receive an allowance to offset participation costs. It is US$100 every two months. We are looking for people who have some of the following [[:m:Special:MyLanguage/Movement_Charter/Drafting_Committee#Role_Requirements|skills]]: * Know how to write collaboratively. (demonstrated experience is a plus) * Are ready to find compromises. * Focus on inclusion and diversity. * Have knowledge of community consultations. * Have intercultural communication experience. * Have governance or organization experience in non-profits or communities. * Have experience negotiating with different parties. The Committee is expected to start with 15 people. If there are 20 or more candidates, a mixed election and selection process will happen. If there are 19 or fewer candidates, then the process of selection without election takes place. Will you help move Wikimedia forward in this important role? Submit your candidacy [[:m:Special:MyLanguage/Movement_Charter/Drafting_Committee#Candidate_Statements|here]]. Please contact strategy2030[[File:At sign.svg|16x16px|link=|(_AT_)]]wikimedia.org with questions.<section end="announcement-content"/> </div> [[User:Xeno (WMF)|Xeno (WMF)]] 17:02, 10 Σταυρί 2021 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Xeno (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Xeno_(WMF)/Delivery/Wikipedia&oldid=22002240 --> == Server switch == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch|Read this message in another language]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Tech%2FServer+switch&language=&action=page&filter= {{int:please-translate}}] The [[foundation:|Wikimedia Foundation]] tests the switch between its first and secondary data centers. This will make sure that Wikipedia and the other Wikimedia wikis can stay online even after a disaster. To make sure everything is working, the Wikimedia Technology department needs to do a planned test. This test will show if they can reliably switch from one data centre to the other. It requires many teams to prepare for the test and to be available to fix any unexpected problems. They will switch all traffic back to the primary data center on '''Tuesday, 14 September 2021'''. Unfortunately, because of some limitations in [[mw:Manual:What is MediaWiki?|MediaWiki]], all editing must stop while the switch is made. We apologize for this disruption, and we are working to minimize it in the future. '''You will be able to read, but not edit, all wikis for a short period of time.''' *You will not be able to edit for up to an hour on Tuesday, 14 September 2021. The test will start at [https://zonestamp.toolforge.org/1631628049 14:00 UTC] (07:00 PDT, 10:00 EDT, 15:00 WEST/BST, 16:00 CEST, 19:30 IST, 23:00 JST, and in New Zealand at 02:00 NZST on Wednesday, 15 September). *If you try to edit or save during these times, you will see an error message. We hope that no edits will be lost during these minutes, but we can't guarantee it. If you see the error message, then please wait until everything is back to normal. Then you should be able to save your edit. But, we recommend that you make a copy of your changes first, just in case. ''Other effects'': *Background jobs will be slower and some may be dropped. Red links might not be updated as quickly as normal. If you create an article that is already linked somewhere else, the link will stay red longer than usual. Some long-running scripts will have to be stopped. * We expect the code deployments to happen as any other week. However, some case-by-case code freezes could punctually happen if the operation require them afterwards. This project may be postponed if necessary. You can [[wikitech:Switch_Datacenter|read the schedule at wikitech.wikimedia.org]]. Any changes will be announced in the schedule. There will be more notifications about this. A banner will be displayed on all wikis 30 minutes before this operation happens. '''Please share this information with your community.'''</div></div> [[user:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[user talk:SGrabarczuk (WMF)|<span class="signature-talk">{{int:Talkpagelinktext}}</span>]]) 00:45, 11 Σταυρί 2021 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:SGrabarczuk (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=21980442 --> == Talk to the Community Tech == [[File:Magic Wand Icon 229981 Color Flipped.svg|{{dir|{{pagelang}}|left|right}}|frameless|50px]] [[:m:Special:MyLanguage/Community Wishlist Survey/Updates/2021-09 Talk to Us|Read this message in another language]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Community_Wishlist_Survey/Updates/2021-09_Talk_to_Us&language=&action=page&filter= {{int:please-translate}}] Hello! As we have [[m:Special:MyLanguage/Community Wishlist Survey/Updates|recently announced]], we, the team working on the [[m:Special:MyLanguage/Community Wishlist Survey|Community Wishlist Survey]], would like to invite you to an online meeting with us. It will take place on [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20210915T2300 '''September 15th, 23:00 UTC'''] on Zoom, and will last an hour. [https://wikimedia.zoom.us/j/89828615390 '''Click here to join''']. '''Agenda''' * [[m:Special:MyLanguage/Community Wishlist Survey 2021/Status report 1#Prioritization Process|How we prioritize the wishes to be granted]] * [[m:Special:MyLanguage/Community Wishlist Survey/Updates|Why we decided to change the date]] from November 2021 to January 2022 * Update on the [[m:Special:MyLanguage/Community Wishlist Survey 2021/Warn when linking to disambiguation pages|disambiguation]] and the [[m:Special:MyLanguage/Community Wishlist Survey 2021/Real Time Preview for Wikitext|real-time preview]] wishes * Questions and answers '''Format''' The meeting will not be recorded or streamed. Notes without attribution will be taken and published on Meta-Wiki. The presentation (first three points in the agenda) will be given in English. We can answer questions asked in English, French, Polish, and Spanish. If you would like to ask questions in advance, add them [[m:Talk:Community Wishlist Survey|on the Community Wishlist Survey talk page]] or send to sgrabarczuk@wikimedia.org. [[m:Special:MyLanguage/User:NRodriguez (WMF)|Natalia Rodriguez]] (the [[m:Special:MyLanguage/Community Tech|Community Tech]] manager) will be hosting this meeting. '''Invitation link''' * [https://wikimedia.zoom.us/j/89828615390 Join online] * Meeting ID: 898 2861 5390 * One tap mobile ** +16465588656,,89828615390# US (New York) ** +16699006833,,89828615390# US (San Jose) * [https://wikimedia.zoom.us/u/kctR45AI8o Dial by your location] See you! [[User:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[User talk:SGrabarczuk (WMF)|<span class="signature-talk">{{int:Talkpagelinktext}}</span>]]) 03:03, 11 Σταυρί 2021 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:SGrabarczuk (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=21980442 --> == Select You the question statements for candidates of Drafting Committee Movement Charter == Into 2021-10-04 11:59:59 UTC you can select [[:m:Movement Charter/Drafting Committee/Election Compass Statements|question statements]] for the [[:m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates|candidates]] of [[:m:Special:MyLanguage/Movement Charter/Drafting Committee|Drafting Committee]] [[:m:Special:MyLanguage/Movement_Charter|Movement Charter]]. ✍️ [[Χρήστες:Dušan Kreheľ|Dušan Kreheľ]] ([[Καλάτσεμαν χρήστε:Dušan Kreheľ|συζήτηση]]) 02:46, 30 Σταυρί 2021 (UTC) == Alumni and Mentors of Russia 2021 == Уважаемые коллеги, пожалуйста выскажите своё мнение по поводу ''[[m:CentralNotice/Request/Alumni and Mentors of Russia 2021|баннерной кампании CentralNotice]]'' для объявления о российском конкурсе статей [[wmru:Конкурсы/Выпускники и наставники России 2021|Конкурсы/Выпускники и наставники России 2021]] (15 сентября - 30 ноября 2021, все IP из России, Википедии, 3 показа в неделю, в течении ноября). Спасибо. [[Χρήστες:JukoFF|JukoFF]] ([[Καλάτσεμαν χρήστε:JukoFF|συζήτηση]]) 13:42, 11 Τρυγομηνά 2021 (UTC) == Voting for the election for the members for the Movement Charter drafting committee is now open == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content"/> :''<div class="plainlinks">[[m:Special:MyLanguage/Movement Charter/Drafting Committee/MCDC Voter Email short 12-10-2021|{{int:otherlanguages}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Movement Charter/Drafting Committee/MCDC Voter Email short 12-10-2021}}&language=&action=page&filter= {{int:please-translate}}]'' Voting for the election for the members for the Movement Charter drafting committee is now open. In total, 70 Wikimedians from around the world are running for 7 seats in these elections. '''Voting is open from October 12 to October 24, 2021.''' The committee will consist of 15 members in total: The online communities vote for 7 members, 6 members will be selected by the Wikimedia affiliates through a parallel process, and 2 members will be appointed by the Wikimedia Foundation. The plan is to assemble the committee by November 1, 2021. Learn about each candidate to inform your vote in the language that you prefer: <https://meta.wikimedia.org/wiki/Special:MyLanguage/Movement_Charter/Drafting_Committee/Candidates> Learn about the Drafting Committee: <https://meta.wikimedia.org/wiki/Special:MyLanguage/Movement_Charter/Drafting_Committee> We are piloting a voting advice application for this election. Click yourself through the tool and you will see which candidate is closest to you! Check at <https://mcdc-election-compass.toolforge.org/> Read the full announcement: <https://meta.wikimedia.org/wiki/Special:MyLanguage/Movement_Charter/Drafting_Committee/Elections> '''Go vote at SecurePoll on:''' <https://meta.wikimedia.org/wiki/Special:MyLanguage/Movement_Charter/Drafting_Committee/Elections> Best, Movement Strategy & Governance Team, Wikimedia Foundation <section end="announcement-content"/> </div> [[User:Xeno (WMF)|Xeno (WMF)]] 02:25, 14 Τρυγομηνά 2021 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Xeno (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Xeno_(WMF)/Delivery/Wikipedia&oldid=22185710 --> == Learn how Movement Strategy Implementation Grants can support your Movement Strategy plans == <section begin="announcement-content"/>Movement Strategy Implementation grants now provide more than $2,000 USD to put Movement Strategy plans into action. Find out more about [[:m:Special:MyLanguage/Grants:MSIG/About|Movement Strategy Implementation grants, the criteria, and how to apply]].<section end="annoumcent-content"/> [[User:MNadzikiewicz (WMF)|MNadzikiewicz (WMF)]] ([[User talk:MNadzikiewicz (WMF)#top|talk]]) 13:30, 29 October 2021 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:MNadzikiewicz (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:MNadzikiewicz_(WMF)/Delivery&oldid=22247589 --> == Meet the new Movement Charter Drafting Committee members == <section begin="announcement-content"/> :''<div class="plainlinks">[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Elections/Results/Announcement|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Movement Charter/Drafting Committee/Elections/Results/Announcement}}&language=&action=page&filter= {{int:please-translate}}]</div>'' The Movement Charter Drafting Committee election and selection processes are complete. * The [[m:Special:MyLanguage/Movement Charter/Drafting Committee/Elections/Results|election results have been published]]. 1018 participants voted to elect seven members to the committee: '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Richard_Knipel_(Pharos)|Richard Knipel (Pharos)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Anne_Clin_(Risker)|Anne Clin (Risker)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Alice_Wiegand_(lyzzy)|Alice Wiegand (Lyzzy)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Micha%C5%82_Buczy%C5%84ski_(Aegis_Maelstrom)|Michał Buczyński (Aegis Maelstrom)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Richard_(Nosebagbear)|Richard (Nosebagbear)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Ravan_J_Al-Taie_(Ravan)|Ravan J Al-Taie (Ravan)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Ciell_(Ciell)|Ciell (Ciell)]]'''. * The [[m:Special:MyLanguage/Movement_Charter/Drafting_Committee/Candidates#Affiliate-chosen_members|affiliate process]] has selected six members: '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Anass_Sedrati_(Anass_Sedrati)|Anass Sedrati (Anass Sedrati)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#%C3%89rica_Azzellini_(EricaAzzellini)|Érica Azzellini (EricaAzzellini)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Jamie_Li-Yun_Lin_(Li-Yun_Lin)|Jamie Li-Yun Lin (Li-Yun Lin)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Georges_Fodouop_(Geugeor)|Georges Fodouop (Geugeor)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Manavpreet_Kaur_(Manavpreet_Kaur)|Manavpreet Kaur (Manavpreet Kaur)]]''', '''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Candidates#Pepe_Flores_(Padaguan)|Pepe Flores (Padaguan)]]'''. * The Wikimedia Foundation has [[m:Special:MyLanguage/Movement_Charter/Drafting_Committee/Candidates#Wikimedia_Foundation-chosen_members|appointed]] two members: '''[[m:Special:MyLanguage/Movement_Charter/Drafting_Committee/Candidates#Runa_Bhattacharjee_(Runab_WMF)|Runa Bhattacharjee (Runab WMF)]]''', '''[[m:Special:MyLanguage/Movement_Charter/Drafting_Committee/Candidates#Jorge_Vargas_(JVargas_(WMF))|Jorge Vargas (JVargas (WMF))]]'''. The committee will convene soon to start its work. The committee can appoint up to three more members to bridge diversity and expertise gaps. If you are interested in engaging with [[m:Special:MyLanguage/Movement Charter|Movement Charter]] drafting process, follow the updates [[m:Special:MyLanguage/Movement Charter/Drafting Committee|on Meta]] and join the [https://t.me/joinchat/U-4hhWtndBjhzmSf Telegram group]. With thanks from the Movement Strategy and Governance team<section end="announcement-content"/> 15:53, 5 Αεργί 2021 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:MNadzikiewicz (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:MNadzikiewicz_(WMF)/Delivery&oldid=22300322 --> == Upcoming Call for Feedback about the Board of Trustees elections == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content /> :''You can find this message translated into additional languages on Meta-wiki.'' :''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation Board of Trustees/Call for feedback:2022 Board of Trustees election/Upcoming Call for Feedback about the Board of Trustees elections|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation Board of Trustees/Call for feedback:2022 Board of Trustees election/Upcoming Call for Feedback about the Board of Trustees elections}}&language=&action=page&filter= {{int:please-translate}}]</div>'' The Board of Trustees is preparing a call for feedback about the upcoming Board Elections, from January 7 - February 10, 2022. While details will be finalized the week before the call, we have confirmed at least two questions that will be asked during this call for feedback: * What is the best way to ensure fair representation of emerging communities among the Board? * What involvement should candidates have during the election? While additional questions may be added, the Movement Strategy and Governance team wants to provide time for community members and affiliates to consider and prepare ideas on the confirmed questions before the call opens. We apologize for not having a complete list of questions at this time. The list of questions should only grow by one or two questions. The intention is to not overwhelm the community with requests, but provide notice and welcome feedback on these important questions. '''Do you want to help organize local conversation during this Call?''' Contact the [[m:Special:MyLanguage/Movement Strategy and Governance|Movement Strategy and Governance team]] on Meta, on [https://t.me/wmboardgovernancechat Telegram], or via email at msg[[File:At sign.svg|16x16px|link=|(_AT_)]]wikimedia.org. Reach out if you have any questions or concerns. The Movement Strategy and Governance team will be minimally staffed until January 3. Please excuse any delayed response during this time. We also recognize some community members and affiliates are offline during the December holidays. We apologize if our message has reached you while you are on holiday. Best, Movement Strategy and Governance<section end="announcement-content" /> </div> {{int:thank-you}} [[User:Xeno (WMF)|Xeno (WMF)]] 17:56, 27 Χριστουγενναρί 2021 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Xeno (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery/Wikipedia&oldid=22502754 --> == Wiki Loves Folklore is back! == <div lang="en" dir="ltr" class="mw-content-ltr"> {{int:please-translate}} [[File:Wiki Loves Folklore Logo.svg|right|150px|frameless]] You are humbly invited to participate in the '''[[:c:Commons:Wiki Loves Folklore 2022|Wiki Loves Folklore 2022]]''' an international photography contest organized on Wikimedia Commons to document folklore and intangible cultural heritage from different regions, including, folk creative activities and many more. It is held every year from the '''1st till the 28th''' of February. You can help in enriching the folklore documentation on Commons from your region by taking photos, audios, videos, and [https://commons.wikimedia.org/w/index.php?title=Special:UploadWizard&campaign=wlf_2022 submitting] them in this commons contest. You can also [[:c:Commons:Wiki Loves Folklore 2022/Organize|organize a local contest]] in your country and support us in translating the [[:c:Commons:Wiki Loves Folklore 2022/Translations|project pages]] to help us spread the word in your native language. Feel free to contact us on our [[:c:Commons talk:Wiki Loves Folklore 2022|project Talk page]] if you need any assistance. '''Kind regards,''' '''Wiki loves Folklore International Team''' --[[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 13:15, 9 Καλανταρί 2022 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Tiven2240@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Tiven2240/wlf&oldid=22560402 --> == Δημοσκόπηση Επιθυμιών της Κοινότητας 2022 == [[File:Community Wishlist Survey Lamp.svg|right|200px]] H '''[[m:Special:MyLanguage/Community Wishlist Survey 2022|Δημοσκόπηση Επιθυμιών της Κοινότητας 2022]]''' έχει τώρα ανοίξει! Η δημοσκόπηση αυτή αποτελεί την μέθοδο μέσω της οποίας οι κοινότητες αποφασίζουν σε τί θα εργαστεί η ομάδα [[m:Special:MyLanguage/Community Tech|Community Tech]] μέσα στην επόμενη χρονιά. Ενθαρρύνουμε όλους να συμβάλλουν με προτάσεις μέχρι τις '''23 Ιανουαρίου''', ή να σχολιάσουν τις υπάρχουσες προτάσεις ώστε να βελτιωθούν. Οι κοινότητες θα μπορούν να ψηφίσουν τις προτάσεις μεταξύ 28 Ιανουαρίου και 11 Φεβρουαρίου. Η ομάδα Community Tech εστιάζει σε εργαλεία για έμπειρους συντάκτες. Μπορείτε να συντάξετε προτάσεις σε οποιαδήποτε γλώσσα, και θα τις μεταφράσουμε για εσάς. Ευχαριστούμε και ανυπομονούμε να δούμε τις προτάσεις σας! [[User:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[User talk:SGrabarczuk (WMF)|talk]]) 21:00, 10 Καλανταρί 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:SGrabarczuk (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:SGrabarczuk_(WMF)/sandbox/MM/Other_TOP30/el&oldid=22381754 --> == Feminism and Folklore 2022 == <div lang="en" dir="ltr" class="mw-content-ltr"> {{int:please-translate}} Greetings! You are invited to participate in '''[[:m:Feminism and Folklore 2022|Feminism and Folklore 2022]]''' writing competion. This year Feminism and Folklore will focus on feminism, women biographies and gender-focused topics for the project in league with Wiki Loves Folklore gender gap focus with folk culture theme on Wikipedia. You can help us in enriching the folklore documentation on Wikipedia from your region by creating or improving articles focused on folklore around the world, including, but not limited to folk festivals, folk dances, folk music, women and queer personalities in folklore, folk culture (folk artists, folk dancers, folk singers, folk musicians, folk game athletes, women in mythology, women warriors in folklore, witches and witch hunting, fairy tales and more. You can contribute to new articles or translate from the list of suggested articles [[:m:Feminism and Folklore 2022/List of Articles|here]]. You can also support us in organizing the contest on your local Wikipedia by signing up your community to participate in this project and also translating the [[m:Feminism and Folklore 2022|project page]] and help us spread the word in your native language. Learn more about the contest and prizes from our project page. Feel free to contact us on our [[:m:Talk:Feminism and Folklore 2022|talk page]] or via Email if you need any assistance... Thank you. '''Feminism and Folklore Team''', [[User:Tiven2240|Tiven2240]] --05:49, 11 Καλανταρί 2022 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Tiven2240@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Tiven2240/wlf&oldid=22574381 --> == Call for Feedback about the Board of Trustees elections is now open == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" />:''[[m:Special:MyLanguage/Wikimedia Foundation Board of Trustees/Call for feedback: Board of Trustees elections/Call for Feedback about the Board of Trustees elections is now open/Short|You can find this message translated into additional languages on Meta-wiki.]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation Board of Trustees/Call for feedback: Board of Trustees elections/Call for Feedback about the Board of Trustees elections is now open/Short|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation Board of Trustees/Call for feedback: Board of Trustees elections/Call for Feedback about the Board of Trustees elections is now open/Short}}&language=&action=page&filter= {{int:please-translate}}]</div>'' The Call for Feedback: Board of Trustees elections is now open and will close on 7 February 2022. With this Call for Feedback, the Movement Strategy and Governance team is taking a different approach. This approach incorporates community feedback from 2021. Instead of leading with proposals, the Call is framed around key questions from the Board of Trustees. The key questions came from the feedback about the 2021 Board of Trustees election. The intention is to inspire collective conversation and collaborative proposal development about these key questions. [[m:Special:MyLanguage/Wikimedia Foundation Board of Trustees/Call for feedback: Board of Trustees elections|Join the conversation.]] Best, Movement Strategy and Governance<section end="announcement-content" /> </div> [[User:Xeno (WMF)|Xeno (WMF)]] 01:04, 15 Καλανταρί 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Xeno (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery/Wikipedia&oldid=22610145 --> == Subscribe to the This Month in Education newsletter - learn from others and share your stories == <div lang="en" dir="ltr" class="mw-content-ltr"> Dear community members, Greetings from the EWOC Newsletter team and the education team at Wikimedia Foundation. We are very excited to share that we on tenth years of Education Newsletter ([[m:Education/News|This Month in Education]]) invite you to join us by [[m:Global message delivery/Targets/This Month in Education|subscribing to the newsletter on your talk page]] or by [[m:Education/News/Newsroom|sharing your activities in the upcoming newsletters]]. The Wikimedia Education newsletter is a monthly newsletter that collects articles written by community members using Wikimedia projects in education around the world, and it is published by the EWOC Newsletter team in collaboration with the Education team. These stories can bring you new ideas to try, valuable insights about the success and challenges of our community members in running education programs in their context. If your affiliate/language project is developing its own education initiatives, please remember to take advantage of this newsletter to publish your stories with the wider movement that shares your passion for education. You can submit newsletter articles in your own language or submit bilingual articles for the education newsletter. For the month of January the deadline to submit articles is on the 20th January. We look forward to reading your stories. Older versions of this newsletter can be found in the [[outreach:Education/Newsletter/Archives|complete archive]]. More information about the newsletter can be found at [[m:Education/News/Publication Guidelines|Education/Newsletter/About]]. For more information, please contact spatnaik{{@}}wikimedia.org. ------ <div style="text-align: center;"><div style="margin-top:10px; font-size:90%; padding-left:5px; font-family:Georgia, Palatino, Palatino Linotype, Times, Times New Roman, serif;">[[m:Education/Newsletter/About|About ''This Month in Education'']] · [[m:Global message delivery/Targets/This Month in Education|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] · For the team: [[User:ZI Jony|<span style="color:#8B0000">'''ZI Jony'''</span>]] [[User talk:ZI Jony|<sup><span style="color:Green"><i>(Talk)</i></span></sup>]], {{<includeonly>subst:</includeonly>#time:l G:i, d F Y|}} (UTC)</div></div> </div> <!-- Το μήνυμα στάλθηκε από τον User:ZI Jony@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:ZI_Jony/MassMessage/Awareness_of_Education_Newsletter/List_of_Village_Pumps&oldid=21244129 --> == Movement Strategy and Governance News – Issue 5 == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="ucoc-newsletter"/> :''<div class="plainlinks">[[m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/5/Global message|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Movement Strategy and Governance/Newsletter/5/Global message}}&language=&action=page&filter= {{int:please-translate}}]</div>'' <span style="font-size:200%;">'''Movement Strategy and Governance News'''</span><br> <span style="font-size:120%; color:#404040;">'''Issue 5, January 2022'''</span><span style="font-size:120%; float:right;">[[m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/5|'''Read the full newsletter''']]</span> ---- Welcome to the fifth issue of Movement Strategy and Governance News (formerly known as Universal Code of Conduct News)! This revamped newsletter distributes relevant news and events about the Movement Charter, Universal Code of Conduct, Movement Strategy Implementation grants, Board elections and other relevant MSG topics. This Newsletter will be distributed quarterly, while more frequent Updates will also be delivered weekly or bi-weekly to subscribers. Please remember to subscribe [[:m:Special:MyLanguage/Global message delivery/Targets/MSG Newsletter Subscription|here]] if you would like to receive these updates. <div style="margin-top:3px; padding:10px 10px 10px 20px; background:#fffff; border:2px solid #808080; border-radius:4px; font-size:100%;"> *'''Call for Feedback about the Board elections''' - We invite you to give your feedback on the upcoming WMF Board of Trustees election. This call for feedback went live on 10th January 2022 and will be concluded on 16th February 2022. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/5#Call for Feedback about the Board elections|continue reading]]) *'''Universal Code of Conduct Ratification''' - In 2021, the WMF asked communities about how to enforce the Universal Code of Conduct policy text. The revised draft of the enforcement guidelines should be ready for community vote in March. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/5#Universal Code of Conduct Ratification|continue reading]]) *'''Movement Strategy Implementation Grants''' - As we continue to review several interesting proposals, we encourage and welcome more proposals and ideas that target a specific initiative from the Movement Strategy recommendations. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/5#Movement Strategy Implementation Grants|continue reading]]) *'''The New Direction for the Newsletter''' - As the UCoC Newsletter transitions into MSG Newsletter, join the facilitation team in envisioning and deciding on the new directions for this newsletter. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/5#The New Direction for the Newsletter|continue reading]]) *'''Diff Blogs''' - Check out the most recent publications about MSG on Wikimedia Diff. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/5#Diff Blogs|continue reading]])</div><section end="ucoc-newsletter"/> </div> [[User:Xeno (WMF)|Xeno (WMF)]] 03:28, 29 Καλανταρί 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Xeno (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery/Wikipedia&oldid=22704115 --> == Updates on the Universal Code of Conduct Enforcement Guidelines Review == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/2022-02-02 Announcement|You can find this message translated into additional languages on Meta-wiki.]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/2022-02-02 Announcement|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Enforcement guidelines/2022-02-02 Announcement}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Hello everyone, The Wikimedia Foundation Board of Trustees released a [[m:Special:MyLanguage/Wikimedia Foundation Board noticeboard/January 2022 - Board of Trustees on Community ratification of enforcement guidelines of UCoC|statement on the ratification process]] for the '''[[m:Universal Code of Conduct/Enforcement guidelines|Universal Code of Conduct (UCoC) Enforcement Guidelines]]'''. The [[m:Universal Code of Conduct|Universal Code of Conduct]] (UCoC) provides a baseline of acceptable behavior for the entire movement. The UCoC and the Enforcement Guidelines were written by [[m:Special:MyLanguage/Universal Code of Conduct/Drafting committee|volunteer-staff drafting committees]] following community consultations. The revised guidelines were published 24 January 2022 as a proposed way to apply the policy across the movement. There is a [[m:Universal Code of Conduct/Enforcement guidelines/Changes|list of changes made]] to the guidelines after the [[m:Special:MyLanguage/Universal Code of Conduct/Enforcement draft guidelines review|enforcement draft guidelines review]]. '''Comments about the guidelines can be shared [[m:Talk:Universal Code of Conduct/Enforcement guidelines|on the Enforcement Guidelines talk page on Meta-wiki]].''' To help to understand the guidelines and process, the [[m:Special:MyLanguage/Movement Strategy and Governance|Movement Strategy and Governance]] (MSG) team will be hosting Conversation Hours on 4 February 2022 at 15:00 UTC, 25 February 2022 at 12:00 UTC, and 4 March 2022 at 15:00 UTC. '''[[m:Special:MyLanguage/Universal Code of Conduct/Conversations|Join the conversation hours to speak with the UCoC project team and drafting committee members about the updated guidelines and voting process]].''' The [[m:Universal Code of Conduct/Project#Timeline|timeline is available on Meta-wiki]]. The voting period is March 7 to 21. All eligible voters will have an opportunity to support or oppose the adoption of the Enforcement guidelines, and share why. '''[[m:Universal Code of Conduct/Enforcement guidelines/Voting|See the voting information page for more details]].''' Many participants from across the movement have provided valuable input in these ongoing conversations. The UCoC and MSG teams want to thank the Drafting Committee and the community members for their contributions to this process. Sincerely, Movement Strategy and Governance<br/> Wikimedia Foundation<section end="announcement-content" /> </div> [[User:Xeno (WMF)|Xeno (WMF)]] 03:55, 4 Κούντουρονος 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Xeno (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery/Wikipedia&oldid=22704115 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Leadership Development Task Force: Your feedback is appreciated</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" />:''[[m:Special:MyLanguage/Leadership Development Task Force/Call for Feedback Announcement|You can find this message translated into additional languages on Meta-wiki.]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Leadership Development Task Force/Call for Feedback Announcement|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Leadership Development Task Force/Call for Feedback Announcement}}&language=&action=page&filter= {{int:please-translate}}]</div>'' The Community Development team at the Wikimedia Foundation is supporting the creation of a global, community-driven Leadership Development Task Force. The purpose of the task force is to advise leadership development work. The team is looking for feedback about the responsibilities of the Leadership Development Task Force. This Meta page shares the proposal for a [[m:Special:MyLanguage/Leadership Development Task Force|Leadership Development Task Force]] and how [[m:Special:MyLanguage/Leadership Development Task Force/Participate|you can help.]] Feedback on the proposal will be collected from 7 to 25 February 2022.<section end="announcement-content" /> </div> [[User:Xeno (WMF)|Xeno (WMF)]] 02:35, 9 Κούντουρονος 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Xeno (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery/Wikipedia&oldid=22796821 --> == Wiki Loves Folklore is extended till 15th March == <div lang="en" dir="ltr" class="mw-content-ltr">{{int:please-translate}} [[File:Wiki Loves Folklore Logo.svg|right|frameless|180px]] Greetings from Wiki Loves Folklore International Team, We are pleased to inform you that [[:c:Commons:Wiki Loves Folklore|Wiki Loves Folklore]] an international photographic contest on Wikimedia Commons has been extended till the '''15th of March 2022'''. The scope of the contest is focused on folk culture of different regions on categories, such as, but not limited to, folk festivals, folk dances, folk music, folk activities, etc. We would like to have your immense participation in the photographic contest to document your local Folk culture on Wikipedia. You can also help with the [[:c:Commons:Wiki Loves Folklore 2022/Translations|translation]] of project pages and share a word in your local language. Best wishes, '''International Team'''<br /> '''Wiki Loves Folklore''' [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 04:50, 22 Κούντουρονος 2022 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Rockpeterson@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=22754428 --> == Coming soon == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> === Several improvements around templates === Hello, from March 9, several improvements around templates will become available on your wiki: * Fundamental improvements of the [[Mw:Special:MyLanguage/Help:VisualEditor/User guide#Editing templates|VisualEditor template dialog]] ([[m:WMDE Technical Wishes/VisualEditor template dialog improvements|1]], [[m:WMDE Technical Wishes/Removing a template from a page using the VisualEditor|2]]), * Improvements to make it easier to put a template on a page ([[m:WMDE Technical Wishes/Finding and inserting templates|3]]) (for the template dialogs in [[Mw:Special:MyLanguage/Help:VisualEditor/User guide#Editing templates|VisualEditor]], [[Mw:Special:MyLanguage/Extension:WikiEditor#/media/File:VectorEditorBasic-en.png|2010 Wikitext]] and [[Mw:Special:MyLanguage/2017 wikitext editor|New Wikitext Mode]]), * and improvements in the syntax highlighting extension [[Mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] ([[m:WMDE Technical Wishes/Improved Color Scheme of Syntax Highlighting|4]], [[m:WMDE Technical Wishes/Bracket Matching|5]]) (which is available on wikis with writing direction left-to-right). All these changes are part of the “[[m:WMDE Technical Wishes/Templates|Templates]]” project by [[m:WMDE Technical Wishes|WMDE Technical Wishes]]. We hope they will help you in your work, and we would love to hear your feedback on the talk pages of these projects. </div> - [[m:User:Johanna Strodt (WMDE)|Johanna Strodt (WMDE)]] 12:38, 28 Κούντουρονος 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Johanna Strodt (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=22907463 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Remember to Participate in the UCoC Conversations and Ratification Vote!</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Universal Code of Conduct/Enforcement guidelines/Voting/Announcement|You can find this message translated into additional languages on Meta-wiki.]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/Voting/Announcement|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Enforcement guidelines/Voting/Announcement}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Hello everyone, A [[m:Special:MyLanguage/Universal_Code_of_Conduct/Enforcement_guidelines/Voting|'''vote in SecurePoll from 7 to 21 March 2022''']] is scheduled as part of the ratification process for the Universal Code of Conduct (UCoC) Enforcement guidelines. Eligible voters are invited to answer a poll question and share comments. [[m:Special:MyLanguage/Universal_Code_of_Conduct/Enforcement_guidelines/Voter_information|Read voter information and eligibility details.]] During the poll, voters will be asked if they support the enforcement of the Universal Code of Conduct based on the proposed guidelines. The [[m:Special:MyLanguage/Universal Code of Conduct|Universal Code of Conduct]] (UCoC) provides a baseline of acceptable behavior for the entire movement. The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Enforcement_guidelines|revised enforcement guidelines]] were published 24 January 2022 as a proposed way to apply the policy across the movement. A [[m:Special:MyLanguage/Wikimedia_Foundation_Board_noticeboard/January_2022_-_Board_of_Trustees_on_Community_ratification_of_enforcement_guidelines_of_UCoC|Wikimedia Foundation Board statement]] calls for a [[m:Special:MyLanguage/Universal_Code_of_Conduct/Enforcement_guidelines/Voting|ratification process]] where eligible voters will have an opportunity to support or oppose the adoption of the UCoC Enforcement guidelines in a vote. Wikimedians are invited to [[m:Special:MyLanguage/Universal_Code_of_Conduct/Enforcement_guidelines/Voter_information/Volunteer|translate and share important information]]. For more information about the UCoC, please see the [[m:Special:MyLanguage/Universal Code of Conduct/Project|project page]] and [[m:Special:MyLanguage/Universal Code of Conduct/FAQ|frequently asked questions]] on Meta-wiki. There are events scheduled to learn more and discuss: * A [[m:Special:MyLanguage/Universal_Code_of_Conduct/Conversations/Panel_Q&A|community panel]] recorded on 18 February 2022 shares perspectives from small- and medium-sized community participants. * The [[m:Movement Strategy and Governance|Movement Strategy and Governance]] (MSG) team is hosting Conversation Hours on 4 March 2022 at 15:00 UTC. Please [[m:Special:MyLanguage/Universal_Code_of_Conduct/Conversations|'''sign-up''']] to interact with the project team and the drafting committee about the updated enforcement guidelines and the ratification process. See the [[m:Special:MyLanguage/Universal_Code_of_Conduct/2022_conversation_hour_summaries|Conversation Hour summaries]] for notes from 4 February 2022 and 25 February 2022. You can comment on Meta-wiki talk pages in any language. You may also contact either team by email: msg[[File:At sign.svg|16x16px|link=|(_AT_)]]wikimedia.org or ucocproject[[File:At sign.svg|16x16px|link=|(_AT_)]]wikimedia.org Sincerely, Movement Strategy and Governance <br /> Wikimedia Foundation <br /><section end="announcement-content" /> </div> [[User:Xeno (WMF)|Xeno (WMF)]] 02:17, 2 Μαρτ 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Xeno (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery&oldid=22916674 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Universal Code of Conduct Enforcement guidelines ratification voting open from 7 to 21 March 2022</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/Vote|You can find this message translated into additional languages on Meta-wiki.]] :''<div class="plainlinks">[[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/Vote|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Enforcement guidelines/Vote}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Hello everyone, The ratification voting process for the [[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines|revised enforcement guidelines]] of the [[m:Special:MyLanguage/Universal Code of Conduct|Universal Code of Conduct]] (UCoC) is now open! '''[[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/Voting|Voting commenced on SecurePoll]]''' on 7 March 2022 and will conclude on 21 March 2022. Please [[m:Universal Code of Conduct/Enforcement guidelines/Voter information|read more on the voter information and eligibility details]]. The Universal Code of Conduct (UCoC) provides a baseline of acceptable behavior for the entire movement. The revised enforcement guidelines were published 24 January 2022 as a proposed way to apply the policy across the movement. You can [[m:Special:MyLanguage/Universal Code of Conduct/Project|read more about the UCoC project]]. You can also comment on Meta-wiki talk pages in any language. You may also contact the team by email: ucocproject[[File:At sign.svg|16x16px|link=|(_AT_)]]wikimedia.org Sincerely, Movement Strategy and Governance Wikimedia Foundation<section end="announcement-content" /> </div> [[User:Xeno (WMF)|Xeno (WMF)]] 00:52, 8 Μαρτ 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Xeno (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery&oldid=22962850 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Invitation to Hubs event: Global Conversation on 2022-03-12 at 13:00 UTC</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" />Hello! The Movement Strategy and Governance team of the Wikimedia Foundation would like to invite you to the next event about "Regional and Thematic Hubs". The Wikimedia Movement is in the process of understanding what Regional and Thematic Hubs should be. Our workshop in November was a good start ([[m:Special:MyLanguage/Hubs/Documentation/27 November Workshop|read the report]]), but we're not finished yet. Over the last weeks we conducted about 16 interviews with groups working on establishing a Hub in their context ([[m:Special:MyLanguage/Hubs/Dialogue|see Hubs Dialogue]]). These interviews informed a report that will serve as a foundation for discussion on March 12. The report is planned to be published on March 9. The event will take place on March 12, 13:00 to 16:00 UTC on Zoom. Interpretation will be provided in French, Spanish, Arabic, Russian, and Portuguese. Registration is open, and will close on March 10. Anyone interested in the topic is invited to join us. '''[[m:Special:MyLanguage/Hubs/Global Conversations March 12, 2022|More information on the event on Meta-wiki]]'''. Best regards, [[m:User:KVaidla (WMF)|Kaarel Vaidla]]<br />Movement Strategy <section end="announcement-content" /> </div> 01:31, 10 Μαρτ 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Xeno (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery&oldid=22974079 --> == Wiki Loves Folklore 2022 ends tomorrow == [[File:Wiki Loves Folklore Logo.svg|right|frameless|180px]] International photographic contest [[:c:Commons:Wiki Loves Folklore 2022| Wiki Loves Folklore 2022]] ends on 15th March 2022 23:59:59 UTC. This is the last chance of the year to upload images about local folk culture, festival, cuisine, costume, folklore etc on Wikimedia Commons. Watch out our social media handles for regular updates and declaration of Winners. ([https://www.facebook.com/WikiLovesFolklore/ Facebook] , [https://twitter.com/WikiFolklore Twitter ] , [https://www.instagram.com/wikilovesfolklore/ Instagram]) The writing competition Feminism and Folklore will run till 31st of March 2022 23:59:59 UTC. Write about your local folk tradition, women, folk festivals, folk dances, folk music, folk activities, folk games, folk cuisine, folk wear, folklore, and tradition, including ballads, folktales, fairy tales, legends, traditional song and dance, folk plays, games, seasonal events, calendar customs, folk arts, folk religion, mythology etc. on your local Wikipedia. Check if your [[:m:Feminism and Folklore 2022/Project Page|local Wikipedia is participating]] A special competition called '''Wiki Loves Falles''' is organised in Spain and the world during 15th March 2022 till 15th April 2022 to document local folk culture and [[:en:Falles|Falles]] in Valencia, Spain. Learn more about it on [[:ca:Viquiprojecte:Falles 2022|Catalan Wikipedia project page]]. We look forward for your immense co-operation. Thanks Wiki Loves Folklore international Team [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 14:40, 14 Μαρτ 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Rockpeterson@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=22754428 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Leadership Development Working Group: Apply to join! (14 March to 10 April 2022)</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Leadership Development Working Group/Participate/Announcement|You can find this message translated into additional languages on Meta-wiki.]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Leadership Development Working Group/Participate/Announcement|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Leadership Development Working Group/Participate/Announcement}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Hello everyone, Thank you to everyone who participated in the feedback period for the [[m:Special:MyLanguage/Leadership Development Working Group|Leadership Development Working Group]] initiative. A [[m:Special:MyLanguage/Leadership Development Working Group/Participate#5. Summary of Call for Feedback|summary of the feedback]] can be found on Meta-wiki. This feedback will be shared with the working group to inform their work. The application period to join the Working Group is now open and will close on April 10, 2022. Please [[m:Special:MyLanguage/Leadership_Development_Working_Group/Purpose_and_Structure#3._How_is_the_working_group_formed_and_structured?|review the information about the working group]], share with community members who might be interested, and '''[[m:Special:MyLanguage/Leadership_Development_Working_Group/Participate#1._How_to_participate|apply if you are interested]]'''. Thank you, From the Community Development team<br /><section end="announcement-content" /> </div> [[User:Xeno (WMF)|Xeno (WMF)]] 02:20, 18 Μαρτ 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Xeno (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery&oldid=22974079 --> == Feminism and Folklore 2022 ends soon == [[File:Feminism and Folklore 2022 logo.svg|right|frameless|250px]] [[:m:Feminism and Folklore 2022|Feminism and Folklore 2022]] which is an international writing contest organized at Wikipedia ends soon that is on <b>31 March 2022 11:59 UTC</b>. This is the last chance of the year to write about feminism, women biographies and gender-focused topics such as <i>folk festivals, folk dances, folk music, folk activities, folk games, folk cuisine, folk wear, fairy tales, folk plays, folk arts, folk religion, mythology, folk artists, folk dancers, folk singers, folk musicians, folk game athletes, women in mythology, women warriors in folklore, witches and witch hunting, fairy tales and more</i> Keep an eye on the project page for declaration of Winners. We look forward for your immense co-operation. Thanks Wiki Loves Folklore international Team [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 14:29, 26 Μαρτ 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Rockpeterson@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Rockpeterson/fnf&oldid=23060054 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Universal Code of Conduct Enforcement guidelines ratification voting is now closed</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/Vote/Closing message|You can find this message translated into additional languages on Meta-wiki.]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/Vote/Closing message|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Enforcement guidelines/Vote/Closing message}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Greetings, The ratification voting process for the [[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines|revised enforcement guidelines]] of the [[m:Special:MyLanguage/Universal Code of Conduct|Universal Code of Conduct]] (UCoC) came to a close on 21 March 2022. Over {{#expr:2300}} Wikimedians voted across different regions of our movement. Thank you to everyone who participated in this process! The scrutinizing group is now reviewing the vote for accuracy, so please allow up to two weeks for them to finish their work. The final results from the voting process will be announced [[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/Voting/Results|here]], along with the relevant statistics and a summary of comments as soon as they are available. Please check out [[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/Voter information|the voter information page]] to learn about the next steps. You can comment on the project talk page [[m:Talk:Universal Code of Conduct/Enforcement guidelines|on Meta-wiki]] in any language. You may also contact the UCoC project team by email: ucocproject[[File:At sign.svg|16x16px|link=|(_AT_)]]wikimedia.org Best regards, Movement Strategy and Governance<br /><section end="announcement-content" /> </div> [[User:Xeno (WMF)|Xeno (WMF)]] 01:53, 30 Μαρτ 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Xeno (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery&oldid=23079949 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Movement Strategy and Governance News – Issue 6</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="msg-newsletter"/> <div style = "line-height: 1.2"> <span style="font-size:200%;">'''Movement Strategy and Governance News'''</span><br> <span style="font-size:120%; color:#404040;">'''Issue 6, April 2022'''</span><span style="font-size:120%; float:right;">[[m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/6|'''Read the full newsletter''']]</span> ---- Welcome to the sixth issue of Movement Strategy and Governance News! This revamped newsletter distributes relevant news and events about the Movement Charter, Universal Code of Conduct, Movement Strategy Implementation grants, Board of trustees elections and other relevant MSG topics. This Newsletter will be distributed quarterly, while the more frequent Updates will also be delivered weekly. Please remember to subscribe [[m:Special:MyLanguage/Global message delivery/Targets/MSG Newsletter Subscription|here]] if you would like to receive future issues of this newsletter. </div><div style="margin-top:3px; padding:10px 10px 10px 20px; background:#fffff; border:2px solid #808080; border-radius:4px; font-size:100%;"> *'''Leadership Development -''' A Working Group is Forming! - The application to join the Leadership Development Working Group closed on April 10th, 2022, and up to 12 community members will be selected to participate in the working group. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/6#A1|continue reading]]) *'''Universal Code of Conduct Ratification Results are out! -''' The global decision process on the enforcement of the UCoC via SecurePoll was held from 7 to 21 March. Over 2,300 eligible voters from at least 128 different home projects submitted their opinions and comments. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/6#A2|continue reading]]) *'''Movement Discussions on Hubs -''' The Global Conversation event on Regional and Thematic Hubs was held on Saturday, March 12, and was attended by 84 diverse Wikimedians from across the movement. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/6#A3|continue reading]]) *'''Movement Strategy Grants Remain Open! -''' Since the start of the year, six proposals with a total value of about $80,000 USD have been approved. Do you have a movement strategy project idea? Reach out to us! ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/6#A4|continue reading]]) *'''The Movement Charter Drafting Committee is All Set! -''' The Committee of fifteen members which was elected in October 2021, has agreed on the essential values and methods for its work, and has started to create the outline of the Movement Charter draft. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/6#A5|continue reading]]) *'''Introducing Movement Strategy Weekly -''' Contribute and Subscribe! - The MSG team have just launched the updates portal, which is connected to the various Movement Strategy pages on Meta-wiki. Subscriber to get up-to-date news about the various ongoing projects. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/6#A6|continue reading]]) *'''Diff Blogs -''' Check out the most recent publications about Movement Strategy on Wikimedia Diff. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/6#A7|continue reading]]) </div><section end="msg-newsletter"/> </div> Also, a draft of the [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2022-2023/draft|'''2022-23 Wikimedia Foundation Annual Plan''']] has been published. Input is being sought on-wiki and during [[:m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2022-2023/Conversations|'''several conversations''' with Wikimedia Foundation CEO Maryana Iskander]]. [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2022-2023/Conversations/Announcement|See full announcement on Meta-wiki]]. [[User:Xeno (WMF)|Xeno (WMF)]] 01:45, 22 Απρίλ 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Xeno (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery&oldid=23184989 --> == New Wikipedia Library Collections Available Now - April 2022 == <div lang="en" dir="ltr" class="mw-content-ltr"> Hello Wikimedians! [[File:Wikipedia_Library_owl.svg|thumb|upright|The TWL owl says sign up today!]] [[m:The Wikipedia Library|The Wikipedia Library]] has free access to new paywalled reliable sources. You can these and dozens more collections at https://wikipedialibrary.wmflabs.org/: * '''[https://wikipedialibrary.wmflabs.org/partners/128/ Wiley]''' – journals, books, and research resources, covering life, health, social, and physical sciences * '''[https://wikipedialibrary.wmflabs.org/partners/125/ OECD]''' – OECD iLibrary, Data, and Multimedia​​ published by the Organisation for Economic Cooperation and Development * '''[https://wikipedialibrary.wmflabs.org/partners/129/ SPIE Digital Library]''' – journals and eBooks on optics and photonics applied research Many other sources are freely available for experienced editors, including collections which recently became accessible to all eligible editors: Cambridge University Press, BMJ, AAAS, Érudit and more. Do better research and help expand the use of high quality references across Wikipedia projects: log in today! <br>--The Wikipedia Library Team 13:17, 26 Απρίλ 2022 (UTC) :<small>This message was delivered via the [https://meta.wikimedia.org/wiki/MassMessage#Global_message_delivery Global Mass Message] tool to [https://meta.wikimedia.org/wiki/Global_message_delivery/Targets/Wikipedia_Library The Wikipedia Library Global Delivery List].</small> </div> <!-- Το μήνυμα στάλθηκε από τον User:Samwalton9@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikipedia_Library&oldid=23036656 --> == Coming soon: Improvements for templates == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> <!--T:11--> [[File:Overview of changes in the VisualEditor template dialog by WMDE Technical Wishes.webm|thumb|Fundamental changes in the template dialog.]] Hello, more changes around templates are coming to your wiki soon: The [[mw:Special:MyLanguage/Help:VisualEditor/User guide#Editing templates|'''template dialog''' in VisualEditor]] and in the [[mw:Special:MyLanguage/2017 wikitext editor|2017 Wikitext Editor]] (beta) will be '''improved fundamentally''': This should help users understand better what the template expects, how to navigate the template, and how to add parameters. * [[metawiki:WMDE Technical Wishes/VisualEditor template dialog improvements|project page]], [[metawiki:Talk:WMDE Technical Wishes/VisualEditor template dialog improvements|talk page]] In '''syntax highlighting''' ([[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] extension), you can activate a '''colorblind-friendly''' color scheme with a user setting. * [[metawiki:WMDE Technical Wishes/Improved Color Scheme of Syntax Highlighting#Color-blind_mode|project page]], [[metawiki:Talk:WMDE Technical Wishes/Improved Color Scheme of Syntax Highlighting|talk page]] Deployment is planned for May 10. This is the last set of improvements from [[m:WMDE Technical Wishes|WMDE Technical Wishes']] focus area “[[m:WMDE Technical Wishes/Templates|Templates]]”. We would love to hear your feedback on our talk pages! </div> -- [[m:User:Johanna Strodt (WMDE)|Johanna Strodt (WMDE)]] 11:14, 29 Απρίλ 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Johanna Strodt (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=23222263 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Editing news 2022 #1</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="message"/><i>[[metawiki:VisualEditor/Newsletter/2022/April|Read this in another language]] • [[m:VisualEditor/Newsletter|Subscription list for this multilingual newsletter]]</i> [[File:Junior Contributor New Topic Tool Completion Rate.png|thumb|New editors were more successful with this new tool.]] The [[mw:Special:MyLanguage/Help:DiscussionTools#New discussion tool|New topic tool]] helps editors create new ==Sections== on discussion pages. New editors are more successful with this new tool. You can [[mw:Talk pages project/New topic#21 April 2022|read the report]]. Soon, the Editing team will offer this to all editors at the 20 Wikipedias that participated in the test. You will be able to turn it off at [[Special:Preferences#mw-prefsection-editing-discussion]].<section end="message"/> </div> [[User:Whatamidoing (WMF)|Whatamidoing (WMF)]] 18:55, 2 Καλομηνά 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Quiddity (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/VisualEditor/Newsletter/Wikis_with_VE&oldid=22019984 --> == 2022 Board of Trustees Call for Candidates == <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/Call for Candidates/Short|You can find this message translated into additional languages on Meta-wiki.]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/Call for Candidates/Short|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation elections/2022/Announcement/Call for Candidates/Short}}&language=&action=page&filter= {{int:please-translate}}]</div>'' The Board of Trustees seeks candidates for the 2022 Board of Trustees election. [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2022/Announcement/Call_for_Candidates|'''Read more on Meta-wiki.''']] The [[m:Special:MyLanguage/Wikimedia Foundation elections/2022|2022 Board of Trustees election]] is here! Please consider submitting your candidacy to serve on the Board of Trustees. The Wikimedia Foundation Board of Trustees oversees the Wikimedia Foundation's operations. Community-and-affiliate selected trustees and Board-appointed trustees make up the Board of Trustees. Each trustee serves a three year term. The Wikimedia community has the opportunity to vote for community-and-affiliate selected trustees. The Wikimedia community will vote to fill two seats on the Board in 2022. This is an opportunity to improve the representation, diversity, and expertise of the Board as a team. ;Who are potential candidates? Are you a potential candidate? Find out more on the [[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Apply to be a Candidate|Apply to be a Candidate page]]. Thank you for your support, Movement Strategy and Governance on behalf of the Elections Committee and the Board of Trustees<br /><section end="announcement-content" /> 10:39, 10 Καλομηνά 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:MNadzikiewicz (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery&oldid=23215441 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Revisions to the Universal Code of Conduct (UCoC) Enforcement Guidelines</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''<div class="plainlinks">[[m:Special:MyLanguage/Universal Code of Conduct/Enforcement guidelines/Revision discussions/Announcement|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Enforcement guidelines/Revision discussions/Announcement}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Hello all, We'd like to provide an update on the work on the Enforcement Guidelines for the Universal Code of Conduct. After the conclusion of the community vote on the guidelines in March, the [[m:Special:MyLanguage/Wikimedia Foundation Community Affairs Committee|Community Affairs committee (CAC)]] of the Board [https://lists.wikimedia.org/hyperkitty/list/wikimedia-l@lists.wikimedia.org/thread/JAYQN3NYKCHQHONMUONYTI6WRKZFQNSC/ asked that several areas of the guidelines be reviewed for improvements] before the Board does its final review. These areas were identified based on community discussions and comments provided during the vote. The CAC also requested review of the controversial Note in 3.1 of the UCoC itself. Once more, a big thank you to all who voted, especially to all who left constructive feedback and comments! The project team is working with the Board to establish a timeline for this work, and will communicate this next month. Members of the two prior [[m:Special:MyLanguage/Universal Code of Conduct/Drafting committee|UCoC Drafting Committees]] have generously offered their time to help shape improvements to the Guidelines. You can read more about them and their work [[m:Special:MyLanguage/Universal Code of Conduct/Drafting committee#Revisions_Committee|here]], as well as read [[m:Special:MyLanguage/Universal_Code_of_Conduct/Drafting_committee/Phase_2_meeting_summaries#2022|summaries of their weekly meetings in 2022]]. Wikimedians have provided many valuable comments together with the vote and in other conversations. Given the size and diversity of the Wikimedia community, there are even more voices out there who can give ideas on how to improve the enforcement guidelines and add even more valuable ideas to the process. To help the Revisions committee identify improvements, input on several questions for the committee’s review is requested. Visit the Meta-wiki pages ([[m:Special:MyLanguage/Universal_Code_of_Conduct/Enforcement_guidelines/Revision_discussions|Enforcement Guidelines revision discussions]], [[m:Special:MyLanguage/Universal_Code_of_Conduct/Policy text/Revision_discussions|Policy text revision discussions]]) to get your ideas to the Committee - it is very important that viewpoints are heard from different communities before the Committee begins drafting revision proposals. On behalf of the UCoC project team <br /><section end="announcement-content" /> </div> [[User:Xeno (WMF)|Xeno (WMF)]] 22:56, 3 Κερασινού 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Xeno (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery&oldid=23215441 --> == Results of Wiki Loves Folklore 2022 is out! == <div lang="en" dir="ltr" class="mw-content-ltr"> {{int:please-translate}} [[File:Wiki Loves Folklore Logo.svg|right|150px|frameless]] Hi, Greetings The winners for '''[[c:Commons:Wiki Loves Folklore 2022|Wiki Loves Folklore 2022]]''' is announced! We are happy to share with you winning images for this year's edition. This year saw over 8,584 images represented on commons in over 92 countries. Kindly see images '''[[:c:Commons:Wiki Loves Folklore 2022/Winners|here]]''' Our profound gratitude to all the people who participated and organized local contests and photo walks for this project. We hope to have you contribute to the campaign next year. '''Thank you,''' '''Wiki Loves Folklore International Team''' --[[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 16:13, 4 Χορτοθερί 2022 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Tiven2240@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=23454230 --> == Propose statements for the 2022 Election Compass == :''[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/Propose statements for the 2022 Election Compass| You can find this message translated into additional languages on Meta-wiki.]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/Propose statements for the 2022 Election Compass|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation elections/2022/Announcement/Propose statements for the 2022 Election Compass}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Hi all, Community members in the [[m:Special:MyLanguage/Wikimedia Foundation elections/2022|2022 Board of Trustees election]] are invited to [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2022/Community_Voting/Election_Compass|propose statements to use in the Election Compass.]] An Election Compass is a tool to help voters select the candidates that best align with their beliefs and views. The community members will propose statements for the candidates to answer using a Lickert scale (agree/neutral/disagree). The candidates’ answers to the statements will be loaded into the Election Compass tool. Voters will use the tool by entering in their answer to the statements (agree/disagree/neutral). The results will show the candidates that best align with the voter’s beliefs and views. ;Here is the timeline for the Election Compass: * July 8 - 20: Community members propose statements for the Election Compass * July 21 - 22: Elections Committee reviews statements for clarity and removes off-topic statements * July 23 - August 1: Volunteers vote on the statements * August 2 - 4: Elections Committee selects the top 15 statements * August 5 - 12: candidates align themselves with the statements * August 15: The Election Compass opens for voters to use to help guide their voting decision The Elections Committee will select the top 15 statements at the beginning of August. The Elections Committee will oversee the process, supported by the Movement Strategy and Governance team. MSG will check that the questions are clear, there are no duplicates, no typos, and so on. Best, Movement Strategy and Governance ''This message was sent on behalf of the Board Selection Task Force and the Elections Committee''<br /><section end="announcement-content" /> [[User:MNadzikiewicz (WMF)|MNadzikiewicz (WMF)]] ([[User talk:MNadzikiewicz (WMF)|talk]]) 11:34, 14 Χορτοθερί 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:MNadzikiewicz (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery&oldid=23215441 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Movement Strategy and Governance News – Issue 7</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="msg-newsletter"/> <div style = "line-height: 1.2"> <span style="font-size:200%;">'''Movement Strategy and Governance News'''</span><br> <span style="font-size:120%; color:#404040;">'''Issue 7, July-September 2022'''</span><span style="font-size:120%; float:right;">[[m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/7|'''Read the full newsletter''']]</span> ---- Welcome to the 7th issue of Movement Strategy and Governance News! The newsletter distributes relevant news and events about the implementation of Wikimedia's [[:m:Special:MyLanguage/Movement Strategy/Initiatives|Movement Strategy recommendations]], other relevant topics regarding Movement governance, as well as different projects and activities supported by the Movement Strategy and Governance (MSG) team of the Wikimedia Foundation. The MSG Newsletter is delivered quarterly, while the more frequent [[:m:Special:MyLanguage/Movement Strategy/Updates|Movement Strategy Weekly]] will be delivered weekly. Please remember to subscribe [[m:Special:MyLanguage/Global message delivery/Targets/MSG Newsletter Subscription|here]] if you would like to receive future issues of this newsletter. </div><div style="margin-top:3px; padding:10px 10px 10px 20px; background:#fffff; border:2px solid #808080; border-radius:4px; font-size:100%;"> * '''Movement sustainability''': Wikimedia Foundation's annual sustainability report has been published. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/7#A1|continue reading]]) * '''Improving user experience''': recent improvements on the desktop interface for Wikimedia projects. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/7#A2|continue reading]]) * '''Safety and inclusion''': updates on the revision process of the Universal Code of Conduct Enforcement Guidelines. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/7#A3|continue reading]]) * '''Equity in decisionmaking''': reports from Hubs pilots conversations, recent progress from the Movement Charter Drafting Committee, and a new white paper for futures of participation in the Wikimedia movement. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/7#A4|continue reading]]) * '''Stakeholders coordination''': launch of a helpdesk for Affiliates and volunteer communities working on content partnership. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/7#A5|continue reading]]) * '''Leadership development''': updates on leadership projects by Wikimedia movement organizers in Brazil and Cape Verde. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/7#A6|continue reading]]) * '''Internal knowledge management''': launch of a new portal for technical documentation and community resources. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/7#A7|continue reading]]) * '''Innovate in free knowledge''': high-quality audiovisual resources for scientific experiments and a new toolkit to record oral transcripts. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/7#A8|continue reading]]) * '''Evaluate, iterate, and adapt''': results from the Equity Landscape project pilot ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/7#A9|continue reading]]) * '''Other news and updates''': a new forum to discuss Movement Strategy implementation, upcoming Wikimedia Foundation Board of Trustees election, a new podcast to discuss Movement Strategy, and change of personnel for the Foundation's Movement Strategy and Governance team. ([[:m:Special:MyLanguage/Movement Strategy and Governance/Newsletter/7#A10|continue reading]]) </div><section end="msg-newsletter"/> </div> Thank you for reading! [[User:RamzyM (WMF)|RamzyM (WMF)]] 01:37, 18 Χορτοθερί 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery&oldid=23529147 --> == Announcing the six candidates for the 2022 Board of Trustees election == <section begin="announcement-content"/> :''[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/Announcing the six candidates for the 2022 Board of Trustees election| You can find this message translated into additional languages on Meta-wiki.]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/Announcing the six candidates for the 2022 Board of Trustees election|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation elections/2022/Announcement/Announcing the six candidates for the 2022 Board of Trustees election}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Hi everyone, '''The Affiliate voting process has concluded.''' Representatives from each Affiliate organization learned about the candidates by reading candidates’ statements, reviewing candidates’ answers to questions, and considering the candidates’ ratings provided by the Analysis Committee. The selected 2022 Board of Trustees candidates are: * Tobechukwu Precious Friday ([[:m:User:Tochiprecious|Tochiprecious]]) * Farah Jack Mustaklem ([[:m:User:Fjmustak|Fjmustak]]) * Shani Evenstein Sigalov ([[:m:User:Esh77|Esh77]]) * Kunal Mehta ([[:m:User:Legoktm|Legoktm]]) * Michał Buczyński ([[:m:User:Aegis Maelstrom|Aegis Maelstrom]]) * Mike Peel ([[:m:User:Mike Peel|Mike Peel]]) You may see more information about the [[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Results|Results]] and [[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Stats|Statistics]] of this Board election. Please take a moment to appreciate the Affiliate Representatives and Analysis Committee members for taking part in this process and helping to grow the Board of Trustees in capacity and diversity. These hours of volunteer work connect us across understanding and perspective. Thank you for your participation. Thank you to the community members who put themselves forward as candidates for the Board of Trustees. Considering joining the Board of Trustees is no small decision. The time and dedication candidates have shown to this point speaks to their commitment to this movement. Congratulations to those candidates who have been selected. A great amount of appreciation and gratitude for those candidates not selected. Please continue to share your leadership with Wikimedia. Thank you to those who followed the Affiliate process for this Board election. You may review the results of the Affiliate selection process. '''The next part of the Board election process is the community voting period.''' [[m:Special:MyLanguage/Wikimedia Foundation elections/2022#Timeline|You may view the Board election timeline here]]. To prepare for the community voting period, there are several things community members can engage with in the following ways: * [[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Candidates|Read candidates’ statements]] and read the candidates’ answers to the questions posed by the Affiliate Representatives. * [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2022/Community_Voting/Questions_for_Candidates|Propose and select the 6 questions for candidates to answer during their video Q&A]]. * See the [[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Candidates|Analysis Committee’s ratings of candidates on each candidate’s statement]]. * [[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Community Voting/Election Compass|Propose statements for the Election Compass]] voters can use to find which candidates best fit their principles. * Encourage others in your community to take part in the election. Best, Movement Strategy and Governance ''This message was sent on behalf of the Board Selection Task Force and the Elections Committee'' </div><section end="announcement-content"/> [[User:MNadzikiewicz (WMF)|MNadzikiewicz (WMF)]] 14:03, 27 Χορτοθερί 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:MNadzikiewicz (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery&oldid=23530132 --> == Vote for Election Compass Statements == <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/Vote for Election Compass Statements| You can find this message translated into additional languages on Meta-wiki.]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/Vote for Election Compass Statements|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation elections/2022/Announcement/Vote for Election Compass Statements}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Hi all, Volunteers in the [[m:Special:MyLanguage/Wikimedia Foundation elections/2022|2022 Board of Trustees election]] are invited to [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2022/Community_Voting/Election_Compass/Statements|vote for statements to use in the Election Compass]]. You can vote for the statements you would like to see included in the Election Compass on Meta-wiki. An Election Compass is a tool to help voters select the candidates that best align with their beliefs and views. The community members will propose statements for the candidates to answer using a Lickert scale (agree/neutral/disagree). The candidates’ answers to the statements will be loaded into the Election Compass tool. Voters will use the tool by entering in their answer to the statements (agree/disagree/neutral). The results will show the candidates that best align with the voter’s beliefs and views. Here is the timeline for the Election Compass: *<s>July 8 - 20: Volunteers propose statements for the Election Compass</s> *<s>July 21 - 22: Elections Committee reviews statements for clarity and removes off-topic statements</s> *July 23 - August 1: Volunteers vote on the statements *August 2 - 4: Elections Committee selects the top 15 statements *August 5 - 12: candidates align themselves with the statements *August 15: The Election Compass opens for voters to use to help guide their voting decision The Elections Committee will select the top 15 statements at the beginning of August Best, Movement Strategy and Governance ''This message was sent on behalf of the Board Selection Task Force and the Elections Committee'' </div><section end="announcement-content" /> [[User:MNadzikiewicz (WMF)|MNadzikiewicz (WMF)]] 21:01, 27 Χορτοθερί 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:MNadzikiewicz (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery&oldid=23530132 --> == The 2022 Board of Trustees election Community Voting period is now open == <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/The 2022 Board of Trustees election Community Voting period is now open| You can find this message translated into additional languages on Meta-wiki.]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Announcement/The 2022 Board of Trustees election Community Voting period is now open|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation elections/2022/Announcement/The 2022 Board of Trustees election Community Voting period is now open}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Hi everyone, The Community Voting period for the [[m:Special:MyLanguage/Wikimedia Foundation elections/2022|2022 Board of Trustees election]] is now open. Here are some helpful links to get you the information you need to vote: * Try the [[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Community_Voting/Election_Compass|Election Compass]], showing how candidates stand on 15 different topics. * Read the [[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Candidates|candidate statements]] and [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2022/Affiliate_Organization_Participation/Candidate_Questions|answers to Affiliate questions]] * [[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Apply to be a Candidate|Learn more about the skills the Board seeks]] and how the [[m:Special:MyLanguage/Wikimedia Foundation elections/2022/Candidates|Analysis Committee found candidates align with those skills]] If you are ready to vote, you may go to [[Special:SecurePoll/vote/Wikimedia_Foundation_Board_Elections_2022|SecurePoll voting page]] to vote now. '''You may vote from August 23 at 00:00 UTC to September 6 at 23:59 UTC.''' To see about your voter eligibility, please visit the [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2022/Voter_eligibility_guidelines|voter eligibility page]]. Best, Movement Strategy and Governance ''This message was sent on behalf of the Board Selection Task Force and the Elections Committee''<br /><section end="announcement-content" /> [[User:MNadzikiewicz_(WMF)|MNadzikiewicz (WMF)]] <!-- Το μήνυμα στάλθηκε από τον User:MNadzikiewicz (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery&oldid=23708360 --> == Invitation to join the Movement Strategy Forum == :''{{More languages}}'' <section begin="announcement-content" /> Hello everyone, The [https://forum.movement-strategy.org/ Movement Strategy Forum] (MS Forum) is a multilingual collaborative space for all conversations about Movement Strategy implementation. We are inviting all Movement participants to collaborate on the MS Forum. The goal of the forum is to build community collaboration, using an inclusive multilingual platform. The [[m:Movement Strategy|Movement Strategy]] is a collaborative effort to imagine and build the future of the Wikimedia Movement. Anyone can contribute to the Movement Strategy, from a comment to a full-time project. ;Join this forum with your Wikimedia account, engage in conversations, and ask questions in your language. The Movement Strategy and Governance team (MSG) launched the proposal for the MS Forum in May 2022. There was a 2-month community review period, which ended on 24 July 2022. The community review process included several questions that resulted in interesting conversations. You can read the [https://forum.movement-strategy.org/t/ms-forum-community-review-report/1436 Community Review Report]. We look forward to seeing you at the MS Forum! Best regards, the Movement Strategy and Governance Team [[User:MNadzikiewicz (WMF)]] 11:32, 29 Aλωναρί 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:MNadzikiewicz (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery&oldid=23720620 --> == The Vector 2022 skin as the default in two weeks? == <div lang="en" dir="ltr" class="mw-content-ltr"> [[File:Wikimania 2022 Vector (2022) Presentation.pdf|thumb|The slides for our presentation at Wikimania 2022|page=26]] Hello. I'm writing on behalf of the [[mw:Reading/Web|Wikimedia Foundation Web team]]. '''In two weeks, we would like to make the Vector 2022 skin the default on this wiki.''' We have been working on it for the past three years. So far, it has been the default on more than 30 wikis, including sister projects, all accounting for more than 1 billion pageviews per month. On average [[phab:T317529#8246686|87% of active logged-in users]] of those wikis use Vector 2022. It would become the default for all logged-out users, and also all logged-in users who currently use Vector legacy. Logged-in users can at any time switch to [[Special:Preferences#mw-prefsection-rendering|any other skins]]. No changes are expected for users of these skins. <div style="width:100%; margin:auto;"><gallery widths="220" heights="150" mode="packed" caption="Top of an article"> Screenshot Historia da moeda do Tíbet - 2022-09-22 - Vector 2010 top.png|Vector legacy (current default) Screenshot Historia da moeda do Tíbet - 2022-09-22 - Vector 2022 top.png|Vector 2022 </gallery><gallery widths="220" heights="150" mode="packed" caption="A section of an article"> Screenshot Historia da moeda do Tíbet - 2022-09-22 - Vector 2010 scrolled.png|Vector legacy (current default) Screenshot Historia da moeda do Tíbet - 2022-09-22 - Vector 2022 scrolled.png|Vector 2022 </gallery></div> === About the skin === '''[Why is a change necessary]''' The current default skin meets the needs of the readers and editors as these were 13 years ago. Since then, new users have begun using Wikimedia projects. [https://diff.wikimedia.org/2022/08/18/prioritizing-equity-within-wikipedias-new-desktop/ The old Vector doesn't meet their needs.] '''[Objective]''' The objective for the new skin is to make the interface more welcoming and comfortable for readers and useful for advanced users. It draws inspiration from previous requests, the [[metawiki:Special:MyLanguage/Community_Wishlist_Survey|Community Wishlist Surveys]], and gadgets and scripts. The work helped our code follow the standards and improve all other skins. [[phab:phame/post/view/290/how_and_why_we_moved_our_skins_to_mustache/|We reduced PHP code in Wikimedia deployed skins by 75%]]. The project has also focused on making it easier to support gadgets and use APIs. '''[Changes and test results]''' The skin introduces a [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Features|series of changes]] that improve readability and usability. The new skin does not remove any functionality currently available on the Vector skin. * The sticky header makes it easier to find tools that editors use often. It decreases scrolling to the top of the page by 16%. * The new table of contents makes it easier to navigate to different sections. Readers and editors jumped to different sections of the page 50% more than with the old table of contents. It also looks a bit different on talk pages. * The new search bar is easier to find and makes it easier to find the correct search result from the list. This increased the amount of searches started by 30% on the wikis we tested on. * The skin does not negatively affect pageviews, edit rates, or account creation. There is evidence of increases in pageviews and account creation across partner communities. '''[Try it out]''' Try out the new skin by going to the appearance tab in [[Special:Preferences#mw-prefsection-rendering|your preferences]] and selecting Vector 2022 from the list of skins. === How can editors change and customize this skin? === It's possible to configure and personalize our changes. We support volunteers who create new gadgets and user scripts. Check out [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Repository|our repository]] for a list of currently available customizations, or add your own. === Our plan === '''If no large concerns are raised, we plan on deploying in the week of October 3, 2022'''. If your community would like to request more time to discuss the changes, hit the button and write to us. We can adjust the calendar. <div style="text-align: center;">[[mw:Talk:Reading/Web/Desktop Improvements|<span class="plainlinks mw-ui-button">Request for more time to discuss the change</span>]]</div> If you'd like ask our team anything, if you have questions, concerns, or additional thoughts, please ping me here or write on the [[mw:Talk:Reading/Web/Desktop Improvements|talk page of the project]]. We will gladly answer! Also, [[mw:Reading/Web/Desktop Improvements/Frequently asked questions|see our FAQ]]. Thank you! [[mw:User:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[mw:User talk:SGrabarczuk (WMF)|talk]]) 04:15, 22 Σταυρί 2022 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:SGrabarczuk (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:SGrabarczuk_(WMF)/sandbox/MM/Varia&oldid=23838600 --> == Update on Vector 2022 == [[File:Screenshot Historia da moeda do Tíbet - 2022-09-22 - Vector 2022 scrolled.png|thumb]] <div lang="en" dir="ltr" class="mw-content-ltr"> Hello. I'm sorry for not communicating in your language. I'll be grateful if you translated my message. I'm writing on behalf of the [[mw:Reading/Web|Web team]] working on the new skin, [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements|Vector 2022]]. We wanted to apologize for the delays in the deployment of Vector 2022. We know many of you are waiting for this eagerly. We have been delaying the deployment because we have been working on the logos. It has taken us more time than originally expected. Once the logos are ready, we will let you know the exact date of deployment. '''We are planning for either the next (more likely) or the following week'''. If your wiki doesn't currently have a localized logo, we encourage you to [[mw:Talk:Reading/Web/Desktop Improvements|reach out to us]] and we can help make one. We invite you to [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements#contact|get involved in the project]]. Contact us if you have any questions or need any help, particularly with the compatibility of gadgets and user scripts. Thank you! [[User:SGrabarczuk (WMF)|SGrabarczuk (WMF)]] ([[User talk:SGrabarczuk (WMF)|talk]]) 23:24, 19 Τρυγομηνά 2022 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:SGrabarczuk (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:SGrabarczuk_(WMF)/sandbox/MM/Varia&oldid=23955535 --> == Invitation to attend “Ask Me Anything about Movement Charter” Sessions == <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Movement Charter/Community Consultation/Announcement/Ask Me Anything Sessions|You can find this message translated into additional languages on Meta-wiki.]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Movement Charter/Community Consultation/Announcement/Ask Me Anything Sessions|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Movement Charter/Community Consultation/Announcement/Ask Me Anything Sessions}}&language=&action=page&filter= {{int:please-translate}}] Hello all, During the 2022 Wikimedia Summit, the [[m:Special:MyLanguage/Movement Charter/Drafting Committee|Movement Charter Drafting Committee]] (MCDC) presented the first outline of the Movement Charter, giving a glimpse on the direction of its future work, and the Charter itself. The MCDC then integrated the initial feedback collected during the Summit. Before proceeding with writing the Charter for the whole Movement, the MCDC wants to interact with community members and gather feedback on the drafts of the three sections: Preamble, Values & Principles, and Roles & Responsibilities (intentions statement). The Movement Charter drafts will be available on the Meta page [[m:Special:MyLanguage/Movement Charter/Content|here]] on November 14, 2022. Community wide consultation period on MC will take place from November 20 to December 18, 2022. Learn more about it [[m:Special:MyLanguage/Movement Charter/Community Consultation|here]]. With the goal of ensuring that people are well informed to fully participate in the conversations and are empowered to contribute their perspective on the Movement Charter, three '''“Ask Me Anything about Movement Charter"''' sessions have been scheduled in different time zones. Everyone in the Wikimedia Movement is invited to attend these conversations. The aim is to learn about Movement Charter - its goal, purpose, why it matters, and how it impacts your community. MCDC members will attend these sessions to answer your questions and hear community feedback. The “Ask Me Anything” sessions accommodate communities from different time zones. Only the presentation of the session is recorded and shared afterwards, no recording of conversations. Below is the list of planned events: *<s>'''Asia/Pacific''': November 4, 2022 at 09:00 UTC ([https://zonestamp.toolforge.org/1667552400 your local time]). Interpretation is available in Chinese and Japanese.</s> * '''Europe/MENA/Sub Saharan Africa''': November 12, 2022 at 15:00 UTC ([https://zonestamp.toolforge.org/1668265257 your local time]). Interpretation is available in Arabic, French and Russian. * '''North and South America/ Western Europe''': November 12, 2022 at 15:00 UTC ([https://zonestamp.toolforge.org/1668265257 your local time]). Interpretation is available in Spanish and Portuguese. On the [[m:Special:MyLanguage/Movement Charter/Community Consultation|Meta page]] you will find more details; Zoom links will be shared 48 hours ahead of the call. '''Call for Movement Charter Ambassadors''' Individuals or groups from all communities who wish to help include and start conversations in their communities on the Movement Charter are encouraged to become [[m:Special:MyLanguage/Movement Strategy and Governance/Movement Charter Ambassadors Program/About|Movement Charter Ambassadors]] (MC Ambassadors). MC Ambassadors will carry out their own activities and get financial support for enabling conversations in their own languages. [[m:Special:MyLanguage/Movement Strategy and Governance/Team|Regional facilitators]] from the Movement Strategy and Governance team are available to support applicants with MC Ambassadors grantmaking. If you are interested please sign up [[m:Special:MyLanguage/Movement Strategy and Governance/Movement Charter Ambassadors Program/About|here]]. Should you have specific questions, please reach out to the MSG team via email: strategy2030@wikimedia.org or on the MS forum. We thank you for your time and participation. On behalf of the Movement Charter Drafting Committee,<section end="announcement-content" /> [[User:MNadzikiewicz (WMF)|MNadzikiewicz (WMF)]] 15:33, 7 Αεργί 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:MNadzikiewicz (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery&oldid=23914777 --> == Apply for Funding through the Movement Strategy Community Engagement Package to Support Your Community == :''{{More languages}}'' <section begin="announcement-content" /> The Wikimedia Movement Strategy implementation is a collaborative effort for all Wikimedians. [[m:Special:MyLanguage/Grants:MSIG/About|Movement Strategy Implementation Grants]] support projects that take the current state of a [[m:Special:MyLanguage/Movement Strategy/Initiatives|Movement Strategy Initiative]] and push it one step forward. If you are looking for an example or some guide on how to engage your community further on Movement Strategy and the Movement Strategy Implementation Grants specifically, you may find this '''[[m:Special:MyLanguage/Grants:MSIG/Community Engagement Package|community engagement package]]''' helpful. The goal of this community engagement package is to support more people to access the funding they might need for the implementation work. By becoming a recipient of this grant, you will be able to support other community members to develop further grant applications that fit with your local contexts to benefit your own communities. With this package, the hope is to break down language barriers and to ensure community members have needed information on Movement Strategy to connect with each other. Movement Strategy is a two-way exchange, we can always learn more from the experiences and knowledge of Wikimedians everywhere. We can train and support our peers by using this package, so more people can make use of this great funding opportunity. If this information interests you or if you have any further thoughts or questions, please do not hesitate to reach out to us as your [[m:Special:MyLanguage/Movement_Strategy_and_Governance/Team|regional facilitators]] to discuss further. We will be more than happy to support you. When you are ready, follow the steps on [[m:Special:MyLanguage/Grants:MSIG/About |this page]] to apply. We look forward to receiving your application. Best regards, <br> Movement Strategy and Governance Team <br> Wikimedia Foundation<section end="announcement-content" /> [[User:MNadzikiewicz (WMF)|MNadzikiewicz (WMF)]] 16:26, 14 Αεργί 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:MNadzikiewicz (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery&oldid=23914777 --> == Opportunities open for the Ombuds commission and the Case Review Committee == <section begin="announcement-content" /> <div style="margin:.2em 0 .5em;margin-{{#switch:{{PAGELANGUAGE}}|ar|arc|ary|arz|azb|bcc|bgn|ckb|bqi|dv|fa|fa-af|glk|ha-arab|he|kk-arab|kk-cn|ks|ku-arab|ms-arab|mzn|pnb|prd|ps|sd|ug|ur|ydd|yi=right|left}}:3ex;"> [[m:Special:MyLanguage/Wikimedia Foundation Legal department/Announcement/2023 OC and CRC appointments process|''You can find this message translated into additional languages on Meta-wiki.'']] ''<span class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation Legal department/Announcement/2023 OC and CRC appointments process|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation Legal department/Announcement/2023 OC and CRC appointments process}}&language=&action=page&filter= {{int:please-translate}}]</span>'' </div> Hi everyone! The Ombuds commission (OC) and the Case Review Committee (CRC) are looking for members. People are encouraged to nominate themselves or encourage others they feel would contribute to these groups to do so. There is more information below about the opportunity and the skills that are needed. '''About the Ombuds commission''' The Ombuds commission (OC) works on all Wikimedia projects to investigate complaints about violations of the privacy policy, especially in use of [[m:Special:MyLanguage/CheckUser policy|CheckUser]] and [[m:Special:MyLanguage/Oversight policy|Oversight]] (also known as Suppression) tools. The Commission mediates between the parties of the investigation and, when violations of the policies are identified, advises the Wikimedia Foundation on best handling. They may also assist the General Counsel, the Chief Executive Officer, or the Board of Trustees of the Foundation in these investigations when legally necessary. For more on the OC's duties and roles, '''[[m:Special:MyLanguage/Ombuds commission|see Ombuds commission on Meta-Wiki]]'''. Volunteers serving in this role should be experienced Wikimedians, active on any project, who have previously used the CheckUser/Oversight tools OR who have the technical ability to understand these tools and the willingness to learn them. They must be able to communicate in English, the common language of the commission. They are expected to be able to engage neutrally in investigating these concerns and to know when to recuse when other roles and relationships may cause conflict. Commissioners will serve '''two-year terms''' (note that this is different from past years, when the terms have been for one year). '''About the Case Review Committee''' The Case Review Committee (CRC) reviews appeals of eligible Trust & Safety office actions. The CRC is a critical layer of oversight to ensure that Wikimedia Foundation office actions are fair and unbiased. They also make sure the Wikimedia Foundation doesn’t overstep established practices or boundaries. For more about the role, '''[[m:Special:MyLanguage/Case Review Committee|see Case Review Committee on Meta-Wiki]]'''. We are looking for current or former functionaries and experienced volunteers with an interest in joining this group. Applicants must be fluent in English (additional languages are a strong plus) and willing to abide by the [[m:Special:MyLanguage/Trust_and_Safety/Case_Review_Committee/Charter|terms of the Committee charter]]. If the work resonates and you qualify, please apply. Committee members will serve '''two-year terms''' (note that this is different from past years, when the terms have been for one year). '''Applying to join either of these groups''' Members are required to sign the [[m:Special:MyLanguage/Confidentiality agreement for nonpublic information|Confidentiality agreement for nonpublic information]] and must be willing to comply with the appropriate Wikimedia Foundation board policies (such as the [[m:Special:MyLanguage/Access to nonpublic information policy|access to non-public information policy]] and the [[foundation:Special:MyLanguage/Privacy policy|Foundation privacy policy]]). These positions requires a high degree of discretion and trust. Members must also be over 18 years of age. '''If you are interested in serving in either capacity listed above,''' please write in English to the Trust and Safety team at ca[[File:At sign.svg|16x16px|link=|(_AT_)]]wikimedia.org (to apply to the OC) or to the Legal Team at legal[[File:At sign.svg|16x16px|link=|(_AT_)]]wikimedia.org (to apply to the CRC) with information about: * Your primary projects * Languages you speak/write * Any experience you have serving on committees, whether movement or non-movement * Your thoughts on what you could bring to the OC or CRC if appointed * Any experience you have with the Checkuser or Oversight tools (OC only) * Any other information you think is relevant '''The deadline for applications is 31 December 2022 in any timezone.''' Please feel free to pass this invitation along to any users who you think may be qualified and interested. Thank you! On behalf of the Committee Support team,<br /><section end="announcement-content" /> <!-- Το μήνυμα στάλθηκε από τον User:MNadzikiewicz (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Movement_Strategy_and_Governance/Delivery&oldid=23914777 --> == Community Wishlist Survey 2023 opens in January! == <div lang="en" dir="ltr" class="mw-content-ltr"> ''{{int:Please-translate}}'' {{int:Hello}} The [[m:Community Wishlist Survey 2023|'''Community Wishlist Survey (CWS) 2023''']], which lets contributors propose and vote for tools and improvements, starts next month on Monday, [https://zonestamp.toolforge.org/1674496831 23 January 2023, at 18:00 UTC] and will continue annually. We are inviting you to share your ideas for technical improvements to our tools and platforms. Long experience in editing or technical skills is not required. If you have ever used our software and thought of an idea to improve it, this is the place to come share those ideas! The dates for the phases of the Survey will be as follows: * Phase 1: Submit, discuss, and revise proposals – Monday, Jan 23, 2023 to Sunday, Feb 6, 2023 * Phase 2: WMF/Community Tech reviews and organizes proposals – Monday, Jan 30, 2023 to Friday, Feb 10, 2023 * Phase 3: Vote on proposals – Friday, Feb 10, 2023 to Friday, Feb 24, 2023 * Phase 4: Results posted – Tuesday, Feb 28, 2023 If you want to start writing out your ideas ahead of the Survey, you can start thinking about your proposals and draft them in [[m:Community Wishlist Survey/Sandbox|the CWS sandbox]]. We are grateful to all who participated last year. See you in January 2023! </div> {{int:Feedback-thanks-title}} <bdi lang="en" dir="ltr">Community Tech, [[m:User:STei (WMF)|STei (WMF)]]</bdi> 12:59, 13 Χριστουγενναρί 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Sannita (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:STei_(WMF)/CWS_2023_List&oldid=24226232 --> == Vote for your favourite Wikimedia sound logo == ''{{int:Please-translate}}'' ''We are really sorry for posting in English'' [[Αρχείον:Sound_Logo_Cover_Image_-_Linkedin.png|κέντρο|800x800εσ]] Voting in the Wikimedia sound logo contest [[c:Commons:Sound_Logo_Vote|'''has started''']]. From December 6 to 19, 2022, please play a part and help chose the sound that will identify Wikimedia content on audio devices. [[wmfblog:2022/12/06/vote-for-the-sound-of-all-human-knowledge/|Learn more on Diff]]. The sound logo team is grateful to everyone who participated in this global contest. We received 3,235 submissions from 2,094 participants in 135 countries. We are incredibly grateful to the team of [[wmfblog:2022/10/31/screening-3235-sound-submissions/|volunteer screeners]] and the [https://meta.wikimedia.org/wiki/Communications/Sound_Logo/Contest_proposal#How_will_the_final_selection_happen? selection committee] who, among others, helped bring us to where we are today. It is now up to Wikimedia to choose the Sound Of All Human Knowledge. Best wishes, [[Χρήστες:Arupako-WMF|Arupako-WMF]] ([[Καλάτσεμαν χρήστε:Arupako-WMF|συζήτηση]]) 16:06, 17 Χριστουγενναρί 2022 (UTC) == Feminism and Folklore 2023 == <div style="border:8px maroon ridge;padding:6px;> [[File:Feminism and Folklore 2023 logo.svg|centre|550px|frameless]] ::<div lang="en" dir="ltr" class="mw-content-ltr"> <center>''{{int:please-translate}}''</center> Dear Wiki Community, Christmas Greetings and a Happy New Year 2023, You are humbly invited to organize the '''[[:m:Feminism and Folklore 2023|Feminism and Folklore 2023]]''' writing competition from February 1, 2023, to March 31, 2023 on your local Wikipedia. This year, Feminism and Folklore will focus on feminism, women's issues, and gender-focused topics for the project, with a [[:c:Commons:Wiki Loves Folklore 2023|Wiki Loves Folklore]] gender gap focus and a folk culture theme on Wikipedia. You can help Wikipedia's coverage of folklore from your area by writing or improving articles about things like folk festivals, folk dances, folk music, women and queer folklore figures, folk game athletes, women in mythology, women warriors in folklore, witches and witch hunting, fairy tales, and more. Users can help create new articles, expand or translate from a [[:m:Feminism and Folklore 2023/List of Articles|list]] of suggested articles. Organisers are requested to work on the following action items to sign up their communities for the project: # Create a page for the contest on the local wiki. # Set up a fountain tool or dashboard. # Create the local list and mention the timeline and local and international prizes. # Request local admins for site notice. # Link the local page and the fountain/dashboard link on the [[:m:Feminism and Folklore 2023/Project Page|meta project page]]. This year we would be supporting the community's financial aid for Internet and childcare support. This would be provided for the local team including their jury and coordinator team. This support is opt-in and non mandatory. Kindly fill in [https://docs.google.com/forms/d/e/1FAIpQLSea81OO0lVgUBd551iIiENXht7BRCISYZlKyBQlemZu_j2OHQ/viewform this Google form] and mark a mail to [mailto:support@wikilovesfolklore.org support@wikilovesfolklore.org] with the subject line starting as [Stipend] Name or Username/Language. The last date to sign up for internet and childcare aid from our team is 20th of January 2023, We encourage the language coordinators to sign up their community on this link by the 25th of January 2023. Learn more about the contest and prizes on our [[:m:Feminism and Folklore 2023|project page]]. Feel free to contact us on our [[:m:Talk:Feminism and Folklore 2023/Project Page|meta talk page]] or by email us if you need any assistance. We look forward to your immense coordination. Thank you and Best wishes, [[:m:Feminism and Folklore 2023|Feminism and Folklore 2023 International Team]] ::::Stay connected [[File:B&W Facebook icon.png|link=https://www.facebook.com/feminismandfolklore/|30x30px]]&nbsp; [[File:B&W Twitter icon.png|link=https://twitter.com/wikifolklore|30x30px]] </div></div> --[[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 10:24, 24 Χριστουγενναρί 2022 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Tiven2240@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery/Wikipedia&oldid=23942484 --> == Global ban for PlanespotterA320/RespectCE == Per the [[m:Global bans|Global bans]] policy, I'm informing the project of this request for comment: [[m:Requests for comment/Global ban for PlanespotterA320 (2) ]] about banning a member from your community. Thank you.--[[User:Lemonaka|Lemonaka]] ([[User talk:Lemonaka|talk]]) 21:40, 6 February 2023 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Zabe@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Lemonaka/Massmessagelist&oldid=24501599 --> == Editing news 2023 #1 == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="message"/><i>[[m:Special:MyLanguage/VisualEditor/Newsletter/2023/February|Read this in another language]] • [[m:Special:MyLanguage/VisualEditor/Newsletter|Subscription list for this multilingual newsletter]]</i> This newsletter includes two key updates about the [[mw:Special:MyLanguage/Editing team|Editing]] team's work: # The Editing team will finish adding new features to the [[mw:Special:MyLanguage/Talk pages project|Talk pages project]] and deploy it. # They are beginning a new project, [[mw:Special:MyLanguage/Edit check|Edit check]]. <strong>Talk pages project</strong> [[File:Page Frame Features on desktop.png|alt=Screenshot showing the talk page design changes that are currently available as beta features at all Wikimedia wikis. These features include information about the number of people and comments within each discussion.|thumb|300px|Some of the upcoming changes]] The Editing team is nearly finished with this first phase of the [[mw:Special:MyLanguage/Talk_pages_project|Talk pages project]]. Nearly all [[mw:Special:MyLanguage/Talk pages project/Usability|new features]] are available now in the [[Special:Preferences#mw-prefsection-betafeatures|Beta Feature for {{int:discussiontools-preference-label}}]]. It will show information about how active a discussion is, such as the date of the most recent comment. There will soon be a new "{{int:skin-action-addsection}}" button. You will be able to turn them off at [[Special:Preferences#mw-prefsection-editing-discussion]]. Please [[mw:Special:MyLanguage/Talk:Talk_pages_project/Usability#c-PPelberg_(WMF)-20230215001000-Feedback:_Proposed_Revisions_to_%22Add_topic%22_button|tell them what you think]]. [[File:Daily edit completion rates mobile talk pages.png|thumb|300px|Daily edit completion rate by test group: DiscussionTools (test group) and MobileFrontend overlay (control group)]] An A/B test for [[mw:Special:MyLanguage/Talk pages project/Mobile|{{int:discussiontools-preference-label}} on the mobile site]] has finished. Editors were [[mw:Special:MyLanguage/Talk_pages_project/Mobile#Status_Updates|more successful with {{int:discussiontools-preference-label}}]]. The Editing team is enabling these features for all editors on the mobile site. <strong>New Project: Edit Check</strong> The Editing team is beginning [[mw:Special:MyLanguage/Edit check|a project to help new editors of Wikipedia]]. It will help people identify some problems before they click "{{int:publishchanges}}". The first tool will encourage people to add references when they add new content. Please [[mw:Special:MyLanguage/Help:Watchlist|watch]] that page for more information. You can [[mw:Special:MyLanguage/Editing_team/Community_Conversations#20230303|join a conference call on 3&nbsp;March&nbsp;2023]] to learn more.<section end="message"/> </div> –[[User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[User talk:Whatamidoing (WMF)|{{int:Talkpagelinktext}}]]) 23:24, 22 Κούντουρονος 2023 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Quiddity (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/VisualEditor/Newsletter/Wikis_with_VE&oldid=24611966 --> == <span lang="el" dir="ltr" class="mw-content-ltr">Your wiki will be in read only soon</span> == <div lang="el" dir="ltr" class="mw-content-ltr"> <section begin="server-switch"/><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch|Διαβάστε αυτό το μήνυμα σε άλλη γλώσσα]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Tech%2FServer+switch&language=&action=page&filter= {{int:please-translate}}] Το [[foundation:|Ἰδρυμα Wikimedia]] δοκιμάζει την εναλλαγή μεταξύ των πρωτευόντων και δευτερόντων κέντρων δεδομένων του. Με αυτόν τον τρόπο θα διασφαλιστεί ότι η Βικιπαίδεια και τα άλλα wiki του Wikimedia θα μπορούν να παραμείνουν ενεργά ακόμα και μετά από μία καταστροφή. Για να βεβαιώσουμε ότι όλα λειτουργούν ομαλά, το Τμήμα Τεχνολογίας της Wikimedia πρέπει να πραγματοποιήσει μία προγραμματισμένη δοκιμή. Η δοκιμή αυτή θα δείξει αν μπορεί να γίνει αξιόπιστα η αλλαγή από το ένα κέντρο δεδομένων στο άλλο. Χρειάζονται πολλές ομάδες τόσο για την προετοιμασία της δοκιμής, όσο και για την αντιμετώπιση τυχόν απροσδόκητων προβλημάτων. Όλη η κίνηση θα εναλλαχθεί στις '''{{#time:j xg|2023-03-01|el}}'''. Η δοκιμή θα ξεκινήσει στις '''[https://zonestamp.toolforge.org/{{#time:U|2023-03-01T14:00|en}} {{#time:H:i e|2023-03-01T14:00}}]''' (16:00 ώρα Ελλάδος και Κύπρου). Δυστυχώς, λόγω κάποιων περιορισμών του [[mw:Manual:What is MediaWiki?|MediaWiki]], δεν θα υπάρχει δυνατότητα επεξεργασίας κατά τη διάρκεια της μετατόπισης της κίνησης. Ζητούμε συγγνώμη για την αναστάτωση, και καταβάλλουμε προσπάθειες αυτή να ελαχιστοποιηθεί στο μέλλον. '''Για ένα σύντομο χρονικό διάστημα, θα μπορείτε να διαβάσετε όλα τα wiki, αλλά όχι να τα επεξεργαστείτε.''' *Η επεξεργασία θα είναι αδύνατη για έως και μία ώρα την {{#time:l j xg Y|2023-03-01|el}}. *Αν προσπαθήσετε να επεξεργαστείτε ή να αποθηκεύσετε μια σελίδα εκείνη την ώρα, θα δείτε ένα μήνυμα σφάλματος. Ελπίζουμε ότι δεν θα χαθούν επεξεργασίες εκείνη την ώρα, αλλά δεν μπορούμε να το εγγυηθούμε. Αν δείτε το μήνυμα σφάλματος, παρακαλούμε περιμένετε μέχρι να επανέλθουν όλα στο κανονικό. Τότε θα μπορέσετε να αποθηκεύσετε την αλλαγή σας. Ωστόσο προτείνουμε να κρατήσετε ένα αντίγραφο των αλλαγών σας, για κάθε ενδεχόμενο. ''Άλλα προβλήματα'' *Οι εργασίες στο υπόβαθρο θα είναι πιο αργές και κάποιες μπορεί να ακυρωθούν. Οι κόκκινοι σύνδεσμοι πιθανώς να μην ενημερώνονται τόσο γρήγορα όσο συνήθως. Αν δημιουργήσετε μια σελίδα που ήδη συνδέεται από κάπου αλλού, ο σύνδεσμος θα παραμείνει κόκκινος για περισσότερο χρόνο από ότι συνήθως. Κάποια διεργασίες που απαιτούν ώρα να εκτελεστούν θα αναγκαστούν να σταματήσουν. * Αναμένουμε ότι οι αναπτύξεις κώδικα θα γίνουν όπως κάθε άλλη εβδομάδα. Ωστόσο, ορισμένες κατά περίπτωση παγώσεις κώδικα θα μπορούσαν να συμβούν αμέσως, εάν η επιχείρηση τις απαιτήσει στη συνέχεια. * Το [[mw:Special:MyLanguage/GitLab|GitLab]] δεν θα είναι διαθέσιμο για περίπου 90 λεπτά. Το έργο αυτό ενδέχεται να αναβληθεί εάν είναι απαραίτητο. Μπορείτε να [[wikitech:Switch_Datacenter|διαβάσετε το πρόγραμμα στο wikitech.wikimedia.org]]. Οι όποιες αλλαγές θα ανακοινωθούν στο πρόγραμμα. Θα υπάρξουν περισσότερες ειδοποιήσεις σχετικά με τη διαδικασία. Ένα μπάνερ θα προβληθεί σε όλα τα wiki 30 λεπτά πριν ξεκινήσει η επιχείρηση. '''Παρακαλούμε μοιραστείτε αυτή την πληροφορία με την κοινότητά σας.'''</div><section end="server-switch"/> </div> <span dir=ltr>[[m:User:Trizek (WMF)|Trizek (WMF)]] ([[m:User talk:Trizek (WMF)|{{int:talk}}]])</span> 21:21, 27 Κούντουρονος 2023 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Trizek (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=24390465 --> == Ukraine's Cultural Diplomacy Month 2023: We are back! == <div lang="en" dir="ltr" class="mw-content-ltr"> <div lang="en" dir="ltr" class="mw-content-ltr"> [[File:UCDM 2023 promo.png|180px|right]] {{int:please-translate}} Hello, dear Wikipedians!<br/> [[m:Special:MyLanguage/Wikimedia Ukraine|Wikimedia Ukraine]], in cooperation with the [[:en:Ministry of Foreign Affairs of Ukraine|Ministry of Foreign Affairs of Ukraine]] and [[:en:Ukrainian Institute|Ukrainian Institute]], has launched the third edition of writing challenge "'''[[m:Special:MyLanguage/Ukraine's Cultural Diplomacy Month 2023|Ukraine's Cultural Diplomacy Month]]'''", which lasts from 1st until 31st March 2023. The campaign is dedicated to famous Ukrainian artists of cinema, music, literature, architecture, design and cultural phenomena of Ukraine that are now part of world heritage. We accept contribution in every language! The most active contesters will receive [[m:Special:MyLanguage/Ukraine's Cultural Diplomacy Month 2023/Prizes|prizes]].<br/> We invite you to take part and help us improve the coverage of Ukrainian culture on Wikipedia in your language! Also, we plan to set up a [[m:CentralNotice/Request/UCDM 2023|banner]] to notify users of the possibility to participate in such a challenge! </div> [[m:User:ValentynNefedov (WMUA)|ValentynNefedov (WMUA)]] ([[m:User talk:ValentynNefedov (WMUA)|talk]]) 07:58, 1 March 2023 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:ValentynNefedov (WMUA)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery/Wikipedia&oldid=23942484 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Wikimania 2023 Welcoming Program Submissions</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="wikimania-program-submissions"/>[[File:Wikimedia_Singapore_Logo.svg|right|frameless]]Do you want to host an in-person or virtual session at Wikimania 2023? Maybe a hands-on workshop, a lively discussion, a fun performance, a catchy poster, or a memorable lightning talk? [[wmania:Special:MyLanguage/2023:Program/Submissions|'''Submissions are open until March 28''']]. The event will have dedicated hybrid blocks, so virtual submissions and pre-recorded content are also welcome. If you have any questions, please join us at an upcoming conversation on March 12 or 19, or reach out by email at wikimania@wikimedia.org or on Telegram. More information on-wiki.<section end="wikimania-program-submissions"/> </div> <!-- Το μήνυμα στάλθηκε από τον User:CKoerner (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=24390465 --> == <span lang="el" dir="ltr" class="mw-content-ltr">Your wiki will be in read-only soon</span> == <div lang="el" dir="ltr" class="mw-content-ltr"> <section begin="server-switch"/><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch|Διαβάστε αυτό το μήνυμα σε άλλη γλώσσα]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Tech%2FServer+switch&language=&action=page&filter= {{int:please-translate}}] Το [[foundation:|Ἰδρυμα Wikimedia]] δοκιμάζει την εναλλαγή μεταξύ των πρωτευόντων και δευτερόντων κέντρων δεδομένων του. Με αυτόν τον τρόπο θα διασφαλιστεί ότι η Βικιπαίδεια και τα άλλα wiki του Wikimedia θα μπορούν να παραμείνουν ενεργά ακόμα και μετά από μία καταστροφή. Για να βεβαιώσουμε ότι όλα λειτουργούν ομαλά, το Τμήμα Τεχνολογίας της Wikimedia πρέπει να πραγματοποιήσει μία προγραμματισμένη δοκιμή. Η δοκιμή αυτή θα δείξει αν μπορεί να γίνει αξιόπιστα η αλλαγή από το ένα κέντρο δεδομένων στο άλλο. Χρειάζονται πολλές ομάδες τόσο για την προετοιμασία της δοκιμής, όσο και για την αντιμετώπιση τυχόν απροσδόκητων προβλημάτων. Όλη η κίνηση θα εναλλαχθεί στις '''{{#time:j xg|2023-04-26|el}}'''. Η δοκιμή θα ξεκινήσει στις '''[https://zonestamp.toolforge.org/{{#time:U|2023-04-26T14:00|en}} {{#time:H:i e|2023-04-26T14:00}}]''' (16:00 ώρα Ελλάδος και Κύπρου). Δυστυχώς, λόγω κάποιων περιορισμών του [[mw:Manual:What is MediaWiki?|MediaWiki]], δεν θα υπάρχει δυνατότητα επεξεργασίας κατά τη διάρκεια της μετατόπισης της κίνησης. Ζητούμε συγγνώμη για την αναστάτωση, και καταβάλλουμε προσπάθειες αυτή να ελαχιστοποιηθεί στο μέλλον. '''Για ένα σύντομο χρονικό διάστημα, θα μπορείτε να διαβάσετε όλα τα wiki, αλλά όχι να τα επεξεργαστείτε.''' *Η επεξεργασία θα είναι αδύνατη για έως και μία ώρα την {{#time:l j xg Y|2023-04-26|el}}. *Αν προσπαθήσετε να επεξεργαστείτε ή να αποθηκεύσετε μια σελίδα εκείνη την ώρα, θα δείτε ένα μήνυμα σφάλματος. Ελπίζουμε ότι δεν θα χαθούν επεξεργασίες εκείνη την ώρα, αλλά δεν μπορούμε να το εγγυηθούμε. Αν δείτε το μήνυμα σφάλματος, παρακαλούμε περιμένετε μέχρι να επανέλθουν όλα στο κανονικό. Τότε θα μπορέσετε να αποθηκεύσετε την αλλαγή σας. Ωστόσο προτείνουμε να κρατήσετε ένα αντίγραφο των αλλαγών σας, για κάθε ενδεχόμενο. ''Άλλα προβλήματα'' *Οι εργασίες στο υπόβαθρο θα είναι πιο αργές και κάποιες μπορεί να ακυρωθούν. Οι κόκκινοι σύνδεσμοι πιθανώς να μην ενημερώνονται τόσο γρήγορα όσο συνήθως. Αν δημιουργήσετε μια σελίδα που ήδη συνδέεται από κάπου αλλού, ο σύνδεσμος θα παραμείνει κόκκινος για περισσότερο χρόνο από ότι συνήθως. Κάποια διεργασίες που απαιτούν ώρα να εκτελεστούν θα αναγκαστούν να σταματήσουν. * Αναμένουμε ότι οι αναπτύξεις κώδικα θα γίνουν όπως κάθε άλλη εβδομάδα. Ωστόσο, ορισμένες κατά περίπτωση παγώσεις κώδικα θα μπορούσαν να συμβούν αμέσως, εάν η επιχείρηση τις απαιτήσει στη συνέχεια. * Το [[mw:Special:MyLanguage/GitLab|GitLab]] δεν θα είναι διαθέσιμο για περίπου 90 λεπτά. Το έργο αυτό ενδέχεται να αναβληθεί εάν είναι απαραίτητο. Μπορείτε να [[wikitech:Switch_Datacenter|διαβάσετε το πρόγραμμα στο wikitech.wikimedia.org]]. Οι όποιες αλλαγές θα ανακοινωθούν στο πρόγραμμα. Θα υπάρξουν περισσότερες ειδοποιήσεις σχετικά με τη διαδικασία. Ένα μπάνερ θα προβληθεί σε όλα τα wiki 30 λεπτά πριν ξεκινήσει η επιχείρηση. '''Παρακαλούμε μοιραστείτε αυτή την πληροφορία με την κοινότητά σας.'''</div><section end="server-switch"/> </div> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:41, 21 Απρίλ 2023 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:UOzurumba (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=24748237 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Seeking volunteers for the next step in the Universal Code of Conduct process</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''<div class="plainlinks">[[m:Special:MyLanguage/Universal Code of Conduct/U4C Building Committee/Nominations/Announcement|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/U4C Building Committee/Nominations/Announcement}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Hello, As follow-up to [https://lists.wikimedia.org/hyperkitty/list/wikimedia-l@lists.wikimedia.org/message/IOMVS7W75ZYMABQGOQ2QH2JAURC3CHGH/ the message about the Universal Code of Conduct Enforcement Guidelines] by Wikimedia Foundation Board of Trustees Vice Chair, Shani Evenstein Sigalov, I am reaching out about the next steps. I want to bring your attention to the next stage of the Universal Code of Conduct process, which is forming a building committee for the Universal Code of Conduct Coordinating Committee (U4C). I invite community members with experience and deep interest in community health and governance to nominate themselves to be part of the U4C building committee, which needs people who are: * Community members in good standing * Knowledgeable about movement community processes, such as, but not limited to, policy drafting, participatory decision making, and application of existing rules and policies on Wikimedia projects * Aware and appreciative of the diversity of the movement, such as, but not limited to, languages spoken, identity, geography, and project type * Committed to participate for the entire U4C Building Committee period from mid-May - December 2023 * Comfortable with engaging in difficult, but productive conversations * Confidently able to communicate in English The Building Committee shall consist of volunteer community members, affiliate board or staff, and Wikimedia Foundation staff. The Universal Code of Conduct has been a process strengthened by the skills and knowledge of the community and I look forward to what the U4C Building Committee creates. If you are interested in joining the Building Committee, please either [[m:Special:MyLanguage/Universal_Code_of_Conduct/U4C_Building_Committee/Nominations|sign up on the Meta-Wiki page]], or contact ucocproject[[File:At sign.svg|16x16px|link=|(_AT_)]]wikimedia.org by May 12, 2023. '''[[m:Special:MyLanguage/Universal_Code_of_Conduct/U4C_Building_Committee|Read more on Meta-Wiki]]'''. Best regards,<br /><section end="announcement-content" /> </div> [[User:Xeno (WMF)|Xeno (WMF)]] 19:00, 26 Απρίλ 2023 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Xeno (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=24941045 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Selection of the U4C Building Committee</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> The next stage in the Universal Code of Conduct process is establishing a Building Committee to create the charter for the Universal Code of Conduct Coordinating Committee (U4C). The Building Committee has been selected. [[m:Special:MyLanguage/Universal_Code_of_Conduct/U4C_Building_Committee|Read about the members and the work ahead on Meta-wiki]].<section end="announcement-content" /> </div> -- [[m:Special:MyLanguage/Universal_Code_of_Conduct/Project|UCoC Project Team]], 04:20, 27 Καλομηνά 2023 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=25018085 --> == <span lang="en" dir="ltr" class="mw-content-ltr"> Announcing the new Elections Committee members</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Wikimedia Foundation elections committee/Nominatons/2023/Announcement - new members|You can find this message translated into additional languages on Meta-wiki.]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation elections committee/Nominatons/2023/Announcement - new members|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation elections committee/Nominatons/2023/Announcement - new members}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Hello there, We are glad to announce [[listarchive:list/wikimedia-l@lists.wikimedia.org/message/4TALOUFPAP2VDBR27GKRVOP7IGQYU3DB/|the new members and advisors of the Elections Committee]]. The [[m:Special:MyLanguage/Wikimedia_Foundation_elections_committee|Elections Committee]] assists with the design and implementation of the process to select Community- and Affiliate-Selected trustees for the Wikimedia Foundation Board of Trustees. After an open nomination process, the strongest candidates spoke with the Board and four candidates were asked to join the Elections Committee. Four other candidates were asked to participate as advisors. Thank you to all the community members who submitted their names for consideration. We look forward to working with the Elections Committee in the near future. On behalf of the Wikimedia Foundation Board of Trustees,<br /><section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 18:00, 28 Κερασινού 2023 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=25018085 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Review the Charter for the Universal Code of Conduct Coordinating Committee</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''<div class="plainlinks">[[m:Special:MyLanguage/Universal Code of Conduct/U4C Building Committee/Announcement - Review|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/U4C Building Committee/Announcement - Review}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Hello all, I am pleased to share the next step in the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]] work. The [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|Universal Code of Conduct Coordinating Committee (U4C) draft charter]] is now ready for your review. The [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct/Enforcement guidelines|Enforcement Guidelines]] require a [[foundation:Special:MyLanguage/Policy:Universal_Code_of_Conduct/Enforcement_guidelines#4.5_U4C_Building_Committee|Building Committee]] form to draft a charter that outlines procedures and details for a global committee to be called the [[foundation:Special:MyLanguage/Policy:Universal_Code_of_Conduct/Enforcement_guidelines#4._UCoC_Coordinating_Committee_(U4C)|Universal Code of Conduct Coordinating Committee (U4C)]]. Over the past few months, the U4C Building Committee worked together as a group to discuss and draft the U4C charter. The U4C Building Committee welcomes feedback about the draft charter now through 22 September 2023. After that date, the U4C Building Committee will revise the charter as needed and a community vote will open shortly afterward. Join the conversation during the [[m:Special:MyLanguage/Universal Code of Conduct/U4C Building Committee#Conversation hours|conversation hours]] or on [[m:Talk:Universal Code of Conduct/Coordinating Committee/Charter|Meta-wiki]]. Best,<br /><section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]], on behalf of the U4C Building Committee, 15:35, 28 Aλωναρί 2023 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=25392152 --> == <span lang="el" dir="ltr" class="mw-content-ltr">Το wiki σας σύντομα θα είναι μόνο για ανάγνωση</span> == <div lang="el" dir="ltr" class="mw-content-ltr"> <section begin="server-switch"/><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch|Διαβάστε αυτό το μήνυμα σε άλλη γλώσσα]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Tech%2FServer+switch&language=&action=page&filter= {{int:please-translate}}] <span class="mw-translate-fuzzy">Το [[foundation:|Ἰδρυμα Wikimedia]] δοκιμάζει την εναλλαγή μεταξύ των πρωτευόντων και δευτερόντων κέντρων δεδομένων του.</span> Με αυτόν τον τρόπο θα διασφαλιστεί ότι η Βικιπαίδεια και τα άλλα wiki του Wikimedia θα μπορούν να παραμείνουν ενεργά ακόμα και μετά από μία καταστροφή. Για να βεβαιώσουμε ότι όλα λειτουργούν ομαλά, το Τμήμα Τεχνολογίας της Wikimedia πρέπει να πραγματοποιήσει μία προγραμματισμένη δοκιμή. Η δοκιμή αυτή θα δείξει αν μπορεί να γίνει αξιόπιστα η αλλαγή από το ένα κέντρο δεδομένων στο άλλο. Χρειάζονται πολλές ομάδες τόσο για την προετοιμασία της δοκιμής, όσο και για την αντιμετώπιση τυχόν απροσδόκητων προβλημάτων. Όλη η κίνηση θα εναλλαχθεί στις '''{{#time:j xg|2023-09-20|el}}'''. Η δοκιμή θα ξεκινήσει στις '''[https://zonestamp.toolforge.org/{{#time:U|2023-09-20T14:00|en}} {{#time:H:i e|2023-09-20T14:00}}]''' (16:00 ώρα Ελλάδος και Κύπρου). Δυστυχώς, λόγω κάποιων περιορισμών του [[mw:Special:MyLanguage/Manual:What is MediaWiki?|MediaWiki]], δεν θα υπάρχει δυνατότητα επεξεργασίας κατά τη διάρκεια της μετατόπισης της κίνησης. Ζητούμε συγγνώμη για την αναστάτωση, και καταβάλλουμε προσπάθειες αυτή να ελαχιστοποιηθεί στο μέλλον. '''Για ένα σύντομο χρονικό διάστημα, θα μπορείτε να διαβάσετε όλα τα wiki, αλλά όχι να τα επεξεργαστείτε.''' *Η επεξεργασία θα είναι αδύνατη για έως και μία ώρα την {{#time:l j xg Y|2023-09-20|el}}. *Αν προσπαθήσετε να επεξεργαστείτε ή να αποθηκεύσετε μια σελίδα εκείνη την ώρα, θα δείτε ένα μήνυμα σφάλματος. Ελπίζουμε ότι δεν θα χαθούν επεξεργασίες εκείνη την ώρα, αλλά δεν μπορούμε να το εγγυηθούμε. Αν δείτε το μήνυμα σφάλματος, παρακαλούμε περιμένετε μέχρι να επανέλθουν όλα στο κανονικό. Τότε θα μπορέσετε να αποθηκεύσετε την αλλαγή σας. Ωστόσο προτείνουμε να κρατήσετε ένα αντίγραφο των αλλαγών σας, για κάθε ενδεχόμενο. ''Άλλα προβλήματα'' *Οι εργασίες στο υπόβαθρο θα είναι πιο αργές και κάποιες μπορεί να ακυρωθούν. Οι κόκκινοι σύνδεσμοι πιθανώς να μην ενημερώνονται τόσο γρήγορα όσο συνήθως. Αν δημιουργήσετε μια σελίδα που ήδη συνδέεται από κάπου αλλού, ο σύνδεσμος θα παραμείνει κόκκινος για περισσότερο χρόνο από ότι συνήθως. Κάποια διεργασίες που απαιτούν ώρα να εκτελεστούν θα αναγκαστούν να σταματήσουν. * Αναμένουμε ότι οι αναπτύξεις κώδικα θα γίνουν όπως κάθε άλλη εβδομάδα. Ωστόσο, ορισμένες κατά περίπτωση παγώσεις κώδικα θα μπορούσαν να συμβούν αμέσως, εάν η επιχείρηση τις απαιτήσει στη συνέχεια. * Το [[mw:Special:MyLanguage/GitLab|GitLab]] δεν θα είναι διαθέσιμο για περίπου 90 λεπτά. Το έργο αυτό ενδέχεται να αναβληθεί εάν είναι απαραίτητο. Μπορείτε να [[wikitech:Switch_Datacenter|διαβάσετε το πρόγραμμα στο wikitech.wikimedia.org]]. Οι όποιες αλλαγές θα ανακοινωθούν στο πρόγραμμα. Θα υπάρξουν περισσότερες ειδοποιήσεις σχετικά με τη διαδικασία. Ένα μπάνερ θα προβληθεί σε όλα τα wiki 30 λεπτά πριν ξεκινήσει η επιχείρηση. '''Παρακαλούμε μοιραστείτε αυτή την πληροφορία με την κοινότητά σας.'''</div><section end="server-switch"/> </div> [[User:Trizek (WMF)|Trizek_(WMF)]] ([[m:User talk:Trizek (WMF)|talk]]) 09:23, 15 Σταυρί 2023 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Trizek (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=25018086 --> == <span lang="en" dir="ltr" class="mw-content-ltr">== Opportunities open for the Affiliations Committee, Ombuds commission, and the Case Review Committee ==</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> <div style="margin:.2em 0 .5em;margin-{{#switch:{{PAGELANGUAGE}}|ar|arc|ary|arz|azb|bcc|bgn|ckb|bqi|dv|fa|fa-af|glk|ha-arab|he|kk-arab|kk-cn|ks|ku-arab|ms-arab|mzn|pnb|prd|ps|sd|ug|ur|ydd|yi=right|left}}:3ex;"> [[m:Special:MyLanguage/Wikimedia Foundation Legal department/Committee appointments/Announcement/Short|''You can find this message translated into additional languages on Meta-wiki.'']] ''<span class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation Legal department/Committee appointments/Announcement/Short|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation Legal department/Committee appointments/Announcement/Short}}&language=&action=page&filter= {{int:please-translate}}]</span>''</div> Hi everyone! The [[m:Special:MyLanguage/Affiliations Committee|Affiliations Committee]] (AffCom), [[m:Special:MyLanguage/Ombuds_commission|Ombuds commission]] (OC), and the [[m:Special:MyLanguage/Trust_and_Safety/Case_Review_Committee|Case Review Committee]] (CRC) are looking for new members. These volunteer groups provide important structural and oversight support for the community and movement. People are encouraged to nominate themselves or encourage others they feel would contribute to these groups to apply. There is more information about the roles of the groups, the skills needed, and the opportunity to apply on the [[m:Special:MyLanguage/Wikimedia Foundation Legal department/Committee appointments|'''Meta-wiki page''']]. On behalf of the Committee Support team,<br /><section end="announcement-content" /> </div> <div lang="en" dir="ltr" class="mw-content-ltr"> ~ [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) 16:41, 9 Τρυγομηνά 2023 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Keegan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=25570445 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Review and comment on the 2024 Wikimedia Foundation Board of Trustees selection rules package</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/wiki/Wikimedia Foundation elections/2024/Announcement/Rules package review - short| You can find this message translated into additional languages on Meta-wiki.]]'' :''<div class="plainlinks">[[m:Special:MyLanguage/wiki/Wikimedia Foundation elections/2024/Announcement/Rules package review - short|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:wiki/Wikimedia Foundation elections/2024/Announcement/Rules package review - short}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Dear all, Please review and comment on the Wikimedia Foundation Board of Trustees selection rules package from now until 29 October 2023. The selection rules package was based on older versions by the Elections Committee and will be used in the 2024 Board of Trustees selection. Providing your comments now will help them provide a smoother, better Board selection process. [[m:Special:MyLanguage/Wikimedia Foundation elections/2024|More on the Meta-wiki page]]. Best, Katie Chan <br> Chair of the Elections Committee<br /><section end="announcement-content" /> </div> 01:13, 17 Τρυγομηνά 2023 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=25570445 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Coming soon: Reference Previews</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="ReferencePreviewsDefault"/> [[File:Example_of_a_Reference_Preview.png|right|300px]] A new feature is coming to your wiki soon: Reference Previews are popups for references. Such popups have existed on wikis as local gadgets for many years. Now there is a central solution, available on all wikis, and consistent with the [[mw:Special:MyLanguage/Page Previews|PagePreviews feature]]. Reference Previews will be visible to everyone, including readers. If you don’t want to see them, [[m:WMDE Technical Wishes/ReferencePreviews#Opt-out feature|you can opt out]]. If you are [[Special:Preferences#mw-prefsection-gadgets|using the gadgets]] Reference Tooltips or Navigation Popups, you won’t see Reference Previews unless you disable the gadget. Reference Previews have been a beta feature on many wikis since 2019, and a default feature on some since 2021. Deployment is planned for November 22. * [[mw:Special:MyLanguage/Help:Reference Previews|Help page]] * [[m:WMDE Technical Wishes/ReferencePreviews|Project page with more information (in English)]]. * Feedback is welcome [[m:Talk:WMDE Technical Wishes/ReferencePreviews|on this talk page]]. -- For [[m:WMDE Technical Wishes|Wikimedia Deutschland’s Technical Wishes]] team, <section end="ReferencePreviewsDefault"/> </div> [[m:User:Johanna Strodt (WMDE)|Johanna Strodt (WMDE)]], 13:11, 15 Αεργί 2023 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Johanna Strodt (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=25866958 --> == <span lang="en" dir="ltr" class="mw-content-ltr">(New) Feature on [[mw:Special:MyLanguage/Help:Extension:Kartographer|Kartographer]]: Adding geopoints via QID</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="Body"/>Since September 2022, it is possible to create geopoints using a QID. Many wiki contributors have asked for this feature, but it is not being used much. Therefore, we would like to remind you about it. More information can be found on the [[M:WMDE_Technical_Wishes/Geoinformation/Geopoints via QID|project page]]. If you have any comments, please let us know on the [[M:Talk:WMDE Technical Wishes/Geoinformation/Geopoints via QID|talk page]]. – Best regards, the team of Technical Wishes at Wikimedia Deutschland <section end="Body"/> </div> [[M:User:Thereza Mengs (WMDE)|Thereza Mengs (WMDE)]] 12:31, 13 Χριστουγενναρί 2023 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Thereza Mengs (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=25955829 --> == Do you use Wikidata in Wikimedia sibling projects? Tell us about your experiences == <div lang="en" dir="ltr" class="mw-content-ltr"> ''Note: Apologies for cross-posting and sending in English.'' Hello, the '''[[m:WD4WMP|Wikidata for Wikimedia Projects]]''' team at Wikimedia Deutschland would like to hear about your experiences using Wikidata in the sibling projects. If you are interested in sharing your opinion and insights, please consider signing up for an interview with us in this '''[https://wikimedia.sslsurvey.de/Wikidata-for-Wikimedia-Interviews Registration form]'''.<br> ''Currently, we are only able to conduct interviews in English.'' The front page of the form has more details about what the conversation will be like, including how we would '''compensate''' you for your time. For more information, visit our ''[[m:WD4WMP/AddIssue|project issue page]]'' where you can also share your experiences in written form, without an interview.<br>We look forward to speaking with you, [[m:User:Danny Benjafield (WMDE)|Danny Benjafield (WMDE)]] ([[m:User talk:Danny Benjafield (WMDE)|talk]]) 08:53, 5 January 2024 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Danny Benjafield (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/WD4WMP/ScreenerInvite&oldid=26027495 --> == Reusing references: Can we look over your shoulder? == ''Apologies for writing in English.'' The Technical Wishes team at Wikimedia Deutschland is planning to [[m:WMDE Technical Wishes/Reusing references|make reusing references easier]]. For our research, we are looking for wiki contributors willing to show us how they are interacting with references. * The format will be a 1-hour video call, where you would share your screen. [https://wikimedia.sslsurvey.de/User-research-into-Reusing-References-Sign-up-Form-2024/en/ More information here]. * Interviews can be conducted in English, German or Dutch. * [[mw:WMDE_Engineering/Participate_in_UX_Activities#Compensation|Compensation is available]]. * Sessions will be held in January and February. * [https://wikimedia.sslsurvey.de/User-research-into-Reusing-References-Sign-up-Form-2024/en/ Sign up here if you are interested.] * Please note that we probably won’t be able to have sessions with everyone who is interested. Our UX researcher will try to create a good balance of wiki contributors, e.g. in terms of wiki experience, tech experience, editing preferences, gender, disability and more. If you’re a fit, she will reach out to you to schedule an appointment. We’re looking forward to seeing you, [[m:User:Thereza Mengs (WMDE)| Thereza Mengs (WMDE)]] <!-- Το μήνυμα στάλθηκε από τον User:Thereza Mengs (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=25956752 --> == Feminism and Folklore 2024 == <div style="border:8px maroon ridge;padding:6px;> [[File:Feminism and Folklore 2024 logo.svg|centre|550px|frameless]] ::<div lang="en" dir="ltr" class="mw-content-ltr"> <center>''{{int:please-translate}}''</center> Dear Wiki Community, You are humbly invited to organize the '''[[:m:Feminism and Folklore 2024|Feminism and Folklore 2024]]''' writing competition from February 1, 2023, to March 31, 2023 on your local Wikipedia. This year, Feminism and Folklore will focus on feminism, women's issues, and gender-focused topics for the project, with a [[:c:Commons:Wiki Loves Folklore 2024|Wiki Loves Folklore]] gender gap focus and a folk culture theme on Wikipedia. You can help Wikipedia's coverage of folklore from your area by writing or improving articles about things like folk festivals, folk dances, folk music, women and queer folklore figures, folk game athletes, women in mythology, women warriors in folklore, witches and witch hunting, fairy tales, and more. Users can help create new articles, expand or translate from a generated list of suggested articles. Organisers are requested to work on the following action items to sign up their communities for the project: # Create a page for the contest on the local wiki. # Set up a campaign on '''CampWiz''' tool. # Create the local list and mention the timeline and local and international prizes. # Request local admins for site notice. # Link the local page and the CampWiz link on the [[:m:Feminism and Folklore 2024/Project Page|meta project page]]. This year, the Wiki Loves Folklore Tech Team has introduced two new tools to enhance support for the campaign. These tools include the '''Article List Generator by Topic''' and '''CampWiz'''. The Article List Generator by Topic enables users to identify articles on the English Wikipedia that are not present in their native language Wikipedia. Users can customize their selection criteria, and the tool will present a table showcasing the missing articles along with suggested titles. Additionally, users have the option to download the list in both CSV and wikitable formats. Notably, the CampWiz tool will be employed for the project for the first time, empowering users to effectively host the project with a jury. Both tools are now available for use in the campaign. [https://tools.wikilovesfolklore.org/ '''Click here to access these tools'''] Learn more about the contest and prizes on our [[:m:Feminism and Folklore 2024|project page]]. Feel free to contact us on our [[:m:Talk:Feminism and Folklore 2024/Project Page|meta talk page]] or by email us if you need any assistance. We look forward to your immense coordination. Thank you and Best wishes, '''[[:m:Feminism and Folklore 2024|Feminism and Folklore 2024 International Team]]''' ::::Stay connected [[File:B&W Facebook icon.png|link=https://www.facebook.com/feminismandfolklore/|30x30px]]&nbsp; [[File:B&W Twitter icon.png|link=https://twitter.com/wikifolklore|30x30px]] </div></div> --[[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 07:26, 18 Καλανταρί 2024 (UTC) == Wiki Loves Folklore is back! == <div lang="en" dir="ltr" class="mw-content-ltr"> {{int:please-translate}} [[File:Wiki Loves Folklore Logo.svg|right|150px|frameless]] Dear Wiki Community, You are humbly invited to participate in the '''[[:c:Commons:Wiki Loves Folklore 2024|Wiki Loves Folklore 2024]]''' an international photography contest organized on Wikimedia Commons to document folklore and intangible cultural heritage from different regions, including, folk creative activities and many more. It is held every year from the '''1st till the 31st''' of March. You can help in enriching the folklore documentation on Commons from your region by taking photos, audios, videos, and [https://commons.wikimedia.org/w/index.php?title=Special:UploadWizard&campaign=wlf_2024 submitting] them in this commons contest. You can also [[:c:Commons:Wiki Loves Folklore 2024/Organize|organize a local contest]] in your country and support us in translating the [[:c:Commons:Wiki Loves Folklore 2024/Translations|project pages]] to help us spread the word in your native language. Feel free to contact us on our [[:c:Commons talk:Wiki Loves Folklore 2024|project Talk page]] if you need any assistance. '''Kind regards,''' '''Wiki loves Folklore International Team''' -- [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 07:26, 18 Καλανταρί 2024 (UTC) </div></div> <!-- Το μήνυμα στάλθηκε από τον User:Tiven2240@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery/Wikipedia&oldid=23942484 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Vote on the Charter for the Universal Code of Conduct Coordinating Committee</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/wiki/Universal Code of Conduct/Coordinating Committee/Charter/Announcement - voting opens|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:wiki/Universal Code of Conduct/Coordinating Committee/Charter/Announcement - voting opens}}&language=&action=page&filter= {{int:please-translate}}]'' Hello all, I am reaching out to you today to announce that the voting period for the [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee|Universal Code of Conduct Coordinating Committee]] (U4C) Charter is now open. Community members may [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Charter/Voter_information|cast their vote and provide comments about the charter via SecurePoll]] now through '''2 February 2024'''. Those of you who voiced your opinions during the development of the [[foundation:Special:MyLanguage/Policy:Universal_Code_of_Conduct/Enforcement_guidelines|UCoC Enforcement Guidelines]] will find this process familiar. The [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|current version of the U4C Charter]] is on Meta-wiki with translations available. Read the charter, go vote and share this note with others in your community. I can confidently say the U4C Building Committee looks forward to your participation. On behalf of the UCoC Project team,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 18:08, 19 Καλανταρί 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=25853527 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Last days to vote on the Charter for the Universal Code of Conduct Coordinating Committee</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/wiki/Universal Code of Conduct/Coordinating Committee/Charter/Announcement - voting reminder|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:wiki/Universal Code of Conduct/Coordinating Committee/Charter/Announcement - voting reminder}}&language=&action=page&filter= {{int:please-translate}}]'' Hello all, I am reaching out to you today to remind you that the voting period for the [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee|Universal Code of Conduct Coordinating Committee]] (U4C) charter will close on '''2 February 2024'''. Community members may [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Charter/Voter_information|cast their vote and provide comments about the charter via SecurePoll]]. Those of you who voiced your opinions during the development of the [[foundation:Special:MyLanguage/Policy:Universal_Code_of_Conduct/Enforcement_guidelines|UCoC Enforcement Guidelines]] will find this process familiar. The [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|current version of the U4C charter]] is on Meta-wiki with translations available. Read the charter, go vote and share this note with others in your community. I can confidently say the U4C Building Committee looks forward to your participation. On behalf of the UCoC Project team,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 17:00, 31 Καλανταρί 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=25853527 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Announcing the results of the UCoC Coordinating Committee Charter ratification vote</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/wiki/Universal Code of Conduct/Coordinating Committee/Charter/Announcement - results|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:wiki/Universal Code of Conduct/Coordinating Committee/Charter/Announcement - results}}&language=&action=page&filter= {{int:please-translate}}]'' Dear all, Thank you everyone for following the progress of the Universal Code of Conduct. I am writing to you today to announce the outcome of the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Charter/Voter_information|ratification vote]] on the [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|Universal Code of Conduct Coordinating Committee Charter]]. 1746 contributors voted in this ratification vote with 1249 voters supporting the Charter and 420 voters not. The ratification vote process allowed for voters to provide comments about the Charter. A report of voting statistics and a summary of voter comments will be published on Meta-wiki in the coming weeks. Please look forward to hearing about the next steps soon. On behalf of the UCoC Project team,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 18:23, 12 Κούντουρονος 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26160150 --> == Ukraine's Cultural Diplomacy Month 2024: We are back! == <div lang="en" dir="ltr" class="mw-content-ltr"> [[File:UCDM 2024 general.jpg|180px|right]] {{int:please-translate}} Hello, dear Wikipedians!<br/> [[:m:Special:MyLanguage/Wikimedia Ukraine|Wikimedia Ukraine]], in cooperation with the [[:en:Ministry of Foreign Affairs of Ukraine|MFA of Ukraine]] and [[:en:Ukrainian Institute|Ukrainian Institute]], has launched the forth edition of writing challenge "'''[[:m:Special:MyLanguage/Ukraine's Cultural Diplomacy Month 2024|Ukraine's Cultural Diplomacy Month]]'''", which lasts from 1st until 31st March 2024. The campaign is dedicated to famous Ukrainian artists of cinema, music, literature, architecture, design and cultural phenomena of Ukraine that are now part of world heritage. We accept contribution in every language! The most active contesters will receive prizes.<br/> We invite you to take part and help us improve the coverage of Ukrainian culture on Wikipedia in your language! Also, we plan to set up a [[:m:CentralNotice/Request/UCDM 2024|banner]] to notify users of the possibility to participate in such a challenge! [[:m:User:ValentynNefedov (WMUA)|ValentynNefedov (WMUA)]] ([[:m:User talk:ValentynNefedov (WMUA)|talk]]) </div> <!-- Το μήνυμα στάλθηκε από τον User:ValentynNefedov (WMUA)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery/Wikipedia&oldid=26166467 --> == <span lang="en" dir="ltr" class="mw-content-ltr"> Report of the U4C Charter ratification and U4C Call for Candidates now available</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024/Announcement – call for candidates| You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Coordinating Committee/Election/2024/Announcement – call for candidates}}&language=&action=page&filter= {{int:please-translate}}]'' Hello all, I am writing to you today with two important pieces of information. First, the [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter/Vote results|report of the comments from the Universal Code of Conduct Coordinating Committee (U4C) Charter ratification]] is now available. Secondly, the call for candidates for the U4C is open now through April 1, 2024. 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. Community members are invited to submit their applications for the U4C. For more information and the responsibilities of the U4C, please [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|review the U4C Charter]]. Per the charter, there are 16 seats on the U4C: eight community-at-large seats and eight regional seats to ensure the U4C represents the diversity of the movement. Read more and submit your application on [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024|Meta-wiki]]. On behalf of the UCoC project team,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 16:25, 5 Μαρτ 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26276337 --> == <span lang="en" dir="ltr" class="mw-content-ltr"> Wikimedia Foundation Board of Trustees 2024 Selection</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> : ''[[m:Special:MyLanguage/Wikimedia Foundation elections/2024/Announcement/Selection announcement| You can find this message translated into additional languages on Meta-wiki.]]'' : ''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation elections/2024/Announcement/Selection announcement|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation elections/2024/Announcement/Selection announcement}}&language=&action=page&filter= {{int:please-translate}}]</div>'' Dear all, This year, the term of 4 (four) Community- and Affiliate-selected Trustees on the Wikimedia Foundation Board of Trustees will come to an end [1]. The Board invites the whole movement to participate in this year’s selection process and vote to fill those seats. The [[m:Special:MyLanguage/Wikimedia Foundation elections committee|Elections Committee]] will oversee this process with support from Foundation staff [2]. The Board Governance Committee created a Board Selection Working Group from Trustees who cannot be candidates in the 2024 community- and affiliate-selected trustee selection process composed of Dariusz Jemielniak, Nataliia Tymkiv, Esra'a Al Shafei, Kathy Collins, and Shani Evenstein Sigalov [3]. The group is tasked with providing Board oversight for the 2024 trustee selection process, and for keeping the Board informed. More details on the roles of the Elections Committee, Board, and staff are here [4]. Here are the key planned dates: * May 2024: Call for candidates and call for questions * June 2024: Affiliates vote to shortlist 12 candidates (no shortlisting if 15 or less candidates apply) [5] * June-August 2024: Campaign period * End of August / beginning of September 2024: Two-week community voting period * October–November 2024: Background check of selected candidates * Board's Meeting in December 2024: New trustees seated Learn more about the 2024 selection process - including the detailed timeline, the candidacy process, the campaign rules, and the voter eligibility criteria - on [[m:Special:MyLanguage/Wikimedia Foundation elections/2024|this Meta-wiki page]], and make your plan. '''Election Volunteers''' Another way to be involved with the 2024 selection process is to be an Election Volunteer. Election Volunteers are a bridge between the Elections Committee and their respective community. They help ensure their community is represented and mobilize them to vote. Learn more about the program and how to join on this [[m:Special:MyLanguage/Wikimedia Foundation elections/2024/Election Volunteers|Meta-wiki page]]. Best regards, [[m:Special:MyLanguage/User:Pundit|Dariusz Jemielniak]] (Governance Committee Chair, Board Selection Working Group) [1] https://meta.wikimedia.org/wiki/Special:MyLanguage/Wikimedia_Foundation_elections/2021/Results#Elected [2] https://foundation.wikimedia.org/wiki/Committee:Elections_Committee_Charter [3] https://foundation.wikimedia.org/wiki/Minutes:2023-08-15#Governance_Committee [4] https://meta.wikimedia.org/wiki/Wikimedia_Foundation_elections_committee/Roles [5] Even though the ideal number is 12 candidates for 4 open seats, the shortlisting process will be triggered if there are more than 15 candidates because the 1-3 candidates that are removed might feel ostracized and it would be a lot of work for affiliates to carry out the shortlisting process to only eliminate 1-3 candidates from the candidate list.<section end="announcement-content" /> </div> [[User:MPossoupe_(WMF)|MPossoupe_(WMF)]]19:57, 12 Μαρτ 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:MPossoupe (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26349432 --> == <span lang="el" dir="ltr" class="mw-content-ltr">Το wiki σας σύντομα θα είναι μόνο για ανάγνωση</span> == <div lang="el" dir="ltr" class="mw-content-ltr"> <section begin="server-switch"/><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch|Διαβάστε αυτό το μήνυμα σε άλλη γλώσσα]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Tech%2FServer+switch&language=&action=page&filter= {{int:please-translate}}] <span class="mw-translate-fuzzy">Το [[foundation:|Ἰδρυμα Wikimedia]] δοκιμάζει την εναλλαγή μεταξύ των πρωτευόντων και δευτερόντων κέντρων δεδομένων του.</span> Με αυτόν τον τρόπο θα διασφαλιστεί ότι η Βικιπαίδεια και τα άλλα wiki του Wikimedia θα μπορούν να παραμείνουν ενεργά ακόμα και μετά από μία καταστροφή. Όλη η κίνηση θα εναλλαχθεί στις '''{{#time:j xg|2024-03-20|el}}'''. Η δοκιμή θα ξεκινήσει στις '''[https://zonestamp.toolforge.org/{{#time:U|2024-03-20T14:00|en}} {{#time:H:i e|2024-03-20T14:00}}]''' (16:00 ώρα Ελλάδος και Κύπρου). Δυστυχώς, λόγω κάποιων περιορισμών του [[mw:Special:MyLanguage/Manual:What is MediaWiki?|MediaWiki]], δεν θα υπάρχει δυνατότητα επεξεργασίας κατά τη διάρκεια της μετατόπισης της κίνησης. Ζητούμε συγγνώμη για την αναστάτωση, και καταβάλλουμε προσπάθειες αυτή να ελαχιστοποιηθεί στο μέλλον. '''Για ένα σύντομο χρονικό διάστημα, θα μπορείτε να διαβάσετε όλα τα wiki, αλλά όχι να τα επεξεργαστείτε.''' *Η επεξεργασία θα είναι αδύνατη για έως και μία ώρα την {{#time:l j xg Y|2024-03-20|el}}. *Αν προσπαθήσετε να επεξεργαστείτε ή να αποθηκεύσετε μια σελίδα εκείνη την ώρα, θα δείτε ένα μήνυμα σφάλματος. Ελπίζουμε ότι δεν θα χαθούν επεξεργασίες εκείνη την ώρα, αλλά δεν μπορούμε να το εγγυηθούμε. Αν δείτε το μήνυμα σφάλματος, παρακαλούμε περιμένετε μέχρι να επανέλθουν όλα στο κανονικό. Τότε θα μπορέσετε να αποθηκεύσετε την αλλαγή σας. Ωστόσο προτείνουμε να κρατήσετε ένα αντίγραφο των αλλαγών σας, για κάθε ενδεχόμενο. ''Άλλα προβλήματα'' *Οι εργασίες στο υπόβαθρο θα είναι πιο αργές και κάποιες μπορεί να ακυρωθούν. Οι κόκκινοι σύνδεσμοι πιθανώς να μην ενημερώνονται τόσο γρήγορα όσο συνήθως. Αν δημιουργήσετε μια σελίδα που ήδη συνδέεται από κάπου αλλού, ο σύνδεσμος θα παραμείνει κόκκινος για περισσότερο χρόνο από ότι συνήθως. Κάποια διεργασίες που απαιτούν ώρα να εκτελεστούν θα αναγκαστούν να σταματήσουν. * Αναμένουμε ότι οι αναπτύξεις κώδικα θα γίνουν όπως κάθε άλλη εβδομάδα. Ωστόσο, ορισμένες κατά περίπτωση παγώσεις κώδικα θα μπορούσαν να συμβούν αμέσως, εάν η επιχείρηση τις απαιτήσει στη συνέχεια. * Το [[mw:Special:MyLanguage/GitLab|GitLab]] δεν θα είναι διαθέσιμο για περίπου 90 λεπτά. Το έργο αυτό ενδέχεται να αναβληθεί εάν είναι απαραίτητο. Μπορείτε να [[wikitech:Switch_Datacenter|διαβάσετε το πρόγραμμα στο wikitech.wikimedia.org]]. Οι όποιες αλλαγές θα ανακοινωθούν στο πρόγραμμα. Θα υπάρξουν περισσότερες ειδοποιήσεις σχετικά με τη διαδικασία. Ένα μπάνερ θα προβληθεί σε όλα τα wiki 30 λεπτά πριν ξεκινήσει η επιχείρηση. '''Παρακαλούμε μοιραστείτε αυτή την πληροφορία με την κοινότητά σας.'''</div><section end="server-switch"/> </div> [[user:Trizek (WMF)|Trizek (WMF)]], 00:01, 15 Μαρτ 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Trizek (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=25636619 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Vote now to select members of the first U4C</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024/Announcement – vote opens|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Coordinating Committee/Election/2024/Announcement – vote opens}}&language=&action=page&filter= {{int:please-translate}}]'' Dear all, I am writing to you to let you know the voting period for the Universal Code of Conduct Coordinating Committee (U4C) is open now through May 9, 2024. Read the information on the [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024|voting page on Meta-wiki]] to learn more about voting and voter eligibility. The Universal Code of Conduct Coordinating Committee (U4C) is a global group dedicated to providing an equitable and consistent implementation of the UCoC. Community members were invited to submit their applications for the U4C. For more information and the responsibilities of the U4C, please [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|review the U4C Charter]]. Please share this message with members of your community so they can participate as well. On behalf of the UCoC project team,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 20:20, 25 Απρίλ 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26390244 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Sign up for the language community meeting on May 31st, 16:00 UTC</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="message"/>Hello all, The next language community meeting is scheduled in a few weeks - May 31st at 16:00 UTC. If you're interested, you can [https://www.mediawiki.org/w/index.php?title=Wikimedia_Language_engineering/Community_meetings#31_May_2024 sign up on this wiki page]. This is a participant-driven meeting, where we share language-specific updates related to various projects, collectively discuss technical issues related to language wikis, and work together to find possible solutions. For example, in the last meeting, the topics included the machine translation service (MinT) and the languages and models it currently supports, localization efforts from the Kiwix team, and technical challenges with numerical sorting in files used on Bengali Wikisource. Do you have any ideas for topics to share technical updates related to your project? Any problems that you would like to bring for discussion during the meeting? Do you need interpretation support from English to another language? Please reach out to me at ssethi(__AT__)wikimedia.org and [[etherpad:p/language-community-meeting-may-2024|add agenda items to the document here]]. We look forward to your participation! <section end="message"/> </div> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:23, 14 Καλομηνά 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:SSethi (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26390244 --> == <span lang="en" dir="ltr" class="mw-content-ltr"> Feedback invited on Procedure for Sibling Project Lifecycle</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Wikimedia Foundation Community Affairs Committee/Procedure for Sibling Project Lifecycle/Invitation for feedback (MM)|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation Community Affairs Committee/Procedure for Sibling Project Lifecycle/Invitation for feedback (MM)}}&language=&action=page&filter= {{int:please-translate}}]'' [[File:Sibling Project Lifecycle Conversation 3.png|150px|right|link=:m:Special:MyLanguage/Wikimedia Foundation Community Affairs Committee/Procedure for Sibling Project Lifecycle]] Dear community members, The [[:m:Special:MyLanguage/Wikimedia Foundation Community Affairs Committee|Community Affairs Committee]] (CAC) of the [[:m:Special:MyLanguage/Wikimedia Foundation Board of Trustees|Wikimedia Foundation Board of Trustees]] invites you to give feedback on a '''[[:m:Special:MyLanguage/Wikimedia Foundation Community Affairs Committee/Procedure for Sibling Project Lifecycle|draft Procedure for Sibling Project Lifecycle]]'''. This draft Procedure outlines proposed steps and requirements for opening and closing Wikimedia Sibling Projects, and aims to ensure any newly approved projects are set up for success. This is separate from the procedures for opening or closing language versions of projects, which is handled by the [[:m:Special:MyLanguage/Language committee|Language Committee]] or [[m:Special:MyLanguage/Closing_projects_policy|closing projects policy]]. You can find the details on [[:m:Special:MyLanguage/Talk:Wikimedia Foundation Community Affairs Committee/Procedure for Sibling Project Lifecycle#Review|this page]], as well as the ways to give your feedback from today until the end of the day on '''June 23, 2024''', anywhere on Earth. You can also share information about this with the interested project communities you work with or support, and you can also help us translate the procedure into more languages, so people can join the discussions in their own language. On behalf of the CAC,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 02:25, 22 Καλομηνά 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26390244 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Announcing the first Universal Code of Conduct Coordinating Committee</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024/Announcement – results|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Coordinating Committee/Election/2024/Announcement – results}}&language=&action=page&filter= {{int:please-translate}}]'' Hello, The scrutineers have finished reviewing the vote results. We are following up with the results of the first [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024|Universal Code of Conduct Coordinating Committee (U4C) election]]. We are pleased to announce the following individuals as regional members of the U4C, who will fulfill a two-year term: * North America (USA and Canada) ** – * Northern and Western Europe ** [[m:Special:MyLanguage/User:Ghilt|Ghilt]] * Latin America and Caribbean ** – * Central and East Europe (CEE) ** — * Sub-Saharan Africa ** – * Middle East and North Africa ** [[m:Special:MyLanguage/User:Ibrahim.ID|Ibrahim.ID]] * East, South East Asia and Pacific (ESEAP) ** [[m:Special:MyLanguage/User:0xDeadbeef|0xDeadbeef]] * South Asia ** – The following individuals are elected to be community-at-large members of the U4C, fulfilling a one-year term: * [[m:Special:MyLanguage/User:Barkeep49|Barkeep49]] * [[m:Special:MyLanguage/User:Superpes15|Superpes15]] * [[m:Special:MyLanguage/User:Civvì|Civvì]] * [[m:Special:MyLanguage/User:Luke081515|Luke081515]] * – * – * – * – Thank you again to everyone who participated in this process and much appreciation to the candidates for your leadership and dedication to the Wikimedia movement and community. Over the next few weeks, the U4C will begin meeting and planning the 2024-25 year in supporting the implementation and review of the UCoC and Enforcement Guidelines. Follow their work on [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee|Meta-wiki]]. On behalf of the UCoC project team,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 08:15, 3 Κερασινού 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26390244 --> == <span lang="en" dir="ltr" class="mw-content-ltr">The final text of the Wikimedia Movement Charter is now on Meta</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Announcement - Final draft available|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Movement Charter/Drafting Committee/Announcement - Final draft available}}&language=&action=page&filter= {{int:please-translate}}]'' Hi everyone, The final text of the [[m:Special:MyLanguage/Movement Charter|Wikimedia Movement Charter]] is now up on Meta in more than 20 languages for your reading. '''What is the Wikimedia Movement Charter?''' The Wikimedia Movement Charter is a proposed document to define roles and responsibilities for all the members and entities of the Wikimedia movement, including the creation of a new body – the Global Council – for movement governance. '''Join the Wikimedia Movement Charter “Launch Party”''' Join the [[m:Special:MyLanguage/Event:Movement Charter Launch Party|“Launch Party”]] on '''June 20, 2024''' at '''14.00-15.00 UTC''' ([https://zonestamp.toolforge.org/1718892000 your local time]). During this call, we will celebrate the release of the final Charter and present the content of the Charter. Join and learn about the Charter before casting your vote. '''Movement Charter ratification vote''' Voting will commence on SecurePoll on '''June 25, 2024''' at '''00:01 UTC''' and will conclude on '''July 9, 2024''' at '''23:59 UTC.''' You can read more about the [[m:Special:MyLanguage/Movement Charter/Ratification/Voting|voting process, eligibility criteria, and other details]] on Meta. If you have any questions, please leave a comment on the [[m:Special:MyLanguage/Talk:Movement Charter|Meta talk page]] or email the MCDC at [mailto:mcdc@wikimedia.org mcdc@wikimedia.org]. On behalf of the MCDC,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 08:44, 11 Κερασινού 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26390244 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Voting to ratify the Wikimedia Movement Charter is now open – cast your vote</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Announcement - Ratification vote opens|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Movement Charter/Drafting Committee/Announcement - Ratification vote opens}}&language=&action=page&filter= {{int:please-translate}}]'' Hello everyone, The voting to ratify the [[m:Special:MyLanguage/Movement Charter|'''Wikimedia Movement Charter''']] is now open. The Wikimedia Movement Charter is a document to define roles and responsibilities for all the members and entities of the Wikimedia movement, including the creation of a new body – the Global Council – for movement governance. The final version of the Wikimedia Movement Charter is [[m:Special:MyLanguage/Movement Charter|available on Meta in different languages]] and attached [https://commons.wikimedia.org/wiki/File:Wikimedia_Movement_Charter_(June_2024).pdf here in PDF format] for your reading. Voting commenced on SecurePoll on '''June 25, 2024''' at '''00:01 UTC''' and will conclude on '''July 9, 2024''' at '''23:59 UTC'''. Please read more on the [[m:Special:MyLanguage/Movement Charter/Ratification/Voting|voter information and eligibility details]]. After reading the Charter, please [[Special:SecurePoll/vote/398|'''vote here''']] and share this note further. If you have any questions about the ratification vote, please contact the Charter Electoral Commission at [mailto:cec@wikimedia.org '''cec@wikimedia.org''']. On behalf of the CEC,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 10:52, 25 Κερασινού 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26989444 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Voting to ratify the Wikimedia Movement Charter is ending soon</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Announcement - Final reminder|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Movement Charter/Drafting Committee/Announcement - Final reminder}}&language=&action=page&filter= {{int:please-translate}}]'' Hello everyone, This is a kind reminder that the voting period to ratify the [[m:Special:MyLanguage/Movement Charter|Wikimedia Movement Charter]] will be closed on '''July 9, 2024''', at '''23:59 UTC'''. If you have not voted yet, please vote [[m:Special:SecurePoll/vote/398|on SecurePoll]]. On behalf of the [[m:Special:MyLanguage/Movement_Charter/Ratification/Voting#Electoral_Commission|Charter Electoral Commission]],<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 03:45, 8 Χορτοθερί 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26989444 --> == <span lang="en" dir="ltr" class="mw-content-ltr">U4C Special Election - Call for Candidates</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election/Announcement – call for candidates|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election/Announcement – call for candidates}}&language=&action=page&filter= {{int:please-translate}}]'' Hello all, A special election has been called to fill additional vacancies on the U4C. The call for candidates phase is open from now through July 19, 2024. 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 [[:foundation:Wikimedia Foundation Universal Code of Conduct|UCoC]]. Community members are invited to submit their applications in the special election for the U4C. For more information and the responsibilities of the U4C, please review the [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|U4C Charter]]. In this special election, according to [[Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter#2. Elections and Terms|chapter 2 of the U4C charter]], there are 9 seats available on the U4C: '''four''' community-at-large seats and '''five''' regional seats to ensure the U4C represents the diversity of the movement. [[Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter#5. Glossary|No more than two members of the U4C can be elected from the same home wiki]]. Therefore, candidates must not have English Wikipedia, German Wikipedia, or Italian Wikipedia as their home wiki. Read more and submit your application on [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election|Meta-wiki]]. In cooperation with the U4C,<section end="announcement-content" /> </div> -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) 00:03, 10 Χορτοθερί 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Keegan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26989444 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Wikimedia Movement Charter ratification voting results</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Movement Charter/Drafting Committee/Announcement - Results of the ratification vote|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Movement Charter/Drafting Committee/Announcement - Results of the ratification vote}}&language=&action=page&filter= {{int:please-translate}}]'' Hello everyone, After carefully tallying both individual and affiliate votes, the [[m:Special:MyLanguage/Movement Charter/Ratification/Voting#Electoral Commission|Charter Electoral Commission]] is pleased to announce the final results of the Wikimedia Movement Charter voting.   As [[m:Special:MyLanguage/Talk:Movement Charter#Thank you for your participation in the Movement Charter ratification vote!|communicated]] by the Charter Electoral Commission, we reached the quorum for both Affiliate and individual votes by the time the vote closed on '''July 9, 23:59 UTC'''. We thank all 2,451 individuals and 129 Affiliate representatives who voted in the ratification process. Your votes and comments are invaluable for the future steps in Movement Strategy. The final results of the [[m:Special:MyLanguage/Movement Charter|Wikimedia Movement Charter]] ratification voting held between 25 June and 9 July 2024 are as follows: '''Individual vote:''' Out of 2,451 individuals who voted as of July 9 23:59 (UTC), 2,446 have been accepted as valid votes. Among these, '''1,710''' voted “yes”; '''623''' voted “no”; and '''113''' selected “–” (neutral). Because the neutral votes don’t count towards the total number of votes cast, 73.30% voted to approve the Charter (1710/2333), while 26.70% voted to reject the Charter (623/2333). '''Affiliates vote:''' Out of 129 Affiliates designated voters who voted as of July 9 23:59 (UTC), 129 votes are confirmed as valid votes. Among these, '''93''' voted “yes”; '''18''' voted “no”; and '''18''' selected “–” (neutral). Because the neutral votes don’t count towards the total number of votes cast, 83.78% voted to approve the Charter (93/111), while 16.22% voted to reject the Charter (18/111). '''Board of Trustees of the Wikimedia Foundation:''' The Wikimedia Foundation Board of Trustees voted '''not to ratify''' the proposed Charter during their special Board meeting on July 8, 2024. The Chair of the Wikimedia Foundation Board of Trustees, Nataliia Tymkiv, [[m:Special:MyLanguage/Wikimedia_Foundation_Board_noticeboard/Board_resolution_and_vote_on_the_proposed_Movement_Charter|shared the result of the vote, the resolution, meeting minutes and proposed next steps]].   With this, the Wikimedia Movement Charter in its current revision is '''not ratified'''. We thank you for your participation in this important moment in our movement’s governance. The Charter Electoral Commission, [[m:User:Abhinav619|Abhinav619]], [[m:User:Borschts|Borschts]], [[m:User:Iwuala Lucy|Iwuala Lucy]], [[m:User:Tochiprecious|Tochiprecious]], [[m:User:Der-Wir-Ing|Der-Wir-Ing]]<section end="announcement-content" /> </div> [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 17:52, 18 Χορτοθερί 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26989444 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Vote now to fill vacancies of the first U4C</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election/Announcement – voting opens|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election/Announcement – voting opens}}&language=&action=page&filter= {{int:please-translate}}]'' Dear all, I am writing to you to let you know the voting period for the Universal Code of Conduct Coordinating Committee (U4C) is open now through '''August 10, 2024'''. Read the information on the [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election|voting page on Meta-wiki]] to learn more about voting and voter eligibility. The Universal Code of Conduct Coordinating Committee (U4C) is a global group dedicated to providing an equitable and consistent implementation of the UCoC. Community members were invited to submit their applications for the U4C. For more information and the responsibilities of the U4C, please [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|review the U4C Charter]]. Please share this message with members of your community so they can participate as well. In cooperation with the U4C,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 02:47, 27 Χορτοθερί 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=26989444 --> == <span lang="en" dir="ltr" class="mw-content-ltr">Reminder! Vote closing soon to fill vacancies of the first U4C</span> == <div lang="en" dir="ltr" class="mw-content-ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election/Announcement – reminder to vote|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election/Announcement – reminder to vote}}&language=&action=page&filter= {{int:please-translate}}]'' Dear all, The voting period for the Universal Code of Conduct Coordinating Committee (U4C) is closing soon. It is open through 10 August 2024. Read the information on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2024_Special_Election#Voting|the voting page on Meta-wiki to learn more about voting and voter eligibility]]. If you are eligible to vote and have not voted in this special election, it is important that you vote now. '''Why should you vote?''' The U4C is a global group dedicated to providing an equitable and consistent implementation of the UCoC. Community input into the committee membership is critical to the success of the UCoC. Please share this message with members of your community so they can participate as well. In cooperation with the U4C,<section end="announcement-content" /> </div> -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) 15:30, 6 Aλωναρί 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Keegan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=27183190 --> == <span lang="en" dir="ltr">Coming soon: A new sub-referencing feature – try it!</span> == <div lang="en" dir="ltr"> <section begin="Sub-referencing"/> [[File:Sub-referencing reuse visual.png|{{#ifeq:{{#dir}}|ltr|right|left}}|400px]] Hello. For many years, community members have requested an easy way to re-use references with different details. Now, a MediaWiki solution is coming: The new sub-referencing feature will work for wikitext and Visual Editor and will enhance the existing reference system. You can continue to use different ways of referencing, but you will probably encounter sub-references in articles written by other users. More information on [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|the project page]]. '''We want your feedback''' to make sure this feature works well for you: * [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#Test|Please try]] the current state of development on beta wiki and [[m:Talk:WMDE Technical Wishes/Sub-referencing|let us know what you think]]. * [[m:WMDE Technical Wishes/Sub-referencing/Sign-up|Sign up here]] to get updates and/or invites to participate in user research activities. [[m:Special:MyLanguage/Wikimedia Deutschland|Wikimedia Deutschland]]’s [[m:Special:MyLanguage/WMDE Technical Wishes|Technical Wishes]] team is planning to bring this feature to Wikimedia wikis later this year. We will reach out to creators/maintainers of tools and templates related to references beforehand. Please help us spread the message. --[[m:User:Johannes Richter (WMDE)|Johannes Richter (WMDE)]] ([[m:User talk:Johannes Richter (WMDE)|talk]]) 10:36, 19 August 2024 (UTC) <section end="Sub-referencing"/> </div> <!-- Το μήνυμα στάλθηκε από τον User:Johannes Richter (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Johannes_Richter_(WMDE)/Sub-referencing/massmessage_list&oldid=27309345 --> == Sign up for the language community meeting on August 30th, 15:00 UTC == Hi all, The next language community meeting is scheduled in a few weeks—on August 30th at 15:00 UTC. If you're interested in joining, you can [https://www.mediawiki.org/wiki/Wikimedia_Language_and_Product_Localization/Community_meetings#30_August_2024 sign up on this wiki page]. This participant-driven meeting will focus on sharing language-specific updates related to various projects, discussing technical issues related to language wikis, and working together to find possible solutions. For example, in the last meeting, topics included the Language Converter, the state of language research, updates on the Incubator conversations, and technical challenges around external links not working with special characters on Bengali sites. Do you have any ideas for topics to share technical updates or discuss challenges? Please add agenda items to the document [https://etherpad.wikimedia.org/p/language-community-meeting-aug-2024 here] and reach out to ssethi(__AT__)wikimedia.org. We look forward to your participation! [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 23:19, 22 Aλωναρί 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:SSethi (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=27183190 --> == <span lang="en" dir="ltr">Announcing the Universal Code of Conduct Coordinating Committee</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> :''[https://lists.wikimedia.org/hyperkitty/list/board-elections@lists.wikimedia.org/thread/OKCCN2CANIH2K7DXJOL2GPVDFWL27R7C/ Original message at wikimedia-l]. [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election/Announcement - results|You can find this message translated into additional languages on Meta-wiki.]] [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election/Announcement - results}}&language=&action=page&filter= {{int:please-translate}}]'' Hello all, The scrutineers have finished reviewing the vote and the [[m:Special:MyLanguage/Elections Committee|Elections Committee]] have certified the [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election/Results|results]] for the [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2024 Special Election|Universal Code of Conduct Coordinating Committee (U4C) special election]]. I am pleased to announce the following individual as regional members of the U4C, who will fulfill a term until 15 June 2026: * North America (USA and Canada) ** Ajraddatz The following seats were not filled during this special election: * Latin America and Caribbean * Central and East Europe (CEE) * Sub-Saharan Africa * South Asia * The four remaining Community-At-Large seats Thank you again to everyone who participated in this process and much appreciation to the candidates for your leadership and dedication to the Wikimedia movement and community. Over the next few weeks, the U4C will begin meeting and planning the 2024-25 year in supporting the implementation and review of the UCoC and Enforcement Guidelines. You can follow their work on [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee|Meta-Wiki]]. On behalf of the U4C and the Elections Committee,<section end="announcement-content" /> </div> [[m:User:RamzyM (WMF)|RamzyM (WMF)]] 14:06, 2 Σταυρί 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=27183190 --> == <span lang="en" dir="ltr">Have your say: Vote for the 2024 Board of Trustees!</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> Hello all, The voting period for the [[m:Special:MyLanguage/Wikimedia Foundation elections/2024|2024 Board of Trustees election]] is now open. There are twelve (12) candidates running for four (4) seats on the Board. Learn more about the candidates by [[m:Special:MyLanguage/Wikimedia Foundation elections/2024/Candidates|reading their statements]] and their [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2024/Questions_for_candidates|answers to community questions]]. When you are ready, go to the [[Special:SecurePoll/vote/400|SecurePoll]] voting page to vote. '''The vote is open from September 3rd at 00:00 UTC to September 17th at 23:59 UTC'''. To check your voter eligibility, please visit the [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2024/Voter_eligibility_guidelines|voter eligibility page]]. Best regards, The Elections Committee and Board Selection Working Group<section end="announcement-content" /> </div> [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 12:14, 3 Σταυρί 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=27183190 --> == <span lang="el" dir="ltr">Το wiki σας σύντομα θα είναι μόνο για ανάγνωση</span> == <div lang="el" dir="ltr"> <section begin="server-switch"/><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch|Διαβάστε αυτό το μήνυμα σε άλλη γλώσσα]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Tech%2FServer+switch&language=&action=page&filter= {{int:please-translate}}] <span class="mw-translate-fuzzy">Το [[foundation:|Ἰδρυμα Wikimedia]] δοκιμάζει την εναλλαγή μεταξύ των πρωτευόντων και δευτερόντων κέντρων δεδομένων του.</span> Με αυτόν τον τρόπο θα διασφαλιστεί ότι η Βικιπαίδεια και τα άλλα wiki του Wikimedia θα μπορούν να παραμείνουν ενεργά ακόμα και μετά από μία καταστροφή. Όλη η κίνηση θα εναλλαχθεί στις '''{{#time:j xg|2024-09-25|el}}'''. Η δοκιμή θα ξεκινήσει στις '''[https://zonestamp.toolforge.org/{{#time:U|2024-09-25T15:00|en}} {{#time:H:i e|2024-09-25T15:00}}]''' (18:00 ώρα Ελλάδος και Κύπρου). Δυστυχώς, λόγω κάποιων περιορισμών του [[mw:Special:MyLanguage/Manual:What is MediaWiki?|MediaWiki]], δεν θα υπάρχει δυνατότητα επεξεργασίας κατά τη διάρκεια της μετατόπισης της κίνησης. Ζητούμε συγγνώμη για την αναστάτωση, και καταβάλλουμε προσπάθειες αυτή να ελαχιστοποιηθεί στο μέλλον. Ένα μπάνερ θα προβληθεί σε όλα τα wiki 30 λεπτά πριν ξεκινήσει η επιχείρηση. <span lang="en" dir="ltr" class="mw-content-ltr">This banner will remain visible until the end of the operation.</span> '''Για ένα σύντομο χρονικό διάστημα, θα μπορείτε να διαβάσετε όλα τα wiki, αλλά όχι να τα επεξεργαστείτε.''' *Η επεξεργασία θα είναι αδύνατη για έως και μία ώρα την {{#time:l j xg Y|2024-09-25|el}}. *Αν προσπαθήσετε να επεξεργαστείτε ή να αποθηκεύσετε μια σελίδα εκείνη την ώρα, θα δείτε ένα μήνυμα σφάλματος. Ελπίζουμε ότι δεν θα χαθούν επεξεργασίες εκείνη την ώρα, αλλά δεν μπορούμε να το εγγυηθούμε. Αν δείτε το μήνυμα σφάλματος, παρακαλούμε περιμένετε μέχρι να επανέλθουν όλα στο κανονικό. Τότε θα μπορέσετε να αποθηκεύσετε την αλλαγή σας. Ωστόσο προτείνουμε να κρατήσετε ένα αντίγραφο των αλλαγών σας, για κάθε ενδεχόμενο. ''Άλλα προβλήματα'' *Οι εργασίες στο υπόβαθρο θα είναι πιο αργές και κάποιες μπορεί να ακυρωθούν. Οι κόκκινοι σύνδεσμοι πιθανώς να μην ενημερώνονται τόσο γρήγορα όσο συνήθως. Αν δημιουργήσετε μια σελίδα που ήδη συνδέεται από κάπου αλλού, ο σύνδεσμος θα παραμείνει κόκκινος για περισσότερο χρόνο από ότι συνήθως. Κάποια διεργασίες που απαιτούν ώρα να εκτελεστούν θα αναγκαστούν να σταματήσουν. * Αναμένουμε ότι οι αναπτύξεις κώδικα θα γίνουν όπως κάθε άλλη εβδομάδα. Ωστόσο, ορισμένες κατά περίπτωση παγώσεις κώδικα θα μπορούσαν να συμβούν αμέσως, εάν η επιχείρηση τις απαιτήσει στη συνέχεια. * Το [[mw:Special:MyLanguage/GitLab|GitLab]] δεν θα είναι διαθέσιμο για περίπου 90 λεπτά. Το έργο αυτό ενδέχεται να αναβληθεί εάν είναι απαραίτητο. Μπορείτε να [[wikitech:Switch_Datacenter|διαβάσετε το πρόγραμμα στο wikitech.wikimedia.org]]. Οι όποιες αλλαγές θα ανακοινωθούν στο πρόγραμμα. '''Παρακαλούμε μοιραστείτε αυτή την πληροφορία με την κοινότητά σας.'''</div><section end="server-switch"/> </div> [[User:Trizek_(WMF)|Trizek_(WMF)]], 09:37, 20 Σταυρί 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Trizek (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=27248326 --> == 'Wikidata item' link is moving. Find out where... == <div lang="en" dir="ltr" class="mw-content-ltr"><i>Apologies for cross-posting in English. Please consider translating this message.</i>{{tracked|T66315}} Hello everyone, a small change will soon be coming to the user-interface of your Wikimedia project. The [[d:Q16222597|Wikidata item]] [[w:|sitelink]] currently found under the <span style="color: #54595d;"><u>''General''</u></span> section of the '''Tools''' sidebar menu will move into the <span style="color: #54595d;"><u>''In Other Projects''</u></span> section. We would like the Wiki communities feedback so please let us know or ask questions on the [[m:Talk:Wikidata_For_Wikimedia_Projects/Projects/Move_Wikidata_item_link|Discussion page]] before we enable the change which can take place October 4 2024, circa 15:00 UTC+2. More information can be found on [[m:Wikidata_For_Wikimedia_Projects/Projects/Move_Wikidata_item_link|the project page]].<br><br>We welcome your feedback and questions.<br> [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 18:57, 27 Σταυρί 2024 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Danny Benjafield (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Danny_Benjafield_(WMDE)/MassMessage_Test_List&oldid=27524260 --> == Invitation to Participate in Wiki Loves Ramadan Community Engagement Survey == Dear all, Apologies for writing in English. Please help to translate in your language. We are excited to announce the upcoming [[m:Wiki Loves Ramadan|Wiki Loves Ramadan]] event, a global initiative aimed at celebrating Ramadan by enriching Wikipedia and its sister projects with content related to this significant time of year. As we plan to organize this event globally, your insights and experiences are crucial in shaping the best possible participation experience for the community. To ensure that Wiki Loves Ramadan is engaging, inclusive, and impactful, we kindly invite you to participate in our community engagement survey. Your feedback will help us understand the needs of the community, set the event's focus, and guide our strategies for organizing this global event. Survey link: https://forms.gle/f66MuzjcPpwzVymu5 Please take a few minutes to share your thoughts. Your input will make a difference! Thank you for being a part of our journey to make Wiki Loves Ramadan a success. Warm regards, User:ZI Jony 03:20, 6 Τρυγομηνά 2024 (UTC) Wiki Loves Ramadan Organizing Team <!-- Το μήνυμα στάλθηκε από τον User:ZI Jony@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=27510935 --> == <span lang="en" dir="ltr">Preliminary results of the 2024 Wikimedia Foundation Board of Trustees elections</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> Hello all, Thank you to everyone who participated in the [[m:Special:MyLanguage/Wikimedia Foundation elections/2024|2024 Wikimedia Foundation Board of Trustees election]]. Close to 6000 community members from more than 180 wiki projects have voted. The following four candidates were the most voted: # [[User:Kritzolina|Christel Steigenberger]] # [[User:Nadzik|Maciej Artur Nadzikiewicz]] # [[User:Victoria|Victoria Doronina]] # [[User:Laurentius|Lorenzo Losa]] While these candidates have been ranked through the vote, they still need to be appointed to the Board of Trustees. They need to pass a successful background check and meet the qualifications outlined in the Bylaws. New trustees will be appointed at the next Board meeting in December 2024. [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2024/Results|Learn more about the results on Meta-Wiki.]] Best regards, The Elections Committee and Board Selection Working Group <section end="announcement-content" /> </div> [[User:MPossoupe_(WMF)|MPossoupe_(WMF)]] 08:25, 14 Τρυγομηνά 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:MPossoupe (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=27183190 --> == <span lang="en" dir="ltr">Seeking volunteers to join several of the movement’s committees</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> Each year, typically from October through December, several of the movement’s committees seek new volunteers. Read more about the committees on their Meta-wiki pages: * [[m:Special:MyLanguage/Affiliations_Committee|Affiliations Committee (AffCom)]] * [[m:Special:MyLanguage/Ombuds_commission|Ombuds commission (OC)]] * [[m:Special:MyLanguage/Wikimedia Foundation/Legal/Community Resilience and Sustainability/Trust and Safety/Case Review Committee|Case Review Committee (CRC)]] Applications for the committees open on 16 October 2024. Applications for the Affiliations Committee close on 18 November 2024, and applications for the Ombuds commission and the Case Review Committee close on 2 December 2024. Learn how to apply by [[m:Special:MyLanguage/Wikimedia_Foundation/Legal/Committee_appointments|visiting the appointment page on Meta-wiki]]. Post to the talk page or email [mailto:cst@wikimedia.org cst@wikimedia.org] with any questions you may have. For the Committee Support team, <section end="announcement-content" /> </div> -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) 23:08, 16 Τρυγομηνά 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Keegan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=27601062 --> == 'Wikidata item' link is moving, finally. == Hello everyone, I previously wrote on the 27th September to advise that the ''Wikidata item'' sitelink will change places in the sidebar menu, moving from the '''General''' section into the '''In Other Projects''' section. The scheduled rollout date of 04.10.2024 was delayed due to a necessary request for Mobile/MinervaNeue skin. I am happy to inform that the global rollout can now proceed and will occur later today, 22.10.2024 at 15:00 UTC-2. [[m:Talk:Wikidata_For_Wikimedia_Projects/Projects/Move_Wikidata_item_link|Please let us know]] if you notice any problems or bugs after this change. There should be no need for null-edits or purging cache for the changes to occur. Kind regards, -[[m:User:Danny Benjafield (WMDE)|Danny Benjafield (WMDE)]] 11:29, 22 Τρυγομηνά 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Danny Benjafield (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Danny_Benjafield_(WMDE)/MassMessage_Test_List&oldid=27535421 --> == Final Reminder: Join us in Making Wiki Loves Ramadan Success == Dear all, We’re thrilled to announce the Wiki Loves Ramadan event, a global initiative to celebrate Ramadan by enhancing Wikipedia and its sister projects with valuable content related to this special time of year. As we organize this event globally, we need your valuable input to make it a memorable experience for the community. Last Call to Participate in Our Survey: To ensure that Wiki Loves Ramadan is inclusive and impactful, we kindly request you to complete our community engagement survey. Your feedback will shape the event’s focus and guide our organizing strategies to better meet community needs. * Survey Link: [https://docs.google.com/forms/d/e/1FAIpQLSffN4prPtR5DRSq9nH-t1z8hG3jZFBbySrv32YoxV8KbTwxig/viewform?usp=sf_link Complete the Survey] * Deadline: November 10, 2024 Please take a few minutes to share your thoughts. Your input will truly make a difference! '''Volunteer Opportunity''': Join the Wiki Loves Ramadan Team! We’re seeking dedicated volunteers for key team roles essential to the success of this initiative. If you’re interested in volunteer roles, we invite you to apply. * Application Link: [https://docs.google.com/forms/d/e/1FAIpQLSfXiox_eEDH4yJ0gxVBgtL7jPe41TINAWYtpNp1JHSk8zhdgw/viewform?usp=sf_link Apply Here] * Application Deadline: October 31, 2024 Explore Open Positions: For a detailed list of roles and their responsibilities, please refer to the position descriptions here: [https://docs.google.com/document/d/1oy0_tilC6kow5GGf6cEuFvdFpekcubCqJlaxkxh-jT4/ Position Descriptions] Thank you for being part of this journey. We look forward to working together to make Wiki Loves Ramadan a success! Warm regards,<br> The Wiki Loves Ramadan Organizing Team 05:12, 29 Τρυγομηνά 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:ZI Jony@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=27568454 --> == Sign up for the language community meeting on November 29th, 16:00 UTC == Hello everyone, The next language community meeting is coming up next week, on November 29th, at 16:00 UTC (Zonestamp! For your timezone <https://zonestamp.toolforge.org/1732896000>). If you're interested in joining, you can sign up on this wiki page: <https://www.mediawiki.org/wiki/Wikimedia_Language_and_Product_Localization/Community_meetings#29_November_2024>. This participant-driven meeting will be organized by the Wikimedia Foundation’s Language Product Localization team and the Language Diversity Hub. There will be presentations on topics like developing language keyboards, the creation of the Moore Wikipedia, and the language support track at Wiki Indaba. We will also have members from the Wayuunaiki community joining us to share their experiences with the Incubator and as a new community within our movement. This meeting will have a Spanish interpretation. Looking forward to seeing you at the language community meeting! Cheers, [[User:SSethi (WMF)|Srishti]] 19:54, 21 Αεργί 2024 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:SSethi (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=27746256 --> == Launching! Join Us for Wiki Loves Ramadan 2025! == Dear All, We’re happy to announce the launch of [[m:Wiki Loves Ramadan 2025|Wiki Loves Ramadan 2025]], an annual international campaign dedicated to celebrating and preserving Islamic cultures and history through the power of Wikipedia. As an active contributor to the Local Wikipedia, you are specially invited to participate in the launch. This year’s campaign will be launched for you to join us write, edit, and improve articles that showcase the richness and diversity of Islamic traditions, history, and culture. * Topic: [[m:Event:Wiki Loves Ramadan 2025 Campaign Launch|Wiki Loves Ramadan 2025 Campaign Launch]] * When: Jan 19, 2025 * Time: 16:00 Universal Time UTC and runs throughout Ramadan (starting February 25, 2025). * Join Zoom Meeting: https://us02web.zoom.us/j/88420056597?pwd=NdrpqIhrwAVPeWB8FNb258n7qngqqo.1 * Zoom meeting hosted by [[m:Wikimedia Bangladesh|Wikimedia Bangladesh]] To get started, visit the [[m:Wiki Loves Ramadan 2025|campaign page]] for details, resources, and guidelines: Wiki Loves Ramadan 2025. Add [[m:Wiki Loves Ramadan 2025/Participant|your community here]], and organized Wiki Loves Ramadan 2025 in your local language. Whether you’re a first-time editor or an experienced Wikipedian, your contributions matter. Together, we can ensure Islamic cultures and traditions are well-represented and accessible to all. Feel free to invite your community and friends too. Kindly reach out if you have any questions or need support as you prepare to participate. Let’s make Wiki Loves Ramadan 2025 a success! For the [[m:Wiki Loves Ramadan 2025/Team|International Team]] 12:08, 16 Καλανταρί 2025 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:ZI Jony@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=27568454 --> == Universal Code of Conduct annual review: provide your comments on the UCoC and Enforcement Guidelines == <div lang="en" dir="ltr" class="mw-content-ltr"> My apologies for writing in English. {{Int:Please-translate}}. 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 3 February 2025. This is the first step of several to be taken for the annual review. [[m:Special:MyLanguage/Universal_Code_of_Conduct/Annual_review|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]]) 01:11, 24 Καλανταρί 2025 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Keegan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=27746256 --> == Feminism and Folklore 2025 starts soon == <div style="border:8px maroon ridge;padding:6px;> [[File:Feminism and Folklore 2025 logo.svg|centre|550px|frameless]] ::<div lang="en" dir="ltr" class="mw-content-ltr"> <center>''{{int:please-translate}}''</center> Dear Wiki Community, You are humbly invited to organize the '''[[:m:Feminism and Folklore 2025|Feminism and Folklore 2025]]''' writing competition from February 1, 2025, to March 31, 2025 on your local Wikipedia. This year, Feminism and Folklore will focus on feminism, women's issues, and gender-focused topics for the project, with a [[:c:Commons:Wiki Loves Folklore 2025|Wiki Loves Folklore]] gender gap focus and a folk culture theme on Wikipedia. You can help Wikipedia's coverage of folklore from your area by writing or improving articles about things like folk festivals, folk dances, folk music, women and queer folklore figures, folk game athletes, women in mythology, women warriors in folklore, witches and witch hunting, fairy tales, and more. Users can help create new articles, expand or translate from a generated list of suggested articles. Organisers are requested to work on the following action items to sign up their communities for the project: # Create a page for the contest on the local wiki. # Set up a campaign on '''CampWiz''' tool. # Create the local list and mention the timeline and local and international prizes. # Request local admins for site notice. # Link the local page and the CampWiz link on the [[:m:Feminism and Folklore 2025/Project Page|meta project page]]. This year, the Wiki Loves Folklore Tech Team has introduced two new tools to enhance support for the campaign. These tools include the '''Article List Generator by Topic''' and '''CampWiz'''. The Article List Generator by Topic enables users to identify articles on the English Wikipedia that are not present in their native language Wikipedia. Users can customize their selection criteria, and the tool will present a table showcasing the missing articles along with suggested titles. Additionally, users have the option to download the list in both CSV and wikitable formats. Notably, the CampWiz tool will be employed for the project for the first time, empowering users to effectively host the project with a jury. Both tools are now available for use in the campaign. [https://tools.wikilovesfolklore.org/ '''Click here to access these tools'''] Learn more about the contest and prizes on our [[:m:Feminism and Folklore 2025|project page]]. Feel free to contact us on our [[:m:Talk:Feminism and Folklore 2025/Project Page|meta talk page]] or by email us if you need any assistance. We look forward to your immense coordination. Thank you and Best wishes, '''[[:m:Feminism and Folklore 2025|Feminism and Folklore 2025 International Team]]''' ::::Stay connected [[File:B&W Facebook icon.png|link=https://www.facebook.com/feminismandfolklore/|30x30px]]&nbsp; [[File:B&W Twitter icon.png|link=https://twitter.com/wikifolklore|30x30px]] </div></div> --[[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 02:36, 29 Καλανταρί 2025 (UTC) == Wiki Loves Folklore is back! == <div lang="en" dir="ltr" class="mw-content-ltr"> {{int:please-translate}} [[File:Wiki Loves Folklore Logo.svg|right|150px|frameless]] Dear Wiki Community, You are humbly invited to participate in the '''[[:c:Commons:Wiki Loves Folklore 2025|Wiki Loves Folklore 2025]]''' an international media contest organized on Wikimedia Commons to document folklore and intangible cultural heritage from different regions, including, folk creative activities and many more. It is held every year from the '''1st till the 31st''' of March. You can help in enriching the folklore documentation on Commons from your region by taking photos, audios, videos, and [https://commons.wikimedia.org/w/index.php?title=Special:UploadWizard&campaign=wlf_2025 submitting] them in this commons contest. You can also [[:c:Commons:Wiki Loves Folklore 2025/Organize|organize a local contest]] in your country and support us in translating the [[:c:Commons:Wiki Loves Folklore 2025/Translations|project pages]] to help us spread the word in your native language. Feel free to contact us on our [[:c:Commons talk:Wiki Loves Folklore 2025|project Talk page]] if you need any assistance. '''Kind regards,''' '''Wiki loves Folklore International Team''' --[[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 02:36, 29 Καλανταρί 2025 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Tiven2240@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery/Wikipedia&oldid=26503019 --> == Reminder: first part of the annual UCoC review closes soon == <div lang="en" dir="ltr" class="mw-content-ltr"> My apologies for writing in English. {{Int:Please-translate}}. This is a reminder that the first phase of the annual review period for the Universal Code of Conduct and Enforcement Guidelines will be closing soon. You can make suggestions for changes through [[d:Q614092|the end of day]], 3 February 2025. This is the first step of several to be taken for the annual review. [[m:Special:MyLanguage/Universal_Code_of_Conduct/Annual_review|Read more information and find a conversation to join on the UCoC page on Meta]]. After review of the feedback, proposals for updated text will be published on Meta in March for another round of community review. 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]]) 00:48, 3 Κούντουρονος 2025 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Keegan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=28198931 --> == <span lang="en" dir="ltr"> Upcoming Language Community Meeting (Feb 28th, 14:00 UTC) and Newsletter</span> == <div lang="en" dir="ltr"> <section begin="message"/> Hello everyone! [[File:WP20Symbols WIKI INCUBATOR.svg|right|frameless|150x150px|alt=An image symbolising multiple languages]] We’re excited to announce that the next '''Language Community Meeting''' is happening soon, '''February 28th at 14:00 UTC'''! If you’d like to join, simply sign up on the '''[[mw:Wikimedia_Language_and_Product_Localization/Community_meetings#28_February_2025|wiki page]]'''. This is a participant-driven meeting where we share updates on language-related projects, discuss technical challenges in language wikis, and collaborate on solutions. In our last meeting, we covered topics like developing language keyboards, creating the Moore Wikipedia, and updates from the language support track at Wiki Indaba. '''Got a topic to share?''' Whether it’s a technical update from your project, a challenge you need help with, or a request for interpretation support, we’d love to hear from you! Feel free to '''reply to this message''' or add agenda items to the document '''[[etherpad:p/language-community-meeting-feb-2025|here]]'''. Also, we wanted to highlight that the sixth edition of the Language & Internationalization newsletter (January 2025) is available here: [[:mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2025/January|Wikimedia Language and Product Localization/Newsletter/2025/January]]. This newsletter provides updates from the October–December 2024 quarter on new feature development, improvements in various language-related technical projects and support efforts, details about community meetings, and ideas for contributing to projects. To stay updated, you can subscribe to the newsletter on its wiki page: [[:mw:Wikimedia Language and Product Localization/Newsletter|Wikimedia Language and Product Localization/Newsletter]]. We look forward to your ideas and participation at the language community meeting, see you there! <section end="message"/> </div> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 08:29, 22 Κούντουρονος 2025 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:SSethi (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=28217779 --> == Universal Code of Conduct annual review: proposed changes are available for comment == <div lang="en" dir="ltr" class="mw-content-ltr"> My apologies for writing in English. {{Int:Please-translate}}. I am writing to you to let you know that [[m:Special:MyLanguage/Universal_Code_of_Conduct/Annual_review/Proposed_Changes|proposed changes]] to the [[foundation:Special:MyLanguage/Policy:Universal_Code_of_Conduct/Enforcement_guidelines|Universal Code of Conduct (UCoC) Enforcement Guidelines]] and [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Charter|Universal Code of Conduct Coordinating Committee (U4C) Charter]] are open for review. '''[[m:Special:MyLanguage/Universal_Code_of_Conduct/Annual_review/Proposed_Changes|You can provide feedback on suggested changes]]''' through the [[d:Q614092|end of day]] on Tuesday, 18 March 2025. This is the second step in the annual review process, the final step will be community voting on the proposed changes. [[m:Special:MyLanguage/Universal_Code_of_Conduct/Annual_review|Read more information and find relevant links about the process on the UCoC annual review 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)]] 18:51, 7 Μαρτ 2025 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Keegan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=28307738 --> == An improved dashboard for the Content Translation tool == <div lang="en" dir="ltr"> {{int:Hello}} Wikipedians, Apologies as this message is not in your language, {{int:please-translate}}. The [[mediawikiwiki:Special:MyLanguage/Wikimedia Language and Product Localization|Language and Product Localization team]] has improved the [https://test.wikipedia.org/w/index.php?title=Special:ContentTranslation&filter-type=automatic&filter-id=previous-edits&active-list=suggestions&from=en&to=es Content Translation dashboard] to create a consistent experience for all contributors using mobile and desktop devices. Below is a breakdown of important information about the improvement. '''What are the improvements?'''<br> The improved translation dashboard allows all logged-in users of the tool to enjoy a consistent experience regardless of their type of device. With a harmonized experience, logged-in desktop users can now access the capabilities shown in the image below. [[file:Content_Translation_new-dashboard.png|alt=|center|thumb|576x576px|Notice that in this screenshot, the new dashboard allows: Users to adjust suggestions with the "For you" and "...More" buttons to select general topics or community-created collections (like the example of Climate topic). Also, users can use translation to create new articles (as before) and expand existing articles section by section. You can see how suggestions are provided in the new dashboard in two groups ("Create new pages" and "Expand with new sections")-one for each activity.]] [[File:Content_Translation_dashboard_on_desktop.png|alt=|center|thumb|577x577px|In the current dashboard, you will notice that you can't adjust suggestions to select topics or community-created collections. Also, you can't expand on existing articles by translating new sections.]] '''Does this improvement change the current accessibility of this tool in this Wikipedia?'''<br> The Content translation tool will still be in beta; therefore, only logged-in users who activated the tool from the [[en:wikipedia:Special:Preferences#mw-prefsection-betafeatures|beta features]] will continue to have access to the content translation tool. Also, if the tool is only available to a specific [[en:Wikipedia:User access levels|user group]], it will remain that way. '''When do we plan to implement this improvement?'''<br> We will implement it on your Wikipedia and others by 24th, March 2025. '''What happens to the former dashboard after we implement the improvement?'''<br> You can still access it in the tool for some time. We will remove it from all Wikipedias by May 2025, as maintaining it will no longer be productive. '''Where can I test this improvement and report any issues before it is implemented in this Wiki?''' <br> You can try the improved capabilities in the test wiki using this link: https://test.wikipedia.org/w/index.php?title=Special:ContentTranslation&campaign=contributionsmenu&to=es&filter-type=automatic&filter-id=previous-edits&active-list=suggestions&from=en#/ . If you notice an issue related to the improved dashboard in the test wiki, please let us know in this thread and ping me, or report it in [https://phabricator.wikimedia.org/ Phabricator], adding these tags: <code>BUG REPORT</code> and <code>ContentTranslation</code>. Please ask us any questions regarding this improvement in this thread. Thank you! On behalf of the Language and Product Localization team. </div> <bdi lang="en" dir="ltr">[[User:UOzurumba (WMF)|UOzurumba (WMF)]]</bdi> 04:23, 14 Μαρτ 2025 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:UOzurumba (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:UOzurumba_(WMF)/sandbox_CX_Unified_dashboard_announcement_list_2&oldid=28390868 --> == <span lang="el" dir="ltr">Το wiki σας σύντομα θα είναι μόνο για ανάγνωση</span> == <div lang="el" dir="ltr"> <section begin="server-switch"/><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch|Διαβάστε αυτό το μήνυμα σε άλλη γλώσσα]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Tech%2FServer+switch&language=&action=page&filter= {{int:please-translate}}] Το [[foundation:|Ἰδρυμα Wikimedia]] θα μεταστρέψει την κίνηση μεταξύ των κέντρων δεδομένων του. Με αυτόν τον τρόπο θα διασφαλιστεί ότι η Βικιπαίδεια και τα άλλα wiki του Wikimedia θα μπορούν να παραμείνουν ενεργά ακόμα και μετά από μία καταστροφή. Όλη η κίνηση θα εναλλαχθεί στις '''{{#time:j xg|2025-03-19|el}}'''. Η δοκιμή θα ξεκινήσει στις '''[https://zonestamp.toolforge.org/{{#time:U|2025-03-19T14:00|en}} {{#time:H:i e|2025-03-19T14:00}}]''' (16:00 ώρα Ελλάδος και Κύπρου). Δυστυχώς, λόγω κάποιων περιορισμών του [[mw:Special:MyLanguage/Manual:What is MediaWiki?|MediaWiki]], δεν θα υπάρχει δυνατότητα επεξεργασίας κατά τη διάρκεια της μετατόπισης της κίνησης. Ζητούμε συγγνώμη για την αναστάτωση, και καταβάλλουμε προσπάθειες αυτή να ελαχιστοποιηθεί στο μέλλον. Ένα μπάνερ θα προβληθεί σε όλα τα wiki 30 λεπτά πριν ξεκινήσει η επιχείρηση. Αυτό το μπάνερ θα παραμείνει ορατό μέχρι το τέλος της λειτουργίας. '''Για ένα σύντομο χρονικό διάστημα, θα μπορείτε να διαβάσετε όλα τα wiki, αλλά όχι να τα επεξεργαστείτε.''' *Η επεξεργασία θα είναι αδύνατη για έως και μία ώρα την {{#time:l j xg Y|2025-03-19|el}}. *Αν προσπαθήσετε να επεξεργαστείτε ή να αποθηκεύσετε μια σελίδα εκείνη την ώρα, θα δείτε ένα μήνυμα σφάλματος. Ελπίζουμε ότι δεν θα χαθούν επεξεργασίες εκείνη την ώρα, αλλά δεν μπορούμε να το εγγυηθούμε. Αν δείτε το μήνυμα σφάλματος, παρακαλούμε περιμένετε μέχρι να επανέλθουν όλα στο κανονικό. Τότε θα μπορέσετε να αποθηκεύσετε την αλλαγή σας. Ωστόσο προτείνουμε να κρατήσετε ένα αντίγραφο των αλλαγών σας, για κάθε ενδεχόμενο. ''Άλλα προβλήματα'' *Οι εργασίες στο υπόβαθρο θα είναι πιο αργές και κάποιες μπορεί να ακυρωθούν. Οι κόκκινοι σύνδεσμοι πιθανώς να μην ενημερώνονται τόσο γρήγορα όσο συνήθως. Αν δημιουργήσετε μια σελίδα που ήδη συνδέεται από κάπου αλλού, ο σύνδεσμος θα παραμείνει κόκκινος για περισσότερο χρόνο από ότι συνήθως. Κάποια διεργασίες που απαιτούν ώρα να εκτελεστούν θα αναγκαστούν να σταματήσουν. * Αναμένουμε ότι οι αναπτύξεις κώδικα θα γίνουν όπως κάθε άλλη εβδομάδα. Ωστόσο, ορισμένες κατά περίπτωση παγώσεις κώδικα θα μπορούσαν να συμβούν αμέσως, εάν η επιχείρηση τις απαιτήσει στη συνέχεια. * Το [[mw:Special:MyLanguage/GitLab|GitLab]] δεν θα είναι διαθέσιμο για περίπου 90 λεπτά. Το έργο αυτό ενδέχεται να αναβληθεί εάν είναι απαραίτητο. Μπορείτε να [[wikitech:Switch_Datacenter|διαβάσετε το πρόγραμμα στο wikitech.wikimedia.org]]. Οι όποιες αλλαγές θα ανακοινωθούν στο πρόγραμμα. '''Παρακαλούμε μοιραστείτε αυτή την πληροφορία με την κοινότητά σας.'''</div><section end="server-switch"/> </div> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:15, 14 Μαρτ 2025 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Quiddity (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=28307742 --> == Final proposed modifications to the Universal Code of Conduct Enforcement Guidelines and U4C Charter now posted == <div lang="en" dir="ltr" class="mw-content-ltr"> The proposed modifications to the [[foundation:Special:MyLanguage/Policy:Universal_Code_of_Conduct/Enforcement_guidelines|Universal Code of Conduct Enforcement Guidelines]] and the U4C Charter [[m:Universal_Code_of_Conduct/Annual_review/2025/Proposed_Changes|are now on Meta-wiki for community notice]] in advance of the voting period. This final draft was developed from the previous two rounds of community review. Community members will be able to vote on these modifications starting on 17 April 2025. The vote will close on 1 May 2025, and results will be announced no later than 12 May 2025. The U4C election period, starting with a call for candidates, will open immediately following the announcement of the review results. More information will be posted on [[m:Special:MyLanguage//Universal_Code_of_Conduct/Coordinating_Committee/Election|the wiki page for the election]] soon. Please be advised that this process will require more messages to be sent here over the next two months. 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, you may [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Charter|review the U4C Charter]]. Please share this message with members of your community so they can participate as well. -- In cooperation with the U4C, [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 02:04, 4 Απρίλ 2025 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Keegan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=28469465 --> == Ukraine's Cultural Diplomacy Month 2025: Invitation == <div lang="en" dir="ltr"> [[File:UCDM 2025 general.png|180px|right]] {{int:please-translate}} Hello, dear Wikipedians!<br/> [[:m:Special:MyLanguage/Wikimedia Ukraine|Wikimedia Ukraine]], in cooperation with the [[:en:Ministry of Foreign Affairs of Ukraine|MFA of Ukraine]] and [[:en:Ukrainian Institute|Ukrainian Institute]], has launched the fifth edition of writing challenge "'''[[:m:Special:MyLanguage/Ukraine's Cultural Diplomacy Month 2025|Ukraine's Cultural Diplomacy Month]]'''", which lasts from '''14th April''' until '''16th May 2025'''. The campaign is dedicated to famous Ukrainian artists of cinema, music, literature, architecture, design, and cultural phenomena of Ukraine that are now part of world heritage. We accept contributions in every language! The most active contesters will receive prizes. If you are interested in coordinating long-term community engagement for the campaign and becoming a local ambassador, we would love to hear from you! Please let us know your interest. <br/> We invite you to take part and help us improve the coverage of Ukrainian culture on Wikipedia in your language! Also, we plan to set up a [[:m:CentralNotice/Request/Ukraine's Cultural Diplomacy Month 2025|banner]] to notify users of the possibility to participate in such a challenge! [[:m:User:OlesiaLukaniuk (WMUA)|OlesiaLukaniuk (WMUA)]] ([[:m:User talk:OlesiaLukaniuk (WMUA)|talk]]) </div> 16:11, 16 Απρίλ 2025 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Hide on Rosé@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:OlesiaLukaniuk_(WMUA)/list_of_wikis&oldid=28552112 --> == Vote now on the revised UCoC Enforcement Guidelines and U4C Charter == <div lang="en" dir="ltr" class="mw-content-ltr"> The voting period for the revisions to the Universal Code of Conduct Enforcement Guidelines ("UCoC EG") and the UCoC's Coordinating Committee Charter is open now through the end of 1 May (UTC) ([https://zonestamp.toolforge.org/1746162000 find in your time zone]). [[m:Special:MyLanguage/Universal_Code_of_Conduct/Annual_review/2025/Voter_information|Read the information on how to participate and read over the proposal before voting]] on the UCoC page on Meta-wiki. 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 of the EG and Charter was planned and implemented by the U4C. Further information will be provided in the coming months about the review of the UCoC itself. For more information and the responsibilities of the U4C, you may [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Charter|review the U4C Charter]]. Please share this message with members of your community so they can participate as well. In cooperation with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 00:34, 17 Απρίλ 2025 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Keegan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=28469465 --> == Sub-referencing: User testing == <div lang="en" dir="ltr"> [[File:Sub-referencing reuse visual.png|400px|right]] <small>''Apologies for writing in English, please help us by providing a translation below''</small> Hi I’m Johannes from [[:m:Wikimedia Deutschland|Wikimedia Deutschland]]'s [[:m:WMDE Technical Wishes|Technical Wishes team]]. We are making great strides with the new [[:m:WMDE Technical Wishes/Sub-referencing|sub-referencing feature]] and we’d love to invite you to take part in two activities to help us move this work further: #'''Try it out and share your feedback''' #:[[:m:WMDE Technical Wishes/Sub-referencing# Test the prototype|Please try]] the updated ''wikitext'' feature [https://en.wikipedia.beta.wmflabs.org/wiki/Sub-referencing on the beta wiki] and let us know what you think, either [[:m:Talk:WMDE Technical Wishes/Sub-referencing|on our talk page]] or by [https://greatquestion.co/wikimediadeutschland/talktotechwish booking a call] with our UX researcher. #'''Get a sneak peak and help shape the ''Visual Editor'' user designs''' #:Help us test the new design prototypes by participating in user sessions – [https://greatquestion.co/wikimediadeutschland/gxk0taud/apply sign up here to receive an invite]. We're especially hoping to speak with people from underrepresented and diverse groups. If that's you, please consider signing up! No prior or extensive editing experience is required. User sessions will start ''May 14th''. We plan to bring this feature to Wikimedia wikis later this year. We’ll reach out to wikis for piloting in time for deployments. Creators and maintainers of reference-related tools and templates will be contacted beforehand as well. Thank you very much for your support and encouragement so far in helping bring this feature to life! </div> <bdi lang="en" dir="ltr">[[User:Johannes Richter (WMDE)|Johannes Richter (WMDE)]] ([[User talk:Johannes Richter (WMDE)|talk]])</bdi> 15:03, 28 Απρίλ 2025 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Johannes Richter (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Johannes_Richter_(WMDE)/Sub-referencing/massmessage_list&oldid=28628657 --> == <span lang="en" dir="ltr">Vote on proposed modifications to the UCoC Enforcement Guidelines and U4C Charter</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> The voting period for the revisions to the Universal Code of Conduct Enforcement Guidelines and U4C Charter closes on 1 May 2025 at 23:59 UTC ([https://zonestamp.toolforge.org/1746162000 find in your time zone]). [[m:Special:MyLanguage/Universal Code of Conduct/Annual review/2025/Voter information|Read the information on how to participate and read over the proposal before voting]] on the UCoC page on Meta-wiki. 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, you may [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|review the U4C Charter]]. Please share this message with members of your community in your language, as appropriate, so they can participate as well. In cooperation with the U4C -- <section end="announcement-content" /> </div> <div lang="en" dir="ltr" class="mw-content-ltr"> [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) 03:41, 29 Απρίλ 2025 (UTC)</div> <!-- Το μήνυμα στάλθηκε από τον User:Keegan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=28618011 --> == We will be enabling the new Charts extension on your wiki soon! == ''(Apologies for posting in English)'' Hi all! We have good news to share regarding the ongoing problem with graphs and charts affecting all wikis that use them. As you probably know, the [[:mw:Special:MyLanguage/Extension:Graph|old Graph extension]] was disabled in 2023 [[listarchive:list/wikitech-l@lists.wikimedia.org/thread/EWL4AGBEZEDMNNFTM4FRD4MHOU3CVESO/|due to security reasons]]. We’ve worked in these two years to find a solution that could replace the old extension, and provide a safer and better solution to users who wanted to showcase graphs and charts in their articles. We therefore developed the [[:mw:Special:MyLanguage/Extension:Chart|Charts extension]], which will be replacing the old Graph extension and potentially also the [[:mw:Extension:EasyTimeline|EasyTimeline extension]]. After successfully deploying the extension on Italian, Swedish, and Hebrew Wikipedia, as well as on MediaWiki.org, as part of a pilot phase, we are now happy to announce that we are moving forward with the next phase of deployment, which will also include your wiki. The deployment will happen in batches, and will start from '''May 6'''. Please, consult [[:mw:Special:MyLanguage/Extension:Chart/Project#Deployment Timeline|our page on MediaWiki.org]] to discover when the new Charts extension will be deployed on your wiki. You can also [[:mw:Special:MyLanguage/Extension:Chart|consult the documentation]] about the extension on MediaWiki.org. If you have questions, need clarifications, or just want to express your opinion about it, please refer to the [[:mw:Special:MyLanguage/Extension_talk:Chart/Project|project’s talk page on Mediawiki.org]], or ping me directly under this thread. If you encounter issues using Charts once it gets enabled on your wiki, please report it on the [[:mw:Extension_talk:Chart/Project|talk page]] or at [[phab:tag/charts|Phabricator]]. Thank you in advance! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 15:08, 6 Καλομηνά 2025 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Sannita (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Sannita_(WMF)/Mass_sending_test&oldid=28663781 --> == <span lang="el" dir="ltr">Πρόσκληση Υποψηφιότητας για την Συντονιστική Επιτροπή του Παγκόσμιου Κώδικα Δεοντολογίας (U4C)</span> == <div lang="el" dir="ltr"> <section begin="announcement-content" /> Τα αποτελέσματα της ψηφοφορίας επί των Οδηγιών Εφαρμογής του Παγκόσμιου Κώδικα Δεοντολογίας και του Χάρτη της Συντονιστικής Επιτροπής του Παγκόσμιου Κώδικα Δεοντολογίας (U4C) είναι:[[m:Special:MyLanguage/Universal Code of Conduct/Annual review/2025#Results|διαθέσιμα στο Meta-wiki]]. Μπορείτε τώρα να [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2025/Candidates|υποβάλετε την υποψηφιότητά σας για να υπηρετήσετε στην U4C]] έως τις 29 Μαΐου 2025, ώρα 12:00 UTC. Πληροφορίες σχετικά με [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Election/2025|τα κριτήρια επιλεξιμότητας, τη διαδικασία και το χρονοδιάγραμμα βρίσκονται στο Meta-wiki]]. Η ψηφοφορία για τους υποψηφίους θα ξεκινήσει την 1η Ιουνίου 2025 και θα διαρκέσει δύο εβδομάδες, κλείνοντας στις 15 Ιουνίου 2025, ώρα 12:00 UTC. Αν έχετε οποιεσδήποτε ερωτήσεις, μπορείτε να τις υποβάλετε στη [[m:Talk:Universal Code of Conduct/Coordinating Committee/Election/2025|σελίδα συζήτησης για τις εκλογές]] -- σε συνεργασία με το U4C, </div><section end="announcement-content" /> </div> <bdi lang="en" dir="ltr">[[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|καλάτσεμαν]])</bdi> 22:07, 15 Καλομηνά 2025 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Keegan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=28618011 --> == RfC ongoing regarding Abstract Wikipedia (and your project) == <div lang="en" dir="ltr" class="mw-content-ltr"> ''(Apologies for posting in English, if this is not your first language)'' Hello all! We opened a discussion on Meta about a very delicate issue for the development of [[:m:Special:MyLanguage/Abstract Wikipedia|Abstract Wikipedia]]: where to store the abstract content that will be developed through functions from Wikifunctions and data from Wikidata. Since some of the hypothesis involve your project, we wanted to hear your thoughts too. We want to make the decision process clear: we do not yet know which option we want to use, which is why we are consulting here. We will take the arguments from the Wikimedia communities into account, and we want to consult with the different communities and hear arguments that will help us with the decision. The decision will be made and communicated after the consultation period by the Foundation. You can read the various hypothesis and have your say at [[:m:Abstract Wikipedia/Location of Abstract Content|Abstract Wikipedia/Location of Abstract Content]]. Thank you in advance! -- [[User:Sannita (WMF)|Sannita (WMF)]] ([[User talk:Sannita (WMF)|<span class="signature-talk">{{int:Talkpagelinktext}}</span>]]) 15:27, 22 Καλομηνά 2025 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Sannita (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Sannita_(WMF)/Mass_sending_test&oldid=28768453 --> == <span lang="en" dir="ltr">Wikimedia Foundation Board of Trustees 2025 Selection & Call for Questions</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> :''[[m:Special:MyLanguage/Wikimedia Foundation elections/2025/Announcement/Selection announcement|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation elections/2025/Announcement/Selection announcement}}&language=&action=page&filter= {{int:please-translate}}]'' Dear all, This year, the term of 2 (two) Community- and Affiliate-selected Trustees on the Wikimedia Foundation Board of Trustees will come to an end [1]. The Board invites the whole movement to participate in this year’s selection process and vote to fill those seats. The Elections Committee will oversee this process with support from Foundation staff [2]. The Governance Committee, composed of trustees who are not candidates in the 2025 community-and-affiliate-selected trustee selection process (Raju Narisetti, Shani Evenstein Sigalov, Lorenzo Losa, Kathy Collins, Victoria Doronina and Esra’a Al Shafei) [3], is tasked with providing Board oversight for the 2025 trustee selection process and for keeping the Board informed. More details on the roles of the Elections Committee, Board, and staff are here [4]. Here are the key planned dates: * May 22 – June 5: Announcement (this communication) and call for questions period [6] * June 17 – July 1, 2025: Call for candidates * July 2025: If needed, affiliates vote to shortlist candidates if more than 10 apply [5] * August 2025: Campaign period * August – September 2025: Two-week community voting period * October – November 2025: Background check of selected candidates * Board’s Meeting in December 2025: New trustees seated Learn more about the 2025 selection process - including the detailed timeline, the candidacy process, the campaign rules, and the voter eligibility criteria - on this Meta-wiki page [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2025|[link]]]. '''Call for Questions''' In each selection process, the community has the opportunity to submit questions for the Board of Trustees candidates to answer. The Election Committee selects questions from the list developed by the community for the candidates to answer. Candidates must answer all the required questions in the application in order to be eligible; otherwise their application will be disqualified. This year, the Election Committee will select 5 questions for the candidates to answer. The selected questions may be a combination of what’s been submitted from the community, if they’re alike or related. [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2025/Questions_for_candidates|[link]]] '''Election Volunteers''' Another way to be involved with the 2025 selection process is to be an Election Volunteer. Election Volunteers are a bridge between the Elections Committee and their respective community. They help ensure their community is represented and mobilize them to vote. Learn more about the program and how to join on this Meta-wiki page [[m:Wikimedia_Foundation_elections/2025/Election_volunteers|[link].]] Thank you! [1] https://meta.wikimedia.org/wiki/Wikimedia_Foundation_elections/2022/Results [2] https://foundation.wikimedia.org/wiki/Committee:Elections_Committee_Charter [3] https://foundation.wikimedia.org/wiki/Resolution:Committee_Membership,_December_2024 [4] https://meta.wikimedia.org/wiki/Wikimedia_Foundation_elections_committee/Roles [5] https://meta.wikimedia.org/wiki/Wikimedia_Foundation_elections/2025/FAQ [6] https://meta.wikimedia.org/wiki/Wikimedia_Foundation_elections/2025/Questions_for_candidates Best regards, Victoria Doronina Board Liaison to the Elections Committee Governance Committee<section end="announcement-content" /> </div> [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 03:07, 28 Καλομηνά 2025 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=28618011 --> == <span lang="en" dir="ltr"> Upcoming Deployment of the CampaignEvents Extension</span> == <div lang="en" dir="ltr"> <section begin="message"/> Hello everyone, ''(Apologies for posting in English if English is not your first language. Please help translate to your language.)'' The Campaigns Product Team is planning a global deployment of the '''[[:mw:Help:Extension:CampaignEvents|CampaignEvents extension]]''' to all Wikipedias, including this wiki, during the '''week of June 23rd'''. This extension is designed to help organizers plan and manage events, WikiProjects, and other on-wiki collaborations - and to make these efforts more discoverable. The three main features of this extension are: * '''[[:m:Event_Center/Registration|Event Registration]]''': A simple way to sign up for events on the wiki. * '''[[:m:CampaignEvents/Collaboration_list|Collaboration List]]''': A global list of events and a local list of WikiProjects, accessible at '''[[:m:Special:AllEvents|Special:AllEvents]]'''. * '''[[:m:Campaigns/Foundation_Product_Team/Invitation_list|Invitation Lists]]''': A tool to help organizers find editors who might want to join, based on their past contributions. '''Note''': The extension comes with a new user right called '''"Event Organizer"''', which will be managed by administrators on this wiki. Organizer tools like Event Registration and Invitation Lists will only work if someone is granted this right. The Collaboration List is available to everyone immediately after deployment. The extension is already live on several wikis, including '''Meta, Wikidata, English Wikipedia''', and more ( [[m:CampaignEvents/Deployment_status#Current_Deployment_Status_for_CampaignEvents_extension| See the full deployment list]]) If you have any questions, concerns, or feedback, please feel free to share them on the [[m:Talk:CampaignEvents| extension talkpage]]. We’d love to hear from you before the rollout. Thank you! <section end="message"/> </div> <bdi lang="en" dir="ltr">[[User:Udehb-WMF|Udehb-WMF]] ([[User talk:Udehb-WMF|καλάτσεμαν]]) 16:47, 29 Καλομηνά 2025 (UTC)</bdi> <!-- Το μήνυμα στάλθηκε από τον User:Udehb-WMF@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Udehb-WMF/sandbox/deployment_audience&oldid=28803829 --> == Vote now in the 2025 U4C Election == <div lang="en" dir="ltr" class="mw-content-ltr"> Apologies for writing in English. {{Int:Please-translate}} Eligible voters are asked to participate in the 2025 [[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/2025|2025 Election information page]]. The vote closes on 17 June 2025 at [https://zonestamp.toolforge.org/1750161600 12:00 UTC]. Please vote if your account is eligible. Results will be available by 1 July 2025. -- In cooperation with the U4C, [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) 23:01, 13 Κερασινού 2025 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Keegan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=28848819 --> == <span lang="en" dir="ltr">Wikimedia Foundation Board of Trustees 2025 - Call for Candidates</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> :''<div class="plainlinks">[[m:Special:MyLanguage/Wikimedia Foundation elections/2025/Announcement/Call for candidates|{{int:interlanguage-link-mul}}]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-{{urlencode:Wikimedia Foundation elections/2025/Announcement/Call for candidates}}&language=&action=page&filter= {{int:please-translate}}]</div> Hello all, The [[m:Special:MyLanguage/Wikimedia Foundation elections/2025|call for candidates for the 2025 Wikimedia Foundation Board of Trustees selection is now open]] from June 17, 2025 – July 2, 2025 at 11:59 UTC [1]. The Board of Trustees oversees the Wikimedia Foundation's work, and each Trustee serves a three-year term [2]. This is a volunteer position. This year, the Wikimedia community will vote in late August through September 2025 to fill two (2) seats on the Foundation Board. Could you – or someone you know – be a good fit to join the Wikimedia Foundation's Board of Trustees? [3] Learn more about what it takes to stand for these leadership positions and how to submit your candidacy on [[m:Special:MyLanguage/Wikimedia Foundation elections/2025/Candidate application|this Meta-wiki page]] or encourage someone else to run in this year's election. Best regards, Abhishek Suryawanshi<br /> Chair of the Elections Committee On behalf of the Elections Committee and Governance Committee [1] https://meta.wikimedia.org/wiki/Special:MyLanguage/Wikimedia_Foundation_elections/2025/Call_for_candidates [2] https://foundation.wikimedia.org/wiki/Legal:Bylaws#(B)_Term. [3] https://meta.wikimedia.org/wiki/Special:MyLanguage/Wikimedia_Foundation_elections/2025/Resources_for_candidates<section end="announcement-content" /> </div> [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 17:44, 17 Κερασινού 2025 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=28866958 --> == <span lang="en" dir="ltr">Sister Projects Task Force reviews Wikispore and Wikinews</span> == <div lang="en" dir="ltr"> <section begin="message"/> Dear Wikimedia Community, The [[m:Wikimedia Foundation Community Affairs Committee|Community Affairs Committee (CAC)]] of the Wikimedia Foundation Board of Trustees assigned [[m:Wikimedia Foundation Community Affairs Committee/Sister Projects Task Force|the Sister Projects Task Force (SPTF)]] to update and implement a procedure for assessing the lifecycle of Sister Projects – wiki [[m:Wikimedia projects|projects supported by Wikimedia Foundation (WMF)]]. A vision of relevant, accessible, and impactful free knowledge has always guided the Wikimedia Movement. As the ecosystem of Wikimedia projects continues to evolve, it is crucial that we periodically review existing projects to ensure they still align with our goals and community capacity. Despite their noble intent, some projects may no longer effectively serve their original purpose. '''Reviewing such projects is not about giving up – it's about responsible stewardship of shared resources'''. Volunteer time, staff support, infrastructure, and community attention are finite, and the non-technical costs tend to grow significantly as our ecosystem has entered a different age of the internet than the one we were founded in. Supporting inactive projects or projects that didn't meet our ambitions can unintentionally divert these resources from areas with more potential impact. Moreover, maintaining projects that no longer reflect the quality and reliability of the Wikimedia name stands for, involves a reputational risk. An abandoned or less reliable project affects trust in the Wikimedia movement. Lastly, '''failing to sunset or reimagine projects that are no longer working can make it much harder to start new ones'''. When the community feels bound to every past decision – no matter how outdated – we risk stagnation. A healthy ecosystem must allow for evolution, adaptation, and, when necessary, letting go. If we create the expectation that every project must exist indefinitely, we limit our ability to experiment and innovate. Because of this, SPTF reviewed two requests concerning the lifecycle of the Sister Projects to work through and demonstrate the review process. We chose Wikispore as a case study for a possible new Sister Project opening and Wikinews as a case study for a review of an existing project. Preliminary findings were discussed with the CAC, and a community consultation on both proposals was recommended. === Wikispore === The [[m:Wikispore|application to consider Wikispore]] was submitted in 2019. SPTF decided to review this request in more depth because rather than being concentrated on a specific topic, as most of the proposals for the new Sister Projects are, Wikispore has the potential to nurture multiple start-up Sister Projects. After careful consideration, the SPTF has decided '''not to recommend''' Wikispore as a Wikimedia Sister Project. Considering the current activity level, the current arrangement allows '''better flexibility''' and experimentation while WMF provides core infrastructural support. We acknowledge the initiative's potential and seek community input on what would constitute a sufficient level of activity and engagement to reconsider its status in the future. As part of the process, we shared the decision with the Wikispore community and invited one of its leaders, Pharos, to an SPTF meeting. Currently, we especially invite feedback on measurable criteria indicating the project's readiness, such as contributor numbers, content volume, and sustained community support. This would clarify the criteria sufficient for opening a new Sister Project, including possible future Wikispore re-application. However, the numbers will always be a guide because any number can be gamed. === Wikinews === We chose to review Wikinews among existing Sister Projects because it is the one for which we have observed the highest level of concern in multiple ways. Since the SPTF was convened in 2023, its members have asked for the community's opinions during conferences and community calls about Sister Projects that did not fulfil their promise in the Wikimedia movement.[https://commons.wikimedia.org/wiki/File:WCNA_2024._Sister_Projects_-_opening%3F_closing%3F_merging%3F_splitting%3F.pdf <nowiki>[1]</nowiki>][https://meta.wikimedia.org/wiki/Wikimedia_Foundation_Community_Affairs_Committee/Sister_Projects_Task_Force#Wikimania_2023_session_%22Sister_Projects:_past,_present_and_the_glorious_future%22 <nowiki>[2]</nowiki>][https://meta.wikimedia.org/wiki/WikiConvention_francophone/2024/Programme/Quelle_proc%C3%A9dure_pour_ouvrir_ou_fermer_un_projet_%3F <nowiki>[3]</nowiki>] Wikinews was the leading candidate for an evaluation because people from multiple language communities proposed it. Additionally, by most measures, it is the least active Sister Project, with the greatest drop in activity over the years. While the Language Committee routinely opens and closes language versions of the Sister Projects in small languages, there has never been a valid proposal to close Wikipedia in major languages or any project in English. This is not true for Wikinews, where there was a proposal to close English Wikinews, which gained some traction but did not result in any action[https://meta.wikimedia.org/wiki/Proposals_for_closing_projects/Closure_of_English_Wikinews <nowiki>[4]</nowiki>][https://meta.wikimedia.org/wiki/WikiConvention_francophone/2024/Programme/Quelle_proc%C3%A9dure_pour_ouvrir_ou_fermer_un_projet_%3F <nowiki>[5]</nowiki>, see section 5] as well as a draft proposal to close all languages of Wikinews[https://meta.wikimedia.org/wiki/Talk:Proposals_for_closing_projects/Archive_2#Close_Wikinews_completely,_all_languages? <nowiki>[6]</nowiki>]. [[:c:File:Sister Projects Taskforce Wikinews review 2024.pdf|Initial metrics]] compiled by WMF staff also support the community's concerns about Wikinews. Based on this report, SPTF recommends a community reevaluation of Wikinews. We conclude that its current structure and activity levels are the lowest among the existing sister projects. SPTF also recommends pausing the opening of new language editions while the consultation runs. SPTF brings this analysis to a discussion and welcomes discussions of alternative outcomes, including potential restructuring efforts or integration with other Wikimedia initiatives. '''Options''' mentioned so far (which might be applied to just low-activity languages or all languages) include but are not limited to: *Restructure how Wikinews works and is linked to other current events efforts on the projects, *Merge the content of Wikinews into the relevant language Wikipedias, possibly in a new namespace, *Merge content into compatibly licensed external projects, *Archive Wikinews projects. Your insights and perspectives are invaluable in shaping the future of these projects. We encourage all interested community members to share their thoughts on the relevant discussion pages or through other designated feedback channels. === Feedback and next steps === We'd be grateful if you want to take part in a conversation on the future of these projects and the review process. We are setting up two different project pages: [[m:Public consultation about Wikispore|Public consultation about Wikispore]] and [[m:Public consultation about Wikinews|Public consultation about Wikinews]]. Please participate between 27 June 2025 and 27 July 2025, after which we will summarize the discussion to move forward. You can write in your own language. I will also host a community conversation 16th July Wednesday 11.00 UTC and 17th July Thursday 17.00 UTC (call links to follow shortly) and will be around at Wikimania for more discussions. <section end="message"/> </div> -- [[User:Victoria|Victoria]] on behalf of the Sister Project Task Force, 20:57, 27 Κερασινού 2025 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Johan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Johan_(WMF)/Sister_project_MassMassage_on_behalf_of_Victoria/Target_list&oldid=28911188 --> == Wikidata Item and Property labels soon displayed in Wiki Watchlist/Recent Changes == ''(Apologies for posting in English, you can help by translating into your language)'' Hello everyone, the [[m:Wikidata_For_Wikimedia_Projects/Clearer_Wikidata_Edit_Summaries/Resolve_Labels|Wikidata For Wikimedia Projects]] team is excited to announce an upcoming change in how Wikidata edit changelogs are displayed in your [[Special:Watchlist|Watchlists]] and [[Special:RecentChanges|Recent Changes]] lists. If an edit is made on Wikidata that affects a page in another Wikimedia Project, the changelog will contain some information about the nature of the edit. This can include a QID (or Q-number), a PID (or P-number) and a value (which can be text, numbers, dates, or also QID or PID’s). Confused by these terms? See the [[d:Special:MyLanguage/Wikidata:Glossary|Wikidata:Glossary]] for further explanations. The upcoming change is scheduled for '''17.07.2025''', between '''1300 - 1500 UTC'''. The change will display the label (item name) alongside any QID or PIDs, as seen in the image below: [[File:Apr10 edit summary on Wikidata.png|An edit sum entry on Wikidata, labels display alongside their P- and Q-no.'s]] These changes will only be visible if you have Wikidata edits enabled in your User Preferences for Watchlists and Recent Changes, or have the active filter ‘Wikidata edits’ checkbox toggled on, directly on the Watchlist and Recent Changes pages. Your bot and gadget may be affected! There are thousands of bots, gadgets and user-scripts and whilst we have researched potential effects to many of them, we cannot guarantee there won’t be some that are broken or affected by this change. Further information and context about this change, including how your bot may be affected can be found on this [[m:Wikidata_For_Wikimedia_Projects/Clearer_Wikidata_Edit_Summaries/Resolve_Labels|project task page]]. We welcome your questions and feedback, please write to us on this dedicated [[m:Talk:Wikidata_For_Wikimedia_Projects/Clearer_Wikidata_Edit_Summaries/Resolve_Labels|Talk page]]. Thank you, - [[m:User:Danny_Benjafield_(WMDE)|Danny Benjafield (WMDE)]] on behalf of the Wikidata For Wikimedia Projects Team. [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 12:45, 14 Χορτοθερί 2025 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Danny Benjafield (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Danny_Benjafield_(WMDE)/MassMessage_Test_List&oldid=28981877 --> == <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:ABreault (WMF)|Content Transform Team]]</bdi> 22:38, 19 Aλωναρί 2025 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:ABreault (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Wikimedia_Foundation/Product_and_Technology/Parsoid_Read_Views/2025-08-25_Wikipedias&oldid=29152044 --> == <span lang="el" dir="ltr">Οι προσωρινοί λογαριασμοί θα τεθούν σε λειτουργία σύντομα</span> == <div lang="el" dir="ltr"> <section begin="body"/> Γεια σας, είμαστε η ομάδα [[mw:Special:MyLanguage/Product Safety and Integrity|Ασφάλειας και Ακεραιότητας Προϊόντων]] του Ιδρύματος Wikimedia. Θα θέλαμε να ανακοινώσουμε ότι '''σκοπεύουμε να ενεργοποιήσουμε τους [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|προσωρινούς λογαριασμούς]] σε αυτό το wiki την εβδομάδα της 1ης Σεπτεμβρίου'''. Οι προσωρινοί λογαριασμοί λειτουργούν με επιτυχία σε 30 wiki, συμπεριλαμβανομένων πολλών μεγάλων όπως τα γερμανικά, ιαπωνικά και τα γαλλικά. Η αλλαγή που φέρνουν είναι ιδιαίτερα σημαντική για τους συντάκτες που δεν έχουν συνδεθεί, τους οποίους αυτή η λειτουργία έχει σχεδιαστεί για να προστατεύει. Αλλά είναι επίσης σημαντική για μέλη της κοινότητας όπως καθοδηγητές, επιτηρητές και διαχειριστές – οποιονδήποτε που αναιρεί επεξεργασίες, φράζει χρήστες ή αλληλεπιδρά με συντάκτες που δεν έχουν συνδεθεί, ως μέρος της προσπάθειας να διατηρηθούν τα wiki ασφαλή και αξιόπιστα. '''Γιατί δημιουργούμε προσωρινούς λογαριασμούς''' Τα wiki μας πρέπει να είναι από προεπιλογή ασφαλέστερα για επεξεργασία για συντάκτες που δεν έχουν συνδεθεί. Οι προσωρινοί λογαριασμοί επιτρέπουν στους χρήστες να συνεχίσουν να επεξεργάζονται τα wiki χωρίς να δημιουργήσουν λογαριασμό, αποφεύγοντας παράλληλα τη δημόσια σύνδεση των επεξεργασιών τους με τη διεύθυνση IP τους. Πιστεύουμε ότι αυτό είναι προς το συμφέρον των συντάκτων που δεν έχουν συνδεθεί, οι οποίοι συμβάλλουν σημαντικά στα wiki και οι οποίοι μπορεί αργότερα να δημιουργήσουν λογαριασμούς και να διευρύνουν την κοινότητα των συντακτών, των διαχειριστών και άλλων ρόλων. Παρόλο που τα wiki προειδοποιούν τους συντάκτες που δεν έχουν συνδεθεί ότι η διεύθυνση IP τους θα συσχετιστεί με την επεξεργασία τους, πολλοί άνθρωποι μπορεί να μην καταλαβαίνουν τι είναι μια διεύθυνση IP ή ότι μπορεί να χρησιμοποιηθεί για να τους συνδέσει με άλλες πληροφορίες που τους αφορούν με τρόπους που δεν θα περίμεναν. Επιπλέον, το λογισμικό και τα εργαλεία διαμεσολάβησης που χρησιμοποιούμε βασίζονται υπερβολικά στην προέλευση του δικτύου (διευθύνσεις IP) για την αναγνώριση χρηστών και μοτίβων δραστηριότητας, ειδικά καθώς οι ίδιες οι διευθύνσεις IP γίνονται λιγότερο σταθερές ως αναγνωριστικά. Οι προσωρινοί λογαριασμοί επιτρέπουν πιο ακριβείς αλληλεπιδράσεις με αποσυνδεδεμένους συντάκτες, συμπεριλαμβανομένων φραγών με περισσότερη ακρίβεια, και μπορούν να βοηθήσουν στον περιορισμό της συχνότητας με την οποία καταλήγουμε ακούσια να αποκλείουμε χρήστες καλή τη πίστει που χρησιμοποιούν τις ίδιες διευθύνσεις IP με κακόπιστους χρήστες. '''Πώς λειτουργούν οι προσωρινοί λογαριασμοί''' [[File:Temporary account banner and empty talk page.png|thumb]] Κάθε φορά που ένας αποσυνδεδεμένος χρήστης δημοσιεύει μια επεξεργασία σε αυτό το wiki, θα δημιουργείται ένα cookie στο πρόγραμμα περιήγησης αυτού του χρήστη και θα δημιουργείται αυτόματα ένας προσωρινός λογαριασμός συνδεδεμένος με αυτό το cookie. Το όνομα αυτού του λογαριασμού θα ακολουθεί το μοτίβο: <code dir=ltr>~2025-12345-67</code> (μια κατσαρή παύλα, το τρέχον έτος, ένας αριθμός). Σε σελίδες όπως οι Πρόσφατες αλλαγές ή το ιστορικό σελίδας, θα εμφανίζεται αυτό το όνομα. Το cookie θα λήξει 90 ημέρες μετά τη δημιουργία του. Όσο υπάρχει, όλες οι επεξεργασίες που γίνονται από αυτή τη συσκευή θα αποδίδονται σε αυτόν τον προσωρινό λογαριασμό. Θα είναι ο ίδιος λογαριασμός ακόμα και αν αλλάξει η διεύθυνση IP, εκτός αν ο χρήστης διαγράψει τα cookie του ή χρησιμοποιήσει διαφορετική συσκευή ή πρόγραμμα περιήγησης. Ένα αρχείο με τη διεύθυνση IP που χρησιμοποιήθηκε κατά τη στιγμή κάθε επεξεργασίας θα αποθηκεύεται για 90 ημέρες μετά την επεξεργασία. Ωστόσο, μόνο ορισμένοι συνδεδεμένοι χρήστες θα μπορούν να το δουν. '''Τι σημαίνει αυτό για τις διάφορες ομάδες χρηστών;''' '''Για αποσυνδεδεμένους συντάκτες''' * Αυτό αυξάνει την ιδιωτικότητα: επί του παρόντος, εάν δεν χρησιμοποιείτε έναν εγγεγραμμένο λογαριασμό για να επεξεργαστείτε, τότε όλοι μπορούν να δουν τη διεύθυνση IP για τις επεξεργασίες που κάνατε, ακόμη και μετά από 90 ημέρες. Αυτό δεν θα είναι πλέον δυνατό σε αυτό το wiki. * Εάν χρησιμοποιείτε έναν προσωρινό λογαριασμό για να επεξεργαστείτε από διαφορετικές τοποθεσίες κατά τη διάρκεια των τελευταίων 90 ημερών (για παράδειγμα, από το σπίτι και από καφετέρια), το ιστορικό επεξεργασίας και οι διευθύνσεις IP για όλες αυτές τις τοποθεσίες θα καταγράφονται πλέον μαζί, για τον ίδιο προσωρινό λογαριασμό. Οι χρήστες που [[foundation:Special:MyLanguage/Policy:Access_to_temporary_account_IP_addresses|πληρούν τις σχετικές προϋποθέσεις]] θα μπορούν να δουν αυτά τα δεδομένα. Εάν αυτό δημιουργεί προβλήματα προσωπικής ασφάλειας για εσάς, παρακαλούμε επικοινωνήστε με το talktohumanrights στο wikimedia.org για συμβουλές. '''Για μέλη της κοινότητας που αλληλεπιδρούν με αποσυνδεδεμένους συντάκτες''' * Ένας προσωρινός λογαριασμός συνδέεται μοναδικά με μια συσκευή. Συγκριτικά, μια διεύθυνση IP μπορεί να μοιράζεται σε διαφορετικές συσκευές και άτομα (για παράδειγμα, διαφορετικά άτομα στο σχολείο ή στην εργασία μπορεί να έχουν την ίδια διεύθυνση IP). * Σε σύγκριση με την τρέχουσα κατάσταση, θα είναι ασφαλέστερο να υποθέσουμε ότι η σελίδα συζήτησης ενός προσωρινού χρήστη ανήκει μόνο σε ένα άτομο και τα μηνύματα που αφήνονται εκεί θα διαβαστούν από αυτό. Όπως μπορείτε να δείτε στο στιγμιότυπο οθόνης, οι χρήστες προσωρινών λογαριασμών θα λαμβάνουν ειδοποιήσεις. Θα είναι επίσης δυνατό να τους ευχαριστήσετε για τις επεξεργασίες τους, να τους κάνετε ping σε συζητήσεις και να τους προσκαλέσετε να συμμετάσχουν περισσότερο στην κοινότητα. '''Για χρήστες που χρησιμοποιούν δεδομένα διεύθυνσης IP για τη διατήρηση και συντήρηση του wiki''' * '''Για περιπολούντες''' που παρακολουθούν επίμονους παραβάτες, διερευνούν παραβιάσεις πολιτικών κ.λπ.: Οι χρήστες που [[foundation:Special:MyLanguage/Policy:Access_to_temporary_account_IP_addresses|πληρούν τις προϋποθέσεις]] θα μπορούν να αποκαλύπτουν τις διευθύνσεις IP προσωρινών χρηστών και όλες τις συνεισφορές που έχουν γίνει από προσωρινούς λογαριασμούς από μια συγκεκριμένη διεύθυνση IP ή εύρος διευθύνσεων IP ([[Special:IPContributions]]). Θα έχουν επίσης πρόσβαση σε χρήσιμες πληροφορίες σχετικά με τις διευθύνσεις IP χάρη στη λειτουργία [[mw:Special:MyLanguage/Trust and Safety Product/IP Info|Πληροφορίες IP]]. Πολλά άλλα εργαλεία λογισμικού έχουν δημιουργηθεί ή προσαρμοστεί για να λειτουργούν με προσωρινούς λογαριασμούς, όπως το AbuseFilter, οι παγκόσμιες φραγές, τα Global User Contributions και άλλα. (Για πληροφορίες για εθελοντές προγραμματιστές σχετικά με τον τρόπο ενημέρωσης του κώδικα των εργαλείων σας – δείτε το τελευταίο μέρος του μηνύματος.) * '''Για διαχειριστές που αποκλείουν συντάκτες που έχουν αποσυνδεθεί:''' ** Θα είναι δυνατό να φράσετε πολλούς χρήστες που κάνουν κατάχρηση απλώς αποκλείοντας τους προσωρινούς λογαριασμούς τους. Ένα άτομο που έχει αποκλειστεί δεν θα μπορεί να δημιουργήσει γρήγορα νέους προσωρινούς λογαριασμούς εάν ο διαχειριστής επιλέξει την επιλογή [[mw:Special:MyLanguage/Autoblock|αυτόματης φραγής]]. ** Θα εξακολουθεί να είναι δυνατό να αποκλείσετε μια διεύθυνση IP ή ένα εύρος διευθύνσεων IP. * Οι προσωρινοί λογαριασμοί δεν θα εφαρμοστούν αναδρομικά σε συνεισφορές που έγιναν πριν από την ανάπτυξη. Στο Special:Contributions, θα μπορείτε να δείτε τις υπάρχουσες συνεισφορές χρηστών IP, αλλά όχι τις νέες συνεισφορές που έγιναν από προσωρινούς λογαριασμούς σε αυτή τη διεύθυνση IP. Αντ' αυτού, θα πρέπει να χρησιμοποιήσετε το Special:IPContributions για τον σκοπό αυτό. '''Τα αιτήματά μας προς εσάς και τα επόμενα βήματα''' * Εάν γνωρίζετε εργαλεία, bots, gadgets κ.λπ. που χρησιμοποιούν δεδομένα σχετικά με διευθύνσεις IP ή είναι διαθέσιμα σε αποσυνδεδεμένους χρήστες, μπορείτε να δοκιμάσετε αν λειτουργούν στο [[testwiki:Main_Page|testwiki]] ή το [[test2wiki:Main_Page|test2wiki]]. Εάν είστε εθελοντής προγραμματιστής, [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/For developers|διαβάστε την τεκμηρίωσή μας για προγραμματιστές]] και, ειδικότερα, την ενότητα σχετικά με τον τρόπο με τον οποίο [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/For developers#How should I update my code?|ενδέχεται να χρειαστεί να ενημερώσετε τον κώδικά σας]]. * Αν θέλετε να δοκιμάσετε την εμπειρία του προσωρινού λογαριασμού, για παράδειγμα απλώς για να δείτε πώς είναι, μεταβείτε στο testwiki ή στο test2wiki και επεξεργαστείτε χωρίς να συνδεθείτε. * Ενημερώστε μας αν γνωρίζετε τυχόν δυσκολίες που πρέπει να αντιμετωπιστούν. Θα προσπαθήσουμε να βοηθήσουμε και, αν δεν είμαστε σε θέση να το κάνουμε, θα εξετάσουμε τις διαθέσιμες επιλογές. * Δείτε το [[m:Meta:Babel#Temporary_Accounts:_access_to_IP_addresses_and_next_steps|προηγούμενο μήνυμά]] μας σχετικά με τις απαιτήσεις για χρήστες χωρίς εκτεταμένα δικαιώματα που ενδέχεται να χρειάζονται πρόσβαση σε διευθύνσεις IP. Για να μάθετε περισσότερα σχετικά με το έργο, ανατρέξτε στις [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/FAQ|Συχνές Ερωτήσεις]] – εκεί θα βρείτε πολλές χρήσιμες απαντήσεις. Μπορείτε επίσης να [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Updates|δείτε τις ενημερώσεις]] (μόλις δημοσιεύσαμε μία) και να [[mw:Newsletter:Product Safety and Integrity|εγγραφείτε στο νέο μας ενημερωτικό δελτίο]]. Αν θέλετε να μιλήσετε μαζί μου (Szymon) εκτός wiki, θα με βρείτε στο Discord και στο Telegram. Ευχαριστούμε!<section end="body" /> </div> <bdi lang="en" dir="ltr">[[m:user:NKohli (WMF)|NKohli (WMF)]], [[m:user:SGrabarczuk (WMF)|SGrabarczuk (WMF)]]</bdi> 21:36, 26 Aλωναρί 2025 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Quiddity (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Quiddity_(WMF)/sandbox6&oldid=29181713 --> == <span lang="el" dir="ltr">Το wiki σας σύντομα θα είναι μόνο για ανάγνωση</span> == <div lang="el" dir="ltr"> <section begin="server-switch"/><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch|Διαβάστε αυτό το μήνυμα σε άλλη γλώσσα]] • [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Tech%2FServer+switch&language=&action=page&filter= {{int:please-translate}}] Το [[foundation:|Ἰδρυμα Wikimedia]] θα μεταστρέψει την κίνηση μεταξύ των κέντρων δεδομένων του. Με αυτόν τον τρόπο θα διασφαλιστεί ότι η Βικιπαίδεια και τα άλλα wiki του Wikimedia θα μπορούν να παραμείνουν ενεργά ακόμα και μετά από μία καταστροφή. Όλη η κίνηση θα εναλλαχθεί στις '''{{#time:j xg|2025-09-24|el}}'''. Η δοκιμή θα ξεκινήσει στις '''[https://zonestamp.toolforge.org/{{#time:U|2025-09-24T15:00|en}} {{#time:H:i e|2025-09-24T15:00}}]''' (17:00 ώρα Ελλάδος και Κύπρου). Δυστυχώς, λόγω κάποιων περιορισμών του [[mw:Special:MyLanguage/Manual:What is MediaWiki?|MediaWiki]], δεν θα υπάρχει δυνατότητα επεξεργασίας κατά τη διάρκεια της μετατόπισης της κίνησης. Ζητούμε συγγνώμη για την αναστάτωση, και καταβάλλουμε προσπάθειες αυτή να ελαχιστοποιηθεί στο μέλλον. Ένα μπάνερ θα προβληθεί σε όλα τα wiki 30 λεπτά πριν ξεκινήσει η επιχείρηση. Αυτό το μπάνερ θα παραμείνει ορατό μέχρι το τέλος της λειτουργίας. <span lang="en" dir="ltr" class="mw-content-ltr">You can contribute to the [https://meta.wikimedia.org/w/index.php?title=Special%3ATranslate&group=Centralnotice-tgroup-read_only_banner&task=view&language=&filter=&action=translate translation or proofreading] of this banner text.</span> '''Για ένα σύντομο χρονικό διάστημα, θα μπορείτε να διαβάσετε όλα τα wiki, αλλά όχι να τα επεξεργαστείτε.''' *Η επεξεργασία θα είναι αδύνατη για έως και μία ώρα την {{#time:l j xg Y|2025-09-24|el}}. *Αν προσπαθήσετε να επεξεργαστείτε ή να αποθηκεύσετε μια σελίδα εκείνη την ώρα, θα δείτε ένα μήνυμα σφάλματος. Ελπίζουμε ότι δεν θα χαθούν επεξεργασίες εκείνη την ώρα, αλλά δεν μπορούμε να το εγγυηθούμε. Αν δείτε το μήνυμα σφάλματος, παρακαλούμε περιμένετε μέχρι να επανέλθουν όλα στο κανονικό. Τότε θα μπορέσετε να αποθηκεύσετε την αλλαγή σας. Ωστόσο προτείνουμε να κρατήσετε ένα αντίγραφο των αλλαγών σας, για κάθε ενδεχόμενο. ''Άλλα προβλήματα'' *Οι εργασίες στο υπόβαθρο θα είναι πιο αργές και κάποιες μπορεί να ακυρωθούν. Οι κόκκινοι σύνδεσμοι πιθανώς να μην ενημερώνονται τόσο γρήγορα όσο συνήθως. Αν δημιουργήσετε μια σελίδα που ήδη συνδέεται από κάπου αλλού, ο σύνδεσμος θα παραμείνει κόκκινος για περισσότερο χρόνο από ότι συνήθως. Κάποιες διεργασίες που απαιτούν ώρα να εκτελεστούν θα αναγκαστούν να σταματήσουν. * Αναμένουμε ότι οι αναπτύξεις κώδικα θα γίνουν όπως κάθε άλλη εβδομάδα. Ωστόσο, ορισμένες κατά περίπτωση παγώσεις κώδικα θα μπορούσαν να συμβούν αμέσως, εάν η επιχείρηση τις απαιτήσει στη συνέχεια. * Το [[mw:Special:MyLanguage/GitLab|GitLab]] δεν θα είναι διαθέσιμο για περίπου 90 λεπτά. Το έργο αυτό ενδέχεται να αναβληθεί εάν είναι απαραίτητο. Μπορείτε να [[wikitech:Switch_Datacenter|διαβάσετε το πρόγραμμα στο wikitech.wikimedia.org]]. Οι όποιες αλλαγές θα ανακοινωθούν στο πρόγραμμα. '''Παρακαλούμε μοιραστείτε αυτή την πληροφορία με την κοινότητά σας.'''</div><section end="server-switch"/> </div> <span dir=ltr>[[m:User:Trizek (WMF)|Trizek (WMF)]] ([[m:User talk:Trizek (WMF)|{{int:talk}}]])</span> 15:42, 18 Σταυρί 2025 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Trizek (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=29170715 --> == <span lang="en" dir="ltr">Have your say: vote for the 2025 Board of Trustees</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> Hello all, The voting period for the [[m:Special:MyLanguage/Wikimedia Foundation elections/2025|2025 Board of Trustees election]] is now open. Candidates are running for two (2) seats on the Board. To check your voter eligibility, please visit the [[m:Special:MyLanguage/Wikimedia Foundation elections/2025/Voter eligibility guidelines|voter eligibility page]]. Learn more about them by [[m:Special:MyLanguage/Wikimedia Foundation elections/2025/Candidates|reading their application statements and watch their candidacy videos]]. When you are ready, go to the [[m:Special:SecurePoll/vote/405|SecurePoll voting page to vote]]. '''The vote is open from October 8 at 00:00 UTC to October 22 at 23:59 UTC.''' Best regards, Abhishek Suryawanshi<br />Chair, Elections Committee<section end="announcement-content" /> </div> [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 04:48, 9 Τρυγομηνά 2025 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:RamzyM (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=29360896 --> == <span lang="en" dir="ltr">Help us decide the name of the new Abstract Wikipedia project</span> == <div lang="en" dir="ltr"> <section begin="function1"/> {{int:Hello}}. Please help pick a name for the new Abstract Wikipedia wiki project. This project will be a wiki that will enable users to combine functions from [[:f:|Wikifunctions]] and data from Wikidata in order to generate natural language sentences in any supported languages. These sentences can then be used by any Wikipedia (or elsewhere). There will be two rounds of voting, each followed by legal review of candidates, with votes beginning on 20 October and 17 November 2025. Our goal is to have a final project name selected on mid-December 2025. If you would like to participate, then '''[[m:Special:MyLanguage/Abstract Wikipedia/Abstract Wikipedia naming contest|please learn more and vote now]]''' at meta-wiki. {{Int:Feedback-thanks-title}} <section end="function1"/> </div> -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 11:43, 20 Τρυγομηνά 2025 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Sannita (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=29432175 --> == <span lang="en" dir="ltr">Seeking volunteers to join several of the movement’s committees</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> Each year, typically from October through December, several of the movement’s committees seek new volunteers. Read more about the committees on their Meta-wiki pages: * [[m:Special:MyLanguage/Affiliations Committee|Affiliations Committee (AffCom)]] * [[m:Special:MyLanguage/Ombuds commission|Ombuds commission (OC)]] * [[m:Special:MyLanguage/Wikimedia Foundation/Legal/Community Resilience and Sustainability/Trust and Safety/Case Review Committee|Case Review Committee (CRC)]] Applications for the committees open on October 30, 2025. Applications for the Affiliations Committee, Ombuds commission and the Case Review Committee close on December 11, 2025. Learn how to apply by [[m:Special:MyLanguage/Wikimedia Foundation/Legal/Committee appointments|visiting the appointment page on Meta-wiki]]. Post to the talk page or email cst[[File:At sign.svg|16x16px|link=|(_AT_)]]wikimedia.org with any questions you may have. For the Committee Support team, <section end="announcement-content" /> </div> -[[m:User:MKaur (WMF)| MKaur (WMF)]] 14:13, 30 Τρυγομηνά 2025 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:MKaur (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=29517125 --> == <span lang="en" dir="ltr">Reminder: Help us decide the name of the new Abstract Wikipedia project</span> == <div lang="en" dir="ltr"> <section begin="function2"/> {{int:Hello}}. Reminder: Please help to choose name for the new Abstract Wikipedia wiki project. The finalist vote starts today. The finalists for the name are: <span lang="en" dir="ltr" class="mw-content-ltr">Abstract Wikipedia, Multilingual Wikipedia, Wikiabstracts, Wikigenerator, Proto-Wiki</span>. If you would like to participate, then '''[[m:Special:MyLanguage/Abstract Wikipedia/Abstract Wikipedia naming contest|please learn more and vote now]]''' at meta-wiki. {{Int:Feedback-thanks-title}} <section end="function2"/> </div> -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 14:22, 20 Αεργί 2025 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Sannita (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=29583860 --> 99a639da9cnagh54295k7lxf7sk28br Συναλλοιότητα διαφορομορφιζμίων 0 752 34087 31191 2019-02-03T17:54:21Z Texvc2LaTeXBot 7121 Replacing deprecated latex syntax [[mw:Extension:Math/Roadmap]] 34087 wikitext text/x-wiki Σην θεωρητικόν [[Φυσική|φυσικήν]], η '''συναλλ΄εότητα δ΄εαφορομορφιζμίων''' (γιά '''γενικόν συναλλ΄εότητα''' γιά '''γενικόν αναλλ΄εότητα''') εν αναλλ΄εότητα τη μορφής τη φυσικών νομίων αφκά ασοί αυταίρετους [[Παράγωγον (μαθεματικά)|δ΄εαφορίσιμους]] μετασκηματιζμούς [[Συντεταγμένε|συντεταγμενίων]]. Το κεντρικόν η ιδέα εν η αφκά: τα συντεταγμένας 'κ υπάρχνε πραματικά σην φύσην, άμα είναι μαναχόν κατασκευάζματα που περγράφνε ατέν κ΄ γ΄ τ'ατό εν καλλίον να μην έχνε ρόλον σην δ΄εατύπωσην τη βασικών φυσικών νομίων. Φυσικόν νόμον γενικά συναλλοίωτον εν ατός που ες΄ την ίδ΄εαν μαθεματικόν μορφήν σ'όλ΄εα τα συστέματα συντεταγμενίων που αλληλοσκετίζκουνταν δ΄εα μεσίου διαφορισιμιδίων μετασκηματιζμίων. Αΐκοι νομ εκφράζκουνταν πολλά φοράς με ορς [[Τανυστής|τανυστικών]] πεδίων· παράδειγμαν: η κλασικόν (μη [[Κβαντομηχανική|κβαντικόν]]) Θεωρία τη Ελεκτροδυναμικής εν αΐκεσσα θεωρία. Ους αρχή, την γενικόν συναλλ΄εότηταν επρότεινεν ο [[Άλμπερτ Αϊνστάιν]] γ΄ την θεωρίανατουν τη Ειδικού τη Σχετικότητας, άμα αβούτε η θεωρία πα έτον περιοριζμένον σα συστέματα συντεταγμενίων που αλληλοσκετίζκουνταν μαναχόν δ΄εα μεσίου ομ΄εομορφιδίων σχετικών ταχυτητίων (δηλαδή, αδρανειακών πλαισίων). Ο Αϊνστάιν ανεγνώρισεν την ανάγκην εφαρμογής τη [[Γενικόν Σχετικότητα|Γενικού Αρχής τη Σχετικότητας]] σοι επιταχυνόμενους σχετικούς ταχύτητας κ΄ μετεχειρίστεν τοι υπολογιστικούς μέθοδους τη Τανυστικού Λογιζμού (τη νέονος ατουνού εργαλείου γ΄ την εποχήν εκείνεν) για να επεκτείνει την Καθολικόν Συναλλ΄εότηταν Λόρεντς (Lorentz) τη ειδικού θεωρίας (που εφαρμόζκεται μαναχόν σα αδρανειακά πλαίσ΄εα) σην άλο γενικόν Τοπικόν Συναλλ΄εότηταν Λόρεντς (που εφαρμόζκεται σ'όλ΄εα τα πλαίσ΄εα)'''·''' αραέτς εποίκεν ο Αϊνστάιν την Γενικόν Θεωρίαν τη Σχετικότητας. Η τοπικός περιστολή τη γενικού τανυστή μετρικής σην μετρικήν Μινκόφσκι αντιστοισ΄εί σε κίνησην ελεύθερου πτώσης (γεωδαιτικήν, δηλαδή)'''·''' αέτς περικλείσκεται σην γενικόν θεωρίαν το φαινόμενον τη [[Βαρύτητα|βαρύτητας]]. Η σύχρονον ερμηνεία τη φυσικού περιεχόμενου τη αρχής τη γενικού συναλλ΄εότητας εν η αφκά: η ομάδα Λι (Lie) GL<small>4</small>(<math>\mathbb{R}</math>) (η ομάδα συμμετρίας τη Γενικού Σχετικότητας, δηλαδή) εν θεμελ΄εώδης εξωτερικόν [[Συμμετρία|συμμετρία]] τη κόζμονοσεμουν. Άμα κ΄ άλλα συμμετρίας, άμον οι [[Πεδίον (φυσικήν)|εσωτερικοί συμμετρίας]] που βασίζκουνταν σοι διακριτούς ομάδας, έχνε πλέον τρανόν ρόλον σο ποίσιμον καινούργεων φυσικών θεωρίων. ==Τέρεν και== *[[Ειδικόν σχετικότητα]] ==Αναφοράντας / Βιβλ΄εογραφία== *(σ'αγγλικά) O'Hanian, Hans ϗ Ruffini, Remo. ''Gravitation and Spacetime'' (2η εκδ.). New York: W. W. Norton. 1994.<br />ISBN 0-393-96501-5. ''Τέρεν το κομμάτ'': 7.1. ==Συνδέζμ== *(σ'αγγλικά) [http://www.pitt.edu/~jdnorton/papers/decades_re-set.pdf ''General covariance and the foundations of general relativity: eight decades of dispute''] [[Κατηγορίαν:Φυσικήν|!]] [[Κατηγορίαν:Μαθηματικά|!]] odb4s7ndmsuecvby056lgmgi57mu2xx Κατηγορίαν:Γλυπτικήν 14 753 31532 29381 2013-04-02T18:48:48Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 91 interwiki links, now provided by [[d:|Wikidata]] on [[d:q7235747]] [[M:User:Addbot/WDS|(translate me)]] 31532 wikitext text/x-wiki {{Commonscat|Sculpturing}} [[Category:Πολιτισμόν|*]] l0vlug0ukyy5wud2v312krjninmz233 Κατηγορίαν:Ποιητικήν 14 754 5046 2009-04-10T06:20:25Z Omnipaedista 35 Καινούρεον σελίδαν με '[[Category:Πολιτισμόν|*]]' 5046 wikitext text/x-wiki [[Category:Πολιτισμόν|*]] bi21pgepp4o6e04jtm717bkfjcvqmou Κατηγορίαν:Παλαιόν Ιστορίαν 14 755 31755 24772 2013-08-17T10:31:41Z Addbot 3509 [[User:addbot|Bot]]: Migrating interwiki links, now provided by [[d:|Wikidata]] on [[d:q6499653]] 31755 wikitext text/x-wiki [[Category:Ιστορίαν|*]] [[da:Kategori:Antikken]] [[sl:Kategorija:Antika]] jwltnti9wcq6xrmtw8r4eqcf8a31cxq Κατηγορίαν:Ρωμανίαν 14 756 5054 2009-04-10T06:41:57Z Omnipaedista 35 Καινούρεον σελίδαν με '[[Category:Ιστορίαν|*]]' 5054 wikitext text/x-wiki [[Category:Ιστορίαν|*]] beg67jio41a4w12l0fykoqd9laeofrp Κατηγορίαν:Επιστήμην 14 757 31192 29839 2013-03-07T20:06:36Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 188 interwiki links, now provided by [[d:|Wikidata]] on [[d:q1458083]] [[M:User:Addbot/WDS|(translate me)]] 31192 wikitext text/x-wiki [[Category:Wp/pnt|*]] rg12fwb6t1x9anv6rae4k4bnt2vk1rp Κατηγορίαν:Φυσικήν 14 758 5057 2009-04-10T06:50:32Z Omnipaedista 35 Καινούρεον σελίδαν με '[[Category:Επιστήμην|*]]' 5057 wikitext text/x-wiki [[Category:Επιστήμην|*]] 1w1zsndiuq2ims3xg24rb7d2ko8377w Κατηγορίαν:Μαθηματικά 14 759 5058 2009-04-10T06:50:35Z Omnipaedista 35 Καινούρεον σελίδαν με '[[Category:Επιστήμην|*]]' 5058 wikitext text/x-wiki [[Category:Επιστήμην|*]] 1w1zsndiuq2ims3xg24rb7d2ko8377w Κατηγορίαν:Χορός 14 760 31602 28617 2013-04-13T08:18:51Z KLBot2 3570 Bot: Migrating 109 interwiki links, now provided by [[Wikidata]] on [[:d:Q7216239]] 31602 wikitext text/x-wiki {{Commonscat|Dance}} [[Category:Πολιτισμόν|*]] rmk3njz3m787zh3lim5c9ui3hpjbgxy Φινλανδία 0 763 36025 35493 2024-10-26T05:34:11Z Minorax 7522 36025 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Φινλανδία'''</big></big><br/>''Suomen tasavalta'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Finland.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat_of_arms_of Finland.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Finland.svg|300px]] |} [[File:Koli National Park in Northern Karelia.jpg|thumb|]]Η '''Φινλανδία''' εν κράτος ντο ευρίεται σα βόρεια τη [[Ευρώπην|Ευρώπης]]. Η κεφαλούπολη εν η Χελσίνκι. 5twv6cr0ng1eryj3jwn4rwxnnpkq20u Λουξεμβούργον 0 765 18354 6612 2011-01-28T15:35:51Z Vargenau 582 #REDIRECT [[Λουξεμβούργο]] 18354 wikitext text/x-wiki #REDIRECT [[Λουξεμβούργο]] ltjjge8b60jogkaikq1kc634nz79t14 Βόλος 0 779 36861 31194 2025-12-16T10:01:44Z Εὐθυμένης 2777 36861 wikitext text/x-wiki Ο '''Βόλος''' εν πόλην τρανή (τρανότερη της [[Μαγνησία|Μαγνησίας]] ούλης) παρά την θάλασσαν ασο κέντρον της [[Ελλάδα]]ς 326 χλμ. ασον Βορράν της [[Αθήνα|Αθήνας]]. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{el}} {{επίσημος ιστότοπος}} {{authority control}} {{DEFAULTSORT:Βολος}} [[Κατηγορίαν:Πολιτείας τ' Ελλάδας]] owp6tc8c90158tq5e6nwkn5lvwwivcj MediaWiki:Sandbox 8 786 5518 2009-05-18T09:04:54Z ZaDiak 10 Καινούρεον σελίδαν με 'Αργαστέρ' 5518 wikitext text/x-wiki Αργαστέρ fuh0jwsj956wh5m62s8tcf8r6u2v1u7 MediaWiki:Sandbox-url 8 787 5519 2009-05-18T09:05:33Z ZaDiak 10 Καινούρεον σελίδαν με 'Βικιπαίδεια:Αργαστέρ' 5519 wikitext text/x-wiki Βικιπαίδεια:Αργαστέρ repjz8kmxs41j9o8c2zpnptqrcxsa0s Υδρογόνον 0 789 34825 31195 2021-07-16T04:52:20Z Shihab1729 8656 +video #WPWP #WPWPBN 34825 wikitext text/x-wiki [[Αρχείον:Hydrogen.svg|150px|right]] [[Αρχείον:Emissions Spectra.webm|μικρογραφία|246x246εσ|Hydrogen Spectrum Test]] Η λέξην υδρογόνον (hydrogen) προέρχεται ασα λέξεις «ὕδωρ» + «γείνομαι», δηλαδή σημαίν' την βασικήν χημικήν ιδιότητανατου να καίγεται αφού έχει ποίσναι νερόν (ὕδωρ). Το χημικόν στοιχείον Υδρογόνον (Η) (γιά διυδρογόνον) ση διατομικήν στοιχειακήν μορφήνατου) έν´ άχρωμον, άοσμον, άγευστον, εύφλεκτον αμέταλλον διατομικόν αέριον, με ατομικόν αριθμόν 1, ατομικήν μάζαν 1,00794(7) amu, χημικόν τύπον H<sub>2</sub>, μοριακήν μάζαν 2,01588(14) amu. Έν´ τ'ελαφρύτερον χημικόν στοιχείον. {{Commons|Hydrogen}} [[Κατηγορίαν:Χημείαν|!]] mo5sg0vk67bwwc9zsrvu8ss5rx0eiv6 Λιθουανία 0 791 35937 33575 2024-10-26T05:26:40Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35937 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Λιθουανία'''</big></big><br/>''Lietuvos Respublika'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Lithuania.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Lithuania.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Lithuania.svg|300px]] |} Η '''Λιθουανία''' εν [[κράτος]] σο βορειάν τ' [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν τ' [[Βίλνιους]] κι πρόεδρος ατ'ς εν η [[Ντάλια Γκριμπαουσκάιτε]]. Η χώρα έχ' πληθυσμόν σα 2.810.865 τ' ανθρώπ'ς (2017). == Γεωγραφίαν == Η Λιθουανίαν ευρισκάται ση Βαλτικήν τη θάλασσαν αφκά, εχ' την [[Πολωνία]], τη [[Λευκορουσία]], τη [[Λεττονία]] και τη [[Ρουσία]] απές. Έχ' τρανά πολιτείας τ' [[Κάουνας]], και τη [[Κλαϊπέντα]]. == Συνδέζμαι == * [http://www.lietuve.lt/ Το επίσημον ο ιστοτόπον τη κυβέρνησης τη Λιθουανίας] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Λιθουανία]] [[Κατηγορίαν:Ευρώπη|Λιθουανία]] luxy5eojygeqwqtepbv7y7127upy5fg Κατηγορίαν:Χημείαν 14 792 5622 2009-05-22T23:05:03Z Omnipaedista 35 Καινούρεον σελίδαν με '[[Category:Επιστήμην|*]]' 5622 wikitext text/x-wiki [[Category:Επιστήμην|*]] 1w1zsndiuq2ims3xg24rb7d2ko8377w Υδρογόνο 0 793 5624 2009-05-22T23:05:35Z Omnipaedista 35 [[Υδρογόνο]] ετερχλαεύτεν σο [[Υδρογόνον]] 5624 wikitext text/x-wiki #REDIRECT [[Υδρογόνον]] 9xn8pvobwwivav5alz9ucg4d7ss8de7 MediaWiki:Deletereason-dropdown 8 795 5634 5633 2009-05-23T12:36:46Z ZaDiak 10 5634 wikitext text/x-wiki *Σύνηθες λόγοι ** Αίτησην συγγραφέου ** Παράβαση δικαιωμάτων πνευματί ** Βανδαλισμόν ** Άχρηστην σελίδαν o2pxfr0qqw4yqpb2vez2t21ikjbvhs7 MediaWiki:Common.css 8 801 5672 2009-05-23T23:06:53Z ZaDiak 10 Καινούρεον σελίδαν με '/* CSS placed here will be applied to all skins */ // <pre> /* στρογγυλές καρτέλες */ .pBody { padding:0.3em 0.3em; -moz-border-r…' 5672 css text/css /* CSS placed here will be applied to all skins */ // <pre> /* στρογγυλές καρτέλες */ .pBody { padding:0.3em 0.3em; -moz-border-radius-topright:0.5em; } .portlet h5 { text-transform:none; font-variant:normal; background-color:#e0e3e6; border:thin solid silver; -moz-border-radius-topright:0.5em; } #p-cactions ul li, #p-cactions ul li a { -moz-border-radius-topright:0.5em; -moz-border-radius-topleft:0.5em; } /* wikitable/prettytable class for skinning normal tables */ table.wikitable, table.prettytable { margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; } .wikitable th, .wikitable td, .prettytable th, .prettytable td { border: 1px #aaa solid; padding: 0.2em; } .wikitable th, .prettytable th { background: #f2f2f2; text-align: center; } .wikitable caption, .prettytable caption { margin-left: inherit; margin-right: inherit; font-weight: bold; } /* On [[Special:RecentChanges]] and [[Special:Watchlist]] make the new pages symbol bold green and the minor edit symbol gray. */ .newpage { color: green; font-weight: bold } .minoredit, .minor { color: gray; } /* Alternating background colours on Watchlist and RecentChanges */ li.odd { background-color: #FFF8E7 } .mw-plusminus-neg { color:darkred; } .mw-plusminus-pos { color:darkgreen; } /* NavFrame */ div.Boxmerge, div.NavFrame { margin: 0; padding: 4px; border: 1px solid #aaa; text-align: center; border-collapse: collapse; font-size: 95%; } div.Boxmerge div.NavFrame { border-style: none; border-style: hidden; } div.NavFrame + div.NavFrame { border-top-style: none; border-top-style: hidden; } div.NavPic { background-color: #fff; margin: 0; padding: 2px; float: left; } div.NavFrame div.NavHead { height: 1.6em; font-weight: bold; background-color: #ccf; position:relative; } div.NavFrame p { font-size: 100%; } div.NavFrame div.NavContent { font-size: 100%; } div.NavFrame div.NavContent p { font-size: 100%; } div.NavEnd { margin: 0; padding: 0; line-height: 1px; clear: both; } a.NavToggle { position: absolute; top: 0; right: 3px; font-weight: normal; font-size: 90%; } // </pre> /* ===== Namespace background colors ===== */ /* MediaWiki: */ .ns-8 * #content, .ns-8 * #p-cactions li, .ns-8 * #p-cactions li a { background: #EEEEFF; } /* Βοήθεια: */ .ns-12 * #content, .ns-12 * #p-cactions li, .ns-12 * #p-cactions li a { background: #FFE; } /* ===== Redirects italic and green in Special:Allpages and Special:Prefixindex ===== */ .allpagesredirect { font-style: italic; color: green; } .allpagesredirect a { font-style: italic; color: green; } .allpagesredirect a:visited { color: #008000; } rdenajypfreq5xr2z95g8zlw83obq5x MediaWiki:Common.js 8 802 32500 5673 2015-08-09T02:03:45Z Jack Phoenix 4941 cleanup; replaced document.write() with something that works, [[mw:Manual:Coding conventions|stylized]] the code, removed custom hasClass() function in favor of jQuery's hasClass(); removed loading of a nonexistent page 32500 javascript text/javascript /* Οποιοσδήποτε κώδικας JavaScript εδώ θα φορτωθεί για όλους τους χρήστες σε κάθε φόρτωση σελίδας. */ // Παρέχει έναν εύκολο τρόπο εισαγωγής σεναρίων στο wiki function import_script( name ) { name = encodeURIComponent( name ); mw.loader.load( mw.config.get( 'wgServer' ) + mw.config.get( 'wgScriptPath' ) + '/index.php?title=' + name + '&action=raw&ctype=text/javascript' ); } /* Κώδικας ειδικά για Internet Explorer */ if ( navigator.appName == 'Microsoft Internet Explorer' ) { /** Internet Explorer bug fix ************************************************** * * Description: Fixes IE horizontal scrollbar bug * Maintainers: [[User:Tom-]]? */ var oldWidth; var docEl = document.documentElement; function fixIEScroll() { if ( !oldWidth || docEl.clientWidth > oldWidth ) { doFixIEScroll(); } else { setTimeout( doFixIEScroll, 1 ); } oldWidth = docEl.clientWidth; } function doFixIEScroll() { docEl.style.overflowX = ( docEl.scrollWidth - docEl.clientWidth < 4 ) ? 'hidden' : ''; } document.attachEvent( 'onreadystatechange', fixIEScroll ); document.attachEvent( 'onresize', fixIEScroll ); /** * Remove need for CSS hacks regarding MSIE and IPA. */ if ( document.createStyleSheet ) { document.createStyleSheet().addRule( '.IPA', 'font-family: "Doulos SIL", "Charis SIL", Gentium, "DejaVu Sans", Code2000, "TITUS Cyberbit Basic", "Arial Unicode MS", "Lucida Sans Unicode", "Chrysanthi Unicode";' ); } } /** Collapsible tables ********************************************************* * * Description: Allows tables to be collapsed, showing only the header. See * [[Wikipedia:NavFrame]]. * Maintainers: [[User:R. Koot]] */ var autoCollapse = 2; var collapseCaption = 'απόκρυψη'; var expandCaption = 'εμφάνιση'; function collapseTable( tableIndex ) { var Button = document.getElementById( 'collapseButton' + tableIndex ); var Table = document.getElementById( 'collapsibleTable' + tableIndex ); if ( !Table || !Button ) { return false; } var Rows = Table.rows; if ( Button.firstChild.data == collapseCaption ) { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = 'none'; } Button.firstChild.data = expandCaption; } else { for ( var i = 1; i < Rows.length; i++ ) { Rows[i].style.display = Rows[0].style.display; } Button.firstChild.data = collapseCaption; } } function createCollapseButtons() { var tableIndex = 0; var NavigationBoxes = {}; var Tables = document.getElementsByTagName( 'table' ); for ( var i = 0; i < Tables.length; i++ ) { if ( $( Tables[i] ).hasClass( 'collapsible' ) ) { /* only add button and increment count if there is a header row to work with */ var HeaderRow = Tables[i].getElementsByTagName( 'tr' )[0]; if ( !HeaderRow ) { continue; } var Header = HeaderRow.getElementsByTagName( 'th' )[0]; if ( !Header ) { continue; } NavigationBoxes[tableIndex] = Tables[i]; Tables[i].setAttribute( 'id', 'collapsibleTable' + tableIndex ); var Button = document.createElement( 'span' ); var ButtonLink = document.createElement( 'a' ); var ButtonText = document.createTextNode( collapseCaption ); Button.style.styleFloat = 'right'; Button.style.cssFloat = 'right'; Button.style.fontWeight = 'normal'; Button.style.textAlign = 'right'; Button.style.width = '6em'; ButtonLink.style.color = Header.style.color; ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex ); ButtonLink.setAttribute( 'href', 'javascript:collapseTable(' + tableIndex + ');' ); ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( '[' ) ); Button.appendChild( ButtonLink ); Button.appendChild( document.createTextNode( ']' ) ); Header.insertBefore( Button, Header.childNodes[0] ); tableIndex++; } } for ( var i = 0; i < tableIndex; i++ ) { if ( $( NavigationBoxes[i] ).hasClass( 'collapsed' ) || ( tableIndex >= autoCollapse && $( NavigationBoxes[i] ).hasClass( 'autocollapse' ) ) ) { collapseTable( i ); } } } $( createCollapseButtons ); // ============================================================ // BEGIN Dynamic Navigation Bars (experimantal) // set up the words in your language var NavigationBarHide = '[ απόκρυψη ]'; var NavigationBarShow = '[ εμφάνιση ]'; var NavigationBarShowDefault = 2; // shows and hides content and picture (if available) of navigation bars // Parameters: // indexNavigationBar: the index of navigation bar to be toggled function toggleNavigationBar( indexNavigationBar ) { var NavToggle = document.getElementById( 'NavToggle' + indexNavigationBar ); var NavFrame = document.getElementById( 'NavFrame' + indexNavigationBar ); if ( !NavFrame || !NavToggle ) { return false; } // if shown now if ( NavToggle.firstChild.data == NavigationBarHide ) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if ( $( NavChild ).hasClass( 'NavPic' ) ) { NavChild.style.display = 'none'; } if ( $( NavChild ).hasClass( 'NavContent') ) { NavChild.style.display = 'none'; } } NavToggle.firstChild.data = NavigationBarShow; // if hidden now } else if ( NavToggle.firstChild.data == NavigationBarShow ) { for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if ( $( NavChild ).hasClass( 'NavPic' ) ) { NavChild.style.display = 'block'; } if ( $( NavChild ).hasClass( 'NavContent' ) ) { NavChild.style.display = 'block'; } } NavToggle.firstChild.data = NavigationBarHide; } } // adds show/hide-button to navigation bars function createNavigationBarToggleButton() { var indexNavigationBar = 0; // iterate over all < div >-elements var divs = document.getElementsByTagName( 'div' ); for ( var i = 0; NavFrame = divs[i]; i++ ) { // if found a navigation bar if ( $( NavFrame ).hasClass( 'NavFrame' ) ) { indexNavigationBar++; var NavToggle = document.createElement( 'a' ); NavToggle.className = 'NavToggle'; NavToggle.setAttribute( 'id', 'NavToggle' + indexNavigationBar ); NavToggle.setAttribute( 'href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');' ); var NavToggleText = document.createTextNode( NavigationBarHide ); for ( var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling ) { if ( $( NavChild ).hasClass( 'NavPic' ) || $( NavChild ).hasClass( 'NavContent' ) ) { if ( NavChild.style.display == 'none' ) { NavToggleText = document.createTextNode( NavigationBarShow ); break; } } } NavToggle.appendChild( NavToggleText ); // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked) for ( var j = 0; j < NavFrame.childNodes.length; j++ ) { if ( $( NavFrame.childNodes[j] ).hasClass( 'NavHead' ) ) { NavFrame.childNodes[j].appendChild( NavToggle ); } } NavFrame.setAttribute( 'id', 'NavFrame' + indexNavigationBar ); } } // if more Navigation Bars found than Default: hide all if ( NavigationBarShowDefault < indexNavigationBar ) { for ( var i = 1; i <= indexNavigationBar; i++ ) { toggleNavigationBar( i ); } } } $( createNavigationBarToggleButton ); // END Dynamic Navigation Bars // ============================================================ 13490z2zo0tntoiyof11uyrif5avrdj Ήλιον 0 803 31197 30622 2013-03-07T20:07:43Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 136 interwiki links, now provided by [[d:|Wikidata]] on [[d:q560]] [[M:User:Addbot/WDS|(translate me)]] 31197 wikitext text/x-wiki [[Αρχείον:Helium atom QM rev1.svg|right|150px]] Το χημικόν στοιχείον ήλιον εν τ'αρχικόν στοιχείον τη ομάδας τη ευγενίων αερίων, εςς σύμβολον το He κι ατομικόν αριθμόν 2. Εν´ αέριον, άχρωμον, άοσμον κι άγευστον κι εςς το χαμηλότερον σημείον βρασμού τη χημικών στοιχείων. {{Commons|Helium}} [[Κατηγορίαν:Χημείαν]] 5q6bskf50x0bkmlkurasgve2p9sedvv Περιοδικόν Πινάκιν 0 804 35999 34619 2024-10-26T05:31:08Z Minorax 7522 35999 wikitext text/x-wiki <div class="center"><div class="NavHead" style="background-color:#bbccee;">Περιοδικόν Πινάκιν</div></div> <div class="NavContent " style="font-size:90%; padding:2px;background-color:#f9f9f9;"> {| style="width:100%;text-align:center;" align="center" |- ! colspan="32" | |- | width="3.125%" style="background-color:LimeGreen"|[[Υδρογόνον|H]] | width="3.125%" colspan="30" |&nbsp; | width="3.125%" style="background-color:LightskyBlue"|[[Ήλιον|He]] |- |style="background-color:OrangeRed"|[[Λίθιον|Li]] |style="background-color:DarkOrange"|[[Βηρύλλιον|Be]] | colspan="24" |&nbsp; |style="background-color:Peru"|[[Βόριον|B]] |style="background-color:LimeGreen"|[[Άνθρακας|C]] |style="background-color:LimeGreen"|[[Άζωτον|N]] |style="background-color:LimeGreen"|[[Οξυγόνον|O]] |style="background-color:Khaki"|[[Φθόριον|F]] |style="background-color:LightskyBlue"|[[Νέον|Ne]] |- |style="background-color:OrangeRed" |[[Νάτριον|Na]] |style="background-color:DarkOrange"|[[Μαγνήσιον|Mg]] | colspan="24" |&nbsp; |style="background-color:DarkGray" |[[Αργίλιον|Al]] |style="background-color:Peru" |[[Πυρίτιον|Si]] |style="background-color:LimeGreen" |[[Φώσφορον|P]] |style="background-color:LimeGreen" |[[Θείον|S]] |style="background-color:Khaki" |[[Χλώριον|Cl]] |style="background-color:LightskyBlue"|[[Αργόν|Ar]] |- | style="background-color:OrangeRed"|[[Κάλιον|K]] |style="background-color:DarkOrange"|[[Ασβέστιον|Ca]] |colspan="14" |&nbsp; |style="background-color:LightCoral"|[[Σκάνδιον|Sc]] |style="background-color:LightCoral"|[[Τιτάνιον|Ti]] |style="background-color:LightCoral"|[[Βανάδιον|V]] |style="background-color:LightCoral"|[[Χρώμιον|Cr]] |style="background-color:LightCoral"|[[Μαγγάνιον|Mn]] |style="background-color:LightCoral"|[[Σίδηρον|Fe]] |style="background-color:LightCoral"|[[Κοβάλτιον|Co]] |style="background-color:LightCoral"|[[Νικέλιον|Ni]] |style="background-color:LightCoral"|[[Χαλκός|Cu]] |style="background-color:LightCoral"|[[Ψευδάργυρον|Zn]] |style="background-color:DarkGray"|[[Γάλλιον|Ga]] |style="background-color:Peru"|[[Γερμάνιον|Ge]] |style="background-color:Peru"|[[Αρσενικόν|As]] |style="background-color:LimeGreen"|[[Σελήνιον|Se]] |style="background-color:Khaki"|[[Βρώμιον|Br]] |style="background-color:LightskyBlue"|[[Κρυπτόν|Kr]] |- | style="background-color:OrangeRed"|[[Ρουβίδιον|Rb]] |style="background-color:DarkOrange"|[[Στρόντιον|Sr]] |colspan="14" |&nbsp; |style="background-color:LightCoral"|[[Ύτριον|Y]] |style="background-color:LightCoral"|[[Ζιρκόνιον|Zr]] |style="background-color:LightCoral"|[[Νιόβιον|Nb]] |style="background-color:LightCoral"|[[Μολυβδένιον|Mo]] |style="background-color:LightCoral"|[[Τεχνήτιον|Tc]] |style="background-color:LightCoral"|[[Ρουθήνιον|Ru]] |style="background-color:LightCoral"|[[Ρόδιον|Rh]] |style="background-color:LightCoral"|[[Παλλάδιον|Pd]] |style="background-color:LightCoral"|[[Άργυρον|Ag]] |style="background-color:LightCoral"|[[Κάδμιον|Cd]] |style="background-color:DarkGray"|[[Ίνδιον|In]] |style="background-color:DarkGray"|[[Κασσίτερον|Sn]] |style="background-color:Peru"|[[Αντιμόνιον|Sb]] |style="background-color:Peru"|[[Τελλούριον|Te]] |style="background-color:Khaki"|[[Ιώδιον|I]] |style="background-color:LightskyBlue"|[[Ξένον|Xe]] |- | width="3.125%" style="background-color:OrangeRed"|[[Καίσιον|Cs]] | width="3.125%" style="background-color:DarkOrange"|[[Βάριον|Ba]] | width="3.125%" style="background-color:Plum"|[[Λανθάνιον|La]] | width="3.125%" style="background-color:Plum"|[[Δημήτριον|Ce]] | width="3.125%" style="background-color:Plum"|[[Πρασεοδύμιον|Pr]] | width="3.125%" style="background-color:Plum"|[[Νεοδύμιον|Nd]] | width="3.125%" style="background-color:Plum"|[[Προμήθειον|Pm]] | width="3.125%" style="background-color:Plum"|[[Σαμάριον|Sm]] | width="3.125%" style="background-color:Plum"|[[Ευρώπιον|Eu]] | width="3.125%" style="background-color:Plum"|[[Γαδολίνιον|Gd]] | width="3.125%" style="background-color:Plum"|[[Τέρβιον|Tb]] | width="3.125%" style="background-color:Plum"|[[Δυσπρόσιον|Dy]] | width="3.125%" style="background-color:Plum"|[[Όλμιον|Ho]] | width="3.125%" style="background-color:Plum"|[[Έρβιον|Er]] | width="3.125%" style="background-color:Plum"|[[Θούλιον|Tm]] | width="3.125%" style="background-color:Plum"|[[Υττέρβιον|Yb]] | width="3.125%" style="background-color:LightCoral"|[[Λουτήτιον|Lu]] | width="3.125%" style="background-color:LightCoral"|[[Άφνιον|Hf]] | width="3.125%" style="background-color:LightCoral"|[[Ταντάλιον|Ta]] | width="3.125%" style="background-color:LightCoral"|[[Βολφράμιον|W]] | width="3.125%" style="background-color:LightCoral"|[[Ρήνιον|Re]] | width="3.125%" style="background-color:LightCoral"|[[Όσμιον|Os]] | width="3.125%" style="background-color:LightCoral"|[[Ιρίδιον|Ir]] | width="3.125%" style="background-color:LightCoral"|[[Λευκόχρυσον|Pt]] | width="3.125%" style="background-color:LightCoral"|[[Χρυσός|Au]] | width="3.125%" style="background-color:LightCoral"|[[Υδράργυρον|Hg]] | width="3.125%" style="background-color:DarkGray"|[[Θάλλιον|Tl]] | width="3.125%" style="background-color:DarkGray"|[[Μόλυβδον|Pb]] | width="3.125%" style="background-color:DarkGray"|[[Βισμούθιον|Bi]] | width="3.125%" style="background-color:Peru"|[[Πολώνιον|Po]] | width="3.125%" style="background-color:Khaki"|[[Άστατο|At]] | width="3.125%" style="background-color:LightskyBlue"|[[Ραδόνιον|Rn]] |- |style="background-color:OrangeRed"|[[Φράγκιον|Fr]] |style="background-color:DarkOrange"|[[Ράδιον|Ra]] |style="background-color:Orchid"|[[Ακτίνιον|Ac]] |style="background-color:Orchid"|[[Θόριον|Th]] |style="background-color:Orchid"|[[Πρωτακτίνιον|Pa]] |style="background-color:Orchid"|[[Ουράνιον|U]] |style="background-color:Orchid"|[[Ποσειδώνιον|Np]] |style="background-color:Orchid"|[[Πλουτώνιον|Pu]] |style="background-color:Orchid"|[[Αμερίκιον|Am]] |style="background-color:Orchid"|[[Κιούριον|Cm]] |style="background-color:Orchid"|[[Μπερκέλιον|Bk]] |style="background-color:Orchid"|[[Καλιφόρνιον|Cf]] |style="background-color:Orchid"|[[Αϊνσταΐνιον|Es]] |style="background-color:Orchid"|[[Φέρμιον|Fm]] |style="background-color:Orchid"|[[Μεντελέβιον|Md]] |style="background-color:Orchid"|[[Νομπέλιον|No]] |style="background-color:LightCoral"|[[Λωρένσιον|Lr]] |style="background-color:LightCoral"|[[Ραδερφόρντιον|Rf]] |style="background-color:LightCoral"|[[Ντούμπνιον|Db]] |style="background-color:LightCoral"|[[Σιμπόργκιον|Sg]] |style="background-color:LightCoral"|[[Μπόριον|Bh]] |style="background-color:LightCoral"|[[Χάσιον|Hs]] |style="background-color:LightCoral"|[[Μαϊτνέριον|Mt]] |style="background-color:LightCoral"|[[Νταρμστάντιον|Ds]] |style="background-color:LightCoral"|[[Ρεντγκένιον|Rg]] |style="background-color:LightCoral"|[[Ununbium|Uub]] |style="background-color:DarkGray"|[[Ununtrium|Uut]] |style="background-color:DarkGray"|[[Φλερόβιον|Fl]] |style="background-color:DarkGray"|[[Ununpentium|Uup]] |style="background-color:DarkGray"|[[Λιβερμόριον|Lv]] |[[Ununseptium|Uus]] |style="background-color:LightskyBlue"|[[Ununoctium|Uuo]] |- | colspan="32" | {| border="1" align="center" style="border:1px solid #ffffff; border-collapse:collapse; width:100%" rules="all" cellpadding="1" | style="background-color:OrangeRed" width="10%" |[[Αλκάλεα]] | style="background-color:DarkOrange" width="10%" |[[Αλκαλικάς γαίας]] | style="background-color:Plum" width="10%" |[[Σπάνιας γαίας|Λανθανίδες]] | style="background-color:Orchid" width="10%" |[[Ακτινίδες]] | style="background-color:LightCoral" width="10%" |[[Στοιχεία μετάπτωσης|Στοιχεία&nbsp;μετάπτωσης]] | style="background-color:DarkGray" width="10%" |Άλλα [[μέταλλα]] | style="background-color:Peru" width="10%" |[[Μεταλλοειδή]] | style="background-color:LimeGreen" width="10%" |Άλλα [[αμέταλλα]] | style="background-color:Khaki" width="10%" |[[Αλογόνα]] | style="background-color:LightskyBlue" width="10%" |[[Ευγενισμένα αέρια]] |} |}</div> [[Κατηγορίαν:Χημείαν]] 77galgfs0ruskj8baf91pekuzwv29b4 Αίγυπτος 0 806 35906 34088 2024-10-26T05:24:33Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35906 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Αίγυπτος'''</big></big><br/>''جمهوريّة مصر العربيّة'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Egypt.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat_of_arms_of Egypt.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EGY orthographic.svg|300px]] |} [[Αρχείον:Egypt in its region (undisputed).svg|thumb|]] Η '''Αίγυπτος''' (''λένατον πα κι'' Αίγυπτον), σ'αραβικά مصر - Miṣr, εν [[Αφρικήν|αφρικανικόν]] [[κράτος]] ση νότιαν τη [[Μεσόγειον Θάλασσα|Μεσόγειον την θάλασσαν]]. Πρωτεύουσαν ατ'ς εν το [[Κάιρον]] κ' τρανότερην πόλην εν η [[Αλεξάνδρεια|Αλεξάνδρειαν]]. Ο πρόεδεος ατ'ς εν ο [[Χόσνι Μπουμπάρακ|Χόσνι Μουμπάρακ]] και ο πληθυσμόν ατ'ς έν σα 75.500.662 τ' ανθρώπ'ς. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Egypt|Η Αίγυπτος σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:|Η Αίγυπτος σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Egypt|Χάρτες ασήν Αίγυπτον]]''' [[Κατηγορίαν:Αφρική|Αίγυπτος ]] [[Κατηγορίαν:Κράτη|Αίγυπτος]] [[Κατηγορίαν:Αίγυπτος| ]] kz9n9qsdv2b62oe4tnsnbs7339sr7r5 Πρότυπον:Fn 10 807 10030 5702 2009-12-06T20:51:09Z Stravon 942 10030 wikitext text/x-wiki <sup id="fn_{{{1}}}_back">[[#fn_{{{1}}}|{{{1}}}]]</sup><noinclude>[[Κατηγορίαν:Πρότυπα Βιβλιογραφίας|{{PAGENAME}}]]</noinclude> 4s0h1ln6uhy5avtjq77c4yf76ynlrty Πρότυπον:Fnb 10 808 10031 5703 2009-12-06T20:51:58Z Stravon 942 10031 wikitext text/x-wiki <cite id="fn_{{{1}}}">[[#fn_{{{1}}}_back| {{{1}}}]]: </cite><noinclude>[[Κατηγορίαν:Πρότυπα Βιβλιογραφίας|{{PAGENAME}}]]</noinclude> 9dldzerqdxaiyehdgideqedi4tb0mop Πρότυπον:Cite web 10 809 36699 31752 2025-12-15T22:33:41Z Εὐθυμένης 2777 Αντικατάσταση σελίδας με «<includeonly>{{#invoke:citation/CS1|citation |CitationClass=web }}</includeonly><noinclude> {{τεκμηρίωση προτύπου}} </noinclude>» 36699 wikitext text/x-wiki <includeonly>{{#invoke:citation/CS1|citation |CitationClass=web }}</includeonly><noinclude> {{τεκμηρίωση προτύπου}} </noinclude> 60np4zc9errlz93rcg2o34r6hhvzslz Νάτριον 0 812 31200 30115 2013-03-07T20:08:17Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 125 interwiki links, now provided by [[d:|Wikidata]] on [[d:q658]] [[M:User:Addbot/WDS|(translate me)]] 31200 wikitext text/x-wiki [[Αρχείον:Electron shell 011 Sodium.svg|right|250px|]] Το χημικόν στοιχείον '''Νάτριον''' [σύμβολον '''Na''' (λατινικά: ''Natrium'')] εν μαλακόν δραστικόν [[μέταλλα|μέταλλον]] αση ομάδαν τη [[αλκάλεα|αλκαλίων]] σο [[Περιοδικόν Πινάκιν|Περιοδικόν πινάκιν]] με ατομικόν αριθμόν 11 κι ατομικόν βάρος 22,98977 . Εςς θερμοκρασίαν τήξης 97,8 C° και θερμοκρασίαν βρασμού 882,9 C°. Το νάτριον εν διαδογμένον ση φύσην με τη μορφήν χημικών ενωσίων, όπως το [[Άλας|χλωριούχον νάτριον]] (αλάς), ντο ευρίεται σε μεγάλας ποσότητας σο θαλασσινόν νερόν, το νιτρικόν νάτριον γιά ''νίτρον τη Χιλής'', ντο εν κρυσταλλικόν κι ευρίετεν μέσα σο έδαφος. Ση φύσην ευρίετεν μανάχον σε ενώσια κι εν ενεργόν χημικά. Εςς ατομικόν αριθμόν 11 κι ατομικόν βάρος 23 κι ειδικόν βάρος 0,968. Εν μαλακόν, στερεόν, ελατόν, ασημόλευκον αλκαλικόν μεταλλικόν χημικόν στοιχείον. Οξειδώνετ' όμως γοργά σον αέραν. Για τ'ατό φυλάετ' μέσα σε παραφινέλαιον γιά πετρέλαιον. [[Κατηγορίαν:Χημείαν]] awx2lot0jsz80sax9kv91cjwlgsv82e Πρότυπον:Εύλογην χρήσην 10 814 9958 5780 2009-12-04T14:45:43Z Qoan 1170 Κατηγοριοποιώ 9958 wikitext text/x-wiki <div><br clear="all";> {| align="center" cellpadding="5" class="boilerplate" id="pd" style="width:80%; background-color:#f7f8ff; border:2px solid #8888aa; padding:5px;" | [[Εικόναν:Orange copyright.svg|80px|Πνευματικά δικαιώματα]] | '''''Αυτό το αρχείο υπόκειται σε πνευματικά δικαιώματα'''. Ο χρήστης που το επιφόρτωσε και πρώτος το χρησιμοποίησε σε μία σελίδα, όπως και τα υπόλοιπα άτομα που το εισήγαγαν σε σελίδες βεβαιώνουν ότι έχει τα προσόντα ώστε να θεωρείται υλικό που καλύπτεται από την πρόβλεψη «'''εύλογης χρήσης'''» (fair use) του νόμου των [[w:Ηνωμένες Πολιτείες|Η.Π.Α.]] όπου βρίσκονται οι [[w:Εξυπηρετητής|διακομιστές]] της [[Βικιπαίδεια|Βικιπαίδειας]], καθώς και από το '''άρθρο 19 του [[s:Νόμος 2121/93|N. 2121/93]]''' για την συγκεκριμένη χρήση που έχει στις σελίδες αυτές. Χρήση διαφορετική από αυτή που μπορεί να θεωρηθεί «εύλογη», αντίθετη προς τα χρηστά ήθη και δεν δικαιολογείται από τον επιδιωκόμενο σκοπό, πιθανότατα είναι παραβίαση πνευματικής ιδιοκτησίας. ---- <small>Προς τον χρήστη που ανέβασε το αρχείο: Παρακαλούμε γράψτε στην περιγραφή τους λόγους για τους οποίους επικαλείστε «εύλογη χρήση» και για ποια σελίδα. Είναι επίσης απαραίτητο να αναφέρεται ο δημιουργός του αρχείου ή η πηγή του. Άλλοι χρήστες μπορούν να ελέγξουν αν δικαιολογείται η χρήση του αρχείου σε συγκεκριμένη σελίδα και, αν δεν συμβαίνει κάτι τέτοιο, να το προτείνουν για διαγραφή. Δείτε τα [[Βικιεπιστήμιο:κριτήρια εύλογης χρήσης|κριτήρια εύλογης χρήσης]]. Aπλή εικονογράφηση σελίδας και πορτρέτο προσώπου σε σελίδα για το εικονιζόμενο πρόσωπο δεν αποτελούν "εύλογη χρήση".</small> |}<br clear="all";/></div> <noinclude> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας]] </noinclude> guc7944lrfuw26cq1tlge1yasc4xt64 MediaWiki:Recentchangestext 8 815 7203 6442 2009-07-13T11:56:06Z ZaDiak 10 7203 wikitext text/x-wiki '''Επικοινωνίαν:''' [irc://irc.freenode.net/wikipedia-pnt Παρακάθ σο IRC] - [[Βικιπαίδεια:Αγορά]] - [[Βικιπαίδεια:Αργαστέρ]] - [[Πρότυπον:Χαπέραι|Χαπέραι]] '''Βοήθειαν:''' [[Βοήθειαν:Περιεχόμενα]] - [[Βικιπαίδεια:Ντο εν η Βικιπαίδεια|Ντο εν η Βικιπαίδεια]] - [[Βικιπαίδεια:Ντο 'κ εν η Βικιπαίδεια|Ντο 'κ εν η Βικιπαίδεια]] - [[Βικιπαίδεια:Νομς και συμβουλάς]] '''Χρήσιμα:''' [[Special:Newpages|Καινούρεα σελίδας]] - [[Special:Allpages|Ούλαι οι σελίδας]] - [[Ειδικόν:Statistics|Στατιστικήν]] - [irc://irc.wikimedia.org/#pnt.wikipedia Επιτήρησην σο IRC] - [[Βικιπαίδεια:Νοματέοι|Νοματέοι]] '''Άλλα έργα:''' [[oldwikisource:Αρχικόν σελίδα|Βικιθήκην]] - [[commons:Special:Recentchanges|Commons]] - [[meta:Special:Recentchanges|ΜεταΒίκι]] - [[wikispecies:Special:Recentchanges|Βικιείδη]] - <span class="plainlinks">[http://translatewiki.net/w/i.php?namespace=&translations=only&users=&trailer=%2Fpnt&title=Special%3ARecentChanges TranslateWiki]</span> - [[incubator:Special:Recentchanges|Incubator]] i2rmbmc7apkf1din5jkrlrtfiqrprmw Κώστας Διαμαντίδης 0 817 35540 34496 2024-01-23T17:57:55Z Διογένες 10538 ''' 35540 wikitext text/x-wiki Ο '''Κώστας Διαμαντίδης''' (1952-) γιά Κοσμέτες (ψευδώνυμον) εν γνωστός λογοτέχνες κι συγγραφέας ποντιακών ἐργων. Εγεννέθεν ση Αγάπην Γρεβενών ασ'σό γονείς πρόσφυγας ασ'σο Πόντον κι απόφοιτον τη Οδοντιατρικού Σχολής τη Α.Π.Θ.. Πρώτη τουν ποιητική συλλογή έτον το “Ονέρ’τα Πόνια Τάματα”, έκδοση Ινστιτούτου Βιβλίων κι Ανάγνωσης Κοζάνης κι Πανελλήνιας Ένωσης Σουρμενιτών, 1998. [[Κατηγορίαν:Ποιητάδες]] [[Κατηγορίαν:Συγγραφέοι]] 0hivvls8jxrkfxpedfb2yak6wucl2oz Κατηγορίαν:Ποιητάδες 14 818 33850 33849 2018-09-19T00:30:25Z 2A02:587:DC03:6400:DD2F:41EA:3D86:EAB8 33850 wikitext text/x-wiki [[Ηλίας Τσιρκινίδης]]{{Commonscat|Poets}} [[Κατηγορίαν:Πολιτισμόν|!]] [[Κατηγορίαν:Ποιητικήν|!]] [[Κατηγορίαν:Λογοτεχνίαν|!]] twfg773je8l7w35yo6nbdvqkzhasnqn Κατηγορίαν:Συγγραφέοι 14 819 31415 31201 2013-03-08T02:00:34Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 10 interwiki links, now provided by [[d:|Wikidata]] on [[d:q5849863]] [[M:User:Addbot/WDS|(translate me)]] 31415 wikitext text/x-wiki {{Commonscat|Writers}} [[Κατηγορίαν:Πολιτισμόν|!]] [[Κατηγορίαν:Λογοτεχνίαν|!]] dcq9o1q9cpu0yqeftyxvru9z3f99sai Κατηγορίαν:Λογοτεχνίαν 14 820 31202 30466 2013-03-07T20:08:39Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 184 interwiki links, now provided by [[d:|Wikidata]] on [[d:q8259]] [[M:User:Addbot/WDS|(translate me)]] 31202 wikitext text/x-wiki {{Commonscat|Literature}} [[Κατηγορίαν:Πολιτισμόν|!]] jccrs2p7fzd0zi1jhfgogn0zo6j3tmk Γιόχαν Βόλφγκανγκ φον Γκöτε 0 821 8732 5812 2009-09-14T18:19:03Z Omnipaedista 35 Redirected page to [[Γιόχαν Βόλφγκανγκ φον Γκαίτε]] 8732 wikitext text/x-wiki #REDIRECT [[Γιόχαν Βόλφγκανγκ φον Γκαίτε]] cgmq1r12ml3ql45pa3tw1j494dp7186 Βικιπαίδεια:Νοματαίοι 4 822 34633 34568 2020-10-24T16:16:49Z 2A02:587:5400:6501:B8EF:538B:B6B9:83E8 /* Προτεσνόν νοματάντς */Ήταν νοματαίας 34633 wikitext text/x-wiki ==Δικαιώματα== Οι νοματαίοι (sysops) τη Βικιπαίδειας επόρουν να φτάνεν: * Σβήσιμον σελιδίων * Ασπάλιγμαν σελιδίων * Ασπάλιγμαν χρηστίων ==Καινούρ νοματάντ== [[Βικιπαίδεια:Αδακά ψηφίζομεν για νοματάντς|Εκέκα]] επορείτε να ψηφίζετεν για καινούρτς νοματάντς. ==Προτεσνόν νοματάντς== *[[Χρήστες:Makedonier|Makedonier]] *[[Χρήστες:Omnipaedista|Omnipaedista]] *[[Χρήστες:Sinopeus|Sinopeus]] *[[Χρήστες:ZaDiak|ZaDiak]] *[[Χρήστες:Stravon|Stravon]] [[Κατηγορίαν:Βικιπαίδεια]] 4z02m6vtnkhj9ds4jjinj50s5aersmv Κατηγορίαν:Θέατρον 14 823 35257 35256 2022-11-07T12:02:08Z Billinghurst 2641 Ανάκληση των επεξεργασιών που έγιναν από τον [[Special:Contributions/Jawabanonline|Jawabanonline]] ([[User talk:Jawabanonline|συζήτηση]]) και επιστροφή στην τελευταία αναθεώρηση που είχε γίνει από τον [[User:Legobot|Legobot]] 31508 wikitext text/x-wiki {{Commonscat|Theatre}} [[Κατηγορίαν:Πολιτισμόν|!]] 01co36s4i1mr0wcdx164lbb8062g7yv Κατηγορίαν:Γλωσσολογίαν 14 824 31203 30670 2013-03-07T20:30:15Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 147 interwiki links, now provided by [[d:|Wikidata]] on [[d:q5613665]] [[M:User:Addbot/WDS|(translate me)]] 31203 wikitext text/x-wiki {{Commonscat|Linguistics}} [[Κατηγορίαν:Επιστήμην]] f56op5o5nqg3vk4kkwiqpxw57r1uds5 Κατηγορίαν:Bot 14 828 5886 2009-05-25T22:37:19Z ZaDiak 10 Καινούρεον σελίδαν με '[[Category:Wp/pnt]]' 5886 wikitext text/x-wiki [[Category:Wp/pnt]] dv2hwaicnu8sn7dbr4s0fqfi568bfuh Βικιπαίδεια:Νέον λεχτικόν 4 830 31676 8577 2013-05-15T23:38:56Z Λεγωνίδαν 3669 /* Λέξεις */ 31676 wikitext text/x-wiki Έχουμες σελίδας για τεχνολογικά κι επιστημονικά θέματα ση Βικιπαίδειαν εμουν. Σε αήκα άρθρα χρειάσκουμες και λέξεις ντο 'κ έχομε σα ρωμαίικα τη Πόντονος τη παλαιών εμουν. ==Λέξεις== *Αραπάν: Αυτοκίνητο *Καρβώνιν: Άνθρακας *Νοματέος: Διαχειριστής *Γιαρίφς: Γραφειοκράτης *Σατάρς: Βλάκας [[Κατηγορίαν:Βικιπαίδεια]] bndmrfqedl68407scqqhydayxh0l8h4 Ίων Δραγούμης 0 834 35538 34882 2024-01-23T17:53:35Z Διογένες 10538 μικρογραφία 35538 wikitext text/x-wiki [[Εικόναν:Ion Dragoumis.jpg|μικρογραφία|250px|Ίων Δραγούμης]] Ο Ίων Δραγούμης έτονε αγωνιστής,πατριώτ'ς και λόγιος κ' ας αλλουνούς τρανόν εκφραστής τη ακραίου ελληνικού σωβινισμού. Διεκρίθη αμόν υπέρμαχον τη Μεγάλη Ιδέας(Τρανέσσα Ιδέα).Υιός τ' Στεφάνου Δραγούμη.Μακεδών,ασό Βογατσικό τη Καστοριάς,εγεννέθε σην Αθήναν σα 14 τη Σεπτέμβρη(Σταυρίτε) 1878 και εσπούδασεν νομικά σο Παρίσιν.Εσκότωσαν ατόν σα 31 τη Ιούλη(Χορτοθέρτ) 1920 απές σην Αθήνα,η αιτία έτονε πολιική,σουμά σ' Αμπελόκηπους,εκεκά όποι έτονε τα στρατώνας τη πεζικού και οπ' 'εστεασν αναμνηστικόν πλάκαν(στήλη). Τρανόν σεβντάν είσεν με την Πηνελόπη Δέλτα-τον σεβντάν ατούν είπαν ατον "πλατωνικόν"-ντο έτονε συγγραφέας μυθιστορημάτων ντο γράφνε για τον Μακεδονικόν Αγώνα.Ασά 1902 έμπεσεν σον διπλωματικόν κλάδον,υπηρέτησεν αμον υποπρόξενον,κατόπιν απαιτήσεώς του,σο Μοναστήρ και απ'εκεί σην Ανατολ. Μακεδονίαν,σο Προξενείον των Σερρών,σην Ανατολικήν Ρωμυλίαν σο Προξενείον τη Πύργου και ση Θράκην,σο Προξενείον τη Φιλιππούπολης, έως σα 1907.Αντάμα με τον γαμπρόν ατ' Παύλον Μελάν,ντο έτονε άγουρος τη αδελφής ατ',έστεσεν τα ορθοδόξους κοινότητας εναντίον τη βουλγαρικών κομιτάτων,έσκωσεν' σο ποδάρ τα Ελληνικά Δυνάμεις και έντονε τρανόν απόστολος τη Μακεδονικού Αγώνος.Ίδια πατριωτικά προσπάθειας εποίκε και σην Πόλιν αυκά,όποι υπηρέτησεν σην Ελληνικήν Πρεσβείαν.(1907-1909).Σα 1909 εβοήθησεν σην προετοιμασίαν τη πατριωτικού κινήματος.Σα 1910 εποίκε μ'αλλουνούς τον "Εκαπιδευτικόν Όμιλον". Σα 1911,αμόν οι Ιταλοί επαίραν τα Δωδεκάνησα,εποίκεν σην Πάτμον πανδωδεκανησιακόν συνέδριον,ντο επρόλαβεν και απεφάσισεν το ένωμαν με την Ελλάδα.(Συνέδριο Πάτμου 1912).Σα 1912,έντονε δεκανέας σο επιτελείον τη αρχηστράτηγου Κωνσταντίνου.Αντάμα με τον Βίκτορα Δούσμανη και τον Ιωάννη Μεταξά έστειλαν ατόν να διαπραγματεύκεται με τον Ταχσίν πασά την παράδοσιν τη Θεσσαλονίκης,όπ' έστεσεν την ελληνικήν σημαίαν.Σα 1914 επήεν πρεσβευτήν σην Αγίαν Πετρούπολη και εδιαχειρίστεν με επιτυχίαν το ζήτημα τ' Αγίου Όρους,φτάοντας μέλημαν να οργανούνται τα ελληνικά κοινοτητας τη Ρουσσίας.Σα 1915 εκλέχθεν βουλευτής Φλωρίνης.Σα 1916 εκδόθε το περιοδιόν ατ' "Πολιτική Επιθεώρησις".Σα 1917 εξόρισεν ατόν η κυβέρνηση τη Βενιζέλ' σην Κορσικήν,ασ' επαλινόστησεν σα 1919. Η επακόλουθη ένταξήν ατ' σο αντίθετον, ασο βενιζελικόν στρατόπεδον, έντονε αιτίαν, αμον εμαθεύτεν η δολοφονική απόπειρα σο Παρίσι εναντίον τη Βενιζέλ', να πιανούται σ' ενέδραν ανδρών τη ασφαλείας του τότε αρχηγού ση Χωροφυλακήν Εμμανουήλ Ι. Ζυμβρακάκη, και να αραέβ' τραγικόν τέλος σο σημείο όπ' έσ' σήμερον στηθεί το αναμνηστικόν πλάκαν. == Δουλείας ατ' == Ασό συγγραφικόν έργον ατ' ξεχωρίζνε το "Μαρτύρων και ηρώων αίμα" (1907) ντο εν εμπνευσμένον ασον Μακεδονικόν Αγώνα και ουσιαστικά αφιερωμένον ση θυσίαν τη γαμπρούν ατ' Παύλου Μελά, ίστε και τα "Σαμοθράκη" (1909) και "Όσοι ζωντανοί" (1912). == Συνδέζμαι == *[https://web.archive.org/web/20100502080520/http://www.e-grammes.gr/2002/07/dragoumis2.htm Γ. Πισσαλίδη, Ίων Δραγούμης] *[http://www.mani.org.gr/istor/mak/delta.htm Εφ. ''ΤΑ ΝΕΑ'', 29-10-1999 - τ' Αλέξανδρου Π. Ζάννα, Πηνελόπη Σ. Δέλτα] *[http://80.76.55.10/Archive/skins/LAGeneric/navigator.asp?AW=1169503894328 Η Καθημερινήν] [[Κατηγορίαν:Ποιητάδες]] 3uq78mi5w3xdjfr4ilb4lkblwqbi9xu Συναλλ΄εότητα δ΄εαφορομορφιζμίων 0 837 6118 2009-06-08T06:05:35Z Omnipaedista 35 [[Συναλλ΄εότητα δ΄εαφορομορφιζμίων]] ετερχλαεύτεν σο [[Συναλλοιότητα διαφορομορφιζμίων]] 6118 wikitext text/x-wiki #REDIRECT [[Συναλλοιότητα διαφορομορφιζμίων]] 9rstms75hc73azhdnqgece9lqkzktp7 Ποντιακόν γλώσσα 0 848 7175 2009-07-12T23:42:09Z ZaDiak 10 [[Ποντιακόν γλώσσα]] ετερχλαεύτεν σο [[Ποντιακόν λαλίαν]] σε σύνδεσμον απάν 7175 wikitext text/x-wiki #REDIRECT [[Ποντιακόν λαλίαν]] hh70627f411imxoabivk216h6jm4bp9 Ελλενικόν γλώσσα 0 850 7179 2009-07-12T23:42:50Z ZaDiak 10 [[Ελλενικόν γλώσσα]] ετερχλαεύτεν σο [[Ελλενικόν λαλίαν]] 7179 wikitext text/x-wiki #REDIRECT [[Ελλενικόν λαλίαν]] a08un6fc02wtw4n5bq5e6arhnc1ncxr Τσάρλι Τσάπλιν 0 851 35590 35589 2024-01-25T09:16:07Z Διογένες 10538 /* Συνδέσμε */Βικιφθέγματα 35590 wikitext text/x-wiki [[Αρχείον:Charlie Chaplin.jpg|right|thumb|Τσάπλιν το 1915|150px]] Ο '''Τσάρλς Σπένσερ Τσάπλιν''' (Charles Spencer Chaplin Jr, [[16 Απρίλτ]] [[1889]] - [[25 Χριστουγενναρί]] [[1977]]), γνωστός σα Τσάρλι έτον άγγλος ηθοποιός. Έγνεν τρανός σα πρώτα δεκαετίας τ' [[Χόλυγουντ]]. Εν ο πρώτος τρανός ηθοποιός όπ' εποίσον το Σαρλό σε ταινίας. Απέθανεν τ' 1977. == Φιλμογραφίαν == * The Kid, 1921 * A Woman of Paris, 1923 * The Gold Rush, 1925 * The Circus, 1929 * City Lights, 1931 * Modern Times, 1936 * The Great Dictator, 1940 * Monsieur Verdoux, 1947 * Limelight, 1952 * A King in New York, 1957 == Συνδέσμε == {{Βικιφθέγματα|el:Τσάρλι Τσάπλιν}} * [[Αρχείον:Commons-logo.svg|link=https://commons.wikimedia.org/wiki/Category:Charlie_Chaplin?uselang=pnt|19x19px]] Σα [[c:Αρχική σελίδα|Κοινά]] εσ υλικόν σχετικόν με [https://commons.wikimedia.org/wiki/Category:Charlie_Chaplin?uselang=pnt '''''Τσάρλι Τσάπλιν'''''] [[Κατηγορίαν:Σινεμά]] azfrtl5sajswby439qp0tu012s4yeko 16 Απρίλτ 0 852 37132 37066 2025-12-16T18:26:36Z Εὐθυμένης 2777 37132 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[15 Απρίλτ]] | [[16 Απρίλτ]] | [[17 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''16 τ' Απρίλτ''' εν τ' 106ον ημέρα τη χρονίας (107ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 259 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[16 Μαρτί]] - [[16 Καλομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0106]] lsu3krqavfy32iqhwxvl6mhiacb99sh 29 Απρίλτ 0 853 37145 37062 2025-12-16T18:30:37Z Εὐθυμένης 2777 37145 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[28 Απρίλτ]] | [[29 Απρίλτ]] | [[30 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''29 τ' Απρίλτ''' εν τ' 119ον ημέρα τη χρονίας (120ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 246 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == * [[1863]] - [[Κωνσταντίνος Καβάφης]], Έλληνας ποιητής == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[29 Μαρτί]] - [[29 Καλομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0119]] helt6a29fenb9l6vc0bot772dwx3355 Τσιν Σι Χουάνγκ 0 854 36296 35211 2025-08-16T18:51:19Z CommonsDelinker 121 Removing [[:c:File:QinshihuangBW.jpg|QinshihuangBW.jpg]], it has been deleted from Commons by [[:c:User:Jameslwoodward|Jameslwoodward]] because: per [[:c:Commons:Deletion requests/Files in Category:Qin Shi Huang in art|]]. 36296 wikitext text/x-wiki Ο '''Τσιν Σι Χουάνγκ''' (秦始皇) (259 π.Χ. – 210 π.Χ.), γνωστός σα Γινγκ Ζενγκ (嬴政), έτον βασιλέας σην κινεζικήν πολιτείαν τ' Τσιν από τ' 246 π.Χ. ως τ' 221 π.Χ. σην περίοδον των Μαχούμενων Πολιτείων. Έγνεν ο πρώτος βασιλέας σην ενωμένην [[Κίνα]] τ' 221 π.Χ. Εκυβέρνησεν ως τη θανή ατού τ' 210 π.χ. σην ηλικίαν των 50. == Συνδέζμαι == * [https://web.archive.org/web/20100107121517/http://www.qinshihuangling.com/ Μαυσωλείον τ' Τσιν Σι Χουάνγκ] * [https://web.archive.org/web/20170422063008/http://www.chinawikipedia.com/chinahistory.html Ιστορίαν τ'ς Κίνας] [[Κατηγορίαν:Κίνα]] 0vutxi5hxplwm66g7nj9ij8vclatedu Βικιπαίδεια:Γραμματικήν 4 856 34428 33872 2020-04-03T09:14:27Z 2A02:2149:8623:3900:30EA:91:E0D8:CB01 /* Φωνολογία */ 34428 wikitext text/x-wiki '''Αυτή είναι η γραμματική της ποντιακής γλώσσας σε μια περιληπτική απλουστευμένη μορφή.''' '''Θα πρέπει να συμπληρωθεί και να βελτιωθεί σταδιακά και από άλλους χρήστες.'''--Κώτσον 08:41, 9 Σταυρί 2009 (UTC) Δες και [[Βικιπαίδεια:Λεχτικόν]] == Φωνολογία == ('''<u>σ</u>, <u>ζ</u>, <u>χ</u>, <u>ψ</u>, <u>ξ</u>, <u>τσ</u>, <u>τζ</u>''' = παχιά συριστικά σύμφωνα, '''<u>α</u>, <u>ο</u>''' = ενδιάμεσα ή συνηρημένα φωνήεντα). 1. Η Ποντιακή διαφέρει από τη Νεοελληνική ως προς τα παχιά συριστικά σύμφωνα '''<u>σ</u>, <u>ζ</u>, <u>χ</u>, <u>ψ</u>, <u>ξ</u>, <u>τσ</u>, <u>τζ</u>''' και τα συνηρημένα φωνήεντα '''<u>α</u>''', '''<u>ο</u>'''. Το '''σκ''' μπροστά από '''ε''' ή '''ι''' προφέρεται '''<u>σκ</u>''' και το '''χ''' μπροστά από '''ε, ι''' προφέρεται '''<u>σ</u>'''. Τα '''<u>α</u>''' και '''<u>ο</u>''' προέρχονται από συνίζηση των '''ια, εα, ιο, εο''', όταν δεν τονίζεται το πρώτο φωνήεν, είτε βρίσκονται συνεχόμενα στην ίδια λέξη είτε βρίσκονται στο τέλος μιας λέξης και στην αρχή μιας άλλης: π.χ. ''Σον Κερασινόν γεμί<u>σ</u><u>α</u>, ας σην κορφήν ους τα νύ<u>χα</u>, Αεργίτες ους να βγαίν’ σην σισέν ρακίν εμπαίν’ , Δύο ακονισμένα μα<u>χ</u>αίρ<u>α</u> σ’ έναν θεκάρ’ ‘κι γίνταν, Θωρέαν έ<u>χ</u>’ ευλοϊάν ‘κ’ έ<u>χ</u> , Εέντον τη καλα<u>τζ</u>ής, Ατού σα μέσα σ’ τα λεγνά τα <u>χ</u>έρ<u>α</u> μ’ θα τυλίζω, Η Αθηνά και σύρ’ <u>α</u>τον ας σα ξανθά μαλλία''. 2. Αποβολές φθόγγων: Αποβάλλονται συνήθως τα άτονα - '''ι''' , - '''ου''', πριν και μετά από τονιζόμενη συλλαβή, αλλά και άλλα φωνήεντα: π.χ. ''Έσαν ευχαριστεμέν’ ν’ αποθαν’νε εκεί, Να μην διαβαίν’νε, Καρίπ’ και ψωμίν να μην τρώγ’νε''. Αποβάλλονται και σύμφωνα ανάμεσα σε φωνήεντα ή στην αρχή της λέξης: π.χ. ''Ψύχος θα έν’, μη φοάσαι, Με τα χτήν<u>α</u> με τα πρόατα, Επέγ’ναν οι συενοί, οι φίλ’'' . Στη θέση του αποβαλλόμενου φωνήεντος μπαίνει απόστροφος, το ίδιο γίνεται και στη θέση αποβαλλόμενου αρχικού συμφώνου. Όταν στη θέση του αποβαλλόμενου φωνήεντος αναπτύσσεται σύμφωνο (συνήθως το '''τ''' μετά τα ένρινα '''μ,ν''' και τα υγρά '''λ,ρ''') δεν μπαίνει απόστροφος: ''π.χ. Καλαντάρ’ς καληχρονία, κόρ’ έλα ας φιλούμε μίαν, Και Κουντούρ’ έρθεν ο κρύον, ναϊλί εκείνον π’ έ<u>χ</u>’ τον βίον, Μάρτς τελέν’ την εσοδείαν, όλ’ εντώκαν σα χαρτία, Τη Θερ’νού η εσοδεία, τη κοσμί’ έν’ ευλοΐα, Σον Σταυρίτεν άμα σπέρτς, έναν βάλτς και δέκα παίρτς, Τη Παναΐας το ζωνάρ’ , Τ’ άγρια τα μουχτερά τα ρα<u>χ</u>ία ημερών’νε''. 3. Ανάπτυξη ευφωνικού '''-ι, -ν''' και παρασιτικού '''-ι'''. Συχνά στην ποίηση αναπτύσσονται ως ευφωνικοί φθόγγοι το '''-ν''' και το '''-ι''' , που γράφονται σε αυτήν την περίπτωση με παύλα. Πολλές φορές αναπτύσσεται και το παρασιτικό '''-ι''' σε θέσεις όπου δε δικαιολογείται: π.χ. ''Η Σάρρα και -ν ας ση χαράν, Ταράζει -ν η καρδία, Ας σο καρδόπο μ’ έβγαισες κι επήες σο καλόν –ι / <u>τσ</u>εχέλ’κον έσ’νε ‘κ’ έξερες τσ’ εγάπ’ς το μυστικόν –ι, Τη μάνας ιμ’, Απάν’ ιμ’ , Θείος ιμ’''. 4. Το αρχαίο ελληνικό '''-η''' προφέρεται και γράφεται '''-ε''' στις ποντιακές λέξεις όχι στις νεότερες: π.χ. ''νύφε αντί νύφη, κλέφτες αντί κλέφτης, έτον αντί ήτο, αγαπηθέτε αντί αγαπηθείτε < αγαπηθήτε, κοιμεθέτε αντί κοιμηθείτε < κοιμηθήτε '', ''Έρθεν σα ήμαρτα, Που ‘κι τερεί όντες κάθεται, Γαμπρός υιός ‘κι ‘΄ινεται και νύφε θαγατέρα, Το κάστανον εξέβεν ας σο τζέπλιν αθε'' . 5. Τα '''μπ,ντ,γκ''' γράφονται και προφέρονται, κυρίως σε ξένες λέξεις, '''π,τ,κ''': π.χ. ''Με τ’ έναν ρακόπον ντ’ έπιες παχτσέδες ελέπ’ς και ταούλια ακούς, Και την οτάν ντο κείσαι'' . 6. Ευρεία χρήση του τελικού '''–ν''' και ανάπτυξή του σε θέσεις που δε δικαιολογείται: π.χ. ''Έρθεν κ’ ερούξεν σ’ έναν οσπίτ’ απέσ’ .'' 7. Μετατροπή του συμφωνικού συμπλέγματος '''σφ''' σε '''σπ''': π.χ. ''Η πεθερά τ’ς πα έτον ολίγον σπιχτέσα, Κάποιος σπίγγ’ την γούλαν ατ’ , Άμα εσπίχκουτον κ’ έλεεν, Έσ’κωσεν την φοτάν ατ’ς να σπογγίεται'' . 8. Το '''γ''' ανάμεσα σε φωνήεντα δεν προφέρεται και δε γράφεται ή προφέρεται απαλά: π.χ. ''να έ<u>χ</u>ετεν ύαν και ευλοΐαν'' . 9. Ανάπτυξη αρχικού φωνήεντος ή αλλαγή αρχικού φωνήεντος: ''Έναν πουλίν καλόν πουλίν εβγαίν’ από την Πόλιν, Εφτωχοί κάποτ’ επέγ’ναν σην ξενιτείαν κ’ εφόρ’ναν κι άλλο καλλίον'' . 10. Διατήρηση του ιωνικού '''σ''', αντί του '''τ''': ''κοσσάρα αντί κότα, σεύτελον αντί τεύτλον''. 11. Διατήρηση του '''ω''' σε περιπτώσεις που η κοινή νεοελληνική το έχει μετατρέψει σε '''ου''': ''ζωμίν αντί ζουμί, ρωθώνι αντί ρουθούνι, κωδώνι αντί κουδούνι''. 12. Διατήρηση του ιωνικού '''ουκί''', αντί του αττικού '''ουχί''' ή του νεοελληνικού '''δεν''', με μετατροπή του, μετά από αφαίρεση της πρώτης συλλαβής, σε ''''κι''': '''κι θέλω, 'κι τρώγω''. 13. Το φωνητικό αλφάβητο έχει 20 γράμματα, πέντε φωνήεντα '''α,ε,ι,ο,υ''' και 15 σύμφωνα, δεν έχει τα '''ξ, ψ''', στη θέση τους χρησιμοποιεί '''κσ ,πσ'''. Εμείς χρησιμοποιούμε την ιστορική ορθογραφία με τα 24 γράμματα και υπογράμμιση στα διαφέροντα σύμφωνα και φωνήεντα, γιατί είναι τελικά η πιο απλή από όλες τις σχετικές προτάσεις που έχουν γίνει. Τα ενδιάμεσα φωνήεντα '''<u>α</u> , <u>ο</u>''' συνήθως δηλώνονται από άλλους με δύο τελείες κάτω από το γράμμα και τα παχιά σύμφωνα '''<u>σ</u>, <u>ζ</u>, <u>χ</u>, <u>ψ</u>, <u>ξ</u>, <u>τσ</u>, <u>τζ</u>''' με το σημείο της βραχύτητας επάνω από το γράμμα. == Τονισμός λέξεων == Δεν τονίζονται οι μονοσύλλαβες λέξεις εκτός από το ερωτηματικό '''ντό''', το διαζευκτικό '''γιά…γιά''' και το συμπλεκτικό '''νέ…νέ'''. Οι δισύλλαβες λέξεις που γίνονται μονοσύλλαβες μετά από αποκοπή διατηρούν τον τόνο. Στην προπροπαραλήγουσα ανεβαίνει ο τόνος σε κλητικές, στη συλλαβική αύξηση των ρηματικών τύπων, σε ρήματα των οποίων προηγείται ερωτηματικό '''ντο''' με έκθλιψη και στα θηλυκά των επιθέτων σε '''–εσα''': π.χ. ''Νε ποπά, Κώνσταντινε, Έκαιγαμε , Ετίμαναμε, Ντ’ έποικες έμορφεσα'' . == Μορφολογία == Η ποντιακή διάλεκτος διέσωσε μέχρι σήμερα μεγάλο πλήθος αρχαίων ελληνικών λέξεων όπως: ''βοτρύδιν < βότρυς (τσαμπί), λιμός < λιμός (πείνα), στούδιν < οστούν (κόκκαλο), ωβόν < ωόν (αυγό), ωτίν < ους, ωτός (αυτί), έγκα < ήνεγκα (έφερα), τ' εμόν < το εμόν, τ' εμέτερον <το ημέτερον, βάλον < βάλον (βάλε) '' == Άρθρα == Τά άρθρα '''ο, η, οι''' της ονομαστικής δε χρησιμοποιούνται συνήθως μπροστά από φωνήεν αλλά μερικές φορές και από σύμφωνο: π.χ. ''Απόψ’ αδελφό μ’ επέθανεν, Η μάνα μ’ είπεν Αλευράς,'' . Στη γενική ενικού και των τριών γενών χρησιμοποιούνται συχνά τα άρθρα '''τη, τση''', ή '''τ’ , τσ’''' , στη γενική πληθυντικού και των τριών γενών το άρθρο '''τη , τ’''' και στην αιτιατική πληθυντικού αρσενικού και θηλυκού τα άρθρα '''τοι , τσοι τ’ , τσ’''' : ''π.χ. Αδελφός ιμ’ , Καλομάνα μ’'' . == Ουσιαστικά == Κανονικό πληθυντικό στο γένος τους σχηματίζουν μόνο τα ουσιαστικά που δηλώνουν έμψυχα λογικά όντα, όλα τα άλλα σχηματίζουν ουδέτερο πληθυντικό: π.χ. ''Μοιρολογούν τα εγκλησιάς, κλαίγ’νε τα μοναστήρ<u>α</u>, Η <u>ψ</u>η σ’ είν’ τα καβγάδας, Τα κοσάρας ιμ ωβάζ’νε σα καφούλ<u>α</u>.'' Τα ουσιαστικά από άλλες γλώσσες γίνονται γένους ουδετέρου στα ποντιακά όσα τελειώνουν σε σύμφωνο ή σε '''-ι''', και γένους θηλυκού τα άψυχα που λήγουν σε '''–α''', ή '''–ε'''. '''Α΄ κλίση ουσιαστικών''': ''ο άντρας, τη αντρού, τον άντρα, οι αντρούδες, τη αντρουδίων, τοι αντρούδες / ο κλέφτες, τη κλέφτε, τον κλέφτεν, οι κλεφτάντ’, τη κλεφταντίων, τοι κλεφτάντ’ς / η νύφε, τη νύφες, την νύφεν, οι νυφάδες, τη νυφαδίων, τοι νυφάδες / η κοσάρα, τα κοσάρας, τη κοσαρίων.'' '''Β΄ κλίση ουσιαστικών''': τα αρσενικά σε '''-ος''' σχηματίζουν την ονομαστική σε '''–ον''', όταν είναι έναρθρα. ''ο άθρωπον, τη αθρωπί, τον άθρωπον, οι αθρώπ’, τη αθρωπίων, τοι αθρώπ’ς / το χωρίον, τη χωρίονος, το χωρίον, τα χωρία, τη χωρίων, τα χωρία / το παιδίν, τη παιδί, το παιδίν, τα παιδία, τη παιδίων, τα παιδία.'' '''Γ΄ κλίση ουσιαστικών''': έχει μόνο ουδέτερα: ''το γάλαν, τη γαλατί, το γάλαν, τα γάλ’τα, τη γαλατίων, τα γάλ’ τα / το μέλιν, τη μελί, το μέλιν, τα μέλια, τη μελίων, τα μέλια''. == Επίθετα == άσπρος, άσπρεσα, άσπρον / άλαλος, άλαλεσα ή άλαλος, άλαλον / αγαπέσιμος, αγαπέσιμος, αγαπέσιμον / ανοιχτομάτ’ς, ανοιχτομάταινα, ανοιχτομάτ’κον / οκνέας, οκναρία, οκνάριν ή οκνάρικον / σεβταλής, σεβταλήσα, σεβταλίν / εντροπιάρης, εντροπαρία, εντροπιάρ’κον / γουλέας, γουλαρία, γουλάριν ή γουλάρ’κον / βαρύς, βαρέσα, βαρύ / έμορφος, κι άλλο έμορφος, πολλά έμορφος ή τσιπ έμορφος: π.χ. ας σε μεν καλλίων εν’, Ας όλτς καλλίον είμαι, Μαναχοκόρτς και λαλα<u>χ</u>ού και καλομαθεμέντσα, Α! την νέισαν την Ελέν’ θέλτς. Διατηρούνται τα αρχαία ελληνικά θηλυκά επίθέτα σε '''-ος''' αντί σε '''-η''': ''η άλαλος αντί η άλαλη, η έμορφος αντί η όμορφη''.Ο επιθετικός προσδιορισμός σε θηλυκό άψυχο ουσιαστικό μπαίνει συνήθως έναρθρος σε ουδέτερο γένος και ακολουθεί το άψυχο θηλυκό ουσιαστικό με άρθρο: ''το Μαύρον η Θάλασσα''. Το αντίστοιχο κατηγορούμενο ή ο αντίστοιχος κατηγορηματικός προσδιορισμός εκφέρεται συνήθως όμοια αλλά χωρίς άρθρο: ''Ο Εύξεινον ο Πόντον έν' μαύρον θάλασσα''. == Αριθμητικά == Αρσενικό και θηλυκό: εις, είνας, ένας, εινός, είνονος, ενός, είναν, έναν. Ουδέτερο: ένα (ν), εινός, είνονος, ενός, έναν. == Αντωνυμίες == εγώ, ογώ, μου, μ’ , με, εμέναν, εμέν, εμείς, εμείστεν, εμείστουν, εμούν, εμάς, μας, εσύ, σου, σ’, σε, εσέν, εσέναν, εσείς, εσείν, εσείστουν, εσείστεν, εσούν, εσάς, σας, ατός, ατού, ατ’, ατόν, ατόναν, ατείν, ατούν, εκουν, ατούς, ατουνούς, ατείνους, ατείντζ, ατέ, ατής, ατές, ατ’ς, ατό, έθε, άθε, άθες, άχτε, άχτες, άχτερ / τ’ εμόν, μον, τ’εμά, μα, τ’εμέτερον, τ’εμέτερα, τ’εσόν, σον, τ’ εσά ,σα, τ’εσέτερον, τ’εσέτερα, τ’ατουνού, τ’ατεινές, τ’ατεινθεΐ, τ’ατεινέτερον, τ’ατεινέτερα / ο νιαυτός ιμ’, ο νιαυτός ισ’, ο νιαυτός ατ’ / εγώ εμέν, εσύ εσέν, ατός ατόν, εκείνος εκείνον, εμείς εμάς, εσείς εσάς, εκείν’ εκείντζ’ / τ’ έναν τ’ άλλο. Σύντομοι τύποι της προσωπικής αντωνυμίας '''ο, α''': π.χ. εξέγκεν α οξουκά είδεν α κ’εχπαράεν, Εείνος ατώρα θέλ’ να παίρ’ α , Εξέγκα ο οξουκά, Υίαν και καληχρονίαν σ’ οσπίτ’ν εσουν, Θα φουρκίζω εγώ εμέν, Ήντ<u>α</u>ν έλεπες και ήντ<u>α</u>ν έκουες, Τ’ εμόν το κιφάλ’ πολλά ετρίφτεν, Και σ’ άλλον το φτερόν αθε, Η <u>ψ</u>η ατ’ς εσύρνεν να τρώει τ’ έναν και τ’ άλλο, Επάρθαν τα κλειδία θε, Το <u>ψ</u>όπον εθε έτον π’ επέταξεν, Και σο ταφίν εμούν απάν’, εσύ μοιρολογάς μας, Πέ ατα σ’ εμέτερον την γλώσσαν, Σίτα εκλώσκουμ’ νε έλεγα εγώ εμέν, Άμα ξάν’ τιδέν ‘κ’ εγέντον, Εκατήβεν Ηρακλής μετ’ εκείνεν . == Ρήματα == Παθητικός ενεστώτας σε '''-ουμαι''': π.χ. πορεύκουμαι, πορεύκεσαι, πορεύκεται, πορεύκουμες, πορεύκουστουν, πορεύκουνταν, Παρατατικός σε '''-ινα''': π.χ. Εζήναν όλ’ το ίδιον ζωήν, Κι εθέλναν ν’ αποχωρίουν . Προσεχής μέλλοντας: Η πεθερά τ’ς έ<u>χ</u>' κ’ έρ’ται, Εκόπαν τα συντελέας ατ’ς, έ<u>χ</u>’ και λιγούται. Η έκφραση '''παρά λίγο να''': ερούξεν έτον, εφουρκίεν έτον. Συλλαβική αύξηση '''ε-''' παίρνουν τα ρήματα που αρχίζουν από σύμφωνο ή από '''α-'''. Τα σύνθετα ρήματα παίρνουν εξωτερική και εσωτερική ή μόνο εξωτερική συλλαβική αύξηση: π.χ. Ατό κανείς ‘κ’ ενέγνωσεν. Είμαι, είσαι, ένι, έν’ , είμες, είμεστεν, είμεστουν, είστεν, είσν’νε, είστουν, είναι, είν’ , έμ’νε, έμουν, έσ’νε, έσουνε, έσ’ , έτον, έτουνε, έμ’νες, έμουνες, ήστουν, ήστενε, ήσαν. Κόφτω, κόφτ’ς, κόφτ’, κόφτομε, κόφτετε, κόφ’νε / τιμώ, τιμάς, τιμά, τιμούμε, τιμάτε, τιμούν / ετίμανα, ετίμανες, ετίμανε, ετίμαναμε, ετίμανατε, ετίμαναν / ετίμεσα, ετίμησες ετίμεσεν, ετίμεσαμεν, ετίμεσετε, ετίμεσαν . Κοιμούμαι, κοιμάσαι, κοιμάται, κοιμούμες, κοιμούσνε, κοιμούστουν, κοιμούνται / εκοιμούμ’νε, εκοιμούμ’, εκοιμούσ’νε, εκοιμούτον, εκοιμούμ’νες, εκοιμούστουν, εκοιμούνταν / εκοιμέθα, εκοιμέθες, εκοιμέθε, εκοιμέθαμεν, εκοιμέθετεν, εκοιμέθαν. Αφήνω, αφήντς, αφήν’, αφήνουμεν, αφήνετεν, αφήν’νε / ανοίγω, ανοίεις, ανοίς, ανοί, ανοίουμε, ανοίτε, ανοίγ’νε. Διατήρείται η κατάληξη της προστακτικής του αορίστου σε '''-σον''',αντί '''-ε''': ''ποίσον < ποίησον αντί ποίησε, κόψον αντί κόψε''. Διατηρείται η παθητική συνηρημένη κατάληξη '''-ούμαι < -οομαι''' της αρχαίας ελληνικής αντί της νεοεληνικής '''-ώνομαι''': ελευθερούμαι < ελευθερώνομαι, κοιμούμαι αντί κοιμάμαι, φανερούμε αντί φανερώνομαι. == Ρηματικοί τύποι == Μην κλαις Αγιάννε μου και δερνοκοπισκάσαι, Όλα εκείνε Θ’ εδιατάχκουτον, Εξέγκαν την τορπάν κ’ εσέγκαν απέσ’ την χαλβάν, Τερεί τ’οσπίτ’ όλον εσκουτούλτσεν, Μεσανυχτί’ εκαρκάριζες τα σκεύια, Εζύμωσα ενήβεν το ζυμάρ’, Ζατί εσέν νερ<u>ά</u>στα σε, Επέρεν βρούλαν Αχιλλεύς, εκάεν, εμανίεν, Κι ο κάστρεν εκρεμίεν, Πρώτα ώβασον κ’επεκεί κακάντσον, Επέγνεν ση Ρουσίαν κ’ έρχουτον, Επεδέβεν τοι γονέοις και το στέφανόν ατ΄, Όλα ένταν ήμπως έταν σιφτιάν, Το μωρόν ε<u>τσ</u>απαλάεψεν, Γιούρα, δέβα κόψον εισιτήρια, ντ’ άναμεντς; Γεννίουμες κι ούλ’ <u>χ</u>αίρουνταν, Μανα<u>χ</u>έσα εργούντον, Τ’ ομμάτ<u>α</u> τ’ς εχαντιλιάαν, εχπαράεν, ‘Κ’ εγούεψαν την <u>ψ</u>ην ατουν, Να δ<u>α</u>τάχκουμαι τοι <u>τσ</u>οπάντς . == Επιρρήματα == Αέτσ’ έν’, ρίζα μ’ αέτσ’ έν’ ,αέτσ’, άμον ντο λέγω, Καμίαν ‘κι γεράτεν, Αλλομίαν ας σο παραθύρ’ είδαν, Βίρ<u>α</u> πίν’ το νερόν, Οι πλούσ’ εδούλευαν κι άλλο πολλά, Ας σο γιαζιλίν τασίν κι κάθεν, Και να ευρίουν σον τόπον τ’ εγεννέθαν, Εκείνα τα λόγια καμίαν ‘κι ανασπάλ’ ατα, Ξάι τον καιρόν ατ’ς ‘κ’ έ<u>χ</u>’, Πουρνόν πουρνόν, Τερεί απάν’ τερεί αφκά, τερεί οπίσ’ και έμπρα, Άμα ο Θεόν πολλά ψηλά έτον, Έρθεν το μωρόν απαγκέσ’ σο νερόν, Πλαν κεικά ας σα χωρία μουν, Έναν ημέραν θα επένεν σην Άρδασσαν κεκά, Στέκ’νε καρ<u>σ</u>ί καρ<u>σ</u>ί, Ποίσον έναν ξάι κι άλλο υπομονήν, Δέβα στυχαρίασον την Παρθέναν τη Λαζάρ’, Άνοιξη έτον και πολλά κρύος πα ‘κ’ έτον, Τρία βραδάς έμ’νεν εκαικά, Τ’ άλλο επέναμε σα χαμούφτας, τ’ άλλο σα μομό<u>τσ</u>ια . == Προθέσεις == Η πρόθεση '''σε''' με τα άρθρα '''τον, την, το, τους, τοι''' κ.ά. δίνει τους τύπους '''σον, σην, σο, σοι''' κ.ά, με αποβολή του '''τ'''. Το ίδιο γίνεται και με την πρόθεση '''ας''' που δίνει τύπους '''ας σον, ας σην, ας σο, ας ση''' κ.ά.: π.χ. Αδά σον κατακέφαλον, Έλα κάθ’κα σα γόνατα μ’ , Αφκά σο σπαρελόπο σου, Από παν’ ους κά, Κ’ επεκεί εκλώσκουσαν οπίσ’ , Επεΐ εγνώρτσα τοι τρανούς πα, Επολέμαγα να εδείκνυζα τεάμ’ τ’ έμαθα πολλά, Αντραδέλφ’σα τ’ς μετ’εκείνεν έναν στόμαν έταν . == Σύνδεσμοι == Πασκίμ ντο ετέρεσα την ώραν, Γιόξα ν’ ευτάει υπομονήν, Ώσνα θ’ εμπαίν’ναν απέσ’, Αμόν ντ’ εσέβαν απέσ’, Άμον το θα πάνε θαφ’ ν ατον, Και σιτ’ επέγ΄ναν έπιναν’ ετραγώδ’ναν, Όντας έρχουτον κάποτε σειρά να λογοφέρκουμες, Γιαμ’ ‘κ’ εν’ καλά η μάνα σ; == Επιφωνήματα == Ναϊλί εμάς και βάι εμάς, Νασάν εσάς ψηλά ραχιά, Μώ την πλάση σ’ και την καρή σ’ , Νασάν την μάναν π’ έχ’ ατον, Αχά! έρτεν ερίφς, Βάι την μάναν, βάι την μάναν π’ εί<u>χ</u>εν τσοι οκτώ τσοι υιους και την Ερήν την κόρην, Έρθεν ο χρόνον δίσεχτον τα μήνας οργισμένα, Έικιτι χρόν<u>α</u> έικιτι βαχούτ<u>α</u>, Άφεριν, Μαρία εγροίκσες κι εποίκες αΐκον κορίτσ’ . == Σύνθετα == Την κόρ’ την <u>χ</u>ιλεπλούμιγον, Σα <u>χ</u>ιλ<u>ό</u>μορφα πουλία, Ο <u>χ</u>ειμωγκόν εμέσαξεν χιονοκαπατεμένος, Ασπροκουκουλο<u>σκ</u>έπαγα και μαυροκαρδισμένα, Τ’ αγιαζοφύσεμαν ξερόν σωστόν ανασμοκόφτης, Κι ήλεν πυκναράευτος, Καντηλογλυκοφώτιστα, Αγνιάρ’ φαΐν εμαέρεψεν υλιστοτανωμένον. == Σύνταξη == Προτίμηση στο μικροπερίοδο λόγο με κύριες προτάσεις. Οι προσωπικές αντωνυμίες μπαίνουν μετά το ρήμα σε πτώση αιτιατική είτε είναι άμεσα είτε είναι έμμεσα αντικείμενα. Το έμμεσο αντικείμενο μπαίνει σε πτώση αιτιατική: π.χ. ''Τ’ όνεμα σ’ χαρ’σον με''. Οι επιθετικοί και κατηγορηματικοί προσδιορισμοί και τα κατηγορούμενα των ουσιαστικών που δηλώνουν μη λογικά όντα μπαίνουν σε ουδέτερο γένος: π.χ. ''Αούτ’ ο κόσμον ψεύτικον, Ξάι ‘κ’ εφάνθεν αούτα τα ημέρας, Σα τρία φοράς απάν’, Κανείς τ’ εσόν ανάγκην ‘κι έ<u>χ</u>’, Και με τ’ έναν μουντζούναν κόκκινον, Σ’ όλ<u>α</u> τα μέρ<u>α</u> η ξενιτεία βαρύν έν’ άμα σην Ματσούκαν πολλά βαρύν, Είμ’ ας σο ποντιακόν ρίζαν, Να γονουσεύ’ με τ’ εμέν’ πολλά ημέρας, Έναν Κερεκήν ημέραν''. Μερικές φορές παραλείπεται το '''"να"''' των βουλητικών και τελικών προτάσεων: π.χ. ''Πάω άφτω το φουρνίν, φέρον την πιρρίφτεν ας αρχινώ και πιρρίφτω, Κάθ’ κά κεράζω σε έναν ρακίν''. '''ΔΕΥΤΕΡΕΥΟΥΣΕΣ ΠΡΟΤΑΣΕΙΣ''': ''Σίτ’ αναγνώθει, σίτ<u>α</u> κλαίει, σίτ<u>α</u> κρούει την καρδίαν, Την ώραν ντου ‘κ’ ελέπω σε κάθουμαι κά και κλαίω, Ανάθεμά σε, νε κουτσή, ντο παλαλέσα είσαι, Ν’ ακούω <u>τσ</u>οπάν σύριγμαν και κεμεντζές λαλόπον, ‘Κ’ ερχίνεσαν ν’ ευτάγ’νε την χαλβάν, ‘Κ’ εξέρ ’ντο πρέπ’ για να ευτάει, Κ’έτρωαν τ’οψάρα τ’επίανεν ατός ο παλουχ<u>τσ</u>ής, Εκεί εύραν ατον, όντες εδέβεν ο φόβον, Ο Φωστήρτς ο μουχτάρτς είχεν τρανόν μεράχ’ το ‘κ’ έστεκαν ατον παιδία, Οι γεραλαεμέν’ πα επέμ’ναν σα νοσοκομεία ώσνα ‘ίνταν καλά, Ν’ ευτάγ’νε ήντ<u>α</u>ν λέγω, Ους γιτουρεύκουν και γερλεσεύ’νε σο χωρίον εμουν, Κά ‘κ’ εκάθουσαν να τρών’νε αν ‘κ’ εφάζαν πρώτα τα ζά τουν'' . '''ΕΡΩΤΗΣΕΙΣ''': ''Γουρζούλ’ νερόν, αγνέστικά μέρ΄ πάς; Χα, ξαν’ ντ’ έπαθες, νέψα; Κι αούτο ντο έν; Ντ’ άγληγορεις μάνα; Έκ’σες ντό είπα; Ως πότε θα διαρμηνεύ’ς με; Τάη, ντ’ έποικα και διώχ’ς με; Ξαν’ ντ’ έπαθες; Ποίος αραεύ’ με; Πασκίμ ντο εν’ Πόντιεσα;'' == Ιδιόμορφες λέξεις == Σ''α δίχωτα ευρέθεν, Την σπαθέαν, Κάστρεν απάν’ σον κάστρεν, Ευλογίζ’νε κι όλεν την ε<u>χ</u>ετείαν, Καυκίν μαλαματένεν, Βαθέα νουνιγμέντσα, Εγώ και πώς γαλοφορώ και πώς θα βυζαλίζω, Θεού το μένεμαν, Θεού η στυχαρία, Ση κυρού μ’ τον καιρόν έτον είνας τ<u>α</u>λιγανλής, Σ’ υστερ’νόν την έλαν ατ’ ση Σάνταν, Κι εβγάλνε ση μέσεν το σκάνταλον, Και ν’ αμπελώντς και να κλα-δώντς και να γομώντς τον κόσμον, Την Σάββαν 10 Χορτοθερί, Ναϊλί που ‘κι θα ευρίεται, Τ’ άχαρον την κλαίη ‘κ’ εφήν’ , Τα δεντρά έκλισαν τα κλαδία τουν, Αέτς εκόλτσαν ατον Κούκουδα, Κάλεα και νεότεν έφαγαν, Όνταν <u>τζ</u>ίζ’ το καρδόπο μ’ , Επορεί να <u>τσ</u>ακανίουμες σα χωράφ<u>α</u>, Εδέβασες ατό κά, Η Σημέλα πολλά θρήσκαινα έτον, Οψέ σα βρατέρ<u>α</u> κεσ’, Εκόπαν τα συντελέας εμουν, Η Πελαΐα ερούξεν το λετσέκ’ν ατ’ς, Ελύαν τα τσάμιας ατ’ς, Φως τ’ ομμάτ<u>α</u> σουν, έρθεν ο Ζάχον, Τ’ ομμάτ<u>α</u> σ’ γομάτον φως, Εγώ εντροπέας και χα<u>σ</u>εμένος όπως έμ’νε, Έσκωσα τ’ άλογον σο τετνάρ, ‘Κ’ έγκ’ ατο ση λογαρίαν, Ίδρωσα κ’ εγένουμ’ κού<u>στ</u>’ νερόν, Ση χαμονής το άκλωστον τ’ αγύριστον την στράταν, Ημ’σοι τ’ ημ’σού επέμνανε, Σός, νέψα, ε<u>χ</u>ύτωσεν'' . == Τουρκική επίδραση == ''Εταζιρλιάεψεν ατόν ο μωμόγερον, Έζησα σ’ όλ<u>α</u> τα τιζέν<u>α</u> κ’ εσέβα απέσ’ σα κετίσ<u>α</u> τη ζωής, Άλλ’ εύρ’ ατα τογρία κι άλλα πιτίν πιτινέ ανάποδα, Έναν τατ’ ‘κ’ επόρεσα να επαίρ’να, Πώς εζήναν ση Τούρκονος το μιγιάτ αφκά, Να γαρσουλαεύ’ ατο με τ’ ατωρ’νόν το κετίσ’, Όσα φοράς εγονούσεψα με τ’ εκείνον, Είδα κι άλλα μιλέτ<u>α</u> κι άλλα κετίσ<u>α</u>, Κι υστερ’νά θα χοσλανεύκεται, Βαχούτ’ ‘κι θα χάνω, Η νύφε επουγαλεύτεν, Και στέκ’ σο γιάν ’ , Ντο να λέω σας να ινανεύετε, Το πουίχ’ν ατ’ σην κοτύλαν ατ’, Και καν’νάν ‘κ’ επεγενεύκουτον, Τεΐ εχολ<u>ά</u>σταν, Θα γουρεύουμε τον χορόν, 20 Καλανταρί, Σάββαν ημέραν, Αλλομίαναν ατός αρίφ’ς, Και έβαλεν το γουντάχ’ σο νερόν, Να σκοτών’ την κεντήν ατ’ , Νέ έτρωεν και νέ έπινεν, Τέρτ’ που ‘κι λαρούται, Σην πολιτείαν λεγ’νε σοεύ’νε σε σίτ<u>α</u> πορπατείς και χαπέρ’ ‘ κι παίρ’ς, Τα πλούτ’ ας είναι τη ζεγκίν και συ τ ’εμόν ας είσαι, Με τ’ ατό τ’ ομούτ ζούνε, <u>Χ</u>οσ’ εξέρ’ς , Γιοκ, πουλί μ’, να τρώω την <u>ψ</u>ή σ’, Εβράδυνεν και έμ’ναν σα τικιάνια τη <u>Τσ</u>εβιζλούκ'' . == Ποντιακά επώνυμα == Μουρουζάντ’, Αντωνάντ’, Κερμανάντ,Σελιμάντ’, Τσαχουράντ’,Υψηλάντ’, ση Ποπαδάντων,ση Γιαννακάντων, Κέρογλης, Σάρπογλης, Αμιράς, Αλευράς,Φωκάς, Γαλέας, Μανέας, Ζουρνατζής, Καλατζής, Μεταξάς, Καρατζάς, Τριάντης, Χαριτάντης, Μουρούζης και άλλα πολλά. == Βιβλιογραφία == *Άνθιμος Παπαδόπουλος *Κώστας-Γιάννης Κανονίδης-Τοπχαράς *Βέρα Κεσίδου *Ποντιακή Λογοτεχνία [[Κατηγορίαν:Γραμματικήν]] k8vo4el6hst1wggup944l5txdlla0kh Βικιπαίδεια:Λεχτικόν 4 857 35485 35484 2023-10-24T07:02:12Z 84.205.244.136 35485 wikitext text/x-wiki == Βασικό [[λεχτικόν|λεξικό]] της ποντιακής γλώσσας == '''Θα πρέπει να συμπληρωθεί και να βελτιωθεί σταδιακά και από άλλους χρήστες.''' Οι λέξεις που είναι όμοιες στη μορφή και το νόημα με τις λέξεις της νεοελληνικής μπορεί και να παραλείπονται.''' – Κώτσον 20:02, 7 Σταυρί 2009 (UTC) (''' <u>σ</u>, <u>ζ</u>, <u>χ</u>, <u>ψ</u>, <u>ξ</u>, <u>τσ</u>, <u>τζ</u>''' = παχιά συριστικά σύμφωνα, '''<u>α</u>, <u>ο</u>''' = ενδιάμεσα ή συνηρημένα φωνήεντα). Δες και [[Βικιπαίδεια:Γραμματικήν]] '''Α''' '''αβάπτιστεσσα''', (η) αυτή που δεν έχει βαπτιστεί '''αβαράσσα''', άεργη, τεμπέλα, χασομέρα. '''αβάσιμεσα''', '''άβαφεσα''', '''άβγαλτεσα''', '''άβολεσα''', '''αγαθέσα'''. '''αβλούκ<u>α</u>''', τα (εν. το αβλούκιν ή τ'αβλούκ'): λάπατα, άγρια λαχανικά με πλατύ μακρύ φύλλο. '''αγαπέσιμος, -ος, -ον''', επίθ.: αγαπητός (θυλ. και '''αγαπητικιέσα, αγαπετικιέσα'''). '''αγγείον''', το: άσκαυλος, τουλούμ', μουσικό όργανο σαν την γκάιντα. '''αγγεύω''', ρ. (αόρ. έγγευα): αναφέρω. '''άγγιχτεσα''', η: άγγιχτη. '''αγγούριν''' ή '''αγγούρ'''', το : αγγούρι. '''αγέλαστον''', ο: παιδικό παιχνίδι, το οποίο παιζόταν με δύο παίχτες, ο ένας έμενε ακίνητος και ο άλλος προσπαθούσε να κάνει τον άλλο να γελάσει. '''αγέννητεσα''', η: η αγέννητη. '''αγιάτρευτεσα''' '''αγιθοδώρισσα''' ή '''αϊθοδώρισσα''', η: νεαρή κοπέλα, συνήθως αρραβωνιασμένη, που έκανε σκληρή νηστεία εν όψει του γάμου της (πβ. αεθοδώρισμαν, θοδώρισμαν, αεδοθωρίζ’). '''αγληγορώ''', ρ. (αγλήγορα): βιάζομαι. '''αγναεύω''', ρ. (εγνάψα): καταλαβαίνω (< τουρκ. ağnamak). '''αγνέστικα''', επίρ.: θεονήστικα. '''αγνεφίζω''', ρ.: ξυπνώ. '''αγνός, -ἐσα, -ὀν''', επίθ.: περίεργος, σπουδαίος· '''αγνά <u>ά</u>ρ<u>α</u>''': εκλεκτά φαγώσιμα· '''ντ’ άγνα''': πώς. '''αγούδα''', η: θαμνώδες φυτό με φύλλα σαν της ελιάς και κίτρινα άνθη· το υγρό από τα φύλλα το χρησιμοποιούσαν ως φάρμακο για τη φαγούρα. '''άγουρος''' ή '''άγουρον''', ο (οι αγούρ', τη αγουρίων, τοι αγούρτς, τα αγούραι): άνδρας· ο άγουρομ' = ο άντρας μου· το αγουρόπον, τα αγουρόπα = παιδάκι. '''αγουροσύνε '''ή''' αγουρότε''', η: γενναιότητα, ανδρεία, σεξουαλική ικανότητα. '''Άγουστον '''ή''' Αλωνάρτς''', ο : Αύγουστος (πβ. Καλαντάρτς, Κούντουρον, Μάρτς, Απρίλτς, Καλομηνάς, Κερασινόν, Θερ'νός, Σταυρίτες, Τρυγομηνάς, Αεργίτες, Χριστιανάρτς). '''αγρ<u>ά</u>νθρωπος''', ο: … '''αγρασεύω''', ρ.: προσπαθώ (< τουρκ. uğraşmak). '''αγρά<u>σ</u>κεμος, -ος, -ον''': κακάσχημος. '''αγρέλαφον''', το : το άγριο ελάφι. '''αγρηγορότε''', η: ταχύτητα, γρηγοράδα. '''αγριοκοκκύμελον''', το: το άγριο δαμάσκηνο. '''ο άγριον, η αγριέσα''' (ή και '''ο άγρες, άγρεν'''): ο άγριος. '''αγριόγατεσα''' '''αγριοχάπαρον''', το: η κακή είδηση (< ελλ. άγριος + τουρκ. haber)· '''ο αγροχάπαρος'''. '''αγροικώ '''ή''' εγροικώ''', ρ. (εγροικούν, εγροίκανα, εγροίξα, εγροίξαν): καταλαβαίνω. '''αγροκάστανον '''ή''' αγρ<u>ο</u>κάστανον''', το: η άγρια καστανιά και ο καρπός της. '''αγροκέρασον, αγροκοκκύμελον, αγροκόσαρον, αγροκύδωνον''' '''αγρ<u>ο</u>μούχτερον''', το: το αγριογούρουνο. '''αγρόμηλον, αγροσεύτελον, αγροστάφυλον, αγρόσυκον''' '''αγροτερώ''': αγριοκοιτάζω· '''αγροτέρεμαν''': αγριοκοίταγμα· '''αγροτερίδ’''': το σκιάχτρο. '''αγρούμαι''': αγριεύομαι, φοβάμαι. '''αγρούστιν '''ή''' αγρώστιν''', το: δέντρο του οποίου οι επιφανειακές ρίζες βρασμένες ήταν φάρμακο διουρητικό και λιθοτριπτικό. '''άγρυπνος, -εσα''' '''αγυναίκιστος''', ο: ανύπαντρος. '''αδακά, αδά''', επίρ.: εδώ· '''αδακές''': προς τα δω· '''αδά μερέαν''': προς αυτήν τη μεριά· '''αδαπές''': εδώ μέσα· '''απόθεν''': από πού· '''απαδά, απαδάκα, απαδακές''': από εδώ· '''απαδαπές''': αποδώ μέσα. '''αδελφόν''', ο: ο αδελφός· '''αδελφέσα''': αδερφή· '''αδελφοκόρ<u>τσ</u>α''': ξαδέλφες. '''αδιάντροπεσα, αδιάφορεσα''' '''αζούχ''', το: η τροφή για ταξίδι, για εργασία (< τουρκ. azık). '''Αεργίτες''', ο: Νοέμβριος. '''αετέντς, αετόν '''ή''' αϊτόν''', ο: αετός. '''αέτς''', επίρ.: έτσι· '''αέτς πα''': και έτσι. '''αθέωτα''', επιρ.: αλύπητα, άσπλαχνα. '''αθόγαλαν''', το: το καϊμάκι. '''άθρεφτεσα''', η: άθρεφτη. '''αθώεσα''' '''αΐκος, αΐκον''' (θυλ. και '''αΐκσα, αΐκα'''), αντ.: τέτοιος. '''αιχμάλωτεσα, ακάθαρτεσα, άκακιεσα, ακάλεστεσα, ακάλυπτεσα, ακαμάτεσα, ακαπνεσα, άκαρδεσα, ακατάδεχτεσα''' '''ακεί''', επίρ.: εκεί (επίσης '''ατουκά, ατουπές, ακειαπές, πλαν κεικά, ακέκα'''). '''ακίνδυνεσα, άκλαυτεσα''' '''άκλερεσα''', η: καημένη. '''άκληρεσα''', η: άκληρη. '''ακλοθώ''', ρ.: ακολουθώ. '''Ακ Νταγ Μαντέν''', το: Μεταλλείο Λευκού Όρους, περιοχή στο νοτιοδυτικό άκρο του Πόντου και η πρωτεύουσα της περιοχής < (τουρ) Ak Dağ Madeni. '''ακόλαστεσα, άκοπεσα, ακριβέσα''' '''άκ'σον, ακ'σέτεν''', ρ.: άκουσε, ακούστε (ακούω, έκ'σα, έκ'σαν, έκ'σεν α = το άκουσε). '''άλειμμαν''', το: το ζωικό λίπος (< αλείφω)· '''αλειμματοκέριν'''. '''αλευρομάλεζον''', το: η αλευρόσουπα. '''αληθινέσα''' '''άλλ΄''', οι: οι άλλοι· '''τους άλλτς''': τους άλλους. '''αλλάζω''', ρ. (ελλάγα): αλλάζω· '''αλλάη''', η: η γιορτινή φορεσιά (< αλλαγή). '''αλάι''', το: η παρέα, η παρέα του γαμπρού στο γάμο, μοίρα στρατού. '''αλάπαλουκ''', το: η πέστροφα (< τουρκ. alabalık). '''αλλέως''', επιρ.: αλλιώς, διαφορετικά. '''αλλομίαν''', επιρ.: ξανά. '''αλμεγάδιν''', το: το ζώο που αρμέγεται· '''αλμεγάδιν χτήνον''' ή '''χτήνον''': η αγελάδα. '''αλμεχτέρ’''' το: ξύλινος κουβάς για το άρμεγμα των ζώων. '''αλυκέσα''' '''αμάν '''ή''' χαμάν''', επίρ.: αμέσως (< τουρκ. hemen). '''αμελέ ταπουρού''', τα: τα γερμανικής έμπνευσης τάγματα εργασίας που χρησιμοποίησαν οι Τούρκοι για να εξοντώσουν τον ελληνικό πληθυσμό του Πόντου (< τουρκ. amele taburu). '''αμάραντον '''ή''' μάραντον''', το : το βλήτο. '''άμον''': σαν, όπως, καθώς. '''αμπάρ’''', το: το αμπάρι, το κελάρι, η αποθήκη (< τουρκ. ambar). '''αμπάς''', ο: το πανωφόρι, κάπα (< τουρκ. aba). '''αμπελώνω''', ρ.: φυτεύω αμπέλι, κάνω παιδιά. '''άμποτε''', επιφ.: μακάρι. '''αναγνώριμος, -ος, -ον''': άγνωστος. '''αναθυμεθή''', η: η ανάμνηση ή αναφορά απόντος προσώπου. '''ανακατούμαι''', ρ.: ανακατώνομαι. '''άναλεσα''' '''αναλλαγάδιν''', το: πολυτελής ενδυμασία. '''αναμένω''', ρ. (αναμνόν): περιμένω. '''ανάντριστος''', η: ανύπαντρη γυναίκα. '''ανάσκαμμαν''', το: η βρισιά σε νεκρό. '''ανασπάλω''', ρ. (ανασπάλτς, ανασπάλ', ενέσπαλα): ξεχνώ. '''άναυα''', πρόθ.: χωρίς, άνευ. '''αναχάπαρα''', επιρ.: ξαφνικά. '''ανεμικά''', τα (το ανεμικόν): οι ρευματισμοί. '''ανεμοκαλίτζα '''ή''' ανεμοκαλή''', η: ο σίφουνας, ο ανεμοστρόβιλος. '''ανέντροπος''', ο: ξεδιάντροπος. '''ανέξερ'τα''', επίρ.: εν αγνοία. '''ανεφέλ’''', το: ο καταρράκτης στο μάτι. '''ανθρωπέα''', η: η ανθρωπίλα, η μυρωδιά του ανθρώπινου σώματος. '''ανιφτοκάτα''', η (ο άνιφτος, η άνιφτεσα): ο άπλυτος, συνήθως αυτός που δεν πλένεται το πρωί. '''ανοιγάρ’''', το (τα ανοιγάρ<u>α</u>): το κλειδί, (< ανοίγω, ένοιξα, ένοιξαν). '''αντζίν''', το (τα αντζία): το πόδι από το γόνατο μέχρι τον αστράγαλο, η γάμπα. '''αντίκαλον''', το: η ανταπόδοση. '''αντιφέρκουμαι''', ρ.: εναντιώνομαι. '''αντίχαρα '''ή''' αντίγαμος''': συμπόσιο στο σπίτι του γαμπρού ή της νύφης μία βδομάδα περίπου μετά το γάμο (πβ. τ’εφτά, τα λαλέματα, τα συμπέθερα). '''αντράδελφος''', ο (αντράλφος, ανατραδέλφ<u>α</u>): κουνιάδος. '''αντράχνα''', η: αγριοκουμαριά, θάμνος· τα φύλλα του χρησιμοποιούνταν ως φάρμακο κατά της αιμόπτυσης και της αιματουρίας. '''αντρίζω''' (έντρισα, αντρίζνε, άντρισον) '''ανυπόμονεσα''' '''ανωχαλία''', η: αδυναμία. '''αξιναρίτζα''', η: ο τσαλαπετεινός. '''αούτος '''ή''' αούτ', αούτε, αούτον''', αντ. (και ατός, ατέ, ατό, ατοίν, ατά· αβούτος, αβούτε, αβούτεν, αβούτο, αβούτον, αβούτα, αβουτοίντς): αυτός, αυτή, αυτό. '''απαλιμιδέα''', η: το ξαρμύρισμα. '''απάν΄''', επίρ: επάνω (απάν’ ιμ: πάνω μου, απάν’ εσουν: πάνω σου, αποπάν’: από πάνω). '''απανάρυμαν''', το: αραίωμα των φυτών ή φιντανιών στο χωράφι. '''απαντή''', η: η συνάντηση στο δρόμο, η υποδοχή. '''απανωδράνιν''', το: ράφι πάνω από το τζάκι. '''απαρδάλ΄''', το: φόρεμα παρδαλό, φτηνό, οτιδήποτε είναι άξιο να καταστραφεί. '''απαροθυμία '''ή''' απαραθυμία''', η: η απουσία νοσταλγίας για κάτι. '''απέσ΄''', επίρ.: μέσα. '''απιδ<u>α</u>βασέας''', τα: περάσματα βουνών (< απιδ<u>α</u>βαίνω, η απιδ<u>α</u>βασέα, επεδέβα). '''απίδιν '''ή''' απίδ'''' , το: το αχλάδι· '''απιδοζώμ’''' ή '''απιδοζώμιν, απιδοτζίρ’''': ξεραμένο στον ήλιο ή στο φούρνο αχλάδι. '''απιτάγματα''', τα : οι προσταγές. '''απιταχτέρ’ '''ή''' επιταχτέρ’''', το: το παιδί για θελέηματα. '''αποδελαχτέρ’ '''ή''' αποδ<u>α</u>λεχτήριν''', το: αραιή γυναικεία χτένα. '''αποζαγκούμαι''', ρ. : ξεσκουριάζω. '''αποκρίσκομαι''', ρ. : απαντώ. '''απόκαμαν''', το: καούρες στο στομάχι, δυσπεψία. '''αποκαμάρωμαν''', το: αφαίρεση του νυφικού πέπλου ('''καμαρωτέρ’''') από το κεφάλι της νύφης. '''αποκόλλημαν''', το: απογαλακτισμός μωρού. '''αποκουμπιστέρ’''' το: στήριγμα για ξεκούραση. '''απολαδόστομος''', ο: βλάκας, μωρός (πβ. αγλάγανος). '''απονεγκάσκουμαι''', ρ.: ξεκουράζομαι (πβ. αναπάουμαι). '''απόνυφος''', η: νύφη που σύντομα χήρεψε ή εγκαταλείφθηκε (πβ. απόγαμπρος). '''αποπλυμάτ’''', το: ξέπλυμα μαγειρικών σκευών. '''απόρκισμαν''', το: ο εξορκισμός. '''απο<u>σ</u>κευαρίζω''', ρ. (απο<u>σ</u>κευάρτσον): ετοιμάζω. '''απο<u>σ</u>κευάριμαν''', το: μάζεμα των μαγειρικών σκευών μετά το γεύμα. '''αποτενύ''', επιρ: στο εξής, από δω και πέρα (πβ. άλλο). '''απόχαρα '''ή''' αποχαρά''', η: ματαίωση γάμου, απογοήτευση. '''απόχασμα''', το: το χασμουρητό. '''απράναν''', επίρ.: προ ολίγου. '''αραεύω''', ρ. (εράεψα, αράεψον, εράευα): ψάχνω (< τουρκ. aramak). '''αραμπά''', η: η άμαξα, το κάρο (< τουρκ. araba). '''αραπίτζον''', ο: πήλινο μαγειρικό σκεύος μαύρο από τη χρήση. '''αρατώρα''', επίρ.: τώρα δα (πβ. ατώρα). '''αργαστέρ’''', το: το εργαστήρι. '''αργατία''', η: ομάδα εργασίας 5, 10 ή 15 ανθρώπων. '''αργεύω''', ρ. (έργευα): αργώ. '''Αργυρούπολη''', η: πόλη του νομού Τραπεζούντας, τούρκικα Gümüşhane (Γκιουμου<u>σ</u>χανέ, Κιμισχανέ). '''αργώς κι απαργώς''', επίρ.: εκτός χρόνου. '''αρ καλά''', επίρ: καλά λοιπόν. '''αρκάλειμμαν''', το: το λίπος αρκούδας (< άρκτος + αλείφω). '''αρκατά<u>σ</u>α''', τα: φίλοι καλοί (< τουρκ. arkadaş). '''αρκοκαλομάνα''', η: η γιαγιά της γιαγιάς (πβ. λυκοκαλομάνα: η μαμά της γιαγιάς, καλομάνα: η γιαγιά, αρκοπάππον, λυκοπάππον). '''αρματώνω''',ρ. (ερμάτωσαν): στολίζω. '''αρνίουμαι''', ρ.: αρνούμαι '''αρνίτζα''', ή: είδος μανιταριού. '''αροθυμώ''' ή '''αραθυμώ''', ρ. (αραθυμούνε, αραθυμίαν, εροθύμεσα, ερεθύμεσα): νοσταλγώ (πβ. αροθυμία). '''αρρωστικόν''', το: φαγητό προσφερόμενο σε άρρωστο. '''αρτούκ''', επίρ.: πια, δηλαδή (< τουρκ. artık). '''ασηρόχαντος''' ή '''ασηράχαντος''', ο: ο σκαντζόχοιρος. '''ασίχ''', το: παιδικό παιχνίδι, το κότσι. '''ασκεμεσα''' '''α<u>σ</u>λαεύω''', ρ.: μπολιάζω (< τουρκ. aşılamak). '''ασσού''', σύνδ.: αφού. '''ασπαλιγμένος''', ο: κλεισμένος. '''άσπλαχνεσα''' '''ασχανές''', ο: η κουζίνα, το μαγειρείο (< τουρκ. aşhane). '''α<u>τσ</u>άλ'''΄, το: η μοίρα, ο θάνατος. '''α<u>τσ</u>άπα''', επίρ.: άραγε (< τουρκ. acaba). '''ατσιελέν''', το: το επείγον (< τουρκ. acele). '''αφεντάδες''', οι: τα αρσενικά μέλη της οικογένειας για τη νύφη (πβ. ο αφέντης ή αφέντας ή αφέντς, αφεντράδες = κυράδες). '''αφερούμ''', επίρ.: μπράβο (< τουρκ. aferin). '''αφκά''', επίρ.: κάτω. '''αφκατοκόσκινον''', το : κόσκινο για το στάρι. '''αφορεσμένος''', ο (αφορεζμέντσα): καταραμένος. '''αφ’σον''', ρ.: άφησε (αφήνω, εφήνα, εφέκα, εφέκαν, αφ’ς). '''άφτω''', ρ. (έψα): ανάβω (άψιμον). '''αχά''', επιφ.: να!· αχατοχάς: νάτος· αχατοχάδες. '''άχαρος, -ος, -ον''': δυστυχής. '''αχερών''', ο: αχυρώνας (το αχερώνιν, το αχερωνοκάλαθον). '''αχούλ''', το: μυαλό (< τουρκ. akıl)· '''αχουλανεύω''': βάζω μυαλό· αχουλής, αχουλίσσα, αχουλίν. '''αχπάνω''', ρ.: βγάζω, ξεριζώνω. '''αχπάραγμαν''', το: ξαφνικός φόβος από δυνατό θόρυβο· αχπαράζω, αχπάγουμαι, αχπαραγμένος, αχπαράουνταν = τρομάζουν. '''αχπάσκουμαι''', ρ. (αχπά<u>σ</u>κεσαι, αχπά<u>σ</u>κεται, αχπά<u>σ</u>κουμες, εχπάστα): ξεκινώ. '''Β''' '''βαδίζω''', ρ.: περπατώ . βαδίζ'νε. '''βαθέα''', επίρ.: βαθιά / πβ. βαρέα. '''βαθυβολίζω''', ρ.: σκέφτομαι βαθιά, λογικά. '''βαΐτζα''', η: ψωμάκι που έδιναν οι νοικοκυρές στα παιδιά που έψαλλαν τα κάλαντα του Λαζάρου. '''βαλά''', η: καλυμμα κεφαλής της νύφης. '''βάλλω''', ρ.: βάζω / βάλον. '''βαρελόπον''', το: βαρέλι μικρό / βαρέλ’ , τα βαρέλ<u>α</u>. '''βαρκίζω''', ρ.: φωνάζω δυνατά / bαρκίζ'νε. '''βασιέτ''', το: η τελευταία επιθυμία μελλοθάνατου, διαθήκη < (τουρ) vasiyet. '''βασιλέας''', ο: βασιλιάς / βασιλοπούλιν, το: το βασιλόπουλο, η αλκυόνα. '''βαχούτ'''', το: ο καιρός, η εποχή < (τουρ) vakit. '''βεζίρτς''', ο: ο βεζίρης. '''βελόνιν''', το: η βελόνα / βελόν' , τα βελόν<u>α</u>. '''βεντούζας''', τα: οι βεντούζες. '''βερεσμέντσα''', η: η έγκυος /η έμποδος. '''βερκιλής, βερκιλίν''': παραγωγικός, εύφορος < (τουρ) verkili. '''βιλαέτ'''', το: διοικητική περιφέρεια του Οθωμανικού Κράτους < (τουρ) vilayet. '''βιντόφκας''', τα: τα σχοινιά. '''βλαττία''', τα: μεταξωτά και μάλλινα υφάσματα από την Τραπεζούντα κόκκινου χρώματος / το βλαττίν. '''βόζια''', τα: τα ηνία του αλόγου. '''βολετινός''', -ος, -όν: βολικός. '''βολίζω''', ρ.: βουλιάζω / βουλίζω, βουλίουμαι. '''βουδ'''', το: το βόδι / τα βούδ<u>α</u>, η βουρκέντ' = βουκέντρα, το βούτορον, τα βουτούρτα = βούτυρα. '''βούκα''',η: η μπουκιά / βουκώνω . '''βούρα''', η: η χούφτα / τα βούρας. '''βουτυροχάρατσον''', το: φαγητό με βούτυρο και κρεμμύδι. '''βραδ<u>ά</u>σκουμαι''', ρ.: βραδιάζομαι. '''βραδή''', η: το βράδυ, η βραδιά / βράδον = βράδυ, τα βράδ<u>α</u> τα βράδια. '''βρε<u>χ</u>ή''', η: η βροχή / τα βρε<u>χ</u>ία, βρε<u>χ</u>' = βρέχει. '''βρακίν''', το: το βρακί / τα βρακία = σώβρακα. '''βρασόλ'''', το: βραχιόλι / τα βρασόλ<u>α</u>. '''βρούλα''', η: η φλόγα. '''Γ''' '''γαβάλ'''', το: η φλογέρα, ο αυλός < (τουρ) kaval / τα γαβάλ<u>α</u>. '''γαβάνας''', τα: ξύλινα κυκλικά η ελλειπτικά δοχεία για τη διατήρηση του βούτυρου / η γαβάνα. '''γάβζ''', το: η δυσκοιλιότητα < (τουρ) kabız. '''γαβούν'''', το: το πεπόνι, τα γαβούν<u>α</u> < (τουρ) kavun / καβούν'. '''γαβράνα''', η: η κυψέλη /το γουβάν' < (τουρ) kovan. '''γαζανέβω''', ρ.: κερδίζω < (τουρ) kazanmak / γαζανέβ'νε. '''γαϊδούρ'''', το: το γαϊδούρι / τα γαϊδούρ<u>α</u>, το γαϊδούριν. '''γάλ<u>α</u> - γάλ<u>α</u>''', επίρ.: σιγά - σιγά '''γαλατομάλεζον''', το: κρεμώδες φαγητό με γάλα, αλεύρι και βούτυρο. '''γαλατοσύρβ'''',το: σούπα με γάλα και κορκότα / γαλοσίρβ'. '''γαλατοφάι''', το: κρεμώδες φαγητό με γάλα και καλαμποκίσιο αλεύρι. '''γαλατοχάβιτσον''', το: κρεμώδες φαγητό με ανθόγαλα, αλεύρι και γιαούρτι. '''γαλενός''', ο: ήρεμος, γαλήνιος /γαλενά. '''γαλιτσόσ'''', το: φαγητό με τσορτάνια, βούτυρο και κρεμμύδι. '''γαμοκέρ<u>α</u>''', τα: κεριά που στέλνονταν σε συγγενείς κατά το γάμο / ο γάμον, τα γάμ'τα. '''γαμόστολος''', ο: η γαμήλια πομπή. '''γαμπροκάλεσμαν''', το: η πρόσκληση για γλέντι στο γαμπρό και τους συγγενείς του από τους συγγενείς της νύφης. '''γαμπροκούρ΄''', το: χοντρό κούτσουρο που έπρεπε να σχίσει ο γαμπρός πριν από το γάμο / γαμπροκούριν. '''γαμπρολάλ<u>α</u>''', τα: η επίσκεψη του υποψήφιου γαμπρού στο σπίτι της νύφης μετά από πρόσκληση. '''γαμπροφούστορον''', το: αβγά τηγανητά με βούτυρο που έπρεπε να πληρώσει για να φάει ο γαμπρός με τον κουμπάρο πριν μπουν στο σπίτι της νύφης. '''γαντάρ'''', το: το καντάρι, η ζυγαριά / το καντάρ', τα γαντάρ<u>α</u>, '''γαπατεύω ή καπατεύω''', ρ: κλείνω < (τουρ) kapatmak. '''γαραλαΐσματα''', τα: δυνατές γοερές κραυγές πόνου και τρόμου / το γραραλάισμαν, γαραλαΐζω. '''γάραμσον''', το: ο μαϊντανός / γάραμψον. '''γαράσαπαν''', το: είδος ξύλινου αρότρου με σιδερένιο υνί < (τουρ) karasaban. '''γαργάν''', το: χορός του Ακ Νταγ Μαντέν. '''γαρή''', η : η γυναίκα, η σύζυγος < (τουρ) karı / γαρήδες, γαρηδίων, καρή, γαρή μ' = γυναίκα μου γαρή σ' = γυναίκα σου, γαρή ατ'. '''γαρσουλαεύω''', ρ.: συγκρίνω < (τουρ) karşılaştırmak. '''γελέκ'''', το: το γιλέκ’ < (τουρ) yelek / γιλάκ' , γελάκ'. '''γέλος''', το: γέλιο /γέλτον = γέλιο, τα γέλ’τα, εγέλανα. '''γεμενία''', τα: χαμηλά χωρίς τακούνι αντρικά παπούτσια από δέρμα κατσίκας. '''γεμί<u>σα</u>''', τα: φρούτα, καρποί. '''γεννίουμαι''', ρ.: γεννιέμαι / εγεννέθα, εγεννέθαν. '''γερά''', η: η πληγή < (τουρ) yara / τα γεράδες, οι γεραλαεμέν'. '''γερανόφορος''', η: ντυμένη με σκούρα ρούχα μεσόκοπη γυναίκα / γερανέεν = γαλάζιο. '''γεργανόπον''', το: το παπλωματάκι < (τουρ) yorgan / το γιοργάν, τα γιοργάν<u>α</u>. '''γερντάν<u>α</u>''', τα: το περιδέραιο < (τουρ) gerdan = λαιμός /το γερντάνιν / το γκερντανλούκ. '''γιαγλία''', τα: πίτες σε σχήμα βάρκας γεμισμένες με διάφορα υλικά, τυρί, κιμά, αυγά και ψημένες στο φούρνο < (τουρ) yağ = λίπος / το γιαγλίν. '''γιαγμουρλία''', τα: τα αδιάβροχα < (τουρ) yağmur = βροχή / το γιαγμουρλoύκ. '''γιαϊλά''', η: ορεινός εξοχικός τόπος, το παρχάρ' < (τουρ) yayla. '''γιαμ''', σύν.: μήπως / γιόκσα, γιοκ = όχι, για ... για + ή ... ή < (τουρ) ya ... ya. '''γιαραεύω''', ρ.: χρησιμεύω < (τουρ) yarama,yaramaz. '''γιαρούσ'''' , το: ο συναγωνισμ'ος, η άμιλλα < (τουρ) yarış. '''γιασμάς''', ο: χρωματιστό μαντίλι που τύλιγαν γύρω από το φέσι < (τουρ) yaşmak / ή γιαζμά. '''γιατάκ’''', το: το κρεβάτι, το στρώμα < (τουρ) yatak. '''για το ποίον''': γιατί, για ποιο λόγο / για τ’ ατό, για τ’εμέν, για τ’εσ’εν, για τ’ατείντζ. '''γιαχνίν''', το: φαγητό με κρέας, πατάτες, κρεμμύδια, σάλτσα. '''γιαχού''', το: έμπλαστρο < (τουρ) yakı. '''γιοντζά''', η: το τριφύλλι < (τουρ) yonca. '''γιοσμάς''', ο: κομψός νέος / το γιοσμαλίκιν, γιοσμαλούκ', η γιοσμάσα. '''γιουμουρταλία''', τα: πίτες με αυγά < yumurta = αυγό. '''γιούρτιν''', το: βοσκότοπος σε κατηφορική πλαγιά βουνού. '''γιουφκάδες''', τα: λεπτά φύλλα από ζύμη ψημένα στο σάτσι < yufka. '''γκιομλέκι''', το: το πουκάμισο < (τουρ) gömlek. '''γλιάζω''', ρ.: γλιστρώ / γλιάζ'νε, εγλίαξα = γλίστρισα, εγλίαξαν. '''γλυκοκαλά<u>τζ</u>εμαν''', το: η γλυκιά ομιλία. '''γλύνω''', ρ.: λειώνω '''γναφίν''', το: η γνάθος, το σαγόνι / τα γναφία = το πρόσωπο. '''γνεφίζω''', ρ.: ξυπνώ / γνεφίζ'νε, εγνέφ'σα, εγνέφ'σαν. '''γνωρίζω''', ρ.: εγνώρτσα, εγνώρτσαν. '''γοϊμ<u>σ</u>ής'''. ο: o χρυσοχόος < (τουρ) kuyumcu / κοϊμ<u>τζ</u>ής, κουιμ<u>τζ</u>ής. '''γολτούκ'''', το: η μασχάλη < (τουρ) koltuk / κολτούκ'. '''γομάρ'''', το: το φορτίο / γομάριν, σελέκ', σαλάκ'. '''γομώνω''', ρ.: γεμίζω / εγόμωσα, εγόμωσαν. '''γονάχ'''' , το: το αρχοντικό, το παλάτι < (τουρ) konak / το κονάκ', το κονάκιν, γονεύω = μένω, διανυκτερεύω. '''γονουσεύω''', ρ.: μιλώ, συζητώ < (τουρ) konuşmak / γονουσέματα. '''γορό<u>σα</u>''', τα: τα γρόσια, (τουρ) kuruş. '''γοτζαμάνος''', ο: ο γέρος, ο σύζυγος < (τουρ) kocaman / κοτζαμάνος. '''γουεύω''', ρ.: λυπάμαι / εγούεψα. '''γουζέβω''', ρ.: θυμώνω < (τουρ) küsmek / γουζέβ'νε, γουζεμένος = θυμωμένος, γουζεμέντσα, εγούζεψα, εγούζεψαν. '''γούλα''', η: ο λαιμός / τα γούλας = αμυγδαλίτιδα, το γουλά<u>σ</u>' = διφθερίτιδα, γουλέας, γουλαρία, ση γούλα σ' ερούξεν; η γούλα τ' εγομώθεν = βούρκωσε. '''γουή''', η: η όχθη, η παραλία / το κουίν = πηγάδι, υπόγειο, το γουβίν. '''γουρεύω''', ρ.: στήνω, αρχίζω < (τουρ) kurmak. '''γουρζουλάς''', ο: η πανούκλα, ο διάβολος. '''γουρνούμαι''', ρ.: ουρλιάζω / το γούρνιαγμαν. '''γουρου<u>τζ</u>ής''', ο: αγροφύλακας < (τουρ) korucu. '''γουρουχ<u>τζ</u>ής''', ο: πρακτικός γιατρός για κατάγματα < (τουρ) kırık. '''γουρπάν''', το: η θυσία < (τουρ) kurban / γουρπάν να ίνουμαι. '''γουρταρεύω''', ρ.: σ΄ψζω < (τουρ) < kurtarmak / το γουρτάρεμαν, εγουταρέφτα, εγουταρέφταν. '''γραίας τηγάν'''', το: ομελέτα με καλαμποκίσιο αλεύρι, αυγά και βούτυρο / γραία, γραιάδες. '''γραμματισμέν'''', οι: οι μορφωμένοι, ο γραμματισμένον, η γραμματισμέντσα. '''γρίζεμαν''', το: εκχέρσωση χέρσου εδάφους. '''γριζομάκελον''', το: μεγάλη τσάπα για βαθύ σκάψιμο. '''γυναικίζω''' '''γυροκλώσκουμαι''', ρ.: τριγυρνώ. '''Δ''' '''δ<u>α</u>βαίνω''', ρ.: περνώ, διαβαίνω / δέβα, δεβάτεν, εδέβηνα, εδέβα, εδέβασες ατό κα, αποδ<u>α</u>βαίνω, επεδέβα. '''δ<u>ά</u>βολον''', ο: ο διάβολος / τη δ<u>α</u>βόλ' η κάλτσα, δ<u>α</u>βολσύνε. '''δάκλυμαν''', το: ο καθαρισμός, ο εξαγνισμός. '''δακρ'''', το: το, / δάκρυ, τα δάκρ<u>α</u>. '''δάκω''', ρ.: δαγκώνω / δάκ'νε, δάκσον = δάγκωσε. '''δάνος''', το: ο δανεισμός πραγμάτων. '''δ<u>α</u>ρμηνεία''', η: η συμβουλή. '''δ<u>α</u>σκάλτσα''', η: δασκάλα / οι δ<u>α</u>σκάλ', ο δ<u>α</u>σκαλον. '''δ<u>α</u><u>σκ</u>εύω''', ρ.: συμβουλεύω. '''δ<u>α</u>τάζω''', ρ.: διατάζω / δ<u>α</u>ταγή, δ<u>α</u>τάχκουμαι, εδ<u>α</u>τάχτα. '''δαυκίν''', το: το καρότο. '''δέβα''', ρ. : πήγαινε / δεβάτεν, το δέβα και έλα. '''δέ<u>ζ</u>'μ΄''', το: ο δυόσμος / τα δεζ'μα. '''δεικνύζω''', ρ.: δείχνω / δειξίζω, εδέκνιζα, εδέκνισα = έδειξα. '''δειλ<u>α</u>σμένα''', επιρ.: δειλά. '''δελιάουμαι''',ρ.: μπερδεύομαι. '''δείσα''', η: η ομίχλη. '''δελ<u>ά</u>ζω''', ρ.: μπερδεύω, εμπλέκω / εδελίασα. '''δεμέσια''', τα: χορτόπιτες / το δεμέσιν. '''δε<u>ξ</u>ά''', επίρ.: δεξιά. '''δεξάμενος''', ο: ο νουνός / δεξαμέντσα, σύντεκνος, συντέκν'σα, το δεξιμάτ', η δεξιματέα = βαφτιστικιά. '''δερνοκοπίουμαι''', ρ.: θρηνώ, ολοφύρομαι. '''δέχκουμαι''', ρ.: δέχομαι / εδέχτα. '''διαβολολάγηνον''', το: το σταμνί με τη μαγιά για το τυρί. '''διβώλισμα''', το: το όργωμα του χωραφιού για δεύτερη φορά. '''δίγω''', ρ.: δίνω / δίεις ή δι'ς, δίγει ή δι, δίγ'νε, δίν'νε, εδώκα ή εδέκα, εδέκαν, δος, δι και παιρ'. '''διδυμάρ<u>α</u>''', τα: τα δίδυμα. '''δίκαια''', τα: τα δώρα που έστελνε την παραμονή του γάμου ο γαμπρός στη νύφη. '''δικούριν''', το: το μαλλί του προβάτου που κουρεύεται για δεύτερη φορά. '''δικράνιν''', το: ξύλινο εργαλείο σε σχήμα διχάλας για τη φόρτωση του σανού. '''δίλαβον''', το: καζάνι μεγάλο με δύο λαβές / δίλαβον χαλκόν. '''δι<u>χ</u>ερέα''', η: ποσότητα υλικών που χωράει στις δύο παλάμες / το διχέριν. '''δίχωτα ή δίχουτα''', επίρ.: με δυο γνώμες. '''διώχω''', ρ.: διώχνω / διώεις, διώ<u>χ</u>'. '''δό<u>σα</u>''', τα: η προίκα. '''δουρβάν'''', το: ξύλινο εργαλείο σε σχήμα βαρελιού για το κτύπημα του γάλακτος και την παραγωγή του βουτύρου / δρουβάν', ξυλλάγγ', δουρβανίζω. '''δουλεία''', η: η δουλεία / δουλόπον. '''δρανίν''', το: ράφι σε τοίχο του σπιτιού. '''δώμαν''', το: οριζόντια από χώμα στέγη οικίας. '''δώρημαν''', το: το δώρο / δωρόπον. '''Ε''' '''έβγα''', η: η έξοδος / εβγαίνω, εβγώνω, εβγών'νε ή εξέβα, έβγα, εβγάτεν,εβγάλω, εβγάλ'νε. '''εβόρα''', η: η σκιά '''εβριστόν''', το: ζυμαρικό του Πόντου προψημένο, ξερόν μακαρίνα / το ιβριστον. '''εγάπ'''', η: η αγάπη / εγάπανα, εγάπαναν, εγάπεσα, εγάπεσαν. '''έγκα, έγκες, έγκε''', ρ.: έφερα, έφερες, έφερε / φέρω. '''εγκλεσία''', η: η εκκλησία / τα εγκλεσίας. '''εγνωρίζω''', ρ.: γνωρίζω / γνωρίζω, εγνώρτσα = γνώρισα, εγνώρτσαν. '''εθαρρώ''', ρ.: θαρρώ, νομίζω / εθαρρούν, εθάρνα, εθάρναν. '''έικιτι''', επιφ.: επιφώνημα νοσταλγίας. '''εκανέθεν''', ρ.: φτάνει / κανείται. '''εκειαπέσ''''. επίρ.: εκεί μέσα / εκεπά = εκεί πέρα, εκέκα = εκεί, εκές = προς τα κει, επεκεί = αποκεί,κατόπιν. '''έκλωσεν''', ρ.: γύρισε, επέστρεψε / κλώσκουμαι, εκλώστεν, κλώστ', κλωστός, άκλωστος . '''εκόμπωσεν''', ρ.: ξεγέλασε / κομπώνω. '''εκούξεν''', ρ.: φώναξε / κουίζω. '''έλα''', η: ο ερχομός, η επίσκεψη. '''ελέπω''', ρ.: βλέπω / ελεπ'ς, ελέπ', έλεπα, έλεπον = δες. '''Έλλενος ή Έλλενας''', ο: ο Έλληνας / ελλενικός. Εκαμώθα :προσποιήθικα '''έμνοστος, -ος, -ον''': νόστιμος, έμνοστα. '''έμορφος, έμορφεσα, έμορφον''': όμορφος / έμορφα. '''εμπαίνω, ρ.'''. : μπαίνω / εμπαίντ'ς, η έμπα, εσέβα, έμπα, εμπάτεν. '''εμποδέα''', η: γυναικεία, συνήθως ριγωτή, ποδιά μακριά μέχρι τους αστραγάλους. '''έμποδος''', η: η έγκυος / η δίψυχος. '''έμπρ<u>α</u>''', επίρ.: μπροστά / έμπρ<u>α</u> μουν, έμπλ<u>α</u> σουν, εμπρικέσ’. '''εμπροκάρδ<u>α</u>''', τα: το στήθος της γυναίκας. '''εμπρομαμή''', η: η βοηθός της μαμής. '''εμπροστάλιν''', το: στηθόπανο, ένδυμα που φοριόταν πάνω από τα στήθη. '''εμπροστία''', η: ο σιδερένιος τρίποδας στο τζάκι για βράσιμο νερού. '''έμπρουμεραν''', επίρ.: προχθές. '''εναύλια''', τα: χωράφια που είναι κοντά στο χωριό. '''ενεμείνα''', ρ.: περίμενα / αναμένω. '''ένοικον''', το: το σπίτι, η κατοικία. '''ενούντσεν''', ρ.: σκέφτηκε / νουνίζω. '''εντάμαν''', επίρ.: μαζί. '''εντρανώ''', ρ.: φροντίζω. '''εντώκα''', ρ.: κτύπησα / κρούω. '''εξαγούρεμαν''', το: η εξομολόγηση / εξαβούρεμαν. '''εξαπέ<u>σ</u><u>α</u>''', επίρ.: αλλοπρόσαλλα. '''έξεργος''', η: γιορτή, αργία '''εξέρω''', ρ.: ξέρω, γνωρίζω / εξέρτ'ς, έξερον = να ξέρεις. '''εξηγίζω''', ρ.: εξηγώ / εξηγί'εις. '''εξωπότιν''', το: το τελευταίο ποτήρι του ποτού. '''εξώρας''', επίρ.: αργά. '''εξωτέρα''', η: το πολιτικό δικαστήριο. '''επ' αληθείας''', επίρ.: στ' αλήθεια. '''έπαρ'''', ρ.: πάρε / παίρω, παίρνω. '''επεβγάλω''', ρ.: ξεπληρώνω. '''επεΐ''', επίρ.: αρκετά < (τουρ) epeyce. '''επεκεί''', επίρ.: έπειτα. '''εποίκες''', ρ.: έκανες / εφτάω, εποίν'να, εποίκα, ντ' έποικες. '''επλώθεν''', ρ.: απλώθηκε / απλούμαι. '''επορώ''', ρ.: μπορώ / επόρνα, επόρναν. '''έργανον''', το: όργανο. '''έργατα''', τα: έργα '''ερέχκουμαι''', ρ.: μου αρέσει / ορέχκουμαι, ερέχτα. '''εριάζω''',η οριάζω ρ.: φυλάω / εριάζ'νε, ερίαζα, ερίαζαν, ερίαξα, ερίαξαν, ερία = πρόσεξε, ερίαμαν = σκοπιά, βάζω όρια. '''εριστέας''',ο : ο εριστικός. '''έρχουμαι''', ρ.: έρχομαι / έρται, έρτα ή έρθα. '''ερωτώ''', ρ.: ρωτάω / ερώτανα, ερώταναν, ερώτεσα, ερώτεσαν ερωτέθα, ερωτέθαν. '''ε<u>σ</u>ά<u>σ</u>εψεν''', ρ.: σαστίζω < (τουρ) şaşırmak / <u>σ</u>α<u>σ</u>εύω. '''εσγάρα''', η: η σχάρα. '''εστά''', ρ. : στάσου / εσταθέστεν. '''εσχωρώ''', ρ.: συγχωρώ. '''ετοιμάγουμαι''', ρ.: ετοιμάζομαι / ετοιμαέστεν. '''ετότες''', επίρ.: τότε. '''ευκαιρώνω''', ρ.: αδειάζω / ευκαιρών'νε, ευκαίρωσα, ευκαιρώθεν, εύκαιρος = άδειος, απρόσεκτος, επιπόλαιος, η εύκαιρεσα = η άδεια. '''ευκούμαι''', ρ.: εύχομαι. '''ευρεμάτ'''', το: κάτι χαμένο που βρέθηκε / το ευρεμάτιν, ευρήκω, ευρίουμαι, εύρηκον = βρες. '''ευρίσκω''', ρ.: βρίσκω / ευρίκω, ευρίκ'νε, εύρα, εύραν, ευρίουμαι,ευρίουνταν . '''ετέκ’''', το: η φούστα < (τουρ) etek / ετέκιν. '''εφέκα''', ρ.: άφησα / αφήνω, εφήνα. '''εφέρθα''', ρ.: συμπεριφέρθηκα / φέρκουμαι. '''εφτάω''', ρ.: κάνω / εφτάγω, εφτάς, ευτάει, εποίκα. '''εφτάνω''', ρ.: φθάνω / εφτάνε = φθάνουν. '''εχάθα''', ρ.: χάθηκα / χάμαι = χάνομαι. '''ε<u>χ</u>ετεία''', η: η περιουσία. '''εχολομανίγα''', ρ.: νευρίασα / χολομανίουμαι. '''εχπούλ''', το: το μικρό πουλί που βγαίνει από το αυγό / το πιλίτζ’, το πιλιτζιν. '''εχτήθα''', επίρ.: από στήθους, παπαγαλία. '''έχω, έεις, ε<u>σ</u>'''', ρ.: έχω, έχεις, έχει / έχνε. '''Ζ ''' '''ζα''', τα: τα ζώα. '''ζαγάρ'''', το: το ζαγάρι. '''ζαγκότσον''', ο: ο καντηλανάφτης / ζαγκότζ’. '''ζαγκώνω''', ρ.: σκουριάζω / ζαγκωμένος. '''ζαέρ''', επίρ.: πιθανώς. ίσως. '''ζαλίουμαι''', ρ.: ζαλίζομαι / ζαλίγουμαι, εζαλίγα = ζαλίστηκα, εζαλίγαν. '''ζαμάν''', το: ο καιρός, διάστημα < (τουρ) zaman / έναν καιρόν κι έναν ζαμάν. '''ζαντός,''' ο: ο τρελός / παλαλός, ζαντίνω, εζάντινα = τρελάθηκα, εζάντιναν, ζαντέ = τρελέ, η ζάντενα = τρελή, η ζαντέσα = τρελή, τα ζαντίας = τρέλες. '''ζαρούδ<u>α</u>''', τα: οι ζάρες / το ζαρούδιν. '''ζατί''', επιρ.: εξάλλου < (τουρ) zaten / ζατίμ. '''ζελεύω''', ρ.: ζηλεύω. '''ζεμία''', η: η ζημία. '''ζενγκίν''',ο: ο πλούσιος < (τουρ)zengin . '''ζεπίρες''', οι: τα κουνάβια / η ζεπίρα. '''ζερταλίδιν''', το: το βερίκοκο. '''ζίλ’''', το: η ψιλή φωνή της λύρας. '''ζιντζίρ<u>α</u>''', τα: οι αλυσίδες < (τουρ) zincir = αλυσίδα. '''ζίπκα''', η: παντελόνι αντρικό μέχρι τους αστραγάλους, χωρίς άνοιγμα μπροστά, με ζώνη. '''ζιπούνα''', η: σταυρωτό πουκάμισο για τους άνδρες, για τις γυναικες το μακρύ μέχρι τους αστραγάλους ριχτό με φαρδιά μανίκια φόρεμα / ζουπούνα. '''ζογούδ’''', το: η πυκνή χλόη του βουνού. '''ζουρνά''', η: ο ζουρνάς, οξύαυλος. '''ζύμωτρον''', το: σκάφη για ζύμωμα / το ζυμαρομάντιλο, ο ζυμοστάτες, ζουμάρ', ζουμώνω = ζυμώνω, ζουμών'νε. '''ζωνάρ’ τη Παναγίας''': το ουράνιο τόξο. '''Η''' '''ηβορίζω''', ρ.: λιχνίζω / ηβορίζ'νε, ηβόρριζα, ηβορρίζω, ηβορρίουμαι, ηβόρτσα, το ηβόρισμαν, ιβορίζ'νε, ιβορίζω, ιβόρισμαν. '''ηλάζω''', ρ.: γαβγίζω / ηλάζ'νε, ήλαζα, ήλαζαν, ήλαξα, ήλαξαν, ήλαξον = γάβγισε. '''ηλάσκουμαι''', ρ.: ηλιάζομαι / ηλάστα = ηλιάστηκα. '''ηλέπορον''', το: το εύηλιο μέρος, το λιακωτό. '''ήλ<u>ο</u>ν''', ο: ο ήλιος / ήλöς, ήλες, ηλοξάψιμον = λιοπύρι, ηλοχάραγμαν = ανατολή ήλιου. '''ηλιόπαρμαν''' ή ηλέπαρμαν, το: η ανατολή του ήλιου. '''ηλ<u>ό</u>βρε<u>χ</u>η''', η: η βροχή με ήλιο. '''ηλ<u>ο</u>κόρασον''', το: κορίτσι πολύ όμορφο. '''ημερκόν''', το: το μεροκάματο / ημερομίστιν. '''ήμπαν''', επίρ.: όπου / ήμποι = όποιοι, ήμποιεσα = όποια, ήμποιος = όποιος. '''ημ'σός, ημ'σή''', επίθ.: ο μισός / ημ'σοί, ημ'σά, ημ'σόν. '''ήντ<u>α</u>ν''', αντων.: οτιδήποτε / ήντιναν = όποιον, όποιαν, ήντιαν = ότι, ήντιν' = όποιοι, ήντινος = όποιου. '''ήντζαν''', αντων.: όποιος / ήντζ', ήντσαν, ήμποιος. '''ήπαρη''', η: το συκώτι, ο αφαλός. '''ησυχίζω''', ρ.: ησυχάζω / η ησύχαση, η ησυχασία, ηήσυχεσα = ήσυχη. '''Θ''' '''θαλασσάκρα''', τα: η ακρογιαλιά / το θαλασσάκριν, θαλασσέα = θαλάσσια αύρα, θαλασσομάνα = μέδουσα, τσούχτρα, θαλασσοπούλ', το θαλάσσωμα = τρικυμία. '''θαμαστός''', επίθ.: θαυμαστός, παράξενος / η θαμαστέσα, το θάμαν, το θάμαγμαν = θαυμασμός, θαμάζω, η θαμαντουρία = μεγάλο θαύμα, το θάμασμαν. '''θανατίτζα''', η: το κακό σπυρί,το εξάνθημα άνθρακας / θανατέα = ετοιμοθάνατος, θανατίτα = πικρόχορτο, θανέσα, η: το μετά την κηδεία γεύμα. '''θάφτω''', ρ.: θάβω / θάφκουμαι, θάψον. '''θεκάριν''', το: η θήκη / θεκάρ'. '''θέκω''', ρ.: βάζω, θέτω / θέκ'ς, θεκ'. '''θέκλα''', η: κουτσομπόλα / θεκλεύκουμαι, ο θεκλέας = χαϊδεμένος, η θεκλού, η θεκλεία = χάιδεμα. '''θελκός''', ο: θηλυκός / θελκέσα. '''θέλω''', ρ.: θέλω / θελτς, θέλ'νε, εθέλ'να, θέλ'μαν,θέλσιμον, θελ'ματάρτς. '''θεμέλ' ή τεμέλ''', το: το θεμέλιο. '''θεοτικός''', ο: θεοσεβής / θεοτικέσα, θεόφοβος, θεοξύριστος = σπανός, θεοπάλαλος. '''Θερ'νός''' ή θερ'νόν ή χορτοθέρτς, ο: ο Ιούλιος. '''θέρωτρα''', τα: τα προγαμιαία δώρα του γαμπρού στη νύφη. '''θημίζω''', ρ: λέω τα κάλαντα, χορεύω το γαμήλιο χορό / το θήμισμαν, το θημιστόν = ειδικός γαμήλιος χορός. ''''θόγαλα''', το: αθόγαλα, ανθόγαλα, καϊμάκι του γάλακτος / 'θογαλοχάβιτσον, θογαλίζω = χωρίζω το ανθόγαλο, θογαλότανον = αριάνι. '''θρέφω''', ρ: τρέφω / θρέβω, θρέφτω, θρέφκομαι, θροφή. '''θρυμούλιν''', το: ψίχουλο από ψωμί / θρυμμουλίζω, θρουμούλ', θρουμουλίζω, θρουμούλιν. '''θύμαρη''', η: το θυμάρι / θομάριν, θομάρ', θομαρέα = μυρωδιά θυμαριού. '''θυμίαμαν''', το: θυμίαμα, λιβάνι / θυμίωμαν, θυμιαματέα = μυρουδιά θυμιάματος, θυμιαντόν = λιβανιστήρι. '''θυμούμαι''', ρ.: θυμάμαι / εθυμέθα, εθυμέθαν. '''θωρέα''', η: όψη, εμφάνιση / θεωρητικός = παρουσιαστικός, θεωρητικέσσα. '''Ι''' '''ιβριστόν''', το: ζυμαρικό του Πόντου προψημένο/ εβριστόν. '''ιγδίν''', το: γουδί. '''ιγεύω''', ρ.: ταιριάζω <(τουρ) uydurmak / ιεύω, ίεμαν = ταίριασμα, ίεψα. '''ίδρος''', ο: ιδρώτας / ιδροκοπώ, ιδρωματέα = μυρωδιά ιδρώτα, ιδροφτείρα = ψείρα από ιδρώτα, ίρδος, ιρδώνω, ίρδωνα, ίρδωσα. '''ιθάκιν''', το: ο μαστός της αγελάδας. '''ίλ<u>α</u>''', επίρ.: ιδίως, προπαντός / ίλ<u>α</u>μ. '''ιλοίφιν''', το: πάνινη μικρή σακούλα για λούσιμο με το σαπούνι. '''ιμαρέτ''', το: φιλανθρωπικό ίδρυμα, πτωχοκομείο < (τουρ) imaret. '''ιμπρίκ''', το: το μπρίκι, < (τουρ) ibrik. '''ινανεύω''', ρ.: πιστεύω, εμπιστεύομαι < (τουρ )inammak, ινάνευα, ινάνεψα, το ινάνεμα = πίστη, ινανμάζης = αμετάπειστος, ινανμάζαινα, ινανμάζ. '''ι<u>şτ</u>έ''', επιφ.: να, ορίστε, δηλαδή < (τουρ) işte. '''ίστονιν''', το: αντρικό εσώρουχο / ισλίκ. '''ιστορίζω''', ρ.: αφηγούμαι, διηγούμαι. '''Κ''' '''καβάκια''', τα: οι λεύκες < (τουρ) kavak / το καβάκιν. '''καβαλάρτς''', ο: καβαλάρης, ο ιππέας / η καβαλαρέα. '''καβουρμάδες''', τα: κομμάτια από κρέας που τσιγαρισμένα με λίπος τα διατηρούσαν όλο το χειμώνα < (τουρ) kavurma / η καβουρμά, γαβουρμά / καβουρεύω = τηγανίζω. '''καγάν’''', το: δρεπάνι με κοντή ξύλινη λαβή. '''κάζ'''', το: η χήνα < (τουρ) kaz. '''καζανεύω''', ρ.: κερδίζω < (τουρ) kazanmak. '''καθαροψώμ'''',το: το ψωμί από σκέτο σιτάρι. '''κάθκα''', ρ.: κάθισε / καθκά, καθέστεν. '''καϊ<u>σ</u>'''', το: η ζώνη < (τουρ) kayiş / γαϊ<u>σ</u>'.. '''κακόσυρτος''', επιθ.: δύστροπος '''κακοφέρκουμαι''', ρ. συμπεριφέρομαι άσχημα / εκακοφέρθα. '''κακοχάπαρος''', επίθ.: εκείνος που φέρνει κακές ειδήσεις. '''καλαμόπον''', το: το καλαμάκι. '''Καλαντάρτς''', ο: ο Ιανουάριος / καλαντοκούρ', καλαντόνερον, Καλαντόφωτα. '''καλαπαλούκ'''', το: καλαμπαλίκι, περιττό πράγμα < (τουρ) kalabalik. '''καλάπως''', επίρ.: βέβαια. '''καλατ<u>σ</u>εύω''', ρ.: μιλάω / καλατ<u>σ</u>ή, τα καλατ<u>σ</u>ίας, καλατ<u>σ</u>εύνε, καλάτ<u>σ</u>ευα = μιλούσα, καλάτ<u>σ</u>ευαν, καλάτ<u>σ</u>εμαν, καλατ<u>σ</u>εμένα = μιλημένα, καλάτ<u>σ</u>εψα. '''κάλη''', η: η σύντροφος, η αγαπημένη / καλλεμέντσα = όμορφη, τα κάλλεα = η ομορφιά. '''καλκεύω''', ρ.: καβαλώ / κάλκεψον. '''καλλίον''', επίρ.: καλύτερα / καλός, καλέσα, καλλύνω = θεραπεύομαι. '''καλομάνα''', η: η γιαγιά / λυκοκαλομάνα, αρκοκαλομάνα, λυκοπάππον, αρκοπάππον. '''Καλομηνάς''', ο: ο Μάιος. '''καλοτερώ''', ρ.: κυττάζω προσεκτικά, ξαναβλέπω. '''καλωσηρθίασμαν''', το: καλωσόρισμα / η καλωσωρία. '''κάμα''', η: σπαθί γυριστό, χαντζάρι < (τουρ) kama. '''καμαρωτέρ’''', το: πέπλο με το οποίο σκέπαζαν το κεφάλι της νύφης / το καμαρωτέριν, η καμάρα. '''καματερός''', επίθ.: δουλευτάρης / καματερέσα πβ. κακούργεσα, καλόχρονεσα, κοτυλεμέντσα = αδύνατη, κοντέσα = κοντή, κουτσέσα = κουτσή, λεγνέσα, λιφτέσα = ελαφρόμυαλη, λουσμέντσα = λουσμένη, λυγερέσα, μικρέσα, μυξέσα. '''καμίαν''', επίρ: ποτέ. '''καμίσ’''', το: αντρικό ή γυναικείο πουκάμισο. '''κανείται''', ρ.: φτάνει / κανείνταν, εκανέθεν, κανείσαι. '''κανόνιν''', το: το νεκροκρέβατο που είχε η εκκλησία κάθε ενορίας. '''καντσίν''', το: η ψύχα του ξηρού καρπού. '''κάουμαι''', ρ.: καίγομαι. '''καπίτς''', το: το αλεστικό δικαίωμα του μυλωνά. '''καπούσκα''', η: φαγητό με χοιρινό κρέας, λάχανο τουρσί, κόκκινη πιπεριά και βούτυρο < (τουρ) kapuska. '''καρακόλιν''', το: αστυνομικό τμήμα < (τουρ) karakol. '''καρβών'''', το: το κάρβουνο / καρβώνιν, τσιλίδ'. '''καρκαρίζω''',ρ.: κάνω θόρυβο, βροντώ. '''καρμενέτσα''', η: ρόκα, ηλακάτη, ξύλινο εργαλείο για το γνέσιμο του μαλλιού. '''καρτά<u>σ'</u>''', το: ο αδελφός < (τουρ) kardaş / καρτά</>σ</u>ιν. '''καρτόφ<u>α</u>''', τα: οι πατάτες / το καρτόφιν, καρτοφοφούστορον, καρτοφοτήγανον. '''καρτοφοτήγανον''', το: πρόχειρο φαγητό με πατάτες που βράζονται και τηγανίζονται με κρεμμύδι και λάδι. '''κασκάρα''', η: καρακάξα '''κάστρεν''', ο: το κάστρο. '''καταλαχού''', επίρ.: κατά τύχη. '''καταμάγια''', η: σκούπα από κουρέλια για το φούρνο. '''κατενίζω''', ρ.: ξεπλύνω / κατενίζ'νε, κατενόν = καθαρό. '''κατσίν''', το: πρόσωπο / τα κατσία. '''καυκία''', τα: ποτήρια, τάσια / καυκίν. '''καφούλιν''', το: θάμνος / τα καφούλ<u>α</u>, καφουλόπον ,. '''καφτάν'''', το: πολυτελές επίσημο πανωφόρι < (τουρ) kaftan. '''κεβεζελεύω''', ρ.: μιλάω πολύ / κεβεζελεύ'νε, κεβεζέας = πολυλογάς, κεβεζού. '''κελπεστία''', τα: οι μπριζόλες. '''κεμεντζέ''', η: η λύρα του Πόντου < (τουρ) kemençe / κεμεντζές, κεμανές. '''κεντίρ''', το: η ινδική κάνναβη, χασίσι < τουρ) kendir. '''Κερεκή''', η: Κυριακή, Δευτέραν, Τρίτ', Τετράδ', Πέφτ', Παρασκευήν, Σάββαν. '''κερεντή''', η: μεγάλο δρεπάνι με ξύλινο χερούλι. '''κεσκέκ’''', το: γαμήλιο ή εορταστικό γεύμα με κρέας από κοτόπουλο ή κατσίκι ή μοσχάρι και αποφλοιωμένο σιτάρι και περιχυμένο με λειωμένο βούτυρο < (τουρ) keşkek. '''κι άλλο </>x</u>ειρ'''', επίρ: χειρότερα. ''''κι εν''', ρ.: δεν είναι (ενικός) / 'κ’ είναι = δεν είναι (πληθυντικός), 'κι’ έχω = δεν έχω, 'κι’ έχνε. '''κιντέας''', τα: οι τσουκνίδες / κιντέατα, κινθέα, κνιδέα. '''κιφάλ'''', το: το κεφάλι / ξερόν κιφάλ', τρανόν κιφάλ', '''κλαινίζω''', ρ.: κάνω κάποιον να κλαίει. '''κλέμια''', τα: η ζώνη. '''κλιβάν’''', το: εστία, ταντούρ, ορθογώνιο κτίσμα στην κουζίνα ύψους εβδομήντα εκατοστών με μεταλλικό κύλινδρο διαμέτρου πενήντα εκατοστών. '''κλίσκουμαι''', ρ.: σκύβω / κλίσκουνταν. '''κλώθω''', ρ.: επιστρέφω / κλώσον, κλώσκουμαι, κλωστός, κλωστοτήγανον. '''κοβλάκια''', τα: κουβάδες από ξύλο έλατου για το γάλα / κοβλάκ'. '''κοεμτζής''', ο: ο χρυσοχόος < (τουρ) kuyumcu / γοεμτζής, κουιμτζής. '''κοζέρ'''', το: μεγάλο κόσκινο για το στάρι. '''κοκίν''', το: σιτάρι / κοκία = κόλυβα. '''κοκκύμελον''', το: το κορόμηλο, το δαμάσκηνο, η δαμασκηνιά / κοκκίμελον, κοκκίμελα. '''κοκνέτσα''', η: μάλλινο τετράγωνο ύφασμα το τύλιγαν οι γυναίκες πάνω από τη ζιπούνα από τη μέση μέχρι τις γάμπες. '''κολλίζω''', ρ.: ανάβω, καίγομαι. '''κολόθ<u>α</u>''', τα: μικρά ψωμάκια που τα μοίραζαν για τις ψυχές των νεκρών. '''κομές''', το: κοτέτσι < (τουρ) kümes. '''κομπώνω''', ρ.: ξεγελώ / κομπών'νε, κόμπωμαν. '''κονεύω''', ρ.: μένω, κάθομαι, σταθμεύω < (τουρ) konmak / γονεύω. '''κοντέσ'''', το: τσόχινη ζακέτα, τη φορούσαν οι γυναίκες πάνω από τη ζιπούνα μέχρι τη μέση. '''κοπάλ<u>α</u>''', τα: ξύλινοι κόπανοι για την αποφλοίωση του σιταριού / το κοπάλ', το κοπάλιν, κοπαλίχτρα. '''κοπροθέσ'''', το: λάκος για την κοπριά των ζώων /η κοπροθέκα. '''κόρασον''', το: το κορίτσι / κορτσόπον. '''κορδιλάουμαι''', ρ.: μπερδεύομαι / εκορδιλάεν, κορδίλ' = κόμπος, κορδίλ<u>α</u>. '''κορκότα''', τα: αποφλοιωμένο κοπανισμένο και χονδροαλεσμένο σιτάρι χωρίς βράσιμο. Γίνονταν και από καλαμπόκι και από κριθάρι / κορκότον, κορκοτοφάσουλον. '''κορνακότζ’''', το: παιδικό παιχνίδι, το κουτσό. '''κοσάρας''', τα: οι κότες / η κοσάρα, η κοσού = η κλώσα. '''κοσμοδέβαση''', η: η καταστροφή. '''κότ'''', το: το κότι, μονάδα βάρους περίπου έξι οκάδων, όπως και το πατμάνι / το κότιν. '''κότζεμαν''' ή κότσεμαν, το: η μετακόμιση, η μετοικεσία < (τουρ) göçmek. '''κότς''', το: χορός παμποντιακός. '''κοτσορύμ'''', το: το ρυάκι, ποταμάκι / κοτσορύμιν. '''κοτύλα''', η : το σβέρκο / κοτυλεύω = αδυνατίζω, κοτυλεύ'νε, κοτυλεμένος, κοτυλεμέντσα. '''κουβανέφκουμαι''', ρ.: εμπιστεύομαι < (τουρ) güvenmek / κουβανέφκουνταν. '''κουή''', η: το πηγάδι, η παραλία, το κουίν = το υπόγειο < kuyu. '''κουίζω''', ρ.: φωνάζω / κουίζ'νε, κούξον = φώναξε. '''κουιμαλία''', τα: πίτες στο φούρνο με κιμά < (τουρ) kıymalı / το κουιμαλίν. '''κουκουβάκια''', τα: μανιτάρια. '''κουκούμ’''', το: χάλκινη στάμνα νερού / το κουκούμιν. '''κουλανεύω''', ρ.: χρησιμοποιώ < (τουρ) kulanmak. '''κουμποσπάλερον''', το: μεταξωτό επιστήθιο ύφασμα της νύφης. '''κουνίν''', το: η κούνια / κουνίζω, κουνίζ'νε, τα κουνία. '''κούντα''', ρ.: σπρώξε / κούντεμαν, κουντώ = σπρώχνω, κουντούν. '''κουντάχ’''', το: οι φασκιές < (τουρ) kundak. '''κουντούρας''', τα: η κουντούρα, παπούτσια γυναικεία με χαμηλά τακούνια συνήθως μαύρα. '''Κούντουρον''', ο: Φεβρουάριος. '''κουρτώ''', ρ.: καταπίνω / κουρτούν. '''κουσκουντέρα''', η: μεγάλη σκούπα από αγκαθωτό θάμνο. '''κουσκούρ’''', το: ξεραμένη κοπριά αγελάδας που χρησιμοποιείται ως καύσιμη ύλη / το κουσκούριν. '''κουτίν''', το: το φέρετρο. '''κούτσα''', η: η μυρμηγκιά / τα κούτσας. '''κουτσή''', η: κορίτσι, κοπέλα / ή πουτσή. '''κόφτω''', ρ.: κόβω / κόψον. '''κοχλίδ<u>α</u>''', τα: τα σαλιγκάρια / το κοχλίδιν = σαλιγκάρι, χρυσή αλυσίδα. '''κράνια''', τα: οι καρποί της κρανιάς, δενδρύλλιου μέτριου μεγέθους με καρπούς σαν της ελιάς αλλά κόκκινους. '''κρεατοκούρ’''', το: χοντρό σανίδι για το κόψιμο του κρέατος / κρεατοκούριν. '''κρενίν''', το: η βρύση. '''κρούω''', ρ.: κτυπώ / κρούγ'νε. '''κρυφτερίτσα''', η: παιχνίδι των παιδιών, το κρυφτό / κρύφκουμαι. '''κυμιόνιν''', το: το κύμινο. '''κυνηγεύω''', ρ.: κυνηγώ. '''κύρης''', ο: ο πατέρας, ο πεθερός. '''κωλισάφρα''', η: η σαύρα. '''Λ''' '''λαβάσα''', τα: λεπτές πίτες από ζυμάρι ψωμιού που τις έψηναν στο ταντούρ ή το σάτσι ή το φούρνο. '''λαγγεύω''', ρ.: πηδώ / λαγκεύ'νε = πηδούν, λάγκεμαν. '''λαγήν’''', το: πήλινη στάμνα. '''λαζούδα''', τα: τα καλαμπόκια. '''λαϊστέρα''', η: παιδικό παιχνίδι, η κούνια / λαϊζω = κουνώ, λαϊζ'νε, λαϊσκουμαι, λαήσκουνταν = κουνιούνται. '''λακουρτία''', τα: οι ομιλίες , (τουρ) lakırdı. '''λαλάγκα''', η: πρόχειρο φαγητό, με νερουλή ζύμη που χυνόταν πάνω στο σάτσι και τρωγόταν περιχυμένη με βούτυρο. '''λαλα</>χ</u>ού''', η: η χαϊδεμένη. '''λαλία''', η: η φωνή / τα λαλίας, λαλόπον, λαλώ, λαλεμέντζα = προσκεκλημένη, λαλασία = ομιλία. '''λαμψία''', τα: ελαφριά παπούτσια που τα φορούσαν μέσα από τις γαλότσες. '''λανάρ’''', το: μεταλλικό οικιακό εργαλείο για το λανάρισμα του μαλλιού με πενήντα περίπου βελόνες κολλημένες σε δύο σειρές σε μεταλλική βάση. '''λαρώνω''', ρ.: γιατρεύω / λαρών'νε, λαρούμαι, λαρούνταν. '''λάσκουμαι''', ρ: περιφέρομαι / λάσκουνταν. '''λαταρίγουμαι''', ρ.: κουνιέμαι / λαταρίγουνταν. '''λαχανοκούταλον''', το: κουτάλα τρυπητή για ανακάτεμα ή σερβίρισμα του φαγητού. '''λαχμάζω''', ρ.: λαχανιάζω / λαχμάζ'νε. '''λαχόριν''', το: τετράγωνο ύφασμα που το έδεναν οι γυναίκες στη μέση. '''λαχτίζω''', ρ.: κλωτσώ / λαχτίζ'νε, λάχταν = κλωτσιά, τα λάχτας = κλωτσιές. '''λεγνός''', επίθ.: λεπτός, αδύνατος. '''λείβ'''', το: σύννεφο, τα λείβ<u>α</u> / λειβώνω = σκοτεινιάζω, λειβών'. '''λειφτός''', επίθ.: λειψός / λειφτάζω. '''λέλεκον''', ο: πελαργός. '''λελεύω σε''', ρ.: να σε χαρώ. '''λετσέκ'''', το: και λετζέκ, βαμβακερό κάλυμμα κεφαλής γυναίκας, ανοιχτόχρωμο για τις νέες και σκούρο για τις ηλικιωμένες. '''λεφτοκάρ<u>α</u>''', τα: φουντούκια < λεπτοκάρυα / το λεφτοκάρ' . '''λιγμετέρ’''', το: και λιχμετέρ', μεγάλο ξύλινο πιρούνι με έξι δόντια, το χρησιμοποιούσαν στο αλώνισμα. '''λιγούμαι''', ρ.: λιγώνομαι / λιγούνταν = λιγώνονται. '''λιθάρ'''', το: πέτρα / λιθάρ<u>α</u>, λιθαρόπα. '''λιμπαντέ''', η: γυναικείο παλτό από χρωματιστό βαμβακερό ύφασμα. '''λίντζα''', τα: παιδικό παιχνίδι, τα πεντόβολα. '''λογαρία''', η: ο λογαριασμός / λογαρέζω = λογαριάζω, λογαρέζ'νε. '''λογομάντιλον''', το: μαντίλι που έστελναν οι γονείς της νέας στους γονείς του αρραβωνιαστικού για δήλωση αποδοχής του γάμου. '''λογόπαρμαν''', το: η τελική συμφωνία για την τέλεση του γάμου. '''λοχούσα''', η: η λεχώνα. '''λυκοκαλομάνα''', η: η μαμά της γιαγιάς. '''λώματα''', τα: τα ρούχα / λωμόπα = ρουχαλάκια. '''Μ''' '''μαγαρούτζ<u>α</u>''', τα: δώρα και τραπέζωμα για καλορίζικα. '''μάγλα''', τα: μάγουλα / μάγλον. '''μαθίζω''', ρ.: διδάσκω / μαθάνω = μαθαίνω, μαθάν'νε, μαθεύκεται. '''μακαρίνα''', η: ζυμαρικό σαν τα μακαρόνια, λεπτό φύλλο από ζύμη με αλεύρι σιταριού που κοβόταν σε στενές λωρίδες και ξεραίνο- νταν στον ήλιο. '''μακέλ'''', το: η αξίνα, ο κασμάς / τα μακέλ<u>α</u>. '''μαλάζω''', ρ.: πιάνω / μαλάζ'νε. '''μαλλοδέματα''', τα: στολίδια για τα μαλλιά, μεταξωτά ή ασημένια. '''μαντζάνες''', τα: οι μελιτζάνες. '''μαντζιρίζω''', ρ.: δε νηστεύω / μαντζιρίζ'νε. '''μαντίν''', το: ζυμαρικό από σιταρίσιο αλεύρι. Η ζύμη κόβεται σε μικρά τετράγωνα πλάτους ενός εκατοστού που ξεραίνονται στον ήλιο. Αφού βράσει με νερό προστίθεται γιαούρτι και σκόρδο, < mantı. '''μαροκούμαι''', ρ.: αναμασώ / μαροκούνταν = αναμασούν. '''μασίνα''', η: αποθηκευτικός χώρος και χώρος εργασίας ανοιχτός από μπροστά. '''μασλάχ'''': γυναικείο ρούχο χωρίς μανίκια < maşlah. '''μαστραπά''', η: χάλκινο ποτήρι νερού < maşrapa. '''μασχαρεύω''', ρ.: αστειεύομαι / μασχαρεύ'νε, μασχαρίας, μασχαράνος, μασχαρεφτά = στ’ αστεία. '''μα<u>χ</u>''', το: το έθιμο σιωπής της νύφης προς τα πεθερικά της. '''μαχανά''', η: η αφορμή, η δικαιολογία. '''μεϊβέδες''', τα: φρούτα < meyve. '''μειζοτέρ'''', οι: οι μεγαλύτεροι / μιζέτερος, μιζέτερα. '''μελεσσίδ'''', το: η μέλισσα, το μελίσσι / τα μελεσσίδ<u>α</u>. '''μένεμαν''', το: μήνυμα / μενέματα, μενώ = παραγγέλνω, μενούν = παραγγέλνουν. '''μέρ'''', επίρ.: πού / μέρ' έν'. '''μερία''', τα: οι μηροί. '''μερσίνα''', τα: ψάρια οξύρρυγχοι. '''μέστα''', τα: ελαφριά παπούτσια χωρίς τακούνι για μέσα στο σπίτι. '''μετζίτι''', το: νόμισμα που το χρυσό είχε μία χρυσή λίρα και το ασημένιο είκοσι πέντε γρόσια. '''μικρέσσα''', η: μικρή. '''μιλέτ''', το: ο λαός, ο κόσμος, το έθνος < (τουρ) millet. '''μιντέρια''', τα: μαξιλάρια για κάθισμα < minder. '''μισίριν''', το: καλαμπόκι < mısır. '''μοθοπώρ'''', το: φθινόπωρο. '''μοιράουμαι''', ρ.: μοιράζομαι. '''μομότσ<u>α</u>''', τα: τα κουκουνάρια / μομότς. '''μονα<u>χ</u>ία''', η: η μοναξιά. '''μουσκάρ'''', το: μοσχάρι / μουσκάρ<u>α</u>. '''μουσκόφυλλον''', το: το φασκόμηλο. '''μούστα''', η: η γροθιά / τα μούστας. '''μουστερήδες''', οι: οι πελάτες < müşteri. '''μουστρώνω''', ρ.: σκυθρωπιάζω. '''μουχατσίρ''', ο: μετανάστης, πρόσφυγας < (τουρ) muhacir. '''μουχτάρτς''', ο: ο πρόεδρος του χωριού < (τουρ) muhtar. '''μουχτερόν''', το: το γουρούνι / μουχτερόπον. '''μπατανίας''', τα: οι κουβέρτες < battaniye. '''μπουρμαλίν''', το: τυλιχτό, στριφτό γλυκό σαν το σαραγλί, η πουρμά. '''μυντζίν''', το: είδος τυριού από άπαχο γάλα. '''μύα''', η: η μύγα '''μυξέας''', ο: μυξιάρης / μυξέσα. '''μύρα''', η: η μυρωδιά. '''Ν''' '''ναϊλί''', επιφ.: αλίμονο / ναϊλί εμέν, ναϊλί τη μάνα σ'. '''νασάν''', επιφ.: είθε, μακάρι να / νασάν εσέν, νασάν την μάναν. '''νε,''' μόριο: νε αφορισμένε! / νε .. νε = ούτε ... ούτε. '''νεγάμ’κα''', τα: νεονυφιάτικα. '''νεγκασία''', η: η κούραση / νεγκασμένος, νεγκασμέντσα, νεγκάζω, νεγκάσκουμαι, νεγκάσκουνταν. '''Νεοχρονία''', η: η Πρωτοχρονιά. '''νέπαι''' : βρε, καλέ / νέψα = καλέ, μωρή. '''νερ<u>ά</u>σκουμαι''', ρ.: σιχαίνομαι / νερ<u>α</u>ξία = σιχαμένη. '''νεσβήνω''', ρ.: σβήνω / νεσβήγα. '''νεσπάλω''', ρ.: ξεχνώ / νεσπάλ'νε. '''νιμέ''', η: παιχνίδι παιδικό ομαδικό. '''νι<u>σ</u>αλούς''', ο: μνηστήρας < (τουρ) nişan / νι<u>σ</u>αλούσα. '''νίφτω''', ρ.: πλένω / νίφ'νε, νίφκουμαι, νίφκουνταν. '''νόμα''', ρ.: δος μου / δίγω. '''νουνίζω''', ρ. : σκέφτομαι / νούντσον = σκέψου, νουνισμένος, νουνισμέντσα, νουνιγμένος, ενούντσα, νοΐζω = αντιλαμβάνομαι. '''ντελικανλής''', ο: νέος, παλικάρι < delikanlı. '''ντό''': τι, εκείνο που / ντ' έφτάς, ντ' έποικες; ντ' άγνα = πώς. '''ντος''', ρ.: κτύπα / ντόσιμον, κρούω, ντοχτούμαι. '''ντοσέκια''', τα: τα στρώματα < döşek. '''νυφείον''', το: χώρος διασκευασμένος πρόχειρα για να υποδεχθεί τη νύφη μόλις επιστρέψει από την εκκλησία / νύφε, νυφάδες, νύφεσα, νυφόπαρμαν. '''νυχτοπούλ'''', το: νυχτοπούλι / τα νυχτοπούλ<u>α</u>. '''Ξ''' '''ξάι''', επίρ.: καθόλου / έναν ξάι = λίγο. '''ξαμώνω''', ρ.: συγκρίνω, ξαμών'νε. '''ξυλάγγ’''', το: το δουρβάνιν, ξύλινο εργαλείο σε σχήμα βαρελιού για το κτύπημα του γάλακτος και την παραγωγή του βουτύρου. '''ξαν''', επίρ.: ξανά. '''ξέντσα''', η: η ξένη / ο ξένον, ξενιτέας, ξενιτία. '''ξύγαλαν''', το: γιαούρτι / τα ξυγάλτα. '''ξυλέα''', η: το κτύπημα, το χαστούκι / τα ξυλέας. '''ξυμήτς''', ο: ο ψηλομύτης. '''ξύνω''', ρ.: χύνω / ξύουμαι, ξύουνταν. '''ξύσκουμαι''', ρ.: ξύνομαι / ξύσκουνταν, το ξυστήρ', τα ξυστήρ<u>α</u>. '''Ο''' '''οβόν''', το: το αυγό / τα οβά, οβάζ' = κάνει αυγό. '''ογρήγορα''', επίρ.: γρήγορα / ογρηγορώ. '''οκνέας''', ο: ο τεμπέλης / οκνέσα, οκνώ, οκνούν. '''ολόγ<u>ο</u>ς''', ο: αναίσθητος, απαθής. '''ολόες''', ο: επίθ.: ολόκληρος / ολόεν, ολόερα, όλος, όλε, όλ', όλτς. '''ομ<u>ά</u>ζω''', ρ.: μοιάζω. '''ομάλ'''', το: χορός παμποντιακός / ομαλίζω = ισοπεδώνω. '''ομάτ'''' το: το μάτι /ομμάτ', ομμάτ<u>α</u>. '''ομούτ'''', το: η ελπίδα < (τουρ) umut. '''ονέρ'τα''', τα: τα όνειρα. '''όντες''', σύνδ.: όταν / όντας. '''οξουκά''', επίρ.: έξω / οξούκα, οξουκές = εκεί έξω. '''οξύγαλαν''', το: γιαούρτι. '''οπουρνά''', επίρ.: αύριο. '''ορέχκομαι''', ρ.: επιθυμώ. '''ορθία''', η: η αλήθεια. '''ορθώνω''', ρ.: επιδιορθώνω. '''ορμάν''', το: το δάσος < (τουρ) orman. '''ορμίν''', το: το μικρό ποτάμι / τα ορμία, τα ορμόπα. '''ορτάρα''', τα: μάλλινες κάλτσες. '''οσήμερον,''' επίρ.: σήμερα. '''οσπιτόπον''', το: το σπιτάκι / οσπιτ<u>α</u>νός. '''οτά''', η: το δωμάτιο < (τουρ) oda. '''ούβας''', τα: οι χουρμάδες. '''ούμπαν''', επιρ.: όπου. '''ούσνα''', σύνδ.: μέχρι, έως. '''οφέτος''', επίρ.: φέτος. '''οψάρ'''', το: το ψάρι / τα οψάρ<u>α</u>, η οψαρέα = ψαρίλα. '''οψεζ'νόν''', ο: ο χθεσινός / οψέ, οψικέσ' = χθες, οψεκές = τις προάλλες, οψεμπριμέραν = προχθές. '''Π''' '''παγκανότ<u>α</u>''', τα: τα χαρτονομίσματα < (τουρ) banknot. '''παθάνω''', ρ.: παθαίνω. '''παιδάς''', ο: ο νέος, το παιδί, το παλικάρι / παιδοποιώ, παιδοποίγω. '''παινεύκουμαι''', ρ.: παινεύομαι / παινεύκουνταν. '''παίρω''', ρ.: παίρνω / έπαρ'. '''παϊτόνιν''', το : μόνιππο, αμάξι με ένα άλογο < payton. '''παλαλέ''': παλαβέ, παλαλός = παλαβός / παλαλούμαι, παλαλώνω, παλαλοσύνε, παλαλά = τρελά, τα παλαλίτσας. '''παλικάρ'''', το: παλικάρι, τα παλικάρ<u>α</u>, η παλικάρενα, το παλικαρόπον. '''παλουχτζής''', ο: ο ψαράς < (τουρ) balıkçı. '''πανοΰρ''', το: πανηγύρι. '''παρακαλία''', η: παράκληση,/ τα παρακαλίας. '''παρακαμίν'''', το: η εστία. '''παρλαεύω''', ρ.: λάμπω, γυαλίζω < (τουρ) parlamak. '''παρουσιάσκουμαι''', ρ.: παρουσιάζομαι. '''παρχάρ<u>α</u>''', τα: θερινός βοσκότοπος / παρχαρεύω, ο παρχάρτς, η παρχαρομάνα, τα παρχαρομύτ<u>α</u> = βουνοκορφές. '''πασκιτάν''', το: αποβουτυρωμένο, στραγγισμένο, αλατισμένο γιαούρτι. '''πασκίμ''', σύνδ.: μήπως. '''πασμάδες''', τα: τσίτια, βαμβακερό εμπριμέ ύφασμα. '''πα<u>σ</u>τάν''', επίρ.: τελείως < (τουρ) baştan. '''παστρεύω''', ρ.: καθαρίζω / πάστρεψον. '''παταλεύω''', ρ.: εμποδίζω, ενοχλώ. '''πατίκιν''', το: χάλκινο σκεύος που το έβαζε η πεθερά στο κατώφλι για να το πατήσει η νύφη όταν ερχόταν από την εκκλησία. '''πατμάνια''', τα: μονάδες βάρους έξι οκάδων < batman / πατουμάνια. '''πατούλα''', η: ή πιπιλομάταινα, χορός παμποντιακός. '''πα<u>χ</u>όκολον''', ο: ο χοντρόκωλος. '''παχτ<u>σ</u>έ''', η: ο κήπος < (τουρ) bahçe. '''πα<u>χ</u>ύνω''', ρ.: παχαίνω. '''πε''', ρ.: πες / πέτεν, λέγω, πέα την, πέα τον, πέα τσε. '''πεγαδομάτ<u>α</u>''', τα: οι πηγές. '''πεϊνιρλία''', τα: πίτες σε σχήμα βάρκας γεμισμένες με τυρί και ψημένες στο φούρνο < peynir = τυρί. '''πεκιάρ'ς''', ο: ο ανύπαντρος < (τουρ) bekar. '''πελίτια,''' τα: οι βελανιδιές < pelit. '''πέλκι''', επίρ.: ίσως, πιθανόν < (τουρ) belki. '''πεντικόν''', ο: ποντικός. '''περε<u>σ</u>κία''', τα: τα πιροσκί. '''περήδες''', οι: νεράιδες < peri. '''περι<u>σ</u>άντς''', ο: φουκαράς < (τουρ) perişan / περι<u>σ</u>άντσα. '''περμένω''', ρ.: περιμένω. '''πέσκον''', ο: η σόμπα. '''πετεινάρ'''', το: ο κόκορας / τα πετειναρόπα, πιλίτς = πετιναράκι, πιλίτσ<u>α</u>. '''πινακίδ’''', το: πινακίδα γραφής. '''πίνω''', ρ.: πίνω / πία, πιάτεν, η ποτή. '''πιπιλομάταινα''', η: εκείνη που έχει μικρά μάτια. '''πιρίφτε''', η: ξύλινο φτυάρι για το φούρνισμα του ψωμιού ή του φαγητού / πιρίφτω = φουρνίζω, πυρίφτ'νε. '''πιρνά πιρνά''', επίρ.: πρωί πρωί / πουρνά, το πιρνόν = το επόμενο πρωί. '''πιρπιρίμα''', τα: οι γλιστρίδες. '''πισία''', τα: τηγανίτες πλατιές και μεγάλες περιχυμένες με πετιμέζι ή μέλι ή πασπαλισμένες με ζάχαρη < pişmek = ψήνω. '''πισταμπάλ'''', το: ποδιά από μάλλινο ύφασμα. '''πιστόφ'''', το: πιστόλι, όπλο < pişton. '''πλαν''', επίρ.: πέρα. '''πλεθύνω''', ρ.: πληθύνω. '''πλουμίδ'''', το: το στολίδι / πλουμίδ<u>α</u>, πλουμιστά, πλουμιστός, πλουμιστέσα. '''πλύσκουμαι''', ρ.: πλένομαι / πλύσκουνταν. '''ποδεδίζω σε''', ρ.: να σε χαρώ. '''ποιώ''', ρ.: κάνω / εποίνα, εποίκα, ποίσον, ποίστεν. '''πόν<u>α</u>''', τα: οι πόνοι. '''πορανία''', τα: μπουρανί, φαγητό με χόρτα ή παντζαρόφυλλα τηγανισμένα με βούτυρο και περιχυμένα με πασκιτάν. '''ποστάλα''', τα: γυναικεία χαμηλά παπούτσια < postal. '''ποταμάκριν''', το: η ακροποταμιά. '''ποτισκούμαι''', ρ.: πίνομαι, ποτίζομαι / ποτίω. '''ποτισώνα''', η: η ποτίστρα. '''ποτούριν''', το: αντρικό φαρδύ παντελόνι < potur. '''πουγαλεύκουμαι''', ρ.: αγανακτώ < (τουρ) buğalmak / οι πουαλεμέν'. '''πουδέν''', επίρ.: πουθενά / πουθέν. '''πουίχ'''', το: μουστάκι < (τουρ) bıyık / το πουίκιν. '''πουλούλ<u>α</u>''', τα: πιθάρια / το πουλούλ'. '''πουρτίν''', το: ύφασμα / τα πουρτία. '''πουσιντάλευρον''', το: το κριθαρίσιο καβουρδισμένο αλεύρι. '''πουτσή''', η: η κόρη / κουτσή, νέπουτση, νέκουτση. '''πρέσκουμαι''', ρ.: πρήζομαι / πρέσκουνταν, πρεσμέντσα. '''πυκναράευτος''', ο: ο ποθητός. '''Ρ''' '''ρακάν''', το: η βουνοπλαγιά. '''ρά<u>χ</u>α''', η: η ράχη / ρασόπον = ραχούλα. '''ρα<u>χ</u>ίν''', το: βουνό / τα ρα<u>χ</u>ία, ρα<u>χ</u>ιόπουλον = πουλί του βουνού, ρα<u>χ</u>ιοκέφαλα = οι βουνοκορφές. '''ριγώ''', ρ.: κρυώνω / το ρίγαμαν, ριγωμένος, ριγωμέντσα. '''ρίζα μ'''', προσφώνηση: ψυχή μου! '''ρούζω''', ρ.: πέφτω / ρούζ'νε, ερούζ'να, ερούξα, ρούξιμον. '''ρουκάν'''', το: ο αυτοσχέδιος αποχιονιστήρας. '''Σ''' '''σαεύω''', ρ.: σέβομαι. '''σαβουρεύω''', ρ.: τινάσσω, σκορπίζω < (τουρ) savurmak. '''σα βρατέρα''', επίρ.: στο δειλινό / σο μέρωμαν, σο κιντίν. '''σάγκα''', η: μοχλός, κλειδαριά πόρτας. '''σάγκι''', σύνδ.: σάν να < (τουρ) sanki. '''σαλάκ’''', το: φόρτωμα πλάτης, συνήθως δεμάτι ξύλα ή κλαδιά. '''σαλαχανάς''', ο: αργόσχολος, σαλαχανέσα. '''σαμάρα''', η: το χαστούκι < (τουρ) şamar / η σαπλάκα, τα σαπλάκας, σαπλακίζω, σαπλακίζ'νε. '''σαρεύω''', ρ.: αρέσω. '''σαρής,''' ο: ο ξανθός / σαρήσα, σαρίν < (τούρ) sarı. '''<u>σ</u>α<u>σ</u>εύω''', ρ.: σαστίζω < (τουρ) şaşırmak / ε<u>σ</u>ά<u>σ</u>εψα, <u>σ</u>α<u>σ</u>ιρεμένος, <u>σ</u>ασ<u>σ</u>ιρεμέντσα. '''σάτσι''', το: στρογγυλή λαμαρίνα για το ψήσιμο των γιουφκάδων < sac. '''σαφλέας,ο''': σαλιάρης, σαφλίζω, σαφλίζ'νε. '''σαχάνια''', τα: πιάτα < sahan. '''σαχτάρ<u>α</u>''', τα: οι στάχτες. '''σεβάσκουμαι''', ρ.: σέβομαι. '''σεβνταλής''', ο: ο ερωτευμένος < (τουρ) sevdalı / η σεβτά, τα σεβτάδες. '''σειμουγκόν''', ο: χειμώνας. '''σέρα''', η: ποντιακός πολεμικός χορός. '''σερομίλ'''', το: η μυλόπετρα / τα σερομίλ<u>α</u>. '''σέφτελα''', τα: παντζάρια / το σέφτελον, σεύτελον, ο σεύτελον = ο ανόητος, h σέφτελεσα, η σεφτελοσύνη. '''σιλεγνίζω''', ρ.: κοσκινίζω, λεπτολογώ. '''σιλευτέρ'''’ το: σφουγγαρόπανο / σιλεύω = σφουγγαρίζω, σιλεύ'νε. '''σίμισκα''', η: ηλιόσπορος, τα σίμισκας. '''σινίν''', το: μεγάλος χάλκινος δίσκος < sini. '''σιργούνιν''', το: η εξορία < (τουρ) sürgün. '''σι<u>σ</u>έ''', η: το μπουκάλι ,(τουρ) şişe. '''σίτ<u>α</u>''', σύνδ.: όταν, ενώ, καθώς '''σιτλία''', τα: ρυζόγαλα < sütlü. '''σιφτέν''', επίρ.: στην αρχή. '''σκαλώνω''', ρ.: αρχίζω. '''σκεπίδ'''', το: η σφήκα. '''σκοτία''', η: το σκοτάδι. '''σκούμαι''', ρ.: σηκώνομαι / σούκ' = σήκω, σκώνω. '''σκουτουλίζω''', ρ.: ευωδιάζω / εσκουτούλτσα, η σκουτούλα, σκουντουλοδέσμια = άρωμα δυόσμου. '''<u>σκ</u>υλάζω''', ρ.: βρωμάω. '''σκώνω''', ρ.: σηκώνω / έσκωσα. '''σοέβω''', ρ.: ληστεύω < (τουρ) soymak. '''σουμά''', επίρ.: κοντά / σουμώνω. '''σουμάδεμαν''', το: ο αρραβώνας / σουμαδεύω, ο σουμαδεμένον, η σουμαδεμέντσα, τα σουμάδ<u>α</u>, σουμαδεύκουμαι, σουμαδεύκουνταν. '''σοφράς''', ο: τραπέζι κοντό στρογγυλό < sofra. '''σπάζω''', ρ.: σφάζω / σπάξιμον. '''σπαρέλιν''', το: κάλυμμα γυναικείου στήθους / σπαρελόπον. '''σπιτίτζας''', τα: παιδικό παιχνίδι, οι κουμπάρες. '''σπιχτέσα''', η: η τσιγκούνα / ο σπιχτόν, σπίγγω, σπίχκουμαι, σπίγγουμαι, σπίγγουνταν. '''Σταυριώτες''', οι: οι κάτοικοι του χωριού Σταυρίν της Αργυρούπολης πολλοί από τους οποίους εξισλαμίστηκαν αλλά παρέμειναν κρυπτοχριστιανοί. '''στέκω''', ρ.: στέκομαι / στα, εστά, εσταθέστεν. '''στέφανον''', το: ο σύζυγος. '''στοιβαχτόν''', το: ο μουσακάς. '''στουδ΄''', το: το κόκαλο / τα στούδ<u>α</u>. '''στρούλιγμαν''', το: το έθιμο για το ξύρισμα του γαμπρού. '''στύπας''', τα: τα τουρσιά / η στύπα. '''στυχαρία''', η: η αναγγελία ευχάριστης είδησης / στυχαριάζω, στυχαρίασον, στυχαρέζω, στυχαρέζ'νε. '''σύννυχτα''', επίρ.: πριν ξημερώσει. '''συντάγουμαι''', ρ.: κάνω συμφωνία. '''συντιβάλλω''', ρ.: διαβάλλω. '''<u>σ</u>υρίζω''', ρ.: σφυρίζω / σουρίζω, το σύριμαν, η συρίχτα. '''σύρσιμον''', το: απαγωγή κόρης με σκοπό το γάμο / σύρκουμαι = υποφέρομαι. '''σωρεύω''', ρ.: μαζεύω / σωρεύκουμαι. '''Τ''' '''ταβίζω''', ρ.: μαλώνω / ταβίζ'νε, το τάβισμαν. '''τάζω,''' ρ. : υπόσχομαι / τάουμαι. '''ταής''', ο: ο θείος < (τουρ) dayı. '''ταβά''', η: τηγάνι < (τουρ) tava. '''ταμάμ''', επίρ.: σωστά, εντάξει < (τουρ) tamam. '''τανωμένον σουρβάν’''', το: σούπα με τάνι και κορκότα ή πλιγούρι ή ρύζι / το τάν', τανοσίρβ'. '''τάπλα''', η: κάλυμμα της κεφαλής των παντρεμένων γυναικών. '''ταράουμαι''', ρ.: ανακατεύομαι / ταράγουμαι, ταράγουνταν, ταράζω, ταράζ'νε. '''ταραπολόζα''', τα: γυναικείες ζώνες από την Τρίπολη της Λιβύης. '''τάσι''', το: κύπελο < (τουρ) tas. '''ταφίν''', το: ο τάφος / τα ταφία. '''τεβόρ<u>α</u>''', τα: τα λευκά έλατα. '''τελικανλής,''' ο: παλικάρι, θερμόαιμος < (τουρ) delikanlı. '''τελ<u>ό</u>νω''', ρ.: τελειώνω. '''τεμέκ''', επίρ: τάχα, δήθεν, λοιπόν < (τουρ) demek / τεά, τεάμ. '''τεντελίζω''', ρ.: τουρτουρίζω / τεντελίζ'νε. '''τέντζερη''', η: τσουκάλι για μαγείρεμα < (τουρ) tencere. '''τεπελίκια''', τα: κάλυμμα κεφαλής ανύπαντρων κοριτσιών < (τουρ) tepe = κορφή. '''τέρεν''', ρ.: κύττα / τερώ, τερέστεν. '''τερλίκια''', τα: κάλτσες από πολύ χοντρή κλωστή < (τουρ) terlik = παντόφλα. '''τεστίν''', το: στάμνα νερού < (τουρ) testi. '''τέτσια''', τα: χάλκινα δοχεία για τη φύλαξη των καβουρμάδων. '''τεψίν''', το: ταψί < (τουρ) tepsi. '''τζαντζαρεύω''', ρ.: = σκαρφαλώνω / τζαντζαρεύ'νε. '''τζεβζέ''', η : το μπρίκι < (τουρ) cezve. '''τιδέν''', αντ.: τίποτε / τιδέν 'κ' εν'. '''τίκ''', το: χορός παμποντιακός. '''τοξάριν''', το: το δοξάρι της λύρας. '''τοου<u>σ</u>εύω''', ρ.: μαλώνω < (τουρ) dovüşmek. '''τοπλαεύω''', ρ.: μαζεύω < (τουρ) toplamak / τοπλαεύκουμαι, ετοπλαεύταν. '''τουβάρ'''', το: ο τοίχος, το ντουβάρι < (τουρ) duvar. '''τουλουμτζήδες''', οι: οι μουσικοί που έπαιζαν την γκαίντα < (τουρ) tulum. '''τουλπίρ’''', το: γυναικείο κόσμημα από ασημένιες αλυσίδες για το κεφάλι. '''τουλώνω''', ρ.: σωπαίνω / τούλωσον, τουλώστεν. '''Τουρκάντ'''', οι: οι Τούρκοι. '''τραβωδία''', η: το τραγούδι / η τραγωδία, ο τραγωδ<u>ά</u>νον. '''τρανύνω''', ρ.: μεγαλώνω / ο τρανον, η τρανέσα, τα τρανά, τρανύν'νε, τρανόν κορίτς = γεροντοκόρη, τρανόν αγούρ'. '''τρίμμαν''', το: κουρκούτι, φαγητό με αλεύρι από σιτάρι, κρεμμύδια και βούτυρο. '''Τρίτη ασβολερή''', η : αποφράδα ημέρα στον Πόντο ήταν η Τρίτη. '''Τρυγομηνάς''', ο: ο Οκτώβριος. '''τρυγόνα''', η: χορός του Ακ Νταγ Μαντέν. '''τρυπίν''', το: τρύπα / τα τρυπία, τρυπεμένα = τρυπημένα. '''τσαγγίν’''', το: παπούτσι, πόδι. '''τσαγτσίρα''', τα: στενό αντρικό παντελόνι. '''τσαζούδες''', οι: μάγισσες. '''τσαΐζω''', ρ.: φωνάζω δυνατά / τσάϊξον = φώναξε, τσαϊχτά = φωναχτά. '''τσαΐρια''', τα: λιβάδια, βοσκοτόπια < (τουρ) çayır. '''τ<u>σ</u>ακανίουμαι''', ρ.: σέρνομαι στα πόδια μου, ταλαιπωρούμαι / τ<u>σ</u>ακανίουμες. '''τσακώνω''', ρ.: σπάζω / τσακωμένον. '''τσάλτικα''', η: παιχνίδι παιδικό, τσιλίκι. '''τσάμιας''', τα: οι πλεξούδες / η τσάμια. '''τσαμούρ'''', το: η λάσπη < (τουρ) çamur / τα τσαμούρ<u>α</u>, τσαμουρωμένος, τσαμουρωμέντσα, τσαμουρωμένα = λασπωμένα. '''τσαούσης''', ο: λοχίας < (τουρ) çavuş. '''τσαράνα''', η: λάμπα πετρελαίου. '''τσαραχότ’''', το: ή εμπροπίς, παμποντιακός χορός. '''τσαρκούλιν''', το: πέπλο που κάλυπτε το κεφάλι της νύφης ή καμαρωτέρ'. '''τ<u>σ</u>ατεύω''', ρ.: συναντώ. '''τσατσαλίζω''', ρ.: ξεγυμνώνω / ο τσάτσαλον = ολόγυμνος, η τσάτσαλεσα, τσατσαλίζ'νε. '''τσαφίζω''', ρ.: ξύνω / τσαφίζ'νε. '''τσερέζια''', τα: ξηροί καρποί < (τουρ) çerez. '''τσεχέλ’κον''', το: άβγαλτο παιδί < (τουρ) cehil. '''τσιγ κεφτές''', ο: κεφτές με ωμό κιμά και πλιγούρι < (τουρ) çiğ köfte. '''τ<u>σ</u>ίζω''', ρ.: λυπάμαι. '''τσικάριμ''': καρδούλα μου < (τουρ) ciğer = συκώτι. '''τσιλίδ'''', το: αναμμένο κάρβουνο. '''τσιλτεύω''', ρ.: κατουρώ / τα τσιλτούρ<u>α</u>, τσιλτέας, τσίλτεμαν, τσιλτεύ'νε. '''τσιμίδ'''', το: ο νους, το μυαλό. '''τ<u>σ</u>ιμπου<u>σ</u>'''', το: το συμπόσιο. '''τσίπα''', η: ο αφαλός. '''τσιπ καλά''', επίρ.: πολύ καλά. '''τσίρια''', τα: ξεραμένα φρούτα. '''τσιριχτά''', τα: οι λουκουμάδες. '''τσιτσέκια''', τα: λουλούδια < (τουρ) çiçek. '''τσιτσίν''', το: το βυζί / τα τσιτσία. '''τσούνα''', η: η σκύλα / τσούνας παιδίν. '''τ<u>σ</u>ορτάν<u>α</u>''', τα: σβώλοι από πασκιτάν ξεραμένοι στον ήλιο / τ<u>σ</u>ορτάν. '''τυραννίουμαι''', ρ.: τυραννιέμαι / τυραννίουνταν. '''τυρομύντζ'''', το: είδος τυριού σαν μυζήθρα. '''Υ''' '''υβρίζω''', ρ.: βρίζω / η υβρισία, το ύβρισμαν, ο υβριστέας. '''υεία,''' η: η υγεία /υία, ύαν, ύας, υείας και <u>χ</u>αιρετίας. '''υλάζω''', ρ.: γαυγίζω / το ύλαγμαν, ο υλαγμός, υλάζ'νε, ύλαξα, υλάξτε. '''υλίζω,''' ρ.: στραγγίζω / υλίζ'νε, το υλιστέρ', το υλιστέριν, υλιστερόν = στραγγιστό, υλιστόν = στραγγισμένο γιαούρτι. '''υπαντρία''', η: ο γάμος / το υπάντρεμαν, υπαντρεύω, η ύπαντρος = παντρεμένη. '''υπερηφανεύκομαι''', ρ.: περηφανεύομαι, υπερηφανεύκουμαι, υπερηφανεύτα, η υπερηφανία. '''υπνάσκουμαι''', ρ.: νυστάζω, υπνοβατώ, ο υπνασμένος = υπνοβάτης, η υπνασμέντζα, ο υπνέας = υπναράς, η υπνού = υπναρού, η υπνωή = νύστα, υπνώνω = νυστάζω, ύπνωσα = νύσταξα. '''υποψιάσκουμαι''', ρ.: υποψιάζομαι, υποψιάστα. '''υστερινός''', ο: τελευταίος, υστερνά = στο τέλος, υστερναίος = κατοπινός, υστερνοκαίριν = φθινόπωρο, υστερνοπαίδ', υστερνοπούλ'. '''υφάδ'''', το: υφάδι, υφαίνσιμον, υφαίστρα = υφάντρα, ύφαση = ύφανση, υφαστικά = υφαντικά. '''Φ''' '''φαγόπον''', το: το φαγάκι / φαγοποτίζω, φα = φάε, φάζω = ταίζω, φάζ'νε, το φαΐν, τα φαΐα. '''φαμελία''', η: η οικογένεια. '''φαρμακώνω''', ρ.: δηλητηριάζω / το φαρμάκιν, τα φαρμάκ<u>α</u>. '''φέγγον''', ο: το φεγγάρι. '''φελία''', τα: φέτες ψωμιού βουτηγμένες σε γάλα και αυγό και τηγανισμένες με λάδι / to φελίν. '''φέρκουμαι''', ρ.: συμπεριφέρομαι. '''φεύω''', ρ. : φεύγω / φευς, φευ, φεύ'νε. '''φιλάρ<u>α</u>''', τα: ελαφριά πέδιλα για βρέφη. '''φιλέρ’''', το: φλαμούρι. '''φιλώ''', ρ.: αγαπώ / φιλίουμαι, φιλ<u>ά</u>σκουμαι = συμφιλιώνομαι, το φίλ<u>α</u>σμαν. '''φοούμαι''', ρ.: φοβάμαι / φογούμαι, φοούμες, φοούστουν, η φοβερέσα, o φοβετσέας = φοβητσιάρης. '''φορίζω''', ρ.: ντύνω / φορίστεν. '''φορκάλ’''', το: η σκούπα. '''φορφάκα''', η: ο βάτραχος / τα φορφάκας. '''φοσίζω''', ρ.: παραχώνω / φοσίζ'νε, φοσίγουμαι, φοσίγουνταν. '''φοτά''', η: η ποδιά. '''φουλίρ<u>α</u>''', τα: τα φλουριά / φλωρίν. '''φουντάριν''', το: το καρβέλι το ψωμί. '''φουρκίζω''', ρ. : πνίγω / φουρκίζ'νε. '''φουρνίν''', το: ο φούρνος / τα φουρνία. '''φούστορον''', το: ομελέτα με αυγά και διάφορα άλλα υλικά / φούστορον, φούστουρα, φουστρολάβασον. '''φουτίζω''', ρ.: αερίζομαι / ο φουτέας. '''φτείρα''', η: η ψείρα / τα φτείρας, ο φτειρέας. '''φτιλακίζω''', ρ.: τρομάζω, σπαρταρώ / φτιλακίζ'νε, φτουλακίζω, το φτουλάκισμαν. '''φτουλίζω''', ρ.: ξεπουπουλιάζω. '''φωτάζω''', ρ.: φέγγω, λάμπω. '''φωτίζω''', ρ.: βαφτίζω / φωτίζ'νε. '''Χ''' '''χαβίτσ'''', το: φαγητό με φουρνισμένο καλαμποκίσιο αλεύρι και βούτυρο. '''<u>χ</u>αίρουμαι''', ρ.: χαίρομαι / χαρά = ο γάμος, η <u>χ</u>αιρετία. '''χαλαλοή,''' η: η φασαρία / η χαλασμονή = ο χαμός. '''χαλκίν''', το: ή χαλκόν, χάλκινο δοχείο και καζάνι με χερούλι. '''χάμαι''', ρ.: χάνομαι / χάθ' = χάσου, χάνω, χαντς, χάν', χάσον. '''χαμαιλέτε''', η: ο μύλος. '''χαμάν''', εππίρ.: αμέσως < (τουρ) hemen. '''χαμελύνω''', ρ.: χαμηλώνω / χαμελά, η χαμελέσα. '''χαμούφτας''', τα: άγριες φράουλες. '''χαντιλιάουμαι''', ρ.: θαμπώνουμαι. '''χαπάρ'''', το: η είδηση < (τουρ) haber / τα χαπάρ<u>α</u>, χαπαρ<u>ά</u>ζω. '''χαρά''', η: ο γάμος / χαρεντερίζω, χάρουμαι, χάρουνταν. '''χαρτίν''', το: το χαρτί / τα χαρτία. '''χαρτσεύω''', ρ.: ξοδεύω < (τουρ) harcamak. '''χα<u>σ</u>εύω''', ρ.: ζεματίζω / χα<u>σ</u>εμένος. '''χασίλ’''', το: φαγητό με κορκότο σιταρίσιο ή καλαμποκίσιο. '''χα<u>σ</u>λούκ'''', το: το χαρτζιλίκι. '''χάταλον,''' το: βρέφος, παιδί. '''χαψία''', τα: ψάρια μικρά, γαύρος < (τουρ) hamsi. '''<u>χ</u>εροκαλκ’''', το: χάλκινο σκεύος για διάφορες χρήσεις. '''<u>χ</u>ειλιαύρη''', η: η φλογέρα. '''<u>χ</u>ίλ<u>α</u>''' : χίλια / ο <u>χ</u>ιλοπλούμιγον. '''<u>χ</u>ειμωγκός''', ο: ο χειμώνας. '''<u>χ</u>ερ'''', το : χέρι / <u>χ</u>ερέα = όσο χωράει στη χούφτα. '''χινέα''', η: φυτική βαφή ρόδινου χρώματος. '''Χιντιρελές''', ο: ο Άγιος Γεώργιος όπως τον αποκαλούσαν οι Τούρκοι. '''χολ<u>ά</u>ζω''', ρ.: εξοργίζω / χολιούμαι, τα χολία, χολομανίγουμαι, χολέσκουμαι, χολέσκουνταν, χολεσμένος, χολεσμέντσα '''χοντρολαλώ''', ρ.: μιλώ μεγαλόφωνα. '''Χορτοθέρτς''', ο: ο Ιούλιος. '''χο<u>σ</u>λανεύκομαι''', ρ.: μου αρέσει < (τουρ) hoşlanmak. '''χουλένω''', ρ.: ζεσταίνω / χουλέν = ζεστό, χούλεμαν, χουλίουμαι = ζεσταίνομαι, χουλίουνταν. '''χουλιάρ<u>α</u>''', τα: τα κουτάλια / η χουλαρέα = η κουταλιά. '''χρέσκουμαι''', ρ.: χρειάζομαι / χρ<u>ά</u>σκουμαι. '''Χριστουγεννάρτς''', ο: ο Δεκέμβριος / Χριστιανάρτς. '''χτενίουμαι''', ρ.: χτενίζομαι / χτενίουνταν. '''χτήν<u>α</u>''', τα: οι αγελάδες / το χτήνον, το αλμεγάδιν χτήνον. '''χωρέτες''', ο: ο χωρικός / η χωρέτ'σα. '''Ψ''' '''ψαλαφώ''', ρ.: ζητώ / η ψαλαφία, ψαλάφεμαν = πρόταση γάμου, το ψαλαφίον = αίτηση. '''ψεματικά''', επίρ.: ψεύτικα / ψεματικός. '''ψένω''', ρ.: ψήνω / ψεμένος, ψεμέντζα, ψημέντζα, ψητέσα, ψεμένον, ψέουμαι, η ψεσ’ = ψήση, ψέσιμον, ψέσκομαι, ψέσον. '''ψεύτες''', ο: ο ψεύτης / ο ψεύτας, η ψευτία, η ψεύτικεσα, ψευτύνω = διαψεύδω. '''<u>ψ</u>ή''', η: η ψυχή / τα <u>ψ</u>ήα, το <u>ψ</u>όπον, <u>ψ</u>υχόπον, <u>ψ</u>υχοκόριτζον, <u>ψ</u>υχοπαίδ', <u>ψ</u>υχομάχεμαν. '''ψηλέσα''', η: η ψηλή, ψηλόλεγνος, ψηλολεγνέσα, ψηλορραχέα, το ψήλος = ύψος. '''ψηφίζω''', ρ.: υπολογίζω. '''ψίνα''', τα: τα ψώνια / ψινίζω = ψωνίζω, το ψίνισμα, ψουνίζω, ψώντσον = ψώνισε. '''ψοφεμένος''', ο: ψόφιος / το ψόφεμαν = ψοφίμι, το ψοφεμάτ', ψοφεμένος = τσιγκούνης, ψοφεμέντζα, ψοφένω, ψοφίζω. '''ψύχος''', το: ο πυρετός / ψυχούμαι = παθαίνω ελονοσία, ψυχωμένος. '''ψωμίν''' το: το ψωμί / ψωμία, ψωμίτζα = φέτα ψωμιού, ψωμάς, ψωμάβα = γυναίκα φούρναρη, ψωμόπον, ψωμοτάρεζον = ράφι ψωμιών, ψωμοφούρνιν, ψωμοσάνιδον. '''Ω''' '''ωβάζω''', ρ.: γεννώ αυγά / τα ωβά, ωβόπον, ωβάζ'νε, ώβασον, ώβασμαν, ωβαστάριν = κοτέτσι, ωβατσής = αβγουλάς, ωβότζεπλον. '''ωμίν''', το: ο ώμος / τα ωμία. '''ωρ<u>ά</u>ζω''', ρ: προσέχω, φυλάω / ωρ<u>ά</u>ζ'νε, ωρία = πρόσεχε, ωρ<u>ά</u>γουμαι = φυλάγομαι, το ώρ<u>α</u>σμαν, ώρ<u>ά</u>σον. '''ώσπουτα''', σύνδ.: έως ότου. '''ωτίν''', το: το αυτί / τα ωτία, ωτόπον, ωτόπονος. == Βιβλιογραφία == *Άνθιμος Παπαδόπουλος *Θωμάς Τσοπουρίδης *Ποντιακή Λογοτεχνία [[Κατηγορίαν:Γραμματικήν]] 8txqzp9bl34otay8b94kt218h62d5ya 23 Καλανταρί 0 858 37307 37075 2025-12-16T19:24:08Z Εὐθυμένης 2777 37307 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[22 Καλανταρί]] | [[23 Καλανταρί]] | [[24 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''23 τη Καλανταρί''' εν 23ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 342 ημέρας για να τελούτεν η χρονία (343 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Απόθαναν == == Έξεργος == '''Τερέστεν πα:''' * [[23 Χριστουγενναρί]] - [[23 Κούντουρονος]] {{commonscat|23 January}} {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0107]] rmfus2qpkjqf9grtei29cv9evebj3vc Ρώμη 0 859 36854 34786 2025-12-16T09:56:06Z Εὐθυμένης 2777 36854 wikitext text/x-wiki [[Αρχείον:Colosseum in Rome, Italy - April 2007.jpg|Κολοσσαίον|thumb|250px]] Η '''Ρώμη''' εν [[Ιταλία|ιταλικόν]] πολιτείαν και εχ' τρανόν [[ιστορίαν]]. Εν η ασ' ουλτς τρανόν πολιτείαν και η [[πρωτεύουσα]] τη Ιταλίας. Οσήμερον εχ' πληθυσμόν 3.700.000 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{it}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Ιταλία]] [[Κατηγορίαν:Πολιτείας τη Ιταλίας]] k2rysjhanxlskq4fftdg1mp8e3zaell Κατηγορίαν:Λαλίαν 14 860 31589 31211 2013-04-13T08:07:36Z KLBot2 3570 Bot: Migrating 2 interwiki links, now provided by [[Wikidata]] on [[:d:Q4960490]] 31589 wikitext text/x-wiki {{Commonscat|Language}} [[Κατηγορίαν:Πολιτισμόν]] td4d6y3465ldkz7q36ueg4vvthnocel Πρότυπον:Bienvenue 10 866 9950 9932 2009-12-04T14:39:11Z Qoan 1170 9950 wikitext text/x-wiki <div style="float:right;border:1px dotted red;margin:5px;padding:2px;background:#FFF8DC;">(de) [[Πρότυπον:Willkommen|Willkommen]]<br> (pnt) [[Πρότυπον:Χαιρέτημαν|Χαιρέτημαν]] <br> (en) [[Πρότυπον:Welcome|Welcome]]<br> (es) [[Πρότυπον:Bienvenido|Bienvenido]]<br> (fr) [[Πρότυπον:Bienvenue|Bienvenue]]</div> <includeonly>{{sub</includeonly><includeonly>st:BASEPAGENAME}}</includeonly><noinclude>ΧρήστηΤάδε</noinclude>, bienvenue sur la Wikipédia en pontique ! Si vous n'avez pas encore créé une page sur vous, vous pouvez le faire dès maintenant (l'onglet du haut est un lien vers votre page personnelle - cliquez dessus pour la créer). Vous pouvez changer la langue de l'interface en accédant à vos [[Special:Preferences|préférences]]. Voici d'autres liens utiles: * [[:fr:Grec pontique|Informations sur le pontique en français]]. * Notre [[Βικιπαίδεια:Αγορά|Bistro]]. Si vous avez des questions n'hésitez pas à me laisser un mot sur ma page de discussion. <noinclude>[[Κατηγορίαν:Πρότυπα Χαιρέτημαν|Bienvenue]]</noinclude> cl30ritlsx2weny43ll68e2rjrmqs68 Βικιπαίδεια:Νέον Λεχτικόν 4 878 7845 2009-08-16T19:05:17Z Omnipaedista 35 [[Βικιπαίδεια:Νέον Λεχτικόν]] ετερχλαεύτεν σο [[Βικιπαίδεια:Νέον λεχτικόν]] 7845 wikitext text/x-wiki #REDIRECT [[Βικιπαίδεια:Νέον λεχτικόν]] prcwx8ar85io6pgr0wfo7b9cloqej7k Λεχτικόν 0 879 34468 34461 2020-04-08T05:46:44Z Tulsi 5081 Cross-wiki abuse 31450 wikitext text/x-wiki '''Λεχτικόν''' εν σύνολον λεξίων μίας λαλίας. Το λεχτικόν 'κ εν αναλλοίωτον, αλλά εξελίζκεται χρόνον με τον χρόνον. [[Κατηγορίαν:Γλωσσολογίαν]] 7ismys6tlwig1ksiihmoxwjkfjvjqbc Πρότυπον:Bienvenido 10 881 9952 9913 2009-12-04T14:39:53Z Qoan 1170 9952 wikitext text/x-wiki <div style="float:right;border:1px dotted red;margin:5px;padding:2px;background:#FFF8DC;">(de) [[Πρότυπον:Willkommen|Willkommen]]<br> (pnt) [[Πρότυπον:Χαιρέτημαν|Χαιρέτημαν]]<br> (en) [[Πρότυπον:Welcome|Welcome]]<br> (es) [[Πρότυπον:Bienvenido|Bienvenido]]<br> (fr) [[Πρότυπον:Bienvenue|Bienvenue]]</div> <includeonly>{{sub</includeonly><includeonly>st:BASEPAGENAME}}</includeonly><noinclude>ΧρήστηΤάδε</noinclude>, ¡Bienvenido a la Wikipedia en Póntico! Si aún no has creado tu página de usuario, puedes hacerlo ahora mismo (en la barra superior aparece tu nombre de usuario, haz click en él para crearla). Puedes cambiar el idioma de la interfaz yendo a tus [[Special:Preferences|preferencias]], en la sección ''internationalisation''. Aquí tienes algunos vínculos útiles: * [[:es:póntico|Información sobre el póntico]]. * Nuestro [[Βικιπαίδεια:Αγορά|café]]. Si tienes alguna pregunta, puedes hacérmela en mi página de discusión. <noinclude>[[Κατηγορίαν:Πρότυπα Χαιρέτημαν|Welcome]]</noinclude> f59c94tm5wd75x49dmtnlicuk7g0u6a Αραπάν 0 889 31212 30792 2013-03-07T20:32:06Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 132 interwiki links, now provided by [[d:|Wikidata]] on [[d:q1420]] [[M:User:Addbot/WDS|(translate me)]] 31212 wikitext text/x-wiki [[Αρχείον:Benz-velo.jpg|thumb|Karl Benz 1894]] '''Αραπάν''' εν τροχοφόρον όχημαν με μηχανήν. Τα αραπάτα πάσκουνταν σο μεσοστράτ, έχνε κάτσα για 1 ως 6 ανθρώπ'ς, έχνε 4 τροχούς και εφτάνουν τα για τη μεταφοράν τ' ανθρώπων. Σο [[2002]] έτον 590.000.000 αραπάτα (1/11 ανθρώπ'ς). == Ιστορίαν == Εφευρέθεν σην [[Γερμανία]] το [[1885]] ασόν Karl Benz. [[Κατηγορίαν:Τεχνολογίαν]] [[Κατηγορίαν:Αραπάδας]] h19ivn504t1dhox7fv1dbsv6dlofkoh Ιμπν Χαλντούν 0 894 33998 33957 2018-10-27T16:43:52Z Wim b 3723 Ανάκληση των αλλαγών [[Special:Contributions/91.140.89.219|91.140.89.219]] ([[User talk:91.140.89.219|συζήτηση]]) επιστροφή στην προηγούμενη αναθεώρηση [[User:Wim b|Wim b]] 33946 wikitext text/x-wiki [[Εικόναν:Ibn Khaldoun-Kassus.jpg|200px|right|thumb|Ιμπν Χαλντούν]] Ο Ιμπν Χαλντούν ([[27 Καλομηνά]], [[1332]]– [[19 Μαρτί]], [[1406]]) (Αραβικά: أبو زيد عبد الرحمن بن محمد بن خلدون الحضرمي) έτον Βορειοαφρικανός πολύμαθον — αστρονόμον, οικονομολόγον, ιστορικός, μελετητής και θεολόγον του Ισλάμ, νομολόγον, δικηγόρον, μαθηματικός, δεατροφολόγον, φιλόσοφον, κοινωνεολόγον και πολιτικον. Εγεννέθεν σην Βόρεον [[Αφρικήν]] ση σημερινήν [[Τυνησία|Τυνησίαν]]. Οι γονείσατου Περσικού καταγωγής έσαν. Έτον πρόδρομον τη: δημογραφίας, πολιτιστικού ιστορίας, ιστοριογραφίας, φιλοσοφίας τη ιστορίας, και κοινωνεολογίας. Εν τσιπ γνωστός για το έργον ατού Μουκαντίμα (γιά Προλεγόμενον), τον πρώτον τόμον της καθολικής ιστορίας τη κόσμονος, Κιτάμπ αλ-Ιμπάρ. Απέθανεν σο [[Κάιρον]]. [[Κατηγορίαν:Ιστορίαν]] [[Κατηγορίαν:Αίγυπτος]] ne8msukg1o7n87p4vnakkxh1my1tzd0 Κάιρον 0 895 36770 34850 2025-12-16T09:00:26Z Εὐθυμένης 2777 36770 wikitext text/x-wiki [[Αρχείον:Cairo, evening view from the Tower of Cairo, Egypt, Oct 2004.jpg|right|thumb|Κάιρον|200px]] Το Κάιρον εν η πρωτεύουσαν τς [[Αίγυπτος|Αιγύπτου]], ευρίετεν σον ποταμόν [[Νείλος|Νείλο]]. Οσήμερον εχ' πληθυσμόν 15.200.000 ανθρώπ κι εν η πιο τρανήν [[Πολιτείας|πολιτείαν]] τς [[Αφρικήν|Αφρικής]]. Τ' επίσημον όνεμαν ατής εν Αλ-Καχίρα (القاهرة). == Ανθρώπ'ς == * [[Ιμπν Χαλντούν]] == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ar}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Αίγυπτος]] qhkwwioefr4z92323atvpi2mvm4wqdh MediaWiki:Gadget-HotCats.js 8 898 34746 34717 2021-03-06T15:04:14Z Ladsgroup 3794 Maintenance: Replacing legacy global variable ([[phab:T72470]]) 34746 javascript text/javascript /* * HotCat: Adds an easy way to add, modify and remove categories * Documentation: [[:en:User:TheDJ/HotCat]] * Originally written by: Magnus Manske * Modified for Pontic Wikipedia by [[User:ZaDiak]] * * This version was forked from //commons.wikimedia.org/w/index.php?title=MediaWiki:Gadget-HotCat.js&oldid=10204404 * Major changes: * - blacklist code is disabled. * - all code for the uploadForm has been removed * - autocommit is disabled * - will be enabled on pages without categories so that you can easily add them * - uses javascript:void() as a dummy value for href in order to avoid a conflict with popups. * - checks for {{Uncategorized}} and removes it if a category is added * - does not use JSconfig for configuration options like its Commons original * - tries to detect other categories and if possible, add to the end of them. * - fixes a bug in the suggestion list with titles containing : character * [[User:TheDJ]] 2008-03-12 <source lang="javascript"><nowiki> */ var hotcat_running = 0 ; var hotcat_last_v = "" ; var hotcat_exists_yes = "//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png" ; var hotcat_exists_no = "//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png" ; var hotcat_no_autocommit = 0; // In Commons hotcat_suggestion_delay is configurable trough JSconfig var hotcat_suggestion_delay = 100; var hotcat_old_onsubmit = null; var hotcat_nosuggestions = false; // hotcat_nosuggestions is set to true if we don't have XMLHttp! (On IE6, XMLHttp uses // ActiveX, and the user may deny execution.) If true, no suggestions will ever be // displayed, and there won't be any checking whether the category exists. // Lupo, 2008-01-20 var hotcat_modify_blacklist = new Array ( "" ) ; $( hotcat ) ; function hotcat () { if ( hotcat_check_action() ) return ; // Edited page, reloading anyway // Do not add interface to protected pages, if user has no edit permission // Also disable it on preview pages: on a preview, we *are* already editing, // and HotCat must not open the page for editing a second time. Lupo, 2008-02-27 if( mw.config.get('wgAction') != "view" || document.getElementById('ca-viewsource' ) != null || mw.config.get('wgNamespaceNumber') == -1 ) return; // If we have no Categories div, then add one // TheDJ, 2008-02-28 var visible_catlinks = document.getElementById ('mw-normal-catlinks') || getElementsByClassName ( document , "p" , "catlinks" ) [0]; var hidden_catlinks = document.getElementById ('mw-hidden-catlinks'); if ( visible_catlinks == null || typeof( visible_catlinks ) == 'undefined' ) { d3 = document.createElement ( "div" ); d3.id = "mw-normal-catlinks"; d3.innerHTML = '<a href="/wiki/Special:Categories" title="Special:Categories">Κατηγορίας</a>: '; visible_catlinks = d3; if ( hidden_catlinks ) { // There are hidden categories. hidden_catlinks.parentNode.insertBefore( d3, hidden_catlinks ); hidden_catlinks.parentNode.className = "catlinks"; } else { // This page has no categories at all, lets create a section where we can add them. var footer = getElementsByClassName ( document , "div" , "printfooter" ) [0]; if( !footer ) return; // We have no idea where we should add this. d1 = document.createElement ( "div" ); d1.id = "catlinks"; d1.className = "catlinks"; d1.appendChild ( d3 ); footer.parentNode.insertBefore( d1, footer.nextSibling ); } } hotcat_modify_existing ( visible_catlinks ) ; hotcat_append_add_span ( visible_catlinks ) ; } function hotcat_append_add_span ( catline ) { var span_add = document.createElement ( "span" ) ; var span_sep = document.createTextNode ( " | " ) ; if ( catline.getElementsByTagName("span")[0] ) catline.appendChild ( span_sep ) ; catline.appendChild ( span_add ) ; hotcat_create_span ( span_add ) ; } String.prototype.ucFirst = function () { return this.substr(0,1).toUpperCase() + this.substr(1,this.length); } function hotcat_is_on_blacklist ( cat_title ) { if ( !cat_title ) return 0 ; cat_title = cat_title.ucFirst.replace( /Κατηγορίαν:/gi, "" ); for ( var i = 0 ; i < hotcat_modify_blacklist.length ; i++ ) { if ( cat_title.substr ( 0 , hotcat_modify_blacklist[i].length ) == hotcat_modify_blacklist[i] ) return 1 ; } return 0 ; } function hotcat_modify_span ( span , i ) { //var cat_title = span.firstChild.getAttribute ( "title" ) ; // This fails with MW 1.13alpha if the category is a redlink, because MW 1.13alpha appends // [[MediaWiki:Red-link-title]] to the category name... we another way to get that category // name. Lupo, 2008-02-27 var cat_title = span.firstChild.innerHTML; // without "Category:" var sep1 = document.createTextNode ( " " ) ; var a1 = document.createTextNode ( "(-)" ) ; var remove_link = document.createElement ( "a" ) ; // Set the href to a dummy value to make sure we don't move if somehow the onclick handler // is bypassed. remove_link.href = "#catlinks"; remove_link.onclick = hotcat_remove; remove_link.appendChild ( a1 ) ; span.appendChild ( sep1 ) ; span.appendChild ( remove_link ) ; // Disabled blacklist check TheDJ, 2008-02-28 // if ( hotcat_is_on_blacklist ( cat_title ) ) return ; var mod_id = "hotcat_modify_" + i ; var sep2 = document.createTextNode ( " " ) ; var a2 = document.createTextNode ( "(±)" ) ; var modify_link = document.createElement ( "a" ) ; modify_link.id = mod_id ; modify_link.href = "javascript:hotcat_modify(\"" + mod_id + "\");" ; modify_link.appendChild ( a2 ) ; span.appendChild ( sep2 ) ; span.appendChild ( modify_link ) ; } function hotcat_modify_existing ( catline ) { var spans = catline.getElementsByTagName ( "span" ) ; for ( var i = 0 ; i < spans.length ; i++ ) { hotcat_modify_span ( spans[i] , i ) ; } } function hotcat_getEvt (evt) { return evt || window.event || window.Event; // Gecko, IE, Netscape } function hotcat_evt2node (evt) { var node = null; try { var e = hotcat_getEvt (evt); node = e.target; if (!node) node = e.srcElement; } catch (ex) { node = null; } return node; } function hotcat_evtkeys (evt) { var code = 0; try { var e = hotcat_getEvt (evt); if (typeof(e.ctrlKey) != 'undefined') { // All modern browsers if (e.ctrlKey) code |= 1; if (e.shiftKey) code |= 2; if (e.altKey) code |= 4; } else if (typeof (e.modifiers) != 'undefined') { // Netscape... if (e.modifiers & Event.CONTROL_MASK) code |= 1; if (e.modifiers & Event.SHIFT_MASK) code |= 2; if (e.modifiers & Event.ALT_MASK) code |= 4; } } catch (ex) { } return code; } function hotcat_killEvt (evt) { try { var e = hotcat_getEvt (evt); if (typeof (e.preventDefault) != 'undefined') { e.preventDefault(); e.stopPropagation() } else e.cancelBubble = true; } catch (ex) { } } function hotcat_remove (evt) { var node = hotcat_evt2node (evt); if (!node) return false; // Get the category name from the original link to the category var cat_title = node.parentNode.firstChild.innerHTML; var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href; if ((hotcat_evtkeys (evt) & 1) || (hotcat_evtkeys (evt) & 4 )) // CTRL or ALT pressed? editlk = editlk + '&hotcat_nocommit=1'; hotcat_killEvt (evt); document.location = editlk + '&hotcat_removecat=' + encodeURIComponent(cat_title) ; return false; } function hotcatGetParamValue(paramName, h) { if (typeof(h) == 'undefined' ) { h = document.location.href; } var cmdRe=RegExp('[&?]'+paramName+'=([^&]*)'); var m=cmdRe.exec(h); if (m) { try { return decodeURIComponent(m[1]); } catch (someError) {} } return null; } // New. Code by Lupo & Superm401, added by Lupo, 2008-02-2007 function hotcat_find_category (wikitext, category) { var cat_name = category.replace(/([\\\^\$\.\?\*\+\(\)])/g, "\\$1"); var initial = cat_name.substr (0, 1); var cat_regex = new RegExp ("\\[\\[\\s*[Κκ]ατηγορίαν\\s*:\\s*" + (initial == "\\" ? initial : "[" + initial.toUpperCase() + initial.toLowerCase() + "]") + cat_name.substring (1).replace (/[ _]/g, "[ _]") + "\\s*(\\|.*?)?\\]\\]", "g" ); var result = new Array (); var curr_match = null; while ((curr_match = cat_regex.exec (wikitext)) != null) { result [result.length] = {match : curr_match}; } return result; // An array containing all matches, with positions, in result[i].match } // New. Code by TheDJ, 2008-03-12 function hotcat_find_ins ( wikitext ) { var re = /\[\[(?:Category):[^\]]+\]\]/ig var index = -1; while( re.exec(wikitext) != null ) index = re.lastIndex; if( index > -1) return index; //we should try to find interwiki links here, but that's for later. return -1; } // Rewritten (nearly) from scratch. Lupo, 2008-02-27 function hotcat_check_action () { var ret = 0; if (mw.config.get('wgAction') != 'edit' || typeof(document.editform) == "undefined" ) return ret; // Not an edit page, so not our business... var summary = new Array () ; var t = document.editform.wpTextbox1.value ; var prevent_autocommit = 0; if ( (typeof (hotcat_no_autocommit) != "undefined" && hotcat_no_autocommit) || hotcatGetParamValue ('hotcat_nocommit') == '1') prevent_autocommit = 1; var cat_rm = hotcatGetParamValue ('hotcat_removecat'); var cat_add = hotcatGetParamValue ('hotcat_newcat'); var cat_key = null; if (cat_rm != null && cat_rm.length > 0) { var matches = hotcat_find_category (t, cat_rm); if (!matches || matches.length == 0) { alert ('Η κατηγορίαν "' + cat_rm + '" ουκ ευρέθεν;?'); prevent_autocommit = 1; } else if (matches.length > 1) { alert ('Η κατηγορίαν "' + cat_rm + "\" ευρέθεν πολλάς φοράς"); prevent_autocommit = 1; } else { if (cat_add != null && cat_add.length > 0 && matches[0].match.length > 1) cat_key = matches[0].match[1]; // Remember the category key, if any. var t1 = t.substring (0, matches[0].match.index); var t2 = t.substring (matches[0].match.index + matches[0].match[0].length); // Remove whitespace (properly): strip whitespace, but only up to the next line feed. // If we then have two linefeeds in a row, remove one. Otherwise, if we have two non- // whitespace characters, insert a blank. var i = t1.length - 1; while (i >= 0 && t1.charAt (i) != '\n' && t1.substr (i, 1).search (/\s/) >= 0) i--; var j = 0; while (j < t2.length && t2.charAt (j) != '\n' && t1.substr (j, 1).search (/\s/) >= 0) j++; if (i >= 0 && t1.charAt (i) == '\n' && j < t2.length && t2.charAt (j) == '\n') i--; if (i >= 0) t1 = t1.substring (0, i+1); else t1 = ""; if (j < t2.length) t2 = t2.substring (j); else t2 = ""; if (t1.length > 0 && t1.substring (t1.length - 1).search (/\S/) >= 0 && t2.length > 0 && t2.substr (0, 1).search (/\S/) >= 0) t1 = t1 + ' '; t = t1 + t2; summary.push ( "Σβήσον κατηγορίαν \"" + cat_rm + "\"" ) ; ret = 1; } } if (cat_add != null && cat_add.length > 0) { var matches = hotcat_find_category (t, cat_add); if (matches && matches.length > 0) { alert ('Η κατηγορίαν "' + cat_add + '" εν σην σελίδαν, ουκ προστέθεν.'); prevent_autocommit = 1; } else { var insertionpoint = hotcat_find_ins( t ); var newcatstring = '\n\[\[Κατηγορίαν:' + cat_add + (cat_key != null ? cat_key : "") + '\]\]'; if( insertionpoint > -1 ) { t = t.substring(0, insertionpoint ) + newcatstring + t.substring( insertionpoint ); } else { t = t + newcatstring; } summary.push ( "Γοργήν προσθήκην κατηγορίας \"" + cat_add + "\"" ) ; var t2 = t.replace(/\{\{[Uu]ncategorized[^}]*\}\}/g, ""); // Remove "uncategorized" template if (t2.length != t.length) { t = t2; summary.push ( "removed {{uncategorized}}" ) ; } ret = 1; } } if (ret) { document.editform.wpTextbox1.value = t ; document.editform.wpSummary.value = summary.join( "; " ) + " ('''HotCat''')" ; document.editform.wpMinoredit.checked = true ; if (!prevent_autocommit) { // Hide the entire edit section so as not to tempt the user into editing... var bodyContentId = document.getElementById("bodyContent") || document.getElementById("mw_contentholder"); bodyContentId.style.display = "none"; document.editform.submit(); } } return ret; } function hotcat_clear_span ( span_add ) { while ( span_add.firstChild ) span_add.removeChild ( span_add.firstChild ) ; } function hotcat_create_span ( span_add ) { hotcat_clear_span ( span_add ) ; var a_add = document.createElement ( "a" ) ; var a_text = document.createTextNode ( "(+)" ) ; span_add.id = "hotcat_add" ; a_add.href = "javascript:hotcat_add_new()" ; a_add.appendChild ( a_text ) ; span_add.appendChild ( a_add ) ; } function hotcat_modify ( link_id ) { var link = document.getElementById ( link_id ) ; var span = link.parentNode ; var catname = span.firstChild.innerHTML; // was .firstChild.data. Just for consistency while ( span.firstChild.nextSibling ) span.removeChild ( span.firstChild.nextSibling ) ; span.firstChild.style.display = "none" ; hotcat_create_new_span ( span , catname ) ; hotcat_last_v = "" ; hotcat_text_changed () ; // Update icon } function hotcat_add_new () { var span_add = document.getElementById ( "hotcat_add" ) ; hotcat_clear_span ( span_add ) ; hotcat_last_v = "" ; hotcat_create_new_span ( span_add , "" ) ; } function hotcat_create_new_span ( thespan , init_text ) { var form = document.createElement ( "form" ) ; form.method = "post" ; form.onsubmit = function () { hotcat_ok(); return false; } ; form.id = "hotcat_form" ; form.style.display = "inline" ; var list = null; if (!hotcat_nosuggestions) { // Only do this if we may actually use XMLHttp... list = document.createElement ( "select" ) ; list.id = "hotcat_list" ; list.onclick = function () { var l = document.getElementById("hotcat_list"); if (l != null) document.getElementById("hotcat_text").value = l.options[l.selectedIndex].text; hotcat_text_changed(); }; list.ondblclick = function (evt) { var l = document.getElementById("hotcat_list"); if (l != null) document.getElementById("hotcat_text").value = l.options[l.selectedIndex].text; // Don't call text_changed here if on upload form: hotcat_ok will remove the list // anyway, so we must not ask for new suggestions since show_suggestions might // raise an exception if it tried to show a no longer existing list. // Lupo, 2008-01-20 hotcat_text_changed(); hotcat_ok((hotcat_evtkeys (evt) & 1) || (hotcat_evtkeys (evt) & 4)); // CTRL or ALT pressed? }; list.style.display = "none" ; } var text = document.createElement ( "input" ) ; text.size = 40 ; text.id = "hotcat_text" ; text.type = "text" ; text.value = init_text ; text.onkeyup = function () { window.setTimeout("hotcat_text_changed();", hotcat_suggestion_delay ); } ; var exists = null; if (!hotcat_nosuggestions) { exists = document.createElement ( "img" ) ; exists.id = "hotcat_exists" ; exists.src = hotcat_exists_no ; } var OK = document.createElement ( "input" ) ; OK.type = "button" ; OK.value = "Εγέντον" ; OK.onclick = function (evt) { hotcat_ok ((hotcat_evtkeys (evt) & 1) || (hotcat_evtkeys (evt) & 4)); }; // CTRL or ALT pressed? var cancel = document.createElement ( "input" ) ; cancel.type = "button" ; cancel.value = "Άκυρον" ; cancel.onclick = hotcat_cancel ; if (list != null) form.appendChild ( list ) ; form.appendChild ( text ) ; if (exists != null) form.appendChild ( exists ) ; form.appendChild ( OK ) ; form.appendChild ( cancel ) ; thespan.appendChild ( form ) ; text.focus () ; } function hotcat_ok (nocommit) { var text = document.getElementById ( "hotcat_text" ) ; var v = text.value ; // Empty category ? if ( v == "" ) { hotcat_cancel() ; return ; } var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href; var url = editlk + '&hotcat_newcat=' + encodeURIComponent( v ) ; // Editing existing? var span = text.parentNode.parentNode ; // span.form.text if ( span.id != "hotcat_add" ) { // Not plain "addition" url += '&hotcat_removecat=' + span.firstChild.innerHTML; } if (nocommit) url = url + '&hotcat_nocommit=1'; document.location = url ; } function hotcat_just_add ( text ) { var span = document.getElementById("hotcat_form") ; while ( span.tagName != "SPAN" ) span = span.parentNode ; var add = 0 ; if ( span.id == "hotcat_add" ) add = 1 ; span.id = "" ; while ( span.firstChild ) span.removeChild ( span.firstChild ) ; var na = document.createElement ( "a" ) ; na.href = mw.config.get('wgArticlePath').split("$1").join("Κατηγορίαν:" + encodeURI (text)) ; na.appendChild ( document.createTextNode ( text ) ) ; na.setAttribute ( "title" , "Κατηγορίαν:" + text ) ; span.appendChild ( na ) ; var catline = getElementsByClassName ( document , "p" , "catlinks" ) [0] ; if ( add ) hotcat_append_add_span ( catline ) ; for ( var i = 0 ; i < span.parentNode.childNodes.length ; i++ ) { if ( span.parentNode.childNodes[i] != span ) continue ; hotcat_modify_span ( span , i ) ; break ; } } function hotcat_cancel () { var span = document.getElementById("hotcat_form").parentNode ; if ( span.id == "hotcat_add" ) { hotcat_create_span ( span ) ; } else { while ( span.firstChild.nextSibling ) span.removeChild ( span.firstChild.nextSibling ) ; span.firstChild.style.display = "" ; for ( var i = 0 ; i < span.parentNode.childNodes.length ; i++ ) { if ( span.parentNode.childNodes[i] != span ) continue ; hotcat_modify_span ( span , i ) ; break ; } } } function hotcat_text_changed () { if ( hotcat_running ) return ; var text = document.getElementById ( "hotcat_text" ) ; var v = text.value.ucFirst() ; if ( hotcat_last_v == v ) return ; // Nothing's changed... if (hotcat_nosuggestions) { // On IE, XMLHttp uses ActiveX, and the user may deny execution... just make sure // the list is not displayed. var list = document.getElementById ('hotcat_list'); if (list != null) list.style.display = "none" ; var exists = document.getElementById ('hotcat_exists'); if (exists != null) exists.style.display = "none" ; return; } hotcat_running = 1 ; hotcat_last_v = v ; if ( v != "" ) { var url = mw.config.get('wgServer') + wgScriptPath + "/api.php?format=xml&action=query&list=allpages&apnamespace=14&apfrom=" + encodeURIComponent( v ) ; var request = sajax_init_object() ; if (request == null) { //Oops! We don't have XMLHttp... hotcat_nosuggestions = true; var list = document.getElementById ('hotcat_list'); if (list != null) list.style.display = "none" ; var exists = document.getElementById ('hotcat_exists'); if (exists != null) exists.style.display = "none" ; hotcat_running = 0; return; } request.open('GET', url, true); request.onreadystatechange = function () { if (request.readyState == 4) { var xml = request.responseXML ; if ( xml == null ) return ; var pages = xml.getElementsByTagName( "p" ) ; var titles = new Array () ; for ( var i = 0 ; i < pages.length ; i++ ) { // Strip "Category:" but don't break on titles like "Category:Space: 2001 a space odyssey" var s = pages[i].getAttribute("title").replace( /Κατηγορίαν:/gi, "" ); if ( s.substr ( 0 , hotcat_last_v.length ) != hotcat_last_v ) break ; titles.push ( s ) ; } hotcat_show_suggestions ( titles ) ; } }; request.setRequestHeader ('Pragma', 'cache=yes'); request.setRequestHeader ('Cache-Control', 'no-transform'); request.send(null); } else { hotcat_show_suggestions ( new Array () ) ; } hotcat_running = 0 ; } function hotcat_show_suggestions ( titles ) { var text = document.getElementById ( "hotcat_text" ) ; var list = document.getElementById ( "hotcat_list" ) ; var icon = document.getElementById ( "hotcat_exists" ) ; // Somehow, after a double click on the selection list, we still get here in IE, but // the list may no longer exist... Lupo, 2008-01-20 if (list == null) return; if (hotcat_nosuggestions) { list.style.display = "none" ; if (icon != null) icon.style.display = "none"; return; } if ( titles.length == 0 ) { list.style.display = "none" ; icon.src = hotcat_exists_no ; return ; } // Set list size to minimum of 5 and actual number of titles. Formerly was just 5. // Lupo, 2008-01-20 list.size = (titles.length > 5 ? 5 : titles.length) ; // Avoid list height 1: double-click doesn't work in FF. Lupo, 2008-02-27 if (list.size == 1) list.size = 2; list.style.align = "left" ; list.style.zIndex = 5 ; list.style.position = "absolute" ; // Was listh = titles.length * 20: that makes no sense if titles.length > list.size // Lupo, 2008-01-20 var listh = list.size * 20; var nl = parseInt (text.offsetLeft) - 1 ; var nt = parseInt (text.offsetTop) - listh ; list.style.top = nt + "px" ; list.style.width = text.offsetWidth + "px" ; list.style.height = listh + "px" ; list.style.left = nl + "px" ; while ( list.firstChild ) list.removeChild ( list.firstChild ) ; for ( var i = 0 ; i < titles.length ; i++ ) { var opt = document.createElement ( "option" ) ; var ot = document.createTextNode ( titles[i] ) ; opt.appendChild ( ot ) ; //opt.value = titles[i] ; list.appendChild ( opt ) ; } icon.src = hotcat_exists_yes ; var nof_titles = titles.lenght; var first_title = titles.shift () ; var v = text.value.ucFirst() ; if ( first_title == v ) { if( nof_titles == 1 ) { // Only one result, and it's the same as whatever is in the input box: makes no sense // to show the list. But make sure the text field has the focus ! text.focus(); list.style.display = "none"; } return; } list.style.display = "block" ; // Put the first entry of the title list into the text field, and select the // new suffix such that it'll be overwritten if the user keeps typing. // ONLY do this if we have a way to select parts of the content of a text // field, otherwise, this is very annoying for the user. Note: IE does it // again differently from the two versions previously implemented. // Lupo, 2008-01-20 // Only put first entry into the list if the user hasn't typed something // conflicting yet Dschwen 2008-02-18 if ( ( text.setSelectionRange || text.createTextRange || typeof (text.selectionStart) != 'undefined' && typeof (text.selectionEnd) != 'undefined' ) && v == first_title.substr(0,v.length) ) { // taking hotcat_last_v was a major annoyance, // since it constantly killed text that was typed in // _since_ the last AJAX request was fired! Dschwen 2008-02-18 var nosel = v.length ; text.value = first_title ; if (text.setSelectionRange) // e.g. khtml text.setSelectionRange (nosel, first_title.length); else if (text.createTextRange) { // IE var new_selection = text.createTextRange(); new_selection.move ("character", nosel); new_selection.moveEnd ("character", first_title.length - nosel); new_selection.select(); } else { text.selectionStart = nosel; text.selectionEnd = first_title.length; } } } /* </nowiki></source> */ dcyjenj14euzn8ram3v4xmdcxih652e MediaWiki:Gadget-HotCats 8 899 8453 2009-09-08T12:18:40Z ZaDiak 10 Καινούρεον σελίδαν με 'HotCats: Εργαλείον για ποίσον, άλλαγμαν και σβήσον κατηγορίας.' 8453 wikitext text/x-wiki HotCats: Εργαλείον για ποίσον, άλλαγμαν και σβήσον κατηγορίας. ckrpwj6vtzgc1qh8tv8f3pds4xuf2nn MediaWiki:Gadgets-definition 8 900 34340 8454 2019-12-11T16:09:15Z WikiBayer 7202 [ResourceLoader] 34340 wikitext text/x-wiki *HotCats[ResourceLoader]|HotCats.js 99vwf884u7rpprvl15fjhigvnxhh1l4 Κατηγορίαν:Αίγυπτος 14 901 31215 30299 2013-03-07T20:32:39Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 156 interwiki links, now provided by [[d:|Wikidata]] on [[d:q1411674]] [[M:User:Addbot/WDS|(translate me)]] 31215 wikitext text/x-wiki * {{Commonscat|Egypt}} [[Κατηγορίαν:Κράτη]] itb3phiokcctno1861ryjd5pcaf2zck 16 Σταυρί 0 903 37230 37187 2025-12-16T18:51:47Z Εὐθυμένης 2777 37230 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[15 Σταυρί]] | [[16 Σταυρί]] | [[17 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''16 Σταυρί''' εν 259ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 260ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 106 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == *[[2007]]: Ασού εξέβεν πρώτον σα βουλευτικά εκλογάς τη 16 Σταυρί ο πρωθυπουργόν [[Κωνσταντίνος Καραμανλής|Κωνσταντίνον Καραμανλής]] σχηματίζ' καινούρεον [[Κυβέρνηση Κωνσταντίνονος Α. Καραμανλή 2007|κυβέρνησην]]. == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[16 Αλωναρί]] - [[16 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0916]] pvp904n84ncx1d544byovdqqznt8jl2 17 Σταυρί 0 904 37231 37192 2025-12-16T18:52:02Z Εὐθυμένης 2777 37231 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[16 Σταυρί]] | [[17 Σταυρί]] | [[18 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''17 Σταυρί''' εν 260ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 261ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 105 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[17 Αλωναρί]] - [[17 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0917]] reywnttw9b1tzfbi9hoqleh0070g8mg 18 Σταυρί 0 905 37232 37169 2025-12-16T18:58:11Z Εὐθυμένης 2777 37232 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[17 Σταυρί]] | [[18 Σταυρί]] | [[19 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''18 Σταυρί''' εν 261ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 262ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 104 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[18 Αλωναρί]] - [[18 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0918]] 75g310q8lzns5l8824zjd4xbwakr2o7 19 Σταυρί 0 906 37233 37176 2025-12-16T18:58:25Z Εὐθυμένης 2777 37233 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[18 Σταυρί]] | [[19 Σταυρί]] | [[20 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''19 Σταυρί''' εν 262ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 263ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 103 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[19 Αλωναρί]] - [[19 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0919]] mjoxarfwcejg66kylu4s9bcstojsxuc 20 Σταυρί 0 907 37234 37167 2025-12-16T18:58:40Z Εὐθυμένης 2777 37234 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[19 Σταυρί]] | [[20 Σταυρί]] | [[21 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''20 Σταυρί''' εν 263ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 264ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 102 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == * [[Ορθόδοξον Εγκλεσία|Ορθόδοξον Εγκλεσίαν]]: Ευσταθίου τη Μεγαλομάρτυρα, και τη συνοδείας ατουνού, Θεοπίστης τ'ατουνού γαρής, Αγαπίου κ' Θεόπιστου τ'ατουνού παιδία (σα 118 τη χρονίαν). '''Τερέστεν πα:''' * [[20 Αλωναρί]] - [[20 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0920]] kzqs3d7evi3jeybylz4m27agii35ow0 Νείλος 0 909 34862 31221 2021-08-10T19:09:11Z InternetArchiveBot 8521 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.8 34862 wikitext text/x-wiki [[Εικόναν:Ägypten am Nil.jpg|250px|right|thumb|Ο Νείλος]] Ο '''Νείλος''' εν ποτάμιν κι ευρίεται σην [[Αφρικήν]]. Εν το τρανότερον ποτάμιν σον κόσμον. Ο Νείλος εχ' δυο τρανούς κλώνους: τον Λευκόν Νείλον και τον Μπλε Νείλον ασήν Αιθιοπίαν. Απεκεί πάει σην Αίγυπτον κι εκεί ξύνεται σην [[Μεσόγειον Θάλασσα|Μεσόγειον τη Θάλασσαν]] εφτάοντας Δέλτα. == Τ' όνεμαν == Τ' όνεμαν Νείλος εν Παλαιόν Ελλενικόν και εν ασήν σημιτικήν ρίζαν ''νάχαλ'' τεμέκ κοιλάδαν γιά ποτάμιν (ασή μετάφρασην ποτάμιν-κοιλάδαν). == Απόθεν κατεβαίν' == Ο Νείλος εν το τρανότερον ποτάμιν (μάκρον) σην Αφρικήν, αλλά και σ' ούλον τον κόσμον. Εβγών ασά νότια τ' Ισημερινού, ξύνει σην Μεσόγειον Θάλασσα. Εν 6.650 χμ μακρόν και ξύνει σε 3.349.000 τ.χμ. Δαβαίν' την [[Τανζανία|Τανζανίαν]], το [[Μπουρούντι]], την [[Ρουάντα]], το [[Ζαΐρ]], την [[Κένυα|Κένυαν]], την [[Ουγκάντα]], την [[Αιθιοπία|Αιθιοπίαν]], το [[Σουδάν]] και την [[Αίγυπτος|Αίγυπτον]]. Ο Νείλος αχπάσκεται ασόν Κυανόν Νείλον (Αμπάι), τον Άτμπαρα, και τον Λευκόν Νείλον. == Συνδέζμαι == * [https://web.archive.org/web/20070104025227/http://www.rhodes.aegean.gr/sxedia/grafdaskalou/afriki/wwwroot/mysite7/O_neilos.htm Ο ΝΕΙΛΟΣ] [[Κατηγορίαν:Αίγυπτος]] [[Κατηγορίαν:Ποτάμαι]] t1uits3pq8x22vv16n0v96lwxa2im9k 21 Σταυρί 0 912 37235 37173 2025-12-16T18:58:54Z Εὐθυμένης 2777 37235 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[20 Σταυρί]] | [[21 Σταυρί]] | [[22 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''21 Σταυρί''' εν 264ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 265ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 101 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[21 Αλωναρί]] - [[21 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0921]] gnxb3ev4abrgtf75qdq44jlo5qxn9gg 22 Σταυρί 0 913 37236 37166 2025-12-16T18:59:10Z Εὐθυμένης 2777 37236 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[21 Σταυρί]] | [[22 Σταυρί]] | [[23 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''22 Σταυρί''' εν 265ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 266ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 100 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[22 Αλωναρί]] - [[22 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0922]] putllvobn6iqcydr38sq5ibe0r4a6ua 24 Σταυρί 0 914 37238 37188 2025-12-16T18:59:43Z Εὐθυμένης 2777 37238 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[23 Σταυρί]] | [[24 Σταυρί]] | [[25 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''24 Σταυρί''' εν 267ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 268ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 98 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[24 Αλωναρί]] - [[24 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0924]] ahboiuqgxyhxi9c1rf84wmzoimdhsrn 25 Σταυρί 0 915 37239 37177 2025-12-16T18:59:58Z Εὐθυμένης 2777 37239 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[24 Σταυρί]] | [[25 Σταυρί]] | [[26 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''25 Σταυρί''' εν 268ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 269ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 97 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[25 Αλωναρί]] - [[25 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0925]] s46z5tllm7ljzvnbwj9un6x02mq1s8y 26 Σταυρί 0 916 37240 37171 2025-12-16T19:00:13Z Εὐθυμένης 2777 37240 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[25 Σταυρί]] | [[26 Σταυρί]] | [[27 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''26 Σταυρί''' εν 269ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 270ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 96 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[26 Αλωναρί]] - [[26 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0926]] 2vm4uytvmddodrwr5l63rhhv2fajt4x 27 Σταυρί 0 917 37241 37196 2025-12-16T19:00:28Z Εὐθυμένης 2777 37241 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[26 Σταυρί]] | [[27 Σταυρί]] | [[28 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''27 Σταυρί''' εν 270ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 271ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 95 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == * [[1984]]: [[Αβρίλ Λαβίν]], τραγουδίστρια ασον Καναδάν. == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[27 Αλωναρί]] - [[27 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0927]] prnhvtzi52qfaicqqymb4znysyr6i23 28 Σταυρί 0 918 37242 37185 2025-12-16T19:00:44Z Εὐθυμένης 2777 37242 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[27 Σταυρί]] | [[28 Σταυρί]] | [[29 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''28 Σταυρί''' εν 271ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 272ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 94 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[28 Αλωναρί]] - [[28 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0928]] 91cji798o43036odib4keu9sq49ywij 29 Σταυρί 0 919 37243 37180 2025-12-16T19:00:58Z Εὐθυμένης 2777 37243 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[28 Σταυρί]] | [[29 Σταυρί]] | [[30 Σταυρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''29 Σταυρί''' εν 272ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 273ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 93 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[29 Αλωναρί]] - [[29 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0929]] 96pcjdnb6307i2yue55h7hg9hnx83dr 30 Σταυρί 0 920 37244 37175 2025-12-16T19:01:17Z Εὐθυμένης 2777 37244 wikitext text/x-wiki <div class="center">[[Χορτοθέρτς]] | [[Αλωνάρτς]] | '''[[Σταυρίτες]]''' | [[Τρυγομηνάς]] | [[Αεργίτες]]</div> <div class="center">[[29 Σταυρί]] | [[30 Σταυρί]] | [[1 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|9}} '''30 Σταυρί''' εν 273ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 274ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 92 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[30 Αλωναρί]] - [[30 Τρυγομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0930]] fpviqlbq790kktk5geyoh9fphvulagm Τραπεζούντα 0 921 36747 36703 2025-12-16T08:39:19Z Εὐθυμένης 2777 36747 wikitext text/x-wiki [[Εικόναν:Trabzon Turkey Provinces locator.gif|thumb|right|350px|Η τοποθεσία τση Τραπεζούντας σο σύγχρονον χάρτην τση Τουρκίας.]] Η '''Τραπεζούντα''' ([[τούρκικα]]: '''Trabzon''', λάζικα: '''Ťrabuzeni'''), μια πόλη ση [[Μαύρον Θάλασσα|Μαυροθαλάσσας]] το γιαλό ση σημερινόν [[Τουρκία|Τουρκίαν]], και του [[Κρατίδιο τση Τραπεζούντας|Κρατίδιου τση Τραπεζούντας]] η μετρόπολη εν. == Ιστορία == Εθεμελίωσαν την πόλην οι [[Mίλητος|Mιλήσιοι]] πουλητάντοι ασή [[Σινώπη|Σινώπης]] σην [[Κλασική Αρχαιότητα|Κλασικήν Αρχαιότηταν]] σο χρόνο 756 π.Κ.Ε.<ref name="Bosneagu2022">{{cite book|author=Romeo Bosneagu|date=2022-02-22|title=The Black Sea from Paleogeography to Modern Navigation: Applied Maritime Geography and Oceanography|publisher=Springer Nature|pages=|isbn=978-3-03-088762-9|oclc=1299382109|url=https://books.google.com/books?id=lr9gEAAAQBAJ}}</ref> Σο 11ο κατόχρονο, η Τραπεζούντα ελληνικόν αποικίαν σου Βυζάντιου έτονε, και ίσταρο, σο 13ο κατόχρονο, τση [[Αυτοκρατορίας τση Τραπεζούντας]] η μετρόπολη εγέντονε. == Τερέστεν και εκεί == * [[Αυτοκρατορία τη Τραπεζούντος|Αυτοκρατορία τση Τραπεζούντας]] * [[Δαβίδ Τρανόν Κομνηνός]] == Παραπομπές == <references /> == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{tr}} {{επίσημος ιστότοπος}} {{authority control}} {{DEFAULTSORT:Τραπεζουντα}} [[Κατηγορίαν:Πόντος]] [[Κατηγορίαν:Πολιτείας τη Τουρκίας]] nlh5h9ta8jwn1s6vk9iodmanay87j3n Πρότυπον:Coord 10 923 37391 10482 2025-12-20T13:43:27Z Εὐθυμένης 2777 37391 wikitext text/x-wiki <includeonly>{{#invoke:Coordinates|coord}}<!-- -->{{#coordinates:{{{1|}}}|{{{2|}}}|{{{3|}}}|{{{4|}}}|{{{5|}}}|{{{6|}}}|{{{7|}}}|{{{8|}}}|{{{9|}}} |{{#switch:{{{display|}}} |inline,title |inline, title |it |t |title,inline |title={{#switch:{{SUBPAGENAME}} |doc |testcases= |#default={{talk other||primary}} }} |#default= }} |name={{{name|}}} }}</includeonly><noinclude>Για οδηγίες χρήσης τερέστεν ση [[Βικιπαίδεια:Επιχείρησην Γεωγραφικά Συντεταγμένες|Επιχείρησην Γεωγραφικά Συντεταγμένας]] {{Documentation}} </noinclude> 17v9zzd2t6pb722g7zj5cm7gy75dpbb Πρότυπον:Coord/display/title 10 924 36453 10789 2025-12-15T16:31:59Z Εὐθυμένης 2777 36453 wikitext text/x-wiki <span id="coordinates">[[Γεωγραφικά συντεταγμένας|Συντεταγμένας]]: {{{1}}}</span><noinclude>[[Κατηγορίαν:Coord template]]</noinclude> rk6lq92n9wg1nvjoe3nd2d5mzpik8k1 Πρότυπον:Τεκμηρίωση προτύπου 10 925 36524 8630 2025-12-15T17:53:56Z Εὐθυμένης 2777 Ανακατεύθυνση στη σελίδα [[Πρότυπον:Documentation]] 36524 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Πρότυπον:Documentation]] a5da8np5uhxvnt72gzd7vgo5qlz114u Πρότυπον:Coord/input/dec 10 928 36450 10788 2025-12-15T16:29:29Z Εὐθυμένης 2777 36450 wikitext text/x-wiki <includeonly>{{Coord/link|dms-lat={{coord/dec2dms|{{{1}}}|N|S|{{coord/prec dec|{{{1}}}|{{{2}}}}}}}|dms-long={{coord/dec2dms|{{{2}}}|E|W|{{coord/prec dec|{{{1}}}|{{{2}}}}}}}|dec-lat={{{1}}}|dec-long={{{2}}}|param={{{1}}}_N_{{{2}}}_E_{{{3|}}}|default={{#if:{{{format|}}}|{{{format}}}|dec}}|name={{{name|}}} }}</includeonly><noinclude>[[Κατηγορίαν:Coord template]]</noinclude> 0of0vzpoaoincwvqqpakqiupc5g5mg9 Πρότυπον:Coord/link 10 929 36437 8639 2025-12-15T16:18:16Z Εὐθυμένης 2777 36437 wikitext text/x-wiki <span class="plainlinksneverexpand">[{{Coor URL}}{{{param}}}{{#if:{{{name|}}}|&title={{urlencode:{{{name}}}}}}} <span class="{{#ifeq:{{{default|}}}|dec|geo-nondefault|geo-default}}"><span class="geo-dms" title="Χάρτες, αεροφωτογραφίες και άλλες πληροφορίες για {{{dms-lat}}} {{{dms-long}}}"><span class="latitude">{{{dms-lat}}}</span> <span class="longitude">{{{dms-long}}}</span></span></span><span class="geo-multi-punct"> / </span><span class="{{#ifeq:{{{default|}}}|dec|geo-default|geo-nondefault}}">{{#if:{{{name|}}}|<span class="vcard">|}}<span class="geo-dec geo" title="Χάρτες, αεροφωτογραφίες και άλλες πληροφορίες για {{{dec-lat}}} {{{dec-long}}}"><span class="latitude">{{{dec-lat}}}</span>, <span class="longitude">{{{dec-long}}}</span></span>{{#if:{{{name|}}}|<span style="display:none">&#xfeff; (<span class="fn org">{{{name|}}}</span>)</span></span>|}}]</span><noinclude> [[Κατηγορίαν:Coord template|Link]]{{τεκμηρίωση προτύπου}} </noinclude> srpo9p8sx5pxob0hvzktz87ilg1j2zw Βικιπαίδεια:1000 σελίδας 4 930 31428 31232 2013-03-11T10:23:20Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 1 interwiki links, now provided by [[d:|Wikidata]] on [[d:q5460604]] [[M:User:Addbot/WDS|(translate me)]] 31428 wikitext text/x-wiki Ατή η σελίδαν έχ' τρανά σελίδας πη πρεπ' να εχ' και η Ποντιακήν Βικιπαίδεια. Πηγήν ατής έτον το [[meta:List of articles every Wikipedia should have/Version 1.0]]. == Βιογραφίαν (319 σελίδας) == === Ηθοποιοί, χορευτές και μοντέλα (8 σελίδας) === # [[Μάρλον Μπράντο]] # [[Τσάρλι Τσάπλιν]] # [[Μάρλεν Ντήτριχ|Μάρλεν Ντίτριχ]] # [[Μέριλιν Μονρόε]] # [[Τζον Γουέιν]] # [[Μπριζίτ Μπαρντό]] # [[Μπρους Λη]] # [[Ρούντολφ Νουρέγιεφ]] === Καλλιτέχνες και αρχιτέκτονες (26 σελίδας) === # [[Πωλ Σεζάν]] # [[Λε Κορμπυζιέ]] # [[Σαλβαδόρ Νταλί|Σαλβαντόρ Νταλί]] # [[Άλμπρεχτ Ντύρερ]] # [[Βίνσεντ βαν Γκογκ]] # [[Φρανσίσκο Γκόγια]] # [[Κατσουσίκα Χοκουσάι|Χοκουσάι]] # [[Φρίντα Κάλο]] # [[Εντουάρ Μανέ]] # [[Ανρί Ματίς]] # [[Μιχαήλ Άγγελος]] # [[Κλωντ Μονέ]] # [[Τζώρτζια Ο'Κήφι]] # [[Πάμπλο Πικάσο]] # [[Τζάκσον Πόλοκ|Τζάκσον Πόλλοκ]] # [[Ραφαήλ]] # [[Ρέμπραντ]] # [[Αύγουστος Ροντέν]] # [[Μις φαν ντερ Ρόε]] # [[Ντιέγο Βελάθκεθ|Ντιέγκο Βελάσκεθ]] # [[Γιοχάνες Βερμέερ]] # [[Μάρκος Πολλίωνας Βιτρούβιος|Βιτρούβιος]] # [[Άντι Γουόρχολ]] # [[Φρανκ Λόιντ Ράιτ]] # [[Ι.Μ. Πέι]] # [[Πέτερ Πάουλ Ρούμπενς]] === Συγγραφέοι (67 σελίδας) === # [[Δάντης Αλιγκέρι]] # [[Χανς Κρίστιαν Άντερσεν]] # [[Αριστοφάνης]] # [[Ισαάκ Ασίμωφ]] # [[Τζέιν Όστεν]] # [[Ουίλλιαμ Μπλέηκ|Ουίλιαμ Μπλέηκ]] # [[Μπέρτολτ Μπρεχτ|Μπέρτολντ Μπρεχτ]] # [[Λόρδος Βύρων]] # [[Μιγκέλ ντε Θερβάντες]] # [[Αντόν Τσέχωφ|Άντον Τσέχοφ]] # [[Έμιλι Ντίκινσον]] # [[Φιοντόρ Ντοστογιέφσκι]] # [[Άρθουρ Κόναν Ντόυλ]] # [[Του Φου]] # [[Αλέξανδρος Δουμάς (πατέρας)]] # [[Φράνσις Σκοτ Φιτζέραλντ]] # [[Αδελφοί Γκριμ]] # [[Έρνεστ Χέμινγουεϊ]] # [[Χίλντεγκαρντ του Μπίνγκεν]] # [[Όμηρος]] # [[Βίκτωρ Ουγκώ]] # [[Ερρίκος Ίψεν]] # [[Τζαίημς Τζόυς|Τζέημς Τζόυς]] # [[Φραντς Κάφκα]] # [[Λι Μπάι]] # [[Άστριντ Λίντγκρεν]] # [[Τόμας Μαν]] # [[Ματσούο Μπασό]] # [[Άρθουρ Μίλερ]] # [[Μολιέρος]] # [[Μουρασάκι Σικίμπου]] # [[Πάμπλο Νερούδα]] # [[Έντγκαρ Άλλαν Πόε|Έντγκαρ Άλαν Πόε]] # [[Μαρσέλ Προυστ]] # [[Αλέξανδρος Πούσκιν|Αλεξάντερ Πούσκιν]] # [[Ράινερ Μαρία Ρίλκε]] # [[Καρλ Σάντμπεργκ]] # [[Σαπφώ]] # [[Ζαν-Πωλ Σαρτρ|Ζαν Πωλ Σαρτρ]] # [[Ουίλλιαμ Σαίξπηρ|Ουίλιαμ Σαίξπηρ]] # [[Τζορτζ Μπέρναρντ Σω|Τζωρτζ Μπέρναρντ Σω]] # [[Μαίρη Σέλλεϋ]] # [[Σοφοκλής]] # [[Ρόμπερτ Λούις Στίβενσον|Ρόμπερτ Λούις Στήβενσον]] # [[Τζον Ρόναλντ Ρούελ Τόλκιν|Τζ. Ρ. Ρ. Τόλκιν]] # [[Λέων Τολστόι]] # [[Μαρκ Τουαίην|Μαρκ Τουέην]] # [[Ιούλιος Βερν]] # [[Βιργίλιος]] # [[Χ. Τζ. Γουέλς]] # [[Ουώλτ Ουίτμαν]] # [[Όσκαρ Ουάιλντ]] # [[Ουίλιαμ Μπάτλερ Γέιτς]] # [[Αμπού Νουβάς]] # [[Χόρχε Λουίς Μπόρχες]] # [[Κάρολος Ντίκενς]] # [[Φερντοβσί]] # [[Φουζουλί]] # [[Γκαμπριέλ Γκαρσία Μάρκες]] # [[Γιόχαν Βόλφγκανγκ φον Γκαίτε]] # [[Οράτιος]] # [[Καλιντάσα]] # [[Ομάρ Καγιάμ]] # [[Οβίδιος]] # [[Αρθούρος Ρεμπώ]] # [[Σότα Ρουσταβελί]] # [[Τζορτζ Όργουελ]] === Μουσικοί (25 σελίδας) === # [[Γιόχαν Σεμπάστιαν Μπαχ]] # [[The Beatles]] # [[Λούντβιχ βαν Μπετόβεν]] # [[Φρεντερίκ Σοπέν]] # [[Αντονίν Ντβόρζακ]] # [[Αρίθα Φράνκλιν]] # [[Μάικλ Τζάκσον]] # [[Γκούσταβ Μάλερ]] # [[Κλαούντιο Μοντεβέρντι]] # [[Βόλφγκανγκ Αμαντέους Μότσαρτ]] # [[Έλβις Πρίσλεϊ]] # [[Γιαν Σιμπέλιους]] # [[Ρίχαρντ Βάγκνερ]] # [[Έκτορ Μπερλιόζ]] # [[Γιόχαν Μπραμς]] # [[Γκέοργκ Χαίντελ]] # [[Τζίμι Χέντριξ]] # [[Τζιάκομο Πουτσίνι]] # [[The Rolling Stones]] # [[Φραντς Σούμπερτ]] # [[Ρόμπερτ Σούμαν]] # [[Ιγκόρ Στραβίνσκι]] # [[Πιότρ Τσαϊκόφσκι]] # [[Τζουζέπε Βέρντι]] # [[Αντόνιο Βιβάλντι]] === Εξερευνητές (15 σελίδας) === # [[Ρόαλντ Αμούνδσεν]] # [[Νηλ Άρμστρονγκ|Νιλ Άρμστρονγκ]] # [[Γουλιέλμος Μπάρεντς]] # [[Χριστόφορος Κολόμβος]] # [[Τζέιμς Κουκ]] # [[Χερνάντο Κορτέζ]] # [[Φράνσις Ντρέικ]] # [[Χουάν Σεμπαστιάν Ελκάνο]] # [[Λέιφ Έρικσον]] # [[Βάσκο ντα Γκάμα]] # [[Γιούρι Γκαγκάριν]] # [[Έντμουντ Χίλαρι]] # [[Φερδινάνδος Μαγγελάνος]] # [[Μάρκο Πόλο]] # [[Τσενκ Χι]] === Σκηνοθέτες και σεναριογράφοι (11 σελίδας) === # [[Ίνγκμαρ Μπέργκμαν]] # [[Ουώλτ Ντίσνεϋ]] # [[Σεργκέι Αϊζενστάιν]] # [[Άλφρεντ Χίτσκοκ]] # [[Ακίρα Κουροσάβα]] # [[Φριτς Λανγκ]] # [[Τζορτζ Λούκας]] # [[Φράνσις Μάριον]] # [[Λένι Ρίφενσταλ]] # [[Μάρτιν Σκορσέζε]] # [[Στίβεν Σπίλμπεργκ]] === Εφευρέτες, επιστήμονες και μαθηματικοί (53 σελίδας) === # [[Αλ Χουαρίζμι]] # [[Αρχιμήδης]] # [[Τζον Λόγκι Μπερντ]] # [[Αλεξάντερ Γκράχαμ Μπελ]] # [[Καρλ Μπεντς]] # [[Τιμ Μπέρνερς Λι]] # [[Νιλς Μπορ]] # [[Τυχό Μπραχέ]] # [[Ρέιτσελ Κάρσον]] # [[Νικόλαος Κοπέρνικος]] # [[Μαρία Κιουρί]] # [[Κάρολος Δαρβίνος]] [[Αρχείο:LinkFA-star.png|width=14px|height=14px]] # [[Άλμπερτ Αϊνστάιν]] # [[Τόμας Έντισον]] # [[Λέοναρντ Όιλερ]] # [[Ενρίκο Φέρμι]] # [[Ρίτσαρντ Φάινμαν]] # [[Αλεξάντερ Φλέμινγκ]] # [[Χένρυ Φορντ]] # [[Ζοζέφ Φουριέ]] # [[Ρίτσαρτ Μπάκμινστερ Φύλλερ]] # [[Κάζιμιρ Φανκ]] # [[Γαλιλαίος Γαλιλέι]] # [[Μπιλ Γκέιτς]] # [[Καρλ Φρίντριχ Γκάους]] # [[Κουρτ Γκέντελ]] # [[Γουτεμβέργιος|Ιωάννης Γουτεμβέργιος]] # [[Ντάβιντ Χίλμπερτ]] # [[Κρίστιαν Χόυχενς]] # [[Υπατία]] # [[Εδουάρδος Τζένερ]] # [[Στηβ Τζομπς]] # [[Γιοχάνες Κέπλερ]] # [[Τζων Κέυνς]] # [[Ντόναλντ Κνουθ]] # [[Πιέρ Σιμόν Λαπλάς]] # [[Γκότφριντ Βίλχελμ Λάιμπνιτς]] # [[Κάρολος Λινναίος]] # [[Ιγκνάσι Λουκασίεβιτς]] # [[Τζέιμς Κλερκ Μάξγουελ]] # [[Ισαάκ Νεύτων]] # [[Άλφρεντ Νομπέλ]] # [[Λουί Παστέρ]] # [[Ντένις Ρίτσι]] # [[Όλε Ρέμερ]] # [[Βίλχελμ Κόνραντ Ρέντγκεν]] # [[Έρνεστ Ράδερφορντ]] # [[Ρίτσαρντ Στώλλμαν]] # [[Νίκολα Τέσλα]] # [[Λίνους Τόρβαλντς]] # [[Άλαν Τούρινγκ]] # [[Λεονάρντο ντα Βίντσι]] # [[Αδελφοί Ράιτ]] === Φιλόσοφοι, ιστορικοί, οικονομολόγοι, στοχαστές (38 σελίδας) === # [[Φραγκίσκος της Ασίζης]] # [[Βενέδικτος της Νούρσια]] # [[Θωμάς Ακινάτης]] # [[Αριστοτέλης]] # [[Αυγουστίνος Ιππώνος]] # [[Αβερρόης]] # [[Σιμόν ντε Μποβουάρ|Σιμόν ντε Μπωβουάρ]] # [[Ρενέ Ντεκάρτ]] [[Αρχείο:LinkFA-star.png|width=14px|height=14px]] # [[Εμίλ Ντιρκάιμ]] # [[Μισέλ Φουκώ]] # [[Σίγκμουντ Φρόυντ|Ζίγκμουντ Φρόιντ]] [[Αρχείο:LinkFA-star.png|width=14px|height=14px]] # [[Γιόχαν Βόλφγκανγκ φον Γκαίτε]] # [[Ζερμαίν Γκρέερ]] # [[Ηρόδοτος]] # [[Γκέοργκ Βίλχελμ Φρήντριχ Χέγκελ]] # [[Ιπποκράτης]] # [[Εμμάνουελ Καντ]] # [[Μαρτίνος Λούθηρος]] # [[Ρόζα Λούξεμπουργκ]] # [[Σαίρεν Κίρκεγκωρ]] [[Αρχείο:LinkFA-star.png|width=14px|height=14px]] # [[Μάρτιν Λούθερ Κινγκ]] # [[Νικολό Μακιαβέλι]] # [[Καρλ Μαρξ]] # [[Ναγκαριούνα]] # [[Φρειδερίκος Νίτσε]] # [[Τόμας Πέιν]] # [[Πλάτων|Πλάτωνας]] # [[Πυθαγόρας ο Σάμιος|Πυθαγόρας]] # [[Σίμα Κιάν]] # [[Ζαν Ζακ Ρουσσώ]] # [[Μπέρτραντ Ράσελ|Μπέρντραντ Ράσσελ]] # [[Άνταμ Σμιθ]] # [[Σωκράτης]] # [[Σουν Τσου|Σουν Τζου]] # [[Θαλής]] # [[Βολταίρος]] [[Αρχείο:LinkFA-star.png|width=14px|height=14px]] # [[Μαξ Βέμπερ]] # [[Λούντβιχ Βιτγκενστάιν]] === Πολιτικοί, ηγέτες και αριστοκράτες (66 σελίδας) === # [[Ακμπάρ ο Μέγας]] # [[Αλέξανδρος ο Μέγας]] # [[Κόφι Ανάν]] # [[Μουσταφά Κεμάλ Ατατούρκ|Κεμάλ Ατατούρκ]] # [[Αττίλας]] # [[Οκταβιανός Αύγουστος]] # [[Πάπας Βενέδικτος ΙΣΤ΄]] # [[Ότο φον Μπίσμαρκ|Όττο Βίσμαρκ]] # [[Σιμόν Μπολίβαρ|Σιμόν Μπολιβάρ]] # [[Ναπολέων Βοναπάρτης]] # [[Γκρο Χάρλεμ Μπρούντλαντ]] # [[Τζωρτζ Μπους (νεότερος)]] # [[Φιντέλ Κάστρο]] # [[Αικατερίνη Β΄ της Ρωσίας|Αικατερίνη Β' της Ρωσίας]] # [[Καρλομάγνος]] # [[Ζακ Σιράκ]] # [[Ουίνστον Τσώρτσιλ|Ουίνστων Τσώρτσιλ]] # [[Κλεοπάτρα Ζ' της Αιγύπτου]] [[Αρχείο:LinkFA-star.png|width=14px|height=14px]] # [[Πριγκίπισσα Νταϊάνα]] # [[Ίντιρα Γκάντι]] # [[Κωνσταντίνος Α΄ ο Μέγας|Κωνσταντίνος Α']] # [[Ελισάβετ Α' της Αγγλίας]] # [[Ελισάβετ Β' του Ηνωμένου Βασιλείου]] # [[Φραγκίσκος Φερδινάνδος της Αυστρίας]] # [[Σαρλ ντε Γκωλ|Σαρλ Ντε Γκωλ]] # [[Μιχαήλ Γκορμπατσώφ|Μιχαήλ Γκορμπατσόφ]] # [[Χαϊλέ Σελασιέ]] # [[Χαμουραμπί|Χαμμουραμπί]] # [[Αννίβας]] # [[Χιροχίτο]] # [[Αδόλφος Χίτλερ]] # [[Τόμας Τζέφερσον|Θωμάς Τζέφερσον]] # [[Πάπας Ιωάννης Παύλος Β΄|Πάπας Ιωάννης Παύλος Β']] # [[Ιούλιος Καίσαρας|Ιούλιος Καίσαρ]] # [[Τζένγκις Χαν|Τσένγκις Χαν]] # [[Βλαντιμίρ Λένιν]] [[Αρχείο:LinkFA-star.png|width=14px|height=14px]] # [[Αβραάμ Λίνκολν]] # [[Νέλσον Μαντέλα]] # [[Μάο Τσετούνγκ|Μαο Τσετούνγκ]] # [[Μαρία Θηρεσία]] # [[Μαρία Α' της Σκωτίας]] # [[Γκόλντα Μέιρ]] # [[Μπενίτο Μουσολίνι]] # [[Νεφερτίτη]] # [[Κβάμε Νκρούμαχ]] # [[Εβίτα Περόν]] # [[Πέτρος Α΄ της Ρωσίας (ο Μέγας)]] # [[Γιόζεφ Πιλσούντσκι]] # [[Πολ Ποτ]] # [[Βλαντιμίρ Πούτιν]] # [[Τσιν Σι Χουάνγκ]] # [[Έλινορ Ρούζβελτ]] # [[Φραγκλίνος Ρούζβελτ|Φραγκλίνος Ρούσβελτ]] # [[Σαλαντίν]] ή Σαλαδίνος (Σαλάχ ελ-Ντιν) # [[Σεμίραμις]] # [[Σάκα Ζούλου]] # [[Ιωσήφ Στάλιν]] # [[Μάργκαρετ Θάτσερ]] # [[Ταμερλάνος]] # [[Λέων Τρότσκι]] # [[Χάρρυ Τρούμαν]] # [[Βασίλισσα Βικτωρία]] # [[Τζωρτζ Ουάσινγκτων|Τζωρτζ Ουάσινγκτον]] # [[Γουλιέλμος Β΄ της Γερμανίας]] # [[Μάρτιν Λούθερ Κινγκ]] # [[Περικλής]] === Επαναστάτες και ακτιβιστές (10 σελίδας) === # [[Ιωάννα της Λωραίνης]] # [[Θεόδωρος Κολοκοτρώνης]] # [[Μαχάτμα Γκάντι]] # [[Έμμα Γκόλντμαν]] # [[Ερνέστο Τσε Γκεβάρα|Τσε Γκεβάρα]] [[Αρχείο:LinkFA-star.png|width=14px|height=14px]] # [[Έλεν Κέλερ]] # [[Χο Τσι Μινχ]] # [[Οσάμα μπιν Λάντεν]] # [[Φλόρενς Νάιτινγκεϊλ]] # [[Ρόζα Παρκς]] # [[Μητέρα Τερέζα]] == Ιστορία (62 άρθρα) == # [[Ιστορία]] # [[Παγκόσμια ιστορία]] === Προϊστορία και αρχαίος κόσμος (17 άρθρα) === # [[Αρχαία Αίγυπτος]] # [[Αρχαία Ελλάδα]] # [[Αρχαία Ρώμη]] # [[Αρχαιολογία]] # [[Εποχή του Χαλκού|Εποχή του χαλκού]] # [[Βυζαντινή αυτοκρατορία|Βυζαντινή Αυτοκρατορία]] # [[Δυναστεία των Χαν]] # [[Ανθρώπινη εξέλιξη]] # [[Πολιτισμός της κοιλάδας του Ινδού]] # [[Μάγια]] # [[Εποχή του Σιδήρου|Εποχή του σιδήρου]] # [[Μακεδονικό βασίλειο]] # [[Προϊστορία]] # [[Εποχή του Λίθου|Εποχή του λίθου]] # [[Σουμέριοι]] # [[Μεσοποταμία]] === Μεσαίωνας και Αναγέννηση (19 άρθρα) === # [[Διαφωτισμός]] # [[Αμερικανική Επανάσταση]] # [[Αζτέκοι]] # [[Μαύρη Πανώλη]] # [[Σταυροφορίες]] # [[Σχίσμα του 1054|Μεγάλο Σχίσμα]] # [[Ογδοηκονταετής Πόλεμος]] # [[Αγγλικός Εμφύλιος Πόλεμος]] # [[Αποικισμός της Αμερικής]] # [[Γαλλική Επανάσταση]] [[Αρχείο:LinkFA-star.png|width=14px|height=14px]] # [[Αγία Ρωμαϊκή Αυτοκρατορία]] # [[Ίνκας]] # [[Μεσαίωνας]] # [[Ναπολεόντειοι πόλεμοι]] # [[Οθωμανική αυτοκρατορία|Οθωμανική Αυτοκρατορία]] # [[Σελτζούκοι]] # [[Μεταρρύθμιση]] # [[Αναγέννηση]] # [[Ιερά Εξέταση]] # [[Βίκινγκ]] === Βιομηχανική εποχή (25 άρθρα) === # [[Πετρελαϊκή κρίση του 1973]] # [[Αμερικανικός Εμφύλιος Πόλεμος|Αμερικανικός εμφύλιος πόλεμος]] # [[Επανάσταση του 1821]] # [[Απαρτχάιντ]] # [[Βρετανική Αυτοκρατορία]] # [[Ψυχρός πόλεμος]] # [[Ένωση Σοβιετικών Σοσιαλιστικών Δημοκρατιών|Σοβιετική Ένωση]] # [[Γαλλοπρωσικός Πόλεμος|Γαλλοπρωσικός πόλεμος]] # [[Παγκόσμια οικονομική ύφεση 1929]] # [[Πόλεμος του Κόλπου]] # [[Ολοκαύτωμα]] [[Αρχείο:LinkFA-star.png|width=14px|height=14px]] # [[Βιομηχανική επανάσταση]] # [[Ιταλική ενοποίηση]] # [[Πόλεμος της Κορέας]] # [[Μεταρρύθμιση Μεΐτζι]] # [[Ναζιστική Γερμανία]] # [[Ρωσική Επανάσταση]] # [[Διαμάχη για την Αφρική]] # [[Σοβιετικός πόλεμος στο Αφγανιστάν]] # [[Εξερεύνηση του διαστήματος]] # [[Ισπανικός Εμφύλιος|Ισπανικός εμφύλιος πόλεμος]] # [[Συνθήκη των Βερσαλλιών]] # [[Πόλεμος του Βιετνάμ]] # [[Α΄ Παγκόσμιος Πόλεμος|Πρώτος Παγκόσμιος Πόλεμος]] # [[Β΄ Παγκόσμιος Πόλεμος|Δεύτερος Παγκόσμιος Πόλεμος]] == Γεωγραφία (143 άρθρα) == === Γενικοί όροι (15 άρθρα) === # '''[[Γεωγραφία]]''' # [[Πρωτεύουσα]] # '''[[Πόλη]]''' # '''[[Ήπειρος]]''' # '''[[Χώρα]]''' # [[Έρημος]] # [[Χάρτης]] # [[Βόρειος Πόλος]] # '''[[Ωκεανός]]''' # [[Τροπικό δάσος]] # [[Ποταμός|Ποτάμι]] # [[Θάλασσα]] # [[Νότιος Πόλος]] # [[Βουνό]] # [[Παγετώνας]] === Ήπειροι και άλλες περιοχές (9 σελίδας) === # '''[[Αφρικήν]]''' # '''[[Ανταρκτικήν]]''' # '''[[Ασίαν]]''' # '''[[Μέση Ανατολή]]''' # '''[[Ευρώπην]]''' # '''[[Αμερικήν]]''' # '''[[Ωκεανίαν]]''' === Κράτη (49 σελίδας) === Υψηλής προτεραιότητας: # [[Αφγανιστάν]] # '''[[Αυστραλία]]''' # [[Αυστρία]] # [[Μπανγκλαντές]] # [[Βέλγιον]] # '''[[Βραζιλία]]''' # '''[[Καναδάς]]''' # [[Κούβα]] # '''[[Κίνα]]''' # [[Λαϊκή Δημοκρατία του Κονγκό]] # [[Αίγυπτος]] # [[Αιθιοπία]] # '''[[Γαλλία]]''' # '''[[Γερμανία]]''' # [[Ελλάδα]] # '''[[Ινδία]]''' # '''[[Ινδονησία]]''' # '''[[Ιράν]]''' # '''[[Ιράκ]]''' # '''[[Ισραήλ]]''' # [[Ιταλία]] # '''[[Ιαπωνία]]''' # [[Λιβύη]] # [[Μεξικό]] # [[Μονακό]] # [[Μογγολία]] # [[Νεπάλ]] # [[Ολλανδία]] # [[Νιγηρία]] # [[Βόρεια Κορέα]] # [[Περού]] # '''[[Κίνα]]''' # [[Πολωνία]] # '''[[Ρουσία]]''' # [[Ρουάντα]] # [[Σαουδική Αραβία]] # [[Σιγκαπούρη]] # [[Νότια Αφρική|Νότιος Αφρική]] # [[Νότια Κορέα|Νότιος Κορέα]] # '''[[Ισπανία]]''' # [[Σουδάν]] # [[Σουηδία]] # [[Ελβετία]] # [[Τουρκία]] # [[Ουκρανία]] # '''[[Ηνωμένο Βασίλειο]]''' # '''[[Ηνωμένες Πολιτείες της Αμερικής|Ηνωμένες Πολιτείες]]''' # [[Βιετνάμ]] === Πόλεις (41 άρθρα) === # [[Αθήνα]] # [[Μπανγκόκ]] # [[Βαρκελώνη]] # [[Πεκίνο]] # [[Βελιγράδι]] # [[Βερολίνο]] # [[Βρυξέλλες]] # [[Κοπεγχάγη]] # [[Εδιμβούργο]] # [[Φρανκφούρτη]] # [[Ανόι]] # '''[[Χονγκ Κονγκ]]''' # [[Καλκούτα]] # [[Κωνσταντινούπολη]] # [[Τζακάρτα]] # '''[[Ιερουσαλήμ]]''' # '''[[Λονδίνο]]''' # [[Λος Άντζελες]] # [[Μανίλα]] # [[Μαδρίτη]] # [[Μέκκα]] # [[Πόλη του Μεξικού]] # [[Μόσχα]] # [[Μόναχο]] # [[Ναϊρόμπι]] # [[Νέο Δελχί]] # '''[[Νέα Υόρκη]]''' # [[Ντουμπάι]] # '''[[Παρίσι]]''' # [[Ρίο ντε Τζανέιρο]] # '''[[Ρώμη]]''' # [[Αγία Πετρούπολη]] # [[Σεούλ]] # [[Σαγκάη|Σανγκάη]] # [[Σιγκαπούρη]] # '''[[Τόκιο]]''' # [[Τορόντο]] # [[Βατικανό]] # [[Βιέννη]] # [[Βαρσοβία]] # [[Ουάσινγκτον (Περιφέρεια της Κολούμπια)]] === Υδάτινοι όγκοι (21 άρθρα) === # [[Αμαζόνιος]] # [[Αράλη]] # [[Αρκτικήν]] # '''[[Ατλαντικός Ωκεανός]]''' # [[Βαλτικόν Θάλασσα]] # [[Μαύρον Θάλασσα]] # [[Κασπία Θάλασσα]] # [[Νεκρά θάλασσα|Νεκρή Θάλασσα]] # [[Μεγάλες Λίμνες]] # '''[[Ινδικός Ωκεανός]]''' # [[Βαϊκάλη]] # [[Τανγκανίκα]] # [[Λίμνη Βικτόρια|Λίμνη Βικτώρια]] # [[Μεσόγειον Θάλασσα]] # '''[[Νείλος ποταμός|Νείλος]]''' # [[Βόρεια Θάλασσα]] # '''[[Ειρηνικός Ωκεανός]]''' # [[Διώρυγα Παναμά|Διώρυγα του Παναμά]] # [[Διώρυγα Σουέζ|Διώρυγα του Σουέζ]] # [[Νότιος Ωκεανός]] # [[Βόλγας]] === Βουνά, κοιλάδες και έρημοι (8 άρθρα) === # [[Άλπεις]] # [[Άνδεις]] # [[Γκραν Κάνυον]] # '''[[Ιμαλάια]]''' # [[Κιλιμάντζαρο]] # [[Έβερεστ]] # [[Βραχώδη Όρη]] # '''[[Σαχάρα]]''' == Κοινωνία (131 άρθρα) == # '''[[Κοινωνία]]''' # [[Ανθρωπολογία]] # [[Δημογραφία]] # '''[[Εκπαίδευση]]''' # [[Ψυχολογία]] # [[Κοινωνιολογία]] === Οικογένεια και σχέσεις (10 άρθρα) === # '''[[Οικογένεια]]''' # '''[[Ενήλικας]]''' # [[Αγούρ]] # '''[[Παιδίν]]''' # [[Ερωτοτροπία]] # [[Κορίτς]] # '''[[Νεογνό]]''' # [[Άνδρας]] # '''[[Χαράν]]''' # [[Γυναίκα]] === Σκέψη, συμπεριφορά και συναίσθημα (12 άρθρα) === # [[Συμπεριφορά]] # [[Συναίσθημα]] ## [[Θυμός]] ## [[Φόβος]] ## [[Ευτυχία]] ## [[Μίσος]] ## [[Αγάπη]] ## [[Λύπη]] # [[Νόηση]] # [[Ύπνος]] ## [[Όνειρο]] # [[Σκέψη]] === Πολιτική (23 άρθρα) === # '''[[Πολιτική]]''' # [[Αναρχισμός]] # [[Δημοκρατία]] # [[Δικτατορία]] # [[Διπλωματία]] # [[Φασισμός]] # [[Παγκοσμιοποίηση]] # '''[[Κυβέρνηση]]''' # [[Ιμπεριαλισμός]] # [[Φιλελευθερισμός]] # [[Μοναρχία]] # [[Εθνικισμός]] # [[Πολιτεία]] # [[Διάκριση των εξουσιών]] # '''[[Κράτος]]''' # [[Πολιτικό κόμμα]] # [[Θεοκρατία]] # [[Αποικιοκρατία]] # [[Συντηρητισμός]] # [[Μαρξισμός]] # [[Εθνικοσοσιαλισμός|Ναζισμός]] # [[Προπαγάνδα]] # [[Τρομοκρατία]] === Επιχειρήσεις και οικονομικά (27 άρθρα) === # '''[[Επιχείρηση]]''' # '''[[Οικονομικά]]''' # [[Διαφήμιση]] # '''[[Γεωργία (εργασία)]]''' # [[Κεφάλαιο (οικονομικά)]] # [[Κεφαλαιοκρατία]] # [[Κομμουνισμός]] # [[Νόμισμα]]/'''[[Χρήμα]]''' ## [[Ευρώ]] ## [[Γιεν]] ## [[Στερλίνα|Λίρα στερλίνα]] ## [[Ρενμπίμπι]]/[[Γιουάν]] ## [[Ρουπία]] ## [[Δολάριο ΗΠΑ]] # [[Εργασία]] # [[Χρηματοοικονομικά]] # [[Βιομηχανία]] ## [[Παραγωγή]] ## [[Εξόρυξη]] ## [[Διύλιση]] # [[Αγορά (εμπόριο)]] # [[Σοσιαλισμός]] # [[Προσφορά και ζήτηση]] # [[Τουρισμός]] # [[Φορολογία]] === Δίκαιο (8 άρθρα) === # '''[[Δίκαιο]]''' # [[Έγκλημα]] # [[Σύνταγμα]] # Συγκεκριμένα κείμενα ## [[Μάγκνα Κάρτα]] ## [[Λεβιάθαν (βιβλίο)]] ## [[Πολιτεία του Πλάτωνα]] ## [[Μανιφέστο του Κομμουνιστικού Κόμματος|Κομμουνιστικό Μανιφέστο]] # [[Νόμος]] === Διεθνείς οργανισμοί (27 άρθρα) === # [[Αφρικανική Ένωση]] # [[Αραβικός Σύνδεσμος]] # [[Ένωση Χωρών της Νοτιοανατολικής Ασίας]] # [[Ένωση Σοβιετικών Σοσιαλιστικών Δημοκρατιών|Κοινοπολιτεία Ανεξαρτήτων Κρατών]] # [[Κοινοπολιτεία]] # [[Συμβούλιο της Ευρώπης]] # [[Ευρωπαϊκή Ένωση]] # [[Συνθήκες της Γενεύης]] ## '''[[Διεθνές Κίνημα Ερυθρού Σταυρού και Ερυθράς Ημισελήνου]]''' # [[Ιντερπόλ]] # [[ΝΑΤΟ|NATO]] # [[Βραβείο Νόμπελ]] # [[Οργανισμός Οικονομικής Συνεργασίας και Ανάπτυξης]] # [[Οργανισμός για την Ασφάλεια και Συνεργασία στην Ευρώπη]] # [[Οργανισμός Αμερικανικών Κρατών]] # [[Οργανισμός εξαγωγών πετρελαιοπαραγωγών χωρών]] # '''[[Οργανισμός Ηνωμένων Εθνών]]''' ## [[Διεθνής Επιτροπή Ατομικής Ενέργειας]] ## [[Διεθνές Δικαστήριο της Δικαιοσύνης]] ## [[Διεθνές Ποινικό Δικαστήριο]] ## [[Διεθνές Νομισματικό Ταμείο]] ## [[ΟΥΝΕΣΚΟ]] ## [[UNICEF]] ## [[Οικουμενική Διακήρυξη για τα Ανθρώπινα Δικαιώματα]] ## [[Παγκόσμια Τράπεζα]] ## [[Παγκόσμιος Οργανισμός Υγείας]] ## [[Παγκόσμιος Οργανισμός Εμπορίου]] === Πόλεμος και στρατός (9 άρθρα) === # '''[[Στρατός|Ένοπλες δυνάμεις]]''' ## [[Στρατός]] ### [[Πυροβολικό]] ### [[Ιππικό]] ### [[Πεζικό]] ## [[Πολεμικό ναυτικό]] ## [[Πολεμική αεροπορία]] # '''[[Ειρήνη (κατάσταση)]]''' # '''[[Πόλεμος]]''' === Κοινωνικά θέματα (9 άρθρα) === # [[Έκτρωση]] # [[Αντισύλληψη]] # '''[[Θανατική ποινή]]''' # [[Ελευθερία]] # [[Φύλο]] # '''[[Ανθρώπινα δικαιώματα]]''' # [[Ρατσισμός]] # [[Σεξισμός]] # '''[[Δουλεία]]''' == Πολιτισμός (188 άρθρα) == # '''[[Πολιτισμός]]''' # '''[[Τέχνη]]''' ## [[Κόμικς]] ## [[Σχέδιο]] ## [[Ζωγραφική]] ## [[Γλυπτική]] ### [[Αγγειοπλαστική]] # '''[[Χορός]]''' # [[Μόδα]] # '''[[Θέατρο]]''' === Γλώσσα και λογοτεχνία (40 άρθρα) === # '''[[Γλώσσα]]''' # '''[[Αλφάβητο]]''' ## [[Κινέζικο σύστημα γραφής]] ## [[Κυριλλικό αλφάβητο]] ## [[Ελληνικό αλφάβητο]] ## [[Λατινικό αλφάβητο]] # '''[[Βιβλίο]]''' # [[Διάλεκτος]] # '''[[Γραμματική]]''' ## [[Ουσιαστικόν]] ## [[Σύνταξη|Συντακτικό]] ## [[Ρήμαν]] # [[Γλωσσολογία]] # [[Αλφαβητισμός]] # '''[[Λογοτεχνία]]''' ## [[Μυθιστόρημα]] ## '''[[Ποιητικήν|Ποιητική]]''' ### [[Έπος του Γκιλγκαμές]] ### [[Ιλιάδα]] ### [[Μαχαμπχαράτα]] ### [[Οδύσσεια]] # Συγκεκριμένες γλώσσες ## [[Αραβική γλώσσα]] ## [[Μπενγκάλι γλώσσα]] ## [[Κινεζική γλώσσα]] ## [[Αγγλική γλώσσα]] ## [[Εσπεράντο]] ## [[Γαλλική γλώσσα]] ## [[Γερμανική γλώσσα]] ## [[Ελλενικόν λαλίαν]] ## [[Εβραϊκή γλώσσα]] ## [[Ινδική γλώσσα]] ## [[Ιαπωνική γλώσσα]] ## [[Λατινική γλώσσα]] ## [[Ρωσική γλώσσα]] ## [[Σανσκριτική γλώσσα]] ## [[Ισπανική γλώσσα]] ## [[Ταμίλ γλώσσα]] ## [[Τουρκική γλώσσα]] # '''[[Λέξη]]''' # '''[[Σύστημα γραφής|Γραφή]]''' === Αρχιτεκτονική και δόμηση (16 άρθρα) === # '''[[Αρχιτεκτονική]]''' # [[Αψίδα]] # [[Γέφυρα]] # [[Διώρυγα]] # [[Φράγμα]] # [[Θόλος]] # '''[[Κατοικία]]''' # Συγκεκριμένες κατασκευές: ## [[Φράγμα του Ασσουάν]] ## [[Κολοσσαίο]] ## [[Μέγα Σινικό Τείχος]] ## [[Πύργος του Άιφελ]] ## [[Αγία Σοφία (Κωνσταντινούπολη)]] ## [[Παρθενώνας]] ## [[Πυραμίδες της Γκίζα]] ## [[Βασιλική του Αγίου Πέτρου]] ## [[Τατζ Μαχάλ]] === Κινηματογράφος, ραδιόφωνο και τηλεόραση (6 άρθρα) === # '''[[Κινηματογράφος]]''' ## [[Animation]] ## [[Βουβή ταινία]] ## [[Κινηματογραφικό στούντιο]] # '''[[Ραδιόφωνο]]''' # '''[[Τηλεόραση]]''' === Μουσική (21 άρθρα) === # '''[[Μουσική]]''' # [[CD|Compact disc]] # [[Τραγούδι]] # Μουσικά είδη: ## [[Κλασική μουσική]] ### [[Όπερα]] ### [[Συμφωνία (μουσική)]] ## [[Παραδοσιακή μουσική]] ## [[Τζαζ]] ## [[Ποπ]] ## [[Ρέγκε|Ρέγγε]] ## [[Rhythm and blues]] ### [[Σόουλ]] ## [[Ροκ μουσική]] ### [[Heavy metal]] # Μουσικά όργανα: ## [[Τύμπανο]] ## [[Φλάουτο]] ## [[Κιθάρα]] ## [[Πιάνο]] ## [[Έγχορδο]] ## [[Τρομπέτα]] ## [[Βιολί]] === Ψυχαγωγία (29 άρθρα) === # [[Ψυχαγωγία]] # [[Διασκέδαση]] # '''[[Παιχνίδι]]''' ## [[Τάβλι]] ## [[Σκάκι]] ## [[Ντάμα]] ## [[Γκο]] ## [[Μανκάλα]] ## [[Τράπουλα]] # [[Στοίχημα]] # [[Αναψυχή]] # [[Πολεμικές τέχνες]] ## [[Τζούντο]] # [[Ολυμπιακοί Αγώνες]] # [[Πάρτι]] # '''[[Αθλητισμός]]''' ## [[Αμερικάνικο ποδόσφαιρο]] ## [[Αγώνας αυτοκινήτων]] ### [[Φόρμουλα 1]] ## [[Καλαθοσφαίριση]] ## [[Κρίκετ]] ## [[Ξιφασκία]] ## [[Ποδόσφαιρο]] ## [[Αντισφαίριση|Τέννις]] ## [[Βόλεϋ]] ## [[Υδατοσφαίριση]] ## [[Πάλη]] ## [[Στίβος]] # [[Παγκόσμιο κύπελλο ποδοσφαίρου]] === Θρησκεία (66 άρθρα) === # '''[[Θρησκεία]]''' # [[Αστρολογία]] # '''[[Θεότητα]]''' ## [[Θεός]] # [[Εορτασμός]] # [[Αργία]] # [[Μυθολογία]] ## [[Ελληνική μυθολογία]] ## [[Τρωικός πόλεμος]] # Θρησκευτικές φιλοσοφίες ## [[Αγνωστικισμός]] ## [[Αθεϊσμός]] ## [[Φονταμενταλισμός]] # '''[[Ψυχή]]''' # Συγκεκριμένες θρησκείες ## [[Μπαχάι Πίστη|Πίστη Μπαχάι]] ### [[Μπαμπ]] ### [[Μπαχαουλλάχ]] ## [[Βουδισμός]] ### [[Σιντάρτα Γκαουτάμα]] ## '''[[Χριστιανισμός]]''' ### [[Αγία Γραφή]] ### [[Εκκλησία]] ### [[Ιησούς Χριστός|Ιησούς]] ### [[Πάπας]] ### [[Προτεσταντισμός]] ### [[Καθολική Εκκλησία|Ρωμαιοκαθολική Εκκλησία]] ### [[Αγία Τριάδα]] ## [[Κομφουκιανισμός]] ### [[Κομφούκιος]] ## '''[[Ινδουισμός|Ινδουϊσμός]]''' ### [[Μπαγκαβάτ Γκίτα]] ### [[Βράχμα]] ### [[Σίβα]] ### [[Ουπανισάδες]] ### [[Βέδες]] ### [[Βισνού]] ### [[Γιόγκα]] ### [[Κρίσνα]] ## '''[[Ισλάμ]]''' ### [[Αλί]] ### [[Αλλάχ]] ### [[Τζαμί]] ### [[Μωάμεθ]] ### [[Κοράνιο|Κοράνι]] ### [[Σιίτες|Σιιτισμός]] ### [[Μεβλεβί Ντερβίς|Σουφισμός]] ### [[Σουνίτες|Σουνιτισμός]] ### [[Ομάρ]] ## [[Τζαϊνισμός]] ## [[Ιουδαϊσμός]] ### [[Αβραάμ]] ### [[Μωυσής]] ### [[Πεντάτευχος|Τορά]] ### [[Ταλμούδ]] ## [[Σιντοϊσμός]] ## [[Σιχισμός]] ### [[Γκουρού Νανάκ Ντεβ]] ## [[Ταοϊσμός]] ### [[Λάο Τσε]] ## [[Ουνιταριανισμός]] ## [[Βουντού]] ## [[Ζωροαστρισμός]] ### [[Ζωροάστρης|Ζαρατούστρα]] # [[Πνευματικότητα]] # [[Μυστικισμός]] ## [[Διαλογισμός]] ## [[Προσευχή]] ## [[Λατρεία]] == Φιλοσοφία (13 άρθρα) == # '''[[Φιλοσοφία]]''' # [[Αισθητική]] # [[Ηθική]] # [[Ύπαρξη]] # [[Εμπειρία]] # [[Φεμινισμός]] # [[Ελεύθερη θέληση]] # [[Ανθρωπισμός]] # [[Γνώση]] # '''[[Λογική]]''' # [[Μεταφυσική]] # [[Πραγματικότητα]] # [[Διαλεκτική]] == Επιστήμη (245 άρθρα) == # [[Επιστήμη]] # [[Επιστημονική μέθοδος]] === Αστρονομία (22 άρθρα) === # '''[[Αστρονομία]]''' # [[Αστεροειδής]] # '''[[Μεγάλη έκρηξη|Μεγάλη Έκρηξη]]''' # [[Μαύρη τρύπα]] # [[Κομήτης]] # '''[[Γαλαξίες]]''' ## [[Γαλαξίας]] # [[Έτος φωτός]] # '''[[Φέγγος]]''' # '''[[Πλανήτης]]''' ## '''[[Γη]]''' ## [[Δίας (πλανήτης)]] ## [[Άρης (πλανήτης)]] ## [[Ερμής (πλανήτης)]] ## [[Ποσειδώνας (πλανήτης)]] ## [[Κρόνος (πλανήτης)]] ## [[Ουρανός (πλανήτης)]] ## [[Αφροδίτη (πλανήτης)]] # [[Ηλιακό σύστημα]] # '''[[Αστέρας|Άστρο]]''' ## '''[[Ήλος]]''' # [[Σύμπαν]] === Βιολογία (12 άρθρα) === # '''[[Βιολογία]]''' # Βιολογικά υλικά: ## '''[[DNA]]''' ## [[RNA]] ## [[Ένζυμο]] ## [[Πρωτεΐνη]] # [[Βοτανική]] # '''[[Θάνατος]]''' # [[Οικολογία]] ## [[Απειλούμενα είδη]] # [[Εξημέρωση]] # '''[[Ζωή]]''' # [[Συστηματική ταξινόμηση]] ## [[Είδος (βιολογία)]] ==== Βιολογικές διαδικασίες (15 άρθρα) ==== # '''[[Μεταβολισμός]]''' ## [[Πέψη]] ## [[Απέκκριση]] ## '''[[Φωτοσύνθεση]]''' ## [[Αναπνοή]] # '''[[Εξέλιξη (βιολογία)]]''' ## [[Ανθρώπινη εξέλιξη]] #'''[[Σεξουαλικός προσανατολισμός]]''' ## [[Ετεροφυλοφιλία]] ## [[Ομοφυλοφιλία]] # '''[[Αναπαραγωγή]]''' ## [[Ασεξουαλική αναπαραγωγή]] ## [[Σεξουαλική αναπαραγωγή]] ### [[Εγκυμοσύνη]] ### [[Συνουσία]] ==== Ανατομία (28 άρθρα) ==== # '''[[Ανατομία]]''' # '''[[Κύτταρο]]''' # [[Κυκλοφορικό σύστημα]] ## [[Αίμαν]] ## [[Καρδία]] # [[Ενδοκρινές σύστημα]] # [[Γαστρεντερική οδός]]/[[Γαστρεντερικό σύστημα|Πεπτικό σύστημα]] ## [[Παχύ έντερο]] ## [[Λεπτό έντερο]] ## [[Ήπαρ]] # [[Καλυπτήριο σύστημα]] ## [[Μαστός]] ## [[Δέρμαν]] # [[Μυς]] # [[Νευρικό σύστημα]] ## [[Εγκέφαλος]] ## [[Αισθητηριακό σύστημα]] #### [[Ωτίν]] #### [[Γλώσσα (ανατομία)]] #### [[Μυτίν]] #### [[Ομάτ]] # [[Αναπαραγωγικό σύστημα]] ## [[Πέος]] ## [[Αιδοίο]] # [[Αναπνευστικό σύστημα]] ## [[Πνεύμονας]] # [[Σκελετός]] ==== Υγεία και ιατρική (44 άρθρα) ==== #'''[[Ιατρική]]''' # [[Εθισμός]] ## [[Αλκοολισμός]] ### [[Κίρρωση του ήπατος]] ## [[Τοξικομανία]] # '''[[Καρκίνος]]''' # [[Χολέρα]] # [[Οδοντιατρική]] # [[Διαβήτης (ασθένεια)|Διαβήτης]] # [[Αναπηρία]] ## [[Τύφλωση]] ## [[Κώφωση]] ## [[Ψυχική ασθένεια]] # '''[[Ασθένεια]]''' # [[Φαρμακευτική]] # [[Εθιστικές ουσίες]] ## [[Καφεΐνη]] ## [[Κάνναβη]] ## [[Κοκαΐνη]] ## [[Αιθανόλη]] ## [[Νικοτίνη]] ### [[Καπνός (φυτό)]] ## [[Όπιο]] # [[Δυσεντερία]] # [[Υγεία]] # [[Καρδιακή νόσος]] # [[Υπέρταση]] # '''[[Ελονοσία]]''' # [[Υποσιτισμός]] # [[Παχυσαρκία]] # [[Πνευμονία]] # [[Σεξουαλικώς μεταδιδόμενα νοσήματα]] ## '''[[AIDS]]''' ## [[Σύφιλη]] # [[Εγκεφαλικό επεισόδιο]] # [[Φυματίωση]] # '''[[Ιός]]''' ## '''[[Γρίπη]]''' ### [[H5N1]] ## [[Ευλογιά]] # [[Κοινό κρυολόγημα]] # [[Πονοκέφαλος]] # [[Πανδημία]] # [[Πενικιλλίνη]] ==== Οργανισμοί (29 άρθρα) ==== # '''[[Οργανισμός (βιολογία)]]''' # '''[[Ζώο]]''' ## [[Αρθρόποδα]] ### '''[[Έντομα]]''' #### [[Μυρμήγκι]] #### [[Μέλισσα]] #### [[Πεταλούδα]] ### [[Αραχνίδες]] ## [[Χορδωτά]] ### '''[[Αμφίβια]]''' ### [[Δεινόσαυρος]] ### '''[[Πτηνό]]''' ### '''[[Ψάρι]]''' ### '''[[Θηλαστικό|Θηλαστικά]]''' #### '''[[Άνθρωπος]]''' #### [[Γάτα]] #### [[Αγελάδα]] #### [[Σκύλος]] #### [[Άλογο]] #### [[Πρόβατο]] #### [[Γουρούνι|Χοίρος]] ### '''[[Ερπετό]]''' # [[Αρχαιοβακτήρια]] # [[Βακτήριο]] # [[Μύκητας]] # [[Φυτό]] ## [[Άνθος]] ## [[Δέντρο]] # [[Πρώτιστα]] === Χημεία (34 άρθρα) === # '''[[Χημεία]]''' # [[Βιοχημεία]] # [[Χημική ουσία]] ## [[Οξύ]] ## [[Βάση]] ## [[Άλας]] # '''[[Χημικό στοιχείο]]''' ## [[Κατάλογος χημικών στοιχείων]] ## [[Περιοδικόν Πινάκιν|Περιοδικόν πίνακας τοι στοιχείων τη χημείας]] ## [[Αργίλιο|Αλουμίνιο]] ## [[Άνθρακας]] ## [[Χαλκός]] ## '''[[Χρυσός]]''' ## [[Ήλιον]] ## '''[[Υδρογόνον]]''' ## '''[[Σίδηρος]]''' ## [[Άζωτο]] ## '''[[Οξυγόνο]]''' ## [[Άργυρος]] # '''[[Μέταλλα|Μέταλλο]]''' ## [[Κράμα]] ### [[Ορείχαλκος]] ### [[Κρατέρωμα]] ### [[Χάλυβας]] # [[Οργανική Χημεία|Οργανική χημεία]] ## [[Αιθανόλη|Αλκοόλη]] ## [[Υδρογονάνθρακες|Υδρογονάνθρακας]] ## [[Ορμόνη]] ## [[Λιπίδιο]] # '''[[Κατάσταση της ύλης]]''' ## [[Αέριο]] ## [[Υγρό]] ## [[Πλάσμα (Φυσική)]] ## [[Στερεό]] === Καιρός, κλίμα και γεωλογία (20 άρθρα) === # '''[[Κλίμα]]''' ## [[Ελ Νίνιο]] ## [[Παγκόσμια θέρμανση]] # [[Σεισμός]] # '''[[Γεωλογία]]''' ## '''[[Ορυκτό]]''' ### [[Διαμάντι]] ### [[Ασβεστόλιθος]] ## [[Θεωρία τεκτονικών πλακών]] ## [[Πέτρωμα]] # [[Φυσική καταστροφή]] # [[Ηφαίστειο]] # [[Καιρός]] ## [[Νέφος]] ## [[Πλημμύρα]] ### [[Τσουνάμι]] ## [[Βροχή]] ### [[Βροχή|Όξινη βροχή]] ### [[Χιόνι]] ## [[Τροπικός κυκλώνας]] === Φυσική (31 άρθρα) === # '''[[Φυσική]]''' # [[Επιτάχυνση]] # '''[[Άτομο]]''' ## [[Ηλεκτρόνιο]] ## [[Νετρόνιο]] ## [[Πρωτόνιο]] # '''[[Ενέργεια]]''' ## [[Ηλεκτρομαγνητική ακτινοβολία]] ### [[Ορατό φάσμα]] #### [[Μαύρο]] #### [[Λευκό]] ### [[Ακτίνες γ]] # '''[[Δύναμη]]''' ## [[Ηλεκτρομαγνητισμός]] ## [[Βαρύτητα]] ## [[Ισχυρή αλληλεπίδραση]] ## [[Ασθενής αλληλεπίδραση]] # [[Ισότοπο]] # [[Φως]] # '''[[Μάζα]]''' # '''[[Μόριο]]''' # [[Κβαντική Μηχανική|Κβαντική μηχανική]] # '''[[Ήχος]]''' # '''[[Ταχύτητα]]''' # [[Σχετικότητα]] # '''[[Χρόνος]] ''' # [[Μαγνήτης]] # [[Ραδιενέργεια]] ## [[Ταχύτητα του φωτός]] ## [[Ταχύτητα του ήχου]] # [[Μήκος]] === Μέτρηση χρόνου (8 άρθρα) === # '''[[Ημερολόγιο]]''' ## [[Κινεζικό ημερολόγιο]] ## [[Γρηγοριανό ημερολόγιο]] # '''[[Ημέρα]]''' # '''[[Μήνας]]''' # [[Ζώνη ώρας]] # [[Εβδομάδα]] [[Αρχείο:LinkFA-star.png|width=14px|height=14px]] # '''[[Έτος]]''' == Τεχνολογία (100 άρθρα) == # [[Τεχνολογία]] # [[Βιοτεχνολογία]] # [[Ένδυση]] ## [[Βαμβάκι]] # [[Μηχανική]] ## [[Κεκλιμένο επίπεδο]] ## [[Μοχλός]] ## [[Τροχαλία]] ## [[Βίδα]] ## [[Σφήνα]] ## [[Τροχός]] # [[Άρδευση]] ## [[Άροτρο]] # [[Μαχαίρι]] # [[Μεταλλουργία]] # [[Νανοτεχνολογία]] === Επικοινωνία (10 άρθρα) === # [[Επικοινωνία]] # [[Πληροφορία]] # [[Δημοσιογραφία]] ## [[Εφημερίδα]] ## [[Μέσα ενημέρωσης|Μέσα Μαζικής Ενημέρωσης]] # [[Τυπογραφία]] # [[Σιδηρόδρομος]] # [[Τηλέγραφος]] # [[Τηλέφωνο]] ## [[Κινητό τηλέφωνο]] === Ηλεκτρονική (14 άρθρα) === # [[Ηλεκτρονική]] ## [[Χωρητικότητα (ηλεκτρισμός)‎]] ## [[Απολαβή]] ## [[Ηλεκτρικό φορτίο]] ## [[Ηλεκτρικό ρεύμα]] ## [[Ηλεκτρική αντίσταση]] ## [[Συχνότητα]] ## [[Συντελεστής αυτεπαγωγής]] # Εξαρτήματα ## [[Πυκνωτής]] ## [[Πηνίο]] ## [[Τρανζίστορ]] ## [[Δίοδος]] ## [[Αντίσταση]] ## [[Μετασχηματιστής]] ==== Υπολογιστάς και Διαδίκτυον (28 άρθρα) ==== # [[Ηλεκτρονικόν υπολογιστής]] ## [[Σκληρόν δίσκος]] ## [[Μητρικόν κάρτα]] ## [[Κεντρικόν Μονάδα Επεξεργασίας]] ## [[Μνήμη τυχαίας προσπέλασης]] # [[Τεχνητόν νοημοσύνη|Τεχνητόν ευφυΐα]] # [[Επιστήμη υπολογιστίων]] ## [[Αλγόριθμος]] # [[Διαδίκτυον]] ## [[Ηλεκτρονικόν ταχυδρομείον|E-mail]] ## [[TCP/IP]] ## [[Παγκόσμιον Ιστός]] ### [[Web browser]] # [[Λειτουργικόν σύστημαν]] ## [[Linux]] ## [[Mac OS]] ## [[Microsoft Windows]] ## [[Unix]] # [[Γλώσσα προγραμματισμού]] ## [[BASIC]] ## [[C++]] ## [[Java]] ## [[PHP]] # [[Λογισμικόν]] # [[Διεπαφή χρήστη]] ## [[Πληκτρολόγιο]] ## [[Οθόνη υπολογιστή]] ## [[Πεντικόν (υπολογιστές)]] === Πρώτες ύλες, ενέργεια και καύσιμα (17 άρθρα) === # [[Ηλεκτρισμός]] ## [[Πυρηνική ενέργεια]] # [[Ορυκτό καύσιμο]] ## [[Γαιάνθρακας (καύσιμο)]] ## [[Φυσικό αέριο]] ## [[Πετρέλαιο]] # [[Φωτιά]] # [[Μηχανή εσωτερικής καύσης]] ## [[Ήπιες μορφές ενέργειας|Ανανεώσιμες Πηγές Ενέργειας]] ### [[Υδροηλεκτρική ενέργεια]] ### [[Ηλιακή ενέργεια]] ### [[Αιολική ενέργεια]] # [[Γυαλί]] # [[Χαρτί]] # [[Πλαστικό]] # [[Ατμομηχανή]] # [[Ξύλο]] === Μεταφορές (6 άρθρα) === # [[Μεταφορά]] # [[Αεροσκάφος]] # [[Αυτοκίνητο]] # [[Ποδήλατο]] # [[Πλοίο]] # [[Τραίνο]] === Όπλα (9 άρθρα) === # [[Όπλο]] # [[Εκρηκτικό]] ## [[Πυρίτιδα]] # [[Πυροβόλο]] # [[Πυρηνικό όπλο]] # [[Ξίφος|Σπαθί]] # [[Άρμα μάχης]] # [[Τόξο (όπλο)]] # [[Υποβρύχιο]] == Τρόφιμα (32 άρθρα) == # [[Τροφή]] # [[Ψωμί]] # [[Δημητριακά]] ## [[Κριθάρι]] ## [[Λαζούδ]] ## [[Βρώμη]] ## [[Ρύζι]] ## [[Σίκαλη]] ## [[Σόργο]] ## [[Σιτάρι]] # [[Τυρί]] # [[Σοκολάτα]] # [[Μέλι]] # [[Φρούτα|Φρούτο]] ## [[Μήλο]] ## [[Μπανάνα]] ## [[Σταφύλι]] ## [[Πορτοκάλι]] # [[Σόγια]] # [[Λεμόνι]] # [[Κρέας]] # [[Ζάχαρη]] # [[Λαχανικό]] ## [[Πατάτα]] === Ποτά (8 άρθρα) === # [[Αλκοολούχο ποτό]] ## [[Μπίρα|Μπύρα]] ## [[Κρασί]] # [[Κόλα]] # [[Καφές]] # [[Γάλα]] # [[Τσάι]] # [[Νερό]] == Μαθηματικά (26 άρθρα) == # [[Μαθηματικά]] # [[Άλγεβρα]] # [[Αριθμητική]] # [[Αξίωμα]] # [[Απειροστικός λογισμός]] ## [[Παράγωγος]] ## [[Ολοκλήρωμα]] # [[Γεωμετρία]] ## [[Κύκλος]] ### [[Αριθμός π|Πι]] ## [[Τετράγωνο]] ## [[Τρίγωνο]] # [[Θεωρία ομάδων]] # [[Μαθηματική απόδειξη]] ## [[Μαθηματική επαγωγή]] ## [[Εις άτοπον απαγωγή]] # [[Αριθμός]] ## [[Μιγαδικός αριθμός]] ## [[Ακέραιος αριθμός]] ## [[Φυσικός αριθμός]] ## [[Πρώτος αριθμός]] ## [[Ρητός αριθμός]] # [[Άπειρο]] # [[Θεωρία συνόλων]] # [[Στατιστική]] # [[Τριγωνομετρία]] == Μέτρηση και μονάδες μέτρησης (8 άρθρα) == # '''[[Μέτρηση]]''' # [[Διεθνές σύστημα μονάδων]] # [[Χιλιόγραμμο|Κιλό]] # [[Λίτρο]] # [[Μέτρο (μονάδα μήκους)]] # [[Νιούτον (μονάδα μέτρησης)]] # [[Βολτ]] # [[Βατ (μονάδα μέτρησης)]] [[Κατηγορίαν:Βικιπαίδεια]] kiworp6l5i9wqddhvfwt49oh6pd7an7 Κατηγορίαν:Σινεμά 14 932 31233 30107 2013-03-07T20:36:13Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 129 interwiki links, now provided by [[d:|Wikidata]] on [[d:q1458269]] [[M:User:Addbot/WDS|(translate me)]] 31233 wikitext text/x-wiki [[Κατηγορίαν:Πολιτισμόν]] sv0ottb8dqlvhhgpdjvqgmft1x1mvh7 Γκέοργκ Βίλχελμ Φρήντριχ Χέγκελ 0 935 32582 31234 2015-12-12T17:05:56Z CommonsDelinker 121 Replacing Hegel.jpg with [[File:G.W.F._Hegel_(by_Sichling,_after_Sebbers).jpg]] (by [[commons:User:CommonsDelinker|CommonsDelinker]] because: [[:commons:COM:FR|File renamed]]: this is not Idora Hegel). 32582 wikitext text/x-wiki [[Εικόναν:G.W.F. Hegel (by Sichling, after Sebbers).jpg|thumb|right|Γκέοργκ Βίλχελμ Φρήντριχ Χέγκελ]] Ο '''Γκέοργκ Βίλχελμ Φρήντριχ Χέγκελ''' (''Georg Wilhelm Friedrich Hegel'', Στουτγκάρδη [[27 Αλωναρί]] [[1770]] - [[Βερολίνο]] [[13 Αεργίτε]] [[1831]]) ή '''Έγελον''' έτον τρανός [[Γερμανοί|Γερμανός]] μεταφυσικός [[φιλοσοφίαν|φιλόσοφον]] τη [[γερμανικός ιδεαλισμός|Γερμανικού Ιδεαλισμού]]. Ιδέασατου έσαν η Διαλεκτική Θεωρίαν, η Ανάσυρσην (Aufhebung), η Διαλεκτικήν Αφέντε-Σκλάβονος και ο Απόλυτον Ιδεαλισμός. [[Κατηγορίαν:Φιλοσοφίαν]] qixy26buxbjyxp9j9kdt88sk3nbsdcj Κατηγορίαν:Φιλοσοφίαν 14 936 31235 30477 2013-03-07T20:36:46Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 121 interwiki links, now provided by [[d:|Wikidata]] on [[d:q4266974]] [[M:User:Addbot/WDS|(translate me)]] 31235 wikitext text/x-wiki [[Κατηγορίαν:Φιλοσοφία|*]] phf3hlnk2pxqypmc1q6zyi8yheexhws Βοστώνη 0 939 36760 31236 2025-12-16T08:50:05Z Εὐθυμένης 2777 36760 wikitext text/x-wiki [[Αρχείον:Arlington Street Church, Boston MA.jpg|thumb|200px]] Η '''Βοστώνη''' έν το τρανύτερον πολιτείαν και η πρωτεύουσα τη [[Μασσαχουσέττη]]ς. Ονομάζουμε 'ατεν και "Αθήναν τη Αμερικής" γιατί εχ' τα περισσότερα [[πανεπιστήμιο|πανεπιστήμια]] ασ'όλια τ'άλλα πολιτείας τη [[Αμερική]]ς. Σην Βοστώνην ειν' πολλοί [[Πόντιοι]] Έλληνες ασ' όλια τα μερέας τη [[Ελλάδα]]ς, αμάν οι πλείονες είν' ασή Μακεδονίας τα νομούς, όπως την [[Κοζάνην]], [[Ημαθίαν]], [[Σαλονίκην]], [[Φλώριναν]], [[Κέστεραν]] κ,α. Έχομε δύο Ποντιακούς Συλλόγους και είναι πολλά δυνατοί, την «Παναΐαν Σουμελάν Βοστώνης» και την «Ποντιακήν Εστίαν». Είναι ασ' ολίγους Συλλόγους που έχ'νε τ'ατεινέτερα κτίρια απέ σην καρδίαν τη Βοστώνης. Εχ'νε χορευτικά συγκροτήματα, μικρά και τρανά. Η Παναΐα Σουμελά εχ' πολλά δυνατόν νεολαίαν. Η νεολαία μουν είν' ολ' γεννεμέν αδά σην Αμερικήν, αμάν έμαθαν να παίζνε την κεμεντζέν και νε τραωδούν, άμον ντ'εγεννέθαν, για σον Πόντον για σην Ελλάδαν. Ασό 2008, ερχίνεσεν να έχ' Σκολείον Ελλενικής και Ποντιακής γλώσσας εντάμαν, όθεν μαθάνε την [[Ιστορίαν]], [[Πολιτισμόν]], [[Παράδοσην]], [[ήθη]], [[έθιμα]]. Τα τραωδίας βοηθούν πολλά τα μωρά να μαθάνε την [[γλώσσαν]] για τ' ατό εμείς με την νεολαίαν έμουν, χορεύομε και τραωδούμε όθεν και να ευρίουμες. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{en}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] 8fv8i7k5ylo7xjxaeue5qm60hru6ssy Βασίλης Ανθόπουλος 0 944 36572 34489 2025-12-15T19:06:49Z Εὐθυμένης 2777 36572 wikitext text/x-wiki Ο Βασίλειος Ανθόπουλος ή Βασίλ Αγάς γεννέθεν σο χωρίον Κιζίκ του Απές σο σαντζάκ τη Σεβάστειας το έτος 1888. Μορφώθεν απ έναν Γάλλον αρχιτέκτονα και για τ' ατό καλέθεν "Ουστάς" απο το τούρκικον "USTA" που σημέν "πρωτομαστόρ". Το 1914 χταλεύει έναν Τούρκο που βιασ τη γαρη τη καρντασιτ΄ και κλόσκει σο βουνόν αντάρτης. Απε το 1914 ως το 1918 πολλά συμφοράς φερ τη Τούρκοις, με πιο τρανόν το γλύτωμαν ενός Ρουσαντ' Στρατηγού α ση φυλακήν τη Σεβάστειας. Οι Ρουσσάντ δίγουν ατον παράσημον και τουφέκιαν να εφτάει πόλεμον αντάρτι. Αμα ατός κι μπορεί να πολεμεί τη Τούρκοις που εν πολλοί και τακτικοί και για τ' ατο το 1918 ερχεται σην Αθήνα να παρακαλεί το Βενιζέλο και το ασκέρ' το Ελληνικό. Ο Βενιζέλος βοήθεια κι διγ' και ο Βασίλ Ουστάς αφίν οπίς τη γαρήνατ' και λίγους άγουρους τς τ' αντάρτικο σα χωρία Ριζό και Βάγγενα (Σεβαστειαννά) τη Πέλλας ση Μακεδονία και κλόσκεται παλ' σον Πόντο. Το 1920 οι Τούρκοι εφταν ατον καρτερ' σην Κωνσταντινούπολη και θανατώνε ατον. Τη 13 Τρυγομηνά 2009 σο Δήμον τη Σκύδρας εποίκαν το άγαλμα του Βασίλ Ουστά. {{authority control}} [[Κατηγορίαν:Πόντος]] r70vq51vpmk7h5dmz82k24so6yp8c64 Βασιλης ανθοπουλος 0 946 9249 2009-10-14T17:09:31Z Omnipaedista 35 [[Βασιλης ανθοπουλος]] ετερχλαεύτεν σο [[Βασίλης Ανθόπουλος]] 9249 wikitext text/x-wiki #REDIRECT [[Βασίλης Ανθόπουλος]] aozbki22slc63yhdsr6ki0zoj9c11qt 1 Τρυγομηνά 0 956 37245 37201 2025-12-16T19:01:42Z Εὐθυμένης 2777 37245 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[30 Σταυρί]] | [[1 Τρυγομηνά]] | [[2 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''1 Τρυγομηνά''' εν 274ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 275ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 91 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[1 Σταυρί]] - [[1 Αεργί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|1001]] j9nijqzwxjj4j0d0bf42rm8kl3hazl5 Μιχάλης Καλιοντζίδης 0 957 36292 36180 2025-07-29T11:38:16Z 109.242.93.219 36292 wikitext text/x-wiki Ο '''Μιχάλης Καλιοντζίδης''' (1960-) εν [[Ελλάδα|Έλλενας]] μουσικός και [[κεμεντζές|κεμεντζετζής]]. == Βιογραφικόν == Ο Καλιοντζίδης εγεννέθεν σο χωρίον Διπόταμος (Παπελέρ) σην [[Καβάλα|Καβάλαν]]. Ο κύρ' σ' ατ' εγεννέθεν σο χωρίον Κοσμά τση Ματσούκας και η μάνα τ' αδά σην Ελλάδαν άμα εκράτ'νεν ας σην Κρώμ' κι ας ση Χ̌ερρίαινα μερέαν. Σο Παπελέρ ο Μουχαήλτς επήεν σο Δημοτικόν και εξέγκεν τη Μέση Τεχνική Σχολή Εργοδηγών. Την κεμεντζ̌έν εσκάλωσεν να μαθάνει α' μαναχός ατ' το 1975, άμα επεκεί εποίκεν ατον κάποσον μάθεμαν και ο Λάμπον ο Τηλκερίδης. Σα '81 τη χρονίας επήεν σην [[Αθήνα|Αθήναν]] κι έμαθεν μουσικήν σο Ευγενίδειον Ωδείον. Σα 1988 εποίκεν μουσικόν σχολείον σην Καλλιθέα Αθηνών και τ' όνομαν αθε έτον «Λύρα». Οσήμερον σχολεία έχ̌' δώδεκα αΐκα σκολεία. Εξόν ας σην Αθήναν έχ̌' σκολεία ση [[Θεσσαλονίκη|Θεσσαλονίκην]], σην Καβάλα, σο Κιλκίς, σην Κατερίνην, σην Βέροια, σην Κοζάνην, σον Κοπανόν Ναούσης, σην Κρύα Βρύση Γιαννιτσών, ση Δράμαν, σην Πρέβεζα και σην Ανατολή Ιωαννίνων. Ο Καλιοντζίδης εξέγκεν πολλά δίσκους. Εξόν ασ' ατό παναΰρια πα πάει κι εκεί που ζούνε Πόντιοι σην [[Ευρώπην]], [[Αμερικήν]] και [[Αυστραλία|Αυστραλίαν]]. == Δουλείας ατ' == === Βιβλία === *''Η Λύρα του Πόντου'', 2008 === Δίσκοι === *''Αγροτσάλτς'', 1998 *''Τ αυθεντικα του Ποντου 1986 Καθως,ακολουθησαν τα αυθεντικα του Ποντου#2,#3,#4 == Συνδέσμε == *[https://pontianlyrics.gr/persons/person-details?personId=36 Βιογραφία σο pontianlyrics.gr] *[http://pontosworld.com/index.php?option=com_content&task=view&id=1119&Itemid=78&limit=1&limitstart=1 Βιογραφικόν σο pontosworld.com] (ελλ.) [[Κατηγορίαν:Μουσική|Καλιοντζιδης, Μιχαλης]] 4cvqhiqoov2gzjccmibldpeewi37kjy Κομφούκιον 0 959 34479 34449 2020-04-08T05:46:50Z Tulsi 5081 Cross-wiki abuse 31238 wikitext text/x-wiki [[Αρχείον:Confucius 02.png|150px|right|thumb|Κομφούκιον]] Ο Κομφούκιος έτον πελλόν φιλόσοφον ασήν Κίναν και τα έργανατ έφταναν ους σην Κίναν, Κορέαν, Ιαπωνίαν, Βιετνάμ. Η φιλοσοφίαν ατ αναφέρκονταν σην ηθικήν, σα κοινωνικά, σην δικαιοσύνην και σην ειρήνην. [[Κατηγορίαν:Φιλοσοφίαν]] p69czx48747inyi82gvy6cxdojxmons Πεσκιοϊλού Αντέμ 0 961 31239 30789 2013-03-07T20:37:31Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 3 interwiki links, now provided by [[d:|Wikidata]] on [[d:q471339]] [[M:User:Addbot/WDS|(translate me)]] 31239 wikitext text/x-wiki Ο '''Πεςκιοϊλού Αντέμ''' ([[τουρκικόν γλώσσα|τουρκ.]] ''Beşköylü Adem'', [[ελλενικόν γλώσσα|ελλ.]] ''Μπεσκιοϊλού Αντέμ'', [[1 Μαρτί]] [[1980]]-) εν πόντιος μουσικός και [[κεμεντζές|κεμεντζετζής]] αση [[Τουρκία|Τουρκίαν]]. Εξέρ και καλατςεύ' τα [[ποντιακόν λαλίαν|ποντιακά]] ντο εν το μητρικόν η γλώσσαν ατ'. Το κανονικόν τ'όνομαν ατ' εν Αντέμ Εκίζ. == Βιογραφικόν == Ο Αντέμης εγεννέθεν κι εθράφεν σο χωρίον Πέςκιοϊ σα [[Σούρμενα]], κοντά σην [[Τραπεζούντα|Τραπεζούνταν]]. Το παλαιόν τ'όνομαν τη χωρί έτονε «Καλίστη». Εςς τον ποντιακόν πολιτισμόν και κρατεί ατόν γιατί με τ'ατόν έζησεν. Για τον κύρην ατ' λέει αν έλεεν δυο τρία τέσσερα τουρκικά λόγια, έλεεν δέκα δεκαπέντε ποντιακά. Ο Αντέμης ασην καρδίαν ατ' λεει εν πόντιος, όχι ασ'όνομαν. Σην κεμεντζέν ερχίνεσεν αυτοδίδακτος κι έμαθεν τα καϊτέδες άμον ντ'έκουεν ατα ασοι παλαιούς τη χωρί, αέτς άμον ντο έπαιζαν και έλεγαν ατα. Επεκεί πολλά επαίνεν κι έρχουτον σα πανηγύρε και σα βραδύας κι έπαιζεν την κεμεντζέν. Όνταν ετελείωσεν το λύκειον ασον [[Πόντος|Πόντον]] έφυγεν και με την οικογένειαν εντάμαν επήγεν σην [[Κωνσταντινούπολη|Κωνσταντινούπολην]]. Ασα 2001 κιαν πουλίσκεται το δισκογραφικόν η δουλείαν ατ' «''Yanarım Ateşine''». Ατουπές εςς έναν τραγωδίαν σα ποντιακά. Σα 2005 συνεργάσκουτον με τον Νίκο Μιχαηλίδη και τον Φίλιππο Κεσαπίδη κι εξέβεν σην [[Ελλάδα|Ελλάδαν]] το CD «''Ρωμαίικα Τραγωδίας''» (σον Πόντον τα ποντιακά λέγουν ατα «ρωμαίικα»). Σα 2007 με τον Κερίμ Αϊντίν εντάμαν εκυκλοφόρησεν σην [[Τουρκία|Τουρκίαν]] το CD «''Gülüm Demedimmi Sana''». Οσήμερον εξόν ασ'αλμπούμε ο Αντέμης πολλά πάει σα παρακάθε και σα βραδύας τη Ποντίων σην Ελλάδαν, σο [[Βέλγιον]], ση [[Γερμανία|Γερμανίαν]], ση Τουρκίαν, σην [[Ολλανδία|Ολλανδίαν]] και σ'άλλα χώρας. == Αλμπούμε == * ''Yanarım Ateşine'', 2000 * ''Ρωμαίικα Τραγωδίας'', 2005 * ''Gülüm Demedimmi Sana'', 2007 * ''AS SIN TRAPEZOUNTAN SIN THESSALONIKIN''2010 * ''Anemo /Rüzgar [[Κατηγορίαν:Μουσική|Πεσκιοϊλου Αντεμ]] r66r3zc0npioi6yh63oxklss84xcut6 Στάνλεϊ Κιούμπρικ 0 962 31449 31240 2013-03-11T10:24:43Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 2 interwiki links, now provided by [[d:|Wikidata]] on [[d:q2001]] [[M:User:Addbot/WDS|(translate me)]] 31449 wikitext text/x-wiki Ο '''Στάνλεϊ Κιούμπρικ''' (Stanley Kubrick) έτον σκηνοθέτες, σεναριογράφον κ' παραγωγός τη κινηματογράφονος ασήν [[Αμερικήν]]. == Φιλμογραφίαν == <ul> <li>'''1950:''' <cite>Day of the Fight</cite> <li>'''1951:''' <cite>Flying Padre</cite> <li>'''1952:''' <cite>The Seafarers</cite> <li>'''1953:''' <cite>Fear and Desire</cite> <li>'''1955:''' <cite>Killer's Kiss</cite> <li>'''1956:''' <cite>The Killing</cite> <li>'''1957:''' <cite>Paths of Glory</cite> ("Σταυροί σο Μέτωπον") <li>'''1960:''' <cite>Spartacus</cite> ("Σπάρτακον") <li>'''1962:''' <cite>Lolita</cite> ("Λολίτα") <li>'''1964:''' <cite>Dr. Strangelove</cite> ("S.O.S. Πεντάγωνον Καλεί Μόσχαν") <li>'''1968:''' <cite>2001: A Space Odyssey</cite> ("2001: Η Οδύσσειαν τη Διαστήματος") <li>'''1971:''' <cite>A Clockwork Orange</cite> <li>'''1975:''' <cite>Barry Lyndon</cite> <li>'''1980:''' <cite>The Shining</cite> <li>'''1987:''' <cite>Full Metal Jacket</cite> <li>'''1999:''' <cite>Eyes Wide Shut</cite> </ul> [[Κατηγορίαν:Σκηνοθέτ|!]] t0s2alxzhzymkqe1q5nrp5rkz46h1vq Κατηγορίαν:Σκηνοθέτ 14 963 31719 26618 2013-07-22T01:01:44Z MerlIwBot 2140 Robot: Removing [[sq:Kategoria:Regjisor filmi]] (deleted) 31719 wikitext text/x-wiki [[Κατηγορίαν:Σινεμά]] [[af:Kategorie:Rolprentregisseurs]] [[ast:Categoría:Direutores]] [[be-x-old:Катэгорыя:Кінарэжысэры]] [[ca:Categoria:Directors de cinema]] [[cs:Kategorie:Režiséři]] [[da:Kategori:Filminstruktører]] [[de:Kategorie:Filmregisseur]] [[el:Κατηγορία:Σκηνοθέτες]] [[en:Category:Film directors]] [[eo:Kategorio:Filmoreĝisoroj]] [[es:Categoría:Directores de cine]] [[et:Kategooria:Filmilavastajad]] [[fa:رده:کارگردانان]] [[fi:Luokka:Elokuvaohjaajat]] [[fr:Catégorie:Réalisateur]] [[he:קטגוריה:במאי קולנוע]] [[hi:श्रेणी:फ़िल्म निर्देशक]] [[hr:Kategorija:Filmski redatelji]] [[hu:Kategória:Filmrendezők]] [[id:Kategori:Sutradara]] [[ja:Category:映画監督]] [[ko:분류:영화 감독]] [[lb:Kategorie:Filmregisseuren]] [[lv:Kategorija:Kinorežisori]] [[mk:Категорија:Филмски режисери]] [[ms:Kategori:Pengarah filem]] [[nn:Kategori:Filmregissørar]] [[pt:Categoria:Cineastas]] [[ru:Категория:Кинорежиссёры]] [[sk:Kategória:Filmoví režiséri]] [[sl:Kategorija:Filmski režiserji]] [[sr:Категорија:Редитељи]] [[th:หมวดหมู่:ผู้กำกับภาพยนตร์]] [[tl:Kaurian:Mga direktor ayon sa bansa]] [[tr:Kategori:Film yönetmenleri]] [[uk:Категорія:Кінорежисери]] [[vls:Categorie:Cineast]] [[zh:Category:電影導演]] cyin2nqnql00mjjcyg8qkelgmag5v5h Πρότυπον:Χρήστες es 10 977 31241 30830 2013-03-07T20:37:54Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 169 interwiki links, now provided by [[d:|Wikidata]] on [[d:q5542595]] [[M:User:Addbot/WDS|(translate me)]] 31241 wikitext text/x-wiki {{Babel field N |letter code size=1.5em |letter code=es |text size=0.83em |text= El '''[[:Κατηγορίαν:User es|español]]''' es la '''[[:Κατηγορίαν:User es-N|lengua materna]]''' {{#switch: {{{mw|}}} | 1 = mía | w = de esta usuaria. | de este usuario. }}}}<noinclude> </noinclude> ftinr0ylbzz76l84wxnny4ejkt7reu1 Κατηγορίαν:User es 14 979 9855 2009-12-01T19:32:49Z Qoan 1170 Καινούρεον σελίδαν με '[[Κατηγορίαν:Βαβέλ]]' 9855 wikitext text/x-wiki [[Κατηγορίαν:Βαβέλ]] af487s67kicv88furv78hphgoirnzr7 Κατηγορίαν:User es-N 14 980 31242 30853 2013-03-07T20:38:12Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 156 interwiki links, now provided by [[d:|Wikidata]] on [[d:q6400684]] [[M:User:Addbot/WDS|(translate me)]] 31242 wikitext text/x-wiki {{Commonscat|User es-N}} [[Κατηγορίαν:User es]] nf40bxpwsighw3mv5ld3bbq1e8cuz7f Κατηγορίαν:User ca 14 981 31558 31243 2013-04-13T07:49:55Z KLBot2 3570 Bot: Migrating 1 interwiki links, now provided by [[Wikidata]] on [[:d:Q6392510]] 31558 wikitext text/x-wiki {{Commonscat|User ca}} [[Κατηγορίαν:Βαβέλ]] hzs9olzpqobtdlgkiuhzrhl20ek650i Κατηγορίαν:User en-3 14 985 9863 9861 2009-12-01T19:38:34Z Qoan 1170 9863 wikitext text/x-wiki [[Κατηγορίαν:User en]] sk3yj5xk7kwoj9dhrefpqd2cc3it83o Κατηγορίαν:User ar 14 987 31556 31246 2013-04-13T07:49:54Z KLBot2 3570 Bot: Migrating 1 interwiki links, now provided by [[Wikidata]] on [[:d:Q6387736]] 31556 wikitext text/x-wiki {{Commonscat|User ar}} [[Κατηγορίαν:Βαβέλ]] b8lodt8eatx4hdqr52orjxtb18zot1f Κατηγορίαν:Πρότυπα Βιβλιογραφίας 14 996 9916 2009-12-04T13:04:09Z Qoan 1170 Καινούρεον σελίδαν με '[[Κατηγορίαν:Πρότυπα]]' 9916 wikitext text/x-wiki [[Κατηγορίαν:Πρότυπα]] ou0u4xph1hvsmak9ybztlxd2p0okt7b Πρότυπον:Cite book 10 997 36702 32490 2025-12-15T22:36:32Z Εὐθυμένης 2777 Αντικατάσταση σελίδας με «<includeonly>{{#invoke:citation/CS1|citation |CitationClass=book }}</includeonly><noinclude> {{τεκμηρίωση προτύπου}} </noinclude>» 36702 wikitext text/x-wiki <includeonly>{{#invoke:citation/CS1|citation |CitationClass=book }}</includeonly><noinclude> {{τεκμηρίωση προτύπου}} </noinclude> s6q85ciwmj0dtje4j8h93zad000ypi9 Κατηγορίαν:Πρότυπα βοήθειας 14 998 9925 2009-12-04T13:39:33Z Qoan 1170 Καινούρεον σελίδαν με '[[Κατηγορίαν:Πρότυπα]]' 9925 wikitext text/x-wiki [[Κατηγορίαν:Πρότυπα]] ou0u4xph1hvsmak9ybztlxd2p0okt7b Κατηγορίαν:Πρότυπα Χαιρέτημαν 14 999 9949 2009-12-04T14:38:40Z Qoan 1170 Καινούρεον σελίδαν με '[[Κατηγορίαν:Πρότυπα Βικιπαίδειας]]' 9949 wikitext text/x-wiki [[Κατηγορίαν:Πρότυπα Βικιπαίδειας]] ppi47h4quw2aoq5q3e9gvbzgj8rs77v Κατηγορίαν:User ru 14 1003 9977 2009-12-04T15:03:19Z Qoan 1170 Καινούρεον σελίδαν με '[[Κατηγορίαν:Βαβέλ]]' 9977 wikitext text/x-wiki [[Κατηγορίαν:Βαβέλ]] af487s67kicv88furv78hphgoirnzr7 Κατηγορίαν:User ru-N 14 1004 31575 31552 2013-04-13T07:58:38Z KLBot2 3570 Bot: Migrating 154 interwiki links, now provided by [[Wikidata]] on [[:d:Q6587224]] 31575 wikitext text/x-wiki {{Commonscat|User ru-N}} [[Κατηγορίαν:User ru]] h4m5e39yi6q2iiykj5ijyylmkcr66fm Κατηγορίαν:User it-1 14 1005 31569 31251 2013-04-13T07:50:45Z KLBot2 3570 Bot: Migrating 6 interwiki links, now provided by [[Wikidata]] on [[:d:Q6445707]] 31569 wikitext text/x-wiki {{Commonscat|User it-1}} [[Κατηγορίαν:User it]] j9bi4lq6o5hqkpwnve3jz0tmn3rtllr Κατηγορίαν:User it 14 1006 9983 9982 2009-12-04T15:06:00Z Qoan 1170 9983 wikitext text/x-wiki [[Κατηγορίαν:Βαβέλ]] af487s67kicv88furv78hphgoirnzr7 Κατηγορίαν:User mg 14 1011 31471 30663 2013-03-11T10:26:20Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 25 interwiki links, now provided by [[d:|Wikidata]] on [[d:q6489562]] [[M:User:Addbot/WDS|(translate me)]] 31471 wikitext text/x-wiki [[Κατηγορίαν:Βαβέλ]] af487s67kicv88furv78hphgoirnzr7 Κατηγορίαν:User lt 14 1012 31570 30249 2013-04-13T07:52:25Z KLBot2 3570 Bot: Migrating 101 interwiki links, now provided by [[Wikidata]] on [[:d:Q6488868]] 31570 wikitext text/x-wiki {{Commonscat|User lt}} [[Κατηγορίαν:Βαβέλ]] qq1a344457hqrfs4p23x3buppisdzp1 Κατηγορίαν:User szl 14 1013 31535 29448 2013-04-02T18:49:51Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 35 interwiki links, now provided by [[d:|Wikidata]] on [[d:q6588387]] [[M:User:Addbot/WDS|(translate me)]] 31535 wikitext text/x-wiki [[Κατηγορίαν:Βαβέλ]] af487s67kicv88furv78hphgoirnzr7 Πρότυπον:Nowrap 10 1014 9998 2009-12-04T15:23:44Z Qoan 1170 Καινούρεον σελίδαν με '<includeonly><span style="white-space:nowrap">{{{1}}}</span></includeonly><noinclude>[[Κατηγορίαν:Πρότυπα βοήθειας]]</noinclude>' 9998 wikitext text/x-wiki <includeonly><span style="white-space:nowrap">{{{1}}}</span></includeonly><noinclude>[[Κατηγορίαν:Πρότυπα βοήθειας]]</noinclude> i03zweju0ai6ebit8bbnpcxjr9np1t7 Πρότυπον:Γλώσσα 10 1015 10002 10001 2009-12-04T18:25:53Z Qoan 1170 Διορθώστε την μετάφραση! 10002 wikitext text/x-wiki <!-- Δεν λειτουργεί σωστά ακόμα, ευτιχώς σε λίγο να το κάνει Επίσης, προσπάθησα να γράφω σε κάτι ποντιακά, αλλά προφανώς έκανα λάθη, άμα μπορείτε, διορθώστε το --> {| class="infobox_v2" ! class="media" colspan="2" style="font-size:120%; {{#switch: {{{color|}}} | artificial | black | #8899FD | #808080 | Sudamérica | Caribe | Tupí | #6677FA | #4455F8 | #3344E6 | #3344e6 | #2233C4 | #2233c4 | #1111A2 | #1111a2 | #000080 | #default = color: white; | }} background-color: {{{color|#dddddd}}};" | {{#if: {{{1|}}} | {{{1|}}} <br />}}{{#if:{{{όνεμα|}}} | {{{όνεμα}}} <br />}}{{#if: {{{ντόπιον όνεμα<includeonly>|</includeonly>}}} | ''{{{ντόπιον}}}'' }} |- {{#if:{{{Φτιαγμένη από<includeonly>|</includeonly>}}} | {{!}} style="vertical-align: top; padding-left: 0.5em;" {{!}} '''Φτιαγμένη από''' {{!}} style="text-align: left;" {{!}} {{{φτιαγμένη από}}} {{!}}- }} {{#if:{{{Κράτος<includeonly>|</includeonly>}}} {{{κράτη<includeonly>|</includeonly>}}}| {{!}} style="vertical-align: top; padding-left: 0.5em;" {{!}} '''Συντισένατεν σην''' {{!}} style="text-align: left;" {{!}} {{{κράτη|{{{κράτος}}}}}} {{!}}- }} {{#if:{{{ομιλητές<includeonly>|</includeonly>}}} | {{!}} style="vertical-align: top; padding-left: 0.5em;" {{!}}'''Ομιλητές''' {{#if:{{{h1<includeonly>|</includeonly>}}} {{{h2<includeonly>|</includeonly>}}} | &bull;&nbsp;Nativos:<br> &bull;&nbsp;Otros: }} {{!}} {{{ομιλητές}}} {{#if:{{{h1<includeonly>|</includeonly>}}} {{{h2<includeonly>|</includeonly>}}} | &bull;&nbsp;{{{h1|''sin datos''}}}<br> &bull;&nbsp;{{{h2|''sin datos''}}} }} {{!}}- }} {{#if:{{{rank<includeonly>|</includeonly>}}} | {{!}} style="vertical-align: top; padding-left: 0.5em;" {{!}} '''Ρανκ''' {{!}} style="text-align: left;" {{!}} [http://www.davidpbrown.co.uk/help/top-100-languages-by-population.html {{{ρανκ}}}] <small>(Ethnologue 1996)</small> {{!}}- }} {{#if:{{{lengua_muerta<includeonly>|</includeonly>}}} | {{!}} style="vertical-align: top; padding-left: 0.5em;" {{!}} {{nowrap|'''[[Θνητή γλώσσα]]'''}} {{!}} style="text-align: left;" {{!}} {{{θνητή γλώσσα}}} {{!}}- }} {{#if:{{{Γενετική τη γλώσσας<includeonly>|</includeonly>}}} | {{!}} style="vertical-align: top; padding-left: 0.5em;" {{!}} '''[[Γενετική τη γλώσσας]]''' {{!}} style="text-align: left;" {{!}} {{{γενετική τη γλώσσας}}} {{!}}- }} {{#if:{{{Διάλεκτοι<includeonly>|</includeonly>}}} | {{!}} style="vertical-align: top; padding-left: 0.5em;" {{!}} '''[[Διάλεκτος|Διάλεκτοι]]''' {{!}} style="text-align: left;" {{!}} {{{διάλεκτοι}}} {{!}}- }} {{#if:{{{γραφή<includeonly>|</includeonly>}}} | {{!}} style="vertical-align: top; padding-left: 0.5em;" {{!}} '''[[Αλφάβετον]]''' {{!}} style="text-align: left;" {{!}} {{{γραφή}}} {{!}}- }} ! colspan="2" style="{{#switch: {{{color|}}} | artificial | black | #8899FD | #808080 | Sudamérica | Caribe | #6677FA | #4455F8 | #3344E6 | #3344e6 | #2233C4 | #2233c4 | #1111A2 | #1111a2 | #000080 | #default = color: white; | }} background-color: {{{color|#dddddd}}}; text-align:center;"|Επίσημα |- | valign="top" style="padding-left: 0.5em;" {{!}} '''Επίσημον γλώσσαν''' {{!}} {{#if:{{{και επίσημον<includeonly>|</includeonly>}}}|{{{επίσημον}}}|''Κανένα κράτος''}} {{ #if: {{{επίσημον με<includeonly>|</includeonly>}}} | <small>(επίσημον με [[{{ #ifexist: γλώσσαν {{{επίσημον_με}}} | γλώσσαν {{{επίσημον_με}}} | επίσημον_με }}|{{{επίσημον_με|άλλα(ς) γλώσσα(ς)}}}]] σε {{{επίσημον}}})</small> }} |- | valign="top" style="padding-left: 0.5em;" {{!}} {{nowrap|'''Ρυθμιστές'''}} {{!}} {{#if:{{{ρυθμιστές|}}}|{{{ρυθμιστές}}}|''αρρύθμιτον''}} |- ! colspan="2" style="{{#switch: {{{color|}}} | artificial | black | #808080 | Sudamérica | Caribe | #6677FA | #4455F8 | #3344E6 | #3344e6 | #2233C4 | #2233c4 | #1111A2 | #1111a2 | #000080 | #default = color: white; | }} background-color: {{{color|#dddddd}}}; text-align:center;"|Κώδικ |- {{#if:{{{iso1<includeonly>|</includeonly>}}} | {{!}} style="vertical-align: top; padding-left: 0.5em;" {{!}} '''[[ISO 639-1]]''' {{!}} style="text-align: left;" {{!}} <code>{{{iso1}}}</code> {{!}}-| {{!}} style="vertical-align: top; padding-left: 0.5em;" {{!}} '''[[ISO 639-1]]''' {{!}} style="text-align: left;" {{!}} ''κανένα'' {{!}}- }} |- class="hiddenStructure{{{iso2<includeonly>|</includeonly>}}}" | style="vertical-align: top; padding-left: 0.5em;" |'''[[ISO 639-2]]'''|| <code>{{{iso2}}}</code> |- class="hiddenStructure{{{iso3<includeonly>|{{{sil|}}}</includeonly>}}}" | style="vertical-align: top; padding-left: 0.5em;" |'''[[ISO 639-3]]'''|| {{ #if: {{{iso3<includeonly>|</includeonly>}}} | <code>[http://www.sil.org/iso639-3/documentation.asp?id={{{iso3|{{{sil}}}}}} {{{iso3|{{{sil}}}}}}]</code> | {{ #ifeq: {{{sil}}} | varios | {{ #if: {{{sil_url|}}} | [{{{sil_url}}} Cada variedad tiene un código propio] | Cada variedad tiene un código propio{{ #if: {{{l1|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l1}}} {{{l1}}}]</code> {{ #if: {{{l1n}}} | – {{{l1n}}} }} }}{{ #if: {{{l2|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l2}}} {{{l2}}}]</code> {{ #if: {{{l2n}}} | – {{{l2n}}} }} }}{{ #if: {{{l3|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l3}}} {{{l3}}}]</code> {{ #if: {{{l3n}}} | – {{{l3n}}} }} }}{{ #if: {{{l4|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l4}}} {{{l4}}}]</code> {{ #if: {{{l4n}}} | – {{{l4n}}} }} }}{{ #if: {{{l5|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l5}}} {{{l5}}}]</code> {{ #if: {{{l5n}}} | – {{{l5n}}} }} }}{{ #if: {{{l6|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l6}}} {{{l6}}}]</code> {{ #if: {{{l6n}}} | – {{{l6n}}} }} }}{{ #if: {{{l7|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l7}}} {{{l7}}}]</code> {{ #if: {{{l7n}}} | – {{{l7n}}} }} }}{{ #if: {{{l8|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l8}}} {{{l8}}}]</code> {{ #if: {{{l8n}}} | – {{{l8n}}} }} }}{{ #if: {{{l9|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l9}}} {{{l9}}}]</code> {{ #if: {{{l9n}}} | – {{{l9n}}} }} }}{{ #if: {{{l10|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l10}}} {{{l10}}}]</code> {{ #if: {{{l10n}}} | – {{{l10n}}} }} }}{{ #if: {{{l11|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l11}}} {{{l11}}}]</code> {{ #if: {{{l11n}}} | – {{{l11n}}} }} }}{{ #if: {{{l12|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l12}}} {{{l12}}}]</code> {{ #if: {{{l12n}}} | – {{{l12n}}} }} }}{{ #if: {{{l13|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l13}}} {{{l13}}}]</code> {{ #if: {{{l13n}}} | – {{{l13n}}} }} }}{{ #if: {{{l14|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l14}}} {{{l14}}}]</code> {{ #if: {{{l14n}}} | – {{{l14n}}} }} }}{{ #if: {{{l15|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l15}}} {{{l15}}}]</code> {{ #if: {{{l15n}}} | – {{{l15n}}} }} }}{{ #if: {{{l16|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l16}}} {{{l16}}}]</code> {{ #if: {{{l16n}}} | – {{{l16n}}} }} }}{{ #if: {{{l17|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l17}}} {{{l17}}}]</code> {{ #if: {{{l17n}}} | – {{{l17n}}} }} }}{{ #if: {{{l18|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l18}}} {{{l18}}}]</code> {{ #if: {{{l18n}}} | – {{{l18n}}} }} }}{{ #if: {{{l19|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l19}}} {{{l19}}}]</code> {{ #if: {{{l19n}}} | – {{{l19n}}} }} }}{{ #if: {{{l20|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l20}}} {{{l20}}}]</code> {{ #if: {{{l20n}}} | – {{{l20n}}} }} }}{{ #if: {{{l21|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l21}}} {{{l21}}}]</code> {{ #if: {{{l21n}}} | – {{{l21n}}} }} }}{{ #if: {{{l22|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l22}}} {{{l22}}}]</code> {{ #if: {{{l22n}}} | – {{{l22n}}} }} }}{{ #if: {{{l23|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l23}}} {{{l23}}}]</code> {{ #if: {{{l23n}}} | – {{{l23n}}} }} }}{{ #if: {{{l24|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l24}}} {{{l24}}}]</code> {{ #if: {{{l24n}}} | – {{{l24n}}} }} }}{{ #if: {{{l25|}}} | <br /><code>[http://www.ethnologue.com/show_language.asp?code={{{l25}}} {{{l25}}}]</code> {{ #if: {{{l25n}}} | – {{{l25n}}} }} }} }} }} }} |- class="hiddenStructure{{{χάρτες<includeonly>|</includeonly>}}}" |colspan=2 style="text-align: center; padding-bottom: 0.5em;"| {{#ifexist: File:{{{χάρτες}}} | [[Εικόναν:{{{χάρτες}}}|{{{mapa_tamaño|200x200px}}}|{{{όνεμα|}}}]] | {{{χάρτες}}} }} <center><small>{{{χάρτες_λεζάνδα|Επέκταση τη {{{1|{{{όνεμα}}}}}}}}}</small></center> |}<noinclude> __NOTOC__ __NOEDITSECTION__ <nowiki>{{Γλώσσα |όνεμα = |ντόπιο = |color = |επίσημον = |κράτη = |ομιλιτές = |h1 = |h2 = |ρανκ = |θνητή γλώσσα = |γενετική τη γλώσσας = |διάλεκτοι = |γραφή = |και επίσημον = |επίσημον με = |ρυθμιστές = |iso1 = |iso2 = |iso3 = |χάρτες = [[Εικόναν:Ejemplo.jpg|thumb|center]] |χάρτες_λεζάνδα = }} </nowiki> [[Κατηγορίαν:Πρότυπα]]</noinclude> sq37t7bavpf64t1s3iyek724t3fvh9w Αμερική 0 1016 10004 2009-12-04T18:36:32Z Qoan 1170 Redirected page to [[Αμερικήν]] 10004 wikitext text/x-wiki #REDIRECT [[Αμερικήν]] ollh87k79mxv6prvvo3ww18eikoz36r Απόστολος Παύλος 0 1017 34490 34438 2020-04-08T05:46:56Z Tulsi 5081 Cross-wiki abuse 33623 wikitext text/x-wiki Ο '''Απόστολος Παύλος''' (Ταρσός, Κιλικία αρχές 1ου αι. (5-15 μ.Χ.) – Ρώμη 66-68 μ.Χ.), συγγραφέας των μισών περίπου από τα βιβλία της Καινής Διαθήκης, αναγνωρίσθηκε ως Ισαπόστολος και Άγιος, και ήταν μία από τις σπουδαιότερες προσωπικότητες της πρώιμης εποχής του Χριστιανισμού, υποστηρικτής της παγκοσμιότητας της Διδασκαλίας Του Ιησού. Για τον λόγο αυτό πήρε το όνομα ''"Απόστολος τῶν ἐθνῶν"'' και των εθνικών, εκείνων δηλαδή που δεν ανήκουν στον λαό και στη θρησκεία των Εβραίων. Λεγόταν Σαούλ (''Σαύλος'', βλ. ''Πράξ. 7:58'', ''8:1'' κ.ά.) αλλά κατά την τότε συνήθεια των Ιουδαίων της διασποράς έφερε εκτός από το ιουδαϊκό όνομα και ένα ομόηχο ελληνικό ή ρωμαϊκό. [[Κατηγορίαν:Θρησκείαν]] nyhnzy2q61h9unufs63lt930j70gk24 Ξενοφών 0 1020 34887 34863 2021-08-20T16:52:03Z InternetArchiveBot 8521 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.8 34887 wikitext text/x-wiki Ο '''Ξενοφών''' (μεταξυ 431 και 429π.Χ.) ένας [[Αθήνα|Αθηναίον]] ιστορικόν και [[φιλοσοφία|φιλόσοφον]] έτον [[στρατιώτης]], [[μισθοφόρος]] και μαθητής του [[Σωκράτης|Σωκράτη]]. Εν πολλά γνώριμος για τη συγγραφήν τη [[ιστορία|ιστορίας]] του [[4ος αιώνας π.Χ.|καιρού ατ]], των έργων του Σωκράτη και τη ζωήν ατ σην [[Ελλάδα]]. Έτον γιός του Γρύλλονος και τη Διοδώρας. [[Αρχείον:Xenophon.jpg|thumb|200px|Προτομή του Ξενοφώντος]] Η Οικογένεια 'τ ανήκε σο δήμον των Ερχιέων και έτον πολλά εύπορος αφού ανήκε ση τάξην των ιππέων. Το έτος τη γεννήσεως ατ κ’ εξέρομεν επ' ακριβώς, πρεπ να εγενέθεν μεταξύ του 440 και του 425 π.Χ. Σην "Ανάβασην" παρουσιά<u>σ</u>κεται άλλο τρανός ασά 30, γεγονός που δικαιολοεί την εκδοχήν να εγεννέθεν το 431 π.Χ. == Παιδικά χρόνια == Ο [[Διογένης ο Λαέρτιος]] εξιστορεί ότι κάποτες όταν έτον ακόμη νέος, ο Ξενοφών εντάμωθεν σε έναν στενόν δρόμον με το Σωκράτην ο οποίος με το τ<u>σ</u>ιμπούκ νατ παρεμπόδεσεν τη στράταν του Ξενοφώντος. Ο Σωκράτης ερώτεσεν "που οι ανθρώπ ίνονται καλοί και αγαθοί πα;" Ο Ξενοφών τότες ε<u>σ</u>άσεψεν ατά και ο Σωκράτης απήντεσεν "Έπου και μάνθανε!". Από τότες ο Ξενοφών εέντονε μαθητής του Σωκράτη. == Εκστρατείαν == Το [[401 π.Χ.]] ο Ξενοφών εκλείθεν ασ’ ό φίλον ατ τον Πράξενο (τον Βοιώτιον) που διέτριβε σι [[Σάρδεις]] αν εθέλνεν να μετάσχει σην εκστρατείαν του Πέρση βασιλοπαίδ [[Κύρος|Κύρου]] εναντίον του αδελφού ατ Βασιλέα [[Αρταξέρξης Β'|Αρταξέρξη Β']]. [[Αρχείον:Persian Empire, 490 BC.png|thumb|400px|Η πορεία τη Ξενοφώντος και των [[Μύριοι)|μυρίων]]]]Ο ενθουσιασμός του Ξενοφώντος σην ανταπόκρισην τη καλεσματί εφάνθεν ασό γεγονός ότι σην προτροπήν τη Σωκράτη να επαίρ χρησμόν ασό [[Μαντείο των Δελφών]] καταφέρ να παίρ θετικόν απάντησην με πλάια όμως ερώτησην που έτον "Σε ποίον Θεόν πρέπ να εφτάω θυσίαν ώστε να πετυχέν το ταξίδ και να κλώ<u>σ</u>κουμαι σώος; (αντί τη ορθής ερώτησης να πάω γιοκ ξαμ μη πάω;). Και βέβαια η σοφίαν του Μαντείου, επαίρεν χαπέρ με τη βοήθεια του Απόλλωνος που εγρίξεν το σκοπόν ατ, απάντεσεν: ούλτς εκείνους του θεούς «επ΄ αγαθώ και μη» ακριβώς ατό ντο λέμε και σήμερον: "για καλόν και για κακόν"). Αέτσ ο Ξενοφών εβρέθεν σην Ασίαν, σο γιάν του Κύρονος τον οποίο και ερχίνεσεν να θαυμάζ, ασον θαυμασμόν που εί<u>σ</u>εν πρώτα εκείνος για τη Έλληνας. Συγκεκριμένα έλεεν ο Κύρον ότι "θέλ τη Έλληνας συμμάχους όχι γιατί κ εί<u>σ</u>εν στρατόν αλλά γιατί εθάρνεν τη Έλληνας ας ούλτς καλίον" (Κύρ. Αναβ. Ι 7,3). Ακόμη επαίνευεν τους Έλληνας για τη ελευθερίαν ατούν, που εκείνος πολλά εγάπανεν και που όπως έλεεν προϊόν τη ελευθερίας έτον η υπεροχήν των Ελλήνων σον πόλεμον και σην ηθική. Ατός έτον και ο λόγον που όποτε επολέμαναν οι [[Πέρσες]] πάντα είχαν σο γιάν ατούν Έλληνες στρατιώτας (Κυρ. Παιδ VIII 8,26). Κι εν γνωστός ο βαθμός που εί<u>σ</u>εν ο Ξενοφών σον Περσικόν στρατόν και σην αυλήν του Κύρονος, σίγουρον εν ότι έτον [[συνδαιτυμόνας]] ατ και εκαλάτσεβεν πολλά με τα’ ατόν. Μετά το θάνατον του Κύρονος σην μάχην σα [[Κούναξα]] και τη δολίαν εξόντωσην των Ελλήνων στρατηών ασόν Τισσαφέρνη, εκλέχθεν ασού "μυρίονες" (=10.000 Ελλήνων μισθοφόρων), στρατηγός (5ος κατά σειράν), οδήησεν ατς επιτυχώς αντιμετωπίζοντας πολλά κινδύνους ασα υψώματα τη [[Αρμενίας]] προς ην [[Τραπεζούνταν]] ση θαλασσάκρην του [[Εύξεινος Πόντος|Ευξείνου Πόντου]] κι επεκεί έπλευσαν προς τα δυτικά πίσω σην [[Ελλάδα|Ελλάδαν]]. Ση [[Θράκη|Θράκην]], εβοήθησαν το [[Σεύθης Β|Σεύθη Β]] να ίνεται βασιλέας. Η καταγραφήν τη εκστρατείας και τη ταξιδί της επιστροφής ασόν Ξενοφώντα επιγράφηκε ''[[Κύρου Ανάβασις]]''. == Κατάλογος έργων == Τα έργα τη Ξενοφώντος, ιδιαιτέρως η ''[[Κύρου Ανάβασις]]'', συχνά διεβάουνταν ασά αρχαρίους σην [[Ελληνικήν γλώσσαν]]. Τα ''[[Ελληνικά (Ξενοφώντος)|Ελληνικά]]'' εν ένας βασικός πηγή γεγονότων τη Ελλάδας ασό 411 ως το 404 π.Χ., και των Σωκρατικών έργων, που εδιατηρέθαν ολάκερα, εν οι μόνοι αντιπρόσωπ των [[Σωκρατικοί λόγοι|Σωκρατικών λόγων]] που επέμνανε εκτός των διαλόγων του Πλάτωνος. === Ιστορικά και Βιογραφικά έργα === * ''[[Κύρου Ανάβασις]]'' * ''[[Ελληνικά (Ξενοφώντος)|Ελληνικά]]'' * ''[[Αγησίλαος Β΄]]'' * ''[[Η Περσική Εκστρατεία]]'' === Φιλοσοφικά και διάλογοι === * ''[[Απολογία Σωκράτους]]'' * ''[[Αναμνήσεις]]'' * ''[[Οικονομικός]]'' * ''[[Συμπόσιον]]'' * ''[[Ιέρων]] ή (Τυραννικός) === Διδακτικά === * ''[[Λακεδαιμονίων πολιτεία]] * ''[[Αθηναίων πολιτεία]] * ''[[Πόροι ή περί προσόδων]] * ''[[Ιππαρχικός]] (Λόγος) * ''[[Περί ιππικής]] * ''[[Κυνηγετικός]] και * ''[[Κύρου Παιδεία]] == Εξωτερικοί σύνδεσμοι == * [http://www.iep.utm.edu/x/xenophon.htm Internet Encyclopedia of Philosophy: Xenophon] * [https://web.archive.org/web/20040805114940/http://www.liv.ac.uk/~gjoliver/xenophon.html Graham Oliver's Xenophon Homepage] * [https://web.archive.org/web/20060320085855/http://www.isidore-of-seville.com/small/10.html Xenophon's Education of Cyrus (Cyropaedia) Web directory] * [https://web.archive.org/web/20070310221751/http://www.ironyage.com/alderman/xenophon/ Xenophon's Socratic Works] ==== Κείμενα (Project Gutenberg) ==== * [http://onlinebooks.library.upenn.edu/webbin/gutbook/lookup?num=1169 Agesliaus] * [http://onlinebooks.library.upenn.edu/webbin/gutbook/lookup?num=1170 Anabasis] * [http://onlinebooks.library.upenn.edu/webbin/gutbook/lookup?num=1171 The Apology] * [http://onlinebooks.library.upenn.edu/webbin/gutbook/lookup?num=1172 The Cavalry General] * [http://onlinebooks.library.upenn.edu/webbin/gutbook/lookup?num=2085 Cyropaedia] * [http://onlinebooks.library.upenn.edu/webbin/gutbook/lookup?num=1173 The Economist] * [http://onlinebooks.library.upenn.edu/webbin/gutbook/lookup?num=1174 Hellenica] * [http://onlinebooks.library.upenn.edu/webbin/gutbook/lookup?num=1175 Hiero] * [http://onlinebooks.library.upenn.edu/webbin/gutbook/lookup?num=1177 The Memorabilia] * [http://onlinebooks.library.upenn.edu/webbin/gutbook/lookup?num=1176 On Horsemanship] * [http://onlinebooks.library.upenn.edu/webbin/gutbook/lookup?num=1179 On Revenues] * [http://onlinebooks.library.upenn.edu/webbin/gutbook/lookup?num=1178 The Polity of the Athenians and the Lacedaemonians] * [http://onlinebooks.library.upenn.edu/webbin/gutbook/lookup?num=1180 The Sportsman] * [http://onlinebooks.library.upenn.edu/webbin/gutbook/lookup?num=1181 The Symposium] [https://web.archive.org/web/20100210195854/http://www.ellinikoslogos.gr/files/alykxenelkeimena.htm] [[Κατηγορίαν:Έλλενας (αρχαιότητα)]] [[Κατηγορίαν:Φιλοσοφίαν]] 1nsadqc9b3z1r6stuk60a3o35h8jjil Κύρου Ανάβασις 0 1022 35666 31255 2024-04-01T13:15:42Z 79.129.234.130 μικροδιορθόσεις ορθογραφίας 35666 wikitext text/x-wiki [[File:Persian Empire, 490 BC.png|thumb|400px|Η πορεία του [[Ξενοφών|Ξενοφώντος]] και των [[Μύριοι)|Μυρίων]].]]Η '''''Κύρου Ανάβασις''''' {{fn|1}}εν έναν πολλά σημαντικόν ιστορικόν σύγγραμμα του Έλληνος ιστορικού, στρατιωτικού, και φιλοσόφου [[Ξενοφών|Ξενοφώντος]] που περιγράφη τη συμμετοχήν ενός σώματος 10.000 Ελλήνων μισθοφόρων (των Μυρίων), ασήν ώραν που ενετάχθαν στον στρατον του [[Κύρος ο νεότερος|Κύρονος]] και συμμετείχαν σην εκστρατείαν του κατά του αδελφού του [[Αρταξέρξης|Αρταξέρξη]] και ειδικότερα σην [[μάχην σα Κούναξα]] το [[401 π.Χ.]], όντως μετά τον θάνατον του Κύρονος ακολούθησεν η περιπετειώδης επιστροφήν ατούν στην [[Μικράν Ασίαν|Μικρά Ασία]] προς τη θάλασσαν που ονομάζεται "κάθοδος των μυρίων". Ο Ξενοφών ήτον ο διοικητής της στρατιωτικής μονάδας.<br> Ατό το ιστορικόν σύγγραμμαν αποτελείται από επτά βιβλία. Εν γραμμένον σε καθαρή [[αττική διάλεκτος|αττική διάλεκτον]] και θεωρείται πολλά αξιόλογον <u>σ</u>η περιγραφήν ενός τρανέσας στρατιωτικής επιχείρησεως τη αρχαιότητος. {{Βικιθήκη}} ;Σημειώσεις:{{fnb|1}} - '''Ανάβαση''' λέγνε την πορείαν ενός στρατεύματος ασ'η θάλασσαν σο εσωτερικόν μιας χώρας και '''κάθοδος''' ακριβώς το αντίθετον. [[Κατηγορίαν:Αρχαίον Ελληνικόν γραμματείαν]] 68cmt6ft74qny9kflvj8kttoml4wmth Πρότυπον:Βικιθήκη 10 1023 36220 35873 2025-04-11T13:39:46Z Svartava 9404 Αναίρεση αναθεώρησης [[Special:Diff/35049|35049]] από τον [[Special:Contributions/Rosičák|Rosičák]] ([[User talk:Rosičák|Συζήτηση]]) 36220 wikitext text/x-wiki <includeonly>{{Sisterproject |project=Wikisource |image=Wikisource-logo.svg |text=Σην [[:el:s:Main_Page|Βικιθήκην]] ε<u>σ</u> υλικόν σχετικόν με το θέμαν: |link=[[:el:s:{{#if: {{{1|}}} | {{{1}}}| {{PAGENAME}}}} | {{#if: {{{2|}}} | {{{2}}} | {{PAGENAME}}}}]] }}</includeonly><noinclude> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]] </noinclude> ogg4mvye15c7vvvshi3k59tllos8qe4 Πρότυπον:Sisterproject 10 1024 36411 36042 2025-12-15T15:47:44Z Εὐθυμένης 2777 36411 wikitext text/x-wiki <table role="presentation" class="noprint mbox-small{{#ifeq:{{lc:{{{position|}}}}}|left|-left}} {{{class|}}}" style="border:1px solid var(--border-color-base, #a2a9b1); background-color:var(--background-color-notice-subtle, #f8f9fa); color:inherit; {{{style|}}}"> {{#if:{{{above|}}} | <tr><td colspan={{#if:{{{imageright|}}}|3|2}} class="mbox-text" style="{{{textstyle|}}}{{{abovestyle|}}}"> {{{above}}}</td></tr> }} <tr> {{#switch:{{{image|}}} |<!--BLANK-->|none={{td}} |#default=<td class="mbox-image">[[Image:{{{image}}}|40px|none|link= |{{{project}}} logo]]</td> }} <td class="mbox-text plainlist" style="{{{textstyle|}}}">{{{text}}}<br>  '''{{{link}}}'''</td> {{#if:{{{imageright|}}} | <td class="mbox-imageright">[[Image:{{{imageright}}}40px|none|]]</td> }} </tr> {{#if:{{{below|}}} | <tr><td colspan={{#if:{{{imageright|}}}|3|2}} class="mbox-text" style="{{{textstyle|}}}">{{{below}}}</td></tr> }} </table><noinclude> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]] </noinclude> aoyh015iw43vx7xrcpugan5s3sdn8jb Πρότυπον:Γλωσσο-Βικιθήκη 10 1025 10074 10073 2009-12-06T23:55:57Z Stravon 942 10074 wikitext text/x-wiki {{Sister | position = {{{position|}}} | project = Wikisource | text = Σην {{#ifeq:{{#language:{{{1}}}}}|{{{1}}}||{{Iso2lang|{{{1}}}}}}} [[Βικιθήκην]] ε<u>σ</u> πρωτότυπον κείμενoν σχετικόν με: <div style="margin-left: 10px;">'''[[:{{#ifeq:{{#language:{{{1|}}}}}|{{{1}}}|oldwikisource|s:{{{1|<noinclude>en</noinclude>}}}}}:{{{2|{{PAGENAME}}}}}|{{{3|{{{2|{{PAGENAME}}}}}}}}]]'''</div> }}<noinclude> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας]] </noinclude> 6f7f0k2tlk24vqqpcq2cg3srum5ss6z Πρότυπον:Sister 10 1026 10047 10046 2009-12-06T22:23:28Z Stravon 942 10047 wikitext text/x-wiki {{side box |position = {{{position|}}} |image = <!-- -->{{#switch:{{{image|}}} |none= |=[[Image:{{#switch:{{lc:{{{project|}}}}} |commons = Commons-logo.svg |meta|metawiki|m = Wikimedia Community Logo.svg |wikibooks|wbk|wb|b = Wikibooks-logo-en-noslogan.svg |wikiquote|quote|wqt|q = Wikiquote-logo-en.svg |wikipedia|wp|w = Wikipedia-logo-en.png |wikisource|source|ws|s = Wikisource-logo.svg |wiktionary|wkt|wdy|d = Wiktionary-logo-en.svg |wikinews|news|wnw|n = Wikinews-logo.svg |wikispecies|species = Wikispecies-logo.svg |wikiversity|wvy|v = Wikiversity-logo.svg |mediawiki|mw = Mediawiki.png |#default = Wikimedia-logo.svg }}|40px|link={{#switch:{{lc:{{{project}}}}} |commons = commons |meta|metawiki|m = meta |wikibooks|wbk|wb|b = b |wikiquote|quote|wqt|q = q |wikipedia|wp|w = w |wikisource|source|ws|s = s |wiktionary|wkt|wdy|d = wikt |wikinews|news|wnw|n = n |wikispecies|species = species |wikiversity|wvy|v = v |mediawiki|mw = mw |#default = }}:{{{1|Special:Search/{{PAGENAME}}}}}|Search {{#switch:{{lc:{{{project}}}}} |commons = Wikimedia Commons |meta|metawiki|m = Meta |wikibooks|wbk|wb|b = Wikibooks |wikiquote|quote|wqt|q = Wikiquote |wikipedia|wp|w = Wikipedia |wikisource|source|ws|s = Wikisource |wiktionary|wkt|wdy|d = Wiktionary |wikinews|news|wnw|n = Wikinews |wikispecies|species = Wikispecies |wikiversity|wvy|v = Wikiversity |mediawiki|mw = MediaWiki |#default = sister project }}]] |{{{image}}} }}<!-- --> |text = {{{text}}} |below = {{{below|}}} |imageright = {{{imageright|}}} }}<noinclude> {{pp-template|small=yes}} </noinclude> 6u3g5e9mqx1piwrusf4lbgwlbmz961x Πρότυπον:Side box 10 1027 10050 10043 2009-12-06T22:28:34Z Stravon 942 10050 wikitext text/x-wiki <table class="metadata plainlinks mbox-small{{#ifeq:{{lc:{{{position|}}}}}|left|-left}}" style="border:1px solid #aaa; background-color:#f9f9f9; {{{style|}}}"> <tr> {{#switch:{{{image|}}} |<!--BLANK-->|none={{td}} |#default=<td class="mbox-image">{{{image}}}</td> }} <td class="mbox-text" style="{{{textstyle|}}}"> {{{text}}} </td> {{#if:{{{imageright|}}} | <td class="mbox-imageright">{{{imageright}}}</td> }} </tr> {{#if:{{{below|}}} | <tr><td colspan={{#if:{{{imageright|}}}|3|2}} class="mbox-text" style="{{{textstyle|}}}"> {{{below}}} </td></tr> }} </table><noinclude> {{pp-template|small=yes}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> gdpp4dn45299mj9nxumw23ryxl0mj1r Πρότυπον:Td 10 1028 36413 36412 2025-12-15T15:48:54Z Εὐθυμένης 2777 36413 wikitext text/x-wiki <includeonly><td style="width:1px;"></td></includeonly> <noinclude> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|Πρότυπα Βικιπαίδειας]] Αυτό το πρότυπο χρησιμοποιείται για να εισάγει ένα κελί μήκους 1px σε πίνακες σε html πίνακες ή βίκιπίνακες όταν θέλουμε να προσθέσουμε ένα άδειο κελί για να ισορροπήσει ο πίνακας. Χρησιμοποιείται στα: *[[πρότυπον:Πλευρικό κουτί|πρότυπον Πλευρικό κουτί]] </noinclude> 3ls59n7savr5w4leggk3pr6j5u2iz2d Πρότυπον:Pp-template 10 1029 10048 2009-12-06T22:24:22Z Stravon 942 Καινούρεον σελίδαν με '<includeonly>{{pp-meta |type={{#switch:{{{demolevel|{{#ifeq:{{PROTECTIONLEVEL:edit}}-{{PROTECTIONLEVEL:move}}|-sysop|move|{{PROTECTIONLEVEL:edit}}}}}}} ...' 10048 wikitext text/x-wiki <includeonly>{{pp-meta |type={{#switch:{{{demolevel|{{#ifeq:{{PROTECTIONLEVEL:edit}}-{{PROTECTIONLEVEL:move}}|-sysop|move|{{PROTECTIONLEVEL:edit}}}}}}} |semi |autoconfirmed=semi |administrator |full |sysop=indef |move=move |#default=indef<!--fallback value-->}} |small={{{small|yes}}} |demospace={{{demospace|}}} |demolevel={{#ifeq:{{PAGENAME}}/{{NAMESPACE}}|{{SUBPAGENAME}}/{{ns:Template}}|{{{demolevel|undefined}}}|{{#ifeq:{{lc:{{SUBPAGENAME}}}}|sandbox|sysop|{{{demolevel|undefined}}}}}}} |expiry=<!--not applicable--> |dispute=no |icon-text=This {{#ifeq:{{NAMESPACE}}|{{ns:6}}|image, included in a high-risk template or message,|high-risk template}} is indefinitely {{#switch:{{{demolevel|{{#ifeq:{{PROTECTIONLEVEL:edit}}-{{PROTECTIONLEVEL:move}}|-sysop|move|{{PROTECTIONLEVEL:edit}}}}}}} |semi |autoconfirmed=semi-protected from editing |move=move-protected |administrator |full |sysop |#default=<!--fallback value-->protected from editing}} to prevent vandalism. |reason-text=This {{#switch:{{NAMESPACE}} |{{ns:image}}=image, used in one or more [[Wikipedia:High-risk templates|high-risk templates]]{{#switch:{{{demolevel|{{PROTECTIONLEVEL:edit}}}}} |semi |autoconfirmed= |administrator |full |sysop=<nowiki> </nowiki>and/or [[Special:Allmessages|system messages]], |#default=<!--fallback value-->}} |#default=[[Wikipedia:High-risk templates|high-risk template]] }} has been [[Wikipedia:This page is protected|{{#switch:{{{demolevel|{{#ifeq:{{PROTECTIONLEVEL:edit}}-{{PROTECTIONLEVEL:move}}|-sysop|move|{{PROTECTIONLEVEL:edit}}}}}}} |semi |autoconfirmed=semi- |move=move- |administrator |full |sysop<!--uses default--> |#default=<!--fallback value-->}}protected]]{{#ifeq:{{PROTECTIONLEVEL:edit}}-{{PROTECTIONLEVEL:move}}|-sysop||<nowiki> </nowiki>from editing}} to prevent [[Wikipedia:Vandalism|vandalism]]. {{#switch:{{{demolevel|{{PROTECTIONLEVEL:edit}}}}} |semi |autoconfirmed= |administrator |full |sysop<!--uses default--> |#default={{#switch:{{NAMESPACE}}|{{ns:image}}=<br /><small>'''Do not move this image''' to [[commons:|Wikimedia Commons]].</small>}}}} |categories={{{categories|{{#ifeq:{{NAMESPACE}}|{{ns:10}}|{{#switch:{{{demolevel|{{#ifeq:{{PROTECTIONLEVEL:edit}}-{{PROTECTIONLEVEL:move}}|-sysop|move|{{PROTECTIONLEVEL:edit}}}}}}} |semi |autoconfirmed=[[Category:Wikipedia semi-protected templates|{{PAGENAME}}]]{{#ifeq:{{PROTECTIONLEVEL:move}}|sysop|[[Category:Wikipedia move-protected templates|{{PAGENAME}}]]}} |move=[[Category:Wikipedia move-protected templates|{{PAGENAME}}]] |administrator |full |sysop<!--uses default--> |#default=[[Category:Wikipedia protected templates|{{PAGENAME}}]]<!--fallback value-->}}}}{{#ifeq:{{NAMESPACE}}|{{ns:6}}|[[Category:{{#switch:{{{demolevel|{{PROTECTIONLEVEL:edit}}}}} |semi |autoconfirmed=Semi-protected |administrator |full |sysop<!--uses default--> |#default=Protected<!--fallback value-->}} images|{{PAGENAME}}]]}}}}}}}</includeonly><noinclude> {{pp-template|categories=no}} <!-- Show the small version --> {{pp-template|small=no}} <!-- Show the large version --> <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> 79t3irvnujgyemf7k46foxcibbuir0a Πρότυπον:Pp-meta 10 1030 10051 2009-12-06T22:29:13Z Stravon 942 Καινούρεον σελίδαν με '{{#ifeq:{{#switch:{{lc:{{{type}}}}} |move=<!-- -->{{#ifeq: {{#switch:{{lc:{{{demolevel|undefined}}}}} |semi |autoconfirmed=autocon...' 10051 wikitext text/x-wiki {{#ifeq:{{#switch:{{lc:{{{type}}}}} |move=<!-- -->{{#ifeq: {{#switch:{{lc:{{{demolevel|undefined}}}}} |semi |autoconfirmed=autoconfirmed |administrator |full |sysop=sysop |undefined={{PROTECTIONLEVEL:move}} |#default=<!--fallback value: null -->}} |sysop|yes|no }} |create=<!-- -->{{#if: {{#switch:{{lc:{{{demolevel|undefined}}}}} |semi |autoconfirmed=autoconfirmed |administrator |full |sysop=sysop |undefined={{PROTECTIONLEVEL:create}} |#default=<!--fallback value: null -->}} |yes|no }} |#default<!--includes all other types-->=<!-- -->{{#if: {{#switch:{{lc:{{{demolevel|undefined}}}}} |semi |autoconfirmed=autoconfirmed |administrator |full |sysop=sysop |undefined={{PROTECTIONLEVEL:edit}} |#default=<!--fallback value: null -->}} |{{#ifeq:{{#switch:{{lc:{{{disallowlevel|}}}}} |semi |autoconfirmed=autoconfirmed |administrator |full |sysop=sysop |#default=<!--fallback value: null-->}} |{{#switch:{{lc:{{{demolevel|undefined}}}}} |semi |autoconfirmed=autoconfirmed |administrator |full |sysop=sysop |undefined={{PROTECTIONLEVEL:edit}} |#default=<!--fallback value: null -->}} |no|yes }} |no}} }}|yes|{{#ifeq:{{lc:{{{small|}}}}}|yes| <div class="metadata topicon" id="protected-icon" style="display:none; right:55px;">[[Image:{{{image|{{#switch:{{lc:{{{type}}}}} |full=Padlock.svg |semi=Padlock-silver-medium.svg |move=Padlock-olive.svg |indef=Padlock-red.svg |office=Padlock-black.svg |create=Padlock-skyblue.svg |#default=Transparent.gif }}}}}|20px|link={{{icon-link|Wikipedia:Protection policy#{{lc:{{{type}}}}}}}}|{{{icon-text|This {{pagetype|subjectspace=yes}} is {{#switch:{{lc:{{{type}}}}} |semi=semi- |move=move- |indef=permanently<nowiki> </nowiki> |create=creation- |office=<!--null, but should this have a special tag?--> |full |#default=<!--null--> }}protected{{#ifeq:{{lc:{{{type}}}}}|indef||{{#if:{{{expiry|}}}|<nowiki> </nowiki>until {{#time:F j, Y|{{{expiry}}}}}}}}}{{#if:{{{icon-reason|}}}|<nowiki> </nowiki>{{{icon-reason}}}}}.}}}]]</div> |<!-- else, not small --> {{mbox | demospace = {{{demospace|}}} | type = protection | image = [[Image:{{{image|{{#switch:{{lc:{{{type}}}}} |full=Padlock.svg |semi=Padlock-silver-medium.svg |move=Padlock-olive.svg |indef=Padlock-red.svg |office=Padlock-black.svg |create=Padlock-skyblue.svg |#default=Transparent.gif }}}}}|40px|{{{icon-text|This page is {{#switch:{{lc:{{{type}}}}} |semi=semi- |move=move- |indef=permanently<nowiki> </nowiki> |create=creation- |office=<!--null, but should this have a special tag?--> |full |#default=<!--null--> }}protected.}}}]] | text = '''{{{reason-text|{{#switch:{{lc:{{{type}}}}} |full=This page is currently [[Wikipedia:This page is protected|protected]] from editing |semi=Editing of this {{pagetype|subjectspace=yes}} by [[Wikipedia:User access levels#Autoconfirmed_users|new]] or [[Wikipedia:User access levels#Anonymous_users|unregistered]] users is currently [[Wikipedia:Protection policy|disabled]] |move=This {{pagetype|subjectspace=yes}} is currently [[Wikipedia:This page is protected|protected]] from [[Help:Moving a page|page moves]] |indef=This page is [[Wikipedia:This page is protected|protected]] from editing ''indefinitely'' |office=This {{pagetype|subjectspace=yes}} is currently [[Wikipedia:This page is protected|protected]] from editing |create=[[Help:Starting a new page|Recreation]] of this {{pagetype|subjectspace=yes}} [[Wikipedia:This page is protected|has been disabled]] }}{{#ifeq:{{lc:{{{type}}}}}|indef||{{#if:{{{expiry|}}}|&#32;until {{#time:[[F j]], [[Y]]|{{{expiry}}}}}}}}}{{{reason<includeonly>|</includeonly>}}}.}}}'''<br /> {{{explanation-text|{{#ifeq:{{lc:{{{dispute}}}}}|yes|This protection is '''not''' an endorsement of the {{#ifeq:{{{type}}}|move|[{{fullurl:Special:Log|type=move&page={{FULLPAGENAMEE}}}} current title]|[{{fullurl:{{FULLPAGENAMEE}}|action=history}} current version]}}.}} See the [[Wikipedia:Protection policy|protection policy]] and [{{fullurl:Special:Log|type=protect&page={{FULLPAGENAMEE}}}} protection log] for more details. {{#switch:{{lc:{{{type}}}}} |full|indef=Please discuss any changes on the [[{{TALKPAGENAME}}|talk page]]; you may use the {{tlx|editprotected}} template to ask an [[Wikipedia:Administrator|administrator]] to make the edit if it is supported by [[Wikipedia:Consensus|consensus]]. {{#ifeq:{{NAMESPACE}}|{{ns:8}}<!--MediaWiki-->||You may also [[Wikipedia:Requests for page protection|request]] that this page be unprotected.}} |semi=If you cannot edit this {{pagetype|subjectspace=yes}} and you wish to make a change, you can {{#ifeq:{{NAMESPACE}}|{{TALKSPACE}}||[[Template:Editsemiprotected|request an edit]], [[{{TALKPAGENAME}}|discuss changes on the talk page]],}} [[Wikipedia:Requests for page protection#Current requests for unprotection|request unprotection]], [[Special:Userlogin|log in]], or <span class="plainlinks">[http://en.wikipedia.org/w/index.php?title=Special:Userlogin&type=signup <span style="color:#002bb8;" title="Sign in / create account">create an account</span>]. |move=The page may still be edited but cannot be moved until unprotected. Please discuss any suggested moves on the [[{{TALKPAGENAME}}|talk page]] or at [[Wikipedia:Requested moves]]. You can also [[Wikipedia:Requests for page protection|request]] that the page be unprotected. |office=If you are able to edit this page, please discuss all changes and additions on the [[{{TALKPAGENAME}}|talk page]] first. '''Do not remove protection from this article unless you are authorized by the Wikimedia Foundation to do so.''' |create=Please see the {{#if:{{{xfd|}}}|'''[[{{{xfd}}}|deletion discussion]]''' or the}} [{{fullurl:Special:Log|type=delete&page={{FULLPAGENAMEE}}}} deletion log] for details of why this page was deleted. If you would like to create a page at this title, you must first [[Wikipedia:Requests for page protection|request]] for it to be unprotected, or contact the administrator who deleted the page for the deleted material to be restored. If unsuccessful, you can use [[Wikipedia:Deletion review|deletion review]]. }}}}} }} }}|[[Category:Wikipedia pages with incorrect protection templates]]}}<!--End if small--><includeonly>{{#ifeq:{{lc:{{{categories|no}}}}}|no||{{{categories|}}}}}</includeonly><noinclude> <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> 2oab0v8fsplr04igq7jj4nqarab4lo3 Πρότυπον:Error 10 1033 10054 2009-12-06T22:32:38Z Stravon 942 Καινούρεον σελίδαν με '<{{#switch:{{lc:{{{tag}}}}} |p=p |span=span |div=div |#default=strong }} class="error"><!-- -->{{{message|{{{1}}}}}}<!-- --></{{#switch:{...' 10054 wikitext text/x-wiki <{{#switch:{{lc:{{{tag}}}}} |p=p |span=span |div=div |#default=strong }} class="error"><!-- -->{{{message|{{{1}}}}}}<!-- --></{{#switch:{{lc:{{{tag}}}}} |p=p |span=span |div=div |#default=strong }}><noinclude> </noinclude> qyt1davehh2k3ldxucuh86wpojiyg29 Πρότυπον:Iso2lang 10 1034 10057 2009-12-06T22:50:33Z Stravon 942 Καινούρεον σελίδαν με '{{ISO 639 name {{{1|}}}}}' 10057 wikitext text/x-wiki {{ISO 639 name {{{1|}}}}} 5w2e7nit7agc625xb3gsdjjeshj4qss Πρότυπον:ISO 639 name 10 1035 10076 10058 2009-12-07T00:40:57Z Stravon 942 10076 wikitext text/x-wiki {{#switch:{{{1|}}} |aa|aar=Afar |ab|abk=Abkhaz |ae|ave=Avestan |af|afr=Afrikaans |ags=Esimbi |ak|aka=Akan |am|amh=Amharic |an|arg=Aragonese |ang=Old English |ar|ara=Arabic |as|asm=Assamese |av|ava=Avaric |ay|aym=Aymara |az|aze=Azerbaijani |ba|bak=Bashkir |be|bel=Belarusian |bg|bul=Bulgarian |bh|bih=Bihari |bi|bis=Bislama |bm|bam=Bambara |bn|ben=Bengali |bo|tib|bod=Tibetan |br|bre=Breton |bs|bos=Bosnian |ca|cat=Catalan |ce|che=Chechen |ch|cha=Chamorro |cho=Choctaw |co|cos=Corsican |cr|cre=Cree |cs|cze|ces|cz=Czech |cu|chu=Old Church Slavonic |cv|chv=Chuvash |cy|wel|cym=Welsh |da|dan=Danish |de|ger|deu=German |dv|div=Dhivehi |dz|dzo=Dzongkha |ee|ewe=Ewe |el|gre|ell=Ελληνικήν |en|eng=explicitly cited English |eo|epo=Esperanto |es|spa=Spanish |et|est=Estonian |eu|baq|eus=Basque |fa|per|fas=Persian |ff|ful=Fula |fi|fin=Finnish |fj|fij=Fijian |fo|fao=Faroese |fr|fre|fra=French |fy|fry=West Frisian |ga|gle=Irish |gd|gla=Scottish Gaelic |gl|glg=Galician |gn|grn=Guaraní |grc=Ancient Greek |gu|guj=Gujarati |gv|glv=Manx |ha|hau=Hausa |he|heb=Hebrew |hi|hin=Hindi |ho|hmo=Hiri Motu |hr|scr|hrv=Croatian |ht|hat=Haitian Creole |hu|hun=Hungarian |hy|arm|hye=Armenian |hz|her=Herero |ia|ina=Interlingua |id|ind=Indonesian |ie|ile=Interlingue |ig|ibo=Igbo |ii|iii=Yi |ik|ipk=Inupiaq |io|ido=Ido |is|ice|isl=Icelandic |it|ita=Italian |iu|iku=Inuktitut |ja-Hani|ja-Latn|ja|jpn=Japanese |jv|jav=Javanese |ka|geo|kat=Georgian |kg|kon=Kongo |ki|kik=Gikuyu |kj|kua=Kwanyama |kk|kaz=Kazakh |kl|kal=Kalaallisut |km|khm=Khmer |kn|kan=Kannada |ko|kor|kp-Hanj|ko-Hang|ko-hang|ko-Hang-KP|ko-Hang-KR|ko-Hani|ko-Hant|ko-Hant-KP|ko-Kana|ko-Kang|ko-Kore|ko-KP|ko-Latn=Korean |kr|kau=Kanuri |ks|kas=Kashmiri |ku|kur=Kurdish |kv|kom=Komi |kw|cor=Cornish |ky|kir=Kyrgyz |la|lat=Latin |lb|ltz=Luxembourgish |lg|lug=Luganda |li|lim=Limburgish |ln|lin=Lingala |lo|lao=Lao |lt|lit=Lithuanian |lu|lub=Tshiluba |lv|lav=Latvian |mg|mlg=Malagasy |mh|mah=Marshallese |mi|mao|mri=Māori |mk|mac|mkd=Macedonian |ml|mal=Malayalam |mn|mon=Mongolian |mo|mol=Moldovan |mr|mar=Marathi |ms|may|msa=Malay |mt|mlt=Maltese |my|bur|mya=Burmese |na|nau=Nauruan |nb|nob=Norwegian Bokmål |nd|nde=Northern Ndebele |ne|nep=Nepali |ng|ndo=Ndonga |nl|dut|nld=Dutch |nn|nno=Norwegian Nynorsk |no|nor=Norwegian |nr|nbl=Southern Ndebele |nv|nav=Navajo |ny|nya=Chichewa |oc|oci=Occitan |oj|oji=Anishinaabe |om|orm=Oromo |or|ori=Oriya |os|oss=Ossetic |pa|pan=Punjabi |pi|pli=Pāli |pl|pol=Polish |ps|pus=Pashto |pt|por=Portuguese |qu|que=Quechua |rm|roh=Romansh |rn|run=Kirundi |ro|rum|ron=Romanian |ru|rus=Russian |rw|kin=Kinyarwanda |sa|san=Sanskrit |sc|srd=Sardinian |sco=Scots |sd|snd=Sindhi |se|sme=Sami |sg|sag=Sango |sga=Old Irish |sh|hbs=Serbo-Croatian |si|sin=Sinhala |sk|slo|slk=Slovak |sl|slv=Slovenian |sm|smo=Samoan |sn|sna=Shona |so|som=Somali |sq|alb|sqi=Albanian |sr|scc|srp=Serbian |ss|ssw=Swati |st|sot=Sotho |su|sun=Sundanese |sv|swe=Swedish |sw|swa=Swahili |syc|syr=Syriac |ta|tam=Tamil |te|tel=Telugu |tg|tgk=Tajik |th|tha=Thai |ti|tir=Tigrinya |tk|tuk=Turkmen |tl|tgl=Tagalog |tn|tsn=Tswana |to|ton=Tongan |tr|tur=Turkish |ts|tso=Tsonga |tt|tat=Tatar |tw|twi=Twi |ty|tah=Tahitian |ug|uig=Uyghur |uk|ukr=Ukrainian |ur|urd=Urdu |uz|uzb=Uzbek |ve|ven=Venda |vi|vie=Vietnamese |vo|vol=Volapük |wa|wln=Walloon |wlm=Middle Welsh |wo|wol=Wolof |xh|xho=Xhosa |yi|yid=Yiddish |yo|yor=Yoruba |za|zha=Zhuang |zh|chi|zho=Chinese |zu|zul=Zulu |zun=Zuni |zh-Hant|zh-t=traditional Chinese |zh-Hans|zh-s=simplified Chinese |#default={{{2|{{error|Language abbreviation not recognized by [[Template:ISO 639 name|template]]!}}}}} }}<noinclude> </noinclude> e4pmbeqo0beqs0et2ut56690j212plq Πρότυπον:ISO 639 name el 10 1036 10075 10065 2009-12-07T00:22:20Z Stravon 942 10075 wikitext text/x-wiki Greek<noinclude> {{ISO 639 name conversion template doc|{{ISO 639 name el}}|el}}</noinclude> 3mwf2laid9r680ji8s3pc9csz2ceg6d Πρότυπον:Wikiquote 10 1037 10081 10080 2009-12-07T12:27:24Z Stravon 942 10081 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Πρότυπον:Βικιφθέγματα]] ck75uh8pk4x8rlvdcuivpm8g9w3c24i Πρότυπον:Βικιφθέγματα 10 1038 10085 10083 2009-12-07T12:34:56Z Stravon 942 10085 wikitext text/x-wiki {{Sisterproject |project=Wikiquote |image=Greek wikiquote logo.png |text=Σα [[:el:q:Κύρια_Σελίδα|Βικιφθέγματα]] ε<u>σ</u> υλικόν σχετικόν με: |link=[[:el:q:{{#if: {{{1|}}} | {{{1}}}| {{PAGENAME}}}} | {{#if: {{{2|}}} | {{{2}}} | {{PAGENAME}}}}]] }}<noinclude> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|Βικιφθεγματα]] </noinclude> dq0xwabqaw6748gwaxc844nos5atdqi Pontic Greek 0 1039 10088 2009-12-07T13:01:01Z Qoan 1170 Redirected page to [[Ποντιακόν λαλίαν]] 10088 wikitext text/x-wiki #REDIRECT [[Ποντιακόν λαλίαν]] hh70627f411imxoabivk216h6jm4bp9 Πόντιοι 0 1040 37381 36284 2025-12-20T12:05:41Z Εὐθυμένης 2777 /* Αναφοράντας */ 37381 wikitext text/x-wiki <table border="1" cellpadding="2" cellspacing="0" align="right" width="300" style="margin-left:0.5em;"> <tr><td colspan="2" bgcolor="chocolate"><center><font size="+1">'''Πόντιοι'''</font></center></td></tr> <tr><td colspan="2">[[Εικόναν:Flag of Pontus.svg|290px]]</td></tr> <tr><td bgcolor="orange">Όλων ο πληθυσμός:</td> <td bgcolor="#ffde80"> 2.000.000 - 2.500.000 παγκoσμίως (κατ' εκτίμησην) </td> </tr> <tr><td bgcolor="orange">Σημαντικοί πληθυσμοί:</td> <td bgcolor="#ffde80">[[Ελλάδα]]: 500.000 - 300.000 (κατ' εκτίμησην) </td> </tr> <tr><td bgcolor="orange">Καλατσή</td><td bgcolor="#ffde80">[[Ποντιακή διάλεκτος|Ποντιακά]], [[Ελληνική γλώσσα|Ελληνικά]]</td></tr> <tr><td bgcolor="orange">θρή<u>σ</u>κευμα</td><td bgcolor="#ffde80">[[Ορθοδοξία|Χριστιανοί Ορθόδοξοι]] </td></tr> </table> '''Πόντιοι''' ονομά<u>σ</u>κουνταν οι [[Έλληνες]] πρόσφυγες που έρθαν ασήν περιοχή του [[Εύξεινος Πόντος|Ευξείνου Πόντου]] - [[Πόντος]]. Η περιοχή του Ευξείνου Πόντου εβρήεται ση βόρειαν και σην ανατολικήν θαλασσάκρην του τωρινού κράτους τη [[Τουρκία|Τουρκίας]] και άλλων [[Μαύρη Θάλασσα|παρευξεινίων χωρών]].Σημαντικοί Πόντοι ήταν ο Στράβων [[Εικόναν:Bessarion 1476.JPG|right|thumb|140px|[[Βησσαρίων|Καρδινάλιος Βησσαρίων]] ([[1395]] &ndash; [[1472]]) τη [[Τραπεζούντα|Τραπεζούντος]], Πόντιος λόγιος, πολιτικός και καρδινάλιος]] == Αρχαιότητα == [[Εικόναν:Ελληνικές_αποικίες_Ευξείνου_Πόντου.svg|thumb|left|Αποικίες τη Πόντονος]] * Η ιστορία του Ποντιακού Ελληνισμού έ<u>σ</u> για ξεκίνεμα την ίδρυση της Σινώπης ση Βόρεια θαλασσάκρην της [[Μικρά Ασία|Μικρά Ασίας]] ασά [[Ίωνες|Μηλίσιους]]<ref>https://el.wikisource.org/wiki/%CE%93%CE%B5%CF%89%CE%B3%CF%81%CE%B1%CF%86%CE%B9%CE%BA%CE%AC/%CE%99%CE%92 Στράβων, Γεωγραφικά/ΙΒ - Βικιθήκη, κεφ. 3.1. </ref> <references group="Στράβων, Γεωγραφικά/ΙΒ - Βικιθήκη, κεφ. 3.1" responsive="" /> περίπου το 800 π.Χ. Άσην Σινώπη οικιστές ίδρεσαν άλλα πόλεις. Η κυριότερη αούτων των πόλεων έτονε η [[Τραπεζούντα]] σο [[783 π.Χ.]] Για τους Έλληνας του Πόντου πολλά εγράφταν ασου συγγραφάντας. Οι Πόντιοι ζούσαν σε εκείνα τα μέρη ασην [[αρχαιότητα|αρχαιότηταν]] που έτονε αμιγώς ελληνικά πριν να εφτάει κατοχήν η [[Οθωμανική Αυτοκρατορία|Οθωμανικήν Αυτοκρατορίαν]]. Πολλοί τρανοί αρχαίοι επιστήμονες έχνε ποντιακήν καταγωγής όπως έτον ο [[αστρονομία|αστρονόμον]] ο [[Ηρακλείδης ο Πόντιος]],ο [[γεωγραφία|γεωφράφον]] ο [[Στράβων|Στράβωνας]] ο [[Αμάσεια|Αμάσειος]] και ο [[Διογένης|Διογένες]] ο [[κυνικός|κυνικόν]]. == Ανταλλαγή πληθυσμών == Το [[1923]] σύμφωνα με τη [[Συνθήκην τη Λωζάνες]], εέντονε [[ανταλλαγή πληθυσμών]] μεταξύ [[Έλληνες|Ελλήνων]] και [[Τούρκοι (πολίτες)|Τουρκαλάντων]] και απές ση συμφωνία τη συνθήκες περιλαμβάουνταν και οι κάτοικοι του Πόντου (όπως και ατοί τη [[Μικρά Ασία|Μικράς Ασίας]]). == Γενοκτονία == Απάν ση προσφυγίαν ασην [[Τουρκία|Τουρκίαν]] σην [[Ελλάδα|Ελλάδαν]] πολλοί ( 350000 ) Πόντιοι έβρανε τον θάνατον και τελικά ασατούνς που εξεκίνεσαν πολλοί κι πρόλαβαν να φτάνε σην Ελλάδαν. Η [[Γενοκτονία των Ελλήνων του Πόντου|γενοκτονία των Ποντίων]] κι εν αναγνωρισμέντσα διεθνώς αλλά μαναχά ασην Ελληνικήν Πολιτείαν με Νόμο του 1994 (N 2193/1994). Η γενοκτονία κι έτονε μικρότερον ασατήν που εποίκαν ση [[Εβραίοι|Εβραίους]] οι [[Γερμανία|Γερμανοί]] ή ση [[Αρμενία|Αρμενίους]] οι [[Τούρκοι (πολίτες)|Τουρκάντ]]. [[Εικόναν:Ο Αλέξιος Γ’ Μεγάλος Κομνηνός 1349-1390 με τη σύζυγο του Θεοδώρα σε μικρογραφία του κτιτορικού χρυσόβουλλου της Μονής Διονυσίου του.jpg|left|thumb|160px|[[Αλέξιον ο 3ον]] (1338 – 1390), [[Αυτοκρατορία τη Τραπεζούντος|Αυτοκράτορας τη Τραπεζούντος]].]] Οι Έλληνες τιμούν την γενοκτονίαν ση [[19 Καλομηνά|19 του Καλομηνά]] (Μάιος). == Ήθη και εθίματα == Οι Πόντιοι έχνε πολλά σκυρόν παράδοσην και εθίματα που μετέφεραν ασον Πόντον. Οι [[χορός|χοροί]], η [[ποντιακή διάλεκτος]] και πολλά ασά εθίματα διατηρίουνταν εώς και σήμερον. == Παραπομπές == <br /><references group="Στράβων, Γεωγραφικά/ΙΒ - Βικιθήκη, κεφ. 3.1" responsive="" /> == Τέρεν επίσης == *[[Ποντιακά Κάλαντα]] *[[Ποντιακοί χοροί]] == Αναφοράντας == <references /> == Εξωτερικές Συνδέσεις == *[https://web.archive.org/web/20210305165938/https://www.afternic.com/forsale/greek-genocide.org?&traffic_type=TDFS&traffic_id=GoDaddy_DLS Η Γενοκτονία των Ελλήνων] *[https://web.archive.org/web/20090912094100/http://www.aihgs.com/pontus.htm Η γενοκτονία των Ποντίων] *[https://web.archive.org/web/20070930120901/http://www.pontiangenocide.org.au/ Η γενοκτονία των Ποντίων-στοιχεία] *[https://web.archive.org/web/20080611152026/http://www.karalahana.com/english.html Τραπεζούντα] *[https://web.archive.org/web/20061106224353/http://lahana.org/resimler/index.php Εικόνα] [[Κατηγορίαν:Ελλενικόν ιστορίαν]] np7ylsdp4sej7xy5la7hoa0ac2f9qiu 3 Καλανταρί 0 1041 37287 37080 2025-12-16T19:15:57Z Εὐθυμένης 2777 37287 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[2 Καλανταρί]] | [[3 Καλανταρί]] | [[4 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''3 τη Καλανταρί''' εν 3ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 362 ημέρας για να τελούτεν η χρονία (363 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[3 Χριστουγενναρί]] - [[3 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 61w9s5gnt0n5dspmtroiyi1q3rovlac 4 Καλανταρί 0 1042 37288 37076 2025-12-16T19:16:13Z Εὐθυμένης 2777 37288 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[3 Καλανταρί]] | [[4 Καλανταρί]] | [[5 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''4 τη Καλανταρί''' εν 4ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 361 ημέρας για να τελούτεν η χρονία (362 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[4 Χριστουγενναρί]] - [[4 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] dw3dvsoih9ihihvkfvzonlv7qmtsrdd 5 Καλανταρί 0 1043 37289 37078 2025-12-16T19:18:47Z Εὐθυμένης 2777 37289 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[4 Καλανταρί]] | [[5 Καλανταρί]] | [[6 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''5 τη Καλανταρί''' εν 5ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 360 ημέρας για να τελούτεν η χρονία (361 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[5 Χριστουγενναρί]] - [[5 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] cq5q57kxikjpq9o1txwm95zf7cuc92c 6 Καλανταρί 0 1044 37290 37079 2025-12-16T19:19:03Z Εὐθυμένης 2777 37290 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[5 Καλανταρί]] | [[6 Καλανταρί]] | [[7 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''6 τη Καλανταρί''' εν 6ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 359 ημέρας για να τελούτεν η χρονία (360 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[6 Χριστουγενναρί]] - [[6 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] kwxgqkn88sx6d0e5g7sdb4jupobimpb 8 Καλανταρί 0 1045 37292 35795 2025-12-16T19:19:33Z Εὐθυμένης 2777 37292 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[7 Καλανταρί]] | [[8 Καλανταρί]] | [[9 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''8 τη Καλανταρί''' εν 8ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 357 ημέρας για να τελούτεν η χρονία (358 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[8 Χριστουγενναρί]] - [[8 Κούντουρονος]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] qr7y641klxlloep1ipfptce6558xckq 9 Καλανταρί 0 1046 37293 37086 2025-12-16T19:19:56Z Εὐθυμένης 2777 37293 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[8 Καλανταρί]] | [[9 Καλανταρί]] | [[10 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''9 τη Καλανταρί''' εν 9ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 356 ημέρας για να τελούτεν η χρονία (357 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[9 Χριστουγενναρί]] - [[9 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 228x0kvk1893d0qtmto7mjpb3iuo8i4 10 Καλανταρί 0 1047 37294 37093 2025-12-16T19:20:21Z Εὐθυμένης 2777 37294 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[9 Καλανταρί]] | [[10 Καλανταρί]] | [[11 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''10 τη Καλανταρί''' εν 10ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 355 ημέρας για να τελούτεν η χρονία (356 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[10 Χριστουγενναρί]] - [[10 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] bm9ms4lw9dcojd9495ufydbxmxwww4n 11 Καλανταρί 0 1048 37295 37088 2025-12-16T19:20:41Z Εὐθυμένης 2777 37295 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[10 Καλανταρί]] | [[11 Καλανταρί]] | [[12 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''11 τη Καλανταρί''' εν 11ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 354 ημέρας για να τελούτεν η χρονία (355 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[11 Χριστουγενναρί]] - [[11 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 465tsnp967sfu8ihso6lpsjh75fk3wk 12 Καλανταρί 0 1049 37296 37081 2025-12-16T19:20:58Z Εὐθυμένης 2777 37296 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[11 Καλανταρί]] | [[12 Καλανταρί]] | [[13 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''12 τη Καλανταρί''' εν 12ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 353 ημέρας για να τελούτεν η χρονία (354 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[12 Χριστουγενναρί]] - [[12 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] hc8xhip8cj5k4dasbe9dp9fkv78ajmi 13 Καλανταρί 0 1050 37297 35862 2025-12-16T19:21:14Z Εὐθυμένης 2777 37297 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[12 Καλανταρί]] | [[13 Καλανταρί]] | [[14 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''13 τη Καλανταρί''' εν 13ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 352 ημέρας για να τελούτεν η χρονία (353 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[13 Χριστουγενναρί]] - [[13 Κούντουρονος]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] hyu4ad2kzxmpd57fa2y7cha7d5qveqm 14 Καλανταρί 0 1051 37298 37089 2025-12-16T19:21:31Z Εὐθυμένης 2777 37298 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[13 Καλανταρί]] | [[14 Καλανταρί]] | [[15 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''14 τη Καλανταρί''' εν 14ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 351 ημέρας για να τελούτεν η χρονία (352 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[14 Χριστουγενναρί]] - [[14 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] jlf6klwd9lh9aoj2fdcuq6ab1zdjtlk 15 Καλανταρί 0 1052 37299 37083 2025-12-16T19:21:48Z Εὐθυμένης 2777 37299 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[14 Καλανταρί]] | [[15 Καλανταρί]] | [[16 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''15 τη Καλανταρί''' εν 15ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 350 ημέρας για να τελούτεν η χρονία (351 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[15 Χριστουγενναρί]] - [[15 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] im5dfhd6u1ddhyzis6rfx96gyg3zbeg 16 Καλανταρί 0 1053 37300 37085 2025-12-16T19:22:03Z Εὐθυμένης 2777 37300 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[15 Καλανταρί]] | [[16 Καλανταρί]] | [[17 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''16 τη Καλανταρί''' εν 16ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 349 ημέρας για να τελούτεν η χρονία (350 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[16 Χριστουγενναρί]] - [[16 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] du0cb2m49qna1b4tq6jbun6wac2g79n 17 Καλανταρί 0 1054 37301 37092 2025-12-16T19:22:24Z Εὐθυμένης 2777 37301 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[16 Καλανταρί]] | [[17 Καλανταρί]] | [[18 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''17 τη Καλανταρί''' εν 17ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 348 ημέρας για να τελούτεν η χρονία (349 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[17 Χριστουγενναρί]] - [[17 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 03gqdd1braajyyqn2xbtoys45rccz8f 18 Καλανταρί 0 1055 37302 37082 2025-12-16T19:22:41Z Εὐθυμένης 2777 37302 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[17 Καλανταρί]] | [[18 Καλανταρί]] | [[19 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''18 τη Καλανταρί''' εν 18ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 347 ημέρας για να τελούτεν η χρονία (348 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[18 Χριστουγενναρί]] - [[18 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 1sihx6ins0pgfjfe9wny0sgfccn9www 19 Καλανταρί 0 1056 37303 37084 2025-12-16T19:23:02Z Εὐθυμένης 2777 37303 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[18 Καλανταρί]] | [[19 Καλανταρί]] | [[20 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''19 τη Καλανταρί''' εν 19ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 346 ημέρας για να τελούτεν η χρονία (347 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[19 Χριστουγενναρί]] - [[19 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 5votckyai1mcqll8ppz6jd931kq0sb1 20 Καλανταρί 0 1057 37304 37101 2025-12-16T19:23:19Z Εὐθυμένης 2777 37304 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[19 Καλανταρί]] | [[20 Καλανταρί]] | [[21 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''20 τη Καλανταρί''' εν 20ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 345 ημέρας για να τελούτεν η χρονία (346 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[20 Χριστουγενναρί]] - [[20 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 31jmtyzdpmpjug9s9zy2gcye4muz5x4 21 Καλανταρί 0 1058 37305 37087 2025-12-16T19:23:36Z Εὐθυμένης 2777 37305 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[20 Καλανταρί]] | [[21 Καλανταρί]] | [[22 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''21 τη Καλανταρί''' εν 21ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 344 ημέρας για να τελούτεν η χρονία (345 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[21 Χριστουγενναρί]] - [[21 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 4hkg4j8q03ovn2z8ywju1kjmwtmr8kn 22 Καλανταρί 0 1059 37306 37094 2025-12-16T19:23:52Z Εὐθυμένης 2777 37306 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[21 Καλανταρί]] | [[22 Καλανταρί]] | [[23 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''22 τη Καλανταρί''' εν 22ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 343 ημέρας για να τελούτεν η χρονία (344 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[22 Χριστουγενναρί]] - [[22 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] lm4qlm37jelkfw8cujac7n0dlv74se4 24 Καλανταρί 0 1060 37308 37102 2025-12-16T19:24:26Z Εὐθυμένης 2777 37308 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[23 Καλανταρί]] | [[24 Καλανταρί]] | [[25 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''24 τη Καλανταρί''' εν 24ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 341 ημέρας για να τελούτεν η χρονία (342 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[24 Χριστουγενναρί]] - [[24 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 4kchagzt4emojg84cv991zm9zes8slw 25 Καλανταρί 0 1061 37309 37096 2025-12-16T19:24:45Z Εὐθυμένης 2777 37309 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[24 Καλανταρί]] | [[25 Καλανταρί]] | [[26 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''25 τη Καλανταρί''' εν 25ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 340 ημέρας για να τελούτεν η χρονία (341 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[25 Χριστουγενναρί]] - [[25 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] efyslu3uu71qwrha123hqs27vcq1c8e 26 Καλανταρί 0 1062 37310 37091 2025-12-16T19:25:03Z Εὐθυμένης 2777 37310 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[25 Καλανταρί]] | [[26 Καλανταρί]] | [[27 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''26 τη Καλανταρί''' εν 26ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 339 ημέρας για να τελούτεν η χρονία (340 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[26 Χριστουγενναρί]] - [[26 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 1f794bww1z4r23da31lzi1fdqth4sii 27 Καλανταρί 0 1063 37311 37097 2025-12-16T19:25:19Z Εὐθυμένης 2777 37311 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[26 Καλανταρί]] | [[27 Καλανταρί]] | [[28 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''27 τη Καλανταρί''' εν 27ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 338 ημέρας για να τελούτεν η χρονία (339 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[27 Χριστουγενναρί]] - [[27 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 48eaf2spol85fjkv00t20j2ck6im42q 28 Καλανταρί 0 1064 37312 37103 2025-12-16T19:25:34Z Εὐθυμένης 2777 37312 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[27 Καλανταρί]] | [[28 Καλανταρί]] | [[29 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''28 τη Καλανταρί''' εν 28ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 337 ημέρας για να τελούτεν η χρονία (338 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[28 Χριστουγενναρί]] - [[28 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 99oaokup7j7gv98gvvqufxtea936yc6 29 Καλανταρί 0 1065 37313 37095 2025-12-16T19:25:52Z Εὐθυμένης 2777 37313 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[28 Καλανταρί]] | [[29 Καλανταρί]] | [[30 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''29 τη Καλανταρί''' εν 29ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 336 ημέρας για να τελούτεν η χρονία (337 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[29 Χριστουγενναρί]] - [[29 Κούντουρονος]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] c3bpng3hzltk4aa2wcw885bto1t2rk7 30 Καλανταρί 0 1066 37314 37114 2025-12-16T19:26:12Z Εὐθυμένης 2777 37314 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[29 Καλανταρί]] | [[30 Καλανταρί]] | [[31 Καλανταρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''30 τη Καλανταρί''' εν 30ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 335 ημέρας για να τελούτεν η χρονία (336 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[30 Χριστουγενναρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 2pa1y6ujqt2507to82ef09dm312i9yj 31 Καλανταρί 0 1067 37315 37098 2025-12-16T19:26:31Z Εὐθυμένης 2777 37315 wikitext text/x-wiki <div class="center">[[Αεργίτες]] | [[Χριστουγεννάρτς]] | '''[[Καλαντάρτς]]''' | [[Κούντουρος]] | [[Μαρτς]]</div> <div class="center">[[30 Καλανταρί]] | [[31 Καλανταρί]] | [[1 Κούντουρονος]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|1}} Η '''31 τη Καλανταρί''' εν 31ον ημέρα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 334 ημέρας για να τελούτεν η χρονία (335 ημέρας σο δίσεκτον τη χρονία). == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[31 Χριστουγενναρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] j3hg0e4a1ba036x9x68wrv4i2ekocf7 2 Τρυγομηνά 0 1068 37246 37183 2025-12-16T19:01:57Z Εὐθυμένης 2777 37246 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[1 Τρυγομηνά]] | [[2 Τρυγομηνά]] | [[3 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''2 Τρυγομηνά''' εν 275ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 276ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 90 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == * 2 Τρυγομηνά 1187 – Ο Σαλαντίν επήρεν την [[Ιερουσαλήμ]] από τας [[Σταυροφορίας]]. * 2 Τρυγομηνά 1836 – Ο Κάρολος Δαρβίνος εγύρισεν σην [[Αγγλίαν]] μετά πέντε χρόνια ταξίδ’ με το πλοίον “Μπίγκλ”. == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[2 Σταυρί]] - [[2 Αεργί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 2adfj54zpmw63jzs6u03v3l55rc7hbh 3 Τρυγομηνά 0 1069 37247 37174 2025-12-16T19:02:13Z Εὐθυμένης 2777 37247 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[2 Τρυγομηνά]] | [[3 Τρυγομηνά]] | [[4 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''3 Τρυγομηνά''' εν 276ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 277ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 89 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[3 Σταυρί]] - [[3 Αεργί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 8wbgme100wfuuxjzxg43oodcqt2jf9d 4 Τρυγομηνά 0 1070 37248 37172 2025-12-16T19:02:27Z Εὐθυμένης 2777 37248 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[3 Τρυγομηνά]] | [[4 Τρυγομηνά]] | [[5 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''4 Τρυγομηνά''' εν 277ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 278ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 88 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[4 Σταυρί]] - [[4 Αεργί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 5oc3xnffiph7hwwqkuzbfse934y41wn 5 Τρυγομηνά 0 1071 37249 37184 2025-12-16T19:02:42Z Εὐθυμένης 2777 37249 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[4 Τρυγομηνά]] | [[5 Τρυγομηνά]] | [[6 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''5 Τρυγομηνά''' εν 278ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 279ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 87 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[5 Σταυρί]] - [[5 Αεργί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] khdpkiijdr293klr9orkgujhul2xf2v 6 Τρυγομηνά 0 1072 37250 37181 2025-12-16T19:02:57Z Εὐθυμένης 2777 37250 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[5 Τρυγομηνά]] | [[6 Τρυγομηνά]] | [[7 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''6 Τρυγομηνά''' εν 279ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 280ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 86 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[6 Σταυρί]] - [[6 Αεργί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] fiq3rlj1kt8hsudrpa5ynlgbjoddluv 7 Τρυγομηνά 0 1073 37251 37195 2025-12-16T19:04:40Z Εὐθυμένης 2777 37251 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[6 Τρυγομηνά]] | [[7 Τρυγομηνά]] | [[8 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''7 Τρυγομηνά''' εν 280ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 281ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 85 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[7 Σταυρί]] - [[7 Αεργί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] t3zcgdnilr2kwgsjuiqloing837cnm3 8 Τρυγομηνά 0 1074 37252 37170 2025-12-16T19:04:55Z Εὐθυμένης 2777 37252 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[7 Τρυγομηνά]] | [[8 Τρυγομηνά]] | [[9 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''8 Τρυγομηνά''' εν 281ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 282ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 84 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[8 Σταυρί]] - [[8 Αεργί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] eqrgbioyrkwwi4ob38qekvdqllw67g8 9 Τρυγομηνά 0 1075 37253 37179 2025-12-16T19:05:08Z Εὐθυμένης 2777 37253 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[8 Τρυγομηνά]] | [[9 Τρυγομηνά]] | [[10 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''9 Τρυγομηνά''' εν 282ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 283ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 83 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[9 Σταυρί]] - [[9 Αεργί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] tkpejtfqdt6lazuusc5phlsqk387wt8 10 Τρυγομηνά 0 1076 37254 37190 2025-12-16T19:05:23Z Εὐθυμένης 2777 37254 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[9 Τρυγομηνά]] | [[10 Τρυγομηνά]] | [[11 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''10 Τρυγομηνά''' εν 283ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 284ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 82 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[10 Σταυρί]] - [[10 Αεργί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] b2xrtl4d37letfpcg6w0cco3fainx2i 11 Τρυγομηνά 0 1077 37255 37215 2025-12-16T19:05:43Z Εὐθυμένης 2777 37255 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[10 Τρυγομηνά]] | [[11 Τρυγομηνά]] | [[12 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''11 Τρυγομηνά''' εν 284ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 285ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 81 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[11 Σταυρί]] - [[11 Αεργί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] suhayl2khdfry427lgi6aprhzz8coey 12 Τρυγομηνά 0 1078 37256 37208 2025-12-16T19:05:59Z Εὐθυμένης 2777 37256 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[11 Τρυγομηνά]] | [[12 Τρυγομηνά]] | [[13 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''12 Τρυγομηνά''' εν 285ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 286ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 80 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[12 Σταυρί]] - [[12 Αεργί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 8ovwrwq1v92qkv711pofqfefcbyqjea 13 Τρυγομηνά 0 1079 37257 37213 2025-12-16T19:06:13Z Εὐθυμένης 2777 37257 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[12 Τρυγομηνά]] | [[13 Τρυγομηνά]] | [[14 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''13 Τρυγομηνά''' εν 286ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 287ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 79 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[13 Σταυρί]] - [[13 Αεργί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 72d7owsbfeg3l95kajl1mfdzyzmtypx 14 Τρυγομηνά 0 1080 37258 37199 2025-12-16T19:06:39Z Εὐθυμένης 2777 37258 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[13 Τρυγομηνά]] | [[14 Τρυγομηνά]] | [[15 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''14 Τρυγομηνά''' εν 287ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 288ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 78 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[14 Σταυρί]] - [[14 Αεργί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] m5ao9xrpnvdcrqhaeks2k4z7p0b7ldj 15 Τρυγομηνά 0 1081 37259 37204 2025-12-16T19:06:57Z Εὐθυμένης 2777 37259 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[14 Τρυγομηνά]] | [[15 Τρυγομηνά]] | [[16 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''15 Τρυγομηνά''' εν 288ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 289ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 77 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[15 Σταυρί]] - [[15 Αεργί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] nvnu8ugbrubh6wszwvgf0r8bj36yzcu 16 Τρυγομηνά 0 1082 37260 37193 2025-12-16T19:07:15Z Εὐθυμένης 2777 37260 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[15 Τρυγομηνά]] | [[16 Τρυγομηνά]] | [[17 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''16 Τρυγομηνά''' εν 289ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 290ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 76 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[16 Σταυρί]] - [[16 Αεργί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 44laqjtwg1xec0gjnes0g2wqcg5eayo 17 Τρυγομηνά 0 1083 37261 37191 2025-12-16T19:07:48Z Εὐθυμένης 2777 37261 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[16 Τρυγομηνά]] | [[17 Τρυγομηνά]] | [[18 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''17 Τρυγομηνά''' εν 290ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 291ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 75 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[17 Σταυρί]] - [[17 Αεργί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 1yyh9xq46qadzgzx1g8q8p1jdd5gn55 18 Τρυγομηνά 0 1084 37262 37206 2025-12-16T19:08:02Z Εὐθυμένης 2777 37262 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[17 Τρυγομηνά]] | [[18 Τρυγομηνά]] | [[19 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''18 Τρυγομηνά''' εν 291ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 292ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 74 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[18 Σταυρί]] - [[18 Αεργί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 964gc5h6ygra337edruqlka32vyyf7v 19 Τρυγομηνά 0 1085 37263 37205 2025-12-16T19:08:17Z Εὐθυμένης 2777 37263 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[18 Τρυγομηνά]] | [[19 Τρυγομηνά]] | [[20 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''19 Τρυγομηνά''' εν 292ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 293ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 73 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[19 Σταυρί]] - [[19 Αεργί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] najswz6d8hdy8e2ukrn60tf3fqu4szp 20 Τρυγομηνά 0 1086 37264 37194 2025-12-16T19:08:33Z Εὐθυμένης 2777 37264 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[19 Τρυγομηνά]] | [[20 Τρυγομηνά]] | [[21 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''20 Τρυγομηνά''' εν 293ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 294ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 72 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[20 Σταυρί]] - [[20 Αεργί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 7klzkbeffqyxr2b4wn0hqwzgo71kisn 21 Τρυγομηνά 0 1087 37265 37198 2025-12-16T19:08:49Z Εὐθυμένης 2777 37265 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[20 Τρυγομηνά]] | [[21 Τρυγομηνά]] | [[22 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''21 Τρυγομηνά''' εν 294ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 295ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 71 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[21 Σταυρί]] - [[21 Αεργί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] sco0q8twcp85usjgrcl1poy4f0oko2g 22 Τρυγομηνά 0 1088 37266 37207 2025-12-16T19:09:11Z Εὐθυμένης 2777 37266 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[21 Τρυγομηνά]] | [[22 Τρυγομηνά]] | [[23 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''22 Τρυγομηνά''' εν 295ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 296ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 70 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[22 Σταυρί]] - [[22 Αεργί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] kldtn0nz23y3g2tyzy6114b3qud20c5 23 Τρυγομηνά 0 1089 37267 37197 2025-12-16T19:09:27Z Εὐθυμένης 2777 37267 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[22 Τρυγομηνά]] | [[23 Τρυγομηνά]] | [[24 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''23 Τρυγομηνά''' εν 296ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 297ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 69 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[23 Σταυρί]] - [[23 Αεργί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 5wx1qzpiqvrqb2o0r4910edgnv7g0vr 24 Τρυγομηνά 0 1090 37268 37200 2025-12-16T19:09:44Z Εὐθυμένης 2777 37268 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[23 Τρυγομηνά]] | [[24 Τρυγομηνά]] | [[25 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''24 Τρυγομηνά''' εν 297ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 298ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 68 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[24 Σταυρί]] - [[24 Αεργί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 2q0kid10hztas8tb58kgoyofdds9l2p 25 Τρυγομηνά 0 1091 37269 37216 2025-12-16T19:10:00Z Εὐθυμένης 2777 37269 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[24 Τρυγομηνά]] | [[25 Τρυγομηνά]] | [[26 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''25 Τρυγομηνά''' εν 298ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 299ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 67 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[25 Σταυρί]] - [[25 Αεργί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 9cq3fp5it1tv2dmcybslbda3n68hfko 26 Τρυγομηνά 0 1092 37270 37203 2025-12-16T19:10:16Z Εὐθυμένης 2777 37270 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[25 Τρυγομηνά]] | [[26 Τρυγομηνά]] | [[27 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''26 Τρυγομηνά''' εν 299ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 300ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 66 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[26 Σταυρί]] - [[26 Αεργί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] juzgyh6cxlw0y39wopfmwyz9p7rngr3 27 Τρυγομηνά 0 1093 37271 37214 2025-12-16T19:10:32Z Εὐθυμένης 2777 37271 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[26 Τρυγομηνά]] | [[27 Τρυγομηνά]] | [[28 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''27 Τρυγομηνά''' εν 300ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 301ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 65 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[27 Σταυρί]] - [[27 Αεργί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] bu8be89i37xupd34x0r0ic7zw71soct 28 Τρυγομηνά 0 1094 37272 37202 2025-12-16T19:10:49Z Εὐθυμένης 2777 37272 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[27 Τρυγομηνά]] | [[28 Τρυγομηνά]] | [[29 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''28 Τρυγομηνά''' εν 301ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 302ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 64 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[28 Σταυρί]] - [[28 Αεργί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] jm1x8433jbtrtosurt28lohhrtopvv4 29 Τρυγομηνά 0 1095 37273 37210 2025-12-16T19:11:06Z Εὐθυμένης 2777 37273 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[28 Τρυγομηνά]] | [[29 Τρυγομηνά]] | [[30 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''29 Τρυγομηνά''' εν 302ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 303ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 63 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[29 Σταυρί]] - [[29 Αεργί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] rpnfdlgpsg8m6598pa5xhqsa6y4rtz5 30 Τρυγομηνά 0 1096 37274 37209 2025-12-16T19:11:23Z Εὐθυμένης 2777 37274 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[29 Τρυγομηνά]] | [[30 Τρυγομηνά]] | [[31 Τρυγομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''30 Τρυγομηνά''' εν 303ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 304ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 62 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[30 Σταυρί]] - [[30 Αεργί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] 64mtgm8mzq9yegzpygaelyhe8wtav8b 31 Τρυγομηνά 0 1097 37275 37212 2025-12-16T19:11:40Z Εὐθυμένης 2777 37275 wikitext text/x-wiki <div class="center">[[Αλωνάρτς]] | [[Σταυρίτες]] | '''[[Τρυγομηνάς]]''' | [[Αεργίτες]] | [[Χριστουγεννάρτς]]</div> <div class="center">[[30 Τρυγομηνά]] | [[31 Τρυγομηνά]] | [[1 Αεργί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|10}} '''31 Τρυγομηνά''' εν 304ον ημέρα τη χρονίας, ίστε λεει μας το [[Γρηγοριανόν ημερολόγιον]] (έν το 305ον ημέρα σο δίσεκτον τη χρονία). Επέμναν άλλα 61 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[31 Σταυρί]] - [[31 Αεργί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας]] b8k9o168x175di9r7y25ttz0th0zgqx Γρηγοριανόν ημερολόγιον 0 1098 35318 31485 2023-01-05T22:36:45Z Wolverène 4171 + 35318 wikitext text/x-wiki To '''Γρηγοριανόν Hμερολόγιον''', εν τ' ημερολόγιον τ' Δυτικού κόσμου. Εν μιαν παραλλαγήν τ' ιουλιανούν, και θεσπίστ' ασόν Πάπα [[Γρηγόριο ΙΓ']], ασόν ονομάζουντο, σα [[24 Κουντούρονος]] τ' [[1582]]. [[Κατηγορίαν:Ημερολόγιαν]] rp68sjrxalzf7o8l0z3aneb5ljy8nex Κάλαντα Πρωτοχρονίας 0 1099 32540 32539 2015-10-20T19:22:36Z Failstate14 5044 32540 wikitext text/x-wiki Τα '''κάλαντα τη Πρωτοχρονίας''' εν ευχητικά τραγωδίας ντο ψάλκουνταν κάθαν χρόνον, σην παραμονήν τη [[Πρωτοχρονία|Πρωτοχρονίας]]. Τα κάλαντα έχνε πολλά λοέν μορφάς (λ.χ. [[ποντιακά]], μωραΐτικα, κρητικά, κ.ου.κ.). == Κάλαντα == : Αρχή κάλαντα κι αρχή του χρόνου κι αρχή του χρόνου. : Πάντα κάλαντα, πάντα του χρόνου πάντα του χρόνου. : Αρχή μήλον εν κι αρχή κυδών εν κι αρχή κυδών εν : Κι αρχή βάλσαμον το μυριγμένον το μυριγμένον. : Εμυρίστεν ατό ο κόσμος όλον ο κόσμος όλον. : Για μύριστ ατό και εσύ αφέντα καλέμ αφέντα. : Λύσον την κεσέ σ και δος παράδας και δος παράδας. : Κι αν ανιοιείς μας χαράν σην πόρτας σ χαράν σην πόρτας σ. : Ευχές Χρόνια Πολλά, πάντα και του χρόνου Καλή χρονία και σ όλα τα σπίτ(ι)α υείαν κι ευλοίαν [[Κατηγορίαν:Θρησκείαν]] 7bp13wkq99920cmy9dvx8iav54sa8rq Βικιπαίδεια:Αδακά ψηφίζομεν για νοματάντς 4 1111 10266 2009-12-09T23:37:54Z ZaDiak 10 [[Βικιπαίδεια:Αδακά ψηφίζομεν για νοματάντς]] ετερχλαεύτεν σο [[Βικιπαίδεια:Εκλογήν]] 10266 wikitext text/x-wiki #REDIRECT [[Βικιπαίδεια:Εκλογήν]] 314xgsthpc89e0eep6m7mdvbnro5fdo Βικιπαίδεια:Αγορά/Αρχείον 2008 4 1113 35289 10276 2022-12-24T11:57:31Z Εὐθυμένης 2777 ([[c:GR|GR]]) [[File:Flag of Pontus.jpg]] → [[File:Flag of Pontus (2).svg]] 35289 wikitext text/x-wiki __NEWSECTIONLINK__ <ul><li>'''pnt:''' {| class="plainlinks" width="50%" align="center" border="0" cellpadding="2" cellspacing="2" style="margin-bottom:0.5em; background:#FFF; font-size:1.2em; text-align:center;" | [{{fullurl:Wp/pnt/Βικιπαίδεια/Αγορά|action=edit&section=new}} Αρχινέστε γράψιμον σην αγοράν<br>Arhineste ğrapsimon sin ağoran] |} {| align="right" style="background:#FFF5EE; margin:0 0 0.5em 1em;" id="toc" width="220px" |- |colspan="2" align="center" | [[Image:Diogenes looking for a man - attributed to JHW Tischbein.jpg|center|200px]] |- |colspan="2" align="center" | <big>'''Αγορά'''</big><br /> ---- |- |style="background:#EEDFCC;" colspan="2" align="center"| '''Χρήσιμα''' |- |colspan="2" align="center"| '''[[Βικιπαίδεια:Αδακά ψηφίζομεν για νοματάντς|Αδακά ψηφίζομεν για νοματάντς και γιαρίφς]]'''<br /> [[Αρχικόν σελίδα|Αρχικόν σελίδαν]]<br /> [[Βικιπαίδεια|Βικιπαίδεια]]<br /> [[Βικιπαίδεια/Ντο εν η Βικιπαίδεια|Ντο εν η Βικιπαίδεια]]<br />[[Βικιπαίδεια/Ντο 'κ εν η Βικιπαίδεια|Ντο 'κ εν η Βικιπαίδεια]] <br /> [[Βικιπαίδεια/Βοήθεια|Βοήθεια]] <br /> [[Βικιπαίδεια/Δικαιώματα πνευματί|Δικαιώματα πνευματί]]<br />[irc://irc.freenode.net/wikipedia-pnt Παρακάθ σο IRC] |} <div style="background:#EEDFCC; text-align:left; margin:0px; padding:3px;"> <span style="font-size:bigger;">'''Χαιρετίας και καλωσόρεμαν σ' όλεα τα Βικιπαιδία!'''</span> </div> <div style="background:#FFF5EE; padding:2px; margin-top:2px;"> Οι παλιοίεμουν σ' αρχαίον τ' ελλενικόν την γλώσσαν έλεγαν «αγοράν» τον τόπον που εποίνανε τα μουχαμπέτε και τα καλατσίασατουν. Αέτς πα, όλ εμείστουν θα καλατσέβουμε αδά σην αγοράνεμουν. Σον αρχαίον την αγοράν ο Διογένες ο Σινωπέας αραεύκουτον τ' ανθρώπ'ς (εικόνα). Εμείστουν αδά πα θα ευρίσκουμ' ατείντζ. Αρχινέστε γράψιμον [{{fullurl:{{FULLPAGENAME}}|action=edit&section=new}} αφκά καικά] και βαλέστε την '''υπογραφήνεσουν''': <nowiki>~~~~</nowiki>. </div> </li> <li>'''en:''' Requests for the [[m:bot|bot]] flag should be made on this page. This wiki uses the [[m:bot policy|standard bot policy]], and allows [[m:bot policy#Global_bots|global bots]] and [[m:bot policy#Automatic_approval|automatic approval of certain types of bots]]. Other bots should apply below.</li> </ul> <hr size="5px" noshadow> == τεστ == το γάιδαρον όντες τιρτεύς, ακούς και την πορδήνατ'. --[[User:Sinopeus|Sinopeus]] 15:22, 7 March 2008 (UTC) == τεστ2 == τον sinopeus όντες τιρτεύς, ακούς και την γαρήνατ'. --[[User:Sinopeus|Sinopeus]] 15:24, 7 March 2008 (UTC) == Εξαιρετικα == Πολύ όμορφο το ντιζάιν μας έτσι με το καλό;) --[[User:Consta|Consta]] 17:29, 7 March 2008 (UTC) Το ρωμαίικο interface βρίσκεται [http://translatewiki.net/wiki/Special:Translate?task=untranslated&group=core-mostused&limit=2000&language=pnt εδώ] για όποιον Έλλην ή Ρωμιό(Πόντιο) θα επιθυμούσε να βοηθήσει. Έχουμε ανάγκη για βοήθεια όποιοι χρήστες είναι διαθέσιμοι ας το δηλώσουν εδώ--[[User:Consta|Consta]] 17:47, 7 March 2008 (UTC) ==IRC== Με χαρά ανακοινώνω ότι η Ποντιακή Βικιπαίδεια απέκτησε το δικό της κανάλι για συζήτηση στο [irc://irc.freenode.net/wikipedia-pnt IRC] --[[User:Consta|Consta]] 16:38, 10 March 2008 (UTC) == Interface == Ερχίνεσα κι εφτάγω [http://translatewiki.net/wiki/Special:Translate?task=untranslated&group=core-mostused&limit=2000&language=pnt κι άλλα μεταφράσεις]. Εάν ευρίκετε μεταφράσεις ντο 'κ είναι σωστά κι αν έχετε σον νούνεσουν τα σωστά, να λέγετε με. Ή ποίστεν το κι άλλο καλλίον. Ατό πα [[Wiki|Wiki]] εν. ;-) --[[User:Sinopeus|Sinopeus]] 13:58, 11 April 2008 (UTC) == Ποντέικα == Μου άρεσε έτσι όπως τεκμηρίωσες την άποψη σου. Ομολογώ όμως ότι έχω κάποιες ''αντιρρήσεις-αμφιβολίες'' πάνω στο θέμα. Καταρχήν διαφωνώ ή μάλλον αμφιβάλλω για το τι ονομάζουμε γλώσσα και τι διάλεκτο. Γλώσσα ονομάζουμε (όπως το καταλαβαίνω εγώ τουλάχιστον), έναν ανεξάρτητο σύνολο προφορικής/γραπτής ομιλίας-έκφρασης που διαφέρει από κάποιον άλλο στην γραμματική, στο συντακτικό και στο λεξιλόγιο και δεν γίνεται αντιληπτό από άλλους που δεν την γνωρίζουν, πολύ χοντρικά. Διάλεκτος νομίζω ότι είναι μια παραλλαγή της κοινής γλώσσας π.χ. κρητική, κυπριακή διάλεκτος, οι οποίες γίνονται αντιληπτές από τους ομιλούντες και των δυο και επιπλέον είναι αρκετά κατανοητές και από ομιλητές που έχουν σαν μητρική τους την κοινή και η διαφορά τους συνοψίζεται σε κάποιες λέξεις και στην προφορά. Τι συμβαίνει όμως όταν μια διάλεκτος αποξενώνεται για διάφορους λόγους από την κοινή, και εμφανίζει τεράστιες αποκλίσεις; Για παράδειγμα τα ποντιακά που δεν είναι αντιληπτά από ομιλητές ούτε των Κρητικών, ούτε των Κυπριακών, αλλά ούτε και της κοινής ή με μεγάλη δυσκολία; Άραγε η ποντιακή που σε ποσοστό 90% και πάνω, διαφέρει από την νεοελληνική και η ομοιότητα της στηρίζεται σε κάποιες ομόριζες λέξεις, μπορεί να θεωρείτε πια διάλεκτος; Ένα παρόμοιο παράδειγμα είναι η Αγγλική γλώσσα με την Γερμανική που μετά από μεγάλο χρονικό διάστημα άρχισαν να παρουσιάζουν αποκλίσεις μεταξύ τους, δημιουργώντας με το πέρασμα χιλιετιών δυο διαφορετικές γλώσσες. Για μένα η ποντιακή λίγο πολύ είναι γλώσσα γιατί είναι αντιληπτή σχεδόν μόνο από τους Ποντιόφωνους. Και την συνδέουμε με την νεοελληνική εκτός από τις λέξεις και με τους πρόσφυγες (κακώς). Ή μόνη αλήθεια είναι ότι οι πόντιοι μιλούν μια ελληνογενής γλώσσα (όπως και η [http://el.wikipedia.org/wiki/%CE%A4%CF%83%CE%B1%CE%BA%CF%89%CE%BD%CE%B9%CE%BA%CE%AE_%CE%B4%CE%B9%CE%AC%CE%BB%CE%B5%CE%BA%CF%84%CE%BF%CF%82 τσακωνική]) που τίνι να εκλήψει. Το καλύτερο πιστεύω είναι να βρούμε μια ονομασία μιας λέξης μόνο για εδώ, όμως πολύ σωστά θα κάνουμε και αυτό που λες να κρατήσουμε στην αρχική το Ποντέικα Ρωμαίικα . Τι λες; Κάτι σαν διπλή ονομασία; --[[User:Consta|Consta]] 15:33, 19 April 2008 (UTC) [[Image:Leonidio-Tsakonian-sign.jpg|thumb|right|300px|]] ΟΚ. Απ' ότι γνωρίζω στο θέμα διάλεκτος/γλώσσα σχετικά με την ποντιακή υπάρχουν και μεταξύ γλωσσολόγων διαφορετικές απόψεις. Ακόμη και ο Τοπχαράς υποστηρίζει στο βιβλίο του το 1932 ότι πρόκειται για γλώσσα, όχι για διάλεκτο. Για να είμαι ειλικρινής, για μένα δεν κάνει και μεγάλη διαφορά και ευχαρίστως τα δέχομαι και ως ελληνογενής γλώσσα. Ίσως θα μπορούσε να βοηθήσει κανένας ειδικός.<br> Προτείνεις ''«Κάτι σαν διπλή ονομασία»''. Δώσε ένα παράδειγμα, όλο και κάτι θα έχεις στο νου σου. :-) --[[User:Sinopeus|Sinopeus]] 11:03, 20 April 2008 (UTC) Ναι, πχ. εννοώ, η επίσημη ονομασία μας να είναι '''Ποντέικα''' (είσαι σίγουρος πως γράφετε έτσι και είναι γραμματικά σωστό;), και στην κύρια σελίδα μας μπορούμε να γράφουμε ρωμαίικα ποντέικα. Δηλαδή θα έχουμε ένα επίσημο όνομα για έξω '''Ποντείκα - Pontic''' (pnt) και κάτι σαν (χα χα) συνταγματικό όνομα, για το πως θα αυτοαποκαλούμαστε οι ίδιοι '''Pωμαίικα Ποντέικα''' (αν και σ' αυτό οφείλω να ομολογήσω ότι έχω μια ένσταση γιατί υπάρχουν σχεδόν 1 εκ. Ποντιόφωνοι στην Τουρκία οι οποίοι μαζί με τον ρατσισμό που υπάρχει εκεί με τους Τούρκους δεν νομίζω να αυτοαποκαλούνται Ρωμιοί=Rum=Έλληνες ωστόσο για την Ρωσία την Ουκρανία την Αμερική, δεν ξέρω). Τι λες εσύ συμφωνείς; --[[User:Consta|Consta]] 10:05, 21 April 2008 (UTC) Κώστα, πρέπει να τονίζω συνεχώς ότι δεν είμαι ειδικός στο θέμα. Ότι λεω δεν είναι παρά η προσωπική μου άποψη. Για να είμαι ειλικρινείς: το «ποντέικα» το υιοθέτησα από το βιβλίο του Τοπχαρά (βλ. [[Talk:Wp/pnt|συζήτηση εδώ]], πολύ καλό btw). Πριν δεν το είχα ακούσει και ούτε γνωρίζω κανέναν, να τα λεει έτσι. Με τον όρο ήλπιζα να κινήσω το ενδιαφέρον άλλων χρηστών, έστω για συζήτηση. ;-) Το google βγάζει μονάχα την αρχική μας σελίδα, οπότε δε θα με πείραζε, εάν το κάναμε «ποντιακά». Δεν πιστεύω ότι το «ποντέικα» είναι λάθος αλλά αφού δεν το χρησιμοποιεί κανείς, είπαμε. Ο σκοπός δεν μπορεί να είναι να χρησιμοποιούμε λέξεις που δεν χρησιμοποιεί κανένας άλλος. <br> Οι φίλοι μας Ποντιόφωνοι της Τουρκίας νιώθουν απ’ ότι γνωρίζω 1000% Τούρκοι και είναι πιστοί μωαμεθανοί. Τα ποντιακά όμως τα λένε με το όνομα που τους έμαθαν οι πρόγονοι τους: [http://www.ocena.info/leksiko/ romeika] ή και (περισσότερο επίσημα) [[:w:tr:Pontus Rumcası|pontus rumcası]]. Δες κι [http://www.ocena.info/glossa/index.htm αυτό το κειμενάκι] που έγραψε ένας Τούρκος για τα ποντιακά («''T'emetero ti glossa emis onemazum Romayika. Sin Ellada (so Yunanistani) leguna Pontiaka''.»). Γνωρίζω προσωπικά μια Τουρκάλα που μιλάει ποντιακά (βαριά αλλά χαριτωμένη τουρκική προφορά) και τα λεει «ρωμαϊγκα». Όσο για τους φίλους μας στη Ρωσία, σε [http://www.greek.ru/forum/forum65/topic9544/messages/ αυτό το φόρουμ] τουλάχιστον και αυτοί τα λένε «romeyka». Σε Αμερική, Γερμανία και όπουδήποτε μετανάστευσαν οι τ'εμετέρ ξεκινώντας από Ελλάδα, τα λένε «ποντιακά».<br> Συμφωνώ απόλυτα με την λύση σου (επίσημο όνομα για έξω «συνταγματικό όνομα» για εδώ). Πότε θα πρέπει να αποφασιστεί οριστικά; Θα ήθελα να μην το αποφασίσουμε μονάχα εμείς οι δυο. Αλήθεια, το Αστεράκι πού είναι; --[[User:Sinopeus|Sinopeus]] 14:02, 21 April 2008 (UTC) ΥΓ: πολύ ωραία η φωτογραφία. :-) Καλύτερα όσο το δυνατό γρηγορότερα πρέπει να αποφασιστεί, είναι τυπικό ζήτημα, αργότερα άμα θες σου δίνω και δυο σελίδες για να δεις. Στον Αστεράκι θα στείλω mail. --[[User:Consta|Consta]] 14:24, 21 April 2008 (UTC) :Αδακά είμαι και γω παιδάδες. Ντο να λέω. Τεμόν η γνώμ εν: ένα όνομα για όλα τα χρήσεις. *Τεμόν η γνωμ εν: '''Ποντιακά''' = «Pωμαίικα (δηλ. Ελληνικά) ασον Πόντο» (για τ’ατό και’χουμε τον κωδικόν: '''pnt''' δηλ. σα βαρβάρικα «Pontiaka») *Και αν θέλετε βάλτε στην αρχική μας σελίδα το '''Ποντιακά''' και απο κάτω ακριβώς, την ένδειξη «τα Pωμαίικα τη Πόντου»,: <div align="center" style="font-size:17pt; line-height:1em;">Η Βικιπαίδεια σα</div> <div align="center" style="font-size:35pt; line-height:1em;">Ποντιακά</div> <div align="center" style="font-size:14pt; line-height:1em;">«τα Pωμαίικα τη Πόντου»</div> : <div align="center" style="font-size:12pt; line-height:1,3em;">Ανοιχτόν εγκυκλοπαίδεια ντο γράφκεται και τρανείν απ' ατείντς π' θέλνε. --[[User:Asteraki|Asteraki]] 15:48, 22 April 2008 (UTC)</div> Καλό κι αυτό, μου αρέσει. Περιέχει και τις δυο τις ονομασίες, όπως το θέλουμε. Έχω μικρή αντίρρηση σχετικά με την γενική πτώση («Πόντου») που είναι η νεοελληνική. Ξέρω, πολλοί την χρησιμοποιούν, αλλά πρόκειται για επιρροή της νεοελληνικής. Στηρίζομαι σε διάφορα βιβλία που έχω (βλ. και το άρθρο [[Ουσιαστικόν|Ουσιαστικόν]]). Αυτά ορίζουν για ουσιαστικά αρσενικού γένους που δέν τονίζονται στη λίγουσα (''Πόντος, κόσμος, διάσκαλος'') ως κατάληξη της γενικής την ''-ονος'' (''Πόντονος, κόσμονος, διάσκαλονος''). Όταν τονίζεται η λίγουσα (πχ ''αριθμός'') η πτώση γενική αντιστοιχεί στην νεοελληνική (''αριθμού''). Εδώ δηλαδή '''«τα Pωμαίικα τη Πόντονος»'''. Κατά τ' άλλα για μένα η πρόταση είναι ΟΚ. Ο [[User:Consta|Σελανικλής]] ντο λεει; --[[User:Sinopeus|Sinopeus]] 21:47, 22 April 2008 (UTC) :Δίκιο έχεις, «τα Pωμαίικα τη Πόντονος»... Ήταν λάθος μου, συγνώμη. Πάντως χάρηκα που συμφώνησες. --[[User:Asteraki|Asteraki]] 23:57, 22 April 2008 (UTC) :Δύο σχόλια θα κάνω. Μου αρέσει πολύ (αν σίγουρα είναι και γραμματικά σωστό) το '''«τα Pωμαίικα τη Πόντονος»''' σαν συνταγματικό μας όνομα εδώ, το εγκρίνω. Το άλλο όνομα όμως, δηλαδή το επίσημο για έξω δεν κατάλαβα ποιο θέλετε, το '''Ρωμαίικα''' που οι περισσότεροι ποντιόφωνοι του εξωτερικού τα λένε έτσι ή τα '''Ποντιακά'''. Σκέφτηκα ότι μπορούμε να κάνουμε αν συμφωνείτε '''Ρωμαίικα (Ποντιακά)''' έτσι όλο μαζί (υπάρχει και σε άλλες γλώσσες σαν πολιτική). Ντο λέτε; --[[User:Consta|Consta]] 10:32, 23 April 2008 (UTC) ::Δεν έχω αντιρρήσεις, και τα δυο ονόματα χρησιμοποιούνται. Θα λεει δηλαδή στα ιντερβίκια '''Ρωμαίικα (Ποντιακά)'''; Εάν το δεχτούν (αφού ''υπάρχει και σε άλλες γλώσσες σαν πολιτική''), ΟΚ. --[[User:Sinopeus|Sinopeus]] 13:10, 23 April 2008 (UTC) === Διεθνή ονομασία === Κατα την ταπεινή μου γνώμη, για το επίσημο όνομα για έξω, δηλ. την Διεθνή ονομασία, προτείνω από το «''Η Βικιπαίδεια σα <big>Ποντιακά</big>»''» το σκέτο (και χωρίς παρενθέση, που υποδηλώνει σύγχηση): <big>'''Ποντιακά'''</big>. Γιατί υπάρχουν σχεδόν 5 εκ. Ποντιόφωνοι Παγκοσμίως που έτσι την ονομάζουν και έτσι την ξέρουνε την γλώσσα. --[[User:Asteraki|Asteraki]] 03:34, 24 April 2008 (UTC) :Καταλαβαίνω τη θέση σου. Εγώ συνεχίζω να αμφιβάλλω εάν πραγματικά συμφωνίσει το language subcommittee στην διπλή ονομασία '''Ρωμαίικα (Ποντιακά)'''. Για να είμαι ειλικρινείς, αμφιβάλλω. Παντως ''αν τυχόν και επιμείνουν σε μια ονομασία'', υποστηρίζω κι εγώ το '''ποντιακά'''. Θεωρώ το '''ρωμαίικα''' ιστορικά σωστό, αλλά τί να το κάνουμε, αφού στην Ελλάδα δεν τα λεει κανείς έτσι; Άσε που και ο ''κωδικός γλώσσας ISO 639-3'' είναι '''pnt''', που σημαίνει ότι εάν κάποτε εγκριθεί ποντιακή Βικι, θα μετακινηθεί στο ''pnt.wikipedia.org''. Επίσης και στο ''ethnologue.com'' λέγεται μόνο ''pontic''. --[[User:Sinopeus|Sinopeus]] 07:24, 24 April 2008 (UTC) :Τώρα κατάλαβα τι εννωούσε ο Κώστας: δες π.χ. τα interwiki-links για τα νορβηγικά: ‪'''Norsk (nynorsk)''' και ‪'''Norsk (bokmål)'''. --[[User:Sinopeus|Sinopeus]] 10:10, 24 April 2008 (UTC) ::Τα γνωρίζω ήδη. Ich bin wikisüchtig seit 5 jahre. Ευχαριστώ. --[[User:Asteraki|Asteraki]] 14:39, 24 April 2008 (UTC) :::Oh, OK. Sorry. Εγώ δεν τα είχα προσέξει ποτέ. :-) --[[User:Sinopeus|Sinopeus]] 22:56, 24 April 2008 (UTC) Ο Κώστας με παρακάλεσε να γράψω κι εγώ την τελική μου άποψη πάνω στο θέμα. Λοιπόν: Εφόσον δεχτούν από το LangCom (αυτοί νομίζω εγκρίνουν ή και όχι) διπλή ονομασία του είδους «ρωμαίικα (ποντιακά)» ή το αντίστροφο, υποστιρίζω αυτήν. Εάν θα πρέπει τελικά να διαλέξουμε ''μια'' ονομασία, υποστηρίζω το «ποντιακά». Κώστα (εσύ που ζεις και στην Ελλάδα), ίσως θα μπορούσαμε να ρωτήσουμε κανέναν ειδικό (καθηγητής πανεπιστημίου κλπ). Ξέρεις καμιά διεύθυνση στην οποία θα μπουρούσαμε να απευθυνθούμε; --[[User:Sinopeus|Sinopeus]] 11:47, 29 April 2008 (UTC) :Διαφωνώ κάθετα με την οποιαδήποτε διπλή ονομασία. Μια διπλή ονομασία, οποιασδήποτε μορφής, θα είναι μια άστοχη ενέργεια, που εκτός των άλλων θα μας χαλάει την καλή εικόνα που θέλουμε να παρουσιάσουμε και να στείλουμε προς τα έξω (εννοώ στην κοινότητα της Βίκι, στην κοινή γνώμη κ.ο.κ.) με την δημιουργία του εγχειρήματος της Ποντιακής Βίκι, για τους εξής απλούστατους λόγους, τ΄ότι θα είναι κακοαισθητική, αφού δεν θα χτυπάει και τόσο καλά στο μάτι, αλλά και θα δείχνει, ότι είμαστε ως ένα βαθμό μεν, ανοργάνοτοι και πολύ περισσότερο δε, μπερδεμένοι, ότι δηλ. δεν θα ξέρουμε, τι ακριβώς θέλουμε να κάνουμε... :Που μπορεί να έχει αρνητικές συνέπειες και μελλοντικά ίσως να οδηγήσει και σε μια απαξίωση του όλου εγχειρήματος. Πρέπει να το δούμε σφαιρικά, ψυχρά και ρεαλιστικά και μακριά απο ρομαντισμούς, γιατι αλλιώς δεν θα επιτύχουμε τον κοινό σκοπό μας. *Το «ποντιακά» είναι η παγκοσμίως αναγνωρισμένη ονομασία, απο πόντιους (με μια μικροεξαίρεση, αυτούς που κατοικούν στα κράτη της πρώην ΕΣΣΔ και στα εδάφη της σημερινής Β.Τουρκίας), μη πόντιους και τρίτους, όπως π.χ. τα διεθνή φόρα και οργανισμούς. *Το «τα Pωμαίικα τη Πόντονος» σαν συμπληρωματικό κάτω απο το <<Η Βικιπαίδεια σα Ποντιακά>> θεωρώ ότι είναι καλύτερο και υπεραρκετό ως αναφορά στην αρχική σελίδα. --[[User:Asteraki|Asteraki]] 21:45, 29 April 2008 (UTC) Λοιπόν, για αυτό το θέμα θα ξανά επαναλάβω ότι οι θέσεις μου ταυτίζονται με αυτές του Sinopeus πιστεύω στην διπλή ονομασία όσο αναφορά το interwiki. Αυτή είναι η θέση μου, και σε αυτήν βλέπω πολλά θετικά πχ ότι θα είναι μια οικουμενική προσπάθεια για όλους τους Πόντιους είτε τα λένε ποντιακά ή Ρωμαίικα, μ' αυτόν τον τρόπο θα τα αναγνωρίζουν με τη μία και θα τα νιώθουν πιο κοντά τους έστω και να είναι ένα εκατομμύριο (Ρωσία-Τουρκία και δεν νομίζω ότι είναι λίγοι). Ένα άλλο ζενίθ είναι ότι το ρωμαίικα προσδιορίζει τα ποντιακά δηλαδή όταν το ακούει κάποιος θα του έρχεται απευθείας στο μυαλό η ύπαρξή μιας ελληνογενής γλώσσα σε μια συγκεκριμένη περιοχή πχ. του Πόντου. Επίσης αν μου επιτρέπεται θα ήθελα να τροποποιήσω την πρόταση μου δηλαδή να αφαιρέσω την παρένθεση '''Ρωμαίικα (Ποντιακά)''' και να μείνει σκέτο '''Ρωμαίικα Ποντιακά''' (Ελληνικά Ποντιακά) δείτε [[:w:Pontic Greek|Pontic Greek]] ,δηλαδή με την παρένθεση αφήνει να ενοοιθή κάτι, ενώ χωρίς αυτή κάτι πιο ξεκάθαρο. Και επίσης να αναφέρω ότι εφαρμόζεται αυτή η πολιτική δείτε την βίκι '''Bahasa Indonesia'''. Οστόσο συζητώ λίγο ακόμη. --[[User:Consta|Consta]] 18:02, 30 April 2008 (UTC) == Προσωρινός διαχειριστής == Παίδες, βλέποντας την ανάπτυξη του project τις τελευταίες εβδομάδες, σκέφτομαι (κατόπιν πρότασης του Consta) να κάνω την αίτηση για test-adminship. Περάσαμε άνετα τα 50 άρθρα και αρκετά πλέον δεν είναι μονάχα άρθρα μιας σειράς. Κύριο κίνητρο μου για την αίτηση είναι να μπορώ να σβήνω ο ίδιος λανθασμένα redirects (έχω κάνει αρκετά στο παρελθόν ;-). Βανδαλισμό μέχρι στιγμής ευτυχώς δεν είχαμε. Η αίτηση αυτή όμως έχει μόνο νόημα εάν συνεχίσουμε τις συνεισφορές μας εδώ (ας είναι λίγες, αλλά ''τακτικές''), και αναπτύξουμε το project. Εάν ο μόνος χρήστης με παραπάνω από 10 edits το μήνα παραμείνω [http://tools.wikimedia.de/~pathoschild/ls-testanalysis/?prefix=wp/pnt#list_editors εγώ] (τον Απρίλιο θα είναι ευτυχώς και ο Consta, ίσως και το Αστεράκι με λίγα edits ακόμα), δεν έχει νόημα. Δώστε λοιπόν τα ΟΚ σας και άντε να δούμε τι θα γίνει. ;-) --[[User:Sinopeus|Sinopeus]] 23:01, 22 April 2008 (UTC) :Συμφωνώ. '''ΟΚ'''. --[[User:Asteraki|Asteraki]] 23:57, 22 April 2008 (UTC) :Συμφωνώ. '''ΟΚ'''. --[[User:Consta|Consta]] 10:20, 23 April 2008 (UTC) ::[[Incubator:Administrators#Requests for permissions|Έκανα την αίτηση]]. Αν κατάλαβα σωστά, δεν χρειάζεται να ψηφίσετε. Απλά δίνεται για πέντε μέρες η ευκαιρία σε όποιον δει λόγο να προβάλλει αντιρρήσεις. Μετά η αίτηση εγκρίνεται (ή και όχι :-). --[[User:Sinopeus|Sinopeus]] 23:44, 23 April 2008 (UTC) Εμφανίστηκε στα κουμπάκια μου ένα καινούριο: το «σβήσον». --[[User:Sinopeus|Sinopeus]] 16:35, 28 April 2008 (UTC) Στις αρχές Δεκέμβρη, ύστερα από παρότρυνση του ZaDiak και λόγω τ΄ότι δε μπορούσα να επικοινωνήσω με τον [[User:Sinopeus|Σινωπέα]] που εκείνο το διάστημα ήταν ανενεργός, έθεσα επίσης υποψηφιότητα για test-adminship. Η υποψηφιότητα εγκρίθηκε και από τις 8 Δεκέμβρη είμαι επίσης [[Special:ListUsers/test-sysop|προσωρινός διαχειριστής]] της δοκιμαστικής Ποντιακής Βικιπαίδειας. ;) --[[User:Makedonier|Μακεδόνας]] 12:31, 28 December 2008 (UTC) == Αρχικον σελίδα == [[Wp/pnt|Είδ' ατεν]]. Χαίρομαι ιδιέτερα που έχουμε ομοφονία ('''Η Βικιπαίδεια σα <big>Ποντιακά</big>''' - «'''τα Pωμαίικα τη Πόντονος'''»). Ξέρετε ([[User:Sinopeus|Ηλία]] και [[User:Consta|Κωνσταντίνε]]), υπάρχει ένα παλαιό ρητό που λέει πως "Η ενότητα εκφράζεται με ομοφονία"... Αυτό τα λέει όλα..., γιατι δείχνει ότι ξέρουμε πιοι είμαστε και τι θέλουμε. '''@Συνάντηση''' *Αν γίνεται και μπορείτε και οι δυο σας, να είστε σήμερα στην αγορά, στις 17:00 η ώρα Ελλάδος (16:00 η ώρα Γερμανίας) ή αν δεν μπορείτε και δεν σας βολεύει χρονικά, τότε σας παρακαλώ να προτείνετε εσεις δυο άλλες ημερομηνίες (το συντομότερο, λ.χ. αύριο), για κοινή και ταυτόχρονη συνάντηση μας στην αγορά. Καλημέρα σας. --[[User:Asteraki|Asteraki]] 03:34, 24 April 2008 (UTC) :Θα προσπαθήσω να είμαι εδώ. --[[User:Sinopeus|Sinopeus]] 07:09, 24 April 2008 (UTC) :ΥΓ: Αστερακι μετακίνησα το ''@Διεθνή ονομασία'' κάτω από τον τίτλο ''Ποντέικα'', όπου ήδη υπάρχει συζήτηση για την ονομασία. Απλά για να μην μπερδευόμαστε στις συζητήσεις μας. :-) Εγώ μπορώ να είμαι μέσα στο IRC, μπορώ όμως και νωρίτερα όπως 15:20 ώρα Ελλάδος. Υ.Γ. Για την επίσημη εξωτερική μας ονομασία έχω κάποιες αμφιβολίες βλέπετε οι 500.000 ποντιόφωνοι της Ρωσίας τα λένε Ρωμαίικα και όλο το ανατολικό μπλοκ και αλλού. --[[User:Consta|Consta]] 12:15, 24 April 2008 (UTC) ΟΚ--[[User:Consta|Consta]] 14:34, 24 April 2008 (UTC) Ελάτε είμαι μέσα στην αγορά (ώρα Ελλάδος 17:05) --[[User:Consta|Consta]] 14:06, 24 April 2008 (UTC) Γειά σας κύριοι. Εγώ δεν μπορώ να είμαι μέσα στο IRC, έχω Mozzila Firefox και δεν το ανοίγει. Γι' αυτό και προτείνω να μπούμε σ' αυτήν [http://chat.icq.com/icqchat/chatroom.php?c_id=36 εδώ] τη σελίδα. Και να δηλωθούμε με το όνομα μας απο τη βικιπαιδία, όπως λεγόμαστε..., λ.χ. Sinopeus, Consta, Asteraki. Και μετά να μπούμε στο Chat Room, με την ονομασία #Greece. Τι λέτε; --[[User:Asteraki|Asteraki]] 14:12, 24 April 2008 (UTC) == Καλό Πάσχα == Χριστός Ανέστη και Χρόνια Πολλά σε σας και τις οικογένειες σας κ. [[User:Sinopeus|Ηλία]] και κ. [[User:Consta|Κωνσταντίνε]]. Χερετισμούς Άκης. --[[User:Asteraki|Asteraki]] 09:22, 27 April 2008 (UTC) Άκη, ευχαριστώ. Χρηστός ανέστη και χρόνια πολλά σε όλους σας. Καλά να ειστουν ούλ. --[[User:Sinopeus|Sinopeus]] 10:40, 28 April 2008 (UTC) Ευχαριστώ και εγώ. Χρηστός ανέστη και χρόνια πολλά σε όλους σας.--[[User:Consta|Consta]] 11:37, 28 April 2008 (UTC) == Ημερολόγιο == Έρθεν ο καιρόν να εφτάμε και '''τα ημέρας''': Φίλοι, έκανα ένα πρώτο σχέδιο για τα άρθρα ημερών (εισαγωγικό κείμενο, τίτλοι τμημάτων κλπ). Ρίξτε το μια ματιά και πέστε τις απόψεις σας στην σελίδα συζήτησης της συγκεκριμένης μέρας ([[14 Σταυρί|14 τη Σταυρίτε]]). Προτάσεις για αλλαγές είναι (όπως πάντα) ευπρόσδεκτες. --[[User:Sinopeus|Sinopeus]] 12:01, 30 April 2008 (UTC). == Σημαία λογότυπο == Πήρα μέρος σε διάφορα [http://www.osepe.de/ πανευρωπαϊκά ποντιακά φεστιβάλ] και ποτέ δεν συνάντησα την σημαία του Αυτόνοµου Πόντου: [[Image:Flag of Pontus (2).svg|30px]] (η Ελλάδα την αναγνώρισε ποτέ επίσημα;). Οι ποντιακοί συλλόγοι έχουν συνήθως (εφόσον έχουμε ανάγκη σύμβολα και σημαίες) λάβαρα με παραλλαγές του αυ­τοκρατορικού δικέφαλου αετού, σε [http://www.oraman.eu/web/images/stories/enimeronoyme/genoktonia1.jpg μορφή µονοκέφαλου], βλέπε και [http://img.blogcu.com/uploads/besik_Pontos4-1.jpg εδώ] (στο βάθος). Αφού λοιπόν δεν την χρησιμοποιούν οι ποντιακής καταγωγής χριστιανοί Έλληνες, εμείς γιατί να την κάνουμε λογότυπό τη Βικιπαίδειας εμούν; Να τονίσω επίσης ότι κατά την ταπεινή μου άποψη δεν χρειζόμαστε σημαίες, αλλά άρθρα. ;-) --[[User:Sinopeus|Sinopeus]] 12:48, 23 May 2008 (UTC). Καταρχήν χαιρετίσματα έχουμε πολύ καρό να τα πούμε (βλέπεις έχουμε και εξετάσεις σε λίγο καιρό στο πανεπιστήμιο). Ναι πράγματι από όσο γνωρίζω αυτή η σημαία υπήρχε (από κάποια ντοκουμέντα που υπάρχουν και σαν φωτογραφία ασπρόμαυρη). Εγώ πήρα την έγχρωμη από [http://clubs.pathfinder.gr/kynaigeiros2/295161?zoom=13&album=96882 εδώ]. Επίσης γνωρίζω πως αυτή η σημαία ήταν σε χρήση κάποτε γύρο στο 1917-1919 (μικρό διάστημα) σίγουρα δεν είναι αναγνωρισμένη από την Ελλάδα, μετά την αποχώρηση τον ρώσικων στρατευμάτων και την παραχώρηση της εξουσίας σε έναν μητροπολίτη (μου διαφεύγει το όνομα). Τώρα τι να σου πω, για τα ποντιακά σωματεία υπάρχουν πολλά με διάφορες παραλλαγές του δικέφαλου αετού κρατούν την βασική ιδέα που δεν αμφισβητήται στην σημαία δηλαδή ο δικέφαλος ή μονοκέφαλος αετός ανάλογα με τον τόπο καταγωγής του πόντου, και τα υπόλοιπα κόκκινα κίτρινα γαλάζια φόντα είναι αυτοσχεδιασμοί, και σχηματικά λέω ότι από κάποιες ποντιακές ρίζες που έχω εγώ αύριο-μεθαύριο μπορεί να έφτιαχνα ένα δικό μου ποντιακό σωματείο και εκεί θα αυτοσχεδίαζα εγώ μια δικιά μου σημαία. Καταλήγω ότι για μένα εδώ η χρήση μιας οποιαδήποτε σημαίας είναι καθαρά συμβολική αν θες φτιάξε και συ μια δικιά σου σημαία και ανέβασε την για να συζητήσουμε πάνω σε αυτήν. Πάντως αυτή είναι η επίσημη σημαία του τότε νεοσύστατου κράτους (3-4 χρόνια), και προτείνω και για συναισθηματικούς λόγους να την κρατήσουμε αν συμφωνείς. Επίσης όσον αναφορά την ευρύτερη χρήση της σημαίας στην βικιπαίδεια δες πχ την γκαγκαούζικη βικιπαίδεια [http://incubator.wikimedia.org/wiki/Wp/gag εδώ] δες και στην σελίδα χρήστη μου πόσες άλλες βικιπαίδειες με σημαίες υπάρχουν, και φυσικά προέχει η δημιουργία άρθρων όμως χρειαζόμαστε ένα έμβλημα, ένα θυρεό να μας στολίζει τουλάχιστον εθιμοτυπικά, δεν επιθυμώ να έχουμε τα ίδια προβλήματα που είχαμε στο να πάρουμε μια απόφαση για το όνομα. Ο Αστεράκι τι κάνει δεν τον είδα να εμφανίζεται καθόλου; --[[User:Consta|Consta]] 14:47, 27 May 2008 (UTC) :Πράγματι, ψιλοχαθήκαμε φίλε Κώστα. ;-) Τι να πω ρε παιδιά. Αφού θέλετε σημαία ας την έχετε. Κάτι μου λεει ότι και στο Αστεράκι θα αρέσει η πρότασή σου (όπου και να βρίσκεται αυτή τη στιγμή). ;-) Σε καμία περίπτωση όμως να αυτοσχεδιάσουμε δική μας σημαία! Να χρησιμοποιήσουμε κάτι που πραγματικά υπήρξε! Αφού λοιπόν η σημαία του Αυτόνομου Πόντου είναι ιστορική και χρησιμοποιήθηκε το 1917-1919 που λες, εντάξει. Προσωπικά θα προτιμούσα κάτι που χρησιμοποιήθηκε για περισσότερο χρόνο (εφόσον φυσικά υπάρχει κάτι τέτοιο). Το αφήνουμε όπως είναι και αν κάποτε κανείς ανοίξει ξανά το θέμα και κάνει νέα πρόταση, το ξανασυζητάμε. Καλή επιτυχία στις εξετάσεις σου. :-) --[[User:Sinopeus|Sinopeus]] 06:16, 28 May 2008 (UTC) Σε ευχαριστώ πολύ τα λέμε! --[[User:Consta|Consta]] 10:31, 28 May 2008 (UTC) == Λεχτικόν για τα καινούρεα == Οσήμερον εποίκα γράψιμον για την [[BMW Isetta|BMW Isetta]]. :-) Σ' αήκα άρθρα χρειάσκουνταν και λέξεις ντο 'κ έχομε σα ρωμαίικα τη παλαιώνεμουν. Ντο εν η BMW Isetta? *αραπάν; (ποντιακόν λέξη = κάρο, όχημα) *αυτοκίνητον; (ελλενικόν λέξη) *οτομομπίλι; (διεθνικόν λέξη ντ' εξέβεν ασ' ελλενικά και λατινικά και λέει ατέν όλεν ο κόσμον) Ογώ «αραπάν» είπατεναν, άμα εθαρρώ ντ' επρέπ' ν' εφτάμε έναν σελίδαν [[Βικιπαίδεια:Νέον Λεχτικόν]], άμον ντ' εποίκαν σ' αρχαίον τη Βικιπαίδειαν ([[:incubator:Wp/grc/Βικιπαιδεία:Ἀγορά/Λόγιοι Ἑλληνικοὶ ὅροι περὶ συγχρόνων ἐννοιῶν|Ἀρχαῖοι Ἑλληνικοὶ ὅροι περὶ συγχρόνων ἐννοιῶν]]). Ντό λέτε; --[[User:Sinopeus|Sinopeus]] 13:46, 16 September 2008 (UTC) :Ουσιαστικά δεν είμαι μέρος της κοινότητας αλλά αν θα θέλατε, θέλω να πω τη γνώμη μου. Προτείνω να γίνει αυτή η σελίδα που λες, αλλά αφού δημιουργηθεί η ΒΠ θα ήταν μια πολυ καλή λύση να επιδιώξετε να δημιουργήσετε κι ένα Βικιλεξικό (με τον καιρό με λίγη δουλειά που και που πρώτον στο test project και δεύτερον στο Betawiki).--[[User:ZaDiak|ZaDiak]] 14:06, 16 September 2008 (UTC) == Ντο λέγνε σα σα μπλόγκαι == Ερχίνεσαν και γράφνε για την Βικιπαίδειανεμουν. :-) *[http://taxalia.blogspot.com/2008/09/wikipedia.html] *[http://troktiko.blogspot.com/2008/09/blog-post_2792.html] *[http://eptalofos.madblog.gr/note/3836/Η-ΒΙΚΙΠΑΙΔΕΙΑ-ΣΑ-ΠΟΝΤΙΑΚΑ.html] --[[User:Sinopeus|Sinopeus]] 11:22, 18 September 2008 (UTC) [[Category:wp/pnt|Βικιπαίδεια/Αγορά]] Μιά πρόταση στούς συντάκτες.Πρέπει να βρεθεί ενας τρόπος να αποδοθεί ορθογραφικά η δασύτητα ορισμένων συμφώνων οπως του χ στη λέξη "χέρ'" ή του σ στι λέξη "πισία",για να μην χαθεί με τον καιρό ο αρχαιότατος αυτός τρόπος προφοράς.Προτείνω να μπαιίνει ενας τόνος στο αντίστοιχο σύμφωνο π.χ. "χ'έρ" Κατά τα άλλα ενα μεγάλο μπράβο! Λουκίδης Αλέξης Μιά πρόταση στούς συντάκτες.Πρέπει να βρεθεί ενας τρόπος να αποδοθεί ορθογραφικά η δασύτητα ορισμένων συμφώνων οπως του χ στη λέξη "χέρ'" ή του σ στι λέξη "πισία",για να μην χαθεί με τον καιρό ο αρχαιότατος αυτός τρόπος προφοράς.Προτείνω να μπαιίνει ενας τόνος στο αντίστοιχο σύμφωνο π.χ. "χ'έρ" Κατά τα άλλα ενα μεγάλο μπράβο! Λουκίδης Αλέξης == Μιά πρόταση == Μιά πρόταση στούς συντάκτες.Πρέπει να βρεθεί ενας τρόπος να αποδοθεί ορθογραφικά η δασύτητα ορισμένων συμφώνων οπως του χ στη λέξη "χέρ'" ή του σ στι λέξη "πισία",για να μην χαθεί με τον καιρό ο αρχαιότατος αυτός τρόπος προφοράς.Προτείνω να μπαιίνει ενας τόνος στο αντίστοιχο σύμφωνο π.χ. "χ'έρ" Κατά τα άλλα ενα μεγάλο μπράβο! {{unsigned|Alexiosgreek}} :Αλέξιε, καλώς έρθες σην Βικιπαίδιανεμουν! :-) Κατά την άποψη μου έχεις απόλυτο δίκιο. Η ιδέα με τους τόνους είναι καλή, ίσως όμως μπερδέψει ο αναγώστης τον τόνο αυτό με την απόστροφο, που χρησιμοποιείται επίσης αρκετά συχνά στα ποντιακά. Ο Τοπχαράς δημιούργησε το 1928 για τον λόγο αυτό το φωνητικό αλφάβητο (βλ. [[Ποντιακόν λαλίαν#Αλφάβητον]]). Το χέρι για παράδειγμα το έγραφε ςςερι. Παντώς πρέπει να βρεθεί μια λύση για την σωστή απόδωση της ποντιακής, το αλφάβητο που χρησιμοποιούμε για την νεοελληνική δεν καλύπτει διάφορα φωνήματα της ποντιακής, όπως πολύ σωστά παρατήρησες. Ας συζητήσουμε (όλοι) διάφορα «μοντέλα» και να συμφωνήσουμε σε ένα, το οποίο θα ακολουθούμε στο εξής.<br> :Κάτι άλλο: Σε παρακαλώ να υπογράφεις τα μηνύματά σου γράφοντας ~&#126;~~ ή πατώντας το κουμπί της υπογραφής ([[Image:Button sig.png]]) για να ξέρουμε ποιός γράφει. :-) Φιλικά, --[[User:Sinopeus|Sinopeus]] 15:29, 13 December 2008 (UTC) :ΥΓ: Η τροποποίηση του αλφάβητου σε βικιπαίδεια διαλέκτου είναι πλέον συνηθισμένο φαινόμενο. Στην [[w:bar:Hauptseitn|βαυαρική βικιπαίδεια]] πχ χρησιμοποιούνται γράμματα που δεν υπάρχουν στην γερμανική γλώσσα (πχ å, ô, é, à). Οι χρήστες της συμφώνησαν και κατέγραψαν διάφορους κανόνες της «ορθογραφίας» της [[w:bar:Wikipedia:Boarische Umschrift|εδώ]]. Κάτι τέτοιο προτείνω να κάνουμε ενδεχομένως κι εμείς. --[[User:Sinopeus|Sinopeus]] 16:40, 13 December 2008 (UTC) Έγραψα ένα αρθράκι για τα πισία χρησιμοποιώντας το τελικό ς ως sh (IPA [ʃ]). Προτείνω [[πιςία|πιςία]] ή πιςςία. Ντο λέτε; --[[User:Sinopeus|Sinopeus]] 15:50, 14 December 2008 (UTC) :: [[Image:Yes_check.svg|20px| ]] {{{1|'''Αραέτς ντο επίκες, εν καλλίον ασό άλλον'''}}}. :-) --[[User:Makedonier|Μακεδόνας]] 14:00, 26 December 2008 (UTC) Ερχίνεσα και γράφω έναν «οδηγίαν» για το ζήτημαν (τερέστεν: [[Βικιπαίδεια:Ποντιακόν γράψιμον|Βικιπαίδεια:ποντιακόν γράψιμον]]). Σο [[Talk:Βικιπαίδεια:Ποντιακόν γράψιμον|καλάτςεμαν τη οδηγίας]] επορούμε να λέγουμε ούλ' ντο νουνίζομε απάν σο θέμαν και ν'αλλάζουμ'ατέναν για να ίνεται η «οδηγίαν» κι άλλο καλόν. 'Κ επρέπ ο καθαείς να γράφ' άμον ντο λέει εκαικά. 'Κ εν νόμος, έναν βοήθειαν εν και μόνον. --[[User:Sinopeus|Sinopeus]] 23:43, 12 January 2009 (UTC) :Καιρός ήταν να ξεκινήσει μια προσπάθεια για “κανονικοποίηση” :) Την έχει ανάγκη το project τώρα που προβλέπεται να αποκτήσει νέους συμβάλλοντες γεμάτους απορίες για το ποιο σύστημα γραφἠς θα'ταν καλό να ακολουθείται για λόγους συνέπειας. Έχω ήδη κάποιες ιδέες που σύντομα θα καταθέσω ''ση σελίδαν καλατςεματί τη οδηγίας''. Για την διευκόλυνση μάλιστα των μη φυσικών ομιλητών (εμού συμπεριλαμβανομένου) θα πρέπει να δημιουργηθούν άρθρα που καλύπτουν σημαντικά κομμάτια της ποντιακής γραμματικής όπως τα επίθετα και τα ρήματα. Και τέλος για ακόμη μεγαλύτερη πληρότητα, ''εάν'' κατασταλάξουμε σε μια ορθογραφία, σκέφτομαι να αρχίσω δοκιμαστικά να προσθέτω ποντιακά λήμματα στο αγγλικό Βικιλεξικό, με ετυμολογίες, σημασίες και πλήρεις πίνακες καταλήξεων, έτσι ώστε να γίνει ακόμη πιο εύκολη η πρόσβαση του όποιου ενδιαφερόμενου σε τέτοιου είδους δεδομένα. <br>--[[User:Omnipaedista|Omnipaedista]] 12:00, 13 January 2009 (UTC) :Χμ.. και μάλλον πρέπει να γίνουν και αλλαγές στην localisation σε περίπτωση που δε συμφωνεί με τη νέα ορθογραφία. --[[User:Omnipaedista|Omnipaedista]] 12:09, 13 January 2009 (UTC) ::Όταν συμφωνίσουμε σε έναν τύπο, να γίνουν. Εγώ στην συγκεκριμένη σελίδα κάνω απλά προτάσεις και δεν ξέρω αν όλοι τις δεχτούν. Σημαντικό κατά τη γνώμη μου είναι να χρησιμοποιούμε γράμματα που ο κάθε χρήστης εύκολα μπορεί να βρει και να γράψει, να υπάρχουν δηλαδή στην ελληνική γραμματοσειρά (όπως πχ το ς/ςς για το φώνημα [ʃ]). Οι αλλαγές στην localisation γίνονται και εκ των υστέρων ή πρέπει να γίνουν οποσδήποτε πριν την δημιουργία της pnt.wiki; --[[User:Sinopeus|Sinopeus]] 12:26, 13 January 2009 (UTC) :::Δεν υπάρχει καμιά βιασύνη σε αυτό. Τα μηνύματα της interface (διεπαφής) είναι κατά μία έννοια ανεξάρτητα από το project και οι αλλαγές σε αυτά μπορούν να γίνουν οποτεδήποτε. Άλλος είναι ο λόγος για τον οποίο θα'ταν γενικά καλό να συμφωνήσουμε σε κάποια σύμβαση (''οποιαδήποτε'' και αν είναι αυτή). Στο αρχαίο wiki, πχ, δεν είχαν διευκρινιστεί εξαρχής κάποιες λεπτομέρειες του ορθογραφικού συστήματος και όταν τελικά καταλήξαμε κάπου, αφού είχαν δημιουργηθεί δεκάδες άρθρα, ήταν χρονοβόρο (και λίγο επίπονο) να γίνουν όλες οι προσαρμογές εκ των υστέρων. Αν υπάρξει συντονισμός, κάτι παρόμοιο θα μπορούσε να αποφευχθεί εδώ. --[[User:Omnipaedista|Omnipaedista]] 12:54, 13 January 2009 (UTC) ::::[[Talk:Βικιπαίδεια:Ποντιακόν γράψιμον|Δημοσίευσα]] τις προτάσεις μου. Όποιος θέλει σχολιάζει! --[[User:Omnipaedista|Omnipaedista]] 11:25, 16 January 2009 (UTC) 6k3mtegcp2bkmvx5ykkzpnhkzuuo0uo Ισαάκ Νιούτον 0 1115 37410 35594 2025-12-30T22:15:03Z Таёжный лес 10003 37410 wikitext text/x-wiki [[Αρχείον:GodfreyKneller-IsaacNewton-1689.jpg|right|200px|thumb|Ισαάκ Νιούτον]] Ο '''Ισαάκ Νιούτον''' (4 Καλανταρί 1643 – 31 Μαρτί 1727) έτον φυσικόν ασήν Αγγλίαν. Θεωρούν ατό πολλοί έναν τσιπ τρανόν ασ' άνθρωπ'ς. == Συνδέσμε == * [[Αρχείον:Wikiquote-logo.svg|link=https://el.wikiquote.org/wiki/Ισαάκ_Νεύτων?uselang=pnt|16x16px]] Βικιφθέγματα: [https://el.wikiquote.org/wiki/Ισαάκ_Νεύτων?uselang=pnt '''''Ισαάκ Νεύτων'''''] * [[Αρχείον:Commons-logo.svg|link=https://commons.wikimedia.org/wiki/Category:Isaac_Newton?uselang=pnt|18x18px]] Σα [[c:Αρχική σελίδα|Κοινά]] εσ υλικόν σχετικόν με [https://commons.wikimedia.org/wiki/Category:Isaac_Newton?uselang=pnt '''''Ισαάκ Νεύτων'''''] {{authority control}} [[Κατηγορίαν:Φυσικήν]] 4b5yzef7ef5o9djophoj7cebmb4mucn Κύπρος 0 1118 36316 36315 2025-09-04T20:13:34Z Xristis963 11827 Αναίρεση αναθεώρησης [[Special:Diff/36315|36315]] από τον [[Special:Contributions/Unknow240|Unknow240]] ([[User talk:Unknow240|Συζήτηση]]) 36316 wikitext text/x-wiki {{Πληροφορίας χώρας| |εθνικόν_όνεμαν= Κυπριακή Δημοκρατία <br />Kıbrıs Cumhuriyeti<br> |εθνικόν όνεμαν σα ποντιακά = Κυπριακή Δημοκρατία |κοινόν_όνεμαν= Κύπρος |σημαία = Flag of Cyprus.svg |σύμβολον = Coat of arms of Cyprus (old).svg |άρθρον συμβολατί = Σύμβολον τη Κύπρου |χάρτες= EU-Cyprus.svg |εθνικόν_σύνθημαν= Δεν Ξεχνώ και Αγωνίζομαι |εθνικόν_ύμνος= [[Ύμνος εις την ελευθερίαν|{{polytonic|Ὕμνος εἰς τὴν Ἐλευθερίαν}}]] |επίσημα_γλώσσας= [[Ελλενικόν λαλίαν|Ελλενικόν]], [[Τουρκικόν λαλίαν|Τουρκικόν]] |πρωτεύουσα και ασ' όλον τρανόν πολιτεία = [[Λευκωσίαν]] |πολίτευμαν= [[Προεδρικόν Δημοκρατία]] |τίτλοι_τ' ηγετίων = [[Πρόεδρον τη Δημοκρατίας|Πρόεδρον]] |ονόματα_τ' ηγετίων = [[Νίκος Αναστασιάδης]] |θέση_έκτασης= 167 |έκταση= 9.251 |ποσοστόν_νερού= Αμελητέον |εκτίμηση_πληθυσμού= 801.622<ref>{{cite web|url=http://epp.eurostat.ec.europa.eu/tgm/table.do?tab=table&language=en&pcode=tps00001&tableSelection=1&footnotes=yes&labeling=labels&plugin=1|title=Total population - At 1 January|publisher=Eurostat|accessdate=06-04-2009}}</ref> |χρονία_εκτίμησης_πληθυσμού= 2009 |πληθυσμός= 800.000 |θέση_πληθυσμού= 157 |χρονία_απογραφής_πληθυσμού= 2005 |πυκνότητα_πληθυσμού= 86,6 |θέση_πυκνότητας_πληθυσμού= 110 |τύπος_κυριαρχίας= [[Ανεξαρτησία]] |γεγονός_κυριαρχίας= - Κηρύχθηκε<br /> - Αναγνωρίστηκε<br /> |ημερομηνίες_κυριαρχίας= [[16 Αλωναρί]] [[1960]] |παράδας = [[Ευρώ]] |κωδικός_παράδων = € EUR |ώρα_ζώνες= |διαφορά_UTC= +2 |θερινόν_UTC= |θερινόν_διαφορά_UTC= +3 |top_level_domain= .cy |κωδικός_τηλεφωνατί= 357 |σημειώσεις= }} Η '''Κύπρος''' εν νησιωτικόν κράτος τη Ανατολικού Μεσογείου. Ές (με τα εκτιμήσεις τη 2024) '''1,358,282''' ανθρώπς. Η Κύπρος απέμνει διχοτομημένη ας σο τουρκικόν αούρισμαν 'τ' 1974. Το βόρειον μέρος 'τ' νησίν ελέγχεται ας το αυτοονομαζόμενον «κρατόπον» τη Τουρκικής Δημοκρατίας τη Βόρειας Κύπρον, που αναγνωρίζεται μόνον ας ση [[Τουρκία|Τουρκίαν]]. Η Κυπριακή Δημοκρατίαν εξακολουθεί να είν' το διεθνώς αναγνωρισμένον κρατόπον και μέλος τη Ευρωπαϊκής Ένωσιν. == Αναφοράντας == <references/> {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Κύπρος]] [[Κατηγορίαν:Ευρώπη|Κύπρος]] [[Κατηγορίαν:Κύπρος| ]] ok3tu2js9g4767jflvn24bto2blkism Πρότυπον:Coord/display/inline 10 1119 36455 10474 2025-12-15T16:34:16Z Εὐθυμένης 2777 36455 wikitext text/x-wiki {{{1}}}<noinclude>[[Κατηγορίαν:Coord template]]</noinclude> 03logx76q4agn7teyivxc9uk7opmvig Πρότυπον:Coord/input/dm 10 1120 36449 10475 2025-12-15T16:28:04Z Εὐθυμένης 2777 36449 wikitext text/x-wiki <includeonly>{{Coord/link|dms-lat={{{1}}}°{{{2}}}′{{{3}}}|dms-long={{{4}}}°{{{5}}}′{{{6}}}|dec-lat={{coor dms2dec|{{{3}}}|{{{1}}}|{{{2}}}}}|dec-long={{coor dms2dec|{{{6}}}|{{{4}}}|{{{5}}}}}|param={{{1}}}_{{{2}}}_{{{3}}}_{{{4}}}_{{{5}}}_{{{6}}}_{{{7|}}}|default={{#if:{{{format|}}}|{{{format}}}|dms}}|name={{{name|}}}}}</includeonly><noinclude>[[Κατηγορίαν:Coord template]]</noinclude> s08z10a5l6wn7fd5kx07ndy9rvw4pkm Πρότυπον:Coor/dms2dec 10 1122 10480 10478 2009-12-18T20:27:41Z ZaDiak 10 [[Πρότυπον:Coor dms2dec]] ετερχλαεύτεν σο [[Πρότυπον:Coor/dms2dec]] 10480 wikitext text/x-wiki <includeonly>{{#expr:{{#switch:{{{1}}}|N|E=1|S|W=-1}}*({{{2|0}}}+({{{3|0}}}+{{{4|0}}}/60)/60) round {{{precdec|{{#if:{{{4|}}}|5|{{#if:{{{3|}}}|3|0}}}}+{{precision1|{{{4|{{{3|{{{2}}}}}}}}}}}}}}}}</includeonly> 2bg88e7no99lhojvwpo87nagn96ncd8 Πρότυπον:Συντεταγμένες URL 10 1123 36439 36438 2025-12-15T16:19:33Z Εὐθυμένης 2777 Ο Εὐθυμένης μετακίνησε τη σελίδα [[Πρότυπον:Coor URL]] στην [[Πρότυπον:Συντεταγμένες URL]] 36438 wikitext text/x-wiki https://tools.wmflabs.org/geohack/geohack.php?language=el&pagename={{FULLPAGENAMEE}}&params=<noinclude> [[Κατηγορίαν:Πρότυπα συντεταγμένων|*]] </noinclude> 2zzkaphbvnz8r9kpeoax3kwko0udh62 Πρότυπον:Coor dms2dec 10 1124 10481 2009-12-18T20:27:41Z ZaDiak 10 [[Πρότυπον:Coor dms2dec]] ετερχλαεύτεν σο [[Πρότυπον:Coor/dms2dec]] 10481 wikitext text/x-wiki #REDIRECT [[Πρότυπον:Coor/dms2dec]] m529djhwwi4j32zz3346ckxl5olxb23 Λευκωσίαν 0 1125 36790 34689 2025-12-16T09:13:14Z Εὐθυμένης 2777 36790 wikitext text/x-wiki [[File:Nicosia 01-2017 img23 View from Shacolas Tower.jpg|thumb|Η Λευκωσίαν]] Η '''Λευκωσίαν''' εν [[Κύπρος|κυπριακόν]] πολιτείαν. Εν η ασ' ουλτς τρανόν πολιτείαν και η πρωτεύουσα τη χώρας. Οσήμερον εχ' πληθυσμόν 224.500 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{el}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Κύπρος]] [[Κατηγορίαν:Πολιτείας]] 7mny9gvzoz1ymoih87cn0igex4gvmx4 Κατηγορίαν:Κύπρος 14 1126 31320 30339 2013-03-07T21:35:59Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 117 interwiki links, now provided by [[d:|Wikidata]] on [[d:q4367074]] [[M:User:Addbot/WDS|(translate me)]] 31320 wikitext text/x-wiki {{Commonscat|Cyprus}} [[Κατηγορίαν:Κράτη|Κύπρος]] [[Κατηγορίαν:Ευρώπη|Κύπρος]] akelktv44oixcpis5ikzo3yb2jztmoq Τζέιμς Κλερκ Μάξγουελ 0 1128 35586 35585 2024-01-25T08:59:23Z Διογένες 10538 /* Συνδέσμε */Κοινά 35586 wikitext text/x-wiki [[Αρχείον:James Clerk Maxwell big.jpg|thumb|Τζέιμς Κλερκ Μάξγουελ το 1882]] Ο '''Τζέιμς Κλερκ Μάξγουελ''' (αγγλ.: ''James Clerk Maxwell'', [[Εδιμβούργον]], [[13 Κερασινού]] [[1831]] - [[Καίμπριτζ]], [[5 Τρυγομηνά]] [[1879]]) έτον [[Σκωτίαν|Σκωτσέζον]] [[φυσικός]]. == Συνδέσμε == * [[Αρχείον:Commons-logo.svg|link=https://commons.wikimedia.org/wiki/Category:James_Clerk_Maxwell?uselang=pnt|19x19px]] Σα [[c:Αρχική σελίδα|Κοινά]] εσ υλικόν σχετικόν με [https://commons.wikimedia.org/wiki/Category:James_Clerk_Maxwell?uselang=pnt '''''Τζέιμς Κλερκ Μάξγουελ'''''] [[Κατηγορίαν:Φυσικήν]] 2fmsoetrxm3qarr1j1dxcnoyed1zuym Ποντιακά Κάλαντα 0 1130 31625 26651 2013-04-15T03:42:31Z Addbot 3509 31625 wikitext text/x-wiki Τα κάλαντα εν ευχητικά τραγωδίας ντο ψάλκουνταν κάθαν χρόνον, σα τρανά γιορτάς. Έχνε πολλά λοέν μορφάς (λ.χ. μωραΐτικα, κρητικά, κ.ου.κ.). Τα ποντιακά κάλαντα εν: *[[Κάλαντα Πρωτοχρονίας]] *[[Κάλαντα Χριστουγέννων]] [[Κατηγορίαν:Θρησκείαν]] ilypk2du0vpa72v0dmy74mqxog7ji35 Ποντιακοί χοροί 0 1131 34384 34383 2020-01-30T21:38:00Z 176.58.224.245 34384 wikitext text/x-wiki Οι Ποντιακοί χοροί εν πολλά γνωστοί σην [[Ελλάδα|Ελλάδαν]]. Οσημερον χορευνέ ατους οι Ποντιοι σον κοσμον. Σην Τουρκιαν πα χορευνε ατους. Horon λεγνε ατοιν, ασον ελλενικον λογον "χορος". Σην Βικιπαίδειαν ες λήμμαν για: *[[Ανεφορίτσα]] *[[Ατςαπάτ]] *[[Κότσαρι]] *[[Τρυγόνα]] [[Κατηγορίαν:Χορός]] 1f7vpnhpzsfaapvq0b9cfcpiflllq0e Κατηγορίαν:Φυτά 14 1133 10781 2010-01-01T00:55:49Z ZaDiak 10 Καινούρεον σελίδαν με '[[Κατηγορίαν:Γεωγραφίαν]]' 10781 wikitext text/x-wiki [[Κατηγορίαν:Γεωγραφίαν]] cwd56vepyg3pb11yq6x1kqr40v055xw Κατηγορίαν:Μαυροβούνιον 14 1134 31592 29586 2013-04-13T08:09:49Z KLBot2 3570 Bot: Migrating 112 interwiki links, now provided by [[Wikidata]] on [[:d:Q7235877]] 31592 wikitext text/x-wiki {{Commonscat|Montenegro}} [[Κατηγορίαν:Κράτη]] [[Κατηγορίαν:Βαλκάνια]] 2c8aw9i3vskcv4jopemffa9s4f80kx8 Κατηγορίαν:Αρχαίον Ελληνικόν γραμματείαν 14 1135 10785 2010-01-01T00:59:28Z ZaDiak 10 Καινούρεον σελίδαν με '[[Κατηγορίαν:Γλωσσολογίαν]]' 10785 wikitext text/x-wiki [[Κατηγορίαν:Γλωσσολογίαν]] f7b1yc360isdi5d1o3qsic56vsnm8yv Κατηγορίαν:Babel field 14 1137 10787 2010-01-01T01:01:47Z ZaDiak 10 Καινούρεον σελίδαν με '[[Κατηγορίαν:Βαβέλ]]' 10787 wikitext text/x-wiki [[Κατηγορίαν:Βαβέλ]] af487s67kicv88furv78hphgoirnzr7 Εμμανουηλίδης 0 1143 34485 34443 2020-04-08T05:46:53Z Tulsi 5081 Cross-wiki abuse 10953 wikitext text/x-wiki Οι Μανουηλάντων εν τρανόν οικογένειαν. Ο Χρήστον ο δέσκαλον έτον δέσκαλος σην Λίτσασα τη Γαράσαρης. Εκεί σην εκκλησίαν ¨Αγιον Γεώργιον σην ανταλλαγήν, έγραψεν απές΄σον ναόν την υπογραφήν ατ΄. Οταν τα παιδία ατ΄εδέβαν σην Λίτσασαν εκλαψον άμον ντο είδαν την υπογραφήν του πατέρα ατουν. Σο χωρίον ατόν επήρε την ομορφέσσα Βασιλικήν, που εγενέθεν σην Νικόπολιν τη Γαράσαρης και έτον πολλά ευκατάστατος. Ο Χρήστος και η Βασιλική έρθαν σο χωρίον Κύργια Δράμας και εποίκαν επτά παιδία. Πρώτος ο Γιωρίκας που εδέβεν σην Αμερικήν και έντονε καθηγητής Παιδιατρικής Καρδιολογίας σο Πανεπιστήμιο Καλιφόρνιας σο Λος Αντζελες. Ατός έτον και ακαδημαικός σην Αθήνα. Δεύτερος ο Γιάννες, έτον δικηγόρος σην Δράμαν και πρόεδρος του Δικηγορκού συλλόγου. Τρίτος ο Εμμανουήλ, έντονε δάσκαλος και επεκεί δικαστής και έφυγεν ως πρώτος Πόντιος αεροπαγίτης. Τέταρτος ο Νικόλαος, καθηγητής φιλόλογος, και λυκειάρχης, εδούλεψεν πολλά χρόνε σην Ιωνίδειον Σχολή Πειραιώς και σην Ευαγγελική Σχολή. Ο Ιωσήφ έντονε ιατρός ακτινολόγος σην Δράμα, και διευθυντής ακτινολογίας σην Δράμα. Ο έκτον ο Δημήτριος, έντονε μαθηματικός, εσπούδασε μεταπτυχιακά σην Αμερικήν, αλλά νέος αφήκεν τα εγκόσμια σε αυτοκινητιστικό δυστύχημα σίτα έρθεν σην Ελλάδα. Η τελευταία, Σοφία, το μόνον κορίτσ επήρε το όνομα της καλομάνας Σοφίας. Ατέ πολλα εξυπνέσσα έτον και εσπούδασεν αδά σο Πολυτεχνείον ως αρχιτέκτων. δέβε σην Γαλλίαν και επέρε μάστερ και εργάζεται σην Αθήνα. Τα εφτά παιδία εποίκαν δεκαεφτά χάταλα, και μέχρι ατώρα, Καλανταρτσ 2010, τα παιδία ατουν εποίκαν άλλα δεκαοχτώ χάταλα. qgtewjae94jsfvkhab6n7y3bbjrp2nv Πρότυπον:Delete 10 1174 32491 31604 2015-08-04T22:08:13Z YiFeiBot 4458 Ρομπότ: Μεταφέρω 1 σύνδεσμους interwiki, που τώρα παρέχονται από τα [[d:|Wikidata]] στο [[d:q4847311]] 32491 wikitext text/x-wiki {| style=" border: 1px solid #aa8888; background-color: #ffeeee;width: 85%;margin: 0 auto 1em auto; padding: .2em; text-align: justify; font-size: 80%;" |- | [[Image:Keeptidy ask.png|none|50px| ]] | <span style="font-size:110%">'''Η σελίδα αυτή είναι υποψήφια για γρήγορη διαγραφή. Η αιτία που δόθηκε είναι {{#if:{{{1|}}}|{{{1}}}|<big>Παρακαλώ συμπληρώστε τον λόγο για τον οποίο ζητάτε την διαγραφή της σελίδας</big> }}'''</span> Αν διαφωνείτε για την διαγραφή της, εξηγήστε τους λόγους στην [[{{NAMESPACE}} talk:{{PAGENAME}}|σελίδα συζήτησής]] της. Αν πιστεύετε ότι μπορείτε να διορθώσετε την σελίδα ώστε να μην διαγραφεί μπορείτε να αφαιρέσετε αυτή την σημείωση, αλλά όχι αν έχετε δημιουργήσει την σελίδα ο ίδιος. ''[[Βικιβιβλία:Διαχειριστές|Διαχειριστές]] - Θυμηθείτε να ελέγξετε [[Special:Whatlinkshere/{{NAMESPACE}}:{{PAGENAME}}|αν κάτι οδηγεί εδώ]] και το [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|action=history}} ιστορικό της σελίδας] πριν τη διαγραφή.'' |}<includeonly>[[Κατηγορίαν:Σελίδες για γρήγορη διαγραφή]]</includeonly><noinclude><noinclude> [[eo:Ŝablono:Forigu]] </noinclude> e4ehe1v5vs2m2d8bhxzpxfjfglsmvng Κατηγορίαν:Ρουσία 14 1189 31323 29183 2013-03-07T21:36:32Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 197 interwiki links, now provided by [[d:|Wikidata]] on [[d:q1411008]] [[M:User:Addbot/WDS|(translate me)]] 31323 wikitext text/x-wiki {{Commonscat|Russia}} [[Κατηγορίαν:Κράτη]] p8hmmsjhc5kdkxu6ekosuzcnvj63dfp Eurovision 0 1211 35534 34956 2024-01-23T17:45:19Z Διογένες 10538 Αρχείον, μικρογραφία 35534 wikitext text/x-wiki [[Αρχείον:Opening act 2, ESC 2011.jpg|μικρογραφία|Eurovision]] Η '''Eurovision''' εν τρανόν διαγωνισμόν [[μουσική|μουσικής]]. [[Κατηγορίαν:Μουσική]] k4v7g0qv6lfkjfw7o8b3qydg0yhwzyo Βιγιένα 0 1218 36759 35427 2025-12-16T08:49:25Z Εὐθυμένης 2777 36759 wikitext text/x-wiki [[Εικόναν:Castillo villena.JPG|thumb|280px|Κάστρο τη Βιγιένα.]] Η '''Βιγιένα''' (ισπ. ''Villena'') εν [[Ισπανία|ισπανικόν]] πολιτείαν. Οσήμερον (2009) εχ' πληθυσμόν 35.222 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{es}} {{επίσημος ιστότοπος}} {{authority control}} {{DEFAULTSORT:Βιγιενα}} [[Κατηγορίαν:Ισπανία]] [[Κατηγορίαν:Πολιτείας]] 53cg0j9mslb6tzkqeg6v0yxtklgaipl Κατηγορίαν:Πολιτείας τη Τουρκίας 14 1219 13961 2010-05-28T12:52:03Z Qoan 1170 Καινούρεον σελίδαν με '[[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Τουρκία]]' 13961 wikitext text/x-wiki [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Τουρκία]] kunv1c7mxbzi6k0plwbmoccooyct0h0 Κατηγορίαν:Πολιτείας τ' Ελλάδας 14 1220 13970 2010-05-28T12:56:23Z Qoan 1170 Καινούρεον σελίδαν με '[[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ελλάδα]]' 13970 wikitext text/x-wiki [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ελλάδα]] dgmdr1mkndamom8o4y3agjls6b11p5z Πρότυπον:Commonscat 10 1223 36410 32492 2025-12-15T15:46:31Z Εὐθυμένης 2777 36410 wikitext text/x-wiki {{Commons|Category:{{{1|{{#property:P373}}}}} | {{{2|{{SUBPAGENAME}}}}} }} <noinclude> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]] [[da:Skabelon:Commonscat]] </noinclude> cf6nuytno8it87b1msqy44cifyqqpr4 Πρότυπον:Commons 10 1224 36417 32493 2025-12-15T15:54:51Z Εὐθυμένης 2777 36417 wikitext text/x-wiki <includeonly>{{Sisterproject |project=Commons |image=Commons-logo.svg |text=Σα [[commons:Κύρια_Σελίδα|Κοινά]] ε<u>σ</u> υλικόν σχετικόν με το θέμα|link=[[commons:{{#if: {{{1|}}} | {{{1}}}| {{SUBPAGENAME}}}} | {{#if: {{{2|}}} | {{{2}}} | {{SUBPAGENAME}}}}]] }}</includeonly><noinclude> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]] <!-- interwiki --> [[az:Şablon:Commons]] </noinclude> rkokr0aqdhu0ne9xag3of3egdwis6jk Καμερούν 0 1252 35930 32441 2024-10-26T05:26:04Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35930 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Καμερούν'''</big></big><br/>''République du Cameroun'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Cameroon.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat_of_arms_of_Cameroon.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Cameroon_(orthographic_projection).svg|300px]] |} [[Αρχείον:LocationCameroon.svg|thumb|right|Το καμερουνικόν ο χάρτ'ς.]] Το '''Καμερούν''', σα γαλλικά République du Cameroun, εν [[Αφρικήν|αφρικανικόν]] [[κράτος]]. Πρωτεύουσαν ατ'ς εν η [[Γιαουντέ]] κ' τρανότερην πόλην εν η [[Ντουάλα]]. Ο πρόεδεος ατ'ς εν ο [[Πολ Μπιγιά]] ο πρωθυπουργός ατ' ς εν ο [[Φιλεμόν Γιανζί Γιανγκ]] και ο πληθυσμόν ατ'ς έν σα 15.746.179 τ' ανθρώπ'ς. [[Κατηγορίαν:Κράτη]] [[Κατηγορίαν:Αφρική|Καμερούν]] 38o7z5z04qhr8ejhbscipuhhu9pacgx Πρότυπον:Softredirect 10 1281 31481 30825 2013-03-11T10:26:59Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 274 interwiki links, now provided by [[d:|Wikidata]] on [[d:q4844001]] [[M:User:Addbot/WDS|(translate me)]] 31481 wikitext text/x-wiki [[Image:Redirectltr.png|#REDIRECT ]]<span class="redirectText" id="softredirect">[[{{{1}}}]]</span><br /><span style="font-size:85%; padding-left:52px;">This page is a [[:w:Wikipedia:Soft redirect|soft redirect]].</span><noinclude> </noinclude> 0plrqqczrchr1heykdu948ryo5rlrn5 Βιετνάμ 0 1288 35917 33928 2024-10-26T05:25:13Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35917 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Βιετνάμ'''</big></big><br/>''Cộng hoà Xã hội Chủ nghĩa Việt Nam'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Vietnam.svg|125px]] | align="center" width="140px" | [[Αρχείον:Emblem of Vietnam.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Location Vietnam ASEAN.svg|300px]] |} Το '''Βιετνάμ''', σα βιετναμικά Cộng hòa xã hội chủ nghĩa Việt Nam, εν [[Ασίαν|ασιατικόν]] [[κράτος]]. Πρωτεύουσαν ατ'ς εν το [[Ανόι]] κ' τρανότερην πόλην εν η [[Πόλη Χο Τσι Μινχ]]. Ο πρόεδεος ατ'ς εν ο [[Νγκουϊέν Μινχ Τριετ]] ο πρωθυπουργός ατ' ς εν ο [[Νγουϊέν Ταν Ντουνγκ]] και ο πληθυσμόν ατ'ς έν σα 85,846,997 τ' ανθρώπ'ς. [[Κατηγορίαν:Κράτη]] [[Κατηγορίαν:Ασία]] r4cjwmz5tv4n4e93y74che2mmxpfgsk Βικιπαίδεια:Νοματέοι 4 1335 17441 2010-12-26T16:05:53Z Omnipaedista 35 [[Βικιπαίδεια:Νοματέοι]] ετερχλαεύτεν σο [[Βικιπαίδεια:Νοματαίοι]] 17441 wikitext text/x-wiki #REDIRECT [[Βικιπαίδεια:Νοματαίοι]] buteqbhsw40ptc8wtiyxy3aluzzc6ox Βαϊμάρη 0 1336 36857 31330 2025-12-16T09:57:58Z Εὐθυμένης 2777 36857 wikitext text/x-wiki [[Αρχείον:Weimar City hall.jpg|thumb|right|310px|Το δημαρχείον τη πολιτείας]] Η '''Βαϊμάρη''' (σα γερμανικά: ''Weimar'') εν πολιτείαν σο κέντρον τη [[Γερμανία|Γερμανίας]], σο κρατίδιον τη [[Θουριγγία|Θουριγγίας]]. Εςς 60.000 αθρώπς απαναφκά κι έναν πανεμιστήμιον. Πολλά γνωστοί πολίτες σα παλαιά τα χρόνεα έσαν οι ποιητές [[Γιόχαν Βόλφγκανγκ φον Γκαίτε]] και [[Φρίντριχ Ϛίλερ]]. Επίσης η πολιτείαν εν γνωστόν για τη [[Δημοκρατία τη Βαϊμάρης|Δημοκρατίαν τη Βαϊμάρης]]. Αούτην ερχίνεσεν σα [[1919]] τη χρονίας. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{de}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γερμανίας]] 14lfkify8s13su3ua6jxbtvkhxgaqth Κατηγορίαν:Πολιτείας τη Γερμανίας 14 1337 17482 17454 2010-12-28T03:18:26Z Sinopeus 168 κατ 17482 wikitext text/x-wiki [[Κατηγορίαν:Γερμανία]] [[Κατηγορίαν:Πολιτείας]] p7m0uertn71o6wb0akw7ve4dpf3iqt4 Βαϊµάρη 0 1338 17457 2010-12-27T18:45:20Z 78.50.22.214 Redirected page to [[Βαϊμάρη]] 17457 wikitext text/x-wiki #REDIRECT [[Βαϊμάρη]] kvuogb26mr4uv4t8mdr1w9uodc3cgnp Καλαμπόκι 0 1339 17471 2010-12-28T02:43:52Z 85.182.22.163 Redirected page to [[Λαζούδ]] 17471 wikitext text/x-wiki #REDIRECT [[λαζούδ]] ar57j08wndmis5oj5d16v6eeq84yym0 Γραμματικήν 0 1340 17474 2010-12-28T02:48:26Z Sinopeus 168 [[Γραμματικήν]] ετερχλαεύτεν σο [[Γραμματική]] 17474 wikitext text/x-wiki #REDIRECT [[Γραμματική]] ox8gd505pm1sjypvd1ickwahep2lj8g Ουσιαστικό 0 1341 17475 2010-12-28T02:56:45Z Sinopeus 168 Βικιπαίδεια:1000 σελίδας 17475 wikitext text/x-wiki #REDIRECT [[Ουσιαστικόν]] atprhcjtut3l59xktgzm4ucwd5erp2n Μουσικήν 0 1342 17478 2010-12-28T02:59:32Z Sinopeus 168 [[Μουσικήν]] ετερχλαεύτεν σο [[Μουσική]]: Βικιπαίδεια:1000 σελίδας 17478 wikitext text/x-wiki #REDIRECT [[Μουσική]] 58vbbpucp7898w1sb1sw18l4hqu5e4x Ήλιος 0 1343 17479 2010-12-28T03:05:29Z Sinopeus 168 Βικιπαίδεια:1000 σελίδας 17479 wikitext text/x-wiki #REDIRECT [[Ήλος]] c9baqf2853nfu99uoxqfjhmvqr2l4vf Κατηγορίαν:Πολιτείας τη Ιταλίας 14 1344 31911 31909 2014-02-04T18:35:39Z Sihlaine 4027 31911 wikitext text/x-wiki [[Κατηγορίαν:Πολιτείας]] kxv8qr0v3vgeqqgqiu8ey78hoid3qz3 Βερολίνον 0 1345 36856 36083 2025-12-16T09:57:22Z Εὐθυμένης 2777 36856 wikitext text/x-wiki [[Αρχείον:Reichstag building Berlin view from west before sunset.jpg|thumb|right|310px|Το γερμανικόν η βουλή, το Ράιχσταγκ]] [[Αρχείον:EU location Berlin.svg|thumb|right|200px|]] Το '''Βερολίνον''' (σα γερμανικά: ''Berlin'') εν πολιτείαν σην ανατολήν τη [[Γερμανία|Γερμανίας]]. Εν η πρωτεύουσα τη χώρας και τ'ασούλτς τρανόν πολιτείαν. Εςς 3.447.048 αθρώπς απαναφκά. == Ιστορία == * [[1244]] Εμφανίσκουνταν τα πρώτα γράμματα για έναν μέρος π'λέγνατο Βερλίνον. * [[1451]] Το σόι τοι Χοχεντσολερνάντ' (''Hohenzollern'') επήεν σο Βερολίνον κι ασ'ατό το μέρος εκυβέρνηνεν τη χώρανατουν * [[1701]] Το Βερολίνον έντον [[Πρωσία|πρωσικόν]] πρωτεύουσα. * [[1806]] Ο στρατός τη [[Ναπολέον Βοναπάρτης|Ναπολέοντα]] εσέβεν σο Βερολίνον. * [[1871]] Το Βερολίνον έντον πρωτεύουσα τη [[Γερμανικόν Ράιχ|Γερμανικού Ράιχ]]. * [[1920]] Το παλαιόν το Βερολίνον εφτάνατο έναν με κιάλλα πολιτείας κι αέτς πα σχηματίσκεται το "Τρανόν Βερολίνον" (Groß-Berlin). * [[1945]] Ασού επέρασεν ο δεύτερον ο τρανόν ο πόλεμον τη πολιτείαν χωρίζνατεν σε τέσσερα κομμάτεα: Έναν [[σοβιετικόν]], έναν [[αμερικανικόν]], έναν [[βρετανικόν]] κι έναν [[Γαλλία|γαλλικόν]]. * [[1949]] Εποίκανε τα δυο Γερμανίας άμα και η πολιτείαν εταγουτεύτεν κι έντον ημσόν: Ατώρα εςς Δυτικόν Βερολίνον και Ανατολικόν Βερολίνον. * [[1961]] Το κομμουνιστικόν η κυβέρνησην τ’Ανατολικού τη Γερμανίας εποίκεν το [[Τουβάρ τη Βερολίνου]]. Ατό πα εχώρισεν τη πολιτείαν. * [[1990]] Ασου τα Γερμανίας ένταν έναν αξάν, το Τουβάρ τη Βερολίνου εκρέμσανατο κι εχάθεν. Ατώρα εςς έναν Βερολίνον μαναχόν. Το καινούρεον η πολιτείαν ίνεται γερμανικόν πρωτεύτουσα. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{de}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γερμανίας]] 56co260kvkfl7e1wf61jssjzlrbztzf Βερολίνο 0 1346 17515 2010-12-29T08:18:45Z 85.182.16.162 Redirected page to [[Βερολίνον]] 17515 wikitext text/x-wiki #REDIRECT [[Βερολίνον]] ety96qxr5i4mvdghmr73xwmyjlrv7lp Γλωσσολογία 0 1347 31476 31332 2013-03-11T10:26:45Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 1 interwiki links, now provided by [[d:|Wikidata]] on [[d:q8162]] [[M:User:Addbot/WDS|(translate me)]] 31476 wikitext text/x-wiki '''Γλωσσολογία''' λέγουμε την τέχνην π' τερεί και φωτογραφίζ' τη [[γλώσσα|γλώσσαν]]. Τοι επιστήμονες π'σουδάζνε τη γλώσσαν λέγνατοιντς γλωσσολόγους. Τη γλωσσολογίαν χωρίζνατεν σε πολλά κομμάτεα, άμον ντο εν ο βοετός ([[φωνητική]]), η μορφή τη λέξης ([[μορφολογία]]), ντο λεει μας η λεξη ([[λεξικολογία]]) και τα κανόνας τη γλώσσας ([[γραμματική]]). Η γλωσσολογίαν 'κ τερεί έναν γλώσσαν μαναχόν αλλά πολλά. Αέτς πα επορούμε κι ελέπουμε τα γλώσσας ομνεάζνε τ'έναν τ'άλλο. [[Κατηγορίαν:Γλωσσολογίαν|Γλωσσολογια]] cwzicvrlt09m01korjhye57ggyh4s49 Intel Core i7 0 1348 37380 33261 2025-12-20T12:04:54Z Εὐθυμένης 2777 /* Αναφοράντας */ 37380 wikitext text/x-wiki {| class="toccolours" cellpadding="3" style="border: 1px solid #999999; float: right; margin: 0 0 1em 1em; width: 22em; border-collapse: collapse; font-size: 95%;" | align="center" colspan=2 bgcolor="#F0F0F0" style="font-size:110%; border: 1px solid #999999;" | '''''Intel Core i7''''' |- | style="border: 1px solid #999999;" align="center" colspan="2" | [[Αρχείον:Intel core i7 940 top R7309478 wp.jpg|225 px]] |- valign="top" | style="border: 1px solid #999999;" bgcolor="#F0F0F0" | '''Όνομαν''' | style="border: 1px solid #999999; width:14em" | Core i7 |- valign="top" | style="border: 1px solid #999999;" bgcolor="#F0F0F0" | '''Ερχίνεσεν σα''' | 2008 |- valign="top" | style="border: 1px solid #999999;" bgcolor="#F0F0F0" | '''Ετελέθεν σα''' | style="border: 1px solid #999999;" | - |- valign="top" | style="border: 1px solid #999999;" bgcolor="#F0F0F0" | '''Χρονισμοί''' | style="border: 1px solid #999999;" | 1.6 GHz ους 3.47 GHz |- valign="top" | style="border: 1px solid #999999;" bgcolor="#F0F0F0"|'''Αρχιτεκτονικά Σετ Εντολίων''' | style="border: 1px solid #999999;" | x86, x86-64, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 |- valign="top" | style="border: 1px solid #999999;" bgcolor="#F0F0F0"|'''Μικροαρχιτεκτονική''' | style="border: 1px solid #999999;" | Nehalem |- valign="top" | style="border: 1px solid #999999;" bgcolor="#F0F0F0"|'''Κουκούτσεα''' | style="border: 1px solid #999999;" | 4 |- valign="top" | style="border: 1px solid #999999;" bgcolor="#F0F0F0"|'''Συμβατά Υποδοχάς (Socket)''' | style="border: 1px solid #999999;" | LGA 1366<br>LGA 1156<br>mPGA-989 |- valign="top" | style="border: 1px solid #999999;" bgcolor="#F0F0F0"|'''Ονόματα κουκουτσίων''' | style="border: 1px solid #999999;" | Bloomfield<br>Lynnfield<br>Clarksfield<br>Clarksfield XM |- |} '''Intel Core i7''' εν τ'όνομαν π'έδωκεν η εταιρία [[Intel]] σε [[κεντρικόν μονάδα επεξεργασίας|επεξεργαστάς]] ντ'εφτάειατα για τ’ οσπιτί υπολογιστάς και για λάπτοπ. Η Intel εσκάλωσεν κι εχρησιμοίησεν αούτον τ'όνομαν σα 2008. Ασα 2008 κι επεκεί, όλεα τα επεξεργαστάς Core i7 στιρίχκουνταν σην [[Intel Nehalem (microarchitecture)|Intel Nehalem microarchitecture]] απάν. Ασα 2008 εμπροστά, η Intel είςεν τ'όνομαν «[[Intel Core 2|Core 2]]» για αήκα επεξεργαστάς. Εςς πολλά λοέν Core i7 επεξεργαστάς. Τ'όνομαν ΄κ συμβολίζ' κατηγορίαν επεξεργαστίων. Core i7 εν τ'όνομαν για όλεα τα πολλά αληγορτά επεργαστάς τη Intel. Εξόν ασ'ατά η Intel εςς και άλλα ονόματα για τοι επεξεργαστές'ατς π' θέλ να πωλείατα σοι καταναλωτές: «Core i5» και «Core i3». «Core I5» λέχκουνταν τα επεξεργαστάς π' 'κ είν'ατόσον αληγορτά άμον ντο είναι τα «Core i7». Τα «Core i5» επορούν κι εφτάγνε όλεα τα δουλείας π'θέλνε οι χρήστες υπολογιστίων, εξόν ασ'ολίγα κατηγορίας παιχνιδίων. Τ'όνομαν «Core i3» συμβολίζ' τα επεξεργαστάς, τα οποία δουλεύνε κιάλλο αργά ασα «Core i5». Τα «Core I3» επορούν κι εφτάγνε πολλά απλά δουλείας για πολλούς χρήστες υπολογιστίων.<ref name="i7-920"> {{cite web |url=http://ark.intel.com/cpu.aspx?groupId=37147 |title=Intel® Core™ i7-920 Processor (8M Cache, 2.66 GHz, 4.80 GT/s Intel® QPI) |accessdate=2008-12-06 |publisher=Intel }}</ref><ref name="i7-940"> {{cite web |url=http://ark.intel.com/cpu.aspx?groupId=37148 |title=Intel® Core™ i7-940 Processor (8M Cache, 2.93 GHz, 4.80 GT/s Intel® QPI) |accessdate=2008-12-06 |publisher=Intel }}</ref><ref name="i7-965"> {{cite web |url=http://ark.intel.com/cpu.aspx?groupId=37149 |title=Intel® Core™ i7-965 Processor Extreme Edition (8M Cache, 3.20 GHz, 6.40 GT/s Intel® QPI) |accessdate=2008-12-06 |publisher=Intel }}</ref> == Αναφοράντας == <references /> [[Κατηγορίαν:Τεχνολογίαν]] [[en:Intel Core#Core i7]] h0wglslvo1u9p518htw19ljlymhq2io Intel 0 1349 37379 36333 2025-12-20T12:04:44Z Εὐθυμένης 2777 /* Αναφοράντας */ 37379 wikitext text/x-wiki [[File:Intel logo (2020, light blue).svg|thumb]] '''Intel Corporation''' ('''Int'''egrated '''El'''ectronics '''Corporation''') εν εταιρίαν ντ'εφτάει τςιπ ημσαγωγίων κι εσκάλωσεν να φτάει τα δουλείασατς σα [[1968]] τοι χρονίας, [[18 Χορτοθερί]]. Τα [[Κεντρικόν μονάδα επεξεργασίας|επεξεργαστάς]] ντ'εποίκενατα η Intel εχρησιμοποίησανατα σε πολλά [[υπολογιαστής|υπολογιστάς]]. Πολλοί εξέρνε τα παλαιά τα πράματα ντ'εποίκεν, άμον ντο εν ο 386, ο 486 και τα Pentium. Οσήμερον τ'ασούλτς σημαντικόν επεξεργαστήνατς λέγουνατο [[Intel Core i7]]. Πολλοί έχνε σον υπολογιστήνατουν τον Core 2 processor - λεει "Intel Inside" ατού απάν. Η Intel εφτάει πολλά λοέν πράματα κι έκλωσεν σον [[dual core]], [[64 bit]] σα [[2006]]. Τα πρώτα Pentium τςιπς εποίκενατα σα 1993, 22 Μαρτί.<ref name="The Pentium"> {{cite web |url=http://arstechnica.com/old/content/2004/07/pentium-1.ars |title=The Pentium: An Architectural History of the World's Most Famous Desktop Processor |accessdate=2010-03-19 |publisher=Stokes, Jon }}</ref> == Αναφοράντας == <references /> == Άλλα σελίδας == {{Commonscat}} * [http://www.intel.com Επίσημον ιστοσελίδα] [[Κατηγορίαν:Τεχνολογίαν]] 0hi7j7z7n8ewe4c2sq6f0apuv7nx31g 18 Χορτοθερί 0 1350 37211 35887 2025-12-16T18:47:45Z Εὐθυμένης 2777 (By [[meta:Indic-TechCom/Tools|FindAndReplace]]) 37211 wikitext text/x-wiki <div class="center">[[Καλομηνάς]] | [[Κερασινός]] | '''[[Χορτοθέρτς]]''' | [[Αλωνάρτς]] | [[Σταυρίτες]]</div> <div class="center">[[17 Χορτοθερί]] | [[18 Χορτοθερί]] | [[19 Χορτοθερί]]</div> ---- Η '''18 τη Χορτοθερί''' εν το 199ον το ημέραν τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. 166 ημέρας απομέν'νε ουσνα τελείται η χρονία. == Ατά ντ' εγένταν == * [[1968]] - Η [[Intel]] εσκάλωσεν να φτάει τα δουλείασατς. == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[18 Κερασινού]] - [[18 Αλωναρί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0718]] 9ti776mlfyo4o1x3qsarrezdwyo0x6d Κεντρικόν μονάδα επεξεργασίας 0 1351 36254 32881 2025-05-15T21:45:06Z Amherst99 2442 36254 wikitext text/x-wiki [[File:COAST CPU.jpg|thumb|220px|right|Έναν ΚΜΕ Pentium σ'έναν υπολογιστήν απές]] Το '''Κεντρικόν η μονάδα επεξεργασίας - ΚΜΕ''' (αγγλ. ''central processing unit - CPU'') λέγουμε έναν πολλά σημαντικόν κομμάτ' τ'[[υπολογιστής|υπολογιστίων]]. Το ΚΜΕ εν άμον ντο εν τ'αχούλ. Η δουλείανατ' εν ν'εφτάει λογαρίας και δαταγάς. Το ΚΜΕ εν ελεκτρονικόν μηχανήν ντ'εφτάει δουλείας ασ'έναν κατάλογον. Τον κατάλογον δεαβάζατον και παίρ τα δουλείας έναν έναν. Επεκεί εφτάει δουλείας με τη σειράνατουν άμον ντ'ορίζνε τα δαταγάς. Αήκον λίσταν με δαταγάς π'δεαβάζατα το ΚΜΕ λέγουματο [[πρόγραμμαν υπολογιστή|πρόγραμμαν]]. Τη μηχανήν π'επορεί κι εφτάει τα δουλείας τη ΚΜΕ, οι μαθηματικοί λέγουνατεν [[Μηχανή Τούρινγκ]]. Ολίγα δουλείας ντ'εφτάει το ΚΜΕ: * Θέκει δυο αριθμούς εντάμα * Τερεί ποίος αριθμός εν κιάλλο τρανόν ασ'άλλτς * Κοβαλεί και θέκει τον αριθμόν σ'άλλον μέρος * Παίρ' έναν αριθμόν αση μνύμην * Λαγκέβ' σ'άλλον μέρος σον κατάλογον με τα δαταγάς απές == Άλλα σελίδας == * [[Intel]] [[Κατηγορίαν:Τεχνολογίαν]] 5p8ctsnmvibm93mf2bmg0dqywngj5jl CPU 0 1352 17728 2011-01-10T13:40:52Z 85.182.18.8 Redirected page to [[Κεντρικόν μονάδα επεξεργασίας]] 17728 wikitext text/x-wiki #REDIRECT [[Κεντρικόν μονάδα επεξεργασίας]] 886qq0wzukf4istsnfaba2ketr6ud6s ΚΜΕ 0 1353 17729 2011-01-10T13:41:16Z 85.182.18.8 Redirected page to [[Κεντρικόν μονάδα επεξεργασίας]] 17729 wikitext text/x-wiki #REDIRECT [[Κεντρικόν μονάδα επεξεργασίας]] 886qq0wzukf4istsnfaba2ketr6ud6s Ιστορίαν 0 1354 17746 2011-01-11T12:13:01Z Sinopeus 168 [[Ιστορίαν]] ετερχλαεύτεν σο [[Ιστορία]]: ονομαστική 17746 wikitext text/x-wiki #REDIRECT [[Ιστορία]] ldmr7jruo0ie1oqbhmqulwkw2lclqrx Μαύρη Θάλασσα 0 1355 17753 2011-01-11T19:24:12Z 78.50.20.55 Redirected page to [[Μαύρον Θάλασσα]] 17753 wikitext text/x-wiki #REDIRECT [[Μαύρον Θάλασσα]] rzen1kydaywa5mgwp0x66qveokhohef Κεντρικόν Μονάδα Επεξεργασίας 0 1356 17765 2011-01-12T12:00:54Z 92.231.7.160 Redirected page to [[Κεντρικόν μονάδα επεξεργασίας]] 17765 wikitext text/x-wiki #REDIRECT [[Κεντρικόν μονάδα επεξεργασίας]] 886qq0wzukf4istsnfaba2ketr6ud6s Πεντικόν (υπολογιστές) 0 1357 37378 35448 2025-12-20T12:04:32Z Εὐθυμένης 2777 /* Αναφοράντας */ 37378 wikitext text/x-wiki [[Εικόναν:3-Tasten-Maus Microsoft.jpg|thumb|Πολλά πεντικάς έχνε δυο κουμπία κι έναν κυλιντάρ απεσκές.]] Ο '''πεντικόν''' εν λυστρίν ντο λεει τον [[Ηλεκτρονικόν υπολογιστής|υπολογιστήν]] ντο δουλείας να φτάει. Ο χρήστες λαήζ τον πεντικόν σο τραπέζ απάν κι αέτς πα ο [[κέρσορας]] κουνίεται σην [[οθόνη|οθόνην]], ασ'έναν εικονόπον σ'άλλον.<ref>http://foldoc.org/mouse Mouse at free on-line dictionary of computing</ref> Το λυστρίν επαίρεν τ'όνομανατ επειδή με το καλόδιον εμπροστά ομνέζ με [[πεντικόν]]. Οσήμερον τα καινούρεα μοντέλα καλόδιον πα 'κ έχνε άμα δουλεύνε με [[μπαταρία|μπαταρίας]]. == Αναφοράντας == <references /> [[Κατηγορίαν:Τεχνολογίαν]] nze7jm3mf0kpwx85mulfi7wgh4lkv9u Intel Core 2 0 1358 35099 35092 2022-02-19T03:38:50Z Ladsgroup 3794 Reverting botnet vandalism attack ([[phab:T302047]]) 35099 wikitext text/x-wiki {| class="toccolours" cellpadding="3" style="border: 1px solid #999999; float: right; margin: 0 0 1em 1em; width: 22em; border-collapse: collapse; font-size: 95%;" | align="center" colspan=2 bgcolor="#F0F0F0" style="font-size:110%; border: 1px solid #999999;" | '''''Intel Core 2''''' |- | style="border: 1px solid #999999;" align="center" colspan="2" | [[Αρχείον:Core 2 Wolfdale.jpg|225 px]]<br><small>Ο [[Intel]] Core 2 "Wolfdale"</small> |- valign="top" | style="border: 1px solid #999999;" bgcolor="#F0F0F0" | '''Όνομαν''' | style="border: 1px solid #999999; width:14em" | Core 2 |- valign="top" | style="border: 1px solid #999999;" bgcolor="#F0F0F0" | '''Ερχίνεσεν σα''' | 2006 |- valign="top" | style="border: 1px solid #999999;" bgcolor="#F0F0F0" | '''Ετελέθεν σα''' | style="border: 1px solid #999999;" | 2010 |- valign="top" | style="border: 1px solid #999999;" bgcolor="#F0F0F0" | '''Χρονισμοί''' | style="border: 1px solid #999999;" | 1.06 ους 3.33 GHz |- valign="top" | style="border: 1px solid #999999;" bgcolor="#F0F0F0"|'''Αρχιτεκτονικά Σετ Εντολίων''' | style="border: 1px solid #999999;" | x86, x86-64 |- valign="top" | style="border: 1px solid #999999;" bgcolor="#F0F0F0"|'''Μικροαρχιτεκτονική''' | style="border: 1px solid #999999;" | Core |- valign="top" | style="border: 1px solid #999999;" bgcolor="#F0F0F0"|'''Κουκούτσεα''' | style="border: 1px solid #999999;" | 1, 2 ή 4 (2x2) |- valign="top" | style="border: 1px solid #999999;" bgcolor="#F0F0F0"|'''Συμβατά Υποδοχάς (Socket)''' | style="border: 1px solid #999999;" | LGA 1366<br>LGA 1156<br>mPGA-989 |- valign="top" | style="border: 1px solid #999999;" bgcolor="#F0F0F0"|'''Ονόματα κουκουτσίων''' | style="border: 1px solid #999999;" | Allendale, Conroe, Conroe-L, Merom-2M, Merom, Merom-L, Kentsfield, Wolfdale, Yorkfield, Penryn |- |} '''Intel Core 2''' εν ομάδαν [[Κεντρικόν μονάδα επεξεργασίας|επεξεργαστίων]] ντ'εποίκενατο η [[Intel]]. Εξέβεν ασα [[Intel Core|Core]] κι επεκεί. Σ'αούτον την ομάδαν απές εςς επεξεργαστάς solo-core (με έναν κουκούτς) "Core 2 Solo", dual-core (2 κουκούτσεα) "Core 2 Duo", και quad-core (4 κουκούτσεα) "Core 2 Quad". Επεκεί εξέβαν και επεξεργαστάς με τ'όνομαν "Extreme", λ.χ. ''Core 2 Extreme''. Ατά πα θέλνε κιάλλα παράδας άμαν έχνε κιάλλο τρανόν τακάτ ασ'αλτς. == Τ'επεξεργαστή τα κουκούτσεα == Η κατάληξη "XE" συμβολίζ ο επεξεργαστής εν "Extreme Edition". * Conroe: Τα πρώτα επεξεργαστάς Core 2 Duo εξέβαν σα [[2006]], [[27 Χορτοθερί]]. Εποίκαν ατοιντς ασου εγέντανε παλαιά τα Intel [[Intel Pentium 4|Pentium 4]] και [[Intel Pentium D|Pentium D]]. * Conroe XE: Εξέβεν σα 2006, [[29 Χορτοθερί]] κι επαίραν τη θέσην τ'Intel Pentium Extreme Edition. * Conroe L * Allendale * Morem * Morem XE * Kentsfield * Kentsfield XE * Penryn * Wolfdale * Yorkfield * Yorkfield XE [[Κατηγορίαν:Τεχνολογίαν]] n37kd2a3i3slloql5rhq02lr0n9tzmy Πίτσα 0 1372 35563 31340 2024-01-23T18:16:36Z Διογένες 10538 μικρογραφία 35563 wikitext text/x-wiki [[Αρχείον:Pizza-2.jpg|300px|μικρογραφία|Πίτσα με τομάτας, τυρίν, κουκουβάκα και κρομμύδεα]] [[Αρχείον:Pizza-oven.jpg|300px|μικρογραφία|Πατροπαράδοτον φουρνίν]] Η '''πίτσα''' εν πατροπαράδοτον [[Ιταλία|ιταλικόν]] φαΐν αση [[Νεάπολη (Ιταλία)|Νεάπολην]]. Εν πολλά γνωστόν σ'όλον τον κόσμον. == Ντο πράματα θέλομεν == === Για το ζουμάρ' === * Αλεύρ * Μαγιά * Νερόν * Άλας * Λάδ' == Πως εφτάμε την πίτσαν == Η πίτσα θέλ' αλέυρ, νερόν, ολίγον μαγιά, [[άλας]] και ολίγον λάδ'. Εφτάμε το ζουμάρ' κι αφήνομ'ατο έναν ώραν να φουσκών' με τη μαγιάν. Ασο φουσκών' και ύστερα, εφτάμε τρανόν ζουμωτόν φύλλον κι ενοίγομ'ατο σ'έναν σινίν απές. Επεκεί εςς πολλά συνταγάς. Κόφτομε τομάτας και βάλλομ'ατα σο ζουμάρ'. Εφτάμε μίαν σάλτσαν με τοματοπολτόν, ρίγανην, βασιλικόν και σκόρδον και κςύνομ'ατο απάν σο ζουμάρ' με τα τομάτας. Τρίφτομε το τυρίν απάν σο ζουμάρ'. Επεκεί βάλλομε ολίγον λαδ' και σύρομε το σινίν με το ζουμάρ' απές σο φουρνίν. Περιμένομεν να λύεται το τυρίν και να ψέεται το ζουμάρ'. Όνταν εγροικούμε εψέθεν, βγάλομε το σινίν και κόφτομε την πίτσαν μερτικά. <br />Επεκεί βγάλομε τα κομμάτεα'σο σινίν, βάλλομ'ατα σα ςκεύε, κάθουμες κα και τρώγουμε. == Συνδέσμεα == * [http://www.sintagespareas.gr/apotelesmata-anazitisis?cx=003949553894029236155%3Axvhdyojmuiu&cof=FORID%3A11&ie=UTF-8&q=%CF%80%CE%AF%CF%84%CF%83%CE%B1&sa=%CE%95%CF%8D%CF%81%CE%B5%CF%83%CE%B7#890 Πως εφτάμε την πίτσαν] - sintagespareas.gr (ελλ) [[Κατηγορίαν:Φαΐα|πιτσα]] cl3646fnex05lcnivrxldd6r0wkk4aj Ωτία 0 1374 34881 34687 2021-08-20T16:22:01Z InternetArchiveBot 8521 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.8 34881 wikitext text/x-wiki ''Γιαμ' αραέβετε το τ'όργανον με το οποίον ακούγνε; [[ωτίν|Τερέστεν αδά]].'' Τα '''ωτία''' είναι πατροπαράδοτον [[Πόντος|ποντιακόν]] γλύκισμαν. Ομνέζ'νε με [[ωτίν|τ'ωτίν τ'αθρωπί]] και για τ'ατό λέγουν'ατα ωτία. == Ντο πράματα θέλομεν == *ωβά *1 φλιτζάν' ςεκ[[5]]<nowiki/>έρ *1 φλιτζάν' ελάδ' *1 φλιτζάν ξύγαλαν *2 βανίλιας *1 χουλέρ φαΐ σόδα *ςεκέρ και κανέλα για γαρνίρισμαν == Πως εφτάμε τα ωτία == Για να'φτάμε το ζουμάρ', βάλλομε τα ωβά σ'έναν μπολ με το ςεκέρ εντάμαν και ταράζομ'ατα. Επεκεί γομώνομε το λαδ' και το ξύγαλαν σο μπολ. Βάλλομε και τα βανίλιας και τη σόδαν. Ατώρα γάλεα γάλεα βάλλομε τ'αλέυρ' και συνέχεια με το χουλέρ ταράζομε το μίγμαν.<br> Όνταν εγροικούμ' έντον το ζουμάρ', εφτάμε τρανά φύλλα κι ενοίγοματα. Κόφτομ'ατα κομμάτεα 2*10 εκατοστά, άμον ντο εν ο ρόμβον. Σο κέντρον τη ρομβί εφτάμ'εναν τρυπίν με το μαςαίρ και σύρομε μίαν άκραν τη ρομβί ατού απές.<br> Βάλλομε το λάδ' απές σο τηγάν' να ψέεται. Επεκεί σύρομε τα ρομβία απές σο τηγάν' να κοκκινίζ'νε. Ασο εψέθαν και ύστερα, εβγάλομ'ατα ασο τηγάν'. Βάλλομ'ατα σ'έναν ςκεύος, κάθουμες κα και τρώγουμε. == Συνδέσμεα == *[https://web.archive.org/web/20110220090259/http://www.sintagespareas.gr/sintages/otia.html Πως εφτάμε τα ωτία] - sintagespareas.gr (ελλ) [[Κατηγορίαν:φαΐα|ωτια]] rvpvyx990cb6i21wm396o97avn61uhi Ωτίν 0 1375 31341 30817 2013-03-07T22:00:22Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 129 interwiki links, now provided by [[d:|Wikidata]] on [[d:q7362]] [[M:User:Addbot/WDS|(translate me)]] 31341 wikitext text/x-wiki ''Γιαμ' αραέβετε το ποντιακόν φαΐν; [[ωτία|Τερέστεν αδά]].'' [[Αρχείον:Earcov.JPG|thumb|right|150px|Ωτίν αθρωπί]] Τ''''ωτίν''' (αρχαία ελλενικά: ''οὖς'') εν τ'όργανον με το οποίον ακούγνε οι αθρώπ' και τα χαϊβάνεα. Σ'ωτίν απές εςς και το όργανον για την ισορροπίαν, αέτς για να μη ρούζνε αφκά. Οι αθρώπ' και τα [[σπονδυλωτά]] έχνε δυο ωτία σο κηφάλν'ατουν. {{commonscat|Ear}} [[Κατηγορίαν:Ανατομία]] 98cfyz63yok2b6ofddlj2ljktqdzp3y Ηνωμένο Βασίλειο 0 1377 36166 35688 2025-02-18T15:14:44Z CommonsDelinker 121 Replacing Royal_Coat_of_Arms_of_the_United_Kingdom_(St_Edward's_Crown).svg with [[File:Royal_coat_of_arms_of_the_United_Kingdom_(St._Edward's_Crown).svg]] (by [[:c:User:CommonsDelinker|CommonsDelinker]] because: [[:c:COM:FR|File renamed]]: [[:c:COM:FR#FR6 36166 wikitext text/x-wiki {{Πληροφορίας χώρας| |εθνικόν_όνεμαν= <big>Ηνωμένο Βασίλειο</big> |εθνικόν όνεμαν σα ποντιακά = Ηνωμένων Βασίλειον |κοινόν_όνεμαν= Ηνωμένο Βασίλειο |μέγεθος σημαίας= |σημαία = Flag of the United Kingdom.svg |άρθρον σημαίας = Σημαία τ' Ηνωμένου Βασιλείου |σύμβολον= Royal coat of arms of the United Kingdom (St. Edward's Crown).svg |άρθρον συμβολατί = Σύμβολον τ' Ηνωμένου Βασιλείου |χάρτες= EU location UK.png |εθνικόν_σύνθημαν= Dieu et mon droit (Ο Θεός και το δικαίωμά μου) |εθνικόν_ύμνος= God Save the King (Ο Θεός σώζει τη Βασίλισσα) |επίσημα_γλώσσας= [[Εγγλέζικη γλώσσα|Εγγλέζικα]] |πρωτεύουσα και ασ' όλον τρανόν πολιτεία = [[Λονδίνο]] |συντεταγμένας_πρωτεύουσας= 51°31'7"N -0°6'3"E |πολίτευμαν= [[Βασιλευόμενον Κοινοβουλευτικόν Δημοκρατία|Βασιλευόμενον<br /> Κοινοβουλευτικόν Δημοκρατία]] |τίτλοι_τ' ηγετίων = <br />[[Βασιλιάς]]<br />[[Πρωθυπουργός]] | |ονόματα_τ' ηγετίων = [[Κάρολος Γ΄ του Ηνωμένου Βασιλείου]] <br /> [[Τερέζα Μέι]] |θέση_έκτασης= 78 |έκταση= 244.820 |ποσοστόν_νερού= %1,34 |εκτίμηση_πληθυσμού= 61.113.205 |χρονία_εκτίμησης_πληθυσμού= 2007 |πληθυσμός= 58.789.194 |θέση_πληθυσμού= 22 |χρονία_απογραφής_πληθυσμού= 2001 |πυκνότητα_πληθυσμού= 243 κατ |θέση_πυκνότητας_πληθυσμού= 48 |παράδας = [[Λίρα Στερλίνα]] |κωδικός_παράδων = £ GBP |ώρα_ζώνες= GMT |διαφορά_UTC= +0 |θερινόν_UTC= UTC |θερινόν_διαφορά_UTC= +1 |top_level_domain= .uk και .eu ως μέλος της ΕΕ |κωδικός_τηλεφωνατί= 44 |σημειώσεις= }} Το '''Ηνωμένο Βασίλειον''' κράτος εν σα βορειοδυτικά τη [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν το [[Λονδίνο]] και πρωθυπουργόν ατ'ς εν ο [[Μπόρις Τζόνσον]]. Ο πληθυσμόν τη χώρας εν σα 58.769.194 τ' ανθρώπ'ς (2001). == Γεωγραφίαν == Το Ηνωμένο Βασίλειον ευρίεται αφκά σην [[Σκοτία]] και [[Ουαλία]]. Σα τρανά τα αγγλικά τα πολιτείας εξόν τη πρωτεύουσαν ανήκ'νε η [[Λίβερπουλ]] και ο [[Μάντσεστερ]]. == Πολιτικήν == Τ' ατωριζνόν η κηβέρνησην τη κράτονος εν η Κυβέρνηση [[Τερέζα Μέι]] και βασίλησαν [[Ελισάβετ Β΄]] ντ' εξέβεν σην εξουσίαν σα 2016 τη χρονίαν. == Συνδέζμαι == [http://el.wikipedia.org/wiki/%CE%97%CE%BD%CF%89%CE%BC%CE%AD%CE%BD%CE%BF_%CE%92%CE%B1%CF%83%CE%AF%CE%BB%CE%B5%CE%B9%CE%BF Ελλενικόν] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Ηνωμένο Βασιλείον]] [[Κατηγορίαν:Ευρώπη|Ηνωμένο Βασίλειον]] sfh1a9kxch90w49j325dapc8ikj4glx Βατικανό 0 1380 37413 36251 2025-12-30T22:17:10Z Таёжный лес 10003 /* Συνδέζμαι */ 37413 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Βατικανό'''</big></big><br/>''Status Civitatis Vaticanæ'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of the Vatican City - 2001 version.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of the Vatican City.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Location_Vatican_City_Europe.png|300px]] |} == Βατικανό (Βατικανό Κράτος) == Το '''Βατικανό''', ή και Κράτος τη Πόλιν του Βατικανού, έν' έναν ανεξάρτητον κράτος-πόλιν, σο δυτικόν μέρος τη Ρώμης, στην Ιταλία. Είν' η συνέχεια από το παπικόν κράτος που εποίκεν σο Μεσαίωναν. Εγεννέθεν σην 11η του Φλεβάρη το 1929, με την Συνθήκην του Λατερανού, κεικά σο φασιστικόν καθεστώς του Μουσολίν'. Το Βατικανό λογαριάζεται ως το πιο μικρόν ανεξάρτητον κράτος, και σην έκτασιν (0,44 τετραγωνικά χιλιόμετρα) και σον λαόν (κατά την επίσημον εκτίμηση του 2023 είχεν 764 ψυές). Σο Βατικανό κάθεται η [[Αγία Έδρα]] – έν' το πνευματικόν και διοικητικόν κέντρον της Ρωμαιοκαθολικής Εκκλησίας. Τον Πάπαν ελέγνε τον οι καρδινάλοι σον κονκλάβιον, αούτοι που έν' κάτω από 80 χρονών. Η εθνική γιορτή έν' η 8η Μαΐου – ημέρα που ελέχθην ο νέος Ποντίφικας (το 2025). Το Βατικανό έν' το μόνο κράτος σον δυτικόν κόσμον (και μαζίν με τες [[Φιλιππίνες]] παγκοσμίως), που απαγορεύ’ το διαζύγιον. == Ιστορικόν == === Α΄ Περίοδος: ως το 590 === Το Παπικόν ή Ποντιφικόν κράτος (''Stato Pontificio'') ήτον ένα κράτος σην κεντρικήν Ιταλίαν, που εζούσεν από τον 8ον αιώνα ως τον 19ον. Εγεννέθεν ως μια «κοσμική» εξουσία των Παπών, με την Ρώμην ως κέντρον και πρωτεύουσα. Εκατείχεν πολλά εδάφη, που άλλαζαν πολλάκις σο πέρασμα του χρόνου – τόσον πολλά που κανένα άλλο κράτος δεν εγνώρεν τέτοιαν αστάθειαν. Αυτό εγίντον γιατί δεν είχεν αρκετούς υπερασπιστάδες. Η αρχή αυτής της «κοσμικής» εξουσίας δεν εβεβαιώθεν ιστορικώς. Ελέγνε πως ο Μέγας Κωνσταντίνος, ο αυτοκράτορας, πρώτος εδώκεν την εξουσίαν τούτην με μια δωρεάν γης. Αλλά αυτό απεδείχθη ψεύδιν, κατασκευασμένον από έναν Ισπανόν παπά, τον Ισίδωρον Μερκάτορα. Ήδη από τον 12ον αιώνα οι Βενεδικτίνοι αμφέβαλαν, και στα μέσα του 15ου αιώνα ο Λαυρέντιος Βάλλας το απεκάλυψεν ως μεγάλο ψεύδος. Και οι άλλες δωρεές – από τον Πιπίνον τον Μικρόν και τον Καρόλον τον Μέγαν – δεν εβεβαιώθεν ποτέ με έγγραφον. Μάλλον ήτον λόγια, και μόνον για μικρόν χρονικόν διάστημα. Πάντως, ιστορικά ξέρουμε πως οι βασιλείς των Φράγκων εδώκαν κάποια εξουσία στους Παπάδες, αλλά όχι ολική κυριαρχία και ανεξαρτησία. Η εξουσία των Παπών ήρτεν κυρίως γιατί σιγά σιγά επήραν πρωτεύουσαν θέσιν σην Δυτικήν Εκκλησίαν. Την αρχή, ο τίτλος του Πάπα δεν είχεν καμμία προτεραιότητα. Αλλά επειδή η Ρώμη ήτον η πρωτεύουσα του κράτους, ο επίσκοπος της πόλης εποίκεν πρώτος ανάμεσα σ’ όλους. Βοήθησε και το που ελέγνε πως οι Πάπες είναι διάδοχοι του Απόστολου Πέτρου – που τάχα ήρθεν και εμαρτύρησεν σην Ρώμην. Το 381, ο αυτοκράτορας Γρατιανός εδώκεν στον Πάπαν το δικαίωμα να δικάζ' τις διαφορές των επισκόπων. Το 452, ο Πάπας Λέων ο Α΄, που τον έστειλεν ο αυτοκράτορας Βαλεντιανός ο Γ΄, επήεν σο Αττίλαν και τον έπεισεν να μη χτυπήσει την Ρώμην. Όταν επαύσαν οι Αυτοκράτορες της Δύσης, οι Πάπες εγίνηκαν μεσάζοντες ανάμεσα στον λαόν και τους βασιλέας των βαρβάρων. Όταν ο Ιουστινιανός επήρεν ξανά την Ιταλίαν σο κράτος του (το 554), οι Πάπες είχεν ήδη πολλά εδάφη και πλούτη, από τα δώρα των πιστών. Είχεν περισσότερην δύναμιν κι από τους βυζαντινούς έξαρχους. Όταν οι Λομβαρδοί επήραν την Ιταλίαν (το 568), το κέντρο της Εξαρχίας έφυγεν από την Ρώμην και εποίκεν σην Ραβένναν. === Β΄ Περίοδος: 590–860 === Σην εποχήν τούτην, οι Παπάδες εγίνηκαν όχι μόνον πνευματικοί αρχηγοί, αλλά και κοσμικοί άρχοντες. Ο Πάπας Γρηγόριος ο Μέγας (590–604) εδιοίκεν την Εκκλησίαν με σοφίαν και εδυνάμωσεν την εξουσίαν της Ρώμης. Εστήριξεν τα μοναστήρα, έστειλεν ιεραποστόλους, και ετακτοποίησεν τα εκκλησιαστικά ζητήματα. Μετά τον θάνατον του Γρηγορίου, οι διάδοχοί ατ’ συνεχίσαν την ενίσχυσην της παπικής εξουσίας. Το 754, ο Πάπας Στέφανος Β΄ εζήτησεν βοήθειαν από τον βασιλέαν των Φράγκων, τον Πιπίνον τον Μικρόν, για να πολεμήσ’ την απειλήν των Λομβαρδών. Ο Πιπίνος επέκανεν και, με την «Δωρεάν του Πιπίνου», εδώκεν στον Πάπαν εδάφη, που εγίνηκαν η ρίζα του Παπικού Κράτους. Το 800, ο Πάπας Λέων ο Γ΄ εστέψεν τον Καρλομάγνον αυτοκράτοραν της Αγίας Ρωμαϊκής Αυτοκρατορίας. Αυτό το πράμαν εδυνάμωσεν την θέσην του Πάπαν ως πνευματικόν και κοσμικόν αρχηγόν σην Δύσην. Ακείνη την εποχήν, η εξουσία των Παπών εστερεώθεν καλά, και το Παπικόν Κράτος εδυναμώθεν, και εβάλεν τα θεμέλια για την μετέπειτα πορείαν της Εκκλησίας και όλης της Δυτικής Ευρώπης. [[Αρχείον:Pope Gregory I.jpg|thumb|right|150px|Ο Πάπας Γρηγόριος ο Μέγας]] === Γ΄ Περίοδος: 860–1254 === Σην περίοδον τούτην, η Παπική εξουσία ενισχύθην και επεκτάθην, και οι Παπάδες εγίνηκαν όχι μόνον πνευματικοί, αλλά και κοσμικοί άρχοντες. Η Ρώμη εγίνεν κέντρον εξουσίας, και το Παπικόν Κράτος εστερεώθεν σην Ιταλίαν. Ο Πάπας Ιννοκέντιος Δ΄ (1243–1254) εσυγκρούθην με τον αυτοκράτοραν Φρειδερίκον Β΄, και σην Σύνοδον της Λυών (1245) τον αφόρισεν και τον καθαίρεσεν από τον θρόνον. Μετά τον θάνατον του Φρειδερίκου το 1250, ο Ιννοκέντιος επροσπάθησεν να ενισχύσ' την παπικήν εξουσίαν σην Ιταλίαν, αλλά εσυνάντησεν αντίστασην από τον γιον του Φρειδερίκου, τον Μανφρέδον. Το 1254, ο Ιννοκέντιος επεχείρησεν στρατιωτικήν εκστρατείαν εναντίον του Μανφρέδου, αλλά ηττήθην σην μάχην της Φώτζιας. Ο Ιννοκέντιος απέθανεν λίγες ημέρες μετά, σην Νάπολην, και ετάφηκεν σην Καθεδρικήν Εκκλησίαν της πόλης. === Δ΄ Περίοδος: 1254–1378 === [[Αρχείον: βατικανό δ'.jpg|thumb|194x194px|Όψιν τη Πόλιν του Βατικανού σο 1593, από χαρτίν του Αντόνιο Τεμπέστα|αριστερά]] Μετά τον θάνατον του Ιννοκέντιου Δ΄, η Παπική εξουσία επέρασεν δύσκολες εποχές. Οι Πάπες επροσπαθούσαν να κρατούν την εξουσίαν τους σην Ιταλίαν, ενώ η αυτοκρατορία των Γερμανών ήθελεν να ελέγχει το νότιο μέρος. Το 1309, ο Πάπας Κλήμης ο Ε΄ μετέφερεν την έδραν του Παπά από την Ρώμην σην Αβινιόν της Γαλλίας. Αυτό εγίντον γιατί η πολιτική κατάστασις σην Ιταλίαν ήτον ασταθής και επικίνδυνη. Από το 1309 ως το 1377, οι Πάπες εκαθίσαν σην Αβινιόν — αυτό το χρονικόν λέγεται και «Αιχμαλωσία της Βαβυλώνας». Η παραμονή σην Γαλλίαν έφερεν πολλήν κριτική, και πολλοί Χριστιανοί λέγαν πως ο Πάπας έν' όργανον του γαλλικού βασιλέα. Το 1377, ο Πάπας Γρηγόριος ΙΑ΄ εφέραν ξανά την έδραν σην Ρώμην, αλλά ο θάνατος ατ' το 1378 έφερεν μεγάλην κρίση. Από εκεί και πέρα εγίνηκεν το «Σχίσμα της Δύσης»: δύο Παπάδες — ένας σην Ρώμην κι ένας σην Αβινιόν — διεκδικούσαν την εξουσίαν. Η Εκκλησία εκατασχίστην και η παπική εξουσία ετρανταχθήν σην Ευρώπην. == Πηγές == * [https://el.wikipedia.org/wiki/Βατικανό Βικιπαίδεια: Βατικανό (ελληνικά)] * Ιστορικές πηγές για την Παπική εξορία στην Αβινιόν και το Σχίσμα της Δύσης. == Πηγές == * [https://el.wikipedia.org/wiki/Βατικανό Βικιπαίδεια: Βατικανό (ελληνικά)] * [https://en.wikipedia.org/wiki/Pope_Innocent_IV Wikipedia: Pope Innocent IV (αγγλικά)] * [https://de.wikipedia.org/wiki/Papstwahl_1254 Wikipedia: Papstwahl 1254 (γερμανικά)] == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Vaticano|Το Βατικανό σα Commons]]''' {{Πρότυπον:Κράτη τη Ευρώπης}} {{authority control}} kszk04rxa76i4pry7woru1gnsg0z8zm Κατηγορίαν:Αθλητισμός 14 1381 19037 19036 2011-02-19T13:00:20Z Teomatra 2089 Blanked the page 19037 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Λονδίνο 0 1383 31534 31344 2013-04-02T18:49:44Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 1 interwiki links, now provided by [[d:|Wikidata]] on [[d:q84]] [[M:User:Addbot/WDS|(translate me)]] 31534 wikitext text/x-wiki [[Εικόναν:London (European Parliament constituency).svg|thumb|280px|]] [[Εικόναν:The Tower Bridge, London in the night 2.jpg|thumb|280px|]] Το Λονδίνο (αγγ.London) εν αγγληκ΄ον πολιτείαν και εχ' τρανόν [[ιστορίαν]]. Εν η ασ' ουλτς τρανόν πολιτείαν και η [[πρωτεύουσα]] τη χώρας. Οσήμερον (2001) εχ' πληθυσμόν 7.700.000 ανθρώπ. [[Εικόναν:LondonNumbered.png|left|280px|]] [[Κατηγορίαν:Πολιτείας τ' Αγγλίας|Λονδίνο]] gouus5k53w0zahe9nxpz6lehmqdgf2h Κατηγορίαν:Πολιτείας τ' Αγγλίας 14 1385 19079 19078 2011-02-20T19:02:19Z Teomatra 2089 19079 wikitext text/x-wiki Σελίδας τη κατηγορίας "Πολιτείας τ' Αγγλίας" Αβούτη κατηγορίαν έχ' τ' αφκά τη σελίδαν μαναχόν 5r604ypi6iqagwwc6jupgns4fe44ojs Πρότυπον:Ημέρα τη χρονίας 10 1391 19209 19175 2011-02-27T14:06:41Z Budelberger 25 19209 wikitext text/x-wiki <includeonly><span style="visibility:hidden">{{Second of two words}}</span>{{ημέρα τη χρονίας!|ημέρα={{First word}}|μήνας={{Second of two words}}}}</includeonly><!-- --><noinclude>{{Documentation}}</noinclude> 3uq1livc6vhvqf8vosmqu1kj5k7almg Πρότυπον:First word 10 1392 19128 2011-02-25T02:32:02Z Budelberger 25 Création. 19128 wikitext text/x-wiki <includeonly>{{#ifeq: {{str find|{{{1|{{PAGENAME}}}}}| }} | -1 | {{{1|{{PAGENAME}}}}} | {{trunc|{{{1|{{PAGENAME}}}}}|{{str find|{{{1|{{PAGENAME}}}}}| }}}}}}</includeonly><!-- --><noinclude>{{Documentation}}</noinclude> 4fqumie92t9e3doeyrqxpcm8resz8sm Πρότυπον:Trunc 10 1393 19129 2011-02-25T02:32:39Z Budelberger 25 Création. 19129 wikitext text/x-wiki <includeonly>{{padright: {{#iferror: {{#expr: 0 + {{{2}}}}} | {{{1}}} |}} | {{{2|}}} | {{{1}}}}}</includeonly><!-- --><noinclude>{{Documentation}}</noinclude> 1a749qv0l8g6odqqhp5k991e5mjjpt4 Πρότυπον:Second of two words 10 1394 19130 2011-02-25T02:33:19Z Budelberger 25 Création. 19130 wikitext text/x-wiki <includeonly>{{str right|{{{words|{{{1|{{PAGENAME}}}}}}}}|{{#expr: {{str len|{{first word|{{{words|{{{1|{{PAGENAME}}}}}}}}}}}} + 1}}}}</includeonly><!-- --><noinclude>{{Documentation}}</noinclude> 9lv475lgkrvatloqn5uko89bqc0nxyx Πρότυπον:Str right 10 1395 19131 2011-02-25T02:33:56Z Budelberger 25 Création. 19131 wikitext text/x-wiki <includeonly>{{{{{|safesubst:}}}Str sub long|nocategory={{{nocategory|}}}|{{{1}}}|{{{2}}}|{{{{{|safesubst:}}}#expr:{{{{{|safesubst:}}}Str len|nocategory={{{nocategory|}}}|{{{1}}}}}-{{{2}}}}}}}</includeonly><!-- --><noinclude>{{Documentation}}</noinclude> 8rnkj19jx87anp2newcfj3rrxpk4b5d Πρότυπον:Str sub long 10 1396 19132 2011-02-25T02:35:00Z Budelberger 25 Création. 19132 wikitext text/x-wiki <includeonly>{{{{{|safesubst:}}}#ifeq:{{{2|0}}}|0|{{{{{|safesubst:}}}str_left|{{{1}}}|{{{3|0}}}}}|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 1 and {{{2|0}}} + {{{3|0}}} >= 1|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|1}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 2 and {{{2|0}}} + {{{3|0}}} >= 2|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|2}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 3 and {{{2|0}}} + {{{3|0}}} >= 3|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|3}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 4 and {{{2|0}}} + {{{3|0}}} >= 4|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|4}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 5 and {{{2|0}}} + {{{3|0}}} >= 5|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|5}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 6 and {{{2|0}}} + {{{3|0}}} >= 6|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|6}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 7 and {{{2|0}}} + {{{3|0}}} >= 7|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|7}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 8 and {{{2|0}}} + {{{3|0}}} >= 8|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|8}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 9 and {{{2|0}}} + {{{3|0}}} >= 9|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|9}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 10 and {{{2|0}}} + {{{3|0}}} >= 10|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|10}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 11 and {{{2|0}}} + {{{3|0}}} >= 11|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|11}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 12 and {{{2|0}}} + {{{3|0}}} >= 12|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|12}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 13 and {{{2|0}}} + {{{3|0}}} >= 13|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|13}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 14 and {{{2|0}}} + {{{3|0}}} >= 14|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|14}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 15 and {{{2|0}}} + {{{3|0}}} >= 15|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|15}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 16 and {{{2|0}}} + {{{3|0}}} >= 16|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|16}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 17 and {{{2|0}}} + {{{3|0}}} >= 17|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|17}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 18 and {{{2|0}}} + {{{3|0}}} >= 18|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|18}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 19 and {{{2|0}}} + {{{3|0}}} >= 19|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|19}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 20 and {{{2|0}}} + {{{3|0}}} >= 20|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|20}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 21 and {{{2|0}}} + {{{3|0}}} >= 21|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|21}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 22 and {{{2|0}}} + {{{3|0}}} >= 22|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|22}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 23 and {{{2|0}}} + {{{3|0}}} >= 23|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|23}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 24 and {{{2|0}}} + {{{3|0}}} >= 24|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|24}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 25 and {{{2|0}}} + {{{3|0}}} >= 25|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|25}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 26 and {{{2|0}}} + {{{3|0}}} >= 26|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|26}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 27 and {{{2|0}}} + {{{3|0}}} >= 27|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|27}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 28 and {{{2|0}}} + {{{3|0}}} >= 28|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|28}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 29 and {{{2|0}}} + {{{3|0}}} >= 29|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|29}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 30 and {{{2|0}}} + {{{3|0}}} >= 30|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|30}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 31 and {{{2|0}}} + {{{3|0}}} >= 31|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|31}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 32 and {{{2|0}}} + {{{3|0}}} >= 32|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|32}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 33 and {{{2|0}}} + {{{3|0}}} >= 33|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|33}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 34 and {{{2|0}}} + {{{3|0}}} >= 34|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|34}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 35 and {{{2|0}}} + {{{3|0}}} >= 35|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|35}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 36 and {{{2|0}}} + {{{3|0}}} >= 36|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|36}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 37 and {{{2|0}}} + {{{3|0}}} >= 37|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|37}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 38 and {{{2|0}}} + {{{3|0}}} >= 38|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|38}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 39 and {{{2|0}}} + {{{3|0}}} >= 39|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|39}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 40 and {{{2|0}}} + {{{3|0}}} >= 40|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|40}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 41 and {{{2|0}}} + {{{3|0}}} >= 41|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|41}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 42 and {{{2|0}}} + {{{3|0}}} >= 42|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|42}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 43 and {{{2|0}}} + {{{3|0}}} >= 43|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|43}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 44 and {{{2|0}}} + {{{3|0}}} >= 44|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|44}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 45 and {{{2|0}}} + {{{3|0}}} >= 45|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|45}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 46 and {{{2|0}}} + {{{3|0}}} >= 46|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|46}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 47 and {{{2|0}}} + {{{3|0}}} >= 47|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|47}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 48 and {{{2|0}}} + {{{3|0}}} >= 48|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|48}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 49 and {{{2|0}}} + {{{3|0}}} >= 49|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|49}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 50 and {{{2|0}}} + {{{3|0}}} >= 50|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|50}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 51 and {{{2|0}}} + {{{3|0}}} >= 51|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|51}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 52 and {{{2|0}}} + {{{3|0}}} >= 52|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|52}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 53 and {{{2|0}}} + {{{3|0}}} >= 53|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|53}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 54 and {{{2|0}}} + {{{3|0}}} >= 54|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|54}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 55 and {{{2|0}}} + {{{3|0}}} >= 55|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|55}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 56 and {{{2|0}}} + {{{3|0}}} >= 56|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|56}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 57 and {{{2|0}}} + {{{3|0}}} >= 57|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|57}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 58 and {{{2|0}}} + {{{3|0}}} >= 58|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|58}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 59 and {{{2|0}}} + {{{3|0}}} >= 59|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|59}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 60 and {{{2|0}}} + {{{3|0}}} >= 60|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|60}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 61 and {{{2|0}}} + {{{3|0}}} >= 61|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|61}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 62 and {{{2|0}}} + {{{3|0}}} >= 62|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|62}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 63 and {{{2|0}}} + {{{3|0}}} >= 63|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|63}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 64 and {{{2|0}}} + {{{3|0}}} >= 64|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|64}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 65 and {{{2|0}}} + {{{3|0}}} >= 65|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|65}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 66 and {{{2|0}}} + {{{3|0}}} >= 66|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|66}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 67 and {{{2|0}}} + {{{3|0}}} >= 67|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|67}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 68 and {{{2|0}}} + {{{3|0}}} >= 68|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|68}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 69 and {{{2|0}}} + {{{3|0}}} >= 69|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|69}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 70 and {{{2|0}}} + {{{3|0}}} >= 70|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|70}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 71 and {{{2|0}}} + {{{3|0}}} >= 71|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|71}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 72 and {{{2|0}}} + {{{3|0}}} >= 72|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|72}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 73 and {{{2|0}}} + {{{3|0}}} >= 73|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|73}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 74 and {{{2|0}}} + {{{3|0}}} >= 74|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|74}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 75 and {{{2|0}}} + {{{3|0}}} >= 75|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|75}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 76 and {{{2|0}}} + {{{3|0}}} >= 76|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|76}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 77 and {{{2|0}}} + {{{3|0}}} >= 77|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|77}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 78 and {{{2|0}}} + {{{3|0}}} >= 78|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|78}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 79 and {{{2|0}}} + {{{3|0}}} >= 79|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|79}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 80 and {{{2|0}}} + {{{3|0}}} >= 80|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|80}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 81 and {{{2|0}}} + {{{3|0}}} >= 81|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|81}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 82 and {{{2|0}}} + {{{3|0}}} >= 82|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|82}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 83 and {{{2|0}}} + {{{3|0}}} >= 83|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|83}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 84 and {{{2|0}}} + {{{3|0}}} >= 84|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|84}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 85 and {{{2|0}}} + {{{3|0}}} >= 85|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|85}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 86 and {{{2|0}}} + {{{3|0}}} >= 86|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|86}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 87 and {{{2|0}}} + {{{3|0}}} >= 87|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|87}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 88 and {{{2|0}}} + {{{3|0}}} >= 88|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|88}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 89 and {{{2|0}}} + {{{3|0}}} >= 89|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|89}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 90 and {{{2|0}}} + {{{3|0}}} >= 90|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|90}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 91 and {{{2|0}}} + {{{3|0}}} >= 91|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|91}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 92 and {{{2|0}}} + {{{3|0}}} >= 92|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|92}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 93 and {{{2|0}}} + {{{3|0}}} >= 93|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|93}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 94 and {{{2|0}}} + {{{3|0}}} >= 94|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|94}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 95 and {{{2|0}}} + {{{3|0}}} >= 95|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|95}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 96 and {{{2|0}}} + {{{3|0}}} >= 96|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|96}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 97 and {{{2|0}}} + {{{3|0}}} >= 97|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|97}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 98 and {{{2|0}}} + {{{3|0}}} >= 98|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|98}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 99 and {{{2|0}}} + {{{3|0}}} >= 99|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|99}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} < 100 and {{{2|0}}} + {{{3|0}}} >= 100|<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}str index any|nocategory={{{nocategory|}}}|{{{1}}}|100}}}}<noinclude><!-- --></noinclude>{{{{{|safesubst:}}}#ifexpr:{{{2|0}}} >= 100 or {{{2|0}}} + {{{3|0}}} > 100|{{FormattingError|nocategory={{{nocategory|}}}|max index is 100 for str sub long}}}}<noinclude><!-- --></noinclude>}}</includeonly><!-- --><noinclude>{{Documentation}}</noinclude> i30i2njrv9otnuocf2t2dou8ji0mhjc Πρότυπον:Ημέρα τη χρονίας! 10 1397 19370 19174 2011-03-08T22:50:51Z Budelberger 25 19370 wikitext text/x-wiki <includeonly>{{ημέρα τη χρονίας¡ |ημέρα = {{{ημέρα}}} |μήνας = {{#switch: {{{μήνας}}} | Καλανταρί = 01 | Κούντουρονος = 02 | Μαρτ | Μαρτί = 03 | Απρίλ | Απρίλτ = 04 | Καλομηνά = 05 | Κερασινού = 06 | Χορτοθερί | Χορτοθέρτ = 07 | Αλωναρί | Aλωναρί = 08 | Σταυρί = 09 | Τρυγομηνά = 10 | Αεργί = 11 | Χριστουγενναρί = 12}} |χρονία = {{#ifeq: {{{ημέρα}}} {{{μήνας}}} | 29 Κούντουρονος | 2008 | {{CURRENTYEAR}}}}}}</includeonly><!-- --><noinclude>{{Documentation}}</noinclude> 0bwy3ntvd5tf8kv3w0ibov8jha0u0c6 Πρότυπον:Ημέρα τη χρονίας¡ 10 1398 19376 19375 2011-03-09T01:33:59Z Budelberger 25 19376 wikitext text/x-wiki <includeonly><center>[[{{#time: F|{{CURRENTYEAR}}-{{{μήνας}}} - 2 month}}]] | [[{{#time: F|{{CURRENTYEAR}}-{{{μήνας}}} - 1 month}}]] | '''[[{{#time: F|{{CURRENTYEAR}}-{{{μήνας}}}}}]]''' | [[{{#time: F|{{CURRENTYEAR}}-{{{μήνας}}} + 1 month}}]] | [[{{#time: F|{{CURRENTYEAR}}-{{{μήνας}}} + 2 month}}]]</center> {{#switch: {{{μήνας}}}{{{ημέρα}}} | 0129 = <center>[[28 Καλανταρί]] {{!}} '''[[29 Καλανταρί]]''' {{!}} [[30 Καλανταρί]]</center><center>[[29 Χριστουγενναρί]] {{!}} [[29 Κούντουρονος]]</center> | 0228 = <center>[[27 Κούντουρονος]] {{!}} '''[[28 Κούντουρονος]]''' {{!}} ''[[29 Κούντουρονος]]'' {{!}} [[1 Μαρτ]]</center><center>[[28 Καλανταρί]] {{!}} [[28 Μαρτ]]</center> | 0229 = <center>[[28 Κούντουρονος]] {{!}} '''[[29 Κούντουρονος]]''' {{!}} [[1 Μαρτ]]</center><center>[[29 Καλανταρί]] {{!}} [[29 Μαρτ]]</center> | 031 = <center>[[28 Κούντουρονος]] {{!}} ''[[29 Κούντουρονος]]'' {{!}} '''[[1 Μαρτ]]''' {{!}} [[2 Μαρτ]]</center><center>[[1 Κούντουρονος]] {{!}} [[1 Απρίλτ]]</center> | 0329 = <center>[[28 Μαρτ]] {{!}} '''[[29 Μαρτ]]''' {{!}} [[30 Μαρτ]]</center><center>[[29 Κούντουρονος]] {{!}} [[29 Απρίλτ]]</center> | #default = <center>[[{{#time: j xg|{{CURRENTYEAR}}-{{{μήνας}}}-{{{ημέρα}}} - 1 day}}]] {{!}} '''[[{{#time: j xg|{{CURRENTYEAR}}-{{{μήνας}}}-{{{ημέρα}}}}}]]''' {{!}} [[{{#time: j xg|{{CURRENTYEAR}}-{{{μήνας}}}-{{{ημέρα}}} + 1 day}}]]</center>{{#switch: {{{μήνας}}}{{{ημέρα}}} | 0130 | 0131 | 0831 = <center>[[{{#time: j xg|{{CURRENTYEAR}}-{{{μήνας}}}-{{{ημέρα}}} - 1 month}}]]</center> | 0330 | 0731 | 1231 = <center>[[{{#time: j xg|{{CURRENTYEAR}}-{{{μήνας}}}-{{{ημέρα}}} + 1 month}}]]</center> | 0331 | 0531 | 1031 = | #default = <center>[[{{#time: j xg|{{CURRENTYEAR}}-{{{μήνας}}}-{{{ημέρα}}} - 1 month}}]] {{!}} [[{{#time: j xg|{{CURRENTYEAR}}-{{{μήνας}}}-{{{ημέρα}}} + 1 month}}]]</center>}}}}<!-- -->{{ΜήναςΗμερολόγιον|date={{CURRENTYEAR}}-{{{μήνας}}}-1|float=right}}<!-- -->{{Ημέρα τη χρονίας/Κατηγορίας|ημέρα={{{ημέρα}}}|μήνας={{{μήνας}}}}}<!-- --></includeonly><!-- --><noinclude>{{Documentation}}</noinclude> m98bnf3nuny92qxnbfez9gxg3gwu6zj Πρότυπον:Str find 10 1399 19135 2011-02-25T03:01:22Z Budelberger 25 Création. 19135 wikitext text/x-wiki {{#titleparts: {{str find/logic|{{{1|}}}|{{{2|}}}|{{str len|*{{{2|}}}*}}-2}}-1|1}}<!-- --><noinclude>{{Documentation}}</noinclude> j88y1yfnwt3yyzwcseg6lffa1zkq9c7 Πρότυπον:Str find/logic 10 1400 19136 2011-02-25T03:01:53Z Budelberger 25 Création. 19136 wikitext text/x-wiki {{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}}}}}}* | *{{{2}}}* | 1/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 1}}}}* | *{{str left|{{{1}}}|1}}{{{2}}}* | 2/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 2}}}}* | *{{str left|{{{1}}}|2}}{{{2}}}* | 3/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 3}}}}* | *{{str left|{{{1}}}|3}}{{{2}}}* | 4/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 4}}}}* | *{{str left|{{{1}}}|4}}{{{2}}}* | 5/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 5}}}}* | *{{str left|{{{1}}}|5}}{{{2}}}* | 6/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 6}}}}* | *{{str left|{{{1}}}|6}}{{{2}}}* | 7/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 7}}}}* | *{{str left|{{{1}}}|7}}{{{2}}}* | 8/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 8}}}}* | *{{str left|{{{1}}}|8}}{{{2}}}* | 9/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 9}}}}* | *{{str left|{{{1}}}|9}}{{{2}}}* | 10/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 10}}}}* | *{{str left|{{{1}}}|10}}{{{2}}}* | 11/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 11}}}}* | *{{str left|{{{1}}}|11}}{{{2}}}* | 12/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 12}}}}* | *{{str left|{{{1}}}|12}}{{{2}}}* | 13/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 13}}}}* | *{{str left|{{{1}}}|13}}{{{2}}}* | 14/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 14}}}}* | *{{str left|{{{1}}}|14}}{{{2}}}* | 15/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 15}}}}* | *{{str left|{{{1}}}|15}}{{{2}}}* | 16/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 16}}}}* | *{{str left|{{{1}}}|16}}{{{2}}}* | 17/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 17}}}}* | *{{str left|{{{1}}}|17}}{{{2}}}* | 18/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 18}}}}* | *{{str left|{{{1}}}|18}}{{{2}}}* | 19/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 19}}}}* | *{{str left|{{{1}}}|19}}{{{2}}}* | 20/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 20}}}}* | *{{str left|{{{1}}}|20}}{{{2}}}* | 21/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 21}}}}* | *{{str left|{{{1}}}|21}}{{{2}}}* | 22/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 22}}}}* | *{{str left|{{{1}}}|22}}{{{2}}}* | 23/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 23}}}}* | *{{str left|{{{1}}}|23}}{{{2}}}* | 24/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 24}}}}* | *{{str left|{{{1}}}|24}}{{{2}}}* | 25/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 25}}}}* | *{{str left|{{{1}}}|25}}{{{2}}}* | 26/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 26}}}}* | *{{str left|{{{1}}}|26}}{{{2}}}* | 27/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 27}}}}* | *{{str left|{{{1}}}|27}}{{{2}}}* | 28/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 28}}}}* | *{{str left|{{{1}}}|28}}{{{2}}}* | 29/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 29}}}}* | *{{str left|{{{1}}}|29}}{{{2}}}* | 30/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 30}}}}* | *{{str left|{{{1}}}|30}}{{{2}}}* | 31/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 31}}}}* | *{{str left|{{{1}}}|31}}{{{2}}}* | 32/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 32}}}}* | *{{str left|{{{1}}}|32}}{{{2}}}* | 33/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 33}}}}* | *{{str left|{{{1}}}|33}}{{{2}}}* | 34/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 34}}}}* | *{{str left|{{{1}}}|34}}{{{2}}}* | 35/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 35}}}}* | *{{str left|{{{1}}}|35}}{{{2}}}* | 36/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 36}}}}* | *{{str left|{{{1}}}|36}}{{{2}}}* | 37/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 37}}}}* | *{{str left|{{{1}}}|37}}{{{2}}}* | 38/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 38}}}}* | *{{str left|{{{1}}}|38}}{{{2}}}* | 39/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 39}}}}* | *{{str left|{{{1}}}|39}}{{{2}}}* | 40/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 40}}}}* | *{{str left|{{{1}}}|40}}{{{2}}}* | 41/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 41}}}}* | *{{str left|{{{1}}}|41}}{{{2}}}* | 42/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 42}}}}* | *{{str left|{{{1}}}|42}}{{{2}}}* | 43/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 43}}}}* | *{{str left|{{{1}}}|43}}{{{2}}}* | 44/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 44}}}}* | *{{str left|{{{1}}}|44}}{{{2}}}* | 45/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 45}}}}* | *{{str left|{{{1}}}|45}}{{{2}}}* | 46/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 46}}}}* | *{{str left|{{{1}}}|46}}{{{2}}}* | 47/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 47}}}}* | *{{str left|{{{1}}}|47}}{{{2}}}* | 48/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 48}}}}* | *{{str left|{{{1}}}|48}}{{{2}}}* | 49/}}<!-- -->{{#ifeq: *{{str left|{{{1}}}|{{#expr: {{{3}}} + 49}}}}* | *{{str left|{{{1}}}|49}}{{{2}}}* | 50/}}<!-- --><noinclude>{{Documentation}}</noinclude> olwom9jdltgh1l5bbbtq83vpnz2egvx Πρότυπον:Str len 10 1401 19137 2011-02-25T03:02:38Z Budelberger 25 Création. 19137 wikitext text/x-wiki {{{{{|safesubst:}}}#ifeq: x{{{{{|safesubst:}}}#if:x|{{{1|}}}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| 500 }} <noinclude><!-- str >= 500 --></noinclude> | 500 | {{{{{|safesubst:}}}str len/core <noinclude><!-- xx0-xx9 --></noinclude> |{{{{{|safesubst:}}}#if:x|{{{1|}}}}} | {{{{{|safesubst:}}}str len/core <noinclude><!-- x0x-x9x --></noinclude> |{{{{{|safesubst:}}}#if:x|{{{1|}}}}} | {{{{{|safesubst:}}}str len/core <noinclude><!-- 0xx-4xx --></noinclude> |{{{{{|safesubst:}}}#if:x|{{{1|}}}}} | | hundreds }}| tens }}| ones }} }}<!-- --><noinclude>{{Documentation}}</noinclude> 5abrmrqmzng0bbezkp5j4fm9z8p9kom Πρότυπον:Str len/core 10 1402 19138 2011-02-25T03:03:11Z Budelberger 25 Création. 19138 wikitext text/x-wiki {{{{{|safesubst:}}}#switch: {{{3|}}} | hundreds = <noinclude><!-- 0xx-4xx, using linear search since most strings will probably be less than 100 bytes. --></noinclude> {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| 100 }} <noinclude><!--str >= x--></noinclude> | {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| 200 }} | {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| 300 }} | {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| 400 }} | 4 | 3 }} | 2 }} | 1 }} | <noinclude><!-- Don't return 0, since tens and ones don't want a leading 0 in parameter 2. --></noinclude> }} | tens = <noinclude><!-- x0x-x9x, using linear search for 0x-3x, binary search for 4x-9x, since most strings will probably be 0-39 bytes. --></noinclude> {{{2|}}}{{ {{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| {{{2|}}}10 }} <noinclude><!--str >= x--></noinclude> | {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| {{{2|}}}20 }} | {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| {{{2|}}}30 }} | {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| {{{2|}}}40 }} | {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| {{{2|}}}60 }} | {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| {{{2|}}}80 }} | {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| {{{2|}}}90 }} | 9 | 8 }} | {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| {{{2|}}}70 }} | 7 | 6 }} }} | {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| {{{2|}}}50 }} | 5 | 4 }} }} | 3 }} | 2 }} | 1 }} | {{{{{|safesubst:}}}#if:{{{2|}}}|0}} <noinclude><!-- Only return 0 if >=100, since ones don't want a leading 0 in parameter 2. --></noinclude> }} | ones = <noinclude><!-- xx0-xx9, using binary search. --></noinclude> {{{2|}}}{{ {{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| {{{2|}}}4 }} <noinclude><!--str >= x--></noinclude> | {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| {{{2|}}}6 }} | {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| {{{2|}}}8 }} | {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| {{{2|}}}9 }} | 9 | 8 }} | {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| {{{2|}}}7 }} | 7 | 6 }} }} | {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| {{{2|}}}5 }} | 5 | 4 }} }} | {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| {{{2|}}}2 }} | {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| {{{2|}}}3 }} | 3 | 2 }} | {{{{{|safesubst:}}}#ifeq: x{{{1|}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| {{{2|}}}1 }} | 1 | 0 }} }} }} }}<!-- --><noinclude>{{Documentation}}</noinclude> 0n2akycaj4x8wq6bxbht2featuk3wen Πρότυπον:Str left 10 1403 36950 19139 2025-12-16T13:30:09Z Εὐθυμένης 2777 36950 wikitext text/x-wiki <includeonly>{{safesubst:padleft:|{{{2|1}}}|{{{1}}}}}</includeonly><noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> 3rrdme1fpv80h1kdk9b7zwlkqd34dfk Πρότυπον:Str index any 10 1404 19140 2011-02-25T03:04:54Z Budelberger 25 Création. 19140 wikitext text/x-wiki <includeonly>{{{{{|safesubst:}}}str ≥ len | 1 = {{{1|}}} | 2 = {{{2|0}}} | 3 = {{{{{|safesubst:}}}str index/getchar |nocategory={{{nocategory|}}} |*{{{{{|safesubst:}}}str left |nocategory={{{nocategory|}}} |{{{1|}}}|{{{2|0}}}}}*|{{{{{|safesubst:}}}str left |nocategory={{{nocategory|}}} |{{{1|}}}|{{{{{|safesubst:}}}#expr:{{{2|0}}}-1}}}}}} | 4 = <noinclude><!--IGNORE: {Str index any} - End of string.--></noinclude> }}</includeonly><!-- --><noinclude>{{Documentation}}</noinclude> tc0srn13nt0bbhpp04ab3zv6p8392wd Πρότυπον:Str ≥ len 10 1405 19141 2011-02-25T03:05:49Z Budelberger 25 Création. 19141 wikitext text/x-wiki {{{{{|safesubst:}}}#ifeq: x{{{{{|safesubst:}}}#if:x|{{{1|}}}}} | x{{{{{|safesubst:}}}padleft:{{{1|}}}| {{{2|}}} }} <noinclude><!-- str >= len --></noinclude> | {{{3|}}} | {{{4|}}} }}<!-- --><noinclude>{{Documentation}}</noinclude> 5xf86htlmge49bm5s4m7k23cgovprf0 Πρότυπον:Str index/getchar 10 1406 19143 2011-02-25T03:32:48Z Budelberger 25 Création. 19143 wikitext text/x-wiki <includeonly>{{{{{|safesubst:}}}#switch: {{{1}}} | *{{{2}}} * =&#32;<noinclude><!--matches a space--></noinclude> | *{{{2}}}Α* = Α | *{{{2}}}Β* = Β | *{{{2}}}Γ* = Γ | *{{{2}}}Δ* = Δ | *{{{2}}}Ε* = Ε | *{{{2}}}Ζ* = Ζ | *{{{2}}}Η* = Η | *{{{2}}}Θ* = Θ | *{{{2}}}Ι* = Ι | *{{{2}}}Κ* = Κ | *{{{2}}}Λ* = Λ | *{{{2}}}Μ* = Μ | *{{{2}}}Ν* = Ν | *{{{2}}}Ξ* = Ξ | *{{{2}}}Ο* = Ο | *{{{2}}}Π* = Π | *{{{2}}}Ρ* = Ρ | *{{{2}}}Σ* = Σ | *{{{2}}}Τ* = Τ | *{{{2}}}Υ* = Υ | *{{{2}}}Φ* = Φ | *{{{2}}}Χ* = Χ | *{{{2}}}Ψ* = Ψ | *{{{2}}}Ω* = Ω<noinclude><!-- --></noinclude> | *{{{2}}}Ά* = Ά | *{{{2}}}Έ* = Έ | *{{{2}}}Ή* = Ή | *{{{2}}}Ί* = Ί | *{{{2}}}Ό* = Ό | *{{{2}}}Ύ* = Ύ | *{{{2}}}Ώ* = Ώ<noinclude><!-- --></noinclude> | *{{{2}}}α* = α | *{{{2}}}β* = β | *{{{2}}}γ* = γ | *{{{2}}}δ* = δ | *{{{2}}}ε* = ε | *{{{2}}}ζ* = ζ | *{{{2}}}η* = η | *{{{2}}}θ* = θ | *{{{2}}}ι* = ι | *{{{2}}}κ* = κ | *{{{2}}}λ* = λ | *{{{2}}}μ* = μ | *{{{2}}}ν* = ν | *{{{2}}}ξ* = ξ | *{{{2}}}ο* = ο | *{{{2}}}π* = π | *{{{2}}}ρ* = ρ | *{{{2}}}σ* = σ | *{{{2}}}ς* = ς | *{{{2}}}τ* = τ | *{{{2}}}υ* = υ | *{{{2}}}φ* = φ | *{{{2}}}χ* = χ | *{{{2}}}ψ* = ψ | *{{{2}}}ω* = ω<noinclude><!-- --></noinclude> | *{{{2}}}ά* = ά | *{{{2}}}έ* = έ | *{{{2}}}ή* = ή | *{{{2}}}ί* = ί | *{{{2}}}ό* = ό | *{{{2}}}ύ* = ύ | *{{{2}}}ώ* = ώ<noinclude><!-- --></noinclude> |*{{{2}}}a*=a |*{{{2}}}b*=b |*{{{2}}}c*=c |*{{{2}}}d*=d |*{{{2}}}e*=e |*{{{2}}}f*=f |*{{{2}}}g*=g |*{{{2}}}h*=h |*{{{2}}}i*=i |*{{{2}}}j*=j |*{{{2}}}k*=k |*{{{2}}}l*=l |*{{{2}}}m*=m |*{{{2}}}n*=n |*{{{2}}}o*=o |*{{{2}}}p*=p |*{{{2}}}q*=q |*{{{2}}}r*=r |*{{{2}}}s*=s |*{{{2}}}t*=t |*{{{2}}}u*=u |*{{{2}}}v*=v |*{{{2}}}w*=w |*{{{2}}}x*=x |*{{{2}}}y*=y |*{{{2}}}z*=z<noinclude><!-- --></noinclude> |*{{{2}}}A*=A |*{{{2}}}B*=B |*{{{2}}}C*=C |*{{{2}}}D*=D |*{{{2}}}E*=E |*{{{2}}}F*=F |*{{{2}}}G*=G |*{{{2}}}H*=H |*{{{2}}}I*=I |*{{{2}}}J*=J |*{{{2}}}K*=K |*{{{2}}}L*=L |*{{{2}}}M*=M |*{{{2}}}N*=N |*{{{2}}}O*=O |*{{{2}}}P*=P |*{{{2}}}Q*=Q |*{{{2}}}R*=R |*{{{2}}}S*=S |*{{{2}}}T*=T |*{{{2}}}U*=U |*{{{2}}}V*=V |*{{{2}}}W*=W |*{{{2}}}X*=X |*{{{2}}}Y*=Y |*{{{2}}}Z*=Z<noinclude><!-- --></noinclude> |*{{{2}}}1*=1 |*{{{2}}}2*=2 |*{{{2}}}3*=3 |*{{{2}}}4*=4 |*{{{2}}}5*=5 |*{{{2}}}6*=6 |*{{{2}}}7*=7 |*{{{2}}}8*=8 |*{{{2}}}9*=9 |*{{{2}}}0*=0<noinclude><!-- --></noinclude> |*{{{2}}}!*=! |*{{{2}}}@*=@ |*{{{2}}}#*=# |*{{{2}}}$*=$ |*{{{2}}}%*=% |*{{{2}}}^*=^ |*{{{2}}}&*=& |*{{{2}}}**=* |*{{{2}}}(*=( |*{{{2}}})*=)<noinclude><!-- --></noinclude> |*{{{2}}}.*=. |*{{{2}}},*=, |*{{{2}}}<*=< |*{{{2}}}>*=> |*{{{2}}}:*=: |*{{{2}}};*=; |*{{{2}}}[*=[ |*{{{2}}}]*=] |*{{{2}}}'*=' |*{{{2}}}"*=" |*{{{2}}}?*=? |*{{{2}}}/*=/ |*{{{2}}}\*=\ |*{{{2}}}{*={ |*{{{2}}}}*=} |*{{{2}}}~*=~ |*{{{2}}}`*=` |*{{{2}}}{{=}}*={{=}} |*{{{2}}}-*=- |*{{{2}}}{{!}}*={{!}} |*{{{2}}}+*=+ |*{{{2}}}_*=_ |*{{{2}}}♣*=♣ |*{{{2}}}♦*=♦ |*{{{2}}}♥*=♥ |*{{{2}}}♠*=♠<noinclude><!-- --></noinclude> |*{{{2}}}Á*=Á |*{{{2}}}á*=á |*{{{2}}}À*=À |*{{{2}}}à*=à |*{{{2}}}Â*= |*{{{2}}}â*=â |*{{{2}}}Ä*=Ä |*{{{2}}}ä*=ä |*{{{2}}}Ǎ*=Ǎ |*{{{2}}}ǎ*=ǎ |*{{{2}}}Ă*=Ă |*{{{2}}}ă*=ă |*{{{2}}}Ā*=Ā |*{{{2}}}ā*=ā |*{{{2}}}Ã*=à |*{{{2}}}ã*=ã |*{{{2}}}Å*=Å |*{{{2}}}å*=å |*{{{2}}}Ą*=Ą |*{{{2}}}ą*=ą |*{{{2}}}Æ*=Æ |*{{{2}}}æ*=æ<noinclude><!-- --></noinclude> |*{{{2}}}Ć*=Ć |*{{{2}}}ć*=ć |*{{{2}}}Ċ*=Ċ |*{{{2}}}ċ*=ċ |*{{{2}}}Ĉ*=Ĉ |*{{{2}}}ĉ*=ĉ |*{{{2}}}Č*=Č |*{{{2}}}č*=č |*{{{2}}}Ç*=Ç |*{{{2}}}ç*=ç |*{{{2}}}Ď*=Ď |*{{{2}}}ď*=ď |*{{{2}}}Đ*=Đ |*{{{2}}}đ*=đ |*{{{2}}}Ð*=Ð |*{{{2}}}ð*=ð |*{{{2}}}É*=É |*{{{2}}}é*=é |*{{{2}}}È*=È |*{{{2}}}è*=è |*{{{2}}}Ė*=Ė |*{{{2}}}ė*=ė |*{{{2}}}Ê*=Ê |*{{{2}}}ê*=ê |*{{{2}}}Ë*=Ë |*{{{2}}}ë*=ë |*{{{2}}}Ě*=Ě |*{{{2}}}ě*=ě |*{{{2}}}Ĕ*=Ĕ |*{{{2}}}ĕ*=ĕ |*{{{2}}}Ē*=Ē |*{{{2}}}ē*=ē |*{{{2}}}Ẽ*=Ẽ |*{{{2}}}ẽ*=ẽ |*{{{2}}}Ę*=Ę |*{{{2}}}ę*=ę |*{{{2}}}Ġ*=Ġ |*{{{2}}}ġ*=ġ |*{{{2}}}Ĝ*=Ĝ |*{{{2}}}ĝ*=ĝ |*{{{2}}}Ğ*=Ğ |*{{{2}}}ğ*=ğ |*{{{2}}}Ģ*=Ģ |*{{{2}}}ģ*=ģ |*{{{2}}}Ĥ*=Ĥ |*{{{2}}}ĥ*=ĥ |*{{{2}}}Ħ*=Ħ |*{{{2}}}ħ*=ħ |*{{{2}}}İ*=İ |*{{{2}}}ı*=ı |*{{{2}}}Í*=Í |*{{{2}}}í*=í |*{{{2}}}Ì*=Ì |*{{{2}}}ì*=ì |*{{{2}}}Î*=Î |*{{{2}}}î*=î |*{{{2}}}Ï*=Ï |*{{{2}}}ï*=ï |*{{{2}}}Ǐ*=Ǐ |*{{{2}}}ǐ*=ǐ |*{{{2}}}Ĭ*=Ĭ |*{{{2}}}ĭ*=ĭ |*{{{2}}}Ī*=Ī |*{{{2}}}ī*=ī |*{{{2}}}Ĩ*=Ĩ |*{{{2}}}ĩ*=ĩ |*{{{2}}}Į*=Į |*{{{2}}}į*=į |*{{{2}}}Ĵ*=Ĵ |*{{{2}}}ĵ*=ĵ |*{{{2}}}Ķ*=Ķ |*{{{2}}}ķ*=ķ |*{{{2}}}Ĺ*=Ĺ |*{{{2}}}ĺ*=ĺ |*{{{2}}}Ŀ*=Ŀ |*{{{2}}}ŀ*=ŀ |*{{{2}}}Ľ*=Ľ |*{{{2}}}ľ*=ľ |*{{{2}}}Ļ*=Ļ |*{{{2}}}ļ*=ļ |*{{{2}}}Ł*=Ł |*{{{2}}}ł*=ł |*{{{2}}}Ń*=Ń |*{{{2}}}ń*=ń |*{{{2}}}Ň*=Ň |*{{{2}}}ň*=ň |*{{{2}}}Ñ*=Ñ |*{{{2}}}ñ*=ñ |*{{{2}}}Ņ*=Ņ |*{{{2}}}ņ*=ņ |*{{{2}}}Ṇ*=Ṇ |*{{{2}}}ṇ*=ṇ |*{{{2}}}Ó*=Ó |*{{{2}}}ó*=ó |*{{{2}}}Ò*=Ò |*{{{2}}}ò*=ò |*{{{2}}}Ô*=Ô |*{{{2}}}ô*=ô |*{{{2}}}Ö*=Ö |*{{{2}}}ö*=ö |*{{{2}}}Ǒ*=Ǒ |*{{{2}}}ǒ*=ǒ |*{{{2}}}Ŏ*=Ŏ |*{{{2}}}ŏ*=ŏ |*{{{2}}}Ō*=Ō |*{{{2}}}ō*=ō |*{{{2}}}Õ*=Õ |*{{{2}}}õ*=õ |*{{{2}}}Ǫ*=Ǫ |*{{{2}}}ǫ*=ǫ |*{{{2}}}Ő*=Ő |*{{{2}}}ő*=ő |*{{{2}}}Ø*=Ø |*{{{2}}}ø*=ø |*{{{2}}}Œ*=Œ |*{{{2}}}œ*=œ |*{{{2}}}Ŕ*=Ŕ |*{{{2}}}ŕ*=ŕ |*{{{2}}}Ř*=Ř |*{{{2}}}ř*=ř |*{{{2}}}Ŗ*=Ŗ |*{{{2}}}ŗ*=ŗ |*{{{2}}}Ṛ*=Ṛ |*{{{2}}}ṛ*=ṛ |*{{{2}}}Ṝ*=Ṝ |*{{{2}}}ṝ*=ṝ |*{{{2}}}Ś*=Ś |*{{{2}}}ś*=ś |*{{{2}}}Ŝ*=Ŝ |*{{{2}}}ŝ*=ŝ |*{{{2}}}Š*=Š |*{{{2}}}š*=š |*{{{2}}}Ş*=Ş |*{{{2}}}ş*=ş |*{{{2}}}Ṣ*=Ṣ |*{{{2}}}ṣ*=ṣ |*{{{2}}}ß*=ß |*{{{2}}}Ť*=Ť |*{{{2}}}ť*=ť |*{{{2}}}Ţ*=Ţ |*{{{2}}}ţ*=ţ |*{{{2}}}Ú*=Ú |*{{{2}}}ú*=ú |*{{{2}}}Ù*=Ù |*{{{2}}}ù*=ù |*{{{2}}}Û*=Û |*{{{2}}}û*=û |*{{{2}}}Ü*=Ü |*{{{2}}}ü*=ü |*{{{2}}}Ǔ*=Ǔ |*{{{2}}}ǔ*=ǔ |*{{{2}}}Ŭ*=Ŭ |*{{{2}}}ŭ*=ŭ |*{{{2}}}Ū*=Ū |*{{{2}}}ū*=ū |*{{{2}}}Ũ*=Ũ |*{{{2}}}ũ*=ũ |*{{{2}}}Ů*=Ů |*{{{2}}}ů*=ů |*{{{2}}}Ų*=Ų |*{{{2}}}ų*=ų |*{{{2}}}Ű*=Ű |*{{{2}}}ű*=ű |*{{{2}}}Ǘ*=Ǘ |*{{{2}}}ǘ*=ǘ |*{{{2}}}Ǜ*=Ǜ |*{{{2}}}ǜ*=ǜ |*{{{2}}}Ǚ*=Ǚ |*{{{2}}}ǚ*=ǚ |*{{{2}}}Ǖ*=Ǖ |*{{{2}}}ǖ*=ǖ |*{{{2}}}Ŵ*=Ŵ |*{{{2}}}ŵ*=ŵ |*{{{2}}}Ý*=Ý |*{{{2}}}ý*=ý |*{{{2}}}Ŷ*=Ŷ |*{{{2}}}ŷ*=ŷ |*{{{2}}}Ÿ*=Ÿ |*{{{2}}}ÿ*=ÿ |*{{{2}}}Ỹ*=Ỹ |*{{{2}}}ỹ*=ỹ |*{{{2}}}Ź*=Ź |*{{{2}}}ź*=ź |*{{{2}}}Ż*=Ż |*{{{2}}}ż*=ż |*{{{2}}}Ž*=Ž |*{{{2}}}ž*=ž |*{{{2}}}ß*=ß |*{{{2}}}Ð*=Ð |*{{{2}}}ð*=ð |*{{{2}}}Þ*=Þ |*{{{2}}}þ*=þ |*{{{2}}}ɪ*=ɪ |*{{{2}}}ɛ*=ɛ |*{{{2}}}æ*=æ |*{{{2}}}ɒ*=ɒ |*{{{2}}}ʌ*=ʌ |*{{{2}}}ʊ*=ʊ |*{{{2}}}ɜ*=ɜ |*{{{2}}}ː*=ː |*{{{2}}}ɑ*=ɑ |*{{{2}}}ɔ*=ɔ |*{{{2}}}ə*=ə |*{{{2}}}ɨ*=ɨ |*{{{2}}}ˈ*=ˈ |*{{{2}}}ˌ*=ˌ |*{{{2}}}ˑ*=ˑ |*{{{2}}}θ*=θ |*{{{2}}}ð*=ð |*{{{2}}}ʃ*=ʃ |*{{{2}}}ʒ*=ʒ |*{{{2}}}ŋ*=ŋ |{{FormattingError |nocategory={{{nocategory|}}} |Str_index/getchar - Unknown code "{{{1}}}"}} }}</includeonly><!-- --><noinclude>{{Documentation}}</noinclude> rxfl8hz1id8esine3pk7ug8255nj2od Πρότυπον:Ημέρα τη χρονίας/Κατηγορίας 10 1408 19286 2011-03-02T03:09:44Z Budelberger 25 Création. 19286 wikitext text/x-wiki <includeonly>{{#if: {{NAMESPACE}} | | [[Κατηγορίαν:{{PAGENAME}}| ]] [[Κατηγορίαν:Ημέρας τη χρονίας|&#{{#expr: 912 + {{{μήνας}}}}};{{padleft: {{{ημέρα}}}|2|0}}]]}}</includeonly><!-- --><noinclude>{{Documentation}}</noinclude> nueomarg77v6ezu1xxrr7udps85czj4 Πρότυπον:BBC: On This Day 10 1409 19365 19288 2011-03-08T22:06:11Z Budelberger 25 19365 wikitext text/x-wiki [http://news.bbc.co.uk/onthisday/<includeonly>hi/dates/stories/{{#switch: {{lc: {{{2|{{{μήνας|{{Second of two words}}}}}}}}}} | 01 | 1 | i | Ⅰ | ⅰ | καλανταρί | καλαντάρτς = january | 02 | 2 | ii | Ⅱ | ⅱ | κούντουρονος | κούντουρος = february | 03 | 3 | iii | Ⅲ | ⅲ | μαρτ | μάρτ | μαρτί | μαρτς | μάρτς = march | 04 | 4 | iv | Ⅳ | ⅳ | απρίλ | απρίλτ | απρίλτς = april | 05 | 5 | v | Ⅴ | ⅴ | καλομηνά | καλομηνάς = may | 06 | 6 | vi | Ⅵ | ⅵ | κερασινού | κερασινός = june | 07 | 7 | vii | Ⅶ | ⅶ | χορτοθερί | χορτοθέρτ | χορτοθέρτς = july | 08 | 8 | viii | Ⅷ | ⅷ | αλωναρί | aλωναρί | αλωνάρτς | aλωνάρτς = august | 09 | 9 | ix | Ⅸ | ⅸ | σταυρί | σταυρίτες = september | 10 | x | Ⅹ | ⅹ | τρυγομηνά | τρυγομηνάς = october | 11 | xi | Ⅺ | ⅺ | ⅩⅠ | ⅹⅰ | αεργί | αεργίτες = november | 12 | xii | Ⅻ | ⅻ | ⅩⅠⅠ | ⅹⅰⅰ | χριστουγενναρί | χριστουγεννάρτς = december | #default = {{{2}}}}}/{{#expr: {{{1|{{{ημέρα|{{First word}}}}}}}}}}/default.stm</includeonly> BBC: On This Day] {{#if: {{{3|{{{eng|}}}}}} | | ({{icon eng}})}}<!-- --><noinclude>{{Documentation}}</noinclude> b3synm0ze288ot0dws7e78wdt832xkh 9 Χορτοθερί 0 1410 37325 32029 2025-12-16T19:51:06Z Εὐθυμένης 2777 37325 wikitext text/x-wiki ---- {{ΗμερολόγιοΣεΠίνακα|7}} Η '''9 τη Χορτοθερί''' εν το 190ον το ημέραν τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]] (έν το 191ον ημέρα σο δίσεκτον τη χρονία). 175 ημέρας απομέν'νε ουσνα τελείται η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Συνδέζμαι == {{Commons|July 9}} * {{BBC: On This Day}} * {{The New York Times: On This Day}} {{Μήνας‎}} kjcr09tm1o3gd8psop3idjj6mjbcm0o Πρότυπον:Μήνας/doc 10 1411 19290 2011-03-02T04:09:48Z Budelberger 25 Création. 19290 wikitext text/x-wiki <includeonly> [[de:Vorlage:Navigationsleiste Monate]] [[dsb:Pśedłoga:Mjasece]] [[el:Πρότυπο:Μήνες]] [[en:Template:Month header]] [[fr:Modèle:Mois]] [[hsb:Předłoha:Měsacy]] [[it:Template:Mesi]] [[nah:Plantilla:Meses]] [[pl:Szablon:Miesiące]] </includeonly> 64g186jlyf7x312ij84gozfn7y7ry59 Πρότυπον:Clear 10 1412 36373 31467 2025-12-15T14:53:35Z Εὐθυμένης 2777 36373 wikitext text/x-wiki <div style="clear:{{{1|both}}};"></div><noinclude>{{Documentation}}</noinclude> iomjbs5kovlcxi46oobvlsfxgy62i3c 10 Χορτοθερί 0 1413 35455 35454 2023-08-10T01:02:31Z Wutsje 248 rv cross-wiki spam, see https://guc.toolforge.org/?by=date&user=92.46.159.43 35455 wikitext text/x-wiki {{Ημέρα τη χρονίας}} Η '''10 τη Χορτοθερί''' εν το 191ον το ημέραν τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]] (έν το 192ον ημέρα σο δίσεκτον τη χρονία). 174 ημέρας απομέν'νε ουσνα τελείται η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Συνδέζμαι == {{Commons|July 10}} * {{BBC: On This Day}} * {{The New York Times: On This Day}} {{Πρότυπον:Μήνας‎}} t46961d7rnmsadtkhqp3p7v8x8euws5 Πρότυπον:ΜήναςΗμερολόγιον/Εβδομάδα 10 1415 19368 19356 2011-03-08T22:14:54Z Budelberger 25 19368 wikitext text/x-wiki <includeonly>{{#ifexpr: {{{day}}} + 6 > 0 and {{{day}}} <= {{{monthdays}}} | {{!-}} {{!}} {{#ifexpr: {{{day}}} > 0 and {{{day}}} <= {{{monthdays}}} | [[{{{day}}} {{#time: xg|{{{date}}}}}|{{{day}}}]] | &nbsp;}} {{!}} {{#ifexpr: {{{day}}} + 1 > 0 and {{{day}}} + 1 <= {{{monthdays}}} | [[{{#expr: {{{day}}} + 1}} {{#time: xg|{{{date}}}}}|{{#expr: {{{day}}} + 1}}]] | &nbsp;}} {{!}} {{#ifexpr: {{{day}}} + 2 > 0 and {{{day}}} + 2 <= {{{monthdays}}} | [[{{#expr: {{{day}}} + 2}} {{#time: xg|{{{date}}}}}|{{#expr: {{{day}}} + 2}}]] | &nbsp;}} {{!}} {{#ifexpr: {{{day}}} + 3 > 0 and {{{day}}} + 3 <= {{{monthdays}}} | [[{{#expr: {{{day}}} + 3}} {{#time: xg|{{{date}}}}}|{{#expr: {{{day}}} + 3}}]] | &nbsp;}} {{!}} {{#ifexpr: {{{day}}} + 4 > 0 and {{{day}}} + 4 <= {{{monthdays}}} | [[{{#expr: {{{day}}} + 4}} {{#time: xg|{{{date}}}}}|{{#expr: {{{day}}} + 4}}]] | &nbsp;}} {{!}} {{#ifexpr: {{{day}}} + 5 > 0 and {{{day}}} + 5 <= {{{monthdays}}} | [[{{#expr: {{{day}}} + 5}} {{#time: xg|{{{date}}}}}|{{#expr: {{{day}}} + 5}}]] | &nbsp;}} {{!}} {{#ifexpr: {{{day}}} + 6 > 0 and {{{day}}} + 6 <= {{{monthdays}}} | [[{{#expr: {{{day}}} + 6}} {{#time: xg|{{{date}}}}}|{{#expr: {{{day}}} + 6}}]] | &nbsp;}} {{!-}} }}</includeonly><!-- --><noinclude>{{Documentation}}</noinclude> ojh3vpr8j18opieqrxqc0rjpo7ky2iz Πρότυπον:ΜήναςΗμερολόγιον 10 1416 19357 2011-03-08T01:18:34Z Budelberger 25 Création. 19357 wikitext text/x-wiki {|class="toccolours" style="float:{{{float|none}}}; text-align:center;" cellpadding=1 cellspacing=1 |- style="{{{titlestyle|background-color: #ccccff;}}}" |[[{{#time: F | {{{date|}}} - 1 month}}|<<]] |colspan="5" style="text-align: center;"| '''[[{{#time: F | {{{date|}}}}}]]''' |[[{{#time: F | {{{date|}}} + 1 month}}|>>]] |- style="{{{titlestyle|background-color: #ccccff;}}}" |- style="border: none; {{{weekstyle|background-color: #ccccff;}}}" | style="width:14%;" | [[Κερεκήν|Κερ.]] | style="width:14%;" | [[Δευτέραν|Δευτ.]] | style="width:14%;" | [[Τρίτ]] | style="width:14%;" | [[Τετράδ|Τετρ.]] | style="width:14%;" | [[Πέφτ]] | style="width:14%;" | [[Παρασκευήν|Παρ.]] | style="width:14%;" | [[Σάββαν|Σάβ.]] {{ΜήναςΗμερολόγιον/Εβδομάδα|day={{#expr:01-{{#time:N|{{{date|{{#time:Y-m-01}}}}}}}}}|monthdays={{#time:t|{{{date|}}}}}|date={{#time:Y-m-01|{{{date|}}}}}}} {{ΜήναςΗμερολόγιον/Εβδομάδα|day={{#expr:08-{{#time:N|{{{date|{{#time:Y-m-01}}}}}}}}}|monthdays={{#time:t|{{{date|}}}}}|date={{#time:Y-m-01|{{{date|}}}}}}} {{ΜήναςΗμερολόγιον/Εβδομάδα|day={{#expr:15-{{#time:N|{{{date|{{#time:Y-m-01}}}}}}}}}|monthdays={{#time:t|{{{date|}}}}}|date={{#time:Y-m-01|{{{date|}}}}}}} {{ΜήναςΗμερολόγιον/Εβδομάδα|day={{#expr:22-{{#time:N|{{{date|{{#time:Y-m-01}}}}}}}}}|monthdays={{#time:t|{{{date|}}}}}|date={{#time:Y-m-01|{{{date|}}}}}}} {{ΜήναςΗμερολόγιον/Εβδομάδα|day={{#expr:29-{{#time:N|{{{date|{{#time:Y-m-01}}}}}}}}}|monthdays={{#time:t|{{{date|}}}}}|date={{#time:Y-m-01|{{{date|}}}}}}} {{ΜήναςΗμερολόγιον/Εβδομάδα|day={{#expr:36-{{#time:N|{{{date|{{#time:Y-m-01}}}}}}}}}|monthdays={{#time:t|{{{date|}}}}}|date={{#time:Y-m-01|{{{date|}}}}}}} |- |colspan="7"| &nbsp; {{#if: {{{EndNote|}}} | {{!}}colspan="7"{{!}}{{{EndNote}}}}} |- style="{{{titlestyle|background-color: #ccccff;}}}" |colspan="7"| '''[[{{#time: Y | {{{date|}}}}}|{{#time: xrY | {{{date|}}}}}]]''' |}<noinclude><!-- --><noinclude>{{Documentation}}</noinclude> 37l4niyihy4vpuk5ievwn5j79yozn7d Πρότυπον:The New York Times: On This Day 10 1417 19359 2011-03-08T01:38:03Z Budelberger 25 Création. 19359 wikitext text/x-wiki [http://learning.blogs.nytimes.com/on-this-day/<includeonly>{{#switch: {{lc: {{{2|{{{μήνας|{{Second of two words}}}}}}}}}} | 01 | 1 | i | Ⅰ | ⅰ | καλανταρί | καλαντάρτς = january | 02 | 2 | ii | Ⅱ | ⅱ | κούντουρονος | κούντουρος = february | 03 | 3 | iii | Ⅲ | ⅲ | μαρτ | μάρτ | μαρτί | μαρτς | μάρτς = march | 04 | 4 | iv | Ⅳ | ⅳ | απρίλ | απρίλτ | απρίλτς = april | 05 | 5 | v | Ⅴ | ⅴ | καλομηνά | καλομηνάς = may | 06 | 6 | vi | Ⅵ | ⅵ | κερασινού | κερασινός = june | 07 | 7 | vii | Ⅶ | ⅶ | χορτοθερί | χορτοθέρτ | χορτοθέρτς = july | 08 | 8 | viii | Ⅷ | ⅷ | αλωναρί | aλωναρί | αλωνάρτς | aλωνάρτς = august | 09 | 9 | ix | Ⅸ | ⅸ | σταυρί | σταυρίτες = september | 10 | x | Ⅹ | ⅹ | τρυγομηνά | τρυγομηνάς = october | 11 | xi | Ⅺ | ⅺ | ⅩⅠ | ⅹⅰ | αεργί | αεργίτες = november | 12 | xii | Ⅻ | ⅻ | ⅩⅠⅠ | ⅹⅰⅰ | χριστουγενναρί | χριστουγεννάρτς = december | #default = {{lc: {{{2}}}}}}}-{{#expr: {{{1|{{{ημέρα|{{First word}}}}}}}}}}/</includeonly> The New York Times: On This Day] {{#if: {{{3|{{{eng|}}}}}} | | ({{icon eng}})}}<!-- --><noinclude>{{Documentation}}</noinclude> e7bj92xu43x1n70eyx0bvcceexu9xmi 29 Κούντουρονος 0 1418 37317 37316 2025-12-16T19:27:13Z Εὐθυμένης 2777 37317 wikitext text/x-wiki ---- {{ΗμερολόγιοΣεΠίνακα|2}} Η '''29 τη Κούντουρονος''' εν 60ον ημέρα δίσεκτα τη χρονίας, άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 306 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Συνδέζμαι == {{Commons|February 29}} * {{BBC: On This Day}} * {{The New York Times: On This Day‎}} {{Πρότυπον:Μήνας‎}} eukh9opikpqz00g63hfsgrb75qpzhab Εσθονία 0 1422 35923 35491 2024-10-26T05:25:40Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35923 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Εσθονία'''</big></big><br/>''Eesti Vabariik'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | width="140" align="center" | [[Αρχείον:Flag of Estonia.svg|125px]] | width="140" align="center" | [[Αρχείον:Coat_of_arms_of Estonia.svg|125px]] |- | width="140" align="center" | | width="140" align="center" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Estonia.svg|300px]] |} Η '''Εσθονία''' (σα εσθονικά: ''Eesti Vabariik'') εν [[Ευρώπην|ευρωπαϊκόν]] [[κράτος]]. Πρωτεύουσαν ατ'ς εν το [[Ταλίν]]. Ο πρωθυπουργός ατ'ς εν ο [[Τόμας Χένρικ Ίλβες|Κέρστι Κάλιουλαϊντ]] και ο πληθυσμόν ατ'ς ένι σα 1.340.021 τ' ανθρώπ'ς. {{Πρότυπον:Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη]] [[Κατηγορίαν:Ευρώπη]] hmse87vw6n92ecriylnu6z98jbja2ss Πρότυπον:Κράτη τη Ευρώπης/doc 10 1423 19842 2011-03-29T17:16:16Z Budelberger 25 Création. 19842 wikitext text/x-wiki <includeonly> <!-- Κατηγορίας --> [[Category:Πρότυπα|Κρατη τη Ευρωπης]] <!-- Interwikis --> [[af:Sjabloon:Lande van Europa]] [[ar:قالب:دول أوروبا]] [[be-x-old:Шаблён:Краіны Эўропы]] [[bg:Шаблон:Европа]] [[cs:Šablona:Evropa]] [[de:Vorlage:Navigationsleiste Staaten in Europa]] [[dsb:Pśedłoga:Nawikašćik Europa]] [[en:Template:Countries of Europe]] [[fi:Malline:Eurooppa]] [[fr:Modèle:Palette Pays d'Europe]] [[gl:Modelo:Europa]] [[hr:Predložak:Europa]] [[hsb:Předłoha:Europa]] [[is:Snið:Evrópa]] [[ja:Template:ヨーロッパ]] [[ko:틀:유럽]] [[ku:Şablon:Dewletên Ewropa]] [[la:Formula:Europa]] [[lt:Šablonas:Europa]] [[lv:Veidne:Eiropa]] [[mk:Шаблон:Држави во Европа]] [[ml:ഫലകം:യൂറോപ്യന്‍ രാഷ്ട്രങ്ങള്‍]] [[mn:Загвар:Европ]] [[mr:साचा:मार्गक्रमण युरोपातील देश]] [[nds:Vörlaag:Länner in Europa]] [[no:Mal:Europa]] [[os:Шаблон:Европæ]] [[pl:Szablon:Państwa Europy]] [[rm:Template:Navigaziun Stadis da l'Europa]] [[ru:Шаблон:Страны Европы]] [[sk:Šablóna:Európa]] [[sl:Predloga:Države Evrope]] [[sr:Шаблон:Европа]] [[sv:Mall:Europa]] [[tpi:Template:Ol kantri bilong Yurop]] [[war:Template:Europa]] [[wuu:模板:欧洲行政区划]] [[zh:Template:Europe]] </includeonly> 6gnuucpmv4sraos36mrru1x3msmoo0h Πρότυπον:• 10 1424 19843 2011-03-29T17:38:13Z Budelberger 25 Création. 19843 wikitext text/x-wiki &nbsp;&bull;&#32;<!-- --><noinclude>{{Documentation}}</noinclude> amn691ltz695481vgpcr449c0w0ec0b Κατηγορίαν:Εσθονία 14 1425 31585 31349 2013-04-13T08:05:18Z KLBot2 3570 Bot: Migrating 3 interwiki links, now provided by [[Wikidata]] on [[:d:Q4367632]] 31585 wikitext text/x-wiki {{Commonscat|Estonia}} {{DEFAULTSORT:Εσθονια}} [[Κατηγορίαν:Κράτη]] [[Κατηγορίαν:Ευρώπη]] 6jzju1fhslgbqp6tx8egncj0cmqfp4r Κατηγορίαν:Λιθουανία 14 1426 31350 29748 2013-03-07T22:02:15Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 155 interwiki links, now provided by [[d:|Wikidata]] on [[d:q4368380]] [[M:User:Addbot/WDS|(translate me)]] 31350 wikitext text/x-wiki {{Commonscat|Lithuania}} {{DEFAULTSORT:Λιθουανια}} [[Κατηγορίαν:Κράτη]] [[Κατηγορίαν:Ευρώπη]] 2nsxqbs40a0wk205kkj50c6pitc7b31 Κατηγορίαν:Ηνωμένο Βασίλειο 14 1427 31351 30319 2013-03-07T22:02:26Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 151 interwiki links, now provided by [[d:|Wikidata]] on [[d:q1411125]] [[M:User:Addbot/WDS|(translate me)]] 31351 wikitext text/x-wiki {{Commonscat|United Kingdom}} {{DEFAULTSORT:Ηνωμενο Βασιλειο}} [[Κατηγορίαν:Κράτη]] [[Κατηγορίαν:Ευρώπη]] paor8507ct3go5ten9ynpov24d0b4vk Κατηγορίαν:ΠΓΔΜ 14 1428 31477 19848 2013-03-11T10:26:49Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 1 interwiki links, now provided by [[d:|Wikidata]] on [[d:q6331187]] [[M:User:Addbot/WDS|(translate me)]] 31477 wikitext text/x-wiki {{Commonscat|Republic of Macedonia}} [[Κατηγορίαν:Κράτη]] [[Κατηγορίαν:Ευρώπη]] 3854bqddmeu6dxgchppj4y1pcv77ffi Κατηγορίαν:Φινλανδία 14 1429 31601 31352 2013-04-13T08:17:44Z KLBot2 3570 Bot: Migrating 3 interwiki links, now provided by [[Wikidata]] on [[:d:Q4367709]] 31601 wikitext text/x-wiki {{Commonscat|Finland}} {{DEFAULTSORT:Φινλανδια}} [[Κατηγορίαν:Κράτη]] [[Κατηγορίαν:Ευρώπη]] [[Κατηγορίαν:Σκανδιναβία]] t3j69owhr087i7s3p2dvi6yknzyk2qb Κατηγορίαν:Άι Μαρίνος 14 1430 24763 19851 2011-12-27T13:44:07Z MerlIwBot 2140 Robot: Removing szl, zh, pl, eu, bs, es, oc, hu, sw, sq, mt, crh, ia, ga, tk, kw, nl, ar, pt, eo, sr, fi, uk, be-x-old, sco, roa-tara, kv, hr, az, nap, da, an, vec, pms, udm, nah, be, he, arz, yo, it, hif, ja, vi, wo, hsb, sk, th, no, ca, la, cy, ... 24763 wikitext text/x-wiki {{Commonscat|San Marino}} {{DEFAULTSORT:Αι Μαρινος}} [[Κατηγορίαν:Κράτη]] [[Κατηγορίαν:Ευρώπη]] 5iwlhkj4fe66gkop6y26menamkqwxkx Πρότυπον:Mod 10 1434 31472 30846 2013-03-11T10:26:22Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 268 interwiki links, now provided by [[d:|Wikidata]] on [[d:q5611452]] [[M:User:Addbot/WDS|(translate me)]] 31472 wikitext text/x-wiki <includeonly>{{ {{{|safesubst:}}}#ifexpr:({{{2}}})=0|0|{{ {{{|safesubst:}}}#ifexpr:(({{{1}}})/({{{2}}}))=((({{{1}}})/({{{2}}}))round 0)|0|{{ {{{|safesubst:}}}#ifexpr:(({{{1}}})/({{{2}}}))>0 and(({{{1}}})/({{{2}}}))<1|{{ {{{|safesubst:}}}#expr:{{{1}}}}}|{{ {{{|safesubst:}}}#expr:({{{1}}})-((((({{{1}}})/({{{2}}}))-0.5)round 0)*({{{2}}}))}}}}}}}}</includeonly><noinclude> See documentation of [[:en:Template:Mod]] </noinclude> ns8erun5tol4lf586m8gpoiwv49bw7p Ρωσία 0 1446 20180 2011-04-23T01:18:28Z Gleb Borisov 1471 Redirected page to [[Ρουσία]] 20180 wikitext text/x-wiki #REDIRECT [[Ρουσία]] nz6rx2qjja3fjpf8p50hdsw4ppafvuk Koνσεπσιόν 0 1448 34652 33606 2020-11-22T20:20:41Z Je7roi 4539 Correcting 34652 wikitext text/x-wiki [[Αρχείον:Coat of arms of Concepcion, Chile.svg|left|120px]] [[Αρχείον:Flag of Concepcion, Chile.svg|thumb|right|240px| [[Αρχείον:Flag of Chile.svg|20px]] [[Koνσεπσιόν]], [[Χιλή]]]] [[Αρχείον:Mapa_loc_Biobío.svg|right|270px]] [[Αρχείον:Concepcion-Chile(001).jpg|thumb|right|240px| <center>36º 46' 22'' S 73º 03' 47'' W</center>]] Το '''Koνσεπσιόν''' (σα ισπανικά: ''Concepción'') είναι πόλη της [[Χιλή]]. Το [[2002]] εχ' πληθυσμόν 216.061 ανθρώπ. == Βιβλιογραφία == * Ida Stevenson Weldon Vernon ([[1969]]) ''Pedro de Valdivia, Conquistador of Chile'', Greenwood Press (''eng.'') * John Milton Nickles, Marie Siegrist ([[1965]]) ''Bibliography and Index of Geology Exclusive of North America'', Geological Society of America, v.28 (''eng.'') == Συνδέζμαι == === Εξωτερικα σύνδεσμα === * [http://www.concepcion.cl Επίσημον σελίδαν τη Δήμου τη Koνσεπσιόν] (ισπ.) * [http://el.wikipedia.org/wiki/Κονσεπσιόν Koνσεπσιόν (ελλενικόν)] * {{commonscat|Concepcion, Chile|Koνσεπσιόν}} * [[Αρχείον:P wiki letter w.svg|38px]] [[Κατηγορίαν:Χιλή]] [[Κατηγορίαν:Πολιτείας τ' Χιλή|Koνσεπσιόν]] neqn2s0twkvhj7gyopa3s43h05ukw8r Ανασπαλτος 0 1457 34492 34436 2020-04-08T05:46:57Z Tulsi 5081 Cross-wiki abuse 20930 wikitext text/x-wiki Ανάσπαλτος = Από το ανασπάλλω 1)Παθ. ο μη λησμονημένος 2)Ενεργ. ο μη λησμονών myqn9dmpo8o7sqn9jej1fw46t18npsl Λίθιον 0 1467 34826 34617 2021-07-18T05:52:47Z Shihab1729 8656 video added #WPWP #WPWPBN 34826 wikitext text/x-wiki [[Αρχείον:Wie funktioniert eine Lithium-Schwefel-Batterie?.webm|μικρογραφία|Λίθιον]] Το Λίθιο [Σύμβολον : Li] εν το τρίτο χημικό στοιχείον σο Περιοδικό Πινάκιν. Εν μέταλλον και ανήκει αση ομάδα τη αλκαλίων. Εςς ατομικόν αριθμόν 3 κι ατομικό βάρος 6,94. Θερμοκρασία τήξης εςς τους 180,54 C° κι θερμοκρασία βρασμού 1347 C°. Με το Λίθιο εφτάμε κράματα μεταφοράς θερμότητας κι μπαταρίας. Το Λίθιο εν μαλακόν μέταλλον κι εςς αργυρόλευκο χρώμαν. Αντιδρά με το νερόν κι εφτάει ισχυρά εξώθερμη αντίδρασην ασην οποίαν παράγεται υδρογόνο. [[Κατηγορίαν:Χημείαν]] 8rgt3pjdefoea774fetuji5jvlvaxhf Ηλεκτρονικόν υπολογιστής 0 1481 33934 33895 2018-10-24T13:26:54Z Wim b 3723 Ανάκληση των αλλαγών [[Special:Contributions/91.140.91.118|91.140.91.118]] ([[User talk:91.140.91.118|συζήτηση]]) επιστροφή στην προηγούμενη αναθεώρηση [[User:CommonsDelinker|CommonsDelinker]] 32550 wikitext text/x-wiki [[Εικόναν:Desktop computer clipart - Yellow theme.svg|thumb|Σ'αούτον τη ζωγραφίαν ελέπωμεν έναν υπολογιστήν, άμον ντ'εξέρν'ατον σ'όλον τον κόσμον.]] Ατώρα ας λέγω σας ντο εν ο '''υπολογιστής'''. Υπολογιστήν λέγομεν έναν [[μηχάνημαν]] ντ'αλλάζ' [[πληροφορία|πληροφορίας]] άμον ντο λέγνε συγκεκριμένα [[κανόνας]]. Η [[ιστορίαν]] τ' υπολογιστίων ερχίνεσεν πολλά χρόνεα εμπροστά. Παλαιά υπολογιστάς λχ εν ο [[αστρολάβος|αστρολάβον]] άμα και ο [[άβαξ|άβακον]]. 'Κ ομνέζνε πολλά με τ' οσημερνά τα υπολογιστάς άμα ασο 'κ εν καλλίον έσαν. Τα καινούρεα τα υπολογιστάς επορούν και ρυθμίζνε [[σηματοδώτης|σηματοδώτας]] και [[αραπάν|αραπάδας]], παίζνε [[μουσική|μουσικήν]] και [[ταινία|ταινίας]]. Άμαν το βασικόν η αρχήν επέμνεν άμον ντο έτον: ο υπολογιστής έςς κανόνας κι ατά λέγουν ατόν ντο να φτάει. Πολλά κανόνας εντάμαν λέγουμ'ατα [[αλγόριθμος|αλγόριθμον]]. Ο άθρωπος δουλεύ' τον υπολογιστήν και λέει ατόν να φτάει δουλείας, λχ να παίζ' ταινίας ή να πάει σην Βικιπαίδειαν. Άμαν ο υπολογιστής 'κ εγροικά νε ποντιακά, νε αγγλικά. Για τ'ατό ο χρήστες επρέπ' να καλατςεύ' τη γλώσσαν τ' υπολογιστή. Τη γλώσσαν τ' υπολογιστή λέγουν ατέν [[γλώσσα προγραμματισμού|γλώσσαν προγραμματισμού]]. Οι [[προγραμματιστής|προγραμματιστές]] εγροικούν τη γλώσσαν κι αέτς γράφνε προγράμματα ντο λέγνε τον υπολογιστήν ντο να φτάει. Επεκεί ο χρήστες χρησιμοποιεί τα προγράμματα κι αέτς πα, με τ' αείκα και τ' αείκα εφτάει τα δουλείας ατ'. [[Κατηγορίαν:Τεχνολογίαν|υπολογιστης]] 1ftjmgoeuwz01xs1sw54bbjjfporbuz Υπολογιστής 0 1482 21568 2011-07-11T19:15:46Z 85.182.20.25 Redirected page to [[Ηλεκτρονικόν υπολογιστής]] 21568 wikitext text/x-wiki #REDIRECT [[Ηλεκτρονικόν υπολογιστής]] fr6dad9jtfi93077wfqg0gslxurynq5 Τσάμπασιν 0 1483 36748 36734 2025-12-16T08:39:41Z Εὐθυμένης 2777 36748 wikitext text/x-wiki [[Εικόναν:Ordu districts.png|thumb|230px|Το Τςάμπαςιν σον χάρτεν τ'Ορντούς]] Το '''Τςάμπαςιν''' ({{IPA|[ˈʧambaʃin]}}, σα τούρκικα λέγουν ατο ''Çaybaşı'') εν [[Πόντος|ποντιακόν]] κωμόπολην σην [[Τουρκία|Τουρκίαν]], σην επαρχίαν τ'[[Ορντού|Ορντούς]]. Οσήμερον (2009) σο Τςάμπαςιν απές ζούνε 4.431<ref name="Στατιστική">Ινστιτούτον Στατιστικής τη Τουρκίας - [http://report.tuik.gov.tr/reports/rwservlet?adnksdb2=&report=idari_yapi_09sonrasi.RDF&p_il1=52&p_yil=2009&p_dil=1&desformat=html&ENVID=adnksdb2Env Türkiye İstatistik Kurumu]</ref> αθρώπ'. == Απόθεν επαίραμε τα πληροφορίας == <references/> == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{tr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Τουρκίας|Τσαμπασιν]] 65nxftfxzstbhukxy5znys89vp69ibv Καρλ Μαρξ 0 1485 35593 35582 2024-01-25T11:01:39Z Διογένες 10538 /* Συνδέσμε */Βικιφθέγματα 35593 wikitext text/x-wiki [[Αρχείον:Karl Marx 001.jpg|μικρογραφία|Ο Μαρξ κάθεται σ' έναν καρέκλαν απάν]] Ο '''Καρλ Χάινριχ Μαρξ''' (1818 - 1883, ''Karl Heinrich Marx'') έτονε [[φιλοσοφία|φιλόσοφος]], [[κοινωνιολογία|κοινωνιολόγος]], [[ιστορία|ιστορικός]], [[οικονομικά|πολιτικός οικονομολόγος]] κι έχτισεν τον [[κομμουνισμός|κομμουνισμόν]]. Εγεννέθεν σην [[Τριέρη|Τριέρην]] τη [[Γερμανία|Γερμανίας]], κάπου εκεί σο [[Λουξεμβούργον]] σουμά, σοι Μαρξάντων. Ο κύρης ατ' έκουεν Χέρςελ και η μάνα 'τ Χενριέτε. Έτονε φυντάν ασ' εβραϊκόν ρίζαν, ο θείος ατ' ο Σαμουήλ έτονε ραββίνος ση Τριέρην. Επάντρεψεν 25 χρονών την Ντςένη φον Βεστφάλεν και έγκανε εφτά παιδία σον κόσμον. == Συνδέσμε == * [[Αρχείον:Wikiquote-logo.svg|link=https://el.wikiquote.org/wiki/Καρλ_Μαρξ?uselang=pnt|16x16px]] Βικιφθέγματα: [https://el.wikiquote.org/wiki/Καρλ_Μαρξ?uselang=pnt '''''Καρλ Μαρξ'''''] * [[Αρχείον:Commons-logo.svg|link=https://commons.wikimedia.org/wiki/Category:Karl_Marx?uselang=pnt|18x18px]] Σα [[c:Αρχική σελίδα|Κοινά]] εσ υλικόν σχετικόν με [https://commons.wikimedia.org/wiki/Category:Karl_Marx?uselang=pnt '''''Καρλ Μαρξ'''''] [[Κατηγορίαν:Συγγραφέοι|Μαρξ, Καρλ]] h849ynyd863cl7cgu2cu77oa9p31m19 Τζαμαίκαν 0 1487 34620 32095 2020-10-05T16:46:20Z Rotondus 8164 Κατηγορίαν 34620 wikitext text/x-wiki [[Αρχείον:Flag of Jamaica.svg|thumb|right|250px]] Η '''Τζαμαίκαν''' εν χώραν μ’έκταση 10.991 τετραγώνικα χλμ κ το νησίν αούτον εσς 2.825.928 ταν’θρώπς και πρωτεύουσανάτς εν το Κιννγκ΄στον. Τη Τζαμαίκαν λενα’την κ Ιαμαίκην κ εν το τρίτον τρανότερον νησίν α σα Τρανα Αντίλλας ση Καραιβικήν τη Θάλασσαν κ εν οκσςουκές σα 80 τα ναύτικα μίλια νότια ση Κούβαν Ταν΄θρώπς το ζούν ση Τζαμαίκαν λένατ΄ς Σαύμάκα. {{Commonscat|Jamaica|Τζαμαίκαν}} [[Κατηγορίαν:Κράτη]] btu9go3p96ctii2m1fb5zn8tkssi5ke Ποντιακή διάλεκτος 0 1500 28152 22568 2012-08-05T18:01:42Z MF-Warburg 53 rm spam 28152 wikitext text/x-wiki #REDIRECT [[Ποντιακόν λαλίαν]] hh70627f411imxoabivk216h6jm4bp9 Παλτογα 0 1515 35556 31360 2024-01-23T18:14:59Z Διογένες 10538 μικρογραφία 35556 wikitext text/x-wiki [[Αρχείον:Paltoga 125.jpg|μικρογραφία|right|250px|Παλτογα]] Το '''Παλτογα''' εν χωρίον σα ανατολικά τη [[Ρουσία|Ρουσίας]]. Ο πληθυσμόν αθέ είν' ασα 296 τ' ανθρώπ'ς (2006). [[Κατηγορίαν:Ρουσία]] [[Κατηγορίαν:Χωρία]] axi4tffrs3idcwl9lqsafyi2ad6f497 Θράκη 0 1541 34613 34482 2020-10-05T16:10:16Z Rotondus 8164 Κατηγορίαν 34613 wikitext text/x-wiki Διαμέρισμα τη Ελλάδας με τα πολειτείας Κομοτηνήν, Ξάνθη και Αλεξανδρούπολη. [[Κατηγορίαν:Ελλενικόν ιστορίαν]] jp68x2naa893k5l9dt02y6dluqttihc Κατηγορίαν:Σελίδες για γρήγορη διαγραφή 14 1595 31746 31362 2013-08-01T15:39:11Z Addbot 3509 [[User:addbot|Bot]]: Migrating interwiki links, now provided by [[d:|Wikidata]] on [[d:q5964]] 31746 wikitext text/x-wiki [[da:Kategori:Sletningsforslag]] snyaujipfgu3b5f8wjvr8l7zi39bczy Μονακό 0 1596 37406 35943 2025-12-30T21:43:53Z Таёжный лес 10003 from [[Μονακόν]] 37406 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Μονακό'''</big></big><br/>''Principauté de Monaco'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Monaco.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Monaco.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Location_Monaco_Europe.png|300px]] |} Το '''Μονακό'''/'''Μονακόν''' (σ' γαλλικά: Monaco) εν [[κράτος]] σο νότον τ' Ευρώπης/σην δυτικήν [[Ευρώπην]]. Πρωτεύουσαν ατ'ς είν' το . Ο πρίγκηψ ατ'ς λέχκεται Αλβέρτος Β' και ο Υπουργός του Κράτους εν ο Σερζ Τελ. Τη 2015 το Μονακόν είχεν πληθυσμόν σα 38.400. {{Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Μονακό]] [[Κατηγορίαν:Ευρώπη|Μονακό]] bgf39hl20i5719zxkv6urglyhigdr0s Αρμενία 0 1597 35911 34835 2024-10-26T05:24:53Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35911 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Αρμενία'''</big></big><br/>''Հայաստանի Հանրապետություն'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Armenia.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Armenia.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Armenia_(orthographic_projection).svg|300px]] |} Η '''Αρμενία''' εν [[κράτος]] σην ανατολήν [[Ευρώπην]]. {{Commons|Category:Armenia|Αρμενία}} {{Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Αρμενία]] [[Κατηγορίαν:Ευρώπη|Αρμενία]] [[Κατηγορίαν:Καυκασία]] 6jl9ky6ksd8js5j679cu6vz3041m1q8 Λευκορουσία 0 1610 35812 35658 2024-10-26T05:19:30Z Minorax 7522 35812 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Λευκορουσία'''</big></big><br/>''Рэспубліка Беларусь'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Belarus.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Belarus (2020–present).svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Europe-Belarus.svg|300px]] |} Η '''Λευκορουσίαν''' εν [[κράτος]] σην ανατολήν [[Ευρώπην]]. {{Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Λευκορουσία]] [[Κατηγορίαν:Ευρώπη|Λευκορουσία]] 5yyl4bqzwz4qwgg6izexq23x7t2m6o5 Ελευθερία Ελευθερίου 0 1620 35572 35509 2024-01-24T15:11:12Z Διογένες 10538 Ελευθερία Ελευθερίου το 2012 35572 wikitext text/x-wiki [[Αρχείον:Eleftheria Eleftheriou4.jpg|μικρογραφία|Ελευθερία Ελευθερίου το 2012]] Ο '''Ελευθερία Ελευθερίου''' (* [[12 Καλομηνά]] [[1989]]) εν τραγουδίστρια. [[Κατηγορίαν:Μουσική]] owlx80rgmxdv90lqljiwylr239bqq2l Μοστσένα 0 1621 32836 31367 2016-02-04T21:50:46Z 81.177.254.196 32836 wikitext text/x-wiki [[Αρχείον:Centr Moschena.jpg|thumb|right|250px|Μοστσένα]] Το '''Μοστσένα''' ([[ουκρανικά]]: Мощена) εν χωρίον σα ανατολικά τη [[Ουκρανία|Ουκρανίας]]. Ο πληθυσμόν αθέ είν' ασα 581 ανθρώπ'ς (2010). {{commonscat|Moshchena}} [[Κατηγορίαν:Ουκρανία]] 1aqv4ij7qex8a3flffz80vnnymr37aj 17 Απρίλτ 0 1638 37133 36988 2025-12-16T18:26:51Z Εὐθυμένης 2777 37133 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[16 Απρίλτ]] | [[17 Απρίλτ]] | [[18 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''17 τ' Απρίλτ''' εν τ' 107ον ημέρα τη χρονίας (108ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 258 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[17 Μαρτί]] - [[17 Καλομηνά]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0107]] 82pueneymrfffq5v26oyloalm5f9232 Πουτσιχτά 0 1649 26833 26832 2012-05-21T00:09:28Z Omnipaedista 35 26833 wikitext text/x-wiki Πολλοί ἐθαρρούνε πὼς ἀτά ντὸ λέγνε σὴν Ελλάδαν "λουκουμάδες" ἒν τὰ ποντιακά τὰ [[Τσιριχτά]] αμά ἂλλα ἒν τὰ τσιριχτά καὶ ἂλλα τὰ λουκουμάδες ντὸ λὲγνε οἱ [[Ματσούκα|Ματσουκέτ]] "πουτσιχτά". Πουτσίζω σὰ ποντιακά θὰ λέει "πιτσιλάω". Τὰ πουτσιχτά ίντανε μὲ τ'ἳδιον τὸ ζυμάρ΄ ντ'εφτάγνε τὰ τσιριχτά. Τα τσιριχτά ὂμως ίντανε απές σο τηγάν, τηγανεμένα έν δηλαδή καὶ ἐν ἂλλο τρανά ασὰ πουτσιχτά. Τὰ πουτσιχτά ἀσ'ἂλλον τὴν μερέαν, ψέουνταν ἀπες σε ἐναν τέτζεριν καυτόν ἐλάδ. Τὰ τσιριχτά ὲν ἂλλο μαλακά καὶ φαΐουνταν μὲ τὸ μέλ΄ ἠ μὲ τὴν ζάχαριν ἀμα ἐπορούμε νά τρώμ΄ατά καὶ μὲ τὸ τυρίν ἢ ςκέτα, άμον ψωμίν ασ'λέμε. Τὰ πουτσιχτά ἒν τραγανά καὶ φαΐζνε μὲ κςυμένον ἀπάν ὁλίγον μελόπον ἢ πασπαλιμένον ζάχαριν. [[Κατηγορίαν:Φαΐα|Πουτσιχτά]] mwand7bp07t8ysw3toeugp1o9jhgsvj Φρίντριχ Σίλερ 0 1676 35669 35541 2024-04-03T09:35:48Z Διογένες 10538 +s 35669 wikitext text/x-wiki [[Εικόναν:Friedrich schiller.jpg|μικρογραφία|Φρίντριχ Σ̌ίλερ <br /> (εζωγράφσεν η [[Λουντοβίκε Σιμάνοβιτς]], 1794)]] [[Αρχείον:Schiller Weimar.jpg|μικρογραφία|Windischenstr 8, Weimar]] [[Αρχείον:Dom Carlos 1787.jpg|μικρογραφία|''Don Karlos'' (Ντον Κάρλος), 1787]] Ο '''Γιόχαν Κρίστοφ Φρίντριχ φον Σ̌ίλερ''' ([[γερμανικόν γλώσσα|γερμ.]] ''Johann Christoph Friedrich von Schiller''), εποίκαν ατον αριστοκράτε σα 1802 τη χρονίας, (* [[10 Αεργί]] [[1759]] σο [[Μάρμπαχ]], Δουκάτον τη Βυρτεμβέργης, † [[9 Καλομηνά]] [[1805]] ση [[Βαϊμάρη|Βαϊμάρην]], Σαξονία-Βαϊμάρη-Άιζεναχ), έτονε [[ποιητικήν|ποιητής]], [[φιλοσοφία|φιλόσοφον]] και [[ιστορία|ιστορικόν]] αση [[Γερμανία|Γερμανίαν]]. Οσήμερον λέγουνε για τ’ατόν ντο έτονε πολλά τρανόν δραματικόν συγγραφέας σο γερμανόγλωσσον κόσμον. Εγεννέθεν Βυρτεμβεργιανόν, άμαν επάιρεν και την υπηκοότηταν τη Σαξονίας-Βαϊμάρης. Επεκεί, σα 1972 τη χρονίας, επαίρεν και το [[Γαλλία|γαλλικόν]] τη υπηκοότηταν. <ref>Die deutsche Staatsangehörigkeit: Vergangenheit - Gegenwart - Zukunft, Ingo von Münch, De Gruyter Rechtswissenschaften, 2007, σελ. 187. [https://books.google.com/books?id=U0BVt0eewacC&pg=PA187&lpg=PA187#v=onepage&q&f=false Τερέστεν τη σελίδαν σα Google-Books].</ref> Ο Σ̌ίλερ με το [[Γιόχαν Βόλφγκανγκ φον Γκαίτε|Γκö́τε]], το [[Κρίστοφ Μάρτιν|Βίλαντ]] και το [[Γιόχαν Γκότφριντ Χέρντερ|Χέρντερ]] εντάμαν είναι τα τρανά τα ονόματα τη ''κλασικισµού τη Βαϊµάρης'' (''Weimarer Klassik''). == Έργα == === Δράματα === * ''Die Räuber'' (Οι κλέφτες), 1781 * ''Kabale und Liebe'' (Ραδιουργία και έρως), 1783 * ''Die Verschwörung des Fiesco zu Genua'' (Η συνωμοσία τη Φιέσκονος ση Γένοβαν), 1784 * ''Don Karlos'' (Ντον Κάρλος), 1787 * Wallenstein. Trilogie: ''Wallensteins Lager'', ''Die Piccolomini'', ''Wallensteins Tod'' (Βαλλενστάιν. Τριλογίαν: Το στρατόπεδο τη Βαλλενστάιν, Οι Πικκολομίνι, Η θανήν τη Βαλλενστάιν), 1800 * ''Maria Stuart'' (Μαρία Στούαρτ), 1800 * ''Die Jungfrau von Orleans'' (Η Παρθένος της Ορλεάνης), 1801 * ''Die Braut von Messina'' (Η νύφε της Μεσσήνης), 1803 * ''Wilhelm Tell'' (Γουλιέλμος Τέλλος), 1804 === Λυρική ποίηση === * ''An die Freude'' (Ωδή ση χαράν), 1786 * ''Die Götter Griechenlandes'' (Οι θεοί τη Ελλάδας), 1788 & 1800 * ''Hektors Abschied'' (Ο αποχαιρετισμός τη Έκτορα), 1790 * ''Das verschleierte Bild zu Sais'' (Το πεπλοφορεμένο άγαλμα ση Σαΐδαν), 1795 * ''Der Handschuh'' (Το γάντι), 1797 * ''Der Taucher'' (Ο βουτηχτής), 1797 * ''Die Kraniche des Ibykus'' (Οι γερανοί τ’ Ίβυκου), 1797 * ''Der Ring des Polykrates'' (Το δαχτυλίδ τη Πολυκράτε), 1798 * ''Die Bürgschaft'', 1798 * ''Das Lied von der Glocke'' (Η τραγωδίαν τη καμπάνας), 1799 * ''Nänie'' (Επιτάφιο), 1800 * ''Klage der Ceres'' (To αγγάλεμαν τη Δήμητρας) === Ιστορία === * ''Geschichte des Abfalls der vereinigten Niederlande von der spanischen Regierung'' (Ιστορία τη ταγουτεματί τη Ηνωμένων Αφκά Χωρών ασ’ ισπανικόν αφεντίαν), 1788 * ''Geschichte des dreißigjährigen Kriegs'' (Ιστορία του Τριακονταετούς Πολέμου), 1790 * ''Über Völkerwanderung, Kreuzzüge und Mittelalter'' (Περί της Μετανάστευσης των Λαών, των Σταυροφοριών και του Μεσαίωνα) === Φιλοσοφία === * ''Der Spaziergang unter den Linden'' (Ο περίπατος υπό τας φιλύρας),1782 * ''Über die ästhetische Erziehung des Menschen in einer Reihe von Briefen'' (Περί της αισθητικής αγωγής των ανθρώπων σε μία σειρά επιστολών), 1795 * ''Über naive und sentimentalische Dichtung'' (Περί αφελούς και συναισθηματικής ποιήσεως), 1795 === Κλώσκεμαν ασ’ άλλα γλώσσας === * Ευριπίδης, ''Ιφιγένεια η εν Αυλίδι'' * William Shakespeare, ''Macbeth'', 1800 * Jean Racine (Ρακίνας), ''Phèdre'' (Φαίδρα), 1805 * Carlo Gozzi (Κάρλο Γκότσι), ''Turandot'' (Τουραντό), 1801 == Αναφοράντας == <references/> == Συνδέσμε == * '''[[Αρχείον:Wikisource-logo.svg|13px]] Σο [[:el:s:Κύρια_Σελίδα |ελλενικόν τη Βικιθήκην]] εςς [[:el:s: Φρίντριχ Σίλερ|γραψίματα τ']]''' {{Commons|Friedrich Schiller}} [[Κατηγορίαν:Ποιητάδες|Σίλερ, Φρίντριχ]] [[Κατηγορίαν:Συγγραφέοι|Σίλερ, Φρίντριχ]] [[Κατηγορίαν:Λογοτεχνίαν|Σίλερ, Φρίντριχ]] [[Κατηγορίαν:Θέατρον|Σίλερ, Φρίντριχ]] [[Κατηγορίαν:Φιλοσοφίαν|Σίλερ, Φρίντριχ]] 90780z6cgivw0rk7vzcr90t8zvuiway Φρίντριχ Ϛίλερ 0 1677 27456 2012-06-24T13:04:42Z Sinopeus 168 Sinopeus moved page [[Φρίντριχ Ϛίλερ]] to [[Φρίντριχ Σίλερ]]: Αέτς αραεύν'ατον. 27456 wikitext text/x-wiki #REDIRECT [[Φρίντριχ Σίλερ]] rufs3mmxzmsy13yejnuhizyobt3c9kj Avril Lavigne 0 1680 27485 2012-06-25T10:45:35Z Midnight Green 2532 Midnight Green moved page [[Avril Lavigne]] to [[Αβρίλ Λαβίν]] 27485 wikitext text/x-wiki #REDIRECT [[Αβρίλ Λαβίν]] r72v3gatfocjbhfy3ns1eip7qhbtu4q Γιόχαν Γκότφριντ Χέρντερ 0 1682 37362 35535 2025-12-19T00:44:21Z Εὐθυμένης 2777 37362 wikitext text/x-wiki [[Εικόναν:Johann Gottfried Herder 2.jpg|μικρογραφία|Γιόχαν Γκότφριντ Χέρντερ, εζωγράφσεν ο [[Άντον Γκραφ]], 1785]] Ο '''Γιόχαν Γκότφριντ Χέρντερ''', ([[γερμανικόν γλώσσα|γερμ.]] ''Johann Gottfried Herder''), εποίκαν ατον αριστοκράτε σα 1802 τη χρονίας, (* [[25 Αλωναρί]] [[1744]] σο [[Μόραγκ]], Ανατολικόν Πρωσία, † [[18 Χριστουγενναρί]] [[1803]] ση [[Βαϊμάρη|Βαϊμάρην]], Σαξονία-Βαϊμάρη-Άιζεναχ), έτονε [[ποιητικήν|ποιητής]], [[φιλοσοφία|φιλόσοφον]] και [[θεολογία|θεολόγον]] αση [[Γερμανία|Γερμανίαν]]. Ο Χέρντερ με το [[Γιόχαν Βόλφγκανγκ φον Γκαίτε|Γκö́τε]], το [[Κρίστοφ Μάρτιν Βίλαντ|Βίλαντ]] και το [[Φρίντριχ Ϛίλερ|Ϛίλερ]] εντάμαν είναι τα τρανά τα ονόματα τη ''κλασικισµού τη Βαϊµάρης'' (''Weimarer Klassik''). == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} {{DEFAULTSORT:Χερντερ, Γιοχαν Γκοτφριντ}} [[Κατηγορίαν:Ποιητάδες]] [[Κατηγορίαν:Συγγραφέοι]] [[Κατηγορίαν:Λογοτεχνίαν]] [[Κατηγορίαν:Φιλοσοφίαν]] g8f5168g0p31qs6r1gyey8kgslf8u2j Φιλοσοφία 0 1683 31372 30739 2013-03-07T22:06:24Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 172 interwiki links, now provided by [[d:|Wikidata]] on [[d:q5891]] [[M:User:Addbot/WDS|(translate me)]] 31372 wikitext text/x-wiki [[Αρχείον:La scuola di Atene.jpg|thumb|Η σχολή τη Αθήνας (εζωγράφσεν ο [[Ραφαήλ]], 1509)]] '''Φιλοσοφίαν''' λέγουμε τον τρόπον νουνισματί για τον [[κόσμος|κόσμον]], το [[σύμπαν]], και τ'[[άθρωπος|αθρώπς]]. Έναν φιλοσοφίαν εν πολλά ιδέας, π'εράεψεν κι εποίκεν ατα ο φιλόσοφον (ατός π'εδεάβασεν κι εσπούδασεν το νούνισμαν για τον κόσμον). Τα ιδέας τη φιλοσοφίας είναι ''αφηρημένα'', 'κ επορούμε να «κρατούμ'ατα σα ςέρια'μουν» δηλαδή. Άμαν η φιλοσοφίαν στηρίχκεται απάν' σα αλήθειας ντο ελέπ' σον κόσμον. Η ηθικήν λ.χ. κανονίζ' και ρωτά ντο να φτάμε κάθαν ημέραν. Ασ' άλλ' τη μεράν πα η μεταφυσικήν τερεί τη λειτουργείαν τη κόσμονος. Πολλοί λέγουνε ντο έχνε «προσοπικόν φιλοσοφίαν». Ατό παλ' εν ο τρόπον με τον οποίον ένας άθρωπος νουνίζ' για τον κόσμον. Σ'άούτον το γράψιμον '''κ τερούμε'' το «προσοπικόν τη φιλοσοφίαν» τη αθρωπίων. Αδαπές τερούμε τα ιδέας τη φιλοσοφίων. Πολλά χρόνεα εμπροστά ους οσήμερον οι φιλόσοφοι εφτάνε ερωτήσεις άμον: * Το καλόν ντο εν; * Τ'έμορφον ντο εν; * Επορούμε κι εφτάμε άμον ντο θέλομεν; * Ο Θεόν υπάρχει; * Ο κόσμον ολόερα υπάρχει; * Ο άθρωπον ντο εν; * Η αλήθειαν ντο εν; * Το κακόν ντο εν; * Η επιστήμην ντο εν; * Η φιλοσοφίαν ντο εν; * Η σεβντά ντο εν; [[Κατηγορίαν:Φιλοσοφία|*]] 2lobh51rllzcoxyiihpz3c55hbcwgkd Αλωνάρτς 0 1684 37022 31489 2025-12-16T18:06:11Z Εὐθυμένης 2777 37022 wikitext text/x-wiki <center> '''Ημέρας Αλωναρί''' </center> <center> [[1 Αλωναρί|1]] | [[2 Αλωναρί|2]] | [[3 Αλωναρί|3]] | [[4 Αλωναρί|4]] | [[5 Αλωναρί|5]] | [[6 Αλωναρί|6]] | [[7 Αλωναρί|7]] | [[8 Αλωναρί|8]] | [[9 Αλωναρί|9]] | [[10 Αλωναρί|10]] | [[11 Αλωναρί|11]] | [[12 Αλωναρί|12]] | [[13 Αλωναρί|13]] | [[14 Αλωναρί|14]] | [[15 Αλωναρί|15]] | [[16 Αλωναρί|16]] | [[17 Αλωναρί|17]] | [[18 Αλωναρί|18]] | [[19 Αλωναρί|19]] | [[20 Αλωναρί|20]] | [[21 Αλωναρί|21]] | [[22 Αλωναρί|22]] | [[23 Αλωναρί|23]] | [[24 Αλωναρί|24]] | [[25 Αλωναρί|25]] | [[26 Αλωναρί|26]] | [[27 Αλωναρί|27]] | [[28 Αλωναρί|28]] | [[29 Αλωναρί|29]] | [[30 Αλωναρί|30]] | [[31 Αλωναρί|31]]</center> ---- {{ΗμερολόγιοΣεΠίνακα|8}} Ο '''Αλωνάρτς''' άμαν και λέγν'ατόν και ''''''Άγουστος''''' (σ' ελλενικά: ''Αύγουστος'') εν ο όγδοον μήνας τη χρονίας, άμον ντο λέει μας το [[Γρηγοριανόν ημερολόγιον]] κι εχ' 31 ημέρας. == Συνδέσμε == * '''[[Αρχείον:Wiktfavicon en.svg|16px|Βικιλεξικόν]] [[:el: wikt:Αύγουστος|Ο Αλωνάρτς (Αύγουστος) σ’ ελλενικόν το Βικιλεξικόν]]''' {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Μήνας|Αλωναρτς]] ist29wiv343zrnew0ih7v2vyasoiuju 10 Αεργί 0 1685 37276 35782 2025-12-16T19:12:12Z Εὐθυμένης 2777 37276 wikitext text/x-wiki <div class="center">[[Σταυρίτες]] | [[Τρυγομηνάς]] | '''[[Αεργίτες]]''' | [[Χριστουγεννάρτς]] | [[Καλαντάρτς]]</div> <div class="center">[[9 Αεργί]] | [[10 Αεργί]] | [[11 Αεργί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|11}} Η '''10 Αεργί''' εν το 314ον ημέρα τη χρονίας (315ον ημέρα σε δίσεκτον χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 51 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == * [[1759]]: [[Φρίντριχ Ϛίλερ]], ποιητής, φιλόσοφον και ιστορικόν αση Γερμανίαν. == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[10 Τρυγομηνά]] - [[10 Χριστουγενναρί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|1110]] ndp8rtqjyo22h0eu0np1nzsawukj5gn 18 Χριστουγενναρί 0 1686 37283 35888 2025-12-16T19:14:13Z Εὐθυμένης 2777 37283 wikitext text/x-wiki <div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[17 Χριστουγενναρί]] | [[18 Χριστουγενναρί]] | [[19 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''18 Χριστουγενναρί''' εν το 352ον ημέρα τη χρονίας (353ον ημέρα σε δίσεκτον χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμνε άλλα 13 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == * [[1803]]: [[Γιόχαν Γκότφριντ Χέρντερ]], ποιητής, φιλόσοφον και θεολόγον αση Γερμανίαν. == Έξεργος == '''Τερέστεν πα:''' * [[18 Αεργί]] - [[18 Καλανταρί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|1218]] m9ikblngunmpldzpljcrguawaaygjja Σιρόν 0 1692 34870 34541 2021-08-10T19:10:41Z InternetArchiveBot 8521 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.8 34870 wikitext text/x-wiki Το '''σιρόν''' εν πατροπαράδοτον [[Πόντος|ποντιακόν]] φαΐν. == Υλικά == *αλεύρ *νερόν *[[άλας]] *σκόρδον *πασ̌ κιτάν (ημ'σόν κιλόν) *βούτουρον (2 χουλερα̈) == Παρασκευή == *Ζουμώντς όλα̈ τα υλικά εντάμαν ωσπούτα να ίνεται ζουμάρ μαλακόν. *Χωρί'εις το ζουμάρ και ανοί'εις φύλλα λεπτά. *Τυλί'εις τα φύλλα και κοφτ'ς ατα τίκια χουμάτα̈, να ομοια̈ζνε λωρία τυλιχτά (άμον γαïσ̌ ). *Θεκς τα χουμάτα̈ σο ταψίν και ψεντς ατα σα 180 βαθμούς, ωσπούτα να παίρνε καλόν χρώμαν. *(Ίντζαν θελ κρατεί τα χουμάτα̈ ασου έψεσεν ατά, απές σην κατάψυξην). *Επεκεί βράεις νερόν με [[άλας]] και ξ̌ύντς ατο απάν ατς, ους να καπατεύκουνταν. *Αφήντ'ς και φουσκώνε για ολίγα λεπτά. *Σε έναν τας θεκ'ς το πασ̌ κιταν με ολίγον ζεστόν νερόν και όσον σκόρδον θελτς και ταράεις ατο. *Θεκς ατο απές σο ταψίν να γομούται ολόερα και επεκεί λύ'εις το βούτουρον και ξ̌υντς ατο απάν. *Φαΐεται ζεστόν. == Συνδέσμεα == *[https://web.archive.org/web/20100412132115/http://www.mamakouzina.tv/gr_recipy.asp?rid=435&mid=10&sid=58&sid2=null Πως εφτάμε το σιρόν] - mamakouzina.tv (ελλ) [[Κατηγορίαν:φαΐα|σιρον]] thkymllm1gc1riwpcpr15bo4t4u496z Ομάτ 0 1693 31376 30418 2013-03-07T22:07:19Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 143 interwiki links, now provided by [[d:|Wikidata]] on [[d:q7364]] [[M:User:Addbot/WDS|(translate me)]] 31376 wikitext text/x-wiki [[Αρχείον:Me avatar pequenio.jpg|thumb|right|150px|Ατός τερεί μας μ'έναν ομάτ.]] Τ''''ομάτ''' ([[ελλενικόν λαλίαν|αρχαία ελλενικά]]: ''ὤψ'') εν τ'όργανον με το οποίον ελέπνε οι αθρώπ' και τα χαϊβάνεα. Οι αθρώπ' έχνε δυο ομάτεα σο κηφάλν'ατουν. {{commonscat|Eye}} [[Κατηγορίαν:Ανατομία]] dnwe23kg8g7f3j2hf6cnagr4sin364n Κατηγορίαν:Ανατομία 14 1694 31377 30746 2013-03-07T22:07:30Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 129 interwiki links, now provided by [[d:|Wikidata]] on [[d:q4095469]] [[M:User:Addbot/WDS|(translate me)]] 31377 wikitext text/x-wiki [[Κατηγορίαν:Επιστήμην]] 5wq3hvbhiwb9gfzfosu4lczyjrocba0 Μυτίν 0 1696 31378 30816 2013-03-07T22:07:40Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 119 interwiki links, now provided by [[d:|Wikidata]] on [[d:q7363]] [[M:User:Addbot/WDS|(translate me)]] 31378 wikitext text/x-wiki [[Αρχείον:Neus1.jpg|thumb|right|150px|Σ'αούτο τη φωτογραφίαν ελέπομεν έναν τρανόν μυτίν.]] Το '''μυτίν''' ([[ελλενικόν λαλίαν|αρχαία ελλενικά]]: ''μύτις'') εν τ'όργανον με το οποίον μυρίζνε οι αθρώπ' και τα χαϊβάνεα. Σ'αθρώπ'ς και σα [[σπονδυλωτά]] γενικά το μυτίν εν όργανον ντο ξεχωρίζ σο κατσίν απάν και πολλοί έχνε μυτίν άμον το καγάν. Άμαν σα [[κητώδη]] ασο μυτίν επέμναν τα ρωθώνεα μαναχόν. {{commonscat|Nose}} [[Κατηγορίαν:Ανατομία]] oy7g3qhpmhu3fap32au0nkbi1g2xw88 Σιρον 0 1697 27834 2012-07-11T08:22:47Z Omnipaedista 35 Omnipaedista moved page [[Σιρον]] to [[Σιρόν]] 27834 wikitext text/x-wiki #REDIRECT [[Σιρόν]] m7d6i70ibltys6egrzuvktruxj5x7ei Αντισθένες 0 1731 31379 29016 2013-03-07T22:07:51Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 43 interwiki links, now provided by [[d:|Wikidata]] on [[d:q179149]] [[M:User:Addbot/WDS|(translate me)]] 31379 wikitext text/x-wiki Ο '''Αντισθένες''' (439–376) έτον τρανόν [[Φιλοσοφία|φιλόσοφον]]. [[Κατηγορίαν:Φιλοσοφίαν]] m6svtanbk1wlbjlt9kxy8qosxwh4kyb Ίαν Γκίλαν 0 1734 35573 35507 2024-01-24T15:11:41Z Διογένες 10538 Ίαν Γκίλαν το 2005 35573 wikitext text/x-wiki [[Αρχείον:Ian Gillan playing air guitar.jpg|μικρογραφία|250px|Ίαν Γκίλαν το 2005]] Ο '''Ίαν Γκίλαν''' (* [[19 Αλωναρί]] [[1945]]) εν τραγουδιστής, [[Deep Purple]]. [[Κατηγορίαν:Μουσική|Γκίλαν, Ίαν]] 9a2cng1165dxz0bjtbvnukthz0iy4mf Στέλιος Καζαντζίδης 0 1735 31478 31381 2013-03-11T10:26:51Z Legobot 3209 [[M:User:Addbot|Bot:]] Migrating 1 interwiki links, now provided by [[d:|Wikidata]] on [[d:q737903]] [[M:User:Addbot/WDS|(translate me)]] 31478 wikitext text/x-wiki Η '''Στέλιος Καζαντζίδης''' (* [[19 Αλωναρί]] [[1931]] — † [[14 Σταυρί]] [[2001]]) έτον [[Ελλάδα|Έλλενας]] τραγουδοποιός. [[Κατηγορίαν:Μουσική]] jodm4rom4nzbiu6xniqfsznil5dbj79 Κώστας Κουκοδήμος 0 1736 31382 29210 2013-03-07T22:08:24Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 4 interwiki links, now provided by [[d:|Wikidata]] on [[d:q983862]] [[M:User:Addbot/WDS|(translate me)]] 31382 wikitext text/x-wiki '''Κώστας Κουκοδήμος''' (* [[14 Σταυρί]] [[1969]]) εν βουλευτής (ΝΔ) σην [[Πιερία|Πιερίαν]] τη [[Μακεδονία|Μακεδονίας]] και παλεός αγωνιστέας σο λάνγκεμα τη αγώνων τη σταδί. 2k04tz1zazimox29wuqoi8uts9jwmoc Κατηγορίαν:Φιλοσοφία 14 1743 31600 31383 2013-04-13T08:17:39Z KLBot2 3570 Bot: Migrating 6 interwiki links, now provided by [[Wikidata]] on [[:d:Q1983674]] 31600 wikitext text/x-wiki [[Κατηγορίαν:Επιστήμην]] 5wq3hvbhiwb9gfzfosu4lczyjrocba0 Κορκ 0 1760 36781 34125 2025-12-16T09:06:59Z Εὐθυμένης 2777 36781 wikitext text/x-wiki Ο '''Κορκ''' (''Cork''; ''Corcaigh'') εν πολιτεία σην [[Ιρλανδία|Ιρλανδίαν]]. Οσήμερον εχ' πληθυσμόν 119.230 ανθρώπ (2011). <br><gallery> Cork-02-Patrick Street-2017-gje.jpg City of Cork, Ireland.jpg Cork-06-Brauerei-2017-gje.jpg Cork-16-Strasse-2017-gje.jpg Cork-18-Canty's Bar-2017-gje.jpg </gallery> == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{en}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ιρλανδία]] lsa4h9py1psmhfs7c7139nqgivh4ps6 Modern Talking 0 1762 31385 30178 2013-03-07T22:08:56Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 64 interwiki links, now provided by [[d:|Wikidata]] on [[d:q27417]] [[M:User:Addbot/WDS|(translate me)]] 31385 wikitext text/x-wiki [[Αρχείον:Modern Talking.svg|right|300px]] '''«Modern Talking»''' εν τ’ όνεμα [[Μουσική|μουσικού]] μπάντας αση [[Γερμανία|Γερμανίαν]]. Τ’ ονέματα τη μουσικίων είναι [[Τόμας Άντερς]] και [[Ντίτερ Μπόλεν]]. == Δισκογραφίαν == [[Αρχείον:Moderntalking.jpg|thumbnail|right|300px|Modern Talking, 2003]] * ''[[The 1st Album]]'' (1985) * ''[[Let's Talk About Love]]'' (1985) * ''[[Ready for Romance]]'' (1986) * ''[[In the Middle of Nowhere]]'' (1986) * ''[[Romantic Warriors]]'' (1987) * ''[[In the Garden of Venus]]'' (1987) * ''[[Back for Good]]'' (1998) * ''[[Alone]]'' (1999) * ''[[Year of the Dragon]]'' (2000) * ''[[America]]'' (2001) * ''[[Victory]]'' (2002) * ''[[Universe]]'' (2003) [[Κατηγορίαν:Μουσική]] [[Κατηγορίαν:Modern Talking|*]] 6o94ykj1vgfw09nv9vt4bz19k8msygf Κουριτίμπα 0 1763 36784 36782 2025-12-16T09:08:31Z Εὐθυμένης 2777 36784 wikitext text/x-wiki [[Αρχείον:Brasão de Armas do Município de Curitiba.png|70px|left]] [[Αρχείον:'JardimBotanico.BotanicalGarden.CuritibaParanaBrasilBrazil.JPG|thumb| [http://tools.wikimedia.de/~magnus/geo/geohack.php?language=en&params=25_25_47_S_49_16_19_W 25° 25' 47" S 49° 16' 19" O]]] Η '''Κουριτίμπα''' (σα πορτογαλικά: ''Curitiba'') εν πολιτεία σην [[Βραζιλία|Βραζιλίαν]]. Οσήμερον (2008) εχ' πληθυσμόν 1 828 092 ανθρώπς. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{pt}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] olfz1uozft4shwb53v9bcwzdueq8eue Κυριτίπα 0 1764 29402 2012-11-12T02:51:38Z Tamara Ustinova 2544 Tamara Ustinova moved page [[Κυριτίπα]] to [[Κουριτίμπα]] 29402 wikitext text/x-wiki #REDIRECT [[Κουριτίμπα]] rr1ir8zs5iknjhv674xf1yc9o643cce Κόσοβο 0 1787 35934 35637 2024-10-26T05:26:29Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35934 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Κόσοβο'''</big></big><br/>''Република Косово'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | width="140" align="center" | [[Αρχείον:Flag of Kosovo.svg|125px]] | width="140" align="center" | [[Αρχείον:Emblem of the Republic of Kosovo.svg|125px]] |- | width="140" align="center" | | width="140" align="center" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Europe-Republic_of_Kosovo.svg|300px]] |} Το '''Κόσοβο''' εν αμφισβητούμενο κράτος ντο ευρίεται σο νότον τ' [[Ευρώπην|Ευρώπης]]; και σα κεντρικά τα [[Βαλκανική Χερσόνησος |Βαλκάνια]]. Πρωτεύουσαν ατ'ς εν η [[Πρίστινα]]. Η χώρα εχει πληθυσμόν σα 1.804.838 τ' ανθρώπους. ([[2007]]). Έχει αναγνωριστεί εισά με 117 χώρες μέλη ΟΗΕ. == Γεωγραφία == Το Κόσοβο ευρίεται, σα βόρεια τη [[Σερβία]], σα νότια τα [[Βόρεια Μακεδονία|Σκόπια]] και σα νοτιοδυτικά την [[Αλβανία]]. == Συνδέσμοι == * '''[[Εικόναν:Commons-logo.svg|15px]] [[:el:commons:Kosovo|Το Κόσοβο σα Commons]]''' * '''[[Εικόναν:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Κόσοβο|Το Κόσοβο σο Βικιλεξικόν]]''' * '''[[Εικόναν:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Kosovo|Χάρτες του Κόσοβο]]''' * [http://www.assembly-kosova.org/ Το επίσημον ο ιστοτόπον τη κυβέρνησης του Κόσοβου] {{Πρότυπον:Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Κόσοβο]] [[Κατηγορίαν:Ευρώπη|Κόσοβο]] [[Κατηγορίαν:Βαλκάνια|Κόσοβο]] 6rfu9j0r332zlopdugl2fl76lej06v8 Αζερμπαϊτζάν 0 1793 35907 34361 2024-10-26T05:24:37Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35907 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Αζερμπαϊτζάν'''</big></big><br/>''Azərbaycan Respublikası'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Azerbaijan.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Azerbaijan.svg|125px]] |- | align="center" width="140px" | Σημαία του Αζερμπαϊτζάν | align="center" width="140px" | Το σύμβολον του Αζερμπαϊτζάν |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Azerbaijan (orthographic projection).svg|300px]] |} Το '''Αζερμπαϊτζάν''' (σα αζερ. Azərbaycan) εν κράτος ντ' ευρίεται ση δύσαν τ' Ασίας και σα δυτικά της [[Κασπία Θάλασσα|Κασπίας Θάλασσας]]. Πρωτεύουσαν ατ'ς εν η [[Μπακού]]. Η χώρα εχ' πληθυσμόν σα 9.511.100 τ' ανθρώπ'ς (Χορτοθέρτς 2014). == Γεωγραφίαν == Η χώρα ευρίεται σα νότια τη [[Ρουσία|Ρουσίας]], σα βόρεια του [[Ιράν|Ιράν]], τ' [[Αρμουνίας]] και της Γεωργίας. Βρέχκεται σ' δυτικάν ασό [[Κασπία Θάλλασα|Κασπία]] τη Θάλασσα. == Πολιτικήν == Πρόεδρος εν ο Ιλχάμ Αλίγιεφ. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Κατηγορίαν:Azərbaycan|Το Αζερμπαϊτζάν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Αζερμπαϊτζάν|Το Αζερμπαϊτζάν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Azerbaijan|Χάρτες του Αζερμπαϊτζάν ]]''' {{Πρότυπον:Κράτη τη Ευρώπης}} [[Κατηγορίαν:Κράτη|Αζερμπαϊτζάν]] [[Κατηγορίαν:Ασία|Αζερμπαϊτζάν]] [[Κατηγορίαν:Ευρώπη|Αζερμπαϊτζάν]] [[Κατηγορίαν:Καυκασία|Αζερμπαϊτζάν]] [[Κατηγορίαν:Αζερμπαϊτζάν| ]] ajwobpjvedzkjjxr5t2bea5balbr43z Κατηγορίαν:Αζερμπαϊτζάν 14 1794 31389 30766 2013-03-07T22:30:33Z Addbot 3509 [[M:User:Addbot|Bot:]] Migrating 129 interwiki links, now provided by [[d:|Wikidata]] on [[d:q5609682]] [[M:User:Addbot/WDS|(translate me)]] 31389 wikitext text/x-wiki {{Commonscat|Azerbaijan}} [[Κατηγορίαν:Κράτη|Αζερμπαϊτζάν]] jn9ifc2j1ncx27vdmi9oyjriup60hkd Βαλκανικόν Χερσόνησος 0 1795 34105 33322 2019-02-17T21:08:36Z Xaris333 781 34105 wikitext text/x-wiki [[Εικόναν:Balkan topo en.jpg|right|thumb|400px|Τ' Βαλκανικόν η χερσόνησος]] Τ' '''Βαλκανικόν η χερσόνησος''' εν ση ανατολήν τ' [[Ευρώπην|Ευρώπης]] κι ανήκει σα ασ' όλεα τα τρανά τα χερσονησία νατς. Λέγνατεν και ''Βαλκάνια''. Τ' Βαλκανικόν χερσόνησος βρέχεται δυτικά ασήν [[Μεσόγειον Θάλασσα|Μεσόγειον τη θάλασσαν]] και ανατολικά ασήν [[Μαύρον Θάλασσα]]. == Κράτε κι εδάφε == * [[Εικόναν:Flag of Albania.svg|20px]] [[Αλβανία]] * [[Εικόναν:Flag of Bulgaria.svg|20px]] [[Βουλγαρία]] * [[Εικόναν:Flag of Romania.svg|20px]] [[Ρουμανία]] * [[Εικόναν:Flag of Greece.svg|20px]] [[Ελλάδα]] * [[Εικόναν:Flag of Montenegro.svg|20px]] [[Μαυροβούνιον|Μαυροραχιν]] * [[Εικόναν:Flag of Croatia.svg|20px]] [[Κροατία]] * [[Εικόναν:Flag of Slovenia.svg|20px]] [[Σλοβενία]] * [[Εικόναν:Flag of North Macedonia.svg|20px]] [[Βόρεια Μακεδονία]] * [[Εικόναν:Flag of Turkey.svg|20px]] [[Τουρκία]] (ευρωπαϊκόν) * [[Εικόναν:Flag of Kosovo.svg|20px]] [[Κόσοβο]] [[Κατηγορίαν:Χερσονησία|Βαλκανικόν Χερσόνησος]] [[Κατηγορίαν:Ευρώπη|Βαλκανικόν Χερσόνησος]] [[Κατηγορίαν:Βαλκάνια| ]] bzl2dbnwfy0qh8o9ha4nb88a2lpfe11 Μεσόγειον Θάλασσα 0 1796 34799 34798 2021-06-04T07:32:25Z Wolverène 4171 culturally Cyprus belongs to Europe, same as we don't call Malta an African country though 'technically'/geographically it's rather African 34799 wikitext text/x-wiki [[Εικόναν:Mediterranean Sea 16.61811E 38.99124N.jpg|right|thumb|350px|Ασό σατελίτ: τ' Μεσόγειον Θάλασσα]] Η '''Μεσόγειον Θάλασσα''' εν θάλασσαν απές μερέαν. Ευρίεται σο νότια τ' [[Ευρώπην]]. Βρέχει την Ευρώπην, την [[Ασίαν]] και την [[Αφρικήν]]. == Κράτη ντο συνορεύνε με τη Μεσόγειον Θάλασσα == '''[[Ευρώπην]]:''' * [[Εικόναν:Flag of Spain.svg|30px]]'''[[Ισπανία]]''' * [[Εικόναν:Flag of France.svg|30px]]'''[[Γαλλία]]''' * [[Εικόναν:Flag of Monaco.svg|30px]]'''[[Μονακό]]''' * [[Εικόναν:Flag of Italy.svg|30px]]'''[[Ιταλία]]''' * [[Εικόναν:Flag of Malta.svg|30px]]'''[[Μάλτα]]''' * [[Εικόναν:Flag of Slovenia.svg|30px]]'''[[Σλοβενία]]''' * [[Εικόναν:Flag of Croatia.svg|30px]]'''[[Κροατία]]''' * [[Εικόναν:Flag of Bosnia and Herzegovina.svg|30px]]'''[[Βοσνία και Ερζεγοβίνη]]''' * [[Εικόναν:Flag of Montenegro.svg|30px]]'''[[Μαυροβούνιον|Μαυροράχην]]''' * [[Εικόναν:Flag of Albania.svg|30px]]'''[[Αλβανία]]''' * [[Εικόναν:Flag of Greece.svg|30px]]'''[[Ελλάδα]]''' * [[Εικόναν:Flag of Cyprus.svg|30px]]'''[[Κύπρος]]''' '''[[Ασίαν]]:''' * [[Εικόναν:Flag of Turkey.svg|30px]]'''[[Τουρκία]]''' * [[Εικόναν:Flag of the United Arab Republic.svg|30px]]'''[[Συρία]]''' * [[Εικόναν:Flag of Lebanon.svg|30px]]'''[[Λίβανος]]''' * [[Εικόναν:Flag of Israel.svg|30px]]'''[[Ισραήλ]]''' * [[Εικόναν:Flag of Palestine.svg|30px]]'''[[Παλαιστίνη]]''' '''[[Αφρικήν]]:''' * [[Εικόναν:Flag of Morocco.svg|30px]]'''[[Μαρόκο]]''' * [[Εικόναν:Flag of Algeria.svg|30px]]'''[[Αλγερίαν]]''' * [[Εικόναν:Flag of Tunisia.svg|30px]]'''[[Τυνησίαν]]''' * [[Εικόναν:Flag of Libya.svg|30px]]'''[[Λιβύη]]''' * [[Εικόναν:Flag of Egypt.svg|30px]]'''[[Αίγυπτος]]''' == Βιβλιογραφία == *Φερνάν Μπρωντέλ ''Μεσόγειος'', (3 τόμοι), ΜΙΕΤ. *Φερνάν Μπρωντέλ - Ζωρζ Ντυμπί - Ροζέ Αρναλντέζ - κ. ά. ''Η Μεσόγειος - Άνθρωποι και πολιτισμική κληρονομιά'', Αλεξάνδρεια, 1991, μτφ. Κώστας Αντύπας. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|13px]] [[:el:commons:Κατηγορίαν:Mediterranean Sea|Μεσόγειον Θάλασσα σα Commons]]''' [[Κατηγορίαν:Θάλασσας|Μεσόγειον Θάλασσα]] [[Κατηγορίαν:Μεσόγειον Θάλασσα|*]] 4ig435dw14mwnna29dsm4a4koedk54t Κατηγορίαν:Μεσόγειον Θάλασσα 14 1797 31593 31392 2013-04-13T08:09:52Z KLBot2 3570 Bot: Migrating 2 interwiki links, now provided by [[Wikidata]] on [[:d:Q5626376]] 31593 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Συρία 0 1798 36283 36234 2025-07-06T10:04:02Z 78.177.162.141 36283 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Συρία'''</big></big><br/>''الجمهوريّة العربيّة السّوريّة'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of the Syrian revolution.svg|125px]] | align="center" width="140px" | [[Αρχείον:Emblem of Syria (2025–present).svg|105px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Syria (orthographic projection).svg|300px]] |} Η '''Συρία''' (αραβ. سورية) εν κράτος σα δυτικά τη [[Ασίαν|Ασίας]]. Η Συρία βρέχεται σα ανατολικά τ΄ [[Μεσόγειον Θάλασσα|Μεσόγειον τη Θάλασσαν]], σα νοτιανατολικά τ΄ [[Ισραήλ]] και ο [[Λίβανος]]. Ο πρωθυπουργόν ατς εν ο [[Γουαέλ Ναντέρ αλ Χαλκί]] και πρόεδρος ατς εν ο [[Μπασάρ αλ Άσαντ]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Syria|Η Συρία σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Συρία |Η Συρία σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Syria|Χάρτες αση Συρίαν]]''' [[Κατηγορίαν:Κράτη|Συρία]] [[Κατηγορίαν:Ασία|Συρία]] [[Κατηγορίαν:Συρία| ]] bio7tx6xjdzf4laoc4s06hwnbq9h5sf Κατηγορίαν:Συρία 14 1799 31598 30806 2013-04-13T08:17:32Z KLBot2 3570 Bot: Migrating 123 interwiki links, now provided by [[Wikidata]] on [[:d:Q7020538]] 31598 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Παλαιστίνη 0 1800 36041 35464 2024-10-26T05:35:35Z Minorax 7522 36041 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Παλαιστίνη'''</big></big><br/>''دولة فلسطين'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Palestine.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Palestine (Official).svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:LocationPalestine.svg|300px]] |} Η '''Παλαιστίνη''' (αραβ. فلسطين‎) εν κράτος σα δυτικά τη [[Ασίαν|Ασίας]]. Η Παλαιστίνη βρέχεται σα ανατολικά τ΄ [[Μεσόγειον Θάλασσα|Μεσόγειον τη Θάλασσαν]], σα βόρεια τ΄ [[Ισραήλ]] και ο [[Λίβανος]]. Ο πρόεδρος ατς εν ο [[Μαχμούντ Αμπάς]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Palestine|Η Παλαιστίνη σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Παλαιστίνη |Η Παλαιστίνη σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Palestine|Χάρτες αση Παλαιστίνη]]''' [[Κατηγορίαν:Κράτη|Παλαιστίνη]] [[Κατηγορίαν:Ασία|Παλαιστίνη]] [[Κατηγορίαν:Παλαιστίνη| ]] rp4oiof34uih8cgag3l0kp5kwllpqet Λίβανος 0 1801 35935 32429 2024-10-26T05:26:33Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35935 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Λίβανος'''</big></big><br/>''الجمهوريّة اللبنانيّة'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Lebanon.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat_of_arms_of Lebanon.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Lebanon_(orthographic_projection).svg|300px]] |} Ο '''Λίβανος''' (αραβ. لبنان‎) εν κράτος σα δυτικά τη [[Ασίαν|Ασίας]]. Ο Λίβανος βρέχεται σα ανατολικά τ΄ [[Μεσόγειον Θάλασσα|Μεσόγειον τη Θάλασσαν]], σα βόρεια τ΄ [[Ισραήλ]]. Ο πρόεδρος ατς εν ο [[Μισέλ Σουλεϊμάν]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Κατηγορίαν:Lebanon|Ο Λίβανος σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Λίβανος|Ο Λίβανος σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Lebanon|Χάρτες του Λίβανου]]''' [[Κατηγορίαν:Κράτη|Λίβανος]] [[Κατηγορίαν:Ασία|Λίβανος]] [[Κατηγορίαν:Λίβανος| ]] 80y7mwyskevckco4assizx4syy2525l Ισραήλ 0 1802 36337 36336 2025-12-04T08:46:22Z Sun8908 8162 Reverted 1 edit by [[Special:Contributions/~2025-38263-04|~2025-38263-04]] ([[User talk:~2025-38263-04|talk]]): Rvv (TwinkleGlobal) 36337 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Ισραήλ'''</big></big><br/>''מְדִינַת יִשְׂרָאֵל'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Israel.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat_of_arms_of Israel.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Israel_(orthographic_projection).svg|300px]] |} [[Αρχείον:Actual_situation_in_Isra%C3%ABl.svg|thumb|]] Το '''Ισραήλ''' (εβραϊ. מדינת ישראל, αραβ. دولة اسرائيل) εν κράτος σα δυτικά τη [[Ασίαν|Ασίας]]. Το Ισραήλ βρέχεται σα ανατολικά τ΄ [[Μεσόγειον Θάλασσα|Μεσόγειον τη Θάλασσαν]], σα βόρεια τ΄ Αίγυπτου. Ο πρόεδρος ατς εν ο [[Ρεουβέν Ριβλίν]]. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Κατηγορίαν:ישראל|Το Ισραήλ σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Ισραήλ|Το Ισραήλ σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Israel|Χάρτες του Ισραήλ ]]''' [[Κατηγορίαν:Κράτη|Ισραήλ]] [[Κατηγορίαν:Ασία|Ισραήλ]] [[Κατηγορίαν:Ισραήλ| ]] g20orttvgj37x1gw4s7v0ne8yoet1yb Κατηγορίαν:Αφρική 14 1803 31580 31513 2013-04-13T08:02:56Z KLBot2 3570 Bot: Migrating 136 interwiki links, now provided by [[Wikidata]] on [[:d:Q6581695]] 31580 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Τυνησίαν 0 1804 35379 32436 2023-04-03T19:17:23Z WikiBayer 7202 35379 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Τυνησίαν'''</big></big><br/>''الجمهورية التونسية'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Tunisia.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat_of_arms_of Tunisia.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | </big> |- | align=center colspan=2 | [[Αρχείον:Tunisia_(orthographic_projection).svg|300px]] |} Η '''Τυνησίαν''' (αραβ. تونس) εν αφρικανικόν κράτος ση νότιαν τη [[Μεσόγειον Θάλασσα|Μεσόγειον την θάλασσαν]]. Πρωτεύουσαν ατ'ς εν τ' [[Τύνιδα]]. Ο πρόεδεος ατ'ς εν ο [[Φουάντ Μεμπαζάα]] και ο πληθυσμόν ατ'ς έν σα 10.486.339 τ' ανθρώπ'ς. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Tunisia|Η Τυνησίαν σα Commons]]''' * '''[[Αρχείον:Greek_wiktionary_logo.png|15px]] [[:wikt:el:Λίβανος|Η Τυνησίαν σο Βικιλεξικόν]]''' * '''[[Αρχείον:Gnome-globe.svg|15px]] [[:el:commons:Atlas of Tunisia|Χάρτες της Τυνησίαν]]''' [[Κατηγορίαν:Αφρική|Αίγυπτος ]] [[Κατηγορίαν:Κράτη|Αίγυπτος]] [[Κατηγορίαν:Αίγυπτος| ]] 8p8dhdd7tpb5izr9p3yqzkt1u8gkacp Koνςεπςιόν 0 1807 30193 2013-01-07T01:57:00Z Omnipaedista 35 Omnipaedista moved page [[Koνςεπςιόν]] to [[Koνσεπσιόν]] 30193 wikitext text/x-wiki #REDIRECT [[Koνσεπσιόν]] 0vanqdl1k5vg9a24svebfrtmg8c3z05 Σίλιγο 0 1824 36855 34639 2025-12-16T09:56:40Z Εὐθυμένης 2777 36855 wikitext text/x-wiki '''Σίλιγο''' (σα ιταλικά ''Siligo'') εν [[πολιτεία]] σην νησί [[Σαρδηνία|Σαρδηνίαν]] σην [[Ιταλία|Ιταλίαν]]. Εχ' πληθυσμόν σα 826 τ' ανθρώπ'ς (2020). == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{it}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Ιταλίας|Σίλιγο]] ht2hdjpf62fweuw4abxdicdhjkzmar4 Norge 0 1852 31524 2013-04-01T08:17:08Z Magnefl 3569 Redirect because «Norge» and «Noreg» are the names of the country and may be used as a search string. 31524 wikitext text/x-wiki #REDIRECT[[Νορβηγία]] 7wpgsye1h7ti3yj85c0z0k4g2sowwkc Noreg 0 1853 31525 2013-04-01T08:17:26Z Magnefl 3569 Redirect because «Norge» and «Noreg» are the names of the country and may be used as a search string. 31525 wikitext text/x-wiki #REDIRECT[[Νορβηγία]] 7wpgsye1h7ti3yj85c0z0k4g2sowwkc Λετονία 0 1856 31964 31550 2014-03-24T15:00:38Z Midnight Gambler 3907 doubtful but trying to trust 31964 wikitext text/x-wiki #redirect [[Λεττονία]] ki5xhzs5f4n65d9t2akvkag1ehjff0k Ηλίας Τουφεξής 0 1959 35460 35085 2023-08-16T05:50:40Z Wolverène 4171 img 35460 wikitext text/x-wiki [[Αρχείον:Elias Toufexis BW headshot.png|thumb|right|250px]] Ο '''Ηλίας Τουφεξής''' ([[Αγγλική γλώσσα|αγγ.]]: ''Elias Toufexis''; * [[27 Τρυγομηνάς]] [[1975]], [[Μοντρεάλη]], [[Καναδάς]]) είναι Έλληνας ηθοποιός από τον Καναδά. == Φιλμογραφίαν == * Alphas (2012) * Zero Hour (2012) * Rookie Blue (2012) * Crisis Point (2012) * Against The Wall (2011) * Flashpoint (2011) * Sarila (2011) * Smallville (2006, 2011) * The Listener (2011) * Eureka (2010) * Conduct Unbecoming (2011) * Lost Girl (2010) * The Partner (short) (2010) * Sand Serpents (2009) * Ba 'AL (2008) * South Of Houston St. (2008) * Flash Gordon (2007) * Painkiller Jane (2007) * Supernatural (2006) * Blade: The Series (2006) * Connor's War (2006) * Engaged To Kill (2006) * Kraken: Tentacles of the Deep (2006) * Stargate Atlantis (2006) * Bloodsuckers (2005) * Da Vinci's Inquest (2005) * The Collector (2005) * The Five People You Meet In Heaven (2004) * Brilliant (2004) * 8 Decoys (2004) * Dead Like Me (2004) * Dead Zone (2004) * The Days (2004) * Fries With That (2003) == Συνδέζμαι == * [http://www.eliastoufexis.com/ Το επίσημον ο ιστοτόπον] * http://www.imdb.com/name/nm1340118/ * [https://web.archive.org/web/20130301034046/http://www.enternity.gr/Article/%CE%97%CE%BB%CE%AF%CE%B1%CF%82-%CE%A4%CE%BF%CF%85%CF%86%CE%B5%CE%BE%CE%AE%CF%82:-%CE%97...-%CF%86%CF%89%CE%BD%CE%AE-%CF%84%CE%BF%CF%85-Adam-Jensen/972.html Ηλίας Τουφεξής: Η... φωνή του Adam Jensen (ελλ.)] [[Κατηγορίαν:Σινεμά]] [[Κατηγορίαν:Έλληνες]] 0thnoy7do7smhzqeafgvibg7qx1kxg6 Κακάου 0 1961 31931 31930 2014-02-20T03:17:20Z Omnipaedista 35 Omnipaedista moved page [[Κακού]] to [[Κακάου]] 31931 wikitext text/x-wiki Ο '''Κλαουντεμιρ Ζερονιμο Μπαρετο Κακάου''' (''Claudemir Jeromino Barreto Cacau''; στις [[7 Μαρτς]] [[1981]], [[Σαντο Ανδρε]]) εν [[Γερμανία|Γερμανικον]] ποδοσφαιριστής. == Συνδέσμ== * {{commonscat|Cacau}} dsyucdrho40matqiu4wrnyx8irrm4je Κακού 0 1964 31932 2014-02-20T03:17:21Z Omnipaedista 35 Omnipaedista moved page [[Κακού]] to [[Κακάου]] 31932 wikitext text/x-wiki #REDIRECT [[Κακάου]] sacr0ustu3i9hqsj1kz92ns2wo7h5jq Λεττονία 0 1975 35936 34857 2024-10-26T05:26:36Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35936 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Λεττονία'''</big></big><br/>''Latvijas Republika'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Latvia.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Latvia.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:EU-Latvia.svg|300px]] |} Η '''Λεττονία''' εν [[κράτος]] σο βορειάν τ' [[Ευρώπην|Ευρώπης]]. Πρωτεύουσαν ατ'ς εν τ' [[Ρίγα]] κι πρόεδρος ατ'ς εν ο [[Άντρις Μπέρζινς]]. Η χώρα έχ' πληθυσμόν σα 2.070.371 τ' ανθρώπ'ς (2011). == Γεωγραφίαν == Η Λεττονία ευρισκάται ση Βαλτικήν τη θάλασσαν αφκά, εχ' την [[Εσθονία]], τη [[Λευκορουσία]], τη [[Λιθουανία]] και τη [[Ρουσία]] απές. Έχ' τρανά πολιτείας τ' [[Ντώγκαβπιλς]], τ' [[Λιεπάγια]] και τη [[Ρίγα]]. == Συνδέζμαι == * [https://web.archive.org/web/20140317183808/http://www.latvia.lv/ Το επίσημον ο ιστοτόπον τη κυβέρνησης τη Λεττονίας] {{Πρότυπον:Κράτη τη Ευρώπης}} {{Πρότυπον:Κράτη ΕΣ}} [[Κατηγορίαν:Κράτη|Λεττονία]] [[Κατηγορίαν:Ευρώπη|Λεττονία]] hr8sxb88r45p11f7mjnjvtnhxm1w5p7 Србија 0 1996 32005 2014-06-01T02:37:19Z Крушевљанин Иван 4213 Redirected page to [[Σερβία]] 32005 wikitext text/x-wiki #Redirect[[Σερβία]] 2q34wbxoyymzu9vlesrks3qsmthxazy Λατινικήν Αμέρικα 0 2003 35238 34925 2022-10-10T18:51:27Z Tzauarner 9320 Ελαφρώς ενημερωμένη ορθογραφία, άλλαξα το τελικό "-ν" για να προστεθεί στο όνομα του συνδέσμου 35238 wikitext text/x-wiki [[Αρχείον:Latin America (orthographic projection).svg|thumb|250px|Λατινικήν Αμέρικα]] Η '''Λατινικήν Αμέρικα''' εν τμήμα τη ήπειρος τη Αμέρικας, π'εκατακτέθεν ασ'ισπανούς και ασα πορτογάλλους. Τα χώρας ατ'ς είναι το [[Μεξικό|Μεξικόν]], η [[Κολομβία|Κολομβίαν]], η [[Αργεντίνα|Αργεντίναν]], η [[Βραζιλία|Βραζιλίαν]], η [[Χιλή|Χιλήν]], η [[Ουρογουάη|Ουρογουάην]], η [[Παραγουάη|Παραγουάην]], η [[Βενεζουέλα|Βενεζουέλαν]], το [[Περού]], το [[Πουέρτο Ρικό]] και άλλα μικρότερα χώρας. Ατουκά τα αρθώπς καλλιεργούνε καβεάν, ρύζ, φρούκτα, τσάγια αλλά και ναρκωτικά ουσίας. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Latin America|Η Λατινικήν Αμέρικα σα Commons]]''' [[Κατηγορίαν:Γεωγραφίαν|Λατινικήν Αμέρικα]] rrdfq7unuxngki368mygncswhdkrgnx Λατινική Αμερική 0 2004 34475 34453 2020-04-08T05:46:48Z Tulsi 5081 Cross-wiki abuse 32023 wikitext text/x-wiki Η Λατινική Αμέρικαν εν το τμήμα τη κεντρικής και νότια Αμέρικας.Ατουκά ζουν πολλοί Ινδιάννοι,Ισπανοί,Πορτογάλς,Εβραίοι και άλτς.Εκατακτέθεν ασα ευρωπαίους και για τ'αβούτο έχνε ευρωπαεκά γλώσσας(ισπανικά,πορτογάλικα,ιταλικά).Τα τσιπ τρανότερα χώρας σατς είναι το Μέξικον,η Βραζιλίαν,η Αργεντίναν,η Κολομβίαν και η Χιλήν. dqyi78tm1ihv77cplph2pdbddpcmxm1 Wiki 0 2007 32031 2014-07-14T03:02:36Z Verdy p 2980 Verdy p moved page [[Wiki]] to [[Βικι]]: use same orthography as local name "Βικιπαίδεια" in Pontic 32031 wikitext text/x-wiki #REDIRECT [[Βικι]] ebibiojqs47ir5pk5yv7ljq9r9awjyn Trojany 0 2024 32494 32072 2015-08-04T22:08:57Z YiFeiBot 4458 Ρομπότ: Μεταφέρω 2 σύνδεσμους interwiki, που τώρα παρέχονται από τα [[d:|Wikidata]] στο [[d:q7845134]] 32494 wikitext text/x-wiki [[Αρχείον:Trojany województwo mazowieckie.JPG|thumb|right|250px|Trojany]] Το '''Trojany''' εν χωρίον σα ανατολικά τη [[Πολωνία|Πολωνίας]]. Ο πληθυσμόν αθέ είν' ασα 490 τ' ανθρώπ'ς (2014). [[Κατηγορίαν:Πολωνία]] [[Κατηγορίαν:Χωρία]] gp8xxnpc6otfwj0mnfu92hs6sxxy8g8 Βικιπαίδεια:Вики-Сабантуй 2015 4 2032 32089 2014-10-16T16:19:54Z Kaiyr 2342 Καινούρεον σελίδαν με '{{softredirect|wmru:Вики-Сабантуй 2015}}' 32089 wikitext text/x-wiki {{softredirect|wmru:Вики-Сабантуй 2015}} my62xy332co0tjllaz55zwot76ee5o1 Π.Α.Ο.Κ. 0 2034 35168 34467 2022-05-16T13:11:10Z 2A02:587:6E10:A400:68A7:C8F0:74A0:7262 35168 wikitext text/x-wiki Ο Π.Α.Ο.Κ (Πανθεσσαλονικιός Αθλητικός Όμιλος Κωνσταντινουπολιτών) είν' έναν σωματείον α 'σην Σαλονίκη απέ το 1926. Είναι προσφυγικό σωματείον. Ιδρύθηκε απ' Έλληνες απε την Πόλη. Έχει πολλάν αθηλτικάν τμήματα όπως Ποδόσφαιρον, Καλαθοσφαίριση, Πετοσφαίριση, Χειρσφαίριση και άλλον. Σο ποδόσφαιρον έχει γήπεδο ασην Τούμπα και σα άλλον αθλήματα ασην Πυλαία. 6tm8mvm5tbhuwdrvasnz89o46bkk3wj Έδεσσα 0 2100 36858 32453 2025-12-16T09:59:17Z Εὐθυμένης 2777 36858 wikitext text/x-wiki Ἡ ''' Ἔδεσσα''' ἔν [[Ἑλλάδα|ἑλλενικόν]] πολιτείαν ντ'εὐρίεται 'ς σὴν [[Μακεδονία|Μακεδονίαν]] καὶ ἔχ' πληθυσμόν 18.253 τ'ἀνθρώπ'ς. Εὐρίεται 'ς σὴν κεντρικήν Μακεδονίαν, 'ς σὸν νομόν τσῆ Πέλλας καὶ ἔν ἡ πρωτεύουσάν ἀτ'ς. Ἔν χτισμέντζα ἀπάν σὸ βράχον τσῆ παλαιόν ἀκρόπολην τσῆ Ἔδεσσας σε ψήλος 320 μέτρων. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{el}} {{επίσημος ιστότοπος}} {{authority control}} {{DEFAULTSORT:Εδεσσα}} [[Κατηγορίαν:Πολιτείας τ' Ελλάδας|Ἔδεσσαν]] [[Κατηγορίαν:Μακεδονία|Ἔδεσσαν]] gnj2dp3kb2y3yi7740ytvn3zo8tnh4d Γιαννιτσά 0 2101 36863 36304 2025-12-16T10:03:25Z Εὐθυμένης 2777 36863 wikitext text/x-wiki Τὰ '''Γιαννιτσά''' ἔν ἑλλενικόν πολιτείαν ντ'εὐρίεται 'ς σὴν [[Μακεδονία|Μακεδονίαν]] καὶ ἔν ἡ ἄς οὗλτς τρανόν πολιτείαν τῆ νόμονος τσῆ Πέλλας με 29.789 τ'ἀνθρώπ'ς. Αοὗτε ἡ πολιτείαν 'κί ἔν πολλά μακρά ἀσ'ἀρχαῖον τσῆ Πέλλας ντ'ἐγεννέθεν ὁ Μεγαλέξανδρον. Τὰ ἐρείπια τσῆ Πέλλας εὐρίουνταν 7 χιλιόμετρα ἀς σὰ Γιαννιτσά. Τὰ Γιαννιτσά εὐρίουνταν ἐπί τσῆ ἱστορικῆς Ἐγνατίας Ὀδοῦ 'ς σὸ κέντρον τσῆ Μακεδονίας, σε ψήλος 40 μέτρων, σουμά 'ς σὸ ραχίν Πάικο. == Τ'ὄνεμαν τῆ Γιαννιτσῶν == Τὰ Γιαννιτσά ἐπαίραν τ'ὄνεμαν ἀτοῦν ἀς σὸν Τούρκον στρατηλάτη Γαζῆ Ἀχμέτ Ἐβρενός, π'ἐκατέλαβεν τὴν περιοχήν τὸ 1385 καὶ ἐπανίδρυσεν τὸν ρωμαίικον τὸν οἰκισμόν «Βαρδάριον» καὶ ἐδῶκεν σ'ἀτόν τ'ὄνεμαν «Γενιτσέ ι Βαρντάρ», «Νέο Βαρδάρι». Τὸ 1926 τὸ ἐλλενικόν τὸ κράτος ἔλλαξεν τ'ὄνεμαν σε Γιαννιτσά. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{el}} {{επίσημος ιστότοπος}} {{authority control}} {{DEFAULTSORT:Γιαννιτσα}} [[Κατηγορίαν:Πολιτείας τ' Ελλάδας]] [[Κατηγορίαν:Μακεδονία]] gc7jprrmk265vhyqvctwt8c85z4g9l2 Γιώργος Νταλάρας 0 2102 36152 36151 2025-02-01T19:34:55Z Nikos Patas 11433 36152 wikitext text/x-wiki Ο Γιώργος Νταλάρας εν Έλληνας τραγουδάνος, ερμηνευτής τη Ελληνικής τραγωδίας. Τον Τρυγομηνάν τη 2006 ανακηρύχθεν Πρεσβευτής Καλής Θέλησης τη Ύπατης Αρμοστείας τη ΟΗΕ για τοι Πρόσφυγες. Εγεννέθεν σα 29 Σταυρίτε 1949 σον Πειραιάν. Κατάγεται από οικογένειαν μουσικών. Ο κύρτς'ατ, ο Λουκάς Νταράλας έτον κι'ατός τραγουδάνος και συνθέτης σον χώρον τη ρεμπέτικης μουσικής. Τα πρώτα μνήμες'ατ είναι σουμά δεμένα με τα βασικά μορφές τη ελληνικής μουσικής, την δημοτικήν, την σμυρνέικην, την ρεμπέτικην και την λαϊκήν τραγωδίαν. Ατά τα τζιρέδας επηρέασαν ατόν άμον καλλιτέχνην και ετραγούδεσεν'ατά σα συναυλίας και σα δίσκους'ατ. Σην καριέραν'ατ ετραγούδεσεν και άλλα πολλά τζιρέδας τραγωδίας αήκα άμον βυζαντινά ύμνους, λυρικά, σύγχρονα έντεχνα, λάτιν, όπερα, συμφωνικά έργα, ροκ, ποπ κ.α., ενώ εσυνεργάστε με πολλά από τα σημαντικότερα συμφωνικά ορχήστρας τη κοσμί. Έπραγματοποίησεν συνεργασίας με τοι πλέησε ας τοι σύγχρονους Έλληνες συνθέτες και εκπροσώπησεν την ελληνικήν τραγωδίαν. == Πρώτο Βήματα == Ερχήνωσεν το 1965 όνταν έτον 16 χρονών, έπαιζεν κιθάραν και ετραγώδνε σον πάλκον "Στου Στελλάκη", με τον βετεράνον Στελιον Περπινιάδην και τον γιο'νατ τον Βαγγέλην σο Χαϊδάρ. Ο Βαγγέλης Περπινιάδης, ο σύντροφον τη κύρ τη Γ. Νταλάρα, επροσπάθεσε να βοηθά'τον να εμπαίν σην δισκογραφίαν. Έγραψεν'ατον δύο τραφωδίας και επρώτενεν'ατον να ηχογραφούν'ατα σ΄ έναν στούντιο σα Εξάρχεια. Ο 17χρονον Γ. Νταλάρας σίτε πάει σο στούντιο την ημέραν τ' αηχογραφούσαν τα τραγωδίας, δύο άρματα μάχης εστάθαν σο μέρος τη Στουρνάρη κιαν. Σ'άλλ τη μερέαν έτον η ίδια εικόνα. Έτον Παρασκευή 21 Απριλί 1967, η ημέρα όνταν η στρατιωτική χούντα εκατέλαβεν την εξουσίαν, και εγόμωσε το κέντρον τη Αθήνας με τα τάνκς. Και για τ'ατό κ'εμπόρεσε να πάει στο στούντιο. Η ηχογράφηση εματαιώε και ατα τα τραγωδίας καμίαν κ'εγράφταν. Ας την αυτοβιογραφίαν τη Βαγγέλη Περπινιάδη μαθάνουμε ατά τα δύο τραγωδίας ντο έταν το "Μπροστά στα σκαλοπάτια σου" έναν κανταδορίστικον χασάπικον και το "Πάντα σε φίλους πίστευα" έναν ζεϊμπέκικον. Ας τα πέντε μήνας και ύστερα ηχογραφεί το πρώτον τραγωδίαν'ατ ας την εταιρίαν "Αυλός" τη Γ. Περγαντή. Η "Προσμονή" σην μουσικήν τη Βασίλη Αρχιτεκτονίδη και σα στίχους τη Παναγιώτη Καλαποθαράκου ηχογραφέθεν το 1967 σε έναν μικρόν στούντιο σην οδό Μασσαλίας, ούμερ έν πάροδος τη Σόλωνος. Ατό η τραγωδία ελάστεν σε δίσκον 45 στροφών, άμα εκόπεν αμέσως και όχι τυχαία ας την λογοκρισίαν τη συνταγματαρχίων. Οι στίχοι έταν τσιπ πολιτικοί: "Πότε η καμπάνα του λαού / του γερο-Μακρυγιάννη / λεύτερο χώμα κι ουρανό / για όλους θα σημάνει" Ούμπως επαραδέχτεν ο ίδιος, τη κυρ'σατ το όνομαν εδιευκόλυνεν'ατον πολλά σα πρώτα βήματα'τ και άνοιξεν'ατον πόρτας. Ερχήνωσε να φανερίζ σα διάφορα λαϊκά μαγαζία και να παίζ κιθάραν και να τραγωδεί με αήκα ονόματα ούμπως η Καίτη Γκρέυ, ο Νίκον Καλλέργης και άλλ. Ολίγον υστερνία, ο Σπύρος Ζαγοραίος, τη κυρ'σατ ο αδελφικόν σύντροφον, κουείζ τον Μάκην Μάτσαν σο μαγαζί'νατ σην Πλάκαν για να αφουγκράται τον Νταλάραν. Ο Μάτσας αβασλανεύκεται και ο Γιώργος υπογράφ το ίδιον εβδομάδαν το πρώτον συμβόλαιον συνεργασίας σην "ΜΙΝΟΣ". Έναν συμβόλαιον και έναν συνεργασίαν ντο εκράτεσε ας το 1968 ούς το 2005. Το 1969, ας τα κάποια συμμετοχές και ύστερα σα δίσκους με τη Λοΐζονος τα τραγωδίας, Μητσάκη κ.α., ηχογράφ τον πρώτον προσωπικόν'ατ δίσκον με τα τραγωδίας τη Σταύρονος Κουγιουμτζή, Λουκιανού Κηλαηδόνη, Γρηγόρη Φούντα, Γιώργονος Μητσάκη σε στίχους Κουγιουμτζή, Άκου Δασκαλόπουλονος, Δημήτρη Ιατρόπουλονος και Κώστα Βίρβου. Ασ τ'όλα τα τρανά επιτυχίας τη πρώτου δίσκου, τον οποίο ηχογράφεσε ούνταν έτον 20 χρόνων, έταν το "Πού ΄ναι τα χρόνια" και το "Ο ουρανός φεύγει βαρύς" τα οποία ακούγουνταν ούς οσήμερον. Αμέσως ας την κυκλοφορίαν ατού τη πρώτου δίσκου και ύστερα εσυνεργάστε με την ήδη καταξιωμέντσαν ατότες Μαρινέλλαν σο "Στορκ" για 3 χρόνεα. Με ατόν τον τρόπον η Μαρινέλλα εσύστησεν σον κόζμον τον Γ. Νταλάρα. Το 1970 ελάστεν ο δίσκος "Να ΄τανε το 21", ολόεν τα τραγωδίας τη Σταύρονος Κουγιουμτζή. Ας ατόν το δίσκον εξεχωρίγαν αήκα κομμάτεα ούμπως το "Νά ΄τανε το 21", "Αν δεις στον ύπνο σου ερημιά", "Μ΄ έκοψαν, με χώρισαν στα δυο" και "Κάπου νυχτώνει". Επ'εκεί επήε η συνεργασία με τον Μάνον Λοΐζον, πη ανάμεσα σ'αλλα είπεν τα τραγωδίας ούμπως το "Αχ χελιδόνι μου", το "Έχω ένα καφενέ", το "Πάνε να πεις", το "Μάνα δεν φυτέψαμε", το "Δέκα παλικάρια", όλα σα στίχους τη Λευτέρη Παπαδόπουλονος. Μακρύν έτονε και η συνεργασία'τ με τον Απόστολον Καλδάραν. Χαρακτηριστικά δείγματα τη δουλείας'ατουν είναι οι δίσκοι "Μικρά Ασία", ντο ελάστεν τον Αλωνάρ τη 1972 και ο "Βυζαντινός Εσπερινός" το 1973, σ'οποία επήρε μέρος και η Χάρις Αλεξίου, άμα και κάποια λαϊκά τραγωδίας ούμπως η "Φαντασία" και το "Αχ ο μπαγλαμάς". Η κυκλοφορία τη δίσκονος "Μικρά Ασία" συνέπεσε με την επέτειον τη 50 χρόνων ας την Μικρασιατικήν καταστροφήν. Η ηχογράφηση τη "Λιανοτράγουδων της πικρής πατρίδας" τη Μίκη Θεοδωράκη και τη Γιάννη Ρίτσονος με λαϊκήν ενορχήστρωσην σφραγίζνε το έλασμαν σην Δημοκρατίαν (1974). Ίντανε τραγωδίας σταθμοί ούμπως "Τη ρωμιοσύνη μην την κλαις", "Εδώ το φως", "Κουβέντα με ένα λουλούδι", "Το κυκλάμινο", "Καρτέρεμα" κ.α. Τα "Λιανοτράγουδα" ηχογραφέθαν για πρώτη φορά σο Παρίσι από την Μαρίαν Φαραντούρην το 1972 και δεύτερην φοράν σην Αθήναν κρυφά (ας τη δικτατορίας το κατσίν) με τον Γιώργον Νταλάραν και την Άννα Βίσση, πη ατότες επρωτοφανέρτσε. Δύο χρόνεα ύστερα, το 1976, ηχογράφνε δύο τραγωδίας ("Κόκκινο τριαντάφυλλο" και "Εκείνος ήταν μόνος") σην μνήμην τη Αλέκονος Παναγούλη. Ατά τα τραγωδίας ελάστανε σε δισκόπον 45 στροφών, άμα ύστερα εσεγκαν'ατα και σα τρανά δίσκους. == Δισκογραφία == Ούς οσήμερον έγραψε ας τα 70 προσωπικούς δίσκους περισσόν (τ'οποία επέρασαν τα 15 000 000 αντίτυπα σ'όλον τον κόσμον), και επήρε μέρος σην ηχογράφησην ας τα 80 και περισσόν άμον ερμηνευτής, μουσικός και παραγωγός. Κάποιοι δίσκοι-σταθμοί σην πορείαν τη Νταλάρα είναι: "Μικρές πολιτείες", "Μικρά Ασία", "Οι Μάηδες οι ήλιοι μου", "Latin", "50 Χρόνια Ρεμπέτικο", "Τα Τραγούδια μου", "Ζωντανή Ηχογράφηση στο Αττικόν", "Live recording at the Mann Auditorium", "Αφιέρωμα στο Βασίλη Τσιτσάνη". Η κυκλοφορία τη δίσκονος "Μικρά Ασία" το 1972 έν σταθμός για την ελληνικήν δισκογραφίαν, γιατί με 50.000 πούλεματα θεωρείται άμον ο πρώτος χρυσός δίσκος σην Ελλάδαν. Το 1975 ο δίσκος "50 Χρόνια Ρεμπέτικο" απές μαναχόν σα ολίγα μήνας ας την κυκλοφορίαν'ατ εκαθιέρωσεν για πρώτην φορά σην Ελλάδαν τον όρον "πλατινένιος δίσκος" με περισσόν ας τα 500.000 πούλεματα. Αήκον κι εν βέβαια πως πριν ας τ'ατόν κι επουλούνταναν οι δίσκοι τη Καζαντζίδη, τη Μπιθικώτση και τη Θεοδωράκη. Απλά ατότες κι' είχαν καθιερωμένα τα απονομές πλατινένιων δίσκων. Το ρεκόρ τη πουλεμάτων ές ο δίσκος "Τα Τραγούδια μου" (1983) ντ'επυλέθεν ας τα 700.000 περισσόν και ους ατώρα πουλίεται και καθιστά τον δίσκο έναν ας τα εμπορικά επιτυχημένα όλων των εποχών. Το 1987 έτονε ο δίσκος "Λάτιν (Latin)" με 650.000 πούλεματα και το 1989 ο δίσκος "Μη μιλάς, κινδυνεύει η Ελλάς" με ας τα 300.000 πούλεματα περισσόν. trnl2gbpbdaoutc6v617a9za9v1u1s2 Αλέξανδρος Τάταρνικοφ 0 2104 34494 34434 2020-04-08T05:46:58Z Tulsi 5081 Cross-wiki abuse 32464 wikitext text/x-wiki H '''Αλέξανδρος, Τάταρνικοφ''' (* 25 Αλωναρί 1993 —) έτον Ρουσίαν καλλιτέχνης. == Συνδέζμαι == *[http://physics.ecuadors.net/index.php?title=%CE%91%CE%BB%CE%AD%CE%BE%CE%B1%CE%BD%CE%B4%CF%81%CE%BF%CF%82_%CE%A4%CE%AC%CF%84%CE%B1%CF%81%CE%BD%CE%B9%CE%BA%CE%BF%CF%86] [[Κατηγορίαν:καλλιτέχνης]] rslp07fyb0fr99owxj2y9lxndvouewk Πρότυπον:FlowMention 10 2108 32481 2015-08-03T23:36:54Z Flow talk page manager 4932 /* Automatically created by Flow */ 32481 wikitext text/x-wiki @[[Χρήστες:{{{1|Example}}}|{{{2|{{{1|Example}}}}}}]] 5103u2lisf0trkpnuebsg76w0mcne9f Πρότυπον:LQT Moved thread stub converted to Flow 10 2118 32528 2015-10-02T20:09:02Z Flow talk page manager 4932 /* Automatically created by Flow */ 32528 wikitext text/x-wiki This post by {{{author}}} was moved on {{{date}}}. You can find it at [[{{{title}}}]]. e5j16chw2130kmdotptl65jvxa6lw5w Πρότυπον:LQT page converted to Flow 10 2119 32529 2015-10-02T20:09:02Z Flow talk page manager 4932 /* Automatically created by Flow */ 32529 wikitext text/x-wiki Previous page history was archived for backup purposes at <span class='flow-link-to-archive'>[[{{{archive}}}]]</span> on {{#time: Y-m-d|{{{date}}}}}. njhr9sbh7lx81p2xfwikn7amdd3n1zn Πρότυπον:Archive for converted LQT page 10 2120 32530 2015-10-02T20:09:02Z Flow talk page manager 4932 /* Automatically created by Flow */ 32530 wikitext text/x-wiki This page is an archived LiquidThreads page. '''Do not edit the contents of this page'''. Please direct any additional comments to the [[{{{from}}}|current talk page]]. nigyidinm7czjt0s9dq851dwhckapia Πρότυπον:LQT post imported with supressed user 10 2121 32531 2015-10-02T20:09:02Z Flow talk page manager 4932 /* Automatically created by Flow */ 32531 wikitext text/x-wiki This revision was imported from LiquidThreads with a suppressed user. It has been reassigned to the current user. 1pswkbcu7hauadd98nklgf3pku080ee Πρότυπον:LQT post imported with different signature user 10 2122 32532 2015-10-02T20:09:03Z Flow talk page manager 4932 /* Automatically created by Flow */ 32532 wikitext text/x-wiki ''This post was posted by [[User:{{{authorUser}}}|{{{authorUser}}}]], but signed as [[User:{{{signatureUser}}}|{{{signatureUser}}}]].'' gr9xg2oo9p9alcaf8usi587bcmsi65s Πρότυπον:Wikitext talk page converted to Flow 10 2123 32533 2015-10-02T20:09:03Z Flow talk page manager 4932 /* Automatically created by Flow */ 32533 wikitext text/x-wiki Previous discussion was archived at <span class='flow-link-to-archive'>[[{{{archive}}}]]</span> on {{#time: Y-m-d|{{{date}}}}}. ccusakfp9y2sl227h5sbt4ok1ptcsxi Πρότυπον:Archive for converted wikitext talk page 10 2124 32534 2015-10-02T20:09:03Z Flow talk page manager 4932 /* Automatically created by Flow */ 32534 wikitext text/x-wiki This page is an archive. '''Do not edit the contents of this page'''. Please direct any additional comments to the [[{{{from|{{TALKSPACE}}:{{BASEPAGENAME}}}}}|current talk page]]. hd1xxik7k0u7gcb9oq9ddgh20zmhpy4 Εμείς κι Εμείς 0 2125 34486 34442 2020-04-08T05:46:54Z Tulsi 5081 Cross-wiki abuse 32535 wikitext text/x-wiki Εμείς κι Εμείς εν σειράν κωμικόν τελεοπτικόν α σο Mega. Α σ'εναν οικίαν τη Αθήνας, α σο Μετς, ζουνα 8 αθρώποι, οι 7 φίλοι έντουνα σ ις σπουδάς ατών και η μία εν αξαδέρφ τσι Σμαραγδίας και τσι Αντωνίας, η Παρθένα. kzjnnwr8wmtvq636iynnnbg28gpp4nq Βικιπαίδεια:Asian Month 4 2131 32566 2015-11-19T13:56:55Z 永続繁栄 5060 Καινούρεον σελίδαν με ' '''Asian Month ''' is about writing Asia. If you are writing five or more pages about Asia, Special design letter(from other country) will send to you....' 32566 wikitext text/x-wiki '''Asian Month ''' is about writing Asia. If you are writing five or more pages about Asia, Special design letter(from other country) will send to you. Why don't you join us? If you are interested, please sign [[/participants|this page]]. If you want to be local organizer, please sign below. Cf.[[m:Wikipedia Asian Month]] [[:en:Wikipedia:Wikipedia Asian Month]] == Organizers == exareu8u9so1ufl6z7hdoo9t3htvpw5 Βικιπαίδεια:Asian Month/participants 4 2132 32567 2015-11-19T13:57:35Z 永続繁栄 5060 Καινούρεον σελίδαν με '--~~~~' 32567 wikitext text/x-wiki --[[Χρήστες:永続繁栄|永続繁栄]] ([[Καλάτσεμαν χρήστε:永続繁栄|talk]]) 13:57, 19 Αεργί 2015 (UTC) eli8oaw7h4j853k1u5rpad1t70ntck4 Σέρρες 0 2133 36870 35026 2025-12-16T10:09:33Z Εὐθυμένης 2777 36870 wikitext text/x-wiki [[Αρχείον:Serres overview.jpg|μικρογραφία]] Τα Σέρρας εν η πρωτεύουσα του ομώνυμου νομού. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{el}} {{επίσημος ιστότοπος}} {{authority control}} {{DEFAULTSORT:Σερρες}} [[Κατηγορίαν:Πολιτείας τ' Ελλάδας]] [[Κατηγορίαν:Μακεδονία]] 6cpwk8fhevyabqr2im7we9f44l3sug0 Ουκρανική Εθνική Ένωση 0 2135 34888 33641 2021-08-20T16:52:28Z InternetArchiveBot 8521 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.8 34888 wikitext text/x-wiki '''Ουκρανική Εθνική Ένωση ''' ([[ουκρανική γλώσσα|ουκρανικά]]: Український Національний Союз) είναι ένα πολιτικό κόμμα στην [[Ουκρανία]], με επικεφαλής την [[Βιτάλη Καμπύληλαιμούεφ]]<ref>https://web.archive.org/web/20160304060011/http://ru.tsn.ua/politika/u-svobody-poyavitsya-novyy-konkurent-na-nacionalisticheskom-pole-303510.html</ref><ref>http://glavnoe.ua/news/n135622</ref>. == Παραπομπές == <references /> == Εξωτερικοί Σύνδεσμοι == *[http://www.naso.org.ua/ Επίσημη ιστοσελίδα του Ουκρανική Εθνική Ένωση] [[Κατηγορίαν:Ουκρανία| ]] [[Κατηγορίαν:Πολιτικήν|Πολιτικήν]] hsbku438akrn1bltobecrgg3rolcazw Module:TableTools 828 2140 34161 32601 2019-05-17T18:33:55Z DiBabelYurikBot 7312 Copying one change by Capankajsmilyo: "copied from enwiki" from [[mw:Module:TableTools]]. ([[mw:WP:TNT|docs]], [[c:Data:I18n/DiBabel.tab|translate]]) 34161 Scribunto text/plain --[[ ------------------------------------------------------------------------------------ -- TableTools -- -- -- -- This module includes a number of functions for dealing with Lua tables. -- -- It is a meta-module, meant to be called from other Lua modules, and should -- -- not be called directly from #invoke. -- ------------------------------------------------------------------------------------ --]] local libraryUtil = require('libraryUtil') local p = {} -- Define often-used variables and functions. local floor = math.floor local infinity = math.huge local checkType = libraryUtil.checkType local checkTypeMulti = libraryUtil.checkTypeMulti --[[ ------------------------------------------------------------------------------------ -- isPositiveInteger -- -- This function returns true if the given value is a positive integer, and false -- if not. Although it doesn't operate on tables, it is included here as it is -- useful for determining whether a given table key is in the array part or the -- hash part of a table. ------------------------------------------------------------------------------------ --]] function p.isPositiveInteger(v) if type(v) == 'number' and v >= 1 and floor(v) == v and v < infinity then return true else return false end end --[[ ------------------------------------------------------------------------------------ -- isNan -- -- This function returns true if the given number is a NaN value, and false -- if not. Although it doesn't operate on tables, it is included here as it is -- useful for determining whether a value can be a valid table key. Lua will -- generate an error if a NaN is used as a table key. ------------------------------------------------------------------------------------ --]] function p.isNan(v) if type(v) == 'number' and tostring(v) == '-nan' then return true else return false end end --[[ ------------------------------------------------------------------------------------ -- shallowClone -- -- This returns a clone of a table. The value returned is a new table, but all -- subtables and functions are shared. Metamethods are respected, but the returned -- table will have no metatable of its own. ------------------------------------------------------------------------------------ --]] function p.shallowClone(t) local ret = {} for k, v in pairs(t) do ret[k] = v end return ret end --[[ ------------------------------------------------------------------------------------ -- removeDuplicates -- -- This removes duplicate values from an array. Non-positive-integer keys are -- ignored. The earliest value is kept, and all subsequent duplicate values are -- removed, but otherwise the array order is unchanged. ------------------------------------------------------------------------------------ --]] function p.removeDuplicates(t) checkType('removeDuplicates', 1, t, 'table') local isNan = p.isNan local ret, exists = {}, {} for i, v in ipairs(t) do if isNan(v) then -- NaNs can't be table keys, and they are also unique, so we don't need to check existence. ret[#ret + 1] = v else if not exists[v] then ret[#ret + 1] = v exists[v] = true end end end return ret end --[[ ------------------------------------------------------------------------------------ -- numKeys -- -- This takes a table and returns an array containing the numbers of any numerical -- keys that have non-nil values, sorted in numerical order. ------------------------------------------------------------------------------------ --]] function p.numKeys(t) checkType('numKeys', 1, t, 'table') local isPositiveInteger = p.isPositiveInteger local nums = {} for k, v in pairs(t) do if isPositiveInteger(k) then nums[#nums + 1] = k end end table.sort(nums) return nums end --[[ ------------------------------------------------------------------------------------ -- affixNums -- -- This takes a table and returns an array containing the numbers of keys with the -- specified prefix and suffix. For example, for the table -- {a1 = 'foo', a3 = 'bar', a6 = 'baz'} and the prefix "a", affixNums will -- return {1, 3, 6}. ------------------------------------------------------------------------------------ --]] function p.affixNums(t, prefix, suffix) checkType('affixNums', 1, t, 'table') checkType('affixNums', 2, prefix, 'string', true) checkType('affixNums', 3, suffix, 'string', true) local function cleanPattern(s) -- Cleans a pattern so that the magic characters ()%.[]*+-?^$ are interpreted literally. s = s:gsub('([%(%)%%%.%[%]%*%+%-%?%^%$])', '%%%1') return s end prefix = prefix or '' suffix = suffix or '' prefix = cleanPattern(prefix) suffix = cleanPattern(suffix) local pattern = '^' .. prefix .. '([1-9]%d*)' .. suffix .. '$' local nums = {} for k, v in pairs(t) do if type(k) == 'string' then local num = mw.ustring.match(k, pattern) if num then nums[#nums + 1] = tonumber(num) end end end table.sort(nums) return nums end --[[ ------------------------------------------------------------------------------------ -- numData -- -- Given a table with keys like ("foo1", "bar1", "foo2", "baz2"), returns a table -- of subtables in the format -- { [1] = {foo = 'text', bar = 'text'}, [2] = {foo = 'text', baz = 'text'} } -- Keys that don't end with an integer are stored in a subtable named "other". -- The compress option compresses the table so that it can be iterated over with -- ipairs. ------------------------------------------------------------------------------------ --]] function p.numData(t, compress) checkType('numData', 1, t, 'table') checkType('numData', 2, compress, 'boolean', true) local ret = {} for k, v in pairs(t) do local prefix, num = mw.ustring.match(tostring(k), '^([^0-9]*)([1-9][0-9]*)$') if num then num = tonumber(num) local subtable = ret[num] or {} if prefix == '' then -- Positional parameters match the blank string; put them at the start of the subtable instead. prefix = 1 end subtable[prefix] = v ret[num] = subtable else local subtable = ret.other or {} subtable[k] = v ret.other = subtable end end if compress then local other = ret.other ret = p.compressSparseArray(ret) ret.other = other end return ret end --[[ ------------------------------------------------------------------------------------ -- compressSparseArray -- -- This takes an array with one or more nil values, and removes the nil values -- while preserving the order, so that the array can be safely traversed with -- ipairs. ------------------------------------------------------------------------------------ --]] function p.compressSparseArray(t) checkType('compressSparseArray', 1, t, 'table') local ret = {} local nums = p.numKeys(t) for _, num in ipairs(nums) do ret[#ret + 1] = t[num] end return ret end --[[ ------------------------------------------------------------------------------------ -- sparseIpairs -- -- This is an iterator for sparse arrays. It can be used like ipairs, but can -- handle nil values. ------------------------------------------------------------------------------------ --]] function p.sparseIpairs(t) checkType('sparseIpairs', 1, t, 'table') local nums = p.numKeys(t) local i = 0 local lim = #nums return function () i = i + 1 if i <= lim then local key = nums[i] return key, t[key] else return nil, nil end end end --[[ ------------------------------------------------------------------------------------ -- size -- -- This returns the size of a key/value pair table. It will also work on arrays, -- but for arrays it is more efficient to use the # operator. ------------------------------------------------------------------------------------ --]] function p.size(t) checkType('size', 1, t, 'table') local i = 0 for k in pairs(t) do i = i + 1 end return i end local function defaultKeySort(item1, item2) -- "number" < "string", so numbers will be sorted before strings. local type1, type2 = type(item1), type(item2) if type1 ~= type2 then return type1 < type2 else -- This will fail with table, boolean, function. return item1 < item2 end end --[[ Returns a list of the keys in a table, sorted using either a default comparison function or a custom keySort function. ]] function p.keysToList(t, keySort, checked) if not checked then checkType('keysToList', 1, t, 'table') checkTypeMulti('keysToList', 2, keySort, { 'function', 'boolean', 'nil' }) end local list = {} local index = 1 for key, value in pairs(t) do list[index] = key index = index + 1 end if keySort ~= false then keySort = type(keySort) == 'function' and keySort or defaultKeySort table.sort(list, keySort) end return list end --[[ Iterates through a table, with the keys sorted using the keysToList function. If there are only numerical keys, sparseIpairs is probably more efficient. ]] function p.sortedPairs(t, keySort) checkType('sortedPairs', 1, t, 'table') checkType('sortedPairs', 2, keySort, 'function', true) local list = p.keysToList(t, keySort, true) local i = 0 return function() i = i + 1 local key = list[i] if key ~= nil then return key, t[key] else return nil, nil end end end --[[ Returns true if all keys in the table are consecutive integers starting at 1. --]] function p.isArray(t) checkType("isArray", 1, t, "table") local i = 0 for k, v in pairs(t) do i = i + 1 if t[i] == nil then return false end end return true end -- { "a", "b", "c" } -> { a = 1, b = 2, c = 3 } function p.invert(array) checkType("invert", 1, array, "table") local map = {} for i, v in ipairs(array) do map[v] = i end return map end --[[ { "a", "b", "c" } -> { ["a"] = true, ["b"] = true, ["c"] = true } --]] function p.listToSet(t) checkType("listToSet", 1, t, "table") local set = {} for _, item in ipairs(t) do set[item] = true end return set end --[[ Recursive deep copy function. Preserves identities of subtables. ]] local function _deepCopy(orig, includeMetatable, already_seen) -- Stores copies of tables indexed by the original table. already_seen = already_seen or {} local copy = already_seen[orig] if copy ~= nil then return copy end if type(orig) == 'table' then copy = {} for orig_key, orig_value in pairs(orig) do copy[deepcopy(orig_key, includeMetatable, already_seen)] = deepcopy(orig_value, includeMetatable, already_seen) end already_seen[orig] = copy if includeMetatable then local mt = getmetatable(orig) if mt ~= nil then local mt_copy = deepcopy(mt, includeMetatable, already_seen) setmetatable(copy, mt_copy) already_seen[mt] = mt_copy end end else -- number, string, boolean, etc copy = orig end return copy end function p.deepCopy(orig, noMetatable, already_seen) checkType("deepCopy", 3, already_seen, "table", true) return _deepCopy(orig, not noMetatable, already_seen) end --[[ Concatenates all values in the table that are indexed by a number, in order. sparseConcat{ a, nil, c, d } => "acd" sparseConcat{ nil, b, c, d } => "bcd" ]] function p.sparseConcat(t, sep, i, j) local list = {} local list_i = 0 for _, v in p.sparseIpairs(t) do list_i = list_i + 1 list[list_i] = v end return table.concat(list, sep, i, j) end --[[ -- This returns the length of a table, or the first integer key n counting from -- 1 such that t[n + 1] is nil. It is similar to the operator #, but may return -- a different value when there are gaps in the array portion of the table. -- Intended to be used on data loaded with mw.loadData. For other tables, use #. -- Note: #frame.args in frame object always be set to 0, regardless of -- the number of unnamed template parameters, so use this function for -- frame.args. --]] function p.length(t) local i = 1 while t[i] ~= nil do i = i + 1 end return i - 1 end function p.inArray(arr, valueToFind) checkType("inArray", 1, arr, "table") -- if valueToFind is nil, error? for _, v in ipairs(arr) do if v == valueToFind then return true end end return false end return p tqif0qe0lu98pj8cuq70kgi6evye5t3 Μαριούπολη 0 2318 36795 36341 2025-12-16T09:16:49Z Εὐθυμένης 2777 36795 wikitext text/x-wiki [[Αρχείον:Mariupol postcard.jpg|300px|thumb|Μαριούπολη]] Η '''Μαριούπολη''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 250.000 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] oalxidggs9zy06lavxmf91pbi6w0gue Οδησσός 0 2319 36817 36092 2025-12-16T09:32:48Z Εὐθυμένης 2777 36817 wikitext text/x-wiki [[Αρχείον:Одесса-коллаж1.jpg|300px|thumb|Οδησσός]] Η '''Οδησσός''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 998.000 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] j4cuayiw5w23g2wichd4ryfqqgixol3 Ντονέτσκ 0 2320 36816 34398 2025-12-16T09:32:12Z Εὐθυμένης 2777 36816 wikitext text/x-wiki [[Αρχείον:Donetsk montage (2015).png|300px|thumb|Ντονέτσκ]] Η '''Ντονέτσκ''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 975.959 ανθρώπ.Εκεκα πολλα τη Ρωμεης στεκνε. Ατωρα ατοι καλατσεβνε Ρωμαιικα (μαριουπολιτικην διαλεκτον ντο ομοιαζ' με την ποντιακον λαλιαν αμα εναν κι εν), Νεοελληνικα, Ρωσικα και ουκρανικα == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] ey74h1705b6vedwv5z13nfxtiac5ru9 Χερσώνα 0 2321 36851 36192 2025-12-16T09:53:33Z Εὐθυμένης 2777 36851 wikitext text/x-wiki [[Αρχείον:Херсон-коллаж1.jpg|300px|thumb|Χερσώνα]] Η '''Χερσώνα''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 66.000 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] fwy901taqmnphgimp908oe9ajfdpmwe Λουχάνσκ 0 2322 36793 32787 2025-12-16T09:14:56Z Εὐθυμένης 2777 36793 wikitext text/x-wiki [[Αρχείον:Luhansk collage.jpg|300px|thumb|Λουχάνσκ]] Η '''Λουχάνσκ''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 425.848 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] gmwmc3k3kf94dso1pdvbijo08wewq0s Τσέρνιγκοφ 0 2323 36847 34147 2025-12-16T09:51:15Z Εὐθυμένης 2777 36847 wikitext text/x-wiki [[Αρχείον:Chernihiv Panorama.jpg|300px|thumb|Τσέρνιγκοφ]] Η '''Τσέρνιγκοφ''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 296.008 ανθρώπ. == Gallery == <gallery widths=155 heights=125> 2014 Чернігів Україна Адміністративний будинок.jpg Чернігів. Обласна філармонія.JPG Дзвіниця, 5 ярусів,висота 58 метрів, Троїцький монастир.jpg Chernigiv Desna hotel IMG 8722 74-101-0076.JPG NSH Chernigiv Spaso-Preobrazhenskiy Sobor 001.JPG Чернигов, храм Михаила и Федора.JPG Драматичний театр ім.Т.Г.Шевченка - Teatro Dramático Shevchenko.jpg Введенська церква. Чернігів.jpg 74-101-0020 Troyckiy Sobor 3.jpg Церква параскеви П'ятниці, Чернігів.jpg BudArhiepiskop.JPG Чернігівський вокзал.JPG </gallery> == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] m4lmbqmk59f1bca9y3t1sk1sriwhkxr Ντνιπρο 0 2324 36815 32890 2025-12-16T09:31:39Z Εὐθυμένης 2777 36815 wikitext text/x-wiki [[Αρχείον:Collage of Dnipro city images.jpg|300px|thumb|Ντνιπρο]] Η '''Ντνιπρο''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 979.046 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] o37k74yf5zwzm2h89kdsldne4827x3a Χάρκοβο 0 2325 36850 35733 2025-12-16T09:53:03Z Εὐθυμένης 2777 36850 wikitext text/x-wiki Η '''Χάρκοβο''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 1.430.885 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] hz1qda822td4mf40kkcp3g9sp15t3bs Κίεβο 0 2326 36771 32791 2025-12-16T09:00:59Z Εὐθυμένης 2777 36771 wikitext text/x-wiki [[Αρχείον:Panorama of Kyiv from Saint Sophia Monastery.jpg|300px|thumb|Κίεβο]] Η '''Κίεβο''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 2.900.920 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] rrspih24qahkdviicz8sd7gchh2gkms Ζαπορίζια 0 2327 36766 33104 2025-12-16T08:57:49Z Εὐθυμένης 2777 36766 wikitext text/x-wiki [[Αρχείον:Над проспектом Металургів.jpg|300px|thumb|Ζαπορίζια]] Η '''Ζαπορίζια''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 770.672 ανθρώπ (2013). == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] j4rrh7fyduff65zkrvl4l6oeaxpb56v Λβιβ 0 2328 36788 32793 2025-12-16T09:11:55Z Εὐθυμένης 2777 36788 wikitext text/x-wiki [[Αρχείον:Lwów - Widok z wieży ratuszowej 01.jpg|300px|thumb|Λβιβ]] Η '''Λβιβ''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 730.272 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] qartdk77pwmqm93an8k1py6kigobqc2 Μικολάιβ 0 2329 36798 32794 2025-12-16T09:18:41Z Εὐθυμένης 2777 36798 wikitext text/x-wiki [[Αρχείον:Здание Горкома в Николаеве.jpg|300px|thumb|Μικολάιβ]] Η '''Μικολάιβ''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 498.748 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] ccssgehx9u4h44csobkwmlbkmk7q99t Σλοβιάνσκ 0 2330 36839 32795 2025-12-16T09:46:33Z Εὐθυμένης 2777 36839 wikitext text/x-wiki [[Αρχείον:Sloviansk City Bank.jpg|300px|thumb|Σλοβιάνσκ]] Η '''Σλοβιάνσκ''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 117.445 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] mbewk0ze6fgg55y093vrsxedjb2gr2s Ευπατορία 0 2331 36765 36327 2025-12-16T08:57:16Z Εὐθυμένης 2777 36765 wikitext text/x-wiki Η '''Ευπατορία''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 105.719 (2015) ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] 04r96g4jh8wgyeg24no44whjuexjabe Κερτς 0 2332 36778 35548 2025-12-16T09:05:04Z Εὐθυμένης 2777 36778 wikitext text/x-wiki [[Αρχείον:Kerch ObeliskOfGlory.jpg|300px|μικρογραφία|Κερτς]] Η '''Κερτς''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 147.033 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] dvu3scbafae0qjqeag3wrwneq2yfhut Συμφερόπολη 0 2333 36842 35560 2025-12-16T09:48:20Z Εὐθυμένης 2777 36842 wikitext text/x-wiki [[Αρχείον:Симферополь. Пешеходная зона..JPG|300px|μικρογραφία|Συμφερόπολη]] Η '''Συμφερόπολη''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 332.317 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] axqdgkg0q39661nbr7k3p59z3gabz3d Σεβαστούπολη 0 2334 36837 34941 2025-12-16T09:45:30Z Εὐθυμένης 2777 36837 wikitext text/x-wiki [[Αρχείον:Sewastopol Panorama1.jpg|300px|thumb|Σεβαστούπολη]] Η '''Σεβαστούπολη''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 393.304 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] qtyiwqv6m8ft55o9oynrtd3ychbhnsn Ουμάν 0 2335 36822 32800 2025-12-16T09:36:01Z Εὐθυμένης 2777 36822 wikitext text/x-wiki [[Αρχείον:Uman-2007-08-12-05.jpg|300px|thumb|Ουμάν]] Η '''Ουμάν''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 86.911 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] 2wba26idhv3vb5igxtwavovf1jx6dsa Γιάλτα 0 2336 36761 35545 2025-12-16T08:54:03Z Εὐθυμένης 2777 36761 wikitext text/x-wiki [[Αρχείον:Ялта 032.jpg|300px|μικρογραφία|Γιάλτα]] Η '''Γιάλτα''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 76.746 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] qt1820mfhh97indtlr6tbp6m7985mgz Θεοδοσία 0 2337 36767 35547 2025-12-16T08:58:26Z Εὐθυμένης 2777 36767 wikitext text/x-wiki [[Αρχείον:THEODOSIA 01.jpg|300px|μικρογραφία|Θεοδοσία]] Η '''Θεοδοσία''' (ουκρανικά: Феодо́сія, ρωσικά: Феодо́сия, κριμαϊκά: Kefe, μεσαιωνική ονομασία Καφφάς)εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Σήμερον έχει πληθυσμό 69.038 ανθρώπους. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] iloei6gcte1hn8h0fydgw151aohmmzg Κολομία 0 2338 36780 32803 2025-12-16T09:06:23Z Εὐθυμένης 2777 36780 wikitext text/x-wiki [[Αρχείον:Kolomyia City Hall.jpg|300px|thumb|Κολομία]] Η '''Κολομία''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 61.428 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] echemjwpyc7s3km0g970e5qbk8q6i2f Ντζανκόι 0 2339 36813 35555 2025-12-16T09:30:18Z Εὐθυμένης 2777 36813 wikitext text/x-wiki [[Αρχείον:Джанкой.Привокзальная площадь.JPG|300px|μικρογραφία|Ντζανκόι]] Η '''Ντζανκόι''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 38.622 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] fegi82oizmczhdux4pnt2tn1g56sg9p Κρασνοπερεκόπσκ 0 2340 36785 35550 2025-12-16T09:09:09Z Εὐθυμένης 2777 36785 wikitext text/x-wiki [[Αρχείον:Krasnoperekopsk railway station.jpg|300px|μικρογραφία|Κρασνοπερεκόπσκ]] Η '''Κρασνοπερεκόπσκ''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 26.268 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] ijxczztl26atd8j3413plbmbui9ayy4 Αλούστα 0 2341 36753 36240 2025-12-16T08:43:51Z Εὐθυμένης 2777 36753 wikitext text/x-wiki [[Αρχείον:AlushtaPanoram.jpg|300px|thumb|Αλούστα]] Η '''Αλούστα''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 29.078 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] 23mghfh4c4xtz5an6brswjv9h4py3mf Σάκι 0 2342 36833 32807 2025-12-16T09:43:17Z Εὐθυμένης 2777 36833 wikitext text/x-wiki Η '''Σάκι''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 25.146 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] aor1uhvg5n8xg7bb9qypxadjrzea84p Μπακτσίσαραϊ 0 2343 36802 35553 2025-12-16T09:21:14Z Εὐθυμένης 2777 36802 wikitext text/x-wiki [[Αρχείον:Mošee minarett Bahtšisarais.jpg|300px|μικρογραφία|Μπακτσίσαραϊ]] Η '''Μπακτσίσαραϊ''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 27.448 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] g57m95bpliuo7qzp97j0i8joi3hnxsn Αρμιάνσκ 0 2344 36757 36228 2025-12-16T08:46:29Z Εὐθυμένης 2777 36757 wikitext text/x-wiki Η '''Αρμιάνσκ''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 19.900 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] qyrkrs0a6dq3j8xis49micaybrnayhn Σουντάκ 0 2345 36840 35559 2025-12-16T09:47:08Z Εὐθυμένης 2777 36840 wikitext text/x-wiki [[Αρχείον:View of Sudak from Genoese Fortress.jpg|300px|μικρογραφία|Σουντάκ]] Η '''Σουντάκ''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 16.492 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] 9eanyhsfd5p40jt38t6t6emta8topo1 Αλούπκα 0 2346 36752 35544 2025-12-16T08:43:18Z Εὐθυμένης 2777 36752 wikitext text/x-wiki [[Αρχείον:VorontsovskiPalace.jpg|300px|μικρογραφία|Αλούπκα]] Η '''Αλούπκα''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 7.771 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] cqrq9ot5r5laszdta3oslxjozncb61k Πριπιάτ 0 2347 36828 34027 2025-12-16T09:40:10Z Εὐθυμένης 2777 36828 wikitext text/x-wiki [[Αρχείον:View of Chernobyl taken from Pripyat.JPG|300px|thumb|Πριπιάτ]] Η '''Πριπιάτ''' εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 0 ανθρώπ. Η πολιτείαν ατς ακατοίκητην. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] 88ovgcezu0i9qhzl3kvo2bi8vdp57wa Γιαρέμτσε 0 2348 36762 36236 2025-12-16T08:54:42Z Εὐθυμένης 2777 36762 wikitext text/x-wiki [[Αρχείον:Yaremche2.JPG|300px|thumb|Γιαρέμτσε]] Η '''Γιαρέμτσε''' (''Яремче'') εν πολιτεία σην [[Ουκρανία|Ουκρανίαν]]. Οσήμερον εχ' πληθυσμόν 8.124 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{uk}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ουκρανία]] h3mx41ip7w9md9tmf8w69hxkvayh38u Σότσι 0 2349 36834 35739 2025-12-16T09:43:49Z Εὐθυμένης 2777 36834 wikitext text/x-wiki [[Αρχείον:Сочи-коллаж1.jpg|300px|μικρογραφία|Σότσι]] Η '''Σότσι''' εν πολιτεία σην [[Ρουσία|Ρουσίαν]]. Οσήμερον εχ' πληθυσμόν 444.989 ανθρώπ (2024). == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ru}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ρουσία]] jfb3u4m6am69x0okixa7cp2gwv6xt32 Νοβοροσίσκ 0 2350 36810 35348 2025-12-16T09:28:09Z Εὐθυμένης 2777 36810 wikitext text/x-wiki Η '''Νοβοροσίσκ''' εν πολιτεία σην [[Ρουσία|Ρουσίαν]]. Οσήμερον εχ' πληθυσμόν 241.952 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ru}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ρουσία]] 762qa38p10i4nw7h7xy55l8nog0fvww Κρασνοντάρ 0 2351 37397 36783 2025-12-25T12:39:18Z ~2025-42930-69 12233 37397 wikitext text/x-wiki [[Αρχείον:Краснодар.png|300px|μικρογραφία|Κρασνοντάρ]] Η '''Κρασνοντάρ''' (ρουσικά: Краснодáр), πρώτα '''Αικατερινοντάρ''' (ους 1920), εν πολιτεία σην νότιαν [[Ρουσία|Ρουσίαν]], η πρωτεύουσσα τη Κράι Κρασνοντάρ (Κουμπάν). Οσήμερον εχ' πληθυσμόν 1.154.885 ανθρώπ.<ref>{{cite web|url=https://citypopulation.de/en/russia/gorodkrasnodar/|title=Krasnodar City|accessdate=2025-12-25|work=citypopulation.de}}</ref> == Αναφοράντας == <references/> == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ru}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ρουσία]] 6djvn28jit3yxnke5zloqkyve9bi5cf Μαϊκόπ 0 2352 36797 35552 2025-12-16T09:18:06Z Εὐθυμένης 2777 36797 wikitext text/x-wiki [[Αρχείον:Вокзал Майкопа.JPG|300px|μικρογραφία|Μαϊκόπ]] Η '''Μαϊκόπ''' εν πολιτεία σην [[Ρουσία|Ρουσίαν]]. Οσήμερον εχ' πληθυσμόν 144.249 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ru}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ρουσία]] b1qyys77k1wav4l7ecrp4qqxstxc11g Ροστόφ επί του Ντον 0 2353 36831 35557 2025-12-16T09:42:07Z Εὐθυμένης 2777 36831 wikitext text/x-wiki [[Αρχείον:Rostov-on-Don Collage.jpg|300px|μικρογραφία|Ροστόφ επί του Ντον]] Η '''Ροστόφ επί του Ντον''' εν πολιτεία σην [[Ρουσία|Ρουσίαν]]. Οσήμερον εχ' πληθυσμόν 1.089.800 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ru}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ρουσία]] et1sd3v2mwp4nh94e1teatdeulghcb4 Ταγκανρόγκ 0 2354 36844 35561 2025-12-16T09:49:27Z Εὐθυμένης 2777 36844 wikitext text/x-wiki [[Αρχείον:Port of Taganrog.jpg|300px|μικρογραφία|Ταγκανρόγκ]] Η '''Ταγκανρόγκ''' (ru: Таганрог) εν πολιτεία σην [[Ρουσία|Ρουσίαν]]. Οσήμερον εχ' πληθυσμόν 257.681 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ru}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ρουσία]] bqrphwiyrhrwka0x0pjux0q7hoiyxdg Νοβοτσερκάσσκ 0 2355 36811 35554 2025-12-16T09:28:41Z Εὐθυμένης 2777 36811 wikitext text/x-wiki [[Αρχείον:Novoch Triumph arc.JPG|300px|μικρογραφία|Νοβοτσερκάσσκ]] Η '''Νοβοτσερκάσσκ''' εν πολιτεία σην [[Ρουσία|Ρουσίαν]]. Οσήμερον εχ' πληθυσμόν 168.746 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ru}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ρουσία]] 4me79ffnx5hsbl9be8tlhy0cqhb34le Βικιπαίδεια:VisualEditor 4 2361 32835 2016-02-01T19:46:45Z Whatamidoing (WMF) 5092 Καινούρεον σελίδαν με '{{softredirect|mw:VisualEditor/Portal}}' 32835 wikitext text/x-wiki {{softredirect|mw:VisualEditor/Portal}} iy7vgueo1hjlcivyimch8qd4qyl8k3o Αγία Πετρούπολη 0 2362 36750 35543 2025-12-16T08:41:56Z Εὐθυμένης 2777 36750 wikitext text/x-wiki [[Αρχείον:Spb collage.JPG|300px|μικρογραφία|Αγία Πετρούπολη]] Η '''Αγία Πετρούπολη''' εν πολιτεία σην [[Ρουσία|Ρουσίαν]]. Οσήμερον εχ' πληθυσμόν 5.191.690 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ru}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ρουσία]] pdbhlosebqc1kol69ty26vkwuhl0wcw Ιερουσαλήμ 0 2363 36768 36309 2025-12-16T08:59:03Z Εὐθυμένης 2777 36768 wikitext text/x-wiki [[Αρχείον:Jerusalem Dome of the rock BW 14.JPG|300px|thumb|Ιερουσαλήμ]] Η '''Ιερουσαλήμ''' εν πολιτεία σην [[Ισραήλ]]. Οσήμερον εχ' πληθυσμόν 890,428 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{he}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ισραήλ]] [[Κατηγορίαν:Ιερουσαλήμ]] 6xioct0h2nfx7nnlfvmctu744mvwp8s Ρίο ντε Τζανέιρο 0 2364 36829 34253 2025-12-16T09:40:59Z Εὐθυμένης 2777 36829 wikitext text/x-wiki [[Αρχείον:Montagem Rio de Janeiro.jpg|300px|thumb|Ρίο ντε Τζανέιρο]] Η '''Ρίο ντε Τζανέιρο''' εν πολιτεία σην [[Βραζιλία|Βραζιλίαν]]. Οσήμερον εχ' πληθυσμόν 6.453.682 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{pt}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] 4o38cfxpej1ppl1t6bvai9fc2tyimlo Χρύσανθος Θεοδωρίδης 0 2365 37404 37401 2025-12-28T19:19:06Z Таёжный лес 10003 37404 wikitext text/x-wiki [[File:Chrisanthos.jpg|thumb]] Ο '''Χρύσανθον''' ο '''Θεοδωρίδης''' εγγενέθεν το 1933 Σο χωρίον Οινόη τη Κοζάνης. Τα κυρουκά τ' έσαν Ποντιοι πρόσφηγοι α σο χωρίον Πεζιρκιάν Κιατσίτ (οσήμερον Εσκί Γκετσίτ, σο Καρσ Καυκάσου σην [[Τουρκία]]).Τραγωδεάνος α σο κουνίν'ατ έτον πολλά αναγνωρίσιμος και με το προσωνύμ' "Αϊδονι του Ποντου". Η γλυκίν και πολλά Ζηλ λαλίαν ατ' εποίκεν ατον ογλήορα αγαπητό και φενόμενον, αμον ντο είπε και ο συνθέτας Γιάννης Μαρκόπουλος Ο Χρύσανθον έτον σα επτά λαλίας τη οικουμένης. [[Κατηγορίαν:Ποιητάδες]] [[Κατηγορίαν:Μουσική]] eymai8pviy4k5ji0u54u8q0aj188u5n Τόκιο 0 2366 36843 32852 2025-12-16T09:48:53Z Εὐθυμένης 2777 36843 wikitext text/x-wiki [[Αρχείον:Tokyo Montage 2015.jpg|300px|thumb|Τόκιο]] Η '''Τόκιο''' εν πολιτεία σην [[Ιαπωνία]]ν. Οσήμερον εχ' πληθυσμόν 13.506.607 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ja}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ιαπωνία]] shd17xr72ddxp286pc0oirbmsyatyei Κιότο 0 2367 36779 33918 2025-12-16T09:05:41Z Εὐθυμένης 2777 36779 wikitext text/x-wiki [[Αρχείον:Kyoto01.jpg|300px|thumb|Κιότο]] Η '''Κιότο''' εν πολιτεία σην [[Ιαπωνία]]ν. Οσήμερον εχ' πληθυσμόν 1.474.570 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ja}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ιαπωνία]] 5p4z416e5s8adzjgfdr13zb4q32g1e3 Ναγκόγια 0 2368 36805 33988 2025-12-16T09:25:02Z Εὐθυμένης 2777 36805 wikitext text/x-wiki [[Αρχείον:Japan Nagoya.png|300px|thumb|Ναγκόγια]] Η '''Ναγκόγια''' εν πολιτεία σην [[Ιαπωνία]]ν. Οσήμερον εχ' πληθυσμόν 2.283.289 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ja}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ιαπωνία]] nfg1tbc2l88pqnv5ss3r2nelv5rncnz Οσάκα 0 2369 36820 32855 2025-12-16T09:34:53Z Εὐθυμένης 2777 36820 wikitext text/x-wiki [[Αρχείον:Osaka montage.jpg|300px|thumb|Οσάκα]] Η '''Οσάκα''' εν πολιτεία σην [[Ιαπωνία]]ν. Οσήμερον εχ' πληθυσμόν 2.668.586 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ja}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ιαπωνία]] 7tbcifvwbmpor5k0gvdbzd0y206q03d Σαππόρο 0 2370 36836 32856 2025-12-16T09:44:58Z Εὐθυμένης 2777 36836 wikitext text/x-wiki [[Αρχείον:Hokkaido Sapporo Odori Park.jpg|300px|thumb|Σαππόρο]] Η '''Σαππόρο''' εν πολιτεία σην [[Ιαπωνία]]ν. Οσήμερον εχ' πληθυσμόν 1.918.096 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ja}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ιαπωνία]] am9nddz4uktngmuwcr8c3dpbxrgxvtk Γιοκοχάμα 0 2371 36763 36185 2025-12-16T08:55:56Z Εὐθυμένης 2777 36763 wikitext text/x-wiki [[Αρχείον:Japan Yokohama.png|300px|thumb|Γιοκοχάμα]] Η '''Γιοκοχάμα''' εν πολιτεία σην [[Ιαπωνία]]ν. Οσήμερον εχ' πληθυσμόν 3.697.894 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ja}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ιαπωνία]] lng0vm35l1x33c88en67j9legcj1yjm Ντνιπροπετρόφσκ 0 2380 32889 2016-06-02T21:55:16Z UpdaterQ 5373 UpdaterQ moved page [[Ντνιπροπετρόφσκ]] to [[Ντνιπρο]] 32889 wikitext text/x-wiki #REDIRECT [[Ντνιπρο]] gt42jah1nit0q1q00oyyz88frgrud53 Ματσούο Μπασό 0 2382 34470 34459 2020-04-08T05:46:45Z Tulsi 5081 Cross-wiki abuse 32894 wikitext text/x-wiki [[Αρχείον:Basho in Ogaki.JPG|thumb|Ματσούο Μπασό]] Ο '''Ματσούο Μπασό''' (1644 σο Κοντά στο Ουένο, Ιαπωνία - 28 Αεργίτες 1694 ση Οσάκα, Ιαπωνία), έτονε ποιητής ασην Ιαπωνία. == Αναφοράντας == {{Commonscat}} [[Κατηγορίαν:Ιαπωνία]] 22ayvxywyn41tac2r08aq04k8gg5ho4 Χιλή 0 2568 35961 35017 2024-10-26T05:28:12Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35961 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Χιλή'''</big></big><br/>''República de Chile'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Chile.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Chile (c).svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Chile in South America (+Easter Islands).svg|300px]] |} Η '''Χιλή''' (σα ισπανικά: ''Chile'', ή ''República de Chile'') εν κράτος ντ' ευρίεται ση Λατινικήν Αμέρικα. Πρωτεύουσαν ατ'ς εν το [[Σαντιάγκο]]. Η χώρα εχ' πληθυσμόν σα 17,574,003 ([[2017]]) τ' ανθρώπ'ς. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Chile|Η Χιλή σα Commons]]''' * [http://el.wikipedia.org/wiki/Χιλή Χιλή (ελλενικόν)] [[Κατηγορίαν:Κράτη]] [[Κατηγορίαν:Χιλή ]] [[Κατηγορίαν:Λατινικήν Αμέρικα]] 680hwy4qy8daxcihnzeqtclq7so5rbi Παρίσι 0 2574 36893 36824 2025-12-16T10:21:38Z Εὐθυμένης 2777 36893 wikitext text/x-wiki {{WikidataCoord|display=title}} [[Αρχείον:Paris - Eiffelturm und Marsfeld2.jpg|300px|thumb|Παρίσι]] Το '''Παρίσι''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 2.220.445 ανθρώπ. <br><gallery> Paris-Assemblee nationale-106-Palais Bourbon nord-2017-gje.jpg|Palais Bourbon Paris-Jardin des Plantes-104-Museum national d'histoire naturelle-Stegosaurus-2017-gje.jpg|Jardin des Plantes Paris-Notre Dame-117c-Westfassade-Mittelportal-2017-gje.jpg|Notre Dame Paris-Rue Descartes 39-104-Maison de Verlaine-2017-gje.jpg|Maison de Verlaine Paris-Rue Mouffetard-118-Meeresfruechte-2017-gje.jpg|Marché à la Rue Mouffetard Paris-Seine-102-Pont de Sully-2017-gje.jpg|Seine, Pont de Sully Paris-Tuileries-114-2017-gje.jpg|Tuileries Paris-von Montmartre-124-St Vinzenz-p9-2017-gje.jpg|Vue depuis Montmartre </gallery> == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] [[Κατηγορίαν:Γαλλία]] edyqz7q0er7gjhcsd6rk2czqowrkf3f Μασσαλία 0 2575 36881 36796 2025-12-16T10:18:57Z Εὐθυμένης 2777 36881 wikitext text/x-wiki Η '''Μασσαλία''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 863.310 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] nsrcsfdiyp7w4fkbjs7nkg9pp75anvs Λιόν 0 2576 36879 36791 2025-12-16T10:18:33Z Εὐθυμένης 2777 36879 wikitext text/x-wiki [[Αρχείον:Lyon-Paysages.jpg|300px|thumb|Λιόν]] Η '''Λιόν''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 506.615 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] cmiufmarj8y7vbbexetjf4lv5a1o33c Τουλούζ 0 2577 36900 36846 2025-12-16T10:23:12Z Εὐθυμένης 2777 36900 wikitext text/x-wiki [[Αρχείον:Montage Toulouse 2.jpg|300px|thumb|Τουλούζ]] Η '''Τουλούζ''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 466.297 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] eh5suuvi82hqbyltxvdx3bgp6rp5qnv Νις (Γαλλία) 0 2578 36889 36809 2025-12-16T10:20:45Z Εὐθυμένης 2777 36889 wikitext text/x-wiki [[Αρχείον:Port Of Nice, Côte d'Azur.jpg|300px|thumb|Νις]] Η '''Νις''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 344.875 ανθρώπ. == Parade == <gallery> File:Bataille de fleurs. 2020-02-22 14-43-52.jpg File:Bataille de fleurs. 2020-02-22 14-47-17.jpg File:Bataille de fleurs. 2020-02-22 14-50-16.jpg File:Bataille de fleurs. 2020-02-22 14-53-48.jpg File:Bataille de fleurs. 2020-02-22 14-56-44.jpg File:Bataille de fleurs. 2020-02-22 15-00-53.jpg File:Bataille de fleurs. 2020-02-22 15-18-29.jpg File:Bataille de fleurs. 2020-02-22 15-23-33.jpg File:Bataille de fleurs. 2020-02-22 15-15-01.jpg </gallery> == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] 5vphmy7bs57vidstg61yp07sav7rky1 Μπορντό 0 2579 36886 36804 2025-12-16T10:20:04Z Εὐθυμένης 2777 36886 wikitext text/x-wiki [[Αρχείον:138 - Place de la Bourse et le miroir d'eau - Bordeaux.jpg|300px|thumb|Μπορντό]] To '''Μπορντό''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 246.586 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] 97rmk36lxdmaqj3r82f3ontjtspi8my Στρασβούργο 0 2580 36898 36841 2025-12-16T10:22:46Z Εὐθυμένης 2777 36898 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Στρασβούργο'''</big></big><br/>''Strossburi'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="190px" | [[Αρχείον:Greater_coat_of_arms_of_Strasbourg.svg|178px]] | align="center" width="100px" | [[Αρχείον:Flag_of_Strasbourg.svg|125px]] |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Absolute cathedrale vue quais 01.JPG|300px]] |} To '''Στρασβούργο''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 276.170 ανθρώπ. <br><gallery class=center caption="Στρασβούργο - Strasbourg"> Strassburg-Muenster-116-Kraemergass-2005-gje.jpg Strassburg-Haus Kammerzell-02-2005-gje.jpg Strassburg-Petite France-42-Argentorate-1987-gje.jpg Strassburg-Petite France-52-Maler vor Maison d'Tanneur-1987-gje.jpg Strassburg-Petite France-80-2005-gje.jpg Strassburg-Ponts Couverts-10-von Barrage Vauban-1987-gje.jpg Strassburg-Weihnachtsmarkt-02-2005-gje.jpg Strassburg-Weihnachtsmarkt-18-Muenster-2005-gje.jpg </gallery> == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] cxnmla8zlpfi5y2f1fgjmvhi61j5k81 Λιλ 0 2581 36880 36792 2025-12-16T10:18:45Z Εὐθυμένης 2777 36880 wikitext text/x-wiki [[Αρχείον:Lille vue gd place.JPG|300px|thumb|Λιλ]] Η '''Λιλ''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 233.897 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] 0ooypaflts2lpcf1t6jtznz69vm8xt5 Ναντ 0 2582 36887 36807 2025-12-16T10:20:17Z Εὐθυμένης 2777 36887 wikitext text/x-wiki [[Αρχείον:Marité.jpg|300px|thumb|Ναντ]] Η '''Ναντ''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 298.029 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] t1xcswvyp7pe4yflyxu9bxunnu5nual Ρουέν 0 2583 36897 36832 2025-12-16T10:22:30Z Εὐθυμένης 2777 36897 wikitext text/x-wiki [[Αρχείον:Rouen montage.jpg|300px|thumb|Ρουέν]] Η '''Ρουέν''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 110.618 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] ti4qlh4htu1rl6am6xawtl7n79urno6 Καλαί 0 2584 36876 36775 2025-12-16T10:17:53Z Εὐθυμένης 2777 36876 wikitext text/x-wiki [[Αρχείον:Burghers of calais.jpeg|300px|thumb|Καλαί]] To '''Καλαί''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 76.402 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] pt07wpl9wvp59j42lue3y990jy4lzqv Καέν 0 2585 36875 36773 2025-12-16T10:17:38Z Εὐθυμένης 2777 36875 wikitext text/x-wiki [[Αρχείον:Clochers de Caen.JPG|300px|thumb|Καέν]] Η '''Καέν''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 106.538 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] 6v0l12vtr5pjyph0jysv4m11rbbpv6f Λα Ροσέλ 0 2586 36878 36787 2025-12-16T10:18:20Z Εὐθυμένης 2777 36878 wikitext text/x-wiki [[Αρχείον:La Rochelle Vieux-Port.JPG|300px|thumb|Λα Ροσέλ]] Η '''Λα Ροσέλ''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 74.998 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] g6kus8c4jbzc4whfpf321wb1q9zg1db Ρεν 0 2587 36896 36830 2025-12-16T10:22:17Z Εὐθυμένης 2777 36896 wikitext text/x-wiki [[Αρχείον:Vue sud-ouest de la place du parlement de Bretagne, Rennes, France.jpg|300px|thumb|Ρεν]] Η '''Ρεν''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 213.454 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] r2a1is0mh34oeo2beywg0fuvp6bo7ml Χάβρη 0 2588 36901 36849 2025-12-16T10:23:25Z Εὐθυμένης 2777 36901 wikitext text/x-wiki [[Αρχείον:Le Havre.jpg|300px|thumb|Χάβρη]] Η '''Χάβρη''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 172.807 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] 0o6ew9k9525t0puvumfnpkuwuh1dy5t Ονφλέρ 0 2589 36892 36819 2025-12-16T10:21:23Z Εὐθυμένης 2777 36892 wikitext text/x-wiki [[Αρχείον:France Calvados Honfleur port2.jpg|300px|thumb|Ονφλέρ]] Το '''Ονφλέρ''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 7.440 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] danhp92f28qzfjd4wacbjaom4oj70bt Γκρενόμπλ 0 2590 36874 36764 2025-12-16T10:16:55Z Εὐθυμένης 2777 36874 wikitext text/x-wiki [[Αρχείον:Panorama grenoble.png|300px|thumb|Γκρενόμπλ]] Η '''Γκρενόμπλ''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 160.779 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] b8ifhfwievk5wv4cuuwy9suhlzrctgs Πουατιέ 0 2591 36895 36827 2025-12-16T10:22:05Z Εὐθυμένης 2777 36895 wikitext text/x-wiki [[Αρχείον:Poitiers hill.jpg|300px|thumb|Πουατιέ]] Το '''Πουατιέ''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 87.435 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] qicntiivgl0v0q6imzs44a3pq56svyv Ντιέπ (Σεν-Μαριτίμ) 0 2592 36890 36814 2025-12-16T10:20:58Z Εὐθυμένης 2777 36890 wikitext text/x-wiki [[Αρχείον:Vue sur Dieppe depuis Chateau.JPG|300px|thumb|Ντιέπ]] Η '''Ντιέπ''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 30.086 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] sio5zvwerl72spoo45uwjc07cjusncp Αλμπέρ (Σομ) 0 2593 36871 36751 2025-12-16T10:14:56Z Εὐθυμένης 2777 36871 wikitext text/x-wiki [[Αρχείον:L'Hôtel-de-ville d'Albert ( Somme), oeuvre d'Alexandre Miniac et Maneval..jpg|300px|thumb|Αλμπέρ]] Η '''Αλμπέρ''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 10.064 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] 0pve1jcmb7a36gehvs03i42qtq3ipjq Αμιάν 0 2594 36872 36754 2025-12-16T10:15:18Z Εὐθυμένης 2777 36872 wikitext text/x-wiki [[Αρχείον:0 Amiens - Cathédrale Notre-Dame (1).JPG|300px|thumb|Αμιάν]] Η '''Αμιάν''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 132.479 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] ij62tm2tsk5d5oefgioy19tnlqk1fpv Ανζέ 0 2595 36873 36756 2025-12-16T10:15:33Z Εὐθυμένης 2777 36873 wikitext text/x-wiki [[Αρχείον:Vue sur le centre d'Angers.jpg|300px|thumb|Ανζέ]] Η '''Ανζέ''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 151.056 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] 8ggrn2jo4mgyq347pc20aocz127x8cl Ντανκέρκ 0 2596 36891 36812 2025-12-16T10:21:11Z Εὐθυμένης 2777 36891 wikitext text/x-wiki [[Αρχείον:Dunkerquepaysage2.png|300px|thumb|Ντανκέρκ]] Η '''Ντανκέρκ''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 89.160 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] di40leerc73sj0wnnobtsi25r0y2sh7 Μονπελιέ 0 2597 36882 36799 2025-12-16T10:19:08Z Εὐθυμένης 2777 36882 wikitext text/x-wiki [[Αρχείον:Montpellier PhotoMontage 01.jpg|300px|thumb|Μονπελιέ]] To '''Μονπελιέ''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 285.121 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] p1hlb5ul2ul6g6m3i265356ojnh63tv Ταρμπ 0 2598 36899 36845 2025-12-16T10:23:00Z Εὐθυμένης 2777 36899 wikitext text/x-wiki [[Αρχείον:Mairie de Tarbes (Hautes-Pyrénées, France).jpg|300px|thumb|Ταρμπ]] Η '''Ταρμπ''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 40.900 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] 5i2ihwb0neuzwr2a0gcr2objpk5vrb7 Καρκασσόν 0 2599 36877 36776 2025-12-16T10:18:07Z Εὐθυμένης 2777 36877 wikitext text/x-wiki [[Αρχείον:Burg von Carcassonne.jpg|300px|thumb|Καρκασσόν]] Η '''Καρκασσόν''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 45.941 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] r99gv9ow497pzoxxiiwnf8fcxpkxlf4 Μοντωμπάν 0 2600 36884 36801 2025-12-16T10:19:39Z Εὐθυμένης 2777 36884 wikitext text/x-wiki [[Αρχείον:Montauban - La Place Nationale.jpg|300px|thumb|Μοντωμπάν]] To '''Μοντωμπάν''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 58.826 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] 1mcb8gy7mnhzz99ujgjzw2xgi8u2di2 Μπεζιέ 0 2601 36885 36803 2025-12-16T10:19:52Z Εὐθυμένης 2777 36885 wikitext text/x-wiki [[Αρχείον:CathedraleEtVieuxPontBeziers.jpg|300px|thumb|Μπεζιέ]] Η '''Μπεζιέ''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 75.701 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] 5ap2yo7wuonmn3w5u9wv4fb7esov3ds Περπινιάν 0 2602 36894 36826 2025-12-16T10:21:51Z Εὐθυμένης 2777 36894 wikitext text/x-wiki [[Αρχείον:Perpignan.jpg|300px|thumb|Περπινιάν]] Το '''Περπινιάν''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 120.605 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] ihmrnk60tuen6q68omrv153kyrq9f0q Νιμ 0 2603 36888 36808 2025-12-16T10:20:29Z Εὐθυμένης 2777 36888 wikitext text/x-wiki [[Αρχείον:Nîmes, Centre ville.jpg|300px|thumb|Νιμ]] Η '''Νιμ''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 151.075 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] e4lcplo6vx7vkwpgqxehafty3lrj4f8 Αβινιόν 0 2604 36902 36749 2025-12-16T10:23:48Z Εὐθυμένης 2777 36902 wikitext text/x-wiki [[Αρχείον:Avignon, Palais des Papes depuis Tour Philippe le Bel by JM Rosier.jpg|300px|thumb|Αβινιόν]] Η '''Αβινιόν''' εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 92.209 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] 2luhdps3wkfwfguewb3llg11lbt9mwd Βικιπαίδεια:Arthron 4 2605 33168 2016-10-27T06:17:47Z Frhdkazan 5174 Καινούρεον σελίδαν με ''''pnt''': Σελίδας, ιστορικόν εκδοσίων [[Πρότυπον:Arthron]], Αρχικόν σελίδα. '''en''': This list of Featur...' 33168 wikitext text/x-wiki '''pnt''': Σελίδας, ιστορικόν εκδοσίων [[Πρότυπον:Arthron]], Αρχικόν σελίδα. '''en''': This list of Featured Articles is obtained from [[Πρότυπον:Arthron]] MainPage Current Featured Article template history. '''ru''': Данный список Избранных статей вычленен из истории правок шаблона текущая избранная статья [[Πρότυπον:Arthron]], размещённого на заглавной странице. # [[Τσιριχτά]] # [[Στράβων]] # [[Ευρώπην]] # [[Αστερίκον]] # [[Καρς]] # [[Ποντιακά Παρχάραι]] # [[Χαβίτς]] [[Κατηγορίαν:Βικιπαίδεια]] f5bmtmjt6ssgi2ii75kso01na2es9tv Κατηγορίαν:Βικιπαίδεια:Arthron 14 2606 33177 33176 2016-10-27T06:31:05Z Frhdkazan 5174 33177 wikitext text/x-wiki '''''[[Βικιπαίδεια:Arthron]]''''' [[Κατηγορίαν:Βικιπαίδεια]] kjp4wpmvereoyvfew8l05j2jrukeeof Μονακόν 0 2610 37405 34472 2025-12-30T21:43:38Z Таёжный лес 10003 merging 37405 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Μονακό]] 7vdevp7fklbj9lijnh0hbhczz9ur2w9 Κρήτη 0 2616 34616 34477 2020-10-05T16:27:23Z Rotondus 8164 Κατηγορίαν 34616 wikitext text/x-wiki Η Κρήτη εν νησιωτικό μέρος τη νοτιονατολικού Μεσογείου. Ές (με τα εκτιμήσεις τη 2009) 623.065 ανθρώπς. [[Κατηγορίαν:Νησία]] [[Κατηγορίαν:Ελλάδα]] 93fl4adsxbmy52nucj08s0w7agpmqss Χιροσίμα 0 2620 36852 33231 2025-12-16T09:54:08Z Εὐθυμένης 2777 36852 wikitext text/x-wiki [[Αρχείον:Hiroshima montage2.jpg|thumb|Χιροσίμα]] Η '''Χιροσίμα''' εν πολιτεία σην [[Ιαπωνία]]ν. Οσήμερον εχ' πληθυσμόν 1.196.274 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ja}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ιαπωνία]] k1slri9rqnydoi22zuazknckec4xmop Ναγκασάκι 0 2621 36806 33232 2025-12-16T09:25:35Z Εὐθυμένης 2777 36806 wikitext text/x-wiki [[Αρχείον:Nagasaki City view from Hamahira01s3.jpg|thumb|Ναγκασάκι]] Η '''Ναγκασάκι''' εν πολιτεία σην [[Ιαπωνία]]ν. Οσήμερον εχ' πληθυσμόν 446.007 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ja}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ιαπωνία]] ir8tqpog5mbr4b7ogjvk32dw6y359pq Φουκουόκα 0 2622 36848 35097 2025-12-16T09:51:55Z Εὐθυμένης 2777 36848 wikitext text/x-wiki [[Αρχείον:Fukuoka montage.jpg|thumb|Φουκουόκα]] Η '''Φουκουόκα''' εν πολιτεία σην [[Ιαπωνία]]ν. Οσήμερον εχ' πληθυσμόν 5.590.378 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ja}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ιαπωνία]] 6n8z1jwaa86vj7qy4kmka8k8gssucaa Καγκοσίμα 0 2623 36774 36314 2025-12-16T09:02:40Z Εὐθυμένης 2777 36774 wikitext text/x-wiki [[file:Kagoshima and Sakurajima.jpg|thumb|Καγκοσίμα]] Η '''Καγκοσίμα''' εν πολιτεία σην [[Ιαπωνία]]ν. Οσήμερον εχ' πληθυσμόν 605.855 ανθρώπ. Την 1ην του Καλαντάρτς (Ιανουαρίου) το έτος 2553 (2010), η πόλιν Καγκωσίμα είχεν πληθυσμόν περίπου 605.855 ανθρώπους. Η πυκνότητα ατον ήτον 1.107,49 ανθρώπους ανά τετραγωνικόν χιλιόμετρον, με συνολικήν έκτασην 546,71 τετραγωνικά χιλιόμετρα. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ja}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ιαπωνία]] r1nmhkz6br7nx1xo4eghvmglwq1ure9 Σεντάι 0 2624 36838 34876 2025-12-16T09:46:01Z Εὐθυμένης 2777 36838 wikitext text/x-wiki Η '''Σεντάι''' εν πολιτεία σην [[Ιαπωνία]]ν. Οσήμερον εχ' πληθυσμόν 1.063.103 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ja}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ιαπωνία]] di7pyifwhledjzgy1kv6frgolz825wn Κόμπε 0 2625 36772 33236 2025-12-16T09:01:35Z Εὐθυμένης 2777 36772 wikitext text/x-wiki [[Αρχείον:Twilight view of Kobe, from a point near Shin-Kobe station.jpg|thumb|Κόμπε]] Η '''Κόμπε''' εν πολιτεία σην [[Ιαπωνία]]ν. Οσήμερον εχ' πληθυσμόν 1.536.499 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ja}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ιαπωνία]] 1pzgpo1r3of8d7semtxaunbwtdxqowg Ονταγουάρα 0 2626 36818 33237 2025-12-16T09:33:23Z Εὐθυμένης 2777 36818 wikitext text/x-wiki [[Αρχείον:Odawara montage.JPG|thumb|Ονταγουάρα]] Η '''Ονταγουάρα''' εν πολιτεία σην [[Ιαπωνία]]ν. Οσήμερον εχ' πληθυσμόν 194.672 ανθρώπ. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{ja}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Ιαπωνία]] au0dvxm4ncljlnk5vmew9lcyisqomh6 Κατηγορίαν:Χιλή 14 2631 34655 34647 2020-11-22T20:23:01Z Je7roi 4539 Ο Je7roi μετακίνησε τη σελίδα [[Κατηγορίαν:Χιλε]] στην [[Κατηγορίαν:Χιλή]]: Correction name 34647 wikitext text/x-wiki {{Commonscat|Chile}} [[Κατηγορίαν:Κράτη|Χιλε]] d6iwoidlm1gcxtu1dewqo7bu77gt78c Σαντιάγκο 0 2632 36835 34769 2025-12-16T09:44:23Z Εὐθυμένης 2777 36835 wikitext text/x-wiki [[Αρχείον:Santiago, vista hacia el Sureste (9417568385).jpg|μικρογραφία|Σαντιάγκο]] To '''Σαντιάγκο''' εν πολιτεία σην [[Χιλή]]. Οσήμερον ([[2014]]) εχ' πληθυσμόν 5.128.590 ανθρώπς. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{es}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Χιλή]] rm2kqzayxb0v14lg4qdai6kczb968dd Latin America 0 2633 33263 2017-02-27T21:59:12Z GreekCanine 4979 Ο GreekCanine μετακίνησε τη σελίδα [[Latin America]] στην [[Λατινικήν Αμέρικα]] 33263 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Λατινικήν Αμέρικα]] rf0ewym2bujag00ii5hspu6u52t6iyc Συνθετικοι 0 2641 35526 35525 2024-01-23T17:21:07Z Διογένες 10538 /* Παραπομπές */+s 35526 wikitext text/x-wiki Οι '''Συνθετικοί''' είναι η πρωτοποριακή ελληνική μπάντα ηλεκτρονικής μουσικής, που δημιουργήθηκε το 1985 από τους '''Αποστόλη "Λοβέρδο" Αυγερινό''' (στίχοι, σύνθεση, φωνή, κιθάρα), και τον '''Διονύση Αυγερινό''' (στίχοι, σύνθεση, φωνή, πλήκτρα). {| class="wikitable" |+Πίνακας περιεχομένων !1. !Ιστορικό - 1η περίοδος ! ! |- ! ! !1.1 !1η περίοδος |- | | |'''1.2''' |'''2η περίοδος''' |- |'''2.''' |'''Δισκογραφία''' | | |- |'''3.''' |'''Άλλα projects''' | | |- |'''4.''' |'''Παραπομπές''' | | |} == Ιστορικό - == === 1η περίοδος === Οι Αποστόλης και Διονύσης Αυγερινός γεννήθηκαν στο Ληξούρι Κεφαλλονιάς. Η σχέση τους με την μουσική ξεκινάει από πολύ νωρίς, τόσο λόγω της πλούσιας μουσικής παράδοσης του τόπου που μεγάλωσαν, όσο και των μουσικών ερεθισμάτων μέσα από την ίδια την οικογένεια, που όλοι σχεδόν παππούδες ,πατέρας, θείοι, ήταν ερασιτέχνες μουσικοί.  Πρόγονος τους ήταν ο Νικόλαος Αυγερινός που ζούσε στην Οδησσό της Ρωσίας . Ήταν συνθέτης κυρίως εκκλησιαστικής τετράφωνης μουσικής και ενορχηστρωτής σε κάποια έργα του Τσαϊκόφσκι. Πριν από την εφηβεία, εγκαθίστανται οικογενειακά στην Αθήνα. Εκεί γνωρίζονται με τον '''Δημοσθένη Τσανέτογλου''', οι γνώσεις του οποίου στη μουσική τεχνολογία της εποχής, σε συνδυασμό με τα μουσικά ακούσματα των αδελφών Αυγερινών  από την ροκ, την πανκ, τα blues, αλλά και την ηλεκτρονική μουσική, οδηγεί τους τρεις τους να υλοποιήσουν την ιδέα σχηματισμού της μπάντας "Συγχρονισμοί". Αργότερα αλλάζουν το όνομα σε «Συνθετικοί», το οποίο και καθιερώνεται, κυκλοφορώντας το πρώτο τους ομώνυμο βινύλιο, με τη συμμετοχή στα computers του Δημοσθένη Τσανέτογλου. Ακολουθώντας ηλεκτρονικά μονοπάτια, καθιερώνουν το δικό τους ξεχωριστό ύφος, μέσα από την όσμωση του μινιμαλισμού, των ψυχεδελικών πλήκτρων, αλλά και της ηλεκτρικής κιθάρας, με τα ψιλά φωνητικά του Αποστόλη Αυγερινού και τον υπερρεαλιστικό στίχο. Το πρωτόγνωρο για την εποχή ύφος των Συνθετικών δεν έχει την ανάλογη ανταπόκριση και έτσι τρία χρόνια αργότερα το συγκρότημα διαλύεται. === 2η περίοδος ===  Στη συνέχεια οι Αποστόλης και Διονύσης ηχογραφούν και κυκλοφορούν ως  "Αποστόλης και Διονύσης Αυγερινός»" δύο cd: το "Φώτα μου, ήλιε μου" το 1997 και το «Ήλεκτρον» το 2006, με το δεύτερο να αποτελεί ένα εξ’ ολοκλήρου ορχηστικό άλμπουμ ηλεκτρονικής μουσικής, με επιρροές από την ελληνική παραδοσιακή επτανησιακή παραδοσιακή, αλλά και την βυζαντινή μουσική. Το 2010, και ύστερα από απαίτηση μερίδας κόσμου, επανασυνδέονται ως "Συνθετικοί", χωρίς τη συμμετοχή του Δημοσθένη Τσανέτογλου στο σχήμα . Την ίδια χρονιά, κυκλοφορούν υλικό που υπήρχε στα σκαριά, αλλά και νέα τραγούδια που εμπεριέχονται στο άλμπουμ με τίτλο «Προσωπεία- Εφιάλτες». Το 2013, κυκλοφορούν το «Ανθρώπινες Ιστορίες», ενώ μέσα στο 2017, αναμένεται ο τέταρτος δίσκος της μπάντας. Σήμερα οι Συνθετικοί, συνεχίζουν να εμφανίζονται ζωντανά. Παράλληλα, οι Αποστόλης και Διονύσης Αυγερινός, εργάζονται επάνω στη σύνθεση και την ηχογράφηση ενός διαφορετικού project με ακουστικά όργανα. Πρόκειται για την μελοποίηση ποιημάτων του Ναπολέων Λαπαθιώτη. == Δισκογραφία == * ''Συνθετικοί'' (1990) * ''Προσωπεία - Εφιάλτες'' (2010) * ''Ανθρώπινες Ιστορίες'' (2013) == Άλλα projects == * ''Φώτα μου ήλιε μου'' (1997) * ''Ήλεκτρον'' (2006) <nowiki>*</nowiki> Ως Αποστόλης και Διονύσης Αυγερινός == Παραπομπές == # https://www.tovima.gr/2013/01/16/vimagazino/oi-synthetikoi-tragoydane-akoma/ # https://www.lifo.gr/prosopa/synenteyjeis/oi-synthetikoi-anasyntithentai-ki-apopse # https://web.archive.org/web/20170527190610/http://www.rock-elliniko.gr/Synthetiki # https://web.archive.org/web/20170527190610/http://www.rock-elliniko.gr/Synthetiki [[Κατηγορίαν:Μουσική]] alstllmjpv69f621yhju3wv0u2epqpb Κατηγορίαν:User pt 14 2642 33340 2017-06-14T21:04:26Z 5.9.6.51 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33340 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Πορτογαλικά. bk3wt4c0yqmxim250zvirnymcaj4pmi Κατηγορίαν:User gl 14 2643 33341 2017-06-14T21:04:26Z 5.9.6.51 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33341 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Γαλικιανά. 4smm7s9z29w44ur81t94cmwf940ypbx Κατηγορίαν:User mwl 14 2644 33342 2017-06-14T21:04:26Z 5.9.6.51 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33342 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Μιραντεζικά. cf8573b9ilyxuqampqzqm6r2yve674u Κατηγορίαν:User an 14 2645 33343 2017-06-14T21:04:26Z 5.9.6.51 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33343 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Αραγκονικά. 4ctyn1hdx7d1ur1t7uywz1hot6st0ch Κατηγορίαν:User oc 14 2646 33344 2017-06-14T21:04:26Z 5.9.6.51 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33344 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Οξιτανικά. h5z3ebcfdc089bpk3oke0c5vq63fvbs Κατηγορίαν:User id 14 2647 33345 2017-06-14T22:55:56Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33345 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Ινδονησιακά. toeb69crqxcr8pzcb95fugm31ps6oh3 Κατηγορίαν:User ko 14 2649 33349 2017-06-16T04:40:05Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33349 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Κορεατικά. 425mo1b2rvbah3312oontfos1kz71yy Κατηγορίαν:User nl 14 2650 33350 2017-06-16T06:00:57Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33350 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Ολλανδικά. c9uu1do4193tycmtedxwar0gwhbz5dd Κατηγορίαν:User bg 14 2651 33354 2017-06-18T05:20:29Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33354 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Βουλγαρικά. 664gqhny66o7592wi3lb1q5g6133uqb Κατηγορίαν:User bs 14 2652 33355 2017-06-18T05:20:29Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33355 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Βοσνιακά. qme02ybiztvhm6b2866q6xgmvit2x1c Κατηγορίαν:User cs 14 2653 33356 2017-06-18T05:20:29Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33356 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Τσεχικά. pho5mxcoyzimeukdmwvok8fz5ecn2jw Κατηγορίαν:User csb 14 2654 33357 2017-06-18T05:20:29Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33357 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Κασούμπιαν. dhbpbmunzy8r68lq16p1hu8afu8rvyo Κατηγορίαν:User hr 14 2655 33358 2017-06-18T05:20:29Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33358 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Κροατικά. tr3dk3zzmm1n6tzvgwo2srhta6xq9ed Κατηγορίαν:User kg 14 2656 33359 2017-06-18T05:20:29Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33359 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Κονγκό. 3x7yx4j5qkqi4ii2xzhwy0fvssnzpl5 Κατηγορίαν:User la 14 2657 33360 2017-06-18T05:20:29Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33360 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Λατινικά. ibgru41ubkaoe3opkx87intju97jake Κατηγορίαν:User ro 14 2658 33361 2017-06-18T05:20:29Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33361 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Ρουμανικά. ha0kp2qdeu2pe79k0730uyhhhftkkvt Κατηγορίαν:User sc 14 2659 33362 2017-06-18T05:20:29Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33362 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Σαρδινικά. h4er0vw0x5nsc6ryj04q4d0dxd03jfa Κατηγορίαν:User sh 14 2660 33363 2017-06-18T05:20:29Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33363 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Σερβοκροατικά. ey3fsrk486s6r4pl7134fy3dp43bav2 Κατηγορίαν:User sk 14 2661 33364 2017-06-18T05:20:29Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33364 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Σλοβακικά. miri19u02x8w4x5yi4m9bnjurcrssh6 Κατηγορίαν:User sr 14 2662 33365 2017-06-18T05:20:29Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33365 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Σερβικά. b8v1rt58kxnpm2t5vt418x8168mqgcy Κατηγορίαν:User uk 14 2663 33366 2017-06-18T05:20:29Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33366 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Ουκρανικά. 7erzv89nqiut9n20acdoi7xepaeir0h Κατηγορίαν:Μονακό 14 2664 33367 2017-06-18T08:19:03Z 80.106.160.80 Δημιουργήθηκε κενή σελίδα 33367 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Κατηγορίαν:User de-AT 14 2665 33370 2017-06-18T23:49:53Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33370 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Γερμανικά Αυστρίας. hjrj4sr7kni0kfz8131shgit02bijs2 Κατηγορίαν:User zh 14 2666 33371 2017-06-19T00:47:27Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33371 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Κινεζικά. mfc20gay5iyvokxysocz72e90tlr2hr Κατηγορίαν:User lzh 14 2667 33372 2017-06-19T00:47:27Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33372 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Literary Chinese. ankrr9oo8jy18ernctke8kk3ym476e7 Κατηγορίαν:User yue 14 2668 33373 2017-06-19T00:55:11Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33373 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Καντονέζικα. 5w9llezwzvrc8qptmmblysesbjrh1gf Κατηγορίαν:User zh-Hant 14 2669 33374 2017-06-19T15:17:00Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33374 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Παραδοσιακά Κινεζικά. 5y2nvxexwe7v8c9cag5zcu44xzbyhaw Κατηγορίαν:User vep 14 2670 33375 2017-06-19T18:07:12Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33375 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Veps. lzyyg0bzxzw11cyqv6i15un9hhtk9b3 Κατηγορίαν:User li 14 2671 33376 2017-06-20T02:57:52Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33376 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Λιμβουργιανά. b2f2lydz23ro4kec3ze5932yk36ojth Κατηγορίαν:User af 14 2672 33377 2017-06-20T02:57:52Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33377 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Αφρικάανς. 8jomd3ff0e6xqc23bgm1bbpt0t805gx Κατηγορίαν:User eu 14 2673 33378 2017-06-20T03:19:28Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33378 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Βασκικά. ni36u7khugqxc2zth5tyc8ncpqpuewq Κατηγορίαν:User is 14 2674 33379 2017-06-20T03:41:18Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33379 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Ισλανδικά. bhx69mz2oskzzxi3mjcsg8ry99ve0wa Κατηγορίαν:User da 14 2675 33380 2017-06-20T03:41:18Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33380 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Δανικά. ktkqj7becagb33cmwyig94tpf615l27 Κατηγορίαν:User hu 14 2676 33381 2017-06-21T04:54:40Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33381 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Ουγγρικά. orybzlnmhqa07m7ghxclukuzzwwslbc Κατηγορίαν:User zh-Hans 14 2677 33382 2017-06-21T23:21:15Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33382 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Απλοποιημένα Κινεζικά. fer05lpcc2bi6bjirgesmwtiybfv7az Κατηγορίαν:User be 14 2678 33383 2017-06-22T03:48:37Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33383 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Λευκορωσικά. bmteq2k3sq1h9xpdpz4siy3eiusirdo Κατηγορίαν:User bn 14 2679 33386 2017-06-25T05:30:37Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33386 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Μπενγκάλι. n967j7atv9kzkq48k6k3m837uewu9eb Κατηγορίαν:User liv 14 2680 33389 2017-07-02T00:20:19Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33389 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Livonian. nzsgdewbxkv21m1dz56shp8lidcijkw Κατηγορίαν:User lv 14 2681 33390 2017-07-02T00:20:19Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33390 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Λετονικά. 7rkdzm44espbexb6vfbbftob3ex5wd6 Κατηγορίαν:User et 14 2682 33391 2017-07-02T00:20:19Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33391 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Εσθονικά. h14k3x9cz0l4u0czszocilz126hn3ca Κατηγορίαν:User sv 14 2683 33392 2017-07-02T12:09:42Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33392 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Σουηδικά. b32k2cxwsi85p8yz3y6cgai4y8sy5pz Κατηγορίαν:User no 14 2684 33393 2017-07-02T12:09:42Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33393 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Νορβηγικά. 8njshjgn70h8ww8g0irfq4favxbsh58 Κατηγορίαν:User nn 14 2685 33394 2017-07-02T12:09:42Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33394 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Νορβηγικά Νινόρσκ. erhwh1jx7zrze3f8bscpt3rsg8zkgya Κατηγορίαν:User nds 14 2686 33395 2017-07-02T12:09:43Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33395 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Κάτω Γερμανικά. mqfx9uk9qn0sy779702u9mkkzp0ea8i Κατηγορίαν:User nb 14 2687 33396 2017-07-02T18:44:22Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33396 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Νορβηγικά Μποκμάλ. tnwls5w62fw8aitwilo5ihbcpbizzng Κατηγορίαν:User ka 14 2688 33397 2017-07-02T18:44:22Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33397 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Γεωργιανά. s77heybge4ebq3emthizqza1b3b0on1 Κατηγορίαν:User ab 14 2689 33398 2017-07-03T02:56:41Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33398 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Αμπχαζικά. 8c4iu6cmy5hwld1uw7j4d3xgeguko4p Κατηγορίαν:User rn 14 2690 33399 2017-07-03T02:56:41Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33399 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Ρούντι. kajmy4aa0zqf324hdcl2f3vdf7gly4p Κατηγορίαν:User grc 14 2691 33400 2017-07-04T07:13:08Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33400 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Αρχαία Ελληνικά. i4bei7kclr33k5g94u3x9bp6h56xfha Κατηγορίαν:User ast 14 2692 33401 2017-07-05T13:09:45Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33401 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Αστουριανά. mg0sq2hvyy7f0rja1z1114w5cieeqhp Κατηγορίαν:User sco 14 2693 33403 2017-07-06T08:45:16Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33403 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Σκωτικά. i5xqzib9jnxz2iaxuvpguibvwivvf91 Κατηγορίαν:User pih 14 2694 33404 2017-07-06T08:45:16Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33404 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Norfuk / Pitkern. 8kh2je6b172qquh9l0erusjtfiqqkeo Κατηγορίαν:User nov 14 2695 33405 2017-07-06T08:45:16Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33405 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Novial. lhf43poiar669bvaypjqe94r3wsodza Κατηγορίαν:User kk 14 2696 33406 2017-07-07T15:12:40Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33406 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Καζακικά. ku3r7vsrdb890i3be9gdxgik3ldvedk Κατηγορίαν:User or 14 2697 33408 2017-07-11T19:29:53Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33408 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Ορίγια. c29p00bj86kax4heaqb4sbcbghz5cod Κατηγορίαν:User pi 14 2698 33409 2017-07-11T19:29:53Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33409 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Πάλι. iajhqqd9wqlz284psdx1e3m0iaibggt Κατηγορίαν:User kn 14 2699 33410 2017-07-11T19:29:54Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33410 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Κανάντα. n7l7oy8b41xsce35za5alwthalo3it0 Κατηγορίαν:User hi 14 2700 33412 2017-07-13T01:09:05Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33412 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Χίντι. 0s1sfboehtalu17kh02euc9pu1fc24f Κατηγορίαν:User ne 14 2701 33418 2017-08-10T23:28:19Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33418 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Νεπάλι. ka7nkx27y3n5fjl6aw9m1pgo7224u7v Κατερίνη 0 2706 36867 33425 2025-12-16T10:06:53Z Εὐθυμένης 2777 36867 wikitext text/x-wiki [[File:Park Katerini.jpg|thumb]] Ἡ '''Κατερίνην''' ἔν [[Ελλάδα|ἑλλενικόν]] πολιτείαν ντ'εὐρίεται 'ς σὴν [[Μακεδονία|Μακεδονίαν]] καὶ ἔχ' πληθυσμόν 58.309 τ'ἀνθρώπ'ς. Εὐρίεται 'ς σὴν κεντρικήν Μακεδονίαν, 'ς σὸν νομόν τσῆ Πιερίας καὶ ἔν ἡ πρωτεύουσάν ἀτ'ς. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{el}} {{επίσημος ιστότοπος}} {{authority control}} {{DEFAULTSORT:Κατερινη}} [[Κατηγορίαν:Πολιτείας τ' Ελλάδας]] [[Κατηγορίαν:Μακεδονία]] 2z18mbt9b6w4szy0f7tpw9rr46bfwq6 Νίκαια 0 2708 33439 2017-08-31T08:28:17Z Εὐθυμένης 2777 Ο Glorious 93 μετακίνησε τη σελίδα [[Νίκαια]] στην [[Νις (Γαλλία)]] 33439 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Νις (Γαλλία)]] 69ldgwyelbkwgbjhhbcm667htmxl0ll Λυών 0 2709 33443 2017-08-31T08:29:00Z Εὐθυμένης 2777 Ο Glorious 93 μετακίνησε τη σελίδα [[Λυών]] στην [[Λιόν]] 33443 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Λιόν]] 80t243hk6m7qt1z88tpeoxwn93vb7ho Δουνκέρκη 0 2710 33469 2017-08-31T08:58:47Z Εὐθυμένης 2777 Ο Glorious 93 μετακίνησε τη σελίδα [[Δουνκέρκη]] στην [[Ντανκέρκ]] 33469 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Ντανκέρκ]] n6ryjbmth2hh24q7n6z3r23smvj91ko Διέππη 0 2711 33473 2017-08-31T09:00:45Z Εὐθυμένης 2777 Ο Glorious 93 μετακίνησε τη σελίδα [[Διέππη]] στην [[Ντιέπ (Σεν-Μαριτίμ)]] 33473 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Ντιέπ (Σεν-Μαριτίμ)]] 5b8wo2rfddvj3k63riduos4nqngmpkb Αλμπέρ 0 2712 33479 2017-08-31T09:17:52Z Εὐθυμένης 2777 Ο Glorious 93 μετακίνησε τη σελίδα [[Αλμπέρ]] στην [[Αλμπέρ (Σομ)]] 33479 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Αλμπέρ (Σομ)]] 0bpbqgwmc3679cbpna612dnw2413v6o 23 Χριστουγενναρί 0 2716 37284 36334 2025-12-16T19:14:36Z Εὐθυμένης 2777 37284 wikitext text/x-wiki <div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[22 Χριστουγενναρί]] | [[23 Χριστουγενναρί]] | [[24 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} '''23 Χριστουγενναρί''' εν ο Δεκεμβρς. Αλλιώς εν Δεκεμβριτί. Μηνς που γιουρτάϊζ που τρως τσιριχτό με ζουμάρ πιχτό, όχι σπιουχτό. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[23 Αεργί]] - [[23 Καλανταρί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|1223]] o47bl9wc7vq1dnwhx7inp6j33tyajac Άννα Νετρέμπκο 0 2719 35584 35574 2024-01-25T08:46:11Z Διογένες 10538 /* Συνδέσμε */Κοινά 35584 wikitext text/x-wiki [[Αρχείον:Anna Netrebko - Romy 2013 b.jpg|μικρογραφία|250px|Αννα Νετρέμπκο το 2013]] Η '''Άννα Νετρέμπκο''' (Анна Юрьевна Нетребко, εγγενέθεν [[18 Σταυρί]] [[1971]]) εν τραγουδίστρια. == Συνδέσμε == * [[Αρχείον:Commons-logo.svg|link=https://commons.wikimedia.org/wiki/Category:Anna_Netrebko?uselang=pnt|19x19px]] Σα [https://commons.wikimedia.org/wiki/%CE%9A%CF%8D%CF%81%CE%B9%CE%B1_%CE%A3%CE%B5%CE%BB%CE%AF%CE%B4%CE%B1 Κοινά] εσ υλικόν σχετικόν με [https://commons.wikimedia.org/wiki/Category:Anna_Netrebko?uselang=pnt '''''Άννα Νετρέμπκο'''''] [[Κατηγορίαν:Μουσική]] tsey4fdp6a6uymet6lnbgqvdlv565l9 Βικιπαίδεια:Αγορά/Αρχείον 2009-2017 4 2725 34528 34391 2020-06-08T16:42:15Z CommonsDelinker 121 Replacing 25_percents.svg with [[File:25_percent.svg]] (by [[:c:User:CommonsDelinker|CommonsDelinker]] because: redirect linked from other project). 34528 wikitext text/x-wiki __NEWSECTIONLINK__ <ul> {| class="plainlinks" width="50%" align="center" border="0" cellpadding="2" cellspacing="2" style="margin-bottom:0.5em; background:#FFF; font-size:1.2em; text-align:center;" | [{{fullurl:Βικιπαίδεια:Αγορά|action=edit&section=new}} Αρχινέστε γράψιμον σην αγοράν<br>Add a new topic in this forum<br>Добавьте новую тему на форуме] |} {| align="right" style="background:#FFF5EE; margin:0 0 0.5em 1em;" id="toc" width="220px" |- |colspan="2" align="center" | [[Αρχείον:Diogenes looking for a man - attributed to JHW Tischbein.jpg|center|200px]] |- |colspan="2" align="center" | <big>'''Αγορά'''</big><br /> ---- |- |style="background:#EEDFCC;" colspan="2" align="center"| '''Χρήσιμα''' |- |colspan="2" align="center"| [[Βικιπαίδεια:Εκλογήν|Εκλογήν]]<br /> [[Αρχικόν σελίδα|Αρχικόν σελίδαν]]<br /> [[Βικιπαίδεια|Βικιπαίδεια]]<br /> [[Βικιπαίδεια/Ντο εν η Βικιπαίδεια|Ντο εν η Βικιπαίδεια]]<br />[[Βικιπαίδεια/Ντο 'κ εν η Βικιπαίδεια|Ντο 'κ εν η Βικιπαίδεια]] <br /> [[Βικιπαίδεια/Βοήθεια|Βοήθεια]] <br /> [[Βικιπαίδεια/Δικαιώματα πνευματί|Δικαιώματα πνευματί]]<br />[irc://irc.freenode.net/wikipedia-pnt Παρακάθ σο IRC] |} <div style="background:#EEDFCC; text-align:left; margin:0px; padding:3px;"> <span style="font-size:bigger;">'''<u>Χ</u>αιρετίας και καλωσόρεμαν σ' όλ<u>α</u> τα Βικιπαιδία!'''</span> </div> <div style="background:#FFF5EE; padding:2px; margin-top:2px;"> Οι παλιοί εμουν σ' αρχαίον τ' ελλενικόν την γλώσσαν έλεγαν «αγοράν» τον τόπον που εποίνανε τα μουχαμπέτε και τα καλατσίας ατουν. Αέτς πα, όλ' εμείς 'τουν θα καλατσέβουμε αδά σην αγοράν εμουν. Σον αρχαίον την αγοράν ο Διογένες ο Σινωπέας αραεύκουτον τ' ανθρώπ'ς (εικόνα). Εμείς 'τουν αδά πα θα ευρίσκουμ' ατείντζ. Αρχινέστε γράψιμον [{{fullurl:{{FULLPAGENAME}}|action=edit&section=new}} αφκά καικά] και βαλέστε την '''υπογραφήν εσουν''': <nowiki>~~~~</nowiki>. </div> </li> <li>'''pnt:''' Ψαλαφία για σημαίαν μποτ πρεπ' να ίνουνταν σ'αβούτεν τη σελίδαν. </li> <li>'''en:''' Requests for the [[m:bot|bot]] flag should be made on this page. This wiki uses the [[m:bot policy|standard bot policy]], and allows [[m:bot policy#Global_bots|global bots]] and [[m:bot policy#Automatic_approval|automatic approval of certain types of bots]]. Other bots should apply below.</li> <li>'''ru:''' Запросы на присвоение флагов [[m:bot|бота]] должны быть поданы на этой странице. В данном Вики-разделе действует [[m:bot policy|стандартная политика в отношении ботов]], допускающая функционирование здесь т. н. [[m:bot policy#Global_bots|глобальных ботов]] и их [[m:bot policy#Automatic_approval|автоматическое подтверждение]] в большинстве Вики-проектов. В прочих случаях владельцы ботов должны подать заявку ниже. </ul> <hr size="5px" noshadow> == Αρχεία == * [[Βικιπαίδεια:Αγορά/Αρχείον 2008|Αρχείον 2008]] * [[Βικιπαίδεια:Αγορά/Αρχείον 2009|Αρχείον 2009]] == Διαμαντίδης == γεια σας παιδες... εδω θα ηθελα να κανω μια μικρη παρατητηση σχετικα με την χρηση της ποντιακης γλωσσας και κυριως την γραπτη αποδοση της. επεσε εδω και καιρο στα χερια μου το βιβλιο του [[Κώστας Διαμαντίδης|κωστα ε. διαμαντιδη]] "το ροδάφ'νον" και πρεπει να πω οτι διαβαζοντας το ειναι σαν να ακους την θεια "σουμελλα" να σου λεει ιστοριες....μια γοητεια. μονο που η προσπαθεια της pnt vikipedia ειναι μεν καλη αλλα θελει ακομα δουλεια. τι θελω να πω με ολα αυτα: αλλο ειναι ενα λογοτεχνικο κειμενο ενος συγγραφεα και αλλο το να στηνεις μια ιστοσελιδα προσπαθωντας να αποδωσεις στα ποντιακα ορους ιντερνετ αγγλικους και "συγχρονους" κατα καποιον τροπο αρα και ιδιαιτερα δυσκολους και απαιτητηκους. αναγνωριζει κανεις τις δυσκολιες αλλα αν γινει λιγη περισσοτερη δουλεια ισως ξεφυλλιζοντας τις σελιδες της pnt vikipedia επαιρνε κανεις το ιδιο συναισθημα οπως απο το ανωτερω βιβλιο. να ειστε ολοι καλα. Ζαχον --[[Ειδικόν:Contributions/62.103.57.188|62.103.57.188]] 07:17, 8 Απρίλ 2009 (UTC) :Να ξεκαθαρίσω μιας και κάποιοι με ρώτησαν για αυτή την ανάρτηση ότι δεν την έγραψα εγώ απλά ο γραφών είναι συνονόματος μου (Ζάχον). Τώρα πάνω στα λεγόμενα του: Πιστεύω πως κατα μία ερμηνεία (προσωπική) μας ενθαρρύνει να κάνουμε πιο ποιοτικά τα άρθρα μας. Έχει αρκετό δίκιο και όταν φτάσουμε ένα μέγεθος από εκεί και πέρα θα πρέπει να αρχίσουμε να ενισχύουμε ποιοτικά τα τότε υπάρχοντα άρθρα. Προσωπικά πρώτη φορά άκουσα για σύγχρονη ποντιακή λογοτεχνία και έψαξα πληροφορίες. Πιστεύω πως μέσα στις διακοπές θα καταφέρω να πάρω αυτό το βιβλίο να το διαβάσω και να μελετήσω καλύτερα και την γλώσσα.--[[Χρήστες:ZaDiak|ZaDiak]] 20:12, 25 Καλομηνά 2009 (UTC) == Γραφειοκράτης == Παιδιά έγινα επισήμως και γραφειοκράτης αφού μου έδωσαν τα δικαιώματα οι stewards. Έτσι σύυμφωνα με την ψηφοφορία που έχουμε κάνει έδωσα δικαιώματα διαχειριστή στους χρήστες Makedonier, Omnipaedista, Sinopeus.--[[Χρήστες:ZaDiak|ZaDiak]] 15:47, 8 Απρίλ 2009 (UTC) == Βικιθήκη == Παιδιά ήθελα να αναρτήσω μερικά ποντιακά κείμενα κι έτσι έφτιαξα Κάτι σαν test project στα ποντιακά για να βάζουμε εκεί προσωρινά τα κείμενα. Δεν δημιούργησα πρόταση οπότε ξεκαθαρίζω ότι αυτό δεν πρόκειται για δουλειά για ένα νέο εγχείρημα. [http://wikisource.org/wiki/Category:Pontic Εδώ] θα το βρείτε έχει κάποια λάθη στους τίτλους των καλάντων μιας και δεν ξέρω πάρα πολύ καλά τη γλώσσα. Μέχρι στιγμής έχω αναρτήσει τα κάλαντα χριστουγέννων και πρωτοχρονιάς και έχω ξεκινήσει να αναρτώ την γραμματική του [[Τοπχαράς|Τοπχαρά]].--[[Χρήστες:ZaDiak|ZaDiak]] 13:36, 12 Καλομηνά 2009 (UTC) :Πολύ καλή η δουλειά σου. Άρχισα να αναρτώ και εγώ κείμενα στο Old Wikisource. --[[Χρήστες:Omnipaedista|Omnipaedista]] 07:20, 25 Καλομηνά 2009 (UTC) == Update information about localisaton on translatewiki.net == * Currently 41.51% of the MediaWiki messages and 0.86% of the messages of the extensions used by the Wikimedia Foundation projects have been localised. Please help us help your language by localising and proof reading at [[betawiki:Special:LanguageStats/{{CONTENTLANGUAGE}}|translatewiki.net]]. This is the [http://translatewiki.net/w/i.php?title=Special:RecentChanges&translations=only&trailer=/{{CONTENTLANGUAGE}} recent localisation activity] for your language. Thanks, [[Χρήστες:GerardM|GerardM]] 08:56, 27 Μαρτ 2009 (UTC) * Currently 41.37% of the MediaWiki messages and 0.80% of the messages of the extensions used by the Wikimedia Foundation projects have been localised. Please help us help your language by localising and proof reading at [[betawiki:Special:LanguageStats/{{CONTENTLANGUAGE}}|translatewiki.net]]. This is the [http://translatewiki.net/w/i.php?title=Special:RecentChanges&translations=only&trailer=/{{CONTENTLANGUAGE}} recent localisation activity] for your language. Thanks, [[Χρήστες:GerardM|GerardM]] 08:25, 13 Καλομηνά 2009 (UTC) == Πλαϊνή Μπάρα == Μιας και κανείς δεν ανανέωνει τα Ατωριζνά γεγονότα (Τρέχοντα γεγονότα) τοποθέτησα στη θέση τους στην πλαϊνή μπάρα το Αργαστέρ (Αμμοδοχείο) το οποίο τροποποίησα λιγάκι έτσι ώστε να καθαρίζει από μόνο του.--[[Χρήστες:ZaDiak|ZaDiak]] 09:12, 18 Καλομηνά 2009 ( == Παρατηρήσεις σχετικά με τη γραφή και την ερμηνεία == Αγαπητοί φίλοι, διαχειριστές και αρθρογράφοι της "Βικιπαίδεια σα Ποντιακά" δημοσίευσα ένα άρθρο στο blog μου σχετικά με την ορθή γραφή της διαλέκτου μας. Αν θέλετε ρίξτε μια ματιά: http://mavropouloskostas.wordpress.com/%ce%ba%ce%b1%ce%bd%cf%8c%ce%bd%ce%b5%cf%82-%cf%80%cf%81%ce%bf%cf%86%ce%bf%cf%81%ce%ac%cf%82-%cf%80%ce%bf%ce%bd%cf%84%ce%b9%ce%b1%ce%ba%ce%ae%cf%82-%ce%b4%ce%b9%ce%b1%ce%bb%ce%ad%ce%ba%cf%84%ce%bf/ == ΑΝΑΓΚΑΙΟΤΗΤΑ ΚΑΤΑΓΡΑΦΗΣ ΣΤΗ ΒΙΚΙΠΑΙΔΕΙΑ ΣΥΓΧΡΟΝΗΣ ΓΡΑΜΜΑΤΙΚΗΣ ΤΗΣ ΠΟΝΤΙΑΚΗΣ ΔΙΑΛΕΚΤΟΥ ΚΑΙ ΛΕΞΙΚΟΥ == Φίλοι διαχειριστές της ποντιακής Βικιπαίδειας, θεωρώ εντελώς απαραίτητη προϋπόθεση για την επιτυχία του σημαντικότατου για τον Ποντιακό Ελληνισμό, αλλά και για τους αδελφούς Πόντιους των άλλων χωρών, εγχειρήματός σας να αρχίσει να διαμορφώνεται στην ποντιακή Βικιπαίδεια ένα βασικό σύγχρονο, απλό και χρηστικό λεξικό της κοινής ποντιακής διαλέκτου (ευθύ και αντίστροφο) και μία σύγχρονη, απλή και εύχρηστη γραμματική της. '''Όλα τα άρθρα και τα κείμενα που θα γράφονται στα ποντιακά πρέπει να συμφωνούν γενικά, χωρίς να περιορίζεται ο διαλεκτικός πλούτος της Ποντιακής, με το παραπάνω αναφερόμενο λεξικό και τη γραμματική''', για να μην υπάρξει ίσως ο κίνδυνος να αυτοκαταστραφεί από περιττή και μη ελεγχόμενη πολυμορφία μία τόσο σημαντική προσπάθεια. Με μεγάλη εκτίμηση για τις μέχρι σήμερα πολύ σημαντικές προσπάθειές σας. --Κώτσον 10:56, 15 Κερασινού 2009 (UTC) Δες, και συμπλήρωσε ή διόρθωσε, στην αρχική σελίδα [[Βικιπαίδεια:Λεχτικόν]], [[Βικιπαίδεια:Γραμματικήν]] ===Ποντιακόν γραμματικήν=== Σο λήμμαν [[Τοπχαράς]] έ<u>ς</u> την βιογραφίαν τη Τοπχάρα που συνέγραψεν τη γραμματικήν εμούν. Μακάρ να ανεβάζ' ατό κάποιος για να διεβάζετ' ατό. Κάτ θα μαθάνετε. Αλλά θα σχολιάζατο αδακά γιατι θαρρώ πως οτι εςς να εφτάει με τα θεμέλια τη γλώσσας εμούν πρεπ να διεβάζετ' ατά ουλ. Μπράβο σον Τοπχαρά π' έγραψεν την ποντιακήν γραμματικήν. Αναμένω όμως ας έναν πόντιον φιλόλογον να γράφτ άλλο καλίον γραμματικήν γιατί ο Τοπχαράς εν έναν κσάι απλός. Ντο εννοώ; καταρχάς η Ορθογραφίαν 'ατ εν πολλά απλόν. Οι Πόντιοι εν Ίωνικόν φύλλον και τα λέξεις έχνε κοινά ρίζας. Ατό σημαίν' ότι έχνε και κοινόν ορθογραφίαν και τα δομάς των λέξεων πρεπ να ομοιάζνε. Ο Τοπχαράς γραφτ για τον "ιποθετικόν" τρόπον. Ατό εν λάθος γιατί η γραφήν κι εν greekpont αλλά εν ελληνικόν γραφήν. Τα ρίζας, τα πνεύματα, τα σύμβολα εν όμοια σα ποντιακά και σα Ελληνικά. Επομένως και σα ποντιακά η λέξη γράφκεται "υποθετικόν τρόπον" με "υ". Όμοια, τα λάθη ντε φτάει εν σα ακόλουθα λέξεις: Ιποταχτικόν, το άρθρο "ι" αλλά και γενικώς σε όλα τα λέξεις εςς λάθος ορθογραφίαν. Σην Ελληνικην τη γλώσσαν (σ' ατό περιλαμβάνεται και η ποντιακή) η ορθογραφίαν εν πολλά συμαντικόν γιατί δεκνείζ παρα πολλά. Αλλά κι έν μαναχόν τα ορθογραφικά λάθην ατ που εφτάνε το έργον ατ πολλά απλοϊκόν. Εν και η δομήν των λέξεων. Κι χωρίζ δηλαδή τα λέξεις ασ σα προθέσεις και ασου συνδέσμους αλλά εφτάει πολυλέξεις. Για παράδειγμαν λέει: "ταντονιμίας" αντίς "τ' αντωνυμίας" Το φαινόμενον ατό λέ' ατο συντραβηγμόν αλλά αν δέχκουμες ατό κι θα πρέπ να δέχκουμες ατό και σην διδασκαλίαν τη αρχαίας ελληνικής; Η γνώμη μ' έν ότι πρέπ να βάλουμε απόστροφόν χωρίς να ενούνταν τα λέξεις. Έλεα πως τα ποντιακά έχνε συγγένειαν με την Ιωνικήν διάλεκτον κ' ατό πρέπ να εν η αφετερία τη λογικής εμούν. Πολλά κόσμος, εφέκεν την πατρίδαν κ' επήεν ση Ρωσίαν πρόσφυας αλλά ατό κι σημαίν ότι πρέπ να βάλομε με το ζόρ' το Ρωσικόν προφοράν σην ποντιακή γραμματικήν. Αποφάσισαμε να διδάσκουμες την Αττικήν διάλεκτον τη αρχαίας γλώσσας σα σχολεία γιατί εν πολλά λόγιος και έμορφεσσα. Με το ίδιον σκεπτικόν, σωστό τρόπος να καλατσέβομε και να γράφτουμε τα ποντιακά κι εν ο τρόπον τη Τασκένδης αλλά ο τρόπον τη Τραπεζούντας. Πολλά αγαπούμε τα αδέρφιαν εμούν που εέντοναν πρόσφυγας σην Ρωσίαν αλλά η καρδία τη Πόντονος εν σην Τραπεζούντα, ση Σαμσούντα, ση Ματσούκα. Για τ' ατό παρακαλώ όποιος εν πόντιος φιλόλογος με ρίζας ας σην Τραπεζούντα ας γράφτ έναν σωστόν λεξικόν και γραμματικήν και το έργον ατ θα απομέν αιώνια σην ιστορίαν. Κάτ ακόμη θέλω να λέω για τον συμβολισμόν των γραμμάτων σα λέξεις. Ποίος έ<u>ς</u> πραγματικόν ανάγκην να συμβολίζ το πως πρεπ να διεβά<u>σ</u>κεται έναν γράμμαν; Ας τερούμε για παράδεγμα τη λέξην "τα τεσσάρια". Σα ποντιακά διεβά<u>σ</u>κεται <b>"τεσσάρια"</b> και σα νεοελληνικά <b>"τεσσάργια"</b>. Για τ' αούτο τα ποντιακά εν πολλά χρήσιμον γλώσσα για να δεκνείζ και τοι Έλληνες πως έν ο σωστόν τρόπος διεβάσματος. Το ποντιακόν γλώσσαν θαρώ πρέπ να διδάσκεται και σην φιλολογικήν σχολήν για να έχνε οι φιλόλοοι, οι γλωσσολόοι κλπ καλλίον αντίληψην τη Ελληνική γλώσσας. --[[Χρήστες:Stravon|Stravon]] 15:39, 22 Σταυρί 2009 (UTC) == Ποντιακά == Ημέρα πανηγυρισμού για τα Ποντιακά σήμερα!!! Έπειτα από σχετική εισήγησή μου προς το Ethnologue θα αναγνωριστεί ότι η Ποντιακή έχει 1.058.068 ομιλητές. Φυσικά και ο αριθμός είναι μεγαλύτερος αλλά η επιτυχία είναι τεράστια αν αναλογιστεί κανείς το γεγονός ότι ο αριθμός τριπλασιάζεται σε σχέση με πριν!! Έτσι αποκτάμε ένα αρκετά αξιόλογο μέγεθος σε ομιλητές και γενικά ανεβαίνουμε γλωσσολογικά!! Οι αλλαγές θα εφαρμοστούν στην 17η έκδοση του βιβλίου και η ιστοσελίδα θα αργήσει να ενημερωθεί λιγάκι.--[[Χρήστες:ZaDiak|ZaDiak]] 22:53, 18 Aλωναρί 2009 (UTC) :Πράγματι ο αριθμός σχεδόν τριπλασιάζεται! Ελπίζω ότι και αυτός ο τριπλασιασμός θα μετακυλιστεί και στα άρθρα μας εδώ, σε αριθμό και περιεκτικότητα!--[[Χρήστες:Consta|Consta]] 17:37, 19 Aλωναρί 2009 (UTC) == Ποντιακόν καλατσήν == Το καλάτ<u>σ</u>εμαν σα ποντιακά σίγουρα θα ζορλαεύ' αρκετούς, εμέ πα, γιατί ούλ' εγέμναμε τη πόλης τα παιδία και εμοντέρνεψαμε. Οσήμερον λέμε πως έν δύ<u>σ</u>κολον να καλατ<u>σ</u>εύομε σα ποντιακά τα σύγχρονα τα όρους αλλά έχω έναν ερωτησην να εφτάγω σας. Σο φροντιστήριον τη Τραπεζούντος μαναχόν για χαβίτς εμαθάναν τα παιδία; 'Κ' είχαν επιστημονικόν καλατσήν; <p> Αν ζορλαεύκουμες ατώρα εν γιατί ενέ<u>σ</u>παλαμε τα ποντιακά και αν 'κι μιλούμ' ατα ξάι τότες τα παιδίαν εμούν 'κι θα μαθάν' ατα ξάι. Ζορλάεμαν - ξεζορλάεμαν, αδαπές πρέπ' ούλ' να μιλούμε ποντιακά γιατί τα λέξεις εν αλλά εμείς 'κι ξερομ' ατα. --[[Χρήστες:Stravon|Stravon]] 14:18, 1 Σταυρί 2009 (UTC) :Φίλε Stravοn, σο φροντιστήριον τη Τραπεζούντος μαναχόν για χαβίτς 'κι εμαθάναν τα παιδία, αλλά είχαν για επιστημονικόν καλατ<u>σ</u>ήν το ελλενικόν τη γλώσσαν; Σα ποντιακά τα σύγχρονα τα όρους εμείς 'τουν πρέπ΄ να ευρίουμ' ατα. Υείας και <u>χ</u>αιρετίας!--Κώτσον 09:19, 13 Σταυρί 2009 (UTC) :Εγώ δεν μπορώ να μιλήσω ποντιακά ωστόσο μπορώ να τα καταλάβω άνετα. Το θέμα που θίγεις είναι πολύ ενδιαφέρον και συμφωνώ μαζί σου. Πρέπει να αρχίσουμε να καλατσεύομε στα ποντιακά. Αυτό θα βοηθήσει και για τη διάδοση. Τώρα όσο αφορά το Φροντιστήριο της Τραπεζούντας δεν γνωρίζω το θέμα που θέτεις. Απο εδώ και πέρα θα προσπαθώ να μιλάω και εγώ ποντιακά όπου μπορώ και θα γράψω οδηγίες που θα ενθαρρύνεται η ομιλία στο ποντιακά. <u>Χ</u>αιρετίας,--[[Χρήστες:ZaDiak|ZaDiak]] 21:44, 1 Σταυρί 2009 (UTC) ::Θαρρώ πως το σώσιμον τη ποντικής τη γλώσσας 'κι εν απλώς έναν γραφικόν θέμαν. Έν ίσως το μοναδικόν γλώσσαν που έ<u>σ</u>' ακόμη συγγένειαν με τα αρχαία. 'Κι έν μαναχόν ποντιακόν ζήτεμα, έν ελληνικόν πα. Το παλαλόν με το θέμαν εμούν έν ότι πάει να χάται η ποντιακήν κι ας είμαστε χαμά-χαμά 4-5 εκατομμύρια Πόντιοι σ' ούλον τον κόσμον. Ατό 'κι εν θάνατον τη γλώσσας αλλά χαραλάεμαν ατς. Εν γλωσσικόν αυτοκτονίαν. Εθάρναμε, και εγώ ασ αουτούς έμνε, ότι εν πιο μοντέρνο να καλατσεύομε Ελληνικά. Ετίρτεβαν νε μας κιόλα οι ντόπιοι και έπαιζανε μας και εμείς ένοιθαμε ά<u>σ</u>χεμα. Πλύσην εγκεφάλου εποίνανε μας με τα ανέκδοτά τουν. Ατώρα όμως πρεπ' να εγνεφούμε προτού να έν πολλά αργά. Και θαρρώ ότι πρέπ' να ξεκινούμε ασήν γραφήν. '''Πρέπ' να συμφωνούμε πώς εν το σωστόν να γράφκουνταν τα ποντιακά γιατί χωρίς σωστόν συμβολισμόν χάται η προφοράν'''. Έρχινεσα να αλλάζω και τα παραθύρ<u>α</u> μ' (windows xp) σα ποντιακά αλλά χρειάσκουμαι βοήθειαν σοι ορισμούς για να έν σωστοί. Ας πούμε το "Save" μετάφρασα το σε "τοπλάεμα" αλλά πρέπ' να συμφωνούν κι άλλ' για να εβγαίν'νε τα πρώτα ποντιακά παραθύρ<u>α</u>. Όσοι θέλετε να βοηθάτε με γράψτε έναν μήνυμα.--[[Χρήστες:Stravon|Stravon]] 00:55, 3 Σταυρί 2009 (UTC) Εγώ θα ήμουν παραπάνω από χαρούμενος να σε βοηθήσω αλλά θα μου ήταν προτιμότερο να μιλούσαμε μέσω μέιλ ή irc ή msn ή οτιδήποτε τέτοιο. Όποτε ξαναμπείς γράψε μου έναν τρόπο να έρθουμε σε επικοινωνία. Στο μεταξύ θα πρότεινα να αρχίσεις να συνεισφέρεις κι εσύ στην Βικιπαίδεια γιατί είναι από τις πιο γνωστές ποντιακές ιστοσελίδες ανάμεσα στους ποντίους και σίγουρα μέσα στισ 4-5 πιο γνωστές στους μη-πόντιους. Έτσι θα διατηρηθεί κι η γλώσσα. Υ.Γ. Συγνώμη που δεν μιλάω στα Ποντιακά αλλά δεν έχω την απαραίτητη εξοικείωση. Με τον καιρό θα προσπαθήσω να τα ενσωματώσω στην ομιλία μου.--[[Χρήστες:ZaDiak|ZaDiak]] 21:59, 3 Σταυρί 2009 (UTC) [[Κατηγορίαν:Wp/pnt]] == Γλυκύν Ποντιακόν Γλώσσαν == Αούτο η προσπάθεια έν' πολλά καλόν, αέτς εθαρώ, θα βοηθά να εγλιτώνουμε το πανάρχαιον την γλώσσαν έμουν. Έζησεν απάν - αφκά 3,000 χρόνια και εδέβασεν πολλά φουρτούνας και εμπόδια, αμά, άμον ντ' ελέπω την νεολαίαν έμουν, να καλατσέβ' να τρα'ωδεί και να χορεύ', χαίρουμε και λέω εγώ εμέν, το μελωδικόν, το ποιητικόν, το μελιστάλακτον γλυκύν, το Ποντιακόν η γλώσσα, 'κι εχ' την δύναμην ν'αποθάν', αν βέβαια η νεολαία μουν αγαπά το και καλατσέβ' ατό, κι' άμον ντο εγροικώ ασ' εμέτερον την Νεολαίαν τη Βοστώνης, αγαπούν' ατό πολλά, κατ' εχ' το μα'εμένον!!!!!! Το καλοκαίρ' ντο εδέβε μας το 2009, επήγα σο Ποντιακόν Βιβλιοπωλείον τη Κυριακίδη σην Θεσσαλονίκην, και ντο 'κι εύρα, ασ' όλια τα Ποντιακά τα βιβλία, σωστός Ποντιακός παράδεισος, εύρα και το ΡΟΔΑΦΝΟΝ, τη Διαμαντίδη, μανίτσα μ'!!!! ντο να λέγω σας!!!!! εδέβασα το μίαν, εδέβασα ατό δεύτερον, εχόρτασα κατενόν Ποντιακόν καλατζήν και γράψιμον. Να λελεύω αοίκον γράψιμον. Εθαρείς και σον πόντον εγεννέθεν,ετράνυνεν και εσπούδασεν ση Τραπεζούντας το Φροντηστήριον, καθαρόν νερόν, κρύον κροσταλίδ' ασά πεγαδομάτια του ευλοΐμένου πόντου, ντο πίντς, πίντς και 'κι χορτά'εις!!! Ν' αγιάζ' ο κύρ'ς ατ' ντ' εκάτσεν και έγραψεν, αοίκον έμορφον σκουτουλιχτέρ' "ΡΟΔΑΦΝΟΝ". Ποδεδίζω σας, κανείς εσούν εξέρετεν, αν έγραψεν? γιαμ θα γράφτ'άλλα, αμόν το "ΡΟΔΑΦΝΟΝ" πετέστ' 'μεν, θέλω να δεβάζατε όλια απ' έναν - έναν. Ρίζα μ' Κωστίκα γράψον - γράψον - γράψον!!!!! Ξάι μη κολολεύ'ς...... Πορτολόης ο Σταματέτες,Σταυρίτες 2009 ==1ον ΑΝΟΙΚΤΟΝ ΚΑΛΑΤΣΗΝ ΓΙΑ ΤΟ ΠΟΝΤΙΑΚΟΝ ΤΟ ΓΡΑΨΙΜΟΝ== '''ΓΡΑΨΤΕΝ ΟΥΛ’ ΤΑ ΝΟΥΝΙΣΜΑΤΑ ΣΟΥΝ ΑΔΑΚΑ ΓΙΑ ΤΟ ΠΟΝΤΙΑΚΟΝ ΤΟ ΓΡΑΨΙΜΟΝ ΚΑΙ ΑΠΟΦΑΣΙΣΤΕΝ. Η ΟΡΘΟΓΡΑΦΙΑ ΕΝ ΠΟΛΛΑ ΣΗΜΑΝΤΙΚΟΝ. ‘ΚΙ ΠΡΕΠ’ ΝΑ ΧΑΤΑΙ Η ΓΛΩΣΣΑ ΤΗ ΠΟΝΤΟΝΟΣ.''' 1. Να γράφτουμε ούλ’ τα ποντιακά τα συναιρεμέν’ τα φωνήεντα και τα δασέα σύμφωνα '''<u>α</u>''' < εα, ια και '''<u>ο</u>''' < εο, ιο '''<u>σ</u>''', '''<u>ζ</u>''', '''<u>χ</u>''', '''<u>ψ</u>''', '''<u>ξ</u>''', '''<u>τσ</u>''', '''<u>τζ</u>''' ''';''' α) '''με υπογράμμισην''': τα γεμί<u>σ</u>α, τα νύ<u>χα</u>, τα μα<u>χ</u>αίρ<u>α</u>, τα <u>χ</u>έρ<u>α</u>, έ<u>χ</u>’, τη καλα<u>τζ</u>ής, σύρ’ <u>α</u>τον; (εύκολον) β) '''με απόστροφον από πάν’''': γεμίσα, τα νύχα, τα μαχαίρα, τα χέρα, έχ’, τη καλατζής , σύρ’ ατον ; (τσιπ δύσκολον) γ) .............................................................................................................................. δ) .............................................................................................................................. 2. Να χωρίουμε τα λέξεις για να δ<u>α</u>βάζεται καλλίον η γλώσσαν εμουν; α) Ατού σα μέσα σ’ τα λεγνά τα <u>χ</u>έρ<u>α</u> μ’ θα τυλίζω, Το κάστανον εξέβεν ας σο τζέπλιν αθε, Το χωρίον εμουν, σ’ οσπίτ’ν εσουν. β) .............................................................................................................................. γ) .............................................................................................................................. 3. Να γράφτουμε ούλ’ την απόστροφον ( ’ ) σα μέρ<u>α</u> που χάν’ται τα φωνήεντα για να γνωρίουμε τα ελλενικά τα λέξεις και να δ<u>α</u>βάζομεν καλλίον το ποντιακόν την γλώσσαν. α) Ευχαριστεμέν’ ν’ αποθαν’νε, Καρίπ’ και ψωμίν να μην τρώγ’νε, Επέγ’ναν, Καλαντάρ’ς, Τη Θερ’νού, το ζωνάρ’, οι φίλ’ . β) ............................................................................................................................. 4. Να χωρίουμε το '''κι, κ’''' (= και) από το '''‘κι, ‘κ’''' (= δεν); α) Δύο ακονισμένα μα<u>χ</u>αίρ<u>α</u> σ’ έναν θεκάρ’ ‘κι γίνταν, Θωρέαν έ<u>χ</u>’ ευλοϊάν ‘κ’ έ<u>χ</u>’ , Ας σο καρδόπο μ’ έβγαισες κι επήες σο καλόν. β) ............................................................................................................................. --Κώτσον 18:43, 26 Σταυρί 2009 (UTC) ==The LocalisationUpdate extension has gone live== The LocalisationUpdate extension is now enabled for all Wikimedia projects. From now on new localisations that become available in SVN will become available to your project within 24 hours. Your localisations get into SVN from [http://translatewiki.net translatewiki.net] typically within a day and at worst in two days. This is a huge improvement from the old practice where the localisations became available with new software. This could take weeks, even months. The localisations done by our community at translatewiki.net are committed to SVN typically every day. When the system messages in English are the same as the local messages, they will now be inserted in a file and are available for use in all our projects in a timely manner ===What this means for you=== Local messages have an impact on the performance of our system. It is best when messages are as much as possible part of the system messages. In order to remove unnecessary duplication, all the messages that have a local localisation and are '''exactly''' the same as the system message will be removed. What we ask you to do is to compare and proof read the messages in translatewiki.net and the local messages. You can then either remove local messages when the translatewiki.net message is to be preferred or, you can update the message at translatewiki.net. Messages that are specific to your project will have to stay as they are. You do want to check if the format and the variables of the message are still the same. ===Why localise at translatewiki.net=== When you localise at translatewiki.net, your messages will be used in all Wikimedia projects and eventually in all MediaWiki based projects. This is how we provide the standard support for your language. When messages change, at translatewiki.net you will be prompted to revisit your translations. Localising is more efficient because we have innovated the process to make you more efficient; there is text explaining about messages and we have applied AJAX technology to reduce the number of clicks you have to make. ==Translatewiki.net update== *Currently 44.60% of the MediaWiki messages and 0.70% of the messages of the extensions used by the Wikimedia Foundation projects have been localised. Please help us help your language by localising and proof reading at [[betawiki:Special:LanguageStats/{{CONTENTLANGUAGE}}|translatewiki.net]]. This is the [http://translatewiki.net/w/i.php?title=Special:RecentChanges&translations=only&trailer=/{{CONTENTLANGUAGE}} recent localisation activity] for your language. Thanks, [[Χρήστες:GerardM|GerardM]] 14:04, 30 Σταυρί 2009 (UTC) *Currently 44.90% of the MediaWiki messages and 0.71% of the messages of the extensions used by the Wikimedia Foundation projects have been localised. Please help us help your language by localising and proof reading at [[betawiki:Special:LanguageStats/{{CONTENTLANGUAGE}}|translatewiki.net]]. This is the [http://translatewiki.net/w/i.php?title=Special:RecentChanges&translations=only&trailer=/{{CONTENTLANGUAGE}} recent localisation activity] for your language. Thanks, [[Χρήστες:GerardM|GerardM]] 13:25, 8 Χριστουγενναρί 2009 (UTC) *Currently 44.69% of the MediaWiki messages and 0.70% of the messages of the extensions used by the Wikimedia Foundation projects have been localised. Please help us help your language by localising and proof reading at [[betawiki:Special:LanguageStats/{{CONTENTLANGUAGE}}|translatewiki.net]]. This is the [http://translatewiki.net/w/i.php?title=Special:RecentChanges&translations=only&trailer=/{{CONTENTLANGUAGE}} recent localisation activity] for your language. Thanks, [[Χρήστες:GerardM|GerardM]] 15:19, 18 Καλανταρί 2010 (UTC) ==How can we improve the usability for your language== We expect that with the implementation of LocalisationUpdate the usability of MediaWiki for your language will improve. We are now ready to look at other aspects of usability for your language as well. There are two questions we would like you to answer: Are there issues with the new functionality of the Usability Initiative Does MediaWiki support your language properly The best way to answer the first question is to visit the translatewiki.net. Change the language to your language, select the “vector” skin and add the advanced tool bar in in the preferences and check out the new functionality. And make some changes in your user page. When there is a need to improve on the localisation, please make the [http://translatewiki.net/w/i.php?title=Special:Translate&group=ext-ui-0-all necessary changes]s . It should update your localisation straight away. We would like you to report each issue individually at http://meta.wikimedia.org/wiki/Usability_issues. When there are problems with the support of MediaWiki for your language, we really want to know about this. It is best to report each issue separately. In this way there will be no large mass of issues to resolve but we can address each issue on its own. Consider issues with the display of characters, the presentation of your script, the position of the side bar, the combination of text with other languages, scripts. It is best to try this in an environment like the prototype wiki as it provides you with a clean, basic and up to date environment. The prototype wiki is available for five languages but you can select any of them, change the preferences to your language and test out MediaWiki for your language. We would like you to report each issue individually at http://meta.wikimedia.org/wiki/Language_issues. The issues you raise will all be assessed. It is important to keep each issue separate, because this will make it easier to understand the issues and find solutions. PS This text has been approved by Naoko, Brion and Siebrand. Thanks, [[Χρήστες:GerardM|GerardM]] 14:04, 30 Σταυρί 2009 (UTC) == Αναδιαμόρφωση == Μετά από πολύ σκέψη αποφάσισα πως πρέπει να προχωρήσουμε σε αναδιαμόρφωση στην Βικιπαίδεια. Ύστερα από το απαραίτητο καλάτσεμαν αποφάσισα τα εξής: * Έπειτα από συζήτηση με τον Στράβων και την μεγάλη του προθυμία να συνεισφέρει για να του δοθεί όλη η διευκόλυνση θα γίνει νοματέας. * Όλοι οι υπόλοιποι νοματέοι θα πρέπει εντός εύλογου χρονικού διαστήματος να δηλώσουν ότι εξακολουθούν να θέλουν να ασχοληθούν με την εγκυκλοπαίδεια και να το πράξουν όσο το δυνατόν γρηγορότερα. * Εγώ πήρα απόφαση να εκτελέσω τα δικαιώματα μου μέχρι να βρεθεί κάποιος άλλος ενδιαφερόμενος για να γίνει γραφειοκράτης. Τότε θα παραιτηθώ και θα μείνω μόνο επιβλέπων. * Οι αφαιρέσεις θα εκτελεστούν όλες μαζί όταν βρεθεί και ο νέος γραφειοκράτης. Ο γραφειοκράτης πέρα από τις απαραίτητες γλωσσικές δεξιότητες θα πρέπει να έχει δείξει το έργο του για αρκετό καιρό στο εγχείρημα και να έχει και τις απαραίτητες γνώσεις κώδικα. * Όποιος ενδιαφέρεται πέρα από τη θέση του γραφειοκράτη μπορεί να δηλώσει και για νοματέας. Ευχαριστώ πολύ, --[[Χρήστες:ZaDiak|ZaDiak]] 18:31, 18 Τρυγομηνά 2009 (UTC) :Ευχαριστώ σε ZaDiak, όταν θέλτς στείλων ένα χαπέρ ση λογαρία 'μ, με τον κατάλογον π' είπες με. --[[Χρήστες:Stravon|Stravon]] 18:39, 18 Τρυγομηνά 2009 (UTC) ::Συμφωνώ βεβαίως με την παραχωρήρηση δικαιωμάτων διαχειριστή στον Stravon. Αν και είναι σχετικά νεός χρήστης, υπήρξε από τους πιο ενεργούς το τελευταίο δίμηνο, και δείχνει να κατέχει καλά τη γλώσσα, και ότι είναι πρόθυμος να συνεισφέρει γενικότερα. Όσο για την αναδιαμόρφωση που προτείνεται επίσης συμφωνώ ότι είναι αναπόφευκτη. Σε κάθε περίπτωση δηλώνω ότι ενδιαφέρομαι να ανανεωθούν τα προνόμια μου ως διαχειριστή: κατ'ουσίαν εγώ ήμουν αυτός που διέγραψε άμεσα όλες τις βανδαλιστικές σελίδες που δημιουργήθηκαν κατά το τελευταίο τρίμηνο και θα ήθελα να συνεχίσω να προστατεύω το εγχείρημα κατ' αυτόν τον τρόπο, αλλά και να μπορώ να επεμβαίνω εποικοδομητικά στην κύρια σελίδα όποτε χρειαστεί, όπως έκανα πρόσφατα. Προβληματίζομαι όμως από το γεγονός ότι κανείς δεν έχει δηλώσει ακόμα ενδιαφέρον για τη θέση του γραφειοκράτη. Ίσως πρέπει να κανονίσουμε, όλοι οι ενεργοί χρήστες, μία συνάντηση στο IRC, για να το συζητήσουμε πιο ενδελεχώς αυτό το ζήτημα. --[[Χρήστες:Omnipaedista|Omnipaedista]] 07:13, 21 Τρυγομηνά 2009 (UTC) ::: Τι εννοείς βανδαλιστικές σελίδες; Μας σαμποτάρουν;--[[Χρήστες:Stravon|Stravon]] 10:10, 21 Τρυγομηνά 2009 (UTC) Όχι δεν μας σαμποτάρουν ο βανδαλισμός είναι σύνηθες φαινόμενο σε όλες τις Βικιπαίδειες δυστυχώς. Διαστρέβλωση περιεχομένου είναι συνήθως. Σε εμας γίνοταν συνήθως σε άρθρα περί ΠΓΔΜ. Όσο για μια συνάντηση στο τσατ είμαι υπέρ.--[[Χρήστες:ZaDiak|ZaDiak]] 13:06, 22 Τρυγομηνά 2009 (UTC) == Γιορτή == Παιδιά σήμερα περάσαμε τα 300 άρθρα και τις 1000 σελίδες! Πάμε γερά ώστε να πιάσουμε τα 500 πριν τις γιορτές <tt>:)</tt>--[[Χρήστες:ZaDiak|ZaDiak]] 23:41, 9 Χριστουγενναρί 2009 (UTC) ==Προτάσεις== Αγαπητοί φίλοι και συμπατριώτες, η καλή σας προσπάθεια για να έχει θετικά αποτελέσματα, θα πρέπει να υποστηρίζεται από επαρκείς φιλολόγους ποντίους ή και άλλους συμπατριώτες μας που γνωρίζουν καλή σύνταξη και γραμματική της ποντιακής, οι οποίοι θα πρέπει να προσκληθούν για να υποστηρίξουν την αξιαίπενη προσπάθειά σας (πχ. υπάρχει ο '''Πανελλήνιος Σύλλογος Ποντίων Εκπαιδευτικών''', επίσης αξιόλογοι επιστήμονες στην '''Επιτροπή Ποντιακών Μελετών''' κλπ με πολούς επαίοντες που θα μπορούσαν να συμβάλλουν στην διόρθωση της Ηλεκτρονικής Ποντιακής Εγκυκλοπαίδειας). Τα λάθη Ως ΠΡΟς ΤΗΝ ΟΡΘΟΓΡΑΦΊΑ ΚΑΙ ΤΗΝ ΣΎΝΤΑΞΗ πάντως, οφείλω να ομολογήσω οτι είναι σοβαρά και θα πρέπει να τα προσέξετε, για να συντείνετε και εσείς σε μια καλύτερη βάση δεδομένων μιας γλώσσας που χάνετα (ειδικά ως προς την προφορά κατά την ανάγνωση. πχ ζζ κλπ). Η Γραμματική Τοπχαρά (πλην της ιστορικής αξίας της πάντως), δεν νομίζω οτι μπορεί να συμβάλει ως προς την νοηματική και ετυμολογική κατανόηση της διαλέκτου μας. Καλή δύναμη και καλή προσπάθεια! Η κριτική όταν είναι γόνιμη και καλόπιστη πρέπει να εισακούεται. Με πολύ εκτίμηση Θεόφιλος Καστανίδης απο τον Σύλλογο Ποντίων "ΑΡΓΟΝΑΥΤΑΙ-ΚΟΜΝΗΝΟΙ" == Λατινική απόδοση == Συγχαρητήρια για τις ιδέες που προωθεί η σελίδα. Πρόταση παράλληλα να επεξεργαστούμε και σύστημα λατινικής απόδοση της ποντιακής φωνητικής και σύνταξης. Πριν βιαστεί κάποιος να μιλήσει για "παγκοσμιοποίηση" και απώλεια ταυτότητας, όσοι από εμάς μιλούνε με κατοίκους του σημερινού Πόντου, καταλαβαίνουν αυτονόητα το γιατί προέχει '''και αυτό''' να γίνει. --[[Ειδικόν:Contributions/79.131.244.75|79.131.244.75]] 19:08, 21 Χριστουγενναρί 2009 (UTC) == ΕΥΧΑΡΙΣΤΗΡΙΟ...... == ΜΕ ΙΔΙΑΙΤΕΡΗ ΧΑΡΑ ΕΙΔΑ ΟΤΙ ΟΙ ΑΝΑΚΟΙΝΩΣΕΙΣ ΤΩΝ ΑΝΑΓΝΩΣΤΩΝ ΜΕΛΕΤΩΝΤΑΙ ΚΑΙ ΛΑΜΒΑΝΟΝΤΑΙ ΥΠ΄ΟΨΙΝ.... ΠΡΩΤΑ ΠΡΕΠΕΙ ΝΑ ΑΝΑΦΕΡΩ ΤΗΝ ΙΚΑΝΟΠΟΙΗΣΗ ΜΟΥ ΠΟΥ ΑΝΑΚΑΛΥΨΑΤΕ ΤΟΝ ΔΙΑΜΑΝΤΙΔΗ....ΕΙΝΑΙ ΠΡΑΓΜΑΤΙ ΠΟΛΥ ΓΛΥΚΕΙΑ Η ΠΟΝΤΙΑΚΗ ΤΟΥ ΓΛΩΣΣΑ ΚΑΙ ΑΥΤΟ ΕΠΕΙΔΗ ΕΙΝΑΙ ΓΡΑΜΜΕΝΗ ΣΩΣΤΑ ΜΕ ΤΙΣ ΣΤΙΞΕΙΣ ΤΗΣ ΚΑΙ ΤΟ ΣΩΣΤΟ ΣΥΝΤΑΚΤΙΚΟ ΤΗΣ.... Ο ΑΝΘΡΩΠΟΣ ΒΕΒΑΙΑ ΕΙΝΑΙ ΛΟΓΟΤΕΧΝΗΣ..... ΠΑΝΤΩΣ ΔΙΑΒΑΖΟΝΤΑΣ ΤΟΝ ....ΜΑΘΑΙΝΕΙΣ.... ΝΑ ΕΙΣΤΕ ΟΛΟΙ ΚΑΛΑ Ο ΖΑΧΟΝ == Υγειαν και ευλογιαν == Γεια και χαρα σε ολον τον ποντιακο ελληνισμο. Θα θελα να πω οτι ειμαι ιδιαιτερα χαρουμενος που εγινα μελος της Ποντιακης Βικιπαιδειας και απο δω και περα θα μπαινω τακτικα για να βλεπω την προοδο. Θα ηθελα να μου πει καποιος διαχειριστης πως θα μπορουσα να βοηθησω σε κατι ευκολο και οχι πολυ χρονοβορο τουλαχιστον στην αρχη για να βαλω και εγω ενα λιθαρακι σε αυτο το εργο. --[[Χρήστες:Nakos2208|Nakos2208]] 21:26, 6 Απρίλ 2010 (UTC) :Καλως ἠρθες! Η συγγραφή μικρών άρθρων μιας ή δύο προτάσεων θα ήταν ένας καλός τρόπος να περάσει κανείς στα βαθιά :) Τσέκαρε [http://pnt.wikipedia.org/wiki/%CE%92%CE%B9%CE%BA%CE%B9%CF%80%CE%B1%CE%AF%CE%B4%CE%B5%CE%B9%CE%B1/%CE%92%CE%BF%CE%AE%CE%B8%CE%B5%CE%B9%CE%B1 αυτή τη σελίδα]. Από εκεί και περά πιο ελαφρές συνεισφορές είναι η προσθήκη κατηγοριών ή η επέκταση/διόρθωση ήδη υπαρχόντων άρθρων. --[[Χρήστες:Omnipaedista|Omnipaedista]] 16:59, 26 Απρίλ 2010 (UTC) == Bot flag for [[User:WikitanvirBot|WikitanvirBot]] == * Operator : [[User:Wikitanvir|Wikitanvir]] * Automatic or Manually Assisted : Automatic * Programming Language(s) : Python (pywikipedia) * Function Summary : Interwiki * Edit period(s) : Daily * Edit rate requested : 2/3 edits per minute at most * Already has a bot flag (Y/N) : Yes, [http://toolserver.org/~vvv/sulutil.php?user=WikitanvirBot see here] * Function Details : Bot will patrol recent changes and new pages, and add, remove, or modify interwiki links in autonomous mode. Currently doing some test edits. Notify me if there is a problem. &mdash;&nbsp;[[User:Wikitanvir|Tanvir]]&nbsp;&bull; 05:36, 3 Τρυγομηνά 2010 (UTC) == 2010 Fundraising Is Almost Here == [[File:Wikimedia_Foundation_RGB_logo_with_text.svg|80px|left]] Hello Wikipedians, I am Theo and I am working for the Wikimedia Foundation during the 2010 Fundraiser. My job is to be the liaison between your community and the Foundation. This year's fundraiser is intended to be a collaborative and global effort; we recognize that banner messages which may perform well in the United States don't necessarily translate well, or appeal to international audiences. <Br> I'm contacting you as I am currently looking for translators who are willing to contribute to this project by helping translate and localize messages into different languages and suggesting messages that would appeal to your readers on the Fundraising Meta Page. We've started the setup on [http://meta.wikimedia.org/wiki/Fundraising_2010 meta] for both [http://meta.wikimedia.org/wiki/Fundraising_2010/Messages banner submission], [http://meta.wikimedia.org/wiki/Fundraising_2010/Banner_testing statistical analysis], and [http://meta.wikimedia.org/wiki/Fundraising_2010/Committee grouping volunteers together].<br>Use the talk pages on meta, talk to your local communities, talk to others, talk to us, and add your feedback to the proposed messages as well! I look forward to working with you during this year's fundraiser. If someone could translate this message I would really appreciate it so that everyone is able to understand our goals and contribute to this year's campaign.<br> [[user:Theo (WMF)|Theo (WMF)]] 20:48, 20 Τρυγομηνά 2010 (UTC) <!-- EdwardsBot 0020 --> == Astonishing == Bonjour, Why is this Wikipedia silent, almost dead ? [[Χρήστες:Budelberger|Budelberger]] 21:33, 14 Κούντουρονος 2011 (UTC) ([[File:Flag of France.svg|15px]]). :It would be an exaggeration to call it silent or dead. Undoubtedly, the activity has been low during the last months. This is because most of the original contributors have retired from editing this wiki (in fact I am the only one left). There are new contributors (alas, anonymous) though who carry on. --[[Χρήστες:Omnipaedista|Omnipaedista]] 15:43, 17 Κούντουρονος 2011 (UTC) == Bug(s) == Bonjour, * <nowiki>{{#time: F| January }}</nowiki>: {{#time: F| January }} :* <nowiki>{{#time: xg| January }}</nowiki>: {{#time: xg| January }} * <nowiki>{{#time: F| February }}</nowiki>: {{#time: F| February }} :* <nowiki>{{#time: xg| February }}</nowiki>: {{#time: xg| February }} * <nowiki>{{#time: F| March }}</nowiki>: {{#time: F| March }} :* <nowiki>{{#time: xg| March }}</nowiki>: {{#time: xg| March }} — Μαρτ or [[22 Μαρτί|Μαρτί]] ? * <nowiki>{{#time: F| April }}</nowiki>: {{#time: F| April }} :* <nowiki>{{#time: xg| April }}</nowiki>: {{#time: xg| April }} — Απρίλ or [[Απρίλτς|Απρίλτ]] ? * <nowiki>{{#time: F| May }}</nowiki>: {{#time: F| May }} :* <nowiki>{{#time: xg| May }}</nowiki>: {{#time: xg| May }} * <nowiki>{{#time: F| June }}</nowiki>: {{#time: F| June }} :* <nowiki>{{#time: xg| June }}</nowiki>: {{#time: xg| June }} * <nowiki>{{#time: F| July }}</nowiki>: {{#time: F| July }} :* <nowiki>{{#time: xg| July }}</nowiki>: {{#time: xg| July }} — [[18 Χορτοθερί|Χορτοθερί]] or [[Χορτοθέρτς|Χορτοθέρτ]] ? * <nowiki>{{#time: F| August }}</nowiki>: {{#time: F| August }} — Latin « A » ! :* <nowiki>{{#time: xg| August }}</nowiki>: {{#time: xg| August }} — Latin « A » ! * <nowiki>{{#time: F| September }}</nowiki>: {{#time: F| September }} :* <nowiki>{{#time: xg| September }}</nowiki>: {{#time: xg| September }} * <nowiki>{{#time: F| October }}</nowiki>: {{#time: F| October }} :* <nowiki>{{#time: xg| October }}</nowiki>: {{#time: xg| October }} * <nowiki>{{#time: F| November }}</nowiki>: {{#time: F| November }} :* <nowiki>{{#time: xg| November }}</nowiki>: {{#time: xg| November }} * <nowiki>{{#time: F| December }}</nowiki>: {{#time: F| December }} :* <nowiki>{{#time: xg| December }}</nowiki>: {{#time: xg| December }} [[Χρήστες:Budelberger|Budelberger]] 17:56, 25 Κούντουρονος 2011 (UTC) ([[Αρχείον:Flag of France.svg|15px]]). :Genitives are indeed Μαρτί, Απρίλτ, Χορτοθερί, respectively, but I think that variations exist and should be considered valid. Obviously, Latin A's have to be replaced by Greek ones. Thanks for the notification! --[[Χρήστες:Omnipaedista|Omnipaedista]] 06:13, 1 Μαρτ 2011 (UTC) == Multilingual Challenge == {| class="center" style="border:2px double; color:#009900; background-color:#CCFFCC;" |- | style="color:red;" | Please help: replace this red text with a translation of the English message below. Thank you! |- | style="color:black;" | '''Announcing [[:en:Wikipedia:GLAM/Derby/Multilingual Challenge|the Derby Multilingual Challenge]]'''<br /> This is the first multilingual Wikipedia collaboration. All Wikipedians can take part, in any Wikipedia language. The challenge runs from 1 May until 3 September 2011.<br /> '''[[:en:Wikipedia:GLAM/Derby/Multilingual Challenge/Participants|Sign up now!]]'''<br /> <small>" Wikipedia is particularly pleased to see that Derby Museums are encouraging the creation of articles in languages other than English." ([http://uk.wikimedia.org/wiki/Press_releases/First_GLAMWIKI_outside_Capital Jimmy Wales, 14 January 2011])</small> |} [[Χρήστες:Andrew Dalby|Andrew Dalby]] 13:39, 2 Καλομηνά 2011 (UTC) == Γιαρίφ == Σκοπεύω να παραιτηθώ από γραφειοκράτης για αυτό και έκανα γραφειοκράτη τον μοναδικό ενεργό χρήστη του εγχειρήματος ύστερα και από συζήτηση μαζί του. <b>[[Χρήστες:ZaDiak|<font color="black">Ζάχον</font>]]</b><sup>[[User talk:ZaDiak|<font color="Crimson">Talk</font>]]</sup> 15:38, 18 Κερασινού 2011 (UTC) == Call for image filter referendum == The Wikimedia Foundation, at the direction of the Board of Trustees, will be holding a vote to determine whether members of the community support the creation and usage of an opt-in personal image filter, which would allow readers to voluntarily screen particular types of images strictly for their own account. Further details and educational materials will be available shortly. The referendum is scheduled for 12-27 August, 2011, and will be conducted on servers hosted by a neutral third party. Referendum details, officials, voting requirements, and supporting materials will be posted at [[Meta:Image filter referendum]] shortly. Sorry for delivering you a message in English. Please help translate the pages on the referendum on Meta and join the [[mail:translators-l|translators mailing list]]. For the coordinating committee,<br /> [[m:User:Philippe (WMF)|Philippe (WMF)]]<br /> [[m:User:Cbrown1023|Cbrown1023]]<br/> [[m:User:Risker|Risker]]</br> [[m:User:Mardetanha|Mardetanha]]<br/> [[m:User:PeterSymonds|PeterSymonds]]<br/> [[m:User:Robertmharris|Robert Harris]] <!-- EdwardsBot 0090 --> == Bot flag request for [[User:HiW-Bot|HiW-Bot]] == * Operator : [[:de:Benutzer:Hedwig in Washington|Hedwig in Washington]] * Automatic or Manually Assisted : automatic * Programming Language(s) : Python (pywikipedia), daily update * Function Summary : Interwiki, Internationalization by removing chaos in Babel-Category so it can be used properly and easy. Double redirects will be added shortly * Already has a bot flag (Y/N) : Yes: 27 Wikis so far, others pending. [http://toolserver.org/~vvv/sulutil.php?user=HiW-Bot see here] * Function Details : just using the standard interwiki.py; parameters: -auto -all - log -catr I humbly request bot status on this wiki in order to update Interwiki, and improve Internationalization by removing chaos in Babel so it can be used properly and easy by everyone. Thank you for consideration! --[[Χρήστες:Hedwig in Washington|Hedwig in Washington]] 03:50, 9 Σταυρί 2011 (UTC) == Μωμόγεροι == Ξεκίνησα στο άρθρο [[:el:Μωμόγεροι (λαϊκό δρώμενο)|Μωμόγεροι]], μιας και είναι ποντιακό, εκτός από να το εμπλουτίσετε ίσως σας ενδιαφέρει να το βάλετε και στην ποντιακή βικιπαίδεια. Το βίντεο στο άρθρο είναι δικό μου. Χαιρετισμοί και καλή χρονιά! [[Χρήστες:Ggia|Ggia]] 09:21, 3 Καλανταρί 2012 (UTC) == Announcing Wikipedia 1.19 beta == Wikimedia Foundation is getting ready to push out 1.19 to all the WMF-hosted wikis. As we finish wrapping up our code review, you can test the new version ''right now'' on [http://beta.wmflabs.org/ beta.wmflabs.org]. For more information, please read the [https://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/RELEASE-NOTES-1.19?view=markup release notes] or the [[mw:MediaWiki_1.19|start of the final announcement]]. The following are the areas that you will probably be most interested in: * [https://bugzilla.wikimedia.org/show_bug.cgi?id=33711#c2 Faster loading of javascript files makes dependency tracking more important.] * New common*.css files usable by skins instead of having to copy piles of generic styles from MonoBook or Vector's css. * The default user signature now contains a talk link in addition to the user link. * Searching blocked usernames in block log is now clearer. * Better timezone recognition in user preferences. * Improved diff readability for colorblind people. * The interwiki links table can now be accessed also when the interwiki cache is used (used in the API and the Interwiki extension). * More gender support (for instance in logs and user lists). * Language converter improved, e.g. it now works depending on the page content language. * Time and number-formatting magic words also now depend on the page content language. * Bidirectional support further improved after 1.18. Report any [http://labs.wikimedia.beta.wmflabs.org/wiki/Problem_reports problems] on the labs beta wiki and we'll work to address them before they software is released to the production wikis. '''Note''' that this cluster does have SUL but it is not integrated with SUL in production, so you'll need to create another account. You should avoid using the same password as you use here. — [[m:Global message delivery|Global message delivery]] 16:29, 15 Καλανταρί 2012 (UTC) <!-- EdwardsBot 0145 --> ==Language support group for Pontic== The Wikimedia Foundation has brought together a new team of developers who are dedicated to language support. This team is to support all the languages and consequently it is not realistic to expect that the team members can provide proper support for your language. It is for this reason that we are looking for volunteers who will make up a [[:translatewiki:language support team|language support team]]. This language support team will be asked to provide us with information about their language. Such information may need to be provided either to us or on a website that we will indicate to you. Another activity will be to test software that will likely have an effect on the running of the MediaWiki software. We are looking for people who clearly identify their ability. Formal knowledge is definitely appreciated. As much of the activity will be concentrated on [[:translatewiki:Main Page|translatewiki.net]], it will be a plus when team members know how to localise at translatewiki.net. <br> Thanks, [[Χρήστες:Gmeijssen|Gmeijssen]] 19:39, 1 Κούντουρονος 2012 (UTC) == MediaWiki 1.19 == (Apologies if this message isn't in your language.) The Wikimedia Foundation is planning to upgrade MediaWiki (the software powering this wiki) to its latest version this month. You can help to test it before it is enabled, to avoid disruption and breakage. More information is available [[:mw:MediaWiki 1.19/Deployment announcement|in the full announcement]]. Thank you for your understanding. [[:m:user:guillom|Guillaume Paumier]], via the [[:m:Global message delivery|Global message delivery system]] <small>([[:m:Distribution list/Global message delivery|wrong page? You can fix it.]])</small>. 15:15, 12 Κούντουρονος 2012 (UTC) <!-- EdwardsBot 0154 --> == Update on IPv6 == [[File:Wikimedia_Foundation_RGB_logo_with_text.svg|80px|right]] (Apologies if this message isn't in your language. Please consider translating it, as well as '''[[m:Special:MyLanguage/IPv6 initiative/2012 IPv6 Day announcement|the full version of this announcement on Meta]]''') The Wikimedia Foundation is planning to do limited testing of IPv6 on June 2-3. If there are not too many problems, we may fully enable IPv6 on [http://www.worldipv6day.org/ World IPv6 day] (June 6), and keep it enabled. What this means for your project: *At least on June 2-3, 2012, you may see a small number of edits from IPv6 addresses, which are in the form "<code>2001:0db8:85a3:0000:0000:8a2e:0370:7334</code>". See e.g. [[w:en:IPv6 address]]. These addresses should behave like any other IP address: You can leave messages on their talk pages; you can track their contributions; you can block them. (See [[m:Special:MyLanguage/IPv6 initiative/2012 IPv6 Day announcement|the full version of this announcement]] for notes on range blocks.) *In the mid term, some user scripts and tools will need to be adapted for IPv6. *We suspect that IPv6 usage is going to be very low initially, meaning that abuse should be manageable, and we will assist in the monitoring of the situation. Read [[m:Special:MyLanguage/IPv6 initiative/2012 IPv6 Day announcement|the full version of this announcement]] on how to test the behavior of IPv6 with various tools and how to leave bug reports, and to find a fuller analysis of the implications of the IPv6 migration. --[[m:User:Eloquence|Erik Möller, VP of Engineering and Product Development, Wikimedia Foundation]] 01:18, 2 Κερασινού 2012 (UTC) <small>Distributed via [[m:Global message delivery|Global message delivery]]. (Wrong page? [[m:Distribution list/Global message delivery|Fix here]].)</small> <!-- EdwardsBot 0201 --> == 2011 Picture of the Year competition == <small>[[:commons:Commons:Picture of the Year/2011/Translations/mk|{{#language:mk}}]] • [[:commons:Commons:Picture of the Year/2011/Translations/no|{{#language:no}}]] • [[:commons:Commons:Picture of the Year/2011/Translations/pl|{{#language:pl}}]]</small> Dear Wikimedians, Wikimedia Commons is happy to announce that the ''2011 Picture of the Year competition'' is now open. We are interested in your opinion as to which images qualify to be the ''Picture of the Year 2011''. Any user registered at Commons or a Wikimedia wiki SUL-related to Commons [//toolserver.org/~pathoschild/accounteligibility/?user=&wiki=&event=24 with more than 75 edits before 1 April 2012 (UTC)] is welcome to vote and, of course everyone is welcome to view! Detailed information about the contest can be found [[:commons:Commons:Picture of the Year/2011/Introduction|at the introductory page]]. About 600 of the best of Wikimedia Common's photos, animations, movies and graphics were chosen &ndash;by the international Wikimedia Commons community&ndash; out of 12 million files during ''2011'' and are now called ''Featured Pictures''. From professional animal and plant shots to breathtaking panoramas and skylines, restorations of historically relevant images, images portraying the world's best architecture, maps, emblems, diagrams created with the most modern technology, and impressive human portraits, Commons ''Features Pictures'' of all flavors. For your convenience, we have sorted the images [[:commons:Commons:Picture of the Year/2011/Galleries|into topic categories]]. We regret that you receive this message in English; we intended to use banners to notify you in your native language but there was both, human and technical resistance. See you on Commons! --[[:commons:Commons:Picture of the Year/2011/Committee|Picture of the Year 2011 Committee]] 18:35, 5 Κερασινού 2012 (UTC) <small>Distributed via [[m:Global message delivery|Global message delivery]]. (Wrong page? [[m:Distribution list/Global message delivery|Fix here]].)</small> <!-- EdwardsBot 0205 --> == Help decide about more than $10 million of Wikimedia donations in the coming year == [[File:Wikimedia_Foundation_RGB_logo_with_text.svg|80px|right]] ''(Apologies if this message isn't in your language. Please consider translating it)'' Hi, As many of you are aware, the Wikimedia Board of Trustees recently initiated important changes in the way that money is being distributed within the Wikimedia movement. As part of this, a new community-led "[[m:Funds_Dissemination_Committee/Framework_for_the_Creation_and_Initial_Operation_of_the_FDC|Funds Dissemination Committee]]" (FDC) is currently being set up. Already in 2012-13, its recommendations will guide the decisions about the distribution of over 10 million US dollars among the Foundation, chapters and other [[m:Funds_Dissemination_Committee/Framework_for_the_Creation_and_Initial_Operation_of_the_FDC#Eligible_fund-seeking_entities|eligible entities]]. Now, seven capable, knowledgeable and trustworthy community members are sought to volunteer on the initial Funds Dissemination Committee. It is expected to take up its work in September. In addition, a community member is sought to be the [[m:Funds_Dissemination_Committee/Framework_for_the_Creation_and_Initial_Operation_of_the_FDC#FDC_Ombudsperson|Ombudsperson]] for the FDC process. If you are interested in joining the committee, read the [[m:Funds Dissemination Committee/Call for Volunteers|call for volunteers]]. Nominations are planned to close on August 15. --[[m:User:ASengupta_(WMF)|Anasuya Sengupta]], Director of Global Learning and Grantmaking, Wikimedia Foundation 20:20, 19 Χορτοθερί 2012 (UTC) <small>Distributed via [[m:Global message delivery|Global message delivery]]. (Wrong page? [[m:Distribution list/Global message delivery|Fix here]].)</small> <!-- EdwardsBot 0223 --> == More opportunities for you to access free research databases == The quest to get editors free access to the sources they need is gaining momentum. * '''[[w:en:Wikipedia:Credo|Credo Reference]]''' provides full-text online versions of nearly 1200 published reference works from more than 70 publishers in every major subject, including general and subject dictionaries and encyclopedias. There are '''125''' full Credo 350 accounts available, with access even to 100 more references works than in Credo's original donation. All you need is a 1-year old account with 1000 edits. Sign up [[w:en:Wikipedia:Credo#Sign-up sheet|here]]. * '''[[w:en:Wikipedia:HighBeam|HighBeam Research]]''' has access to over 80 million articles from 6,500 publications including newspapers, magazines, academic journals, newswires, trade magazines and encyclopedias. Thousands of new articles are added daily, and archives date back over 25 years covering a wide range of subjects and industries. There are '''250''' full access 1-year accounts available. All you need is a 1-year old account with 1000 edits. Sign up [[w:en:Wikipedia:HighBeam/Applications|here]]. * '''[[w:en:Wikipedia:Questia|Questia]]''' is an online research library for books and journal articles focusing on the humanities and social sciences. Questia has curated titles from over 300 trusted publishers including 77,000 full-text books and 4 million journal, magazine, and newspaper articles, as well as encyclopedia entries. There will soon be '''1000''' full access 1-year accounts available. All you need is a 1-year old account with 1000 edits. Sign up [[w:en:Wikipedia:Questia#Apply here: Round 1|here]]. You might also be interested in the idea to create a central '''Wikipedia Library''' where approved editors would have access to ''all'' participating resource donors. Add your feedback to the [[m:Wikimedia Fellowships/Project Ideas/The Wikipedia Library|Community Fellowship proposal]]. Apologies for the English message ([http://translate.google.com/ translate here]). Go sign up :) --[[w:en:User:Ocaasi|Ocaasi]] ([[w:en:User talk:Ocaasi|talk]]) 02:23, 16 Aλωναρί 2012 (UTC) <!-- EdwardsBot 0232 --> == Request for Comment: Legal Fees Assistance Program == [[File:Wikimedia_Foundation_RGB_logo_with_text.svg|80px|right]] ''I apologize for addressing you in English. I would be grateful if you could translate this message into your language.'' The Wikimedia Foundation is conducting a [[:m:Request_for_comment/Legal_Fees_Assistance_Program|request for comment]] on a [[:m:Legal_and_Community_Advocacy/Legal_Fees_Assistance_Program|proposed program]] that could provide legal assistance to users in specific support roles who are named in a legal complaint as a defendant because of those roles. We wanted to be sure that your community was aware of this discussion and would have a chance to participate in [[:m:Request_for_comment/Legal_Fees_Assistance_Program|that discussion]]. If this page is not the best place to publicize this request for comment, please help spread the word to those who may be interested in participating. (If you'd like to help translating the "request for comment", program policy or other pages into your language and don't know how the translation system works, please come by my user talk page at [[:m:User talk:Mdennis (WMF)]]. I'll be happy to assist or to connect you with a volunteer who can assist.) Thank you! --[[:m:User:Mdennis (WMF)|Mdennis (WMF)]]02:09, 6 Σταυρί 2012 (UTC) <small>Distributed via [[m:Global message delivery|Global message delivery]]. (Wrong page? [[m:Distribution list/Global message delivery|Fix here]].)</small> <!-- EdwardsBot 0245 --> == Wikidata is getting close to a first roll-out == [[File:Wikimedia_Foundation_RGB_logo_with_text.svg|80px|right]] (Apologies if this message isn't in your language.) As some of you might already have heard Wikimedia Deutschland is working on a new Wikimedia project. It is called [[m:Wikidata]]. The goal of Wikidata is to become a central data repository for the Wikipedias, its sister projects and the world. In the future it will hold data like the number of inhabitants of a country, the date of birth of a famous person or the length of a river. These can then be used in all Wikimedia projects and outside of them. The project is divided into three phases and "we are getting close to roll-out the first phase". The phases are: # language links in the Wikipedias (making it possible to store the links between the language editions of an article just once in Wikidata instead of in each linked article) # infoboxes (making it possible to store the data that is currently in infoboxes in one central place and share the data) # lists (making it possible to create lists and similar things based on queries to Wikidata so they update automatically when new data is added or modified) It'd be great if you could join us, test the [http://wikidata-test.wikimedia.de demo version], provide feedback and take part in the development of Wikidata. You can find all the relevant information including an [[m:Wikidata/FAQ|FAQ]] and sign-up links for our on-wiki newsletter on [[m:Wikidata|the Wikidata page on Meta]]. For further discussions please use [[m:Talk:Wikidata|this talk page]] (if you are uncomfortable writing in English you can also write in your native language there) or point [[m:User_talk:Lydia Pintscher (WMDE)|me]] to the place where your discussion is happening so I can answer there. --[[m:User:Lydia Pintscher (WMDE)|Lydia Pintscher]] 13:34, 10 Σταυρί 2012 (UTC) <small>Distributed via [[m:Global message delivery|Global message delivery]]. (Wrong page? [[m:Distribution list/Global message delivery|Fix here]].)</small> <!-- EdwardsBot 0248 --> == Upcoming software changes - please report any problems == [[File:Wikimedia_Foundation_RGB_logo_with_text.svg|80px|right]] <div dir=ltr> ''(Apologies if this message isn't in your language. Please consider translating it)'' All Wikimedia wikis - including this one - will soon be upgraded with new and possibly disruptive code. This process starts today and finishes on October 24 (see the [[mw:MediaWiki_1.21/Roadmap|upgrade schedule]] & [[mw:MediaWiki 1.21/wmf2|code details]]). Please watch for problems with: * revision diffs * templates * CSS and JavaScript pages (like user scripts) * bots * PDF export * images, video, and sound, especially scaling sizes * the CologneBlue skin If you notice any problems, please [[mw:How to report a bug|report problems]] at [[mw:Bugzilla|our defect tracker site]]. You can test for possible problems at [https://test2.wikipedia.org test2.wikipedia.org] and [https://mediawiki.org/ mediawiki.org], which have already been updated. Thanks! With your help we can find problems fast and get them fixed faster. [[mw:User:Sharihareswara (WMF)|Sumana Harihareswara, Wikimedia Foundation Engineering Community Manager]] ([[mw:User talk:Sharihareswara (WMF)|talk]]) 03:09, 16 Τρυγομηνά 2012 (UTC) P.S.: For the regular, smaller MediaWiki updates every two weeks, please [[mw:MediaWiki_1.21/Roadmap|watch this schedule]]. <small>Distributed via [[m:Global message delivery|Global message delivery]]. (Wrong page? [[m:Distribution list/Global message delivery|Fix here]].)</small> </div> <!-- EdwardsBot 0278 --> == Fundraising localization: volunteers from outside the USA needed == ''Please translate for your local community'' Hello All, The Wikimedia Foundation's Fundraising team have begun our 'User Experience' project, with the goal of understanding the donation experience in different countries outside the USA and enhancing the localization of our donation pages. I am searching for volunteers to spend 30 minutes on a Skype chat with me, reviewing their own country's donation pages. It will be done on a 'usability' format (I will ask you to read the text and go through the donation flow) and will be asking your feedback in the meanwhile. The only pre-requisite is for the volunteer to actually live in the country and to have access to at least one donation method that we offer for that country (mainly credit/debit card, but also real-time banking like IDEAL, E-wallets, etc...) so we can do a live test and see if the donation goes through. ''All volunteers will be reimbursed of the donations that eventually succeed'' (and they will be low amounts, like 1-2 dollars) By helping us you are actually helping thousands of people to support our mission of free knowledge across the world. Please sing up and help us with our 'User Experience' project! :) If you are interested (or know of anyone who could be) please email ppena@wikimedia.org. All countries needed (excepting USA)! Thanks!<br /> [[wmf:User:Ppena|Pats Pena]]<br /> Global Fundraising Operations Manager, Wikimedia Foundation Sent using [[m:Global message delivery|Global message delivery]], 17:15, 17 Τρυγομηνά 2012 (UTC) <!-- EdwardsBot 0280 --> ==Βικινέα== Αν μπορεί κάποιος ας αλλάξει το σύνδεσμο προς τα Βικινέα στην πρώτη σελίδα για να κατευθύνει στο el.wikinews.org καθώς υπάρχει ελληνική έκδοση εδώ και αρκετό καιρό. [[Χρήστες:Glavkos|Glavkos]] ([[Καλάτσεμαν χρήστε:Glavkos|talk]]) 10:33, 22 Τρυγομηνά 2012 (UTC) :Έγινε! --[[Χρήστες:Omnipaedista|Omnipaedista]] ([[Καλάτσεμαν χρήστε:Omnipaedista|talk]]) 02:06, 30 Τρυγομηνά 2012 (UTC) [[de:Wikipedia:Fragen zur Wikipedia]] == Be a Wikimedia fundraising "User Experience" volunteer! == Thank you to everyone who volunteered last year on the Wikimedia fundraising 'User Experience' project. We have talked to many different people in different countries and their feedback has helped us immensely in restructuring our pages. If you haven't heard of it yet, the 'User Experience' project has the goal of understanding the donation experience in different countries (outside the USA) and enhancing the localization of our donation pages. I am (still) searching for volunteers to spend some time on a Skype chat with me, reviewing their own country's donation pages. It will be done on a 'usability' format (I will ask you to read the text and go through the donation flow) and will be asking your feedback in the meanwhile. The only pre-requisite is for the volunteer to actually live in the country and to have access to at least one donation method that we offer for that country (mainly credit/debit card, but also real time banking like IDEAL, E-wallets, etc...) so we can do a live test and see if the donation goes through. **All volunteers will be reimbursed of the donations that eventually succeed (and they will be very low amounts, like 1-2 dollars)** By helping us you are actually helping thousands of people to support our mission of free knowledge across the world. If you are interested (or know of anyone who could be) please email ppena@wikimedia.org. All countries needed (excepting USA)!! Thanks! [[m:User:Ppena (WMF)|Pats Pena]]<br/> Global Fundraising Operations Manager, Wikimedia Foundation : Sent using [[m:Global message delivery|Global message delivery]], 21:13, 8 Καλανταρί 2013 (UTC) <!-- EdwardsBot 331 --> == Wikimedia sites to move to primary data center in Ashburn, Virginia. Read-only mode expected. == (Apologies if this message isn't in your language.) Next week, the Wikimedia Foundation will transition its main technical operations to a new data center in Ashburn, Virginia, USA. This is intended to improve the technical performance and reliability of all Wikimedia sites, including this wiki. There will be some times when the site will be in read-only mode, and there may be full outages; the current target windows for the migration are January 22nd, 23rd and 24th, 2013, from 17:00 to 01:00 UTC (see [http://www.timeanddate.com/worldclock/fixedtime.html?msg=Wikimedia+data+center+migration&iso=20130122T17&ah=8 other timezones] on timeanddate.com). More information is available [https://blog.wikimedia.org/2013/01/19/wikimedia-sites-move-to-primary-data-center-in-ashburn-virginia/ in the full announcement]. If you would like to stay informed of future technical upgrades, consider [[m:Tech/Ambassadors|becoming a Tech ambassador]] and [https://lists.wikimedia.org/mailman/listinfo/wikitech-ambassadors joining the ambassadors mailing list]. You will be able to help your fellow Wikimedians have a voice in technical discussions and be notified of important decisions. Thank you for your help and your understanding. [[:m:user:guillom|Guillaume Paumier]], via the [[:m:Global message delivery|Global message delivery system]] <small>([[:m:Distribution list/Global message delivery|wrong page? You can fix it.]])</small>. 15:37, 19 Καλανταρί 2013 (UTC) <!-- EdwardsBot 0338 --> == Help turn ideas into grants in the new IdeaLab == <div class="mw-content-ltr"> [[File:Wikimedia_Foundation_RGB_logo_with_text.svg|80px|right]] ''I apologize if this message is not in your language. Please help translate it.'' *Do you have an idea for a project to improve this community or website? *Do you think you could complete your idea if only you had some funding? *Do you want to help other people turn their ideas into project plans or grant proposals? Please join us in the [[m:Grants:IdeaLab|IdeaLab]], an incubator for project ideas and Individual Engagement Grant proposals. The Wikimedia Foundation is seeking new ideas and proposals for Individual Engagement Grants. These grants fund individuals or small groups to complete projects that help improve this community. If interested, please submit a completed proposal by February 15, 2013. Please visit https://meta.wikimedia.org/wiki/Grants:IEG for more information. Thanks! --[[m:User:Sbouterse (WMF)|Siko Bouterse, Head of Individual Engagement Grants, Wikimedia Foundation]] 20:47, 30 Καλανταρί 2013 (UTC) <small>Distributed via [[m:Global message delivery|Global message delivery]]. (Wrong page? [[m:Distribution list/Global message delivery|Correct it here]].)</small> </div> <!-- EdwardsBot 0344 --> == Wikidata phase 1 (language links) coming to this Wikipedia == [[File:Wikidata-logo-en.svg|150px|right]] Sorry for writing in English. I hope someone can translate this locally. [[d:|Wikidata]] has been in development for a few months now. It is now time for the roll-out of the first part of it on your Wikipedia. Phase 1 is the support for the management of language links. It is already being used on the Hungarian, Hebrew, Italian and English Wikipedias. The next step is to enable the extension on all other Wikipedias. We have currently planned this for March 6. === What is Wikidata? === Wikidata is a central place to store data that you can usually find in infoboxes. Think of it as something like Wikimedia Commons but for data (like the number of inhabitants of a country or the length of a river) instead of multimedia. The first part of this project (centralizing language links) is being rolled out now. The more fancy things will follow later. === What is going to happen? === Language links in the sidebar are going to come from Wikidata in addition to the ones in the wiki text. To edit them, scroll to the bottom of the language links, and click edit. You no longer need to maintain these links by hand in the wiki text of the article. === Where can I find more information and ask questions? === Editors on en:wp have created a [[:en:Wikipedia:Wikidata|great page with all the necessary information for editors]] and there is also an [[meta:Wikidata/Deployment Questions|FAQ for this deployment]]. Please ask questions you might have on [[meta:Wikidata/Deployment Questions|the FAQ’s discussion page]]. === I want to be kept up to date about Wikidata === To stay up-to-date on everything happening around Wikidata please [[meta:Global message delivery/Targets/Wikidata|subscribe]] to the newsletter that is delivered weekly to subscribed user’s talk pages. You can see previous editions [[meta:Wikidata/Newsletter/Archive|here]]. --[[m:User:Lydia Pintscher (WMDE)|Lydia Pintscher]] 16:15, 21 Κούντουρονος 2013 (UTC) <small>Distributed via [[m:Global message delivery|Global message delivery]]. (Wrong page? [[m:Distribution list/Global message delivery|Fix here]].)</small> <!-- EdwardsBot 0366 --> == Wikidata phase 1 (language links) live on this Wikipedia == [[File:Wikidata-logo-en.svg|150px|right]] Sorry for writing in English. I hope someone can translate this locally. If you understand German better than English you can have a look at the announcement on [[:de:Wikipedia:Kurier]]. As I annonced 2 weeks ago, [[d:|Wikidata]] phase 1 (language links) has been deployed here today. Language links in the sidebar are coming from Wikidata in addition to the ones in the wiki text. To edit them, scroll to the bottom of the language links, and click edit. You no longer need to maintain these links by hand in the wiki text of the article. '''Where can I find more information and ask questions?''' Editors on en:wp have created a [[:en:Wikipedia:Wikidata|great page with all the necessary information for editors]] and there is also an [[meta:Wikidata/Deployment Questions|FAQ for this deployment]]. It'd be great if you could bring this to this wiki if that has not already happened. Please ask questions you might have on [[meta:Talk:Wikidata/Deployment Questions|the FAQ’s discussion page]]. '''I want to be kept up to date about Wikidata''' To stay up-to-date on everything happening around Wikidata please [[meta:Global message delivery/Targets/Wikidata|subscribe]] to the newsletter that is delivered weekly to subscribed user’s talk pages. --[[m:User:Lydia Pintscher (WMDE)|Lydia Pintscher]] 23:07, 6 Μαρτ 2013 (UTC) <small>Distributed via [[m:Global message delivery|Global message delivery]]. (Wrong page? [[m:Distribution list/Global message delivery|Fix here]].)</small> <!-- EdwardsBot 0373 --> == Convert complex templates to Lua to make them faster and more powerful == <small>(Please consider translating this message for the benefit of your fellow Wikimedians)</small> Greetings. As you might have seen on the [https://blog.wikimedia.org/2013/03/11/lua-templates-faster-more-flexible-pages/ Wikimedia tech blog] or the [http://lists.wikimedia.org/pipermail/wikitech-ambassadors/2013-March/000171.html tech ambassadors list], a new functionality called "Lua" is being enabled on all Wikimedia sites today. [[mw:Lua|Lua]] is a scripting language that enables you to write faster and more powerful MediaWiki templates. If you have questions about how to convert existing templates to Lua (or how to create new ones), we'll be holding two support sessions on IRC next week: [http://www.timeanddate.com/worldclock/fixedtime.html?hour=02&min=00&sec=0&day=20&month=03&year=2013 one on Wednesday] (for Oceania, Asia & America) and [http://www.timeanddate.com/worldclock/fixedtime.html?hour=18&min=00&sec=0&day=22&month=03&year=2013 one on Friday] (for Europe, Africa & America); see [[m:IRC office hours]] for the details. If you can't make it, you can also get help at [[mw:Talk:Lua scripting]]. If you'd like to learn about this kind of events earlier in advance, consider becoming a [[m:Tech/Ambassadors|Tech ambassador]] by subscribing to the [https://lists.wikimedia.org/mailman/listinfo/wikitech-ambassadors mailing list]. You will also be able to help your fellow Wikimedians have a voice in technical discussions and be notified of important decisions. [[:m:user:guillom|Guillaume Paumier]], via the [[:m:Global message delivery|Global message delivery system]]. 20:16, 13 Μαρτ 2013 (UTC) <small>([[:m:Distribution list/Global message delivery|wrong page? You can fix it.]])</small> <!-- EdwardsBot 0379 --> == Wikidata phase 2 (infoboxes) coming to this Wikipedia == [[File:Wikidata-logo-en.svg|150px|right]] Sorry for writing in English. I hope someone can translate this. If you understand German better than English you can have a look at the announcement on [[:de:Wikipedia:Kurier]]. A while ago the first phase of [[d:|Wikidata]] was enabled on this Wikipedia. This means you are getting the language links in each article from Wikidata. It is soon time to enable the second phase of Wikidata (infoboxes) here. We have already done this on the [[http://blog.wikimedia.de/2013/03/27/you-can-have-all-the-data/ first 11 Wikipedias]] (it, he, hu, ru, tr, uk, uz, hr, bs, sr, sh) and things are looking good. The next step is English Wikipedia. This is planned for April 8. '''If everything works out fine we will deploy on all remaining Wikipedias on April 10.''' I will update [[m:Wikidata/Deployment Questions#When_will_this_be_deployed_on_my_Wikipedia.3F|this part of the FAQ]] if there are any issues forcing us to change this date. I will also sent another note to this village pump once the deployment is finished. '''What will happen once we have phase 2 enabled here?''' Once it is enabled in a few days you will be able to make use of the structured data that is available on Wikidata in your articles/infoboxes. It includes things like the symbol for a chemical element, the ISBN for a book or the top level domain of a country. (None of this will happen automatically. Someone will have to change the article or infobox template for this to happen!) '''How will this work?''' There are two ways to access the data: * Use a parser function like <nowiki>{{#property:p169}}</nowiki> in the wiki text of the article on Yahoo!. This will return “[[d:Q14086|Marissa Mayer]]” as she is the [[d:Property:P169|chief executive officer]] of the [[d:Q37093|company]]. * For more complicated things you can use Lua. The documentation for this is [[mw:Extension:WikibaseClient/Lua|here]]. We are working on expanding the parser function so you can for example use <nowiki>{{#property:chief executive officer}}</nowiki> instead of <nowiki>{{#property:p169}}</nowiki>. The complete plan for this is [[meta:Wikidata/Notes/Inclusion syntax|here]]. '''Where can I test this?''' You can already test it on [http://test2.wikipedia.org test2]. '''Where can I find more information and ask questions?''' We have collected the main questions in an [[meta:Wikidata/Deployment Questions|FAQ for this deployment]]. Please ask questions you might have on [[meta:Talk:Wikidata/Deployment Questions|the FAQ’s discussion page]]. '''I want to be kept up to date about Wikidata''' To stay up-to-date on everything happening around Wikidata please [[meta:Global message delivery/Targets/Wikidata|subscribe]] to the newsletter that is delivered weekly to subscribed user’s talk pages. --[[m:User:Lydia Pintscher (WMDE)|Lydia Pintscher]] 17:09, 5 Απρίλ 2013 (UTC) <small>Distributed via [[m:Global message delivery|Global message delivery]]. (Wrong page? [[m:Distribution list/Global message delivery|Fix here]].)</small> <!-- EdwardsBot 0399 --> == [[m:Requests for comment/Activity levels of advanced administrative rights holders|Request for comment on inactive administrators]] == <small>(Please consider translating this message for the benefit of your fellow Wikimedians. Please also consider translating [[m:Requests for comment/Activity levels of advanced administrative rights holders/Summary|the proposal]].)</small> <small>[[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message|Read this message in English]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/ast|Lleer esti mensaxe n'asturianu]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/bn|বাংলায় এই বার্তাটি পড়ুন]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/ca|Llegiu aquest missatge en català]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/da|Læs denne besked på dansk]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/de|Lies diese Nachricht auf Deutsch]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/egl|Leś cal mesag' chè in Emiliàn]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/es|Leer este mensaje en español]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/fi|Lue tämä viesti suomeksi]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/fr|Lire ce message en français]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/gl|Ler esta mensaxe en galego]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/hi|हिन्दी]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/hr|Pročitajte ovu poruku na hrvatskom]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/id|Baca pesan ini dalam Bahasa Indonesia]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/it|Leggi questo messaggio in italiano]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/kn|ಈ ಸಂದೇಶವನ್ನು ಕನ್ನಡದಲ್ಲಿ ಓದಿ]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/mt|Aqra dan il-messaġġ bil-Malti]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/nb|norsk (bokmål)]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/nl|Lees dit bericht in het Nederlands]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/pl|Przeczytaj tę wiadomość po polsku]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/ro|Citiți acest mesaj în română]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/ru|Прочитать это сообщение на русском]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/so|Farriintaan ku aqri Af-Soomaali]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/sr|Pročitaj ovu poruku na srpskom (Прочитај ову поруку на српском)]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/th|อ่านข้อความนี้ในภาษาไทย]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/uk|Прочитати це повідомлення українською мовою]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/vi|Đọc thông báo bằng tiếng Việt]] / [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message/zh|使用中文阅读本信息。]]</small> Hello! There is [[m:Requests for comment/Activity levels of advanced administrative rights holders|a new request for comment]] on Meta-Wiki concerning the removal of administrative rights from long-term inactive Wikimedians. Generally, this proposal from stewards would apply to wikis without an administrators' review process. We are also compiling a [[m:Talk:Requests for comment/Activity levels of advanced administrative rights holders|list of projects]] with procedures for removing inactive administrators on the talk page of the request for comment. Feel free to add your project(s) to the list if you have a policy on administrator inactivity. All input is appreciated. The discussion may close as soon as 21 May 2013 (2013-05-21), but this will be extended if needed. Thanks, [[m:User:Billinghurst|Billinghurst]] <small>(thanks to all the [[m:Requests for comment/Activity levels of advanced administrative rights holders/Global message|translators]]!)</small> 05:12, 24 Απρίλ 2013 (UTC) :<small>Distributed via [[m:Global message delivery|Global message delivery]] (Wrong page? [[m:Distribution list/Global message delivery|You can fix it]].)</small> <!-- EdwardsBot 0430 --> == Wikidata phase 2 (infoboxes) is here == [[File:Wikidata-logo-en.svg|150px|right]] Sorry for writing in English. I hope someone can translate this. If you understand German better than English you can have a look at the announcement on [[:de:Wikipedia:Kurier]]. A while ago the first phase of [[d:|Wikidata]] was enabled on this Wikipedia. This means you are getting the language links in each article from Wikidata. We have now enabled the second phase of Wikidata (infoboxes) here. We have already done this on the [[http://blog.wikimedia.de/2013/03/27/you-can-have-all-the-data/ first 11 Wikipedias]] (it, he, hu, ru, tr, uk, uz, hr, bs, sr, sh) a month ago and [http://blog.wikimedia.de/2013/04/22/and-that-makes-12/ two days ago on the English Wikipedia]. Today all the remaining Wikipedias followed. '''What does having phase 2 enabled here mean?''' You are now able to make use of the structured data that is available on Wikidata in your articles/infoboxes. It includes things like the symbol for a chemical element, the ISBN for a book or the top level domain of a country. (None of this will happen automatically. Someone will have to change the article or infobox template for this to happen!) The current state is just the beginning though. It will be extended based on feedback we get from you now. '''How will this work?''' There are two ways to access the data: * Use a parser function like <nowiki>{{#property:p159}}</nowiki> in the wiki text of the article on Wikimedia Foundation. This will return “[[d:Q62|San Francisco]]” as that is the [[d:Property:P159|headquarter location]] of the [[d:180|non-profit]]. * For more complicated things you can use Lua. The documentation for this is [[mw:Extension:WikibaseClient/Lua|here]]. We are working on expanding the parser function so you can for example use <nowiki>{{#property:headquarter location}}</nowiki> instead of <nowiki>{{#property:p159}}</nowiki>. The complete plan for this is [[meta:Wikidata/Notes/Inclusion syntax|here]]. '''Where can I test this?''' You can test it on [http://test2.wikipedia.org test2] if you don't want to do it in an article here. '''Where can I find more information and ask questions?''' We have collected the main questions in an [[meta:Wikidata/Deployment Questions|FAQ for this deployment]]. Please ask questions you might have on [[meta:Talk:Wikidata/Deployment Questions|the FAQ’s discussion page]]. '''I want to be kept up to date about Wikidata''' To stay up-to-date on everything happening around Wikidata please [[meta:Global message delivery/Targets/Wikidata|subscribe]] to the newsletter that is delivered weekly to subscribed user’s talk pages. We are excited about taking yet another step towards allowing all Wikipedias share structured data and collect and curate it together. --[[m:User:Lydia Pintscher (WMDE)|Lydia Pintscher]] 19:19, 24 Απρίλ 2013 (UTC) <small>Distributed via [[m:Global message delivery|Global message delivery]]. (Wrong page? [[m:Distribution list/Global message delivery|Fix here]].)</small> <!-- EdwardsBot 0431 --> == [en] Change to wiki account system and account renaming == <div class="mw-content-ltr"> Some accounts will soon be renamed due to a technical change that the developer team at Wikimedia are making. [[m:Single User Login finalisation announcement|More details on Meta]]. <small>(Distributed via [[m:global message delivery|global message delivery]] 04:03, 30 Απρίλ 2013 (UTC). Wrong page? [[m:Distribution list/Global message delivery|Correct it here]].)</small> </div> <!-- EdwardsBot 0437 --> == [en] Change to section edit links == <div class="mw-content-ltr"> The default position of the "edit" link in page section headers is going to change soon. The "edit" link will be positioned adjacent to the page header text rather than floating opposite it. Section edit links will be to the immediate right of section titles, instead of on the far right. If you're an editor of one of the wikis which already implemented this change, nothing will substantially change for you; however, scripts and gadgets depending on the previous implementation of section edit links will have to be adjusted to continue working; however, nothing else should break even if they are not updated in time. [[m:Change to section edit links|Detailed information and a timeline]] is available on meta. Ideas to do this all the way to 2009 at least. It is often difficult to track which of several potential section edit links on the far right is associated with the correct section, and many readers and anonymous or new editors may even be failing to notice section edit links at all, since they read section titles, which are far away from the links. <small>(Distributed via [[m:global message delivery|global message delivery]] 18:52, 30 Απρίλ 2013 (UTC). Wrong page? [[m:Distribution list/Global message delivery|Correct it here]].)</small> </div> <!-- EdwardsBot 0438 --> == Tech newsletter: Subscribe to receive the next editions == <div style="width:auto; padding: 1em; background:#fdf6e3;" class="plainlinks" ><big>Latest '''[[m:Tech/News|<span style="color:#268bd2;">Tech news</span>]]''' from the Wikimedia technical community.</big> ''Please inform other users about these changes.''</div> <div style="width:auto; padding: 1em; border: 2px solid #fdf6e3;" class="plainlinks" > ;Recent software changes: ''(Not all changes will affect you.)'' * The latest version of MediaWiki (version [[mw:MediaWiki 1.22/wmf4|1.22/wmf4]]) was added to non-Wikipedia wikis on May 13, and to the English Wikipedia (with a Wikidata software update) on May 20. It will be updated on all other Wikipedia sites on May 22. [https://gerrit.wikimedia.org/r/gitweb?p=operations/mediawiki-config.git;a=commitdiff;h=ed976cf0c14fa3632fd10d9300bb646bfd6fe751;hp=c6c7bb1e5caaddf7325de9eef0e7bf85bcf5cc35] [http://lists.wikimedia.org/pipermail/wikitech-l/2013-May/069458.html] * A software update will perhaps result in temporary issues with images. Please [[m:Tech/Ambassadors|report any problems]] you notice. [http://lists.wikimedia.org/pipermail/wikitech-l/2013-May/069458.html] * MediaWiki recognizes links in twelve new [[:w:en:URI scheme|schemes]]. Users can now link to [[:w:en:SSH|SSH]], [[:w:en:XMPP|XMPP]] and [[:w:en:Bitcoin|Bitcoin]] directly from wikicode. [https://gerrit.wikimedia.org/r/gitweb?p=mediawiki/core.git;a=commitdiff;h=a89d623302b5027dbb2d06941a22372948757685] * VisualEditor was added to [[bugzilla:48430|all content namespaces]] on mediawiki.org on May 20. [http://lists.wikimedia.org/pipermail/wikitech-l/2013-May/069458.html] * A new extension ("TemplateData") was added to all Wikipedia sites on May 20. It will allow a future version of VisualEditor to [[bugzilla:44444|edit templates]]. [http://lists.wikimedia.org/pipermail/wikitech-l/2013-May/069458.html] * New sites: [[:voy:el:|Greek Wikivoyage]] and [[:wikt:vec:|Venetian Wiktionary]] joined the Wikimedia family last week; the total number of project wikis is now 794. [https://gerrit.wikimedia.org/r/gitweb?p=operations/mediawiki-config.git;a=commit;h=5d7536b403730bb502580e21243f923c3b79da0e] [https://gerrit.wikimedia.org/r/gitweb?p=operations/mediawiki-config.git;a=commit;h=43c9eebdfc976333be5c890439ba1fae3bef46f7] * The logo of 18 Wikipedias was changed to [[w:en:Wikipedia:Wikipedia_logos#The_May_2010_logo|version 2.0]] in a [http://lists.wikimedia.org/pipermail/wikimedia-l/2013-May/125999.html third group of updates]. [https://gerrit.wikimedia.org/r/gitweb?p=operations/mediawiki-config.git;a=commitdiff;h=4688adbe467440eea318eecf04839fdd9ffa0565] * The [[:commons:Special:UploadWizard|UploadWizard]] on Commons now shows links to the old upload form in 55 languages ([[:bugzilla:33513|bug 33513]]). [https://gerrit.wikimedia.org/r/gitweb?p=operations/mediawiki-config.git;a=commit;h=4197fa18a22660296d0e5b84820d5ebb4cef46d4] ;Future software changes: * The next version of MediaWiki (version 1.22/wmf5) will be added to Wikimedia sites starting on May 27. [http://lists.wikimedia.org/pipermail/wikitech-l/2013-May/069458.html] * An updated version of [[mw:Echo (Notifications)|Notifications]], with new features and fewer bugs, will be added to the English Wikipedia on May 23. [http://lists.wikimedia.org/pipermail/wikitech-l/2013-May/069458.html] * The [[m:Special:MyLanguage/Single User Login finalisation announcement|final version]] of the "single user login" (which allows people to use the same username on different Wikimedia wikis) is moved to August 2013. The software will [http://lists.wikimedia.org/pipermail/wikitech-ambassadors/2013-April/000217.html automatically rename] some usernames. [http://lists.wikimedia.org/pipermail/wikitech-ambassadors/2013-May/000233.html] * A [[m:Special:MyLanguage/Flow|new discussion system]] for MediaWiki, called "Flow", is under development. Wikimedia designers need your help to inform other users, [http://unicorn.wmflabs.org/flow/ test the prototype] and discuss the interface. [http://lists.wikimedia.org/pipermail/wikitech-l/2013-May/069433.html]. * The Wikimedia Foundation is hiring people to act as links between software developers and users for VisualEditor. [http://lists.wikimedia.org/pipermail/wikitech-ambassadors/2013-May/000245.html] </div> <div style="font-size:90%; font-style:italic; background:#fdf6e3; padding:1em;">'''[[m:Tech/News|Tech news]]''' prepared by [[m:Tech/Ambassadors|tech ambassadors]] and posted by [[m:Global message delivery|Global message delivery]] • [[m:Tech/News#contribute|Contribute]] • [[m:Tech/News/2013/21|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Unsubscribe]] • 21:05, 20 Καλομηνά 2013 (UTC) </div> <div style="float:left; background:#eee8d5; border: .2em solid #dc322f; border-left: .7em solid #dc322f; padding: 1em; "><span style="color:#dc322f;font-weight:bold;">Important note:</span> This is the first edition of the [[m:Tech/News|Tech News]] weekly summaries, which help you monitor recent software changes likely to impact you and your fellow Wikimedians. '''If you want to continue to receive the next issues every week''', please '''[[m:Global message delivery/Targets/Tech ambassadors|subscribe to the newsletter]]'''. You can subscribe your personal talk page and a community page like this one. The newsletter can be [[m:Tech/News/2013/21|translated into your language]]. You can also [[m:Tech/Ambassadors|become a tech ambassador]], [[m:Tech/News|help us write the next newsletter]] and [[m:Talk:Tech/News|tell us what to improve]]. Your feedback is greatly appreciated. [[m:user:guillom|guillom]] 21:05, 20 Καλομηνά 2013 (UTC)</div> <!-- EdwardsBot 0455 --> == Updating the logo for this wiki == <div class="mw-content-ltr"> [[File:Wikipedia-logo-v2-{{CONTENTLANGUAGE}}.png|thumb|New logo]] Hello! As part of the update of Wikipedias logos to the new (2010) 3D puzzle globe version, we have noticed that your wiki's current logo is missing, outdated or with wrong translation. We are trying to help Wikipedias get a locally-adapted correct logo, by taking the technical difficulties on us, and in about a week from now we'll be replacing the current logo with the new one shown in [//commons.wikimedia.org/w/index.php?title=User:Nemo_bis/Wikipedia&oldid=97076963 this gallery, with explanation]. If the translation is wrong, or there's another error in the new logo, or the community disagrees with the update, please [[m:User:Cbrown1023/Logos|update the list of logos]] or tell us on [[m:User talk:Cbrown1023/Logos|its talk page]]. Feel free to translate this message and to move/copy/forward it where appropriate. Thanks, [[m:User:Nemo_bis|Nemo]] 13:01, 27 Καλομηνά 2013 (UTC) (<small>Distributed via [[m:Global message delivery|Global message delivery]]: wrong page? [[m:Distribution list/Global message delivery|correct the list of targets]].)</small> </div> <!-- EdwardsBot 0462 --> == Trademark discussion == Hi, apologies for posting this in English, but I wanted to alert your community to a discussion on Meta about potential changes to the Wikimedia Trademark Policy. Please translate this statement if you can. We hope that you will all participate in the discussion; we also welcome translations of the legal team’s statement into as many languages as possible and encourage you to voice your thoughts there. Please see the [[:m:Trademark practices discussion|Trademark practices discussion (on Meta-Wiki)]] for more information. Thank you! --[[:m:User:Mdennis_(WMF)|Mdennis (WMF)]] ([[:m:User talk:Mdennis_(WMF)|talk]]) <!-- EdwardsBot 0473 --> == Free Research Accounts from Leading Medical Publisher. Come and Sign up! == [[:EN:W:TWL|The Wikipedia Library]] gets Wikipedia editors free access to reliable sources that are behind paywalls. I want to alert you to our latest donation. *'''[[Cochrane Collaboration]]''' is an independent medical nonprofit organization that conducts systematic reviews of randomized controlled trials of health-care interventions, which it then publishes in the Cochrane Library. *Cochrane has generously agreed to give ''free, full-access accounts to medical editors''. Individual access would otherwise cost between $300 and $800 per account. *'''If you are active as a medical editor, come and [[WP:COCHRANE|sign up :)]]''' Cheers, [[:EN:W:User:Ocaasi|Ocaasi]] 21:17, 16 Κερασινού 2013 (UTC) <!-- EdwardsBot 0487 --> == Cochrane Library Sign-up (correct link) == My apologies for the incorrect link: You can sign up for <nowiki>[[:EN:W:Cochrane Collaboration|Cochrane Collaboration]]</nowiki> accounts at the <nowiki>[[:EN:W:WP:COCHRANE|COCHRANE sign-up page]]</nowiki>. Cheers, [[:EN:W:User:Ocaasi|Ocaasi]] 21:51, 16 Κερασινού 2013 (UTC) <!-- EdwardsBot 0488 --> == [[:m:Requests_for_comment/X!'s_Edit_Counter|X!'s Edit Counter]] == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> <small>(Sorry for writing in English. You can [[:m:Special:MyLanguage/Requests_for_comment/X!%27s_Edit_Counter/Summary|translate the proposal]].)</small> Should [[tools:~tparis/pcount|X!'s edit counter]] retain the opt-in requirement? Your input is strongly encouraged. [[:m:Requests_for_comment/X!'s_Edit_Counter|Voice your input here]].——[[:m:w:User:Cyberpower678|<span style="color:green;font-family:Neuropol">cyberpower]] [[:m:w:User talk:Cyberpower678|<sup style="color:purple;font-family:arnprior">Chat]]<sub style="margin-left:-4.4ex;color:purple;font-family:arnprior">Automation</sub> 04:54, 23 Κερασινού 2013 (UTC) :<small>Distributed via [[:m:Global message delivery|Global message delivery]]. (Wrong page? [[:m:Distribution list/Global message delivery|Fix here]].)</small> </div> <!-- EdwardsBot 0505 --> == Universal Language Selector will be enabled on 2013-07-09 == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> On July 9, 2013, [[mw:Universal Language Selector|Universal Language Selector]] (ULS) will be enabled on this wiki. The ULS provides a flexible way to configure and deliver language settings like interface language, fonts, and input methods (keyboard mappings). Making it available here is the last phase of making ULS available on all Wikimedia wikis. Please read the announcement on [[m:Announcement Universal Language Selector|Meta-Wiki]] for more information. [[m:User_talk:Siebrand|Siebrand]] 12:51, 4 Χορτοθερί 2013 (UTC) <small>(via [[m:Global message delivery|Global message delivery]]).</small> </div> <!-- EdwardsBot 0515 --> == Pywikipedia is migrating to git == Hello, Sorry for English but It's very important for bot operators so I hope someone translates this. [[mw:PWB|Pywikipedia]] is migrating to Git so after July 26, SVN checkouts won't be updated If you're using Pywikipedia you have to switch to git, otherwise you will use out-dated framework and your bot might not work properly. There is a [[mw:Manual:Pywikipediabot/Gerrit|manual]] for doing that and a [https://blog.wikimedia.org/2013/07/23/pywikipediabot-moving-to-git-on-july-26/ blog post] explaining about this change in non-technical language. If you have question feel free to ask in [[mw:Manual talk:Pywikipediabot/Gerrit]], [https://lists.wikimedia.org/mailman/listinfo/pywikipedia-l mailing list], or in the [irc://irc.freenode.net/#pywikipediabot IRC channel]. Best [[mw:User:Ladsgroup|Amir]] <small>(via [[m:Global message delivery|Global message delivery]]).</small> 13:40, 23 Χορτοθερί 2013 (UTC) <!-- EdwardsBot 0534 --> == VisualEditor and your Wikipedia == ''(Please translate this message)'' Greetings, The Wikimedia Foundation will soon turn on [[mw:VisualEditor|VisualEditor]] for all users, all the time on your Wikipedia. Right now your Wikipedia does not have any local documents on VisualEditor, and we hope that your community can change that. To find out about how you can help with translations visit the [[mw:VisualEditor/TranslationCentral|TranslationCentral for VisualEditor]] and read the easy instructions on [[mw:VisualEditor/Portal/Localization|bringing information to your Wikipedia]]. The [[mw:Help:VisualEditor/User_guide|User Guide]] and the [[mw:Help:VisualEditor/FAQ|FAQ]] are very important to have in your language. We want to find out as much as we can from you about VisualEditor and how it helps your Wikipedia, and having local pages is a great way to start. We also encourage you to [[mw:VisualEditor/Feedback|leave feedback on Mediawiki]] where the community can offer ideas, opinions, and point out bugs that may still exist in the software that need to be reported to [https://bugzilla.wikimedia.org/describecomponents.cgi?product=VisualEditor Bugzilla]. If you are able to speak for the concerns of others in English on MediaWiki or locally I encourage you to help your community to be represented in this process. If you can help translate the user interface for VisualEditor to your language, you can help with that as well. [https://translatewiki.net/w/i.php?title=Special%3AMessageGroupStats&x=D&group=ext-visualeditor#sortable:3=desc Translatewiki] has open tasks for translating VisualEditor. A direct link to translate the user interface is [https://translatewiki.net/wiki/Special:Translate?filter=!translated&action=translate&group=ext-visualeditor here]. You can see how we are doing with those translations [https://translatewiki.net/w/i.php?title=Special%3AMessageGroupStats&x=D&group=ext-visualeditor#sortable:3=desc here]. You need an account on Translatewiki to translate. This account is free and easy to create. If we can help your community in any way with this process, please let me know and I will do my best to assist your Wikipedia with this |exciting development. You can contact me on my [[m:User_talk:Keegan (WMF)|meta talk page]] or by [[Special:EmailUser/Keegan (WMF)|email]]. You can also contact [[mw:User_talk:PEarley_(WMF)|Patrick Earley]] for help with translations and documents on Mediawiki. We look forward to working with you to bring the VisualEditor experience to your Wikipedia! [[:m:User:Keegan (WMF)|Keegan (WMF)]] ([[:m:User talk:Keegan (WMF)|talk]]) 19:11, 30 Χορτοθερί 2013 (UTC) :<small>Distributed via [[:m:Global message delivery|Global message delivery]]. (Wrong page? [[:m:Distribution list/Global message delivery|Fix here]].)</small> <!-- EdwardsBot 0549 --> == HTTPS for users with an account == Greetings. Starting on August 21 (tomorrow), all users with an account will be using [[m:w:en:HTTPS|HTTPS]] to access Wikimedia sites. HTTPS brings better security and improves your privacy. More information is available at [[m:HTTPS]]. If HTTPS causes problems for you, tell us [https://bugzilla.wikimedia.org on bugzilla], [[m:IRC|on IRC]] (in the <code>#wikimedia-operations</code> channel) or [[m:Talk:HTTPS|on meta]]. If you can't use the other methods, you can also send an e-mail to <code>https@wikimedia.org</code>. [[m:User:Greg (WMF)|Greg Grossmeier]] <small>(via the [[m:Global message delivery|Global message delivery]] system)</small>. 19:34, 20 Aλωναρί 2013 (UTC) <small>(wrong page? [[m:Distribution list/Global message delivery|You can fix it.]])</small> <!-- EdwardsBot 0560 --> == [[:m:Community Logo/Request for consultation|Request for consultation on community logo]] == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> [[File:Wikimedia Community Logo.svg|thumb|Request for consultation on this community logo]] First, I’d like to apologize for the English. If you can, please help to translate this for other members of your community. The legal team at the Wikimedia Foundation would greatly appreciate your input on the best way to manage the "community logo" (pictured here) to best balance protection of the projects with community support. Accordingly, they have created a “request for consultation” on Meta where they set out briefly some of the issues to be considered and the options that they perceive. [[:m:Community Logo/Request for consultation|Your input would be invaluable]] in helping guide them in how best to serve our mission. Thank you! --[[m:User:Mdennis|Mdennis]] ([[m:User talk:Mdennis|talk]]) <small>(via the [[m:Global message delivery|Global message delivery]] system)</small>. 03:03, 24 Σταυρί 2013 (UTC) <small>(wrong page? [[m:Distribution list/Global message delivery|You can fix it.]])</small> </div> <!-- EdwardsBot 0590 --> == [[mw:Echo|Notifications]] == [[File:Notifications-Flyout-Screenshot-08-10-2013-Cropped.png|thumb|300px|Notifications inform you of new activity that affects you -- and let you take quick action.]] ''(This message is in English, please translate as needed)'' Greetings! [[mw:Echo|Notifications]] will inform users about new activity that affects them on this wiki in a unified way: for example, this new tool will let you know when you have new talk page messages, edit reverts, mentions or links -- and is designed to augment (rather than replace) the watchlist. The Wikimedia Foundation's editor engagement team developed this tool (code-named 'Echo') earlier this year, to help users contribute more productively to MediaWiki projects. We're now getting ready to bring Notifications to almost all other Wikimedia sites, and are aiming for a 22 October deployment, as outlined in [[mw:Echo/Release_Plan_2013|this release plan]]. It is important that notifications is translated for all of the languages we serve. There are three major points of translation needed to be either done or checked: *[https://translatewiki.net/w/i.php?title=Special%3AMessageGroupStats&x=D&group=ext-echo#sortable:3=desc Echo on translatewiki for user interface] - you must have an account on translatewiki to translate *[https://translatewiki.net/w/i.php?title=Special%3AMessageGroupStats&x=D&group=ext-thanks#sortable:3=desc Thanks on translatewiki for user interface] - you must have an account on translatewiki to translate *[[mw:Help:Notifications|Notifications help on mediawiki.org]]. This page can be hosted after translation on mediawiki.org or we can localize it to this Wikipedia. You do not have to have an account to translate on mediawiki, but single-user login will create it for you there if you follow the link. :*[[mw:Echo/Release Plan 2013#Checklist|Checklist]] Please let us know if you have any questions, suggestions or comments about this new tool. For more information, visit [[mw:Echo_(Notifications)|this project hub]] and [[mw:Help:Notifications|this help page]]. [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) 19:07, 4 Τρυγομηνά 2013 (UTC) :<small>(via the [[m:Global message delivery|Global message delivery]] system) (wrong page? [[m:Distribution list/Global message delivery|You can fix it.]])</small> <!-- EdwardsBot 0597 --> == Speak up about the trademark registration of the Community logo. == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hi all, Please join the consultation about the Community logo that represents Meta-Wiki: [[:m:Community Logo/Request for consultation]]. This community consultation was commenced on September 24. The following day, two individuals filed a legal opposition against the registration of the Community logo. The question is whether the Wikimedia Foundation should seek a collective membership mark with respect to this logo or abandon its registration and protection of the trademark. We want to make sure that everyone get a chance to speak up so that we can get clear direction from the community. We would therefore really appreciate the community's help in translating this announcement from English so that everyone is able to understand it. Thanks, [[m:User:Geoffbrigham|Geoff]] & [[m:User:YWelinder (WMF)|Yana]] 20:43, 8 Τρυγομηνά 2013 (UTC) </div> <!-- EdwardsBot 0601 --> == Introducting Beta Features == <div lang="en" dir="ltr" class="mw-content-ltr"> ''(Apologies for writing in English. Please translate if necessary)'' We would like to let you know about [[mw:About_Beta_Features|Beta Features]], a new program from the Wikimedia Foundation that lets you try out new features before they are released for everyone. Think of it as a digital laboratory where community members can preview upcoming software and give feedback to help improve them. This special preference page lets designers and engineers experiment with new features on a broad scale, but in a way that's not disruptive. Beta Features is now ready for testing on [[mw:Special:Preferences#mw-prefsection-betafeatures|MediaWiki.org]]. It will also be released on Wikimedia Commons and MetaWiki this Thursday, 7 November. Based on test results, the plan is to release it on all wikis worldwide on 21 November, 2013. Here are the first features you can test this week: * [[mw:Multimedia/About_Media_Viewer|Media Viewer]] — view images in large size or full screen * [[mw:VisualEditor/Beta_Features/Formulae|VisualEditor Formulæ]] (for wikis with [[mw:VisualEditor|VisualEditor]]) — edit algebra or equations on your pages * [[mw:Typography_Update|Typography Refresh]] — make text more readable (coming Thursday) Would you like to try out Beta Features now? After you log in on MediaWiki.org, a small 'Beta' link will appear next to your 'Preferences'. Click on it to see features you can test, check the ones you want, then click 'Save'. Learn more on the [[mw:About_Beta_Features|Beta Features page]]. After you've tested Beta Features, please let the developers know what you think on [[mw:Talk:About_Beta_Features|this discussion page]] -- or report any bugs [http://wmbug.com/new?product=MediaWiki%20extensions&component=BetaFeatures here on Bugzilla]. You're also welcome to join [[m:IRC_office_hours#Upcoming_office_hours|this IRC office hours chat]] on Friday, 8 November at 18:30 UTC. Beta Features was developed by the Wikimedia Foundation's Design, Multimedia and VisualEditor teams. Along with other developers, they will be adding new features to this experimental program every few weeks. They are very grateful to all the community members who helped create this project — and look forward to many more productive collaborations in the future. Enjoy, and don't forget to let developers know what you think! [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) 20:30, 5 Αεργί 2013 (UTC) :<small>Distributed via [[m:Global message delivery|Global message delivery]] (wrong page? [[m:Distribution list/Global message delivery|Correct it here]])</small>, 20:30, 5 Αεργί 2013 (UTC) </div> <!-- EdwardsBot 0622 --> == Call for comments on draft trademark policy == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hi all, The Wikimedia legal team invites you to participate in the development of the new Wikimedia trademark policy. The [[:wmf:Trademark policy|current trademark policy]] was introduced in 2009 to protect the [[:wmf:Wikimedia trademarks|Wikimedia marks]]. We are now updating this policy to better balance permissive use of the marks with the legal requirements for preserving them for the community. The new draft trademark policy is ready for your review [[:m:Trademark policy|here]], and we encourage you to discuss it [[:m:Talk:Trademark policy|here]]. We would appreciate if someone would translate this message into your language so more members of your community can contribute to the conversation. Thanks, <br /> [[:m:User:YWelinder (WMF)|Yana]] & [[:m:User:Geoffbrigham|Geoff]] </div> <!-- EdwardsBot 0657 --> == ΠΩΣ ΛΕΓΝΕ ΤΟ ΦΛΑΣ Τ' ΑΥΤΟΚΙΝΗΤΙ ΣΑ ΠΟΝΤΙΑΚΑ == Πύρ γαρέρ τσιάμπλισμα τ' οματί ( ή τη φενερί ) τ' αυτοκινητί επαναλαμβανόμενο ανοιγοκλείσιμο του ματιού ( ή του φαναριού ) του αυτοκινήτου ΘΕΟΔΟΣΙΑΔΗΣ ΙΩΑΝΝΗΣ π. Πρόεδρος του συλλόγου Ποντίων Έδεσσας << Ο Άγιος Θεόδωρος Γαβράς >> Η ηλεκτρονική μου διεύθυνση : Akrania26@gmail.com == Request for comment on Commons: Should Wikimedia support MP4 video? == ''I apologize for this message being only in English. Please translate it if needed to help your community.'' The Wikimedia Foundation's [[mw:Multimedia|multimedia team]] seeks community guidance on a proposal to support the [[w:MP4|MP4 video format]]. This digital video standard is used widely around the world to record, edit and watch videos on mobile phones, desktop computers and home video devices. It is also known as [[w:MP4|H.264/MPEG-4 or AVC]]. Supporting the MP4 format would make it much easier for our users to view and contribute video on Wikipedia and Wikimedia projects -- and video files could be offered in dual formats on our sites, so we could continue to support current open formats (WebM and Ogg Theora). However, MP4 is a patent-encumbered format, and using a proprietary format would be a departure from our current practice of only supporting open formats on our sites -- even though the licenses appear to have acceptable legal terms, with only a small fee required. We would appreciate your guidance on whether or not to support MP4. Our Request for Comments presents views both in favor and against MP4 support, based on opinions we’ve heard in our discussions with community and team members. [[commons:Commons:Requests for comment/MP4 Video|Please join this RfC -- and share your advice]]. All users are welcome to participate, whether you are active on Commons, Wikipedia, other Wikimedia project -- or any site that uses content from our free media repository. You are also welcome to join tomorrow's [[m:IRC_office_hours#Upcoming_office_hours|Office hours chat on IRC]], this Thursday, January 16, at 19:00 UTC, if you would like to discuss this project with our team and other community members. We look forward to a constructive discussion with you, so we can make a more informed decision together on this important topic. [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) 06:46, 16 Καλανταρί 2014 (UTC) <!-- Message sent by User:Keegan (WMF)@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/MP4_notice_targets&oldid=7105580 --> == Conversions between Writing Systems / Συστήματα για την ορθογραφία της ποντιακής == Η Βικιπάιδειες στα βλαχικά, σερβικά, κινέζικα, κ.α. έχουν σύστημα όπου εύκολα μπορεί κανείς να αλλάξει μεταξύ δύο ή παραπάνω συστήματα γραφής. Αφού η ποντιακή γλώσσα δεν έχει μια γενική επίσημη γραφή, μπορούμε και εμείς να βάλουμε αυτό το σύστημα εδώ; Έτσι, θα μπορούσαμε να αλλάξουμε μεταξύ: ντ/τ̇ - μπ/π̇ - γκ/κ̇ - δ'/δ̦ σ̱/σ̌/ς - τσ/τ̵ - τσ̱/τσ̌/τ̌ - εα/α̈ - εο/ο̈ (και όσα άλλα υπάρχουν) Πιστεύω θα ήταν εύκολο στην εφαρμογή και θα βοηθούσε πολύ επειδή τώρα πολλές φορές δεν διευκρινίζονται μερικά γράμματα. Συχνά οι φθόγγοι [ʃ], [ʒ], [ts], [tʃ], [æ], [ø], και ιδιαίτερα το [ðʲ] δεν φαίνονται καθόλου. Αφού και το [ðʲ] που μερικοί το γράφουν με <δ̦> δεν το βρίσκω πουθενά στην Βικιπαίδεια και ας είναι συχνό φθόγγο, π.χ. στη λέξη απίδ̦ == Universal Language Selector will be enabled by default again on this wiki by 21 February 2014 == <div class="mw-content-ltr" lang="en" dir="ltr"> On January 21 2014 the MediaWiki extension [[mw:Universal Language Selector|Universal Language Selector]] (ULS) was [[mw:Universal Language Selector/Announcement Jan2014|disabled]] on this wiki. A new preference was added for logged-in users to turn on ULS. This was done to prevent slow loading of pages due to ULS webfonts, a behaviour that had been observed by the Wikimedia Technical Operations team on some wikis. We are now ready to enable ULS again. The temporary preference to enable ULS will be removed. A [[commons:File:ULS-font-checkbox.png|new checkbox]] has been added to the Language Panel to enable/disable font delivery. This will be unchecked by default for this wiki, but can be selected at any time by the users to enable webfonts. This is an interim solution while we improve the feature of webfonts delivery. You can read the [[mw:Universal Language Selector/Announcement Feb2014|announcement]] and the [[mw:Universal Language Selector/Upcoming Development Plan|development plan]] for more information. Apologies for writing this message only in English. Thank you. [[m:User_talk:Runab WMF|Runa]] </div> <!-- Message sent by User:Runab WMF@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/ULS_Reenable_2014&oldid=7490703 --> == Amendment to the Terms of Use == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hello all, Please join a discussion about a [[:m:Terms of use/Paid contributions amendment|proposed amendment]] to the [[wmf:Terms of Use|Wikimedia Terms of Use]] regarding undisclosed paid editing and we encourage you to voice your thoughts there. Please translate this statement if you can, and we welcome you to translate the proposed amendment and introduction. Please see [[:m:Terms of use/Paid contributions amendment|the discussion on Meta Wiki]] for more information. Thank you! [[:m:User:Slaporte (WMF)|Slaporte (WMF)]] 22:00, 21 Κούντουρονος 2014 (UTC) </div> <!-- Message sent by User:Jalexander@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=7499312 --> == Call for project ideas: funding is available for community experiments == <div lang="en" dir="ltr" class="mw-content-ltr"> [[File:IEG_key_blue.png|100px|right]] ''I apologize if this message is not in your language. Please help translate it.'' Do you have an idea for a project that could improve your community? [[m:Grants:IEG|Individual Engagement Grants]] from the Wikimedia Foundation help support individuals and small teams to organize experiments for 6 months. You can get funding to try out your idea for online community organizing, outreach, tool-building, or research to help make {{SITENAME}} better. In March, we’re looking for new project proposals. Examples of past Individual Engagement Grant projects: *[[m:Grants:IEG/Build_an_effective_method_of_publicity_in_PRChina|Organizing social media for Chinese Wikipedia]] ($350 for materials) *[[m:Grants:IEG/Visual_editor-_gadgets_compatibility|Improving gadgets for Visual Editor]] ($4500 for developers) *[[m:Grants:IEG/The_Wikipedia_Library|Coordinating access to reliable sources for Wikipedians]] ($7500 for project management, consultants and materials) *[[m:Grants:IEG/Elaborate_Wikisource_strategic_vision|Building community and strategy for Wikisource]] (€10000 for organizing and travel) '''[[m:Grants:IEG#ieg-applying|Proposals]] are due by 31 March 2014.''' There are a number of ways to [[m:Grants:IEG|get involved]]! Hope to have your participation, --[[m:User:Sbouterse (WMF)|Siko Bouterse, Head of Individual Engagement Grants, Wikimedia Foundation]] 19:44, 28 Κούντουρονος 2014 (UTC) </div> <!-- Message sent by User:AKoval (WMF)@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=IEG/MassMessageList&oldid=7675744 --> == Proposed optional changes to Terms of Use amendment == <div lang="en" dir="ltr" class="mw-content-ltr">Hello all, in response to some community comments in the discussion on the amendment to the Terms of Use on undisclosed paid editing, we have prepared two optional changes. Please [[m:Terms_of_use/Paid_contributions_amendment#Optional_changes|read about these optional changes on Meta wiki]] and share your comments. If you can (and this is a non english project), please translate this announcement. Thanks! [[m:User:Slaporte (WMF)|Slaporte (WMF)]] 21:56, 13 Μαρτ 2014 (UTC) </div> <!-- Message sent by User:Jalexander@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=7592057 --> == Catalan Culture Challenge == I apologize if this message is not in your language. Please help translate it. The Catalan-speaking world... Want to find out more? From March 16 to April 15 we will organise the [[:en:Wikipedia:Catalan culture challenge|Catalan Culture Challenge]], a Wikipedia editing contest in which victory will go to those who start and improve the greatest number of articles about 50 key figures of Catalan culture. You can take part by creating or expanding articles on these people in your native language (or any other one you speak). It would be lovely to have you on board. :-) We look forward to seeing you! [[:m:Amical Wikimedia|Amical Wikimedia]]--[[Χρήστες:Kippelboy|Kippelboy]] ([[Καλάτσεμαν χρήστε:Kippelboy|talk]]) 05:56, 16 Μαρτ 2014 (UTC) == Changes to the default site typography coming soon == <div lang="en" dir="ltr" class="mw-content-ltr"> This week, the typography on Wikimedia sites will be updated for all readers and editors who use the default "Vector" skin. This change will involve new serif fonts for some headings, small tweaks to body content fonts, text size, text color, and spacing between elements. The schedule is: * '''April 1st''': non-Wikipedia projects will see this change live * '''April 3rd''': Wikipedias will see this change live This change is very similar to the "Typography Update" Beta Feature that has been available on Wikimedia projects since November 2013. After several rounds of testing and with feedback from the community, this Beta Feature will be disabled and successful aspects enabled in the default site appearance. Users who are logged in may still choose to use another skin, or alter their [[Special:MyPage/vector.css|personal CSS]], if they prefer a different appearance. Local [[MediaWiki:Common.css|common CSS]] styles will also apply as normal, for issues with local styles and scripts that impact all users. For more information: * [[mw:Typography refresh|Summary of changes and FAQ]] * [[mw:Talk:Typography refresh|Discussion page]] for feedback or questions * [https://blog.wikimedia.org/2014/03/27/typography-refresh/ Post] on blog.wikimedia.org -- [[m:User:Steven (WMF)|Steven Walling]] (Product Manager) on behalf of the Wikimedia Foundation's [[mw:Design|User Experience Design]] team </div> <!-- Message sent by User:Steven (WMF)@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=7990801 --> == No one needs free knowledge in Esperanto == There is a [[:de:Wikipedia Diskussion:Kurier#.E2.80.9ENiemand braucht freies Wissen auf Esperanto.E2.80.9C|current discussion]] on German Wikipedia on a decision of Asaf Bartov, Head of WMF Grants and Global South Partnerships, Wikimedia Foundation, who rejected a request for funding a proposal from wikipedians from eowiki one year ago with the explanation ''[[:meta:Grants_talk:PEG/KuboF_-_Esperanto_kaj_Libera_Scio/WikiTrans_training_and_work_session_2013#An_Esperanto_Wikipedia_does_not_advance_our_mission|the existence, cultivation, and growth of the Esperanto Wikipedia does not advance our educational mission. No one needs free knowledge in Esperanto]]''. On meta there has also started a discussion about that decision. --[[Χρήστες:Holder|Holder]] ([[Καλάτσεμαν χρήστε:Holder|talk]]) 10:46, 5 Καλομηνά 2014 (UTC) == Using only [[commons:Special:MyLanguage/Commons:Upload Wizard|UploadWizard]] for uploads == [[Image:Commons-logo.svg|right|220px|alt=Wikimedia Commons logo]] <div lang="en" dir="ltr" class="mw-content-ltr"> Hello! It was noted that on this wiki you have [[Special:Statistics|less than 10 local files]]. Presumably, you therefore don't have interest nor energies to have [[commons:Category:Licensing templates|hundreds templates]] with the [[mw:Multimedia/Media Viewer/Template compatibility|now required HTML]], even less a local [[m:EDP|EDP]]. However, this means that users here will experience a mostly broken and/or [[wmf:Resolution:Licensing policy|illegal]] uploading. I propose to * '''have [[Special:Upload|local upload]] [[commons:Commons:Turning off local uploads|restricted]]''' to the "{{int:group-sysop}}" group (for emergency uploads) and * the '''sidebar point to [[commons:Special:UploadWizard]]''', so that you can avoid local maintenance and all users can have a functioning, easy upload interface [[translatewiki:Special:Translate/ext-uploadwizard|in their own language]]. All registered users can upload on Commons and [[Special:ListFiles|existing files]] will not be affected. I'll get this done in one week from now. # If you disagree with the proposal, just [[m:User:Nemo bis/Unused local uploads|remove your wiki from the list]]. # To make the UploadWizard even better, please tell your experience and ideas on [[commons:Commons:Upload Wizard feedback]]. [[m:User:Nemo_bis|Nemo]] 20:38, 19 Καλομηνά 2014 (UTC) </div> <!-- Message sent by User:Nemo bis@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=User_talk:Nemo_bis/Unused_local_uploads&oldid=8578536 --> == Media Viewer == <br> <div lang="en" dir="ltr" class="mw-content-ltr"> Greetings, my apologies for writing in English. I wanted to let you know that [[mw:Multimedia/About Media Viewer|Media Viewer]] will be released to this wiki in the coming weeks. Media Viewer allows readers of Wikimedia projects to have an enhanced view of files without having to visit the file page, but with more detail than a thumbnail. You can try Media Viewer out now by turning it on in your [[Special:Preferences#mw-prefsection-betafeatures|Beta Features]]. If you do not enjoy Media Viewer or if it interferes with your work after it is turned on you will be able to disable Media Viewer as well in your [[Special:Preferences#mw-prefsection-rendering|preferences]]. I invite you to [[mw:Talk:Multimedia/About Media Viewer|share what you think]] about Media Viewer and how it can be made better in the future. Thank you for your time. - [[m:User:Keegan (WMF)|Keegan (WMF)]] 21:29, 23 Καλομηνά 2014 (UTC) <small>--This message was sent using [[m:MassMessage|MassMessage]]. Was there an error? [[m:Talk:MassMessage|Report it!]]</small> </div> </br> <!-- Message sent by User:Keegan (WMF)@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/MassMessage/Multimedia/Media_Viewer&oldid=8631315 --> == Media Viewer is now live on this wiki == <br> <div lang="en" dir="ltr" class="mw-content-ltr"> [[File:Media_Viewer_Desktop_-_Large_Image_Opaque_Info.png|thumb|Media Viewer lets you see images in larger size]] Greetings— and sorry for writing in English, please translate if it will help your community, The Wikimedia Foundation's [[mw:Multimedia|Multimedia team]] is happy to announce that [[mw:Multimedia/About Media Viewer|Media Viewer]] was just released on this site today. Media Viewer displays images in larger size when you click on their thumbnails, to provide a better viewing experience. Users can now view images faster and more clearly, without having to jump to separate pages — and its user interface is more intuitive, offering easy access to full-resolution images and information, with links to the file repository for editing. The tool has been tested extensively across all Wikimedia wikis over the past six months as a [[Special:Preferences#mw-prefsection-betafeatures|Beta Feature]] and has been [[mw:Multimedia/Media_Viewer/Release_Plan#Timeline|released]] to the largest Wikipedias, all language Wikisources, and the English Wikivoyage already. If you do not like this feature, you can easily turn it off by clicking on "Disable Media Viewer" at the bottom of the screen, pulling up the information panel (or in your [[Special:Preferences#mw-prefsection-rendering|your preferences]]) whether you have an account or not. Learn more [[mw:Help:Multimedia/Media_Viewer#How_can_I_turn_off_this_feature.3F|in this Media Viewer Help page]]. Please let us know if you have any questions or comments about Media Viewer. You are invited to [[mw:Talk:Multimedia/About_Media_Viewer|share your feedback in this discussion on MediaWiki.org]] in any language, to help improve this feature. You are also welcome to [https://www.surveymonkey.com/s/media-viewer-1-all?c=announce-all take this quick survey in English], [https://www.surveymonkey.com/s/media-viewer-1-fr en français], [https://www.surveymonkey.com/s/media-viewer-1-es o español]. We hope you enjoy Media Viewer. Many thanks to all the community members who helped make it possible. - [[mw:User:Fabrice Florin (WMF)|Fabrice Florin (WMF)]] ([[m:User talk:Fabrice Florin (WMF)|talk]]) 21:54, 19 Κερασινού 2014 (UTC) <small>--This message was sent using [[m:MassMessage|MassMessage]]. Was there an error? [[m:Talk:MassMessage|Report it!]]</small> </div> <!-- Message sent by User:Keegan (WMF)@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/MassMessage/Multimedia/Media_Viewer&oldid=8631315 --> ==Απόδοση από Νέα Ελληνικά== Γεια. Αν κάποιος έχει τη διάθεση, θα ήθελα να με βοηθήσει να αποδόσω 2 παραγράφους για μια αθλητική ομάδα από τα Νέα Ελληνικά. [[Χρήστες:Xaris333|Xaris333]] ([[Καλάτσεμαν χρήστε:Xaris333|talk]]) 23:54, 11 Aλωναρί 2014 (UTC) == Letter petitioning WMF to reverse recent decisions == The Wikimedia Foundation recently created a new feature, "superprotect" status. The purpose is to prevent pages from being edited by elected administrators -- but permitting WMF staff to edit them. It has been put to use in only one case: to protect the deployment of the Media Viewer software on German Wikipedia, in defiance of a clear decision of that community to disable the feature by default, unless users decide to enable it. If you oppose these actions, please add your name to this letter. If you know non-Wikimedians who support our vision for the free sharing of knowledge, and would like to add their names to the list, please ask them to sign an identical version of the letter on change.org. * [[:m:Letter to Wikimedia Foundation: Superprotect and Media Viewer|Letter to Wikimedia Foundation: Superprotect and Media Viewer]] * [http://www.change.org/p/lila-tretikov-remove-new-superprotect-status-and-permit-wikipedia-communities-to-enact-current-software-decisions-uninhibited Letter on change.org] -- [[:m:User:JurgenNL|JurgenNL]] ([[:m:User talk:JurgenNL|talk]]) 17:35, 21 Aλωναρί 2014 (UTC) <!-- Message sent by User:JurgenNL@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=9313374 --> == Process ideas for software development == <div class=”mw-content-ltr”> ’’My apologies for writing in English.’’ Hello, I am notifying you that a brainstorming session has been [[:m:Community Engagement (Product)/Process ideas|started on Meta]] to help the Wikimedia Foundation increase and better affect community participation in software development across all wiki projects. Basically, how can you be more involved in helping to create features on Wikimedia projects? We are inviting all interested users to voice their ideas on how communities can be more involved and informed in the product development process at the Wikimedia Foundation. It would be very appreciated if you could translate this message to help inform your local communities as well. I and the rest of [[:m:Community Engagement (Product)|my team]] welcome you to participate. We hope to see you on Meta. Kind regards, -- [[m:User:Rdicerb (WMF)|Rdicerb (WMF)]] [[m:User talk:Rdicerb (WMF)|talk]] 22:15, 21 Aλωναρί 2014 (UTC) <small>--This message was sent using [[m:MassMessage|MassMessage]]. Was there an error? [[m:Talk:MassMessage|Report it!]]</small> </div> <!-- Message sent by User:Keegan (WMF)@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=9313374 --> == Grants to improve your project == :''Apologies for English. Please help translate this message.'' Greetings! The [[:m:Grants:IEG|Individual Engagement Grants program]] is accepting proposals for funding new experiments from September 1st to 30th. Your idea could improve Wikimedia projects with a new tool or gadget, a better process to support community-building on your wiki, research on an important issue, or something else we haven't thought of yet. Whether you need $200 or $30,000 USD, Individual Engagement Grants can cover your own project development time in addition to hiring others to help you. *'''[[:m:Grants:IEG#ieg-apply|Submit your proposal]]''' *'''Get help''': In [[:m:Grants:IdeaLab|IdeaLab]] or an upcoming [[:m:Grants:IdeaLab/Events#Upcoming_events|Hangout session]] [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|talk]]) 16:52, 2 Σταυρί 2014 (UTC) <!-- Message sent by User:PEarley (WMF)@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=User:PEarley_(WMF)/Sandbox&oldid=9730503 --> == Change in renaming process == ''Part or all of this message may be in English. Please help translate if possible.'' <div class="plainlinks mw-content-ltr" lang="en" dir="ltr">[[:m:Single User Login finalisation announcement|Single-user login (SUL) finalisation]]'s goal is so that every Wikimedia editor has a single, recognized global account with one username across all projects. As you may know, after a long delay, it's now underway as an effort between [[m:bureaucrat|bureaucrat]]s, [[m:stewards|stewards]], and Wikimedia Foundation engineers. This will also allow for development of cross-wiki tools like global notifications and watchlists. '''There is no set date for the completion of single-user login finalization at this time.''' The process involves changing all rename processes into one global renaming process. The ability for local bureaucrats to rename users on this wiki will be turned off on Monday, 15 September 2014, as one of the first steps. [[:m:Global renamers|Global renamers]] are in the process of being created to make sure projects and languages are represented by the time this occurs. I sent a note to every bureaucrat about this process three weeks ago with an invitation to participate and many have begun [[:m:SRGP|requesting]] to be a part of the group. Together with the stewards, the global renamers will be empowered to help editors work through the often difficult process of getting a global name. In parting, visit [[Special:MergeAccount]] to unify your account if you have never done so. If your local pages about renaming still need to be updated, please do so and consider pointing people to [[:m:SRUC]] for future rename requests, especially if this project does not have bureaucrats that hold global renamer permissions. If you have any questions, you can read more on [[:m:Help:Unified login|the help page on Meta]]. You can also follow the technical progress [[:mw:SUL finalisation|on mediawiki.org]]. [[:m:User talk:Keegan (WMF)|Contact me on Meta]] any time with questions as well. Thank you for your time.</div> -- [[:m:User:Keegan (WMF)|User:Keegan (WMF)]] ([[:m:User talk:Keegan (WMF)|talk]]) 16:23, 9 Σταυρί 2014 (UTC) <!-- Message sent by User:Keegan (WMF)@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/MassMessage/Crats/Pumps&oldid=9804310 --> == VisualEditor available on Internet Explorer 11 == <div class="mw-content-ltr" lang="en" dir="ltr"> [[File:VisualEditor-logo.svg|right|frameless|200x200px]] VisualEditor will become available to users of Microsoft Internet Explorer 11 during today's regular software update. Support for some earlier versions of Internet Explorer is being worked on. If you encounter problems with VisualEditor on Internet Explorer, please contact the Editing team by leaving a message at [[:mw:VisualEditor/Feedback|VisualEditor/Feedback]] on Mediawiki.org. Happy editing, [[:mw:User:Elitre (WMF)|Elitre (WMF)]] 07:29, 11 Σταυρί 2014 (UTC). PS. Please subscribe to the [[:m:VisualEditor/Newsletter|global monthly newsletter]] to receive further news about VisualEditor. </div> <!-- Message sent by User:Elitre (WMF)@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/VisualEditor/All_Wikipedias&oldid=9829651 --> == Meta RfCs on two new global groups == <div lang="en" dir="ltr" class="mw-content-ltr">Hello all, There are currently requests for comment open on meta to create two new global groups. The first is a group for members of the OTRS permissions queue, which would grant them autopatrolled rights on all wikis except those who opt-out. That proposal can be found at [[m:Requests for comment/Creation of a global OTRS-permissions user group]]. The second is a group for Wikimedia Commons admins and OTRS agents to view deleted file pages through the 'viewdeletedfile' right on all wikis except those who opt-out. The second proposal can be found at [[m:Requests for comment/Global file deletion review]]. We would like to hear what you think on both proposals. Both are in English; if you wanted to translate them into your native language that would also be appreciated. It is possible for individual projects to opt-out, so that users in those groups do not have any additional rights on those projects. To do this please start a local discussion, and if there is consensus you can request to opt-out of either or both at [[m:Stewards' noticeboard]]. Thanks and regards, [[m:User:Ajraddatz|Ajraddatz]] ([[m:User talk:Ajraddatz|talk]]) 18:04, 26 Τρυγομηνά 2014 (UTC)</div> <!-- Message sent by User:Ajraddatz@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=10024331 --> == [[:en:Languages in censuses|Languages in censuses]] == Hello, Dear wikipedians. I invite you to edit and improve this article and to add information about your and other country.--[[Χρήστες:Kaiyr|Kaiyr]] ([[Καλάτσεμαν χρήστε:Kaiyr|talk]]) 12:35, 31 Τρυγομηνά 2014 (UTC) == New Wikipedia Library Accounts Now Available (November 2014) == <div lang="en" dir="ltr" class="mw-content-ltr"> ''Apologies for writing in English, please help translate this into your local language.'' Hello Wikimedians! [[File:Wikipedia_Library_owl.svg|thumb|150px|The TWL OWL says sign up today :)]] [[m:The Wikipedia Library|The Wikipedia Library]] is announcing signups today for, free, full-access accounts to published research as part of our [[m:The_Wikipedia_Library/Journals|Publisher Donation Program]]. You can sign up for: *'''DeGruyter''': 1000 new accounts for English and German-language research. Sign up on one of two language Wikipedias: **[[w:en:Wikipedia:De_Gruyter|English signup]] **[[w:de:Wikipedia:De_Gruyter|Deutsch signup]] *'''[[w:en:Wikipedia:Fold3|Fold3]]''': 100 new accounts for American history and military archives *'''[[w:en:Wikipedia:ScotlandsPeople|Scotland's People]]''': 100 new accounts for Scottish genealogy database *'''[[w:en:Wikipedia:BNA|British Newspaper Archive]]''': expanded by 100+ accounts for British newspapers *'''[[w:en:Wikipedia:HighBeam|Highbeam]]''': 100+ remaining accounts for newspaper and magazine archives *'''[[w:en:Wikipedia:Questia| Questia]]''': 100+ remaining accounts for journal and social science articles *'''[[w:en:Wikipedia:JSTOR|JSTOR]]''': 100+ remaining accounts for journal archives Do better research and help expand the use of high quality references across Wikipedia projects: sign up today! <br>--[[w:en:Wikipedia:TWL/Coordinators|The Wikipedia Library Team]].23:19, 5 Αεργί 2014 (UTC) :''You can host and coordinate signups for a Wikipedia Library branch in your own language. Please contact [[m:User:Ocaasi_(WMF)|Ocaasi (WMF)]].''<br> :<small>This message was delivered via the [https://meta.wikimedia.org/wiki/MassMessage#Global_message_delivery Global Mass Message] to [https://meta.wikimedia.org/wiki/Global_message_delivery/Targets/Wikipedia_Library The Wikipedia Library Global Delivery List].</small> </div> <!-- Message sent by User:Sadads@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikipedia_Library&oldid=9909230 --> == Global AbuseFilter == <div lang="en" dir="ltr" class="mw-content-ltr">Hello, [[mw:Special:MyLanguage/Extension:AbuseFilter|AbuseFilter]] is a MediaWiki extension used to detect likely abusive behavior patterns, like pattern vandalism and spam. In 2013, [[m:Special:Mylanguage/Global AbuseFilter|Global AbuseFilters]] were enabled on a limited set of wikis including Meta-Wiki, MediaWiki.org, Wikispecies and (in early 2014) all the "[https://noc.wikimedia.org/conf/highlight.php?file=small.dblist small wikis]". Recently, global abuse filters were enabled on "[https://noc.wikimedia.org/conf/highlight.php?file=medium.dblist medium sized wikis]" as well. These filters are currently managed by stewards on Meta-Wiki and have shown to be very effective in preventing mass spam attacks across Wikimedia projects. However, there is currently no policy on how the global AbuseFilters will be managed although there are proposals. There is an ongoing [[m:Requests for comment/Global AbuseFilter|request for comment]] on policy governing the use of the global AbuseFilters. In the meantime, specific wikis can opt out of using the global AbuseFilter. These wikis can simply add a request to [[m:Global AbuseFilter/Opt-out wikis|this list]] on Meta-Wiki. More details can be found on [[m:Special:Mylanguage/Global AbuseFilter/2014 announcement|this page]] at Meta-Wiki. If you have any questions, feel free to ask on [[m:Talk:Global AbuseFilter|m:Talk:Global AbuseFilter]]. Thanks, [[m:User:PiRSquared17|PiRSquared17]], [[m:User:Glaisher|Glaisher]]</div> — 17:36, 14 Αεργί 2014 (UTC) <!-- Message sent by User:Glaisher@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Global_AbuseFilter/2014_announcement_distribution_list&oldid=10495115 --> == New Wikipedia Library Accounts Now Available (December 2014) == <div lang="en" dir="ltr" class="mw-content-ltr"> ''Apologies for writing in English, please help translate this into your local language.'' Hello Wikimedians! [[File:Wikipedia_Library_owl.svg|thumb|150px|The TWL OWL says sign up today :)]] [[m:The Wikipedia Library|The Wikipedia Library]] is announcing signups today for, free, full-access accounts to published research as part of our [[m:The_Wikipedia_Library/Journals|Publisher Donation Program]]. You can sign up for new accounts and research materials from: *[[w:en:WP:ELSEVIER|Elsevier]] - science and medicine journals and books *[[w:en:WP:RSC Gold|Royal Society of Chemistry]] - chemistry journals *[[w:en:wp:Pelican Books|Pelican Books]] - ebook monographs *[[w:en:WP:Public Catalogue Foundation|Public Catalogue Foundation]]- art books Other partnerships with accounts available are listed on [[w:en:WP:The_Wikipedia_Library/Journals|our partners page]]. Do better research and help expand the use of high quality references across Wikipedia projects: sign up today! <br>--[[w:en:Wikipedia:TWL/Coordinators|The Wikipedia Library Team]].00:22, 18 Χριστουγενναρί 2014 (UTC) :''You can host and coordinate signups for a Wikipedia Library branch in your own language. Please contact [[m:User:Ocaasi_(WMF)|Ocaasi (WMF)]].''<br> :<small>This message was delivered via the [https://meta.wikimedia.org/wiki/MassMessage#Global_message_delivery Global Mass Message] tool to [https://meta.wikimedia.org/wiki/Global_message_delivery/Targets/Wikipedia_Library The Wikipedia Library Global Delivery List].</small> </div> <!-- Message sent by User:Sadads@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikipedia_Library&oldid=10542996 --> == ΣΗΜΑΝΤΙΚΟ: Επιθεώρηση δραστηριότητας διαχειριστών == Χαίρετε! Μία πολιτική για την αφαίρεση «ανώτερων δικαιωμάτων» (διαχειριστής, γραφειοκράτης, κτλ) υιοθετήθηκε με [[:m:Requests for comment/Activity levels of advanced administrative rights holders|συναίνεση της παγκόσμιας κοινότητας]] το 2013. Σύμφωνα με αυτή την πολιτική, οι [[:m:stewards|επίτροποι]] επιθεωρούν την δραστηριότητα των διαχειριστών σε όλα τα wiki του ιδρύματος Wikimedia που δεν έχουν τοπική πολιτική για τους αδρανείς διαχειριστές. Σύμφωνα με όσα γνωρίζουμε, το wiki σας δεν διαθέτει επίσημη διαδικασία για την αφαίρεση «ανωτέρων δικαιωμάτων» από ανενεργούς λογαριασμούς. Αυτό σημαίνει ότι οι επίτροποι θα δράσουν σύμφωνα με την [[:m:Admin activity review|επιθεώρηση δραστηριότητας διαχειριστών]]. Διαπιστώσαμε ότι οι ακόλουθοι χρήστες πληρούν τα κριτήρια αδράνειας (καμία επεξεργασία και καμία διαχειριστική δραστηριότητα για πάνω από 2 χρόνια): # Sinopeus (διαχειριστής) # Stravon (διαχειριστής) Αυτοί οι χρήστες θα λάβουν σύντομα ειδοποίηση, που θα τους ζητά να αρχίσουν μία συζήτηση στην κοινότητα για το άν θέλουν να κρατήσουν κάποια ή όλα τα δικαιώματά τους. Αν οι χρήστες δεν ανταποκριθούν, τότε τα ανώτερα δικαιώματά τους θα αφαιρεθούν από τους επιτρόπους. Ωστόσο, αν εσείς ως κοινότητα θέλετε να φτιάξετε τη δική σας διαδικασία επιθεώρησης δραστηριότητας που να υπερκαλύπτει την παγκόσμια, θέλετε να πάρετε άλλη απόφαση σχετικά με τους ανενεργούς κατόχους αυτών των δικαιωμάτων, ή έχετε ήδη αντίστοιχη πολιτική που την παραβλέψαμε, παρακαλούμε [[:m:Stewards' noticeboard|ειδοποιήστε τους επιτρόπους στο Meta-Wiki]], έτσι ώστε να γνωρίζουμε να μην προχωρήσουμε με την επιθεώρηση δικαιωμάτων στο wiki σας. Ευχαριστούμε, [[meta:User:Openbk|Openbk]] ([[meta:User talk:Openbk|talk]]) 12:31, 4 Κούντουρονος 2015 (UTC) == [Global proposal] m.{{SITENAME}}.org: {{int:group-all}} {{int:right-edit}} == <div lang="en" dir="ltr" class="mw-content-ltr"> [[File:Mediawiki-mobile-smartphone.png|thumb|MediaWiki mobile]] Hi, this message is to let you know that, on domains like {{CONTENTLANGUAGE}}.'''m'''.wikipedia.org, '''unregistered users cannot edit'''. At the Wikimedia Forum, where global configuration changes are normally discussed, a few dozens users [[m:Wikimedia Forum#Proposal: restore normal editing permissions on all mobile sites|propose to restore normal editing permissions on all mobile sites]]. Please read and comment! Thanks and sorry for writing in English, [[m:User:Nemo_bis|Nemo]] 22:33, 1 Μαρτ 2015 (UTC) </div> <!-- Message sent by User:Nemo bis@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=11428885 --> == New Wikipedia Library Accounts Available Now (March 2015) == <div lang="en" dir="ltr" class="mw-content-ltr"> ''Apologies for writing in English, please help translate this into your local language.'' Hello Wikimedians! [[File:Wikipedia_Library_owl.svg|thumb|150px|The TWL OWL says sign up today!]] [[m:The Wikipedia Library|The Wikipedia Library]] is announcing signups today for, free, full-access accounts to published research as part of our [[m:The_Wikipedia_Library/Journals|Publisher Donation Program]]. You can sign up for new accounts and research materials from: *[[w:en:WP:Project MUSE|Project MUSE]] — humanities and social science books and journals *[[w:en:Wikipedia:DynaMed|DynaMed]] — clinical reference tool for medical topics *[[w:en:Wikipedia:Royal Pharmaceutical Society|Royal Pharmaceutical Society]] — pharmaceutical information and practice resources *[[w:en:Wikipedia:Women_Writers_Online|Women Writers Online]] — a digital humanities database focused on women's literature *[[w:en:Wikipedia:Newspapers.com|Newspapers.com]] — American newspapers database w/ Open Access opportunities (expansion of accounts) Many other partnerships with accounts available are listed on [[w:en:WP:The_Wikipedia_Library/Journals|our partners page]]. Do better research and help expand the use of high quality references across Wikipedia projects: sign up today! <br>--[[w:en:Wikipedia:TWL/Coordinators|The Wikipedia Library Team]] 21:14, 2 Μαρτ 2015 (UTC) :''Help us coordinate Wikipedia Library's distribution of accounts, communication of access opportunities and more! Please join our team at [[w:en:Wikipedia:The_Wikipedia_Library/Coordinators/Signup|our new coordinator page]].''<br> :<small>This message was delivered via the [https://meta.wikimedia.org/wiki/MassMessage#Global_message_delivery Global Mass Message] tool to [https://meta.wikimedia.org/wiki/Global_message_delivery/Targets/Wikipedia_Library The Wikipedia Library Global Delivery List].</small> </div> <!-- Message sent by User:Sadads@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikipedia_Library&oldid=10785744 --> == Inspire Campaign: Improving diversity, improving content == This March, we’re organizing an Inspire Campaign to encourage and support new ideas for improving gender diversity on Wikimedia projects. Less than 20% of Wikimedia contributors are women, and many important topics are still missing in our content. We invite all Wikimedians to participate. If you have an idea that could help address this problem, please get involved today! The campaign runs until March 31. All proposals are welcome - research projects, technical solutions, community organizing and outreach initiatives, or something completely new! Funding is available from the Wikimedia Foundation for projects that need financial support. Constructive, positive feedback on ideas is appreciated, and collaboration is encouraged - your skills and experience may help bring someone else’s project to life. Join us at the Inspire Campaign and help this project better represent the world’s knowledge! :*[[:m:Grants:IdeaLab/Inspire|Inspire Campaign main page]] ''(Sorry for the English - please translate this message!)'' [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|talk]]) 20:02, 4 Μαρτ 2015 (UTC) <!-- Message sent by User:PEarley (WMF)@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=User:PEarley_(WMF)/Inspire_Mass_Message&oldid=11457822 --> == SUL finalization update == <div class="mw-content-ltr"> Hi all,apologies for writing in English, please read [[m:Single_User_Login_finalisation_announcement/Schema_announcement|this page]] for important information and an update involving [[m:Help:Unified login|SUL finalization]], scheduled to take place in one month. Thanks. [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) 19:45, 13 Μαρτ 2015 (UTC) </div> <!-- Message sent by User:Keegan (WMF)@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/Everyone_but_meta_and_de&oldid=11538208 --> == Stewards confirmation rules == Hello, I made [[:m:Requests_for_comment/Confirmation_of_stewards|a proposal on Meta]] to change the rules for the steward confirmations. Currently consensus to remove is required for a steward to lose his status, however I think it's fairer to the community if every steward needed the consensus to keep. As this is an issue that affects all WMF wikis, I'm sending this notification to let people know & be able to participate. Best regards, --<small>[[User:MF-Warburg|MF-W]]</small> 16:13, 10 Απρίλ 2015 (UTC) <!-- Message sent by User:MF-Warburg@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=11737694 --> == [[m:Special:MyLanguage/Wikimedia Foundation elections 2015/Call for candidates|Nominations are being accepted for 2015 Wikimedia Foundation elections]] == ''This is a message from the [[m:Special:MyLanguage/Wikimedia Foundation elections 2015/Committee|2015 Wikimedia Foundation Elections Committee]]. [[m:Special:MyLanguage/Wikimedia Foundation elections 2015/MassMessages/Accepting nominations|Translations]] are available.'' [[File:Wikimedia Foundation logo - vertical (2012-2016).svg|100px|right]] Greetings, I am pleased to announce that nominations are now being accepted for the 2015 Wikimedia Foundation Elections. This year the Board and the FDC Staff are looking for a diverse set of candidates from regions and projects that are traditionally under-represented on the board and in the movement as well as candidates with experience in technology, product or finance. To this end they have [[m:Special:MyLanguage/Wikimedia Foundation elections 2015/Call for candidates|published letters]] describing what they think is needed and, recognizing that those who know the community the best are the community themselves, the election committee is [[m:Special:MyLanguage/Wikimedia Foundation elections 2015|accepting nominations]] for community members you think should run and will reach out to those nominated to provide them with information about the job and the election process. This year, elections are being held for the following roles: ''Board of Trustees''<br/> The Board of Trustees is the decision-making body that is ultimately responsible for the long term sustainability of the Foundation, so we value wide input into its selection. There are three positions being filled. More information about this role can be found at [[m:Special:MyLanguage/Wikimedia Foundation elections/Board elections/2015|the board elections page]]. ''Funds Dissemination Committee (FDC)''<br/> The Funds Dissemination Committee (FDC) makes recommendations about how to allocate Wikimedia movement funds to eligible entities. There are five positions being filled. More information about this role can be found at [[m:Special:MyLanguage/Wikimedia Foundation elections/FDC elections/2015|the FDC elections page]]. ''Funds Dissemination Committee (FDC) Ombud''<br/> The FDC Ombud receives complaints and feedback about the FDC process, investigates complaints at the request of the Board of Trustees, and summarizes the investigations and feedback for the Board of Trustees on an annual basis. One position is being filled. More information about this role can be found at [[m:Special:MyLanguage/Wikimedia Foundation elections/FDC Ombudsperson elections/2015|the FDC Ombudsperson elections page]]. The candidacy submission phase lasts from 00:00 UTC April 20 to 23:59 UTC May 5 for the Board and from 00:00 UTCApril 20 to 23:59 UTC April 30 for the FDC and FDC Ombudsperson. This year, we are accepting both self-nominations and nominations of others. More information on this election and the nomination process can be found on [[m:Special:MyLanguage/Wikimedia Foundation elections 2015|the 2015 Wikimedia elections page on Meta-Wiki]]. Please feel free to post a note about the election on your project's village pump. Any questions related to the election can be posted on the talk page on Meta, or sent to the election committee's mailing list, board-elections -at- wikimedia.org On behalf of the Elections Committee,<br/> -Gregory Varnum ([[m:User:Varnent|User:Varnent]])<br/> Coordinator, [[m:Special:MyLanguage/Wikimedia Foundation elections 2015/Committee|2015 Wikimedia Foundation Elections Committee]] ''Posted by the [[m:User:MediaWiki message delivery|MediaWiki message delivery]] on behalf of the [[m:Special:MyLanguage/Wikimedia Foundation elections 2015/Committee|2015 Wikimedia Foundation Elections Committee]], 05:03, 21 April 2015 (UTC) • [[m:Special:MyLanguage/Wikimedia Foundation elections 2015/MassMessages/Accepting nominations|Translate]] • [[m:Talk:Wikimedia Foundation elections 2015|Get help]] <!-- Message sent by User:Varnent@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=11918510 --> == Please test VisualEditor in your language! == <div class="mw-content-ltr" lang="en" dir="ltr"> [[File:VisualEditor-logo.svg|right|frameless]] It is very important to us at the [[:mw:Editing|Editing Department]] that [[:mw:Special:MyLanguage/VisualEditor/Portal|VisualEditor]] works in every language, for every user. VisualEditor's editing environment is a browser ContentEditable element. This means that your [[:en:Input method|input method editor]] (IME) should already know how to work with it. However, to make VisualEditor correctly edit wiki pages, we have to stop browsers in lots of ways from breaking the page. Sometimes this can interfere with IMEs. To make sure we work in your IME, we need your help: please see '''[http://wikimedia.github.io/VisualEditor/demos/ve/desktop-dist.html#!pages/simple.html wikimedia.github.io/VisualEditor/demos/ve/desktop-dist.html#!pages/simple.html]'''. This is the core system inside VisualEditor which lets you write and edit. It is different from the full editor, and some of the tools you are used to will be missing. We're interested in particular in whether you can write text at all, what happens when you select different candidate texts, and how VisualEditor behaves in general. More details, and some early test results, are provided here: '''[[:mw:VisualEditor/IME_Testing#What_to_test|mediawiki.org/wiki/VisualEditor/IME_Testing#What_to_test]]'''. We would love to hear from every language, and especially languages which use IMEs, like Japanese, Korean, Indic languages, Arabic and others. Thank you for your help. Yours, [[:mw:User:Jdforrester (WMF)|James Forrester]] [[:mw:User talk:Jdforrester (WMF)|(talk)]] 07:41, 22 Απρίλ 2015 (UTC) </div> <!-- Message sent by User:Elitre (WMF)@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=VisualEditor/Newsletter/Phase_6_wikis&oldid=11926646 --> == [[m:Special:MyLanguage/Wikimedia Foundation elections 2015/MassMessages/FDC voting has begun|Wikimedia Foundation Funds Dissemination Committee elections 2015]] == [[File:Wikimedia Foundation RGB logo with text.svg|right|75px|link=m:Special:MyLanguage/Wikimedia Foundation elections 2015/MassMessages/FDC voting has begun]] ''This is a message from the [[m:Special:MyLanguage/Wikimedia Foundation elections 2015/Committee|2015 Wikimedia Foundation Elections Committee]]. [[m:Special:MyLanguage/Wikimedia Foundation elections 2015/MassMessages/FDC voting has begun|Translations]] are available.'' [[m:Special:SecurePoll/vote/336|Voting has begun]] for [[m:Wikimedia Foundation elections 2015#Requirements|eligible voters]] in the 2015 elections for the ''[[m:Special:MyLanguage/Wikimedia Foundation elections/FDC elections/2015|Funds Dissemination Committee]]'' (FDC) and ''[[m:Special:MyLanguage/Wikimedia Foundation elections/FDC Ombudsperson elections/2015|FDC Ombudsperson]]''. Questions and discussion with the candidates for the ''[[m:Special:MyLanguage/Wikimedia Foundation elections/FDC elections/2015/Questions|Funds Dissemination Committee]]'' (FDC) and ''[[m:Special:MyLanguage/Wikimedia Foundation elections/FDC Ombudsperson elections/2015/Questions|FDC Ombudsperson]]'' will continue during the voting. Nominations for the ''[[m:Special:MyLanguage/Wikimedia Foundation elections/Board elections/2015|Board of Trustees]]'' will be accepted until 23:59 UTC May 5. The ''[[m:Special:MyLanguage/Grants:APG/Funds Dissemination Committee|Funds Dissemination Committee]]'' (FDC) makes recommendations about how to allocate Wikimedia movement funds to eligible entities. There are five positions on the committee being filled. The ''[[m:Special:MyLanguage/Grants:APG/Funds Dissemination Committee/Ombudsperson role, expectations, and selection process|FDC Ombudsperson]]'' receives complaints and feedback about the FDC process, investigates complaints at the request of the [[m:Special:MyLanguage/Wikimedia Foundation Board of Trustees|Board of Trustees]], and summarizes the investigations and feedback for the Board of Trustees on an annual basis. One position is being filled. The voting phase lasts from 00:00 UTC May 3 to 23:59 UTC May 10. '''[[m:Special:SecurePoll/vote/336|Click here to vote]].''' Questions and discussion with the candidates will continue during that time. '''[[m:Special:MyLanguage/Wikimedia Foundation elections/FDC elections/2015/Questions|Click here to ask the FDC candidates a question]]. [[m:Special:MyLanguage/Wikimedia Foundation elections/FDC Ombudsperson elections/2015/Questions|Click here to ask the FDC Ombudsperson candidates a question]].''' More information on the candidates and the elections can be found on the [[m:Special:MyLanguage/Wikimedia Foundation elections/FDC elections/2015|2015 FDC election page]], the [[m:Special:MyLanguage/Wikimedia Foundation elections/FDC Ombudsperson elections/2015|2015 FDC Ombudsperson election page]], and the [[m:Special:MyLanguage/Wikimedia Foundation elections/Board elections/2015|2015 Board election page]] on Meta-Wiki. On behalf of the Elections Committee,<br/> -Gregory Varnum ([[m:User:Varnent|User:Varnent]])<br/> Volunteer Coordinator, [[m:Special:MyLanguage/Wikimedia Foundation elections 2015/Committee|2015 Wikimedia Foundation Elections Committee]] ''Posted by the [[m:Special:MyLanguage/User:MediaWiki message delivery|MediaWiki message delivery]] 03:45, 4 May 2015 (UTC) • [[m:Special:MyLanguage/Wikimedia Foundation elections 2015/MassMessages/FDC voting has begun|Translate]] • [[m:Talk:Wikimedia Foundation elections 2015|Get help]] <!-- Message sent by User:Varnent@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=12082785 --> == New Wikipedia Library Accounts Available Now (May 2015) == <div lang="en" dir="ltr" class="mw-content-ltr"> ''Apologies for writing in English, please help translate this into your local language.'' Hello Wikimedians! [[File:Wikipedia_Library_owl.svg|thumb|150px|The TWL OWL says sign up today!]] Today [[m:The Wikipedia Library|The Wikipedia Library]] announces signups for more free, full-access accounts to published research as part of our [[m:The_Wikipedia_Library/Journals|Publisher Donation Program]]. You can sign up for new accounts and research materials from: * '''[[w:en:WP:MIT|MIT Press Journals]]''' — scholarly journals in the humanities, sciences, and social sciences (200 accounts) * '''[[w:en:WP:Loeb|Loeb Classical Library]]''' — Harvard University Press versions of Classical Greek and Latin literature with commentary and annotation (25 accounts) * '''[[w:en:Wikipedia:RIPM|RIPM]]''' — music periodicals published between 1760 and 1966 (20 accounts) * '''[[w:en:WP:SAGE Stats|Sage Stats]]''' — social science data for geographies within the United States (10 accounts) * '''[[w:en:WP:HeinOnline|HeinOnline]]''' — an extensive legal research database, including 2000 law-related journals as well as international legal history materials (25 accounts) Many other partnerships with accounts available are listed on [[w:en:WP:The_Wikipedia_Library/Journals|our partners page]], including [[w:en:WP:Project MUSE|Project MUSE]], [[w:en:Wikipedia:JSTOR|JSTOR]], [[w:en:WP:DeGruyter|DeGruyter]], [[w:en:WP:Newspapers.com|Newspapers.com]] and [[w:en:WP:BNA|British Newspaper Archive]]. Do better research and help expand the use of high quality references across Wikipedia projects: sign up today! <br>--[[w:en:Wikipedia:TWL/Coordinators|The Wikipedia Library Team]] 22:12, 4 Καλομηνά 2015 (UTC) :''We need your help! Help coordinate Wikipedia Library's account distribution and global development! Please join our team at [https://meta.wikimedia.org/wiki/The_Wikipedia_Library/Coordinators/Signup Global our new coordinator signup].''<br> :<small>This message was delivered via the [https://meta.wikimedia.org/wiki/MassMessage#Global_message_delivery Mass Message] tool to [https://meta.wikimedia.org/wiki/Global_message_delivery/Targets/Wikipedia_Library The Wikipedia Library Global Delivery List]</small> </div> <!-- Message sent by User:Sadads@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikipedia_Library&oldid=12114173 --> == [https://meta.wikimedia.org/wiki/Special:SecurePoll/vote/339?setlang=pnt Wikimedia Foundation Board of Trustees elections 2015] == [[File:Wikimedia Foundation logo - vertical (2012-2016).svg|right|100px|link=metawiki:Special:MyLanguage/Wikimedia Foundation elections 2015/MassMessages/Board voting has begun]] ''This is a message from the [[metawiki:Special:MyLanguage/Wikimedia Foundation elections 2015/Committee|2015 Wikimedia Foundation Elections Committee]]. [[metawiki:Special:MyLanguage/Wikimedia Foundation elections 2015/MassMessages/Board voting has begun|Translations]] are available.'' [https://meta.wikimedia.org/wiki/Special:SecurePoll/vote/339?setlang=pnt Voting has begun] for [[metawiki:Wikimedia Foundation elections 2015#Requirements|eligible voters]] in the 2015 elections for the ''[[metawiki:Special:MyLanguage/Wikimedia Foundation elections/Board elections/2015|Wikimedia Foundation Board of Trustees]]''. Questions and discussion with the candidates for the ''[[metawiki:Special:MyLanguage/Wikimedia Foundation elections/Board elections/2015/Questions|Board]]'' will continue during the voting. The ''[[metawiki:Wikimedia Foundation Board of Trustees|Wikimedia Foundation Board of Trustees]]'' is the ultimate governing authority of the Wikimedia Foundation, a 501(c)(3) non-profit organization registered in the United States. The Wikimedia Foundation manages many diverse projects such as Wikipedia and Commons. The voting phase lasts from 00:00 UTC May 17 to 23:59 UTC May 31. '''[https://meta.wikimedia.org/wiki/Special:SecurePoll/vote/339?setlang=pnt Click here to vote].''' More information on the candidates and the elections can be found on the [[metawiki:Special:MyLanguage/Wikimedia Foundation elections/Board elections/2015|2015 ''Board'' election page]] on Meta-Wiki. On behalf of the Elections Committee,<br/> -Gregory Varnum ([[metawiki:User:Varnent|User:Varnent]])<br/> Volunteer Coordinator, [[metawiki:Special:MyLanguage/Wikimedia Foundation elections 2015/Committee|2015 Wikimedia Foundation Elections Committee]] ''Posted by the [[metawiki:Special:MyLanguage/User:MediaWiki message delivery|MediaWiki message delivery]] 17:20, 17 May 2015 (UTC) • [[metawiki:Special:MyLanguage/Wikimedia Foundation elections 2015/MassMessages/Board voting has begun|Translate]] • [[metawiki:Talk:Wikimedia Foundation elections 2015|Get help]] <!-- Message sent by User:Varnent@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=12206621 --> == [https://meta.wikimedia.org/wiki/Special:SecurePoll/vote/339?setlang=pnt Wikimedia Foundation Board of Trustees elections 2015] == [[File:Wikimedia Foundation logo - vertical (2012-2016).svg|right|100px|link=metawiki:Special:MyLanguage/Wikimedia Foundation elections 2015/MassMessages/Board voting has begun]] ''This is a message from the [[metawiki:Special:MyLanguage/Wikimedia Foundation elections 2015/Committee|2015 Wikimedia Foundation Elections Committee]]. [[metawiki:Special:MyLanguage/Wikimedia Foundation elections 2015/MassMessages/Board voting has begun|Translations]] are available.'' [https://meta.wikimedia.org/wiki/Special:SecurePoll/vote/339?setlang=pnt Voting has begun] for [[metawiki:Wikimedia Foundation elections 2015#Requirements|eligible voters]] in the 2015 elections for the ''[[metawiki:Special:MyLanguage/Wikimedia Foundation elections/Board elections/2015|Wikimedia Foundation Board of Trustees]]''. Questions and discussion with the candidates for the ''[[metawiki:Special:MyLanguage/Wikimedia Foundation elections/Board elections/2015/Questions|Board]]'' will continue during the voting. The ''[[metawiki:Wikimedia Foundation Board of Trustees|Wikimedia Foundation Board of Trustees]]'' is the ultimate governing authority of the Wikimedia Foundation, a 501(c)(3) non-profit organization registered in the United States. The Wikimedia Foundation manages many diverse projects such as Wikipedia and Commons. The voting phase lasts from 00:00 UTC May 17 to 23:59 UTC May 31. '''[https://meta.wikimedia.org/wiki/Special:SecurePoll/vote/339?setlang=pnt Click here to vote].''' More information on the candidates and the elections can be found on the [[metawiki:Special:MyLanguage/Wikimedia Foundation elections/Board elections/2015|2015 ''Board'' election page]] on Meta-Wiki. On behalf of the Elections Committee,<br/> -Gregory Varnum ([[metawiki:User:Varnent|User:Varnent]])<br/> Volunteer Coordinator, [[metawiki:Special:MyLanguage/Wikimedia Foundation elections 2015/Committee|2015 Wikimedia Foundation Elections Committee]] ''Posted by the [[metawiki:Special:MyLanguage/User:MediaWiki message delivery|MediaWiki message delivery]] 17:20, 17 May 2015 (UTC) • [[metawiki:Special:MyLanguage/Wikimedia Foundation elections 2015/MassMessages/Board voting has begun|Translate]] • [[metawiki:Talk:Wikimedia Foundation elections 2015|Get help]] <!-- Message sent by User:Varnent@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=12206621 --> == Pywikibot compat will no longer be supported - Please migrate to pywikibot core == <div lang="en" dir="ltr" class="mw-content-ltr"> <small>Sorry for English, I hope someone translates this.</small><br /> [[mw:Special:MyLanguage/Manual:Pywikibot|Pywikibot]] (then "Pywikipediabot") was started back in 2002. In 2007 a new branch (formerly known as "rewrite", now called "core") was started from scratch using the MediaWiki API. The developers of Pywikibot have decided to stop supporting the compat version of Pywikibot due to bad performance and architectural errors that make it hard to update, compared to core. If you are using pywikibot compat it is likely your code will break due to upcoming MediaWiki API changes (e.g. [[phab:T101524|T101524]]). It is highly recommended you migrate to the core framework. There is a [[mw:Manual:Pywikibot/Compat deprecation|migration guide]], and please [[mw:Special:MyLanguage/Manual:Pywikibot/Communication|contact us]] if you have any problem. There is an upcoming MediaWiki API breaking change that compat will not be updated for. If your bot's name is in [https://lists.wikimedia.org/pipermail/wikitech-l/2015-June/081931.html this list], your bot will most likely break. Thank you,<br /> The Pywikibot development team, 19:30, 5 June 2015 (UTC) </div> <!-- Message sent by User:Ladsgroup@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=12271740 --> == Pywikibot compat will no longer be supported - Please migrate to pywikibot core == <div lang="en" dir="ltr" class="mw-content-ltr"> <small>Sorry for English, I hope someone translates this.</small><br /> [[mw:Special:MyLanguage/Manual:Pywikibot|Pywikibot]] (then "Pywikipediabot") was started back in 2002. In 2007 a new branch (formerly known as "rewrite", now called "core") was started from scratch using the MediaWiki API. The developers of Pywikibot have decided to stop supporting the compat version of Pywikibot due to bad performance and architectural errors that make it hard to update, compared to core. If you are using pywikibot compat it is likely your code will break due to upcoming MediaWiki API changes (e.g. [[phab:T101524|T101524]]). It is highly recommended you migrate to the core framework. There is a [[mw:Manual:Pywikibot/Compat deprecation|migration guide]], and please [[mw:Special:MyLanguage/Manual:Pywikibot/Communication|contact us]] if you have any problem. There is an upcoming MediaWiki API breaking change that compat will not be updated for. If your bot's name is in [https://lists.wikimedia.org/pipermail/wikitech-l/2015-June/081931.html this list], your bot will most likely break. Thank you,<br /> The Pywikibot development team, 19:30, 5 June 2015 (UTC) </div> <!-- Message sent by User:Ladsgroup@metawiki using the list at http://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=12271740 --> == New Wikipedia Library Accounts Available Now (June 2015) == <div lang="en" dir="ltr" class="mw-content-ltr"> Hello Wikimedians! [[File:Wikipedia_Library_owl.svg|thumb|150px|The TWL OWL says sign up today!]] Today [[m:The Wikipedia Library|The Wikipedia Library]] announces signups for more free, full-access accounts to published research as part of our [[m:The_Wikipedia_Library/Journals|Publisher Donation Program]]. You can sign up for new accounts and research materials from: * '''[[w:en:WP:TANDF|Taylor & Francis]]''' — academic publisher of journals. The pilot includes two subject collections: Arts & Humanities and Biological, Environment & Earth Sciences. (30 accounts) *'''[[w:en:WP:World Bank|World Bank eLibrary]]''' — digital platform containing all books, working papers, and journal articles published by the World Bank from the 1990s to the present. (100 accounts) * '''[[w:en:WP:AAAS|AAAS]]''' — general interest science publisher, who publishes the journal ''Science'' among other sources (50 accounts) '''New French-Language Branch!''' * '''[[w:en:Wikipedia:Erudit|Érudit]]''' ([[w:fr:Wikip%C3%A9dia:%C3%89rudit|en Francais]]) — Érudit is a French-Canadian scholarly aggregator primarily, humanities and social sciences, and contains sources in both English and French. Signups on both English and French Wikipedia (50 accounts). * '''[[w:en:WP:Cairn|Cairn.info]]''' ([[w:fr:Wikip%C3%A9dia:Cairn|en Francais]]) — Cairn.info is a Switzerland based online web portal of scholarly materials in the humanities and social sciences. Most sources are in French, but some also in English. Signups on both English and French Wikipedia (100 accounts). * '''[[w:fr:WP:L'Harmattan|L'Harmattan]]''' — French language publisher across a wide range of non-fiction and fiction, with a strong selection of francophone African materials (1000 accounts). Many other partnerships with accounts available are listed on [[meta:The_Wikipedia_Library/Journals|our partners page]], including an expansion of accounts for [[w:en:WP:RSUK|Royal Society journals]] and remaining accounts on [[w:en:WP:Project MUSE|Project MUSE]], [[w:en:Wikipedia:JSTOR|JSTOR]], [[w:en:WP:DeGruyter|DeGruyter]], [[w:en:WP:Highbeam|Highbeam]] [[w:en:WP:Newspapers.com|Newspapers.com]] and [[w:en:WP:BNA|British Newspaper Archive]]. If you have suggestions for journals or databases we should seek access to [[meta:The_Wikipedia_Library/Journals/Requests|make a request]]! Do better research and help expand the use of high quality references across Wikipedia projects: sign up today! <br>--[[w:en:Wikipedia:TWL/Coordinators|The Wikipedia Library Team]] 22:08, 15 June 2015 (UTC) :''We need your help! Help coordinate Wikipedia Library's account distribution and global development! Please join our team at [[meta:The_Wikipedia_Library/Coordinators/Signup|our new coordinator signup]].''<br> :<small>This message was delivered via the [[meta:MassMessage#Global_message_delivery| Global Mass Message]] tool to [[meta:Global_message_delivery/Targets/Wikipedia_Library|The Wikipedia Library Global Delivery List]]</small> </div> <!-- Message sent by User:Sadads@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikipedia_Library&oldid=12455967 --> == New Wikipedia Library Accounts Available Now (June 2015) == <div lang="en" dir="ltr" class="mw-content-ltr"> Hello Wikimedians! [[File:Wikipedia_Library_owl.svg|thumb|150px|The TWL OWL says sign up today!]] Today [[m:The Wikipedia Library|The Wikipedia Library]] announces signups for more free, full-access accounts to published research as part of our [[m:The_Wikipedia_Library/Journals|Publisher Donation Program]]. You can sign up for new accounts and research materials from: * '''[[w:en:WP:TANDF|Taylor & Francis]]''' — academic publisher of journals. The pilot includes two subject collections: Arts & Humanities and Biological, Environment & Earth Sciences. (30 accounts) *'''[[w:en:WP:World Bank|World Bank eLibrary]]''' — digital platform containing all books, working papers, and journal articles published by the World Bank from the 1990s to the present. (100 accounts) * '''[[w:en:WP:AAAS|AAAS]]''' — general interest science publisher, who publishes the journal ''Science'' among other sources (50 accounts) '''New French-Language Branch!''' * '''[[w:en:Wikipedia:Erudit|Érudit]]''' ([[w:fr:Wikip%C3%A9dia:%C3%89rudit|en Francais]]) — Érudit is a French-Canadian scholarly aggregator primarily, humanities and social sciences, and contains sources in both English and French. Signups on both English and French Wikipedia (50 accounts). * '''[[w:en:WP:Cairn|Cairn.info]]''' ([[w:fr:Wikip%C3%A9dia:Cairn|en Francais]]) — Cairn.info is a Switzerland based online web portal of scholarly materials in the humanities and social sciences. Most sources are in French, but some also in English. Signups on both English and French Wikipedia (100 accounts). * '''[[w:fr:WP:L'Harmattan|L'Harmattan]]''' — French language publisher across a wide range of non-fiction and fiction, with a strong selection of francophone African materials (1000 accounts). Many other partnerships with accounts available are listed on [[meta:The_Wikipedia_Library/Journals|our partners page]], including an expansion of accounts for [[w:en:WP:RSUK|Royal Society journals]] and remaining accounts on [[w:en:WP:Project MUSE|Project MUSE]], [[w:en:Wikipedia:JSTOR|JSTOR]], [[w:en:WP:DeGruyter|DeGruyter]], [[w:en:WP:Highbeam|Highbeam]] [[w:en:WP:Newspapers.com|Newspapers.com]] and [[w:en:WP:BNA|British Newspaper Archive]]. If you have suggestions for journals or databases we should seek access to [[meta:The_Wikipedia_Library/Journals/Requests|make a request]]! Do better research and help expand the use of high quality references across Wikipedia projects: sign up today! <br>--[[w:en:Wikipedia:TWL/Coordinators|The Wikipedia Library Team]] 22:08, 15 June 2015 (UTC) :''We need your help! Help coordinate Wikipedia Library's account distribution and global development! Please join our team at [[meta:The_Wikipedia_Library/Coordinators/Signup|our new coordinator signup]].''<br> :<small>This message was delivered via the [[meta:MassMessage#Global_message_delivery| Global Mass Message]] tool to [[meta:Global_message_delivery/Targets/Wikipedia_Library|The Wikipedia Library Global Delivery List]]</small> </div> <!-- Message sent by User:Sadads@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikipedia_Library&oldid=12455967 --> == HTTPS == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Apologies for writing in English. Hi everyone. Over the last few years, the Wikimedia Foundation has [http://blog.wikimedia.org/2013/08/01/future-https-wikimedia-projects/ been working] towards enabling [[m:Special:MyLanguage/HTTPS|HTTPS]] by default for all users, including unregistered ones, for better privacy and security for both readers and editors. This has taken a long time, as there were different aspects to take into account. Our servers haven't been ready to handle it. The Wikimedia Foundation has had to balance sometimes conflicting goals. [https://blog.wikimedia.org/2015/06/12/securing-wikimedia-sites-with-https/ Forced HTTPS] has just been implemented on all Wikimedia projects. Some of you might already be aware of this, as a few Wikipedia language versions were converted to HTTPS last week and the then affected communities were notified. Most of Wikimedia editors shouldn't be affected at all. If you edit as registered user, you've probably already had to log in through HTTPS. We'll keep an eye on this to make sure everything is working as it should. Do get in touch with [[:m:HTTPS#Help!|us]] if you have any problems after this change or contact me if you have any other questions. /[[:m:User:Johan (WMF)|Johan (WMF)]] </div> 22:00, 19 Κερασινού 2015 (UTC) <!-- Message sent by User:Johan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Johan_(WMF)/HTTPS_global_message_delivery&oldid=12471979 --> == Content Translation, the new article creation tool is now available as a beta-feature == [[File:Cx-icon-ltr.svg|264px|right|Tool icon]] [[File:Content_Translation_Screencast_%28English%29.webm|thumb|How to use Content Translation - a short video (English)]] Hello, [[mw:Content_translation|Content Translation]] has now been enabled as an opt-in beta feature on the Pontic Wikipedia. To start translating: # Please enable the Beta feature in your preferences by checking the box for Content Translation. # Visit the page [[Special:ContentTranslation]] or to your contributions page to open the tool. # Click on the button to create a new translation. # In the displayed dialog select the language of the original article and the article name, and the language you would like to translate to. Also add the title of the new article (or the original title will be inserted) and click on to begin. Your language preferences will be remembered for the next time. # You will see a screen consisting of three columns. The first column contains the text of the source language and the middle column is for the translated text. Using the third column you can perform several actions such as insert source text, remove the inserted text source text, add or remove links etc. # After you translate the article, you can publish it directly as a new page on the Pontic Wikipedia by using the publish button that appears. In case the article gets created by another user while you were translating, you will see an option to save the newly published translation under your user namespace. # The number of published pages can be seen on the [[Special:CXStats|Content Translation stats page]]. Since this is the first time we have installed the tool on this Wikipedia, there are chances that there may be some problems or service disruptions which we are not yet aware of. We will be monitoring the usage to check for any failures or issues, but please do let us know on the [[:mw:Talk:Content_translation|Content Translation talk page]] or through [[phab:T103545|Phabricator]] if you spot any problems. For more information, please read the information available in the [[:mw:Help:Extension:ContentTranslation|User Guide]]. Our announcement is written only in Russian and English, and we would really appreciate if this message can be translated to reach more users of this Wikipedia. Thank you. On behalf of the Wikimedia Foundation's Language Engineering Team: --[[Χρήστες:Aaharoni-WMF|Aaharoni-WMF]] ([[Καλάτσεμαν χρήστε:Aaharoni-WMF|talk]]) 22:21, 30 Κερασινού 2015 (UTC) === Перевод Содержания === [[File:Cx-icon-ltr.svg|264px|right|Эмблема инструмента]] [[File:Content_Translation_Screencast_%28English%29.webm|thumb|Как пользоваться Переводом содержания - короткий клип (по-английски)]] Здравствуйте, Инструмент перевода [[mw:Content_translation|Content Translation]] был включен как бета-функция в Понтийской Википедии. Чтобы начать перевод: # Включите бета-функцию в ваших настройках - отметьте Перевод содержания и сохраните. # Посетите страницу [[Special:ContentTranslation]] или пройдите на вашу страницу вклада чтобы открыть инструмент. # Нажмите на синюю кнопку "Создать новый перевод". # Выберите язык, с которого вы хотите перевести, напишите название статьи , которую вы хотите перевести, и название статьи, которая будет создана на вашем языке. # Вы увидите экран с тремя колонками - статья на иностранном языке, колонка для написания вашей новой переведённой статьи, и колонка для инструментов оформления и ссылок. # Когда переведённый текст готов, нажмите кнопку "Опубликовать перевод" и страница будет создана в Понтийской Википедии. Если такая страница уже существует, вам будет показано предупреждение. # Количество можно увидеть на [[Special:CXStats|странице статистики]]. Так как мы включаем этот инструмент в вашей википедии впервые, возможно, что здесь есть неисправности, о которых мы ещё не знаем. Мы следим за использованием инструмента, но мы просим и вас сообщать нам о любых неисправностях через [[:mw:Talk:Content_translation|страницу обсуждения проекта]] (можно по-русски) или через [https://phabricator.wikimedia.org/T103545 Фабрикатор]. Дополнительная информация доступна в [[:mw:Help:Extension:ContentTranslation|инструкции]]. Кроме этого, вы можете посмотреть [https://upload.wikimedia.org/wikipedia/commons/e/ee/Content_Translation_Screencast_%28English%29.webm клип об использовании инструмента]. --[[Χρήστες:Aaharoni-WMF|Aaharoni-WMF]] ([[Καλάτσεμαν χρήστε:Aaharoni-WMF|talk]]) 22:21, 30 Κερασινού 2015 (UTC) == Please join the 2nd edition of the VisualEditor Translathon == <div class="mw-content-ltr" lang="en" dir="ltr"> [[File:VisualEditor-logo-pacifico.svg|right|200px]] Hello! I'm pleased to announce the 2nd edition of the '''VisualEditor Translathon'''. It is a translation rally, focused on interface messages and help pages related to [[:mw:VisualEditor|VisualEditor]]. In order to participate, you need to '''[[:betawiki:Project:VisualEditor/2015_Translathon|sign up on the Translathon page]]''' on TranslateWiki. The top 3 contributors will each win a Wikipedia t-shirt of their choice from [//store.wikimedia.org/ the Wikipedia store]<ref>You can choose between any short-sleeve shirt, or other items for the same value.</ref>. Translations made between '''July 15th and July 19th''' ([//www.timeanddate.com/time/zones/cdt CDT time zone]) qualify<ref>This means both new translations, and updates for messages in the "Outdated" tab of the translation interface.</ref>. If you are at [//wikimania2015.wikimedia.org/wiki/Wikimania Wikimania Mexico] this year, you are also welcome to join a related sprint during the hackathon in '''Workplace 1 - Don Américo, Thursday 16 July at 4pm (CDT)''' at the conference venue, so you can meet other fellow translators and [//wikimania2015.wikimedia.org/wiki/Hackathon#Hackathon_Day_2 get support if you need some]. Interface messages have the priority. You will need to create an account at translatewiki.net in order to work on them, if you don't have one. ''It is recommended to create the account ASAP'', so that it can be confirmed in time. You can also help translate documentation pages about VisualEditor on mediawiki.org. You can use your Wikipedia account to work there. You will find instructions, links and other details [[:betawiki:Project:VisualEditor/2015_Translathon|on the Translathon page]]. Thanks for your attention, and happy translating! <br> [[:mw:User:Elitre (WMF)|Elitre (WMF)]] 21:00, 13 Χορτοθερί 2015 (UTC) <references /> </div> <!-- Message sent by User:Elitre (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=VisualEditor/Newsletter/Phase_6_wikis&oldid=12066019 --> == Proposal to create PNG thumbnails of static GIF images == <div lang="en" dir="ltr" class="mw-content-ltr"> [[File:(R)-3-phenyl-cyclohanone.gif|255px|thumb|The thumbnail of this gif is of really bad quality.]] [[File:(R)-3-phenyl-cyclohanone.png|255px|thumb|How a PNG thumb of this GIF would look like]] There is a [[w:c:Commons:Village_pump/Proposals#Create_PNG_thumbnails_of_static_GIF_images|proposal]] at the Commons Village Pump requesting feedback about the thumbnails of static GIF images: It states that static GIF files should have their thumbnails created in PNG. The advantages of PNG over GIF would be visible especially with GIF images using an alpha channel. (compare the thumbnails on the side) This change would affect all wikis, so if you support/oppose or want to give general feedback/concerns, please post them to the [[w:c:Commons:Village_pump/Proposals#Create_PNG_thumbnails_of_static_GIF_images|proposal page]]. Thank you. --[[w:c:User:McZusatz|McZusatz]] ([[w:c:User talk:McZusatz|talk]]) & [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|talk]]) 05:08, 24 Χορτοθερί 2015 (UTC) </div> <!-- Message sent by User:-revi@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=12485605 --> == What does a Healthy Community look like to you? == <div lang="en" dir="ltr" class="mw-content-ltr"> [[File:Community Health Cover art News portal.png|300px|right]] Hi, <br> The Community Engagement department at the Wikimedia Foundation has launched a new learning campaign. The WMF wants to record community impressions about what makes a healthy online community. Share your views and/or create a drawing and take a chance to win a Wikimania 2016 scholarship! Join the WMF as we begin a conversation about Community Health. Contribute a drawing or answer the questions [[meta:Grants:Evaluation/Community Health learning campaign|on the campaign's page.]] === Why get involved? === '''The world is changing. The way we relate to knowledge is transforming.''' As the next billion people come online, the Wikimedia movement is working to bring more users on the wiki projects. The way we interact and collaborate online are key to building sustainable projects. How accessible are Wikimedia projects to newcomers today? Are we helping each other learn? <br/> Share your views on this matter that affects us all! <br> '''We invite everyone to take part in this learning campaign. Wikimedia Foundation will distribute one Wikimania Scholarship 2016 among those participants who are eligible.''' === More information === * All participants must have a registered user of at least one month antiquity on any Wikimedia project before the starting date of the campaign. * <span style="border-bottom:1px dotted"> All eligible contributions must be done until '''August 23, 2015 at <nowiki>23:59</nowiki> UTC''' </span> * <big> Wiki link: '''[[meta:Grants:Evaluation/Community Health learning campaign|Community Health learning campaign]]''' </big> * URL https://meta.wikimedia.org/wiki/Grants:Evaluation/Community_Health_learning_campaign * Contact: [[meta:user:MCruz (WMF)|María Cruz]] / Twitter: {{@}}WikiEval #CommunityHealth / email: eval{{@}}wikimedia{{dot}}org <br> Happy editing! <br> <br> [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|talk]]) 23:42, 31 Χορτοθερί 2015 (UTC) </div> <!-- Message sent by User:MCruz (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=12909005 --> == What does a Healthy Community look like to you? == <div lang="en" dir="ltr" class="mw-content-ltr"> [[File:Community Health Cover art News portal.png|300px|right]] Hi, <br> The Community Engagement department at the Wikimedia Foundation has launched a new learning campaign. The WMF wants to record community impressions about what makes a healthy online community. Share your views and/or create a drawing and take a chance to win a Wikimania 2016 scholarship! Join the WMF as we begin a conversation about Community Health. Contribute a drawing or answer the questions [[meta:Grants:Evaluation/Community Health learning campaign|on the campaign's page.]] === Why get involved? === '''The world is changing. The way we relate to knowledge is transforming.''' As the next billion people come online, the Wikimedia movement is working to bring more users on the wiki projects. The way we interact and collaborate online are key to building sustainable projects. How accessible are Wikimedia projects to newcomers today? Are we helping each other learn? <br/> Share your views on this matter that affects us all! <br> '''We invite everyone to take part in this learning campaign. Wikimedia Foundation will distribute one Wikimania Scholarship 2016 among those participants who are eligible.''' === More information === * All participants must have a registered user of at least one month antiquity on any Wikimedia project before the starting date of the campaign. * <span style="border-bottom:1px dotted"> All eligible contributions must be done until '''August 23, 2015 at <nowiki>23:59</nowiki> UTC''' </span> * <big> Wiki link: '''[[meta:Grants:Evaluation/Community Health learning campaign|Community Health learning campaign]]''' </big> * URL https://meta.wikimedia.org/wiki/Grants:Evaluation/Community_Health_learning_campaign * Contact: [[meta:user:MCruz (WMF)|María Cruz]] / Twitter: {{@}}WikiEval #CommunityHealth / email: eval{{@}}wikimedia{{dot}}org <br> Happy editing! <br> <br> [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|talk]]) 01:08, 1 Aλωναρί 2015 (UTC) </div> <!-- Message sent by User:MCruz (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=12909005 --> == Wikidata: Access to data from arbitrary items is coming == <div lang="en" dir="ltr" class="mw-content-ltr"> (Sorry for writing in English) When using data from Wikidata on Wikipedia and other sister projects, there is currently a limitation in place that hinders some use cases: data can only be accessed from the corresponding item. So, for example, the Wikipedia article about Berlin can only get data from the Wikidata item about Berlin but not from the item about Germany. This had technical reasons. We are now removing this limitation. It is already done for many projects. Your project is one of the next ones. We will roll out this feature here on August 12. We invite you to play around with this new feature if you are one of the people who have been waiting for this for a long time. If you have technical issues/questions with this you can come to [[d:Wikidata:Contact the development team]]. A note of caution: Please be careful with how many items you use for a single page. If it is too many pages, loading might get slow. We will have to see how the feature behaves in production to see where we need to tweak and how. How to use it, once it is enabled: * Parser function: <nowiki>{{#property:P36|from=Q183}}</nowiki> to get the capital from the item about Germany * Lua: see [[mw:Extension:Wikibase Client/Lua]] Cheers [[:d:User:Lydia Pintscher (WMDE)|Lydia Pintscher]] [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|talk]]) 17:46, 3 Aλωναρί 2015 (UTC) </div> <!-- Message sent by User:Lydia Pintscher (WMDE)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Lydia_Pintscher_(WMDE)/Distribution_List&oldid=12981073 --> == Wikidata: Access to data from arbitrary items is coming == <div lang="en" dir="ltr" class="mw-content-ltr"> (Sorry for writing in English) When using data from Wikidata on Wikipedia and other sister projects, there is currently a limitation in place that hinders some use cases: data can only be accessed from the corresponding item. So, for example, the Wikipedia article about Berlin can only get data from the Wikidata item about Berlin but not from the item about Germany. This had technical reasons. We are now removing this limitation. It is already done for many projects. Your project is one of the next ones. We will roll out this feature here on August 12. We invite you to play around with this new feature if you are one of the people who have been waiting for this for a long time. If you have technical issues/questions with this you can come to [[d:Wikidata:Contact the development team]]. A note of caution: Please be careful with how many items you use for a single page. If it is too many pages, loading might get slow. We will have to see how the feature behaves in production to see where we need to tweak and how. How to use it, once it is enabled: * Parser function: <nowiki>{{#property:P36|from=Q183}}</nowiki> to get the capital from the item about Germany * Lua: see [[mw:Extension:Wikibase Client/Lua]] Cheers [[:d:User:Lydia Pintscher (WMDE)|Lydia Pintscher]] [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|talk]]) 01:15, 4 Aλωναρί 2015 (UTC) </div> <!-- Message sent by User:Lydia Pintscher (WMDE)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Lydia_Pintscher_(WMDE)/Distribution_List&oldid=12981073 --> == Wikidata: Access to data from arbitrary items is here == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> (Sorry for writing in English) Hi everyone, As I have previously announced here we have now enabled the arbitrary access feature here. This means from now on you can make use of data from any Wikidata item in any article here. Before you could for example only access data about Berlin in the article about Berlin. If you want to find out more or have questions please come to [[d:Wikidata:Arbitrary access]]. I hope this will open up great possibilities for you and make your work easier. Cheers [[:d:Lydia Pintscher (WMDE)|Lydia Pintscher (WMDE)]] 13:32, 12 Aλωναρί 2015 (UTC) </div> <!-- Message sent by User:Lydia Pintscher (WMDE)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Lydia_Pintscher_(WMDE)/Distribution_List&oldid=12983468 --> == How can we improve Wikimedia grants to support you better? == ''My apologies for posting this message in English. Please help translate it if you can.'' Hello, The Wikimedia Foundation would like your feedback about how we can '''[[m:Grants:IdeaLab/Reimagining WMF grants|reimagine Wikimedia Foundation grants]]''', to better support people and ideas in your Wikimedia project. Ways to participate: *Respond to questions on [[m:Grants talk:IdeaLab/Reimagining WMF grants|the discussion page of the idea]]. *Join a [[m:Grants:IdeaLab/Events#Upcoming_events|small group conversation]]. *Learn more about [[m:Grants:IdeaLab/Reimagining WMF grants/Consultation|this consultation]]. Feedback is welcome in any language. With thanks, [[m:User:I JethroBT (WMF)|I JethroBT (WMF)]], [[m:Community Resources|Community Resources]], Wikimedia Foundation. ([[m:Grants:IdeaLab/Reimagining WMF grants/ProjectTargets|''Opt-out Instructions'']]) <small>This message was sent by [[m:User:I JethroBT (WMF)|I JethroBT (WMF)]] through [[m:User:MediaWiki message delivery|MediaWiki message delivery]].</small> 23:08, 18 Aλωναρί 2015 (UTC) <!-- Message sent by User:I JethroBT (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Grants:IdeaLab/Reimagining_WMF_grants/ProjectTargets&oldid=13196071 --> == How can we improve Wikimedia grants to support you better? == ''My apologies for posting this message in English. Please help translate it if you can.'' Hello, The Wikimedia Foundation would like your feedback about how we can '''[[Grants:IdeaLab/Reimagining WMF grants|reimagine Wikimedia Foundation grants]]''', to better support people and ideas in your Wikimedia project. Ways to participate: *Respond to questions on [[Grants talk:IdeaLab/Reimagining WMF grants|the discussion page of the idea]]. *Join a [[Grants:IdeaLab/Events#Upcoming_events|small group conversation]]. *Learn more about [[Grants:IdeaLab/Reimagining WMF grants/Consultation|this consultation]]. Feedback is welcome in any language. With thanks, [[User:I JethroBT (WMF)|I JethroBT (WMF)]], [[Community Resources]], Wikimedia Foundation. ([[Grants:IdeaLab/Reimagining WMF grants/ProjectTargets|''Opt-out Instructions'']]) <small>This message was sent by {{user|I JethroBT (WMF)}} through [[User:MediaWiki message delivery|MediaWiki message delivery]].</small> 03:14, 19 Aλωναρί 2015 (UTC) <!-- Message sent by User:I JethroBT (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Grants:IdeaLab/Reimagining_WMF_grants/ProjectTargets&oldid=13196071 --> == Introducing the Wikimedia public policy site == Hi all, We are excited to introduce a new Wikimedia Public Policy site. The site includes resources and position statements on access, copyright, censorship, intermediary liability, and privacy. The site explains how good public policy supports the Wikimedia projects, editors, and mission. Visit the public policy portal: https://policy.wikimedia.org/ Please help translate the [[m:Public policy|statements on Meta Wiki]]. You can [http://blog.wikimedia.org/2015/09/02/new-wikimedia-public-policy-site/ read more on the Wikimedia blog]. Thanks, [[m:User:YWelinder (WMF)|Yana]] and [[m:User:Slaporte (WMF)|Stephen]] ([[m:User talk:Slaporte (WMF)|Talk]]) 18:12, 2 Σταυρί 2015 (UTC) ''(Sent with the [[m:MassMessage#Global_message_delivery|Global message delivery system]])'' <!-- Message sent by User:Slaporte (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Slaporte_(WMF)/Announcing_public_policy_site&oldid=13439030 --> == Open call for Individual Engagement Grants == ''My apologies for posting this message in English. Please help translate it if you can.'' Greetings! The '''[[m:IEG|Individual Engagement Grants program]] is accepting proposals''' until September 29th to fund new tools, community-building processes, and other experimental ideas that enhance the work of Wikimedia volunteers. Whether you need a small or large amount of funds (up to $30,000 USD), Individual Engagement Grants can support you and your team’s project development time in addition to project expenses such as materials, travel, and rental space. *[[m:Grants:IEG#ieg-apply|'''Submit''' a grant request]] *[[m:Grants:IdeaLab|'''Get help''' with your proposal in IdeaLab]] or [[m:Grants:IdeaLab/Events#Upcoming_events|an upcoming Hangout session]] *[[m:Grants:IEG#ieg-engaging|'''Learn from examples''' of completed Individual Engagement Grants]] Thanks, [[m:User:I JethroBT (WMF)|I JethroBT (WMF)]], [[m:Community Resources|Community Resources]], Wikimedia Foundation. 20:52, 4 Σταυρί 2015 (UTC) ([[m:User:I JethroBT (WMF)/IEG 2015 Targets|''Opt-out Instructions'']]) <small>This message was sent by [[m:User:I JethroBT (WMF)|I JethroBT (WMF)]] ([[m:User talk:I JethroBT (WMF)|talk]]) through [[m:User:MediaWiki message delivery|MediaWiki message delivery]].</small> <!-- Message sent by User:I JethroBT (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:I_JethroBT_(WMF)/IEG_2015_Targets&oldid=13476366 --> == New Wikipedia Library Database Access (September 2015) == <div lang="en" dir="ltr" class="mw-content-ltr"> Hello Wikimedians! [[File:Wikipedia_Library_owl.svg|thumb|150px|The TWL OWL says sign up today!]] [[m:The Wikipedia Library|The Wikipedia Library]] is announcing signups today for free, full-access accounts to published research as part of our [[m:The_Wikipedia_Library/Journals|Publisher Donation Program]]. You can sign up for new accounts and research materials from: * '''[[w:en:WP:EBSCO|EBSCOHost]]''' - this is one of our largest access donations so far: access to a wide variety of academic, newspaper and magazine sources through their Academic Search Complete, Business Source Complete and MasterFILE Complete * '''[[w:en:WP:Newspaperarchive.com|Newspaperarchive.com]]''' - historical newspapers from the United States, Canada, UK and 20 other countries, and includes an Open Access "clipping" feature (1000 accounts) * '''[[w:en:WP:IMF|IMF Elibary]]'''- a digital collection of the IMF's reports, studies and research on global economics and development (50 accounts) * '''[[w:en:Wikipedia:Sabinet|Sabinet]]''' - one of the largest African digital publishers, based in South Africa, with a wide range of content in English and other European and African languages (10 accounts) * '''[[w:fr:Wikipédia:Numérique Premium|Numérique Premium]]''' - a French language social science and humanities ebook database, with topical collections on a wide range of topics (100) *'''[[w:ar:ويكيبيديا:مكتبة_ويكيبيديا/المنهل|Al Manhal]]''' - an Arabic and English database with a wide range of sources, largely focused on or published in the Middle East (60 accounts) *'''[[w:ar:ويكيبيديا:مكتبة ويكيبيديا/جملون|Jamalon]]''' - an Arabic book distributor, who is providing targeted book delivery to volunteers (50 editors) Many other partnerships with accounts available are listed on [[w:en:WP:The_Wikipedia_Library/Journals|our partners page]], including expanded accounts for [[w:en:WP:Elsevier ScienceDirect|Elsevier ScienceDirect]], [[w:en:WP:BMJ|British Medical Journal]] and [[w:en:WP:Dynamed|Dynamed]] and additional accounts for [[w:en:WP:Project MUSE|Project MUSE]], [[w:en:WP:DeGruyter|DeGruyter]], [[w:en:WP:Newspapers.com|Newspapers.com]], [[w:en:WP:Highbeam|Highbeam]] and [[w:en:HeinOnline|HeinOnline]]. Do better research and help expand the use of high quality references across Wikipedia projects: sign up today! <br>--[[w:en:Wikipedia:TWL/Coordinators|The Wikipedia Library Team]] 19:42, 16 September 2015 (UTC) :''We need help! Help us coordinate Wikipedia Library's distribution of accounts, communication of access opportunities and more! Please join our team at [https://meta.wikimedia.org/wiki/The_Wikipedia_Library/Coordinators/Signup our new coordinator signup].''<br> :<small>This message was delivered via the [https://meta.wikimedia.org/wiki/MassMessage#Global_message_delivery Global Mass Message] tool to [https://meta.wikimedia.org/wiki/Global_message_delivery/Targets/Wikipedia_Library The Wikipedia Library Global Delivery List].</small> </div> <!-- Message sent by User:Sadads@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikipedia_Library&oldid=13664781 --> == New Wikipedia Library Database Access (September 2015) == <div lang="en" dir="ltr" class="mw-content-ltr"> Hello Wikimedians! [[File:Wikipedia_Library_owl.svg|thumb|150px|The TWL OWL says sign up today!]] [[m:The Wikipedia Library|The Wikipedia Library]] is announcing signups today for free, full-access accounts to published research as part of our [[m:The_Wikipedia_Library/Journals|Publisher Donation Program]]. You can sign up for new accounts and research materials from: * '''[[w:en:WP:EBSCO|EBSCOHost]]''' - this is one of our largest access donations so far: access to a wide variety of academic, newspaper and magazine sources through their Academic Search Complete, Business Source Complete and MasterFILE Complete * '''[[w:en:WP:Newspaperarchive.com|Newspaperarchive.com]]''' - historical newspapers from the United States, Canada, UK and 20 other countries, and includes an Open Access "clipping" feature (1000 accounts) * '''[[w:en:WP:IMF|IMF Elibary]]'''- a digital collection of the IMF's reports, studies and research on global economics and development (50 accounts) * '''[[w:en:Wikipedia:Sabinet|Sabinet]]''' - one of the largest African digital publishers, based in South Africa, with a wide range of content in English and other European and African languages (10 accounts) * '''[[w:fr:Wikipédia:Numérique Premium|Numérique Premium]]''' - a French language social science and humanities ebook database, with topical collections on a wide range of topics (100) *'''[[w:ar:ويكيبيديا:مكتبة_ويكيبيديا/المنهل|Al Manhal]]''' - an Arabic and English database with a wide range of sources, largely focused on or published in the Middle East (60 accounts) *'''[[w:ar:ويكيبيديا:مكتبة ويكيبيديا/جملون|Jamalon]]''' - an Arabic book distributor, who is providing targeted book delivery to volunteers (50 editors) Many other partnerships with accounts available are listed on [[w:en:WP:The_Wikipedia_Library/Journals|our partners page]], including expanded accounts for [[w:en:WP:Elsevier ScienceDirect|Elsevier ScienceDirect]], [[w:en:WP:BMJ|British Medical Journal]] and [[w:en:WP:Dynamed|Dynamed]] and additional accounts for [[w:en:WP:Project MUSE|Project MUSE]], [[w:en:WP:DeGruyter|DeGruyter]], [[w:en:WP:Newspapers.com|Newspapers.com]], [[w:en:WP:Highbeam|Highbeam]] and [[w:en:HeinOnline|HeinOnline]]. Do better research and help expand the use of high quality references across Wikipedia projects: sign up today! <br>--[[w:en:Wikipedia:TWL/Coordinators|The Wikipedia Library Team]] 19:42, 16 September 2015 (UTC) :''We need help! Help us coordinate Wikipedia Library's distribution of accounts, communication of access opportunities and more! Please join our team at [https://meta.wikimedia.org/wiki/The_Wikipedia_Library/Coordinators/Signup our new coordinator signup].''<br> :<small>This message was delivered via the [https://meta.wikimedia.org/wiki/MassMessage#Global_message_delivery Global Mass Message] tool to [https://meta.wikimedia.org/wiki/Global_message_delivery/Targets/Wikipedia_Library The Wikipedia Library Global Delivery List].</small> </div> <!-- Message sent by User:Sadads@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikipedia_Library&oldid=13664781 --> == Only one week left for Individual Engagement Grant proposals! == (Apologies for using English below, please help translate if you are able.) '''There is still one week left to submit [[m:IEG|Individual Engagement Grant]] (IEG) proposals''' before the September 29th deadline. If you have ideas for new tools, community-building processes, and other experimental projects that enhance the work of Wikimedia volunteers, start your proposal today! Please encourage others who have great ideas to apply as well. Support is available if you want help turning your idea into a grant request. *[[m:Grants:IEG#ieg-apply|'''Submit''' a grant request]] *[[m:Grants:IdeaLab|'''Get help''' with your proposal in IdeaLab]] *[[m:Grants:IEG#ieg-engaging|'''Learn from examples''' of completed Individual Engagement Grants]] [[m:User:I JethroBT (WMF)|I JethroBT (WMF)]], [[m:Community Resources|Community Resources]] 21:01, 22 Σταυρί 2015 (UTC) <!-- Message sent by User:I JethroBT (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:I_JethroBT_(WMF)/IEG_2015_Targets&oldid=13754911 --> == Reimagining WMF grants report == ''(My apologies for using English here, please help translate if you are able.)'' Last month, we asked for community feedback on [[m:Grants:IdeaLab/Reimagining WMF grants| a proposal to change the structure of WMF grant programs]]. Thanks to the 200+ people who participated! '''[[m:Grants:IdeaLab/Reimagining_WMF_grants/Outcomes| A report]]''' on what we learned and changed based on this consultation is now available. Come read about the findings and next steps as WMF’s Community Resources team begins to implement changes based on your feedback. Your questions and comments are welcome on [[m:Grants talk:IdeaLab/Reimagining WMF grants/Outcomes|the outcomes discussion page]]. With thanks, [[m:User:I JethroBT (WMF)|I JethroBT (WMF)]] 16:56, 28 Σταυρί 2015 (UTC) <!-- Message sent by User:I JethroBT (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Grants:IdeaLab/Reimagining_WMF_grants/ProjectTargets&oldid=13850666 --> == Reimagining WMF grants report == ''(My apologies for using English here, please help translate if you are able.)'' Last month, we asked for community feedback on [[m:Grants:IdeaLab/Reimagining WMF grants| a proposal to change the structure of WMF grant programs]]. Thanks to the 200+ people who participated! '''[[m:Grants:IdeaLab/Reimagining_WMF_grants/Outcomes| A report]]''' on what we learned and changed based on this consultation is now available. Come read about the findings and next steps as WMF’s Community Resources team begins to implement changes based on your feedback. Your questions and comments are welcome on [[m:Grants talk:IdeaLab/Reimagining WMF grants/Outcomes|the outcomes discussion page]]. With thanks, [[m:User:I JethroBT (WMF)|I JethroBT (WMF)]] 18:48, 28 Σταυρί 2015 (UTC) <!-- Message sent by User:I JethroBT (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Grants:IdeaLab/Reimagining_WMF_grants/ProjectTargets&oldid=13850666 --> == Community Wishlist Survey == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hi everyone! Apologies for posting in English. Translations are very welcome. The [[:m:Community Tech|Community Tech team]] at the Wikimedia Foundation is focused on building improved curation and moderation tools for experienced Wikimedia contributors. We're now starting a '''[[:m:2015 Community Wishlist Survey|Community Wishlist Survey]]''' to find the most useful projects that we can work on. For phase 1 of the survey, we're inviting all active contributors to submit brief proposals, explaining the project that you'd like us to work on, and why it's important. Phase 1 will last for 2 weeks. In phase 2, we'll ask you to vote on the proposals. Afterwards, we'll analyze the top 10 proposals and create a prioritized wishlist. While most of this process will be conducted in English, we're inviting people from any Wikimedia wiki to submit proposals. We'll also invite volunteer translators to help translate proposals into English. Your proposal should include: the problem that you want to solve, who would benefit, and a proposed solution, if you have one. You can submit your proposal on the Community Wishlist Survey page, using the entry field and the big blue button. We will be accepting proposals for 2 weeks, ending on November 23. We're looking forward to hearing your ideas! </div> <div lang="en" dir="ltr" class="mw-content-ltr">Community Tech Team via [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|talk]]) 21:57, 9 Αεργί 2015 (UTC)</div> <!-- Message sent by User:Johan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Johan_(WMF)/Target_lists/Global_distribution&oldid=14554458 --> == Wikimania 2016 scholarships ambassadors needed == <div lang="en" dir="ltr" class="mw-content-ltr"> Hello! [[wm2016:|Wikimania 2016]] scholarships will soon be open; by the end of the week we'll form the committee and we need your help, see [[wm2016:Special:MyLanguage/Scholarship committee|Scholarship committee]] for details. If you want to carefully review nearly a thousand applications in January, you might be a perfect committee member. Otherwise, you can '''volunteer as "ambassador"''': you will observe all the committee activities, ensure that people from your language or project manage to apply for a scholarship, translate '''scholarship applications written in your language''' to English and so on. Ambassadors are allowed to ask for a scholarship, unlike committee members. [[wm2016:Scholarship committee|Wikimania 2016 scholarships subteam]] 10:47, 10 Αεργί 2015 (UTC) </div> <!-- Message sent by User:Nemo bis@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=14347818 --> == Harassment consultation == {{int:Please-translate}} The Community Advocacy team the Wikimedia Foundation has opened a consultation on the topic of '''harassment''' on [[m:Harassment consultation 2015|Meta]]. The consultation period is intended to run for one month from today, November 16, and end on December 17. Please share your thoughts there on harassment-related issues facing our communities and potential solutions. (Note: this consultation is not intended to evaluate specific cases of harassment, but rather to discuss the problem of harassment itself.) ::*[[m:Harassment consultation 2015|Harassment consultation 2015]] :Regards, [[m:Community Advocacy|Community Advocacy, Wikimedia Foundation]] <!-- Message sent by User:PEarley (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:PEarley_(WMF)/Inspire_Mass_Message&oldid=14684364 --> == [[m:Special:MyLanguage/Free Bassel/MassMessages/2015 Free Bassel banner straw poll|Your input requested on the proposed #FreeBassel banner campaign]] == ''This is a message regarding the [[:m:Special:MyLanguage/Free Bassel/Banner|proposed 2015 Free Bassel banner]]. [[m:Special:MyLanguage/Free Bassel/MassMessages/2015 Free Bassel banner straw poll|Translations]] are available.'' Hi everyone, This is to inform all Wikimedia contributors that a [[:m:Special:MyLanguage/Free Bassel/Banner/Straw poll|straw poll seeking your involvement]] has just been started on Meta-Wiki. As some of your might be aware, a small group of Wikimedia volunteers have proposed a banner campaign informing Wikipedia readers about the urgent situation of our fellow Wikipedian, open source software developer and Creative Commons activist, [[:w:Bassel Khartabil|Bassel Khartabil]]. An exemplary [[:m:Special:MyLanguage/Free Bassel/Banner|banner]] and an [[:m:Special:MyLanguage/Free Bassel/Banner|explanatory page]] have now been prepared, and translated into about half a dozen languages by volunteer translators. We are seeking [[:m:Special:MyLanguage/Free Bassel/Banner/Straw poll|your involvement to decide]] if the global Wikimedia community approves starting a banner campaign asking Wikipedia readers to call on the Syrian government to release Bassel from prison. We understand that a campaign like this would be unprecedented in Wikipedia's history, which is why we're seeking the widest possible consensus among the community. Given Bassel's urgent situation and the resulting tight schedule, we ask everyone to [[:m:Special:MyLanguage/Free Bassel/Banner/Straw poll|get involved with the poll and the discussion]] to the widest possible extent, and to promote it among your communities as soon as possible. (Apologies for writing in English; please kindly [[m:Special:MyLanguage/Free Bassel/MassMessages/2015 Free Bassel banner straw poll|translate]] this message into your own language.) Thank you for your participation! ''Posted by the [[:m:Special:MyLanguage/User:MediaWiki message delivery|MediaWiki message delivery]] 21:47, 25 November 2015 (UTC) • [[m:Special:MyLanguage/Free Bassel/MassMessages/2015 Free Bassel banner straw poll|Translate]] • [[:m:Talk:Free Bassel/Banner|Get help]] <!-- Message sent by User:Varnent@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=14758733 --> == Community Wishlist Survey == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hi everyone! Apologies for posting this in English. Translations are very welcome. We're beginning the second part of the Community Tech team's '''[[:m:2015 Community Wishlist Survey/Voting|Community Wishlist Survey]]''', and we're inviting all active contributors to vote on the proposals that have been submitted. Thanks to you and other Wikimedia contributors, 111 proposals were submitted to the team. We've split the proposals into categories, and now it's time to vote! You can vote for any proposal listed on the pages, using the <nowiki>{{Support}}</nowiki> tag. Feel free to add comments pro or con, but only support votes will be counted. The voting period will be 2 weeks, ending on December 14. The proposals with the most support votes will be the team's top priority backlog to investigate and address. Thank you for participating, and we're looking forward to hearing what you think! Community Tech via </div> [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|talk]]) 14:38, 1 Χριστουγενναρί 2015 (UTC) <!-- Message sent by User:Johan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Johan_(WMF)/Target_lists/Global_distribution&oldid=14913494 --> == Please test the visual editor on this Wikipedia == <div dir="ltr" class="me-content-ltr" lang="en"> [[File:VisualEditor-logo-pacifico.svg|right|frameless]] ''I apologize for writing in English. {{Int:Please-translate}}. {{Int:Feedback-thanks-title}}'' Hi everybody, My name is Erica, and I am a [[Mw:Community Engagement (Product)|Community Liaison]] at the Wikimedia Foundation. The [[mw:Editing/Team|Editing team at WMF]] wants to know what you think about [[:mw:VisualEditor|the visual editor]] on this Wikipedia. {{int:visualeditor}} is a way to edit articles that is similar to a word processing application. The team has been working on support for languages that use input method editors (IMEs), such as this one. '''To test the visual editor, please:''' # '''Opt-in to the visual editor''' by going to [[Special:Preferences#mw-prefsection-betafeatures]] and choosing "{{int:visualeditor}}". Save your preferences. # '''Edit any article or your user page''' in the visual editor. See the [[:mw:Help:VisualEditor/User guide]] for information on how to use the visual editor. # '''Please post your comments and the language(s) that you tested''' at [https://www.mediawiki.org/wiki/Topic:St8y4ni42d0vr9cv the feedback thread on Mediawiki.org]. The developers would like to know how well it works. Please tell them what kind of computer, web browser, and keyboard you are using. It is important that they hear from as many editors as possible. You may leave your comments in any language. When language support has been refined a little more based on your feedback, all editors at this wiki can have access to the visual editor. If you want to help prepare, please read [[mw:Help:VisualEditor/VE as Beta Feature|the advice on mediawiki.org]]. {{Int:Feedback-thanks-title}} <div style="float: right;">''[[m:VisualEditor/Newsletter/Phase 6.1|Wrong target page? Fix it here]] • [[:m:VisualEditor/Newsletter|Sign up for the visual editor's multilingual newsletter]] '' </div> –[[:m:User:Elitre (WMF)]], 12:15, 2 Χριστουγενναρί 2015 (UTC) </div> <!-- Message sent by User:Elitre (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=VisualEditor/Newsletter/Phase_6.1&oldid=14780730 --> == New Wikipedia Library Accounts Available Now (December 2015) == <div lang="en" dir="ltr" class="mw-content-ltr"> Hello Wikimedians! [[File:Wikipedia_Library_owl.svg|thumb|150px|The TWL OWL says sign up today!]] [[m:The Wikipedia Library|The Wikipedia Library]] is announcing signups today for, free, full-access accounts to published research as part of our [[m:The_Wikipedia_Library/Journals|Publisher Donation Program]]. You can sign up for new accounts and research materials from: * [[w:en:WP:Gale|Gale]] - multidisciplinary periodicals, newspapers, and reference sources - 10 accounts * [[w:en:Wikipedia:Brill|Brill]] - academic e-books and journals in English, Dutch, and other languages - 25 accounts * [[w:fi:Wikipedia:Wikipedian_Lähdekirjasto/Suomalaisen_Kirjallisuuden_Seura|Finnish Literature Society]] (in Finnish) * [[w:fa:ویکی‌پدیا:مگ‌ایران|Magiran]] (in Farsi) - scientific journal articles - 100 articles * [[w:fa:ویکی‌پدیا:سیویلیکا|Civilica]] (in Farsi) - Iranian journal articles, seminars, and conferences - 50 accounts Many other partnerships with accounts available are listed on [[m:The_Wikipedia_Library/Journals|our partners page]], including [[w:en:WP:EBSCO|EBSCO]], [[w:en:WP:DeGruyter|DeGruyter]], and [[w:en:WP:Newspaperarchive.com|Newspaperarchive.com]]. Do better research and help expand the use of high quality references across Wikipedia projects: sign up today! <br>--[[m:The Wikipedia Library/Coordinators|The Wikipedia Library Team]] 01:01, 11 December 2015 (UTC) :''Help us a start Wikipedia Library in your language! Email us at wikipedialibrary@wikimedia.org''<br> :<small>This message was delivered via the [https://meta.wikimedia.org/wiki/MassMessage#Global_message_delivery Global Mass Message] tool to [https://meta.wikimedia.org/wiki/Global_message_delivery/Targets/Wikipedia_Library The Wikipedia Library Global Delivery List].</small></div> <!-- Message sent by User:Matiia@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikipedia_Library&oldid=14689842 --> == [[m:Special:MyLanguage/Wikipedia 15|Get involved in Wikipedia 15!]] == <div lang="en" dir="ltr" class="mw-content-ltr"> ''This is a message from the [[m:Special:MyLanguage/Wikimedia Foundation|Wikimedia Foundation]]. [[m:Special:MyLanguage/Wikipedia 15/MassMessages/Get involved|Translations]] are available.'' [[File:International-Space-Station wordmark blue.svg|right|200px]] As many of you know, January 15 is Wikipedia’s 15th Birthday! People around the world are getting involved in the celebration and have started adding their [[m:Special:MyLanguage/Wikipedia 15/Events|events on Meta Page]]. While we are celebrating Wikipedia's birthday, we hope that all projects and affiliates will be able to utilize this celebration to raise awareness of our community's efforts. Haven’t started planning? Don’t worry, there’s lots of ways to get involved. Here are some ideas: * '''[[m:Special:MyLanguage/Wikipedia 15/Events|Join/host an event]]'''. We already have more than 80, and hope to have many more. * '''[[m:Special:MyLanguage/Wikipedia 15/Media|Talk to local press]]'''. In the past 15 years, Wikipedia has accomplished extraordinary things. We’ve made a [[m:Special:MyLanguage/Wikipedia 15/15 years|handy summary]] of milestones and encourage you to add your own. More resources, including a [[m:Special:MyLanguage/Wikipedia 15/Media#releases|press release template]] and [[m:Special:MyLanguage/Communications/Movement Communications Skills|resources on working with the media]], are also available. * '''[[m:Special:MyLanguage/Wikipedia 15/Material|Design a Wikipedia 15 logo]]'''. In place of a single icon for Wikipedia 15, we’re making dozens. Add your own with something fun and representative of your community. Just use the visual guide so they share a common sensibility. * '''[[m:Special:MyLanguage/Wikipedia 15/Events/Package#birthdaywish|Share a message on social media]]'''. Tell the world what Wikipedia means to you, and add #wikipedia15 to the post. We might re-tweet or share your message! Everything is linked on the [[m:Special:MyLanguage/Wikipedia 15|Wikipedia 15 Meta page]]. You’ll find a set of ten data visualization works that you can show at your events, and a [[c:Category:Wikipedia15 Mark|list of all the Wikipedia 15 logos]] that community members have already designed. If you have any questions, please contact [[m:User:ZMcCune (WMF)|Zachary McCune]] or [[m:User:JSutherland (WMF)|Joe Sutherland]]. Thanks and Happy nearly Wikipedia 15!<br /> -The Wikimedia Foundation Communications team ''Posted by the [[m:User:MediaWiki message delivery|MediaWiki message delivery]], 20:59, 18 Χριστουγενναρί 2015 (UTC) • [[m:Wikipedia 15/MassMessages/Get involved|{{int:please-translate}}]] • [[m:Talk:Wikipedia 15|{{int:help}}]] </div> <!-- Message sent by User:GVarnum-WMF@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=15158198 --> == Wikimania 2016 Scholarships - Deadline soon! == :{{int:Please-translate}} A reminder - applications for scholarships for Wikimania 2016 in Esino Lario, Italy, are closing soon! Please get your applications in by January 9th. To apply, visit the page below: :*[https://wikimania2016.wikimedia.org/wiki/Scholarships Wikimania 2016 Scholarships] [[User:PEarley (WMF)|Patrick Earley (WMF)]] via [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|talk]]) 01:49, 5 Καλανταρί 2016 (UTC) <!-- Message sent by User:PEarley (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:PEarley_(WMF)/Mass_Message_-_large&oldid=15209973 --> == The visual editor is coming to this wiki == [[File:Norwegian-road-sign-110.0 (fluorescent).svg|right|frameless]] ''Hello again. Please excuse the English. {{Int:Please-translate}}. {{Int:Feedback-thanks-title}}'' <mark>[[mw:VisualEditor/Portal|'''The visual editor''']] is coming to all editors at this Wikipedia on Monday, 25 January.</mark> It allows people to edit Wikipedia articles as if they were using word processing software. You don't have to wait until the deployment to test it; '''you can test the visual editor right now.''' To turn it on, select [[Special:Preferences#mw-prefsection-betafeatures|"Beta"]] in your preferences. Choose "{{int:visualeditor}}" and click save. When it is enabled, you will press the "{{int:vector-view-edit}}" button to edit an article in the new software. To use the wikitext editor, you can press "{{int:visualeditor-ca-editsource}}". After the deployment, everyone will automatically have the option to use either the visual editor or the current wikitext editor. For more information about how to use the visual editor, see [[:mw:Help:VisualEditor/User guide]]. More information about [[mediawikiwiki:Help:VisualEditor/VE_as_the_main_editor|preparing for the visual editor is posted here]]. * It's easier to add templates if you've added [[mw:TemplateData|TemplateData]] information. * Please help translate the user interface and pages about the visual editor. See [[:mw:VisualEditor/TranslationCentral|the visual editor's TranslationCentral]] for general information. To translate the user guide, go to [[mediawikiwiki:Help:VisualEditor/User_guide|the MediaWiki.org page]], and select "{{int:translate-tag-translate-link-desc}}". Your language should be available from the drop-down menu on the right. Once you've done this, you'll see the document in English side by side with any translation work already done in your language. You can add new translations or change old translations. To [https://translatewiki.net/w/i.php?title=Special:Translate&group=ext-visualeditor-0-all&language= translate the user interface], you need to create an account at translatewiki.net. Contact me personally if you need help with that. * Please let us know if you find any problems. You can report issues in [[phab:|Phabricator, the new bug tracking system]] or on the [[:mw:Topic:St8y4ni42d0vr9cv|central feedback page]] on MediaWiki.org. If you notice major issues affecting your project, please leave a note [[:mw:User talk:Elitre (WMF)|on my talk page]]. In case of emergency (like an unexpected bug causing widespread problems), please contact James Forrester, the product manager, at jforrester@wikimedia.org or on [[:m:IRC|IRC]] in the #mediawiki-visualeditor channel. <div style="float: right;">''[[m:VisualEditor/Newsletter/Phase 6.1|Wrong target page? Fix it here]] • [[:m:VisualEditor/Newsletter|Sign up for the visual editor's multilingual newsletter]] ''</div> Thank you, and happy editing! --[[:mw:User:Elitre (WMF)|Elitre (WMF)]] [[:mw:User talk:Elitre (WMF)|(talk)]] 18:20, 15 Καλανταρί 2016 (UTC) <!-- Message sent by User:Elitre (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=VisualEditor/Newsletter/Phase_6.1&oldid=14780730 --> == 2016 WMF Strategy consultation == :{{int:Please-translate}} Hello, all. The Wikimedia Foundation (WMF) has launched a consultation to help create and prioritize WMF strategy beginning July 2016 and for the 12 to 24 months thereafter. This consultation will be open, on Meta, from 18 January to 26 February, after which the Foundation will also use these ideas to help inform its Annual Plan. (More on our timeline can be found on that Meta page.) Your input is welcome (and greatly desired) at the Meta discussion, [[:m:2016 Strategy/Community consultation|2016 Strategy/Community consultation]]. Apologies for English, where this is posted on a non-English project. We thought it was more important to get the consultation translated as much as possible, and good headway has been made there in some languages. There is still much to do, however! We created [[:m:2016 Strategy/Translations]] to try to help coordinate what needs translation and what progress is being made. :) If you have questions, please reach out to me on my talk page or on the strategy consultation's talk page or by email to mdennis@wikimedia.org. I hope you'll join us! [[:m:User:Mdennis (WMF)|Maggie Dennis]] via [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|talk]]) 19:07, 18 Καλανταρί 2016 (UTC) <!-- Message sent by User:Mdennis (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:PEarley_(WMF)/Mass_Message_-_large&oldid=15253743 --> == Pontic is missing == Pontic Greek is missing from this page:<br /> https://meta.wikimedia.org/wiki/There_is_also_a_Wikipedia_in_your_language<br /> More than 100 languages are now listed.<br /> Thank you, [[Χρήστες:Varlaam|Varlaam]] ([[Καλάτσεμαν χρήστε:Varlaam|talk]]) 22:17, 30 Καλανταρί 2016 (UTC) == The visual editor is now active here == {| class="wikitable" style="width: 30%;" align="right" |- ! scope="col" | '''Please translate to Pontic''' ([[:mw:VisualEditor/TranslationCentral|how-to]]; data: January 2016) ! scope="col"| Completion ! scope="col"| Outdated |- |[https://translatewiki.net/w/i.php?title=Special:Translate&group=ext-visualeditor-0-all&language=pnt Interface messages*] |0% [[File:25 percent.svg|alt=Way to go to complete translations!]] |0% [[File:100 percent.svg|alt=25 to 0% remaining]] |- |[https://www.mediawiki.org/w/index.php?title=Special:Translate&group=page-Help%3AVisualEditor%2FUser+guide&language=pnt&filter=%21translated&action=translate User Guide] |0% [[File:25 percent.svg|alt=Way to go to complete translations!]] |0% [[File:100 percent.svg|alt=25 to 0% remaining]] |- |[https://www.mediawiki.org/w/index.php?title=Special:Translate&group=page-Help%3AVisualEditor%2FFAQ&language=pnt&action=page&filter= FAQ] |0% [[File:25 percent.svg|alt=Way to go to complete translations!]] |0% [[File:100 percent.svg|alt=25 to 0% remaining]] |- |[https://www.mediawiki.org/w/index.php?title=Special:Translate&group=page-VisualEditor%2FPortal&language=pnt&action=page&filter= Portal] |0% [[File:25 percent.svg|alt=Way to go to complete translations!]] |0% [[File:100 percent.svg|alt=25 to 0% remaining]] |- |[https://www.mediawiki.org/w/index.php?title=Special:Translate&group=page-VisualEditor%2FPortal%2FTemplateData&language=pnt&action=page&filter= TemplateData information] |0% [[File:25 percent.svg|alt=Way to go to complete translations!]] |0% [[File:100 percent.svg|alt=25 to 0% remaining]] |- |[https://www.mediawiki.org/w/index.php?title=Special:Translate&group=page-Help%3ATemplateData&language=pnt&action=page&filter= TemplateData help] |0% [[File:25 percent.svg|alt=Way to go to complete translations!]] |0% [[File:100 percent.svg|alt=25 to 0% remaining]] |- |colspan="3;"|<small>* The interface is hosted at https://translatewiki.net; you'll need an account if you never translated there before. The other pages are at Mediawiki.org, for which you can use your regular Wikipedia account.</small> |- |} Hello again (and again, apologies for using English on this page. {{Int:Please-translate}}. {{Int:Feedback-thanks-title}}) As some of you have noticed, '''this Wikipedia now has [[:mw:VisualEditor/Portal|the visual editor]] ({{int:visualeditor}}) enabled for all users'''. (We planned to do this on 25 January 2016. However, last week, there was an unusual problem with an upgrade to MediaWiki. Thanks for your understanding.) There are now two tabs for editing: "{{int:vector-view-edit}}" and "{{int:visualeditor-ca-editsource}}". Click "{{int:vector-view-edit}}" to use the visual editor. Click "{{int:visualeditor-ca-editsource}}" to edit using wikitext markup. All edits using the visual editor will be tagged with "{{Int:tag-visualeditor}}" in recent changes, watchlists, and page histories. To access the [[:mw:Help:VisualEditor/User guide|User Guide for the visual editor]], click on the "(?)" icon in its toolbar. If you wish to disable this new system, this can be done under [[Special:Preferences#mw-prefsection-editing|"Editing" in your preferences]]. Please let us know if you find any problems. You can report issues in [[phab:|Phabricator, the new bug tracking system]] or on the [[:mw:Topic:St8y4ni42d0vr9cv|central feedback page]] on MediaWiki.org. <mark>If you can translate from English into this wiki's language, or know anyone who can, please follow the links on the "translation table" and help your community get the best possible experience when it comes to interface messages and documentation related to the visual editor.</mark> [[:mw:User talk:Elitre (WMF)|Please contact me directly]] whenever you need help! Happy editing, [[:mw:User:Elitre (WMF)|Elitre (WMF)]] [[:mw:User talk:Elitre (WMF)|(talk)]] 17:45, 1 Κούντουρονος 2016 (UTC) == New Wikipedia Library Accounts Available Now (March 2016) == <div lang="en" dir="ltr" class="mw-content-ltr"> ''Apologies for writing in English. {{int:Please-translate}}'' Hello Wikimedians! [[File:Wikipedia_Library_owl.svg|thumb|upright|The TWL OWL says sign up today!]] [[m:The Wikipedia Library|The Wikipedia Library]] is announcing signups today for free, full-access accounts to published research as part of our [[m:The_Wikipedia_Library/Journals|Publisher Donation Program]]. You can sign up for access to research materials from: * '''[[w:en:WP:Cambridge|Cambridge University Press]]''' - a major publisher of academic journals and e-books in a variety of subject areas. Access includes both Cambridge Journals Online and Cambridge Books. 25 accounts. * '''[[w:en:WP:Alexander Street|Alexander Street ''Academic Video Online'']]''' - a large academic video collection good for a wide range of subjects, including news programs (such as PBS and BBC), music and theatre, lectures and demonstrations, and documentaries. 25 accounts. * '''[[w:en:WP:Baylor|Baylor University Press]]''' - a publisher of academic e-books primarily in religious studies and the humanities. 50 accounts. * '''[[w:en:WP:Future Science Group|Future Science Group]]''' - a publisher of medical, biotechnological and scientific research. 30 accounts. * '''[[w:en:WP:Annual Reviews|Annual Reviews]]''' - a publisher of review articles in the biomedical sciences. 100 accounts. * '''[[w:en:WP:Miramar|Miramar Ship Index]]''' - an index to ships and their histories since the early 19th century. 30 accounts. '''Non-English''' *'''[[w:fa:ویکی‌پدیا:نورمگز|Noormags]]''' - Farsi-language aggregator of academic and professional journals and magazines. 30 accounts. *'''[[w:ar:ويكيبيديا:مكتبة ويكيبيديا/كتبنا|Kotobna]]''' - Arabic-language ebook publishing platform. 20 accounts. '''Expansions''' *'''[[w:en:WP:Gale|Gale]]''' - aggregator of newspapers, magazines and journals. 50 accounts. *'''[[w:en:WP:Elsevier|Elsevier ScienceDirect]]''' - an academic publishing company that publishes medical and scientific literature. 100 accounts. Many other partnerships with accounts available are listed on [[w:en:WP:The_Wikipedia_Library/Journals|our partners page]], including [[w:en:WP:Project MUSE|Project MUSE]], [[w:en:WP:De Gruyter|De Gruyter]], [[w:en:WP:EBSCO|EBSCO]], [[w:en:WP:Newspapers.com|Newspapers.com]] and [[w:en:WP:BNA|British Newspaper Archive]]. Do better research and help expand the use of high quality references across Wikipedia projects: sign up today! <br>--[[w:en:Wikipedia:TWL/Coordinators|The Wikipedia Library Team]] 20:30, 17 Μαρτ 2016 (UTC) :''You can host and coordinate signups for a Wikipedia Library branch in your own language. Please contact [[m:User:Ocaasi_(WMF)|Ocaasi (WMF)]].'' :<small>This message was delivered via the [https://meta.wikimedia.org/wiki/MassMessage#Global_message_delivery Global Mass Message] tool to [https://meta.wikimedia.org/wiki/Global_message_delivery/Targets/Wikipedia_Library The Wikipedia Library Global Delivery List].</small> </div> <!-- Message sent by User:Sadads@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikipedia_Library&oldid=15424370 --> == Open Call for Individual Engagement Grants == [[File:IEG barnstar 2.png|right|100px]] {{int:Please-translate}}: Greetings! The '''[[m:Special:MyLanguage/IEG|Individual Engagement Grants (IEG) program]] is accepting proposals''' until April 12th to fund new tools, research, outreach efforts, and other experiments that enhance the work of Wikimedia volunteers. Whether you need a small or large amount of funds (up to $30,000 USD), IEGs can support you and your team’s project development time in addition to project expenses such as materials, travel, and rental space. *[[m:Special:MyLanguage/Grants:IEG#ieg-apply|'''Submit''' a grant request]] or [[m:Special:MyLanguage/Grants:IdeaLab|'''draft''' your proposal]] in IdeaLab *[[m:Special:MyLanguage/Grants:IdeaLab/Events#Upcoming_events|'''Get help''' with your proposal]] in an upcoming Hangout session *[[m:Special:MyLanguage/Grants:IEG#ieg-engaging|'''Learn from examples''' of completed Individual Engagement Grants]] With thanks, [[m:User:I JethroBT (WMF)|I JethroBT (WMF)]] 15:47, 31 Μαρτ 2016 (UTC) <!-- Message sent by User:I JethroBT (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:I_JethroBT_(WMF)/IEG_2015_Targets&oldid=15490024 --> == Бюллетень «Википедии на языках России», выпуск #5 (апр'16) / «Wikipedias in the languages of Russia» newsletter, issue #5 (Apr.'16) == {{User:Frhdkazan/Wikipedias in the languages of Russia/Newsletter/2016-04-15}} == Server switch 2016 == <div lang="en" dir="ltr" class="mw-content-ltr"> The [[foundation:|Wikimedia Foundation]] will be testing its newest data center in Dallas. This will make sure Wikipedia and the other Wikimedia wikis can stay online even after a disaster. To make sure everything is working, the Wikimedia Technology department needs to conduct a planned test. This test will show whether they can reliably switch from one data center to the other. It requires many teams to prepare for the test and to be available to fix any unexpected problems. They will switch all traffic to the new data center on '''Tuesday, 19 April'''.<br/> On '''Thursday, 21 April''', they will switch back to the primary data center. Unfortunately, because of some limitations in [[mw:Manual:What is MediaWiki?|MediaWiki]], all editing must stop during those two switches. We apologize for this disruption, and we are working to minimize it in the future. '''You will be able to read, but not edit, all wikis for a short period of time.''' *You will not be able to edit for approximately 15 to 30 minutes on Tuesday, 19 April and Thursday, 21 April, starting at 14:00 UTC (15:00 BST, 16:00 CEST, 10:00 EDT, 07:00 PDT). If you try to edit or save during these times, you will see an error message. We hope that no edits will be lost during these minutes, but we can't guarantee it. If you see the error message, then please wait until everything is back to normal. Then you should be able to save your edit. But, we recommend that you make a copy of your changes first, just in case. ''Other effects'': *Background jobs will be slower and some may be dropped. Red links might not be updated as quickly as normal. If you create an article that is already linked somewhere else, the link will stay red longer than usual. Some long-running scripts will have to be stopped. *There will be a code freeze for the week of 18 April. No non-essential code deployments will take place. This test was originally planned to take place on March 22. April 19th and 21st are the new dates. You can [[wikitech:Switch Datacenter#Schedule for Q3 FY2015-2016 rollout|read the schedule at wikitech.wikimedia.org]]. They will post any changes on that schedule. There will be more notifications about this. '''Please share this information with your community.''' /[[m:User:Whatamidoing (WMF)|User:Whatamidoing (WMF)]] ([[m:User talk:Whatamidoing (WMF)|talk]]) 21:07, 17 Απρίλ 2016 (UTC) </div> <!-- Message sent by User:Johan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Tech/Server_switch_2016/Delivery_list&oldid=15533827 --> == Wikipedia to the Moon == <div lang="en" dir="ltr" class="mw-content-ltr"> Hello! Sorry that this is in English only, but we are using village pump messaging in order to reach as many language communities as possible. Wrong page? Please fix it [[:m:Distribution list/Global message delivery|here]]. This is an invitation to all Wikipedians: Wikimedia Deutschland has been given data space to include Wikipedia content in an upcoming mission to the Moon. (No joke!) We have launched a community discussion about how to do that, because we feel that this is for the global community of editors. Please, '''[[:m:Special:MyLanguage/Wikipedia to the Moon|join the discussion on Meta-Wiki]]''' (and translate this invitation to your language community)! Best, [[:m:Talk:Wikipedia to the Moon|Moon team at Wikimedia Deutschland]] 15:35, 21 Απρίλ 2016 (UTC) </div> <!-- Message sent by User:Martin Rulsch (WMDE)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_Wikipedia_delivery&oldid=15542536 --> == [[m:Wikipedias in the languages of Russia/Newsletter#2016-05-15|'''Бюллетень «Википедии на языках России», выпуск #6 (май'16) / «Wikipedias in the languages of Russia» newsletter, issue #6 (May.'16)''']] == {| border="2" cellspacing="0" cellpadding="4" rules="all" style="margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; font-size:95%; empty-cells:show; |Уважаемый коллега, ''Большое спасибо всем и каждому, кто вносит свой вклад в развитие [[File:Flag-map_of_Russia.svg|border|20px]] [[m:Wikipedias_in_the_languages_of_Russia|Разделов Википедии на языках России]].'' В этом выпуске: * [https://lists.wikimedia.org/pipermail/wikimedia-l/2016-May/084165.html Article Placeholders запущен]: ''[[:wmru:Простейшая работа в Вики-данных|как работать в Викидата]]'' * Трансляция ''[[:wmru:Вики-премия 2016|Вики-премии 2016]]'' с 11:00 мск 16 мая. * Допустимо ли ''[[m:User talk:Frhdkazan#ru - Проект текста обращения к стюардам|копивио в суверенной ТатВики]]''... * Всемирный курултай башкир ''[[:n:ru:Администратор Башкирской Википедии награжден медалью Всемирного курултая башкир|наградил бюрократа БашВики]]''. * ''[[:wmru:Финно-угорский вики-семинар 2016/Итоги|Итоги]]'' финно-угорского викисеминара 2016. * [[m:Wikipedias in the languages of Russia/Tables/ru|Текущие показатели]] проектов и [[m:Wikipedias_in_the_languages_of_Russia/Trends#2016-03|аналитическая таблица за март 2016]]. [[m:Wikipedias in the languages of Russia/Newsletter/Delivery list|Подписаться/Отписаться]]. ''Готовы поделиться своими новостями или опытом?'' <u>[[m:Wikipedias_in_the_languages_of_Russia/Newsletter#Подготовка нового выпуска / Preparing new issue|добавляйте ссылку в следующий выпуск]]</u>! | Dear colleague, ''Great thanks go to each and everyone contributing into developing [[File:Flag-map_of_Russia.svg|border|20px]] [[m:Wikipedias_in_the_languages_of_Russia|Wikipedias in the languages of Russia]]''. In this issue: * [https://lists.wikimedia.org/pipermail/wikimedia-l/2016-May/084165.html Article Placeholders launched]: ''[[:wmru:Простейшая работа в Вики-данных|simplest work in Wikidata]]'' * ''[[:wmru:Вики-премия 2016|Wiki-Award 2016]]'' broadcast since 11:00 CET on May 16. * ''[[m:User talk:Frhdkazan#en - Draft Steward Request for Comment|Copyvio in sovereign ttwiki]]'': how acceptable?... * World Kurultay of Bashkirs ''[[:n:ru:Администратор Башкирской Википедии награжден медалью Всемирного курултая башкир|awarded bawiki bureaucrat]]''. * ''[[:wmru:Финно-угорский вики-семинар 2016/Итоги|Results]]'' of Finno-Ugric Wiki-seminar 2016. * [[m:Wikipedias in the languages of Russia/Tables|Current Stats]] and [[m:Wikipedias_in_the_languages_of_Russia/Trends#2016-03|March 2016 analytical table]]. [[m:Wikipedias in the languages of Russia/Newsletter/Delivery list|Subscribe/Unsubscribe]]. ''Ready to share own news or valuable experience?'' Add a link into <u>[[m:Wikipedias_in_the_languages_of_Russia/Newsletter#Подготовка нового выпуска / Preparing new issue|the next month issue]]</u>! |}</div>--[[Χρήστες:Frhdkazan|Frhdkazan]] ([[Καλάτσεμαν χρήστε:Frhdkazan|talk]]) 18:34, 15 Καλομηνά 2016 (UTC) == Wikipedia to the Moon: voting has begun == Hello, after six weeks of community discussion about [https://moon.wikimedia.org Wikipedia to the Moon], there are now 10 different proposals for content for the mission. Starting today, [[:m:Special:MyLanguage/Wikipedia_to_the_Moon/Voting|you can vote for them on Meta-Wiki]], and decide what we will work on: a Wikipedia canon, different lists, the Moon in 300 languages, an astronomy editathon, featured articles, articles about technology, endangered things, or DNA-related topics. You can even vote against community involvement. Voting is open until 24 June. Sorry that this message is again in English only, but we are using village pumps to reach as many communities as possible, so that everyone knows they can vote. Best, [[:m:Special:MyLanguage/Wikipedia to the Moon/About|Moon team at Wikimedia Deutschland]] 15:31, 10 Κερασινού 2016 (UTC) <!-- Message sent by User:Martin Rulsch (WMDE)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_Wikipedia_delivery&oldid=15542536 --> == Бюллетень «Википедии на языках России», выпуск #7 (июнь'16) / «Wikipedias in the languages of Russia» newsletter, issue #7 (June'16) == [[m:Wikipedias in the languages of Russia/Newsletter#2016-06-15|'''Бюллетень «Википедии на языках России», выпуск #7 (июнь'16) / «Wikipedias in the languages of Russia» newsletter, issue #7 (June'16)''']] {| border="2" cellspacing="0" cellpadding="4" rules="all" style="margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; font-size:95%; empty-cells:show; |Уважаемый коллега, ''Большое спасибо всем и каждому, кто вносит свой вклад в развитие [[File:Flag-map_of_Russia.svg|border|20px]] [[m:Wikipedias_in_the_languages_of_Russia|Разделов Википедии на языках России]].'' В этом выпуске: * Повышение ценности малого языкового раздела Википедии В добавок к тому, что уже опубликовал в рамках [[:wmru:Финно-угорский вики-семинар 2016/Программа/Доклады/Википедии на языках России сегодня и завтра|постерного доклада на Финноугорском викисеминаре 2016]], хочу поделиться следующей находкой и пригласить и Вас пользоваться ей – для себя я её назвал «Интервикификацией»: Статья, посвящённая каждому дню года обычно имеет раздел «Праздники и памятные даты» и мы, несомненно, гордимся тем, что знаем о событиях, важных для наших соседей по планете и в мире Википедии. В татароязычном разделе Википедии я уже некоторое время как '''[[:tt:9 июнь#Дөньяви бәйрәмнәр һәм истәлекле вакыйгалар|собираю подобную информацию]]''' из соседних разделов, снабжаю её наименованием на соответствующем языке (которую подкрепляю ссылкой на статью об этом мероприятии в соответствующем разделе) и ссылками на внешний авторитетный источник <small>(особенно при отсутствии таковых в статье в соответствующем языковом разделе или даже отсутствии самой статьи – например лишь упоминание события на [[:pl:9 czerwca#Święta]] или [[:es:9 de junio#Celebraciones]])</small>. При этом я соблюдаю рекомендации Павла Львовича Каганера, что я сам должен прочитать материал в соответствующей внешней ссылке, если таковая является обязательной <small>(в отличие от однозначных случаев типа [[:en:Public holidays in Åland|Autonomy Day]], [[:ru:Праздники Аландских островов|День автономии]], [[:sv:Ålands självstyrelsedag|Ålands självstyrelsedag]], [[:fi:Ahvenanmaan maakunta#Itsehallinnon aika|Itsehallintopäivä]])</small> На соответствующих страницах ТатВики конечно же пока не отражаются все праздники и памятные даты по всем дням всех стран и народов, но то, что я собрал и подтвердил за последние два года можете смело забирать и обогащать свои разделы. Так даже самый маленький раздел может ощутить свою подлинную интернациональность, а его читатели – его значимость и ценность... * [[m:Wikipedias in the languages of Russia/Tables/ru|Текущие показатели]] проектов. [[m:Wikipedias in the languages of Russia/Newsletter/Delivery list|Подписаться/Отписаться]]. ''Готовы поделиться своими новостями или опытом?'' <u>[[m:Wikipedias_in_the_languages_of_Russia/Newsletter#Подготовка нового выпуска / Preparing new issue|добавляйте ссылку в следующий выпуск]]</u>! | Dear colleague, ''Great thanks go to each and everyone contributing into developing [[File:Flag-map_of_Russia.svg|border|20px]] [[m:Wikipedias_in_the_languages_of_Russia|Wikipedias in the languages of Russia]]''. In this issue: * Increasing utility of Wikipedias in small languages I'd like to share one more tool left unmentioned in [[:wmru:Финно-угорский вики-семинар 2016/Программа/Доклады/Википедии на языках России сегодня и завтра|my poster presentation @ Finno-Ugric Wikiseminar 2016]] & invite you to start using it – I've called it «Interwikification»: An article dedicated to a specific day of the year usually has «Holidays and memorable days» section and we all are certainly proud to know about events special to our neighbors on the planet who contribute into Wikipedia. It's been a while since I've started visiting neighboring Wikipedias to '''[[:tt:9 июнь#Дөньяви бәйрәмнәр һәм истәлекле вакыйгалар|gathering such info]]''' for Tatar Wikipedia, providing it with original language title (linking to a specific article in respective language), as well as links to external respectable sources <small>(especially if such links/article are missing in respective Wikipedia – say the event is just mentioned at [[:pl:9 czerwca#Święta]] or [[:es:9 de junio#Celebraciones]])</small>. At the same time I follow Paul Kaganer's (User:Kaganer) recommendation that I must read the material in the external link myself, since Wikipedia itself is not always reliable <small>(except probably such cases as [[:en:Public holidays in Åland|Autonomy Day]], [[:ru:Праздники Аландских островов|День автономии]], [[:sv:Ålands självstyrelsedag|Ålands självstyrelsedag]], [[:fi:Ahvenanmaan maakunta#Itsehallinnon aika|Itsehallintopäivä]])</small> Respective ttwiki pages certainly do not reflect all special dates of all countries, peoples and social groups, but feel free to use what I've gathered over the last two years to enrich your Wikipedias. Thus even very small language Wikipedia becomes truly international, helping its readers to feel the importance of their language... * [[m:Wikipedias in the languages of Russia/Tables|Current Stats]]. [[m:Wikipedias in the languages of Russia/Newsletter/Delivery list|Subscribe/Unsubscribe]]. ''Ready to share own news or valuable experience?'' Add a link into <u>[[m:Wikipedias_in_the_languages_of_Russia/Newsletter#Подготовка нового выпуска / Preparing new issue|the next month issue]]</u>! |}</div> --[[Χρήστες:Frhdkazan|Frhdkazan]] ([[Καλάτσεμαν χρήστε:Frhdkazan|talk]]) 10:53, 14 Κερασινού 2016 (UTC) == Compact Language Links enabled in this wiki today == {{int:Please-translate}} <div lang="en" dir="ltr" class="mw-content-ltr"> [[File:Compact-language-links-list.png|thumb|Screenshot of Compact Language Links interlanguage list]] [[:mw:Universal_Language_Selector/Compact_Language_Links|Compact Language Links]] has been available as a beta-feature on all Wikimedia wikis since 2014. With compact language links enabled, users are shown a much shorter list of languages on the interlanguage link section of an article (see image). Based on several factors, this shorter list of languages is expected to be more relevant for them and valuable for finding similar content in a language known to them. More information about compact language links can be found in [[:mw:Universal_Language_Selector/Compact_Language_Links|the documentation]]. From today onwards, compact language links has been enabled as the default listing of interlanguage links on this wiki. Using the button at the bottom, you will be able to see a longer list of all the languages the article has been written in. The setting for this compact list can be changed by using the checkbox under ''User Preferences -> Appearance -> Languages'' The compact language links feature has been tested extensively by the Wikimedia Language team, which developed it. However, in case there are any problems or other feedback please let us know on the [[:mw:Talk:Universal_Language_Selector/Compact_Language_Links|project talk page]] or on this discussion thread. It is to be noted that on some wikis the presence of an existing older gadget that was used for a similar purpose may cause an interference for compact language list. We would like to bring this to the attention of the admins of this wiki. Full details are on [[phab:T131455|this phabricator ticket]] (in English). Due to the large scale enablement of this feature, we have had to use [[:m:Global_message_delivery|MassMessage]] for this announcement and as a result it is only written in English. We will really appreciate if this message can be translated for other users of this wiki. Thank you. On behalf of the Wikimedia Language team: [[:mw:User:Runab_WMF|Runa Bhattacharjee (WMF)]] ([[mw:User talk:Runab_WMF|talk]]) 07:04, 24 Κερασινού 2016 (UTC) </div> <!-- Message sent by User:Runab WMF@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/ULS_Compact_Links/24_June&oldid=15720673 --> == Wikipedia to the Moon: invitation to edit == <div lang="en" dir="ltr" class="mw-content-ltr"> Three weeks ago, you were invited to vote on how to take Wikipedia articles to the Moon. Community voting is over and the winning idea is to send all ‘’featured articles and lists’’ to the Moon. This decision means that, starting today, Wikipedians from all language communities are warmly invited to intensively work on their best articles and lists, and submit them to Wikipedia to the Moon. The central site to coordinate between communities will be Meta-Wiki. You will find an [[m:Wikipedia to the Moon/Working|overview and more information there]]. Hopefully, we will be able to represent as many languages as possible, to show Wikipedia’s diversity. Please feel kindly invited to edit on behalf of your community and tell us about your work on featured content! Best, [[:m:Special:MyLanguage/Wikipedia to the Moon/About|Moon team at Wikimedia Deutschland]] 14:10, 1 Χορτοθερί 2016 (UTC) </div> <!-- Message sent by User:Lydia Pintscher (WMDE)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_Wikipedia_delivery&oldid=15542536 --> == Editing News #2—2016 == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> ''[[m:Special:MyLanguage/VisualEditor/Newsletter/2016/June|Read this in another language]] • [[:m:VisualEditor/Newsletter|Subscription list for this multilingual newsletter]]'' <div style="float:right;width:230px;{{#switch:ltr|rtl=float:left;margin-left:0;|#default=float:right;margin-right:0;}}margin-left:1em;border-style:solid;border-width:1px;padding:1em;"> [[File:VisualEditor-logo.svg|200px|center|alt=VisualEditor]]'''Did you know?''' <div class="thumbcaption" style="font-size: 90%;"> It's quick and easy to insert a references list. [[File:VisualEditor References List Insert Menu-en.png|alt=Screenshot showing a dropdown menu with many items|center|frameless|150px]] Place the cursor where you want to display the references list (usually at the bottom of the page). Open the "{{int:visualeditor-toolbar-insert}}" menu and click the "{{int:cite-ve-dialogbutton-referenceslist-tooltip}}" icon (three books). If you are using several groups of references, which is relatively rare, you will have the opportunity to specify the group. If you do that, then only the references that belong to the specified group will be displayed in this list of references. Finally, click "{{int:visualeditor-dialog-action-insert}}" in the dialog to insert the {{int:cite-ve-dialogbutton-referenceslist-tooltip}}. This list will change as you add more footnotes to the page. You can read and help translate [[:mw:Special:MyLanguage/VisualEditor/User guide|the user guide]], which has more information about how to use the visual editor.</div></div> Since the last newsletter, the [[:mw:Special:MyLanguage/VisualEditor|VisualEditor Team]] has fixed many bugs. Their workboard is available [[phab:project/board/483/|in Phabricator]]. Their [[:mw:VisualEditor/Current_priorities|current priorities]] are improving support for Arabic and Indic scripts, and adapting the visual editor to the needs of the Wikivoyages and Wikisources. === Recent changes === The visual editor is now available to all users at most [[Wikivoyage:|Wikivoyages]]. It was also enabled for all contributors at the French Wikinews. The '''[[:mw:Special:MyLanguage/VisualEditor/Single edit tab|single edit tab]]''' feature combines the "{{int:vector-view-edit}}" and "{{int:visualeditor-ca-editsource}}" tabs into a single "{{int:vector-view-edit}}" tab. It has been deployed to several Wikipedias, including Hungarian, Polish, English and Japanese Wikipedias, as well as to all Wikivoyages. At these wikis, you can change your settings for this feature in the "{{int:prefs-editing}}" tab of [[Special:Preferences]]. The team is now reviewing the feedback and considering ways to improve the design before rolling it out to more people. === Future changes === The "{{int:Savearticle}}" button will say "{{int:Publishpage}}". This will affect both the visual and wikitext editing systems. More [[M:Editing/Publish|information is available on Meta]]. The visual editor will be offered to all editors at the remaining [[:mw:VisualEditor/Rollouts|"Phase 6" Wikipedias]] during the next few months. The developers want to know whether typing in your language feels natural in the visual editor. Please post your comments and the language(s) that you tested at [[:mw:Topic:St8y4ni42d0vr9cv|the feedback thread on mediawiki.org]]. This will affect several languages, including: [[:w:ar: |'''Arabic''']], [[:w:hi: |'''Hindi''']], [[:w:th: |'''Thai''']], [[:w:ta: |'''Tamil''']], [[:w:mr: |'''Marathi''']], [[:w:ml: |'''Malayalam''']], [[:w:ur: |'''Urdu''']], [[:w:fa: |'''Persian''']], [[:w:bn: |'''Bengali''']], [[:w:as: |'''Assamese''']], [[:w:arc: |'''Aramaic''']] and others. The team is working with the volunteer developers who power Wikisource to provide the visual editor there, for opt-in testing right now and eventually for all users. ([[phab:T138966|T138966]]) The team is working on a modern wikitext editor. It will look like the visual editor, and be able to use the citoid service and other modern tools. This new editing system may become available as a Beta Feature on desktop devices around September 2016. You can read about this project in a [[mediawikiwiki:Special:MyLanguage/VisualEditor/Roadmap/Update_2016-06-23|general status update on the Wikimedia mailing list]]. === Let's work together === * Do you teach new editors how to use the visual editor? Did you help [[:mw:Citoid/Enabling Citoid on your wiki|set up the Citoid automatic reference feature for your wiki]]? Have you written or imported [[:mw:Special:MyLanguage/Help:TemplateData|TemplateData]] for your most important citation templates? <mark>Would you be willing to help new editors and small communities with the visual editor? Please sign up for the new [[:mw:Help:VisualEditor/Community Taskforce|'''VisualEditor Community Taskforce''']].</mark> * Learn how to improve the "automagical" [[:mw:citoid|citoid]] referencing system in the visual editor, by creating [[w:en:Zotero|Zotero]] translators for popular sources in your language! Watch the [[Mw:Citoid/Zotero's Tech Talk|Tech Talk by Sebastian Karcher]] for more information. If you aren't reading this in your preferred language, then please help us with translations! Subscribe to the [[mail:translators-l|Translators mailing list]] or [https://meta.wikimedia.org/w/index.php?title=User_talk:Elitre_(WMF)&action=edit&section=new contact us] directly, so that we can notify you when the next issue is ready. {{int:Feedback-thanks-title}} </div> [[:m:User:Elitre (WMF)]], 17:20, 3 Χορτοθερί 2016 (UTC) <!-- Message sent by User:Elitre (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=VisualEditor/Newsletter/Wikis_with_VE&oldid=15741003 --> == Open call for Project Grants == [[File:IEG barnstar 2.png|right|100px]] {{int:Please-translate}}: :Greetings! The '''[[m:Special:MyLanguage/Grants:Project|Project Grants program]] is accepting proposals''' from July 1st to August 2nd to fund new tools, research, offline outreach (including editathon series, workshops, etc), online organizing (including contests), and other experiments that enhance the work of Wikimedia volunteers. :Whether you need a small or large amount of funds, Project Grants can support you and your team’s project development time in addition to project expenses such as materials, travel, and rental space. :*[[m:Special:MyLanguage/Grants:Project/Apply|'''Submit''' a grant request]] or [[m:Special:MyLanguage/Grants:IdeaLab|'''draft''' your proposal]] in IdeaLab :*[[m:Special:MyLanguage/Grants:IdeaLab/Events#Upcoming_events|'''Get help with your proposal''']] in an upcoming Hangout session :*'''Learn from examples''' of completed [[m:Special:MyLanguage/Grants:IEG#ieg-engaging|Individual Engagement Grants]] or [[m:Special:MyLanguage/Grants:PEG/Requests#Grants_funded_by_the_WMF_in_FY_2015.E2.80.9316|Project and Event Grants]] :Also accepting candidates to [[m:Special:MyLanguage/Grants:Project/Quarterly/Committee|join the Project Grants Committee through July 15.]] :With thanks, [[m:User:I JethroBT (WMF)|I JethroBT (WMF)]] 15:25, 5 Χορτοθερί 2016 (UTC) <!-- Message sent by User:I JethroBT (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:I_JethroBT_(WMF)/IEG_2015_Targets&oldid=15504704 --> == ΣΗΜΑΝΤΙΚΟ: Επιθεώρηση δραστηριότητας διαχειριστών == Χαίρετε. Μια νέα πολιτική σχετικά με την αφαίρεση "ειδικών δικαιωμάτων" (διαχειριστή, γραφειοκράτη, κλπ) πρόσφατα υιοθετήθηκε από τη [[:m:Requests for comment/Activity levels of advanced administrative rights holders|συναίνεση της παγκόσμιας κοινότητας]] (η κοινότητά σας έλαβε ειδοποίηση για την συζήτηση). Σύμφωνα με αυτή την πολιτική, οι [[:m:stewards|επίτροποι]] επιθεωρούν την δραστηριότητα των διαχειριστών στα μικρότερα wiki. Σύμφωνα με όσα ξέρουμε, το wiki σας δεν έχει μια τυπική διαδικασία για την αφαίρεση "ειδικών δικαιωμάτων" από ανενεργούς λογαριασμούς. Αυτό σημαίνει ότι οι επίτροποι θα φροντίσουν για αυτό εδώ σύμφωνα με την [[:m:Admin activity review|επιθεώρηση δραστηριότητας διαχειριστών]]. Έχουμε διαπιστώσει ότι οι παρακάτω χρήστες πληρούν τα κριτήρια αδράνειας (χωρίς επεξεργασίες και χωρίς καταγραμμένες ενέργειες για περισσότερο από 2 χρόνια): #Makedonier (διαχειριστής) Αυτοί οι χρήστες θα λάβουν σύντομα μια ειδοποίηση, ζητώντας τους να ξεκινήσουν μια συζήτηση στην κοινότητα αν θέλουν να διατηρήσουν κάποια ή όλα τα δικαιώματά τους. Αν οι χρήστες δεν απαντήσουν, τότε τα ειδικά δικαιώματά τους θα αφαιρεθούν από τους επιτρόπους. Ωστόσο, αν εσείς ως μια κοινότητα θα θέλατε να δημιουργήσετε τη δική της διαδικασία επιθεώρησης δραστηριότητας παραγκωνίζοντας την παγκόσμια, θέλετε να λάβετε μια άλλη απόφαση σχετικά με αυτούς τους ανενεργούς κατόχους δικαιωμάτων, ή έχετε ήδη μια πολιτική που δεν βρήκαμε, τότε παρακαλείσθε να ενημερώσετε τους [[:m:Stewards' noticeboard|επιτρόπους στο Meta-Wiki]] έτσι ώστε να ξέρουμε να μην προχωρήσουμε με την επιθεώρηση δικαιωμάτων για το wiki σας. Ευχαριστώ, '''[[User:Rschen7754|Rs]][[User talk:Rschen7754|chen]][[Special:Contributions/Rschen7754|7754]]''' 04:55, 8 Χορτοθερί 2016 (UTC) == Save/Publish == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> The [[:mw:Editing|Editing]] team is planning to change the name of the [https://translatewiki.net/w/i.php?title=Special:Translations&namespace=8&message=Savearticle “<bdi>{{int:Savearticle}}</bdi>”] button to [https://translatewiki.net/w/i.php?title=Special:Translations&namespace=8&message=Publishpage “'''<bdi>{{int:Publishpage}}</bdi>'''”] and [https://translatewiki.net/w/i.php?title=Special:Translations&namespace=8&message=Publishchanges “'''<bdi>{{int:Publishchanges}}</bdi>'''”]. “<bdi>{{int:Publishpage}}</bdi>” will be used when you create a new page. “<bdi>{{int:Publishchanges}}</bdi>” will be used when you change an existing page. The names will be consistent in all editing environments.[https://phabricator.wikimedia.org/T131132][https://phabricator.wikimedia.org/T139033] This change will probably happen during the week of 30 August 2016. The change will be announced in [[:m:Special:MyLanguage/Tech/News|Tech News]] when it happens. If you are fluent in a language other than English, please check the status of translations at translatewiki.net for [https://translatewiki.net/w/i.php?title=Special:Translations&namespace=8&message=Publishpage “'''<bdi>{{int:Publishpage}}</bdi>'''”] and [https://translatewiki.net/w/i.php?title=Special:Translations&namespace=8&message=Publishchanges “'''<bdi>{{int:Publishchanges}}</bdi>'''”]. The main reason for this change is to avoid confusion for new editors. Repeated user research studies with new editors have shown that some new editors believed that [https://translatewiki.net/w/i.php?title=Special:Translations&namespace=8&message=Savearticle “<bdi>{{int:Savearticle}}</bdi>”] would save a private copy of a new page in their accounts, rather than permanently publishing their changes on the web. It is important for this part of the user interface to be clear, since it is difficult to remove public information after it is published. We believe that the confusion caused by the “<bdi>{{int:Savearticle}}</bdi>” button increases the workload for experienced editors, who have to clean up the information that people unintentionally disclose, and report it to the functionaries and stewards to suppress it. Clarifying what the button does will reduce this problem. Beyond that, the goal is to make all the wikis and languages more consistent, and some wikis made this change many years ago. The [[:m:Legal|Legal team]] at the Wikimedia Foundation supports this change. Making the edit interface easier to understand will make it easier to handle licensing and privacy questions that may arise. Any help pages or other basic documentation about how to edit pages will also need to be updated, on-wiki and elsewhere. On wiki pages, you can use the wikitext codes <code><nowiki>{{int:Publishpage}}</nowiki></code> and <code><nowiki>{{int:Publishchanges}}</nowiki></code> to display the new labels in the user's preferred language. For the language settings in [[Special:Preferences|your account preferences]], these wikitext codes produce “<bdi>{{int:Publishpage}}</bdi>” and “<bdi>{{int:Publishchanges}}</bdi>”. Please share this news with community members who teach new editors and with others who may be interested. </div> [[m:User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[m:User talk:Whatamidoing (WMF)|talk]]) 18:04, 9 Aλωναρί 2016 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=15790914 --> ==Wikipedia to the Moon working phase== Dear Pontic Wikipedia language community, First of all, I am sorry to write this in English. You may already have heard about [[:meta:Wikipdia_to_the_Moon|Wikipedia to the Moon]]: A team of scientists called the “PT Scientists” are going to send a space craft to the moon in 2017 and they want to take Wikipedia along with them. Because Wikipedia is so big, we cannot send all of it to the moon. That is why the international Wikipedia-community has voted to send all “Featured Articles and Featured Lists“ from all languages in Wikipedia. [[:en:Wikipedia:Featured_articles|“Featured Articles“]] is a category in many language versions of Wikipedia that collects the very best articles in that language. Your community does not currently have a „Featured Articles“ category. Ideally, we want to take every language on Wikipedia to the moon and we also want to take the best articles in your language. That is why we would like ''you'' to tell us what the very best articles in your language are. There are two ways you could do this: :1) You could introduce the categories “Featured Article” and “Featured List” in your language version of Wikipedia and vote for the best articles and put them in the category. We will take every article that is tagged as a “Featured Article” or a “Featured List” to the moon :2) You could vote for the best articles in your language version of Wikipedia and put them all on one a new Wikipedia page. If you let us know where we can find that list [[:meta:Wikipedia_to_the_Moon/Working|here]], we will also take the articles to the moon. The deadline for Wikipedia to the Moon is 31 October 2016. After that date, we will put all the Featured Articles and Lists onto a special disc and give it to the “PT Scientists.” They will take the Wikipedia articles into space next year. --[[Χρήστες:Denis Schroeder (WMDE)|Denis Schroeder (WMDE)]] ([[Καλάτσεμαν χρήστε:Denis Schroeder (WMDE)|talk]]) 14:53, 17 Aλωναρί 2016 (UTC) == New Wikipedia Library accounts available now (August 2016) == <div lang="en" dir="ltr" class="mw-content-ltr"> Hello Wikimedians! [[File:Wikipedia_Library_owl.svg|thumb|upright|The TWL OWL says sign up today!]] [[m:The Wikipedia Library|The Wikipedia Library]] is announcing signups today for free, full-access, accounts to published research as part of our [[m:The_Wikipedia_Library/Journals|publisher donation program]]. You can now sign up for new accounts and research materials from: * '''[[w:de:Wikipedia:Nomos|Nomos]]''' &ndash; Primarily German-language publisher of law and social sciences books and journals - 25 accounts * '''[[w:en:Wikipedia:World Scientific|World Scientific]]''' &ndash; Scientific, technical, and medical journals - 50 accounts * '''[[w:en:Wikipedia:Edinburgh University Press|Edinburgh University Press]]''' &ndash; Humanities and social sciences journals - 25 accounts * '''[[w:en:Wikipedia:American Psychological Association|American Psychological Association]]''' &ndash; Psychology books and journals - 10 accounts * '''[[w:en:Wikipedia:Emerald|Emerald]]''' &ndash; Journals on a range of topics including business, education, health care, and engineering - 10 accounts Many other partnerships with accounts available are listed on [[m:The Wikipedia Library/Databases|our partners page]], including [[w:en:WP:Project MUSE|Project MUSE]], [[w:en:WP:EBSCO|EBSCO]], [[w:de:WP:DeGruyter|DeGruyter]], [[w:en:WP:Gale|Gale]] and [[w:en:WP:Newspaperarchive.com|Newspaperarchive.com]]. Do better research and help expand the use of high quality references across Wikipedia projects: sign up today! <br>--[[w:en:Wikipedia:TWL/Coordinators|The Wikipedia Library Team]] 18:38, 30 Aλωναρί 2016 (UTC) :''You can host and coordinate signups for a Wikipedia Library branch in your own language! Please contact [[m:User:Ocaasi_(WMF)|Ocaasi (WMF)]].''<br> :<small>This message was delivered via the [https://meta.wikimedia.org/wiki/MassMessage#Global_message_delivery Global Mass Message] tool to [https://meta.wikimedia.org/wiki/Global_message_delivery/Targets/Wikipedia_Library The Wikipedia Library Global Delivery List].</small> </div> <!-- Message sent by User:Samwalton9@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikipedia_Library&oldid=15804509 --> == '''Бюллетень «Википедии на языках России», выпуск #8 (сентябрь'16) / «Wikipedias in the languages of Russia» newsletter, issue #8 (September '16)''' == [[m:Wikipedias in the languages of Russia/Newsletter#2016-09-03|'''Бюллетень «Википедии на языках России», выпуск #8 (сентябрь'16) / «Wikipedias in the languages of Russia» newsletter, issue #8 (September '16)''']] {| border="2" cellspacing="0" cellpadding="4" rules="all" style="margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; font-size:95%; empty-cells:show; |Уважаемый коллега, ''Большое спасибо всем и каждому, кто вносит свой вклад в развитие [[File:Flag-map_of_Russia.svg|border|20px]] [[m:Wikipedias_in_the_languages_of_Russia|Разделов Википедии на языках России]].'' </br>Поздравляем всех с началом очередного учебного года!</br> В этом выпуске: * 11.09-11.10.2016 в [[:w:ru:Башкирская Википедия|башвики]] проходит [[:w:ru:Вики-марафон|Вики-марафон]] «[[:w:ba:Проект:Башҡортостан айлығы|Месячник Башкортостана]]». * 23-26.09.2016 в Ижевске пройдёт «[[:wmru:Уральский_вики-семинар_2016|Уральский вики-семинар 2016]]». * Открыта [[:w:wmru:Вики-конференция_2016/Участники|регистрация участников]] на Х международную [[:w:wmru:Вики-конференция_2016|'''Вики-конференцию 2016''']], которая в этом году пройдёт 1-2.10.2016 года в Санкт-Петербурге. Ежегодный форум российских волонтеров посвящён развитию проектов Викимедиа на языках народов России, а также проблемам свободного создания и распространению знаний в целом. Расходы на проезд и проживание производится за счет собственных средств, средств спонсоров, и при соответствии определенным критериям, можно просить стипендию по грантовой программе «[[:m:Grants:TPS|Travel & Participation Support]]» Фонда Викимедиа, или региональных чаптеров. * 1-30.11.2016 года пройдёт ежегодный международный Вики-марафон «[[:w:ru:Проект:Месяц Азии|Месяц Азии]]». В этом году от нас также подтвердили участие [[:w:av:Проект:Азиялъул моцІ|аварский]] и [[:w:ba:Проект:Википедияла Азия айлығы|башкирский]] разделы. * [[:m:Wikimedians of Bashkortostan User Group|Викимедийцы Башкортостана]] 15-17 июля осуществили [[:w:ba:Википедия:Вики-саралар/Вики-Йәйләү 2016|вики-экспедицию в Бурзянский район]]. На территории [[:w:ru:Шульган-Таш (заповедник)|Шульган-Ташского заповедника]] были посещены места, упоминающиеся в башкирском эпосе «[[:w:ru:Урал-батыр|Урал батыр]]» ([[:w:ru:Капова пещера|Капова пещера]], озеро Йылкысыккан), местный музей [[:w:ru:Бортевое пчеловодство|бортевого пчеловодства]]; проведены дискуссии, теоретические и практические занятия в формате [[:wmru:Вики-семинар|вики-семинара]]. См. фотоотчёт на [[commons:Category:Wiki-Yäyläü2016 Şülgäntaş|Викискладе]]. * [[m:Wikipedias in the languages of Russia/Tables/ru|Текущие показатели]] проектов и [[m:Wikipedias_in_the_languages_of_Russia/Trends|аналитика]]. [[m:Wikipedias in the languages of Russia/Newsletter/Delivery list|Подписаться/Отписаться]]. ''Готовы поделиться своими новостями или опытом?'' <u>[[m:Wikipedias_in_the_languages_of_Russia/Newsletter#Подготовка нового выпуска / Preparing new issue|добавляйте ссылку в следующий выпуск]]</u>! | Dear colleague, ''Great thanks go to each and everyone contributing into developing [[File:Flag-map_of_Russia.svg|border|20px]] [[m:Wikipedias_in_the_languages_of_Russia|Wikipedias in the languages of Russia]]''.</br> Our congratulations & best wishes on the occasion of a New School Year!</br>In this issue: * On 11.09-11.10.2016 our BashWiki colleagues organize «[[:w:ba:Проект:Башҡортостан айлығы|Bashkortostan Month]]» [[:w:en:Edit-a-thon|Edit-a-thon]]. * On 23-26.09.2016 Izhevsk will host «[[:wmru:Уральский_вики-семинар_2016|Ural Wiki-Seminar 2016]]». * On 1-2.10.2016 Saint-Petersburg will host Хth International [[:w:wmru:Вики-конференция_2016|'''Wiki-Conference 2016''']]. Participant registration for this annual forum of Russian volunteers dedicated to developing Wikimedia projects in the languages of Russia, as well as overall free creation and distribution of knowledge is now [[:w:wmru:Вики-конференция_2016/Участники|officially open]]. Travel and lodging costs are born by participants, sponsors, and regional chapter or Wikimedia Foundation Grants, such as «[[:m:Grants:TPS|Travel & Participation Support]]». * Annual International «[[:m:Wikipedia Asian Month|Wikipedia Asian Month]]» Edit-a-thon will take place on 1-30.11.2016. This year, Team Russia's [[:w:ru:Проект:Месяц Азии|team leader]] efforts are confirmed to be supported by [[:w:av:Проект:Азиялъул моцІ|Avar]] и [[:w:ba:Проект:Википедияла Азия айлығы|Bashkir]] sections. * On 15-17.07.2016 [[:m:Wikimedians of Bashkortostan User Group|Wikimedians of Bashkortostan]] have organized [[:w:ba:Википедия:Вики-саралар/Вики-Йәйләү 2016|Wiki-Expedition to Burzyansky District]]. On top of visiting [[:w:en:Kapova Cave|Kapova Cave]] & Jylqysyqqan lake, mentioned in Bashkir epic poem «[[:w:en:Ural-batyr|Ural-batyr]]», participants also learned about local [[:w:en:Honey hunting|honey hunting]] traditions in [[:w:en:Shulgan-Tash Nature Reserve|Shulgan-Tash Nature Reserve]]'s dedicated museum, made Wiki-Seminar style presentations, held discussions and engaged in practical editing sessions. See photo-report in [[commons:Category:Wiki-Yäyläü2016 Şülgäntaş|Wikimedia Commons]]. * [[m:Wikipedias in the languages of Russia/Tables|Current Stats]] and [[m:Wikipedias_in_the_languages_of_Russia/Trends|analytics]]. [[m:Wikipedias in the languages of Russia/Newsletter/Delivery list|Subscribe/Unsubscribe]]. ''Ready to share own news or valuable experience?'' Add a link into <u>[[m:Wikipedias_in_the_languages_of_Russia/Newsletter#Подготовка нового выпуска / Preparing new issue|the next month issue]]</u>! |}</div> --[[Χρήστες:Frhdkazan|Frhdkazan]] ([[Καλάτσεμαν χρήστε:Frhdkazan|talk]]) 10:13, 3 Σταυρί 2016 (UTC) == RevisionSlider == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> From September 13th on, [[mw:Special:MyLanguage/Extension:RevisionSlider|RevisionSlider]] will be available as a [[mw:Special:MyLanguage/Beta Features|beta feature]] in your wiki. The RevisionSlider adds a slider view to the diff page, so that you can easily move between revisions. The feature fulfills a wish from the [[m:WMDE Technical Wishes|German Community’s Technical Wishlist]]. Everyone is invited to test the feature and we hope that it will serve you well in your work! </div> [[user:Birgit Müller (WMDE)|Birgit Müller (WMDE)]] 15:08, 12 Σταυρί 2016 (UTC) <!-- Message sent by User:Birgit Müller (WMDE)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_2&oldid=15903627 --> == Grants to improve your project == ''{{int:Please-translate}}:'' Greetings! The [[:m:Grants:Project|Project Grants program]] is currently accepting proposals for funding. There is just over a week left to submit before the October 11 deadline. If you have ideas for software, offline outreach, research, online community organizing, or other projects that enhance the work of Wikimedia volunteers, start your proposal today! Please encourage others who have great ideas to apply as well. Support is available if you want help turning your idea into a grant request. *'''[[:m:Grants:Project/Apply|Submit a grant request]]''' *'''Get help''': In [[:m:Grants:IdeaLab|IdeaLab]] or an upcoming [[:m:Grants:Project#Upcoming_events|Hangout session]] *'''Learn from examples''' of completed [[:m:Grants:IEG#ieg-engaging|Individual Engagement Grants]] or [[:m:Grants:PEG/Requests#Grants_funded_by_the_WMF_in_FY_2015.E2.80.9316|Project and Event Grants]] [[m:User:I JethroBT (WMF)|I JethroBT (WMF)]] ([[m:User talk:I JethroBT (WMF)|talk]]) 20:11, 30 Σταυρί 2016 (UTC) <!-- Message sent by User:I JethroBT (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:I_JethroBT_(WMF)/IEG_2015_Targets&oldid=15939807 --> == [[m:Wikipedias in the languages of Russia/Newsletter#2016-10-03|'''Бюллетень «Википедии на языках России» / «Wikipedias in the languages of Russia» newsletter''' - #9 (окт./Oct'16)''']] == {| border="2" cellspacing="0" cellpadding="4" rules="all" style="margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; font-size:95%; empty-cells:show; |Уважаемый коллега, ''Большое спасибо всем и каждому, кто вносит свой вклад в развитие [[File:Flag-map_of_Russia.svg|border|20px]] [[m:Wikipedias_in_the_languages_of_Russia|Разделов Википедии на языках России]].''</br> В этом выпуске: * Викиданные: перечень элементов для перевода полей Обозначение и Описание – ''[[d:User:Drbug/list|в перечне языков]]'' щёлкаете ссылку на нужный, внизу открывшегося окошечка жмёте кнопку "'''> Run'''", открываете элементы из полученного списка и правите/переводите эти два поля. * [//meta.wikimedia.org/w/index.php?title=Requests_for_new_languages/Wikipedia_Livvi-Karelian&diff=15935356&oldid=15918602 Одобрено] создание раздела Википедии ''[[m:incubator:Wp/olo|на ливвиковском диалекте]]'' карельского языка! * Сообщества разделов Википедии на языках народов России ''[[m:User:Frhdkazan/WCR2016|были упомянуты]]'' на пленарных сессиях [[wmru:Уральский_вики-семинар_2016/Программа|Уральского викисеминара]] в Ижевске и [[wmru:Вики-конференция 2016/Программа|Всероссийской вики-конференции 2016]] в Санкт-Петербурге. * Сентябрьские новости о коллегах за рубежом: [https://www.theguardian.com/culture/2016/sep/02/ngean-noonar-noongar-is-australias-first-indigenous-wikipedia-we-want-to-use-our-language Первая Википедия на коренном языке Австралии], [http://indiancountrytodaymedianetwork.com/2016/09/26/wikipedia-wants-improved-content-indigenous-peoples-needs-your-help-165905 Викимарафон о коренных народах США], [http://qz.com/771351/promoting-local-languages-will-get-more-africans-connected-online/ Популяризация местных языков как инструмент повышения использования возможностей Интернета народами Африки]. * [[m:Wikipedias in the languages of Russia/Tables/ru|Текущие показатели]] проектов и [[m:Wikipedias_in_the_languages_of_Russia/Trends|аналитика]]. [[m:Wikipedias in the languages of Russia/Newsletter/Delivery list|Подписаться/Отписаться]]. ''Готовы поделиться своими новостями или опытом?'' <u>[[m:Wikipedias_in_the_languages_of_Russia/Newsletter#Подготовка нового выпуска / Preparing new issue|добавляйте ссылку в следующий выпуск]]</u>! | Dear colleague, ''Great thanks go to each and everyone contributing into developing [[File:Flag-map_of_Russia.svg|border|20px]] [[m:Wikipedias_in_the_languages_of_Russia|Wikipedias in the languages of Russia]]''. </br>In this issue: * Wikidata: the list of elements with missing Label и Description translation – click the necessary language link ''[[d:User:Drbug/list|in the list]]'', press "'''> Run'''" at the bottom of the opening query page, open elements from the resultant elements list and edit/translate these two fields. * Rejoice for ''[[m:incubator:Wp/olo|Livvi Karelian]]'' Wikipedia, which has been recently [//meta.wikimedia.org/w/index.php?title=Requests_for_new_languages/Wikipedia_Livvi-Karelian&diff=15935356&oldid=15918602 approved] for coming out of the Wikimedia Incubator! * Communities of Wikipedias in the languages of Russia ''[[m:User:Frhdkazan/WCR2016|presented]]'' at the plenary sessions of [[wmru:Уральский_вики-семинар_2016/Программа|Uralic Wiki-Seminar]] in Izhevsk and [[wmru:Вики-конференция 2016/Программа|All-Russia Wiki-Conference 2016]] in Saint Petersburg. * September news about colleagues abroad: [https://www.theguardian.com/culture/2016/sep/02/ngean-noonar-noongar-is-australias-first-indigenous-wikipedia-we-want-to-use-our-language Australia's first indigenous Wikipedia], [http://indiancountrytodaymedianetwork.com/2016/09/26/wikipedia-wants-improved-content-indigenous-peoples-needs-your-help-165905 Indigenous people marathon in U.S.], [http://qz.com/771351/promoting-local-languages-will-get-more-africans-connected-online/ Local language promotion as a tool to increase Internet use in Africa]. * [[m:Wikipedias in the languages of Russia/Tables|Current Stats]] and [[m:Wikipedias_in_the_languages_of_Russia/Trends|analytics]]. [[m:Wikipedias in the languages of Russia/Newsletter/Delivery list|Subscribe/Unsubscribe]]. ''Ready to share own news or valuable experience?'' Add a link into <u>[[m:Wikipedias_in_the_languages_of_Russia/Newsletter#Подготовка нового выпуска / Preparing new issue|the next month issue]]</u>! |}</div>--[[Χρήστες:Frhdkazan|Frhdkazan]] ([[Καλάτσεμαν χρήστε:Frhdkazan|talk]]) 11:37, 3 Τρυγομηνά 2016 (UTC) == Creative Commons 4.0 == Hello! I'm writing from the Wikimedia Foundation to invite you to give your feedback on a proposed move from CC BY-SA 3.0 to a CC BY-SA 4.0 license across all Wikimedia projects. The consultation will run from October 5 to November 8, and we hope to receive a wide range of viewpoints and opinions. Please, if you are interested, [[meta:Special:MyLanguage/Terms of use/Creative Commons 4.0|take part in the discussion on Meta-Wiki]]. ''Apologies that this message is only in English. [[meta:Special:MyLanguage/Terms of use/Creative Commons 4.0/MassMessage|This message can be read and translated in more languages here]].'' [[User:JSutherland (WMF)|Joe Sutherland]] ([[User talk:JSutherland (WMF)|talk]]) 01:34, 6 Τρυγομηνά 2016 (UTC) <!-- Message sent by User:JSutherland (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:JSutherland_(WMF)/MassMessage/1&oldid=15962252 --> == Editing News #3—2016 == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> ''[[:m:Special:MyLanguage/VisualEditor/Newsletter/2016/October|Read this in another language]] • [[:m:VisualEditor/Newsletter|Subscription list for this multilingual newsletter]]'' <div style="float:right;width:230px;{{#switch:ltr|rtl=float:left;margin-left:0;|#default=float:right;margin-right:0;}}margin-left:1em;border-style:solid;border-width:1px;padding:1em;"> [[File:VisualEditor-logo.svg|200px|center|alt=VisualEditor]]'''Did you know?''' <div class="thumbcaption" style="font-size: 90%;"> Did you know that you can easily re-arrange columns and rows in the visual editor? [[File:VisualEditor table editing menu.png|alt=Screenshot showing a dropdown menu with options for editing the table structure|center|frameless|232x232px]] Select a cell in the column or row that you want to move. Click the arrow at the start of that row or column to open the dropdown menu (shown). Choose either "Move before" or "Move after" to move the column, or "Move above" or "Move below" to move the row. You can read and help translate [[:mw:Special:MyLanguage/VisualEditor/User guide|the user guide]], which has more information about how to use the visual editor. </div></div> Since the last newsletter, the [[:mw:Special:MyLanguage/VisualEditor|VisualEditor Team]] has mainly worked on a new wikitext editor. They have also released some small features and the new map editing tool. Their workboard is available [[phab:project/board/483/|in Phabricator]]. You can find links to the list of work finished each week at [[:mw:VisualEditor/Weekly triage meetings|mw:VisualEditor/Weekly triage meetings]]. Their [[:mw:VisualEditor/Current_priorities|current priorities]] are fixing bugs, releasing the 2017 wikitext editor as a [[mediawikiwiki:Beta_Features|beta feature]], and improving language support. === Recent changes === *You can now set text as small or big.[https://phabricator.wikimedia.org/T53613] *Invisible templates have been shown as a puzzle icon. Now, the name of the invisible template is displayed next to the puzzle icon.[https://phabricator.wikimedia.org/T141861] A similar feature will display the first part of hidden HTML comments.[https://phabricator.wikimedia.org/T147089] *Categories are displayed at the bottom of each page. If you click on the categories, the dialog for editing categories will open.[https://phabricator.wikimedia.org/T145267] *At many wikis, you can now add [[mediawikiwiki:Maps|maps]] to pages. Go to the Insert menu and choose the "Maps" item. The Discovery department is adding more features to this area, like geoshapes. You can read more at mediawiki.org.[https://www.mediawiki.org/wiki/Wikimedia_Discovery#Maps] *The "Save" button now says "Save page" when you create a page, and "Save changes" when you change an existing page.[https://phabricator.wikimedia.org/T139033] In the future, the "{{int:Savearticle}}" button will say "{{int:Publishpage}}". This will affect both the visual and wikitext editing systems. More [[:m:Editing/Publish|information is available on Meta]]. *Image galleries now use a visual mode for editing. You can see thumbnails of the images, add new files, remove unwanted images, rearrange the images by dragging and dropping, and add captions for each image. Use the "Options" tab to set the gallery's display mode, image sizes, and add a title for the gallery.[https://phabricator.wikimedia.org/T45037] === Future changes === The visual editor will be offered to all editors at the remaining 10 [[:mw:VisualEditor/Rollouts|"Phase 6" Wikipedias]] during the next month. The developers want to know whether typing in your language feels natural in the visual editor. Please post your comments and the language(s) that you tested at [[:mw:Topic:St8y4ni42d0vr9cv|the feedback thread on mediawiki.org]]. This will affect several languages, including [[:w:th:|'''Thai''']], [[:w:my:|'''Burmese''']] and [[:w:arc:|'''Aramaic''']]. The team is working on a modern wikitext editor. The [[Mw:2017 wikitext editor|2017 wikitext editor]] will look like the visual editor and be able to use the citoid service and other modern tools. This new editing system may become available as a Beta Feature on desktop devices in October 2016. You can read about this project in a [[:mw:Special:MyLanguage/VisualEditor/Roadmap/Update_2016-06-23|general status update on the Wikimedia mailing list]]. === Let's work together === * Do you teach new editors how to use the visual editor? Did you help [[:mw:Citoid/Enabling Citoid on your wiki|set up the Citoid automatic reference feature for your wiki]]? Have you written or imported [[:mw:Special:MyLanguage/Help:TemplateData|TemplateData]] for your most important citation templates? <mark>Would you be willing to help new editors and small communities with the visual editor? Please sign up for the new [[:mw:Help:VisualEditor/Community Taskforce|'''VisualEditor Community Taskforce''']].</mark> *If you aren't reading this in your preferred language, then please help us with translations! Subscribe to the [[mail:translators-l|Translators mailing list]] or [https://meta.wikimedia.org/w/index.php?title=User_talk:Elitre_(WMF)&action=edit&section=new contact us] directly, so that we can notify you when the next issue is ready. {{int:Feedback-thanks-title}} —[[:mw:User:Elitre (WMF)|Elitre (WMF)]] </div> 17:49, 15 Τρυγομηνά 2016 (UTC) <!-- Message sent by User:Elitre (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=VisualEditor/Newsletter/Wikis_with_VE&oldid=15960088 --> == [[m:Wikipedias in the languages of Russia/Newsletter#2016-10-25|'''Бюллетень «Википедии на языках России» / «Wikipedias in the languages of Russia» newsletter''' - #10 (ноя./Nov.'16)''']] == {| border="2" cellspacing="0" cellpadding="4" rules="all" style="margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; font-size:95%; empty-cells:show; |Уважаемый коллега, ''Большое спасибо всем и каждому, кто вносит свой вклад в развитие [[File:Flag-map_of_Russia.svg|border|20px]] [[m:Wikipedias_in_the_languages_of_Russia|Разделов Википедии на языках России]].''</br> В этом выпуске: * Cамые активные [[m:WikiWomen's User Group|викиженщины]] в России – [[n:ru:10-я_юбилейная_международная_Вики-конференция_в_Санкт-Петербурге#Роль женщин в развитии Википедии|безусловно в Башкортостане]]! ** [[w:ba:Портал:Ағымдағы ваҡиғалар/Беҙҙең берләшмә ваҡиғалары#22-23 октябрь 2016|Обучают вики-бабушек]] из [[w:ru:Байназарово|Байназарово]] ([[w:ru:Бурзянский район|Бурзянский район]]) * [[d:User:Drbug/list|Простой и надёжный способ]] обеспечить своему языку жизнь в эру искусственного интелекта * ''Успейте'' [[m:Wikipedia_to_the_Moon/Greetings/ru|включить свой родной язык в проект «Википедию на Луну»]]! (до '''31.10.2016''') * Поддержим [[m:Grants:TPS/Khanmarat/Day Siberian Tatar language|срочный грант в помощь сибирскотатарской Википедии]] * Приглашаем к участию в организации и проведении марийского викисеминара [[:wmru:Вики-Пайрем_2017|Вики-Пайрем 2017]] (Йошкар-Ола, 14-17.06.2017) * Октябрьские новости о коллегах за рубежом: [https://yourstory.com/2016/10/indian-language-wikipedia/ Википедии на языках Индии как инструмент расширения открытого доступа], [http://www.lne.es/sociedad/2016/10/18/editaton-feminista-wikipedia/1999537.html Испанские Викиженщины со-организовали женский викимарафон в Национальной библиотеке], [http://www.edinburghnews.scotsman.com/news/entertainment/gaelic-wikipedia-being-developed-with-help-of-experts-1-4254619 Национальная Библиотека Шотландии и Wikimedia UK привлекают носителей шотландского к улучшению Кельтской Википедии], [http://www.levante-emv.com/ribera/2016/10/01/fiesta-tecnologica-maraton-wikipedia-novedades/1473955.html Городской фестиваль – прекрасный повод для тематического викимарафона], [http://www.heraldglobe.com/index.php/sid/248484957 Национальный музей Швеции передал 3000 изображений в Викисклад], [http://rudaw.net/english/kurdistan/121020165 Обучение курдских википедистов в Иракском Курдистане], [http://punchng.com/wiki-loves-women-encourages-nigerian-womens-presence-wikipedia/ Вики Любит Женщин в Нигерии]. * [[m:Wikipedias in the languages of Russia/Tables/ru|Текущие показатели]] проектов и [[m:Wikipedias_in_the_languages_of_Russia/Trends|аналитика]]. [[m:Wikipedias in the languages of Russia/Newsletter/Delivery list|Подписаться/Отписаться]]. ''Готовы поделиться своими новостями или опытом?'' <u>[[m:Wikipedias_in_the_languages_of_Russia/Newsletter#Подготовка нового выпуска / Preparing new issue|добавляйте ссылку в следующий выпуск]]</u>! | Dear colleague, ''Great thanks go to each and everyone contributing into developing [[File:Flag-map_of_Russia.svg|border|20px]] [[m:Wikipedias_in_the_languages_of_Russia|Wikipedias in the languages of Russia]]''. </br>In this issue: * Most active [[m:WikiWomen's User Group|WikiWomen]] of Russia are [[n:ru:10-я_юбилейная_международная_Вики-конференция_в_Санкт-Петербурге#Роль женщин в развитии Википедии|certainly from Bashkortostan]]! ** [[w:ba:Портал:Ағымдағы ваҡиғалар/Беҙҙең берләшмә ваҡиғалары#22-23 октябрь 2016|Training for Wiki-Grandmas]] from [[w:ru:Байназарово|Baynazarovo]] ([[w:en:Burzyansky District|Burzyansky District]]) * [[d:User:Drbug/list|Simple and most reliable way]] to guarantee your native language will live on in AI era. * ''Still possible'' [[m:Wikipedia_to_the_Moon/Greetings/ru|to include your native tongue into «Wikipedia to the Moon» project]] (till '''31.10.2016''') * Invitation to support [[m:Grants:TPS/Khanmarat/Day Siberian Tatar language|urgent grant to help Siberian Tatar Wikipedia]] * Invitation to join in organizing and participating at [[:wmru:Вики-Пайрем_2017|Вики-Пайрем 2017]] Mari Wikiseminar in [[w:en:Yoshkar-Ola|Yoshkar-Ola]], 14-17.06.2017) * October news about colleagues abroad: [https://yourstory.com/2016/10/indian-language-wikipedia/ Indian language Wikipedias for greater open access in India], [http://www.lne.es/sociedad/2016/10/18/editaton-feminista-wikipedia/1999537.html Spanish Wikimujeres helped organize a feminine edit-a-thon in the National Library], [http://www.edinburghnews.scotsman.com/news/entertainment/gaelic-wikipedia-being-developed-with-help-of-experts-1-4254619 The National Library of Scotland and Wikimedia UK are recruiting more Gaelic speakers in an effort to improve Uicipeid], [http://www.levante-emv.com/ribera/2016/10/01/fiesta-tecnologica-maraton-wikipedia-novedades/1473955.html City festival as an opportunity to organize edit-a-thon], [http://www.heraldglobe.com/index.php/sid/248484957 Stockholm's Nationalmuseum releases 3,000 images on Wikimedia Commons], [http://rudaw.net/english/kurdistan/121020165 Training for Kurdish Wikipedians in Iraqi Kurdistan], [http://punchng.com/wiki-loves-women-encourages-nigerian-womens-presence-wikipedia/ Wiki Loves Women in Nigeria]. * [[m:Wikipedias in the languages of Russia/Tables|Current Stats]] and [[m:Wikipedias_in_the_languages_of_Russia/Trends|analytics]]. [[m:Wikipedias in the languages of Russia/Newsletter/Delivery list|Subscribe/Unsubscribe]]. ''Ready to share own news or valuable experience?'' Add a link into <u>[[m:Wikipedias_in_the_languages_of_Russia/Newsletter#Подготовка нового выпуска / Preparing new issue|the next month issue]]</u>! |}</div> --[[Χρήστες:Frhdkazan|Frhdkazan]] ([[Καλάτσεμαν χρήστε:Frhdkazan|talk]]) 10:19, 25 Τρυγομηνά 2016 (UTC) == New Wikipedia Library Accounts Available Now (November 2016) == <div lang="en" dir="ltr" class="mw-content-ltr"> Hello Wikimedians! [[File:Wikipedia_Library_owl.svg|thumb|upright|The TWL OWL says sign up today!]] [[:m:The Wikipedia Library|The Wikipedia Library]] is announcing signups today for free, full-access, accounts to published research as part of our [[m:The_Wikipedia_Library/Journals|Publisher Donation Program]]. You can sign up for new accounts and research materials from: *'''''[[:en:WP:Foreign Affairs|Foreign Affairs]]''''' - Journal of international relations and U.S. foreign policy *'''[[:en:WP:OpenEdition|OpenEdition]]''' - Journals in the social sciences and humanities *'''[[:en:WP:EDP Sciences|Édition Diffusion Presse Sciences]]''' - French and English language scientific journals *'''[[:en:WP:ASHA|ASHA]]''' - Speech–language–hearing journals *'''[[:fi:Wikipedia:Wikipedian_Lähdekirjasto/Tilastopaja|Tilastopaja]]''' - Athletics statistics '''Expansions''' *'''[[:en:WP:EBSCO|EBSCO]]''' - Many new databases added *'''[[:en:WP:Taylor & Francis|Taylor & Francis]]''' - Strategic, Defence & Security Studies collection Many other partnerships with accounts available are listed on [[:m:The Wikipedia Library/Databases|our partners page]]. Sign up today! <br>--[[:m:The Wikipedia Library/Coordinators|The Wikipedia Library Team]] 18:30, 1 Αεργί 2016 (UTC) :''You can host and coordinate signups for a Wikipedia Library branch in your own language. Please contact [[:m:User:Ocaasi_(WMF)|Ocaasi (WMF)]].''<br> :<small>This message was delivered via the [https://meta.wikimedia.org/wiki/MassMessage#Global_message_delivery Global Mass Message] tool to [https://meta.wikimedia.org/wiki/Global_message_delivery/Targets/Wikipedia_Library The Wikipedia Library Global Delivery List].</small> </div> <!-- Message sent by User:Samwalton9@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikipedia_Library&oldid=15939318 --> == Password reset == ''I apologise that this message is in English. [https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Security%2FPassword+reset&language=&action=page&filter= {{int:Centralnotice-shared-help-translate}}]'' We are having a problem with attackers taking over wiki accounts with privileged user rights (for example, admins, bureaucrats, oversighters, checkusers). It appears that this may be because of weak or reused passwords. Community members are working along with members of multiple teams at the Wikimedia Foundation to address this issue. In the meantime, we ask that everyone takes a look at the passwords they have chosen for their wiki accounts. If you know that you've chosen a weak password, or if you've chosen a password that you are using somewhere else, please change those passwords. Select strong passwords – eight or more characters long, and containing letters, numbers, and punctuation. [[m:User:JSutherland (WMF)|Joe Sutherland]] ([[m:User talk:JSutherland (WMF)|{{int:Talkpagelinktext}}]]) / [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|talk]]) 23:59, 13 Αεργί 2016 (UTC) <!-- Message sent by User:JSutherland (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:JSutherland_(WMF)/MassMessage/1&oldid=16060701 --> == Adding to the above section (Password reset) == Please accept my apologies - that first line should read "[https://meta.wikimedia.org/w/index.php?title=Special:Translate&group=page-Security%2FPassword+reset&language=&action=page&filter= Help with translations!]". [[m:User:JSutherland (WMF)|Joe Sutherland (WMF)]] ([[m:User talk:JSutherland (WMF)|talk]]) / [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|talk]]) 00:11, 14 Αεργί 2016 (UTC) <!-- Message sent by User:JSutherland (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:JSutherland_(WMF)/MassMessage/1&oldid=16060701 --> == New way to edit wikitext == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> '''Summary''': There's a new opt-in Beta Feature of a [[:mw:2017 wikitext editor|wikitext mode for the visual editor]]. Please [[Special:Preferences#mw-prefsection-betafeatures|go try it out]]. We in the Wikimedia Foundation's Editing department are responsible for making editing better for all our editors, new and experienced alike. We've been slowly improving [[:mw:VisualEditor|the visual editor]] based on feedback, user tests, and feature requests. However, that doesn't work for all our user needs: whether you need to edit a wikitext talk page, create a template, or fix some broken reference syntax, sometimes you need to use wikitext, and many experienced editors prefer it. Consequently, we've planned a "wikitext mode" for the visual editor for a long time. It provides as much of the visual editor's features as possible, for those times that you need or want wikitext. It has the same user interface as the visual editor, including the same toolbar across the top with the same buttons. It provides access to the [[:mw:citoid|citoid service]] for formatting citations, integrated search options for inserting images, and the ability to add new templates in a simple dialog. Like in the visual editor, if you paste in formatted text copied from another page, then formatting (such as bolding) will automatically be converted into wikitext. All wikis now have access to this mode as a [[:mw:Beta Features|Beta Feature]]. When enabled, it replaces your existing [[:mw:Editor|wikitext editor]] everywhere. If you don't like it, you can reverse this at any time by turning off the Beta Feature in your preferences. We don't want to surprise anyone, so it's strictly an ''opt-in-only'' Beta Feature. It won't switch on automatically for anyone, even if you have previously checked the box to "{{Int:Betafeatures-auto-enroll}}". The new wikitext edit mode is based on the visual editor, so it requires JavaScript (as does the [[:mw:Extension:WikiEditor|current wikitext editor]]). It doesn't work with gadgets that have only been designed for the older one (and ''vice versa''), so some users will miss gadgets they find important. We're happy to [[:mw:VisualEditor/Gadgets|work with gadget authors to help them update their code to work]] with both editors. We're not planning to get rid of the current main wikitext editor on desktop in the foreseeable future. We're also not going to remove the existing ability to edit plain wikitext without JavaScript. Finally, though it should go without saying, if you prefer to continue using the current wikitext editor, then you may so do. This is an early version, and we'd love to know what you think so we can make it better. Please leave feedback about the new mode [[:mw:2017 wikitext editor/Feedback|on the feedback page]]. You may write comments in any language. Thank you. </div> [[:mw:User:Jdforrester (WMF)|James Forrester]] (Product Manager, Editing department, Wikimedia Foundation) --19:32, 14 Χριστουγενναρί 2016 (UTC) <!-- Message sent by User:Elitre (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=15942009 --> == Translation == Hello, could you please translate '''Automatic refresh (Αυτόματη ενημέρωση)''' to {{#language:pnt}}? Thanks [[Χρήστες:-XQV-|-XQV-]] ([[Καλάτσεμαν χρήστε:-XQV-|συζήτηση]]) 19:19, 13 Καλανταρί 2017 (UTC) == Invitation to [[:m:Wikimedia CEE Spring 2017|Wikimedia CEE Spring 2017]] == <small>Sorry for writing in English.</small> Dear Pontic community, Last year your community missed to participate at CEE Spring in Pontic and we invite you to participate in this year’s contest! Local organisers, please subscribe to the mailing list at https://lists.wikimedia.bg/mailman/listinfo/ceespring-localorganisers, add your community at the [[:m:Wikimedia CEE Spring 2017/Participants|Meta page with the participants]] and discuss this year’s edition of the contest on its talk page ([[:m:Talk:Wikimedia CEE Spring 2017/Participants|Talk:Wikimedia CEE Spring 2017/Participants]]). There you will also find information on some of the things expected from the local organisers. We are looking forward to reading from you soon! On behalf of the international organisers, -- [[Χρήστες:Алиса Селезньова|Αλίσα Σελεζνιέβα]] ([[Καλάτσεμαν χρήστε:Алиса Селезньова|συζήτηση]]) 14:48, 17 Καλανταρί 2017 (UTC) == [[m:Wikipedias in the languages of Russia/Newsletter#2017-01-19|'''Бюллетень «Википедии на языках России» / «Wikipedias in the languages of Russia» newsletter''' - #11 (янв./Jan.'17)''']] == {| border="2" cellspacing="0" cellpadding="4" rules="all" style="margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; font-size:95%; empty-cells:show; |Уважаемый коллега, ''Большое спасибо всем и каждому, кто вносит свой вклад в развитие [[File:Flag-map_of_Russia.svg|border|20px]] [[m:Wikipedias_in_the_languages_of_Russia|Разделов Википедии на языках России]].''</br> В этом выпуске: * На заметку: * [https://www.seonews.ru/events/wikipedia-ranzhiruetsya-v-google-tak-zhe-kak-i-lyuboy-drugoy-sayt/ Wikipedia ранжируется в Google так же, как и любой другой сайт], [https://arxiv.org/abs/1611.03932 Использование Викиданных для обучения искусственного интелекта IBM Watson (англ.)], [http://wikirank-2016.di.unimi.it/ Самые важные статьи англоВП по категориям (англ.)], [http://ren.tv/novosti/2016-12-05/smi-ryazanskie-chinovniki-otredaktirovali-wikipedia-chtoby-snesti-dom СМИ: Рязанские чиновники отредактировали Wikipedia, чтобы снести дом], [http://www.inc.com/justin-bariso/wikipedias-new-email-campaign-is-a-master-class-in-emotional-intelligence.html Эксперт: Предновогодняя кампания Википедии по сбору пожертвований — мастер-класс по использованию эмоционального интеллекта! (англ.)], [https://www.researchgate.net/blog/post/wikipedia-is-the-worlds-largest-medical-resource-but-crucial-information-is-often-missing ВП – это самый большой энциклопедический ресурс планеты по медицине, но в нём иногда отсутствует ключевая информация (англ.)], [https://www.newscientist.com/article/2115986-wikipedia-facts-depend-on-which-language-you-read-them-in/ Wikipedia ‘facts’ depend on which language you read them in], [https://thinkprogress.org/ending-wikipedia-gender-gap-online-sexism-776d0854fd53 The slow and steady battle to close Wikipedia’s dangerous gender gap] * В конце 2017 года [[m:Wikipedia to the Moon/Wrap-up|на Луну отправится]] более 31,500 избранных статей и списков из всех Википедий, включая все разделы ВПнаЯР (даже ady и olo)! * Поддержать новичков? Обратная связь? [[:w:kk:|КазВП]] использует [[w:kk:MediaWiki:Sitenotice|MediaWiki:Sitenotice]] * [[m:The_Wikipedia_Library/1Lib1Ref/ru|Представьте себе мир, где каждый библиотекарь добавил в Википедию не менее одной ссылки на источники]]. * Викимания-2017 пройдёт 9-13 августа в Монтреале (Канада). Заявки на [https://wikimania2017.wikimedia.org/wiki/Scholarships стипендии для участия] принимаются до 20 февраля. * Новый отчёт: «[[m:Wikipedias in the languages of Russia/Readership|Кто, как и откуда читает разделы ВП на языках России?]]» * Видео [[:File:Wikipedia - FactsMatter2016.webm|#FactsMatter2016 (проверяемость фактов)]] с субтитрами — выбирать из [сс]. * Новости о коллегах за рубежом: [http://www.thebetterindia.com/76669/indian-language-wikipedias-access-to-knowledge-for-all/ How Indian Language Wikipedias Are Making Knowledge Accessible to All], [http://venturesafrica.com/wiki-loves-africa-wikimedias-call-for-an-increased-coverage-of-the-african-continent/ Wiki Loves Africa: Wikipedias call for an increased coverage of the African continent - Ventures Africa], [http://www.click.ro/utile/asa-ai-mereu-acces-la-cele-mai-importante-informatii-descarca-acum-wikipedia-si-foloseste Romania: How to download Wikipedia for offline access] * [[m:Wikipedias in the languages of Russia/Tables/ru|Текущие показатели]] проектов и [[m:Wikipedias_in_the_languages_of_Russia/Trends|аналитика]]. [[m:Wikipedias in the languages of Russia/Newsletter/Delivery list|Подписаться/Отписаться]]. ''Готовы поделиться своими новостями или опытом?'' <u>[[m:Wikipedias_in_the_languages_of_Russia/Newsletter#Подготовка нового выпуска / Preparing new issue|добавляйте ссылку в следующий выпуск]]</u>! | Dear colleague, ''Great thanks go to each and everyone contributing into developing [[File:Flag-map_of_Russia.svg|border|20px]] [[m:Wikipedias_in_the_languages_of_Russia|Wikipedias in the languages of Russia]]''. </br>In this issue: * Take note: [https://arxiv.org/abs/1611.03932 Training IBM Watson using Wikidata], [http://wikirank-2016.di.unimi.it/ The Open Wikipedia Ranking2016], [http://ren.tv/novosti/2016-12-05/smi-ryazanskie-chinovniki-otredaktirovali-wikipedia-chtoby-snesti-dom Russian Wikipedia page edited in favor of a building's demolition from local administration IP address], [http://www.inc.com/justin-bariso/wikipedias-new-email-campaign-is-a-master-class-in-emotional-intelligence.html Wikipedia's New Email Campaign Is a Master Class in Emotional Intelligence], [https://www.researchgate.net/blog/post/wikipedia-is-the-worlds-largest-medical-resource-but-crucial-information-is-often-missing Wikipedia is the world’s largest medical resource, but crucial information is often missing], [https://www.newscientist.com/article/2115986-wikipedia-facts-depend-on-which-language-you-read-them-in/ Wikipedia ‘facts’ depend on which language you read them in], [https://thinkprogress.org/ending-wikipedia-gender-gap-online-sexism-776d0854fd53 The slow and steady battle to close Wikipedia’s dangerous gender gap], [https://www.seroundtable.com/google-wikipedia-special-ranking-treatment-23157.html Google: Wikipedia Is Ranked By Google Like Any Other Web Site] * At the end of 2017 over 31,500 WP's FAs and FLs [[m:Wikipedia to the Moon/Wrap-up|will head for the Moon]], including all WPs in the Languages of Russia (even newbies like ady & olo)! * Supporting new editors? Looking for reader feedback? [[:w:kk:|KazWP]] uses its [[w:kk:MediaWiki:Sitenotice|MediaWiki:Sitenotice]] * [[m:The_Wikipedia_Library/1Lib1Ref|Imagine a World where Every Librarian Added One More Reference to Wikipedia]]. * Wikimania-2017 will be held on August 9-13 in Montréal, Canada. [https://wikimania2017.wikimedia.org/wiki/Scholarships Participation Scholarship] applications accepted till Feb.20. * New Report: «[[m:Wikipedias in the languages of Russia/Readership|WPs in the Languages of Russia Readership]]» * Video: [[:File:Wikipedia - FactsMatter2016.webm|#FactsMatter2016]] — choose subtitles from [сс]. * December news about colleagues abroad: [http://www.thebetterindia.com/76669/indian-language-wikipedias-access-to-knowledge-for-all/ How Indian Language Wikipedias Are Making Knowledge Accessible to All], [http://venturesafrica.com/wiki-loves-africa-wikimedias-call-for-an-increased-coverage-of-the-african-continent/ Wiki Loves Africa: Wikipedias call for an increased coverage of the African continent - Ventures Africa], [http://www.click.ro/utile/asa-ai-mereu-acces-la-cele-mai-importante-informatii-descarca-acum-wikipedia-si-foloseste Romania: How to download Wikipedia for offline access] * [[m:Wikipedias in the languages of Russia/Tables|Current Stats]] and [[m:Wikipedias_in_the_languages_of_Russia/Trends|analytics]]. [[m:Wikipedias in the languages of Russia/Newsletter/Delivery list|Subscribe/Unsubscribe]]. ''Ready to share own news or valuable experience?'' Add a link into <u>[[m:Wikipedias_in_the_languages_of_Russia/Newsletter#Подготовка нового выпуска / Preparing new issue|the next month issue]]</u>! |}</div> --[[Χρήστες:Frhdkazan|Frhdkazan]] ([[Καλάτσεμαν χρήστε:Frhdkazan|συζήτηση]]) 14:56, 19 Καλανταρί 2017 (UTC) == Review of initial updates on Wikimedia movement strategy process == <div lang="en" dir="ltr" class="mw-content-ltr"> ''Note: Apologies for cross-posting and sending in English. [[m:Strategy/Wikimedia movement/2017/Updates/Initial announcements review|Message is available for translation on Meta-Wiki]].'' The Wikimedia movement is beginning a movement-wide strategy discussion, a process which will run throughout 2017. For 15 years, Wikimedians have worked together to build the largest free knowledge resource in human history. During this time, we've grown from a small group of editors to a diverse network of editors, developers, affiliates, readers, donors, and partners. Today, we are more than a group of websites. We are a movement rooted in values and a powerful vision: all knowledge for all people. As a movement, we have an opportunity to decide where we go from here. This movement strategy discussion will focus on the future of our movement: where we want to go together, and what we want to achieve. We hope to design an inclusive process that makes space for everyone: editors, community leaders, affiliates, developers, readers, donors, technology platforms, institutional partners, and people we have yet to reach. There will be multiple ways to participate including on-wiki, in private spaces, and in-person meetings. You are warmly invited to join and make your voice heard. The immediate goal is to have a strategic direction by Wikimania 2017 to help frame a discussion on how we work together toward that strategic direction. Regular updates are being sent to the [[mail:Wikimedia-l|Wikimedia-l mailing list]], and posted [[m:Strategy/Wikimedia_movement/2017/Updates|on Meta-Wiki]]. Beginning with this message, monthly reviews of these updates will be sent to this page as well. [[m:Strategy/Wikimedia movement/2017/Updates/Signup|Sign up]] to receive future announcements and monthly highlights of strategy updates on your user talk page. Here is a review of the updates that have been sent so far: * [[m:Strategy/Wikimedia movement/2017/Updates/15 December 2016 - Update 1 on Wikimedia movement strategy process|Update 1 on Wikimedia movement strategy process]] (15 December 2016) ** Introduction to process and information about budget spending resolution to support it * [[m:Strategy/Wikimedia movement/2017/Updates/23 December 2016 - Update 2 on Wikimedia movement strategy process|Update 2 on Wikimedia movement strategy process]] (23 December 2016) ** Start of search for Lead Architect for movement strategy process * [[m:Strategy/Wikimedia movement/2017/Updates/8 January 2017 - Update 3 on Wikimedia movement strategy process|Update 3 on Wikimedia movement strategy process]] (8 January 2017) ** Plans for strategy sessions at upcoming Wikimedia Conference 2017 * [[m:Strategy/Wikimedia movement/2017/Updates/11 January 2017 - Update 4 on Wikimedia movement strategy process|Update 4 on Wikimedia movement strategy process]] (11 January 2017) ** Introduction of williamsworks * [[m:Strategy/Wikimedia movement/2017/Updates/2 February 2017 - Update 5 on Wikimedia movement strategy process|Update 5 on Wikimedia movement strategy process]] (2 February 2017) ** The core movement strategy team, team tracks being developed, introduction of the Community Process Steering Committee, discussions at WikiIndaba conference 2017 and the Wikimedia movement affiliates executive directors gathering in Switzerland * [[m:Strategy/Wikimedia movement/2017/Updates/10 February 2017 - Update 6 on Wikimedia movement strategy process|Update 6 on Wikimedia movement strategy process]] (10 February 2017) ** Tracks A & B process prototypes and providing feedback, updates on development of all four Tracks More information about the movement strategy is available on the [[m:Strategy/Wikimedia movement/2017|Meta-Wiki 2017 Wikimedia movement strategy portal]]. ''Posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|MediaWiki message delivery]] on behalf of the [[m:Special:MyLanguage/Wikimedia Foundation|Wikimedia Foundation]], 20:30, 15 Κούντουρονος 2017 (UTC) • [[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Updates/Initial announcements review|{{int:please-translate}}]] • [[m:Talk:Strategy/Wikimedia movement/2017/Updates|Get help]]'' </div> <!-- Το μήνυμα στάλθηκε από τον User:GVarnum-WMF@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=16297862 --> == [[m:Wikipedias in the languages of Russia/Newsletter#2017-02-16|'''Бюллетень «Википедии на языках России» / «Wikipedias in the languages of Russia» newsletter''' - #12 (фев./Feb.'17)''']] == {| border="2" cellspacing="0" cellpadding="4" rules="all" style="margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; font-size:95%; empty-cells:show; |Уважаемый коллега, ''Большое спасибо всем и каждому, кто вносит свой вклад в развитие [[File:Flag-map_of_Russia.svg|border|20px]] [[m:Wikipedias_in_the_languages_of_Russia|Разделов Википедии на языках России]].''</br> В этом выпуске: * Новости [[:wmru:|ВМРУ]]: ** [[:wmru:Собрания/2017-01-30|Отчёт собрания 2017-01-30]] ** Продолжается конкурс [[:wmru:Конкурсы/Узнай Россию. Начни с Дона|«Узнай Россию. Начни с Дона»]] ** [[:wmru:Вики-Пайрем_2017/Программа|Программа Вики-Пайрем_2017]] (14-18.06.2017) ** [[:wmru:Вики-экспедиции/Сахалин|Миссия: Отснять и описать Сахалин]] (июнь 2017) * Новое в рамках движения Викимедиа: ''[[m:Wikimedia Resource Center|Ресурсный центр]]'' ([https://blog.wikimedia.org/2017/01/19/new-wikimedia-resource-center/ статья в блоге]); ''[[m:Community health initiative|Инициатива «Здоровое сообщество»]]'' ([https://blog.wikimedia.org/2017/01/26/community-health-initiative-grant/ статья в блоге]) ** '''[[w:ru:Проект:GLAM|GLAM]]''': [http://pro.europeana.eu/blogpost/meet-the-members-council-barbara-fischer Викимедиа впервые представлена в совете членов проекта Europeana] ** [[w:ru:Википедия:Викиданные|Викиданные]]: *** [https://www.oxfordaspiremuseums.org/blog/wikidata Викиданные: новая площадка для культурного наследия] *** [[m:WikiCite|Вики-Библиография]]: Конгресс 2017 [[m:WikiCite 2017|пройдёт в Вене 23-25 мая]]. ** '''[[w:ru:Проект:Школы и университеты|Википедия в образовании]]''' *** В школе: [https://mywikieducation.blogspot.ru/2017/01/change-in-modern-schooling-education.html Википедия меняет подход к современному среднему образованию (Часть 1)], [https://mywikieducation.blogspot.ru/2017/01/change-in-modern-schooling-education_28.html Часть 2], [https://mywikieducation.blogspot.ru/2017/02/change-in-modern-schooling-education.html Часть 3] *** В ВУЗе: [http://words.usask.ca/gmcte/2017/01/17/the-wikipedia-manifesto/ Манифест Википедии], [http://words.usask.ca/gmcte/2017/01/24/medicine-and-wikipedia/ О том, как студенты изучают медицину, овладевают навыками совместной работы, и трансформируют Википедию], [http://words.usask.ca/gmcte/2017/01/31/what-does-it-mean-to-say-that-anyone-can-edit-wikipedia/ Как понимать, что Википедию “может править каждый”?], [http://words.usask.ca/gmcte/2017/02/07/wikipedias-gender-bias-and-what-your-students-can-do-about-it/ Гендерные стереотипы в Википедии – и что с этим делать Вашим студентам], [http://words.usask.ca/gmcte/2017/02/14/wikiprojects-article-importance-and-article-quality-an-intimate-relationship-12/ ВикиПроекты, важность статей и их качество: интимные связи (1/2)], [https://psmag.com/how-wikipedia-is-cultivating-an-army-of-fact-checkers-to-battle-fake-news-6e818f68e5a6#.b5esrd9mz Этой весной учиться править Википедию будет 7500 студентов из 335 учебных групп] * На заметку: ** [http://www.20min.ch/schweiz/basel/story/Behoerden-pfuschen-an-Wikipedia-Eintraegen-herum-14051350 Behörden pfuschen an Wikipedia-Einträgen herum - Basel] (Базель: За последние 5 лет статьи, касающиеся работы государственных офисов редактировались с их IP-адресов почти 290 раз.) ** [http://www.radioaustralia.net.au/international/2017-01-19/encyclopaedias-now-virtually-worthless-as-wikipedia-celebrates-16th-anniversary/1645574 На момент 16-летия Википедии, (физические) энциклопедии практически обеценились] ** [http://trueviralnews.com/this-bot-has-written-more-wikipedia-articles-than-anybody/ Этот бот написал больше статей в Википедию, чем кто-либо ещё] ** [https://blog.wikimedia.org/2017/01/16/public-domain-copyright-week/ Старший юрист Фонда Викимедиа: Википедия стоит на фундаменте общественного достояния] ** [http://radio.krcb.org/post/inner-workings-wikipedia#stream/0 Самыми ценными являются правки, усиливающие истинность информации в статьях.] ** [https://eos.org/opinions/three-reasons-why-earth-scientists-should-edit-wikipedia Три причины, почему представителям наук о Земле стоит править Википедию] ** [https://arxiv.org/abs/1702.00716 Анализ эволюции содержания идентичных статей в разных языковых разделах Википедии] * Лучшие практики: ** [[:File:Wikimedia Commons web en.pdf|Руководство по Викискладу для новичков (на англ.)]] * Новости о коллегах за рубежом: ** [https://yourstory.com/2017/02/wikipedia-and-women/ India: Wikipedia and women] ** [https://www.theguardian.com/technology/2017/feb/08/wikipedia-bans-daily-mail-as-unreliable-source-for-website Daily Mail? НеАИ.] И список [[:w:en:Wikipedia:Potentially unreliable sources|«потенциальных неАИ» англоВП]]. ** [https://www.zawya.com/mena/en/story/For_Wikipedia_founder_online_freedom_matters_most-GN_24012017_250109/ Учащиеся используют Арабскую Википедию как инструмент для овладения навыками цитирования источников, составления текстов, и критического мышления (анализа)] ** [https://www.pressandjournal.co.uk/fp/business/north-of-scotland/1156279/susan-becomes-first-ever-gaelic-wikipedian/ Первым штатным википедистом на гэльском шотландском стала Сьюзан] ** [http://24tv.ua/ru/kak_stremitelno_razvivaetsja_ukrainskaja_wikipedia_poznavatelnaja_infografika_n778150 Инфографика УкрВП Украина] * [[m:Wikipedias in the languages of Russia/Tables/ru|Текущие показатели]] разделов ВП:ЯР, [[m:Wikipedias in the languages of Russia/Readership|их читателей]], и [[m:Wikipedias_in_the_languages_of_Russia/Trends|аналитика]]. * [[wmru:Список сайтов со свободным использованием материалов|Список сайтов со свободным использованием материалов]] от ВМРУ [[m:Wikipedias in the languages of Russia/Newsletter/Delivery list|Подписаться/Отписаться]]. ''Готовы поделиться своими новостями или опытом?'' <u>[[m:Wikipedias_in_the_languages_of_Russia/Newsletter#Подготовка нового выпуска / Preparing new issue|добавляйте ссылку в следующий выпуск]]</u>! | Dear colleague, ''Great thanks go to each and everyone contributing into developing [[File:Flag-map_of_Russia.svg|border|20px]] [[m:Wikipedias_in_the_languages_of_Russia|Wikipedias in the languages of Russia]]''. </br>In this issue: * [[:wmru:|Wikimedia Russia]] News: ** [[:wmru:Собрания/2017-01-30|Meeting report 2017-01-30]] ** On-going contest [[:wmru:Конкурсы/Узнай Россию. Начни с Дона|«Discover Russia. Start from Don»]] ** [[:wmru:Вики-Пайрем_2017/Программа|Вики-Пайрем_2017 seminar program]] (14-18.06.2017) ** [[:wmru:Вики-экспедиции/Сахалин/en|Mission: to photograph & describe Sakhalin]] (June 2017) * Wikimedia movement-wide developments: ''[[m:Wikimedia Resource Center|Wikimedia Resource Center]]'' ([https://blog.wikimedia.org/2017/01/19/new-wikimedia-resource-center/ blog post]); ''[[m:Community health initiative|Community health initiative]]'' ([https://blog.wikimedia.org/2017/01/26/community-health-initiative-grant/ blog post]) ** [[:outreach:GLAM|GLAM]]: *** [http://pro.europeana.eu/blogpost/meet-the-members-council-barbara-fischer Wikimedia for the first time represented on Europeanas member council] ** [[w:en:Wikipedia:Wikidata|Wikidata]]: *** [https://www.oxfordaspiremuseums.org/blog/wikidata Wikidata: the new hub for cultural heritage] *** [[m:WikiCite|WikiCite]]: 2017 Congress [[m:WikiCite 2017|will take place in Vienna on May 23-25]]. ** [[:outreach:Education|Wikipedia in Education]] *** In high school: [https://mywikieducation.blogspot.ru/2017/01/change-in-modern-schooling-education.html Change in Modern Schooling Education with Wikipedia (Part 1)], [https://mywikieducation.blogspot.ru/2017/01/change-in-modern-schooling-education_28.html Part 2], [https://mywikieducation.blogspot.ru/2017/02/change-in-modern-schooling-education.html Part 3] *** In college: [http://words.usask.ca/gmcte/2017/01/17/the-wikipedia-manifesto/ The Wikipedia Manifesto], [http://words.usask.ca/gmcte/2017/01/24/medicine-and-wikipedia/ How Students Are Learning Medicine and Collaborative Skills, And Transforming Wikipedia], [http://words.usask.ca/gmcte/2017/01/31/what-does-it-mean-to-say-that-anyone-can-edit-wikipedia/ What Does It Mean to Say That “Anyone Can Edit” Wikipedia?], [http://words.usask.ca/gmcte/2017/02/07/wikipedias-gender-bias-and-what-your-students-can-do-about-it/ Wikipedia’s Gender Bias – and What Your Students Can Do About It], [http://words.usask.ca/gmcte/2017/02/14/wikiprojects-article-importance-and-article-quality-an-intimate-relationship-12/ WikiProjects, Article Importance, and Article Quality: An Intimate Relationship (1/2)], [https://psmag.com/how-wikipedia-is-cultivating-an-army-of-fact-checkers-to-battle-fake-news-6e818f68e5a6#.b5esrd9mz Wiki Edu expects 7,500 students in around 335 courses to contribute to the site this spring] * Keep in mind: ** [http://www.20min.ch/schweiz/basel/story/Behoerden-pfuschen-an-Wikipedia-Eintraegen-herum-14051350 Behörden pfuschen an Wikipedia-Einträgen herum - Basel] (Basel: In the past five years, government IP address have been found to edit articles relating to their jobs about 290 times.) ** [Physical] [http://www.radioaustralia.net.au/international/2017-01-19/encyclopaedias-now-virtually-worthless-as-wikipedia-celebrates-16th-anniversary/1645574 Encyclopaedias now virtually worthless as Wikipedia celebrates 16th anniversary] ** [http://trueviralnews.com/this-bot-has-written-more-wikipedia-articles-than-anybody/ This Bot Has Written More Wikipedia Articles Than Anybody] ** [https://blog.wikimedia.org/2017/01/16/public-domain-copyright-week/ WMF Senior Legal Counsel: Wikipedia is built on the public domain] ** [http://radio.krcb.org/post/inner-workings-wikipedia#stream/0 The most useful additions are those that add to the veracity of the information in a given article.] ** [https://eos.org/opinions/three-reasons-why-earth-scientists-should-edit-wikipedia Three Reasons Why Earth Scientists Should Edit Wikipedia] ** [https://arxiv.org/abs/1702.00716 Analysing Temporal Evolution of Interlingual Wikipedia Article Pairs] * Best practice: ** [[:File:Wikimedia Commons web en.pdf|Beginners' guide on Wikimedia Commons in English]] * News about colleagues abroad: ** [https://yourstory.com/2017/02/wikipedia-and-women/ India: Wikipedia and women] ** [https://www.theguardian.com/technology/2017/feb/08/wikipedia-bans-daily-mail-as-unreliable-source-for-website Daily Mail? Not RS.] And a list of [[:w:en:Wikipedia:Potentially unreliable sources|EnWP Potentially unreliable sources]]. ** [https://www.zawya.com/mena/en/story/For_Wikipedia_founder_online_freedom_matters_most-GN_24012017_250109/ Students use Arabic Wikipedia as a tool to learn important skills like referencing sources, writing, and critical thinking] ** [https://www.pressandjournal.co.uk/fp/business/north-of-scotland/1156279/susan-becomes-first-ever-gaelic-wikipedian/ Susan becomes first ever Gaelic Wikipedian-in-Residence] ** [http://24tv.ua/ru/kak_stremitelno_razvivaetsja_ukrainskaja_wikipedia_poznavatelnaja_infografika_n778150 UkWP Ukraine Infographics] * [[m:Wikipedias in the languages of Russia/Tables|Current Stats]] on WP:LR and [[m:Wikipedias in the languages of Russia/Readership|its Readership]], as well as [[m:Wikipedias_in_the_languages_of_Russia/Trends|analytics]]. * WMRU's [[wmru:Список сайтов со свободным использованием материалов|List of websites under free license]] [[m:Wikipedias in the languages of Russia/Newsletter/Delivery list|Subscribe/Unsubscribe]]. ''Ready to share own news or valuable experience?'' Add a link into <u>[[m:Wikipedias_in_the_languages_of_Russia/Newsletter#Подготовка нового выпуска / Preparing new issue|the next month issue]]</u>! |}</div> --[[Χρήστες:Frhdkazan|Frhdkazan]] ([[Καλάτσεμαν χρήστε:Frhdkazan|συζήτηση]]) 13:43, 16 Κούντουρονος 2017 (UTC) == Overview #2 of updates on Wikimedia movement strategy process == <div lang="en" dir="ltr" class="mw-content-ltr"> ''Note: Apologies for cross-posting and sending in English. [[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Updates/Overview 2 of updates on Wikimedia movement strategy process|This message is available for translation on Meta-Wiki]].'' As we mentioned last month, the Wikimedia movement is beginning a movement-wide strategy discussion, a process which will run throughout 2017. This movement strategy discussion will focus on the future of our movement: where we want to go together, and what we want to achieve. Regular updates are being sent to the [[mail:Wikimedia-l|Wikimedia-l mailing list]], and posted [[m:Special:MyLanguage/Strategy/Wikimedia_movement/2017/Updates|on Meta-Wiki]]. Each month, we are sending overviews of these updates to this page as well. [[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Updates/Signup|Sign up]] to receive future announcements and monthly highlights of strategy updates on your user talk page. Here is a overview of the updates that have been sent since our message last month: * [[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Updates/16 February 2017 - Update 7 on Wikimedia movement strategy process|Update 7 on Wikimedia movement strategy process]] (16 February 2017) ** Development of documentation for Tracks A & B * [[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Updates/24 February 2017 - Update 8 on Wikimedia movement strategy process|Update 8 on Wikimedia movement strategy process]] (24 February 2017) ** Introduction of Track Leads for all four audience tracks * [[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Updates/2 March 2017 - Update 9 on Wikimedia movement strategy process|Update 9 on Wikimedia movement strategy process]] (2 March 2017) ** Seeking feedback on documents being used to help facilitate upcoming community discussions More information about the movement strategy is available on the [[m:Special:MyLanguage/Strategy/Wikimedia movement/2017|Meta-Wiki 2017 Wikimedia movement strategy portal]]. ''Posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|MediaWiki message delivery]] on behalf of the [[m:Special:MyLanguage/Wikimedia Foundation|Wikimedia Foundation]], 19:43, 9 Μαρτ 2017 (UTC) • [[m:Strategy/Wikimedia movement/2017/Updates/Overview 2 of updates on Wikimedia movement strategy process|{{int:please-translate}}]] • [[m:Talk:Strategy/Wikimedia movement/2017/Updates|Get help]]'' </div> <!-- Το μήνυμα στάλθηκε από τον User:GVarnum-WMF@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=16350625 --> == We invite you to join the movement strategy conversation (now through April 15) == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"><div class="plainlinks"> : ''This message, "[[mailarchive:wikimediaannounce-l/2017-March/001383.html|We invite you to join the movement strategy conversation (now through April 15)]]", was sent through multiple channels by [[m:User:GVarnum-WMF|Gregory Varnum]] on 15 and 16 of March 2017 to village pumps, affiliate talk pages, movement mailing lists, and MassMessage groups. A similar message was sent by [[m:User:Nicole_Ebber_(WMDE)|Nicole Ebber]] to organized groups and their mailing lists on 15 of March 2017. This version of the message is available for translation and documentation purposes'' Dear Wikimedians/Wikipedians: Today we are starting a broad discussion to define Wikimedia's future role in the world and develop a collaborative strategy to fulfill that role. You are warmly invited to join the conversation. There are many ways to participate, by joining an existing conversation or starting your own: [[m:Special:MyLanguage/Strategy/Wikimedia_movement/2017/Track_A|Track A (organized groups)]]: Discussions with your affiliate, committee or other organized group (these are groups that support the Wikimedia movement). Track B (individual contributors): [[m:Special:MyLanguage/Strategy/Wikimedia_movement/2017/Cycle_1|On Meta]] or your [[m:Special:MyLanguage/Strategy/Wikimedia_movement/2017/Participate|local language or project wiki]]. This is the first of three conversations, and it will run between now and April 15. The purpose of cycle 1 is to discuss the future of the movement and generate major themes around potential directions. What do we want to build or achieve together over the next 15 years? We welcome you, as we create this conversation together, and look forward to broad and diverse participation from all parts of our movement. * [[m:Special:MyLanguage/Strategy/Wikimedia_movement/2017|Find out more about the movement strategy process]] * [[m:Special:MyLanguage/Strategy/Wikimedia_movement/2017/Toolkit/Discussion_Coordinator_Role|Learn more about volunteering to be a Discussion Coordinator]] Sincerely, Nicole Ebber (Track A Lead), Jaime Anstee (Track B Lead), & the [[m:Special:MyLanguage/Strategy/Wikimedia_movement/2017/People|engagement support teams]]</div></div> 05:09, 18 Μαρτ 2017 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:GVarnum-WMF@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Strategy/Wikimedia_movement/2017/Updates/Global_message_delivery&oldid=16453957 --> == IMPORTANT: Admin activity review == Hello. A policy regarding the removal of "advanced rights" (administrator, bureaucrat, etc. ) was adopted by [[:m:Requests for comment/Activity levels of advanced administrative rights holders|global community consensus]] in 2013. According to this policy, the [[:m:stewards|stewards]] are reviewing administrators' activity on all Wikimedia Foundation wikis with no inactivity policy. To the best of our knowledge, your wiki does not have a formal process for removing "advanced rights" from inactive accounts. This means that the stewards will take care of this according to the [[:m:Admin activity review|admin activity review]]. We have determined that the following users meet the inactivity criteria (no edits and no log actions for more than 2 years): #Omnipaedista (bureaucrat, administrator) These users will receive a notification soon, asking them to start a community discussion if they want to retain some or all of their rights. If the users do not respond, then their advanced rights will be removed by the stewards. However, if you as a community would like to create your own activity review process superseding the global one, want to make another decision about these inactive rights holders, or already have a policy that we missed, then please notify the [[:m:Stewards' noticeboard|stewards on Meta-Wiki]] so that we know not to proceed with the rights review on your wiki. Thanks, [[User:Defender|<font color="black">'''Defender'''</font>]] <small>[[User_talk:Defender|<font color="black">(talk)</font>]]</small> 19:58, 18 Μαρτ 2017 (UTC) == [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Start of the 2017 Wikimedia Foundation Board of Trustees elections|Start of the 2017 Wikimedia Foundation Board of Trustees elections]] == <div lang="en" dir="ltr" class="mw-content-ltr"> ''Please accept our apologies for cross-posting this message. [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Start of the 2017 Wikimedia Foundation Board of Trustees elections|This message is available for translation on Meta-Wiki]].'' [[File:Wikimedia-logo black.svg|right|150px|link=m:Special:MyLanguage/Wikimedia Foundation elections/2017]] On behalf of the Wikimedia Foundation Elections Committee, I am pleased to announce that self-nominations are being accepted for the [[m:Special:MyLanguage/Wikimedia_Foundation_elections/2017/Board_of_Trustees/Call_for_candidates|2017 Wikimedia Foundation Board of Trustees Elections]]. The [[m:Special:MyLanguage/Wikimedia Foundation Board of Trustees|Board of Trustees]] (Board) is the decision-making body that is ultimately responsible for the long-term sustainability of the Wikimedia Foundation, so we value wide input into its selection. More information about this role can be found [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Board of Trustees|on Meta-Wiki]]. Please read the [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Board of Trustees/Call for candidates|letter from the Board of Trustees calling for candidates]]. '''The [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Board of Trustees/Candidates|candidacy submission phase]] will last from April 7 (00:00 UTC) to April 20 (23:59 UTC).''' '''We will also be accepting questions to ask the candidates from April 7 to April 20. [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Board of Trustees/Questions|You can submit your questions on Meta-Wiki]].''' Once the questions submission period has ended on April 20, the Elections Committee will then collate the questions for the candidates to respond to beginning on April 21. The goal of this process is to fill the '''three community-selected seats''' on the Wikimedia Foundation Board of Trustees. The election results will be used by the Board itself to select its new members. The full schedule for the Board elections is as follows. All dates are '''inclusive''', that is, from the beginning of the first day (UTC) to the end of the last. * April 7 (00:00 UTC) – April 20 (23:59 UTC) – '''Board nominations''' * April 7 – April 20 – '''Board candidates questions submission period''' * April 21 – April 30 – '''Board candidates answer questions''' * May 1 – May 14 – '''Board voting period''' * May 15–19 – '''Board vote checking''' * May 20 – '''Board result announcement goal''' In addition to the Board elections, we will also soon be holding elections for the following roles: * '''Funds Dissemination Committee (FDC)''' ** There are five positions being filled. More information about this election will be available [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Funds Dissemination Committee|on Meta-Wiki]]. * '''Funds Dissemination Committee Ombudsperson (Ombuds)''' ** One position is being filled. More information about this election will be available [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Funds Dissemination Committee Ombudsperson|on Meta-Wiki]]. Please note that this year the Board of Trustees elections will be held before the FDC and Ombuds elections. Candidates who are not elected to the Board are explicitly permitted and encouraged to submit themselves as candidates to the FDC or Ombuds positions after the results of the Board elections are announced. More information on this year's elections can be found [[m:Special:MyLanguage/Wikimedia Foundation elections/2017|on Meta-Wiki]]. Any questions related to the election can be posted on the [[m:Talk:Wikimedia Foundation elections/2017|election talk page on Meta-Wiki]], or sent to the election committee's mailing list, <tt dir="ltr" style="white-space:nowrap;font-size:12px;line-height:1.5">board-elections[[File:At sign.svg|15x15px|middle|link=|alt=(at)]]wikimedia.org</tt>. On behalf of the Election Committee,<br /> [[m:User:KTC|Katie Chan]], Chair, [[m:Special:MyLanguage/Wikimedia Foundation elections committee|Wikimedia Foundation Elections Committee]]<br /> [[m:User:JSutherland (WMF)|Joe Sutherland]], Community Advocate, Wikimedia Foundation ''Posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|MediaWiki message delivery]] on behalf of the [[m:Special:MyLanguage/Wikimedia Foundation elections committee|Wikimedia Foundation Elections Committee]], 03:38, 7 Απρίλ 2017 (UTC) • [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Start of the 2017 Wikimedia Foundation Board of Trustees elections|{{int:please-translate}}]] • [[m:Talk:Wikimedia Foundation elections/2017|Get help]]''</div> <!-- Το μήνυμα στάλθηκε από τον User:GVarnum-WMF@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=16441214 --> == Read-only mode for 20 to 30 minutes on 19 April and 3 May == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"><div class="plainlinks"> [[:m:Special:MyLanguage/Tech/Server switch 2017|Read this message in another language]] • {{int:please-translate}} The [[foundation:|Wikimedia Foundation]] will be testing its secondary data center in Dallas. This will make sure that Wikipedia and the other Wikimedia wikis can stay online even after a disaster. To make sure everything is working, the Wikimedia Technology department needs to conduct a planned test. This test will show whether they can reliably switch from one data center to the other. It requires many teams to prepare for the test and to be available to fix any unexpected problems. They will switch all traffic to the secondary data center on '''Wednesday, 19 April 2017'''. On '''Wednesday, 3 May 2017''', they will switch back to the primary data center. Unfortunately, because of some limitations in [[mw:Manual:What is MediaWiki?|MediaWiki]], all editing must stop during those two switches. We apologize for this disruption, and we are working to minimize it in the future. '''You will be able to read, but not edit, all wikis for a short period of time.''' *You will not be able to edit for approximately 20 to 30 minutes on Wednesday, 19 April and Wednesday, 3 May. The test will start at [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20170419T14 14:00 UTC] (15:00 BST, 16:00 CEST, 10:00 EDT, 07:00 PDT, 23:00 JST, and in New Zealand at 02:00 NZST on Thursday 20 April and Thursday 4 May). *If you try to edit or save during these times, you will see an error message. We hope that no edits will be lost during these minutes, but we can't guarantee it. If you see the error message, then please wait until everything is back to normal. Then you should be able to save your edit. But, we recommend that you make a copy of your changes first, just in case. ''Other effects'': *Background jobs will be slower and some may be dropped. Red links might not be updated as quickly as normal. If you create an article that is already linked somewhere else, the link will stay red longer than usual. Some long-running scripts will have to be stopped. *There will be code freezes for the weeks of 17 April 2017 and 1 May 2017. Non-essential code deployments will not happen. This project may be postponed if necessary. You can [[wikitech:Switch Datacenter#Schedule for 2017 switch|read the schedule at wikitech.wikimedia.org]]. Any changes will be announced in the schedule. There will be more notifications about this. '''Please share this information with your community.''' /<span dir=ltr>[[m:User:Whatamidoing (WMF)|User:Whatamidoing (WMF)]] ([[m:User talk:Whatamidoing (WMF)|talk]])</span> </div></div>[[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 17:34, 11 Απρίλ 2017 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Johan (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=16545942 --> == Wikidata description editing in the Wikipedia Android app == <div class="mw-content-ltr" lang="en" dir="ltr"> [[:mw:Wikimedia_Apps/Short_descriptions|Wikidata description editing]] is a new experiment being rolled out on the Wikipedia app for Android. While this primarily impacts Wikidata, the changes are also addressing a concern about the mobile versions of Wikipedia, so that mobile users will be able to edit directly the descriptions shown under the title of the page and in the search results. We began by rolling out this feature several weeks ago to a pilot group of Wikipedias (Russian, Hebrew, and Catalan), and have seen very positive [[:mw:Wikimedia_Apps/Short_descriptions/Research|results]] including numerous quality contributions in the form of new and updated descriptions, and a low rate of vandalism. We are now ready for the next phase of rolling out this feature, which is to enable it in a few days for all Wikipedias except the top ten by usage within the app (i.e. except English, German, Italian, French, Spanish, Japanese, Dutch, Portuguese, Turkish, and Chinese). We will enable the feature for those languages instead at some point in the future, as we closely monitor user engagement with our expanded set of pilot communities. As always, if have any concerns, please reach out to us on wiki at [[:mw:Talk:Wikimedia_Apps/Short_descriptions|the talk page for this project]] or by email at reading@wikimedia.org. Thanks! -[[:mw:User:DBrant (WMF)|DBrant (WMF)]] 08:41, 14 Απρίλ 2017 (UTC) </div> <!-- Το μήνυμα στάλθηκε από τον User:Elitre (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Elitre_(WMF)/Wikidata_editing&oldid=16580284 --> == New Page previews feature == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"><div class="plainlinks"> New Page previews feature [[:m:Special:MyLanguage/User:CKoerner (WMF)/Enable Hovercards/Phase 1|Read this message in another language]] • {{int:please-translate}} Hello, The Reading web team at the Wikimedia Foundation has been working to enable [[mw:Beta Features/Hovercards|Page previews]], [[Special:Preferences#mw-prefsection-betafeatures|a beta feature]] known previously as Hovercards, as opt-in behavior for logged-in users and the default behavior for logged-out users across Wikipedia projects. Page previews provide a preview of any linked article, giving readers a quick understanding of a related article without leaving the current page. For this project, we are expecting to collect feedback over the following few weeks and tentatively enable the feature in early May, 2017. A quick note on the implementation: * For logged-in users who are not currently testing out the beta feature, Page previews will be off by default. Users may turn them on from [[Special:Preferences#mw-prefsection-betafeatures|their user preferences]] page. * For logged-out users, the feature will be on by default. Users may disable it at any time by selecting the setting cog available in each preview. * For users of the Navigation popups gadget, you will not be able to turn on the Page previews feature while using navigational popups. If you would like to try out the Page preview feature, make sure to first turn Navigation popups off prior to turning Page previews on. You can read more about [[mw:Beta_Features/Hovercards|the feature]] and [[mw:Beta Features/Hovercards#Success Metrics and Feature Evaluation|the tests we used to evaluate performance]], try it out by enabling it from the beta features page, and leave feedback or questions [[mw:Talk:Beta_Features/Hovercards|on the talk page]]. Thank you, [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 16:52, 19 Απρίλ 2017 (UTC) </div></div> <!-- Το μήνυμα στάλθηκε από τον User:CKoerner (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:CKoerner_(WMF)/Enable_Hovercards/Phase_1/Distribution_list&oldid=16616381 --> == [[m:Wikipedias in the languages of Russia/Newsletter#2017-04-20|'''Бюллетень «Википедии на языках России» / «Wikipedias in the languages of Russia» newsletter''' - #13 (апрель/April'17)''']] == {| border="2" cellspacing="0" cellpadding="4" rules="all" style="margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; font-size:95%; empty-cells:show; |Уважаемый коллега, ''Большое спасибо всем и каждому, кто вносит свой вклад в развитие [[File:Flag-map_of_Russia.svg|border|20px]] [[m:Wikipedias_in_the_languages_of_Russia|Разделов Википедии на языках России]].''</br> В этом выпуске: * [[:ru:Проект:Вики-весна — 2017|Вики-весна — 2017]] * '''[[w:ru:Проект:Школы и университеты|Википедия в образовании]]''': [https://www.ludovia.com/2017/04/enseigner-wikipedia/ Почему я учу своих студентов редактировать Википедию] (видео, фран.), [http://www.rp-online.de/panorama/wissen/bildung/wikipedia-eintrag-statt-hausarbeit-aid-1.6738149 Википедия в учебном плане Гейдельбергского университета] (нем.), [http://www.npr.org/sections/ed/2017/02/22/515244025/what-students-can-learn-by-writing-for-wikipedia NPR: Чему могут научиться студенты, когда пишут в Википедию] (англ.) * Главное в википедийных сообществах России одной строкой: ** Новости [[:wmru:|ВМРУ]]: 23 апреля — [[:wmru:Вики-премия 2017|Вики-премия 2017]]. ** [[m:Wikipedias in the languages of Russia/ActionPlan/Calendar/ru|Календарь на месяц]] ** [[m:Wikipedias in the languages of Russia/ActionPlan/Potd/ru|Изображение дня]] * На заметку: [http://www.sanluisobispo.com/opinion/letters-to-the-editor/article144876159.html Википедия учит важности проверки фактов] (англ.), [http://www.nature.com/news/initiative-aims-to-break-science-s-citation-paywall-1.21800 I4OC: инициатива по открытому цитированию] (англ.), [http://elpais.com/elpais/2017/04/02/opinion/1491144492_876964.html В ходе коллаборативного процесса все сообщества выбирают, что зафиксировать, а что опустить] (исп.), [http://www.businessinsider.com/career-benefits-sharing-knowledge-2017-2?r=US&IR=T&IR=T Карьерные выгоды участия в движении обмена знаниями] (англ.) * Лучшие практики: [http://azertag.az/xeber/_quotWikipediaorg_quot_ensiklopediyasinin_Azerbaycana_dair_ozbekdilli_versiyasi_yaradilir-1046892 Азербайджанский культурный центр в Узбекистане вносит вклад в развитие uzwiki] * Новости о коллегах за рубежом: ** [http://fenix951.com.ar/nuevo_2013/noticia.php?id=76121 Викимедиа Аргентина сотрудничает с аргентинским минобром в подготовке инструкторов по редактированию Википедии] (исп.) ** [http://www.military-technologies.net/2017/04/12/sharing-indian-culture-with-the-world-through-wikipedia-ashish-bhatnagar/ Открываю миру индийскую культуру ч/з Википедию] (англ.) ** [http://www.thehindu.com/news/cities/Mangalore/karavali-wikimedians-to-supply-content-offline-to-tulu-students-in-village-schools/article17523898.ece Викимедийцы Каравали предоставляют оффлайн-контент деревенским школам, в которых изучают язык тулу] (англ.) ** [http://www.ut.ee/en/news/ambitious-plan-lets-increase-estonian-wikipedia-one-million-articles План: довести Эстонскую Википедию до миллиона статей!] (англ.) ** [http://www.elmundo.es/pais-vasco/2017/02/22/58ad665446163fe9488b4577.html Испанские политики привержены усилению присутствия баскского языка в Википедии.] * [[m:Wikipedias in the languages of Russia/Tables/ru|Текущие показатели]] разделов ВП:ЯР, [[m:Wikipedias in the languages of Russia/Readership|их читателей]], и [[m:Wikipedias_in_the_languages_of_Russia/Trends|аналитика]]. * [[wmru:Список сайтов со свободным использованием материалов|Список сайтов со свободным использованием материалов]] от ВМРУ [[m:Wikipedias in the languages of Russia/Newsletter/Delivery list|Подписаться/Отписаться]]. ''Готовы поделиться своими новостями или опытом?'' <u>[[m:Wikipedias_in_the_languages_of_Russia/Newsletter#Подготовка нового выпуска / Preparing new issue|добавляйте ссылку в следующий выпуск]]</u>! | Dear colleague, ''Great thanks go to each and everyone contributing into developing [[File:Flag-map_of_Russia.svg|border|20px]] [[m:Wikipedias_in_the_languages_of_Russia|Wikipedias in the languages of Russia]]''. </br>In this issue: * [[m:Wikimedia CEE Spring 2017|Wikimedia CEE Spring 2017]] * '''[[:outreach:Education|Wikipedia in Education]]:''' [https://www.ludovia.com/2017/04/enseigner-wikipedia/ Why I teach my students editing Wikipedia] (video, fr), [http://www.rp-online.de/panorama/wissen/bildung/wikipedia-eintrag-statt-hausarbeit-aid-1.6738149 Wikipedia in the University of Heidelberg curriculum], [http://www.npr.org/sections/ed/2017/02/22/515244025/what-students-can-learn-by-writing-for-wikipedia NPR: What Students Can Learn By Writing For Wikipedia] * Single line News from Russia's Wikipedia communities: ** [[:wmru:|Wikimedia Russia]] News: [[:wmru:Вики-премия 2017|Wiki-Award 2017]] on April 23rd. ** [[m:Wikipedias in the languages of Russia/ActionPlan/Calendar|Calendar for the Month]] ** [[m:Wikipedias in the languages of Russia/ActionPlan/Potd|Picture of the Day]] * Keep in mind: [http://www.sanluisobispo.com/opinion/letters-to-the-editor/article144876159.html Wikipedia is a fantastic tool, and it teaches us the value of fact-checking], [http://www.nature.com/news/initiative-aims-to-break-science-s-citation-paywall-1.21800 Initiative for Open Citation], [http://elpais.com/elpais/2017/04/02/opinion/1491144492_876964.html All linguistic communities decide to record and omit something throughout a collaborative process] (es), [http://www.businessinsider.com/career-benefits-sharing-knowledge-2017-2?r=US&IR=T&IR=T Career benefits of sharing knowledge] * Best practice: [http://azertag.az/xeber/_quotWikipediaorg_quot_ensiklopediyasinin_Azerbaycana_dair_ozbekdilli_versiyasi_yaradilir-1046892 Azerbaijani Cultural Center in Uzbekistan contributing into uzwiki] * News about colleagues abroad: ** [http://fenix951.com.ar/nuevo_2013/noticia.php?id=76121 Wikimedia Argentina is collaborating with the Argentinian Ministry of Education to train instructors how to edit Wikipedia.] ** [http://www.military-technologies.net/2017/04/12/sharing-indian-culture-with-the-world-through-wikipedia-ashish-bhatnagar/ Sharing Indian culture with the world through Wikipedia] ** [http://www.thehindu.com/news/cities/Mangalore/karavali-wikimedians-to-supply-content-offline-to-tulu-students-in-village-schools/article17523898.ece Karavali Wikimedians to supply content offline to Tulu students in village schools] ** [http://www.ut.ee/en/news/ambitious-plan-lets-increase-estonian-wikipedia-one-million-articles Ambitious plan: let’s increase Estonian Wikipedia to one million articles!] ** [http://www.elmundo.es/pais-vasco/2017/02/22/58ad665446163fe9488b4577.html Politicians in Spain are committed to increasing the presence of the Basque language on Wikipedia.] * [[m:Wikipedias in the languages of Russia/Tables|Current Stats]] on WP:LR and [[m:Wikipedias in the languages of Russia/Readership|its Readership]], as well as [[m:Wikipedias_in_the_languages_of_Russia/Trends|analytics]]. * WMRU's [[wmru:Список сайтов со свободным использованием материалов|List of websites under free license]] [[m:Wikipedias in the languages of Russia/Newsletter/Delivery list|Subscribe/Unsubscribe]]. ''Ready to share own news or valuable experience?'' Add a link into <u>[[m:Wikipedias_in_the_languages_of_Russia/Newsletter#Подготовка нового выпуска / Preparing new issue|the next month issue]]</u>! |}</div> --[[Χρήστες:Frhdkazan|Frhdkazan]] ([[Καλάτσεμαν χρήστε:Frhdkazan|συζήτηση]]) 11:55, 20 Απρίλ 2017 (UTC) == New Wikipedia Library Accounts Available Now (May 2017) == <div lang="en" dir="ltr" class="mw-content-ltr"> Hello Wikimedians! [[File:Wikipedia_Library_owl.svg|thumb|upright|The TWL OWL says sign up today!]] [[m:The Wikipedia Library|The Wikipedia Library]] is announcing signups today for free, full-access, accounts to published research as part of our [[m:The_Wikipedia_Library/Journals|Publisher Donation Program]]. You can sign up for new accounts and research materials from: * '''[[w:en:Wikipedia:American Psychiatric Association|American Psychiatric Association]]''' – Psychiatry books and journals * '''[[w:en:Wikipedia:Bloomsbury|Bloomsbury]]''' – ''Who's Who'', Drama Online, Berg Fashion Library, and ''Whitaker's'' * '''[[w:fi:Wikipedia:Wikipedian Lähdekirjasto/Gaudeamus|Gaudeamus]]''' – Finnish humanities and social sciences * '''[[w:fi:Wikipedia:Wikipedian Lähdekirjasto/Ympäristö-lehti|Ympäristö-lehti]]''' – The Finnish Environment Institute's ''Ympäristö-lehti'' magazine '''Expansions''' * '''[[w:en:Wikipedia:Gale|Gale]]''' – Biography In Context database added * '''[[w:en:Wikipedia:Adam Matthew|Adam Matthew]]''' – all 53 databases now available Many other partnerships with accounts available are listed on [[m:The Wikipedia Library/Databases|our partners page]], including [[w:en:WP:Project MUSE|Project MUSE]], [[w:en:WP:EBSCO|EBSCO]], [[w:en:WP:Taylor & Francis|Taylor & Francis]] and [[w:en:WP:Newspaperarchive.com|Newspaperarchive.com]]. Do better research and help expand the use of high quality references across Wikipedia projects: sign up today! <br>--[[w:en:Wikipedia:TWL/Coordinators|The Wikipedia Library Team]] 18:52, 2 Καλομηνά 2017 (UTC) :''You can host and coordinate signups for a Wikipedia Library branch in your own language. Please contact [[m:User:AVasanth_(WMF)|Aaron]].''<br> :<small>This message was delivered via the [https://meta.wikimedia.org/wiki/MassMessage#Global_message_delivery Global Mass Message] tool to [https://meta.wikimedia.org/wiki/Global_message_delivery/Targets/Wikipedia_Library The Wikipedia Library Global Delivery List].</small> </div> <!-- Το μήνυμα στάλθηκε από τον User:Samwalton9@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikipedia_Library&oldid=16557812 --> == [https://meta.wikimedia.org/wiki/Special:SecurePoll/vote/341?setlang={{CONTENTLANG}} Voting has begun in 2017 Wikimedia Foundation Board of Trustees elections] == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr">[[File:Wikimedia-logo black.svg|{{#switch:{{CONTENTLANG}}|ar=left|he=left|right}}|125px|link=m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Board voting has begun]]''This is a message from the [[m:Special:MyLanguage/Wikimedia Foundation elections committee|Wikimedia Foundation Elections Committee]]. [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Board voting has begun|Translations]] are available.'' [https://meta.wikimedia.org/wiki/Special:SecurePoll/vote/341?setlang={{CONTENTLANG}}&uselang={{CONTENTLANG}} Voting has begun] for [[m:Wikimedia Foundation elections/2017#Requirements|eligible voters]] in the 2017 elections for the ''[[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Board of Trustees|Wikimedia Foundation Board of Trustees]]''. The [[m:Wikimedia Foundation Board of Trustees|Wikimedia Foundation Board of Trustees]] is the ultimate governing authority of the Wikimedia Foundation, a 501(c)(3) non-profit organization registered in the United States. The Wikimedia Foundation manages many diverse projects such as Wikipedia and Commons. The voting phase lasts from 00:00 UTC May 1 to 23:59 UTC May 14. '''[https://meta.wikimedia.org/wiki/Special:SecurePoll/vote/341?setlang={{CONTENTLANG}}&uselang={{CONTENTLANG}} Click here to vote].''' More information on the candidates and the elections can be found on the [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Board of Trustees|2017 Board of Trustees election page]] on Meta-Wiki. On behalf of the Elections Committee,<br/> [[m:User:KTC|Katie Chan]], Chair, [[m:Special:MyLanguage/Wikimedia Foundation elections committee|Wikimedia Foundation Elections Committee]]<br/> [[m:User:JSutherland (WMF)|Joe Sutherland]], Community Advocate, Wikimedia Foundation ''Posted by the [[m:Special:MyLanguage/User:MediaWiki message delivery|MediaWiki message delivery]] • [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Board voting has begun|Translate]] • [[m:Talk:Wikimedia Foundation elections/2017|Get help]]</div> 19:14, 3 Καλομηνά 2017 (UTC)'' <!-- Το μήνυμα στάλθηκε από τον User:GVarnum-WMF@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=16683836 --> == Beta Feature Two Column Edit Conflict View == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> From May 9, the [[mw:Special:MyLanguage/Help:Two_Column_Edit_Conflict_View|Two Column Edit Conflict View]] will be available as a [[mw:Special:MyLanguage/Beta Features|beta feature]] on all wikis. The Two Column Edit Conflict View is a new interface for the edit conflict resolution page. It highlights differences between the editor's and the conflicting changes to make it easy to copy and paste pieces of the text and resolve the conflict. The feature fulfils a request for a more user-friendly edit conflict resolution from the [[m:WMDE Technical Wishes|German Community’s Technical Wishlist]]. Everyone is invited to test the feature and we hope that it will serve you well! </div> [[m:user:Birgit Müller (WMDE)|Birgit Müller (WMDE)]] 14:41, 8 Καλομηνά 2017 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Birgit Müller (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_2&oldid=16712264 --> == Editing News #1—2017 == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> ''[[:m:Special:MyLanguage/VisualEditor/Newsletter/2017/May|Read this in another language]] • [[:m:VisualEditor/Newsletter|Subscription list for this multilingual newsletter]]'' <div style="float:right;width:230px;{{#switch:ltr|rtl=float:left;margin-left:0;|#default=float:right;margin-right:0;}}margin-left:1em;border-style:solid;border-width:1px;padding:1em;"> [[File:VisualEditor-logo.svg|200px|center|alt=VisualEditor]]'''Did you know?''' <div class="thumbcaption" style="font-size: 90%;"> Did you know that you can review your changes visually? [[File:VisualEditor visual diff tool - visual diff.png|alt=Screenshot showing some changes to an article. Most changes are highlighted with text formatting.|center|frameless|245x245px]]When you are finished editing the page, type your edit summary and then choose "{{Int:visualeditor-savedialog-label-review}}". In visual mode, you will see additions, removals, new links, and formatting highlighted. Other changes, such as changing the size of an image, are described in notes on the side. [[File:VisualEditor visual diff tool - toggle button.png|alt=Toggle button showing visual and wikitext options; visual option is selected.|center|frameless|220x220px]] Click the toggle button to switch between visual and wikitext diffs. [[File:VisualEditor visual diff tool - wikitext diff.png|alt=Screenshot showing the same changes, in the two-column wikitext diff display.|center|frameless|245x245px]] The wikitext diff is the same diff tool that is used in the wikitext editors and in the page history. You can read and help translate [[:mw:Special:MyLanguage/VisualEditor/User guide|the user guide]], which has more information about how to use the visual editor. </div></div> Since the last newsletter, the [[:mw:VisualEditor|VisualEditor Team]] has spent most of their time supporting [[:mediawikiwiki:2017_wikitext_editor|the 2017 wikitext editor mode]] which is available inside the visual editor as a Beta Feature, and adding [[:mediawikiwiki:VisualEditor/Diffs|the new visual diff tool]]. Their workboard is available [[:phab:project/board/483/|in Phabricator]]. You can find links to the work finished each week at [[:mw:VisualEditor/Weekly triage meetings|mw:VisualEditor/Weekly triage meetings]]. Their [[:mw:VisualEditor/Current_priorities|current priorities]] are fixing bugs, supporting the 2017 wikitext editor as a [[:mw:Beta Features|beta feature]], and improving the visual diff tool. === Recent changes === *A '''new wikitext editing mode''' is available as a Beta Feature on desktop devices. The [[:mw:2017 wikitext editor|2017 wikitext editor]] has the same toolbar as the visual editor and can use the citoid service and other modern tools. Go to [[Special:Preferences#mw-prefsection-betafeatures]] to enable the {{Int:Visualeditor-preference-newwikitexteditor-label}}. * A new '''[[:mediawikiwiki:VisualEditor/Diffs|visual diff tool]]''' is available in VisualEditor's visual mode. You can toggle between wikitext and visual diffs. More features will be added to this later. In the future, this tool may be integrated into other MediaWiki components. [https://phabricator.wikimedia.org/T143350] * The team have added [[:mediawikiwiki:Editing/Projects/Columns_for_references|multi-column support for lists of footnotes]]. The <code><nowiki><references /></nowiki></code> block can automatically display long lists of references in columns on wide screens. This makes footnotes easier to read. You can [https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Cite,VisualEditor,Wikimedia-Site-requests&title=Convert%20reference%20lists%20over%20to%20`responsive`%20on%20XXwiki&priority=10&parent=159895 '''request multi-column support'''] for your wiki. [https://phabricator.wikimedia.org/T33597] * You can now use your web browser's function to switch typing direction in the new wikitext mode. This is particularly helpful for RTL language users like Urdu or Hebrew who have to write JavaScript or CSS. You can use Command+Shift+X or Control+Shift+X to trigger this. [https://phabricator.wikimedia.org/T153356] * The way to switch between the visual editing mode and the wikitext editing mode is now consistent. There is a drop-down menu that shows the two options. This is now the same in desktop and mobile web editing, and inside things that embed editing, such as Flow. [https://phabricator.wikimedia.org/T116417] * The {{Int:visualeditor-categories-tool}} item has been moved to the top of the {{Int:visualeditor-pagemenu-tooltip}} menu (from clicking on the "hamburger" icon) for quicker access. [https://phabricator.wikimedia.org/T74399] There is also now a "Templates used on this page" feature there. [https://phabricator.wikimedia.org/T149009] * You can now create <code><nowiki><chem></nowiki></code> tags (sometimes used as <code><nowiki><ce></nowiki></code>) for chemical formulas inside the visual editor. [https://phabricator.wikimedia.org/T153365] * Tables can be set as collapsed or un-collapsed. [https://phabricator.wikimedia.org/T157989] * The {{Int:visualeditor-specialcharacter-button-tooltip}} menu now includes characters for Canadian Aboriginal Syllabics and angle quotation marks (‹› and ⟨⟩) . The team thanks the volunteer developer, [[:S:en:User:Tpt|Tpt]]. [https://phabricator.wikimedia.org/T108626] * A bug caused some section edit conflicts to blank the rest of the page. This has been fixed. The team are sorry for the disruption. [https://phabricator.wikimedia.org/T154217] * There is a new keyboard shortcut for citations: <code>Control</code>+<code>Shift</code>+<code>K</code> on a PC, or <code>Command</code>+<code>Shift</code>+<code>K</code> on a Mac. It is based on the keyboard shortcut for making links, which is <code>Control</code>+<code>K</code> or <code>Command</code>+<code>K</code> respectively. [https://phabricator.wikimedia.org/T99299] === Future changes === * The team is working on a syntax highlighting tool. It will highlight matching pairs of <code><nowiki><ref></nowiki></code> tags and other types of wikitext syntax. You will be able to turn it on and off. It will first become available in VisualEditor's built-in wikitext mode, maybe late in 2017. [https://phabricator.wikimedia.org/T101246] * The kind of button used to {{Int:Showpreview}}, {{Int:showdiff}}, and finish an edit will change in all WMF-supported wikitext editors. The new buttons will use [[Mw:OOjs UI|OOjs UI]]. The buttons will be larger, brighter, and easier to read. The labels will remain the same. You can test the new button by editing a page and adding <code>&ooui=1</code> to the end of the URL, like this: https://www.mediawiki.org/wiki/Project:Sandbox?action=edit&ooui=1 The old appearance will no longer be possible, even with local CSS changes. [https://phabricator.wikimedia.org/T162849] * The [[:mediawikiwiki:File:Edit_toolbar_-_2.png|outdated 2006 wikitext editor]] will be removed later this year. It is used by approximately 0.03% of active editors. See [[:mw:Editor|a list of editing tools on mediawiki.org]] if you are uncertain which one you use. [https://phabricator.wikimedia.org/T30856] *If you aren't reading this in your preferred language, then please help us with translations! Subscribe to the [[mail:translators-l|Translators mailing list]] or [https://meta.wikimedia.org/w/index.php?title=User_talk:Elitre_(WMF)&action=edit&section=new contact us] directly, so that we can notify you when the next issue is ready. {{int:Feedback-thanks-title}} —[[:mw:User:Elitre (WMF)|Elitre (WMF)]] </div> 18:07, 12 Καλομηνά 2017 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Elitre (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=VisualEditor/Newsletter/Wikis_with_VE&oldid=16160401 --> == Prototype for editing Wikidata infoboxes on Wikipedia == Hello, I’m sorry for writing in English. It’d be great if someone could translate this message if necessary. One of the most requested features for Wikidata is to enable editing of Wikidata’s data directly from Wikipedia, so the editors can continue their workflow without switching websites. The Wikidata development team has been working on a tool to achieve this goal: '''fill and edit the Wikipedia infoboxes with information from Wikidata, directly on Wikipedia''', via the Visual Editor. We already [[d:Wikidata:Client editing input|asked for feedback in 2015]], and collected some interesting ideas which we [[:File:Facilitating_the_use_of_Wikidata_in_Wikimedia_projects_with_a_user-centered_design_approach.pdf|shared with you in this thesis]]. Now we would like to present to you our first prototype and collect your feedback, in order to improve and continue the development of this feature. We present this work to you very early, so we can include your feedback before and all along the development. You are the core users of this feature, so we want to make sure that it fits your needs and editing processes. You will find the prototype, description of the features, and a demo video, '''[[d:Special:MyLanguage/Wikidata:Client editing prototype|on this page]]'''. Feel free to add any comment or feedback on the talk page. The page is currently not translated in every languages, but you can add your contribution by helping to translate it. Unfortunately, I won’t be able to follow all the discussions on Wikipedia, so if you want to be sure that your feedback is read, please add it on the Wikidata page, in your favorite language. Thanks for your understanding. Thanks, [[user:Lea Lacroix (WMDE)|Lea Lacroix (WMDE)]] <!-- Το μήνυμα στάλθηκε από τον User:Lea Lacroix (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Lea_Lacroix_(WMDE)/List_Wikipedias&oldid=16766491 --> == RevisionSlider == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> [[mw:Special:MyLanguage/Extension:RevisionSlider|RevisionSlider]] will be available as a default feature for all users on all wikis from May 17. The RevisionSlider adds a slider view to the diff page so that you can easily move between revisions. The slider view is collapsed by default, and will load by clicking on it. It can also be turned off entirely in the user preferences. RevisionSlider has been a default feature on German, Arabic and Hebrew Wikipedia for 6 months and a beta feature on all wikis for 8 months. The feature fulfills a wish from the [[m:WMDE Technical Wishes|German Community’s Technical Wishlist]]. Thanks to everyone who tested RevisionSlider and gave valuable feedback to improve the feature! We hope that RevisionSlider will continue to serve you well in your work. </div> [[m:user:Birgit Müller (WMDE)|Birgit Müller (WMDE)]] 14:44, 16 Καλομηνά 2017 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Birgit Müller (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_2&oldid=16715712 --> == [[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Cycle 2|Join the next cycle of Wikimedia movement strategy discussions (underway until June 12)]] == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> :''[[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Updates/Cycle 2 discussions launch|Message is available for translation on Meta-Wiki]]'' [[File:Wikimedia-logo.svg|{{#switch:{{CONTENTLANG}}|ar=left|he=left|right}}|150px]] The Wikimedia movement strategy core team and working groups have completed reviewing the more than 1800 thematic statements we received from the first discussion. They have identified [[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Cycle 2|5 themes that were consistent across all the conversations]] - each with their own set of sub-themes. These are not the final themes, just an initial working draft of the core concepts. You are invited to [[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Participate|join the online and offline discussions taking place]] on these 5 themes. This round of discussions will take place between now and June 12th. You can discuss as many as you like; we ask you to participate in the ones that are most (or least) important to you. Here are the five themes, each has a page on Meta-Wiki with more information about the theme and how to participate in that theme's discussion: * [[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Cycle 2/Healthy, Inclusive Communities|Healthy, Inclusive Communities]] * [[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Cycle 2/The Augmented Age|The Augmented Age]] * [[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Cycle 2/A Truly Global Movement|A Truly Global Movement]] * [[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Cycle 2/The Most Respected Source of Knowledge|The Most Respected Source of Knowledge]] * [[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Cycle 2/Engaging in the Knowledge Ecosystem|Engaging in the Knowledge Ecosystem]] On the [[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Participate|movement strategy portal on Meta-Wiki]], you can find more information about each of these themes, their discussions, and how to participate. ''Posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|MediaWiki message delivery]] on behalf of the [[m:Special:MyLanguage/Wikimedia Foundation|Wikimedia Foundation]] • [[m:Special:MyLanguage/Strategy/Wikimedia movement/2017/Updates/Cycle 2 discussions launch|{{int:please-translate}}]] • [[m:Talk:Strategy/Wikimedia movement/2017/Updates|Get help]]''</div> 21:09, 16 Καλομηνά 2017 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:GVarnum-WMF@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Strategy/Wikimedia_movement/2017/Updates/Global_message_delivery&oldid=16773425 --> == New notification when a page is connected to Wikidata == Hello all, ''({{Int:Please-translate}})'' The Wikidata development team is about to deploy a new feature on all Wikipedias. It is a new type of notification (via Echo, the notification system you see at the top right of your wiki when you are logged in), that will inform the creator of a page, when this page is connected to a Wikidata item. You may know that [[d:Wikidata:Main page|Wikidata]] provides a centralized system for all the interwikilinks. When a new page is created, it should be connected to the corresponding Wikidata item, by modifying this Wikidata item. With this new notification, editors creating pages will be informed when another editor connects this page to Wikidata. [[File:Screenshot Echo Wikibase notification.png]] This feature will be deployed on May 30th on all the Wikipedias, excepting English, French and German. This feature will be disable by default for existing editors, and enabled by default for new editors. This is the first step of the deployments, the Wikipedias and other Wikimedia projects will follow in the next months. If you have any question, suggestion, please let me know by pinging me. You can also follow and leave a comment [[phab:T142102|on the Phabricator ticket]]. Thanks go to [[d:user:Matěj Suchánek|Matěj Suchánek]] who developed this feature! {{Int:Feedback-thanks-title}} [[:d:User:Lea Lacroix (WMDE)|Lea Lacroix (WMDE)]] ([[:d:User talk:Lea Lacroix (WMDE)|talk]]) <!-- Το μήνυμα στάλθηκε από τον User:Lea Lacroix (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Lea_Lacroix_(WMDE)/List_Wikipedias&oldid=16774958 --> == [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Start of the 2017 Wikimedia Foundation Funds Dissemination Committee elections|Start of the 2017 Wikimedia Foundation Funds Dissemination Committee elections]] == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr">[[File:Wikimedia-logo black.svg|{{#switch:{{CONTENTLANG}}|ar=left|he=left|right}}|125px|link=m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Start of the 2017 Wikimedia Foundation Funds Dissemination Committee elections]] :''[[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Start of the 2017 Wikimedia Foundation Funds Dissemination Committee elections|Translations of this message are available on Meta-Wiki]].'' On behalf of the Wikimedia Foundation Elections Committee, we are pleased to announce that self-nominations are being accepted for the [[m:Wikimedia Foundation elections/2017/Funds Dissemination Committee/Call for candidates|2017 Wikimedia Foundation Funds Dissemination Committee]] and [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Funds Dissemination Committee Ombudsperson|Funds Dissemination Committee Ombudsperson]] elections. Please read the letter from the Wikimedia Foundation calling for candidates at [[m:Wikimedia Foundation elections/2017/Funds Dissemination Committee/Call for candidates|on the 2017 Wikimedia Foundation elections portal]]. ''Funds Dissemination Committee''<br /> The Funds Dissemination Committee (FDC) makes recommendations about how to allocate Wikimedia movement funds to eligible entities. There are five positions being filled. More information about this role can be found at [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Funds Dissemination Committee|the FDC elections page]]. ''Funds Dissemination Committee Ombudsperson''<br /> The Funds Dissemination Committee Ombudsperson receives complaints and feedback about the FDC process, investigates complaints at the request of the Board of Trustees, and summarizes the investigations and feedback for the Board of Trustees on an annual basis. One position is being filled. More information about this role can be found at [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Funds Dissemination Committee Ombudsperson|the FDC Ombudsperson elections page]]. '''The [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Funds Dissemination Committee/Candidates|candidacy submission phase]] will last until May 28 (23:59 UTC).''' '''We will also be accepting questions to ask the candidates until May 28. [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Funds Dissemination Committee/Questions|You can submit your questions on Meta-Wiki]].''' Once the questions submission period has ended on May 28, the Elections Committee will then collate the questions for the candidates to respond to. The goal of this process is to fill the '''five community-selected seats''' on the Wikimedia Foundation Funds Dissemination Committee and the '''community-selected ombudsperson'''. The election results will be used by the Board itself to make the appointments. The full schedule for the FDC elections is as follows. All dates are '''inclusive''', that is, from the beginning of the first day (UTC) to the end of the last. * May 15 (00:00 UTC) – May 28 (23:59 UTC) – '''Nominations''' * May 15 – May 28 – '''Candidates questions submission period''' * May 29 – June 2 – '''Candidates answer questions''' * June 3 – June 11 – '''Voting period''' * June 12–14 – '''Vote checking''' * June 15 – '''Goal date for announcing election results''' More information on this year's elections can be found at [[m:Special:MyLanguage/Wikimedia Foundation elections/2017|the 2017 Wikimedia Foundation elections portal]]. Please feel free to post a note about the election on your project's village pump. Any questions related to the election can be posted on [[m:Talk:Wikimedia Foundation elections/2017|the talk page on Meta-Wiki]], or sent to the election committee's mailing list, <tt dir="ltr" style="white-space:nowrap;font-size:12px;line-height:1.5">board-elections[[File:At sign.svg|15x15px|middle|link=|alt=(at)]]wikimedia.org</tt>. On behalf of the Election Committee,<br /> [[m:User:KTC|Katie Chan]], Chair, [[m:Special:MyLanguage/Wikimedia Foundation elections committee|Wikimedia Foundation Elections Committee]]<br /> [[m:User:JSutherland (WMF)|Joe Sutherland]], Community Advocate, Wikimedia Foundation ''Posted by the [[m:Special:MyLanguage/User:MediaWiki message delivery|MediaWiki message delivery]] • [[m:Special:MyLanguage/Wikimedia Foundation elections/2017/Updates/Start of the 2017 Wikimedia Foundation Funds Dissemination Committee elections|Translate]] • [[m:Talk:Wikimedia Foundation elections/2017|Get help]]''</div> 21:05, 23 Καλομηνά 2017 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:GVarnum-WMF@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=16804695 --> == [[m:Requests for comment/Global centralnotice for the blockade of the Turkish government]] == Hi, you are invited to participate in the discussion on the proposal to make a banner through [[m: centralnotice]] to inform more people around the world about what the Turkish government has done about Wikipedia, ie all the language versions of Wikipedia are You are obscured, so in Turkey it is impossible to view the * .wikipedia.org site. To hope that the Turkish government will remove the block, it is necessary to raise awareness of this fact around the world because it is important to succeed in this mission because Wikipedia can not be seen in Turkey. With this message also for those interested, I invite him to sign the [[m:Response to 2017 ban in Turkey|Wikimedian appeal]]. If you have any questions or questions do not hesitate to contact me. Thanks best regards. --[[User:Samuele2002|<span style="color:#0080C0;">'''Samuele'''2002</span>]] <small>[[User Talk:Samuele2002|'''<font face="Cursive"><font color="#F50">(Talk!)</font></font>''']]</small> 05:50, 12 Κερασινού 2017 (UTC) == [[m:Wikipedias_in_the_languages_of_Russia/Newsletter#2017-06-15|'''Бюллетень «Википедии на языках России» / «Wikipedias in the languages of Russia» newsletter – #14''']] == {| border="2" cellspacing="0" cellpadding="4" rules="all" style="margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; font-size:95%; empty-cells:show; |Уважаемый коллега, ''Большое спасибо всем и каждому, кто вносит свой вклад в развитие [[File:Flag-map_of_Russia.svg|border|20px]] [[m:Wikipedias_in_the_languages_of_Russia|Разделов Википедии на языках России]].''</br> В этом выпуске: * Дискуссионные группы проекта [https://vk.com/club48540739 в Vk.com] и [https://www.facebook.com/groups/1942496925980407/ в Facebook.com] * На встречу к Викимании-2017 ** Предварительная [https://wikimania2017.wikimedia.org/wiki/Programme программа мероприятия] ** Подготовка проекта выступления и постера [[:m:User:Frhdkazan/Wikimania2017|от имени наших проектов]] * [[m:Wikipedias in the languages of Russia/ActionPlan/ru|План действий по повышению посещаемости малых Вики]]: ** "[[m:Wikipedias in the languages of Russia/ActionPlan/Calendar/ru|Календарь на Заглавную]]": + бурятская, луговомарийская, кабардинская, крымскотатарская и аварская вики ** "[[m:Wikipedias in the languages of Russia/ActionPlan/Potd/ru|Изображение дня]]": + вепсская, калмыкская, карачай-балкарская и аварская вики * [[:wmuk:Celtic Knot Conference 2017|Научно-практическая конференция по развитию Википедий на языках коренных и автохтонных народов "Кельтский узел 2017"]], Эдинбург (Великобритания), 6.07.2017 * [[m:Wikipedias in the languages of Russia/Tables/ru|Текущие показатели]] разделов ВП:ЯР, [[m:Wikipedias in the languages of Russia/Readership|их читателей]], и [[m:Wikipedias_in_the_languages_of_Russia/Trends|аналитика]]. * [[wmru:Список сайтов со свободным использованием материалов|Список сайтов со свободным использованием материалов]] от ВМРУ [[m:Wikipedias in the languages of Russia/Newsletter/Delivery list|Подписаться/Отписаться]]. ''Готовы поделиться своими новостями или опытом?'' <u>[[m:Wikipedias_in_the_languages_of_Russia/Newsletter#Подготовка нового выпуска / Preparing new issue|добавляйте ссылку в следующий выпуск]]</u>! | Dear colleague, ''Great thanks go to each and everyone contributing into developing [[File:Flag-map_of_Russia.svg|border|20px]] [[m:Wikipedias_in_the_languages_of_Russia|Wikipedias in the languages of Russia]]''. </br>In this issue: * Project discussion groups [https://vk.com/club48540739 in Vk.com] & [https://www.facebook.com/groups/1942496925980407/ in Facebook.com] * Towards Wikimania-2017 ** Preliminary [https://wikimania2017.wikimedia.org/wiki/Programme Programme] ** Drafting lightning talk & poster [[:m:User:Frhdkazan/Wikimania2017|on behalf of our projects]] * [[m:Wikipedias in the languages of Russia/ActionPlan/ru|Action plan to increase small wiki readership & participation]]: ** "[[m:Wikipedias in the languages of Russia/ActionPlan/Calendar/ru|Events of the month]]": + bxr, mhr, kbd, crh & avwiki ** "[[m:Wikipedias in the languages of Russia/ActionPlan/Potd/ru|Picture of the Day]]": + vep, xal, krc & avwiki * [[:wmuk:Celtic Knot Conference 2017|Celtic Knot Conference 2017]] on supporting Celtic & Indigenous Languages, Edinburgh (UK), 6.07.2017 * [[m:Wikipedias in the languages of Russia/Tables|Current Stats]] on WP:LR and [[m:Wikipedias in the languages of Russia/Readership|its Readership]], as well as [[m:Wikipedias_in_the_languages_of_Russia/Trends|analytics]]. * WMRU's [[wmru:Список сайтов со свободным использованием материалов|List of websites under free license]] [[m:Wikipedias in the languages of Russia/Newsletter/Delivery list|Subscribe/Unsubscribe]]. ''Ready to share own news or valuable experience?'' Add a link into <u>[[m:Wikipedias_in_the_languages_of_Russia/Newsletter#Подготовка нового выпуска / Preparing new issue|the next month issue]]</u>! |}</div>--[[Χρήστες:Frhdkazan|Frhdkazan]] ([[Καλάτσεμαν χρήστε:Frhdkazan|συζήτηση]]) 13:54, 15 Κερασινού 2017 (UTC) == Διαχειριστές == Γειά χαρά νταν ποιοι είναι διαχειριστές εδώ πέρα --[[Ειδικόν:Συνεισφορές/80.106.160.80|80.106.160.80]] 08:23, 18 Ιουνίου 2017 (UTC) == Wikidata changes now also appear in enhanced recent changes == <div lang="en" dir="ltr" class="mw-content-ltr"> Hello, and sorry to write this message in English. You can [[mw:User:Lea_Lacroix_(WMDE)/Wikidata_in_enhanced_recent_changes|help translating it]]. Starting from today, you will be able to display Wikidata changes in both modes of the recent changes and the watchlist. '''[[mw:User:Lea_Lacroix_(WMDE)/Wikidata_in_enhanced_recent_changes|Read and translate the full message]]''' {{Int:Feedback-thanks-title}} [[user:Lea Lacroix (WMDE)|Lea Lacroix (WMDE)]] 08:33, 29 Κερασινού 2017 (UTC) <small>(wrong target page? you can [[m:User:Lea Lacroix (WMDE)/List Wikipedias|fix it here]])</small> </div> <!-- Το μήνυμα στάλθηκε από τον User:Lea Lacroix (WMDE)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:Lea_Lacroix_(WMDE)/List_Wikipedias&oldid=16777494 --> == Accessible editing buttons == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr">The MediaWiki developers have been slowly improving the accessibility of the user interface. The next step in this transition will change the appearance of some buttons and may break some outdated (non-updated or unmaintained) user scripts and gadgets. You can see and use the [https://www.mediawiki.org/wiki/Project:Sandbox?action=submit&ooui=0 old] and [https://www.mediawiki.org/wiki/Project:Sandbox?action=submit&ooui=1 new] versions now. Most editors will only notice that some buttons are slightly larger and have different colors. <gallery mode="nolines" caption="Comparison of old and new styles" heights="240" widths="572"> File:MediaWiki edit page buttons accessibility change 2017, before.png|Buttons before the change File:MediaWiki edit page buttons accessibility change 2017, after.png|Buttons after the change </gallery> However, this change also affects some user scripts and gadgets. Unfortunately, some of them may not work well in the new system. <mark>If you maintain any user scripts or gadgets that are used for editing, please see '''[[:mw:Contributors/Projects/Accessible editing buttons]]''' for information on how to test and fix your scripts. Outdated scripts can be tested and fixed now.</mark> This change will probably reach this wiki on '''Tuesday, 18 July 2017'''. Please leave a note at [[:mw:Talk:Contributors/Projects/Accessible editing buttons]] if you need help.</div> [[:m:User:Whatamidoing (WMF)|Whatamidoing (WMF)]] ([[User talk:Whatamidoing (WMF)|talk]]) 22:22, 10 Χορτοθερί 2017 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Quiddity (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery/Wikipedia&oldid=16980876 --> == Page Previews (Hovercards) update == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> Hello, A quick update on the progress of enabling [[mw:Hovercards|Page Previews]] (previously named Hovercards) on this project. Page Previews provide a preview of any linked article, giving readers a quick understanding of a related article without leaving the current page. As mentioned in December we're preparing to remove the feature from Beta and make it the default behavior for logged-out users. We have recently made a large update to the code which fixes most outstanding bugs. Due to some issues with our instrumentation, we delayed our deployment by a few months. We are finally ready to deploy the feature. Page Previews will be off by default and available in the user preferences page for logged-in users the week of July 24th. The feature will be on by default for current beta users and logged-out users. If you would like to preview the feature, you can enable it as a [[Special:Preferences#mw-prefsection-betafeatures|beta feature]]. For more information see [[mw:Hovercards|Page Previews]]. Questions can be left [[mw:Talk:Beta_Features/Hovercards|on the talk page]] in your preferred language. Thank you again. </div>[[m:User:CKoerner (WMF)|CKoerner (WMF)]] ([[m:User talk:CKoerner (WMF)|talk]]) 22:32, 20 Χορτοθερί 2017 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:CKoerner (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:CKoerner_(WMF)/Enable_Hovercards/Reminder/Distribution_list&oldid=17019707 --> == Improved search in deleted pages archive == {{int:please-translate}} During Wikimedia Hackathon 2016, the [[mw:Wikimedia_Discovery|Discovery]] team [https://phabricator.wikimedia.org/T109561 worked] on one of the items on the 2015 community wishlist, namely [[m:2015_Community_Wishlist_Survey/Search#Provide_a_means_of_searching_for_deleted_pages|enabling searching the archive of deleted pages]]. This feature is now ready for production deployment, and will be enabled on all wikis, except Wikidata. Right now, the feature is behind a feature flag - to use it on your wiki, please go to the <code>Special:Undelete</code> page, and add <code>&fuzzy=1</code> to the URL, like this: https://test.wikipedia.org/w/index.php?title=Special%3AUndelete&fuzzy=1. Then search for the pages you're interested in. There should be more results than before, due to using ElasticSearch indexing (via the CirrusSearch extension). We plan to enable this improved search by default on all wikis soon (around August 1, 2017). If you have any objections to this - please raise them with the Discovery team via [http://mailto:discovery@lists.wikimedia.org email] or on this announcement's discussion page. Like most Mediawiki configuration parameters, the functionality can be configured per wiki. Once the improved search becomes the default, you can still access the old mode using <code>&fuzzy=0</code> in the URL, like this: https://test.wikipedia.org/w/index.php?title=Special%3AUndelete&fuzzy=0 Please note that since Special:Undelete is an admin-only feature, this search capability is also only accessible to wiki admins. {{Int:Feedback-thanks-title}} [[m:User:CKoerner (WMF)|CKoerner (WMF)]] ([[m:User talk:CKoerner (WMF)|talk]]) 18:39, 25 Χορτοθερί 2017 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:CKoerner (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:CKoerner_(WMF)/Archive_search_announce/Distribution_list&oldid=17036927 --> == RfC regarding "Interlinking of accounts involved with paid editing to decrease impersonation" == There is currently a RfC open on Meta regarding "[https://meta.wikimedia.org/wiki/Requests_for_comment/Interlinking_of_accounts_involved_with_paid_editing_to_decrease_impersonation requiring those involved with paid editing on Wikipedia to link on their user page to all other active accounts through which they advertise paid Wikipedia editing business.]" Note this is to apply to Wikipedia and not necessarily other sister projects, this is only to apply to websites where people are specifically advertising that they will edit Wikipedia for pay and not any other personal, professional, or social media accounts a person may have. [https://meta.wikimedia.org/wiki/Requests_for_comment/Interlinking_of_accounts_involved_with_paid_editing_to_decrease_impersonation Please comment on meta]. Thanks. Send on behalf of [[User:Doc James]]. [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 21:07, 17 Σταυρί 2017 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Doc James@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery/Wikipedias&oldid=17234819 --> == Discussion on synced reading lists == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> '''Discussion on synced reading lists''' Hello, [[File:Illustration of Reading List feature on Android Wikipedia App (not logged in).png|thumb]] The Reading Infrastructure team at the Wikimedia Foundation is developing a cross-platform reading list service for the mobile Wikipedia app. Reading lists are like bookmark folders in your web browser. They allow readers using the Wikipedia app to bookmark pages into folders to read later. This includes reading offline. Reading lists do not create or alter content in any way. To create Reading Lists, app users will register an account and marked pages will be tied to that account. Reading List account preferences sync between devices. You can read the same pages on different mobile platforms (tablets, phones). This is the first time we are syncing preference data between devices in such a way. We want to hear and address concerns about privacy and data security. We also want to explain why the current watchlist system is not being adapted for this purpose. === Background === In 2016 the Android team replaced the simple Saved Pages feature with Reading Lists. Reading Lists allow users to bookmark pages into folders and for reading offline. The intent of this feature was to allow "syncing" of these lists for users with many devices. Due to overlap with the Gather feature and related community concerns, this part was put on hold. The Android team has identified this lack of synching as a major area of complaint from users. They expect lists to sync. The iOS team has held off implementing Reading Lists, as syncing was seen as a "must have" for this feature. A recent [https://phabricator.wikimedia.org/T164990 technical RfC] has allowed these user stories and needs to be unblocked. Initially for Android, then iOS, and with web to potentially follow. Reading lists are private, stored as part of a user's account, not as a public wiki page. There is no sharing or publishing ability for reading lists. No planned work to make these public. The target audience are people that read Wikipedia and want to bookmark and organize that content in the app. There is a potential for the feature to be available on the web in the future. === Why not watchlists === Watchlists offer similar functionality to Reading Lists. The Reading Infrastructure team evaluated watchlist infrastructure before exploring other options. In general, the needs of watchlists differ from Reading Lists in a few key ways: * Reading lists focus on Reading articles, not the monitoring of changes. * Watchlists are focused on monitoring changes of pages/revisions. ** The Watchlist infrastructure is key to our contributor community for monitoring content changes manually and through the use of automated tools (bots). Because of these needs, expanding the scope of Watchlists to reading purposes will only make the project harder to maintain and add more constraints. * By keeping the projects separate it is easier to scale resources. We can serve these two different audiences and prioritize the work accordingly. Reading Lists are, by their nature, less critical to the health of Wikipedia/MediaWiki. * Multi-project support. Reading Lists are by design cross-wiki/project. Watchlists are tied to specific wikis. While there have been many discussion for making them cross-wiki, resolution is not in the near term. [[mw:Wikimedia Apps/Synced Reading Lists|More information can be found on MediaWiki.org]] where feedback and ideas are welcome. Thank you </div> [[m:User:CKoerner (WMF)|CKoerner (WMF)]] ([[m:User talk:CKoerner (WMF)|talk]]) 20:35, 20 Σταυρί 2017 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:CKoerner (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery/Wikipedia&oldid=16981815 --> == Баннерная кампания про Российскую Викимедиа конференцию 2017 == Уважаемые коллеги, пожалуйста выскажите своё мнение по поводу ''[[m:CentralNotice/Request/2017 Wiki Conference Russia|баннерной кампании CentralNotice]]'' для объявления о [[wmru:Вики-конференция 2017|Российской Викимедиа конференции 2017]] (для читателей разных вики из России + русская вики глобально). Спасибо.--[[Χρήστες:Frhdkazan|Frhdkazan]] ([[Καλάτσεμαν χρήστε:Frhdkazan|συζήτηση]]) 16:01, 27 Σταυρί 2017 (UTC) == Баннерная кампания про Приволжский вики-семинар 2017 == * '''EN:''' Dear colleagues, please comment on ''[[m:CentralNotice/Request/Volga WikiSeminar 2017|CentralNotice banner proposal]]'' for [[wmru:Volga WikiSeminar 2017/en|Volga WikiSeminar 2017]] announcement (all [[m:Wikipedias_in_the_languages_of_Russia/Tables#Active_Wikipedias|active WPs in languages of Russia]], except Azerbaidjani, Kazakh, Finnish and Ukrainian; globally, [[m:CentralNotice/Request/2017_Wiki_Conference_Russia#Banner_in_Ukraine|except Ukraine]]). Thank you & sorry if this announcement is not available in your preferred language. * '''RU:''' Уважаемые коллеги, пожалуйста выскажите своё мнение по поводу ''[[m:CentralNotice/Request/Volga WikiSeminar 2017|баннерной кампании CentralNotice]]'' для объявления о [[wmru:Volga WikiSeminar 2017|Приволжском вики-семинаре 2017]] (все [[m:Wikipedias_in_the_languages_of_Russia/Tables/ru#Активные Википедии|активные ВП на языках России]], кроме азербайджанской, казахской, украинской и финской; глобально, [[m:CentralNotice/Request/2017_Wiki_Conference_Russia#Banner_in_Ukraine|кроме Украины]]). Спасибо и приношу извинения, если данное объявление недоступно на предпочитаемом вами языке.--[[Χρήστες:Frhdkazan|Frhdkazan]] ([[Καλάτσεμαν χρήστε:Frhdkazan|συζήτηση]]) 12:06, 9 Τρυγομηνά 2017 (UTC) == New print to pdf feature for mobile web readers == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> '''New print to pdf feature for mobile web readers''' The Readers web team will be deploying a new feature this week to make it [[mw:Reading/Web/Projects/Mobile_PDFs|easier to download PDF versions of articles on the mobile website]]. Providing better offline functionality was one of the highlighted areas from [[m:New_Readers/Offline|the research done by the New Readers team in Mexico, Nigeria, and India]]. The teams created a prototype for mobile PDFs which was evaluated by user research and community feedback. The [[m:New_Readers/Offline#Concept_testing_for_mobile_web|prototype evaluation]] received positive feedback and results, so development continued. For the initial deployment, the feature will be available to Google Chrome browsers on Android. Support for other mobile browsers to come in the future. For Chrome, the feature will use the native Android print functionality. Users can choose to download a webpage as a PDF. [[mw:Reading/Web/Projects/Print_Styles#Mobile_Printing|Mobile print styles]] will be used for these PDFs to ensure optimal readability for smaller screens. The feature is available starting Wednesday, Nov 15. For more information, see [[mw:Reading/Web/Projects/Mobile_PDFs|the project page on MediaWiki.org]]. {{Int:Feedback-thanks-title}} </div> [[m:User:CKoerner (WMF)|CKoerner (WMF)]] ([[m:User talk:CKoerner (WMF)|talk]]) 22:07, 20 Αεργί 2017 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:CKoerner (WMF)@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=User:CKoerner_(WMF)/Mobile_PDF_distribution_list&oldid=17448927 --> == Call for Wikimania 2018 Scholarships == Hi all, We wanted to inform you that scholarship applications for [[:wm2018:Wikimania 2018|Wikimania 2018]] which is being held in Cape Town, South Africa on July 18–22, 2018 are now being accepted. '''Applications are open until Monday, 22 January 2018 23:59 UTC.''' Applicants will be able to apply for a partial or full scholarship. A full scholarship will cover the cost of an individual's round-trip travel, shared accommodation, and conference registration fees as arranged by the Wikimedia Foundation. A partial scholarship will cover conference registration fees and shared accommodation. Applicants will be rated using a pre-determined selection process and selection criteria established by the Scholarship Committee and the Wikimedia Foundation, who will determine which applications are successful. To learn more about Wikimania 2018 scholarships, please visit: [[:wm2018:Scholarships]]. To apply for a scholarship, fill out the multi-language application form on: '''https://scholarships.wikimedia.org/apply''' It is highly recommended that applicants review all the material on the Scholarships page and [[:wm2018:Scholarships/FAQ|the associated FAQ]] before submitting an application. If you have any questions, please contact: wikimania-scholarships at wikimedia.org or leave a message at: [[:wm2018:Talk:Scholarships]]. Please help us spread the word and translate pages! Best regards, [[:m:User:Slashme|David Richfield]] and [[:m:DerHexer|Martin Rulsch]] for the [[:wm2018:Scholarship Committee|Scholarship Committee]] 19:24, 20 Χριστουγενναρί 2017 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:DerHexer@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_Wikipedia_delivery&oldid=17300722 --> == User group for Military Historians == Greetings, "Military history" is one of the most important subjects when speak of sum of all human knowledge. To support contributors interested in the area over various language Wikipedias, we intend to form a user group. It also provides a platform to share the best practices between military historians, and various military related projects on Wikipedias. An initial discussion was has been done between the coordinators and members of WikiProject Military History on English Wikipedia. Now this discussion has been taken to Meta-Wiki. Contributors intrested in the area of military history are requested to share their feedback and give suggestions at [[:m:Talk:Discussion to incubate a user group for Wikipedia Military Historians|Talk:Discussion to incubate a user group for Wikipedia Military Historians]]. [[Χρήστες:MediaWiki message delivery|MediaWiki message delivery]] ([[Καλάτσεμαν χρήστε:MediaWiki message delivery|συζήτηση]]) 10:46, 21 Χριστουγενναρί 2017 (UTC) <!-- Το μήνυμα στάλθηκε από τον User:Krishna Chaitanya Velaga@metawiki με βάση τη λίστα στην https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_Wikipedia_delivery&oldid=17565441 --> plzdbs6diikmbgvgxxwfq46ejxrtayh Αμερικανική εταιρεία ραδιοτηλεόρασης 0 2727 36156 36155 2025-02-01T23:54:04Z Nikos Patas 11433 36156 wikitext text/x-wiki Η '''''Αμερικανική Εταιρεία Ραδιοτηλεοπτικών Εκπομπών''''' (''American Broadcasting Company'', ABC) εν ένα αμερικανικόν τηλεοπτικόν δίκτυον εμπορικών εκπομπών, π' αποτελεί ιδιοκτησίαν τη Disney-ABC Television Group, θεγατρικής του τμήματος Disney Media Networks τ'ς εταιρείας [[The Walt Disney Company|Walt Disney Company]]. Το δίκτυον έχ' την έδραν του σην λεωφόρο Columbus και την Δυτικήν 66η οδό σο Μανχάταν τη Νέας Υόρκης. Υπάρχουν επιπλέον τρανά γραφεία και εγκαταστάσεις παραγωγής σ' άλλες περιοχές τη Νέας Υόρκης, καθώς και σο Λος Άντζελες και σο [[Μπέρμπανκ]] τη [[Καλιφόρνιαν|Καλιφόρνιας]]. Απ' το 2007, όντες η ABC Radio (γνωστή και ως Cumulus Media Networks) επωλήθεν σην Citadel Broadcasting, η ABC ελιγόστευσεν σχεδόν αποκλειστικά τις τηλεοπτικές ατ'ς δραστηριότητες. Το πέμπτον παλαιότερον σημαντικόν ραδιοτηλεοπτικόν δίκτυον σον κόσμον και το νεότερον απ' τα τρία τρανά τηλεοπτικά δίκτυα, το ABC συχνά αποκαλείται "'''Το Δίκτυο Αλφάβητου'''", καθώς ο αρχικός του χαρακτήρας αντιπροσωπεύει και τα τρία πρώτα γράμματα του λατινικού αλφαβήτου. Η ABC ερχήνωσεν ως ραδιοφωνικόν δίκτυον σις 12 Τρυγομηνά 1943, υπηρετώντας ως διάδοχος του NBC Blue Network, π' είχ' αγοράσ' ο [[Έντουαρντ Τζ. Νομπλ]]. Επέτεινεν τις δραστηριότητές ατ' σην τηλεόρασην σα 1948, ακολουθώντας τα βήματα 'τ' καθιερωμένων ραδιοτηλεοπτικών δικτύων CBS και NBC. Σην δεκαετίαν του 1950, η ABC εσυγχωνεύθεν με την United Paramount Theaters, μία αλυσίδα κινηματογραφικών ταινιών που λειτουργούσε σο παρελθόν ως θυγατρική τη Paramount Pictures. Ο [[Λέοναρντ Γκόλντενσον]], π' έτον επικεφαλής τη UPT, έκανε το νέον τηλεοπτικόν δίκτυον κερδοφόρον, βοηθώντας την ανάπτυξην και την προβολήν πολλών επιτυχημένων σειρών. Ση δεκαετίαν του '80, μετά την αγοράν του 80% του καλωδιακού αθλητικού καναλιού ESPN, ο εταιρικός γονέας του δικτύου, American Broadcasting Companies Inc., εσυγχωνεύθεν με την Capital Cities Communications, ιδιοκτήτην πολλών εκδόσεων εκτύπωσης και τηλεοπτικούς και ραδιοφωνικούς σταθμούς. Σα 1996, τα περισσότερα περιουσιακά στοιχεία Capital Cities / ABC αγοράστηκαν απ' την εταιρείαν Walt Disney Company. Το τηλεοπτικόν δίκτυον έχ' οχτώ ιδιόκτητες και λειτουργίες και περισσότερους από 232 συνδεδεμένους τηλεοπτικούς σταθμούς σ' όλες τις Ηνωμένες Πολιτείας και τ' εδάφη του. Το ABC News παρέχ' νέα και διαθέτει περιεχόμενον για επιλεγμένους ραδιοφωνικούς σταθμούς π' ανήκουν σην Citadel Broadcasting, π' αγόρασε τις ιδιότητες του ABC Radio σα 2007. ra3df35zkxqi1ju3id0aqwxvctxdn3w Arhikon selida 0 2729 33571 2018-01-26T14:27:59Z Hugo.arg 153 Ο Hugo.arg μετακίνησε τη σελίδα [[Arhikon selida]] στην [[Πρότυπον:Arhikon selida]] 33571 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Πρότυπον:Arhikon selida]] deyv5xg7tp2g3yukdtaqzat7f0njlc3 Μπλεόνα 0 2734 35527 35517 2024-01-23T17:27:07Z Διογένες 10538 35527 wikitext text/x-wiki [[Αρχείον:Bleona Qereti mirror.jpg|μικρογραφία|250px|Μπλεόνα Τσερέτι]] Η '''Μπλεόνα Τσερέτι''' (Bleona Qereti, εγγενέθεν 14 Καλομηνά [[1979]]) εν τραγουδίστρια. ==Δισκογραφία== * 1997 Kam Qejfin Tim * 1999 Nese Me Do Fort * 2001 S'me Behet Vone * 2002 Ik Meso Si Dashurohet * 2003 Ti Nuk Di As Me Ma Lyp * 2005 Greatest Hits * 2005 Boom Boom * 2007 Mandarin [[Κατηγορίαν:Μουσική]] apowdmp3p4jsiw3vkgxzgddh0w1y7qk Αδριανούπολιη 0 2737 36736 36570 2025-12-16T08:29:41Z Εὐθυμένης 2777 36736 wikitext text/x-wiki [[Αρχείον:Edirne Turkey Provinces locator.gif|μικρογραφία|230px|Αδριανοπούλιη]] Το '''Αδριανοπούλιη''' (σα Τουρκικα: ''Edirne''; σα Ελληνικα: Αδριανοπούλη; σα βουλγάρικα: Одрин) εν [[Τουρκία|τουρκικόη]] πολιτείαν κι ευριοκάται σον [[Πόντος]], [[Ελλάδα]] και τι [[Βουλγαρία]]. == Αναφοράντας == <references/> == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{tr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Τουρκίας|Αδριανοπούλιη]] [[Κατηγορίαν:Πόντος|Αδριανοπούλιη]] s3qb33k1zmdtfyq9zj9idv9ht2ka2ad Λύκον 0 2740 33647 2018-03-27T21:10:24Z 2A02:587:6E1E:A00:4954:A401:1829:7FEC Καινούρεον σελίδαν με '[[File:Canis lupus.jpg|thumb|Είνας λύκον]] Ο '''λύκον''' εν χαϊβάν το οποίον ανήκει σην οικογενείαν...' 33647 wikitext text/x-wiki [[File:Canis lupus.jpg|thumb|Είνας λύκον]] Ο '''λύκον''' εν χαϊβάν το οποίον ανήκει σην οικογενείαν τοι [[Κυνίδες]]. [[Κατηγορίαν:Χαϊβάνεα]] p1jg0o8gf21qswgdq6f0mnjvdlgi2vo Κατηγορίαν:Χαϊβάνεα 14 2741 33653 2018-03-30T16:56:23Z 2A02:587:6E1C:3A00:6547:E16D:17C8:8AEF Καινούρεον σελίδαν με '[[Κατηγορίαν:Wp/pnt]]' 33653 wikitext text/x-wiki [[Κατηγορίαν:Wp/pnt]] gbnfivrzuu2xurtefe8l068j7u6tpvz Κατηγορίαν:User ja 14 2744 33663 2018-04-07T02:04:50Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 33663 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Ιαπωνικά. fr0ojichq4fgnbgz969jpoequlqps14 Νατάλια Ορέιρο 0 2749 35583 35511 2024-01-25T08:42:33Z Διογένες 10538 /* Συνδέσμε */Κοινά 35583 wikitext text/x-wiki [[Αρχείον:Natalia Oreiro at 2017 MIFF.jpg|μικρογραφία|250px|Νατάλια Ορέιρο το 2017]] Η '''Νατάλια Ορέιρο''' (Natalia Oreiro, εγγενέθεν 19 Καλομηνά [[1977]]) εν τραγουδίστρια. ==Δισκογραφία== * Natalia Oreiro' (1998) * Tu veneno (2000) * Turmalina (2002) * Gilda, no me arrepiento de este amor (2015) == Συνδέσμε == * [[Αρχείον:Commons-logo.svg|link=https://commons.wikimedia.org/wiki/Category:Natalia_Oreiro?uselang=pnt|19x19px]] Σα [https://commons.wikimedia.org/wiki/%CE%9A%CF%8D%CF%81%CE%B9%CE%B1_%CE%A3%CE%B5%CE%BB%CE%AF%CE%B4%CE%B1 Κοινά] εσ υλικόν σχετικόν με [https://commons.wikimedia.org/wiki/Category:Natalia_Oreiro?uselang=pnt '''''Νατάλια Ορέιρο'''''] [[Κατηγορίαν:Μουσική]] on3prrsa87l0wnaah7y1zg4xmlmyaw6 Τραπεζούς 0 2750 33675 33673 2018-04-15T14:23:38Z 2A02:587:6E0F:9700:C406:4195:1F6A:2ED3 Ανακατεύθυνση στη σελίδα [[Τραπεζούντα]] 33675 wikitext text/x-wiki #REDIRECT [[Τραπεζούντα]] skwvo231bz9m2upurpsuskh3owx3e9t Κερασούντα 0 2751 36742 36576 2025-12-16T08:35:05Z Εὐθυμένης 2777 36742 wikitext text/x-wiki [[Εικόναν:Giresun Turkey Provinces locator.gif|thumb|230px|right|Η Κερασούντα σον τούρκικον τον χάρτεν.]] Η '''Κερασούντα''' (τουρκ. ''Giresun'') εν οσήμερον [[Τουρκία|τούρκικον]] πολιτείαν τη κι ευρίεται σην επαρχίαν τη Κερασούντος, σον [[Πόντος|Πόντον]]. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{tr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Τουρκίας|Κερασουντα]] [[Κατηγορίαν:Πόντος|Κερασουντα]] i6e7ldy6lru4x7p8ehj5q8los8htu4q Κερασούς 0 2752 33678 2018-04-15T14:25:52Z FaIvie 6049 Ο FaIvie μετακίνησε τη σελίδα [[Κερασούς]] στην [[Κερασούντα]] 33678 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Κερασούντα]] b40jr9937ndls7t46zvhzq4ocwd002f Βαϊβούρτη 0 2753 33680 2018-04-17T15:41:18Z 2A02:587:6E0F:9700:41AA:D276:E33C:B711 Ανακατεύθυνση στη σελίδα [[Παϊπούρτ]] 33680 wikitext text/x-wiki #REDIRECT [[Παϊπούρτ]] gvdsoatnqko7nolg5p3bgnuv8hrrqu3 Μπρουνέιν 0 2754 34618 34473 2020-10-05T16:39:41Z Rotondus 8164 Κατηγορίαν 34618 wikitext text/x-wiki {{Πληροφορίας χώρας|πολίτευμαν=αυστηράν μουσουλμανικήν μοναρχίαν|Επίσημαι γλώσσαι=Μαλαικάν Αραβικάν Κινεζικάν Αγγλικάν|μονάρχης=Χασανάλ Μπολκιάχ άτς Σουλτάν|σημαίαν=Flag of Brunei.jpg}} Το Μρουνέιν είν κράτος τσης Ανατολικής τσην Ασίας. Εβρέχεται από την Νότιαν Κινέζικην Θάλασσαν. Οι κάτοικοι΄του Μπρουνέιν άτς φανατικοί μουσουλμάνοι. [[Κατηγορίαν:Κράτη]] dkipy6lcdzz4xsucntwihnt9ngspcp5 Ονταουάρα 0 2761 33785 2018-07-23T08:48:37Z 2A02:586:6E14:A800:DD99:1FE7:B247:81B0 Ανακατεύθυνση στη σελίδα [[Ονταγουάρα]] 33785 wikitext text/x-wiki #REDIRECT [[Ονταγουάρα]] 1psod0p9jbfno6cpwc3m4ezj4g7lv0n Ονταβάρα 0 2762 33786 2018-07-23T08:49:09Z 2A02:586:6E14:A800:DD99:1FE7:B247:81B0 Ανακατεύθυνση στη σελίδα [[Ονταγουάρα]] 33786 wikitext text/x-wiki #REDIRECT [[Ονταγουάρα]] 1psod0p9jbfno6cpwc3m4ezj4g7lv0n Πιοτροβίτσε 0 2763 33839 33792 2018-09-04T05:44:28Z JJJ2002 6378 33839 wikitext text/x-wiki [[Εικόναν: Lokalizacja Piotrowic.png|thumb|280px|]] [[Εικόναν:Znak Piotrowice i krzyż.jpg|thumb|280px|]] Το '''Πιοτροβίτσε''' (πολ.Piotrowice) εν πολωνι΄ον πολιτείαν και εχ' τρανόν [[ιστορίαν]]. Εν η ασ' ουλτς τρανόν πολιτείαν και η [[πρωτεύουσα]] τη χώρας. Οσήμερον (2013) εχ' πληθυσμόν 352 ανθρώπ. ==Εικόναν== [[Εικόναν:Widok Piotrowic.jpg|thumb|280px|]] [[Εικόναν:Panorama jeziora w Piotrowicach.jpg|left|280px|]] r1sjc4tt7h4cs63zxcjog9upcyzcm7i Ηλίας Τσιρκινίδης 0 2766 34483 34445 2020-04-08T05:46:52Z Tulsi 5081 Cross-wiki abuse 33852 wikitext text/x-wiki Ηλίας Τσιρκινίδης εν γνωστός Ποντιος ποιητής Εγέννεθεν σο Νοβοροσίσκ της Ρωσίας(1915) ασ'σο γονείς προσφυγες ασ'σο χωρίο Σταυρίν της Χαλδίας σο Πόντον. Η ποιητική συλλογή του έτον "Το γήτεμα" ,Το μένεμαν" κ.α Τα θεατρικά του εργαν έτον: Το όρωμαν και το κρίμαν και Δαβίδ ο Μέγας Κομνηνός e6nko57to2420c0hyy8l3lzsv8y7iit Χιτλερ 0 2773 34574 34573 2020-09-01T08:07:10Z 37.6.11.37 Άλλαξε στόχος ανακατεύθυνσης από το [[w:el:Αδόλφος Χίτλερ]] στο [[el:Αδόλφος Χίτλερ]] 34574 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ[[el:Αδόλφος Χίτλερ]] emsv0p8ml6ge8lyanrwqo72vpocoe4d Βλαντιμίρ Λένιν 0 2777 34488 34440 2020-04-08T05:46:55Z Tulsi 5081 Cross-wiki abuse 34301 wikitext text/x-wiki [[Αρχείον:Lenin and stalin.jpg|μικρογραφία|Φωτογραφία τη Λένιν]] Ο Βλαντιμίρ Λένιν έτον κομμουνιστής ηγέτης. [[Κατηγορίαν:Κομμουνιστές]] km4b3bw5pzqdbh7jloq4i6337m45o3z Τσάρος 0 2779 35738 34011 2024-09-16T06:31:32Z CommonsDelinker 121 Removing [[:c:File:Τσάρος_της_Βουλγαρίας.jpg|Τσάρος_της_Βουλγαρίας.jpg]], it has been deleted from Commons by [[:c:User:Krd|Krd]] because: No license since 8 September 2024. 35738 wikitext text/x-wiki Τσάρος ατς ο βασιλέας εν πάσες ταις σλαβικές χώρες όπως την [[Ρουσία|Ρωσίαν]], την [[Βουλγαρία|Βουλγαρίαν]] και την [[Σερβία|Σερβίαν]]. [[Κατηγορίαν:Βουλγαρία]] [[Κατηγορίαν:Ρωσία]] [[Κατηγορίαν:Σερβία]] [[Κατηγορίαν:Σλάβοι]] fyfmjmznqfs7jduahlamy5ojyrmf6p8 Μικρασιατική Καταστροφή 0 2780 34471 34458 2020-04-08T05:46:46Z Tulsi 5081 Cross-wiki abuse 34012 wikitext text/x-wiki [[Αρχείον:Smyrna-massacre greeks-killed line.jpg|μικρογραφία|518x518εσ|Νεκροί στη προκυμαία της Σμύρνης]] Η Μικαρασιατική Καταστροφή ατς το σύνολον των τρανών σφαγών των Ελλένων Μικρασιατών από τους Τούρκους κατά το 1922. == Θύματα == Μητροπολίτης Σμύρνης Χρυσόστομος r1ta6921aucwat9lb9ynimsi7nh8tlm Κατηγορίαν:Κομμουνιστές 14 2782 34016 2018-10-31T16:22:02Z Το πουλί της φωτιάς 6952 Δημιουργήθηκε κενή σελίδα 34016 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Καζακστάν 0 2783 36107 36106 2025-01-18T15:19:47Z Farruh Samadov 11391 36107 wikitext text/x-wiki Το Καζακστάν ατς μίαν χώραν τση Κεντρικήν [[Ασίαν]]. Αβούτον το κράτος έχει ως επίσημην λαλίαν την καζακικήν.Η Δημοκρατία του Καζακστάν, είναι μια κλειστή χώρα κυρίως στη Κεντρική Ασία, με λίγη χώρα στη Ανατολική Ευρώπη. Συνορεύει με τη Ρωσία βόρεια και δυτικά, την Κίνα ανατολικά, το Κιργιστάν νοτιοανατολικά, το [[Ουζμπεκιστάν]] νότια και το [[Τουρκμενιστάν]] νοτιοδυτικά, με παραλία στις Κασπίες Θάλασσες. Η πρωτεύουσα είναι η Αστάνα, ενώ η μεγαλύτερη πόλη και το κορυφαίο πολιτιστικό και εμπορικό κέντρο είναι το Αλμάτι. [[Αρχείον:Flag of Kazakhstan.svg|μικρογραφία]] == Θρησκεία == [[Ισλάμ]] [[Κατηγορίαν:Κράτη]] 66b7odp8ncbm4omedxzdm2szjzpcb32 Τουρκμενιστάν 0 2784 34907 34020 2021-08-30T12:14:56Z 91.140.25.228 /* Γειτονικά κράτη */ 34907 wikitext text/x-wiki Το Τουρκμενιστάν ατς εν κράτος τση Κεντρικήν Ασίαν. Αβούτο το κράτος έχεις ως επίσημον λαλίαν την τουρκμενικήν. Επίσημην θρησκείαν ατς το Σουνιτικόν Ισλάμ. [[Αρχείον:Flag of Turkmenistan.svg|μικρογραφία]] == Γειτονικά κράτη == * [[Καζακστάν]] * [[Αφγανιστάν]] * [[Ουζμπεκιστάν]] * [[Ιράν]] hk0mlru9tccfrj7w7904shnihbz7v3t Κατηγορίαν:User zh-Hans-CN 14 2785 34029 2018-11-04T16:12:27Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 34029 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Chinese (China). qav0l7umygsatzv54jy4j04a6qx8pc8 Κατηγορίαν:User zh-Hant-TW 14 2786 34030 2018-11-04T16:12:27Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 34030 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Chinese (Taiwan). c82wgithdn5qch90rst0ok21h1y3u8y Κατηγορίαν:User zh-Hant-HK 14 2787 34031 2018-11-04T16:12:27Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 34031 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Chinese (Hong Kong). tik0hx2ajz5a42z3mpvs2akpc4yvsiu Αδόλφον Χίτλερ 0 2788 34575 34572 2020-09-01T08:08:32Z 37.6.11.37 Άλλαξε στόχος ανακατεύθυνσης από το [[w:el:Αδόλφος Χίτλερ]] στο [[el:Αδόλφος Χίτλερ]] 34575 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ[[el:Αδόλφος Χίτλερ]] emsv0p8ml6ge8lyanrwqo72vpocoe4d Μαρία Γκουλέγκινα 0 2791 35569 35510 2024-01-24T15:09:24Z Διογένες 10538 Μαρία Γκουλέγκινα το 2012 35569 wikitext text/x-wiki [[Αρχείον:AlyaandGulegina.jpg|μικρογραφία|250px|Μαρία Γκουλέγκινα το 2012]] Η '''Μαρία Γκουλέγκινα''' (εγγενέθεν 9 Αλωναρί [[1959]]) εν τραγουδίστρια. [[Κατηγορίαν:Μουσική]] b91pel6f6lw9m7c1a2vh55c6nyo8i33 Κατηγορίαν:User fi 14 2792 34086 2019-02-02T17:14:33Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 34086 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Φινλανδικά. qi1b98f5rt1kycuhzthjsnqd1oi3s55 ΠΓΔΜ 0 2794 34099 2019-02-17T21:03:34Z Xaris333 781 Ο Xaris333 μετακίνησε τη σελίδα [[ΠΓΔΜ]] στην [[Βόρεια Μακεδονία]] 34099 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Βόρεια Μακεδονία]] nywls8rna769u84fkxe86lzak29k2yy Μονσορώ 0 2799 36883 36800 2025-12-16T10:19:26Z Εὐθυμένης 2777 36883 wikitext text/x-wiki [[Αρχείον:Château de Montsoreau, depuis la rive droite de la Loire.jpg|300px|thumb|Μονσορώ]] Η '''Μονσορώ''' (''Montsoreau'') εν πολιτεία σην [[Γαλλία|Γαλλίαν]]. Οσήμερον εχ' πληθυσμόν 447 ανθρώπ. == Δημογραφία == <div class="center">'''Μονσορώ (Montsoreau)'''<ref name="fcass">{{Cite web|url=http://cassini.ehess.fr/cassini/fr/html/fiche.php?select_resultat=23896|title=Des villages de Cassini aux communes d'aujourd'hui|work =École des hautes études en sciences sociales}}</ref><ref>{{Cite web|url=https://www.statistiques-locales.insee.fr/#c=indicator&i=bdcom.pop&s=2015&selcodgeo=49219&view=map1|title=Recensement de la population au 1er janvier 2006|work =Insee}}</ref><ref>{{Cite web|url=http://www.insee.fr/fr/ppp/bases-de-donnees/recensement/populations-legales/commune.asp?depcom=49007&annee=2009|title=Recensement de la population|work =Insee}}</ref><br> <timeline> Colors= id:lightgrey value:gray(0.9) id:darkgrey value:gray(0.7) id:sfondo value:rgb(1,1,1) id:barra value:rgb(0.7,0.9,0.7) ImageSize = width:800 height:350 PlotArea = left:50 bottom:30 top:30 right:50 DateFormat = x.y Period =from:0 till:1200 TimeAxis = orientation:vertical AlignBars = justify ScaleMajor = gridcolor:darkgrey increment:200 start:0 ScaleMinor = gridcolor:lightgrey increment:100 start:0 BackgroundColors = canvas:sfondo BarData= bar:1791 bar:1792 bar:1793 bar:1794 bar:1795 bar:1796 bar:1797 bar:1798 bar:1799 bar:1800 text:1800 bar:1801 bar:1802 bar:1803 bar:1804 bar:1805 bar:1806 bar:1807 bar:1808 bar:1809 bar:1810 bar:1811 bar:1812 bar:1813 bar:1814 bar:1815 bar:1816 bar:1817 bar:1818 bar:1819 bar:1820 text:1820 bar:1821 bar:1822 bar:1823 bar:1824 bar:1825 bar:1826 bar:1827 bar:1828 bar:1829 bar:1830 bar:1831 bar:1832 bar:1833 bar:1834 bar:1835 bar:1836 bar:1837 bar:1838 bar:1839 bar:1840 text:1840 bar:1841 bar:1842 bar:1843 bar:1844 bar:1845 bar:1846 bar:1847 bar:1848 bar:1849 bar:1850 bar:1851 bar:1852 bar:1853 bar:1854 bar:1855 bar:1856 bar:1857 bar:1858 bar:1859 bar:1860 text:1860 bar:1861 bar:1862 bar:1863 bar:1864 bar:1865 bar:1866 bar:1867 bar:1868 bar:1869 bar:1870 bar:1871 bar:1872 bar:1873 bar:1874 bar:1875 bar:1876 bar:1877 bar:1878 bar:1879 bar:1880 text:1880 bar:1881 bar:1882 bar:1883 bar:1884 bar:1885 bar:1886 bar:1887 bar:1888 bar:1889 bar:1890 bar:1891 bar:1892 bar:1893 bar:1894 bar:1895 bar:1896 bar:1897 bar:1898 bar:1899 bar:1900 text:1900 bar:1901 bar:1902 bar:1903 bar:1904 bar:1905 bar:1906 bar:1907 bar:1908 bar:1909 bar:1910 bar:1911 bar:1912 bar:1913 bar:1914 bar:1915 bar:1916 bar:1917 bar:1918 bar:1919 bar:1920 text:1920 bar:1921 bar:1922 bar:1923 bar:1924 bar:1925 bar:1926 bar:1927 bar:1928 bar:1929 bar:1930 bar:1931 bar:1932 bar:1933 bar:1934 bar:1935 bar:1936 bar:1937 bar:1938 bar:1939 bar:1940 text:1940 bar:1941 bar:1942 bar:1943 bar:1944 bar:1945 bar:1946 bar:1947 bar:1948 bar:1949 bar:1950 bar:1951 bar:1952 bar:1953 bar:1954 bar:1955 bar:1956 bar:1957 bar:1958 bar:1959 bar:1960 text:1960 bar:1961 bar:1962 bar:1963 bar:1964 bar:1965 bar:1966 bar:1967 bar:1968 bar:1969 bar:1970 bar:1971 bar:1972 bar:1973 bar:1974 bar:1975 bar:1976 bar:1977 bar:1978 bar:1979 bar:1980 text:1980 bar:1981 bar:1982 bar:1983 bar:1984 bar:1985 bar:1986 bar:1987 bar:1988 bar:1989 bar:1990 bar:1991 bar:1992 bar:1993 bar:1994 bar:1995 bar:1996 bar:1997 bar:1998 bar:1999 bar:2000 text:2000 bar:2001 bar:2002 bar:2003 bar:2004 bar:2005 bar:2006 bar:2007 bar:2008 bar:2009 bar:2010 text:2010 bar:2015 PlotData= color:barra width:10 align:left bar:1793 from:0 till: 746 bar:1800 from:0 till: 778 bar:1806 from:0 till: 790 bar:1821 from:0 till: 867 bar:1831 from:0 till: 987 bar:1836 from:0 till: 986 bar:1841 from:0 till: 1019 bar:1846 from:0 till: 1071 bar:1851 from:0 till: 1097 bar:1856 from:0 till: 937 bar:1861 from:0 till: 921 bar:1866 from:0 till: 851 bar:1872 from:0 till: 790 bar:1876 from:0 till: 752 bar:1881 from:0 till: 688 bar:1886 from:0 till: 655 bar:1891 from:0 till: 619 bar:1896 from:0 till: 584 bar:1901 from:0 till: 528 bar:1906 from:0 till: 494 bar:1911 from:0 till: 515 bar:1921 from:0 till: 452 bar:1926 from:0 till: 425 bar:1931 from:0 till: 425 bar:1936 from:0 till: 432 bar:1946 from:0 till: 504 bar:1954 from:0 till: 506 bar:1962 from:0 till: 570 bar:1966 from:0 till: 547 bar:1975 from:0 till: 503 bar:1982 from:0 till: 549 bar:1990 from:0 till: 461 bar:1999 from:0 till: 544 bar:2006 from:0 till: 503 bar:2010 from:0 till: 480 bar:2015 from:0 till: 449 </timeline> </div> == Εικόνες == <gallery> File:Map commune FR insee code 49219.png| File:Montsoreau Val de Loire.png| File:Montsoreau castello valle della loira.jpg|' File:Montsoreau ( Maine et Loire ).jpg| File:Montsoreau bridge.jpg| File:Più bei borghi della Francia montsoreau 2.jpg| File:Château de montsoreau confluence vienne loire.jpg| </gallery> == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{fr}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας τη Γαλλίας]] 5zx3x9ube8ukj80qrykrurx2nxowlsw Ανατόλι Σολοβιανένκο 0 2804 35512 35410 2024-01-09T20:47:27Z Διογένες 10538 μικρογραφία 35512 wikitext text/x-wiki {{Πληροφορίας χώρας}} εθνικόν_όνεμαν = <big>Ανατόλι Σολοβιανένκο</big> |εθνικόν όνεμαν σα ποντιακά = Ελλενικόν Δημοκρατίαν [[Αρχείον:Anatoliy Solovianenko - Soviet Life, October 1984.jpg|μικρογραφία|250px|Ανατόλι Σολοβιανένκο]] Η '''Ανατόλι Σολοβιανένκο''' (* [[25 Σταυρί]] [[1932]] — † 29 Χορτοθέρτ [[1999]]) έτον τραγουδοποιός. [[Κατηγορίαν:Μουσική]] 74r0df5taqr19643nxm8gq4ru08xuv3 Ιαπωνία 0 2813 36026 34524 2024-10-26T05:34:13Z Minorax 7522 36026 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Ιαπωνία'''</big></big><br/>''日本'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Japan.svg|125px]] | align="center" width="140px" | [[Αρχείον:Imperial Seal of Japan.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Japan (orthographic projection).svg|300px]] |} [[File:Mount Fuji from meadow.jpg|thumb|Όρος Φούτζι]] H '''Ιαπωνία''' εν κράτος ντο ευρίεται σα βόρεια τη [[Ασίαν]]. Πρωτεύουσαν ατ'ς είν' τα [[Τόκιο]]. Η χώρα έχ' πληθυσμόν σα 126.330.302 τ' ανθρώπ'ς (2018). == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:el:commons:Japan|Η Ιαπωνία σα Commons]]''' *[https://www.iaponia.gr/ Ταξίδι στην Ιαπωνία] *[https://www.greecejapan.com/ Ελλάδα-Ιαπωνία] [[Κατηγορίαν:Ιαπωνία| ]] 1t7k96vadpgzlfw3qnej515vofqfnha Κατηγορίαν:User frp 14 2816 34212 2019-07-02T14:26:33Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 34212 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Arpitan. fh1nejfg1k2oiwaubqisfcwq7e2o0rf Κατηγορίαν:User gsw 14 2817 34213 2019-07-02T14:26:33Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]]. 34213 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Γερμανικά Ελβετίας. rjlgur2034t4ny8xzedlv1rxv79wsqa Βικιπαίδεια:Ελεγκτής 4 2820 34223 2019-08-06T17:11:08Z Giooo95 7439 Καινούρεον σελίδαν με 'Ελέγξτε τους χρήστες είναι άτομα που έχουν τη δυνατότητα να ελέγχουν τις διευθύνσε...' 34223 wikitext text/x-wiki Ελέγξτε τους χρήστες είναι άτομα που έχουν τη δυνατότητα να ελέγχουν τις διευθύνσεις IP των χρηστών σε περίπτωση πολλαπλής χρήσης του λογαριασμού. edd8qdq4nwn28f2lkk8e5e55o7zbyib Βικιπαίδεια:Γεροντάδες 4 2821 34224 2019-08-06T17:14:41Z Giooo95 7439 Καινούρεον σελίδαν με 'Γεροντάδες είναι άτομα που είναι διαχειριστές με τη δυνατότητα να προωθούν άλλους...' 34224 wikitext text/x-wiki Γεροντάδες είναι άτομα που είναι διαχειριστές με τη δυνατότητα να προωθούν άλλους χρήστες στο Διαχειριστές και Γεροντάδες, αλλά δεν μπορεί να τα αφαιρέσει μόλις διοριστεί. Ένας Steward πρέπει να καταργήσει αυτά τα δικαιώματα αν χρειαστεί. 8wwpvphm2votzp50psszgpohcywoz45 Βικιπαίδεια:Bots 4 2822 34226 2019-08-06T17:25:22Z Giooo95 7439 Καινούρεον σελίδαν με 'Το δικαίωμα χρήστη Bot επιτρέπει στον χρήστη να εκτελεί μεγάλο αριθμό επεξεργασιών...' 34226 wikitext text/x-wiki Το δικαίωμα χρήστη Bot επιτρέπει στον χρήστη να εκτελεί μεγάλο αριθμό επεξεργασιών χωρίς να περιορίζεται ή να περιορίζεται από το σύστημα. Οι χρήστες μπορούν να έχουν ξεχωριστούς εγκεκριμένους λογαριασμούς οι οποίοι λειτουργούν για να εκτελούν δύσκολα καθήκοντα με ευκολία που έχουν εγκριθεί από τη διοίκηση ή το δικαίωμα χρήστη μπορεί να χορηγηθεί προσωρινά σε κάποιον που εκτελεί υψηλότερο ποσοστό επεξεργασιών από το συνηθισμένο. 4yunucsctroe2adft1vq9hpuv3d281s Κατηγορίαν:Ιαπωνία 14 2838 34331 2019-11-20T09:45:21Z Chongkian 3947 Καινούρεον σελίδαν με '[[Κατηγορίαν:Κράτη]] [[Κατηγορίαν:Ασία]]' 34331 wikitext text/x-wiki [[Κατηγορίαν:Κράτη]] [[Κατηγορίαν:Ασία]] a1c5ywpxuift0l35cm528p7d2a6ju5b Μόντε Άγιλα 0 2840 34653 34337 2020-11-22T20:21:26Z Je7roi 4539 Correcting 34653 wikitext text/x-wiki Το ''' Μόντε Άγιλα''' (σα ισπανικά: ''Monte Águila'') είναι πόλη της [[Χιλή]]. Το [[2002]] εχ' πληθυσμόν 6.574 ανθρώπ. [[Αρχείον: Inauguracion Nueva Plaza de Monte Aguila 2017 (15).jpg|thumb|right|240px| [[Αρχείον:Flag of Chile.svg|20px]] [[Μόντε Άγιλα]], [[Χιλή]]]] [[Κατηγορίαν:Χιλή]] k237x4vqgju940vzv0f6imcgg3y1cwx Ύμνος εις την ελευθερίαν 0 2842 35421 34495 2023-06-08T00:47:17Z Filippos Fragkogiannis 10057 35421 wikitext text/x-wiki Ύμνος εις την Ελευθεριαν εν Εθνικόν ύμνος σιν [[Ελλάδα]] (ασο 1865) και σιν [[Κύπρος|Κυπρον]] (ασο 1966). Ετον Εθνικόν ύμνος σο ποντιακον δημοκρατιαν. Ατον εγραψε τον ο Διονύσιος Σολωμός. Ατωρα εν Εθνικόν ύμνος Ελλήνων σα ξένα. Σα ελληνικά εν: Σὲ γνωρίζω ἀπὸ τὴν κόψι τοῦ σπαθιοῦ τὴν τρομερή, σὲ γνωρίζω ἀπὸ τὴν ὄψι, ποὺ μὲ βιά μετράει τὴν γῆ. Ἀπ’ τὰ κόκκαλα βγαλμένη τῶν Ἑλλήνων τὰ ἱερά, καὶ σὰν πρῶτα ἀνδρειωμένη, χαῖρε, ὢ χαῖρε, Ἐλευθεριά! sgnlsr59003xex9fntmgurx5if1q22n Ευρωπαϊκόν Σύνδεσμον 0 2847 35461 34612 2023-08-17T13:35:42Z Kontrollstellekundl 7721 + 35461 wikitext text/x-wiki [[File:Flag of Europe.svg|200px|right]] [[File:Global European Union.svg|500px|right]] [[File:EU Member states and Candidate countries map.svg|500px|right]] [[File:Belgique - Bruxelles - Schuman - Berlaymont - 01.jpg|thumb|European Commission]] Ο Ευρωπαϊκον συνδεσμον (Ευρωπαϊκη ενωση σα ελλενικα) είνας συνδεσμος εν ντο σην Ευρωπην εν. Πολλα γλωσσας εχ' ασ'ολεν την Ευρωπην. 27 χωρας σ'ατο το συνδεσμον ειναι. Τα χωρας ετον 28, αμα σον Κουντουρον, σα 2020 τη χρονιας, η Μεγαλην Βρετανια εξεβεν ασον συνδεσμον. Η Ελλαδαν επηγεν σον συνδεσμον σα 1981 τη χρονιας. [[Κατηγορίαν:Ευρώπη]] t9j8v7euybw445ogcedw1yhn6gp2qic MediaWiki:Sandbox/en 8 2850 34425 2020-04-02T04:18:41Z ~riley 2999 Sandbox 34425 wikitext text/x-wiki Sandbox 180b4o8webax01hgcc2r1q2f1sv2rus MediaWiki:Pump/en 8 2851 34426 2020-04-02T04:19:23Z ~riley 2999 Translating [[Mediawiki:Sidebar]] (global sysop action 34426 wikitext text/x-wiki Village pump q2wo92cze7z59youewlwyypa59cuo5j 11 Αεργί 0 2854 37277 35851 2025-12-16T19:12:27Z Εὐθυμένης 2777 37277 wikitext text/x-wiki <div class="center">[[Σταυρίτες]] | [[Τρυγομηνάς]] | '''[[Αεργίτες]]''' | [[Χριστουγεννάρτς]] | [[Καλαντάρτς]]</div> <div class="center">[[10 Αεργί]] | [[11 Αεργί]] | [[12 Αεργί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|11}} Η '''11 Αεργί''' εν το 315ον ημέρα τη χρονίας (316ον ημέρα σε δίσεκτον χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 50 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[11 Τρυγομηνά]] - [[11 Χριστουγενναρί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|1111]] nx5kne5uw0csdqnyxsiwna8n155eece Κολομβία 0 2855 35933 35624 2024-10-26T05:26:25Z Minorax 7522 /* top */ clean up using [[Project:AWB|AWB]] 35933 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Κολομβία'''</big></big><br/>''Colombia'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Colombia.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Colombia.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Colombia (orthographic projection).svg|300px]] |} [[File:Cabo San Juan, Colombia.jpg|thumb|left]] Η '''Κολομβίαν''' είναι μια χώρα της [[Νότια Αμερικα|Νότιας Αμερικής]]. Η χώρα εχ' πληθυσμόν 50,372,424 (2020) ανθρώπ'ς. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:commons:Colombia|Η Κολομβία σα Commons]]''' [[Κατηγορίαν:Κράτη]] [[Κατηγορίαν:Κολομβία| ]] [[Κατηγορίαν:Λατινικήν Αμέρικα]] 1n74sitxq7q51j28uyro2obxja5xqar Ολεσια Ζουρακιυσκα 0 2859 34538 34537 2020-06-10T17:46:19Z 93.73.115.248 34538 wikitext text/x-wiki Η '''Ολεσια Ζουρακιυσκα''' (Олеся Вікторівна Жураківська, εγγενέθεν [[13 Αλωναρί]] [[1973]]) εν ηθοποιός. [[Κατηγορίαν:Σινεμά]] 7qs22ks63gld92ig67lir4rxeihpwuw Βελίκο Τάρνοβο 0 2879 36758 34627 2025-12-16T08:48:33Z Εὐθυμένης 2777 36758 wikitext text/x-wiki Η '''Βελίκο Τάρνοβο''' (bουλ. Велико Търново) εν η πρωτεύουσαν, η μία ασοι δύο ομοσπονδιακούς πόλεις τη [[Βουλγαρία]](1185-1393). <gallery> Constituent Assembly of Bulgaria.jpg| 20140620 Veliko Tarnovo 010.jpg| Veliko Tarnovo002.JPG| 20140620 Veliko Tarnovo 298.jpg| Bulgaria Bulgaria-0893 - Trapezitsa (7433398084).jpg| Veliko Tarnovo Cathedral 4.jpg| Marno pole Park,Veliko Tarnovo.jpg| Samovodska charshia 6.JPG| </gallery> == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{bg}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Βουλγαρία]] r4g9rmqtcuv2ygzt2ax6nx2irx9sugz Χιλε 0 2882 34650 2020-11-22T20:17:52Z Je7roi 4539 Ο Je7roi μετακίνησε τη σελίδα [[Χιλε]] στην [[Χιλή]]: Correction name 34650 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Χιλή]] aglg0a3b6zsrvyb2nl3ugu6clkzbxms Κατηγορίαν:Χιλε 14 2883 34656 2020-11-22T20:23:01Z Je7roi 4539 Ο Je7roi μετακίνησε τη σελίδα [[Κατηγορίαν:Χιλε]] στην [[Κατηγορίαν:Χιλή]]: Correction name 34656 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[:Κατηγορίαν:Χιλή]] 00wh8asnb9scnhgeuzicir20m4bi8vy Κατηγορίαν:Καναδάς 14 2891 34673 2021-01-04T16:22:21Z 2A02:587:6E13:7A00:BCC3:B88A:3E90:3E2C Καινούρεον σελίδαν με '{{Commonscat|Canada}} [[Κατηγορίαν:Κράτη|Καναδάς]]' 34673 wikitext text/x-wiki {{Commonscat|Canada}} [[Κατηγορίαν:Κράτη|Καναδάς]] nvwrfvncu8to80ob8hny14llix15vrs Οττάβα 0 2892 36821 34674 2025-12-16T09:35:28Z Εὐθυμένης 2777 36821 wikitext text/x-wiki [[Αρχείον:Canada Ottawa Panorama.jpg|thumb|Η Οττάβα]] Ἡ '''Οττάβα''' ἔν καναδικόν πολιτείαν ντ'εὐρίεται 'ς σόν Οντάριο, ἔχ' πληθυσμόν 58.309 τ'ἀνθρώπ'ς και εν η πρωτεύουσα τη χώρας του [[Καναδάς|Καναδά]]. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{en}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Πολιτείας]] [[Κατηγορίαν:Καναδάς]] 7zw9viirc66wfvqyfcdnpc9xi3w72xn Καναδάς 0 2893 34675 2021-01-04T16:35:08Z 2A02:587:6E13:7A00:BCC3:B88A:3E90:3E2C Καινούρεον σελίδαν με 'Ο '''Καναδάς''', σ'αγγλικά Canada, εν βορειοαμερικανικόν κράτος. Πρωτεύουσαν ατ'ς εν η Οτ...' 34675 wikitext text/x-wiki Ο '''Καναδάς''', σ'αγγλικά Canada, εν βορειοαμερικανικόν κράτος. Πρωτεύουσαν ατ'ς εν η [[Οττάβα]] κ' τρανότερην πόλην εν το [[Τορόντο]]. Ο προθυπουργός ατ'ς εν ο Τζάστιν Τρυντώ και ο πληθυσμόν ατ'ς έν σα 37.906.883 τ' ανθρώπ'ς. [[Κατηγορίαν:Κράτη|Καναδάς]] [[Κατηγορίαν:Καναδάς| ]] r7jqi63wt5auvhnlwetg0ibypvl92jm 12 Αεργί 0 2916 37278 35856 2025-12-16T19:12:41Z Εὐθυμένης 2777 37278 wikitext text/x-wiki <div class="center">[[Σταυρίτες]] | [[Τρυγομηνάς]] | '''[[Αεργίτες]]''' | [[Χριστουγεννάρτς]] | [[Καλαντάρτς]]</div> <div class="center">[[11 Αεργί]] | [[12 Αεργί]] | [[13 Αεργί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|11}} Η '''12 Αεργί''' εν το 316ον ημέρα τη χρονίας (317ον ημέρα σε δίσεκτον χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 49 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[12 Τρυγομηνά]] - [[12 Χριστουγενναρί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|1112]] b5mzuspo5vw7tqviapgwa99vrk08yij Περίσταση 0 2926 36868 34878 2025-12-16T10:07:44Z Εὐθυμένης 2777 36868 wikitext text/x-wiki [[File:Peristasi mnimio.jpg|thumb|Μνημεῖον πρός τιμήν σὸν Τρανόν Αλέξανδρον]] Ἡ '''Περίστασην''' ἔν [[Ελλάδα|ἑλλενικόν]] χωρίον ντ'εὐρίεται 'ς σὴν [[Μακεδονία|Μακεδονίαν]] καὶ ἔχ' πληθυσμόν 4.326 τ'ἀνθρώπ'ς. Εὐρίεται 'ς σὴν κεντρικήν Μακεδονίαν, 'ς σὸν νομόν τσῆ Πιερίας. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{el}} {{επίσημος ιστότοπος}} {{authority control}} {{DEFAULTSORT:Περισταση}} [[Κατηγορίαν:Πολιτείας τ' Ελλάδας|Κατερίνην]] [[Κατηγορίαν:Μακεδονία|Κατερίνην]] 62oo7beu5x388k91pi1s6igbby6a71t MediaWiki:GrowthExperimentsConfig.json 8 2934 35249 34918 2022-10-19T06:56:32Z MediaWiki default 5794 Disabling mentorship for wikis with no list of mentors ([[:phab:T321056]]) 35249 json application/json { "GEHelpPanelLinks": [ { "title": "mw:Special:MyLanguage/Help:VisualEditor/User guide", "text": "Special:MyLanguage/Help:VisualEditor/User guide", "id": "mw:Special:MyLanguage/Help:VisualEditor/User_guide" }, { "title": "mw:Special:MyLanguage/Help:VisualEditor/User guide#Images", "text": "Special:MyLanguage/Help:VisualEditor/User guide", "id": "mw:Special:MyLanguage/Help:VisualEditor/User_guide" }, { "title": "mw:Special:MyLanguage/Help:VisualEditor/User guide#Editing references", "text": "Special:MyLanguage/Help:VisualEditor/User guide", "id": "mw:Special:MyLanguage/Help:VisualEditor/User_guide" } ], "GEHomepageSuggestedEditsIntroLinks": { "create": "mw:Special:MyLanguage/Help:VisualEditor/User_guide", "image": "mw:Special:MyLanguage/Help:VisualEditor/User_guide#Images" }, "GEMentorshipEnabled": false } o2x6w5tmdm6el91oxfmxtxbdkgezigg 13 Αεργί 0 2935 37279 35861 2025-12-16T19:12:56Z Εὐθυμένης 2777 37279 wikitext text/x-wiki <div class="center">[[Σταυρίτες]] | [[Τρυγομηνάς]] | '''[[Αεργίτες]]''' | [[Χριστουγεννάρτς]] | [[Καλαντάρτς]]</div> <div class="center">[[12 Αεργί]] | [[13 Αεργί]] | [[14 Αεργί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|11}} Η '''13 Αεργί''' εν το 317ον ημέρα τη χρονίας (318ον ημέρα σε δίσεκτον χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 48 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[13 Τρυγομηνά]] - [[13 Χριστουγενναρί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|1113]] 94r68oeguzi8oo7gojn2i3n5yfllc6u Τόρστεν Χας 0 2977 36740 35013 2025-12-16T08:33:25Z Εὐθυμένης 2777 /* Συνδέζμαι */ 36740 wikitext text/x-wiki Ο '''Τόρστεν Χας''' (γερμ. Torsten Haß; *1970 σην Neumünster) είναι [[ποιητής]] ασην [[Γερμανίαν]]. <ref>{{cite web |title= Katalog der Deutschen Nationalbibliothek, Ergebnis der Suche nach: idn=1145989268 |url=http://d-nb.info/gnd/1145989268 |website=Katalog der Deutschen Nationalbibliothek, Ergebnis der Suche nach: idn=1145989268 |publisher=Deutsche Nationalbibliothek |access-date=2021-11-21}}</ref> ==Δουλείας ατ' (χωρισμέν')== ===Μεσελέδες και νοβέλλες=== * ''Das Kartenhaus : ein Betrugs-Roman'' (2002<ref name="chrono">{{cite book |last1=Godal |first1=Kim |title=Morddeich |publisher=Spatz |date=2021 |pages=133–134 |isbn=979-8746727725}}</ref>) * ''Der König des Schreckens : ein Vatikan-Krimi'' (2013<ref name="chrono" />) * ''Männchensache : Rechtsfälle zur Vorbereitung im Geschlechterkampf – Roman'' (2009<ref name="chrono" />) * ''Morddeich : und andere Kurzprosa'' (2021) * ''Die Schwarze Zeit : ein Mittelalter-Roman'' (2006<ref name="chrono" />) * ''Die Schwarze Zeit II : Aphrodites Puppen – Roman'' (2007<ref name="chrono" />) * ''Die Schwarze Zeit III : Metathronos – Roman'' (2008<ref name="chrono" />) * ''Die Schwarze Zeit IV : Agonie – Roman'' (2009<ref name="chrono" />) * ''Die Schwarze Zeit V : Staub – Roman'' (2010<ref name="chrono" />) * ''Die Schwarze Zeit VI : Terra re-mota – Roman'' (2011<ref name="chrono" />) * ''Totenmelodie : ein Kurpfalz-Krimi'' (2017<ref name="chrono" />) * ''Totenquintett : ein Kurpfalz-Krimi'' (2018<ref name="chrono" />) * ''Totentraum : ein Kurpfalz-Krimi'' (2019<ref name="chrono" />) ===Δράματα=== * ''En Nuit : Dramolett'' (2021) * ''Omega oder Das Hochzeitsmahl : Drama'' (2020<ref name="chrono" />) * ''Die Staatsschuld – In a State of Bonds : Drama'' (2003<ref name="chrono" />) ===Ποιήματα=== * ''Das Christkind taumelt betrunken im Wald, der Weihnachtsmann torkelt nicht minder : Winter- und Weihnachtsgedichte'' (2020) * ''Es wiehert der Gaul, es graset das Pferd. Es machte auch nichts, wär’s mal umgekehrt : Liebesgedichte und andere'' (2020) == Αναφοράντας == <references/> == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} {{authority control}} {{DEFAULTSORT:Χας, Τορστεν}} [[Κατηγορίαν:Θέατρον]] eqiv5sf190t547g9osprgabuoukvs7g Λάρνακαν 0 2978 36786 35028 2025-12-16T09:10:46Z Εὐθυμένης 2777 36786 wikitext text/x-wiki [[File:Larnaca 01-2017 img14 Finikoudes.jpg|thumb|Ἡ Λάρνακαν]] Ἡ '''Λάρνακαν''' ἔν κυπριακόν πολιτείαν ντ'εὐρίεται 'ς σὴν επαρχίαν Λάρνακας καὶ οσήμερον ἔχ' πληθυσμόν 51.468 τ'ἀνθρώπ'ς. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{el}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Κύπρος]] [[Κατηγορίαν:Πολιτείας]] ccrhufjgmafdq0fhocnvv6zi3h3w9w9 Λεμεσός 0 2979 36789 35032 2025-12-16T09:12:38Z Εὐθυμένης 2777 36789 wikitext text/x-wiki [[Αρχείον:Limassol, Cyprus 2.jpg|μικρογραφία|Ἡ Λεμεσός]] Ἡ '''Λεμεσός''' ἔν κυπριακόν πολιτείαν ντ'εὐρίεται 'ς σὴν επαρχίαν Λεμεσού καὶ οσήμερον ἔχ' πληθυσμόν 101.000 τ'ἀνθρώπ'ς. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{el}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Κύπρος]] [[Κατηγορίαν:Πολιτείας]] 4go8qyrlcoowy1gsc4n30o6kbszle1p Αμμόχωστος 0 2980 36755 35031 2025-12-16T08:45:01Z Εὐθυμένης 2777 36755 wikitext text/x-wiki [[File:Famagusta 01-2017 img16 view of the walled city.jpg|thumb|Ἡ Αμμόχωστος]] Ἡ '''Αμμόχωστος''' ἔν κυπριακόν πολιτείαν ντ'εὐρίεται 'ς σὴν επαρχίαν Αμμοχώστου καὶ οσήμερον ἔχ' πληθυσμόν 40.920 τ'ἀνθρώπ'ς. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{el}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Κύπρος]] [[Κατηγορίαν:Πολιτείας]] n9vfwxa4d8tdpoz0kbo4b0ypl9furxa Πάφος 0 2981 36823 35034 2025-12-16T09:36:34Z Εὐθυμένης 2777 36823 wikitext text/x-wiki [[File:Набережная гавани г. Пафоса (09.2013).JPG|thumb|Ἡ Πάφος]] Ἡ '''Πάφος''' ἔν κυπριακόν πολιτείαν ντ'εὐρίεται 'ς σὴν επαρχίαν Πάφου καὶ οσήμερον ἔχ' πληθυσμόν 35.961 τ'ἀνθρώπ'ς. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{el}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Κύπρος]] [[Κατηγορίαν:Πολιτείας]] t973syt7tuv59vfqus0lhhyhvdrh8z3 Κερύνειαν 0 2982 36777 35035 2025-12-16T09:04:25Z Εὐθυμένης 2777 36777 wikitext text/x-wiki [[File:Kyrenia Harbour 2.JPG|thumb|Ἡ Κερύνειαν]] Ἡ '''Κερύνειαν''' ἔν κυπριακόν πολιτείαν ντ'εὐρίεται 'ς σὴν επαρχίαν Κερύνειας καὶ οσήμερον ἔχ' πληθυσμόν 20.851 τ'ἀνθρώπ'ς. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{el}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Κύπρος]] [[Κατηγορίαν:Πολιτείας]] fe28gajp3jrgdvl4767dkmfzic4a6l0 Παραλίμνι 0 2983 36825 35038 2025-12-16T09:37:43Z Εὐθυμένης 2777 36825 wikitext text/x-wiki [[File:Protaras tropical famous beach at Paralimni holiday destination in Republic of Cyprus.jpg|thumb|Το Παραλίμνι]] Το '''Παραλίμνι''' ἔν κυπριακόν πολιτείαν ντ'εὐρίεται 'ς σὴν επαρχίαν Αμμοχώστου καὶ οσήμερον ἔχ' πληθυσμόν 40.000 τ'ἀνθρώπ'ς. == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} * {{el}} {{επίσημος ιστότοπος}} {{authority control}} [[Κατηγορίαν:Κύπρος]] [[Κατηγορίαν:Πολιτείας]] 4awvg5z5s45x7mid3sr8wkfh8acfaa5 Λάρα Φαμπιάν 0 2987 35571 35529 2024-01-24T15:10:37Z Διογένες 10538 Λάρα Φαμπιάν το 2012 35571 wikitext text/x-wiki [[Αρχείον:Lara Fabian 2012.jpg|μικρογραφία|Λάρα Φαμπιάν το 2012]] Η '''Λάρα Φαμπιάν''' (Lara Fabian, εγγενέθεν 9 Καλαντάρ 1970) εν τραγουδίστρια. [[Κατηγορίαν:Μουσική]] d6e4zc0cwcwn8i9h8wofnp8ek6ys69l Αργεντίνα 0 2993 36270 35910 2025-06-13T06:19:27Z CommonsDelinker 121 Replacing Argentina_(orthographic_projection).svg with [[File:Argentina_(including_claimed_territories,_orthographic_projection).svg]] (by [[:c:User:CommonsDelinker|CommonsDelinker]] because: [[:c:COM:FR|File renamed]]: [[:c:Commons:Deletion requests/File 36270 wikitext text/x-wiki {| border=1 align=right cellpadding=4 cellspacing=0 width=300 style="margin: 0 0 1em 1em; background: #f9f9f9; border: 1px #aaaaaa solid; border-collapse: collapse; font-size: 95%;" |+<big><big>'''Αργεντίνα'''</big></big><br/>''Argentina'' |- | style="background:#efefef;" align="center" colspan=2 | {| border="0" cellpadding="2" cellspacing="0" |- | align="center" width="140px" | [[Αρχείον:Flag of Argentina.svg|125px]] | align="center" width="140px" | [[Αρχείον:Coat of arms of Argentina.svg|125px]] |- | align="center" width="140px" | | align="center" width="140px" | |} |- | align="center" colspan=2 | |- | align=center colspan=2 | [[Αρχείον:Argentina (including claimed territories, orthographic projection).svg|300px]] |} Η '''Αργεντίναν''' είναι μια χώρα της [[Νότια Αμερικα|Νότιας Αμερικής]]. Η χώρα εχ' πληθυσμόν 45,605,826 (2021) ανθρώπ'ς. == Συνδέζμαι == * '''[[Αρχείον:Commons-logo.svg|15px]] [[:commons:Αργεντίνα|Η Αργεντίνα σα Commons]]''' [[Κατηγορίαν:Κράτη]] [[Κατηγορίαν:Αργεντίνα| ]] [[Κατηγορίαν:Λατινικήν Αμέρικα]] dy62aqj77289io1rru4r7zv0qmjeaua Γη 0 3001 35383 35237 2023-04-08T08:36:09Z Kwamikagami 8969 35383 wikitext text/x-wiki [[File:The Blue Marble (remastered).jpg|thumb|Η Γη (και η [[Αφρικήν]])]] Η '''Γη'''. Τ' αστρονομικόν το σύμβολονατ' εν: [[file:Earth symbol (fixed width).svg|16px|🜨]]. [[File:NASA-Apollo8-Dec24-Earthrise.jpg|frameless]] [[Κατηγορίαν:Αστρονομία]] 5nilkd6vkaeti53ftl48eyz8vstwj3o 19 Καλομηνά 0 3003 37148 35360 2025-12-16T18:36:37Z Εὐθυμένης 2777 37148 wikitext text/x-wiki <div class="center">[[Μαρτς]] | [[Απρίλτς]] | '''[[Καλομηνάς]]''' | [[Κερασινός]] | [[Χορτοθέρτς]]</div> <div class="center">[[18 Καλομηνά]] | [[19 Καλομηνά]] | [[20 Καλομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|5}} Η '''19 τη Καλομηνά''' εν τ' 139ον ημέρα τη χρονίας (140ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 226 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == [[Αρχείον:Genoktonia12.png|μικρογραφία]] Ημέρα μνήμης για τ' εμάς τους ποντίους καί γιά ολόες τους Έλληνες. Οσήμερον 19 καλομηνά τιμάται αμόν Ημέρα Μνήμης τής Γενοκτονίας τών Ελλήνων απ' τη Ρωμανίαν. Εδιάλεξον ατή τήν ημέραν' για το ποίον ετότες ο Μουσταφά Κεμάλ έφτασε άσην' Σαμψούντα γιά να σκαλών' τη δέυτερην και άγρεν φάση τής Ποντιακής Γενοκτονίας. Απάν 'ση προσφυγίαν ασήν Τουρκίαν 'σήν Ελλάδαν πολλοί Πόντιοι (περίπου 350.000) έβραν' τόν θάνατον και τελικά ασατούνς που εξεκίνεσαν κι πρόλαβαν να φτάνε ασήν Ελλάδαν. Η γενοκτονία των Ποντίων κί έν' αναγνωρισμέντσα διεθνώς αλλά μαναχά άσην' Ελληνικήν Πολιτείαν μέ Νόμο τού 1994. Σα 1918 τη χρονίαν, οι Έλλενες ορθόδοξοι τη Πόντονος εγράσεψαν ν' εφτάγνε ανεξάρτητον κράτος . Άμα η Ελλάδαν έχασεν τ' ελλενοτουρκικόν πόλεμον (1919-1922) και με τη συνθήκη τη Λωζάνης (1922) οι Έλλενες χριστιανοί τη Πόντονος εξεριζώθαν ασην πατρίδαν ατουν κι εχατεύταν σην Ελλάδαν, κι εκεί έδωκανατουν τ' όνεμα «Πόντιοι». Σον τ' ατεινέτερων τον δρόμον, πολλοί επέθαναν και πολλοί εσκοτώθαν. Για τ' ατό οσήμερον λέγομε για τη «Γενοκτονία τη Ποντίων» == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[19 Απρίλτ]] - [[19 Κερασινού]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0139]] bt7rtqwrtuxvagtnayxpnry09t4lrj7 Wikipedia 0 3006 35192 2022-07-19T22:46:46Z Eurohunter 2009 Ανακατεύθυνση στη σελίδα [[Βικιπαίδεια]] 35192 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Βικιπαίδεια]] ojjt4ccb66a1fmlei6r8fs0wfk9bnxi Basshunter 0 3007 37377 36186 2025-12-20T12:04:20Z Εὐθυμένης 2777 /* Αναφοράντας */ 37377 wikitext text/x-wiki [[Αρχείον:Basshunter, 20 april 2008 in Halmstad.jpg|thumb|right|240px|Basshunter (2008)]] '''Basshunter''', '''Jonas Erik Altberg''' (* [[22 Χριστουγενναρί]]) έτον [[τραγουδίστρια]], [[τραγουδοποιός]]. == Βιογραφικόν == Ο Basshunter εγεννέθεν κι εθράφεν σο [[Halmstad]], κοντά σην [[Tylösand]].<ref>{{cite web | url = http://www.basshunter.se/bio | title = Bio | access-date = 2022 | website = basshunter.se | archive-url = https://web.archive.org/web/20100528035145/http://www.basshunter.se/bio | archive-date = 28 May 2010 | url-status = dead}}</ref> == Δισκογραφίαν == === Αλμπούμε === * ''[[The Bassmachine]]'' (2004) * ''[[LOL (^^,)|LOL <(^^,)>]]'' (2006) * ''[[Now You're Gone – The Album]]'' (2008) * ''[[Bass Generation]]'' (2009) * ''[[Calling Time]]'' (2013) == Αναφοράντας == <references /> == Συνδέσμε == {{Commonscat}} * [https://basshunter.se basshunter.se] [[Κατηγορίαν:Μουσική]] [[Κατηγορίαν:Σουηδία]] p1un0qf6empl9tnqeklitoj5ab2kvcn Jonas Erik Altberg 0 3008 35195 2022-07-19T22:51:04Z Eurohunter 2009 Ανακατεύθυνση στη σελίδα [[Basshunter]] 35195 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Basshunter]] 85nh5c7zsnvdckx78f0qrsw04qcjz8r Jonas Altberg 0 3009 35196 2022-07-19T22:51:31Z Eurohunter 2009 Ανακατεύθυνση στη σελίδα [[Basshunter]] 35196 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Basshunter]] 85nh5c7zsnvdckx78f0qrsw04qcjz8r 14 Αεργί 0 3012 37280 35865 2025-12-16T19:13:12Z Εὐθυμένης 2777 37280 wikitext text/x-wiki <div class="center">[[Σταυρίτες]] | [[Τρυγομηνάς]] | '''[[Αεργίτες]]''' | [[Χριστουγεννάρτς]] | [[Καλαντάρτς]]</div> <div class="center">[[13 Αεργί]] | [[14 Αεργί]] | [[15 Αεργί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|11}} Η '''14 Αεργί''' εν το 318ον ημέρα τη χρονίας (319ον ημέρα σε δίσεκτον χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 47 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[14 Τρυγομηνά]] - [[14 Χριστουγενναρί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|1114]] rchmjpzfjy18du048w5xinubcwcjasz MediaWiki:GrowthMentors.json 8 3022 35254 2022-10-26T13:16:21Z MediaWiki default 5794 Migrate wikitext mentor list to a structured form ([[:phab:T264343]]) 35254 json application/json { "Mentors": [] } dn46w1g5znu799elq35nkxlad6w2krp 15 Αεργί 0 3027 37281 35871 2025-12-16T19:13:29Z Εὐθυμένης 2777 37281 wikitext text/x-wiki <div class="center">[[Σταυρίτες]] | [[Τρυγομηνάς]] | '''[[Αεργίτες]]''' | [[Χριστουγεννάρτς]] | [[Καλαντάρτς]]</div> <div class="center">[[14 Αεργί]] | [[15 Αεργί]] | [[16 Αεργί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|11}} Η '''15 Αεργί''' εν το 319ον ημέρα τη χρονίας (320ον ημέρα σε δίσεκτον χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 46 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[15 Τρυγομηνά]] - [[15 Χριστουγενναρί]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|1115]] bgckv1xemzviuivglp6qsyktm30r9rz 16 Αεργί 0 3033 37282 35876 2025-12-16T19:13:45Z Εὐθυμένης 2777 37282 wikitext text/x-wiki <div class="center">[[Σταυρίτες]] | [[Τρυγομηνάς]] | '''[[Αεργίτες]]''' | [[Χριστουγεννάρτς]] | [[Καλαντάρτς]]</div> <div class="center">[[15 Αεργί]] | [[16 Αεργί]] | [[17 Αεργί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|11}} Η '''16 Αεργί''' εν το 320ον ημέρα τη χρονίας (321ον ημέρα σε δίσεκτον χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 45 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[16 Τρυγομηνά]] - [[16 Χριστουγενναρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|1116]] swcvjg6urgigyt1t3tqzqkov0d6ncfc Πρότυπον:Documentation 10 3040 36346 35373 2025-12-15T14:14:02Z Εὐθυμένης 2777 Αντικατάσταση σελίδας με «{{#invoke:documentation|main|_content={{ {{#invoke:documentation|contentTitle}}}}}}<noinclude> <!-- Add categories to the /doc subpage --> </noinclude>» 36346 wikitext text/x-wiki {{#invoke:documentation|main|_content={{ {{#invoke:documentation|contentTitle}}}}}}<noinclude> <!-- Add categories to the /doc subpage --> </noinclude> ii1kftoonz87mztj4siz1yhyqeg6agm Πρότυπον:Template other 10 3041 35374 2023-04-02T01:52:22Z 2601:18E:C081:2FF0:9111:3D9E:4E5C:D202 Καινούρεον σελίδαν με '{{#switch: <!--If no or empty "demospace" parameter then detect namespace--> {{#if:{{{demospace|}}} | {{lc: {{{demospace}}} }} <!--Use lower case "demospace"--> | {{#ifeq:{{NAMESPACE}}|{{ns:Template}} | template | other }} }} | template = {{{1|}}} | other | #default = {{{2|}}} }}<!--End switch--><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude>' 35374 wikitext text/x-wiki {{#switch: <!--If no or empty "demospace" parameter then detect namespace--> {{#if:{{{demospace|}}} | {{lc: {{{demospace}}} }} <!--Use lower case "demospace"--> | {{#ifeq:{{NAMESPACE}}|{{ns:Template}} | template | other }} }} | template = {{{1|}}} | other | #default = {{{2|}}} }}<!--End switch--><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> 0tcssjmltwl7y5v3f5wj2kqciaabqly Πρότυπον:Τεκμηρίωση προτύπου/start box2 10 3042 35375 2023-04-02T01:54:11Z 2601:18E:C081:2FF0:9111:3D9E:4E5C:D202 Καινούρεον σελίδαν με '{{Τεκμηρίωση προτύπου/start box | preload = {{{preload|}}} <!--Allow custom preloads--> | heading = {{{heading|¬}}} <!--Empty but defined means no header--> | heading-style = {{{heading-style|}}} | content = {{{content|}}} | docpage = {{#if: {{{1|}}} | {{{1|}}} | {{{docspace|{{NAMESPACE}}}}}:{{{template page|{{PAGENAME}}}}}/τεκμηρίωση }} | doc exist = {{#ifexist: {{#if: {{{1|}}} | {{{1|}}} <...' 35375 wikitext text/x-wiki {{Τεκμηρίωση προτύπου/start box | preload = {{{preload|}}} <!--Allow custom preloads--> | heading = {{{heading|¬}}} <!--Empty but defined means no header--> | heading-style = {{{heading-style|}}} | content = {{{content|}}} | docpage = {{#if: {{{1|}}} | {{{1|}}} | {{{docspace|{{NAMESPACE}}}}}:{{{template page|{{PAGENAME}}}}}/τεκμηρίωση }} | doc exist = {{#ifexist: {{#if: {{{1|}}} | {{{1|}}} <!--Other docname fed--> | {{{docspace|{{NAMESPACE}}}}}:{{{template page|{{PAGENAME}}}}}/τεκμηρίωση }} | yes }} }}<noinclude> </noinclude> 7v9nf4rxsqm8pmoky017gm1pp8dyvzb Πρότυπον:Τεκμηρίωση προτύπου/start box 10 3043 35499 35376 2023-12-29T05:38:59Z Minorax 7522 vva 35499 wikitext text/x-wiki <!-- Start of green doc box --><div style="clear:both; background-color:#ecfcf4; border:1px solid #aaa; padding:1em;"><!-- Add the heading at the top of the doc box: -->{{#ifeq: {{{heading|¬}}} | <!--Defined but empty--> | <!--"heading=", do nothing--> | <div style="padding-bottom: 3px; border-bottom: 1px solid #aaa; margin-bottom: 1ex;"><span style="{{#if: {{{heading-style|}}} | {{{heading-style|}}} | {{#ifeq: {{SUBJECTSPACE}} | {{ns:Template}} | font-weight: bold; font-size: 125% | font-size: 150% }} }}">{{#switch: {{{heading|¬}}} | ¬ = <!--"heading" not defined in this or previous level--> {{#switch: {{SUBJECTSPACE}} | {{ns:Template}} = [[Αρχείο:Test Template Info-Icon.svg|50px|alt=Documentation icon|link=]] Τεκμηρίωση προτύπου | {{ns:File}} = Σύνοψη | #default = Τεκμηρίωση }} | #default = <!--"heading" has data or is empty but defined--> {{{heading|}}} }}</span>{{ #if: {{{content|}}} | | <!--Τοποθέτηση συνδέσμων [προβολή][επεξεργασία][ιστορικό][εκκαθάριση] ή [δημιουργία]--> <span class="mw-editsection plainlinks" id="doc_editlinks">{{ #if: {{{doc exist|yes}}} | &#91;[[{{{docpage|{{FULLPAGENAME}}/τεκμηρίωση}}}|προβολή]]&#93; [[{{fullurl:{{{docpage|{{FULLPAGENAME}}/τεκμηρίωση}}}|action=edit}} επεξεργασία]] [[{{fullurl:{{{docpage|{{FULLPAGENAME}}/τεκμηρίωση}}}|action=history}} ιστορικό]] [{{purge|εκκαθάριση}}] | <!--/doc doesn't exist--> [[{{fullurl:{{{docpage|{{FULLPAGENAME}}/τεκμηρίωση}}}| action=edit&preload={{ #if: {{{preload|}}} | {{urlencode:{{{preload}}}}} | {{#ifeq: {{SUBJECTSPACE}} | {{ns:File}} | Πρότυπο:Τεκμηρίωση_προτύπου/preload-filespace | Πρότυπο:Τεκμηρίωση_προτύπου/preload }} }} }} δημιουργία]] }}</span> }}</div> }}<noinclude></div> </noinclude> 4upsvh5zjtn3e3q33anczi21qwcuq0b Πρότυπον:Τεκμηρίωση προτύπου/end box2 10 3044 35377 2023-04-02T01:59:01Z 2601:18E:C081:2FF0:9111:3D9E:4E5C:D202 Καινούρεον σελίδαν με '{{Τεκμηρίωση προτύπου/end box | preload = {{{preload|}}} <!--Allow custom preloads--> | content = {{{content|}}} | link box = {{{link box|}}} <!--So "link box=off" works--> | docpage = {{#if: {{{1|}}} | {{{1|}}} | {{{docspace|{{NAMESPACE}}}}}:{{{template page|{{PAGENAME}}}}}/τεκμηρίωση }} | doc exist = {{#ifexist: {{#if: {{{1|}}} | {{{1|}}} <!--Other docname fed--> | {{{docspace|{{NAMESPAC...' 35377 wikitext text/x-wiki {{Τεκμηρίωση προτύπου/end box | preload = {{{preload|}}} <!--Allow custom preloads--> | content = {{{content|}}} | link box = {{{link box|}}} <!--So "link box=off" works--> | docpage = {{#if: {{{1|}}} | {{{1|}}} | {{{docspace|{{NAMESPACE}}}}}:{{{template page|{{PAGENAME}}}}}/τεκμηρίωση }} | doc exist = {{#ifexist: {{#if: {{{1|}}} | {{{1|}}} <!--Other docname fed--> | {{{docspace|{{NAMESPACE}}}}}:{{{template page|{{PAGENAME}}}}}/τεκμηρίωση }} | yes }} | docname fed = {{#if: {{{1|}}} | yes }} | sandbox = {{{docspace|{{NAMESPACE}}}}}:{{{template page|{{PAGENAME}}}}}/αμμοδοχείο | testcases = {{{docspace|{{NAMESPACE}}}}}:{{{template page|{{PAGENAME}}}}}/testcases | template page = {{NAMESPACE}}:{{{template page|{{PAGENAME}}}}} }}<noinclude> </noinclude> 3ilobqzztqygnj39bex5b70yxc2pwkx Πρότυπον:Τεκμηρίωση προτύπου/end box 10 3045 35378 2023-04-02T01:59:32Z 2601:18E:C081:2FF0:9111:3D9E:4E5C:D202 Καινούρεον σελίδαν με '<noinclude><div></noinclude><div style="clear: both;"></div><!--So right or left floating items don't stick out of the doc box.--> </div><!--End of green doc box--><!-- Link box below for the doc meta-data: -->{{#if: <!--Check if we should show the link box--> {{#ifeq: {{{link box|}}} | off | | {{{doc exist|yes}}}{{ #switch: {{SUBJECTSPACE}} | {{ns:User}} | {{ns:Template}} = yes }} }} | {{fmbox | id = documentation-m...' 35378 wikitext text/x-wiki <noinclude><div></noinclude><div style="clear: both;"></div><!--So right or left floating items don't stick out of the doc box.--> </div><!--End of green doc box--><!-- Link box below for the doc meta-data: -->{{#if: <!--Check if we should show the link box--> {{#ifeq: {{{link box|}}} | off | | {{{doc exist|yes}}}{{ #switch: {{SUBJECTSPACE}} | {{ns:User}} | {{ns:Template}} = yes }} }} | {{fmbox | id = documentation-meta-data | image = none | style = background-color: #ecfcf4; | textstyle = font-style: italic; | text = {{#if: {{{link box|}}} | {{{link box}}} <!--Use custom link box content--> | {{#if: {{{doc exist|yes}}} | <!--/doc exists, link to it--> Η παραπάνω τεκμηρίωση ενσωματώνεται από τη σελίδα [[{{{docpage|{{FULLPAGENAME}}/τεκμηρίωση}}}]]. <small style="font-style: normal">([{{fullurl:{{{docpage|{{FULLPAGENAME}}/τεκμηρίωση}}}|action=edit}} επεξεργασία] &#124; [{{fullurl:{{{docpage|{{FULLPAGENAME}}/τεκμηρίωση}}}|action=history}} ιστορικό])</small> <br> }}<!-- Add links to /sandbox and /testcases when appropriate: -->{{#switch: {{SUBJECTSPACE}} | {{ns:User}} | {{ns:Template}} = Οι συντάκτες μπορούν να πειραματίζονται στο {{ #ifexist: {{{sandbox| {{FULLPAGENAME}}/αμμοδοχείο }}} | [[{{{sandbox| {{FULLPAGENAME}}/αμμοδοχείο }}}|αμμοδοχείο]] <small style="font-style: normal">([{{fullurl: {{{sandbox| {{FULLPAGENAME}}/αμμοδοχείο }}} | action=edit }} επεξεργασία] <nowiki>|</nowiki> [{{fullurl:Special:ComparePages | page1={{urlencode:{{{template page|{{FULLPAGENAME}}}}}}}&page2={{urlencode:{{{sandbox|{{FULLPAGENAME}}/sandbox}}}}}}} διαφ])</small> | αμμοδοχείο <small style="font-style: normal">([{{fullurl: {{{sandbox| {{FULLPAGENAME}}/αμμοδοχείο }}} | action=edit&preload=Πρότυπο:Τεκμηρίωση_προτύπου/preload-sandbox }} δημιουργία] <nowiki>|</nowiki> [{{fullurl: {{{sandbox| {{FULLPAGENAME}}/αμμοδοχείο }}} | action=edit&preload={{urlencode:{{{template page|{{FULLPAGENAME}}}}}}}&summary={{urlencode:Δημιουργία έκδοσης αμμοδοχείου για το [[{{{template page|{{FULLPAGENAME}}}}}]]}} }} αντίγραφο])</small> }} και στις {{ #ifexist: {{{testcases| {{FULLPAGENAME}}/δοκιμές }}} | [[{{{testcases| {{FULLPAGENAME}}/δοκιμές }}}|testcases]] <small style="font-style: normal">([{{fullurl: {{{testcases| {{FULLPAGENAME}}/testcases }}} | action=edit }} επεξεργασία])</small> | δοκιμαστικές σελίδες <small style="font-style: normal">([{{fullurl: {{{testcases| {{FULLPAGENAME}}/δοκιμές }}} | action=edit&preload=Πρότυπο:Τεκμηρίωση_προτύπου/preload-testcases }} δημιουργία])</small> }} του προτύπου. <br> }}<!-- Show the cats and interwiki text, but not if "content" fed or "docname fed" since then it is unclear where to add the cats and interwikis. -->{{#if: {{{content|}}} {{{docname fed|}}} | | Παρακαλούμε να προσθέτετε τις κατηγορίες στην [[{{{docpage|{{FULLPAGENAME}}/τεκμηρίωση}}}| υποσελίδα τεκμηρίωσης]]. }}<!-- Show the "Subpages" link: -->{{#switch: {{SUBJECTSPACE}} | {{ns:File}} = <!--Don't show it--> | {{ns:Template}} = &#32;[[Special:PrefixIndex/{{{template page|{{FULLPAGENAME}}}}}/|Υποσελίδες αυτής της σελίδας]]. | #default = &#32;[[Special:PrefixIndex/{{{template page|{{FULLPAGENAME}}}}}/|Subpages of this page]]. }} }}{{#ifexist:{{FULLPAGENAME}}/Print |</br>A [[Help:Books/for experts#Improving the book layout|print version]] of this template exists at [[/Print]]. If you make a change to this template, please update the print version as well.[[Κατηγορία:Templates with print versions]] }} }} }}<!--End link box--><!-- Detect and report strange usage: -->{{#if: <!--Check if {{Τεκμηρίωση προτύπου/}} is transcluded on a /doc or /testcases page--> {{#switch: {{SUBPAGENAME}} | doc | testcases = strange }} <!--More checks can be added here, just return anything to make the surrounding if-case trigger--> | }}<noinclude> {{τεκμηρίωση προτύπου}} </noinclude> trpb4he5t2w45twjyw6bkwxqf0gpyfp Αλέξανδρος Παρχαρίδης 0 3053 37403 37402 2025-12-28T19:16:08Z Таёжный лес 10003 37403 wikitext text/x-wiki [[File:Alexis Parharidis.jpg|thumb]] Ο '''Αλέξανδρος''' (Αλεξίκον) ο '''Παρχαρίδης''' (15 Μάρτ' 1971) έν’ [[Ελλάδα|Έλληνας]] τραγωδι͜άνος, ντο γράφτ’ δίστιχα και καϊτέδες σα [[Πόντιοι|ποντιακά]]. Εγεννέθεν σην Κοζάνη το 1971. Τα κυρουκά τ’, ο Αναστά͜ης και η Σοφία Παρχαρίδου (το γένος Αντωνιάδη) οι δύος πα έσαν Πόντιοι. Ο κύρ’ σ’ ατ’ εγεννέθεν σο Πορτοράζ’ (Πρωτοχώρι Κοζάνης) και η μάναν ατ’ εγεννέθεν σο Σεραλάρ (Αλωνάκια Κοζάνης). Ατείν' έσαν που σιφτέν εμάτσαν τον γιον ατουν να ακούει και να τραγωδεί ποντιακά καϊτέδες. Το 1989 εσέβεν ση Σχολή Αυτοματισμών σο ΤΕΙ τη Θεσσαλονίκης άμα, καμίαν ’κ’ επρόφτασεν να τελέν’ τη Σχολήν γιατί επ’ ετότε κιάν’ ερχίνεσεν να τραγωδεί σα χορόντας και σα πανοΰρι͜α, ασού εδι͜αρμένεψεν ατον ο Χρύσανθον κι επεκεί. Ους ατώρα εποίκεν οκτώ δίσκους με ποντιακά τραωδίας. {| class="wikitable" !Έτος !Τίτλος !Συνεργασία !Εκδόσεις |- |1991 |Καπίκιοϊ |Κώστας Σιαμίδης |Σύλλογος Ποντίων Φοιτητών & Σπουδαστών Θεσσαλονίκης |- |1999 |Καρδίας Καμονάντας |Μιχάλης Καλιοντζίδης |Θερμαϊκός |- |2001 |Ιάσων |Omer Beykoz/Φίλιππος Κεσαπίδης |ΜΒΙ |- |2003 |Αντίφωνα |Μιχάλης Καλιοντζίδης/Δημήτρης Πιπερίδης/Δημήτρης Καρασαββίδης/Παναγιώτης Κογκαλίδης/Κώστας Τσιαβδαρίδης |Θερμαϊκός |- |2004 |Ηλιοχάραμαν |Παναγιώτης Κογκαλίδης |Θερμαϊκός |- |2005 |Πόντος, η δική μου γη |Αντώνης Παπαδόπουλος |Θερμαϊκός |- |2016 |Αγγείου Μνήμες |Γιώργος Σιαμίδης |Σύλλογος Ποντίων Φοιτητών & Σπουδαστών Θεσσαλονίκης |- |2019 |Ύψωμαν |Γιάννης Σανίδης |Alexis Parharidis |} [[Κατηγορίαν:Ποιητάδες]] [[Κατηγορίαν:Μουσική]] jpwedzhg5419eh1ffufh4dc19d3iwkb Σιμπσωνς 0 3059 35435 2023-07-01T10:09:05Z 88.155.10.196 Καινούρεον σελίδαν με 'Το '''The Simpsons''' είναι αμερικανική σειρά κινουμένων σχεδίων που δημιουργήθηκε από τον Ματ Γκρέινιγκ για το τηλεοπτικό κανάλι Fox. Οι Simpsons προβλήθηκαν για πρώτη φορά στις 17 Δεκεμβρίου του 1989 και συνεχίζουν να προβάλλονται έως σήμερα σε διάφορα τηλεοπτ...' 35435 wikitext text/x-wiki Το '''The Simpsons''' είναι αμερικανική σειρά κινουμένων σχεδίων που δημιουργήθηκε από τον Ματ Γκρέινιγκ για το τηλεοπτικό κανάλι Fox. Οι Simpsons προβλήθηκαν για πρώτη φορά στις 17 Δεκεμβρίου του 1989 και συνεχίζουν να προβάλλονται έως σήμερα σε διάφορα τηλεοπτικά δίκτυα παγκοσμίως.Ok CmC Είναι από τις μακροβιότερες σειρές κινουμένων σχεδίων στην ιστορία της τηλεόρασης, ενώ αναδείχτηκαν ως η μακροβιότερη τηλεοπτική σειρά σε ώρα υψηλής τηλεθέασης της αμερικανικής τηλεόρασης.[1] Έχουν μεταδοθεί πάνω από 660 επεισόδια, ενώ ο 30ος κύκλος μεταδίδεται την τηλεοπτική περίοδο 2018-19. Τον Ιούλιο του 2007 προβλήθηκε η κινηματογραφική ταινία [[The Simpsons: Η Ταινία]], η οποία έκανε εισπράξεις 527 εκατομμυρίων δολαρίων παγκοσμίως. Το 2011 ανακοινώθηκε ότι η σειρά θα έχει άλλες 2 σεζόν (24+25). Η 26η σεζόν έκανε πρεμιέρα στις 28 Σεπτεμβρίου του 2014 και ολοκληρώθηκε στις 17 Μαΐου του 2015. Στις 4 Μαΐου του 2015, η σειρά ανανεώθηκε για 27η και 28η σεζόν,[2] οι οποίες έκαναν πρεμιέρα στις 27 Σεπτεμβρίου του 2015 και 25 Σεπτεμβρίου του 2016, αντίστοιχα hq8trs9w04luaq4js6c66y27qbfvqiv MediaWiki:NewcomerTasks.json 8 3060 35459 35458 2023-08-14T16:59:32Z MediaWiki default 5794 machine-generated configuration for excluding sections from link recommendations ([[phab:T308138]]), feel free to improve 35459 json application/json { "image-recommendation": { "disabled": false, "templates": [], "excludedTemplates": [], "excludedCategories": [], "type": "image-recommendation", "group": "medium", "learnmore": "", "maxTasksPerDay": 25 }, "link-recommendation": { "type": "link-recommendation", "group": "easy", "excludedSections": [ "αναφοράν", "αναφοράντας", "δείτε επίσης", "εξωτερικοί σύνδεσμοι", "σύνδεσμοι" ] }, "section-image-recommendation": { "type": "section-image-recommendation", "group": "medium", "maxTasksPerDay": 25 } } qask56u6vjkrmiv20e0j2nha4pnppln Μαρία Κάλλας 0 3063 35568 35528 2024-01-24T15:08:26Z Διογένες 10538 Κάλλας το 1958 35568 wikitext text/x-wiki [[Αρχείον:Maria Callas 1958.jpg|μικρογραφία|Κάλλας το 1958]] Η '''Μαρία Κάλλας''' (Maria Callas· 2 Χριστουγενναρί 1923 - 16 Σταυρί 1977) έτον τραγουδίστρια. [[Κατηγορίαν:Μουσική]] sqge5ywdsh6jbm9h6drkddbyxqwwk15 Αννα Νετρέμπκο 0 3066 35476 2023-10-07T18:56:20Z AntonyFragakis 6008 Ο AntonyFragakis μετακίνησε τη σελίδα [[Αννα Νετρέμπκο]] στην [[Άννα Νετρέμπκο]] 35476 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Άννα Νετρέμπκο]] mtx2ognrpx3z7ie6snpvhmz65wx3wpi Χρύσανθος 0 3068 35480 2023-10-15T09:05:57Z Aarp65 4133 Ανακατεύθυνση στη σελίδα [[Χρύσανθος Θεοδωρίδης]] 35480 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Χρύσανθος Θεοδωρίδης]] 2qo02omz315orx57ilg9amyflxvqlvz Θεοδωρίδης 0 3069 35481 2023-10-15T09:06:39Z Aarp65 4133 Ανακατεύθυνση στη σελίδα [[Χρύσανθος Θεοδωρίδης]] 35481 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Χρύσανθος Θεοδωρίδης]] 2qo02omz315orx57ilg9amyflxvqlvz Τίρανα 0 3076 37409 35614 2025-12-30T22:14:49Z Таёжный лес 10003 37409 wikitext text/x-wiki [[Εικόναν:Skanderbeg square tirana 2016.jpg|thumb|250px|]] [[Εικόναν:Albania District.svg|thumb|150px|]] Η '''Τίρανα''' (αγγ.Tirana) εν αλβανικόν πολιτείαν και εχ' τρανόν [[ιστορίαν]]. Εν η ασ' ουλτς τρανόν πολιτείαν και η [[πρωτεύουσα]] τη χώρας. Οσήμερον (2011) εχ' πληθυσμόν 557,422 ανθρώπ. == Συνδέζμαι == * [https://www.tirana.al Επίσημον σελίδαν τη Τίρανα] * [https://www.visit-tirana.com/things-to-do/museums-in-tirana/ Μουσεία τη Τίρανα] * {{commonscat-inline}} {{authority control}} [[Κατηγορίαν:Πολιτείας τ' Αλβανία|Τίρανα]] lr0nhz54osb71pf3kjhh9l0esmtmfgv Δυρράχιο 0 3077 35615 2024-02-27T01:12:43Z Muhaarnaout 10636 προστέθηκε περιεχόμενο 35615 wikitext text/x-wiki [[Εικόναν:Drač, panorama náměstí.jpg|thumb|250px|]] [[Εικόναν:Durres in Albania.svg|thumb|150px|]] Η '''Δυρράχιο''' (αγγ.Durrës) εν αλβανικόν πολιτείαν και εχ' τρανόν [[ιστορίαν]]. Οσήμερον (2011) εχ' πληθυσμόν 175,110 ανθρώπ. == Συνδέζμαι == * [https://www.durrës.gov.al Επίσημον σελίδαν τη Δυρράχιο] [[Κατηγορίαν:Πολιτείας τ' Αλβανία|Δυρράχιο]] m1f35aslt4365u4tlk311wyzkf8lsqs Σημαία τη Γερμανίας 0 3078 35620 35619 2024-03-03T17:27:51Z 2003:E7:471C:E500:51A3:70A9:A52E:4AE8 35620 wikitext text/x-wiki [[Αρχείον:Flag of Germany.svg|μικρογραφία]] Η εθνικόν σημαία τη Γερμανίας εναι τρίχρωμον σύνθετον απʼ τρία ίσα οριζόντια ζωνάρια πον παρουσιάζνε τα εθνικά χρώματα τη Γερμανίας: μαυρον, κόκκινον, και χρυσόν (σα Γερμανικά: Schwarz-Rot-Gold) rm7or7aok9fp3p50mjlwhop5n2a5jx5 Σημαία τ' Ελλάδας 0 3079 36325 35622 2025-10-26T16:10:26Z ~2025-30214-92 12055 36325 wikitext text/x-wiki [[Αρχείον:LGBTQ+ Greek Pride Flag.svg|μικρογραφία|Η επίσημος σημαία τη Ελληνικής Δημοκρατίας]] Η εθνικόν σημαία τη Ελλάδας, εν τω λαώ γνωστήν ως η «γαλανολεύκης» ή η «κυανόλευκη», επίσημως αναγνωριστέον απʼ την Ελλάδαν ως εν απʼ τα εθνικά σημεία ταν, έχεν πέντε ίσα οριζόντια γραμμάς απʼ γαλάζιον εναλλασσόμενα με άσπρον. Έχεν γαλάζιον καντόνιον εις την άνω γωνίαν τη πλευράς τη σημαίας, φέροντα λευκόν σταυρόν· ο σταυρός συμβολίζετον το Ανατολικόν Ορθόδοξον Χριστιανισμόν. Το λεξικόν τη σημαίας εναι «κυανόν, τέσσερες γραμμάς λευκές· επί καντονίου του πεδίου σταυρός ελληνικός όλον του δευτέρου». Ο επίσημος λόγος τη σημαίας εναι 2:3. Η απόχρωση του γαλάζιου πον χρησιμοποιείται εις την σημαίαν έχ' εναλλαχθή εις όλον τ' ιστορίαν ταν, απο ανοικτόν γαλάζιον εις σκούρον γαλάζιον, το δεύτερον χρησιμοπούμενον ολοέν και περισσότερον απο τα τέλη τη δεκαετίας του 1960. Επίσημως ετέθη απʼ την Πρώτη Εθνικήν Συνέλευσιν εις τ' Επίδαυρον την 13ην Ιανουαρίου του 1822. Ενώ τα εννέα γραμμάς δεν έχενε επίσημον σημασίαν, η πιο δημοφιλής ερμηνεία λέει ότι παρουσιάζνε τα συλλαβάς τη φράσης «Ελευθερία ή Θάνατος» οι πέντε γαλάζιες γραμμάς για τα συλλαβάς εις την «Ελευθερία», οι τέσσερες λευκές για εκείνα τη «ή Θάνατος». Ο σύνολον των εννέα γραμμών λέγεται επίσης ότι παρουσιάζε τα γράμματα τη λέξεως «ελευθερία». Το άσπρο και το γαλάζιο συμβολίζνε τα χρώματα του ελληνικού ουρανού και τη θάλασσας. 80c3cvkxss007imz4k0ksdlnfbys5d1 Υπεριώδης ακτινοβολία 0 3092 35687 2024-05-02T19:56:52Z 2601:18D:4800:EA0:B804:B790:ACBB:33F4 Καινούρεον σελίδαν με '[[Αρχείο:Spectre visible light el.png|thumb|right|340px|Το φάσμα της ορατής ακτινοβολίας.]] '''Υπεριώδης ακτινοβολία''' (υπέρ το ιώδες χρώμα, πάνω από τη συχνότητα του ιώδους χρώματος) ονομάζεται η περιοχή της ηλεκτρομαγνητική ακτινοβολία|ηλεκτρομαγνητικής ακτινοβολία...' 35687 wikitext text/x-wiki [[Αρχείο:Spectre visible light el.png|thumb|right|340px|Το φάσμα της ορατής ακτινοβολίας.]] '''Υπεριώδης ακτινοβολία''' (υπέρ το ιώδες χρώμα, πάνω από τη συχνότητα του ιώδους χρώματος) ονομάζεται η περιοχή της [[ηλεκτρομαγνητική ακτινοβολία|ηλεκτρομαγνητικής ακτινοβολίας]] της οποίας το [[μήκος κύματος]] στο [[κενό]] κυμαίνεται περίπου μεταξύ 380 και 60 νανομέτρων (nm).<ref name="Σχολικό Βιβλίο Φυσικής">{{cite book|title=Φυσική Θετικής & Τεχνολογικής Κατεύθυνσης Γ΄Τάξης Γενικού Λυκείου|work=Παιδαγωγικό Ινστιτούτο, Υπουργείο Εθνικής παιδείας και Θρησκευμάτων|publisher=Οργανισμός Εκδόσεων Διδακτικών Βιβλίων|edition=Η' |year=2008|pages=62-63|chapter=Κύματα|isbn=960-06-1154-8}}</ref> Υπάρχουν τρία είδη υπεριώδους ακτινοβολίας<ref name="ιστοσελίδα υπεριώδους">{{cite web|url=http://www.certh.gr/32B73BBB.el.aspx|title=Βασικές Γνώσεις Εργασίας με Υπεριώδη Ακτινοβολία|year=2010|publisher=The Center for research & Tecnology Hellas|accessdate=2010-01-13|format=aspx}}</ref>:<!--η ασυμφωνία των μηκών κύματος με παραπάνω οφείλεται στη διαφωνία των πηγών--> * UV-A: Αυτή η ακτινοβολία κυμαίνεται στο κενό μεταξύ 315 και 400 νανόμετρα. Είναι υπεύθυνη για τα βαθιά εγκαύματα και μελανώματα και δεν σταματάει με απλά αντιηλιακά αλλά ούτε με τζάμι. * UV-B: Αυτή η ακτινοβολία κυμαίνεται στο κενό μεταξύ 280 και 315 νανόμετρα. Μεν και αυτή επικίνδυνη, αλλά προσφέρει το μαύρισμα και τη βιταμίνη D, αλλά είναι πιθανό να προκαλέσει και επιφανειακά εγκαύματα που μπορεί να προκαλέσουν βασικοκυτταρικά και πλακωδωκυτταρικά καρκινώματα. * UV-Γ: Αυτή η ακτινοβολία κυμαίνεται στο κενό μεταξύ 40 και 280 νανόμετρα. Είναι το πιο επικίνδυνο είδος της υπεριώδους ακτινοβολίας, καθώς με αυτήν έχουν επιτευχθεί εργαστηριακά [[μετάλλαξη|μεταλλάξεις]]. Κύρια πηγή υπεριώδους ακτινοβολίας είναι ο ήλιος<ref name="Σχολικό Βιβλίο Φυσικής"/>. Φτάνει στη γη μέσω της επανεκπομπής της από τη [[στρατόσφαιρα]]. Είναι επικίνδυνη ακτινοβολία και το [[όζον|στρώμα του όζοντος]] προστατεύει την επιφάνεια της γης από αυτήν. Αυτός είναι ο λόγος που η [[τρύπα του όζοντος]] είναι σοβαρό [[οικολογικό πρόβλημα]]. == Βιολογικές επιπτώσεις της υπεριώδους ακτινοβολίας == Το [[δέρμα]] και τα [[μάτι]]α είναι τα όργανα που υφίσταται τη μεγαλύτερη έκθεση στις υπεριώδεις ακτίνες του ήλιου. Αν και τα μαλλιά και τα νύχια είναι περισσότερο εκτεθειμένα, είναι λιγότερο σημαντικά από ιατρικής άποψης. Η έκθεση στην ηλιακή υπεριώδη ακτινοβολία μπορεί να καταλήξει σε άμεσα και σε χρόνια προβλήματα υγείας του δέρματος, των ματιών και του ανοσοποιητικού συστήματος, καθώς και σε βλάβες στο [[DNA]]. Τα άμεσα αποτελέσματα της έκθεσης στην υπεριώδη ακτινοβολία είναι η πρόκληση [[έγκαυμα|εγκαύματος]] στο δέρμα και [[φωτοκερατίτιδα]]ς στο μάτι. Χρόνια αποτελέσματα είναι ο [[καρκίνος]] και η πρόωρη γήρανση του δέρματος, ενώ στα χρόνια αποτελέσματα του ματιού περιλαμβάνονται ο [[καταρράκτης (ιατρική)|καταρράκτης]], το πτερύγιο και η [[κερατοπάθεια]]. Ενώ η υπεριώδης ακτινοβολία Β (UV-B) προκαλεί έγκαυμα και διάφορες μορφές καρκίνου του δέρματος, η υπεριώδης ακτινοβολία Α (UV-A) επιδρά στον υποδόριο ιστό και μπορεί να αλλάξει η δομή του [[κολλαγόνο]]υ και των ινών [[ελαστίνη]]ς του δέρματος, επιταχύνοντας έτσι τη γήρανσή του. Οι αρνητικές συνέπειες των εγκαυμάτων είναι αθροιστικές. Είναι σημαντικό να κατανοήσουμε ότι το δέρμα έχει την ικανότητα να αφομοιώσει την υπεριώδη ακτινοβολία με την παραγωγή [[μελανίνη]]ς (μαύρισμα), η οποία προστατεύει από την έκθεση στην UV ακτινοβολία. Το ανθρώπινο μάτι όμως δεν έχει τέτοια ικανότητα. Όταν η υπεριώδης ακτινοβολία αλληλεπιδράσει με το DNA προκαλεί μια αναδιάταξή του όπου υπάρχουν δύο συνεχόμενες βάσεις [[θυμίνη]]ς δημιουργώντας τα [[διμερή θυμίνης]]. Το σχήμα του DNA αλλάζει τοπικά στο σημείο όπου σχηματίζονται τα διμερή, με αποτέλεσμα οι πολυμεράσες τόσο του DNA όσο και του RNA να τα προσπερνούν, αλλάζοντας με αυτό το τρόπο το πλαίσιο ανάγνωσης, με αποτέλεσμα την εμφάνιση μεταλλάξεων. Οι οργανισμοί έχουν αναπτύξει αρκετούς διαφορετικούς μηχανισμούς για να επιδιορθώσουν τα διμερή θυμίνης, όπως το [[ένζυμο]] [[φωτολυάση]] που ενεργοποιείται με [[μπλε|μπλε ακτινοβολία]] και διαχωρίζει τα διμερή. Άλλοι μηχανισμοί αποκόπτουν το σημείο που σχηματίστηκαν τα διμερή και η DNA πολυμεράση συμπληρώνει τις ελλιπείς βάσεις. Η ικανότητα του ανθρώπινου σώματος να προστατεύει και να αποκαθιστά τις βλάβες που προκαλούνται από την υπεριώδη ακτινοβολία, μειώνεται κατά τη διάρκεια της ζωής μας. Ορισμένα άτομα παρουσιάζουν αντιδράσεις [[φωτοευαισθησία]]ς στην έκθεση σε ακτινοβολία UV λόγω γενετικών-μεταβολικών ιδιαιτεροτήτων ή χρήση φαρμάκων. Γενικά, όσο μικρότερο το μήκος κύματος, τόσο μεγαλύτεροι οι κίνδυνοι από την έκθεση σε ακτινοβολία UV. == Πηγές υπεριώδους ακτινοβολίας στα εργαστήρια == Οι κύριες πηγές υπεριώδους ακτινοβολίας στα εργαστήρια είναι οι [[μικροβιοκτόνος λαμπτήρας|μικροβιοκτόνοι λαμπτήρες]] και οι [[τράπεζα υπεριώδους ακτινοβολίας|τράπεζες υπεριώδους ακτινοβολίας]]. * Οι τράπεζες υπεριώδους ακτινοβολίας εκπέμπουν ακτινοβολία UV-B (312nm) που είναι επικίνδυνη για το δέρμα και τα μάτια. Η σωστή χρήση επιβάλει το [[ακρυλικό]] καπάκι της συσκευής να είναι κλειστό όταν παρατηρούμε τη [[γέλη]], να φοράμε ποδιά (η ακτινοβολία δεν διαπερνά τα ρούχα), γάντια και προστατευτικά γυαλιά. * Ο θάλαμος νηματικής (στρωτής) ροής (laminar flow) έχει μικροβιοκτόνο λάμπα που εκπέμπει UV-C (253,7nm). Η χρήση της λάμπας με σκοπό την αποστείρωση του χώρου εργασίας του θαλάμου γίνεται για 5-10 λεπτά και αφού ειδοποιηθούν οι συνάδελφοι να μην βρίσκονται τριγύρω. Μετά την [[αποστείρωση]] ο χώρος να αεριστεί επειδή η ακτινοβολία UV-C παράγει όζον. ===Αξιολόγηση και έλεγχος του κινδύνου=== #Καθορίστε τον τύπο UV της πηγής (UV-A, UV-Β, UV-C) από τις πληροφορίες που δίνει ο κατασκευαστής. Ο τύπος UV καθορίζει τον τύπο κινδύνου ( δέρμα, μάτι, κ.λπ). #Καθορίστε την ένταση της πηγής. #Καθορίστε τη διάρκεια έκθεσης. Σε αντιδιαστολή με τη βιομηχανία οι περισσότεροι οι άνθρωποι που εργάζονται στα εργαστήρια εκτελούν μια τυχαία σειρά δοκιμών και η έκθεση και οι διάρκειες έκθεσης θα είναι σποραδικές. #Χρησιμοποιήστε κατάλληλο προστατευτικό εξοπλισμό. Ποδιές εργαστηρίων, προστατευτικά γάντια, γυαλιά ασφάλειας, οι ασπίδες προσώπου παρέχουν έναν σημαντικό επίπεδο προστασίας. Εάν οι πηγές είναι εξοπλισμένες με προστατευτικά εξαρτήματα να μην αφαιρούνται κατά τη χρήση. ===Προσωπικός προστατευτικός εξοπλισμός=== Ο ακόλουθος εξοπλισμός πρέπει να χρησιμοποιείται κατά τις εργασίες με πηγές υπεριώδους ακτινοβολίας. *Απορροφητικά γυαλιά ηλίου, γυαλιά οράσεως με UV φίλτρο, φακοί επαφής με UV φίλτρο, γυαλιά ασφαλείας ή ασπίδα προσώπου. *Γάντια *Ποδιές ή φόρμες εργαστηρίων. *Κατάρτιση == Πηγές == <references /> {{ηλεκτρομαγνητικό φάσμα}} {{Authority control}} {{Portal bar|Φυσική}} {{Ηλεκτρομαγνητισμός-επέκταση}} [[Κατηγορία:Ηλεκτρομαγνητικό φάσμα]] n99pgjpj6e85aybjg0cszo2jfru2tjh Φιέρ 0 3093 35697 2024-06-01T07:07:16Z Stafili70 10848 προστέθηκε περιεχόμενο 35697 wikitext text/x-wiki [[Εικόναν:Centrum Fier Albania 2018 1.jpg|thumb|250px|]] [[Εικόναν:Fier in Albania.svg|thumb|150px|]] Η '''Φιέρ''' (αγγ.Fier) εν αλβανικόν πολιτείαν και εχ' τρανόν [[ιστορίαν]]. Οσήμερον (2011) εχ' πληθυσμόν 120,655 ανθρώπ. == Συνδέζμαι == * [https://bashkiafier.gov.al/ Επίσημον σελίδαν τη Φιέρ] [[Κατηγορίαν:Πολιτείας τ' Αλβανία|Φιέρ]] snyflbx6nxj4wm0y40cdkdb6dawcqao MediaWiki:GrowthExperimentsHelpPanel.json 8 3103 35732 35716 2024-08-28T12:29:19Z Maintenance script 4747 Adding version data 35732 json application/json { "$version": "1.0.0", "GEHelpPanelAskMentor": "mentor-talk-page", "GEHelpPanelExcludedNamespaces": [], "GEHelpPanelHelpDeskPostOnTop": "top", "GEHelpPanelHelpDeskTitle": "", "GEHelpPanelLinks": [ { "title": "mw:Special:MyLanguage/Help:VisualEditor/User guide", "text": "Special:MyLanguage/Help:VisualEditor/User guide", "id": "mw:Special:MyLanguage/Help:VisualEditor/User_guide" }, { "title": "mw:Special:MyLanguage/Help:VisualEditor/User guide#Images", "text": "Special:MyLanguage/Help:VisualEditor/User guide", "id": "mw:Special:MyLanguage/Help:VisualEditor/User_guide" }, { "title": "mw:Special:MyLanguage/Help:VisualEditor/User guide#Editing references", "text": "Special:MyLanguage/Help:VisualEditor/User guide", "id": "mw:Special:MyLanguage/Help:VisualEditor/User_guide" } ], "GEHelpPanelReadingModeNamespaces": [], "GEHelpPanelSearchNamespaces": [], "GEHelpPanelViewMoreTitle": "" } 8nmgwyoridqmm0f25g47w8yir31zu8g MediaWiki:GrowthExperimentsHomepage.json 8 3104 36172 36171 2025-02-24T16:25:15Z Maintenance script 4747 Migrating data to new format 36172 json application/json { "$version": "2.0.1", "GEHomepageSuggestedEditsIntroLinks": { "create": "mw:Special:MyLanguage/Help:VisualEditor/User_guide", "image": "mw:Special:MyLanguage/Help:VisualEditor/User_guide#Images" }, "GELevelingUpGetStartedMaxTotalEdits": 10, "GELevelingUpKeepGoingNotificationThresholdsMaximum": 4 } 01d9h0h7i4mrxfhzbizepi2kycrlquz MediaWiki:GrowthExperimentsMentorship.json 8 3105 35718 2024-07-17T12:10:01Z Maintenance script 4747 machine-generated configuration for migrating GrowthExperiments community configurable options to use CommunityConfiguration Extension ([[phab:T359038]]) 35718 json application/json { "GEMentorshipEnabled": false } a09xiu0ooqkfmvvcbrs68ahct9dme76 MediaWiki:GrowthExperimentsSuggestedEdits.json 8 3106 36278 36277 2025-06-23T17:09:44Z Maintenance script 4747 Migrating data to new format 36278 json application/json { "$version": "2.0.0", "GEInfoboxTemplates": [], "copyedit": { "disabled": false, "templates": [], "excludedTemplates": [], "excludedCategories": [], "learnmore": "" }, "expand": { "disabled": false, "templates": [], "excludedTemplates": [], "excludedCategories": [], "learnmore": "" }, "image_recommendation": { "disabled": false, "excludedTemplates": [], "excludedCategories": [], "learnmore": "", "maxTasksPerDay": 25, "templates": [] }, "link_recommendation": { "disabled": false, "excludedTemplates": [], "excludedCategories": [], "learnmore": "", "maximumLinksToShowPerTask": 3, "excludedSections": [ "αναφοράν", "αναφοράντας", "δείτε επίσης", "εξωτερικοί σύνδεσμοι", "σύνδεσμοι" ], "maxTasksPerDay": 25, "underlinkedWeight": 0.5, "minimumLinkScore": 0.6, "maximumEditsTaskIsAvailable": "no" }, "links": { "disabled": false, "templates": [], "excludedTemplates": [], "excludedCategories": [], "learnmore": "" }, "references": { "disabled": false, "templates": [], "excludedTemplates": [], "excludedCategories": [], "learnmore": "" }, "section_image_recommendation": { "disabled": false, "excludedTemplates": [], "excludedCategories": [], "learnmore": "", "maxTasksPerDay": 25 }, "update": { "disabled": false, "templates": [], "excludedTemplates": [], "excludedCategories": [], "learnmore": "" } } myvjixkh2ee8st2ig700a4w86vr6dkq Τζόγος σον διαδίκτυον 0 3108 35735 35731 2024-09-02T16:29:35Z XXBlackburnXx 6949 spam 35735 wikitext text/x-wiki Ο διαδικτυακός τζόγος (γνωστός επίσης ως iGaming ή iGambling) εν’ κάθε είδους τζόγος που γίνετ’ σο διαδίκτυον. Τούτο συμπεριλαμβάνει εικονικό πόκερ, καζίνα και στοιχήματα αθλοπαιδιών. Το πρώτον διαδικτυακόν μέρος για τζόγον που άνοιξεν για το γενικόν κοινόν ήτον η πώληση εισιτηρίων για το Λοταρίαν του Λιχτενστάιν τον Οκτώβριον του 1994. Σήμερον, η αγορά εν αξίζει περίπου $40 δισεκατομμύρια παγκοσμίως κάθε χρόνον, σύμφωνα με διάφορες εκτιμήσεις. Πολλά κράτη περιορίζουν ή απαγορεύουν τον διαδικτυακόν τζόγον. Ωστόσο, εν’ νόμιμος σ' ορισμένας πολιτείας των Ηνωμένων Πολιτειών, σε ορισμένας επαρχίας του Καναδά, στα περισσότερα κράτη της Ευρωπαϊκής Ένωσης, και σ' αρκετές χώρες της Καραϊβικής. Σ’ πολλούς νόμιμους τόπους, οι πάροχοι υπηρεσιών διαδικτυακού τζόγου απαιτείται να έχουν κάποιον είδος άδειας για να προσφέρουν υπηρεσίες ή να διαφημίζονται σ’ ακάτοικους εκεί. Για παράδειγμα, η Επιτροπή Τζόγου του Ηνωμένου Βασιλείου ή το Συμβούλιο Ελέγχου Παιχνιδιών της Πενσυλβανίας στις ΗΠΑ. == Ιστορία == Το 1994, η Αντίγκουα και Μπαρμπούντα επέρασεν τον Νόμον Ελεύθερου Εμπορίου και Επεξεργασίας, επιτρέποντας να δοθούσιν άδειες σ' οργανισμούς που αιτούνταν να ανοίξνε διαδικτυακά καζίνα. Πριν από τα διαδικτυακά καζίνα, το πρώτον πλήρως λειτουργικόν λογισμικόν τζόγου αναπτύχθηκεν από τη Microgaming, μια εταιρία λογισμικού που έδρευεν στην Νήσον του Μαν. Τούτο εσφαλίσθεν με λογισμικόν που αναπτύχθηκεν από τη CryptoLogic, μια εταιρία διαδικτυακής ασφάλειας λογισμικού. Ασφαλείς συναλλαγές εγίνησαν δυνατές· τούτο οδήγησεν σην ίδρυσην των πρώτων διαδικτυακών καζίνο το 1994. Το 1996 εγίνηκεν η ίδρυση της Επιτροπής Παιχνιδιών του Κανάγουακε, που ερρύθμιζεν τη διαδικτυακήν δραστηριότητα τζόγου από την Επικράτειαν των Μοχάουκ του Κανάγουακε και εξέδιδεν άδειες τζόγου σε πολλά από τα διαδικτυακά καζίνα και δωμάτια πόκερ του κόσμου. Τούτο εν’ μια προσπάθεια να κρατήνεται οι λειτουργίες των αδειοδοτημένων διαδικτυακών οργανισμών τζόγου δίκαιες και διαφανείς. == '''Μορφές''' == Το διαδίκτυον επέτρεψεν καινούρια είδη τζόγου να εφτάν’ διαδικτυακά. Οι βελτιώσεις σην τεχνολογίαν άλλαξνε τ' έθη των στοιχημάτων, όπως τα τερματικά βίντεο λοταρίας, το κίνο, και τα ξυστόχαρτα αλλάξαν την βιομηχανίαν τζόγου σον 20όν αιώναν. Ο τζόγος εγίνηκεν ένα από τα πιο δημοφιλή και κερδοφόρα επιχειρήματα σο διαδίκτυον. Το 2007, η Επιτροπή Τζόγου του Ηνωμένου Βασιλείου ανέφερεν ότι η βιομηχανία τζόγου επετύχαν έναν κύκλον εργασιών άνω των £84 δισεκατομμυρίων. Τούτον οφείλεται εν μέρει σην μεγάλην γκάμαν επιλογών τζόγου που εν διαθέσιμες σε πολλών διαφόρων ειδών ανθρώπους. Ένα άρθρον γραμμένον από τους Ντάρεν Ρ. Κρίστενσεν, Νίκι Α. Ντόουλινγκ, Άλουν Κ. Τζάκσον και Σέιν Α. Τόμας είπεν ότι μια έρευνα σην Αυστραλίαν έδειξεν ότι οι πιο κοινές μορφές τζόγου ήσαν λοταρίες (46.5%), κίνο (24.3%), ξυστά εισιτήρια (24.3%), και ηλεκτρονικά μηχανήματα τυχερών παιχνιδιών (20.5%). Οι διαδικτυακοί τόποι τζόγου άρχισαν να προσλαμβάνουν διασημότητες ως πρεσβευτές τους, όπως ο Μάικ Τάισον, ο Κριστιάνο Ρονάλντο, ο Κόνορ ΜακΓκρέγκορ, και ο Πίτερ Κράουτς. === '''Πόκερ''' === Κύριο άρθρο: Διαδικτυακό πόκερ Τα διαδικτυακά τραπέζια πόκερ συχνά προσφέρουν το Τέξας Χολντ’ εμ, Όμαχα Χολντ’ εμ, επτά-φύλλα Στούντ, ρας, HORSE, και άλλα είδη παιχνιδιών τόσο σε τουρνουά όσο και σε παιχνίδια μετρητών. Οι παίκτες παίζουν μεταξύ τους αντί εναντίον του «σπιτιού», και το καζίνο βγάζει χρήματα μέσω του «ράκε» και μέσω των χρεώσεων τουρνουά. === '''Καζίνα''' === Κύριο άρθρο: Διαδικτυακό καζίνο Υπάρχουν πολλά διαδικτυακά καζίνα όπου οι άνθρωποι μπορούν να παίξν καζίνο παιχνίδια όπως ρουλέτα, μπλακτζάκ, πατσίνκο, μπακαρά, και πολλά άλλα. Αυτά τα παιχνίδια παίζονται ενάντια στο «σπίτι», το οποίο βγάζει χρήματα επειδή οι πιθανότητες εν υπέρ του. === '''Sweepstakes διαδικτυακά καζίνα''' === Κύριο άρθρο: Sweepstakes καζίνο Τα sweepstakes διαδικτυακά καζίνα αντιπροσωπεύουν μιαν εναλλακτικήν προσέγγιση σον διαδικτυακόν τζόγον, παρέχοντας μιαν πλατφόρμαν για παιχνίδια καζίνο σ’ περιοχές όπου ο παραδοσιακός διαδικτυακός τζόγος αντιμετωπίζει νομικούς περιορισμούς. Αυτές οι πλατφόρμες χαρακτηρίζονται από ένα μοντέλον sweepstakes, που τα διακρίνει από τα συνηθισμένα διαδικτυακά καζίνα επιτρέποντας στους χρήστες να συμμετέχνε σον παιχνίδι χωρίς να στοιχηματίζουν άμεσα πραγματικά χρήματα. == '''Υπεύθυνος Τζόγος''' == Τα Χαρακτηριστικά Υπεύθυνου Τζόγου (ΧΥΤ) εν’ χαρακτηριστικά που χρησιμοποιούν τα διαδικτυακά τζόγου για να προωθούν υπεύθυνη συμπεριφορά και να μειώνουν τη βλάβη. Αυτά συμπεριλαμβάνουν τον περιορισμόν των ποσών που μπορούν να στοιχηματιστούν ή να κατατεθούν κατά τη διάρκεια καθορισμένης χρονικής περιόδου, τεστ αυτοαξιολόγησης για προβλήματα τζόγου, και προειδοποιητικά σημάδια για παρατεταμένο παίξιμον ή υψηλή δαπάνη. Τα ΧΥΤ εν συνήθως χαρακτηριστικά που οι παίκτες πρέπει να επιλέξνε και απαιτούνται από ορισμένες δικαιοδοσίες. Για παράδειγμα, οι πάροχοι στη Δανία, Γερμανία, και Ισπανία πρέπει να παρέχουν όρια καταθέσεων, αλλά τούτο εν προαιρετικό για τους παρόχους στην Αυστραλία. Ένα δείγμα διαδικτυακών παικτών πόκερ από τη Σουηδίαν έδειξεν ότι τα ΧΥΤ αυξάνουν την εμπιστοσύνη τους σην εταιρίαν και μειώνουν το άγχος τους για την νίκη από άλλους παίκτες. Ωστόσο, στες δικαιοδοσίες που απαιτούν Χαρακτηριστικά Υπεύθυνου Τζόγου, μόνο ένα μικρόν ποσοστό πελατών τα χρησιμοποιεί. Στην Αυστραλία, το 0.8% χρησιμοποίησεν το όριον κατάθεσης σον SportsBet και το 6% χρησιμοποίησεν τα όρια απώλειας καταθέσεων σον BetFair Australia. bylvq4ucn6q1qnuvpag3j2virv3dz6n Κατηγορίαν:User ksh 14 3123 35969 2024-10-26T05:29:05Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 35969 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Κολωνικά. iifpzr6aunxwq4oeycp2p6b7jq7kbc6 Κατηγορίαν:User nds-NL 14 3124 35970 2024-10-26T05:29:05Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 35970 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Κάτω Γερμανικά Ολλανδίας. 07dxjds4vy2k43jxoxvws4g3g165s5o Κατηγορίαν:User vls 14 3125 35971 2024-10-26T05:29:05Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 35971 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν West Flemish. 6iashfx2kptwaaos3xw8mcnjnqt6m6r Κατηγορίαν:User lb 14 3126 35972 2024-10-26T05:29:05Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 35972 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Λουξεμβουργιανά. l4e0qvbptfq5pb6zmkx9laim0ez8053 Κατηγορίαν:User pdc 14 3127 35973 2024-10-26T05:29:05Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 35973 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Pennsylvania German. dxqb0r6ufukfomagxhfabrdkahlbplw Κατηγορίαν:User pfl 14 3128 35974 2024-10-26T05:29:05Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 35974 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Palatine German. c11l81a9p4wklqjrvpb5gg2dzs0d4li Κατηγορίαν:User bar 14 3129 35975 2024-10-26T05:29:05Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 35975 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Bavarian. qeb3kxy9w8dsbo39u2t242nlgkizqzc Κατηγορίαν:User wep 14 3130 35976 2024-10-26T05:29:05Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 35976 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Westphalien. 998snoscrq90xo6b88dqmawnifwl798 Κατηγορίαν:User swg 14 3131 35977 2024-10-26T05:29:05Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 35977 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Swabian. sqvw140vp5lr5uapk532x7e0rynpw41 Κατηγορίαν:User sli 14 3132 35978 2024-10-26T05:29:05Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 35978 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Lower Silesian. ja8nlg2e6qlslmccb9715pa6jjgrrgm Κατηγορίαν:User vmf 14 3133 35979 2024-10-26T05:29:05Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 35979 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Main-Franconian. gn72ivhrs8we1xxytboq4f5b2fkhz18 Κατηγορίαν:User pdt 14 3134 35980 2024-10-26T05:29:05Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 35980 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Plautdietsch. teoe6k0wbgcdc8do0jeeouxxs7lfkoz Κατηγορίαν:User stq 14 3135 35981 2024-10-26T05:29:05Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 35981 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Saterland Frisian. g4rgiy2grns4y5klmwjyxkuixq0an9q Κατηγορίαν:User lfn 14 3136 35982 2024-10-26T05:29:05Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 35982 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Lingua Franca Nova. 7g8o85kg24q7ul002a0grg9ocf46h5c Κατηγορίαν:User gmh 14 3137 35983 2024-10-26T05:29:05Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 35983 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Μέσα Άνω Γερμανικά. 5ydj53l5qsu3fnmpmzd8b7wnstehmzh Κατηγορίαν:User frr 14 3138 35984 2024-10-26T05:29:05Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 35984 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Βόρεια Φριζιανά. b3ica00wauie2zydh10vr1of0dfis1s Κατηγορίαν:User fa 14 3139 35990 2024-10-26T05:30:00Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 35990 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Περσικά. s402eykto5uvzrrkkezr8pnawi96464 Κατηγορίαν:User az 14 3140 35991 2024-10-26T05:30:00Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 35991 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Αζερμπαϊτζανικά. oqo41g9gcwlwd1rtj4nxhwnmcsox6lw Κατηγορίαν:User tr 14 3141 35992 2024-10-26T05:30:00Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 35992 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Τουρκικά. 1y1t0r239iww7iixyo92c7l3r5yhqr2 MediaWiki:BabelConfig.json 8 3152 36115 2025-01-30T23:46:42Z Maintenance script 4747 Migrating server configuration to an on-wiki JSON file ([[phab:T374348]]) 36115 json application/json { "$version": "1.0.0", "BabelAutoCreate": true, "BabelCategoryNames": { "0": "", "1": "", "2": "", "3": "", "4": "", "5": "", "N": "" }, "BabelMainCategory": "User %code%", "BabelUseUserLanguage": false } lx7iuvc3uobaj3ina5v8p1g2np2r6vh The Walt Disney Company 0 3153 36158 2025-02-04T12:58:15Z Nikos Patas 11433 Καινούρεον σελίδαν με 'Η '''The Walt Disney Company''', (σ' [[Ελλενικόν λαλίαν|ελλενικά]]: '''Εταιρεία Γουόλτ Ντίσνεϊ'''), λέγ'ται και '''Ντίσνεϊ''', εν μία αμερικανική πολυεθνική κοινοπραξία μέσων ενημέρωσης και ψυχαγωγίας μ' έδρα την Walt Disney Studios σο [[Μπέρμπανκ]] τη [[Καλιφόρνια|Καλιφόρνιας]]....' 36158 wikitext text/x-wiki Η '''The Walt Disney Company''', (σ' [[Ελλενικόν λαλίαν|ελλενικά]]: '''Εταιρεία Γουόλτ Ντίσνεϊ'''), λέγ'ται και '''Ντίσνεϊ''', εν μία αμερικανική πολυεθνική κοινοπραξία μέσων ενημέρωσης και ψυχαγωγίας μ' έδρα την Walt Disney Studios σο [[Μπέρμπανκ]] τη [[Καλιφόρνια|Καλιφόρνιας]]. Η εταιρία εν γνώριμη για το κινηματογραφικό στούντιο ατ'ς, τη The Walt Disney Studios, που περιέχ' τις [[Walt Disney Pictures]], Walt Disney Animation Studios, Pixar, Marvel Studios, Lucasfilm, 20th Century Studios, Searchlight Pictures και Blue Sky Studios. Ο χαρακτήρας κινουμένων σχεδίων [[Μίκυ Μάους]], εδημιουργέθεν σα 1928 απ' τους Γουόλτ Ντίσνεϊ και Ουμπ Άιγουερκς, εν ένας απ' τους πιο γνώριμους χαρακτήρες όλων των εποχών και αποτελεί την επίσημην μασκότ τ' εταιρίας. ch8cirnwmuzj62lv7l1tfsux6kxevwt Η Χιονάρα και οι Εφτά Κοντοπόιδες (ταινία, 1937) 0 3154 36191 36190 2025-03-21T21:03:32Z Nikos Patas 11433 36191 wikitext text/x-wiki '''''Η Χιονάρα και οι Εφτά Κοντοπόιδες''''' (σα [[Ελλενικόν λαλίαν|ελλενικά]]: ''Η Χιονάτη και οι Επτά Νάνοι'', σα εγγλέζικα: ''Snow White and the Seven Dwarfs'') εν μια αμερικανική κινηματογραφική ταινία φαντασίας - μιούζικαλ κινουμένων σχεδίων του 1937. Η παραγωγή εγέν'τον απ' τη Walt Disney Productions ενώ η διανομή απ' τη RKO Pictures. Βασίζεται σο ομότιτλον γερμανικόν παραμύθιν των αδελφών Γκριμ και εν η πρωτέσσα ταινία κινουμένων σχεδίων τρανού μήκους τη Disney. Επικεφαλής σκηνοθέτης έτον ο Ντέιβιντ Χαντ, ενώ οι Ουίλιαμ Κότρελ, Ουίλφρεντ Τζάκσον, Λάρι Μόρεϊ, Περς Πιρς και Μπεν Σάρπστιν έσαν σκηνοθέτες των μεμονωμένων σκηνών τη ταινίας. lxhbtynz6u2dkesfr424kay2b9dej8x MediaWiki:Blockedtext 8 3156 36208 36207 2025-03-28T22:13:47Z A09 10151 handled 36208 wikitext text/x-wiki <strong>Το όνομα χρήστη ή η διεύθυνση IP σας έχει φραγεί.</strong> {{int:blockedtext-made-by|$1}} {{int:blockedtext-reason-comment|$2}} *{{int:blockedtext-start-time|$8}} *{{int:blockedtext-expiration-time|$6}} *{{int:blockedtext-intended-blockee|$7}} {{int:blockedtext-contact-blocker-admin|$1}} Μπορείτε να χρησιμοποιήσετε τη λειτουργία «{{int:emailuser}}» αν έχετε ορίσει μια έγκυρη διεύθυνση ηλεκτρονικού ταχυδρομείου στις [[Special:Preferences|προτιμήσεις χρήστη]] σας και δεν έχετε αποκλειστεί από τη χρήση της. {{int:blockedtext-block-ip|$3}}{{int:blockedtext-block-id|$5}} {{int:blockedtext-include-details-queries}} 58le8wl9dtjt3n77j1r2wl7s7tzvm7s Αργυρόκαστρον 0 3158 36202 36201 2025-03-26T20:05:41Z Nikos Patas 11433 /* Πολλά γνωστοί Αργυροκαστρίτες */ 36202 wikitext text/x-wiki Τ' '''Αργυρόκαστρον''' (σ' αλβανικόν λαλίαν: Gjirokastër, Γκιροκάστερ) εν αλβανικόν πολιτείαν σον νότο τ' [[Αλβανία|Αλβανίας]] και ζει τρανόν ελλενικόν μειονότητα ατού. Σ' ατή την πολιτείαν εγεννέθαν ο πρώην Αλβανός κομμουνιστής Ενβέρ Χότζα κι ο τρανός συγγραφέας Ισμαΐλ Κανταρέ. Η πολιτεία εφάνθεν καταγεγραμμέντσα σην ιστορίαν σα 1336 με τ' ελλενικόν όνεμαν ατ'ς, Αργυρόκαστρον ή Αργυρούπολη, ωσάν τμήμα τη Ρωμανίας. Εγέν'τον αργότερα κέντρον του τοπικού πριγκιπάτου, μ' άρχοντα τον Αλβανόν Γκιον Ζενεμπίσι (1373-1417), πριν γενεί Οθωμανική πολιτείαν για πέντε αιώνες. == Πολλά γνωστοί Αργυροκαστρίτες == * Γρηγόριος Αργυροκαστρίτης, λόγιος και Αρχιεπίσκοπος Αθηνών ως Γρηγόριος Δ΄ (1827-1828) * Ιωάννης Δούκας, Έλλενας ζωγράφος του 19ου αιώνα * Ιωάννης Κόντης, Ελλενοαλβανός ποδοσφαιριστής * Αριάν Μπελάι πρώην διεθνής ποδοσφαιριστής * Αλτίν Χατζί, διεθνής ποδοσφαιριστής qss4ry3tz3a8xlb6krriadr148tcvbd MediaWiki:GrowthExperimentsCommunityUpdates.json 8 3159 36204 36203 2025-03-27T16:17:17Z Maintenance script 4747 Migrating data to new format 36204 json application/json { "$version": "2.0.3", "GEHomepageCommunityUpdatesCallToAction": { "pageTitle": "", "buttonText": "" }, "GEHomepageCommunityUpdatesContentBody": "", "GEHomepageCommunityUpdatesContentTitle": "", "GEHomepageCommunityUpdatesEnabled": false, "GEHomepageCommunityUpdatesMinEdits": 0, "GEHomepageCommunityUpdatesThumbnailAddDarkModeBackground": false, "GEHomepageCommunityUpdatesThumbnailFile": { "title": "", "url": "" } } d1xm97f2xbtvehjzbe3po6c2mousbni Ελβασάνι 0 3160 36216 2025-04-05T16:27:52Z Nikos Patas 11433 Δημιουργήθηκε από μετάφραση της σελίδας "[[:el:Special:Redirect/revision/11016344|Ελμπασάν]]" 36216 wikitext text/x-wiki Τ' '''Ελβασάνι''' ή '''Ελμπασάν''' (σ' αλβανικά: ''Elbasani'' ή ''Elbasan'') εν πολιτείαν σο κέντρον τ' Αλβανίας. Τ' Ελβασάνι εν μίαν απ' τις τρανότερες πολιτείες της χώρας, με 128.150 ανθρώπ'ς ση χρονία 2011. Η πολιτεία εν κτισμέντσα σον βοράν του ποταμού Σκούμπιν, 32 χιλιομέτρα σα νοτιοανατολικά των Τιράνων κ' εν πρωτεύουσα του νομού και τ' επαρχίας με τ' ίδιον όνεμαν. Παλαιά, ωνεμαζόταν ''Νεόκαστρον'' σ' ελλενικά, ''Νόβιγκραντ'' (Νέα Πόλιτειαν) σα σλαβικά και ''Terra Nuova'' σ' ιταλικόν λαλίαν. Τ' όνεμαν π' εχ' οσήμερον επάρθεν απ' το τουρκικόν ιλ-μπασάν ("ατός π' επάτησεν το χέρ'"). gbh8qcwx2nps0msm9y4baf1lsrbjvfq Ελμπασάν 0 3161 36217 2025-04-05T17:14:11Z Nikos Patas 11433 Δημιουργήθηκε από μετάφραση της σελίδας "[[:el:Special:Redirect/revision/11016344|Ελμπασάν]]" 36217 wikitext text/x-wiki Τ' Ελβασάνι ή Ελμπασάν (σ' αλβανικά: Elbasani ή Elbasan) εν πολιτείαν σο κέντρον τ' Αλβανίας. Τ' Ελβασάνι εν μίαν απ' τις τρανότερες πολιτείες της χώρας, με 128.150 ανθρώπ'ς ση χρονία 2011. Η πολιτεία εν κτισμέντσα σον βοράν του ποταμού Σκούμπιν, 32 χιλιομέτρα σα νοτιοανατολικά των Τιράνων κ' εν πρωτεύουσα του νομού και τ' επαρχίας με τ' ίδιον όνεμαν. Παλαιά, ωνεμαζόταν Νεόκαστρον σ' ελλενικά, Νόβιγκραντ (Νέα Πόλιτειαν) σα σλαβικά και Terra Nuova σ' ιταλικόν λαλίαν. Τ' όνεμαν π' εχ' οσήμερον επάρθεν απ' το τουρκικόν ιλ-μπασάν ("ατός π' επάτησεν το χέρ'"). kybv29ktmn2cdf9p3a1nxfev6cofdfl Λάνα Ντελ Ρέι 0 3170 36261 2025-05-26T19:31:15Z RDTvG 11657 Καινούρεον σελίδαν με 'Λάνα Ντελ Ρέι Η '''Ελισάβετ Ουλρίτζ Γκραντ''' (''Elizabeth Woolridge Grant''), γεννέθεν την 21ην του Ιουνίου 1985 σο Νέα Υόρκην, έν' γνωστή με τ’ ονομα '''Λάνα Ντελ Ρέι'''. Είν' Αμερικάν’ τραγωδός, τραγωδοποιός και ποιήτρια. Ο κόσμος λέει ατ’ έναν ας τα πιο σοβαρά πρόσωπα...' 36261 wikitext text/x-wiki Λάνα Ντελ Ρέι Η '''Ελισάβετ Ουλρίτζ Γκραντ''' (''Elizabeth Woolridge Grant''), γεννέθεν την 21ην του Ιουνίου 1985 σο Νέα Υόρκην, έν' γνωστή με τ’ ονομα '''Λάνα Ντελ Ρέι'''. Είν' Αμερικάν’ τραγωδός, τραγωδοποιός και ποιήτρια. Ο κόσμος λέει ατ’ έναν ας τα πιο σοβαρά πρόσωπα σ’ εποχή μούζικας. Έχουν επονέψει ατ’ “Βασίλισσα της Εναλλακτικής Μούζικας” (''Queen of Alternative Music'').<ref name="elwiki">\[[https://el.wikipedia.org/wiki/Λάνα\_Ντελ\_Ρέι](https://el.wikipedia.org/wiki/Λάνα_Ντελ_Ρέι) Λάνα Ντελ Ρέι – Βικιπαίδεια (ελληνικά)]</ref> Το άλμπουμ ατής το ''Born to Die'' εβγήκεν το 2012 και έκαμεν μεγάλη επιτυχία. Έφτασεν σο δεύτερον νούμερον σην Αμερική και ήτον το τρίτον πιο πουλημένον άλμπουμ εκείνον το χρόνον. Τραγούδια σο άλμπουμ, όκ’ ''Summertime Sadness'', ''Video Games'' και ''Blue Jeans'' εγένταν μεγάλες επιτυχίες. Μετά έβγαλε κι άλλα άλμπουμ, όκ’ το ''Ultraviolence'' (2014), ''Honeymoon'' (2015), και ''Lust for Life'' (2017). Το 2019 έβγαλε το ''Norman Fucking Rockwell!'', οποιόν ελέπ’ σο περιοδικό ''Rolling Stone'' άς ένα ας τα πιο καλά όλων των εποχών.<ref name="rollingstone">\[[https://www.rollingstone.com/music/music-lists/best-albums-of-all-time-1062063/lana-del-rey-norman-fucking-rockwell-2-1063190/](https://www.rollingstone.com/music/music-lists/best-albums-of-all-time-1062063/lana-del-rey-norman-fucking-rockwell-2-1063190/) Rolling Stone – 500 Greatest Albums]</ref> Η Λάνα εγεννέθεν σο Νέα Υόρκην και εμεγάλωσεν σο Λέικ Πλάσιντ.<ref name="elwiki" /> Εδιάλεξεν το ψευδώνυμον ατ’ για να έχ’ έναν όνομα που να δείχν’ το στυλ ατ’, με παλαιόν λαμπρόν του Χόλιγουντ. Είν’ γνωστή για το ξεχωριστόν σηνέμα-ήχον ατ’, οποίν ενεμπνεύθεν από τη μουσικήν των ’50 και ’60 χρόνων, από τη χιπ-χοπ και από τραγωδούς όκ’ ο Έλβις Πρίσλεϊ, η Νάνσυ Σινάτρα και οι Νιρβάνα. Τ’ είν’ φανερόν σ’ τραγωδίαν όκ’ το ''National Anthem'' και το ''Born To Die''. Οι μουσικολόγοι λένε ατ’ η Λάνα έν’ έναν ας τα πιο επιδραστικά πρόσωπα σην εποχήν μουσικής. Τραγωδούδες όκ’ η Τέιλορ Σουίφτ και η Μπίλι Άιλις εγνωρίσαν το ταλέντο ατ’. Ελέπεν ατ’ ως αρχηγόν της mainstream μουσικής σο 2010, γιατί έβγαλε ατ’ από τα χαρωπά και χορευτικά τραγούδια και έβαλεν ατ’ μελαγχολικά λόγια και μουσικές υποβλητικές. Το έργον ατς εκάλυψεν και θέματα κοινωνικά και ψυχολογικά. Στο άλμπουμ ''Chemtrails over the Country Club'' (2021) και ''Blue Banisters'' (2021) ασχολείται με την απομόνωση, την οικογένεια και τον ρόλον της γυναίκας. Το 2023, έβγαλε το ''Did You Know That There's a Tunnel Under Ocean Blvd'', έναν δίσκον με πολλά προσωπικά και πονεμένα στοιχεία.<ref name="elwiki" /> Ατ’ έχουν επικρίνει και για τον τρόπον που παρουσιάζ’ τη θηλυκότητα και τον ρομαντισμόν. Παρόλα ταύτα, πολλοί υποστηρίζουν ατ’, λέγοντας πως η Λάνα εν' ένας καθρέφτης της σύγχρονης εποχής – και μια τραγωδός με έντονον προσωπικόν ύφος, χωρίς φόβον να δείχν’ τ’ αδυναμίας ατ’. Το όνομα ''Λάνα Ντελ Ρέι'' ενεμπνεύσθεν από τη χολιγουντιανή λάμψη και το μοντέλο αμαξιού Ford Del Rey. Το μουσικό ύφος ατς χαρακτηρίζεται από βαριά ρετρό αισθητική, με κινηματογραφικά στοιχεία, δραματικούς στίχους και επιρροές από doo-wop, indie pop, trip hop και art rock. Τα τραγούδια ατς συχνά μιλούν για την αγάπη, τη θλίψη, την καταστροφή, το αμερικανικό όνειρο και την ταυτότητα. Η Ντελ Ρέι έλαβεν πολλαπλές υποψηφιότητες για Γκράμι και άλλες διεθνείς διακρίσεις. Το 2021 συμπεριλήφθην στη λίστα ''100 most influential people'' του περιοδικού ''Time''.<ref name="time">{{Cite web |title=Lana Del Rey: The 100 Most Influential People of 2021 |url=[https://time.com/collection/100-most-influential-people-2021/6096087/lana-del-rey/](https://time.com/collection/100-most-influential-people-2021/6096087/lana-del-rey/) |website=TIME |access-date=25 Μαΐου 2025}}</ref> Πηγές mq1wvtdxd6oimeh813qosjf2eh7269p Σταυροφορίας 0 3178 36311 36310 2025-09-02T09:59:33Z History012 11896 36311 wikitext text/x-wiki Σταυροφορίας ήτανε σειρά θρησκευτικώ πολέμων που εγεννήθαν και ενεκρίναν από την [[Ρωμαιοκαθολικήν]] [[Εκκλησίαν]] κατά την [[μεσαιωνικήν]] εποχήν. Ο κυριότερος σκοπός ατον ήτον η ανάκτηση και υπεράσπιση των Αγίων Τόπων, κυρίως της [[Ιερουσαλήμ]], από την [[μουσουλμανικήν]] κυριαρχίαν. Η πρώτη Σταυροφορία εκηρύχθη το 1095 από τον πάπαν Ουρβανόν Β΄, μετά από αίτημα του [[Βυζαντινού]] αυτοκράτορα Αλεξίου Α΄ Κομνηνού, για στρατιωτικήν βοήθειαν εναντίον των Σελτζούκων Τούρκων. 5rgadsxu5zjlxayugtn7s10gron88ul Module:Infobox 828 3183 36343 2025-12-15T14:09:03Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- -- This module implements {{Infobox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local args = {} local origArgs local root local function notempty( s ) return s and s:match( '%S' ) end local function fixChildBoxes(sval, tt) if notempty(sval) then local marker = '<span class=special_infobox_marker>' local s = sval s = mw.ustring.gsub(s, '(<%s*[Tt][Rr])', marker .. '%1') s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>)',...' 36343 Scribunto text/plain -- -- This module implements {{Infobox}} -- local p = {} local navbar = require('Module:Navbar')._navbar local args = {} local origArgs local root local function notempty( s ) return s and s:match( '%S' ) end local function fixChildBoxes(sval, tt) if notempty(sval) then local marker = '<span class=special_infobox_marker>' local s = sval s = mw.ustring.gsub(s, '(<%s*[Tt][Rr])', marker .. '%1') s = mw.ustring.gsub(s, '(</[Tt][Rr]%s*>)', '%1' .. marker) if s:match(marker) then s = mw.ustring.gsub(s, marker .. '%s*' .. marker, '') s = mw.ustring.gsub(s, '([\r\n]|-[^\r\n]*[\r\n])%s*' .. marker, '%1') s = mw.ustring.gsub(s, marker .. '%s*([\r\n]|-)', '%1') s = mw.ustring.gsub(s, '(</[Cc][Aa][Pp][Tt][Ii][Oo][Nn]%s*>%s*)' .. marker, '%1') s = mw.ustring.gsub(s, '(<%s*[Tt][Aa][Bb][Ll][Ee][^<>]*>%s*)' .. marker, '%1') s = mw.ustring.gsub(s, '^(%{|[^\r\n]*[\r\n]%s*)' .. marker, '%1') s = mw.ustring.gsub(s, '([\r\n]%{|[^\r\n]*[\r\n]%s*)' .. marker, '%1') s = mw.ustring.gsub(s, marker .. '(%s*</[Tt][Aa][Bb][Ll][Ee]%s*>)', '%1') s = mw.ustring.gsub(s, marker .. '(%s*\n|%})', '%1') end if s:match(marker) then local subcells = mw.text.split(s, marker) s = '' for k = 1, #subcells do if k == 1 then s = s .. subcells[k] .. '</' .. tt .. '></tr>' elseif k == #subcells then local rowstyle = ' style="display:none"' if notempty(subcells[k]) then rowstyle = '' end s = s .. '<tr' .. rowstyle ..'><' .. tt .. ' colspan=2>\n' .. subcells[k] elseif notempty(subcells[k]) then if (k % 2) == 0 then s = s .. subcells[k] else s = s .. '<tr><' .. tt .. ' colspan=2>\n' .. subcells[k] .. '</' .. tt .. '></tr>' end end end end -- the next two lines add a newline at the end of lists for the PHP parser -- https://en.wikipedia.org/w/index.php?title=Template_talk:Infobox_musical_artist&oldid=849054481 -- remove when [[:phab:T191516]] is fixed or OBE s = mw.ustring.gsub(s, '([\r\n][%*#;:][^\r\n]*)$', '%1\n') s = mw.ustring.gsub(s, '^([%*#;:][^\r\n]*)$', '%1\n') s = mw.ustring.gsub(s, '^([%*#;:])', '\n%1') s = mw.ustring.gsub(s, '^(%{%|)', '\n%1') return s else return sval end end local function union(t1, t2) -- Returns the union of the values of two tables, as a sequence. local vals = {} for k, v in pairs(t1) do vals[v] = true end for k, v in pairs(t2) do vals[v] = true end local ret = {} for k, v in pairs(vals) do table.insert(ret, k) end return ret end local function getArgNums(prefix) -- Returns a table containing the numbers of the arguments that exist -- for the specified prefix. For example, if the prefix was 'data', and -- 'data1', 'data2', and 'data5' exist, it would return {1, 2, 5}. local nums = {} for k, v in pairs(args) do local num = tostring(k):match('^' .. prefix .. '([1-9]%d*)$') if num then table.insert(nums, tonumber(num)) end end table.sort(nums) return nums end local function addRow(rowArgs) -- Adds a row to the infobox, with either a header cell -- or a label/data cell combination. if rowArgs.header then root :tag('tr') :addClass(rowArgs.rowclass) :cssText(rowArgs.rowstyle) :attr('id', rowArgs.rowid) :tag('th') :attr('colspan', 2) :attr('id', rowArgs.headerid) :addClass(rowArgs.class) :addClass(args.headerclass) :css('text-align', 'center') :cssText(args.headerstyle) :cssText(rowArgs.rowcellstyle) :wikitext(fixChildBoxes(rowArgs.header, 'th')) elseif rowArgs.data then local row = root:tag('tr') row:addClass(rowArgs.rowclass) row:cssText(rowArgs.rowstyle) row:attr('id', rowArgs.rowid) if rowArgs.label then row :tag('th') :attr('scope', 'row') :attr('id', rowArgs.labelid) :css('text-align','left') :cssText(args.labelstyle) :cssText(rowArgs.rowcellstyle) :wikitext(rowArgs.label) :done() end local dataCell = row:tag('td') if not rowArgs.label then dataCell :attr('colspan', 2) :css('text-align', 'center') end dataCell :attr('id', rowArgs.dataid) :addClass(rowArgs.class) :cssText(rowArgs.datastyle) :cssText(rowArgs.rowcellstyle) :wikitext(fixChildBoxes(rowArgs.data, 'td')) end end local function renderTitle() if not args.title then return end root :tag('caption') :css('font-size','125%') :css('font-weight','bold') :addClass(args.titleclass) :cssText(args.titlestyle) :wikitext(args.title) end local function renderAboveRow() if not args.above then return end root :tag('tr') :tag('th') :attr('colspan', 2) :addClass(args.aboveclass) :css('text-align', 'center') :css('font-size', '125%') :css('font-weight', 'bold') :cssText(args.abovestyle) :wikitext(fixChildBoxes(args.above,'th')) end local function renderBelowRow() if not args.below then return end root :tag('tr') :tag('td') :attr('colspan', '2') :addClass(args.belowclass) :css('text-align', 'center') :cssText(args.belowstyle) :wikitext(fixChildBoxes(args.below,'td')) end local function renderSubheaders() if args.subheader then args.subheader1 = args.subheader end if args.subheaderrowclass then args.subheaderrowclass1 = args.subheaderrowclass end local subheadernums = getArgNums('subheader') for k, num in ipairs(subheadernums) do addRow({ data = args['subheader' .. tostring(num)], datastyle = args.subheaderstyle, rowcellstyle = args['subheaderstyle' .. tostring(num)], class = args.subheaderclass, rowclass = args['subheaderrowclass' .. tostring(num)] }) end end local function renderImages() if args.image then args.image1 = args.image end if args.caption then args.caption1 = args.caption end local imagenums = getArgNums('image') for k, num in ipairs(imagenums) do local caption = args['caption' .. tostring(num)] local data = mw.html.create():wikitext(args['image' .. tostring(num)]) if caption then data :tag('div') :cssText(args.captionstyle) :wikitext(caption) end addRow({ data = tostring(data), datastyle = args.imagestyle, class = args.imageclass, rowclass = args['imagerowclass' .. tostring(num)] }) end end local function renderRows() -- Gets the union of the header and data argument numbers, -- and renders them all in order using addRow. local rownums = union(getArgNums('header'), getArgNums('data')) table.sort(rownums) for k, num in ipairs(rownums) do addRow({ header = args['header' .. tostring(num)], label = args['label' .. tostring(num)], data = args['data' .. tostring(num)], datastyle = args.datastyle, class = args['class' .. tostring(num)], rowclass = args['rowclass' .. tostring(num)], rowstyle = args['rowstyle' .. tostring(num)], rowcellstyle = args['rowcellstyle' .. tostring(num)], dataid = args['dataid' .. tostring(num)], labelid = args['labelid' .. tostring(num)], headerid = args['headerid' .. tostring(num)], rowid = args['rowid' .. tostring(num)] }) end end local function renderNavBar() if not args.name then return end root :tag('tr') :tag('td') :attr('colspan', '2') :css('text-align', 'right') :wikitext(navbar{ args.name, mini = 1, }) end local function renderItalicTitle() local italicTitle = args['italic title'] and mw.ustring.lower(args['italic title']) if italicTitle == '' or italicTitle == 'force' or italicTitle == 'yes' then root:wikitext(mw.getCurrentFrame():expandTemplate({title = 'italic title'})) end end local function renderTrackingCategories() if args.decat ~= 'yes' then if args.child == 'yes' then if args.title then root:wikitext('[[Category:Σελίδες που περιλαμβάνουν πρότυπα πλαίσια πληροφοριών χωρίς παράμετρο τίτλου]]') end elseif #(getArgNums('data')) == 0 and mw.title.getCurrentTitle().namespace == 0 then root:wikitext('[[Category:Λήμματα που περιλαμβάνουν πρότυπα πλαίσια πληροφοριών χωρίς γραμμές δεδομένων]]') end end end local function _infobox() -- Specify the overall layout of the infobox, with special settings -- if the infobox is used as a 'child' inside another infobox. if args.child ~= 'yes' then root = mw.html.create('table') root :addClass((args.subbox ~= 'yes') and 'infobox' or nil) :addClass(args.bodyclass) if args.subbox == 'yes' then root :css('padding', '0') :css('border', 'none') :css('margin', '-3px') :css('width', 'auto') :css('min-width', '100%') :css('font-size', '88%') :css('clear', 'none') :css('float', 'none') :css('background-color', 'transparent') else root :css('line-height','1.5em') :css('width', '22em') :css('font-size', '88%') end root :cssText(args.bodystyle) renderTitle() renderAboveRow() else root = mw.html.create() root :wikitext(args.title) end renderSubheaders() renderImages() renderRows() renderBelowRow() renderNavBar() renderItalicTitle() renderTrackingCategories() return tostring(root) end local function preprocessSingleArg(argName) -- If the argument exists and isn't blank, add it to the argument table. -- Blank arguments are treated as nil to match the behaviour of ParserFunctions. if origArgs[argName] and origArgs[argName] ~= '' then args[argName] = origArgs[argName] end end local function preprocessArgs(prefixTable, step) -- Assign the parameters with the given prefixes to the args table, in order, in batches -- of the step size specified. This is to prevent references etc. from appearing in the -- wrong order. The prefixTable should be an array containing tables, each of which has -- two possible fields, a "prefix" string and a "depend" table. The function always parses -- parameters containing the "prefix" string, but only parses parameters in the "depend" -- table if the prefix parameter is present and non-blank. if type(prefixTable) ~= 'table' then error("Non-table value detected for the prefix table", 2) end if type(step) ~= 'number' then error("Invalid step value detected", 2) end -- Get arguments without a number suffix, and check for bad input. for i,v in ipairs(prefixTable) do if type(v) ~= 'table' or type(v.prefix) ~= "string" or (v.depend and type(v.depend) ~= 'table') then error('Invalid input detected to preprocessArgs prefix table', 2) end preprocessSingleArg(v.prefix) -- Only parse the depend parameter if the prefix parameter is present and not blank. if args[v.prefix] and v.depend then for j, dependValue in ipairs(v.depend) do if type(dependValue) ~= 'string' then error('Invalid "depend" parameter value detected in preprocessArgs') end preprocessSingleArg(dependValue) end end end -- Get arguments with number suffixes. local a = 1 -- Counter variable. local moreArgumentsExist = true while moreArgumentsExist == true do moreArgumentsExist = false for i = a, a + step - 1 do for j,v in ipairs(prefixTable) do local prefixArgName = v.prefix .. tostring(i) if origArgs[prefixArgName] then moreArgumentsExist = true -- Do another loop if any arguments are found, even blank ones. preprocessSingleArg(prefixArgName) end -- Process the depend table if the prefix argument is present and not blank, or -- we are processing "prefix1" and "prefix" is present and not blank, and -- if the depend table is present. if v.depend and (args[prefixArgName] or (i == 1 and args[v.prefix])) then for j,dependValue in ipairs(v.depend) do local dependArgName = dependValue .. tostring(i) preprocessSingleArg(dependArgName) end end end end a = a + step end end function p.infobox(frame) -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end -- Parse the data parameters in the same order that the old {{infobox}} did, so that -- references etc. will display in the expected places. Parameters that depend on -- another parameter are only processed if that parameter is present, to avoid -- phantom references appearing in article reference lists. preprocessSingleArg('child') preprocessSingleArg('bodyclass') preprocessSingleArg('subbox') preprocessSingleArg('bodystyle') preprocessSingleArg('title') preprocessSingleArg('titleclass') preprocessSingleArg('titlestyle') preprocessSingleArg('above') preprocessSingleArg('aboveclass') preprocessSingleArg('abovestyle') preprocessArgs({ {prefix = 'subheader', depend = {'subheaderstyle', 'subheaderrowclass'}} }, 10) preprocessSingleArg('subheaderstyle') preprocessSingleArg('subheaderclass') preprocessArgs({ {prefix = 'image', depend = {'caption', 'imagerowclass'}} }, 10) preprocessSingleArg('captionstyle') preprocessSingleArg('imagestyle') preprocessSingleArg('imageclass') preprocessArgs({ {prefix = 'header'}, {prefix = 'data', depend = {'label'}}, {prefix = 'rowclass'}, {prefix = 'rowstyle'}, {prefix = 'rowcellstyle'}, {prefix = 'class'}, {prefix = 'dataid'}, {prefix = 'labelid'}, {prefix = 'headerid'}, {prefix = 'rowid'} }, 50) preprocessSingleArg('headerclass') preprocessSingleArg('headerstyle') preprocessSingleArg('labelstyle') preprocessSingleArg('datastyle') preprocessSingleArg('below') preprocessSingleArg('belowclass') preprocessSingleArg('belowstyle') preprocessSingleArg('name') args['italic title'] = origArgs['italic title'] -- different behaviour if blank or absent preprocessSingleArg('decat') return _infobox() end return p qe309g8sjwnl5dpf1hmfb9zpdj0zomm Module:File link 828 3184 36344 2025-12-15T14:10:15Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- This module provides a library for formatting file wikilinks. local yesno = require('Module:Yesno') local checkType = require('libraryUtil').checkType local p = {} function p._main(args) checkType('_main', 1, args, 'table') -- This is basically libraryUtil.checkTypeForNamedArg, but we are rolling our -- own function to get the right error level. local function checkArg(key, val, level) if type(val) ~= 'string' then error(string.form...' 36344 Scribunto text/plain -- This module provides a library for formatting file wikilinks. local yesno = require('Module:Yesno') local checkType = require('libraryUtil').checkType local p = {} function p._main(args) checkType('_main', 1, args, 'table') -- This is basically libraryUtil.checkTypeForNamedArg, but we are rolling our -- own function to get the right error level. local function checkArg(key, val, level) if type(val) ~= 'string' then error(string.format( "type error in '%s' parameter of '_main' (expected string, got %s)", key, type(val) ), level) end end local ret = {} -- Adds a positional parameter to the buffer. local function addPositional(key) local val = args[key] if not val then return nil end checkArg(key, val, 4) ret[#ret + 1] = val end -- Adds a named parameter to the buffer. We assume that the parameter name -- is the same as the argument key. local function addNamed(key) local val = args[key] if not val then return nil end checkArg(key, val, 4) ret[#ret + 1] = key .. '=' .. val end -- Filename checkArg('file', args.file, 3) ret[#ret + 1] = 'File:' .. args.file -- Format if args.format then checkArg('format', args.format) if args.formatfile then checkArg('formatfile', args.formatfile) ret[#ret + 1] = args.format .. '=' .. args.formatfile else ret[#ret + 1] = args.format end end -- Border if yesno(args.border) then ret[#ret + 1] = 'border' end addPositional('location') addPositional('alignment') addPositional('size') addNamed('upright') addNamed('link') addNamed('alt') addNamed('page') addNamed('class') addNamed('lang') addNamed('start') addNamed('end') addNamed('thumbtime') addPositional('caption') return string.format('[[%s]]', table.concat(ret, '|')) end function p.main(frame) local origArgs = require('Module:Arguments').getArgs(frame, { wrappers = 'Template:File link' }) if not origArgs.file then -- error("'file' parameter missing from [[Template:File link]]", 0) return ''; -- fail silently end -- Copy the arguments that were passed to a new table to avoid looking up -- every possible parameter in the frame object. local args = {} for k, v in pairs(origArgs) do -- Make _BLANK a special argument to add a blank parameter. For use in -- conditional templates etc. it is useful for blank arguments to be -- ignored, but we still need a way to specify them so that we can do -- things like [[File:Example.png|link=]]. if v == '_BLANK' then v = '' end args[k] = v end return p._main(args) end return p smwy47x1qqb9f8lhqy31ezwnaxxh2h1 Module:Yesno 828 3185 36345 2025-12-15T14:11:47Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Function allowing for consistent treatment of boolean-like wikitext input. -- It works similarly to the template {{yesno}}. return function (val, default) -- If your wiki uses non-ascii characters for any of "yes", "no", etc., you -- should replace "val:lower()" with "mw.ustring.lower(val)" in the -- following line. val = type(val) == 'string' and val:lower() or val if val == nil then return nil elseif val == true or val == 'yes' o...' 36345 Scribunto text/plain -- Function allowing for consistent treatment of boolean-like wikitext input. -- It works similarly to the template {{yesno}}. return function (val, default) -- If your wiki uses non-ascii characters for any of "yes", "no", etc., you -- should replace "val:lower()" with "mw.ustring.lower(val)" in the -- following line. val = type(val) == 'string' and val:lower() or val if val == nil then return nil elseif val == true or val == 'yes' or val == 'y' or val == 'true' or val == 't' or val == 'on' or tonumber(val) == 1 then return true elseif val == false or val == 'no' or val == 'n' or val == 'false' or val == 'f' or val == 'off' or tonumber(val) == 0 then return false else return default end end swdskn7svew8i9wuydn9uj5l3r2ghcs Module:Transclusion count 828 3186 36347 2025-12-15T14:14:44Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} function p.fetch(frame) local template = nil local return_value = nil -- Use demo parameter if it exists, otherswise use current template name local namespace = mw.title.getCurrentTitle().namespace if frame.args["demo"] and frame.args["demo"] ~= "" then template = mw.ustring.gsub(frame.args["demo"],"^[Tt]emplate:","") elseif namespace == 10 then -- Template namespace template = mw.title.getCurrentTitle().text elseif namesp...' 36347 Scribunto text/plain local p = {} function p.fetch(frame) local template = nil local return_value = nil -- Use demo parameter if it exists, otherswise use current template name local namespace = mw.title.getCurrentTitle().namespace if frame.args["demo"] and frame.args["demo"] ~= "" then template = mw.ustring.gsub(frame.args["demo"],"^[Tt]emplate:","") elseif namespace == 10 then -- Template namespace template = mw.title.getCurrentTitle().text elseif namespace == 828 then -- Module namespace template = (mw.site.namespaces[828].name .. ":" .. mw.title.getCurrentTitle().text) end -- If in template or module namespace, look up count in /data if template ~= nil then namespace = mw.title.new(template, "Template").namespace if namespace == 10 or namespace == 828 then template = mw.ustring.gsub(template, "/doc$", "") -- strip /doc from end template = mw.ustring.gsub(template, "/sandbox$", "") -- strip /sandbox from end local index = mw.ustring.sub(mw.title.new(template).text,1,1) local status, data = pcall(function () return(mw.loadData('Module:Transclusion_count/data/' .. (mw.ustring.find(index, "%a") and index or "other"))) end) if status then return_value = tonumber(data[mw.ustring.gsub(template, " ", "_")]) end end end -- If database value doesn't exist, use value passed to template if return_value == nil and frame.args[1] ~= nil then local arg1=mw.ustring.match(frame.args[1], '[%d,]+') if arg1 and arg1 ~= '' then return_value = tonumber(frame:callParserFunction('formatnum', arg1, 'R')) end end return return_value end -- Tabulate this data for [[Wikipedia:Database reports/Templates transcluded on the most pages]] function p.tabulate(frame) local list = {} for i = 65, 91 do local data = mw.loadData('Module:Transclusion count/data/' .. ((i == 91) and 'other' or string.char(i))) for name, count in pairs(data) do table.insert(list, {mw.title.new(name, "Template").fullText, count}) end end table.sort(list, function(a, b) return (a[2] == b[2]) and (a[1] < b[1]) or (a[2] > b[2]) end) local lang = mw.getContentLanguage(); for i = 1, #list do list[i] = ('|-\n| %d || [[%s]] || %s\n'):format(i, list[i][1]:gsub('_', ' '), lang:formatNum(list[i][2])) end return table.concat(list) end return p 008uk8mly4azus83p91srb45zrvm6fn Module:Distinguish 828 3187 36348 2025-12-15T14:17:32Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local mHatnote = require('Module:Hatnote') local mHatlist = require('Module:Hatnote list') local mArguments --initialize lazily local mTableTools --initialize lazily local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local p = {} function p.distinguish(frame) mArguments = require('Module:Arguments') mTableTools = require('Module:TableTools') local args = mTableTools.compressSparseArray(mArguments.getArgs(frame))...' 36348 Scribunto text/plain local mHatnote = require('Module:Hatnote') local mHatlist = require('Module:Hatnote list') local mArguments --initialize lazily local mTableTools --initialize lazily local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local p = {} function p.distinguish(frame) mArguments = require('Module:Arguments') mTableTools = require('Module:TableTools') local args = mTableTools.compressSparseArray(mArguments.getArgs(frame)) return p._distinguish(args) end function p._distinguish(args) checkType("_distinguish", 1, args, 'table') if #args == 0 then return '' end local text = string.format( 'Να μη συγχέεται με %s.', mHatlist.orList(args, true) ) return mHatnote._hatnote(text) end return p ilgov61coykixml4j5wtaoxttsfut82 Module:Hatnote 828 3188 36349 2025-12-15T14:18:29Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the {{hatnote}} and {{format link}} meta-templates and includes -- -- helper functions for other Lua hatnote modul...' 36349 Scribunto text/plain -------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the {{hatnote}} and {{format link}} meta-templates and includes -- -- helper functions for other Lua hatnote modules. -- -------------------------------------------------------------------------------- local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise [[Module:Arguments]] local yesno -- lazily initialise [[Module:Yesno]] local p = {} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to false. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end function p.makeWikitextError(msg, helpLink, addTrackingCategory, title) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- [[Module:Yesno]], and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') title = title or mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' ([[' .. helpLink .. '|βοήθεια]])' else helpText = '' end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Πρότυπα hatnote με σφάλματα' category = string.format( '[[%s:%s]]', mw.site.namespaces[14].name, category ) else category = '' end return string.format( '<strong class="error">Σφάλμα: %s%s.</strong>%s', msg, helpText, category ) end function p.disambiguate(page, disambiguator) -- Formats a page title with a disambiguation parenthetical, -- i.e. "Example" → "Example (disambiguation)". checkType('disambiguate', 1, page, 'string') checkType('disambiguate', 2, disambiguator, 'string', true) disambiguator = disambiguator or 'disambiguation' return string.format('%s (%s)', page, disambiguator) end -------------------------------------------------------------------------------- -- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the {{format hatnote link}} template. -------------------------------------------------------------------------------- function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'δεν ορίστηκε σύνδεσμος', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end function p._formatLink(link, display) checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) -- Remove the initial colon for links where it was specified manually. link = removeInitialColon(link) -- Find whether a faux display value has been added with the {{!}} magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' §&nbsp;' .. section end end -- Assemble the link. if display then return string.format( '[[:%s|%s]]', string.gsub(link, '|(.*)$', ''), --display overwrites manual piping display ) else return string.format('[[:%s]]', link) end end -------------------------------------------------------------------------------- -- Hatnote -- -- Produces standard hatnote text. Implements the {{hatnote}} template. -------------------------------------------------------------------------------- function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'δεν ορίστηκε κείμενο', 'Πρότυπο:Hatnote#Σφάλματα', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) options = options or {} local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '<div role="note" class="%s">%s</div>', table.concat(classes, ' '), s ) end return p r7nn2ig1gizg6biv3te9y2t653jqmz9 Module:Hatnote list 828 3189 36350 2025-12-15T14:19:20Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-------------------------------------------------------------------------------- -- Module:Hatnote list -- -- -- -- This module produces and formats lists for use in hatnotes. In particular, -- -- it implements the for-see list, i.e. lists of "For X, see Y" statements, -- -- as used in {{about}}, {{redirect}}, and thei...' 36350 Scribunto text/plain -------------------------------------------------------------------------------- -- Module:Hatnote list -- -- -- -- This module produces and formats lists for use in hatnotes. In particular, -- -- it implements the for-see list, i.e. lists of "For X, see Y" statements, -- -- as used in {{about}}, {{redirect}}, and their variants. Also introduced -- -- are andList & orList helpers for formatting lists with those conjunctions. -- -------------------------------------------------------------------------------- local mArguments --initialize lazily local mHatnote = require('Module:Hatnote') local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local p = {} -------------------------------------------------------------------------------- -- List stringification helper functions -- -- These functions are used for stringifying lists, usually page lists inside -- the "Y" portion of "For X, see Y" for-see items. -------------------------------------------------------------------------------- --default options table used across the list stringification functions local stringifyListDefaultOptions = { conjunction = "και", separator = ",", altSeparator = "·", space = " ", formatted = false } -- Stringifies a list generically; probably shouldn't be used directly function stringifyList(list, options) -- Type-checks, defaults, and a shortcut checkType("stringifyList", 1, list, "table") if #list == 0 then return nil end checkType("stringifyList", 2, options, "table", true) options = options or {} for k, v in pairs(stringifyListDefaultOptions) do if options[k] == nil then options[k] = v end end local s = options.space -- Format the list if requested if options.formatted then list = mHatnote.formatPages(unpack(list)) end -- Set the separator; if any item contains it, use the alternate separator local separator = options.separator --searches display text only function searchDisp(t, f) return string.find(string.sub(t, (string.find(t, '|') or 0) + 1), f) end for k, v in pairs(list) do if searchDisp(v, separator) then separator = options.altSeparator break end end -- Set the conjunction, apply Oxford comma, and force a comma if #1 has "§" local conjunction = s .. options.conjunction .. s if #list == 2 and searchDisp(list[1], "§") or #list > 2 then conjunction = separator .. conjunction end -- Return the formatted string return mw.text.listToText(list, separator .. s, conjunction) end --DRY function function conjList (conj, list, fmt) return stringifyList(list, {conjunction = conj, formatted = fmt}) end -- Stringifies lists with "and" or "or" function p.andList (...) return conjList("και", ...) end function p.orList (...) return conjList("ή", ...) end -------------------------------------------------------------------------------- -- For see -- -- Makes a "For X, see [[Y]]." list from raw parameters. Intended for the -- {{about}} and {{redirect}} templates and their variants. -------------------------------------------------------------------------------- --default options table used across the forSee family of functions local forSeeDefaultOptions = { andKeyword = 'και', title = mw.title.getCurrentTitle().text, otherText = 'άλλες χρήσεις', forSeeForm = 'Για %s, δείτε %s.' } --Collapses duplicate punctuation function punctuationCollapse (text) local replacements = { ["%.%.$"] = ".", ["%?%.$"] = "?", ["%!%.$"] = "!", ["%.%]%]%.$"] = ".]]", ["%?%]%]%.$"] = "?]]", ["%!%]%]%.$"] = "!]]" } for k, v in pairs(replacements) do text = string.gsub(text, k, v) end return text end -- Structures arguments into a table for stringification, & options function p.forSeeArgsToTable (args, from, options) -- Type-checks and defaults checkType("forSeeArgsToTable", 1, args, 'table') checkType("forSeeArgsToTable", 2, from, 'number', true) from = from or 1 checkType("forSeeArgsToTable", 3, options, 'table', true) options = options or {} for k, v in pairs(forSeeDefaultOptions) do if options[k] == nil then options[k] = v end end -- maxArg's gotten manually because getArgs() and table.maxn aren't friends local maxArg = 0 for k, v in pairs(args) do if type(k) == 'number' and k > maxArg then maxArg = k end end -- Structure the data out from the parameter list: -- * forTable is the wrapper table, with forRow rows -- * Rows are tables of a "use" string & a "pages" table of pagename strings -- * Blanks are left empty for defaulting elsewhere, but can terminate list local forTable = {} local i = from local terminated = false -- Loop to generate rows repeat -- New empty row local forRow = {} -- On blank use, assume list's ended & break at end of this loop forRow.use = args[i] if not args[i] then terminated = true end -- New empty list of pages forRow.pages = {} -- Insert first pages item if present table.insert(forRow.pages, args[i + 1]) -- If the param after next is "and", do inner loop to collect params -- until the "and"'s stop. Blanks are ignored: "1|and||and|3" → {1, 3} while args[i + 2] == options.andKeyword do if args[i + 3] then table.insert(forRow.pages, args[i + 3]) end -- Increment to next "and" i = i + 2 end -- Increment to next use i = i + 2 -- Append the row table.insert(forTable, forRow) until terminated or i > maxArg return forTable end -- Stringifies a table as formatted by forSeeArgsToTable function p.forSeeTableToString (forSeeTable, options) -- Type-checks and defaults checkType("forSeeTableToString", 1, forSeeTable, "table") checkType("forSeeTableToString", 2, options, "table", true) options = options or {} for k, v in pairs(forSeeDefaultOptions) do if options[k] == nil then options[k] = v end end -- Stringify each for-see item into a list local strList = {} for k, v in pairs(forSeeTable) do local useStr = v.use or options.otherText local pagesStr = p.andList(v.pages, true) or mHatnote._formatLink(mHatnote.disambiguate(options.title)) local forSeeStr = string.format(options.forSeeForm, useStr, pagesStr) forSeeStr = punctuationCollapse(forSeeStr) table.insert(strList, forSeeStr) end -- Return the concatenated list return table.concat(strList, ' ') end -- Produces a "For X, see [[Y]]" string from arguments. Expects index gaps -- but not blank/whitespace values. Ignores named args and args < "from". function p._forSee (args, from, options) local forSeeTable = p.forSeeArgsToTable(args, from, options) return p.forSeeTableToString(forSeeTable, options) end -- As _forSee, but uses the frame. function p.forSee (frame, from, options) mArguments = require('Module:Arguments') return p._forSee(mArguments.getArgs(frame), from, options) end return p ke817u2gov62wa1yvoxusudghjqbu7h Module:High-use 828 3190 36351 2025-12-15T14:20:25Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} -- _fetch looks at the "demo" argument. local _fetch = require('Module:Transclusion_count').fetch local yesno = require('Module:Yesno') function p.num(frame, count) if count == nil then if yesno(frame.args['fetch']) == false then if (frame.args[1] or '') ~= '' then count = tonumber(frame.args[1]) end else count = _fetch(frame) end end -- Build output string local return_value = "" if count == nil then if frame.ar...' 36351 Scribunto text/plain local p = {} -- _fetch looks at the "demo" argument. local _fetch = require('Module:Transclusion_count').fetch local yesno = require('Module:Yesno') function p.num(frame, count) if count == nil then if yesno(frame.args['fetch']) == false then if (frame.args[1] or '') ~= '' then count = tonumber(frame.args[1]) end else count = _fetch(frame) end end -- Build output string local return_value = "" if count == nil then if frame.args[1] == "risk" then return_value = "πάρα πολλές" else return_value = "πολλές" end else -- Use 2 significant figures for smaller numbers and 3 for larger ones local sigfig = 2 if count >= 100000 then sigfig = 3 end -- Prepare to round to appropriate number of sigfigs local f = math.floor(math.log10(count)) - sigfig + 1 -- Round and insert "approximately" or "+" when appropriate if (frame.args[2] == "yes") or (mw.ustring.sub(frame.args[1],-1) == "+") then -- Round down return_value = string.format("%s+", mw.getContentLanguage():formatNum(math.floor( (count / 10^(f)) ) * (10^(f))) ) else -- Round to nearest return_value = string.format("περίπου&#x20;%s", mw.getContentLanguage():formatNum(math.floor( (count / 10^(f)) + 0.5) * (10^(f))) ) end -- Insert percentage of pages if that is likely to be >= 1% and when |no-percent= not set to yes if count and count > 250000 and not yesno (frame:getParent().args['no-percent']) then local percent = math.floor( ( (count/frame:callParserFunction('NUMBEROFPAGES', 'R') ) * 100) + 0.5) if percent >= 1 then return_value = string.format("%s&#x20;σελίδες, ή περίπου %s%% από όλες στην Ελληνική Wikipedia", return_value, percent) end end end return return_value end -- Actions if there is a large (greater than or equal to 100,000) transclusion count function p.risk(frame) local return_value = "" if frame.args[1] == "risk" then return_value = "risk" else local count = _fetch(frame) if count and count >= 100000 then return_value = "risk" end end return return_value end function p.text(frame, count) -- Only show the information about how Αυτό template gets updated if someone -- is actually editing the page and maybe trying to update the count. local bot_text = (frame:preprocess("{{REVISIONID}}") == "") and "\n\n----\n'''Μήνυμα προεπισκόπησης''': Το Transclusion count ενημερώθηκε αυτόματα." or '' if count == nil then if yesno(frame.args['fetch']) == false then if (frame.args[1] or '') ~= '' then count = tonumber(frame.args[1]) end else count = _fetch(frame) end end local title = mw.title.getCurrentTitle() if title.subpageText == "doc" or title.subpageText == "πρόχειρο" then title = title.basePageTitle end local systemMessages = frame.args['system'] if frame.args['system'] == '' then systemMessages = nil end -- This retrieves the project URL automatically to simplify localiation. local templateCount = ('σε [https://linkcount.toolforge.org/index.php?project=%s&page=%s %s σελίδες]'):format( mw.title.getCurrentTitle():fullUrl():gsub('//(.-)/.*', '%1'), mw.uri.encode(title.fullText), p.num(frame, count)) local used_on_text = "'''Αυτό το " .. (mw.title.getCurrentTitle().namespace == 828 and "Lua module" or "πρότυπο ") .. 'χρησιμοποιείται '; if systemMessages then used_on_text = used_on_text .. systemMessages .. ((count and count > 2000) and ("''', και " .. templateCount) or ("'''")) else used_on_text = used_on_text .. templateCount .. "'''" end local sandbox_text = (" [[%s/πρόχειρο|/πρόχειρο]] ή [[%s/testcases|/testcases]] του προτύπου, ή στις προσωπικες σας υποσελίδες χρήστη. "):format( (mw.title.getCurrentTitle().namespace == 828 and "module" or "template"), title.fullText, title.fullText, mw.title.getCurrentTitle().namespace == 828 and "Module:Sandbox|module sandbox" or "" ) local infoArg = frame.args["info"] ~= "" and frame.args["info"] if (systemMessages or frame.args[1] == "risk" or (count and count >= 100000) ) then local info = systemMessages and '.<br/>Επεξεργασίες σε αυτό το πρότυπο μπορούν να προκαλέσουν μεγάλες αλλαγές στη διεπαφή χρήστη της Βικιπαίδειας.' or '.' if infoArg then info = info .. "<br />" .. infoArg end sandbox_text = info .. '<br /> Για να αποφευχθεί αναστάτωση' .. (count and count >= 100000 and ' και server load' or '') .. ', οποιεσδήποτε αλλαγές πρέπει να δοκιμάζονται σε ' .. sandbox_text .. 'Οι δοκιμασμένες αλλαγές μπορούν να προστεθούν στη σελίδα με μία επεξεργασία. ' else sandbox_text = (infoArg and ('.<br />' .. infoArg .. ' Α') or ', οπότε α') .. 'λλαγές σε αυτό θα γίνουν ευρέως αντιληπτές. Παρακαλούμε δοκιμάστε οποιεσδήποτε αλλαγές στις υποσελίδες ' .. sandbox_text end local discussion_text = systemMessages and 'Παρακαλούμε φροντίστε να συζητήσετε τις αλλαγές ' or 'Παρακαλούμε φροντίστε να συζητήσετε τις αλλαγές ' if frame.args["2"] and frame.args["2"] ~= "" and frame.args["2"] ~= "yes" then discussion_text = string.format("%sat [[%s]]", discussion_text, frame.args["2"]) else discussion_text = string.format("%s στη [[%s|σελίδα συζήτησης]]", discussion_text, title.talkPageTitle.fullText ) end return used_on_text .. sandbox_text .. discussion_text .. " πριν τις εφαρμόσετε." .. bot_text end function p.main(frame) local count = nil if yesno(frame.args['fetch']) == false then if (frame.args[1] or '') ~= '' then count = tonumber(frame.args[1]) end else count = _fetch(frame) end local image = "[[File:Ambox warning yellow.svg|40px|alt=Warning|link=]]" local type_param = "style" local epilogue = '' if frame.args['system'] and frame.args['system'] ~= '' then image = "[[File:Ambox important.svg|40px|alt=Warning|link=]]" type_param = "content" local nocat = frame:getParent().args['nocat'] or frame.args['nocat'] local categorise = (nocat == '' or not yesno(nocat)) if categorise then epilogue = frame:preprocess('{{Sandbox other||{{#switch:{{#invoke:Effective protection level|{{#switch:{{NAMESPACE}}|File=upload|#default=edit}}|{{FULLPAGENAME}}}}|sysop|templateeditor|interfaceadmin=|#default=[[Category:Pages used in system messages needing protection]]}}}}') end elseif (frame.args[1] == "risk" or (count and count >= 100000)) then image = "[[File:Ambox warning orange.svg|40px|alt=Warning|link=]]" type_param = "content" end if frame.args["form"] == "editnotice" then return frame:expandTemplate{ title = 'editnotice', args = { ["image"] = image, ["text"] = p.text(frame, count), ["expiry"] = (frame.args["expiry"] or "") } } .. epilogue else return require('Module:Message box').main('ombox', { type = type_param, image = image, text = p.text(frame, count), expiry = (frame.args["expiry"] or "") }) .. epilogue end end return p ppr55cn1pwlbo1tkt5l20s4egf7krbb Module:List 828 3191 36352 2025-12-15T14:21:29Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- This module outputs different kinds of lists. At the moment, bulleted, -- unbulleted, horizontal, ordered, and horizontal ordered lists are supported. local libUtil = require('libraryUtil') local checkType = libUtil.checkType local mTableTools = require('Module:TableTools') local p = {} local listTypes = { ['bulleted'] = true, ['unbulleted'] = true, ['horizontal'] = true, ['ordered'] = true, ['horizontal_ordered'] = true } function p.ma...' 36352 Scribunto text/plain -- This module outputs different kinds of lists. At the moment, bulleted, -- unbulleted, horizontal, ordered, and horizontal ordered lists are supported. local libUtil = require('libraryUtil') local checkType = libUtil.checkType local mTableTools = require('Module:TableTools') local p = {} local listTypes = { ['bulleted'] = true, ['unbulleted'] = true, ['horizontal'] = true, ['ordered'] = true, ['horizontal_ordered'] = true } function p.makeListData(listType, args) -- Constructs a data table to be passed to p.renderList. local data = {} -- Classes data.classes = {} if listType == 'horizontal' or listType == 'horizontal_ordered' then table.insert(data.classes, 'hlist') elseif listType == 'unbulleted' then table.insert(data.classes, 'plainlist') end table.insert(data.classes, args.class) -- Main div style data.style = args.style -- Indent for horizontal lists if listType == 'horizontal' or listType == 'horizontal_ordered' then local indent = tonumber(args.indent) indent = indent and indent * 1.6 or 0 if indent > 0 then data.marginLeft = indent .. 'em' end end -- List style types for ordered lists -- This could be "1, 2, 3", "a, b, c", or a number of others. The list style -- type is either set by the "type" attribute or the "list-style-type" CSS -- property. if listType == 'ordered' or listType == 'horizontal_ordered' then data.listStyleType = args.list_style_type or args['list-style-type'] data.type = args['type'] -- Detect invalid type attributes and attempt to convert them to -- list-style-type CSS properties. if data.type and not data.listStyleType and not tostring(data.type):find('^%s*[1AaIi]%s*$') then data.listStyleType = data.type data.type = nil end end -- List tag type if listType == 'ordered' or listType == 'horizontal_ordered' then data.listTag = 'ol' else data.listTag = 'ul' end -- Start number for ordered lists data.start = args.start if listType == 'horizontal_ordered' then -- Apply fix to get start numbers working with horizontal ordered lists. local startNum = tonumber(data.start) if startNum then data.counterReset = 'listitem ' .. tostring(startNum - 1) end end -- List style -- ul_style and ol_style are included for backwards compatibility. No -- distinction is made for ordered or unordered lists. data.listStyle = args.list_style -- List items -- li_style is included for backwards compatibility. item_style was included -- to be easier to understand for non-coders. data.itemStyle = args.item_style or args.li_style data.items = {} for i, num in ipairs(mTableTools.numKeys(args)) do local item = {} item.content = args[num] item.style = args['item' .. tostring(num) .. '_style'] or args['item_style' .. tostring(num)] item.value = args['item' .. tostring(num) .. '_value'] or args['item_value' .. tostring(num)] table.insert(data.items, item) end return data end function p.renderList(data) -- Renders the list HTML. -- Return the blank string if there are no list items. if type(data.items) ~= 'table' or #data.items < 1 then return '' end -- Render the main div tag. local root = mw.html.create('div') for i, class in ipairs(data.classes or {}) do root:addClass(class) end root:css{['margin-left'] = data.marginLeft} if data.style then root:cssText(data.style) end -- Render the list tag. local list = root:tag(data.listTag or 'ul') list :attr{start = data.start, type = data.type} :css{ ['counter-reset'] = data.counterReset, ['list-style-type'] = data.listStyleType } if data.listStyle then list:cssText(data.listStyle) end -- Render the list items for i, t in ipairs(data.items or {}) do local item = list:tag('li') if data.itemStyle then item:cssText(data.itemStyle) end if t.style then item:cssText(t.style) end item :attr{value = t.value} :wikitext(t.content) end return tostring(root) end function p.renderTrackingCategories(args) local isDeprecated = false -- Tracks deprecated parameters. for k, v in pairs(args) do k = tostring(k) if k:find('^item_style%d+$') or k:find('^item_value%d+$') then isDeprecated = true break end end local ret = '' if isDeprecated then ret = ret .. '[[Category:List templates with deprecated parameters]]' end return ret end function p.makeList(listType, args) if not listType or not listTypes[listType] then error(string.format( "bad argument #1 to 'makeList' ('%s' is not a valid list type)", tostring(listType) ), 2) end checkType('makeList', 2, args, 'table') local data = p.makeListData(listType, args) local list = p.renderList(data) local trackingCategories = p.renderTrackingCategories(args) return list .. trackingCategories end for listType in pairs(listTypes) do p[listType] = function (frame) local mArguments = require('Module:Arguments') local origArgs = mArguments.getArgs(frame) -- Copy all the arguments to a new table, for faster indexing. local args = {} for k, v in pairs(origArgs) do args[k] = v end return p.makeList(listType, args) end end return p gys728jf7k7k0tacxur7d4u3ykwd6zh Πρότυπον:Tag 10 3192 36353 2025-12-15T14:22:44Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<code class="{{#ifeq:{{{wrap|}}}|yes|wrap|nowrap}}" style="{{#ifeq:{{{style|}}}|plain|border:none;background:transparent;|{{{style|}}}}}"><!-- Opening tag -->{{#switch:{{{2|pair}}} |c|close = |s|single |o|open |p|pair = &lt;{{{1|tag}}}{{#if:{{{params|}}}|&#32;{{{params}}}}} }}<!-- Content between tags -->{{#switch:{{{2|pair}}} |c|close = {{{content|}}} |s|single = &#32;&#47;&gt; |o|open = &gt;{{{content|}}} |p|pair = {{#ifeq:{{{1...' 36353 wikitext text/x-wiki <code class="{{#ifeq:{{{wrap|}}}|yes|wrap|nowrap}}" style="{{#ifeq:{{{style|}}}|plain|border:none;background:transparent;|{{{style|}}}}}"><!-- Opening tag -->{{#switch:{{{2|pair}}} |c|close = |s|single |o|open |p|pair = &lt;{{{1|tag}}}{{#if:{{{params|}}}|&#32;{{{params}}}}} }}<!-- Content between tags -->{{#switch:{{{2|pair}}} |c|close = {{{content|}}} |s|single = &#32;&#47;&gt; |o|open = &gt;{{{content|}}} |p|pair = {{#ifeq:{{{1|tag}}}|!--||&gt;}}{{{content|...}}} }}<!-- Closing tag -->{{#switch:{{{2|pair}}} |s|single |o|open = |c|close |p|pair = {{#ifeq:{{{1|tag}}}|!--|--&gt;|&lt;&#47;{{{1|tag}}}&gt;}} }}<!-- --></code><noinclude> {{Documentation}} </noinclude> 5j8i0ksncjr7xuajus50xhkswcyir7j Πρότυπον:Pre2 10 3193 36354 2025-12-15T14:23:49Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<pre<includeonly></includeonly> format="wikitext" style="{{#ifeq:{{{1}}}|scroll|overflow:auto; white-space:pre; width:auto;{{{style|}}}">{{#switch:{{{2}}}|nowiki|nw={{#tag:nowiki|{{{3}}}}}|{{{2}}}}}|white-space:-moz-pre-wrap; white-space:-pre-wrap; white-space:-o-pre-wrap; white-space:pre-wrap; word-wrap:break-word;{{{style|}}}">{{#switch:{{{1}}}|nowiki|nw={{#tag:nowiki|{{{2}}}}}|{{{1}}}}} }}</pre><noinclude> {{Documentation}} <!-- PLEASE ADD CATEG...' 36354 wikitext text/x-wiki <pre<includeonly></includeonly> format="wikitext" style="{{#ifeq:{{{1}}}|scroll|overflow:auto; white-space:pre; width:auto;{{{style|}}}">{{#switch:{{{2}}}|nowiki|nw={{#tag:nowiki|{{{3}}}}}|{{{2}}}}}|white-space:-moz-pre-wrap; white-space:-pre-wrap; white-space:-o-pre-wrap; white-space:pre-wrap; word-wrap:break-word;{{{style|}}}">{{#switch:{{{1}}}|nowiki|nw={{#tag:nowiki|{{{2}}}}}|{{{1}}}}} }}</pre><noinclude> {{Documentation}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> ff87goq5h62irp4xyvimw3v08gmtgce Πρότυπον:Para 10 3194 36355 2025-12-15T14:24:34Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<code class="nowrap" {{SAFESUBST:<noinclude />#if:{{{plain|}}}|style="border:none;background-color:inherit;color:inherit;"}}>&#124;{{SAFESUBST:<noinclude />#if:{{{1|}}}|{{{1}}}&#61;}}{{{2|}}}</code><noinclude> {{Documentation}} <!--Categories and interwikis go near the bottom of the /doc subpage.--> </noinclude>' 36355 wikitext text/x-wiki <code class="nowrap" {{SAFESUBST:<noinclude />#if:{{{plain|}}}|style="border:none;background-color:inherit;color:inherit;"}}>&#124;{{SAFESUBST:<noinclude />#if:{{{1|}}}|{{{1}}}&#61;}}{{{2|}}}</code><noinclude> {{Documentation}} <!--Categories and interwikis go near the bottom of the /doc subpage.--> </noinclude> fzhirwlsi2n3ak3qun5tviym3yisuda Πρότυπον:Tlx 10 3195 36356 2025-12-15T14:25:32Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly><!-- --><code><!-- --><nowiki>{{</nowiki>{{#if:{{{subst|}}} |[[:en:Help:Substitution|subst]]:}}<!-- -->[[{{{LANG|}}}{{{SISTER|}}}{{ns:Template}}:{{{1|}}}|{{{1|}}}]]<!-- -->{{#if:{{{2|}}} |&#124;{{{2}}}}}<!-- -->{{#if:{{{3|}}} |&#124;{{{3}}}}}<!-- -->{{#if:{{{4|}}} |&#124;{{{4}}}}}<!-- -->{{#if:{{{5...' 36356 wikitext text/x-wiki <includeonly><!-- --><code><!-- --><nowiki>{{</nowiki>{{#if:{{{subst|}}} |[[:en:Help:Substitution|subst]]:}}<!-- -->[[{{{LANG|}}}{{{SISTER|}}}{{ns:Template}}:{{{1|}}}|{{{1|}}}]]<!-- -->{{#if:{{{2|}}} |&#124;{{{2}}}}}<!-- -->{{#if:{{{3|}}} |&#124;{{{3}}}}}<!-- -->{{#if:{{{4|}}} |&#124;{{{4}}}}}<!-- -->{{#if:{{{5|}}} |&#124;{{{5}}}}}<!-- -->{{#if:{{{6|}}} |&#124;{{{6}}}}}<!-- -->{{#if:{{{7|}}} |&#124;{{{7}}}}}<!-- -->{{#if:{{{8|}}} |&#124;{{{8}}}}}<!-- -->{{#if:{{{9|}}} |&#124;{{{9}}}}}<!-- -->{{#if:{{{10|}}} |&#124;{{{10}}}}}<!-- -->{{#if:{{{11|}}} |&#124;{{{11}}}}}<!-- -->{{#if:{{{12|}}} |&#124;''…''}}<!-- --><nowiki>}}</nowiki><!-- --></code><!-- --></includeonly><noinclude> {{Documentation}} </noinclude> 8gnp8q3ft07xsh5jpwayr878721q0kw Module:Lua banner 828 3196 36357 2025-12-15T14:26:24Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- This module implements the {{lua}} template. local yesno = require('Module:Yesno') local mList = require('Module:List') local mTableTools = require('Module:TableTools') local mMessageBox = require('Module:Message box') local p = {} function p.main(frame) local origArgs = frame:getParent().args local args = {} for k, v in pairs(origArgs) do v = v:match('^%s*(.-)%s*$') if v ~= '' then args[k] = v end end return p._main(args) end...' 36357 Scribunto text/plain -- This module implements the {{lua}} template. local yesno = require('Module:Yesno') local mList = require('Module:List') local mTableTools = require('Module:TableTools') local mMessageBox = require('Module:Message box') local p = {} function p.main(frame) local origArgs = frame:getParent().args local args = {} for k, v in pairs(origArgs) do v = v:match('^%s*(.-)%s*$') if v ~= '' then args[k] = v end end return p._main(args) end function p._main(args) local modules = mTableTools.compressSparseArray(args) local box = p.renderBox(modules) local trackingCategories = p.renderTrackingCategories(args, modules) return box .. trackingCategories end function p.renderBox(modules) local boxArgs = {} if #modules < 1 then boxArgs.text = '<strong class="error">Σφάλμα: δεν ορίστηκαν modules</strong>' else local moduleLinks = {} for i, module in ipairs(modules) do moduleLinks[i] = string.format('[[:%s]]', module) end local moduleList = mList.makeList('bulleted', moduleLinks) boxArgs.text = 'Χρησιμοποιεί [[Βικιπαίδεια:Lua|Lua]]:\n' .. moduleList end boxArgs.type = 'notice' boxArgs.small = true boxArgs.image = '[[File:Lua-logo-nolabel.svg|30px|alt=Lua λογότυπο|link=Βικιπαίδεια:Lua]]' return mMessageBox.main('mbox', boxArgs) end function p.renderTrackingCategories(args, modules, titleObj) if yesno(args.nocat) then return '' end local cats = {} -- Error category if #modules < 1 then cats[#cats + 1] = 'Πρότυπα Lua με σφάλματα' end -- Lua templates category titleObj = titleObj or mw.title.getCurrentTitle() local subpageBlacklist = { doc = true, sandbox = true, sandbox2 = true, testcases = true } if titleObj.namespace == 10 and not subpageBlacklist[titleObj.subpageText] then local category = args.category if not category then local categories = { ['Module:String'] = 'Πρότυπα βασισμένα στο Lua String', ['Module:Math'] = 'Πρότυπα βασισμένα στο Math Lua module', ['Module:BaseConvert'] = 'Πρότυπα βασισμένα στο BaseConvert Lua module', ['Module:Citation'] = 'Πρότυπα τεκμηρίωσης βασισμένα στη Lua' } categories['Module:Citation/CS1'] = categories['Module:Citation'] category = modules[1] and categories[modules[1]] category = category or 'Πρότυπα βασισμένα στη Lua' end cats[#cats + 1] = category end for i, cat in ipairs(cats) do cats[i] = string.format('[[Category:%s]]', cat) end return table.concat(cats) end return p q9brunodfgxujullq005gdlnrge715b Module:Message box 828 3197 36358 2025-12-15T14:27:15Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'require('strict') local getArgs local yesno = require('Module:Yesno') local lang = mw.language.getContentLanguage() local CONFIG_MODULE = 'Module:Message box/configuration' local DEMOSPACES = {talk = 'tmbox', image = 'imbox', file = 'imbox', category = 'cmbox', article = 'ambox', main = 'ambox'} -------------------------------------------------------------------------------- -- Helper functions ----------------------------------------------------...' 36358 Scribunto text/plain require('strict') local getArgs local yesno = require('Module:Yesno') local lang = mw.language.getContentLanguage() local CONFIG_MODULE = 'Module:Message box/configuration' local DEMOSPACES = {talk = 'tmbox', image = 'imbox', file = 'imbox', category = 'cmbox', article = 'ambox', main = 'ambox'} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function getTitleObject(...) -- Get the title object, passing the function through pcall -- in case we are over the expensive function count limit. local success, title = pcall(mw.title.new, ...) if success then return title end end local function union(t1, t2) -- Returns the union of two arrays. local vals = {} for i, v in ipairs(t1) do vals[v] = true end for i, v in ipairs(t2) do vals[v] = true end local ret = {} for k in pairs(vals) do table.insert(ret, k) end table.sort(ret) return ret end local function getArgNums(args, prefix) local nums = {} for k, v in pairs(args) do local num = mw.ustring.match(tostring(k), '^' .. prefix .. '([1-9]%d*)$') if num then table.insert(nums, tonumber(num)) end end table.sort(nums) return nums end -------------------------------------------------------------------------------- -- Box class definition -------------------------------------------------------------------------------- local MessageBox = {} MessageBox.__index = MessageBox function MessageBox.new(boxType, args, cfg) args = args or {} local obj = {} -- Set the title object and the namespace. obj.title = getTitleObject(args.page) or mw.title.getCurrentTitle() -- Set the config for our box type. obj.cfg = cfg[boxType] if not obj.cfg then local ns = obj.title.namespace -- boxType is "mbox" or invalid input if args.demospace and args.demospace ~= '' then -- implement demospace parameter of mbox local demospace = string.lower(args.demospace) if DEMOSPACES[demospace] then -- use template from DEMOSPACES obj.cfg = cfg[DEMOSPACES[demospace]] elseif string.find( demospace, 'talk' ) then -- demo as a talk page obj.cfg = cfg.tmbox else -- default to ombox obj.cfg = cfg.ombox end elseif ns == 0 then obj.cfg = cfg.ambox -- main namespace elseif ns == 6 then obj.cfg = cfg.imbox -- file namespace elseif ns == 14 then obj.cfg = cfg.cmbox -- category namespace else local nsTable = mw.site.namespaces[ns] if nsTable and nsTable.isTalk then obj.cfg = cfg.tmbox -- any talk namespace else obj.cfg = cfg.ombox -- other namespaces or invalid input end end end -- Set the arguments, and remove all blank arguments except for the ones -- listed in cfg.allowBlankParams. do local newArgs = {} for k, v in pairs(args) do if v ~= '' then newArgs[k] = v end end for i, param in ipairs(obj.cfg.allowBlankParams or {}) do newArgs[param] = args[param] end obj.args = newArgs end -- Define internal data structure. obj.categories = {} obj.classes = {} -- For lazy loading of [[Module:Category handler]]. obj.hasCategories = false return setmetatable(obj, MessageBox) end function MessageBox:addCat(ns, cat, sort) if not cat then return nil end if sort then cat = string.format('[[Category:%s|%s]]', cat, sort) else cat = string.format('[[Category:%s]]', cat) end self.hasCategories = true self.categories[ns] = self.categories[ns] or {} table.insert(self.categories[ns], cat) end function MessageBox:addClass(class) if not class then return nil end table.insert(self.classes, class) end function MessageBox:setParameters() local args = self.args local cfg = self.cfg -- Get type data. self.type = args.type local typeData = cfg.types[self.type] self.invalidTypeError = cfg.showInvalidTypeError and self.type and not typeData typeData = typeData or cfg.types[cfg.default] self.typeClass = typeData.class self.typeImage = typeData.image self.typeImageNeedsLink = typeData.imageNeedsLink -- Find if the box has been wrongly substituted. self.isSubstituted = cfg.substCheck and args.subst == 'SUBST' -- Find whether we are using a small message box. self.isSmall = cfg.allowSmall and ( cfg.smallParam and args.small == cfg.smallParam or not cfg.smallParam and yesno(args.small) ) -- Add attributes, classes and styles. self.id = args.id self.name = args.name if self.name then self:addClass('box-' .. string.gsub(self.name,' ','_')) end if yesno(args.plainlinks) ~= false then self:addClass('plainlinks') end for _, class in ipairs(cfg.classes or {}) do self:addClass(class) end if self.isSmall then self:addClass(cfg.smallClass or 'mbox-small') end self:addClass(self.typeClass) self:addClass(args.class) self.style = args.style self.attrs = args.attrs -- Set text style. self.textstyle = args.textstyle -- Find if we are on the template page or not. This functionality is only -- used if useCollapsibleTextFields is set, or if both cfg.templateCategory -- and cfg.templateCategoryRequireName are set. self.useCollapsibleTextFields = cfg.useCollapsibleTextFields if self.useCollapsibleTextFields or cfg.templateCategory and cfg.templateCategoryRequireName then if self.name then local templateName = mw.ustring.match( self.name, '^[tT][eE][mM][pP][lL][aA][tT][eE][%s_]*:[%s_]*(.*)$' ) or self.name templateName = 'Template:' .. templateName self.templateTitle = getTitleObject(templateName) end self.isTemplatePage = self.templateTitle and mw.title.equals(self.title, self.templateTitle) end -- Process data for collapsible text fields. At the moment these are only -- used in {{ambox}}. if self.useCollapsibleTextFields then -- Get the self.issue value. if self.isSmall and args.smalltext then self.issue = args.smalltext else local sect if args.sect == '' then sect = 'This ' .. (cfg.sectionDefault or 'page') elseif type(args.sect) == 'string' then sect = 'This ' .. args.sect end local issue = args.issue issue = type(issue) == 'string' and issue ~= '' and issue or nil local text = args.text text = type(text) == 'string' and text or nil local issues = {} table.insert(issues, sect) table.insert(issues, issue) table.insert(issues, text) self.issue = table.concat(issues, ' ') end -- Get the self.talk value. local talk = args.talk -- Show talk links on the template page or template subpages if the talk -- parameter is blank. if talk == '' and self.templateTitle and ( mw.title.equals(self.templateTitle, self.title) or self.title:isSubpageOf(self.templateTitle) ) then talk = '#' elseif talk == '' then talk = nil end if talk then -- If the talk value is a talk page, make a link to that page. Else -- assume that it's a section heading, and make a link to the talk -- page of the current page with that section heading. local talkTitle = getTitleObject(talk) local talkArgIsTalkPage = true if not talkTitle or not talkTitle.isTalkPage then talkArgIsTalkPage = false talkTitle = getTitleObject( self.title.text, mw.site.namespaces[self.title.namespace].talk.id ) end if talkTitle and talkTitle.exists then local talkText if self.isSmall then local talkLink = talkArgIsTalkPage and talk or (talkTitle.prefixedText .. '#' .. talk) talkText = string.format('([[%s|talk]])', talkLink) else talkText = 'Relevant discussion may be found on' if talkArgIsTalkPage then talkText = string.format( '%s [[%s|%s]].', talkText, talk, talkTitle.prefixedText ) else talkText = string.format( '%s the [[%s#%s|talk page]].', talkText, talkTitle.prefixedText, talk ) end end self.talk = talkText end end -- Get other values. self.fix = args.fix ~= '' and args.fix or nil local date if args.date and args.date ~= '' then date = args.date elseif args.date == '' and self.isTemplatePage then date = lang:formatDate('F Y') end if date then self.date = string.format(" <span class='date-container'><i>(<span class='date'>%s</span>)</i></span>", date) end self.info = args.info if yesno(args.removalnotice) then self.removalNotice = cfg.removalNotice end end -- Set the non-collapsible text field. At the moment this is used by all box -- types other than ambox, and also by ambox when small=yes. if self.isSmall then self.text = args.smalltext or args.text else self.text = args.text end -- Set the below row. self.below = cfg.below and args.below -- General image settings. self.imageCellDiv = not self.isSmall and cfg.imageCellDiv self.imageEmptyCell = cfg.imageEmptyCell -- Left image settings. local imageLeft = self.isSmall and args.smallimage or args.image if cfg.imageCheckBlank and imageLeft ~= 'blank' and imageLeft ~= 'none' or not cfg.imageCheckBlank and imageLeft ~= 'none' then self.imageLeft = imageLeft if not imageLeft then local imageSize = self.isSmall and (cfg.imageSmallSize or '30x30px') or '40x40px' self.imageLeft = string.format('[[File:%s|%s%s|alt=]]', self.typeImage or 'Information icon4.svg', imageSize, self.typeImageNeedsLink and "" or "|link=" ) end end -- Right image settings. local imageRight = self.isSmall and args.smallimageright or args.imageright if not (cfg.imageRightNone and imageRight == 'none') then self.imageRight = imageRight end -- set templatestyles self.base_templatestyles = cfg.templatestyles self.templatestyles = args.templatestyles end function MessageBox:setMainspaceCategories() local args = self.args local cfg = self.cfg if not cfg.allowMainspaceCategories then return nil end local nums = {} for _, prefix in ipairs{'cat', 'category', 'all'} do args[prefix .. '1'] = args[prefix] nums = union(nums, getArgNums(args, prefix)) end -- The following is roughly equivalent to the old {{Ambox/category}}. local date = args.date date = type(date) == 'string' and date local preposition = 'from' for _, num in ipairs(nums) do local mainCat = args['cat' .. tostring(num)] or args['category' .. tostring(num)] local allCat = args['all' .. tostring(num)] mainCat = type(mainCat) == 'string' and mainCat allCat = type(allCat) == 'string' and allCat if mainCat and date and date ~= '' then local catTitle = string.format('%s %s %s', mainCat, preposition, date) self:addCat(0, catTitle) catTitle = getTitleObject('Category:' .. catTitle) if not catTitle or not catTitle.exists then self:addCat(0, 'Λήμματα με μη έγκυρη παράμετρο ημερομηνίας σε πρότυπο') end elseif mainCat and (not date or date == '') then self:addCat(0, mainCat) end if allCat then self:addCat(0, allCat) end end end function MessageBox:setTemplateCategories() local args = self.args local cfg = self.cfg -- Add template categories. if cfg.templateCategory then if cfg.templateCategoryRequireName then if self.isTemplatePage then self:addCat(10, cfg.templateCategory) end elseif not self.title.isSubpage then self:addCat(10, cfg.templateCategory) end end -- Add template error categories. if cfg.templateErrorCategory then local templateErrorCategory = cfg.templateErrorCategory local templateCat, templateSort if not self.name and not self.title.isSubpage then templateCat = templateErrorCategory elseif self.isTemplatePage then local paramsToCheck = cfg.templateErrorParamsToCheck or {} local count = 0 for i, param in ipairs(paramsToCheck) do if not args[param] then count = count + 1 end end if count > 0 then templateCat = templateErrorCategory templateSort = tostring(count) end if self.categoryNums and #self.categoryNums > 0 then templateCat = templateErrorCategory templateSort = 'C' end end self:addCat(10, templateCat, templateSort) end end function MessageBox:setAllNamespaceCategories() -- Set categories for all namespaces. if self.invalidTypeError then local allSort = (self.title.namespace == 0 and 'Main:' or '') .. self.title.prefixedText self:addCat('all', 'Παράμετρος πλαισίου μηνύματος της Βικιπαίδειας που χρειάζεται διόρθωση', allSort) end if self.isSubstituted then self:addCat('all', 'Σελίδες με εσφαλμένως υποκαταστημένα πρότυπα') end end function MessageBox:setCategories() if self.title.namespace == 0 then self:setMainspaceCategories() elseif self.title.namespace == 10 then self:setTemplateCategories() end self:setAllNamespaceCategories() end function MessageBox:renderCategories() if not self.hasCategories then -- No categories added, no need to pass them to Category handler so, -- if it was invoked, it would return the empty string. -- So we shortcut and return the empty string. return "" end -- Convert category tables to strings and pass them through -- [[Module:Category handler]]. return require('Module:Category handler')._main{ main = table.concat(self.categories[0] or {}), template = table.concat(self.categories[10] or {}), all = table.concat(self.categories.all or {}), nocat = self.args.nocat, page = self.args.page } end function MessageBox:export() local root = mw.html.create() -- Add the subst check error. if self.isSubstituted and self.name then root:tag('b') :addClass('error') :wikitext(string.format( 'Το πρότυπο <code>%s[[Πρότυπο:%s|%s]]%s</code> έχει εσφαλμένως υποκατασταθεί.', mw.text.nowiki('{{'), self.name, self.name, mw.text.nowiki('}}') )) end local frame = mw.getCurrentFrame() root:wikitext(frame:extensionTag{ name = 'templatestyles', args = { src = self.base_templatestyles }, }) -- Add support for a single custom templatestyles sheet. Undocumented as -- need should be limited and many templates using mbox are substed; we -- don't want to spread templatestyles sheets around to arbitrary places if self.templatestyles then root:wikitext(frame:extensionTag{ name = 'templatestyles', args = { src = self.templatestyles }, }) end -- Create the box table. local boxTable = root:tag('table') boxTable:attr('id', self.id or nil) for i, class in ipairs(self.classes or {}) do boxTable:addClass(class or nil) end boxTable :cssText(self.style or nil) :attr('role', 'presentation') if self.attrs then boxTable:attr(self.attrs) end -- Add the left-hand image. local row = boxTable:tag('tr') if self.imageLeft then local imageLeftCell = row:tag('td'):addClass('mbox-image') if self.imageCellDiv then -- If we are using a div, redefine imageLeftCell so that the image -- is inside it. Divs use style="width: 52px;", which limits the -- image width to 52px. If any images in a div are wider than that, -- they may overlap with the text or cause other display problems. imageLeftCell = imageLeftCell:tag('div'):addClass('mbox-image-div') end imageLeftCell:wikitext(self.imageLeft or nil) elseif self.imageEmptyCell then -- Some message boxes define an empty cell if no image is specified, and -- some don't. The old template code in templates where empty cells are -- specified gives the following hint: "No image. Cell with some width -- or padding necessary for text cell to have 100% width." row:tag('td') :addClass('mbox-empty-cell') end -- Add the text. local textCell = row:tag('td'):addClass('mbox-text') if self.useCollapsibleTextFields then -- The message box uses advanced text parameters that allow things to be -- collapsible. At the moment, only ambox uses this. textCell:cssText(self.textstyle or nil) local textCellDiv = textCell:tag('div') textCellDiv :addClass('mbox-text-span') :wikitext(self.issue or nil) if (self.talk or self.fix) then textCellDiv:tag('span') :addClass('hide-when-compact') :wikitext(self.talk and (' ' .. self.talk) or nil) :wikitext(self.fix and (' ' .. self.fix) or nil) end textCellDiv:wikitext(self.date and (' ' .. self.date) or nil) if self.info and not self.isSmall then textCellDiv :tag('span') :addClass('hide-when-compact') :wikitext(self.info and (' ' .. self.info) or nil) end if self.removalNotice then textCellDiv:tag('span') :addClass('hide-when-compact') :tag('i') :wikitext(string.format(" (%s)", self.removalNotice)) end else -- Default text formatting - anything goes. textCell :cssText(self.textstyle or nil) :wikitext(self.text or nil) end -- Add the right-hand image. if self.imageRight then local imageRightCell = row:tag('td'):addClass('mbox-imageright') if self.imageCellDiv then -- If we are using a div, redefine imageRightCell so that the image -- is inside it. imageRightCell = imageRightCell:tag('div'):addClass('mbox-image-div') end imageRightCell :wikitext(self.imageRight or nil) end -- Add the below row. if self.below then boxTable:tag('tr') :tag('td') :attr('colspan', self.imageRight and '3' or '2') :addClass('mbox-text') :cssText(self.textstyle or nil) :wikitext(self.below or nil) end -- Add error message for invalid type parameters. if self.invalidTypeError then root:tag('div') :addClass('mbox-invalid-type') :wikitext(string.format( 'This message box is using an invalid "type=%s" parameter and needs fixing.', self.type or '' )) end -- Add categories. root:wikitext(self:renderCategories() or nil) return tostring(root) end -------------------------------------------------------------------------------- -- Exports -------------------------------------------------------------------------------- local p, mt = {}, {} function p._exportClasses() -- For testing. return { MessageBox = MessageBox } end function p.main(boxType, args, cfgTables) local box = MessageBox.new(boxType, args, cfgTables or mw.loadData(CONFIG_MODULE)) box:setParameters() box:setCategories() return box:export() end function mt.__index(t, k) return function (frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return t.main(k, getArgs(frame, {trim = false, removeBlanks = false})) end end return setmetatable(p, mt) kxzzoqpa33ednsat2sdvfyknevn9pqg Module:Message box/configuration 828 3198 36359 2025-12-15T14:28:08Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-------------------------------------------------------------------------------- -- Message box configuration -- -- -- -- This module contains configuration data for [[Module:Message box]]. -- -------------------------------------------------------------------------------- return { ambox = { types = { speedy = {...' 36359 Scribunto text/plain -------------------------------------------------------------------------------- -- Message box configuration -- -- -- -- This module contains configuration data for [[Module:Message box]]. -- -------------------------------------------------------------------------------- return { ambox = { types = { speedy = { class = 'ambox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'ambox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'ambox-content', image = 'Ambox important.svg' }, style = { class = 'ambox-style', image = 'Edit-clear.svg' }, move = { class = 'ambox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'ambox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, notice = { class = 'ambox-notice', image = 'Information icon4.svg' } }, default = 'notice', allowBlankParams = {'talk', 'sect', 'date', 'issue', 'fix', 'subst', 'hidden'}, allowSmall = true, smallParam = 'left', smallClass = 'mbox-small-left', substCheck = true, classes = {'metadata', 'ambox'}, imageEmptyCell = true, imageCheckBlank = true, imageSmallSize = '20x20px', imageCellDiv = true, useCollapsibleTextFields = true, imageRightNone = true, sectionDefault = 'article', allowMainspaceCategories = true, templateCategory = 'Ετικέτες σήμανσης άρθρων', templateCategoryRequireName = false, templateErrorCategory = 'Article message templates with missing parameters', templateErrorParamsToCheck = {'issue', 'fix', 'subst'}, removalNotice = '<small>Εκκρεμεί σύνδεσμος με οδηγίες για το πως και πότε αφαιρείται αυτό το μήνυμα</small>', templatestyles = 'Module:Message box/ambox.css' }, cmbox = { types = { speedy = { class = 'cmbox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'cmbox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'cmbox-content', image = 'Ambox important.svg' }, style = { class = 'cmbox-style', image = 'Edit-clear.svg' }, move = { class = 'cmbox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'cmbox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, notice = { class = 'cmbox-notice', image = 'Information icon4.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'cmbox'}, imageEmptyCell = true, templatestyles = 'Module:Message box/cmbox.css' }, fmbox = { types = { warning = { class = 'fmbox-warning', image = 'Ambox warning pn.svg' }, editnotice = { class = 'fmbox-editnotice', image = 'Information icon4.svg' }, system = { class = 'fmbox-system', image = 'Information icon4.svg' } }, default = 'system', showInvalidTypeError = true, classes = {'fmbox'}, imageEmptyCell = false, imageRightNone = false, templatestyles = 'Module:Message box/fmbox.css' }, imbox = { types = { speedy = { class = 'imbox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'imbox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'imbox-content', image = 'Ambox important.svg' }, style = { class = 'imbox-style', image = 'Edit-clear.svg' }, move = { class = 'imbox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'imbox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, license = { class = 'imbox-license licensetpl', image = 'Imbox-license.svg' }, ["license-related"] = { class = 'imbox-license', image = 'Imbox-license.svg' }, featured = { class = 'imbox-featured', image = 'Cscr-featured.svg', imageNeedsLink = true }, notice = { class = 'imbox-notice', image = 'Information icon4.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'imbox'}, imageEmptyCell = true, below = true, templateCategory = 'File message boxes', templatestyles = 'Module:Message box/imbox.css' }, ombox = { types = { speedy = { class = 'ombox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'ombox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'ombox-content', image = 'Ambox important.svg' }, style = { class = 'ombox-style', image = 'Edit-clear.svg' }, move = { class = 'ombox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'ombox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, notice = { class = 'ombox-notice', image = 'Information icon4.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'ombox'}, allowSmall = true, imageEmptyCell = true, imageRightNone = true, templatestyles = 'Module:Message box/ombox.css' }, tmbox = { types = { speedy = { class = 'tmbox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'tmbox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'tmbox-content', image = 'Ambox important.svg' }, style = { class = 'tmbox-style', image = 'Edit-clear.svg' }, move = { class = 'tmbox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'tmbox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, notice = { class = 'tmbox-notice', image = 'Information icon4.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'tmbox'}, allowSmall = true, imageRightNone = true, imageEmptyCell = true, templateCategory = 'Talk message boxes', templatestyles = 'Module:Message box/tmbox.css' } } ldp14f687e3couk3fbctieck1oy25xp Module:Message box/ombox.css 828 3199 36360 2025-12-15T14:28:54Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '.ombox { margin: 4px 0; border-collapse: collapse; border: 1px solid #a2a9b1; /* Default "notice" gray */ background-color: var(--background-color-neutral-subtle, #f8f9fa); box-sizing: border-box; color: var(--color-base, #202122); } /* For the "small=yes" option. */ .ombox.mbox-small { font-size: 88%; line-height: 1.25em; } .ombox-speedy { border: 2px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } .ombox-...' 36360 sanitized-css text/css .ombox { margin: 4px 0; border-collapse: collapse; border: 1px solid #a2a9b1; /* Default "notice" gray */ background-color: var(--background-color-neutral-subtle, #f8f9fa); box-sizing: border-box; color: var(--color-base, #202122); } /* For the "small=yes" option. */ .ombox.mbox-small { font-size: 88%; line-height: 1.25em; } .ombox-speedy { border: 2px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } .ombox-delete { border: 2px solid #b32424; /* Red */ } .ombox-content { border: 1px solid #f28500; /* Orange */ } .ombox-style { border: 1px solid #fc3; /* Yellow */ } .ombox-move { border: 1px solid #9932cc; /* Purple */ } .ombox-protection { border: 2px solid #a2a9b1; /* Gray-gold */ } .ombox .mbox-text { border: none; /* @noflip */ padding: 0.25em 0.9em; width: 100%; } .ombox .mbox-image { border: none; /* @noflip */ padding: 2px 0 2px 0.9em; text-align: center; } .ombox .mbox-imageright { border: none; /* @noflip */ padding: 2px 0.9em 2px 0; text-align: center; } /* An empty narrow cell */ .ombox .mbox-empty-cell { border: none; padding: 0; width: 1px; } .ombox .mbox-invalid-type { text-align: center; } @media (min-width: 720px) { .ombox { margin: 4px 10%; } .ombox.mbox-small { /* @noflip */ clear: right; /* @noflip */ float: right; /* @noflip */ margin: 4px 0 4px 1em; width: 238px; } } /** T367463 */ body.skin--responsive table.ombox img { max-width: none !important; } @media screen { html.skin-theme-clientpref-night .ombox-speedy { background-color: #310402; /* Dark red, same hue/saturation as light */ } } @media screen and ( prefers-color-scheme: dark) { html.skin-theme-clientpref-os .ombox-speedy { background-color: #310402; /* Dark red, same hue/saturation as light */ } } cull3cnbb7vcu7kqk2u43t3wa025kjy Πρότυπον:Υποσελίδα τεκμηριώσεως 10 3200 36361 2025-12-15T14:32:48Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{#ifeq: {{lc:{{SUBPAGENAME}}}} | {{{override|τεκμηρίωση}}} | <!-- doc page --> </includeonly>{{ #ifeq: {{{doc-notice|show}}} | show | {{#invoke:message box | type = notice | image = [[file:Edit-copy green.svg|link=]] | text = '''Yποσελίδα τεκμηριώσεως για το {{{1|[[{{SUBJECTSPACE}}:{{BASEPAGENAME}}]]}}}'''.<br /> Περιέχει πληροφορίαι χρήσεως, κατηγορίαι...' 36361 wikitext text/x-wiki <includeonly>{{#ifeq: {{lc:{{SUBPAGENAME}}}} | {{{override|τεκμηρίωση}}} | <!-- doc page --> </includeonly>{{ #ifeq: {{{doc-notice|show}}} | show | {{#invoke:message box | type = notice | image = [[file:Edit-copy green.svg|link=]] | text = '''Yποσελίδα τεκμηριώσεως για το {{{1|[[{{SUBJECTSPACE}}:{{BASEPAGENAME}}]]}}}'''.<br /> Περιέχει πληροφορίαι χρήσεως, κατηγορίαι και περιεχόμενον ό, ἔστιν ουκ ἀπό μέρος τοῦ ἀρχικού {{#ifeq:{{SUBJECTSPACE}}|{{ns:module}}|module|προτύπου}}. }} }}{{DEFAULTSORT:{{PAGENAME}}}}{{ #if: {{{inhibit|}}} | <!-- να παραλείπεται η αυτόματη κατηγοριοποίηση --> | <includeonly>[[Κατηγορία:Σελίδες τεκμηρίωσης προτύπων]]</includeonly> }}<includeonly> | <!-- εάν δεν βρίσκεται σε υποσελίδα /τεκμηρίωση, να μη συμβαίνει τίποτα --> }}</includeonly><noinclude>[[Κατηγορία:Σελίδες τεκμηρίωσης προτύπων| ]]</noinclude> oing08tobavtbyrg9omz9hhivmrwx9y Πρότυπον:Περισσότεραι πληροφορίαι 10 3201 36363 36362 2025-12-15T14:34:58Z Εὐθυμένης 2777 36363 wikitext text/x-wiki :<div class="noprint">''Περισσότερες πληροφορίες&#58; [[{{{1}}}|{{{l1|{{{1}}}}}}]]{{#if:{{{2| }}} |{{#if:{{{3|}}}|,&#32;|&#32;και&#32;}}[[{{{2}}}|{{{l2|{{{2}}}}}}]]}}{{#if:{{{3|}}} |{{#if:{{{4|}}}|,&#32;|&#32;και&#32;}}[[{{{3}}}|{{{l3|{{{3}}}}}}]]}}{{#if:{{{4|}}} |{{#if:{{{5|}}}|,&#32;|&#32;και&#32;}}[[{{{4}}}|{{{l4|{{{4}}}}}}]]}}{{#if:{{{5|}}} |{{#if:{{{6|}}}|,&#32;|&#32;και&#32;}}[[{{{5}}}|{{{l5|{{{5}}}}}}]]}}{{#if:{{{6|}}} |{{#if:{{{7|}}}|,&#32;|&#32;και&#32;}}[[{{{6}}}|{{{l6|{{{6}}}}}}]]}}{{#if:{{{7|}}} |{{#if:{{{8|}}}|,&#32;|&#32;και&#32;}}[[{{{7}}}|{{{l7|{{{7}}}}}}]]}}{{#if:{{{8|}}} |{{#if:{{{9|}}}|,&#32;|&#32;και&#32;}}[[{{{8}}}|{{{l8|{{{8}}}}}}]]}}{{#if:{{{9|}}} |{{#if:{{{10|}}}|,&#32;|&#32;και&#32;}}[[{{{9}}}|{{{l9|{{{9}}}}}}]]}}{{#if:{{{10|}}} |&#32;και [[{{{10}}}|{{{l10|{{{10}}}}}}]]}}''{{#if:{{{11| }}}|&#32; (πάρα πολλές παράμετροι στο &#123;&#123;[[Πρότυπο:κύριο|κύριο]]&#125;&#125;)}}</div><noinclude> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]] {{documentation}} </noinclude> gdkvo53arr6d6v9lazwmkkn6g5jgmax Κατηγορίαν:Σελίδες με σφάλματα δέσμης ενεργειών 14 3202 36365 36364 2025-12-15T14:36:56Z Εὐθυμένης 2777 36365 wikitext text/x-wiki {{hiddencat}} [[Κατηγορίαν:Επιμέλεια Βικιπαίδειας]] 1fciy6n5ov0iu21nfb2d1v6sr6y5vh2 Κατηγορίαν:Επιμέλεια Βικιπαίδειας 14 3203 36367 36366 2025-12-15T14:44:05Z Εὐθυμένης 2777 36367 wikitext text/x-wiki {{hiddencat}} Ἐδῶ εἰσίν λήμματα, ἃ εἶναι κάπως ἀνεπτυγμένα, ἀλλὰ χρειάζονται ἐπιμέλειαν ἵνα προσεγγίσουν σον βαθμόν τῶν ἄλλων λημμάτων. Ἡ ἐπιμέλεια, ἣν χρειάζονται, δύναται νά εἶναι ὀρθογραφική-γραμματική, προσθήκη συνδέσμων Wiki ἢ μορφοποίησις. [[Κατηγορίαν:Διαχείριση Βικιπαίδειας]] [[Κατηγορίαν:Βικιπαίδεια λήμματα]] 5f9l5jp8oje43y08at18xjhzwnft0c5 Πρότυπον:Cmbox 10 3204 36368 2025-12-15T14:45:20Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<table class="plainlinks cmbox {{#switch:{{{type|}}} | speedy = cmbox-speedy | delete = cmbox-delete | content = cmbox-content | style = cmbox-style | move = cmbox-move | protection = cmbox-protection | notice <!-- notice = default --> | #default = cmbox-notice }} {{{class|}}}" style="margin: 3px 10%; border-collapse: collapse; border: 1px solid #aaa; background: #DFE8FF; {{#switch:{{{type|}}} | speedy = margin-...' 36368 wikitext text/x-wiki <table class="plainlinks cmbox {{#switch:{{{type|}}} | speedy = cmbox-speedy | delete = cmbox-delete | content = cmbox-content | style = cmbox-style | move = cmbox-move | protection = cmbox-protection | notice <!-- notice = default --> | #default = cmbox-notice }} {{{class|}}}" style="margin: 3px 10%; border-collapse: collapse; border: 1px solid #aaa; background: #DFE8FF; {{#switch:{{{type|}}} | speedy = margin-top: 4px; margin-bottom: 4px; border: 4px solid #b22222; background: #FFDBDB; | delete = background: #FFDBDB; | content = background: #FFE7CE; | style = background: #FFF9DB; | move = background: #E4D8FF; | protection = background: #EFEFE1; | notice <!-- notice = default --> | #default = background: #D8E8FF; }} {{{style|}}}"> <tr> {{#ifeq:{{{image|}}}|none | <!-- No image. Cell with some width or padding necessary for text cell to have 100% width. --><td class="mbox-empty-cell"></td> | <td class="mbox-image" style="border: none; padding: 2px 0 2px 0.9em; text-align: center;"> {{#if:{{{image|}}} | {{{image}}} | [[File:{{#switch:{{{type|}}} | speedy = Cmbox deletion.png | delete = Cmbox deletion.png | content = Cmbox content.png | style = Edit-clear.svg | move = Cmbox move.png | protection = Cmbox protection.png | notice <!-- notice = default --> | #default = Cmbox notice.png }}|40x40px|link=|alt=]] }}</td> }} <td class="mbox-text" style="border: none; padding: 0.25em 0.9em; width: 100%; {{{textstyle|}}}"> {{{text}}} </td> {{#if:{{{imageright|}}} | <td class="mbox-imageright" style="border: none; padding: 2px 0.9em 2px 0; text-align: center;"> {{{imageright}}} </td> }} </tr> </table><!-- Detect and report usage with faulty "type" parameter: -->{{#switch:{{{type|}}} | <!-- No type fed, is also valid input --> | speedy | delete | content | style | move | protection | notice = <!-- Do nothing, valid "type" --> | #default = <div style="text-align: center;">This message box is using an invalid "type={{{type|}}}" parameter and needs fixing.</div>[[Κατηγορίαν:Wikipedia message box parameter needs fixing|{{main other|Main:}}{{FULLPAGENAME}}]]<!-- Sort on namespace --> }}<noinclude> {{documentation}} [[Κατηγορίαν:Πρότυπα κατηγοριών]] <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> fn72i6kcvqf7o7qp7nkufbiamzsbro3 Κατηγορίαν:Πρότυπα κατηγοριών 14 3205 36369 2025-12-15T14:46:11Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '[[Κατηγορίαν:Πρότυπα Βικιπαίδειας|κατηγοριων]]' 36369 wikitext text/x-wiki [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|κατηγοριων]] tkzdzyvud78mk62bqfylfbkldua9s6r Πρότυπον:Hiddencat 10 3206 36636 36370 2025-12-15T20:27:30Z Εὐθυμένης 2777 36636 wikitext text/x-wiki __HIDDENCAT__{{Cmbox | type = notice | image = [[File:Tunnel icon2.svg|60x50px|alt=|link=]] | textstyle = | text = Αυτή είναι μία '''[[:Κατηγορίαν:Κρυμμέν κατηγορίας|κρυμμένη κατηγορία]]''' που διευκολύνει τη συντήρηση της Βικιπαίδειας. Αυτή η κατηγορία δεν εμφανίζεται στις σελίδες όπου ανήκει, εκτός κι αν [https://el.wikipedia.org/wiki/Special:Preferences#mw-prefsection-rendering-advancedrendering o χρήστης προτιμά να εμφανίζεται].{{#if:{{{text|}}}|<hr/>{{{text|}}}}} }}<noinclude> {{Documentation|content= <templatedata> { "params": {}, "description": "Σήμανση κατηγοριών συντήρησης που είναι κρυφές από τους αναγνώστες (ταυτόχρονα κάνει και την κατηγορία κρυφή).", "format": "block" } </templatedata> }} </noinclude> jk8sdf6w9z1haxl7dicwoz65awje177 Πρότυπον:Lua 10 3207 36371 2025-12-15T14:51:03Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{#invoke:Lua banner|main}}</includeonly><noinclude> {{Lua|Module:Lua banner}} {{documentation}} <!-- Categories go on the /doc subpage and interwikis go on Wikidata. --> </noinclude>' 36371 wikitext text/x-wiki <includeonly>{{#invoke:Lua banner|main}}</includeonly><noinclude> {{Lua|Module:Lua banner}} {{documentation}} <!-- Categories go on the /doc subpage and interwikis go on Wikidata. --> </noinclude> pnmjp3f3fl321yf2jpg5syebi412n7b Κατηγορίαν:Πρότυπα βασισμένα στη Lua 14 3208 36372 2025-12-15T14:52:33Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'Πρότυπα που βασίζονται στη [[Lua]], δηλαδή χρησιμοποιούν ''modules'' γραμμένα στη Lua. [[Κατηγορίαν:Πρότυπα|Lua]]' 36372 wikitext text/x-wiki Πρότυπα που βασίζονται στη [[Lua]], δηλαδή χρησιμοποιούν ''modules'' γραμμένα στη Lua. [[Κατηγορίαν:Πρότυπα|Lua]] ge3k4681wad4ht2ginedjs3frt1vfew Module:No globals 828 3209 36374 2025-12-15T14:54:21Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local mt = getmetatable(_G) or {} function mt.__index (t, k) if k ~= 'arg' then -- perf optimization here and below: do not load Module:TNT unless there is an error error(require('Module:TNT').format('I18n/No globals', 'err-read', tostring(k)), 2) end return nil end function mt.__newindex(t, k, v) if k ~= 'arg' then error(require('Module:TNT').format('I18n/No globals', 'err-write', tostring(k)), 2) end rawset(t, k, v) end setmetatable(_...' 36374 Scribunto text/plain local mt = getmetatable(_G) or {} function mt.__index (t, k) if k ~= 'arg' then -- perf optimization here and below: do not load Module:TNT unless there is an error error(require('Module:TNT').format('I18n/No globals', 'err-read', tostring(k)), 2) end return nil end function mt.__newindex(t, k, v) if k ~= 'arg' then error(require('Module:TNT').format('I18n/No globals', 'err-write', tostring(k)), 2) end rawset(t, k, v) end setmetatable(_G, mt) s0drk5a3gn0y3tu3a6ay5f8w1mc8lqo Πρότυπον:Shared Template Warning 10 3210 36375 2025-12-15T14:55:47Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<noinclude>{{ {{PAGENAME}}|Template:Shared Template Warning|Shared Template Warning}}{{Documentation}}</noinclude><includeonly><table cellspacing="0" cellpadding="0" border="0" style="background:transparent; margin:0.5em auto; padding:0.5em; background-color:#fee7e6; border:1px solid #aaa;" ><tr><td nowrap="nowrap" valign="top"><!-- --><span style="position:relative; top:-2px;"><!-- -->File:OOjs_UI_icon_notice-destructive.svg|18px|warning|link...' 36375 wikitext text/x-wiki <noinclude>{{ {{PAGENAME}}|Template:Shared Template Warning|Shared Template Warning}}{{Documentation}}</noinclude><includeonly><table cellspacing="0" cellpadding="0" border="0" style="background:transparent; margin:0.5em auto; padding:0.5em; background-color:#fee7e6; border:1px solid #aaa;" ><tr><td nowrap="nowrap" valign="top"><!-- --><span style="position:relative; top:-2px;"><!-- -->[[File:OOjs_UI_icon_notice-destructive.svg|18px|warning|link=]]<!-- --></span>&nbsp;'''{{#invoke:TNT|msg|I18n/Shared Template Warning.tab|warning}}'''</td><!-- --><td valign="top" style="padding-left:0.5em;"><!-- -->{{#ifeq:{{SITENAME}}|MediaWiki<!-- -->|{{#invoke:TNT|msg|I18n/Shared Template Warning.tab|be-careful}}<!-- -->|{{#invoke:TNT|msg|I18n/Shared Template Warning.tab|no-edit|{{{1}}}}}<!-- -->}}{{#if:{{{2|}}}|<br>{{#invoke:TNT|msg|I18n/Shared Template Warning.tab|translate|c:Data:I18n/{{{2}}}.tab}}<!-- -->}}</td></tr></table></includeonly> n3c1lasii8zjoggzfgsarlzuwrc20s1 Module:TNT 828 3211 37400 37398 2025-12-27T18:07:00Z ExE Boss 8682 Update from [[d:Special:GoToLinkedPage/mediawikiwiki/Q28132212|master]] using [[mw:Synchronizer| #Synchronizer]] 37400 Scribunto text/plain -- -- INTRO: (!!! DO NOT RENAME THIS PAGE !!!) -- This module allows any template or module to be copy/pasted between -- wikis without any translation changes. All translation text is stored -- in the global Data:*.tab pages on Commons, and used everywhere. -- -- SEE: https://www.mediawiki.org/wiki/Multilingual_Templates_and_Modules -- -- ATTENTION: -- Please do NOT rename this module - it has to be identical on all wikis. -- This code is maintained at https://www.mediawiki.org/wiki/Module:TNT -- Please do not modify it anywhere else, as it may get copied and override your changes. -- Suggestions can be made at https://www.mediawiki.org/wiki/Module_talk:TNT -- -- DESCRIPTION: -- The "msg" function uses a Commons dataset to translate a message -- with a given key (e.g. source-table), plus optional arguments -- to the wiki markup in the current content language. -- Use lang=xx to set language. Example: -- -- {{#invoke:TNT | msg -- | I18n/Template:Graphs.tab <!-- https://commons.wikimedia.org/wiki/Data:I18n/Template:Graphs.tab --> -- | source-table <!-- uses a translation message with id = "source-table" --> -- | param1 }} <!-- optional parameter --> -- -- -- The "doc" function will generate the <templatedata> parameter documentation for templates. -- This way all template parameters can be stored and localized in a single Commons dataset. -- NOTE: "doc" assumes that all documentation is located in Data:Templatedata/* on Commons. -- -- {{#invoke:TNT | doc | Graph:Lines }} -- uses https://commons.wikimedia.org/wiki/Data:Templatedata/Graph:Lines.tab -- if the current page is Template:Graph:Lines/doc -- local config = (function() local ok, res = pcall(mw.loadData, "Module:TNT/config"); return ok and res or {}; end)(); local p = {} local i18nDataset = 'I18n/Module:TNT.tab' -- Forward declaration of the local functions local sanitizeDataset, loadData, link, formatMessage function p.msg(frame) local dataset, id local params = {} local lang = nil for k, v in pairs(frame.args) do if k == 1 then dataset = mw.text.trim(v) elseif k == 2 then id = mw.text.trim(v) elseif type(k) == 'number' then params[k - 2] = mw.text.trim(v) elseif k == 'lang' and v ~= '_' then lang = mw.text.trim(v) end end return formatMessage(dataset, id, params, lang) end -- Identical to p.msg() above, but used from other lua modules -- Parameters: name of dataset, message key, optional arguments -- Example with 2 params: format('I18n/Module:TNT', 'error_bad_msgkey', 'my-key', 'my-dataset') function p.format(dataset, key, ...) local checkType = require('libraryUtil').checkType checkType('format', 1, dataset, 'string') checkType('format', 2, key, 'string') return formatMessage(dataset, key, {...}) end -- Identical to p.msg() above, but used from other lua modules with the language param -- Parameters: language code, name of dataset, message key, optional arguments -- Example with 2 params: formatInLanguage('es', I18n/Module:TNT', 'error_bad_msgkey', 'my-key', 'my-dataset') function p.formatInLanguage(lang, dataset, key, ...) local checkType = require('libraryUtil').checkType checkType('formatInLanguage', 1, lang, 'string') checkType('formatInLanguage', 2, dataset, 'string') checkType('formatInLanguage', 3, key, 'string') return formatMessage(dataset, key, {...}, lang) end -- Obsolete function that adds a 'c:' prefix to the first param. -- "Sandbox/Sample.tab" -> 'c:Data:Sandbox/Sample.tab' function p.link(frame) return link(frame.args[1]) end local implGetTemplateData; function p.doc(frame) local dataset = sanitizeDataset(frame.args[1]) local json, dataPage, categories = implGetTemplateData(nil, dataset, frame.args) return frame:extensionTag('templatedata', json) .. formatMessage(i18nDataset, 'edit_doc', {link(dataPage)}) .. (categories or ""); end function p.getTemplateData(dataset) local data = implGetTemplateData(true, dataset); return data; end function p.getTemplateDataNew(...) return implGetTemplateData(nil, ...); end function implGetTemplateData(legacy, dataset, args) -- TODO: add '_' parameter once lua starts reindexing properly for "all" languages local data, dataPage, categories = loadData( dataset, nil, not legacy and 'TemplateData' or nil); local names = {} for _, field in ipairs(data.schema.fields) do table.insert(names, field.name) end local numOnly = true local params = {} local paramOrder = {} for _, row in ipairs(data.data) do local newVal = {} local name = nil for pos, columnName in ipairs(names) do if columnName == 'name' then name = row[pos] else newVal[columnName] = row[pos] end end if name then if ( (type(name) ~= "number") and ( (type(name) ~= "string") or not string.match(name, "^%d+$") ) ) then numOnly = false end params[name] = newVal table.insert(paramOrder, name) end end -- Work around json encoding treating {"1":{...}} as an [{...}] if numOnly then params['zzz123']='' end local json = mw.text.jsonEncode({ params=params, paramOrder=paramOrder, description=data.description, -- TODO: Store this in a dataset: format = (args and args.format or nil), }) if numOnly then json = string.gsub(json,'"zzz123":"",?', "") end return json, dataPage, categories; end -- Local functions sanitizeDataset = function(dataset) if not dataset then return nil end dataset = mw.text.trim(dataset) if dataset == '' then return nil elseif string.sub(dataset,-4) ~= '.tab' then return dataset .. '.tab' else return dataset end end loadData = function(dataset, lang, dataType) dataset = sanitizeDataset(dataset) if not dataset then error(formatMessage(i18nDataset, 'error_no_dataset', {})) end -- Give helpful error to thirdparties who try and copy this module. if not mw.ext or not mw.ext.data or not mw.ext.data.get then error(string.format([['''Missing JsonConfig extension, or not properly configured; Cannot load https://commons.wikimedia.org/wiki/Data:%s. See https://www.mediawiki.org/wiki/Extension:JsonConfig#Supporting_Wikimedia_templates''']], dataset)) end local dataPage = dataset; local data, categories; if dataType == 'TemplateData' then dataPage = 'TemplateData/' .. dataset; data = mw.ext.data.get(dataPage, lang); if data == false then data = mw.ext.data.get('Templatedata/' .. dataset, lang); if data ~= false then local legacyTemplateDataCategoryName = config.legacyTemplateDataCategoryName; if legacyTemplateDataCategoryName ~= false then categories = string.format( '[[Category:%s%s]]', legacyTemplateDataCategoryName or "Templates using legacy global TemplateData table name", config.translatableCategoryLink and mw.getCurrentFrame():callParserFunction("#translation:") or "" ); end dataPage = 'Templatedata/' .. dataset; end end else data = mw.ext.data.get(dataset, lang) end if data == false then if dataset == i18nDataset then -- Prevent cyclical calls error('Missing Commons dataset ' .. i18nDataset) else error(formatMessage(i18nDataset, 'error_bad_dataset', {link(dataPage)})) end end return data, dataPage, categories; end -- Given a dataset name, convert it to a title with the 'commons:data:' prefix link = function(dataset) return 'c:Data:' .. mw.text.trim(dataset or '') end formatMessage = function(dataset, key, params, lang) for _, row in pairs(loadData(dataset, lang).data) do local id, msg = unpack(row) if id == key then local result = mw.message.newRawMessage(msg, unpack(params or {})) return result:plain() end end if dataset == i18nDataset then -- Prevent cyclical calls error('Invalid message key "' .. key .. '"') else error(formatMessage(i18nDataset, 'error_bad_msgkey', {key, link(dataset)})) end end return p 2ii65lh3z6ssbx7s7r8h0vsbnbhbiyl Πρότυπον:TemplateData header 10 3212 36377 2025-12-15T14:58:03Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<div class="templatedata-header">{{#if:{{{noheader|}}}| |Αυτή είναι η τεκμηρίωση για τα [[Βικιπαίδεια:TemplateData|δεδομένα προτύπου]], για αυτό το πρότυπο, που θα χρησιμοποιηθούν από τον [[Βικιπαίδεια:VisualEditor|VisualEditor]] και άλλα εργαλεία.}} '''{{{1|{{BASEPAGENAME}}}}}''' </div><includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbo...' 36377 wikitext text/x-wiki <div class="templatedata-header">{{#if:{{{noheader|}}}| |Αυτή είναι η τεκμηρίωση για τα [[Βικιπαίδεια:TemplateData|δεδομένα προτύπου]], για αυτό το πρότυπο, που θα χρησιμοποιηθούν από τον [[Βικιπαίδεια:VisualEditor|VisualEditor]] και άλλα εργαλεία.}} '''{{{1|{{BASEPAGENAME}}}}}''' </div><includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox|| [[Κατηγορίαν:Σελίδες τεκμηρίωσης προτύπων]] }}</includeonly><noinclude> {{Documentation|content= <templatedata> { "params": { "1": { "label": "Όνομα προτύπου", "description": "Χρησιμοποιείται για την εμφάνιση ενός ονόματος για το πρότυπο διαφορετικό από το προεπιλεγμένο, το οποίο είναι {{BASEPAGENAME}}.", "type": "string" }, "noheader": { "label": "Χωρίς κεφαλίδα", "description": "Εάν αντιστοιχίσετε οποιαδήποτε τιμή σε αυτήν την παράμετρο, το πρότυπο θα παραλείψει την πρώτη πρόταση του κειμένου της κεφαλίδας.", "type": "string" } }, "description": "Εισάγει μια σύντομη κεφαλίδα για την ενότητα TemplateData. Προσθέτει τη σελίδα στην [[:Κατηγορίαν:Σελίδες τεκμηρίωσης προτύπων]]", "format": "inline" } </templatedata> }} [[Κατηγορίαν:Σελίδες τεκμηρίωσης προτύπων]] </noinclude> qa4bdw9hfojzh1ysre4f6q3k5yhi78h Κατηγορίαν:Σελίδες τεκμηρίωσης προτύπων 14 3213 36378 2025-12-15T14:59:03Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '[[Κατηγορίαν:Πρότυπα Βικιπαίδειας]] {{Category TOC}}' 36378 wikitext text/x-wiki [[Κατηγορίαν:Πρότυπα Βικιπαίδειας]] {{Category TOC}} l2f40o8tpt7tso0rx50dsd9h86iro3o Πρότυπον:Category TOC 10 3214 36380 36379 2025-12-15T15:00:11Z Εὐθυμένης 2777 36380 wikitext text/x-wiki {| role="navigation" border="0" align="center" class="plainlinks" |- | align="center" | '''Ευρετήριο:''' | align="center" | [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Α}} Α] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Β}} Β] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Γ}} Γ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Δ}} Δ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Ε}} Ε] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Ζ}} Ζ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Η}} Η] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Θ}} Θ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Ι}} Ι] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Κ}} Κ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Λ}} Λ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Μ}} Μ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Ν}} Ν] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Ξ}} Ξ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Ο}} Ο] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Π}} Π] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Ρ}} Ρ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Σ}} Σ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Τ}} Τ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Υ}} Υ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Φ}} Φ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Χ}} Χ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Ψ}} Ψ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Ω}} Ω] |- | align="center" | [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}}} Αρχή] | align="center" | [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=A}} A] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=B}} B] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=C}} C] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=D}} D] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=E}} E] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=F}} F] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=G}} G] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=H}} H] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=I}} I] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=J}} J] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=K}} K] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=L}} L] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=M}} M] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=N}} N] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=O}} O] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=P}} P] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Q}} Q] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=R}} R] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=S}} S] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=T}} T] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=U}} U] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=V}} V] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=W}} W] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=X}} X] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Y}} Y] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Z}} Z] |}<noinclude> {{documentation | content = == Χρήση == Αυτό το πρότυπο προσθέτει έναν [[Πίνακας περιεχομένων|πίνακα περιεχομένων]] (TOC) σε μια [[Βικιπαίδεια:Κατηγοριοποίηση|σελίδα κατηγορίας]]. Θα πρέπει να προστίθεται ''μόνο σε σελίδες κατηγοριών και δεν πρέπει να χρησιμοποιείται για κατηγορίες που περιέχουν λιγότερες από 200 σελίδες''. == TemplateData == {{TemplateData header}} <templatedata> { "params": {}, "description": "Προσθέτει έναν πίνακα περιεχομένων (TOC) σε μια σελίδα κατηγορίας.", "format": "inline" } </templatedata>}} [[Κατηγορίαν:Πρότυπα κατηγοριών|{{PAGENAME}}]] </noinclude> hzu1djbfqjv2nzuzkj54k5flwze1v1i Πρότυπον:Υποσελίδα τεκμηρίωσης 10 3215 36382 36381 2025-12-15T15:02:02Z Εὐθυμένης 2777 Ο Εὐθυμένης μετακίνησε τη σελίδα [[Πρότυπον:Documentation subpage]] στην [[Πρότυπον:Υποσελίδα τεκμηρίωσης]] 36381 wikitext text/x-wiki <includeonly>{{#ifeq: {{lc:{{SUBPAGENAME}}}} | {{{override|τεκμηρίωση}}} | <!-- doc page --> </includeonly>{{ #ifeq: {{{doc-notice|show}}} | show | {{#invoke:message box | type = notice | image = [[File:Edit-copy green.svg|link=]] | text = '''Yποσελίδα τεκμηρίωσης για το {{{1|[[{{SUBJECTSPACE}}:{{BASEPAGENAME}}]]}}}'''.<br /> Περιέχει πληροφορίες χρήσης, κατηγορίες και περιεχόμενο που δεν αποτελεί τμήμα του αρχικού {{#ifeq:{{SUBJECTSPACE}}|{{ns:module}}|module|προτύπου}}. }} }}{{DEFAULTSORT:{{PAGENAME}}}}{{ #if: {{{inhibit|}}} | <!-- να παραλείπεται η αυτόματη κατηγοριοποίηση --> | <includeonly>[[Κατηγορίαν:Σελίδες τεκμηρίωσης προτύπων]]</includeonly> }}<includeonly> | <!-- εάν δεν βρίσκεται σε υποσελίδα /τεκμηρίωση, να μη συμβαίνει τίποτα --> }}</includeonly><noinclude>[[Κατηγορίαν:Σελίδες τεκμηρίωσης προτύπων| ]]</noinclude> j9ejkufjl7gmak7v420o73zqzu1fit2 Πρότυπον:Documentation subpage 10 3216 36383 2025-12-15T15:02:02Z Εὐθυμένης 2777 Ο Εὐθυμένης μετακίνησε τη σελίδα [[Πρότυπον:Documentation subpage]] στην [[Πρότυπον:Υποσελίδα τεκμηρίωσης]] 36383 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Πρότυπον:Υποσελίδα τεκμηρίωσης]] ewjvpr31612ye1ac1yhpksn5vc7csdz Πρότυπον:No redirect 10 3217 36384 2025-12-15T15:03:21Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{safesubst:<noinclude/>#if: {{safesubst:<noinclude/>#invoke:Redirect|isRedirect|{{{1}}}}} | <span class="plainlinks">[{{safesubst:<noinclude/>fullurl:{{{1}}}|redirect=no}} {{{2|{{{1}}}}}}]</span> | {{safesubst:<noinclude/>#if:{{{2|}}}|[[:{{safesubst:<noinclude/>FULLPAGENAME:{{{1}}}}}|{{{2}}}]]|[[:{{safesubst:<noinclude/>FULLPAGENAME:{{{1}}}}}]]}} }}<noinclude> {{Documentation}} </noinclude>' 36384 wikitext text/x-wiki {{safesubst:<noinclude/>#if: {{safesubst:<noinclude/>#invoke:Redirect|isRedirect|{{{1}}}}} | <span class="plainlinks">[{{safesubst:<noinclude/>fullurl:{{{1}}}|redirect=no}} {{{2|{{{1}}}}}}]</span> | {{safesubst:<noinclude/>#if:{{{2|}}}|[[:{{safesubst:<noinclude/>FULLPAGENAME:{{{1}}}}}|{{{2}}}]]|[[:{{safesubst:<noinclude/>FULLPAGENAME:{{{1}}}}}]]}} }}<noinclude> {{Documentation}} </noinclude> p5kg3clqhkb649rlqhyl3a0jrslzpel Πρότυπον:Shortcut/styles.css 10 3218 36385 2025-12-15T15:04:20Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '.module-shortcutboxplain { float: right; margin: 0 0 0 1em; border: 1px solid var(--border-color-base); background: var(--background-color-interactive); padding: 0.3em 0.6em 0.2em 0.6em; text-align: center; font-size: 85%; } .module-shortcutboxleft { float: left; margin: 0 1em 0 0; } .module-shortcutlist { display: inline-block; border-bottom: 1px solid #aaa; margin-bottom: 0.2em; } .module-shortcutboxplain > ul { font-weight: bold;...' 36385 sanitized-css text/css .module-shortcutboxplain { float: right; margin: 0 0 0 1em; border: 1px solid var(--border-color-base); background: var(--background-color-interactive); padding: 0.3em 0.6em 0.2em 0.6em; text-align: center; font-size: 85%; } .module-shortcutboxleft { float: left; margin: 0 1em 0 0; } .module-shortcutlist { display: inline-block; border-bottom: 1px solid #aaa; margin-bottom: 0.2em; } .module-shortcutboxplain > ul { font-weight: bold; } .module-shortcutanchordiv { position: relative; top: -3em; } li .module-shortcutanchordiv { float: right; /* IE/Edge in list items */ } .mbox-imageright .module-shortcutboxplain { padding: 0.4em 1em 0.4em 1em; line-height: 1.3; margin: 0; } 9so7fj79k4g0l0sw8ub2k0jtye7fp7s Πρότυπον:Συντόμευση προτύπου 10 3219 36386 2025-12-15T15:05:11Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{#invoke:Shortcut|main|template=yes}}</includeonly><noinclude>{{Documentation}}</noinclude>' 36386 wikitext text/x-wiki <includeonly>{{#invoke:Shortcut|main|template=yes}}</includeonly><noinclude>{{Documentation}}</noinclude> me4jjte8wllgxkf22h7gbzu0e2tux3i Πρότυπον:Template shortcut 10 3220 36387 2025-12-15T15:06:20Z Εὐθυμένης 2777 Ανακατεύθυνση στη σελίδα [[Πρότυπον:Συντόμευση προτύπου]] 36387 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ[[Πρότυπον:Συντόμευση προτύπου]] 69wy0zcqtggd38vagc4oegkul6mjluj Module:Shortcut/config 828 3221 36388 2025-12-15T15:07:14Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- This module holds configuration data for [[Module:Shortcut]]. return { -- The heading at the top of the shortcut box. It accepts the following parameter: -- $1 - the total number of shortcuts. (required) ['shortcut-heading'] = '[[Βικιπαίδεια:Συντόμευση|{{PLURAL:$1|Συντόμευση|Συντομεύσεις}}]]:', -- The error message to display when a shortcut is invalid (is not a string, or -- is the blank string). It...' 36388 Scribunto text/plain -- This module holds configuration data for [[Module:Shortcut]]. return { -- The heading at the top of the shortcut box. It accepts the following parameter: -- $1 - the total number of shortcuts. (required) ['shortcut-heading'] = '[[Βικιπαίδεια:Συντόμευση|{{PLURAL:$1|Συντόμευση|Συντομεύσεις}}]]:', -- The error message to display when a shortcut is invalid (is not a string, or -- is the blank string). It accepts the following parameter: -- $1 - the number of the shortcut in the argument list. (required) ['invalid-shortcut-error'] = 'shortcut #$1 was invalid (shortcuts must be ' .. 'strings of at least one character in length)', -- The error message to display when no shortcuts or other displayable content -- were specified. (required) ['no-content-error'] = 'Error: no shortcuts were specified and the ' .. mw.text.nowiki('|msg=') .. ' parameter was not set.', -- A category to add when the no-content-error message is displayed. (optional) ['no-content-error-category'] = 'Shortcut templates with missing parameters', -- The error category to add if the shortcut listed in the first parameter -- doesn't exist. (optional) ['first-parameter-error-category'] = 'Wikipedia shortcut box first parameter needs fixing', } fe9i8h9qhja4zl1htpzg7rap0u653cy Module:Shortcut 828 3222 36389 2025-12-15T15:08:16Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- This module implements {{shortcut}}. -- Set constants local CONFIG_MODULE = 'Module:Shortcut/config' -- Load required modules local checkType = require('libraryUtil').checkType local yesno = require('Module:Yesno') local p = {} local function message(msg, ...) return mw.message.newRawMessage(msg, ...):plain() end local function makeCategoryLink(cat) return string.format('[[%s:%s]]', mw.site.namespaces[14].name, cat) end function p._main(...' 36389 Scribunto text/plain -- This module implements {{shortcut}}. -- Set constants local CONFIG_MODULE = 'Module:Shortcut/config' -- Load required modules local checkType = require('libraryUtil').checkType local yesno = require('Module:Yesno') local p = {} local function message(msg, ...) return mw.message.newRawMessage(msg, ...):plain() end local function makeCategoryLink(cat) return string.format('[[%s:%s]]', mw.site.namespaces[14].name, cat) end function p._main(shortcuts, options, frame, cfg) checkType('_main', 1, shortcuts, 'table') checkType('_main', 2, options, 'table', true) options = options or {} frame = frame or mw.getCurrentFrame() cfg = cfg or mw.loadData(CONFIG_MODULE) local templateMode = options.template and yesno(options.template) local redirectMode = options.redirect and yesno(options.redirect) local isCategorized = not options.category or yesno(options.category) ~= false -- Validate shortcuts for i, shortcut in ipairs(shortcuts) do if type(shortcut) ~= 'string' or #shortcut < 1 then error(message(cfg['invalid-shortcut-error'], i), 2) end end -- Make the list items. These are the shortcuts plus any extra lines such -- as options.msg. local listItems = {} for i, shortcut in ipairs(shortcuts) do local templatePath, prefix if templateMode then -- Namespace detection local titleObj = mw.title.new(shortcut, 10) if titleObj.namespace == 10 then templatePath = titleObj.fullText else templatePath = shortcut end prefix = options['pre' .. i] or options.pre or '' end if options.target and yesno(options.target) then listItems[i] = templateMode and string.format("&#123;&#123;%s[[%s|%s]]&#125;&#125;", prefix, templatePath, shortcut) or string.format("[[%s]]", shortcut) else listItems[i] = frame:expandTemplate{ title = 'No redirect', args = templateMode and {templatePath, shortcut} or {shortcut, shortcut} } if templateMode then listItems[i] = string.format("&#123;&#123;%s%s&#125;&#125;", prefix, listItems[i]) end end end table.insert(listItems, options.msg) -- Return an error if we have nothing to display if #listItems < 1 then local msg = cfg['no-content-error'] msg = string.format('<strong class="error">%s</strong>', msg) if isCategorized and cfg['no-content-error-category'] then msg = msg .. makeCategoryLink(cfg['no-content-error-category']) end return msg end local root = mw.html.create() root:wikitext(frame:extensionTag{ name = 'templatestyles', args = { src = 'Shortcut/styles.css'} }) -- Anchors local anchorDiv = root :tag('div') :addClass('module-shortcutanchordiv') for i, shortcut in ipairs(shortcuts) do local anchor = mw.uri.anchorEncode(shortcut) anchorDiv:tag('span'):attr('id', anchor) end -- Shortcut heading local shortcutHeading do local nShortcuts = #shortcuts if nShortcuts > 0 then local headingMsg = options['shortcut-heading'] or redirectMode and cfg['redirect-heading'] or cfg['shortcut-heading'] shortcutHeading = message(headingMsg, nShortcuts) shortcutHeading = frame:preprocess(shortcutHeading) end end -- Shortcut box local shortcutList = root :tag('div') :addClass('module-shortcutboxplain plainlist noprint') :attr('role', 'note') if options.float and options.float:lower() == 'left' then shortcutList:addClass('module-shortcutboxleft') end if options.clear and options.clear ~= '' then shortcutList:css('clear', options.clear) end if shortcutHeading then shortcutList :tag('div') :addClass('module-shortcutlist') :wikitext(shortcutHeading) end local list = shortcutList:tag('ul') for i, item in ipairs(listItems) do list:tag('li'):wikitext(item) end return tostring(root) end function p.main(frame) local args = require('Module:Arguments').getArgs(frame) -- Separate shortcuts from options local shortcuts, options = {}, {} for k, v in pairs(args) do if type(k) == 'number' then shortcuts[k] = v else options[k] = v end end -- Compress the shortcut array, which may contain nils. local function compressArray(t) local nums, ret = {}, {} for k in pairs(t) do nums[#nums + 1] = k end table.sort(nums) for i, num in ipairs(nums) do ret[i] = t[num] end return ret end shortcuts = compressArray(shortcuts) return p._main(shortcuts, options, frame) end return p 4jqk5gxekn99b9nsdu6rq56uiap5da8 Module:Redirect 828 3223 36390 2025-12-15T15:09:08Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- This module provides functions for getting the target of a redirect page. local p = {} -- Gets a mw.title object, using pcall to avoid generating script errors if we -- are over the expensive function count limit (among other possible causes). local function getTitle(...) local success, titleObj = pcall(mw.title.new, ...) if success then return titleObj else return nil end end -- Gets the name of a page that a redirect leads to, or ni...' 36390 Scribunto text/plain -- This module provides functions for getting the target of a redirect page. local p = {} -- Gets a mw.title object, using pcall to avoid generating script errors if we -- are over the expensive function count limit (among other possible causes). local function getTitle(...) local success, titleObj = pcall(mw.title.new, ...) if success then return titleObj else return nil end end -- Gets the name of a page that a redirect leads to, or nil if it isn't a -- redirect. function p.getTargetFromText(text) return string.match( text, "^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[([^%[%]]-)%]%]" ) or mw.ustring.match( text, "#[Αα][Νν][Αα][Κκ][Αα][Ττ][Εε][Υυ][Θθ][Υυ][Νν][Σσ][Ηη]%s*:?%s*%[%[%s*:?%s*(.-)[#%]]" ) end -- Gets the target of a redirect. If the page specified is not a redirect, -- returns nil. function p.getTarget(page) -- Get the title object. Both page names and title objects are allowed -- as input. local titleObj if type(page) == 'string' or type(page) == 'number' then titleObj = getTitle(page) elseif type(page) == 'table' and type(page.getContent) == 'function' then titleObj = page else error(string.format( "bad argument #1 to 'getTarget'" .. " (string, number, or title object expected, got %s)", type(page) ), 2) end if not titleObj or not titleObj.isRedirect then return nil end -- Find the target by using string matching on the page content. local target = p.getTargetFromText(titleObj:getContent() or "") if target then local targetTitle = getTitle(target) if targetTitle then return targetTitle.prefixedText else return nil end else -- The page is a redirect, but matching failed. This indicates a bug in -- the redirect matching pattern, so throw an error. error(string.format( 'could not parse redirect on page "%s"', titleObj.prefixedText )) end end --[[ -- Given a single page name determines what page it redirects to and returns the -- target page name, or the passed page name when not a redirect. The passed -- page name can be given as plain text or as a page link. -- -- Returns page name as plain text, or when the bracket parameter is given, as a -- page link. Returns an error message when page does not exist or the redirect -- target cannot be determined for some reason. --]] function p.luaMain(rname, bracket) if type(rname) ~= "string" or not rname:find("%S") then return nil end bracket = bracket and "[[%s]]" or "%s" rname = rname:match("%[%[(.+)%]%]") or rname local target = p.getTarget(rname) local ret = target or rname ret = getTitle(ret) if ret then ret = ret.prefixedText return bracket:format(ret) else return nil end end -- Provides access to the luaMain function from wikitext. function p.main(frame) local args = require('Module:Arguments').getArgs(frame, {frameOnly = true}) return p.luaMain(args[1], args.bracket) or '' end -- Returns "yes" if the specified page is a redirect, and the blank string -- otherwise. function p.isRedirect(frame) local args = require('Module:Arguments').getArgs(frame, {frameOnly = true}) local titleObj = getTitle(args[1]) if not titleObj then return '' end if titleObj.isRedirect then return 'yes' else return '' end end return p aycwvzwwxek49dwrvqm2bevjlpa7vox Πρότυπον:Distinguish 10 3224 36391 2025-12-15T15:10:20Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#invoke:Distinguish|distinguish}}<noinclude><!-- splitting these lines causes {{Documentation}} template to terminate green shading when Distinguish is used in /doc pages. --> {{Documentation}} <!-- Add categories to the /doc subpage and interwikis to Wikidata, not here! --> </noinclude>' 36391 wikitext text/x-wiki {{#invoke:Distinguish|distinguish}}<noinclude><!-- splitting these lines causes {{Documentation}} template to terminate green shading when Distinguish is used in /doc pages. --> {{Documentation}} <!-- Add categories to the /doc subpage and interwikis to Wikidata, not here! --> </noinclude> t4az5q8zekjr0kpgvlz6fgo7i77psk8 Module:Arguments 828 3225 36392 2025-12-15T15:11:30Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if...' 36392 Scribunto text/plain -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val == '' then return nil else return val end else return val end end local function tidyValTrimOnly(key, val) if type(val) == 'string' then return val:match('^%s*(.-)%s*$') else return val end end local function tidyValRemoveBlanksOnly(key, val) if type(val) == 'string' then if val:find('%S') then return val else return nil end else return val end end local function tidyValNoChange(key, val) return val end local function matchesTitle(given, title) local tp = type( given ) return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title end local translate_mt = { __index = function(t, k) return k end } function arguments.getArgs(frame, options) checkType('getArgs', 1, frame, 'table', true) checkType('getArgs', 2, options, 'table', true) frame = frame or {} options = options or {} --[[ -- Set up argument translation. --]] options.translate = options.translate or {} if getmetatable(options.translate) == nil then setmetatable(options.translate, translate_mt) end if options.backtranslate == nil then options.backtranslate = {} for k,v in pairs(options.translate) do options.backtranslate[v] = k end end if options.backtranslate and getmetatable(options.backtranslate) == nil then setmetatable(options.backtranslate, { __index = function(t, k) if options.translate[k] ~= k then return nil else return k end end }) end --[[ -- Get the argument tables. If we were passed a valid frame object, get the -- frame arguments (fargs) and the parent frame arguments (pargs), depending -- on the options set and on the parent frame's availability. If we weren't -- passed a valid frame object, we are being called from another Lua module -- or from the debug console, so assume that we were passed a table of args -- directly, and assign it to a new variable (luaArgs). --]] local fargs, pargs, luaArgs if type(frame.args) == 'table' and type(frame.getParent) == 'function' then if options.wrappers then --[[ -- The wrappers option makes Module:Arguments look up arguments in -- either the frame argument table or the parent argument table, but -- not both. This means that users can use either the #invoke syntax -- or a wrapper template without the loss of performance associated -- with looking arguments up in both the frame and the parent frame. -- Module:Arguments will look up arguments in the parent frame -- if it finds the parent frame's title in options.wrapper; -- otherwise it will look up arguments in the frame object passed -- to getArgs. --]] local parent = frame:getParent() if not parent then fargs = frame.args else local title = parent:getTitle():gsub('/sandbox$', '') local found = false if matchesTitle(options.wrappers, title) then found = true elseif type(options.wrappers) == 'table' then for _,v in pairs(options.wrappers) do if matchesTitle(v, title) then found = true break end end end -- We test for false specifically here so that nil (the default) acts like true. if found or options.frameOnly == false then pargs = parent.args end if not found or options.parentOnly == false then fargs = frame.args end end else -- options.wrapper isn't set, so check the other options. if not options.parentOnly then fargs = frame.args end if not options.frameOnly then local parent = frame:getParent() pargs = parent and parent.args or nil end end if options.parentFirst then fargs, pargs = pargs, fargs end else luaArgs = frame end -- Set the order of precedence of the argument tables. If the variables are -- nil, nothing will be added to the table, which is how we avoid clashes -- between the frame/parent args and the Lua args. local argTables = {fargs} argTables[#argTables + 1] = pargs argTables[#argTables + 1] = luaArgs --[[ -- Generate the tidyVal function. If it has been specified by the user, we -- use that; if not, we choose one of four functions depending on the -- options chosen. This is so that we don't have to call the options table -- every time the function is called. --]] local tidyVal = options.valueFunc if tidyVal then if type(tidyVal) ~= 'function' then error( "bad value assigned to option 'valueFunc'" .. '(function expected, got ' .. type(tidyVal) .. ')', 2 ) end elseif options.trim ~= false then if options.removeBlanks ~= false then tidyVal = tidyValDefault else tidyVal = tidyValTrimOnly end else if options.removeBlanks ~= false then tidyVal = tidyValRemoveBlanksOnly else tidyVal = tidyValNoChange end end --[[ -- Set up the args, metaArgs and nilArgs tables. args will be the one -- accessed from functions, and metaArgs will hold the actual arguments. Nil -- arguments are memoized in nilArgs, and the metatable connects all of them -- together. --]] local args, metaArgs, nilArgs, metatable = {}, {}, {}, {} setmetatable(args, metatable) local function mergeArgs(tables) --[[ -- Accepts multiple tables as input and merges their keys and values -- into one table. If a value is already present it is not overwritten; -- tables listed earlier have precedence. We are also memoizing nil -- values, which can be overwritten if they are 's' (soft). --]] for _, t in ipairs(tables) do for key, val in pairs(t) do if metaArgs[key] == nil and nilArgs[key] ~= 'h' then local tidiedVal = tidyVal(key, val) if tidiedVal == nil then nilArgs[key] = 's' else metaArgs[key] = tidiedVal end end end end end --[[ -- Define metatable behaviour. Arguments are memoized in the metaArgs table, -- and are only fetched from the argument tables once. Fetching arguments -- from the argument tables is the most resource-intensive step in this -- module, so we try and avoid it where possible. For this reason, nil -- arguments are also memoized, in the nilArgs table. Also, we keep a record -- in the metatable of when pairs and ipairs have been called, so we do not -- run pairs and ipairs on the argument tables more than once. We also do -- not run ipairs on fargs and pargs if pairs has already been run, as all -- the arguments will already have been copied over. --]] metatable.__index = function (t, key) --[[ -- Fetches an argument when the args table is indexed. First we check -- to see if the value is memoized, and if not we try and fetch it from -- the argument tables. When we check memoization, we need to check -- metaArgs before nilArgs, as both can be non-nil at the same time. -- If the argument is not present in metaArgs, we also check whether -- pairs has been run yet. If pairs has already been run, we return nil. -- This is because all the arguments will have already been copied into -- metaArgs by the mergeArgs function, meaning that any other arguments -- must be nil. --]] if type(key) == 'string' then key = options.translate[key] end local val = metaArgs[key] if val ~= nil then return val elseif metatable.donePairs or nilArgs[key] then return nil end for _, argTable in ipairs(argTables) do local argTableVal = tidyVal(key, argTable[key]) if argTableVal ~= nil then metaArgs[key] = argTableVal return argTableVal end end nilArgs[key] = 'h' return nil end metatable.__newindex = function (t, key, val) -- This function is called when a module tries to add a new value to the -- args table, or tries to change an existing value. if type(key) == 'string' then key = options.translate[key] end if options.readOnly then error( 'could not write to argument table key "' .. tostring(key) .. '"; the table is read-only', 2 ) elseif options.noOverwrite and args[key] ~= nil then error( 'could not write to argument table key "' .. tostring(key) .. '"; overwriting existing arguments is not permitted', 2 ) elseif val == nil then --[[ -- If the argument is to be overwritten with nil, we need to erase -- the value in metaArgs, so that __index, __pairs and __ipairs do -- not use a previous existing value, if present; and we also need -- to memoize the nil in nilArgs, so that the value isn't looked -- up in the argument tables if it is accessed again. --]] metaArgs[key] = nil nilArgs[key] = 'h' else metaArgs[key] = val end end local function translatenext(invariant) local k, v = next(invariant.t, invariant.k) invariant.k = k if k == nil then return nil elseif type(k) ~= 'string' or not options.backtranslate then return k, v else local backtranslate = options.backtranslate[k] if backtranslate == nil then -- Skip this one. This is a tail call, so this won't cause stack overflow return translatenext(invariant) else return backtranslate, v end end end metatable.__pairs = function () -- Called when pairs is run on the args table. if not metatable.donePairs then mergeArgs(argTables) metatable.donePairs = true end return translatenext, { t = metaArgs } end local function inext(t, i) -- This uses our __index metamethod local v = t[i + 1] if v ~= nil then return i + 1, v end end metatable.__ipairs = function (t) -- Called when ipairs is run on the args table. return inext, t, 0 end return args end return arguments 5qx9tzlul9ser30uxj9nbasjt92cevn Module:Documentation 828 3226 36393 2025-12-15T15:12:27Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- This module implements {{documentation}}. -- Get required modules. local getArgs = require('Module:Arguments').getArgs -- Get the config table. local cfg = mw.loadData('Module:Documentation/config') local p = {} -- Often-used functions. local ugsub = mw.ustring.gsub local format = mw.ustring.format ---------------------------------------------------------------------------- -- Helper functions -- -- These are defined as local functions, but...' 36393 Scribunto text/plain -- This module implements {{documentation}}. -- Get required modules. local getArgs = require('Module:Arguments').getArgs -- Get the config table. local cfg = mw.loadData('Module:Documentation/config') local p = {} -- Often-used functions. local ugsub = mw.ustring.gsub local format = mw.ustring.format ---------------------------------------------------------------------------- -- Helper functions -- -- These are defined as local functions, but are made available in the p -- table for testing purposes. ---------------------------------------------------------------------------- local function message(cfgKey, valArray, expectType) --[[ -- Gets a message from the cfg table and formats it if appropriate. -- The function raises an error if the value from the cfg table is not -- of the type expectType. The default type for expectType is 'string'. -- If the table valArray is present, strings such as $1, $2 etc. in the -- message are substituted with values from the table keys [1], [2] etc. -- For example, if the message "foo-message" had the value 'Foo $2 bar $1.', -- message('foo-message', {'baz', 'qux'}) would return "Foo qux bar baz." --]] local msg = cfg[cfgKey] expectType = expectType or 'string' if type(msg) ~= expectType then error('message: type error in message cfg.' .. cfgKey .. ' (' .. expectType .. ' expected, got ' .. type(msg) .. ')', 2) end if not valArray then return msg end local function getMessageVal(match) match = tonumber(match) return valArray[match] or error('message: no value found for key $' .. match .. ' in message cfg.' .. cfgKey, 4) end return ugsub(msg, '$([1-9][0-9]*)', getMessageVal) end p.message = message local function makeWikilink(page, display) if display then return format('[[%s|%s]]', page, display) else return format('[[%s]]', page) end end p.makeWikilink = makeWikilink local function makeCategoryLink(cat, sort) local catns = mw.site.namespaces[14].name return makeWikilink(catns .. ':' .. cat, sort) end p.makeCategoryLink = makeCategoryLink local function makeUrlLink(url, display) return format('[%s %s]', url, display) end p.makeUrlLink = makeUrlLink local function makeToolbar(...) local ret = {} local lim = select('#', ...) if lim < 1 then return nil end for i = 1, lim do ret[#ret + 1] = select(i, ...) end -- 'documentation-toolbar' return format( '<span class="%s">(%s)</span>', message('toolbar-class'), table.concat(ret, ' &#124; ') ) end p.makeToolbar = makeToolbar ---------------------------------------------------------------------------- -- Argument processing ---------------------------------------------------------------------------- local function makeInvokeFunc(funcName) return function (frame) local args = getArgs(frame, { valueFunc = function (key, value) if type(value) == 'string' then value = value:match('^%s*(.-)%s*$') -- Remove whitespace. if key == 'heading' or value ~= '' then return value else return nil end else return value end end }) return p[funcName](args) end end ---------------------------------------------------------------------------- -- Entry points ---------------------------------------------------------------------------- function p.nonexistent(frame) if mw.title.getCurrentTitle().subpageText == 'testcases' then return frame:expandTemplate{title = 'module test cases notice'} else return p.main(frame) end end p.main = makeInvokeFunc('_main') function p._main(args) --[[ -- This function defines logic flow for the module. -- @args - table of arguments passed by the user --]] local env = p.getEnvironment(args) local root = mw.html.create() root :wikitext(p._getModuleWikitext(args, env)) :wikitext(p.protectionTemplate(env)) :wikitext(p.sandboxNotice(args, env)) :tag('div') -- 'documentation-container' :addClass(message('container')) :attr('role', 'complementary') :attr('aria-labelledby', args.heading ~= '' and 'documentation-heading' or nil) :attr('aria-label', args.heading == '' and 'Documentation' or nil) :newline() :tag('div') -- 'documentation' :addClass(message('main-div-classes')) :newline() :wikitext(p._startBox(args, env)) :wikitext(p._content(args, env)) :tag('div') -- 'documentation-clear' :addClass(message('clear')) :done() :newline() :done() :wikitext(p._endBox(args, env)) :done() :wikitext(p.addTrackingCategories(env)) -- 'Module:Documentation/styles.css' return mw.getCurrentFrame():extensionTag ( 'templatestyles', '', {src=cfg['templatestyles'] }) .. tostring(root) end ---------------------------------------------------------------------------- -- Environment settings ---------------------------------------------------------------------------- function p.getEnvironment(args) --[[ -- Returns a table with information about the environment, including title -- objects and other namespace- or path-related data. -- @args - table of arguments passed by the user -- -- Title objects include: -- env.title - the page we are making documentation for (usually the current title) -- env.templateTitle - the template (or module, file, etc.) -- env.docTitle - the /doc subpage. -- env.sandboxTitle - the /sandbox subpage. -- env.testcasesTitle - the /testcases subpage. -- -- Data includes: -- env.protectionLevels - the protection levels table of the title object. -- env.subjectSpace - the number of the title's subject namespace. -- env.docSpace - the number of the namespace the title puts its documentation in. -- env.docpageBase - the text of the base page of the /doc, /sandbox and /testcases pages, with namespace. -- env.compareUrl - URL of the Special:ComparePages page comparing the sandbox with the template. -- -- All table lookups are passed through pcall so that errors are caught. If an error occurs, the value -- returned will be nil. --]] local env, envFuncs = {}, {} -- Set up the metatable. If triggered we call the corresponding function in the envFuncs table. The value -- returned by that function is memoized in the env table so that we don't call any of the functions -- more than once. (Nils won't be memoized.) setmetatable(env, { __index = function (t, key) local envFunc = envFuncs[key] if envFunc then local success, val = pcall(envFunc) if success then env[key] = val -- Memoise the value. return val end end return nil end }) function envFuncs.title() -- The title object for the current page, or a test page passed with args.page. local title local titleArg = args.page if titleArg then title = mw.title.new(titleArg) else title = mw.title.getCurrentTitle() end return title end function envFuncs.templateTitle() --[[ -- The template (or module, etc.) title object. -- Messages: -- 'sandbox-subpage' --> 'sandbox' -- 'testcases-subpage' --> 'testcases' --]] local subjectSpace = env.subjectSpace local title = env.title local subpage = title.subpageText if subpage == message('sandbox-subpage') or subpage == message('testcases-subpage') then return mw.title.makeTitle(subjectSpace, title.baseText) else return mw.title.makeTitle(subjectSpace, title.text) end end function envFuncs.docTitle() --[[ -- Title object of the /doc subpage. -- Messages: -- 'doc-subpage' --> 'doc' --]] local title = env.title local docname = args[1] -- User-specified doc page. local docpage if docname then docpage = docname else docpage = env.docpageBase .. '/' .. message('doc-subpage') end return mw.title.new(docpage) end function envFuncs.sandboxTitle() --[[ -- Title object for the /sandbox subpage. -- Messages: -- 'sandbox-subpage' --> 'sandbox' --]] return mw.title.new(env.docpageBase .. '/' .. message('sandbox-subpage')) end function envFuncs.testcasesTitle() --[[ -- Title object for the /testcases subpage. -- Messages: -- 'testcases-subpage' --> 'testcases' --]] return mw.title.new(env.docpageBase .. '/' .. message('testcases-subpage')) end function envFuncs.protectionLevels() -- The protection levels table of the title object. return env.title.protectionLevels end function envFuncs.subjectSpace() -- The subject namespace number. return mw.site.namespaces[env.title.namespace].subject.id end function envFuncs.docSpace() -- The documentation namespace number. For most namespaces this is the -- same as the subject namespace. However, pages in the Article, File, -- MediaWiki or Category namespaces must have their /doc, /sandbox and -- /testcases pages in talk space. local subjectSpace = env.subjectSpace if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then return subjectSpace + 1 else return subjectSpace end end function envFuncs.docpageBase() -- The base page of the /doc, /sandbox, and /testcases subpages. -- For some namespaces this is the talk page, rather than the template page. local templateTitle = env.templateTitle local docSpace = env.docSpace local docSpaceText = mw.site.namespaces[docSpace].name -- Assemble the link. docSpace is never the main namespace, so we can hardcode the colon. return docSpaceText .. ':' .. templateTitle.text end function envFuncs.compareUrl() -- Diff link between the sandbox and the main template using [[Special:ComparePages]]. local templateTitle = env.templateTitle local sandboxTitle = env.sandboxTitle if templateTitle.exists and sandboxTitle.exists then local compareUrl = mw.uri.canonicalUrl( 'Special:ComparePages', { page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText} ) return tostring(compareUrl) else return nil end end return env end ---------------------------------------------------------------------------- -- Auxiliary templates ---------------------------------------------------------------------------- p.getModuleWikitext = makeInvokeFunc('_getModuleWikitext') function p._getModuleWikitext(args, env) local currentTitle = mw.title.getCurrentTitle() if currentTitle.contentModel ~= 'Scribunto' then return end pcall(require, currentTitle.prefixedText) -- if it fails, we don't care local moduleWikitext = package.loaded["Module:Module wikitext"] if moduleWikitext then return moduleWikitext.main() end end function p.sandboxNotice(args, env) --[=[ -- Generates a sandbox notice for display above sandbox pages. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'sandbox-notice-image' --> '[[File:Sandbox.svg|50px|alt=|link=]]' -- 'sandbox-notice-blurb' --> 'This is the $1 for $2.' -- 'sandbox-notice-diff-blurb' --> 'This is the $1 for $2 ($3).' -- 'sandbox-notice-pagetype-template' --> '[[Wikipedia:Template test cases|template sandbox]] page' -- 'sandbox-notice-pagetype-module' --> '[[Wikipedia:Template test cases|module sandbox]] page' -- 'sandbox-notice-pagetype-other' --> 'sandbox page' -- 'sandbox-notice-compare-link-display' --> 'diff' -- 'sandbox-notice-testcases-blurb' --> 'See also the companion subpage for $1.' -- 'sandbox-notice-testcases-link-display' --> 'test cases' -- 'sandbox-category' --> 'Template sandboxes' -- 'module-sandbox-category' --> 'Module sandboxes' -- 'other-sandbox-category' --> 'Sandboxes outside of template or module namespace' --]=] local title = env.title local sandboxTitle = env.sandboxTitle local templateTitle = env.templateTitle local subjectSpace = env.subjectSpace if not (subjectSpace and title and sandboxTitle and templateTitle and mw.title.equals(title, sandboxTitle)) then return nil end -- Build the table of arguments to pass to {{ombox}}. We need just two fields, "image" and "text". local omargs = {} omargs.image = message('sandbox-notice-image') -- Get the text. We start with the opening blurb, which is something like -- "This is the template sandbox for [[Template:Foo]] (diff)." local text = '' local pagetype, sandboxCat if subjectSpace == 10 then pagetype = message('sandbox-notice-pagetype-template') sandboxCat = message('sandbox-category') elseif subjectSpace == 828 then pagetype = message('sandbox-notice-pagetype-module') sandboxCat = message('module-sandbox-category') else pagetype = message('sandbox-notice-pagetype-other') sandboxCat = message('other-sandbox-category') end local templateLink = makeWikilink(templateTitle.prefixedText) local compareUrl = env.compareUrl if compareUrl then local compareDisplay = message('sandbox-notice-compare-link-display') local compareLink = makeUrlLink(compareUrl, compareDisplay) text = text .. message('sandbox-notice-diff-blurb', {pagetype, templateLink, compareLink}) else text = text .. message('sandbox-notice-blurb', {pagetype, templateLink}) end -- Get the test cases page blurb if the page exists. This is something like -- "See also the companion subpage for [[Template:Foo/testcases|test cases]]." local testcasesTitle = env.testcasesTitle if testcasesTitle and testcasesTitle.exists then if testcasesTitle.contentModel == "Scribunto" then local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display') local testcasesRunLinkDisplay = message('sandbox-notice-testcases-run-link-display') local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay) local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay) text = text .. '<br />' .. message('sandbox-notice-testcases-run-blurb', {testcasesLink, testcasesRunLink}) else local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display') local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay) text = text .. '<br />' .. message('sandbox-notice-testcases-blurb', {testcasesLink}) end end -- Add the sandbox to the sandbox category. omargs.text = text .. makeCategoryLink(sandboxCat) -- 'documentation-clear' return '<div class="' .. message('clear') .. '"></div>' .. require('Module:Message box').main('ombox', omargs) end function p.protectionTemplate(env) -- Generates the padlock icon in the top right. -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'protection-template' --> 'pp-template' -- 'protection-template-args' --> {docusage = 'yes'} local protectionLevels = env.protectionLevels if not protectionLevels then return nil end local editProt = protectionLevels.edit and protectionLevels.edit[1] local moveProt = protectionLevels.move and protectionLevels.move[1] if editProt then -- The page is edit-protected. return require('Module:Protection banner')._main{ message('protection-reason-edit'), small = true } elseif moveProt and moveProt ~= 'autoconfirmed' then -- The page is move-protected but not edit-protected. Exclude move -- protection with the level "autoconfirmed", as this is equivalent to -- no move protection at all. return require('Module:Protection banner')._main{ action = 'move', small = true } else return nil end end ---------------------------------------------------------------------------- -- Start box ---------------------------------------------------------------------------- p.startBox = makeInvokeFunc('_startBox') function p._startBox(args, env) --[[ -- This function generates the start box. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- The actual work is done by p.makeStartBoxLinksData and p.renderStartBoxLinks which make -- the [view] [edit] [history] [purge] links, and by p.makeStartBoxData and p.renderStartBox -- which generate the box HTML. --]] env = env or p.getEnvironment(args) local links local content = args.content if not content or args[1] then -- No need to include the links if the documentation is on the template page itself. local linksData = p.makeStartBoxLinksData(args, env) if linksData then links = p.renderStartBoxLinks(linksData) end end -- Generate the start box html. local data = p.makeStartBoxData(args, env, links) if data then return p.renderStartBox(data) else -- User specified no heading. return nil end end function p.makeStartBoxLinksData(args, env) --[[ -- Does initial processing of data to make the [view] [edit] [history] [purge] links. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'view-link-display' --> 'view' -- 'edit-link-display' --> 'edit' -- 'history-link-display' --> 'history' -- 'purge-link-display' --> 'purge' -- 'module-preload' --> 'Template:Documentation/preload-module-doc' -- 'docpage-preload' --> 'Template:Documentation/preload' -- 'create-link-display' --> 'create' --]] local subjectSpace = env.subjectSpace local title = env.title local docTitle = env.docTitle if not title or not docTitle then return nil end if docTitle.isRedirect then docTitle = docTitle.redirectTarget end -- Create link if /doc doesn't exist. local preload = args.preload if not preload then if subjectSpace == 828 then -- Module namespace preload = message('module-preload') else preload = message('docpage-preload') end end return { title = title, docTitle = docTitle, -- View, display, edit, and purge links if /doc exists. viewLinkDisplay = message('view-link-display'), editLinkDisplay = message('edit-link-display'), historyLinkDisplay = message('history-link-display'), purgeLinkDisplay = message('purge-link-display'), preload = preload, createLinkDisplay = message('create-link-display') } end function p.renderStartBoxLinks(data) --[[ -- Generates the [view][edit][history][purge] or [create][purge] links from the data table. -- @data - a table of data generated by p.makeStartBoxLinksData --]] local docTitle = data.docTitle -- yes, we do intend to purge the template page on which the documentation appears local purgeLink = makeWikilink("Special:Purge/" .. data.title.prefixedText, data.purgeLinkDisplay) if docTitle.exists then local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay) local editLink = makeWikilink("Special:EditPage/" .. docTitle.prefixedText, data.editLinkDisplay) local historyLink = makeWikilink("Special:PageHistory/" .. docTitle.prefixedText, data.historyLinkDisplay) return "&#91;" .. viewLink .. "&#93; &#91;" .. editLink .. "&#93; &#91;" .. historyLink .. "&#93; &#91;" .. purgeLink .. "&#93;" else local createLink = makeUrlLink(docTitle:canonicalUrl{action = 'edit', preload = data.preload}, data.createLinkDisplay) return "&#91;" .. createLink .. "&#93; &#91;" .. purgeLink .. "&#93;" end return ret end function p.makeStartBoxData(args, env, links) --[=[ -- Does initial processing of data to pass to the start-box render function, p.renderStartBox. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- @links - a string containing the [view][edit][history][purge] links - could be nil if there's an error. -- -- Messages: -- 'documentation-icon-wikitext' --> '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- 'template-namespace-heading' --> 'Template documentation' -- 'module-namespace-heading' --> 'Module documentation' -- 'file-namespace-heading' --> 'Summary' -- 'other-namespaces-heading' --> 'Documentation' -- 'testcases-create-link-display' --> 'create' --]=] local subjectSpace = env.subjectSpace if not subjectSpace then -- Default to an "other namespaces" namespace, so that we get at least some output -- if an error occurs. subjectSpace = 2 end local data = {} -- Heading local heading = args.heading -- Blank values are not removed. if heading == '' then -- Don't display the start box if the heading arg is defined but blank. return nil end if heading then data.heading = heading elseif subjectSpace == 10 then -- Template namespace data.heading = message('documentation-icon-wikitext') .. ' ' .. message('template-namespace-heading') elseif subjectSpace == 828 then -- Module namespace data.heading = message('documentation-icon-wikitext') .. ' ' .. message('module-namespace-heading') elseif subjectSpace == 6 then -- File namespace data.heading = message('file-namespace-heading') else data.heading = message('other-namespaces-heading') end -- Heading CSS local headingStyle = args['heading-style'] if headingStyle then data.headingStyleText = headingStyle else -- 'documentation-heading' data.headingClass = message('main-div-heading-class') end -- Data for the [view][edit][history][purge] or [create] links. if links then -- 'mw-editsection-like plainlinks' data.linksClass = message('start-box-link-classes') data.links = links end return data end function p.renderStartBox(data) -- Renders the start box html. -- @data - a table of data generated by p.makeStartBoxData. local sbox = mw.html.create('div') sbox -- 'documentation-startbox' :addClass(message('start-box-class')) :newline() :tag('span') :addClass(data.headingClass) :attr('id', 'documentation-heading') :cssText(data.headingStyleText) :wikitext(data.heading) local links = data.links if links then sbox:tag('span') :addClass(data.linksClass) :attr('id', data.linksId) :wikitext(links) end return tostring(sbox) end ---------------------------------------------------------------------------- -- Documentation content ---------------------------------------------------------------------------- p.content = makeInvokeFunc('_content') function p._content(args, env) -- Displays the documentation contents -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment env = env or p.getEnvironment(args) local docTitle = env.docTitle local content = args.content if not content and docTitle and docTitle.exists then content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText} end -- The line breaks below are necessary so that "=== Headings ===" at the start and end -- of docs are interpreted correctly. return '\n' .. (content or '') .. '\n' end p.contentTitle = makeInvokeFunc('_contentTitle') function p._contentTitle(args, env) env = env or p.getEnvironment(args) local docTitle = env.docTitle if not args.content and docTitle and docTitle.exists then return docTitle.prefixedText else return '' end end ---------------------------------------------------------------------------- -- End box ---------------------------------------------------------------------------- p.endBox = makeInvokeFunc('_endBox') function p._endBox(args, env) --[=[ -- This function generates the end box (also known as the link box). -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- --]=] -- Get environment data. env = env or p.getEnvironment(args) local subjectSpace = env.subjectSpace local docTitle = env.docTitle if not subjectSpace or not docTitle then return nil end -- Check whether we should output the end box at all. Add the end -- box by default if the documentation exists or if we are in the -- user, module or template namespaces. local linkBox = args['link box'] if linkBox == 'off' or not ( docTitle.exists or subjectSpace == 2 or subjectSpace == 828 or subjectSpace == 10 ) then return nil end -- Assemble the link box. local text = '' if linkBox then text = text .. linkBox else text = text .. (p.makeDocPageBlurb(args, env) or '') -- "This documentation is transcluded from [[Foo]]." if subjectSpace == 2 or subjectSpace == 10 or subjectSpace == 828 then -- We are in the user, template or module namespaces. -- Add sandbox and testcases links. -- "Editors can experiment in this template's sandbox and testcases pages." text = text .. (p.makeExperimentBlurb(args, env) or '') .. '<br />' if not args.content and not args[1] then -- "Please add categories to the /doc subpage." -- Don't show this message with inline docs or with an explicitly specified doc page, -- as then it is unclear where to add the categories. text = text .. (p.makeCategoriesBlurb(args, env) or '') end text = text .. ' ' .. (p.makeSubpagesBlurb(args, env) or '') --"Subpages of this template" end end local box = mw.html.create('div') -- 'documentation-metadata' box:attr('role', 'note') :addClass(message('end-box-class')) -- 'plainlinks' :addClass(message('end-box-plainlinks')) :wikitext(text) :done() return '\n' .. tostring(box) end function p.makeDocPageBlurb(args, env) --[=[ -- Makes the blurb "This documentation is transcluded from [[Template:Foo]] (edit, history)". -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'edit-link-display' --> 'edit' -- 'history-link-display' --> 'history' -- 'transcluded-from-blurb' --> -- 'The above [[Wikipedia:Template documentation|documentation]] -- is [[Help:Transclusion|transcluded]] from $1.' -- 'module-preload' --> 'Template:Documentation/preload-module-doc' -- 'create-link-display' --> 'create' -- 'create-module-doc-blurb' --> -- 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].' --]=] local docTitle = env.docTitle if not docTitle then return nil end if docTitle.exists then -- /doc exists; link to it. local docLink = makeWikilink(docTitle.prefixedText) local editDisplay = message('edit-link-display') local editLink = makeWikilink("Special:EditPage/" .. docTitle.prefixedText, editDisplay) local historyDisplay = message('history-link-display') local historyLink = makeWikilink("Special:PageHistory/" .. docTitle.prefixedText, historyDisplay) return message('transcluded-from-blurb', {docLink}) .. ' ' .. makeToolbar(editLink, historyLink) .. '<br />' elseif env.subjectSpace == 828 then -- /doc does not exist; ask to create it. local createUrl = docTitle:canonicalUrl{action = 'edit', preload = message('module-preload')} local createDisplay = message('create-link-display') local createLink = makeUrlLink(createUrl, createDisplay) return message('create-module-doc-blurb', {createLink}) .. '<br />' end end function p.makeExperimentBlurb(args, env) --[[ -- Renders the text "Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages." -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'sandbox-link-display' --> 'sandbox' -- 'sandbox-edit-link-display' --> 'edit' -- 'compare-link-display' --> 'diff' -- 'module-sandbox-preload' --> 'Template:Documentation/preload-module-sandbox' -- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox' -- 'sandbox-create-link-display' --> 'create' -- 'mirror-edit-summary' --> 'Create sandbox version of $1' -- 'mirror-link-display' --> 'mirror' -- 'mirror-link-preload' --> 'Template:Documentation/mirror' -- 'sandbox-link-display' --> 'sandbox' -- 'testcases-link-display' --> 'testcases' -- 'testcases-edit-link-display'--> 'edit' -- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox' -- 'testcases-create-link-display' --> 'create' -- 'testcases-link-display' --> 'testcases' -- 'testcases-edit-link-display' --> 'edit' -- 'module-testcases-preload' --> 'Template:Documentation/preload-module-testcases' -- 'template-testcases-preload' --> 'Template:Documentation/preload-testcases' -- 'experiment-blurb-module' --> 'Editors can experiment in this module's $1 and $2 pages.' -- 'experiment-blurb-template' --> 'Editors can experiment in this template's $1 and $2 pages.' --]] local subjectSpace = env.subjectSpace local templateTitle = env.templateTitle local sandboxTitle = env.sandboxTitle local testcasesTitle = env.testcasesTitle local templatePage = templateTitle.prefixedText if not subjectSpace or not templateTitle or not sandboxTitle or not testcasesTitle then return nil end -- Make links. local sandboxLinks, testcasesLinks if sandboxTitle.exists then local sandboxPage = sandboxTitle.prefixedText local sandboxDisplay = message('sandbox-link-display') local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay) local sandboxEditDisplay = message('sandbox-edit-link-display') local sandboxEditLink = makeWikilink("Special:EditPage/" .. sandboxPage, sandboxEditDisplay) local compareUrl = env.compareUrl local compareLink if compareUrl then local compareDisplay = message('compare-link-display') compareLink = makeUrlLink(compareUrl, compareDisplay) end sandboxLinks = sandboxLink .. ' ' .. makeToolbar(sandboxEditLink, compareLink) else local sandboxPreload if subjectSpace == 828 then sandboxPreload = message('module-sandbox-preload') else sandboxPreload = message('template-sandbox-preload') end local sandboxCreateUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = sandboxPreload} local sandboxCreateDisplay = message('sandbox-create-link-display') local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay) local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)}) local mirrorPreload = message('mirror-link-preload') local mirrorUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = mirrorPreload, summary = mirrorSummary} if subjectSpace == 828 then mirrorUrl = sandboxTitle:canonicalUrl{action = 'edit', preload = templateTitle.prefixedText, summary = mirrorSummary} end local mirrorDisplay = message('mirror-link-display') local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay) sandboxLinks = message('sandbox-link-display') .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink) end if testcasesTitle.exists then local testcasesPage = testcasesTitle.prefixedText local testcasesDisplay = message('testcases-link-display') local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay) local testcasesEditUrl = testcasesTitle:canonicalUrl{action = 'edit'} local testcasesEditDisplay = message('testcases-edit-link-display') local testcasesEditLink = makeWikilink("Special:EditPage/" .. testcasesPage, testcasesEditDisplay) -- for Modules, add testcases run link if exists if testcasesTitle.contentModel == "Scribunto" and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then local testcasesRunLinkDisplay = message('testcases-run-link-display') local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay) testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink, testcasesRunLink) else testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink) end else local testcasesPreload if subjectSpace == 828 then testcasesPreload = message('module-testcases-preload') else testcasesPreload = message('template-testcases-preload') end local testcasesCreateUrl = testcasesTitle:canonicalUrl{action = 'edit', preload = testcasesPreload} local testcasesCreateDisplay = message('testcases-create-link-display') local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay) testcasesLinks = message('testcases-link-display') .. ' ' .. makeToolbar(testcasesCreateLink) end local messageName if subjectSpace == 828 then messageName = 'experiment-blurb-module' else messageName = 'experiment-blurb-template' end return message(messageName, {sandboxLinks, testcasesLinks}) end function p.makeCategoriesBlurb(args, env) --[[ -- Generates the text "Please add categories to the /doc subpage." -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'doc-link-display' --> '/doc' -- 'add-categories-blurb' --> 'Please add categories to the $1 subpage.' --]] local docTitle = env.docTitle if not docTitle then return nil end local docPathLink = makeWikilink(docTitle.prefixedText, message('doc-link-display')) return message('add-categories-blurb', {docPathLink}) end function p.makeSubpagesBlurb(args, env) --[[ -- Generates the "Subpages of this template" link. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'template-pagetype' --> 'template' -- 'module-pagetype' --> 'module' -- 'default-pagetype' --> 'page' -- 'subpages-link-display' --> 'Subpages of this $1' --]] local subjectSpace = env.subjectSpace local templateTitle = env.templateTitle if not subjectSpace or not templateTitle then return nil end local pagetype if subjectSpace == 10 then pagetype = message('template-pagetype') elseif subjectSpace == 828 then pagetype = message('module-pagetype') else pagetype = message('default-pagetype') end local subpagesLink = makeWikilink( 'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/', message('subpages-link-display', {pagetype}) ) return message('subpages-blurb', {subpagesLink}) end ---------------------------------------------------------------------------- -- Tracking categories ---------------------------------------------------------------------------- function p.addTrackingCategories(env) --[[ -- Check if {{documentation}} is transcluded on a /doc or /testcases page. -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'display-strange-usage-category' --> true -- 'doc-subpage' --> 'doc' -- 'testcases-subpage' --> 'testcases' -- 'strange-usage-category' --> 'Wikipedia pages with strange ((documentation)) usage' -- -- /testcases pages in the module namespace are not categorised, as they may have -- {{documentation}} transcluded automatically. --]] local title = env.title local subjectSpace = env.subjectSpace if not title or not subjectSpace then return nil end local subpage = title.subpageText if message('display-strange-usage-category', nil, 'boolean') and ( subpage == message('doc-subpage') or subjectSpace ~= 828 and subpage == message('testcases-subpage') ) then return makeCategoryLink(message('strange-usage-category')) end return '' end return p p33g4x3fxmkanhsxkrtbu5ap9297k3g Module:Documentation/config 828 3227 36707 36394 2025-12-15T22:43:59Z Εὐθυμένης 2777 (By [[meta:Indic-TechCom/Tools|FindAndReplace]]) 36707 Scribunto text/plain ---------------------------------------------------------------------------------------------------- -- -- Configuration for Module:Documentation -- -- Here you can set the values of the parameters and messages used in Module:Documentation to -- localise it to your wiki and your language. Unless specified otherwise, values given here -- should be string values. ---------------------------------------------------------------------------------------------------- local cfg = {} -- Do not edit this line. ---------------------------------------------------------------------------------------------------- -- Protection template configuration ---------------------------------------------------------------------------------------------------- -- cfg['protection-reason-edit'] -- The protection reason for edit-protected templates to pass to -- [[Module:Protection banner]]. cfg['protection-reason-edit'] = 'template' --[[ ---------------------------------------------------------------------------------------------------- -- Sandbox notice configuration -- -- On sandbox pages the module can display a template notifying users that the current page is a -- sandbox, and the location of test cases pages, etc. The module decides whether the page is a -- sandbox or not based on the value of cfg['sandbox-subpage']. The following settings configure the -- messages that the notices contains. ---------------------------------------------------------------------------------------------------- --]] -- cfg['sandbox-notice-image'] -- The image displayed in the sandbox notice. cfg['sandbox-notice-image'] = '[[Image:Sandbox.svg|50px|alt=|link=]]' --[[ -- cfg['sandbox-notice-pagetype-template'] -- cfg['sandbox-notice-pagetype-module'] -- cfg['sandbox-notice-pagetype-other'] -- The page type of the sandbox page. The message that is displayed depends on the current subject -- namespace. This message is used in either cfg['sandbox-notice-blurb'] or -- cfg['sandbox-notice-diff-blurb']. --]] cfg['sandbox-notice-pagetype-template'] = 'σελίδα είναι το [[:en:w:Wikipedia:Template sandbox and test cases|πρόχειρο προτύπου]]' cfg['sandbox-notice-pagetype-module'] = 'σελίδα είναι το [[:en:w:Wikipedia:Template sandbox and test cases|πρόχειρο module]]' cfg['sandbox-notice-pagetype-other'] = 'σελίδα είναι το πρόχειρο' --[[ -- cfg['sandbox-notice-blurb'] -- cfg['sandbox-notice-diff-blurb'] -- cfg['sandbox-notice-diff-display'] -- Either cfg['sandbox-notice-blurb'] or cfg['sandbox-notice-diff-blurb'] is the opening sentence -- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page -- type, which is either cfg['sandbox-notice-pagetype-template'], -- cfg['sandbox-notice-pagetype-module'] or cfg['sandbox-notice-pagetype-other'] depending what -- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between -- the sandbox and the main template. The display value of the diff link is set by -- cfg['sandbox-notice-compare-link-display']. --]] cfg['sandbox-notice-blurb'] = 'Αυτή η $1 για το $2.' cfg['sandbox-notice-diff-blurb'] = 'Αυτή η $1 για το $2 ($3).' cfg['sandbox-notice-compare-link-display'] = 'διαφορές' --[[ -- cfg['sandbox-notice-testcases-blurb'] -- cfg['sandbox-notice-testcases-link-display'] -- cfg['sandbox-notice-testcases-run-blurb'] -- cfg['sandbox-notice-testcases-run-link-display'] -- cfg['sandbox-notice-testcases-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit. $1 is a link to the test cases page. -- cfg['sandbox-notice-testcases-link-display'] is the display value for that link. -- cfg['sandbox-notice-testcases-run-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test -- cases page, and $2 is a link to the page to run it. -- cfg['sandbox-notice-testcases-run-link-display'] is the display value for the link to run the test -- cases. --]] cfg['sandbox-notice-testcases-blurb'] = 'See also the companion subpage for $1.' cfg['sandbox-notice-testcases-link-display'] = 'test cases' cfg['sandbox-notice-testcases-run-blurb'] = 'See also the companion subpage for $1 ($2).' cfg['sandbox-notice-testcases-run-link-display'] = 'run' -- cfg['sandbox-category'] - A category to add to all template sandboxes. -- cfg['module-sandbox-category'] - A category to add to all module sandboxes. -- cfg['module-sandbox-category'] - A category to add to all sandboxe not in templates or modules. cfg['sandbox-category'] = 'Πρόχειρα προτύπων' cfg['module-sandbox-category'] = 'Πρόχειρα Module' cfg['other-sandbox-category'] = 'Sandboxes outside of template or module namespace' ---------------------------------------------------------------------------------------------------- -- Start box configuration ---------------------------------------------------------------------------------------------------- -- cfg['documentation-icon-wikitext'] -- The wikitext for the icon shown at the top of the template. cfg['documentation-icon-wikitext'] = '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- cfg['template-namespace-heading'] -- The heading shown in the template namespace. cfg['template-namespace-heading'] = 'Τεκμηρίωση προτύπου' -- cfg['module-namespace-heading'] -- The heading shown in the module namespace. cfg['module-namespace-heading'] = 'Τεκμηρίωση module' -- cfg['file-namespace-heading'] -- The heading shown in the file namespace. cfg['file-namespace-heading'] = 'Σύνοψη' -- cfg['other-namespaces-heading'] -- The heading shown in other namespaces. cfg['other-namespaces-heading'] = 'Τεκμηρίωση' -- cfg['view-link-display'] -- The text to display for "view" links. cfg['view-link-display'] = 'προβολή' -- cfg['edit-link-display'] -- The text to display for "edit" links. cfg['edit-link-display'] = 'επεξεργασία' -- cfg['history-link-display'] -- The text to display for "history" links. cfg['history-link-display'] = 'ιστορικό' -- cfg['purge-link-display'] -- The text to display for "purge" links. cfg['purge-link-display'] = 'ανανέωση' -- cfg['create-link-display'] -- The text to display for "create" links. cfg['create-link-display'] = 'δημιουργία' ---------------------------------------------------------------------------------------------------- -- Link box (end box) configuration ---------------------------------------------------------------------------------------------------- -- cfg['transcluded-from-blurb'] -- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page. cfg['transcluded-from-blurb'] = 'Η παραπάνω [[:en:w:Wikipedia:Template documentation|τεκμηρίωση]] [[:en:w:Wikipedia:Transclusion|ενσωματώνεται]] από τη σελίδα $1.' --[[ -- cfg['create-module-doc-blurb'] -- Notice displayed in the module namespace when the documentation subpage does not exist. -- $1 is a link to create the documentation page with the preload cfg['module-preload'] and the -- display cfg['create-link-display']. --]] cfg['create-module-doc-blurb'] = 'Μπορείτε να συμβάλλετε στη $1 σελίδας τεκμηρίωσης για αυτό το [[:en:w:Wikipedia:Lua|Scribunto module]].' ---------------------------------------------------------------------------------------------------- -- Experiment blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['experiment-blurb-template'] -- cfg['experiment-blurb-module'] -- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages. -- It is only shown in the template and module namespaces. With the default English settings, it -- might look like this: -- -- Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages. -- -- In this example, "sandbox", "edit", "diff", "testcases", and "edit" would all be links. -- -- There are two versions, cfg['experiment-blurb-template'] and cfg['experiment-blurb-module'], depending -- on what namespace we are in. -- -- Parameters: -- -- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-edit-link-display'] | cfg['compare-link-display']) -- -- If the sandbox doesn't exist, it is in the format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-create-link-display'] | cfg['mirror-link-display']) -- -- The link for cfg['sandbox-create-link-display'] link preloads the page with cfg['template-sandbox-preload'] -- or cfg['module-sandbox-preload'], depending on the current namespace. The link for cfg['mirror-link-display'] -- loads a default edit summary of cfg['mirror-edit-summary']. -- -- $2 is a link to the test cases page. If the test cases page exists, it is in the following format: -- -- cfg['testcases-link-display'] (cfg['testcases-edit-link-display'] | cfg['testcases-run-link-display']) -- -- If the test cases page doesn't exist, it is in the format: -- -- cfg['testcases-link-display'] (cfg['testcases-create-link-display']) -- -- If the test cases page doesn't exist, the link for cfg['testcases-create-link-display'] preloads the -- page with cfg['template-testcases-preload'] or cfg['module-testcases-preload'], depending on the current -- namespace. --]] cfg['experiment-blurb-template'] = "Οι συντάκτες μπορούν να πειραματίζονται στο $1 και στις $2 του προτύπου." cfg['experiment-blurb-module'] = "Οι συντάκτες μπορούν να πειραματίζονται στο $1 και στις $2 του module." ---------------------------------------------------------------------------------------------------- -- Sandbox link configuration ---------------------------------------------------------------------------------------------------- -- cfg['sandbox-subpage'] -- The name of the template subpage typically used for sandboxes. cfg['sandbox-subpage'] = 'πρόχειρο' -- cfg['template-sandbox-preload'] -- Preload file for template sandbox pages. cfg['template-sandbox-preload'] = 'Πρότυπον:Τεκμηρίωση προτύπου/preload-sandbox' -- cfg['module-sandbox-preload'] -- Preload file for Lua module sandbox pages. cfg['module-sandbox-preload'] = 'Πρότυπον:Τεκμηρίωση προτύπου/preload-module-sandbox' -- cfg['sandbox-link-display'] -- The text to display for "sandbox" links. cfg['sandbox-link-display'] = 'πρόχειρο' -- cfg['sandbox-edit-link-display'] -- The text to display for sandbox "edit" links. cfg['sandbox-edit-link-display'] = 'επεξεργασία' -- cfg['sandbox-create-link-display'] -- The text to display for sandbox "create" links. cfg['sandbox-create-link-display'] = 'δημιουργία' -- cfg['compare-link-display'] -- The text to display for "compare" links. cfg['compare-link-display'] = 'διαφορές' -- cfg['mirror-edit-summary'] -- The default edit summary to use when a user clicks the "mirror" link. $1 is a wikilink to the -- template page. cfg['mirror-edit-summary'] = 'Create sandbox version of $1' -- cfg['mirror-link-display'] -- The text to display for "mirror" links. cfg['mirror-link-display'] = 'αντίγραφο' -- cfg['mirror-link-preload'] -- The page to preload when a user clicks the "mirror" link. cfg['mirror-link-preload'] = '{{urlencode:{{FULLPAGENAME}}}}&summary={{urlencode:Δημιουργία έκδοσης προχείρου για το [[{{FULLPAGENAME}}]]}}' ---------------------------------------------------------------------------------------------------- -- Test cases link configuration ---------------------------------------------------------------------------------------------------- -- cfg['testcases-subpage'] -- The name of the template subpage typically used for test cases. cfg['testcases-subpage'] = 'testcases' -- cfg['template-testcases-preload'] -- Preload file for template test cases pages. cfg['template-testcases-preload'] = 'Πρότυπον:Τεκμηρίωση προτύπου/preload-testcases' -- cfg['module-testcases-preload'] -- Preload file for Lua module test cases pages. cfg['module-testcases-preload'] = 'Πρότυπον:Τεκμηρίωση προτύπου/preload-module-testcases' -- cfg['testcases-link-display'] -- The text to display for "testcases" links. cfg['testcases-link-display'] = 'δοκιμαστικές σελίδες' -- cfg['testcases-edit-link-display'] -- The text to display for test cases "edit" links. cfg['testcases-edit-link-display'] = 'επεξεργασία' -- cfg['testcases-create-link-display'] -- The text to display for test cases "create" links. cfg['testcases-create-link-display'] = 'δημιουργία' ---------------------------------------------------------------------------------------------------- -- Add categories blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['add-categories-blurb'] -- Text to direct users to add categories to the /doc subpage. Not used if the "content" or -- "docname fed" arguments are set, as then it is not clear where to add the categories. $1 is a -- link to the /doc subpage with a display value of cfg['doc-link-display']. --]] cfg['add-categories-blurb'] = 'Παρακαλούμε να προσθέτετε τις κατηγορίες στην $1.' -- cfg['doc-link-display'] -- The text to display when linking to the /doc subpage. cfg['doc-link-display'] = 'υποσελίδα τεκμηρίωσης' ---------------------------------------------------------------------------------------------------- -- Subpages link configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['subpages-blurb'] -- The "Subpages of this template" blurb. $1 is a link to the main template's subpages with a -- display value of cfg['subpages-link-display']. In the English version this blurb is simply -- the link followed by a period, and the link display provides the actual text. --]] cfg['subpages-blurb'] = '$1.' --[[ -- cfg['subpages-link-display'] -- The text to display for the "subpages of this page" link. $1 is cfg['template-pagetype'], -- cfg['module-pagetype'] or cfg['default-pagetype'], depending on whether the current page is in -- the template namespace, the module namespace, or another namespace. --]] cfg['subpages-link-display'] = 'Υποσελίδες $1' -- cfg['template-pagetype'] -- The pagetype to display for template pages. cfg['template-pagetype'] = 'αυτού του προτύπου' -- cfg['module-pagetype'] -- The pagetype to display for Lua module pages. cfg['module-pagetype'] = 'αυτού του module' -- cfg['default-pagetype'] -- The pagetype to display for pages other than templates or Lua modules. cfg['default-pagetype'] = 'αυτής της σελίδας' ---------------------------------------------------------------------------------------------------- -- Doc link configuration ---------------------------------------------------------------------------------------------------- -- cfg['doc-subpage'] -- The name of the subpage typically used for documentation pages. cfg['doc-subpage'] = 'τεκμηρίωση' -- cfg['docpage-preload'] -- Preload file for template documentation pages in all namespaces. cfg['docpage-preload'] = 'Πρότυπον:Τεκμηρίωση προτύπου/preload' -- cfg['module-preload'] -- Preload file for Lua module documentation pages. cfg['module-preload'] = 'Πρότυπον:Τεκμηρίωση προτύπου/preload' ---------------------------------------------------------------------------------------------------- -- HTML and CSS configuration ---------------------------------------------------------------------------------------------------- -- cfg['templatestyles'] -- The name of the TemplateStyles page where CSS is kept. -- Sandbox CSS will be at Module:Documentation/sandbox/styles.css when needed. cfg['templatestyles'] = 'Module:Documentation/styles.css' -- cfg['container'] -- Class which can be used to set flex or grid CSS on the -- two child divs documentation and documentation-metadata cfg['container'] = 'documentation-container' -- cfg['main-div-classes'] -- Classes added to the main HTML "div" tag. cfg['main-div-classes'] = 'documentation' -- cfg['main-div-heading-class'] -- Class for the main heading for templates and modules and assoc. talk spaces cfg['main-div-heading-class'] = 'documentation-heading' -- cfg['start-box-class'] -- Class for the start box cfg['start-box-class'] = 'documentation-startbox' -- cfg['start-box-link-classes'] -- Classes used for the [view][edit][history] or [create] links in the start box. -- mw-editsection-like is per [[Wikipedia:Village pump (technical)/Archive 117]] cfg['start-box-link-classes'] = 'mw-editsection-like plainlinks' -- cfg['end-box-class'] -- Class for the end box. cfg['end-box-class'] = 'documentation-metadata' -- cfg['end-box-plainlinks'] -- Plainlinks cfg['end-box-plainlinks'] = 'plainlinks' -- cfg['toolbar-class'] -- Class added for toolbar links. cfg['toolbar-class'] = 'documentation-toolbar' -- cfg['clear'] -- Just used to clear things. cfg['clear'] = 'documentation-clear' ---------------------------------------------------------------------------------------------------- -- Tracking category configuration ---------------------------------------------------------------------------------------------------- -- cfg['display-strange-usage-category'] -- Set to true to enable output of cfg['strange-usage-category'] if the module is used on a /doc subpage -- or a /testcases subpage. This should be a boolean value (either true or false). cfg['display-strange-usage-category'] = true -- cfg['strange-usage-category'] -- Category to output if cfg['display-strange-usage-category'] is set to true and the module is used on a -- /doc subpage or a /testcases subpage. cfg['strange-usage-category'] = 'Wikipedia pages with strange ((documentation)) usage' --[[ ---------------------------------------------------------------------------------------------------- -- End configuration -- -- Don't edit anything below this line. ---------------------------------------------------------------------------------------------------- --]] return cfg 2onr8r3weet7zquwrfgbc0bfoc0xwl4 Module:Documentation/styles.css 828 3228 36395 2025-12-15T15:14:03Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '.documentation, .documentation-metadata { border: 1px solid #a2a9b1; background-color: #ecfcf4; clear: both; } .documentation { margin: 1em 0 0 0; padding: 1em; } .documentation-metadata { margin: 0.2em 0; /* same margin left-right as .documentation */ font-style: italic; padding: 0.4em 1em; /* same padding left-right as .documentation */ } .documentation-startbox { padding-bottom: 3px; border-bottom: 1px solid #aaa; margin-bott...' 36395 sanitized-css text/css .documentation, .documentation-metadata { border: 1px solid #a2a9b1; background-color: #ecfcf4; clear: both; } .documentation { margin: 1em 0 0 0; padding: 1em; } .documentation-metadata { margin: 0.2em 0; /* same margin left-right as .documentation */ font-style: italic; padding: 0.4em 1em; /* same padding left-right as .documentation */ } .documentation-startbox { padding-bottom: 3px; border-bottom: 1px solid #aaa; margin-bottom: 1ex; } .documentation-heading { font-weight: bold; font-size: 125%; } .documentation-clear { /* Don't want things to stick out where they shouldn't. */ clear: both; } .documentation-toolbar { font-style: normal; font-size: 85%; } @media screen { html.skin-theme-clientpref-night .documentation, html.skin-theme-clientpref-night .documentation-metadata { background-color: #0b1e1c; } } @media screen and ( prefers-color-scheme: dark) { html.skin-theme-clientpref-os .documentation, html.skin-theme-clientpref-os .documentation-metadata { background-color: #0b1e1c; } } plcljg17wrwl7ynpinl3njyt12xl9hl Module:Navbar/configuration 828 3229 36396 2025-12-15T15:15:17Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local configuration = { ['templatestyles'] = 'Module:Navbar/styles.css', ['box_text'] = 'Αυτό το πλαίσιο: ', -- default text box when not plain or mini ['title_namespace'] = 'Πρότυπο', -- namespace to default to for title ['invalid_title'] = 'Άκυρος τίτλος ', ['classes'] = { -- set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list']...' 36396 Scribunto text/plain local configuration = { ['templatestyles'] = 'Module:Navbar/styles.css', ['box_text'] = 'Αυτό το πλαίσιο: ', -- default text box when not plain or mini ['title_namespace'] = 'Πρότυπο', -- namespace to default to for title ['invalid_title'] = 'Άκυρος τίτλος ', ['classes'] = { -- set a line to nil if you don't want it ['navbar'] = 'navbar', ['plainlinks'] = 'plainlinks', -- plainlinks ['horizontal_list'] = 'hlist', -- horizontal list class ['mini'] = 'navbar-mini', -- class indicating small links in the navbar ['this_box'] = 'navbar-boxtext', ['brackets'] = 'navbar-brackets', -- 'collapsible' is the key for a class to indicate the navbar is -- setting up the collapsible element in addition to the normal -- navbar. ['collapsible'] = 'navbar-collapse', ['collapsible_title_mini'] = 'navbar-ct-mini', ['collapsible_title_full'] = 'navbar-ct-full' } } return configuration 266sw0kz41eaguydwpfq9q0va92p333 Module:Navbar 828 3230 36397 2025-12-15T15:16:06Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} local cfg = mw.loadData('Module:Navbar/configuration') local function get_title_arg(is_collapsible, template) local title_arg = 1 if is_collapsible then title_arg = 2 end if template then title_arg = 'template' end return title_arg end local function choose_links(template, args) -- The show table indicates the default displayed items. -- view, talk, edit, hist, move, watch -- TODO: Move to configuration. local show = {true, t...' 36397 Scribunto text/plain local p = {} local cfg = mw.loadData('Module:Navbar/configuration') local function get_title_arg(is_collapsible, template) local title_arg = 1 if is_collapsible then title_arg = 2 end if template then title_arg = 'template' end return title_arg end local function choose_links(template, args) -- The show table indicates the default displayed items. -- view, talk, edit, hist, move, watch -- TODO: Move to configuration. local show = {true, true, true, false, false, false} if template then show[2] = false show[3] = false local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6, talk = 2, edit = 3, hist = 4, move = 5, watch = 6} -- TODO: Consider removing TableTools dependency. for _, v in ipairs(require ('Module:TableTools').compressSparseArray(args)) do local num = index[v] if num then show[num] = true end end end local remove_edit_link = args.noedit if remove_edit_link then show[3] = false end return show end local function add_link(link_description, ul, is_mini, font_style) local l if link_description.url then l = {'[', '', ']'} else l = {'[[', '|', ']]'} end ul:tag('li') :addClass('nv-' .. link_description.full) :wikitext(l[1] .. link_description.link .. l[2]) :tag(is_mini and 'abbr' or 'span') :attr('title', link_description.html_title) :cssText(font_style) :wikitext(is_mini and link_description.mini or link_description.full) :done() :wikitext(l[3]) :done() end local function make_list(title_text, has_brackets, displayed_links, is_mini, font_style) local title = mw.title.new(mw.text.trim(title_text), cfg.title_namespace) if not title then error(cfg.invalid_title .. title_text) end local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' -- TODO: Get link_descriptions and show into the configuration module. -- link_descriptions should be easier... local link_descriptions = { { ['mini'] = 'π', ['full'] = 'προβολή', ['html_title'] = 'Προβολή του προτύπου', ['link'] = title.fullText, ['url'] = false }, { ['mini'] = 'σ', ['full'] = 'συζ.', ['html_title'] = 'Συζήτηση του προτύπου', ['link'] = talkpage, ['url'] = false }, { ['mini'] = 'ε', ['full'] = 'επεξ.', ['html_title'] = 'Επεξεργασία του προτύπου', ['link'] = title:fullUrl('action=edit'), ['url'] = true }, { ['mini'] = 'ι', ['full'] = 'ιστ.', ['html_title'] = 'Ιστορικό του προτύπου', ['link'] = title:fullUrl('action=history'), ['url'] = true }, { ['mini'] = 'μ', ['full'] = 'μετ.', ['html_title'] = 'Μετακίνηση του προτύπου', ['link'] = mw.title.new('Special:Movepage'):fullUrl('target='..title.fullText), ['url'] = true }, { ['mini'] = 'w', ['full'] = 'παρ.', ['html_title'] = 'Παρακολούθηση του προτύπου', ['link'] = title:fullUrl('action=watch'), ['url'] = true } } local ul = mw.html.create('ul') if has_brackets then ul:addClass(cfg.classes.brackets) :cssText(font_style) end for i, _ in ipairs(displayed_links) do if displayed_links[i] then add_link(link_descriptions[i], ul, is_mini, font_style) end end return ul:done() end function p._navbar(args) -- TODO: We probably don't need both fontstyle and fontcolor... local font_style = args.fontstyle local font_color = args.fontcolor local is_collapsible = args.collapsible local is_mini = args.mini local is_plain = args.plain local collapsible_class = nil if is_collapsible then collapsible_class = cfg.classes.collapsible if not is_plain then is_mini = 1 end if font_color then font_style = (font_style or '') .. '; color: ' .. font_color .. ';' end end local navbar_style = args.style local div = mw.html.create():tag('div') div :addClass(cfg.classes.navbar) :addClass(cfg.classes.plainlinks) :addClass(cfg.classes.horizontal_list) :addClass(collapsible_class) -- we made the determination earlier :cssText(navbar_style) if is_mini then div:addClass(cfg.classes.mini) end local box_text = (args.text or cfg.box_text) .. ' ' -- the concatenated space guarantees the box text is separated if not (is_mini or is_plain) then div :tag('span') :addClass(cfg.classes.box_text) :cssText(font_style) :wikitext(box_text) end local template = args.template local displayed_links = choose_links(template, args) local has_brackets = args.brackets local title_arg = get_title_arg(is_collapsible, template) local title_text = args[title_arg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) local list = make_list(title_text, has_brackets, displayed_links, is_mini, font_style) div:node(list) if is_collapsible then local title_text_class if is_mini then title_text_class = cfg.classes.collapsible_title_mini else title_text_class = cfg.classes.collapsible_title_full end div:done() :tag('div') :addClass(title_text_class) :cssText(font_style) :wikitext(args[1]) end return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = cfg.templatestyles } } .. tostring(div:done()) end function p.navbar(frame) return p._navbar(require('Module:Arguments').getArgs(frame)) end return p 559mh2tqplundnsfqhmb8roeki2emwh Κατηγορίαν:Βικιπαίδεια λήμματα 14 3231 36399 36398 2025-12-15T15:34:02Z Εὐθυμένης 2777 36399 wikitext text/x-wiki [[Κατηγορίαν:Διαχείριση Βικιπαίδειας|βικιπαιδεια λημματα]] 1bppxj2olawy2wcr9fpt10ops3t2dmj Κατηγορίαν:Διαχείριση Βικιπαίδειας 14 3232 36400 2025-12-15T15:34:56Z Εὐθυμένης 2777 Καινούρεον σελίδαν με ':''Για τους διαχειριστές της Βικιπαίδειας, δείτε την [[:Κατηγορίαν:Διαχειριστές]] και το [[Βικιπαίδεια:Διαχειριστές]].'' {{δείτε|Βικιπαίδεια:Εισαγωγή|Βικιπαίδεια:Βοήθεια|Βικιπαίδεια:Πολιτική}} Η κατηγορία αυτή αφορά τη οργάνωση και τη λειτουργία της ...' 36400 wikitext text/x-wiki :''Για τους διαχειριστές της Βικιπαίδειας, δείτε την [[:Κατηγορίαν:Διαχειριστές]] και το [[Βικιπαίδεια:Διαχειριστές]].'' {{δείτε|Βικιπαίδεια:Εισαγωγή|Βικιπαίδεια:Βοήθεια|Βικιπαίδεια:Πολιτική}} Η κατηγορία αυτή αφορά τη οργάνωση και τη λειτουργία της [[Βικιπαίδεια|Βικιπαίδειας]]. Για το συνολικό εγκυκλοπαιδικό περιεχόμενο της Βικιπαίδειας δείτε [[:Κατηγορίαν:Κατηγορίες]]. {{Commonscat|Wikipedia administration}} {{διάχυση κατηγορίας}} [[Κατηγορίαν:Θεμελιώδης| ]] bfani2ywfuf0kzv5lvkiw8g9hyaxm9m Module:StringReplace 828 3233 36401 2025-12-15T15:36:06Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Module for different search and replace operations on strings. local p = {} -- Takes one string parameter, and returns the string with all characters with special meaning for Lua patterns escaped with a preceding `%`. function p.escape_pattern(text) -- Replaces each occurrence of any of ().%+-*?[^$ with a `%` and then the character. local r = string.gsub(text, "[%(%)%.%%%+%-%*%?%[%^%$]", "%%%1") return r end -- Returns the first pa...' 36401 Scribunto text/plain -- Module for different search and replace operations on strings. local p = {} -- Takes one string parameter, and returns the string with all characters with special meaning for Lua patterns escaped with a preceding `%`. function p.escape_pattern(text) -- Replaces each occurrence of any of ().%+-*?[^$ with a `%` and then the character. local r = string.gsub(text, "[%(%)%.%%%+%-%*%?%[%^%$]", "%%%1") return r end -- Returns the first parameter, with all occurrences of the second parameter replaced with the third parameter. -- All special characters are ignored: {{#invoke:StringReplace|replace_all|test.a%1$foo|%1|bar}} results in `test.abarfoo`. function p.replace_all(frame) local str = frame.args[1] local strToFind = frame.args[2] local strToreplaceWith = frame.args[3] local r = string.gsub(str, p.escape_pattern(strToFind), p.escape_pattern(strToreplaceWith)) return r end p['encode wiki page name'] = function( frame ) local x = mw.ustring.gsub( frame.args[1] or '', '[\'"&_]', { ["'"] = '&#39;', ['"'] = '&#34;', ['&'] = '&#38;', ['_'] = ' ', } ) return mw.text.trim( x ) end return p boys4063t5ya90wc49hfsoe4797mp4d Πρότυπον:Διάχυση κατηγορίας 10 3234 36402 2025-12-15T15:36:58Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#invoke:message box|cmbox |style = background:#D8E8FF; border:1px solid #aaa; margin: 4px 10%; |image = [[File:Sub-arrows.svg|45px|link=]] |text = '''Τα λήμματα σε αυτή την κατηγορία πρέπει να μετακινούνται στις κατάλληλες υποκατηγορίες της, όποτε αυτό είναι δυνατό.'''<br />Αυτή η κατηγορία μπορεί να μεγαλώσει υπερ...' 36402 wikitext text/x-wiki {{#invoke:message box|cmbox |style = background:#D8E8FF; border:1px solid #aaa; margin: 4px 10%; |image = [[File:Sub-arrows.svg|45px|link=]] |text = '''Τα λήμματα σε αυτή την κατηγορία πρέπει να μετακινούνται στις κατάλληλες υποκατηγορίες της, όποτε αυτό είναι δυνατό.'''<br />Αυτή η κατηγορία μπορεί να μεγαλώσει υπερβολικά. Για την αποφυγή αυτού του ενδεχόμενου, καλό είναι να περιέχει κυρίως υποκατηγορίες και λίγα ή καθόλου λήμματα.}}<noinclude> [[Κατηγορίαν:Πρότυπα κατηγοριών]] </noinclude> o6ngg7q22ghpp34ur3igmqmueaptwxd Module:Message box/ambox.css 828 3235 36403 2025-12-15T15:38:33Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '.ambox { border: 1px solid #a2a9b1; /* @noflip */ border-left: 10px solid #36c; /* Default "notice" blue */ background-color: #fbfbfb; box-sizing: border-box; } /* Single border between stacked boxes. Take into account base templatestyles, * user styles, and Template:Dated maintenance category. * remove link selector when T200206 is fixed */ .ambox + link + .ambox, .ambox + link + style + .ambox, .ambox + link + link + .ambox, /* TODO: ra...' 36403 sanitized-css text/css .ambox { border: 1px solid #a2a9b1; /* @noflip */ border-left: 10px solid #36c; /* Default "notice" blue */ background-color: #fbfbfb; box-sizing: border-box; } /* Single border between stacked boxes. Take into account base templatestyles, * user styles, and Template:Dated maintenance category. * remove link selector when T200206 is fixed */ .ambox + link + .ambox, .ambox + link + style + .ambox, .ambox + link + link + .ambox, /* TODO: raise these as "is this really that necessary???". the change was Dec 2021 */ .ambox + .mw-empty-elt + link + .ambox, .ambox + .mw-empty-elt + link + style + .ambox, .ambox + .mw-empty-elt + link + link + .ambox { margin-top: -1px; } /* For the "small=left" option. */ /* must override .ambox + .ambox styles above */ html body.mediawiki .ambox.mbox-small-left { /* @noflip */ margin: 4px 1em 4px 0; overflow: hidden; width: 238px; border-collapse: collapse; font-size: 88%; line-height: 1.25em; } .ambox-speedy { /* @noflip */ border-left: 10px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } .ambox-delete { /* @noflip */ border-left: 10px solid #b32424; /* Red */ } .ambox-content { /* @noflip */ border-left: 10px solid #f28500; /* Orange */ } .ambox-style { /* @noflip */ border-left: 10px solid #fc3; /* Yellow */ } .ambox-move { /* @noflip */ border-left: 10px solid #9932cc; /* Purple */ } .ambox-protection { /* @noflip */ border-left: 10px solid #a2a9b1; /* Gray-gold */ } .ambox .mbox-text { border: none; /* @noflip */ padding: 0.25em 0.5em; width: 100%; } .ambox .mbox-image { border: none; /* @noflip */ padding: 2px 0 2px 0.5em; text-align: center; } .ambox .mbox-imageright { border: none; /* @noflip */ padding: 2px 0.5em 2px 0; text-align: center; } /* An empty narrow cell */ .ambox .mbox-empty-cell { border: none; padding: 0; width: 1px; } .ambox .mbox-image-div { width: 52px; } /* Hack around MobileFrontend being opinionated */ html.client-js body.skin-minerva .mbox-text-span { margin-left: 23px !important; } @media (min-width: 720px) { .ambox { margin: 0 10%; /* 10% = Will not overlap with other elements */ } } @media print { body.ns-0 .ambox { display: none !important; } } i6s0a5zyzr9jd8subqitmlgqp3lqes6 Module:Message box/fmbox.css 828 3236 36404 2025-12-15T15:39:16Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '.fmbox { clear: both; margin: 0.2em 0; width: 100%; border: 1px solid #a2a9b1; background-color: var(--background-color-interactive-subtle, #f8f9fa); box-sizing: border-box; color: var(--color-base, #202122); } .fmbox-warning { border: 1px solid #bb7070; /* Dark pink */ background-color: #ffdbdb; /* Pink */ } .fmbox-editnotice { background-color: transparent; } .fmbox .mbox-text { border: none; /* @noflip */ padding: 0.25...' 36404 sanitized-css text/css .fmbox { clear: both; margin: 0.2em 0; width: 100%; border: 1px solid #a2a9b1; background-color: var(--background-color-interactive-subtle, #f8f9fa); box-sizing: border-box; color: var(--color-base, #202122); } .fmbox-warning { border: 1px solid #bb7070; /* Dark pink */ background-color: #ffdbdb; /* Pink */ } .fmbox-editnotice { background-color: transparent; } .fmbox .mbox-text { border: none; /* @noflip */ padding: 0.25em 0.9em; width: 100%; } .fmbox .mbox-image { border: none; /* @noflip */ padding: 2px 0 2px 0.9em; text-align: center; } .fmbox .mbox-imageright { border: none; /* @noflip */ padding: 2px 0.9em 2px 0; text-align: center; } .fmbox .mbox-invalid-type { text-align: center; } @media screen { html.skin-theme-clientpref-night .fmbox-warning { background-color: #300; /* Reddish, same hue/saturation as light */ } } @media screen and ( prefers-color-scheme: dark) { html.skin-theme-clientpref-os .fmbox-warning { background-color: #300; /* Reddish, same hue/saturation as light */ } } k18za5h8ujwt6mea3q507ztplqmpwzg Module:Message box/imbox.css 828 3237 36405 2025-12-15T15:39:51Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '.imbox { margin: 4px 0; border-collapse: collapse; border: 3px solid #36c; /* Default "notice" blue */ background-color: var(--background-color-interactive-subtle, #f8f9fa); box-sizing: border-box; } /* For imboxes inside imbox-text cells. */ .imbox .mbox-text .imbox { margin: 0 -0.5em; /* 0.9 - 0.5 = 0.4em left/right. */ /* TODO: Still needed? */ display: block; /* Fix for webkit to force 100% width. */ } .imbox-speedy { border: 3p...' 36405 sanitized-css text/css .imbox { margin: 4px 0; border-collapse: collapse; border: 3px solid #36c; /* Default "notice" blue */ background-color: var(--background-color-interactive-subtle, #f8f9fa); box-sizing: border-box; } /* For imboxes inside imbox-text cells. */ .imbox .mbox-text .imbox { margin: 0 -0.5em; /* 0.9 - 0.5 = 0.4em left/right. */ /* TODO: Still needed? */ display: block; /* Fix for webkit to force 100% width. */ } .imbox-speedy { border: 3px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } .imbox-delete { border: 3px solid #b32424; /* Red */ } .imbox-content { border: 3px solid #f28500; /* Orange */ } .imbox-style { border: 3px solid #fc3; /* Yellow */ } .imbox-move { border: 3px solid #9932cc; /* Purple */ } .imbox-protection { border: 3px solid #a2a9b1; /* Gray-gold */ } .imbox-license { border: 3px solid #88a; /* Dark gray */ } .imbox-featured { border: 3px solid #cba135; /* Brown-gold */ } .imbox .mbox-text { border: none; /* @noflip */ padding: 0.25em 0.9em; width: 100%; } .imbox .mbox-image { border: none; /* @noflip */ padding: 2px 0 2px 0.9em; text-align: center; } .imbox .mbox-imageright { border: none; /* @noflip */ padding: 2px 0.9em 2px 0; text-align: center; } /* An empty narrow cell */ .imbox .mbox-empty-cell { border: none; padding: 0; width: 1px; } .imbox .mbox-invalid-type { text-align: center; } @media (min-width: 720px) { .imbox { margin: 4px 10%; } } @media screen { html.skin-theme-clientpref-night .imbox-speedy { background-color: #310402; /* Dark red, same hue/saturation as light */ } } @media screen and ( prefers-color-scheme: dark) { html.skin-theme-clientpref-os .imbox-speedy { background-color: #310402; /* Dark red, same hue/saturation as light */ } } sxryvj6qx8dikgkcdwckuah05tnx4yo Module:Message box/tmbox.css 828 3238 36406 2025-12-15T15:40:35Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '.tmbox { margin: 4px 0; border-collapse: collapse; border: 1px solid #c0c090; /* Default "notice" gray-brown */ background-color: #f8eaba; box-sizing: border-box; } /* For the "small=yes" option. */ .tmbox.mbox-small { font-size: 88%; line-height: 1.25em; } .tmbox-speedy { border: 2px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } .tmbox-delete { border: 2px solid #b32424; /* Red */ } .tmbox-content { bo...' 36406 sanitized-css text/css .tmbox { margin: 4px 0; border-collapse: collapse; border: 1px solid #c0c090; /* Default "notice" gray-brown */ background-color: #f8eaba; box-sizing: border-box; } /* For the "small=yes" option. */ .tmbox.mbox-small { font-size: 88%; line-height: 1.25em; } .tmbox-speedy { border: 2px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } .tmbox-delete { border: 2px solid #b32424; /* Red */ } .tmbox-content { border: 2px solid #f28500; /* Orange */ } .tmbox-style { border: 2px solid #fc3; /* Yellow */ } .tmbox-move { border: 2px solid #9932cc; /* Purple */ } .tmbox .mbox-text { border: none; /* @noflip */ padding: 0.25em 0.9em; width: 100%; } .tmbox .mbox-image { border: none; /* @noflip */ padding: 2px 0 2px 0.9em; text-align: center; } .tmbox .mbox-imageright { border: none; /* @noflip */ padding: 2px 0.9em 2px 0; text-align: center; } /* An empty narrow cell */ .tmbox .mbox-empty-cell { border: none; padding: 0; width: 1px; } .tmbox .mbox-invalid-type { text-align: center; } @media (min-width: 720px) { .tmbox { margin: 4px 10%; } .tmbox.mbox-small { /* @noflip */ clear: right; /* @noflip */ float: right; /* @noflip */ margin: 4px 0 4px 1em; width: 238px; } } @media screen { html.skin-theme-clientpref-night .tmbox { background-color: #2e2505; /* Dark brown, same hue/saturation as light */ } html.skin-theme-clientpref-night .tmbox-speedy { background-color: #310402; /* Dark red, same hue/saturation as light */ } } @media screen and ( prefers-color-scheme: dark) { html.skin-theme-clientpref-os .tmbox { background-color: #2e2505; /* Dark brown, same hue/saturation as light */ } html.skin-theme-clientpref-os .tmbox-speedy { background-color: #310402; /* Dark red, same hue/saturation as light */ } } /** T367463 */ body.skin--responsive table.tmbox img { max-width: none !important; } 56hhdhk66btxrol909widxvwk2c68ai Module:Message box/cmbox.css 828 3239 36407 2025-12-15T15:41:21Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '.cmbox { margin: 3px 0; border-collapse: collapse; border: 1px solid #a2a9b1; background-color: #dfe8ff; /* Default "notice" blue */ box-sizing: border-box; /* necessary when embedded in other templates like [[:Category:Pending_AfC_submissions]] */ color: var( --color-base ); } .cmbox-speedy { border: 4px solid #b32424; /* Red */ background-color: #ffdbdb; /* Pink */ } .cmbox-delete { background-color: #ffdbdb; /* Pink *...' 36407 sanitized-css text/css .cmbox { margin: 3px 0; border-collapse: collapse; border: 1px solid #a2a9b1; background-color: #dfe8ff; /* Default "notice" blue */ box-sizing: border-box; /* necessary when embedded in other templates like [[:Category:Pending_AfC_submissions]] */ color: var( --color-base ); } .cmbox-speedy { border: 4px solid #b32424; /* Red */ background-color: #ffdbdb; /* Pink */ } .cmbox-delete { background-color: #ffdbdb; /* Pink */ } .cmbox-content { background-color: #ffe7ce; /* Orange */ } .cmbox-style { background-color: #fff9db; /* Yellow */ } .cmbox-move { background-color: #e4d8ff; /* Purple */ } .cmbox-protection { background-color: #efefe1; /* Gray-gold */ } .cmbox .mbox-text { border: none; /* @noflip */ padding: 0.25em 0.9em; width: 100%; } .cmbox .mbox-image { border: none; /* @noflip */ padding: 2px 0 2px 0.9em; text-align: center; } .cmbox .mbox-imageright { border: none; /* @noflip */ padding: 2px 0.9em 2px 0; text-align: center; } /* An empty narrow cell */ .cmbox .mbox-empty-cell { border: none; padding: 0; width: 1px; } .cmbox .mbox-invalid-type { text-align: center; } @media (min-width: 720px) { .cmbox { margin: 3px 10%; } } /* flipped lightness in hsl space except the main cmbox is the main page blue */ @media screen { html.skin-theme-clientpref-night .cmbox { background-color: #0d1a27; /* Default "notice" blue */ } html.skin-theme-clientpref-night .cmbox-speedy, html.skin-theme-clientpref-night .cmbox-delete { background-color: #300; /* Pink */ } html.skin-theme-clientpref-night .cmbox-content { background-color: #331a00; /* Orange */ } html.skin-theme-clientpref-night .cmbox-style { background-color: #332b00; /* Yellow */ } html.skin-theme-clientpref-night .cmbox-move { background-color: #08001a; /* Purple */ } html.skin-theme-clientpref-night .cmbox-protection { background-color: #212112; /* Gray-gold */ } } @media screen and ( prefers-color-scheme: dark) { html.skin-theme-clientpref-os .cmbox { background-color: #0d1a27; /* Default "notice" blue */ } html.skin-theme-clientpref-os .cmbox-speedy, html.skin-theme-clientpref-os .cmbox-delete { background-color: #300; /* Pink */ } html.skin-theme-clientpref-os .cmbox-content { background-color: #331a00; /* Orange */ } html.skin-theme-clientpref-os .cmbox-style { background-color: #332b00; /* Yellow */ } html.skin-theme-clientpref-os .cmbox-move { background-color: #08001a; /* Purple */ } html.skin-theme-clientpref-os .cmbox-protection { background-color: #212112; /* Gray-gold */ } } srrsgothsd7f66xbx66nmehz9ctsosq Πρότυπον:Δείτε 10 3240 36408 2025-12-15T15:43:54Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{rellink|extraclasses=boilerplate hatnote seealso|{{{altphrase|Δείτε επίσης}}}: {{#if:{{{1<includeonly>|</includeonly>}}} |<!--then:-->[[:{{{1}}}{{#if:{{{label 1|{{{l1|}}}}}}|{{!}}{{{label 1|{{{l1}}}}}}}}]] |<!--else:-->'''Σφάλμα: [[Πρότυπον:δείτε|Στο πρότυπο πρέπει να δοθεί τουλάχιστον ένας τίτλος λήμματος]]''' }}{{#if:{{{2|}}}|{{#if:{{{3|}}}|, |&nbsp;και }} :{...' 36408 wikitext text/x-wiki {{rellink|extraclasses=boilerplate hatnote seealso|{{{altphrase|Δείτε επίσης}}}: {{#if:{{{1<includeonly>|</includeonly>}}} |<!--then:-->[[:{{{1}}}{{#if:{{{label 1|{{{l1|}}}}}}|{{!}}{{{label 1|{{{l1}}}}}}}}]] |<!--else:-->'''Σφάλμα: [[Πρότυπον:δείτε|Στο πρότυπο πρέπει να δοθεί τουλάχιστον ένας τίτλος λήμματος]]''' }}{{#if:{{{2|}}}|{{#if:{{{3|}}}|, |&nbsp;και }} [[:{{{2}}}{{#if:{{{label 2|{{{l2|}}}}}}|{{!}}{{{label 2|{{{l2}}}}}}}}]] }}{{#if:{{{3|}}}|{{#if:{{{4|}}}|, |,&nbsp;και }} [[:{{{3}}}{{#if:{{{label 3|{{{l3|}}}}}}|{{!}}{{{label 3|{{{l3}}}}}}}}]] }}{{#if:{{{4|}}}|{{#if:{{{5|}}}|, |,&nbsp;και }} [[:{{{4}}}{{#if:{{{label 4|{{{l4|}}}}}}|{{!}}{{{label 4|{{{l4}}}}}}}}]] }}{{#if:{{{5|}}}|{{#if:{{{6|}}}|, |,&nbsp;και }} [[:{{{5}}}{{#if:{{{label 5|{{{l5|}}}}}}|{{!}}{{{label 5|{{{l5}}}}}}}}]] }}{{#if:{{{6|}}}|{{#if:{{{7|}}}|, |,&nbsp;και }} [[:{{{6}}}{{#if:{{{label 6|{{{l6|}}}}}}|{{!}}{{{label 6|{{{l6}}}}}}}}]] }}{{#if:{{{7|}}}|{{#if:{{{8|}}}|, |,&nbsp;και }} [[:{{{7}}}{{#if:{{{label 7|{{{l7|}}}}}}|{{!}}{{{label 7|{{{l7}}}}}}}}]] }}{{#if:{{{8|}}}|{{#if:{{{9|}}}|, |,&nbsp;και }} [[:{{{8}}}{{#if:{{{label 8|{{{l8|}}}}}}|{{!}}{{{label 8|{{{l8}}}}}}}}]] }}{{#if:{{{9|}}}|{{#if:{{{10|}}}|, |,&nbsp;και }} [[:{{{9}}}{{#if:{{{label 9|{{{l9|}}}}}}|{{!}}{{{label 9|{{{l9}}}}}}}}]] }}{{#if:{{{10|}}}|{{#if:{{{11|}}}|, |,&nbsp;και }} [[:{{{10}}}{{#if:{{{label 10|{{{l10|}}}}}}|{{!}}{{{label 10|{{{l10}}}}}}}}]] }}{{#if:{{{11|}}}|{{#if:{{{12|}}}|, |,&nbsp;και }} [[:{{{11}}}{{#if:{{{label 11|{{{l11|}}}}}}|{{!}}{{{label 11|{{{l11}}}}}}}}]] }}{{#if:{{{12|}}}|{{#if:{{{13|}}}|, |,&nbsp;και }} [[:{{{12}}}{{#if:{{{label 12|{{{l12|}}}}}}|{{!}}{{{label 12|{{{l12}}}}}}}}]] }}{{#if:{{{13|}}}|{{#if:{{{14|}}}|, |,&nbsp;και }} [[:{{{13}}}{{#if:{{{label 13|{{{l13|}}}}}}|{{!}}{{{label 13|{{{l13}}}}}}}}]] }}{{#if:{{{14|}}}|{{#if:{{{15|}}}|, |,&nbsp;και }} [[:{{{14}}}{{#if:{{{label 14|{{{l14|}}}}}}|{{!}}{{{label 14|{{{l14}}}}}}}}]] }}{{#if:{{{15|}}}|,&nbsp;και [[:{{{15}}}{{#if:{{{label 15|{{{l15|}}} }}}|{{!}}{{{label 15|{{{l15|}}} }}} }}]] }}{{#if:{{{16|}}}| &mdash; '''<br/>Σφάλμα: (πάρα πολλές παράμετροι στο {{[[Πρότυπον:δείτε|δείτε]]}})''' }}}}<noinclude> == Χρήση == <code><nowiki>{{δείτε|</nowiki>''σύνδεσμος1|σύνδεσμος2|σύνδεσμος3...''<nowiki>}}</nowiki></code> όπου ''σύνδεσμος1,2,3...'' άλλα λήμματα της Βικιπαίδειας (προσοχή, '''όχι εξωτερικοί σύνδεσμοι''') '''Παράδειγμα:''' <code><nowiki>{{δείτε|</nowiki>Βυζαντινή αυτοκρατορία|Βυζαντινή κοινωνία|Βυζαντινός στρατός<nowiki>}}</nowiki></code> το οποίο θα εμφανιστεί ως: {{δείτε|Βυζαντινή αυτοκρατορία|Βυζαντινή κοινωνία|Βυζαντινός στρατός}} '''Όλες οι παράμετροι''' <pre>{{Δείτε| σελίδα1 | σελίδα2 | σελίδα3 | ... label 1 = ετικέτα 1 | label 2 = ετικέτα 2 | label 3 = ετικέτα 3 | ... | l1 = ετικέτα 1 | l2 = ετικέτα 2 | l3 = ετικέτα3 | ... | selfref = ναι | κατηγορία = όχι }}</pre> == TemplateData== <templatedata> { "description": "Αυτό το πρότυπο δημιουργεί ένα hatnote για να οδηγήσει προς έναν μικρό αριθμό σχετικών σελίδων. Τοποθετείται στην κορυφή μιας ενότητας, ακριβώς κάτω από την επικεφαλίδα της ενότητας.", "params": { "1": { "label": "Σελίδα 1", "description": "Το όνομα της πρώτης σελίδας που θέλετε να συνδέσετε προς εκείνη.", "type": "wiki-page-name", "required": true, "example": "Τίτλος λήμματος" }, "2": { "label": "Σελίδα 2", "description": "Το όνομα της δεύτερης σελίδας που θέλετε να συνδέσετε προς εκείνη.", "type": "wiki-page-name", "required": false }, "3": { "label": "Σελίδα 3", "description": "Το όνομα της τρίτης σελίδας που θέλετε να συνδέσετε προς εκείνη. Περισσότερες σελίδες μπορούν να προστεθούν χρησιμοποιώντας τις παραμέτρους \"4\", \"5\", \"6\", κλπ.", "type": "wiki-page-name", "required": false }, "label 1": { "label": "Ετικέτα 1", "type": "string", "description": "Πως θα εμφανίζεται το πρώτο συνδεδεμένο λήμμα.", "aliases": [ "l1" ] }, "label 2": { "label": "Ετικέτα 2", "type": "string", "description": "Πως θα εμφανίζεται το δεύτερο συνδεδεμένο λήμμα.", "aliases": [ "l2" ] }, "selfref": { "type": "boolean", "label": "Αυτοαναφορά", "description": "Ορίστε ως \"yes\" αν το πρότυπο είναι αυτοαναφορά προς τη Βικιπαίδειαt που δεν θα είχε νόημα σε αντίγραφα ή εναλλακτικές εκδόσεις του περιεχομένου", "example": "yes", "default": "no" }, "category": { "label": "Κατηγορία", "description": "Ορίστε ως \"no\", \"n\", \"false\", ή \"0\" για να απενεργοποιήσετε την κατηγορία ανίχνευσης σφαλμάτων (Category:Hatnote templates with errors). This only has an effect if no page names are specified.", "type": "boolean", "default": "yes", "example": "no" }, "label 3": { "aliases": [ "l3" ], "type": "string", "label": "Ετικέτα 3", "description": "Πως θα εμφανίζεται το τρίτο συνδεδεμένο λήμμα. Άλλες ετικέτες μπορούν να προστεθούν με τη χρήση αυξανόμενων αριθμών (ξεκινώντας με \"label 4\" ή \"l4\" για τη σελίδα 4) ως ονόματα παραμέτρων." } }, "format": "inline" } </templatedata> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]] </noinclude> r0ifkoglx5rg85jv63m3aszyacyh8ci Πρότυπον:Rellink 10 3241 36409 2025-12-15T15:44:52Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<div class="rellink{{#if:{{{extraclasses|}}}|<nowiki> </nowiki>{{{extraclasses}}}}}">{{{1}}}</div><noinclude> {{documentation}} </noinclude>' 36409 wikitext text/x-wiki <div class="rellink{{#if:{{{extraclasses|}}}|<nowiki> </nowiki>{{{extraclasses}}}}}">{{{1}}}</div><noinclude> {{documentation}} </noinclude> 2324mokuqb4rybkh0qre9oyyqesbdvb Πρότυπον:Πλευρικό κουτί 10 3242 36414 2025-12-15T15:49:41Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<table class="metadata plainlinks mbox-small" style="{{#ifeq:{{lc:{{{position|}}}}}|left|clear:left; float:left; margin:4px 1em 4px 0;}} border:1px solid #aaa; background-color:#f9f9f9; {{{style|}}}"> <tr> {{#switch:{{{image|}}} |<!--BLANK-->|none={{td}} |#default=<td class="mbox-image">{{{image}}}</td> }} <td class="mbox-text" style="{{{textstyle|}}}"> {{{text}}} </td> {{#if:{{{imageright|}}} | <td class="mbox-imageright">{{{imageright}}}</td> }}...' 36414 wikitext text/x-wiki <table class="metadata plainlinks mbox-small" style="{{#ifeq:{{lc:{{{position|}}}}}|left|clear:left; float:left; margin:4px 1em 4px 0;}} border:1px solid #aaa; background-color:#f9f9f9; {{{style|}}}"> <tr> {{#switch:{{{image|}}} |<!--BLANK-->|none={{td}} |#default=<td class="mbox-image">{{{image}}}</td> }} <td class="mbox-text" style="{{{textstyle|}}}"> {{{text}}} </td> {{#if:{{{imageright|}}} | <td class="mbox-imageright">{{{imageright}}}</td> }} </tr> {{#if:{{{below|}}} | <tr><td colspan={{#if:{{{imageright|}}}|3|2}} class="mbox-text" style="{{{textstyle|}}}"> {{{below}}} </td></tr> }} </table><noinclude> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|Πρότυπα Βικιπαίδειας]] Χρησιμοποιείται στα πρότυπα: *[[πρότυπον:Αδελφικό]] </noinclude> 8jkdteicdvwf7z5d8bmr4to7kkr1ps4 Πρότυπον:Αδελφικό 10 3243 36415 2025-12-15T15:50:22Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{πλευρικό κουτί |position = {{{position|}}} |image = <!-- -->{{#switch:{{{image|}}} |none= |=Image:{{#switch:{{lc:{{{εγχείρημα|}}}}} |commons = Commons-logo.svg |meta|metawiki|m = Wikimedia Community Logo.svg |βικιβιβλία|wikibooks|wbk|wb|b = Wikibooks-logo-el.svg |wikiquote|quote|wqt|q = Greek wikiquote logo.png |wikisource|source|ws|s = Wikisource Greek.png |βικι...' 36415 wikitext text/x-wiki {{πλευρικό κουτί |position = {{{position|}}} |image = <!-- -->{{#switch:{{{image|}}} |none= |=[[Image:{{#switch:{{lc:{{{εγχείρημα|}}}}} |commons = Commons-logo.svg |meta|metawiki|m = Wikimedia Community Logo.svg |βικιβιβλία|wikibooks|wbk|wb|b = Wikibooks-logo-el.svg |wikiquote|quote|wqt|q = Greek wikiquote logo.png |wikisource|source|ws|s = Wikisource Greek.png |βικιλεξικό|wiktionary|wkt|wdy|d =Greek wiktionary logo.png |wikinews|news|wnw|n = Wikinews-logo.svg |wikispecies|species = Wikispecies-logo.svg |wikiversity|wvy|v = Wikiversity-el-logo-Snorky.svg |mediawiki|mw = Mediawiki.png |#default = Wikimedia-logo.svg }}|40px|link={{#switch:{{lc:{{{εγχείρημα}}}}} |commons = commons |meta|metawiki|m = meta |wikibooks|wbk|wb|b = b |wikiquote|quote|wqt|q = q |wikisource|source|ws|s = s |wiktionary|wkt|wdy|d = wikt |wikinews|news|wnw|n = n |wikispecies|species = species |wikiversity|wvy|v = v |mediawiki|mw = mw |#default = }}:{{{1|Special:Search/{{PAGENAME}}}}}|Sister project]] |{{{image}}} }}<!-- --> |text = {{{text}}} |below = {{{below|}}} |imageright = {{{imageright|}}} }} <noinclude>{{τεκμηρίωση προτύπου}}</noinclude> ilokflbst6geg6ud1jaqa9fe8sa4u3j Πρότυπον:Τεκμηρίωση προτύπου/docname 10 3244 36416 2025-12-15T15:52:19Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#switch: {{SUBPAGENAME}} |sandbox|testcases={{ #rel2abs: ../τεκμηρίωση }} |#default={{SUBJECTPAGENAME}}/τεκμηρίωση }}<noinclude> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]] </noinclude>' 36416 wikitext text/x-wiki {{#switch: {{SUBPAGENAME}} |sandbox|testcases={{ #rel2abs: ../τεκμηρίωση }} |#default={{SUBJECTPAGENAME}}/τεκμηρίωση }}<noinclude> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]] </noinclude> rlr88upw538tcnlneg7i6x6nhlvpjcp Πρότυπον:Commons category-inline 10 3245 36419 36418 2025-12-15T15:57:11Z Εὐθυμένης 2777 36419 wikitext text/x-wiki {{sister-inline |short={{{short|}}} |project=commonscat |list={{{list|}}} |extratext={{{extratext|}}} |links= [[commons:Category:{{{1|{{#property:P373}}}}} | {{{2|{{{1|{{#property:P373}}}}}}}}]]<!-- -->}}<noinclude><!-- Κατηγορίες ΑΝ χρειάζεται --> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]]</noinclude> e0910aahnnzo8po8o1ipmfzneh6cum6 Πρότυπον:Sister-inline 10 3246 36904 36420 2025-12-16T10:28:34Z Εὐθυμένης 2777 36904 wikitext text/x-wiki [[File:{{#switch:{{lc:{{{project|}}}}} | commons|commonscat = Commons-logo.svg | meta|metawiki|m = Wikimedia Community Logo.svg | wikibooks|wbk|wb|b = Wikibooks-logo-en-noslogan.svg | wikidata|data = Wikidata-logo.svg | cookbook = Wikibooks-logo-en-noslogan.svg | wikiquote|quote|wqt|q = Wikiquote-logo.svg | wikipedia|wp|w = Wikipedia-logo-v2.svg | wikisource|wikisource2|source|source2|ws|ws2|s|s2 = Wikisource-logo.svg | wiktionary|wkt|wdy|d = Wiktionary-logo-el-without-text.svg | wikinews|news|wnw|n = Wikinews-logo.svg | wikispecies|species = Wikispecies-logo.svg | wikiversity|wvy|v = Wikiversity logo 2017.svg | wikivoyage|voyage|voy = Wikivoyage-Logo-v3-icon.svg | mediawiki|mw = Mediawiki.png | outreachwiki|outreach = Wikimedia Outreach.png | incubator = Incubator-notext.svg | #default = Wikimedia-logo.svg }}|16x16px|class=noviewer|link=|alt=]] {{#if:{{{short|}}}|{{{links|}}}|{{#if:{{{list|}}}|{{#switch:{{lc:{{{project|}}}}} | commons = Related media at Wikimedia Commons | commonscat = Related categories at Wikimedia Commons | meta|metawiki|m = | wikibooks|wbk|wb|b = Texts at Wikibooks | wikidata|data = | cookbook = Cookbooks at Wikibooks | wikiquote|quote|wqt|q = Quotations on Wikiquote | wikipedia|wp|w = | wikisource|wikisource2|source|source2|ws|ws2|s|s2 = Texts on Wikisource | wiktionary|wkt|wdy|d = Definitions and translations at Wiktionary | wikinews|news|wnw|n = | wikispecies|species = Data related to Wikispecies | wikiversity|wvy|v = Learning materials from Wikiversity | wikivoyage|voyage|voy = Travel information on Wikivoyage | mediawiki|mw = | outreachwiki|outreach = | incubator = | #default = }}: {{{list}}}|{{#switch:{{lc:{{{project|}}}}} | commons = Πολυμέσα σχετικώς με το ζήτημαν {{{links|}}} σο Wikimedia Commons | commonscat = Πολυμέσα σχετικώς με το ζήτημαν {{{links|}}} σο Wikimedia Commons | meta|metawiki|m = | wikibooks|wbk|wb|b = {{{links|}}} στα Βικιβιβλία{{{extratext|}}} | wikidata|data = | cookbook = {{{links|}}} στο Wikibook Cookbooks{{{extratext|}}} | wikiquote|quote|wqt|q = Αναφορές σχετικά με το θέμα {{{links|}}} στα Βικιφθέγματα | wikipedia|wp|w = | wikisource|source|ws|s = Εργασίες αναφορικά με το θέμα {{{links|}}} στην Βικιθήκη | wikisource2|source2|ws2|s2 = Πλήρες κείμενο αναφορικά με το θέμα {{{links|}}} στην Βικιθήκη | wiktionary|wkt|wdy|d = Λεξιλογικός ορισμός του {{{links|}}} στο Βικιλεξικό | wikinews|news|wnw|n = | wikispecies|species = Δεδομένα σχετικά με το θέμα {{{links|}}} στο Wikispecies | wikiversity|wvy|v = Εκπαιδευτικό υλικό σχετικά με το θέμα {{{links|}}} από το Βικιεπιστήμιο | wikivoyage|voyage|voy = Ταξιδιωτικός οδηγός για το θέμα {{{links|}}} από τα Βικιταξίδια | mediawiki|mw = | outreachwiki|outreach = | incubator = | #default = }}{{{extratext|}}}}} }}<noinclude> {{documentation}} </noinclude> l92ka5fuyfhnm4fw9wuc8ko3k0vg6al Module:Infobox/styles.css 828 3247 36421 2025-12-15T15:59:04Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '/* * This TemplateStyles sheet deliberately does NOT include the full set of * infobox styles. We are still working to migrate all of the manual * infoboxes. See [[MediaWiki talk:Common.css/to do#Infobox]] * DO NOT ADD THEM HERE */ /* * not strictly certain these styles are necessary since the modules now * exclusively output infobox-subbox or infobox, not both * just replicating the module faithfully */ .infobox-subbox { padding: 0; bor...' 36421 sanitized-css text/css /* * This TemplateStyles sheet deliberately does NOT include the full set of * infobox styles. We are still working to migrate all of the manual * infoboxes. See [[MediaWiki talk:Common.css/to do#Infobox]] * DO NOT ADD THEM HERE */ /* * not strictly certain these styles are necessary since the modules now * exclusively output infobox-subbox or infobox, not both * just replicating the module faithfully */ .infobox-subbox { padding: 0; border: none; margin: -3px; width: auto; min-width: 100%; font-size: 100%; clear: none; float: none; background-color: transparent; } .infobox-3cols-child { margin: auto; } .infobox .navbar { font-size: 100%; } /* T281642 */ body.skin-minerva .infobox-header, body.skin-minerva .infobox-subheader, body.skin-minerva .infobox-above, body.skin-minerva .infobox-title, body.skin-minerva .infobox-image, body.skin-minerva .infobox-full-data, body.skin-minerva .infobox-below { text-align: center; } hfs0ljm3qpuvl8azk1cnvgtr4ztzh4f Module:Infobox3cols 828 3248 36422 2025-12-15T15:59:48Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- -- This module implements {{Infobox3cols}} -- -- The initial version was created by modifying [[Module:Infobox]] -- local p = {} local navbar = require('Module:Navbar')._navbar local args = {} local origArgs local root local function union(t1, t2) -- Returns the union of the values of two tables, as a sequence. local vals = {} for k, v in pairs(t1) do vals[v] = true end for k, v in pairs(t2) do vals[v] =...' 36422 Scribunto text/plain -- -- This module implements {{Infobox3cols}} -- -- The initial version was created by modifying [[Module:Infobox]] -- local p = {} local navbar = require('Module:Navbar')._navbar local args = {} local origArgs local root local function union(t1, t2) -- Returns the union of the values of two tables, as a sequence. local vals = {} for k, v in pairs(t1) do vals[v] = true end for k, v in pairs(t2) do vals[v] = true end local ret = {} for k, v in pairs(vals) do table.insert(ret, k) end return ret end local function getArgNums(prefix,suffix) -- Returns a table containing the numbers of the arguments that exist -- for the specified prefix. For example, if the prefix was 'data', and -- 'data1', 'data2', and 'data5' exist, it would return {1, 2, 5}. local nums = {} for k, v in pairs(args) do local num = tostring(k):match('^' .. prefix .. '([0-9]%d*)' .. suffix .. '$') if num then table.insert(nums, tonumber(num)) end end table.sort(nums) return nums end local function addRow(rowArgs) -- Adds a row to the infobox, with either a header cell -- or a label/data cell combination. if rowArgs.header then root :tag('tr') :addClass(rowArgs.rowclass) :cssText(rowArgs.rowstyle) :attr('id', rowArgs.rowid) :tag('th') :attr('colspan', 4) :attr('id', rowArgs.headerid) :addClass(rowArgs.class) :addClass(args.headerclass) :css('text-align', 'center') :cssText(args.headerstyle) :cssText(rowArgs.rowcellstyle) :wikitext(rowArgs.header) elseif rowArgs.label then if rowArgs.data then local row = root:tag('tr') row:addClass(rowArgs.rowclass) row:cssText(rowArgs.rowstyle) row:attr('id', rowArgs.rowid) row :tag('th') :attr('scope', 'row') :attr('id', rowArgs.labelid) :cssText(args.labelstyle) :cssText(rowArgs.rowcellstyle) :wikitext(rowArgs.label) :done() local dataCell = row:tag('td') dataCell :attr('colspan', 3) :attr('id', rowArgs.dataid) :addClass(rowArgs.class) :cssText(rowArgs.datastyle) :cssText(rowArgs.rowcellstyle) :newline() :wikitext(rowArgs.data) elseif rowArgs.dataa or rowArgs.datab then local row = root:tag('tr') row:addClass(rowArgs.rowclass) row:cssText(rowArgs.rowstyle) row:attr('id', rowArgs.rowid) row :tag('th') :attr('scope', 'row') :attr('id', rowArgs.labelid) :cssText(args.labelstyle) :cssText(rowArgs.rowcellstyle) :wikitext(rowArgs.label) :done() local dataCella = row:tag('td') dataCella :attr('id', rowArgs.dataaid) :addClass(rowArgs.classa) :cssText(rowArgs.dataastyle) :cssText(rowArgs.rowcellstyle) :newline() :wikitext(rowArgs.dataa) if rowArgs.renderb then local dataCellb = row:tag('td') dataCellb :attr('id', rowArgs.databid) :addClass(rowArgs.classb) :cssText(rowArgs.databstyle) :cssText(rowArgs.rowcellstyle) :newline() :wikitext(rowArgs.datab) end if rowArgs.renderc then local dataCellc = row:tag('td') dataCellc :attr('id', rowArgs.datacid) :addClass(rowArgs.classc) :cssText(rowArgs.datacstyle) :cssText(rowArgs.rowcellstyle) :newline() :wikitext(rowArgs.datac) end end elseif rowArgs.data then local row = root:tag('tr') row:addClass(rowArgs.rowclass) row:cssText(rowArgs.rowstyle) row:attr('id', rowArgs.rowid) local dataCell = row:tag('td') dataCell :attr('colspan', 4) :attr('id', rowArgs.dataid) :addClass(rowArgs.class) :css('text-align', 'center') :cssText(rowArgs.datastyle) :cssText(rowArgs.rowcellstyle) :newline() :wikitext(rowArgs.data) end end local function renderTitle() if not args.title then return end root :tag('caption') :addClass(args.titleclass) :cssText(args.titlestyle) :wikitext(args.title) end local function renderAboveRow() if not args.above then return end root :tag('tr') :tag('th') :attr('colspan', 4) :addClass(args.aboveclass) :css('text-align', 'center') :css('font-size', '125%') :css('font-weight', 'bold') :cssText(args.abovestyle) :wikitext(args.above) end local function renderBelowRow() if not args.below then return end root :tag('tr') :tag('td') :attr('colspan', 4) :addClass(args.belowclass) :css('text-align', 'center') :cssText(args.belowstyle) :newline() :wikitext(args.below) end local function renderSubheaders() if args.subheader then args.subheader1 = args.subheader end if args.subheaderrowclass then args.subheaderrowclass1 = args.subheaderrowclass end local subheadernums = getArgNums('subheader','') for k, num in ipairs(subheadernums) do addRow({ data = args['subheader' .. tostring(num)], datastyle = args.subheaderstyle or args['subheaderstyle' .. tostring(num)], class = args.subheaderclass, rowclass = args['subheaderrowclass' .. tostring(num)] }) end end local function renderImages() if args.image then args.image1 = args.image end if args.caption then args.caption1 = args.caption end local imagenums = getArgNums('image','') for k, num in ipairs(imagenums) do local caption = args['caption' .. tostring(num)] local data = mw.html.create():wikitext(args['image' .. tostring(num)]) if caption then data :tag('div') :cssText(args.captionstyle) :wikitext(caption) end addRow({ data = tostring(data), datastyle = args.imagestyle, class = args.imageclass, rowclass = args['imagerowclass' .. tostring(num)] }) end end local function renderRows() -- Gets the union of the header and data argument numbers, -- and renders them all in order using addRow. local rownums = union(getArgNums('header',''), getArgNums('data','[ab]?')) local datab_count = #(getArgNums('data','b')) local datac_count = #(getArgNums('data','c')) table.sort(rownums) for k, num in ipairs(rownums) do addRow({ renderb = datab_count > 0, renderc = datac_count > 0, header = args['header' .. tostring(num)], label = args['label' .. tostring(num)], data = args['data' .. tostring(num)], datastyle = args.datastyle, class = args['class' .. tostring(num)], dataa = args['data' .. tostring(num) .. 'a'], dataastyle = args.datastylea, classa = args['class' .. tostring(num) .. 'a'], datab = args['data' .. tostring(num) .. 'b'], databstyle = args.datastyleb, classb = args['class' .. tostring(num) .. 'b'], datac = args['data' .. tostring(num) .. 'c'], datacstyle = args.datastylec, classc = args['class' .. tostring(num) .. 'c'], rowclass = args['rowclass' .. tostring(num)], rowstyle = args['rowstyle' .. tostring(num)], rowcellstyle = args['rowcellstyle' .. tostring(num)], dataid = args['dataid' .. tostring(num)], dataaid = args['dataid' .. tostring(num) .. 'a'], dataaib = args['dataid' .. tostring(num) .. 'b'], dataaic = args['dataid' .. tostring(num) .. 'c'], labelid = args['labelid' .. tostring(num)], headerid = args['headerid' .. tostring(num)], rowid = args['rowid' .. tostring(num)] }) end end local function renderNavBar() if not args.name then return end root :tag('tr') :tag('td') :attr('colspan', '4') :css('text-align', 'right') :wikitext(navbar{ args.name, mini = 1, }) end local function renderItalicTitle() local italicTitle = args['italic title'] and mw.ustring.lower(args['italic title']) if italicTitle == '' or italicTitle == 'force' or italicTitle == 'yes' then root:wikitext(mw.getCurrentFrame():expandTemplate({title = 'italic title'})) end end local function renderTrackingCategories() if args.decat ~= 'yes' then if #(getArgNums('data','[abc]?')) == 0 and mw.title.getCurrentTitle().namespace == 0 then root:wikitext('[[Category:Λήμματα που περιλαμβάνουν πρότυπα πλαίσια πληροφοριών χωρίς γραμμές δεδομένων]]') end end end local function _infobox() -- Specify the overall layout of the infobox, with special settings -- if the infobox is used as a 'child' inside another infobox. root = mw.html.create('table') root :addClass('infobox') :addClass(args.bodyclass) if args.child == 'yes' or args.subbox == 'yes' then root :css('padding', '0') :css('border', 'none') :css('margin', (args.subbox == 'yes') and '-3px' or 'auto') :css('width', 'auto') :css('min-width', '100%') :css('font-size', '100%') :css('clear', 'none') :css('float', 'none') :css('background-color', 'transparent') else root :css('width', '22em') end root:cssText(args.bodystyle) renderTitle() renderAboveRow() renderSubheaders() renderImages() renderRows() renderBelowRow() renderNavBar() renderItalicTitle() renderTrackingCategories() return tostring(root) end local function preprocessSingleArg(argName) -- If the argument exists and isn't blank, add it to the argument table. -- Blank arguments are treated as nil to match the behaviour of ParserFunctions. if origArgs[argName] and origArgs[argName] ~= '' then args[argName] = origArgs[argName] end end local function preprocessArgs(prefixTable, step) -- Assign the parameters with the given prefixes to the args table, in order, in batches -- of the step size specified. This is to prevent references etc. from appearing in the -- wrong order. The prefixTable should be an array containing tables, each of which has -- two possible fields, a "prefix" string and a "depend" table. The function always parses -- parameters containing the "prefix" string, but only parses parameters in the "depend" -- table if the prefix parameter is present and non-blank. if type(prefixTable) ~= 'table' then error("Non-table value detected for the prefix table", 2) end if type(step) ~= 'number' then error("Invalid step value detected", 2) end -- Get arguments without a number suffix, and check for bad input. for i,v in ipairs(prefixTable) do if type(v) ~= 'table' or type(v.prefix) ~= "string" or (v.depend and type(v.depend) ~= 'table') then error('Invalid input detected to preprocessArgs prefix table', 2) end preprocessSingleArg(v.prefix) -- Only parse the depend parameter if the prefix parameter is present and not blank. if args[v.prefix] and v.depend then for j, dependValue in ipairs(v.depend) do if type(dependValue) ~= 'string' then error('Invalid "depend" parameter value detected in preprocessArgs') end preprocessSingleArg(dependValue) end end end -- Get arguments with number suffixes. local a = 0 -- Counter variable. local moreArgumentsExist = true while moreArgumentsExist == true do moreArgumentsExist = false for i = a, a + step - 1 do for j,v in ipairs(prefixTable) do local prefixArgName = v.prefix .. tostring(i) .. (v.suffix or '') if origArgs[prefixArgName] then moreArgumentsExist = true -- Do another loop if any arguments are found, even blank ones. preprocessSingleArg(prefixArgName) end -- Process the depend table if the prefix argument is present and not blank, or -- we are processing "prefix1" and "prefix" is present and not blank, and -- if the depend table is present. if v.depend and (args[prefixArgName] or (i == 1 and args[v.prefix])) then for j,dependValue in ipairs(v.depend) do local dependArgName = dependValue .. tostring(i) .. (v.dependsuffix or '') preprocessSingleArg(dependArgName) end end end end a = a + step end end function p.infobox(frame) -- If called via #invoke, use the args passed into the invoking template. -- Otherwise, for testing purposes, assume args are being passed directly in. if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args else origArgs = frame end -- Parse the data parameters in the same order that the old {{infobox}} did, so that -- references etc. will display in the expected places. Parameters that depend on -- another parameter are only processed if that parameter is present, to avoid -- phantom references appearing in article reference lists. preprocessSingleArg('child') preprocessSingleArg('bodyclass') preprocessSingleArg('subbox') preprocessSingleArg('bodystyle') preprocessSingleArg('title') preprocessSingleArg('titleclass') preprocessSingleArg('titlestyle') preprocessSingleArg('above') preprocessSingleArg('aboveclass') preprocessSingleArg('abovestyle') preprocessArgs({ {prefix = 'subheader', depend = {'subheaderstyle', 'subheaderrowclass'}} }, 10) preprocessSingleArg('subheaderstyle') preprocessSingleArg('subheaderclass') preprocessSingleArg('image') preprocessSingleArg('caption') preprocessArgs({ {prefix = 'image', depend = {'caption', 'imagerowclass'}} }, 10) preprocessSingleArg('captionstyle') preprocessSingleArg('imagestyle') preprocessSingleArg('imageclass') preprocessArgs({ {prefix = 'header'}, {prefix = 'data', depend = {'label'}}, {prefix = 'data', suffix = 'a', depend = {'label'}}, {prefix = 'data', suffix = 'a', depend = {'data'}, dependsuffix='c'}, {prefix = 'data', suffix = 'b', depend = {'label'}}, {prefix = 'data', suffix = 'b', depend = {'data'}, dependsuffix='c'}, {prefix = 'rowclass'}, {prefix = 'rowstyle'}, {prefix = 'rowcellstyle'}, {prefix = 'class'}, {prefix = 'dataid'}, {prefix = 'labelid'}, {prefix = 'headerid'}, {prefix = 'rowid'} }, 50) preprocessSingleArg('headerclass') preprocessSingleArg('headerstyle') preprocessSingleArg('labelstyle') preprocessSingleArg('datastyle') preprocessSingleArg('datastylea') preprocessSingleArg('datastyleb') preprocessSingleArg('datastylec') preprocessSingleArg('below') preprocessSingleArg('belowclass') preprocessSingleArg('belowstyle') preprocessSingleArg('name') args['italic title'] = origArgs['italic title'] -- different behaviour if blank or absent preprocessSingleArg('decat') return _infobox() end return p fs0pc545e5vlq63zmon4tux2jhjrw3b Module:Infobox mapframe 828 3249 36423 2025-12-15T16:00:48Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local mf = require('Module:Mapframe') local getArgs = require('Module:Arguments').getArgs local yesno = require('Module:Yesno') local infoboxImage = require('Module:InfoboxImage').InfoboxImage -- Defaults local DEFAULT_FRAME_WIDTH = "270" local DEFAULT_FRAME_HEIGHT = "200" local DEFAULT_ZOOM = 10 local DEFAULT_GEOMASK_STROKE_WIDTH = "1" local DEFAULT_GEOMASK_STROKE_COLOR = "#777777" local DEFAULT_GEOMASK_FILL = "#888888" local DEFAULT_GEOMASK_FILL...' 36423 Scribunto text/plain local mf = require('Module:Mapframe') local getArgs = require('Module:Arguments').getArgs local yesno = require('Module:Yesno') local infoboxImage = require('Module:InfoboxImage').InfoboxImage -- Defaults local DEFAULT_FRAME_WIDTH = "270" local DEFAULT_FRAME_HEIGHT = "200" local DEFAULT_ZOOM = 10 local DEFAULT_GEOMASK_STROKE_WIDTH = "1" local DEFAULT_GEOMASK_STROKE_COLOR = "#777777" local DEFAULT_GEOMASK_FILL = "#888888" local DEFAULT_GEOMASK_FILL_OPACITY = "0.5" local DEFAULT_SHAPE_STROKE_WIDTH = "3" local DEFAULT_SHAPE_STROKE_COLOR = "#FF0000" local DEFAULT_SHAPE_FILL = "#606060" local DEFAULT_SHAPE_FILL_OPACITY = "0.5" local DEFAULT_LINE_STROKE_WIDTH = "5" local DEFAULT_LINE_STROKE_COLOR = "#FF0000" local DEFAULT_MARKER_COLOR = "#5E74F3" -- Trim whitespace from args, and remove empty args function trimArgs(argsTable) local cleanArgs = {} for key, val in pairs(argsTable) do if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val ~= '' then cleanArgs[key] = val end else cleanArgs[key] = val end end return cleanArgs end function getBestStatement(item_id, property_id) if not(item_id) or not(mw.wikibase.isValidEntityId(item_id)) or not(mw.wikibase.entityExists(item_id)) then return false end local statements = mw.wikibase.getBestStatements(item_id, property_id) if not statements or #statements == 0 then return false end local hasNoValue = ( statements[1].mainsnak and statements[1].mainsnak.snaktype == 'novalue' ) if hasNoValue then return false end return statements[1] end function hasWikidataProperty(item_id, property_id) return getBestStatement(item_id, property_id) and true or false end function getStatementValue(statement) return statement and statement.mainsnak and statement.mainsnak.datavalue and statement.mainsnak.datavalue.value or nil end function relatedEntity(item_id, property_id) local value = getStatementValue( getBestStatement(item_id, property_id) ) return value and value.id or false end function idType(id) if not id then return nil elseif mw.ustring.match(id, "[Pp]%d+") then return "property" elseif mw.ustring.match(id, "[Qq]%d+") then return "item" else return nil end end function getZoom(value, unit) local length_km if unit == 'km' then length_km = tonumber(value) elseif unit == 'mi' then length_km = tonumber(value)*1.609344 elseif unit == 'km2' then length_km = math.sqrt(tonumber(value)) elseif unit == 'mi2' then length_km = math.sqrt(tonumber(value))*1.609344 end -- max for zoom 2 is 6400km, for zoom 3 is 3200km, for zoom 4 is 1600km, etc local zoom = math.floor(8 - (math.log10(length_km) - 2)/(math.log10(2))) -- limit to values below 17 zoom = math.min(17, zoom) -- take off 1 when calculated from area, to account for unusual shapes if unit == 'km2' or unit == 'mi2' then zoom = zoom - 1 end -- minimum value is 1 return math.max(1, zoom) end function shouldAutoRun(frame) -- Check if should be running local explicitlyOn = yesno(mw.text.trim(frame.getParent(frame).args.mapframe or "")) -- true of false or nil local onByDefault = (explicitlyOn == nil) and yesno(mw.text.trim(frame.args.onByDefault or ""), false) -- true or false return explicitlyOn or onByDefault end function argsFromAuto(frame) -- Get args from the frame (invoke call) and the parent (template call). -- Frame arguments are default values which are overridden by parent values -- when both are present local args = getArgs(frame, {parentFirst = true}) -- Discard args not prefixed with "mapframe-", remove that prefix from those that remain local fixedArgs = {} for name, val in pairs(args) do local fixedName = string.match(name, "^mapframe%-(.+)$" ) if fixedName then fixedArgs[fixedName] = val -- allow coord, coordinates, etc to be unprefixed elseif name == "coordinates" or name == "coord" or name == "coordinate" and not fixedArgs.coord then fixedArgs.coord = val -- allow id, qid to be unprefixed, map to id (if not already present) elseif name == "id" or name == "qid" and not fixedArgs.id then fixedArgs.id = val end end return fixedArgs end local p = {} p.autocaption = function(frame) if not shouldAutoRun(frame) then return "" end local args = argsFromAuto(frame) if args.caption then return args.caption elseif args.switcher then return "" end local maskItem local maskType = idType(args.geomask) if maskType == 'item' then maskItem = args.geomask elseif maskType == "property" then maskItem = relatedEntity(args.id or mw.wikibase.getEntityIdForCurrentPage(), args.geomask) end local maskItemLabel = maskItem and mw.wikibase.getLabel( maskItem ) return maskItemLabel and "Location in "..maskItemLabel or "" end function parseCustomWikitext(customWikitext) -- infoboxImage will format an image if given wikitext containing an -- image, or else pass through the wikitext unmodified return infoboxImage({ args = { image = customWikitext } }) end p.auto = function(frame) if not shouldAutoRun(frame) then return "" end local args = argsFromAuto(frame) if args.custom then return frame:preprocess(parseCustomWikitext(args.custom)) end local mapframe = p._main(args) return frame:preprocess(mapframe) end p.main = function(frame) local parent = frame.getParent(frame) local parentArgs = parent.args local mapframe = p._main(parentArgs) return frame:preprocess(mapframe) end p._main = function(_config) -- `config` is the args passed to this module local config = trimArgs(_config) -- Require wikidata item, or specified coords local wikidataId = config.id or mw.wikibase.getEntityIdForCurrentPage() if not(wikidataId) and not(config.coord) then return '' end -- Require coords (specified or from wikidata), so that map will be centred somewhere -- (P625 = coordinate location) local hasCoordinates = hasWikidataProperty(wikidataId, 'P625') or config.coordinates or config.coord if not hasCoordinates then return '' end -- `args` is the arguments which will be passed to the mapframe module local args = {} -- Some defaults/overrides for infobox presentation args.display = "inline" args.frame = "yes" args.plain = "yes" args["frame-width"] = config["frame-width"] or config.width or DEFAULT_FRAME_WIDTH args["frame-height"] = config["frame-height"] or config.height or DEFAULT_FRAME_HEIGHT args["frame-align"] = "center" args["frame-coord"] = config["frame-coordinates"] or config["frame-coord"] or "" -- Note: config["coordinates"] or config["coord"] should not be used for the alignment of the frame; -- see talk page ( https://en.wikipedia.org/wiki/Special:Diff/876492931 ) -- deprecated lat and long parameters args["frame-lat"] = config["frame-lat"] or config["frame-latitude"] or "" args["frame-long"] = config["frame-long"] or config["frame-longitude"] or "" -- Calculate zoom from length or area (converted to km or km2) if config.length_km then args.zoom = getZoom(config.length_km, 'km') elseif config.length_mi then args.zoom = getZoom(config.length_mi, 'mi') elseif config.area_km2 then args.zoom = getZoom(config.area_km2, 'km2') elseif config.area_mi2 then args.zoom = getZoom(config.area_mi2, 'mi2') else args.zoom = config.zoom or DEFAULT_ZOOM end -- Conditionals: whether point, geomask should be shown local hasOsmRelationId = hasWikidataProperty(wikidataId, 'P402') -- P402 is OSM relation ID local shouldShowPointMarker; if config.point == "on" then shouldShowPointMarker = true elseif config.point == "none" then shouldShowPointMarker = false else shouldShowPointMarker = not(hasOsmRelationId) or (config.marker and config.marker ~= 'none') or (config.coordinates or config.coord) end local shouldShowShape = config.shape ~= 'none' local shapeType = config.shape == 'inverse' and 'shape-inverse' or 'shape' local shouldShowLine = config.line ~= 'none' local maskItem local useWikidata = wikidataId and true or false -- Use shapes/lines based on wikidata id, if there is one -- But do not use wikidata when local coords are specified (and not turned off), unless explicitly set if useWikidata and config.coord and shouldShowPointMarker then useWikidata = config.wikidata and true or false end -- Switcher if config.switcher == "zooms" then -- switching between zoom levels local maxZoom = math.max(tonumber(args.zoom), 3) -- what zoom would have otherwise been (if 3 or more, otherwise 3) local minZoom = 1 -- completely zoomed out local midZoom = math.floor((maxZoom + minZoom)/2) -- midway between maxn and min args.switch = "zoomed in, zoomed midway, zoomed out" args.zoom = string.format("SWITCH:%d,%d,%d", maxZoom, midZoom, minZoom) elseif config.switcher == "auto" then -- switching between P276 and P131 areas with recursive lookup, e.g. item's city, -- that city's state, and that state's country args.zoom = nil -- let kartographer determine the zoom local maskLabels = {} local maskItems = {} local maskItemId = relatedEntity(wikidataId, "P276") or relatedEntity(wikidataId, "P131") local maskLabel = mw.wikibase.getLabel(maskItemId) while maskItemId and maskLabel and mw.text.trim(maskLabel) ~= "" do table.insert(maskLabels, maskLabel) table.insert(maskItems, maskItemId) maskItemId = maskItemId and relatedEntity(maskItemId, "P131") maskLabel = maskItemId and mw.wikibase.getLabel(maskItemId) end if #maskLabels > 1 then args.switch = table.concat(maskLabels, "###") maskItem = "SWITCH:" .. table.concat(maskItems, ",") elseif #maskLabels == 1 then maskItem = maskItemId[1] end elseif config.switcher == "geomasks" and config.geomask then -- switching between items in geomask parameter args.zoom = nil -- let kartographer determine the zoom local separator = (mw.ustring.find(config.geomask, "###", 0, true ) and "###") or (mw.ustring.find(config.geomask, ";", 0, true ) and ";") or "," local pattern = "%s*"..separator.."%s*" local maskItems = mw.text.split(mw.ustring.gsub(config.geomask, "SWITCH:", ""), pattern) local maskLabels = {} if #maskItems > 1 then for i, item in ipairs(maskItems) do table.insert(maskLabels, mw.wikibase.getLabel(item)) end args.switch = table.concat(maskLabels, "###") maskItem = "SWITCH:" .. table.concat(maskItems, ",") end end -- resolve geomask item id (if not using geomask switcher) if not maskItem then -- local maskType = idType(config.geomask) if maskType == 'item' then maskItem = config.geomask elseif maskType == "property" then maskItem = relatedEntity(wikidataId, config.geomask) end end -- Keep track of arg numbering local argNumber = '' local function incrementArgNumber() if argNumber == '' then argNumber = 2 else argNumber = argNumber + 1 end end -- Geomask if maskItem then args["type"..argNumber] = "shape-inverse" args["id"..argNumber] = maskItem args["stroke-width"..argNumber] = config["geomask-stroke-width"] or DEFAULT_GEOMASK_STROKE_WIDTH args["stroke-color"..argNumber] = config["geomask-stroke-color"] or config["geomask-stroke-colour"] or DEFAULT_GEOMASK_STROKE_COLOR args["fill"..argNumber] = config["geomask-fill"] or DEFAULT_GEOMASK_FILL args["fill-opacity"..argNumber] = config["geomask-fill-opacity"] or DEFAULT_SHAPE_FILL_OPACITY -- Let kartographer determine zoom and position, unless it is explicitly set in config if not config.zoom and not config.switcher then args.zoom = nil args["frame-coord"] = nil args["frame-lat"] = nil args["frame-long"] = nil local maskArea = getStatementValue( getBestStatement(maskItem, 'P2046') ) end incrementArgNumber() -- Hack to fix phab:T255932 if not args.zoom then args["type"..argNumber] = "line" args["id"..argNumber] = maskItem args["stroke-width"..argNumber] = 0 incrementArgNumber() end end -- Shape (or shape-inverse) if useWikidata and shouldShowShape then args["type"..argNumber] = shapeType if config.id then args["id"..argNumber] = config.id end args["stroke-width"..argNumber] = config["shape-stroke-width"] or config["stroke-width"] or DEFAULT_SHAPE_STROKE_WIDTH args["stroke-color"..argNumber] = config["shape-stroke-color"] or config["shape-stroke-colour"] or config["stroke-color"] or config["stroke-colour"] or DEFAULT_SHAPE_STROKE_COLOR args["fill"..argNumber] = config["shape-fill"] or DEFAULT_SHAPE_FILL args["fill-opacity"..argNumber] = config["shape-fill-opacity"] or DEFAULT_SHAPE_FILL_OPACITY incrementArgNumber() end -- Line if useWikidata and shouldShowLine then args["type"..argNumber] = "line" if config.id then args["id"..argNumber] = config.id end args["stroke-width"..argNumber] = config["line-stroke-width"] or config["stroke-width"] or DEFAULT_LINE_STROKE_WIDTH args["stroke-color"..argNumber] = config["line-stroke-color"] or config["line-stroke-colour"] or config["stroke-color"] or config["stroke-colour"] or DEFAULT_LINE_STROKE_COLOR incrementArgNumber() end -- Point if shouldShowPointMarker then args["type"..argNumber] = "point" if config.id then args["id"..argNumber] = config.id end if config.coord then args["coord"..argNumber] = config.coord end if config.marker then args["marker"..argNumber] = config.marker end args["marker-color"..argNumber] = config["marker-color"] or config["marker-colour"] or DEFAULT_MARKER_COLOR incrementArgNumber() end local mapframe = args.switch and mf.multi(args) or mf._main(args) --local tracking = hasOsmRelationId and '' or '[[Category:Infobox mapframe without OSM relation ID on Wikidata]]' return mapframe --.. tracking end return p 8k5d8ahbbdis317pmvj0zlq9jd33d8y Module:Mapframe 828 3250 36424 2025-12-15T16:02:08Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Note: Originally written on English Wikipedia at https://en.wikipedia.org/wiki/Module:Mapframe --[[---------------------------------------------------------------------------- ##### Localisation (L10n) settings ##### Replace values in quotes ("") with localised values ----------------------------------------------------------------------------]]-- local L10n = {} -- Modue dependencies local transcluder -- local copy of https://www.mediawiki....' 36424 Scribunto text/plain -- Note: Originally written on English Wikipedia at https://en.wikipedia.org/wiki/Module:Mapframe --[[---------------------------------------------------------------------------- ##### Localisation (L10n) settings ##### Replace values in quotes ("") with localised values ----------------------------------------------------------------------------]]-- local L10n = {} -- Modue dependencies local transcluder -- local copy of https://www.mediawiki.org/wiki/Module:Transcluder loaded lazily -- "strict" should not be used, at least until all other modules which require this module are not using globals. -- Template parameter names (unnumbered versions only) -- Specify each as either a single string, or a table of strings (aliases) -- Aliases are checked left-to-right, i.e. `{ "one", "two" }` is equivalent to using `{{{one| {{{two|}}} }}}` in a template L10n.para = { display = "display", type = "type", id = { "id", "ids" }, from = "from", raw = "raw", title = "title", description = "description", strokeColor = { "stroke-color", "stroke-colour" }, strokeWidth = "stroke-width", strokeOpacity = "stroke-opacity", fill = "fill", fillOpacity = "fill-opacity", coord = "coord", marker = "marker", markerColor = { "marker-color", "marker-colour" }, markerSize = "marker-size", radius = { "radius", "radius_m" }, radiusKm = "radius_km", radiusFt = "radius_ft", radiusMi = "radius_mi", edges = "edges", text = "text", icon = "icon", zoom = "zoom", frame = "frame", plain = "plain", frameWidth = "frame-width", frameHeight = "frame-height", frameCoordinates = { "frame-coordinates", "frame-coord" }, frameLatitude = { "frame-lat", "frame-latitude" }, frameLongitude = { "frame-long", "frame-longitude" }, frameAlign = "frame-align", switch = "switch", overlay = "overlay", overlayBorder = "overlay-border", overlayHorizontalAlignment = "overlay-horizontal-alignment", overlayVerticalAlignment = "overlay-vertical-alignment", overlayHorizontalOffset = "overlay-horizontal-offset", overlayVerticalOffset = "overlay-vertical-offset" } -- Names of other templates this module can extract coordinates from L10n.template = { coord = { -- The coord template, as well as templates with output that contains {{coord}} "Coord", "Coord/sandbox", "NRHP row", "NRHP row/sandbox", "WikidataCoord", "WikidataCoord/sandbox", "Wikidatacoord", "Wikidata coord" } } -- Error messages L10n.error = { badDisplayPara = "Invalid display parameter", noCoords = "Coordinates must be specified on Wikidata or in |" .. ( type(L10n.para.coord)== 'table' and L10n.para.coord[1] or L10n.para.coord ) .. "=", wikidataCoords = "Coordinates not found on Wikidata", noCircleCoords = "Circle centre coordinates must be specified, or available via Wikidata", negativeRadius = "Circle radius must be a positive number", noRadius = "Circle radius must be specified", negativeEdges = "Circle edges must be a positive number", noSwitchPara = "Found only one switch value in |" .. ( type(L10n.para.switch)== 'table' and L10n.para.switch[1] or L10n.para.switch ) .. "=", oneSwitchLabel = "Found only one label in |" .. ( type(L10n.para.switch)== 'table' and L10n.para.switch[1] or L10n.para.switch ) .. "=", noSwitchLists = "At least one parameter must have a SWITCH: list", switchMismatches = "All SWITCH: lists must have the same number of values", -- "%s" and "%d" tokens will be replaced with strings and numbers when used oneSwitchValue = "Found only one switch value in |%s=", fewerSwitchLabels = "Found %d switch values but only %d labels in |" .. ( type(L10n.para.switch)== 'table' and L10n.para.switch[1] or L10n.para.switch ) .. "=", noNamedCoords = "No named coordinates found in %s" } -- Other strings L10n.str = { -- valid values for display parameter, e.g. (|display=inline) or (|display=title) or (|display=inline,title) or (|display=title,inline) inline = "inline", title = "title", dsep = ",", -- separator between inline and title (comma in the example above) -- valid values for type paramter line = "line", -- geoline feature (e.g. a road) shape = "shape", -- geoshape feature (e.g. a state or province) shapeInverse = "shape-inverse", -- geomask feature (the inverse of a geoshape) data = "data", -- geoJSON data page on Commons point = "point", -- single point feature (coordinates) circle = "circle", -- circular area around a point named = "named", -- all named coordinates in an article or section -- Keyword to indicate a switch list. Must NOT use the special characters ^$()%.[]*+-? switch = "SWITCH", -- valid values for icon, frame, and plain parameters affirmedWords = ' '..table.concat({ "add", "added", "affirm", "affirmed", "include", "included", "on", "true", "yes", "y" }, ' ')..' ', declinedWords = ' '..table.concat({ "decline", "declined", "exclude", "excluded", "false", "none", "not", "no", "n", "off", "omit", "omitted", "remove", "removed" }, ' ')..' ' } -- Default values for parameters L10n.defaults = { display = L10n.str.inline, text = "Map", frameWidth = "300", frameHeight = "200", frameAlign = "right", markerColor = "5E74F3", markerSize = nil, strokeColor = "#ff0000", strokeWidth = 6, edges = 32, -- number of edges used to approximate a circle overlayBorder = "1px solid white", overlayHorizontalAlignment = "right", overlayHorizontalOffset = "0", overlayVerticalAlignment = "bottom", overlayVerticalOffset = "0" } -- #### End of L10n settings #### --[[---------------------------------------------------------------------------- Utility methods ----------------------------------------------------------------------------]]-- local util = {} --[[ Looks up a parameter value based on the id (a key from the L10n.para table) and optionally a suffix, for parameters that can be suffixed (e.g. type2 is type with suffix 2). @param {table} args key-value pairs of parameter names and their values @param {string} param_id id for parameter name (key from the L10n.para table) @param {string} [suffix] suffix for parameter name @returns {string|nil} parameter value if found, or nil if not found ]]-- function util.getParameterValue(args, param_id, suffix) suffix = suffix or '' if type( L10n.para[param_id] ) ~= 'table' then return args[L10n.para[param_id]..suffix] end for _i, paramAlias in ipairs(L10n.para[param_id]) do if args[paramAlias..suffix] then return args[paramAlias..suffix] end end return nil end --[[ Trim whitespace from args, and remove empty args. Also fix control characters. @param {table} argsTable @returns {table} trimmed args table ]]-- function util.trimArgs(argsTable) local cleanArgs = {} for key, val in pairs(argsTable) do if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val ~= '' then -- control characters inside json need to be escaped, but stripping them is simpler -- See also T214984 -- However, *don't* strip control characters from wikitext or you'll break strip markers cleanArgs[key] = (not util.matchesParam('text', key)) and val:gsub('%c',' ') or val end else cleanArgs[key] = val end end return cleanArgs end --[[ Check if a parameter name matches an unlocalized parameter key @param {string} key - the unlocalized parameter name to search through @param {string} name - the localized parameter name to check @param {string|nil} - an optional suffix to apply to the value(s) from the localization key @returns {boolean} true if the name matches the parameter, false otherwise ]]-- function util.matchesParam(key, name, suffix) local param = L10n.para[key] suffix = suffix or '' if type(param) == 'table' then for _, v in pairs(param) do if (v .. suffix) == name then return true end end return false end return ((param .. suffix) == name) end --[[ Check if a value is affirmed (one of the values in L10n.str.affirmedWords) @param {string} val Value to be checked @returns {boolean} true if affirmed, false otherwise ]]-- function util.isAffirmed(val) if not(val) then return false end return string.find(L10n.str.affirmedWords, ' '..val..' ', 1, true ) and true or false end --[[ Check if a value is declined (one of the values in L10n.str.declinedWords) @param {string} val Value to be checked @returns {boolean} true if declined, false otherwise ]]-- function util.isDeclined(val) if not(val) then return false end return string.find(L10n.str.declinedWords , ' '..val..' ', 1, true ) and true or false end --[[ Check if the name of a template matches the known coord templates or wrappers (in L10n.template.coord). The name is normalised when checked, so e.g. the names "Coord", "coord", and " Coord" all return true. @param {string} name @returns {boolean} true if it is a coord template or wrapper, false otherwise ]]-- function util.isCoordTemplateOrWrapper(name) name = mw.text.trim(name) local inputTitle = mw.title.new(name, 'Template') if not inputTitle then return false end -- Create (or reuse) mw.title objects for each known coord template/wrapper. -- Stored in L10n.template.title so that they don't need to be recreated -- each time this function is called if not L10n.template.titles then L10n.template.titles = {} for _, v in pairs(L10n.template.coord) do table.insert(L10n.template.titles, mw.title.new(v, 'Template')) end end for _, templateTitle in pairs(L10n.template.titles) do if mw.title.equals(inputTitle, templateTitle) then return true end end return false end --[[ Recursively extract coord templates which have a name parameter. @param {string} wikitext @returns {table} table sequence of coord templates ]]-- function util.extractCoordTemplates(wikitext) local output = {} local templates = mw.ustring.gmatch(wikitext, '{%b{}}') local subtemplates = {} for template in templates do local templateName = mw.ustring.match(template, '{{([^}|]+)') local nameParam = mw.ustring.match(template, "|%s*name%s*=%s*[^}|]+") if util.isCoordTemplateOrWrapper(templateName) then if nameParam then table.insert(output, template) end elseif mw.ustring.find(mw.ustring.sub(template, 2), "{{") then local subOutput = util.extractCoordTemplates(mw.ustring.sub(template, 2)) for _, t in pairs(subOutput) do table.insert(output, t) end end end -- ensure coords are not using title display for k, v in pairs(output) do output[k] = mw.ustring.gsub(v, "|%s*display%s*=[^|}]+", "|display=inline") end return output end --[[ Gets all named coordiates from a page or a section of a page. @param {string|nil} page Page name, or name#section, to get named coordinates from. If the name is omitted, i.e. #section or nil or empty string, then the current page will be used. @returns {table} sequence of {coord, name, description} tables where coord is the coordinates in a format suitable for #util.parseCoords, name is a string, and description is a string (coordinates in a format suitable for displaying to the reader). If for some reason the name can't be found, the description is nil and the name contains display-format coordinates. @throws {L10n.error.noNamedCoords} if no named coordinates are found. ]]-- function util.getNamedCoords(page) if transcluder == nil then -- load [[Module:Transcluder]] lazily so it is only transcluded on pages that -- actually use named coordinates transcluder = require("Module:Transcluder") end local parts = mw.text.split(page or "", "#", true) local name = parts[1] == "" and mw.title.getCurrentTitle().prefixedText or parts[1] local section = parts[2] local pageWikitext = transcluder.get(section and name.."#"..section or name) local coordTemplates = util.extractCoordTemplates(pageWikitext) if #coordTemplates == 0 then error(string.format(L10n.error.noNamedCoords, page or name), 0) end local frame = mw.getCurrentFrame() local sep = "________" local expandedContent = frame:preprocess(table.concat(coordTemplates, sep)) local expandedTemplates = mw.text.split(expandedContent, sep) local namedCoords = {} for _, expandedTemplate in pairs(expandedTemplates) do local coord = mw.ustring.match(expandedTemplate, "<span class=\"geo%-dec\".->(.-)</span>") if coord then local name = ( -- name specified by a wrapper template, e.g [[Article|Name]] mw.ustring.match(expandedTemplate, "<span class=\"mapframe%-coord%-name\">(.-)</span>") or -- name passed into coord template mw.ustring.match(expandedTemplate, "<span class=\"fn org\">(.-)</span>") or -- default to the coordinates if the name can't be retrieved coord ) local description = name ~= coord and coord local coord = mw.ustring.gsub(coord, "[° ]", "_") table.insert(namedCoords, {coord=coord, name=name, description=description}) end end if #namedCoords == 0 then error(string.format(L10n.error.noNamedCoords, page or name), 0) end return namedCoords end --[[ Parse coordinate values from the params passed in a GeoHack url (such as //tools.wmflabs.org/geohack/geohack.php?pagename=Example&params=1_2_N_3_4_W_ or //tools.wmflabs.org/geohack/geohack.php?pagename=Example&params=1.23_S_4.56_E_ ) or non-url string in the same format (such as `1_2_N_3_4_W_` or `1.23_S_4.56_E_`) @param {string} coords string containing coordinates @returns {number, number} latitude, longitude ]]-- function util.parseCoords(coords) local coordsPatt if mw.ustring.find(coords, "params=", 1, true) then -- prevent false matches from page name, e.g. ?pagename=Lorem_S._Ipsum coordsPatt = 'params=([_%.%d]+[NS][_%.%d]+[EW])' else -- not actually a geohack url, just the same format coordsPatt = '[_%.%d]+[NS][_%.%d]+[EW]' end local parts = mw.text.split((mw.ustring.match(coords, coordsPatt) or ''), '_') local lat_d = tonumber(parts[1]) local lat_m = tonumber(parts[2]) -- nil if coords are in decimal format local lat_s = lat_m and tonumber(parts[3]) -- nil if coords are either in decimal format or degrees and minutes only local lat = lat_d + (lat_m or 0)/60 + (lat_s or 0)/3600 if parts[#parts/2] == 'S' then lat = lat * -1 end local long_d = tonumber(parts[1+#parts/2]) local long_m = tonumber(parts[2+#parts/2]) -- nil if coords are in decimal format local long_s = long_m and tonumber(parts[3+#parts/2]) -- nil if coords are either in decimal format or degrees and minutes only local long = long_d + (long_m or 0)/60 + (long_s or 0)/3600 if parts[#parts] == 'W' then long = long * -1 end return lat, long end --[[ Get coordinates from a Wikidata item @param {string} item_id Wikidata item id (Q number) @returns {number, number} latitude, longitude @throws {L10n.error.noCoords} if item_id is invalid or the item does not exist @throws {L10n.error.wikidataCoords} if the the item does not have a P625 statement (coordinates), or it is set to "no value" ]]-- function util.wikidataCoords(item_id) if not (item_id and mw.wikibase.isValidEntityId(item_id) and mw.wikibase.entityExists(item_id)) then error(L10n.error.noCoords, 0) end local coordStatements = mw.wikibase.getBestStatements(item_id, 'P625') if not coordStatements or #coordStatements == 0 then error(L10n.error.wikidataCoords, 0) end local hasNoValue = ( coordStatements[1].mainsnak and (coordStatements[1].mainsnak.snaktype == 'novalue' or coordStatements[1].mainsnak.snaktype == 'somevalue') ) if hasNoValue then error(L10n.error.wikidataCoords, 0) end local wdCoords = coordStatements[1]['mainsnak']['datavalue']['value'] return tonumber(wdCoords['latitude']), tonumber(wdCoords['longitude']) end --[[ Creates a polygon that approximates a circle @param {number} lat Latitude @param {number} long Longitude @param {number} radius Radius in metres @param {number} n Number of edges for the polygon @returns {table} sequence of {latitude, longitude} table sequences, where latitude and longitude are both numbers ]]-- function util.circleToPolygon(lat, long, radius, n) -- n is number of edges -- Based on https://github.com/gabzim/circle-to-polygon, ISC licence local function offset(cLat, cLon, distance, bearing) local lat1 = math.rad(cLat) local lon1 = math.rad(cLon) local dByR = distance / 6378137 -- distance divided by 6378137 (radius of the earth) wgs84 local lat = math.asin( math.sin(lat1) * math.cos(dByR) + math.cos(lat1) * math.sin(dByR) * math.cos(bearing) ) local lon = lon1 + math.atan2( math.sin(bearing) * math.sin(dByR) * math.cos(lat1), math.cos(dByR) - math.sin(lat1) * math.sin(lat) ) return {math.deg(lon), math.deg(lat)} end local coordinates = {}; local i = 0; while i < n do table.insert(coordinates, offset(lat, long, radius, (2*math.pi*i*-1)/n) ) i = i + 1 end table.insert(coordinates, offset(lat, long, radius, 0)) return coordinates end --[[ Get the number of key-value pairs in a table, which might not be a sequence. @param {table} t @returns {number} count of key-value pairs ]]-- function util.tableCount(t) local count = 0 for k, v in pairs(t) do count = count + 1 end return count end --[[ For a table where the values are all tables, returns either the util.tableCount of the subtables if they are all the same, or nil if they are not all the same. @param {table} t @returns {number|nil} count of key-value pairs of subtable, or nil if subtables have different counts ]]-- function util.subTablesCount(t) local count = nil for k, v in pairs(t) do if count == nil then count = util.tableCount(v) elseif count ~= util.tableCount(v) then return nil end end return count end --[[ Splits a list into a table sequence. The items in the list may be separated by commas, or by semicolons (if items may contain commas), or by "###" (if items may contain semicolons). @param {string} listString @returns {table} sequence of list items ]]-- function util.tableFromList(listString) if type(listString) ~= "string" or listString == "" then return nil end local separator = (mw.ustring.find(listString, "###", 0, true ) and "###") or (mw.ustring.find(listString, ";", 0, true ) and ";") or "," local pattern = "%s*"..separator.."%s*" return mw.text.split(listString, pattern) end -- Boolean in outer scope indicating if Kartographer should be able to -- automatically calculate coordinates (see phab:T227402) local coordsDerivedFromFeatures = false; --[[---------------------------------------------------------------------------- Make methods: These take in a table of arguments, and return either a string or a table to be used in the eventual output. ----------------------------------------------------------------------------]]-- local make = {} --[[ Makes content to go inside the maplink or mapframe tag. @param {table} args @returns {string} tag content ]]-- function make.content(args) if util.getParameterValue(args, 'raw') then coordsDerivedFromFeatures = true -- Kartographer should be able to automatically calculate coords from raw geoJSON return util.getParameterValue(args, 'raw') end local content = {} local argsExpanded = {} for k, v in pairs(args) do local index = string.match( k, '^[^0-9]+([0-9]*)$' ) if index ~= nil then local indexNumber = '' if index ~= '' then indexNumber = tonumber(index) else indexNumber = 1 end if argsExpanded[indexNumber] == nil then argsExpanded[indexNumber] = {} end argsExpanded[indexNumber][ string.gsub(k, index, '') ] = v end end for contentIndex, contentArgs in pairs(argsExpanded) do local argType = util.getParameterValue(contentArgs, "type") -- Kartographer automatically calculates coords if geolines/shapes are used (T227402) if not coordsDerivedFromFeatures then coordsDerivedFromFeatures = ( argType == L10n.str.line or argType == L10n.str.shape ) and true or false end if argType == L10n.str.named then local namedCoords = util.getNamedCoords(util.getParameterValue(contentArgs, "from")) local typeKey = type(L10n.para.type) == "table" and L10n.para.type[1] or L10n.para.type local coordKey = type(L10n.para.coord) == "table" and L10n.para.coord[1] or L10n.para.coord local titleKey = type(L10n.para.title) == "table" and L10n.para.title[1] or L10n.para.title local descKey = type(L10n.para.description) == "table" and L10n.para.description[1] or L10n.para.description for _, namedCoord in pairs(namedCoords) do contentArgs[typeKey] = "point" contentArgs[coordKey] = namedCoord.coord contentArgs[titleKey] = namedCoord.name contentArgs[descKey] = namedCoord.description content[#content+1] = make.contentJson(contentArgs) end else content[#content + 1] = make.contentJson(contentArgs) end end --Single item, no array needed if #content==1 then return content[1] end --Multiple items get placed in a FeatureCollection local contentArray = '[\n' .. table.concat( content, ',\n') .. '\n]' return contentArray end --[[ Make coordinates from the coord arg, or the id arg, or the current page's Wikidata item. @param {table} args @param {boolean} [plainOutput] @returns {Mixed} Either: {number, number} latitude, longitude if plainOutput is true; or {table} table sequence of longitude, then latitude (gives the required format for GeoJSON when encoded) ]]-- function make.coords(args, plainOutput) local coords, lat, long local frame = mw.getCurrentFrame() if util.getParameterValue(args, 'coord') then coords = frame:preprocess( util.getParameterValue(args, 'coord') ) lat, long = util.parseCoords(coords) else lat, long = util.wikidataCoords(util.getParameterValue(args, 'id') or mw.wikibase.getEntityIdForCurrentPage()) end if plainOutput then return lat, long end return {[0] = long, [1] = lat} end --[[ Makes a table of coordinates that approximate a circle. @param {table} args @returns {table} sequence of {latitude, longitude} table sequences, where latitude and longitude are both numbers @throws {L10n.error.noCircleCoords} if centre coordinates are not specified @throws {L10n.error.noRadius} if radius is not specified @throws {L10n.error.negativeRadius} if radius is negative or zero @throws {L10n.error.negativeEdges} if edges is negative or zero ]]-- function make.circleCoords(args) local lat, long = make.coords(args, true) local radius = util.getParameterValue(args, 'radius') if not radius then radius = util.getParameterValue(args, 'radiusKm') and tonumber(util.getParameterValue(args, 'radiusKm'))*1000 if not radius then radius = util.getParameterValue(args, 'radiusMi') and tonumber(util.getParameterValue(args, 'radiusMi'))*1609.344 if not radius then radius = util.getParameterValue(args, 'radiusFt') and tonumber(util.getParameterValue(args, 'radiusFt'))*0.3048 end end end local edges = util.getParameterValue(args, 'edges') or L10n.defaults.edges if not lat or not long then error(L10n.error.noCircleCoords, 0) elseif not radius then error(L10n.error.noRadius, 0) elseif tonumber(radius) <= 0 then error(L10n.error.negativeRadius, 0) elseif tonumber(edges) <= 0 then error(L10n.error.negativeEdges, 0) end return util.circleToPolygon(lat, long, radius, tonumber(edges)) end --[[ Makes JSON data for a feature @param contentArgs args for this feature. Keys must be the non-suffixed version of the parameter names, i.e. use type, stroke, fill,... rather than type3, stroke3, fill3,... @returns {string} JSON encoded data ]]-- function make.contentJson(contentArgs) local data = {} if util.getParameterValue(contentArgs, 'type') == L10n.str.point or util.getParameterValue(contentArgs, 'type') == L10n.str.circle then local isCircle = util.getParameterValue(contentArgs, 'type') == L10n.str.circle data.type = "Feature" data.geometry = { type = isCircle and "LineString" or "Point", coordinates = isCircle and make.circleCoords(contentArgs) or make.coords(contentArgs) } data.properties = { title = util.getParameterValue(contentArgs, 'title') or mw.getCurrentFrame():getParent():getTitle() } if isCircle then -- TODO: This is very similar to below, should be extracted into a function data.properties.stroke = util.getParameterValue(contentArgs, 'strokeColor') or L10n.defaults.strokeColor data.properties["stroke-width"] = tonumber(util.getParameterValue(contentArgs, 'strokeWidth')) or L10n.defaults.strokeWidth local strokeOpacity = util.getParameterValue(contentArgs, 'strokeOpacity') if strokeOpacity then data.properties['stroke-opacity'] = tonumber(strokeOpacity) end local fill = util.getParameterValue(contentArgs, 'fill') if fill then data.properties.fill = fill local fillOpacity = util.getParameterValue(contentArgs, 'fillOpacity') data.properties['fill-opacity'] = fillOpacity and tonumber(fillOpacity) or 0.6 end else -- is a point local markerSymbol = util.getParameterValue(contentArgs, 'marker') or L10n.defaults.marker -- allow blank to be explicitly specified, for overriding infoboxes or other templates with a default value if markerSymbol ~= "blank" then data.properties["marker-symbol"] = markerSymbol end data.properties["marker-color"] = util.getParameterValue(contentArgs, 'markerColor') or L10n.defaults.markerColor data.properties["marker-size"] = util.getParameterValue(contentArgs, 'markerSize') or L10n.defaults.markerSize end else data.type = "ExternalData" if util.getParameterValue(contentArgs, 'type') == L10n.str.data or util.getParameterValue(contentArgs, 'from') then data.service = "page" elseif util.getParameterValue(contentArgs, 'type') == L10n.str.line then data.service = "geoline" elseif util.getParameterValue(contentArgs, 'type') == L10n.str.shape then data.service = "geoshape" elseif util.getParameterValue(contentArgs, 'type') == L10n.str.shapeInverse then data.service = "geomask" end if util.getParameterValue(contentArgs, 'id') or (not (util.getParameterValue(contentArgs, 'from')) and mw.wikibase.getEntityIdForCurrentPage()) then data.ids = util.getParameterValue(contentArgs, 'id') or mw.wikibase.getEntityIdForCurrentPage() else data.title = util.getParameterValue(contentArgs, 'from') end data.properties = { stroke = util.getParameterValue(contentArgs, 'strokeColor') or L10n.defaults.strokeColor, ["stroke-width"] = tonumber(util.getParameterValue(contentArgs, 'strokeWidth')) or L10n.defaults.strokeWidth } local strokeOpacity = util.getParameterValue(contentArgs, 'strokeOpacity') if strokeOpacity then data.properties['stroke-opacity'] = tonumber(strokeOpacity) end local fill = util.getParameterValue(contentArgs, 'fill') if fill and (data.service == "geoshape" or data.service == "geomask") then data.properties.fill = fill local fillOpacity = util.getParameterValue(contentArgs, 'fillOpacity') if fillOpacity then data.properties['fill-opacity'] = tonumber(fillOpacity) end end end data.properties.title = util.getParameterValue(contentArgs, 'title') or mw.title.getCurrentTitle().text if util.getParameterValue(contentArgs, 'description') then data.properties.description = util.getParameterValue(contentArgs, 'description') end return mw.text.jsonEncode(data) end --[[ Makes attributes for the maplink or mapframe tag. @param {table} args @param {boolean} [isTitle] Tag is to be displayed in the title of page rather than inline @returns {table<string,string>} key-value pairs of attribute names and values ]]-- function make.tagAttribs(args, isTitle) local attribs = {} if util.getParameterValue(args, 'zoom') then attribs.zoom = util.getParameterValue(args, 'zoom') end if util.isDeclined(util.getParameterValue(args, 'icon')) then attribs.class = "no-icon" end if util.getParameterValue(args, 'type') == L10n.str.point and not coordsDerivedFromFeatures then local lat, long = make.coords(args, 'plainOutput') attribs.latitude = tostring(lat) attribs.longitude = tostring(long) end if util.isAffirmed(util.getParameterValue(args, 'frame')) and not(isTitle) then attribs.width = util.getParameterValue(args, 'frameWidth') or L10n.defaults.frameWidth attribs.height = util.getParameterValue(args, 'frameHeight') or L10n.defaults.frameHeight if util.getParameterValue(args, 'frameCoordinates') then local frameLat, frameLong = util.parseCoords(util.getParameterValue(args, 'frameCoordinates')) attribs.latitude = frameLat attribs.longitude = frameLong else if util.getParameterValue(args, 'frameLatitude') then attribs.latitude = util.getParameterValue(args, 'frameLatitude') end if util.getParameterValue(args, 'frameLongitude') then attribs.longitude = util.getParameterValue(args, 'frameLongitude') end end if not attribs.latitude and not attribs.longitude and not coordsDerivedFromFeatures then local success, lat, long = pcall(util.wikidataCoords, util.getParameterValue(args, 'id') or mw.wikibase.getEntityIdForCurrentPage()) if success then attribs.latitude = tostring(lat) attribs.longitude = tostring(long) end end if util.getParameterValue(args, 'frameAlign') then attribs.align = util.getParameterValue(args, 'frameAlign') end if util.isAffirmed(util.getParameterValue(args, 'plain')) then attribs.frameless = "1" else attribs.text = util.getParameterValue(args, 'text') or L10n.defaults.text end else attribs.text = util.getParameterValue(args, 'text') or L10n.defaults.text end return attribs end --[[ Makes maplink wikitext that will be located in the top-right of the title of the page (the same place where coords with |display=title are positioned). @param {table} args @param {string} tagContent Content for the maplink tag @returns {string} ]]-- function make.titleOutput(args, tagContent) local titleTag = mw.text.tag('maplink', make.tagAttribs(args, true), tagContent) local spanAttribs = { style = "font-size: small;", id = "coordinates" } return mw.text.tag('span', spanAttribs, titleTag) end --[[ Makes maplink or mapframe wikitext that will be located inline. @param {table} args @param {string} tagContent Content for the maplink tag @returns {string} ]]-- function make.inlineOutput(args, tagContent) local tagName = 'maplink' if util.getParameterValue(args, 'frame') then tagName = 'mapframe' end return mw.text.tag(tagName, make.tagAttribs(args), tagContent) end --[[ Makes the HTML required for the swicther to work, including the templatestyles tag. @param {table} params table sequence of {map, label} tables @param {string} params{}.map Wikitext for mapframe map @param {string} params{}.label Label text for swicther option @param {table} options @param {string} options.alignment "left" or "center" or "right" @param {boolean} options.isThumbnail Display in a thumbnail @param {string} options.width Width of frame, e.g. "200" @param {string} [options.caption] Caption wikitext for thumnail @retruns {string} swicther HTML ]]-- function make.switcherHtml(params, options) options = options or {} local frame = mw.getCurrentFrame() local styles = frame:extensionTag{ name = "templatestyles", args = {src = "Template:Maplink/styles-multi.css"} } local container = mw.html.create("div") :addClass("switcher-container") :addClass("mapframe-multi-container") if options.alignment == "left" or options.alignment == "right" then container:addClass("float"..options.alignment) else -- alignment is "center" container:addClass("center") end for i = 1, #params do container :tag("div") :wikitext(params[i].map) :tag("span") :addClass("switcher-label") :css("display", "none") :wikitext(mw.text.trim(params[i].label)) end if not options.isThumbnail then return styles .. tostring(container) end local classlist = container:getAttr("class") classlist = mw.ustring.gsub(classlist, "%a*"..options.alignment, "") container:attr("class", classlist) local outerCountainer = mw.html.create("div") :addClass("mapframe-multi-outer-container") :addClass("mw-kartographer-container") :addClass("thumb") if options.alignment == "left" or options.alignment == "right" then outerCountainer:addClass("t"..options.alignment) else -- alignment is "center" outerCountainer :addClass("tnone") :addClass("center") end outerCountainer :tag("div") :addClass("thumbinner") :css("width", options.width.."px") :node(container) :node(options.caption and mw.html.create("div") :addClass("thumbcaption") :wikitext(options.caption) ) return styles .. tostring(outerCountainer) end --[[ Makes the HTML required for an overlay map to work tag. @param {string} overlayMap wikitext for the overlay map @param {string} baseMap wikitext for the base map @param {table} options various styling/display options @param {string} options.align "left" or "center" or "right" @param {string|number} options.width Width of the base map, e.g. "300" @param {string|number} options.width Height of the base map, e.g. "200" @param {string} options.border Border style for the overlayed map, e.g. "1px solid white" @param {string} options.horizontalAlignment Horizontal alignment for overlay map, "left" or "right" @param {string|number} options.horizontalOffset Horizontal offset in pixels from the alignment edge, e.g "10" @param {string} options.verticalAlignment Vertical alignment for overlay map, "top" or "bottom" @param {string|number} options.verticalOffset Vertical offset in pixels from the alignment edge, e.g. is "10" @param {boolean} options.isThumbnail Display in a thumbnail @param {string} [options.caption] Caption wikitext for thumnail @retruns {string} HTML for basemap with overlay ]]-- function make.overlayHtml(overlayMap, baseMap, options) options = options or {} local containerFloatClass = "float"..(options.align or "none") if options.align == "center" then containerFloatClass = "center" end local containerStyle = { position = "relative", width = options.width .. "px", height = options.height .. "px", overflow = "hidden" -- mobile/minerva tends to add scrollbars for a couple of pixels } if options.align == "center" then containerStyle["margin-left"] = "auto" containerStyle["margin-right"] = "auto" end local container = mw.html.create("div") :addClass("mapframe-withOverlay-container") :addClass(containerFloatClass) :addClass("noresize") :css(containerStyle) local overlayStyle = { position = "absolute", ["z-index"] = "1", border = options.border or "1px solid white" } if options.horizontalAlignment == "right" then overlayStyle.right = options.horizontalOffset .. "px" else overlayStyle.left = options.horizontalOffset .. "px" end if options.verticalAlignment == "bottom" then overlayStyle.bottom = options.verticalOffset .. "px" else overlayStyle.top = options.verticalOffset .. "px" end local overlayDiv = mw.html.create("div") :css(overlayStyle) :wikitext(overlayMap) container :node(overlayDiv) :wikitext(baseMap) if not options.isThumbnail then return tostring(container) end local classlist = container:getAttr("class") classlist = mw.ustring.gsub(classlist, "%a*"..options.align, "") container:attr("class", classlist) local outerCountainer = mw.html.create("div") :addClass("mapframe-withOverlay-outerContainer") :addClass("mw-kartographer-container") :addClass("thumb") if options.align == "left" or options.align == "right" then outerCountainer:addClass("t"..options.align) else -- alignment is "center" outerCountainer :addClass("tnone") :addClass("center") end outerCountainer :tag("div") :addClass("thumbinner") :css("width", options.width.."px") :node(container) :node(options.caption and mw.html.create("div") :addClass("thumbcaption") :wikitext(options.caption) ) return tostring(outerCountainer) end --[[---------------------------------------------------------------------------- Package to be exported, i.e. methods which will available to templates and other modules. ----------------------------------------------------------------------------]]-- local p = {} -- Entry point for templates function p.main(frame) local parent = frame.getParent(frame) -- Check for overlay option local overlay = util.getParameterValue(parent.args, 'overlay') local hasOverlay = overlay and mw.text.trim(overlay) ~= "" -- Check for switch option local switch = util.getParameterValue(parent.args, 'switch') local isMulti = switch and mw.text.trim(switch) ~= "" -- Create output by choosing method to suit options local output if hasOverlay then output = p.withOverlay(parent.args) elseif isMulti then output = p.multi(parent.args) else output = p._main(parent.args) end -- Preprocess output before returning it return frame:preprocess(output) end -- Entry points for modules function p._main(_args) local args = util.trimArgs(_args) local tagContent = make.content(args) local display = mw.text.split(util.getParameterValue(args, 'display') or L10n.defaults.display, '%s*' .. L10n.str.dsep .. '%s*') local displayInTitle = display[1] == L10n.str.title or display[2] == L10n.str.title local displayInline = display[1] == L10n.str.inline or display[2] == L10n.str.inline local output if displayInTitle and displayInline then output = make.titleOutput(args, tagContent) .. make.inlineOutput(args, tagContent) elseif displayInTitle then output = make.titleOutput(args, tagContent) elseif displayInline then output = make.inlineOutput(args, tagContent) else error(L10n.error.badDisplayPara) end return output end function p.multi(_args) local args = util.trimArgs(_args) if not args[L10n.para.switch] then error(L10n.error.noSwitchPara, 0) end local switchParamValue = util.getParameterValue(args, 'switch') local switchLabels = util.tableFromList(switchParamValue) if #switchLabels == 1 then error(L10n.error.oneSwitchLabel, 0) end local mapframeArgs = {} local switchParams = {} for name, val in pairs(args) do -- Copy to mapframeArgs, if not the switch labels or a switch parameter if val ~= switchParamValue and not string.match(val, "^"..L10n.str.switch..":") then mapframeArgs[name] = val end -- Check if this is a param to switch. If so, store the name and switch -- values in switchParams table. local switchList = string.match(val, "^"..L10n.str.switch..":(.+)") if switchList ~= nil then local values = util.tableFromList(switchList) if #values == 1 then error(string.format(L10n.error.oneSwitchValue, name), 0) end switchParams[name] = values end end if util.tableCount(switchParams) == 0 then error(L10n.error.noSwitchLists, 0) end local switchCount = util.subTablesCount(switchParams) if not switchCount then error(L10n.error.switchMismatches, 0) elseif switchCount > #switchLabels then error(string.format(L10n.error.fewerSwitchLabels, switchCount, #switchLabels), 0) end -- Ensure a plain frame will be used (thumbnail will be built by the -- make.switcherHtml function if required, so that switcher options are -- inside the thumnail) mapframeArgs.plain = "yes" local switcher = {} for i = 1, switchCount do local label = switchLabels[i] for name, values in pairs(switchParams) do mapframeArgs[name] = values[i] end table.insert(switcher, { map = p._main(mapframeArgs), label = "Show "..label }) end return make.switcherHtml(switcher, { alignment = args["frame-align"] or "right", isThumbnail = (args.frame and not args.plain) and true or false, width = args["frame-width"] or L10n.defaults.frameWidth, caption = args.text }) end function p.withOverlay(_args) -- Get and trim wikitext for overlay map local overlayMap = _args.overlay if type(overlayMap) == 'string' then overlayMap = overlayMap:match('^%s*(.-)%s*$') end local isThumbnail = (util.getParameterValue(_args, "frame") and not util.getParameterValue(_args, "plain")) and true or false -- Get base map using the _main function, as a plain map local args = util.trimArgs(_args) args.plain = "yes" local basemap = p._main(args) -- Extract overlay options from args local overlayOptions = { width = util.getParameterValue(args, "frameWidth") or L10n.defaults.frameWidth, height = util.getParameterValue(args, "frameHeight") or L10n.defaults.frameHeight, align = util.getParameterValue(args, "frameAlign") or L10n.defaults.frameAlign, border = util.getParameterValue(args, "overlayBorder") or L10n.defaults.overlayBorder, horizontalAlignment = util.getParameterValue(args, "overlayHorizontalAlignment") or L10n.defaults.overlayHorizontalAlignment, horizontalOffset = util.getParameterValue(args, "overlayHorizontalOffset") or L10n.defaults.overlayHorizontalOffset, verticalAlignment = util.getParameterValue(args, "overlayVerticalAlignment") or L10n.defaults.overlayVerticalAlignment, verticalOffset = util.getParameterValue(args, "overlayVerticalOffset") or L10n.defaults.overlayVerticalOffset, isThumbnail = isThumbnail, caption = util.getParameterValue(args, "text") or L10n.defaults.text } -- Make the HTML for the overlaying maps return make.overlayHtml(overlayMap, basemap, overlayOptions) end return p tn0yfwmsva9pwrkeixd6lxe4g5c51el Module:InfoboxImage 828 3251 36425 2025-12-15T16:03:24Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Inputs: -- image - Can either be a bare filename (with or without the File:/Image: prefix) or a fully formatted image link -- page - page to display for multipage images (DjVu) -- size - size to display the image -- maxsize - maximum size for image -- sizedefault - default size to display the image if size param is blank -- alt - alt text for image -- title - title text for image -- border - set to yes if border -- cen...' 36425 Scribunto text/plain -- Inputs: -- image - Can either be a bare filename (with or without the File:/Image: prefix) or a fully formatted image link -- page - page to display for multipage images (DjVu) -- size - size to display the image -- maxsize - maximum size for image -- sizedefault - default size to display the image if size param is blank -- alt - alt text for image -- title - title text for image -- border - set to yes if border -- center - set to yes, if the image has to be centered -- upright - upright image param -- suppressplaceholder - if yes then checks to see if image is a placeholder and suppresses it -- link - page to visit when clicking on image -- Outputs: -- Formatted image. -- More details available at the "Module:InfoboxImage/doc" page local i = {}; local placeholder_image = { "Blue - Replace this image female.svg", "Blue - Replace this image male.svg", "Female no free image yet.png", "Flag of None (square).svg", "Flag of None.svg", "Flag of.svg", "Green - Replace this image female.svg", "Green - Replace this image male.svg", "Image is needed female.svg", "Image is needed male.svg", "Location map of None.svg", "Male no free image yet.png", "Missing flag.png", "No flag.svg", "No free portrait.svg", "No portrait (female).svg", "No portrait (male).svg", "Red - Replace this image female.svg", "Red - Replace this image male.svg", "Replace this image female (blue).svg", "Replace this image female.svg", "Replace this image male (blue).svg", "Replace this image male.svg", "Silver - Replace this image female.svg", "Silver - Replace this image male.svg", "Replace this image.svg", "Cricket no pic.png", "CarersLogo.gif", "Diagram Needed.svg", "Example.jpg", "Image placeholder.png", "No male portrait.svg", "Nocover-upload.png", "NoDVDcover copy.png", "Noribbon.svg", "No portrait-BFD-test.svg", "Placeholder barnstar ribbon.png", "Project Trains no image.png", "Image-request.png", "Sin bandera.svg", "Sin escudo.svg", "Replace this image - temple.png", "Replace this image butterfly.png", "Replace this image.svg", "Replace this image1.svg", "Resolution angle.png", "Image-No portrait-text-BFD-test.svg", "Insert image here.svg", "No image available.png", "NO IMAGE YET square.png", "NO IMAGE YET.png", "No Photo Available.svg", "No Screenshot.svg", "No-image-available.jpg", "Null.png", "PictureNeeded.gif", "Place holder.jpg", "Unbenannt.JPG", "UploadACopyrightFreeImage.svg", "UploadAnImage.gif", "UploadAnImage.svg", "UploadAnImageShort.svg", "CarersLogo.gif", "Diagram Needed.svg", "No male portrait.svg", "NoDVDcover copy.png", "Placeholder barnstar ribbon.png", "Project Trains no image.png", "Image-request.png", } function i.IsPlaceholder(image) -- change underscores to spaces image = mw.ustring.gsub(image, "_", " "); assert(image ~= nil, 'mw.ustring.gsub(image, "_", " ") must not return nil') -- if image starts with [[ then remove that and anything after | if mw.ustring.sub(image,1,2) == "[[" then image = mw.ustring.sub(image,3); image = mw.ustring.gsub(image, "([^|]*)|.*", "%1"); assert(image ~= nil, 'mw.ustring.gsub(image, "([^|]*)|.*", "%1") must not return nil') end -- Trim spaces image = mw.ustring.gsub(image, '^[ ]*(.-)[ ]*$', '%1'); assert(image ~= nil, "mw.ustring.gsub(image, '^[ ]*(.-)[ ]*$', '%1') must not return nil") -- remove prefix if exists local allNames = mw.site.namespaces[6].aliases allNames[#allNames + 1] = mw.site.namespaces[6].name allNames[#allNames + 1] = mw.site.namespaces[6].canonicalName for i, name in ipairs(allNames) do if mw.ustring.lower(mw.ustring.sub(image, 1, mw.ustring.len(name) + 1)) == mw.ustring.lower(name .. ":") then image = mw.ustring.sub(image, mw.ustring.len(name) + 2); break end end -- Trim spaces image = mw.ustring.gsub(image, '^[ ]*(.-)[ ]*$', '%1'); -- capitalise first letter image = mw.ustring.upper(mw.ustring.sub(image,1,1)) .. mw.ustring.sub(image,2); for i,j in pairs(placeholder_image) do if image == j then return true end end return false end function i.InfoboxImage(frame) local image = frame.args["image"]; if image == "" or image == nil then return ""; end if image == "&nbsp;" then return image; end if frame.args["suppressplaceholder"] ~= "no" then if i.IsPlaceholder(image) == true then return ""; end end if mw.ustring.lower(mw.ustring.sub(image,1,5)) == "http:" then return ""; end if mw.ustring.lower(mw.ustring.sub(image,1,6)) == "[http:" then return ""; end if mw.ustring.lower(mw.ustring.sub(image,1,7)) == "[[http:" then return ""; end if mw.ustring.lower(mw.ustring.sub(image,1,6)) == "https:" then return ""; end if mw.ustring.lower(mw.ustring.sub(image,1,7)) == "[https:" then return ""; end if mw.ustring.lower(mw.ustring.sub(image,1,8)) == "[[https:" then return ""; end if mw.ustring.sub(image,1,2) == "[[" then -- search for thumbnail images and add to tracking cat if found if mw.title.getCurrentTitle().namespace == 0 and (mw.ustring.find(image, "|%s*thumb%s*[|%]]") or mw.ustring.find(image, "|%s*thumbnail%s*[|%]]")) then return image .. "[[Κατηγορία:Σελίδες που χρησιμοποιούν πλαίσια πληροφοριών με μικρογραφίες εικόνων]]"; else return image; end elseif mw.ustring.sub(image,1,2) == "{{" and mw.ustring.sub(image,1,3) ~= "{{{" then return image; elseif mw.ustring.sub(image,1,1) == "<" then return image; elseif mw.ustring.sub(image,1,5) == mw.ustring.char(127).."UNIQ" then -- Found strip marker at begining, so pass don't process at all return image; else local result = ""; local page = frame.args["page"]; local size = frame.args["size"]; local maxsize = frame.args["maxsize"]; local sizedefault = frame.args["sizedefault"]; local alt = frame.args["alt"]; local link = frame.args["link"]; local title = frame.args["title"]; local border = frame.args["border"]; local upright = frame.args["upright"] or ""; local thumbtime = frame.args["thumbtime"] or ""; local center= frame.args["center"]; -- remove prefix if exists local allNames = mw.site.namespaces[6].aliases allNames[#allNames + 1] = mw.site.namespaces[6].name allNames[#allNames + 1] = mw.site.namespaces[6].canonicalName for i, name in ipairs(allNames) do if mw.ustring.lower(mw.ustring.sub(image, 1, mw.ustring.len(name) + 1)) == mw.ustring.lower(name .. ":") then image = mw.ustring.sub(image, mw.ustring.len(name) + 2); break end end if maxsize ~= "" and maxsize ~= nil then -- if no sizedefault then set to maxsize if sizedefault == "" or sizedefault == nil then sizedefault = maxsize end -- check to see if size bigger than maxsize if size ~= "" and size ~= nil then local sizenumber = tonumber(mw.ustring.match(size,"%d*")) or 0; local maxsizenumber = tonumber(mw.ustring.match(maxsize,"%d*")) or 0; if sizenumber>maxsizenumber and maxsizenumber>0 then size = maxsize; end end end -- add px to size if just a number if (tonumber(size) or 0) > 0 then size = size .. "px"; end result = "[[File:" .. image; if page ~= "" and page ~= nil then result = result .. "|page=" .. page; end if size ~= "" and size ~= nil then result = result .. "|" .. size; elseif sizedefault ~= "" and sizedefault ~= nil then result = result .. "|" .. sizedefault; else result = result .. "|frameless"; end if center == "yes" then result = result .. "|center" end if alt ~= "" and alt ~= nil then result = result .. "|alt=" .. alt; end if link ~= "" and link ~= nil then result = result .. "|link=" .. link; end if border == "yes" then result = result .. "|border"; end if upright == "yes" then result = result .. "|upright"; elseif upright ~= "" then result = result .. "|upright=" .. upright; end if thumbtime ~= "" then result = result .. "|thumbtime=" .. thumbtime; end if title ~= "" and title ~= nil then result = result .. "|" .. title; elseif alt ~= "" and alt ~= nil then result = result .. "|" .. alt; end result = result .. "]]"; return result; end end return i; c8pmd8ni2bye6o3mft04hgtychpmbdf Module:Infobox/Style 828 3252 36426 2025-12-15T16:04:21Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- style par défaut. Plus pratique pour l'instant que d'utiliser les classes de l'énorme common.css return { entete = { display = 'table', width ='100%', ['border-spacing'] = '0', zoom = '1', ['background-color'] = maincolor or '#E1E1E1', ['word-wrap'] = 'break-word', height = '45px', -- celle de infobox V2. Celle d'infobox V2, '100%!ie', est souvent moche ['font-weight'] = 'bold', ['text-align'] = 'center', ['font-size'] = '1.4em', ['...' 36426 Scribunto text/plain -- style par défaut. Plus pratique pour l'instant que d'utiliser les classes de l'énorme common.css return { entete = { display = 'table', width ='100%', ['border-spacing'] = '0', zoom = '1', ['background-color'] = maincolor or '#E1E1E1', ['word-wrap'] = 'break-word', height = '45px', -- celle de infobox V2. Celle d'infobox V2, '100%!ie', est souvent moche ['font-weight'] = 'bold', ['text-align'] = 'center', ['font-size'] = '1.4em', ['line-height'] = '1.1em', margin = '0 0 10px 0 !important', padding = '3px 0', border = '2px', solid = '#DFEDFF', }, boldline = { ['text-align'] = 'center', ['font-weight'] = 'bold' }, } ksobysco915rlala820kby34er2556p Module:WikidataCoord 828 3253 36427 2025-12-15T16:06:59Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'require('strict') local getArgs = require('Module:Arguments').getArgs local patterns = { '(%d+)°(%d+)&#39;([%d%.]+)&#34;([NS]),%s*(%d+)°(%d+)&#39;([%d%.]+)&#34;([EW])', -- if the returned data looks like 55°13&#39;12&#34;N, 23°17&#39;17&#34;E '(%d+)°(%d+)&#39;([NS]),%s*(%d+)°(%d+)&#39;([EW])', -- if the returned data looks like 54°24&#39;N, 25°25&#39;E '(%d+)°(%d+)[′\']([%d%.]+)[″\"]([NS]),?%s*(%d+)°(%d+)[′\']([%d%.]+)[...' 36427 Scribunto text/plain require('strict') local getArgs = require('Module:Arguments').getArgs local patterns = { '(%d+)°(%d+)&#39;([%d%.]+)&#34;([NS]),%s*(%d+)°(%d+)&#39;([%d%.]+)&#34;([EW])', -- if the returned data looks like 55°13&#39;12&#34;N, 23°17&#39;17&#34;E '(%d+)°(%d+)&#39;([NS]),%s*(%d+)°(%d+)&#39;([EW])', -- if the returned data looks like 54°24&#39;N, 25°25&#39;E '(%d+)°(%d+)[′\']([%d%.]+)[″\"]([NS]),?%s*(%d+)°(%d+)[′\']([%d%.]+)[″\"]([EW])', -- when args[1] is a dms string that uses quotes or primes '(%d+)°(%d+)[′\']([NS]),?%s*(%d+)°(%d+)[′\']([EW])', -- when args[1] is a dms string that uses quotes or primes, bit shorter format '(%d+%.?%d*)°([NS]),?%s*(%d+%.?%d*)°([EW])', -- when args[1] is a decimal degrees string } local params = {'display', 'format', 'name', 'notes'}; -- {{coord}} template paramters --[[--------------------------< I S _ S E T >------------------------------------------------------------------ Whether variable is set or not. A variable is set when it is not nil and not empty. ]] local function is_set( var ) return not (var == nil or var == ''); end --[[--------------------------< M A I N >---------------------------------------------------------------------- Template entry point. This function takes up to two unnamed positional parameters: 1 = coordinate string typically from a call to Wikidata like this: {{#property:P625|from=Q...}} 2 = coordinate parameters; see Template:Coord Also takes the named parameters |display=, |format=, |name=, |notes= which it passes on to {{coord}} Reformats the Wikidata coordinate string into unnamed parameters for {{coord}} {{#invoke:WikidataCoord|main|{{#property:P625|from={{{1}}}}}|{{{2}}}|display={{{display}}}|format={{{format}}}|name={{{name}}}|notes={{{notes}}}}} ]] local function main (frame) local args = getArgs(frame); local lat_long = {}; -- table of lat/long coords extracted from wikidata return if not is_set (args[1]) then -- in case wikidata returns nothing (happens when Q... is wrong) return '<span style="font-size:100%" class="error">{{WikidataCoord}} – missing coordinate data</span>'; -- error message and quit else for _, pattern in ipairs (patterns) do lat_long[1], lat_long[2], lat_long[3], lat_long[4], lat_long[5], lat_long[6], lat_long[7], lat_long[8] = mw.ustring.match (args[1], pattern) if lat_long[1] then break; end end end if not lat_long[1] then return '<span style="font-size:100%" class="error">{{WikidataCoord}} – malformed coordinate data</span>'; -- wikidata returned something else end if is_set (args[2]) then -- coordinate parameters are in second unnammed positional parameter table.insert (lat_long, args[2]); -- add coordinate parameters as next positional parameter after coordnates end for _, param in ipairs (params) do if is_set (args[param]) then lat_long[param] = args[param]; -- add the named parameters if they have a value end end if args._debug then return table.concat ({'<code style="color:inherit; background:inherit; border:none;">{{coord|', table.concat (lat_long, '|' ), '}}</code>'}); end return frame:expandTemplate ({title = 'coord', args=lat_long}); -- invoke template {{coord}} with wikidata lat/long end --[[--------------------------< E X P O R T E D F U N C T I O N >-------------------------------------------- ]] return {main = main} 7yfsh0uuumf6p61n3lha5s1utw2dz4z Πρότυπον:Κώδικας 10 3254 36429 36428 2025-12-15T16:08:33Z Εὐθυμένης 2777 Ο Εὐθυμένης μετακίνησε τη σελίδα [[Πρότυπον:Code]] στην [[Πρότυπον:Κώδικας]] 36428 wikitext text/x-wiki {{#tag:syntaxhighlight|{{{code|{{{1}}}}}}|lang={{{lang|{{{2|text}}}}}}|class={{{class|}}}|id={{{id|}}}|style={{{style|}}}|inline=1}}<noinclude> {{documentation}} </noinclude> iyuiy1uoe39isuphgfdwgy4hc8jrsnl Πρότυπον:Code 10 3255 36430 2025-12-15T16:08:33Z Εὐθυμένης 2777 Ο Εὐθυμένης μετακίνησε τη σελίδα [[Πρότυπον:Code]] στην [[Πρότυπον:Κώδικας]] 36430 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Πρότυπον:Κώδικας]] aix87tlw0m3nwo0zpff4eoekhu59pap Πρότυπον:WikidataCoord 10 3256 36431 2025-12-15T16:09:38Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{#invoke:WikidataCoord|main|{{#property:P625|from={{{1|}}}}}|{{{2|}}}|display={{{display|title}}}|format={{{format|}}}|name={{{name|}}}|notes={{{notes|}}}}}</includeonly><noinclude> {{Documentation}} </noinclude>' 36431 wikitext text/x-wiki <includeonly>{{#invoke:WikidataCoord|main|{{#property:P625|from={{{1|}}}}}|{{{2|}}}|display={{{display|title}}}|format={{{format|}}}|name={{{name|}}}|notes={{{notes|}}}}}</includeonly><noinclude> {{Documentation}} </noinclude> faey2m1gnwc7v781lhstjeiay9z7u63 Πρότυπον:Coord/input/dms 10 3257 36432 2025-12-15T16:11:03Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{Coord/link|dms-lat={{{1}}}°{{{2}}}′{{{3}}}″{{{4}}}|dms-long={{{5}}}°{{{6}}}′{{{7}}}″{{{8}}}|dec-lat={{coor dms2dec|{{{4}}}|{{{1}}}|{{{2}}}|{{{3}}}}}|dec-long={{coor dms2dec|{{{8}}}|{{{5}}}|{{{6}}}|{{{7}}}}}|param={{{1}}}_{{{2}}}_{{{3}}}_{{{4}}}_{{{5}}}_{{{6}}}_{{{7}}}_{{{8}}}_{{{9|}}}|default={{#if:{{{format|}}}|{{{format}}}|dms}}|name={{{name|}}}}}</includeonly><noinclude> [[Κατηγορίαν:Coord template]] </noinclude>' 36432 wikitext text/x-wiki <includeonly>{{Coord/link|dms-lat={{{1}}}°{{{2}}}′{{{3}}}″{{{4}}}|dms-long={{{5}}}°{{{6}}}′{{{7}}}″{{{8}}}|dec-lat={{coor dms2dec|{{{4}}}|{{{1}}}|{{{2}}}|{{{3}}}}}|dec-long={{coor dms2dec|{{{8}}}|{{{5}}}|{{{6}}}|{{{7}}}}}|param={{{1}}}_{{{2}}}_{{{3}}}_{{{4}}}_{{{5}}}_{{{6}}}_{{{7}}}_{{{8}}}_{{{9|}}}|default={{#if:{{{format|}}}|{{{format}}}|dms}}|name={{{name|}}}}}</includeonly><noinclude> [[Κατηγορίαν:Coord template]] </noinclude> 71jb3wzty5cspricl9ax0byk9k9t4g4 Κατηγορίαν:Coord template 14 3258 36433 2025-12-15T16:11:49Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '[[Κατηγορίαν:Πρότυπα συντεταγμένων]]' 36433 wikitext text/x-wiki [[Κατηγορίαν:Πρότυπα συντεταγμένων]] 38ao352ku9nvjw12k10f30a1wyv1ffv Κατηγορίαν:Πρότυπα συντεταγμένων 14 3259 36434 2025-12-15T16:12:47Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '[[Κατηγορίαν:Πρότυπα Βικιπαίδειας]]' 36434 wikitext text/x-wiki [[Κατηγορίαν:Πρότυπα Βικιπαίδειας]] ppi47h4quw2aoq5q3e9gvbzgj8rs77v Πρότυπον:Coord/dec2dms 10 3260 36435 2025-12-15T16:14:16Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{Coord/dec2dms/{{{4}}}|{{#ifexpr:{{{1}}} >= 0||-}}{{{1}}}}}{{#ifexpr:{{{1}}} >= 0|{{{2}}}|{{{3}}}}}</includeonly><noinclude>[[Κατηγορίαν:Coord template]] {{τεκμηρίωση προτύπου}} </noinclude>' 36435 wikitext text/x-wiki <includeonly>{{Coord/dec2dms/{{{4}}}|{{#ifexpr:{{{1}}} >= 0||-}}{{{1}}}}}{{#ifexpr:{{{1}}} >= 0|{{{2}}}|{{{3}}}}}</includeonly><noinclude>[[Κατηγορίαν:Coord template]] {{τεκμηρίωση προτύπου}} </noinclude> 55elyhwf3kfd8qwkxfwxy1jotlhwfrt Πρότυπον:Coord/prec dec 10 3261 36436 2025-12-15T16:16:47Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{#switch:{{max|{{precision1|{{{1}}}}}|{{precision1|{{{2}}}}}}}|0=d|1|2=dm|dms}}</includeonly><noinclude>[[Κατηγορίαν:Coord template]]{{τεκμηρίωση προτύπου}}</noinclude>' 36436 wikitext text/x-wiki <includeonly>{{#switch:{{max|{{precision1|{{{1}}}}}|{{precision1|{{{2}}}}}}}|0=d|1|2=dm|dms}}</includeonly><noinclude>[[Κατηγορίαν:Coord template]]{{τεκμηρίωση προτύπου}}</noinclude> c8vycp4p57xkl20bhtimkfg9h1ps09u Πρότυπον:Coor URL 10 3262 36440 2025-12-15T16:19:33Z Εὐθυμένης 2777 Ο Εὐθυμένης μετακίνησε τη σελίδα [[Πρότυπον:Coor URL]] στην [[Πρότυπον:Συντεταγμένες URL]] 36440 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Πρότυπον:Συντεταγμένες URL]] dzjxovvohg70ovsv06cp6imnxzo6g5u Module:Math 828 3263 36441 2025-12-15T16:20:34Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--[[ This module provides a number of basic mathematical operations. ]] local yesno, getArgs -- lazily initialized local p = {} -- Holds functions to be returned from #invoke, and functions to make available to other Lua modules. local wrap = {} -- Holds wrapper functions that process arguments from #invoke. These act as intemediary between functions meant for #invoke and functions meant for Lua. --[[ Helper functions used to avoid redundant c...' 36441 Scribunto text/plain --[[ This module provides a number of basic mathematical operations. ]] local yesno, getArgs -- lazily initialized local p = {} -- Holds functions to be returned from #invoke, and functions to make available to other Lua modules. local wrap = {} -- Holds wrapper functions that process arguments from #invoke. These act as intemediary between functions meant for #invoke and functions meant for Lua. --[[ Helper functions used to avoid redundant code. ]] local function err(msg) -- Generates wikitext error messages. return mw.ustring.format('<strong class="error">Formatting error: %s</strong>', msg) end local function unpackNumberArgs(args) -- Returns an unpacked list of arguments specified with numerical keys. local ret = {} for k, v in pairs(args) do if type(k) == 'number' then table.insert(ret, v) end end return unpack(ret) end local function makeArgArray(...) -- Makes an array of arguments from a list of arguments that might include nils. local args = {...} -- Table of arguments. It might contain nils or non-number values, so we can't use ipairs. local nums = {} -- Stores the numbers of valid numerical arguments. local ret = {} for k, v in pairs(args) do v = p._cleanNumber(v) if v then nums[#nums + 1] = k args[k] = v end end table.sort(nums) for i, num in ipairs(nums) do ret[#ret + 1] = args[num] end return ret end local function fold(func, ...) -- Use a function on all supplied arguments, and return the result. The function must accept two numbers as parameters, -- and must return a number as an output. This number is then supplied as input to the next function call. local vals = makeArgArray(...) local count = #vals -- The number of valid arguments if count == 0 then return -- Exit if we have no valid args, otherwise removing the first arg would cause an error. nil, 0 end local ret = table.remove(vals, 1) for _, val in ipairs(vals) do ret = func(ret, val) end return ret, count end --[[ Fold arguments by selectively choosing values (func should return when to choose the current "dominant" value). ]] local function binary_fold(func, ...) local value = fold((function(a, b) if func(a, b) then return a else return b end end), ...) return value end --[[ random Generate a random number Usage: {{#invoke: Math | random }} {{#invoke: Math | random | maximum value }} {{#invoke: Math | random | minimum value | maximum value }} ]] function wrap.random(args) local first = p._cleanNumber(args[1]) local second = p._cleanNumber(args[2]) return p._random(first, second) end function p._random(first, second) math.randomseed(mw.site.stats.edits + mw.site.stats.pages + os.time() + math.floor(os.clock() * 1000000000)) -- math.random will throw an error if given an explicit nil parameter, so we need to use if statements to check the params. if first and second then if first <= second then -- math.random doesn't allow the first number to be greater than the second. return math.random(first, second) end elseif first then return math.random(first) else return math.random() end end --[[ order Determine order of magnitude of a number Usage: {{#invoke: Math | order | value }} ]] function wrap.order(args) local input_string = (args[1] or args.x or '0'); local input_number = p._cleanNumber(input_string); if input_number == nil then return err('order of magnitude input appears non-numeric') else return p._order(input_number) end end function p._order(x) if x == 0 then return 0 end return math.floor(math.log10(math.abs(x))) end --[[ precision Detemines the precision of a number using the string representation Usage: {{ #invoke: Math | precision | value }} ]] function wrap.precision(args) local input_string = (args[1] or args.x or '0'); local trap_fraction = args.check_fraction; local input_number; if not yesno then yesno = require('Module:Yesno') end if yesno(trap_fraction, true) then -- Returns true for all input except nil, false, "no", "n", "0" and a few others. See [[Module:Yesno]]. local pos = string.find(input_string, '/', 1, true); if pos ~= nil then if string.find(input_string, '/', pos + 1, true) == nil then local denominator = string.sub(input_string, pos+1, -1); local denom_value = tonumber(denominator); if denom_value ~= nil then return math.log10(denom_value); end end end end input_number, input_string = p._cleanNumber(input_string); if input_string == nil then return err('precision input appears non-numeric') else return p._precision(input_string) end end function p._precision(x) if type(x) == 'number' then x = tostring(x) end x = string.upper(x) local decimal = x:find('%.') local exponent_pos = x:find('E') local result = 0; if exponent_pos ~= nil then local exponent = string.sub(x, exponent_pos + 1) x = string.sub(x, 1, exponent_pos - 1) result = result - tonumber(exponent) end if decimal ~= nil then result = result + string.len(x) - decimal return result end local pos = string.len(x); while x:byte(pos) == string.byte('0') do pos = pos - 1 result = result - 1 if pos <= 0 then return 0 end end return result end --[[ max Finds the maximum argument Usage: {{#invoke:Math| max | value1 | value2 | ... }} Note, any values that do not evaluate to numbers are ignored. ]] function wrap.max(args) return p._max(unpackNumberArgs(args)) end function p._max(...) local max_value = binary_fold((function(a, b) return a > b end), ...) if max_value then return max_value end end --[[ median Find the median of set of numbers Usage: {{#invoke:Math | median | number1 | number2 | ...}} OR {{#invoke:Math | median }} ]] function wrap.median(args) return p._median(unpackNumberArgs(args)) end function p._median(...) local vals = makeArgArray(...) local count = #vals table.sort(vals) if count == 0 then return 0 end if p._mod(count, 2) == 0 then return (vals[count/2] + vals[count/2+1])/2 else return vals[math.ceil(count/2)] end end --[[ min Finds the minimum argument Usage: {{#invoke:Math| min | value1 | value2 | ... }} OR {{#invoke:Math| min }} When used with no arguments, it takes its input from the parent frame. Note, any values that do not evaluate to numbers are ignored. ]] function wrap.min(args) return p._min(unpackNumberArgs(args)) end function p._min(...) local min_value = binary_fold((function(a, b) return a < b end), ...) if min_value then return min_value end end --[[ sum Finds the sum Usage: {{#invoke:Math| sum | value1 | value2 | ... }} OR {{#invoke:Math| sum }} Note, any values that do not evaluate to numbers are ignored. ]] function wrap.sum(args) return p._sum(unpackNumberArgs(args)) end function p._sum(...) local sums, count = fold((function(a, b) return a + b end), ...) if not sums then return 0 else return sums end end --[[ average Finds the average Usage: {{#invoke:Math| average | value1 | value2 | ... }} OR {{#invoke:Math| average }} Note, any values that do not evaluate to numbers are ignored. ]] function wrap.average(args) return p._average(unpackNumberArgs(args)) end function p._average(...) local sum, count = fold((function(a, b) return a + b end), ...) if not sum then return 0 else return sum / count end end --[[ round Rounds a number to specified precision Usage: {{#invoke:Math | round | value | precision }} --]] function wrap.round(args) local value = p._cleanNumber(args[1] or args.value or 0) local precision = p._cleanNumber(args[2] or args.precision or 0) if value == nil or precision == nil then return err('round input appears non-numeric') else return p._round(value, precision) end end function p._round(value, precision) local rescale = math.pow(10, precision or 0); return math.floor(value * rescale + 0.5) / rescale; end --[[ log10 returns the log (base 10) of a number Usage: {{#invoke:Math | log10 | x }} ]] function wrap.log10(args) return math.log10(args[1]) end --[[ mod Implements the modulo operator Usage: {{#invoke:Math | mod | x | y }} --]] function wrap.mod(args) local x = p._cleanNumber(args[1]) local y = p._cleanNumber(args[2]) if not x then return err('first argument to mod appears non-numeric') elseif not y then return err('second argument to mod appears non-numeric') else return p._mod(x, y) end end function p._mod(x, y) local ret = x % y if not (0 <= ret and ret < y) then ret = 0 end return ret end --[[ gcd Calculates the greatest common divisor of multiple numbers Usage: {{#invoke:Math | gcd | value 1 | value 2 | value 3 | ... }} --]] function wrap.gcd(args) return p._gcd(unpackNumberArgs(args)) end function p._gcd(...) local function findGcd(a, b) local r = b local oldr = a while r ~= 0 do local quotient = math.floor(oldr / r) oldr, r = r, oldr - quotient * r end if oldr < 0 then oldr = oldr * -1 end return oldr end local result, count = fold(findGcd, ...) return result end --[[ precision_format Rounds a number to the specified precision and formats according to rules originally used for {{template:Rnd}}. Output is a string. Usage: {{#invoke: Math | precision_format | number | precision }} ]] function wrap.precision_format(args) local value_string = args[1] or 0 local precision = args[2] or 0 return p._precision_format(value_string, precision) end function p._precision_format(value_string, precision) -- For access to Mediawiki built-in formatter. local lang = mw.getContentLanguage(); local value value, value_string = p._cleanNumber(value_string) precision = p._cleanNumber(precision) -- Check for non-numeric input if value == nil or precision == nil then return err('invalid input when rounding') end local current_precision = p._precision(value) local order = p._order(value) -- Due to round-off effects it is neccesary to limit the returned precision under -- some circumstances because the terminal digits will be inaccurately reported. if order + precision >= 14 then if order + p._precision(value_string) >= 14 then precision = 13 - order; end end -- If rounding off, truncate extra digits if precision < current_precision then value = p._round(value, precision) current_precision = p._precision(value) end local formatted_num = lang:formatNum(math.abs(value)) local sign -- Use proper unary minus sign rather than ASCII default if value < 0 then sign = '−' else sign = '' end -- Handle cases requiring scientific notation if string.find(formatted_num, 'E', 1, true) ~= nil or math.abs(order) >= 9 then value = value * math.pow(10, -order) current_precision = current_precision + order precision = precision + order formatted_num = lang:formatNum(math.abs(value)) else order = 0; end formatted_num = sign .. formatted_num -- Pad with zeros, if needed if current_precision < precision then local padding if current_precision <= 0 then if precision > 0 then local zero_sep = lang:formatNum(1.1) formatted_num = formatted_num .. zero_sep:sub(2,2) padding = precision if padding > 20 then padding = 20 end formatted_num = formatted_num .. string.rep('0', padding) end else padding = precision - current_precision if padding > 20 then padding = 20 end formatted_num = formatted_num .. string.rep('0', padding) end end -- Add exponential notation, if necessary. if order ~= 0 then -- Use proper unary minus sign rather than ASCII default if order < 0 then order = '−' .. lang:formatNum(math.abs(order)) else order = lang:formatNum(order) end formatted_num = formatted_num .. '<span style="margin:0 .15em 0 .25em">×</span>10<sup>' .. order .. '</sup>' end return formatted_num end --[[ Helper function that interprets the input numerically. If the input does not appear to be a number, attempts evaluating it as a parser functions expression. ]] function p._cleanNumber(number_string) if type(number_string) == 'number' then -- We were passed a number, so we don't need to do any processing. return number_string, tostring(number_string) elseif type(number_string) ~= 'string' or not number_string:find('%S') then -- We were passed a non-string or a blank string, so exit. return nil, nil; end -- Attempt basic conversion local number = tonumber(number_string) -- If failed, attempt to evaluate input as an expression if number == nil then local success, result = pcall(mw.ext.ParserFunctions.expr, number_string) if success then number = tonumber(result) number_string = tostring(number) else number = nil number_string = nil end else number_string = number_string:match("^%s*(.-)%s*$") -- String is valid but may contain padding, clean it. number_string = number_string:match("^%+(.*)$") or number_string -- Trim any leading + signs. if number_string:find('^%-?0[xX]') then -- Number is using 0xnnn notation to indicate base 16; use the number that Lua detected instead. number_string = tostring(number) end end return number, number_string end --[[ Wrapper function that does basic argument processing. This ensures that all functions from #invoke can use either the current frame or the parent frame, and it also trims whitespace for all arguments and removes blank arguments. ]] local mt = { __index = function(t, k) return function(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return wrap[k](getArgs(frame)) -- Argument processing is left to Module:Arguments. Whitespace is trimmed and blank arguments are removed. end end } return setmetatable(p, mt) rp27wodkcpetzw9mjays09ovm4ps8al Module:Coordinates 828 3264 36442 2025-12-15T16:21:31Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--[[ This module is intended to replace the functionality of {{Coord}} and related templates. It provides several methods, including {{#Invoke:Coordinates | coord }} : General function formatting and displaying coordinate values. {{#Invoke:Coordinates | dec2dms }} : Simple function for converting decimal degree values to DMS format. {{#Invoke:Coordinates | dms2dec }} : Simple function for converting DMS format to decimal degree format. ]] mat...' 36442 Scribunto text/plain --[[ This module is intended to replace the functionality of {{Coord}} and related templates. It provides several methods, including {{#Invoke:Coordinates | coord }} : General function formatting and displaying coordinate values. {{#Invoke:Coordinates | dec2dms }} : Simple function for converting decimal degree values to DMS format. {{#Invoke:Coordinates | dms2dec }} : Simple function for converting DMS format to decimal degree format. ]] math_mod = require( "Module:Math" ); globalFrame = nil coordinates = {}; --[[ Helper function, replacement for {{coord/display/title}} ]] function displaytitle (s, notes) local l = "[[Γεωγραφικές συντεταγμένες|Συντεταγμένες]]: " .. s local co = '<span id="coordinates">' .. l .. notes .. '</span>'; return '<span style="font-size: small;">' .. co .. '</span>'; end --[[ Helper function, Replacement for {{coord/display/inline}} ]] function displayinline (s, notes) return s .. notes end --[[ Helper function, used in detecting DMS formatting ]] local dmsTest = function(first, second) local concatenated = first:upper() .. second:upper(); if concatenated == "NE" or concatenated == "NW" or concatenated == "SE" or concatenated == "SW" or concatenated == "EN" or concatenated == "WN" or concatenated == "ES" or concatenated == "WS" then return true; end return false; end --[[ parseDec Transforms decimal format latitude and longitude into the a structure to be used in displaying coordinates ]] function parseDec( lat, long, format ) local coordinateSpec = {} local errors = {} if long == "" or long == nil then return nil, {{"parseDec", "Λείπει το μήκος"}} end errors = validate( lat, nil, nil, long, nil, nil, 'parseDec', false ); coordinateSpec["dec-lat"] = lat; coordinateSpec["dec-long"] = long; local mode = coordinates.determineMode( lat, long ); coordinateSpec["dms-lat"] = convert_dec2dms( lat, "N", "S", mode) -- {{coord/dec2dms|{{{1}}}|N|S|{{coord/prec dec|{{{1}}}|{{{2}}}}}}} coordinateSpec["dms-long"] = convert_dec2dms( long, "E", "W", mode) -- {{coord/dec2dms|{{{2}}}|E|W|{{coord/prec dec|{{{1}}}|{{{2}}}}}}} if format ~= "" then coordinateSpec.default = format else coordinateSpec.default = "dec" end return coordinateSpec, errors end --[[ Helper function, handle optional args. ]] function optionalArg(arg, suplement) if arg ~= nil and arg ~= "" then return arg .. suplement end return "" end --[[ parseDMS Transforms degrees, minutes, seconds format latitude and longitude into the a structure to be used in displaying coordinates ]] function parseDMS( lat_d, lat_m, lat_s, lat_f, long_d, long_m, long_s, long_f, format ) local coordinateSpec = {} local errors = {} lat_f = lat_f:upper(); long_f = long_f:upper(); -- Check if specified backward if lat_f == 'E' or lat_f == 'W' then local t_d, t_m, t_s, t_f; t_d = lat_d; t_m = lat_m; t_s = lat_s; t_f = lat_f; lat_d = long_d; lat_m = long_m; lat_s = long_s; lat_f = long_f; long_d = t_d; long_m = t_m; long_s = t_s; long_f = t_f; end errors = validate( lat_d, lat_m, lat_s, long_d, long_m, long_s, 'parseDMS', true ); if long_d == nil or long_d == "" then table.insert(errors, {"parseDMS", "Λείπει το πλάτος" }) end if lat_m == nil and lat_s == nil and long_m == nil and long_s == nil and #errors == 0 then if math_mod._precision( lat_d ) > 0 or math_mod._precision( long_d ) > 0 then if lat_f:upper() == 'S' then lat_d = '-' .. lat_d; end if long_f:upper() == 'W' then long_d = '-' .. long_d; end return parseDec( lat_d, long_d, format ); end end coordinateSpec["dms-lat"] = lat_d.."°"..optionalArg(lat_m,"′") .. optionalArg(lat_s,"″") .. lat_f coordinateSpec["dms-long"] = long_d.."°"..optionalArg(long_m,"′") .. optionalArg(long_s,"″") .. long_f coordinateSpec["dec-lat"] = convert_dms2dec(lat_f, lat_d, lat_m, lat_s) -- {{coord/dms2dec|{{{4}}}|{{{1}}}|0{{{2}}}|0{{{3}}}}} coordinateSpec["dec-long"] = convert_dms2dec(long_f, long_d, long_m, long_s) -- {{coord/dms2dec|{{{8}}}|{{{5}}}|0{{{6}}}|0{{{7}}}}} if format ~= "" then coordinateSpec.default = format else coordinateSpec.default = "dms" end return coordinateSpec, errors end --[[ specPrinter Output formatter. Takes the structure generated by either parseDec or parseDMS and formats it for inclusion on Wikipedia. ]] function specPrinter(args, coordinateSpec) local uriComponents = coordinateSpec["param"] if uriComponents == "" then -- RETURN error, should never be empty or nil return "ERROR param was empty" end if args["name"] ~= "" and args["name"] ~= nil then uriComponents = uriComponents .. "&title=" .. mw.uri.encode(coordinateSpec["name"]) end local geodmshtml = '<span class="geo-dms" title="Χάρτες, αεροφωτογραφίες, και άλλα δεδομένα για αυτή την τοποθεσία">' .. '<span class="latitude">' .. coordinateSpec["dms-lat"] .. '</span> ' .. '<span class="longitude">' ..coordinateSpec["dms-long"] .. '</span>' .. '</span>' local lat = tonumber( coordinateSpec["dec-lat"] ) or 0 if lat < 0 then -- FIXME this breaks the pre-existing precision geodeclat = coordinateSpec["dec-lat"]:sub(2) .. "°S" else geodeclat = (coordinateSpec["dec-lat"] or 0) .. "°N" end local long = tonumber( coordinateSpec["dec-long"] ) or 0 if long < 0 then -- FIXME does not handle unicode minus geodeclong = coordinateSpec["dec-long"]:sub(2) .. "°W" else geodeclong = (coordinateSpec["dec-long"] or 0) .. "°E" end local geodechtml = '<span class="geo-dec" title="Χάρτες, αεροφωτογραφίες, και άλλα δεδομένα για αυτή την τοποθεσία">' .. geodeclat .. ' ' .. geodeclong .. '</span>' local geonumhtml = '<span class="geo">' .. coordinateSpec["dec-lat"] .. '; ' .. coordinateSpec["dec-long"] .. '</span>' local inner; inner = '<span class="' .. displayDefault(coordinateSpec["default"], "dms" ) .. '">' .. geodmshtml .. '</span>' .. '<span class="geo-multi-punct">&#xfeff; / &#xfeff;</span>' .. '<span class="' .. displayDefault(coordinateSpec["default"], "dec" ) .. '">'; if args["name"] == "" or args["name"] == nil then inner = inner .. geodechtml .. '<span style="display:none">&#xfeff; / ' .. geonumhtml .. '</span></span>' else inner = inner .. '<span class="vcard">' .. geodechtml .. '<span style="display:none">&#xfeff; / ' .. geonumhtml .. '</span>' .. '<span style="display:none">&#xfeff; (<span class="fn org">' .. args["name"] .. '</span>)</span></span></span>' end return '<span class="plainlinks nourlexpansion">' .. globalFrame:preprocess( '[//tools.wmflabs.org/geohack/geohack.php?pagename={{FULLPAGENAMEE}}&language=el&params=' .. uriComponents .. ' ' .. inner .. ']') .. '</span>' end --[[ Formats any error messages generated for display ]] function errorPrinter(errors) local result = "" for i,v in ipairs(errors) do local errorHTML = '<strong class="error">Συντεταγμένες: ' .. v[2] .. '</strong>' result = result .. errorHTML .. "<br />" end return result end --[[ Determine the required CSS class to display coordinates Usually geo-nondefault is hidden by CSS, unless a user has overridden this for himself default is the mode as specificied by the user when calling the {{coord}} template mode is the display mode (dec or dms) that we will need to determine the css class for ]] function displayDefault(default, mode) if default == "" then default = "dec" end if default == mode then return "geo-default" else return "geo-nondefault" end end --[[ Check the input arguments for coord to determine the kind of data being provided and then make the necessary processing. ]] function formatTest(args) local result, errors; local primary = false; if args[1] == "" then -- no lat logic return errorPrinter( {{"formatTest", "Λείπει το πλάτος"}} ) elseif args[4] == "" and args[5] == "" and args[6] == "" then -- dec logic result, errors = parseDec( args[1], args[2], args['format'] ) if result == nil then return errorPrinter( errors ); end result.param = table.concat( {args[1], "_N_", args[2], "_E_", args[3] } ); elseif dmsTest(args[4], args[8]) then -- dms logic result, errors = parseDMS( args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args['format'] ) result.param = table.concat( { args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9] } , '_' ); if args[10] ~= '' then table.insert( errors, { 'formatTest', 'Μη αναμενόμενοι παράμετροι (10)' .. args[10] } ); end elseif dmsTest(args[3], args[6]) then -- dm logic result, errors = parseDMS( args[1], args[2], nil, args[3], args[4], args[5], nil, args[6], args['format'] ) result.param = table.concat( { args[1], args[2], args[3], args[4], args[5], args[6], args[7] } , '_' ); if args[8] ~= '' then table.insert( errors, { 'formatTest', 'Μη αναμενόμενοι παράμετροι (8)' .. args[8] } ); end elseif dmsTest(args[2], args[4]) then -- d logic result, errors = parseDMS( args[1], nil, nil, args[2], args[3], nil, nil, args[4], args['format'] ) result.param = table.concat( { args[1], args[2], args[3], args[4], args[5] } , '_' ); if args[6] ~= '' then table.insert( errors, { 'formatTest', 'Μη αναμενόμενοι παράμετροι (6)' .. args[6] } ); end else -- Error return errorPrinter( {{"formatTest", "Άγνωστη μορφή παραμέτρου"}} ) end result.name = args["name"] local extra_param = {'dim', 'globe', 'scale', 'region', 'source', 'type'} for _, v in ipairs( extra_param ) do if (args[v] or '') ~= '' then table.insert( errors, {'formatTest', 'Η παράμετρος: "' .. v .. '=" θα έπρεπε να είναι "' .. v .. ':"' } ); end end if #errors == 0 then return specPrinter( args, result ) else return specPrinter( args, result ) .. " " .. errorPrinter(errors) .. '[[Category:Σελίδες με εσφαλμένες ετικέτες συντεταγμένων]]'; end end --[[ Helper function, convert decimal latitude or longitude to degrees, minutes, and seconds format based on the specified precision. ]] function convert_dec2dms(coordinate, firstPostfix, secondPostfix, precision) local coord = tonumber(coordinate) or 0 local postfix if coord >= 0 then postfix = firstPostfix else postfix = secondPostfix end precision = precision:lower(); if precision == "dms" then return convert_dec2dms_dms( math.abs( coord ) ) .. postfix; elseif precision == "dm" then return convert_dec2dms_dm( math.abs( coord ) ) .. postfix; elseif precision == "d" then return convert_dec2dms_d( math.abs( coord ) ) .. postfix; end end --[[ Helper function, convert decimal to degrees ]] function convert_dec2dms_d(coordinate) local d = math_mod._round( coordinate, 0 ) .. "°" return d .. "" end --[[ Helper function, convert decimal to degrees and minutes ]] function convert_dec2dms_dm(coordinate) coordinate = math_mod._round( coordinate * 60, 0 ); local m = coordinate % 60; coordinate = math.floor( (coordinate - m) / 60 ); local d = coordinate % 360 .."°" return d .. string.format( "%02d′", m ) end --[[ Helper function, convert decimal to degrees, minutes, and seconds ]] function convert_dec2dms_dms(coordinate) coordinate = math_mod._round( coordinate * 60 * 60, 0 ); local s = coordinate % 60 coordinate = math.floor( (coordinate - s) / 60 ); local m = coordinate % 60 coordinate = math.floor( (coordinate - m) / 60 ); local d = coordinate % 360 .."°" return d .. string.format( "%02d′", m ) .. string.format( "%02d″", s ) end --[[ Convert DMS format into a N or E decimal coordinate ]] function convert_dms2dec(direction, degrees_str, minutes_str, seconds_str) local degrees = tonumber(degrees_str) or 0 local minutes = tonumber(minutes_str) or 0 local seconds = tonumber(seconds_str) or 0 local factor if direction == "N" or direction == "E" then factor = 1 else factor = -1 end local precision = 0 if seconds_str ~= nil and seconds_str ~= '' then precision = 5 + math.max( math_mod._precision(seconds_str), 0 ); elseif minutes_str ~= nil and minutes_str ~= '' then precision = 3 + math.max( math_mod._precision(minutes_str), 0 ); else precision = math.max( math_mod._precision(degrees_str), 0 ); end local decimal = factor * (degrees+(minutes+seconds/60)/60) return string.format( "%." .. precision .. "f", decimal ) -- not tonumber since this whole thing is string based. end --[[ Checks input values to for out of range errors. ]] function validate( lat_d, lat_m, lat_s, long_d, long_m, long_s, source, strong ) local errors = {}; lat_d = tonumber( lat_d ) or 0; lat_m = tonumber( lat_m ) or 0; lat_s = tonumber( lat_s ) or 0; long_d = tonumber( long_d ) or 0; long_m = tonumber( long_m ) or 0; long_s = tonumber( long_s ) or 0; if strong then if lat_d < 0 then table.insert(errors, {source, "latitude degrees < 0 with hemisphere flag"}) end if long_d < 0 then table.insert(errors, {source, "longitude degrees < 0 with hemisphere flag"}) end --[[ #coordinates is inconsistent about whether this is an error. If globe: is specified, it won't error on this condition, but otherwise it will. For not simply disable this check. if long_d > 180 then table.insert(errors, {source, "longitude degrees > 180 with hemisphere flag"}) end ]] end if lat_d > 90 then table.insert(errors, {source, "μοίρες πλάτους > 90"}) end if lat_d < -90 then table.insert(errors, {source, "μοίρες πλάτους < -90"}) end if lat_m >= 60 then table.insert(errors, {source, "λεπτά πλάτους >= 60"}) end if lat_m < 0 then table.insert(errors, {source, "λεπτά πλάτους < 0"}) end if lat_s >= 60 then table.insert(errors, {source, "δευτερόλεπτα πλάτους >= 60"}) end if lat_s < 0 then table.insert(errors, {source, "δευτερόλεπτα πλάτους < 0"}) end if long_d >= 360 then table.insert(errors, {source, "μοίρες μήκους >= 360"}) end if long_d <= -360 then table.insert(errors, {source, "μοίρες μήκους <= -360"}) end if long_m >= 60 then table.insert(errors, {source, "λεπτά μήκους >= 60"}) end if long_m < 0 then table.insert(errors, {source, "λεπτά μήκους < 0"}) end if long_s >= 60 then table.insert(errors, {source, "δευτερόλεπτα μήκους >= 60"}) end if long_s < 0 then table.insert(errors, {source, "δευτερόλεπτα μήκους < 0"}) end return errors; end --[[ dec2dms Wrapper to allow templates to call dec2dms directly. Usage: {{ Invoke:Coordinates | dec2dms | decimal_coordinate | positive_suffix | negative_suffix | precision }} decimal_coordinate is converted to DMS format. If positive, the positive_suffix is appended (typical N or E), if negative, the negative suffix is appended. The specified precision is one of 'D', 'DM', or 'DMS' to specify the level of detail to use. ]] function coordinates.dec2dms(frame) globalFrame = frame local coordinate = frame.args[1] local firstPostfix = frame.args[2] local secondPostfix = frame.args[3] local precision = frame.args[4] return convert_dec2dms(coordinate, firstPostfix, secondPostfix, precision) end --[[ Helper function to determine whether to use D, DM, or DMS format depending on the precision of the decimal input. ]] function coordinates.determineMode( value1, value2 ) local precision = math.max( math_mod._precision( value1 ), math_mod._precision( value2 ) ); if precision <= 0 then return 'd' elseif precision <= 2 then return 'dm'; else return 'dms'; end end --[[ dms2dec Wrapper to allow templates to call dms2dec directly. Usage: {{ Invoke:Coordinates | dms2dec | direction_flag | degrees | minutes | seconds }} Converts DMS values specified as degrees, minutes, seconds too decimal format. direction_flag is one of N, S, E, W, and determines whether the output is positive (i.e. N and E) or negative (i.e. S and W). ]] function coordinates.dms2dec(frame) globalFrame = frame local direction = frame.args[1] local degrees = frame.args[2] local minutes = frame.args[3] local seconds = frame.args[4] return convert_dms2dec(direction, degrees, minutes, seconds) end --[[ coord Main entry point for Lua function to replace {{coord}} Usage: {{ Invoke:Coordinates | coord }} {{ Invoke:Coordinates | coord | lat | long }} {{ Invoke:Coordinates | coord | lat | lat_flag | long | long_flag }} ... Refer to {{coord}} documentation page for many additional parameters and configuration options. Note: This function provides the visual display elements of {{coord}}. In order to load coordinates into the database, the {{#coordinates:}} parser function must also be called, this is done automatically in the Lua version of {{coord}}. ]] function coordinates.coord(frame) globalFrame = frame local args = frame.args if args[1] == nil then local pFrame = frame:getParent(); args = pFrame.args; for k,v in pairs( frame.args ) do args[k] = v; end end for i=1,10 do if args[i] == nil then args[i] = "" else args[i] = args[i]:match( '^%s*(.-)%s*$' ); --remove whitespace end end args['format'] = args['format'] or ''; local contents = formatTest(args) local Notes = args.notes or "" local Display = string.lower(args.display or "inline") if Display == '' then Display = 'inline'; end local text = '' if string.find( Display, 'inline' ) ~= nil or Display == 'i' or Display == 'it' or Display == 'ti' then text = displayinline(contents, Notes) end if string.find( Display, 'title' ) ~= nil or Display == 't' or Display == 'it' or Display == 'ti' then text = text .. displaytitle(contents, Notes) end return text end --[[ coordinsert Injects some text into the Geohack link of a transclusion of {{Coord}} (if that text isn't already in the transclusion). Outputs the modified transclusion of {{Coord}}. IF THE GEOHACK LINK SYNTAX CHANGES THIS FUNCTION MUST BE MODIFIED. Usage: {{#invoke:Coordinates | coordinsert | {{Coord}} | parameter:value | parameter:value | … }} Do not make Geohack unhappy by inserting something which isn't mentioned in the {{Coord}} documentation. ]] function coordinates.coordinsert(frame) for i, v in ipairs(frame.args) do if i ~= 1 then if not mw.ustring.find(frame.args[1], (mw.ustring.match(frame.args[i], '^(.-:)') or '')) then frame.args[1] = mw.ustring.gsub(frame.args[1], '(params=.-)_? ', '%1_'..frame.args[i]..' ') end end end return frame.args[1] end return coordinates q9pjp6f2e1cusw3hcbzqvfwspsz3lpd Module:Coordinates/2025 828 3265 36443 2025-12-15T16:22:39Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--[[ This module is intended to replace the functionality of {{Coord}} and related templates. It provides several methods, including {{#invoke:Coordinates | coord }} : General function formatting and displaying coordinate values. {{#invoke:Coordinates | dec2dms }} : Simple function for converting decimal degree values to DMS format. {{#invoke:Coordinates | dms2dec }} : Simple function for converting DMS format to decimal degree format. {{#invo...' 36443 Scribunto text/plain --[[ This module is intended to replace the functionality of {{Coord}} and related templates. It provides several methods, including {{#invoke:Coordinates | coord }} : General function formatting and displaying coordinate values. {{#invoke:Coordinates | dec2dms }} : Simple function for converting decimal degree values to DMS format. {{#invoke:Coordinates | dms2dec }} : Simple function for converting DMS format to decimal degree format. {{#invoke:Coordinates | link }} : Export the link used to reach the tools ]] require('strict') local math_mod = require("Module:Math") local coordinates = {}; local isSandbox = mw.getCurrentFrame():getTitle():find('sandbox', 1, true); local current_page = mw.title.getCurrentTitle() local page_name = mw.uri.encode( current_page.prefixedText, 'WIKI' ); local coord_link = 'https://geohack.toolforge.org/geohack.php?pagename=' .. page_name .. '&params=' --[[ Helper function, replacement for {{coord/display/title}} ]] local function displaytitle(coords) return mw.getCurrentFrame():extensionTag{ name = 'indicator', args = { name = 'coordinates' }, content = '<span id="coordinates">[[Geographic coordinate system|Coordinates]]: ' .. coords .. '</span>' } end --[[ Helper function, used in detecting DMS formatting ]] local function dmsTest(first, second) if type(first) ~= 'string' or type(second) ~= 'string' then return nil end local s = (first .. second):upper() return s:find('^[NS][EW]$') or s:find('^[EW][NS]$') end --[[ Wrapper function to grab args, see Module:Arguments for this function's documentation. ]] local function makeInvokeFunc(funcName) return function (frame) local args = require('Module:Arguments').getArgs(frame, { wrappers = 'Template:Coord/2025' }) return coordinates[funcName](args, frame) end end --[[ Helper function, handle optional args. ]] local function optionalArg(arg, supplement) return arg and arg .. supplement or '' end --[[ Formats any error messages generated for display ]] local function errorPrinter(errors) local result = "" for i,v in ipairs(errors) do result = result .. '<strong class="error">Coordinates: ' .. v[2] .. '</strong><br />' end return result end --[[ Determine the required CSS class to display coordinates Usually geo-nondefault is hidden by CSS, unless a user has overridden this for himself default is the mode as specificied by the user when calling the {{coord}} template mode is the display mode (dec or dms) that we will need to determine the css class for ]] local function displayDefault(default, mode) if default == "" then default = "dec" end if default == mode then return "geo-default" else return "geo-nondefault" end end --[[ specPrinter Output formatter. Takes the structure generated by either parseDec or parseDMS and formats it for inclusion on Wikipedia. ]] local function specPrinter(args, coordinateSpec) local uriComponents = coordinateSpec["param"] if uriComponents == "" then -- RETURN error, should never be empty or nil return "ERROR param was empty" end if args["name"] then uriComponents = uriComponents .. "&title=" .. mw.uri.encode(coordinateSpec["name"]) end local geodmshtml = '<span class="geo-dms" title="Maps, aerial photos, and other data for this location">' .. '<span class="latitude">' .. coordinateSpec["dms-lat"] .. '</span> ' .. '<span class="longitude">' ..coordinateSpec["dms-long"] .. '</span>' .. '</span>' local lat = tonumber( coordinateSpec["dec-lat"] ) or 0 local geodeclat if lat < 0 then -- FIXME this breaks the pre-existing precision geodeclat = tostring(coordinateSpec["dec-lat"]):sub(2) .. "°S" else geodeclat = (coordinateSpec["dec-lat"] or 0) .. "°N" end local long = tonumber( coordinateSpec["dec-long"] ) or 0 local geodeclong if long < 0 then -- FIXME does not handle unicode minus geodeclong = tostring(coordinateSpec["dec-long"]):sub(2) .. "°W" else geodeclong = (coordinateSpec["dec-long"] or 0) .. "°E" end local geodechtml = '<span class="geo-dec" title="Maps, aerial photos, and other data for this location">' .. geodeclat .. ' ' .. geodeclong .. '</span>' local geonumhtml = '<span class="geo">' .. coordinateSpec["dec-lat"] .. '; ' .. coordinateSpec["dec-long"] .. '</span>' local inner = '<span class="' .. displayDefault(coordinateSpec["default"], "dms" ) .. '">' .. geodmshtml .. '</span>' .. '<span class="geo-multi-punct">&#xfeff; / &#xfeff;</span>' .. '<span class="' .. displayDefault(coordinateSpec["default"], "dec" ) .. '">'; if not args["name"] then inner = inner .. geodechtml .. '<span style="display:none">&#xfeff; / ' .. geonumhtml .. '</span></span>' else inner = inner .. '<span class="vcard">' .. geodechtml .. '<span style="display:none">&#xfeff; / ' .. geonumhtml .. '</span>' .. '<span style="display:none">&#xfeff; (<span class="fn org">' .. args["name"] .. '</span>)</span></span></span>' end local stylesheetLink = 'Module:Coordinates' .. ( isSandbox and '/sandbox' or '' ) .. '/styles.css' return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = stylesheetLink } } .. '<span class="plainlinks nourlexpansion">[' .. coord_link .. uriComponents .. ' ' .. inner .. ']</span>' .. '[[Category:Pages using gadget WikiMiniAtlas]]' end --[[ Helper function, convert decimal to degrees ]] local function convert_dec2dms_d(coordinate) local d = math_mod._round( coordinate, 0 ) .. "°" return d .. "" end --[[ Helper function, convert decimal to degrees and minutes ]] local function convert_dec2dms_dm(coordinate) coordinate = math_mod._round( coordinate * 60, 0 ); local m = coordinate % 60; coordinate = math.floor( (coordinate - m) / 60 ); local d = coordinate % 360 .."°" return d .. string.format( "%02d′", m ) end --[[ Helper function, convert decimal to degrees, minutes, and seconds ]] local function convert_dec2dms_dms(coordinate) coordinate = math_mod._round( coordinate * 60 * 60, 0 ); local s = coordinate % 60 coordinate = math.floor( (coordinate - s) / 60 ); local m = coordinate % 60 coordinate = math.floor( (coordinate - m) / 60 ); local d = coordinate % 360 .."°" return d .. string.format( "%02d′", m ) .. string.format( "%02d″", s ) end --[[ Helper function, convert decimal latitude or longitude to degrees, minutes, and seconds format based on the specified precision. ]] local function convert_dec2dms(coordinate, firstPostfix, secondPostfix, precision) local coord = tonumber(coordinate) local postfix if coord >= 0 then postfix = firstPostfix else postfix = secondPostfix end precision = precision:lower(); if precision == "dms" then return convert_dec2dms_dms( math.abs( coord ) ) .. postfix; elseif precision == "dm" then return convert_dec2dms_dm( math.abs( coord ) ) .. postfix; elseif precision == "d" then return convert_dec2dms_d( math.abs( coord ) ) .. postfix; end end --[[ Convert DMS format into a N or E decimal coordinate ]] local function convert_dms2dec(direction, degrees_str, minutes_str, seconds_str) local degrees = tonumber(degrees_str) local minutes = tonumber(minutes_str) or 0 local seconds = tonumber(seconds_str) or 0 local factor = 1 if direction == "S" or direction == "W" then factor = -1 end local precision = 0 if seconds_str then precision = 5 + math.max( math_mod._precision(seconds_str), 0 ); elseif minutes_str and minutes_str ~= '' then precision = 3 + math.max( math_mod._precision(minutes_str), 0 ); else precision = math.max( math_mod._precision(degrees_str), 0 ); end local decimal = factor * (degrees+(minutes+seconds/60)/60) return string.format( "%." .. precision .. "f", decimal ) -- not tonumber since this whole thing is string based. end --[[ Checks input values to for out of range errors. ]] local function validate( lat_d, lat_m, lat_s, long_d, long_m, long_s, source, strong ) local errors = {}; lat_d = tonumber( lat_d ) or 0; lat_m = tonumber( lat_m ) or 0; lat_s = tonumber( lat_s ) or 0; long_d = tonumber( long_d ) or 0; long_m = tonumber( long_m ) or 0; long_s = tonumber( long_s ) or 0; if strong then if lat_d < 0 then table.insert(errors, {source, "latitude degrees < 0 with hemisphere flag"}) end if long_d < 0 then table.insert(errors, {source, "longitude degrees < 0 with hemisphere flag"}) end --[[ #coordinates is inconsistent about whether this is an error. If globe: is specified, it won't error on this condition, but otherwise it will. For not simply disable this check. if long_d > 180 then table.insert(errors, {source, "longitude degrees > 180 with hemisphere flag"}) end ]] end if lat_d > 90 then table.insert(errors, {source, "latitude degrees > 90"}) end if lat_d < -90 then table.insert(errors, {source, "latitude degrees < -90"}) end if lat_m >= 60 then table.insert(errors, {source, "latitude minutes >= 60"}) end if lat_m < 0 then table.insert(errors, {source, "latitude minutes < 0"}) end if lat_s >= 60 then table.insert(errors, {source, "latitude seconds >= 60"}) end if lat_s < 0 then table.insert(errors, {source, "latitude seconds < 0"}) end if long_d >= 360 then table.insert(errors, {source, "longitude degrees >= 360"}) end if long_d <= -360 then table.insert(errors, {source, "longitude degrees <= -360"}) end if long_m >= 60 then table.insert(errors, {source, "longitude minutes >= 60"}) end if long_m < 0 then table.insert(errors, {source, "longitude minutes < 0"}) end if long_s >= 60 then table.insert(errors, {source, "longitude seconds >= 60"}) end if long_s < 0 then table.insert(errors, {source, "longitude seconds < 0"}) end return errors; end --[[ parseDec Transforms decimal format latitude and longitude into the structure to be used in displaying coordinates ]] local function parseDec( lat, long, format ) local coordinateSpec = {} local errors = {} if not long then return nil, {{"parseDec", "Missing longitude"}} elseif not tonumber(long) then return nil, {{"parseDec", "Longitude could not be parsed as a number: " .. long}} end errors = validate( lat, nil, nil, long, nil, nil, 'parseDec', false ); coordinateSpec["dec-lat"] = lat; coordinateSpec["dec-long"] = long; local mode = coordinates.determineMode( lat, long ); coordinateSpec["dms-lat"] = convert_dec2dms( lat, "N", "S", mode) -- {{coord/dec2dms|{{{1}}}|N|S|{{coord/prec dec|{{{1}}}|{{{2}}}}}}} coordinateSpec["dms-long"] = convert_dec2dms( long, "E", "W", mode) -- {{coord/dec2dms|{{{2}}}|E|W|{{coord/prec dec|{{{1}}}|{{{2}}}}}}} if format then coordinateSpec.default = format else coordinateSpec.default = "dec" end return coordinateSpec, errors end --[[ parseDMS Transforms degrees, minutes, seconds format latitude and longitude into the a structure to be used in displaying coordinates ]] local function parseDMS( lat_d, lat_m, lat_s, lat_f, long_d, long_m, long_s, long_f, format ) local coordinateSpec, errors, backward = {}, {} lat_f = lat_f:upper(); long_f = long_f:upper(); -- Check if specified backward if lat_f == 'E' or lat_f == 'W' then lat_d, long_d, lat_m, long_m, lat_s, long_s, lat_f, long_f, backward = long_d, lat_d, long_m, lat_m, long_s, lat_s, long_f, lat_f, true; end errors = validate( lat_d, lat_m, lat_s, long_d, long_m, long_s, 'parseDMS', true ); if not long_d then return nil, {{"parseDMS", "Missing longitude" }} elseif not tonumber(long_d) then return nil, {{"parseDMS", "Longitude could not be parsed as a number:" .. long_d }} end if not lat_m and not lat_s and not long_m and not long_s and #errors == 0 then if math_mod._precision( lat_d ) > 0 or math_mod._precision( long_d ) > 0 then if lat_f:upper() == 'S' then lat_d = '-' .. lat_d; end if long_f:upper() == 'W' then long_d = '-' .. long_d; end return parseDec( lat_d, long_d, format ); end end coordinateSpec["dms-lat"] = lat_d.."°"..optionalArg(lat_m,"′") .. optionalArg(lat_s,"″") .. lat_f coordinateSpec["dms-long"] = long_d.."°"..optionalArg(long_m,"′") .. optionalArg(long_s,"″") .. long_f coordinateSpec["dec-lat"] = convert_dms2dec(lat_f, lat_d, lat_m, lat_s) -- {{coord/dms2dec|{{{4}}}|{{{1}}}|0{{{2}}}|0{{{3}}}}} coordinateSpec["dec-long"] = convert_dms2dec(long_f, long_d, long_m, long_s) -- {{coord/dms2dec|{{{8}}}|{{{5}}}|0{{{6}}}|0{{{7}}}}} if format then coordinateSpec.default = format else coordinateSpec.default = "dms" end return coordinateSpec, errors, backward end --[[ Check the input arguments for coord to determine the kind of data being provided and then make the necessary processing. ]] local function formatTest(args) local result, errors local backward, primary = false, false local function getParam(args, lim) local ret = {} for i = 1, lim do ret[i] = args[i] or '' end return table.concat(ret, '_') end if not args[1] then -- no lat logic return errorPrinter( {{"formatTest", "Missing latitude"}} ) elseif not tonumber(args[1]) then -- bad lat logic return errorPrinter( {{"formatTest", "Unable to parse latitude as a number:" .. args[1]}} ) elseif not args[4] and not args[5] and not args[6] then -- dec logic result, errors = parseDec(args[1], args[2], args.format) if not result then return errorPrinter(errors); end -- formatting for geohack: geohack expects D_N_D_E notation or D;D notation -- wikiminiatlas doesn't support D;D notation -- #coordinates parserfunction doesn't support negative decimals with NSWE result.param = table.concat({ math.abs(tonumber(args[1])), ((tonumber(args[1]) or 0) < 0) and 'S' or 'N', math.abs(tonumber(args[2])), ((tonumber(args[2]) or 0) < 0) and 'W' or 'E', args[3] or ''}, '_') elseif dmsTest(args[4], args[8]) then -- dms logic result, errors, backward = parseDMS(args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args.format) if args[10] then table.insert(errors, {'formatTest', 'Extra unexpected parameters'}) end if not result then return errorPrinter(errors) end result.param = getParam(args, 9) elseif dmsTest(args[3], args[6]) then -- dm logic result, errors, backward = parseDMS(args[1], args[2], nil, args[3], args[4], args[5], nil, args[6], args['format']) if args[8] then table.insert(errors, {'formatTest', 'Extra unexpected parameters'}) end if not result then return errorPrinter(errors) end result.param = getParam(args, 7) elseif dmsTest(args[2], args[4]) then -- d logic result, errors, backward = parseDMS(args[1], nil, nil, args[2], args[3], nil, nil, args[4], args.format) if args[6] then table.insert(errors, {'formatTest', 'Extra unexpected parameters'}) end if not result then return errorPrinter(errors) end result.param = getParam(args, 5) else -- Error return errorPrinter({{"formatTest", "Unknown argument format"}}) .. '[[Category:Pages with malformed coordinate tags]]' end result.name = args.name local extra_param = {'dim', 'globe', 'scale', 'region', 'source', 'type'} for _, v in ipairs(extra_param) do if args[v] then table.insert(errors, {'formatTest', 'Parameter: "' .. v .. '=" should be "' .. v .. ':"' }) end end local ret = specPrinter(args, result) if #errors > 0 then ret = ret .. ' ' .. errorPrinter(errors) .. '[[Category:Pages with malformed coordinate tags]]' end return ret, backward end --[[ Generate Wikidata tracking categories. ]] local function makeWikidataCategories(qid) local ret local qid = qid or mw.wikibase.getEntityIdForCurrentPage() if mw.wikibase and current_page.namespace == 0 then if qid and mw.wikibase.entityExists(qid) and mw.wikibase.getBestStatements(qid, "P625") and mw.wikibase.getBestStatements(qid, "P625")[1] then local snaktype = mw.wikibase.getBestStatements(qid, "P625")[1].mainsnak.snaktype if snaktype == 'value' then -- coordinates exist both here and on Wikidata, and can be compared. ret = 'Coordinates on Wikidata' elseif snaktype == 'somevalue' then ret = 'Coordinates on Wikidata set to unknown value' elseif snaktype == 'novalue' then ret = 'Coordinates on Wikidata set to no value' end else -- We have to either import the coordinates to Wikidata or remove them here. ret = 'Coordinates not on Wikidata' end end if ret then return string.format('[[Category:%s]]', ret) else return '' end end --[[ link Simple function to export the coordinates link for other uses. Usage: {{#invoke:Coordinates | link }} ]] function coordinates.link(frame) return coord_link; end --[[ dec2dms Wrapper to allow templates to call dec2dms directly. Usage: {{#invoke:Coordinates | dec2dms | decimal_coordinate | positive_suffix | negative_suffix | precision }} decimal_coordinate is converted to DMS format. If positive, the positive_suffix is appended (typical N or E), if negative, the negative suffix is appended. The specified precision is one of 'D', 'DM', or 'DMS' to specify the level of detail to use. ]] coordinates.dec2dms = makeInvokeFunc('_dec2dms') function coordinates._dec2dms(args) local coordinate = args[1] local firstPostfix = args[2] or '' local secondPostfix = args[3] or '' local precision = args[4] or '' return convert_dec2dms(coordinate, firstPostfix, secondPostfix, precision) end --[[ Helper function to determine whether to use D, DM, or DMS format depending on the precision of the decimal input. ]] function coordinates.determineMode( value1, value2 ) local precision = math.max( math_mod._precision( value1 ), math_mod._precision( value2 ) ); if precision <= 0 then return 'd' elseif precision <= 2 then return 'dm'; else return 'dms'; end end --[[ dms2dec Wrapper to allow templates to call dms2dec directly. Usage: {{#invoke:Coordinates | dms2dec | direction_flag | degrees | minutes | seconds }} Converts DMS values specified as degrees, minutes, seconds too decimal format. direction_flag is one of N, S, E, W, and determines whether the output is positive (i.e. N and E) or negative (i.e. S and W). ]] coordinates.dms2dec = makeInvokeFunc('_dms2dec') function coordinates._dms2dec(args) local direction = args[1] local degrees = args[2] local minutes = args[3] local seconds = args[4] return convert_dms2dec(direction, degrees, minutes, seconds) end --[[ coord Main entry point for Lua function to replace {{coord}} Usage: {{#invoke:Coordinates | coord }} {{#invoke:Coordinates | coord | lat | long }} {{#invoke:Coordinates | coord | lat | lat_flag | long | long_flag }} ... Refer to {{coord}} documentation page for many additional parameters and configuration options. Note: This function provides the visual display elements of {{coord}}. In order to load coordinates into the database, the {{#coordinates:}} parser function must also be called, this is done automatically in the Lua version of {{coord}}. ]] coordinates.coord = makeInvokeFunc('_coord') function coordinates._coord(args) if not tonumber(args[1]) and not args[2] then args[3] = args[1]; args[1] = nil local entity = mw.wikibase.getEntityObject(args.qid) if entity and entity.claims and entity.claims.P625 and entity.claims.P625[1].mainsnak.snaktype == 'value' then local precision = entity.claims.P625[1].mainsnak.datavalue.value.precision args[1] = entity.claims.P625[1].mainsnak.datavalue.value.latitude args[2] = entity.claims.P625[1].mainsnak.datavalue.value.longitude if precision then precision = -math_mod._round(math.log(precision)/math.log(10),0) args[1] = math_mod._round(args[1],precision) args[2] = math_mod._round(args[2],precision) end end end local contents, backward = formatTest(args) local Notes = args.notes or '' local Display = args.display and args.display:lower() or 'inline' -- it and ti are short for inline,title and title,inline local function isInline(s) -- Finds whether coordinates are displayed inline. return s:find('inline') ~= nil or s == 'i' or s == 'it' or s == 'ti' end local function isInTitle(s) -- Finds whether coordinates are displayed in the title. return s:find('title') ~= nil or s == 't' or s == 'it' or s == 'ti' end local function coord_wrapper(in_args) -- Calls the parser function {{#coordinates:}}. return mw.getCurrentFrame():callParserFunction('#coordinates', in_args) or '' end local text = '' if isInline(Display) then text = text .. '<span class="geo-inline">' .. contents .. Notes .. '</span>' end if isInTitle(Display) then -- Add to output since indicator content is invisible to Lua later on if not isInline(Display) then text = text .. '<span class="geo-inline-hidden noexcerpt">' .. contents .. Notes .. '</span>' end text = text .. displaytitle(contents .. Notes) .. makeWikidataCategories(args.qid) end if not args.nosave then local page_title, count = mw.title.getCurrentTitle(), 1 if backward then local tmp = {} while not string.find((args[count-1] or ''), '[EW]') do tmp[count] = (args[count] or ''); count = count+1 end tmp.count = count; count = 2*(count-1) while count >= tmp.count do table.insert(tmp, 1, (args[count] or '')); count = count-1 end for i, v in ipairs(tmp) do args[i] = v end else while count <= 9 do args[count] = (args[count] or ''); count = count+1 end end if isInTitle(Display) and not page_title.isTalkPage and page_title.subpageText ~= 'doc' and page_title.subpageText ~= 'testcases' then args[10] = 'primary' end args.notes, args.format, args.display = nil text = text .. coord_wrapper(args) end return text end --[[ coord2text Extracts a single value from a transclusion of {{Coord}}. IF THE GEOHACK LINK SYNTAX CHANGES THIS FUNCTION MUST BE MODIFIED. Usage: {{#invoke:Coordinates | coord2text | {{Coord}} | parameter }} Valid values for the second parameter are: lat (signed integer), long (signed integer), type, scale, dim, region, globe, source ]] function coordinates._coord2text(coord,type) if coord == '' or type == '' or not type then return nil end type = mw.text.trim(type) if type == 'lat' or type == 'long' then local result, negative = mw.text.split((mw.ustring.match(coord,'[%.%d]+°[NS] [%.%d]+°[EW]') or ''), ' ') if type == 'lat' then result, negative = result[1], 'S' else result, negative = result[2], 'W' end result = mw.text.split(result, '°') if result[2] == negative then result[1] = '-'..result[1] end return result[1] else return mw.ustring.match(coord, 'params=.-_' .. type .. ':(.-)[ _]') end end function coordinates.coord2text(frame) return coordinates._coord2text(frame.args[1],frame.args[2]) end --[[ coordinsert Injects some text into the Geohack link of a transclusion of {{Coord}} (if that text isn't already in the transclusion). Outputs the modified transclusion of {{Coord}}. IF THE GEOHACK LINK SYNTAX CHANGES THIS FUNCTION MUST BE MODIFIED. Usage: {{#invoke:Coordinates | coordinsert | {{Coord}} | parameter:value | parameter:value | … }} Do not make Geohack unhappy by inserting something which isn't mentioned in the {{Coord}} documentation. ]] function coordinates.coordinsert(frame) -- for the 2nd or later integer parameter (the first is the coord template, as above) for i, v in ipairs(frame.args) do if i ~= 1 then -- if we cannot find in the coord_template the i_th coordinsert parameter e.g. region if not mw.ustring.find(frame.args[1], (mw.ustring.match(frame.args[i], '^(.-:)') or '')) then -- find from the params= up to the first possibly-present underscore -- and append the i_th coordinsert parameter and a space -- IDK why we're adding a space but it does seem somewhat convenient frame.args[1] = mw.ustring.gsub(frame.args[1], '(params=.-)_? ', '%1_'..frame.args[i]..' ') end end end if frame.args.name then -- if we can't find the vcard class if not mw.ustring.find(frame.args[1], '<span class="vcard">') then -- take something that looks like a coord template and add the vcard span with class and fn org class local namestr = frame.args.name frame.args[1] = mw.ustring.gsub( frame.args[1], '(<span class="geo%-default">)(<span[^<>]*>[^<>]*</span><span[^<>]*>[^<>]*<span[^<>]*>[^<>]*</span></span>)(</span>)', '%1<span class="vcard">%2<span style="display:none">&#xfeff; (<span class="fn org">' .. namestr .. '</span>)</span></span>%3' ) -- then find anything from coordinates parameters to the 'end' and attach the title parameter frame.args[1] = mw.ustring.gsub( frame.args[1], '(&params=[^&"<>%[%] ]*) ', '%1&title=' .. mw.uri.encode(namestr) .. ' ' ) end end -- replace the existing indicator with a new indicator using the modified content frame.args[1] = mw.ustring.gsub( frame.args[1], '(<span class="geo%-inline[^"]*">(.+)</span>)\127[^\127]*UNIQ%-%-indicator%-%x+%-%-?QINU[^\127]*\127', function (inline, coord) return inline .. displaytitle(coord) end ) return frame.args[1] end return coordinates cdv03qx9rqg6nlnts9651zciopdw4qd Module:Coordinates/i18n 828 3266 36444 2025-12-15T16:23:30Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'return { N = { bn = 'উ', en = ' N', fr = 'N', pl = 'N', }, Nlong = { bn = 'উত্তর', en = 'North', fr = 'Nord', pl = 'Północ', }, W = { bn = 'প', de = 'W', en = 'W', fr = 'O', pl = 'W', }, Wlong = { bn = 'পশ্চিম', en = 'West', fr = 'Ouest', pl = 'Zachód', }, E = { bn = 'পূ', de = 'O', en = 'E', fr = 'E', pl = 'E', }, Elong = { bn = 'পূর্ব', en = 'East', fr = 'Est', pl = 'Wschód',...' 36444 Scribunto text/plain return { N = { bn = 'উ', en = ' N', fr = 'N', pl = 'N', }, Nlong = { bn = 'উত্তর', en = 'North', fr = 'Nord', pl = 'Północ', }, W = { bn = 'প', de = 'W', en = 'W', fr = 'O', pl = 'W', }, Wlong = { bn = 'পশ্চিম', en = 'West', fr = 'Ouest', pl = 'Zachód', }, E = { bn = 'পূ', de = 'O', en = 'E', fr = 'E', pl = 'E', }, Elong = { bn = 'পূর্ব', en = 'East', fr = 'Est', pl = 'Wschód', }, S = { bn = 'দ', de = 'S', en = 'S', fr = 'S', pl = 'S', }, Slong = { bn = 'দক্ষিণ', de = 'South', en = 'South', fr = 'Sud', pl = 'Południe', }, degrees = { bn = '° ', en = '° ', fr = '° ', pl = '° ', }, minutes = { bn = '\′ ', en = '\′ ', fr = '\′ ', pl = '\′ ', }, seconds = { bn = '″ ', en = '″ ', fr = '″ ', pl = '″ ', }, tooltip = { bn = 'এই স্থান সম্পর্কে মাস্তল, আকাশস্ত চিত্র এবং অন্যান্য উপাত্ত', en = 'Maps, aerial views and other data about this place', fr = 'Cartes, vues aériennes et autres données pour cet endroit', pl = 'Mapy, widoki z lotu ptaka i inne dane o tym miejscu', } } thylzu321bfndbzggadylc9szci3vem Module:Coordinates/styles.css 828 3267 36445 2025-12-15T16:24:18Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '/* Geographical coordinates defaults. The classes "geo", "longitude", and "latitude" are used by the [[Geo microformat]]. */ .geo-default, .geo-dms, .geo-dec { display: inline; } .geo-nondefault, .geo-multi-punct, .geo-inline-hidden { display: none; } .longitude, .latitude { white-space: nowrap; }' 36445 sanitized-css text/css /* Geographical coordinates defaults. The classes "geo", "longitude", and "latitude" are used by the [[Geo microformat]]. */ .geo-default, .geo-dms, .geo-dec { display: inline; } .geo-nondefault, .geo-multi-punct, .geo-inline-hidden { display: none; } .longitude, .latitude { white-space: nowrap; } 6kb1bv1kq6yo1ukxzqi15vrd26x01rl Module:Math functions 828 3268 36446 2025-12-15T16:25:18Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- misc math functions -- gts-tg@elwiki, Nov 2017 local p = {} -- calculate gcd local function _gcd(a,b) if b ~= 0 then return _gcd(b, a % b) else return math.abs(a) end end -- return gcd function p.gcd(frame) local a = frame.args[1] local b = frame.args[2] return _gcd(a,b) end -- return φ(n) function p.phi(frame) local n = frame.args[1] local amount = 0 for k=1, n + 1 do if _gcd(n, k) == 1 then amount =...' 36446 Scribunto text/plain -- misc math functions -- gts-tg@elwiki, Nov 2017 local p = {} -- calculate gcd local function _gcd(a,b) if b ~= 0 then return _gcd(b, a % b) else return math.abs(a) end end -- return gcd function p.gcd(frame) local a = frame.args[1] local b = frame.args[2] return _gcd(a,b) end -- return φ(n) function p.phi(frame) local n = frame.args[1] local amount = 0 for k=1, n + 1 do if _gcd(n, k) == 1 then amount = amount + 1 end end return amount-1 end return p bgxj1yi3cwe45qoefxstqzsc3dp3k0i Πρότυπον:Coord/input/error2 10 3269 36447 2025-12-15T16:26:21Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<font color="red"><b> {{{msg}}} in {{tl|Coord}}</b></font><includeonly>{{#ifeq:{{NAMESPACE}}|{{NS:0}}|[[Κατηγορίαν:Λήμματα με ενσωματωμένο πρότυπο Coord που χρειάζονται επισκευή|{{{sort_ch}}}{{PAGENAME}}]]}}</includeonly><noinclude>[[Κατηγορίαν:Coord template]]</noinclude>' 36447 wikitext text/x-wiki <font color="red"><b> {{{msg}}} in {{tl|Coord}}</b></font><includeonly>{{#ifeq:{{NAMESPACE}}|{{NS:0}}|[[Κατηγορίαν:Λήμματα με ενσωματωμένο πρότυπο Coord που χρειάζονται επισκευή|{{{sort_ch}}}{{PAGENAME}}]]}}</includeonly><noinclude>[[Κατηγορίαν:Coord template]]</noinclude> 43avd0gzt6unmdjyypqye3pg13u6kfi Πρότυπον:Coord/input/ERROR 10 3270 36448 2025-12-15T16:27:08Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<font color="red">ERROR in {{tl|coord}} invocation. Please see [[Template:Coord]] for usage. Arguments supplied as:</font> * <font color="red">1={{{1|}}}</font> * <font color="red">2={{{2|}}}</font> *<font color="red"> 3={{{3|}}}</font> * <font color="red">4={{{4|}}}</font> * <font color="red">5={{{5|}}}</font> * <font color="red">6={{{6|}}}</font> * <font color="red">7={{{7|}}}</font> * <font color="red">8={{{8|}}}</font> * <font color="red">9={...' 36448 wikitext text/x-wiki <font color="red">ERROR in {{tl|coord}} invocation. Please see [[Template:Coord]] for usage. Arguments supplied as:</font> * <font color="red">1={{{1|}}}</font> * <font color="red">2={{{2|}}}</font> *<font color="red"> 3={{{3|}}}</font> * <font color="red">4={{{4|}}}</font> * <font color="red">5={{{5|}}}</font> * <font color="red">6={{{6|}}}</font> * <font color="red">7={{{7|}}}</font> * <font color="red">8={{{8|}}}</font> * <font color="red">9={{{9|}}}</font> <noinclude>[[Κατηγορίαν:Coord template]]</noinclude> lclhqraftm3vjfg5rm7jlk0dwi6j8e9 Πρότυπον:Coord/input/d 10 3271 36451 2025-12-15T16:30:03Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{Coord/link|dms-lat={{coord/dec2dms|{{{1}}}|{{{2}}}|{{#ifeq:{{{2}}}|N|S|N}}|{{coord/prec dec|{{{1}}}|{{{3}}}}}}}|dms-long={{coord/dec2dms|{{{3}}}|{{{4}}}|{{#ifeq:{{{4}}}|E|W|E}}|{{coord/prec dec|{{{1}}}|{{{3}}}}}}}|dec-lat={{coord/dms2dec|{{{2}}}|{{{1}}}}}|dec-long={{coord/dms2dec|{{{4}}}|{{{3}}}}}|param={{{1}}}_{{{2}}}_{{{3}}}_{{{4}}}_{{{5|}}}|default={{#if:{{{format|}}}|{{{format}}}|{{#ifeq:{{coord/prec dec|{{{1}}}|{{{3}}}}}|d|dms|d...' 36451 wikitext text/x-wiki <includeonly>{{Coord/link|dms-lat={{coord/dec2dms|{{{1}}}|{{{2}}}|{{#ifeq:{{{2}}}|N|S|N}}|{{coord/prec dec|{{{1}}}|{{{3}}}}}}}|dms-long={{coord/dec2dms|{{{3}}}|{{{4}}}|{{#ifeq:{{{4}}}|E|W|E}}|{{coord/prec dec|{{{1}}}|{{{3}}}}}}}|dec-lat={{coord/dms2dec|{{{2}}}|{{{1}}}}}|dec-long={{coord/dms2dec|{{{4}}}|{{{3}}}}}|param={{{1}}}_{{{2}}}_{{{3}}}_{{{4}}}_{{{5|}}}|default={{#if:{{{format|}}}|{{{format}}}|{{#ifeq:{{coord/prec dec|{{{1}}}|{{{3}}}}}|d|dms|dec}}}}|name={{{name|}}} }}</includeonly><noinclude>[[Κατηγορίαν:Coord template]]</noinclude> ifnckrtfzih5ycb5drr26qwnazpjxjj Πρότυπον:Coord/dms2dec 10 3272 36452 2025-12-15T16:30:51Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{#expr:{{#switch:{{{1}}}|N|E=1|S|W=-1}}*({{{2|0}}}+({{{3|0}}}+{{{4|0}}}/60)/60) round {{{precdec|{{#if:{{{4|}}}|5|{{#if:{{{3|}}}|3|0}}}}+{{precision1|{{{4|{{{3|{{{2}}}}}}}}}}}}}}}}</includeonly><noinclude>[[Κατηγορίαν:Coord template]]</noinclude>' 36452 wikitext text/x-wiki <includeonly>{{#expr:{{#switch:{{{1}}}|N|E=1|S|W=-1}}*({{{2|0}}}+({{{3|0}}}+{{{4|0}}}/60)/60) round {{{precdec|{{#if:{{{4|}}}|5|{{#if:{{{3|}}}|3|0}}}}+{{precision1|{{{4|{{{3|{{{2}}}}}}}}}}}}}}}}</includeonly><noinclude>[[Κατηγορίαν:Coord template]]</noinclude> gx68gut0epeeu5pcwzmclnq82nlfvph Πρότυπον:Coord/display/inline,title 10 3273 36454 2025-12-15T16:33:24Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{{1}}}<span id="coordinates">[[Γεωγραφικά συντεταγμένας|Συντεταγμένας]]: {{{1}}}</span><noinclude>[[Κατηγορίαν:Coord template]]</noinclude>' 36454 wikitext text/x-wiki {{{1}}}<span id="coordinates">[[Γεωγραφικά συντεταγμένας|Συντεταγμένας]]: {{{1}}}</span><noinclude>[[Κατηγορίαν:Coord template]]</noinclude> 0ql436ww59q7a8hjeewomdu3plepqlf Πρότυπον:Coord/dec2dms/τεκμηρίωση 10 3274 36456 2025-12-15T16:35:11Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'Given a decimal coordinate, two cardinal directions, and precision, render a coordinate in degrees/minutes/seconds. == Usage == &#123;{coord/dec2dms|''coord''|N|S|''precision''}} &#123;{coord/dec2dms|''coord''|E|W|''precision''}} Precision codes: <table class="prettytable"> <tr><td>d</td><td>Degrees (rounded to integer)</td> <tr><td>d1</td><td>Degrees (rounded to 0.1 degrees)</td> <tr><td>dm</td><td>Degrees, minutes (rounded to integer)</td> <t...' 36456 wikitext text/x-wiki Given a decimal coordinate, two cardinal directions, and precision, render a coordinate in degrees/minutes/seconds. == Usage == &#123;{coord/dec2dms|''coord''|N|S|''precision''}} &#123;{coord/dec2dms|''coord''|E|W|''precision''}} Precision codes: <table class="prettytable"> <tr><td>d</td><td>Degrees (rounded to integer)</td> <tr><td>d1</td><td>Degrees (rounded to 0.1 degrees)</td> <tr><td>dm</td><td>Degrees, minutes (rounded to integer)</td> <tr><td>dm1</td><td>Degrees, minutes (rounded to 0.1 minutes)</td> <tr><td>dms</td><td>Degrees, minutes, seconds (rounded to integer)</td> <tr><td>dms1</td><td>Degrees, minutes, seconds (rounded to 0.1 seconds)</td> </table> == Examples == <table class="prettytable"> {{template example row|10.391944|N|S|d}} {{template example row|10.391944|N|S|d1}} {{template example row|10.390000|N|S|d}} {{template example row|10.390000|N|S|d1}} {{template example row|10.39|N|S|d}} {{template example row|10.39|N|S|d1}} {{template example row|-10.391944|N|S|dm}} {{template example row|-10.391944|N|S|dm1}} {{template example row|10.391944|E|W|dms}} {{template example row|10.391944|E|W|dms1}} {{template example row|10|N|S|d}} {{template example row|10|E|W|dm}} {{template example row|-10|E|W|dms}} {{template example row|-10|E|W|dms1}} </table> {{Coord/dec2dms/subdoc}} 2xu4ktns5mckk9r0fkj8gd3kpl9vtp0 Πρότυπον:Coord/dec2dms/subdoc 10 3275 36457 2025-12-15T16:35:41Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '== Subroutines == Subroutines of {{lt|Coord/dec2dms}}: *{{tl|Coord/dec2dms/d}} *{{tl|Coord/dec2dms/d1}} *{{tl|Coord/dec2dms/dm}} *{{tl|Coord/dec2dms/dm1}} *{{tl|Coord/dec2dms/dms}} *{{tl|Coord/dec2dms/dms1}} [[Κατηγορίαν:Coord template]]' 36457 wikitext text/x-wiki == Subroutines == Subroutines of {{lt|Coord/dec2dms}}: *{{tl|Coord/dec2dms/d}} *{{tl|Coord/dec2dms/d1}} *{{tl|Coord/dec2dms/dm}} *{{tl|Coord/dec2dms/dm1}} *{{tl|Coord/dec2dms/dms}} *{{tl|Coord/dec2dms/dms1}} [[Κατηγορίαν:Coord template]] 06j362u43vc3bict7u93q4sttwnqehv Πρότυπον:Coord/dec2dms/d 10 3276 36458 2025-12-15T16:36:19Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#expr:{{{1}}} round 0}}°<noinclude>[[Κατηγορίαν:Coord template]]</noinclude>' 36458 wikitext text/x-wiki {{#expr:{{{1}}} round 0}}°<noinclude>[[Κατηγορίαν:Coord template]]</noinclude> o0ju2hw1uqug7aus1mz2vjtk1v10mzv Πρότυπον:Precision1 10 3277 36459 2025-12-15T16:37:50Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{#expr:{{#ifeq:{{{1}}}|0|0|{{#ifexpr:{{{1}}} round 0={{{1}}}|0|{{#ifexpr:{{{1}}} round 1={{{1}}}|1|{{#ifexpr:{{{1}}} round 2={{{1}}}|2|{{#ifexpr:{{{1}}} round 3={{{1}}}|3|{{#ifexpr:{{{1}}} round 4={{{1}}}|4|{{#ifexpr:{{{1}}} round 5={{{1}}}|5|6}}}}}}}}}}}}}}+{{precision/tz|{{{1}}}}}}}</includeonly><noinclude>[[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]]</noinclude>' 36459 wikitext text/x-wiki <includeonly>{{#expr:{{#ifeq:{{{1}}}|0|0|{{#ifexpr:{{{1}}} round 0={{{1}}}|0|{{#ifexpr:{{{1}}} round 1={{{1}}}|1|{{#ifexpr:{{{1}}} round 2={{{1}}}|2|{{#ifexpr:{{{1}}} round 3={{{1}}}|3|{{#ifexpr:{{{1}}} round 4={{{1}}}|4|{{#ifexpr:{{{1}}} round 5={{{1}}}|5|6}}}}}}}}}}}}}}+{{precision/tz|{{{1}}}}}}}</includeonly><noinclude>[[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]]</noinclude> ae3f3t959bxfof0tp4grzfho35qc0wp Πρότυπον:Precision/tz/1 10 3278 36460 2025-12-15T16:38:38Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{#switch:{{{1}}}|{{{2}}}|{{{2}}}.=0|{{{2}}}0|{{{2}}}.0=1|{{{2}}}00|{{{2}}}.00=2|{{{2}}}000|{{{2}}}.000=3|{{{2}}}0000|{{{2}}}.0000=4|{{{2}}}00000|{{{2}}}.00000=5|0}}</includeonly><noinclude>[[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]]</noinclude>' 36460 wikitext text/x-wiki <includeonly>{{#switch:{{{1}}}|{{{2}}}|{{{2}}}.=0|{{{2}}}0|{{{2}}}.0=1|{{{2}}}00|{{{2}}}.00=2|{{{2}}}000|{{{2}}}.000=3|{{{2}}}0000|{{{2}}}.0000=4|{{{2}}}00000|{{{2}}}.00000=5|0}}</includeonly><noinclude>[[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]]</noinclude> ovwwfus07xhcgrwvnmyo8ynko9mld2m Πρότυπον:Precision/tz 10 3279 36461 2025-12-15T16:39:21Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{precision/tz/1|x{{{1}}}|x{{#expr:{{{1}}}+0}}}}</includeonly><noinclude>[[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]]</noinclude>' 36461 wikitext text/x-wiki <includeonly>{{precision/tz/1|x{{{1}}}|x{{#expr:{{{1}}}+0}}}}</includeonly><noinclude>[[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]]</noinclude> lab9tp4j7eh1a1c1g8rm5yq1h4yy7jh Πρότυπον:Precision 10 3280 36462 2025-12-15T16:40:08Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<noinclude><!-- --============================================================ -- Getprecision - Count decimal digits or in fraction (2+1/3) --============================================================ -- (see NOTES at bottom) --></noinclude>{{ #expr: ( 0 {{ #ifexpr: {{{1|0.0000}}}0={{{1|0.0000}}} |<!--see NOTE Z7--> -1 + <noinclude><!--see NOTE S5--></noinclude> {{#switch: x{{{1|0.0000}}} |{{padleft:|6|x{{{1}}}}}=5...' 36462 wikitext text/x-wiki <noinclude><!-- --============================================================ -- Getprecision - Count decimal digits or in fraction (2+1/3) --============================================================ -- (see NOTES at bottom) --></noinclude>{{ #expr: ( 0 {{ #ifexpr: {{{1|0.0000}}}0={{{1|0.0000}}} |<!--see NOTE Z7--> -1 + <noinclude><!--see NOTE S5--></noinclude> {{#switch: x{{{1|0.0000}}} |{{padleft:|6|x{{{1}}}}}=5 |{{padleft:|5|x{{{1}}}}}=4 |{{padleft:|7|x{{{1|0.0000}}}}}=6 |{{padleft:|4|x{{{1}}}}}=3 |{{padleft:|8|x{{{1}}}}}=7 |{{padleft:|9|x{{{1}}}}}=8 |{{padleft:|10|x{{{1}}}}}=9 |{{padleft:|11|x{{{1}}}}}=10 |{{padleft:|2|x{{{1}}}}}=1 <!--for "0"--> |{{padleft:|12|x{{{1}}}}}=11 |{{padleft:|13|x{{{1}}}}}=12 |{{padleft:|14|x{{{1}}}}}=13 |{{padleft:|15|x{{{1}}}}}=14 |{{padleft:|16|x{{{1}}}}}=15 |{{padleft:|17|x{{{1}}}}}=16 |{{padleft:|18|x{{{1}}}}}=17 |{{padleft:|19|x{{{1}}}}}=18 |{{padleft:|20|x{{{1}}}}}=19 |{{padleft:|21|x{{{1}}}}}=20 |{{padleft:|3|x{{{1}}}}}=2 |{{padleft:|22|x{{{1}}}}}=21 |{{padleft:|23|x{{{1}}}}}=22 |{{padleft:|24|x{{{1}}}}}=23 |{{padleft:|25|x{{{1}}}}}=24 |{{padleft:|26|x{{{1}}}}}=25 |{{padleft:|27|x{{{1}}}}}=26 |{{padleft:|28|x{{{1}}}}}=27 |{{padleft:|29|x{{{1}}}}}=28 |{{padleft:|30|x{{{1}}}}}=29 |{{padleft:|31|x{{{1}}}}}=30 |{{padleft:|32|x{{{1}}}}}=31 |{{padleft:|33|x{{{1}}}}}=32 |{{padleft:|34|x{{{1}}}}}=33 |{{padleft:|35|x{{{1}}}}}=34 |{{padleft:|36|x{{{1}}}}}=35 |{{padleft:|37|x{{{1}}}}}=36 |{{padleft:|38|x{{{1}}}}}=37 |{{padleft:|39|x{{{1}}}}}=38 |{{padleft:|40|x{{{1}}}}}=39 |{{padleft:|41|x{{{1}}}}}=40 |#default = 41 }} - floor( ln (floor( abs({{{1|0}}}) )+0.99 )/ln10 ) - 1 {{#ifexpr: floor(abs({{{1|0}}}) )=0 |-1}} {{#ifeq: {{{1|0.0000}}}x|0x| + 1}}{{ #ifexpr: {{{1|500}}}<0| - 1}}<!--For minus sign--> |<noinclude><!--else for integers--></noinclude>{{ #ifexpr:{{{1|500}}}=floor({{{1|500}}}/10)*10|-1}}{{ #ifexpr:{{{1|500}}}=floor({{{1|500}}}/100)*100|-1}}{{ #ifexpr:{{{1|500}}}=floor({{{1|500}}}/1E3)*1E3|-1}}{{ #ifexpr:{{{1|500}}}=floor({{{1|500}}}/1E4)*1E4|-1}}{{ #ifexpr:{{{1|500}}}=floor({{{1|500}}}/1E5)*1E5|-1}}{{ #ifexpr:{{{1|500}}}=floor({{{1|500}}}/1E6)*1E6|-1}}{{ #ifexpr:{{{1|500}}}=floor({{{1|500}}}/1E7)*1E7|-1}}{{ #ifexpr:{{{1|500}}}=floor({{{1|500}}}/1E8)*1E8|-1}}{{ #ifexpr:{{{1|500}}}=floor({{{1|500}}}/1E9)*1E9|-1}}{{ #ifexpr:{{{1|500}}}=floor({{{1|500}}}/1E10)*1E10|-1}}{{ #ifexpr:{{{1|500}}}=floor({{{1|500}}}/1E11)*1E11|-1}}{{ #ifexpr:{{{1|500}}}=floor({{{1|500}}}/1E12)*1E12|-1}}{{ #ifexpr:{{{1|500}}}=floor({{{1|500}}}/1E13)*1E13|-1}}{{ #ifexpr:{{{1|500}}}=floor({{{1|500}}}/1E14)*1E14|-1 }}}}<noinclude><!--endif {1}0={1} -------------------------------------------------------- Check for fraction "/" to use logn of denominator, by clearing prior count: (..prior..)*0 + (logn denom / logn 10). (see NOTE A1). The whole expression ends with close ")". --></noinclude>{{ #if: {{#titleparts:{{{1|6+3~8}}}|1|2}}| )*0 + ( (ln {{#titleparts:{{{1|6+3/8}}}|1|2}} / ln10) }}<noinclude><!--endif fraction --></noinclude> ) }}<noinclude><!--endexpr# (close paren.) -- -------------------------------------------------------------- --NOTES: -- [ These comments are skipped by <noinclude> and not send -- inside formatted Internet pages, only during edit. ] -- --NOTE A1: This template determines the precision of decimals -- by counting the length of the numeric string (in a -- #switch comparing lengths of padded strings), then -- subtracting integer length, minus the decimal point, -- and minus 1 if negative. For integers, 1 place is -- subtracted for each trailing 0 on the integer. -- For fractions, any prior count is cleared x 0, then -- size is logarithm of denominator divided by logn 10: -- (..prior...)*0 + floor(logn denom / logn 10 - .01) + 1. -- --NOTE D2: The check, for whole integers, compares the amount -- versus appending "0" at the end: when the amount is a -- decimal, then the value is unchanged by appending 0 at -- the end: so 5.23 = 5.230 is true, whereas for whole -- integers, it would be: 5 = 50 as false, due to values -- becoming n*10 for integer n. So, for integer n, the -- check rejects: n = n0 as false; hence n is integer. -- --NOTE M3: The magnitude of the integer portion is calculated -- by logarithm of the floor of absolute value (divided by -- [[natural logarithm]] of 10 to adjust for e=2.71828*), -- as: ln (floor( abs({{{1|-0.050067}}}) )+0.99 )/ln10 -- Function floor(x) trims the decimal part, to leave the -- whole count: 0-9 yield 0, 10-19 as 1, 1000-1999 as 3. -- The abs(x) avoids floor of negatives, floor(-0.1)= -1, -- hence using abs(x) ensures -0.1 floors to 0 not -1. -- Near zero, the +0.99 avoids invalid log of 0, but does -- not round-up any decimals, already floored as nnn.00. -- Complexity is 6 operations: floor of abs( {1} ) +0.99 -- then logn div logn10, then floor that logarithm ratio. -- Decimals -1 < x < 1 yield -1, avoiding log 0.001 = -3. -- --NOTE N4: Nesting of if-else and nested templates is kept to -- a minimum, due to the MediaWiki 1.6 limit of 40 levels -- of if-logic for all nested templates used together. -- Template {ordomag} was omitted to avoid 2 more levels -- of nested templates. Template {Precision} had 8 levels, -- and this template was trimmed to only 5 levels. -- --NOTE S5: The #switch is run with "x" prepended in front of -- the amount, otherwise a #switch will compare as numeric -- where 2 would match "2.0" even though "2" is length 1. -- So "x2" won't match "x2.0" in non-numeric comparison. -- The #switch will exit on the first match, so smaller -- lengths are compared first, to avoid extra comparisons -- for more rare, longer numeric strings up to 41 long. -- --NOTE W6: The check for integers with whole end-zeroes uses -- typical n=n/10*10, for each power of 10, where whole -- millions match: {{#ifexpr: {1}=floor( {1}/1E6 )*1E6| }} -- Previously, {Precision} had tried to use "round" to -- detect end-zeroes but "round" loses precision at -5, -- so, n00000 round -5 differs from n00000 slightly, and -- comparisons to exact rounded amounts failed to match -- some numbers when 6 or more zeroes "n000000". -- --NOTE Z7: The check on zero for any .00000 compares adding 1 -- to the amount, versus appending "1" at the end: if the -- amount is a decimal, then adding 1 will be larger than -- appending 1 at the end: 0.00 + 1 > 0.001, whereas for -- whole zero, it would be: 0+1 > 01 as false, due to the -- value being the same. So, for integer 0, the check -- rejects: 0+1 > 01 as false; hence whole 0 is integer. -- -- WARNING: *** DO NOT DELETE COMMENTS FROM THIS TEMPLATE *** -- Unless these comments are readily available, people -- might tinker with the coding (or rename templates), -- in hopes to clarify operation because these comments -- were not nearby to explain the issues. Having these -- comments only on a doc-page increases the danger of -- explanations no longer matching the current coding. -- UPDATE these comments to match changes to the template. -- UPDATE the HISTORY during major changes (not typos). -- -------------------------------------------------------------- --HISTORY: --15Aug10 Created to get precision even if large or negative. --15Aug10 Put NOTES comments to explain template coding. --15Aug10 Put HISTORY comments to log major changes. --18Aug10 Fixed to handle zero: 0 as 0, 0.000 as 3, etc. --04Sep10 Fixed to handle decimals between 0~1 (by round 0). --04Sep10 Updated NOTES to explain the check appending 0 or 1. --03Jan11 Fix integer end-zeroes: 50 as -1, 500 as -2, 5000 -3. --03Jan11 Omit {Order of Magnitude} for 2 levels less nesting. --03Jan11 Omit {Str_len} for 8 fewer levels of 40-nest limit. --03Jan11 Put "noinclude" around all inter-line HTML comments. --03Jan11 Allow fraction "/": floor(ln denom/ln 10 -.01)+1. --08Feb11 Fixed to not count minus sign on negative integers. --08Feb11 Extended to handle integers with 14 end-zeroes "0". --08Feb11 Ordered length-search by most-likely (rarely 1 or 2). --10Feb11 Re-added NOTES/HISTORY to explain logic & changes. --22Jun11 Move to Precision: no need to keep all three. --22Jun11 No rounding up for fractions (i.e. ln denom/ln 10) -- -->{{documentation}}</noinclude> 3gzld2n8id2y6kssvp4plp7bp51paf1 Πρότυπον:Coord/dec2dms/dms 10 3281 36463 2025-12-15T16:40:57Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#expr:{{{1}}} mod 360}}°{{pad2digit|{{#expr:{{{1}}} * 60 mod 60}}}}′{{pad2digit|{{#expr:({{{1}}} * 36000 round 0) mod 600 / 10 round 0}}}}″<noinclude>[[Κατηγορίαν:Coord template]]</noinclude>' 36463 wikitext text/x-wiki {{#expr:{{{1}}} mod 360}}°{{pad2digit|{{#expr:{{{1}}} * 60 mod 60}}}}′{{pad2digit|{{#expr:({{{1}}} * 36000 round 0) mod 600 / 10 round 0}}}}″<noinclude>[[Κατηγορίαν:Coord template]]</noinclude> esk77quevc1smcd63nrn51og4a2h7h3 Πρότυπον:Pad2digit 10 3282 36464 2025-12-15T16:41:43Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#ifeq:x{{{1}}}|x0|00|{{padleft:{{{1}}}|2|0}}}}<noinclude> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]] </noinclude>' 36464 wikitext text/x-wiki {{#ifeq:x{{{1}}}|x0|00|{{padleft:{{{1}}}|2|0}}}}<noinclude> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]] </noinclude> js11xaszulx31mqts7hydlmfb3tub4g Πρότυπον:Coord/dec2dms/dm1 10 3283 36465 2025-12-15T16:42:33Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#expr:{{{1}}} mod 360}}°{{pad2digit|{{#expr:({{{1}}} * 600 round 0) mod 600 / 10}}}}′<noinclude>[[Κατηγορίαν:Coord template]]</noinclude>' 36465 wikitext text/x-wiki {{#expr:{{{1}}} mod 360}}°{{pad2digit|{{#expr:({{{1}}} * 600 round 0) mod 600 / 10}}}}′<noinclude>[[Κατηγορίαν:Coord template]]</noinclude> jb1dnbp6uctm9quuhoj99dp0yvtx301 Πρότυπον:Coord/dec2dms/dm 10 3284 36466 2025-12-15T16:43:15Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#expr:{{{1}}} mod 360}}°{{pad2digit|{{#expr:({{{1}}} * 600 round 0) mod 600 / 10 round 0}}}}′<noinclude>[[Κατηγορίαν:Coord template]]</noinclude>' 36466 wikitext text/x-wiki {{#expr:{{{1}}} mod 360}}°{{pad2digit|{{#expr:({{{1}}} * 600 round 0) mod 600 / 10 round 0}}}}′<noinclude>[[Κατηγορίαν:Coord template]]</noinclude> bzll6l59oc40z45mpbyizhlazvbmj24 Πρότυπον:Coord/dec2dms/d1 10 3285 36467 2025-12-15T16:43:57Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#expr:{{{1}}} round 1}}°<noinclude>[[Κατηγορίαν:Coord template]]</noinclude>' 36467 wikitext text/x-wiki {{#expr:{{{1}}} round 1}}°<noinclude>[[Κατηγορίαν:Coord template]]</noinclude> hlq3h8lmarfzuv6sj6j3t241kp5hjxw Module:Excerpt/config 828 3286 36468 2025-12-15T16:46:01Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'return { -- Templates that should never be transcluded blacklist = { '.*[Ii]nfobox.*', '[Ee]xtension', '[Tt]ool', '[Ss]kin', -- infoboxes }, -- Map from image parameters to captions -- Used for extracting files out of infoboxes captions = { {'image', {'description'} }, }, -- Tracking categories (without the category namespace) categories = { content = 'Content pages with excerpts', errors = 'Content pages with broken excerpts',...' 36468 Scribunto text/plain return { -- Templates that should never be transcluded blacklist = { '.*[Ii]nfobox.*', '[Ee]xtension', '[Tt]ool', '[Ss]kin', -- infoboxes }, -- Map from image parameters to captions -- Used for extracting files out of infoboxes captions = { {'image', {'description'} }, }, -- Tracking categories (without the category namespace) categories = { content = 'Content pages with excerpts', errors = 'Content pages with broken excerpts', --[0] = 'Articles with excerpts', --[1] = 'Talk pages with excerpts', }, -- Prefix for generating the hatnote --hat = '{{#hatnote|selfref=yes|1=' -- Title of the template styles --styles = 'Excerpt/styles.css' } tk4lts51jz9raaxutmdp0remcaoyyzn Module:External links/conf 828 3287 36469 2025-12-15T16:46:49Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local messages = {} messages['el'] = { ['wikidata-linkback-edit'] = 'Edit on Wikidata', ['missing-limits'] = 'Missing limits-var in [[Module:External links/conf/$1]]', ['missing-conf'] = 'Missing content in [[Module:External links/conf/$1]]', ['msg-langcode'] = '<span class="languageicon"> ($2)</span>', -- $1 is language code, $2 is language name ['msg-ul-prepend'] = '* ', ['msg-inline-separator'] = ', ', } local arguments = { ['arg-conf']...' 36469 Scribunto text/plain local messages = {} messages['el'] = { ['wikidata-linkback-edit'] = 'Edit on Wikidata', ['missing-limits'] = 'Missing limits-var in [[Module:External links/conf/$1]]', ['missing-conf'] = 'Missing content in [[Module:External links/conf/$1]]', ['msg-langcode'] = '<span class="languageicon"> ($2)</span>', -- $1 is language code, $2 is language name ['msg-ul-prepend'] = '* ', ['msg-inline-separator'] = ', ', } local arguments = { ['arg-conf'] = 'conf', ['arg-title'] = 'title', ['arg-properties'] = 'properties', ['arg-maxlink'] = 'maxlink', ['arg-short'] = 'short', ['arg-languages'] = 'languages', ['arg-no-categories'] = 'no categories', ['arg-inline'] = 'inline', ['arg-track'] = 'track', ['mod-filter-all'] = 'all', ['mod-filter-separator'] = ',', } local p = { ['g'] = function (self, ...) for _,v in ipairs(arg) do if self.messages[v] then return self.messages[v] end end return '<'..arg[1]..'>' end, ['a'] = function (self, ...) for _,v in ipairs(arg) do if self.arguments[v] then return self.arguments[v] end end return '<'..arg[1]..'>' end } -- metatable for the export local mt = { -- adjust the installation of the module ['__call'] = function (self, lang) self.messages = messages[lang] self.arguments = arguments return self end } -- install the metatable setmetatable(p, mt) return p gpby6gleuy7k40yxoedy6oolsoqjltv Module:Excerpt slideshow 828 3288 36470 2025-12-15T16:47:37Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} local excerptModule = require('Module:Excerpt/portals') local slideshowModule = require('Module:Random slideshow') local randomModule = require('Module:Random') local DEFAULT_LIMIT = 25 -- max number of excerpts to be shown in the slideshow local SOURCE_PAGES_LIMIT = 10 -- max number of pages to check for links / list items -- begin BHG addition for tracking source pages local sourcepgagesused = {}; local sourcepgagesusedcounter = 0;...' 36470 Scribunto text/plain local p = {} local excerptModule = require('Module:Excerpt/portals') local slideshowModule = require('Module:Random slideshow') local randomModule = require('Module:Random') local DEFAULT_LIMIT = 25 -- max number of excerpts to be shown in the slideshow local SOURCE_PAGES_LIMIT = 10 -- max number of pages to check for links / list items -- begin BHG addition for tracking source pages local sourcepgagesused = {}; local sourcepgagesusedcounter = 0; local articlelistcount = -1; local usesEmbeddedList = false; -- end BHG addition for tracking source pages function cleanupArgs(argsTable) local cleanArgs = {} for key, val in pairs(argsTable) do if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val ~= '' then cleanArgs[key] = val end else cleanArgs[key] = val end end return cleanArgs end function isDeclined(val) if not val then return false end local declinedWords = " decline declined exclude excluded false none not no n off omit omitted remove removed " return string.find(declinedWords , ' '..val..' ', 1, true ) and true or false end --[[ @param {String} wikitext: Wikitext of just the list (i.e. each line is a list item) @param {String} symbol: Special character used in the wikitext markup for the list, e.g. '*' or '#' @param {String} outerTag: Text portion of the tag for each list or sublist, e.g. 'ul' or 'ol' @param {String} innerTag: Text portion of the tag for each list item, e.g. 'li' ]] local wikitextToHtmlList = function(wikitext, symbol, outerTag, innerTag) local listParts = {} for level, item in mw.ustring.gmatch('\n'..wikitext..'\n', '\n(%'..symbol..'+)(.-)%f[\n]') do table.insert(listParts, {level=level, item=item}) end table.insert(listParts, {level='', item=''}) local htmlList = {} for i, this in ipairs( listParts ) do local isFirstItem = (i == 1) local isLastItem = (i == #listParts) local lastLevel = isFirstItem and '' or listParts[i-1]['level'] local tags if #lastLevel == #this.level then tags = '</'..innerTag..'><'..innerTag..'>' elseif #this.level > #lastLevel then tags = string.rep('<'..outerTag..'><'..innerTag..'>', #this.level - #lastLevel) elseif isLastItem then tags = string.rep('</'..innerTag..'></'..outerTag..'>', #lastLevel) else -- ( #this.level < #lastLevel ) and not last item tags = string.rep('</'..innerTag..'></'..outerTag..'>', #lastLevel - #this.level ) .. '</'..innerTag..'><'..innerTag..'>' end table.insert(htmlList, tags .. this.item) end return table.concat(htmlList) end --[[ @param {String} wikitext: Wikitext excertp containg zero or more lists @param {String} symbol: Special character used in the wikitext markup for the list, e.g. '*' or '#' @param {String} outerTag: Text portion of the tag for each list or sublist, e.g. 'ul' or 'ol' @param {String} innerTag: Text portion of the tag for each list item, e.g. 'li' ]] local gsubWikitextLists = function(wikitext, symbol, outerTag, innerTag) -- temporarily remove list linebreaks... wikitext = mw.ustring.gsub(wikitext..'\n', '\n%'..symbol, '¿¿¿'..symbol) -- ...so we can grab the whole list (and just the list)... return mw.ustring.gsub( wikitext, '¿¿¿%'..symbol..'[^\n]+', function(listWikitext) -- ...and then reinstate linebreaks... listWikitext = mw.ustring.gsub(listWikitext, '¿¿¿%'..symbol, '\n'..symbol) -- ...and finally do the conversion return wikitextToHtmlList(listWikitext, symbol, outerTag, innerTag) end ) end local replacePipesWithMagicword = function(t) return mw.ustring.gsub(t, '|', '{{!}}') end --[[ help gsub strip tables and templates that aren't part of the prose, and remove linebreaks from within other templates, and preprocess parser functions ]] local processBraces = function(t) local isTable = mw.ustring.sub(mw.text.trim(t), 2, 2) == '|' if isTable then return '' end -- else it's a template or parser function local first = mw.ustring.sub(t, 1, 1) local last = mw.ustring.sub(t, -1) local isNotPartOfProse = first == '\n' and last == '\n' if isNotPartOfProse then return '' end local isParserFunction = mw.ustring.sub(mw.text.trim(t), 3, 3) == '#' if isParserFunction then local frame = mw.getCurrentFrame() return frame:preprocess(t) end -- else replace pipes and remove internal linebreaks return replacePipesWithMagicword(mw.ustring.gsub(t, '\n*', '')) end local cleanUpExcerpt = function(excerpt) -- strip galleries excerpt = mw.ustring.gsub(excerpt, "<%s*[Gg]allery.->.-<%s*/%s*[Gg]allery%s*>", "") -- strip tables and block templates; strip newlines and replace pipes within inline templates excerpt = mw.ustring.gsub(excerpt..'\n', '\n?%b{}\n?', processBraces) -- replace pipes within links excerpt = mw.ustring.gsub(excerpt, '%b[]', replacePipesWithMagicword) -- replace other pipes with html entity excerpt = mw.ustring.gsub(excerpt, '|', '&#124;') -- replace wikitext bulleted lists with html bulleted lists excerpt = gsubWikitextLists(excerpt, '*', 'ul', 'li') -- replace wikitext numbered lists with html numbered lists excerpt = gsubWikitextLists(excerpt, '#', 'ol', 'li') excerpt = mw.text.trim(excerpt) return excerpt end function makeGalleryArgs(titles, options, limit, nonRandom) local galleryArgs = {} local titlesSequence = {} local i = 1 while titles[i] do titlesSequence[i] = titles[i] i = i + 1 end local sortedTitles = nonRandom and titlesSequence or randomModule.main('array', {t=titlesSequence, limit=limit}) for _i, title in ipairs(sortedTitles) do if (#galleryArgs / 2) < limit then local success, excerpt = pcall(excerptModule.get, title, options) if not success then mw.log("require('Module:Excerpt').get failed: " .. excerpt) -- probably got a redlink excerpt = nil end if excerpt and excerpt ~= '' and #excerpt > 10 then -- check again in case we had a few characters plus (Full article...) excerpt = cleanUpExcerpt(excerpt) if options.more then excerpt = excerpt .. " ('''[[" .. title .. "|" .. options.more .. "]]''')" end local text = '<div style{{=}}text-align:left;>' .. mw.ustring.gsub(excerpt, '%c', '<br>') .. '</div>' table.insert(galleryArgs, 'File:Blank.png') table.insert(galleryArgs, text) end end end if nonRandom then galleryArgs.random = 'false' end if #galleryArgs == 0 and options.nostubs then -- try again, this time including stubs options.nostubs = false return makeGalleryArgs(titles, options, limit, nonRandom) else return galleryArgs end end local makeOptions = function(args) local options = args -- pick up miscellaneous options: more, errors, fileargs options.paraflags = excerptModule.numberFlags(args.paragraphs or "") -- parse paragraphs, e.g. "1,3-5" → {"1","3-5"} options.fileflags = excerptModule.numberFlags(args.files or "") -- parse file numbers if args.nostubs and isDeclined(args.nostubs) then options.nostubs = false else options.nostubs = true end return options end local isArticle = function(pagetitle) local titleObject = mw.title.new(pagetitle) return ( titleObject and titleObject.namespace == 0 ) and true or false end local getLinkedTitles = function(args, method, limit) local pagenames = {} local ii = 1 local isNotCategory while args[ii] and ii < limit do local pageContent = excerptModule.getContent(args[ii]) if pageContent then local pageSection = args["section"..ii] or args["section"] local sectionOnly = args["sectiononly"..ii] or args["sectiononly"] local text = pageContent if pageSection then -- check relevant section only local success, result = pcall(excerptModule.getSection, pageContent, pageSection, sectionOnly) if not success then mw.log("require('Module:Excerpt').getSection failed on the content of " .. args[ii] .. ": " .. result) result = nil end text = result or pageContent end -- begin BHG addition for tracking source pages local thisPage = mw.title.getCurrentTitle().nsText .. ":" .. mw.title.getCurrentTitle().text local thisBareParam = mw.ustring.gsub(args[ii], "^([^#]+).*$", "%1", 1) -- strip any section anchor from the parameter's page name if (thisPage == thisBareParam) then usesEmbeddedList = true; end -- end BHG addition for tracking source pages -- replace annotated links with real links text = mw.ustring.gsub(text, "{{%s*[Aa]nnotated[ _]link%s*|%s*(.-)%s*}}", "[[%1]]") if method == "linked" then for p in mw.ustring.gmatch(text, "%[%[%s*([^%]|\n]*)") do if isArticle(p) then table.insert(pagenames, p) end end else -- listitem: first wikilink on a line beginning *, :#, etc. except in "See also" or later section text = mw.ustring.gsub(text, "\n== *See also.*", "") for p in mw.ustring.gmatch(text, "\n:*[%*#][^\n]-%[%[%s*([^%]|\n]*)") do if isArticle(p) then table.insert(pagenames, p) end end end -- begin BHG addition for tracking source pages if ((method == "listitem") or (method == "linked")) then table.insert(sourcepgagesused, args[ii]) sourcepgagesusedcounter = sourcepgagesusedcounter + 1 end -- end BHG addition for tracking source pages end ii = ii + 1 end -- begin BHG addition for tracking articlelistcount = #pagenames -- end BHG addition for tracking return pagenames end -- Template entry points: -- randomExcerpt: Titles specified in template parameters (equivalent to {{Transclude random excerpt}}) p.randomExcerpt = function(frame) local parent = frame.getParent(frame) local output = p._excerpt(parent.args, 'random') return frame:preprocess(output) end -- linkedExcerpt: Titles from links on one or more pages (similar to {{Transclude linked excerpt}}) p.linkedExcerpt = function(frame) local parent = frame.getParent(frame) local output = p._excerpt(parent.args, 'linked') return frame:preprocess(output) end -- listItemExcerpt: Titles from linked list items one one or more pages (similar to {{Transclude list item excerpt}}) p.listItemExcerpt = function(frame) local parent = frame.getParent(frame) local output = p._excerpt(parent.args, 'listitem') return frame:preprocess(output) end -- Module entry point: p._excerpt = function(_args, method) local args = cleanupArgs(_args) args.more = excerptModule.getMoreLinkText(_args.more) local options = makeOptions(args) local limit = args.limit and tonumber(args.limit) or DEFAULT_LIMIT local titles if method == 'linked' or method == 'listitem' then titles = getLinkedTitles(args, method, SOURCE_PAGES_LIMIT) else titles = args end local galleryArgs = makeGalleryArgs(titles, options, limit, isDeclined(_args.random)) return slideshowModule._main(galleryArgs, false, 'excerptSlideshow-container') .. checksourcepages() end p._cleanUpExcerpt = cleanUpExcerpt -- begin BHG addition for tracking source pages function checksourcepages() -- no tracking unless we are in Portal namespace if (mw.title.getCurrentTitle().nsText ~= "Portal") then return "" end local pagecounter = 0; local templatecount = 0; local outlinecount = 0; local retval =""; local usesEponymousArticle = false; local debugging = false; local thisPageBareName = mw.title.getCurrentTitle().text; if debugging then retval = '<div style="display:block; border:10px solid green; background-color:#efe; padding:1em; margin:1em">\n----\n' retval = retval .. "sourcepgagesusedcounter: " .. sourcepgagesusedcounter .. "\n----\n" retval = retval .. "pages used:" end local apage for apage in arrayvalues(sourcepgagesused) do if debugging then retval = retval .. "\n# [[:" .. apage .. "]]" retval = retval .. " — " .. "First 999 = /" .. string.sub(apage, 1, 999) .. "/" end if (string.find(apage, "^[tT]emplate ?:") == 1) then templatecount = templatecount + 1; end if (string.find(apage, "^[oO]utline +of ") == 1) then outlinecount = outlinecount + 1; end if (apage == thisPageBareName) then usesEponymousArticle = true; end pagecounter = pagecounter + 1 end if debugging then retval = retval .. "\nTotal pages: " .. pagecounter retval = retval .. "\ntemplatecount: " .. templatecount retval = retval .. "</div>" end -- first do a sanity check that both counting methods have produced the same result if (sourcepgagesusedcounter == pagecounter) then -- if all pages are templates, then populate tracking categories if (pagecounter == templatecount) then if (templatecount == 1) then retval = retval .. "[[Category:Automated article-slideshow portals with article list built solely from one template]]" elseif (templatecount == 2) then retval = retval .. "[[Category:Automated article-slideshow portals with article list built solely from two templates]]" elseif (templatecount == 3) then retval = retval .. "[[Category:Automated article-slideshow portals with article list built solely from three templates]]" elseif (templatecount > 3) then retval = retval .. "[[Category:Automated article-slideshow portals with article list built solely from four or more templates]]" end elseif (templatecount > 0) then retval = retval .. "[[Category:Automated article-slideshow portals with article list built using one or more templates, and other sources]]" end end if (outlinecount >= 1) then retval = retval .. "[[Category:Automated article-slideshow portals with article list built using one or more outline pages]]" end if (articlelistcount < 2) then retval = retval .. "[[Category:Automated article-slideshow portals with less than 2 articles in article list]]" elseif (articlelistcount <= 5) then retval = retval .. "[[Category:Automated article-slideshow portals with 2–5 articles in article list]]" elseif (articlelistcount <= 10) then retval = retval .. "[[Category:Automated article-slideshow portals with 6–10 articles in article list]]" elseif (articlelistcount <= 15) then retval = retval .. "[[Category:Automated article-slideshow portals with 11–15 articles in article list]]" elseif (articlelistcount <= 20) then retval = retval .. "[[Category:Automated article-slideshow portals with 16–20 articles in article list]]" elseif (articlelistcount <= 25) then retval = retval .. "[[Category:Automated article-slideshow portals with 21–25 articles in article list]]" elseif (articlelistcount <= 30) then retval = retval .. "[[Category:Automated article-slideshow portals with 26–30 articles in article list]]" elseif (articlelistcount <= 40) then retval = retval .. "[[Category:Automated article-slideshow portals with 31–40 articles in article list]]" elseif (articlelistcount <= 50) then retval = retval .. "[[Category:Automated article-slideshow portals with 41–50 articles in article list]]" elseif (articlelistcount <= 100) then retval = retval .. "[[Category:Automated article-slideshow portals with 51–100 articles in article list]]" elseif (articlelistcount <= 200) then retval = retval .. "[[Category:Automated article-slideshow portals with 101–200 articles in article list]]" elseif (articlelistcount <= 500) then retval = retval .. "[[Category:Automated article-slideshow portals with 201–500 articles in article list]]" elseif (articlelistcount <= 1000) then retval = retval .. "[[Category:Automated article-slideshow portals with 501–1000 articles in article list]]" elseif (articlelistcount > 1000) then retval = retval .. "[[Category:Automated article-slideshow portals with over 1000 articles in article list]]" end if usesEmbeddedList then retval = retval .. "[[Category:Automated article-slideshow portals with embedded list]]" end if usesEponymousArticle then retval = retval .. "[[Category:Automated article-slideshow portals with article list built using eponymous article]]" end return retval end function arrayvalues(t) local i = 0 return function() i = i + 1; return t[i] end end -- end BHG addition for tracking source pages return p scvpsmshg1xrjwx65oylfz8o5pxtjw9 Module:Random 828 3289 36471 2025-12-15T16:55:16Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- This module contains a number of functions that make use of random numbers. local cfg = {} -------------------------------------------------------------------------------------- -- Configuration -------------------------------------------------------------------------------------- -- Set this to true if your wiki has a traffic rate of less than one edit every two minutes or so. -- This will prevent the same "random" number being generated man...' 36471 Scribunto text/plain -- This module contains a number of functions that make use of random numbers. local cfg = {} -------------------------------------------------------------------------------------- -- Configuration -------------------------------------------------------------------------------------- -- Set this to true if your wiki has a traffic rate of less than one edit every two minutes or so. -- This will prevent the same "random" number being generated many times in a row until a new edit is made -- to the wiki. This setting is only relevant if the |same= parameter is set. cfg.lowTraffic = false -- If cfg.lowTraffic is set to true, and the |same= parameter is set, this value is used for the refresh rate of the random seed. -- This is the number of seconds until the seed is changed. Getting this right is tricky. If you set it too high, the same number -- will be returned many times in a row. If you set it too low, you may get different random numbers appearing on the same page, -- particularly for pages that take many seconds to process. cfg.seedRefreshRate = 60 -------------------------------------------------------------------------------------- -- End configuration -------------------------------------------------------------------------------------- local p = {} -- For functions available from other Lua modules. local l = {} -- For functions not available from other Lua modules, but that need to be accessed using table keys. local yesno = require('Module:Yesno') local makeList = require('Module:List').makeList -------------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------------- local function raiseError(msg) -- This helps to generate a wikitext error. It is the calling function's responsibility as to how to include it in the output. return mw.ustring.format('<b class="error">[[Module:Random]] error: %s.</b>', msg) end -------------------------------------------------------------------------------------- -- random number function -------------------------------------------------------------------------------------- local function getBigRandom(l, u) -- Gets a random integer between l and u, and is not limited to RAND_MAX. local r = 0 local n = 2^math.random(30) -- Any power of 2. local limit = math.ceil(53 / (math.log(n) / math.log(2))) for i = 1, limit do r = r + math.random(0, n - 1) / (n^i) end return math.floor(r * (u - l + 1)) + l end function l.number(args) -- Gets a random number. first = tonumber(args[1]) second = tonumber(args[2]) -- This needs to use if statements as math.random won't accept explicit nil values as arguments. if first then if second then if first > second then -- Second number cannot be less than the first, or it causes an error. first, second = second, first end return getBigRandom(first, second) else return getBigRandom(1, first) end else return math.random() end end -------------------------------------------------------------------------------------- -- Date function -------------------------------------------------------------------------------------- function l.date(args) -- This function gets random dates, and takes timestamps as positional arguments. -- With no arguments specified, it outputs a random date in the current year. -- With two arguments specified, it outputs a random date between the timestamps. -- With one argument specified, the date is a random date between the unix epoch (1 Jan 1970) and the timestamp. -- The output can be formatted using the "format" argument, which works in the same way as the #time parser function. -- The default format is the standard Wikipedia timestamp. local lang = mw.language.getContentLanguage() local function getDate(format, ts) local success, date = pcall(lang.formatDate, lang, format, ts) if success then return date end end local function getUnixTimestamp(ts) local unixts = getDate('U', ts) if unixts then return tonumber(unixts) end end local t1 = args[1] local t2 = args[2] -- Find the start timestamp and the end timestamp. local startTimestamp, endTimestamp if not t1 then -- Find the first and last second in the current year. local currentYear = tonumber(getDate('Y')) local currentYearStartUnix = tonumber(getUnixTimestamp('1 Jan ' .. tostring(currentYear))) local currentYearEndUnix = tonumber(getUnixTimestamp('1 Jan ' .. tostring(currentYear + 1))) - 1 startTimestamp = '@' .. tostring(currentYearStartUnix) -- @ is used to denote Unix timestamps with lang:formatDate. endTimestamp = '@' .. tostring(currentYearEndUnix) elseif t1 and not t2 then startTimestamp = '@0' -- the Unix epoch, 1 January 1970 endTimestamp = t1 elseif t1 and t2 then startTimestamp = t1 endTimestamp = t2 end -- Get Unix timestamps and return errors for bad input (or for bugs in the underlying PHP library, of which there are unfortunately a few) local startTimestampUnix = getUnixTimestamp(startTimestamp) local endTimestampUnix = getUnixTimestamp(endTimestamp) if not startTimestampUnix then return raiseError('"' .. tostring(startTimestamp) .. '" was not recognised as a valid timestamp') elseif not endTimestampUnix then return raiseError('"' .. tostring(endTimestamp) .. '" was not recognised as a valid timestamp') elseif startTimestampUnix > endTimestampUnix then return raiseError('the start date must not be later than the end date (start date: "' .. startTimestamp .. '", end date: "' .. endTimestamp .. '")') end -- Get a random number between the two Unix timestamps and return it using the specified format. local randomTimestamp = getBigRandom(startTimestampUnix, endTimestampUnix) local dateFormat = args.format or 'H:i, d F Y (T)' local result = getDate(dateFormat, '@' .. tostring(randomTimestamp)) if result then return result else return raiseError('"' .. dateFormat .. '" is not a valid date format') end end -------------------------------------------------------------------------------------- -- List functions -------------------------------------------------------------------------------------- local function randomizeArray(t, limit) -- Randomizes an array. It works by iterating through the list backwards, each time swapping the entry -- "i" with a random entry. Courtesy of Xinhuan at http://forums.wowace.com/showthread.php?p=279756 -- If the limit parameter is set, the array is shortened to that many elements after being randomized. -- The lowest possible value is 0, and the highest possible is the length of the array. local len = #t for i = len, 2, -1 do local r = math.random(i) t[i], t[r] = t[r], t[i] end if limit and limit < len then local ret = {} for i, v in ipairs(t) do if i > limit then break end ret[i] = v end return ret else return t end end local function removeBlanks(t) -- Removes blank entries from an array so that it can be used with ipairs. local ret = {} for k, v in pairs(t) do if type(k) == 'number' then table.insert(ret, k) end end table.sort(ret) for i, v in ipairs(ret) do ret[i] = t[v] end return ret end local function makeSeparator(sep) if sep == 'space' then -- Include an easy way to use spaces as separators. return ' ' elseif type(sep) == 'string' then -- If the separator is a recognised MediaWiki separator, use that. Otherwise use the value of sep if it is a string. local mwseparators = {'dot', 'pipe', 'comma', 'tpt-languages'} for _, mwsep in ipairs(mwseparators) do if sep == mwsep then return mw.message.new( sep .. '-separator' ):plain() end end return sep end end local function makeRandomList(args) local list = removeBlanks(args) list = randomizeArray(list, tonumber(args.limit)) return list end function l.item(args) -- Returns a random item from a numbered list. local list = removeBlanks(args) local len = #list if len >= 1 then return list[math.random(len)] end end function l.list(args) -- Randomizes a list and concatenates the result with a separator. local list = makeRandomList(args) local sep = makeSeparator(args.sep or args.separator) return table.concat(list, sep) end function l.text_list(args) -- Randomizes a list and concatenates the result, text-style. Accepts separator and conjunction arguments. local list = makeRandomList(args) local sep = makeSeparator(args.sep or args.separator) local conj = makeSeparator(args.conj or args.conjunction) return mw.text.listToText(list, sep, conj) end function l.array(args) -- Returns a Lua array, randomized. For use from other Lua modules. return randomizeArray(args.t, args.limit) end -------------------------------------------------------------------------------------- -- HTML list function -------------------------------------------------------------------------------------- function l.html_list(args, listType) -- Randomizes a list and turns it into an HTML list. Uses [[Module:List]]. listType = listType or 'bulleted' local listArgs = makeRandomList(args) -- Arguments for [[Module:List]]. for k, v in pairs(args) do if type(k) == 'string' then listArgs[k] = v end end return makeList(listType, listArgs) end -------------------------------------------------------------------------------------- -- The main function. Called from other Lua modules. -------------------------------------------------------------------------------------- function p.main(funcName, args, listType) -- Sets the seed for the random number generator and passes control over to the other functions. local same = yesno(args.same) if not same then -- Generates a different number every time the module is called, even from the same page. -- This is because of the variability of os.clock (the time in seconds that the Lua script has been running for). math.randomseed(mw.site.stats.edits + mw.site.stats.pages + os.time() + math.floor(os.clock() * 1000000000)) else if not cfg.lowTraffic then -- Make the seed as random as possible without using anything time-based. This means that the same random number -- will be generated for the same input from the same page - necessary behaviour for some wikicode templates that -- assume bad pseudo-random-number generation. local stats = mw.site.stats local views = stats.views or 0 -- This is not always available, so we need a backup. local seed = views + stats.pages + stats.articles + stats.files + stats.edits + stats.users + stats.activeUsers + stats.admins -- Make this as random as possible without using os.time() or os.clock() math.randomseed(seed) else -- Make the random seed change every n seconds, where n is set by cfg.seedRefreshRate. -- This is useful for low-traffic wikis where new edits may not happen very often. math.randomseed(math.floor(os.time() / cfg.seedRefreshRate)) end end if type(args) ~= 'table' then error('the second argument to p.main must be a table') end return l[funcName](args, listType) end -------------------------------------------------------------------------------------- -- Process arguments from #invoke -------------------------------------------------------------------------------------- local function makeWrapper(funcName, listType) -- This function provides a wrapper for argument-processing from #invoke. -- listType is only used with p.html_list, and is nil the rest of the time. return function (frame) -- If called via #invoke, use the args passed into the invoking template, or the args passed to #invoke if any exist. -- Otherwise assume args are being passed directly in from the debug console or from another Lua module. local origArgs if frame == mw.getCurrentFrame() then origArgs = frame:getParent().args for k, v in pairs(frame.args) do origArgs = frame.args break end else origArgs = frame end -- Trim whitespace and remove blank arguments. local args = {} for k, v in pairs(origArgs) do if type(v) == 'string' then v = mw.text.trim(v) end if v ~= '' then args[k] = v end end return p.main(funcName, args, listType) end end -- Process arguments for HTML list functions. local htmlListFuncs = { bulleted_list = 'bulleted', unbulleted_list = 'unbulleted', horizontal_list = 'horizontal', ordered_list = 'ordered', horizontal_ordered_list = 'horizontal_ordered' } for funcName, listType in pairs(htmlListFuncs) do p[funcName] = makeWrapper('html_list', listType) end -- Process arguments for other functions. local otherFuncs = {'number', 'date', 'item', 'list', 'text_list'} for _, funcName in ipairs(otherFuncs) do p[funcName] = makeWrapper(funcName) end return p 9wawjlpw2a7nh4ivul70s73ic8x4q0j Module:Excerpt/portals 828 3290 36472 2025-12-15T16:56:07Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- ATTENTION ! -- This module is deprecated -- Prefer Module:Excerpt whenever possible -- Name of the category to track content pages with errors local errorCategory = "Articles with broken excerpts" -- Error messages local errorMessages = { prefix = "Excerpt error: ", noPage = "No page given", pageNotFound = "Page '%s' not found", leadEmpty = "Lead section is empty", sectionEmpty = "Section '%s' is empty", sectionNotFound = "Section '%s' n...' 36472 Scribunto text/plain -- ATTENTION ! -- This module is deprecated -- Prefer Module:Excerpt whenever possible -- Name of the category to track content pages with errors local errorCategory = "Articles with broken excerpts" -- Error messages local errorMessages = { prefix = "Excerpt error: ", noPage = "No page given", pageNotFound = "Page '%s' not found", leadEmpty = "Lead section is empty", sectionEmpty = "Section '%s' is empty", sectionNotFound = "Section '%s' not found", fragmentEmpty = "Fragment '%s' is empty", fragmentNotFound = "Fragment '%s' not found" } -- Regular expressions to match all aliases of the file namespace local fileNamespaces = { "[Ff]ile", "[Ii]mage" } -- Regular expressions to match all image parameters local imageParams = { {"thumb", "thumbnail", "frame", "framed", "frameless"}, {"right", "left", "center", "none"}, {"baseline", "middle", "sub", "super", "text-top", "text-bottom", "top", "bottom"} } -- Regular expressions to match all infobox parameters for image captions local captionParams = { "[^=|]*[Cc]aption[^=|]*", "[^=|]*[Ll]egend[^=|]*" } -- Regular expressions to match all inline templates that are undesirable in excerpts local unwantedInlineTemplates = { "[Ee]fn", "[Ee]fn%-[lu][arg]", "[Ee]l[mn]", "[Rr]p?", "[Ss]fn[bmp]", "[Ss]f[bn]", "[Nn]ote[Tt]ag", "#[Tt]ag:%s*[Rr]ef", "[Rr]efn?", "[CcDd]n", "[Cc]itation[%- _]needed", "[Dd]isambiguation needed", "[Ff]eatured article", "[Gg]ood article", "[Dd]ISPLAYTITLE", "[Ss]hort[ _]+description", "[Cc]itation", "[Cc]ite[%- _]+[%w_%s]-", "[Cc]oor[%w_%s]-", "[Uu]?n?[Rr]eliable source[%?%w_%s]-", "[Rr]s%??", "[Vv]c", "[Vv]erify credibility", "[Bb]y[ _]*[Ww]ho[m]*%??", "[Ww]ikisource[ -_]*multi", "[Ii]nflation[ _/-]*[Ff]n", "[Bb]iblesource", -- aliases for Clarification needed "[Cc]f[ny]", "[Cc]larification[ _]+inline", "[Cc]larification[%- _]*needed", "[Cc]larification", "[Cc]larify%-inline", "[Cc]larify%-?me", "[Cc]larify[ _]+inline", "[Cc]larify", "[Cc]LARIFY", "[Cc]onfusing%-inline", "[Cc]onfusing%-short", "[Ee]xplainme", "[Hh]uh[ _]*%??", "[Ww]hat%?", "[Ii]nline[ _]+[Uu]nclear", "[Ii]n[ _]+what[ _]+sense", "[Oo]bscure", "[Pp]lease[ _]+clarify", "[Uu]nclear[ _]+inline", "[Ww]hat's[ _]+this%?", "[Gg]eoQuelle", "[Nn]eed[s]+[%- _]+[Ii][Pp][Aa]", "[Ii]PA needed", -- aliases for Clarification needed lead "[Cc]itation needed %(?lea?de?%)?", "[Cc]nl", "[Ff]act %(?lea?de?%)?", "[Ll]ead citation needed", "[Nn]ot in body", "[Nn]ot verified in body", -- Primary source etc. "[Pp]s[ci]", "[Nn]psn", "[Nn]on%-primary[ _]+source[ _]+needed", "[Ss]elf%-published[%w_%s]-", "[Uu]ser%-generated[%w_%s]-", "[Pp]rimary source[%w_%s]-", "[Ss]econdary source[%w_%s]-", "[Tt]ertiary source[%w_%s]-", "[Tt]hird%-party[%w_%s]-", -- aliases for Disambiguation (page) and similar "[Bb]egriffsklärung", "[Dd][Aa][Bb]", "[Dd]big", "[%w_%s]-%f[%w][Dd]isam[%w_%s]-", "[Hh][Nn][Dd][Ii][Ss]", -- aliases for Failed verification "[Bb]adref", "[Ff]aile?[ds] ?[rv][%w_%s]-", "[Ff][Vv]", "[Nn][Ii]?[Cc][Gg]", "[Nn]ot ?in ?[crs][%w_%s]-", "[Nn]ot specifically in source", "[Vv]erification[%- _]failed", -- aliases for When "[Aa]s[ _]+of[ _]+when%??", "[Aa]s[ _%-]+of%??", "[Cc]larify date", "[Dd]ate[ _]*needed", "[Nn]eeds?[ _]+date", "[Rr]ecently", "[Ss]ince[ _]+when%??", "[Ww]HEN", "[Ww]hen%??", -- aliases for Update "[Nn]ot[ _]*up[ _]*to[ _]*date","[Oo]u?[Tt][Dd]","[Oo]ut[%- _]*o?f?[%- _]*dated?", "[Uu]pdate", "[Uu]pdate[ _]+sect", "[Uu]pdate[ _]+Watch", -- aliases for Pronunciation needed "[Pp]ronunciation%??[%- _]*n?e?e?d?e?d?", "[Pp]ronounce", "[Rr]equested[%- _]*pronunciation", "[Rr]e?q?pron", "[Nn]eeds[%- _]*pronunciation", -- Chart, including Chart/start etc. "[Cc]hart", "[Cc]hart/[%w_%s]-", -- Cref and others "[Cc]ref2?", "[Cc]note", -- Explain and others "[Ee]xplain", "[Ff]urther[ ]*explanation[ ]*needed", "[Ee]laboration[ ]*needed", "[Ee]xplanation[ ]*needed", -- TOC templates "[Cc][Oo][Mm][Pp][Aa][Cc][Tt][ _]*[Tt][Oo][Cc][8]*[5]*", "[Tt][Oo][Cc]", "09[Aa][Zz]", "[Tt][Oo][Cc][ ]*[Cc][Oo][Mm][Pp][Aa][Cc][Tt]", "[Tt][Oo][Cc][ ]*[Ss][Mm][Aa][Ll][Ll]", "[Cc][Oo][Mm][Pp][Aa][Cc][Tt][ _]*[Aa][Ll][Pp][Hh][Aa][Bb][Ee][Tt][Ii][Cc][ _]*[Tt][Oo][Cc]", "DEFAULTSORT:.-", "[Oo]ne[ _]+source" } -- Regular expressions to match all block templates that are desirable in excerpts local wantedBlockTemplates = { "[Bb]asketball[ _]roster[ _]header", "[Cc]abinet[ _]table[^|}]*", "[Cc]hart[^|}]*", "[Cc]lear", "[Cc]ol[^|}]*", -- all column templates "COVID-19[ _]pandemic[ _]data[^|}]*", "[Cc]ycling[ _]squad[^|}]*", "[Dd]ynamic[ _]list", "[Ee]lection[ _]box[^|}]*", "[Gg]allery", "[Gg]raph[^|}]*", "[Hh]idden", "[Hh]istorical[ _]populations", "[Ll]egend[ _]inline", "[Pp]lainlist", "[Pp]layer[^|}]*", "[Ss]eries[ _]overview", "[Ss]ide[ _]box", "[Ss]witcher", "[Tt]ree[ _]chart[^|}]*", "[Tt]elevision[ _]ratings[ _]graph" } local yesno = require('Module:Yesno') local p = {} -- Helper function to test for truthy and falsy values local function is(value) if not value or value == "" or value == "0" or value == "false" or value == "no" then return false end return true end -- Error handling function -- Throws a Lua error or returns an empty string if error reporting is disabled errors = true -- show errors by default local function luaError(message, value) if not is(errors) then return '' end -- error reporting is disabled message = errorMessages[message] or message or '' message = mw.ustring.format(message, value) error(message, 2) end -- Error handling function -- Returns a wiki friendly error or an empty string if error reporting is disabled local function wikiError(message, value) if not is(errors) then return '' end -- error reporting is disabled message = errorMessages[message] or message or '' message = mw.ustring.format(message, value) message = errorMessages.prefix .. message if mw.title.getCurrentTitle().isContentPage then local errorCategory = mw.title.new(errorCategory, 'Category') if errorCategory then message = message .. '[[' .. errorCategory.prefixedText .. ']]' end end message = mw.html.create('div'):addClass('error'):wikitext(message) return message end -- Helper function to match from a list regular expressions -- Like so: match pre..list[1]..post or pre..list[2]..post or ... local function matchAny(text, pre, list, post, init) local match = {} for i = 1, #list do match = { mw.ustring.match(text, pre .. list[i] .. post, init) } if match[1] then return unpack(match) end end return nil end -- Helper function to convert imagemaps into standard images local function convertImageMap(imagemap) local image = matchAny(imagemap, "[>\n]%s*", fileNamespaces, "[^\n]*") if image then return "<!--imagemap-->[[" .. mw.ustring.gsub(image, "[>\n]%s*", "", 1) .. "]]" else return "" -- remove entire block if image can't be extracted end end -- Helper function to convert a comma-separated list of numbers or min-max ranges into a list of booleans -- For example: "1,3-5" to {1=true,2=false,3=true,4=true,5=true} local function numberFlags(str) if not str then return {} end local flags = {} local ranges = mw.text.split(str, ",") -- parse ranges: "1,3-5" to {"1","3-5"} for _, r in pairs(ranges) do local min, max = mw.ustring.match(r, "^%s*(%d+)%s*%-%s*(%d+)%s*$") -- "3-5" to min=3 max=5 if not max then min, max = mw.ustring.match(r, "^%s*((%d+))%s*$") end -- "1" to min=1 max=1 if max then for p = min, max do flags[p] = true end end end return flags end -- Helper function to convert template arguments into an array of arguments fit for get() local function parseArgs(frame) local args = {} for key, value in pairs(frame:getParent().args) do args[key] = value end for key, value in pairs(frame.args) do args[key] = value end -- args from a Lua call have priority over parent args from template args.paraflags = numberFlags(args["paragraphs"] or "") -- parse paragraphs: "1,3-5" to {"1","3-5"} args.fileflags = numberFlags(args["files"] or "") -- parse file numbers return args end -- Helper function to remove unwanted templates and pseudo-templates such as #tag:ref and DEFAULTSORT local function stripTemplate(t) -- If template is unwanted then return "" (gsub will replace by nothing), else return nil (gsub will keep existing string) if matchAny(t, "^{{%s*", unwantedInlineTemplates, "%s*%f[|}]") then return "" end -- If template is wanted but produces an unwanted reference then return the string with |shortref or |ref removed local noRef = mw.ustring.gsub(t, "|%s*shortref%s*%f[|}]", "") noRef = mw.ustring.gsub(noRef, "|%s*ref%s*%f[|}]", "") -- If a wanted template has unwanted nested templates, purge them too noRef = mw.ustring.sub(noRef, 1, 2) .. mw.ustring.gsub(mw.ustring.sub(noRef, 3), "%b{}", stripTemplate) -- Replace {{audio}} by its text parameter: {{Audio|Foo.ogg|Bar}} → Bar noRef = mw.ustring.gsub(noRef, "^{{%s*[Aa]udio.-|.-|(.-)%f[|}].*", "%1") -- Replace {{Nihongo foot}} by its text parameter: {{Nihongo foot|English|英語|eigo}} → English noRef = mw.ustring.gsub(noRef, "^{{%s*[Nn]ihongo[ _]+foot%s*|(.-)%f[|}].*", "%1") if noRef ~= t then return noRef end return nil -- not an unwanted template: keep end -- Get a page's content, following redirects -- Also returns the page name, or the target page name if a redirect was followed, or false if no page found -- For file pages, returns the content of the file description page local function getContent(page) local title = mw.title.new(page) if not title then return false, false end local target = title.redirectTarget if target then title = target end return title:getContent(), title.prefixedText end -- Get the tables only local function getTables(text, options) local tables = {} for candidate in mw.ustring.gmatch(text, "%b{}") do if mw.ustring.sub(candidate, 1, 2) == '{|' then table.insert(tables, candidate) end end return table.concat(tables, '\n') end -- Get the lists only local function getLists(text, options) local lists = {} for list in mw.ustring.gmatch(text, "\n[*#][^\n]+") do table.insert(lists, list) end return table.concat(lists, '\n') end -- Check image for suitability local function checkImage(image) local page = matchAny(image, "", fileNamespaces, "%s*:[^|%]]*") -- match File:(name) or Image:(name) if not page then return false end -- Limit to image types: .gif, .jpg, .jpeg, .png, .svg, .tiff, .xcf (exclude .ogg, audio, etc.) local fileTypes = {"[Gg][Ii][Ff]", "[Jj][Pp][Ee]?[Gg]", "[Pp][Nn][Gg]", "[Ss][Vv][Gg]", "[Tt][Ii][Ff][Ff]", "[Xx][Cc][Ff]"} if not matchAny(page, "%.", fileTypes, "%s*$") then return false end -- Check the local wiki local fileDescription, fileTitle = getContent(page) -- get file description and title after following any redirect if not fileTitle or fileTitle == "" then return false end -- the image doesn't exist -- Check Commons if not fileDescription or fileDescription == "" then local frame = mw.getCurrentFrame() fileDescription = frame:preprocess("{{" .. fileTitle .. "}}") end -- Filter non-free images if not fileDescription or fileDescription == "" or mw.ustring.match(fileDescription, "[Nn]on%-free") then return false end return true end -- Attempt to parse [[File:...]] or [[Image:...]], either anywhere (start=false) or at the start only (start=true) local function parseImage(text, start) local startre = "" if start then startre = "^" end -- a true flag restricts search to start of string local image = matchAny(text, startre .. "%[%[%s*", fileNamespaces, "%s*:.*") -- [[File: or [[Image: ... if image then image = mw.ustring.match(image, "%b[]%s*") -- matching [[...]] to handle wikilinks nested in caption end return image end -- Parse a caption, which ends at a | (end of parameter) or } (end of infobox) but may contain nested [..] and {..} local function parseCaption(caption) if not caption then return nil end local length = mw.ustring.len(caption) local position = 1 while position <= length do local linkStart, linkEnd = mw.ustring.find(caption, "%b[]", position) linkStart = linkStart or length + 1 -- avoid comparison with nil when no link local templateStart, templateEnd = mw.ustring.find(caption, "%b{}", position) templateStart = templateStart or length + 1 -- avoid comparison with nil when no template local argEnd = mw.ustring.find(caption, "[|}]", position) or length + 1 if linkStart < templateStart and linkStart < argEnd then position = linkEnd + 1 -- skip wikilink elseif templateStart < argEnd then position = templateEnd + 1 -- skip template else -- argument ends before the next wikilink or template return mw.ustring.sub(caption, 1, argEnd - 1) end end return caption -- No terminator found: return entire caption end -- Attempt to construct a [[File:...]] block from {{infobox ... |image= ...}} local function argImage(text) local token = nil local hasNamedArgs = mw.ustring.find(text, "|") and mw.ustring.find(text, "=") if not hasNamedArgs then return nil end -- filter out any template that obviously doesn't contain an image -- ensure image map is captured text = mw.ustring.gsub(text, '<!%-%-imagemap%-%->', '|imagemap=') -- find all images local hasImages = false local images = {} local captureFrom = 1 while captureFrom < mw.ustring.len(text) do local argname, position, image = mw.ustring.match(text, "|%s*([^=|]-[Ii][Mm][Aa][Gg][Ee][^=|]-)%s*=%s*()(.*)", captureFrom) if image then -- ImageCaption=, image_size=, image_upright=, etc. do not introduce an image local lcArgName = mw.ustring.lower(argname) if mw.ustring.find(lcArgName, "caption") or mw.ustring.find(lcArgName, "size") or mw.ustring.find(lcArgName, "upright") then image = nil end end if image then hasImages = true images[position] = image captureFrom = position else captureFrom = mw.ustring.len(text) end end captureFrom = 1 while captureFrom < mw.ustring.len(text) do local position, image = mw.ustring.match(text, "|%s*[^=|]-[Pp][Hh][Oo][Tt][Oo][^=|]-%s*=%s*()(.*)", captureFrom) if image then hasImages = true images[position] = image captureFrom = position else captureFrom = mw.ustring.len(text) end end captureFrom = 1 while captureFrom < mw.ustring.len(text) do local position, image = mw.ustring.match(text, "|%s*[^=|{}]-%s*=%s*()%[?%[?([^|{}]*%.%a%a%a%a?)%s*%f[|}]", captureFrom) if image then hasImages = true if not images[position] then images[position] = image end captureFrom = position else captureFrom = mw.ustring.len(text) end end if not hasImages then return nil end -- find all captions local captions = {} captureFrom = 1 while captureFrom < mw.ustring.len(text) do local position, caption = matchAny(text, "|%s*", captionParams, "%s*=%s*()([^\n]+)", captureFrom) if caption then -- extend caption to parse "| caption = Foo {{Template\n on\n multiple lines}} Bar\n" local bracedCaption = mw.ustring.match(text, "^[^\n]-%b{}[^\n]+", position) if bracedCaption and bracedCaption ~= "" then caption = bracedCaption end caption = mw.text.trim(caption) local captionStart = mw.ustring.sub(caption, 1, 1) if captionStart == '|' or captionStart == '}' then caption = nil end end if caption then -- find nearest image, and use same index for captions table local i = position while i > 0 and not images[i] do i = i - 1 if images[i] then if not captions[i] then captions[i] = parseCaption(caption) end end end captureFrom = position else captureFrom = mw.ustring.len(text) end end -- find all alt text local altTexts = {} for position, altText in mw.ustring.gmatch(text, "|%s*[Aa][Ll][Tt]%s*=%s*()([^\n]*)") do if altText then -- altText is terminated by }} or |, but first skip any matched [[...]] and {{...}} local lookFrom = math.max( -- find position after whichever comes last: start of string, end of last ]] or end of last }} mw.ustring.match(altText, ".*{%b{}}()") or 1, -- if multiple {{...}}, .* consumes all but one, leaving the last for %b mw.ustring.match(altText, ".*%[%b[]%]()") or 1) local length = mw.ustring.len(altText) local afterText = math.min( -- find position after whichever comes first: end of string, }} or | mw.ustring.match(altText, "()}}", lookFrom) or length+1, mw.ustring.match(altText, "()|", lookFrom) or length+1) altText = mw.ustring.sub(altText, 1, afterText-1) -- chop off |... or }}... which is not part of [[...]] or {{...}} altText = mw.text.trim(altText) local altTextStart = mw.ustring.sub(altText, 1, 1) if altTextStart == '|' or altTextStart == '}' then altText = nil end end if altText then -- find nearest image, and use same index for altTexts table local i = position while i > 0 and not images[i] do i = i - 1 if images[i] then if not altTexts[i] then altTexts[i] = altText end end end end end -- find all image sizes local imageSizes = {} for position, imageSizeMatch in mw.ustring.gmatch(text, "|%s*[Ii][Mm][Aa][Gg][Ee][ _]?[Ss][Ii][Zz][Ee]%s*=%s*()([^}|\n]*)") do local imageSize = mw.ustring.match(imageSizeMatch, "=%s*([^}|\n]*)") if imageSize then imageSize = mw.text.trim(imageSize ) local imageSizeStart = mw.ustring.sub(imageSize, 1, 1) if imageSizeStart == '|' or imageSizeStart == '}' then imageSize = nil end end if imageSize then -- find nearest image, and use same index for imageSizes table local i = position while i > 0 and not images[i] do i = i - 1 if images[i] then if not imageSizes[i] then imageSizes[i] = imageSize end end end end end -- sort the keys of the images table (in a table sequence), so that images can be iterated over in order local keys = {} for key, val in pairs(images) do table.insert(keys, key) end table.sort(keys) -- add in relevant optional parameters for each image: caption, alt text and image size local imageTokens = {} for _, index in ipairs(keys) do local image = images[index] local token = parseImage(image, true) -- look for image=[[File:...]] etc. if not token then image = mw.ustring.match(image, "^[^}|\n]*") -- remove later arguments token = "[[" -- Add File: unless name already begins File: or Image: if not matchAny(image, "^", fileNamespaces, "%s*:") then token = token .. "File:" end token = token .. image local caption = captions[index] if caption and mw.ustring.match(caption, "%S") then token = token .. "|" .. caption end local alt = altTexts[index] if alt then token = token .. "|alt=" .. alt end local image_size = imageSizes[index] if image_size and mw.ustring.match(image_size, "%S") then token = token .. "|" .. image_size end token = token .. "]]" end token = mw.ustring.gsub(token, "\n","") .. "\n" table.insert(imageTokens, token) end return imageTokens end local function modifyImage(image, fileArgs) if fileArgs then for _, filearg in pairs(mw.text.split(fileArgs, "|")) do -- handle fileArgs=left|border etc. local fa = mw.ustring.gsub(filearg, "=.*", "") -- "upright=0.75" → "upright" local group = {fa} -- group of "border" is ["border"]... for _, g in pairs(imageParams) do for _, a in pairs(g) do if fa == a then group = g end -- ...but group of "left" is ["right", "left", "center", "none"] end end for _, a in pairs(group) do image = mw.ustring.gsub(image, "|%s*" .. a .. "%f[%A]%s*=[^|%]]*", "") -- remove "|upright=0.75" etc. image = mw.ustring.gsub(image, "|%s*" .. a .. "%s*([|%]])", "%1") -- replace "|left|" by "|" etc. end image = mw.ustring.gsub(image, "([|%]])", "|" .. filearg .. "%1", 1) -- replace "|" by "|left|" etc. end end return image end -- a basic parser to trim down extracted wikitext -- @param text : Wikitext to be processed -- @param options : A table of options... -- options.paraflags : Which number paragraphs to keep, as either a string (e.g. '1,3-5') or a table (e.g. {1=true,2=false,3=true,4=true,5=true}. If not present, all paragraphs will be kept. -- options.fileflags : table of which files to keep, as either a string (e.g. '1,3-5') or a table (e.g. {1=true,2=false,3=true,4=true,5=true} -- options.fileargs : args for the [[File:]] syntax, such as 'left' -- options.filesOnly : only return the files and not the prose local function parse(text, options) local allParagraphs = true -- keep all paragraphs? if options.paraflags then if type(options.paraflags) ~= "table" then options.paraflags = numberFlags(options.paraflags) end for _, v in pairs(options.paraflags) do if v then allParagraphs = false end -- if any para specifically requested, don't keep all end end if is(options.filesOnly) then allParagraphs = false options.paraflags = {} end local maxfile = 0 -- for efficiency, stop checking images after this many have been found if options.fileflags then if type(options.fileflags) ~= "table" then options.fileflags = numberFlags(options.fileflags) end for k, v in pairs(options.fileflags) do if v and k > maxfile then maxfile = k end -- set maxfile = highest key in fileflags end end local fileArgs = options.fileargs and mw.text.trim(options.fileargs) if fileArgs == '' then fileArgs = nil end local leadStart = nil -- have we found some text yet? local t = "" -- the stripped down output text local fileText = "" -- output text with concatenated [[File:Foo|...]]\n entries local files = 0 -- how many images so far local paras = 0 -- how many paragraphs so far local startLine = true -- at the start of a line (no non-spaces found since last \n)? text = mw.ustring.gsub(text,"^%s*","") -- remove initial white space -- Add named files local f = options.files if f and mw.ustring.match(f, "[^%d%s%-,]") then -- filename rather than number list f = mw.ustring.gsub(f, "^%s*File%s*:%s*", "", 1) f = mw.ustring.gsub(f, "^%s*Image%s*:%s*", "", 1) f = "[[File:" .. f .. "]]" f = modifyImage(f, "thumb") f = modifyImage(f, fileArgs) if checkImage(f) then fileText = fileText .. f .. "\n" end end repeat -- loop around parsing a template, image or paragraph local token = mw.ustring.match(text, "^%b{}%s*") or false -- {{Template}} or {| Table |} if not leadStart and not token then token = mw.ustring.match(text, "^%b<>%s*%b{}%s*") end -- allow <tag>{{template}} before lead has started local line = mw.ustring.match(text, "[^\n]*") if token and line and mw.ustring.len(token) < mw.ustring.len(line) then -- template is followed by text (but it may just be other templates) line = mw.ustring.gsub(line, "%b{}", "") -- remove all templates from this line line = mw.ustring.gsub(line, "%b<>", "") -- remove all HTML tags from this line -- if anything is left, other than an incomplete further template or an image, keep the template: it counts as part of the line if mw.ustring.find(line, "%S") and not matchAny(line, "^%s*", { "{{", "%[%[%s*[Ff]ile:", "%[%[%s*[Ii]mage:" }, "") then token = nil end end if token then -- found a template which is not the prefix to a line of text if is(options.keepTables) and mw.ustring.sub(token, 1, 2) == '{|' then t = t .. token -- keep tables elseif mw.ustring.sub(token, 1, 3) == '{{#' then t = t .. token -- keep parser functions elseif leadStart then -- lead has already started, so keep the template within the text, unless it's a whole line (navbox etc.) if not is(options.filesOnly) and not startLine then t = t .. token end elseif matchAny(token, "^{{%s*", wantedBlockTemplates, "%s*%f[|}]") then t = t .. token -- keep wanted block templates elseif files < maxfile then -- discard template, but if we are still collecting images... local images = argImage(token) or {} if not images then local image = parseImage(token, false) -- look for embedded [[File:...]], |image=, etc. if image then table.insert(images, image) end end for _, image in ipairs(images) do if files < maxfile and checkImage(image) then -- if image is found and qualifies (not a sound file, non-free, etc.) files = files + 1 -- count the file, whether displaying it or not if options.fileflags and options.fileflags[files] then -- if displaying this image image = modifyImage(image, "thumb") image = modifyImage(image, fileArgs) fileText = fileText .. image end end end end else -- the next token in text is not a template token = parseImage(text, true) if token then -- the next token in text looks like an image if files < maxfile and checkImage(token) then -- if more images are wanted and this is a wanted image files = files + 1 if options.fileflags and options.fileflags[files] then local image = token -- copy token for manipulation by adding |right etc. without changing the original image = modifyImage(image, fileArgs) fileText = fileText .. image end end else -- got a paragraph, which ends at a file, image, blank line or end of text local afterEnd = mw.ustring.len(text) + 1 local blankPosition = mw.ustring.find(text, "\n%s*\n") or afterEnd -- position of next paragraph delimiter (or end of text) local endPosition = math.min( -- find position of whichever comes first: [[File:, [[Image: or paragraph delimiter mw.ustring.find(text, "%[%[%s*[Ff]ile%s*:") or afterEnd, mw.ustring.find(text, "%[%[%s*[Ii]mage%s*:") or afterEnd, blankPosition) token = mw.ustring.sub(text, 1, endPosition-1) if blankPosition < afterEnd and blankPosition == endPosition then -- paragraph ends with a blank line token = token .. mw.ustring.match(text, "\n%s*\n", blankPosition) end local isHatnote = not(leadStart) and mw.ustring.sub(token, 1, 1) == ':' if not isHatnote then leadStart = leadStart or mw.ustring.len(t) + 1 -- we got a paragraph, so mark the start of the lead section paras = paras + 1 if allParagraphs or (options.paraflags and options.paraflags[paras]) then t = t .. token end -- add if this paragraph wanted end end -- of "else got a paragraph" end -- of "else not a template" if token then text = mw.ustring.sub(text, mw.ustring.len(token)+1) end -- remove parsed token from remaining text startLine = mw.ustring.find(token, "\n%s*$") -- will the next token be the first non-space on a line? until not text or text == "" or not token or token == "" -- loop until all text parsed text = mw.ustring.gsub(t, "\n+$", "") -- remove trailing line feeds, so "{{Transclude text excerpt|Foo}} more" flows on one line return fileText .. text end local function cleanupText(text, options) text = mw.ustring.gsub(text, "<!%-%-.-%-%->","") -- remove HTML comments text = mw.ustring.gsub(text, "<[Nn][Oo][Ii][Nn][Cc][Ll][Uu][Dd][Ee]>.-</[Nn][Oo][Ii][Nn][Cc][Ll][Uu][Dd][Ee]>", "") -- remove noinclude bits if mw.ustring.find(text, "[Oo][Nn][Ll][Yy][Ii][Nn][Cc][Ll][Uu][Dd][Ee]") then -- avoid expensive search if possible text = mw.ustring.gsub(text, "</[Oo][Nn][Ll][Yy][Ii][Nn][Cc][Ll][Uu][Dd][Ee]>.-<[Oo][Nn][Ll][Yy][Ii][Nn][Cc][Ll][Uu][Dd][Ee]>", "") -- remove text between onlyinclude sections text = mw.ustring.gsub(text, "^.-<[Oo][Nn][Ll][Yy][Ii][Nn][Cc][Ll][Uu][Dd][Ee]>", "") -- remove text before first onlyinclude section text = mw.ustring.gsub(text, "</[Oo][Nn][Ll][Yy][Ii][Nn][Cc][Ll][Uu][Dd][Ee]>.*", "") -- remove text after last onlyinclude section end if not is(options.keepSubsections) then text = mw.ustring.gsub(text, "\n==.*","") -- remove first ==Heading== and everything after it text = mw.ustring.gsub(text, "^==.*","") -- ...even if the lead is empty end if not is(options.keepRefs) then text = mw.ustring.gsub(text, "<%s*[Rr][Ee][Ff][^>]-/%s*>", "") -- remove refs cited elsewhere text = mw.ustring.gsub(text, "<%s*[Rr][Ee][Ff].->.-<%s*/%s*[Rr][Ee][Ff]%s*>", "") -- remove refs text = mw.ustring.gsub(text, "%b{}", stripTemplate) -- remove unwanted templates such as references end text = mw.ustring.gsub(text, "<%s*[Ss][Cc][Oo][Rr][Ee].->.-<%s*/%s*[Ss][Cc][Oo][Rr][Ee]%s*>", "") -- remove musical scores text = mw.ustring.gsub(text, "<%s*[Ii][Mm][Aa][Gg][Ee][Mm][Aa][Pp].->.-<%s*/%s*[Ii][Mm][Aa][Gg][Ee][Mm][Aa][Pp]%s*>", convertImageMap) -- convert imagemaps into standard images text = mw.ustring.gsub(text, "%s*{{%s*[Tt][Oo][Cc].-}}", "") -- remove most common tables of contents text = mw.ustring.gsub(text, "%s*__[A-Z]*TOC__", "") -- remove TOC behavior switches text = mw.ustring.gsub(text, "\n%s*{{%s*[Pp]p%-.-}}", "\n") -- remove protection templates text = mw.ustring.gsub(text, "%s*{{[^{|}]*[Ss]idebar%s*}}", "") -- remove most sidebars text = mw.ustring.gsub(text, "%s*{{[^{|}]*%-[Ss]tub%s*}}", "") -- remove most stub templates text = mw.ustring.gsub(text, "%s*%[%[%s*:?[Cc]ategory:.-%]%]", "") -- remove categories text = mw.ustring.gsub(text, "^:[^\n]+\n","") -- remove DIY hatnote indented with a colon return text end -- Parse a ==Section== from a page local function getSection(text, section, mainOnly) local escapedSection = mw.ustring.gsub(mw.uri.decode(section), "([%^%$%(%)%%%.%[%]%*%+%-%?])", "%%%1") -- %26 → & etc, then ^ → %^ etc. local level, content = mw.ustring.match(text .. "\n", "\n(==+)%s*" .. escapedSection .. "%s*==.-\n(.*)") if not content then return luaError("sectionNotFound", section) end local nextSection if mainOnly then nextSection = "\n==.*" -- Main part of section terminates at any level of header else nextSection = "\n==" .. mw.ustring.rep("=?", #level - 2) .. "[^=].*" -- "===" → "\n===?[^=].*", matching "==" or "===" but not "====" end content = mw.ustring.gsub(content, nextSection, "") -- remove later sections with headings at this level or higher if mw.ustring.match(content, "^%s*$") then return luaError("sectionEmpty", section) end return content end -- Parse a <section begin="Name of the fragment"> -- @todo Implement custom parsing of fragments rather than relying on #lst local function getFragment(page, fragment) local frame = mw.getCurrentFrame() local text = frame:callParserFunction('#lst', page, fragment) if mw.ustring.match(text, "^%s*$") then return luaError("fragmentEmpty", fragment) end return text end -- Remove unmatched <tag> or </tag> tags local function fixTags(text, tag) local startCount = 0 for i in mw.ustring.gmatch(text, "<%s*" .. tag .. "%f[^%w_].->") do startCount = startCount + 1 end local endCount = 0 for i in mw.ustring.gmatch(text, "<%s*/" .. tag .. "%f[^%w_].->") do endCount = endCount + 1 end if startCount > endCount then -- more <tag> than </tag>: remove the last few <tag>s local i = 0 text = mw.ustring.gsub(text, "<%s*" .. tag .. "%f[^%w_].->", function(t) i = i + 1 if i > endCount then return "" else return nil end end) -- "end" here terminates the anonymous replacement function(t) passed to gsub elseif endCount > startCount then -- more </tag> than <tag>: remove the first few </tag>s text = mw.ustring.gsub(text, "<%s*/" .. tag .. "%f[^%w_].->", "", endCount - startCount) end return text end local function fixTemplates(text) repeat -- hide matched {{template}}s including nested templates local t = text text = mw.ustring.gsub(text, "{(%b{})}", "\27{\27%1\27}\27") -- {{sometemplate}} → E{Esometemplate}E}E where E represents escape text = mw.ustring.gsub(text, "(< *math[^>]*>[^<]-)}}(.-< */math *>)", "%1}\27}\27%2") -- <math>\{sqrt\{hat{x}}</math> → <math>\{sqrt\{hat{x}E}E</math> until text == t text = text.gsub(text, "([{}])%1[^\27].*", "") -- remove unmatched {{, }} and everything thereafter, avoiding }E}E etc. text = text.gsub(text, "([{}])%1$", "") -- remove unmatched {{, }} at end of text text = mw.ustring.gsub(text, "\27", "") -- unhide matched pairs: E{E{ → {{, etc. return text end local function fixLinks(text) repeat -- hide matched [[wikilink]]s including nested links like [[File:Example.jpg|Some [[nested]] link.]] local t = text text = mw.ustring.gsub(text, "%[(%b[])%]", "\27[\27%1\27]\27") until text == t text = text.gsub(text, "([%[%]])%1[^\27].*", "") -- remove unmatched [[ or ]] and everything thereafter, avoiding ]E]E etc. text = text.gsub(text, "([%[%]])%1$", "") -- remove unmatched [[ or ]] at end of text text = mw.ustring.gsub(text, "\27", "") -- unhide matched pairs: ]E]E → ]], etc. return text end -- Replace the first call to each reference defined outside of the text for the full reference, to prevent undefined references -- Then prefix the page title to the reference names to prevent conflicts -- that is, replace <ref name="Foo"> for <ref name="Title of the article Foo"> -- and also <ref name="Foo" /> for <ref name="Title of the article Foo" /> -- also remove reference groups: <ref name="Foo" group="Bar"> for <ref name="Title of the article Foo"> -- and <ref group="Bar"> for <ref> -- @todo The current regex may fail in cases with both kinds of quotes, like <ref name="Darwin's book"> local function fixRefs(text, page, full) if not full then full = getContent(page) end local refNames = {} local refName local refBody local position = 1 while position < mw.ustring.len(text) do refName, position = mw.ustring.match(text, "<%s*[Rr][Ee][Ff][^>]*name%s*=%s*[\"']?([^\"'>]+)[\"']?[^>]*/%s*>()", position) if refName then refName = mw.text.trim(refName) if not refNames[refName] then -- make sure we process each ref name only once table.insert(refNames, refName) refName = mw.ustring.gsub(refName, "[%^%$%(%)%.%[%]%*%+%-%?%%]", "%%%0") -- escape special characters refBody = mw.ustring.match(text, "<%s*[Rr][Ee][Ff][^>]*name%s*=%s*[\"']?%s*" .. refName .. "%s*[\"']?[^>/]*>.-<%s*/%s*[Rr][Ee][Ff]%s*>") if not refBody then -- the ref body is not in the excerpt refBody = mw.ustring.match(full, "<%s*[Rr][Ee][Ff][^>]*name%s*=%s*[\"']?%s*" .. refName .. "%s*[\"']?[^/>]*>.-<%s*/%s*[Rr][Ee][Ff]%s*>") if refBody then -- the ref body was found elsewhere text = mw.ustring.gsub(text, "<%s*[Rr][Ee][Ff][^>]*name%s*=%s*[\"']?%s*" .. refName .. "%s*[\"']?[^>]*/?%s*>", refBody, 1) end end end else position = mw.ustring.len(text) end end text = mw.ustring.gsub(text, "<%s*[Rr][Ee][Ff][^>]*name%s*=%s*[\"']?([^\"'>/]+)[\"']?[^>/]*(/?)%s*>", '<ref name="' .. page .. ' %1" %2>') text = mw.ustring.gsub(text, "<%s*[Rr][Ee][Ff][^>]*group%s*=%s*[\"']?[^\"'>/]+[\"']%s*>", '<ref>') return text end -- Replace the bold title or synonym near the start of the article by a wikilink to the article function linkBold(text, page) local lang = mw.language.getContentLanguage() local position = mw.ustring.find(text, "'''" .. lang:ucfirst(page) .. "'''", 1, true) -- look for "'''Foo''' is..." (uc) or "A '''foo''' is..." (lc) or mw.ustring.find(text, "'''" .. lang:lcfirst(page) .. "'''", 1, true) -- plain search: special characters in page represent themselves if position then local length = mw.ustring.len(page) text = mw.ustring.sub(text, 1, position + 2) .. "[[" .. mw.ustring.sub(text, position + 3, position + length + 2) .. "]]" .. mw.ustring.sub(text, position + length + 3, -1) -- link it else -- look for anything unlinked in bold, assumed to be a synonym of the title (e.g. a person's birth name) text = mw.ustring.gsub(text, "()'''(.-'*)'''", function(a, b) if not mw.ustring.find(b, "%[") then -- if not wikilinked return "'''[[" .. page .. "|" .. b .. "]]'''" -- replace '''Foo''' by '''[[page|Foo]]''' else return nil -- instruct gsub to make no change end end, 1) -- "end" here terminates the anonymous replacement function(a, b) passed to gsub end return text end -- Main function for modules local function get(page, options) if options.errors then errors = options.errors end if not page or page == "" then return luaError("noPage") end local text page, section = mw.ustring.match(page, "([^#]+)#?([^#]*)") text, page = getContent(page) if not page then return luaError("noPage") end if not text then return luaError("pageNotFound", page) end local full = text -- save the full text for later if is(options.fragment) then text = getFragment(page, options.fragment) end if is(section) then text = getSection(text, section) end -- Strip text of all undersirables text = cleanupText(text, options) text = parse(text, options) -- Replace the bold title or synonym near the start of the article by a wikilink to the article text = linkBold(text, page) -- Remove '''bold text''' if requested if is(options.nobold) then text = mw.ustring.gsub(text, "'''", "") end -- Keep only tables if requested if is(options.tablesOnly) then text = getTables(text) end -- Keep only lists if requested if is(options.listsOnly) then text = getLists(text) end -- Seek and destroy unterminated templates, links and tags text = fixTemplates(text) text = fixLinks(text) text = fixTags(text, "div") -- Fix broken references if is(options.keepRefs) then text = fixRefs(text, page, full) end -- Add (Full article...) link if options.moreLinkText then text = text .. " ('''[[" .. page .. "|" .. options.moreLinkText .. "]]''')" end return text end -- Main invocation function for templates local function main(frame) local args = parseArgs(frame) local page = args[1] local ok, text = pcall(get, page, args) if not ok then text = errorMessages.prefix .. text if errorCategory and errorCategory ~= '' and mw.title.getCurrentTitle().isContentPage then text = text .. '[[' .. errorCategory .. ']]' end return mw.html.create('div'):addClass('error'):wikitext(text) end return frame:preprocess(text) end local function getMoreLinkText(more) local defaultText = "Full article..." -- default text, same as in [[Template:TFAFULL]] if not more or more == '' then -- nil/empty => use default return defaultText end if not yesno(more, true) then -- falsy values => suppress the link return nil end return more end -- Shared invocation function used by templates meant for portals local function portal(frame, template) local args = parseArgs(frame) errors = args['errors'] or false -- disable error reporting unless requested -- There should be at least one argument except with selected=Foo and Foo=Somepage if #args < 1 and not (template == "selected" and args[template] and args[args[template]]) then return wikiError("noPage") end -- Figure out the page to excerpt local page local candidates = {} if template == "lead" then page = args[1] page = mw.text.trim(page) if not page or page == "" then return wikiError("noPage") end candidates = { page } elseif template == "selected" then local key = args[template] local count = #args if tonumber(key) then -- normalise article number into the range 1..#args key = key % count if key == 0 then key = count end end page = args[key] page = mw.text.trim(page) if not page or page == "" then return wikiError("noPage") end candidates = { page } elseif template == "linked" or template == "listitem" then local source = args[1] local text, source = getContent(source) if not source then return wikiError("noPage") elseif not text then return wikiError("noPage") end local section = args.section if section then -- check relevant section only text = getSection(text, section) if not text then return wikiError("sectionNotFound", section) end end -- Replace annotated links with real links text = mw.ustring.gsub(text, "{{%s*[Aa]nnotated[ _]link%s*|%s*(.-)%s*}}", "[[%1]]") if template == "linked" then for candidate in mw.ustring.gmatch(text, "%[%[%s*([^%]|\n]*)") do table.insert(candidates, candidate) end else -- listitem: first wikilink on a line beginning *, :#, etc. except in "See also" or later section text = mw.ustring.gsub(text, "\n== *See also.*", "") for candidate in mw.ustring.gmatch(text, "\n:*[%*#][^\n]-%[%[%s*([^%]|\n]*)") do table.insert(candidates, candidate) end end elseif template == "random" then for key, value in pairs(args) do if value and type(key) == "number" then table.insert(candidates, mw.text.trim(value)) end end end -- Build an options array for the Excerpt module out of the arguments and the desired defaults local options = { errors = args['errors'] or false, fileargs = args['fileargs'], fileflags = numberFlags( args['files'] ), paraflags = numberFlags( args['paragraphs'] ), moreLinkText = getMoreLinkText(args['more']) } -- Select a random candidate and make sure its valid local text local candidateCount = #candidates if candidateCount > 0 then local candidateKey = 1 local candidateString local candidateArgs if candidateCount > 1 then math.randomseed(os.time()) end while (not text or text == "") and candidateCount > 0 do if candidateCount > 1 then candidateKey = math.random(candidateCount) end -- pick a random candidate candidateString = candidates[candidateKey] if candidateString and candidateString ~= "" then -- We have page or [[page]] or [[page|text]], possibly followed by |opt1|opt2... page, candidateArgs = mw.ustring.match(candidateString, "^%s*(%[%b[]%])%s*|?(.*)") if page and page ~= "" then page = mw.ustring.match(page, "%[%[([^|%]]*)") -- turn [[page|text]] into page, discarding text else -- we have page or page|opt... page, candidateArgs = mw.ustring.match(candidateString, "%s*([^|]*[^|%s])%s*|?(.*)") end -- candidate arguments (even if value is "") have priority over global arguments if candidateArgs and candidateArgs ~= "" then for _, t in pairs(mw.text.split(candidateArgs, "|")) do local k, v = mw.ustring.match(t, "%s*([^=]-)%s*=(.-)%s*$") if k == 'files' then options.fileflags = numberFlags(v) elseif k == 'paragraphs' then options.paraflags = numberFlags(v) elseif k == 'more' then args.more = v else options[k] = v end end end if page and page ~= "" then local section = mw.ustring.match(page, "[^#]+#([^#]+)") -- save the section text, page = getContent(page) -- make sure the page exists if page and page ~= "" and text and text ~= "" then if args.nostubs then local isStub = mw.ustring.find(text, "%s*{{[^{|}]*%-[Ss]tub%s*}}") if isStub then text = nil end end if section and section ~= "" then page = page .. '#' .. section -- restore the section end text = get(page, options) end end end table.remove(candidates, candidateKey) -- candidate processed candidateCount = candidateCount - 1 -- ensure that we exit the loop after all candidates are done end end if not text or text == "" then return wikiError("No valid pages found") end if args.showall then local separator = args.showall if separator == "" then separator = "{{clear}}{{hr}}" end for _, candidate in pairs(candidates) do local t = get(candidate, options) if t ~= "" then text = text .. separator .. t end end end -- Add a collapsed list of pages which might appear if args.list and not args.showall then local list = args.list if list == "" then list = "Other articles" end text = text .. "{{collapse top|title={{resize|85%|" ..list .. "}}|bg=fff}}{{hlist" for _, candidate in pairs(candidates) do if mw.ustring.match(candidate, "%S") then text = text .. "|[[" .. mw.text.trim(candidate) .. "]]" end end text = text .. "}}\n{{collapse bottom}}" end return frame:preprocess(text) end -- Old invocation function used by {{Excerpt}} local function excerpt(frame) local args = parseArgs(frame) -- Make sure the requested page exists local page = args[1] or args.article or args.source or args.page if not page then return wikiError("noPage") end local title = mw.title.new(page) if not title then return wikiError("noPage") end if title.isRedirect then title = title.redirectTarget end if not title.exists then return wikiError("pageNotFound", page) end page = title.prefixedText -- Define some useful variables local section = args[2] or args.section or mw.ustring.match(args[1], "[^#]+#([^#]+)") local tag = args.tag or 'div' -- Define the HTML elements local block = mw.html.create(tag):addClass('excerpt-block') if is(args.indicator) then block:addClass('excerpt-indicator') end local style = frame:extensionTag{ name = 'templatestyles', args = { src = 'Excerpt/styles.css' } } local hatnote if not args.nohat then if args.this then hatnote = args.this elseif args.indicator then hatnote = 'This is' elseif args.only == 'file' then hatnote = 'This file is' elseif args.only == 'file' then hatnote = 'These files are' elseif args.only == 'list' then hatnote = 'This list is' elseif args.only == 'lists' then hatnote = 'These lists are' elseif args.only == 'table' then hatnote = 'This table is' elseif args.only == 'tables' then hatnote = 'These tables are' else hatnote = 'This section is' end hatnote = hatnote .. ' an excerpt from ' if section then hatnote = hatnote .. '[[' .. page .. '#' .. section .. '|' .. page .. ' § ' .. section .. ']]' else hatnote = hatnote .. '[[' .. page .. ']]' end hatnote = hatnote .. "''" .. '<span class="mw-editsection-like plainlinks"><span class="mw-editsection-bracket">[</span>[' hatnote = hatnote .. title:fullUrl('action=edit') .. ' edit' hatnote = hatnote .. ']<span class="mw-editsection-bracket">]</span></span>' .. "''" hatnote = require('Module:Hatnote')._hatnote(hatnote, {selfref=true}) or wikiError('Error generating hatnote') end -- Build the module options out of the template arguments and the desired defaults local options = { fileflags = numberFlags( args['files'] or 1 ), paraflags = numberFlags( args['paragraphs'] ), filesOnly = is( args['only'] == 'file' or args['only'] == 'files' ), listsOnly = is( args['only'] == 'list' or args['only'] == 'lists'), tablesOnly = is( args['only'] == 'table' or args['only'] == 'tables' ), keepTables = is( args['tables'] or true ), keepRefs = is( args['references'] or true ), keepSubsections = is( args['subsections'] ), nobold = not is( args['bold'] ), fragment = args['fragment'] } -- Get the excerpt itself if section then page = page .. '#' .. section end local ok, excerpt = pcall(e.get, page, options) if not ok then return wikiError(excerpt) end excerpt = "\n" .. excerpt -- line break is necessary to prevent broken tables and lists if mw.title.getCurrentTitle().isContentPage then excerpt = excerpt .. '[[Category:Articles with excerpts]]' end excerpt = frame:preprocess(excerpt) excerpt = mw.html.create(tag):addClass('excerpt'):wikitext(excerpt) -- Combine and return the elements return block:node(style):node(hatnote):node(excerpt) end -- Entry points for templates function p.main(frame) return main(frame) end function p.wikiError(message, value) return wikiError(message, value) end function p.lead(frame) return portal(frame, "lead") end -- {{Transclude lead excerpt}} reads a randomly selected article linked from the given page function p.linked(frame) return portal(frame, "linked") end -- {{Transclude linked excerpt}} reads a randomly selected article linked from the given page function p.listitem(frame) return portal(frame, "listitem") end -- {{Transclude list item excerpt}} reads a randomly selected article listed on the given page function p.random(frame) return portal(frame, "random") end -- {{Transclude random excerpt}} reads any article (default for invoke with one argument) function p.selected(frame) return portal(frame, "selected") end -- {{Transclude selected excerpt}} reads the article whose key is in the selected= parameter function p.excerpt(frame) return excerpt(frame) end -- {{Excerpt}} transcludes part of an article into another article -- Entry points for other Lua modules function p.get(page, options) return get(page, options) end function p.getContent(page) return getContent(page) end function p.getSection(text, section) return getSection(text, section) end function p.getTables(text, options) return getTables(text, options) end function p.getLists(text, options) return getLists(text, options) end function p.parse(text, options) return parse(text, options) end function p.parseImage(text, start) return parseImage(text, start) end function p.parseArgs(frame) return parseArgs(frame) end function p.argImage(text) return argImage(text) end function p.checkImage(image) return checkImage(image) end function p.cleanupText(text, options) return cleanupText(text, options) end function p.luaError(message, value) return luaError(message, value) end function p.is(value) return is(value) end function p.numberFlags(str) return numberFlags(str) end function p.getMoreLinkText(more) return getMoreLinkText(more) end -- Entry points for backwards compatibility function p.getsection(text, section) return getSection(text, section) end function p.parseimage(text, start) return parseImage(text, start) end function p.checkimage(image) return checkImage(image) end function p.argimage(text) return argImage(text) end function p.numberflags(str) return numberFlags(str) end return p kr77zgwmgh6r3d2i37s3a9mir4pihi2 Module:Random slideshow 828 3291 36473 2025-12-15T16:57:00Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Creates a slideshow gallery where the order is randomised. Intended for use on portal pages. local p = {} local excerptModule = require('Module:Excerpt/portals') local randomModule = require('Module:Random') local redirectModule = require('Module:Redirect') function cleanupArgs(argsTable) local cleanArgs = {} for key, val in pairs(argsTable) do if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val ~= '' then cleanA...' 36473 Scribunto text/plain -- Creates a slideshow gallery where the order is randomised. Intended for use on portal pages. local p = {} local excerptModule = require('Module:Excerpt/portals') local randomModule = require('Module:Random') local redirectModule = require('Module:Redirect') function cleanupArgs(argsTable) local cleanArgs = {} for key, val in pairs(argsTable) do if type(val) == 'string' then val = val:match('^%s*(.-)%s*$') if val ~= '' then cleanArgs[key] = val end else cleanArgs[key] = val end end return cleanArgs end function normaliseCssMeasurement(input) local suffix = string.reverse(string.sub(string.reverse(input), 1, 2)) if ( suffix == 'px' ) or ( suffix == 'em' ) or ( string.sub(suffix, 2, 2) == '%' ) then return input else return input .. 'px' end end function isDeclined(val) if not val then return false end local declinedWords = " decline declined exclude excluded false none not no n off omit omitted remove removed " return string.find(declinedWords , ' '..val..' ', 1, true ) and true or false end function makeOutput(galleryLines, maxWidth, containerClassName, nonRandom) local randomiseArgs = { ['t'] = galleryLines } local sortedLines = nonRandom and galleryLines or randomModule.main('array', randomiseArgs) local galleryContent = table.concat(sortedLines, '\n') local output = '<div class="' .. containerClassName .. '" style="max-width:' .. normaliseCssMeasurement(maxWidth) .. '; margin:-4em auto;">{{#tag:gallery|' .. galleryContent .. '|mode=slideshow}}</div>' return output end function makeGalleryLine(file, caption, credit) local title = mw.title.new(file, "File" ) if not title then return "File:Blank.png{{!}}{{Error|File [[:File:" .. file .. "]] does not exist.}}" end local creditLine = ( credit and '<p><span style="font-size:88%">' .. credit .. '</span></p>' or '' ) return title.prefixedText .. '{{!}}' .. ( caption or '' ) .. creditLine end function makeGalleryLinesTable(args) local galleryLinesTable = {} local i = 1 while args[i] do table.insert(galleryLinesTable, makeGalleryLine(args[i], args[i+1], args['credit' .. (i+1)/2])) i = i + 2 end return galleryLinesTable end function hasCaption(line) local caption = mw.ustring.match(line, ".-{{!}}(.*)") -- require caption to exist with more than 5 characters (avoids sizes etc being mistaken for captions) return caption and #caption>5 and true or false end function extractGalleryFiles(wikitext) local gallery = mw.ustring.match(wikitext, '<gallery.->%s*(.-)%s*</gallery>') if not gallery then return false end gallery = mw.ustring.gsub(gallery, '|', '{{!}}') return mw.text.split(gallery, '%c') end function extractRegularFiles(wikitext) local files = {} local frame = mw.getCurrentFrame() local expand = function(template) return frame:preprocess(template) end for file in mw.ustring.gmatch(wikitext, '%b[]' ) do -- remove keywords that don't work in galleries file = mw.ustring.gsub(file, '|%s*thumb%s*([|%]])', '%1') file = mw.ustring.gsub(file, '|%s*thumbnail%s*([|%]])', '%1') file = mw.ustring.gsub(file, '|%s*left%s*([|%]])', '%1') file = mw.ustring.gsub(file, '|%s*right%s*([|%]])', '%1') file = mw.ustring.gsub(file, '|%s*center%s*([|%]])', '%1') file = mw.ustring.gsub(file, '|%s*framed?%s*([|%]])', '%1') file = mw.ustring.gsub(file, '|%s*frameless%s*([|%]])', '%1') file = mw.ustring.gsub(file, '|%s*upright%s*([|%]])', '%1') file = mw.ustring.gsub(file, '|%s*upright%s*=.-([|%]])', '%1') -- remove spaces prior to captions (which cause pre-formatted text) file = mw.ustring.gsub(file, '|%s*', '|') -- remove sizes, which sometimes get mistaken for captions file = mw.ustring.gsub(file, '|%d*x?%d+px([|%]])', '%1') -- expand templates file = mw.ustring.gsub(file, '{%b{}}', expand) -- remove loose closing braces which don't have matching opening braces file = mw.ustring.gsub(file, '}}', '') -- remove loose opening braces which don't have matching closing braces (and the subsequent content, which is probably just a template name) file = mw.ustring.gsub(file, '{{.-([|%]])', '$1') -- replace pipes and equals (which would otherwise break the {{#tag:}} syntax) file = mw.ustring.gsub(file, '|', '{{!}}') file = mw.ustring.gsub(file, '=', '{{=}}') -- remove linebreaks file = mw.ustring.gsub(file, '\n\n', '<br>') file = mw.ustring.gsub(file, '\n', '') -- remove surrounding square brackets file = mw.ustring.gsub(file, '^%[%[', '') file = mw.ustring.gsub(file, '%]%]$', '') table.insert(files, file) end return files end function makeTranscludedGalleryLinesTables(args) local namespaceNumber = function(pagetitle) local titleObject = mw.title.new(pagetitle) return titleObject and titleObject.namespace end local lines = {} local i = 1 while args[i] do if namespaceNumber(args[i]) == 6 then -- file namespace -- args[i] is either just the filename, or uses syntax File:Name.jpg##Caption##Credit local parts = mw.text.split(args[i], '##%s*') local filename = parts[1] local caption = args['caption'..i] or parts[2] or false local credit = args['credit'..i] or parts[3] or false local line = makeGalleryLine(filename, caption, credit) table.insert(lines, line) else local content, pagename = excerptModule.getContent(args[i]) if not pagename then return error('Cannot read a valid page for "' .. args[i] .. '"', 0) elseif not content then return error('No content found on page "' .. args[i] .. '"', 0) end if args['section'..i] then content = excerptModule.getSection(content, args['section'..i]) or '' end content = excerptModule.cleanupText(content, {keepSubsections=true}) -- true means keep subsections local galleryFiles = extractGalleryFiles(content) if galleryFiles then for _, f in pairs(galleryFiles) do if hasCaption(f) then local filename = string.gsub(f, '{{!}}.*', '') local isOkay = excerptModule.checkImage(filename) if isOkay then table.insert(lines, f) end end end end local otherFiles = excerptModule.parse(content, {fileflags="1-100", filesOnly=true}) if otherFiles then for _, f in pairs(extractRegularFiles(otherFiles)) do if f and f ~= '' and mw.ustring.sub(f, 1, 5) == 'File:' and hasCaption(f) then table.insert(lines, f) end end end end i = i + 1 end return ( #lines > 0 ) and lines or error('No images found') end p._main = function(args, transclude, containerClassName) if not args[1] then return error(linked and 'No page specified' or 'No page specified', 0) end local lines = transclude and makeTranscludedGalleryLinesTables(args) or makeGalleryLinesTable(args) return makeOutput(lines, args.width or '100%', containerClassName or 'randomSlideshow-container', isDeclined(args.random)) end p.main = function(frame) local parent = frame.getParent(frame) local parentArgs = parent.args local args = cleanupArgs(parentArgs) local output = p._main(args, false) return frame:extensionTag{ name='templatestyles', args = { src='Module:Random slideshow/styles.css'} } .. frame:preprocess(output) end p.transclude = function(frame) local parent = frame.getParent(frame) local parentArgs = parent.args local args = cleanupArgs(parentArgs) local output = p._main(args, true) return frame:extensionTag{ name='templatestyles', args = { src='Module:Random slideshow/styles.css'} } .. frame:preprocess(output) end return p 0mdxs60eeuz9kqoup9vpi6ob08cjdt1 Module:External links/conf/General 828 3292 36474 2025-12-15T16:58:06Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local configured_claims = {} local function commons_formatter(id) return "https://commons.wikimedia.org/wiki/Category:" .. id:gsub(" ", "_") end configured_claims['el'] = { -- { prop='P373', message="[$2 ''$1''] – pictures, videos or audio at [[Wikimedia Commons]]$3", short="[$2 Wikimedia Commons]", langcode='en', url_f=commons_formatter }, -- Αθλητισμός --- Καλαθοσφαίριση { prop='P3542', message='[$...' 36474 Scribunto text/plain local configured_claims = {} local function commons_formatter(id) return "https://commons.wikimedia.org/wiki/Category:" .. id:gsub(" ", "_") end configured_claims['el'] = { -- { prop='P373', message="[$2 ''$1''] – pictures, videos or audio at [[Wikimedia Commons]]$3", short="[$2 Wikimedia Commons]", langcode='en', url_f=commons_formatter }, -- Αθλητισμός --- Καλαθοσφαίριση { prop='P3542', message='[$2 $1] στη [[FIBA]]$3', short='[$2 FIBA]', langcode='en' }, { prop='P3536', message='[$2 $1] στην [[Ευρωλίγκα]]$3', short='[$2 EuroLeague]', langcode='en' }, { prop='P3647', message='[$2 $1] στο [[NBA]]$3', short='[$2 NBA]', langcode='en' }, --- Ποδόσφαιρο { prop='P1469', message='[$2 $1] στη [[FIFA]] (αρχειοθετημένος)$3', short='[$2 FIFA (αρχειοθετημένος)]', langcode='en' }, -- uses archived URL { prop='P2276', message='[$2 $1] στην [[UEFA]]$3', short='[$2 UEFA]', langcode='en' }, { prop='P7360', message='[$2 $1] στην [[UEFA]] (αρχειοθετημένος)$3', short='[$2 UEFA (αρχειοθετημένος)]', langcode='en' }, { prop='P10995', message='[$2 $1] στο National-Football-Teams.com$3', short='[$2 National-Football-Teams.com]', langcode='en' }, { prop='P2574', message='[$2 $1 προφίλ παίκτη] στο National-Football-Teams.com', langcode='en', genitive=true }, -- Κινηματογράφος { prop='P345', message='[$2 $1] στην [[Internet Movie Database|IMDb]]$3', short='[$2 IMDb]', langcode='en' }, { prop='P1562', message='[$2 $1] στο [[AllMovie]]$3', short='[$2 AllMovie]', langcode='en' }, { prop='P1258', message='[$2 $1] στο [[Rotten Tomatoes]]$3', short='[$2 Rotten Tomatoes]', langcode='en' }, { prop='P1712', message='[$2 $1] στο [[Metacritic]]$3', short='[$2 Metacritic]', langcode='en' }, { prop='P1237', message='[$2 $1] στο [[Box Office Mojo]]$3', short='[$2 Cine gr]', langcode='en' }, { prop='P2631', message='[$2 $1] στο TCMDB$3', short='[$2 TCMDB]', langcode='en' }, { prop='P1265', message='[$2 $1] στο [[AlloCine]]$3', short='[$2 AlloCine]', langcode='fr' }, { prop='P3129', message='[$2 $1] στο Cine.gr (αρχειοθετημένος)$3', short='[$2 Cine gr]', langcode='el' }, { prop='P3593', message='[$2 $1] στο [[Αμερικανικό Ινστιτούτο Κινηματογράφου]]$3', short='[$2 AFI]' }, { prop='P5340', message='[$2 $1] στο [[Αμερικανικό Ινστιτούτο Κινηματογράφου]]$3', short='[$2 AFI]', langcode='en' }, { prop='P4438', message='[$2 $1] στο [[Βρετανικό Ινστιτούτο Κινηματογράφου]]$3', short='[$2 BFI]', langcode='en' }, } local messages_conf = {} messages_conf['el'] = { ['short-list-separator'] = ', ', ['with-data-cat'] = '[[Κατηγορίαν:Σελίδα που χρησιμοποιεί συνδέσμους με δεδομένα των Wikidata]]', ['no-data-text'] = "", ['no-data-cat'] = '[[Κατηγορίαν:Σελίδα που δεν έχει δεδομένα στα Wikidata]]', ['no-wikilink'] = "''Αυτή η σελίδα δεν έχει συνδέσμους στα Wikidata''", } local limits = { ['links-shown'] = 8, -- μέγιστος αριθμός συνδέσμων που εμφανίζονται στο λήμμα. } local p = {} function p.getConfiguredClaims (self, lang) return configured_claims[lang] end function p.getLimits (self) return limits end function p.getMessage (self, lang, msg) return messages_conf[lang][msg] end -- metatable for the export local mt = { -- adjust the installation of the module ['__call'] = function (self, lang) self.configured_claims = configured_claims[lang] self.messages_conf = messages_conf[lang] return self end } -- install the metatable setmetatable(p, mt) return p q2vgkbpvevr5dzvsn5mquflk9lk8u44 Πρότυπον:External links 10 3293 36475 2025-12-15T16:58:59Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#invoke:External links|getLinks|conf=General}}<noinclude> {{documentation}} </noinclude>' 36475 wikitext text/x-wiki {{#invoke:External links|getLinks|conf=General}}<noinclude> {{documentation}} </noinclude> rnab8mpr68iv8oagn2a6tg0kgi1dml8 Module:External links 828 3294 36476 2025-12-15T17:00:36Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'require('strict') -- local genitive = require('Module:Genitive')._genitive local contLang = mw.language.getContentLanguage() local cmodule = {} local conf = require 'Module:External links/conf'(contLang:getCode()) local hasdatafromwikidata = false local hasdatafromlocal = false local haswikidatalink = true -- we assume it's connected local p = {} local function getLabel(entity, use_genitive, pagetitle) local label = (pagetitle and pagetitle ~=...' 36476 Scribunto text/plain require('strict') -- local genitive = require('Module:Genitive')._genitive local contLang = mw.language.getContentLanguage() local cmodule = {} local conf = require 'Module:External links/conf'(contLang:getCode()) local hasdatafromwikidata = false local hasdatafromlocal = false local haswikidatalink = true -- we assume it's connected local p = {} local function getLabel(entity, use_genitive, pagetitle) local label = (pagetitle and pagetitle ~= '') and pagetitle or nil if not label and not entity then label = mw.title.getCurrentTitle().text elseif not label then label = mw.wikibase.label(entity.id) or mw.title.getCurrentTitle().text end -- return use_genitive and genitive(label, 'sitt') or label return use_genitive and label .. "'s" or label end -- @todo cleanup, this is in production, use the console local function dump(obj) return "<pre>" .. mw.dumpObject(obj) .. "</pre>" end local function stringFormatter( datavalue ) if datavalue == nil or datavalue['type'] ~= 'string' then return nil end return datavalue.value end local pval = {} pval.P1793 = { -- format as a regular expression types = { snaktype = 'value', datatype = 'string', }, } pval.P407 = { -- language of work or name types = { snaktype = 'value', datatype = 'wikibase-item', datavalue = { type = 'wikibase-entityid', } }, } pval.P364 = { -- original language of work types = { snaktype = 'value', datatype = 'wikibase-item', datavalue = { type = 'wikibase-entityid', } }, } pval.P218 = { -- ISO 639-1 language types = { snaktype = 'value', datatype = 'external-id', datavalue = { type = 'string', } }, } pval.P305 = { -- IETF language tag types = { snaktype = 'value', datatype = 'external-id', datavalue = { type = 'string', } }, } pval.P582 = { -- end time types = { snaktype = 'value', datatype = 'time', datavalue = { type = 'string', } }, } -- This is a really makeshift crappy converter, but it'll do some basic -- conversion from PCRE to Lua-style patterns (note that this only work -- in very few cases) local function regexConverter( regex ) local output = regex output = string.gsub(output, "\\d{2}", "%%d%%d") output = string.gsub(output, "\\d{3}", "%%d%%d%%d") output = string.gsub(output, "\\d{4}", "%%d%%d%%d%%d") output = string.gsub(output, "\\d{5}", "%%d%%d%%d%%d%%d") output = string.gsub(output, "\\d{6}", "%%d%%d%%d%%d%%d%%d") output = string.gsub(output, "\\d{7}", "%%d%%d%%d%%d%%d%%d%%d") output = string.gsub(output, "\\d{8}", "%%d%%d%%d%%d%%d%%d%%d%%d") output = string.gsub(output, "\\d", "%%d") return output end local function getFormatterUrl( prop, value ) local head = "" local tail = "" local entity = mw.wikibase.getEntity(prop) -- to avoid deep tests if not entity or not entity.claims then return head end -- get the claims for this entity local statements = entity.claims['P1630'] -- formatter URL -- to avoid deep tests if not statements then return head end local formatters = {} -- let's go through the claims for _, claim in ipairs( statements ) do -- to avoid deep tests if not claim then claim = {} end local valid = claim['type'] == 'statement' and claim['rank'] ~= 'deprecated' if valid then local mainsnak = claim.mainsnak or {} local preferred = claim['rank'] == 'preferred' -- get any qualifiers for this claim (we are interested in P1793 for -- indication of which claim is correct) local qualifiers = claim.qualifiers or {} -- now let's check the qualifier we are interested in local qualid = 'P1793' -- format as a regular expression -- if the claim has this qualifier if qualifiers[qualid] then -- it's here, let's check it out! local items = {} -- traverse all snaks in this qualifier for _, qualsnak in ipairs( qualifiers[qualid] ) do if qualsnak and pval[qualid] then --mw.log("qualsnak = " .. dump(qualsnak)) -- check if the snak is of the correct snaktype and datatype local valid = qualsnak.snaktype == pval[qualid].types.snaktype and qualsnak.datatype == pval[qualid].types.datatype if valid then -- we'll have to convert the regex to Lua-style local regex = regexConverter(qualsnak.datavalue.value) local test = string.match( value, '^'..regex..'$' ) if test then -- it matched, this is correct and overrides any other. if preferred then head = mainsnak.datavalue.value else tail = mainsnak.datavalue.value end end end end end else -- we don't have any qualifier, is it preferred? if (head == '' and preferred) or (tail == '' and not preferred) then -- if we don't have any other, use this one if preferred and head == '' then head = mainsnak.datavalue.value elseif not preferred and tail == '' then tail = mainsnak.datavalue.value end end end end end return head ~= '' and head or tail end local function getLanguageData(prop, qid) local head = {} local tail = {} -- mw.log("getLanguageData, prop="..dump(prop).." qid="..dump(qid)) -- get the entity we are checking local entity = mw.wikibase.getEntityObject(qid) -- to avoid deep tests if not entity then return nil end if not entity.claims then return {} end -- get the claims for this entity local statements = entity.claims[prop] -- to avoid deep tests if not statements then return {} end -- mw.log("getLanguageData going through claims="..dump(statements)) -- let's go through the claims for _, claim in ipairs( statements ) do -- to avoid deep tests if not claim then claim = {} end local valid = claim['type'] == 'statement' and claim['rank'] ~= 'deprecated' if valid then local mainsnak = claim.mainsnak or {} local preferred = claim['rank'] == 'preferred' -- verify the item is what we expect local valid = mainsnak.snaktype == pval[prop].types.snaktype and mainsnak.datatype == pval[prop].types.datatype and mainsnak.datavalue.type == pval[prop].types.datavalue.type if valid then -- mw.log("getLanguageData claim is valid="..dump(claim)) -- if this is the correct P-value, dive into it and get P218 (ISO 639-1) if mainsnak.property == 'P364' then -- original language of work if preferred then head[#head+1] = table.concat(getLanguageData('P218', 'Q'..mainsnak.datavalue.value['numeric-id']), conf:a('mod-filter-separator')) else tail[#tail+1] = table.concat(getLanguageData('P218', 'Q'..mainsnak.datavalue.value['numeric-id']), conf:a('mod-filter-separator')) end elseif mainsnak.property == 'P218' or mainsnak.property == 'P305' then -- ISO 639-1 code or IETF language tag if preferred then head[#head+1] = stringFormatter(mainsnak.datavalue) else tail[#tail+1] = stringFormatter(mainsnak.datavalue) end end end end end -- mw.log("getLanguageData returning head="..dump(head).." tail="..dump(tail)) return #head>0 and head or tail end local langqvalorder = {'P407','P364'} local otherqvalorder = {'P582'} local function getValuesFromWikidata(props) local head = {} local tail = {} -- mw.log("getValuesFromWikidata, props="..dump(props)) -- get the entity we are checking local entity = mw.wikibase.getEntityObject() -- to avoid deep tests if not entity then --mw.log("getValuesFromWikidata no entity") return nil end if not entity.claims or not props or not props.prop or props.prop == '' then --mw.log("getValuesFromWikidata no claims or no props") return {} end -- get the claims for this entity local statements = entity.claims[props.prop] -- to avoid deep tests if not statements then return {} end -- let's go through the claims for _, claim in ipairs( statements ) do -- to avoid deep tests if not claim then claim = {} end local valid = claim['type'] == 'statement' and claim['rank'] ~= 'deprecated' if valid then -- mw.log("getValuesFromWikidata valid claim="..dump(claim)) local mainsnak = claim.mainsnak or {} local preferred = claim['rank'] == 'preferred' -- get the content of the claim (the identifier) local langcode = props.langcode local checklangcode = nil if props.langcode and props.langcode ~= '' then checklangcode = string.find(langcode, "([pP]%d+)") end if checklangcode and checklangcode ~= "" then -- this is a P-value for language-code, so we'll check qualifiers for languagedata -- first get any qualifiers local qualifiers = claim.qualifiers or {} for _, qualid in ipairs( langqvalorder ) do -- if the claim has this qualifier if qualifiers[qualid] then -- it's here, let's check it out! local items = {} -- traverse all snaks in this qualifier for _, qualsnak in ipairs( qualifiers[qualid] ) do if qualsnak and pval[qualid] then -- mw.log("qualsnak = " .. dump(qualsnak)) -- check if the snak is of the correct snaktype and datatype local valid = qualsnak.snaktype == pval[qualid].types.snaktype and qualsnak.datatype == pval[qualid].types.datatype if valid then -- now get the actual data langcode = table.concat(getLanguageData('P305', 'Q'..qualsnak.datavalue.value['numeric-id']), '') end end end end -- mw.log("langcode is now="..dump(langcode)) end if string.find(langcode, "([pP]%d+)") then -- we still don't have any langcode, so we default to "en" langcode = nil end end local stillvalid = true -- we should check a couple of other qualifiers as well -- first get any qualifiers local qualifiers = claim.qualifiers or {} for _, qualid in ipairs( otherqvalorder ) do -- if the claim has this qualifier if qualifiers[qualid] then -- it's here, let's check it out! local items = {} -- traverse all snaks in this qualifier for _, qualsnak in ipairs( qualifiers[qualid] ) do if qualsnak and pval[qualid] then -- mw.log("qualsnak = " .. dump(qualsnak)) -- check if the snak is of the correct snaktype and datatype local valid = qualsnak.snaktype == pval[qualid].types.snaktype and qualsnak.datatype == pval[qualid].types.datatype if not valid then -- sorry, this is not correct mw.log("qualsnak = INCORRECT") stillvalid = false end end end end -- mw.log("langcode is now="..dump(langcode)) end if stillvalid then if preferred then head[#head+1] = { value=stringFormatter(mainsnak.datavalue) } if langcode and langcode ~= '' then head[#head]['langcode'] = langcode end else tail[#tail+1] = { value=stringFormatter(mainsnak.datavalue) } if langcode and langcode ~= '' then tail[#tail]['langcode'] = langcode end end end end end -- mw.log("getValuesFromWikidata returning head="..dump(head).." tail="..dump(tail)) return #head>0 and head or tail end local function findMainLinksOnWikidata(props, pagetitle, short_links) local output = {} local pid = nil -- get the entity we are checking local entity = mw.wikibase.getEntityObject() -- to avoid deep tests if not entity then return nil end local values = getValuesFromWikidata(props) for _, value in ipairs( values ) do local verified_value = nil if props.regex then -- we have a local defined regex, so this will have to pass first -- maybe we'll have to convert the regex to Lua-style local regex = regexConverter(props.regex) local test = string.match( value.value, '^'..regex..'$' ) --mw.log("testing with "..regex.. " and test="..dump(test).." and value="..id) if test then -- it matched, this is correct and overrides any other. verified_value = value.value end else verified_value = value.value end if verified_value then local url = '' output[#output+1] = {} output[#output].langcode = value.langcode output[#output].category = {} if props.url_f then -- we have a local defined url-formatter function, use it as first priority url = props.url_f(verified_value) if props.track and not string.find(props.langcode, "([pP]%d+)") then output[#output].category[#output[#output].category+1] = mw.message.newRawMessage(cmodule:getMessage(contLang:getCode(), 'track-cat-local-wd'), props.prop):plain() elseif props.track then output[#output].category[#output[#output].category+1] = mw.message.newRawMessage(cmodule:getMessage(contLang:getCode(), 'track-cat-wd-wd'), props.prop):plain() end elseif props.url then -- we have a local defined url-formatter string, use it as second priority url = mw.message.newRawMessage(props.url, verified_value):plain() if props.track and not string.find(props.langcode, "([pP]%d+)") then output[#output].category[#output[#output].category+1] = mw.message.newRawMessage(cmodule:getMessage(contLang:getCode(), 'track-cat-local-wd'), props.prop):plain() elseif props.track then output[#output].category[#output[#output].category+1] = mw.message.newRawMessage(cmodule:getMessage(contLang:getCode(), 'track-cat-wd-wd'), props.prop):plain() end else -- get the formatvalue from the property, if it exists local formatterUrl = getFormatterUrl(props.prop, verified_value) if formatterUrl ~= '' then url = mw.message.newRawMessage(formatterUrl, verified_value):plain() if props.track then output[#output].category[#output[#output].category+1] = mw.message.newRawMessage(cmodule:getMessage(contLang:getCode(), 'track-cat-wd-wd'), props.prop):plain() end end end if url ~= '' then local this_wiki = mw.getContentLanguage() local this_wiki_code = this_wiki:getCode() local langlink = (value.langcode and value.langcode ~= '' and value.langcode ~= this_wiki_code) and mw.message.newRawMessage(conf:g('msg-langcode'), value.langcode, mw.language.fetchLanguageName(value.langcode, this_wiki_code)) or "" if short_links and props.short then output[#output].text = mw.message.newRawMessage(props.short, getLabel(entity, props.genitive, pagetitle), url, langlink, verified_value, mw.uri.encode(verified_value, 'PATH')) :plain() else output[#output].text = mw.message.newRawMessage(props.message, getLabel(entity, props.genitive, pagetitle), url, langlink, verified_value, mw.uri.encode(verified_value, 'PATH')) :plain() end end end end --mw.log("findMainLinksOnWikidata returning="..dump(output)) return output end local function getSitelinksFromWikidata(props, entity) local output = {} --mw.log("getSitelinksFromWikidata, props="..dump(props)) -- to avoid deep tests if not entity then entity = mw.wikibase.getEntityObject() if not entity then --mw.log("getSitelinksFromWikidata no entity") return nil end end local requested_sitelink = string.match(props.prop, "SL(%l+)") local sitelinks = entity:getSitelink(requested_sitelink) if sitelinks and sitelinks ~= '' then output[#output+1] = { value = sitelinks } end --mw.log("getSitelinksFromWikidata returning output="..dump(output)) return output end local function findSiteLinksOnWikidata(props, pagetitle, short_links) local output = {} local pid = nil -- get the entity we are checking local entity = mw.wikibase.getEntityObject() -- to avoid deep tests if not entity then return nil end local values = getSitelinksFromWikidata(props) for _, value in ipairs( values ) do local verified_value = nil if props.regex then -- we have a local defined regex, so this will have to pass first -- maybe we'll have to convert the regex to Lua-style local regex = regexConverter(props.regex) local test = string.match( value.value, '^'..regex..'$' ) --mw.log("testing with "..regex.. " and test="..dump(test).." and value="..id) if test then -- it matched, this is correct and overrides any other. verified_value = value.value end else verified_value = value.value end if verified_value then --mw.log("it's verified..") local url = '' output[#output+1] = {} output[#output].langcode = value.langcode output[#output].category = {} if props.url_f then -- we have a local defined url-formatter function, use it as first priority url = props.url_f(verified_value) if props.track and not string.find(props.langcode, "(SL%l+)") then output[#output].category[#output[#output].category+1] = mw.message.newRawMessage(cmodule:getMessage(contLang:getCode(), 'track-cat-local-wd'), props.prop):plain() elseif props.track then output[#output].category[#output[#output].category+1] = mw.message.newRawMessage(cmodule:getMessage(contLang:getCode(), 'track-cat-wd-wd'), props.prop):plain() end elseif props.url then -- we have a local defined url-formatter string, use it as second priority url = mw.message.newRawMessage(props.url, verified_value):plain() if props.track and not string.find(props.langcode, "(SL%l+)") then output[#output].category[#output[#output].category+1] = mw.message.newRawMessage(cmodule:getMessage(contLang:getCode(), 'track-cat-local-wd'), props.prop):plain() elseif props.track then output[#output].category[#output[#output].category+1] = mw.message.newRawMessage(cmodule:getMessage(contLang:getCode(), 'track-cat-wd-wd'), props.prop):plain() end else url = verified_value:gsub(' ','_') if props.track then output[#output].category[#output[#output].category+1] = mw.message.newRawMessage(cmodule:getMessage(contLang:getCode(), 'track-cat-wd-wd'), props.prop):plain() end end if url ~= '' then local this_wiki = mw.getContentLanguage() local this_wiki_code = this_wiki:getCode() local langlink = (value.langcode and value.langcode ~= '' and value.langcode ~= this_wiki_code) and mw.message.newRawMessage(conf:g('msg-langcode'), value.langcode, mw.language.fetchLanguageName(value.langcode, this_wiki_code)) or "" if short_links and props.short then output[#output].text = mw.message.newRawMessage(props.short, getLabel(entity, props.genitive, pagetitle), url, langlink, verified_value, mw.uri.encode(verified_value, 'PATH')) :plain() else output[#output].text = mw.message.newRawMessage(props.message, getLabel(entity, props.genitive, pagetitle), url, langlink, verified_value, mw.uri.encode(verified_value, 'PATH')) :plain() end end end end --mw.log("findSiteLinksOnWikidata returning="..dump(output)) return output end local function findMainLinksLocal(props, pagetitle, short_links, local_value) local output = {} -- to avoid deep tests if not props.prop then return nil end if not (local_value or local_value == '') then -- bail out if no value is present return output end -- get the formatvalue from the property local verified_value = local_value if props.regex and props.regex ~= '' then -- let's verify the id -- maybe we'll have to convert the regex to Lua-style local regex = regexConverter(props.regex) local test = string.match( local_value, '^'..regex..'$' ) if test then -- it matched, this is correct verified_value = local_value else verified_value = nil end end if not verified_value then return output end local wikidata_property = string.find(props.prop, "([pP]%d+)") local wikidata_values = {} if wikidata_property then -- get any wikidata values to see if they are equal to local values wikidata_values = getValuesFromWikidata(props) end if wikidata_property or (props.url and props.url ~= '') or (props.url_f) then output[#output+1] = {} output[#output].langcode = string.find(props.langcode, "([pP]%d+)") and "" or props.langcode --mw.log("findMainLinksLocal - props="..dump(props).." langcode="..output[#output].langcode) output[#output].category = {} local url = '' if props.track and wikidata_property and wikidata_values and #wikidata_values then local local_value_in_wikidata = false for _,value in ipairs( wikidata_values ) do if value.value == verified_value then local_value_in_wikidata = true end end output[#output].category[#output[#output].category+1] = mw.message.newRawMessage(cmodule:getMessage(contLang:getCode(), (local_value_in_wikidata and 'track-cat-local-wd-equal' or 'track-cat-local-wd-unequal')), props.prop):plain() end if wikidata_property and wikidata_values and #wikidata_values then hasdatafromwikidata = true -- signal up the chain this article has a wikidata claim end if props.url_f then -- we have a local defined url-formatter function, use it as first priority url = props.url_f(verified_value) if props.track then output[#output].category[#output[#output].category+1] = mw.message.newRawMessage(cmodule:getMessage(contLang:getCode(), 'track-cat-local-local'), props.prop):plain() end elseif props.url then -- we have a local defined url-formatter string, use it as second priority url = mw.message.newRawMessage(props.url, verified_value):plain() if props.track then output[#output].category[#output[#output].category+1] = mw.message.newRawMessage(cmodule:getMessage(contLang:getCode(), 'track-cat-local-local'), props.prop):plain() end elseif wikidata_property then -- get the formatvalue from the property, if it exists local formatterUrl = getFormatterUrl(props.prop, verified_value) if formatterUrl ~= '' then url = mw.message.newRawMessage(formatterUrl, verified_value):plain() if props.track then output[#output].category[#output[#output].category+1] = mw.message.newRawMessage(cmodule:getMessage(contLang:getCode(), 'track-cat-wd-local'), props.prop):plain() end end else -- no other choice, bail out return {} end local this_wiki = mw.getContentLanguage() local this_wiki_code = this_wiki:getCode() local langlink = (output[#output].langcode and output[#output].langcode ~= '' and output[#output].langcode ~= this_wiki_code) and mw.message.newRawMessage(conf:g('msg-langcode'), props.langcode, mw.language.fetchLanguageName(props.langcode, this_wiki_code)) or "" if short_links and props.short then output[#output].text = mw.message.newRawMessage(props.short, getLabel(nil, props.genitive, pagetitle), url, langlink, verified_value, mw.uri.encode(verified_value, 'PATH')) :plain() else output[#output].text = mw.message.newRawMessage(props.message, getLabel(nil, props.genitive, pagetitle), url, langlink, verified_value, mw.uri.encode(verified_value, 'PATH')) :plain() end end --mw.log("findMainLinksLocal returning="..dump(output)) return output end local function findSiteLinksLocal(props, pagetitle, short_links, local_value) local output = {} -- to avoid deep tests if not props.prop then return nil end if not (local_value or local_value == '') then -- bail out if no value is present return output end -- get the formatvalue from the property local verified_value = local_value if props.regex and props.regex ~= '' then -- let's verify the id -- maybe we'll have to convert the regex to Lua-style local regex = regexConverter(props.regex) local test = string.match( local_value, '^'..regex..'$' ) if test then -- it matched, this is correct verified_value = local_value else verified_value = nil end end if not verified_value then return output end local wikidata_property = string.find(props.prop, "(SL.+)") local wikidata_values = {} if wikidata_property then -- get any wikidata values to see if they are equal to local values wikidata_values = getSitelinksFromWikidata(props) end if wikidata_property or (props.url and props.url ~= '') or (props.url_f) then output[#output+1] = {} output[#output].langcode = string.find(props.langcode, "(SL.+)") and "" or props.langcode --mw.log("findSiteLinksLocal - props="..dump(props).." langcode="..output[#output].langcode .." wikidata_values="..dump(wikidata_values)) output[#output].category = {} local url = '' if props.track and wikidata_property and wikidata_values and #wikidata_values then local local_value_in_wikidata = false for _,value in ipairs( wikidata_values ) do if value.value == verified_value then local_value_in_wikidata = true end end output[#output].category[#output[#output].category+1] = mw.message.newRawMessage(cmodule:getMessage(contLang:getCode(), (local_value_in_wikidata and 'track-cat-local-wd-equal' or 'track-cat-local-wd-unequal')), props.prop):plain() end if wikidata_property and wikidata_values and #wikidata_values then hasdatafromwikidata = true -- signal up the chain this article has a wikidata claim end if props.url_f then -- we have a local defined url-formatter function, use it as first priority url = props.url_f(verified_value) if props.track then output[#output].category[#output[#output].category+1] = mw.message.newRawMessage(cmodule:getMessage(contLang:getCode(), 'track-cat-local-local'), props.prop):plain() end elseif props.url then -- we have a local defined url-formatter string, use it as second priority url = mw.message.newRawMessage(props.url, verified_value):plain() if props.track then output[#output].category[#output[#output].category+1] = mw.message.newRawMessage(cmodule:getMessage(contLang:getCode(), 'track-cat-local-local'), props.prop):plain() end elseif wikidata_property then url = verified_value:gsub(' ','_') if props.track then output[#output].category[#output[#output].category+1] = mw.message.newRawMessage(cmodule:getMessage(contLang:getCode(), 'track-cat-wd-local'), props.prop):plain() end else -- no other choice, bail out return {} end local this_wiki = mw.getContentLanguage() local this_wiki_code = this_wiki:getCode() local langlink = (output[#output].langcode and output[#output].langcode ~= '' and output[#output].langcode ~= this_wiki_code) and mw.message.newRawMessage(conf:g('msg-langcode'), props.langcode, mw.language.fetchLanguageName(props.langcode, this_wiki_code)) or "" if short_links and props.short then output[#output].text = mw.message.newRawMessage(props.short, getLabel(nil, props.genitive, pagetitle), url, langlink, verified_value, mw.uri.encode(verified_value, 'PATH')) :plain() else output[#output].text = mw.message.newRawMessage(props.message, getLabel(nil, props.genitive, pagetitle), url, langlink, verified_value, mw.uri.encode(verified_value, 'PATH')) :plain() end end --mw.log("findSiteLinksLocal returning="..dump(output)) return output end local function addLinkback(str, property) local id = mw.wikibase.getEntityObject() if not id then return str end if type(id) == 'table' then id = id.id end local class = '' local url = '' if property then class = 'wd_' .. string.lower(property) url = mw.uri.fullUrl('d:' .. id .. '#' .. property) url.fragment = property else url = mw.uri.fullUrl('d:' .. id ) end local title = conf:g('wikidata-linkback-edit') local icon = '[%s [[File:Blue pencil.svg|%s|10px|text-top|link=]] ]' url = tostring(url) local v = mw.html.create('span') :addClass(class) :wikitext(str) :tag('span') :addClass('noprint plainlinks wikidata-linkback') :css('padding-left', '.3em') :wikitext(icon:format(url, title)) :allDone() return tostring(v) end local function getArgument(frame, argument) local args = frame.args if args[1] == nil then local pFrame = frame:getParent(); args = pFrame.args; for k,v in pairs( frame.args ) do args[k] = v; end end if args[argument] then return args[argument] end return nil end local function removeEntry(conf_claims, identifier, property) for i, props in ipairs(conf_claims) do if props[identifier] == property then table.remove(conf_claims, i) end end return conf_claims end function p.getLinks(frame) local configured_conf = getArgument(frame, conf:a('arg-conf')) if configured_conf then cmodule = require ('Module:External links/conf/'..configured_conf) else error(mw.message.newRawMessage(conf:g('missing-conf'), configured_conf):plain()) end local output = {} local category = {} local conf_claims = cmodule:getConfiguredClaims(contLang:getCode()) local limits = cmodule:getLimits() assert(limits, mw.message.newRawMessage(conf:g('missing-limits'), configured_conf):plain()) local links_shown = getArgument(frame, conf:a('arg-maxlink')) local pagetitle = getArgument(frame, conf:a('arg-title')) -- get a list of tracked properties from the article itself local requested_tracking = getArgument(frame, conf:a('arg-track')) if requested_tracking and requested_tracking ~= '' then -- the properties should be written as P1234, P2345 and other -- version corresponding to the applicable property-identifiers in the config for track_prop in string.gmatch(requested_tracking,"([^ ,;:]+)") do -- get the requested properties and be able to access them -- like req_prop['P345'] to verify if it was requested local remove_track = string.match(track_prop, "^\-(.*)") for i,claim in ipairs ( conf_claims ) do if remove_track == claim.prop or remove_track == conf:a('mod-filter-all') then -- if a property starts with "-", then we'll simply remove that -- property from the conf_claims conf_claims[i]['track'] = false elseif track_prop == claim.prop or track_prop == conf:a('mod-filter-all') then conf_claims[i]['track'] = true end end end end -- get a list of "approved" properties from the article itself local requested_properties = getArgument(frame, conf:a('arg-properties')) --mw.log("requested_properties="..dump(requested_properties)) -- assume all properties are allowed local req_prop = {} local no_req_prop = false -- we'll allow properties to be filtered for now if requested_properties and requested_properties ~= '' then -- the properties should be written as P1234, P2345 and other -- version corresponding to the applicable property-identifiers in the config for i in string.gmatch(requested_properties,"([^ ,;:]+)") do -- get the requested properties and be able to access them -- like req_prop['P345'] to verify if it was requested if i == conf:a('mod-filter-all') then -- this is a special modifier, saying we should ignore -- all previous and future positive filters and remove the -- filter (with exception of negative filters) req_prop = {} no_req_prop = true end local remove_prop = string.match(i, "^\-(.*)") if remove_prop then -- if a property starts with "-", then we'll simply remove that -- property from the conf_claims conf_claims = removeEntry(conf_claims, 'prop', remove_prop) elseif not no_req_prop then -- only if we are allowing properties to be filtered req_prop[i] = 1 -- cheat to make #req_prop indicate populated table req_prop[1] = 1 end end end local requested_langs = getArgument(frame, conf:a('arg-languages')) --mw.log("requested_langs="..dump(requested_langs)) -- assume all languages are allowed local req_lang = {} local no_req_lang = false -- we'll allow languages to be filtered for now if requested_langs and requested_langs ~= '' then -- the languages should be written as langcodes as used in the conf_claims for i in string.gmatch(requested_langs,"([^ ,;:]+)") do -- get the requested languages and be able to access them if i == conf:a('mod-filter-all') then -- this is a special modifier, saying we should ignore -- all previous and future positive filters and remove the -- filter (with exception of negative filters) req_lang = {} no_req_lang = true end -- like req_lang['en'] to verify if it was requested local remove_lang = string.match(i, "^\-(.*)") if remove_lang then -- if a language starts with "-", then we'll simply remove that -- language from the conf_claims conf_claims = removeEntry(conf_claims, 'langcode', remove_lang) elseif not no_req_lang then -- only if we are allowing languages to be filtered req_lang[i] = 1 -- cheat to make #req_lang indicate populated table req_lang[1] = 1 end end end local short_links = getArgument(frame, conf:a('arg-short')) if short_links and short_links ~= '' then short_links = true else short_links = false end local showinline = getArgument(frame, conf:a('arg-inline')) if showinline and showinline ~= '' then showinline = true else showinline = false end if not links_shown or links_shown == '' then links_shown = limits['links-shown'] and limits['links-shown'] or 10 else links_shown = tonumber(links_shown) end local somedataonwikidata = (short_links and false or true) --mw.log("conf_claims="..dump(conf_claims)) --mw.log("req_prop="..dump(req_prop)) --mw.log("req_lang="..dump(req_lang)) --mw.log("short_links="..dump(short_links)) for _, props in ipairs(conf_claims) do -- if we're called with a list of approved properties or languages, check if this one is "approved" if (#req_prop==0 or req_prop[props.prop]) and (#req_lang==0 or req_lang[props.langcode] or string.find(props.langcode, "([pP]%d+)")) then --mw.log("checking claim="..dump(props)) local links = {} local checkedonwikidata = false -- get the any local overriding value from the call local wikivalue = getArgument(frame, props.prop) --mw.log("wikivalue="..dump(wikivalue)) if (not wikivalue or wikivalue == "") and string.find(props.prop, "([pP]%d+)") then -- the property is a Pnnn type, and therefore on Wikidata links = findMainLinksOnWikidata(props, pagetitle, short_links) if links == nil then -- a nil-value indicated no wikidata-link haswikidatalink = false links = {} else checkedonwikidata = true end elseif (not wikivalue or wikivalue == "") and string.find(props.prop, "(SL%l+)") then -- this is a sitelink-type (SLspecieswiki) --mw.log("finding sitelinks..") links = findSiteLinksOnWikidata(props, pagetitle, short_links) if links == nil then -- a nil-value indicated no wikidata-link haswikidatalink = false links = {} else checkedonwikidata = true end elseif (wikivalue and wikivalue ~= "") and string.find(props.prop, "(SL%l+)") then -- this is a sitelink-type (SLspecieswiki) links = findSiteLinksLocal(props, pagetitle, short_links, wikivalue) elseif wikivalue and wikivalue ~= '' then -- the property is of another annotation, and therefore a local construct links = findMainLinksLocal(props, pagetitle, short_links, wikivalue) end --mw.log("links="..dump(links)) for _,v in ipairs(links) do -- we'll have to check langcodes again as they may have come from wikidata if (#req_lang==0 or req_lang[v.langcode]) then if checkedonwikidata and not hasdatafromwikidata then -- add a general tracking category for articles with data from wikidata hasdatafromwikidata = true category[#category+1] = cmodule:getMessage(contLang:getCode(), 'with-data-cat') elseif not checkedonwikidata and not hasdatafromlocal then -- add a general tracking category for articles with data from template-calls in local articles hasdatafromlocal = true category[#category+1] = cmodule:getMessage(contLang:getCode(), 'with-local-cat') end if short_links and props.short and v.text and v.text ~= '' then -- if short links were requested, and a short definition exists for this property, let's use it if #output==0 then output[#output+1] = v.text else output[#output] = output[#output] .. cmodule:getMessage(contLang:getCode(),'short-list-separator') .. v.text end somedataonwikidata = true elseif not short_links and not showinline and v.text and v.text ~= '' then -- only if short links were not requested output[#output+1] = (#output>=1 and conf:g('msg-ul-prepend') or '') -- if this is the first link, we won't output a list-element (msg-ul-prepend) .. (checkedonwikidata and addLinkback(v.text, props.prop) or v.text) -- if the link comes from wikidata, also output a linkback. elseif not short_links and showinline and v.text and v.text ~= '' then -- only if short links were not requested output[#output+1] = v.text end if props.track and v.category and #v.category then -- add category if tracking is on for this property and a category exists in the link-result. for _,cats in ipairs( v.category ) do category[#category+1] = cats end end if links_shown>0 then links_shown = links_shown - 1 else break end end end if links_shown==0 then break end end end local outtext = "" if short_links and #output>0 then -- if these are short links, output the whole thing with linkback to wikidata --mw.log("somedataonwikidata="..dump(somedataonwikidata).." and output="..dump(output).." and #output="..dump(#output)) outtext = (somedataonwikidata and addLinkback(table.concat(output,cmodule:getMessage(contLang:getCode(),'short-list-separator')), nil) or table.concat(output,cmodule:getMessage(contLang:getCode(),'short-list-separator'))) elseif not short_links and not showinline and #output>0 then outtext = table.concat(output,"\n") elseif not short_links and showinline and #output>0 then outtext = table.concat(output,conf:g('msg-inline-separator')) end if not hasdatafromwikidata then category[#category+1] = cmodule:getMessage(contLang:getCode(), 'no-data-cat') if not hasdatafromlocal and not short_links then outtext = cmodule:getMessage(contLang:getCode(), 'no-data-text') end end if not haswikidatalink then category[#category+1] = cmodule:getMessage(contLang:getCode(), 'no-wikilink-cat') if not hasdatafromlocal and not short_links then outtext = cmodule:getMessage(contLang:getCode(), 'no-wikilink') end end local nocategory = getArgument(frame, conf:a('arg-no-categories')) category = #category>0 and "\n" .. table.concat(category,"\n") or "" --mw.log("nocategory="..dump(nocategory).." and outtext="..dump(outtext).." and category="..dump(category)) outtext = outtext .. (nocategory and '' or category) return outtext end function p.getLanguageCode(frame) local prop = getArgument(frame, conf:a('arg-properties')) local output = getLanguageData(prop) return table.concat(output, conf:a('mod-filter-separator')) end return p 4zgeujlre7wtqqr14m9598rfsq2fnrn Module:Example 828 3295 36477 2025-12-15T17:02:01Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} function p.hello() return "Χαίρε κόσμε!" end setmetatable(p, { quickTests = function () if type(p.hello()) ~= 'string' then return false, 'υπήρξε ένα σφάλμα' end return true end } ) return p' 36477 Scribunto text/plain local p = {} function p.hello() return "Χαίρε κόσμε!" end setmetatable(p, { quickTests = function () if type(p.hello()) ~= 'string' then return false, 'υπήρξε ένα σφάλμα' end return true end } ) return p 0iyf8i9vcrz650rkdu1xv75edu52icl Module:Expand wikitext 828 3296 36478 2025-12-15T17:02:40Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} local yesno = require("Module:Yesno") function p.main(frame) local pframe = frame:getParent() local code = frame.args[1] if mw.text.trim(mw.text.killMarkers(code)) == "" or yesno(frame.args.unstrip) then code = mw.text.unstripNoWiki(code); end return pframe:preprocess(code) end return p' 36478 Scribunto text/plain local p = {} local yesno = require("Module:Yesno") function p.main(frame) local pframe = frame:getParent() local code = frame.args[1] if mw.text.trim(mw.text.killMarkers(code)) == "" or yesno(frame.args.unstrip) then code = mw.text.unstripNoWiki(code); end return pframe:preprocess(code) end return p oyxkgldm8bb0spoz31nlwzp04g4l9dy Πρότυπον:Coord/dec2dms/dms1 10 3297 36479 2025-12-15T17:04:15Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#expr:{{{1}}} mod 360}}°{{pad2digit|{{#expr:{{{1}}} * 60 mod 60}}}}′{{pad2digit|{{#expr:({{{1}}} * 36000 round 0) mod 600 / 10}}}}″<noinclude>[[Κατηγορίαν:Coord template]]</noinclude>' 36479 wikitext text/x-wiki {{#expr:{{{1}}} mod 360}}°{{pad2digit|{{#expr:{{{1}}} * 60 mod 60}}}}′{{pad2digit|{{#expr:({{{1}}} * 36000 round 0) mod 600 / 10}}}}″<noinclude>[[Κατηγορίαν:Coord template]]</noinclude> dz8qtqp43s1yar8irom3blrm24jubvm Module:Wikidata/i18n 828 3298 36480 2025-12-15T17:05:04Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'return { categories = { ['arbitrary-data'] = '-', ['centenarians'] = '-', ['centenarians-living'] = '-', ['diff'] = '-', ['failed-age-computing'] = '-', ['missing-label'] = '-', ['not'] = '-', ['references'] = 'Έλεγχος:Παραπομπές από Wikidata', ['same'] = '-', ['used-property'] = 'Σελίδα που χρησιμοποιεί δεδομένα των Wikidata/%s', }, date = { ['start'] = 'από %s', ['e...' 36480 Scribunto text/plain return { categories = { ['arbitrary-data'] = '-', ['centenarians'] = '-', ['centenarians-living'] = '-', ['diff'] = '-', ['failed-age-computing'] = '-', ['missing-label'] = '-', ['not'] = '-', ['references'] = 'Έλεγχος:Παραπομπές από Wikidata', ['same'] = '-', ['used-property'] = 'Σελίδα που χρησιμοποιεί δεδομένα των Wikidata/%s', }, date = { ['start'] = 'από %s', ['end'] = 'έως %s', ['age'] = '$1&nbsp;{{PLURAL:$2|έτους|ετών|let}}', ['in-the-age'] = 'στην ηλικία των $1&nbsp;{{PLURAL:$2|ετών|let}}', ['gregorian'] = '<sup>[[Γρηγοριανό ημερολόγιο|γρηγ.]]</sup>', ['julian'] = '<sup>[[Ιουλιανό ημερολόγιο|ιουλ.]]</sup>', ['millenium'] = '$1η&nbsp;χιλιετία', ['millenium-linked'] = '$1η&nbsp;χιλιετία', ['millenium-BCE'] = '$1η&nbsp;χιλιετία π.Χ.', ['millenium-BCE-linked'] = '$1η&nbsp;χιλιετία π.Χ.', ['century'] = '$1ος&nbsp;αιώνας', ['century-linked'] = '$1ος&nbsp;αιώνας', ['century-BCE'] = '$1ος αιώνας π.Χ.', ['century-BCE-linked'] = '$1ος αιώνας π.Χ.', ['decade'] = 'Δεκαετία του $1', --['decade-linked'] = 'Δεκαετία του $1', ['decade-BCE'] = 'Δεκαετία του $1&nbsp;π.Χ.', --['decade-BCE-linked'] = 'Δεκαετία του $1&nbsp;π.Χ.', ['year'] = 'Y', ['year-linked'] = 'Y', ['year-BCE'] = 'Y"&nbsp; π.Χ."', ['year-BCE-linked'] = 'Y"&nbsp;π.Χ."', ['year-month'] = 'F Y', ['year-month-linked'] = 'F Y', ['year-month-BCE'] = 'F Y&nbsp;π.Χ."', ['year-month-BCE-linked'] = 'F Y&nbsp;π.Χ."', ['month-day'] = 'j"&nbsp;"xg', ['day'] = 'j', ['year-month-day'] = 'j "&nbsp;"xg Y', ['year-month-day-linked'] = 'j "&nbsp;"xg Y', ['year-month-day-BCE'] = 'j "&nbsp;"xg Y"&nbsp;π.Χ."', ['year-month-day-BCE-linked'] = 'j "&nbsp;"xg Y"&nbsp;π.Χ."', }, errors = { ['entity-not-found'] = 'Η οντότητα δεν βρέθηκε', ['infobox-type-invalid'] = 'Μη έγκυρος τύπος τιμής στη σειρά %s: %s.', ['invalid-datatype'] = 'Εσφαλμένος τύπος δεδομένων ιδιοκτησίας «%s»: «%s»; απαιτείται «%s»', -- legacy ['invalid-datatype2'] = 'Η συνάρτηση «%s» απαιτεί τύπο δεδομένων «%s», δόθηκε «%s».' , ['invalid-date'] = 'Μη έγκυρη ημερομηνία «%s»', ['invalid-field'] = 'Μη έγκυρο πεδίο «%s»', ['invalid-sort'] = 'Μη έγκυρη μέθοδος ταξινόμησης «%s»', ['param-not-provided'] = 'Μη προσδιορισμένη παράμετρος «%s»', ['unknown-claim-type'] = 'Άγνωστος τύπος δήλωσης: %s', ['unknown-datavalue-type'] = 'Άγνωστος τύπος τιμής δεδομένων: %s', ['unknown-entity-type'] = 'Άγνωστος τύπος οντότητας: %s', ['unknown-snak-type'] = 'Άγνωστος τύπος σνακ: %s', }, lang = 'el', ['missing-label'] = 'Το λήμμα στα Wikidata δεν περιέχει ελληνική ετικέτα· μπορείτε να τη συμπληρώσετε', ['more-on-Wikidata'] = '…&nbsp;περισσότερα στα [[d:%s#%s|Wikidata]]', novalue = "''χωρίς τιμή''", -- legacy somevalue = "''άγνωστη τιμή''", -- legacy ['qualifiers separator'] = ', ', } eet7hes0xt0v5p40sdvlw2o3kyodo1b Module:WikidataIB 828 3299 36481 2025-12-15T17:06:06Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Version: 2020-08-13 -- Module to implement use of a blacklist and whitelist for infobox fields -- Can take a named parameter |qid which is the Wikidata ID for the article -- if not supplied, it will use the Wikidata ID associated with the current page. -- Fields in blacklist are never to be displayed, i.e. module must return nil in all circumstances -- Fields in whitelist return local value if it exists or the Wikidata value otherwise -- The nam...' 36481 Scribunto text/plain -- Version: 2020-08-13 -- Module to implement use of a blacklist and whitelist for infobox fields -- Can take a named parameter |qid which is the Wikidata ID for the article -- if not supplied, it will use the Wikidata ID associated with the current page. -- Fields in blacklist are never to be displayed, i.e. module must return nil in all circumstances -- Fields in whitelist return local value if it exists or the Wikidata value otherwise -- The name of the field that this function is called from is passed in named parameter |name -- The name is compulsory when blacklist or whitelist is used, -- so the module returns nil if it is not supplied. -- blacklist is passed in named parameter |suppressfields (or |spf) -- whitelist is passed in named parameter |fetchwikidata (or |fwd) local p = {} local cdate -- initialise as nil and only load _complex_date function if needed -- [[Module:Complex date]] is loaded lazily and has the following dependencies: -- Module:I18n/complex date, Module:ISOdate, Module:DateI18n (alternative for Module:Date), -- Module:Formatnum, Module:I18n/date, Module:Yesno, Module:Linguistic, Module:Calendar -- The following, taken from https://www.mediawiki.org/wiki/Wikibase/DataModel#Dates_and_times, -- is needed to use Module:Complex date which seemingly requires date precision as a string. -- It would work better if only the authors of the mediawiki page could spell 'millennium'. local dp = { [6] = "millennium", [7] = "century", [8] = "decade", [9] = "year", [10] = "month", [11] = "day", } local i18n = { ["errors"] = { ["property-not-found"] = "Property not found.", ["No property supplied"] = "No property supplied", ["entity-not-found"] = "Wikidata entity not found.", ["unknown-claim-type"] = "Unknown claim type.", ["unknown-entity-type"] = "Unknown entity type.", ["qualifier-not-found"] = "Qualifier not found.", ["site-not-found"] = "Wikimedia project not found.", ["labels-not-found"] = "No labels found.", ["descriptions-not-found"] = "No descriptions found.", ["aliases-not-found"] = "No aliases found.", ["unknown-datetime-format"] = "Unknown datetime format.", ["local-article-not-found"] = "Article is available on Wikidata, but not on Wikipedia", ["dab-page"] = " (dab)", }, ["months"] = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }, ["century"] = "century", ["BC"] = "BC", ["BCE"] = "BCE", ["ordinal"] = { [1] = "st", [2] = "nd", [3] = "rd", ["default"] = "th" }, ["filespace"] = "File", ["Unknown"] = "Unknown", ["NaN"] = "Not a number", -- set the following to the name of a tracking category, -- e.g. "[[Category:Articles with missing Wikidata information]]", or "" to disable: ["missinginfocat"] = "[[Category:Articles with missing Wikidata information]]", ["editonwikidata"] = "Edit this on Wikidata", ["latestdatequalifier"] = function (date) return "before " .. date end, -- some languages, e.g. Bosnian use a period as a suffix after each number in a date ["datenumbersuffix"] = "", ["list separator"] = ", ", ["multipliers"] = { [0] = "", [3] = " thousand", [6] = " million", [9] = " billion", [12] = " trillion", } } -- This allows an internationisation module to override the above table if 'en' ~= mw.getContentLanguage():getCode() then require("Module:i18n").loadI18n("Module:WikidataIB/i18n", i18n) end -- This piece of html implements a collapsible container. Check the classes exist on your wiki. local collapsediv = '<div class="mw-collapsible mw-collapsed" style="width:100%; overflow:auto;" data-expandtext="{{int:show}}" data-collapsetext="{{int:hide}}">' -- Some items should not be linked. -- Each wiki can create a list of those in Module:WikidataIB/nolinks -- It should return a table called itemsindex, containing true for each item not to be linked local donotlink = {} local nolinks_exists, nolinks = pcall(mw.loadData, "Module:WikidataIB/nolinks") if nolinks_exists then donotlink = nolinks.itemsindex end -- To satisfy Wikipedia:Manual of Style/Titles, certain types of items are italicised, and others are quoted. -- The submodule [[Module:WikidataIB/titleformats]] lists the entity-ids used in 'instance of' (P31), -- which allows this module to identify the values that should be formatted. -- WikidataIB/titleformats exports a table p.formats, which is indexed by entity-id, and contains the value " or '' local formats = {} local titleformats_exists, titleformats = pcall(mw.loadData, "Module:WikidataIB/titleformats") if titleformats_exists then formats = titleformats.formats end ------------------------------------------------------------------------------- -- Private functions ------------------------------------------------------------------------------- -- ------------------------------------------------------------------------------- -- makeOrdinal needs to be internationalised along with the above: -- takes cardinal number as a numeric and returns the ordinal as a string -- we need three exceptions in English for 1st, 2nd, 3rd, 21st, .. 31st, etc. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local makeOrdinal = function(cardinal) local ordsuffix = i18n.ordinal.default if cardinal % 10 == 1 then ordsuffix = i18n.ordinal[1] elseif cardinal % 10 == 2 then ordsuffix = i18n.ordinal[2] elseif cardinal % 10 == 3 then ordsuffix = i18n.ordinal[3] end -- In English, 1, 21, 31, etc. use 'st', but 11, 111, etc. use 'th' -- similarly for 12 and 13, etc. if (cardinal % 100 == 11) or (cardinal % 100 == 12) or (cardinal % 100 == 13) then ordsuffix = i18n.ordinal.default end return tostring(cardinal) .. ordsuffix end ------------------------------------------------------------------------------- -- findLang takes a "langcode" parameter if supplied and valid -- otherwise it tries to create it from the user's set language ({{int:lang}}) -- failing that it uses the wiki's content language. -- It returns a language object ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local findLang = function(langcode) local langobj langcode = mw.text.trim(langcode or "") if mw.language.isKnownLanguageTag(langcode) then langobj = mw.language.new( langcode ) else langcode = mw.getCurrentFrame():preprocess( '{{int:lang}}' ) if mw.language.isKnownLanguageTag(langcode) then langobj = mw.language.new( langcode ) else langobj = mw.language.getContentLanguage() end end return langobj end ------------------------------------------------------------------------------- -- _getItemLangCode takes a qid parameter (using the current page's qid if blank) -- If the item for that qid has property country (P17) it looks at the first preferred value -- If the country has an official language (P37), it looks at the first preferred value -- If that official language has a language code (P424), it returns the first preferred value -- Otherwise it returns nothing. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local _getItemLangCode = function(qid) qid = mw.text.trim(qid or ""):upper() if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid then return end local prop17 = mw.wikibase.getBestStatements(qid, "P17")[1] if not prop17 or prop17.mainsnak.snaktype ~= "value" then return end local qid17 = prop17.mainsnak.datavalue.value.id local prop37 = mw.wikibase.getBestStatements(qid17, "P37")[1] if not prop37 or prop37.mainsnak.snaktype ~= "value" then return end local qid37 = prop37.mainsnak.datavalue.value.id local prop424 = mw.wikibase.getBestStatements(qid37, "P424")[1] if not prop424 or prop424.mainsnak.snaktype ~= "value" then return end return prop424.mainsnak.datavalue.value end ------------------------------------------------------------------------------- -- roundto takes a number (x) -- and returns it rounded to (sf) significant figures ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local roundto = function(x, sf) if x == 0 then return 0 end local s = 1 if x < 0 then x = -x s = -1 end if sf < 1 then sf = 1 end local p = 10 ^ (math.floor(math.log10(x)) - sf + 1) x = math.floor(x / p + 0.5) * p * s -- if it's integral, cast to an integer: if x == math.floor(x) then x = math.floor(x) end return x end ------------------------------------------------------------------------------- -- decimalToDMS takes a decimal degrees (x) with precision (p) -- and returns degrees/minutes/seconds according to the precision ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local decimalToDMS = function(x, p) -- if p is not supplied, use a precision around 0.1 seconds if not tonumber(p) then p = 1e-4 end local d = math.floor(x) local ms = (x - d) * 60 if p > 0.5 then -- precision is > 1/2 a degree if ms > 30 then d = d + 1 end ms = 0 end local m = math.floor(ms) local s = (ms - m) * 60 if p > 0.008 then -- precision is > 1/2 a minute if s > 30 then m = m +1 end s = 0 elseif p > 0.00014 then -- precision is > 1/2 a second s = math.floor(s + 0.5) elseif p > 0.000014 then -- precision is > 1/20 second s = math.floor(10 * s + 0.5) / 10 elseif p > 0.0000014 then -- precision is > 1/200 second s = math.floor(100 * s + 0.5) / 100 else -- cap it at 3 dec places for now s = math.floor(1000 * s + 0.5) / 1000 end return d, m, s end ------------------------------------------------------------------------------- -- decimalPrecision takes a decimal (x) with precision (p) -- and returns x rounded approximately to the given precision -- precision should be between 1 and 1e-6, preferably a power of 10. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local decimalPrecision = function(x, p) local s = 1 if x < 0 then x = -x s = -1 end -- if p is not supplied, pick an arbitrary precision if not tonumber(p) then p = 1e-4 elseif p > 1 then p = 1 elseif p < 1e-6 then p = 1e-6 else p = 10 ^ math.floor(math.log10(p)) end x = math.floor(x / p + 0.5) * p * s -- if it's integral, cast to an integer: if x == math.floor(x) then x = math.floor(x) end -- if it's less than 1e-4, it will be in exponent form, so return a string with 6dp -- 9e-5 becomes 0.000090 if math.abs(x) < 1e-4 then x = string.format("%f", x) end return x end ------------------------------------------------------------------------------- -- formatDate takes a datetime of the usual format from mw.wikibase.entity:formatPropertyValues -- like "1 August 30 BCE" as parameter 1 -- and formats it according to the df (date format) and bc parameters -- df = ["dmy" / "mdy" / "y"] default will be "dmy" -- bc = ["BC" / "BCE"] default will be "BCE" ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local format_Date = function(datetime, dateformat, bc) local datetime = datetime or "1 August 30 BCE" -- in case of nil value -- chop off multiple vales and/or any hours, mins, etc. -- keep anything before punctuation - we just want a single date: local dateval = string.match( datetime, "[%w ]+") local dateformat = string.lower(dateformat or "dmy") -- default to dmy local bc = string.upper(bc or "") -- can't use nil for bc -- we only want to accept two possibilities: BC or default to BCE if bc == "BC" then bc = "&nbsp;" .. i18n["BC"] -- prepend a non-breaking space. else bc = "&nbsp;" .. i18n["BCE"] end local postchrist = true -- start by assuming no BCE local dateparts = {} for word in string.gmatch(dateval, "%w+") do if word == "BCE" or word == "BC" then -- *** internationalise later *** postchrist = false else -- we'll keep the parts that are not 'BCE' in a table dateparts[#dateparts + 1] = word end end if postchrist then bc = "" end -- set AD dates to no suffix *** internationalise later *** local sep = "&nbsp;" -- separator is nbsp local fdate = table.concat(dateparts, sep) -- set formatted date to same order as input -- if we have day month year, check dateformat if #dateparts == 3 then if dateformat == "y" then fdate = dateparts[3] elseif dateformat == "mdy" then fdate = dateparts[2] .. sep .. dateparts[1] .. "," .. sep .. dateparts[3] end elseif #dateparts == 2 and dateformat == "y" then fdate = dateparts[2] end return fdate .. bc end ------------------------------------------------------------------------------- -- dateFormat is the handler for properties that are of type "time" -- It takes timestamp, precision (6 to 11 per mediawiki), dateformat (y/dmy/mdy), BC format (BC/BCE), -- a plaindate switch (yes/no/adj) to en/disable "sourcing circumstances"/use adjectival form, -- any qualifiers for the property, the language, and any adjective to use like 'before'. -- It passes the date through the "complex date" function -- and returns a string with the internatonalised date formatted according to preferences. ------------------------------------------------------------------------------- -- Dependencies: findLang(); cdate(); dp[] ------------------------------------------------------------------------------- local dateFormat = function(timestamp, dprec, df, bcf, pd, qualifiers, lang, adj, model) -- output formatting according to preferences (y/dmy/mdy/ymd) df = (df or ""):lower() -- if ymd is required, return the part of the timestamp in YYYY-MM-DD form -- but apply Year zero#Astronomers fix: 1 BC = 0000; 2 BC = -0001; etc. if df == "ymd" then if timestamp:sub(1,1) == "+" then return timestamp:sub(2,11) else local yr = tonumber(timestamp:sub(2,5)) - 1 yr = ("000" .. yr):sub(-4) if yr ~= "0000" then yr = "-" .. yr end return yr .. timestamp:sub(6,11) end end -- A year can be stored like this: "+1872-00-00T00:00:00Z", -- which is processed here as if it were the day before "+1872-01-01T00:00:00Z", -- and that's the last day of 1871, so the year is wrong. -- So fix the month 0, day 0 timestamp to become 1 January instead: timestamp = timestamp:gsub("%-00%-00T", "-01-01T") -- just in case date precision is missing dprec = dprec or 11 -- override more precise dates if required dateformat is year alone: if df == "y" and dprec > 9 then dprec = 9 end -- complex date only deals with precisions from 6 to 11, so clip range dprec = dprec>11 and 11 or dprec dprec = dprec<6 and 6 or dprec -- BC format is "BC" or "BCE" bcf = (bcf or ""):upper() -- plaindate only needs the first letter (y/n/a) pd = (pd or ""):sub(1,1):lower() if pd == "" or pd == "n" or pd == "f" or pd == "0" then pd = false end -- in case language isn't passed lang = lang or findLang().code -- set adj as empty if nil adj = adj or "" -- extract the day, month, year from the timestamp local bc = timestamp:sub(1, 1)=="-" and "BC" or "" local year, month, day = timestamp:match("[+-](%d*)-(%d*)-(%d*)T") local iso = tonumber(year) -- if year is missing, let it throw an error -- this will adjust the date format to be compatible with cdate -- possible formats are Y, YY, YYY0, YYYY, YYYY-MM, YYYY-MM-DD if dprec == 6 then iso = math.floor( (iso - 1) / 1000 ) + 1 end if dprec == 7 then iso = math.floor( (iso - 1) / 100 ) + 1 end if dprec == 8 then iso = math.floor( iso / 10 ) .. "0" end if dprec == 10 then iso = year .. "-" .. month end if dprec == 11 then iso = year .. "-" .. month .. "-" .. day end -- add "circa" (Q5727902) from "sourcing circumstances" (P1480) local sc = not pd and qualifiers and qualifiers.P1480 if sc then for k1, v1 in pairs(sc) do if v1.datavalue and v1.datavalue.value.id == "Q5727902" then adj = "circa" break end end end -- deal with Julian dates: -- no point in saying that dates before 1582 are Julian - they are by default -- doesn't make sense for dates less precise than year -- we can suppress it by setting |plaindate, e.g. for use in constructing categories. local calendarmodel = "" if tonumber(year) > 1582 and dprec > 8 and not pd and model == "http://www.wikidata.org/entity/Q1985786" then calendarmodel = "julian" end if not cdate then cdate = require("Module:Complex date")._complex_date end local fdate = cdate(calendarmodel, adj, tostring(iso), dp[dprec], bc, "", "", "", "", lang, 1) -- this may have QuickStatements info appended to it in a div, so remove that fdate = fdate:gsub(' <div style="display: none;">[^<]*</div>', '') -- it may also be returned wrapped in a microformat, so remove that fdate = fdate:gsub("<[^>]*>", "") -- there may be leading zeros that we should remove fdate = fdate:gsub("^0*", "") -- if a plain date is required, then remove any links (like BC linked) if pd then fdate = fdate:gsub("%[%[.*|", ""):gsub("]]", "") end -- if 'circa', use the abbreviated form *** internationalise later *** fdate = fdate:gsub('circa ', '<abbr title="circa">c.</abbr>&nbsp;') -- deal with BC/BCE if bcf == "BCE" then fdate = fdate:gsub('BC', 'BCE') end -- deal with mdy format if df == "mdy" then fdate = fdate:gsub("(%d+) (%w+) (%d+)", "%2 %1, %3") end -- deal with adjectival form *** internationalise later *** if pd == "a" then fdate = fdate:gsub(' century', '-century') end return fdate end ------------------------------------------------------------------------------- -- parseParam takes a (string) parameter, e.g. from the list of frame arguments, -- and makes "false", "no", and "0" into the (boolean) false -- it makes the empty string and nil into the (boolean) value passed as default -- allowing the parameter to be true or false by default. -- It returns a boolean. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local parseParam = function(param, default) if type(param) == "boolean" then param = tostring(param) end if param and param ~= "" then param = param:lower() if (param == "false") or (param:sub(1,1) == "n") or (param == "0") then return false else return true end else return default end end ------------------------------------------------------------------------------- -- _getSitelink takes the qid of a Wikidata entity passed as |qid= -- It takes an optional parameter |wiki= to determine which wiki is to be checked for a sitelink -- If the parameter is blank, then it uses the local wiki. -- If there is a sitelink to an article available, it returns the plain text link to the article -- If there is no sitelink, it returns nil. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local _getSitelink = function(qid, wiki) qid = (qid or ""):upper() if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid then return nil end wiki = wiki or "" local sitelink if wiki == "" then sitelink = mw.wikibase.getSitelink(qid) else sitelink = mw.wikibase.getSitelink(qid, wiki) end return sitelink end ------------------------------------------------------------------------------- -- _getCommonslink takes an optional qid of a Wikidata entity passed as |qid= -- It returns one of the following in order of preference: -- the Commons sitelink of the Wikidata entity - but not if onlycat=true and it's not a category; -- the Commons sitelink of the topic's main category of the Wikidata entity; -- the Commons category of the Wikidata entity - unless fallback=false. ------------------------------------------------------------------------------- -- Dependencies: _getSitelink(); parseParam() ------------------------------------------------------------------------------- local _getCommonslink = function(qid, onlycat, fallback) qid = (qid or ""):upper() if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid then return nil end onlycat = parseParam(onlycat, false) if fallback == "" then fallback = nil end local sitelink = _getSitelink(qid, "commonswiki") if onlycat and sitelink and sitelink:sub(1,9) ~= "Category:" then sitelink = nil end if not sitelink then -- check for topic's main category local prop910 = mw.wikibase.getBestStatements(qid, "P910")[1] if prop910 then local tmcid = prop910.mainsnak.datavalue and prop910.mainsnak.datavalue.value.id sitelink = _getSitelink(tmcid, "commonswiki") end if not sitelink then -- check for list's main category local prop1754 = mw.wikibase.getBestStatements(qid, "P1754")[1] if prop1754 then local tmcid = prop1754.mainsnak.datavalue and prop1754.mainsnak.datavalue.value.id sitelink = _getSitelink(tmcid, "commonswiki") end end end if not sitelink and fallback then -- check for Commons category (string value) local prop373 = mw.wikibase.getBestStatements(qid, "P373")[1] if prop373 then sitelink = prop373.mainsnak.datavalue and prop373.mainsnak.datavalue.value if sitelink then sitelink = "Category:" .. sitelink end end end return sitelink end ------------------------------------------------------------------------------- -- The label in a Wikidata item is subject to vulnerabilities -- that an attacker might try to exploit. -- It needs to be 'sanitised' by removing any wikitext before use. -- If it doesn't exist, return the id for the item -- a second (boolean) value is also returned, value is true when the label exists ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local labelOrId = function(id, lang) if lang == "default" then lang = findLang().code end local label if lang then label = mw.wikibase.getLabelByLang(id, lang) else label = mw.wikibase.getLabel(id) end if label then return mw.text.nowiki(label), true else return id, false end end ------------------------------------------------------------------------------- -- linkedItem takes an entity-id and returns a string, linked if possible. -- This is the handler for "wikibase-item". Preferences: -- 1. Display linked disambiguated sitelink if it exists -- 2. Display linked label if it is a redirect -- 3. TBA: Display an inter-language link for the label if it exists other than in default language -- 4. Display unlinked label if it exists -- 5. Display entity-id for now to indicate a label could be provided -- dtxt is text to be used instead of label, or nil. -- shortname is boolean switch to use P1813 (short name) instead of label if true. -- lang is the current language code. ------------------------------------------------------------------------------- -- Dependencies: labelOrId(); donotlink[] ------------------------------------------------------------------------------- local linkedItem = function(id, lprefix, lpostfix, prefix, postfix, dtxt, shortname, lang) lprefix = lprefix or "" -- toughen against nil values passed lpostfix = lpostfix or "" prefix = prefix or "" postfix = postfix or "" lang = lang or "en" -- fallback to default if missing -- see if item might need italics or quotes local fmt = "" for k, v in ipairs( mw.wikibase.getBestStatements(id, "P31") ) do if v.mainsnak.datavalue and formats[v.mainsnak.datavalue.value.id] then fmt = formats[v.mainsnak.datavalue.value.id] break -- pick the first match end end local disp local sitelink = mw.wikibase.getSitelink(id) local label, islabel if dtxt then label, islabel = dtxt, true elseif shortname then -- see if there is a shortname in our language, and set label to it for k, v in ipairs( mw.wikibase.getBestStatements(id, "P1813") ) do if v.mainsnak.datavalue.value.language == lang then label, islabel = v.mainsnak.datavalue.value.text, true break end -- test for language match end -- loop through values of short name -- if we have no label set, then there was no shortname available if not islabel then label, islabel = labelOrId(id) shortname = false end else label, islabel = labelOrId(id) end if mw.site.siteName ~= "Wikimedia Commons" then if sitelink then if not (dtxt or shortname) then -- strip any namespace or dab from the sitelink local pos = sitelink:find(":") or 0 local slink = sitelink if pos > 0 then local prefix = sitelink:sub(1,pos-1) if mw.site.namespaces[prefix] then -- that prefix is a valid namespace, so remove it slink = sitelink:sub(pos+1) end end -- remove stuff after commas or inside parentheses - ie. dabs slink = slink:gsub("%s%(.+%)$", ""):gsub(",.+$", "") -- use that as label, preserving label case - find("^%u") is true for 1st char uppercase if label:find("^%u") then label = slink:gsub("^(%l)", string.upper) else label = slink:gsub("^(%u)", string.lower) end end if donotlink[label] then disp = prefix .. fmt .. label .. fmt .. postfix else disp = "[[" .. lprefix .. sitelink .. lpostfix .. "|" .. prefix .. fmt .. label .. fmt .. postfix .. "]]" end elseif islabel then -- no sitelink, label exists, so check if a redirect with that title exists local artitle = mw.title.new(label, 0) -- only nil if label has invalid chars if not donotlink[label] and artitle and artitle.redirectTarget then -- there's a redirect with the same title as the label, so let's link to that disp = "[[".. lprefix .. label .. lpostfix .. "|" .. prefix .. fmt .. label .. fmt .. postfix .. "]]" else -- either (donotlink is true) or (no sitelink, label exists, not redirect) -- so output unlinked label with italics or quotes as needed disp = prefix .. fmt .. label .. fmt .. postfix end -- test if article title exists as redirect on current Wiki else -- no sitelink and no label, so return whatever was returned from labelOrId for now -- add tracking category [[Category:Articles with missing Wikidata information]] -- for enwiki, just return the tracking category if mw.wikibase.getGlobalSiteId() == "enwiki" then disp = i18n.missinginfocat else disp = prefix .. label .. postfix .. i18n.missinginfocat end end else local ccat = mw.wikibase.getBestStatements(id, "P373")[1] if ccat and ccat.mainsnak.datavalue then ccat = ccat.mainsnak.datavalue.value disp = "[[" .. lprefix .. "Category:" .. ccat .. lpostfix .. "|" .. prefix .. label .. postfix .. "]]" elseif sitelink then -- this asumes that if a sitelink exists, then a label also exists disp = "[[" .. lprefix .. sitelink .. lpostfix .. "|" .. prefix .. label .. postfix .. "]]" else -- no sitelink and no Commons cat, so return label from labelOrId for now disp = prefix .. label .. postfix end end return disp end ------------------------------------------------------------------------------- -- sourced takes a table representing a statement that may or may not have references -- it looks for a reference sourced to something not containing the word "wikipedia" -- it returns a boolean = true if it finds a sourced reference. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local sourced = function(claim) if claim.references then for kr, vr in pairs(claim.references) do local ref = mw.wikibase.renderSnaks(vr.snaks) if not ref:find("Wiki") then return true end end end end ------------------------------------------------------------------------------- -- setRanks takes a flag (parameter passed) that requests the values to return -- "b[est]" returns preferred if available, otherwise normal -- "p[referred]" returns preferred -- "n[ormal]" returns normal -- "d[eprecated]" returns deprecated -- multiple values are allowed, e.g. "preferred normal" (which is the default) -- "best" will override the other flags, and set p and n ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local setRanks = function(rank) rank = (rank or ""):lower() -- if nothing passed, return preferred and normal -- if rank == "" then rank = "p n" end local ranks = {} for w in string.gmatch(rank, "%a+") do w = w:sub(1,1) if w == "b" or w == "p" or w == "n" or w == "d" then ranks[w] = true end end -- check if "best" is requested or no ranks requested; and if so, set preferred and normal if ranks.b or not next(ranks) then ranks.p = true ranks.n = true end return ranks end ------------------------------------------------------------------------------- -- parseInput processes the Q-id , the blacklist and the whitelist -- if an input parameter is supplied, it returns that and ends the call. -- it returns (1) either the qid or nil indicating whether or not the call should continue -- and (2) a table containing all of the statements for the propertyID and relevant Qid -- if "best" ranks are requested, it returns those instead of all non-deprecated ranks ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local parseInput = function(frame, input_parm, property_id) -- There may be a local parameter supplied, if it's blank, set it to nil input_parm = mw.text.trim(input_parm or "") if input_parm == "" then input_parm = nil end -- return nil if Wikidata is not available if not mw.wikibase then return false, input_parm end local args = frame.args -- can take a named parameter |qid which is the Wikidata ID for the article. -- if it's not supplied, use the id for the current page local qid = args.qid or "" if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end -- if there's no Wikidata item for the current page return nil if not qid then return false, input_parm end -- The blacklist is passed in named parameter |suppressfields local blacklist = args.suppressfields or args.spf or "" -- The whitelist is passed in named parameter |fetchwikidata local whitelist = args.fetchwikidata or args.fwd or "" if whitelist == "" then whitelist = "NONE" end -- The name of the field that this function is called from is passed in named parameter |name local fieldname = args.name or "" if blacklist ~= "" then -- The name is compulsory when blacklist is used, so return nil if it is not supplied if fieldname == "" then return false, nil end -- If this field is on the blacklist, then return nil if blacklist:find(fieldname) then return false, nil end end -- If we got this far then we're not on the blacklist -- The blacklist overrides any locally supplied parameter as well -- If a non-blank input parameter was supplied return it if input_parm then return false, input_parm end -- We can filter out non-valid properties if property_id:sub(1,1):upper() ~="P" or property_id == "P0" then return false, nil end -- Otherwise see if this field is on the whitelist: -- needs a bit more logic because find will return its second value = 0 if fieldname is "" -- but nil if fieldname not found on whitelist local _, found = whitelist:find(fieldname) found = ((found or 0) > 0) if whitelist ~= 'ALL' and (whitelist:upper() == "NONE" or not found) then return false, nil end -- See what's on Wikidata (the call always returns a table, but it may be empty): local props = {} if args.reqranks.b then props = mw.wikibase.getBestStatements(qid, property_id) else props = mw.wikibase.getAllStatements(qid, property_id) end if props[1] then return qid, props end -- no property on Wikidata return false, nil end ------------------------------------------------------------------------------- -- createicon assembles the "Edit at Wikidata" pen icon. -- It returns a wikitext string inside a span class="penicon" ------------------------------------------------------------------------------- -- Dependencies: i18n[]; ------------------------------------------------------------------------------- local createicon = function(langcode, entityID, propertyID) local icon = "&nbsp;<span class='penicon'>[[" -- "&nbsp;<span data-bridge-edit-flow='overwrite' class='penicon'>[[" -> enable Wikidata Bridge .. i18n["filespace"] .. ":OOjs UI icon edit-ltr-progressive.svg |frameless |text-top |10px |alt=" .. i18n["editonwikidata"] .. "|link=https://www.wikidata.org/wiki/" .. entityID .. "?uselang=" .. langcode if propertyID then icon = icon .. "#" .. propertyID end icon = icon .. "|" .. i18n["editonwikidata"] .. "]]</span>" return icon end ------------------------------------------------------------------------------- -- assembleoutput takes the sequence table containing the property values -- and formats it according to switches given. It returns a string or nil. -- It needs the entityID and propertyID to create a link in the pen icon. ------------------------------------------------------------------------------- -- Dependencies: parseParam(); ------------------------------------------------------------------------------- local assembleoutput = function(out, args, entityID, propertyID) -- sorted is a boolean passed to enable sorting of the values returned -- if nothing or an empty string is passed set it false -- if "false" or "no" or "0" is passed set it false local sorted = parseParam(args.sorted, false) -- noicon is a boolean passed to suppress the trailing "edit at Wikidata" icon -- for use when the value is processed further by the infobox -- if nothing or an empty string is passed set it false -- if "false" or "no" or "0" is passed set it false local noic = parseParam(args.noicon, false) -- list is the name of a template that a list of multiple values is passed through -- examples include "hlist" and "ubl" -- setting it to "prose" produces something like "1, 2, 3, and 4" local list = args.list or "" -- sep is a string that is used to separate multiple returned values -- if nothing or an empty string is passed set it to the default -- any double-quotes " are stripped out, so that spaces may be passed -- e.g. |sep=" - " local sepdefault = i18n["list separator"] local separator = args.sep or "" separator = string.gsub(separator, '"', '') if separator == "" then separator = sepdefault end -- collapse is a number that determines the maximum number of returned values -- before the output is collapsed. -- Zero or not a number result in no collapsing (default becomes 0). local collapse = tonumber(args.collapse) or 0 -- replacetext (rt) is a string that is returned instead of any non-empty Wikidata value -- this is useful for tracking and debugging local replacetext = mw.text.trim(args.rt or args.replacetext or "") -- if there's anything to return, then return a list -- comma-separated by default, but may be specified by the sep parameter -- optionally specify a hlist or ubl or a prose list, etc. local strout if #out > 0 then if sorted then table.sort(out) end -- if there's something to display and a pen icon is wanted, add it the end of the last value local hasdisplay = false for i, v in ipairs(out) do if v ~= i18n.missinginfocat then hasdisplay = true break end end if not noic and hasdisplay then out[#out] = out[#out] .. createicon(args.langobj.code, entityID, propertyID) end if list == "" then strout = table.concat(out, separator) elseif list:lower() == "prose" then strout = mw.text.listToText( out ) else strout = mw.getCurrentFrame():expandTemplate{title = list, args = out} end if collapse >0 and #out > collapse then strout = collapsediv .. strout .. "</div>" end else strout = nil -- no items had valid reference end if replacetext ~= "" and strout then strout = replacetext end return strout end ------------------------------------------------------------------------------- -- rendersnak takes a table (propval) containing the information stored on one property value -- and returns the value as a string and its language if monolingual text. -- It handles data of type: -- wikibase-item -- time -- string, url, commonsMedia, external-id -- quantity -- globe-coordinate -- monolingualtext -- It also requires linked, the link/pre/postfixes, uabbr, and the arguments passed from frame. -- The optional filter parameter allows quantities to be be filtered by unit Qid. ------------------------------------------------------------------------------- -- Dependencies: parseParam(); labelOrId(); i18n[]; dateFormat(); -- roundto(); decimalPrecision(); decimalToDMS(); linkedItem(); ------------------------------------------------------------------------------- local rendersnak = function(propval, args, linked, lpre, lpost, pre, post, uabbr, filter) lpre = lpre or "" lpost = lpost or "" pre = pre or "" post = post or "" args.lang = args.lang or findLang().code -- allow values to display a fixed text instead of label local dtxt = args.displaytext or args.dt if dtxt == "" then dtxt = nil end -- switch to use display of short name (P1813) instead of label local shortname = args.shortname or args.sn shortname = parseParam(shortname, false) local snak = propval.mainsnak or propval local dtype = snak.datatype local dv = snak.datavalue dv = dv and dv.value -- value and monolingual text language code returned local val, mlt if propval.rank and not args.reqranks[propval.rank:sub(1, 1)] then -- val is nil: value has a rank that isn't requested ------------------------------------ elseif snak.snaktype == "somevalue" then -- value is unknown val = i18n["Unknown"] ------------------------------------ elseif snak.snaktype == "novalue" then -- value is none -- val = "No value" -- don't return anything ------------------------------------ elseif dtype == "wikibase-item" then -- data type is a wikibase item: -- it's wiki-linked value, so output as link if enabled and possible local qnumber = dv.id if linked then val = linkedItem(qnumber, lpre, lpost, pre, post, dtxt, shortname, args.lang) else -- no link wanted so check for display-text, otherwise test for lang code local label, islabel if dtxt then label = dtxt else label, islabel = labelOrId(qnumber) local langlabel = mw.wikibase.getLabelByLang(qnumber, args.lang) if langlabel then label = mw.text.nowiki( langlabel ) end end val = pre .. label .. post end -- test for link required ------------------------------------ elseif dtype == "time" then -- data type is time: -- time is in timestamp format -- date precision is integer per mediawiki -- output formatting according to preferences (y/dmy/mdy) -- BC format as BC or BCE -- plaindate is passed to disable looking for "sourcing cirumstances" -- or to set the adjectival form -- qualifiers (if any) is a nested table or nil -- lang is given, or user language, or site language -- -- Here we can check whether args.df has a value -- If not, use code from Module:Sandbox/RexxS/Getdateformat to set it from templates like {{Use mdy dates}} val = dateFormat(dv.time, dv.precision, args.df, args.bc, args.pd, propval.qualifiers, args.lang, "", dv.calendarmodel) ------------------------------------ -- data types which are strings: elseif dtype == "commonsMedia" or dtype == "external-id" or dtype == "string" or dtype == "url" then -- commonsMedia or external-id or string or url -- all have mainsnak.datavalue.value as string if (lpre == "" or lpre == ":") and lpost == "" then -- don't link if no linkpre/postfix or linkprefix is just ":" val = pre .. dv .. post elseif dtype == "external-id" then val = "[" .. lpre .. dv .. lpost .. " " .. pre .. dv .. post .. "]" else val = "[[" .. lpre .. dv .. lpost .. "|" .. pre .. dv .. post .. "]]" end -- check for link requested (i.e. either linkprefix or linkpostfix exists) ------------------------------------ -- data types which are quantities: elseif dtype == "quantity" then -- quantities have mainsnak.datavalue.value.amount and mainsnak.datavalue.value.unit -- the unit is of the form http://www.wikidata.org/entity/Q829073 -- -- implement a switch to turn on/off numerical formatting later local fnum = true -- -- a switch to turn on/off conversions - only for en-wiki local conv = parseParam(args.conv or args.convert, false) -- if we have conversions, we won't have formatted numbers or scales if conv then uabbr = true fnum = false args.scale = "0" end -- -- a switch to turn on/off showing units, default is true local showunits = parseParam(args.su or args.showunits, true) -- -- convert amount to a number local amount = tonumber(dv.amount) or i18n["NaN"] -- -- scale factor for millions, billions, etc. local sc = tostring(args.scale or ""):sub(1,1):lower() local scale if sc == "a" then -- automatic scaling if amount > 1e15 then scale = 12 elseif amount > 1e12 then scale = 9 elseif amount > 1e9 then scale = 6 elseif amount > 1e6 then scale = 3 else scale = 0 end else scale = tonumber(args.scale) or 0 if scale < 0 or scale > 12 then scale = 0 end scale = math.floor(scale/3) * 3 end local factor = 10^scale amount = amount / factor -- ranges: local range = "" -- check if upper and/or lower bounds are given and significant local upb = tonumber(dv.upperBound) local lowb = tonumber(dv.lowerBound) if upb and lowb then -- differences rounded to 2 sig fig: local posdif = roundto(upb - amount, 2) / factor local negdif = roundto(amount - lowb, 2) / factor upb, lowb = amount + posdif, amount - negdif -- round scaled numbers to integers or 4 sig fig if (scale > 0 or sc == "a") then if amount < 1e4 then amount = roundto(amount, 4) else amount = math.floor(amount + 0.5) end end if fnum then amount = args.langobj:formatNum( amount ) end if posdif ~= negdif then -- non-symmetrical range = " +" .. posdif .. " -" .. negdif elseif posdif ~= 0 then -- symmetrical and non-zero range = " ±" .. posdif else -- otherwise range is zero, so leave it as "" end else -- round scaled numbers to integers or 4 sig fig if (scale > 0 or sc == "a") then if amount < 1e4 then amount = roundto(amount, 4) else amount = math.floor(amount + 0.5) end end if fnum then amount = args.langobj:formatNum( amount ) end end -- unit names and symbols: -- extract the qid in the form 'Qnnn' from the value.unit url -- and then fetch the label from that - or symbol if unitabbr is true local unit = "" local usep = "" local usym = "" local unitqid = string.match( dv.unit, "(Q%d+)" ) if filter and unitqid ~= filter then return nil end if unitqid and showunits then local uname = mw.wikibase.getLabelByLang(unitqid, args.lang) or "" if uname ~= "" then usep, unit = " ", uname end if uabbr then -- see if there's a unit symbol (P5061) local unitsymbols = mw.wikibase.getBestStatements(unitqid, "P5061") -- construct fallback table, add local lang and multiple languages local fbtbl = mw.language.getFallbacksFor( args.lang ) table.insert( fbtbl, 1, args.lang ) table.insert( fbtbl, 1, "mul" ) local found = false for idx1, us in ipairs(unitsymbols) do for idx2, fblang in ipairs(fbtbl) do if us.mainsnak.datavalue.value.language == fblang then usym = us.mainsnak.datavalue.value.text found = true break end if found then break end end -- loop through fallback table end -- loop through values of P5061 if found then usep, unit = "&nbsp;", usym end end end -- format display: if conv then if range == "" then val = mw.getCurrentFrame():expandTemplate{title = "cvt", args = {amount, unit}} else val = mw.getCurrentFrame():expandTemplate{title = "cvt", args = {lowb, "to", upb, unit}} end elseif unit == "$" or unit == "£" then val = unit .. amount .. range .. i18n.multipliers[scale] else val = amount .. range .. i18n.multipliers[scale] .. usep .. unit end ------------------------------------ -- datatypes which are global coordinates: elseif dtype == "globe-coordinate" then -- 'display' parameter defaults to "inline, title" *** unused for now *** -- local disp = args.display or "" -- if disp == "" then disp = "inline, title" end -- -- format parameter switches from deg/min/sec to decimal degrees -- default is deg/min/sec -- decimal degrees needs |format = dec local form = (args.format or ""):lower():sub(1,3) if form ~= "dec" then form = "dms" end -- not needed for now -- -- show parameter allows just the latitude, or just the longitude, or both -- to be returned as a signed decimal, ignoring the format parameter. local show = (args.show or ""):lower() if show ~= "longlat" then show = show:sub(1,3) end -- local lat, long, prec = dv.latitude, dv.longitude, dv.precision if show == "lat" then val = decimalPrecision(lat, prec) elseif show == "lon" then val = decimalPrecision(long, prec) elseif show == "longlat" then val = decimalPrecision(long, prec) .. ", " .. decimalPrecision(lat, prec) else local ns = "N" local ew = "E" if lat < 0 then ns = "S" lat = - lat end if long < 0 then ew = "W" long = - long end if form == "dec" then lat = decimalPrecision(lat, prec) long = decimalPrecision(long, prec) val = lat .. "°" .. ns .. " " .. long .. "°" .. ew else local latdeg, latmin, latsec = decimalToDMS(lat, prec) local longdeg, longmin, longsec = decimalToDMS(long, prec) if latsec == 0 and longsec == 0 then if latmin == 0 and longmin == 0 then val = latdeg .. "°" .. ns .. " " .. longdeg .. "°" .. ew else val = latdeg .. "°" .. latmin .. "′" .. ns .. " " val = val .. longdeg .. "°".. longmin .. "′" .. ew end else val = latdeg .. "°" .. latmin .. "′" .. latsec .. "″" .. ns .. " " val = val .. longdeg .. "°" .. longmin .. "′" .. longsec .. "″" .. ew end end end ------------------------------------ elseif dtype == "monolingualtext" then -- data type is Monolingual text: -- has mainsnak.datavalue.value as a table containing language/text pairs -- collect all the values in 'out' and languages in 'mlt' and process them later val = pre .. dv.text .. post mlt = dv.language ------------------------------------ else -- some other data type so write a specific handler val = "unknown data type: " .. dtype end -- of datatype/unknown value/sourced check return val, mlt end ------------------------------------------------------------------------------- -- propertyvalueandquals takes a property object, the arguments passed from frame, -- and a qualifier propertyID. -- It returns a sequence (table) of values representing the values of that property -- and qualifiers that match the qualifierID if supplied. ------------------------------------------------------------------------------- -- Dependencies: parseParam(); sourced(); labelOrId(); i18n.latestdatequalifier(); format_Date(); -- makeOrdinal(); roundto(); decimalPrecision(); decimalToDMS(); assembleoutput(); ------------------------------------------------------------------------------- local function propertyvalueandquals(objproperty, args, qualID) -- needs this style of declaration because it's re-entrant -- onlysourced is a boolean passed to return only values sourced to other than Wikipedia -- if nothing or an empty string is passed set it true local onlysrc = parseParam(args.onlysourced or args.osd, true) -- linked is a a boolean that enables the link to a local page via sitelink -- if nothing or an empty string is passed set it true local linked = parseParam(args.linked, true) -- prefix is a string that may be nil, empty (""), or a string of characters -- this is prefixed to each value -- useful when when multiple values are returned -- any double-quotes " are stripped out, so that spaces may be passed local prefix = (args.prefix or ""):gsub('"', '') -- postfix is a string that may be nil, empty (""), or a string of characters -- this is postfixed to each value -- useful when when multiple values are returned -- any double-quotes " are stripped out, so that spaces may be passed local postfix = (args.postfix or ""):gsub('"', '') -- linkprefix is a string that may be nil, empty (""), or a string of characters -- this creates a link and is then prefixed to each value -- useful when when multiple values are returned and indirect links are needed -- any double-quotes " are stripped out, so that spaces may be passed local lprefix = (args.linkprefix or args.lp or ""):gsub('"', '') -- linkpostfix is a string that may be nil, empty (""), or a string of characters -- this is postfixed to each value when linking is enabled with lprefix -- useful when when multiple values are returned -- any double-quotes " are stripped out, so that spaces may be passed local lpostfix = (args.linkpostfix or ""):gsub('"', '') -- wdlinks is a boolean passed to enable links to Wikidata when no article exists -- if nothing or an empty string is passed set it false local wdl = parseParam(args.wdlinks or args.wdl, false) -- unitabbr is a boolean passed to enable unit abbreviations for common units -- if nothing or an empty string is passed set it false local uabbr = parseParam(args.unitabbr or args.uabbr, false) -- qualsonly is a boolean passed to return just the qualifiers -- if nothing or an empty string is passed set it false local qualsonly = parseParam(args.qualsonly or args.qo, false) -- maxvals is a string that may be nil, empty (""), or a number -- this determines how many items may be returned when multiple values are available -- setting it = 1 is useful where the returned string is used within another call, e.g. image local maxvals = tonumber(args.maxvals) or 0 -- pd (plain date) is a string: yes/true/1 | no/false/0 | adj -- to disable/enable "sourcing cirumstances" or use adjectival form for the plain date local pd = args.plaindate or args.pd or "no" args.pd = pd -- allow qualifiers to have a different date format; default to year args.qdf = args.qdf or args.qualifierdateformat or args.df or "y" local lang = args.lang or findlang().code -- qualID is a string list of wanted qualifiers or "ALL" qualID = qualID or "" -- capitalise list of wanted qualifiers and substitute "DATES" qualID = qualID:upper():gsub("DATES", "P580, P582") local allflag = (qualID == "ALL") -- create table of wanted qualifiers as key local qwanted = {} -- create sequence of wanted qualifiers local qorder = {} for q in mw.text.gsplit(qualID, "%p") do -- split at punctuation and iterate local qtrim = mw.text.trim(q) if qtrim ~= "" then qwanted[mw.text.trim(q)] = true qorder[#qorder+1] = qtrim end end -- qsep is the output separator for rendering qualifier list local qsep = (args.qsep or ""):gsub('"', '') -- qargs are the arguments to supply to assembleoutput() local qargs = { ["osd"] = "false", ["linked"] = tostring(linked), ["prefix"] = args.qprefix, ["postfix"] = args.qpostfix, ["linkprefix"] = args.qlinkprefix or args.qlp, ["linkpostfix"] = args.qlinkpostfix, ["wdl"] = "false", ["unitabbr"] = tostring(uabbr), ["maxvals"] = 0, ["sorted"] = tostring(args.qsorted), ["noicon"] = "true", ["list"] = args.qlist, ["sep"] = qsep, ["langobj"] = args.langobj, ["lang"] = args.langobj.code, ["df"] = args.qdf, ["sn"] = parseParam(args.qsn or args.qshortname, false), } -- all proper values of a Wikidata property will be the same type as the first -- qualifiers don't have a mainsnak, properties do local datatype = objproperty[1].datatype or objproperty[1].mainsnak.datatype -- out[] holds the a list of returned values for this property -- mlt[] holds the language code if the datatype is monolingual text local out = {} local mlt = {} for k, v in ipairs(objproperty) do local hasvalue = true if (onlysrc and not sourced(v)) then -- no value: it isn't sourced when onlysourced=true hasvalue = false else local val, lcode = rendersnak(v, args, linked, lprefix, lpostfix, prefix, postfix, uabbr) if not val then hasvalue = false -- rank doesn't match elseif qualsonly and qualID then -- suppress value returned: only qualifiers are requested else out[#out+1], mlt[#out+1] = val, lcode end end -- See if qualifiers are to be returned: local snak = v.mainsnak or v if hasvalue and v.qualifiers and qualID ~= "" and snak.snaktype~="novalue" then -- collect all wanted qualifier values returned in qlist, indexed by propertyID local qlist = {} local timestart, timeend = "", "" -- loop through qualifiers for k1, v1 in pairs(v.qualifiers) do if allflag or qwanted[k1] then if k1 == "P1326" then local ts = v1[1].datavalue.value.time local dp = v1[1].datavalue.value.precision qlist[k1] = dateFormat(ts, dp, args.qdf, args.bc, pd, "", lang, "before") elseif k1 == "P1319" then local ts = v1[1].datavalue.value.time local dp = v1[1].datavalue.value.precision qlist[k1] = dateFormat(ts, dp, args.qdf, args.bc, pd, "", lang, "after") elseif k1 == "P580" then timestart = propertyvalueandquals(v1, qargs)[1] or "" -- treat only one start time as valid elseif k1 == "P582" then timeend = propertyvalueandquals(v1, qargs)[1] or "" -- treat only one end time as valid else local q = assembleoutput(propertyvalueandquals(v1, qargs), qargs) -- we already deal with circa via 'sourcing circumstances' if the datatype was time -- circa may be either linked or unlinked *** internationalise later *** if datatype ~= "time" or q ~= "circa" and not (type(q) == "string" and q:find("circa]]")) then qlist[k1] = q end end end -- of test for wanted end -- of loop through qualifiers -- set date separator local t = timestart .. timeend -- *** internationalise date separators later *** local dsep = "&ndash;" if t:find("%s") or t:find("&nbsp;") then dsep = " &ndash; " end -- set the order for the list of qualifiers returned; start time and end time go last if next(qlist) then local qlistout = {} if allflag then for k2, v2 in pairs(qlist) do qlistout[#qlistout+1] = v2 end else for i2, v2 in ipairs(qorder) do qlistout[#qlistout+1] = qlist[v2] end end if t ~= "" then qlistout[#qlistout+1] = timestart .. dsep .. timeend end local qstr = assembleoutput(qlistout, qargs) if qualsonly then out[#out+1] = qstr else out[#out] = out[#out] .. " (" .. qstr .. ")" end elseif t ~= "" then if qualsonly then out[#out+1] = timestart .. dsep .. timeend else out[#out] = out[#out] .. " (" .. timestart .. dsep .. timeend .. ")" end end end -- of test for qualifiers wanted if maxvals > 0 and #out >= maxvals then break end end -- of for each value loop -- we need to pick one value to return if the datatype was "monolingualtext" -- if there's only one value, use that -- otherwise look through the fallback languages for a match if datatype == "monolingualtext" and #out >1 then lang = mw.text.split( lang, '-', true )[1] local fbtbl = mw.language.getFallbacksFor( lang ) table.insert( fbtbl, 1, lang ) local bestval = "" local found = false for idx1, lang1 in ipairs(fbtbl) do for idx2, lang2 in ipairs(mlt) do if (lang1 == lang2) and not found then bestval = out[idx2] found = true break end end -- loop through values of property end -- loop through fallback languages if found then -- replace output table with a table containing the best value out = { bestval } else -- more than one value and none of them on the list of fallback languages -- sod it, just give them the first one out = { out[1] } end end return out end ------------------------------------------------------------------------------- -- Common code for p.getValueByQual and p.getValueByLang ------------------------------------------------------------------------------- -- Dependencies: parseParam; setRanks; parseInput; sourced; assembleoutput; ------------------------------------------------------------------------------- local _getvaluebyqual = function(frame, qualID, checkvalue) -- The property ID that will have a qualifier is the first unnamed parameter local propertyID = mw.text.trim(frame.args[1] or "") if propertyID == "" then return "no property supplied" end if qualID == "" then return "no qualifier supplied" end -- onlysourced is a boolean passed to return property values -- only when property values are sourced to something other than Wikipedia -- if nothing or an empty string is passed set it true -- if "false" or "no" or 0 is passed set it false local onlysrc = parseParam(frame.args.onlysourced or frame.args.osd, true) -- set the requested ranks flags frame.args.reqranks = setRanks(frame.args.rank) -- set a language object and code in the frame.args table frame.args.langobj = findLang(frame.args.lang) frame.args.lang = frame.args.langobj.code local args = frame.args -- check for locally supplied parameter in second unnamed parameter -- success means no local parameter and the property exists local qid, props = parseInput(frame, args[2], propertyID) local linked = parseParam(args.linked, true) local lpre = (args.linkprefix or args.lp or ""):gsub('"', '') local lpost = (args.linkpostfix or ""):gsub('"', '') local pre = (args.prefix or ""):gsub('"', '') local post = (args.postfix or ""):gsub('"', '') local uabbr = parseParam(args.unitabbr or args.uabbr, false) local filter = (args.unit or ""):upper() if filter == "" then filter = nil end if qid then local out = {} -- Scan through the values of the property -- we want something like property is "pronunciation audio (P443)" in propertyID -- with a qualifier like "language of work or name (P407)" in qualID -- whose value has the required ID, like "British English (Q7979)", in qval for k1, v1 in ipairs(props) do if v1.mainsnak.snaktype == "value" then -- check if it has the right qualifier local v1q = v1.qualifiers if v1q and v1q[qualID] then if onlysrc == false or sourced(v1) then -- if we've got this far, we have a (sourced) claim with qualifiers -- so see if matches the required value -- We'll only deal with wikibase-items and strings for now if v1q[qualID][1].datatype == "wikibase-item" then if checkvalue(v1q[qualID][1].datavalue.value.id) then out[#out + 1] = rendersnak(v1, args, linked, lpre, lpost, pre, post, uabbr, filter) end elseif v1q[qualID][1].datatype == "string" then if checkvalue(v1q[qualID][1].datavalue.value) then out[#out + 1] = rendersnak(v1, args, linked, lpre, lpost, pre, post, uabbr, filter) end end end -- of check for sourced end -- of check for matching required value and has qualifiers else return nil end -- of check for string end -- of loop through values of propertyID return assembleoutput(out, frame.args, qid, propertyID) else return props -- either local parameter or nothing end -- of test for success return nil end ------------------------------------------------------------------------------- -- _location takes Q-id and follows P276 (location) -- or P131 (located in the administrative territorial entity) or P706 (located on terrain feature) -- from the initial item to higher level territories/locations until it reaches the highest. -- An optional boolean, 'first', determines whether the first item is returned (default: false). -- An optional boolean 'skip' toggles the display to skip to the last item (default: false). -- It returns a table containing the locations - linked where possible, except for the highest. ------------------------------------------------------------------------------- -- Dependencies: findLang(); labelOrId(); linkedItem ------------------------------------------------------------------------------- local _location = function(qid, first, skip) first = parseParam(first, false) skip = parseParam(skip, false) local locs = {"P276", "P131", "P706"} local out = {} local langcode = findLang():getCode() local finished = false local count = 0 local prevqid = "Q0" repeat local prop for i1, v1 in ipairs(locs) do local proptbl = mw.wikibase.getBestStatements(qid, v1) if #proptbl > 1 then -- there is more than one higher location local prevP131, prevP131id if prevqid ~= "Q0" then prevP131 = mw.wikibase.getBestStatements(prevqid, "P131")[1] prevP131id = prevP131 and prevP131.mainsnak.datavalue and prevP131.mainsnak.datavalue.value.id end for i2, v2 in ipairs(proptbl) do parttbl = v2.qualifiers and v2.qualifiers.P518 if parttbl then -- this higher location has qualifier 'applies to part' (P518) for i3, v3 in ipairs(parttbl) do if v3.snaktype == "value" and v3.datavalue.value.id == prevqid then -- it has a value equal to the previous location prop = proptbl[i2] break end -- of test for matching last location end -- of loop through values of 'applies to part' else -- there's no qualifier 'applies to part' (P518) -- so check if the previous location had a P131 that matches this alternate if qid == prevP131id then prop = proptbl[i2] break end -- of test for matching previous P131 end end -- of loop through parent locations -- fallback to second value if match not found prop = prop or proptbl[2] elseif #proptbl > 0 then prop = proptbl[1] end if prop then break end end -- check if it's an instance of (P31) a country (Q6256) or sovereign state (Q3624078) -- and terminate the chain if it is local inst = mw.wikibase.getAllStatements(qid, "P31") if #inst > 0 then for k, v in ipairs(inst) do local instid = v.mainsnak.datavalue.value.id -- stop if it's a country (or a country within the United Kingdom if skip is true) if instid == "Q6256" or instid == "Q3624078" or (skip and instid == "Q3336843") then prop = nil -- this will ensure this is treated as top-level location break end end end -- get the name of this location and update qid to point to the parent location if prop and prop.mainsnak.datavalue then if not skip or count == 0 then out[#out+1] = linkedItem(qid, ":", "", "", "") -- get a linked value if we can end qid, prevqid = prop.mainsnak.datavalue.value.id, qid else -- This is top-level location, so get short name except when this is the first item -- Use full label if there's no short name or this is the first item local prop1813 = mw.wikibase.getAllStatements(qid, "P1813") -- if there's a short name and this isn't the only item if prop1813[1] and (#out > 0)then local shortname -- short name is monolingual text, so look for match to the local language -- choose the shortest 'short name' in that language for k, v in pairs(prop1813) do if v.mainsnak.datavalue.value.language == langcode then local name = v.mainsnak.datavalue.value.text if (not shortname) or (#name < #shortname) then shortname = name end end end -- add the shortname if one is found, fallback to the label -- but skip it if it's "USA" if shortname ~= "USA" then out[#out+1] = shortname or labelOrId(qid) else if skip then out[#out+1] = "US" end end else -- no shortname, so just add the label local loc = labelOrId(qid) -- exceptions go here: if loc == "United States of America" then out[#out+1] = "United States" else out[#out+1] = loc end end finished = true end count = count + 1 until finished or count >= 10 -- limit to 10 levels to avoid infinite loops -- remove the first location if not required if not first then table.remove(out, 1) end -- we might have duplicate text for consecutive locations, so remove them if #out > 2 then local plain = {} for i, v in ipairs(out) do -- strip any links plain[i] = v:gsub("^%[%[[^|]*|", ""):gsub("]]$", "") end local idx = 2 repeat if plain[idx] == plain[idx-1] then -- duplicate found local removeidx = 0 if (plain[idx] ~= out[idx]) and (plain[idx-1] == out[idx-1]) then -- only second one is linked, so drop the first removeidx = idx - 1 elseif (plain[idx] == out[idx]) and (plain[idx-1] ~= out[idx-1]) then -- only first one is linked, so drop the second removeidx = idx else -- pick one removeidx = idx - (os.time()%2) end table.remove(out, removeidx) table.remove(plain, removeidx) else idx = idx +1 end until idx >= #out end return out end ------------------------------------------------------------------------------- -- _getsumofparts scans the property 'has part' (P527) for values matching a list. -- The list (args.vlist) consists of a string of Qids separated by spaces or any usual punctuation. -- If the matched values have a qualifer 'quantity' (P1114), those quantites are summed. -- The sum is returned as a number (i.e. 0 if none) -- a table of arguments is supplied implementing the usual parameters. ------------------------------------------------------------------------------- -- Dependencies: setRanks; parseParam; parseInput; sourced; assembleoutput; ------------------------------------------------------------------------------- local _getsumofparts = function(args) local vallist = (args.vlist or ""):upper() if vallist == "" then return end args.reqranks = setRanks(args.rank) local f = {} f.args = args local qid, props = parseInput(f, "", "P527") if not qid then return 0 end local onlysrc = parseParam(args.onlysourced or args.osd, true) local sum = 0 for k1, v1 in ipairs(props) do if (onlysrc == false or sourced(v1)) and v1.mainsnak.snaktype == "value" and v1.mainsnak.datavalue.type == "wikibase-entityid" and vallist:match( v1.mainsnak.datavalue.value.id ) and v1.qualifiers then local quals = v1.qualifiers["P1114"] if quals then for k2, v2 in ipairs(quals) do sum = sum + v2.datavalue.value.amount end end end end return sum end ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- -- Public functions ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- -- _getValue makes the functionality of getValue available to other modules ------------------------------------------------------------------------------- -- Dependencies: setRanks; parseInput; propertyvalueandquals; assembleoutput; parseParam; sourced; -- labelOrId; i18n.latestdatequalifier; format_Date; makeOrdinal; roundto; decimalPrecision; decimalToDMS; ------------------------------------------------------------------------------- p._getValue = function(args) -- parameter sets for commonly used groups of parameters local paraset = tonumber(args.ps or args.parameterset or 0) if paraset == 1 then -- a common setting args.rank = "best" args.fetchwikidata = "ALL" args.onlysourced = "no" args.noicon = "true" elseif paraset == 2 then -- equivalent to raw args.rank = "best" args.fetchwikidata = "ALL" args.onlysourced = "no" args.noicon = "true" args.linked = "no" args.pd = "true" elseif paraset == 3 then -- third set goes here end -- implement eid parameter local eid = args.eid if eid == "" then return nil elseif eid then args.qid = eid end local propertyID = mw.text.trim(args[1] or "") args.reqranks = setRanks(args.rank) -- replacetext (rt) is a string that is returned instead of any non-empty Wikidata value -- this is useful for tracking and debugging, so we set fetchwikidata=ALL to fill the whitelist local replacetext = mw.text.trim(args.rt or args.replacetext or "") if replacetext ~= "" then args.fetchwikidata = "ALL" end local f = {} f.args = args local entityid, props = parseInput(f, f.args[2], propertyID) if not entityid then return props -- either the input parameter or nothing end -- qual is a string containing the property ID of the qualifier(s) to be returned -- if qual == "ALL" then all qualifiers returned -- if qual == "DATES" then qualifiers P580 (start time) and P582 (end time) returned -- if nothing or an empty string is passed set it nil -> no qualifiers returned local qualID = mw.text.trim(args.qual or ""):upper() if qualID == "" then qualID = nil end -- set a language object and code in the args table args.langobj = findLang(args.lang) args.lang = args.langobj.code -- table 'out' stores the return value(s): local out = propertyvalueandquals(props, args, qualID) -- format the table of values and return it as a string: return assembleoutput(out, args, entityid, propertyID) end ------------------------------------------------------------------------------- -- getValue is used to get the value(s) of a property -- The property ID is passed as the first unnamed parameter and is required. -- A locally supplied parameter may optionaly be supplied as the second unnamed parameter. -- The function will now also return qualifiers if parameter qual is supplied ------------------------------------------------------------------------------- -- Dependencies: _getValue; setRanks; parseInput; propertyvalueandquals; assembleoutput; parseParam; sourced; -- labelOrId; i18n.latestdatequalifier; format_Date; makeOrdinal; roundto; decimalPrecision; decimalToDMS; ------------------------------------------------------------------------------- p.getValue = function(frame) local args= frame.args if not args[1] then args = frame:getParent().args if not args[1] then return i18n.errors["No property supplied"] end end return p._getValue(args) end ------------------------------------------------------------------------------- -- getPreferredValue is used to get a value, -- (or a comma separated list of them if multiple values exist). -- If preferred ranks are set, it will return those values, otherwise values with normal ranks -- now redundant to getValue with |rank=best ------------------------------------------------------------------------------- -- Dependencies: p.getValue; setRanks; parseInput; propertyvalueandquals; assembleoutput; -- parseParam; sourced; labelOrId; i18n.latestdatequalifier; format_Date; -- makeOrdinal; roundto; decimalPrecision; decimalToDMS; ------------------------------------------------------------------------------- p.getPreferredValue = function(frame) frame.args.rank = "best" return p.getValue(frame) end ------------------------------------------------------------------------------- -- getCoords is used to get coordinates for display in an infobox -- whitelist and blacklist are implemented -- optional 'display' parameter is allowed, defaults to "inline, title" ------------------------------------------------------------------------------- -- Dependencies: setRanks(); parseInput(); decimalPrecision(); ------------------------------------------------------------------------------- p.getCoords = function(frame) local propertyID = "P625" -- if there is a 'display' parameter supplied, use it -- otherwise default to "inline, title" local disp = frame.args.display or "" if disp == "" then disp = "inline, title" end -- there may be a format parameter to switch from deg/min/sec to decimal degrees -- default is deg/min/sec -- decimal degrees needs |format = dec local form = (frame.args.format or ""):lower():sub(1,3) if form ~= "dec" then form = "dms" end -- just deal with best values frame.args.reqranks = setRanks("best") local qid, props = parseInput(frame, frame.args[1], propertyID) if not qid then return props -- either local parameter or nothing else local dv = props[1].mainsnak.datavalue.value local lat, long, prec = dv.latitude, dv.longitude, dv.precision lat = decimalPrecision(lat, prec) long = decimalPrecision(long, prec) local lat_long = { lat, long } lat_long["display"] = disp lat_long["format"] = form -- invoke template Coord with the values stored in the table return frame:expandTemplate{title = 'coord', args = lat_long} end end ------------------------------------------------------------------------------- -- getQualifierValue is used to get a formatted value of a qualifier -- -- The call needs: a property (the unnamed parameter or 1=) -- a target value for that property (pval=) -- a qualifier for that target value (qual=) -- The usual whitelisting and blacklisting of the property is implemented -- The boolean onlysourced= parameter can be set to return nothing -- when the property is unsourced (or only sourced to Wikipedia) ------------------------------------------------------------------------------- -- Dependencies: parseParam(); setRanks(); parseInput(); sourced(); -- propertyvalueandquals(); assembleoutput(); -- labelOrId(); i18n.latestdatequalifier(); format_Date(); -- findLang(); makeOrdinal(); roundto(); decimalPrecision(); decimalToDMS(); ------------------------------------------------------------------------------- p.getQualifierValue = function(frame) -- The property ID that will have a qualifier is the first unnamed parameter local propertyID = mw.text.trim(frame.args[1] or "") -- The value of the property we want to match whose qualifier value is to be returned -- is passed in named parameter |pval= local propvalue = frame.args.pval -- The property ID of the qualifier -- whose value is to be returned is passed in named parameter |qual= local qualifierID = frame.args.qual -- onlysourced is a boolean passed to return qualifiers -- only when property values are sourced to something other than Wikipedia -- if nothing or an empty string is passed set it true -- if "false" or "no" or 0 is passed set it false local onlysrc = parseParam(frame.args.onlysourced or frame.args.osd, true) -- set a language object and language code in the frame.args table frame.args.langobj = findLang(frame.args.lang) frame.args.lang = frame.args.langobj.code -- set the requested ranks flags frame.args.reqranks = setRanks(frame.args.rank) -- check for locally supplied parameter in second unnamed parameter -- success means no local parameter and the property exists local qid, props = parseInput(frame, frame.args[2], propertyID) if qid then local out = {} -- Scan through the values of the property -- we want something like property is P793, significant event (in propertyID) -- whose value is something like Q385378, construction (in propvalue) -- then we can return the value(s) of a qualifier such as P580, start time (in qualifierID) for k1, v1 in pairs(props) do if v1.mainsnak.snaktype == "value" and v1.mainsnak.datavalue.type == "wikibase-entityid" then -- It's a wiki-linked value, so check if it's the target (in propvalue) -- and if it has qualifiers if v1.mainsnak.datavalue.value.id == propvalue and v1.qualifiers then if onlysrc == false or sourced(v1) then -- if we've got this far, we have a (sourced) claim with qualifiers -- which matches the target, so find the value(s) of the qualifier we want local quals = v1.qualifiers[qualifierID] if quals then -- can't reference qualifer, so set onlysourced = "no" (not boolean) local qargs = frame.args qargs.onlysourced = "no" local vals = propertyvalueandquals(quals, qargs, qid) for k, v in ipairs(vals) do out[#out + 1] = v end end end -- of check for sourced end -- of check for matching required value and has qualifiers end -- of check for wikibase entity end -- of loop through values of propertyID return assembleoutput(out, frame.args, qid, propertyID) else return props -- either local parameter or nothing end -- of test for success return nil end ------------------------------------------------------------------------------- -- getSumOfParts scans the property 'has part' (P527) for values matching a list. -- The list is passed in parameter vlist. -- It consists of a string of Qids separated by spaces or any usual punctuation. -- If the matched values have a qualifier 'quantity' (P1114), those quantities are summed. -- The sum is returned as a number or nothing if zero. ------------------------------------------------------------------------------- -- Dependencies: _getsumofparts; ------------------------------------------------------------------------------- p.getSumOfParts = function(frame) local sum = _getsumofparts(frame.args) if sum == 0 then return end return sum end ------------------------------------------------------------------------------- -- getValueByQual gets the value of a property which has a qualifier with a given entity value -- The call needs: -- a property ID (the unnamed parameter or 1=Pxxx) -- the ID of a qualifier for that property (qualID=Pyyy) -- either the Wikibase-entity ID of a value for that qualifier (qvalue=Qzzz) -- or a string value for that qualifier (qvalue=abc123) -- The usual whitelisting, blacklisting, onlysourced, etc. are implemented ------------------------------------------------------------------------------- -- Dependencies: _getvaluebyqual; parseParam; setRanks; parseInput; sourced; -- assembleoutput; ------------------------------------------------------------------------------- p.getValueByQual = function(frame) local qualID = frame.args.qualID -- The Q-id of the value for the qualifier we want to match is in named parameter |qvalue= local qval = frame.args.qvalue or "" if qval == "" then return "no qualifier value supplied" end local function checkQID(id) return id == qval end return _getvaluebyqual(frame, qualID, checkQID) end ------------------------------------------------------------------------------- -- getValueByLang gets the value of a property which has a qualifier P407 -- ("language of work or name") whose value has the given language code -- The call needs: -- a property ID (the unnamed parameter or 1=Pxxx) -- the MediaWiki language code to match the language (lang=xx[-yy]) -- (if no code is supplied, it uses the default language) -- The usual whitelisting, blacklisting, onlysourced, etc. are implemented ------------------------------------------------------------------------------- -- Dependencies: _getvaluebyqual; parseParam; setRanks; parseInput; sourced; assembleoutput; ------------------------------------------------------------------------------- p.getValueByLang = function(frame) -- The language code for the qualifier we want to match is in named parameter |lang= local langcode = findLang(frame.args.lang).code local function checkLanguage(id) -- id should represent a language like "British English (Q7979)" -- it should have string property "Wikimedia language code (P424)" -- qlcode will be a table: local qlcode = mw.wikibase.getBestStatements(id, "P424") if (#qlcode > 0) and (qlcode[1].mainsnak.datavalue.value == langcode) then return true end end return _getvaluebyqual(frame, "P407", checkLanguage) end ------------------------------------------------------------------------------- -- getValueByRefSource gets the value of a property which has a reference "stated in" (P248) -- whose value has the given entity-ID. -- The call needs: -- a property ID (the unnamed parameter or 1=Pxxx) -- the entity ID of a value to match where the reference is stated in (match=Qzzz) -- The usual whitelisting, blacklisting, onlysourced, etc. are implemented ------------------------------------------------------------------------------- -- Dependencies: parseParam; setRanks; parseInput; sourced; propertyvalueandquals assembleoutput; ------------------------------------------------------------------------------- p.getValueByRefSource = function(frame) -- The property ID that we want to check is the first unnamed parameter local propertyID = mw.text.trim(frame.args[1] or ""):upper() if propertyID == "" then return "no property supplied" end -- The Q-id of the value we want to match is in named parameter |qvalue= local qval = (frame.args.match or ""):upper() if qval == "" then qval = "Q21540096" end local unit = (frame.args.unit or ""):upper() if unit == "" then unit = "Q4917" end local onlysrc = parseParam(frame.args.onlysourced or frame.args.osd, true) -- set the requested ranks flags frame.args.reqranks = setRanks(frame.args.rank) -- set a language object and code in the frame.args table frame.args.langobj = findLang(frame.args.lang) frame.args.lang = frame.args.langobj.code local linked = parseParam(frame.args.linked, true) local uabbr = parseParam(frame.args.uabbr or frame.args.unitabbr, false) -- qid not nil means no local parameter and the property exists local qid, props = parseInput(frame, frame.args[2], propertyID) if qid then local out = {} local mlt= {} for k1, v1 in ipairs(props) do if onlysrc == false or sourced(v1) then if v1.references then for k2, v2 in ipairs(v1.references) do if v2.snaks.P248 then for k3, v3 in ipairs(v2.snaks.P248) do if v3.datavalue.value.id == qval then out[#out+1], mlt[#out+1] = rendersnak(v1, frame.args, linked, "", "", "", "", uabbr, unit) if not mlt[#out] then -- we only need one match per property value -- unless datatype was monolingual text break end end -- of test for match end -- of loop through values "stated in" end -- of test that "stated in" exists end -- of loop through references end -- of test that references exist end -- of test for sourced end -- of loop through values of propertyID if #mlt > 0 then local langcode = frame.args.lang langcode = mw.text.split( langcode, '-', true )[1] local fbtbl = mw.language.getFallbacksFor( langcode ) table.insert( fbtbl, 1, langcode ) local bestval = "" local found = false for idx1, lang1 in ipairs(fbtbl) do for idx2, lang2 in ipairs(mlt) do if (lang1 == lang2) and not found then bestval = out[idx2] found = true break end end -- loop through values of property end -- loop through fallback languages if found then -- replace output table with a table containing the best value out = { bestval } else -- more than one value and none of them on the list of fallback languages -- sod it, just give them the first one out = { out[1] } end end return assembleoutput(out, frame.args, qid, propertyID) else return props -- no property or local parameter supplied end -- of test for success end ------------------------------------------------------------------------------- -- getPropertyIDs takes most of the usual parameters. -- The usual whitelisting, blacklisting, onlysourced, etc. are implemented. -- It returns the Entity-IDs (Qids) of the values of a property if it is a Wikibase-Entity. -- Otherwise it returns nothing. ------------------------------------------------------------------------------- -- Dependencies: parseParam; setRanks; parseInput; sourced; propertyvalueandquals assembleoutput; ------------------------------------------------------------------------------- p.getPropertyIDs = function(frame) local args = frame.args args.reqranks = setRanks(args.rank) args.langobj = findLang(args.lang) args.lang = args.langobj.code -- change default for noicon to true args.noicon = tostring(parseParam(args.noicon or "", true)) local f = {} f.args = args local pid = mw.text.trim(args[1] or ""):upper() -- get the qid and table of claims for the property, or nothing and the local value passed local qid, props = parseInput(f, args[2], pid) if not qid then return props end if not props[1] then return nil end local onlysrc = parseParam(args.onlysourced or args.osd, true) local maxvals = tonumber(args.maxvals) or 0 out = {} for i, v in ipairs(props) do local snak = v.mainsnak if ( snak.datatype == "wikibase-item" ) and ( v.rank and args.reqranks[v.rank:sub(1, 1)] ) and ( snak.snaktype == "value" ) and ( sourced(v) or not onlysrc ) then out[#out+1] = snak.datavalue.value.id end if maxvals > 0 and #out >= maxvals then break end end return assembleoutput(out, args, qid, pid) end ------------------------------------------------------------------------------- -- getQualifierIDs takes most of the usual parameters. -- The usual whitelisting, blacklisting, onlysourced, etc. are implemented. -- It takes a property-id as the first unnamed parameter, and an optional parameter qlist -- which is a list of qualifier property-ids to search for (default is "ALL") -- It returns the Entity-IDs (Qids) of the values of a property if it is a Wikibase-Entity. -- Otherwise it returns nothing. ------------------------------------------------------------------------------- -- Dependencies: parseParam; setRanks; parseInput; sourced; propertyvalueandquals assembleoutput; ------------------------------------------------------------------------------- p.getQualifierIDs = function(frame) local args = frame.args args.reqranks = setRanks(args.rank) args.langobj = findLang(args.lang) args.lang = args.langobj.code -- change default for noicon to true args.noicon = tostring(parseParam(args.noicon or "", true)) local f = {} f.args = args local pid = mw.text.trim(args[1] or ""):upper() -- get the qid and table of claims for the property, or nothing and the local value passed local qid, props = parseInput(f, args[2], pid) if not qid then return props end if not props[1] then return nil end -- get the other parameters local onlysrc = parseParam(args.onlysourced or args.osd, true) local maxvals = tonumber(args.maxvals) or 0 local qlist = args.qlist or "" if qlist == "" then qlist = "ALL" end qlist = qlist:gsub("[%p%s]+", " ") .. " " out = {} for i, v in ipairs(props) do local snak = v.mainsnak if ( v.rank and args.reqranks[v.rank:sub(1, 1)] ) and ( snak.snaktype == "value" ) and ( sourced(v) or not onlysrc ) then if v.qualifiers then for k1, v1 in pairs(v.qualifiers) do if qlist == "ALL " or qlist:match(k1 .. " ") then for i2, v2 in ipairs(v1) do if v2.datatype == "wikibase-item" and v2.snaktype == "value" then out[#out+1] = v2.datavalue.value.id end -- of test that id exists end -- of loop through qualifier values end -- of test for kq in qlist end -- of loop through qualifiers end -- of test for qualifiers end -- of test for rank value, sourced, and value exists if maxvals > 0 and #out >= maxvals then break end end -- of loop through property values return assembleoutput(out, args, qid, pid) end ------------------------------------------------------------------------------- -- getPropOfProp takes two propertyIDs: prop1 and prop2 (as well as the usual parameters) -- If the value(s) of prop1 are of type "wikibase-item" then it returns the value(s) of prop2 -- of each of those wikibase-items. -- The usual whitelisting, blacklisting, onlysourced, etc. are implemented ------------------------------------------------------------------------------- -- Dependencies: parseParam; setRanks; parseInput; sourced; propertyvalueandquals assembleoutput; ------------------------------------------------------------------------------- p.getPropOfProp = function(frame) frame.args.reqranks = setRanks(frame.args.rank) frame.args.langobj = findLang(frame.args.lang) frame.args.lang = frame.args.langobj.code local args = frame.args local pid1 = args.prop1 or args.pid1 or "" local pid2 = args.prop2 or args.pid2 or "" local localval = mw.text.trim(args[1] or "") if pid1 == "" or pid2 == "" then return nil end local qid1, statements1 = parseInput(frame, localval, pid1) if not qid1 then return localval end local onlysrc = parseParam(args.onlysourced or args.osd, true) local maxvals = tonumber(args.maxvals) or 0 local qualID = mw.text.trim(args.qual or ""):upper() if qualID == "" then qualID = nil end local out = {} for k, v in ipairs(statements1) do if not onlysrc or sourced(v) then local snak = v.mainsnak if snak.datatype == "wikibase-item" and snak.snaktype == "value" then local qid2 = snak.datavalue.value.id local statements2 = {} if args.reqranks.b then statements2 = mw.wikibase.getBestStatements(qid2, pid2) else statements2 = mw.wikibase.getAllStatements(qid2, pid2) end if statements2[1] then local out2 = propertyvalueandquals(statements2, args, qualID) out[#out+1] = assembleoutput(out2, args, qid2, pid2) end end -- of test for valid property1 value end -- of test for sourced if maxvals > 0 and #out >= maxvals then break end end -- of loop through values of property1 return assembleoutput(out, args, qid1, pid1) end ------------------------------------------------------------------------------- -- getAwardCat takes most of the usual parameters. If the item has values of P166 (award received), -- then it examines each of those awards for P2517 (category for recipients of this award). -- If it exists, it returns the corresponding category, -- with the item's P734 (family name) as sort key, or no sort key if there is no family name. -- The sort key may be overridden by the parameter |sortkey (alias |sk). -- The usual whitelisting, blacklisting, onlysourced, etc. are implemented ------------------------------------------------------------------------------- -- Dependencies: parseParam; setRanks; parseInput; sourced; propertyvalueandquals assembleoutput; ------------------------------------------------------------------------------- p.getAwardCat = function(frame) frame.args.reqranks = setRanks(frame.args.rank) frame.args.langobj = findLang(frame.args.lang) frame.args.lang = frame.args.langobj.code local args = frame.args args.sep = " " local pid1 = args.prop1 or "P166" local pid2 = args.prop2 or "P2517" if pid1 == "" or pid2 == "" then return nil end -- locally supplied value: local localval = mw.text.trim(args[1] or "") local qid1, statements1 = parseInput(frame, localval, pid1) if not qid1 then return localval end -- linkprefix (strip quotes) local lp = (args.linkprefix or args.lp or ""):gsub('"', '') -- sort key (strip quotes, hyphens and periods): local sk = (args.sortkey or args.sk or ""):gsub('["-.]', '') -- family name: local famname = "" if sk == "" then local p734 = mw.wikibase.getBestStatements(qid1, "P734")[1] local p734id = p734 and p734.mainsnak.snaktype == "value" and p734.mainsnak.datavalue.value.id or "" famname = mw.wikibase.getSitelink(p734id) or "" -- strip namespace and disambigation local pos = famname:find(":") or 0 famname = famname:sub(pos+1):gsub("%s%(.+%)$", "") if famname == "" then local lbl = mw.wikibase.getLabel(p734id) famname = lbl and mw.text.nowiki(lbl) or "" end end local onlysrc = parseParam(args.onlysourced or args.osd, true) local maxvals = tonumber(args.maxvals) or 0 local qualID = mw.text.trim(args.qual or ""):upper() if qualID == "" then qualID = nil end local out = {} for k, v in ipairs(statements1) do if not onlysrc or sourced(v) then local snak = v.mainsnak if snak.datatype == "wikibase-item" and snak.snaktype == "value" then local qid2 = snak.datavalue.value.id local statements2 = {} if args.reqranks.b then statements2 = mw.wikibase.getBestStatements(qid2, pid2) else statements2 = mw.wikibase.getAllStatements(qid2, pid2) end if statements2[1] and statements2[1].mainsnak.snaktype == "value" then local qid3 = statements2[1].mainsnak.datavalue.value.id local sitelink = mw.wikibase.getSitelink(qid3) -- if there's no local sitelink, create the sitelink from English label if not sitelink then local lbl = mw.wikibase.getLabelByLang(qid3, "en") if lbl then if lbl:sub(1,9) == "Category:" then sitelink = mw.text.nowiki(lbl) else sitelink = "Category:" .. mw.text.nowiki(lbl) end end end if sitelink then if sk ~= "" then out[#out+1] = "[[" .. lp .. sitelink .. "|" .. sk .. "]]" elseif famname ~= "" then out[#out+1] = "[[" .. lp .. sitelink .. "|" .. famname .. "]]" else out[#out+1] = "[[" .. lp .. sitelink .. "]]" end -- of check for sort keys end -- of test for sitelink end -- of test for category end -- of test for wikibase item has a value end -- of test for sourced if maxvals > 0 and #out >= maxvals then break end end -- of loop through values of property1 return assembleoutput(out, args, qid1, pid1) end ------------------------------------------------------------------------------- -- getIntersectCat takes most of the usual parameters. -- The usual whitelisting, blacklisting, onlysourced, etc. are implemented -- It takes two properties, |prop1 and |prop2 (e.g. occupation and country of citizenship) -- Each property's value is a wiki-base entity -- For each value of the first parameter (ranks implemented) it fetches the value's main category -- and then each value of the second parameter (possibly substituting a simpler description) -- then it returns all of the categories representing the intersection of those properties, -- (e.g. Category:Actors from Canada). A joining term may be supplied (e.g. |join=from). -- The item's P734 (family name) is the sort key, or no sort key if there is no family name. -- The sort key may be overridden by the parameter |sortkey (alias |sk). ------------------------------------------------------------------------------- -- Dependencies: parseParam; setRanks; parseInput; sourced; propertyvalueandquals assembleoutput; ------------------------------------------------------------------------------- p.getIntersectCat = function(frame) frame.args.reqranks = setRanks(frame.args.rank) frame.args.langobj = findLang(frame.args.lang) frame.args.lang = frame.args.langobj.code local args = frame.args args.sep = " " args.linked = "no" local pid1 = args.prop1 or "P106" local pid2 = args.prop2 or "P27" if pid1 == "" or pid2 == "" then return nil end local qid, statements1 = parseInput(frame, "", pid1) if not qid then return nil end local qid, statements2 = parseInput(frame, "", pid2) if not qid then return nil end -- topics like countries may have different names in categories from their label in Wikidata local subs_exists, subs = pcall(mw.loadData, "Module:WikidataIB/subs") local join = args.join or "" local onlysrc = parseParam(args.onlysourced or args.osd, true) local maxvals = tonumber(args.maxvals) or 0 -- linkprefix (strip quotes) local lp = (args.linkprefix or args.lp or ""):gsub('"', '') -- sort key (strip quotes, hyphens and periods): local sk = (args.sortkey or args.sk or ""):gsub('["-.]', '') -- family name: local famname = "" if sk == "" then local p734 = mw.wikibase.getBestStatements(qid, "P734")[1] local p734id = p734 and p734.mainsnak.snaktype == "value" and p734.mainsnak.datavalue.value.id or "" famname = mw.wikibase.getSitelink(p734id) or "" -- strip namespace and disambigation local pos = famname:find(":") or 0 famname = famname:sub(pos+1):gsub("%s%(.+%)$", "") if famname == "" then local lbl = mw.wikibase.getLabel(p734id) famname = lbl and mw.text.nowiki(lbl) or "" end end local cat1 = {} for k, v in ipairs(statements1) do if not onlysrc or sourced(v) then -- get the ID representing the value of the property local pvalID = (v.mainsnak.snaktype == "value") and v.mainsnak.datavalue.value.id if pvalID then -- get the topic's main category (P910) for that entity local p910 = mw.wikibase.getBestStatements(pvalID, "P910")[1] if p910 and p910.mainsnak.snaktype == "value" then local tmcID = p910.mainsnak.datavalue.value.id -- use sitelink or the English label for the cat local cat = mw.wikibase.getSitelink(tmcID) if not cat then local lbl = mw.wikibase.getLabelByLang(tmcID, "en") if lbl then if lbl:sub(1,9) == "Category:" then cat = mw.text.nowiki(lbl) else cat = "Category:" .. mw.text.nowiki(lbl) end end end cat1[#cat1+1] = cat end -- of test for topic's main category exists end -- of test for property has vaild value end -- of test for sourced if maxvals > 0 and #cat1 >= maxvals then break end end local cat2 = {} for k, v in ipairs(statements2) do if not onlysrc or sourced(v) then local cat = rendersnak(v, args) if subs[cat] then cat = subs[cat] end cat2[#cat2+1] = cat end if maxvals > 0 and #cat2 >= maxvals then break end end out = {} for k1, v1 in ipairs(cat1) do for k2, v2 in ipairs(cat2) do if sk ~= "" then out[#out+1] = "[[" .. lp .. v1 .. " " .. join .. " " .. v2 .. "|" .. sk .. "]]" elseif famname ~= "" then out[#out+1] = "[[" .. lp .. v1 .. " " .. join .. " " .. v2 .. "|" .. famname .. "]]" else out[#out+1] = "[[" .. lp .. v1 .. " " .. join .. " " .. v2 .. "]]" end -- of check for sort keys end end args.noicon = "true" return assembleoutput(out, args, qid, pid1) end ------------------------------------------------------------------------------- -- qualsToTable takes most of the usual parameters. -- The usual whitelisting, blacklisting, onlysourced, etc. are implemented. -- A qid may be given, and the first unnamed parameter is the property ID, which is of type wikibase item. -- It takes a list of qualifier property IDs as |quals= -- For a given qid and property, it creates the rows of an html table, -- each row being a value of the property (optionally only if the property matches the value in |pval= ) -- each cell being the first value of the qualifier corresponding to the list in |quals ------------------------------------------------------------------------------- -- Dependencies: parseParam; setRanks; parseInput; sourced; ------------------------------------------------------------------------------- p.qualsToTable = function(frame) local args = frame.args local quals = args.quals or "" if quals == "" then return "" end args.reqranks = setRanks(args.rank) local propertyID = mw.text.trim(args[1] or "") local f = {} f.args = args local entityid, props = parseInput(f, "", propertyID) if not entityid then return "" end args.langobj = findLang(args.lang) args.lang = args.langobj.code local pval = args.pval or "" local qplist = mw.text.split(quals, "%p") -- split at punctuation and make a sequential table for i, v in ipairs(qplist) do qplist[i] = mw.text.trim(v):upper() -- remove whitespace and capitalise end local col1 = args.firstcol or "" if col1 ~= "" then col1 = col1 .. "</td><td>" end local emptycell = args.emptycell or "&nbsp;" -- construct a 2-D array of qualifier values in qvals local qvals = {} for i, v in ipairs(props) do local skip = false if pval ~= "" then local pid = v.mainsnak.datavalue and v.mainsnak.datavalue.value.id if pid ~= pval then skip = true end end if not skip then local qval = {} local vqualifiers = v.qualifiers or {} -- go through list of wanted qualifier properties for i1, v1 in ipairs(qplist) do -- check for that property ID in the statement's qualifiers local qv, qtype if vqualifiers[v1] then qtype = vqualifiers[v1][1].datatype if qtype == "time" then if vqualifiers[v1][1].snaktype == "value" then qv = mw.wikibase.renderSnak(vqualifiers[v1][1]) qv = frame:expandTemplate{title="dts", args={qv}} else qv = "?" end elseif qtype == "url" then if vqualifiers[v1][1].snaktype == "value" then qv = mw.wikibase.renderSnak(vqualifiers[v1][1]) local display = mw.ustring.match( mw.uri.decode(qv, "WIKI"), "([%w ]+)$" ) if display then qv = "[" .. qv .. " " .. display .. "]" end end else qv = mw.wikibase.formatValue(vqualifiers[v1][1]) end end -- record either the value or a placeholder qval[i1] = qv or emptycell end -- of loop through list of qualifiers -- add the list of qualifier values as a "row" in the main list qvals[#qvals+1] = qval end end -- of for each value loop local out = {} for i, v in ipairs(qvals) do out[i] = "<tr><td>" .. col1 .. table.concat(qvals[i], "</td><td>") .. "</td></tr>" end return table.concat(out, "\n") end ------------------------------------------------------------------------------- -- getGlobe takes an optional qid of a Wikidata entity passed as |qid= -- otherwise it uses the linked item for the current page. -- If returns the Qid of the globe used in P625 (coordinate location), -- or nil if there isn't one. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getGlobe = function(frame) local qid = frame.args.qid or frame.args[1] or "" if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end local coords = mw.wikibase.getBestStatements(qid, "P625")[1] local globeid if coords and coords.mainsnak.snaktype == "value" then globeid = coords.mainsnak.datavalue.value.globe:match("(Q%d+)") end return globeid end ------------------------------------------------------------------------------- -- getCommonsLink takes an optional qid of a Wikidata entity passed as |qid= -- It returns one of the following in order of preference: -- the Commons sitelink of the linked Wikidata item; -- the Commons sitelink of the topic's main category of the linked Wikidata item; ------------------------------------------------------------------------------- -- Dependencies: _getCommonslink(); _getSitelink(); parseParam() ------------------------------------------------------------------------------- p.getCommonsLink = function(frame) local oc = frame.args.onlycat or frame.args.onlycategories local fb = parseParam(frame.args.fallback or frame.args.fb, true) return _getCommonslink(frame.args.qid, oc, fb) end ------------------------------------------------------------------------------- -- getSitelink takes the qid of a Wikidata entity passed as |qid= -- It takes an optional parameter |wiki= to determine which wiki is to be checked for a sitelink -- If the parameter is blank, then it uses the local wiki. -- If there is a sitelink to an article available, it returns the plain text link to the article -- If there is no sitelink, it returns nil. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getSiteLink = function(frame) return _getSitelink(frame.args.qid, frame.args.wiki or mw.text.trim(frame.args[1] or "")) end ------------------------------------------------------------------------------- -- getLink has the qid of a Wikidata entity passed as the first unnamed parameter or as |qid= -- If there is a sitelink to an article on the local Wiki, it returns a link to the article -- with the Wikidata label as the displayed text. -- If there is no sitelink, it returns the label as plain text. -- If there is no label in the local language, it displays the qid instead. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getLink = function(frame) local itemID = mw.text.trim(frame.args[1] or frame.args.qid or "") if itemID == "" then return end local sitelink = mw.wikibase.getSitelink(itemID) local label = labelOrId(itemID) if sitelink then return "[[:" .. sitelink .. "|" .. label .. "]]" else return label end end ------------------------------------------------------------------------------- -- getLabel has the qid of a Wikidata entity passed as the first unnamed parameter or as |qid= -- It returns the Wikidata label for the local language as plain text. -- If there is no label in the local language, it displays the qid instead. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getLabel = function(frame) local itemID = mw.text.trim(frame.args[1] or frame.args.qid or "") if itemID == "" then return end local lang = frame.args.lang or "" if lang == "" then lang = nil end local label = labelOrId(itemID, lang) return label end ------------------------------------------------------------------------------- -- label has the qid of a Wikidata entity passed as the first unnamed parameter or as |qid= -- if no qid is supplied, it uses the qid associated with the current page. -- It returns the Wikidata label for the local language as plain text. -- If there is no label in the local language, it returns nil. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.label = function(frame) local qid = mw.text.trim(frame.args[1] or frame.args.qid or "") if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid then return end local lang = frame.args.lang or "" if lang == "" then lang = nil end local label, success = labelOrId(qid, lang) if success then return label end end ------------------------------------------------------------------------------- -- getAT (Article Title) -- has the qid of a Wikidata entity passed as the first unnamed parameter or as |qid= -- If there is a sitelink to an article on the local Wiki, it returns the sitelink as plain text. -- If there is no sitelink or qid supplied, it returns nothing. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getAT = function(frame) local itemID = mw.text.trim(frame.args[1] or frame.args.qid or "") if itemID == "" then return end return mw.wikibase.getSitelink(itemID) end ------------------------------------------------------------------------------- -- getDescription has the qid of a Wikidata entity passed as |qid= -- (it defaults to the associated qid of the current article if omitted) -- and a local parameter passed as the first unnamed parameter. -- Any local parameter passed (other than "Wikidata" or "none") becomes the return value. -- It returns the article description for the Wikidata entity if the local parameter is "Wikidata". -- Nothing is returned if the description doesn't exist or "none" is passed as the local parameter. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getDescription = function(frame) local desc = mw.text.trim(frame.args[1] or "") local itemID = mw.text.trim(frame.args.qid or "") if itemID == "" then itemID = nil end if desc:lower() == 'wikidata' then return mw.wikibase.getDescription(itemID) elseif desc:lower() == 'none' then return nil else return desc end end ------------------------------------------------------------------------------- -- getAliases has the qid of a Wikidata entity passed as |qid= -- (it defaults to the associated qid of the current article if omitted) -- and a local parameter passed as the first unnamed parameter. -- It implements blacklisting and whitelisting with a field name of "alias" by default. -- Any local parameter passed becomes the return value. -- Otherwise it returns the aliases for the Wikidata entity with the usual list options. -- Nothing is returned if the aliases do not exist. ------------------------------------------------------------------------------- -- Dependencies: findLang(); assembleoutput() ------------------------------------------------------------------------------- p.getAliases = function(frame) local args = frame.args local fieldname = args.name or "" if fieldname == "" then fieldname = "alias" end local blacklist = args.suppressfields or args.spf or "" if blacklist:find(fieldname) then return nil end local localval = mw.text.trim(args[1] or "") if localval ~= "" then return localval end local whitelist = args.fetchwikidata or args.fwd or "" if whitelist == "" then whitelist = "NONE" end if not (whitelist == 'ALL' or whitelist:find(fieldname)) then return nil end local qid = mw.text.trim(args.qid or "") if qid == "" then qid = nil end local entity = mw.wikibase.getEntity(qid) if not entity then return nil end local aliases = entity.aliases if not aliases then return nil end if not qid then qid= mw.wikibase.getEntityIdForCurrentPage() end args.langobj = findLang(args.lang) local langcode = args.langobj.code args.lang = langcode local out = {} for k1, v1 in pairs(aliases) do if v1[1].language == langcode then for k1, v2 in ipairs(v1) do out[#out+1] = v2.value end break end end return assembleoutput(out, args, qid) end ------------------------------------------------------------------------------- -- pageId returns the page id (entity ID, Qnnn) of the current page -- returns nothing if the page is not connected to Wikidata ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.pageId = function(frame) return mw.wikibase.getEntityIdForCurrentPage() end ------------------------------------------------------------------------------- -- formatDate is a wrapper to export the private function format_Date ------------------------------------------------------------------------------- -- Dependencies: format_Date(); ------------------------------------------------------------------------------- p.formatDate = function(frame) return format_Date(frame.args[1], frame.args.df, frame.args.bc) end ------------------------------------------------------------------------------- -- location is a wrapper to export the private function _location -- it takes the entity-id as qid or the first unnamed parameter -- optional boolean parameter first toggles the display of the first item -- optional boolean parameter skip toggles the display to skip to the last item -- parameter debug=<y/n> (default 'n') adds error msg if not a location ------------------------------------------------------------------------------- -- Dependencies: _location(); ------------------------------------------------------------------------------- p.location = function(frame) local debug = (frame.args.debug or ""):sub(1, 1):lower() if debug == "" then debug = "n" end local qid = mw.text.trim(frame.args.qid or frame.args[1] or ""):upper() if qid == "" then qid=mw.wikibase.getEntityIdForCurrentPage() end if not qid then if debug ~= "n" then return i18n.errors["entity-not-found"] else return nil end end local first = mw.text.trim(frame.args.first or "") local skip = mw.text.trim(frame.args.skip or "") return table.concat( _location(qid, first, skip), ", " ) end ------------------------------------------------------------------------------- -- checkBlacklist implements a test to check whether a named field is allowed -- returns true if the field is not blacklisted (i.e. allowed) -- returns false if the field is blacklisted (i.e. disallowed) -- {{#if:{{#invoke:WikidataIB |checkBlacklist |name=Joe |suppressfields=Dave; Joe; Fred}} | not blacklisted | blacklisted}} -- displays "blacklisted" -- {{#if:{{#invoke:WikidataIB |checkBlacklist |name=Jim |suppressfields=Dave; Joe; Fred}} | not blacklisted | blacklisted}} -- displays "not blacklisted" ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.checkBlacklist = function(frame) local blacklist = frame.args.suppressfields or frame.args.spf or "" local fieldname = frame.args.name or "" if blacklist ~= "" and fieldname ~= "" then if blacklist:find(fieldname) then return false else return true end else -- one of the fields is missing: let's call that "not on the list" return true end end ------------------------------------------------------------------------------- -- emptyor returns nil if its first unnamed argument is just punctuation, whitespace or html tags -- otherwise it returns the argument unchanged (including leading/trailing space). -- If the argument may contain "=", then it must be called explicitly: -- |1=arg -- (In that case, leading and trailing spaces are trimmed) -- It finds use in infoboxes where it can replace tests like: -- {{#if: {{#invoke:WikidatIB |getvalue |P99 |fwd=ALL}} | <span class="xxx">{{#invoke:WikidatIB |getvalue |P99 |fwd=ALL}}</span> | }} -- with a form that uses just a single call to Wikidata: -- {{#invoke |WikidataIB |emptyor |1= <span class="xxx">{{#invoke:WikidataIB |getvalue |P99 |fwd=ALL}}</span> }} ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.emptyor = function(frame) local s = frame.args[1] or "" if s == "" then return nil end local sx = s:gsub("%s", ""):gsub("<[^>]*>", ""):gsub("%p", "") if sx == "" then return nil else return s end end ------------------------------------------------------------------------------- -- labelorid is a public function to expose the output of labelOrId() -- Pass the Q-number as |qid= or as an unnamed parameter. -- It returns the Wikidata label for that entity or the qid if no label exists. ------------------------------------------------------------------------------- -- Dependencies: labelOrId ------------------------------------------------------------------------------- p.labelorid = function(frame) return (labelOrId(frame.args.qid or frame.args[1])) end ------------------------------------------------------------------------------- -- getLang returns the MediaWiki language code of the current content. -- If optional parameter |style=full, it returns the language name. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getLang = function(frame) local style = (frame.args.style or ""):lower() local langcode = mw.language.getContentLanguage().code if style == "full" then return mw.language.fetchLanguageName( langcode ) end return langcode end ------------------------------------------------------------------------------- -- getItemLangCode takes a qid parameter (using the current page's qid if blank) -- If the item for that qid has property country (P17) it looks at the first preferred value -- If the country has an official language (P37), it looks at the first preferred value -- If that official language has a language code (P424), it returns the first preferred value -- Otherwise it returns nothing. ------------------------------------------------------------------------------- -- Dependencies: _getItemLangCode() ------------------------------------------------------------------------------- p.getItemLangCode = function(frame) return _getItemLangCode(frame.args.qid or frame.args[1]) end ------------------------------------------------------------------------------- -- findLanguage exports the local findLang() function -- It takes an optional language code and returns, in order of preference: -- the code if a known language; -- the user's language, if set; -- the server's content language. ------------------------------------------------------------------------------- -- Dependencies: findLang ------------------------------------------------------------------------------- p.findLanguage = function(frame) return findLang(frame.args.lang or frame.args[1]).code end ------------------------------------------------------------------------------- -- getQid returns the qid, if supplied -- failing that, the Wikidata entity ID of the "category's main topic (P301)", if it exists -- failing that, the Wikidata entity ID associated with the current page, if it exists -- otherwise, nothing ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getQid = function(frame) local qid = (frame.args.qid or ""):upper() -- check if a qid was passed; if so, return it: if qid ~= "" then return qid end -- check if there's a "category's main topic (P301)": qid = mw.wikibase.getEntityIdForCurrentPage() if qid then local prop301 = mw.wikibase.getBestStatements(qid, "P301") if prop301[1] then local mctid = prop301[1].mainsnak.datavalue.value.id if mctid then return mctid end end end -- otherwise return the page qid (if any) return qid end ------------------------------------------------------------------------------- -- followQid takes three optional parameters: qid, props, and all. -- If qid is not given, it uses the qid for the connected page -- or returns nil if there isn't one. -- props is a list of properties, separated by punctuation. -- If props is given, the Wikidata item for the qid is examined for each property in turn. -- If that property contains a value that is another Wikibase-item, that item's qid is returned, -- and the search terminates, unless |all=y when all of the qids are returned, sparated by spaces. -- If props is not given, the qid is returned. ------------------------------------------------------------------------------- -- Dependencies: parseParam() ------------------------------------------------------------------------------- p.followQid = function(frame) local qid = (frame.args.qid or ""):upper() local all = parseParam(frame.args.all, false) if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid then return nil end local out = {} local props = (frame.args.props or ""):upper() if props ~= "" then for p in mw.text.gsplit(props, "%p") do -- split at punctuation and iterate p = mw.text.trim(p) for i, v in ipairs( mw.wikibase.getBestStatements(qid, p) ) do local linkedid = v.mainsnak.datavalue and v.mainsnak.datavalue.value.id if linkedid then if all then out[#out+1] = linkedid else return linkedid end -- test for all or just the first one found end -- test for value exists for that property end -- loop through values of property to follow end -- loop through list of properties to follow end if #out > 0 then return table.concat(out, " ") else return qid end end ------------------------------------------------------------------------------- -- globalSiteID returns the globalSiteID for the current wiki -- e.g. returns "enwiki" for the English Wikipedia, "enwikisource" for English Wikisource, etc. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.globalSiteID = function(frame) return mw.wikibase.getGlobalSiteId() end ------------------------------------------------------------------------------- -- siteID returns the root of the globalSiteID -- e.g. "en" for "enwiki", "enwikisource", etc. -- treats "en-gb" as "en", etc. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.siteID = function(frame) local txtlang = frame:preprocess( "{{int:lang}}" ) or "" -- This deals with specific exceptions: be-tarask -> be-x-old if txtlang == "be-tarask" then return "be_x_old" end local pos = txtlang:find("-") local ret = "" if pos then ret = txtlang:sub(1, pos-1) else ret = txtlang end return ret end ------------------------------------------------------------------------------- -- projID returns the code used to link to the reader's language's project -- e.g "en" for [[:en:WikidataIB]] -- treats "en-gb" as "en", etc. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.projID = function(frame) local txtlang = frame:preprocess( "{{int:lang}}" ) or "" -- This deals with specific exceptions: be-tarask -> be-x-old if txtlang == "be-tarask" then return "be-x-old" end local pos = txtlang:find("-") local ret = "" if pos then ret = txtlang:sub(1, pos-1) else ret = txtlang end return ret end ------------------------------------------------------------------------------- -- formatNumber formats a number according to the the supplied language code ("|lang=") -- or the default language if not supplied. -- The number is the first unnamed parameter or "|num=" ------------------------------------------------------------------------------- -- Dependencies: findLang() ------------------------------------------------------------------------------- p.formatNumber = function(frame) local lang local num = tonumber(frame.args[1] or frame.args.num) or 0 lang = findLang(frame.args.lang) return lang:formatNum( num ) end ------------------------------------------------------------------------------- -- examine dumps the property (the unnamed parameter or pid) -- from the item given by the parameter 'qid' (or the other unnamed parameter) -- or from the item corresponding to the current page if qid is not supplied. -- e.g. {{#invoke:WikidataIB |examine |pid=P26 |qid=Q42}} -- or {{#invoke:WikidataIB |examine |P26 |Q42}} or any combination of these -- or {{#invoke:WikidataIB |examine |P26}} for the current page. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.examine = function( frame ) local args if frame.args[1] or frame.args.pid or frame.args.qid then args = frame.args else args = frame:getParent().args end local par = {} local pid = (args.pid or ""):upper() local qid = (args.qid or ""):upper() par[1] = mw.text.trim( args[1] or "" ):upper() par[2] = mw.text.trim( args[2] or "" ):upper() table.sort(par) if par[2]:sub(1,1) == "P" then par[1], par[2] = par[2], par[1] end if pid == "" then pid = par[1] end if qid == "" then qid = par[2] end local q1 = qid:sub(1,1) if pid:sub(1,1) ~= "P" then return "No property supplied" end if q1 ~= "Q" and q1 ~= "M" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid then return "No item for this page" end return "<pre>" .. mw.dumpObject( mw.wikibase.getAllStatements( qid, pid ) ) .. "</pre>" end ------------------------------------------------------------------------------- -- checkvalue looks for 'val' as a wikibase-item value of a property (the unnamed parameter or pid) -- from the item given by the parameter 'qid' -- or from the Wikidata item associated with the current page if qid is not supplied. -- It only checks ranks that are requested (preferred and normal by default) -- If property is not supplied, then P31 (instance of) is assumed. -- It returns val if found or nothing if not found. -- e.g. {{#invoke:WikidataIB |checkvalue |val=Q5 |pid=P31 |qid=Q42}} -- or {{#invoke:WikidataIB |checkvalue |val=Q5 |P31 |qid=Q42}} -- or {{#invoke:WikidataIB |checkvalue |val=Q5 |qid=Q42}} -- or {{#invoke:WikidataIB |checkvalue |val=Q5 |P31}} for the current page. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.checkvalue = function( frame ) local args if frame.args.val then args = frame.args else args = frame:getParent().args end local val = args.val if not val then return nil end local pid = mw.text.trim(args.pid or args[1] or "P31"):upper() local qid = (args.qid or ""):upper() if pid:sub(1,1) ~= "P" then return nil end if qid:sub(1,1) ~= "Q" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid then return nil end ranks = setRanks(args.rank) local stats = {} if ranks.b then stats = mw.wikibase.getBestStatements(qid, pid) else stats = mw.wikibase.getAllStatements( qid, pid ) end if not stats[1] then return nil end if stats[1].mainsnak.datatype == "wikibase-item" then for k, v in pairs( stats ) do ms = v.mainsnak if ranks[v.rank:sub(1,1)] and ms.snaktype == "value" and ms.datavalue.value.id == val then return val end end end return nil end ------------------------------------------------------------------------------- -- url2 takes a parameter url= that is a proper url and formats it for use in an infobox. -- If no parameter is supplied, it returns nothing. -- This is the equivalent of Template:URL -- but it keeps the "edit at Wikidata" pen icon out of the microformat. -- Usually it will take its url parameter directly from a Wikidata call: -- e.g. {{#invoke:WikidataIB |url2 |url={{wdib |P856 |qid=Q23317 |fwd=ALL |osd=no}} ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.url2 = function(frame) local txt = frame.args.url or "" if txt == "" then return nil end local url, icon = txt:match("(.+)&nbsp;(.+)") url = url or txt icon = icon or "" local prot, addr = url:match("(http[s]*://)(.+)") prot = prot or url addr = addr or "" local disp, n = addr:gsub("%.", "<wbr/>%.") return '<span class="url">[' .. prot .. addr .. " " .. disp .. "]</span>&nbsp;" .. icon end ------------------------------------------------------------------------------- -- getWebsite fetches the Official website (P856) and formats it for use in an infobox. -- This is similar to Template:Official website but with a url displayed, -- and it adds the "edit at Wikidata" pen icon beyond the microformat if enabled. -- A local value will override the Wikidata value. "NONE" returns nothing. -- e.g. {{#invoke:WikidataIB |getWebsite |qid= |noicon= |lang= |url= }} ------------------------------------------------------------------------------- -- Dependencies: findLang(); parseParam(); ------------------------------------------------------------------------------- p.getWebsite = function(frame) local url = frame.args.url or "" if url:upper() == "NONE" then return nil end local qid = frame.args.qid or "" if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid then return nil end local urls = {} local quals = {} if url == "" then local prop856 = mw.wikibase.getBestStatements(qid, "P856") for k, v in pairs(prop856) do if v.mainsnak.snaktype == "value" then urls[#urls+1] = v.mainsnak.datavalue.value if v.qualifiers and v.qualifiers["P1065"] then -- just take the first archive url (P1065) local au = v.qualifiers["P1065"][1] if au.snaktype == "value" then quals[#urls] = au.datavalue.value end -- test for archive url having a value end -- test for qualifers end -- test for website having a value end -- loop through website(s) else urls[1] = url end if #urls == 0 then return nil end local out = {} for i, u in ipairs(urls) do local link = quals[i] or u local prot, addr = u:match("(http[s]*://)(.+)") addr = addr or u local disp, n = addr:gsub("%.", "<wbr/>%.") out[#out+1] = '<span class="url">[' .. link .. " " .. disp .. "]</span>" end local langcode = findLang(frame.args.lang).code local noicon = parseParam(frame.args.noicon, false) if url == "" and not noicon then out[#out] = out[#out] .. createicon(langcode, qid, "P856") end local ret = "" if #out > 1 then ret = mw.getCurrentFrame():expandTemplate{title = "ubl", args = out} else ret = out[1] end return ret end ------------------------------------------------------------------------------- -- getAllLabels fetches the set of labels and formats it for display as wikitext. -- It takes a parameter 'qid' for arbitrary access, otherwise it uses the current page. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getAllLabels = function(frame) local args = frame.args or frame:getParent().args or {} local qid = args.qid if qid == "" then qid = nil end local entity = mw.wikibase.getEntity(qid) if not entity then return i18n["entity-not-found"] end local labels = entity.labels if not labels then return i18n["labels-not-found"] end local out = {} for k, v in pairs(labels) do out[#out+1] = v.value .. " (" .. v.language .. ")" end return table.concat(out, "; ") end ------------------------------------------------------------------------------- -- getAllDescriptions fetches the set of descriptions and formats it for display as wikitext. -- It takes a parameter 'qid' for arbitrary access, otherwise it uses the current page. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getAllDescriptions = function(frame) local args = frame.args or frame:getParent().args or {} local qid = args.qid if qid == "" then qid = nil end local entity = mw.wikibase.getEntity(qid) if not entity then return i18n["entity-not-found"] end local descriptions = entity.descriptions if not descriptions then return i18n["descriptions-not-found"] end local out = {} for k, v in pairs(descriptions) do out[#out+1] = v.value .. " (" .. v.language .. ")" end return table.concat(out, "; ") end ------------------------------------------------------------------------------- -- getAllAliases fetches the set of aliases and formats it for display as wikitext. -- It takes a parameter 'qid' for arbitrary access, otherwise it uses the current page. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getAllAliases = function(frame) local args = frame.args or frame:getParent().args or {} local qid = args.qid if qid == "" then qid = nil end local entity = mw.wikibase.getEntity(qid) if not entity then return i18n["entity-not-found"] end local aliases = entity.aliases if not aliases then return i18n["aliases-not-found"] end local out = {} for k1, v1 in pairs(aliases) do local lang = v1[1].language local val = {} for k1, v2 in ipairs(v1) do val[#val+1] = v2.value end out[#out+1] = table.concat(val, ", ") .. " (" .. lang .. ")" end return table.concat(out, "; ") end ------------------------------------------------------------------------------- -- showNoLinks displays the article titles that should not be linked. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.showNoLinks = function(frame) local out = {} for k, v in pairs(donotlink) do out[#out+1] = k end table.sort( out ) return table.concat(out, "; ") end ------------------------------------------------------------------------------- -- checkValidity checks whether the first unnamed parameter represents a valid entity-id, -- that is, something like Q1235 or P123. -- It returns the strings "true" or "false". -- Change false to nil to return "true" or "" (easier to test with #if:). ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- function p.checkValidity(frame) local id = mw.text.trim(frame.args[1] or "") if mw.wikibase.isValidEntityId(id) then return true else return false end end ------------------------------------------------------------------------------- -- getEntityFromTitle returns the Entity-ID (Q-number) for a given title. -- Modification of Module:ResolveEntityId -- The title is the first unnamed parameter. -- The site parameter determines the site/language for the title. Defaults to current wiki. -- The showdab parameter determines whether dab pages should return the Q-number or nil. Defaults to true. -- Returns the Q-number or nil if it does not exist. ------------------------------------------------------------------------------- -- Dependencies: parseParam ------------------------------------------------------------------------------- function p.getEntityFromTitle(frame) local args=frame.args if not args[1] then args=frame:getParent().args end if not args[1] then return nil end local title = mw.text.trim(args[1]) local site = args.site or "" local showdab = parseParam(args.showdab, true) qid = mw.wikibase.getEntityIdForTitle(title, site) if qid then local prop31 = mw.wikibase.getBestStatements(qid, "P31")[1] if not showdab and prop31 and prop31.mainsnak.datavalue.value.id == "Q4167410" then return nil else return qid end end end ------------------------------------------------------------------------------- -- getDatePrecision returns the number representing the precision of the first best date value -- for the given property. -- It takes the qid and property ID -- The meanings are given at https://www.mediawiki.org/wiki/Wikibase/DataModel#Dates_and_times -- 0 = 1 billion years .. 6 = millennium, 7 = century, 8 = decade, 9 = year, 10 = month, 11 = day -- Returns 0 (or the second unnamed parameter) if the Wikidata does not exist. ------------------------------------------------------------------------------- -- Dependencies: parseParam; sourced; ------------------------------------------------------------------------------- function p.getDatePrecision(frame) local args=frame.args if not args[1] then args=frame:getParent().args end local default = tonumber(args[2] or args.default) or 0 local prop = mw.text.trim(args[1] or "") if prop == "" then return default end local qid = args.qid or "" if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid then return default end local onlysrc = parseParam(args.onlysourced or args.osd, true) local stat = mw.wikibase.getBestStatements(qid, prop) for i, v in ipairs(stat) do local prec = (onlysrc == false or sourced(v)) and v.mainsnak.datavalue and v.mainsnak.datavalue.value and v.mainsnak.datavalue.value.precision if prec then return prec end end return default end return p ------------------------------------------------------------------------------- -- List of exported functions ------------------------------------------------------------------------------- --[[ _getValue getValue getPreferredValue getCoords getQualifierValue getSumOfParts getValueByQual getValueByLang getValueByRefSource getPropertyIDs getQualifierIDs getPropOfProp getAwardCat getIntersectCat getGlobe getCommonsLink getSiteLink getLink getLabel label getAT getDescription getAliases pageId formatDate location checkBlacklist emptyor labelorid getLang getItemLangCode findLanguage getQID followQid globalSiteID siteID projID formatNumber examine checkvalue url2 getWebsite getAllLabels getAllDescriptions getAllAliases showNoLinks checkValidity getEntityFromTitle getDatePrecision --]] ------------------------------------------------------------------------------- obnebv079qwjrjls3a6wsg6l0jqj8m5 Module:WikidataIB/titleformats 828 3300 36482 2025-12-15T17:06:55Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--[[ To satisfy Wikipedia:Manual of Style/Titles, certain types of items are italicised, and others are quoted. This submodule lists the entity-ids used in 'instance of' (P31), which allows a module to identify the values that should be formatted. The table p.formats is indexed by entity-id, and contains the value " or '' --]] local p = {} p.italics = { "Q571", -- book "Q13593966", -- literary trilogy "Q277759", -- book series "Q2188189",...' 36482 Scribunto text/plain --[[ To satisfy Wikipedia:Manual of Style/Titles, certain types of items are italicised, and others are quoted. This submodule lists the entity-ids used in 'instance of' (P31), which allows a module to identify the values that should be formatted. The table p.formats is indexed by entity-id, and contains the value " or '' --]] local p = {} p.italics = { "Q571", -- book "Q13593966", -- literary trilogy "Q277759", -- book series "Q2188189", -- musical work "Q11424", -- film "Q13593818", -- film trilogy "Q24856", -- film series "Q5398426", -- television series "Q482994", -- album "Q169930", -- extended play "Q1760610", -- comic book "Q7889", -- video game "Q7058673", -- video game series "Q25379", -- play "Q2743", -- musical "Q37484", -- epic poem "Q41298", -- magazine } p.quotes = { "Q207628", -- musical composition } p.size = 0 p.formats = {} for i, v in ipairs(p.italics) do p.formats[v] = "''" p.size = p.size + 1 end for i, v in ipairs(p.quotes) do p.formats[v] = '"' p.size = p.size + 1 end return p kf27lmax414v7k61jzza3jomkstxn1m Πρότυπον:Category link with count 10 3301 36484 36483 2025-12-15T17:09:12Z Εὐθυμένης 2777 Ο Εὐθυμένης μετακίνησε τη σελίδα [[Πρότυπο:Clc]] στην [[Πρότυπον:Category link with count]] 36483 wikitext text/x-wiki [[:Κατηγορίαν:{{#invoke:string|replace|1={{{1}}}|2=^:?[Κκ]ατηγορία:|3=|plain=false}}|<!-- -->{{#if:{{{ονομα|}}}|{{{ονομα}}}|Κατηγορίαν:{{#invoke:string|replace|1={{{1}}}|2=^:?[Κκ]ατηγορίαν:|3=|plain=false}}}}<!-- -->]]&nbsp;({{PAGESINCATEGORY:{{#invoke:string|replace|1={{{1}}}|2=^:?[Κκ]ατηγορίαν:|3=|plain=false}}|{{{2|all}}}}})<noinclude> {{Documentation}} </noinclude> rte6pftpf8h8j37u1wqj2ti342f0wdq Πρότυπον:Clc 10 3302 36486 36485 2025-12-15T17:09:30Z Εὐθυμένης 2777 Ο Εὐθυμένης μετακίνησε τη σελίδα [[Πρότυπο:Clc]] στην [[Πρότυπον:Clc]] 36485 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Πρότυπον:Category link with count]] 7h4nr42w979pd13pig7f7zpyaehayrf Πρότυπο:Clc 0 3303 36489 36488 2025-12-15T17:10:01Z Εὐθυμένης 2777 36489 wikitext text/x-wiki {{delete|by mistake}} #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Πρότυπον:Clc]] r5ks2anneb6k6dwa10emh7w73wy43qs Πρότυπον:Examine 10 3305 36491 2025-12-15T17:12:36Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#invoke:WikidataIB|examine}}<noinclude> {{documentation}} </noinclude>' 36491 wikitext text/x-wiki {{#invoke:WikidataIB|examine}}<noinclude> {{documentation}} </noinclude> 45qeepxooko2qse5vc47bs0428jmf09 Πρότυπον:Wikidata entity link 10 3306 36493 36492 2025-12-15T17:14:17Z Εὐθυμένης 2777 Ο Εὐθυμένης μετακίνησε τη σελίδα [[Πρότυπον:Q]] στην [[Πρότυπον:Wikidata entity link]] 36492 wikitext text/x-wiki <includeonly>{{#if: {{{1|}}} | {{#switch: {{uc:{{padleft:|1|{{#if:1|{{{1}}}}}}}}} | Q | P = [[d:Special:EntityPage/{{#if:1|{{{1}}}}}|{{#invoke:wd|label|{{{1}}}}} <small>({{#if:1|{{{1}}}}})</small>]] | #default = [[d:Special:EntityPage/Q{{#if:1|{{{1}}}}}|{{#invoke:wd|label|Q{{#if:1|{{{1}}}}}}} <small>(Q{{#if:1|{{{1|}}}}})</small>]] }} | {{#if:{{#invoke:wd|label|raw}} | [[d:Special:EntityPage/{{#invoke:wd|label|raw}}|{{#invoke:wd|label}} <small>({{#invoke:wd|label|raw}})</small>]] | <small>(no entity)</small> }} }}</includeonly><noinclude>{{Documentation}}</noinclude> fj7fm5iufcoxrqyisjxf30ia7up8u23 Πρότυπον:Q 10 3307 36494 2025-12-15T17:14:17Z Εὐθυμένης 2777 Ο Εὐθυμένης μετακίνησε τη σελίδα [[Πρότυπον:Q]] στην [[Πρότυπον:Wikidata entity link]] 36494 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Πρότυπον:Wikidata entity link]] tjrkv39ljujt7z3e10m4eb1pxnmomb8 Module:Complex date 828 3308 36495 2025-12-15T17:15:16Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--[[ __ __ _ _ ____ _ _ | \/ | ___ __| |_ _| | ___ _ / ___|___ _ __ ___ _ __ | | _____ __ __| | __ _| |_ ___ | |\/| |/ _ \ / _` | | | | |/ _ (_) | / _ \| '_ ` _ \| '_ \| |/ _ \ \/ / / _` |/ _` | __/ _ \ | | | | (_) | (_| | |_| | | __/_| |__| (_) | | | | | | |_) | | __/> < | (_| | (_| | || __/ |_| |_|\___/ \__,_|\__,_|_|\___(_)\____\___/|_| |_| |_| .__/|_|\___/...' 36495 Scribunto text/plain --[[ __ __ _ _ ____ _ _ | \/ | ___ __| |_ _| | ___ _ / ___|___ _ __ ___ _ __ | | _____ __ __| | __ _| |_ ___ | |\/| |/ _ \ / _` | | | | |/ _ (_) | / _ \| '_ ` _ \| '_ \| |/ _ \ \/ / / _` |/ _` | __/ _ \ | | | | (_) | (_| | |_| | | __/_| |__| (_) | | | | | | |_) | | __/> < | (_| | (_| | || __/ |_| |_|\___/ \__,_|\__,_|_|\___(_)\____\___/|_| |_| |_| .__/|_|\___/_/\_\ \__,_|\__,_|\__\___| |_| This module is intended for creation of complex date phrases in variety of languages. Once deployed, please do not modify this code without applying the changes first at Module:Complex date/sandbox and testing at Module:Complex date/sandbox/testcases. Authors and maintainers: * User:Sn1per - first draft of the original version * User:Jarekt - corrections and expansion of the original version ]] -- List of external modules and functions local p = {Error = nil} local i18n = require('Module:i18n/complex date') -- used for translations of date related phrases local ISOdate = require('Module:ISOdate')._ISOdate -- used for parsing dates in YYYY-MM-DD and related formats local Calendar -- loaded lazily -- ================================================== -- === Internal functions =========================== -- ================================================== local function langSwitch(list,lang) local langList = mw.language.getFallbacksFor(lang) table.insert(langList,1,lang) table.insert(langList,math.max(#langList,2),'default') for i,language in ipairs(langList) do if list[language] then return list[language] end end end -- ================================================== local function formatnum1(numStr, lang) -- mostly require('Module:Formatnum').formatNum function used to translate a number to use different numeral characters, -- except that it it does not call that function unless the language is on the list "LList" local LList = {bn=1,bpy=1,kn=1,hi=1,mr=1,new=1,pa=1,gu=1,fa=1,glk=1,mzn=1,ur=1,ar=1,ckb=1,ks=1,lo=1,['or']=1,bo=1,['ml-old']=1,mn=1,te=1,th=1} if LList[lang] then -- call only when the language is on the list numStr = require('Module:Formatnum').formatNum(numStr, lang, 1) end return numStr end -- ================================================== local function getISODate(datestr, datetype, lang, num, case) -- translate dates in the format YYYY, YYYY-MM, and YYYY-MM-DD if not case and i18n.Translations[datetype] then -- look up the grammatical case needed and call ISOdate module local rec = langSwitch(i18n.Translations[datetype], lang) if type(rec)=='table' then case = rec.case[num] end end return ISOdate(datestr, lang, case, '', 1) end -- ======================================================================= local function translatePhrase(date1, date2, operation, lang, state) -- use tables in Module:i18n/complex date to translate a phrase if not i18n.Translations[operation] then p.Error = string.format('<span style="background-color:red;">Error in [[Module:Complex date]]: input parameter "%s" is not recognized.</span>', operation or 'nil') return '' end local dateStr = langSwitch(i18n.Translations[operation], lang) if type(dateStr)=='table' then dateStr = dateStr[1] end if type(dateStr)=='function' then local dateFunc = dateStr local nDates = i18n.Translations[operation]['nDates'] if nDates==2 then -- 2 date phrase dateStr = dateFunc(date1, date2, state) else -- 1 date phrase dateStr = dateFunc(date1, state) end end if type(dateStr)=='string' then -- replace parts of the string '$date1' and '$date2' with date1 and date2 strings dateStr = mw.ustring.gsub(dateStr, '$date1', date1) dateStr = mw.ustring.gsub(dateStr, '$date2', date2) else -- Special case of more complex phrases that can be build out of simple phrases -- If complex case is not translated to "lang" than build it out of simpler ones local x = dateStr dateStr = p._complex_date(x.conj, x.adj1, date1, x.units1, x.era1, x.adj2, date2, x.units2, x.era2, lang, 2) end return dateStr end -- ======================================================================= local function oneDatePhrase(dateStr, adj, era, units, lang, num, case, state) -- translate a single date phrase if num==2 then state.adj, state.era, state.units, state.precision = state.adj2, state.era2, state.units2, state.precision2 end -- dateStr can have many forms: ISO date, year or a number for -- decade, century or millennium if units == '' then -- unit is "year", "month", "day" dateStr = getISODate(dateStr, adj, lang, num, case) else -- units is "decade", "century", "millennium'' dateStr = translatePhrase(dateStr, '', units, lang, state) end -- add adjective ("early", "mid", etc.) or preposition ("before", "after", -- "circa", etc.) to the date if adj ~= '' then dateStr = translatePhrase(dateStr, '', adj, lang, state) else -- only era? dateStr = formatnum1(dateStr, lang) end -- add era if era ~= '' then dateStr = translatePhrase(dateStr, '', era, lang, state) end return dateStr end -- ======================================================================= local function twoDatePhrase(date1, date2, state, lang) -- translate a double date phrase local dateStr, case local era='' if state.era1 == state.era2 then -- if both eras are the same than add it only once era = state.era1 state.era1 = '' state.era2 = '' end case = {nil, nil} if i18n.Translations[state.conj] then local rec = langSwitch(i18n.Translations[state.conj], lang) if type(rec)=='table' then case = rec.case end end date1 = oneDatePhrase(date1, state.adj1, state.era1, state.units1, lang, 1, case[1], state) date2 = oneDatePhrase(date2, state.adj2, state.era2, state.units2, lang, 2, case[2], state) dateStr = translatePhrase(date1, date2, state.conj, lang, state) if era ~= '' then dateStr = translatePhrase(dateStr, '', era, lang, state) end return dateStr end -- ======================================================================= local function otherPhrases(date1, date2, operation, era, lang, state) -- translate specialized phrases local dateStr = '' if operation == 'islamic' then if date2=='' then date2 = mw.getCurrentFrame():callParserFunction('#time', 'xmY', date1) end date1 = getISODate(date1, operation, lang, 1, nil) date2 = getISODate(date2, operation, lang, 2, nil) if era == '' then era = 'ad' end dateStr = translatePhrase(date1, '', era, lang, state) .. ' (' .. translatePhrase(date2, '', 'ah', lang, state) .. ')' era = '' elseif operation == 'julian' then if not date2 and date1 then -- Convert from Julian to Gregorian calendar date if Calendar == nil then Calendar = require("Module:Calendar") -- lazy loding (only if needed) end local JDN = Calendar._date2jdn(date1, 0) if JDN then date2 = date1 -- first date is assumed to be Julian date1 = Calendar._jdn2date(JDN, 1) end end date1 = getISODate(date1, operation, lang, 1, nil) date2 = getISODate(date2, operation, lang, 2, nil) dateStr = translatePhrase(date1, date2, operation, lang, state) dateStr = mw.ustring.gsub(mw.ustring.gsub(dateStr, '%( ', '('), ' %)', ')') -- in case date2 is empty elseif operation == 'turn of the year' or operation == 'turn of the decade' or operation == 'turn of the century' then local dt = 1 if operation == 'turn of the decade' then dt=10 end if not date2 or date2=='' then date2=tostring(tonumber(date1)-dt) end if era~='bp' and era~='bc' then date1, date2 = date2, date1 end if operation == 'turn of the year' then date1 = ISOdate(date1, lang, '', '', 1) date2 = ISOdate(date2, lang, '', '', 1) else date1 = formatnum1(date1, lang) date2 = formatnum1(date2, lang) end dateStr = translatePhrase(date1, date2, operation, lang, state) elseif operation == 'year unknown' then dateStr = translatePhrase('', '', operation, lang, state) .. '<div style="display: none;">Unknown date</div>' elseif operation == 'unknown' then dateStr = tostring(mw.message.new( "exif-unknowndate" ):inLanguage( lang )) .. '<div style="display: none;">Unknown date</div>' end -- add era if era ~= '' then dateStr = translatePhrase(dateStr, '', era, lang, state) end return dateStr end -- ======================================================================= local function checkAliases(str1, str2, sType) -- some inputs have many aliases - reconcile them and ensure string is playing a proper role local out = '' if str1 and str1~='' then local a = i18n.Synonyms[str1] -- look up synonyms of "str1" if a then out = a[1] else p.Error = string.format('<span style="background-color:red;">Error in [[Module:Complex date]]: %s is not recognized.</span>', str1) end elseif str2 and str2~='' then -- if "str1" of type "sType" is empty than maybe ... local a = i18n.Synonyms[str2] -- ..."str2" is of the same type and is not empty if a and a[2]==sType then out = a[1] str2 = '' end end return out, str2 end -- ======================================================================= local function datePrecision(dateStr, units) -- "in this module "Units" is a string like millennium, century, or decade -- "precision" is wikibase compatible date precision number: 6=millennium, 7=century, 8=decade, 9=year, 10=month, 11=day -- based on string or numeric input calculate "Units" and "precision" local precision if type(units)=='number' then precision = units if precision>11 then precision=11 end -- clip the range of precision values if precision==6 then units='millennium' elseif precision==7 then units='century' elseif precision==8 then units='decade' else units = '' end elseif type(units)=='string' then units = string.lower(units) if units=='millennium' then precision=6 elseif units=='century' then precision=7 elseif units=='decade' then precision=8 else precision=9 end end if units=='' or precision==9 then local sLen = mw.ustring.len(dateStr) if sLen<= 4 then precision=9 elseif sLen== 7 then precision=10 elseif sLen>=10 then precision=11 end units='' end if precision==6 and dateStr.match( dateStr, '%d000' )~=nil then dateStr = tostring(math.floor(tonumber(dateStr)/1000) +1) elseif precision==7 and mw.ustring.match( dateStr, '%d%d00' )~=nil then dateStr = tostring(math.floor(tonumber(dateStr)/100) +1) end return dateStr, units, precision end -- ======================================================================= local function isodate2timestamp(dateStr, precision, era) -- convert date string to timestamps used by Quick Statements local tStamp = nil if era == 'ah' or precision<6 then return nil elseif era ~= '' then local eraLUT = {ad='+', bc='-', bp='-' } era = eraLUT[era] else era='+' end -- convert isodate to timestamp used by quick statements if precision>=9 then if string.match(dateStr,"^%d%d%d%d$") then -- if YYYY format tStamp = era .. dateStr .. '-00-00T00:00:00Z/9' elseif string.match(dateStr,"^%d%d%d%d%-%d%d$") then -- if YYYY-MM format tStamp = era .. dateStr .. '-00T00:00:00Z/10' elseif string.match(dateStr,"^%d%d%d%d%-%d%d%-%d%d$") then -- if YYYY-MM-DD format tStamp = era .. dateStr .. 'T00:00:00Z/11' end elseif precision==8 then -- decade tStamp = era .. dateStr .. '-00-00T00:00:00Z/8' elseif precision==7 then -- century local d = tostring(tonumber(dateStr)-1) tStamp = era .. d .. '50-00-00T00:00:00Z/7' elseif precision==6 then local d = tostring(tonumber(dateStr)-1) tStamp = era .. d .. '500-00-00T00:00:00Z/6' end return tStamp end -- ======================================================================= local function oneDateQScode(dateStr, adj, era, precision) -- create QuickStatements string for "one date" dates local outputStr = '' local d = isodate2timestamp(dateStr, precision, era) if not d then return '' end local rLUT = { early='Q40719727' , mid='Q40719748', late='Q40719766', ['1quarter']='Q40690303' , ['2quarter']='Q40719649' , ['3quarter']='Q40719662', ['4quarter']='Q40719674', spring='Q40720559' , summer='Q40720564' , autumn='Q40720568' , winter='Q40720553', firsthalf='Q40719687', secondhalf='Q40719707' } local qLUT = {['from']='P580', ['until']='P582', ['after']='P1319', ['before']='P1326', ['by']='P1326'} local refine = rLUT[adj] local qualitier = qLUT[adj] if adj=='' then outputStr = d elseif adj=='circa' then outputStr = d..",P1480,Q5727902" elseif refine then outputStr = d..",P4241,"..refine elseif precision>7 and qualitier then local century = string.gsub(d, 'Z%/%d+', 'Z/7') outputStr = century ..",".. qualitier ..","..d end return outputStr end -- ======================================================================= local function twoDateQScode(date1, date2, state) -- create QuickStatements string for "two date" dates if state.adj1~='' or state.adj2~='' or state.era1~=state.era2 then return '' -- QuickStatements string are not generated for two date phrases with adjectives end local outputStr = '' local d1 = isodate2timestamp(date1, state.precision1, state.era1) local d2 = isodate2timestamp(date2, state.precision2, state.era2) if (not d1) or (not d2) then return '' end -- find date with lower precision in common to both dates local cd local year1 = tonumber(string.sub(d1,2,5)) local year2 = tonumber(string.sub(d2,2,5)) local k = 0 for i = 1,10,1 do if string.sub(d1,1,i)==string.sub(d2,1,i) then k = i -- find last matching letter end end if k>=9 then -- same month, since "+YYYY-MM-" is in common cd = isodate2timestamp(string.sub(d1,2,8), 10, state.era1) elseif k>=6 and k<9 then -- same year, since "+YYYY-" is in common cd = isodate2timestamp(tostring(year1), 9, state.era1) elseif k==4 then -- same decade(k=4, precision=8), since "+YYY" is in common cd = isodate2timestamp(tostring(year1), 8, state.era1) elseif k==3 then -- same century(k=3, precision=7) since "+YY" is in common local d = tostring(math.floor(year1/100) +1) -- convert 1999 -> 20 cd = isodate2timestamp( d, 7, state.era1) elseif k==2 then -- same millennium (k=2, precision=6), since "+Y" is in common local d = tostring(math.floor(year1/1000) +1) -- convert 1999 -> 2 cd = isodate2timestamp( d, 6, state.era1) end if not cd then return '' end --if not cd then -- return ' <br/>error: ' .. d1.." / " .. d2.." / ".. (cd or '') .." / ".. string.sub(d1,2,5).." / " .. string.sub(d2,2,5).." / " .. tostring(k) --end -- if (state.conj=='from-until') or (state.conj=='and' and year1==year2-1) then outputStr = cd ..",P580,".. d1 ..",P582,".. d2 elseif (state.conj=='between') or (state.conj=='or' and year1==year2-1) then outputStr = cd ..",P1319,".. d1 ..",P1326,".. d2 elseif state.conj=='circa2' then outputStr = cd ..",P1319,".. d1 ..",P1326,".. d2 ..",P1480,Q5727902" end return outputStr end -- ======================================================================= local function processInputParams(conj, adj1, date1, units1, era1, adj2, date2, units2, era2, lang, passNr) -- process inputs and save date in state array local state = {} state.conj = string.lower(conj or '') state.adj1 = string.lower(adj1 or '') state.adj2 = string.lower(adj2 or '') state.era1 = string.lower(era1 or '') state.era2 = string.lower(era2 or '') state.units1 = string.lower(units1 or '') state.units2 = string.lower(units2 or '') -- if date 1 is missing but date 2 is provided than swap them if date1 == '' and date2 ~= '' then date1 = date2 date2 = '' state = {adj1 = state.adj2, era1 = state.era2, units1 = state.units2, adj2 = '', era2 = '', units2 = '', conj=state.conj, num=1} end if date2 ~= '' then state.nDates = 2 elseif date1 ~= '' then state.nDates = 1 else state.nDates = 0 end -- reconcile alternative names for text inputs local conj = checkAliases(state.conj ,'' ,'j') state.adj1 ,conj = checkAliases(state.adj1 ,conj,'a') state.units1,conj = checkAliases(state.units1,conj,'p') state.era1 ,conj = checkAliases(state.era1 ,conj,'e') state.special,conj = checkAliases('',conj,'c') state.adj2 = checkAliases(state.adj2 ,'','a') state.units2 = checkAliases(state.units2,'','p') state.era2 = checkAliases(state.era2 ,'','e') state.conj = conj state.lang = lang if p.Error~=nil then return nil end -- calculate date precision value date1, state.units1, state.precision1 = datePrecision(date1, state.units1) date2, state.units2, state.precision2 = datePrecision(date2, state.units2) -- Handle special cases -- Some complex phrases can be created out of simpler ones. Therefore on pass # 1 we try to create -- the phrase using complex phrase and if that is not found than on the second pass we try to build -- the phrase out of the simpler ones if passNr==1 then if state.adj1=='circa' and state.nDates == 2 then state.conj = 'circa2' state.adj1 = '' state.adj2 = '' end if state.nDates == 2 and state.adj1=='late' and state.adj2=='early' and state.conj=='and' and state.units1==state.units2 and state.era1==state.era2 then if state.units1=='century' then state.conj='turn of the century' elseif state.units1=='decade' then state.conj='turn of the decade' elseif state.units1=='' then state.conj='turn of the year' end state.adj1 = '' state.adj2 = '' state.units1 = '' state.units2 = '' end end state.adj, state.era, state.units, state.precision = state.adj1, state.era1, state.units1, state.precision1 return date1, date2, state end -- ================================================== -- === External functions =========================== -- ================================================== function p.Era(frame) -- process inputs local dateStr local args = frame.args if not (args.lang and mw.language.isSupportedLanguage(args.lang)) then args.lang = frame:callParserFunction( "int", "lang" ) -- get user's chosen language end local lang = args['lang'] local dateStr = args['date'] or '' local eraType = string.lower(args['era'] or '') dateStr = ISOdate(dateStr, lang, '', '', 1) if eraType then eraType = checkAliases(eraType ,'','e') dateStr = translatePhrase(dateStr, '', eraType, lang, {}) end return dateStr end -- ======================================================================= function p._complex_date(conj, adj1, date1, units1, era1, adj2, date2, units2, era2, lang, passNr) local Output='' local state -- process inputs and save date in state array date1, date2, state = processInputParams(conj, adj1, date1, units1, era1, adj2, date2, units2, era2, lang, passNr) if p.Error~=nil then return nil end local errorStr = string.format( '\n*conj=%s, adj1=%s, era1=%s, unit1=%s, prec1=%i, adj2=%s, era2=%s, unit2=%s, prec2=%i, special=%s', state.conj, state.adj1, state.era1, state.units1, state.precision1, state.adj2, state.era2, state.units2, state.precision2, state.special) -- call specialized functions local QScode = '' if state.special~='' then Output = otherPhrases(date1, date2, state.special, state.era1, lang, state) elseif state.conj~='' then QScode = twoDateQScode(date1, date2, state) Output = twoDatePhrase(date1, date2, state, lang) elseif state.adj1~='' or state.era1~='' or state.units1~='' then Output = oneDatePhrase(date1, state.adj1, state.era1, state.units1, lang, 1, nil, state) QScode = oneDateQScode(date1, state.adj1, state.era1, state.precision1) elseif date1~='' then Output = ISOdate(date1, lang, '', 'dtstart', '100-999') end if p.Error~=nil then return errorStr end -- if there is any wikicode in the string than execute it if mw.ustring.find(Output, '{') then Output = mw.getCurrentFrame():preprocess(Output) end if QScode and #QScode>0 then QScode = ' <div style="display: none;">date QS:P,' .. QScode .. '</div>' end return Output .. QScode end -- ======================================================================= function p._complex_date_cer(conj, adj1, date1, units1, era1, adj2, date2, units2, era2, certainty, lang) -- same as p._complex_date but with extra parameter for certainty: probably, possibly, presumably, etc. local dateStr = p._complex_date(conj, adj1, date1, units1, era1, adj2, date2, units2, era2, lang, 1) certainty = checkAliases(certainty, conj, 'r') local LUT = {probably='Q56644435', presumably='Q18122778', possibly='Q30230067', circa='Q5727902' } if certainty and LUT[certainty] then local state = {} date1, date2, state = processInputParams(conj, adj1, date1, units1, era1, adj2, date2, units2, era2, lang, 1) dateStr = translatePhrase(dateStr, '', certainty, lang, state) dateStr = string.gsub(dateStr, '(%<div style="display: none;"%>date QS:P,[^%<]+)(%</div%>)', '%1,P1480,' .. LUT[certainty] .. '%2' ) end return dateStr end -- ======================================================================= function p.complex_date(frame) -- process inputs local dateStr local args = frame.args if not (args.lang and mw.language.isSupportedLanguage(args.lang)) then args.lang = frame:callParserFunction( "int", "lang" ) -- get user's chosen language end local date1 = args['date1'] or args['2'] or args['date'] or '' local date2 = args['date2'] or args['3'] or '' local conj = args['conj'] or args['1'] or '' local adj1 = args['adj1'] or args['adj'] or '' local adj2 = args['adj2'] or '' local units1 = args['precision1'] or args['precision'] or '' local units2 = args['precision2'] or args['precision'] or '' local era1 = args['era1'] or args['era'] or '' local era2 = args['era2'] or args['era'] or '' local certainty = args['certainty'] local lang = args['lang'] dateStr = p._complex_date_cer(conj, adj1, date1, units1, era1, adj2, date2, units2, era2, certainty, lang) if p.Error~=nil then dateStr = p.Error .. '[[Category:Pages using Complex date template with incorrect parameter]]' end return dateStr end return p ppv1t08ydt8a9x36u2iltdsomq7mcr5 Module:DateI18n 828 3309 36496 2025-12-15T17:16:16Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--[[ __ __ _ _ ____ _ ___ _ ___ | \/ | ___ __| |_ _| | ___ _| _ \ __ _| |_ ___|_ _/ |( _ ) _ __ | |\/| |/ _ \ / _` | | | | |/ _ (_) | | |/ _` | __/ _ \| || |/ _ \| '_ \ | | | | (_) | (_| | |_| | | __/_| |_| | (_| | || __/| || | (_) | | | | |_| |_|\___/ \__,_|\__,_|_|\___(_)____/ \__,_|\__\___|___|_|\___/|_| |_| This module is intended for processing of date strings. Please do...' 36496 Scribunto text/plain --[[ __ __ _ _ ____ _ ___ _ ___ | \/ | ___ __| |_ _| | ___ _| _ \ __ _| |_ ___|_ _/ |( _ ) _ __ | |\/| |/ _ \ / _` | | | | |/ _ (_) | | |/ _` | __/ _ \| || |/ _ \| '_ \ | | | | (_) | (_| | |_| | | __/_| |_| | (_| | || __/| || | (_) | | | | |_| |_|\___/ \__,_|\__,_|_|\___(_)____/ \__,_|\__\___|___|_|\___/|_| |_| This module is intended for processing of date strings. Please do not modify this code without applying the changes first at Module:Date/sandbox and testing at Module:Date/sandbox/testcases and Module talk:Date/sandbox/testcases. Authors and maintainers: * User:Parent5446 - original version of the function mimicking template:ISOdate * User:Jarekt - original version of the functions mimicking template:Date ]] require('strict') -- ================================================== -- === Internal functions =========================== -- ================================================== -- Function allowing for consistent treatment of boolean-like wikitext input. -- It works similarly to Module:Yesno local function yesno(val, default) if type(val) == 'boolean' then return val elseif type(val) == 'number' then if val==1 then return true elseif val==0 then return false end elseif type(val) == 'string' then val = mw.ustring.lower(val) -- put in lower case if val == 'no' or val == 'n' or val == 'false' or tonumber(val) == 0 then return false elseif val == 'yes' or val == 'y' or val == 'true' or tonumber(val) == 1 then return true end end return default end --------------------------------------------------------------------------------------- -- String replacement that ignores part of the string in "..." local function strReplace(String, old, new) if String:find('"') then local T={} for i, str in ipairs(mw.text.split( String, '"', true )) do if i%2==1 then str = str:gsub(old, new) end table.insert(T, str) end return table.concat(T,'"') else return String:gsub(old, new) end end --------------------------------------------------------------------------------------- -- process datevec -- INPUT: -- * datevec - Array of {year,month,day,hour,minute,second, tzhour, tzmin} containing broken -- down date-time component strings or numbers -- OUTPUT: -- * datecode - a code specifying content of the array where Y' is year, 'M' is month, -- 'D' is day, 'H' is hour, 'M' minute, 'S' is second. output has to be one of YMDHMS, YMDHM, YMD, YM, MD, Y -- * datenum - same array but holding only numbers or nuls local function parserDatevec(datevec) -- if month is not a number than check if it is a month name in project's language local month = datevec[2] if month and month~='' and not tonumber(month) then datevec[2] = mw.getContentLanguage():formatDate( "n", month) end -- create datecode based on which variables are provided and check for out-of-bound values local maxval = {nil, 12, 31, 23, 59, 59, 23, 59} -- max values for year, month, ... local minval = {nil, 1, 1, 0, 0, 0, -23, 0} -- min values for year, month, ... local c = {'Y', 'M', 'D', 'H', 'M', 'S', '', ''} local datecode = '' -- a string signifying which combination of variables was provided local datenum = {} -- date-time encoded as a vector = [year, month, ... , second] for i = 1,8 do datenum[i] = tonumber(datevec[i]) if datenum[i] and (i==1 or (datenum[i]>=minval[i] and datenum[i]<=maxval[i])) then datecode = datecode .. c[i] end end return datecode, datenum end --------------------------------------------------------------------------------------- -- process datevec -- INPUT: -- * datecode - a code specifying content of the array where Y' is year, 'M' is month, -- 'D' is day, 'H' is hour, 'M' minute, 'S' is second. output has to be one of YMDHMS, YMDHM, YMD, YM, MD, Y -- * datenum - Array of {year,month,day,hour,minute,second, tzhour, tzmin} as numbers or nuls -- OUTPUT: -- * timeStamp - date string in the format taken by mw.language:formatDate lua function and {{#time}} perser function -- https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#mw.language:formatDate -- https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions#.23time -- * datecode - with possible corrections local function getTimestamp(datecode, datenum) -- create time stamp string (for example 2000-02-20 02:20:20) based on which variables were provided local timeStamp if datecode == 'YMDHMS' then timeStamp = string.format('%04i-%02i-%02i %02i:%02i:%02i', datenum[1], datenum[2], datenum[3], datenum[4], datenum[5], datenum[6] ) elseif datecode == 'YMDHM' then timeStamp = string.format('%04i-%02i-%02i %02i:%02i', datenum[1], datenum[2], datenum[3], datenum[4], datenum[5] ) elseif datecode:sub(1,3)=='YMD' then timeStamp = string.format('%04i-%02i-%02i', datenum[1], datenum[2], datenum[3] ) datecode = 'YMD' -- 'YMD', 'YMDHMS' and 'YMDHM' are the only supported format starting with 'YMD'. All others will be converted to 'YMD' elseif datecode == 'YM' then timeStamp = string.format('%04i-%02i', datenum[1], datenum[2] ) elseif datecode:sub(1,1)=='Y' then timeStamp = string.format('%04i', datenum[1] ) datecode = 'Y' elseif datecode == 'M' then timeStamp = string.format('%04i-%02i-%02i', 2000, datenum[2], 1 ) elseif datecode == 'MD' then timeStamp = string.format('%04i-%02i-%02i', 2000, datenum[2], datenum[3] ) else timeStamp = nil -- format not supported end return timeStamp, datecode end --------------------------------------------------------------------------------------- -- trim leading zeros in years prior to year 1000 -- INPUT: -- * datestr - translated date string -- * lang - language of translation -- OUTPUT: -- * datestr - updated date string local function trimYear(datestr, year, lang) local yearStr0, yearStr1, yearStr2, zeroStr yearStr0 = string.format('%04i', year ) -- 4 digit year in standard form "0123" yearStr1 = mw.language.new(lang):formatDate( 'Y', yearStr0) -- same as calling {{#time}} parser function --yearStr1 = mw.getCurrentFrame():callParserFunction( "#time", { 'Y', yearStr0, lang } ) -- translate to a language if yearStr0==yearStr1 then -- most of languages use standard form of year yearStr2 = tostring(year) else -- some languages use different characters for numbers yearStr2 = yearStr1 zeroStr = mw.ustring.sub(yearStr1,1,1) -- get "0" in whatever language for i=1,3 do -- trim leading zeros if mw.ustring.sub(yearStr2,1,1)==zeroStr then yearStr2 = mw.ustring.sub(yearStr2, 2, 5-i) else break end end end return string.gsub(datestr, yearStr1, yearStr2 ) -- in datestr replace long year with trimmed one end --------------------------------------------------------------------------------------- -- Look up proper format string to be passed to {{#time}} parser function -- INPUTS: -- * datecode: YMDHMS, YMDHM, YMD, YM, MD, Y, or M -- * day : Number between 1 and 31 (not needed for most languages) -- * lang : language -- OUTPUT: -- * dFormat : input to {{#time}} function local function getDateFormat(datecode, day, lang) local function parseFormat(dFormat, day) if dFormat:find('default') and #dFormat>10 then -- special (and messy) case of dFormat code depending on a day number -- then json contains a string with more json containing "default" field and 2 digit day keys -- if desired day is not in that json than use "default" case dFormat = dFormat:gsub('”','"') -- change fancy double quote to a straight one, used for json marking local D = mw.text.jsonDecode( dFormat ) --com = mw.dumpObject(D) day = string.format('d%02i',day) -- create day key dFormat = D[day] or D.default dFormat = dFormat:gsub("'", '"') -- change single quote to a double quote, used for {{#time}} marking end return dFormat end local T = {} local tab = mw.ext.data.get('DateI18n.tab', lang) for _, row in pairs(tab.data) do -- convert the output into a dictionary table local id, _, msg = unpack(row) T[id] = msg end local dFormat = T[datecode] if dFormat=='default' and (datecode=='YMDHMS' or datecode=='YMDHM') then -- for most languages adding hour:minute:second is done by adding ", HH:MM:SS to the -- day precission date, those languages are skipped in DateI18n.tab and default to -- English which stores word "default" dFormat = parseFormat(T['YMD'], day).. ', H:i' if datecode=='YMDHMS' then dFormat = dFormat .. ':s' end else dFormat = parseFormat(dFormat, day) end return dFormat end --------------------------------------------------------------------------------------- -- Look up proper format string to be passed to {{#time}} parser function -- INPUTS: -- * month : month number -- * case : gramatic case abbriviation, like "ins", "loc" -- * lang : language -- OUTPUT: -- * dFormat : input to {{#time}} function local function MonthCase(month, case, lang) local T = {{},{},{},{},{},{},{},{},{},{},{},{}} local tab = mw.ext.data.get('I18n/MonthCases.tab', lang) for _, row in pairs(tab.data) do local mth, cs, msg = unpack(row) T[mth][cs] = msg end return T[month][case] end -- ================================================== -- === External functions =========================== -- ================================================== local p = {} --[[ ======================================================================================== Date This function is the core part of the ISOdate template. Usage: local Date = require('Module:DateI18n')._Date local dateStr = Date({2020, 12, 30, 12, 20, 11}, lang) Parameters: * {year,month,day,hour,minute,second, tzhour, tzmin}: broken down date-time component strings or numbers tzhour, tzmin are timezone offsets from UTC, hours and minutes * lang: The language to display it in * case: Language format (genitive, etc.) for some languages * class: CSS class for the <time> node, use "" for no metadata at all ]] function p._Date(datevec, lang, case, class, trim_year) -- make sure inputs are in the right format if not lang or not mw.language.isValidCode( lang ) then lang = mw.getCurrentFrame():callParserFunction( "int", "lang" ) -- get user's chosen language end if lang == 'be-tarsk' then lang = 'be-x-old' end -- process datevec and extract timeStamp and datecode strings as well as numeric datenum array local datecode, datenum = parserDatevec(datevec) local year, month, day = datenum[1], datenum[2], datenum[3] local timeStamp, datecode = getTimestamp(datecode, datenum) if not timeStamp then -- something went wrong in parserDatevec return '' end -- Commons [[Data:DateI18n.tab]] page stores prefered formats for diferent -- languages and datecodes (specifying year-month-day or just year of month-day, etc) -- Look up country specific format input to {{#time}} function local dFormat = getDateFormat(datecode, day, lang) -- By default the gramatical case is not specified (case=='') allowing the format to be specified -- in [[Data:DateI18n.tab]]. You can overwrite the default grammatical case of the month by -- specifying "case" variable. This is needed mostly by Slavic languages to create more complex -- phrases as it is done in [[c:Module:Complex date]] case = case or '' if (lang=='qu' or lang=='qug') and (case=='nom') then -- Special case related to Quechua and Kichwa languages. The form in the I18n is -- Genitive case with suffix "pi" added to month names provided by {#time}} -- in Nominative case that "pi" should be removed -- see https://commons.wikimedia.org/wiki/Template_talk:Date#Quechua from 2014 dFormat = dFormat:gsub('F"pi"', 'F') elseif (case=='gen') then dFormat = strReplace(dFormat, "F", "xg") elseif (case=='nom') then dFormat = strReplace(dFormat, "xg", "F") elseif (case ~= '') then -- see is page [[Data:I18n/MonthCases.tab]] on Commons have name of the month -- in specific gramatic case in desired language. If we have it than replace -- "F" and xg" in dFormat local monthMsg = MonthCase(month, case, lang) if monthMsg and monthMsg ~= '' then -- make sure it exists dFormat = strReplace(dFormat, 'F', '"'..monthMsg..'"') -- replace default month with month name we already looked up dFormat = strReplace(dFormat, 'xg', '"'..monthMsg..'"') end end -- Translate the date using specified format -- See https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#mw.language:formatDate and -- https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions##time for explanation of the format local datestr = mw.language.new(lang):formatDate( dFormat, timeStamp) -- same as using {{#time}} parser function -- Special case related to Thai solar calendar: prior to 1940 new-year was at different -- time of year, so just year (datecode=='Y') is ambiguous and is replaced by "YYYY or YYYY" phrase if lang=='th' and datecode=='Y' and year<=1940 then datestr = string.format('%04i หรือ %04i', year+542, year+543 ) end -- If year<1000 than either keep the date padded to the length of 4 digits or trim it -- decide if the year will stay padded with zeros (for years in 0-999 range) if year and year<1000 then if type(trim_year)=='nil' then trim_year = '100-999' end local trim = yesno(trim_year,nil) -- convert to boolean if trim==nil and type(trim_year)=='string' then -- if "trim_year" not a simple True/False than it is range of dates -- for example '100-999' means to pad one and 2 digit years to be 4 digit long, while keeping 3 digit years as is local YMin, YMax = trim_year:match( '(%d+)-(%d+)' ) trim = (YMin~=nil and year>=tonumber(YMin) and year<=tonumber(YMax)) end if trim==true then datestr = trimYear(datestr, year, lang) -- in datestr replace long year with trimmed one end end -- append timezone if present if datenum[7] and (datecode == 'YMDHMS' or datecode == 'YMDHM') then -- use {{#time}} parser function to create timezone string, so that we use correct character set local sign = (datenum[7]<0) and '−' or '+' timeStamp = string.format("2000-01-01 %02i:%02i:00", math.abs(datenum[7]), datenum[8] or 0) local timezone = mw.language.new(lang):formatDate( 'H:i', timeStamp) -- same as using {{#time}} parser function datestr = string.format("%s %s%s", datestr, sign, timezone ) end -- html formating and tagging of date string if class and class ~= '' and datecode~='M' and datecode~='MD'then local DateHtmlTags = '<span style="white-space:nowrap"><time class="%s" datetime="%s">%s</time></span>' datestr = DateHtmlTags:format(class, timeStamp, datestr) end return datestr end --[[ ======================================================================================== Date This function is the core part of the ISOdate template. Usage: {{#invoke:DateI18n|Date|year=|month=|day=|hour=|minute=|second=|tzhour=|tzmin=|lang=en}} Parameters: * year, month, day, hour, minute, second: broken down date-time component strings * tzhour, tzmin: timezone offset from UTC, hours and minutes * lang: The language to display it in * case: Language format (genitive, etc.) for some languages * class: CSS class for the <time> node, use "" for no metadata at all ]] function p.Date(frame) local args = {} for name, value in pairs( frame.args ) do name = string.gsub( string.lower(name), ' ', '_') args[name] = value end return p._Date( { args.year, args.month, args.day, args.hour, args.minute, args.second, args.tzhour, args.tzmin }, args.lang, -- language args.case, -- allows to specify grammatical case for the month for languages that use them args.class or 'dtstart', -- allows to set the html class of the time node where the date is included. This is useful for microformats. args.trim_year or '100-999' -- by default pad one and 2 digit years to be 4 digit long, while keeping 3 digit years as is ) end return p lcwmkh5p6iicle9dw7qzn6d8j6xkduv Module:GetParameters 828 3310 36497 2025-12-15T17:22:15Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function p.getParameters( frame_args, arg_list ) local new_args = {}; lo...' 36497 Scribunto text/plain local p = {} --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function p.getParameters( frame_args, arg_list ) local new_args = {}; local index = 1; local value; for i,arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index]; index = index + 1; end new_args[arg] = value; end return new_args; end --[[ Helper Function to interpret boolean strings ]] function p.getBoolean( boolean_str ) local boolean_value; if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower(); if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false; else boolean_value = true; end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str; else error( 'No boolean value found' ); end return boolean_value end function p.defined(frame) local arg = mw.text.trim(frame.args[1]) --if arg == tostring(tonumber(arg)) then -- undesired result for '-0' -- arg = tonumber(arg) --end --if mw.ustring.find(arg, '^%s*-?[1-9][0-9]*%s*$') ~= nil or arg == '0' then -- arg = tonumber(arg) --end if mw.ustring.find(arg, '^-?[1-9][0-9]*$') ~= nil then arg = tonumber(arg) elseif arg == '0' then arg = 0 end return frame:getParent().args[arg] ~= nil end return p 03tz719zcckyx3el16h6xmmjd2dn09v Module:I18n 828 3311 36498 2025-12-15T17:23:12Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} -- Credit to http://stackoverflow.com/a/1283608/2644759 -- cc-by-sa 3.0 local function tableMerge(t1, t2, overwrite) for k,v in pairs(t2) do if type(v) == "table" and type(t1[k]) == "table" then -- since type(t1[k]) == type(v) == "table", so t1[k] and v is true tableMerge(t1[k], v, overwrite) -- t2[k] == v else if overwrite or t1[k] == nil then t1[k] = v end end end return t1 end function p.loadI18n(name, i18n_arg)...' 36498 Scribunto text/plain local p = {} -- Credit to http://stackoverflow.com/a/1283608/2644759 -- cc-by-sa 3.0 local function tableMerge(t1, t2, overwrite) for k,v in pairs(t2) do if type(v) == "table" and type(t1[k]) == "table" then -- since type(t1[k]) == type(v) == "table", so t1[k] and v is true tableMerge(t1[k], v, overwrite) -- t2[k] == v else if overwrite or t1[k] == nil then t1[k] = v end end end return t1 end function p.loadI18n(name, i18n_arg) local exist, res = pcall(require, name) if exist and next(res) ~= nil then if i18n_arg then tableMerge(i18n_arg, res.i18n, true) elseif type(i18n) == "table" then -- merge to global i18n tableMerge(i18n, res.i18n, true) end end end function p.loadI18nFrame(frame, i18n_arg) p.loadI18n(frame:getTitle().."/i18n", i18n_arg) end return p pggbb6d78fzqixjoboirtmh9ljkxsuq Module:I18n/complex date 828 3312 36499 2025-12-15T17:24:04Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--[[ __ __ _ _ ___ _ ___ __ _ _ _ | \/ | ___ __| |_ _| | ___ _|_ _/ |( _ ) _ __ / /__ ___ _ __ ___ _ __ | | _____ __ __| | __ _| |_ ___ | |\/| |/ _ \ / _` | | | | |/ _ (_)| || |/ _ \| '_ \ / / __/ _ \| '_ ` _ \| '_ \| |/ _ \ \/ / / _` |/ _` | __/ _ \ | | | | (_) | (_| | |_| | | __/_ | || | (_) | | | |/ / (_| (_) | | | | | | |_) | | __/>...' 36499 Scribunto text/plain --[[ __ __ _ _ ___ _ ___ __ _ _ _ | \/ | ___ __| |_ _| | ___ _|_ _/ |( _ ) _ __ / /__ ___ _ __ ___ _ __ | | _____ __ __| | __ _| |_ ___ | |\/| |/ _ \ / _` | | | | |/ _ (_)| || |/ _ \| '_ \ / / __/ _ \| '_ ` _ \| '_ \| |/ _ \ \/ / / _` |/ _` | __/ _ \ | | | | (_) | (_| | |_| | | __/_ | || | (_) | | | |/ / (_| (_) | | | | | | |_) | | __/> < | (_| | (_| | || __/ |_| |_|\___/ \__,_|\__,_|_|\___(_)___|_|\___/|_| |_/_/ \___\___/|_| |_| |_| .__/|_|\___/_/\_\ \__,_|\__,_|\__\___| |_| This code was copied from Commons please request changes there. Maintainers: *Jarekt ]] local function Ordinal(...) return require('Module:Ordinal-cd')._Ordinal(...) end local function Roman(...) return require('Module:Roman-cd')._Numeral(...) end -- ========================================================================== -- === Local Helper functions ============================================== -- ========================================================================== -- form of French "of" based on "precision", which is wikibase compatible date precision format: -- 6=millennium, 7=century, 8=decade, 9=year, 10=month, 11=day -- 1 2 3 4 5 mill cent deca year month day local frOf = {'du','du','du','du','du', 'du', 'du', 'de', 'de', 'de', 'du'} local function decYear(state,lang,case) --Declension of word "year" in several languages if state.precision == 9 then yearCase = { fi={xxx='vuosien', gen='vuoden', ill='vuoteen', ptv='vuotta', ela='vuodesta', ine='vuonna'}, sl={insP='letoma', ins='letom', gen='leta', loc='letu'}, hsb={insP='lětami', ins='lětom', gen='lěta', loc='lěće'} } return yearCase[lang][case] .. ' ' else return '' end end local function decCentury(lang,case) --Declension of word "century" in several languages centuryCase = { pl={nom='wiek', gen='wieku', ins='wiekiem', loc='wieku', default = 'wiek'}, hsb={nom='lětstotk', gen='lětstotka', ins='lětstotkom', loc='lětstotku', default = 'lětstotk'} } return centuryCase[lang][case] or centuryCase[lang]['default'] end local function decMillennium(lang,case) --Declension of word "century" in several languages millenniumCase = { pl={nom='tysiąclecie', gen='tysiąclecia', ins='tysiącleciem', loc='tysiącleciu', default = 'tysiąclecie'}, hsb={nom='lěttysac', gen='lěttysaca', ins='lěttysacom', loc='lěttysacu', default = 'lěttysac'} } return millenniumCase[lang][case] or millenniumCase[lang]['default'] end -- ========================================================================== -- === Output data structure =============================================== -- ========================================================================== local p = {} --[[ Multiple formats are possible: 1) string with key words "$date1" and "$date2" which will be replaced later by the date strings 2) function which can be used to create output string * Function INPUTS: - date1 and date2 string with date strings. "$date1" and "$date2" can also be used which will be replaced latter - state is a table with full description of the phrase we are trying to construct. It includes state.precision1 (and 2) which is wikibase compatible date precision format: 6=millennium, 7=century, 8=decade, 9=year, 10=month, 11=day 3) table with following fields: * table[1] is either string or a function * table.case is a 2 element table with Grammatical cases used by given language to alter month name or other adjective related to date # 1 and 2 ]] p.Translations = { -- ========================================== -- === Two date phrases ===================== -- ========================================== ['from-until'] = { nDates = 2, ar='من $date1 إلى $date2', ['be-tarask']={'з $date1 да $date2', case={'gen','gen'}}, bn='$date1 থেকে $date2 পর্যন্ত', ca='$date1 fins $date2', ckb='لە $date1 تاوەکوو $date2', cs='$date1 až $date2', da='fra $date1 til $date2', de='$date1 bis $date2', el='από $date1 έως $date2', en='from $date1 until $date2', ['en-gb']='from $date1 until $date2', ['en-ca']='from $date1 until $date2', eo='de $date1 al $date2', es='de $date1 a $date2', et='$date1 kuni $date2', fa='از $date1 تا $date2', fi='$date1–$date2', -- välisenä aikana fr=function(date1, date2, state) -- could actually be better should be "d'octobre à mars 2013' not "de octore 2013 à mars 2013" if state.precision > 10 then -- precision > month return 'du $date1 au $date2' else -- "DE septebmbre" / "D'octobre" return require("Module:Linguistic").of(date1, 'fr') .. " à $date2" end end, gl='de $date1 a $date2', --Template:From until used 'desde $date1 ata $date2' he='מ- $date1 עד $date2', hr='od $date1 do $date2', hsb={'wot $date1 do $date2', case={'gen','gen'}}, hu='$date1 – $date2', it='dal $date1 al $date2', ja='$date1から$date2まで', mk='од $date1 до $date2', ml='$date1 മുതൽ $date2 വരെ', nb='fra $date1 til $date2', nds='$date1 bet $date2', nn='fra $date1 til $date2', nl='$date1 tot $date2', no='fra $date1 til $date2', pl={'od $date1 do $date2', case={'gen','gen'}}, ro='din $date1 până în $date2', pt='de $date1 a $date2', qu="$date1 p'unchawmanta $date2 p\'unchawkama", ru={'с $date1 по $date2', case={'gen','gen'}}, sk={'od $date1 do $date2', case={'gen','gen'}}, sl={'od $date1 do $date2', case={'gen','gen'}}, sv='från $date1 till $date2', uk={'з $date1 до $date2', case={'gen','gen'}}, ur='از $date1 تا $date2', vi='từ $date1 đến $date2', ['zh-hans']='从$date1到$date2', ['zh-hant']='從$date1到$date2', default='<span style="color:red">$date1 - $date2</span>', }, ['between']={ nDates = 2, ar='بين $date1 و $date2', ['be-tarask']={'між $date1 і $date2', case={'ins','ins'}}, bn='$date1 এবং $date2-এর মাঝামাঝি', ca='entre $date1 i $date2', ckb='لەنێوان $date1 و $date2', cs={'mezi $date1 a $date2', case={'ins','ins'}}, da='mellem $date1 og $date2', de='zwischen $date1 und $date2', el='μεταξύ $date1 και $date2', en='between $date1 and $date2', ['en-gb']='between $date1 and $date2', ['en-ca']='between $date1 and $date2', eo='inter $date1 kaj $date2', es='entre $date1 y $date2', et='$date1 ja $date2 vahel', fa='بین $date1 و $date2', fi={function(date1, date2, state) return decYear(state,'fi','xxx') .. '$date1 ja $date2 välisenä aikana' end, case={'gen','gen'}}, fr='entre $date1 et $date2', gl='entre $date1 e $date2', he='בין $date1 ו- $date2', hr='između $date1 i $date2', hsb={'mjez $date1 a $date2', case={'ins','ins'}}, hu='$date1 és $date2 között', hi='$date1 और $date2 के बीच', it='tra il $date1 e il $date2', ja='$date1と$date2の間', mk='помеѓу $date1 и $date2', ml='$date1, $date2 എന്നിവയ്ക്കിടയ്ക്ക്', nb='mellom $date1 og $date2', nds='twischen $date1 un $date2', nn='mellom $date1 og $date2', nl='tussen $date1 en $date2', no='mellom $date1 og $date2', pl={'między $date1 a $date2', case={'ins','ins'}}, ro='între $date1 și $date2', pt='entre $date1 e $date2', qu="$date1 p'unchawpa $date2 p'unchawpapas chawpin", ru={'между $date1 и $date2', case={'ins','ins'}}, sk={'medzi $date1 a $date2', case={'ins','ins'}}, sl={function(date1, date2, state) return 'med ' .. decYear(state,'sl','insP') .. '$date1 in $date2' end, case={'ins','ins'}}, sv='mellan $date1 och $date2', uk={'між $date1 та $date2', case={'ins','ins'}}, ur='بین $date1 و $date2', vec='tra el $date1 e el $date2', vi='giữa $date1 và $date2', ['zh-hans']='在$date1到$date2之间', ['zh-hant']='在$date1到$date2之間', default='<span style="color:red">$date1 - $date2</span>', }, ['or'] = { nDates = 2, ar='$date1 أو $date2', ['be-tarask']='$date1 ці $date2', bn='$date1 অথবা $date2', ca='$date1 o $date2', ckb='$date1 یان $date2', cs='$date1 nebo $date2', da='$date1 eller $date2', de='$date1 oder $date2', el='$date1 ή $date2', en='$date1 or $date2', ['en-gb']='$date1 or $date2', ['en-ca']='$date1 or $date2', eo='$date1 aŭ $date2', es='$date1 o $date2', et='$date1 või $date2', fa='$date1 یا $date2', fi='$date1 tai $date2', fr='$date1 ou $date2', gl='$date1 ou $date2', he='$date1 או $date2', hr='$date1 ili $date2', hsb='$date1 abo $date2', hu='$date1 vagy $date2', it='$date1 o $date2', ja='$date1または$date2', mk='$date1 или $date2', ml='$date1 അഥവാ $date2', nb='$date1 eller $date2', nn='$date1 eller $date2', nds='$date1 oder $date2', nl='$date1 of $date2', no='$date1 eller $date2', pl='$date1 lub $date2', pt='$date1 ou $date2', qu='$date1 icha $date2', ro='$date1 sau $date2', ru='$date1 или $date2', sk='$date1 alebo $date2', sl='$date1 ali $date2', sv='$date1 eller $date2', uk='$date1 або $date2', ur='$date1 یا $date2', th='$date1 หรือ $date2', vi='$date1 hoặc $date2', ['zh-hans']='$date1或$date2', ['zh-hant']='$date1或$date2', default=function(date1, date2, state) return require("Module:linguistic").conj({date1, date2}, state.lang, 'or') end, }, ['and'] = { nDates = 2, ar='$date1 و $date2', ['be-tarask']='$date1 і $date2', bn='$date1 এবং $date2', ca='$date1 i $date2', ckb='$date1 و $date2', cs='$date1 a $date2', da='$date1 og $date2', de='$date1 und $date2', el='$date1 και $date2', en='$date1 and $date2', ['en-gb']='$date1 and $date2', ['en-ca']='$date1 and $date2', eo='$date1 kaj $date2', es='$date1 y $date2', et='$date1 ja $date2', fa='$date1 و $date2', fi='$date1 ja $date2', fr='$date1 et $date2', gl='$date1 e $date2', he='$date1 ו- $date2', hu='$date1 és $date2', hsb='$date1 a $date2', it='$date1 e $date2', ja='$date1および$date2', mk='$date1 и $date2', ml='$date1 ഒപ്പം $date2', nb='$date1 og $date2', nn='$date1 og $date2', nds='$date1 un $date2', nl='$date1 en $date2', no='$date1 og $date2', pl='$date1 i $date2', pt='$date1 e $date2', qu='$date1wan $date2pas', ro='$date1 și $date2', ru='$date1 и $date2', sk='$date1 a $date2', sl='$date1 in $date2', sv='$date1 och $date2', uk='$date1 та $date2', ur='$date1 و $date2', vi='$date1 và $date2', ['zh-hans']='$date1和$date2', ['zh-hant']='$date1和$date2', default=function(date1, date2, state) return require("Module:linguistic").conj({date1, date2}, state.lang, 'and') end, }, -- ========================================== -- === Prepositions ========================= -- ========================================== ['by'] = { nDates = 1, ar='حوالي $date1', ['be-tarask']={'да $date1', case={'gen',''}}, bn='$date1 কর্তৃক', ca='vers $date1', ckb='نزیکی $date1', cs={'kolem $date1', case={'gen',''}}, da='mod $date1', de='spätestens $date1', el='έως $date1', en='by $date1', ['en-gb']='by $date1', ['en-ca']='by $date1', eo='ne post $date1', es='para $date1', et='hiljemalt $date1', fa='توسط $date1', fi={function(date1, state) return decYear(state,'fi','ill') .. '$date1 mennessä' end, case={'ill',''}}, fr='$date1 (au plus tard)', gl='cara a $date1', he='עד $date1', hr='do $date1', hsb={'do $date1', case={'gen',''}}, it='entro il $date1', ja='$date1まで', mk='кон $date1', ml='$date1-ൽ', nb='innen $date1', nn='innan $date1', nds='$date1 oder vördem al', nl='tegen $date1', no='innen $date1', pl={'przed $date1', case={'ins',''}}, pt='por $date1', qu="$date1 p'unchawkama", ro='de $date1', ru={'к $date1', case={'dat',''}}, sk={'okolo $date1', case={'gen',''}}, sl={function(date1, state) return 'najpozneje ' .. decYear(state,'sl','gen') .. ' $date1' end, case={'gen',''}}, sv='senast $date1', uk={'до $date1', case={'dat',''}}, ur='توسط $date1', vi='vào $date1', -- need to insert "đã" somewhere later in the sentence --> ['zh-hans']='$date1前后', ['zh-hant']='$date1前后', default='<span style="color:red">by $date1</span>', }, ['before'] = { nDates = 1, ar='قبل $date1', ['be-tarask']={'перад $date1', case={'ins',''}}, bn='$date1-এর আগে', bg='Преди $date1', ca='abans $date1', ckb='پێش $date1', cs={'před $date1', case={'ins',''}}, da='før $date1', de='vor $date1', el='πριν από $date1', en='before $date1', ['en-gb']='before $date1', ['en-ca']='before $date1', eo='antaŭ $date1', es='antes de $date1', et='enne $date1', fa='پیش از $date1', fi={function(date1, state) return 'ennen ' .. decYear(state,'fi','ptv') .. '$date1' end, case={'ptv',''}}, fr='avant $date1', gl='antes do $date1', he='לפני $date1', hr='prije $date1', hsb={'do $date1', case={'gen',''}}, hu='$date1 előtt', it='prima del $date1', ja='$date1より前', mk='пред $date1', ml='$date1-നു മുമ്പ്', nb='før $date1', nn='før $date1', nds='vör $date1', nl='voor $date1', no='før $date1', pl={'przed $date1', case={'ins',''}}, pt='antes de $date1', qu="$date1 p'unchaw ñawpan", ro='înainte de $date1', ru={'ранее $date1', case={'gen',''}}, sk={'pred $date1', case={'ins',''}}, sl={function(date1, state) return 'pred ' .. decYear(state,'sl','ins') .. ' $date1' end, case={'ins',''}}, sv='före $date1', uk={'до $date1', case={'gen',''}}, ur='قبل $date1', vi='trước $date1', ['zh-hans']='在$date1之前', ['zh-hant']='在$date1之前', default='<span style="color:red">before $date1</span>', }, ['from'] = { nDates = 1, ar='من $date1', ['be-tarask']={'з $date1', case={'gen',''}}, bn='$date1 থেকে', ckb='لە $date1', cs={'od $date1', case={'gen',''}}, de='Seit $date1', el='από $date1', en='from $date1', ['en-gb']='from $date1', ['en-ca']='from $date1', eo='ekde $date1', es='desde $date1', et='alates $date1', fa='از $date1', fi={function(date1, state) return decYear(state,'fi','ela') .. '$date1 alkaen' end, case={'ela',''}}, fr= function(date1, state) return 'à partir '.. frOf[state.precision] ..' $date1' end, gl='desde o $date1', he='מ- $date1', hr='od $date1', hsb={'wot $date1', case={'gen',''}}, it='dal $date1', ja='$date1から', nds='vonaf $date1', mk='од $date1', nb='fra $date1', nn='frå $date1', ml='$date1 മുതൽ', nl='vanaf $date1', no='fra $date1', pl={'od $date1', case={'gen',''}}, qu="$date1 p'unchawmanta", ro='din $date1', ru={'С $date1', case={'gen',''}}, sk={'od $date1', case={'gen',''}}, sl={function(date1, state) return 'od ' .. decYear(state,'sl','gen') .. ' $date1' end, case={'gen',''}}, sv='från $date1', uk={'з $date1', case={'gen',''}}, ur='از $date1', vi='từ $date1', ['zh-hans']='自$date1', ['zh-hant']='自$date1', default='<span style="color:red">from $date1</span>', }, ['until'] = { nDates = 1, ['be-tarask']={'усутыч да $date1', case={'gen',''}}, bn='$date1 পর্যন্ত', ckb='تاوەکوو $date1', cs={'do $date1', case={'gen', ''}}, de='bis $date1', en='until $date1', ['en-gb']='until $date1', ['en-ca']='until $date1', eo='ĝis $date1', es='hasta $date1', fr=function(date1, state) if state.precision > 10 then -- precision > month return "jusqu'au $date1" else return "jusqu'à $date1" end end, hr='do $date1', hsb={'do $date1', case={'gen',''}}, it='al $date1', nb='til $date1', nl='tot $date1', nn='til $date1', ml='$date1 വരെ', pl={'do $date1', case={'gen',''}}, ru={'вплоть до $date1', case={'gen',''}}, sk={'do $date1', case={'gen', ''}}, uk={'аж до $date1', case={'gen',''}}, ur='تک $date1', ['zh-hans']='直到$date1', ['zh-hant']='直到$date1', default='<span style="color:red">until $date1</span>', }, ['after'] = { nDates = 1, ar='بعد $date1', ['be-tarask']={'пасьля $date1', case={'gen',''}}, bn='$date1-এর পরে', ca='després de $date1', ckb='دوای $date1', cs={'po $date1', case={'loc',''}}, de='nach $date1', da='efter $date1', el='μετά από $date1', en='after $date1', ['en-gb']='after $date1', ['en-ca']='after $date1', eo='post $date1', es='después de $date1', et='pärast $date1', fa='پس از $date1', fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 jälkeen' end, case={'gen',''}}, fr='après $date1', gl='despois do $date1', he='לאחר $date1', hr='nakon $date1', hu='$date1 után', hsb={'po $date1', case={'loc',''}}, it='dopo il $date1', ja='$date1より後', mk='по $date1', ml='$date1-നു ശേഷം', nb='etter $date1', nn='etter $date1', nds='na $date1', nl='na $date1', no='etter $date1', pl={'po $date1', case={'loc',''}}, pt='após $date1', qu="$date1 p'unchaw qhipan", ro='după $date1', ru={'после $date1', case={'gen',''}}, sk={'po $date1', case={'loc',''}}, sl={function(date1, state) return 'po ' .. decYear(state,'sl','loc') .. ' $date1' end, case={'loc',''}}, sv='efter $date1', uk={'після $date1', case={'gen',''}}, ur='بعد $date1', vi='sau $date1', ['zh-hans']='在$date1之后', ['zh-hant']='在$date1之後', default='<span style="color:red">after $date1</span>', }, -- ========================================== -- === Adjectives =========================== -- ========================================== ['early'] = { nDates = 1, ar='بداية $date1', ['be-tarask']={'пачатак $date1', case={'gen',''}}, bn='$date1-এর শুরুতে', ca='al principi de $date1', ckb='سەرەتای $date1', cs={'začátek $date1', case={'gen',''}}, da='tidlig $date1', de='Anfang $date1', el='αρχές του $date1', en='early $date1', ['en-gb']='early $date1', ['en-ca']='early $date1', eo='komence de $date1', es='a principios de $date1', et='$date1 algus', fa='اوایل $date1', fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 alku' end, case={'gen',''}}, fr='début $date1', gl='a principios de $date1', he='תחילת $date1', hr='početak $date1', hsb={'spočatk $date1', case={'gen',''}}, hu='$date1 elején', it='inizio del $date1', ja='$date1初頭', mk='почеток на $date1', ml='$date1 ആദ്യപാദം', nb='tidlig $date1', nn='tidleg $date1', nds='Anfang $date1', nl='begin $date1', no='tidlig $date1', pl={'początek $date1', case={'gen',''}}, pt='a princípios de $date1', qu="$date1 ñawpaq p'unchawkunapi", ro='începând cu $date1', ru={'начало $date1', case={'gen',''}}, sk={'začiatok $date1', case={'gen',''}}, sl=function(date1, state)-- could actually be better should be "d'octobre à mars 2013' not "de octore 2013 à mars 2013" if state.precision == 9 then -- precision > month return 'zgodnje leto $date1' else -- "DE septebmbre" / "D'octobre" return 'zgodnji $date1' end end, sv='början av $date1', uk={'початок $date1', case={'gen',''}}, ur='ابتدا $date1', vi='đầu năm $date1', ['zh-hans']='$date1早期', ['zh-hant']='$date1早期', default='<span style="color:red">early $date1</span>', }, ['mid'] = { nDates = 1, ar='منتصف $date1', ['be-tarask']={'сярэдзіна $date1', case={'gen',''}}, bn='$date1-এর মাঝামাঝি', ca='a mitjan $date1', ckb='ناوەڕاستی $date1', cs={'polovina $date1', case={'gen',''}}, da='midten af $date1', de='Mitte $date1', el='μέσα του $date1', en='mid $date1', ['en-gb']='mid $date1', ['en-ca']='mid $date1', eo='meze de $date1', es='a mediados de $date1', et='$date1 keskel', fa='اواسط $date1', fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 puoliväli' end, case={'gen',''}}, fr='mi $date1', gl='a mediados de $date1', he='אמצע $date1', hr='sredina $date1', hsb={'srjedź $date1', case={'gen',''}}, hu='$date1 közepén', it='metà del $date1', ja='$date1半ば', mk='средина на $date1', ml='$date1 മദ്ധ്യം', nb='midten av $date1', nn='midten av $date1', nds='Midd $date1', nl='midden $date1', no='midten av $date1', pl={'środek $date1', case={'gen',''}}, pt='meados de $date1', qu="$date1 chawpin p'unchawkunapi", ro='mijlocul lui $date1', ru={'середина $date1', case={'gen',''}}, sk={'polovica $date1', case={'gen',''}}, sl={function(date1, state) return 'sredina ' .. decYear(state,'sl','gen') .. ' $date1' end, case={'gen',''}}, sv='mitten av $date1', uk={'середина $date1', case={'gen',''}}, ur='وسط $date1', vi='giữa năm $date1', ['zh-hans']='$date1中期', ['zh-hant']='$date1中期', default='<span style="color:red">mid $date1</span>', }, ['late'] = { nDates = 1, ar='نهاية $date1', bn='$date1-এর শেষে', ['be-tarask']={'канец $date1', case={'gen',''}}, ca='al final de $date1', ckb='کۆتاییی $date1', cs='konec $date1', da='sen $date1', de='Ende $date1', el='τέλη του $date1', en='late $date1', ['en-gb']='late $date1', ['en-ca']='late $date1', eo='fine de $date1', es='a fines de $date1', et='$date1 lõpp', fa='اواخر $date1', fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 loppu' end, case={'gen',''}}, fr='fin $date1', gl='a finais de $date1', he='סוף $date1', hr='kraj $date1', hsb={'kónc $date1', case={'gen',''}}, hu='$date1 végén', it='fine del $date1', ja='$date1末', mk='крајот на $date1', ml='$date1 അന്ത്യപാദം', nb='sent $date1', no='seint $date1', nds='Enn $date1', nl='eind $date1', no='sent $date1', pl={'koniec $date1', case={'gen',''}}, pt='ao final de $date1', qu="$date1 qhipaq p'unchawkunapi", ro='sfârșitul lui $date1', ru={'конец $date1', case={'gen',''}}, sk={'koniec $date1', case={'gen',''}}, sl={function(date1, state) return 'pozno ' .. decYear(state,'sl','gen') .. ' $date1' end, case={'gen',''}}, sv='slutet av $date1', uk={'кінець $date1', case={'gen',''}}, ur='اخیر $date1', vi='cuối năm $date1', ['zh-hans']='$date1晚期', ['zh-hant']='$date1晚期', default='<span style="color:red">late $date1</span>', }, ['circa'] = { nDates = 1, ar='حوالي $date1', ['be-tarask']={'каля $date1', case={'gen',''}}, bn='প্রায় $date1', ckb='بەنزیکی $date1', ca='cap a $date1', cs='cca $date1', da='ca. $date1', de='etwa $date1', el='περ. $date1', en='circa $date1', ['en-gb']='circa $date1', ['en-ca']='circa $date1', eo='ĉirkaŭ $date1', es='hacia $date1', -- suggestion use "hacia"/"hacia el" or leave the latin circa or ca. et='ca. $date1', fa='حوالی $date1', -- template:Circa used 'حدود $date1' fi={function(date1, state) return 'suunnilleen ' .. decYear(state,'fi','ine') .. '$date1' end, case={'ine',''}}, -- template:Circa used 'noin $date1' fr=function(date1, state) if state.precision >= 11 then -- precision >= day return 'vers le $date1' else return 'vers $date1' end end, gl='entre $date1', -- template:Circa used 'cara a $date1' he='בסביבות $date1', hr='oko $date1', hsb={'wokoło $date1', case={'gen',''}}, hu='$date1 körül', it='$date1 circa', ja='$date1頃', ko='$date1경', mk='~ $date1', -- template:Circa used 'o. $date1' ml= 'ഉദ്ദേശം $date1', nb='ca. $date1', nn='ca. $date1', nds='üm un bi $date1', nl='ca. $date1', no='ca. $date1', pl={'około $date1', case={'gen',''}}, pt='cerca de $date1', qu='$date1chá', ro='circa $date1', ru={'около $date1', case={'gen',''}}, sk='cca $date1', sl={function(date1, state) return 'ok. ' .. decYear(state,'sl','gen') .. ' $date1' end, case={'gen',''}}, sv='c:a $date1', -- template:Circa used 'ca $date1' uk={'близько $date1', case={'gen', ''}}, ur='قریباً $date1', vi='vào khoảng $date1', ['zh-hans']='约$date1', ['zh-hant']='約$date1', default='<span style="color:red">circa $date1</span>', }, ['uncertain'] = { nDates = 1, ['zh-hans']='$date1(?)', ['zh-hant']='$date1(?)', default='$date1 (?)', }, probably = { -- see Q56644435 nDates = 1, ast = 'probablemente $date1', bn = 'সম্ভবত $date1', ca = 'probablement $date1', ckb = 'لەوانەیە $date1', cs = 'pravděpodobně $date1', de = 'wahrscheinlich $date1', el = 'πιθανόν $date1', en = 'probably $date1', ['en-gb']='probably $date1', ['en-ca']='probably $date1', eo = 'probable $date1', es = 'probable $date1', fa = 'احتمالاً $date1', fr = 'probablement $date1', he = 'כפי הנראה $date1', hu = 'feltehetőleg $date1', it = 'probabile $date1', mk = 'веројатно $date1', ml = 'ഒരുപക്ഷേ $date1', nl = 'waarschijnlijk $date1', pl = 'prawdopodobnie $date1', pt = 'provavelmente $date1', ru = 'вероятно $date1', sv = 'antagligen $date1', uk = 'ймовірно $date1', default='<span style="color:red">probably $date1</span>', }, possibly = { -- see Q30230067 nDates = 1, ast = 'posiblemente $date1', bn = 'যথাসম্ভব $date1', ckb = 'لەوانەیە $date1', cs = 'možná $date1', de = 'möglicherweise $date1', en = 'possibly $date1', ['en-gb']='possibly $date1', ['en-ca']='possibly $date1', eo = 'eble $date1', el = 'πιθανόν $date1', fa = 'احتمالاً $date1', fr = 'peut-être $date1', hu = 'talán $date1', mk = 'можеби $date1', ml = 'മിക്കവാറും $date1', nl = 'mogelijk $date1', pl = 'być może $date1', pt = 'possivelmente $date1', ro = 'poate $date1', ru = 'возможно $date1', sv = 'möjligen $date1', uk = 'можливо $date1', default='<span style="color:red">possibly $date1</span>', }, presumably = { -- see Q18122778 nDates = 1, ast = 'presumiblemente $date1', ckb = 'دەشێت $date1', de = 'vermutlich $date1', en = 'presumably $date1', ['en-gb']='presumably $date1', ['en-ca']='presumably $date1', fr = 'présumé $date1', it = 'presumibilmente $date1', ml = 'ഊഹപ്രകാരം $date1', ru = 'предположительно $date1', pl = 'przypuszczalnie $date1', uk = 'здогадно $date1', default='<span style="color:red">presumably $date1</span>', }, ['year unknown']= { nDates = 0, ca='Any desconegut', ['be-tarask']='Год невядомы', bn='অজানা বছর', ckb='ساڵی نەزاندراو', cs='neznámý rok', de='Jahr unbekannt', el='άγνωστο έτος', en='year unknown', ['en-gb']='year unknown', ['en-ca']='year unknown', eo='jaro nesciata', es='Año desconocido', fa='سال نامعلوم', fi='tuntematon vuosi', fr='Année inconnue', he='שנה לא ידועה', hsb='lěto njeznate', hr='nepoznata godina', it='anno sconosciuto', ja='年代不明', la='Sine anno', ml='വർഷം ലഭ്യമല്ല', mk='непозната година', nb='ukjent år', nn='ukjent år', nl='zonder jaar', no='ukjent år', pl='rok nieznany', qu='Mana riqsisqa wata', ru='Год неизвестен', sk='neznámy rok', sl='neznano leto', sv='Okänt år', uk='рік невідомий', ur='سال نامعلوم', vi='không rõ năm', ['zh-hans']='年份未知', ['zh-hant']='年份未知', default='<span style="color:red">year unknown</span>', }, -- ========================================== -- === Parts of a whole ===================== -- ========================================== ['firsthalf'] = { nDates = 1, ar='النصف الأول من $date1', ['be-tarask']={'першая палова $date1', case={'gen',''}}, bn='$date1-এর প্রথমার্ধ', ca='1a meitat de $date1', ckb='نیوەی یەکەمی $date1', cs={'1. polovina $date1', case={'gen',''}}, da='1. halvdel af $date1', de='1. Hälfte $date1', el='πρώτο μισό του $date1', en='first half of $date1', ['en-gb']='first half of $date1', ['en-ca']='first half of $date1', eo='unua duono de $date1', es='primera mitad de $date1', et='$date1 esimene pool', fa='نیمهٔ نخست $date1', fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 alkupuolisko' end, case={'gen',''}}, fr='1<sup>re</sup> moitié de $date1', gl='primeira metade de $date1', he='במחצית הראשונה של $date1', hsb={'prěnja połojca $date1', case={'gen',''}}, hu='$date1 első felében', hr='prva polovina $date1', it='prima metà del $date1', ja='$date1上半期', mk='прва половина на $date1', ml='$date1 ആദ്യപകുതി', nb='første halvdel av $date1', nn='fyrste halvdelen av $date1', nds='1. Helft $date1', nl='eerste helft $date1', no='første halvdel av $date1', pl={'pierwsza połowa $date1', case={'gen',''}}, pt='primeira metade de $date1', qu='$date1 ñawpaq kuskanpi', ro='prima jumătate a lui $date1', ru={'первая половина $date1', case={'gen',''}}, sk={'1. polovica $date1', case={'gen',''}}, sl={function(date1, state) return 'prva polovica ' .. decYear(state,'sl','gen') .. ' $date1' end, case={'gen',''}}, sv='första halvan av $date1', uk={'перша половина $date1', case={'gen',''}}, ur='نصف اول $date1', vi='nửa đầu năm $date1', ['zh-hans']='$date1上半期', ['zh-hant']='$date1上半期', default='<span style="color:red">first half of $date1</span>', }, ['secondhalf'] = { nDates = 1, ar='النصف الثاني من $date1', ['be-tarask']={'другая палова $date1', case={'gen',''}}, bn='$date1-এর দ্বিতীয়ার্ধ', ca='2a meitat de $date1', ckb='نیوەی دووەمی $date1', cs={'2. polovina $date1', case={'gen',''}}, da='2. halvdel af $date1', de='2. Hälfte $date1', el='δεύτερο μισό του $date1', en='second half of $date1', ['en-gb']='second half of $date1', ['en-ca']='second half of $date1', eo='dua duono de $date1', es='segunda mitad de $date1', et='$date1 teine pool', fa='نیمهٔ دوم $date1', fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 loppupuolisko' end, case={'gen',''}}, fr='2<sup>e</sup> moitié de $date1', gl='segunda metade de $date1', he='במחצית השנייה של $date1', hsb={'druha połojca $date1', case={'gen',''}}, hr='druga polovina $date1', hu='$date1 második felében', it='seconda metà del $date1', ja='$date1下半期', mk='втора половина на $date1', ml='$date1 രണ്ടാം പകുതി', nb='andre halvdel av $date1', nn='andre halvdelen av $date1', nds='2. Helft vun $date1', nl='tweede helft $date1', no='andre halvdel av $date1', pl={'druga połowa $date1', case={'gen',''}}, pt='segunda metade de $date1', qu='$date1 qhipaq kuskanpi', ro='a doua jumătate a lui $date1', ru={'вторая половина $date1', case={'gen',''}}, sk={'2. polovica $date1', case={'gen',''}}, sl={'druga polovica {{IfNum | $date0 | leta}} $date1', case={'gen',''}}, sv='andra halvan av $date1', uk={'друга половина $date1', case={'gen',''}}, ur='نصف آخر $date1', vi='nửa cuối năm $date1', ['zh-hans']='$date1下半期', ['zh-hant']='$date1下半期', default='<span style="color:red">second half of $date1</span>', }, ['1quarter']= { nDates = 1, bn='$date1-এর প্রথম ত্রৈমাসিক', ['be-tarask']={'першая чвэрць $date1', case={'gen',''}}, ckb='چارەکی یەکەمی $date1', cs={'1. čtvrtina $date1', case={'gen',''}}, de='erstes Viertel $date1', en='first quarter of $date1', ['en-gb']='first quarter of $date1', ['en-ca']='first quarter of $date1', eo='unua kvarono de $date1', es='primer cuarto del $date1', fa='ربع نخست $date1', fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 ensimmäinen neljännes' end, case={'gen',''}}, fr= function(date1, state) return 'premier quart '.. frOf[state.precision] ..' $date1' end, he='רבעון ראשון של $date1', hsb={'prěnja štwórćina $date1', case={'gen',''}}, hr='prva četvrtina $date1', it='primo quarto del $date1', ja='$date1第1四半期', ml='$date1 ഒന്നാം ത്രൈമാസം', nb='første kvartal av $date1', nl='eerste kwart $date1', nn='fyrste kvartalet av $date1', no='første kvartal av $date1', pl={'pierwsza ćwiartka $date1', case={'gen',''}}, qu='$date1 ñawpaq ñiqin tawa phatmanpi', ru={'первая четверть $date1', case={'gen',''}}, sk={'1. štvrtina $date1', case={'gen',''}}, sl={'prva četrtina {{IfNum | $date0 | leta}} $date1', case={'gen',''}}, sl={function(date1, state) return 'prva četrtina ' .. decYear(state,'sl','gen') .. ' $date1' end, case={'gen',''}}, sv='första kvartalet av $date1', uk={'1-ша чверть $date1', case={'gen',''}}, ur='پہلی سہ ماہی $date1', vi='quý 1 năm $date1', ['zh-hans']='$date1第一季度', ['zh-hant']='$date1第一季度', default='<span style="color:red">first quarter of $date1</span>', }, ['2quarter']= { nDates = 1, ['be-tarask']={'другая чвэрць $date1', case={'gen',''}}, bn='$date1-এর দ্বিতীয় ত্রৈমাসিক', ckb='چارەکی دووەمی $date1', cs={'2. čtvrtina $date1', case={'gen',''}}, de='zweites Viertel $date1', en='second quarter of $date1', ['en-gb']='second quarter of $date1', ['en-ca']='second quarter of $date1', eo='dua kvarono de $date1', es='segundo cuarto del $date1', fa='ربع دوم $date1', fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 toinen neljännes' end, case={'gen',''}}, fr= function(date1, state) return 'deuxième quart '.. frOf[state.precision] ..' $date1' end, he='רבעון שני של $date1', hsb={'druha štwórćina $date1', case={'gen',''}}, hr='druga četvrtina $date1', it='secondo quarto del $date1', ja='$date1第2四半期', ml='$date1 രണ്ടാം ത്രൈമാസം', nb='andre kvartal av $date1', nl='tweede kwart $date1', nn='andre kvartalet av $date1', no='andre kvartal av $date1', pl={'druga ćwiartka $date1', case={'gen',''}}, qu='$date1 iskay ñiqin tawa phatmanpi', ru={'вторая четверть $date1', case={'gen',''}}, sk={'2. štvrtina $date1', case={'gen',''}}, sl={function(date1, state) return 'druga četrtina ' .. decYear(state,'sl','gen') .. ' $date1' end, case={'gen',''}}, sv='andra kvartalet av $date1', uk={'2-га чверть $date1', case={'gen',''}}, ur='دوسری سہ ماہی $date1', vi='quý 2 năm $date1', ['zh-hans']='$date1第二季度', ['zh-hant']='$date1第二季度', default='<span style="color:red">second quarter of $date1</span>', }, ['3quarter']= { nDates = 1, ['be-tarask']={'трэцяя чвэрць $date1', case={'gen',''}}, bn='$date1-এর তৃতীয় ত্রৈমাসিক', ckb='چارەکی سێیەمی $date1', cs={'3. čtvrtina $date1', case={'gen',''}}, de='drittes Viertel $date1', en='third quarter of $date1', ['en-gb']='third quarter of $date1', ['en-ca']='third quarter of $date1', eo='tria kvarono de $date1', es='tercer cuarto del $date1', fa='ربع سوم $date1', fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 kolmas neljännes' end, case={'gen',''}}, fr= function(date1, state) return 'troisième quart '.. frOf[state.precision] ..' $date1' end, he='רבעון שלישי של $date1', hsb={'třeća štwórćina $date1', case={'gen',''}}, hr='treća četvrtina $date1', it='terzo quarto del $date1', ja='$date1第3四半期', ml='$date1 മൂന്നാം ത്രൈമാസം', nb='tredje kvartal av $date1', nl='derde kwart $date1', nn='tredje kvartalet av $date1', no='tredje kvartal av $date1', pl={'trzecia ćwiartka $date1', case={'gen',''}}, qu='$date1 kimsa ñiqin tawa phatmanpi', sk={'3. štvrtina $date1', case={'gen',''}}, sl={function(date1, state) return 'tretja četrtina ' .. decYear(state,'sl','gen') .. ' $date1' end, case={'gen',''}}, ru={'третья четверть $date1', case={'gen',''}}, sv='tredje kvartalet av $date1', uk={'3-тя чверть $date1', case={'gen',''}}, ur='تیسری سہ ماہی $date1', vi='quý 3 năm $date1', ['zh-hans']='$date1第三季度', ['zh-hant']='$date1第三季度', default='<span style="color:red">third quarter of $date1</span>', }, ['4quarter']= { nDates = 1, ['be-tarask']={'чацьвёртая чвэрць $date1', case={'gen',''}}, bn='$date1-এর চতুর্থ ত্রৈমাসিক', ckb='چارەکی چوارەمی $date1', cs={'4. čtvrtina $date1', case={'gen',''}}, de='letztes Viertel $date1', en='fourth quarter of $date1', ['en-gb']='fourth quarter of $date1', ['en-ca']='fourth quarter of $date1', eo='kvara kvarono de $date1', es='último cuarto del $date1', fa='ربع چهارم $date1', fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 viimeinen neljännes' end, case={'gen',''}}, fr= function(date1, state) return 'quatrième quart '.. frOf[state.precision] ..' $date1' end, he='רבעון רביעי של $date1', hsb={'poslednja štwórćina $date1', case={'gen',''}}, hr='četvrta četvrtina $date1', it='quarto quarto del $date1', ja='$date1第4四半期', ml='$date1 നാലാം ത്രൈമാസം', nb='fjerde kvartal av $date1', nl='vierde kwart $date1', nn='tredje kvartalet av $date1', no='fjerde kvartal av $date1', pl={'czwarta ćwiartka $date1', case={'gen',''}}, qu='$date1 qhipaq ñiqin tawa phatmanpi', ru={'последняя четверть $date1', case={'gen',''}}, sk={'4. štvrtina $date1', case={'gen',''}}, sl={function(date1, state) return 'zadnja četrtina ' .. decYear(state,'sl','gen') .. ' $date1' end, case={'gen',''}}, sv='fjärde kvartalet av $date1', uk={'4-та чверть $date1', case={'gen',''}}, ur='چوتھی سہ ماہی $date1', vi='quý 4 năm $date1', ['zh-hans']='$date1第四季度', ['zh-hant']='$date1第四季度', default='<span style="color:red">forth quarter of $date1</span>', }, -- ========================================== -- === Seasons ============================== -- ========================================== ['spring'] = { nDates = 1, ar='ربيع $date1', ['be-tarask']='вясна $date1', bn='বসন্তকাল $date1', ca='primavera $date1', ckb='بەھاری $date1', cs={'jaro $date1', case={'gen', ''}}, da='Forår $date1', de='Frühling $date1', en='Spring $date1', ['en-gb']='Spring $date1', ['en-ca']='Spring $date1', eo='printempo $date1', es='primavera de $date1', et='$date1 kevad', fa='بهار $date1', fi='Kevät $date1', fr='printemps $date1', gl='primavera $date1', he='אביב $date1', hr='proljeće $date1', hsb='nalěćo $date1', hu='$date1 tavasza', it='primavera $date1', ja='{{#if:$date1|$date1年}}春', mk='пролет $date1', ml='$date1 വസന്തം', nb='våren $date1', nds='Vörjohr $date1', nn='våren $date1', nl='voorjaar $date1', no='våren $date1', pl='wiosna $date1', pt='primavera de $date1', ro='primăvara lui $date1', ru='весна $date1', sk={'jar $date1', case={'gen', ''}}, sl='pomlad $date1', sv='våren $date1', uk='весна $date1', ur='بہار $date1', vi='mùa đông năm $date1', ['zh-hans']='{{#if:$date1|$date1年}}春季', ['zh-hant']='{{#if:$date1|$date1年}}春季', default='<span style="color:red">Spring $date1</span>', }, ['summer'] = { nDates = 1, ar='صيف $date1', ['be-tarask']='лета $date1', bn='গ্রীষ্মকাল $date1', ca='estiu $date1', ckb='ھاوینی $date1', cs={'léto $date1', case={'gen', ''}}, da='Sommer $date1', de='Sommer $date1', en='Summer $date1', ['en-gb']='Summer $date1', ['en-ca']='Summer $date1', eo='somero $date1', es='verano de $date1', et='$date1 suvi', fa='تابستان $date1', fi='Kesä $date1', fr='été $date1', gl='verán $date1', he='קיץ $date1', hr='ljeto $date1', hsb='lěćo $date1', hu='$date1 nyara', it='estate $date1', ja='{{#if:$date1|$date1年}}夏', mk='лето $date1', ml='$date1 വേനൽ', nb='sommeren $date1', nds='Sommer $date1', nn='sumaren $date1', nl='zomer $date1', no='sommeren $date1', pl='lato $date1', pt='verão de $date1', ro='vara lui $date1', ru='лето $date1', sk={'leto $date1', case={'gen', ''}}, sl='poletje $date1', sv='sommaren $date1', uk='літо $date1', ur='گرما $date1', vi='mùa hè năm $date1', ['zh-hans']='{{#if:$date1|$date1年}}夏季', ['zh-hant']='{{#if:$date1|$date1年}}夏季', default='<span style="color:red">Summer $date1</span>', }, ['autumn'] = { nDates = 1, ar='خريف $date1', ['be-tarask']='восень $date1', bn='শরত্কাল $date1', ca='tardor $date1', ckb='پاییزی $date1', cs={'podzim $date1', case={'gen', ''}}, da='Efterår $date1', de='Herbst $date1', en='Autumn $date1', ['en-gb']='Autumn $date1', ['en-ca']='Autumn $date1', eo='aŭtuno $date1', es='otoño de $date1', et='$date1 sügis', fa='پاییز $date1', fi='Syksy $date1', fr='automne $date1', gl='outono $date1', he='סתיו $date1', hr='jesen $date1', hsb='nazyma $date1', hu='$date1 ősze', it='autunno $date1', ja='{{#if:$date1|$date1年}}秋', mk='есен $date1', ml='$date1 ശരത്കാലം', nb='høsten $date1', nds='Harvst $date1', nn='hausten $date1', nl='herfst $date1', no='høsten $date1', pl='jesień $date1', pt='outono de $date1', ro='toamna lui $date1', ru='осень $date1', sk={'jeseň $date1', case={'gen', ''}}, sl='jesen $date1', sv='hösten $date1', uk='осінь $date1', ur='خزاں $date1', vi='mùa thu năm $date1', ['zh-hans']='{{#if:$date1|$date1年}}秋季', ['zh-hant']='{{#if:$date1|$date1年}}秋季', default='<span style="color:red">Autumn $date1</span>', }, ['winter'] = { nDates = 1, ar='شتاء $date1', ['be-tarask']='зіма $date1', bn='শীতকাল $date1', ca='hivern $date1', ckb='زستانی $date1', cs={'zima $date1', case={'gen', ''}}, da='Vinter $date1', de='Winter $date1', en='Winter $date1', ['en-gb']='Winter $date1', ['en-ca']='Winter $date1', eo='vintro $date1', es='invierno de $date1', et='$date1 talv', fa='زمستان $date1', fi='Talvi $date1', fr='hiver $date1', gl='inverno $date1', he='חורף $date1', hr='zima $date1', hsb='zyma $date1', hu='$date1 tele', it='inverno $date1', ja='{{#if:$date1|$date1年}}冬', mk='зима $date1', ml='$date1 ശൈത്യകാലം', nds='Winter $date1', nl='winter $date1', nb='vinteren $date1', nn='vinteren $date1', no='vinteren $date1', pl='zima $date1', pt='inverno de $date1', ro='iarna lui $date1', ru='зима $date1', sk={'zima $date1', case={'gen', ''}}, sl='zima $date1', sv='vintern $date1', uk='зима $date1', ur='سرما $date1', vi='mùa đông năm $date1', ['zh-hans']='{{#if:$date1|$date1年}}冬季', ['zh-hant']='{{#if:$date1|$date1年}}冬季', default='<span style="color:red">Winter $date1</span>', }, -- ========================================== -- === Decade/Century/Millennium ============ -- ========================================== ['decade'] = { nDates = 1, ar='أعوام $date1', ['be-tarask']='$date1-я гады', bn='$date1-এর দশক', ca='dècada del $date1', ckb='دەیەی $date1', cs=function(date1, state) return ((date1 % 100 == 0) and 'první dekáda' or ((date1 % 100) .. '. léta')) .. ' ' .. (math.floor(date1 / 100) + 1) .. '. století' end, da="$date1'erne", de='$date1er-Jahre', el='δεκαετία του $date1', en='$date1s', ['en-gb']='$date1s', ['en-ca']='$date1s', eo='$date1-aj jaroj', es='años $date1', et='$date1ndad', fa='دههٔ $date1', fi='$date1-luvulla', fr='années $date1', gl='anos $date1', he='שנות ה-$date1', hr='$date1-ih', hsb='$date1te lěta', hu='$date1-s évek', it="{{#ifexpr: $date1 mod 100 = 0 | primo decennio del {{Roman|{{#expr: ($date1 / 100) + 1}}}} sec. | anni '{{#expr: $date1 mod 100 }} del {{Roman|{{#expr: floor($date1 / 100) + 1}}}} sec.}}", ja='$date1年代', mk='$date1-ти', ml='ദശകം $date1-ൽ', nb='$date1-årene', nn='$date1-åra', nds='Johren $date1', nl='jaren $date1', no='$date1-årene', pl=function(date1, state) local str = 'lata '..(date1 % 100)..'. ' if (date1 % 100 == 0) then str = 'pierwsza dekada ' elseif (date1 % 100 == 10) then str = 'druga dekada ' end return str .. Roman(math.floor(date1 / 100) + 1) .. ' wieku' end, pt='década de $date1', qu='$date1 watakuna', ro='anii $date1', ru='$date1-е годы', sk=function(date1, state) return ((date1 % 100 == 0) and 'prvé desaťročie' or ((date1 % 100) .. '. roky')) .. ' ' .. (math.floor(date1 / 100) + 1) .. '. storočia' end, sl='$date1-ta leta', sv='$date1-talet{{#switch:$date1|1300|1400|1500|1600|1700|1800|1900|2000|2100=&nbsp;(decennium)}}', uk='$date1-ті роки', ur='دہائی $date1', vi='thập niên $date1', ['zh-hans']='$date1年代', ['zh-hant']='$date1年代', default='<span style="color:red">$date1s</span>', }, ['century'] = { nDates = 1, ar='القرن $date1', ['be-tarask']=function(date1, state) return Ordinal(date1, 'be-tarask') .. ' стагодзьдзе' end, bn=function(date1, state) return Ordinal(date1, 'bn') .. ' শতাব্দী' end, ca='segle {{small-caps|{{lc:{{Roman year|$date1}}}}}}', ckb='سەدەی $date1', cs='$date1. století', da='$date1. århundrede', de='$date1. Jahrhundert', el='$date1ος αιώνας', en=function(date1, state) return Ordinal(date1, 'en') .. ' century' end, ['en-gb']=function(date1, state) return Ordinal(date1, 'en-gb') .. ' century' end, ['en-ca']=function(date1, state) return Ordinal(date1, 'en-ca') .. ' century' end, eo='$date1-a jarcento', es=function(date1, state) return 'siglo ' .. Roman(date1) end, et='$date1. sajand', fa='سدهٔ $date1', fi='{{#expr: ($date1 - 1) * 100}}-luvulla', fr=function(date1, state) return Ordinal(date1, 'fr', 'roman', 'm') .. ' siècle' end, gl=function(date1, state) return 'século ' .. Roman(date1) end, he='המאה ה-$date1', hr='$date1. stoljeće', hsb='$date1. lětstotk', hu='$date1. évszázad', it=function(date1, state) return Roman(date1) .. ' sec.' end, ja='$date1世紀', la='saeculum $date1', mk=function(date1, state) return Roman(date1) .. ' век' end, ml='$date1-ആം നൂറ്റാണ്ട്', nb=function(date1, state) return Ordinal(date1, 'nb') .. ' århundre' end, nn=function(date1, state) return 'det ' .. Ordinal(date1, 'no') .. ' århundre' end, nds='$date1. Johrhunnert', nl='$date1e eeuw', no=function(date1, state) return Ordinal(date1, 'no') .. ' århundre' end, pl=function(date1, state) return Roman(date1) .. ' ' .. decCentury('pl',state.case) end, pt=function(date1, state) return 'século ' .. Roman(date1) end, qu='$date1 ñiqin pachakwata', ro='secolul al $date1-lea', ru=function(date1, state) return Roman(date1) .. ' век' end, sk='$date1. storočie', sl=function(date1, state) return Ordinal(date1, 'sl') .. '. stoletje' end, sv='{{#expr:$date1 - 1}}00-talet', tt=function(date1, state) return Roman(date1) .. ' гасыр' end, uk=function(date1, state) return Roman(date1) .. ' ст.' end, ur='صدی $date1', vi='thế kỷ $date1', ['zh-hans']='$date1世纪', ['zh-hant']='$date1世紀', default='<span style="color:red">$date1 century</span>', }, ['millennium'] = { nDates = 1, ['be-tarask']=function(date1, state) return Ordinal(date1, 'be-tarask') .. ' тысячагодзьдзе' end, bn=function(date1, state) return Ordinal(date1, 'bn') .. ' সহস্রাব্দ' end, ckb=function(date1, state) return 'ھەزارەی ' .. Ordinal(date1, 'ckb') end, cs='$date1. tisíciletí', de='$date1. Jahrtausend', en=function(date1, state) return Ordinal(date1, 'en') .. ' millennium' end, ['en-gb']=function(date1, state) return Ordinal(date1, 'en-gb') .. ' millennium' end, ['en-ca']=function(date1, state) return Ordinal(date1, 'en-ca') .. ' millennium' end, eo='$date1-a jarmilo', es=function(date1, state) return Roman(date1) .. ' milenio' end, fa=function(date1, state) return 'هزارهٔ ' .. Ordinal(date1, 'fa') end, fr=function(date1, state) return Ordinal(date1, 'fr', 'roman', 'm') .. ' millénaire' end, hr='$date1. tisućljeće', hsb='$date1. lěttysac', it=function(date1, state) return Roman(date1) .. ' millennio' end, ja='$date1千年紀', la='millennium $date1', ml='$date1-മത്തെ സഹസ്രാബ്ദം', nb=function(date1, state) return Ordinal(date1, 'nb') .. ' årtusen' end, nn=function(date1, state) return Ordinal(date1, 'no') .. ' tusenår' end, nl='$date1e millennium', no=function(date1, state) return Ordinal(date1, 'no') .. ' årtusen' end, pl=function(date1, state) return Roman(date1) .. ' ' .. decMillennium('pl',state.case) end, pt=function(date1, state) return Roman(date1) .. ' milénio' end, qu='$date1 ñiqin waranqawata', ru=function(date1, state) return Roman(date1) .. ' тысячелетие' end, sk='$date1. tisícročie', sl=function(date1, state) return Ordinal(date1, 'sl') .. '. tisočletje' end, sv=function(date1, state) return Ordinal(date1, 'sv') .. ' årtusendet' end, uk=function(date1, state) return Roman(date1) .. ' тис.' end, ur=function(date1, state) return 'ہزارہ ' .. Ordinal(date1, 'ur') end, vi='thiên niên kỷ $date1', ['zh-hans']=function(date1, state) return Ordinal(date1, 'zh-hans') .. '千年' end, ['zh-hant']=function(date1, state) return Ordinal(date1, 'zh-hant') .. '千年' end, --default='{{Please translate|$date1 millennium|Module:I18n/complex date}}', default='<span style="color:red">$date1 millennium</span>', }, ['million'] = { ckb = '$date1 میلیۆن ساڵ', de = '$date1 Millionen Jahre', en = '$date1 million years', ['en-gb'] = '$date1 million years', ['en-ca'] = '$date1 million years', eo = '$date1 milionoj da jaroj', es = '$date1 millones de años', nl = '$date1e miljoen jaar', fr = '$date1 millions d’années', it = '$date1 milioni di anni', ml = function(date1, state) if date1 >= 10 then return (date1 / 10) .. ' കോടി വർഷങ്ങൾ' -- 100 lakh = 1 crore else return (date1 * 10) .. ' ലക്ഷം വർഷങ്ങൾ' end end, nb = '$date1 millioner år', nl = '$date1 miljoen jaar', nn = '$date1 millionar år', pl = '$date1 milionów lat', pt = '$date1 milhões de anos', ru = '$date1 миллиона лет', uk = '$date1 мільйони років', ur = '$date1 ملین سال', ['zh-hans'] = '$date1百万年', ['zh-hant'] = '$date1百万年', default='<span style="color:red">$date1 million years</span>', nDates = 1, }, ['billion'] = { ckb = '$date1 بیلیۆن ساڵ', de = '$date1 Milliarden Jahre', en = '$date1 billion years', ['en-gb'] = '$date1 billion years', ['en-ca'] = '$date1 billion years', es = '$date1 mil millones de años', nl = '$date1e miljard jaar', fr = '$date1 milliard d’années', it = '$date1 miliardi di anni', ml = function(date1, state) return (date1 * 10) .. ' കോടി വർഷങ്ങൾ' end, nb = '$date1 milliarder år', nl = '$date1 miljard jaar', nn = '$date1 milliardar år', pl = '$date1 miliardów lat', pt = '$date1 mil milhões de anos', ru = '$date1 миллиардов лет', uk = '$date1 мільярдів років', ur = '$date1 بلین سال', ['zh-hans'] = '$date1十亿年', ['zh-hant'] = '$date1十億年', default='<span style="color:red$date1 billion years</span>', nDates = 1, }, -- ========================================== -- === Complex phrases ====================== -- ========================================== -- Phrases which for some languages can be build out of simpler phrases -- Their "default" state, used when no translation in the requested language was found, returns a "state" like -- table which is used to call the function again and built the phrase out of simple phrases -- $date1 - original date - 1 -- $date2 - original date -- if era is BC than $date1 and $date2 are swapped ['turn of the century'] = { nDates = 2, ['be-tarask']=function(date1, date2, state) return 'канец ' .. Roman(date1) ..' — пачатак ' .. Roman(date2) ..' стагодзьдзя' end, bn=function(date1, date2, state) return '$date1/' .. Ordinal(date2, 'bn') .. ' শতাব্দীর পালাবদলে' end, ckb=function(date1, date2, state) return 'سەردەمی $date1/' .. Ordinal(date2, 'ckb') .. ' سەدە' end, cs='přelom $date1. a $date2. století', de=function(date1, date2, state) return 'Jahrhundertwende $date1/' .. Ordinal(date2, 'de') end, en=function(date1, date2, state) return 'turn of the $date1/' .. Ordinal(date2, 'en') .. ' century' end, ['en-gb']=function(date1, date2, state) return 'turn of the $date1/' .. Ordinal(date2, 'en-gb') .. ' century' end, ['en-ca']=function(date1, date2, state) return 'turn of the $date1/' .. Ordinal(date2, 'en-ca') .. ' century' end, eo='ŝanĝo de la $date1-a al la $date2-a jarcentoj', es=function(date1, date2, state) return 'hacia finales del siglo ' .. Roman(date1) .. ' y principios del siglo ' .. Roman(date2) .. '' end, fi='{{#expr: $date1 * 100-100}}-luvun loppu ja {{#expr: $date2 * 100-100}}-luvun alku', fr=function(date1, date2, state) return 'fin du ' .. Ordinal(date1, 'fr', 'roman', 'm') .. ' siècle / début du ' .. Ordinal(date2, 'fr', 'roman', 'm') end, hr='kraj $date1. i početak $date2. stoljeća', hsb=function(date1, date2, state) return 'přechod ' .. Roman(date1) ..' do ' .. Roman(date2) ..' lětstotka' end, it=function(date1, date2, state) return 'fine del ' .. Roman(date1) .. ' sec. e inizio del ' .. Roman(date2) .. ' sec.' end, ja='$date1世紀から$date2世紀への変わり目', ml='$date1 നൂറ്റാണ്ട് അവസാനവും $date2 നൂറ്റാണ്ട് ആദ്യവും', nb=function(date1, date2, state) return 'slutten av det ' .. Ordinal(date1, 'nb') .. ' århundre/begynnelsen av det ' .. Ordinal(date2, 'nb') .. ' århundre' end, nl=function(date1, date2, state) return 'eind $date1e/begin $date2e eeuw' end, nn=function(date1, date2, state) return 'slutten av det ' .. Ordinal(date1, 'nn') .. ' hundreåret/byrjinga av det ' .. Ordinal(date2, 'nn') .. ' hundreåret' end, pl=function(date1, date2, state) return 'przełom ' .. Roman(date1) ..' i ' .. Roman(date2) ..' wieku' end, qu="$date1 ñiqin waranqawatamanta $date2 ñiqin waranqawataman t'ikrasqanpi", ru=function(date1, date2, state) return 'конец ' .. Roman(date1) ..' — начало ' .. Roman(date2) ..' века' end, sk='prelom $date1. a $date2. storočia', sl=function(date1, date2, state) return 'pozno ' .. Ordinal(date1, 'sl') .. '. in zgodnje ' .. Ordinal(date2, 'sl') .. '. stoletje' end, sv=function(date1, date2, state) return '$date1/' .. Ordinal(date2, 'sv') .. ' årtusendets sekelskifte' end, uk=function(date1, date2, state) return 'кін. ' .. Roman(date1) ..' ст. — поч. ' .. Roman(date2) ..' ст.' end, vi='bước sang thế kỷ $date2', ['zh-hans']=function(date1, date2, state) return '$date1世纪末' .. Ordinal(date2, 'zh-hans') .. '世纪初' end, ['zh-hant']=function(date1, date2, state) return '$date1世紀末' .. Ordinal(date2, 'zh-hant') .. '世紀初' end, default=function(date1, date2, state) return {conj='and', adj1 = 'late', unit1='century', era1=state.era1, adj2 = 'early', unit2='century', era2=state.era2} end, }, -- $date1 - original date - 10 -- $date2 - original date -- if era is BC than $date1 and $date2 are swapped ['turn of the decade']={ nDates = 2, ['be-tarask']='канец $date1-х — пачатак $date2-х гг.', bn='$date1-এর দশকের শেষে এবং $date2-এর দশকের শুরুতে', cs=function(date1, date2, state) local decade1 = math.floor((date1 % 100) / 10) local decade2 = math.floor((date2 % 100) / 10) local century1 = math.floor( date1 / 100) + 1 local century2 = math.floor( date2 / 100) + 1 if decade1 == 0 and date1 < date2 then return "přelom 1. a 2. dekády " .. century1 .. ". století" elseif decade2 == 0 and date2 < date1 then return "přelom 9. a 10. dekády " .. century1 .. ". století" elseif (decade1 == 9 and date1 < date2) or (decade2 == 9 and date2 < date1) then return "přelom " .. century1 .. ". a " .. century2 .. ". století" else return "přelom " .. decade1 .. "0. a " .. decade2 .. "0. let " .. century1 .. ". století" end end, de='späte $date1er und frühe $date2er', ckb='کۆتایییەکانی $date1 و سەرەتاکانی $date2', en='late $date1s and early $date2s', ['en-gb']='late $date1s and early $date2s', ['en-ca']='late $date1s and early $date2s', eo='ŝanĝo de la $date1-a al la $date2-a jardekoj', es='finales de los años $date1 y principios de los años $date2', fa='اواخر دههٔ $date1 و اوایل دههٔ $date2', fi='$date1-luvun loppu ja $date2-luvun alku', fr='fin des années $date1 / début des années $date2', hr='kraj $date1-ih i početak $date2-ih', hsb='pózdnje $date1te a zažne $date2te lěta', it='fine degli anni $date1 / inizio degli anni $date2', ja='$date1年代末から$date2年代初頭', ml='$date1കൾ അവസാനവും $date2കൾ ആദ്യവും', nb = 'sent på $date1-tallet og tidlig på $date2-tallet', nl = 'eind $date1e/begin $date2e decennium', nn = 'seint på $date1-talet og tidleg på $date2-talet', pl=function(date1, date2, state) local decade1 = math.floor(date1 % 100) local decade2 = math.floor(date2 % 100) local century1 = Roman(math.floor( date1 / 100) + 1) local century2 = Roman(math.floor( date2 / 100) + 1) if decade1 == 0 and date1 < date2 then return "przełom pierwszej i drugiej dekady " .. century1 .. " wieku" elseif decade1 == 10 and date1 < date2 then return "przełom drugiej dekady i lat 20. " .. century1 .. " wieku" elseif decade1 == 90 and decade2 == 0 then return "przełom ostatniej dekady " .. century1 .. " i pierwszej dekady " .. century2 .. " wieku" else return "przełom lat " .. decade1 .. ". i " .. decade2 .. ". " .. century1 .. " wieku" end end, qu='qhipaq $date1 watakuna ñawpaq $date2 watakunapas', ru='конец $date1-х — начало $date2-х гг.', sv='sena $date1-talet och tidiga $date2-talet', sk=function(date1, date2, state) local decade1 = math.floor((date1 % 100) / 10) local decade2 = math.floor((date2 % 100) / 10) local century1 = math.floor( date1 / 100) + 1 local century2 = math.floor( date2 / 100) + 1 if decade1 == 0 and date1 < date2 then return "prelom 1. a 2. desaťročia " .. century1 .. ". storočia" elseif decade2 == 0 and date2 < date1 then return "prelom 9. a 10. desaťročia " .. century1 .. ". storočia" elseif (decade1 == 9 and date1 < date2) or (decade2 == 9 and date2 < date1) then return "prelom " .. century1 .. ". a " .. century2 .. ". storočia" else return "prelom " .. decade1 .. "0. a " .. decade2 .. "0. rokov " .. century1 .. ". storočia" end end, sl='pozna $date1-ta in zgodnja $date2-ta leta', uk='кінець $date1-х — початок $date2-х рр.', ur='اخیر دہائی $date1 و ابتدا دہائی $date2', vi='bước sang thập niên $date2', ['zh-hans']='$date1年代末$date2年代初', ['zh-hant']='$date1年代末$date2年代初', default=function(date1, date2, state) return {conj='and', adj1 = 'late', unit1='decade', era1=state.era1, adj2 = 'early', unit2='decade', era2=state.era2} end, }, -- $date1 - original date - 1 -- $date2 - original date -- if era is BC than $date1 and $date2 are swapped ['turn of the year']={ nDates = 2, ['be-tarask']='канец $date1 — пачатак $date2 г.', bn='$date1-এর শেষে এবং $date2-এর শুরুতে', ckb='کۆتاییی $date1 و سەرەتای $date2', cs='přelom roku $date1/$date2', de='Jahreswechsel $date1/$date2', en='late $date1 and early $date2', ['en-gb']='late $date1 and early $date2', ['en-ca']='late $date1 and early $date2', eo='jarŝanĝo $date1 / $date2', es='finales de $date1 y principios de $date2', fa='اواخر $date1 و اوایل $date2', fi='vuoden $date1 loppu ja vuoden $date2 alku', fr='fin $date1 / début $date2', hsb='kónc $date1/spočatk $date2', ja='$date1年末から$date2年初め', ml='$date1 അവസാനവും $date2 ആദ്യവും', nb='årsskiftet $date1/$date2', nl='eind $date1 en begin $date2', nn='årsskiftet $date1/$date2', pl='koniec $date1 i początek $date2 roku', qu="$date1 qhipaq p'unchawkuna $date2 ñawpaq p'unchawkunapas", ru='конец $date1 — начало $date2 г.', sk='prelom rokov $date1/$date2', sl='konec leta $date1 in začetek $date2', sv='sena $date1 och tidiga $date2', uk='кінець $date1 — початок $date2 р.', ur='اخیر $date1 و ابتدا $date2', vi='bước sang năm $date2', ['zh-hans']='$date1年末$date2年初', ['zh-hant']='$date1年末$date2年初', default=function(date1, date2, state) return {conj='and', adj1 = 'late', unit1='year', era1=state.era1, adj2 = 'early', unit2='year', era2=state.era2} end, }, ['circa2'] = { nDates = 2, ar='حوالي $date1 – $date2', ['be-tarask']={'прыкладна з $date1 да прыкладна $date2', case={'gen','gen'}}, bn='প্রায় $date1 এবং প্রায় $date2-এর মাঝামাঝি', ca='cap a $date1 o $date2', ckb='بە نزیکی لەنێوان $date1 و $date2', cs='cca $date1 až $date2', da='ca. mellem $date1 og $date2', de='etwa $date1 bis $date2', el='περίπου μεταξύ $date1 και $date2', en='between circa $date1 and circa $date2', ['en-gb']='between circa $date1 and circa $date2', ['en-ca']='between circa $date1 and circa $date2', eo='proksimume de $date1 ĝis $date2', es='hacia $date1 o $date2', et='ca. $date1 ja $date2 vahel', fa='حدوداً بین $date1 و $date2', fi={function(date1, date2, state) return 'suunnilleen ' .. decYear(state,'fi','xxx') .. '$date1 ja $date2 välisenä aikana' end, case={'gen','gen'}}, fr='vers $date1-$date2', gl='entre $date1 e $date2', he='בסביבות ה- $date1 עד $date2', hr='oko između $date1 i $date2', hsb={'wot něhdźe $date1 do něhdźe $date2', case={'gen','gen'}}, hu='$date1 és $date2 között', it='tra il $date1 e il $date2 circa', ja='$date1頃と$date2頃の間', mk='~ помеѓу $date1 и $date2', ml='ഉദ്ദേശം $date1-നും ഉദ്ദേശം $date2-നും ഇടയ്ക്ക്', nb='ca. mellom $date1 og $date2', nn='ca. mellom $date1 og $date2', nds='üm un bi $date1 bet $date2', nl='ca. $date1 tot $date2', no='ca. mellom $date1 og $date2', pl={'od około $date1 do około $date2', case={'gen','gen'}}, pt='cerca de $date1 a $date2', qu="$date1 p'unchawmantachá $date2 p'unchawkamachá", ro='circa $date1 – $date2', ru={'с около $date1 до, примерно, $date2', case={'gen','gen'}}, sk='cca $date1 až $date2', sl={function(date1, date2, state) return 'ok. ' .. decYear(state,'sl','gen') .. ' $date1 do $date2' end, case={'gen','gen'}}, sv='c:a $date1 till $date2', uk={'з близько $date1 до, приблизно, $date2', case={'gen','gen'}}, ur='قریباً بین $date1 و $date2', vi='giữa vào khoảng $date1 và vào khoảng $date2', ['zh-hans']='约$date1~$date2间', ['zh-hant']='約$date1~$date2間', default=function(date1, date2, state) return {conj='between', adj1 = 'circa', unit1=state.unit1, era1=state.era1, adj2 = 'circa', unit2=state.unit2, era2=state.era2} end, }, -- ========================================== -- === Eras and calendars =================== -- ========================================== ['julian'] = { nDates = 2, ar='$date1 ($date2 حسب [[w:ar:التقويم اليولياني|تقويم يولياني]])', ['be-tarask']='$date1 ($date2 паводле [[w:be-tarask:Юліянскі каляндар|ст. ст.]]', bn='$date1 (জুলিয়ান ক্যালেন্ডারে $date2)', ca='$date1 ($date2 segons el [[w:ca:Calendari julià|calendari julià]])', ckb='$date1 ($date2 بەپێی [[w:ڕۆژژمێری جولیانی|ڕۆژژمێری جولیانی]])', cs='$date1 ($date2 podle [[w:cs:Juliánský kalendář|juliánského kalendáře]])', da='$date1 ($date2 [[w:da:Julianske kalender|Julianske kalender]])', de='$date1 ($date2 [[w:de:Julianischer Kalender|Julianischer Kalender]])', el='$date1 ($date2 με το [[w:el:Ιουλιανό ημερολόγιο|Ιουλιανό ημερολόγιο]])', en='$date1 ($date2 in [[w:Old Style and New Style dates|Julian calendar]])', ['en-gb']='$date1 ($date2 in [[w:Old Style and New Style dates|Julian calendar]])', ['en-ca']='$date1 ($date2 in [[w:Old Style and New Style dates|Julian calendar]])', fa='$date1 ($date2 در [[w:fa:Old Style and New Style dates|تقویم جولیان]])', eo='$date1 ($date2 laŭ la [[w:eo:Julia kalendaro|Julia Kalendaro]])', es='$date1 ($date2 según el [[w:es:Calendario juliano|calendario juliano]])', et='$date1 ($date2 [[w:et:Juliuse kalender|Juliuse kalendris]])', fi='$date1 ($date2 [[w:fi:juliaaninen kalenteri|juliaanisen kalenterin]] mukaan)', fr='$date1 ($date2 dans le [[w:fr:calendrier julien|calendrier julien]])', gl='$date1 ($date2 segundo o [[w:gl:Calendario xuliano|calendario xuliano]])', hu='$date1 ($date2 a [[w:hu:Julianus-naptár|Julián naptárban]])', hr='$date1 ($date2 prema [[w:hr:Julijanski kalendar|julijanskom kalendaru]])', he='$date1 ($date2 ב[[w:he:לוח היוליאני|הלוח היוליאני]])', hsb='$date1 ($date2 po julianiskej protyce)', it='$date1 ($date2 secondo il [[w:it:Calendario giuliano|calendario giuliano]])', ja='$date1([[w:ja:ユリウス暦|ユリウス暦]] $date2)', mk='$date1 ($date2 по [[w:mk:Јулијански календар|Јулијанскиот календар]])', ml='$date1 ([[w:ml:ജൂലിയൻ കാലഗണനാരീതി|ജൂലിയൻ വർഷത്തിൽ]] $date2)', ml='$date1 ([[w:Old Style and New Style dates|ജൂലിയൻ കാലഗണനാരീതിയിൽ]] $date2)', nds='$date1 ($date2 na’n [[w:nds:Juliaansch Klenner|Juliaanschen Klenner]])', nb='$date1 ($date2 etter [[w:no:Juliansk kalender|den julianske kalenderen]])', nn='$date1 ($date2 etter [[w:no:Juliansk kalender|den julianske kalenderen]])', nl='$date1 ($date2 volgens de [[w:nl:Juliaanse kalender|Juliaanse kalender]])', no='$date1 ($date2 etter [[w:no:Juliansk kalender|den julianske kalender]])', pl='$date1 ($date2 wedle [[w:pl:Daty nowego i starego porządku|kalendarza juliańskiego]])', pt='$date1 ($date2 no [[w:pt:Mudança para o calendário gregoriano|calendário juliano]])', qu='$date1 ($date2 [[w:qu:Hulyanu kalindaryu|Hulyanu kalindaryupi]])', ro='$date1 ($date2 în [[w:ro:calendarul iulian|calendarul iulian]])', ru='$date1 ($date2 [[w:ru:Юлианский календарь|по ст. ст.]])', sk='$date1 ($date2 podľa [[w:sk:Juliánsky kalendár|juliánskeho kalendára]])', sl='$date1 ($date2 po [[w:sl:Julijanski koledar|julijanskem koledarju]])', sv='$date1 ($date2 [[w:sv:Gamla stilen|gamla stilen]])', uk='$date1 ($date2 [[w:uk:Юліанський календар|Юліанський календар]])', ur='$date1 ($date2 حسب [[w:ur:نئے اور پانے انداز کی تاریخ|جولین تقویم]])', vi='$date1 ($date2 trong [[w:vi:Lịch Julius|lịch Juliêng]])', ['zh-hans']='$date1([[w:Old Style and New Style dates|格里历]]$date2)', ['zh-hant']='$date1([[w:Old Style and New Style dates|格里曆]]$date2)', default='<span style="color:red">$date1 ($date2 in [[w:Old Style and New Style dates|Julian calendar]])</span>', }, ['ad'] = { nDates = 1, ['be-tarask']='$date1 [[w:be-tarask:ад Нараджэньня Хрыста|пасьля Н. Х.]]', bn ='$date1 খ্রিস্টাব্দ', ca ='$date1 dC', ckb ='$date1 [[w:ckb:ئانۆ دۆمینی|پاز]]', cs ='$date1 n. l.', de ='$date1 n. Chr.', el ='$date1 μ.Χ.', en ='$date1 [[w:en:Anno Domini|AD]]', ['en-gb'] ='$date1 [[w:en:Anno Domini|AD]]', ['en-ca'] ='$date1 [[w:en:Anno Domini|AD]]', eo ='$date1 pK', es ='$date1 [[w:es:Anno Dómini|d. C.]]', fa ='$date1 م.', fi ='$date1 jaa.', fr ='$date1 ap. J.-C.', gl ='$date1 d.C.', he ='$date1 לספירה', hu ='i. sz. $date1', hr ='$date1 p. Kr.', hsb='$date1 po Chr.', it ='$date1 d.C.', ja ='西暦$date1', mk ='$date1 н.е.', ml ='ക്രി.വ. $date1', nb ='$date1 e.Kr.', nl ='$date1 n.Chr.', nn ='$date1 e.Kr.', no ='$date1 e.Kr.', pl ='$date1 [[w:pl:naszej ery|n.e.]]', ro ='$date1 d.Hr.', ru ='$date1 н. э.', sk ='$date1 po Kr.', sl ='$date1 n. št.', sv ='$date1 [[w:sv:Efter Kristus|e.Kr.]]', uk ='$date1 н. е.', ur ='$date1 ء', vi ='$date1 [[w:vi:Công Nguyên|CN]]', ['zh-hans'] ='[[w:zh:基督纪年|公元]]$date1', ['zh-hant'] ='[[w:zh:基督纪年|公元]]$date1', default='<span style="color:red">$date1 [[w:en:Anno Domini|AD]]</span>', }, ['ah'] = { nDates = 1, ['be-tarask']='$date1 [[w:be-tarask:Ісламскі каляндар|хіджры]]', bn ='$date1 [[w:bn:ইসলামি বর্ষপঞ্জি|হিজরী]]', ckb ='$date1 [[w:ckb:ساڵی کۆچی|سک]]', cs ='$date1 [[w:cs:Anno Hegirae|AH]]', en ='$date1 [[w:en:Hijri year|AH]]', ['en-gb'] ='$date1 [[w:en:Hijri year|AH]]', ['en-ca'] ='$date1 [[w:en:Hijri year|AH]]', eo ='$date1 post la [[w:eo:Heĝiro|Heĝiro]]', fa ='$date1 ه.ق.', fr ='$date1 [[w:fr:Calendrier musulman|A.H.]]', he ="$date1 [[w:he:הלוח המוסלמי|להג'רה]]", hr ='$date1 god. hidžre', ja ='[[w:ja:ヒジュラ暦|ヒジュラ暦]]$date1', ml ='$date1 [[w:ml:ഇസ്‌ലാമിക കലണ്ടർ|ഹിജ്റ]]', nb ='$date1 [[w:no:Den muslimske kalenderen|A.H.]]', nn ='$date1 [[w:nn:Den muslimske kalenderen|A.H.]]', pl ='$date1 [[w:pl:Kalendarz muzułmański|A.H.]]', ru ='$date1 [[w:ru:Исламский календарь|хиджры]]', sk ='$date1 [[w:sk:A. H.|A. H.]]', sv ='$date1 [[w:sv:Muslimska kalendern|A.H.]]', uk ='$date1 [[w:uk:Мусульманський календар|хіджри]]', ur ='$date1 ھ', vi ='$date1 [[w:vi:Lịch Hồi giáo|AH]]', ['zh-hans'] ='[[w:en:Hijri year|Hijri历]]$date1', ['zh-hant'] ='[[w:en:Hijri year|Hijri曆]]$date1', default='<span style="color:red">$date1 [[w:en:Hijri year|AH]]</span>', }, ['bc'] = { nDates = 1, ar ='$date1 ق.م.', ['be-tarask']='$date1 [[w:be-tarask:да Нараджэньня Хрыста|да Н. Х.]]', bn ='খ্রিস্টপূর্ব $date1', ca ='$date1 [[w:ca:Abans de Crist|aC]]', ckb ='$date1 [[w:ckb:پێش زایین|پز]]', cs ='$date1 [[w:cs:Př. n. l.|př. n. l.]]', de ='$date1 [[w:de:v. Chr.|v. Chr.]]', el ='$date1 π.Χ.', en ='$date1 [[w:en:Ante Christum Natum|BC]]', ['en-gb'] ='$date1 [[w:en:Ante Christum Natum|BC]]', ['en-ca'] ='$date1 [[w:en:Ante Christum Natum|BC]]', eo ='$date1 aK', es ='$date1 [[w:es:Antes de Cristo|a. C.]]', fa ='$date1 پ.م.', fi ='$date1 eaa.', fr ='$date1 av. J.-C.', gl ='$date1 [[w:gl:Antes de Cristo|a.C.]]', he ='$date1 לפני הספירה', hr ='$date1 [[w:hr:Pr. Kr.|pr. Kr.]]', hsb='$date1 do Chr.', hu ='i. e. $date1', it ='$date1 [[w:it:Avanti Cristo|a.C.]]', ja ='[[w:ja:紀元前|紀元前]]$date1', mk ='$date1 п.н.е.', ml ='ക്രി.മു. $date1', nds='$date1 vör uns Tied', nb ='$date1 f.Kr.', nl ='$date1 v.Chr.', nn ='$date1 f.Kr.', no ='$date1 f.Kr.', pl ='$date1 [[w:pl:przed naszą erą|p.n.e.]]', ro ='$date1 î.Hr.', ru ='$date1 до н. э.', sk ='$date1 [[w:sk:Pred Kristom|pred Kr.]]', sl ='$date1 pr. n. št.', sv ='$date1 [[w:sv:Före Kristus|f.Kr.]]', uk ='$date1 до н. е.', ur ='$date1 ق م', vi ='$date1 [[w:vi:Trước Công Nguyên|TCN]]', ['zh-hans'] ='[[w:zh:基督纪年|公元前]]$date1', ['zh-hant'] ='[[w:zh:基督纪年|公元前]]$date1', default='<span style="color:red">$date1 [[w:en:Ante Christum Natum|BC]]</span>', }, ['bp'] = { nDates = 1, ar ='$date1 [[w:ar:قبل الحاضر|قبل الحاضر]]', be ='$date1 [[w:be-tarask:Да нашых дзён|Да нашых дзён]]', ['be-tarask']='$date1 [[w:be-tarask:Да нашых дзён|Да нашых дзён]]', bn ='বর্তমানের আগে $date1', ca ='$date1 [[w:ca:BP (unitat de temps)|BP]]', ckb ='$date1 [[w:ckb:پێش ئێستا|پێش ئێستا]]', cs ='$date1 [[w:cs:B. P.|B. P.]]', de ='$date1 [[w:de:Before Present|BP]]', el ='$date1 [[w:en:Before Present|BP]]', en ='$date1 [[w:en:Before Present|BP]]', ['en-gb'] ='$date1 [[w:en:Before Present|BP]]', ['en-ca'] ='$date1 [[w:en:Before Present|BP]]', eo='$date1 [[w:eo:Before Present|BP]]', es ='$date1 [[w:es:Before Present|BP]]', et ='$date1 [[w:et:Before Present|BP]]', fa ='$date1 پیش از اکنون', fi ='$date1 [[w:fi:BP (ajanlasku)|BP]]', fr ='$date1 [[w:fr:Avant le présent|avant le présent]]', hr ='$date1 [[w:hr:BP|prije današnjice]]', it ='$date1 [[w:it:Before Present|BP]]', ja ='$date1 [[w:ja:BP (年代測定)|BP]]', lv ='$date1 [[w:lv:Pirms mūsdienām|Pirms mūsdienām]]', mk ='$date1 [[w:mk:Пред сегашноста|п.с.]]', ml ='[[w:en:Before Present|ഇന്നത്തെ കാലത്തിനു മുമ്പ്]] $date1', nb ='$date1 [[w:no:Before Present|BP]]', nn ='$date1 [[w:nn:Before Present|BP]]', nl ='$date1 [[w:nl:Before Present|BP]]', no ='$date1 [[w:no:Before Present|BP]]', pl ='$date1 [[w:pl:Before Present|BP]]', pt ='$date1 [[w:pt:Antes do Presente|Antes do Presente]]', ru ='$date1 [[w:ru:До настоящего времени|до н. в.]]', sk ='$date1 [[w:sk:BP (čas)|BP]]', sl ='$date1 [[w:sl:pred sedanjostjo|p. s.]]', sr ='$date1 [[w:sr:Прије садашњости|Прије садашњости]]', sv ='$date1 [[w:sv:B.P.|B.P.]]', uk ='$date1 [[w:uk:Років тому|Років тому]]', ur ='$date1 قبل حاضر', vi ='$date1 [[w:en:Before Present|trước ngày nay]]', ['zh-hans'] ='[[w:zh:距今|距今]]$date1', ['zh-hant'] ='[[w:zh:距今|距今]]$date1', default='<span style="color:red">$date1 [[w:en:Before Present|BP]]</span>', }, } -- List of possible string inputs to "adj", "junction", "era", and "precision" fields -- Each term is matched to its synonym and the role: a - adjective, e - era -- p - precision, c - calendar and combos, r - certainty and j - conjunction p.Synonyms = { -- adjectives and prepositions ['quarter1']={'1quarter','a'}, ['1stquarter']={'1quarter','a'}, ['1st quarter']={'1quarter','a'}, ['first quarter']={'1quarter','a'}, ['1quarter']={'1quarter','a'}, ['quarter2']={'2quarter','a'}, ['2ndquarter']={'2quarter','a'}, ['2nd quarter']={'2quarter','a'}, ['second quarter']={'2quarter','a'}, ['2quarter']={'2quarter','a'}, ['quarter3']={'3quarter','a'}, ['3rdquarter']={'3quarter','a'}, ['3rd quarter']={'3quarter','a'}, ['third quarter']={'3quarter','a'}, ['3quarter']={'3quarter','a'}, ['quarter4']={'4quarter','a'}, ['4thquarter']={'4quarter','a'}, ['4th quarter']={'4quarter','a'}, ['fourth quarter']={'4quarter','a'}, ['4quarter']={'4quarter','a'}, ['spring']={'spring','a'}, ['summer']={'summer','a'}, ['fall']={'autumn','a'}, ['autumn']={'autumn','a'}, ['winter']={'winter','a'}, ['beginning']={'early','a'}, ['early']={'early','a'}, ['1half']={'firsthalf','a'}, ['1sthalf']={'firsthalf','a'}, ['1st half']={'firsthalf','a'}, ['firsthalf']={'firsthalf','a'}, ['first half']={'firsthalf','a'}, ['end']={'late','a'}, ['late']={'late','a'}, ['middle']={'mid','a'}, ['mid']={'mid','a'}, ['2half']={'secondhalf','a'}, ['2ndhalf']={'secondhalf','a'}, ['2nd half']={'secondhalf','a'}, ['secondhalf']={'secondhalf','a'}, ['second half']={'secondhalf','a'}, ['<']={'before','a'}, ['b']={'before','a'}, ['before']={'before','a'}, ['>']={'after','a'}, ['a']={'after','a'}, ['after']={'after','a'}, ['~']={'circa','a'}, ['c']={'circa','a'}, ['ca']={'circa','a'}, ['circa']={'circa','a'}, ['by']={'by','a'}, ['from']={'from','a'}, ['until']={'until','a'}, ['uncertain']={'uncertain','r'}, ['possibly']={'possibly','r'}, ['probably']={'probably','r'}, ['presumably']={'presumably','r'}, -- eras ['bc']={'bc','e'}, ['bce']={'bc','e'}, ['before present']={'bp','e'}, ['bp']={'bp','e'}, ['ce']={'ad','e'}, ['ad']={'ad','e'}, ['ah']={'ah','e'}, -- conjunctions ['&']={'and','j'}, ['and']={'and','j'}, ['or']={'or','j'}, ['-']={'from-until','j'}, ['–']={'from-until','j'}, ['from-until']={'from-until','j'}, ['between']={'between','j'}, ['circa2']={'circa2','a'}, -- precision ['day']={'day','p'}, ['month']={'month','p'}, ['year']={'year','p'}, ['s']={'decade','p'}, ['decade']={'decade','p'}, ['century']={'century','p'}, ['millennium']={'millennium','p'}, ['million']={'million','p'}, ['billion']={'billion','p'}, -- calendar ['julian']={'julian','c'}, ['islamic']={'islamic','c'}, ['hijri']={'islamic','c'}, -- "Turn of the ..." options are a combos which will be handled in similar way as calendars ['turn of the century']={'turn of the century','c'}, ['century turn']={'turn of the century','c'}, ['turn of the decade']={'turn of the decade','c'}, ['decade turn']={'turn of the decade','c'}, ['turn of the year']={'turn of the year','c'}, ['year turn']={'turn of the year','c'}, -- other dates which will be handled in similar way as calendars ['?']={'unknown','c'}, ['unknown']={'unknown','c'}, ['unknown year']={'year unknown','c'}, ['year unknown']={'year unknown','c'}, } return p dewwfi4vqnuvm2x2yyc13jj2an5fuuv Module:I18n/linguistic 828 3313 36500 2025-12-15T17:25:54Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'return { -- message corresponds to the translatewiki message (in some cases: no accurate and needs to be overridden by another text and_conj = { -- in some languages the translatewiki message is not quite right pl = ' i', no = ' og', zh = '和', ["zh-hans"] = '和', ["zh-hant"] = '和', ["zh-cn"] = '和', ["zh-tw"] = '和', message = "and", }, or_conj = { ar = 'أو', bn = ' অথবা', ca = ' o', cs = ' nebo', d...' 36500 Scribunto text/plain return { -- message corresponds to the translatewiki message (in some cases: no accurate and needs to be overridden by another text and_conj = { -- in some languages the translatewiki message is not quite right pl = ' i', no = ' og', zh = '和', ["zh-hans"] = '和', ["zh-hant"] = '和', ["zh-cn"] = '和', ["zh-tw"] = '和', message = "and", }, or_conj = { ar = 'أو', bn = ' অথবা', ca = ' o', cs = ' nebo', da = ' eller', de = ' oder', el = ' ή', en = ' or', eo = ' aŭ', et = ' või', fa = 'یا ', fi = ' tai', fr = ' ou', gl = ' ou', he = ' או', hu = ' vagy', it = ' o', ja = 'または', mk = ' или', ml = ' അഥവാ', nds = ' oder', ne = ' अथवा', nl = ' of', nn = ' eller', no = ' eller', ['os'] = ' ó', pl = ' lub', pt = ' ou', ['pt-br'] = ' ou', ru = ' или', sl = ' ali', sv = ' eller', tg = ' ё', th = ' หรือ', tr = ' ve', zh = ' 或', }, colon = { -- Please expand using Commons:Template:Colon ar = '&#58;&#32;', en = '&#58;&#32;', fr = '&#32;&#58;&#32;', }, comma = { message = "comma-separator" }, citation_comma = { zh = ',', -- in Chinese the commas used in citation aren't '、' ["zh-hans"] = ',', ["zh-hant"] = ',', ["zh-cn"] = ',', ["zh-tw"] = ',', message = "comma-separator" }, full_stop = { -- to expand see Commons:Template:Full stop ar = '.&#32;', en = '.&#32;', }, word_separator = { message = 'Word-separator', } } ix9d56uxtoij5ox3biepj3jond8dfdh Module:I18n/date 828 3314 36501 2025-12-15T17:26:43Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} --[[ Different languages use different date formats, and many formats are shared among whole families of languages. "DateLang" picks a cluster of languages associated with a single date format, based on the language to be used. All unlisted languages default to English form. Languages like "de-formal" follows regular language fallback chain and would default to German, and only if that does not exist then to English. ]] p.DateLang...' 36501 Scribunto text/plain local p = {} --[[ Different languages use different date formats, and many formats are shared among whole families of languages. "DateLang" picks a cluster of languages associated with a single date format, based on the language to be used. All unlisted languages default to English form. Languages like "de-formal" follows regular language fallback chain and would default to German, and only if that does not exist then to English. ]] p.DateLang = { ['ar'] = 'en-form', -- Arabic ['be'] = 'ru-form', -- Belarusian ['be-tarsk'] = 'ru-form', -- Belarusian (Tara۫ievica) ['bn'] = 'bn-form', -- Bengali ['bpy'] = 'bpy-form', -- Bishnupuriya Manipuri ['cs'] = 'cs-form', -- Czech ['da'] = 'de-form', -- Danish ['de'] = 'de-form', -- German ['el'] = 'ru-form', -- Greek ['en'] = 'en-form', -- English ['eo'] = 'eo-form', -- Esperanto ['es'] = 'es-form', -- Spanish ['et'] = 'de-form', -- Estonian ['fa'] = 'en-form', -- Persian ['fi'] = 'fi-form', -- Finnish ['fr'] = 'fr-form', -- French ['ga'] = 'ga-form', -- Gallic ['gl'] = 'es-form', -- Galician based on https://translatewiki.net/wiki/MediaWiki:Pagetriage-info-timestamp-date-format/gl ['hi'] = 'en-form', -- Hindi ['hr'] = 'hr-form', -- Croatian ['hu'] = 'hu-form', -- Hungarian ['ia'] = 'ia-form', -- Interlingua ['is'] = 'de-form', -- Icelandic ['ja'] = 'zh-form', -- Japanese ['kn'] = 'bn-form', -- Kannada ['ko'] = 'ko-form', -- Korean ['lt'] = 'lt-form', -- Lithuanian ['lv'] = 'lv-form', -- Latvian ['mk'] = 'en-form', -- Macedonian ['ml'] = 'ml-form', -- Malayalam ['mr'] = 'mr-form', -- Marathi ['new'] = 'new-form', -- Newari ['nn'] = 'de-form', -- Norwegian Nynorsk ['no'] = 'de-form', -- Norwegian (bokm欩 ['oc'] = 'oc-form', -- Occitan ['pa'] = 'en-form', -- Punjabi ['pl'] = 'ru-form', -- Polish ['pt'] = 'es-form', -- Portuguese ['qu'] = 'qu-form', -- Quechua based on https://translatewiki.net/wiki/MediaWiki:Pagetriage-info-timestamp-date-format/qu ['qug'] = 'qug-form', -- Kichwa based on Template_talk:Date#Kichwa_.5Bqug.5D ['ru'] = 'ru-form', -- Russian ['sl'] = 'sl-form', -- Slovene ['sr'] = 'hr-form', -- Serbian ['th'] = 'th-form', -- Thai solar calendar ['vi'] = 'vi-form', -- Vietnamese ['zh-hans'] = 'zh-form', -- Chinese } --[[ Date format parameter which will be passed to {{#time:}} parser function. It depends on the language and which parts of the date need to be displayed. Different forms are: * YMDHMS = stands for YYYY:MM:DD, HH:MM:SS format or equivalent * YMDHM = stands for YYYY:MM:DD, HH:MM format or equivalent * YMD = stands for YYYY:MM:DD format or equivalent * YM = stands for YYYY:MM (year-month) format or equivalent * MD = stands for MM:DD (month-day) format or equivalent * Y = stands for YYYY (year only) format or equivalent * M = stands for month name only See https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions#.23time for documentation Original set was developed to match the output of the pre-Lua {{date}} template, preserved as {{date/old}} ]] p.DateFormat = { -- day/month/year languages ['en-form'] = { YMDHMS='j F Y, H:i:s', YMDHM ='j F Y, H:i', YMD ='j F Y', YM ='F Y', MD ='j F', Y ='Y', M ='F' }, ['de-form'] = { YMDHMS='j. F Y, H:i:s', YMDHM ='j. F Y, H:i', YMD ='j. F Y', YM ='F Y', MD ='j. F', Y ='Y', M ='F' }, ['hr-form'] = { YMDHMS='j. F Y., H:i:s', YMDHM ='j. F Y., H:i', YMD ='j. F Y.', YM ='F Y.', MD ='j. F', Y ='Y.', M ='F' }, ['ml-form'] = { YMDHMS='j F Y, H:i:s', YMDHM ='j F Y, H:i', YMD ='j F Y', YM ='F Y', MD ='F j', Y ='Y', M ='F' }, ['th-form'] = { YMDHMS='j F "พ.ศ." xkY, H:i:s', YMDHM ='j F "พ.ศ." xkY, H:i', YMD ='j F "พ.ศ." xkY', YM ='F "พ.ศ." xkY', MD ='j F', Y ='"พ.ศ." xkY', M ='F' }, ['fi-form'] = { YMDHMS='j. F"ta" Y, H:i:s', YMDHM ='j. F"ta" Y, H:i', YMD ='j. F"ta" Y', YM ='F Y', MD ='j. F"ta"', Y ='Y', M ='F' }, ['es-form'] = { YMDHMS='j "de" F "de" Y, H:i:s', YMDHM ='j "de" F "de" Y, H:i', YMD ='j "de" F "de" Y', YM ='F "de" Y', MD ='j "de" F', Y ='Y', M ='F' }, ['oc-form'] = { YMDHMS='j F "de" Y, H:i:s', YMDHM ='j F "de" Y, H:i', YMD ='j F "de" Y', YM ='F "de" Y', MD ='j F', Y ='Y', M ='F' }, ['ia-form'] = { YMDHMS='j "de" F Y, H:i:s', YMDHM ='j "de" F Y, H:i', YMD ='j "de" F Y', YM ='F Y', MD ='j "de" F', Y ='Y', M ='F' }, ['eo-form'] = { YMDHMS='"la" j"-a de" F Y, H:i:s', YMDHM ='"la" j"-a de" F Y, H:i', YMD ='"la" j"-a de" F Y', YM ='F Y', MD ='"la" j"-a de" F', Y ='Y', M ='F' }, ['vi-form'] = { YMDHMS='j F "năm" Y, H:i:s', YMDHM ='j F "năm" Y, H:i', YMD ='j F "năm" Y', YM ='F "năm" Y', MD ='j F', Y ='"năm" Y', M ='F' }, ['qu-form'] = { YMDHMS='j "ñiqin" F"pi" Y "watapi", H:i:s', YMDHM ='j "ñiqin" F"pi" Y "watapi", H:i', YMD ='j "ñiqin" F"pi" Y "watapi"', YM ='F"pi" Y "watapi"', MD ='j "ñiqin" F"pi"', Y ='Y', M ='F' }, ['qug-form'] = { YMDHMS='j "niki" F"pi" Y "watapi", H:i:s', YMDHM ='j "niki" F"pi" Y "watapi", H:i', YMD ='j "niki" F"pi" Y "watapi"', YM ='F"pi" Y "watapi"', MD ='j "niki" F"pi"', Y ='Y', M ='F' }, -- French and Gallic languages require different form for first day of the month and -- different for the other days ['fr-form'] = { YMDHMS='j F Y, H:i:s', YMDHM ='j F Y, H:i', YMD ='j F Y', YM ='F Y', MD ='j F', Y ='Y', M ='F' }, ['ga-form'] = { YMDHMS='j F Y, H:i:s', YMDHM ='j F Y, H:i', YMD ='j F Y', YM ='F Y', MD ='j F', Y ='Y', M ='F' }, ['fr-form1'] = { -- 1st of the month form YMDHMS='j"<sup>er</sup>" F Y, H:i:s', YMDHM ='j"<sup>er</sup>" F Y, H:i', YMD ='j"<sup>er</sup>" F Y', YM ='F Y', MD ='j"<sup>er</sup>" F', Y ='Y', M ='F' }, ['ga-form1'] = { -- 1st of the month form YMDHMS='j"<sup>ú</sup>" F Y, H:i:s', YMDHM ='j"<sup>ú</sup>" F Y, H:i', YMD ='j"<sup>ú</sup>" F Y', YM ='F Y', MD ='j"<sup>ú</sup>" F', Y ='Y', M ='F' }, -- day/month/year slavic languages ['ru-form'] = { YMDHMS='j xg Y, H:i:s', YMDHM ='j xg Y, H:i', YMD ='j xg Y', YM ='F Y', MD ='j xg', Y ='Y', M ='F' }, ['cs-form'] = { YMDHMS='j. xg Y, H:i:s', YMDHM ='j. xg Y, H:i', YMD ='j. xg Y', YM ='F Y', MD ='j. xg', Y ='Y', M ='F' }, ['sl-form'] = { YMDHMS='j. xg Y&nbsp;ob H.i.s', YMDHM ='j. xg Y&nbsp;ob H.i', YMD ='j. xg Y', YM ='F Y', MD ='j. xg', Y ='Y', M ='F' }, -- year/month/day languages ['zh-form'] = { YMDHMS='Y年Fj日, H:i:s', YMDHM ='Y年Fj日, H:i', YMD ='Y年Fj日', YM ='Y年F', MD ='Fj日', Y ='Y年', M ='F' }, ['ko-form'] = { YMDHMS='Y년 F j일, H:i:s', YMDHM ='Y년 F j일, H:i', YMD ='Y년 F j일', YM ='Y년 F', MD ='F j일', Y ='Y년', M ='F' }, ['hu-form'] = { YMDHMS='Y. F j., H:i:s', YMDHM ='Y. F j., H:i', YMD ='Y. F j.', YM ='Y. F', MD ='F j.', Y ='Y', M ='F' }, ['lt-form'] = { YMDHMS='Y "m". F j "d"., H:i:s', YMDHM ='Y "m". F j "d"., H:i', YMD ='Y "m". F j "d".', YM ='Y "m". F', MD ='F j "d".', Y ='Y "m".', M ='F' }, -- year/day/month languages ['lv-form'] = { YMDHMS='Y". gada" j. F, H:i:s', YMDHM ='Y". gada" j. F, H:i', YMD ='Y". gada" j. F', YM ='Y". gada" F', MD ='j. F', Y ='Y". gada"', M ='F' }, -- month/day/year languages ['bn-form'] = { YMDHMS='F j, Y, H:i:s', YMDHM ='F j, Y, H:i', YMD ='F j, Y', YM ='F, Y', MD ='F j', Y ='Y', M ='F' }, ['bpy-form']= { YMDHMS='F j, মারি Y, H:i:s', YMDHM ='F j, মারি Y, H:i', YMD ='F j, মারি Y', YM ='F, মারি Y', MD ='F j', Y ='মারি Y', M ='F' }, ['mr-form'] = { YMDHMS='F j, इ.स. Y, H:i:s', YMDHM ='F j, इ.स. Y, H:i', YMD ='F j, इ.स. Y', YM ='F, इ.स. Y', MD ='F j', Y ='इ.स. Y', M ='F' }, ['new-form']= { YMDHMS='F j, ई सं Y, H:i:s', YMDHM ='F j, ई सं Y, H:i', YMD ='F j, ई सं Y', YM ='F, ई सं Y', MD ='F j', Y ='ई सं Y', M ='F' }, } return p jl2xcasgqtb79tv6z4hd8jcn0870bej Module:I18n/wikidata 828 3315 36502 2025-12-15T17:27:34Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'return { ["trackingcat"] = "Σελίδα που χρησιμοποιεί δεδομένα των Wikidata", -- DON'T TRANSLATE -- SPECIAL VALUES ["novalue"] = { ar = "غير قابل للتطبيق", cs = "nelze použít", el = "δεν ισχύει", en = "not applicable", fr = "pas applicable", nl = "niet van toepassing", ['pt-br'] = "não aplicável", }, ["somevalue"] = { ar = "غير معروف", cs = "neznámé", el = "...' 36502 Scribunto text/plain return { ["trackingcat"] = "Σελίδα που χρησιμοποιεί δεδομένα των Wikidata", -- DON'T TRANSLATE -- SPECIAL VALUES ["novalue"] = { ar = "غير قابل للتطبيق", cs = "nelze použít", el = "δεν ισχύει", en = "not applicable", fr = "pas applicable", nl = "niet van toepassing", ['pt-br'] = "não aplicável", }, ["somevalue"] = { ar = "غير معروف", cs = "neznámé", el = "άγνωστη τιμή", en = "unknown", fr = "inconnu", nl = "onbekend", ['pt-br'] = "desconhecido", }, -- MISSING DATA ["no-label"] = { ar = "بدون تسمية", cs = "bez štítku", el = "χωρίς ετικέτα", en = "no label", fr = "pas de libellé", nl = "geen label", ['pt-br'] = "sem rótulo", }, ["no description"] = { ar = "بدون وصف", cs = "bez popisu", el = "χωρίς περιγραφή", en = "no description", fr = "pas de description", nl = "geen omschrijving", ['pt-br'] = "sem descrição", }, -- ERRORS ["property-param-not-provided"] = { -- MERGE WITH qualifier-param-not-provided ar = "وسائط الخاصية غير موجودة", cs = "chybí parametr „property“", en = "'property' parameter missing", fr = "paramètre 'property' manquant", nl = "parameter 'property' ontbreekt", ['pt-br'] = "parâmetro 'property' em falta", }, ["qualifier-param-not-provided"] = { ar = "وسائط التصانيف غير موجودة", cs = "chybí parametr „qualifier“", en = "'qualifier' parameter missing", fr = "paramètre 'qualifier' manquant", nl = "parameter 'qualifier' ontbreekt", ['pt-br'] = "parâmetro 'qualificador' em falta", }, ["entity-not-found"] = { ar = "بدون إدخال", cs = "entita nenalezena", en = "entity not found", fr = "entité non trouvée", nl = "entiteit niet gevonden", ['pt-br'] = "entidade não encontrada", }, ["unknown-claim-type"] = { ar = "نوع الإدعاء غير معروف", cs = "neznámý typ tvrzení", en = "unknown claim type", fr = "type d'affirmation inconnu", nl = "onbekend type claim", ['pt-br'] = "tipo de afirmação desconhecida", }, ["unknown-snak-typeg"] = { ar = "نوع الكلام غير معروف", cs = "neznámý typ snaku", en = "unknown snak type", fr = "type de snak inconnu", nl = "onbekend snaktype", ['pt-br'] = "tipo de conector (''snak'') desconhecido", }, ["unknown-datavalue-type"] = { ar = "نوع قيم البيانات غير معروف.", cs = "neznámý typ datové hodnoty", en = "unknown datavalue type.", fr = "type de donnée inconnu.", nl = "onbekend type gegevenswaarde.", ['pt-br'] = "tipo de dado desconhecido.", }, ["unknown-entity-type"] = { ar = "نوع الإدخال غير معروف", cs = "neznámý typ entity", en = "unknown entity type", fr = "type d'entité inconnu", nl = "onbekend type entiteit", ['pt-br'] = "tipo de entidade desconhecida", }, ["invalid-id"] = { ar = "المُعرف غير صحيح", cs = "neplatné ID", en = "invalid ID", fr = "identifiant inconnu", nl = "onbekend identificatienummer", ['pt-br'] = "identificador inválido", }, } kb9n67553g70ice0tnfdl57err2k2h6 Module:I18n/ordinal 828 3316 36503 2025-12-15T17:28:26Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} --[[ Different languages use different schemes for ordinals, and some of these schemes are shared between languages. "SchemeFromLang" picks an ordinal scheme based on a specified language. All unlisted languages default to the "period-scheme", i.e. "104." is the ordinal for the value "104". Languages will follow the regular language fallback chain. For example, "de-formal" would fallback to scheme for "de", and only if that does n...' 36503 Scribunto text/plain local p = {} --[[ Different languages use different schemes for ordinals, and some of these schemes are shared between languages. "SchemeFromLang" picks an ordinal scheme based on a specified language. All unlisted languages default to the "period-scheme", i.e. "104." is the ordinal for the value "104". Languages will follow the regular language fallback chain. For example, "de-formal" would fallback to scheme for "de", and only if that does not exist would the "period-scheme" be used. ]] p.SchemeFromLang = { ['bn'] = 'bn-scheme', -- Bengali ['br'] = 'br-scheme', -- Breton ['cs'] = 'period-scheme', -- Czech ['da'] = 'period-scheme', -- Danish ['de'] = 'period-scheme', -- German ['el'] = 'el-scheme', -- Greek ['en'] = 'en-scheme', -- English ['eo'] = 'eo-scheme', -- Esperanto ['es'] = 'es-scheme', -- Spanish ['et'] = 'period-scheme', -- Estonian ['fa'] = 'fa-scheme', -- Persian ['fi'] = 'period-scheme', -- Finnish ['fr'] = 'fr-scheme', -- French ['hr'] = 'period-scheme', -- Croatian ['hu'] = 'period-scheme', -- Hungarian ['hy'] = 'hy-scheme', -- Armenian ['ia'] = 'ia-scheme', -- Interlingua ['it'] = 'romance-scheme', -- Italian ['ja'] = 'ja-scheme', -- Japanese ['km'] = 'km-scheme', -- Khmer ['ko'] = 'ko-scheme', -- Korean ['la'] = 'la-scheme', -- Latin ['lo'] = 'lo-scheme', -- Laothian ['mk'] = 'mk-scheme', -- Macedonian ['ml'] = 'ml-scheme', -- Malayalam ['ms'] = 'ms-scheme', -- Malay ['nds'] = 'period-scheme', -- Low German ['nl'] = 'nl-scheme', -- Dutch ['no'] = 'no-scheme', -- Norwegian ['pl'] = 'pl-scheme', -- Polish ['pt'] = 'romance-scheme', -- Portuguese ['ru'] = 'ru-scheme', -- Russian ['sk'] = 'period-scheme', -- Slovak ['sl'] = 'period-scheme', -- Slovene ['sv'] = 'sv-scheme', -- Swedish ['th'] = 'th-scheme', -- Thai ['zh'] = 'zh-scheme', -- Chinese } --[[ Text used to internationalize the various schemes. Styles are supported by suffixing "/style" to key. Styles that are superscripted set "superscript" to true. Scheme set was developed to match the output of the pre-Lua {{Ordinal}} template, preserved as {{Ordinal/old}} ]] p.Scheme = { -- the null scheme, i.e. just the number ['null-scheme'] = { }, -- the period scheme, i.e. "<value>." used for at least: cs, de, fi, hu ['period-scheme'] = { rules = 'suffix', suffix = '.' }, -- the English scheme, i.e. "1st", "2nd", "3rd", "4th". ['en-scheme'] = { rules = 'skip-tens', superscript = true, suffix = 'th', suffix_1 = 'st', suffix_2 = 'nd', suffix_3 = 'rd', }, -- the English scheme using the "d" style, i.e. "23d". ['en-scheme/d'] = { rules = 'suffix', suffix = 'd' }, -- Bengali ['bn-scheme'] = { rules = 'mod10-suffix', superscript = true, suffix_0 = 'ম', suffix_1 = 'ম', suffix_2 = 'য়', suffix_3 = 'য়', suffix_4 = 'র্থ়', suffix_5 = 'ম', suffix_6 = 'ষ্ঠ', suffix_7 = 'ম', suffix_8 = 'ম', suffix_9 = 'ম', }, -- Breton ['br-scheme'] = { rules = 'suffix', suffix = '-vet', formatlang = 'eo' -- pre-Lua {{Ordinal}} template used "eo" number formatting for "br" ordinals }, -- Greek ['el-scheme'] = { rules = 'gendered-suffix', suffix = 'ος', suffix_m = 'ος', suffix_f = 'η', suffix_n = 'ο', }, -- Esperanto ['eo-scheme'] = { rules = 'suffix', suffix = '-a', }, -- Romance (Italian, Portuguese) ['romance-scheme'] = { rules = 'gendered-suffix', superscript = true, period = false, suffix = 'o', suffix_m = 'o', suffix_f = 'a', suffix_n = 'o', }, -- Spanish ['es-scheme'] = { rules = 'gendered-suffix', superscript = true, period = true, suffix = 'o', suffix_m = 'o', suffix_f = 'a', suffix_n = 'o', }, -- Persian ['fa-scheme'] = { rules = 'suffix', suffix = 'م', }, -- French ['fr-scheme'] = { rules = 'gendered-suffix-one', superscript = true, suffix = 'e', suffix_1 = 'e', suffix_1_m = 'er', suffix_1_f = 're', suffix_1_n = 'e', }, -- the French scheme using the "roman" style ("roman year" is a supported alias for "roman") ['fr-scheme/roman'] = { rules = 'gendered-suffix-one', superscript = true, suffix = 'e', suffix_1 = 'e', suffix_1_m = 'er', suffix_1_f = 're', suffix_1_n = 'е', formatlang = 'roman' }, -- Armenian ['hy-scheme'] = { rules = 'suffix-one', suffix = '-րդ', suffix_1 = '-ին', }, -- Interlingua ['ia-scheme'] = { rules = 'mod10-suffix', superscript = true, suffix_0 = 'te', suffix_1 = 'me', suffix_2 = 'nde', suffix_3 = 'tie', suffix_4 = 'te', suffix_5 = 'te', suffix_6 = 'te', suffix_7 = 'me', suffix_8 = 've', suffix_9 = 'ne', }, -- Khmer ['km-scheme'] = { rules = 'prefix', prefix = 'ទ', }, -- Japanese -- this is for the adjective in undetermined order before noun; otherwise Japanese use: <cardinal number><noun>目 ['ja-scheme'] = { rules = 'prefix', prefix = '第', }, -- Latin ['la-scheme'] = { rules = 'suffix', superscript = true, suffix = 'o', formatlang = 'roman' }, -- Laothian ['lo-scheme'] = { rules = 'prefix', prefix = 'ທີ່', }, -- Korean ['ko-scheme'] = { rules = 'suffix', suffix = '째', }, -- Macedonian ['mk-scheme'] = { rules = 'mod10-suffix', suffix_0 = '-тиот', suffix_1 = '-виот', suffix_2 = '-риот', suffix_3 = '-иот', suffix_4 = '-иот', suffix_5 = '-тиот', suffix_6 = '-иот', suffix_7 = '-миот', suffix_8 = '-миот', suffix_9 = '-тиот', }, -- Malayalam ['ml-scheme'] = { rules = 'suffix', suffix = '-മത്തെ', }, -- Malay ['ms-scheme'] = { rules = 'prefix', prefix = 'ke-', }, -- Dutch ['nl-scheme'] = { rules = 'suffix', suffix = 'e', }, --Norwegian ['no-scheme'] = { rules = 'skip-tens', superscript = true, suffix = 'de', suffix_1 = 'ste', suffix_2 = 'dre', suffix_3 = 'dje', suffix_5 = 'te', suffix_6 = 'te', }, -- Polish ['pl-scheme'] = { rules = 'mod10-gendered-suffix-skip-tens', suffix = '-ty', suffix_f = '-ta', suffix_n = '-te', suffix_1 = '-szy', suffix_1_f = '-sza', suffix_1_n = '-sze', suffix_2 = '-gi', suffix_2_f = '-ga', suffix_2_n = '-gie', suffix_3 = '-ci', suffix_3_f = '-cia', suffix_3_n = '-cie', suffix_7 = '-my', suffix_7_f = '-ma', suffix_7_n = '-me', suffix_8 = '-my', suffix_8_f = '-ma', suffix_8_n = '-me', }, -- Russian ['ru-scheme'] = { rules = 'gendered-suffix', suffix = '-й', suffix_m = '-й', suffix_f = '-я', suffix_n = '-е', }, -- Swedish ['sv-scheme'] = { rules = 'skip-tens', suffix = ':e', suffix_1 = ':a', suffix_2 = ':a', }, ['th-scheme'] = { rules = 'prefix', prefix = 'ที่', }, ['zh-scheme'] = { rules = 'prefix', prefix = '第', }, } return p sopeihbjdavnnkzd6qk1j8zro3oofax Module:ISOdate 828 3317 36504 2025-12-15T17:29:37Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--[[ __ __ _ _ ___ ____ ___ _ _ | \/ | ___ __| |_ _| | ___ _|_ _/ ___| / _ \ __| | __ _| |_ ___ | |\/| |/ _ \ / _` | | | | |/ _ (_)| |\___ \| | | |/ _` |/ _` | __/ _ \ | | | | (_) | (_| | |_| | | __/_ | | ___) | |_| | (_| | (_| | || __/ |_| |_|\___/ \__,_|\__,_|_|\___(_)___|____/ \___/ \__,_|\__,_|\__\___| This module is intended for processing of date strings. Please do not mod...' 36504 Scribunto text/plain --[[ __ __ _ _ ___ ____ ___ _ _ | \/ | ___ __| |_ _| | ___ _|_ _/ ___| / _ \ __| | __ _| |_ ___ | |\/| |/ _ \ / _` | | | | |/ _ (_)| |\___ \| | | |/ _` |/ _` | __/ _ \ | | | | (_) | (_| | |_| | | __/_ | | ___) | |_| | (_| | (_| | || __/ |_| |_|\___/ \__,_|\__,_|_|\___(_)___|____/ \___/ \__,_|\__,_|\__\___| This module is intended for processing of date strings. Please do not modify this code without applying the changes first at Module:ISOdate/sandbox and testing at Module:ISOdate/sandbox/testcases and Module talk:ISOdate/sandbox/testcases. Authors and maintainers: * User:Parent5446 - original version of the function mimicking template:ISOdate * User:Jarekt - original version of the functions mimicking template:Date and template:ISOyear ]] local p = {} -- ======================================= -- === Dependencies ====================== -- ======================================= local D = require('Module:DateI18n') --[[ ISOyear This function returns year part of date string. Usage: {{#invoke:ISOdate|ISOyear|target_string}} Parameters 1: The date string Error Handling: If the string does not look like it contain the year than the function will not return anything. That is the preferred treatment for the template:Creator which is the main (only?) template calling it. ]] function p.ISOyear( frame ) return p._ISOyear( frame.args[1] ) end function p._ISOyear( input ) if not input then return '' end input = mw.text.trim( input ) -- if empty string then return it if input == "" then return input end -- if number then return it if tonumber( input ) then return mw.ustring.format( '%04i', input ) end -- otherwise use regular expression match input = mw.ustring.match( input, '^+?(-?%d%d?%d?%d?)-' ) if input and tonumber( input ) then return mw.ustring.format( '%04i', input ) else return '' end end --[[ ISOdate This function is the core part of the ISOdate template. Usage: {{#invoke:ISOdate|ISOdate|target_string|lang=}} Parameters: 1: The date string lang: The language to display it in form: Language format (genitive, etc.) for some languages class: CSS class for the <time> node Error Handling: If the string does not look like it contain the proper ISO date than the function will return the original string. That is the preferred treatment for the template:Information (and similar templates) which calling it. ]] function p.ISOdate(frame) local datestr, succeded local args = frame.args if not (args.lang and mw.language.isSupportedLanguage(args.lang)) then args.lang = frame:callParserFunction( "int", "lang" ) -- get user's chosen language end datestr, succeded = p._ISOdate( mw.text.trim(args[1]), args.lang, -- language args.case or '', -- allows to specify grammatical case for the month for languages that use them args.class or 'dtstart', -- allows to set the html class of the time node where the date is included. args.trim_year or '100-999' -- by default pad one and 2 digit years to be 4 digit long, while keeping 3 digit years as is ) return datestr end function p._ISOdate(datestr, lang, case, class, trim_year) -- pattern: regexp - regular expresion to test; dlen - number of date elements; tail = which element is a "tail" if any -- regexp hints: -- 1) Strings starting with "^" and ending with "$" indicate whole string match -- 2) optional tail part copied as-is and following the main parsed part of the date have to be separated from the date by a whitespace, so "(\s.+)?" local patterns = { -- strings starting with YYYY-MM-DD HH:MM:SS. Year 4 digits (if we know seconds than it was within the last 100 years), the rest 1-2 -- date and time can be separated by space or "T" and there could be a "Z" on the end indicating "Zulu" time zone {dlen=6, tail=7, regexp="^+?(%d%d%d%d)-(%d%d?)-(%d%d?)[ T](%d%d?):(%d%d?):(%d%d?)Z?(%s.*)"}, {dlen=6, tail=0, regexp="^+?(%d%d%d%d)-(%d%d?)-(%d%d?)[ T](%d%d?):(%d%d?):(%d%d?)Z?$"}, -- strings starting with YYYY-MM-DD HH:MM. Year 4 digits, the rest 1-2 -- (if one knows hour and minute than it was probably after a year 1000) {dlen=5, tail=6, regexp="^+?(%d%d%d%d)-(%d%d?)-(%d%d?)[ T](%d%d?):(%d%d?)(%s.+)"}, {dlen=5, tail=0, regexp="^+?(%d%d%d%d)-(%d%d?)-(%d%d?)[ T](%d%d?):(%d%d?)$"}, -- strings starting with YYYY-MM-DD. Year 1-4 digits, the rest 1-2 {dlen=3, tail=4, regexp="^+?(%d%d?%d?%d?)-(%d%d?)-(%d%d?)(%s.+)"}, {dlen=3, tail=0, regexp="^+?(%d%d?%d?%d?)-(%d%d?)-(%d%d?)$"}, -- strings starting with YYYY-MM. Year 3-4 digits, month 2 digits -- (want to avoit converting to dates strings like 10-5 = 5 {dlen=2, tail=3, regexp="^+?(%d%d%d%d?)-(%d%d)(%s.+)"}, -- if whole string is in YYYY-MM form: If Year 1-4 digits, month 1-2 digits {dlen=2, tail=0, regexp="^+?(%d%d?%d?%d?)-(%d%d?)$"}, -- string starts with a number -> it has to be 3 or 4 digit long to be a year {dlen=1, tail=2, regexp="^+?(%d%d%d%d?)(%s.+)"}, -- if whole string is a number (1-4 digit long) than it will be interpreted as a year {dlen=1, tail=0, regexp="^+?(%d%d?%d?%d?)$"}, } -- create datevec based on which variables are provided local datevec, tail, formatNum datevec, tail, formatNum = p.test_date_formats(datestr or '', patterns) if datevec[1]=='' or datevec[1]==nil then -- quickly return if datestr does not look like date (it could be a template) return datestr, false end -- call p._Date function to format date string local succeded, datestr2 succeded, datestr2 = pcall( D._Date, datevec, lang, case, class, trim_year) if succeded and datestr2~='' then return mw.text.trim( datestr2 .. tail), true else -- in case of errors return the original string return datestr, false end end function p.ISOdate_extended(frame) -- pattern: regexp - regular expresion to test; dlen - number of date elements; tail = which element is a "tail" if any -- regexp hints: -- 1) Strings starting with "^" and ending with "$" indicate whole string match -- 2) optional tail part copied as-is and following the main parsed part of the date have to be separated from the date by a whitespace, so "(\s.+)?" local datestr, succeded local args = frame.args if not (args.lang and mw.language.isSupportedLanguage(args.lang)) then args.lang = frame:callParserFunction( "int", "lang" ) -- get user's chosen language end datestr, succeded = p._ISOdate( mw.text.trim(args[1]), args.lang, -- language args.case or '', -- allows to specify grammatical case for the month for languages that use them args.class or 'dtstart', -- allows to set the html class of the time node where the date is included. args.trim_year or '100-999' -- by default pad one and 2 digit years to be 4 digit long, while keeping 3 digit years as is ) if succeded then return datestr end local patterns = { -- Exended set of recognized formats: like MM/DD/YYYY {dlen=3, tail=4, regexp="^(%d%d?)[-./](%d%d?)[-./](%d%d%d%d)(%s.+)"}, {dlen=3, tail=0, regexp="^(%d%d?)[-./](%d%d?)[-./](%d%d%d%d)$"}, {dlen=3, tail=0, regexp="^(%d%d?)%s(%w+)%s(%d%d%d%d)$"}, {dlen=3, tail=0, regexp="^(%w+)%s(%d%d?),%s(%d%d%d%d)$"}, } local datevec, tail, formatNum, category = '' datevec, tail, formatNum = p.test_date_formats(frame.args[1], patterns) if formatNum==1 or formatNum==2 then vec = datevec; if tonumber(datevec[1])>12 then frame.args[1] = string.format('%04i-%02i-%02i', datevec[3], datevec[2], datevec[1] ) category = '[[Category:Date in DD/MM/YYYY format]]' return mw.text.trim( p.ISOdate(frame) .. tail); elseif tonumber(datevec[2])>12 then frame.args[1] = string.format('%04i-%02i-%02i', datevec[3], datevec[1], datevec[2] ) category = '[[Category:Date in MM/DD/YYYY format]]' return mw.text.trim( p.ISOdate(frame) .. tail); end elseif (formatNum==3 or formatNum==4) and (datevec[3]=='' or datevec[3]~=nil) then local str = mw.getCurrentFrame():callParserFunction( "#time", { 'Y-m-d', datestr} ) local vec = {str:match( "^(%d%d?%d?%d?)-(%d%d?)-(%d%d?)$" )} if vec and vec[1]~=nil then frame.args[1] = string.format('%04i-%02i-%02i', vec[1], vec[2], vec[3] ) category = '[[Category:Date in word format]]' return p.ISOdate(frame); end end return datestr end function p.test_date_formats(datestr, patterns) -- pattern: regexp - regular expresion to test; dlen - number of date elements; tail = which element is a "tail" if any local datevec = {'','','','','',''} local tail = '' local vec, pat local formatNum = 0 for i, pat in ipairs( patterns ) do vec = {datestr:match( pat.regexp )} if vec and vec[1]~=nil then for j=1,pat.dlen do datevec[j] = vec[j] end if pat.tail>0 and vec[pat.tail]~=nil then tail = mw.ustring.gsub(' ' .. vec[pat.tail], ' +', ' ') end formatNum = i break end end return datevec, tail, formatNum end return p 8au9sz1r45o542osy5nbgpcaj9hca0m Module:String 828 3318 36505 2025-12-15T17:30:31Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to '...' 36505 Scribunto text/plain --[[ This module is intended to provide access to basic string functions. Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. Global options ignore_errors: If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message. error_category: If an error occurs, specifies the name of a category to include with the error message. The default category is [Category:Errors reported by Module String]. no_category: If set to 'true' or 1, no category will be added if an error is generated. Unit tests for this module are available at Module:String/tests. ]] local str = {} --[[ len This function returns the length of the target string. Usage: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}} Parameters s: The string whose length to report If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. ]] function str.len( frame ) local new_args = str._getParameters( frame.args, {'s'} ) local s = new_args['s'] or '' return mw.ustring.len( s ) end --[[ sub This function returns a substring of the target string at specified indices. Usage: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}} Parameters s: The string to return a subset of i: The fist index of the substring to return, defaults to 1. j: The last index of the string to return, defaults to the last character. The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. If the requested indices are out of range for the given string, an error is reported. ]] function str.sub( frame ) local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } ) local s = new_args['s'] or '' local i = tonumber( new_args['i'] ) or 1 local j = tonumber( new_args['j'] ) or -1 local len = mw.ustring.len( s ) -- Convert negatives for range checking if i < 0 then i = len + i + 1 end if j < 0 then j = len + j + 1 end if i > len or j > len or i < 1 or j < 1 then return str._error( 'String subset index out of range' ) end if j < i then return str._error( 'String subset indices out of order' ) end return mw.ustring.sub( s, i, j ) end --[[ This function implements that features of {{str sub old}} and is kept in order to maintain these older templates. ]] function str.sublength( frame ) local i = tonumber( frame.args.i ) or 0 local len = tonumber( frame.args.len ) return mw.ustring.sub( frame.args.s, i + 1, len and ( i + len ) ) end --[[ _match This function returns a substring from the source string that matches a specified pattern. It is exported for use in other modules Usage: strmatch = require("Module:String")._match sresult = strmatch( s, pattern, start, match, plain, nomatch ) Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] -- This sub-routine is exported for use in other modules function str._match( s, pattern, start, match_index, plain_flag, nomatch ) if s == '' then return str._error( 'Target string is empty' ) end if pattern == '' then return str._error( 'Pattern string is empty' ) end start = tonumber(start) or 1 if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then return str._error( 'Requested start is out of range' ) end if match_index == 0 then return str._error( 'Match index is out of range' ) end if plain_flag then pattern = str._escapePattern( pattern ) end local result if match_index == 1 then -- Find first match is simple case result = mw.ustring.match( s, pattern, start ) else if start > 1 then s = mw.ustring.sub( s, start ) end local iterator = mw.ustring.gmatch(s, pattern) if match_index > 0 then -- Forward search for w in iterator do match_index = match_index - 1 if match_index == 0 then result = w break end end else -- Reverse search local result_table = {} local count = 1 for w in iterator do result_table[count] = w count = count + 1 end result = result_table[ count + match_index ] end end if result == nil then if nomatch == nil then return str._error( 'Match not found' ) else return nomatch end else return result end end --[[ match This function returns a substring from the source string that matches a specified pattern. Usage: {{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}} OR {{#invoke:String|match|s=source_string|pattern=pattern_string|start=start_index |match=match_number|plain=plain_flag|nomatch=nomatch_output}} Parameters s: The string to search pattern: The pattern or string to find within the string start: The index within the source string to start the search. The first character of the string has index 1. Defaults to 1. match: In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1. plain: A flag indicating that the pattern should be understood as plain text. Defaults to false. nomatch: If no match is found, output the "nomatch" value rather than an error. If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from each string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. For information on constructing Lua patterns, a form of [regular expression], see: * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] -- This is the entry point for #invoke:String|match function str.match( frame ) local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} ) local s = new_args['s'] or '' local start = tonumber( new_args['start'] ) or 1 local plain_flag = str._getBoolean( new_args['plain'] or false ) local pattern = new_args['pattern'] or '' local match_index = math.floor( tonumber(new_args['match']) or 1 ) local nomatch = new_args['nomatch'] return str._match( s, pattern, start, match_index, plain_flag, nomatch ) end --[[ pos This function returns a single character from the target string at position pos. Usage: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}} Parameters target: The string to search pos: The index for the character to return If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the target string. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. The first character has an index value of 1. If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. A requested value of zero, or a value greater than the length of the string returns an error. ]] function str.pos( frame ) local new_args = str._getParameters( frame.args, {'target', 'pos'} ) local target_str = new_args['target'] or '' local pos = tonumber( new_args['pos'] ) or 0 if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then return str._error( 'String index out of range' ) end return mw.ustring.sub( target_str, pos, pos ) end --[[ str_find This function duplicates the behavior of {{str_find}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separatetly. ]] function str.str_find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target'} ) local source_str = new_args['source'] or '' local target_str = new_args['target'] or '' if target_str == '' then return 1 end local start = mw.ustring.find( source_str, target_str, 1, true ) if start == nil then start = -1 end return start end --[[ find This function allows one to search for a target string or pattern within another string. Usage: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}} Parameters source: The string to search target: The string or pattern to find within source start: The index within the source string to start the search, defaults to 1 plain: Boolean flag indicating that target should be understood as plain text and not as a Lua style regular expression, defaults to true If invoked using named parameters, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. In some circumstances this is desirable, in other cases one may want to preserve the whitespace. This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. This function should be safe for UTF-8 strings. ]] function str.find( frame ) local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } ) local source_str = new_args['source'] or '' local pattern = new_args['target'] or '' local start_pos = tonumber(new_args['start']) or 1 local plain = new_args['plain'] or true if source_str == '' or pattern == '' then return 0 end plain = str._getBoolean( plain ) local start = mw.ustring.find( source_str, pattern, start_pos, plain ) if start == nil then start = 0 end return start end --[[ replace This function allows one to replace a target string or pattern within another string. Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string| count=replacement_count|plain=plain_flag}} Parameters source: The string to search pattern: The string or pattern to find within source replace: The replacement text count: The number of occurences to replace, defaults to all. plain: Boolean flag indicating that pattern should be understood as plain text and not as a Lua style regular expression, defaults to true ]] function str.replace( frame ) local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } ) local source_str = new_args['source'] or '' local pattern = new_args['pattern'] or '' local replace = new_args['replace'] or '' local count = tonumber( new_args['count'] ) local plain = new_args['plain'] or true if source_str == '' or pattern == '' then return source_str end plain = str._getBoolean( plain ) if plain then pattern = str._escapePattern( pattern ) replace = mw.ustring.gsub( replace, "%%", "%%%%" ) --Only need to escape replacement sequences. end local result if count ~= nil then result = mw.ustring.gsub( source_str, pattern, replace, count ) else result = mw.ustring.gsub( source_str, pattern, replace ) end return result end --[[ simple function to pipe string.rep to templates. ]] function str.rep( frame ) local repetitions = tonumber( frame.args[2] ) if not repetitions then return str._error( 'function rep expects a number as second parameter, received "' .. ( frame.args[2] or '' ) .. '"' ) end return string.rep( frame.args[1] or '', repetitions ) end --[[ escapePattern This function escapes special characters from a Lua string pattern. See [1] for details on how patterns work. [1] https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns Usage: {{#invoke:String|escapePattern|pattern_string}} Parameters pattern_string: The pattern string to escape. ]] function str.escapePattern( frame ) local pattern_str = frame.args[1] if not pattern_str then return str._error( 'No pattern string specified' ) end local result = str._escapePattern( pattern_str ) return result end --[[ count This function counts the number of occurrences of one string in another. ]] function str.count(frame) local args = str._getParameters(frame.args, {'source', 'pattern', 'plain'}) local source = args.source or '' local pattern = args.pattern or '' local plain = str._getBoolean(args.plain or true) if plain then pattern = str._escapePattern(pattern) end local _, count = mw.ustring.gsub(source, pattern, '') return count end --[[ endswith This function determines whether a string ends with another string. ]] function str.endswith(frame) local args = str._getParameters(frame.args, {'source', 'pattern'}) local source = args.source or '' local pattern = args.pattern or '' if pattern == '' then -- All strings end with the empty string. return "yes" end if mw.ustring.sub(source, -mw.ustring.len(pattern), -1) == pattern then return "yes" else return "" end end --[[ join Join all non empty arguments together; the first argument is the separator. Usage: {{#invoke:String|join|sep|one|two|three}} ]] function str.join(frame) local args = {} local sep for _, v in ipairs( frame.args ) do if sep then if v ~= '' then table.insert(args, v) end else sep = v end end return table.concat( args, sep or '' ) end --[[ Helper function that populates the argument list given that user may need to use a mix of named and unnamed parameters. This is relevant because named parameters are not identical to unnamed parameters due to string trimming, and when dealing with strings we sometimes want to either preserve or remove that whitespace depending on the application. ]] function str._getParameters( frame_args, arg_list ) local new_args = {} local index = 1 local value for _, arg in ipairs( arg_list ) do value = frame_args[arg] if value == nil then value = frame_args[index] index = index + 1 end new_args[arg] = value end return new_args end --[[ Helper function to handle error messages. ]] function str._error( error_str ) local frame = mw.getCurrentFrame() local error_category = frame.args.error_category or 'Errors reported by Module String' local ignore_errors = frame.args.ignore_errors or false local no_category = frame.args.no_category or false if str._getBoolean(ignore_errors) then return '' end local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>' if error_category ~= '' and not str._getBoolean( no_category ) then error_str = '[[Category:' .. error_category .. ']]' .. error_str end return error_str end --[[ Helper Function to interpret boolean strings ]] function str._getBoolean( boolean_str ) local boolean_value if type( boolean_str ) == 'string' then boolean_str = boolean_str:lower() if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' or boolean_str == '' then boolean_value = false else boolean_value = true end elseif type( boolean_str ) == 'boolean' then boolean_value = boolean_str else error( 'No boolean value found' ) end return boolean_value end --[[ Helper function that escapes all pattern characters so that they will be treated as plain text. ]] function str._escapePattern( pattern_str ) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ) end return str cufmbepw7ml3gut4lchtqrhtj5r63cp Module:String2 828 3319 36506 2025-12-15T17:31:53Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} p.trim = function(frame) return mw.text.trim(frame.args[1] or "") end p.sentence = function (frame) -- {{lc:}} is strip-marker safe, string.lower is not. frame.args[1] = frame:callParserFunction('lc', frame.args[1]) return p.ucfirst(frame) end p.ucfirst = function (frame ) local s = mw.text.trim( frame.args[1] or "" ) local s1 = "" -- if it's a list chop off and (store as s1) everything up to the first <li> local lipos = mw...' 36506 Scribunto text/plain local p = {} p.trim = function(frame) return mw.text.trim(frame.args[1] or "") end p.sentence = function (frame) -- {{lc:}} is strip-marker safe, string.lower is not. frame.args[1] = frame:callParserFunction('lc', frame.args[1]) return p.ucfirst(frame) end p.ucfirst = function (frame ) local s = mw.text.trim( frame.args[1] or "" ) local s1 = "" -- if it's a list chop off and (store as s1) everything up to the first <li> local lipos = mw.ustring.find(s, "<li>" ) if lipos then s1 = mw.ustring.sub(s, 1, lipos + 3) s = mw.ustring.sub(s, lipos + 4) end -- s1 is either "" or the first part of the list markup, so we can continue -- and prepend s1 to the returned string local letterpos if mw.ustring.find(s, "^%[%[[^|]+|[^%]]+%]%]") then -- this is a piped wikilink, so we capitalise the text, not the pipe local _ _, letterpos = mw.ustring.find(s, "|%W*%w") -- find the first letter after the pipe else letterpos = mw.ustring.find(s, '%w') end if letterpos then local first = mw.ustring.sub(s, 1, letterpos - 1) local letter = mw.ustring.sub(s, letterpos, letterpos) local rest = mw.ustring.sub(s, letterpos + 1) return s1 .. first .. mw.ustring.upper(letter) .. rest else return s1 .. s end end p.title = function (frame ) -- http://grammar.yourdictionary.com/capitalization/rules-for-capitalization-in-titles.html -- recommended by The U.S. Government Printing Office Style Manual: -- "Capitalize all words in titles of publications and documents, -- except a, an, the, at, by, for, in, of, on, to, up, and, as, but, or, and nor." local alwayslower = {['a'] = 1, ['an'] = 1, ['the'] = 1, ['and'] = 1, ['but'] = 1, ['or'] = 1, ['for'] = 1, ['nor'] = 1, ['on'] = 1, ['in'] = 1, ['at'] = 1, ['to'] = 1, ['from'] = 1, ['by'] = 1, ['of'] = 1, ['up'] = 1 } local res = '' local s = mw.text.trim( frame.args[1] or "" ) local words = mw.text.split( s, " ") for i, s in ipairs(words) do -- {{lc:}} is strip-marker safe, string.lower is not. s = frame:callParserFunction('lc', s) if i == 1 or alwayslower[s] ~= 1 then s = mw.getContentLanguage():ucfirst(s) end words[i] = s end return table.concat(words, " ") end -- findlast finds the last item in a list -- the first unnamed parameter is the list -- the second, optional unnamed parameter is the list separator (default = comma space) -- returns the whole list if separator not found p.findlast = function(frame) local s = mw.text.trim( frame.args[1] or "" ) local sep = frame.args[2] or "" if sep == "" then sep = ", " end local pattern = ".*" .. sep .. "(.*)" local a, b, last = s:find(pattern) if a then return last else return s end end -- stripZeros finds the first number and strips leading zeros (apart from units) -- e.g "0940" -> "940"; "Year: 0023" -> "Year: 23"; "00.12" -> "0.12" p.stripZeros = function(frame) local s = mw.text.trim(frame.args[1] or "") local n = tonumber( string.match( s, "%d+" ) ) or "" s = string.gsub( s, "%d+", n, 1 ) return s end -- nowiki ensures that a string of text is treated by the MediaWiki software as just a string -- it takes an unnamed parameter and trims whitespace, then removes any wikicode p.nowiki = function(frame) local str = mw.text.trim(frame.args[1] or "") return mw.text.nowiki(str) end -- split splits text at boundaries specified by separator -- and returns the chunk for the index idx (starting at 1) -- #invoke:String2 |split |text |separator |index |true/false -- #invoke:String2 |split |txt=text |sep=separator |idx=index |plain=true/false -- if plain is false/no/0 then separator is treated as a Lua pattern - defaults to plain=true p.split = function(frame) local args = frame.args if not(args[1] or args.txt) then args = frame:getParent().args end local txt = args[1] or args.txt or "" if txt == "" then return nil end local sep = (args[2] or args.sep or ""):gsub('"', '') local idx = tonumber(args[3] or args.idx) or 1 local plain = (args[4] or args.plain or "true"):sub(1,1) plain = (plain ~= "f" and plain ~= "n" and plain ~= "0") local splittbl = mw.text.split( txt, sep, plain ) if idx < 0 then idx = #splittbl + idx + 1 end return splittbl[idx] end -- val2percent scans through a string, passed as either the first unnamed parameter or |txt= -- it converts each number it finds into a percentage and returns the resultant string. p.val2percent = function(frame) local args = frame.args if not(args[1] or args.txt) then args = frame:getParent().args end local txt = mw.text.trim(args[1] or args.txt or "") if txt == "" then return nil end local function v2p (x) x = (tonumber(x) or 0) * 100 if x == math.floor(x) then x = math.floor(x) end return x .. "%" end txt = txt:gsub("%d[%d%.]*", v2p) -- store just the string return txt end -- one2a scans through a string, passed as either the first unnamed parameter or |txt= -- it converts each occurrence of 'one ' into either 'a ' or 'an ' and returns the resultant string. p.one2a = function(frame) local args = frame.args if not(args[1] or args.txt) then args = frame:getParent().args end local txt = mw.text.trim(args[1] or args.txt or "") if txt == "" then return nil end txt = txt:gsub(" one ", " a "):gsub("^one", "a"):gsub("One ", "A "):gsub("a ([aeiou])", "an %1"):gsub("A ([aeiou])", "An %1") return txt end -- findpagetext returns the position of a piece of text in a page -- First positional parameter or |text is the search text -- Optional parameter |title is the page title, defaults to current page -- Optional parameter |plain is either true for plain search (default) or false for Lua pattern search -- Optional parameter |nomatch is the return value when no match is found; default is nil p._findpagetext = function(args) -- process parameters local nomatch = args.nomatch or "" if nomatch == "" then nomatch = nil end -- local text = mw.text.trim(args[1] or args.text or "") if text == "" then return nil end -- local title = args.title or "" local titleobj if title == "" then titleobj = mw.title.getCurrentTitle() else titleobj = mw.title.new(title) end -- local plain = args.plain or "" if plain:sub(1, 1) == "f" then plain = false else plain = true end -- get the page content and look for 'text' - return position or nomatch local content = titleobj and titleobj:getContent() return content and mw.ustring.find(content, text, 1, plain) or nomatch end p.findpagetext = function(frame) local args = frame.args local pargs = frame:getParent().args for k, v in pairs(pargs) do args[k] = v end if not (args[1] or args.text) then return nil end -- just the first value return (p._findpagetext(args)) end -- returns the decoded url. Inverse of parser function {{urlencode:val|TYPE}} -- Type is: -- QUERY decodes + to space (default) -- PATH does no extra decoding -- WIKI decodes _ to space p._urldecode = function(url, type) url = url or "" type = (type == "PATH" or type == "WIKI") and type return mw.uri.decode( url, type ) end -- {{#invoke:String2|urldecode|url=url|type=type}} p.urldecode = function(frame) return mw.uri.decode( frame.args.url, frame.args.type ) end -- what follows was merged from Module:StringFunc -- helper functions p._GetParameters = require('Module:GetParameters') -- Argument list helper function, as per Module:String p._getParameters = p._GetParameters.getParameters -- Escape Pattern helper function so that all characters are treated as plain text, as per Module:String function p._escapePattern( pattern_str) return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ) end -- Helper Function to interpret boolean strings, as per Module:String p._getBoolean = p._GetParameters.getBoolean --[[ Strip This function Strips characters from string Usage: {{#invoke:String2|strip|source_string|characters_to_strip|plain_flag}} Parameters source: The string to strip chars: The pattern or list of characters to strip from string, replaced with '' plain: A flag indicating that the chars should be understood as plain text. defaults to true. Leading and trailing whitespace is also automatically stripped from the string. ]] function p.strip( frame ) local new_args = p._getParameters( frame.args, {'source', 'chars', 'plain'} ) local source_str = new_args['source'] or '' local chars = new_args['chars'] or '' or 'characters' source_str = mw.text.trim(source_str) if source_str == '' or chars == '' then return source_str end local l_plain = p._getBoolean( new_args['plain'] or true ) if l_plain then chars = p._escapePattern( chars ) end local result result = mw.ustring.gsub(source_str, "["..chars.."]", '') return result end --[[ Match any Returns the index of the first given pattern to match the input. Patterns must be consecutively numbered. Returns the empty string if nothing matches for use in {{#if:}} Usage: {{#invoke:String2|matchAll|source=123 abc|456|abc}} returns '2'. Parameters: source: the string to search plain: A flag indicating that the patterns should be understood as plain text. defaults to true. 1, 2, 3, ...: the patterns to search for ]] function p.matchAny(frame) local source_str = frame.args['source'] or error('The source parameter is mandatory.') local l_plain = p._getBoolean( frame.args['plain'] or true ) for i = 1, math.huge do local pattern = frame.args[i] if not pattern then return '' end if mw.ustring.find(source_str, pattern, 1, l_plain) then return tostring(i) end end end --[[--------------------------< H Y P H E N _ T O _ D A S H >-------------------------------------------------- Converts a hyphen to a dash under certain conditions. The hyphen must separate like items; unlike items are returned unmodified. These forms are modified: letter - letter (A - B) digit - digit (4-5) digit separator digit - digit separator digit (4.1-4.5 or 4-1-4-5) letterdigit - letterdigit (A1-A5) (an optional separator between letter and digit is supported – a.1-a.5 or a-1-a-5) digitletter - digitletter (5a - 5d) (an optional separator between letter and digit is supported – 5.a-5.d or 5-a-5-d) any other forms are returned unmodified. str may be a comma- or semicolon-separated list ]] function p.hyphen_to_dash( str, spacing ) if (str == nil or str == '') then return str end local accept str = mw.text.decode(str, true ) -- replace html entities with their characters; semicolon mucks up the text.split local out = {} local list = mw.text.split (str, '%s*[,;]%s*') -- split str at comma or semicolon separators if there are any for _, item in ipairs (list) do -- for each item in the list item = mw.text.trim(item) -- trim whitespace item, accept = item:gsub ('^%(%((.+)%)%)$', '%1') if accept == 0 and mw.ustring.match (item, '^%w*[%.%-]?%w+%s*[%-–—]%s*%w*[%.%-]?%w+$') then -- if a hyphenated range or has endash or emdash separators if item:match ('^%a+[%.%-]?%d+%s*%-%s*%a+[%.%-]?%d+$') or -- letterdigit hyphen letterdigit (optional separator between letter and digit) item:match ('^%d+[%.%-]?%a+%s*%-%s*%d+[%.%-]?%a+$') or -- digitletter hyphen digitletter (optional separator between digit and letter) item:match ('^%d+[%.%-]%d+%s*%-%s*%d+[%.%-]%d+$') or -- digit separator digit hyphen digit separator digit item:match ('^%d+%s*%-%s*%d+$') or -- digit hyphen digit item:match ('^%a+%s*%-%s*%a+$') then -- letter hyphen letter item = item:gsub ('(%w*[%.%-]?%w+)%s*%-%s*(%w*[%.%-]?%w+)', '%1–%2') -- replace hyphen, remove extraneous space characters else item = mw.ustring.gsub (item, '%s*[–—]%s*', '–') -- for endash or emdash separated ranges, replace em with en, remove extraneous whitespace end end table.insert (out, item) -- add the (possibly modified) item to the output table end local temp_str = table.concat (out, ',' .. spacing) -- concatenate the output table into a comma separated string temp_str, accept = temp_str:gsub ('^%(%((.+)%)%)$', '%1') -- remove accept-this-as-written markup when it wraps all of concatenated out if accept ~= 0 then temp_str = str:gsub ('^%(%((.+)%)%)$', '%1') -- when global markup removed, return original str; do it this way to suppress boolean second return value end return temp_str end function p.hyphen2dash( frame ) local str = frame.args[1] or '' local spacing = frame.args[2] or ' ' -- space is part of the standard separator for normal spacing (but in conjunction with templates r/rp/ran we may need a narrower spacing return p.hyphen_to_dash(str, spacing) end -- Similar to [[Module:String#endswith]] function p.startswith(frame) return (frame.args[1]:sub(1, frame.args[2]:len()) == frame.args[2]) and 'yes' or '' end return p 7novuiabacjj8enbp69666q0os29r7w Module:StringUtils 828 3320 36507 2025-12-15T17:32:48Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} local arguments = require('Module:Arguments') local TableTools = require('Module:TableTools') local function makeInvokeFunc(funcName) return function (frame) local args = arguments.getArgs(frame, { wrappers = 'Πρότυπο:Ifempty' }) local firstRet,secondRet = p[funcName](args) return firstRet end end -- Adaugă la începutul unui șir un prefix, dacă nu există deja acolo el sau unul dintre cele listate în ultimul argum...' 36507 Scribunto text/plain local p = {} local arguments = require('Module:Arguments') local TableTools = require('Module:TableTools') local function makeInvokeFunc(funcName) return function (frame) local args = arguments.getArgs(frame, { wrappers = 'Πρότυπο:Ifempty' }) local firstRet,secondRet = p[funcName](args) return firstRet end end -- Adaugă la începutul unui șir un prefix, dacă nu există deja acolo el sau unul dintre cele listate în ultimul argument function p._prependIfMissing(args) local str = args[1] local prefix = args[2] local others = {} for argK,argV in pairs(args) do if argK > 1 then table.insert(others, argV) end end if str == nil then return nil end if prefix == nil then return str end for i, eachPrefix in pairs(others) do if mw.ustring.find(str, eachPrefix, 1, true) == 1 then return str end end return prefix .. str end p.prependIfMissing = makeInvokeFunc('_prependIfMissing') -- Adaugă la sfârșitul unui șir un sufix, dacă nu există deja acolo el sau unul dintre cele listate în ultimul argument function p._appendIfMissing(args) local str = args[1] local suffix = args[2] local others = {} for argK,argV in pairs(args) do if argK > 1 then table.insert(others, argV) end end if str == nil then return nil end if suffix == nil then return str end for i, eachSuffix in pairs(others) do local suffixStart local suffixEnd suffixStart, suffixEnd = mw.ustring.find(str, eachSuffix, 1, true) if suffixEnd == mw.ustring.len(str) then return str end end return str .. suffix end p.appendIfMissing = makeInvokeFunc('_appendIfMissing') function p._emptyToNil(args) local str = args[1] if str == '' then return nil end return str end p.emptyToNil = makeInvokeFunc('_emptyToNil') function p._capitalize(args) local str = args[1] if str == nil then return nil end return mw.ustring.upper(mw.ustring.sub(str, 1, 1)) .. mw.ustring.sub(str,2); end p.capitalize = makeInvokeFunc('_capitalize') function p._removeStart(args) local str = args[1] if str == nil then return nil end local prefix = args[2] if prefix == nil then return str end if mw.ustring.sub(str, 1, mw.ustring.len(prefix)) == prefix then return mw.ustring.sub(str, mw.ustring.len(prefix) + 1, mw.ustring.len(str)) end return str end p.removeStart = makeInvokeFunc('_removeStart') function p._removeEnd(args) local str = args[1] if str == nil then return nil end local suffix = args[2] if suffix == nil then return str end if mw.ustring.sub(str, -mw.ustring.len(suffix)) == suffix then return mw.ustring.sub(str, 1, -mw.ustring.len(suffix) - 1) end return str end p.removeEnd = makeInvokeFunc('_removeEnd') function p.__isEmpty(str) return str == nil or (type(str) == 'string' and mw.ustring.len(str) == 0) end function p._isEmpty(args) local str = args[1] return p.__isEmpty(str) end p.isEmpty = makeInvokeFunc('_isEmpty') function p._trim(args) local str = args[1] if not str then return nil end return mw.text.trim(str) end p.trim = makeInvokeFunc('_trim') function p._startsWithAny(args) local str = args[1] if not str then return false end local idx = 2 while idx <= TableTools.size(args) do if args[idx] and mw.ustring.sub(str, 1, mw.ustring.len(args[idx])) == args[idx] then return true end idx = idx + 1 end return false end p.startsWithAny = makeInvokeFunc('_startsWithAny') p._startsWith = p._startsWithAny p.startsWith = makeInvokeFunc('_startsWith') function p._endsWithAny(args) local str = args[1] if not str then return false end local idx = 2 while idx <= TableTools.size(args) do if args[idx] and mw.ustring.sub(str, mw.ustring.len(str) - mw.ustring.len(args[idx]) + 1, mw.ustring.len(str)) == args[idx] then return true end idx = idx + 1 end return false end p.endsWithAny = makeInvokeFunc('_endsWith') p._endsWith = p._endsWithAny p.endsWith = makeInvokeFunc('_endsWith') function p._substringBefore(args) local str = args[1] if not str then return nil end local idx = 2 local substringEndPos = 1 + mw.ustring.len(str) local firstSep = '' while idx <= TableTools.size(args) do if args[idx] then local substringStart = mw.ustring.find(str, args[idx], 1, true) if substringStart and substringStart < substringEndPos then substringEndPos = substringStart firstSep = args[idx] end end idx = idx + 1 end return mw.ustring.sub(str, 1, substringEndPos-1), firstSep end p.substringBefore = makeInvokeFunc('_substringBefore') function p._substringAfter(args) local str = args[1] if not str then return nil end local idx = 2 local substringStartPos = 1 + mw.ustring.len(str) local firstSep = '' while args[idx] ~= nil do local substringStart = mw.ustring.find(str, args[idx], 1, true) if substringStart and substringStart < substringStartPos then substringStartPos = substringStart + mw.ustring.len(args[idx]) firstSep = args[idx] end idx = idx + 1 end if substringStartPos > mw.ustring.len(str) then return str end return mw.ustring.sub(str, substringStartPos), firstSep end p.substringAfter = makeInvokeFunc('_substringAfter') function p._defaultString(args) local compressedArgs = TableTools.compressSparseArray(args) if #compressedArgs == 0 then return '' end return compressedArgs[1] end p.defaultString = makeInvokeFunc('_defaultString') function p._appendToString(args) local str = args[1] local suffix = args[2] if str then return tostring(str) .. tostring(suffix or '') end return '' end p.appendToString = makeInvokeFunc('_appendToString') function p._prependToString(args) local str = args[1] local prefix = args[2] if str then return tostring(prefix or '') .. tostring(str) end return '' end p.prependToString = makeInvokeFunc('_prependToString') function p._encloseString(args) return p._prependToString({p._emptyToNil({p._appendToString({args[1], args[3]})}), args[2]}) end p.encloseString = makeInvokeFunc('_encloseString') function p._stripNamespace(args) s,_ = p._substringAfter({args[1],':'}) return s end p.stripNamespace = makeInvokeFunc('_stripNamespace') -- Determină dacă o secvență de text conține o legătură spre un articol anume. function p._findLinkByTitle(args) local str = args[1]:gsub('_', ' ') local pattern = '%[%[%s*' .. p._trim({(args[2] or ''):gsub('_', ' ')}):gsub('([+*?%-%(%)%%%.])', '%%%1') .. '%s*[%]|]' if str then return str:find(pattern, 1, false) or 0 end return 0 end p.findLinkByTitle = makeInvokeFunc('_findLinkByTitle') function p._firstValue(args) local compactedArgs = TableTools.compressSparseArray(args) return #compactedArgs > 0 and compactedArgs[1] or '' end p.firstValue = makeInvokeFunc('_firstValue') return p ijb8i5ov3qd448dwsh03aa2zd3fofkb Module:Wd 828 3321 36508 2025-12-15T17:34:36Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Original module located at [[:en:Module:Wd]] and [[:en:Module:Wd/i18n]]. require("strict") local p = {} local arg = ... local i18n local function loadI18n(aliasesP, frame) local title if frame then -- current module invoked by page/template, get its title from frame title = frame:getTitle() else -- current module included by other module, get its title from ... title = arg end if not i18n then i18n = require(title .. "/i18n")....' 36508 Scribunto text/plain -- Original module located at [[:en:Module:Wd]] and [[:en:Module:Wd/i18n]]. require("strict") local p = {} local arg = ... local i18n local function loadI18n(aliasesP, frame) local title if frame then -- current module invoked by page/template, get its title from frame title = frame:getTitle() else -- current module included by other module, get its title from ... title = arg end if not i18n then i18n = require(title .. "/i18n").init(aliasesP) end end p.claimCommands = { property = "property", properties = "properties", qualifier = "qualifier", qualifiers = "qualifiers", reference = "reference", references = "references" } p.generalCommands = { label = "label", title = "title", description = "description", alias = "alias", aliases = "aliases", badge = "badge", badges = "badges" } p.flags = { linked = "linked", short = "short", raw = "raw", multilanguage = "multilanguage", unit = "unit", ------------- preferred = "preferred", normal = "normal", deprecated = "deprecated", best = "best", future = "future", current = "current", former = "former", edit = "edit", editAtEnd = "edit@end", mdy = "mdy", single = "single", sourced = "sourced" } p.args = { eid = "eid", page = "page", date = "date" } local aliasesP = { coord = "P625", ----------------------- image = "P18", author = "P50", authorNameString = "P2093", publisher = "P123", importedFrom = "P143", statedIn = "P248", pages = "P304", language = "P407", hasPart = "P527", publicationDate = "P577", startTime = "P580", endTime = "P582", chapter = "P792", retrieved = "P813", referenceURL = "P854", sectionVerseOrParagraph = "P958", archiveURL = "P1065", title = "P1476", formatterURL = "P1630", quote = "P1683", shortName = "P1813", definingFormula = "P2534", archiveDate = "P2960", inferredFrom = "P3452", typeOfReference = "P3865", column = "P3903" } local aliasesQ = { percentage = "Q11229", prolepticJulianCalendar = "Q1985786", citeWeb = "Q5637226", citeQ = "Q22321052" } local parameters = { property = "%p", qualifier = "%q", reference = "%r", alias = "%a", badge = "%b", separator = "%s", general = "%x" } local formats = { property = "%p[%s][%r]", qualifier = "%q[%s][%r]", reference = "%r", propertyWithQualifier = "%p[ <span style=\"font-size:85\\%\">(%q)</span>][%s][%r]", alias = "%a[%s]", badge = "%b[%s]" } local hookNames = { -- {level_1, level_2} [parameters.property] = {"getProperty"}, [parameters.reference] = {"getReferences", "getReference"}, [parameters.qualifier] = {"getAllQualifiers"}, [parameters.qualifier.."\\d"] = {"getQualifiers", "getQualifier"}, [parameters.alias] = {"getAlias"}, [parameters.badge] = {"getBadge"} } -- default value objects, should NOT be mutated but instead copied local defaultSeparators = { ["sep"] = {" "}, ["sep%s"] = {","}, ["sep%q"] = {"; "}, ["sep%q\\d"] = {", "}, ["sep%r"] = nil, -- none ["punc"] = nil -- none } local rankTable = { ["preferred"] = 1, ["normal"] = 2, ["deprecated"] = 3 } local function replaceAlias(id) if aliasesP[id] then id = aliasesP[id] end return id end local function errorText(code, param) local text = i18n["errors"][code] if param then text = mw.ustring.gsub(text, "$1", param) end return text end local function throwError(errorMessage, param) error(errorText(errorMessage, param)) end local function replaceDecimalMark(num) return mw.ustring.gsub(num, "[.]", i18n['numeric']['decimal-mark'], 1) end local function padZeros(num, numDigits) local numZeros local negative = false if num < 0 then negative = true num = num * -1 end num = tostring(num) numZeros = numDigits - num:len() for _ = 1, numZeros do num = "0"..num end if negative then num = "-"..num end return num end local function replaceSpecialChar(chr) if chr == '_' then -- replace underscores with spaces return ' ' else return chr end end local function replaceSpecialChars(str) local chr local esc = false local strOut = "" for i = 1, #str do chr = str:sub(i,i) if not esc then if chr == '\\' then esc = true else strOut = strOut .. replaceSpecialChar(chr) end else strOut = strOut .. chr esc = false end end return strOut end local function buildWikilink(target, label) if not label or target == label then return "[[" .. target .. "]]" else return "[[" .. target .. "|" .. label .. "]]" end end -- used to make frame.args mutable, to replace #frame.args (which is always 0) -- with the actual amount and to simply copy tables local function copyTable(tIn) if not tIn then return nil end local tOut = {} for i, v in pairs(tIn) do tOut[i] = v end return tOut end -- used to merge output arrays together; -- note that it currently mutates the first input array local function mergeArrays(a1, a2) for i = 1, #a2 do a1[#a1 + 1] = a2[i] end return a1 end local function split(str, del) local out = {} local i, j = str:find(del) if i and j then out[1] = str:sub(1, i - 1) out[2] = str:sub(j + 1) else out[1] = str end return out end local function parseWikidataURL(url) local id if url:match('^http[s]?://') then id = split(url, "Q") if id[2] then return "Q" .. id[2] end end return nil end local function parseDate(dateStr, precision) precision = precision or "d" local i, j, index, ptr local parts = {nil, nil, nil} if dateStr == nil then return parts[1], parts[2], parts[3] -- year, month, day end -- 'T' for snak values, '/' for outputs with '/Julian' attached i, j = dateStr:find("[T/]") if i then dateStr = dateStr:sub(1, i-1) end local from = 1 if dateStr:sub(1,1) == "-" then -- this is a negative number, look further ahead from = 2 end index = 1 ptr = 1 i, j = dateStr:find("-", from) if i then -- year parts[index] = tonumber(mw.ustring.gsub(dateStr:sub(ptr, i-1), "^\+(.+)$", "%1"), 10) -- remove '+' sign (explicitly give base 10 to prevent error) if parts[index] == -0 then parts[index] = tonumber("0") -- for some reason, 'parts[index] = 0' may actually store '-0', so parse from string instead end if precision == "y" then -- we're done return parts[1], parts[2], parts[3] -- year, month, day end index = index + 1 ptr = i + 1 i, j = dateStr:find("-", ptr) if i then -- month parts[index] = tonumber(dateStr:sub(ptr, i-1), 10) if precision == "m" then -- we're done return parts[1], parts[2], parts[3] -- year, month, day end index = index + 1 ptr = i + 1 end end if dateStr:sub(ptr) ~= "" then -- day if we have month, month if we have year, or year parts[index] = tonumber(dateStr:sub(ptr), 10) end return parts[1], parts[2], parts[3] -- year, month, day end local function datePrecedesDate(aY, aM, aD, bY, bM, bD) if aY == nil or bY == nil then return nil end aM = aM or 1 aD = aD or 1 bM = bM or 1 bD = bD or 1 if aY < bY then return true end if aY > bY then return false end if aM < bM then return true end if aM > bM then return false end if aD < bD then return true end return false end local function getHookName(param, index) if hookNames[param] then return hookNames[param][index] elseif param:len() > 2 then return hookNames[param:sub(1, 2).."\\d"][index] else return nil end end local function alwaysTrue() return true end -- The following function parses a format string. -- -- The example below shows how a parsed string is structured in memory. -- Variables other than 'str' and 'child' are left out for clarity's sake. -- -- Example: -- "A %p B [%s[%q1]] C [%r] D" -- -- Structure: -- [ -- { -- str = "A " -- }, -- { -- str = "%p" -- }, -- { -- str = " B ", -- child = -- [ -- { -- str = "%s", -- child = -- [ -- { -- str = "%q1" -- } -- ] -- } -- ] -- }, -- { -- str = " C ", -- child = -- [ -- { -- str = "%r" -- } -- ] -- }, -- { -- str = " D" -- } -- ] -- local function parseFormat(str) local chr, esc, param, root, cur, prev, new local params = {} local function newObject(array) local obj = {} -- new object obj.str = "" array[#array + 1] = obj -- array{object} obj.parent = array return obj end local function endParam() if param > 0 then if cur.str ~= "" then cur.str = "%"..cur.str cur.param = true params[cur.str] = true cur.parent.req[cur.str] = true prev = cur cur = newObject(cur.parent) end param = 0 end end root = {} -- array root.req = {} cur = newObject(root) prev = nil esc = false param = 0 for i = 1, #str do chr = str:sub(i,i) if not esc then if chr == '\\' then endParam() esc = true elseif chr == '%' then endParam() if cur.str ~= "" then cur = newObject(cur.parent) end param = 2 elseif chr == '[' then endParam() if prev and cur.str == "" then table.remove(cur.parent) cur = prev end cur.child = {} -- new array cur.child.req = {} cur.child.parent = cur cur = newObject(cur.child) elseif chr == ']' then endParam() if cur.parent.parent then new = newObject(cur.parent.parent.parent) if cur.str == "" then table.remove(cur.parent) end cur = new end else if param > 1 then param = param - 1 elseif param == 1 then if not chr:match('%d') then endParam() end end cur.str = cur.str .. replaceSpecialChar(chr) end else cur.str = cur.str .. chr esc = false end prev = nil end endParam() -- make sure that at least one required parameter has been defined if not next(root.req) then throwError("missing-required-parameter") end -- make sure that the separator parameter "%s" is not amongst the required parameters if root.req[parameters.separator] then throwError("extra-required-parameter", parameters.separator) end return root, params end local function sortOnRank(claims) local rankPos local ranks = {{}, {}, {}, {}} -- preferred, normal, deprecated, (default) local sorted = {} for _, v in ipairs(claims) do rankPos = rankTable[v.rank] or 4 ranks[rankPos][#ranks[rankPos] + 1] = v end sorted = ranks[1] sorted = mergeArrays(sorted, ranks[2]) sorted = mergeArrays(sorted, ranks[3]) return sorted end local Config = {} -- allows for recursive calls function Config:new() local cfg = {} setmetatable(cfg, self) self.__index = self cfg.separators = { -- single value objects wrapped in arrays so that we can pass by reference ["sep"] = {copyTable(defaultSeparators["sep"])}, ["sep%s"] = {copyTable(defaultSeparators["sep%s"])}, ["sep%q"] = {copyTable(defaultSeparators["sep%q"])}, ["sep%r"] = {copyTable(defaultSeparators["sep%r"])}, ["punc"] = {copyTable(defaultSeparators["punc"])} } cfg.entity = nil cfg.entityID = nil cfg.propertyID = nil cfg.propertyValue = nil cfg.qualifierIDs = {} cfg.qualifierIDsAndValues = {} cfg.bestRank = true cfg.ranks = {true, true, false} -- preferred = true, normal = true, deprecated = false cfg.foundRank = #cfg.ranks cfg.flagBest = false cfg.flagRank = false cfg.periods = {true, true, true} -- future = true, current = true, former = true cfg.flagPeriod = false cfg.atDate = {parseDate(os.date('!%Y-%m-%d'))} -- today as {year, month, day} cfg.mdyDate = false cfg.singleClaim = false cfg.sourcedOnly = false cfg.editable = false cfg.editAtEnd = false cfg.inSitelinks = false cfg.langCode = mw.language.getContentLanguage().code cfg.langName = mw.language.fetchLanguageName(cfg.langCode, cfg.langCode) cfg.langObj = mw.language.new(cfg.langCode) cfg.siteID = mw.wikibase.getGlobalSiteId() cfg.states = {} cfg.states.qualifiersCount = 0 cfg.curState = nil cfg.prefetchedRefs = nil return cfg end local State = {} function State:new(cfg, type) local stt = {} setmetatable(stt, self) self.__index = self stt.conf = cfg stt.type = type stt.results = {} stt.parsedFormat = {} stt.separator = {} stt.movSeparator = {} stt.puncMark = {} stt.linked = false stt.rawValue = false stt.shortName = false stt.anyLanguage = false stt.unitOnly = false stt.singleValue = false return stt end -- if id == nil then item connected to current page is used function Config:getLabel(id, raw, link, short) local label = nil local prefix, title= "", nil if not id then id = mw.wikibase.getEntityIdForCurrentPage() if not id then return "" end end id = id:upper() -- just to be sure if raw then -- check if given id actually exists if mw.wikibase.isValidEntityId(id) and mw.wikibase.entityExists(id) then label = id end prefix, title = "d:Special:EntityPage/", label -- may be nil else -- try short name first if requested if short then label = p._property{aliasesP.shortName, [p.args.eid] = id} -- get short name if label == "" then label = nil end end -- get label if not label then label = mw.wikibase.getLabelByLang(id, self.langCode) -- XXX: should use fallback labels? end end if not label then label = "" elseif link then -- build a link if requested if not title then if id:sub(1,1) == "Q" then title = mw.wikibase.getSitelink(id) elseif id:sub(1,1) == "P" then -- properties have no sitelink, link to Wikidata instead prefix, title = "d:Special:EntityPage/", id end end label = mw.text.nowiki(label) -- escape raw label text so it cannot be wikitext markup if title then label = buildWikilink(prefix .. title, label) end end return label end function Config:getEditIcon() local value = "" local prefix = "" local front = "&nbsp;" local back = "" if self.entityID:sub(1,1) == "P" then prefix = "Property:" end if self.editAtEnd then front = '<span style="float:' if self.langObj:isRTL() then front = front .. 'left' else front = front .. 'right' end front = front .. '">' back = '</span>' end value = "[[File:OOjs UI icon edit-ltr-progressive.svg|frameless|text-top|10px|alt=" .. i18n['info']['edit-on-wikidata'] .. "|link=https://www.wikidata.org/wiki/" .. prefix .. self.entityID .. "?uselang=" .. self.langCode if self.propertyID then value = value .. "#" .. self.propertyID elseif self.inSitelinks then value = value .. "#sitelinks-wikipedia" end value = value .. "|" .. i18n['info']['edit-on-wikidata'] .. "]]" return front .. value .. back end -- used to create the final output string when it's all done, so that for references the -- function extensionTag("ref", ...) is only called when they really ended up in the final output function Config:concatValues(valuesArray) local outString = "" local j, skip for i = 1, #valuesArray do -- check if this is a reference if valuesArray[i].refHash then j = i - 1 skip = false -- skip this reference if it is part of a continuous row of references that already contains the exact same reference while valuesArray[j] and valuesArray[j].refHash do if valuesArray[i].refHash == valuesArray[j].refHash then skip = true break end j = j - 1 end if not skip then -- add <ref> tag with the reference's hash as its name (to deduplicate references) outString = outString .. mw.getCurrentFrame():extensionTag("ref", valuesArray[i][1], {name = valuesArray[i].refHash}) end else outString = outString .. valuesArray[i][1] end end return outString end function Config:convertUnit(unit, raw, link, short, unitOnly) local space = " " local label = "" local itemID if unit == "" or unit == "1" then return nil end if unitOnly then space = "" end itemID = parseWikidataURL(unit) if itemID then if itemID == aliasesQ.percentage then return "%" else label = self:getLabel(itemID, raw, link, short) if label ~= "" then return space .. label end end end return "" end function State:getValue(snak) return self.conf:getValue(snak, self.rawValue, self.linked, self.shortName, self.anyLanguage, self.unitOnly, false, self.type:sub(1,2)) end function Config:getValue(snak, raw, link, short, anyLang, unitOnly, noSpecial, type) if snak.snaktype == 'value' then local datatype = snak.datavalue.type local subtype = snak.datatype local datavalue = snak.datavalue.value if datatype == 'string' then if subtype == 'url' and link then -- create link explicitly if raw then -- will render as a linked number like [1] return "[" .. datavalue .. "]" else return "[" .. datavalue .. " " .. datavalue .. "]" end elseif subtype == 'commonsMedia' then if link then return buildWikilink("c:File:" .. datavalue, datavalue) elseif not raw then return "[[File:" .. datavalue .. "]]" else return datavalue end elseif subtype == 'geo-shape' and link then return buildWikilink("c:" .. datavalue, datavalue) elseif subtype == 'math' and not raw then local attribute = nil if (type == parameters.property or (type == parameters.qualifier and self.propertyID == aliasesP.hasPart)) and snak.property == aliasesP.definingFormula then attribute = {qid = self.entityID} end return mw.getCurrentFrame():extensionTag("math", datavalue, attribute) elseif subtype == 'external-id' and link then local url = p._property{aliasesP.formatterURL, [p.args.eid] = snak.property} -- get formatter URL if url ~= "" then url = mw.ustring.gsub(url, "$1", datavalue) return "[" .. url .. " " .. datavalue .. "]" else return datavalue end else return datavalue end elseif datatype == 'monolingualtext' then if anyLang or datavalue['language'] == self.langCode then return datavalue['text'] else return nil end elseif datatype == 'quantity' then local value = "" local unit if not unitOnly then -- get value and strip + signs from front value = mw.ustring.gsub(datavalue['amount'], "^\+(.+)$", "%1") if raw then return value end -- replace decimal mark based on locale value = replaceDecimalMark(value) -- add delimiters for readability value = i18n.addDelimiters(value) end unit = self:convertUnit(datavalue['unit'], raw, link, short, unitOnly) if unit then value = value .. unit end return value elseif datatype == 'time' then local y, m, d, p, yDiv, yRound, yFull, value, calendarID, dateStr local yFactor = 1 local sign = 1 local prefix = "" local suffix = "" local mayAddCalendar = false local calendar = "" local precision = datavalue['precision'] if precision == 11 then p = "d" elseif precision == 10 then p = "m" else p = "y" yFactor = 10^(9-precision) end y, m, d = parseDate(datavalue['time'], p) if y < 0 then sign = -1 y = y * sign end -- if precision is tens/hundreds/thousands/millions/billions of years if precision <= 8 then yDiv = y / yFactor -- if precision is tens/hundreds/thousands of years if precision >= 6 then mayAddCalendar = true if precision <= 7 then -- round centuries/millenniums up (e.g. 20th century or 3rd millennium) yRound = math.ceil(yDiv) if not raw then if precision == 6 then suffix = i18n['datetime']['suffixes']['millennium'] else suffix = i18n['datetime']['suffixes']['century'] end suffix = i18n.getOrdinalSuffix(yRound) .. suffix else -- if not verbose, take the first year of the century/millennium -- (e.g. 1901 for 20th century or 2001 for 3rd millennium) yRound = (yRound - 1) * yFactor + 1 end else -- precision == 8 -- round decades down (e.g. 2010s) yRound = math.floor(yDiv) * yFactor if not raw then prefix = i18n['datetime']['prefixes']['decade-period'] suffix = i18n['datetime']['suffixes']['decade-period'] end end if raw and sign < 0 then -- if BCE then compensate for "counting backwards" -- (e.g. -2019 for 2010s BCE, -2000 for 20th century BCE or -3000 for 3rd millennium BCE) yRound = yRound + yFactor - 1 end else local yReFactor, yReDiv, yReRound -- round to nearest for tens of thousands of years or more yRound = math.floor(yDiv + 0.5) if yRound == 0 then if precision <= 2 and y ~= 0 then yReFactor = 1e6 yReDiv = y / yReFactor yReRound = math.floor(yReDiv + 0.5) if yReDiv == yReRound then -- change precision to millions of years only if we have a whole number of them precision = 3 yFactor = yReFactor yRound = yReRound end end if yRound == 0 then -- otherwise, take the unrounded (original) number of years precision = 5 yFactor = 1 yRound = y mayAddCalendar = true end end if precision >= 1 and y ~= 0 then yFull = yRound * yFactor yReFactor = 1e9 yReDiv = yFull / yReFactor yReRound = math.floor(yReDiv + 0.5) if yReDiv == yReRound then -- change precision to billions of years if we're in that range precision = 0 yFactor = yReFactor yRound = yReRound else yReFactor = 1e6 yReDiv = yFull / yReFactor yReRound = math.floor(yReDiv + 0.5) if yReDiv == yReRound then -- change precision to millions of years if we're in that range precision = 3 yFactor = yReFactor yRound = yReRound end end end if not raw then if precision == 3 then suffix = i18n['datetime']['suffixes']['million-years'] elseif precision == 0 then suffix = i18n['datetime']['suffixes']['billion-years'] else yRound = yRound * yFactor if yRound == 1 then suffix = i18n['datetime']['suffixes']['year'] else suffix = i18n['datetime']['suffixes']['years'] end end else yRound = yRound * yFactor end end else yRound = y mayAddCalendar = true end if mayAddCalendar then calendarID = parseWikidataURL(datavalue['calendarmodel']) if calendarID and calendarID == aliasesQ.prolepticJulianCalendar then if not raw then if link then calendar = " ("..buildWikilink(i18n['datetime']['julian-calendar'], i18n['datetime']['julian'])..")" else calendar = " ("..i18n['datetime']['julian']..")" end else calendar = "/"..i18n['datetime']['julian'] end end end if not raw then local ce = nil if sign < 0 then ce = i18n['datetime']['BCE'] elseif precision <= 5 then ce = i18n['datetime']['CE'] end if ce then if link then ce = buildWikilink(i18n['datetime']['common-era'], ce) end suffix = suffix .. " " .. ce end value = tostring(yRound) if m then dateStr = self.langObj:formatDate("F", "1-"..m.."-1") if d then if self.mdyDate then dateStr = dateStr .. " " .. d .. "," else dateStr = d .. " " .. dateStr end end value = dateStr .. " " .. value end value = prefix .. value .. suffix .. calendar else value = padZeros(yRound * sign, 4) if m then value = value .. "-" .. padZeros(m, 2) if d then value = value .. "-" .. padZeros(d, 2) end end value = value .. calendar end return value elseif datatype == 'globecoordinate' then -- logic from https://github.com/DataValues/Geo (v4.0.1) local precision, unitsPerDegree, numDigits, strFormat, value, globe local latitude, latConv, latValue, latLink local longitude, lonConv, lonValue, lonLink local latDirection, latDirectionN, latDirectionS, latDirectionEN local lonDirection, lonDirectionE, lonDirectionW, lonDirectionEN local degSymbol, minSymbol, secSymbol, separator local latDegrees = nil local latMinutes = nil local latSeconds = nil local lonDegrees = nil local lonMinutes = nil local lonSeconds = nil local latDegSym = "" local latMinSym = "" local latSecSym = "" local lonDegSym = "" local lonMinSym = "" local lonSecSym = "" local latDirectionEN_N = "N" local latDirectionEN_S = "S" local lonDirectionEN_E = "E" local lonDirectionEN_W = "W" if not raw then latDirectionN = i18n['coord']['latitude-north'] latDirectionS = i18n['coord']['latitude-south'] lonDirectionE = i18n['coord']['longitude-east'] lonDirectionW = i18n['coord']['longitude-west'] degSymbol = i18n['coord']['degrees'] minSymbol = i18n['coord']['minutes'] secSymbol = i18n['coord']['seconds'] separator = i18n['coord']['separator'] else latDirectionN = latDirectionEN_N latDirectionS = latDirectionEN_S lonDirectionE = lonDirectionEN_E lonDirectionW = lonDirectionEN_W degSymbol = "/" minSymbol = "/" secSymbol = "/" separator = "/" end latitude = datavalue['latitude'] longitude = datavalue['longitude'] if latitude < 0 then latDirection = latDirectionS latDirectionEN = latDirectionEN_S latitude = math.abs(latitude) else latDirection = latDirectionN latDirectionEN = latDirectionEN_N end if longitude < 0 then lonDirection = lonDirectionW lonDirectionEN = lonDirectionEN_W longitude = math.abs(longitude) else lonDirection = lonDirectionE lonDirectionEN = lonDirectionEN_E end precision = datavalue['precision'] if not precision or precision <= 0 then precision = 1 / 3600 -- precision not set (correctly), set to arcsecond end -- remove insignificant detail latitude = math.floor(latitude / precision + 0.5) * precision longitude = math.floor(longitude / precision + 0.5) * precision if precision >= 1 - (1 / 60) and precision < 1 then precision = 1 elseif precision >= (1 / 60) - (1 / 3600) and precision < (1 / 60) then precision = 1 / 60 end if precision >= 1 then unitsPerDegree = 1 elseif precision >= (1 / 60) then unitsPerDegree = 60 else unitsPerDegree = 3600 end numDigits = math.ceil(-math.log10(unitsPerDegree * precision)) if numDigits <= 0 then numDigits = tonumber("0") -- for some reason, 'numDigits = 0' may actually store '-0', so parse from string instead end strFormat = "%." .. numDigits .. "f" if precision >= 1 then latDegrees = strFormat:format(latitude) lonDegrees = strFormat:format(longitude) if not raw then latDegSym = replaceDecimalMark(latDegrees) .. degSymbol lonDegSym = replaceDecimalMark(lonDegrees) .. degSymbol else latDegSym = latDegrees .. degSymbol lonDegSym = lonDegrees .. degSymbol end else latConv = math.floor(latitude * unitsPerDegree * 10^numDigits + 0.5) / 10^numDigits lonConv = math.floor(longitude * unitsPerDegree * 10^numDigits + 0.5) / 10^numDigits if precision >= (1 / 60) then latMinutes = latConv lonMinutes = lonConv else latSeconds = latConv lonSeconds = lonConv latMinutes = math.floor(latSeconds / 60) lonMinutes = math.floor(lonSeconds / 60) latSeconds = strFormat:format(latSeconds - (latMinutes * 60)) lonSeconds = strFormat:format(lonSeconds - (lonMinutes * 60)) if not raw then latSecSym = replaceDecimalMark(latSeconds) .. secSymbol lonSecSym = replaceDecimalMark(lonSeconds) .. secSymbol else latSecSym = latSeconds .. secSymbol lonSecSym = lonSeconds .. secSymbol end end latDegrees = math.floor(latMinutes / 60) lonDegrees = math.floor(lonMinutes / 60) latDegSym = latDegrees .. degSymbol lonDegSym = lonDegrees .. degSymbol latMinutes = latMinutes - (latDegrees * 60) lonMinutes = lonMinutes - (lonDegrees * 60) if precision >= (1 / 60) then latMinutes = strFormat:format(latMinutes) lonMinutes = strFormat:format(lonMinutes) if not raw then latMinSym = replaceDecimalMark(latMinutes) .. minSymbol lonMinSym = replaceDecimalMark(lonMinutes) .. minSymbol else latMinSym = latMinutes .. minSymbol lonMinSym = lonMinutes .. minSymbol end else latMinSym = latMinutes .. minSymbol lonMinSym = lonMinutes .. minSymbol end end latValue = latDegSym .. latMinSym .. latSecSym .. latDirection lonValue = lonDegSym .. lonMinSym .. lonSecSym .. lonDirection value = latValue .. separator .. lonValue if link then globe = parseWikidataURL(datavalue['globe']) if globe then globe = mw.wikibase.getLabelByLang(globe, "en"):lower() else globe = "earth" end latLink = table.concat({latDegrees, latMinutes, latSeconds}, "_") lonLink = table.concat({lonDegrees, lonMinutes, lonSeconds}, "_") value = "[https://geohack.toolforge.org/geohack.php?language="..self.langCode.."&params="..latLink.."_"..latDirectionEN.."_"..lonLink.."_"..lonDirectionEN.."_globe:"..globe.." "..value.."]" end return value elseif datatype == 'wikibase-entityid' then local label local itemID = datavalue['numeric-id'] if subtype == 'wikibase-item' then itemID = "Q" .. itemID elseif subtype == 'wikibase-property' then itemID = "P" .. itemID else return '<strong class="error">' .. errorText('unknown-data-type', subtype) .. '</strong>' end label = self:getLabel(itemID, raw, link, short) if label == "" then label = nil end return label else return '<strong class="error">' .. errorText('unknown-data-type', datatype) .. '</strong>' end elseif snak.snaktype == 'somevalue' and not noSpecial then if raw then return " " -- single space represents 'somevalue' else return i18n['values']['unknown'] end elseif snak.snaktype == 'novalue' and not noSpecial then if raw then return "" -- empty string represents 'novalue' else return i18n['values']['none'] end else return nil end end function Config:getSingleRawQualifier(claim, qualifierID) local qualifiers if claim.qualifiers then qualifiers = claim.qualifiers[qualifierID] end if qualifiers and qualifiers[1] then return self:getValue(qualifiers[1], true) -- raw = true else return nil end end function Config:snakEqualsValue(snak, value) local snakValue = self:getValue(snak, true) -- raw = true if snakValue and snak.snaktype == 'value' and snak.datavalue.type == 'wikibase-entityid' then value = value:upper() end return snakValue == value end function Config:setRank(rank) local rankPos if rank == p.flags.best then self.bestRank = true self.flagBest = true -- mark that 'best' flag was given return end if rank:sub(1,9) == p.flags.preferred then rankPos = 1 elseif rank:sub(1,6) == p.flags.normal then rankPos = 2 elseif rank:sub(1,10) == p.flags.deprecated then rankPos = 3 else return end -- one of the rank flags was given, check if another one was given before if not self.flagRank then self.ranks = {false, false, false} -- no other rank flag given before, so unset ranks self.bestRank = self.flagBest -- unsets bestRank only if 'best' flag was not given before self.flagRank = true -- mark that a rank flag was given end if rank:sub(-1) == "+" then for i = rankPos, 1, -1 do self.ranks[i] = true end elseif rank:sub(-1) == "-" then for i = rankPos, #self.ranks do self.ranks[i] = true end else self.ranks[rankPos] = true end end function Config:setPeriod(period) local periodPos if period == p.flags.future then periodPos = 1 elseif period == p.flags.current then periodPos = 2 elseif period == p.flags.former then periodPos = 3 else return end -- one of the period flags was given, check if another one was given before if not self.flagPeriod then self.periods = {false, false, false} -- no other period flag given before, so unset periods self.flagPeriod = true -- mark that a period flag was given end self.periods[periodPos] = true end function Config:qualifierMatches(claim, id, value) local qualifiers if claim.qualifiers then qualifiers = claim.qualifiers[id] end if qualifiers then for _, v in pairs(qualifiers) do if self:snakEqualsValue(v, value) then return true end end elseif value == "" then -- if the qualifier is not present then treat it the same as the special value 'novalue' return true end return false end function Config:rankMatches(rankPos) if self.bestRank then return (self.ranks[rankPos] and self.foundRank >= rankPos) else return self.ranks[rankPos] end end function Config:timeMatches(claim) local startTime = nil local startTimeY = nil local startTimeM = nil local startTimeD = nil local endTime = nil local endTimeY = nil local endTimeM = nil local endTimeD = nil if self.periods[1] and self.periods[2] and self.periods[3] then -- any time return true end startTime = self:getSingleRawQualifier(claim, aliasesP.startTime) if startTime and startTime ~= "" and startTime ~= " " then startTimeY, startTimeM, startTimeD = parseDate(startTime) end endTime = self:getSingleRawQualifier(claim, aliasesP.endTime) if endTime and endTime ~= "" and endTime ~= " " then endTimeY, endTimeM, endTimeD = parseDate(endTime) end if startTimeY ~= nil and endTimeY ~= nil and datePrecedesDate(endTimeY, endTimeM, endTimeD, startTimeY, startTimeM, startTimeD) then -- invalidate end time if it precedes start time endTimeY = nil endTimeM = nil endTimeD = nil end if self.periods[1] then -- future if startTimeY and datePrecedesDate(self.atDate[1], self.atDate[2], self.atDate[3], startTimeY, startTimeM, startTimeD) then return true end end if self.periods[2] then -- current if (startTimeY == nil or not datePrecedesDate(self.atDate[1], self.atDate[2], self.atDate[3], startTimeY, startTimeM, startTimeD)) and (endTimeY == nil or datePrecedesDate(self.atDate[1], self.atDate[2], self.atDate[3], endTimeY, endTimeM, endTimeD)) then return true end end if self.periods[3] then -- former if endTimeY and not datePrecedesDate(self.atDate[1], self.atDate[2], self.atDate[3], endTimeY, endTimeM, endTimeD) then return true end end return false end function Config:processFlag(flag) if not flag then return false end if flag == p.flags.linked then self.curState.linked = true return true elseif flag == p.flags.raw then self.curState.rawValue = true if self.curState == self.states[parameters.reference] then -- raw reference values end with periods and require a separator (other than none) self.separators["sep%r"][1] = {" "} end return true elseif flag == p.flags.short then self.curState.shortName = true return true elseif flag == p.flags.multilanguage then self.curState.anyLanguage = true return true elseif flag == p.flags.unit then self.curState.unitOnly = true return true elseif flag == p.flags.mdy then self.mdyDate = true return true elseif flag == p.flags.single then self.singleClaim = true return true elseif flag == p.flags.sourced then self.sourcedOnly = true return true elseif flag == p.flags.edit then self.editable = true return true elseif flag == p.flags.editAtEnd then self.editable = true self.editAtEnd = true return true elseif flag == p.flags.best or flag:match('^'..p.flags.preferred..'[+-]?$') or flag:match('^'..p.flags.normal..'[+-]?$') or flag:match('^'..p.flags.deprecated..'[+-]?$') then self:setRank(flag) return true elseif flag == p.flags.future or flag == p.flags.current or flag == p.flags.former then self:setPeriod(flag) return true elseif flag == "" then -- ignore empty flags and carry on return true else return false end end function Config:processFlagOrCommand(flag) local param = "" if not flag then return false end if flag == p.claimCommands.property or flag == p.claimCommands.properties then param = parameters.property elseif flag == p.claimCommands.qualifier or flag == p.claimCommands.qualifiers then self.states.qualifiersCount = self.states.qualifiersCount + 1 param = parameters.qualifier .. self.states.qualifiersCount self.separators["sep"..param] = {copyTable(defaultSeparators["sep%q\\d"])} elseif flag == p.claimCommands.reference or flag == p.claimCommands.references then param = parameters.reference else return self:processFlag(flag) end if self.states[param] then return false end -- create a new state for each command self.states[param] = State:new(self, param) -- use "%x" as the general parameter name self.states[param].parsedFormat = parseFormat(parameters.general) -- will be overwritten for param=="%p" -- set the separator self.states[param].separator = self.separators["sep"..param] -- will be nil for param=="%p", which will be set separately if flag == p.claimCommands.property or flag == p.claimCommands.qualifier or flag == p.claimCommands.reference then self.states[param].singleValue = true end self.curState = self.states[param] return true end function Config:processSeparators(args) local sep for i, v in pairs(self.separators) do if args[i] then sep = replaceSpecialChars(args[i]) if sep ~= "" then self.separators[i][1] = {sep} else self.separators[i][1] = nil end end end end function Config:setFormatAndSeparators(state, parsedFormat) state.parsedFormat = parsedFormat state.separator = self.separators["sep"] state.movSeparator = self.separators["sep"..parameters.separator] state.puncMark = self.separators["punc"] end -- determines if a claim has references by prefetching them from the claim using getReferences, -- which applies some filtering that determines if a reference is actually returned, -- and caches the references for later use function State:isSourced(claim) self.conf.prefetchedRefs = self:getReferences(claim) return (#self.conf.prefetchedRefs > 0) end function State:resetCaches() -- any prefetched references of the previous claim must not be used self.conf.prefetchedRefs = nil end function State:claimMatches(claim) local matches, rankPos -- first of all, reset any cached values used for the previous claim self:resetCaches() -- if a property value was given, check if it matches the claim's property value if self.conf.propertyValue then matches = self.conf:snakEqualsValue(claim.mainsnak, self.conf.propertyValue) else matches = true end -- if any qualifier values were given, check if each matches one of the claim's qualifier values for i, v in pairs(self.conf.qualifierIDsAndValues) do matches = (matches and self.conf:qualifierMatches(claim, i, v)) end -- check if the claim's rank and time period match rankPos = rankTable[claim.rank] or 4 matches = (matches and self.conf:rankMatches(rankPos) and self.conf:timeMatches(claim)) -- if only claims with references must be returned, check if this one has any if self.conf.sourcedOnly then matches = (matches and self:isSourced(claim)) -- prefetches and caches references end return matches, rankPos end function State:out() local result -- collection of arrays with value objects local valuesArray -- array with value objects local sep = nil -- value object local out = {} -- array with value objects local function walk(formatTable, result) local valuesArray = {} -- array with value objects for i, v in pairs(formatTable.req) do if not result[i] or not result[i][1] then -- we've got no result for a parameter that is required on this level, -- so skip this level (and its children) by returning an empty result return {} end end for _, v in ipairs(formatTable) do if v.param then valuesArray = mergeArrays(valuesArray, result[v.str]) elseif v.str ~= "" then valuesArray[#valuesArray + 1] = {v.str} end if v.child then valuesArray = mergeArrays(valuesArray, walk(v.child, result)) end end return valuesArray end -- iterate through the results from back to front, so that we know when to add separators for i = #self.results, 1, -1 do result = self.results[i] -- if there is already some output, then add the separators if #out > 0 then sep = self.separator[1] -- fixed separator result[parameters.separator] = {self.movSeparator[1]} -- movable separator else sep = nil result[parameters.separator] = {self.puncMark[1]} -- optional punctuation mark end valuesArray = walk(self.parsedFormat, result) if #valuesArray > 0 then if sep then valuesArray[#valuesArray + 1] = sep end out = mergeArrays(valuesArray, out) end end -- reset state before next iteration self.results = {} return out end -- level 1 hook function State:getProperty(claim) local value = {self:getValue(claim.mainsnak)} -- create one value object if #value > 0 then return {value} -- wrap the value object in an array and return it else return {} -- return empty array if there was no value end end -- level 1 hook function State:getQualifiers(claim, param) local qualifiers if claim.qualifiers then qualifiers = claim.qualifiers[self.conf.qualifierIDs[param]] end if qualifiers then -- iterate through claim's qualifier statements to collect their values; -- return array with multiple value objects return self.conf.states[param]:iterate(qualifiers, {[parameters.general] = hookNames[parameters.qualifier.."\\d"][2], count = 1}) -- pass qualifier state with level 2 hook else return {} -- return empty array end end -- level 2 hook function State:getQualifier(snak) local value = {self:getValue(snak)} -- create one value object if #value > 0 then return {value} -- wrap the value object in an array and return it else return {} -- return empty array if there was no value end end -- level 1 hook function State:getAllQualifiers(claim, param, result, hooks) local out = {} -- array with value objects local sep = self.conf.separators["sep"..parameters.qualifier][1] -- value object -- iterate through the output of the separate "qualifier(s)" commands for i = 1, self.conf.states.qualifiersCount do -- if a hook has not been called yet, call it now if not result[parameters.qualifier..i] then self:callHook(parameters.qualifier..i, hooks, claim, result) end -- if there is output for this particular "qualifier(s)" command, then add it if result[parameters.qualifier..i] and result[parameters.qualifier..i][1] then -- if there is already some output, then add the separator if #out > 0 and sep then out[#out + 1] = sep end out = mergeArrays(out, result[parameters.qualifier..i]) end end return out end -- level 1 hook function State:getReferences(claim) if self.conf.prefetchedRefs then -- return references that have been prefetched by isSourced return self.conf.prefetchedRefs end if claim.references then -- iterate through claim's reference statements to collect their values; -- return array with multiple value objects return self.conf.states[parameters.reference]:iterate(claim.references, {[parameters.general] = hookNames[parameters.reference][2], count = 1}) -- pass reference state with level 2 hook else return {} -- return empty array end end -- level 2 hook function State:getReference(statement) local key, citeWeb, citeQ, label local params = {} local citeParams = {['web'] = {}, ['q'] = {}} local citeMismatch = {} local useCite = nil local useParams = nil local value = "" local ref = {} local referenceEmpty = true -- will be set to false if at least one parameter is left unremoved local numAuthorParameters = 0 local numAuthorNameStringParameters = 0 local version = 2 -- increment this each time the below logic is changed to avoid conflict errors if statement.snaks then -- don't include "imported from", which is added by a bot if statement.snaks[aliasesP.importedFrom] then statement.snaks[aliasesP.importedFrom] = nil end -- don't include "inferred from", which is added by a bot if statement.snaks[aliasesP.inferredFrom] then statement.snaks[aliasesP.inferredFrom] = nil end -- don't include "type of reference" if statement.snaks[aliasesP.typeOfReference] then statement.snaks[aliasesP.typeOfReference] = nil end -- don't include "image" to prevent littering if statement.snaks[aliasesP.image] then statement.snaks[aliasesP.image] = nil end -- don't include "language" if it is equal to the local one if self:getReferenceDetail(statement.snaks, aliasesP.language) == self.conf.langName then statement.snaks[aliasesP.language] = nil end -- retrieve all the parameters for i in pairs(statement.snaks) do label = "" -- multiple authors may be given if i == aliasesP.author or i == aliasesP.authorNameString then params[i] = self:getReferenceDetails(statement.snaks, i, false, self.linked, true) -- link = true/false, anyLang = true else params[i] = {self:getReferenceDetail(statement.snaks, i, false, (self.linked or (i == aliasesP.statedIn)) and (statement.snaks[i][1].datatype ~= 'url'), true)} -- link = true/false, anyLang = true end if #params[i] == 0 then params[i] = nil else referenceEmpty = false if statement.snaks[i][1].datatype == 'external-id' then key = "external-id" label = self.conf:getLabel(i) if label ~= "" then label = label .. " " end else key = i end -- add the parameter to each matching type of citation for j in pairs(citeParams) do -- do so if there was no mismatch with a previous parameter if not citeMismatch[j] then -- check if this parameter is not mismatching itself if i18n['cite'][j][key] then -- continue if an option is available in the corresponding cite template if i18n['cite'][j][key] ~= "" then -- handle non-author properties (and author properties ("author" and "author name string"), if they don't use the same template parameter) if (i ~= aliasesP.author and i ~= aliasesP.authorNameString) or (i18n['cite'][j][aliasesP.author] ~= i18n['cite'][j][aliasesP.authorNameString]) then citeParams[j][i18n['cite'][j][key]] = label .. params[i][1] -- to avoid problems with non-author multiple parameters (if existent), the following old code is retained for k=2, #params[i] do citeParams[j][i18n['cite'][j][key]..k] = label .. params[i][k] end -- handle "author" and "author name string" specially if they use the same template parameter elseif i == aliasesP.author or i == aliasesP.authorNameString then if params[aliasesP.author] ~= nil then numAuthorParameters = #params[aliasesP.author] else numAuthorParameters = 0 end if params[aliasesP.authorNameString] ~= nil then numAuthorNameStringParameters = #params[aliasesP.authorNameString] else numAuthorNameStringParameters = 0 end -- execute only if both "author" and "author name string" satisfy this condition: the property is both in params and in statement.snaks or it is neither in params nor in statement.snaks -- reason: parameters are added to params each iteration of the loop, not before the loop if ((statement.snaks[aliasesP.author] == nil) == (numAuthorParameters == 0)) and ((statement.snaks[aliasesP.authorNameString] == nil) == (numAuthorNameStringParameters == 0)) then for k=1, numAuthorParameters + numAuthorNameStringParameters do if k <= numAuthorParameters then -- now handling the authors from the "author" property citeParams[j][i18n['cite'][j][aliasesP.author]..k] = label .. params[aliasesP.author][k] else -- now handling the authors from "author name string" citeParams[j][i18n['cite'][j][aliasesP.authorNameString]..k] = label .. params[aliasesP.authorNameString][k - numAuthorParameters] end end end end end else citeMismatch[j] = true end end end end end -- get title of general template for citing web references citeWeb = split(mw.wikibase.getSitelink(aliasesQ.citeWeb) or "", ":")[2] -- split off namespace from front -- get title of template that expands stated-in references into citations citeQ = split(mw.wikibase.getSitelink(aliasesQ.citeQ) or "", ":")[2] -- split off namespace from front -- (1) use the general template for citing web references if there is a match and if at least both "reference URL" and "title" are present if citeWeb and not citeMismatch['web'] and citeParams['web'][i18n['cite']['web'][aliasesP.referenceURL]] and citeParams['web'][i18n['cite']['web'][aliasesP.title]] then useCite = citeWeb useParams = citeParams['web'] -- (2) use the template that expands stated-in references into citations if there is a match and if at least "stated in" is present elseif citeQ and not citeMismatch['q'] and citeParams['q'][i18n['cite']['q'][aliasesP.statedIn]] then -- we need the raw "stated in" Q-identifier for the this template citeParams['q'][i18n['cite']['q'][aliasesP.statedIn]] = self:getReferenceDetail(statement.snaks, aliasesP.statedIn, true) -- raw = true useCite = citeQ useParams = citeParams['q'] end if useCite and useParams then -- if this module is being substituted then build a regular template call, otherwise expand the template if mw.isSubsting() then for i, v in pairs(useParams) do value = value .. "|" .. i .. "=" .. v end value = "{{" .. useCite .. value .. "}}" else value = mw.getCurrentFrame():expandTemplate{title=useCite, args=useParams} end -- (3) if the citation couldn't be displayed using Cite web or Cite Q, but has properties other than the removed ones, throw an error elseif not referenceEmpty then value = "<span style=\"color: crimson\">" .. errorText("malformed-reference") .. "</span>" end if value ~= "" then value = {value} -- create one value object if not self.rawValue then -- this should become a <ref> tag, so save the reference's hash for later value.refHash = "wikidata-" .. statement.hash .. "-v" .. (tonumber(i18n['cite']['version']) + version) end ref = {value} -- wrap the value object in an array end end return ref end -- gets a detail of one particular type for a reference function State:getReferenceDetail(snaks, dType, raw, link, anyLang) local switchLang = anyLang local value = nil if not snaks[dType] then return nil end -- if anyLang, first try the local language and otherwise any language repeat for _, v in ipairs(snaks[dType]) do value = self.conf:getValue(v, raw, link, false, anyLang and not switchLang, false, true) -- noSpecial = true if value then break end end if value or not anyLang then break end switchLang = not switchLang until anyLang and switchLang return value end -- gets the details of one particular type for a reference function State:getReferenceDetails(snaks, dType, raw, link, anyLang) local values = {} if not snaks[dType] then return {} end for _, v in ipairs(snaks[dType]) do -- if nil is returned then it will not be added to the table values[#values + 1] = self.conf:getValue(v, raw, link, false, anyLang, false, true) -- noSpecial = true end return values end -- level 1 hook function State:getAlias(object) local value = object.value local title = nil if value and self.linked then if self.conf.entityID:sub(1,1) == "Q" then title = mw.wikibase.getSitelink(self.conf.entityID) elseif self.conf.entityID:sub(1,1) == "P" then title = "d:Property:" .. self.conf.entityID end if title then value = buildWikilink(title, value) end end value = {value} -- create one value object if #value > 0 then return {value} -- wrap the value object in an array and return it else return {} -- return empty array if there was no value end end -- level 1 hook function State:getBadge(value) value = self.conf:getLabel(value, self.rawValue, self.linked, self.shortName) if value == "" then value = nil end value = {value} -- create one value object if #value > 0 then return {value} -- wrap the value object in an array and return it else return {} -- return empty array if there was no value end end function State:callHook(param, hooks, statement, result) local valuesArray, refHash -- call a parameter's hook if it has been defined and if it has not been called before if not result[param] and hooks[param] then valuesArray = self[hooks[param]](self, statement, param, result, hooks) -- array with value objects -- add to the result if #valuesArray > 0 then result[param] = valuesArray result.count = result.count + 1 else result[param] = {} -- an empty array to indicate that we've tried this hook already return true -- miss == true end end return false end -- iterate through claims, claim's qualifiers or claim's references to collect values function State:iterate(statements, hooks, matchHook) matchHook = matchHook or alwaysTrue local matches = false local rankPos = nil local result, gotRequired for _, v in ipairs(statements) do -- rankPos will be nil for non-claim statements (e.g. qualifiers, references, etc.) matches, rankPos = matchHook(self, v) if matches then result = {count = 0} -- collection of arrays with value objects local function walk(formatTable) local miss for i2, v2 in pairs(formatTable.req) do -- call a hook, adding its return value to the result miss = self:callHook(i2, hooks, v, result) if miss then -- we miss a required value for this level, so return false return false end if result.count == hooks.count then -- we're done if all hooks have been called; -- returning at this point breaks the loop return true end end for _, v2 in ipairs(formatTable) do if result.count == hooks.count then -- we're done if all hooks have been called; -- returning at this point prevents further childs from being processed return true end if v2.child then walk(v2.child) end end return true end gotRequired = walk(self.parsedFormat) -- only append the result if we got values for all required parameters on the root level if gotRequired then -- if we have a rankPos (only with matchHook() for complete claims), then update the foundRank if rankPos and self.conf.foundRank > rankPos then self.conf.foundRank = rankPos end -- append the result self.results[#self.results + 1] = result -- break if we only need a single value if self.singleValue then break end end end end return self:out() end local function getEntityId(arg, eid, page, allowOmitPropPrefix) local id = nil local prop = nil if arg then if arg:sub(1,1) == ":" then page = arg eid = nil elseif arg:sub(1,1):upper() == "Q" or arg:sub(1,9):lower() == "property:" or allowOmitPropPrefix then eid = arg page = nil else prop = arg end end if eid then if eid:sub(1,9):lower() == "property:" then id = replaceAlias(mw.text.trim(eid:sub(10))) if id:sub(1,1):upper() ~= "P" then id = "" end else id = replaceAlias(eid) end elseif page then if page:sub(1,1) == ":" then page = mw.text.trim(page:sub(2)) end id = mw.wikibase.getEntityIdForTitle(page) or "" end if not id then id = mw.wikibase.getEntityIdForCurrentPage() or "" end id = id:upper() if not mw.wikibase.isValidEntityId(id) then id = "" end return id, prop end local function nextArg(args) local arg = args[args.pointer] if arg then args.pointer = args.pointer + 1 return mw.text.trim(arg) else return nil end end local function claimCommand(args, funcName) local cfg = Config:new() cfg:processFlagOrCommand(funcName) -- process first command (== function name) local lastArg, parsedFormat, formatParams, claims, value local hooks = {count = 0} -- set the date if given; -- must come BEFORE processing the flags if args[p.args.date] then cfg.atDate = {parseDate(args[p.args.date])} cfg.periods = {false, true, false} -- change default time constraint to 'current' end -- process flags and commands repeat lastArg = nextArg(args) until not cfg:processFlagOrCommand(lastArg) -- get the entity ID from either the positional argument, the eid argument or the page argument cfg.entityID, cfg.propertyID = getEntityId(lastArg, args[p.args.eid], args[p.args.page]) if cfg.entityID == "" then return "" -- we cannot continue without a valid entity ID end cfg.entity = mw.wikibase.getEntity(cfg.entityID) if not cfg.propertyID then cfg.propertyID = nextArg(args) end cfg.propertyID = replaceAlias(cfg.propertyID) if not cfg.entity or not cfg.propertyID then return "" -- we cannot continue without an entity or a property ID end cfg.propertyID = cfg.propertyID:upper() if not cfg.entity.claims or not cfg.entity.claims[cfg.propertyID] then return "" -- there is no use to continue without any claims end claims = cfg.entity.claims[cfg.propertyID] if cfg.states.qualifiersCount > 0 then -- do further processing if "qualifier(s)" command was given if #args - args.pointer + 1 > cfg.states.qualifiersCount then -- claim ID or literal value has been given cfg.propertyValue = nextArg(args) end for i = 1, cfg.states.qualifiersCount do -- check if given qualifier ID is an alias and add it cfg.qualifierIDs[parameters.qualifier..i] = replaceAlias(nextArg(args) or ""):upper() end elseif cfg.states[parameters.reference] then -- do further processing if "reference(s)" command was given cfg.propertyValue = nextArg(args) end -- check for special property value 'somevalue' or 'novalue' if cfg.propertyValue then cfg.propertyValue = replaceSpecialChars(cfg.propertyValue) if cfg.propertyValue ~= "" and mw.text.trim(cfg.propertyValue) == "" then cfg.propertyValue = " " -- single space represents 'somevalue', whereas empty string represents 'novalue' else cfg.propertyValue = mw.text.trim(cfg.propertyValue) end end -- parse the desired format, or choose an appropriate format if args["format"] then parsedFormat, formatParams = parseFormat(args["format"]) elseif cfg.states.qualifiersCount > 0 then -- "qualifier(s)" command given if cfg.states[parameters.property] then -- "propert(y|ies)" command given parsedFormat, formatParams = parseFormat(formats.propertyWithQualifier) else parsedFormat, formatParams = parseFormat(formats.qualifier) end elseif cfg.states[parameters.property] then -- "propert(y|ies)" command given parsedFormat, formatParams = parseFormat(formats.property) else -- "reference(s)" command given parsedFormat, formatParams = parseFormat(formats.reference) end -- if a "qualifier(s)" command and no "propert(y|ies)" command has been given, make the movable separator a semicolon if cfg.states.qualifiersCount > 0 and not cfg.states[parameters.property] then cfg.separators["sep"..parameters.separator][1] = {";"} end -- if only "reference(s)" has been given, set the default separator to none (except when raw) if cfg.states[parameters.reference] and not cfg.states[parameters.property] and cfg.states.qualifiersCount == 0 and not cfg.states[parameters.reference].rawValue then cfg.separators["sep"][1] = nil end -- if exactly one "qualifier(s)" command has been given, make "sep%q" point to "sep%q1" to make them equivalent if cfg.states.qualifiersCount == 1 then cfg.separators["sep"..parameters.qualifier] = cfg.separators["sep"..parameters.qualifier.."1"] end -- process overridden separator values; -- must come AFTER tweaking the default separators cfg:processSeparators(args) -- define the hooks that should be called (getProperty, getQualifiers, getReferences); -- only define a hook if both its command ("propert(y|ies)", "reference(s)", "qualifier(s)") and its parameter ("%p", "%r", "%q1", "%q2", "%q3") have been given for i, v in pairs(cfg.states) do -- e.g. 'formatParams["%q1"] or formatParams["%q"]' to define hook even if "%q1" was not defined to be able to build a complete value for "%q" if formatParams[i] or formatParams[i:sub(1, 2)] then hooks[i] = getHookName(i, 1) hooks.count = hooks.count + 1 end end -- the "%q" parameter is not attached to a state, but is a collection of the results of multiple states (attached to "%q1", "%q2", "%q3", ...); -- so if this parameter is given then this hook must be defined separately, but only if at least one "qualifier(s)" command has been given if formatParams[parameters.qualifier] and cfg.states.qualifiersCount > 0 then hooks[parameters.qualifier] = getHookName(parameters.qualifier, 1) hooks.count = hooks.count + 1 end -- create a state for "properties" if it doesn't exist yet, which will be used as a base configuration for each claim iteration; -- must come AFTER defining the hooks if not cfg.states[parameters.property] then cfg.states[parameters.property] = State:new(cfg, parameters.property) -- if the "single" flag has been given then this state should be equivalent to "property" (singular) if cfg.singleClaim then cfg.states[parameters.property].singleValue = true end end -- if the "sourced" flag has been given then create a state for "reference" if it doesn't exist yet, using default values, -- which must exist in order to be able to determine if a claim has any references; -- must come AFTER defining the hooks if cfg.sourcedOnly and not cfg.states[parameters.reference] then cfg:processFlagOrCommand(p.claimCommands.reference) -- use singular "reference" to minimize overhead end -- set the parsed format and the separators (and optional punctuation mark); -- must come AFTER creating the additonal states cfg:setFormatAndSeparators(cfg.states[parameters.property], parsedFormat) -- process qualifier matching values, analogous to cfg.propertyValue for i, v in pairs(args) do i = tostring(i) if i:match('^[Pp]%d+$') or aliasesP[i] then v = replaceSpecialChars(v) -- check for special qualifier value 'somevalue' if v ~= "" and mw.text.trim(v) == "" then v = " " -- single space represents 'somevalue' end cfg.qualifierIDsAndValues[replaceAlias(i):upper()] = v end end -- first sort the claims on rank to pre-define the order of output (preferred first, then normal, then deprecated) claims = sortOnRank(claims) -- then iterate through the claims to collect values value = cfg:concatValues(cfg.states[parameters.property]:iterate(claims, hooks, State.claimMatches)) -- pass property state with level 1 hooks and matchHook -- if desired, add a clickable icon that may be used to edit the returned values on Wikidata if cfg.editable and value ~= "" then value = value .. cfg:getEditIcon() end return value end local function generalCommand(args, funcName) local cfg = Config:new() cfg.curState = State:new(cfg) local lastArg local value = nil repeat lastArg = nextArg(args) until not cfg:processFlag(lastArg) -- get the entity ID from either the positional argument, the eid argument or the page argument cfg.entityID = getEntityId(lastArg, args[p.args.eid], args[p.args.page], true) if cfg.entityID == "" or not mw.wikibase.entityExists(cfg.entityID) then return "" -- we cannot continue without an entity end -- serve according to the given command if funcName == p.generalCommands.label then value = cfg:getLabel(cfg.entityID, cfg.curState.rawValue, cfg.curState.linked, cfg.curState.shortName) elseif funcName == p.generalCommands.title then cfg.inSitelinks = true if cfg.entityID:sub(1,1) == "Q" then value = mw.wikibase.getSitelink(cfg.entityID) end if cfg.curState.linked and value then value = buildWikilink(value) end elseif funcName == p.generalCommands.description then value = mw.wikibase.getDescription(cfg.entityID) else local parsedFormat, formatParams local hooks = {count = 0} cfg.entity = mw.wikibase.getEntity(cfg.entityID) if funcName == p.generalCommands.alias or funcName == p.generalCommands.badge then cfg.curState.singleValue = true end if funcName == p.generalCommands.alias or funcName == p.generalCommands.aliases then if not cfg.entity.aliases or not cfg.entity.aliases[cfg.langCode] then return "" -- there is no use to continue without any aliasses end local aliases = cfg.entity.aliases[cfg.langCode] -- parse the desired format, or parse the default aliases format if args["format"] then parsedFormat, formatParams = parseFormat(args["format"]) else parsedFormat, formatParams = parseFormat(formats.alias) end -- process overridden separator values; -- must come AFTER tweaking the default separators cfg:processSeparators(args) -- define the hook that should be called (getAlias); -- only define the hook if the parameter ("%a") has been given if formatParams[parameters.alias] then hooks[parameters.alias] = getHookName(parameters.alias, 1) hooks.count = hooks.count + 1 end -- set the parsed format and the separators (and optional punctuation mark) cfg:setFormatAndSeparators(cfg.curState, parsedFormat) -- iterate to collect values value = cfg:concatValues(cfg.curState:iterate(aliases, hooks)) elseif funcName == p.generalCommands.badge or funcName == p.generalCommands.badges then if not cfg.entity.sitelinks or not cfg.entity.sitelinks[cfg.siteID] or not cfg.entity.sitelinks[cfg.siteID].badges then return "" -- there is no use to continue without any badges end local badges = cfg.entity.sitelinks[cfg.siteID].badges cfg.inSitelinks = true -- parse the desired format, or parse the default aliases format if args["format"] then parsedFormat, formatParams = parseFormat(args["format"]) else parsedFormat, formatParams = parseFormat(formats.badge) end -- process overridden separator values; -- must come AFTER tweaking the default separators cfg:processSeparators(args) -- define the hook that should be called (getBadge); -- only define the hook if the parameter ("%b") has been given if formatParams[parameters.badge] then hooks[parameters.badge] = getHookName(parameters.badge, 1) hooks.count = hooks.count + 1 end -- set the parsed format and the separators (and optional punctuation mark) cfg:setFormatAndSeparators(cfg.curState, parsedFormat) -- iterate to collect values value = cfg:concatValues(cfg.curState:iterate(badges, hooks)) end end value = value or "" if cfg.editable and value ~= "" then -- if desired, add a clickable icon that may be used to edit the returned value on Wikidata value = value .. cfg:getEditIcon() end return value end -- modules that include this module should call the functions with an underscore prepended, e.g.: p._property(args) local function establishCommands(commandList, commandFunc) for _, commandName in pairs(commandList) do local function wikitextWrapper(frame) local args = copyTable(frame.args) args.pointer = 1 loadI18n(aliasesP, frame) return commandFunc(args, commandName) end p[commandName] = wikitextWrapper local function luaWrapper(args) args = copyTable(args) args.pointer = 1 loadI18n(aliasesP) return commandFunc(args, commandName) end p["_" .. commandName] = luaWrapper end end establishCommands(p.claimCommands, claimCommand) establishCommands(p.generalCommands, generalCommand) -- main function that is supposed to be used by wrapper templates function p.main(frame) if not mw.wikibase then return nil end local f, args loadI18n(aliasesP, frame) -- get the parent frame to take the arguments that were passed to the wrapper template frame = frame:getParent() or frame if not frame.args[1] then throwError("no-function-specified") end f = mw.text.trim(frame.args[1]) if f == "main" then throwError("main-called-twice") end assert(p["_"..f], errorText('no-such-function', f)) -- copy arguments from immutable to mutable table args = copyTable(frame.args) -- remove the function name from the list table.remove(args, 1) return p["_"..f](args) end return p dmx757zjxwjs3gyqisdta3qnyngdqd1 Module:Wdentity 828 3322 36509 2025-12-15T17:35:26Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'object = {}; object.label = function(frame) local id = frame.args[1] local lbl = mw.wikibase.label(id) return lbl end object.description = function(frame) local id = frame.args[1] local lbl = mw.wikibase.description(id) return lbl end return object' 36509 Scribunto text/plain object = {}; object.label = function(frame) local id = frame.args[1] local lbl = mw.wikibase.label(id) return lbl end object.description = function(frame) local id = frame.args[1] local lbl = mw.wikibase.description(id) return lbl end return object lu7kmh96ozs1tdkc9icgz4q73vlz5pn Module:WDL 828 3323 36510 2025-12-15T17:36:12Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'require('strict') local getArgs = require('Module:Arguments').getArgs local roundAndPad = require('Module:Decimals')._main local p = {} local function total(frame, played, won, drawn, lost, category) if played == '-' or played == '—' then return '—' elseif not played then if not won and not drawn and not lost then return '' end return frame:expandTemplate{title = 'Number table sorting', args = { (won or 0) + (drawn or 0) + (lost...' 36510 Scribunto text/plain require('strict') local getArgs = require('Module:Arguments').getArgs local roundAndPad = require('Module:Decimals')._main local p = {} local function total(frame, played, won, drawn, lost, category) if played == '-' or played == '—' then return '—' elseif not played then if not won and not drawn and not lost then return '' end return frame:expandTemplate{title = 'Number table sorting', args = { (won or 0) + (drawn or 0) + (lost or 0) }} elseif tonumber(played) ~= (won or 0) + (drawn or 0) + (lost or 0) then return '<span class="error" style="font-size:100%"><abbr title="GP not equal to W + D + L">error</abbr>' .. (category or '') .. '</span>' else return frame:expandTemplate{title = 'Number table sorting', args = { played }} end end local function displayWinPercent(frame, winPercent, decimals) local retval = '' if winPercent < 10 then retval = '<span style="visibility:hidden;color:transparent;">0</span>' end retval = retval .. frame:expandTemplate{title = 'Number table sorting', args = { roundAndPad(winPercent, decimals or 2) }} if winPercent >= 100 then -- XXX: Should >= be ==? This should never be over 100, but that's what the original template had return retval .. '<span style="visibility:hidden;color:transparent;">0</span>' else return retval end end local function pct(frame, played, won, drawn, lost, decimals) if played == '-' or played == '—' then return '—' elseif not played then if not won and not drawn and not lost then return '' elseif (won or 0) + (drawn or 0) + (lost or 0) <= 0 then return '<span style="display:none">!</span>—' end return displayWinPercent(frame, 100 * (won or 1) / ((won or 1) + (drawn or 0) + (lost or 0)), decimals) -- XXX: Why is 1 used in the numerator instead of 0 if won isn't set? It's not like that in the case where played is set. It makes sense in the denominator to avoid a divide by zero elseif tonumber(played) <= 0 then return '<span style="display:none">!</span>—' else return displayWinPercent(frame, 100 * (won or 0) / played, decimals) end end function p.main(frame) local args = getArgs(frame) local tableprefix = string.format('| style="%stext-align:%s" |', args.total and 'font-weight:bold;background:#efefef;' or '', args.align or 'center') local retval = tableprefix .. total(frame, args[1], args[2], args[3], args[4], args.demospace and '' or '[[Category:WDL error]]') .. '\n' retval = retval .. tableprefix .. frame:expandTemplate{title = 'Number table sorting', args = { args[2] }} .. '\n' retval = retval .. tableprefix .. frame:expandTemplate{title = 'Number table sorting', args = { args[3] }} .. '\n' retval = retval .. tableprefix .. frame:expandTemplate{title = 'Number table sorting', args = { args[4] }} .. '\n' if args['for'] then retval = retval .. tableprefix .. frame:expandTemplate{title = 'Number table sorting', args = { args['for'] }} .. '\n' end if args.against then retval = retval .. tableprefix .. frame:expandTemplate{title = 'Number table sorting', args = { args.against }} .. '\n' end if args.diff == 'yes' then if tonumber(args['for']) and tonumber(args.against) then retval = retval .. tableprefix .. string.format('%+d\n', args['for'] - args.against) else retval = retval .. tableprefix .. '<span style="display:none">!</span>—\n' end end return retval .. tableprefix .. pct(frame, args[1], args[2], args[3], args[4], args.decimals) end return p 6ay5kehzsfot6sk64f9rye822xygtad Module:Decimals 828 3324 36511 2025-12-15T17:36:58Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'require('strict') local p = {} function p._main(n, d) local num = tonumber(n) if not num then error('Unable to convert "' .. tostring(n) .. '" to a number') end local decimals = tonumber(d) if not decimals then error('Unable to convert "' .. tostring(d) .. '" to a number') end local maxDecimals = 14 - math.floor(math.log10(num)) -- to allow a maximum of 15 significant figures, which is the highest guaranteed correct with doubles if de...' 36511 Scribunto text/plain require('strict') local p = {} function p._main(n, d) local num = tonumber(n) if not num then error('Unable to convert "' .. tostring(n) .. '" to a number') end local decimals = tonumber(d) if not decimals then error('Unable to convert "' .. tostring(d) .. '" to a number') end local maxDecimals = 14 - math.floor(math.log10(num)) -- to allow a maximum of 15 significant figures, which is the highest guaranteed correct with doubles if decimals > maxDecimals then decimals = maxDecimals end local mult = 10^decimals num = math.floor(num * mult + 0.5) / mult if decimals < 0 then return tostring(num) else return string.format('%.' .. decimals .. 'f', num) end end function p.main(frame) local args, pargs = frame.args, frame:getParent().args return p._main(mw.ext.ParserFunctions.expr(args[1] or pargs[1]), mw.ext.ParserFunctions.expr(args[2] or pargs[2])) end return p o8kb2pqvfkm8gpsa3s6wv581sqgnkjv Module:Wd/i18n 828 3325 36512 2025-12-15T17:37:59Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- The values and functions in this submodule should be localized per wiki. local p = {} function p.init(aliasesP) p = { ["errors"] = { ["unknown-data-type"] = "Unknown or unsupported datatype '$1'.", ["missing-required-parameter"] = "No required parameters defined, needing at least one", ["extra-required-parameter"] = "Parameter '$1' must be defined as optional", ["no-function-specified"] = "You must specify a func...' 36512 Scribunto text/plain -- The values and functions in this submodule should be localized per wiki. local p = {} function p.init(aliasesP) p = { ["errors"] = { ["unknown-data-type"] = "Unknown or unsupported datatype '$1'.", ["missing-required-parameter"] = "No required parameters defined, needing at least one", ["extra-required-parameter"] = "Parameter '$1' must be defined as optional", ["no-function-specified"] = "You must specify a function to call", -- equal to the standard module error message ["main-called-twice"] = 'The function "main" cannot be called twice', ["no-such-function"] = 'The function "$1" does not exist', -- equal to the standard module error message ["malformed-reference"] = "Error: Unable to display the reference properly. See [[Module:wd/doc#References|the documentation]] for details." }, ["info"] = { ["edit-on-wikidata"] = "Edit this on Wikidata" }, ["numeric"] = { ["decimal-mark"] = ".", ["delimiter"] = "," }, ["datetime"] = { ["prefixes"] = { ["decade-period"] = "" }, ["suffixes"] = { ["decade-period"] = "s", ["millennium"] = " millennium", ["century"] = " century", ["million-years"] = " million years", ["billion-years"] = " billion years", ["year"] = " year", ["years"] = " years" }, ["julian-calendar"] = "Julian calendar", -- linked page title ["julian"] = "Julian", ["BCE"] = "BCE", ["CE"] = "CE", ["common-era"] = "Common Era" -- linked page title }, ["coord"] = { ["latitude-north"] = "N", ["latitude-south"] = "S", ["longitude-east"] = "E", ["longitude-west"] = "W", ["degrees"] = "°", ["minutes"] = "'", ["seconds"] = '"', ["separator"] = ", " }, ["values"] = { ["unknown"] = "unknown", ["none"] = "none" }, ["cite"] = { ["version"] = "3", -- increment this each time the below parameters are changed to avoid conflict errors ["web"] = { -- <= left side: all allowed reference properties for *web page sources* per https://www.wikidata.org/wiki/Help:Sources -- => right side: corresponding parameter names in (equivalent of) [[:en:Template:Cite web]] (if non-existent, keep empty i.e. "") [aliasesP.statedIn] = "website", [aliasesP.referenceURL] = "url", [aliasesP.publicationDate] = "date", [aliasesP.retrieved] = "access-date", [aliasesP.title] = "title", [aliasesP.archiveURL] = "archive-url", [aliasesP.archiveDate] = "archive-date", [aliasesP.language] = "language", [aliasesP.author] = "author", -- existence of author1, author2, author3, etc. is assumed [aliasesP.authorNameString] = "author", [aliasesP.publisher] = "publisher", [aliasesP.quote] = "quote", [aliasesP.pages] = "pages" -- extra option }, ["q"] = { -- <= left side: all allowed reference properties for *sources other than web pages* per https://www.wikidata.org/wiki/Help:Sources -- => right side: corresponding parameter names in (equivalent of) [[:en:Template:Cite Q]] (if non-existent, keep empty i.e. "") [aliasesP.statedIn] = "1", [aliasesP.pages] = "pages", [aliasesP.column] = "at", [aliasesP.chapter] = "chapter", [aliasesP.sectionVerseOrParagraph] = "section", ["external-id"] = "id", -- used for any type of database property ID [aliasesP.title] = "title", [aliasesP.publicationDate] = "date", [aliasesP.retrieved] = "access-date" } } } p.getOrdinalSuffix = function(num) if tostring(num):sub(-2,-2) == '1' then return "th" -- 10th, 11th, 12th, 13th, ... 19th end num = tostring(num):sub(-1) if num == '1' then return "st" elseif num == '2' then return "nd" elseif num == '3' then return "rd" else return "th" end end p.addDelimiters = function(n) local left, num, right = string.match(n, "^([^%d]*%d)(%d*)(.-)$") if left and num and right then return left .. (num:reverse():gsub("(%d%d%d)", "%1" .. p['numeric']['delimiter']):reverse()) .. right else return n end end return p end return p delp2h80l8nqa22xb63mor10yq2z7ld Module:WikidataIBNew 828 3326 36513 2025-12-15T17:40:38Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Version: 2023-07-10 -- Module to implement use of a blacklist and whitelist for infobox fields -- Can take a named parameter |qid which is the Wikidata ID for the article -- if not supplied, it will use the Wikidata ID associated with the current page. -- Fields in blacklist are never to be displayed, i.e. module must return nil in all circumstances -- Fields in whitelist return local value if it exists or the Wikidata value otherwise -- The nam...' 36513 Scribunto text/plain -- Version: 2023-07-10 -- Module to implement use of a blacklist and whitelist for infobox fields -- Can take a named parameter |qid which is the Wikidata ID for the article -- if not supplied, it will use the Wikidata ID associated with the current page. -- Fields in blacklist are never to be displayed, i.e. module must return nil in all circumstances -- Fields in whitelist return local value if it exists or the Wikidata value otherwise -- The name of the field that this function is called from is passed in named parameter |name -- The name is compulsory when blacklist or whitelist is used, -- so the module returns nil if it is not supplied. -- blacklist is passed in named parameter |suppressfields (or |spf) -- whitelist is passed in named parameter |fetchwikidata (or |fwd) require("strict") local p = {} local cdate -- initialise as nil and only load _complex_date function if needed -- Module:Complex date is loaded lazily and has the following dependencies: -- Module:Calendar -- Module:ISOdate -- Module:DateI18n -- Module:I18n/complex date -- Module:Ordinal -- Module:I18n/ordinal -- Module:Yesno -- Module:Formatnum -- Module:Linguistic -- -- The following, taken from https://www.mediawiki.org/wiki/Wikibase/DataModel#Dates_and_times, -- is needed to use Module:Complex date which seemingly requires date precision as a string. -- It would work better if only the authors of the mediawiki page could spell 'millennium'. local dp = { [6] = "millennium", [7] = "century", [8] = "decade", [9] = "year", [10] = "month", [11] = "day", } local i18n = { ["errors"] = { ["property-not-found"] = "Property not found.", ["No property supplied"] = "No property supplied", ["entity-not-found"] = "Wikidata entity not found.", ["unknown-claim-type"] = "Unknown claim type.", ["unknown-entity-type"] = "Unknown entity type.", ["qualifier-not-found"] = "Qualifier not found.", ["site-not-found"] = "Wikimedia project not found.", ["labels-not-found"] = "No labels found.", ["descriptions-not-found"] = "No descriptions found.", ["aliases-not-found"] = "No aliases found.", ["unknown-datetime-format"] = "Unknown datetime format.", ["local-article-not-found"] = "Article is available on Wikidata, but not on Wikipedia", ["dab-page"] = " (dab)", }, ["months"] = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }, ["century"] = "century", ["BC"] = "BC", ["BCE"] = "BCE", ["ordinal"] = { [1] = "st", [2] = "nd", [3] = "rd", ["default"] = "th" }, ["filespace"] = "File", ["Unknown"] = "Unknown", ["NaN"] = "Not a number", -- set the following to the name of a tracking category, -- e.g. "[[Category:Articles with missing Wikidata information]]", or "" to disable: ["missinginfocat"] = "[[Category:Articles with missing Wikidata information]]", ["editonwikidata"] = "Edit this on Wikidata", ["latestdatequalifier"] = function (date) return "before " .. date end, -- some languages, e.g. Bosnian use a period as a suffix after each number in a date ["datenumbersuffix"] = "", ["list separator"] = ", ", ["multipliers"] = { [0] = "", [3] = " thousand", [6] = " million", [9] = " billion", [12] = " trillion", } } -- This allows an internationisation module to override the above table if 'en' ~= mw.getContentLanguage():getCode() then require("Module:i18n").loadI18n("Module:WikidataIB/i18n", i18n) end -- This piece of html implements a collapsible container. Check the classes exist on your wiki. local collapsediv = '<div class="mw-collapsible mw-collapsed" style="width:100%; overflow:auto;" data-expandtext="{{int:show}}" data-collapsetext="{{int:hide}}">' -- Some items should not be linked. -- Each wiki can create a list of those in Module:WikidataIB/nolinks -- It should return a table called itemsindex, containing true for each item not to be linked local donotlink = {} local nolinks_exists, nolinks = pcall(mw.loadData, "Module:WikidataIB/nolinks") if nolinks_exists then donotlink = nolinks.itemsindex end -- To satisfy Wikipedia:Manual of Style/Titles, certain types of items are italicised, and others are quoted. -- The submodule [[Module:WikidataIB/titleformats]] lists the entity-ids used in 'instance of' (P31), -- which allows this module to identify the values that should be formatted. -- WikidataIB/titleformats exports a table p.formats, which is indexed by entity-id, and contains the value " or '' local formats = {} local titleformats_exists, titleformats = pcall(mw.loadData, "Module:WikidataIB/titleformats") if titleformats_exists then formats = titleformats.formats end ------------------------------------------------------------------------------- -- Private functions ------------------------------------------------------------------------------- -- ------------------------------------------------------------------------------- -- makeOrdinal needs to be internationalised along with the above: -- takes cardinal number as a numeric and returns the ordinal as a string -- we need three exceptions in English for 1st, 2nd, 3rd, 21st, .. 31st, etc. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local makeOrdinal = function(cardinal) local ordsuffix = i18n.ordinal.default if cardinal % 10 == 1 then ordsuffix = i18n.ordinal[1] elseif cardinal % 10 == 2 then ordsuffix = i18n.ordinal[2] elseif cardinal % 10 == 3 then ordsuffix = i18n.ordinal[3] end -- In English, 1, 21, 31, etc. use 'st', but 11, 111, etc. use 'th' -- similarly for 12 and 13, etc. if (cardinal % 100 == 11) or (cardinal % 100 == 12) or (cardinal % 100 == 13) then ordsuffix = i18n.ordinal.default end return tostring(cardinal) .. ordsuffix end ------------------------------------------------------------------------------- -- findLang takes a "langcode" parameter if supplied and valid -- otherwise it tries to create it from the user's set language ({{int:lang}}) -- failing that it uses the wiki's content language. -- It returns a language object ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local findLang = function(langcode) local langobj langcode = mw.text.trim(langcode or "") if mw.language.isKnownLanguageTag(langcode) then langobj = mw.language.new( langcode ) else langcode = mw.getCurrentFrame():callParserFunction('int', {'lang'}) if mw.language.isKnownLanguageTag(langcode) then langobj = mw.language.new( langcode ) else langobj = mw.language.getContentLanguage() end end return langobj end ------------------------------------------------------------------------------- -- _getItemLangCode takes a qid parameter (using the current page's qid if blank) -- If the item for that qid has property country (P17) it looks at the first preferred value -- If the country has an official language (P37), it looks at the first preferred value -- If that official language has a language code (P424), it returns the first preferred value -- Otherwise it returns nothing. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local _getItemLangCode = function(qid) qid = mw.text.trim(qid or ""):upper() if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid then return end local prop17 = mw.wikibase.getBestStatements(qid, "P17")[1] if not prop17 or prop17.mainsnak.snaktype ~= "value" then return end local qid17 = prop17.mainsnak.datavalue.value.id local prop37 = mw.wikibase.getBestStatements(qid17, "P37")[1] if not prop37 or prop37.mainsnak.snaktype ~= "value" then return end local qid37 = prop37.mainsnak.datavalue.value.id local prop424 = mw.wikibase.getBestStatements(qid37, "P424")[1] if not prop424 or prop424.mainsnak.snaktype ~= "value" then return end return prop424.mainsnak.datavalue.value end ------------------------------------------------------------------------------- -- roundto takes a number (x) -- and returns it rounded to (sf) significant figures ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local roundto = function(x, sf) if x == 0 then return 0 end local s = 1 if x < 0 then x = -x s = -1 end if sf < 1 then sf = 1 end local p = 10 ^ (math.floor(math.log10(x)) - sf + 1) x = math.floor(x / p + 0.5) * p * s -- if it's integral, cast to an integer: if x == math.floor(x) then x = math.floor(x) end return x end ------------------------------------------------------------------------------- -- decimalToDMS takes a decimal degrees (x) with precision (p) -- and returns degrees/minutes/seconds according to the precision ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local decimalToDMS = function(x, p) -- if p is not supplied, use a precision around 0.1 seconds if not tonumber(p) then p = 1e-4 end local d = math.floor(x) local ms = (x - d) * 60 if p > 0.5 then -- precision is > 1/2 a degree if ms > 30 then d = d + 1 end ms = 0 end local m = math.floor(ms) local s = (ms - m) * 60 if p > 0.008 then -- precision is > 1/2 a minute if s > 30 then m = m +1 end s = 0 elseif p > 0.00014 then -- precision is > 1/2 a second s = math.floor(s + 0.5) elseif p > 0.000014 then -- precision is > 1/20 second s = math.floor(10 * s + 0.5) / 10 elseif p > 0.0000014 then -- precision is > 1/200 second s = math.floor(100 * s + 0.5) / 100 else -- cap it at 3 dec places for now s = math.floor(1000 * s + 0.5) / 1000 end return d, m, s end ------------------------------------------------------------------------------- -- decimalPrecision takes a decimal (x) with precision (p) -- and returns x rounded approximately to the given precision -- precision should be between 1 and 1e-6, preferably a power of 10. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local decimalPrecision = function(x, p) local s = 1 if x < 0 then x = -x s = -1 end -- if p is not supplied, pick an arbitrary precision if not tonumber(p) then p = 1e-4 elseif p > 1 then p = 1 elseif p < 1e-6 then p = 1e-6 else p = 10 ^ math.floor(math.log10(p)) end x = math.floor(x / p + 0.5) * p * s -- if it's integral, cast to an integer: if x == math.floor(x) then x = math.floor(x) end -- if it's less than 1e-4, it will be in exponent form, so return a string with 6dp -- 9e-5 becomes 0.000090 if math.abs(x) < 1e-4 then x = string.format("%f", x) end return x end ------------------------------------------------------------------------------- -- formatDate takes a datetime of the usual format from mw.wikibase.entity:formatPropertyValues -- like "1 August 30 BCE" as parameter 1 -- and formats it according to the df (date format) and bc parameters -- df = ["dmy" / "mdy" / "y"] default will be "dmy" -- bc = ["BC" / "BCE"] default will be "BCE" ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local format_Date = function(datetime, dateformat, bc) local datetime = datetime or "1 August 30 BCE" -- in case of nil value -- chop off multiple vales and/or any hours, mins, etc. -- keep anything before punctuation - we just want a single date: local dateval = string.match( datetime, "[%w ]+") local dateformat = string.lower(dateformat or "dmy") -- default to dmy local bc = string.upper(bc or "") -- can't use nil for bc -- we only want to accept two possibilities: BC or default to BCE if bc == "BC" then bc = "&nbsp;" .. i18n["BC"] -- prepend a non-breaking space. else bc = "&nbsp;" .. i18n["BCE"] end local postchrist = true -- start by assuming no BCE local dateparts = {} for word in string.gmatch(dateval, "%w+") do if word == "BCE" or word == "BC" then -- *** internationalise later *** postchrist = false else -- we'll keep the parts that are not 'BCE' in a table dateparts[#dateparts + 1] = word end end if postchrist then bc = "" end -- set AD dates to no suffix *** internationalise later *** local sep = "&nbsp;" -- separator is nbsp local fdate = table.concat(dateparts, sep) -- set formatted date to same order as input -- if we have day month year, check dateformat if #dateparts == 3 then if dateformat == "y" then fdate = dateparts[3] elseif dateformat == "mdy" then fdate = dateparts[2] .. sep .. dateparts[1] .. "," .. sep .. dateparts[3] end elseif #dateparts == 2 and dateformat == "y" then fdate = dateparts[2] end return fdate .. bc end ------------------------------------------------------------------------------- -- dateFormat is the handler for properties that are of type "time" -- It takes timestamp, precision (6 to 11 per mediawiki), dateformat (y/dmy/mdy), BC format (BC/BCE), -- a plaindate switch (yes/no/adj) to en/disable "sourcing circumstances"/use adjectival form, -- any qualifiers for the property, the language, and any adjective to use like 'before'. -- It passes the date through the "complex date" function -- and returns a string with the internatonalised date formatted according to preferences. ------------------------------------------------------------------------------- -- Dependencies: findLang(); cdate(); dp[] ------------------------------------------------------------------------------- local dateFormat = function(timestamp, dprec, df, bcf, pd, qualifiers, lang, adj, model) -- output formatting according to preferences (y/dmy/mdy/ymd) df = (df or ""):lower() -- if ymd is required, return the part of the timestamp in YYYY-MM-DD form -- but apply Year zero#Astronomers fix: 1 BC = 0000; 2 BC = -0001; etc. if df == "ymd" then if timestamp:sub(1,1) == "+" then return timestamp:sub(2,11) else local yr = tonumber(timestamp:sub(2,5)) - 1 yr = ("000" .. yr):sub(-4) if yr ~= "0000" then yr = "-" .. yr end return yr .. timestamp:sub(6,11) end end -- A year can be stored like this: "+1872-00-00T00:00:00Z", -- which is processed here as if it were the day before "+1872-01-01T00:00:00Z", -- and that's the last day of 1871, so the year is wrong. -- So fix the month 0, day 0 timestamp to become 1 January instead: timestamp = timestamp:gsub("%-00%-00T", "-01-01T") -- just in case date precision is missing dprec = dprec or 11 -- override more precise dates if required dateformat is year alone: if df == "y" and dprec > 9 then dprec = 9 end -- complex date only deals with precisions from 6 to 11, so clip range dprec = dprec>11 and 11 or dprec dprec = dprec<6 and 6 or dprec -- BC format is "BC" or "BCE" bcf = (bcf or ""):upper() -- plaindate only needs the first letter (y/n/a) pd = (pd or ""):sub(1,1):lower() if pd == "" or pd == "n" or pd == "f" or pd == "0" then pd = false end -- in case language isn't passed lang = lang or findLang().code -- set adj as empty if nil adj = adj or "" -- extract the day, month, year from the timestamp local bc = timestamp:sub(1, 1)=="-" and "BC" or "" local year, month, day = timestamp:match("[+-](%d*)-(%d*)-(%d*)T") local iso = tonumber(year) -- if year is missing, let it throw an error -- this will adjust the date format to be compatible with cdate -- possible formats are Y, YY, YYY0, YYYY, YYYY-MM, YYYY-MM-DD if dprec == 6 then iso = math.floor( (iso - 1) / 1000 ) + 1 end if dprec == 7 then iso = math.floor( (iso - 1) / 100 ) + 1 end if dprec == 8 then iso = math.floor( iso / 10 ) .. "0" end if dprec == 10 then iso = year .. "-" .. month end if dprec == 11 then iso = year .. "-" .. month .. "-" .. day end -- add "circa" (Q5727902) from "sourcing circumstances" (P1480) local sc = not pd and qualifiers and qualifiers.P1480 if sc then for k1, v1 in pairs(sc) do if v1.datavalue and v1.datavalue.value.id == "Q5727902" then adj = "circa" break end end end -- deal with Julian dates: -- no point in saying that dates before 1582 are Julian - they are by default -- doesn't make sense for dates less precise than year -- we can suppress it by setting |plaindate, e.g. for use in constructing categories. local calendarmodel = "" if tonumber(year) > 1582 and dprec > 8 and not pd and model == "http://www.wikidata.org/entity/Q1985786" then calendarmodel = "julian" end if not cdate then cdate = require("Module:Complex date")._complex_date end local fdate = cdate(calendarmodel, adj, tostring(iso), dp[dprec], bc, "", "", "", "", lang, 1) -- this may have QuickStatements info appended to it in a div, so remove that fdate = fdate:gsub(' <div style="display: none;">[^<]*</div>', '') -- it may also be returned wrapped in a microformat, so remove that fdate = fdate:gsub("<[^>]*>", "") -- there may be leading zeros that we should remove fdate = fdate:gsub("^0*", "") -- if a plain date is required, then remove any links (like BC linked) if pd then fdate = fdate:gsub("%[%[.*|", ""):gsub("]]", "") end -- if 'circa', use the abbreviated form *** internationalise later *** fdate = fdate:gsub('circa ', '<abbr title="circa">c.</abbr>&nbsp;') -- deal with BC/BCE if bcf == "BCE" then fdate = fdate:gsub('BC', 'BCE') end -- deal with mdy format if df == "mdy" then fdate = fdate:gsub("(%d+) (%w+) (%d+)", "%2 %1, %3") end -- deal with adjectival form *** internationalise later *** if pd == "a" then fdate = fdate:gsub(' century', '-century') end return fdate end ------------------------------------------------------------------------------- -- parseParam takes a (string) parameter, e.g. from the list of frame arguments, -- and makes "false", "no", and "0" into the (boolean) false -- it makes the empty string and nil into the (boolean) value passed as default -- allowing the parameter to be true or false by default. -- It returns a boolean. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local parseParam = function(param, default) if type(param) == "boolean" then param = tostring(param) end if param and param ~= "" then param = param:lower() if (param == "false") or (param:sub(1,1) == "n") or (param == "0") then return false else return true end else return default end end ------------------------------------------------------------------------------- -- _getSitelink takes the qid of a Wikidata entity passed as |qid= -- It takes an optional parameter |wiki= to determine which wiki is to be checked for a sitelink -- If the parameter is blank, then it uses the local wiki. -- If there is a sitelink to an article available, it returns the plain text link to the article -- If there is no sitelink, it returns nil. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local _getSitelink = function(qid, wiki) qid = (qid or ""):upper() if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid then return nil end wiki = wiki or "" local sitelink if wiki == "" then sitelink = mw.wikibase.getSitelink(qid) else sitelink = mw.wikibase.getSitelink(qid, wiki) end return sitelink end ------------------------------------------------------------------------------- -- _getCommonslink takes an optional qid of a Wikidata entity passed as |qid= -- It returns one of the following in order of preference: -- the Commons sitelink of the Wikidata entity - but not if onlycat=true and it's not a category; -- the Commons sitelink of the topic's main category of the Wikidata entity; -- the Commons category of the Wikidata entity - unless fallback=false. ------------------------------------------------------------------------------- -- Dependencies: _getSitelink(); parseParam() ------------------------------------------------------------------------------- local _getCommonslink = function(qid, onlycat, fallback) qid = (qid or ""):upper() if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid then return nil end onlycat = parseParam(onlycat, false) if fallback == "" then fallback = nil end local sitelink = _getSitelink(qid, "commonswiki") if onlycat and sitelink and sitelink:sub(1,9) ~= "Category:" then sitelink = nil end if not sitelink then -- check for topic's main category local prop910 = mw.wikibase.getBestStatements(qid, "P910")[1] if prop910 then local tmcid = prop910.mainsnak.datavalue and prop910.mainsnak.datavalue.value.id sitelink = _getSitelink(tmcid, "commonswiki") end if not sitelink then -- check for list's main category local prop1754 = mw.wikibase.getBestStatements(qid, "P1754")[1] if prop1754 then local tmcid = prop1754.mainsnak.datavalue and prop1754.mainsnak.datavalue.value.id sitelink = _getSitelink(tmcid, "commonswiki") end end end if not sitelink and fallback then -- check for Commons category (string value) local prop373 = mw.wikibase.getBestStatements(qid, "P373")[1] if prop373 then sitelink = prop373.mainsnak.datavalue and prop373.mainsnak.datavalue.value if sitelink then sitelink = "Category:" .. sitelink end end end return sitelink end ------------------------------------------------------------------------------- -- The label in a Wikidata item is subject to vulnerabilities -- that an attacker might try to exploit. -- It needs to be 'sanitised' by removing any wikitext before use. -- If it doesn't exist, return the id for the item -- a second (boolean) value is also returned, value is true when the label exists ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local labelOrId = function(id, lang) if lang == "default" then lang = findLang().code end local label if lang then label = mw.wikibase.getLabelByLang(id, lang) else label = mw.wikibase.getLabel(id) end if label then return mw.text.nowiki(label), true else return id, false end end ------------------------------------------------------------------------------- -- linkedItem takes an entity-id and returns a string, linked if possible. -- This is the handler for "wikibase-item". Preferences: -- 1. Display linked disambiguated sitelink if it exists -- 2. Display linked label if it is a redirect -- 3. TBA: Display an inter-language link for the label if it exists other than in default language -- 4. Display unlinked label if it exists -- 5. Display entity-id for now to indicate a label could be provided -- dtxt is text to be used instead of label, or nil. -- shortname is boolean switch to use P1813 (short name) instead of label if true. -- lang is the current language code. -- uselbl is boolean switch to force display of the label instead of the sitelink (default: false) -- linkredir is boolean switch to allow linking to a redirect (default: false) -- formatvalue is boolean switch to allow formatting as italics or quoted (default: false) ------------------------------------------------------------------------------- -- Dependencies: labelOrId(); donotlink[] ------------------------------------------------------------------------------- local linkedItem = function(id, args) local lprefix = (args.lp or args.lprefix or args.linkprefix or ""):gsub('"', '') -- toughen against nil values passed local lpostfix = (args.lpostfix or ""):gsub('"', '') local prefix = (args.prefix or ""):gsub('"', '') local postfix = (args.postfix or ""):gsub('"', '') local dtxt = args.dtxt local shortname = args.shortname or args.sn local lang = args.lang or "en" -- fallback to default if missing local uselbl = args.uselabel or args.uselbl uselbl = parseParam(uselbl, false) local linkredir = args.linkredir linkredir = parseParam(linkredir, false) local formatvalue = args.formatvalue or args.fv formatvalue = parseParam(formatvalue, false) -- see if item might need italics or quotes local fmt = "" if next(formats) and formatvalue then for k, v in ipairs( mw.wikibase.getBestStatements(id, "P31") ) do if v.mainsnak.datavalue and formats[v.mainsnak.datavalue.value.id] then fmt = formats[v.mainsnak.datavalue.value.id] break -- pick the first match end end end local disp local sitelink = mw.wikibase.getSitelink(id) local label, islabel if dtxt then label, islabel = dtxt, true elseif shortname then -- see if there is a shortname in our language, and set label to it for k, v in ipairs( mw.wikibase.getBestStatements(id, "P1813") ) do if v.mainsnak.datavalue.value.language == lang then label, islabel = v.mainsnak.datavalue.value.text, true break end -- test for language match end -- loop through values of short name -- if we have no label set, then there was no shortname available if not islabel then label, islabel = labelOrId(id) shortname = false end else label, islabel = labelOrId(id) end if mw.site.siteName ~= "Wikimedia Commons" then if sitelink then if not (dtxt or shortname) then -- if sitelink and label are the same except for case, no need to process further if sitelink:lower() ~= label:lower() then -- strip any namespace or dab from the sitelink local pos = sitelink:find(":") or 0 local slink = sitelink if pos > 0 then local pfx = sitelink:sub(1,pos-1) if mw.site.namespaces[pfx] then -- that prefix is a valid namespace, so remove it slink = sitelink:sub(pos+1) end end -- remove stuff after commas or inside parentheses - ie. dabs slink = slink:gsub("%s%(.+%)$", ""):gsub(",.+$", "") -- if uselbl is false, use sitelink instead of label if not uselbl then -- use slink as display, preserving label case - find("^%u") is true for 1st char uppercase if label:find("^%u") then label = slink:gsub("^(%l)", string.upper) else label = slink:gsub("^(%u)", string.lower) end end end end if donotlink[label] then disp = prefix .. fmt .. label .. fmt .. postfix else disp = "[[" .. lprefix .. sitelink .. lpostfix .. "|" .. prefix .. fmt .. label .. fmt .. postfix .. "]]" end elseif islabel then -- no sitelink, label exists, so check if a redirect with that title exists, if linkredir is true -- display plain label by default disp = prefix .. fmt .. label .. fmt .. postfix if linkredir then local artitle = mw.title.new(label, 0) -- only nil if label has invalid chars if not donotlink[label] and artitle and artitle.redirectTarget then -- there's a redirect with the same title as the label, so let's link to that disp = "[[".. lprefix .. label .. lpostfix .. "|" .. prefix .. fmt .. label .. fmt .. postfix .. "]]" end end -- test if article title exists as redirect on current Wiki else -- no sitelink and no label, so return whatever was returned from labelOrId for now -- add tracking category [[Category:Articles with missing Wikidata information]] -- for enwiki, just return the tracking category if mw.wikibase.getGlobalSiteId() == "enwiki" then disp = i18n.missinginfocat else disp = prefix .. label .. postfix .. i18n.missinginfocat end end else local ccat = mw.wikibase.getBestStatements(id, "P373")[1] if ccat and ccat.mainsnak.datavalue then ccat = ccat.mainsnak.datavalue.value disp = "[[" .. lprefix .. "Category:" .. ccat .. lpostfix .. "|" .. prefix .. label .. postfix .. "]]" elseif sitelink then -- this asumes that if a sitelink exists, then a label also exists disp = "[[" .. lprefix .. sitelink .. lpostfix .. "|" .. prefix .. label .. postfix .. "]]" else -- no sitelink and no Commons cat, so return label from labelOrId for now disp = prefix .. label .. postfix end end return disp end ------------------------------------------------------------------------------- -- sourced takes a table representing a statement that may or may not have references -- it looks for a reference sourced to something not containing the word "wikipedia" -- it returns a boolean = true if it finds a sourced reference. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local sourced = function(claim) if claim.references then for kr, vr in pairs(claim.references) do local ref = mw.wikibase.renderSnaks(vr.snaks) if not ref:find("Wiki") then return true end end end end ------------------------------------------------------------------------------- -- setRanks takes a flag (parameter passed) that requests the values to return -- "b[est]" returns preferred if available, otherwise normal -- "p[referred]" returns preferred -- "n[ormal]" returns normal -- "d[eprecated]" returns deprecated -- multiple values are allowed, e.g. "preferred normal" (which is the default) -- "best" will override the other flags, and set p and n ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local setRanks = function(rank) rank = (rank or ""):lower() -- if nothing passed, return preferred and normal -- if rank == "" then rank = "p n" end local ranks = {} for w in string.gmatch(rank, "%a+") do w = w:sub(1,1) if w == "b" or w == "p" or w == "n" or w == "d" then ranks[w] = true end end -- check if "best" is requested or no ranks requested; and if so, set preferred and normal if ranks.b or not next(ranks) then ranks.p = true ranks.n = true end return ranks end ------------------------------------------------------------------------------- -- parseInput processes the Q-id , the blacklist and the whitelist -- if an input parameter is supplied, it returns that and ends the call. -- it returns (1) either the qid or nil indicating whether or not the call should continue -- and (2) a table containing all of the statements for the propertyID and relevant Qid -- if "best" ranks are requested, it returns those instead of all non-deprecated ranks ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- local parseInput = function(frame, input_parm, property_id) -- There may be a local parameter supplied, if it's blank, set it to nil input_parm = mw.text.trim(input_parm or "") if input_parm == "" then input_parm = nil end -- return nil if Wikidata is not available if not mw.wikibase then return false, input_parm end local args = frame.args -- can take a named parameter |qid which is the Wikidata ID for the article. -- if it's not supplied, use the id for the current page local qid = args.qid or "" if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end -- if there's no Wikidata item for the current page return nil if not qid then return false, input_parm end -- The blacklist is passed in named parameter |suppressfields local blacklist = args.suppressfields or args.spf or "" -- The whitelist is passed in named parameter |fetchwikidata local whitelist = args.fetchwikidata or args.fwd or "" if whitelist == "" then whitelist = "NONE" end -- The name of the field that this function is called from is passed in named parameter |name local fieldname = args.name or "" if blacklist ~= "" then -- The name is compulsory when blacklist is used, so return nil if it is not supplied if fieldname == "" then return false, nil end -- If this field is on the blacklist, then return nil if blacklist:find(fieldname) then return false, nil end end -- If we got this far then we're not on the blacklist -- The blacklist overrides any locally supplied parameter as well -- If a non-blank input parameter was supplied return it if input_parm then return false, input_parm end -- We can filter out non-valid properties if property_id:sub(1,1):upper() ~="P" or property_id == "P0" then return false, nil end -- Otherwise see if this field is on the whitelist: -- needs a bit more logic because find will return its second value = 0 if fieldname is "" -- but nil if fieldname not found on whitelist local _, found = whitelist:find(fieldname) found = ((found or 0) > 0) if whitelist ~= 'ALL' and (whitelist:upper() == "NONE" or not found) then return false, nil end -- See what's on Wikidata (the call always returns a table, but it may be empty): local props = {} if args.reqranks.b then props = mw.wikibase.getBestStatements(qid, property_id) else props = mw.wikibase.getAllStatements(qid, property_id) end if props[1] then return qid, props end -- no property on Wikidata return false, nil end ------------------------------------------------------------------------------- -- createicon assembles the "Edit at Wikidata" pen icon. -- It returns a wikitext string inside a span class="penicon" -- if entityID is nil or empty, the ID associated with current page is used -- langcode and propertyID may be nil or empty ------------------------------------------------------------------------------- -- Dependencies: i18n[]; ------------------------------------------------------------------------------- local createicon = function(langcode, entityID, propertyID) langcode = langcode or "" if not entityID or entityID == "" then entityID= mw.wikibase.getEntityIdForCurrentPage() end propertyID = propertyID or "" local icon = "&nbsp;<span class='penicon autoconfirmed-show'>[[" -- "&nbsp;<span data-bridge-edit-flow='overwrite' class='penicon'>[[" -> enable Wikidata Bridge .. i18n["filespace"] .. ":OOjs UI icon edit-ltr-progressive.svg |frameless |text-top |10px |alt=" .. i18n["editonwikidata"] .. "|link=https://www.wikidata.org/wiki/" .. entityID if langcode ~= "" then icon = icon .. "?uselang=" .. langcode end if propertyID ~= "" then icon = icon .. "#" .. propertyID end icon = icon .. "|" .. i18n["editonwikidata"] .. "]]</span>" return icon end ------------------------------------------------------------------------------- -- assembleoutput takes the sequence table containing the property values -- and formats it according to switches given. It returns a string or nil. -- It uses the entityID (and optionally propertyID) to create a link in the pen icon. ------------------------------------------------------------------------------- -- Dependencies: parseParam(); ------------------------------------------------------------------------------- local assembleoutput = function(out, args, entityID, propertyID) -- sorted is a boolean passed to enable sorting of the values returned -- if nothing or an empty string is passed set it false -- if "false" or "no" or "0" is passed set it false local sorted = parseParam(args.sorted, false) -- noicon is a boolean passed to suppress the trailing "edit at Wikidata" icon -- for use when the value is processed further by the infobox -- if nothing or an empty string is passed set it false -- if "false" or "no" or "0" is passed set it false local noic = parseParam(args.noicon, false) -- list is the name of a template that a list of multiple values is passed through -- examples include "hlist" and "ubl" -- setting it to "prose" produces something like "1, 2, 3, and 4" local list = args.list or "" -- sep is a string that is used to separate multiple returned values -- if nothing or an empty string is passed set it to the default -- any double-quotes " are stripped out, so that spaces may be passed -- e.g. |sep=" - " local sepdefault = i18n["list separator"] local separator = args.sep or "" separator = string.gsub(separator, '"', '') if separator == "" then separator = sepdefault end -- collapse is a number that determines the maximum number of returned values -- before the output is collapsed. -- Zero or not a number result in no collapsing (default becomes 0). local collapse = tonumber(args.collapse) or 0 -- replacetext (rt) is a string that is returned instead of any non-empty Wikidata value -- this is useful for tracking and debugging local replacetext = mw.text.trim(args.rt or args.replacetext or "") -- if there's anything to return, then return a list -- comma-separated by default, but may be specified by the sep parameter -- optionally specify a hlist or ubl or a prose list, etc. local strout if #out > 0 then if sorted then table.sort(out) end -- if there's something to display and a pen icon is wanted, add it the end of the last value local hasdisplay = false for i, v in ipairs(out) do if v ~= i18n.missinginfocat then hasdisplay = true break end end if not noic and hasdisplay then out[#out] = out[#out] .. createicon(args.langobj.code, entityID, propertyID) end if list == "" then strout = table.concat(out, separator) elseif list:lower() == "prose" then strout = mw.text.listToText( out ) else strout = mw.getCurrentFrame():expandTemplate{title = list, args = out} end if collapse >0 and #out > collapse then strout = collapsediv .. strout .. "</div>" end else strout = nil -- no items had valid reference end if replacetext ~= "" and strout then strout = replacetext end return strout end ------------------------------------------------------------------------------- -- rendersnak takes a table (propval) containing the information stored on one property value -- and returns the value as a string and its language if monolingual text. -- It handles data of type: -- wikibase-item -- time -- string, url, commonsMedia, external-id -- quantity -- globe-coordinate -- monolingualtext -- It also requires linked, the link/pre/postfixes, uabbr, and the arguments passed from frame. -- The optional filter parameter allows quantities to be be filtered by unit Qid. ------------------------------------------------------------------------------- -- Dependencies: parseParam(); labelOrId(); i18n[]; dateFormat(); -- roundto(); decimalPrecision(); decimalToDMS(); linkedItem(); ------------------------------------------------------------------------------- local rendersnak = function(propval, args, linked, lpre, lpost, pre, post, uabbr, filter) lpre = lpre or "" lpost = lpost or "" pre = pre or "" post = post or "" args.lang = args.lang or findLang().code -- allow values to display a fixed text instead of label local dtxt = args.displaytext or args.dt if dtxt == "" then dtxt = nil end -- switch to use display of short name (P1813) instead of label local shortname = args.shortname or args.sn shortname = parseParam(shortname, false) local snak = propval.mainsnak or propval local dtype = snak.datatype local dv = snak.datavalue dv = dv and dv.value -- value and monolingual text language code returned local val, mlt if propval.rank and not args.reqranks[propval.rank:sub(1, 1)] then -- val is nil: value has a rank that isn't requested ------------------------------------ elseif snak.snaktype == "somevalue" then -- value is unknown val = i18n["Unknown"] ------------------------------------ elseif snak.snaktype == "novalue" then -- value is none -- val = "No value" -- don't return anything ------------------------------------ elseif dtype == "wikibase-item" then -- data type is a wikibase item: -- it's wiki-linked value, so output as link if enabled and possible local qnumber = dv.id if linked then val = linkedItem(qnumber, args) else -- no link wanted so check for display-text, otherwise test for lang code local label, islabel if dtxt then label = dtxt else label, islabel = labelOrId(qnumber) local langlabel = mw.wikibase.getLabelByLang(qnumber, args.lang) if langlabel then label = mw.text.nowiki( langlabel ) end end val = pre .. label .. post end -- test for link required ------------------------------------ elseif dtype == "time" then -- data type is time: -- time is in timestamp format -- date precision is integer per mediawiki -- output formatting according to preferences (y/dmy/mdy) -- BC format as BC or BCE -- plaindate is passed to disable looking for "sourcing cirumstances" -- or to set the adjectival form -- qualifiers (if any) is a nested table or nil -- lang is given, or user language, or site language -- -- Here we can check whether args.df has a value -- If not, use code from Module:Sandbox/RexxS/Getdateformat to set it from templates like {{Use mdy dates}} val = dateFormat(dv.time, dv.precision, args.df, args.bc, args.pd, propval.qualifiers, args.lang, "", dv.calendarmodel) ------------------------------------ -- data types which are strings: elseif dtype == "commonsMedia" or dtype == "external-id" or dtype == "string" or dtype == "url" then -- commonsMedia or external-id or string or url -- all have mainsnak.datavalue.value as string if (lpre == "" or lpre == ":") and lpost == "" then -- don't link if no linkpre/postfix or linkprefix is just ":" val = pre .. dv .. post elseif dtype == "external-id" then val = "[" .. lpre .. dv .. lpost .. " " .. pre .. dv .. post .. "]" else val = "[[" .. lpre .. dv .. lpost .. "|" .. pre .. dv .. post .. "]]" end -- check for link requested (i.e. either linkprefix or linkpostfix exists) ------------------------------------ -- data types which are quantities: elseif dtype == "quantity" then -- quantities have mainsnak.datavalue.value.amount and mainsnak.datavalue.value.unit -- the unit is of the form http://www.wikidata.org/entity/Q829073 -- -- implement a switch to turn on/off numerical formatting later local fnum = true -- -- a switch to turn on/off conversions - only for en-wiki local conv = parseParam(args.conv or args.convert, false) -- if we have conversions, we won't have formatted numbers or scales if conv then uabbr = true fnum = false args.scale = "0" end -- -- a switch to turn on/off showing units, default is true local showunits = parseParam(args.su or args.showunits, true) -- -- convert amount to a number local amount = tonumber(dv.amount) or i18n["NaN"] -- -- scale factor for millions, billions, etc. local sc = tostring(args.scale or ""):sub(1,1):lower() local scale if sc == "a" then -- automatic scaling if amount > 1e15 then scale = 12 elseif amount > 1e12 then scale = 9 elseif amount > 1e9 then scale = 6 elseif amount > 1e6 then scale = 3 else scale = 0 end else scale = tonumber(args.scale) or 0 if scale < 0 or scale > 12 then scale = 0 end scale = math.floor(scale/3) * 3 end local factor = 10^scale amount = amount / factor -- ranges: local range = "" -- check if upper and/or lower bounds are given and significant local upb = tonumber(dv.upperBound) local lowb = tonumber(dv.lowerBound) if upb and lowb then -- differences rounded to 2 sig fig: local posdif = roundto(upb - amount, 2) / factor local negdif = roundto(amount - lowb, 2) / factor upb, lowb = amount + posdif, amount - negdif -- round scaled numbers to integers or 4 sig fig if (scale > 0 or sc == "a") then if amount < 1e4 then amount = roundto(amount, 4) else amount = math.floor(amount + 0.5) end end if fnum then amount = args.langobj:formatNum( amount ) end if posdif ~= negdif then -- non-symmetrical range = " +" .. posdif .. " -" .. negdif elseif posdif ~= 0 then -- symmetrical and non-zero range = " ±" .. posdif else -- otherwise range is zero, so leave it as "" end else -- round scaled numbers to integers or 4 sig fig if (scale > 0 or sc == "a") then if amount < 1e4 then amount = roundto(amount, 4) else amount = math.floor(amount + 0.5) end end if fnum then amount = args.langobj:formatNum( amount ) end end -- unit names and symbols: -- extract the qid in the form 'Qnnn' from the value.unit url -- and then fetch the label from that - or symbol if unitabbr is true local unit = "" local usep = "" local usym = "" local unitqid = string.match( dv.unit, "(Q%d+)" ) if filter and unitqid ~= filter then return nil end if unitqid and showunits then local uname = mw.wikibase.getLabelByLang(unitqid, args.lang) or "" if uname ~= "" then usep, unit = " ", uname end if uabbr then -- see if there's a unit symbol (P5061) local unitsymbols = mw.wikibase.getBestStatements(unitqid, "P5061") -- construct fallback table, add local lang and multiple languages local fbtbl = mw.language.getFallbacksFor( args.lang ) table.insert( fbtbl, 1, args.lang ) table.insert( fbtbl, 1, "mul" ) local found = false for idx1, us in ipairs(unitsymbols) do for idx2, fblang in ipairs(fbtbl) do if us.mainsnak.datavalue.value.language == fblang then usym = us.mainsnak.datavalue.value.text found = true break end if found then break end end -- loop through fallback table end -- loop through values of P5061 if found then usep, unit = "&nbsp;", usym end end end -- format display: if conv then if range == "" then val = mw.getCurrentFrame():expandTemplate{title = "cvt", args = {amount, unit}} else val = mw.getCurrentFrame():expandTemplate{title = "cvt", args = {lowb, "to", upb, unit}} end elseif unit == "$" or unit == "£" then val = unit .. amount .. range .. i18n.multipliers[scale] else val = amount .. range .. i18n.multipliers[scale] .. usep .. unit end ------------------------------------ -- datatypes which are global coordinates: elseif dtype == "globe-coordinate" then -- 'display' parameter defaults to "inline, title" *** unused for now *** -- local disp = args.display or "" -- if disp == "" then disp = "inline, title" end -- -- format parameter switches from deg/min/sec to decimal degrees -- default is deg/min/sec -- decimal degrees needs |format = dec local form = (args.format or ""):lower():sub(1,3) if form ~= "dec" then form = "dms" end -- not needed for now -- -- show parameter allows just the latitude, or just the longitude, or both -- to be returned as a signed decimal, ignoring the format parameter. local show = (args.show or ""):lower() if show ~= "longlat" then show = show:sub(1,3) end -- local lat, long, prec = dv.latitude, dv.longitude, dv.precision if show == "lat" then val = decimalPrecision(lat, prec) elseif show == "lon" then val = decimalPrecision(long, prec) elseif show == "longlat" then val = decimalPrecision(long, prec) .. ", " .. decimalPrecision(lat, prec) else local ns = "N" local ew = "E" if lat < 0 then ns = "S" lat = - lat end if long < 0 then ew = "W" long = - long end if form == "dec" then lat = decimalPrecision(lat, prec) long = decimalPrecision(long, prec) val = lat .. "°" .. ns .. " " .. long .. "°" .. ew else local latdeg, latmin, latsec = decimalToDMS(lat, prec) local longdeg, longmin, longsec = decimalToDMS(long, prec) if latsec == 0 and longsec == 0 then if latmin == 0 and longmin == 0 then val = latdeg .. "°" .. ns .. " " .. longdeg .. "°" .. ew else val = latdeg .. "°" .. latmin .. "′" .. ns .. " " val = val .. longdeg .. "°".. longmin .. "′" .. ew end else val = latdeg .. "°" .. latmin .. "′" .. latsec .. "″" .. ns .. " " val = val .. longdeg .. "°" .. longmin .. "′" .. longsec .. "″" .. ew end end end ------------------------------------ elseif dtype == "monolingualtext" then -- data type is Monolingual text: -- has mainsnak.datavalue.value as a table containing language/text pairs -- collect all the values in 'out' and languages in 'mlt' and process them later val = pre .. dv.text .. post mlt = dv.language ------------------------------------ else -- some other data type so write a specific handler val = "unknown data type: " .. dtype end -- of datatype/unknown value/sourced check return val, mlt end ------------------------------------------------------------------------------- -- propertyvalueandquals takes a property object, the arguments passed from frame, -- and a qualifier propertyID. -- It returns a sequence (table) of values representing the values of that property -- and qualifiers that match the qualifierID if supplied. ------------------------------------------------------------------------------- -- Dependencies: parseParam(); sourced(); labelOrId(); i18n.latestdatequalifier(); format_Date(); -- makeOrdinal(); roundto(); decimalPrecision(); decimalToDMS(); assembleoutput(); ------------------------------------------------------------------------------- local function propertyvalueandquals(objproperty, args, qualID) -- needs this style of declaration because it's re-entrant -- onlysourced is a boolean passed to return only values sourced to other than Wikipedia -- if nothing or an empty string is passed set it true local onlysrc = parseParam(args.onlysourced or args.osd, true) -- linked is a a boolean that enables the link to a local page via sitelink -- if nothing or an empty string is passed set it true local linked = parseParam(args.linked, true) -- prefix is a string that may be nil, empty (""), or a string of characters -- this is prefixed to each value -- useful when when multiple values are returned -- any double-quotes " are stripped out, so that spaces may be passed local prefix = (args.prefix or ""):gsub('"', '') -- postfix is a string that may be nil, empty (""), or a string of characters -- this is postfixed to each value -- useful when when multiple values are returned -- any double-quotes " are stripped out, so that spaces may be passed local postfix = (args.postfix or ""):gsub('"', '') -- linkprefix is a string that may be nil, empty (""), or a string of characters -- this creates a link and is then prefixed to each value -- useful when when multiple values are returned and indirect links are needed -- any double-quotes " are stripped out, so that spaces may be passed local lprefix = (args.linkprefix or args.lp or ""):gsub('"', '') -- linkpostfix is a string that may be nil, empty (""), or a string of characters -- this is postfixed to each value when linking is enabled with lprefix -- useful when when multiple values are returned -- any double-quotes " are stripped out, so that spaces may be passed local lpostfix = (args.linkpostfix or ""):gsub('"', '') -- wdlinks is a boolean passed to enable links to Wikidata when no article exists -- if nothing or an empty string is passed set it false local wdl = parseParam(args.wdlinks or args.wdl, false) -- unitabbr is a boolean passed to enable unit abbreviations for common units -- if nothing or an empty string is passed set it false local uabbr = parseParam(args.unitabbr or args.uabbr, false) -- qualsonly is a boolean passed to return just the qualifiers -- if nothing or an empty string is passed set it false local qualsonly = parseParam(args.qualsonly or args.qo, false) -- maxvals is a string that may be nil, empty (""), or a number -- this determines how many items may be returned when multiple values are available -- setting it = 1 is useful where the returned string is used within another call, e.g. image local maxvals = tonumber(args.maxvals) or 0 -- pd (plain date) is a string: yes/true/1 | no/false/0 | adj -- to disable/enable "sourcing cirumstances" or use adjectival form for the plain date local pd = args.plaindate or args.pd or "no" args.pd = pd -- allow qualifiers to have a different date format; default to year unless qualsonly is set args.qdf = args.qdf or args.qualifierdateformat or args.df or (not qualsonly and "y") local lang = args.lang or findLang().code -- qualID is a string list of wanted qualifiers or "ALL" qualID = qualID or "" -- capitalise list of wanted qualifiers and substitute "DATES" qualID = qualID:upper():gsub("DATES", "P580, P582") local allflag = (qualID == "ALL") -- create table of wanted qualifiers as key local qwanted = {} -- create sequence of wanted qualifiers local qorder = {} for q in mw.text.gsplit(qualID, "%p") do -- split at punctuation and iterate local qtrim = mw.text.trim(q) if qtrim ~= "" then qwanted[mw.text.trim(q)] = true qorder[#qorder+1] = qtrim end end -- qsep is the output separator for rendering qualifier list local qsep = (args.qsep or ""):gsub('"', '') -- qargs are the arguments to supply to assembleoutput() local qargs = { ["osd"] = "false", ["linked"] = tostring(linked), ["prefix"] = args.qprefix, ["postfix"] = args.qpostfix, ["linkprefix"] = args.qlinkprefix or args.qlp, ["linkpostfix"] = args.qlinkpostfix, ["wdl"] = "false", ["unitabbr"] = tostring(uabbr), ["maxvals"] = 0, ["sorted"] = tostring(args.qsorted), ["noicon"] = "true", ["list"] = args.qlist, ["sep"] = qsep, ["langobj"] = args.langobj, ["lang"] = args.langobj.code, ["df"] = args.qdf, ["sn"] = parseParam(args.qsn or args.qshortname, false), } -- all proper values of a Wikidata property will be the same type as the first -- qualifiers don't have a mainsnak, properties do local datatype = objproperty[1].datatype or objproperty[1].mainsnak.datatype -- out[] holds the a list of returned values for this property -- mlt[] holds the language code if the datatype is monolingual text local out = {} local mlt = {} for k, v in ipairs(objproperty) do local hasvalue = true if (onlysrc and not sourced(v)) then -- no value: it isn't sourced when onlysourced=true hasvalue = false else local val, lcode = rendersnak(v, args, linked, lprefix, lpostfix, prefix, postfix, uabbr) if not val then hasvalue = false -- rank doesn't match elseif qualsonly and qualID then -- suppress value returned: only qualifiers are requested else out[#out+1], mlt[#out+1] = val, lcode end end -- See if qualifiers are to be returned: local snak = v.mainsnak or v if hasvalue and v.qualifiers and qualID ~= "" and snak.snaktype~="novalue" then -- collect all wanted qualifier values returned in qlist, indexed by propertyID local qlist = {} local timestart, timeend = "", "" -- loop through qualifiers for k1, v1 in pairs(v.qualifiers) do if allflag or qwanted[k1] then if k1 == "P1326" then local ts = v1[1].datavalue.value.time local dp = v1[1].datavalue.value.precision qlist[k1] = dateFormat(ts, dp, args.qdf, args.bc, pd, "", lang, "before") elseif k1 == "P1319" then local ts = v1[1].datavalue.value.time local dp = v1[1].datavalue.value.precision qlist[k1] = dateFormat(ts, dp, args.qdf, args.bc, pd, "", lang, "after") elseif k1 == "P580" then timestart = propertyvalueandquals(v1, qargs)[1] or "" -- treat only one start time as valid elseif k1 == "P582" then timeend = propertyvalueandquals(v1, qargs)[1] or "" -- treat only one end time as valid else local q = assembleoutput(propertyvalueandquals(v1, qargs), qargs) -- we already deal with circa via 'sourcing circumstances' if the datatype was time -- circa may be either linked or unlinked *** internationalise later *** if datatype ~= "time" or q ~= "circa" and not (type(q) == "string" and q:find("circa]]")) then qlist[k1] = q end end end -- of test for wanted end -- of loop through qualifiers -- set date separator local t = timestart .. timeend -- *** internationalise date separators later *** local dsep = "&ndash;" if t:find("%s") or t:find("&nbsp;") then dsep = " &ndash; " end -- set the order for the list of qualifiers returned; start time and end time go last if next(qlist) then local qlistout = {} if allflag then for k2, v2 in pairs(qlist) do qlistout[#qlistout+1] = v2 end else for i2, v2 in ipairs(qorder) do qlistout[#qlistout+1] = qlist[v2] end end if t ~= "" then qlistout[#qlistout+1] = timestart .. dsep .. timeend end local qstr = assembleoutput(qlistout, qargs) if qualsonly then out[#out+1] = qstr else out[#out] = out[#out] .. " (" .. qstr .. ")" end elseif t ~= "" then if qualsonly then if timestart == "" then out[#out+1] = timeend elseif timeend == "" then out[#out+1] = timestart else out[#out+1] = timestart .. dsep .. timeend end else out[#out] = out[#out] .. " (" .. timestart .. dsep .. timeend .. ")" end end end -- of test for qualifiers wanted if maxvals > 0 and #out >= maxvals then break end end -- of for each value loop -- we need to pick one value to return if the datatype was "monolingualtext" -- if there's only one value, use that -- otherwise look through the fallback languages for a match if datatype == "monolingualtext" and #out >1 then lang = mw.text.split( lang, '-', true )[1] local fbtbl = mw.language.getFallbacksFor( lang ) table.insert( fbtbl, 1, lang ) local bestval = "" local found = false for idx1, lang1 in ipairs(fbtbl) do for idx2, lang2 in ipairs(mlt) do if (lang1 == lang2) and not found then bestval = out[idx2] found = true break end end -- loop through values of property end -- loop through fallback languages if found then -- replace output table with a table containing the best value out = { bestval } else -- more than one value and none of them on the list of fallback languages -- sod it, just give them the first one out = { out[1] } end end return out end ------------------------------------------------------------------------------- -- Common code for p.getValueByQual and p.getValueByLang ------------------------------------------------------------------------------- -- Dependencies: parseParam; setRanks; parseInput; sourced; assembleoutput; ------------------------------------------------------------------------------- local _getvaluebyqual = function(frame, qualID, checkvalue) -- The property ID that will have a qualifier is the first unnamed parameter local propertyID = mw.text.trim(frame.args[1] or "") if propertyID == "" then return "no property supplied" end if qualID == "" then return "no qualifier supplied" end -- onlysourced is a boolean passed to return property values -- only when property values are sourced to something other than Wikipedia -- if nothing or an empty string is passed set it true -- if "false" or "no" or 0 is passed set it false local onlysrc = parseParam(frame.args.onlysourced or frame.args.osd, true) -- set the requested ranks flags frame.args.reqranks = setRanks(frame.args.rank) -- set a language object and code in the frame.args table frame.args.langobj = findLang(frame.args.lang) frame.args.lang = frame.args.langobj.code local args = frame.args -- check for locally supplied parameter in second unnamed parameter -- success means no local parameter and the property exists local qid, props = parseInput(frame, args[2], propertyID) local linked = parseParam(args.linked, true) local lpre = (args.linkprefix or args.lp or ""):gsub('"', '') local lpost = (args.linkpostfix or ""):gsub('"', '') local pre = (args.prefix or ""):gsub('"', '') local post = (args.postfix or ""):gsub('"', '') local uabbr = parseParam(args.unitabbr or args.uabbr, false) local filter = (args.unit or ""):upper() local maxvals = tonumber(args.maxvals) or 0 if filter == "" then filter = nil end if qid then local out = {} -- Scan through the values of the property -- we want something like property is "pronunciation audio (P443)" in propertyID -- with a qualifier like "language of work or name (P407)" in qualID -- whose value has the required ID, like "British English (Q7979)", in qval for k1, v1 in ipairs(props) do if v1.mainsnak.snaktype == "value" then -- check if it has the right qualifier local v1q = v1.qualifiers if v1q and v1q[qualID] then if onlysrc == false or sourced(v1) then -- if we've got this far, we have a (sourced) claim with qualifiers -- so see if matches the required value -- We'll only deal with wikibase-items and strings for now if v1q[qualID][1].datatype == "wikibase-item" then if checkvalue(v1q[qualID][1].datavalue.value.id) then out[#out + 1] = rendersnak(v1, args, linked, lpre, lpost, pre, post, uabbr, filter) end elseif v1q[qualID][1].datatype == "string" then if checkvalue(v1q[qualID][1].datavalue.value) then out[#out + 1] = rendersnak(v1, args, linked, lpre, lpost, pre, post, uabbr, filter) end end end -- of check for sourced end -- of check for matching required value and has qualifiers else return nil end -- of check for string if maxvals > 0 and #out >= maxvals then break end end -- of loop through values of propertyID return assembleoutput(out, frame.args, qid, propertyID) else return props -- either local parameter or nothing end -- of test for success return nil end ------------------------------------------------------------------------------- -- _location takes Q-id and follows P276 (location) -- or P131 (located in the administrative territorial entity) or P706 (located on terrain feature) -- from the initial item to higher level territories/locations until it reaches the highest. -- An optional boolean, 'first', determines whether the first item is returned (default: false). -- An optional boolean 'skip' toggles the display to skip to the last item (default: false). -- It returns a table containing the locations - linked where possible, except for the highest. ------------------------------------------------------------------------------- -- Dependencies: findLang(); labelOrId(); linkedItem ------------------------------------------------------------------------------- local _location = function(qid, first, skip) first = parseParam(first, false) skip = parseParam(skip, false) local locs = {"P276", "P131", "P706"} local out = {} local langcode = findLang():getCode() local finished = false local count = 0 local prevqid = "Q0" repeat local prop for i1, v1 in ipairs(locs) do local proptbl = mw.wikibase.getBestStatements(qid, v1) if #proptbl > 1 then -- there is more than one higher location local prevP131, prevP131id if prevqid ~= "Q0" then prevP131 = mw.wikibase.getBestStatements(prevqid, "P131")[1] prevP131id = prevP131 and prevP131.mainsnak.datavalue and prevP131.mainsnak.datavalue.value.id end for i2, v2 in ipairs(proptbl) do local parttbl = v2.qualifiers and v2.qualifiers.P518 if parttbl then -- this higher location has qualifier 'applies to part' (P518) for i3, v3 in ipairs(parttbl) do if v3.snaktype == "value" and v3.datavalue.value.id == prevqid then -- it has a value equal to the previous location prop = proptbl[i2] break end -- of test for matching last location end -- of loop through values of 'applies to part' else -- there's no qualifier 'applies to part' (P518) -- so check if the previous location had a P131 that matches this alternate if qid == prevP131id then prop = proptbl[i2] break end -- of test for matching previous P131 end end -- of loop through parent locations -- fallback to second value if match not found prop = prop or proptbl[2] elseif #proptbl > 0 then prop = proptbl[1] end if prop then break end end -- check if it's an instance of (P31) a country (Q6256) or sovereign state (Q3624078) -- and terminate the chain if it is local inst = mw.wikibase.getAllStatements(qid, "P31") if #inst > 0 then for k, v in ipairs(inst) do local instid = v.mainsnak.datavalue and v.mainsnak.datavalue.value.id -- stop if it's a country (or a country within the United Kingdom if skip is true) if instid == "Q6256" or instid == "Q3624078" or (skip and instid == "Q3336843") then prop = nil -- this will ensure this is treated as top-level location break end end end -- get the name of this location and update qid to point to the parent location if prop and prop.mainsnak.datavalue then if not skip or count == 0 then local args = { lprefix = ":" } out[#out+1] = linkedItem(qid, args) -- get a linked value if we can end qid, prevqid = prop.mainsnak.datavalue.value.id, qid else -- This is top-level location, so get short name except when this is the first item -- Use full label if there's no short name or this is the first item local prop1813 = mw.wikibase.getAllStatements(qid, "P1813") -- if there's a short name and this isn't the only item if prop1813[1] and (#out > 0)then local shortname -- short name is monolingual text, so look for match to the local language -- choose the shortest 'short name' in that language for k, v in pairs(prop1813) do if v.mainsnak.datavalue.value.language == langcode then local name = v.mainsnak.datavalue.value.text if (not shortname) or (#name < #shortname) then shortname = name end end end -- add the shortname if one is found, fallback to the label -- but skip it if it's "USA" if shortname ~= "USA" then out[#out+1] = shortname or labelOrId(qid) else if skip then out[#out+1] = "US" end end else -- no shortname, so just add the label local loc = labelOrId(qid) -- exceptions go here: if loc == "United States of America" then out[#out+1] = "United States" else out[#out+1] = loc end end finished = true end count = count + 1 until finished or count >= 10 -- limit to 10 levels to avoid infinite loops -- remove the first location if not required if not first then table.remove(out, 1) end -- we might have duplicate text for consecutive locations, so remove them if #out > 2 then local plain = {} for i, v in ipairs(out) do -- strip any links plain[i] = v:gsub("^%[%[[^|]*|", ""):gsub("]]$", "") end local idx = 2 repeat if plain[idx] == plain[idx-1] then -- duplicate found local removeidx = 0 if (plain[idx] ~= out[idx]) and (plain[idx-1] == out[idx-1]) then -- only second one is linked, so drop the first removeidx = idx - 1 elseif (plain[idx] == out[idx]) and (plain[idx-1] ~= out[idx-1]) then -- only first one is linked, so drop the second removeidx = idx else -- pick one removeidx = idx - (os.time()%2) end table.remove(out, removeidx) table.remove(plain, removeidx) else idx = idx +1 end until idx >= #out end return out end ------------------------------------------------------------------------------- -- _getsumofparts scans the property 'has part' (P527) for values matching a list. -- The list (args.vlist) consists of a string of Qids separated by spaces or any usual punctuation. -- If the matched values have a qualifer 'quantity' (P1114), those quantites are summed. -- The sum is returned as a number (i.e. 0 if none) -- a table of arguments is supplied implementing the usual parameters. ------------------------------------------------------------------------------- -- Dependencies: setRanks; parseParam; parseInput; sourced; assembleoutput; ------------------------------------------------------------------------------- local _getsumofparts = function(args) local vallist = (args.vlist or ""):upper() if vallist == "" then return end args.reqranks = setRanks(args.rank) local f = {} f.args = args local qid, props = parseInput(f, "", "P527") if not qid then return 0 end local onlysrc = parseParam(args.onlysourced or args.osd, true) local sum = 0 for k1, v1 in ipairs(props) do if (onlysrc == false or sourced(v1)) and v1.mainsnak.snaktype == "value" and v1.mainsnak.datavalue.type == "wikibase-entityid" and vallist:match( v1.mainsnak.datavalue.value.id ) and v1.qualifiers then local quals = v1.qualifiers["P1114"] if quals then for k2, v2 in ipairs(quals) do sum = sum + v2.datavalue.value.amount end end end end return sum end ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- -- Public functions ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- -- _getValue makes the functionality of getValue available to other modules ------------------------------------------------------------------------------- -- Dependencies: setRanks; parseInput; propertyvalueandquals; assembleoutput; parseParam; sourced; -- labelOrId; i18n.latestdatequalifier; format_Date; makeOrdinal; roundto; decimalPrecision; decimalToDMS; ------------------------------------------------------------------------------- p._getValue = function(args) -- parameter sets for commonly used groups of parameters local paraset = tonumber(args.ps or args.parameterset or 0) if paraset == 1 then -- a common setting args.rank = "best" args.fetchwikidata = "ALL" args.onlysourced = "no" args.noicon = "true" elseif paraset == 2 then -- equivalent to raw args.rank = "best" args.fetchwikidata = "ALL" args.onlysourced = "no" args.noicon = "true" args.linked = "no" args.pd = "true" elseif paraset == 3 then -- third set goes here end -- implement eid parameter local eid = args.eid if eid == "" then return nil elseif eid then args.qid = eid end local propertyID = mw.text.trim(args[1] or "") args.reqranks = setRanks(args.rank) -- replacetext (rt) is a string that is returned instead of any non-empty Wikidata value -- this is useful for tracking and debugging, so we set fetchwikidata=ALL to fill the whitelist local replacetext = mw.text.trim(args.rt or args.replacetext or "") if replacetext ~= "" then args.fetchwikidata = "ALL" end local f = {} f.args = args local entityid, props = parseInput(f, f.args[2], propertyID) if not entityid then return props -- either the input parameter or nothing end -- qual is a string containing the property ID of the qualifier(s) to be returned -- if qual == "ALL" then all qualifiers returned -- if qual == "DATES" then qualifiers P580 (start time) and P582 (end time) returned -- if nothing or an empty string is passed set it nil -> no qualifiers returned local qualID = mw.text.trim(args.qual or ""):upper() if qualID == "" then qualID = nil end -- set a language object and code in the args table args.langobj = findLang(args.lang) args.lang = args.langobj.code -- table 'out' stores the return value(s): local out = propertyvalueandquals(props, args, qualID) -- format the table of values and return it as a string: return assembleoutput(out, args, entityid, propertyID) end ------------------------------------------------------------------------------- -- getValue is used to get the value(s) of a property -- The property ID is passed as the first unnamed parameter and is required. -- A locally supplied parameter may optionaly be supplied as the second unnamed parameter. -- The function will now also return qualifiers if parameter qual is supplied ------------------------------------------------------------------------------- -- Dependencies: _getValue; setRanks; parseInput; propertyvalueandquals; assembleoutput; parseParam; sourced; -- labelOrId; i18n.latestdatequalifier; format_Date; makeOrdinal; roundto; decimalPrecision; decimalToDMS; ------------------------------------------------------------------------------- p.getValue = function(frame) local args= frame.args if not args[1] then args = frame:getParent().args if not args[1] then return i18n.errors["No property supplied"] end end return p._getValue(args) end ------------------------------------------------------------------------------- -- getPreferredValue is used to get a value, -- (or a comma separated list of them if multiple values exist). -- If preferred ranks are set, it will return those values, otherwise values with normal ranks -- now redundant to getValue with |rank=best ------------------------------------------------------------------------------- -- Dependencies: p.getValue; setRanks; parseInput; propertyvalueandquals; assembleoutput; -- parseParam; sourced; labelOrId; i18n.latestdatequalifier; format_Date; -- makeOrdinal; roundto; decimalPrecision; decimalToDMS; ------------------------------------------------------------------------------- p.getPreferredValue = function(frame) frame.args.rank = "best" return p.getValue(frame) end ------------------------------------------------------------------------------- -- getCoords is used to get coordinates for display in an infobox -- whitelist and blacklist are implemented -- optional 'display' parameter is allowed, defaults to nil - was "inline, title" ------------------------------------------------------------------------------- -- Dependencies: setRanks(); parseInput(); decimalPrecision(); ------------------------------------------------------------------------------- p.getCoords = function(frame) local propertyID = "P625" -- if there is a 'display' parameter supplied, use it -- otherwise default to nothing local disp = frame.args.display or "" if disp == "" then disp = nil -- default to not supplying display parameter, was "inline, title" end -- there may be a format parameter to switch from deg/min/sec to decimal degrees -- default is deg/min/sec -- decimal degrees needs |format = dec local form = (frame.args.format or ""):lower():sub(1,3) if form ~= "dec" then form = "dms" end -- just deal with best values frame.args.reqranks = setRanks("best") local qid, props = parseInput(frame, frame.args[1], propertyID) if not qid then return props -- either local parameter or nothing else local dv = props[1].mainsnak.datavalue.value local lat, long, prec = dv.latitude, dv.longitude, dv.precision lat = decimalPrecision(lat, prec) long = decimalPrecision(long, prec) local lat_long = { lat, long } lat_long["display"] = disp lat_long["format"] = form -- invoke template Coord with the values stored in the table return frame:expandTemplate{title = 'coord', args = lat_long} end end ------------------------------------------------------------------------------- -- getQualifierValue is used to get a formatted value of a qualifier -- -- The call needs: a property (the unnamed parameter or 1=) -- a target value for that property (pval=) -- a qualifier for that target value (qual=) -- The usual whitelisting and blacklisting of the property is implemented -- The boolean onlysourced= parameter can be set to return nothing -- when the property is unsourced (or only sourced to Wikipedia) ------------------------------------------------------------------------------- -- Dependencies: parseParam(); setRanks(); parseInput(); sourced(); -- propertyvalueandquals(); assembleoutput(); -- labelOrId(); i18n.latestdatequalifier(); format_Date(); -- findLang(); makeOrdinal(); roundto(); decimalPrecision(); decimalToDMS(); ------------------------------------------------------------------------------- p.getQualifierValue = function(frame) -- The property ID that will have a qualifier is the first unnamed parameter local propertyID = mw.text.trim(frame.args[1] or "") -- The value of the property we want to match whose qualifier value is to be returned -- is passed in named parameter |pval= local propvalue = frame.args.pval -- The property ID of the qualifier -- whose value is to be returned is passed in named parameter |qual= local qualifierID = frame.args.qual -- A filter can be set like this: filter=P642==Q22674854 local filter, fprop, fval local ftable = mw.text.split(frame.args.filter or "", "==") if ftable[2] then fprop = mw.text.trim(ftable[1]) fval = mw.text.trim(ftable[2]) filter = true end -- onlysourced is a boolean passed to return qualifiers -- only when property values are sourced to something other than Wikipedia -- if nothing or an empty string is passed set it true -- if "false" or "no" or 0 is passed set it false local onlysrc = parseParam(frame.args.onlysourced or frame.args.osd, true) -- set a language object and language code in the frame.args table frame.args.langobj = findLang(frame.args.lang) frame.args.lang = frame.args.langobj.code -- set the requested ranks flags frame.args.reqranks = setRanks(frame.args.rank) -- check for locally supplied parameter in second unnamed parameter -- success means no local parameter and the property exists local qid, props = parseInput(frame, frame.args[2], propertyID) if qid then local out = {} -- Scan through the values of the property -- we want something like property is P793, significant event (in propertyID) -- whose value is something like Q385378, construction (in propvalue) -- then we can return the value(s) of a qualifier such as P580, start time (in qualifierID) for k1, v1 in pairs(props) do if v1.mainsnak.snaktype == "value" and v1.mainsnak.datavalue.type == "wikibase-entityid" then -- It's a wiki-linked value, so check if it's the target (in propvalue) and if it has qualifiers if v1.mainsnak.datavalue.value.id == propvalue and v1.qualifiers then if onlysrc == false or sourced(v1) then -- if we've got this far, we have a (sourced) claim with qualifiers -- which matches the target, so apply the filter and find the value(s) of the qualifier we want if not filter or (v1.qualifiers[fprop] and v1.qualifiers[fprop][1].datavalue.value.id == fval) then local quals = v1.qualifiers[qualifierID] if quals then -- can't reference qualifer, so set onlysourced = "no" (args are strings, not boolean) local qargs = frame.args qargs.onlysourced = "no" local vals = propertyvalueandquals(quals, qargs, qid) for k, v in ipairs(vals) do out[#out + 1] = v end end end end -- of check for sourced end -- of check for matching required value and has qualifiers end -- of check for wikibase entity end -- of loop through values of propertyID return assembleoutput(out, frame.args, qid, propertyID) else return props -- either local parameter or nothing end -- of test for success return nil end ------------------------------------------------------------------------------- -- getSumOfParts scans the property 'has part' (P527) for values matching a list. -- The list is passed in parameter vlist. -- It consists of a string of Qids separated by spaces or any usual punctuation. -- If the matched values have a qualifier 'quantity' (P1114), those quantities are summed. -- The sum is returned as a number or nothing if zero. ------------------------------------------------------------------------------- -- Dependencies: _getsumofparts; ------------------------------------------------------------------------------- p.getSumOfParts = function(frame) local sum = _getsumofparts(frame.args) if sum == 0 then return end return sum end ------------------------------------------------------------------------------- -- getValueByQual gets the value of a property which has a qualifier with a given entity value -- The call needs: -- a property ID (the unnamed parameter or 1=Pxxx) -- the ID of a qualifier for that property (qualID=Pyyy) -- either the Wikibase-entity ID of a value for that qualifier (qvalue=Qzzz) -- or a string value for that qualifier (qvalue=abc123) -- The usual whitelisting, blacklisting, onlysourced, etc. are implemented ------------------------------------------------------------------------------- -- Dependencies: _getvaluebyqual; parseParam; setRanks; parseInput; sourced; -- assembleoutput; ------------------------------------------------------------------------------- p.getValueByQual = function(frame) local qualID = frame.args.qualID -- The Q-id of the value for the qualifier we want to match is in named parameter |qvalue= local qval = frame.args.qvalue or "" if qval == "" then return "no qualifier value supplied" end local function checkQID(id) return id == qval end return _getvaluebyqual(frame, qualID, checkQID) end ------------------------------------------------------------------------------- -- getValueByLang gets the value of a property which has a qualifier P407 -- ("language of work or name") whose value has the given language code -- The call needs: -- a property ID (the unnamed parameter or 1=Pxxx) -- the MediaWiki language code to match the language (lang=xx[-yy]) -- (if no code is supplied, it uses the default language) -- The usual whitelisting, blacklisting, onlysourced, etc. are implemented ------------------------------------------------------------------------------- -- Dependencies: _getvaluebyqual; parseParam; setRanks; parseInput; sourced; assembleoutput; ------------------------------------------------------------------------------- p.getValueByLang = function(frame) -- The language code for the qualifier we want to match is in named parameter |lang= local langcode = findLang(frame.args.lang).code local function checkLanguage(id) -- id should represent a language like "British English (Q7979)" -- it should have string property "Wikimedia language code (P424)" -- qlcode will be a table: local qlcode = mw.wikibase.getBestStatements(id, "P424") if (#qlcode > 0) and (qlcode[1].mainsnak.datavalue.value == langcode) then return true end end return _getvaluebyqual(frame, "P407", checkLanguage) end ------------------------------------------------------------------------------- -- getValueByRefSource gets the value of a property which has a reference "stated in" (P248) -- whose value has the given entity-ID. -- The call needs: -- a property ID (the unnamed parameter or 1=Pxxx) -- the entity ID of a value to match where the reference is stated in (match=Qzzz) -- The usual whitelisting, blacklisting, onlysourced, etc. are implemented ------------------------------------------------------------------------------- -- Dependencies: parseParam; setRanks; parseInput; sourced; propertyvalueandquals assembleoutput; ------------------------------------------------------------------------------- p.getValueByRefSource = function(frame) -- The property ID that we want to check is the first unnamed parameter local propertyID = mw.text.trim(frame.args[1] or ""):upper() if propertyID == "" then return "no property supplied" end -- The Q-id of the value we want to match is in named parameter |qvalue= local qval = (frame.args.match or ""):upper() if qval == "" then qval = "Q21540096" end local unit = (frame.args.unit or ""):upper() if unit == "" then unit = "Q4917" end local onlysrc = parseParam(frame.args.onlysourced or frame.args.osd, true) -- set the requested ranks flags frame.args.reqranks = setRanks(frame.args.rank) -- set a language object and code in the frame.args table frame.args.langobj = findLang(frame.args.lang) frame.args.lang = frame.args.langobj.code local linked = parseParam(frame.args.linked, true) local uabbr = parseParam(frame.args.uabbr or frame.args.unitabbr, false) -- qid not nil means no local parameter and the property exists local qid, props = parseInput(frame, frame.args[2], propertyID) if qid then local out = {} local mlt= {} for k1, v1 in ipairs(props) do if onlysrc == false or sourced(v1) then if v1.references then for k2, v2 in ipairs(v1.references) do if v2.snaks.P248 then for k3, v3 in ipairs(v2.snaks.P248) do if v3.datavalue.value.id == qval then out[#out+1], mlt[#out+1] = rendersnak(v1, frame.args, linked, "", "", "", "", uabbr, unit) if not mlt[#out] then -- we only need one match per property value -- unless datatype was monolingual text break end end -- of test for match end -- of loop through values "stated in" end -- of test that "stated in" exists end -- of loop through references end -- of test that references exist end -- of test for sourced end -- of loop through values of propertyID if #mlt > 0 then local langcode = frame.args.lang langcode = mw.text.split( langcode, '-', true )[1] local fbtbl = mw.language.getFallbacksFor( langcode ) table.insert( fbtbl, 1, langcode ) local bestval = "" local found = false for idx1, lang1 in ipairs(fbtbl) do for idx2, lang2 in ipairs(mlt) do if (lang1 == lang2) and not found then bestval = out[idx2] found = true break end end -- loop through values of property end -- loop through fallback languages if found then -- replace output table with a table containing the best value out = { bestval } else -- more than one value and none of them on the list of fallback languages -- sod it, just give them the first one out = { out[1] } end end return assembleoutput(out, frame.args, qid, propertyID) else return props -- no property or local parameter supplied end -- of test for success end ------------------------------------------------------------------------------- -- getPropertyIDs takes most of the usual parameters. -- The usual whitelisting, blacklisting, onlysourced, etc. are implemented. -- It returns the Entity-IDs (Qids) of the values of a property if it is a Wikibase-Entity. -- Otherwise it returns nothing. ------------------------------------------------------------------------------- -- Dependencies: parseParam; setRanks; parseInput; sourced; propertyvalueandquals assembleoutput; ------------------------------------------------------------------------------- p._getPropertyIDs = function(args) args.reqranks = setRanks(args.rank) args.langobj = findLang(args.lang) args.lang = args.langobj.code -- change default for noicon to true args.noicon = tostring(parseParam(args.noicon or "", true)) local f = {} f.args = args local pid = mw.text.trim(args[1] or ""):upper() -- get the qid and table of claims for the property, or nothing and the local value passed local qid, props = parseInput(f, args[2], pid) if not qid then return props end if not props[1] then return nil end local onlysrc = parseParam(args.onlysourced or args.osd, true) local maxvals = tonumber(args.maxvals) or 0 local out = {} for i, v in ipairs(props) do local snak = v.mainsnak if ( snak.datatype == "wikibase-item" ) and ( v.rank and args.reqranks[v.rank:sub(1, 1)] ) and ( snak.snaktype == "value" ) and ( sourced(v) or not onlysrc ) then out[#out+1] = snak.datavalue.value.id end if maxvals > 0 and #out >= maxvals then break end end return assembleoutput(out, args, qid, pid) end p.getPropertyIDs = function(frame) local args = frame.args return p._getPropertyIDs(args) end ------------------------------------------------------------------------------- -- getQualifierIDs takes most of the usual parameters. -- The usual whitelisting, blacklisting, onlysourced, etc. are implemented. -- It takes a property-id as the first unnamed parameter, and an optional parameter qlist -- which is a list of qualifier property-ids to search for (default is "ALL") -- It returns the Entity-IDs (Qids) of the values of a property if it is a Wikibase-Entity. -- Otherwise it returns nothing. ------------------------------------------------------------------------------- -- Dependencies: parseParam; setRanks; parseInput; sourced; propertyvalueandquals assembleoutput; ------------------------------------------------------------------------------- p.getQualifierIDs = function(frame) local args = frame.args args.reqranks = setRanks(args.rank) args.langobj = findLang(args.lang) args.lang = args.langobj.code -- change default for noicon to true args.noicon = tostring(parseParam(args.noicon or "", true)) local f = {} f.args = args local pid = mw.text.trim(args[1] or ""):upper() -- get the qid and table of claims for the property, or nothing and the local value passed local qid, props = parseInput(f, args[2], pid) if not qid then return props end if not props[1] then return nil end -- get the other parameters local onlysrc = parseParam(args.onlysourced or args.osd, true) local maxvals = tonumber(args.maxvals) or 0 local qlist = args.qlist or "" if qlist == "" then qlist = "ALL" end qlist = qlist:gsub("[%p%s]+", " ") .. " " local out = {} for i, v in ipairs(props) do local snak = v.mainsnak if ( v.rank and args.reqranks[v.rank:sub(1, 1)] ) and ( snak.snaktype == "value" ) and ( sourced(v) or not onlysrc ) then if v.qualifiers then for k1, v1 in pairs(v.qualifiers) do if qlist == "ALL " or qlist:match(k1 .. " ") then for i2, v2 in ipairs(v1) do if v2.datatype == "wikibase-item" and v2.snaktype == "value" then out[#out+1] = v2.datavalue.value.id end -- of test that id exists end -- of loop through qualifier values end -- of test for kq in qlist end -- of loop through qualifiers end -- of test for qualifiers end -- of test for rank value, sourced, and value exists if maxvals > 0 and #out >= maxvals then break end end -- of loop through property values return assembleoutput(out, args, qid, pid) end ------------------------------------------------------------------------------- -- getPropOfProp takes two propertyIDs: prop1 and prop2 (as well as the usual parameters) -- If the value(s) of prop1 are of type "wikibase-item" then it returns the value(s) of prop2 -- of each of those wikibase-items. -- The usual whitelisting, blacklisting, onlysourced, etc. are implemented ------------------------------------------------------------------------------- -- Dependencies: parseParam; setRanks; parseInput; sourced; propertyvalueandquals assembleoutput; ------------------------------------------------------------------------------- p._getPropOfProp = function(args) -- parameter sets for commonly used groups of parameters local paraset = tonumber(args.ps or args.parameterset or 0) if paraset == 1 then -- a common setting args.rank = "best" args.fetchwikidata = "ALL" args.onlysourced = "no" args.noicon = "true" elseif paraset == 2 then -- equivalent to raw args.rank = "best" args.fetchwikidata = "ALL" args.onlysourced = "no" args.noicon = "true" args.linked = "no" args.pd = "true" elseif paraset == 3 then -- third set goes here end args.reqranks = setRanks(args.rank) args.langobj = findLang(args.lang) args.lang = args.langobj.code local pid1 = args.prop1 or args.pid1 or "" local pid2 = args.prop2 or args.pid2 or "" if pid1 == "" or pid2 == "" then return nil end local f = {} f.args = args local qid1, statements1 = parseInput(f, args[1], pid1) -- parseInput nulls empty args[1] and returns args[1] if nothing on Wikidata if not qid1 then return statements1 end -- otherwise it returns the qid and a table for the statement local onlysrc = parseParam(args.onlysourced or args.osd, true) local maxvals = tonumber(args.maxvals) or 0 local qualID = mw.text.trim(args.qual or ""):upper() if qualID == "" then qualID = nil end local out = {} for k, v in ipairs(statements1) do if not onlysrc or sourced(v) then local snak = v.mainsnak if snak.datatype == "wikibase-item" and snak.snaktype == "value" then local qid2 = snak.datavalue.value.id local statements2 = {} if args.reqranks.b then statements2 = mw.wikibase.getBestStatements(qid2, pid2) else statements2 = mw.wikibase.getAllStatements(qid2, pid2) end if statements2[1] then local out2 = propertyvalueandquals(statements2, args, qualID) out[#out+1] = assembleoutput(out2, args, qid2, pid2) end end -- of test for valid property1 value end -- of test for sourced if maxvals > 0 and #out >= maxvals then break end end -- of loop through values of property1 return assembleoutput(out, args, qid1, pid1) end p.getPropOfProp = function(frame) local args= frame.args if not args.prop1 and not args.pid1 then args = frame:getParent().args if not args.prop1 and not args.pid1 then return i18n.errors["No property supplied"] end end return p._getPropOfProp(args) end ------------------------------------------------------------------------------- -- getAwardCat takes most of the usual parameters. If the item has values of P166 (award received), -- then it examines each of those awards for P2517 (category for recipients of this award). -- If it exists, it returns the corresponding category, -- with the item's P734 (family name) as sort key, or no sort key if there is no family name. -- The sort key may be overridden by the parameter |sortkey (alias |sk). -- The usual whitelisting, blacklisting, onlysourced, etc. are implemented ------------------------------------------------------------------------------- -- Dependencies: parseParam; setRanks; parseInput; sourced; propertyvalueandquals assembleoutput; ------------------------------------------------------------------------------- p.getAwardCat = function(frame) frame.args.reqranks = setRanks(frame.args.rank) frame.args.langobj = findLang(frame.args.lang) frame.args.lang = frame.args.langobj.code local args = frame.args args.sep = " " local pid1 = args.prop1 or "P166" local pid2 = args.prop2 or "P2517" if pid1 == "" or pid2 == "" then return nil end -- locally supplied value: local localval = mw.text.trim(args[1] or "") local qid1, statements1 = parseInput(frame, localval, pid1) if not qid1 then return localval end -- linkprefix (strip quotes) local lp = (args.linkprefix or args.lp or ""):gsub('"', '') -- sort key (strip quotes, hyphens and periods): local sk = (args.sortkey or args.sk or ""):gsub('["-.]', '') -- family name: local famname = "" if sk == "" then local p734 = mw.wikibase.getBestStatements(qid1, "P734")[1] local p734id = p734 and p734.mainsnak.snaktype == "value" and p734.mainsnak.datavalue.value.id or "" famname = mw.wikibase.getSitelink(p734id) or "" -- strip namespace and disambigation local pos = famname:find(":") or 0 famname = famname:sub(pos+1):gsub("%s%(.+%)$", "") if famname == "" then local lbl = mw.wikibase.getLabel(p734id) famname = lbl and mw.text.nowiki(lbl) or "" end end local onlysrc = parseParam(args.onlysourced or args.osd, true) local maxvals = tonumber(args.maxvals) or 0 local qualID = mw.text.trim(args.qual or ""):upper() if qualID == "" then qualID = nil end local out = {} for k, v in ipairs(statements1) do if not onlysrc or sourced(v) then local snak = v.mainsnak if snak.datatype == "wikibase-item" and snak.snaktype == "value" then local qid2 = snak.datavalue.value.id local statements2 = {} if args.reqranks.b then statements2 = mw.wikibase.getBestStatements(qid2, pid2) else statements2 = mw.wikibase.getAllStatements(qid2, pid2) end if statements2[1] and statements2[1].mainsnak.snaktype == "value" then local qid3 = statements2[1].mainsnak.datavalue.value.id local sitelink = mw.wikibase.getSitelink(qid3) -- if there's no local sitelink, create the sitelink from English label if not sitelink then local lbl = mw.wikibase.getLabelByLang(qid3, "en") if lbl then if lbl:sub(1,9) == "Category:" then sitelink = mw.text.nowiki(lbl) else sitelink = "Category:" .. mw.text.nowiki(lbl) end end end if sitelink then if sk ~= "" then out[#out+1] = "[[" .. lp .. sitelink .. "|" .. sk .. "]]" elseif famname ~= "" then out[#out+1] = "[[" .. lp .. sitelink .. "|" .. famname .. "]]" else out[#out+1] = "[[" .. lp .. sitelink .. "]]" end -- of check for sort keys end -- of test for sitelink end -- of test for category end -- of test for wikibase item has a value end -- of test for sourced if maxvals > 0 and #out >= maxvals then break end end -- of loop through values of property1 return assembleoutput(out, args, qid1, pid1) end ------------------------------------------------------------------------------- -- getIntersectCat takes most of the usual parameters. -- The usual whitelisting, blacklisting, onlysourced, etc. are implemented -- It takes two properties, |prop1 and |prop2 (e.g. occupation and country of citizenship) -- Each property's value is a wiki-base entity -- For each value of the first parameter (ranks implemented) it fetches the value's main category -- and then each value of the second parameter (possibly substituting a simpler description) -- then it returns all of the categories representing the intersection of those properties, -- (e.g. Category:Actors from Canada). A joining term may be supplied (e.g. |join=from). -- The item's P734 (family name) is the sort key, or no sort key if there is no family name. -- The sort key may be overridden by the parameter |sortkey (alias |sk). ------------------------------------------------------------------------------- -- Dependencies: parseParam; setRanks; parseInput; sourced; propertyvalueandquals assembleoutput; ------------------------------------------------------------------------------- p.getIntersectCat = function(frame) frame.args.reqranks = setRanks(frame.args.rank) frame.args.langobj = findLang(frame.args.lang) frame.args.lang = frame.args.langobj.code local args = frame.args args.sep = " " args.linked = "no" local pid1 = args.prop1 or "P106" local pid2 = args.prop2 or "P27" if pid1 == "" or pid2 == "" then return nil end local qid, statements1 = parseInput(frame, "", pid1) if not qid then return nil end local qid, statements2 = parseInput(frame, "", pid2) if not qid then return nil end -- topics like countries may have different names in categories from their label in Wikidata local subs_exists, subs = pcall(mw.loadData, "Module:WikidataIB/subs") local join = args.join or "" local onlysrc = parseParam(args.onlysourced or args.osd, true) local maxvals = tonumber(args.maxvals) or 0 -- linkprefix (strip quotes) local lp = (args.linkprefix or args.lp or ""):gsub('"', '') -- sort key (strip quotes, hyphens and periods): local sk = (args.sortkey or args.sk or ""):gsub('["-.]', '') -- family name: local famname = "" if sk == "" then local p734 = mw.wikibase.getBestStatements(qid, "P734")[1] local p734id = p734 and p734.mainsnak.snaktype == "value" and p734.mainsnak.datavalue.value.id or "" famname = mw.wikibase.getSitelink(p734id) or "" -- strip namespace and disambigation local pos = famname:find(":") or 0 famname = famname:sub(pos+1):gsub("%s%(.+%)$", "") if famname == "" then local lbl = mw.wikibase.getLabel(p734id) famname = lbl and mw.text.nowiki(lbl) or "" end end local cat1 = {} for k, v in ipairs(statements1) do if not onlysrc or sourced(v) then -- get the ID representing the value of the property local pvalID = (v.mainsnak.snaktype == "value") and v.mainsnak.datavalue.value.id if pvalID then -- get the topic's main category (P910) for that entity local p910 = mw.wikibase.getBestStatements(pvalID, "P910")[1] if p910 and p910.mainsnak.snaktype == "value" then local tmcID = p910.mainsnak.datavalue.value.id -- use sitelink or the English label for the cat local cat = mw.wikibase.getSitelink(tmcID) if not cat then local lbl = mw.wikibase.getLabelByLang(tmcID, "en") if lbl then if lbl:sub(1,9) == "Category:" then cat = mw.text.nowiki(lbl) else cat = "Category:" .. mw.text.nowiki(lbl) end end end cat1[#cat1+1] = cat end -- of test for topic's main category exists end -- of test for property has vaild value end -- of test for sourced if maxvals > 0 and #cat1 >= maxvals then break end end local cat2 = {} for k, v in ipairs(statements2) do if not onlysrc or sourced(v) then local cat = rendersnak(v, args) if subs[cat] then cat = subs[cat] end cat2[#cat2+1] = cat end if maxvals > 0 and #cat2 >= maxvals then break end end local out = {} for k1, v1 in ipairs(cat1) do for k2, v2 in ipairs(cat2) do if sk ~= "" then out[#out+1] = "[[" .. lp .. v1 .. " " .. join .. " " .. v2 .. "|" .. sk .. "]]" elseif famname ~= "" then out[#out+1] = "[[" .. lp .. v1 .. " " .. join .. " " .. v2 .. "|" .. famname .. "]]" else out[#out+1] = "[[" .. lp .. v1 .. " " .. join .. " " .. v2 .. "]]" end -- of check for sort keys end end args.noicon = "true" return assembleoutput(out, args, qid, pid1) end ------------------------------------------------------------------------------- -- qualsToTable takes most of the usual parameters. -- The usual whitelisting, blacklisting, onlysourced, etc. are implemented. -- A qid may be given, and the first unnamed parameter is the property ID, which is of type wikibase item. -- It takes a list of qualifier property IDs as |quals= -- For a given qid and property, it creates the rows of an html table, -- each row being a value of the property (optionally only if the property matches the value in |pval= ) -- each cell being the first value of the qualifier corresponding to the list in |quals ------------------------------------------------------------------------------- -- Dependencies: parseParam; setRanks; parseInput; sourced; ------------------------------------------------------------------------------- p.qualsToTable = function(frame) local args = frame.args local quals = args.quals or "" if quals == "" then return "" end args.reqranks = setRanks(args.rank) local propertyID = mw.text.trim(args[1] or "") local f = {} f.args = args local entityid, props = parseInput(f, "", propertyID) if not entityid then return "" end args.langobj = findLang(args.lang) args.lang = args.langobj.code local pval = args.pval or "" local qplist = mw.text.split(quals, "%p") -- split at punctuation and make a sequential table for i, v in ipairs(qplist) do qplist[i] = mw.text.trim(v):upper() -- remove whitespace and capitalise end local col1 = args.firstcol or "" if col1 ~= "" then col1 = col1 .. "</td><td>" end local emptycell = args.emptycell or "&nbsp;" -- construct a 2-D array of qualifier values in qvals local qvals = {} for i, v in ipairs(props) do local skip = false if pval ~= "" then local pid = v.mainsnak.datavalue and v.mainsnak.datavalue.value.id if pid ~= pval then skip = true end end if not skip then local qval = {} local vqualifiers = v.qualifiers or {} -- go through list of wanted qualifier properties for i1, v1 in ipairs(qplist) do -- check for that property ID in the statement's qualifiers local qv, qtype if vqualifiers[v1] then qtype = vqualifiers[v1][1].datatype if qtype == "time" then if vqualifiers[v1][1].snaktype == "value" then qv = mw.wikibase.renderSnak(vqualifiers[v1][1]) qv = frame:expandTemplate{title="dts", args={qv}} else qv = "?" end elseif qtype == "url" then if vqualifiers[v1][1].snaktype == "value" then qv = mw.wikibase.renderSnak(vqualifiers[v1][1]) local display = mw.ustring.match( mw.uri.decode(qv, "WIKI"), "([%w ]+)$" ) if display then qv = "[" .. qv .. " " .. display .. "]" end end else qv = mw.wikibase.formatValue(vqualifiers[v1][1]) end end -- record either the value or a placeholder qval[i1] = qv or emptycell end -- of loop through list of qualifiers -- add the list of qualifier values as a "row" in the main list qvals[#qvals+1] = qval end end -- of for each value loop local out = {} for i, v in ipairs(qvals) do out[i] = "<tr><td>" .. col1 .. table.concat(qvals[i], "</td><td>") .. "</td></tr>" end return table.concat(out, "\n") end ------------------------------------------------------------------------------- -- getGlobe takes an optional qid of a Wikidata entity passed as |qid= -- otherwise it uses the linked item for the current page. -- If returns the Qid of the globe used in P625 (coordinate location), -- or nil if there isn't one. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getGlobe = function(frame) local qid = frame.args.qid or frame.args[1] or "" if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end local coords = mw.wikibase.getBestStatements(qid, "P625")[1] local globeid if coords and coords.mainsnak.snaktype == "value" then globeid = coords.mainsnak.datavalue.value.globe:match("(Q%d+)") end return globeid end ------------------------------------------------------------------------------- -- getCommonsLink takes an optional qid of a Wikidata entity passed as |qid= -- It returns one of the following in order of preference: -- the Commons sitelink of the linked Wikidata item; -- the Commons sitelink of the topic's main category of the linked Wikidata item; ------------------------------------------------------------------------------- -- Dependencies: _getCommonslink(); _getSitelink(); parseParam() ------------------------------------------------------------------------------- p.getCommonsLink = function(frame) local oc = frame.args.onlycat or frame.args.onlycategories local fb = parseParam(frame.args.fallback or frame.args.fb, true) return _getCommonslink(frame.args.qid, oc, fb) end ------------------------------------------------------------------------------- -- getSitelink takes the qid of a Wikidata entity passed as |qid= -- It takes an optional parameter |wiki= to determine which wiki is to be checked for a sitelink -- If the parameter is blank, then it uses the local wiki. -- If there is a sitelink to an article available, it returns the plain text link to the article -- If there is no sitelink, it returns nil. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getSiteLink = function(frame) return _getSitelink(frame.args.qid, frame.args.wiki or mw.text.trim(frame.args[1] or "")) end ------------------------------------------------------------------------------- -- getLink has the qid of a Wikidata entity passed as the first unnamed parameter or as |qid= -- If there is a sitelink to an article on the local Wiki, it returns a link to the article -- with the Wikidata label as the displayed text. -- If there is no sitelink, it returns the label as plain text. -- If there is no label in the local language, it displays the qid instead. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getLink = function(frame) local itemID = mw.text.trim(frame.args[1] or frame.args.qid or "") if itemID == "" then return end local sitelink = mw.wikibase.getSitelink(itemID) local label = labelOrId(itemID) if sitelink then return "[[:" .. sitelink .. "|" .. label .. "]]" else return label end end ------------------------------------------------------------------------------- -- getLabel has the qid of a Wikidata entity passed as the first unnamed parameter or as |qid= -- It returns the Wikidata label for the local language as plain text. -- If there is no label in the local language, it displays the qid instead. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getLabel = function(frame) local itemID = mw.text.trim(frame.args[1] or frame.args.qid or "") if itemID == "" then return end local lang = frame.args.lang or "" if lang == "" then lang = nil end local label = labelOrId(itemID, lang) return label end ------------------------------------------------------------------------------- -- label has the qid of a Wikidata entity passed as the first unnamed parameter or as |qid= -- if no qid is supplied, it uses the qid associated with the current page. -- It returns the Wikidata label for the local language as plain text. -- If there is no label in the local language, it returns nil. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.label = function(frame) local qid = mw.text.trim(frame.args[1] or frame.args.qid or "") if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid then return end local lang = frame.args.lang or "" if lang == "" then lang = nil end local label, success = labelOrId(qid, lang) if success then return label end end ------------------------------------------------------------------------------- -- getAT (Article Title) -- has the qid of a Wikidata entity passed as the first unnamed parameter or as |qid= -- If there is a sitelink to an article on the local Wiki, it returns the sitelink as plain text. -- If there is no sitelink or qid supplied, it returns nothing. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getAT = function(frame) local itemID = mw.text.trim(frame.args[1] or frame.args.qid or "") if itemID == "" then return end return mw.wikibase.getSitelink(itemID) end ------------------------------------------------------------------------------- -- getDescription has the qid of a Wikidata entity passed as |qid= -- (it defaults to the associated qid of the current article if omitted) -- and a local parameter passed as the first unnamed parameter. -- Any local parameter passed (other than "Wikidata" or "none") becomes the return value. -- It returns the article description for the Wikidata entity if the local parameter is "Wikidata". -- Nothing is returned if the description doesn't exist or "none" is passed as the local parameter. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getDescription = function(frame) local desc = mw.text.trim(frame.args[1] or "") local itemID = mw.text.trim(frame.args.qid or "") if itemID == "" then itemID = nil end if desc:lower() == 'wikidata' then return mw.wikibase.getDescription(itemID) elseif desc:lower() == 'none' then return nil else return desc end end ------------------------------------------------------------------------------- -- getAliases has the qid of a Wikidata entity passed as |qid= -- (it defaults to the associated qid of the current article if omitted) -- and a local parameter passed as the first unnamed parameter. -- It implements blacklisting and whitelisting with a field name of "alias" by default. -- Any local parameter passed becomes the return value. -- Otherwise it returns the aliases for the Wikidata entity with the usual list options. -- Nothing is returned if the aliases do not exist. ------------------------------------------------------------------------------- -- Dependencies: findLang(); assembleoutput() ------------------------------------------------------------------------------- p.getAliases = function(frame) local args = frame.args local fieldname = args.name or "" if fieldname == "" then fieldname = "alias" end local blacklist = args.suppressfields or args.spf or "" if blacklist:find(fieldname) then return nil end local localval = mw.text.trim(args[1] or "") if localval ~= "" then return localval end local whitelist = args.fetchwikidata or args.fwd or "" if whitelist == "" then whitelist = "NONE" end if not (whitelist == 'ALL' or whitelist:find(fieldname)) then return nil end local qid = args.qid or "" if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid or not mw.wikibase.entityExists(qid) then return nil end local aliases = mw.wikibase.getEntity(qid).aliases if not aliases then return nil end args.langobj = findLang(args.lang) local langcode = args.langobj.code args.lang = langcode local out = {} for k1, v1 in pairs(aliases) do if v1[1].language == langcode then for k1, v2 in ipairs(v1) do out[#out+1] = v2.value end break end end return assembleoutput(out, args, qid) end ------------------------------------------------------------------------------- -- pageId returns the page id (entity ID, Qnnn) of the current page -- returns nothing if the page is not connected to Wikidata ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.pageId = function(frame) return mw.wikibase.getEntityIdForCurrentPage() end ------------------------------------------------------------------------------- -- formatDate is a wrapper to export the private function format_Date ------------------------------------------------------------------------------- -- Dependencies: format_Date(); ------------------------------------------------------------------------------- p.formatDate = function(frame) return format_Date(frame.args[1], frame.args.df, frame.args.bc) end ------------------------------------------------------------------------------- -- location is a wrapper to export the private function _location -- it takes the entity-id as qid or the first unnamed parameter -- optional boolean parameter first toggles the display of the first item -- optional boolean parameter skip toggles the display to skip to the last item -- parameter debug=<y/n> (default 'n') adds error msg if not a location ------------------------------------------------------------------------------- -- Dependencies: _location(); ------------------------------------------------------------------------------- p.location = function(frame) local debug = (frame.args.debug or ""):sub(1, 1):lower() if debug == "" then debug = "n" end local qid = mw.text.trim(frame.args.qid or frame.args[1] or ""):upper() if qid == "" then qid=mw.wikibase.getEntityIdForCurrentPage() end if not qid then if debug ~= "n" then return i18n.errors["entity-not-found"] else return nil end end local first = mw.text.trim(frame.args.first or "") local skip = mw.text.trim(frame.args.skip or "") return table.concat( _location(qid, first, skip), ", " ) end ------------------------------------------------------------------------------- -- checkBlacklist implements a test to check whether a named field is allowed -- returns true if the field is not blacklisted (i.e. allowed) -- returns false if the field is blacklisted (i.e. disallowed) -- {{#if:{{#invoke:WikidataIB |checkBlacklist |name=Joe |suppressfields=Dave; Joe; Fred}} | not blacklisted | blacklisted}} -- displays "blacklisted" -- {{#if:{{#invoke:WikidataIB |checkBlacklist |name=Jim |suppressfields=Dave; Joe; Fred}} | not blacklisted | blacklisted}} -- displays "not blacklisted" ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.checkBlacklist = function(frame) local blacklist = frame.args.suppressfields or frame.args.spf or "" local fieldname = frame.args.name or "" if blacklist ~= "" and fieldname ~= "" then if blacklist:find(fieldname) then return false else return true end else -- one of the fields is missing: let's call that "not on the list" return true end end ------------------------------------------------------------------------------- -- emptyor returns nil if its first unnamed argument is just punctuation, whitespace or html tags -- otherwise it returns the argument unchanged (including leading/trailing space). -- If the argument may contain "=", then it must be called explicitly: -- |1=arg -- (In that case, leading and trailing spaces are trimmed) -- It finds use in infoboxes where it can replace tests like: -- {{#if: {{#invoke:WikidatIB |getvalue |P99 |fwd=ALL}} | <span class="xxx">{{#invoke:WikidatIB |getvalue |P99 |fwd=ALL}}</span> | }} -- with a form that uses just a single call to Wikidata: -- {{#invoke |WikidataIB |emptyor |1= <span class="xxx">{{#invoke:WikidataIB |getvalue |P99 |fwd=ALL}}</span> }} ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.emptyor = function(frame) local s = frame.args[1] or "" if s == "" then return nil end local sx = s:gsub("%s", ""):gsub("<[^>]*>", ""):gsub("%p", "") if sx == "" then return nil else return s end end ------------------------------------------------------------------------------- -- labelorid is a public function to expose the output of labelOrId() -- Pass the Q-number as |qid= or as an unnamed parameter. -- It returns the Wikidata label for that entity or the qid if no label exists. ------------------------------------------------------------------------------- -- Dependencies: labelOrId ------------------------------------------------------------------------------- p.labelorid = function(frame) return (labelOrId(frame.args.qid or frame.args[1])) end ------------------------------------------------------------------------------- -- getLang returns the MediaWiki language code of the current content. -- If optional parameter |style=full, it returns the language name. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getLang = function(frame) local style = (frame.args.style or ""):lower() local langcode = mw.language.getContentLanguage().code if style == "full" then return mw.language.fetchLanguageName( langcode ) end return langcode end ------------------------------------------------------------------------------- -- getItemLangCode takes a qid parameter (using the current page's qid if blank) -- If the item for that qid has property country (P17) it looks at the first preferred value -- If the country has an official language (P37), it looks at the first preferred value -- If that official language has a language code (P424), it returns the first preferred value -- Otherwise it returns nothing. ------------------------------------------------------------------------------- -- Dependencies: _getItemLangCode() ------------------------------------------------------------------------------- p.getItemLangCode = function(frame) return _getItemLangCode(frame.args.qid or frame.args[1]) end ------------------------------------------------------------------------------- -- findLanguage exports the local findLang() function -- It takes an optional language code and returns, in order of preference: -- the code if a known language; -- the user's language, if set; -- the server's content language. ------------------------------------------------------------------------------- -- Dependencies: findLang ------------------------------------------------------------------------------- p.findLanguage = function(frame) return findLang(frame.args.lang or frame.args[1]).code end ------------------------------------------------------------------------------- -- getQid returns the qid, if supplied -- failing that, the Wikidata entity ID of the "category's main topic (P301)", if it exists -- failing that, the Wikidata entity ID associated with the current page, if it exists -- otherwise, nothing ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getQid = function(frame) local qid = (frame.args.qid or ""):upper() -- check if a qid was passed; if so, return it: if qid ~= "" then return qid end -- check if there's a "category's main topic (P301)": qid = mw.wikibase.getEntityIdForCurrentPage() if qid then local prop301 = mw.wikibase.getBestStatements(qid, "P301") if prop301[1] then local mctid = prop301[1].mainsnak.datavalue.value.id if mctid then return mctid end end end -- otherwise return the page qid (if any) return qid end ------------------------------------------------------------------------------- -- followQid takes four optional parameters: qid, props, list and all. -- If qid is not given, it uses the qid for the connected page -- or returns nil if there isn't one. -- props is a list of properties, separated by punctuation. -- If props is given, the Wikidata item for the qid is examined for each property in turn. -- If that property contains a value that is another Wikibase-item, that item's qid is returned, -- and the search terminates, unless |all=y when all of the qids are returned, separated by spaces. -- If |list= is set to a template, the qids are passed as arguments to the template. -- If props is not given, the qid is returned. ------------------------------------------------------------------------------- -- Dependencies: parseParam() ------------------------------------------------------------------------------- p._followQid = function(args) local qid = (args.qid or ""):upper() local all = parseParam(args.all, false) local list = args.list or "" if list == "" then list = nil end if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid then return nil end local out = {} local props = (args.props or ""):upper() if props ~= "" then for p in mw.text.gsplit(props, "%p") do -- split at punctuation and iterate p = mw.text.trim(p) for i, v in ipairs( mw.wikibase.getBestStatements(qid, p) ) do local linkedid = v.mainsnak.datavalue and v.mainsnak.datavalue.value.id if linkedid then if all then out[#out+1] = linkedid else return linkedid end -- test for all or just the first one found end -- test for value exists for that property end -- loop through values of property to follow end -- loop through list of properties to follow end if #out > 0 then local ret = "" if list then ret = mw.getCurrentFrame():expandTemplate{title = list, args = out} else ret = table.concat(out, " ") end return ret else return qid end end p.followQid = function(frame) return p._followQid(frame.args) end ------------------------------------------------------------------------------- -- globalSiteID returns the globalSiteID for the current wiki -- e.g. returns "enwiki" for the English Wikipedia, "enwikisource" for English Wikisource, etc. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.globalSiteID = function(frame) return mw.wikibase.getGlobalSiteId() end ------------------------------------------------------------------------------- -- siteID returns the root of the globalSiteID -- e.g. "en" for "enwiki", "enwikisource", etc. -- treats "en-gb" as "en", etc. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.siteID = function(frame) local txtlang = frame:callParserFunction('int', {'lang'}) or "" -- This deals with specific exceptions: be-tarask -> be-x-old if txtlang == "be-tarask" then return "be_x_old" end local pos = txtlang:find("-") local ret = "" if pos then ret = txtlang:sub(1, pos-1) else ret = txtlang end return ret end ------------------------------------------------------------------------------- -- projID returns the code used to link to the reader's language's project -- e.g "en" for [[:en:WikidataIB]] -- treats "en-gb" as "en", etc. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.projID = function(frame) local txtlang = frame:callParserFunction('int', {'lang'}) or "" -- This deals with specific exceptions: be-tarask -> be-x-old if txtlang == "be-tarask" then return "be-x-old" end local pos = txtlang:find("-") local ret = "" if pos then ret = txtlang:sub(1, pos-1) else ret = txtlang end return ret end ------------------------------------------------------------------------------- -- formatNumber formats a number according to the the supplied language code ("|lang=") -- or the default language if not supplied. -- The number is the first unnamed parameter or "|num=" ------------------------------------------------------------------------------- -- Dependencies: findLang() ------------------------------------------------------------------------------- p.formatNumber = function(frame) local lang local num = tonumber(frame.args[1] or frame.args.num) or 0 lang = findLang(frame.args.lang) return lang:formatNum( num ) end ------------------------------------------------------------------------------- -- examine dumps the property (the unnamed parameter or pid) -- from the item given by the parameter 'qid' (or the other unnamed parameter) -- or from the item corresponding to the current page if qid is not supplied. -- e.g. {{#invoke:WikidataIB |examine |pid=P26 |qid=Q42}} -- or {{#invoke:WikidataIB |examine |P26 |Q42}} or any combination of these -- or {{#invoke:WikidataIB |examine |P26}} for the current page. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.examine = function( frame ) local args if frame.args[1] or frame.args.pid or frame.args.qid then args = frame.args else args = frame:getParent().args end local par = {} local pid = (args.pid or ""):upper() local qid = (args.qid or ""):upper() par[1] = mw.text.trim( args[1] or "" ):upper() par[2] = mw.text.trim( args[2] or "" ):upper() table.sort(par) if par[2]:sub(1,1) == "P" then par[1], par[2] = par[2], par[1] end if pid == "" then pid = par[1] end if qid == "" then qid = par[2] end local q1 = qid:sub(1,1) if pid:sub(1,1) ~= "P" then return "No property supplied" end if q1 ~= "Q" and q1 ~= "M" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid then return "No item for this page" end return "<pre>" .. mw.dumpObject( mw.wikibase.getAllStatements( qid, pid ) ) .. "</pre>" end ------------------------------------------------------------------------------- -- checkvalue looks for 'val' as a wikibase-item value of a property (the unnamed parameter or pid) -- from the item given by the parameter 'qid' -- or from the Wikidata item associated with the current page if qid is not supplied. -- It only checks ranks that are requested (preferred and normal by default) -- If property is not supplied, then P31 (instance of) is assumed. -- It returns val if found or nothing if not found. -- e.g. {{#invoke:WikidataIB |checkvalue |val=Q5 |pid=P31 |qid=Q42}} -- or {{#invoke:WikidataIB |checkvalue |val=Q5 |P31 |qid=Q42}} -- or {{#invoke:WikidataIB |checkvalue |val=Q5 |qid=Q42}} -- or {{#invoke:WikidataIB |checkvalue |val=Q5 |P31}} for the current page. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.checkvalue = function( frame ) local args if frame.args.val then args = frame.args else args = frame:getParent().args end local val = args.val if not val then return nil end local pid = mw.text.trim(args.pid or args[1] or "P31"):upper() local qid = (args.qid or ""):upper() if pid:sub(1,1) ~= "P" then return nil end if qid:sub(1,1) ~= "Q" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid then return nil end local ranks = setRanks(args.rank) local stats = {} if ranks.b then stats = mw.wikibase.getBestStatements(qid, pid) else stats = mw.wikibase.getAllStatements( qid, pid ) end if not stats[1] then return nil end if stats[1].mainsnak.datatype == "wikibase-item" then for k, v in pairs( stats ) do local ms = v.mainsnak if ranks[v.rank:sub(1,1)] and ms.snaktype == "value" and ms.datavalue.value.id == val then return val end end end return nil end ------------------------------------------------------------------------------- -- url2 takes a parameter url= that is a proper url and formats it for use in an infobox. -- If no parameter is supplied, it returns nothing. -- This is the equivalent of Template:URL -- but it keeps the "edit at Wikidata" pen icon out of the microformat. -- Usually it will take its url parameter directly from a Wikidata call: -- e.g. {{#invoke:WikidataIB |url2 |url={{wdib |P856 |qid=Q23317 |fwd=ALL |osd=no}} }} ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.url2 = function(frame) local txt = frame.args.url or "" if txt == "" then return nil end -- extract any icon local url, icon = txt:match("(.+)&nbsp;(.+)") -- make sure there's at least a space at the end url = (url or txt) .. " " icon = icon or "" -- extract any protocol like https:// local prot = url:match("(https*://).+[ \"\']") -- extract address local addr = "" if prot then addr = url:match("https*://(.+)[ \"\']") or " " else prot = "//" addr = url:match("[^%p%s]+%.(.+)[ \"\']") or " " end -- strip trailing / from end of domain-only url and add <wbr/> before . and / local disp, n = addr:gsub( "^([^/]+)/$", "%1" ):gsub("%/", "<wbr/>/"):gsub("%.", "<wbr/>.") return '<span class="url">[' .. prot .. addr .. " " .. disp .. "]</span>&nbsp;" .. icon end ------------------------------------------------------------------------------- -- getWebsite fetches the Official website (P856) and formats it for use in an infobox. -- This is similar to Template:Official website but with a url displayed, -- and it adds the "edit at Wikidata" pen icon beyond the microformat if enabled. -- A local value will override the Wikidata value. "NONE" returns nothing. -- e.g. {{#invoke:WikidataIB |getWebsite |qid= |noicon= |lang= |url= }} ------------------------------------------------------------------------------- -- Dependencies: findLang(); parseParam(); ------------------------------------------------------------------------------- p.getWebsite = function(frame) local url = frame.args.url or "" if url:upper() == "NONE" then return nil end local urls = {} local quals = {} local qid = frame.args.qid or "" if url and url ~= "" then urls[1] = url else if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid then return nil end local prop856 = mw.wikibase.getBestStatements(qid, "P856") for k, v in pairs(prop856) do if v.mainsnak.snaktype == "value" then urls[#urls+1] = v.mainsnak.datavalue.value if v.qualifiers and v.qualifiers["P1065"] then -- just take the first archive url (P1065) local au = v.qualifiers["P1065"][1] if au.snaktype == "value" then quals[#urls] = au.datavalue.value end -- test for archive url having a value end -- test for qualifers end -- test for website having a value end -- loop through website(s) end if #urls == 0 then return nil end local out = {} for i, u in ipairs(urls) do local link = quals[i] or u local prot, addr = u:match("(http[s]*://)(.+)") addr = addr or u local disp, n = addr:gsub("%.", "<wbr/>%.") out[#out+1] = '<span class="url">[' .. link .. " " .. disp .. "]</span>" end local langcode = findLang(frame.args.lang).code local noicon = parseParam(frame.args.noicon, false) if url == "" and not noicon then out[#out] = out[#out] .. createicon(langcode, qid, "P856") end local ret = "" if #out > 1 then ret = mw.getCurrentFrame():expandTemplate{title = "ubl", args = out} else ret = out[1] end return ret end ------------------------------------------------------------------------------- -- getAllLabels fetches the set of labels and formats it for display as wikitext. -- It takes a parameter 'qid' for arbitrary access, otherwise it uses the current page. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getAllLabels = function(frame) local args = frame.args or frame:getParent().args or {} local qid = args.qid or "" if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid or not mw.wikibase.entityExists(qid) then return i18n["entity-not-found"] end local labels = mw.wikibase.getEntity(qid).labels if not labels then return i18n["labels-not-found"] end local out = {} for k, v in pairs(labels) do out[#out+1] = v.value .. " (" .. v.language .. ")" end return table.concat(out, "; ") end ------------------------------------------------------------------------------- -- getAllDescriptions fetches the set of descriptions and formats it for display as wikitext. -- It takes a parameter 'qid' for arbitrary access, otherwise it uses the current page. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getAllDescriptions = function(frame) local args = frame.args or frame:getParent().args or {} local qid = args.qid or "" if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid or not mw.wikibase.entityExists(qid) then return i18n["entity-not-found"] end local descriptions = mw.wikibase.getEntity(qid).descriptions if not descriptions then return i18n["descriptions-not-found"] end local out = {} for k, v in pairs(descriptions) do out[#out+1] = v.value .. " (" .. v.language .. ")" end return table.concat(out, "; ") end ------------------------------------------------------------------------------- -- getAllAliases fetches the set of aliases and formats it for display as wikitext. -- It takes a parameter 'qid' for arbitrary access, otherwise it uses the current page. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.getAllAliases = function(frame) local args = frame.args or frame:getParent().args or {} local qid = args.qid or "" if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid or not mw.wikibase.entityExists(qid) then return i18n["entity-not-found"] end local aliases = mw.wikibase.getEntity(qid).aliases if not aliases then return i18n["aliases-not-found"] end local out = {} for k1, v1 in pairs(aliases) do local lang = v1[1].language local val = {} for k1, v2 in ipairs(v1) do val[#val+1] = v2.value end out[#out+1] = table.concat(val, ", ") .. " (" .. lang .. ")" end return table.concat(out, "; ") end ------------------------------------------------------------------------------- -- showNoLinks displays the article titles that should not be linked. ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- p.showNoLinks = function(frame) local out = {} for k, v in pairs(donotlink) do out[#out+1] = k end table.sort( out ) return table.concat(out, "; ") end ------------------------------------------------------------------------------- -- checkValidity checks whether the first unnamed parameter represents a valid entity-id, -- that is, something like Q1235 or P123. -- It returns the strings "true" or "false". -- Change false to nil to return "true" or "" (easier to test with #if:). ------------------------------------------------------------------------------- -- Dependencies: none ------------------------------------------------------------------------------- function p.checkValidity(frame) local id = mw.text.trim(frame.args[1] or "") if mw.wikibase.isValidEntityId(id) then return true else return false end end ------------------------------------------------------------------------------- -- getEntityFromTitle returns the Entity-ID (Q-number) for a given title. -- Modification of Module:ResolveEntityId -- The title is the first unnamed parameter. -- The site parameter determines the site/language for the title. Defaults to current wiki. -- The showdab parameter determines whether dab pages should return the Q-number or nil. Defaults to true. -- Returns the Q-number or nil if it does not exist. ------------------------------------------------------------------------------- -- Dependencies: parseParam ------------------------------------------------------------------------------- function p.getEntityFromTitle(frame) local args=frame.args if not args[1] then args=frame:getParent().args end if not args[1] then return nil end local title = mw.text.trim(args[1]) local site = args.site or "" local showdab = parseParam(args.showdab, true) local qid = mw.wikibase.getEntityIdForTitle(title, site) if qid then local prop31 = mw.wikibase.getBestStatements(qid, "P31")[1] if not showdab and prop31 and prop31.mainsnak.datavalue.value.id == "Q4167410" then return nil else return qid end end end ------------------------------------------------------------------------------- -- getDatePrecision returns the number representing the precision of the first best date value -- for the given property. -- It takes the qid and property ID -- The meanings are given at https://www.mediawiki.org/wiki/Wikibase/DataModel#Dates_and_times -- 0 = 1 billion years .. 6 = millennium, 7 = century, 8 = decade, 9 = year, 10 = month, 11 = day -- Returns 0 (or the second unnamed parameter) if the Wikidata does not exist. ------------------------------------------------------------------------------- -- Dependencies: parseParam; sourced; ------------------------------------------------------------------------------- function p.getDatePrecision(frame) local args=frame.args if not args[1] then args=frame:getParent().args end local default = tonumber(args[2] or args.default) or 0 local prop = mw.text.trim(args[1] or "") if prop == "" then return default end local qid = args.qid or "" if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end if not qid then return default end local onlysrc = parseParam(args.onlysourced or args.osd, true) local stat = mw.wikibase.getBestStatements(qid, prop) for i, v in ipairs(stat) do local prec = (onlysrc == false or sourced(v)) and v.mainsnak.datavalue and v.mainsnak.datavalue.value and v.mainsnak.datavalue.value.precision if prec then return prec end end return default end return p ------------------------------------------------------------------------------- -- List of exported functions ------------------------------------------------------------------------------- --[[ _getValue getValue getPreferredValue getCoords getQualifierValue getSumOfParts getValueByQual getValueByLang getValueByRefSource getPropertyIDs getQualifierIDs getPropOfProp getAwardCat getIntersectCat getGlobe getCommonsLink getSiteLink getLink getLabel label getAT getDescription getAliases pageId formatDate location checkBlacklist emptyor labelorid getLang getItemLangCode findLanguage getQID followQid globalSiteID siteID projID formatNumber examine checkvalue url2 getWebsite getAllLabels getAllDescriptions getAllAliases showNoLinks checkValidity getEntityFromTitle getDatePrecision --]] ------------------------------------------------------------------------------- o26pvdzoveksr04pobp213ncnrqerd6 Module:Wikidata/Sorters 828 3327 36514 2025-12-15T17:42:53Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local ValueTypeToDefaultMethod = { ['monolingualtext'] = 'alpha', ['quantity'] = 'number', ['string'] = 'alpha', ['time'] = 'time', ['wikibase-entityid'] = 'alpha', } p.Sorters = {} setmetatable(p.Sorters, { __index = function(t, key) t[key] = require('Module:Wikidata/Sorters/' .. key) return t[key] end }) local function resolveResult(result, inverted) if mat...' 36514 Scribunto text/plain --require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local ValueTypeToDefaultMethod = { ['monolingualtext'] = 'alpha', ['quantity'] = 'number', ['string'] = 'alpha', ['time'] = 'time', ['wikibase-entityid'] = 'alpha', } p.Sorters = {} setmetatable(p.Sorters, { __index = function(t, key) t[key] = require('Module:Wikidata/Sorters/' .. key) return t[key] end }) local function resolveResult(result, inverted) if math.abs(result) > 1 then return result < 0 else return (result < 0) ~= (inverted or false) end end local function compareIncomplete(first, second) if first then return -2 end if second then return 2 end return 0 end local function getDefaultMethodForSnak(snak) local valueType = lib.datatypeToValueType[snak.datatype] return ValueTypeToDefaultMethod[valueType] end local function getCallbackForQualifiers(method) return function(first, second) local sorter = p.Sorters[method] if not (sorter.mayCompareSnak(first) and sorter.mayCompareSnak(second)) then return error(lib.formatError('invalid-sort', method)) end local first_complete = sorter.isCompleteSnak(first) local second_complete = sorter.isCompleteSnak(second) if not (first_complete and second_complete) then return compareIncomplete(first_complete, second_complete) end return sorter.compareSnaks(first, second) end end local function defaultCallbackForQualifiers(first, second) local default = getDefaultMethodForSnak(first) return getCallbackForQualifiers(default)(first, second) end local function getQualifierToCompare(statement, prop) local qualifiers = statement.qualifiers and statement.qualifiers[mw.ustring.upper(prop)] if qualifiers then qualifiers = mw.clone(qualifiers) if #qualifiers > 1 then table.sort(qualifiers, function(first, second) return resolveResult(defaultCallbackForQualifiers(first, second)) end) end return qualifiers[1] end return nil end local function getCallbackForStatements(method) return function(first, second) local sorter = p.Sorters[method] if not (sorter.mayCompareStatement(first) and sorter.mayCompareStatement(second)) then return error(lib.formatError('invalid-sort', method)) end local first_complete = sorter.isCompleteStatement(first) local second_complete = sorter.isCompleteStatement(second) if not (first_complete and second_complete) then return compareIncomplete(first_complete, second_complete) end return sorter.compareStatements(first, second) end end local function resolveMethodForStatements(method) if method == 'default' then return function(first, second) local default = getDefaultMethodForSnak(first.mainsnak) return getCallbackForStatements(default)(first, second) end elseif lib.isPropertyId(method) then return function(first, second) local first_qualifier = getQualifierToCompare(first, method) local second_qualifier = getQualifierToCompare(second, method) if not (first_qualifier and second_qualifier) then return compareIncomplete(not not first_qualifier, not not second_qualifier) end local default = getDefaultMethodForSnak(first_qualifier) return getCallbackForQualifiers(default)(first_qualifier, second_qualifier) end end return getCallbackForStatements(method) end function p.sortStatements(statements, options) local methods = lib.textToTable(options.sort) local inverted = lib.IsOptionTrue(options, 'invert') local cache = {} table.sort(statements, function(first, second) local result for _, method in ipairs(methods) do if not cache[method] then cache[method] = resolveMethodForStatements(method) end result = cache[method](first, second) if result ~= 0 then return resolveResult(result, inverted) end end return false end) end local function resolveMethodForQualifiers(method) if method == 'default' then return defaultCallbackForQualifiers end return getCallbackForQualifiers(method) end function p.sortQualifiers(qualifiers, options) local methods = lib.textToTable(options.sort) local inverted = lib.IsOptionTrue(options, 'invert') local cache = {} table.sort(qualifiers, function(first, second) local result for _, method in ipairs(methods) do if not cache[method] then cache[method] = resolveMethodForQualifiers(method) end result = cache[method](first, second) if result ~= 0 then return resolveResult(result, inverted) end end return false end) end return p t59d5mlcxnnnxizl3wbs25ur74uccfi Module:Wikidata/lib 828 3328 36515 2025-12-15T17:43:52Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "Module:No globals" local p = { common = require "Module:Functions", props = { begin = { 'P569', 'P580' }, ending = { 'P570', 'P582' }, lang = { 'P364', 'P407' }, point = { 'P571', 'P577', 'P585' }, }, datatypeToValueType = { ['commonsMedia'] = 'string', ['external-id'] = 'string', ['geo-shape'] = 'string', ['globe-coordinate'] = 'globecoordinate', ['math'] = 'string', ['monolingualtext'] = 'monolingualtext', ['...' 36515 Scribunto text/plain --require "Module:No globals" local p = { common = require "Module:Functions", props = { begin = { 'P569', 'P580' }, ending = { 'P570', 'P582' }, lang = { 'P364', 'P407' }, point = { 'P571', 'P577', 'P585' }, }, datatypeToValueType = { ['commonsMedia'] = 'string', ['external-id'] = 'string', ['geo-shape'] = 'string', ['globe-coordinate'] = 'globecoordinate', ['math'] = 'string', ['monolingualtext'] = 'monolingualtext', ['quantity'] = 'quantity', ['string'] = 'string', ['tabular-data'] = 'string', ['time'] = 'time', ['url'] = 'string', ['wikibase-item'] = 'wikibase-entityid', ['wikibase-property'] = 'wikibase-entityid', }, } local i18n = mw.loadData("Module:Wikidata/i18n") function p.addWdClass(str) return '<span class="wddata">' .. str .. '</span>' end function p.category(key, ...) local Category = require 'Module:Category' local title = mw.title.getCurrentTitle() if i18n.categories[key] ~= '-' then return Category.makeCategory(mw.ustring.format(i18n.categories[key], ...), '0,14', title.text) else return '' end end function p.formatDateRange(snaks, options) local options = mw.clone(options) local Y = require('Module:Time').PRECISION.YEAR --if options.isQualifier == true then options.precision = options.precision or Y --end local Formatters = require 'Module:Wikidata/Formatters' local begin, begin_raw, ending, ending_raw if snaks.begin then begin_raw = Formatters.getRawValue(snaks.begin, options) end if snaks.ending then ending_raw = Formatters.getRawValue(snaks.ending, options) end if begin_raw and begin_raw ~= 'novalue' then begin = Formatters.formatRawValue(begin_raw, 'time', options) end if ending_raw and ending_raw ~= 'novalue' then ending = Formatters.formatRawValue(ending_raw, 'time', options) end if not begin then if not ending then return '' end return mw.ustring.format(i18n.date['end'], ending) end if not ending then return mw.ustring.format(i18n.date['start'], begin) end local precision = options.precision or Y local begin_precision = math.min(precision, begin_raw.precision or Y) local ending_precision = math.min(precision, ending_raw.precision or Y) local top = math.min(begin_raw.precision or Y, ending_raw.precision or Y) while begin == ending and precision < top do precision = precision + 1 options.precision = precision begin = Formatters.formatRawValue(begin_raw, 'time', options) begin_precision = precision ending = Formatters.formatRawValue(ending_raw, 'time', options) ending_precision = precision end if begin == ending then return begin end local connector = ' – ' if begin_precision == Y and ending_precision == Y then connector = '–' end return table.concat( { begin, ending }, connector ) end function p.formatError(key, ...) return mw.ustring.format(i18n.errors[key], ...) end function p.formatFromPattern(str, pattern) return mw.ustring.gsub(pattern, '$1', str) .. '' --Hack to get only the first result of the function end function p.formatTextInLanguage(text, language) return mw.text.tag('span', { lang = language }, text) end -- @deprecated function p.getEntityIdFromValue(value) local entityType = value['entity-type'] if entityType == 'item' then return 'Q' .. value['numeric-id'] elseif entityType == 'property' then return 'P' .. value['numeric-id'] else return error(p.formatError('unknown-entity-type', entityType)) end end function p.getItemIdFromURI(uri) return mw.ustring.match(uri, '(Q%d+)') end function p.getLabelInLanguage(entityId, langs) langs = p.textToTable(langs) local label, lang = mw.wikibase.getLabelWithLang(entityId) if label then for _, lg in ipairs(langs) do if lg == lang then return label, lang end end end return nil, nil end function p.getLinkWhenNonexistingLabel(entityId) local ImageFormatter = require 'Module:ImageFormatter' return ImageFormatter.makeImage('Wikidata-edit.svg', { description = i18n['missing-label'], link = 'd:' .. entityId, size = '27x17px' }) .. '<code>[[d:' .. entityId .. '|' .. entityId .. ']]</code>' .. p.category('missing-label') end function p.IsOptionTrue(options, key) if options[key] then if tostring(options[key]) == 'true' or tostring(options[key]) == 'yes' or tostring(options[key]) == '1' then return true end end return false end function p.isPropertyId(value) return mw.ustring.match(value, '^[Pp][1-9]%d-$') and true end function p.IsSnakValue(snak) return snak.snaktype == 'value' end function p.raiseInvalidDatatype(method, allowed, provided) if type(allowed) ~= 'table' then allowed = { allowed } end return p.formatError('invalid-datatype2', method, mw.text.listToText(allowed, '“, „', '“ nebo „'), provided) end function p.simpleCompare(first, second) if first == second then return 0 end if first < second then return -1 else return 1 end end function p.textToTable(something, options) if type(something) ~= "table" then local options = options or {} local split_pattern = options.split_pattern or "%s*,%s*" something = mw.text.split(something, split_pattern) end return p.common.cleanArgs(something) end return p f0d19viwzrahbzngd4m6czhdrqauuz4 Module:Functions 828 3329 36516 2025-12-15T17:44:42Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "Module:No globals" local p = {} -- Změní první písmeno řetězce na velké -- @param řetězec -- @return řetězec function p.firstToUpper(str) return mw.ustring.upper(mw.ustring.sub(str, 1, 1)) .. mw.ustring.sub(str, 2) end -- Odstraní z tabulky prázdné parametry -- @param tabulka -- @return tabulka function p.cleanArgs(args) local cleanArgs = {} for key, value in pairs(args) do if type(value) == 'string' then local...' 36516 Scribunto text/plain --require "Module:No globals" local p = {} -- Změní první písmeno řetězce na velké -- @param řetězec -- @return řetězec function p.firstToUpper(str) return mw.ustring.upper(mw.ustring.sub(str, 1, 1)) .. mw.ustring.sub(str, 2) end -- Odstraní z tabulky prázdné parametry -- @param tabulka -- @return tabulka function p.cleanArgs(args) local cleanArgs = {} for key, value in pairs(args) do if type(value) == 'string' then local value = mw.text.trim(value) if value ~= '' then cleanArgs[key] = value end elseif type(value) == 'table' then if not p.isTableEmpty(value) then cleanArgs[key] = value end else cleanArgs[key] = value end end return cleanArgs end -- Rozhodne, zda je tabulka prázdná (má žádné nebo prázdné parametry) -- @param tabulka -- @return bool function p.isTableEmpty(Table) for key, value in pairs(Table) do if type(value) == 'table' then if not p.isTableEmpty(value) then return false end elseif type(value) == 'string' then if mw.text.trim(value) ~= '' then return false end else return false end end return true end return p s72f1vx9gpgdquo2ej4adozfs14ht7h Module:Category 828 3330 36517 2025-12-15T17:46:24Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "strict" local p = {} local function checkNamespace(namespace) if not namespace or namespace == '' then namespace = 0 end if type(namespace) == 'string' then namespace = mw.text.split(namespace, ',') elseif type(namespace) ~= 'table' then namespace = { namespace } end local namespace_map = mw.site.namespaces local title = mw.title.getCurrentTitle() for _, namespace in ipairs(namespace) do if tonumber(namespace) then...' 36517 Scribunto text/plain --require "strict" local p = {} local function checkNamespace(namespace) if not namespace or namespace == '' then namespace = 0 end if type(namespace) == 'string' then namespace = mw.text.split(namespace, ',') elseif type(namespace) ~= 'table' then namespace = { namespace } end local namespace_map = mw.site.namespaces local title = mw.title.getCurrentTitle() for _, namespace in ipairs(namespace) do if tonumber(namespace) then if title.namespace == tonumber(namespace) then return true end end local namespace_data = namespace_map[namespace] if namespace_data then if title.namespace == namespace_data.id then return true end end end return false end function p.makeCategory(catname, namespace, key) if not catname or catname == '' then return '' end if not checkNamespace(namespace) then return '' end if key and key ~= '' then return "[[Κατηγορίαν:" .. catname .. "|" .. key .. "]]" else return "[[Κατηγορίαν:" .. catname .. "]]" end end function p.fromTemplate(frame) local parent = frame:getParent() local params = parent.args return p.makeCategory(params[1], params[2], params[3]) end return p luhkaorlwaa3b81ihi58mxhv774zhc7 Module:Category handler 828 3331 36518 2025-12-15T17:47:50Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-------------------------------------------------------------------------------- -- -- -- CATEGORY HANDLER -- -- -- -- This module implements the {{category handler}} template in Lua, -- -- with a few improvements: all namespaces...' 36518 Scribunto text/plain -------------------------------------------------------------------------------- -- -- -- CATEGORY HANDLER -- -- -- -- This module implements the {{category handler}} template in Lua, -- -- with a few improvements: all namespaces and all namespace aliases -- -- are supported, and namespace names are detected automatically for -- -- the local wiki. This module requires [[Module:Namespace detect]] -- -- and [[Module:Yesno]] to be available on the local wiki. It can be -- -- configured for different wikis by altering the values in -- -- [[Module:Category handler/config]], and pages can be blacklisted -- -- from categorisation by using [[Module:Category handler/blacklist]]. -- -- -- -------------------------------------------------------------------------------- -- Load required modules local yesno = require('Module:Yesno') -- Lazily load things we don't always need local mShared, mappings local p = {} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function trimWhitespace(s, removeBlanks) if type(s) ~= 'string' then return s end s = s:match('^%s*(.-)%s*$') if removeBlanks then if s ~= '' then return s else return nil end else return s end end -------------------------------------------------------------------------------- -- CategoryHandler class -------------------------------------------------------------------------------- local CategoryHandler = {} CategoryHandler.__index = CategoryHandler function CategoryHandler.new(data, args) local obj = setmetatable({ _data = data, _args = args }, CategoryHandler) -- Set the title object do local pagename = obj:parameter('demopage') local success, titleObj if pagename then success, titleObj = pcall(mw.title.new, pagename) end if success and titleObj then obj.title = titleObj if titleObj == mw.title.getCurrentTitle() then obj._usesCurrentTitle = true end else obj.title = mw.title.getCurrentTitle() obj._usesCurrentTitle = true end end -- Set suppression parameter values for _, key in ipairs{'nocat', 'categories'} do local value = obj:parameter(key) value = trimWhitespace(value, true) obj['_' .. key] = yesno(value) end do local subpage = obj:parameter('subpage') local category2 = obj:parameter('category2') if type(subpage) == 'string' then subpage = mw.ustring.lower(subpage) end if type(category2) == 'string' then subpage = mw.ustring.lower(category2) end obj._subpage = trimWhitespace(subpage, true) obj._category2 = trimWhitespace(category2) -- don't remove blank values end return obj end function CategoryHandler:parameter(key) local parameterNames = self._data.parameters[key] local pntype = type(parameterNames) if pntype == 'string' or pntype == 'number' then return self._args[parameterNames] elseif pntype == 'table' then for _, name in ipairs(parameterNames) do local value = self._args[name] if value ~= nil then return value end end return nil else error(string.format( 'invalid config key "%s"', tostring(key) ), 2) end end function CategoryHandler:isSuppressedByArguments() return -- See if a category suppression argument has been set. self._nocat == true or self._categories == false or ( self._category2 and self._category2 ~= self._data.category2Yes and self._category2 ~= self._data.category2Negative ) -- Check whether we are on a subpage, and see if categories are -- suppressed based on our subpage status. or self._subpage == self._data.subpageNo and self.title.isSubpage or self._subpage == self._data.subpageOnly and not self.title.isSubpage end function CategoryHandler:shouldSkipBlacklistCheck() -- Check whether the category suppression arguments indicate we -- should skip the blacklist check. return self._nocat == false or self._categories == true or self._category2 == self._data.category2Yes end function CategoryHandler:matchesBlacklist() if self._usesCurrentTitle then return self._data.currentTitleMatchesBlacklist else mShared = mShared or require('Module:Category handler/shared') return mShared.matchesBlacklist( self.title.prefixedText, mw.loadData('Module:Category handler/blacklist') ) end end function CategoryHandler:isSuppressed() -- Find if categories are suppressed by either the arguments or by -- matching the blacklist. return self:isSuppressedByArguments() or not self:shouldSkipBlacklistCheck() and self:matchesBlacklist() end function CategoryHandler:getNamespaceParameters() if self._usesCurrentTitle then return self._data.currentTitleNamespaceParameters else if not mappings then mShared = mShared or require('Module:Category handler/shared') mappings = mShared.getParamMappings(true) -- gets mappings with mw.loadData end return mShared.getNamespaceParameters( self.title, mappings ) end end function CategoryHandler:namespaceParametersExist() -- Find whether any namespace parameters have been specified. -- We use the order "all" --> namespace params --> "other" as this is what -- the old template did. if self:parameter('all') then return true end if not mappings then mShared = mShared or require('Module:Category handler/shared') mappings = mShared.getParamMappings(true) -- gets mappings with mw.loadData end for ns, params in pairs(mappings) do for i, param in ipairs(params) do if self._args[param] then return true end end end if self:parameter('other') then return true end return false end function CategoryHandler:getCategories() local params = self:getNamespaceParameters() local nsCategory for i, param in ipairs(params) do local value = self._args[param] if value ~= nil then nsCategory = value break end end if nsCategory ~= nil or self:namespaceParametersExist() then -- Namespace parameters exist - advanced usage. if nsCategory == nil then nsCategory = self:parameter('other') end local ret = {self:parameter('all')} local numParam = tonumber(nsCategory) if numParam and numParam >= 1 and math.floor(numParam) == numParam then -- nsCategory is an integer ret[#ret + 1] = self._args[numParam] else ret[#ret + 1] = nsCategory end if #ret < 1 then return nil else return table.concat(ret) end elseif self._data.defaultNamespaces[self.title.namespace] then -- Namespace parameters don't exist, simple usage. return self._args[1] end return nil end -------------------------------------------------------------------------------- -- Exports -------------------------------------------------------------------------------- local p = {} function p._exportClasses() -- Used for testing purposes. return { CategoryHandler = CategoryHandler } end function p._main(args, data) data = data or mw.loadData('Module:Category handler/data') local handler = CategoryHandler.new(data, args) if handler:isSuppressed() then return nil end return handler:getCategories() end function p.main(frame, data) data = data or mw.loadData('Module:Category handler/data') local args = require('Module:Arguments').getArgs(frame, { wrappers = data.wrappers, valueFunc = function (k, v) v = trimWhitespace(v) if type(k) == 'number' then if v ~= '' then return v else return nil end else return v end end }) return p._main(args, data) end return p letwavu3yvlayfzew66uuwixmwebq5b Module:Namespace detect/data 828 3332 36519 2025-12-15T17:49:00Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-------------------------------------------------------------------------------- -- Namespace detect data -- -- This module holds data for [[Module:Namespace detect]] to be loaded per -- -- page, rather than per #invoke, for performance reasons. -- -------------------------------------------------------------------------------- local cfg = require('Module:Namespace detect/c...' 36519 Scribunto text/plain -------------------------------------------------------------------------------- -- Namespace detect data -- -- This module holds data for [[Module:Namespace detect]] to be loaded per -- -- page, rather than per #invoke, for performance reasons. -- -------------------------------------------------------------------------------- local cfg = require('Module:Namespace detect/config') local function addKey(t, key, defaultKey) if key ~= defaultKey then t[#t + 1] = key end end -- Get a table of parameters to query for each default parameter name. -- This allows wikis to customise parameter names in the cfg table while -- ensuring that default parameter names will always work. The cfg table -- values can be added as a string, or as an array of strings. local defaultKeys = { 'main', 'talk', 'other', 'subjectns', 'demospace', 'demopage' } local argKeys = {} for i, defaultKey in ipairs(defaultKeys) do argKeys[defaultKey] = {defaultKey} end for defaultKey, t in pairs(argKeys) do local cfgValue = cfg[defaultKey] local cfgValueType = type(cfgValue) if cfgValueType == 'string' then addKey(t, cfgValue, defaultKey) elseif cfgValueType == 'table' then for i, key in ipairs(cfgValue) do addKey(t, key, defaultKey) end end cfg[defaultKey] = nil -- Free the cfg value as we don't need it any more. end local function getParamMappings() --[[ -- Returns a table of how parameter names map to namespace names. The keys -- are the actual namespace names, in lower case, and the values are the -- possible parameter names for that namespace, also in lower case. The -- table entries are structured like this: -- { -- [''] = {'main'}, -- ['wikipedia'] = {'wikipedia', 'project', 'wp'}, -- ... -- } --]] local mappings = {} local mainNsName = mw.site.subjectNamespaces[0].name mainNsName = mw.ustring.lower(mainNsName) mappings[mainNsName] = mw.clone(argKeys.main) mappings['talk'] = mw.clone(argKeys.talk) for nsid, ns in pairs(mw.site.subjectNamespaces) do if nsid ~= 0 then -- Exclude main namespace. local nsname = mw.ustring.lower(ns.name) local canonicalName = mw.ustring.lower(ns.canonicalName) mappings[nsname] = {nsname} if canonicalName ~= nsname then table.insert(mappings[nsname], canonicalName) end for _, alias in ipairs(ns.aliases) do table.insert(mappings[nsname], mw.ustring.lower(alias)) end end end return mappings end return { argKeys = argKeys, cfg = cfg, mappings = getParamMappings() } ojp6d3pc8mql5nufaqdg576c9so3479 Module:Namespace detect/config 828 3333 36520 2025-12-15T17:49:50Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-------------------------------------------------------------------------------- -- Namespace detect configuration data -- -- -- -- This module stores configuration data for Module:Namespace detect. Here -- -- you can localise the module to your wiki's language. -- --...' 36520 Scribunto text/plain -------------------------------------------------------------------------------- -- Namespace detect configuration data -- -- -- -- This module stores configuration data for Module:Namespace detect. Here -- -- you can localise the module to your wiki's language. -- -- -- -- To activate a configuration item, you need to uncomment it. This means -- -- that you need to remove the text "-- " at the start of the line. -- -------------------------------------------------------------------------------- local cfg = {} -- Don't edit this line. -------------------------------------------------------------------------------- -- Parameter names -- -- These configuration items specify custom parameter names. Values added -- -- here will work in addition to the default English parameter names. -- -- To add one extra name, you can use this format: -- -- -- -- cfg.foo = 'parameter name' -- -- -- -- To add multiple names, you can use this format: -- -- -- -- cfg.foo = {'parameter name 1', 'parameter name 2', 'parameter name 3'} -- -------------------------------------------------------------------------------- ---- This parameter displays content for the main namespace: -- cfg.main = 'main' ---- This parameter displays in talk namespaces: -- cfg.talk = 'talk' ---- This parameter displays content for "other" namespaces (namespaces for which ---- parameters have not been specified): -- cfg.other = 'other' ---- This parameter makes talk pages behave as though they are the corresponding ---- subject namespace. Note that this parameter is used with [[Module:Yesno]]. ---- Edit that module to change the default values of "yes", "no", etc. -- cfg.subjectns = 'subjectns' ---- This parameter sets a demonstration namespace: -- cfg.demospace = 'demospace' ---- This parameter sets a specific page to compare: cfg.demopage = 'page' -------------------------------------------------------------------------------- -- Table configuration -- -- These configuration items allow customisation of the "table" function, -- -- used to generate a table of possible parameters in the module -- -- documentation. -- -------------------------------------------------------------------------------- ---- The header for the namespace column in the wikitable containing the list of ---- possible subject-space parameters. -- cfg.wikitableNamespaceHeader = 'Namespace' ---- The header for the wikitable containing the list of possible subject-space ---- parameters. -- cfg.wikitableAliasesHeader = 'Aliases' -------------------------------------------------------------------------------- -- End of configuration data -- -------------------------------------------------------------------------------- return cfg -- Don't edit this line. 1o6ozz56i8q0xgyl6xa41n2v7kelhli Module:Namespace detect 828 3334 36521 2025-12-15T17:50:48Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--[[ -------------------------------------------------------------------------------- -- -- -- NAMESPACE DETECT -- -- -- -- This module implements the {{namespace detect}} template in Lua, with a -- -- few improvements: all namespaces and al...' 36521 Scribunto text/plain --[[ -------------------------------------------------------------------------------- -- -- -- NAMESPACE DETECT -- -- -- -- This module implements the {{namespace detect}} template in Lua, with a -- -- few improvements: all namespaces and all namespace aliases are supported, -- -- and namespace names are detected automatically for the local wiki. The -- -- module can also use the corresponding subject namespace value if it is -- -- used on a talk page. Parameter names can be configured for different wikis -- -- by altering the values in the "cfg" table in -- -- Module:Namespace detect/config. -- -- -- -------------------------------------------------------------------------------- --]] local data = mw.loadData('Module:Namespace detect/data') local argKeys = data.argKeys local cfg = data.cfg local mappings = data.mappings local yesno = require('Module:Yesno') local mArguments -- Lazily initialise Module:Arguments local mTableTools -- Lazily initilalise Module:TableTools local ustringLower = mw.ustring.lower local p = {} local function fetchValue(t1, t2) -- Fetches a value from the table t1 for the first key in array t2 where -- a non-nil value of t1 exists. for i, key in ipairs(t2) do local value = t1[key] if value ~= nil then return value end end return nil end local function equalsArrayValue(t, value) -- Returns true if value equals a value in the array t. Otherwise -- returns false. for i, arrayValue in ipairs(t) do if value == arrayValue then return true end end return false end function p.getPageObject(page) -- Get the page object, passing the function through pcall in case of -- errors, e.g. being over the expensive function count limit. if page then local success, pageObject = pcall(mw.title.new, page) if success then return pageObject else return nil end else return mw.title.getCurrentTitle() end end -- Provided for backward compatibility with other modules function p.getParamMappings() return mappings end local function getNamespace(args) -- This function gets the namespace name from the page object. local page = fetchValue(args, argKeys.demopage) if page == '' then page = nil end local demospace = fetchValue(args, argKeys.demospace) if demospace == '' then demospace = nil end local subjectns = fetchValue(args, argKeys.subjectns) local ret if demospace then -- Handle "demospace = main" properly. if equalsArrayValue(argKeys.main, ustringLower(demospace)) then ret = mw.site.namespaces[0].name else ret = demospace end else local pageObject = p.getPageObject(page) if pageObject then if pageObject.isTalkPage then -- Get the subject namespace if the option is set, -- otherwise use "talk". if yesno(subjectns) then ret = mw.site.namespaces[pageObject.namespace].subject.name else ret = 'talk' end else ret = pageObject.nsText end else return nil -- return nil if the page object doesn't exist. end end ret = ret:gsub('_', ' ') return ustringLower(ret) end function p._main(args) -- Check the parameters stored in the mappings table for any matches. local namespace = getNamespace(args) or 'other' -- "other" avoids nil table keys local params = mappings[namespace] or {} local ret = fetchValue(args, params) --[[ -- If there were no matches, return parameters for other namespaces. -- This happens if there was no text specified for the namespace that -- was detected or if the demospace parameter is not a valid -- namespace. Note that the parameter for the detected namespace must be -- completely absent for this to happen, not merely blank. --]] if ret == nil then ret = fetchValue(args, argKeys.other) end return ret end function p.main(frame) mArguments = require('Module:Arguments') local args = mArguments.getArgs(frame, {removeBlanks = false}) local ret = p._main(args) return ret or '' end function p.table(frame) --[[ -- Create a wikitable of all subject namespace parameters, for -- documentation purposes. The talk parameter is optional, in case it -- needs to be excluded in the documentation. --]] -- Load modules and initialise variables. mTableTools = require('Module:TableTools') local namespaces = mw.site.namespaces local cfg = data.cfg local useTalk = type(frame) == 'table' and type(frame.args) == 'table' and yesno(frame.args.talk) -- Whether to use the talk parameter. -- Get the header names. local function checkValue(value, default) if type(value) == 'string' then return value else return default end end local nsHeader = checkValue(cfg.wikitableNamespaceHeader, 'Namespace') local aliasesHeader = checkValue(cfg.wikitableAliasesHeader, 'Aliases') -- Put the namespaces in order. local mappingsOrdered = {} for nsname, params in pairs(mappings) do if useTalk or nsname ~= 'talk' then local nsid = namespaces[nsname].id -- Add 1, as the array must start with 1; nsid 0 would be lost otherwise. nsid = nsid + 1 mappingsOrdered[nsid] = params end end mappingsOrdered = mTableTools.compressSparseArray(mappingsOrdered) -- Build the table. local ret = '{| class="wikitable"' .. '\n|-' .. '\n! ' .. nsHeader .. '\n! ' .. aliasesHeader for i, params in ipairs(mappingsOrdered) do for j, param in ipairs(params) do if j == 1 then ret = ret .. '\n|-' .. '\n| <code>' .. param .. '</code>' .. '\n| ' elseif j == 2 then ret = ret .. '<code>' .. param .. '</code>' else ret = ret .. ', <code>' .. param .. '</code>' end end end ret = ret .. '\n|-' .. '\n|}' return ret end return p j7kygz1y56jpz4doq0m2c6x1td5d8ar Πρότυπον:Tlf 10 3335 36522 2025-12-15T17:51:33Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<span style="white-space:nowrap;">&#123;&#123;{{#if:{{{1|}}}|{{{1}}}| tlf&#124;...}}<!-- -->{{#ifeq:{{{2|x}}}|{{{2|}}}| &#124;{{{2}}} | }}<!-- -->{{#ifeq:{{{3|x}}}|{{{3|}}}| &#124;{{{3}}} | }}<!-- -->{{#ifeq:{{{4|x}}}|{{{4|}}}| &#124;{{{4}}} | }}<!-- -->{{#ifeq:{{{5|x}}}|{{{5|}}}| &#124;{{{5}}} | }}<!-- -->{{#ifeq:{{{6|x}}}|{{{6|}}}| &#124;{{{6}}} | }}<!-- -->{{#ifeq:{{{7|x}}}|{{{7|}}}| &#124;{{{7}}} | }}<!-- -->{{#ifeq:{{{8|x}}}|{{{8|}}}| &#124;{{...' 36522 wikitext text/x-wiki <span style="white-space:nowrap;">&#123;&#123;{{#if:{{{1|}}}|{{{1}}}| tlf&#124;...}}<!-- -->{{#ifeq:{{{2|x}}}|{{{2|}}}| &#124;{{{2}}} | }}<!-- -->{{#ifeq:{{{3|x}}}|{{{3|}}}| &#124;{{{3}}} | }}<!-- -->{{#ifeq:{{{4|x}}}|{{{4|}}}| &#124;{{{4}}} | }}<!-- -->{{#ifeq:{{{5|x}}}|{{{5|}}}| &#124;{{{5}}} | }}<!-- -->{{#ifeq:{{{6|x}}}|{{{6|}}}| &#124;{{{6}}} | }}<!-- -->{{#ifeq:{{{7|x}}}|{{{7|}}}| &#124;{{{7}}} | }}<!-- -->{{#ifeq:{{{8|x}}}|{{{8|}}}| &#124;{{{8}}} | }}<!-- -->{{#ifeq:{{{9|x}}}|{{{9|}}}| &#124;{{{9}}} | }}<!-- -->&#125;&#125;</span><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc sub-page, not here! --> </noinclude> gr6hv9nl65h8wg9cys21al44xhaneou Πρότυπον:Ombox 10 3336 36523 2025-12-15T17:52:19Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#invoke:Message box|ombox}}<noinclude>{{Τεκμηρίωση προτύπου}}</noinclude>' 36523 wikitext text/x-wiki {{#invoke:Message box|ombox}}<noinclude>{{Τεκμηρίωση προτύπου}}</noinclude> fh0jvmiiub1jjbm0s4rg0gn2k2knyss Πρότυπον:Module rating 10 3337 36525 2025-12-15T17:55:44Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{Module other|{{ombox | type = notice | image = {{#switch: {{{1|}}} | pre-alpha | prealpha | pa = [[File:Ambox warning blue construction.svg|40x40px|link=]] | alpha | a = [[File:Greek lc alpha icon.svg|26x26px|link=]] | beta | b = [[File:Greek lc beta icon.svg|40x40px|link=]] | release | r | general | g = [[File:Green check.svg|40x40px|link=]] | protected | protect | p = File:Padlock-{...' 36525 wikitext text/x-wiki {{Module other|{{ombox | type = notice | image = {{#switch: {{{1|}}} | pre-alpha | prealpha | pa = [[File:Ambox warning blue construction.svg|40x40px|link=]] | alpha | a = [[File:Greek lc alpha icon.svg|26x26px|link=]] | beta | b = [[File:Greek lc beta icon.svg|40x40px|link=]] | release | r | general | g = [[File:Green check.svg|40x40px|link=]] | protected | protect | p = [[File:Padlock-{{#switch:{{#invoke:Effective protection level|edit|{{#switch:{{SUBPAGENAME}}|doc|sandbox={{FULLBASEPAGENAME}}|{{FULLPAGENAME}}}}}}|autoconfirmed=silver|accountcreator|templateeditor=pink|red}}.svg|40x40px|link=]] }} | style = | textstyle = | text = {{#switch: {{{1|}}} | pre-alpha | prealpha | pa = This module is rated as [[:Category:Modules in pre-alpha development|pre-alpha]]. It is unfinished, and may or may not be in active development. It should not be used from article namespace pages. Modules remain pre-alpha until the original editor (or someone who takes one over if it is abandoned for some time) is satisfied with the basic structure.<!-- -->{{#switch: {{SUBPAGENAME}}|doc|sandbox=<!-- No category for /doc or /sandbox subpages --> | {{#ifeq: {{{nocat|}}} | true | <!-- No category if user sets nocat=true --> | [[Κατηγορίαν:Modules σε στάδιο pre-alpha development|{{PAGENAME}}]] }} }} | alpha | a = This module is rated as [[:Category:Modules σε στάδιο alpha|alpha]]. It is ready for third party input, and may be used on a few pages to see if problems arise, but should be watched. Suggestions for new features or changes in their input and output mechanisms are welcome.<!-- -->{{#switch: {{SUBPAGENAME}}|doc|sandbox=<!-- No category for /doc or /sandbox subpages --> | {{#ifeq: {{{nocat|}}} | true | <!-- No category if user sets nocat=true --> | [[Κατηγορίαν:Modules σε στάδιο alpha|{{PAGENAME}}]] }} }} | beta | b = This module is rated as [[:Category:Modules in beta|beta]], and is ready for widespread use. It is still new and should be used with some caution to ensure the results are as expected.<!-- -->{{#switch: {{SUBPAGENAME}}|doc|sandbox=<!-- No category for /doc or /sandbox subpages --> | {{#ifeq: {{{nocat|}}} | true | <!-- No category if user sets nocat=true --> | [[Κατηγορίαν:Modules σε στάδιο beta|{{PAGENAME}}]] }} }} | release | r | general | g = This module is rated as [[:Category:Modules for general use|ready for general use]]. It has reached a mature form and is thought to be bug-free and ready for use wherever appropriate. It is ready to mention on help pages and other Wikipedia resources as an option for new users to learn. To reduce server load and bad output, it should be improved by [[WP:TESTCASES|sandbox testing]] rather than repeated trial-and-error editing.<!-- -->{{#switch: {{SUBPAGENAME}}|doc|sandbox=<!-- No category for /doc or /sandbox subpages --> | {{#ifeq: {{{nocat|}}} | true | <!-- No category if user sets nocat=true --> | [[Category:Modules for general use|{{PAGENAME}}]] }} }} | protected | protect | p = This module is [[:Category:Modules subject to page protection|subject to page protection]]. It is a [[Wikipedia:High-risk templates|highly visible module]] in use by a very large number of pages, or is [[WP:SUBST|substituted]] very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is [[WP:PROTECT|protected]] from editing.<!-- -->{{#switch: {{SUBPAGENAME}}|doc|sandbox=<!-- No category for /doc or /sandbox subpages --> | {{#ifeq: {{{nocat|}}} | true | <!-- No category if user sets nocat=true --> | [[Category:Modules subject to page protection|{{PAGENAME}}]] }} }} | #default = {{error|Module rating is invalid or not specified.}} }} }}|{{error|This template should be placed in the Module namespace.}}|demospace={{{demospace|<noinclude>module</noinclude>}}}}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go in Wikidata. --> </noinclude> lv6qgw9wo3b2jouosguc1fyphh2p9t7 Πρότυπον:Module other 10 3338 36526 2025-12-15T17:56:19Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#switch: <!--If no or empty "demospace" parameter then detect namespace--> {{#if:{{{demospace|}}} | {{lc: {{{demospace}}} }} <!--Use lower case "demospace"--> | {{#ifeq:{{NAMESPACE}}|{{ns:Module}} | module | other }} }} | module = {{{1|}}} | other | #default = {{{2|}}} }}<!--End switch--><noinclude> {{documentation}} <!-- Add categories to the /doc subpage, not here! --> </noinclude>' 36526 wikitext text/x-wiki {{#switch: <!--If no or empty "demospace" parameter then detect namespace--> {{#if:{{{demospace|}}} | {{lc: {{{demospace}}} }} <!--Use lower case "demospace"--> | {{#ifeq:{{NAMESPACE}}|{{ns:Module}} | module | other }} }} | module = {{{1|}}} | other | #default = {{{2|}}} }}<!--End switch--><noinclude> {{documentation}} <!-- Add categories to the /doc subpage, not here! --> </noinclude> 9db98vx09purrfch7wguurzjgqz7u93 Module:Category handler/data 828 3339 36527 2025-12-15T17:57:20Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- This module assembles data to be passed to [[Module:Category handler]] using -- mw.loadData. This includes the configuration data and whether the current -- page matches the title blacklist. local data = require('Module:Category handler/config') local mShared = require('Module:Category handler/shared') local blacklist = require('Module:Category handler/blacklist') local title = mw.title.getCurrentTitle() data.currentTitleMatchesBlacklist = mSh...' 36527 Scribunto text/plain -- This module assembles data to be passed to [[Module:Category handler]] using -- mw.loadData. This includes the configuration data and whether the current -- page matches the title blacklist. local data = require('Module:Category handler/config') local mShared = require('Module:Category handler/shared') local blacklist = require('Module:Category handler/blacklist') local title = mw.title.getCurrentTitle() data.currentTitleMatchesBlacklist = mShared.matchesBlacklist( title.prefixedText, blacklist ) data.currentTitleNamespaceParameters = mShared.getNamespaceParameters( title, mShared.getParamMappings() ) return data k26mwixuaeijisfddb0sxkg82iux8v4 Module:Category handler/blacklist 828 3340 36528 2025-12-15T17:58:10Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- This module contains the blacklist used by [[Module:Category handler]]. -- Pages that match Lua patterns in this list will not be categorised unless -- categorisation is explicitly requested. return { '^Main Page$', -- don't categorise the main page. -- Don't categorise the following pages or their subpages. -- "%f[/\0]" matches if the next character is "/" or the end of the string. '^Wikipedia:Cascade%-protected items%f[/\0]'...' 36528 Scribunto text/plain -- This module contains the blacklist used by [[Module:Category handler]]. -- Pages that match Lua patterns in this list will not be categorised unless -- categorisation is explicitly requested. return { '^Main Page$', -- don't categorise the main page. -- Don't categorise the following pages or their subpages. -- "%f[/\0]" matches if the next character is "/" or the end of the string. '^Wikipedia:Cascade%-protected items%f[/\0]', '^User:UBX%f[/\0]', -- The userbox "template" space. '^User talk:UBX%f[/\0]', -- Don't categorise subpages of these pages, but allow -- categorisation of the base page. '^Wikipedia:Template messages/.*$', '/[aA]rchive' -- Don't categorise archives. } ne8sdldor304iu81gnqa05p401j3exc Module:Category handler/shared 828 3341 36529 2025-12-15T17:58:58Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- This module contains shared functions used by [[Module:Category handler]] -- and its submodules. local p = {} function p.matchesBlacklist(page, blacklist) for i, pattern in ipairs(blacklist) do local match = mw.ustring.match(page, pattern) if match then return true end end return false end function p.getParamMappings(useLoadData) local dataPage = 'Module:Namespace detect/data' if useLoadData then return mw.loadData(dataPage).m...' 36529 Scribunto text/plain -- This module contains shared functions used by [[Module:Category handler]] -- and its submodules. local p = {} function p.matchesBlacklist(page, blacklist) for i, pattern in ipairs(blacklist) do local match = mw.ustring.match(page, pattern) if match then return true end end return false end function p.getParamMappings(useLoadData) local dataPage = 'Module:Namespace detect/data' if useLoadData then return mw.loadData(dataPage).mappings else return require(dataPage).mappings end end function p.getNamespaceParameters(titleObj, mappings) -- We don't use title.nsText for the namespace name because it adds -- underscores. local mappingsKey if titleObj.isTalkPage then mappingsKey = 'talk' else mappingsKey = mw.site.namespaces[titleObj.namespace].name end mappingsKey = mw.ustring.lower(mappingsKey) return mappings[mappingsKey] or {} end return p omlsnhudxz6juptvtxz7ns97jutbzc5 Module:Category handler/config 828 3342 36530 2025-12-15T17:59:45Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-------------------------------------------------------------------------------- -- [[Module:Category handler]] configuration data -- -- Language-specific parameter names and values can be set here. -- -- For blacklist config, see [[Module:Category handler/blacklist]]. -- -------------------------------------------------------------------------------- local cfg = {} -- Don't edit this line. -----...' 36530 Scribunto text/plain -------------------------------------------------------------------------------- -- [[Module:Category handler]] configuration data -- -- Language-specific parameter names and values can be set here. -- -- For blacklist config, see [[Module:Category handler/blacklist]]. -- -------------------------------------------------------------------------------- local cfg = {} -- Don't edit this line. -------------------------------------------------------------------------------- -- Start configuration data -- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -- Parameter names -- -- These configuration items specify custom parameter names. -- -- To add one extra name, you can use this format: -- -- -- -- foo = 'parameter name', -- -- -- -- To add multiple names, you can use this format: -- -- -- -- foo = {'parameter name 1', 'parameter name 2', 'parameter name 3'}, -- -------------------------------------------------------------------------------- cfg.parameters = { -- The nocat and categories parameter suppress -- categorisation. They are used with Module:Yesno, and work as follows: -- -- cfg.nocat: -- Result of yesno() Effect -- true Categorisation is suppressed -- false Categorisation is allowed, and -- the blacklist check is skipped -- nil Categorisation is allowed -- -- cfg.categories: -- Result of yesno() Effect -- true Categorisation is allowed, and -- the blacklist check is skipped -- false Categorisation is suppressed -- nil Categorisation is allowed nocat = 'nocat', categories = 'categories', -- The parameter name for the legacy "category2" parameter. This skips the -- blacklist if set to the cfg.category2Yes value, and suppresses -- categorisation if present but equal to anything other than -- cfg.category2Yes or cfg.category2Negative. category2 = 'category2', -- cfg.subpage is the parameter name to specify how to behave on subpages. subpage = 'subpage', -- The parameter for data to return in all namespaces. all = 'all', -- The parameter name for data to return if no data is specified for the -- namespace that is detected. other = 'other', -- The parameter name used to specify a page other than the current page; -- used for testing and demonstration. demopage = 'page', } -------------------------------------------------------------------------------- -- Parameter values -- -- These are set values that can be used with certain parameters. Only one -- -- value can be specified, like this: -- -- -- -- cfg.foo = 'value name' -- -- -------------------------------------------------------------------------------- -- The following settings are used with the cfg.category2 parameter. Setting -- cfg.category2 to cfg.category2Yes skips the blacklist, and if cfg.category2 -- is present but equal to anything other than cfg.category2Yes or -- cfg.category2Negative then it supresses cateogrisation. cfg.category2Yes = 'yes' cfg.category2Negative = '¬' -- The following settings are used with the cfg.subpage parameter. -- cfg.subpageNo is the value to specify to not categorise on subpages; -- cfg.subpageOnly is the value to specify to only categorise on subpages. cfg.subpageNo = 'no' cfg.subpageOnly = 'only' -------------------------------------------------------------------------------- -- Default namespaces -- -- This is a table of namespaces to categorise by default. The keys are the -- -- namespace numbers. -- -------------------------------------------------------------------------------- cfg.defaultNamespaces = { [ 0] = true, -- main [ 6] = true, -- file [ 12] = true, -- help [ 14] = true, -- category [100] = true, -- portal [108] = true, -- book } -------------------------------------------------------------------------------- -- Wrappers -- -- This is a wrapper template or a list of wrapper templates to be passed to -- -- [[Module:Arguments]]. -- -------------------------------------------------------------------------------- cfg.wrappers = 'Template:Category handler' -------------------------------------------------------------------------------- -- End configuration data -- -------------------------------------------------------------------------------- return cfg -- Don't edit this line. 6ga9hbq2pdwalsvx68i53dmbr421rq5 Module:Wikidata/Formatters 828 3343 36531 2025-12-15T18:01:37Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "strict" local p = {} p.Formatters = {} setmetatable(p.Formatters, { __index = function(t, key) t[key] = require('Module:Wikidata/Formatters/' .. key) return t[key] end }) local lib = require 'Module:Wikidata/lib' local function formatSpecial(snaktype, options) local i18n = mw.loadData('Module:Wikidata/i18n') return options[snaktype] or i18n[snaktype] -- todo: přeložit pomocí hlášení end function p.getRawValue(snak, opt...' 36531 Scribunto text/plain --require "strict" local p = {} p.Formatters = {} setmetatable(p.Formatters, { __index = function(t, key) t[key] = require('Module:Wikidata/Formatters/' .. key) return t[key] end }) local lib = require 'Module:Wikidata/lib' local function formatSpecial(snaktype, options) local i18n = mw.loadData('Module:Wikidata/i18n') return options[snaktype] or i18n[snaktype] -- todo: přeložit pomocí hlášení end function p.getRawValue(snak, options) if snak.snaktype == 'somevalue' or snak.snaktype == 'novalue' then return snak.snaktype elseif snak.snaktype ~= 'value' then return error(lib.formatError('unknown-snak-type', snak.snaktype)) end return p.Formatters[snak.datavalue.type].getRawValue(snak.datavalue.value, options or {}) end function p.formatRawValue(value, formatter, options) options = options or {} if value == 'somevalue' or value == 'novalue' then return formatSpecial(value, options) else return p.Formatters[formatter].formatRawValue(value, options) end end function p.getFormattedValue(snak, options) if snak.snaktype == 'somevalue' or snak.snaktype == 'novalue' then return formatSpecial(snak.snaktype, options) elseif snak.snaktype ~= 'value' then return error(lib.formatError('unknown-snak-type', snak.snaktype)) end local formatter = options['value-formatter'] or snak.datavalue.type return p.Formatters[formatter].formatValue(snak.datavalue.value, options) end return p 5hoty9ojai8xouazri4qqv2r947fh00 Module:Wikidata/Filterers 828 3344 36532 2025-12-15T18:02:29Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "Module:No globals" local p = {} local lib = require 'Module:Wikidata/lib' local function in_array(value, array) for _, val in ipairs(array) do if val == value then return true end end return false end local function checkLimit(array, limit) local limit = limit and tonumber(limit) if limit then return #array >= limit end return true end local function applyLimit(array, limit) local limit = limit and tonumber(limit)...' 36532 Scribunto text/plain --require "Module:No globals" local p = {} local lib = require 'Module:Wikidata/lib' local function in_array(value, array) for _, val in ipairs(array) do if val == value then return true end end return false end local function checkLimit(array, limit) local limit = limit and tonumber(limit) if limit then return #array >= limit end return true end local function applyLimit(array, limit) local limit = limit and tonumber(limit) while limit and #array > limit do table.remove(array) end end local function IsInLanguage(snak, langs) local langs = lib.textToTable(langs) if snak.datatype ~= 'monolingualtext' then return error(lib.raiseInvalidDatatype('IsInLanguage', snak.datatype, 'monolingualtext')) else return lib.IsSnakValue(snak) and in_array(snak.datavalue.value.language, langs) end end local function filterSnaktype(snak, somevalue, novalue) local snaktype = snak.snaktype if snaktype == 'somevalue' then return somevalue or false elseif snaktype == 'novalue' then return novalue or false end return lib.IsSnakValue(snak) end local function filterBySnaktype(statement, somevalue, novalue) return filterSnaktype(statement.mainsnak, somevalue, novalue) end local function hasSnakTarget(snak, target) local Formatters = require 'Module:Wikidata/Formatters' return tostring(Formatters.getRawValue(snak)) == target end local function filterHasTarget(statement, target) return hasSnakTarget(statement.mainsnak, target) end local function filterHasQualifier(statement, prop, value) if statement.qualifiers then prop = prop:upper() for _, snak in ipairs(statement.qualifiers[prop] or {}) do if not value or hasSnakTarget(snak, value) then return true end end end return false end local function filterHasRanks(statement, ranks) return in_array(statement.rank, ranks) end local function filterHasReferences(statement, options) if statement.references then if #p.filterReferences(statement.references, options) > 0 then return true end end return false end local function filterSnakHasLabel(snak) local datatype = snak.datatype if datatype ~= 'wikibase-item' and datatype ~= 'wikibase-property' then return error(lib.raiseInvalidDatatype('filterSnakHasLabel', datatype, { 'wikibase-item', 'wikibase-property' })) end if lib.IsSnakValue(snak) then local langs = { 'cs', 'el', 'en' } local Formatters = require 'Module:Wikidata/Formatters' if lib.getLabelInLanguage(Formatters.getRawValue(snak), langs) then return true end end return false end local function filterHasLabel(statement) return filterSnakHasLabel(statement.mainsnak) end local function filterItemIsInstance(statement, options) local datatype = statement.mainsnak.datatype if datatype ~= 'wikibase-item' and datatype ~= 'wikibase-property' then return error(lib.raiseInvalidDatatype('filterItemIsInstance', datatype, { 'wikibase-item', 'wikibase-property' })) end if lib.IsSnakValue(statement.mainsnak) then local Module = require 'Module:Wikidata/Tree' local Formatters = require 'Module:Wikidata/Formatters' local item = Formatters.getRawValue(statement.mainsnak) if Module.IsInstance(item, options) then return true end end return false end local function filterMainsnakInLanguage(statement, withlang) return IsInLanguage(statement.mainsnak, withlang) end local function filterMainsnakHasUnit(statement, unit) local datatype = statement.mainsnak.datatype if datatype ~= 'quantity' then return error(lib.raiseInvalidDatatype('filterItemIsInstance', datatype, { 'quantity' })) end return lib.IsSnakValue(statement.mainsnak) and lib.getItemIdFromURI(statement.mainsnak.datavalue.value.unit) == unit end local function filter(array, callback, ...) local i = #array while i > 0 do if not callback(array[i], ...) then table.remove(array, i) end i = i - 1 end end local function getValuesFromQualifiers(qualifiers) local Values = {} local Formatters = require 'Module:Wikidata/Formatters' for key, array in pairs(lib.props) do for _, prop in ipairs(array) do for _, snak in ipairs(qualifiers[prop] or {}) do if lib.IsSnakValue(snak) then Values[key] = Formatters.getRawValue(snak) break end end end end return Values end function p.filterStatementsFromEntity(entity, options) if not options.property or options.property == '' then return error(lib.formatError('param-not-provided', 'property')) end if not entity or not entity.claims then return {} end local property = mw.ustring.upper(options.property) local statements = mw.clone(entity.claims[property]) if not statements then return {} end p.filterStatements(statements, options) return statements end function p.filterStatements(statements, options) local options = lib.common.cleanArgs(options) -- apply filter by rank local rank = options.rank or "valid" if rank ~= "all" then if rank == "valid" or rank == "best" then filter(statements, filterHasRanks, { "normal", "preferred" }) if rank == "best" and #statements > 0 then for _, statement in ipairs(statements) do if statement.rank == "preferred" then filter(statements, filterHasRanks, { "preferred" }) break end end end else filter(statements, filterHasRanks, { rank }) end if #statements == 0 then return end end -- apply filter by source if options.ref then filter(statements, filterHasReferences, options) if #statements == 0 then return end end -- apply filter by snak type filter(statements, filterBySnaktype, options.somevalue and true, options.novalue and true) if #statements == 0 then return end -- apply filter by target value if options.withtarget then filter(statements, filterHasTarget, options.withtarget) if #statements == 0 then return end end -- apply filter by qualifier property if options.withqualifier then filter(statements, filterHasQualifier, options.withqualifier, options.withqualifiervalue) if #statements == 0 then return end end -- apply filter by language if options.withlang then filter(statements, filterMainsnakInLanguage, options.withlang) if #statements == 0 then return end end -- apply filter by unit if options.withunit then filter(statements, filterMainsnakHasUnit, options.withunit) if #statements == 0 then return end end -- apply filter by time if options.date then local date local Time = require 'Module:Time' if type(options.date) == 'table' then date = options.date elseif options.date == '#now' then date = Time.new(os.date('!*t')) else date = Time.newFromIso8601(options.date) end if not date then return error(lib.formatError('invalid-date', tostring(options.date))) end local oldStatements = mw.clone(statements) while #statements > 0 do table.remove(statements) end for _, statement in ipairs(oldStatements) do local Values = getValuesFromQualifiers(statement.qualifiers or {}) if Values.point then if date == Values.point then filter(statements, function(st) local val = getValuesFromQualifiers(st.qualifiers).point if val then return val == Values.point end return true end) table.insert(statements, statement) elseif Values.point < date then if #statements == 0 then table.insert(statements, statement) else local same, ins for _, st in ipairs(statements) do local val = getValuesFromQualifiers(st.qualifiers).point if val then if date == Values.point then same = true break end if val == Values.point or val < Values.point then ins = true end end end if ins and not same then filter(statements, function(st) local val = getValuesFromQualifiers(st.qualifiers).point return not val or val == Values.point end) table.insert(statements, statement) end end end else if Values.begin then if Values.begin < date then if not Values.ending then table.insert(statements, statement) elseif date < Values.ending then table.insert(statements, statement) end end elseif Values.ending then if date < Values.ending then if not Values.begin then table.insert(statements, statement) elseif Values.begin < date then table.insert(statements, statement) end end end end end if #statements == 0 then return end end if lib.IsOptionTrue(options, 'withlabel') then filter(statements, filterHasLabel) if #statements == 0 then return end end -- apply filter by class if options.instance then filter(statements, filterItemIsInstance, options) if #statements == 0 then return end end -- sort statements if needed if options.sort then -- patří to sem? local Sorters = require 'Module:Wikidata/Sorters' Sorters.sortStatements(statements, options) end -- apply filter by limit applyLimit(statements, options.limit) end function p.filterQualifiers(qualifiers, options) local options = lib.common.cleanArgs(options) filter(qualifiers, filterSnaktype, options['qualifiers somevalue'] and true, options['qualifiers novalue'] and true) if #qualifiers == 0 then return end if options['qualifiers withlang'] then filter(qualifiers, IsInLanguage, options['qualifiers withlang']) if #qualifiers == 0 then return end end if lib.IsOptionTrue(options, 'qualifiers withlabel') then filter(qualifiers, filterSnakHasLabel) if #qualifiers == 0 then return end end if options['qualifiers class'] then --[[ todo local datatype = Qualifiers[math.random(#Qualifiers)].datatype if datatype == 'wikibase-item' or datatype == 'wikibase-property' then oldQualifiers, Qualifiers = Qualifiers, {} local Module = require 'Module:Wikidata/Tree' local Formatters = require 'Module:Wikidata/Formatters' for _, snak in ipairs(oldQualifiers) do if lib.IsSnakValue(snak) then local item = Formatters.getRawValue(snak) if Module.IsInTree(item, options['qualifiers class'], 'P279', 20, {}) then table.insert(Qualifiers, snak) end end end if #Qualifiers == 0 then return {} end else return error(lib.raiseInvalidDatatype('inClass', datatype, { 'wikibase-item', 'wikibase-property' })) end ]]-- end if options['qualifiers sort'] then local Sorters = require 'Module:Wikidata/Sorters' Sorters.sortQualifiers(qualifiers, options) end applyLimit(qualifiers, options['qualifiers limit']) end function p.filterReferences(references, options) local options = lib.common.cleanArgs(options) if options.ref == '#any' then -- @deprecated return references end local oldReferences, References = references, {} if options.ref == 'valid' then local map = (require 'Module:Wikidata/cite').props for _, ref in ipairs(oldReferences) do for _, props in pairs(map) do for _, prop in ipairs(props) do if ref.snaks[prop] then table.insert(References, ref) end end end end end if options.min_ref and not checkLimit(References, options.min_ref) then return {} end -- @deprecated return References end return p 2nvza40ini20v6cmhhpqnxd98oe7luy Module:WikidataWD 828 3345 36533 2025-12-15T18:03:15Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--script that retrieves basic data stored in Wikidata, for the datamodel, see https://www.mediawiki.org/wiki/Extension:Wikibase_Client/Lua local p = {} local linguistic = require('Module:Linguistic') --local formatDate = require('Module:Complex date') only loaded when needed to save memory in large pages like Wikidata:List of properties/all local convertlangcode = mw.loadData('Module:Dictionary/lang codes') local formatNum = require('Module:Format...' 36533 Scribunto text/plain --script that retrieves basic data stored in Wikidata, for the datamodel, see https://www.mediawiki.org/wiki/Extension:Wikibase_Client/Lua local p = {} local linguistic = require('Module:Linguistic') --local formatDate = require('Module:Complex date') only loaded when needed to save memory in large pages like Wikidata:List of properties/all local convertlangcode = mw.loadData('Module:Dictionary/lang codes') local formatNum = require('Module:Formatnum') local fb = require('Module:Fallback') local i18nmessages = mw.loadData('Module:i18n/wikidata') -- Wiki-specific parameters local defaultlang = 'el' -- mw.getCurrentFrame():preprocess("{{int:lang}}") local defaultlink = 'wikidata' local function i18n(str, lang) local message = i18nmessages[str] if type(message) == 'str' then return message end return fb._langSwitch(message, lang or defaultlang) end local function formatError( key, text ) return error(i18n(key) .. (text or '')) end local function addtrackingcat(prop, cat) if not prop and not cat then return error("no property provided") end if not cat then cat = i18nmessages.trackingcat .. '/' .. string.upper(prop) end return '[[Category:' .. cat .. ']]' end local function removeblanks(args) local a = 1 for i, j in pairs(args) do -- does not work ?? if (j == '') or (j == '-') then args[i] = nil end end return args end local function formatTheUnknown() -- voir si on peut accorder/adapter l'usage de "inconnu" return i18n('somevalue') end local function samevalue(snak, target) if snak.snaktype == 'value' and p.getRawvalue(snak) == target then return true end end local function showlang(statement, str) -- TODO (not yet in proper format) --adds a lang indication at the start of the string, based on data in statement local mainsnak = statement.mainsnak if mainsnak.snaktype ~= 'value' then return str end local langlist = {} if mainsnak.datavalue.type == 'monolingualtext' then langlist = {mainsnak.datavalue.value.language} elseif (statement.qualifiers) and (statement.qualifiers.P407) then for i, j in pairs( statement.qualifiers.P407 ) do if j.snaktype == 'value' then local val = convertlangcode[j.datavalue.value['numeric-id']] table.insert(langlist, val) end end end if #langlist == 0 then return str else return '('.. table.concat(langlist) .. ')' .. str end end function p.getEntity( val ) if type(val) == 'table' then return val end return mw.wikibase.getEntityObject(val) end -- DATE FUNCTIONS local function splitTimestamp(timestamp, calendar) local pattern = "(%W)(%d+)%-(%d+)%-(%d+)" local era, year, month, day = timestamp:match(pattern) if calendar == 'julian' then --todo year, month, day = formatdate.gregorianToJulian( era .. year, month, day ) end return {day = day, month = month, year = year, era = era, timestamp = timestamp, type = 'dateobject'} end local function rangeobject(begin, ending, params) local timestamp if begin then timestamp = begin.timestamp elseif ending then timestamp = ending.timestamp end return {begin = begin, ending = ending, timestamp = timestamp, type = 'rangeobject'} end local function dateobject(orig, params) -- transforme un snak en un nouvel objet utilisable par Module:Date complexe if not params then params = {} end local newobj = splitTimestamp(orig.time, orig.calendar) -- initalise l'object en mettant la valeur des dates newobj.precision = params.precision or orig.precision newobj.type = 'dateobject' return newobj end local function formatDatepoint(obj, params) -- TO IMPROVE local formatDate = require('Module:Complex date') if not obj then return nil end local lang = params.lang or defaultlang local precision = obj.precision if params.precision and (params.precision < obj.precision) then -- if we don't want to show the value to its full detail precision = params.precision end if precision >= 11 then return formatDate.complex_date{args={date1 = obj.year .. '-' .. obj.month .. '-' .. obj.day, lang= lang}} elseif precision == 10 then return formatDate.complex_date{args={date1 = obj.year .. '-' .. obj.month, lang= lang}} elseif precision == 9 then return formatDate.complex_date{args={date1 = tostring(obj.year), lang= lang}} elseif precision == 8 then return formatDate.complex_date{args={date1 = string.sub(tostring(obj.year), 1, 3) .. '0', lang = lang, precision = 'decade'}} elseif precision == 7 then return formatDate.complex_date{args={date1 = string.sub(tostring(obj.year + 100), 1, 2), lang = lang, precision = 'century'}} end end local function formatDaterange(obj, params) --TODO local begin = formatDatepoint(obj.begin, params) or '' local ending = formatDatepoint(obj.ending, params) or '' return begin .. '-' .. ending end local function objecttotext(obj, params) if obj.type == 'dateobject' then return formatDatepoint(obj, params) elseif obj.type == 'rangeobject' then return formatDaterange(obj, params) end end local function tableToText(values, params) -- takes a list of already formatted values and make them a text if not values then return nil end return linguistic.conj( values, params.lang or defaultlang, params.conjtype)--linguistic.conj( values, params.lang, params.conjtype ) end function p.getDate(obj) --[[ returns an object containing a timestamp for easy sorting, and other data possible types of object: dateobject {timestamp = string, year = number, month = number, day = number, calendar = string} rangeobject {timestamp = string, begin = dateobject, ending = dateobject} ]]-- if not obj then return nil end if type(obj) == 'string' then obj = p.getEntity(obj) end -- if obj is a statement with date, get it if obj.mainsnak and type(obj.mainsnak.datatype) == 'time' and (obj.mainsnak.datavalue.value) then return dateobject(obj.mainsnak.datavalue.value.time) end -- else preload relevant data local qualifs = obj.qualifiers -- when obj is a statement, look in qualifiers local claims = obj.claims -- when obj is an item, look in claims local pointprop = {'P585', 'P571'} -- dates corresponding to a punctual fact local beginprop = {'P580', 'P569'} -- start date, birth date == start of a date range local endingprop = {'P582', 'P570'} local function getval(prop) local val if claims and claims[prop] and claims[prop][1].mainsnak.snaktype == 'value' then val = claims[prop][1].mainsnak.datavalue.value elseif qualifs and qualifs[prop] and qualifs[prop][1].snaktype == 'value' then val = qualifs[prop][1].datavalue.value end if val then return dateobject(val) end end for i, prop in pairs(pointprop) do local val = getval(prop) if val then return val end end --if no date has not been found, look for startdate or enddate local begin, ending for i, prop in pairs(beginprop) do begin = getval(prop) if begin then break end end for i, prop in pairs(endingprop) do ending = getval(prop) if ending then break end end if (begin or ending) then return rangeobject(begin, ending) end end function p.getFormattedDate(statement, params) local datetable = p.getDate(statement) if not datetable then return nil end return objecttotext(datetable, params) end local function hastargetvalue(claim, target) if target == nil then return true end return samevalue(claim.mainsnak, target) end local function hasrank(claim, target) if target == 'valid' then return hasrank(claim, 'preferred') or hasrank(claim, 'normal') end if claim.rank == target then return true end return false end local function bestranked(claims) if not claims then return nil end local preferred, normal = {}, {} for i, j in pairs(claims) do if j.rank == 'preferred' then table.insert(preferred, j) elseif j.rank == 'normal' then table.insert(normal, j) end end if #preferred > 0 then return preferred else return normal end end local function hasqualifier(claim, qualifier, qualifiervalues) qualifier = string.upper(qualifier) if not qualifier then -- si aucun qualificatif est demandé, ça passe return true end if not claim.qualifiers or not claim.qualifiers[qualifier] then return false end if type(qualifiervalues) == 'string' then qualifiervalues = {qualifiervalues} end if (not qualifiervalues) or (qualifiervalues == {}) then return true -- si aucune valeur spécifique n'est exigée end for i, j in pairs(claim.qualifiers[qualifier]) do for k, l in pairs(qualifiervalues) do if p.getRawvalue(j) == l then return true end end end return false end local function hassource(statement, source, sourceproperty) if not statement.references then return false end sourceproperty = string.upper(sourceproperty or 'P248') local sourcevalue = string.upper(source or '') for i, ref in pairs(statement.references) do for prop, content in pairs(ref.snaks) do if prop == sourceproperty then if sourcevalue == '' then return true else for j, k in pairs(content) do if p.getRawvalue(k) == source then return true end end end end end end end local function hasdate(statement) local dateprops = {'P580', 'P585', 'P582'} if not statement.qualifiers then return false end for i, prop in pairs(dateprops) do if statement.qualifiers[prop] then return true end end return false end local function isinlanguage(snak, lang) -- ne fonctionne que pour les monolingualtext / étendre aux autres types en utilisant les qualifiers ? if snak.snaktype == 'value' and snak.datavalue.type == 'monolingualtext' and snak.datavalue.value.language == lang then return true end return false end local function isSpecial(snak) if snak.snaktype == 'value' then return false end return true end local function numval(claims, numval) -- retourn les numval premières valeurs de la table claims local numval = tonumber(numval) or 0 -- raise a error if numval is not a positive integer ? if #claims <= numval then return claims end local newclaims = {} while #newclaims < numval do table.insert(newclaims, claims[#newclaims + 1]) end return newclaims end function p.comparedate(a, b) -- returns true if a is earlier than B or if a has a date but not b if a and b then return a.timestamp < b.timestamp elseif a then return true end end function p.chronosort(objs, inverted) table.sort(objs, function(a,b) local timeA = p.getDate(a) local timeB = p.getDate(b) if inverted then return p.comparedate(timeB, timeA) else return p.comparedate(timeA, timeB) end end ) return objs end function p.sortclaims(claims, sorttype) if sorttype == 'chronological' then return p.chronosort(claims) elseif sorttype == 'inverted' then return p.chronosort(claims, true) elseif type(sorttype) == 'function' then table.sort(claims, sorttype) return claims end return claims end function p.getRawvalue(snak) return p.getDatavalue(snak, {displayformat = 'raw'}) end function p.showentity(entity, lang) if not entity then return nil end if type(entity) == 'string' then entity = p.getEntity(entity) end if not entity or not entity.type then return formatError('entity-not-found') end label = p._getLabel(entity, lang) local id = entity.id if entity.type == 'property' then link = 'Property:' .. id else link = id end return '[[' .. link .. '|' .. label .. ']] <small>(' .. id ..')</small>' end function p.getDatavalue(snak, params) if not params then params = {} end local displayformat = params.displayformat if snak.snaktype ~= 'value' then return nil end local datatype = snak.datavalue.type local value = snak.datavalue.value if datatype == 'wikibase-entityid' then local prefix = 'Q' if snak.datavalue.value["entity-type"] == 'property' then prefix = 'P' end local id = prefix .. tostring(value['numeric-id']) if displayformat == 'raw' then return id elseif displayformat == 'wikidatastyle' then return p.showentity(id, params.lang) elseif type(displayformat) == 'function' then return displayformat(snak, params) else return p.formatEntity(id, params) end elseif datatype == 'string' then if params.displayformat == 'weblink' then return require('Module:Weblink').makelink(value, params.showntext) elseif params.urlpattern then value = '[' .. mw.ustring.gsub(params.urlpattern, '$1', value) .. ' ' .. (params.text or value) .. ']' end return value elseif datatype == 'time' then -- format example: +00000001809-02-12T00:00:00Z if displayformat == 'raw' then return value.time else return objecttotext(dateobject(value), params) end elseif datatype == 'globecoordinate' then -- retourne une table avec clés latitude, longitude, précision et globe à formater par un autre module (à changer ?) value.globe = require('Module:Wikidata/Globes')[value.globe] -- transforme l'ID du globe en nom anglais utilisable par geohack if displayformat == 'latitude' then return value.latitude elseif displayformat == 'longitude' then return value.longitude else return value -- note : les coordonnées Wikidata peuvent être utilisée depuis Module:Coordinates. Faut-il aussi autoriser à appeler Module:Coordiantes ici ? end elseif datatype == 'quantity' then -- todo : gérer les paramètre précision if displayformat == 'raw' then return value.amount else return formatNum.formatNum(value.amount) end elseif datatype == 'monolingualtext' then return '<span lang="' .. value.language .. '">' .. value.text .. '</span>' else return formatError( 'unknown-datavalue-type', datatype ) end end local function getMultipleClaims(args) local newargs = args local claims = {} for i, j in pairs(args.property) do newargs.property = j local newclaims = p.getClaims(args) if newclaims then for k, l in pairs(newclaims) do table.insert(claims, l) end end end return claims end function p.getClaims( args ) -- returns a table of the claims matching some conditions given in args args = removeblanks(args) if not args.property then return formatError( 'property-param-not-provided' ) end if type(args.property) == 'table' then return getMultipleClaims(args) end --Get entity if args.item then -- synonyms args.entity = args.item end local entity = args.entity if type(entity) ~= 'table' then entity = p.getEntity( args.entity ) end if (not entity) or (not entity.claims) then return nil end local property = string.upper(args.property) if not entity.claims[property] then return nil end if not args.rank then args.rank = 'best' end local claims = {} -- ~= '' lorsque le paramètre est écrit mais laissé blanc dans une fonction frame for i, statement in pairs(entity.claims[property]) do if ( not args.excludespecial or not (isSpecial(statement.mainsnak)) ) and ( not args.targetvalue or hastargetvalue(statement, args.targetvalue) ) and ( not args.qualifier or hasqualifier(statement, args.qualifier, args.qualifiervalues or args.qualifiervalue) ) and ( not args.withsource or args.withsource == '-' or hassource(statement, args.withsource, args.sourceproperty) ) and ( not args.isinlanguage or isinlanguage(statement.mainsnak, args.isinlanguage) ) and ( args.rank == 'best' -- rank == best est traité à a fin or hasrank(statement, args.rank) ) then table.insert(claims, statement) end end if #claims == 0 then return nil end if args.rank == 'best' then claims = bestranked(claims) end if args.sorttype then claims = p.sortclaims(claims, args.sorttype) end if args.numval then return numval(claims, args.numval) end return claims end function p.formatClaimList(claims, args) if not claims then return nil end for i, j in pairs(claims) do claims[i] = p.formatStatement(j, args) end return claims end function p.stringTable(args) -- like getClaims, but get a list of string rather than a list of snaks, for easier manipulation local claims = p.getClaims(args) return p.formatClaimList(claims, args) end local function getQualifiers(statement, qualifs, params) if not statement.qualifiers then return nil end local vals = {} for i, j in pairs(qualifs) do j = string.upper(j) if statement.qualifiers[j] then for k, l in pairs(statement.qualifiers[j]) do table.insert(vals, l) end end end if #vals == 0 then return nil end return vals end function p.getFormattedQualifiers(statement, qualifs, params) if not params then params = {} end local qualiftable = getQualifiers(statement, qualifs) if not qualiftable then return nil end for i, j in pairs(qualiftable) do qualiftable[i] = p.formatSnak(j, params) end return linguistic.conj(qualiftable, params.lang or defaultlang) end function p.formatStatement( statement, args ) if not statement.type or statement.type ~= 'statement' then return formatError( 'unknown-claim-type', statement.type ) end if not args then args = {} end local lang = args.lang or defaultlang local str = p.formatSnak( statement.mainsnak, args ) if args.showlang == true then str = showlang(statement, str) end if args.showqualifiers then local qualifs = args.showqualifiers if type(qualifs) == 'string' then qualifs = mw.text.split(qualifs, ',') end local foundvalues = p.getFormattedQualifiers(statement, qualifs, args) if foundvalues then if args.delimiter then str = str .. args.delimiter .. foundvalues else str = str .. linguistic.inparentheses(foundvalues, lang) end end end if args.showdate then -- when "showdate and p.chronosort are both set, date retrieval is performed twice local timedata = p.getDate(statement) if timedata then local formatteddate = objecttotext(timedata, args) formatteddate = linguistic.inparentheses(formatteddate, lang) str = str .. '<small>' .. formatteddate ..'</small>' end end if args.showsource and statement.references then local sourcestring = '' for i, ref in pairs(statement.references) do if ref.snaks.P248 then for j, source in pairs(ref.snaks.P248) do if source.snaktype == 'value' then local page if ref.snaks.P304 and ref.snaks.P304[1].snaktype == 'value' then page = ref.snaks.P304[1].datavalue.value end local s = require('Module:Cite').citeitem('Q' .. source.datavalue.value['numeric-id'], lang, page) s = mw.getCurrentFrame():extensionTag( 'ref', s ) sourcestring = sourcestring .. s end end elseif ref.snaks.P854 and ref.snaks.P854[1].snaktype == 'value' then s = mw.getCurrentFrame():extensionTag( 'ref', formatLink(ref.snaks.P854[1].datavalue.value)) sourcestring = sourcestring .. s end end str = str .. sourcestring end return str end function p.formatSnak( snak, params ) if not args then args = {} end -- pour faciliter l'appel depuis d'autres modules if snak.snaktype == 'value' then return p.getDatavalue( snak, params) elseif snak.snaktype == 'somevalue' then return formatTheUnknown() elseif snak.snaktype == 'novalue' then return i18n('novalue') --todo else return formatError( 'unknown-snak-type', snak.snaktype ) end end local function defaultlabel(entity, lang, displayformat) -- label when no label is available if displayformat == 'id' then return entity.id end return i18n('no-label', lang) end function p._getLabel(entity, lang, default) local label if not entity then return nil end if type(entity) ~= 'table' then entity = p.getEntity(entity) end if (not entity) or (not entity.labels) then return defaultlabel(entity, lang, default) end for i, lg in pairs(fb.fblist(lang or defaultlang)) do if entity.labels[lg] then return entity.labels[lg].value end end return defaultlabel(entity, lang, default) end function p._getDescription(entity, lang) if type(entity) ~= 'table' then entity = p.getEntity(entity) end local descriptions = entity.descriptions if not descriptions then return i18n('no description') end if descriptions[lang] then return descriptions[lang].value end local langlist = fb.fblist(lang) -- list of fallback languages in no label in the desired language for i, j in pairs (langlist) do if descriptions[j] then return descriptions[j].value end end return i18n('no description') end local function wikipedialink(entity, lang) local link = entity:getSitelink(lang .. 'wiki') if link then return ':' .. lang .. ':' .. link end end local function getLink(entity, typelink, lang) if not typelink then return nil end if not lang then lang = defaultlang end if typelink == '-' then return nil elseif typelink == 'wikidata' then if entity.type == 'property' then return ':d:P:' .. entity.id else return 'd:' .. entity.id end elseif typelink == 'wikipedia' then return wikipedialink(entity, lang) elseif typelink == 'anywikipedia' then local fallbacklist = fb.fblist(lang) for i, lg in pairs(fallbacklist) do link = getwikipedialink(entity, lg) if link then return link end end end end local function formattedLabel(label, entity, args) if not args then args = {} end local link = getLink(entity, args.link, args.lang) if not link then link = getLink(entity, defaultlink, args.lang) end if not link then return label else return '[[' .. link .. '|' .. label .. ']]' end end function p.getmainid(claim) if claim and claim.mainsnak.snaktype == 'value' then return 'Q' .. claim.mainsnak.datavalue.value['numeric-id'] end end function p.formatEntity( entity, args ) if not entity then return nil end if not args then args = {} end if type(entity) == 'string' then entity = p.getEntity(entity) end local label = p._getLabel(entity, args.lang) if not label then label = entity.id end return formattedLabel(label, entity, args) end function p.getLabel(frame) -- simple for simple templates like {{Q|}}} local args = frame.args local entity = args.entity local lang = lang if args.lang and args.lang ~= '' then lang = args.lang end if string.sub(entity, 1, 10) == 'Property:P' then entity = string.sub(entity, 10) elseif (string.sub(entity, 1, 1) ~= 'P' and string.sub(entity, 1, 1) ~= 'Q') or (not tonumber(string.sub(entity, 2))) then return i18n('invalid-id') end if not args.link or args.link == '' then -- by default: no link args.link = '-' end if args.link == '-' then return p._getLabel(entity, lang) or i18n('invalid-id') else lang = lang return p.formatEntity(entity, args) end end function p._formatStatements( args )--Format statements and concat them cleanly if args.value == '-' then return nil end --If a value is already set, use it if args.value and args.value ~= '' then return args.value end local valuetable = p.stringTable(args) return tableToText(valuetable, args) end function p.showQualifier( args ) local qualifs = args.qualifiers or args.qualifier if type(qualifs) == 'string' then qualifs = mw.text.split(qualifs, ',') end if not qualifs then return formatError( 'property-param-not-provided' ) end local claims = p.getClaims(args) if not claims then return nil end local str = '' for i, j in pairs(claims) do local new = p.getFormattedQualifiers(j, qualifs, args) or '' str = str .. new end return str end function p._formatAndCat(args) local val = p._formatStatements( args ) if val then return val .. addtrackingcat(args.property) end end function p.getTheDate(args) local claims = p.getClaims(args) if not claims then return nil end local formattedvalues = {} for i, j in pairs(claims) do table.insert(formattedvalues, p.getFormattedDate(j)) end local val = linguistic.conj(formattedvalues) if val and args.addcat == true then return val .. addtrackingcat(args.property) else return val end end ---FONCTIONS depuis le FRAME function p.getaDate(frame) return p.getTheDate(frame.args) end function p.getQualifier( frame ) return p.showQualifier(frame.args) end function p.getDescription(frame) -- simple for simple templates like {{Q|}}} local entity = frame.args.entity if frame.args.lang then lang = frame.args.lang end return p._getDescription(entity, lang) or i18n('invalid-id') end function p.formatStatements( args ) return p._formatStatements( args) end function p.formatStatementsE(frame) local args = {} if frame == mw.getCurrentFrame() then args = frame:getParent().args -- paramètres du modèle appelant (est-ce vraiment une bonne idée ?) for k, v in pairs(frame.args) do args[k] = v end else args = frame end return p._formatStatements( args ) end function p.formatAndCat(frame) local args = {} if frame == mw.getCurrentFrame() then args = frame:getParent().args -- paramètres du modèle appelant (est-ce vraiment une bonne idée ?) for k, v in pairs(frame.args) do args[k] = v end else args = frame end return p._formatAndCat( args ) end function p.getEntityFromId(id) return p.getEntity(id) end return p 5xyzpl4jasuix4ji6kzq4tgdltqb6d6 Module:Linguistic 828 3346 36534 2025-12-15T18:05:26Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- some simple internationalization that can be called by other modules local p = {} local f = require('Module:Fallback') local i18n = mw.loadData('Module:I18n/linguistic') local function getText(msg, lang) return f._langSwitch(i18n[msg], lang) end local vowels = 'aeiouyąăẵằẳặȃắâẫấầẩậãäǟāáàȁǎảẚåǻḁạǡæǣǽĕȇêễếềểệḙẽḛëēḕéḗèȅěẻẹęȩḝǝĭȋîĩḭïḯīíìȉǐỉịįı...' 36534 Scribunto text/plain -- some simple internationalization that can be called by other modules local p = {} local f = require('Module:Fallback') local i18n = mw.loadData('Module:I18n/linguistic') local function getText(msg, lang) return f._langSwitch(i18n[msg], lang) end local vowels = 'aeiouyąăẵằẳặȃắâẫấầẩậãäǟāáàȁǎảẚåǻḁạǡæǣǽĕȇêễếềểệḙẽḛëēḕéḗèȅěẻẹęȩḝǝĭȋîĩḭïḯīíìȉǐỉịįıŏȏôỗốồổộõṏṍöōṑóṓòȍǒỏọǫǭơỡớờởợøǿŭȗûṷũṻṹṵüǖǘǜǚṳūúùȕǔủůụųưữứừửựŷỹÿȳýỳỷẙỵ' local function wordor(lang) return getText('or_conj', lang) end local function comma(lang) return getText("comma", lang) end local function citation_comma(lang) return getText("citation_comma", lang) end function p.fullstop(lang) return getText("full_stop", lang) end function p.colon(lang) return getText("colon", lang) end local function wordand(lang) return getText("and_conj", lang) end local function wordsep(lang) -- default separator between words return getText("word_separator", lang) end local function isin(str, pattern) return str and pattern and mw.ustring.find(str, pattern, 1, true) end local function langisin(str, lang) return isin(str, lang .. ' ') -- space is necessary to avoid false positives like zh in zh-hans end local function processgender(str) local t = { f = 'feminine', fem = 'feminine', feminine = 'feminine', m = 'masculine', masc = 'masculine', masculine = 'masculine', n = 'neutral', neutral = 'neutral', } return t[str] or 'masculine' end local function processnumber(str) if str == 'p' or str == 'plural' then return 'plural' else return 'singular' end end function p.vowelfirst(str) return str and isin(vowels, str[1]) end function p.inparentheses(str, lang) --todo: define language with exotic parentheses if str == '' then return str else return ' (' .. str .. ')' -- needs internationalization. -- Needs leading space in English because as some languages do not use it, it is part of the formatting end end function p.of(word, lang, raw, gender, number, determiner) -- rough translation of "of" in various languages -- note that the cases when on "of" is employed varies a lot among languages, so it is more prudent to call this from lang specific function only if not raw then raw = word end gender = processgender(gender) number = processnumber(number) -- raw is the string without the Wikiformatting so that it correctly analyses the string that is [[:fr:Italie|Italie]] -> 'italie' -- any way to automate this ? -- todo: ca to replace Template:Of/ca if lang == 'fr' then if number == 'plural' then return 'des ' .. word elseif p.vowelfirst(raw) then return 'de l\'' .. word elseif gender == 'feminine' then return 'de la ' .. word elseif derterminer then return 'du ' .. word else return 'de ' .. word end end return raw end function p.noungroup(noun, adj, lang) if not noun or noun == '' then return nil -- not '' so that it is not counted as a string by mw.listToText end if not adj or adj == '' then return noun end -- adjective before the noun if langisin('cs de de-at de-ch en en-ca en-gb pl sk zh zh-cn zh-hans zh-hant zh-my zh-sg zh-tw ', lang) then return adj .. wordsep(lang) .. noun -- adjective after the noun elseif langisin('fr fr-ca es it') then return noun .. wordsep(lang) .. adj else return noun .. p.inparentheses(adj, lang) end end function p.conj(args, lang, conjtype) if not args then return nil end local newargs = {} for i, j in pairs(args) do if type(j) ~= 'nil' then table.insert(newargs, j) end end args = newargs if #args == 0 then return nil end if conjtype == 'comma' then return mw.text.listToText(args, comma(lang), comma(lang)) elseif conjtype == 'citation_comma' then return mw.text.listToText(args, citation_comma(lang), citation_comma(lang)) elseif conjtype == 'or' then return mw.text.listToText(args, comma(lang), wordor(lang) .. wordsep(lang)) elseif conjtype == 'explicit or' then -- adds "or" betwen all words when the context can be confusing return mw.text.listToText(args, wordor(lang) .. wordsep(lang), wordor(lang) .. wordsep(lang)) elseif conjtype then return mw.text.listToText(args, conjtype, conjtype) else return mw.text.listToText(args, comma(lang), wordand(lang) .. wordsep(lang)) end end return p 7zvttc4ndlh7zchawdp4kl17wi4550c Module:Dictionary/lang codes 828 3347 36535 2025-12-15T18:06:18Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- correspondance élément Wikidata/code langue wikidata. Basé sur http://wdq.wmflabs.org/api?q=CLAIM[424]%20and%20claim[31:34770]4] --[[ pour les mises à jour, sur un wikidata avec "arbitrary access : si la liste est trop longue (timeouterror), faire en plusieurs fois local wikidata = require('Module:Wikidata').formatStatements function p.update(frame) local s = '' local wikidata =require('Module:Wikidata') loca list == copiercoller ici...' 36535 Scribunto text/plain -- correspondance élément Wikidata/code langue wikidata. Basé sur http://wdq.wmflabs.org/api?q=CLAIM[424]%20and%20claim[31:34770]4] --[[ pour les mises à jour, sur un wikidata avec "arbitrary access : si la liste est trop longue (timeouterror), faire en plusieurs fois local wikidata = require('Module:Wikidata').formatStatements function p.update(frame) local s = '' local wikidata =require('Module:Wikidata') loca list == copiercoller ici for i, j in pairs(list) do j = tostring(j) local item = mw.wikibase.getEntityObject('Q' ..j) local val = wikidata._formatStatements{property = 'P424', item = item, lang='fr'} or '-' s = s .. '['.. j .. .. ']' " = '" .. val .. "',<br />" end return s end return p ]]-- return { [150] = 'fr', [188] = 'de', [397] = 'la', [652] = 'it', [809] = 'pl', [1321] = 'es', [1568] = 'hi', [1571] = 'mr', [1617] = 'ur', [1860] = 'en', [5111] = 'ab', [5137] = 'gu', [5146] = 'pt', [5287] = 'ja', [5885] = 'ta', [6654] = 'hr', [7411] = 'nl', [7737] = 'ru', [7838] = 'sw', [7913] = 'ro', [7918] = 'bg', [7930] = 'mg', [8097] = 'te', [8108] = 'ka', [8641] = 'yi', [8748] = 'sq', [8752] = 'eu', [8765] = 'an', [8785] = 'hy', [8798] = 'uk', [9027] = 'sv', [9035] = 'da', [9043] = 'no', [9051] = 'lb', [9056] = 'cs', [9058] = 'sk', [9063] = 'sl', [9067] = 'hu', [9072] = 'et', [9078] = 'lv', [9083] = 'lt', [9091] = 'be', [9142] = 'ga', [9166] = 'mt', [9168] = 'fa', [9176] = 'ko', [9186] = 'zh-yue', [9199] = 'vi', [9205] = 'km', [9211] = 'lo', [9217] = 'th', [9228] = 'my', [9237] = 'ms', [9240] = 'id', [9246] = 'mn', [9252] = 'kk', [9255] = 'ky', [9260] = 'tg', [9264] = 'uz', [9267] = 'tk', [9288] = 'he', [9292] = 'az', [9296] = 'mk', [9299] = 'sr', [9301] = 'sh', [9303] = 'bs', [9307] = 'gl', [9309] = 'cy', [9314] = 'gd', [9610] = 'bn', [10179] = 'zu', [12107] = 'br', [12175] = 'gv', [13199] = 'rm', [13201] = 'rmy', [13216] = 'za', [13218] = 'xh', [13238] = 'udm', [13248] = 'hsb', [13263] = 'ug', [13267] = 'si', [13275] = 'so', [13286] = 'dsb', [13300] = 'nah', [13307] = 'na', [13310] = 'nv', [13324] = 'min', [13330] = 'mwl', [13343] = 'mdf', [13356] = 'mzn', [13359] = 'xmf', [13389] = 'ba', [14185] = 'oc', [14196] = 'af', [14549] = 'sco', [15085] = 'pms', [15087] = 'frp', [21117] = 'esu', [22711] = 'pdc', [23014] = 'pfl', [25258] = 'fo', [25285] = 'tt', [25289] = 'kw', [25355] = 'kl', [26245] = 'rue', [27154] = 'stq', [27175] = 'fy', [27183] = 'ik', [27683] = 'ace', [27811] = 'aa', [28026] = 'ak', [28224] = 'frr', [28244] = 'am', [28602] = 'arc', [29316] = 'roa-rup', [29401] = 'as', [29507] = 'ast', [29561] = 'av', [29921] = 'iu', [29952] = 'myv', [30005] = 'ee', [30007] = 'ext', [30319] = 'szl', [31746] = 'lez', [32656] = 'dv', [32704] = 've', [32724] = 'vec', [32747] = 'vep', [32762] = 'fiu-vro', [32979] = 'cho', [33025] = 'bej', [33081] = 'dz', [33111] = 'co', [33120] = 'bxr', [33190] = 'bug', [33219] = 'map-bms', [33239] = 'ceb', [33243] = 'bm', [33265] = 'chy', [33268] = 'bh', [33273] = 'ny', [33281] = 'cbk-zam', [33287] = 'gaa', [33291] = 'fon', [33295] = 'fj', [33315] = 'hz', [33348] = 'cv', [33350] = 'ce', [33357] = 'crh', [33388] = 'chr', [33390] = 'cr', [33441] = 'fur', [33454] = 'ff', [33457] = 'gag', [33475] = 'gan', [33491] = 'ht', [33549] = 'jv', [33552] = 'ks', [33569] = 'haw', [33578] = 'ig', [33617] = 'ho', [33634] = 'xal', [33657] = 'glk', [33673] = 'kn', [33690] = 'csb', [33714] = 'krc', [33720] = 'krj', [33754] = 'lmo', [33786] = 'sid', [33810] = 'or', [33823] = 'ne', [33845] = 'nap', [33850] = 'nrm', [33856] = 'pap', [33864] = 'om', [33947] = 'se', [33954] = 'sg', [33968] = 'os', [33973] = 'scn', [33976] = 'sc', [33979] = 'new', [33989] = 'srn', [33997] = 'sd', [34002] = 'su', [34004] = 'sn', [34011] = 'sm', [34015] = 'crs', [34055] = 'tvl', [34057] = 'tl', [34094] = 'to', [34119] = 'tyv', [34125] = 'tet', [34128] = 'ty', [34137] = 'tn', [34138] = 'tum', [34147] = 'vls', [34208] = 'wbl', [34247] = 'yai', [34257] = 'wo', [34271] = 'bo', [34279] = 'war', [34290] = 'wuu', [34311] = 'yo', [34340] = 'st', [35224] = 'io', [35225] = 'peo', [35452] = 'bi', [35722] = 'got', [35850] = 'ie', [35853] = 'kab', [35876] = 'gn', [35934] = 'ia', [35936] = 'ilo', [35978] = 'hil', [36094] = 'kr', [36106] = 'lij', [36126] = 'kv', [36196] = 'lad', [36212] = 'ltg', [36217] = 'ln', [36236] = 'ml', [36280] = 'mh', [36368] = 'ku', [36451] = 'mi', [36495] = 'zh-min-nan', [36510] = 'el', [36554] = 'pih', [36727] = 'pi', [36738] = 'nov', [36811] = 'ckb', [36850] = 'tw', [36986] = 'vo', [37059] = 'bpy', [42365] = 'ang', [46728] = 'hif', [56475] = 'ha', [58635] = 'pa', [58680] = 'ps', [102172] = 'li', [146803] = 'lfn', [213434] = 'bat-smg', [237409] = 'zea', [242648] = 'eml', [516137] = 'nds-nl', [523014] = 'mus', [1389492] = 'pnb', [1405077] = 'kj', } tnva4k3g396a298kfbwtzopptk44ru2 Module:Wikidata 828 3348 36536 2025-12-15T18:07:35Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "Module:No globals" local p = {} local lib = require 'Module:Wikidata/lib' local i18n = mw.loadData('Module:Wikidata/i18n') local getArgs = (require 'Module:Arguments').getArgs local function getEntityIdFromStatements(statements) for _, statement in ipairs(statements) do if lib.IsSnakValue(statement.mainsnak) then if statement.mainsnak.datavalue.type ~= 'wikibase-entityid' then return error(lib.raiseInvalidDatatype('getEntit...' 36536 Scribunto text/plain --require "Module:No globals" local p = {} local lib = require 'Module:Wikidata/lib' local i18n = mw.loadData('Module:Wikidata/i18n') local getArgs = (require 'Module:Arguments').getArgs local function getEntityIdFromStatements(statements) for _, statement in ipairs(statements) do if lib.IsSnakValue(statement.mainsnak) then if statement.mainsnak.datavalue.type ~= 'wikibase-entityid' then return error(lib.raiseInvalidDatatype('getEntityIdFromStatements', statement.mainsnak.datatype, {'wikibase-item', 'wikibase-property'})) end local Formatters = require 'Module:Wikidata/Formatters' return Formatters.getRawValue(statement.mainsnak) end end return nil end local function getEntityIdFromEntity(entity, prop) local prop = mw.ustring.upper(prop) local statements = entity:getBestStatements(prop) return getEntityIdFromStatements(statements) end local function getEntityIdFromId(id, prop) local prop = mw.ustring.upper(prop) local statements = mw.wikibase.getBestStatements(id, prop) return getEntityIdFromStatements(statements) end local function getIdFromTitle(titleString) local title = mw.title.new(titleString) while title do local id = mw.wikibase.getEntityIdForTitle(title.prefixedText) if id then return id end title = title.redirectTarget end return nil end local function findEntityId(options) local id if options.entity and type(options.entity) == 'table' then id = options.entity.id end if not id and options.page then id = getIdFromTitle(options.page) if not id then return nil end end if not id then id = options.id or p.getCurrentId() end if id and options.of then id = getEntityIdFromId(id, options.of) end return id end local function findEntity(options) local entity if options.entity and type(options.entity) == 'table' then entity = options.entity end if not entity then if options.id then local id = options.id:upper() entity = mw.wikibase.getEntity(id) if entity and entity.id ~= id then mw.log(id .. ' je přesměrování na ' .. entity.id) end else if options.page then local id = getIdFromTitle(options.page) if id then entity = mw.wikibase.getEntity(id) end else entity = mw.wikibase.getEntity() end end end if options.of then if entity then local id = getEntityIdFromEntity(entity, options.of) if id then return mw.wikibase.getEntity(id) end end return nil end return entity end local function getSitelink(options) local id = findEntityId(options) if not id then return nil end local site = options.site or options[1] local sitelink = mw.wikibase.sitelink(id, site) if not sitelink then return nil end if options.pattern then sitelink = lib.formatFromPattern(sitelink, options.pattern) end if lib.IsOptionTrue(options, 'addclass') then sitelink = lib.addWdClass(sitelink) end return sitelink end local function formatStatement(statement, options) if not statement.type or statement.type ~= 'statement' then return error(lib.formatError('unknown-claim-type', statement.type or '[neznámý]')) end local Filterers = require 'Module:Wikidata/Filterers' local Formatters = require 'Module:Wikidata/Formatters' local mainsnak = Formatters.getFormattedValue(statement.mainsnak, options) if options.isQualifier == true then return mainsnak end local qualifiers, targetdata, references if statement.qualifiers and options.showqualifier then local PropList = lib.textToTable(options.showqualifier) local Snaks = {} for _, property in ipairs(PropList) do local Values = {} local property = mw.ustring.upper(property) local format_options = { autoformat = true, isQualifier = true, label = 'short', precision = options['qualifiers precision'] or 9, property = property } if statement.qualifiers[property] then local Qualifiers = mw.clone(statement.qualifiers[property]) Filterers.filterQualifiers(Qualifiers, options) for _, snak in ipairs(Qualifiers) do if lib.IsSnakValue(snak) then table.insert(Values, Formatters.getFormattedValue(snak, {})) end end elseif property == 'TIME' then local Data = {} -- todo: factor out for key, array in pairs(lib.props) do for _, prop in ipairs(array) do for _, snak in ipairs(statement.qualifiers[prop] or {}) do Data[key] = snak break end end end if Data.begin or Data.ending then table.insert(Values, lib.formatDateRange(Data, format_options)) end end if #Values > 0 then table.insert(Snaks, mw.text.listToText(Values)) end end if #Snaks > 0 then qualifiers = table.concat(Snaks, options['qualifiers separator'] or i18n['qualifiers separator']) end end if not qualifiers and options.showtargetdata then local entity if lib.IsSnakValue(statement.mainsnak) then if statement.mainsnak.datavalue.type == 'wikibase-entityid' then entity = mw.wikibase.getEntity(Formatters.getRawValue(statement.mainsnak)) else return error(lib.formatError('invalid-datatype', statement.mainsnak.property, statement.mainsnak.datatype, 'wikibase-item/wikibase-property')) end end if entity then local PropList = lib.textToTable(options.showtargetdata) local date local rank = 'best' if options.targetdate then if lib.isPropertyId(options.targetdate) then date = p.getRawValueFromLua{ entity = options.entity, property = options.targetdate } else date = options.targetdate end if date then rank = 'valid' end end local options = { addclass = false, autoformat = true, date = date, entity = entity, isQualifier = true, label = 'short', precision = 9, rank = rank, sort = {'date'}, } local Snaks = {} for _, property in ipairs(PropList) do local result if mw.ustring.lower(property) == 'time' then local Data = {} for key, array in pairs(lib.props) do for _, prop in ipairs(array) do options.property = prop local Statements = Filterers.filterStatementsFromEntity(entity, options) for _, statement in ipairs(Statements) do Data[key] = statement.mainsnak break end end end if Data.begin or Data.ending then result = lib.formatDateRange(Data, options) end else options.property = property result = p.formatStatementsFromLua(options) end if result then table.insert(Snaks, result) end end if #Snaks > 0 then targetdata = table.concat(Snaks, '; ') end end end if statement.references and lib.IsOptionTrue(options, 'showsource') then local Module = require 'Module:Wikidata/cite' references = Module.formatReferences(statement.references, options) end if qualifiers or targetdata then if options.delimiter then mainsnak = mainsnak .. options.delimiter .. (qualifiers or targetdata) else mainsnak = mainsnak .. ' (' .. (qualifiers or targetdata) .. ')' end end if references and references ~= '' then return mainsnak .. references .. lib.category('references') end return mainsnak end local function formatStatements(statements, options) local formattedStatements = {} for _, statement in ipairs(statements) do if not statement.type or statement.type ~= 'statement' then return error(lib.formatError('unknown-claim-type', statement.type or '[neznámý]')) -- fixme: i18n end local formatted = formatStatement(statement, options) local add = true for _, fmt in ipairs(formattedStatements) do if formatted == fmt then add = false break end end if add then -- not in_array table.insert(formattedStatements, formatted) end end return formattedStatements end local function getStatements(id, options) if not id then return {} end local statements = mw.wikibase.getAllStatements(id, options.property:upper()) local Filterers = require 'Module:Wikidata/Filterers' Filterers.filterStatements(statements, options) return statements end local function prepareShowMore(options) if options.limit and lib.IsOptionTrue(options, 'showmore') then options.limit = options.limit + 1 return true end return false end local function handleShowMore(values, limit, add_more) if add_more then if #values == limit then table.remove(values) else add_more = false end end return add_more end local function makeList(values, options, add_more) if add_more then table.insert(values, mw.ustring.format(i18n['more-on-Wikidata'], options.id, options.property)) end return mw.text.listToText(values, options.separator, options.conjunction) end local function getFormattedStatements(options) local value = options.value if value then if value == '' and lib.IsOptionTrue(options, 'over') then value = nil end if value and not lib.IsOptionTrue(options, 'compare') then return value end end --Get entity local options = lib.common.cleanArgs(options) options.limit = tonumber(options.limit) --TODO default? local add_more = false if not lib.IsOptionTrue(options, 'compare') then add_more = prepareShowMore(options) end local id = findEntityId(options) local statements = getStatements(id, options) options.property = mw.ustring.upper(options.property) if value then local compare = require 'Module:Wikidata/compare' local marked, category = compare.compareValues(value, statements, { catbase = options.catbase, property = options.of or options.property }) if tostring(options.addclass) ~= 'false' and marked then value = marked end if lib.IsOptionTrue(options, 'addcat') and category then return value .. category end return value end if #statements == 0 then return nil end add_more = handleShowMore(statements, options.limit, add_more) options.id = id -- Format statements and concat them cleanly local formattedStatements = formatStatements(statements, options) value = makeList(formattedStatements, options, add_more) if lib.IsOptionTrue(options, 'addlink') then value = mw.ustring.format('%s <sup class="wd-link">([[d:%s#%s|e]])</sup>', value, id, options.property) end if lib.IsOptionTrue(options, 'addcat') then value = value .. lib.category('used-property', options.property) end if tostring(options.addclass) ~= 'false' then return lib.addWdClass(value) end return value end local function getRawValue(options) if options.rank ~= 'best' and options.rank ~= 'preferred' then local byRank = mw.ustring.match(options.sort or '', 'rank') and true options.sort = lib.textToTable(options.sort or '') if not byRank then table.insert(options.sort, 1, 'rank') end end for _, statement in ipairs(p.getStatements(options)) do local Formatters = require 'Module:Wikidata/Formatters' return Formatters.getRawValue(statement.mainsnak, options) end return nil end local function getQualifiers(args) if not args.qualifier then return error(lib.formatError('param-not-provided', 'qualifier')) end local all_qualifiers = {} for _, statement in ipairs(p.getStatements(args)) do if statement.qualifiers then local qualifiers = mw.clone(statement.qualifiers[mw.ustring.upper(args.qualifier)] or {}) local Filterers = require 'Module:Wikidata/Filterers' Filterers.filterQualifiers(qualifiers, args) for _, q in ipairs(qualifiers) do table.insert(all_qualifiers, q) end end if not lib.IsOptionTrue(args, 'all') then return all_qualifiers end end return all_qualifiers end ----- API pro šablony ----- function p.dumpWikidataEntity(frame) local args = getArgs(frame, { removeBlanks = true }) return mw.dumpObject( mw.wikibase.getEntity( args.id ) ) end function p.getBadges(frame) local args = getArgs(frame, { removeBlanks = true }) local site = args.site if not site then return error(lib.formatError('param-not-provided', 'site')) end local entity = findEntity(args) local Badges = {} if entity and entity.sitelinks and entity.sitelinks[site] then local Formatters = require 'Module:Wikidata/Formatters' for _, badge in ipairs(entity.sitelinks[site].badges) do table.insert(Badges, Formatters.formatRawValue(badge, 'wikibase-entityid')) end end return table.concat( Badges, ', ' ) end function p.getLabel(frame) local args = getArgs(frame, { removeBlanks = true }) local id = findEntityId(args) if not id then return nil end local lang = args.lang local code = mw.language.getContentLanguage():getCode() if not lang or lang == code then local label, _ = lib.getLabelInLanguage(id, { code }) if label and lib.IsOptionTrue(args, 'addclass') then label = lib.addWdClass(label) end return label end local entity = mw.wikibase.getEntity(id) if entity and entity.labels and entity.labels[lang] then local label = entity.labels[lang].value if label and lib.IsOptionTrue(args, 'addclass') then label = lib.addWdClass(label) end return label end return nil end function p.getDescription(frame) local args = getArgs(frame, { removeBlanks = true }) local id = findEntityId(args) if not id then return nil end local lang = args.lang if not lang or lang == mw.language.getContentLanguage():getCode() then local description = mw.wikibase.description(id) if description and lib.IsOptionTrue(args, 'addclass') then description = lib.addWdClass(description) end return description end local entity = mw.wikibase.getEntity(id) if entity and entity.descriptions and entity.descriptions[lang] then local description = entity.descriptions[lang].value if description and lib.IsOptionTrue(args, 'addclass') then description = lib.addWdClass(description) end return description end return nil end function p.getAliases(frame) local args = getArgs(frame, { removeBlanks = true, frameOnly = true, }) local lang = args.lang local entity = findEntity(args) if not lang then lang = mw.language.getContentLanguage():getCode() end if not entity or not entity.aliases or not entity.aliases[lang] then return nil end args.limit = tonumber(args.limit) local add_more = prepareShowMore(args) local Aliases = {} for i, alias in ipairs(entity.aliases[lang]) do if not args.limit or i <= args.limit then table.insert(Aliases, alias.value) else break end end add_more = handleShowMore(Aliases, args.limit, add_more) local list = makeList(Aliases, args, add_more) return lib.addWdClass(list) end function p.getId(frame) local args = getArgs(frame, { removeBlanks = true, frameOnly = false, parentFirst = false }) if not args[1] then return mw.wikibase.getEntityIdForCurrentPage() end for _, titleString in ipairs(args) do local id = getIdFromTitle(titleString) if id then return id end end return nil end function p.getSitelink(frame) return getSitelink(getArgs(frame, { removeBlanks = true, frameOnly = true, })) end function p.formatStatements(frame) local args = getArgs(frame, { removeBlanks = false, -- todo frameOnly = true, }) local parent_args = getArgs(frame:getParent(), { removeBlanks = true }) local add if parent_args.item and not args.id then args.id = parent_args.item add = lib.category('arbitrary-data') end local value = getFormattedStatements(args) if add and value then return value .. add end return value end function p.formatStatementsFromTemplate(frame) local args = getArgs(frame, { frameOnly = false, parentOnly = false, parentFirst = false, }) return getFormattedStatements(args) end function p.getCount(frame) local args = getArgs(frame, { removeBlanks = true, frameOnly = true, }) args.limit = nil return #p.getStatements(args) end function p.getRawValue(frame) return getRawValue(getArgs(frame, { removeBlanks = true, frameOnly = true, })) end function p.getQualifier(frame) local args = getArgs(frame, { removeBlanks = true, frameOnly = true, }) args.limit = tonumber(args.limit) local add_more = prepareShowMore(args) local limit = args.limit args.limit = 1 args.isQualifier = true if not args['qualifiers limit'] then args['qualifiers limit'] = limit end local qualifiers = getQualifiers(args) if #qualifiers == 0 then return nil end add_more = handleShowMore(qualifiers, limit, add_more) local Formatters = require 'Module:Wikidata/Formatters' local formattedQualifiers = {} for _, qualifier in ipairs(qualifiers) do table.insert(formattedQualifiers, Formatters.getFormattedValue(qualifier, args)) end local value = makeList(formattedQualifiers, args, add_more) return lib.addWdClass(value) end function p.getRawQualifier(frame) local args = getArgs(frame, { removeBlanks = true, frameOnly = true, }) local limit = args.limit and tonumber(args.limit) args.limit = 1 for _, qualifier in ipairs(getQualifiers(args)) do local Formatters = require 'Module:Wikidata/Formatters' return Formatters.getRawValue(qualifier) end return nil end function p.formatEntity(frame) local args = getArgs(frame, { removeBlanks = true, frameOnly = true, }) args.id = args.id or p.getCurrentId() if args.id then local Formatters = require 'Module:Wikidata/Formatters' return Formatters.formatRawValue(args.id, 'wikibase-entityid', args) end return nil end function p.compareStatements(frame) local args = getArgs(frame, { removeBlanks = true, frameOnly = true, }) if not args.value then return nil end local statements = p.getStatements(args) local compare = require 'Module:Wikidata/compare' return compare.compareValues(args.value, statements, args) end ----- API pro moduly ----- p.getCurrentId = mw.wikibase.getEntityIdForCurrentPage function p.formatStatementsFromLua(options) return getFormattedStatements(options) end function p.getSitelinkFromLua(options) return getSitelink(options or {}) end function p.getStatements(args) local id = findEntityId(args) return getStatements(id, args) end function p.getRawValueFromLua(options) return getRawValue(options) end p.formatStatementsTable = formatStatements return p 1xzhlf3gvix2oedaxpijf2kn2g3r2fx Module:Wikidata/cite 828 3349 36537 2025-12-15T18:08:43Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "strict" local p = {} local lib = require 'Module:Wikidata/lib' p.props = { accessdate = { 'P813' }, archivedate = { 'P2960' }, archiveurl = { 'P1065' }, author = { 'P50' }, date = { 'P577' }, editor = { 'P90' }, ilustration = { 'P110' }, lang = { 'P364', 'P407' }, pages = { 'P304' }, place = { 'P291' }, publisher = { 'P123' }, title = { 'P1476' }, type = { 'P31' }, url = { 'P854', 'P953' }, work = { 'P248' }, isbn13 =...' 36537 Scribunto text/plain --require "strict" local p = {} local lib = require 'Module:Wikidata/lib' p.props = { accessdate = { 'P813' }, archivedate = { 'P2960' }, archiveurl = { 'P1065' }, author = { 'P50' }, date = { 'P577' }, editor = { 'P90' }, ilustration = { 'P110' }, lang = { 'P364', 'P407' }, pages = { 'P304' }, place = { 'P291' }, publisher = { 'P123' }, title = { 'P1476' }, type = { 'P31' }, url = { 'P854', 'P953' }, work = { 'P248' }, isbn13 = { 'P212' }, isbn10 = { 'P957' }, } local function dataToContent(data) if data.wikipedia then return ''; end local content = {} local Formatters = require 'Module:Wikidata/Formatters' if data.author then local authors = {} for _, snak in ipairs(data.author) do table.insert(authors, Formatters.getFormattedValue(snak, {})) end table.insert(content, table.concat(authors, ', ') .. ':') end if data.title then local title = Formatters.getFormattedValue(data.title[1], {}) if data.archiveurl then title = Formatters.getFormattedValue(data.archiveurl[1], { ['value-formatter'] = 'url', text = '«' .. title .. '»' }) .. '.' elseif data.url then title = Formatters.getFormattedValue(data.url[1], { ['value-formatter'] = 'url', text = '«' .. title .. '»' }) .. '.' elseif data.work then local id = Formatters.getRawValue(data.work[1]) title = '[[' .. (mw.wikibase.sitelink(id) or ('d:' .. id)) .. '|«' .. title .. '»]]' end table.insert(content, title) end if data.lang then local langs = {} for _, lang in ipairs(data.lang) do table.insert(langs, Formatters.getFormattedValue(lang, {})) end table.insert(content, '(' .. table.concat(langs, ', ') .. ')') end if data.work and (not data.title or data.archiveurl or data.url) then local title = Formatters.getFormattedValue(data.work[1], {}) table.insert(content, mw.ustring.format("''%s''.", title)) end if data.publisher then local publishers = {} for _, snak in ipairs(data.publisher) do table.insert(publishers, Formatters.getFormattedValue(snak, {})) end table.insert(content, table.concat(publishers, ', ') .. '.') end if data.place then local places = {} for _, snak in ipairs(data.place) do table.insert(places, Formatters.getFormattedValue(snak, {})) end table.insert(content, table.concat(places, ', ') .. '.') end if data.date then local date = Formatters.getFormattedValue(data.date[1], {}) .. '.' table.insert(content, date) end if not data.title and data.url then local url = Formatters.getFormattedValue(data.url[1], { ['value-formatter'] = 'url' }) .. '.' table.insert(content, url) elseif data.external then local url = Formatters.getFormattedValue(data.external[1], { autoformat = true, property = data.external[1].property }) .. '.' table.insert(content, url) end if data.archivedate and data.url and data.archiveurl then local url = Formatters.getFormattedValue(data.url[1], { ['value-formatter'] = 'url', text = 'το πρωτότυπο' }) local date = Formatters.getFormattedValue(data.archivedate[1], {}) table.insert(content, mw.ustring.format('Αρχειοθετήθηκε από %s στις %s.', url, date)) end if data.accessdate and data.accessdate[1].datavalue.value.time ~= "+42400-00-00T00:00:00Z" then local date = Formatters.getFormattedValue(data.accessdate[1], {}) table.insert(content, mw.ustring.format('Ανακτήθηκε στις %s.', date)) end if data.pages then --local pages = Formatters.getFormattedValue(data.pages[1], { pattern = 'σελ. $1.'}) local pages = mw.ustring.format('σελ. %s.', Formatters.getRawValue(data.pages[1], {})) table.insert(content, pages) end if data.isbn13 then local isbn13 = mw.ustring.format('ISBN-13 %s', Formatters.getFormattedValue(data.isbn13[1], { pattern = '[[Special:BookSources/$1|$1]].' })) table.insert(content, isbn13) end if data.isbn10 then local isbn10 = mw.ustring.format('ISBN-10 %s', Formatters.getFormattedValue(data.isbn10[1], { pattern = '[[Special:BookSources/$1|$1]].' })) table.insert(content, isbn10) end return table.concat(content, ' ') end local function dataFromItem(id, data) local entity = mw.wikibase.getEntity(id) if entity.claims["P31"] then for _, statement in ipairs(entity.claims["P31"]) do if statement.mainsnak and statement.mainsnak.datavalue and statement.mainsnak.datavalue.value and statement.mainsnak.datavalue.value.id == 'Q10876391' then -- no references to wikipedia please data.wikipedia = true; return; end end end for key, props in pairs(p.props) do if not data[key] then data[key] = {} for _, prop in ipairs(props) do for _, statement in ipairs(mw.wikibase.getBestStatements(id, prop)) do if lib.IsSnakValue(statement.mainsnak) then table.insert(data[key], statement.mainsnak) end end if #data[key] > 0 then break end end if #data[key] == 0 then data[key] = nil end end end end function p.formatReferences(references, options) local frame = mw.getCurrentFrame() local valid_refs = {} local limit = tonumber(options.max_ref) or 3 local Formatters = require 'Module:Wikidata/Formatters' for _, ref in ipairs(references) do local data = {} for key, props in pairs(p.props) do data[key] = {} for _, prop in ipairs(props) do if ref.snaks[prop] then for _, snak in ipairs(ref.snaks[prop]) do if snak.snaktype == 'value' then table.insert(data[key], snak) end end end if #data[key] > 0 then break end end if #data[key] == 0 then data[key] = nil end end for prop, snaks in pairs(ref.snaks) do if snaks[1].datatype == 'external-id' or prop == 'P627' then --fixme data.external = { snaks[1] } break end end if data.work then -- P248 local id = Formatters.getRawValue(data.work[1]) dataFromItem(id, data) end local ref_content = dataToContent(data) if ref_content ~= '' then table.insert(valid_refs, frame:extensionTag('ref', ref_content, { name = ref.hash })) end if limit and #valid_refs == limit then break end end return table.concat(valid_refs) end return p be078ho137hujzubww6nvo1abagordn Module:Wikidata/Globes 828 3350 36538 2025-12-15T18:09:38Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'return { -- maps Wikidata items used in coordinate-types properties of Wikidat to globe names as used by geohack ['http://www.wikidata.org/entity/Q3343'] = 'ariel', ['http://www.wikidata.org/entity/Q3134'] = 'callisto', ['http://www.wikidata.org/entity/Q596'] = 'ceres', ['http://www.wikidata.org/entity/Q6604'] = 'charon', ['http://www.wikidata.org/entity/Q7548'] = 'deimos', ['http://www.wikidata.org/entity/Q15040'] = 'dione', ['http://www.wi...' 36538 Scribunto text/plain return { -- maps Wikidata items used in coordinate-types properties of Wikidat to globe names as used by geohack ['http://www.wikidata.org/entity/Q3343'] = 'ariel', ['http://www.wikidata.org/entity/Q3134'] = 'callisto', ['http://www.wikidata.org/entity/Q596'] = 'ceres', ['http://www.wikidata.org/entity/Q6604'] = 'charon', ['http://www.wikidata.org/entity/Q7548'] = 'deimos', ['http://www.wikidata.org/entity/Q15040'] = 'dione', ['http://www.wikidata.org/entity/Q2'] = 'earth', ['http://www.wikidata.org/entity/Q3303'] = 'enceladus', ['http://www.wikidata.org/entity/Q3143'] = 'europa', ['http://www.wikidata.org/entity/Q3169'] = 'ganymede', ['http://www.wikidata.org/entity/Q15037'] = 'hyperion', ['http://www.wikidata.org/entity/Q17958'] = 'iapetus', ['http://www.wikidata.org/entity/Q3123'] = 'io', ['http://www.wikidata.org/entity/Q319'] = 'jupiter', ['http://www.wikidata.org/entity/Q111'] = 'mars', ['http://www.wikidata.org/entity/Q308'] = 'mercury', ['http://www.wikidata.org/entity/Q15034'] = 'mimas', ['http://www.wikidata.org/entity/Q3352'] = 'miranda', ['http://www.wikidata.org/entity/Q405'] = 'moon', ['http://www.wikidata.org/entity/Q332'] = 'neptune', ['http://www.wikidata.org/entity/Q3332'] = 'oberon', ['http://www.wikidata.org/entity/Q7547'] = 'phobos', ['http://www.wikidata.org/entity/Q17975'] = 'phoebe', ['http://www.wikidata.org/entity/Q339'] = 'pluto', ['http://www.wikidata.org/entity/Q15050'] ='rhea', ['http://www.wikidata.org/entity/Q193'] = 'saturn', ['http://www.wikidata.org/entity/Q15047'] = 'tethys', ['http://www.wikidata.org/entity/Q2565'] = 'titan', ['http://www.wikidata.org/entity/Q3322'] = 'titania', ['http://www.wikidata.org/entity/Q3359'] = 'triton', ['http://www.wikidata.org/entity/Q3338'] = 'umbriel', ['http://www.wikidata.org/entity/Q324'] = 'uranus', ['http://www.wikidata.org/entity/Q313'] = 'venus', ['http://www.wikidata.org/entity/Q3030'] ='vesta', } 5hz2xvquh7buhx7tjgmpbgohshkv73c Module:Formatnum 828 3351 36539 2025-12-15T18:11:16Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- This module is intended to replace the functionality of Template:Formatnum and related templates. local p = {} function p.main(frame) local args = frame:getParent().args local prec = args.prec or '' local sep = args.sep or '' local number = args[1] or args.number or '' local lang = args[2] or args.lang or '' -- validate the language parameter within MediaWiki's caller frame if lang == "arabic-indic" then -...' 36539 Scribunto text/plain -- This module is intended to replace the functionality of Template:Formatnum and related templates. local p = {} function p.main(frame) local args = frame:getParent().args local prec = args.prec or '' local sep = args.sep or '' local number = args[1] or args.number or '' local lang = args[2] or args.lang or '' -- validate the language parameter within MediaWiki's caller frame if lang == "arabic-indic" then -- only for compatibility ("arabic-indic" is not a SupportedLanguage) lang = "fa" -- better support than "ks" elseif lang == '' or not mw.language.isSupportedLanguage(lang) then -- Note that 'SupportedLanguages' are not necessarily 'BuiltinValidCodes', and so they are not necessarily -- 'KnownLanguages' (with a language name defined at least in the default localisation of the local wiki). -- But they all are ValidLanguageCodes (suitable as Wiki subpages or identifiers: no slash, colon, HTML tags, or entities) -- In addition, they do not contain any capital letter in order to be unique in page titles (restriction inexistant in BCP47), -- but they may violate the standard format of BCP47 language tags for specific needs in MediaWiki. -- Empty/unspecified and unsupported languages are treated here in Commons using the user's language, -- instead of the local 'ContentLanguage' of the Wiki. lang = frame:preprocess("{{int:lang}}") or '' end return p.formatNum(number, lang, prec, sep ~= '') end local digit = { -- substitution of decimal digits for languages not supported by mw.language:formatNum() in core Lua libraries for MediaWiki ["ml-old"] = { '൦', '൧', '൨', '൩', '൪', '൫', '൬', '൭', '൮', '൯' }, ["mn"] = { '᠐', '᠑', '᠒', '᠓', '᠔', '᠕', '᠖', '᠗', '᠘', '᠙'}, ["ta"] = { '௦', '௧', '௨', '௩', '௪', '௫', '௬', '௭', '௮', '௯'}, ["te"] = { '౦', '౧', '౨', '౩', '౪', '౫', '౬', '౭', '౮', '౯'}, ["th"] = { '๐', '๑', '๒', '๓', '๔', '๕', '๖', '๗', '๘', '๙'} } function p.formatNum(number, lang, prec, compact) -- Do not alter the specified value when it is not a valid number, return it as is local value = tonumber(number) if value == nil then return number end -- Basic ASCII-only formatting (without paddings) number = tostring(value) -- Check the presence of an exponent (incorrectly managed in mw.language:FormatNum() and even forgotten due to an internal bug, e.g. in Hindi) local exponent local pos = string.find(number, '[Ee]') if pos ~= nil then exponent = string.sub(number, pos + 1, string.len(number)) number = string.sub(number, 1, pos - 1) else exponent = '' end -- Check the minimum precision requested prec = tonumber(prec) -- nil if not specified as a true number if prec ~= nil then prec = math.floor(prec) if prec < 0 then prec = nil -- discard an incorrect precision (not a positive integer) elseif prec > 14 then prec = 14 -- maximum precision supported by tostring(number) end end -- Preprocess the minimum precision in the ASCII string local dot if (prec or 0) > 0 then pos = string.find(number, '.', 1, true) -- plain search, no regexp if pos ~= nil then prec = pos + prec - string.len(number) -- effective number of trailing decimals to add or remove dot = '' -- already present else dot = '.' -- must be added end else dot = '' -- don't add dot prec = 0 -- don't alter the precision end if lang ~= nil and mw.language.isKnownLanguageTag(lang) == true then -- Convert number to localized digits, decimal separator, and group separators local language = mw.getLanguage(lang) if compact then number = language:formatNum(tonumber(number), { noCommafy = 'y' }) -- caveat: can load localized resources for up to 20 languages else number = language:formatNum(tonumber(number)) -- caveat: can load localized resources for up to 20 languages end -- Postprocessing the precision if prec > 0 then local zero = language:formatNum(0) number = number .. dot .. mw.ustring.rep(zero, prec) elseif prec < 0 then -- TODO: rounding of last decimal; here only truncate decimals in excess number = mw.ustring.sub(number, 1, mw.ustring.len(number) + prec) end -- Append the localized base-10 exponent without grouping separators (there's no reliable way to detect a localized leading symbol 'E') if exponent ~= '' then number = number .. 'E' .. mw.ustring.gsub(language:formatNum(tonumber(exponent)), groupsep, '') end else -- not localized, ASCII only -- Postprocessing the precision if prec > 0 then number = number .. dot .. mw.string.rep('0', prec) elseif prec < 0 then -- TODO: rounding of last decimal; here only truncate decimals in excess number = mw.string.sub(number, 1, mw.string.len(number) + prec) end -- Append the base-10 exponent if exponent ~= '' then number = number .. 'E' .. exponent end end -- Special cases for substitution of ASCII digits (missing support in Lua core libraries for some languages) if digit[lang] then for i, v in ipairs(digit[lang]) do number = mw.ustring.gsub(number, tostring(i - 1), v) end end return number end return p gqeu01tcefnpphumfndz99dx5qz274m Module:Fallback 828 3352 36540 2025-12-15T18:12:17Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} function p.fblist(lang) -- list the full fallback chain from a language to en local fbtable = mw.language.getFallbacksFor(lang) table.insert(fbtable, 1, lang) table.insert(fbtable, 'message') table.insert(fbtable, 'default') return fbtable end function p._langSwitch(args, lang) -- args: table of translations -- Return error if there is not default and no English version -- otherwise returns the message in the most appropriate,...' 36540 Scribunto text/plain local p = {} function p.fblist(lang) -- list the full fallback chain from a language to en local fbtable = mw.language.getFallbacksFor(lang) table.insert(fbtable, 1, lang) table.insert(fbtable, 'message') table.insert(fbtable, 'default') return fbtable end function p._langSwitch(args, lang) -- args: table of translations -- Return error if there is not default and no English version -- otherwise returns the message in the most appropriate, plus the lang code as a second value if not args.en and not args.default and not args.message and args.nocat ~= '1' then return error("langSwitch error: no default") end -- get language (either stated one or user's default language) if not lang then return '<strong class="error">LangSwitch Error: no lang</strong>' -- must become proper error end -- get the list of acceptable language (lang + those in lang's fallback chain) and check their content for i, j in ipairs(p.fblist(lang)) do if args[j] then if args[j] == '~' then return nil, j end if j == 'message' then return tostring(mw.message.new(args[j]):inLanguage(lang)) end -- if this is an interface message if args[j] ~= '' then return args[j], j end end end return nil end function p.langSwitch(frame) -- version to be used from wikitext local args = frame.args -- if no expected args provided than check parent template/module args if not args.en and not args.default and not args.nocat then args = frame:getParent().args end local lang if args.lang and args.lang ~= '' then lang = args.lang args.lang = nil else -- get user's chosen language lang = frame:preprocess( "{{int:lang}}" ) end local str, language = p._langSwitch(args, lang) return str -- get the first value of the langSwitch, (the text) not the second (the language) end function p.fallbackpage(base, lang, formatting) local languages = p.fblist(lang) for i, lng in ipairs(languages) do if mw.title.new(base .. '/' .. lng).exists then if formatting == 'table' then return {base .. '/' .. lng, lng} -- returns name of the page + name of the language else return base .. '/' .. lng -- returns only the page end end end return base end function p.autotranslate(frame) -- logic for [[template:Autotranslate]] local args = frame.args if not args.lang or args.lang == '' then args.lang = frame:preprocess( "{{int:lang}}" ) -- get user's chosen language end -- find base page local base = args.base if not base or base == '' then return '<strong class="error">Base page not provided for autotranslate</strong>' end if string.sub(base, 2, 9) ~= 'emplate:' then base = 'Template:' .. base -- base provided without 'Template:' part end -- find base template language subpage local page = p.fallbackpage(base, args.lang) -- if (not page and base ~= args.base) then -- try the original args.base string. This case is only needed if base is not in template namespace page = p.fallbackpage(args.base, args.lang) end if not page then return string.format('<strong class="error">no fallback page found for autotranslate (base=[[%s]], lang=%s)</strong>', args.base, args.lang) end -- repack args in a standard table local newargs = {} for field, value in pairs(args) do if field ~= 'base' then newargs[field] = value end end -- Transclude {{page |....}} with template arguments the same as the ones passed to {{autotranslate}} template. return frame:expandTemplate{ title = page, args = newargs } end function p.translate(page, key, lang) --translate data stored in a module if type(page) == 'string' then -- if the requested translation table is not yet loaded page = require('Module:' .. page) end local val if page[key] then val = page[key] elseif page.keys and page.keys[key] then-- key 'keys" is an index of all keys, including redirects, see [[Module:i18n/datatype]] val = page.keys[key] end if not val then return '<' .. key .. '>' end return p._langSwitch(val, lang) end function p.translatelua(frame) local lang = frame.args.lang local page = require('Module:' .. mw.text.trim(frame.args[1])) -- page should only contain a simple of translations if not lang or mw.text.trim(lang) == '' then lang = frame:preprocess( "{{int:lang}}" ) end if frame.args[2] then page = page[mw.text.trim(frame.args[2])] end return p._langSwitch(page, lang) end function p.runTests() local toFallbackTest = require('Module:Fallback/tests/fallbacks') local result = true mw.log('Testing fallback chains') for i, t in ipairs(toFallbackTest) do local fbtbl = table.concat(p.fblist(t.initial), ', ') local expected = table.concat(t.expected, ', ') local ret = (fbtbl == expected) mw.log(i, ret and 'passed' or 'FAILED', t.initial, (not ret) and ('FAILED\nis >>' .. fbtbl .. '<<\nbut should be >>' .. expected .. '<<\n') or '') result = result and ret end return result end function p.showTemplateArguments(frame) -- list all input arguments of the template that calls "{{#invoke:Fallback|showTemplateArguments}}" local str = '' for name, value in pairs( frame:getParent().args ) do if str == '' then str = string.format('%s=%s', name, value) -- argument #1 else str = string.format('%s, %s=%s', str, name, value) -- the rest end end return str end return p gp7q42tyueayf2mqs6ll62uwu7gt2gi Module:Weblink 828 3353 36541 2025-12-15T18:13:04Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} function p.makelink(url, showntext) if (not url) or (url == "-") then return nil end --I validation de l'url (paramètre URL) url = mw.text.trim(url) -- II texte à afficher (paramètre "showntext") --- valeur spéciale : aucun texte if showntext == "-" then return url end --- laissé vide : texte basé sur l'URL if not showntext then if mw.ustring.sub(url, 1, 1) == "[" then return url end local sub12 = mw...' 36541 Scribunto text/plain local p = {} function p.makelink(url, showntext) if (not url) or (url == "-") then return nil end --I validation de l'url (paramètre URL) url = mw.text.trim(url) -- II texte à afficher (paramètre "showntext") --- valeur spéciale : aucun texte if showntext == "-" then return url end --- laissé vide : texte basé sur l'URL if not showntext then if mw.ustring.sub(url, 1, 1) == "[" then return url end local sub12 = mw.ustring.sub(url, 1, 12) if sub12 == '<span class=' or sub12 == '<cite class=' or sub12 == '<abbr class=' then -- résultat produit par [[modèle:URL]], [[modèle:Lien web]], [[modèle:Site officiel]], ou [[modèle:en]] return url end local space = mw.ustring.find(url, ' ') -- si le nom du site est passé par mégarde dans l'URL, le séparer if space then local full = url url = mw.ustring.sub(full, 1, space - 1) showntext = mw.ustring.sub(full, space + 1) else showntext = string.gsub( url, 'https?://', '') ---- remove trailing slash if string.sub(showntext, #showntext, #showntext) == '/' then showntext = string.sub(showntext, 1, #showntext - 1) end end end return '[' .. url .. ' ' .. showntext .. ']' end function p.makelinks(stringlist, separator) if not type(stringlist) == table then return error('stringlist should be table') end if not separator then separator = '<br />' end for i, j in pairs(stringlist) do stringlist[i] = p.makelink(j) end return table.concat(stringlist, separator) end return p h8hu7tj43qbcjfv37a971a8216a8pve Module:Cite 828 3354 36542 2025-12-15T18:14:07Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Creates a timeline for an item based on various properties local p = {} local wikidata = require('Module:Wikidata') local linguistic = require('Module:Linguistic') local fb = require('Module:Fallback') local function formatpage(page, lang) -- same text for singular and plural, most of the time, they can be distinguished by the presence of a "-" but that does not always work, see Q11927173 if not page then return nil end return fb._langSw...' 36542 Scribunto text/plain -- Creates a timeline for an item based on various properties local p = {} local wikidata = require('Module:Wikidata') local linguistic = require('Module:Linguistic') local fb = require('Module:Fallback') local function formatpage(page, lang) -- same text for singular and plural, most of the time, they can be distinguished by the presence of a "-" but that does not always work, see Q11927173 if not page then return nil end return fb._langSwitch({ -- singular de = 'S. ' .. page, en = 'p. ' .. page, fr = 'p. ' .. page, nb = 's. ' .. page, nn = 's. ' .. page, }, lang) end local function getauthor(item, lang) return wikidata.formatStatements{entity=item, property = 'P50', lang=lang} end local function getISBN(item, lang) local ISBN = wikidata.formatStatements{entity = item, property = 'P212', lang=lang, numval = 1} if ISBN then return 'ISBN ' ..ISBN end end local function getLink(item, lang) local links = wikidata.formatStatements{entity = item, property = 'P854', numval = 1, lang=lang} if links then return fb._langSwitch({ de = '[' .. links .. ' online]', en = '[' .. links .. ' read online]', fr = '[' .. links .. ' lire en ligne]', nb = '[' .. links .. ' les online]', nn = '[' .. links .. ' les online]', }, lang) end end local function getVolume(item, lang) local volume = wikidata.formatStatements{entity = item, property = 'P478', numval = 1, lang=lang} if volume then return fb._langSwitch({ de = 'Band ' .. volume, en = 'vol. ' .. volume, }, lang) end end local function getDoi(item, lang) local doi = wikidata.formatStatements({entity=item, property = 'P356', numval = 1, lang=lang}) -- what to do if several value if not doi then return nil end return '<small>' .. 'doi: [http://dx.doi.org/' .. doi .. ' ' .. doi .. ']' .. '</small>' -- needs i18n ? end local function getPmid(item, lang) local pmid = wikidata.formatStatements({entity=item, property = 'P698', numval = 1, lang=lang}) -- what to do if several values if not pmid then return nil end return '<small> PubMed ID: [https://www.ncbi.nlm.nih.gov/pubmed/?term=' .. pmid .. ' ' .. pmid .. '] </small>' -- needs i18n ? end local function getPmcid(item, lang) local pmcid = wikidata.formatStatements({entity=item, property = 'P932', numval = 1, lang=lang}) -- what to do if several values if not pmcid then return nil end return '<small> PubMed Central ID: [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC?term=' .. pmcid .. ' ' .. pmcid .. '] </small>' -- needs i18n ? end local function getEditor(item, lang) local editortable = wikidata.getClaims({entity=item, property='P98'}) if not editortable then return nil end local editor = wikidata.formatStatements({entity=item, property='P98', lang=lang}) -- should have a "formatClaims" function to avoid double work if #editortable > 1 then return fb._langSwitch({ --plural de = editor .. ' (Hrsg.)', en = editor .. ' (eds.)', nb = editor .. ' (red.)', nn = editor .. ' (red.)', }, lang) else return fb._langSwitch({ -- singular de = editor .. ' (Hrsg.)', en = editor .. ' (ed.)', nb = editor .. ' (red.)', nn = editor .. ' (red.)', }, lang) end end local function getedition(item, lang) local ednumber = wikidata.formatStatements({entity=item, property = 'P393', lang=lang, numval = 1}) if not ednumber then return nil end local ord = require('Module:Ordinal')._ordinal return fb._langSwitch({ de = ednumber .. '. Auflage', en = ord{ednumber, lang = 'en'} .. ' edition', fr = ord{ednumber, lang = 'fr'} .. ' édition', nb = ord{ednumber, lang = 'nb'} .. ' utgave', nn = ord{ednumber, lang = 'nn'} .. ' utgave', }, lang) end local function getarticletitle(item, lang) local title = wikidata.formatStatements({entity=item, property = 'P1476', lang=lang}) or wikidata.formatStatements({entity=item, property = 'P357', lang=lang}) if not title then return '[[' .. item.id .. ']] (no title property provided!)' end return fb._langSwitch({ de = '„' .. '[[' .. item.id .. '|' .. title .. ']]' .. '“', en = '"' .. '[[' .. item.id .. '|' .. title .. ']]' .. '"', fr = '«' ..'[[' .. item.id .. '|' .. title .. ']]' .. '»', nb = '«' ..'[[' .. item.id .. '|' .. title .. ']]' .. '»', nn = '«' ..'[[' .. item.id .. '|' .. title .. ']]' .. '»', } , lang) end local function getbooktitle(item, lang)-- needs i18n some languages do not use this format local title = wikidata.formatStatements({entity=item, property = 'P1476', lang=lang}) or wikidata.formatStatements({entity=item, property = 'P357', lang=lang}) if not title then return '[[' .. item.id .. ']] (no title property provided!)' end return '<i>' .. '[[' .. item.id .. '|' .. title .. ']]' .. '</i>' end local function getissue(item, lang) return wikidata.formatStatements({entity=item, property = 'P433', lang=lang}) end local function getpublisher(item, lang) return wikidata.formatStatements({entity=item, property = 'P123', lang=lang}) end local function getpublishdate(item, lang) return wikidata.formatStatements({entity=item, property = 'P577', lang=lang}) end local function geturl(item, lang) return wikidata.formatStatements({entity=item, property = 'P854', lang=lang}) end local function getlicense(item, lang) return wikidata.formatStatements{entity=item, property = 'P275', lang=lang} end local function getjournal(item, lang) -- get the title property rather than the label local journal = wikidata.getClaims({entity = item, property = 'P1433', exlcudespecial = true}) if not journal then return nil end if #journal > 1 then return "error, source has too much publishing info" end local journaltitle local journalid = 'Q' .. journal[1].mainsnak.datavalue.value["numeric-id"] -- find higher work (if any; for example [[Q19302303]]) local journallink = wikidata.formatStatements({item = journalid , property = 'P1433', lang=lang}) if journallink then return journallink else journaltitle = wikidata._getLabel(journalid) return '<i>[[' .. journalid .. '|' .. journaltitle .. ']]</i>' end end local function citebook(item, lang, page) local publishdate = getpublishdate(item, lang) local author = getauthor(item, lang) local editor = getEditor(item, lang) local title = getbooktitle(item, lang) local publisher = getpublisher(item, lang) local edition = getedition(item, lang) local isbn = getISBN(item, lang) local doi = getDoi(item, lang) local pmid = getPmid(item, lang) local pmid = getPmcid(item, lang) local link = getLink(item, lang) local volume = getVolume(item, lang) local pagenumber = formatpage(page, lang) local license = getlicense(item, lang) local fields = {} table.insert(fields, author) table.insert(fields, editor) table.insert(fields, title) table.insert(fields, edition) table.insert(fields, volume) table.insert(fields, publisher) table.insert(fields, publishdate) table.insert(fields, pagenumber) table.insert(fields, isbn) table.insert(fields, doi) table.insert(fields, pmid) table.insert(fields, pmcid) table.insert(fields, link) table.insert(fields, license) return linguistic.conj(fields, lang, "citation_comma") end local function citearticle(item, lang, page) local author = getauthor(item, lang) local title = getarticletitle(item, lang) local publisher = getpublisher(item, lang) local publishdate = getpublishdate(item, lang) local pagenumber = formatpage(page, lang) local journal = getjournal(item, lang) local issue = getissue(item, lang) local publishdate = getpublishdate(item, lang) local doi = getDoi(item, lang) local pmid = getPmid(item, lang) local pmid = getPmcid(item, lang) local link = getLink(item, lang) local volume = getVolume(item, lang) local pagenumber = formatpage(page, lang) local license = getlicense(item, lang) local fields = {} table.insert(fields, author) table.insert(fields, title) table.insert(fields, publisher) table.insert(fields, journal) table.insert(fields, volume) table.insert(fields, issue) table.insert(fields, publishdate) table.insert(fields, pagenumber) table.insert(fields, doi) table.insert(fields, pmid) table.insert(fields, pmcid) table.insert(fields, link) table.insert(fields, license) return linguistic.conj(fields, lang, "citation_comma") end function p.citeitem(item, lang, page) if not item then return nil end if type(item) == 'string' then item = mw.wikibase.getEntityObject(item) end if not item then return "invalid item id" end if wikidata.getClaims({entity = item, property = 'P1433'}) then -- if item has "edition of" is a book, else an article, needs a better solution return citearticle(item, lang, page) else mw.log('Citing as book') return citebook(item, lang, page) end end function p.cite(frame) local lang = frame.args.lang if not lang or lang == '' then lang = frame:preprocess('{{int:lang}}') end local page = frame.args.page if page == '' then page = nil end return p.citeitem(frame.args.item, lang, page) end function p.reflist(frame) local list = mw.text.split( frame.args[1], ' ') local lang = frame.args.lang if not lang or lang == '' then lang = frame:preprocess('{{int:lang}}') end local str = '' for i, j in pairs(list) do str = str .. '<li> ' .. p.citeitem(mw.text.trim(j),lang) .. '</li>' end return str end return p cxknj6sn58ediclx0ti29g0ax7mqhyw Module:Wikidata/I18n 828 3355 36543 2025-12-15T18:15:47Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'return { -- Messages d'erreurs ["property-param-not-provided"] = "paramètre 'property' manquant", ["qualifier-param-not-provided"] = "paramètre 'qualifier' manquant", ["entity-param-not-provided"] = "paramètre 'entity' manquant", ["entity-not-found"] = "entité non trouvée", ["unknown-claim-type"] = "type d'affirmation inconnu", ["unknown-snak-typeg"] = "unknown snak type", ["unknown-datavalue-type"] = "unknown datavalue type.", ["unkno...' 36543 Scribunto text/plain return { -- Messages d'erreurs ["property-param-not-provided"] = "paramètre 'property' manquant", ["qualifier-param-not-provided"] = "paramètre 'qualifier' manquant", ["entity-param-not-provided"] = "paramètre 'entity' manquant", ["entity-not-found"] = "entité non trouvée", ["unknown-claim-type"] = "type d'affirmation inconnu", ["unknown-snak-typeg"] = "unknown snak type", ["unknown-datavalue-type"] = "unknown datavalue type.", ["unknown-entity-type"] = "unknown entity type", ["invalid-id"] = "identifiant inconnu", ["invalid-datatype"] = "type de données inconnu", ["invalid-linktype"] = "type de lien inconnu", -- Autres messages ["no-label"] = "pas de libellé", ['no description'] = "pas description", ["novalue"] = "-", ["somevalue"] = "inconnu", ["sometime"] = "date inconnue", ['to translate'] = 'Page utilisant des données de Wikidata à traduire', ["trackingcat"] = 'Page utilisant $1', ['see-wikidata-value'] = "Voir et modifier les données sur Wikidata", -- lien vers des valeurs sur une propriété Wikidata ['see-wikidata'] = "Voir l'élément Wikidata correspondant", -- utilisé sur les liens Wikidata par défaut en l'absence de lien interne disponible ['see-another-project'] = "Article sur $1", ['see-another-language'] = "Article sur Wikipédia en $1", ['activate-query'] = "<div class='par wikidata'></div>" -- activates an on-demand-only query } okg5acrc8xun9oahm2b4ecjmmwzhcuz Module:Infobox/Fonctions 828 3356 36544 2025-12-15T18:16:44Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Fonctions communes à diverses infobox local wikidata = require 'Module:Interface Wikidata'.fromLua local coordfunctions = require 'Module:Infobox/Fonctions/Géolocalisation' local lang = mw.language.new('fr') local p = {} function p.onlytitle(icon, style) local title = localdata['nom'] or wikidata.getLabel(item) or mw.title.getCurrentTitle().text return { type = 'title', value = function() return title end, icon = icon, style = s...' 36544 Scribunto text/plain -- Fonctions communes à diverses infobox local wikidata = require 'Module:Interface Wikidata'.fromLua local coordfunctions = require 'Module:Infobox/Fonctions/Géolocalisation' local lang = mw.language.new('fr') local p = {} function p.onlytitle(icon, style) local title = localdata['nom'] or wikidata.getLabel(item) or mw.title.getCurrentTitle().text return { type = 'title', value = function() return title end, icon = icon, style = style, } end function p.title(icon, style) local title = localdata['nom'] or wikidata.getLabel(item) or mw.title.getCurrentTitle().text local subtitle = localdata['nom local'] local subtitleclaims = wikidata.getClaims({item=item, property = 'P1448'} or {}) if (not subtitle) and subtitleclaims then subtitle = '' local dones = {} local langspan = require('Module:Langue').langue for i, j in pairs(subtitleclaims) do local text, textlang if j.mainsnak.snaktype then text, textlang = j.mainsnak.datavalue.value.text, j.mainsnak.datavalue.value.language end if mw.ustring.lower(text) ~= mw.ustring.lower(title) and not dones[text] then subtitle = subtitle .. langspan{textlang, text} .. '<br />' dones[text] = true end end if subtitle == '' then subtitle = nil end end return { type = 'title', value = function() return title end, subtitle = function() return subtitle end, icon = icon, style = style, } end function p.mainimage(cat, defaultimage, size) return { type = 'images', imageparameters = {'image'}, defaultimages = defaultimage, defaultimagelink = 'Aide:Insérer une image', -- defaultimagesize = '100px', sizeparameter = 'taille image', defaultsize = size, maintenancecat = function(localdata, item, params) if cat and (cat ~= '-') then return cat else return 'Article à illustrer' end end, captionparameter = 'légende', defaultcaption = function() return defaultcaption end, property = 'P18', numval = 1, } end function p.logo(size) return { type = 'images', imageparameters = {'logo'}, -- defaultimage = {}, -- maintenancecat = captionparameter = 'légende logo', property = 'P154', defaultupright = '0.8', sizeparameter = 'taillelogo', numval = 1, } end -- Liens externes function p.website() --texte libre [http://example.org example.org] ou url seule local function getLinks(item) return wikidata.getClaims {property='P856', entity = item} end return { type = 'mixed', label = 'Site web', wikidatalabel = function() local links = getLinks(item) if links and #links > 1 then return 'Sites web' end return 'Site web' end, wikidata = function() local claims = getLinks(item) return wikidata.formatAndCat{entity = item, claims = claims, displayformat = 'weblink', conjtype = '<br />', property = 'P856'} end, value = function(localdata) local website = localdata['site web'] or localdata['site_web'] or localdata['site officiel'] if website then if (string.sub(website, 1, 4) == 'http') and (not string.find(website, ' ')) then -- if website is url return require("Module:Weblink").makelink(website) else return website end elseif localdata['url'] then return require("Module:Weblink").makelink(localdata['url']) end end } end -- Pays function p.country(default) return coordfunctions.country(default) end return p 6ap9uwcf3nlmn6pqsda40von9osr23r Module:Time 828 3357 36545 2025-12-15T18:26:09Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'require "strict" local Time = {} --[[ Check if a value is a number in the given range @param mixed value @param number min @param number max @return boolean ]]-- local function validateNumberInRange( value, min, max ) return type( value ) == 'number' and value >= min and value <= max end --Internal functions --[[ Validate a time defintion @param table definition data @return boolean ]]-- local function validate( definition ) --Validate...' 36545 Scribunto text/plain require "strict" local Time = {} --[[ Check if a value is a number in the given range @param mixed value @param number min @param number max @return boolean ]]-- local function validateNumberInRange( value, min, max ) return type( value ) == 'number' and value >= min and value <= max end --Internal functions --[[ Validate a time defintion @param table definition data @return boolean ]]-- local function validate( definition ) --Validate constantes if not Time.knowsPrecision( definition.precision ) or ( definition.calendar ~= Time.CALENDAR.GREGORIAN and definition.calendar ~= Time.CALENDAR.JULIAN ) then return false end --Validate year if not (type( definition.year ) == 'number' or (definition.year == nil and precision == Time.PRECISION.DAY)) then return false end if definition.precision <= Time.PRECISION.YEAR then return true end --Validate month if not validateNumberInRange( definition.month, 1, 12 ) then return false end if definition.precision <= Time.PRECISION.MONTH then return true end --Validate day if not validateNumberInRange( definition.day, 1, 31 ) then return false end if definition.precision <= Time.PRECISION.DAY then return true end --Validate hour if not validateNumberInRange( definition.hour, 0, 23 ) then return false end if definition.precision <= Time.PRECISION.HOUR then return true end --Validate minute if not validateNumberInRange( definition.minute, 0, 59 ) then return false end if definition.precision <= Time.PRECISION.MINUTE then return true end --Validate second if not validateNumberInRange( definition.second, 0, 60 ) then return false end return true end --[[ Try to find the relevant precision for a time definition @param table time definition @return number the precision ]]-- local function guessPrecision( definition ) if definition.month == nil then return Time.PRECISION.YEAR elseif definition.day == nil then return Time.PRECISION.MONTH elseif definition.hour == nil then return Time.PRECISION.DAY elseif definition.minute == nil then return Time.PRECISION.HOUR elseif definition.second == nil then return Time.PRECISION.MINUTE else return Time.PRECISION.SECOND end end --[[ Try to find the relevant calendar for a time definition @param table time definition @return string the calendar name ]]-- local function guessCalendar( definition ) if definition.year ~= nil and definition.year < 1583 and definition.precision > Time.PRECISION.MONTH then return Time.CALENDAR.JULIAN else return Time.CALENDAR.GREGORIAN end end --[[ Parse an ISO 8601 string and return it as a time definition @param string iso the iso datetime @param boolean withoutRecurrence concider date in the format XX-XX as year-month and not month-day @return table ]]-- local function parseIso8601( iso, withoutRecurrence ) local definition = {} --Split date and time iso = mw.text.trim( iso:upper() ) local beginMatch, endMatch, date, time, offset = iso:find( '([%+%-]?[%d%-]+)[T ]?([%d%.:]*)([Z%+%-]?[%d:]*)' ) if beginMatch ~= 1 or endMatch ~= iso:len() then --iso is not a valid ISO string return {} end --date if date ~= nil then local isBC = false if date:sub( 1, 1 ) == '-' then isBC = true date = date:sub( 2, date:len() ) end local parts = mw.text.split( date, '-' ) if not withoutRecurrence and table.maxn( parts ) == 2 and parts[1]:len() == 2 then --MM-DD case definition.month = tonumber( parts[1] ) definition.day = tonumber( parts[2] ) else if isBC then definition.year = -1 * tonumber( parts[1] ) - 1 --Years BC are counted since 0 and not -1 else definition.year = tonumber( parts[1] ) end definition.month = tonumber( parts[2] ) definition.day = tonumber( parts[3] ) end end --time if time ~= nil then local parts = mw.text.split( time, ':' ) definition.hour = tonumber( parts[1] ) definition.minute = tonumber( parts[2] ) definition.second = tonumber( parts[3] ) end --ofset if offset ~= nil then if offset == 'Z' then definition.utcoffset = '+00:00' else definition.utcoffset = offset end end return definition end --[[ Format UTC offset for ISO output @param string offset UTC offset @return string UTC offset for ISO ]]-- local function formatUtcOffsetForIso( offset ) if offset == '+00:00' then return 'Z' else return offset end end --[[ Prepend as mutch as needed the character c to the string str in order to to have a string of length length @param mixed str @param string c @param number length @return string ]]-- local function prepend(str, c, length) str = tostring( str ) while str:len() < length do str = c .. str end return str end local function eq(t1, t2) return not (t1 < t2 or t2 < t1) end local function lt(t1, t2) if t1.calendar ~= t2.calendar then -- ... end if t1.year ~= t2.year then return t1.year < t2.year end if t1.month ~= t2.month then return t1.month < t2.month end return t1.day < t2.day end --Public interface --[[ Build a new Time @param table definition definition of the time @return Time|nil ]]-- function Time.new( definition ) --Default values if definition.precision == nil then definition.precision = guessPrecision( definition ) end if definition.calendar == nil then definition.calendar = guessCalendar( definition ) end if not validate( definition ) then return nil end local time = { year = definition.year or nil, month = definition.month or 1, day = definition.day or 1, hour = definition.hour or 0, minute = definition.minute or 0, second = definition.second or 0, utcoffset = definition.utcoffset or '+00:00', calendar = definition.calendar or Time.CALENDAR.GREGORIAN, precision = definition.precision or 0 } setmetatable( time, { __index = Time, __lt = lt, __eq = eq, __tostring = function( self ) return self:toString() end } ) return time end --[[ Build a new Time from an ISO 8601 datetime @param string iso the time as ISO string @param boolean withoutRecurrence concider date in the format XX-XX as year-month and not month-day @return Time|nil ]]-- function Time.newFromIso8601( iso, withoutRecurrence ) return Time.new( parseIso8601( iso, withoutRecurrence ) ) end --[[ Build a new Time from a Wikidata time value @param table wikidataValue the time as represented by Wikidata @return Time|nil ]]-- function Time.newFromWikidataValue( wikidataValue ) local definition = parseIso8601( wikidataValue.time ) definition.precision = wikidataValue.precision if wikidataValue.calendarmodel == 'http://www.wikidata.org/entity/Q1985727' then definition.calendar = Time.CALENDAR.GREGORIAN elseif wikidataValue.calendarmodel == 'http://www.wikidata.org/entity/Q1985786' then definition.calendar = Time.CALENDAR.JULIAN else return nil end return Time.new( definition ) end --[[ Return a Time as a ISO 8601 string @return string ]]-- function Time:toIso8601() local iso = '' if self.year ~= nil then if self.year < 0 then --Years BC are counted since 0 and not -1 iso = '-' .. prepend( -1 * self.year - 1, '0', 4 ) else iso = prepend( self.year, '0', 4 ) end end --month if self.precision < Time.PRECISION.MONTH then return iso end if self.iso ~= '' then iso = iso .. '-' end iso = iso .. prepend( self.month, '0', 2 ) --day if self.precision < Time.PRECISION.DAY then return iso end iso = iso .. '-' .. prepend( self.day, '0', 2 ) --hour if self.precision < Time.PRECISION.HOUR then return iso end iso = iso .. 'T' .. prepend( self.hour, '0', 2 ) --minute if self.precision < Time.PRECISION.MINUTE then return iso .. formatUtcOffsetForIso( self.utcoffset ) end iso = iso .. ':' .. prepend( self.minute, '0', 2 ) --second if self.precision < Time.PRECISION.SECOND then return iso .. formatUtcOffsetForIso( self.utcoffset ) end return iso .. ':' .. prepend( self.second, '0', 2 ) .. formatUtcOffsetForIso( self.utcoffset ) end --[[ Return a Time as a string @param mw.language|string|nil language to use. By default the content language. @return string ]]-- function Time:toString( language ) if language == nil then language = mw.language.getContentLanguage() elseif type( language ) == 'string' then language = mw.language.new( language ) end --return language:formatDate( 'r', self:toIso8601() ) return self:toIso8601() --TODO: improve end --[[ Return a Time in HTMl (with a <time> node) @param mw.language|string|nil language to use. By default the content language. @param table|nil attributes table of attributes to add to the <time> node. @return string ]]-- function Time:toHtml( language, attributes ) if attributes == nil then attributes = {} end attributes['datetime'] = self:toIso8601() return mw.text.tag( 'time', attributes, self:toString( language ) ) end --[[ All possible precisions for a Time (same ids as Wikibase) ]]-- Time.PRECISION = { GY = 0, --Gigayear MY100 = 1, --100 Megayears MY10 = 2, --10 Megayears MY = 3, --Megayear KY100 = 4, --100 Kiloyears KY10 = 5, --10 Kiloyears KY = 6, --Kiloyear YEAR100 = 7, --100 years YEAR10 = 8, --10 years YEAR = 9, MONTH = 10, DAY = 11, HOUR = 12, MINUTE = 13, SECOND = 14 } --[[ Check if the precision is known @param number precision ID @return boolean ]]-- function Time.knowsPrecision( precision ) for _, id in pairs( Time.PRECISION ) do if id == precision then return true end end return false end --[[ Supported calendar models ]]-- Time.CALENDAR = { GREGORIAN = 'Gregorian', JULIAN = 'Julian' } return Time eegjk81jpllb5m7rz6kpoffmbcxwqz6 Module:Wikidata/Récup 828 3358 36546 2025-12-15T18:27:19Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} local datequalifiers = {'P585', 'P571', 'P580', 'P582'} local basic = require "Module:Wikibase" local function severalProperties(args) local newargs = args for i, j in pairs(args.property) do newargs.property = j local claims = p.getClaims(newargs) if claims then return claims end end end function notSpecial(claim) return basic.isValue(claim.mainsnak) end local function hastargetvalue(claim, target) return basic.get...' 36546 Scribunto text/plain local p = {} local datequalifiers = {'P585', 'P571', 'P580', 'P582'} local basic = require "Module:Wikibase" local function severalProperties(args) local newargs = args for i, j in pairs(args.property) do newargs.property = j local claims = p.getClaims(newargs) if claims then return claims end end end function notSpecial(claim) return basic.isValue(claim.mainsnak) end local function hastargetvalue(claim, target) return basic.getMainId(claim) == target end local function bestranked(claims) if not claims then return nil end local preferred, normal = {}, {} for i, j in pairs(claims) do if j.rank == 'preferred' then table.insert(preferred, j) elseif j.rank == 'normal' then table.insert(normal, j) end end if #preferred > 0 then return preferred else return normal end end local function withrank(claims, target) if target == 'best' then return bestranked(claims) end local newclaims = {} for pos, claim in pairs(claims) do if target == 'valid' then if claim.rank ~= 'deprecated' then table.insert(newclaims, claim) end elseif claim.rank == target then table.insert(newclaims, claim) end end return newclaims end local function hasqualifier(claim, qualifier, qualifiervalues) local claimqualifs = claim.qualifiers if (not claimqualifs) or not(claimqualifs[qualifier]) then return false end if (not qualifiervalues) or (qualifiervalues == {}) then return true -- si aucune valeur spécifique n'est exigée, c'est bon end if type(qualifiervalues) == 'string' then qualifiervalues = {qualifiervalues} end for i, j in pairs(claim.qualifiers[qualifier]) do local val = basic.getId(j) for k, l in pairs(qualifiervalues) do if l == val then return true end end end return false end local function hassource(claim, targetsource, sourceproperty) sourceproperty = sourceproperty or 'P248' if not claim.references or not claim.references[sourceproperty] then return false end if not targetsource then -- si toutes les sources sont valides, du moment qu'elles utilisent sourceproperty return true end for _, source in pairs(claim.references[sourceproperty]) do if basic.getId(source) == targetsource then return true end end return true end local function hasdate(claim) local claimqualifs = claims.qualifiers if not claimqualifs then return false end for _, qualif in pairs(claimqualifs) do if claimsqualifs[qualif] and claimsqualifs[qualif][1].snaktype == 'value' then return true end end return false end local function isinlanguage(snak, lang) -- ne fonctionne que pour les monolingualtext / étendre aux autres types en utilisant les qualifiers ? if basic.isSpecial(snak) then return false end if snak.datavalue.type == 'monolingualtext' and snak.datavalue.value.language == lang then return true end return false end local function firstvals(claims, numval) -- retourn les numval premières valeurs de la table claims local numval = tonumber(numval) or 0 -- raise a error if numval is not a positive integer ? if not claims then return nil end if #claims <= numval then return claims end local newclaims = {} while #newclaims < numval do table.insert(newclaims, claims[#newclaims + 1]) end return newclaims end local function chronosort(claims, inverted) local function getTimestamp(claim) local claimqualifs = claim.qualifiers if not claimqualifs then return nil end for _, qualif in pairs(datequalifiers) do local vals = claimqualifs[qualif] if vals and basic.isValue(vals[1]) then return basic.getValue(vals[1]).time end end end table.sort(claims, function(a,b) local timeA = getTimestamp(a) or '' local timeB = getTimestamp(b) or '' if inverted then return timeA > timeB else return timeB > timeA end end ) return claims end function p.sortclaims(claims, sorttype) if not claims then return nil end if sorttype == 'chronological' then return chronosort(claims) elseif sorttype == 'inverted' then return chronosort(claims, true) elseif type(sorttype) == 'function' then table.sort(claims, sorttype) return claims end return claims end function p.getClaims( args ) -- returns a table of the claims matching some conditions given in args if args.claims then -- if claims have already been set, return them return args.claims end if not args.property then return error( 'property-param-not-provided' ) end if type(args.property) == 'table' then return severalProperties(args) end --Get entity local entity = args.entity if type(entity) ~= 'table' then entity = mw.wikibase.getEntityObject( args.entity ) end if (not entity) or (not entity.claims) then return nil end local property = string.upper(args.property) if not entity.claims[property] then return nil end local claims = entity.claims[property] if not claims then return nil end -- ~= '' lorsque le paramètre est écrit mais laissé blanc dans une fonction frame local filters = { -- liste des arguments déclenchat un filtre des données --[numéro] = {param déclenche, fonction à utiliser, paramètres à utiliser} [1] = { 'targetvalue', hastargetvalue, {'targetvalue'} }, [3] = { 'qualifier', hasqualifier, {'qualifier', 'qualifiervalue'} }, [4] = { 'source', hassource, {'source', 'sourceproperty'} }, [5] = { 'withdate', hasdate, {}, }, [6] = { 'excludespecial', notSpecial, {}, }, } for i, filter in pairs(filters) do if args[filter[1]] then local newclaims = {} local filterfun = filter[2] local filterarg1, filterarg2, filterarg3 = args[filter[3][1]], args[filter[3][2]], args[filter[3][3]] for pos, claim in pairs(claims) do if filterfun(claim, filterarg1, filterarg2, fiterarg3) == true then table.insert(newclaims, claim) end end claims = newclaims end end claims = withrank(claims, args.rank or 'best') if args.sorttype then claims = p.sortclaims(claims, args.sorttype) end if args.numval then claims = firstvals(claims, args.numval) end return claims end return p j1muumnn60h8hjbp2h74ezpn2hethjw Module:Wikibase 828 3359 36547 2025-12-15T18:28:14Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '---------- Module:Wikibase ---------------- require('strict') local p = {} -- Return the entity ID of the item linked to the current page. function p.id(frame) if not mw.wikibase then return "no mw.wikibase" end return mw.wikibase.getEntityIdForCurrentPage() or "no entity" end -- Return the URL of an entity given its entity ID -- or the item linked to the current page if no argument is provided. function p.wdurl(frame) return mw.wikibase.ge...' 36547 Scribunto text/plain ---------- Module:Wikibase ---------------- require('strict') local p = {} -- Return the entity ID of the item linked to the current page. function p.id(frame) if not mw.wikibase then return "no mw.wikibase" end return mw.wikibase.getEntityIdForCurrentPage() or "no entity" end -- Return the URL of an entity given its entity ID -- or the item linked to the current page if no argument is provided. function p.wdurl(frame) return mw.wikibase.getEntityUrl(frame.args[1] and mw.text.trim(frame.args[1])) -- defaults to entity URL of the item linked to the current page end -- Return the label of an entity given its entity ID -- or the item linked to the current page if no argument is provided. function p.label(frame) return mw.wikibase.getLabel(frame.args[1] and mw.text.trim(frame.args[1])) -- defaults to label of the item linked to the current page end -- Return the description of an entity given its entity ID -- or the item linked to the current page if no argument is provided. function p.description(frame) return mw.wikibase.getDescription(frame.args[1] and mw.text.trim(frame.args[1])) -- defaults to description of the item linked to the current page end -- Return the local title of an item given its entity ID -- or the item linked to the current page if no argument is provided. function p.page(frame) local qid = frame.args[1] and mw.text.trim(frame.args[1]) if not qid or qid == '' then qid = mw.wikibase.getEntityIdForCurrentPage() -- default the item connected to the current page end return mw.wikibase.getSitelink(qid or '') -- requires one string arg end -- Return the data type of a property given its entity ID. function p.datatype(frame) local prop = mw.wikibase.getEntity(frame.args[1] and mw.text.trim(frame.args[1]):upper():gsub('PROPERTY:P', 'P')) -- trim and remove any "Property:" prefix return prop and prop.datatype end return p 8y9vxlwc9zc3ajhmjw2av1llzhbmbee Module:Authority control 828 3360 36548 2025-12-15T18:39:15Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'require('strict') local function getCatForId( id ) local title = mw.title.getCurrentTitle() local namespace = title.namespace if namespace == 0 then return '[[Category:Λήμματα Βικιπαίδειας με αναγνωριστικά ' .. id .. ']]' elseif namespace == 2 and not title.isSubpage then return '[[Category:Σελίδες χρηστών με αναγνωριστικά ' .. id .. ']]' else...' 36548 Scribunto text/plain require('strict') local function getCatForId( id ) local title = mw.title.getCurrentTitle() local namespace = title.namespace if namespace == 0 then return '[[Category:Λήμματα Βικιπαίδειας με αναγνωριστικά ' .. id .. ']]' elseif namespace == 2 and not title.isSubpage then return '[[Category:Σελίδες χρηστών με αναγνωριστικά ' .. id .. ']]' else return '[[Category:Διάφορες σελίδες με αναγνωριστικά ' .. id .. ']]' end end local function viafLink( id ) if not string.match( id, '^%d+$' ) then return false end return '[https://viaf.org/viaf/' .. id .. ' ' .. id .. ']' .. getCatForId( 'VIAF' ) end local function EURLink( id ) return '[http://data.europeana.eu/' .. id .. ' ' .. id .. ']' .. getCatForId( 'Europeana' ) end local function AAIDLink( id ) return '[https://opac.academyofathens.gr/cgi-bin/koha/opac-authoritiesdetail.pl?authid=' .. id .. ' ' .. id .. ']' .. getCatForId( 'ΑΑID' ) end local function NLGIDLink( id ) return '[https://catalogue.nlg.gr/cgi-bin/koha/opac-authoritiesdetail.pl?authid=' .. id .. ' ' .. id .. ']' .. getCatForId( 'EBE' ) end local function BNeditionLink( id ) return '[http://www.biblionet.gr/main.asp?page=showbook&bookid=' .. id .. ' ' .. id .. ']' .. getCatForId( 'BiblioNet' ) end local function BNpersonLink( id ) return '<strong>[https://biblionet.gr/%CF%80%CF%81%CE%BF%CF%83%CF%89%CF%80%CE%BF/?personid=' .. id .. ' ' .. id .. ']</strong>' .. getCatForId( 'BiblioNet' ) end local function BNpublisherLink( id ) return '[http://www.biblionet.gr/com/' .. id .. ' ' .. id .. ']'.. getCatForId( 'BiblioNet' ) end local function kulturnavLink( id ) return '[http://kulturnav.org/language/en/' .. id .. ' id]' end local function sikartLink( id ) return '[http://www.sikart.ch/KuenstlerInnen.aspx?id=' .. id .. '&lng=en ' .. id .. ']' end local function tlsLink( id ) local id2 = mw.ustring.gsub(id, '%s', function(s) return mw.uri.encode(s, 'WIKI') end) return '[http://tls.theaterwissenschaft.ch/wiki/' .. id2 .. ' ' .. id .. ']' end local function ciniiLink( id ) return '[http://ci.nii.ac.jp/author/' .. id .. '?l=en ' .. id .. ']' end local function bneLink( id ) return '[https://datos.bne.es/entidad/' .. id .. '.html ' .. id .. ']' end local function uscongressLink( id ) return '[http://bioguide.congress.gov/scripts/biodisplay.pl?index=' .. id .. ' ' .. id .. ']' end local function narapersonLink( id ) return '[http://research.archives.gov/person/' .. id .. ' ' .. id .. ']' end local function naraorganizationLink( id ) return '[http://research.archives.gov/organization/' .. id .. ' ' .. id .. ']' end local function botanistLink( id ) local id2 = mw.ustring.gsub(id, '%s', function(s) return mw.uri.encode(s, 'PATH') end) return '[http://www.ipni.org/ipni/advAuthorSearch.do?find_abbreviation=' .. id2 .. ' ' .. id .. ']' end local function mgpLink( id ) -- TODO Implement some sanity checking regex return '[http://www.genealogy.ams.org/id.php?id=' .. id .. ' ' .. id .. ']' end local function rslLink( id ) -- TODO Implement some sanity checking regex return '[http://aleph.rsl.ru/F?func=find-b&find_code=SYS&adjacent=Y&local_base=RSL11&request=' .. id .. '&CON_LNG=ENG ' .. id .. ']' end local function leonoreLink( id ) if not string.match( id, '^%d+$' ) then return false end return '[https://www.leonore.archives-nationales.culture.gouv.fr/ui/notice/' .. id .. ' ' .. id .. ']' end local function sbnLink( id ) if not string.match( id, '^%u%u[%d%u]%u%d%d%d%d%d%d$' ) then return false end return '[https://opac.sbn.it/nome/' .. id .. ' ' .. id .. ']' end local function nkcLink( id ) return '[http://aleph.nkp.cz/F/?func=find-c&local_base=aut&ccl_term=ica=' .. id .. '&CON_LNG=ENG ' .. id .. ']' end local function nclLink( id ) if not string.match( id, '^%d+$' ) then return false end return '[http://aleweb.ncl.edu.tw/F/?func=accref&acc_sequence=' .. id .. '&CON_LNG=ENG ' .. id .. ']' end local function ndlLink( id ) return '[http://id.ndl.go.jp/auth/ndlna/' .. id .. ' ' .. id .. ']' end local function sudocLink( id ) if not string.match( id, '^%d%d%d%d%d%d%d%d[%dxX]$' ) then return false end return '[http://www.idref.fr/' .. id .. ' ' .. id .. ']' end local function hlsLink( id ) if not string.match( id, '^%d+$' ) then return false end return '[http://www.hls-dhs-dss.ch/textes/f/F' .. id .. '.php ' .. id .. ']' end local function lirLink( id ) if not string.match( id, '^%d+$' ) then return false end return '[http://www.e-lir.ch/e-LIR___Lexicon.' .. id .. '.450.0.html ' .. id .. ']' end local function splitLccn( id ) if id:match( '^%l%l?%l?%d%d%d%d%d%d%d%d%d?%d?$' ) then id = id:gsub( '^(%l+)(%d+)(%d%d%d%d%d%d)$', '%1/%2/%3' ) end if id:match( '^%l%l?%l?/%d%d%d?%d?/%d+$' ) then return mw.text.split( id, '/' ) end return false end local function append(str, c, length) while str:len() < length do str = c .. str end return str end local function lccnLink( id ) local parts = splitLccn( id ) if not parts then return false end local lccnType = parts[1] ~= 'sh' and 'names' or 'subjects' id = parts[1] .. parts[2] .. append( parts[3], '0', 6 ) return '[http://id.loc.gov/authorities/' .. lccnType .. '/' .. id .. ' ' .. id .. ']' .. getCatForId( 'LCCN' ) end local function mbLink( id ) -- TODO Implement some sanity checking regex return '[//musicbrainz.org/artist/' .. id .. ' ' .. id .. ']' .. getCatForId( 'MusicBrainz' ) end --Returns the ISNI check digit isni must be a string where the 15 first elements are digits local function getIsniCheckDigit( isni ) local total = 0 for i = 1, 15 do local digit = isni:byte( i ) - 48 --Get integer value total = (total + digit) * 2 end local remainder = total % 11 local result = (12 - remainder) % 11 if result == 10 then return "X" end return tostring( result ) end --Validate ISNI (and ORCID) and retuns it as a 16 characters string or returns false if it's invalid --See http://support.orcid.org/knowledgebase/articles/116780-structure-of-the-orcid-identifier local function validateIsni( id ) id = id:gsub( '[ %-]', '' ):upper() if not id:match( '^%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d[%dX]$' ) then return false end if getIsniCheckDigit( id ) ~= string.char( id:byte( 16 ) ) then return false end return id end local function isniLink( id ) id = validateIsni( id ) if not id then return false end return '[http://isni.org/' .. id .. ' ' .. id:sub( 1, 4 ) .. ' ' .. id:sub( 5, 8 ) .. ' ' .. id:sub( 9, 12 ) .. ' ' .. id:sub( 13, 16 ) .. ']' .. getCatForId( 'ISNI' ) end local function orcidLink( id ) id = validateIsni( id ) if not id then return false end id = id:sub( 1, 4 ) .. '-' .. id:sub( 5, 8 ) .. '-' .. id:sub( 9, 12 ) .. '-' .. id:sub( 13, 16 ) return '[http://orcid.org/' .. id .. ' ' .. id .. ']' .. getCatForId( 'ORCID' ) end local function gndLink( id ) return '[http://d-nb.info/gnd/' .. id .. ' ' .. id .. ']' .. getCatForId( 'GND' ) end local function selibrLink( id ) if not string.match( id, '^%d+$' ) then return false end return '[//libris.kb.se/auth/' .. id .. ' ' .. id .. ']' .. getCatForId( 'SELIBR' ) end local function bnfLink( id ) --Add cb prefix if it has been removed if not string.match( id, '^cb.+$' ) then id = 'cb' .. id end return '[http://catalogue.bnf.fr/ark:/12148/' .. id .. ' ' .. id .. '] [http://data.bnf.fr/ark:/12148/' .. id .. ' (data)]' .. getCatForId( 'BNF' ) end local function bpnLink( id ) if not string.match( id, '^%d+$' ) then return false end return '[http://www.biografischportaal.nl/en/persoon/' .. id .. ' ' .. id .. ']' .. getCatForId( 'BPN' ) end local function ridLink( id ) return '[http://www.researcherid.com/rid/' .. id .. ' ' .. id .. ']' .. getCatForId( 'RID' ) end local function bibsysLink( id ) return '[https://authority.bibsys.no/authority/rest/authorities/html/' .. id .. ' ' .. id .. ']' .. getCatForId( 'BIBSYS' ) end local function ulanLink( id ) return '[//www.getty.edu/vow/ULANFullDisplay?find=&role=&nation=&subjectid=' .. id .. ' ' .. id .. ']' .. getCatForId( 'ULAN' ) end local function nlaLink( id ) return '[//nla.gov.au/anbd.aut-an' .. id .. ' ' .. id .. ']' .. getCatForId( 'NLA' ) end local function rkdartistsLink( id ) return '[https://rkd.nl/en/explore/artists/' .. id .. ' ' .. id .. ']' .. getCatForId( 'RKDartists' ) end local function worldCatEntitiesLink(id) return '[https://entities.oclc.org/worldcat/entity/' .. id .. '.html ' .. id .. ']' .. getCatForId('WorldCat') end local function getIdsFromWikidata( item, property ) local ids = {} if not item.claims[property] then return ids end for _, statement in pairs( item.claims[property] ) do if statement.mainsnak.datavalue then table.insert( ids, statement.mainsnak.datavalue.value ) end end return ids end local function matchesWikidataRequirements( item, reqs ) for _, group in pairs( reqs ) do local property = 'p' .. group[1] local qid = group[2] if item.claims[property] ~= nil then for _, statement in pairs ( item.claims[property] ) do if statement.mainsnak.datavalue ~= nil then if statement.mainsnak.datavalue.value['numeric-id'] == qid then return true end end end end end return false end local function createRow( id, label, rawValue, link, withUid ) if link then if withUid then return '* ' .. label .. ' <span class="uid">' .. link .. '</span>\n' else return '* ' .. label .. ' ' .. link .. '\n' end else return '* <span class="error">The ' .. id .. ' id ' .. rawValue .. ' is not valid.</span>[[Category:Wikipedia articles with faulty authority control identifiers (' .. id .. ')]]\n' end end --In this order: name of the parameter, label, propertyId in Wikidata, formatting function local conf = { { 'WorldCat', '<strong>[[WorldCat]]</strong>', 10832, worldCatEntitiesLink }, { 'VIAF', '<strong>[[Virtual International Authority File|VIAF]]</strong>', 214, viafLink }, { 'EUR', '<strong>[[Europeana]]</strong>', 7704, EURLink }, { 'NLG', '<strong>[[Εθνική Βιβλιοθήκη της Ελλάδος|ΕΒΕ]]</strong>', 3348, NLGIDLink }, { 'AAID', '<strong>[[Βιβλιοθήκη της Ακαδημίας Αθηνών|AA]]</strong>', 10141, AAIDLink }, { 'BNed', '<strong>[[BiblioNet]]</strong>', 2187, BNeditionLink }, { 'BNper', '<strong>[[BiblioNet]]</strong>', 2188, BNpersonLink }, { 'BNpub', '<strong>[[BiblioNet]]</strong>', 2189, BNpublisherLink }, { 'LCCN', '<strong>[[Library of Congress Control Number|LCCN]]</strong>', 244, lccnLink }, { 'ISNI', '<strong>[[International Standard Name Identifier|ISNI]]</strong>', 213, isniLink }, { 'ORCID', '<strong>[[ORCID]]</strong>', 496, orcidLink }, { 'GND', '<strong>[[Integrated Authority File|GND]]</strong>', 227, gndLink }, { 'SELIBR', '<strong>[[LIBRIS|SELIBR]]</strong>', 906, selibrLink }, { 'SUDOC', '<strong>[[Système universitaire de documentation|SUDOC]]</strong>', 269, sudocLink }, { 'BNF', '<strong>[[Bibliothèque nationale de France|BNF]]</strong>', 268, bnfLink }, { 'BPN', '<strong>[[Biografisch Portaal|BPN]]</strong>', 651, bpnLink }, { 'RID', '<strong>[[ResearcherID]]</strong>', 1053, ridLink }, { 'BIBSYS', '<strong>[[BIBSYS]]</strong>', 1015, bibsysLink }, { 'ULAN', '<strong>[[Union List of Artist Names|ULAN]]</strong>', 245, ulanLink }, { 'HDS', '<strong>[[Historical Dictionary of Switzerland|HDS]]</strong>', 902, hlsLink }, { 'LIR', '<strong>[[Historical Dictionary of Switzerland#Lexicon_Istoric_Retic|LIR]]</strong>', 886, lirLink }, { 'MBA', '<strong>[[MusicBrainz]]</strong>', 434, mbLink }, { 'MGP', '<strong>[[Mathematics Genealogy Project|MGP]]</strong>', 549, mgpLink }, { 'NLA', '<strong>[[Εθνική Βιβλιοθήκη της Αυστραλίας|NLA]]</strong>', 409, nlaLink }, { 'NDL', '<strong>[[National Diet Library|NDL]]</strong>', 349, ndlLink }, { 'NCL', '<strong>[[Εθνική Κεντρική Βιβλιοθήκη|NCL]]</strong>', 1048, nclLink }, { 'NKC', '<strong>[[National Library of the Czech Republic|NKC]]</strong>', 691, nkcLink }, { 'Léonore', '<strong>[[Βάση δεδομένων Léonore|Léonore]]</strong>', 11152, leonoreLink }, { 'SBN', '<strong>[[Istituto Centrale per il Catalogo Unico|ICCU]]</strong>', 396, sbnLink }, { 'RLS', '<strong>[[Ρωσική Κρατική Βιβλιοθήκη|ΡΚΒ]]</strong>', 947, rslLink }, { 'Botanist', '<strong>[[Author citation (botany)|Botanist]]</strong>', 428, botanistLink }, { 'NARA-person', '<strong>[[National Archives and Records Administration|NARA]]</strong>', 1222, narapersonLink }, { 'NARA-organization', '<strong>[[National Archives and Records Administration|NARA]]</strong>', 1223, naraorganizationLink }, { 'USCongress', '<strong>[[Βιογραφικός Κατάλογος του Κογκρέσου των Ηνωμένων Πολιτειών|US Congress]]</strong>', 1157, uscongressLink }, { 'BNE', '<strong>[[Εθνική Βιβλιοθήκη της Ισπανίας|BNE]]</strong>', 950, bneLink }, { 'CINII', '<strong>[[CiNii]]</strong>', 271, ciniiLink }, { 'TLS', '<strong>[[Theaterlexikon der Schweiz|TLS]]</strong>', 1362, tlsLink }, { 'SIKART', '<strong>[[SIKART]]</strong>', 781, sikartLink }, { 'KULTURNAV', '<strong>[[KulturNav]]</strong>', 1248, kulturnavLink }, { 'RKDartists', '<strong>[[Ολλανδικό Ινστιτούτο Ιστορίας της Τέχνης|RKD]]</strong>', 650, rkdartistsLink }, } -- Check that the Wikidata item has this property-->value before adding it local reqs = {} local p = {} function p.authorityControl( frame ) local parentArgs = {} --Create rows local elements = {} --Wikidata fallback if requested local item = mw.wikibase.getEntityObject() if item ~= nil and item.claims ~= nil then for _, params in pairs( conf ) do if params[3] ~= 0 then local val = parentArgs[params[1]] if not val or val == '' then local canUseWikidata = nil if reqs[params[1]] ~= nil then canUseWikidata = matchesWikidataRequirements( item, reqs[params[1]] ) else canUseWikidata = true end if canUseWikidata then local wikidataIds = getIdsFromWikidata( item, 'P' .. params[3] ) if wikidataIds[1] then parentArgs[params[1]] = wikidataIds[1] end end end end end end --Configured rows local rct = 0 for k, params in pairs( conf ) do local val = parentArgs[params[1]] if val and val ~= '' then table.insert( elements, createRow( params[1], params[2] .. ':', val, params[4]( val ), true ) ) rct = rct + 1 end end local Navbox = require('Module:Navbox') local elementscats = '' if rct > 13 then elementscats = '[[Category:AC με ' .. rct .. ' στοιχεία]]' end if #elements ~= 0 then return Navbox._navbox( { name = 'Authority control', bodyclass = 'hlist', group1 = '[[Κατάλογος καθιερωμένων όρων|Καθιερωμένοι όροι]]' .. elementscats, list1 = table.concat( elements ) } ) else return "" end end return p j95gxhpwazwudq1b3rvf1mw92fwukuf Πρότυπον:Authority control 10 3361 36549 2025-12-15T18:40:34Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#invoke:Authority control|authorityControl}}<noinclude>{{Documentation}}</noinclude>' 36549 wikitext text/x-wiki {{#invoke:Authority control|authorityControl}}<noinclude>{{Documentation}}</noinclude> isthlbrkfx9ym5x8bt3z1q64h2szw74 Module:Navbox/configuration 828 3362 36550 2025-12-15T18:41:51Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'return { aria_label = 'Navbox', nowrap_item = '%s<span class="nowrap">%s</span>', templatestyles = mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Module:Navbox/styles.css' } }, hlist_templatestyles = 'Hlist/styles.css', plainlist_templatestyles = 'Plainlist/styles.css', -- do not localize marker table marker = { oddeven = '\127_ODDEVEN_\127', restart = '\127_ODDEVEN0_\127', regex = '\127_ODDEVEN(%d?)_\12...' 36550 Scribunto text/plain return { aria_label = 'Navbox', nowrap_item = '%s<span class="nowrap">%s</span>', templatestyles = mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Module:Navbox/styles.css' } }, hlist_templatestyles = 'Hlist/styles.css', plainlist_templatestyles = 'Plainlist/styles.css', -- do not localize marker table marker = { oddeven = '\127_ODDEVEN_\127', restart = '\127_ODDEVEN0_\127', regex = '\127_ODDEVEN(%d?)_\127' }, category = { orphan = '[[Category:Navbox orphans]]', horizontal_lists = 'Navigational boxes without horizontal lists', background_colors = 'Navboxes using background colours', illegible = 'Potentially illegible navboxes', borders = 'Navboxes using borders', }, keyword = { border_subgroup = 'subgroup', border_child = 'child', border_none = 'none', evenodd_swap = 'swap', navbar_off = 'off', navbar_plain = 'plain', nocat_false = 'false', nowrapitems_yes = 'yes', orphan_yes = 'yes', state_collapsed = 'collapsed', state_off = 'off', state_plain = 'plain', subgroups = {'subgroup', 'child', ''}, subpage_doc = 'doc', subpage_sandbox = 'sandbox', subpage_testcases = 'testcases', tracking_no = 'no' }, class = { autocollapse = 'autocollapse', collapsible = 'mw-collapsible', collapsed = 'mw-collapsed', -- Warning navbox = 'navbox', -- WMF currently hides 'navbox' from mobile, -- so you probably shouldn't change the navbox class. navbox_abovebelow = 'navbox-abovebelow', navbox_group = 'navbox-group', navbox_image = 'navbox-image', navbox_inner = 'navbox-inner', navbox_list = 'navbox-list', navbox_list_with_group = 'navbox-list-with-group', navbox_part = 'navbox-', -- do not l10n navbox_styles = 'navbox-styles', navbox_subgroup = 'navbox-subgroup', navbox_title = 'navbox-title', -- l10n only if you change pattern.navbox_title below navbox_odd_part = 'odd', -- do not l10n navbox_even_part = 'even', -- do not l10n nomobile = 'nomobile', nowraplinks = 'nowraplinks', noviewer = 'noviewer' -- used to remove images from MediaViewer }, pattern = { listnum = '^list(%d+)$', class = 'class', sandbox = '/sandbox$', navbox = 'Template:Navbox', nowrap = '^<span class="nowrap">', style = 'style$', navbox_title = '<th[^>]*"navbox%-title"', hlist = 'hlist', plainlist = 'plainlist', }, arg = { above = 'above', aboveclass = 'aboveclass', abovestyle = 'abovestyle', basestyle = 'basestyle', bodyclass = 'bodyclass', bodystyle = 'bodystyle', border = 'border', below = 'below', belowclass = 'belowclass', belowstyle = 'belowstyle', evenodd = 'evenodd', evenstyle = 'evenstyle', group1 = 'group1', group2 = 'group2', group_and_num = 'group%d', groupstyle_and_num = 'group%dstyle', groupclass = 'groupclass', groupstyle = 'groupstyle', groupwidth = 'groupwidth', innerstyle = 'innerstyle', image = 'image', imageclass = 'imageclass', imageleft = 'imageleft', imageleftstyle = 'imageleftstyle', imagestyle = 'imagestyle', list_and_num = 'list%d', listclass_and_num = 'list%dclass', liststyle_and_num = 'list%dstyle', list1padding = 'list1padding', listclass = 'listclass', listpadding = 'listpadding', liststyle = 'liststyle', name = 'name', navbar = 'navbar', navboxclass = 'navboxclass', nocat = 'nocat', nowrapitems = 'nowrapitems', oddstyle = 'oddstyle', orphan = 'orphan', state = 'state', style = 'style', templatestyles = 'templatestyles', child_templatestyles = 'child templatestyles', title = 'title', titleclass = 'titleclass', titlestyle = 'titlestyle', tracking = 'tracking' }, -- names of navbar arguments navbar = { name = 1, fontstyle = 'fontstyle', mini = 'mini' } } 6q6d0bhb0etao102qsgcjuaeigpugtk Module:Navbox top and bottom 828 3363 36551 2025-12-15T18:42:38Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- This implements {{navbox top}} and {{navbox bottom}} local p = {} local function build_navbox(parentArgs, list) local args = {} for argName, value in pairs(parentArgs) do if value ~= '' then if type(argName) == 'string' then args[argName] = value end end end args['bodystyle'] = 'display:table;' .. (args['bodystyle'] or '') args['list1padding'] = '0' args['list1style']...' 36551 Scribunto text/plain -- This implements {{navbox top}} and {{navbox bottom}} local p = {} local function build_navbox(parentArgs, list) local args = {} for argName, value in pairs(parentArgs) do if value ~= '' then if type(argName) == 'string' then args[argName] = value end end end args['bodystyle'] = 'display:table;' .. (args['bodystyle'] or '') args['list1padding'] = '0' args['list1style'] = 'border-width:0;' args['list1'] = list -- Note Navbox.navbox() has a kludge to order the parent frame's args -- into a specific order. For now, this is omitted from this module. local Navbox = require('Module:Navbox') return Navbox._navbox(args) end function p.top(frame) local args = frame:getParent().args local parts = mw.text.split(build_navbox(args, '<ADD LIST HERE>'), '<ADD LIST HERE>') return parts[1] end function p.bottom(frame) local args = frame:getParent().args local parts = mw.text.split(build_navbox(args, '<ADD LIST HERE>'), '<ADD LIST HERE>') return parts[2] end return p k4u6pww6woolztix1exofx2t2yk7vf6 Module:Navbox/styles.css 828 3364 36552 2025-12-15T18:43:32Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '/* {{pp|small=y}} */ .navbox { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; text-align: center; padding: 1px; margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */ } .navbox .navbox { margin-top: 0; /* No top margin for nested navboxes */ } .navbox + .navbox, /* TODO: remove first line after transclusions have updated */ .navbox + .navbox-styles + .navbox { margin-t...' 36552 sanitized-css text/css /* {{pp|small=y}} */ .navbox { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; text-align: center; padding: 1px; margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */ } .navbox .navbox { margin-top: 0; /* No top margin for nested navboxes */ } .navbox + .navbox, /* TODO: remove first line after transclusions have updated */ .navbox + .navbox-styles + .navbox { margin-top: -1px; /* Single pixel border between adjacent navboxes */ } .navbox-inner, .navbox-subgroup { width: 100%; } .navbox-group, .navbox-title, .navbox-abovebelow { padding: 0.25em 1em; line-height: 1.5em; text-align: center; } .navbox-group { white-space: nowrap; /* @noflip */ text-align: right; } .navbox, .navbox-subgroup { background-color: #fdfdfd; } .navbox-list { line-height: 1.5em; border-color: #fdfdfd; /* Must match background color */ } .navbox-list-with-group { text-align: left; border-left-width: 2px; border-left-style: solid; } /* cell spacing for navbox cells */ /* Borders above 2nd, 3rd, etc. rows */ /* TODO: figure out how to replace tr as structure; * with div structure it should be just a matter of first-child */ tr + tr > .navbox-abovebelow, tr + tr > .navbox-group, tr + tr > .navbox-image, tr + tr > .navbox-list { border-top: 2px solid #fdfdfd; /* Must match background color */ } .navbox-title { background-color: #ccf; /* Level 1 color */ } .navbox-abovebelow, .navbox-group, .navbox-subgroup .navbox-title { background-color: #ddf; /* Level 2 color */ } .navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow { background-color: #e6e6ff; /* Level 3 color */ } .navbox-even { background-color: #f7f7f7; } .navbox-odd { background-color: transparent; } /* TODO: figure out how to remove reliance on td as structure */ .navbox .hlist td dl, .navbox .hlist td ol, .navbox .hlist td ul, .navbox td.hlist dl, .navbox td.hlist ol, .navbox td.hlist ul { padding: 0.125em 0; } .navbox .navbar { display: block; font-size: 100%; } .navbox-title .navbar { /* @noflip */ float: left; /* @noflip */ text-align: left; /* @noflip */ margin-right: 0.5em; } /** T367463 */ body.skin--responsive .navbox-image img { max-width: none !important; } @media print { body.ns-0 .navbox { display: none !important; } } fg3ep7u2ikj39r86m5x2aj17kpqgies Module:Navbox 828 3365 36553 2025-12-15T18:44:57Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'require('strict') local p = {} local cfg = mw.loadData('Module:Navbox/configuration') local inArray = require("Module:TableTools").inArray local getArgs -- lazily initialized local format = string.format function p._navbox(args) local function striped(wikitext, border) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is...' 36553 Scribunto text/plain require('strict') local p = {} local cfg = mw.loadData('Module:Navbox/configuration') local inArray = require("Module:TableTools").inArray local getArgs -- lazily initialized local format = string.format function p._navbox(args) local function striped(wikitext, border) -- Return wikitext with markers replaced for odd/even striping. -- Child (subgroup) navboxes are flagged with a category that is removed -- by parent navboxes. The result is that the category shows all pages -- where a child navbox is not contained in a parent navbox. local orphanCat = cfg.category.orphan if border == cfg.keyword.border_subgroup and args[cfg.arg.orphan] ~= cfg.keyword.orphan_yes then -- No change; striping occurs in outermost navbox. return wikitext .. orphanCat end local first, second = cfg.class.navbox_odd_part, cfg.class.navbox_even_part if args[cfg.arg.evenodd] then if args[cfg.arg.evenodd] == cfg.keyword.evenodd_swap then first, second = second, first else first = args[cfg.arg.evenodd] second = first end end local changer if first == second then changer = first else local index = 0 changer = function (code) if code == '0' then -- Current occurrence is for a group before a nested table. -- Set it to first as a valid although pointless class. -- The next occurrence will be the first row after a title -- in a subgroup and will also be first. index = 0 return first end index = index + 1 return index % 2 == 1 and first or second end end local regex = orphanCat:gsub('([%[%]])', '%%%1') return (wikitext:gsub(regex, ''):gsub(cfg.marker.regex, changer)) -- () omits gsub count end local function processItem(item, nowrapitems) if item:sub(1, 2) == '{|' then -- Applying nowrap to lines in a table does not make sense. -- Add newlines to compensate for trim of x in |parm=x in a template. return '\n' .. item ..'\n' end if nowrapitems == cfg.keyword.nowrapitems_yes then local lines = {} for line in (item .. '\n'):gmatch('([^\n]*)\n') do local prefix, content = line:match('^([*:;#]+)%s*(.*)') if prefix and not content:match(cfg.pattern.nowrap) then line = format(cfg.nowrap_item, prefix, content) end table.insert(lines, line) end item = table.concat(lines, '\n') end if item:match('^[*:;#]') then return '\n' .. item ..'\n' end return item end local function has_navbar() return args[cfg.arg.navbar] ~= cfg.keyword.navbar_off and args[cfg.arg.navbar] ~= cfg.keyword.navbar_plain and ( args[cfg.arg.name] or mw.getCurrentFrame():getParent():getTitle():gsub(cfg.pattern.sandbox, '') ~= cfg.pattern.navbox ) end -- extract text color from css, which is the only permitted inline CSS for the navbar local function extract_color(css_str) -- return nil because navbar takes its argument into mw.html which handles -- nil gracefully, removing the associated style attribute return mw.ustring.match(';' .. css_str .. ';', '.*;%s*([Cc][Oo][Ll][Oo][Rr]%s*:%s*.-)%s*;') or nil end local function renderNavBar(titleCell) if has_navbar() then local navbar = require('Module:Navbar')._navbar titleCell:wikitext(navbar{ [cfg.navbar.name] = args[cfg.arg.name], [cfg.navbar.mini] = 1, [cfg.navbar.fontstyle] = extract_color( (args[cfg.arg.basestyle] or '') .. ';' .. (args[cfg.arg.titlestyle] or '') ) }) end end local function renderTitleRow(tbl) if not args[cfg.arg.title] then return end local titleRow = tbl:tag('tr') local titleCell = titleRow:tag('th'):attr('scope', 'col') local titleColspan = 2 if args[cfg.arg.imageleft] then titleColspan = titleColspan + 1 end if args[cfg.arg.image] then titleColspan = titleColspan + 1 end titleCell :cssText(args[cfg.arg.basestyle]) :cssText(args[cfg.arg.titlestyle]) :addClass(cfg.class.navbox_title) :attr('colspan', titleColspan) renderNavBar(titleCell) titleCell :tag('div') -- id for aria-labelledby attribute :attr('id', mw.uri.anchorEncode(args[cfg.arg.title])) :addClass(args[cfg.arg.titleclass]) :css('font-size', '114%') :css('margin', '0 4em') :wikitext(processItem(args[cfg.arg.title])) end local function getAboveBelowColspan() local ret = 2 if args[cfg.arg.imageleft] then ret = ret + 1 end if args[cfg.arg.image] then ret = ret + 1 end return ret end local function renderAboveRow(tbl) if not args[cfg.arg.above] then return end tbl:tag('tr') :tag('td') :addClass(cfg.class.navbox_abovebelow) :addClass(args[cfg.arg.aboveclass]) :cssText(args[cfg.arg.basestyle]) :cssText(args[cfg.arg.abovestyle]) :attr('colspan', getAboveBelowColspan()) :tag('div') -- id for aria-labelledby attribute, if no title :attr('id', (not args[cfg.arg.title]) and mw.uri.anchorEncode(args[cfg.arg.above]) or nil) :wikitext(processItem(args[cfg.arg.above], args[cfg.arg.nowrapitems])) end local function renderBelowRow(tbl) if not args[cfg.arg.below] then return end tbl:tag('tr') :tag('td') :addClass(cfg.class.navbox_abovebelow) :addClass(args[cfg.arg.belowclass]) :cssText(args[cfg.arg.basestyle]) :cssText(args[cfg.arg.belowstyle]) :attr('colspan', getAboveBelowColspan()) :tag('div') :wikitext(processItem(args[cfg.arg.below], args[cfg.arg.nowrapitems])) end local function renderListRow(tbl, index, listnum, listnums_size) local row = tbl:tag('tr') if index == 1 and args[cfg.arg.imageleft] then row :tag('td') :addClass(cfg.class.noviewer) :addClass(cfg.class.navbox_image) :addClass(args[cfg.arg.imageclass]) :css('width', '1px') -- Minimize width :css('padding', '0 2px 0 0') :cssText(args[cfg.arg.imageleftstyle]) :attr('rowspan', listnums_size) :tag('div') :wikitext(processItem(args[cfg.arg.imageleft])) end local group_and_num = format(cfg.arg.group_and_num, listnum) local groupstyle_and_num = format(cfg.arg.groupstyle_and_num, listnum) if args[group_and_num] then local groupCell = row:tag('th') -- id for aria-labelledby attribute, if lone group with no title or above if listnum == 1 and not (args[cfg.arg.title] or args[cfg.arg.above] or args[cfg.arg.group2]) then groupCell :attr('id', mw.uri.anchorEncode(args[cfg.arg.group1])) end groupCell :attr('scope', 'row') :addClass(cfg.class.navbox_group) :addClass(args[cfg.arg.groupclass]) :cssText(args[cfg.arg.basestyle]) -- If groupwidth not specified, minimize width :css('width', args[cfg.arg.groupwidth] or '1%') groupCell :cssText(args[cfg.arg.groupstyle]) :cssText(args[groupstyle_and_num]) :wikitext(args[group_and_num]) end local listCell = row:tag('td') if args[group_and_num] then listCell :addClass(cfg.class.navbox_list_with_group) else listCell:attr('colspan', 2) end if not args[cfg.arg.groupwidth] then listCell:css('width', '100%') end local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing if index % 2 == 1 then rowstyle = args[cfg.arg.oddstyle] else rowstyle = args[cfg.arg.evenstyle] end local list_and_num = format(cfg.arg.list_and_num, listnum) local listText = args[list_and_num] if inArray(cfg.keyword.subgroups, listText) then local childArgs = { [cfg.arg.border] = cfg.keyword.border_subgroup, [cfg.arg.navbar] = cfg.keyword.navbar_plain } local hasChildArgs = false for k, v in pairs(args) do k = tostring(k) for _, w in ipairs(cfg.keyword.subgroups) do w = w .. listnum .. "_" if (#k > #w) and (k:sub(1, #w) == w) then childArgs[k:sub(#w + 1)] = v hasChildArgs = true end end end listText = hasChildArgs and p._navbox(childArgs) or listText end local oddEven = cfg.marker.oddeven if listText:sub(1, 12) == '</div><table' then -- Assume list text is for a subgroup navbox so no automatic striping for this row. oddEven = listText:find(cfg.pattern.navbox_title) and cfg.marker.restart or cfg.class.navbox_odd_part end local liststyle_and_num = format(cfg.arg.liststyle_and_num, listnum) local listclass_and_num = format(cfg.arg.listclass_and_num, listnum) listCell :css('padding', '0') :cssText(args[cfg.arg.liststyle]) :cssText(rowstyle) :cssText(args[liststyle_and_num]) :addClass(cfg.class.navbox_list) :addClass(cfg.class.navbox_part .. oddEven) :addClass(args[cfg.arg.listclass]) :addClass(args[listclass_and_num]) :tag('div') :css('padding', (index == 1 and args[cfg.arg.list1padding]) or args[cfg.arg.listpadding] or '0 0.25em' ) :wikitext(processItem(listText, args[cfg.arg.nowrapitems])) if index == 1 and args[cfg.arg.image] then row :tag('td') :addClass(cfg.class.noviewer) :addClass(cfg.class.navbox_image) :addClass(args[cfg.arg.imageclass]) :css('width', '1px') -- Minimize width :css('padding', '0 0 0 2px') :cssText(args[cfg.arg.imagestyle]) :attr('rowspan', listnums_size) :tag('div') :wikitext(processItem(args[cfg.arg.image])) end end local function has_list_class(htmlclass) local patterns = { '^' .. htmlclass .. '$', '%s' .. htmlclass .. '$', '^' .. htmlclass .. '%s', '%s' .. htmlclass .. '%s' } for arg, _ in pairs(args) do if type(arg) == 'string' and mw.ustring.find(arg, cfg.pattern.class) then for _, pattern in ipairs(patterns) do if mw.ustring.find(args[arg] or '', pattern) then return true end end end end return false end -- there are a lot of list classes in the wild, so we add their TemplateStyles local function add_list_styles() local frame = mw.getCurrentFrame() local function add_list_templatestyles(htmlclass, templatestyles) if has_list_class(htmlclass) then return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles } } else return '' end end local hlist_styles = add_list_templatestyles('hlist', cfg.hlist_templatestyles) local plainlist_styles = add_list_templatestyles('plainlist', cfg.plainlist_templatestyles) -- a second workaround for [[phab:T303378]] -- when that issue is fixed, we can actually use has_navbar not to emit the -- tag here if we want if has_navbar() and hlist_styles == '' then hlist_styles = frame:extensionTag{ name = 'templatestyles', args = { src = cfg.hlist_templatestyles } } end -- hlist -> plainlist is best-effort to preserve old Common.css ordering. -- this ordering is not a guarantee because most navboxes will emit only -- one of these classes [hlist_note] return hlist_styles .. plainlist_styles end local function needsHorizontalLists(border) if border == cfg.keyword.border_subgroup or args[cfg.arg.tracking] == cfg.keyword.tracking_no then return false end return not has_list_class(cfg.pattern.hlist) and not has_list_class(cfg.pattern.plainlist) end local function hasBackgroundColors() for _, key in ipairs({cfg.arg.titlestyle, cfg.arg.groupstyle, cfg.arg.basestyle, cfg.arg.abovestyle, cfg.arg.belowstyle}) do if tostring(args[key]):find('background', 1, true) then return true end end return false end local function hasBorders() for _, key in ipairs({cfg.arg.groupstyle, cfg.arg.basestyle, cfg.arg.abovestyle, cfg.arg.belowstyle}) do if tostring(args[key]):find('border', 1, true) then return true end end return false end local function isIllegible() local styleratio = require('Module:Color contrast')._styleratio for key, style in pairs(args) do if tostring(key):match(cfg.pattern.style) then if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then return true end end end return false end local function getTrackingCategories(border) local cats = {} if needsHorizontalLists(border) then table.insert(cats, cfg.category.horizontal_lists) end if hasBackgroundColors() then table.insert(cats, cfg.category.background_colors) end if isIllegible() then table.insert(cats, cfg.category.illegible) end if hasBorders() then table.insert(cats, cfg.category.borders) end return cats end local function renderTrackingCategories(builder, border) local title = mw.title.getCurrentTitle() if title.namespace ~= 10 then return end -- not in template space local subpage = title.subpageText if subpage == cfg.keyword.subpage_doc or subpage == cfg.keyword.subpage_sandbox or subpage == cfg.keyword.subpage_testcases then return end for _, cat in ipairs(getTrackingCategories(border)) do builder:wikitext('[[Category:' .. cat .. ']]') end end local function renderMainTable(border, listnums) local tbl = mw.html.create('table') :addClass(cfg.class.nowraplinks) :addClass(args[cfg.arg.bodyclass]) local state = args[cfg.arg.state] if args[cfg.arg.title] and state ~= cfg.keyword.state_plain and state ~= cfg.keyword.state_off then if state == cfg.keyword.state_collapsed then state = cfg.class.collapsed end tbl :addClass(cfg.class.collapsible) :addClass(state or cfg.class.autocollapse) end tbl:css('border-spacing', 0) if border == cfg.keyword.border_subgroup or border == cfg.keyword.border_none then tbl :addClass(cfg.class.navbox_subgroup) :cssText(args[cfg.arg.bodystyle]) :cssText(args[cfg.arg.style]) else -- regular navbox - bodystyle and style will be applied to the wrapper table tbl :addClass(cfg.class.navbox_inner) :css('background', 'transparent') :css('color', 'inherit') end tbl:cssText(args[cfg.arg.innerstyle]) renderTitleRow(tbl) renderAboveRow(tbl) local listnums_size = #listnums for i, listnum in ipairs(listnums) do renderListRow(tbl, i, listnum, listnums_size) end renderBelowRow(tbl) return tbl end local function add_navbox_styles(hiding_templatestyles) local frame = mw.getCurrentFrame() -- This is a lambda so that it doesn't need the frame as a parameter local function add_user_styles(templatestyles) if templatestyles and templatestyles ~= '' then return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles } } end return '' end -- get templatestyles. load base from config so that Lua only needs to do -- the work once of parser tag expansion local base_templatestyles = cfg.templatestyles local templatestyles = add_user_styles(args[cfg.arg.templatestyles]) local child_templatestyles = add_user_styles(args[cfg.arg.child_templatestyles]) -- The 'navbox-styles' div exists to wrap the styles to work around T200206 -- more elegantly. Instead of combinatorial rules, this ends up being linear -- number of CSS rules. return mw.html.create('div') :addClass(cfg.class.navbox_styles) :wikitext( add_list_styles() .. -- see [hlist_note] applied to 'before base_templatestyles' base_templatestyles .. templatestyles .. child_templatestyles .. table.concat(hiding_templatestyles) ) :done() end -- work around [[phab:T303378]] -- for each arg: find all the templatestyles strip markers, insert them into a -- table. then remove all templatestyles markers from the arg local function move_hiding_templatestyles(args) local gfind = string.gfind local gsub = string.gsub local templatestyles_markers = {} local strip_marker_pattern = '(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)' for k, arg in pairs(args) do for marker in gfind(arg, strip_marker_pattern) do table.insert(templatestyles_markers, marker) end args[k] = gsub(arg, strip_marker_pattern, '') end return templatestyles_markers end local hiding_templatestyles = move_hiding_templatestyles(args) local listnums = {} for k, _ in pairs(args) do if type(k) == 'string' then local listnum = k:match(cfg.pattern.listnum) if listnum then table.insert(listnums, tonumber(listnum)) end end end table.sort(listnums) local border = mw.text.trim(args[cfg.arg.border] or args[1] or '') if border == cfg.keyword.border_child then border = cfg.keyword.border_subgroup end -- render the main body of the navbox local tbl = renderMainTable(border, listnums) local res = mw.html.create() -- render the appropriate wrapper for the navbox, based on the border param if border == cfg.keyword.border_none then res:node(add_navbox_styles(hiding_templatestyles)) local nav = res:tag('div') :attr('role', 'navigation') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args[cfg.arg.title] or args[cfg.arg.above] or (args[cfg.arg.group1] and not args[cfg.arg.group2]) then nav:attr( 'aria-labelledby', mw.uri.anchorEncode( args[cfg.arg.title] or args[cfg.arg.above] or args[cfg.arg.group1] ) ) else nav:attr('aria-label', cfg.aria_label) end elseif border == cfg.keyword.border_subgroup then -- We assume that this navbox is being rendered in a list cell of a -- parent navbox, and is therefore inside a div with padding:0em 0.25em. -- We start with a </div> to avoid the padding being applied, and at the -- end add a <div> to balance out the parent's </div> res :wikitext('</div>') :node(tbl) :wikitext('<div>') else res:node(add_navbox_styles(hiding_templatestyles)) local nav = res:tag('div') :attr('role', 'navigation') :addClass(cfg.class.navbox) :addClass(args[cfg.arg.navboxclass]) :cssText(args[cfg.arg.bodystyle]) :cssText(args[cfg.arg.style]) :css('padding', '3px') :node(tbl) -- aria-labelledby title, otherwise above, otherwise lone group if args[cfg.arg.title] or args[cfg.arg.above] or (args[cfg.arg.group1] and not args[cfg.arg.group2]) then nav:attr( 'aria-labelledby', mw.uri.anchorEncode(args[cfg.arg.title] or args[cfg.arg.above] or args[cfg.arg.group1]) ) else nav:attr('aria-label', cfg.aria_label) end end if (args[cfg.arg.nocat] or cfg.keyword.nocat_false):lower() == cfg.keyword.nocat_false then renderTrackingCategories(res, border) end return striped(tostring(res), border) end function p.navbox(frame) local function readArgs(args, prefix) -- Read the arguments in the order they'll be output in, to make references -- number in the right order. local _ _ = args[prefix .. cfg.arg.title] _ = args[prefix .. cfg.arg.above] -- Limit this to 20 as covering 'most' cases (that's a SWAG) and because -- iterator approach won't work here for i = 1, 20 do _ = args[prefix .. format(cfg.arg.group_and_num, i)] if inArray(cfg.keyword.subgroups, args[prefix .. format(cfg.arg.list_and_num, i)]) then for _, v in ipairs(cfg.keyword.subgroups) do readArgs(args, prefix .. v .. i .. "_") end end end _ = args[prefix .. cfg.arg.below] end if not getArgs then getArgs = require('Module:Arguments').getArgs end local args = getArgs(frame, { wrappers = { 'Template:Navbox','Πρότυπον:Πλαίσιο πλοήγησης' } }) readArgs(args, "") return p._navbox(args) end return p 976v5mtyjzw8aizdvn5c1enw203y0ft Πρότυπον:Hlist/styles.css 10 3366 36554 2025-12-15T18:47:44Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '/* * hlist styles are defined in core and Minerva and differ in Minerva. The * current definitions here (2023-01-01) are sufficient to override Minerva * without use of the hlist-separated class. The most problematic styles were * related to margin, padding, and the bullet. Check files listed at * [[MediaWiki talk:Common.css/to do#hlist-separated]] */ /* * TODO: When the majority of readership supports it (or some beautiful world * in whic...' 36554 sanitized-css text/css /* * hlist styles are defined in core and Minerva and differ in Minerva. The * current definitions here (2023-01-01) are sufficient to override Minerva * without use of the hlist-separated class. The most problematic styles were * related to margin, padding, and the bullet. Check files listed at * [[MediaWiki talk:Common.css/to do#hlist-separated]] */ /* * TODO: When the majority of readership supports it (or some beautiful world * in which grade C support is above the minimum threshold), use :is() */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { /* * don't trust the note that says margin doesn't work with inline * removing margin: 0 makes dds have margins again * We also want to reset margin-right in Minerva */ margin: 0; display: inline; } /* Display requested top-level lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, /* Display nested lists inline */ .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li { display: none; } /* TODO: :not() can maybe be used here to remove the later rule. naive test * seems to work. more testing needed. like so: *.hlist dt:not(:last-child)::after { * content: ": "; *} *.hlist dd:not(:last-child)::after, *.hlist li:not(:last-child)::after { * content: " · "; * font-weight: bold; *} */ /* Generate interpuncts */ .hlist dt::after { content: ": "; } .hlist dd::after, .hlist li::after { content: " · "; font-weight: bold; } .hlist dd:last-child::after, .hlist dt:last-child::after, .hlist li:last-child::after { content: none; } /* Add parentheses around nested lists */ .hlist dd dd:first-child::before, .hlist dd dt:first-child::before, .hlist dd li:first-child::before, .hlist dt dd:first-child::before, .hlist dt dt:first-child::before, .hlist dt li:first-child::before, .hlist li dd:first-child::before, .hlist li dt:first-child::before, .hlist li li:first-child::before { content: " ("; font-weight: normal; } .hlist dd dd:last-child::after, .hlist dd dt:last-child::after, .hlist dd li:last-child::after, .hlist dt dd:last-child::after, .hlist dt dt:last-child::after, .hlist dt li:last-child::after, .hlist li dd:last-child::after, .hlist li dt:last-child::after, .hlist li li:last-child::after { content: ")"; font-weight: normal; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li::before { content: " " counter(listitem) "\a0"; } .hlist dd ol > li:first-child::before, .hlist dt ol > li:first-child::before, .hlist li ol > li:first-child::before { content: " (" counter(listitem) "\a0"; } k88feadhqtt87k5tlkeeh17apsyjbpa Πρότυπον:Hlist 10 3367 36555 2025-12-15T18:48:14Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{<includeonly>safesubst:</includeonly>#invoke:list|horizontal}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude>' 36555 wikitext text/x-wiki {{<includeonly>safesubst:</includeonly>#invoke:list|horizontal}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> ihcdy525o8nnmq114czc48dpk6pnojd Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά WorldCat 14 3368 36556 2025-12-15T18:50:09Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{hiddencat}} {{κενή κατηγορία}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]]' 36556 wikitext text/x-wiki {{hiddencat}} {{κενή κατηγορία}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]] r1j6z8dphw4qttuc2b9ddjx8d71nfuo Πρότυπον:Κενή κατηγορία 10 3369 36559 36558 2025-12-15T18:52:20Z Εὐθυμένης 2777 36559 wikitext text/x-wiki {{#invoke:message box|cmbox |style = background:#FAF0BE; border:1px solid #aaa; margin: 4px 10%; |image = [[Αρχείον:Note icon.svg|link=|40px]] |text = '''Προς Διαχειριστές: Mη διαγράφετε αυτήν την κατηγορία ακόμα και αν είναι κενή!'''<br/> Η κατηγορία αυτή μπορεί να είναι κενή περιστασιακά ή ακόμη και τον περισσότερο καιρό. {{{1|}}} <includeonly>{{#ifeq: {{lc:{{{nocat|false}}}}}|false|{{Single namespace|category}}|<!-- Category suppressed -->}}<includeonly>[[Κατηγορίαν:Κατηγορίες που δεν διαγράφονται ακόμα και αν είναι κενές|{{PAGENAME}}]]</includeonly> }}<noinclude> {{τεκμηρίωση προτύπου}} </noinclude> g66m3713ky5g5146vy4phlhs8e4mmim Πρότυπον:Single namespace 10 3370 36560 2025-12-15T18:53:18Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{{{{1}}} other|{{#if:{{{2|}}}|{{{2}}}}}|{{Incorrect namespace|{{{1}}}}}}}<noinclude> {{Documentation}} </noinclude>' 36560 wikitext text/x-wiki {{{{{1}}} other|{{#if:{{{2|}}}|{{{2}}}}}|{{Incorrect namespace|{{{1}}}}}}}<noinclude> {{Documentation}} </noinclude> 4y5lg5z8ek0o0h0vbe5tkebme05ee0z Πρότυπον:Incorrect namespace 10 3371 36561 2025-12-15T18:54:24Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{#ifeq:{{NAMESPACE}}|Πρότυπον||{{#ifeq:{{SUBPAGENAME}}|πρόχειρο||{{#ifeq:{{SUBPAGENAME}}|testcases||{{#ifeq:{{FULLPAGENAME}}|Βοήθειαν:Πρόχειρο||</includeonly>{{Mbox | type = content | text = {{Error|Το παραπάνω πρότυπο θα έπρεπε να ενσωματώνεται μόνο στον ονοματοχώρο ''{{{1}}}''.}} }}<includeonly>{{#ifeq:{{lc:{{{nocat|false}}}}}|false| |<!-- Cat...' 36561 wikitext text/x-wiki <includeonly>{{#ifeq:{{NAMESPACE}}|Πρότυπον||{{#ifeq:{{SUBPAGENAME}}|πρόχειρο||{{#ifeq:{{SUBPAGENAME}}|testcases||{{#ifeq:{{FULLPAGENAME}}|Βοήθειαν:Πρόχειρο||</includeonly>{{Mbox | type = content | text = {{Error|Το παραπάνω πρότυπο θα έπρεπε να ενσωματώνεται μόνο στον ονοματοχώρο ''{{{1}}}''.}} }}<includeonly>{{#ifeq:{{lc:{{{nocat|false}}}}}|false| |<!-- Category suppressed -->}}}}}}}}}}</includeonly><noinclude> {{Documentation}} </noinclude> h0l9uf5m9z48abx57je2e2mu4u618xa Πρότυπον:Mbox 10 3372 36562 2025-12-15T18:55:47Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{ {{namespace detect | demospace = {{{demospace|}}} | main = Πλαίσιον μηνύματος | talk = Πλαίσιον μηνύματος | file = Πλαίσιον μηνύματος | category = Πλαίσιον μηνύματος | other = Πλαίσιον μηνύματος }} | type = {{{type|}}} | image = {{{image|}}} | imageright = {{{imageright|}}} | style = {{{style|}}} | textstyle...' 36562 wikitext text/x-wiki {{ {{namespace detect | demospace = {{{demospace|}}} | main = Πλαίσιον μηνύματος | talk = Πλαίσιον μηνύματος | file = Πλαίσιον μηνύματος | category = Πλαίσιον μηνύματος | other = Πλαίσιον μηνύματος }} | type = {{{type|}}} | image = {{{image|}}} | imageright = {{{imageright|}}} | style = {{{style|}}} | textstyle = {{{textstyle|}}} | text = {{{text}}} | small = {{{small|}}} | smallimage = {{{smallimage|}}} | smallimageright = {{{smallimageright|}}} | smalltext = {{{smalltext|}}} }}<noinclude> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{NAMESPACE]] </noinclude> mzr55gz26dpvmhjl04gm39kkqaf09r5 Πρότυπον:Namespace detect 10 3373 36563 2025-12-15T18:57:02Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#switch: {{lc: <!--Lower case the result--> <!--If no or empty "demospace" parameter then detect namespace--> {{#if:{{{demospace|}}} | {{{demospace}}} | {{#if:{{{page|}}} | <!--Detect the namespace in the "page" parameter--> {{#ifeq:{{NAMESPACE:{{{page}}} }}|{{TALKSPACE:{{{page}}} }} | talk | {{SUBJECTSPACE:{{{page}}} }} }} | <!--No "demospace" or "page" parameters, so...' 36563 wikitext text/x-wiki {{#switch: {{lc: <!--Lower case the result--> <!--If no or empty "demospace" parameter then detect namespace--> {{#if:{{{demospace|}}} | {{{demospace}}} | {{#if:{{{page|}}} | <!--Detect the namespace in the "page" parameter--> {{#ifeq:{{NAMESPACE:{{{page}}} }}|{{TALKSPACE:{{{page}}} }} | talk | {{SUBJECTSPACE:{{{page}}} }} }} | <!--No "demospace" or "page" parameters, so detect actual namespace--> {{#ifeq:{{NAMESPACE}}|{{TALKSPACE}} | talk | {{SUBJECTSPACE}} }} }} }} }} <!-- Only one of the lines below will be executed --> <!-- Respecting empty parameters on purpose --> | main <!--"demospace=main" or {{SUBJECTSPACE}}={{ns:0}}=""--> | = {{{main| {{{other|}}} }}} | talk = {{{talk| {{{other|}}} }}} | user = {{{user| {{{other|}}} }}} | wikipedia = {{{wikipedia| {{{other|}}} }}} | file | image = {{{file| {{{image| {{{other|}}} }}} }}} | mediawiki = {{{mediawiki| {{{other|}}} }}} | template = {{{template| {{{other|}}} }}} | help = {{{help| {{{other|}}} }}} | category = {{{category| {{{other|}}} }}} | portal = {{{portal| {{{other|}}} }}} | book = {{{book| {{{other|}}} }}} | other | #default = {{{other|}}} <!--"demospace=other" or a new namespace--> }}<!--End switch--><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> k2auzofayktm0oitr1kmv3dz91ydyp4 Πρότυπον:Πλαίσιον μηνύματος 10 3374 36564 2025-12-15T18:57:59Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#invoke:Message box|ombox}}<noinclude>{{Τεκμηρίωση προτύπου}}</noinclude>' 36564 wikitext text/x-wiki {{#invoke:Message box|ombox}}<noinclude>{{Τεκμηρίωση προτύπου}}</noinclude> fh0jvmiiub1jjbm0s4rg0gn2k2knyss Module:Show Path Items 828 3375 36565 2025-12-15T18:59:36Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local path = require "Module:Wikidata/Chemin" local p = {} local item_rendering_template = "WD Q" local property_rendering_template = "WD P" p.format_list_path_items = function(start, path_str , frame, max) max = tonumber(max) or 10 local path_obj = path.PropertyPath:new(path_str) local res = "" local i = 0 if path_obj.node then local it = path_obj:iterate(start) for elem in it do i = i + 1 if i > max then break end...' 36565 Scribunto text/plain local path = require "Module:Wikidata/Chemin" local p = {} local item_rendering_template = "WD Q" local property_rendering_template = "WD P" p.format_list_path_items = function(start, path_str , frame, max) max = tonumber(max) or 10 local path_obj = path.PropertyPath:new(path_str) local res = "" local i = 0 if path_obj.node then local it = path_obj:iterate(start) for elem in it do i = i + 1 if i > max then break end local template = nil if elem:has_an_item() then template = item_rendering_template elseif elem:has_a_property() then template = property_rendering_template end if template then res = res .. "* " .. frame:expandTemplate{ title = template, args = { [1] = elem:entity_value() } } .. "\n" else res = res .. "* " .. mw.wikibase.formatValue(elem:snak()) .. "\n" end end if i == max + 1 then res = res .. "* ...(?)" end else res = res .. "parse error !!!!" end return res end function table.slice(tbl, first, last, step) local sliced = {} for i = first or 1, last or #tbl, step or 1 do sliced[#sliced+1] = tbl[i] end return sliced end p.slice = table.slice local function count_args(table) local nargs = 0 for num, _ in ipairs(table) do nargs = num end return nargs end p.show_path_items = function(frame) frame = frame:getParent() local start = frame.args[1] local bound local nargs = count_args(frame.args) if tonumber(frame.args[nargs]) then max = tonumber(frame.args[nargs]) bound = nargs - 1 else bound = nargs end local slice = table.slice(frame.args, 2, bound) local path_str = table.concat(slice, "|") return p.format_list_path_items(start, path_str, frame, max) end return p 5r4i5ggi55pygq91tl8vy128zvk1kac Module:FIFARankingMax 828 3376 36566 2025-12-15T19:01:26Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} local i18n = { ["errors"] = { ["entity-not-found"] = "Wikidata entity not found.", ["claims-not-found"] = "Wikidata entity has no claims.", ["property-not-found"] = "", ["unknown-claim-type"] = "Unknown claim type.", ["unknown-entity-type"] = "Unknown entity type.", ["qualifier-not-found"] = "Qualifier not found.", ["site-not-found"] = "Wikimedia project not found.", ["unknown-datetime-format"] = "Unknown datetime fo...' 36566 Scribunto text/plain local p = {} local i18n = { ["errors"] = { ["entity-not-found"] = "Wikidata entity not found.", ["claims-not-found"] = "Wikidata entity has no claims.", ["property-not-found"] = "", ["unknown-claim-type"] = "Unknown claim type.", ["unknown-entity-type"] = "Unknown entity type.", ["qualifier-not-found"] = "Qualifier not found.", ["site-not-found"] = "Wikimedia project not found.", ["unknown-datetime-format"] = "Unknown datetime format.", ["ranks-not-found"] = "No ranks found." }, ["months"] = { "Ιανουαρίου", "Φεβρουαρίου", "Μαρτίου", "Απριλίου", "Μαΐου", "Ιουνίου", "Ιουλίου", "Αυγούστου", "Σεπτεμβρίου", "Οκτωβρίου", "Νοεμβρίου", "Δεκεμβρίου" } } function p.main(frame) -- allow us to see all values if debugging - set dbg=true as parameter dbug = frame.args.dbg or false -- see if a qid was supplied for arbitrary access; make empty string into nil local qid = mw.text.trim(frame.args.qid or "") if qid and (#qid == 0) then qid = nil end local entity = mw.wikibase.getEntity(qid) if not entity then return i18n.errors["entity-not-found"] end if not entity.claims then return i18n.errors["claims-not-found"] end local props = entity.claims['P1352'] if not props then return i18n.errors["property-not-found"] end local rank = {} local timestamp = {} for k, v in pairs(props) do if v.qualifiers and v.qualifiers["P585"] and v.qualifiers["P459"] then if v.qualifiers["P459"][1].datavalue.value.id == "Q180825" then rank[#rank + 1] = v.mainsnak.datavalue.value.amount timestamp[#rank] = v.qualifiers["P585"][1].datavalue.value.time end end end if rank then local ts = "" local imax = 0 for i, v in ipairs(timestamp) do if v > ts then ts = v imax = i end end local lastdate = tonumber(ts:sub(10, 11)) .. " " .. i18n.months[tonumber(ts:sub(7, 8))] .. " " .. tonumber(ts:sub(2, 5)) local lastrank = tonumber(rank[imax]) if dbug then return table.concat(rank, ", ") .. "<br>" .. table.concat(timestamp, ", ") .. "<br>Latest = " .. lastdate .. " rank is " .. lastrank else return lastrank .. " (" .. lastdate .. ")" end else return i18n.errors["ranks-not-found"] end end return p 6wraoc6dwgw1iiscri1wdqwwt4raein Module:ShortDate 828 3377 36567 2025-12-15T19:04:11Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} local function Set(list) local set = {} for _, l in ipairs(list) do set[l] = true end return set end -- οι ιδιότητες με τύπο δεδομένων time https://www.wikidata.org/wiki/Category:Properties_with_time-datatype local timeProps = Set{'P569', 'P570', 'P571', 'P574', 'P575', 'P576', 'P577', 'P578', 'P580', 'P582', 'P585', 'P606', 'P619', 'P620', 'P621', 'P622', 'P729', 'P730', 'P...' 36567 Scribunto text/plain local p = {} local function Set(list) local set = {} for _, l in ipairs(list) do set[l] = true end return set end -- οι ιδιότητες με τύπο δεδομένων time https://www.wikidata.org/wiki/Category:Properties_with_time-datatype local timeProps = Set{'P569', 'P570', 'P571', 'P574', 'P575', 'P576', 'P577', 'P578', 'P580', 'P582', 'P585', 'P606', 'P619', 'P620', 'P621', 'P622', 'P729', 'P730', 'P746', 'P813', 'P1191', 'P1249', 'P1317', 'P1319', 'P1326', 'P1619', 'P1636', 'P1734', 'P2031', 'P2032', 'P2285', 'P2310', 'P2311', 'P2669', 'P2754', 'P2913', 'P2960'} function p.get(frame) local args = {} if frame == mw.getCurrentFrame() then args = frame:getParent().args for k, v in pairs(frame.args) do args[k] = v end else args = frame end return p._get(args) end function p._get(args) local wd = require('Module:Wikidata') if not timeProps[args.property] then return error('Η ιδιότητα ' .. args.property .. ' δεν βρίσκεται στη λίστα αποδεκτών ιδιοτήτων') end local claims = wd.getClaims(args) if not claims then return nil end date = wd.getDate(claims[1]) return date.day .. '/' .. date.month .. '/' .. date.year end return p j5k9cxd9cuhklu5paougnxpfvlr13d1 Module:LocationAndCountry 828 3378 36583 2025-12-15T19:10:02Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- will display a wikidata property representing a location, followed by a comma and the name of the country, both with wikilinks -- the first argument specifies the parameter to be displayed -- the second argument specifies the entity ID -- the third argument specifies a timestamp showing the moment in time for which the country is to be identified -- the fourth argument specifies the maximum number of values to be processed (default 1) -- the fif...' 36583 Scribunto text/plain -- will display a wikidata property representing a location, followed by a comma and the name of the country, both with wikilinks -- the first argument specifies the parameter to be displayed -- the second argument specifies the entity ID -- the third argument specifies a timestamp showing the moment in time for which the country is to be identified -- the fourth argument specifies the maximum number of values to be processed (default 1) -- the fifth argument specifies the separator to use when displaying multiple values local getArgs = require('Module:Arguments').getArgs local wikidata = require('Module:Wikidata') local StringUtils = require('Module:StringUtils') local GregorianDate = require('Module:GregorianDate') local Date = require('Module:Date') local TableTools = require('Module:TableTools') local appendToString = StringUtils._appendToString local emptyToNil = StringUtils._emptyToNil local ESCALATABLE_LOCATION_ENTITIES = { -- if this is one of the types of the location from Wikidata, then we skip and escalate it to the administrative unit 'Q16917', --hospital 'Q1059324', -- university hospital 'Q702842', --municipal arrondissement (France) 'Q15921300', --sector of Bucharest } local ADMIN_UNIT_ATTRACTOR_ENTITIES = { -- if this is one of the types of the location from Wikidata, then we also pull in the administrative unit 'Q532', -- village 'Q659103', -- commune of Romania } local p = {} local function extractGregorianDateFromSnak(snak, hms) local afterDate = wikidata.extractDateFromClaim(snak) local afterDateGregorian = GregorianDate.convertToGregorianIfInInterval(afterDate) afterDateGregorian.hour = hms[1] afterDateGregorian.min = hms[2] afterDateGregorian.sec = hms[3] after = tonumber(mw.language.getContentLanguage():formatDate('U', os.date('%d %B %Y %H:%M:%S', os.time(afterDateGregorian)), nil)) return after end local function getShortOrOfficialNameRetrieverClosure(ts) return function(object) if not object then return nil end -- just to be safe: this callback should only be called with existing objects local correspondingShortNameClaim = wikidata.findClaimForTimestamp(object.id, 'P1813', ts) if correspondingShortNameClaim then return correspondingShortNameClaim.mainsnak.datavalue.value.text end local correspondingOfficialNameClaim = wikidata.findClaimForTimestamp(object.id, 'P1448', ts) if ts and correspondingOfficialNameClaim then return correspondingOfficialNameClaim.mainsnak.datavalue.value.text end end end local function getOfficialNameRetrieverClosure(ts) return function(object) if not object then return nil end -- just to be safe: this callback should only be called with existing objects local correspondingOfficialNameClaim = wikidata.findClaimForTimestamp(object.id, 'P1448', ts) if ts and correspondingOfficialNameClaim then return correspondingOfficialNameClaim.mainsnak.datavalue.value.text end end end local function getShortNameRetrieverClosure(ts) return function(object) if not object then return nil end -- just to be safe: this callback should only be called with existing objects local correspondingShortNameClaim = wikidata.findClaimForTimestamp(object.id, 'P1813', ts) if correspondingShortNameClaim then return correspondingShortNameClaim.mainsnak.datavalue.value.text end end end local function getAdminUnitForTimestamp(locationId, ts) local unitClaim = wikidata.findClaimForTimestamp(locationId, 'P131', ts) if unitClaim and unitClaim.mainsnak and unitClaim.mainsnak.snaktype == 'value' then return unitClaim.mainsnak.datavalue.value.id else local unitId = wikidata.loadOneValueInChain({locationId, 'P131', 'raw'}) if unitId and mw.ustring.len(unitId) > 0 then return unitId end end return nil end p.displayFromParams = function(param, entity, timestamp, maxvalues, separator) if param == nil then return '' end local claims = nil local workingEntityId = nil if type(entity) == 'table' then workingEntityId = entity.id claims = entity:getBestStatements(param) else workingEntityId = entity if not workingEntityId then workingEntityId = mw.wikibase.getEntityIdForCurrentPage() end if type(entity) == 'number' then workingEntityId = 'Q' .. tostring(entity) end if workingEntityId == nil then return '' end claims = mw.wikibase.getBestStatements(workingEntityId, param) end local ts = nil if timestamp then if type(timestamp) == 'string' and mw.ustring.gmatch(timestamp, 'P%d+') then local wdDates = wikidata.findDateValues(timestamp, workingEntityId) if wdDates and 0 < #wdDates then local wdDateIdx = 1 while wdDateIdx <= #wdDates and (wdDates[wdDateIdx].claim.type ~= 'statement' or wdDates[wdDateIdx].claim.mainsnak.snaktype ~= 'value') do wdDateIdx = wdDateIdx + 1 end if wdDateIdx <= #wdDates and (wdDates[wdDateIdx].claim.type == 'statement' and wdDates[wdDateIdx].claim.mainsnak.snaktype == 'value') then wdDates[wdDateIdx] = GregorianDate.convertToGregorianIfInInterval(wdDates[wdDateIdx]) ts = wdDates[wdDateIdx] end end end if ts == nil and type(timestamp) == 'string' then ts = DateUtils.parseYear(timestamp) elseif ts == nil and type(timestamp) == 'table' and timestamp.year then ts = timestamp end end local valueList = {} local valueCount = 0 if claims and 0 < #claims then for claimIdx, actualClaim in pairs(claims) do valueCount = valueCount + 1 local locationEntitiesIds = {} local locationNames = {} local skipActualLocation = false if actualClaim.mainsnak and actualClaim.mainsnak.snaktype == 'value' and actualClaim.mainsnak.datavalue.type == 'wikibase-entityid' then local locationEntityId = actualClaim.mainsnak.datavalue.value.id local seekAdminUnit repeat seekAdminUnit = false repeat skipActualLocation = false --what is this location? local locationInstanceOfClaims = mw.wikibase.getBestStatements(locationEntityId, 'P31') if locationInstanceOfClaims then for _,eachInstOfClaim in ipairs(locationInstanceOfClaims) do if eachInstOfClaim.mainsnak and eachInstOfClaim.mainsnak.snaktype == 'value' and eachInstOfClaim.mainsnak.datavalue.type == 'wikibase-entityid' then mw.logObject(eachInstOfClaim.mainsnak.datavalue.value.id, '[LocationAndCountry] location is a') if TableTools.contains(ESCALATABLE_LOCATION_ENTITIES, eachInstOfClaim.mainsnak.datavalue.value.id) then --escalatable? skipActualLocation = true end if TableTools.contains(ADMIN_UNIT_ATTRACTOR_ENTITIES, eachInstOfClaim.mainsnak.datavalue.value.id) then --do we also pull the admin unit? seekAdminUnit = true end end end end -- end for end if if skipActualLocation then locationEntityId = getAdminUnitForTimestamp(locationEntityId, ts) else table.insert(locationEntitiesIds, locationEntityId) locationNames[locationEntityId] = wikidata.findLinkToItemWithCallback(locationEntityId, false, getOfficialNameRetrieverClosure(ts)) end until not skipActualLocation --attempt to also load administrative unit, but only if present as a qualifier local unitQualifier = actualClaim.qualifiers and actualClaim.qualifiers['P131'] and actualClaim.qualifiers['P131'][1] if unitQualifier and unitQualifier.snaktype == 'value' then table.insert(locationEntitiesIds, unitQualifier.datavalue.value.id) locationNames[unitQualifier.datavalue.value.id] = wikidata.findLinkToItemWithCallback(unitQualifier.datavalue.value.id, false, getShortOrOfficialNameRetrieverClosure(ts)) seekAdminUnit = false end --... or something happened that we have to look for it if seekAdminUnit then local adminUnitId = getAdminUnitForTimestamp(locationEntityId, ts) if adminUnitId then table.insert(locationEntitiesIds, adminUnitId) locationEntityId = adminUnitId else seekAdminUnit = false end end until not seekAdminUnit -- attempt to identify country in the qualifier first, but if it's not, go to the entity local countryQualifier = actualClaim.qualifiers and actualClaim.qualifiers['P17'] and actualClaim.qualifiers['P17'][1] local countryId = nil if countryQualifier and countryQualifier.snaktype == 'value' then table.insert(locationEntitiesIds, countryQualifier.datavalue.value.id) locationNames[countryQualifier.datavalue.value.id] = wikidata.findLinkToItemWithCallback(countryQualifier.datavalue.value.id, false, getShortOrOfficialNameRetrieverClosure(ts)) else local countryClaim = nil countryClaim = wikidata.findClaimForTimestamp(locationEntityId, 'P17', ts) if countryClaim and countryClaim.mainsnak and countryClaim.mainsnak.snaktype == 'value' then countryId = countryClaim.mainsnak.datavalue.value.id table.insert(locationEntitiesIds, countryId) elseif not countryClaim then countryId = wikidata.loadOneValueInChain({locationEntityId, 'P17', 'raw'}) if countryId and mw.ustring.len(countryId) > 0 then table.insert(locationEntitiesIds, countryId) end end end locationEntitiesIds = TableTools.removeDuplicates(locationEntitiesIds) local locationNamesList = {} for _,eachLocationId in ipairs(locationEntitiesIds) do if not locationNames[eachLocationId] then locationNames[eachLocationId] = wikidata.findLinkToItemWithCallback(eachLocationId, false, getShortNameRetrieverClosure(ts)) end table.insert(locationNamesList, locationNames[eachLocationId]) end if 0 < #locationNamesList then table.insert( valueList, appendToString({ emptyToNil({table.concat(locationNamesList, ', ')}), wikidata.outputReferences(actualClaim) }) ) end end end end if #valueList == 0 then return '' end if separator == nil then separator = '; ' end if maxvalues > #valueList then maxvalues = #valueList end return table.concat(valueList, separator, 1, maxvalues) end p.displayFromArgs = function(args) local param = nil local entity = nil local timestamp = nil local maxvalues = 1 local separator = '; ' if args[1] or args['param'] then param = args[1] or args['param'] end if args[2] or args['entityId'] then entity = args[2] or args['entityId'] end if args[3] or args['timestamp'] then timestamp = args[3] or args['timestamp'] end if args[4] or args['maxvalues'] then maxvalues = tonumber(args[4] or args['maxvalues']) end if args[5] or args['separator'] then separator = args[5] or args['separator'] end return p.displayFromParams(param, entity, timestamp, maxvalues, separator) end p.displayFromFrame = function(frame) local args = getArgs(frame, { frameOnly = true }) return p.displayFromArgs(args) end p.displayFromParentFrame = function(frame) local args = getArgs(frame, { parentOnly = true}) return p.displayFromArgs(args) end return p g28x9rce0fkastyhyabi7lghv5ivxlx Module:GregorianDate 828 3379 36584 2025-12-15T19:17:08Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} local Date = require('Module:Date') local getArgs = require('Module:Arguments').getArgs local data = mw.loadData('Module:GregorianDate/data') local compareDates = function(date1, date2) if date1.year < date2.year then return 1 end if date2.year < date1.year then return -1 end if date1.month < date2.month then return 1 end if date2.month < date1.month then return -1 end if date1.day < date2.day then return 1 end if date2.day <...' 36584 Scribunto text/plain local p = {} local Date = require('Module:Date') local getArgs = require('Module:Arguments').getArgs local data = mw.loadData('Module:GregorianDate/data') local compareDates = function(date1, date2) if date1.year < date2.year then return 1 end if date2.year < date1.year then return -1 end if date1.month < date2.month then return 1 end if date2.month < date1.month then return -1 end if date1.day < date2.day then return 1 end if date2.day < date1.day then return -1 end return 0 end local initialOffset = -3 local limitDates = data.limitDates local julianDateOfGregorianStart = data.julianDateOfGregorianStart p.julianToGregorian = function(indate) if indate.calendarmodel ~= 'http://www.wikidata.org/entity/Q1985786' and indate.calendarmodel ~= 'http://www.wikidata.org/entity/Q11184' and indate.calendar ~= 'julian' then return indate end local offset = initialOffset local limitDateIdx = 1 while limitDateIdx < data.limitDatesSize and compareDates(limitDates[limitDateIdx], indate) >= 0 do limitDateIdx = limitDateIdx + 1 offset = offset + 1 end local outputDate = DateUtils.addDaysToDate(indate, offset) outputDate.calendar = 'gregorian' outputDate.calendarmodel = 'http://www.wikidata.org/entity/Q1985727' return outputDate end local function extractDateFromFrame(frame) local outdate = {} local frameargs = getArgs(frame) outdate.year = tonumber(frameargs[1] or frameargs['year'] or 1) outdate.month = tonumber(frameargs[2] or frameargs['month'] or 1) outdate.day = tonumber(frameargs[3] or frameargs['day'] or 1) outdate.precision = 8 if frameargs[1] or frameargs['year'] then if frameargs[2] or frameargs['month'] then if frameargs[3] or frameargs['day'] then outdate.precision = outdate.precision + 1 end outdate.precision = outdate.precision + 1 end outdate.precision = outdate.precision + 1 end outdate.calendar = mw.ustring.lower(mw.text.trim(frameargs['calendar'] or 'gregorian')) return outdate end p.julianToGregorianFromFrame = function(frame) local indate = extractDateFromFrame(frame) indate.calendar = 'julian' return DateUtils.formatDate(p.julianToGregorian(indate)) end p.convertToGregorianIfInInterval = function(indate) local outdate = indate if compareDates(julianDateOfGregorianStart, indate) >= 0 then outdate = p.julianToGregorian(indate) end return outdate end p.displayDualDateIfInInterval = function(indate, link, dateFormat) local outdate = p.convertToGregorianIfInInterval(indate) local gregoriandate = compareDates(julianDateOfGregorianStart, indate) < 0 and p.julianToGregorian(indate) or outdate local linkstat = { old = false, new = false } if (type(link) == 'boolean') and link or link == 'both' or link == 'ambele' then linkstat.old = true linkstat.new = true elseif link == 'old' then linkstat.old = true elseif link == 'new' then linkstat.new = true end local fullDate if outdate.year ~= indate.year then fullDate = DateUtils.formatDate(indate, linkstat.old, true, dateFormat) .. '/' .. DateUtils.formatDate(outdate, linkstat.new, true, dateFormat) elseif outdate.month ~= indate.month then fullDate = DateUtils.formatDate(indate, linkstat.old, true, dateFormat or linkstat.old and '[[j F]]' or 'j F') .. '/' .. DateUtils.formatDate(outdate, linkstat.new, true, dateFormat) elseif outdate.day ~= indate.day then fullDate = DateUtils.formatDate(indate, linkstat.old, true, dateFormat or linkstat.old and '[[j F|j]]' or 'j') .. '/' .. DateUtils.formatDate(outdate, linkstat.new, true, dateFormat) else fullDate = DateUtils.formatDate(outdate, linkstat.new or linkstat.old, true, dateFormat) end return indate.precision >= 11 and DateUtils.surroundWithTimeTag(fullDate, gregoriandate) or fullDate end p.displayDualDateIfInIntervalFromFrame = function(frame) local indate = extractDateFromFrame(frame) local args = getArgs(frame) indate.calendar = indate.calendar or (frame.args['julian'] and 'julian' or 'gregorian') local link = args['link'] local argslink = args['link'] if argslink == 'yes' or argslink == 'y' or argslink == 'da' or argslink == 'true' or argslink == 'd' then link = 'both' end local dateFormat = args['format'] or args['date_format'] or args['dateFormat'] return p.displayDualDateIfInInterval(indate, link, dateFormat) end return p 85sjaex59neqo7zlquswlo6rzuwnupq Module:GregorianDate/data 828 3380 36585 2025-12-15T19:18:03Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local limitDates = { {year = 4, month = 3, day = 3, calendar = 'julian' }, {year = 100, month = 3, day = 2, calendar = 'julian' }, {year = 200, month = 3, day = 1, calendar = 'julian' }, {year = 300, month = 2, day = 29, calendar = 'julian' }, {year = 500, month = 2, day = 28, calendar = 'julian' }, {year = 600, month = 2, day = 27, calendar = 'julian' }, {year = 700, month = 2, day = 26, calendar = 'julian' }, {year = 900, month = 2, day =...' 36585 Scribunto text/plain local limitDates = { {year = 4, month = 3, day = 3, calendar = 'julian' }, {year = 100, month = 3, day = 2, calendar = 'julian' }, {year = 200, month = 3, day = 1, calendar = 'julian' }, {year = 300, month = 2, day = 29, calendar = 'julian' }, {year = 500, month = 2, day = 28, calendar = 'julian' }, {year = 600, month = 2, day = 27, calendar = 'julian' }, {year = 700, month = 2, day = 26, calendar = 'julian' }, {year = 900, month = 2, day = 25, calendar = 'julian' }, {year = 1000, month = 2, day = 24, calendar = 'julian' }, {year = 1100, month = 2, day = 23, calendar = 'julian' }, {year = 1300, month = 2, day = 22, calendar = 'julian' }, {year = 1400, month = 2, day = 21, calendar = 'julian' }, {year = 1500, month = 2, day = 20, calendar = 'julian' }, {year = 1700, month = 2, day = 19, calendar = 'julian' }, {year = 1800, month = 2, day = 18, calendar = 'julian' }, {year = 1900, month = 2, day = 17, calendar = 'julian' }, {year = 2100, month = 2, day = 16, calendar = 'julian' }, {year = 2200, month = 2, day = 15, calendar = 'julian' }, {year = 2300, month = 2, day = 14, calendar = 'julian' } } return { limitDates = limitDates, limitDatesSize = 19, julianDateOfGregorianStart = {year = 1582, month = 10, day = 5} } 6b0fg12fpv7bgmmkuutopa6c97430kr Module:FIFARanking 828 3381 36586 2025-12-15T19:21:02Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} local lang = mw.getContentLanguage() local i18n = { ["errors"] = { ["entity-not-found"] = "Wikidata entity not found.", ["claims-not-found"] = "Wikidata entity has no claims.", ["property-not-found"] = "", ["unknown-claim-type"] = "Unknown claim type.", ["unknown-entity-type"] = "Unknown entity type.", ["qualifier-not-found"] = "Qualifier not found.", ["site-not-found"] = "Wikimedia project not found.", ["unknown-date...' 36586 Scribunto text/plain local p = {} local lang = mw.getContentLanguage() local i18n = { ["errors"] = { ["entity-not-found"] = "Wikidata entity not found.", ["claims-not-found"] = "Wikidata entity has no claims.", ["property-not-found"] = "", ["unknown-claim-type"] = "Unknown claim type.", ["unknown-entity-type"] = "Unknown entity type.", ["qualifier-not-found"] = "Qualifier not found.", ["site-not-found"] = "Wikimedia project not found.", ["unknown-datetime-format"] = "Unknown datetime format.", ["ranks-not-found"] = "" }, } local function stripToNil(text) -- If text is a non-empty string, return its trimmed content. -- Otherwise, return nothing (text is an empty string or is not a string). if type(text) == 'string' then return text:match('(%S.-)%s*$') end end -- returns year, month, day from timestamp resembling ISO 8601 -- see member time at https://www.wikidata.org/wiki/Special:ListDatatypes#time local function _timeToYMD(dateStr) return dateStr:match('([+-].*)-(.*)-(.*)T') end -- Return e.g. "3 Οκτωβρίου 2017" given "+2017-10-03T00:00:00Z" on [elwiki] local function dateText(timestamp) return lang:formatDate('j F Y', timestamp) end -- Checks whether time string is within given number of seconds -- see also https://www.wikidata.org/wiki/Special:ListDatatypes#time → [time] local function _dateIsRecent(dateStr, seconds) -- match year, month, day fields local y, m, d = _timeToYMD(dateStr) -- default 126230400 seconds (4 years) as suggested by -- https://en.wikipedia.org/wiki/Wikipedia_talk:Lua#Module_help_(2) local delta = seconds or 126230400 return os.time() - os.time({year = y, month = m, day = d}) < delta end local function getRankings(qid) -- Return table of all rankings or nil if none found. -- Each entry is a table { RANK, TIMESTAMP } where RANK is a number. local rankings = {} local props = mw.wikibase.getBestStatements(qid, 'P1352') local hasRecentRanking = false if not props then return nil end for _, v in pairs(props) do if v.qualifiers and v.qualifiers["P585"] and v.qualifiers["P459"] then if v.qualifiers["P459"][1].datavalue.value.id == "Q180825" then rankings[#rankings + 1] = { tonumber(v.mainsnak.datavalue.value.amount), -- rank number or nil v.qualifiers["P585"][1].datavalue.value.time -- timestamp } if _dateIsRecent(rankings[#rankings][2]) then hasRecentRanking = true end end end end if hasRecentRanking and next(rankings) then -- if table rank is not empty return rankings end return nil end function p.main(frame) local args = frame.args -- see if a qid was supplied for arbitrary access local qid = args.qid if qid == nil or qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end local rankings = getRankings(qid) if not rankings then return i18n.errors["ranks-not-found"] end -- For best and worst, second item should be a table of timestamps. local rankCurrent = { 0, "" } -- ranking/timestamp of entry with most-recent (largest) timestamp local rankBest = { 1e6, "" } -- ranking/timestamp of entry with best (smallest) ranking local rankWorst = { 0, "" } -- ranking/timestamp of entry with worst (largest) ranking for i, v in ipairs(rankings) do if v[2] > rankCurrent[2] then rankCurrent = v end if v[1] < rankBest[1] then rankBest = v end if v[1] > rankWorst[1] then rankWorst = v end end local rankWanted local want = stripToNil(args[1]) if want == 'max' then rankWanted = rankBest elseif want == 'min' then rankWanted = rankWorst else rankWanted = rankCurrent end local function text(r) return r[1] .. " (" .. dateText(r[2]) .. ")" end if stripToNil(args.dbg) then -- show all values for debugging if have parameter dbg=anything local lines = {} for _, v in ipairs(rankings) do lines[#lines + 1] = text(v) .. "<br>" end return table.concat(lines) .. "Wanted = " .. text(rankWanted) end return text(rankWanted) end return p po8j37g3izlbwpbba45luly0t6ssg5d Module:Dictionnaire Wikidata/Codes langue 828 3382 36587 2025-12-15T19:22:09Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--[[ correspondance élément Wikidata/code langue wikidata en SPARQL : https://w.wiki/4MTp SELECT DISTINCT ?result WHERE { { ?item wdt:P31/wdt:P279* wd:Q34770 . BIND(xsd:integer(SUBSTR(STR(?item), 33)) AS ?id). ?item wdt:P424 ?langue. BIND(CONCAT("[", SUBSTR(STR(?item), 33),"] = '", ?langue, "',") AS ?result). } UNION { ?item wdt:P31/wdt:P279* wd:Q25295 . BIND(xsd:integer(SUBSTR(STR(?item), 33)) AS ?id). ?item...' 36587 Scribunto text/plain --[[ correspondance élément Wikidata/code langue wikidata en SPARQL : https://w.wiki/4MTp SELECT DISTINCT ?result WHERE { { ?item wdt:P31/wdt:P279* wd:Q34770 . BIND(xsd:integer(SUBSTR(STR(?item), 33)) AS ?id). ?item wdt:P424 ?langue. BIND(CONCAT("[", SUBSTR(STR(?item), 33),"] = '", ?langue, "',") AS ?result). } UNION { ?item wdt:P31/wdt:P279* wd:Q25295 . BIND(xsd:integer(SUBSTR(STR(?item), 33)) AS ?id). ?item wdt:P424 ?langue. BIND(CONCAT("[", SUBSTR(STR(?item), 33),"] = '", ?langue, "',") AS ?result). } } ORDER BY ASC(?id) ]]-- return { [143] = 'eo', [150] = 'fr', [188] = 'de', [256] = 'tr', [294] = 'is', [397] = 'la', [652] = 'it', [809] = 'pl', [1321] = 'es', [1412] = 'fi', [1568] = 'hi', [1571] = 'mr', [1617] = 'ur', [1860] = 'en', [4627] = 'ay', [5111] = 'ab', [5137] = 'gu', [5146] = 'pt', [5218] = 'qu', [5287] = 'ja', [5885] = 'ta', [6654] = 'hr', [7026] = 'ca', [7411] = 'nl', [7737] = 'ru', [7838] = 'sw', [7850] = 'zh', [7913] = 'ro', [7918] = 'bg', [7930] = 'mg', [7976] = 'en-us', [8097] = 'te', [8108] = 'ka', [8641] = 'yi', [8748] = 'sq', [8752] = 'eu', [8765] = 'an', [8773] = 'akl', [8785] = 'hy', [8786] = 'gsw-fr', [8798] = 'uk', [8821] = 'cnr', [9027] = 'sv', [9035] = 'da', [9043] = 'no', [9051] = 'lb', [9056] = 'cs', [9058] = 'sk', [9063] = 'sl', [9067] = 'hu', [9072] = 'et', [9078] = 'lv', [9083] = 'lt', [9091] = 'be', [9129] = 'el', [9142] = 'ga', [9166] = 'mt', [9168] = 'fa', [9176] = 'ko', [9186] = 'zh-yue', [9199] = 'vi', [9205] = 'km', [9211] = 'lo', [9217] = 'th', [9228] = 'my', [9237] = 'ms', [9240] = 'id', [9246] = 'mn', [9252] = 'kk', [9255] = 'ky', [9260] = 'tg', [9264] = 'uz', [9267] = 'tk', [9288] = 'he', [9292] = 'az', [9296] = 'mk', [9299] = 'sr', [9301] = 'sh', [9303] = 'bs', [9307] = 'gl', [9309] = 'cy', [9314] = 'gd', [9610] = 'bn', [10134] = 'tlh', [10179] = 'zu', [10188] = 'zun', [10199] = 'diq', [11059] = 'sa', [12107] = 'br', [12175] = 'gv', [13198] = 'rcf', [13199] = 'rm', [13201] = 'rmy', [13216] = 'za', [13218] = 'xh', [13238] = 'udm', [13248] = 'hsb', [13263] = 'ug', [13267] = 'si', [13271] = 'sms', [13275] = 'so', [13286] = 'dsb', [13293] = 'sma', [13300] = 'nah', [13307] = 'na', [13310] = 'nv', [13321] = 'mic', [13324] = 'min', [13330] = 'mwl', [13343] = 'mdf', [13349] = 'mnw', [13351] = 'moe', [13356] = 'mzn', [13357] = 'fit', [13358] = 'ruq', [13359] = 'xmf', [13365] = 'mwv', [13389] = 'ba', [13955] = 'ar', [14185] = 'oc', [14196] = 'af', [14549] = 'sco', [14759] = 'ase', [15085] = 'pms', [15087] = 'frp', [18784] = 'ko-kp', [18795] = 'ko-kr', [20822] = 'ttm', [21117] = 'esu', [22711] = 'pdc', [23014] = 'pfl', [25164] = 'nn', [25167] = 'nb', [25258] = 'fo', [25285] = 'tt', [25289] = 'kw', [25355] = 'kl', [25433] = 'nds', [26245] = 'rue', [27154] = 'stq', [27175] = 'fy', [27183] = 'ik', [27480] = 'eya', [27567] = 'abq', [27683] = 'ace', [27776] = 'ady', [27792] = 'tli', [27811] = 'aa', [28026] = 'ak', [28224] = 'frr', [28244] = 'am', [28304] = 'koy', [28378] = 'anp', [28427] = 'cal', [28535] = 'clc', [28602] = 'arc', [29316] = 'rup', [29401] = 'as', [29507] = 'ast', [29540] = 'bar', [29561] = 'av', [29579] = 'awa', [29919] = 'arz', [29921] = 'iu', [29952] = 'myv', [30005] = 'ee', [30007] = 'ext', [30319] = 'szl', [30898] = 'gil', [31746] = 'lez', [32145] = 'ksh', [32238] = 'dag', [32332] = 'dar', [32656] = 'dv', [32704] = 've', [32724] = 'vec', [32747] = 'vep', [32762] = 'fiu-vro', [32858] = 'vot', [32952] = 'ccp', [32979] = 'cho', [33000] = 'bfi', [33013] = 'dua', [33017] = 'bbc', [33025] = 'bej', [33060] = 'bla', [33070] = 'ban', [33081] = 'dz', [33111] = 'co', [33120] = 'bxr', [33151] = 'bjn', [33170] = 'ckt', [33173] = 'ctg', [33190] = 'bug', [33202] = 'brh', [33205] = 'bfq', [33219] = 'map-bms', [33223] = 'brx', [33239] = 'ceb', [33243] = 'bm', [33251] = 'cu', [33262] = 'ch', [33265] = 'chy', [33268] = 'bh', [33270] = 'hoc', [33273] = 'ny', [33274] = 'shy', [33281] = 'cbk-zam', [33282] = 'gsg', [33287] = 'gaa', [33291] = 'fon', [33295] = 'fj', [33303] = 'hai', [33315] = 'hz', [33348] = 'cv', [33350] = 'ce', [33357] = 'crh', [33368] = 'lg', [33375] = 'hak', [33388] = 'chr', [33390] = 'cr', [33434] = 'kut', [33441] = 'fur', [33454] = 'ff', [33457] = 'gag', [33462] = 'smn', [33475] = 'gan', [33491] = 'ht', [33509] = 'inh', [33522] = 'kbd', [33537] = 'lkt', [33538] = 'syc', [33541] = 'kaa', [33549] = 'jv', [33552] = 'ks', [33557] = 'krl', [33569] = 'haw', [33573] = 'rw', [33575] = 'kjh', [33578] = 'ig', [33583] = 'rn', [33584] = 'kha', [33587] = 'ki', [33617] = 'ho', [33628] = 'loz', [33634] = 'xal', [33638] = 'mnc', [33656] = 'sjd', [33657] = 'glk', [33661] = 'mfe', [33673] = 'kn', [33690] = 'csb', [33698] = 'liv', [33702] = 'kg', [33714] = 'krc', [33720] = 'krj', [33730] = 'arn', [33754] = 'lmo', [33786] = 'sid', [33790] = 'niu', [33810] = 'or', [33823] = 'ne', [33845] = 'nap', [33850] = 'nrm', [33856] = 'pap', [33864] = 'om', [33868] = 'mni', [33871] = 'nog', [33875] = 'oj', [33879] = 'pag', [33890] = 'nso', [33900] = 'ng', [33902] = 'skr', [33947] = 'se', [33954] = 'sg', [33965] = 'sat', [33968] = 'os', [33973] = 'scn', [33976] = 'sc', [33979] = 'new', [33989] = 'srn', [33997] = 'sd', [34002] = 'su', [34004] = 'sn', [34011] = 'sm', [34014] = 'ss', [34015] = 'crs', [34024] = 'pcd', [34029] = 'yap', [34040] = 'tru', [34055] = 'tvl', [34057] = 'tl', [34094] = 'to', [34119] = 'tyv', [34124] = 'ti', [34125] = 'tet', [34128] = 'ty', [34137] = 'tn', [34138] = 'tum', [34142] = 'tsg', [34152] = 'shi', [34159] = 'tpi', [34174] = 'rif', [34179] = 'ydg', [34208] = 'wbl', [34219] = 'wa', [34233] = 'ryu', [34235] = 'ii', [34247] = 'yai', [34251] = 'tcy', [34257] = 'wo', [34271] = 'bo', [34279] = 'war', [34290] = 'wuu', [34299] = 'sah', [34311] = 'yo', [34318] = 'tly', [34327] = 'ts', [34333] = 'yrl', [34340] = 'st', [34737] = 'agq', [34806] = 'bss', [34988] = 'otk', [35115] = 'cak', [35132] = 'ami', [35173] = 'chn', [35218] = 'goh', [35222] = 'fro', [35224] = 'io', [35225] = 'peo', [35452] = 'bi', [35475] = 'kbp', [35497] = 'grc', [35499] = 'cu', [35501] = 'prg', [35505] = 'non', [35527] = 'dlm', [35655] = 'ses', [35667] = 'gez', [35704] = 'krx', [35722] = 'got', [35726] = 'ett', [35744] = 'kri', [35761] = 'nxm', [35850] = 'ie', [35853] = 'kab', [35876] = 'gn', [35934] = 'ia', [35936] = 'ilo', [35939] = 'jam', [35963] = 'kea', [35978] = 'hil', [36094] = 'kr', [36106] = 'lij', [36109] = 'mai', [36121] = 'pam', [36126] = 'kv', [36147] = 'lus', [36155] = 'cop', [36163] = 'ku', [36196] = 'lad', [36202] = 'lld', [36206] = 'lbe', [36209] = 'kum', [36212] = 'ltg', [36213] = 'mad', [36217] = 'ln', [36236] = 'ml', [36280] = 'mh', [36323] = 'pko', [36350] = 'jbo', [36368] = 'ku', [36387] = 'gkm', [36392] = 'mo', [36395] = 'enm', [36435] = 'uun', [36451] = 'mi', [36452] = 'yrk', [36455] = 'cdo', [36459] = 'nui', [36494] = 'quc', [36495] = 'nan', [36495] = 'zh-min-nan', [36510] = 'el', [36554] = 'pih', [36583] = 'sei', [36584] = 'olo', [36656] = 'sjt', [36699] = 'pis', [36727] = 'pi', [36730] = 'ota', [36738] = 'nov', [36745] = 'rar', [36748] = 'pnt', [36785] = 'nr', [36811] = 'ckb', [36850] = 'tw', [36943] = 'wal', [36979] = 'wls', [36986] = 'vo', [37041] = 'lzh', [37059] = 'bpy', [42365] = 'ang', [44676] = 'en-ca', [46728] = 'hif', [49232] = 'dru', [49741] = 'tzm', [56240] = 'aeb', [56314] = 'sje', [56318] = 'koi', [56322] = 'smj', [56383] = 'qya', [56410] = 'ksw', [56415] = 'sju', [56426] = 'ary', [56428] = 'nrf-gg', [56430] = 'nrf-je', [56437] = 'sjn', [56466] = 'din', [56475] = 'ha', [56482] = 'shn', [56483] = 'lki', [56485] = 'wym', [56499] = 'arq', [56505] = 'bnn', [56508] = 'sou', [56509] = 'adx', [56547] = 'umu', [56583] = 'cpx', [56590] = 'atj', [56601] = 'khg', [58635] = 'pa', [58680] = 'ps', [100103] = 'vls', [102172] = 'li', [131339] = 'gsw', [146803] = 'lfn', [152965] = 'sli', [165795] = 'fkv', [172244] = 'xnb', [178440] = 'fa-af', [180945] = 'hyw', [181037] = 'aln', [197936] = 'abe', [213434] = 'bat-smg', [216286] = 'bsk', [237409] = 'zea', [242648] = 'eml', [254950] = 'ovd', [257829] = 'bqi', [262828] = 'zh-tw', [304049] = 'hrx', [306626] = 'de-at', [387066] = 'gsw', [497345] = 'vmf', [505674] = 'gml', [516137] = 'nds-nl', [523014] = 'mus', [535958] = 'xpu', [565110] = 'nod', [584983] = 'lag', [615660] = 'mui', [676492] = 'ssf', [688873] = 'rm-rumgr', [715755] = 'pwn', [715766] = 'tay', [716599] = 'sxr', [716604] = 'fos', [716615] = 'bzg', [716627] = 'ckv', [716647] = 'byq', [716681] = 'tsu', [716686] = 'trv', [716690] = 'pyu', [716695] = 'xsy', [718269] = 'szy', [837985] = 'gmh', [845441] = 'sdc', [891085] = 'guc', [938216] = 'khw', [1057898] = 'egl', [1063911] = 'tzl', [1066787] = 'uzs', [1160372] = 'lzz', [1194341] = 'ru-sib', [1340322] = 'jut', [1363072] = 'gcr', [1366643] = 'de-ch', [1377116] = 'avk', [1389492] = 'pnb', [1405077] = 'kj', [1420587] = 'nn-hognorsk', [1473289] = 'frm', [1496597] = 'sdh', [1641543] = 'rgn', [1704302] = 'nsk', [1740805] = 'qug', [1751432] = 'pdt', [1776032] = 'mrj', [1815020] = 'akz', [1975271] = 'tvx', [1982248] = 'hbo', [1991779] = 'alt', [2093214] = 'rmf', [2094884] = 'ppu', [2393095] = 'ood', [2407831] = 'nia', [2417210] = 'mis-x-Q2417210', [2501174] = 'gor', [2600085] = 'osa', [2779411] = 'kae', [2880037] = 'bdr', [2891049] = 'btm', [2937525] = 'cps', [2982063] = 'pjt', [3006280] = 'gcf', [3027953] = 'srq', [3083213] = 'frc', [3111668] = 'guw', [3124354] = 'abs', [3241618] = 'rkt', [3250286] = 'cnh', [3287253] = 'sjm', [3306265] = 'ins', [3436689] = 'bzs', [3449805] = 'azb', [3450749] = 'rki', [3906614] = 'mhr', [3912765] = 'kcg', [3915357] = 'fuf', [3915769] = 'jax', [4175893] = 'mrh', [4380827] = 'zh-tw', [4418344] = 'sty', [5045611] = 'rmc', [5317225] = 'dtp', [5330390] = 'kjp', [5575236] = 'gom', [6023868] = 'kiu', [7033959] = 'zh-yue', [7049771] = 'nys', [7598268] = 'zgh', [7689158] = 'tvn', [10729616] = 'aoc', [11159532] = 'tsk', [12473446] = 'pmy', [12633026] = 'bto', [12634001] = 'bcc', [12642195] = 'crl', [12645561] = 'bgn', [12952626] = 'kbg', [12952748] = 'luz', [12953315] = 'yav', [13414913] = 'zh-hans', [16116629] = 'bxr', [18130932] = 'zh-hant', [18415595] = 'dty', [18546266] = 'nqo', [19933293] = 'lrc', [21161942] = 'sr-ec', [21161949] = 'sr-el', [21480034] = 'en-simple', [21480034] = 'simple', [21480034] = 'en-x-simple', [22282914] = 'und', [22338135] = 'ug-arab', [22338145] = 'ug-latn', [24841726] = 'zh-cn', [31091048] = 'tce', [53979341] = 'ja-hira', [53979342] = 'ja-kana', [53979345] = 'ja-hrkt', [53979504] = 'ja-hani', [64427343] = 'es-formal', [64427347] = 'hu-formal', [64427349] = 'kk-cn', [64427350] = 'kk-kz', [64427352] = 'kk-tr', [64427356] = 'nl-informal', [64427357] = 'zh-mo', [65455884] = 'rwr', } 6oow0oxijip9x3eoy5n2hknneutyt64 Module:Dictionnaire Wikidata/Codes langue/inversé 828 3383 36588 2025-12-15T19:23:04Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--[[ correspondance élément Wikidata/code langue wikidata en SPARQL : https://w.wiki/4MU2 SELECT DISTINCT ?result WHERE { { ?item wdt:P31/wdt:P279* wd:Q34770 . BIND(xsd:integer(SUBSTR(STR(?item), 33)) AS ?id). ?item wdt:P424 ?langue. BIND(CONCAT("['", ?langue,"'] = '", SUBSTR(STR(?item), 32), "',") AS ?result). } UNION { ?item wdt:P31/wdt:P279* wd:Q25295 . BIND(xsd:integer(SUBSTR(STR(?item), 33)) AS ?id). ?ite...' 36588 Scribunto text/plain --[[ correspondance élément Wikidata/code langue wikidata en SPARQL : https://w.wiki/4MU2 SELECT DISTINCT ?result WHERE { { ?item wdt:P31/wdt:P279* wd:Q34770 . BIND(xsd:integer(SUBSTR(STR(?item), 33)) AS ?id). ?item wdt:P424 ?langue. BIND(CONCAT("['", ?langue,"'] = '", SUBSTR(STR(?item), 32), "',") AS ?result). } UNION { ?item wdt:P31/wdt:P279* wd:Q25295 . BIND(xsd:integer(SUBSTR(STR(?item), 33)) AS ?id). ?item wdt:P424 ?langue. BIND(CONCAT("['", ?langue,"'] = '", SUBSTR(STR(?item), 32), "',") AS ?result). } } ORDER BY ASC(?id) ]]-- return { ['eo'] = 'Q143', ['fr'] = 'Q150', ['de'] = 'Q188', ['tr'] = 'Q256', ['is'] = 'Q294', ['la'] = 'Q397', ['it'] = 'Q652', ['pl'] = 'Q809', ['es'] = 'Q1321', ['fi'] = 'Q1412', ['hi'] = 'Q1568', ['mr'] = 'Q1571', ['ur'] = 'Q1617', ['en'] = 'Q1860', ['ay'] = 'Q4627', ['ab'] = 'Q5111', ['gu'] = 'Q5137', ['pt'] = 'Q5146', ['qu'] = 'Q5218', ['ja'] = 'Q5287', ['ta'] = 'Q5885', ['hr'] = 'Q6654', ['ca'] = 'Q7026', ['nl'] = 'Q7411', ['ru'] = 'Q7737', ['sw'] = 'Q7838', ['zh'] = 'Q7850', ['ro'] = 'Q7913', ['bg'] = 'Q7918', ['mg'] = 'Q7930', ['en-us'] = 'Q7976', ['te'] = 'Q8097', ['ka'] = 'Q8108', ['yi'] = 'Q8641', ['sq'] = 'Q8748', ['eu'] = 'Q8752', ['an'] = 'Q8765', ['akl'] = 'Q8773', ['hy'] = 'Q8785', ['gsw-fr'] = 'Q8786', ['uk'] = 'Q8798', ['cnr'] = 'Q8821', ['sv'] = 'Q9027', ['da'] = 'Q9035', ['no'] = 'Q9043', ['lb'] = 'Q9051', ['cs'] = 'Q9056', ['sk'] = 'Q9058', ['sl'] = 'Q9063', ['hu'] = 'Q9067', ['et'] = 'Q9072', ['lv'] = 'Q9078', ['lt'] = 'Q9083', ['be'] = 'Q9091', ['el'] = 'Q9129', ['ga'] = 'Q9142', ['mt'] = 'Q9166', ['fa'] = 'Q9168', ['ko'] = 'Q9176', ['zh-yue'] = 'Q9186', ['vi'] = 'Q9199', ['km'] = 'Q9205', ['lo'] = 'Q9211', ['th'] = 'Q9217', ['my'] = 'Q9228', ['ms'] = 'Q9237', ['id'] = 'Q9240', ['mn'] = 'Q9246', ['kk'] = 'Q9252', ['ky'] = 'Q9255', ['tg'] = 'Q9260', ['uz'] = 'Q9264', ['tk'] = 'Q9267', ['he'] = 'Q9288', ['az'] = 'Q9292', ['mk'] = 'Q9296', ['sr'] = 'Q9299', ['sh'] = 'Q9301', ['bs'] = 'Q9303', ['gl'] = 'Q9307', ['cy'] = 'Q9309', ['gd'] = 'Q9314', ['bn'] = 'Q9610', ['tlh'] = 'Q10134', ['zu'] = 'Q10179', ['zun'] = 'Q10188', ['diq'] = 'Q10199', ['sa'] = 'Q11059', ['br'] = 'Q12107', ['gv'] = 'Q12175', ['rcf'] = 'Q13198', ['rm'] = 'Q13199', ['rmy'] = 'Q13201', ['za'] = 'Q13216', ['xh'] = 'Q13218', ['udm'] = 'Q13238', ['hsb'] = 'Q13248', ['ug'] = 'Q13263', ['si'] = 'Q13267', ['sms'] = 'Q13271', ['so'] = 'Q13275', ['dsb'] = 'Q13286', ['sma'] = 'Q13293', ['nah'] = 'Q13300', ['na'] = 'Q13307', ['nv'] = 'Q13310', ['mic'] = 'Q13321', ['min'] = 'Q13324', ['mwl'] = 'Q13330', ['mdf'] = 'Q13343', ['mnw'] = 'Q13349', ['moe'] = 'Q13351', ['mzn'] = 'Q13356', ['fit'] = 'Q13357', ['ruq'] = 'Q13358', ['xmf'] = 'Q13359', ['mwv'] = 'Q13365', ['ba'] = 'Q13389', ['ar'] = 'Q13955', ['oc'] = 'Q14185', ['af'] = 'Q14196', ['sco'] = 'Q14549', ['ase'] = 'Q14759', ['pms'] = 'Q15085', ['frp'] = 'Q15087', ['ko-kp'] = 'Q18784', ['ko-kr'] = 'Q18795', ['ttm'] = 'Q20822', ['esu'] = 'Q21117', ['pdc'] = 'Q22711', ['pfl'] = 'Q23014', ['nn'] = 'Q25164', ['nb'] = 'Q25167', ['fo'] = 'Q25258', ['tt'] = 'Q25285', ['kw'] = 'Q25289', ['kl'] = 'Q25355', ['nds'] = 'Q25433', ['rue'] = 'Q26245', ['stq'] = 'Q27154', ['fy'] = 'Q27175', ['ik'] = 'Q27183', ['eya'] = 'Q27480', ['abq'] = 'Q27567', ['ace'] = 'Q27683', ['ady'] = 'Q27776', ['tli'] = 'Q27792', ['aa'] = 'Q27811', ['ak'] = 'Q28026', ['frr'] = 'Q28224', ['am'] = 'Q28244', ['koy'] = 'Q28304', ['anp'] = 'Q28378', ['cal'] = 'Q28427', ['clc'] = 'Q28535', ['arc'] = 'Q28602', ['rup'] = 'Q29316', ['as'] = 'Q29401', ['ast'] = 'Q29507', ['bar'] = 'Q29540', ['av'] = 'Q29561', ['awa'] = 'Q29579', ['arz'] = 'Q29919', ['iu'] = 'Q29921', ['myv'] = 'Q29952', ['ee'] = 'Q30005', ['ext'] = 'Q30007', ['szl'] = 'Q30319', ['gil'] = 'Q30898', ['lez'] = 'Q31746', ['ksh'] = 'Q32145', ['dag'] = 'Q32238', ['dar'] = 'Q32332', ['dv'] = 'Q32656', ['ve'] = 'Q32704', ['vec'] = 'Q32724', ['vep'] = 'Q32747', ['fiu-vro'] = 'Q32762', ['vot'] = 'Q32858', ['ccp'] = 'Q32952', ['cho'] = 'Q32979', ['bfi'] = 'Q33000', ['dua'] = 'Q33013', ['bbc'] = 'Q33017', ['bej'] = 'Q33025', ['bla'] = 'Q33060', ['ban'] = 'Q33070', ['dz'] = 'Q33081', ['co'] = 'Q33111', ['bxr'] = 'Q33120', ['bjn'] = 'Q33151', ['ckt'] = 'Q33170', ['ctg'] = 'Q33173', ['bug'] = 'Q33190', ['brh'] = 'Q33202', ['bfq'] = 'Q33205', ['map-bms'] = 'Q33219', ['brx'] = 'Q33223', ['ceb'] = 'Q33239', ['bm'] = 'Q33243', ['cu'] = 'Q33251', ['ch'] = 'Q33262', ['chy'] = 'Q33265', ['bh'] = 'Q33268', ['hoc'] = 'Q33270', ['ny'] = 'Q33273', ['shy'] = 'Q33274', ['cbk-zam'] = 'Q33281', ['gsg'] = 'Q33282', ['gaa'] = 'Q33287', ['fon'] = 'Q33291', ['fj'] = 'Q33295', ['hai'] = 'Q33303', ['hz'] = 'Q33315', ['cv'] = 'Q33348', ['ce'] = 'Q33350', ['crh'] = 'Q33357', ['lg'] = 'Q33368', ['hak'] = 'Q33375', ['chr'] = 'Q33388', ['cr'] = 'Q33390', ['kut'] = 'Q33434', ['fur'] = 'Q33441', ['ff'] = 'Q33454', ['gag'] = 'Q33457', ['smn'] = 'Q33462', ['gan'] = 'Q33475', ['ht'] = 'Q33491', ['inh'] = 'Q33509', ['kbd'] = 'Q33522', ['lkt'] = 'Q33537', ['syc'] = 'Q33538', ['kaa'] = 'Q33541', ['jv'] = 'Q33549', ['ks'] = 'Q33552', ['krl'] = 'Q33557', ['haw'] = 'Q33569', ['rw'] = 'Q33573', ['kjh'] = 'Q33575', ['ig'] = 'Q33578', ['rn'] = 'Q33583', ['kha'] = 'Q33584', ['ki'] = 'Q33587', ['ho'] = 'Q33617', ['loz'] = 'Q33628', ['xal'] = 'Q33634', ['mnc'] = 'Q33638', ['sjd'] = 'Q33656', ['glk'] = 'Q33657', ['mfe'] = 'Q33661', ['kn'] = 'Q33673', ['csb'] = 'Q33690', ['liv'] = 'Q33698', ['kg'] = 'Q33702', ['krc'] = 'Q33714', ['krj'] = 'Q33720', ['arn'] = 'Q33730', ['lmo'] = 'Q33754', ['sid'] = 'Q33786', ['niu'] = 'Q33790', ['or'] = 'Q33810', ['ne'] = 'Q33823', ['nap'] = 'Q33845', ['nrm'] = 'Q33850', ['pap'] = 'Q33856', ['om'] = 'Q33864', ['mni'] = 'Q33868', ['nog'] = 'Q33871', ['oj'] = 'Q33875', ['pag'] = 'Q33879', ['nso'] = 'Q33890', ['ng'] = 'Q33900', ['skr'] = 'Q33902', ['se'] = 'Q33947', ['sg'] = 'Q33954', ['sat'] = 'Q33965', ['os'] = 'Q33968', ['scn'] = 'Q33973', ['sc'] = 'Q33976', ['new'] = 'Q33979', ['srn'] = 'Q33989', ['sd'] = 'Q33997', ['su'] = 'Q34002', ['sn'] = 'Q34004', ['sm'] = 'Q34011', ['ss'] = 'Q34014', ['crs'] = 'Q34015', ['pcd'] = 'Q34024', ['yap'] = 'Q34029', ['tru'] = 'Q34040', ['tvl'] = 'Q34055', ['tl'] = 'Q34057', ['to'] = 'Q34094', ['tyv'] = 'Q34119', ['ti'] = 'Q34124', ['tet'] = 'Q34125', ['ty'] = 'Q34128', ['tn'] = 'Q34137', ['tum'] = 'Q34138', ['tsg'] = 'Q34142', ['shi'] = 'Q34152', ['tpi'] = 'Q34159', ['rif'] = 'Q34174', ['ydg'] = 'Q34179', ['wbl'] = 'Q34208', ['wa'] = 'Q34219', ['ryu'] = 'Q34233', ['ii'] = 'Q34235', ['yai'] = 'Q34247', ['tcy'] = 'Q34251', ['wo'] = 'Q34257', ['bo'] = 'Q34271', ['war'] = 'Q34279', ['wuu'] = 'Q34290', ['sah'] = 'Q34299', ['yo'] = 'Q34311', ['tly'] = 'Q34318', ['ts'] = 'Q34327', ['yrl'] = 'Q34333', ['st'] = 'Q34340', ['agq'] = 'Q34737', ['bss'] = 'Q34806', ['otk'] = 'Q34988', ['cak'] = 'Q35115', ['ami'] = 'Q35132', ['chn'] = 'Q35173', ['goh'] = 'Q35218', ['fro'] = 'Q35222', ['io'] = 'Q35224', ['peo'] = 'Q35225', ['bi'] = 'Q35452', ['kbp'] = 'Q35475', ['grc'] = 'Q35497', ['cu'] = 'Q35499', ['prg'] = 'Q35501', ['non'] = 'Q35505', ['dlm'] = 'Q35527', ['ses'] = 'Q35655', ['gez'] = 'Q35667', ['krx'] = 'Q35704', ['got'] = 'Q35722', ['ett'] = 'Q35726', ['kri'] = 'Q35744', ['nxm'] = 'Q35761', ['ie'] = 'Q35850', ['kab'] = 'Q35853', ['gn'] = 'Q35876', ['ia'] = 'Q35934', ['ilo'] = 'Q35936', ['jam'] = 'Q35939', ['kea'] = 'Q35963', ['hil'] = 'Q35978', ['kr'] = 'Q36094', ['lij'] = 'Q36106', ['mai'] = 'Q36109', ['pam'] = 'Q36121', ['kv'] = 'Q36126', ['lus'] = 'Q36147', ['cop'] = 'Q36155', ['ku'] = 'Q36163', ['lad'] = 'Q36196', ['lld'] = 'Q36202', ['lbe'] = 'Q36206', ['kum'] = 'Q36209', ['ltg'] = 'Q36212', ['mad'] = 'Q36213', ['ln'] = 'Q36217', ['ml'] = 'Q36236', ['mh'] = 'Q36280', ['pko'] = 'Q36323', ['jbo'] = 'Q36350', ['ku'] = 'Q36368', ['gkm'] = 'Q36387', ['mo'] = 'Q36392', ['enm'] = 'Q36395', ['uun'] = 'Q36435', ['mi'] = 'Q36451', ['yrk'] = 'Q36452', ['cdo'] = 'Q36455', ['nui'] = 'Q36459', ['quc'] = 'Q36494', ['nan'] = 'Q36495', ['zh-min-nan'] = 'Q36495', ['el'] = 'Q36510', ['pih'] = 'Q36554', ['sei'] = 'Q36583', ['olo'] = 'Q36584', ['sjt'] = 'Q36656', ['pis'] = 'Q36699', ['pi'] = 'Q36727', ['ota'] = 'Q36730', ['nov'] = 'Q36738', ['rar'] = 'Q36745', ['pnt'] = 'Q36748', ['nr'] = 'Q36785', ['ckb'] = 'Q36811', ['tw'] = 'Q36850', ['wal'] = 'Q36943', ['wls'] = 'Q36979', ['vo'] = 'Q36986', ['lzh'] = 'Q37041', ['bpy'] = 'Q37059', ['ang'] = 'Q42365', ['en-ca'] = 'Q44676', ['hif'] = 'Q46728', ['dru'] = 'Q49232', ['tzm'] = 'Q49741', ['aeb'] = 'Q56240', ['sje'] = 'Q56314', ['koi'] = 'Q56318', ['smj'] = 'Q56322', ['qya'] = 'Q56383', ['ksw'] = 'Q56410', ['sju'] = 'Q56415', ['ary'] = 'Q56426', ['nrf-gg'] = 'Q56428', ['nrf-je'] = 'Q56430', ['sjn'] = 'Q56437', ['din'] = 'Q56466', ['ha'] = 'Q56475', ['shn'] = 'Q56482', ['lki'] = 'Q56483', ['wym'] = 'Q56485', ['arq'] = 'Q56499', ['bnn'] = 'Q56505', ['sou'] = 'Q56508', ['adx'] = 'Q56509', ['umu'] = 'Q56547', ['cpx'] = 'Q56583', ['atj'] = 'Q56590', ['khg'] = 'Q56601', ['pa'] = 'Q58635', ['ps'] = 'Q58680', ['vls'] = 'Q100103', ['li'] = 'Q102172', ['gsw'] = 'Q131339', ['lfn'] = 'Q146803', ['sli'] = 'Q152965', ['fkv'] = 'Q165795', ['xnb'] = 'Q172244', ['fa-af'] = 'Q178440', ['hyw'] = 'Q180945', ['aln'] = 'Q181037', ['abe'] = 'Q197936', ['bat-smg'] = 'Q213434', ['bsk'] = 'Q216286', ['zea'] = 'Q237409', ['eml'] = 'Q242648', ['ovd'] = 'Q254950', ['bqi'] = 'Q257829', ['zh-tw'] = 'Q262828', ['hrx'] = 'Q304049', ['de-at'] = 'Q306626', ['gsw'] = 'Q387066', ['vmf'] = 'Q497345', ['gml'] = 'Q505674', ['nds-nl'] = 'Q516137', ['mus'] = 'Q523014', ['xpu'] = 'Q535958', ['nod'] = 'Q565110', ['lag'] = 'Q584983', ['mui'] = 'Q615660', ['ssf'] = 'Q676492', ['rm-rumgr'] = 'Q688873', ['pwn'] = 'Q715755', ['tay'] = 'Q715766', ['sxr'] = 'Q716599', ['fos'] = 'Q716604', ['bzg'] = 'Q716615', ['ckv'] = 'Q716627', ['byq'] = 'Q716647', ['tsu'] = 'Q716681', ['trv'] = 'Q716686', ['pyu'] = 'Q716690', ['xsy'] = 'Q716695', ['szy'] = 'Q718269', ['gmh'] = 'Q837985', ['sdc'] = 'Q845441', ['guc'] = 'Q891085', ['khw'] = 'Q938216', ['egl'] = 'Q1057898', ['tzl'] = 'Q1063911', ['uzs'] = 'Q1066787', ['lzz'] = 'Q1160372', ['ru-sib'] = 'Q1194341', ['jut'] = 'Q1340322', ['gcr'] = 'Q1363072', ['de-ch'] = 'Q1366643', ['avk'] = 'Q1377116', ['pnb'] = 'Q1389492', ['kj'] = 'Q1405077', ['nn-hognorsk'] = 'Q1420587', ['frm'] = 'Q1473289', ['sdh'] = 'Q1496597', ['rgn'] = 'Q1641543', ['nsk'] = 'Q1704302', ['qug'] = 'Q1740805', ['pdt'] = 'Q1751432', ['mrj'] = 'Q1776032', ['akz'] = 'Q1815020', ['tvx'] = 'Q1975271', ['hbo'] = 'Q1982248', ['alt'] = 'Q1991779', ['rmf'] = 'Q2093214', ['ppu'] = 'Q2094884', ['ood'] = 'Q2393095', ['nia'] = 'Q2407831', ['mis-x-Q2417210'] = 'Q2417210', ['gor'] = 'Q2501174', ['osa'] = 'Q2600085', ['kae'] = 'Q2779411', ['bdr'] = 'Q2880037', ['btm'] = 'Q2891049', ['cps'] = 'Q2937525', ['pjt'] = 'Q2982063', ['gcf'] = 'Q3006280', ['srq'] = 'Q3027953', ['frc'] = 'Q3083213', ['guw'] = 'Q3111668', ['abs'] = 'Q3124354', ['rkt'] = 'Q3241618', ['cnh'] = 'Q3250286', ['sjm'] = 'Q3287253', ['ins'] = 'Q3306265', ['bzs'] = 'Q3436689', ['azb'] = 'Q3449805', ['rki'] = 'Q3450749', ['mhr'] = 'Q3906614', ['kcg'] = 'Q3912765', ['fuf'] = 'Q3915357', ['jax'] = 'Q3915769', ['mrh'] = 'Q4175893', ['zh-tw'] = 'Q4380827', ['sty'] = 'Q4418344', ['rmc'] = 'Q5045611', ['dtp'] = 'Q5317225', ['kjp'] = 'Q5330390', ['gom'] = 'Q5575236', ['kiu'] = 'Q6023868', ['zh-yue'] = 'Q7033959', ['nys'] = 'Q7049771', ['zgh'] = 'Q7598268', ['tvn'] = 'Q7689158', ['aoc'] = 'Q10729616', ['tsk'] = 'Q11159532', ['pmy'] = 'Q12473446', ['bto'] = 'Q12633026', ['bcc'] = 'Q12634001', ['crl'] = 'Q12642195', ['bgn'] = 'Q12645561', ['kbg'] = 'Q12952626', ['luz'] = 'Q12952748', ['yav'] = 'Q12953315', ['zh-hans'] = 'Q13414913', ['bxr'] = 'Q16116629', ['zh-hant'] = 'Q18130932', ['dty'] = 'Q18415595', ['nqo'] = 'Q18546266', ['lrc'] = 'Q19933293', ['sr-ec'] = 'Q21161942', ['sr-el'] = 'Q21161949', ['en-simple'] = 'Q21480034', ['simple'] = 'Q21480034', ['en-x-simple'] = 'Q21480034', ['und'] = 'Q22282914', ['ug-arab'] = 'Q22338135', ['ug-latn'] = 'Q22338145', ['zh-cn'] = 'Q24841726', ['tce'] = 'Q31091048', ['ja-hira'] = 'Q53979341', ['ja-kana'] = 'Q53979342', ['ja-hrkt'] = 'Q53979345', ['ja-hani'] = 'Q53979504', ['es-formal'] = 'Q64427343', ['hu-formal'] = 'Q64427347', ['kk-cn'] = 'Q64427349', ['kk-kz'] = 'Q64427350', ['kk-tr'] = 'Q64427352', ['nl-informal'] = 'Q64427356', ['zh-mo'] = 'Q64427357', ['rwr'] = 'Q65455884', } 2q1s2lkr389bunuvefmjb3yvnn8zcei Module:Sitelink 828 3384 36589 2025-12-15T19:23:50Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'my_object = {}; my_object.wikisource = function( frame ) local entity = mw.wikibase.getEntityObject(id) local str = entity:getSitelink('elwikisource') return str end my_object.wikiquote = function( frame ) local id = frame.args[1] local entity = mw.wikibase.getEntityObject(id) local str = entity:getSitelink('elwikiquote') return str end my_object.wikidata = function( frame ) local str = mw.wikibase.sitelink(item.id...' 36589 Scribunto text/plain my_object = {}; my_object.wikisource = function( frame ) local entity = mw.wikibase.getEntityObject(id) local str = entity:getSitelink('elwikisource') return str end my_object.wikiquote = function( frame ) local id = frame.args[1] local entity = mw.wikibase.getEntityObject(id) local str = entity:getSitelink('elwikiquote') return str end my_object.wikidata = function( frame ) local str = mw.wikibase.sitelink(item.id) return str end return my_object 73wv9h3hm28qjjk8ewn2uqojgxaisk8 Module:Bases 828 3385 36590 2025-12-15T19:24:41Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} local wikidata = require "Module:Wikidata" function p.main(frame) -- Récupération des paramètres, soit ceux passés par le modèle, -- soit ceux passés au modèle local id = frame.args.id local name = frame.args.name local headername = frame.args.headername local noarchive= frame.args.noarchive if frame.getParent then id = frame:getParent().args.id or id end -- Chargement des données de la base souhaitée local base...' 36590 Scribunto text/plain local p = {} local wikidata = require "Module:Wikidata" function p.main(frame) -- Récupération des paramètres, soit ceux passés par le modèle, -- soit ceux passés au modèle local id = frame.args.id local name = frame.args.name local headername = frame.args.headername local noarchive= frame.args.noarchive if frame.getParent then id = frame:getParent().args.id or id end -- Chargement des données de la base souhaitée local bases = require("Module:Bases/" .. name) -- Récupération des propriétés wikidata de l'entité sélectionné local entity = mw.wikibase.getEntityObject(id) if not entity then return "[[Catégorie:Page utilisant le modèle Bases " .. name .. " inactif]]" end -- Pour chaque base dans notre liste, on vérifie si notre entité la possède -- si c'est le cas, on formate et ajoute un lien vers elle dans une liste local vals = {} for i, base in pairs(bases) do local val = wikidata.formatStatements{entity = entity, text = base[1], property = base[2], urlpattern = base[3], numval = 1, addcat = true, qualifier = 'P407', qualifiervalue = 'Q150', value = frame:getParent().args[base[1]]} or wikidata.formatStatements{entity = entity, text = base[1], property = base[2], urlpattern = base[3], numval = 1, addcat = true, value = frame:getParent().args[base[1]]} if val then table.insert(vals, val) end end -- On catégorise si l'entité ne possède aucune des bases listés if #vals == 0 then return "[[Catégorie:Page utilisant le modèle Bases " .. name .. " inactif]]" end -- Ajout du label si l'id wikidata a été précisé manuellement local entityInfo = '' if id and entity then --Has "entity" parameter, Wikidata item was found local label = entity:getLabel() if label then entityInfo = ' (pour [[' .. label .. ']])' end end -- Concaténation des liens et formatage final local header = '' if #vals > 1 then header = "Πηγές σχετιζόμενες " .. headername .. entityInfo .. " : " else header = "Πηγή σχετιζόμενη " .. headername .. entityInfo .. " : " end local footer = '' -- Ajout de la class noarchive if noarchive then header = header .. "<span class=\"noarchive\">" footer = "</span>" end -- Ajout des catégories qui vont bien local categories = "[[Catégorie:Page pointant vers des bases externes]] [[Catégorie:Page pointant vers des bases relatives " .. headername .. "]]" return wikidata.addLinkBack(header .. table.concat( vals, '&nbsp;• ' ) .. footer , entity, "identifiers" ) .. categories -- lien vers la section approriété de Wikidata end return p tuag99k90wh5rlnoonfcb9q61248ikf Module:Επίσημος ιστότοπος 828 3386 36591 2025-12-15T19:26:02Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local makeUrl = require('Module:URL')._url local p = {} -- Wrapper for pcall which returns nil on failure. local function quickPcall(func) local success, result = pcall(func) if success then return result end end -- Gets the rank for a Wikidata property table. Returns 1, 0 or -1, in -- order of rank. local function getRank(prop) local rank = prop.rank if rank == 'preferred' then return 1 elseif rank == 'normal' then return 0 elseif...' 36591 Scribunto text/plain local makeUrl = require('Module:URL')._url local p = {} -- Wrapper for pcall which returns nil on failure. local function quickPcall(func) local success, result = pcall(func) if success then return result end end -- Gets the rank for a Wikidata property table. Returns 1, 0 or -1, in -- order of rank. local function getRank(prop) local rank = prop.rank if rank == 'preferred' then return 1 elseif rank == 'normal' then return 0 elseif rank == 'deprecated' then return -1 else -- No rank or undefined rank is treated as "normal". return 0 end end -- Finds whether a Wikidata property is qualified as being in English. local function isEnglish(prop) local ret = quickPcall(function () for i, lang in ipairs(prop.qualifiers.P407) do if lang.datavalue.value['numeric-id'] == 1860 then return true end end return false end) return ret == true end -- Fetches the official website URL from Wikidata. local fetchWikidataUrl fetchWikidataUrl = function() -- Get objects for all official sites on Wikidata. local websites = quickPcall(function () return mw.wikibase.getAllStatements(mw.wikibase.getEntityIdForCurrentPage(), 'P856') end) -- Clone the objects in case other code needs them in their original order. websites = websites and mw.clone(websites) or {} -- Add the table index to the objects in case it is needed in the sort. for i, website in ipairs(websites) do website._index = i end -- Sort the websites, first by highest rank, and then by websites in the -- English language, then by the website's original position in the -- property list. When we are done, get the URL from the highest-sorted -- object. table.sort(websites, function(ws1, ws2) local r1 = getRank(ws1) local r2 = getRank(ws2) if r1 ~= r2 then return r1 > r2 end local e1 = isEnglish(ws1) local e2 = isEnglish(ws2) if e1 ~= e2 then return e1 end return ws1._index < ws2._index end) local url = quickPcall(function () return websites[1].mainsnak.datavalue.value end) -- Cache the result so that we only do the heavy lifting once per #invoke. fetchWikidataUrl = function () return url end return url end -- Render the URL link, plus other visible output. local function renderUrl(options) if not options.url and not options.wikidataurl then local qid = mw.wikibase.getEntityIdForCurrentPage() local result = '<strong class="error">' .. 'No URL found. Please specify a URL here or add one to Wikidata.' .. '</strong>' if qid then result = result.. ' [[File:OOjs UI icon edit-ltr-progressive.svg |frameless |text-top |10px |alt=Edit this at Wikidata |link=https://www.wikidata.org/wiki/' .. qid .. '#P856|Edit this at Wikidata]]' end return result end local ret = {} ret[#ret + 1] = string.format( '<span class="official-website">%s</span>', makeUrl(options.url or options.wikidataurl, options.display) ) if options.wikidataurl and not options.url then local qid = mw.wikibase.getEntityIdForCurrentPage() if qid then ret[#ret + 1] = '[[File:OOjs UI icon edit-ltr-progressive.svg |frameless |text-top |10px |alt=Edit this at Wikidata |link=https://www.wikidata.org/wiki/' .. qid .. '#P856|Edit this at Wikidata]]' end end return table.concat(ret, ' ') end -- Render the tracking category. local function renderTrackingCategory(url, wikidataurl) if mw.title.getCurrentTitle().namespace ~= 0 then return '' end local category if not url and not wikidataurl then category = 'Official website missing URL' elseif not url and wikidataurl then return '' elseif url and wikidataurl then if url:gsub('/%s*$', '') ~= wikidataurl:gsub('/%s*$', '') then category = 'Official website different in Wikidata and Wikipedia' end else category = 'Official website not in Wikidata' end return category and string.format('[[Category:%s]]', category) or '' end function p._main(args) local url = args[1] or args.URL or args.url local wikidataurl = fetchWikidataUrl() local formattedUrl = renderUrl{ url = url, wikidataurl = wikidataurl, display = args[2] or args.name or 'Official website' } return formattedUrl .. renderTrackingCategory(url, wikidataurl) end function p.main(frame) local args = require('Module:Arguments').getArgs(frame, { wrappers = 'Πρότυπον:Επίσημος ιστότοπος' }) return p._main(args) end return p 2u3x00i7j457k5e5mrq02r3zxszixnj Module:URL 828 3387 36592 2025-12-15T19:27:00Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- -- This module implements {{URL}} local p = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function safeUri(s) local success, uri = pcall(function() return mw.uri.new(s) end) if success then return uri end end function p._url(url, text) url = trim(url or '') text = trim(text or '') if url == '' then if text == '' then return mw.getCurrentFrame():expandTemplate{ title = 'tlx', args =...' 36592 Scribunto text/plain -- -- This module implements {{URL}} local p = {} local function trim(s) return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end local function safeUri(s) local success, uri = pcall(function() return mw.uri.new(s) end) if success then return uri end end function p._url(url, text) url = trim(url or '') text = trim(text or '') if url == '' then if text == '' then return mw.getCurrentFrame():expandTemplate{ title = 'tlx', args = { 'URL', "''example.com''", "''optional display text''" } } else return text end end -- If the URL contains any unencoded spaces, encode them, because MediaWiki will otherwise interpret a space as the end of the URL. url = mw.ustring.gsub(url, '%s', function(s) return mw.uri.encode(s, 'PATH') end) -- If there is an empty query string or fragment id, remove it as it will cause mw.uri.new to throw an error url = mw.ustring.gsub(url, '#$', '') url = mw.ustring.gsub(url, '%?$', '') -- If it's an HTTP[S] URL without the double slash, fix it. url = mw.ustring.gsub(url, '^[Hh][Tt][Tt][Pp]([Ss]?):(/?)([^/])', 'http%1://%3') -- Handle URLs from Wikidata of the format http&#58;// url = mw.ustring.gsub(url, '^[Hh][Tt][Tt][Pp]([Ss]?)&#58;//', 'http%1://') local uri = safeUri(url) -- Handle URL's without a protocol and URL's that are protocol-relative, -- e.g. www.example.com/foo or www.example.com:8080/foo, and //www.example.com/foo if uri and (not uri.protocol or (uri.protocol and not uri.host)) and url:sub(1, 2) ~= '//' then url = 'http://' .. url uri = safeUri(url) end if text == '' then if uri then if uri.path == '/' then uri.path = '' end local port = '' if uri.port then port = ':' .. uri.port end text = mw.ustring.lower(uri.host or '') .. port .. (uri.relativePath or '') -- Add <wbr> before _/.-# sequences text = mw.ustring.gsub(text,"(/+)","<wbr/>%1") -- This entry MUST be the first. "<wbr/>" has a "/" in it, you know. text = mw.ustring.gsub(text,"(%.+)","<wbr/>%1") -- text = mw.ustring.gsub(text,"(%-+)","<wbr/>%1") -- DISABLED for now text = mw.ustring.gsub(text,"(%#+)","<wbr/>%1") text = mw.ustring.gsub(text,"(_+)","<wbr/>%1") else -- URL is badly-formed, so just display whatever was passed in text = url end end return mw.ustring.format('<span class="url">[%s %s]</span>', url, text) end local function extractUrl(args) for name, val in pairs(args) do local url = name .. "=" .. val; url = mw.ustring.gsub(url, '^[Hh][Tt][Tt][Pp]([Ss]?):(/?)([^/])', 'http%1://%3') local uri = safeUri(url); if uri and uri.host then return url end end end function p.url(frame) local templateArgs = frame.args local parentArgs = frame:getParent().args local url = templateArgs[1] or parentArgs[1] or '' local text = templateArgs[2] or parentArgs[2] if not text then url = url or extractUrl(templateArgs) or extractUrl(parentArgs); end text = text or '' return p._url(url, text) end return p rinabsfwuna1sld0j4665lemudm713w Πρότυπον:Επίσημος ιστότοπος 10 3388 36593 2025-12-15T19:29:18Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<span class="official website">{{URL|1={{{1|{{{URL|{{#property:P856}}}}}}}}|2={{{2|{{{name|{{#switch:{{{s}}}|y=Επίσημη ιστοσελίδα|yes=Επίσημη ιστοσελίδα|Επίσημον ιστοτόπον}}}}}}}}}}</span>{{#ifeq:{{{format}}}|flash|{{link note|note=Requires [[Adobe Flash Player]]}}}}{{#if:{{{1|{{{URL|{{#property:P856}}}}}}}}|{{#if:{{{mobile|}}}|({{URL|1={{{mobile}}}|2=Κινητό}})}}}}<noinclude> Κατηγορ...' 36593 wikitext text/x-wiki <span class="official website">{{URL|1={{{1|{{{URL|{{#property:P856}}}}}}}}|2={{{2|{{{name|{{#switch:{{{s}}}|y=Επίσημη ιστοσελίδα|yes=Επίσημη ιστοσελίδα|Επίσημον ιστοτόπον}}}}}}}}}}</span>{{#ifeq:{{{format}}}|flash|{{link note|note=Requires [[Adobe Flash Player]]}}}}{{#if:{{{1|{{{URL|{{#property:P856}}}}}}}}|{{#if:{{{mobile|}}}|({{URL|1={{{mobile}}}|2=Κινητό}})}}}}<noinclude> [[Κατηγορίαν:Πρότυπα που αντλούν δεδομένα από Wikidata]] [[Κατηγορίαν:Πρότυπα Βικιπαίδειας]] </noinclude> 1dje02ljq4qvde1yt8x7ohx8lbrl0vy Πρότυπον:URL 10 3389 36594 2025-12-15T19:30:06Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{#if:{{{1|}}}|<!-- --><span class="url"><!-- -->{{#ifeq:{{#titleparts:{{lc:x{{{1|}}}}}|1|1}}|{{lc:x{{{1|}}}}}|<!-- work-around when titleparts doesn't accept the URL and returns the full string without a capital: don't attempt to transform the displayed URL -->[{{#if:1|{{{1|}}}}} {{#if:{{{2|}}}|{{#if:1|{{{2|}}}}}|{{#if:1|{{{1|}}}}}}}]<!-- These "#if:1" pseudo-tests (always true) allow trimming leading spaces in their text...' 36594 wikitext text/x-wiki <includeonly>{{#if:{{{1|}}}|<!-- --><span class="url"><!-- -->{{#ifeq:{{#titleparts:{{lc:x{{{1|}}}}}|1|1}}|{{lc:x{{{1|}}}}}|<!-- work-around when titleparts doesn't accept the URL and returns the full string without a capital: don't attempt to transform the displayed URL -->[{{#if:1|{{{1|}}}}} {{#if:{{{2|}}}|{{#if:1|{{{2|}}}}}|{{#if:1|{{{1|}}}}}}}]<!-- These "#if:1" pseudo-tests (always true) allow trimming leading spaces in their text parameter -->|<!-- -->{{#switch:{{lc:{{#titleparts:{{{1|}}}|2}}}} |https:/ |http:/ |ftp:/=<!-- Matches https:/ or http:/ or ftp:/ -->[{{#if:1|{{{1|}}}}} <!-- This #if:1 allows trimming leading spaces in the full URL: {{{1|}}} -->{{#if:{{{2|}}}|{{#if:1|{{{2|}}}}}| <!-- This #if:1 allows trimming leading spaces in the specified display text : {{{2|}}} -->{{lc:<!-- domain name in lowercase -->{{#titleparts:{{{1|}}}|1|3}}<!-- -->}}<!-- -->{{#if:{{#titleparts:{{{1|}}}||4}}<!-- rest of the path -->|/{{#titleparts:{{{1|}}}||4}}<!-- -->}}<!-- -->}}<!-- -->]<!-- -->|#default=<!-- Not https:/ or http:/ or ftp:/ -->[http://{{#if:1|{{{1|}}}}} <!-- This #if:1 allows trimming leading spaces in the full URL: {{{1|}}} -->{{#if:{{{2|}}}|{{#if:1|{{{2|}}}}}| <!-- This #if:1 allows trimming leading spaces in the specified display text : {{{2|}}} -->{{lc:<!-- domain name in lowercase -->{{#titleparts:{{{1|}}}|1|1}}<!-- -->}}<!-- -->{{#if:{{#titleparts:{{{1|}}}||2}}<!-- rest of the path -->|/{{#titleparts:{{{1|}}}||2}}<!-- -->}}<!-- -->}}<!-- -->]<!-- -->}}<!-- -->}}<!-- --></span><!-- -->|<!-- -->{{#if:{{{2|}}}|{{{2|}}}|<!-- -->{{tlx|URL|''example.com''|''optional display text''}}<!-- -->}}<!-- -->}}</includeonly><noinclude>{{documentation}}</noinclude> ql8mnvfjovhdscbiu30icydanv1nr6y Κατηγορίαν:Πρότυπα που αντλούν δεδομένα από Wikidata 14 3390 36595 2025-12-15T19:31:03Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '[[Κατηγορίαν:Πρότυπα|*]] [[Κατηγορίαν:Wikidata]]' 36595 wikitext text/x-wiki [[Κατηγορίαν:Πρότυπα|*]] [[Κατηγορίαν:Wikidata]] ktniicjn27o2nyd58513ib1gnjdx06m Κατηγορίαν:Wikidata 14 3391 36596 2025-12-15T19:32:19Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{Commonscat|Wikidata}} [[Κατηγορίαν:Διαχείριση Βικιπαίδειας]]' 36596 wikitext text/x-wiki {{Commonscat|Wikidata}} [[Κατηγορίαν:Διαχείριση Βικιπαίδειας]] 0j2bkdrn0w38mqbqcdav1lh2tn5s9gm Module:Υπό-Συνομοσπονδία 828 3392 36597 2025-12-15T19:33:18Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} function p.main() local wikidata = require('Module:WikidataOld') local owner = wikidata._formatStatements{ property='P127', rank='valid', displayformat='raw', numval=1 } if not owner then return nil end local id local entity = wikidata.getEntity(owner) for i, conf in ipairs{ 'Q375033', 'Q2019450', 'Q633389', 'Q297590', 'Q17047664', 'Q846598', 'Q1375117', 'Q1154453', 'Q168360', 'Q427061', 'Q1352284', 'Q169333', 'Q2299353', '...' 36597 Scribunto text/plain local p = {} function p.main() local wikidata = require('Module:WikidataOld') local owner = wikidata._formatStatements{ property='P127', rank='valid', displayformat='raw', numval=1 } if not owner then return nil end local id local entity = wikidata.getEntity(owner) for i, conf in ipairs{ 'Q375033', 'Q2019450', 'Q633389', 'Q297590', 'Q17047664', 'Q846598', 'Q1375117', 'Q1154453', 'Q168360', 'Q427061', 'Q1352284', 'Q169333', 'Q2299353', 'Q1137026' } do id = wikidata._formatStatements{ item=entity, property='P463', rank='valid', displayformat='raw', numval=1, targetvalue=conf } if id then break end end if not id then return nil end local sitelink = mw.wikibase.sitelink(id) local label = mw.wikibase.label(id) if sitelink and label and (sitelink ~= label) then return "[["..sitelink.."|"..label.."]]" elseif sitelink then return "[["..sitelink.."]]" elseif label then return "[[d:" .. id .. "|" .. label .. "]]" else return "[[d:" .. id .. "|" .. id .. "]]" end return id end return p fc65ae8w6nimpuuojzi2982rft5mr86 Module:Συνομοσπονδία 828 3393 36598 2025-12-15T19:34:20Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} function p.main() local wikidata = require('Module:WikidataOld') local owner = wikidata._formatStatements{ property='P127', rank='valid', displayformat='raw', numval=1 } if not owner then return nil end local id local entity = wikidata.getEntity(owner) for i, conf in ipairs{ 'Q35572', 'Q83276', 'Q168360', 'Q160549', 'Q58733', 'Q180344' } do id = wikidata._formatStatements{ item=entity, property='P463', rank='valid', displ...' 36598 Scribunto text/plain local p = {} function p.main() local wikidata = require('Module:WikidataOld') local owner = wikidata._formatStatements{ property='P127', rank='valid', displayformat='raw', numval=1 } if not owner then return nil end local id local entity = wikidata.getEntity(owner) for i, conf in ipairs{ 'Q35572', 'Q83276', 'Q168360', 'Q160549', 'Q58733', 'Q180344' } do id = wikidata._formatStatements{ item=entity, property='P463', rank='valid', displayformat='raw', numval=1, targetvalue=conf } if id then break end end if not id then return nil end local sitelink = mw.wikibase.sitelink(id) local label = mw.wikibase.label(id) if sitelink and label and (sitelink ~= label) then return "[["..sitelink.."|"..label.."]]" elseif sitelink then return "[["..sitelink.."]]" elseif label then return "[[d:" .. id .. "|" .. label .. "]]" else return "[[d:" .. id .. "|" .. id .. "]]" end return id end return p hhb747suczzsyxxki0yw8k67oc33lnc Module:Infobox/Localdata 828 3394 36599 2025-12-15T19:35:07Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local localdata = {} local wikidata = require('Module:Wikidata/Outils') local frame = mw.getCurrentFrame() local modulename = frame.args.nom local parent = frame:getParent() or frame local templatename = parent:getTitle() -- au cas où il soit différent du nom du module local params = parent.args -- fill-up global variable localdata using params for i, j in pairs(params) do if j and mw.text.trim(j) ~= '' then -- empty parameters are ignored...' 36599 Scribunto text/plain local localdata = {} local wikidata = require('Module:Wikidata/Outils') local frame = mw.getCurrentFrame() local modulename = frame.args.nom local parent = frame:getParent() or frame local templatename = parent:getTitle() -- au cas où il soit différent du nom du module local params = parent.args -- fill-up global variable localdata using params for i, j in pairs(params) do if j and mw.text.trim(j) ~= '' then -- empty parameters are ignored localdata[i] = j end end localdata.templatename = templatename localdata.modulename = modulename -- load wikidata item: localdata.item = wikidata.getEntity(localdata.wikidata) return localdata 5wrcwax2s4sw02jryc53cu455luhpwl Module:Biodata 828 3395 36600 2025-12-15T19:36:27Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} local getArgs = require('Module:Arguments').getArgs local wikidata = require('Module:Wikidata') local lc = require('Module:LocationAndCountry') local join = require('Module:Separated entries')._main local StringUtils = require('Module:StringUtils') local GregorianDate = require('Module:GregorianDate') local Date = require('Module:Date') local function processDateDateRefAndPlace(iDate, iDateRefs, iPlace, prefix) local out = '' if not...' 36600 Scribunto text/plain local p = {} local getArgs = require('Module:Arguments').getArgs local wikidata = require('Module:Wikidata') local lc = require('Module:LocationAndCountry') local join = require('Module:Separated entries')._main local StringUtils = require('Module:StringUtils') local GregorianDate = require('Module:GregorianDate') local Date = require('Module:Date') local function processDateDateRefAndPlace(iDate, iDateRefs, iPlace, prefix) local out = '' if not StringUtils.__isEmpty(iDate) or not StringUtils.__isEmpty(iPlaced) then out = out .. prefix end if not StringUtils.__isEmpty(iDate) then out = out .. iDate if StringUtils.__isEmpty(iPlace) and not StringUtils.__isEmpty(iDateRefs) then out = out .. iDateRefs end end if not StringUtils.__isEmpty(iPlace) then out = out .. ',' .. (not StringUtils.__isEmpty(iDateRefs) and iDateRefs or '') .. ' ' .. iPlace end if out == '' then return nil end return out end p.fromParams = function(birthDate, birthDateRefs, birthPlace, deathDate, deathDateRefs, deathPlace, deathIntro) local birthInfo = processDateDateRefAndPlace(birthDate, birthDateRefs, birthPlace, 'n. ') local deathInfo = processDateDateRefAndPlace(deathDate, deathDateRefs, deathPlace, deathIntro or 'd. ') return join({birthInfo, deathInfo, separator = mw.text.decode('&nbsp;&ndash; ', true)}) end p.fromArray = function(args) local birthDate = args[1] local birthDateRefs = nil local wikidataBDate = nil local birthTs = nil local deathTs = nil local q = args['q'] if not args[1] then wikidataBDate = wikidata.findDateValues('P569', q) if wikidataBDate and wikidataBDate[1] then birthDate = GregorianDate.displayDualDateIfInInterval(wikidataBDate[1], true) birthDateRefs = wikidata.outputReferences(wikidataBDate[1].claim) birthTs = DateUtils.parseWikidataDate(wikidataBDate[1].claim.mainsnak.datavalue.value.time, wikidataBDate[1].claim.mainsnak.datavalue.value.precision) else birthDate = "[[Κατηγορίαν:Άγνωστο έτος γεννήσεως]] ?" end end local birthPlace = args[2] or lc.displayFromParams('P19', q, birthTs or 'P569', 1, nil) local deathDate = args[3] local deathIntro = 'd. ' if not args[3] then local wikidataDDate = wikidata.findDateValues('P570', q) if wikidataDDate then for _,eachDateCandidate in ipairs(wikidataDDate) do if eachDateCandidate and eachDateCandidate.claim.mainsnak.snaktype == 'value' then deathDate = GregorianDate.displayDualDateIfInInterval(eachDateCandidate, true) deathDateRefs = wikidata.outputReferences(eachDateCandidate.claim) deathTs = DateUtils.parseWikidataDate(eachDateCandidate.claim.mainsnak.datavalue.value.time, eachDateCandidate.claim.mainsnak.datavalue.value.precision) break elseif eachDateCandidate.claim.mainsnak.snaktype == 'somevalue' then deathDate = "[[Κατηγορίαν:Άγνωστο έτος θανάτου]] ?" break end end end if not deathDate then local wikidataDisappDate = wikidata.findDateValues('P746', q) if wikidataDisappDate then for _,eachDateCandidate in ipairs(wikidataDisappDate) do if eachDateCandidate and eachDateCandidate.claim.mainsnak.snaktype == 'value' then mw.logObject(eachDateCandidate, '[Biodata] disapp date') deathDate = GregorianDate.displayDualDateIfInInterval(eachDateCandidate, true) deathDateRefs = wikidata.outputReferences(eachDateCandidate.claim) deathTs = DateUtils.parseWikidataDate(eachDateCandidate.claim.mainsnak.datavalue.value.time, eachDateCandidate.claim.mainsnak.datavalue.value.precision) deathIntro = 'disp. ' break end end end end if not deathDate and wikidataDDate and wikidataDDate[1] and wikidataDDate[1].year < (os.date("*t").year - 120) then deathDate = "[[Κατηγορίαν:Άγνωστο έτος θανάτου]] ?" end end local deathPlace = args[4] or lc.displayFromParams('P20', q, deathTs or 'P570', 1, nil) return p.fromParams(birthDate, birthDateRefs, birthPlace, deathDate, deathDateRefs, deathPlace, deathIntro) end p.fromFrame = function(frame) local args = getArgs(frame) return p.fromArray(args) end return p kzc68x9su86ehosq2vgwmg9g50pnj83 Module:Separated entries 828 3396 36601 2025-12-15T19:37:33Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- This module takes positional parameters as input and concatenates them with -- an optional separator. The final separator (the "conjunction") can be -- specified independently, enabling natural-language lists like -- "foo, bar, baz and qux". local compressSparseArray = require('Module:TableTools').compressSparseArray local p = {} function p._main(args) local separator = args.separator -- Decode (convert to Unicode) HTML escape sequences, su...' 36601 Scribunto text/plain -- This module takes positional parameters as input and concatenates them with -- an optional separator. The final separator (the "conjunction") can be -- specified independently, enabling natural-language lists like -- "foo, bar, baz and qux". local compressSparseArray = require('Module:TableTools').compressSparseArray local p = {} function p._main(args) local separator = args.separator -- Decode (convert to Unicode) HTML escape sequences, such as "&#32;" for space. and mw.text.decode(args.separator) or '' local conjunction = args.conjunction and mw.text.decode(args.conjunction) or separator -- Discard named parameters. local values = compressSparseArray(args) return mw.text.listToText(values, separator, conjunction) end local function makeInvokeFunction(separator, conjunction) return function (frame) local args = require('Module:Arguments').getArgs(frame) args.separator = separator or args.separator args.conjunction = conjunction or args.conjunction return p._main(args) end end p.main = makeInvokeFunction() p.br = makeInvokeFunction('<br />') p.comma = makeInvokeFunction(mw.message.new('comma-separator'):plain()) return p llc3d3c78nhgnxk4nekr2o428a8k5qt Module:Commons link 828 3397 36602 2025-12-15T19:38:38Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'require('strict') -- Module to find commons galleries and categories based on wikidata entries local getArgs = require('Module:Arguments').getArgs local yesNo = require('Module:Yesno') local generateWarning = require('Module:If preview')._warning local p = {} -- Check if string is a valid QID -- Argument: QID to check -- Returns: valid (bool) local function _validQID(qid) return qid and mw.ustring.find(qid,"^[Qq]%d+$") end -- Check if string is...' 36602 Scribunto text/plain require('strict') -- Module to find commons galleries and categories based on wikidata entries local getArgs = require('Module:Arguments').getArgs local yesNo = require('Module:Yesno') local generateWarning = require('Module:If preview')._warning local p = {} -- Check if string is a valid QID -- Argument: QID to check -- Returns: valid (bool) local function _validQID(qid) return qid and mw.ustring.find(qid,"^[Qq]%d+$") end -- Check if string is a valid wikidata property string -- Argument: property string to check -- Returns: valid (bool) local function _validProp(prop) return prop and mw.ustring.find(prop,"^[Pp]%d+$") end local function _lcfirst(s) return mw.ustring.lower(mw.ustring.sub(s,1,1))..mw.ustring.sub(s,2) end -- Format displayed linktext -- Arguments: -- s = string to display -- formatting = formatting table: -- formatting.linktext = if defined, override s -- formatting.lcfirst = lower case the first letter in display -- formatting.bold = whether to bold the display -- formatting.italic = whether to italicize the display -- formatting.nowrap = set nowrapping -- Returns: -- formatted string local function _formatResult(s, formatting) local resultVal = formatting.linktext or s if formatting.lcfirst then resultVal = _lcfirst(resultVal) end local style = "" if formatting.italic then style = "font-style:italic; " end if formatting.bold then style = style.."font-weight:bold; " end if formatting.nowrap then style = style.."white-space:nowrap; " end if style ~= "" then resultVal = '<span style="'..mw.text.trim(style)..'">'..resultVal..'</span>' end return resultVal end -- Get title, namespace, and QID for current page -- Arguments: -- qid = testing only: get title of alternative page with QID=qid -- nsQid = whether to return the ns of the qid page or current -- Returns: -- title, namespace (string), qid of current page (or test page) local function _getTitleQID(qid,nsQid) local titleObject = mw.title.getCurrentTitle() -- look up qid for current page (if not testing) local nsText = mw.ustring.gsub(titleObject.nsText,"_"," ") if not _validQID(qid) then qid = mw.wikibase.getEntityIdForCurrentPage() return titleObject.text, nsText, qid end -- testing-only path: given a qid, determine title -- always use namespace from current page (to suppress tracking cat) qid = qid:upper() local title = mw.wikibase.getSitelink(qid) or "" -- strip any namespace from sitelink local firstColon = mw.ustring.find(title,':',1,true) local qidNsText = "" if firstColon then qidNsText = mw.ustring.sub(title,1,firstColon-1) title = mw.ustring.sub(title,firstColon+1) end if nsQid then return title, qidNsText, qid end return title, nsText, qid end -- Lookup Commons gallery in Wikidata -- Arguments: -- qid = QID of current article -- fetch = whether to lookup Commons sitelink (bool) -- commonsSitelink = default value for Commons sitelink -- Returns: -- categoryLink = name of Commons category, nil if nothing is found -- consistent = multiple wikidata fields are examined: are they consistent? -- commonsSitelink = commons sitelink for current article local function _lookupGallery(qid,fetch,commonsSitelink) if not _validQID(qid) then return nil, true, nil end qid = qid:upper() local galleryLink = nil local consistent = true -- look up commons sitelink for article, use if not category if fetch then commonsSitelink = mw.wikibase.getSitelink(qid,"commonswiki") or commonsSitelink end if commonsSitelink and mw.ustring.sub(commonsSitelink,1,9) ~= "Category:" then galleryLink = commonsSitelink end -- P935 is the "commons gallery" property for this article local P935 = mw.wikibase.getBestStatements(qid, "P935")[1] if P935 and P935.mainsnak.datavalue then local gallery = P935.mainsnak.datavalue.value if galleryLink and galleryLink ~= gallery then consistent = false else galleryLink = gallery end end return galleryLink, consistent, commonsSitelink end -- Find fallback category by looking up Commons sitelink of different page -- Arguments: -- qid = QID for current article -- property = property that refers to other article whose sitelink to return -- Returns: either category-stripped name of article, or nil local function _lookupFallback(qid,property) if not _validQID(qid) or not _validProp(property) then return nil end qid = qid:upper() property = property:upper() -- If property exists on current article, get value (other article qid) local value = mw.wikibase.getBestStatements(qid, property)[1] if value and value.mainsnak.datavalue and value.mainsnak.datavalue.value.id then -- Look up Commons sitelink of other article local sitelink = mw.wikibase.getSitelink(value.mainsnak.datavalue.value.id,"commonswiki") -- Check to see if it starts with "Category:". If so, strip it and return if sitelink and mw.ustring.sub(sitelink,1,9) == "Category:" then return mw.ustring.sub(sitelink,10) end end return nil end -- Find Commons category by looking in wikidata -- Arguments: -- qid = QID of current article -- fetch = whether to lookup Commons sitelink (bool) -- commonsSitelink = default value for Commons sitelink -- Returns: -- categoryLink = name of Commons category, nil if nothing is found -- consistent = multiple wikidata fields are examined: are they consistent? -- commonsSitelink = commons sitelink for current article local function _lookupCategory(qid, fetch, commonsSitelink) if not _validQID(qid) then return nil, true, nil end qid = qid:upper() local categoryLink = nil local consistent = true -- look up commons sitelink for article, use if starts with "Category:" if fetch then commonsSitelink = mw.wikibase.getSitelink(qid,"commonswiki") or commonsSitelink end if commonsSitelink and mw.ustring.sub(commonsSitelink,1,9) == "Category:" then categoryLink = mw.ustring.sub(commonsSitelink,10) end -- P910 is the "topic's main category". Look for commons sitelink there local fallback = _lookupFallback(qid,"P910") if fallback then if categoryLink and categoryLink ~= fallback then consistent = false qid = nil else categoryLink = fallback end end -- P1754 is the "list's main category". Look for commons sitelink there fallback = _lookupFallback(qid,"P1754") if fallback then if categoryLink and categoryLink ~= fallback then consistent = false qid = nil else categoryLink = fallback end end -- P373 is the "commons category" property for this article. This is -- a low-quality field, so should only be used as a last resort. if categoryLink == nil and _validQID(qid) then local P373 = mw.wikibase.getBestStatements(qid, "P373")[1] if P373 and P373.mainsnak.datavalue then categoryLink = P373.mainsnak.datavalue.value consistent = true -- P373 is never used if anything else is available end end return categoryLink, consistent, commonsSitelink end -- Does the article have a Commons gallery, and is it consistent? -- Arguments: -- qid = QID to lookup in wikidata (for testing only) -- Returns: -- filename at Commons, bool: is wikidata consistent for this article? function p._hasGalleryConsistent(qid) local wp_title, wp_ns wp_title, wp_ns, qid = _getTitleQID(qid) return _lookupGallery(qid,true) end -- Does the article have a corresponding Commons gallery? -- Arguments: -- qid = QID to lookup in wikidata (for testing only) -- Returns: -- filename at Commons if so, false if not function p._hasGallery(qid) local galleryLink, consistent = p._hasGalleryConsistent(qid) return consistent and galleryLink end -- Does the article have a Commons category? Is wikidata consistent for that? -- Arguments: -- qid = QID to lookup in wikidata (for testing only) -- prefix = whether to add "Category:" to return string (default true) -- Returns: -- filename at Commons, bool: consistent function p._hasCategoryConsistent(qid,prefix) if prefix == nil then prefix = true end local wp_title, wp_ns wp_title, wp_ns, qid = _getTitleQID(qid) local categoryLink, consistent = _lookupCategory(qid,true) if categoryLink and prefix then categoryLink = "Category:"..categoryLink end return categoryLink, consistent end -- Does the article have a corresponding Commons category? -- Arguments: -- qid = QID to lookup in wikidata (for testing only) -- prefix = whether to add "Category:" to return string (default true) -- Returns: -- filename at Commons if so, blank if not function p._hasCategory(qid,prefix) local categoryLink, consistent = p._hasCategoryConsistent(qid,prefix) return consistent and categoryLink end -- Create Commons link corresponding to current article -- Arguments: -- namespace = namespace in Commons ("" for galleries) -- default = use as Commons link, don't access wikidata -- search = string to search for -- fallback = string to search for if wikidata fails -- formatting = formatting parameters -- qid = QID to lookup in wikidata (for testing only) -- Returns: -- formatted wikilink to Commons in specified namespace function p._getCommons(namespace,default,search,fallback,formatting,qid) local nsColon if not namespace or namespace == "" then nsColon = "" else nsColon = namespace..":" end if default then return "[[Commons:"..nsColon..default.."|".._formatResult(default,formatting).."]]" end if search then return "[[Commons:Special:Search/"..nsColon..search.."|".._formatResult(search,formatting).."]]" end local wp_title, wp_ns wp_title, wp_ns, qid = _getTitleQID(qid) local commonsLink = nil local consistent = true if nsColon == "" then commonsLink, consistent = _lookupGallery(qid,true) elseif namespace:lower() == "category" then commonsLink, consistent = _lookupCategory(qid,true) end -- use wikidata if consistent if commonsLink and consistent then return "[[Commons:"..nsColon..commonsLink.."|".._formatResult(commonsLink,formatting).."]]" end -- if not consistent, fall back to search and add to tracking cat -- construct default result (which searches for title) local searchResult = "[[Commons:Special:Search/"..nsColon..(fallback or wp_title) .."|".._formatResult(fallback or wp_title,formatting).."]]" if not consistent and wp_ns == "" then local friendlyNS if nsColon == "" then friendlyNS = "gallery" else friendlyNS = namespace:lower() end searchResult = searchResult.."[[Category:Inconsistent wikidata for Commons "..friendlyNS.."]]" end return searchResult end -- Returns "best" Commons link: first look for gallery, then try category -- Arguments: -- default = use as Commons link, don't access wikidata -- search = string to search for -- fallback = string to search for if wikidata lookup fails -- formatting = formatting parameters -- qid = QID to lookup in wikidata (for testing only) -- Returns: -- formatted wikilink to Commons "best" landing page function p._getGalleryOrCategory(default, search, fallback, formatting, qid) if default then return "[[Commons:"..default.."|".._formatResult(default,formatting).."]]" end if search then return "[[Commons:Special:Search/"..search.."|".._formatResult(search,formatting).."]]" end local wp_title, wp_ns wp_title, wp_ns, qid = _getTitleQID(qid) local trackingCats = "" local galleryLink, consistent, commonsSitelink = _lookupGallery(qid,true) -- use wikidata if either sitelink or P935 exist, and they both agree if galleryLink and consistent then return "[[Commons:"..galleryLink.."|".._formatResult(galleryLink,formatting).."]]" end if not consistent and wp_ns == "" then trackingCats = "[[Category:Inconsistent wikidata for Commons gallery]]" end -- if gallery is not good, fall back looking for category local categoryLink categoryLink, consistent = _lookupCategory(qid,false,commonsSitelink) if categoryLink and consistent then return "[[Commons:Category:"..categoryLink.."|".._formatResult(categoryLink,formatting).."]]"..trackingCats end if not consistent and wp_ns == "" then trackingCats = trackingCats.."[[Category:Inconsistent wikidata for Commons category]]" end -- return search result looking for title as last attempt return "[[Commons:Special:Search/" .. (fallback or wp_title) .. "|" .. _formatResult(fallback or wp_title,formatting) .. "]]" .. trackingCats end -- Return link(s) Commons gallery, or category, or both from wikidata -- Arguments: -- defaultGallery = default gallery link to use, instead of wikidata -- defaultCategory = default category link to use, instead of wikidata -- categoryText = if both gallery and category, text to use in category link ("category" by default) -- oneSearch = only emit one search result -- formatting = formatting parameters -- qid = qid of page to lookup in wikidata (testing only) function p._getGalleryAndCategory(defaultGallery, defaultCategory, categoryText, oneSearch, formatting, qid ) local wp_title, wp_ns wp_title, wp_ns, qid = _getTitleQID(qid) categoryText = categoryText or "category" local trackingCats = "" local galleryLink, galleryConsistent local commonsSitelink = nil if defaultGallery then galleryLink = defaultGallery galleryConsistent = true else galleryLink, galleryConsistent, commonsSitelink = _lookupGallery(qid,true) end local galleryGood = galleryLink and galleryConsistent if not galleryConsistent and wp_ns == "" then trackingCats = "[[Category:Inconsistent wikidata for Commons gallery]]" end local categoryLink, categoryConsistent if defaultCategory then categoryLink = defaultCategory categoryConsistent = true else categoryLink, categoryConsistent = _lookupCategory(qid,defaultGallery,commonsSitelink) end local categoryGood = categoryLink and categoryConsistent if not categoryConsistent and wp_ns == "" then trackingCats = trackingCats.."[[Category:Inconsistent wikidata for Commons category]]" end local firstLink -- construct default result (which searches for title) local searchResult = "[[Commons:Special:Search/"..wp_title.."|".._formatResult(wp_title,formatting).."]]" if not oneSearch then searchResult = searchResult.." ([[Commons:Special:Search/Category:"..wp_title.."|"..categoryText.."]])" end local linkText = nil if galleryGood then firstLink = galleryLink linkText = galleryLink elseif categoryGood then firstLink = "Category:"..categoryLink linkText = categoryLink else return searchResult..trackingCats end local resultVal = "[[Commons:"..firstLink.."|".._formatResult(linkText,formatting).."]]" if galleryGood and categoryGood then resultVal = resultVal.." ([[Commons:Category:"..categoryLink.."|"..categoryText.."]])" end return resultVal..trackingCats end -- Compare two titles with their namespaces stripped local function titleMatch(s1,s2) s1 = s1 or "" s2 = s2 or "" s1 = mw.ustring.gsub(s1,"^[^:]+:","") s2 = mw.ustring.gsub(s2,"^[^:]+:","") return s1 == s2 end local galleryTrackingCats = { commons_link_on_wikidata = '[[Category:Commons link is on Wikidata]]', commons_link_defined_as_pagename = '[[Category:Commons link is defined as the pagename]]', commons_link_locally_defined = '[[Category:Commons link is locally defined]]', commons_link_from_wikidata = '[[Category:Commons link from Wikidata]]', commons_link_is_pagename = '[[Category:Commons link is the pagename]]', inconsistent = '[[Category:Inconsistent wikidata for Commons gallery]]' } local categoryTrackingCats = { commons_link_on_wikidata = '[[Category:Commons category link is on Wikidata]]', commons_link_defined_as_pagename = '[[Category:Commons category link is defined as the pagename]]', commons_link_locally_defined = '[[Category:Commons category link is locally defined]]', commons_link_from_wikidata = '[[Category:Commons category link from Wikidata]]', commons_link_is_pagename = '[[Category:Commons category link is the pagename]]', inconsistent = '[[Category:Inconsistent wikidata for Commons category]]' } local function selectTrackingCat(trackingCats,wikidata,consistent,default,title) if not consistent then return trackingCats.inconsistent end if default then -- construct warning message if default == wikidata then return trackingCats.commons_link_on_wikidata end local warning = "" if wikidata then warning = generateWarning({ "Commons link does not match Wikidata – [[Template:Commons_category#Resolving_discrepancies|please check]]" }) end if titleMatch(default,title) then return trackingCats.commons_link_defined_as_pagename .. warning end return trackingCats.commons_link_locally_defined .. warning end if wikidata then return trackingCats.commons_link_from_wikidata end return trackingCats.commons_link_is_pagename end -- Figure out tracking categories and editor warnings -- Arguments: -- default = Commons link argument passed to template -- fetchGallery = whether to fetch a gallery from Wikidata -- fetchCategory = whether to fetch a category from Wikidata -- qid = force a qid for testing -- Returns: -- tracking category and possible user warning -- -- Note: the logic for the tracking is quite different than the logic -- for generating Commons links (above). Thus, it is separated into another -- function for code clarity and maintainability. This should not seriously -- affect performance: server time is dominated by fetching wikidata entities, -- and those entities should be cached and shared between the Commons generating -- code and this tracking code. function p._tracking(default, fetchGallery, fetchCategory, qid) local title, wp_ns, wp_qid = _getTitleQID(qid,true) if wp_ns ~= "" then title = wp_ns..":"..title end -- only track if test or namespace=article or namespace=category if not (qid or wp_ns == "" or wp_ns == "Category") then return "" end -- determine title and namespace of wikidata and wp article local wikidata = nil local consistent = nil -- Tracking code works for all 4 cases of states of fetchGallery/Category -- fetchGallery takes precedence if fetchGallery then wikidata, consistent = p._hasGalleryConsistent(qid) if default or not fetchCategory or (consistent and wikidata) then return selectTrackingCat(galleryTrackingCats,wikidata,consistent, default,title) end end if fetchCategory then local cat_wikidata, cat_consistent = p._hasCategoryConsistent(qid,true) if not fetchGallery or (cat_consistent and cat_wikidata) then return selectTrackingCat(categoryTrackingCats,cat_wikidata, cat_consistent,default,title) end return selectTrackingCat(galleryTrackingCats,wikidata,consistent, default,title) end return "" -- nothing fetched, nothing tracked end local function _createFormatting(args) local formatting = {} formatting.linktext = args.linktext formatting.lcfirst = yesNo(args.lcfirst) formatting.bold = yesNo(args.bold) formatting.italic = yesNo(args.italic) formatting.nowrap = yesNo(args.nowrap) return formatting end -- Testing-only entry point for _getTitleQID function p.getTitleQID(frame) local args = getArgs(frame,{frameOnly=true,parentOnly=false,parentFirst=false}) local text, ns, qid = _getTitleQID(args[1],args[2]) return text..","..ns..","..(qid or "nil") end -- Testing-only entry point for _lookupFallback function p.lookupFallback(frame) local args = getArgs(frame,{frameOnly=true,parentOnly=false,parentFirst=false}) local fallback = _lookupFallback(args[1],args[2]) return fallback or "nil" end -- Find the Commons gallery page associated with article function p.getGallery(frame) local args = getArgs(frame,{frameOnly=true,parentOnly=false,parentFirst=false}) return p._getCommons("",args[1],args.search,args.fallback,_createFormatting(args),args.qid) end -- Find the Commons category page associated with article function p.getCategory(frame) local args = getArgs(frame,{frameOnly=true,parentOnly=false,parentFirst=false}) local retval = p._getCommons("Category", args[1], args.search, args.fallback, _createFormatting(args), args.qid ) if args.tracking then local default = nil if args[1] then default = "Category:"..args[1] end retval = retval..p._tracking(default, false, true, args.qid) end return retval end function p.getGalleryOrCategory(frame) local args = getArgs(frame,{frameOnly=true,parentOnly=false,parentFirst=false}) local retval = p._getGalleryOrCategory( args[1], args.search, args.fallback, _createFormatting(args), args.qid ) if args.tracking then retval = retval..p._tracking(args[1],true,true,args.qid) end return retval end function p.hasGallery(frame) local args = getArgs(frame,{frameOnly=true,parentOnly=false,parentFirst=false}) return p._hasGallery(args.qid) or "" end function p.hasCategory(frame) local args = getArgs(frame,{frameOnly=true,parentOnly=false,parentFirst=false}) return p._hasCategory(args.qid) or "" end function p.hasGalleryOrCategory(frame) local args = getArgs(frame,{frameOnly=true,parentOnly=false,parentFirst=false}) return p._hasGallery(args.qid) or p._hasCategory(args.qid) or "" end function p.getGalleryAndCategory(frame) local args = getArgs(frame,{frameOnly=true,parentOnly=false,parentFirst=false}) return p._getGalleryAndCategory(args[1], args[2], args.categoryText, args.oneSearch, _createFormatting(args), args.qid) end function p.tracking(frame) local args = getArgs(frame,{frameOnly=true,parentOnly=false,parentFirst=false}) return p._tracking(args[1], args.fetchGallery, args.fetchCategory, args.qid) end return p c0s58ps5rin0efzvudu2ppwoadseuva Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά VIAF 14 3398 36604 2025-12-15T19:40:04Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{hiddencat}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]]' 36604 wikitext text/x-wiki {{hiddencat}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]] de8k88nxnjbq51i7qjh9e7201rfjkw5 Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων 14 3399 36605 2025-12-15T19:41:03Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{hiddencat}} [[Κατηγορίαν:Κατηγορίες ανίχνευσης]]' 36605 wikitext text/x-wiki {{hiddencat}} [[Κατηγορίαν:Κατηγορίες ανίχνευσης]] 5hsrbyg2owudxfnhq3vn49ajsma9jwo Κατηγορίαν:Κατηγορίες ανίχνευσης 14 3400 36606 2025-12-15T19:41:58Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '[[Κατηγορίαν:Διαχείριση Βικιπαίδειας]]' 36606 wikitext text/x-wiki [[Κατηγορίαν:Διαχείριση Βικιπαίδειας]] fgjtbb4va2sciz6zxjlkqtj82sjimsi Κατηγορίαν:Κρυμμέν κατηγορίας 14 3401 36608 36607 2025-12-15T19:43:49Z Εὐθυμένης 2777 36608 wikitext text/x-wiki {{DEFAULTSORT:Κρυμμεν κατηγοριας}} {{hiddencat}} {{CategoryTOC}} [[Κατηγορίαν:Διαχείριση Βικιπαίδειας|κρυμμεν κατηγοριας]] f6qrhwjpep6t1oqxik3lpjoxwg5qur0 Πρότυπον:CategoryTOC 10 3402 36609 2025-12-15T19:44:39Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{| role="navigation" border="0" align="center" class="plainlinks" |- | align="center" | '''Ευρετήριο:''' | align="center" | [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Α}} Α] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Β}} Β] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Γ}} Γ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Δ}} Δ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Ε}} Ε] [{{...' 36609 wikitext text/x-wiki {| role="navigation" border="0" align="center" class="plainlinks" |- | align="center" | '''Ευρετήριο:''' | align="center" | [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Α}} Α] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Β}} Β] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Γ}} Γ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Δ}} Δ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Ε}} Ε] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Ζ}} Ζ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Η}} Η] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Θ}} Θ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Ι}} Ι] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Κ}} Κ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Λ}} Λ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Μ}} Μ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Ν}} Ν] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Ξ}} Ξ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Ο}} Ο] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Π}} Π] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Ρ}} Ρ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Σ}} Σ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Τ}} Τ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Υ}} Υ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Φ}} Φ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Χ}} Χ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Ψ}} Ψ] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Ω}} Ω] |- | align="center" | [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}}} Αρχή] | align="center" | [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=A}} A] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=B}} B] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=C}} C] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=D}} D] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=E}} E] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=F}} F] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=G}} G] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=H}} H] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=I}} I] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=J}} J] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=K}} K] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=L}} L] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=M}} M] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=N}} N] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=O}} O] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=P}} P] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Q}} Q] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=R}} R] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=S}} S] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=T}} T] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=U}} U] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=V}} V] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=W}} W] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=X}} X] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Y}} Y] [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|from=Z}} Z] |}<noinclude> {{documentation | content = == Χρήση == Αυτό το πρότυπο προσθέτει έναν [[Πίνακας περιεχομένων|πίνακα περιεχομένων]] (TOC) σε μια [[Βικιπαίδεια:Κατηγοριοποίηση|σελίδα κατηγορίας]]. Θα πρέπει να προστίθεται ''μόνο σε σελίδες κατηγοριών και δεν πρέπει να χρησιμοποιείται για κατηγορίες που περιέχουν λιγότερες από 200 σελίδες''. == TemplateData == {{TemplateData header}} <templatedata> { "params": {}, "description": "Προσθέτει έναν πίνακα περιεχομένων (TOC) σε μια σελίδα κατηγορίας.", "format": "inline" } </templatedata>}} [[Κατηγορίαν:Πρότυπα κατηγοριών|{{PAGENAME}}]] </noinclude> hzu1djbfqjv2nzuzkj54k5flwze1v1i Module:Βασική ημερομηνία 828 3403 36610 2025-12-15T19:55:31Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- en développement (à éventuellement généraliser et intégrer dans Module:Wikidata) local wikidata = require( 'Module:Wikidata') local formatdate = require( 'Module:Date') local h = require( 'Module:Wikidata/Dates') local p = {} function p.test(frame) return h.keydate(frame.args['event']) end function p.keydate(frame) -- should be possible to provide a list of "fallback" events event = string.upper(frame.args[1])-- to do: make it possible...' 36610 Scribunto text/plain -- en développement (à éventuellement généraliser et intégrer dans Module:Wikidata) local wikidata = require( 'Module:Wikidata') local formatdate = require( 'Module:Date') local h = require( 'Module:Wikidata/Dates') local p = {} function p.test(frame) return h.keydate(frame.args['event']) end function p.keydate(frame) -- should be possible to provide a list of "fallback" events event = string.upper(frame.args[1])-- to do: make it possible to provide a list of "fallback" events claims = wikidata.getClaims({property = 'p793', targetvalue = event}) if not claims then return nil end datetable = {} for i, j in pairs(claims) do if j.qualifiers then if j.qualifiers['p585'] then --property:date for k, l in pairs(j.qualifiers['p585']) do table.insert(datetable, {id= wikidata.getDatavalue(l, 'raw'), value = wikidata.getDatavalue(l)}) end elseif j.qualifiers['p580'] then --property:date de début if j.qualifiers['p582'] then -- if start date and end date in the same claim, they must be unique table.insert(datetable, {id= wikidata.getDatavalue(j.qualifiers['p580'][0], 'raw'), value = wikidata.getDatavalue(j.qualifiers['p580'][0]) .. '-' .. wikidata.getDatavalue(j.qualifiers['p582'][0])}) else for k, l in pairs(j.qualifiers['p580']) do table.insert(datetable, {id= wikidata.getDatavalue(l, 'raw'), value = 'à partir de : ' .. wikidata.getDatavalue(l)}) end end elseif j.qualifiers['p582'] then --property:date de fin for k, l in pairs(j.qualifiers['p582']) do table.insert(datetable, {id= wikidata.getDatavalue(l, 'raw'), value = 'jusqu\'à ' .. wikidata.getDatavalue(l)}) end end end end datetext = '' table.sort(datetable, function(a,b) return a.id < b.id end) finaltable = {} for i, j in pairs(datetable) do table.insert(finaltable, j.value) end return mw.text.listToText(finaltable) end return p tick4qcz2jy654zydyocjth8nmn6zex Module:Wikidata/getData 828 3404 36611 2025-12-15T19:56:30Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} local datequalifiers = {'P585', 'P571', 'P580', 'P582'} local wd = require "Module:Wikidata" -- local datemod = require "Module:Date complexe" local tools = require "Module:Tools" local function notSpecial(claim) return not(wd.isSpecial(claim.mainsnak)) end local function hastargetvalue(claim, targets) -- retourne true si la valeur est dans la liste des target, ou si c'est une valeur spéciale filtrée séparément par excludespecial...' 36611 Scribunto text/plain local p = {} local datequalifiers = {'P585', 'P571', 'P580', 'P582'} local wd = require "Module:Wikidata" -- local datemod = require "Module:Date complexe" local tools = require "Module:Tools" local function notSpecial(claim) return not(wd.isSpecial(claim.mainsnak)) end local function hastargetvalue(claim, targets) -- retourne true si la valeur est dans la liste des target, ou si c'est une valeur spéciale filtrée séparément par excludespecial local id = wd.getMainId(claim) local targets = tools.splitStr(targets) return wd.isHere(targets, id) or wd.isSpecial(claim.mainsnak) end local function excludevalues(claim, values) -- true si la valeur n'est pas dans la liste, ou si c'est une valeur spéciale (filtrée à part par excludespecial) return wd.isSpecial(claim.mainsnak) or not ( hastargetvalue(claim, values) ) end local function bestranked(claims) if not claims then return nil end local preferred, normal = {}, {} for i, j in pairs(claims) do if j.rank == 'preferred' then table.insert(preferred, j) elseif j.rank == 'normal' then table.insert(normal, j) end end if #preferred > 0 then return preferred else return normal end end local function withrank(claims, target) if target == 'best' then return bestranked(claims) end local newclaims = {} for pos, claim in pairs(claims) do if target == 'valid' then if claim.rank ~= 'deprecated' then table.insert(newclaims, claim) end elseif claim.rank == target then table.insert(newclaims, claim) end end return newclaims end function p.hasqualifier(claim, acceptedqualifs, acceptedvals, excludequalifiervalues) local claimqualifs = claim.qualifiers if (not claimqualifs) then return false end acceptedqualifs = wd.splitStr(acceptedqualifs) acceptedvals = wd.splitStr( acceptedvals) local function ok(qualif) -- vérification pour un qualificatif individuel if not claimqualifs[qualif] then return false end if not (acceptedvals) then -- si aucune valeur spécifique n'est demandée, OK return true end for i, wanted in pairs(acceptedvals) do for j, actual in pairs(claimqualifs[qualif]) do if wd.getId(actual) == wanted then return true end end end end for i, qualif in pairs(acceptedqualifs) do if ok(qualif) then return true end end return false end local function hassource(claim, targetsource, sourceproperty) sourceproperty = sourceproperty or 'P248' if not claim.references or not claim.references[sourceproperty] then return false end if not targetsource then -- si toutes les sources sont valides, du moment qu'elles utilisent sourceproperty return true end targetsource = tools.splitStr(targetsource) for _, source in pairs(claim.references[sourceproperty]) do local s = wd.getId(source) for i, target in pairs(targetsource) do if s == target then return true end end end return true end local function excludequalifier(claim, qualifier, qualifiervalues) return not p.hasqualifier(claim, qualifier, qualifiervalues) end local function hasdate(claim) local claimqualifs = claims.qualifiers if not claimqualifs then return false end for _, qualif in pairs(claimqualifs) do if claimsqualifs[qualif] and claimsqualifs[qualif][1].snaktype == 'value' then return true end end return false end local function haslink(claim, site, lang) if not(wd.isValue(claim.mainsnak)) then -- ne pas supprimer les valeurs spéciales, il y a une fonction dédiée pour ça return true end local id = wd.getMainId(claim) local link = wd.siteLink(id, site, lang) if link then return true end end local function isinlanguage(claim, lang) -- ne fonctionne que pour les monolingualtext / étendre aux autres types en utilisant les qualifiers ? local snak = claim.mainsnak if tools.isSpecial(snak) then return false end if snak.datavalue.type == 'monolingualtext' and snak.datavalue.value.language == lang then return true end return false end local function firstvals(claims, numval) -- retourn les numval premières valeurs de la table claims local numval = tonumber(numval) or 0 -- raise a error if numval is not a positive integer ? if not claims then return nil end while (#claims > numval) do table.remove(claims) end return claims end local function valinQualif(claim, qualifs) local claimqualifs = claim.qualifiers if not claimqualifs then return nil end for i, qualif in pairs(qualifs) do local vals = claimqualifs[qualif] if vals and wd.isValue(vals[1]) then return wd.getValue(vals[1]).time end end end local function chronosort(claims, inverted) table.sort( claims, function(a,b) local timeA = valinQualif(a, datequalifiers) or '' local timeB = valinQualif(b, datequalifiers) or '' if inverted then return timeA > timeB -- marche sauf pour les dates < 10 000 av-JC utiliser datemod.before produit un bug else return timeB > timeA end end ) return claims end local function atDate(claim, mydate) local newclaims = {} local mindate = valinQualif(claim, {'P580'}) local maxdate = valinQualif(claim, {'P582'}) if datemod.before(mydate, mindate) and datemod.before(maxdate, mydate) then return true end end local function check(claim, condition) if type(condition) == 'function' then -- cas standard return condition(claim) end local msg = "args.condition should be a function" return error(msg) end function p.sortclaims(claims, sorttype) if not claims then return nil end if sorttype == 'chronological' then return chronosort(claims) elseif sorttype == 'inverted' then return chronosort(claims, true) elseif type(sorttype) == 'function' then table.sort(claims, sorttype) return claims end return claims end function p.filterClaims(claims, args) --retire de la tables de claims celles qui sont éliminés par un des filters de la table des filters local function filter(condition, filterfunction, funargs) if not args[condition] then return end for i = #claims, 1, -1 do if not( filterfunction(claims[i], args[funargs[1]], args[funargs[2]], args[funargs[3]]) ) then table.remove(claims, i) end end end filter('targetvalue', hastargetvalue, {'targetvalue'} ) filter('isinlang', isinlanguage, {'isinlang'} ) filter('atdate', atDate, {'atdate'} ) filter('qualifier', p.hasqualifier, {'qualifier', 'qualifiervalue'} ) filter('excludequalifier', excludequalifier, {'excludequalifier', 'excludequalifiervalue'} ) filter('source', hassource, {'source', 'sourceproperty'} ) filter('withdate', hasdate, {} ) filter('excludespecial', notSpecial, {} ) filter('excludevalues', excludevalues, {'excludevalues'}) filter('withlink', haslink, {'withlink', 'linklang'} ) filter('condition', check, {'condition'}) claims = withrank(claims, args.rank or 'best') if args.sorttype then claims = p.sortclaims(claims, args.sorttype) end if #claims == 0 then return nil end if args.numval then claims = firstvals(claims, args.numval) end return claims end function p.loadEntity(entity, cache) if type(entity) ~= 'table' then if cache then if not cache[entity] then cache[entity] = mw.wikibase.getEntity(entity) mw.log("cached") end return cache[entity] else return mw.wikibase.getEntity(entity) end else return entity end end function p.getClaims( args ) -- returns a table of the claims matching some conditions given in args if args.claims then -- if claims have already been set, return them return args.claims end local properties = tools.splitStr(args.property) if not properties then return error( 'property-param-not-provided' ) end --Get entity local entity = args.entity entity = p.loadEntity(args.entity, args.cache) if (not entity) or (not entity.claims) then return nil end local claims = {} for i, prop in pairs(properties) do prop = string.upper(prop) for j, claim in pairs(entity.claims[prop] or {}) do table.insert(claims, claim) end end if (#claims == 0) then return nil end return p.filterClaims(claims, args) end return p te71jrvl7j9bqf7cypj3j4abaheqxei Module:WikidataFR 828 3405 36612 2025-12-15T19:57:36Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--script that retrieves basic data stored in Wikidata, for the datamodel, see https://www.mediawiki.org/wiki/Extension:Wikibase_Client/Lua local p = {} local linguistic = require('Module:Linguistique') local dates = require('Module:Wikidata/Dates') local langmodule = require('Module:Langue') local convertlangcode = require('Module:Dictionnaire Wikidata/Codes langue') local formatText = require('Module:Format') lang = 'el' -- peut-être écrasé pa...' 36612 Scribunto text/plain --script that retrieves basic data stored in Wikidata, for the datamodel, see https://www.mediawiki.org/wiki/Extension:Wikibase_Client/Lua local p = {} local linguistic = require('Module:Linguistique') local dates = require('Module:Wikidata/Dates') local langmodule = require('Module:Langue') local convertlangcode = require('Module:Dictionnaire Wikidata/Codes langue') local formatText = require('Module:Format') lang = 'el' -- peut-être écrasé par args.lang local i18n = { ["errors"] = { ["property-param-not-provided"] = "property parameter missing", ["qualifier-param-not-provided"] = "qualifier parameter missing", ["entity-not-found"] = "entity not found", ["unknown-claim-type"] = "unknown claim type", ["unknown-snak-typeg"] = "unknown snak type", ["unknown-datavalue-type"] = "unknown datavalue type.", ["unknown-entity-type"] = "unknown entity type", ["invalid-id"] = "invalid ID", }, ["no-label"] = "χωρίς ετικέτα", ['no description'] = "χωρίς περιγραφή", ["novalue"] = "-", ["somevalue"] = "άγνωστο", ['to translate'] = 'Σελίδα που χρησιμοποιεί δεδομένα των Wikidata που χρειάζονται μετάφραση', ["trackingcat"] = 'Σελίδα που χρησιμοποιεί δεδομένα των Wikidata' } local function formatError( key ) return error(i18n.errors[key]) end function p.addtrackingcat(prop, cat) -- doit parfois être appelé par d'autres modules if not prop and not cat then return error("no property provided") end if not cat then cat = i18n.trackingcat .. '/' .. string.upper(prop) end return '[[Category:' .. cat .. ']]' end local function removeblanks(args) for i, j in pairs(args) do if j == '' then args[i] = nil end end return args end local function formatTheUnknown() -- voir si on peut accorder/adapter l'usage de "inconnu" return i18n.somevalue end local function samevalue(snak, target) if snak.snaktype == 'value' and p.getRawvalue(snak) == target then return true end end local function showlang(statement) -- retourne le code langue entre paranthèse avant la valeur (par exemple pour les biblios et liens externes) local mainsnak = statement.mainsnak if mainsnak.snaktype ~= 'value' then return nil end local langlist = {} if mainsnak.datavalue.type == 'monolingualtext' then langlist = {mainsnak.datavalue.value.language} elseif (not statement.qualifiers) or (not statement.qualifiers.P407) then return else for i, j in pairs( statement.qualifiers.P407 ) do if j.snaktype == 'value' then local val = convertlangcode[j.datavalue.value['numeric-id']] table.insert(langlist, val) end end end if (#langlist > 1) or (#langlist == 1 and langlist[1] ~= 'el') then -- si c'est en français, pas besoin de le dire return langmodule.indicationMultilingue(langlist) end end local function getEntity( val ) if type(val) == 'table' then return val end return mw.wikibase.getEntityObject(val) end local function formattable(statements, params) -- transform a table of claims into a table of formatted values for i, j in pairs(statements) do j = p.formatStatement(j, params) end return statements end local function tableToText(values, params) -- takes a list of already formatted values and make them a text if not values then return nil end return linguistic.quickconj( values, params.conjtype)--linguistic.conj( values, params.lang, params.conjtype ) end function p.getDate(statement) --[[ returns an object containing a timestamp for easy sorting, and other data 2 types of object dateobject {timestamp = string, year = number, month = number, day = number, calendar = string} rangeobject {timestamp = string, begin = dateobject, ending = dateobject} ]]-- local q = statement.qualifiers if not q or not (q.P585 or q.P580 or q.P582) then return nil end -- si p585 : dateobject if q.P585 and q.P585[1].snaktype == 'value' then -- P585: punctual date return dates.dateobject(q.P585[1].datavalue.value) end -- si p580 ou P582 : rangeobject avec une date de début et/ou une date de fin if q.P582 and q.P582[1].snaktype == 'value' then ending = dates.dateobject(q.P582[1].datavalue.value) end if q.P580 and q.P580[1].snaktype == 'value' then begin = dates.dateobject(q.P580[1].datavalue.value) end return dates.rangeobject(begin, ending) end function p.getFormattedDate(statement, params) local datetable = p.getDate(statement) if not datetable then return nil end return dates.objecttotext(datetable, params) end local function hastargetvalue(claim, target) if target == nil then return true end return samevalue(claim.mainsnak, target) end local function hasrank(claim, target) if target == 'valid' then return hasrank(claim, 'preferred') or hasrank(claim, 'normal') end if claim.rank == target then return true end return false end local function bestranked(claims) if not claims then return nil end local preferred, normal = {}, {} for i, j in pairs(claims) do if j.rank == 'preferred' then table.insert(preferred, j) elseif j.rank == 'normal' then table.insert(normal, j) end end if #preferred > 0 then return preferred else return normal end end local function hasqualifier(claim, qualifier, qualifiervalues) qualifier = string.upper(qualifier) if not qualifier then -- si aucun qualificatif est demandé, ça passe return true end if not claim.qualifiers or not claim.qualifiers[qualifier] then return false end if (not qualifiervalues) or (qualifiervalues == {}) then return true -- si aucune valeur spécifique n'est exigée end if type(qualifiervalues) == 'string' then qualifiervalues = {qualifiervalues} end for i, j in pairs(claim.qualifiers[qualifier]) do local val = p.getRawvalue(j) for k, l in pairs(qualifiervalues) do if l == val then return true end end end return false end local function hassource(statement, source, sourceproperty) sourceproperty = string.upper(sourceproperty or 'P248') local sourcevalue = string.upper(source or '') if not statement.references or not statement.references[sourceproperty] then return false end if not source then -- si toutes les sources sont valides, du moment qu'elles utilisent sourceproperty return true end for i, j in pairs(statement.references[sourceproperty]) do if p.getRawvalue(j) == source then return true end end return true end local function hasdate(statement) if statement.qualifiers and (statement.qualifiers['P585'] or statement.qualifiers['P580'] or statement.qualifiers['P582']) then return true end return false end local function isinlanguage(snak, lang) -- ne fonctionne que pour les monolingualtext / étendre aux autres types en utilisant les qualifiers ? if snak.snaktype == 'value' and snak.datavalue.type == 'monolingualtext' and snak.datavalue.value.language == lang then return true end return false end local function isSpecial(snak) if snak.snaktype == 'value' then return false end return true end local function numval(claims, numval) -- retourn les numval premières valeurs de la table claims local numval = tonumber(numval) or 0 -- raise a error if numval is not a positive integer ? if #claims <= numval then return claims end local newclaims = {} while #newclaims < numval do table.insert(newclaims, claims[#newclaims + 1]) end return newclaims end local function comparedate(a, b) -- returns true if a is earlier than B or if a has a date but not b if a and b then return a.timestamp < b.timestamp elseif a then return true end end local function chronosort(claims, inverted) table.sort(claims, function(a,b) local timeA = p.getDate(a) local timeB = p.getDate(b) if inverted then return comparedate(timeB, timeA) else return comparedate(timeA, timeB) end end ) return claims end function p.sortclaims(claims, sorttype) if sorttype == 'chronological' then return chronosort(claims) elseif sorttype == 'inverted' then return chronosort(claims, true) elseif type(sorttype) == 'function' then table.sort(claims, sorttype) return claims end return claims end function p.getRawvalue(snak) return p.getDatavalue(snak, {format = 'raw'}) end function p.getDatavalue(snak, params) if not params then params = {} end local formatting = params.formatting local speciallabels = params.speciallabels -- parfois on a besoin de faire une liste d'éléments pour lequel le libellé doit être changé, pas très pratique d'utiliser une fonction pour ça if snak.snaktype ~= 'value' then return nil end local datatype = snak.datavalue.type local value = snak.datavalue.value local displayformat = params.format or params.displayformat -- params.format is deprecated if datatype == 'wikibase-entityid' then if displayformat == 'raw' then return "Q" .. tostring(value['numeric-id']) elseif speciallabels and speciallabels['Q' .. value['numeric-id']] then return speciallabels['Q' .. value['numeric-id']] elseif type(displayformat) == 'function' then return displayformat(snak, params) else return p.formatEntity('Q' .. value['numeric-id'], params) end elseif datatype == 'string' then if params.displayformat == 'weblink' then return require('Module:Weblink').makelink(value, params.showntext) elseif params.urlpattern then value = '[' .. mw.ustring.gsub(params.urlpattern, '$1', value) .. ' ' .. (params.text or value) .. ']' end return value elseif datatype == 'time' then -- format example: +00000001809-02-12T00:00:00Z local precision = params.precision -- degré de précision à afficher ('day', 'month', 'year'), inférieur ou égal à value.precision if displayformat == 'raw' then return value.time else return dates.objecttotext(dates.dateobject(value, {precision = precision}), {linktopic = params.linktopic}) end elseif datatype == 'globecoordinate' then -- retourne une table avec clés latitude, longitude, précision et globe à formater par un autre module (à changer ?) value.globe = require('Module:Wikidata/Globes')[value.globe] -- transforme l'ID du globe en nom anglais utilisable par geohack if formatting == 'latitude' then return value.latitude elseif formatting == 'longitude' then return value.longitude else return value -- note : les coordonnées Wikidata peuvent être utilisée depuis Module:Coordinates. Faut-il aussi autoriser à appeler Module:Coordiantes ici ? end elseif datatype == 'quantity' then -- todo : gérer les paramètre précision if displayformat == 'raw' then return value.amount else local str = string.sub(value.amount,2) -- return formatText.do_formatnum({str}) end elseif datatype == 'monolingualtext' then return langmodule.langue({value.language, value.text}) else return formatError('unknown-datavalue-type' ) end end local function getMultipleClaims(args) local newargs = args local claims = {} for i, j in pairs(args.property) do newargs.property = j local newclaims = p.getClaims(args) for k, l in pairs(newclaims) do table.insert(claims, l) end end return claims end function p.getClaims( args ) -- returns a table of the claims matching some conditions given in args args = removeblanks(args) if args.claims then -- if claims have already been set, return them return args.claims end if not args.property then return formatError( 'property-param-not-provided' ) end if type(args.property) == 'table' then return getMultipleClaims(args) end --Get entity if args.item then args.entity = args.item end -- synonyms local entity = args.entity if type(entity) ~= 'table' then entity = getEntity( args.entity ) end if (not entity) or (not entity.claims) then return nil end local property = string.upper(args.property) if not entity.claims[property] then return nil end if not args.rank then args.rank = 'best' end local claims = {} -- ~= '' lorsque le paramètre est écrit mais laissé blanc dans une fonction frame for i, statement in pairs(entity.claims[property]) do if ( not args.excludespecial or not (isSpecial(statement.mainsnak)) ) and ( not args.targetvalue or hastargetvalue(statement, args.targetvalue) ) and ( not args.qualifier or hasqualifier(statement, args.qualifier, args.qualifiervalue or args.qualifiervalues) ) and ( not args.source or hassource(statement, args.source, args.sourceproperty) ) and not args.isinlanguage or isinlanguage(statement.mainsnak, args.isinlanguage) and args.rank == 'best' -- rank == best est traité à a fin or hasrank(statement, rank) then table.insert(claims, statement) end end if #claims == 0 then return nil end if args.rank == 'best' then claims = bestranked(claims) end if args.sorttype then claims = p.sortclaims(claims, args.sorttype) end if args.numval then return numval(claims, args.numval) end return claims end function p.formatClaimList(claims, args) if not claims then return nil end for i, j in pairs(claims) do claims[i] = p.formatStatement(j, args) end return claims end function p.stringTable(args) -- like getClaims, but get a list of string rather than a list of snaks, for easier manipulation local claims = p.getClaims(args) return p.formatClaimList(claims, args) end local function getQualifiers(statement, qualifs, params) if not statement.qualifiers then return nil end local vals = {} for i, j in pairs(qualifs) do if statement.qualifiers[j] then for k, l in pairs(statement.qualifiers[j]) do table.insert(vals, l) end end end if #vals == 0 then return nil end return vals end function p.getFormattedQualifiers(statement, qualifs, params) if not params then params = {} end local qualiftable = getQualifiers(statement, qualifs) if not qualiftable then return nil end for i, j in pairs(qualiftable) do qualiftable[i] = p.formatSnak(j, params) end return linguistic.conj(qualiftable) end function p.formatStatement( statement, args ) if not args then args = {} end if not statement.type or statement.type ~= 'statement' then return formatError( 'unknown-claim-type' ) end local str = p.formatSnak( statement.mainsnak, args ) if args.showlang == true then str = (showlang(statement) or '') .. str end if args.showqualifiers then local qualifs = args.showqualifiers if type(qualifs) == 'string' then qualifs = mw.text.split(qualifs, ',') end local foundvalues = p.getFormattedQualifiers(statement, qualifs, args) if foundvalues then str = str .. linguistic.inparentheses(foundvalues, lang) end end if args.showdate then -- when "showdate and chronosort are both set, date retrieval is performed twice local timedata = p.getDate(statement) if timedata then local formatteddate = dates.objecttotext(timedata, args) formattteddate = linguistic.inparentheses(formatteddate, lang) str = str .. '<small>' .. formattteddate ..'</small>' end end if args.showsource and statement.references then --[[needs abritrary access local sourcestring = '' for i, ref in pairs(statement.references) do if ref.snaks.P248 then for j, source in pairs(ref.snaks.P248) do if source.snaktype == 'value' then local page if ref.snaks.P304 and ref.snaks.P304[1].snaktype == 'value' then page = ref.snaks.P304[1].datavalue.value end local s = require('Module:Cite/sandbox').citeitem('Q' .. source.datavalue.value['numeric-id'], lang, page) s = mw.getCurrentFrame():extensionTag( 'ref', s ) sourcestring = sourcestring .. s end end elseif ref.snaks.P854 and ref.snaks.P854[1].snaktype == 'value' then s = mw.getCurrentFrame():extensionTag( 'ref', formatLink(ref.snaks.P854[1].datavalue.value)) sourcestring = sourcestring .. s end end str = str .. sourcestring ]]-- end return str end function p.formatSnak( snak, params ) if not args then args = {} end -- pour faciliter l'appel depuis d'autres modules if snak.snaktype == 'somevalue' then return formatTheUnknown() elseif snak.snaktype == 'novalue' then return i18n['novalue'] --todo elseif snak.snaktype == 'value' then return p.getDatavalue( snak, params) else return formatError( 'unknown-snak-type' ) end end function p._getLabel(entity, default, inlanguage) local label if not entity then return nil end if inlanguage then -- cherche dans l'élément complet s'il est déjà chargé, ou s'il faut une libellé non-français, inacessible par mw.wikibase.label entity = getEntity(entity) end if type(entity) == 'table' then if entity and entity.labels and entity.labels[lang] then label = entity.labels[lang].value end else label = mw.wikibase.label(entity) end if label then return label end if default == 'nolabel' then return i18n['no-label'] end return entity.id end function p._getDescription(entity, lang) if type(entity) ~= 'table' then entity = getEntity(entity) end if not entity.descriptions then return i18n['no description'] end local descriptions = entity.descriptions if not descriptions then return nil end if descriptions[lang] then return descriptions[lang].value end local fblist = require('Module:Fallback').fblist(lang) -- list of fallback languages in no label in the desired language for i, j in pairs (mw.language.getFallbacksFor(lang)) do if descriptions.lang then return descriptions[lang].value end end if default == 'nolabel' then return i18n['no-label'] end return entity.id end local function formattedLabel(label, entity, args) if not args then args = {} end if args.link== '-' then return label end local link = mw.wikibase.sitelink( entity ) if not link then link = 'd:' .. entity end return '<span class="wddata">[[' .. link .. '|' .. label .. ']]</span>' end function p.getid(snak) if snak.snaktype == 'value' then return 'Q' .. snak.datavalue.value['numeric-id'] end end function p.getmainid(claim) if claim then return p.getid(claim.mainsnak) end end function p.formatEntity( entity, args ) local label = p._getLabel(entity, lang) if not label then label = entity return formattedLabel(label, entity, args) .. '[[Category:' .. i18n['to translate'] .. ']]' end return formattedLabel(label, entity, args) end function p.getLabel(frame) -- simple for simple templates like {{Q|}}} local args = frame.args local entity = args.entity local lang = lang if args.lang and args.lang ~= '' then lang = args.lang end if string.sub(entity, 1, 10) == 'Property:P' then entity = string.sub(entity, 10) elseif (string.sub(entity, 1, 1) ~= 'P' and string.sub(entity, 1, 1) ~= 'Q') or (not tonumber(string.sub(entity, 2))) then return i18n.errors['invalid-id'] end if not args.link or args.link == '' then -- by default: no link args.link = '-' end if args.link == '-' then return p._getLabel(entity, lang) or i18n.errors['invalid-id'] else lang = lang return p.formatEntity(entity, args) end end function p.addLinkback(str, entity, property) local id = entity if not id then return error('no entity provided') end if type(id) == 'table' then id = entity.id end return str .. '&nbsp;' .. tostring(mw.html.create('span'):wikitext('<small><small><small>[[d:' .. id .. '#' .. property .. '|+/-]]</small></small></small>')) end function p._formatStatements( args )--Format statement and concat them cleanly if args.value == '-' then return nil end --If a value is already set, use it if args.value and args.value ~= '' then return args.value end args.entity = args.entity or args.item if (type(args.entity) == 'string') or (not args.entity) then args.entity = getEntity(entity) end local valuetable = p.stringTable(args) local valuestr = tableToText(valuetable, args) if valuestr and args.linkback then valuestr = p.addLinkback(valuestr, args.entity, args.property) end return valuestr end function p.showQualifier( args ) local qualifs = args.qualifiers or args.qualifier if type(qualifs) == 'string' then qualifs = mw.text.split(qualifs, ',') end if not qualifs then return formatError( 'property-param-not-provided' ) end local claims = p.getClaims(args) if not claims then return nil end local str = '' for i, j in pairs(claims) do local new = p.getFormattedQualifiers(j, qualifs, args) or '' str = str .. new end return str end function p._formatAndCat(args) if not args then return nil end args.linkback = args.linkback or true local val = p._formatStatements( args ) if val then return val .. p.addtrackingcat(args.property) end end function p.getTheDate(args) local claims = p.getClaims(args) if not claims then return nil end local formattedvalues = {} for i, j in pairs(claims) do table.insert(formattedvalues, p.getFormattedDate(j)) end local val = linguistic.conj(formattedvalues) if not val then return nil end if args.addcat == true then val = val .. p.addtrackingcat(args.property) end val = p.addLinkback(val, args.entity, args.property) return val end ---FONCTIONS depuis le FRAME function p.getaDate(frame) return p.getTheDate(frame.args) end function p.getQualifier( frame ) return p.showQualifier(frame.args) end function p.getDescription(frame) -- simple for simple templates like {{Q|}}} local entity = frame.args.entity if frame.args.lang then lang = frame.args.lang end if (string.sub(entity, 1, 1) ~= 'P' and string.sub(entity, 1, 1) ~= 'Q') or (not tonumber(string.sub(entity, 2))) then return i18n.errors['invalid-id'] end return p._getDescription(entity, lang) or i18n.errors['invalid-id'] end function p.numOfClaims(frame) local claims = p.getClaims(frame.args) if claims then return #claims else return 0 end end function p.formatStatements( frame ) local args = {} if frame == mw.getCurrentFrame() then args = frame:getParent().args -- paramètres du modèle appelant (est-ce vraiment une bonne idée ?) for k, v in pairs(frame.args) do args[k] = v end else args = frame end return p._formatStatements( args ) end function p.formatAndCat(frame) local args = {} if frame == mw.getCurrentFrame() then args = frame:getParent().args -- paramètres du modèle appelant (est-ce vraiment une bonne idée ?) for k, v in pairs(frame.args) do args[k] = v end else args = frame end return p._formatAndCat( args ) end return p meckqbx6yxb22yfp8zy9bcs0hjj3zct Module:WikidataOld 828 3406 36613 2025-12-15T19:58:36Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--script that retrieves basic data stored in Wikidata, for the datamodel, see https://www.mediawiki.org/wiki/Extension:Wikibase_Client/Lua local p = {} local linguistic = require('Module:Linguistic') --local formatDate = require('Module:Complex date') only loaded when needed to save memory in large pages like Wikidata:List of properties/all local fb = require('Module:Fallback') local i18nmessages = mw.loadData('Module:i18n/wikidata') -- Wiki-spe...' 36613 Scribunto text/plain --script that retrieves basic data stored in Wikidata, for the datamodel, see https://www.mediawiki.org/wiki/Extension:Wikibase_Client/Lua local p = {} local linguistic = require('Module:Linguistic') --local formatDate = require('Module:Complex date') only loaded when needed to save memory in large pages like Wikidata:List of properties/all local fb = require('Module:Fallback') local i18nmessages = mw.loadData('Module:i18n/wikidata') -- Wiki-specific parameters local defaultlang = mw.getCurrentFrame():preprocess("{{int:lang}}") local defaultlink = 'wikidata' local function i18n(str, lang) local message = i18nmessages[str] if type(message) == 'string' then return message end return fb._langSwitch(message, lang or defaultlang) end local function formatError( key, text ) return error(i18n(key) .. (text or '')) end local function addTrackingCat(prop, cat) if not prop and not cat then return error("no property provided") end if not cat then cat = i18nmessages.trackingcat .. '/' .. string.upper(prop) end return '[[Category:' .. cat .. ']]' end local function removeBlanks(args) for i, j in pairs(args) do -- does not work ?? if (j == '') or (j == '-') then args[i] = nil end end return args end local function formatTheUnknown() -- voir si on peut accorder/adapter l'usage de "inconnu" return i18n('somevalue') end local function isSpecial(snak) return snak.snaktype ~= 'value' end local function sameValue(snak, target) return not isSpecial(snak) and p.getRawvalue(snak) == target end local function showLang(statement, str) -- TODO (not yet in proper format) --adds a lang indication at the start of the string, based on data in statement local mainsnak = statement.mainsnak if isSpecial(mainsnak) then return str end local langlist = {} if mainsnak.datavalue.type == 'monolingualtext' then langlist = {mainsnak.datavalue.value.language} elseif statement.qualifiers and statement.qualifiers.P407 then local convertlangcode = mw.loadData('Module:Dictionary/lang codes') for i, j in pairs( statement.qualifiers.P407 ) do if not isSpecial(j) then local val = convertlangcode[j.datavalue.value['numeric-id']] table.insert(langlist, val) end end end if #langlist == 0 then return str else return '('.. table.concat(langlist) .. ')' .. str end end function p.getEntity( val ) if type(val) == 'table' then return val end return mw.wikibase.getEntityObject(val) end -- DATE FUNCTIONS local function splitTimestamp(timestamp, calendar) local pattern = "(%W)(%d+)%-(%d+)%-(%d+)" local era, year, month, day = timestamp:match(pattern) if calendar == 'julian' then --todo year, month, day = formatdate.gregorianToJulian( era .. year, month, day ) end return {day = day, month = month, year = year, era = era, timestamp = timestamp, type = 'dateobject'} end local function rangeObject(begin, ending) local timestamp if begin then timestamp = begin.timestamp elseif ending then timestamp = ending.timestamp end return {begin = begin, ending = ending, timestamp = timestamp, type = 'rangeobject'} end local function dateObject(orig, params) -- transforme un snak en un nouvel objet utilisable par Module:Date complexe if not params then params = {} end local newobj = splitTimestamp(orig.time, orig.calendar) -- initalise l'object en mettant la valeur des dates newobj.precision = params.precision or orig.precision newobj.type = 'dateobject' return newobj end local function formatDatepoint(obj, params) -- TO IMPROVE if not obj then return nil end local era = obj.era == '-' and 'bc' or '' local formatDate = require('Module:Complex date') local lang = params.lang or defaultlang local precision = math.min(obj.precision, params.precision or 15) -- if we don't want to show the value to its full detail if precision >= 11 then return formatDate.complex_date{args={date1 = obj.year .. '-' .. obj.month .. '-' .. obj.day, lang= lang, era1 = era}} elseif precision == 10 then return formatDate.complex_date{args={date1 = obj.year .. '-' .. obj.month, lang= lang, era1 = era}} elseif precision == 9 then return formatDate.complex_date{args={date1 = tostring(obj.year), lang= lang, era1 = era}} elseif precision == 8 then return formatDate.complex_date{args={date1 = string.sub(tostring(obj.year), 1, 3) .. '0', lang = lang, precision = 'decade', era1 = era}} elseif precision == 7 then return formatDate.complex_date{args={date1 = tostring(obj.year / 100), lang = lang, precision = 'century', era1 = era}} end return nil end local function formatDaterange(obj, params) --TODO local begin = formatDatepoint(obj.begin, params) or '' local ending = formatDatepoint(obj.ending, params) or '' return begin .. '-' .. ending end local function objectToText(obj, params) if obj.type == 'dateobject' then return formatDatepoint(obj, params) elseif obj.type == 'rangeobject' then return formatDaterange(obj, params) end return nil end local function tableToText(values, params) -- takes a list of already formatted values and make them a text if not values then return nil end return linguistic.conj(values, params.lang or defaultlang, params.conjtype)--linguistic.conj( values, params.lang, params.conjtype ) end function p.getDate(obj) --[[ returns an object containing a timestamp for easy sorting, and other data possible types of object: dateobject {timestamp = string, year = number, month = number, day = number, calendar = string} rangeobject {timestamp = string, begin = dateobject, ending = dateobject} ]]-- if not obj then return nil end if type(obj) == 'string' then obj = p.getEntity(obj) end -- if obj is a statement with date, get it if obj.mainsnak and not isSpecial(obj.mainsnak) and obj.mainsnak.datatype == 'time' then return dateObject(obj.mainsnak.datavalue.value) end -- else preload relevant data local qualifs = obj.qualifiers -- when obj is a statement, look in qualifiers local claims = obj.claims -- when obj is an item, look in claims local pointprop = {'P585', 'P571'} -- dates corresponding to a punctual fact local beginprop = {'P580', 'P569'} -- start date, birth date == start of a date range local endingprop = {'P582', 'P570'} local function getval(prop) local val if claims and claims[prop] and not isSpecial(claims[prop][1].mainsnak) then val = claims[prop][1].mainsnak.datavalue.value elseif qualifs and qualifs[prop] and not isSpecial(qualifs[prop][1]) then val = qualifs[prop][1].datavalue.value end if val then return dateObject(val) end return nil end for i, prop in pairs(pointprop) do local val = getval(prop) if val then return val end end --if no date has not been found, look for startdate or enddate local begin, ending for i, prop in pairs(beginprop) do begin = getval(prop) if begin then break end end for i, prop in pairs(endingprop) do ending = getval(prop) if ending then break end end if begin or ending then return rangeObject(begin, ending) end return nil end function p.getFormattedDate(statement, params) local datetable = p.getDate(statement) if not datetable then return nil end return objectToText(datetable, params) end local function hasTargetValue(claim, target) if target == nil then return true end return sameValue(claim.mainsnak, target) end local function hasRank(claim, target) if target == 'valid' then return hasRank(claim, 'preferred') or hasRank(claim, 'normal') else return claim.rank == target end end local function bestRanked(claims) if not claims then return nil end local preferred, normal = {}, {} for i, j in pairs(claims) do if j.rank == 'preferred' then table.insert(preferred, j) elseif j.rank == 'normal' then table.insert(normal, j) end end if #preferred > 0 then return preferred else return normal end end local function hasQualifier(claim, qualifier, qualifiervalues) if not qualifier then -- si aucun qualificatif est demandé, ça passe return true end qualifier = string.upper(qualifier) if not claim.qualifiers or not claim.qualifiers[qualifier] then return false end if type(qualifiervalues) == 'string' then qualifiervalues = mw.text.split(qualifiervalues, ',') end if (not qualifiervalues) or (qualifiervalues == {}) then return true -- si aucune valeur spécifique n'est exigée end for i, j in pairs(claim.qualifiers[qualifier]) do for k, l in pairs(qualifiervalues) do if p.getRawvalue(j) == l then return true end end end return false end local function hasSource(statement, source, sourceproperty) if not statement.references then return false end sourceproperty = string.upper(sourceproperty or 'P248') local sourcevalue = string.upper(source or '') for i, ref in pairs(statement.references) do for prop, content in pairs(ref.snaks) do if prop == sourceproperty then if sourcevalue == '' then return true else for j, k in pairs(content) do if p.getRawvalue(k) == source then return true end end end end end end return false end local function hasDate(statement) if not statement.qualifiers then return false end local dateprops = {'P580', 'P585', 'P582'} for i, prop in pairs(dateprops) do if statement.qualifiers[prop] then return true end end return false end local function isInLanguage(snak, lang) -- ne fonctionne que pour les monolingualtext / étendre aux autres types en utilisant les qualifiers ? return not isSpecial(snak) and snak.datavalue.type == 'monolingualtext' and snak.datavalue.value.language == lang end local function numval(claims, numval) -- retourn les numval premières valeurs de la table claims local numval = tonumber(numval) or 0 -- raise a error if numval is not a positive integer ? if #claims <= numval then return claims end local newclaims = {} while #newclaims < numval do table.insert(newclaims, claims[#newclaims + 1]) end return newclaims end function p.comparedate(a, b) -- returns true if a is earlier than B or if a has a date but not b if a and b then return a.timestamp < b.timestamp elseif a then return true end return false end function p.chronosort(objs, inverted) table.sort(objs, function(a, b) local timeA = p.getDate(a) local timeB = p.getDate(b) if inverted then return p.comparedate(timeB, timeA) else return p.comparedate(timeA, timeB) end end) return objs end function p.sortclaims(claims, sorttype) if type(sorttype) == 'function' then table.sort(claims, sorttype) elseif sorttype == 'chronological' then return p.chronosort(claims) elseif sorttype == 'inverted' then return p.chronosort(claims, true) end return claims end function p.getRawvalue(snak) return p.getDatavalue(snak, {displayformat = 'raw'}) end function p.showentity(entity, lang) if not entity then return nil end if type(entity) == 'string' then entity = p.getEntity(entity) end if not entity or not entity.type then return formatError('entity-not-found') end local label = p._getLabel(entity, lang) local id = entity.id local link = id if entity.type == 'property' then link = 'Property:' .. link end return '[[' .. link .. '|' .. label .. ']] <small>(' .. id .. ')</small>' end local function wikipediaLink(entity, lang) local link = entity:getSitelink(lang .. 'wiki') if link then return ':' .. lang .. ':' .. link end return nil end local function getLink(entity, typelink, lang) if not typelink or typelink == '-' then return nil end if not lang then lang = defaultlang end if typelink == 'wikidata' then if entity.type == 'property' then return 'd:P:' .. entity.id else return 'd:' .. entity.id end elseif typelink == 'wikipedia' then return wikipediaLink(entity, lang) elseif typelink == 'anywikipedia' then local fallbacklist = fb.fblist(lang) for i, lg in pairs(fallbacklist) do link = wikipediaLink(entity, lg) if link then return link end end end return nil end local function formattedLabel(label, entity, args) if not args then args = {} end local link = getLink(entity, args.link, args.lang) if not link then link = getLink(entity, defaultlink, args.lang) end if not link then return label else return '[[' .. link .. '|' .. label .. ']]' end end function p.getDatavalue(snak, params) if isSpecial(snak) then return nil end if not params then params = {} end local displayformat = params.displayformat local datatype = snak.datavalue.type local value = snak.datavalue.value if datatype == 'wikibase-entityid' then if type(displayformat) == 'function' then return displayformat(snak, params) end local prefix = 'Q' if snak.datavalue.value["entity-type"] == 'property' then prefix = 'P' end local id = prefix .. tostring(value['numeric-id']) if displayformat == 'raw' then return id elseif displayformat == 'wikidatastyle' then return p.showentity(id, params.lang) else return p.formatEntity(id, params) end elseif datatype == 'string' then local showntext = params.showntext if displayformat == 'weblink' then if showntext then return '[' .. value .. ' ' .. showntext .. ']' else return value end end if snak.datatype == 'math' and displayformat ~= 'raw' then value = mw.getCurrentFrame():extensionTag('math', value) end if params.urlpattern then value = '[' .. mw.ustring.gsub(mw.ustring.gsub(params.urlpattern, '$1', value), ' ', '%%20') .. ' ' .. (showntext or value) .. ']' end return value elseif datatype == 'time' then -- format example: +00000001809-02-12T00:00:00Z if displayformat == 'raw' then return value.time else return objectToText(dateObject(value), params) end elseif datatype == 'globecoordinate' then -- retourne une table avec clés latitude, longitude, précision et globe à formater par un autre module (à changer ?) if displayformat == 'latitude' then return value.latitude elseif displayformat == 'longitude' then return value.longitude elseif displayformat == 'qualifier' then local coord = require 'Module:Coordinates' value.globe = require('Module:Wikidata/Globes')[value.globe] value.precision = nil return coord._coord(value) else value.globe = require('Module:Wikidata/Globes')[value.globe] -- transforme l'ID du globe en nom anglais utilisable par geohack return value -- note : les coordonnées Wikidata peuvent être utilisée depuis Module:Coordinates. Faut-il aussi autoriser à appeler Module:Coordiantes ici ? end elseif datatype == 'quantity' then -- todo : gérer les paramètre précision if displayformat == 'raw' then return tonumber(value.amount) else local formatNum = require 'Module:Formatnum' local number = formatNum.formatNum(value.amount) local unit = mw.ustring.match(value.unit, '(Q%d+)') if unit then local symbol = p._formatStatements{ entity = unit, property = 'P558', qualifier = 'P282', qualifiervalues = {'Q8229'} } if symbol and symbol ~= '' then number = number .. '&nbsp;' .. formattedLabel(symbol, p.getEntity(unit), {link='wikipedia'}) else number = number .. '&nbsp;' .. p.formatEntity(unit, params) end end return number end elseif datatype == 'monolingualtext' then return '<span lang="' .. value.language .. '">' .. value.text .. '</span>' else return formatError( 'unknown-datavalue-type', datatype ) end end local function getMultipleClaims(args) local newargs = args local claims = {} for i, j in pairs(args.property) do newargs.property = j local newclaims = p.getClaims(args) if newclaims then for k, l in pairs(newclaims) do table.insert(claims, l) end end end return claims end function p.getClaims( args ) -- returns a table of the claims matching some conditions given in args args = removeBlanks(args) if not args.property then return formatError( 'property-param-not-provided' ) end if type(args.property) == 'table' then return getMultipleClaims(args) end --Get entity if args.item then -- synonyms args.entity = args.item end local entity = args.entity if type(entity) ~= 'table' then entity = p.getEntity(entity) end local property = string.upper(args.property) if not entity or not entity.claims or not entity.claims[property] then return nil end if entity.claims and entity.claims.P21 and entity.claims.P21[1] and entity.claims.P21[1].mainsnak and entity.claims.P21[1].mainsnak.datatype == 'wikibase-item' and (entity.claims.P21[1].mainsnak.datavalue.value["numeric-id"] == 6581072 or entity.claims.P21[1].mainsnak.datavalue.value["numeric-id"] == 1052281) then args.female = true end if not args.rank then args.rank = 'best' end local claims = {} -- ~= '' lorsque le paramètre est écrit mais laissé blanc dans une fonction frame for i, statement in pairs(entity.claims[property]) do if ( not args.excludespecial or not (isSpecial(statement.mainsnak)) ) and ( not args.targetvalue or hasTargetValue(statement, args.targetvalue) ) and ( not args.qualifier or hasQualifier(statement, args.qualifier, args.qualifiervalues or args.qualifiervalue) ) and ( not args.withsource or args.withsource == '-' or hasSource(statement, args.withsource, args.sourceproperty) ) and ( not args.isinlanguage or isInLanguage(statement.mainsnak, args.isinlanguage) ) and ( args.rank == 'best' -- rank == best est traité à a fin or hasRank(statement, args.rank) ) then table.insert(claims, statement) end end if #claims == 0 then return nil end if args.rank == 'best' then claims = bestRanked(claims) end if args.sorttype then claims = p.sortclaims(claims, args.sorttype) end if args.numval then return numval(claims, args.numval) end return claims end function p.formatClaimList(claims, args) if not claims then return nil end for i, j in pairs(claims) do claims[i] = p.formatStatement(j, args) end return claims end function p.stringTable(args) -- like getClaims, but get a list of string rather than a list of snaks, for easier manipulation local claims = p.getClaims(args) return p.formatClaimList(claims, args) end local function getQualifiers(statement, qualifs, params) if not statement.qualifiers then return nil end local vals = {} for i, j in pairs(qualifs) do j = string.upper(j) if statement.qualifiers[j] then local inserted = false if statement.qualifiers[j][1].datatype == 'monolingualtext' then local in_preferred_lang for _, language in pairs(fb.fblist(params.lang or defaultlang)) do for _, snak in pairs(statement.qualifiers[j]) do if isInLanguage(snak, language) then in_preferred_lang = snak break end end if in_preferred_lang then break end end if in_preferred_lang then table.insert(vals, in_preferred_lang) inserted = true end end if not inserted then for _, snak in pairs(statement.qualifiers[j]) do table.insert(vals, snak) end end end end if #vals == 0 then return nil end return vals end function p.getFormattedQualifiers(statement, qualifs, params) if not params then params = {} end local qualiftable = getQualifiers(statement, qualifs, params) if not qualiftable then return nil end for i, j in pairs(qualiftable) do local params = params if j.datatype == 'globe-coordinate' then params.displayformat = 'qualifier' end qualiftable[i] = p.formatSnak(j, params) end return linguistic.conj(qualiftable, params.lang or defaultlang, params.qualifconjtype or '') end function p.formatStatement( statement, args ) if not statement.type or statement.type ~= 'statement' then return formatError( 'unknown-claim-type', statement.type ) end if not args then args = {} end local lang = args.lang or defaultlang local str = p.formatSnak( statement.mainsnak, args ) if tostring( args.showlang ) == 'true' then str = showLang(statement, str) end local qualifs = args.showqualifiers if qualifs then if type(qualifs) == 'string' then qualifs = mw.text.split(qualifs, ',') end local foundvalues = p.getFormattedQualifiers(statement, qualifs, args) if foundvalues then if args.delimiter then str = str .. args.delimiter .. foundvalues else str = str .. linguistic.inparentheses(foundvalues, lang) end end end if args.showdate then -- when "showdate and p.chronosort are both set, date retrieval is performed twice local timedata = p.getDate(statement) if timedata then local formatteddate = objectToText(timedata, args) formatteddate = linguistic.inparentheses(formatteddate, lang) str = str .. '<small>' .. formatteddate ..'</small>' end end if args.showsource and statement.references then local cite = require 'Module:Wikidata/citeold' str = str .. cite.formatReferences(statement.references, {}) end return str end function p.formatSnak(snak, params) --local params = params or {} pour faciliter l'appel depuis d'autres modules if snak.snaktype == 'value' then return p.getDatavalue(snak, params) elseif snak.snaktype == 'somevalue' then return formatTheUnknown() elseif snak.snaktype == 'novalue' then return i18n('novalue') --todo else return formatError( 'unknown-snak-type', snak.snaktype ) end end local function defaultLabel(entity, lang, displayformat) -- label when no label is available if entity and displayformat == 'id' then return entity.id end return i18n('no-label', lang) end function p._getLabel(entity, lang, default) if not entity then return nil end if type(entity) ~= 'table' then entity = p.getEntity(entity) end if entity and entity.labels then for i, lg in pairs(fb.fblist(lang or defaultlang)) do if entity.labels[lg] then return entity.labels[lg].value end end end return defaultLabel(entity, lang, default) end function p._getDescription(entity, lang) if not entity then return i18n('no description') end if type(entity) ~= 'table' then entity = p.getEntity(entity) end local descriptions = entity.descriptions if not descriptions then return i18n('no description') end if descriptions[lang] then return descriptions[lang].value end local langlist = fb.fblist(lang or defaultlang) -- list of fallback languages if no label in the desired language for i, lg in pairs(langlist) do if descriptions[lg] then return descriptions[lg].value end end return i18n('no description') end function p.getmainid(claim) if claim and not isSpecial(claim.mainsnak) then return 'Q' .. claim.mainsnak.datavalue.value['numeric-id'] end return nil end function p.formatEntity( entity, args ) if not entity then return nil end if not args then args = {} end if type(entity) == 'string' then entity = p.getEntity(entity) end local femalelabel = nil if args.female and entity.claims and entity.claims.P2521 then for _, statement in pairs(entity.claims.P2521) do if(isInLanguage(statement.mainsnak, args.lang or defaultlang)) then femalelabel = statement.mainsnak.datavalue.value.text break end end end local label if (femalelabel) then label = femalelabel else label = p._getLabel(entity, args.lang) end if not label then label = entity.id end return formattedLabel(label, entity, args) end function p.getLabel(frame) -- simple for simple templates like {{Q|}}} local args = frame.args local entity = args.entity local lang = args.lang if lang == '' then lang = defaultlang end if string.sub(entity, 1, 10) == 'Property:P' then entity = string.sub(entity, 10) elseif (string.sub(entity, 1, 1) ~= 'P' and string.sub(entity, 1, 1) ~= 'Q') or (not tonumber(string.sub(entity, 2))) then return i18n('invalid-id') end if not args.link or args.link == '' then -- by default: no link args.link = '-' end if args.link == '-' then return p._getLabel(entity, lang) or i18n('invalid-id') else return p.formatEntity(entity, args) end end function p._formatStatements( args )--Format statements and concat them cleanly if args.value == '-' then return nil end --If a value is already set, use it if args.value and args.value ~= '' then return args.value end local valuetable = p.stringTable(args) return tableToText(valuetable, args) end function p.showQualifier( args ) local qualifs = args.qualifiers or args.qualifier if type(qualifs) == 'string' then qualifs = mw.text.split(qualifs, ',') end if not qualifs then return formatError( 'property-param-not-provided' ) end local claims = p.getClaims(args) if not claims then return nil end local str = '' for i, j in pairs(claims) do local new = p.getFormattedQualifiers(j, qualifs, args) or '' str = str .. new end return str end function p._formatAndCat(args) local val = p._formatStatements(args) if val then return val .. addTrackingCat(args.property) end return nil end function p.getTheDate(args) local claims = p.getClaims(args) if not claims then return nil end local formattedvalues = {} for i, j in pairs(claims) do table.insert(formattedvalues, p.getFormattedDate(j)) end local val = linguistic.conj(formattedvalues) if val and args.addcat == true then return val .. addTrackingCat(args.property) else return val end end ---FONCTIONS depuis le FRAME function p.getaDate(frame) return p.getTheDate(frame.args) end function p.getQualifier(frame) return p.showQualifier(frame.args) end function p.getDescription(frame) -- simple for simple templates like {{Q|}}} local entity = frame.args.entity local lang = frame.args.lang return p._getDescription(entity, lang) or i18n('invalid-id') end function p.formatStatements( args ) return p._formatStatements( args ) end function p.formatStatementsE(frame) local args = {} if frame == mw.getCurrentFrame() then args = frame:getParent().args -- paramètres du modèle appelant (est-ce vraiment une bonne idée ?) for k, v in pairs(frame.args) do args[k] = v end else args = frame end return p._formatStatements( args ) end function p.formatAndCat(frame) local args = {} if frame == mw.getCurrentFrame() then args = frame:getParent().args -- paramètres du modèle appelant (est-ce vraiment une bonne idée ?) for k, v in pairs(frame.args) do args[k] = v end else args = frame end return p._formatAndCat( args ) end function p.getEntityFromId(id) return p.getEntity(id) end -- returns the page id (Q...) of the current page or nothing of the page is not connected to Wikidata function p.pageId(frame) local entity = mw.wikibase.getEntityObject() if not entity then return nil else return entity.id end end -- This is used to get a value, or a comma separated list of them if multiple values exist p.getValue = function(frame) local propertyID = mw.text.trim(frame.args[1] or "") local input_parm = mw.text.trim(frame.args[2] or "") if input_parm == "FETCH_WIKIDATA" then local entity = mw.wikibase.getEntityObject() local claims if entity and entity.claims then claims = entity.claims[propertyID] end if claims then -- if wiki-linked value output as link if possible if (claims[1] and claims[1].mainsnak.snaktype == "value" and claims[1].mainsnak.datavalue.type == "wikibase-entityid") then local out = {} for k, v in pairs(claims) do local sitelink = mw.wikibase.sitelink("Q" .. v.mainsnak.datavalue.value["numeric-id"]) local label = mw.wikibase.label("Q" .. v.mainsnak.datavalue.value["numeric-id"]) if label == nil then label = "Q" .. v.mainsnak.datavalue.value["numeric-id"] end if sitelink then out[#out + 1] = "[[" .. sitelink .. "|" .. label .. "]]" else out[#out + 1] = "[[:d:Q" .. v.mainsnak.datavalue.value["numeric-id"] .. "|" .. label .. "]]<abbr title='" .. i18n["errors"]["local-article-not-found"] .. "'>[*]</abbr>" end end return table.concat(out, ", ") else -- just return best values return entity:formatPropertyValues(propertyID).value end else return "" end else return input_parm end end return p 61y9f3fevbqxvdzvdrk78fxg3twyzyp Module:Wikidata/Formatters/time/testcases 828 3407 36614 2025-12-15T20:00:12Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local myModule = require 'Module:Wikidata/Formatters/time' local Time = require 'Module:Time' local ScribuntoUnit = require 'Module:ScribuntoUnit' local suite = ScribuntoUnit:new() function suite:testYearDifference() local provider = { { '1890-01-09', '1938-12-25', 48 }, { '1890-01-09', '1990-01-09', 100 }, { '1890-01-09', '1938-12', 48 }, { '1890-01-09', '1938-01', 47, '47–48' }, { '1890-01-09', '1938', 47, '47–48'...' 36614 Scribunto text/plain local myModule = require 'Module:Wikidata/Formatters/time' local Time = require 'Module:Time' local ScribuntoUnit = require 'Module:ScribuntoUnit' local suite = ScribuntoUnit:new() function suite:testYearDifference() local provider = { { '1890-01-09', '1938-12-25', 48 }, { '1890-01-09', '1990-01-09', 100 }, { '1890-01-09', '1938-12', 48 }, { '1890-01-09', '1938-01', 47, '47–48' }, { '1890-01-09', '1938', 47, '47–48' }, { '1890-01', '1938-12-25', 48 }, { '1890-12', '1938-12-25', 47, '47–48' }, { '1890-01', '1938-12', 48 }, { '1890-12', '1938-12', 47, '47–48' }, { '1890-01', '1938', 47, '47–48' }, { '1890', '1938-12-25', 47, '47–48' }, { '1890', '1938-12', 47, '47–48' }, { '1890', '1938', 47, '47–48' }, } for _, dates in ipairs(provider) do local sooner = Time.newFromIso8601(dates[1]) local later = Time.newFromIso8601(dates[2]) local num_age, display_age = myModule.yearDifference(sooner, later) self:assertEquals(dates[3], num_age) self:assertEquals(dates[4] or dates[3], display_age) end end function suite:testJulianToGregorian() local provider = { { gregorian = '1582-10-15', julian = '1582-10-05' }, { gregorian = '1582-11-10', julian = '1582-10-31' }, { gregorian = '1583-01-09', julian = '1582-12-30' }, { gregorian = '1583-01-09', julian = '1582-12-30' }, { gregorian = '1583-03-09', julian = '1583-02-27' }, { gregorian = '1584-03-08', julian = '1584-02-27' }, { gregorian = '1600-03-08', julian = '1600-02-27' }, { gregorian = '1700-02-28', julian = '1700-02-18' }, { gregorian = '1700-03-01', julian = '1700-02-19' }, { gregorian = '1700-03-10', julian = '1700-02-28' }, { gregorian = '1700-03-11', julian = '1700-02-29' }, } for _, data in ipairs(provider) do local julian = Time.newFromIso8601(data.julian) local gregorian = Time.newFromIso8601(data.gregorian) julian.calendar = julian.CALENDAR.JULIAN gregorian.calendar = julian.CALENDAR.GREGORIAN self:assertEquals(gregorian, myModule.julianToGregorian(julian)) end end function suite:testFormatRawValue() local provider = { { iso = '1890-01-09', formatted = '[[9. leden|9.&nbsp;ledna]] [[1890]]' }, { iso = '1890-01-09', formatted = '9.&nbsp;ledna 1890', options = { nolink = true } }, { iso = '123', formatted = '[[123]]' }, { iso = '123', formatted = '123', options = { nolink = true } }, { iso = '-123', formatted = '[[123 př. n. l.|123&nbsp;př.&nbsp;n.&nbsp;l.]]' }, { iso = '-123', formatted = '123&nbsp;př.&nbsp;n.&nbsp;l.', options = { nolink = true } }, { iso = '1890-01-09', formatted = '[[1890]]', options = { precision = 9 } }, { iso = '1890', formatted = '[[1890]]', options = { precision = 10 } }, { iso = '1890', precision = 8, formatted = 'Desetiletí od 1890' }, { iso = '1890', formatted = '[[19. století|19.&nbsp;století]]', options = { precision = 7 } }, { iso = '1900', precision = 7, formatted = '[[19. století|19.&nbsp;století]]' }, } for _, data in ipairs(provider) do local timevalue = Time.newFromIso8601(data.iso) if data.precision then timevalue.precision = data.precision end local options = data.options or {} self:assertEquals(data.formatted, myModule.formatRawValue(timevalue, options)) end end return suite k6ob19w5epspo55kjynhjeio1u0axws Module:WikidataCA 828 3408 36615 2025-12-15T20:01:31Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} local wiki = { langcode = mw.language.getContentLanguage().code } ----------------------------------------------------------------------------- -- internationalisation at [[Module:Wikidata/i18n]] local i18n = { ["errors"] = { ["property-not-found"] = "Property not found.", ["entity-not-found"] = "Wikidata entity not found.", ["unknown-claim-type"] = "Unknown claim type.", ["unknown-entity-type"] = "Unknown entity type.",...' 36615 Scribunto text/plain local p = {} local wiki = { langcode = mw.language.getContentLanguage().code } ----------------------------------------------------------------------------- -- internationalisation at [[Module:Wikidata/i18n]] local i18n = { ["errors"] = { ["property-not-found"] = "Property not found.", ["entity-not-found"] = "Wikidata entity not found.", ["unknown-claim-type"] = "Unknown claim type.", ["unknown-entity-type"] = "Unknown entity type.", ["qualifier-not-found"] = "Qualifier not found.", ["site-not-found"] = "Wikimedia project not found.", ["unknown-datetime-format"] = "Unknown datetime format.", ["local-article-not-found"] = "Article is not yet available in this wiki.", ['not-from-content-page'] = "Do not invoke from content page. Use a template or use a module subpage like /sandbox for testing ." }, ["datetime"] = { -- $1 is a placeholder for the actual number [0] = "$1 billion years", -- precision: billion years [1] = "$100 million years", -- precision: hundred million years [2] = "$10 million years", -- precision: ten million years [3] = "$1 million years", -- precision: million years [4] = "$100,000 years", -- precision: hundred thousand years [5] = "$10,000 years", -- precision: ten thousand years [6] = "$1 millennium", -- precision: millennium [7] = "$1 century", -- precision: century [8] = "$1s", -- precision: decade -- the following use the format of #time parser function [9] = "Y", -- precision: year, [10] = "F Y", -- precision: month [11] = "F j, Y", -- precision: day [12] = "F j, Y ga", -- precision: hour [13] = "F j, Y g:ia", -- precision: minute [14] = "F j, Y g:i:sa", -- precision: second ["beforenow"] = "$1 BCE", -- how to format negative numbers for precisions 0 to 5 ["afternow"] = "$1 CE", -- how to format positive numbers for precisions 0 to 5 ["bc"] = '$1 "BCE"', -- how print negative years ["ad"] = "$1", -- how print positive years ["bc-addon"] = " BC", -- suffix for negative dates ["ad-addon"] = "" -- suffix for 1st century AD dates }, ["monolingualtext"] = '<span lang="%language">%text</span>', ["warnDump"] = "[[Categoria:Funció Dump del mòdul Wikidata]]" } local cases = {} -- functions for local grammatical cases defined at [[Module:Wikidata/i18n]] ---------------------------------------------------------------------------- -- module local functions -- Credit to http://stackoverflow.com/a/1283608/2644759 -- cc-by-sa 3.0 local function tableMerge(t1, t2) for k,v in pairs(t2) do if type(v) == "table" then if type(t1[k] or false) == "table" then tableMerge(t1[k] or {}, t2[k] or {}) else t1[k] = v end else t1[k] = v end end return t1 end local function loadI18n() local exist, res = pcall(require, "Module:Wikidata/i18n") if exist and next(res) ~= nil then tableMerge(i18n, res.i18n) cases = res.cases end end --loadI18n() local function case(word, localcase) if word == nil or word == '' or cases[localcase] == nil then return word end return cases[localcase](word) end local function expandBraces(text) if text == nil then return text end if type(text) ~= "string" then text = tostring(text) end for braces in mw.ustring.gmatch(text, "{{(.-)}}") do local parts = mw.text.split(braces, "|") local title = parts[1] local parameters = {} for i = 2, #parts do if mw.ustring.find(parts[i], "=") then local subparts = mw.text.split(parts[i], "=") parameters[subparts[1]] = subparts[2] else table.insert(parameters, parts[i]) end end local braces_expanded if mw.ustring.find(title, ":") then braces_expanded = mw.getCurrentFrame():callParserFunction{name=title, args=parameters} else braces_expanded = mw.getCurrentFrame():expandTemplate{title=title, args=parameters} end text = mw.ustring.gsub(text, "{{" .. title .. ".-}}", braces_expanded) end return text end local function printDatavalueString(data, parameter) if parameter == 'weblink' then return '[' .. data .. ' ' .. mw.text.split(data, '//' )[2] .. ']' elseif mw.ustring.find((parameter or ''), '$1', 1, true) then -- formatting = a pattern return expandBraces(mw.ustring.gsub(parameter, '$1', data)) else return data end end local function printDatavalueCoordinate(data, parameter) if parameter == 'latitude' then return data.latitude elseif parameter == 'longitude' then return data.longitude elseif parameter == 'dimension' then return data.dimension else --default formatting='globe' if data.globe == '' or data.globe == nil or data.globe == 'http://www.wikidata.org/entity/Q2' then return 'earth' else local globenum = mw.text.split(data.globe, 'entity/')[2] -- http://www.wikidata.org/wiki/Q2 local globetable = mw.loadData('Module:Mapa cos celeste/dades') for _, globe in pairs(globetable.maps) do if globe.wikidata == globenum then return globe.coord_globe end end return globenum end end end local function printDatavalueQuantity(data, parameter) -- exemples: 277±1 Centímetre, 1,94 metre local amount = data.amount amount = mw.ustring.gsub(amount, "%+", "") local sortkey = string.format("%09d", amount) local lang = mw.language.new(wiki.langcode) amount = lang:formatNum(tonumber(amount)) -- This is used to get the unit name for a numeric value local suffix = "" if parameter == "unit" or parameter == "unitcode" then -- get the url for the unit entry on Wikidata: local unitID = data.unit -- and just return the last bit from "Q" to the end (which is the QID): unitID = mw.ustring.sub(unitID, mw.ustring.find(unitID, "Q"), -1) if mw.ustring.sub(unitID, 1, 1) == "Q" then local unit_label = mw.wikibase.label(unitID) suffix = " " .. require("Module:Wikidata/Units").getUnit(amount, unit_label, unitID, parameter == "unitcode") end end return amount .. suffix, sortkey end local function printDatavalueTime(data, parameter) -- Dates and times are stored in ISO 8601 format local timestamp = data.time local sortkey = timestamp local addon = "" -- check for negative date, ex. "-0027-01-16T00:00:00Z" if string.sub(timestamp, 1, 1) == '-' then timestamp = '+' .. string.sub(timestamp, 2) addon = i18n.datetime["bc-addon"] elseif string.sub(timestamp, 2, 3) == '00' then addon = i18n.datetime["ad-addon"] end local function d(f, t) return mw.language.new(wiki.langcode):formatDate(f, t or timestamp) .. addon end local precision = data.precision or 11 local intyear = tonumber(mw.ustring.match(timestamp, "^\+?%d+")) local ret = "" -- precision is 10000 years or more if precision <= 5 then local factor = 10 ^ ((5 - precision) + 4) local y2 = math.ceil(math.abs(intyear) / factor) local relative = mw.ustring.gsub(i18n.datetime[precision], "$1", tostring(y2)) if addon == i18n.datetime["bc-addon"] then -- negative date ret = mw.ustring.gsub(i18n.datetime.beforenow, "$1", relative) else ret = mw.ustring.gsub(i18n.datetime.afternow, "$1", relative) end -- precision is millennia, centuries or decades elseif precision == 6 then local card = math.floor((intyear - 1) / 1000) + 1 if mw.ustring.find(i18n.datetime[6], "$1") then ret = mw.ustring.gsub(i18n.datetime[6], "$1", tostring(card)) .. addon else ret = d(i18n.datetime[6], string.format("%04d", tostring(card))) end elseif precision == 7 then local card = math.floor((math.abs(intyear) - 1) / 100) + 1 if mw.ustring.find(i18n.datetime[7], "$1") then ret = mw.ustring.gsub(i18n.datetime[7], "$1", tostring(card)) .. addon else ret = d(i18n.datetime[7], string.format("%04d", tostring(card))) end elseif precision == 8 then local card = math.floor(math.abs(intyear) / 10) * 10 ret = mw.ustring.gsub(i18n.datetime[8], "$1", tostring(card)) .. addon -- precision is year elseif parameter == 'Y' or precision == 9 then ret = tostring(intyear) .. addon -- precision is month elseif precision == 10 then timestamp = timestamp .. " + 1 day" -- formatDate yyyy-mm-00 returns the previous month ret, _ = string.gsub(d(i18n.datetime[10]), " 0+", " ") -- supress leading zeros in year elseif parameter then ret, _ = string.gsub(d(parameter), "([ %[])0+", "%1") -- supress leading zeros in year optionally linked else ret, _ = string.gsub(d(i18n.datetime[11]), " 0+", " ") end return ret, sortkey end local function printDatavalueEntity(data, parameters) local entityId = "Q" .. tostring(data['numeric-id']) local label = mw.wikibase.label(entityId) local sitelink = mw.wikibase.sitelink(entityId) local parameter = parameters.formatting local labelcase = label or sitelink if parameters.case then labelcase = case(labelcase, parameters.case) end if parameter == 'raw' then return entityId, entityId elseif parameter == 'label' then return (labelcase or entityId), (labelcase or entityId) elseif parameter == 'sitelink' then return (sitelink or 'wikidata:' .. entityId), (sitelink or entityId) elseif mw.ustring.find((parameter or ''), '$1', 1, true) then -- formatting = a pattern local ret = mw.ustring.gsub(parameter, '$1', labelcase or entityId) ret = expandBraces(ret) return ret, labelcase or entityId else if sitelink then return '[[' .. sitelink .. '|' .. labelcase .. ']]', labelcase elseif label and parameter == 'internallink' then return '[[' .. label .. '|' .. labelcase .. ']]', labelcase else return '[[wikidata:' .. entityId .. '|' .. (labelcase or entityId) .. ']]', labelcase or entityId end end end local function printDatavalueMonolingualText(data, parameter) -- data fields: language [string], text [string] local result = nil if parameter == "language" or parameter == "text" then result = data[parameter] elseif parameter then if data["language"] == wiki.langcode then result = data["text"] end else result = mw.ustring.gsub(mw.ustring.gsub(i18n.monolingualtext, "%%language", data["language"]), "%%text", data["text"]) end return result end local function printDatatypeMath(data) return mw.getCurrentFrame():callParserFunction('#tag:math', data) end local function printError(key) return '<span class="error">' .. i18n.errors[key] .. '</span>' end local function findClaims(entity, property) if not property or not entity or not entity.claims then return end if mw.ustring.match(property, "^P%d+$") then -- if the property is given by an id (P..) access the claim list by this id return entity.claims[property] else property = mw.wikibase.resolvePropertyId(property) if not property then return end return entity.claims[property] end end local function getSnakValue(snak, parameters) local parameter = parameters.formatting if snak.snaktype == 'value' then -- call the respective snak parser if snak.datatype == 'math' then return printDatatypeMath(snak.datavalue.value) elseif snak.datavalue.type == "string" then return printDatavalueString(snak.datavalue.value, parameter) elseif snak.datavalue.type == "globecoordinate" then return printDatavalueCoordinate(snak.datavalue.value, parameter) elseif snak.datavalue.type == "quantity" then return printDatavalueQuantity(snak.datavalue.value, parameter) elseif snak.datavalue.type == "time" then return printDatavalueTime(snak.datavalue.value, parameter) elseif snak.datavalue.type == 'wikibase-entityid' then return printDatavalueEntity(snak.datavalue.value, parameters) elseif snak.datavalue.type == 'monolingualtext' then return printDatavalueMonolingualText(snak.datavalue.value, parameter) end end return mw.wikibase.renderSnak(snak) end local function getQualifierSnak(claim, qualifierId, parameters) -- a "snak" is Wikidata terminology for a typed key/value pair -- a claim consists of a main snak holding the main information of this claim, -- as well as a list of attribute snaks and a list of references snaks if qualifierId then -- search the attribute snak with the given qualifier as key if claim.qualifiers then local qualifier = claim.qualifiers[qualifierId] if qualifier then -- iterate over monolingualtext qualifiers to get local language for idx in pairs(qualifier) do if qualifier[idx].datavalue and qualifier[idx].datavalue.value and qualifier[idx].datavalue.value.language then if qualifier[idx].datavalue.value.language == wiki.langcode then return qualifier[idx] end end end if parameters.list then return qualifier else return qualifier[1] end end end return nil, printError("qualifier-not-found") else -- otherwise return the main snak return claim.mainsnak end end local function getValueOfClaim(claim, qualifierId, parameters) local error local snak snak, error = getQualifierSnak(claim, qualifierId, parameters) if not snak then return nil, nil, error elseif snak[1] then -- a multi qualifier local result = {} local sortkey = {} for idx in pairs(snak) do result[#result + 1], sortkey[#sortkey + 1] = getSnakValue(snak[idx], parameters) end return mw.text.listToText(result, parameters.qseparator, parameters.qconjunction), sortkey[1] else -- a property or a qualifier return getSnakValue(snak, parameters) end end -- Return the site link (for the current site) for a given data item. function p.getSiteLink(frame) if frame.args[1] == nil then entity = mw.wikibase.getEntityObject() if not entity then return nil end id = entity.id else id = frame.args[1] end return mw.wikibase.sitelink(id) end -- A la consola de depuració useu: =p._debug({item="Q...", property="P...", ...}) function p._debug(args) return p._main(args) end function p.claim(frame) if mw.title.new(frame:getParent():getTitle()).isContentPage and not mw.title.new(frame:getTitle()).isSubpage then -- invoked from a content page and not invoking a module subpage if frame.args["showerrors"] then return printError("not-from-content-page") else return frame.args.default end end return p._main(frame.args) end function p._main(args) --If a value is already set, use it if args.value and args.value ~= '' then return args.value end -- arguments local property = args["property"] or "" local id = args["item"]; if id == "" then id = nil end local idgender = args["itemgender"] if idgender and not string.match(idgender, "^Q%d+$") then -- id malformed, maybe "unknown value" idgender = nil end local qualifierId = {} qualifierId[1] = args["qualifier"] for i = 2, 9 do qualifierId[i] = args["qualifier" .. i] end local parameter = args["formatting"] or ''; if parameter == "" then parameter = nil end local case = args.case local list = args["list"] or true; if list == "false" then list = false end local sorting = args.tablesort local separator = args.separator local conjunction = args.conjunction or args.separator local rowformat = args.rowformat local showerrors = args["showerrors"] local default = args["default"] property = property:gsub("^p(%d)", "P%1") if qualifierId[1] then qualifierId[1] = qualifierId[1]:gsub("^p(%d)", "P%1") end local parameters = {["formatting"] = parameter, ["list"] = list, ["sorting"] = sorting, ["case"] = case, ["separator"] = separator, ["conjunction"] = conjunction, ["qseparator"] = separator, ["qconjunction"] = conjunction} local preformat = "" local postformat = "" if parameters.formatting == "table" then parameters.separator = parameters.separator or "<br />" parameters.conjunction = parameters.conjunction or "<br />" parameters.qseparator = ", " parameters.qconjunction = ", " if not rowformat then rowformat = "$0 ($1" for i = 2, 9 do if qualifierId[i] then rowformat = rowformat .. ", $" .. i end end rowformat = rowformat .. ")" elseif mw.ustring.find(rowformat, "^[*#]") then parameters.separator = "</li><li>" parameters.conjunction = "</li><li>" if mw.ustring.match(rowformat, "^[*#]") == "*" then preformat = "<ul><li>" postformat = "</li></ul>" else preformat = "<ol><li>" postformat = "</li></ol>" end rowformat = mw.ustring.gsub(rowformat, "^[*#] ?", "") end end if default then showerrors = nil end -- get wikidata entity local entity = mw.wikibase.getEntityObject(id) if not entity then if showerrors then return printError("entity-not-found") else return default end end -- fetch the first claim of satisfying the given property local claims = findClaims(entity, property) if not claims or not claims[1] then if showerrors then return printError("property-not-found") else return default end end -- find feminine case if gender is requested if parameters.case == "gender" or idgender then local genderEntity = idgender and mw.wikibase.getEntityObject(idgender) or entity local genderClaims = genderEntity.claims["P21"] if genderClaims then local genderId = getValueOfClaim(genderClaims[1], nil, {["formatting"]="raw"}) if genderId == "Q6581072" or genderId == "Q1052281" then -- female or transgender female parameters.case = (parameters.case == "infoboxlabel") and "labelfeminine" or "feminine" end end end -- get initial sort indices local sortindices = {} for idx in pairs(claims) do sortindices[#sortindices + 1] = idx end -- sort by claim rank local comparator = function(a, b) local rankmap = { deprecated = 2, normal = 1, preferred = 0 } local ranka = rankmap[claims[a].rank or "normal"] .. string.format("%08d", a) local rankb = rankmap[claims[b].rank or "normal"] .. string.format("%08d", b) return ranka < rankb end table.sort(sortindices, comparator) local result local error if parameters.list or parameters.formatting == "table" then -- iterate over all elements and return their value (if existing) local value, valueq local sortkey, sortkeyq local values = {} local sortkeys = {} local firstrank = parameters.list == "firstrank" and claims[sortindices[1]].rank or '' for idx in pairs(claims) do local claim = claims[sortindices[idx]] if firstrank ~= '' and firstrank ~= claim.rank then break end values[#values + 1] = {} sortkeys[#sortkeys + 1] = {} if parameters.formatting == "table" then local params = mw.clone(parameters) params.formatting = args["colformat0"] value, sortkey, error = getValueOfClaim(claim, nil, params) for i, qual in ipairs(qualifierId) do params.formatting = args["colformat" .. i] valueq, sortkeyq, _ = getValueOfClaim(claim, qual, params) values[#values]["col" .. i] = valueq sortkeys[#sortkeys]["col" .. i] = sortkeyq or valueq end else value, sortkey, error = getValueOfClaim(claim, qualifierId[1], parameters) end if not value and showerrors then value = error end values[#values]["col0"] = value sortkeys[#sortkeys]["col0"] = sortkey or value end -- sort and format results sortindices = {} for idx in pairs(values) do sortindices[#sortindices + 1] = idx end if parameters.sorting then local comparator = function(a, b) valuea = sortkeys[a]["col" .. parameters.sorting] or '' valueb = sortkeys[b]["col" .. parameters.sorting] or '' return valuea < valueb end table.sort(sortindices, comparator) end result = {} for idx in pairs(values) do local valuerow = values[sortindices[idx]] value = valuerow["col0"] if parameters.formatting == "table" then value = mw.ustring.gsub(rowformat, "$0", value) for i, _ in ipairs(qualifierId) do valueq = valuerow["col" .. i] if args["rowsubformat" .. i] and valueq then valueq = mw.ustring.gsub(args["rowsubformat" .. i], "$" .. i, valueq) end value = mw.ustring.gsub(value, "$" .. i, valueq or '') end end value = expandBraces(value) result[#result + 1] = value end result = preformat .. mw.text.listToText(result, parameters.separator, parameters.conjunction) .. postformat else -- return first element local claim = claims[sortindices[1]] result, _, error = getValueOfClaim(claim, qualifierId[1], parameters) end if result then return result else if showerrors then return error else return default end end end -- This is used to get the TA98 (Terminologia Anatomica first edition 1998) values like 'A01.1.00.005' (property P1323) -- which are then linked to http://www.unifr.ch/ifaa/Public/EntryPage/TA98%20Tree/Entity%20TA98%20EN/01.1.00.005%20Entity%20TA98%20EN.htm -- uses the newer mw.wikibase calls instead of directly using the snaks -- formatPropertyValues returns a table with the P1323 values concatenated with ", " so we have to split them out into a table in order to construct the return string p.getTAValue = function(frame) local ent = mw.wikibase.getEntityObject() local props = ent:formatPropertyValues('P1323') local out = {} local t = {} for k, v in pairs(props) do if k == 'value' then t = mw.text.split( v, ", ") for k2, v2 in pairs(t) do out[#out + 1] = "[http://www.unifr.ch/ifaa/Public/EntryPage/TA98%20Tree/Entity%20TA98%20EN/" .. string.sub(v2, 2) .. "%20Entity%20TA98%20EN.htm " .. v2 .. "]" end end end local ret = table.concat(out, "<br> ") if #ret == 0 then ret = "Invalid TA" end return ret end -- look into entity object function p.ViewSomething(frame) local f = (frame.args[1] or frame.args.item) and frame or frame:getParent() local id = f.args.item if id and (#id == 0) then id = nil end local data = mw.wikibase.getEntityObject(id) if not data then return nil end local i = 1 while true do local index = f.args[i] if not index then if type(data) == "table" then return frame:extensionTag('syntaxhighlight', mw.text.jsonEncode(data, mw.text.JSON_PRETTY), {lang = 'json'}) else return tostring(data) end end data = data[index] or data[tonumber(index)] if not data then return end i = i + 1 end end -- Dump data tree structure -- From pl:Module:Wikidane, by User:Paweł Ziemian -- Funció pensada com a eina d'ajuda en previsualització. function p.Dump(frame) local data = mw.wikibase.getEntityObject() if not data then return i18n.warnDump end local f = frame.args[1] and frame or frame:getParent() local i = 1 while true do local index = f.args[i] if not index then return frame:extensionTag('syntaxhighlight', mw.dumpObject(data), {lang = 'json'}) .. i18n.warnDump end data = data[index] or data[tonumber(index)] if not data then return i18n.warnDump end i = i + 1 end end -- Look into entity object -- From pl:Module:Wikidane, function V, by User:Paweł Ziemian function p.getEntityFromTree(frame) local data = mw.wikibase.getEntityObject() if not data then return nil end local f = frame.args[1] and frame or frame:getParent() local i = 1 while true do local index = f.args[i] if not index then return tostring(data) end data = data[index] or data[tonumber(index)] if not data then return end i = i + 1 end end -- getParentValues: returns a property value with its instance label fetching a recursive tree local function uc_first(word) return mw.ustring.upper(mw.ustring.sub(word, 1, 1)) .. mw.ustring.sub(word, 2) end local function getPropertyValue(id, property, parameter) local entity = mw.wikibase.getEntityObject(id) if not (entity and entity.claims) then return end local claims = entity.claims[property] if not claims then return end -- get initial sort indices local sortindices = {} for idx in pairs(claims) do sortindices[#sortindices + 1] = idx end -- sort by claim rank local comparator = function(a, b) local rankmap = { deprecated = 2, normal = 1, preferred = 0 } local ranka = rankmap[claims[a].rank or "normal"] .. string.format("%08d", a) local rankb = rankmap[claims[b].rank or "normal"] .. string.format("%08d", b) return ranka < rankb end table.sort(sortindices, comparator) local snak = claims[sortindices[1]].mainsnak local entityId local result = '-' -- default for 'no value' if snak.datavalue then entityId = "Q" .. tostring(snak.datavalue.value['numeric-id']) result, _ = getSnakValue(snak, {formatting=parameter}) end return entityId, result end function p.getParentValues(frame) local args = frame.args local id = args["item"]; if id == "" then id = nil end local propertySup = args["property"]; if (propertySup == nil or propertySup == "") then propertySup = "P131" end --administrative entity local propertyLabel = args["label"]; if (propertyLabel == nil or propertyLabel == "") then propertyLabel = "P31" end --instance local propertyLink = args["valuetext"]; if propertyLink == "" then propertyLink = nil end --internallink local upto = args["upto"]; if upto == "" then upto = nil end local labelShow = args["labelshow"]; if labelShow == "" then labelShow = nil end local rowformat = args["rowformat"]; if (rowformat == nil or rowformat == "") then rowformat = "$0 = $1" end local separator = args["separator"]; if (separator == nil or separator == "") then separator = "<br />" end local sorting = args["sorting"]; if sorting == "" then sorting = nil end local lastlabel = uc_first(upto or '') local maxloop = tonumber(upto) or (lastlabel == '' and 10 or 50) local labelFilter = {} if labelShow then for i, v in ipairs(mw.text.split(labelShow, "/")) do labelFilter[uc_first(v)] = true end end local result = {} local label, link, linktext for iter = 1, maxloop do local label, link id, link = getPropertyValue(id, propertySup, "internallink") if id then _, label = getPropertyValue(id, propertyLabel, "label") if label and link then if propertyLink then _, linktext = getPropertyValue(id, propertyLink, "label") if linktext then link = mw.ustring.gsub(link, "%[%[(.*)%|.+%]%]", "[[%1|" .. linktext .. "]]") end end label = case(label, "infoboxlabel") if labelShow == nil or labelFilter[label] then result[#result + 1] = {label, link} end if label == lastlabel then break end else break end else break end end local ret = {} local first = 1 local last = #result local iter = 1 if sorting == "-1" then first = #result; last = 1; iter = -1 end for i = first, last, iter do local rowtext = mw.ustring.gsub(rowformat, "$[01]", {["$0"] = result[i][1], ["$1"] = result[i][2]}) ret[#ret +1] = expandBraces(rowtext) end return mw.text.listToText(ret, separator, separator) end function p.linkWithParentLabel(frame) local args = {} for k, v in pairs(frame.args) do -- metatable args[k] = v end args.list = "false" args.formatting = "internallink" local link = p._main(args) -- get internal link of property/qualifier args.formatting = "raw" args.item = p._main(args) -- get item of property/qualifier args.property = args.parent args.qualifier = nil args.formatting = "label" local link_label = p._main(args) -- get label of parent property if link_label then link = mw.ustring.gsub(link or '', "%[%[(.*)%|.+%]%]", "[[%1|" .. link_label .. "]]") end return link end return p q8eaqay8y06rjy2norg17xv547rd7cx Module:Wikidata/datum/testcases 828 3409 36616 2025-12-15T20:02:31Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local myModule = require 'Module:Wikidata/datum' local Time = require 'Module:Time' local ScribuntoUnit = require 'Module:ScribuntoUnit' local suite = ScribuntoUnit:new() function suite:testYearDifference() local provider = { { '1890-01-09', '1938-12-25', 48 }, { '1890-01-09', '1990-01-09', 100 }, { '1890-01-09', '1938-12', 48 }, { '1890-01-09', '1938-01', 47, '47–48' }, { '1890-01-09', '1938', 47, '47–48' }, { '18...' 36616 Scribunto text/plain local myModule = require 'Module:Wikidata/datum' local Time = require 'Module:Time' local ScribuntoUnit = require 'Module:ScribuntoUnit' local suite = ScribuntoUnit:new() function suite:testYearDifference() local provider = { { '1890-01-09', '1938-12-25', 48 }, { '1890-01-09', '1990-01-09', 100 }, { '1890-01-09', '1938-12', 48 }, { '1890-01-09', '1938-01', 47, '47–48' }, { '1890-01-09', '1938', 47, '47–48' }, { '1890-01', '1938-12-25', 48 }, { '1890-12', '1938-12-25', 47, '47–48' }, { '1890-01', '1938-12', 48 }, { '1890-12', '1938-12', 47, '47–48' }, { '1890-01', '1938', 47, '47–48' }, { '1890', '1938-12-25', 47, '47–48' }, { '1890', '1938-12', 47, '47–48' }, { '1890', '1938', 47, '47–48' }, } for _, dates in ipairs(provider) do local sooner = Time.newFromIso8601(dates[1]) local later = Time.newFromIso8601(dates[2]) local num_age, display_age = myModule.yearDifference(sooner, later) self:assertEquals(dates[3], num_age) self:assertEquals(dates[4] or dates[3], display_age) end end function suite:testJulianToGregorian() local provider = { { gregorian = '1582-10-15', julian = '1582-10-05' }, { gregorian = '1582-11-10', julian = '1582-10-31' }, { gregorian = '1583-01-09', julian = '1582-12-30' }, { gregorian = '1583-01-09', julian = '1582-12-30' }, { gregorian = '1583-03-09', julian = '1583-02-27' }, { gregorian = '1584-03-08', julian = '1584-02-27' }, { gregorian = '1600-03-08', julian = '1600-02-27' }, { gregorian = '1700-02-28', julian = '1700-02-18' }, { gregorian = '1700-03-01', julian = '1700-02-19' }, { gregorian = '1700-03-10', julian = '1700-02-28' }, { gregorian = '1700-03-11', julian = '1700-02-29' }, } for _, data in ipairs(provider) do local julian = Time.newFromIso8601(data.julian) local gregorian = Time.newFromIso8601(data.gregorian) julian.calendar = julian.CALENDAR.JULIAN gregorian.calendar = julian.CALENDAR.GREGORIAN self:assertEquals(gregorian, myModule.julianToGregorian(julian)) end end function suite:testFormatTimevalue() local provider = { { iso = '1890-01-09', formatted = '[[9. leden|9.&nbsp;ledna]] [[1890]]' }, { iso = '1890-01-09', formatted = '9.&nbsp;ledna 1890', options = { nolink = true } }, { iso = '123', formatted = '[[123]]' }, { iso = '123', formatted = '123', options = { nolink = true } }, { iso = '-123', formatted = '[[123 př. n. l.|123&nbsp;př.&nbsp;n.&nbsp;l.]]' }, { iso = '-123', formatted = '123&nbsp;př.&nbsp;n.&nbsp;l.', options = { nolink = true } }, { iso = '1890-01-09', formatted = '[[1890]]', options = { precision = 9 } }, { iso = '1890', formatted = '[[1890]]', options = { precision = 10 } }, { iso = '1890', precision = 8, formatted = 'Desetiletí od 1890' }, { iso = '1890', formatted = '[[19. století|19.&nbsp;století]]', options = { precision = 7 } }, { iso = '1900', precision = 7, formatted = '[[19. století|19.&nbsp;století]]' }, } for _, data in ipairs(provider) do local timevalue = Time.newFromIso8601(data.iso) if data.precision then timevalue.precision = data.precision end local options = data.options or {} self:assertEquals(data.formatted, myModule.formatTimevalue(timevalue, options)) end end return suite kdmj15f9xcmjp8vgiuub4iir2mb213u Module:Wikidata/Formatters/quantity/testcases 828 3410 36617 2025-12-15T20:03:29Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local myModule = require 'Module:Wikidata/Formatters/quantity' local builder = require 'Module:Wikidata/build' local ScribuntoUnit = require 'Module:ScribuntoUnit' local suite = ScribuntoUnit:new() function suite:testGetRawValue() for _, val in ipairs{ -1, 0, 0.5, 1 } do local value = builder.buildValueFromDatatype{ datatype = 'quantity', value = val } self:assertEquals(val, myModule.getRawValue(value, {})) end end function suite:te...' 36617 Scribunto text/plain local myModule = require 'Module:Wikidata/Formatters/quantity' local builder = require 'Module:Wikidata/build' local ScribuntoUnit = require 'Module:ScribuntoUnit' local suite = ScribuntoUnit:new() function suite:testGetRawValue() for _, val in ipairs{ -1, 0, 0.5, 1 } do local value = builder.buildValueFromDatatype{ datatype = 'quantity', value = val } self:assertEquals(val, myModule.getRawValue(value, {})) end end function suite:testGetRawValueConvertUnit() local provider = { { amount = 3, expected = 3000, tounit = 'Q11573', -- metre unit = 'Q828224' -- kilometre }, { amount = 1000, expected = 1609344, tounit = 'Q11573', -- metre unit = 'Q253276' -- mile }, { amount = 123, expected = 123, tounit = 'Q11573', -- metre unit = 'Q11570' -- kilogram }, { amount = 1, expected = 1000000, tounit = 'Q174789', -- millimetre unit = 'Q828224' -- kilometre }, } for _, data in ipairs(provider) do local value = builder.buildValueFromDatatype{ datatype = 'quantity', value = data.amount, unit = data.unit, } local options = { unit = data.tounit } self:assertEquals(data.expected, myModule.getRawValue(value, options)) end end function suite:testFormatRawValue() local provider = { { value = 1, expected = '1' }, { value = 0, expected = '0' }, { value = -1, expected = '−1' }, { value = 1.5, expected = '1,5' }, { value = 12345678, expected = '12&nbsp;345&nbsp;678' }, { value = 1.234567, expected = '1,234&nbsp;567' }, { value = -1234.5678, expected = '−1&nbsp;234,567&nbsp;8' }, } for _, data in ipairs(provider) do self:assertEquals(data.expected, myModule.formatRawValue(data.value, {})) end end function suite:testFormatValue() for _, val in ipairs{ -1, math.pi, 1234 } do local value = builder.buildValueFromDatatype{ datatype = 'quantity', value = val, } self:assertEquals( myModule.formatRawValue(val, {}), myModule.formatValue(value, {}) ) end end function suite:testFormatValueWithMargin() for _, diff in ipairs{ 0, 1, 2.5, false } do local value = builder.buildValueFromDatatype{ datatype = 'quantity', diff = diff or nil, value = 10, } if diff then self:assertEquals( '10±' .. myModule.formatRawValue(diff, {}), myModule.formatValue(value, { showmargin = true }) ) else self:assertEquals('10', myModule.formatValue(value, {})) end end end function suite:testFormatValueWithUnit() for _, unit in ipairs{ 'Q11573', 'Q11570', 'Q199', false } do local value = builder.buildValueFromDatatype{ datatype = 'quantity', unit = unit or nil, value = 10, } local result = myModule.formatValue(value, {}) if not unit or unit == 'Q199' then self:assertEquals('10', result) else self:assertStringContains('^10&nbsp;%[%[', result) self:assertStringContains('%]%]$', result) end end end function suite:testFormatValueWithUnitConverted() local provider = { { amount = 3, convert = true, expected = 3000, tounit = 'Q11573', -- metre unit = 'Q828224' -- kilometre }, { amount = 1000, convert = true, expected = 1609344, tounit = 'Q11573', -- metre unit = 'Q253276' -- mile }, { amount = 123, convert = false, expected = 123, tounit = 'Q11573', -- metre unit = 'Q11570' -- kilogram }, } for _, data in ipairs(provider) do local value = builder.buildValueFromDatatype{ datatype = 'quantity', unit = data.unit, value = data.amount, } local result = myModule.formatValue(value, { unit = data.tounit }) if data.convert then self:assertStringContains( myModule.formatRawValue(data.expected) .. '&nbsp;[[' .. mw.wikibase.sitelink(data.tounit) .. '|', result, true ) else self:assertStringContains( myModule.formatRawValue(data.amount) .. '&nbsp;[[' .. mw.wikibase.sitelink(data.unit) .. '|', result, true ) end end end function suite:testFormatValueSuppressUnit() for _, unit in ipairs{ 'Q11573', 'Q11570' } do local value = builder.buildValueFromDatatype{ datatype = 'quantity', unit = unit, value = 1, } local result = myModule.formatValue(value, { showunit = false }) self:assertNotStringContains('[[', result, true) self:assertNotStringContains(']]', result, true) end end return suite iicocq9n8e88ku7iva1tmru5tnxg2gi Module:Wikidata/Formatters/wikibase-entityid/testcases 828 3411 36618 2025-12-15T20:04:03Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local myModule = require 'Module:Wikidata/Formatters/wikibase-entityid' local builder = require 'Module:Wikidata/build' local ScribuntoUnit = require 'Module:ScribuntoUnit' local suite = ScribuntoUnit:new() function suite:testGetRawValue() local value = builder.buildValueFromDatatype{ datatype = 'wikibase-item', value = 1085 } self:assertEquals('Q1085', myModule.getRawValue(value, {})) self:assertEquals(1085, myModule.getRawValue(value, { numer...' 36618 Scribunto text/plain local myModule = require 'Module:Wikidata/Formatters/wikibase-entityid' local builder = require 'Module:Wikidata/build' local ScribuntoUnit = require 'Module:ScribuntoUnit' local suite = ScribuntoUnit:new() function suite:testGetRawValue() local value = builder.buildValueFromDatatype{ datatype = 'wikibase-item', value = 1085 } self:assertEquals('Q1085', myModule.getRawValue(value, {})) self:assertEquals(1085, myModule.getRawValue(value, { numeric = true })) local value = builder.buildValueFromDatatype{ datatype = 'wikibase-property', value = 1 } self:assertEquals('P1', myModule.getRawValue(value, {})) self:assertEquals(1, myModule.getRawValue(value, { numeric = true })) end function suite:testFormatValue() local options = {} local value = builder.buildValueFromDatatype{ datatype = 'wikibase-item', value = 1085 } for _, numeric in ipairs{ false, true } do options.numeric = numeric self:assertEquals( myModule.formatEntityId('Q1085', options), myModule.formatValue(value, options) ) end end function suite:testFormatEntityId() self:assertEquals( '[[Praha|Praha]]', myModule.formatEntityId( 'Q1085' ) ) self:assertEquals( mw.wikibase.label( 'Q4115189' ), myModule.formatEntityId( 'Q4115189' ) ) self:assertEquals( myModule.getLinkWhenNonexistingLabel( 'Q6' ), -- neexistující položka myModule.formatEntityId( 'Q6' ) ) end function suite:testFormatEntityGender() local options = { label = 'gender' } local value = 'Q36180' options.id = 'Q157970' -- Božena Němcová (žena) self:assertStringContains( 'spisovatelka', myModule.formatEntityId( value, options ), true ) self:assertStringContains( '[[Spisovatel|', myModule.formatEntityId( value, options ), true ) options.id = 'Q155855' -- Karel Čapek (muž) self:assertNotStringContains( 'spisovatelka', myModule.formatEntityId( value, options ), true ) self:assertStringContains( 'spisovatel', myModule.formatEntityId( value, options ), true ) self:assertStringContains( '[[Spisovatel|', myModule.formatEntityId( value, options ), true ) options.id = 'Q1085' -- Praha (eh?) self:assertNotStringContains( 'spisovatelka', myModule.formatEntityId( value, options ), true ) self:assertStringContains( 'spisovatel', myModule.formatEntityId( value, options ), true ) self:assertStringContains( '[[Spisovatel|', myModule.formatEntityId( value, options ), true ) end function suite:testGetLinkWhenNonexistingLabel() self:assertStringContains( 'Q6', myModule.getLinkWhenNonexistingLabel( 'Q6' ), true ) end function suite:testFormatUnit() local options = { label = 'unitsymbol' } self:assertEquals('[[Metr|m]]', myModule.formatEntityId('Q11573', options)) self:assertEquals(myModule.formatEntityId('Q1085', {}), myModule.formatEntityId('Q1085', options)) end return suite j0nbhvw1l17g2b9h7br8trai4p0nehf Module:Wikidata/compare 828 3412 36619 2025-12-15T20:04:47Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "strict" local p = {} local lib = require 'Module:Wikidata/lib' -- @const local br_split = '%s*<[^<>%w]-br[^<>%w]->%s*' local function in_array(value, array) for _, val in ipairs(array) do if val == value then return true end end return false end local function stripBrackets(text) return mw.ustring.gsub(text, '%s*%([^%)]+%)', '') end local function markValue(value, as, options) return '<span class="wd-' .. as .. '">' .....' 36619 Scribunto text/plain --require "strict" local p = {} local lib = require 'Module:Wikidata/lib' -- @const local br_split = '%s*<[^<>%w]-br[^<>%w]->%s*' local function in_array(value, array) for _, val in ipairs(array) do if val == value then return true end end return false end local function stripBrackets(text) return mw.ustring.gsub(text, '%s*%([^%)]+%)', '') end local function markValue(value, as, options) return '<span class="wd-' .. as .. '">' .. value .. '</span>', lib.category(as, options.catbase or ('Vlastnost ' .. options.property)) end function p.compareValues(value, Statements, options) if value == '' then return nil, nil end local title = mw.title.getCurrentTitle() if title.namespace ~= 0 and title.namespace ~= 14 then return nil, nil end if #Statements == 0 then return markValue(value, 'not', options) end local datatype = Statements[math.random(#Statements)].mainsnak.datatype local temp_value = mw.ustring.gsub(value, '<([a-z]+)%f[^%w][^>]->.-</%1>%s*', '') if datatype == "commonsMedia" or datatype == "string" then for _, statement in ipairs(Statements) do if lib.IsSnakValue(statement.mainsnak) then local temp_value = stripBrackets(temp_value) if tostring(statement.mainsnak.datavalue.value) == tostring(temp_value) then --TODO: normalizing return markValue(value, 'same', options) end end end return markValue(value, 'diff', options) elseif datatype == "monolingualtext" then for _, statement in ipairs(Statements) do if lib.IsSnakValue(statement.mainsnak) then if statement.mainsnak.datavalue.value.text == mw.text.strip(temp_value) then return markValue(value, 'same', options) end end end return markValue(value, 'diff', options) elseif datatype == "quantity" then if mw.ustring.match(temp_value, '%d+') then for number in mw.ustring.gmatch(value, '(%-?%d+)') do for _, statement in ipairs(Statements) do if lib.IsSnakValue(statement.mainsnak) then local lowerBound = tonumber(statement.mainsnak.datavalue.value.lowerBound) local upperBound = tonumber(statement.mainsnak.datavalue.value.upperBound) number = tonumber(number) if number >= lowerBound and number <= upperBound then return markValue(value, 'same', options) end end end break -- only the first one end end return markValue(value, 'diff', options) elseif datatype == "time" then temp_value = mw.ustring.gsub(temp_value, '%[%[%s*([^|%]]+)%s*[^%]]*%]%]', '%1') temp_value = stripBrackets(mw.ustring.lower(temp_value)) local Time = require 'Module:Time' local Months = { ["leden"] = 1, ["ledna"] = 1, ["únor"] = 2, ["února"] = 2, ["březen"] = 3, ["března"] = 3, ["duben"] = 4, ["dubna"] = 4, ["květen"] = 5, ["května"] = 5, ["červen"] = 6, ["června"] = 6, ["červenec"] = 7, ["července"] = 7, ["srpen"] = 8, ["srpna"] = 8, ["září"] = 9, ["říjen"] = 10, ["října"] = 10, ["listopad"] = 11, ["listopadu"] = 11, ["prosinec"] = 12, ["prosince"] = 12 } for _, statement in ipairs(Statements) do if lib.IsSnakValue(statement.mainsnak) then local timevalue = Time.newFromWikidataValue(statement.mainsnak.datavalue.value) if timevalue then for parsed in mw.text.gsplit(temp_value, br_split) do parsed = mw.ustring.sub(parsed, 1, mw.ustring.match(parsed, '%d?%d%d()%d') or -1) local parsedTable = {} for _, value in ipairs(mw.text.split(parsed, '[^%w]+')) do if tonumber(value) then table.insert(parsedTable, tonumber(value)) else if Months[value] then table.insert(parsedTable, 2, Months[value]) else parsedTable = {} break end end end local Table if #parsedTable == 1 then Table = Time.new{ year = parsedTable[1] } elseif #parsedTable == 2 then Table = Time.new{ year = parsedTable[1], month = parsedTable[2] } elseif #parsedTable == 3 then Table = Time.new{ year = math.max(parsedTable[1], parsedTable[3]), month = parsedTable[2], day = math.min(parsedTable[1], parsedTable[3]) } end if not Table then mw.log('Nepodařilo se zanalyzovat datum ' .. parsed) else if timevalue == Table then return markValue(value, 'same', options) end end end end end end return markValue(value, 'diff', options) elseif datatype == "url" then if not mw.ustring.match(temp_value, 'https?://') then return markValue(value, 'diff', options) end local WDValues = {} for _, statement in ipairs(Statements) do if lib.IsSnakValue(statement.mainsnak) then table.insert(WDValues, statement.mainsnak.datavalue.value) end end for url in mw.ustring.gmatch(temp_value, '(https?://[^%[%]%s]+)') do if not in_array(url, WDValues) then return markValue(value, 'diff', options) end end return markValue(value, 'same', options) elseif datatype == "wikibase-item" then local WDValues, parsedValues = {}, {} for _, statement in ipairs(Statements) do if lib.IsSnakValue(statement.mainsnak) then local id = lib.getEntityIdFromValue(statement.mainsnak.datavalue.value) local value = mw.wikibase.sitelink(id) or mw.wikibase.label(id) if value then table.insert(WDValues, lib.common.firstToUpper(value)) end end end local link_match = '%[%[[^%]%[]-%]%]' local link_target = '%[%[%s*([^|%]]-)%s*[|%]]' if mw.ustring.match(temp_value, br_split) then for value in mw.text.gsplit(temp_value, br_split) do local value = stripBrackets(value) if mw.ustring.match(value, link_match) then for page in mw.ustring.gmatch(value, link_target) do table.insert(parsedValues, lib.common.firstToUpper(page)) end else table.insert(parsedValues, mw.text.trim(value)) end end elseif mw.ustring.match(temp_value, link_match) then for value in mw.ustring.gmatch(temp_value, link_target) do table.insert(parsedValues, lib.common.firstToUpper(value)) end else table.insert(parsedValues, mw.text.trim(temp_value)) end if #parsedValues == 0 then return markValue(value, 'diff', options) end for _, parsed in ipairs(parsedValues) do if not in_array(parsed, WDValues) then return markValue(value, 'diff', options) end end return markValue(value, 'same', options) end --elseif datatype == "globecoordinate" then --elseif datatype == "wikibase-property" then return nil, nil end function p.compareValuesFromOptions(value, options) local entity = mw.wikibase.getEntity(options.id) local Filterers = require 'Module:Wikidata/Filterers' local Statements = Filterers.filterStatementsFromEntity(entity, options) return p.compareValues(value, Statements, options) end function p.compare(frame) local args = frame.args local value = args.value local _, category = p.compareValuesFromOptions(value, { property = args.property, catbase = args.catbase }) return category end return p q4vs4ixp3gm07tdpbqvjerrc3tiv1n5 Module:Uses Wikidata 828 3413 36620 2025-12-15T20:05:37Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} function p.usesProperty(frame) local args = frame.getParent(frame).args or nil if mw.text.trim(args[1] or '') == '' then args = frame.args end local result = '' local ii = 1 while true do local p_num = mw.text.trim(args[ii] or '') if p_num ~= '' then local label = mw.wikibase.getLabel(p_num) or "NO LABEL" result = result .. "<ul><li>[[File:Disc Plain blue dark.svg|middle|4px|link=]] <b><i>[[d:Property talk:" .. p_num...' 36620 Scribunto text/plain local p = {} function p.usesProperty(frame) local args = frame.getParent(frame).args or nil if mw.text.trim(args[1] or '') == '' then args = frame.args end local result = '' local ii = 1 while true do local p_num = mw.text.trim(args[ii] or '') if p_num ~= '' then local label = mw.wikibase.getLabel(p_num) or "NO LABEL" result = result .. "<ul><li>[[File:Disc Plain blue dark.svg|middle|4px|link=]] <b><i>[[d:Property talk:" .. p_num .. "|" .. label .. " (" .. string.upper(p_num) .. ")]]</i></b> (see <span class='plainlinks'>[https://query.wikidata.org/#SELECT%20%3FWikiData_item_%20%3FWikiData_item_Label%20%3Fvalue%20%3FvalueLabel%20%3FGreek_WikiPedia_article%0A%7B%0A%09%3FWikiData_item_%20wdt%3A" .. p_num .. "%20%3Fvalue%20.%0A%09OPTIONAL%20%7B%3FGreek_WikiPedia_article%20schema%3Aabout%20%3FWikiData_item_%3B%20schema%3AisPartOf%20%3Chttps%3A%2F%2Fel.wikipedia.org%2F%3E%20.%7D%0A%09SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22el%22%20%20%7D%20%0A%7D%0ALIMIT%201000 χρήσεις]</span>)</li></ul>" ii = ii + 1 else break end end return result end function p.tuProperty(frame) local parent = frame.getParent(frame) local result = '' local ii = 1 while true do local p_num = mw.text.trim(parent.args[ii] or '') if p_num ~= '' then local label = mw.wikibase.getLabel(p_num) or "NO LABEL" result = result .. "<ul><li><span style='font-size:90%;line-height:1;'>●</span>&nbsp;&nbsp;<b>[[d:Property:" .. p_num .. "|" .. label .. "]]</b> <span style='font-size:90%;'>([[d:Property talk:" .. string.upper(p_num) .. "|" .. p_num .. "]])</span></li></ul>" ii = ii + 1 else break end end return result end return p azx0k3vtekv2eab7sqd9p4jvy7rf2cy Module:Wikidata/Tree 828 3414 36621 2025-12-15T20:06:32Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} local lib = require 'Module:Wikidata/lib' p.instance_prop = 'P31' p.abovetaxa_prop = 'P171' p.class_prop = 'P279' function p.GoInTree(item, prop, level, holder, callback) if level == 0 then return holder end local entity = mw.wikibase.getEntity(item) local Statements = entity:getBestStatements(prop) for i, statement in pairs(Statements) do local new_holder, ok = callback(holder, Statements, i) if ok and lib.IsSnakValue(st...' 36621 Scribunto text/plain local p = {} local lib = require 'Module:Wikidata/lib' p.instance_prop = 'P31' p.abovetaxa_prop = 'P171' p.class_prop = 'P279' function p.GoInTree(item, prop, level, holder, callback) if level == 0 then return holder end local entity = mw.wikibase.getEntity(item) local Statements = entity:getBestStatements(prop) for i, statement in pairs(Statements) do local new_holder, ok = callback(holder, Statements, i) if ok and lib.IsSnakValue(statement.mainsnak) then local item = lib.getEntityIdFromValue(statement.mainsnak.datavalue.value) return p.GoInTree(item, prop, level - 1, new_holder, callback) end end return holder end function p.IsInTree(item, root, prop, level, item_cache) if item == root then return true end if level == 0 then return false end local entity = mw.wikibase.getEntity(item) local Statements = entity:getBestStatements(prop) for _, statement in pairs(Statements) do if lib.IsSnakValue(statement.mainsnak) then local item = lib.getEntityIdFromValue(statement.mainsnak.datavalue.value) if not item_cache[item] then item_cache[item] = item if p.IsInTree(item, root, prop, level - 1, item_cache) then return true end end end end return false end function p.IsInstance(item, options) local Classes = lib.textToTable(options.instance:upper()) local entity = mw.wikibase.getEntity(item) local Statements = entity:getBestStatements(p.instance_prop) local level = tonumber(options.level) or 10 for _, class in pairs(Classes) do for _, statement in pairs(Statements) do if lib.IsSnakValue(statement.mainsnak) then local item = lib.getEntityIdFromValue(statement.mainsnak.datavalue.value) if p.IsInTree(item, class, p.class_prop, level, {}) then return true end end end end return false end return p fhmcpf2efuhxyi4nfa1f8id2yn4lvg0 Module:ScoreWikidata 828 3415 36622 2025-12-15T20:07:20Z Εὐθυμένης 2777 Καινούρεον σελίδαν με ' local p = {} function p.wikidata(frame) local entity = mw.wikibase.getEntity(frame.args[1]) local snak = entity['claims']['P577'] return p end return p' 36622 Scribunto text/plain local p = {} function p.wikidata(frame) local entity = mw.wikibase.getEntity(frame.args[1]) local snak = entity['claims']['P577'] return p end return p 5vmosmt8gi2r7emiml3b09zexbnmf8p Module:Wikidata/Filterers/testcases 828 3416 36623 2025-12-15T20:08:05Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local myModule = require 'Module:Wikidata/Filterers' local builder = require 'Module:Wikidata/build' local ScribuntoUnit = require 'Module:ScribuntoUnit' local suite = ScribuntoUnit:new() function suite:testFilterByDate() self:assertTrue(false) end function suite:testFilterByRank() local provider = {} for _, rank in ipairs({ 'deprecated', 'preferred', 'normal', 'normal', 'deprecated', 'preferred' }) do table.insert(provider, builder.buildSta...' 36623 Scribunto text/plain local myModule = require 'Module:Wikidata/Filterers' local builder = require 'Module:Wikidata/build' local ScribuntoUnit = require 'Module:ScribuntoUnit' local suite = ScribuntoUnit:new() function suite:testFilterByDate() self:assertTrue(false) end function suite:testFilterByRank() local provider = {} for _, rank in ipairs({ 'deprecated', 'preferred', 'normal', 'normal', 'deprecated', 'preferred' }) do table.insert(provider, builder.buildStatement{ rank = rank, datatype = 'string', value = rank }) end for rank, length in ipairs({ all = 6, [false] = 4, preferred = 2, normal = 2, deprecated = 2, valid = 4, best = 2 }) do local statements = mw.clone(provider) myModule.filterStatements(statements, { rank = rank or nil }) self:assertEquals(length, #statements) end end function suite:testFilterByLanguage() local provider = {} for _, lang in ipairs({ 'el', 'cs', 'en', 'de', 'cs', 'xyz' }) do table.insert(provider, builder.buildStatement{ datatype = 'monolingualtext', lang = lang, value = 'foo' }) end table.insert(provider, 3, builder.buildStatement{ datatype = 'monolingualtext', snaktype = 'somevalue' }) for lang, length in pairs({ el = 2, en = 1, sk = 0 }) do local statements = mw.clone(provider) myModule.filterStatements(statements, { rank = 'all', somevalue = true, withlang = lang }) self:assertEquals(length, #statements) end end function suite:testFilterHasReferences() self:assertTrue(false) end function suite:testFilterHasTarget() local provider = {} for i = 1, 2 do for j = i, 2 do table.insert(provider, builder.buildStatement{ datatype = 'wikibase-item', value = i }) end end for id, length in pairs({ Q1 = 2, Q2 = 1, Q3 = 0 }) do local statements = mw.clone(provider) myModule.filterStatements(statements, { withtarget = id }) self:assertEquals(length, #statements) end end function suite:testFilterHasQualifier() local provider = {} for i = 1, 3 do local statement = builder.buildStatement{ datatype = 'wikibase-item', value = i } statement.qualifiers = {} for j = 1, i do statement.qualifiers['P' .. j] = { builder.buildSnak{ datatype = 'wikibase-item', value = j } } end table.insert(provider, statement) end for prop, length in pairs({ P1 = 3, P2 = 2, P3 = 1, P4 = 0 }) do local statements = mw.clone(provider) myModule.filterStatements(statements, { withqualifier = prop }) self:assertEquals(length, #statements) end end function suite:testFilterHasQualifier_WithValue() local provider = {} for i = 1, 3 do local statement = builder.buildStatement{ datatype = 'wikibase-item', value = i } statement.qualifiers = { P1 = {} } for j = 1, i do table.insert(statement.qualifiers.P1, builder.buildSnak{ datatype = 'wikibase-item', value = j }) end table.insert(provider, statement) end for id = 1, 4 do local statements = mw.clone(provider) local val = mw.ustring.format('Q%s', id) myModule.filterStatements(statements, { withqualifier = 'P1', withqualifiervalue = val }) self:assertEquals(4 - id, #statements) end end function suite:testFilterItemHasLabel() local provider = {} for snak, value in pairs({ value = 6, value = 1085, novalue = false }) do table.insert(provider, builder.buildStatement{ datatype = 'wikibase-item', snaktype = snak, value = value }) end local statements = mw.clone(provider) myModule.filterStatements(statements, { withlabel = true }) self:assertEquals(1, #statements) end function suite:testFilterBySnaktype() local provider = { { expected = 2, opts = {}, }, { expected = 3, opts = { novalue = true }, }, { expected = 3, opts = { somevalue = true }, }, { expected = 4, opts = { somevalue = true, novalue = true }, }, } local statements = {} for _, snaktype in ipairs{ 'somevalue', 'novalue' } do table.insert(statements, builder.buildStatement{ datatype = 'wikibase-item', snaktype = snaktype }) end for i = 1, 2 do table.insert(statements, 2, builder.buildStatement{ datatype = 'wikibase-item', value = i }) end for _, data in ipairs(provider) do local _statements = mw.clone(statements) myModule.filterStatements(_statements, data.opts) self:assertEquals(data.expected, #_statements) end end return suite b5ax68fqq3vckhohmust0j1x9b3r0uj Module:Wikidata/Formatters/testcases 828 3417 36624 2025-12-15T20:08:49Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local myModule = require 'Module:Wikidata/Formatters/quantity' local builder = require 'Module:Wikidata/build' local ScribuntoUnit = require 'Module:ScribuntoUnit' local suite = ScribuntoUnit:new() function suite:testGetRawValue() for _, val in ipairs{ -1, 0, 0.5, 1 } do local value = builder.buildValueFromDatatype{ datatype = 'quantity', value = val } self:assertEquals(val, myModule.getRawValue(value, {})) end end function suite:te...' 36624 Scribunto text/plain local myModule = require 'Module:Wikidata/Formatters/quantity' local builder = require 'Module:Wikidata/build' local ScribuntoUnit = require 'Module:ScribuntoUnit' local suite = ScribuntoUnit:new() function suite:testGetRawValue() for _, val in ipairs{ -1, 0, 0.5, 1 } do local value = builder.buildValueFromDatatype{ datatype = 'quantity', value = val } self:assertEquals(val, myModule.getRawValue(value, {})) end end function suite:testGetRawValueConvertUnit() local provider = { { amount = 3, expected = 3000, tounit = 'Q11573', -- metre unit = 'Q828224' -- kilometre }, { amount = 1000, expected = 1609344, tounit = 'Q11573', -- metre unit = 'Q253276' -- mile }, { amount = 123, expected = 123, tounit = 'Q11573', -- metre unit = 'Q11570' -- kilogram }, { amount = 1, expected = 1000000, tounit = 'Q174789', -- millimetre unit = 'Q828224' -- kilometre }, } for _, data in ipairs(provider) do local value = builder.buildValueFromDatatype{ datatype = 'quantity', value = data.amount, unit = data.unit, } local options = { unit = data.tounit } self:assertEquals(data.expected, myModule.getRawValue(value, options)) end end function suite:testFormatRawValue() local provider = { { value = 1, expected = '1' }, { value = 0, expected = '0' }, { value = -1, expected = '−1' }, { value = 1.5, expected = '1,5' }, { value = 12345678, expected = '12&nbsp;345&nbsp;678' }, { value = 1.234567, expected = '1,234&nbsp;567' }, { value = -1234.5678, expected = '−1&nbsp;234,567&nbsp;8' }, } for _, data in ipairs(provider) do self:assertEquals(data.expected, myModule.formatRawValue(data.value, {})) end end function suite:testFormatValue() for _, val in ipairs{ -1, math.pi, 1234 } do local value = builder.buildValueFromDatatype{ datatype = 'quantity', value = val, } self:assertEquals( myModule.formatRawValue(val, {}), myModule.formatValue(value, {}) ) end end function suite:testFormatValueWithMargin() for _, diff in ipairs{ 0, 1, 2.5, false } do local value = builder.buildValueFromDatatype{ datatype = 'quantity', diff = diff or nil, value = 10, } if diff then self:assertEquals( '10±' .. myModule.formatRawValue(diff, {}), myModule.formatValue(value, { showmargin = true }) ) else self:assertEquals('10', myModule.formatValue(value, {})) end end end function suite:testFormatValueWithUnit() for _, unit in ipairs{ 'Q11573', 'Q11570', 'Q199', false } do local value = builder.buildValueFromDatatype{ datatype = 'quantity', unit = unit or nil, value = 10, } local result = myModule.formatValue(value, {}) if not unit or unit == 'Q199' then self:assertEquals('10', result) else self:assertStringContains('^10&nbsp;%[%[', result) self:assertStringContains('%]%]$', result) end end end function suite:testFormatValueWithUnitConverted() local provider = { { amount = 3, convert = true, expected = 3000, tounit = 'Q11573', -- metre unit = 'Q828224' -- kilometre }, { amount = 1000, convert = true, expected = 1609344, tounit = 'Q11573', -- metre unit = 'Q253276' -- mile }, { amount = 123, convert = false, expected = 123, tounit = 'Q11573', -- metre unit = 'Q11570' -- kilogram }, } for _, data in ipairs(provider) do local value = builder.buildValueFromDatatype{ datatype = 'quantity', unit = data.unit, value = data.amount, } local result = myModule.formatValue(value, { unit = data.tounit }) if data.convert then self:assertStringContains( myModule.formatRawValue(data.expected) .. '&nbsp;[[' .. mw.wikibase.sitelink(data.tounit) .. '|', result, true ) else self:assertStringContains( myModule.formatRawValue(data.amount) .. '&nbsp;[[' .. mw.wikibase.sitelink(data.unit) .. '|', result, true ) end end end function suite:testFormatValueSuppressUnit() for _, unit in ipairs{ 'Q11573', 'Q11570' } do local value = builder.buildValueFromDatatype{ datatype = 'quantity', unit = unit, value = 1, } local result = myModule.formatValue(value, { showunit = false }) self:assertNotStringContains('[[', result, true) self:assertNotStringContains(']]', result, true) end end return suite iicocq9n8e88ku7iva1tmru5tnxg2gi Module:Convert/wikidata/data 828 3418 36625 2025-12-15T20:09:29Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--[[ Cache of Wikidata information with units for Module:Convert. The codes should rarely change, and using a cache means that changing a unit at Wikidata will not cause lots of converts in articles to break. For a unit known to convert, the unit here must have: label = Wikidata label for unit (used only when listing units) ucode = unit code for input to convert (there are no optional fields because convert handles everything) For a unit not k...' 36625 Scribunto text/plain --[[ Cache of Wikidata information with units for Module:Convert. The codes should rarely change, and using a cache means that changing a unit at Wikidata will not cause lots of converts in articles to break. For a unit known to convert, the unit here must have: label = Wikidata label for unit (used only when listing units) ucode = unit code for input to convert (there are no optional fields because convert handles everything) For a unit not known to convert, the unit here must have: label = Wikidata label for unit (used only when listing units) (no ucode field) _ucode = unit code for input to convert, and the symbol used to display the unit when abbr=on (convert will use the specified fields to display the unit, and will not attempt to do a conversion) For a unit not known to convert, the unit here may have: name1 = singular name used to display the unit when abbr=off name2 = plural name used to display the unit when abbr=off link = name of article that unit will be linked to when lk=on si = key for the SI base unit, if any The base unit for each SI unit here must have: symbol = symbol used to display the base unit when abbr=on name1 = singular name of base unit used to display the unit when abbr=off (if name1 is not given, symbol will be used, but an SI unit should have a name) The base unit for each SI unit here may have: name2 = plural name of base unit used to display the unit when abbr=off link = name of article that unit will be linked to when lk=on (applies for all SI units using this base, where the SI unit does not define its own link field) If name1 is not specified, the symbol is used for the name. If name2 is not specified, a plural name is formed by appending 's' to name1. If link is not specified, name1 is used for the link. SI units are assumed to be simple items like V (volt) where 'mV' would cause convert to insert: 'm' before the base symbol 'V' to make 'mV', if abbr=on 'milli' before the base name 'volt' to make 'millivolt', if abbr=off A unit like "square meter" would not work because it needs an SI prefix inserted before "meter" rather than at the beginning of the name. Items that should not be used with convert as no precise unit is implied: Q11247037 ton generic (cannot use) Q178413 gallon generic Q130964 calorie dubious (ambiguous, should not use) Q216658 bushel dubious Q420266 fluid ounce dubious ]] local wikidata_units = { -- Following are SI base units. A = { symbol = 'A', name1 = 'ampere', }, F = { symbol = 'F', name1 = 'faraday', }, H = { symbol = 'H', name1 = 'henry', }, V = { symbol = 'V', name1 = 'volt', }, -- Following are aliases to convert unit codes, used with "input=<value><space><unit>". kilograms = { ucode = 'kg', }, -- Following are SI units not known to convert, used with "input=<value><space><unit>". kV = { ucode = 'kV', si = 'V', }, mV = { ucode = 'mV', si = 'V', }, -- Following are Wikidata units. Q131255 = { label = 'farad', _ucode = 'F', si = 'F', }, Q163354 = { label = 'henry', _ucode = 'H', si = 'H', }, Q1916026 = { label = 'microvolt', _ucode = 'uV', si = 'V', }, Q193933 = { label = 'dioptre', name1 = 'dioptre', _ucode = 'dpt', }, Q212120 = { label = 'ampere-hour', name1 = 'ampere-hour', _ucode = 'A⋅h', }, Q2448803 = { label = 'millivolt', _ucode = 'mV', si = 'V', }, Q2451296 = { label = 'microfarad', _ucode = 'uF', si = 'F', }, Q2490574 = { label = 'milliampere', _ucode = 'mA', si = 'A', }, Q25250 = { label = 'volt', _ucode = 'V', si = 'V', }, Q25272 = { label = 'ampere', _ucode = 'A', si = 'A', }, Q2553708 = { label = 'megavolt', _ucode = 'MV', si = 'V', }, Q2554092 = { label = 'kilovolt', _ucode = 'kV', si = 'V', }, Q2636421 = { label = 'nanohenry', _ucode = 'nH', si = 'H', }, Q2679083 = { label = 'microhenry', _ucode = 'uH', si = 'H', }, Q2682463 = { label = 'nanofarad', _ucode = 'nF', si = 'F', }, Q2756030 = { label = 'picofarad', _ucode = 'pF', si = 'F', }, Q2793566 = { label = 'gigavolt', _ucode = 'GV', si = 'V', }, Q2924137 = { label = 'millihenry', _ucode = 'mH', si = 'H', }, Q3117809 = { label = 'microampere', _ucode = 'uA', si = 'A', }, Q33680 = { label = 'radian', name1 = 'radian', _ucode = 'rad', }, Q4456994 = { label = 'millifarad', _ucode = 'mF', si = 'F', }, Q47083 = { label = 'ohm', name1 = 'ohm', _ucode = 'Ω', }, Q483261 = { label = 'atomic mass unit', name1 = 'atomic mass unit', _ucode = 'u', }, Q550341 = { label = 'volt-ampere', name1 = 'volt-ampere', _ucode = 'VA', }, Q100995 = { label = 'pound', ucode = 'lb', }, Q1022113 = { label = 'cubic centimetre', ucode = 'cc', }, Q102573 = { label = 'becquerel', ucode = 'Bq', }, Q103246 = { label = 'sievert', ucode = 'Sv', }, Q1050958 = { label = 'inch of mercury', ucode = 'inHg', }, Q1051665 = { label = 'metre per second squared', ucode = 'm/s2', }, Q1052397 = { label = 'rad', ucode = 'rad', }, Q1054140 = { label = 'megametre', ucode = 'Mm', }, Q1057069 = { label = 'hectogram', ucode = 'hg', }, Q1063786 = { label = 'square inch', ucode = 'sqin', }, Q1092296 = { label = 'annum', ucode = 'year', }, Q11570 = { label = 'kilogram', ucode = 'kg', }, Q11573 = { label = 'metre', ucode = 'm', }, Q11574 = { label = 'second', ucode = 's', }, Q11579 = { label = 'kelvin', ucode = 'K', }, Q11582 = { label = 'liter', ucode = 'liter', }, Q1165588 = { label = 'rod', ucode = 'rod', }, Q1165799 = { label = 'thou', ucode = 'thou', }, Q11776930 = { label = 'megagram', ucode = 'Mg', }, Q11929860 = { label = 'kiloparsec', ucode = 'kpc', }, Q1194225 = { label = 'pound-force', ucode = 'lbf', }, Q12129 = { label = 'parsec', ucode = 'pc', }, Q12438 = { label = 'newton', ucode = 'N', }, Q1255620 = { label = 'dram', ucode = 'drachm', }, Q12874593 = { label = 'watt-hour', ucode = 'W.h', }, Q128822 = { label = 'knot', ucode = 'kn', }, Q1374438 = { label = 'kilosecond', ucode = 'ks', }, Q1377051 = { label = 'gigasecond', ucode = 'Gs', }, Q14754979 = { label = 'zettagram', ucode = 'Zg', }, Q14786969 = { label = 'megajoule', ucode = 'MJ', }, Q14787261 = { label = 'megawatt hour', ucode = 'MW.h', }, Q1550511 = { label = 'square yard', ucode = 'sqyd', }, Q160857 = { label = 'horsepower', ucode = 'hp', }, Q1628990 = { label = 'horsepower-hour', ucode = 'hph', }, Q163343 = { label = 'tesla', ucode = 'T', }, Q1645498 = { label = 'microgram', ucode = 'ug', }, Q17087835 = { label = 'cuerda', ucode = 'cda', }, Q174728 = { label = 'centimetre', ucode = 'cm', }, Q174789 = { label = 'millimetre', ucode = 'mm', }, Q175821 = { label = 'micrometre', ucode = 'um', }, Q1770733 = { label = 'teragram', ucode = 'Tg', }, Q1772386 = { label = 'decigram', ucode = 'dg', }, Q177493 = { label = 'gauss', ucode = 'G', }, Q1777507 = { label = 'femtosecond', ucode = 'fs', }, Q177974 = { label = 'atmosphere', ucode = 'atm', }, Q178674 = { label = 'nanometre', ucode = 'nm', }, Q180154 = { label = 'kilometre per hour', ucode = 'km/h', }, Q180892 = { label = 'solar mass', ucode = 'solar mass', }, Q1811 = { label = 'astronomical unit', ucode = 'au', }, Q1815100 = { label = 'centiliter', ucode = 'cl', }, Q182098 = { label = 'kilowatt hour', ucode = 'kW.h', }, Q1823150 = { label = 'microwatt', ucode = 'uW', }, Q182429 = { label = 'metre per second', ucode = 'm/s', }, Q1826195 = { label = 'deciliter', ucode = 'dl', }, Q185078 = { label = 'are', ucode = 'a', }, Q185153 = { label = 'erg', ucode = 'erg', }, Q185648 = { label = 'torr', ucode = 'Torr', }, Q190095 = { label = 'gray', ucode = 'Gy', }, Q191118 = { label = 'tonne', ucode = 'tonne', }, Q1913097 = { label = 'femtogram', ucode = 'fg', }, Q192274 = { label = 'picometre', ucode = 'pm', }, Q1972579 = { label = 'poundal', ucode = 'pdl', }, Q200323 = { label = 'decimetre', ucode = 'dm', }, Q201933 = { label = 'dyne', ucode = 'dyn', }, Q2029519 = { label = 'hectoliter', ucode = 'hl', }, Q2051195 = { label = 'gigawatt hour', ucode = 'GW.h', }, Q207488 = { label = 'Rankine scale', ucode = 'R', }, Q208788 = { label = 'femtometre', ucode = 'fm', }, Q2101 = { label = 'elementary charge', ucode = 'e', }, Q21014455 = { label = 'metre per minute', ucode = 'm/min', }, Q21062777 = { label = 'megapascal', ucode = 'MPa', }, Q21064807 = { label = 'kilopascal', ucode = 'kPa', }, Q211256 = { label = 'miles per hour', ucode = 'mph', }, Q21178489 = { label = 'barrels per day', ucode = 'oilbbl/d', }, Q2143992 = { label = 'kilohertz', ucode = 'kHz', }, Q21467992 = { label = 'cubic foot per second', ucode = 'cuft/s', }, Q215571 = { label = 'newton metre', ucode = 'Nm', }, Q216795 = { label = 'dunam', ucode = 'dunam', }, Q216880 = { label = 'kilogram-force', ucode = 'kgf', }, Q18413919 = { label = 'centimetre per second', ucode = 'cm/s', }, Q218593 = { label = 'inch', ucode = 'in', }, Q2282891 = { label = 'microliter', ucode = 'ul', }, Q2282906 = { label = 'nanogram', ucode = 'ng', }, Q229354 = { label = 'curie', ucode = 'Ci', }, Q232291 = { label = 'square mile', ucode = 'sqmi', }, Q2332346 = { label = 'milliliter', ucode = 'ml', }, Q23387 = { label = 'week', ucode = 'week', }, Q23823681 = { label = 'terawatt', ucode = 'TW', }, Q23925410 = { label = 'gallon', ucode = 'impgal', }, Q23925413 = { label = 'gallon', ucode = 'USgal', }, Q2438073 = { label = 'attogram', ucode = 'ag', }, Q2474258 = { label = 'millisievert', ucode = 'mSv', }, Q2483628 = { label = 'attosecond', ucode = 'as', }, Q2489298 = { label = 'square centimetre', ucode = 'cm2', }, Q2518569 = { label = 'nanosievert', ucode = 'nSv', }, Q25235 = { label = 'hour', ucode = 'h', }, Q25236 = { label = 'watt', ucode = 'W', }, Q25267 = { label = 'degree Celsius', ucode = 'C', }, Q25269 = { label = 'joule', ucode = 'J', }, Q253276 = { label = 'mile', ucode = 'mi', }, Q25343 = { label = 'square metre', ucode = 'm2', }, Q25406 = { label = 'coulomb', ucode = 'coulomb', }, Q25517 = { label = 'cubic metre', ucode = 'm3', }, Q260126 = { label = 'Roentgen equivalent man', ucode = 'rem', }, Q2612219 = { label = 'petagram', ucode = 'Pg', }, Q2619500 = { label = 'Foe', ucode = 'foe', }, Q2637946 = { label = 'decaliter', ucode = 'dal', }, Q2655272 = { label = 'exagram', ucode = 'Eg', }, Q2691798 = { label = 'centigram', ucode = 'cg', }, Q2739114 = { label = 'microsievert', ucode = 'uSv', }, Q2799294 = { label = 'gigagram', ucode = 'Gg', }, Q3013059 = { label = 'kiloannum', ucode = 'millennium', }, Q305896 = { label = 'dots per inch', ucode = 'dpi', }, Q3207456 = { label = 'milliwatt', ucode = 'mW', }, Q3221356 = { label = 'yoctometre', ucode = 'ym', }, Q3239557 = { label = 'picogram', ucode = 'pg', }, Q3241121 = { label = 'milligram', ucode = 'mg', }, Q3267417 = { label = 'terametre', ucode = 'Tm', }, Q3270676 = { label = 'zeptometre', ucode = 'zm', }, Q3276763 = { label = 'gigahertz', ucode = 'GHz', }, Q3277907 = { label = 'exametre', ucode = 'Em', }, Q3277915 = { label = 'zettametre', ucode = 'Zm', }, Q3277919 = { label = 'petametre', ucode = 'Pm', }, Q3312063 = { label = 'femtoliter', ucode = 'fl', }, Q3320608 = { label = 'kilowatt', ucode = 'kW', }, Q3332822 = { label = 'megaton', ucode = 'Mt(TNT)', }, Q35852 = { label = 'hectare', ucode = 'ha', }, Q3675550 = { label = 'cubic millimetre', ucode = 'mm3', }, Q3710 = { label = 'foot', ucode = 'ft', }, Q3773454 = { label = 'megaparsec', ucode = 'Mpc', }, Q3902688 = { label = 'picoliter', ucode = 'pl', }, Q3902709 = { label = 'picosecond', ucode = 'ps', }, Q39369 = { label = 'hertz', ucode = 'Hz', }, Q3972226 = { label = 'kiloliter', ucode = 'kl', }, Q4068266 = { label = "apothecaries' drachm", ucode = 'drachm', }, Q41803 = { label = 'gram', ucode = 'g', }, Q4220561 = { label = 'kilometer per second', ucode = 'km/s', }, Q42289 = { label = 'degree Fahrenheit', ucode = 'F', }, Q4243638 = { label = 'cubic kilometre', ucode = 'km3', }, Q44395 = { label = 'pascal', ucode = 'Pa', }, Q48013 = { label = 'ounce', ucode = 'oz', }, Q482798 = { label = 'yard', ucode = 'yd', }, Q4989854 = { label = 'kilojoule', ucode = 'kJ', }, Q4992853 = { label = 'kiloton', ucode = 'kt(TNT)', }, Q5139563 = { label = 'hectopascal', ucode = 'hPa', }, Q5151 = { label = 'month', ucode = 'month', }, Q531 = { label = 'light-year', ucode = 'ly', }, Q5465723 = { label = 'foot-poundal', ucode = 'ftpdl', }, Q573 = { label = 'day', ucode = 'd', }, Q577 = { label = 'year', ucode = 'year', }, Q5879479 = { label = 'gigawatt', ucode = 'GW', }, Q6003257 = { label = 'attometre', ucode = 'am', }, Q613726 = { label = 'yottagram', ucode = 'Yg', }, Q6170164 = { label = 'yoctogram', ucode = 'yg', }, Q667419 = { label = 'long ton', ucode = 'LT', }, Q673166 = { label = 'gravity of Earth', ucode = 'g0', }, Q693944 = { label = 'grain', ucode = 'gr', }, Q6982035 = { label = 'megawatt', ucode = 'MW', }, Q712226 = { label = 'square kilometre', ucode = 'km2', }, Q723733 = { label = 'millisecond', ucode = 'ms', }, Q732454 = { label = 'Ma', ucode = 'Myr', }, Q732707 = { label = 'megahertz', ucode = 'MHz', }, Q752079 = { label = 'gross register ton', ucode = 'grt', }, Q752197 = { label = 'kilojoule per mole', ucode = 'kJ/mol', }, Q7727 = { label = 'minute', ucode = 'min', }, Q794261 = { label = 'cubic metre per second', ucode = 'm3/s', }, Q809678 = { label = 'barye', ucode = 'Ba', }, Q81292 = { label = 'acre', ucode = 'acre', }, Q81454 = { label = 'ångström', ucode = 'angstrom', }, Q828224 = { label = 'kilometre', ucode = 'km', }, Q83327 = { label = 'electronvolt', ucode = 'eV', }, Q838801 = { label = 'nanosecond', ucode = 'ns', }, Q842015 = { label = 'microsecond', ucode = 'us', }, Q844211 = { label = 'kilogram per cubic metre', ucode = 'kg/m3', }, Q844338 = { label = 'hectometre', ucode = 'hm', }, Q844976 = { label = 'oersted', ucode = 'Oe', }, Q848856 = { label = 'decametre', ucode = 'dam', }, Q854546 = { label = 'gigametre', ucode = 'Gm', }, Q857027 = { label = 'square foot', ucode = 'sqft', }, Q9048643 = { label = 'nanoliter', ucode = 'nl', }, Q93318 = { label = 'nautical mile', ucode = 'nmi', }, } return { wikidata_units = wikidata_units } e106ma36jajkh7r76vkd8vvo5tf1usx Module:Wikidata/Formatters/string 828 3419 36626 2025-12-15T20:10:18Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local function findPattern(property) local Statements = mw.wikibase.getBestStatements(property:upper(), 'P1630') for _, statement in ipairs(Statements) do if lib.IsSnakValue(statement.mainsnak) then return statement.mainsnak.datavalue.value end end return nil end function p.getRawValue(value, options) return value end function p.formatValue(value, options) i...' 36626 Scribunto text/plain --require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local function findPattern(property) local Statements = mw.wikibase.getBestStatements(property:upper(), 'P1630') for _, statement in ipairs(Statements) do if lib.IsSnakValue(statement.mainsnak) then return statement.mainsnak.datavalue.value end end return nil end function p.getRawValue(value, options) return value end function p.formatValue(value, options) if options.pattern then return lib.formatFromPattern(value, options.pattern) elseif lib.IsOptionTrue(options, 'autoformat') then local pattern = findPattern(options.property) if pattern then return lib.formatFromPattern(value, mw.ustring.format('[%s %s]', pattern, options.text or '$1')) end end return value end p.formatRawValue = p.formatValue return p 10cx9yrwkaqp2yeym0gm6g0vdkadlg7 Module:Wikidata/Formatters/time 828 3420 36627 2025-12-15T20:11:26Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local i18n = mw.loadData('Module:Wikidata/i18n') -- todo: move to lib function p.yearDifference(sooner, later) local age = later.year - sooner.year if sooner.precision > 10 then if later.precision > 10 then if sooner.month > later.month then age = age - 1 elseif sooner.month == later.month and sooner.day > later.day then age = age - 1 end return age...' 36627 Scribunto text/plain --require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local i18n = mw.loadData('Module:Wikidata/i18n') -- todo: move to lib function p.yearDifference(sooner, later) local age = later.year - sooner.year if sooner.precision > 10 then if later.precision > 10 then if sooner.month > later.month then age = age - 1 elseif sooner.month == later.month and sooner.day > later.day then age = age - 1 end return age, age elseif later.precision == 10 then if sooner.month == later.month then return age - 1, age - 1 .. '–' .. age end if sooner.month > later.month then age = age - 1 end return age, age end elseif sooner.precision == 10 then if later.precision > 9 then if sooner.month == later.month then return age - 1, age - 1 .. '–' .. age end if sooner.month > later.month then age = age - 1 end return age, age end end return age - 1, age - 1 .. '–' .. age end -- todo: move to lib function p.julianToGregorian(timevalue) -- https://en.wikipedia.org/wiki/Gregorian_calendar#Difference_between_Gregorian_and_Julian_calendar_dates local year = timevalue.year local diff = math.floor(year / 100) - math.floor(year / 400) - 2 if year % 100 == 0 and year % 400 ~= 0 then if timevalue.month == 2 and 30 - timevalue.day > diff then diff = diff - 1 end end local feb_days if year % 4 == 0 then feb_days = 29 else feb_days = 28 end local days = { 31, feb_days, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } local newvalue = mw.clone(timevalue) newvalue.calendar = newvalue.CALENDAR.GREGORIAN newvalue.day = newvalue.day + diff if newvalue.day > days[newvalue.month] then newvalue.day = newvalue.day - days[newvalue.month] newvalue.month = newvalue.month + 1 if newvalue.month > 12 then newvalue.month = 1 newvalue.year = newvalue.year + 1 end end return newvalue end local function stripZero(date, lang, timevalue) -- odstraň nuly na začátku (rok < 1000 a > -1000) local year if timevalue.year > 0 then year = math.abs(timevalue.year) else year = math.abs(timevalue.year) - 1 end return mw.ustring.gsub( date, lang:formatNum(0) .. '+(' .. lang:formatNum(year, { noCommafy = true }) .. ')', '%1' ) end function p.getRawValue(value, options) local Time = require 'Module:Time' return Time.newFromWikidataValue(value) end function p.formatRawValue(timevalue, options) local lang = mw.getContentLanguage() local precision = math.min(timevalue.precision, options.precision or timevalue.precision) local timestring = tostring(timevalue) local linked_app = '' if not lib.IsOptionTrue(options, 'nolink') then linked_app = '-linked' end local BCE_app = '' if timevalue.year < 0 then timestring = mw.ustring.sub(timestring, 2) BCE_app = '-BCE' end local newstring local map = { [timevalue.PRECISION.KY] = 'millenium', [timevalue.PRECISION.YEAR100] = 'century', [timevalue.PRECISION.YEAR10] = 'decade', [timevalue.PRECISION.YEAR] = 'year', [timevalue.PRECISION.MONTH] = 'year-month', [timevalue.PRECISION.DAY] = 'year-month-day', } if precision >= timevalue.PRECISION.YEAR then local key = map[math.min(precision, timevalue.PRECISION.DAY)] .. BCE_app local pattern = i18n.date[key .. linked_app] or i18n.date[key] if precision > timevalue.PRECISION.MONTH and timevalue.calendar == timevalue.CALENDAR.JULIAN and timevalue > timevalue.newFromIso8601('1582-10-04') then local newvalue = p.julianToGregorian(timevalue) local jul_pattern if newvalue.year ~= timevalue.year then jul_pattern = i18n.date['year-month-day'] elseif newvalue.month ~= timevalue.month then jul_pattern = i18n.date['month-day'] else jul_pattern = i18n.date.day end if newvalue.month == 2 and newvalue.day == 29 then if year % 100 == 0 and year % 400 ~= 0 then timevalue.year = 2000 -- hack to force formatting 29th February end end newstring = mw.ustring.format('%s%s / %s%s', stripZero(lang:formatDate(jul_pattern, timestring), lang, timevalue), i18n.date.julian, stripZero(lang:formatDate(pattern, tostring(newvalue)), lang, newvalue), i18n.date.gregorian) else newstring = stripZero(lang:formatDate(pattern, timestring), lang, timevalue) end elseif precision >= timevalue.PRECISION.KY then local key = map[precision] .. BCE_app local coef = 10 ^ (9 - precision) local number = math.floor(math.abs(timevalue.year) / coef) if precision == timevalue.PRECISION.YEAR100 then if timevalue.year % 100 > 0 and BCE_app == '' then number = number + 1 end elseif precision == timevalue.PRECISION.YEAR10 then number = number * coef end newstring = mw.getCurrentFrame():preprocess( mw.message.newRawMessage(i18n.date[key .. linked_app] or i18n.date[key]) :params(lang:formatNum(number, { noCommafy = true })) :plain() ) else -- TODO newstring = timestring end return newstring end function p.formatValue(value, options) local timevalue = p.getRawValue(value, options) local formatted = p.formatRawValue(timevalue, options) if lib.IsOptionTrue(options, 'birthdate') and timevalue.precision >= timevalue.PRECISION.YEAR then if #mw.wikibase.getBestStatements(options.id, 'P570') == 0 then local Time = require 'Module:Time' local age, age_text = p.yearDifference(timevalue, Time.new(os.date('!*t'))) formatted = mw.ustring.format('%s (%s)', formatted, mw.getCurrentFrame():preprocess( mw.message.newRawMessage(i18n.date.age) :params(age_text) :numParams(age) :plain() ) ) if age >= 100 then formatted = formatted .. lib.category('centenarians-living') elseif age < 0 then formatted = formatted .. lib.category('failed-age-computing') end end elseif lib.IsOptionTrue(options, 'deathdate') and timevalue.precision >= timevalue.PRECISION.YEAR then local birthvalue for _, statement in ipairs(mw.wikibase.getBestStatements(options.id, 'P569')) do if lib.IsSnakValue(statement.mainsnak) then local Formatters = require 'Module:Wikidata/Formatters' birthvalue = Formatters.getRawValue(statement.mainsnak) break end end if birthvalue and birthvalue.precision >= birthvalue.PRECISION.YEAR then local age, age_text = p.yearDifference(birthvalue, timevalue) formatted = mw.ustring.format('%s (%s)', formatted, mw.getCurrentFrame():preprocess( mw.message.newRawMessage(i18n.date['in-the-age']) :params(age_text) :numParams(age) :plain() ) ) if age >= 100 then formatted = formatted .. lib.category('centenarians') end end end return formatted end return p ok3i3s5tz5n79rvlzwtrd2fe7vpu0cf Module:Wikidata/Sorters/alpha/testcases 828 3421 36628 2025-12-15T20:12:15Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local myModule = require 'Module:Wikidata/Sorters/alpha' local builder = require 'Module:Wikidata/build' local ScribuntoUnit = require 'Module:ScribuntoUnit' local suite = ScribuntoUnit:new() function suite:testMayCompare() local provider = { { datatype = 'monolingualtext', expected = true, value = 'xxx' }, { datatype = 'string', expected = true, value = 'xxx' }, { datatype = 'quantity', expected = false, valu...' 36628 Scribunto text/plain local myModule = require 'Module:Wikidata/Sorters/alpha' local builder = require 'Module:Wikidata/build' local ScribuntoUnit = require 'Module:ScribuntoUnit' local suite = ScribuntoUnit:new() function suite:testMayCompare() local provider = { { datatype = 'monolingualtext', expected = true, value = 'xxx' }, { datatype = 'string', expected = true, value = 'xxx' }, { datatype = 'quantity', expected = false, value = 1 }, { datatype = 'wikibase-item', expected = true, value = 1 }, } for _, data in ipairs(provider) do local statement = builder.buildStatement{ datatype = data.datatype, value = data.value } local snak = builder.buildSnak{ datatype = data.datatype, value = data.value } self:assertEquals(data.expected, myModule.mayCompareStatement(statement)) self:assertEquals(data.expected, myModule.mayCompareSnak(snak)) end end function suite:testIsComplete() local provider = { { args = { snaktype = 'novalue' }, expected = false }, { args = { snaktype = 'somevalue' }, expected = false }, { args = { datatype = 'string', value = 'xxx' }, expected = true }, { args = { datatype = 'monolingualtext', value = 'xxx' }, expected = true }, { args = { datatype = 'wikibase-item', value = 213 }, -- Česko expected = true }, { args = { datatype = 'wikibase-item', value = 6 }, -- neexistující položka expected = false }, } for _, data in ipairs(provider) do local statement = builder.buildStatement(data.args) local snak = builder.buildSnak(data.args) self:assertEquals(data.expected, myModule.isCompleteStatement(statement)) self:assertEquals(data.expected, myModule.isCompleteSnak(snak)) end end function suite:testCompare() local provider = { { datatype = 'string', values = { { 'bar', 'xxx', -1 }, { 'xxx', 'xxx', 0 }, { 'xxx', 'bar', 1 }, } }, { datatype = 'monolingualtext', values = { { 'bar', 'xxx', -1 }, { 'xxx', 'xxx', 0 }, { 'xxx', 'bar', 1 }, } }, { datatype = 'wikibase-item', values = { { 213, 214, -1 }, -- Česko, Slovensko { 213, 213, 0 }, { 214, 213, 1 }, } }, } for _, data in ipairs(provider) do for _, line in ipairs(data.values) do local first = builder.buildStatement{ datatype = data.datatype, value = line[1] } local second = builder.buildStatement{ datatype = data.datatype, value = line[2] } self:assertEquals(line[3], myModule.compareStatements(first, second)) end for _, line in ipairs(data.values) do local first = builder.buildSnak{ datatype = data.datatype, value = line[1] } local second = builder.buildSnak{ datatype = data.datatype, value = line[2] } self:assertEquals(line[3], myModule.compareSnaks(first, second)) end end end return suite h7bw9nylidronzpxb572gr5gxcq2eog Module:Convert/wikidata 828 3422 36629 2025-12-15T20:13:09Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Functions to access Wikidata for Module:Convert. local Collection = {} Collection.__index = Collection do function Collection:add(item) if item ~= nil then self.n = self.n + 1 self[self.n] = item end end function Collection:join(sep) return table.concat(self, sep) end function Collection:remove(pos) if self.n > 0 and (pos == nil or (0 < pos and pos <= self.n)) then self.n = self.n - 1 return table.remove(self, pos) en...' 36629 Scribunto text/plain -- Functions to access Wikidata for Module:Convert. local Collection = {} Collection.__index = Collection do function Collection:add(item) if item ~= nil then self.n = self.n + 1 self[self.n] = item end end function Collection:join(sep) return table.concat(self, sep) end function Collection:remove(pos) if self.n > 0 and (pos == nil or (0 < pos and pos <= self.n)) then self.n = self.n - 1 return table.remove(self, pos) end end function Collection:sort(comp) table.sort(self, comp) end function Collection.new() return setmetatable({n = 0}, Collection) end end local function strip_to_nil(text) -- If text is a non-empty string, return its trimmed content, -- otherwise return nothing (empty string or not a string). if type(text) == 'string' then return text:match('(%S.-)%s*$') end end local function frequency_unit(value, unit_table) -- For use when converting m to Hz. -- Return true, s where s = name of unit's default output unit, -- or return false, t where t is an error message table. -- However, for simplicity a valid result is always returned. local unit if unit_table._symbol == 'm' then -- c = speed of light in a vacuum = 299792458 m/s -- frequency = c / wavelength local w = value * (unit_table.scale or 1) local f = 299792458 / w -- if w == 0, f = math.huge which works here if f >= 1e12 then unit = 'THz' elseif f >= 1e9 then unit = 'GHz' elseif f >= 1e6 then unit = 'MHz' elseif f >= 1e3 then unit = 'kHz' else unit = 'Hz' end end return true, unit or 'Hz' end local function wavelength_unit(value, unit_table) -- Like frequency_unit but for use when converting Hz to m. local unit if unit_table._symbol == 'Hz' then -- Using 0.9993 rather than 1 avoids rounding which would give results -- like converting 300 MHz to 100 cm instead of 1 m. local w = 1 / (value * (unit_table.scale or 1)) -- Hz scale is inverted if w >= 0.9993e6 then unit = 'Mm' elseif w >= 0.9993e3 then unit = 'km' elseif w >= 0.9993 then unit = 'm' elseif w >= 0.9993e-2 then unit = 'cm' elseif w >= 0.9993e-3 then unit = 'mm' else unit = 'um' end end return true, unit or 'm' end local specials = { frequency = { frequency_unit }, wavelength = { wavelength_unit }, -------------------------------------------------------------------------------- -- Following is a removed experiment to show two values as a range -- using '-' as the separator. -- frequencyrange = { frequency_unit, '-' }, -- wavelengthrange = { wavelength_unit, '-' }, } local function make_unit(units, parms, uid) -- Return a unit code for convert or nil if unit unknown. -- If necessary, add a dummy unit to parms so convert will use it -- for the input without attempting a conversion since nothing -- useful is available (for example, with unit volt). local unit = units[uid] if type(unit) ~= 'table' then return nil end local ucode = unit.ucode if ucode and not unit.si then return ucode -- a unit known to convert end parms.opt_ignore_error = true ucode = ucode or unit._ucode -- must be a non-empty string local ukey, utable if unit.si then local base = units[unit.si] ukey = base.symbol -- must be a non-empty string local n1 = base.name1 local n2 = base.name2 if not n1 then n1 = ukey n2 = n2 or n1 -- do not append 's' end utable = { _symbol = ukey, _name1 = n1, _name2 = n2, link = unit.link or base.link, utype = n1, prefixes = 1, } else ukey = ucode utable = { symbol = ucode, -- must be a non-empty string name1 = unit.name1, -- if nil, uses symbol name2 = unit.name2, -- if nil, uses name1..'s' link = unit.link, -- if nil, uses name1 utype = unit.name1 or ucode, } end utable.scale = 1 utable.default = '' utable.defkey = '' utable.linkey = '' utable.bad_mcode = '' parms.unittable = { [ukey] = utable } return ucode end local function matches_qualifier(statement, qual) -- Return: -- false, nil : if statement does not match specification -- true, nil : if matches, and statement has no qualifier -- true, sq : if matches, where sq is the statement's qualifier -- A match means that no qualifier was specified (qual == nil), or that -- the statement has a qualifier matching the specification. -- If a match occurs, the caller needs the statement's qualifier (if any) -- so statements that duplicate the qualifier are not used, after the first. -- Then, if convert is showing all values for a property such as the diameter -- of a telescope's mirror (diameters of primary and secondary mirrors), it -- will not show alternative values that could in principle be present for the -- same item (telescope) and property (diameter) and qualifier (primary/secondary). local target = (statement.qualifiers or {}).P518 -- P518 is "applies to part" if type(target) == 'table' then for _, q in ipairs(target) do if type(q) == 'table' then local value = (q.datavalue or {}).value if value then if qual == nil or qual == value.id then return true, value.id end end end end end if qual == nil then return true, nil -- only occurs if statement has no qualifier end return false, nil -- statement's qualifier is not relevant because statement will be skipped end local function get_statements(parms, pid) -- Get specified item and return a list of tables with each statement for property pid. -- Each table is of form {statqual=sq, stmt=statement} where sq = statement qualifier (nil if none). -- Statements are in Wikidata's order except that those with preferred rank -- are first, then normal rank. Any other rank is ignored. local stored = {} -- qualifiers of statements that are first for the qualifier, and will be returned local qid = strip_to_nil(parms.qid) -- nil for current page's item, or an item id (expensive) local qual = strip_to_nil(parms.qual) -- nil or id of wanted P518 (applies to part) item in qualifiers local result = Collection.new() local entity = mw.wikibase.getEntity(qid) if type(entity) == 'table' then local statements = (entity.claims or {})[pid] if type(statements) == 'table' then for _, rank in ipairs({ 'preferred', 'normal' }) do for _, statement in ipairs(statements) do if type(statement) == 'table' and rank == statement.rank then local is_match, statqual = matches_qualifier(statement, qual) if is_match then result:add({ statqual = statqual, stmt = statement }) end end end end end end return result end local function input_from_property(tdata, parms, pid) -- Given that pid is a Wikidata property identifier like 'P123', -- return a collection of {amount, ucode} pairs (two strings) -- for each matching item/property, or return nothing. -------------------------------------------------------------------------------- -- There appear to be few restrictions on how Wikidata is organized so it is -- very likely that any decision a module makes about how to handle data -- will be wrong for some cases at some time. This meets current requirements. -- For each qualifier (or if no qualifier), if there are any preferred -- statements, use them and ignore any normal statements. -- For each qualifier, for the preferred statements if any, or for -- the normal statements (but not both): -- * Accept each statement if it has no qualifier (this will not occur -- if qual=x is specified because other code already ensures that in that -- case, only statements with a qualifier matching x are considered). -- * Ignore any statements after the first if it has a qualifier. -- The rationale is that for the diameter at [[South Pole Telescope]], want -- convert to show the diameters for both the primary and secondary mirrors -- if the convert does not specify which diameter is wanted. -- However, if convert is given the wanted qualifier, only one value -- (_the_ diameter) is wanted. For simplicity/consistency, that is also done -- even if no qual=x is specified. Unclear what should happen. -- For the wavelength at [[Nançay Radio Telescope]], want to show all three -- values, and the values have no qualifiers. -------------------------------------------------------------------------------- local result = Collection.new() local done = {} local skip_normal for _, t in ipairs(get_statements(parms, pid)) do local statement = t.stmt if statement.mainsnak and statement.mainsnak.datatype == 'quantity' then local value = (statement.mainsnak.datavalue or {}).value if value then local amount = value.amount if amount then amount = tostring(amount) -- in case amount is ever a number if amount:sub(1, 1) == '+' then amount = amount:sub(2) end local unit = value.unit if type(unit) == 'string' then unit = unit:match('Q%d+$') -- unit item id is at end of URL local ucode = make_unit(tdata.wikidata_units, parms, unit) if ucode then local skip if t.statqual then if done[t.statqual] then skip = true else done[t.statqual] = true end else if statement.rank == 'preferred' then skip_normal = true elseif skip_normal then skip = true end end if not skip then result:add({ amount, ucode }) end end end end end end end return result end local function input_from_text(tdata, parms, text, insert2) -- Given string should be of form "<value><space><unit>" or -- "<value1><space>ft<space><value2><space>in" for a special case (feet and inches). -- Return true if values/units were extracted and inserted, or return nothing. text = text:gsub('&nbsp;', ' '):gsub('%s+', ' ') local pos = text:find(' ', 1, true) if pos then -- Leave checking of value to convert which can handle fractions. local value = text:sub(1, pos - 1) local uid = text:sub(pos + 1) if uid:sub(1, 3) == 'ft ' and uid:sub(-3) == ' in' then -- Special case for enwiki to allow {{convert|input=5 ft 10+1/2 in}} insert2(uid:sub(4, -4), 'in') insert2(value, 'ft') else insert2(value, make_unit(tdata.wikidata_units, parms, uid) or uid) end return true end end local function adjustparameters(tdata, parms, index) -- For Module:Convert, adjust parms (a table of {{convert}} parameters). -- Return true if successful or return false, t where t is an error message table. -- This is intended mainly for use in infoboxes where the input might be -- <value><space><unit> or -- <wikidata-property-id> -- If successful, insert values and units in parms, before given index. local text = parms.input -- should be a trimmed, non-empty string local pid = text:match('^P%d+$') local sep = ',' local special = specials[parms[index]] if special then parms.out_unit = special[1] sep = special[2] or sep table.remove(parms, index) end local function quit() return false, pid and { 'cvt_no_output' } or { 'cvt_bad_input', text } end local function insert2(first, second) table.insert(parms, index, second) table.insert(parms, index, first) end if pid then parms.input_text = '' -- output an empty string if an error occurs local result = input_from_property(tdata, parms, pid) if result.n == 0 then return quit() end local ucode for i, t in ipairs(result) do -- Convert requires each input unit to be identical. if i == 1 then ucode = t[2] elseif ucode ~= t[2] then return quit() end end local item = ucode if item == parms[index] then -- Remove specified output unit if it is the same as the Wikidata unit. -- For example, {{convert|input=P2044|km}} with property "12 km". table.remove(parms, index) end for i = result.n, 1, -1 do insert2(result[i][1], item) item = sep end return true else if input_from_text(tdata, parms, text, insert2) then return true end end return quit() end -------------------------------------------------------------------------------- --- List units and check syntax of definitions --------------------------------- -------------------------------------------------------------------------------- local specifications = { -- seq = sequence in which fields are displayed base = { title = 'SI base units', fields = { symbol = { seq = 2, mandatory = true }, name1 = { seq = 3, mandatory = true }, name2 = { seq = 4 }, link = { seq = 5 }, }, noteseq = 6, header = '{| class="wikitable"\n!si !!symbol !!name1 !!name2 !!link !!note', item = '|-\n|%s ||%s ||%s ||%s ||%s ||%s', footer = '|}', }, alias = { title = 'Aliases for convert', fields = { ucode = { seq = 2, mandatory = true }, si = { seq = 3 }, }, noteseq = 4, header = '{| class="wikitable"\n!alias !!ucode !!base !!note', item = '|-\n|%s ||%s ||%s ||%s', footer = '|}', }, known = { title = 'Units known to convert', fields = { ucode = { seq = 2, mandatory = true }, label = { seq = 3, mandatory = true }, }, noteseq = 4, header = '{| class="wikitable"\n!qid !!ucode !!label !!note', item = '|-\n|%s ||%s ||%s ||%s', footer = '|}', }, unknown = { title = 'Units not known to convert', fields = { _ucode = { seq = 2, mandatory = true }, si = { seq = 3 }, name1 = { seq = 4 }, name2 = { seq = 5 }, link = { seq = 6 }, label = { seq = 7, mandatory = true }, }, noteseq = 8, header = '{| class="wikitable"\n!qid !!_ucode !!base !!name1 !!name2 !!link !!label !!note', item = '|-\n|%s ||%s ||%s ||%s ||%s ||%s ||%s ||%s', footer = '|}', }, } local function listunits(tdata, ulookup) -- For Module:Convert, make wikitext to list the built-in Wikidata units. -- Return true, wikitext if successful or return false, t where t is an -- error message table. Currently, an error return never occurs. -- The syntax of each unit definition is checked and a note is added if -- a problem is detected. local function safe_cells(t) -- This is not currently needed, but in case definitions ever use wikitext -- like '[[kilogram|kg]]', escape the text so it works in a table cell. local result = {} for i, v in ipairs(t) do if v:find('|', 1, true) then v = v:gsub('(%[%[[^%[%]]-)|(.-%]%])', '%1\0%2') -- replace pipe in piped link with a zero byte v = v:gsub('|', '&#124;') -- escape '|' v = v:gsub('%z', '|') -- restore pipe in piped link end result[i] = v:gsub('{', '&#123;') -- escape '{' end return unpack(result) end local wdunits = tdata.wikidata_units local speckeys = { 'base', 'alias', 'unknown', 'known' } for _, sid in ipairs(speckeys) do specifications[sid].units = Collection.new() end local keys = Collection.new() for k, v in pairs(wdunits) do keys:add(k) end table.sort(keys) local note_count = 0 for _, key in ipairs(keys) do local unit = wdunits[key] local ktext, sid if key:match('^Q%d+$') then ktext = '[[d:' .. key .. '|' .. key .. ']]' if unit.ucode then sid = 'known' else sid = 'unknown' end elseif unit.ucode then ktext = key sid = 'alias' else ktext = key sid = 'base' end local result = { ktext } local spec = specifications[sid] local fields = spec.fields local note = Collection.new() for k, v in pairs(unit) do if fields[k] then local seq = fields[k].seq if result[seq] then note:add('duplicate ' .. k) -- cannot happen since keys are unique else result[seq] = v end else note:add('invalid ' .. k) end end for k, v in pairs(fields) do local value = result[v.seq] if value then if k == 'si' and not wdunits[value] then note:add('need si ' .. value) end if k == 'label' then local wdl = mw.wikibase.label(key) if wdl ~= value then note:add('label changed to ' .. tostring(wdl)) end end else result[v.seq] = '' if v.mandatory then note:add('missing ' .. k) end end end local text if note.n > 0 then note_count = note_count + 1 text = '*' .. note:join('<br />') end result[spec.noteseq] = text or '' spec.units:add(result) end local results = Collection.new() if note_count > 0 then local text = note_count .. (note_count == 1 and ' note' or ' notes') results:add("'''Search for * to see " .. text .. "'''\n") end for _, sid in ipairs(speckeys) do local spec = specifications[sid] results:add("'''" .. spec.title .. "'''") results:add(spec.header) local fmt = spec.item for _, unit in ipairs(spec.units) do results:add(string.format(fmt, safe_cells(unit))) end results:add(spec.footer) end return true, results:join('\n') end return { _adjustparameters = adjustparameters, _listunits = listunits } cbjlitwg2d452xor7js5w3upat8z762 Πρότυπον:Fr 10 3423 36924 36908 2025-12-16T12:20:56Z Εὐθυμένης 2777 36924 wikitext text/x-wiki {{γλώσσα2|Γαλλικά|γαλλικήν τη λαλίαν}}<noinclude> [[Κατηγορίαν:Πρότυπα γλωσσών κειμένων|Γαλλικα]] <!--interwiki--> </noinclude> dly7acxi9k1p1owq9cn8tmoonys45ry Πρότυπον:Γλώσσα2 10 3424 36920 36910 2025-12-16T12:14:33Z Εὐθυμένης 2777 36920 wikitext text/x-wiki <abbr class="abbr" style="font-family: sans-serif; -font-size:small; color: --color-subtle; text-decoration:none;" title="Κείμενον γραμμένον σ' {{{2}}}">({{{1}}})</abbr><noinclude> {{documentation}} </noinclude> pfo1yutiktqj9kajwqghjgudp8p0jav Κατηγορίαν:Πρότυπα γλωσσών κειμένων 14 3425 36633 2025-12-15T20:23:46Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '[[Κατηγορίαν:Πρότυπα Βικιπαίδειας|Γλωσσων κειμενων]]' 36633 wikitext text/x-wiki [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|Γλωσσων κειμενων]] cq6jiawf7l1oao7mren3v4j2p5f9lkk Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά Europeana 14 3426 36635 2025-12-15T20:26:35Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{hiddencat}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]]' 36635 wikitext text/x-wiki {{hiddencat}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]] de8k88nxnjbq51i7qjh9e7201rfjkw5 Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά LCCN 14 3427 36637 2025-12-15T20:28:22Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{hiddencat}} {{Category TOC}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]]' 36637 wikitext text/x-wiki {{hiddencat}} {{Category TOC}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]] hy8x4wz5rnxp16w4h2qki9nqhe3a1s3 Κατηγορίαν:AC με 18 στοιχεία 14 3428 36638 2025-12-15T20:29:27Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{hiddencat}} [[Κατηγορίαν:Κατηγορίες ανίχνευσης Wikidata]]' 36638 wikitext text/x-wiki {{hiddencat}} [[Κατηγορίαν:Κατηγορίες ανίχνευσης Wikidata]] 2wcofuo5v024ofum1g02xsdyepbfopm Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά ISNI 14 3429 36639 2025-12-15T20:30:36Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{hiddencat}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]]' 36639 wikitext text/x-wiki {{hiddencat}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]] de8k88nxnjbq51i7qjh9e7201rfjkw5 Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά GND 14 3430 36641 36640 2025-12-15T20:31:59Z Εὐθυμένης 2777 36641 wikitext text/x-wiki {{hiddencat}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]] de8k88nxnjbq51i7qjh9e7201rfjkw5 Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά BNF 14 3431 36642 2025-12-15T20:32:45Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{hiddencat}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]]' 36642 wikitext text/x-wiki {{hiddencat}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]] de8k88nxnjbq51i7qjh9e7201rfjkw5 Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά BIBSYS 14 3432 36644 36643 2025-12-15T20:34:10Z Εὐθυμένης 2777 36644 wikitext text/x-wiki {{hiddencat}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]] de8k88nxnjbq51i7qjh9e7201rfjkw5 Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά NLA 14 3433 36645 2025-12-15T20:34:47Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{hiddencat}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]]' 36645 wikitext text/x-wiki {{hiddencat}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]] de8k88nxnjbq51i7qjh9e7201rfjkw5 Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά EBE 14 3434 36646 2025-12-15T20:36:10Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{hiddencat}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]]' 36646 wikitext text/x-wiki {{hiddencat}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]] de8k88nxnjbq51i7qjh9e7201rfjkw5 Κατηγορίαν:Σελίδες που χρησιμοποιούν μαγικούς συνδέσμους ISBN 14 3435 36647 2025-12-15T20:36:59Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{Κενή κατηγορία}} {{hidden category}} [[Κατηγορίαν:Κατηγορίες ανίχνευσης]]' 36647 wikitext text/x-wiki {{Κενή κατηγορία}} {{hidden category}} [[Κατηγορίαν:Κατηγορίες ανίχνευσης]] t889g7yavy1bw0ewyofo22y26twqg3b Πρότυπον:Hidden category 10 3436 36648 2025-12-15T20:38:02Z Εὐθυμένης 2777 Ανακατεύθυνση στη σελίδα [[Πρότυπον:Hiddencat]] 36648 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Πρότυπον:Hiddencat]] 3gct1p5zokb6nrk44lg17e4qrjh69qk Κατηγορίαν:Κατηγορίες που δεν διαγράφονται ακόμα και αν είναι κενές 14 3437 36649 2025-12-15T20:39:00Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{CategoryTOC}} {{hiddencat}} {{κενή κατηγορία}} [[Κατηγορίαν:Διαχείριση Βικιπαίδειας|κρυμμεν κατηγοριας]]' 36649 wikitext text/x-wiki {{CategoryTOC}} {{hiddencat}} {{κενή κατηγορία}} [[Κατηγορίαν:Διαχείριση Βικιπαίδειας|κρυμμεν κατηγοριας]] 2c7f9laad4yxqigjzb2n8kwym9ji37o Πρότυπον:Category other 10 3438 36650 2025-12-15T21:14:45Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#switch: <!--If no or empty "demospace" parameter then detect namespace--> {{#if:{{{demospace|}}} | {{lc: {{{demospace}}} }} <!--Use lower case "demospace"--> | {{#ifeq:{{NAMESPACE}}|{{ns:Κατηγορίαν}} | category | other }} }} | category = {{{1|}}} | other | #default = {{{2|}}} }}<!--End switch--><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude>' 36650 wikitext text/x-wiki {{#switch: <!--If no or empty "demospace" parameter then detect namespace--> {{#if:{{{demospace|}}} | {{lc: {{{demospace}}} }} <!--Use lower case "demospace"--> | {{#ifeq:{{NAMESPACE}}|{{ns:Κατηγορίαν}} | category | other }} }} | category = {{{1|}}} | other | #default = {{{2|}}} }}<!--End switch--><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> emmh5lotn4i6tkzt9aar67tdacx1gw0 Πρότυπον:Tr 10 3439 36933 36909 2025-12-16T12:26:11Z Εὐθυμένης 2777 36933 wikitext text/x-wiki {{γλώσσα2|Τουρκικά|τουρκικήν τη λαλίαν}}<noinclude> [[Κατηγορίαν:Πρότυπα γλωσσών κειμένων|Τουρκικα]] <!--interwiki--> </noinclude> oro3ar64ukkhf0xnre76hrcdowsbx2p Module:Wikidata/Sorters/testcases 828 3440 36655 2025-12-15T21:23:10Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local builder = require 'Module:Wikidata/build' local ScribuntoUnit = require 'Module:ScribuntoUnit' local suite = ScribuntoUnit:new() local simpleCompare = (require 'Module:Wikidata/lib').simpleCompare function suite:testSortStatements() local provider = { { invert = false, statements = { 2, 1, 4, 3 }, expected = { 1, 2, 3, 4 }, }, { invert = true, statements = { 2, 1, 2, 3 }, expected = { 3, 2, 2, 1 }, }, { inver...' 36655 Scribunto text/plain local builder = require 'Module:Wikidata/build' local ScribuntoUnit = require 'Module:ScribuntoUnit' local suite = ScribuntoUnit:new() local simpleCompare = (require 'Module:Wikidata/lib').simpleCompare function suite:testSortStatements() local provider = { { invert = false, statements = { 2, 1, 4, 3 }, expected = { 1, 2, 3, 4 }, }, { invert = true, statements = { 2, 1, 2, 3 }, expected = { 3, 2, 2, 1 }, }, { invert = false, statements = { 2, 'incomplete', 1, 3 }, expected = { 1, 2, 3, 'incomplete' }, }, { invert = false, statements = { 2, 'incomplete', 'incomplete', 1, 3 }, expected = { 1, 2, 3, 'incomplete', 'incomplete' }, }, { invert = true, statements = { 2, 'incomplete', 1, 3 }, expected = { 3, 2, 1, 'incomplete' }, }, } local myModule = require 'Module:Wikidata/Sorters' myModule.Sorters.xxx = { isCompleteStatement = function(st) return st ~= 'incomplete' end, mayCompareStatement = function(st) return true end, compareStatements = simpleCompare } for _, data in ipairs(provider) do local statements = data.statements myModule.sortStatements(statements, { sort = { 'xxx' }, invert = data.invert }) self:assertDeepEquals(data.expected, statements) end end function suite:testSortStatementsMultipleSorters() local provider = { { invert = false, statements = { { 2, 0 }, { 1, 0 }, { 2, 1 }, { 1, 1 }, }, expected = { { 1, 0 }, { 1, 1 }, { 2, 0 }, { 2, 1 } }, }, { invert = true, statements = { { 2, 0 }, { 1, 0 }, { 2, 1 }, { 1, 1 }, }, expected = { { 2, 1 }, { 2, 0 }, { 1, 1 }, { 1, 0 } }, }, { invert = false, statements = { { 2, 0 }, { 1, 0 }, { 'incomplete', 2 }, { 1, 1 }, }, expected = { { 1, 0 }, { 1, 1 }, { 2, 0 }, { 'incomplete', 2 } }, }, { invert = true, statements = { { 2, 0 }, { 1, 0 }, { 'incomplete', 2 }, { 1, 1 }, }, expected = { { 2, 0 }, { 1, 1 }, { 1, 0 }, { 'incomplete', 2 } }, }, { invert = false, statements = { { 1, 1 }, { 1, 'incomplete' }, { 'incomplete', 'incomplete' }, { 1, 0 }, { 'incomplete', 2 }, { 'incomplete', 0 }, }, expected = { { 1, 0 }, { 1, 1 }, { 1, 'incomplete' }, { 'incomplete', 0 }, { 'incomplete', 2 }, { 'incomplete', 'incomplete' } }, }, } local myModule = require 'Module:Wikidata/Sorters' myModule.Sorters.xxx = { isCompleteStatement = function(st) return st[1] ~= 'incomplete' end, mayCompareStatement = function(st) return true end, compareStatements = function(first, second) return simpleCompare(first[1], second[1]) end } myModule.Sorters.yyy = { isCompleteStatement = function(st) return st[2] ~= 'incomplete' end, mayCompareStatement = function(st) return true end, compareStatements = function(first, second) return simpleCompare(first[2], second[2]) end } for _, data in ipairs(provider) do local statements = data.statements myModule.sortStatements(statements, { sort = { 'xxx', 'yyy' }, invert = data.invert }) self:assertDeepEquals(data.expected, statements) end end function suite:testSortStatementsDefaultSorter() local provider = { { datatype = 'string', expected = 'alpha', values = { 'a', 'b' } }, { datatype = 'monolingualtext', expected = 'alpha', values = { 'a', 'b' } }, { datatype = 'time', expected = 'time', values = { '1999', '2000' } }, { datatype = 'quantity', expected = 'number', values = { 1, 2 } } } local myModule = require 'Module:Wikidata/Sorters' for _, data in ipairs(provider) do local called = false myModule.Sorters[data.expected] = { isCompleteStatement = function(st) return true end, mayCompareStatement = function(st) return true end, compareStatements = function(first, second) called = true return simpleCompare(first.sortBy, second.sortBy) end } local statements = {} for _, value in ipairs(data.values) do local statement = builder.buildStatement{ datatype = data.datatype, value = value } statement.sortBy = value table.insert(statements, statement) end myModule.sortStatements(statements, { sort = { 'default' } }) self:assertTrue(called) end end local function buildStatementWithQualifiers(prop, datatype, values) local statement = {} for _, value in ipairs(values) do if value then if not statement.qualifiers then statement.qualifiers = { [prop] = {} } statement.value = value end local snak = builder.buildSnak{ datatype = datatype, value = value } snak.value = value table.insert(statement.qualifiers[prop], snak) end end return statement end function suite:testSortStatementsByQualifier() local provider = { { qualifier = 'P1', datatype = 'quantity', expected = 'number', values = { 2, 3, 1 }, ordered = { 1, 2, 3 } }, { qualifier = 'P2', datatype = 'string', expected = 'alpha', values = { 'c', false, 'a' }, ordered = { 'a', 'c', false } }, } local myModule = require 'Module:Wikidata/Sorters' for _, data in ipairs(provider) do local called = false myModule.Sorters[data.expected] = { mayCompareSnak = function() return true end, isCompleteSnak = function() return true end, compareSnaks = function(first, second) called = true return simpleCompare(first.value, second.value) end } local statements = {} for _, value in ipairs(data.values) do table.insert(statements, buildStatementWithQualifiers(data.qualifier, data.datatype, { value })) end local expected = {} for _, value in ipairs(data.ordered) do table.insert(expected, buildStatementWithQualifiers(data.qualifier, data.datatype, { value })) end myModule.sortStatements(statements, { sort = { data.qualifier } }) self:assertTrue(called) self:assertDeepEquals(expected, statements) end end function suite:testSortStatementsByQualifierHavingMultipleValues() local provider = { { qualifier = 'P1', datatype = 'quantity', expected = 'number', values = { { 2, 3 }, { 3, 4 }, { 1, 1 } }, ordered = { { 1, 1 }, { 2, 3 }, { 3, 4 } } }, { qualifier = 'P2', datatype = 'string', expected = 'alpha', values = { { 'b', 'c' }, {}, { 'c' }, { 'a' } }, ordered = { { 'a' }, { 'b', 'c' }, { 'c' }, {} } }, } local myModule = require 'Module:Wikidata/Sorters' for _, data in ipairs(provider) do local called = false myModule.Sorters[data.expected] = { mayCompareSnak = function() return true end, isCompleteSnak = function() return true end, compareSnaks = function(first, second) called = true return simpleCompare(first.value, second.value) end } local statements = {} for _, values in ipairs(data.values) do table.insert(statements, buildStatementWithQualifiers(data.qualifier, data.datatype, values)) end local expected = {} for _, values in ipairs(data.ordered) do table.insert(expected, buildStatementWithQualifiers(data.qualifier, data.datatype, values)) end myModule.sortStatements(statements, { sort = { data.qualifier } }) self:assertTrue(called) self:assertDeepEquals(expected, statements) end end function suite:testSortQualifiers() self:assertTrue(false) end --[[ local function buildStatementFromSnaktype(snaktype, rank) return builder.buildStatement{ datatype = 'wikibase-item', snaktype = snaktype, rank = rank } end local function buildStatementFromEntityId(entityId, rank) return builder.buildStatement{ datatype = 'wikibase-item', rank = rank, value = entityId } end function suite:testSortByDatePoint() local statements, expected = {}, {} for _, date in ipairs({ '2001', false, '2002', false, '2000', '2003' }) do local statement = buildStatementFromEntityId(2) if date then statement.qualifiers = { P585 = { builder.buildSnak{ datatype = 'time', value = date } } } end table.insert(statements, statement) end for _, date in ipairs({ '2000', '2001', '2002', '2003', false, false }) do local statement = buildStatementFromEntityId(2) if date then statement.qualifiers = { P585 = { builder.buildSnak{ datatype = 'time', value = date } } } end table.insert(expected, statement) end myModule.sortStatements(statements, { sort = 'date' }) self:assertDeepEquals(expected, statements) end function suite:testSortByDateRangeStart() local statements, expected = {}, {} for _, start in ipairs({ '2002', false, '2001', '2003', false, '2000' }) do local statement = buildStatementFromEntityId(5) if start then statement.qualifiers = { P580 = { builder.buildSnak{ datatype = 'time', value = start } } } end table.insert(statements, statement) end for _, start in ipairs({ '2000', '2001', '2002', '2003', false, false }) do local statement = buildStatementFromEntityId(5) if start then statement.qualifiers = { P580 = { builder.buildSnak{ datatype = 'time', value = start } } } end table.insert(expected, statement) end myModule.sortStatements(statements, { sort = 'date' }) self:assertDeepEquals(expected, statements) end function suite:testSortByDateRangeEnd() local statements, expected = {}, {} for _, ending in ipairs({ '2002', false, '2001', '2003', false, '2000' }) do local statement = buildStatementFromEntityId(5) if ending then statement.qualifiers = { P582 = { builder.buildSnak{ datatype = 'time', value = ending } } } end table.insert(statements, statement) end for _, ending in ipairs({ '2000', '2001', '2002', '2003', false, false }) do local statement = buildStatementFromEntityId(5) if ending then statement.qualifiers = { P582 = { builder.buildSnak{ datatype = 'time', value = ending } } } end table.insert(expected, statement) end myModule.sortStatements(statements, { sort = 'date' }) self:assertDeepEquals(expected, statements) end function suite:testSortByDateRangeMixed() local statements, expected = {}, {} for _, range in ipairs({ '2002-', false, '2001-2005', '2002-2004', '-2003', false, '-2000', '2004-', '-2002' }) do local statement = buildStatementFromEntityId(5) if range then local parts = mw.text.split( range, '-' ) statement.qualifiers = {} if parts[1] ~= '' then statement.qualifiers.P580 = { builder.buildSnak{ datatype = 'time', value = parts[1] } } end if parts[2] ~= '' then statement.qualifiers.P582 = { builder.buildSnak{ datatype = 'time', value = parts[2] } } end end table.insert(statements, statement) end for _, range in ipairs({ '-2000', '2001-2005', '-2002', '2002-2004', '2002-', '-2003', '2004-', false, false }) do local statement = buildStatementFromEntityId(5) if range then local parts = mw.text.split( range, '-' ) statement.qualifiers = {} if parts[1] ~= '' then statement.qualifiers.P580 = { builder.buildSnak{ datatype = 'time', value = parts[1] } } end if parts[2] ~= '' then statement.qualifiers.P582 = { builder.buildSnak{ datatype = 'time', value = parts[2] } } end end table.insert(expected, statement) end myModule.sortStatements(statements, { sort = 'date' }) self:assertDeepEquals(expected, statements) end function suite:testSortByRank() local statements, expected = {}, {} for _, rank in ipairs({ 'deprecated', 'preferred', 'normal', 'deprecated', 'preferred', 'normal' }) do table.insert(statements, buildStatementFromEntityId(1, rank)) end for _, rank in ipairs({ 'preferred', 'preferred', 'normal', 'normal', 'deprecated', 'deprecated' }) do table.insert(expected, buildStatementFromEntityId(1, rank)) end myModule.sortStatements(statements, { sort = 'rank' }) self:assertDeepEquals(expected, statements) end function suite:testSortBySnaktype() local statements, expected = {}, {} for _, snak in ipairs({ 'somevalue', 'novalue', 'somevalue' }) do table.insert(statements, buildStatementFromSnaktype(snak)) end table.insert(statements, 3, buildStatementFromEntityId(1)) for _, snak in ipairs({ 'somevalue', 'somevalue', 'novalue' }) do table.insert(expected, buildStatementFromSnaktype(snak)) end table.insert(expected, 1, buildStatementFromEntityId(1)) myModule.sortStatements(statements, { sort = 'snaktype' }) self:assertDeepEquals(expected, statements) end function suite:testSortHasLabel() local statements, expected = {}, {} for _, id in ipairs({ 6, 1, 1, 6, 6, 1 }) do table.insert(statements, buildStatementFromEntityId(id)) end for _, id in ipairs({ 1, 1, 1, 6, 6, 6 }) do table.insert(expected, buildStatementFromEntityId(id)) end myModule.sortStatements(statements, { sort = 'hasLabel' }) self:assertDeepEquals(expected, statements) end ]]-- return suite 95ettzv26anb1ulzrc2ryawia2m9so5 Module:Wikidata/Formatters/wikibase-entityid 828 3441 36656 2025-12-15T21:24:06Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require 'strict' local p = {} local lib = require 'Module:Wikidata/lib' local i18n = mw.loadData('Module:Wikidata/i18n') local function constructLink(label, link, lang) if link then if label then if lang and lang ~= i18n.lang then return mw.ustring.format('<span lang="%s">[[%s|%s]]</span>', lang, link, label) else return '[[' .. link .. '|' .. label .. ']]' end else return '[[' .. link .. ']]' end end if label then...' 36656 Scribunto text/plain --require 'strict' local p = {} local lib = require 'Module:Wikidata/lib' local i18n = mw.loadData('Module:Wikidata/i18n') local function constructLink(label, link, lang) if link then if label then if lang and lang ~= i18n.lang then return mw.ustring.format('<span lang="%s">[[%s|%s]]</span>', lang, link, label) else return '[[' .. link .. '|' .. label .. ']]' end else return '[[' .. link .. ']]' end end if label then if lang and lang ~= i18n.lang then return mw.ustring.format('<span lang="%s">%s</span>', lang, label) else return label end end return nil end -- @deprecated p.getLinkWhenNonexistingLabel = lib.getLinkWhenNonexistingLabel -- @deprecated function p.formatEntityWithGender(value, options) options.label = 'gender' return p.formatValue(value, options) end local function getLabel(entityId, options) local label, lang local Module = require 'Module:Wikidata' --if options.label and lib.isPropertyId(options.label) then if options.label == 'short' then label = Module.formatStatementsFromLua{ addclass = false, id = entityId, limit = 1, property = 'P1813', rank = 'valid', sort = {'rank'}, withlang = {i18n.lang, 'mul'}, } elseif options.label == 'gender' then local gender = Module.getRawValueFromLua{ id = options.id, property = 'P21' } if gender == 'Q6581072' then label, lang = Module.formatStatementsFromLua{ addclass = false, id = entityId, limit = 1, property = 'P2521', rank = 'valid', sort = {'rank'}, withlang = i18n.lang, }, i18n.lang end elseif options.label == 'unitsymbol' then label = Module.getRawValueFromLua{ id = entityId, property = 'P5061', withlang = i18n.lang } end if not label then if options.withlang then label, lang = mw.wikibase.getLabelByLang(entityId, options.withlang), options.withlang else label, lang = mw.wikibase.getLabelWithLang(entityId) end if label then label = mw.text.nowiki(label) end end return label, lang end local function getSitelink(entityId, options) if not lib.IsOptionTrue(options, 'nolink') then return mw.wikibase.sitelink(entityId) or ('d:' .. entityId) end return nil end function p.formatEntityId(entityId, options) local options = options or {} local label, lang = getLabel(entityId, options) local link = getSitelink(entityId, options) return constructLink(label, link, lang) or lib.getLinkWhenNonexistingLabel(entityId) end function p.getRawValue(value, options) if lib.IsOptionTrue(options or {}, 'numeric') then return value['numeric-id'] end return value.id end p.formatRawValue = p.formatEntityId function p.formatValue(value, options) return p.formatEntityId(p.getRawValue(value, {}), options) end return p kdodkaswc50kroizi0apx6yypph1ssz Module:Wikidata/Sorters/snaktype 828 3442 36657 2025-12-15T21:25:07Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local snaktypeToNumber = { value = -1, somevalue = 0, novalue = 1, } function p.isCompleteStatement(statement) return true end function p.mayCompareStatement(statement) return true end local function getNumber(statement) return snaktypeToNumber[statement.snaktype] end function p.compareStatements(first, second) return lib.simpleCompare(getNumber(first), getNumber...' 36657 Scribunto text/plain --require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local snaktypeToNumber = { value = -1, somevalue = 0, novalue = 1, } function p.isCompleteStatement(statement) return true end function p.mayCompareStatement(statement) return true end local function getNumber(statement) return snaktypeToNumber[statement.snaktype] end function p.compareStatements(first, second) return lib.simpleCompare(getNumber(first), getNumber(second)) end return p jcruooxvhi369q4uyafjx2s6cp9gan2 Module:Wikidata/Sorters/rank 828 3443 36658 2025-12-15T21:25:59Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local rankToNumber = { preferred = -1, normal = 0, deprecated = 1, } function p.isCompleteStatement(statement) return true end function p.mayCompareStatement(statement) return true end local function getNumber(statement) return rankToNumber[statement.rank] end function p.compareStatements(first, second) return lib.simpleCompare(getNumber(first), getNumber(second)...' 36658 Scribunto text/plain --require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local rankToNumber = { preferred = -1, normal = 0, deprecated = 1, } function p.isCompleteStatement(statement) return true end function p.mayCompareStatement(statement) return true end local function getNumber(statement) return rankToNumber[statement.rank] end function p.compareStatements(first, second) return lib.simpleCompare(getNumber(first), getNumber(second)) end return p 3769c28zi6h0f5otuiwbvt5cj1q1ypi Module:Wikidata/Formatters/scale 828 3444 36659 2025-12-15T21:26:44Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} local QuantityFormatter = require('Module:Wikidata/Formatters').Formatters.quantity local function formatScale(value) return mw.ustring.format('1:%s', value) end function p.getRawValue(value, options) return formatScale(QuantityFormatter.getRawValue(value, options)) end function p.formatValue(value, options) return formatScale(QuantityFormatter.formatValue(value, options)) end return p' 36659 Scribunto text/plain local p = {} local QuantityFormatter = require('Module:Wikidata/Formatters').Formatters.quantity local function formatScale(value) return mw.ustring.format('1:%s', value) end function p.getRawValue(value, options) return formatScale(QuantityFormatter.getRawValue(value, options)) end function p.formatValue(value, options) return formatScale(QuantityFormatter.formatValue(value, options)) end return p d230292ahcbzkh29xfdxyw42tgmwk6i Module:Wikidata/datum 828 3445 36660 2025-12-15T21:27:40Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local i18n = mw.loadData("Module:Wikidata/i18n") -- todo: move to lib function p.yearDifference(sooner, later) local age = later.year - sooner.year --[[ pravděpodobně chybně, prozatím skryto if age % 4 == 0 and (age % 100 ~= 0 or age % 400 == 0) then age = math.floor(age/4) end ]]-- if sooner.precision > 10 then if later.precision > 10 then if sooner.month >...' 36660 Scribunto text/plain require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local i18n = mw.loadData("Module:Wikidata/i18n") -- todo: move to lib function p.yearDifference(sooner, later) local age = later.year - sooner.year --[[ pravděpodobně chybně, prozatím skryto if age % 4 == 0 and (age % 100 ~= 0 or age % 400 == 0) then age = math.floor(age/4) end ]]-- if sooner.precision > 10 then if later.precision > 10 then if sooner.month > later.month then age = age - 1 elseif sooner.month == later.month and sooner.day > later.day then age = age - 1 end return age, age elseif later.precision == 10 then if sooner.month == later.month then return age - 1, age - 1 .. '–' .. age end if sooner.month > later.month then age = age - 1 end return age, age end elseif sooner.precision == 10 then if later.precision > 9 then if sooner.month == later.month then return age - 1, age - 1 .. '–' .. age end if sooner.month > later.month then age = age - 1 end return age, age end end return age - 1, age - 1 .. '–' .. age end --[[ local function julGregDifference(timevalue) -- todo: Lua return tonumber(mw.getCurrentFrame():expandTemplate{ title = 'JULGREGDATUM/AnzahlTage', args = { timevalue.month, timevalue.year } }) end ]] -- todo: move to lib function p.julianToGregorian(timevalue) -- https://en.wikipedia.org/wiki/Gregorian_calendar#Difference_between_Gregorian_and_Julian_calendar_dates local year = timevalue.year local diff = math.floor(year / 100) - math.floor(year / 400) - 2 if year % 100 == 0 and year % 400 ~= 0 then if timevalue.month == 2 and 30 - timevalue.day > diff then diff = diff - 1 end end local feb_days if year % 4 == 0 then feb_days = 29 else feb_days = 28 end local days = { 31, feb_days, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } local newvalue = mw.clone(timevalue) newvalue.calendar = newvalue.CALENDAR.GREGORIAN newvalue.day = newvalue.day + diff if newvalue.day > days[newvalue.month] then newvalue.day = newvalue.day - days[newvalue.month] newvalue.month = newvalue.month + 1 if newvalue.month > 12 then newvalue.month = 1 newvalue.year = newvalue.year + 1 end end return newvalue end local function stripZero(date, lang, timevalue) -- odstraň nuly na začátku (rok < 1000 a > -1000) local year if timevalue.year > 0 then year = math.abs(timevalue.year) else year = math.abs(timevalue.year) - 1 end return mw.ustring.gsub( date, lang:formatNum(0) .. '+(' .. lang:formatNum(year, { noCommafy = true }) .. ')', '%1' ) end function p.formatTimevalue(timevalue, options) local lang = mw.getContentLanguage() local precision = math.min(timevalue.precision, options.precision or timevalue.precision) local timestring = tostring(timevalue) local linked_app = '' if not lib.IsOptionTrue(options, 'nolink') then linked_app = '-linked' end local BCE_app = '' if timevalue.year < 0 then timestring = mw.ustring.sub(timestring, 2) BCE_app = '-BCE' end local newstring local map = { [timevalue.PRECISION.KY] = 'millenium', [timevalue.PRECISION.YEAR100] = 'century', [timevalue.PRECISION.YEAR10] = 'decade', [timevalue.PRECISION.YEAR] = 'year', [timevalue.PRECISION.MONTH] = 'year-month', [timevalue.PRECISION.DAY] = 'year-month-day', } if precision >= timevalue.PRECISION.YEAR then local key = map[math.min(precision, timevalue.PRECISION.DAY)] .. BCE_app local pattern = i18n.date[key .. linked_app] or i18n.date[key] if precision > timevalue.PRECISION.MONTH and timevalue.calendar == timevalue.CALENDAR.JULIAN and timevalue > timevalue.newFromIso8601('1582-10-04') then local newvalue = p.julianToGregorian(timevalue) local jul_pattern if newvalue.year ~= timevalue.year then jul_pattern = i18n.date['year-month-day'] elseif newvalue.month ~= timevalue.month then jul_pattern = i18n.date['month-day'] else jul_pattern = i18n.date.day end if newvalue.month == 2 and newvalue.day == 29 then if year % 100 == 0 and year % 400 ~= 0 then timevalue.year = 2000 -- hack to force formatting 29th February end end newstring = mw.ustring.format('%s%s / %s%s', stripZero(lang:formatDate(jul_pattern, timestring), lang, timevalue), i18n.date.julian, stripZero(lang:formatDate(pattern, tostring(newvalue)), lang, newvalue), i18n.date.gregorian) else newstring = stripZero(lang:formatDate(pattern, timestring), lang, timevalue) end elseif precision >= timevalue.PRECISION.KY then local key = map[precision] .. BCE_app local coef = 10 ^ (9 - precision) local number = math.floor(math.abs(timevalue.year) / coef) if precision == timevalue.PRECISION.YEAR100 then if timevalue.year % 100 > 0 then number = number + 1 end elseif precision == timevalue.PRECISION.YEAR10 then number = number * coef end newstring = mw.getCurrentFrame():preprocess( mw.message.newRawMessage(i18n.date[key .. linked_app] or i18n.date[key]) :params(lang:formatNum(number, { noCommafy = true })) :plain() ) else -- TODO newstring = timestring end return newstring end p.formatDateFromTimevalue = p.formatTimevalue -- @deprecated function p.AreDatesSame(first, second, strict) return first == second end function p.getRawValue(value, options) local Time = require 'Module:Time' return Time.newFromWikidataValue(value) end function p.formatValue(value, options) local timevalue = p.getRawValue(value, options) local formatted = p.formatTimevalue(timevalue, options) if lib.IsOptionTrue(options, 'birthdate') and timevalue.precision >= timevalue.PRECISION.YEAR then if #mw.wikibase.getBestStatements(options.id, 'P570') == 0 then local Time = require 'Module:Time' local age, age_text = p.yearDifference(timevalue, Time.new(os.date('!*t'))) formatted = mw.ustring.format('%s (%s)', formatted, mw.getCurrentFrame():preprocess( mw.message.newRawMessage(i18n.date.age) :params(age_text) :numParams(age) :plain() ) ) if age >= 100 then formatted = formatted .. lib.category('centenarians-living') elseif age < 0 then formatted = formatted .. lib.category('failed-age-computing') end end elseif lib.IsOptionTrue(options, 'deathdate') and timevalue.precision >= timevalue.PRECISION.YEAR then local birthvalue for _, statement in ipairs(mw.wikibase.getBestStatements(options.id, 'P569')) do if lib.IsSnakValue(statement.mainsnak) then local Formatters = require 'Module:Wikidata/Formatters' birthvalue = Formatters.getRawValue(statement.mainsnak) break end end if birthvalue and birthvalue.precision >= birthvalue.PRECISION.YEAR then local age, age_text = p.yearDifference(birthvalue, timevalue) formatted = mw.ustring.format('%s (%s)', formatted, mw.getCurrentFrame():preprocess( mw.message.newRawMessage(i18n.date['in-the-age']) :params(age_text) :numParams(age) :plain() ) ) if age >= 100 then formatted = formatted .. lib.category('centenarians') end end end return formatted end p.formatRawValue = p.formatTimevalue return p 8dyiwggo8be0kyxtm7ei82a3varlxmp Πρότυπον:Formatnum 10 3446 36661 2025-12-15T21:28:43Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{{{{♥|safesubst:}}}#invoke:Formatnum|main}}<noinclude>{{Documentation}}</noinclude>' 36661 wikitext text/x-wiki {{{{{♥|safesubst:}}}#invoke:Formatnum|main}}<noinclude>{{Documentation}}</noinclude> sk8f60c7u28vzfp9xdratckrz19x717 Module:WikidataCheck 828 3447 36662 2025-12-15T21:30:10Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} function p.wikidatacheck(frame) local pframe = frame:getParent() local config = frame.args -- the arguments passed BY the template, in the wikitext of the template itself local args = pframe.args -- the arguments passed TO the template, in the wikitext that transcludes the template local property = config.property local value = config.value or "" local catbase = config.category local namespaces = confi...' 36662 Scribunto text/plain local p = {} function p.wikidatacheck(frame) local pframe = frame:getParent() local config = frame.args -- the arguments passed BY the template, in the wikitext of the template itself local args = pframe.args -- the arguments passed TO the template, in the wikitext that transcludes the template local property = config.property local value = config.value or "" local catbase = config.category local namespaces = config.namespaces local ok = false -- one-way flag to check if we're in a good namespace local ns = mw.title.getCurrentTitle().namespace for v in mw.text.gsplit( namespaces, ",", true) do if tonumber(v) == ns then ok = true end end if not ok then -- not in one of the approved namespaces return "" end local entity = mw.wikibase.getEntityObject() if not entity then -- no Wikidata item return "[[Κατηγορίαν:" .. catbase .. " που δεν περιλαμβάνεται στα Wikidata]]" end if value == "" then return nil -- Using Wikidata end local claims = entity.claims or {} local hasProp = claims[property] if not hasProp then -- no claim of that property return "[[Κατηγορίαν:" .. catbase .. " που δεν περιλαμβάνεται στα Wikidata]]" -- bad. Bot needs to add the property end for i, v in ipairs(hasProp) do -- Now we try to iterate over all possible values? propValue = v.mainsnak.datavalue.value if propValue == value then return "[[Κατηγορίαν:" .. catbase .. " ίδια με τα Wikidata]]" -- yay! end end return "[[Κατηγορίαν:" .. catbase .. " διαφορετική από τα Wikidata]]" -- needs human review :( end return p n9zg0wv0ql37t3lkuw6tfavfty2fi54 Module:Wikidata/Sorters/haslabel 828 3448 36663 2025-12-15T21:31:10Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local Formatters = require 'Module:Wikidata/Formatters' local cache = {} local function getLabel(value) if not cache[value] then cache[value] = mw.wikibase.label(value) or false end return cache[value] or nil end local function hasLabel(snak) return lib.IsSnakValue(snak) and getLabel(Formatters.getRawValue(snak)) and true end function p.isCompleteSnak(snak) return...' 36663 Scribunto text/plain --require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local Formatters = require 'Module:Wikidata/Formatters' local cache = {} local function getLabel(value) if not cache[value] then cache[value] = mw.wikibase.label(value) or false end return cache[value] or nil end local function hasLabel(snak) return lib.IsSnakValue(snak) and getLabel(Formatters.getRawValue(snak)) and true end function p.isCompleteSnak(snak) return true end function p.isCompleteStatement(statement) return p.isCompleteSnak(statement.mainsnak) end function p.mayCompareSnak(snak) return lib.datatypeToValueType[snak.datatype] == 'wikibase-entityid' end function p.mayCompareStatement(statement) return p.mayCompareSnak(statement.mainsnak) end function p.compareSnaks(first, second) local first_has_label = hasLabel(first) local second_has_label = hasLabel(second) if first_has_label == second_has_label then return 0 elseif first_has_label then return -1 else return 1 end end function p.compareStatements(first, second) return p.compareSnaks(first.mainsnak, second.mainsnak) end return p k9kt2sg7wfvtmvrvf90mj17p9xkbu35 Module:Wikidata/Formatters/globecoordinate 828 3449 36664 2025-12-15T21:32:07Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "strict" local p = {} function p.getRawValue(value, options) local lib = require 'Module:Wikidata/lib' if not options.field then return error(lib.formatError('param-not-provided', 'field')) elseif options.field == 'latitude' or options.field == 'longitude' or options.field == 'precision' or options.field == 'globe' then return value[options.field] else return error(lib.formatError('invalid-field', options.field)) end end fun...' 36664 Scribunto text/plain --require "strict" local p = {} function p.getRawValue(value, options) local lib = require 'Module:Wikidata/lib' if not options.field then return error(lib.formatError('param-not-provided', 'field')) elseif options.field == 'latitude' or options.field == 'longitude' or options.field == 'precision' or options.field == 'globe' then return value[options.field] else return error(lib.formatError('invalid-field', options.field)) end end function p.formatValue(value, options) --local GlobeCoordinate = require 'Module:GlobeCoordinate' --local _value = GlobeCoordinate.newFromWikidataValue(value) local Coord = require 'Module:Souřadnice' local args = { value.latitude, value.longitude, } setmetatable(args, { __index = options }) return Coord._renderCoordinates(args, mw.getCurrentFrame()) end return p nyeribqqntfg9w36yr9i7acg4yw1fcl Module:Wikidata/Population 828 3450 36665 2025-12-15T21:33:09Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local WDS = require('Module:WikidataSelectors'); local p = {}; local DEFAULT_COLUMNS = 4; local DEFAULT_WIDTH = 700; local DEFAULT_HEIGHT = 300; local COLLAPSE_IF_ROWS_MORE_THAN = 11; local TABLE_COLLAPSIBLE_HEADER = "Бахархойн статистика %s — %s"; local TABLE_COLUMN_HEADER_YEAR = "Шо"; local TABLE_COLUMN_HEADER_POPULATION = "Бахархой"; local function deepcopy(orig) local orig_type = type(orig) local copy...' 36665 Scribunto text/plain local WDS = require('Module:WikidataSelectors'); local p = {}; local DEFAULT_COLUMNS = 4; local DEFAULT_WIDTH = 700; local DEFAULT_HEIGHT = 300; local COLLAPSE_IF_ROWS_MORE_THAN = 11; local TABLE_COLLAPSIBLE_HEADER = "Бахархойн статистика %s — %s"; local TABLE_COLUMN_HEADER_YEAR = "Шо"; local TABLE_COLUMN_HEADER_POPULATION = "Бахархой"; local function deepcopy(orig) local orig_type = type(orig) local copy if orig_type == 'table' then copy = {} for orig_key, orig_value in next, orig, nil do copy[deepcopy(orig_key)] = deepcopy(orig_value) end setmetatable(copy, deepcopy(getmetatable(orig))) else -- number, string, boolean, etc copy = orig end return copy end local function formatPopulationPropertyImpl( context, options ) if ( not context ) then error( 'context not specified' ); end; if ( not options ) then error( 'options not specified' ); end; if ( not options.entity ) then error( 'options.entity missing' ); end; local claims = context.selectClaims( options, options.property ); if (claims == nil) then return nil --TODO error? end for i, j in ipairs(claims) do if ( not j.qualifiers.P585[1]) then return nil end --проверка на наличие момента времени end local comparator = function(o1, o2) local t1 = context.parseTimeFromSnak( o1.qualifiers.P585[1] ); local t2 = context.parseTimeFromSnak( o2.qualifiers.P585[1] ); return t1 < t2; end table.sort( claims, comparator ) return claims; end -- тестирование не работает -- =p.formatProperty(mw.getCurrentFrame():newChild{title="Модуль:Wikidata",args={["property-module"]="Wikidata/Population",["property-function"]="formatPopulationPropertyForGraph",["claim-module"]="Wikidata/Population",["claim-function"]="formatPopulationClaimForGraph",["property"]="p1082[p585][rank:preferred,rank:normal]",["datatype"]="quantity",}}:newChild{title="Модуль:Wikidata/Population"}:newChild{title="Сереседа-де-ла-Сьерра"}) function p.formatPopulationPropertyForGraph( context, options ) local claims = formatPopulationPropertyImpl( context, options ); -- Обход всех заявлений утверждения и с накоплением оформленых предпочтительных -- заявлений в таблице local formattedClaims = {} local years = {} local count = 0; local csv = 'year,month,day,population'; if ( not claims ) then return ''; end for i, claim in ipairs(claims) do -- уточняем даты: для года до середины, для месяца до 15-го числа local p585Value = claim.qualifiers.P585[1].datavalue.value; local p585Precision = p585Value.precision; local p585Time = p585Value.time; if ( p585Precision == 10 ) then -- Set 15-th day of month p585Time = mw.ustring.gsub(p585Time, "\-[0-9]+T", "-15T"); elseif ( p585Precision == 9 ) then -- Set to 1-st of July p585Time = mw.ustring.gsub(p585Time, "\-[0-9]+\-[0-9]+T", "-07-01T"); end local year, month, day = mw.ustring.gmatch( p585Time, "(\-?[0-9]+)\-([0-9]+)\-([0-9]+)T" )(1); if not years[ year ] then years[ year ] = true; local value if not claim.mainsnak.datavalue then value = "" else value = string.gsub( claim.mainsnak.datavalue.value.amount, '^%+', '' ) end local line = year .. ',' .. month .. ',' .. day .. ',' .. value; csv = csv .. '\\n' .. line; count = count + 1; end end if ( count == 0 ) then return ''; end local graphData = '{ "version": 2, "width": ' .. DEFAULT_WIDTH .. ', "height": ' .. DEFAULT_HEIGHT .. ', "data": [ { "name": "table", "values": "'; graphData = graphData .. csv; graphData = graphData .. '","format": { "parse": {"year": "integer", "month": "integer", "day": "integer", "population": "integer"}, "type": "csv" },' graphData = graphData .. '"transform": [{ "type": "formula", "field": "date", "expr": "datetime(datum.year,datum.month-1,datum.day)" }] } ],'; graphData = graphData .. '"scales": [{ "name": "x", "type": "time", "range": "width", "nice": "year", "domain": {"data": "table", "field": "date"} },'; graphData = graphData .. '{ "name": "y", "type": "linear", "range": "height", "domain": {"data": "table", "field": "population"} } ],'; graphData = graphData .. '"axes": [ {"type": "x", "scale": "x", "ticks": 10}, {"type": "y", "scale": "y", "ticks": 5, "grid": true, "orient": "right", "format": "d"} ],'; graphData = graphData .. '"marks": [{ "type": "area", "from": {"data": "table"}, "properties": { "enter": {'; graphData = graphData .. '"x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "value": 0}, "y2": {"scale": "y", "field": "population"}, '; graphData = graphData .. '"fill": {"value": "#99B2CC"}, "fillOpacity": {"value": 0.35}, "interpolate": {"value": "monotone"}}}},'; graphData = graphData .. '{ "type": "line", "from": {"data": "table"}, "properties": { "enter": {'; graphData = graphData .. '"x": {"scale": "x", "field": "date"}, "y": {"scale": "y", "field": "population"},'; graphData = graphData .. '"stroke": {"value": "#99B2CC"}, "strokeWidth": {"value": 3}, "interpolate": {"value": "monotone"}}}},'; graphData = graphData .. '{"type": "symbol","from": {"data": "table"},"properties": {"enter": {'; graphData = graphData .. '"x": {"scale": "x", "field": "date"},"y": {"scale": "y", "field": "population"},"stroke": {"value": "#99B2CC"},"fill": {"value": "#fff"},"size": {"value": 10}}}}]}'; local result = options.frame:extensionTag( 'graph', graphData ); local columns = options.columns or DEFAULT_COLUMNS; local perColumn = math.ceil( count / columns ); if ( perColumn > COLLAPSE_IF_ROWS_MORE_THAN ) then return result; else -- side-by-side display return '<div style="display: inline-block; vertical-align: bottom;">' .. result .. '</div>'; end end function p.formatPopulationClaimForGraph( context, options, statement ) local time = context.parseTimeFromSnak( statement.qualifiers.P585[1] ); local value = string.gsub( statement.mainsnak.datavalue.value.amount, '^%+', '' ); return os.date("*t", time / 1000).year .. ',' .. value; end function p.formatPopulationPropertyForTable( context, options ) local claims = formatPopulationPropertyImpl( context, options ); -- Обход всех заявлений утверждения и с накоплением оформленых предпочтительных -- заявлений в таблице local formattedClaims = {} local years = {} local firstTime = false; local lastTime = ''; local count = 0; if ( not claims ) then return ''; end for i, claim in ipairs( claims ) do -- обрезаем выводимую дату до года local timeQualifier = claim.qualifiers.P585[1]; if ( timeQualifier.datavalue.value.precision > 9 ) then timeQualifier = deepcopy( timeQualifier ); timeQualifier.datavalue.value.precision = 9; end local year = string.sub( timeQualifier.datavalue.value.time, 2, 5 ); if not years[ year ] then years[ year ] = true; local time = context.formatSnak( options, timeQualifier ); local value = context.formatSnak( options, claim.mainsnak ); if ( not firstTime ) then firstTime = time end; lastTime = time; local line = '\n|-\n! ' .. time line = line .. '\n| style="text-align: right; border-right: none; padding-right: 0;" | ' .. ( value or "" ); line = line .. '\n| style="text-align: left; border-left: none; padding-left: 0;" | ' if options.references then line = line .. context.formatRefs( options, claim ); end table.insert( formattedClaims, line ) count = count + 1; end end if ( count == 0 ) then return ''; end local columns = options.columns or DEFAULT_COLUMNS; if ( count <= columns ) then local out = '{| class="wikitable" \n|-\n! ' .. TABLE_COLUMN_HEADER_YEAR .. ' !! colspan=2 | ' .. TABLE_COLUMN_HEADER_POPULATION .. '\n|-'; for i, formattedClaim in ipairs(formattedClaims) do out = out .. '\n' .. formattedClaim; end out = out .. '\n|}'; return out; end local out = ''; local perColumn = math.ceil( count / columns ); if ( perColumn > COLLAPSE_IF_ROWS_MORE_THAN ) then local caption = mw.ustring.format( TABLE_COLLAPSIBLE_HEADER, firstTime, lastTime ); out = out .. '{| class="collapsible collapsed" |\n'; out = out .. '! ' .. caption .. '\n'; out = out .. '|-\n'; out = out .. '| class="ts-wikidata-population-table" |'; else out = out .. '<div class="ts-wikidata-population-table">'; end for i, formattedClaim in ipairs(formattedClaims) do if ( i % perColumn == 1 ) then out = out .. '\n{| class="wikitable" \n|-\n! ' .. TABLE_COLUMN_HEADER_YEAR .. ' !! colspan=2 | ' .. TABLE_COLUMN_HEADER_POPULATION .. '\n|-'; end out = out .. '\n' .. formattedClaim; if ( i % perColumn == 0 ) then out = out .. '\n|}'; end end if ( count % perColumn ~= 0 ) then out = out .. '\n|}'; end if ( perColumn > COLLAPSE_IF_ROWS_MORE_THAN ) then out = out .. '\n|}'; else out = out .. '\n</div>'; end return out end return p; gtqltgbijxelqrxmgv622jox4a0tz9j Module:Wikidata/Dates 828 3451 36666 2025-12-15T21:34:16Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- sert à récupérer des données usuelles sur Wikidata (les fonctions élémentaires pour l'extraction des données se fait sur Module:Wikidata -- ce module peut-être appelé par Module:InfoboxBuilder/Helpers qui les met en infobox local p = {} local formatDate = require "Module:Date complexe" local function splitTimestamp(timestamp, calendar) local era, year, month, day era = string.sub(timestamp, 1, 1) year = tonumber(string.sub(timestamp...' 36666 Scribunto text/plain -- sert à récupérer des données usuelles sur Wikidata (les fonctions élémentaires pour l'extraction des données se fait sur Module:Wikidata -- ce module peut-être appelé par Module:InfoboxBuilder/Helpers qui les met en infobox local p = {} local formatDate = require "Module:Date complexe" local function splitTimestamp(timestamp, calendar) local era, year, month, day era = string.sub(timestamp, 1, 1) year = tonumber(string.sub(timestamp, 9, 12)) month = tonumber(string.sub(timestamp, 14, 15)) day = tonumber(string.sub(timestamp, 17, 18)) if calendar == 'julian' then year, month, day = formatdate.gregorianToJulian( era .. year, month, day ) end return {day = day, month = month, year = year, era = era, timestamp = timestamp, type = 'dateobject'} end function p.rangeobject(begin, ending, params) local timestamp if begin then timestamp = begin.timestamp else timestamp = ending.timestamp end return {begin = begin, ending = ending, timestamp = timestamp, type = 'rangeobject'} end function p.dateobject(orig, params) -- transforme un snak en un nouvel objet utilisable par Module:Date complexe if not params then params = {} end local newobj = splitTimestamp(orig.time, orig.calendar) -- initalise l'object en mettant la valeur des dates newobj.precision = params.precision or orig.precision newobj.type = 'dateobject' return newobj end function p.objecttotext(obj, params) if obj.type == 'dateobject' then return formatDate.simplestring(obj, params) elseif obj.type == 'rangeobject' then return formatDate.daterange(obj.begin, obj.ending, params) end end return p r4ww9iz5584zpt0w0etyb6bklqbbger Module:Wikidata/Formatters/monolingualtext 828 3452 36667 2025-12-15T21:35:12Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local function formatValue(text, language, showlang) local formatted = lib.formatTextInLanguage(text, language) if showlang then local frame = mw.getCurrentFrame() local i18n = mw.loadData('Module:Wikidata/i18n') return mw.ustring.format('%s (%s)', formatted, frame:callParserFunction('#language', language, i18n.lang)) else return formatted end end function...' 36667 Scribunto text/plain --require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local function formatValue(text, language, showlang) local formatted = lib.formatTextInLanguage(text, language) if showlang then local frame = mw.getCurrentFrame() local i18n = mw.loadData('Module:Wikidata/i18n') return mw.ustring.format('%s (%s)', formatted, frame:callParserFunction('#language', language, i18n.lang)) else return formatted end end function p.getRawValue(value, options) return value.text end function p.formatRawValue(value, options) return formatValue(value, options.language, lib.IsOptionTrue(options, 'showlang')) end function p.formatValue(value, options) return formatValue(value.text, value.language, lib.IsOptionTrue(options, 'showlang')) end return p jv1d173fmwqiworeqlo4xhf1n0i0vpo Module:Wikidata/Sorters/quantity 828 3453 36668 2025-12-15T21:36:01Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "strict" local p = {} local lib = require 'Module:Wikidata/lib' p.isCompleteSnak = lib.IsSnakValue function p.isCompleteStatement(statement) return p.isCompleteSnak(statement.mainsnak) end function p.mayCompareSnak(snak) return lib.datatypeToValueType[snak.datatype] == 'quantity' end function p.mayCompareStatement(statement) return p.mayCompareSnak(statement.mainsnak) end local function getValue(snak) local Formatters = require...' 36668 Scribunto text/plain --require "strict" local p = {} local lib = require 'Module:Wikidata/lib' p.isCompleteSnak = lib.IsSnakValue function p.isCompleteStatement(statement) return p.isCompleteSnak(statement.mainsnak) end function p.mayCompareSnak(snak) return lib.datatypeToValueType[snak.datatype] == 'quantity' end function p.mayCompareStatement(statement) return p.mayCompareSnak(statement.mainsnak) end local function getValue(snak) local Formatters = require 'Module:Wikidata/Formatters' return Formatters.getRawValue(snak) end function p.compareSnaks(first, second) return lib.simpleCompare(getValue(first), getValue(second)) end function p.compareStatements(first, second) return p.compareSnaks(first.mainsnak, second.mainsnak) end return p 3acr86a98gwoumfs2hhz2dbpujo9jfu Module:Wikidata/Sorters/time 828 3454 36669 2025-12-15T21:36:53Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "strict" local p = {} local lib = require 'Module:Wikidata/lib' p.isCompleteSnak = lib.IsSnakValue function p.isCompleteStatement(statement) return p.isCompleteSnak(statement.mainsnak) end function p.mayCompareSnak(snak) return lib.datatypeToValueType[snak.datatype] == 'time' end function p.mayCompareStatement(statement) return p.mayCompareSnak(statement.mainsnak) end function p.compareSnaks(first, second) local Formatters = re...' 36669 Scribunto text/plain --require "strict" local p = {} local lib = require 'Module:Wikidata/lib' p.isCompleteSnak = lib.IsSnakValue function p.isCompleteStatement(statement) return p.isCompleteSnak(statement.mainsnak) end function p.mayCompareSnak(snak) return lib.datatypeToValueType[snak.datatype] == 'time' end function p.mayCompareStatement(statement) return p.mayCompareSnak(statement.mainsnak) end function p.compareSnaks(first, second) local Formatters = require 'Module:Wikidata/Formatters' return lib.simpleCompare(Formatters.getRawValue(first), Formatters.getRawValue(second)) end function p.compareStatements(first, second) return p.compareSnaks(first.mainsnak, second.mainsnak) end return p gabiyx1ezxjavi8u550f0hlcp9dc5h1 Module:Wikidata/Sorters/alpha 828 3455 36670 2025-12-15T21:37:49Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local Collation = require 'Module:Collation' local Formatters = require 'Module:Wikidata/Formatters' local cache = {} local function getLabel(value) if not cache[value] then cache[value] = mw.wikibase.label(value) or false end return cache[value] or nil end local function getValue(snak) local value = Formatters.getRawValue(snak) if snak.datavalue.type == 'wikibase-...' 36670 Scribunto text/plain --require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local Collation = require 'Module:Collation' local Formatters = require 'Module:Wikidata/Formatters' local cache = {} local function getLabel(value) if not cache[value] then cache[value] = mw.wikibase.label(value) or false end return cache[value] or nil end local function getValue(snak) local value = Formatters.getRawValue(snak) if snak.datavalue.type == 'wikibase-entityid' then return getLabel(value) end return value end function p.isCompleteSnak(snak) return lib.IsSnakValue(snak) and ( snak.datavalue.type == 'string' or snak.datavalue.type == 'monolingualtext' or ((getValue(snak) and true) or false) ) end function p.isCompleteStatement(statement) return p.isCompleteSnak(statement.mainsnak) end function p.mayCompareSnak(snak) local valueType = lib.datatypeToValueType[snak.datatype] return valueType == 'monolingualtext' or valueType == 'string' or valueType == 'wikibase-entityid' end function p.mayCompareStatement(statement) return p.mayCompareSnak(statement.mainsnak) end function p.compareSnaks(first, second) return Collation.compare(getValue(first), getValue(second)) end function p.compareStatements(first, second) return p.compareSnaks(first.mainsnak, second.mainsnak) end return p b1o8emdnrj4iwb2gx4oq7xzzz5p5n8z Module:Collation 828 3456 36671 2025-12-15T21:38:44Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- @brief -- Collation for cs (Czech) language. -- -- @author -- [[meta:User:Danny B.]] local _module = {} ---------------------------------------- --[[ Zde je možno editovat Prosíme, zachovávejte formát a správné abecední pořadí. Formát: { sekundární abeceda, primární abeceda }, Pořadí: ČSN 97 6030 https://cs.wikipedia.org/wiki/Abecedn%C3%AD_%C5%99azen%C3%AD#.C4.8Ce.C5.A1tina --]] _module.alphabet = { { " ", "...' 36671 Scribunto text/plain -- @brief -- Collation for cs (Czech) language. -- -- @author -- [[meta:User:Danny B.]] local _module = {} ---------------------------------------- --[[ Zde je možno editovat Prosíme, zachovávejte formát a správné abecední pořadí. Formát: { sekundární abeceda, primární abeceda }, Pořadí: ČSN 97 6030 https://cs.wikipedia.org/wiki/Abecedn%C3%AD_%C5%99azen%C3%AD#.C4.8Ce.C5.A1tina --]] _module.alphabet = { { " ", " " }, { "-", "-" }, { "a", "a" }, { "á", "a" }, { "å", "a" }, { "ä", "a" }, { "b", "b" }, { "c", "c" }, { "č", "č" }, { "d", "d" }, { "ď", "d" }, { "e", "e" }, { "é", "e" }, { "ě", "e" }, { "f", "f" }, { "g", "g" }, { "h", "h" }, { "ch", "ch" }, { "i", "i" }, { "í", "i" }, { "j", "j" }, { "k", "k" }, { "l", "l" }, { "m", "m" }, { "n", "n" }, { "ň", "n" }, { "o", "o" }, { "ó", "o" }, { "p", "p" }, { "q", "q" }, { "r", "r" }, { "ř", "ř" }, { "s", "s" }, { "š", "š" }, { "t", "t" }, { "ť", "t" }, { "u", "u" }, { "ú", "u" }, { "ů", "u" }, { "ü", "u" }, { "v", "v" }, { "w", "w" }, { "x", "x" }, { "y", "y" }, { "ý", "y" }, { "z", "z" }, { "ž", "ž" }, { "0", "0" }, { "1", "1" }, { "2", "2" }, { "3", "3" }, { "4", "4" }, { "5", "5" }, { "6", "6" }, { "7", "7" }, { "8", "8" }, { "9", "9" }, { "'", "'" } } --[[ Konec možnosti editace --]] -- Pomocné tabulky local primaryAlphabet = {} local secondaryAlphabet = {} -- Inicializace pomocných tabulek for i, letter in ipairs( _module.alphabet ) do secondaryAlphabet[letter[1]] = i primaryAlphabet[letter[1]] = secondaryAlphabet[letter[2]] end local function charAt( str, pos ) return mw.ustring.sub( str, pos, pos ) end local function getChar( str, pos, alphabet ) local newpos = pos local char = charAt( str, newpos ) while char ~= "" and not alphabet[char] do newpos = newpos + 1 char = charAt( str, newpos ) end if ( char == "c" and charAt( str, newpos + 1 ) == "h" ) then char = "ch" newpos = newpos + 1 end return char, newpos + 1 end -- @brief -- Compare two strings by given alphabet. -- -- @param -- String left First string -- String right Second string -- table alphabet Table of order of chars -- @return -- -1 if left < right -- 0 if left = right -- 1 if left > right local function compareByAlphabet( strLeft, strRight, alphabet ) local iLeft = 1 local iRight = 1 local charLeft = "" local charRight = "" repeat charLeft, iLeft = getChar( strLeft, iLeft, alphabet ); charRight, iRight = getChar( strRight, iRight, alphabet ); if charLeft ~= "" or charRight ~= "" then if charLeft == "" then return -1 elseif charRight == "" then return 1 elseif alphabet[charLeft] > alphabet[charRight] then return 1 elseif alphabet[charLeft] < alphabet[charRight] then return -1 end end until ( charLeft == "" or charRight == "" ) return 0 end -- @brief -- Compare two strings. -- -- @param -- String left First string -- String right Second string -- @return -- -1 if left < right -- 0 if left = right -- 1 if left > right function _module.compare( left, right ) local output local strLeft = mw.ustring.lower( left ) local strRight = mw.ustring.lower( right ) if strLeft == strRight then return 0 end output = compareByAlphabet( strLeft, strRight, primaryAlphabet ) if output == 0 then return compareByAlphabet( strLeft, strRight, secondaryAlphabet ) else return output end end -- @brief -- Compare two strings for table.sort(). -- -- @param -- String left First string -- String right Second string -- @return -- boolean true if left < right -- boolean false if left >= right function _module.sortCompare( left, right ) return _module.compare( left, right ) < 0 end ---------------------------------------- return _module t62tnjx5i4dcqzv6mdoil3060n2y0bh Module:Wikidata/build 828 3457 36672 2025-12-15T21:39:41Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} local lib = require 'Module:Wikidata/lib' p.datatypes = {} for dt in pairs(lib.datatypeToValueType) do table.insert(p.datatypes, dt) end function p.randomDatatype() return p.datatypes[math.floor(math.random(#p.datatypes))] end function p.randomLanguage() local langs = mw.language.fetchLanguageNames() local codes = {} for key in pairs( langs ) do table.insert( codes, key ) end return codes[math.floor(math.random(#codes))] e...' 36672 Scribunto text/plain local p = {} local lib = require 'Module:Wikidata/lib' p.datatypes = {} for dt in pairs(lib.datatypeToValueType) do table.insert(p.datatypes, dt) end function p.randomDatatype() return p.datatypes[math.floor(math.random(#p.datatypes))] end function p.randomLanguage() local langs = mw.language.fetchLanguageNames() local codes = {} for key in pairs( langs ) do table.insert( codes, key ) end return codes[math.floor(math.random(#codes))] end local function buildAmount( number ) return ( number < 0 and tostring( number ) ) or '+' .. tostring( number ) end function p.buildValueFromDatatype( args ) if lib.datatypeToValueType[args.datatype] == "string" then return args.value elseif args.datatype == "quantity" then if type( args.value ) == "table" then return args.value elseif type( args.value ) == "number" then return { amount = buildAmount( args.value ), lowerBound = args.diff and buildAmount( args.value - args.diff ), unit = args.unit and mw.ustring.format( 'http://www.wikidata.org/entity/%s', args.unit ) or "1", upperBound = args.diff and buildAmount( args.value + args.diff ) } end elseif args.datatype == "wikibase-item" or args.datatype == "wikibase-property" then local value = { ['entity-type'] = mw.text.split( args.datatype, '-', true )[2], ['numeric-id'] = args.value, } value.id = lib.getEntityIdFromValue(value) return value elseif args.datatype == "time" then local obj = require('Module:Time').newFromIso8601( args.value ) local precision = obj.precision obj.precision = 14 return { after = 0, before = 0, calendarmodel = "http://www.wikidata.org/entity/Q1985727", precision = precision, time = obj:toIso8601(), timezone = 0, } elseif args.datatype == "monolingualtext" then return { language = args.lang or p.randomLanguage(), text = args.value } end return error() end function p.buildSnak( args ) if not args.snaktype or args.snaktype == "value" then return { datatype = args.datatype or error('Missing datatype'), datavalue = { type = lib.datatypeToValueType[args.datatype] or error('Invalid datatype'), value = p.buildValueFromDatatype( args ) }, snaktype = "value" } else return { datatype = args.datatype, snaktype = args.snaktype } end end function p.buildStatement( args ) return { mainsnak = p.buildSnak( args ), rank = args.rank or 'normal', type = 'statement', --qualifiers = {}, --references = {}, } end return p 689y6r0u2as9ah81ibbp6zvm71mmg7q Module:EditAtWikidata 828 3458 36673 2025-12-15T21:40:59Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Module to display an icon with a tooltip such as "Edit this at Wikidata" -- Icon will be linked to the Wikidata entry for the article where this is placed. -- This message is only displayed if a local_parameter is not supplied -- i.e. when called from a template, it can be coded not to display the message -- when a local parameter is in use, preventing the value form Wikidata being fetched. -- The qid of a Wikidata entry can optionally be suppl...' 36673 Scribunto text/plain -- Module to display an icon with a tooltip such as "Edit this at Wikidata" -- Icon will be linked to the Wikidata entry for the article where this is placed. -- This message is only displayed if a local_parameter is not supplied -- i.e. when called from a template, it can be coded not to display the message -- when a local parameter is in use, preventing the value form Wikidata being fetched. -- The qid of a Wikidata entry can optionally be supplied for testing outside the article. -- Usage: -- {{#invoke:EditAtWikidata|showMessage|local_parameter}} -- {{#invoke:EditAtWikidata|showMessage|qid=<ArticleID|local_parameter}} local p = {} local i18n = { ["message"] = "Επεξεργασία στα Wikidata" } p.showMessage = function(frame) -- There may be a local parameter supplied, if it's blank, set it to nil local local_parm = mw.text.trim(frame.args[1] or "") if local_parm and (#local_parm == 0) then local_parm = nil end -- If there is a local parameter used, we don't want to display the message if local_parm then return nil end -- Can take a named parameter |qid which is the Wikidata ID for the article. -- This will not normally be used except for testing outside the article. local qid = frame.args.qid if qid and (#qid == 0) then qid = nil end -- The module can take a parameter pid= -- which will create a link to that property in the Wikidata entry for the article local propertyID = mw.text.trim(frame.args.pid or "") -- Get the object containing all the claims for the article local entity = mw.wikibase.getEntityObject(qid) if entity then local thisQid if qid then thisQid = qid else thisQid = entity.id end local icon if propertyID then icon = " [[File:Blue pencil.svg |frameless |text-top |10px |alt=" .. i18n.message .. " |link=https://www.wikidata.org/wiki/" .. thisQid .. "#" .. propertyID .. "|" .. i18n.message .. "]]" else icon = " [[File:Blue pencil.svg |frameless |text-top |10px |alt=" .. i18n.message .. " |link=https://www.wikidata.org/wiki/" .. thisQid .. "|" .. i18n.message .. "]]" end return icon end end return p hb84q7jds490oit8s4sanx1q8tip9vc Module:Wikidata-n 828 3459 36674 2025-12-15T21:41:54Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- returns the page id (Q...) of the current page, or nil if the page is not connected to Wikidata local p = {} function p.pageId(frame) return mw.wikibase.getEntityIdForCurrentPage() end return p' 36674 Scribunto text/plain -- returns the page id (Q...) of the current page, or nil if the page is not connected to Wikidata local p = {} function p.pageId(frame) return mw.wikibase.getEntityIdForCurrentPage() end return p sker9xz1uw8rakd7rtjy7fceaen7v0j Module:Wikidata/Formatters/quantity 828 3460 36675 2025-12-15T21:43:06Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local function formatUnit(entityId) local Formatters = require 'Module:Wikidata/Formatters' return Formatters.formatRawValue(entityId, 'wikibase-entityid', { label = 'unitsymbol' }) end function p.formatNumber(number) local integer, fractional local prefix = '' if number < 0 then number = -number prefix = '−' end number = tostring(number) if mw.ustring.find(...' 36675 Scribunto text/plain --require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local function formatUnit(entityId) local Formatters = require 'Module:Wikidata/Formatters' return Formatters.formatRawValue(entityId, 'wikibase-entityid', { label = 'unitsymbol' }) end function p.formatNumber(number) local integer, fractional local prefix = '' if number < 0 then number = -number prefix = '−' end number = tostring(number) if mw.ustring.find(number, '%.') then integer, fractional = mw.ustring.match(number, '^(.+)%.(.+)$') else integer = number end local length = mw.ustring.len(integer) local i = length % 3 if i == 0 then i = 3 end local formatted_num = mw.ustring.sub(integer, 1, i) while i < length do formatted_num = formatted_num .. '.' .. mw.ustring.sub(integer, i + 1, i + 3) i = i + 3 end if fractional then local length = mw.ustring.len(fractional) local i = 3 formatted_num = formatted_num .. ',' .. mw.ustring.sub(fractional, 1, 3) while i < length do formatted_num = formatted_num .. '' .. mw.ustring.sub(fractional, i + 1, i + 3) i = i + 3 end end return prefix .. formatted_num end local function getUnitAndCoef(unit, options) local entityId = lib.getItemIdFromURI(unit) if not entityId or entityId == 'Q199' then return nil, 1 end local coef if options.unit and entityId ~= options.unit then local WD = require 'Module:Wikidata' coef = WD.getRawValueFromLua{ id = entityId, property = 'P2370', withunit = options.unit, limit = 1 } or WD.getRawValueFromLua{ id = entityId, property = 'P2442', withunit = options.unit, limit = 1 } if coef then entityId = options.unit end end return entityId, coef or 1 end function p.getRawValue(value, options) local _, coef = getUnitAndCoef(value.unit, options) return tonumber(value.amount) * coef end function p.formatRawValue(value, options) return p.formatNumber(value) end function p.formatValue(value, options) local unit, coef = getUnitAndCoef(value.unit, options) local amount = tonumber(value.amount) * coef local rawamount = amount local margin if lib.IsOptionTrue(options, 'showmargin') then if value.upperBound then margin = tonumber(value.upperBound) * coef - amount end end amount = p.formatNumber(amount) if margin then amount = amount .. '±' .. p.formatNumber(margin) end if tostring(options.showunit) ~= 'false' then if unit then mw.logObject(unit) if unit == 'Q7727' then return amount .. '&nbsp;' .. (tonumber(rawamount) > 1 and 'λεπτά' or 'λεπτό') elseif unit == 'Q11570' then return amount .. '&nbsp;' .. (tonumber(rawamount) > 1 and 'κιλά' or 'κιλό') elseif unit == 'Q11573' then return amount .. '&nbsp;' .. (tonumber(rawamount) > 1 and 'μέτρα' or 'μέτρο') elseif unit == 'Q174728' then return amount .. '&nbsp;' .. (tonumber(rawamount) > 1 and 'εκατοστά' or 'εκατοστό') end return amount .. '&nbsp;' .. formatUnit(unit) .. '[[Κατηγορίαν:Σελίδες που τραβάνε ετικέτες μονάδων μέτρησης με το Module:Wikidata]]' end end return amount end return p n1tnhyqc820466kda0w4r4x88b1p5t4 Module:Interface Wikidata 828 3461 36676 2025-12-15T21:44:02Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} local d = require 'Module:Wikidata' -- fonctions ne pouvant être appelées que depuis un autre module p.fromLua = { -- manipulation d'une liste d'affirmations getClaims = d.getClaims, stringTable = d.stringTable, tableToText = d.tableToText, formatStatements = d.formatStatements, formatQualifiers = d.showQualifier, formatAndCat = d.formatAndCat, wikidataDate = d.wikidataDate, addLinkback = d.addLinkBack, addtrackingcat =...' 36676 Scribunto text/plain local p = {} local d = require 'Module:Wikidata' -- fonctions ne pouvant être appelées que depuis un autre module p.fromLua = { -- manipulation d'une liste d'affirmations getClaims = d.getClaims, stringTable = d.stringTable, tableToText = d.tableToText, formatStatements = d.formatStatements, formatQualifiers = d.showQualifier, formatAndCat = d.formatAndCat, wikidataDate = d.wikidataDate, addLinkback = d.addLinkBack, addtrackingcat = d.addTrackingCat, -- manipulation d'une affirmation individelle getmainid = d.getMainId, formatStatement = d.formatStatement, statementDate = d.getFormattedDate, -- récupère la date des qualificatifs getFormattedQualifiers = d.getFormattedQualifiers, getQualifiers = d.getQualifiers, getReferences = d.getReferences, -- manipulation de snaks getid = d.getId, formatSnak = d.formatSnak, -- utilisation de qids getEntity = d.getEntity, formatEntity = d.formatEntity, getLink = d.siteLink, getLabel = d.getLabel, --getLabel est plus simple que formatEntity -- utilisation des propriétés transitives isInstance = d.isInstance, isSubclass = d.isSubclass, addVals = d.addVals, transitiveVals = d.transitiveVals, inTransitiveVals = d.inTransitiveVals, findVal = d.findVal, -- gestion des dates mainDate = d.mainDate, getDate = d.getTheDate, keyDate = d.keyDate, -- Fonctions diverses translate = d.translate, Dump = d.Dump, } -- Fonctions frame pour usage depuis le Wikitexte (avec parfois des options pour gérer des données moins propres local function cleanargs(args) local newargs = {} for k, v in pairs(args) do if v ~= '' then --[[ possibilité de passer des booléen, convertion des valeur "true", "false" en booleen lua (sinon le module lua ne prend pas en compte "excludespecial" qui est "true" par défaut et considère toute chaîne comme vraie) --]] if v == "true" then newargs[k] = true elseif v == "false" then newargs[k] = false else newargs[k] = v end end end return newargs end function p.formatStatements( frame ) -- pour Modèle:Wikidata local args = {} if frame == mw.getCurrentFrame() then args = cleanargs(frame.args) -- paramètres en dur du code de Modèle:Wikidata for k, v in pairs(cleanargs(frame:getParent().args)) do -- chargement des paramètres de l'appel au modèle, -- pour permettre la surcharge des paramètres par défaut dans "Modèle:Wikidata" args[k] = v end else args = frame end if args.blockers and args.blockers ~= '' then return args.value end return p.fromLua.formatStatements( args ) end function p.addLinkBack( frame ) local args = cleanargs(frame.args) if args[1] and args[1]:match"%S" then return d.addLinkBack( '', args.entity, mw.text.trim( args[1] ) ) end end function p.formatEntity(frame) local args = cleanargs(frame.args) local entity = args.entity or args[1] return d.formatEntity(entity, args) end function p.formatAndCat(frame) local args = cleanargs(frame.args) return d.formatAndCat(args) end function p.getLabel(frame) local args = cleanargs(frame.args) local item = args[1] local lang = args[2] or "fr" return d.getLabel(item, lang) end function p.mainDate(frame) return d.mainDate(frame.args['entity']) end function p.Dump(frame) return d.Dump(frame.args[1]) end function p.formatQualifiers(frame) local args = frame.args return d.formatQualifiers(args) end function p.getDescription(frame) -- fonction simpliste, mais bon, les descriptions Wikidata, c'est pas non plus super utile return mw.wikibase.description(frame.args[1]) end function p.getLink(frame) local args = frame.args local link, proj, lang = p.fromLua.getLink(args[1], args[2], args[3]) return link end function p.translate(frame) return d.translate(frame.args[1]) end function p.findVal(frame) local args = frame.args return d.findVal(args.source, args.target, args.property, args.recursion, args.instancedepth) end function p.transitiveVals(frame) local args = frame.args return d.transitiveVals(args.item, args, args.maxdepth, args.maxnodes, args.stopval, true) end return p ezl0yyww1hq9i2p4hemaq84m3iwftg1 Module:Wikidata/Outils 828 3462 36677 2025-12-15T21:45:00Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--Fonctions élémentaires de gestion des snaks Wikidata local p = {} p.i18n = require "Module:Wikidata/I18n" function p.snaktype(snak) return snak.snaktype end function p.isSpecial(snak) return (snak.snaktype ~= 'value') end function p.isValue(snak) return (snak.snaktype == 'value') end function p.getId(snak) if p.isValue(snak) then return 'Q' .. snak.datavalue.value['numeric-id'] end end function p.getMainId(claim) return p.getId(cl...' 36677 Scribunto text/plain --Fonctions élémentaires de gestion des snaks Wikidata local p = {} p.i18n = require "Module:Wikidata/I18n" function p.snaktype(snak) return snak.snaktype end function p.isSpecial(snak) return (snak.snaktype ~= 'value') end function p.isValue(snak) return (snak.snaktype == 'value') end function p.getId(snak) if p.isValue(snak) then return 'Q' .. snak.datavalue.value['numeric-id'] end end function p.getMainId(claim) return p.getId(claim.mainsnak) end function p.EntityId(entity) if type(entity) == 'string' then return entity end return entity.id end function p.getValue(snak) return snak.datavalue.value end function p.formatError( key ) return error(i18n[key] or key) end function p.addcat(cat, sortkey) if sortkey then return '[[Category:' .. cat .. '|' .. (sortkey or '') .. ']]' end return '[[Category:' .. cat .. ']]' end function p.getEntity( val ) if type(val) == 'table' then return val end return mw.wikibase.getEntityObject(val) end function p.alreadyHere(searchset, val) for i, j in pairs(searchset) do if val == j then return true end end return false end -- add new values to a list, avoiding duplicates function p.addnewvalues(old, new) if not new then return old end for _, j in pairs(new) do if not p.alreadyHere(old, j) then table.insert(old, j) end end return old end return p bad7i81ij7wi1aozrgvtaz7bads8x1p Module:Wikidata/config 828 3463 36678 2025-12-15T21:47:15Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Property configuration for Wikidata module return { global = { separator = ',&#32;', conjunction = ',&#32;', }, presets = { ['catonly'] = { datatype = 'wikibase-item', conjunction = '', invisible = true, ['value-module'] = 'Wikidata/item', ['value-function'] = 'formatCategoryOnly', references = '', category = 'P910', }, ['country'] = { ['claim-module'] = 'Wikidata/Places', ['claim-function'] = 'formatCount...' 36678 Scribunto text/plain -- Property configuration for Wikidata module return { global = { separator = ',&#32;', conjunction = ',&#32;', }, presets = { ['catonly'] = { datatype = 'wikibase-item', conjunction = '', invisible = true, ['value-module'] = 'Wikidata/item', ['value-function'] = 'formatCategoryOnly', references = '', category = 'P910', }, ['country'] = { ['claim-module'] = 'Wikidata/Places', ['claim-function'] = 'formatCountryClaimWithFlag', before = '<ul><li>', separator = '</li><li>', conjunction = '</li><li>', after = '</li></ul>', }, ['from-to'] = { ['property-module'] = 'Wikidata/date', ['property-function'] = 'formatDateIntervalProperty', }, ['link'] = { ['value-module'] = 'Wikidata/link', ['value-function'] = 'fromModule', }, ['list'] = { before = '<ul><li>', separator = '</li><li>', conjunction = '</li><li>', after = '</li></ul>', }, ['name'] = { monolingualLangTemplate = 'lang', separator = '<br>', conjunction = '<br>', }, ['place'] = { ['claim-module'] = 'Wikidata/Places', ['claim-function'] = 'formatPlaceWithQualifiers', before = '<ul><li>', separator = '</li><li>', conjunction = '</li><li>', after = '</li></ul>', }, ['quantity (date)'] = { before = '<ul><li>', separator = '</li><li>', conjunction = '</li><li>', after = '</li></ul>', qualifier = 'P585', }, }, datatypes = { commonsMedia = { limit = 1, references = false, size = '274x400px', separator = '<br>', conjunction = '<br>', somevalue = '', ['value-module'] = 'Wikidata/media', ['value-function'] = 'formatCommonsMediaValue', }, ['external-id'] = { references = false, }, ['globe-coordinate'] = { limit = 1, references = false, }, url = { separator = '<br>', conjunction = '<br>', references = false, ['value-module'] = 'Wikidata/url', ['value-function'] = 'formatUrlValue', }, quantity = { siConversion = true } }, properties = { P6 = { datatype = 'wikibase-item', }, P17 = { datatype = 'wikibase-item', preset = 'country', }, P18 = { datatype = 'commonsMedia', fixdouble = true, }, P19 = { datatype = 'wikibase-item', preset = 'place', separator = ',</li><li>', conjunction = ' йа </li><li>', }, P20 = { datatype = 'wikibase-item', preset = 'place', separator = ',</li><li>', conjunction = ' йа </li><li>', }, P22 = { datatype = 'wikibase-item', conjunction = ' йа ' }, P25 = { datatype = 'wikibase-item', conjunction = ' йа ' }, P26 = { datatype = 'wikibase-item', }, P27 = { datatype = 'wikibase-item', preset = 'country', }, P31 = { datatype = 'wikibase-item', references = false, }, P37 = { datatype = 'wikibase-item', }, P39 = { ['claim-module'] = 'Wikidata/positions', ['claim-function'] = 'formatPositionClaim', separator = '', conjunction = '', allowTables = true, }, P40 = { datatype = 'wikibase-item', }, P41 = { datatype = 'commonsMedia', size = '150x200px', }, P53 = { datatype = 'wikibase-item', category = 'P910', }, P54 = { category = 'P6112', }, P57 = { datatype = 'wikibase-item', preset = 'list', }, P58 = { datatype = 'wikibase-item', preset = 'list', }, P59 = { datatype = 'wikibase-item', category = 'P910', references = false, }, P69 = { datatype = 'wikibase-item', preset = 'list', category = 'P3876', qualifier = 'P582', }, P94 = { datatype = 'commonsMedia', size = '100x200px', }, P86 = { datatype = 'wikibase-item', preset = 'list', }, P101 = { datatype = 'wikibase-item', }, P102 = { datatype = 'wikibase-item', preset = 'list', qualifier = 'P582', category = 'P6365', }, P103 = { datatype = 'wikibase-item', }, P106 = { datatype = 'wikibase-item', ['claim-module'] = 'Wikidata/item', ['claim-function'] = 'formatEntityWithGenderClaim', conjunction = ',&#32;', }, P108 = { datatype = 'wikibase-item', preset = 'list', category = 'P4195', }, P109 = { datatype = 'commonsMedia', size = '150x150px', alt = 'Автографан сурт', }, P117 = { datatype = 'commonsMedia', size = '290x300px', alt = 'Химин структуран сурт', }, P119 = { datatype = 'wikibase-item', preset = 'place', thisLocationOnly = 'true', }, P131 = { datatype = 'wikibase-item', }, P140 = { datatype = 'wikibase-item', }, P154 = { size = '220x80px', alt = 'Логотипан сурт', }, P159 = { preset = 'place', }, P161 = { preset = 'list', }, P162 = { preset = 'list', }, P163 = { datatype = 'wikibase-item', }, P166 = { datatype = 'wikibase-item', ['property-module'] = 'Wikidata/Medals', ['property-function'] = 'formatProperty', ['value-module'] = 'Wikidata/Medals', ['value-function'] = 'formatValue', before = '<div style="text-align:justify">', after = '</div>', separator = '&#32;', conjunction = '&#32;', references = false, allowTables = true, }, P190 = { datatype = 'wikibase-item', }, P212 = { preset = 'link', }, P225 = { preset = 'list', ['claim-module'] = 'Wikidata/Biology', ['claim-function'] = 'formatTaxonNameClaim', }, P237 = { datatype = 'wikibase-item', }, P241 = { datatype = 'wikibase-item', }, P242 = { datatype = 'commonsMedia', size = '300x300px', }, P247 = { formatter = 'https://nssdc.gsfc.nasa.gov/nmc/spacecraft/display.action?id=$1', }, P267 = { preset = 'link', }, P276 = { preset = 'place', }, P281 = { datatype = 'string', }, P286 = { preset = 'list', }, P296 = { formatter = 'http://osm.sbin.ru/esr/esr:$1', }, P301 = { rawArticle = true, }, P344 = { preset = 'list', }, P345 = { preset = 'link', }, P348 = { preset = 'list', ['property-module'] = 'Wikidata/Software', ['property-function'] = 'formatVersionProperty', }, P361 = { datatype = 'wikibase-item', }, P373 = { datatype = 'string', ['value-module'] = 'Wikidata/media', ['value-function'] = 'formatCommonsCategory', limit = 1, }, P374 = { datatype = 'external-id', }, P395 = { datatype = 'string', }, P407 = { datatype = 'wikibase-item', }, P410 = { datatype = 'wikibase-item', }, P412 = { datatype = 'wikibase-item', category = 'P910', }, P413 = { datatype = 'wikibase-item', ['claim-module'] = 'Wikidata/item', ['claim-function'] = 'formatEntityWithGenderClaim', conjunction = ',&#32;', category = 'P910', }, P414 = { ['claim-module'] = 'Wikidata/item', ['claim-function'] = 'applyDefaultTemplate', }, P421 = { datatype = 'wikibase-item', }, P473 = { datatype = 'string', }, P495 = { preset = 'country', }, P505 = { preset = 'list', }, P512 = { datatype = 'wikibase-item', ['property-module'] = 'Wikidata/P512', ['property-function'] = 'formatAcademicDegree', }, P527 = { preset = 'list', }, P528 = { references = false, qualifier = 'P972', }, P551 = { preset = 'place', }, P569 = { datatype = 'time', ['claim-module'] = 'Wikidata/date', ['claim-function'] = 'formatDateOfBirthClaim', }, P570 = { datatype = 'time', ['claim-module'] = 'Wikidata/date', ['claim-function'] = 'formatDateOfDeathClaim', }, P571 = { datatype = 'time', }, P576 = { datatype = 'time', }, P598 = { datatype = 'wikibase-item', }, P607 = { datatype = 'wikibase-item', preset = 'list', }, P625 = { datatype = 'globe-coordinate', }, P669 = { qualifier = 'P670', }, P685 = { formatter = 'https://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?mode=Info&id=$1', }, P721 = { preset = 'link', }, P764 = { preset = 'link', }, P803 = { datatype = 'wikibase-item', }, P856 = { datatype = 'url', }, P881 = { novalue = 'нет', category = 'P910', }, P884 = { preset = 'link', }, P915 = { category = 'P1740', }, P957 = { preset = 'link', }, P972 = { preset = 'catonly', }, P1077 = { preset = 'link', }, P1082 = { datatype = 'quantity', preset = 'quantity (date)', unit = 'стаг', ['property-module'] = 'Wikidata/number', ['property-function'] = 'formatPropertyWithMostRecentClaimAndIndicator' }, P1098 = { datatype = 'quantity', preset = 'quantity (date)', unit = 'стаг', }, P1120 = { datatype = 'quantity', preset = 'quantity (date)', unit = 'стаг', ['property-module'] = 'Wikidata/number', ['property-function'] = 'formatPropertyWithMostRecentClaimAndIndicator' }, P1128 = { datatype = 'quantity', preset = 'quantity (date)', unit = 'стаг', ['property-module'] = 'Wikidata/number', ['property-function'] = 'formatPropertyWithMostRecentClaimAndIndicator' }, P1114 = { datatype = 'quantity', qualifier = 'P585', }, P1174 = { datatype = 'quantity', preset = 'quantity (date)', unit = 'стаг', }, P1195 = { ['value-module'] = 'Wikidata/Software', ['value-function'] = 'formatExtension', conjunction = ' йа ', }, P1215 = { datatype = 'quantity', ['property-module'] = 'Wikidata/number', ['property-function'] = 'formatVisualMagnitude' }, P1246 = { preset = 'link', }, P1249 = { datatype = 'time', }, P1376 = { datatype = 'wikibase-item', }, P1402 = { preset = 'link', }, P1448 = { datatype = 'monolingualtext', preset = 'name', }, P1458 = { datatype = 'quantity', ['property-module'] = 'Wikidata/number', ['property-function'] = 'formatColorIndex' }, P1464 = { datatype = 'wikibase-item', }, P1476 = { preset = 'name', }, P1477 = { datatype = 'monolingualtext', preset = 'name', }, P1532 = { preset = 'country', rank = '[rank:normal, rank:preferred]', }, P1543 = { datatype = 'commonsMedia', }, P1559 = { datatype = 'monolingualtext', preset = 'name', }, P1603 = { datatype = 'quantity', preset = 'quantity (date)', unit = 'стаг', ['property-module'] = 'Wikidata/number', ['property-function'] = 'formatPropertyWithMostRecentClaimAndIndicator' }, P1621 = { size = '300x300px', }, P1692 = { preset = 'link', }, P1705 = { datatype = 'monolingualtext', preset = 'name', }, P1753 = { rowArticle = true, }, P1809 = { preset = 'list', }, P1846 = { datatype = 'commonsMedia', fixdouble = true, }, P2031 = { preset = 'from-to', to = 'P2032', within = 'P570', }, P2043 = { datatype = 'quantity', preset = 'quantity (date)', }, P2044 = { datatype = 'quantity', }, P2046 = { datatype = 'quantity', preset = 'quantity (date)', siConversion = false, }, P2047 = { siConversion = false, }, P2048 = { conjunction = '&#32;или&#32;', }, P2060 = { siConversion = false, }, P2097 = { siConversion = false, }, P2120 = { siConversion = false, }, P2137 = { preset = 'quantity (date)', ['property-module'] = 'Wikidata/number', ['property-function'] = 'formatPropertyWithMostRecentClaimAndIndicator', countByThousands = true, }, P2139 = { preset = 'quantity (date)', ['property-module'] = 'Wikidata/number', ['property-function'] = 'formatPropertyWithMostRecentClaimAndIndicator', countByThousands = true, }, P2146 = { siConversion = false, }, P2214 = { siConversion = false }, P2226 = { preset = 'quantity (date)', ['property-module'] = 'Wikidata/number', ['property-function'] = 'formatPropertyWithMostRecentClaimAndIndicator', countByThousands = true, }, P2257 = { siConversion = false }, P2295 = { preset = 'quantity (date)', ['property-module'] = 'Wikidata/number', ['property-function'] = 'formatPropertyWithMostRecentClaimAndIndicator', countByThousands = true, }, P2324 = { datatype = 'quantity', preset = 'quantity (date)', unit = 'стаг' }, P2403 = { preset = 'quantity (date)', ['property-module'] = 'Wikidata/number', ['property-function'] = 'formatPropertyWithMostRecentClaimAndIndicator', countByThousands = true, }, P2425 = { alt = 'Орденан планкин сурт', }, P2583 = { siConversion = false, }, P2597 = { preset = 'catonly', }, P2650 = { datatype = 'wikibase-item', }, P2789 = { preset = 'list', }, P2896 = { siConversion = false, }, P2910 = { size = '100x80px', }, P3083 = { formatter = 'http://simbad.u-strasbg.fr/simbad/sim-id?Ident=$1', }, P3086 = { siConversion = false, }, P3362 = { preset = 'quantity (date)', ['property-module'] = 'Wikidata/number', ['property-function'] = 'formatPropertyWithMostRecentClaimAndIndicator', countByThousands = true, }, P4614 = { category = 'P1200', }, P5348 = { siConversion = false, }, P6257 = { ['value-module'] = 'Wikidata/number', ['value-function'] = 'formatRA', }, P6258 = { ['value-module'] = 'Wikidata/number', ['value-function'] = 'formatDMS', }, P6259 = { ['references'] = false, }, P7584 = { siConversion = false, }, P8010 = { datatype = 'quantity', preset = 'quantity (date)', unit = 'стаг', ['property-module'] = 'Wikidata/number', ['property-function'] = 'formatPropertyWithMostRecentClaimAndIndicator' }, P8224 = { alt = 'Молекуляран моделин сурт', }, }, categories = { ['links-to-entities-with-missing-label'] = 'Википеди:Викихаамаш чохь элементаш тӀе куьг доцу хьажоргаш йолу йаззамаш', ['links-to-entities-with-wikibase-error'] = 'Википеди:Викихаамаш лелош йолу скриптийн гӀалаташ долу агӀонаш', ['links-to-entities-with-missing-local-language-label'] = 'Википеди:Викихаамаш чохь элементаш тӀе нохчийн куьг доцу хьажоргаш йолу йаззамаш', ['media-contains-local-caption'] = 'Википеди:Викихаамашкара суьртан локалан куьг', ['media-contains-markup'] = 'Википеди:Суьртийн кепан вики-билгало йолу йаззамаш', ['media-contains-local-double'] = 'Википеди:Йаззман чохь а, кепан тӀехь а цхьатерра суьрташ долу йаззамаш', ['value-contains-table'] = 'Википеди:Кеп тӀехь таблицин диллар долу йаззамаш', }, errors = { ['property-param-not-provided'] = 'Башхаллин параметр ца йелла', ['entity-not-found'] = 'МаьӀна ца карийна.', ['unknown-claim-type'] = 'ДӀахьедаран тайпа ца девза.', ['unknown-snak-type'] = 'Снэкан тайпа ца девза.', ['unknown-datavalue-type'] = 'Хаамийн маьӀнин тайпа ца девза.', ['unknown-entity-type'] = 'МаьӀнийн тайпа ца девза.', ['unknown-property-module'] = 'Аша хӀотто йеза property-module а, property-function а.', ['unknown-claim-module'] = 'Аша хӀотто йеза claim-module а, claim-function а.', ['unknown-value-module'] = 'Аша хӀотто йеза value-module а, value-function а.', ['property-module-not-found'] = 'МаьӀна гойту модуль ца карийна', ['property-function-not-found'] = 'МаьӀна гойту функци ца карийна', ['claim-module-not-found'] = 'ЧӀагӀдар гойту модуль ца карийна.', ['claim-function-not-found'] = 'ЧӀагӀдар гойту функци ца карийна.', ['value-module-not-found'] = 'МаьӀна гойту модуль ца карийна.', ['value-function-not-found'] = 'МаьӀна гойту функци ца карийна.', }, i18n = { somevalue = "''хууш дац''", novalue = '', -- Хьостан хьал Q5727902 = 'гергга ', Q18122778 = '<span style="border-bottom: 1px dotted; cursor: help;" title="тарлун">тардол.</span> ', Q30230067 = 'тарло ', Q52834024 = '<span style="border-bottom: 1px dotted; cursor: help;" title="кӀезга">&lt;</span> ', Q54418095 = '<span style="border-bottom: 1px dotted; cursor: help;" title="сов">&gt;</span> ', thousandPowers = {'', ' эз.', ' млн', ' млрд', ' трлн'}, }, deprecatedSources = { Q36578 = true, -- Gemeinsame Normdatei Q63056 = true, -- Find a Grave Q212256 = true, -- АиФ Q523660 = true, -- International Music Score Library Project by https://ru.wikipedia.org/?diff=107090748 Q1798125 = true, -- LIBRIS Q15222191 = true, -- BNF Q15241312 = true, -- Freebase Q25328680 = true, -- Prabook Q29861311 = true, -- SNAC Q86999151 = true, -- WeChangEd }, }; 7vywkkc02bayvz6c99z65wwoevkea71 Module:Wikidata/citeold 828 3464 36679 2025-12-15T21:50:14Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "strict" local p = {} local Wikidata = require 'Module:WikidataOld' p.props = { accessdate = { 'P813' }, archivedate = { 'P2960' }, archiveurl = { 'P1065' }, author = { 'P50' }, date = { 'P577' }, editor = { 'P90' }, ilustration = { 'P110' }, lang = { 'P364', 'P407' }, pages = { 'P304' }, place = { 'P291' }, publisher = { 'P123' }, title = { 'P1476' }, type = { 'P31' }, url = { 'P854', 'P953' }, work = { 'P248' }, } loc...' 36679 Scribunto text/plain --require "strict" local p = {} local Wikidata = require 'Module:WikidataOld' p.props = { accessdate = { 'P813' }, archivedate = { 'P2960' }, archiveurl = { 'P1065' }, author = { 'P50' }, date = { 'P577' }, editor = { 'P90' }, ilustration = { 'P110' }, lang = { 'P364', 'P407' }, pages = { 'P304' }, place = { 'P291' }, publisher = { 'P123' }, title = { 'P1476' }, type = { 'P31' }, url = { 'P854', 'P953' }, work = { 'P248' }, } local function dataToContent(data) local content = {} if data.author then local authors = {} for _, snak in ipairs(data.author) do table.insert(authors, Wikidata.getDatavalue(snak, { link = 'wikipedia' })) end table.insert(content, table.concat(authors, ', ') .. ':') end if data.title then local title = Wikidata.getDatavalue(data.title[1], {}) if data.archiveurl then title = Wikidata.getDatavalue(data.archiveurl[1], { displayformat = 'weblink', showntext = '«' .. title .. '»' }) .. '.' elseif data.url then title = Wikidata.getDatavalue(data.url[1], { displayformat = 'weblink', showntext = '«' .. title .. '»' }) .. '.' elseif data.work then local function displayformat(snak, params) local id = snak.datavalue.value.id return '[[' .. (mw.wikibase.sitelink(id) or ('d:' .. id)) .. '|«' .. title .. '»]]' end title = Wikidata.getDatavalue(data.work[1], { displayformat = displayformat }) end table.insert(content, title) end if data.lang then local langs = {} local displayformat = function(snak, params) local id = snak.datavalue.value.id return mw.wikibase.label(id) end for _, lang in ipairs(data.lang) do table.insert(langs, Wikidata.getDatavalue(lang, { link = 'wikipedia' })) end table.insert(content, '(' .. table.concat(langs, ', ') .. ')') end if data.work and (not data.title or data.archiveurl or data.url) then local title = Wikidata.getDatavalue(data.work[1], { link = 'wikipedia' }) table.insert(content, mw.ustring.format("''%s''.", title)) end if data.publisher then local publishers = {} for _, snak in ipairs(data.publisher) do table.insert(publishers, Wikidata.getDatavalue(snak, { link = 'wikipedia' })) end table.insert(content, table.concat(publishers, ', ') .. '.') end if data.place then local places = {} for _, snak in ipairs(data.place) do table.insert(places, Wikidata.getDatavalue(snak, { link = 'wikipedia' })) end table.insert(content, table.concat(places, ', ') .. '.') end if data.date then local date = Wikidata.getDatavalue(data.date[1], { type = 'dateobject' }) .. '.' table.insert(content, date) end if not data.title and data.url then local url = Wikidata.getDatavalue(data.url[1], { displayformat = 'weblink' }) .. '.' table.insert(content, url) elseif data.external then local url = Wikidata.getDatavalue(data.external[1], { urlpattern = p._formatStatements{ id = data.external[1].property, property = 'P1630', displayformat = 'raw' } }) .. '.' table.insert(content, url) end if data.archivedate and data.url and data.archiveurl then local url = Wikidata.getDatavalue(data.url[1], { displayformat = 'weblink', showntext = 'το πρωτότυπο' }) local date = Wikidata.getDatavalue(data.archivedate[1], { type = 'dateobject' }) table.insert(content, mw.ustring.format('Αρχειοθετήθηκε από %s στις %s.', url, date)) end if data.accessdate then local date = Wikidata.getDatavalue(data.accessdate[1], { type = 'dateobject' }) table.insert(content, mw.ustring.format('Ανακτήθηκε στις %s.', date)) end return table.concat(content, ' ') end local function dataFromItem(id, data) local entity = mw.wikibase.getEntity(id) if entity and entity.claims then for key, props in pairs(p.props) do if not data[key] then data[key] = {} for _, prop in ipairs(props) do if entity.claims[prop] then for _, statement in ipairs(entity.claims[prop]) do if statement.mainsnak.snaktype == 'value' then table.insert(data[key], statement.mainsnak) end end end if #data[key] > 0 then break end end if #data[key] == 0 then data[key] = nil end end end end end function p.formatReferences(references, options) local frame = mw.getCurrentFrame() local valid_refs = {} local limit = tonumber(options.max_ref) for _, ref in ipairs(references) do local data = {} for key, props in pairs(p.props) do data[key] = {} for _, prop in ipairs(props) do if ref.snaks[prop] then for _, snak in ipairs(ref.snaks[prop]) do if snak.snaktype == 'value' then table.insert(data[key], snak) end end end if #data[key] > 0 then break end end if #data[key] == 0 then data[key] = nil end end for prop, snaks in pairs(ref.snaks) do if snaks[1].datatype == 'external-id' or prop == 'P627' then --fixme data.external = { snaks[1] } break end end if data.work then -- P248 local id = Wikidata.getRawvalue(data.work[1]) dataFromItem(id, data) end local ref_content = dataToContent(data) if ref_content ~= '' then table.insert(valid_refs, frame:extensionTag('ref', ref_content, { name = ref.hash })) end if limit and #valid_refs == limit then break end end return table.concat(valid_refs) end return p 263on7bl6v30n1eqlyklv7y9sd0jgkm Module:Wikidata/citetest 828 3465 36680 2025-12-15T21:51:02Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require 'strict' local p = {} local Wikidata = require 'Module:Wikidata' p.props = { accessdate = { 'P813' }, archivedate = { 'P2960' }, archiveurl = { 'P1065' }, author = { 'P50' }, date = { 'P577' }, editor = { 'P90' }, ilustration = { 'P110' }, lang = { 'P364', 'P407' }, pages = { 'P304' }, place = { 'P291' }, publisher = { 'P123' }, title = { 'P1476' }, type = { 'P31' }, url = { 'P854', 'P953' }, work = { 'P248' }, } local...' 36680 Scribunto text/plain --require 'strict' local p = {} local Wikidata = require 'Module:Wikidata' p.props = { accessdate = { 'P813' }, archivedate = { 'P2960' }, archiveurl = { 'P1065' }, author = { 'P50' }, date = { 'P577' }, editor = { 'P90' }, ilustration = { 'P110' }, lang = { 'P364', 'P407' }, pages = { 'P304' }, place = { 'P291' }, publisher = { 'P123' }, title = { 'P1476' }, type = { 'P31' }, url = { 'P854', 'P953' }, work = { 'P248' }, } local function dataToContent(data) local content = {} if data.author then local authors = {} for _, snak in ipairs(data.author) do table.insert(authors, Wikidata.getDatavalue(snak, { link = 'wikipedia' })) end table.insert(content, table.concat(authors, ', ') .. ':') end if data.title then local title = Wikidata.getDatavalue(data.title[1], {}) if data.archiveurl then title = Wikidata.getDatavalue(data.archiveurl[1], { displayformat = 'weblink', showntext = '«' .. title .. '»' }) .. '.' elseif data.url then title = Wikidata.getDatavalue(data.url[1], { displayformat = 'weblink', showntext = '«' .. title .. '»' }) .. '.' elseif data.work then local function displayformat(snak, params) local id = snak.datavalue.value.id return '[[' .. (mw.wikibase.sitelink(id) or ('d:' .. id)) .. '|«' .. title .. '»]]' end title = Wikidata.getDatavalue(data.work[1], { displayformat = displayformat }) end table.insert(content, title) end if data.lang then local langs = {} local displayformat = function(snak, params) local id = snak.datavalue.value.id return mw.wikibase.label(id) end for _, lang in ipairs(data.lang) do table.insert(langs, Wikidata.getDatavalue(lang, { link = 'wikipedia' })) end table.insert(content, '(' .. table.concat(langs, ', ') .. ')') end if data.work and (not data.title or data.archiveurl or data.url) then local title = Wikidata.getDatavalue(data.work[1], { link = 'wikipedia' }) table.insert(content, mw.ustring.format("''%s''.", title)) end if data.publisher then local publishers = {} for _, snak in ipairs(data.publisher) do table.insert(publishers, Wikidata.getDatavalue(snak, { link = 'wikipedia' })) end table.insert(content, table.concat(publishers, ', ') .. '.') end if data.place then local places = {} for _, snak in ipairs(data.place) do table.insert(places, Wikidata.getDatavalue(snak, { link = 'wikipedia' })) end table.insert(content, table.concat(places, ', ') .. '.') end if data.date then local date = Wikidata.getDatavalue(data.date[1], { type = 'dateobject' }) .. '.' table.insert(content, date) end if not data.title and data.url then local url = Wikidata.getDatavalue(data.url[1], { displayformat = 'weblink' }) .. '.' table.insert(content, url) elseif data.external then local url = Wikidata.getDatavalue(data.external[1], { urlpattern = p._formatStatements{ id = data.external[1].property, property = 'P1630', displayformat = 'raw' } }) .. '.' table.insert(content, url) end if data.archivedate and data.url and data.archiveurl then local url = Wikidata.getDatavalue(data.url[1], { displayformat = 'weblink', showntext = 'το πρωτότυπο' }) local date = Wikidata.getDatavalue(data.archivedate[1], { type = 'dateobject' }) table.insert(content, mw.ustring.format('Αρχειοθετήθηκε από %s στις %s.', url, date)) end if data.accessdate then local date = Wikidata.getDatavalue(data.accessdate[1], { type = 'dateobject' }) table.insert(content, mw.ustring.format('Ανακτήθηκε στις %s.', date)) end return table.concat(content, ' ') end local function dataFromItem(id, data) local entity = mw.wikibase.getEntity(id) if entity and entity.claims then for key, props in pairs(p.props) do if not data[key] then data[key] = {} for _, prop in ipairs(props) do if entity.claims[prop] then for _, statement in ipairs(entity.claims[prop]) do if statement.mainsnak.snaktype == 'value' then table.insert(data[key], statement.mainsnak) end end end if #data[key] > 0 then break end end if #data[key] == 0 then data[key] = nil end end end end end function p.formatReferences(references, options) local frame = mw.getCurrentFrame() local valid_refs = {} local limit = tonumber(options.max_ref) for _, ref in ipairs(references) do local data = {} for key, props in pairs(p.props) do data[key] = {} for _, prop in ipairs(props) do if ref.snaks[prop] then for _, snak in ipairs(ref.snaks[prop]) do if snak.snaktype == 'value' then table.insert(data[key], snak) end end end if #data[key] > 0 then break end end if #data[key] == 0 then data[key] = nil end end for prop, snaks in pairs(ref.snaks) do if snaks[1].datatype == 'external-id' or prop == 'P627' then --fixme data.external = { snaks[1] } break end end if data.work then -- P248 local id = Wikidata.getRawvalue(data.work[1]) dataFromItem(id, data) end local ref_content = dataToContent(data) if ref_content ~= '' then table.insert(valid_refs, frame:extensionTag('ref', ref_content, { name = ref.hash })) end if limit and #valid_refs == limit then break end end return table.concat(valid_refs) end return p 4sxqku2jqfbnnvomsuoeocnlrdqwcrd Module:NUMBEROF 828 3466 36681 2025-12-15T21:54:38Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local aliases = { wikidata = 'www.wikidata', meta = 'meta.wikimedia', commons = 'commons.wikimedia', foundation = 'foundation.wikimedia', wikimania = 'wikimania.wikimedia', wikitech = 'wikitech.wikimedia', } local function trimArg(arg, i) arg = mw.text.trim(arg or '') if arg == '' then if i then error('Parameter ' .. i .. ' is missing. See template documentation') end return nil end return mw.ustring.lower(arg) end local functi...' 36681 Scribunto text/plain local aliases = { wikidata = 'www.wikidata', meta = 'meta.wikimedia', commons = 'commons.wikimedia', foundation = 'foundation.wikimedia', wikimania = 'wikimania.wikimedia', wikitech = 'wikitech.wikimedia', } local function trimArg(arg, i) arg = mw.text.trim(arg or '') if arg == '' then if i then error('Parameter ' .. i .. ' is missing. See template documentation') end return nil end return mw.ustring.lower(arg) end local function getValue(stats, action, map) if action == 'depth' then -- https://meta.wikimedia.org/wiki/Wikipedia_article_depth -- This gives silly results if, for example, the number of articles is small. local n = { 'articles', 'edits', 'pages' } if map then for i, v in ipairs(n) do n[i] = map[v] end end for i, v in ipairs(n) do n[i] = stats[v] or 0 end local articles, edits, pages = n[1], n[2], n[3] if pages == 0 or articles == 0 then return 0 end return math.floor((edits/pages) * ((pages - articles)/articles)^2) end if map then action = map[action] end return stats[action] end local function getIfLocal(site, action) -- If wanted site is the local site where module is running, -- return numberof result for given action, or nil. -- This is faster than reading the cached table, and gives the current value. local localSite = string.match(mw.site.server, '.*//(.*)%.org$') -- examples: 'af.wikipedia', 'commons.wikimedia' if site == localSite then if action == 'activeusers' then action = 'activeUsers' end return getValue(mw.site.stats, action) end end local function main(frame) local metaWords = { active = true, closed = true, languages = true, } local args = frame:getParent().args local action = trimArg(args[1], 1) -- activeusers, admins, articles, edits, files, pages, users, depth, active, closed, languages if action:sub(1, 8) == 'numberof' then -- numberofX is an alias for X action = trimArg(action:sub(9), 1) end local wantMeta = metaWords[action] local site = trimArg(args[2], 2) site = aliases[site] or site if not wantMeta and not site:find('.', 1, true) then -- site is like "af" or "af.wikipedia" or "af.wikiquote" etc., including "total" site = site .. '.wikipedia' end local wantComma = trimArg(args[3]) -- nil for no commas in output; "N" or anything nonblank inserts commas local result if wantMeta then local data = mw.loadData('Module:NUMBEROF/meta') local nrActive = data.nrActive[site] local nrClosed = data.nrClosed[site] if nrActive or nrClosed then -- If either is set, site is valid but there may not be an entry for both active and closed. nrActive = nrActive or 0 nrClosed = nrClosed or 0 if action == 'active' then result = nrActive elseif action == 'closed' then result = nrClosed elseif action == 'languages' then result = nrActive + nrClosed end end else result = getIfLocal(site, action) if not result then local data = mw.loadData('Module:NUMBEROF/data') local map = data.map data = data.data result = data[site] if result then result = getValue(result, action, map) end end end if result then if wantComma then result = mw.language.getContentLanguage():formatNum(result) end return result -- number or formatted string end return -1 end local function rank(frame) -- Rank sites in a specified sister project by their number of articles. local args = frame:getParent().args local parm = trimArg(args[1], 1) -- a number like 12 or a site name like "af" (not "af.wikipedia") local base = trimArg(args[2]) or 'wikipedia' -- base of full site name like "wikipedia" or "wikiquote" local wantComma = trimArg(args[3]) local data = mw.loadData('Module:NUMBEROF/' .. (base == 'wikipedia' and 'rank' or 'other')) data = data[base] if data then local result parm = tonumber(parm) or parm if type(parm) == 'number' then result = data.rankByIndex[parm] else result = data.rankBySite[parm] if result and wantComma then result = mw.getContentLanguage():formatNum(result) end end if result then return result -- number or string end end return -1 end return { main = main, rank = rank, } b7kq2q6w2u9d3c5xfmmytwdls32ce7y Module:Citation/CS1/Configuration 828 3467 36682 2025-12-15T22:02:00Z Εὐθυμένης 2777 Καινούρεον σελίδαν με ' local citation_config = {}; -- override <code>...</code> styling to remove color, border, and padding. <code> css is specified here: -- https://git.wikimedia.org/blob/mediawiki%2Fcore.git/69cd73811f7aadd093050dbf20ed70ef0b42a713/skins%2Fcommon%2FcommonElements.css#L199 local code_style="color:inherit; border:inherit; padding:inherit;"; --[[--------------------------< U N C A T E G O R I Z E D _ N A M E S P A C E S >-----------------------------...' 36682 Scribunto text/plain local citation_config = {}; -- override <code>...</code> styling to remove color, border, and padding. <code> css is specified here: -- https://git.wikimedia.org/blob/mediawiki%2Fcore.git/69cd73811f7aadd093050dbf20ed70ef0b42a713/skins%2Fcommon%2FcommonElements.css#L199 local code_style="color:inherit; border:inherit; padding:inherit;"; --[[--------------------------< U N C A T E G O R I Z E D _ N A M E S P A C E S >------------------------------ List of namespaces that should not be included in citation error categories. Same as setting notracking = true by default Note: Namespace names should use underscores instead of spaces. ]] local uncategorized_namespaces = { 'Χρήστης', 'Συζήτηση', 'Συζήτηση_χρήστη', 'Συζήτηση_Βικιπαίδειας', 'Συζήτηση_αρχείο', 'Συζήτηση_προτύπου', 'Help_talk', 'Category_talk', 'Portal_talk', 'Book_talk', 'Education_Program_talk', 'Module_talk', 'MediaWiki_talk' }; local uncategorized_subpages = {'/[Ss]andbox', '/[Tt]estcases', '/[Ππ]ρόχειρο', '/[Αα]μμοδοχείο'}; -- list of Lua patterns found in page names of pages we should not categorize --[[--------------------------< M E S S A G E S >-------------------------------------------------------------- Translation table The following contains fixed text that may be output as part of a citation. This is separated from the main body to aid in future translations of this module. ]] local messages = { ['agency'] = '$1 $2', -- $1 is sepc, $2 is agency ['archived-dead'] = 'Αρχειοθετήθηκε $1 στις $2', ['archived-live'] = '$1 από το πρωτότυπο στις $2', ['archived-missing'] = 'Αρχειοθετήθηκε από το πρωτότυπο$1 στις $2', ['archived'] = 'Αρχειοθετήθηκε', ['by'] = 'By', -- contributions to authored works: introduction, foreword, afterword ['cartography'] = 'Χαρτογράφηση από $1', ['editor'] = 'επιμ.', ['editors'] = 'επιμ.', ['edition'] = '($1 έκδοση)', ['episode'] = 'Επεισόδιο $1', ['et al'] = 'και άλλοι.', ['in'] = 'Στο:', -- edited works ['inactive'] = 'inactive', ['inset'] = '$1 inset', ['interview'] = 'Συνέντευξη με $1', ['lay summary'] = 'Lay summary', ['newsgroup'] = '[[Usenet newsgroup|Newsgroup]]:&nbsp;$1', ['original'] = 'από το πρωτότυπο', ['published'] = ' (δημοσιεύτηκε $1)', ['retrieved'] = 'Ανακτήθηκε στις $1', ['season'] = 'Σεζόν $1', ['section'] = '§ $1', ['sections'] = '§§ $1', ['series'] = 'Series $1', ['translated'] = 'Μτφρ. $1', ['type'] = ' ($1)', -- for titletype ['written'] = 'Written at $1', ['vol'] = '$1 Vol.&nbsp;$2', -- $1 is sepc; bold journal style volume is in presentation{} ['vol-no'] = '$1 Vol.&nbsp;$2 no.&nbsp;$3', -- sepc, volume, issue ['issue'] = '$1 No.&nbsp;$2', -- $1 is sepc ['j-vol'] = '$1 $2', -- sepc, volume; bold journal volume is in presentation{} ['j-issue'] = ' ($1)', ['nopp'] = '$1 $2'; -- page(s) without prefix; $1 is sepc ['p-prefix'] = "$1 σελ.&nbsp;$2", -- $1 is sepc ['pp-prefix'] = "$1 σελίδες&nbsp;$2", -- $1 is sepc ['j-page(s)'] = ': $1', -- same for page and pages ['sheet'] = '$1 Sheet&nbsp;$2', -- $1 is sepc ['sheets'] = '$1 Sheets&nbsp;$2', -- $1 is sepc ['j-sheet'] = ': Sheet&nbsp;$1', ['j-sheets'] = ': Sheets&nbsp;$1', ['subscription'] = '<span style="font-size:90%; color:#555">(Απαιτείται συνδρομή (<span title="Ο ιστότοπος απαιτεί συνδρομή επί πληρωμή για πρόσβαση σε αυτή τη σελίδα." style="border-bottom:1px dotted;cursor:help">help</span>))</span>' .. '[[Κατηγορία:Σελίδες που περιλαμβάνουν συνδέσμους σε συνδρομητικό περιεχόμενο]]', ['registration']='<span style="font-size:90%; color:#555">(Απαιτείται εγγραφή (<span title="Ο ιστότοπος απαιτεί εγγραφή για πρόσβαση σε αυτή τη σελίδα." style="border-bottom:1px dotted;cursor:help">help</span>))</span>' .. '[[Κατηγορία:Σελίδες που περιλαμβάνουν πηγές ή παραπομπές με συνδέσμους σε σελίδες που απαιτούν εγγραφή]]', ['language'] = '(στα $1)', ['via'] = " &ndash; μέσω $1", ['event'] = 'Συμβαίνει στα', ['minutes'] = 'λεπτά σε', ['parameter-separator'] = ', ', ['parameter-final-separator'] = ' και ', ['parameter-pair-separator'] = ' και ', -- Determines the location of the help page ['help page link'] = 'Βοήθεια:Σφάλματα παραπομπών CS1', ['help page label'] = 'βοήθεια', -- Internal errors (should only occur if configuration is bad) ['undefined_error'] = 'Called with an undefined error condition', ['unknown_manual_ID'] = 'Unrecognized manual ID mode', ['unknown_ID_mode'] = 'Unrecognized ID mode', ['unknown_argument_map'] = 'Argument map not defined for this variable', ['bare_url_no_origin'] = 'Bare url found but origin indicator is nil or empty', } --[[--------------------------< P R E S E N T A T I O N >------------------------------------------------------ Fixed presentation markup. Originally part of citation_config.messages it has been moved into its own, more semantically correct place. ]] local presentation = { -- Error output -- .error class is specified at https://git.wikimedia.org/blob/mediawiki%2Fcore.git/9553bd02a5595da05c184f7521721fb1b79b3935/skins%2Fcommon%2Fshared.css#L538 -- .citation-comment class is specified at Help:CS1_errors#Controlling_error_message_display ['hidden-error'] = '<span style="display:none;font-size:100%" class="error citation-comment">$1</span>', ['visible-error'] = '<span style="font-size:100%" class="error citation-comment">$1</span>', ['accessdate'] = '<span class="reference-accessdate">$1$2</span>', -- to allow editors to hide accessdate using personal css ['bdi'] = '<bdi$1>$2</bdi>', -- bidirectional isolation used with |script-title= and the like ['cite'] = '<cite class="$1">$2</cite>'; -- |ref= not set so no id="..." attribute ['cite-id'] = '<cite id="$1" class="$2">$3</cite>'; -- for use when |ref= is set ['format'] = ' <span style="font-size:85%;">($1)</span>', -- for |format=, |chapter-format=, etc -- various access levels, for |access=, |doi-access=, |arxiv=, ... -- narrow no-break space &#8239; may work better than nowrap css. Or not? browser support? ['access-signal'] = '<span class="plainlinks">$1&#8239;$2</span>', -- external link with appropriate lock icon ['free'] = '[[File:Lock-green.svg|9px|link=|alt=Ελεύθερα προσβάσιμο|Ελεύθερα προσβάσιμο]]', ['registration'] = '[[File:Lock-blue-alt-2.svg|9px|link=|alt=Απαιτείται δωρεάν εγγραφή|Απαιτείται δωρεάν εγγραφή]]', ['limited'] = '[[File:Lock-gray-alt-2.svg|9px|link=|alt=Δωρεάν πρόσβαση υπoκείμενη σε περιορισμένη δοκιμή, συνήθως απαιτείται συνδρομή|Δωρεάν πρόσβαση υπoκείμενη σε περιορισμένη δοκιμή, συνήθως απαιτείται συνδρομή]]', ['subscription'] = '[[File:Lock-red-alt-2.svg|9px|link=|alt=Απαιτείται συνδρομή επί πληρωμή|Απαιτείται συνδρομή επί πληρωμή]]', ['italic-title'] = "''$1''", ['kern-left'] = '<span style="padding-left:0.2em;">$1</span>$2', -- spacing to use when title contains leading single or double quote mark ['kern-right'] = '$1<span style="padding-right:0.2em;">$2</span>', -- spacing to use when title contains trailing single or double quote mark -- these for simple wikilinked titles [["text]], [[text"]] and [["text"]] -- span wraps entire wikilink ['kern-wl-left'] = '<span style="padding-left:0.2em;">$1</span>', -- when title contains leading single or double quote mark ['kern-wl-right'] = '<span style="padding-right:0.2em;">$1</span>', -- when title contains trailing single or double quote mark ['kern-wl-both'] = '<span style="padding-left:0.2em;padding-right:0.2em;">$1</span>', -- when title contains leading and trailing single or double quote marks ['nowrap1'] = '<span class="nowrap">$1</span>', -- for nowrapping an item: <span ...>yyyy-mm-dd</span> ['nowrap2'] = '<span class="nowrap">$1</span> $2', -- for nowrapping portions of an item: <span ...>dd mmmm</span> yyyy (note white space) ['ocins'] = '<span title="$1" class="Z3988"><span style="display:none;">&nbsp;</span></span>', -- Note: Using display: none on the COinS span breaks some clients ['parameter'] = '<code style="'..code_style..'">&#124;$1=</code>', ['ps_cs1'] = '.'; -- cs1 style postscript (terminal) character ['ps_cs2'] = ''; -- cs2 style postscript (terminal) character (empty string) ['quoted-text'] = '<q>$1</q>', -- for wrapping |quote= content ['quoted-title'] = '«$1»', ['sep_cs1'] = '.', -- cs1 element separator ['sep_cs2'] = ',', -- cs2 separator ['sep_nl'] = '·', -- cs1|2 style name-list separator between authors is a semicolon ['sep_name'] = ', ', -- cs1|2 style last/first separator is <comma><space> ['sep_nl_vanc'] = ',', -- Vancouver style name-list separator between authors is a comma ['sep_name_vanc'] = ' ', -- Vancouver style last/first separator is a space ['trans-italic-title'] = "&#91;''$1''&#93;", ['trans-quoted-title'] = "&#91;$1&#93;", ['vol-bold'] = '$1 <b>$2</b>', -- sepc, volume; for bold journal cites; for other cites ['vol'] in messages{} } --[[--------------------------< A L I A S E S >---------------------------------------------------------------- Aliases table for commonly passed parameters ]] local aliases = { ['AccessDate'] = {'access-date', 'accessdate'}, ['Agency'] = 'agency', ['AirDate'] = {'air-date', 'airdate'}, ['ArchiveDate'] = {'archive-date', 'archivedate'}, ['ArchiveFormat'] = 'archive-format', ['ArchiveURL'] = {'archive-url', 'archiveurl'}, ['ASINTLD'] = {'ASIN-TLD', 'asin-tld'}, ['At'] = 'at', ['Authors'] = {'authors', 'people', 'host', 'credits', 'συγγραφείς'}, ['BookTitle'] = {'book-title', 'booktitle'}, ['Cartography'] = 'cartography', ['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section', 'κεφάλαιο', 'άρθρο', 'λήμμα'}, ['ChapterFormat'] = {'chapter-format', 'contribution-format', 'entry-format', 'article-format', 'section-format'}; ['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'entry-url', 'article-url', 'section-url', 'sectionurl'}, ['ChapterUrlAccess'] = {'chapter-url-access', 'contribution-url-access', 'entry-url-access', 'article-url-access', 'section-url-access'}, ['Class'] = 'class', -- cite arxiv and arxiv identifiers ['Collaboration'] = 'collaboration', ['Conference'] = {'conference', 'event'}, ['ConferenceFormat'] = {'conference-format', 'event-format'}, ['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl'}, ['Contribution'] = 'contribution', -- introduction, foreword, afterword, etc; required when |contributor= set ['Date'] = {'date', 'ημερομηνία'}, -- ['DeadURL'] = {'dead-url', 'deadurl'}, ['Degree'] = 'degree', ['DF'] = 'df', ['DisplayAuthors'] = {'display-authors', 'displayauthors'}, ['DisplayEditors'] = {'display-editors', 'displayeditors'}, ['Docket'] = 'docket', ['DoiBroken'] = {'doi-broken', 'doi-broken-date', 'doi-inactive-date'}, ['Edition'] = {'edition', 'Edition', 'έκδοση'}, ['Editors'] = {'editors', 'επιμελητές'}, ['Embargo'] = 'embargo', ['Encyclopedia'] = {'encyclopedia', 'encyclopaedia', 'εγκυκλοπαίδεια'}, -- this one only used by citation ['Episode'] = 'episode', -- cite serial only TODO: make available to cite episode? ['Format'] = 'format', ['ID'] = {'id', 'ID'}, ['IgnoreISBN'] = {'ignore-isbn-error', 'ignoreisbnerror'}, ['Inset'] = 'inset', ['Issue'] = {'issue', 'number', 'τεύχος'}, ['Interviewers'] = 'interviewers', ['Language'] = {'language', 'in', 'γλώσσα'}, ['LastAuthorAmp'] = {'last-author-amp', 'lastauthoramp'}, ['LayDate'] = {'lay-date', 'laydate'}, ['LayFormat'] = 'lay-format', ['LaySource'] = {'lay-source', 'laysource'}, ['LayURL'] = {'lay-url', 'lay-summary', 'layurl', 'laysummary'}, ['MailingList'] = {'mailinglist', 'mailing-list'}, -- cite mailing list only ['Map'] = 'map', -- cite map only ['MapFormat'] = 'map-format', -- cite map only ['MapURL'] = {'mapurl', 'map-url'}, -- cite map only ['MessageID'] = 'message-id', ['Minutes'] = 'minutes', ['Mode'] = 'mode', ['NameListFormat'] = 'name-list-format', ['Network'] = 'network', ['NoPP'] = {'no-pp', 'nopp'}, ['NoTracking'] = {'template-doc-demo', 'no-cat', 'nocat', 'no-tracking', 'notracking'}, ['Number'] = 'number', -- this case only for cite techreport ['OrigYear'] = {'orig-year', 'origyear', 'πρώτη-έκδοση'}, ['Others'] = {'others', 'interviewer', 'interviewers', 'λοιποί', 'λοιπά'}, ['Page'] = {'p', 'page', 'σ', 'σελίδα'}, ['Pages'] = {'pp', 'pages', 'σσ', 'σελίδες'}, ['Periodical'] = {'journal', 'newspaper', 'magazine', 'work', 'website', 'periodical', 'encyclopedia', 'encyclopaedia', 'dictionary', 'mailinglist', 'περιοδικό', 'εγκυκλοπαίδεια', 'επιθεώρηση', 'λεξικό', 'εφημερίδα', 'ιστοχώρος'}, ['Place'] = {'place', 'location','τόπος'}, ['PostScript'] = 'postscript', ['PublicationDate'] = {'publicationdate', 'publication-date'}, ['PublicationPlace'] = {'publication-place', 'publicationplace', 'τόπος-έκδοσης'}, ['PublisherName'] = {'publisher', 'distributor', 'institution', 'newsgroup', 'εκδότης'}, ['Quote'] = {'quote', 'quotation', 'απόσπασμα'}, ['Ref'] = 'ref', ['RegistrationRequired'] = 'registration', ['Scale'] = 'scale', ['ScriptChapter'] = 'script-chapter', ['ScriptTitle'] = 'script-title', ['Section'] = 'section', ['Season'] = 'season', ['Sections'] = 'sections', -- cite map only ['Series'] = {'series', 'version', 'σειρά'}, ['SeriesSeparator'] = 'series-separator', ['SeriesLink'] = {'series-link', 'serieslink'}, ['SeriesNumber'] = {'series-number', 'series-no', 'seriesnumber', 'seriesno'}, ['Sheet'] = 'sheet', -- cite map only ['Sheets'] = 'sheets', -- cite map only ['Station'] = 'station', ['SubscriptionRequired'] = 'subscription', ['Time'] = 'time', ['TimeCaption'] = {'time-caption', 'timecaption'}, ['Title'] = {'title', 'τίτλος'}, ['TitleLink'] = {'title-link', 'episode-link', 'titlelink', 'episodelink'}, ['TitleNote'] = 'department', ['TitleType'] = {'type', 'medium'}, ['TransChapter'] = 'trans-chapter', ['TransMap'] = 'trans-map', -- cite map only ['Transcript'] = 'transcript', ['TranscriptFormat'] = 'transcript-format', ['TranscriptURL'] = {'transcript-url', 'transcripturl'}, ['TransTitle'] = {'trans-title', 'trans_title'}, ['URL'] = {'url', 'URL'}, ['UrlAccess'] = {'url-access'}, ['UrlStatus'] = {'url-status', 'dead-url', 'deadurl'}, -- TODO: remove 'dead-url', 'deadurl' ['Vauthors'] = 'vauthors', ['Veditors'] = 'veditors', ['Via'] = 'via', ['Volume'] = {'volume', 'τόμος'}, ['Year'] = {'year', 'έτος'}, ['AuthorList-First'] = {"first#", "given#", "author-first#", "author#-first", "όνομα#"}, ['AuthorList-Last'] = {"last#", "author#", "surname#", "author-last#", "author#-last", "subject#", "επώνυμο#", "συγγραφέας#"}, ['AuthorList-Link'] = {"authorlink#", "author-link#", "author#-link", "subjectlink#", "author#link", "subject-link#", "subject#-link", "subject#link", "λήμμα-συγγραφέα#"}, ['AuthorList-Mask'] = {"author-mask#", "authormask#", "author#mask", "author#-mask"}, ['ContributorList-First'] = {'contributor-first#', 'contributor#-first', 'contributor-given#', 'contributor#-given'}, ['ContributorList-Last'] = {'contributor#', 'contributor-last#', 'contributor#-last', 'contributor-surname#', 'contributor#-surname'}, ['ContributorList-Link'] = {'contributor-link#', 'contributor#-link'}, ['ContributorList-Mask'] = {'contributor-mask#', 'contributor#-mask'}, ['EditorList-First'] = {"editor-first#", "editor#-first", "editor-given#", "editor#-given", "όνομα-επιμελητή#"}, ['EditorList-Last'] = {"editor#", "editor-last#", "editor#-last", "editor-surname#", "editor#-surname", "επιμελητής#", "επώνυμο-επιμελητή#"}, ['EditorList-Link'] = {"editor-link#", "editor#-link", "editorlink#", "editor#link", "λήμμα-επιμελητή#"}, ['EditorList-Mask'] = {"editor-mask#", "editor#-mask", "editormask#", "editor#mask"}, ['InterviewerList-First'] = {'interviewer-first#', 'interviewer#-first'}, ['InterviewerList-Last'] = {'interviewer#', 'interviewer-last#', 'interviewer#-last'}, ['InterviewerList-Link'] = {'interviewer-link#', 'interviewer#-link'}, ['InterviewerList-Mask'] = {'interviewer-mask#', 'interviewer#-mask'}, ['TranslatorList-First'] = {'translator-first#', 'translator#-first', 'translator-given#', 'translator#-given', 'όνομα-μεταφραστή#'}, ['TranslatorList-Last'] = {'translator#', 'translator-last#', 'translator#-last', 'translator-surname#', 'translator#-surname', 'μεταφραστής#', 'επώνυμο-μεταφραστή#'}, ['TranslatorList-Link'] = {'translator-link#', 'translator#-link', 'λήμμα-μεταφραστή#'}, ['TranslatorList-Mask'] = {'translator-mask#', 'translator#-mask'}, } --[[--------------------------< S P E C I A L C A S E T R A N S L A T I O N S >---------------------------- This table is primarily here to support internationalization. Translations in this table are used, for example, when an error message, category name, etc is extracted from the English alias key. There may be other cases where this translation table may be useful. ]] local special_case_translation = { ['AuthorList'] = "authors list", -- these for multiple names maint categories ['ContributorList'] = "contributors list", ['EditorList'] = "editors list", ['InterviewerList'] = "interviewers list", ['TranslatorList'] = "translators list", ['authors'] = "authors", -- used in get_display_authors_editors() ['editors'] = "editors", } --[[--------------------------< D E F A U L T S >-------------------------------------------------------------- Default parameter values TODO: keep this? Only one default? ]] local defaults = { ['UrlStatus'] = 'dead', } --[[--------------------------< D A T E _ N A M E S >---------------------------------------------------------- This table of tables lists local language date names and fallback English date names. The code in Date_validation will look first in the local table for valid date names. If date names are not found in the local table, the code will look in the English table. Because citations can be copied to the local wiki from en.wiki, the English is required when the date-name translation function date_name_xlate() is used. In these tables, season numbering is defined by ISO DIS 8601:2016 part 2 §4.7 'Divisions of a year'. The standard defines various divisions using numbers 21-41. cs1|2 only supports generic seasons. ISO DIS 8601:2016 does support the distinction between north and south hemispere seasons but cs1|2 has no way to make that distinction. The standard does not address 'named' dates so, for the purposes of cs1|2, Christmas is defined here as 99, which should be out of the ISO DIS 8601:2016 range of uses for a while. ]] local date_names = { ['en'] = { -- English ['long'] = {['January']=1, ['February']=2, ['March']=3, ['April']=4, ['May']=5, ['June']=6, ['July']=7, ['August']=8, ['September']=9, ['October']=10, ['November']=11, ['December']=12}; ['short'] = {['Jan']=1, ['Feb']=2, ['Mar']=3, ['Apr']=4, ['May']=5, ['Jun']=6, ['Jul']=7, ['Aug']=8, ['Sep']=9, ['Oct']=10, ['Nov']=11, ['Dec']=12}; ['season'] = {['Winter']=24, ['Spring']=21, ['Summer']=22, ['Fall']=23, ['Autumn']=23}; ['named'] = {['Christmas']=99}; }, ['local'] = { -- replace these English date names with the local language equivalents ['long'] = {['Ιανουάριος']=1, ['Φεβρουάριος']=2, ['Μάρτιος']=3, ['Απρίλιος']=4, ['Μάιος']=5, ['Ιούνιος']=6, ['Ιούλιος']=7, ['Αύγουστος']=8, ['Σεπτέμβριος']=9, ['Οκτώβριος']=10, ['Νοέμβριος']=11, ['Δεκέμβριος']=12, ['Ιανουαρίου']=1, ['Φεβρουαρίου']=2, ['Μαρτίου']=3, ['Απριλίου']=4, ['Μαΐου']=5, ['Ιουνίου']=6, ['Ιουλίου']=7, ['Αυγούστου']=8, ['Σεπτεμβρίου']=9, ['Οκτωβρίου']=10, ['Νοεμβρίου']=11, ['Δεκεμβρίου']=12}; ['short'] = {['Ιαν.']=1, ['Φεβ.']=2, ['Μαρ.']=3, ['Απρ.']=4, ['Μαϊ.']=5, ['Ιουν.']=6, ['Ιουλ.']=7, ['Αυγ.']=8, ['Σεπ.']=9, ['Οκτ.']=10, ['Νοε.']=11, ['Δεκ.']=12}; ['season'] = {['Χειμώνας']=24, ['Άνοιξη']=21, ['Καλοκαίρι']=22, ['Φθινόπωρο']=23}; ['named'] = {['Χριστούγεννα']=99}; }, ['local_digits'] = {['0'] = '0', ['1'] = '1', ['2'] = '2', ['3'] = '3', ['4'] = '4', ['5'] = '5', ['6'] = '6', ['7'] = '7', ['8'] = '8', ['9'] = '9'}; -- used to convert local language digits to Western 0-9 ['xlate_digits'] = {}; } for ld, ed in pairs (date_names.local_digits) do -- make a digit translation table for simple date translation from en to local language using local_digits table date_names.xlate_digits [ed] = ld; -- en digit becomes index with local digit as the value end --[[--------------------------< V O L U M E , I S S U E , P A G E S >---------------------------------------- These tables hold cite class values (from the template invocation) and identify those templates that support |volume=, |issue=, and |page(s)= parameters. Cite conference and cite map require further qualification which is handled in the main module. ]] local templates_using_volume = {'citation', 'audio-visual', 'book', 'conference', 'encyclopaedia', 'interview', 'journal', 'magazine', 'map', 'news', 'report', 'techreport', 'thesis'} local templates_using_issue = {'citation', 'conference', 'episode', 'interview', 'journal', 'magazine', 'map', 'news'} local templates_not_using_page = {'audio-visual', 'episode', 'mailinglist', 'newsgroup', 'podcast', 'serial', 'sign', 'speech'} --[[--------------------------< K E Y W O R D S >-------------------------------------------------------------- This table holds keywords for those parameters that have defined sets of acceptible keywords. ]] local keywords = { ['yes_true_y'] = {'yes', 'true', 'y'}, -- ignore-isbn-error, last-author-amp, no-tracking, nopp, registration, subscription -- ['deadurl'] = {'yes', 'true', 'y', 'no', 'unfit', 'usurped', 'unfit no archive', 'usurped no archive'}, -- hidden 2016-04-10; see Help_talk:Citation_Style_1#Recycled_urls ['deadurl'] = {'yes', 'true', 'y', 'no', 'unfit', 'usurped', 'bot: unknown'}, ['mode'] = {'cs1', 'cs2', 'mla'}, ['name-list-format'] = {'vanc'}, ['contribution'] = {'afterword', 'foreword', 'introduction', 'preface'}, -- generic contribution titles that are rendered unquoted in the 'chapter' position ['date-format'] = {'dmy', 'dmy-all', 'mdy', 'mdy-all', 'ymd', 'ymd-all'}, ['url-access'] = {'subscription', 'limited', 'registration'}, -- access level of a URL (subscription required, limited access, free registration required), free to read by default ['url-status'] = {'dead', 'live', 'unfit', 'usurped', 'bot: unknown'}, -- replacement for |dead-url= ['id-access'] = {'free'}, -- access level of an identifier (free to read), subscription required (or no full text) by default } --[[--------------------------< S T R I P M A R K E R S >------------------------------------------------------ Common pattern definition location for stripmarkers so that we don't have to go hunting for them if (when) MediaWiki changes their form. ]] local stripmarkers = { ['any'] = '\127[^\127]*UNIQ%-%-(%a+)%-[%a%d]+%-QINU[^\127]*\127', -- capture returns name of stripmarker ['math'] = '\127[^\127]*UNIQ%-%-math%-[%a%d]+%-QINU[^\127]*\127' -- math stripmarkers used in coins_cleanup() and coins_replace_math_stripmarker() } --[[--------------------------< I N V I S I B L E _ C H A R A C T E R S >-------------------------------------- This table holds non-printing or invisible characters indexed either by name or by Unicode group. Values are decimal representations of UTF-8 codes. The table is organized as a table of tables because the lua pairs keyword returns table data in an arbitrary order. Here, we want to process the table from top to bottom because the entries at the top of the table are also found in the ranges specified by the entries at the bottom of the table. This list contains patterns for templates like {{'}} which isn't an error but transcludes characters that are invisible. These kinds of patterns must be recognized by the functions that use this list. Also here is a pattern that recognizes stripmarkers that begin and end with the delete characters. The nowiki stripmarker is not an error but some others are because the parameter values that include them become part of the template's metadata before stripmarker replacement. ]] local invisible_chars = { {'replacement', '\239\191\189'}, -- U+FFFD, EF BF BD {'zero width joiner', '\226\128\141'}, -- U+200D, E2 80 8D {'zero width space', '\226\128\139'}, -- U+200B, E2 80 8B {'hair space', '\226\128\138'}, -- U+200A, E2 80 8A {'soft hyphen', '\194\173'}, -- U+00AD, C2 AD {'horizontal tab', '\009'}, -- U+0009 (HT), 09 {'line feed', '\010'}, -- U+000A (LF), 0A {'carriage return', '\013'}, -- U+000D (CR), 0D {'stripmarker', stripmarkers.any}, -- stripmarker; may or may not be an error; capture returns the stripmaker type {'delete', '\127'}, -- U+007F (DEL), 7F; must be done after stripmarker test {'C0 control', '[\000-\008\011\012\014-\031]'}, -- U+0000–U+001F (NULL–US), 00–1F (except HT, LF, CR (09, 0A, 0D)) {'C1 control', '[\194\128-\194\159]'}, -- U+0080–U+009F (XXX–APC), C2 80 – C2 9F -- {'Specials', '[\239\191\185-\239\191\191]'}, -- U+FFF9-U+FFFF, EF BF B9 – EF BF BF -- {'Private use area', '[\238\128\128-\239\163\191]'}, -- U+E000–U+F8FF, EE 80 80 – EF A3 BF -- {'Supplementary Private Use Area-A', '[\243\176\128\128-\243\191\191\189]'}, -- U+F0000–U+FFFFD, F3 B0 80 80 – F3 BF BF BD -- {'Supplementary Private Use Area-B', '[\244\128\128\128-\244\143\191\189]'}, -- U+100000–U+10FFFD, F4 80 80 80 – F4 8F BF BD } -- Indic script makes use of zero width joiner as a character modifier so zwj characters must be left in. This -- pattern covers all of the unicode characters for these languages: -- Devanagari 0900–097F – https://unicode.org/charts/PDF/U0900.pdf -- Devanagari extended A8E0–A8FF – https://unicode.org/charts/PDF/UA8E0.pdf -- Bengali 0980–09FF – https://unicode.org/charts/PDF/U0980.pdf -- Gurmukhi 0A00–0A7F – https://unicode.org/charts/PDF/U0A00.pdf -- Gujarati 0A80–0AFF – https://unicode.org/charts/PDF/U0A80.pdf -- Oriya 0B00–0B7F – https://unicode.org/charts/PDF/U0B00.pdf -- Tamil 0B80–0BFF – https://unicode.org/charts/PDF/U0B80.pdf -- Telugu 0C00–0C7F – https://unicode.org/charts/PDF/U0C00.pdf -- Kannada 0C80–0CFF – https://unicode.org/charts/PDF/U0C80.pdf -- Malayalam 0D00–0D7F – https://unicode.org/charts/PDF/U0D00.pdf -- plus the not-necessarily Indic scripts for Sinhala and Burmese: -- Sinhala 0D80-0DFF - https://unicode.org/charts/PDF/U0D80.pdf -- Myanmar 1000-109F - https://unicode.org/charts/PDF/U1000.pdf -- Myanmar extended A AA60-AA7F - https://unicode.org/charts/PDF/UAA60.pdf -- Myanmar extended B A9E0-A9FF - https://unicode.org/charts/PDF/UA9E0.pdf -- the pattern is used by has_invisible_chars() and coins_cleanup() -- TODO: find a better place for this? local indic_script = '[\224\164\128-\224\181\191\224\163\160-\224\183\191\225\128\128-\225\130\159\234\167\160-\234\167\191\234\169\160-\234\169\191]'; --[[--------------------------< L A N G U A G E S >------------------------------------------------------------ This table is used to hold ISO 639-1 two-character language codes that apply only to |script-title= and |script-chapter= ]] local script_lang_codes = { 'am', 'ar', 'be', 'bg', 'bn', 'bs', 'dv', 'el', 'fa', -- ISO 639-1 codes only for |script-title= and |script-chapter= 'gu', 'he', 'hy', 'ja', 'ka', 'kn', 'ko', 'ku', 'mk', 'ml', 'mn', 'mr', 'my', 'ps', 'ru', 'sd', 'sr', 'tg', 'th', 'uk', 'ug', 'ur', 'yi', 'zh' }; --[[--------------------------< L A N G U A G E R E M A P P I N G >------------------------------------------ These tables hold language information that is different (correct) from MediaWiki's definitions ]] local lang_code_remap = { -- used for |language= and |script-title= / |script-chapter= ['bh'] = 'Μπιχάρι', -- MediaWiki uses 'bh' as a subdomain name for Bhojpuri wWikipedia: bh.wikipedia.org ['cnr'] = 'Μαυροβουνιακά', -- 'new' 639 code that MediaWiki does not yet understand } local lang_name_remap = { -- used for |language= ['bihari'] = {'Μπιχάρι', 'bh'}, -- MediaWiki replaces 'Bihari' with 'Bhojpuri' so 'Bihari' cannot be found ['bhojpuri'] = {'Bhojpuri', 'bho'}, -- MediaWiki uses 'bh' as a subdomain name for Bhojpuri wWikipedia: bh.wikipedia.org ['montenegrin'] = {'Μαυροβουνιακά', 'cnr'}, -- 'new' 639 code that MediaWiki does not yet understand } --[[--------------------------< M A I N T E N A N C E _ C A T E G O R I E S >---------------------------------- Here we name maintenance categories to be used in maintenance messages. ]] local maint_cats = { ['ASIN'] = 'CS1 maint: ASIN uses ISBN', ['authors'] = 'CS1 maint: Uses authors parameter', ['bot:_unknown'] = 'CS1 maint: BOT: original-url status unknown', ['date_format'] = 'CS1 maint: Μορφή ημερομηνίας', ['date_year'] = 'CS1 maint: Ημερομηνία και έτος', ['disp_auth_ed'] = 'CS1 maint: display-$1', -- $1 is authors or editors; gets value from special_case_translation table ['editors'] = 'CS1 maint: Uses editors parameter', ['embargo'] = 'CS1 maint: PMC embargo expired', ['english'] = 'CS1 maint: English language specified', ['etal'] = 'CS1 maint: Explicit use of et al.', ['extra_text'] = 'CS1 maint: Extra text', ['extra_text_names'] = 'CS1 maint: Extra text: $1', -- $1 is <name>s list; gets value from special_case_translation table ['ignore_isbn_err'] = 'CS1 maint: Ignored ISBN errors', ['interviewers'] = 'CS1 maint: Uses interviewers parameter', ['missing_pipe'] = 'CS1 maint: Missing pipe', ['mult_names'] = 'CS1 maint: Πολλαπλές ονομασίες: $1', -- $1 is <name>s list; gets value from special_case_translation table ['pmc_format'] = 'CS1 maint: PMC format', ['unfit'] = 'CS1 maint: Unfit url', ['unknown_lang'] = 'CS1 maint: Μη αναγνωρίσιμη γλώσσα', ['untitled'] = 'CS1 maint: Untitled periodical', } --[[--------------------------< P R O P E R T I E S _ C A T E G O R I E S >------------------------------------ Here we name properties categories ]] local prop_cats = { ['foreign_lang_source'] = 'Σελίδες με πηγές CS1 στα $1 ($2)', -- |language= categories; $1 is language name, $2 is ISO639-1 code ['foreign_lang_source_2'] = 'CS1 foreign language sources (ISO 639-2)|$1', -- |language= category; a cat for ISO639-2 languages; $1 is the ISO 639-2 code ['script'] = 'CS1 uses foreign language script', -- when language specified by |script-title=xx: doesn't have its own category ['script_with_name'] = 'CS1 uses $1-language script ($2)', -- |script-title=xx: has matching category; $1 is language name, $2 is ISO639-1 code ['jul_greg_uncertainty'] = 'CS1: Julian–Gregorian uncertainty', -- probably temporary cat to identify scope of template with dates 1 October 1582 – 1 January 1926 } --[[--------------------------< T I T L E _ T Y P E S >-------------------------------------------------------- Here we map a template's CitationClass to TitleType (default values for |type= parameter) ]] local title_types = { ['AV-media-notes'] = 'Σημειώσεις πολυμέσου', ['interview'] = 'Συνέντευξη', ['mailinglist'] = 'Mailing list', ['map'] = 'Χάρτης', ['podcast'] = 'Podcast', ['pressrelease'] = 'Δελτίο Τύπου', ['report'] = 'Έκθεση', ['techreport'] = 'Τεχνική αναφορά', ['thesis'] = 'Διδακτορική διατριβή', } --[[--------------------------< E R R O R _ C O N D I T I O N S >---------------------------------------------- Error condition table The following contains a list of IDs for various error conditions defined in the code. For each ID, we specify a text message to display, an error category to include, and whether the error message should be wrapped as a hidden comment. Anchor changes require identical changes to matching anchor in Help:CS1 errors ]] local error_conditions = { accessdate_missing_url = { message = '<code style="'..code_style..'">Η παράμετρος &#124;access-date=</code> χρειάζεται <code style="'..code_style..'">&#124;url=</code>', anchor = 'accessdate_missing_url', category = 'Σελίδες που περιέχουν παραπομπές με accessdate χωρίς URL', hidden = false }, archive_missing_date = { message = '<code style="'..code_style..'">&#124;archive-url=</code> requires <code style="'..code_style..'">&#124;archive-date=</code>', anchor = 'archive_missing_date', category = 'Pages with archiveurl citation errors', hidden = false }, archive_missing_url = { message = '<code style="'..code_style..'">&#124;archive-url=</code> requires <code style="'..code_style..'">&#124;url=</code>', anchor = 'archive_missing_url', category = 'Pages with archiveurl citation errors', hidden = false }, archive_url = { message = '<code style="'..code_style..'">&#124;archive-url=</code> is malformed: $1', anchor = 'archive_url', category = 'Pages with archiveurl citation errors', hidden = false }, arxiv_missing = { message = '<code style="'..code_style..'">&#124;arxiv=</code> required', anchor = 'arxiv_missing', category = ' Σφάλματα CS1: arXiv', -- same as bad arxiv hidden = false }, arxiv_params_not_supported = { message = 'Unsupported parameter(s) in cite arXiv', anchor = 'arxiv_params_not_supported', category = ' Σφάλματα CS1: arXiv', -- same as bad arxiv hidden = false }, bad_arxiv = { message = 'Check <code style="'..code_style..'">&#124;arxiv=</code> value', anchor = 'bad_arxiv', category = ' Σφάλματα CS1: arXiv', hidden = false }, bad_asin = { message = 'Check <code style="'..code_style..'">&#124;asin=</code> value', anchor = 'bad_asin', category =' Σφάλματα CS1: ASIN', hidden = false }, bad_bibcode = { message = 'Check <code style="'..code_style..'">&#124;bibcode=</code> $1', anchor = 'bad_bibcode', category = ' Σφάλματα CS1: bibcode', hidden = false }, bad_biorxiv = { message = 'Check <code style="'..code_style..'">&#124;biorxiv=</code> value', anchor = 'bad_biorxiv', category = ' Σφάλματα CS1: bioRxiv', hidden = false }, bad_citeseerx = { message = 'Check <code style="'..code_style..'">&#124;citeseerx=</code> value', anchor = 'bad_citeseerx', category = ' Σφάλματα CS1: citeseerx', hidden = false }, bad_date = { message = 'Ελέγξτε τις τιμές ημερομηνίας στο: <code style="'..code_style..'">$1</code>', anchor = 'bad_date', category = 'Σφάλματα CS1: ημερομηνίες', hidden = false }, bad_doi = { message = 'Check <code style="'..code_style..'">&#124;doi=</code> value', anchor = 'bad_doi', category = ' Σφάλματα CS1: DOI', hidden = false }, bad_hdl = { message = 'Check <code style="'..code_style..'">&#124;hdl=</code> value', anchor = 'bad_hdl', category = ' Σφάλματα CS1: HDL', hidden = false }, bad_isbn = { message = 'Check <code style="'..code_style..'">&#124;isbn=</code> value: $1', anchor = 'bad_isbn', category = ' Σφάλματα CS1: ISBN', hidden = false }, bad_ismn = { message = 'Check <code style="'..code_style..'">&#124;ismn=</code> value', anchor = 'bad_ismn', category = ' Σφάλματα CS1: ISMN', hidden = false }, bad_issn = { message = 'Check <code style="'..code_style..'">&#124;$1issn=</code> value', anchor = 'bad_issn', category = ' Σφάλματα CS1: ISSN', hidden = false }, bad_jfm = { message = 'Check <code style="'..code_style..'">&#124;jfm=</code> value', anchor = 'bad_jfm', category = ' Σφάλματα CS1: JFM', hidden = false }, bad_lccn = { message = 'Check <code style="'..code_style..'">&#124;lccn=</code> value', anchor = 'bad_lccn', category = ' Σφάλματα CS1: LCCN', hidden = false }, bad_usenet_id = { message = 'Check <code style="'..code_style..'">&#124;message-id=</code> value', anchor = 'bad_message_id', category = ' Σφάλματα CS1: message-id', hidden = false }, bad_mr = { message = 'Check <code style="'..code_style..'">&#124;mr=</code> value', anchor = 'bad_mr', category = ' Σφάλματα CS1: MR', hidden = false }, bad_ol = { message = 'Check <code style="'..code_style..'">&#124;ol=</code> value', anchor = 'bad_ol', category = ' Σφάλματα CS1: OL', hidden = false }, bad_paramlink = { -- for |title-link=, |author/editor/translator-link=, |series-link=, |episode-link= message = 'Check <code style="'..code_style..'">&#124;$1=</code> value', anchor = 'bad_paramlink', category = ' Σφάλματα CS1: parameter link', hidden = false }, bad_pmc = { message = 'Check <code style="'..code_style..'">&#124;pmc=</code> value', anchor = 'bad_pmc', category = ' Σφάλματα CS1: PMC', hidden = false }, bad_pmid = { message = 'Check <code style="'..code_style..'">&#124;pmid=</code> value', anchor = 'bad_pmid', category = ' Σφάλματα CS1: PMID', hidden = false }, bad_oclc = { message = 'Check <code style="'..code_style..'">&#124;oclc=</code> value', anchor = 'bad_oclc', category = ' Σφάλματα CS1: OCLC', hidden = false }, bad_ssrn = { message = 'Check <code style="'..code_style..'">&#124;ssrn=</code> value', anchor = 'bad_ssrn', category = ' Σφάλματα CS1: SSRN', hidden = false }, bad_url = { message = 'Check $1 value', anchor = 'bad_url', category = 'Pages with URL errors', hidden = false }, bad_zbl = { message = 'Check <code style="'..code_style..'">&#124;zbl=</code> value', anchor = 'bad_zbl', category = ' Σφάλματα CS1: ZBL', hidden = false }, bare_url_missing_title = { message = '$1 missing title', anchor = 'bare_url_missing_title', category = 'Pages with citations having bare URLs', hidden = false }, biorxiv_missing = { message = '<code style="'..code_style..'">&#124;biorxiv=</code> required', anchor = 'biorxiv_missing', category = ' Σφάλματα CS1: bioRxiv', -- same as bad bioRxiv hidden = false }, chapter_ignored = { message = '<code style="'..code_style..'">&#124;$1=</code> ignored', anchor = 'chapter_ignored', category = ' Σφάλματα CS1: chapter ignored', hidden = false }, citation_missing_title = { message = 'Missing or empty <code style="'..code_style..'">&#124;$1=</code>', anchor = 'citation_missing_title', category = 'Σελίδες με παραπομπές χωρίς τίτλο', hidden = false }, citeseerx_missing = { message = '<code style="'..code_style..'">&#124;citeseerx=</code> required', anchor = 'citeseerx_missing', category = ' Σφάλματα CS1: citeseerx', -- same as bad citeseerx hidden = false }, cite_web_url = { -- this error applies to cite web and to cite podcast message = 'H παράμετρος <code style="'..code_style..'">&#124;url=</code> είναι κενή ή απουσιάζει', anchor = 'cite_web_url', category = 'Σελίδες που περιέχουν διαδικτυακές παραπομπές χωρίς URL', hidden = false }, contributor_ignored = { message = '<code style="'..code_style..'">&#124;contributor=</code> ignored', anchor = 'contributor_ignored', category = ' Σφάλματα CS1: contributor', hidden = false }, contributor_missing_required_param = { message = '<code style="'..code_style..'">&#124;contributor=</code> requires <code style="'..code_style..'">&#124;$1=</code>', anchor = 'contributor_missing_required_param', category = 'Σφάλματα CS1: contributor', hidden = false }, deprecated_params = { message = 'Cite uses deprecated parameter <code style="'..code_style..'">&#124;$1=</code>', anchor = 'deprecated_params', category = 'Σφάλματα CS1: deprecated parameters', hidden = false }, empty_citation = { message = 'Empty citation', anchor = 'empty_citation', category = 'Σελίδες με κενές παραπομπές', hidden = false }, first_missing_last = { message = '<code style="'..code_style..'">&#124;first$2=</code> missing <code style="'..code_style..'">&#124;last$2=</code> in $1', anchor = 'first_missing_last', category = 'Σφάλματα CS1: χωρίς συγγραφέα ή επιμελητή', hidden = false }, format_missing_url = { message = '<code style="'..code_style..'">&#124;$1=</code> requires <code style="'..code_style..'">&#124;$2=</code>', anchor = 'format_missing_url', category = 'Pages using citations with format and no URL', hidden = true }, invalid_param_val = { message = 'Invalid <code style="'..code_style..'">&#124;$1=$2</code>', anchor = 'invalid_param_val', category = 'Σφάλματα CS1: invalid parameter value', hidden = false }, invisible_char = { message = '$1 in $2 at position $3', anchor = 'invisible_char', category = ' Σφάλματα CS1: invisible characters', hidden = false }, missing_name = { message = 'Missing <code style="'..code_style..'">&#124;last$2=</code> in $1', anchor = 'missing_name', category = ' Σφάλματα CS1: missing author or editor', hidden = false }, param_access_requires_param = { message = '<code style="'..code_style..'">&#124;$1-access=</code> requires <code style="'..code_style..'">&#124;$1=</code>', anchor = 'param_access_requires_param', category = ' Σφάλματα CS1: param-access', hidden = false }, param_has_ext_link = { message = 'Εξωτερικός σύνδεσμος στο <code style="'..code_style..'">$1</code>', anchor = 'param_has_ext_link', category = 'Σφάλματα CS1: εξωτερικοί σύνδεσμοι', hidden = false }, parameter_ignored = { message = 'Unknown parameter <code style="'..code_style..'">&#124;$1=</code> ignored', anchor = 'parameter_ignored', category = 'Pages with citations using unsupported parameters', hidden = false }, parameter_ignored_suggest = { message = 'Unknown parameter <code style="'..code_style..'">&#124;$1=</code> ignored (<code style="'..code_style..'">&#124;$2=</code> suggested)', anchor = 'parameter_ignored_suggest', category = 'Pages with citations using unsupported parameters', hidden = false }, redundant_parameters = { message = 'More than one of $1 specified', anchor = 'redundant_parameters', category = 'Pages with citations having redundant parameters', hidden = false }, text_ignored = { message = 'Text "$1" ignored', anchor = 'text_ignored', category = 'Pages with citations using unnamed parameters', hidden = false }, trans_missing_title = { message = '<code style="'..code_style..'">&#124;trans-$1=</code> requires <code style="'..code_style..'">&#124;$1=</code>', anchor = 'trans_missing_title', category = ' Σφάλματα CS1: translated title', hidden = false }, vancouver = { message = 'Vancouver style error: $1', anchor = 'vancouver', category = 'Σφάλματα CS1: Vancouver style', hidden = false }, wikilink_in_url = { message = 'URL–wikilink conflict', -- uses ndash anchor = 'wikilink_in_url', category = ' Σφάλματα CS1: URL–wikilink conflict', -- uses ndash hidden = false }, } --[[--------------------------< I D _ H A N D L E R S >-------------------------------------------------------- The following contains a list of values for various defined identifiers. For each identifier we specify a variety of information necessary to properly render the identifier in the citation. parameters: a list of parameter aliases for this identifier link: Wikipedia article name q: wikidata q number for the identifier label: the alternate name to apply to link mode: 'manual' when there is a specific function in the code to handle the identifier; 'external' for identifiers that link outside of Wikipedia; prefix: the first part of a url that will be concatenated with a second part which usually contains the identifier encode: true if uri should be percent encoded; otherwise false COinS: identifier link or keyword for use in COinS: for identifiers registered at info-uri.info use: info:.... for identifiers that have COinS keywords, use the keyword: rft.isbn, rft.issn, rft.eissn for others make a url using the value in prefix, use the keyword: pre (not checked; any text other than 'info' or 'rft' works here) set to nil to leave the identifier out of the COinS separator: character or text between label and the identifier in the rendered citation access: use this parameter to set the access level for all instances of this identifier. the value must be a valid access level for an identifier (see ['id-access'] in this file). custom_access: to enable custom access level for an identifier, set this parameter to the parameter that should control it (normally 'id-access') ]] local id_handlers = { ['ARXIV'] = { parameters = {'arxiv', 'eprint'}, link = 'arXiv', q = 'Q118398', label = 'arXiv', mode = 'manual', prefix = '//arxiv.org/abs/', -- protocol relative tested 2013-09-04 encode = false, COinS = 'info:arxiv', separator = ':', access = 'free', -- free to read }, ['ASIN'] = { parameters = { 'asin', 'ASIN' }, link = 'Amazon Standard Identification Number', q = 'Q1753278', label = 'ASIN', mode = 'manual', prefix = '//www.amazon.', COinS = nil, -- no COinS for this id (needs thinking on implementation because |asin-tld=) separator = '&nbsp;', encode = false; }, ['BIBCODE'] = { parameters = {'bibcode'}, link = 'Bibcode', q = 'Q25754', label = 'Bibcode', mode = 'manual', prefix = 'http://adsabs.harvard.edu/abs/', encode = false, COinS = 'info:bibcode', separator = ':', custom_access = 'bibcode-access', }, ['BIORXIV'] = { parameters = {'biorxiv'}, link = 'bioRxiv', q = 'Q19835482', label = 'bioRxiv', mode = 'manual', prefix = '//doi.org/10.1101/', COinS = 'pre', -- use prefix value access = 'free', -- free to read encode = true, separator = '&nbsp;', }, ['CITESEERX'] = { parameters = {'citeseerx'}, link = 'CiteSeerX', q = 'Q2715061', label = 'CiteSeerX', mode = 'manual', -- manual for custom validation of the "doi" prefix = '//citeseerx.ist.psu.edu/viewdoc/summary?doi=', COinS = 'pre', -- use prefix value access = 'free', -- free to read encode = true, separator = '&nbsp;', }, ['DOI'] = { parameters = { 'doi', 'DOI' }, link = 'Ψηφιακό αναγνωριστικό αντικειμένου', q = 'Q25670', label = 'doi', mode = 'manual', prefix = '//doi.org/', COinS = 'info:doi', separator = ':', encode = true, custom_access = 'doi-access', }, ['EISSN'] = { parameters = {'eissn', 'EISSN'}, link = 'International_Standard_Serial_Number#Electronic_ISSN', q = 'Q46339674', label = 'eISSN', mode = 'manual', prefix = '//www.worldcat.org/issn/', COinS = 'rft.eissn', encode = false, separator = '&nbsp;', }, ['HDL'] = { parameters = { 'hdl', 'HDL' }, link = 'Handle System', q = 'Q3126718', label = 'hdl', mode = 'manual', prefix = '//hdl.handle.net/', COinS = 'info:hdl', separator = ':', encode = true, custom_access = 'hdl-access', }, ['ISBN'] = { parameters = {'isbn', 'ISBN', 'isbn13', 'ISBN13'}, link = 'Διεθνής πρότυπος αριθμός βιβλίου', q = 'Q33057', label = 'ISBN', mode = 'manual', prefix = 'Special:BookSources/', COinS = 'rft.isbn', separator = '&nbsp;', }, ['ISMN'] = { parameters = {'ismn', 'ISMN'}, link = 'International Standard Music Number', q = 'Q1666938', label = 'ISMN', mode = 'manual', prefix = '', -- not currently used; COinS = 'nil', -- nil because we can't use pre or rft or info: separator = '&nbsp;', }, ['ISSN'] = { parameters = {'issn', 'ISSN'}, link = 'International Standard Serial Number', q = 'Q131276', label = 'ISSN', mode = 'manual', prefix = '//www.worldcat.org/issn/', COinS = 'rft.issn', encode = false, separator = '&nbsp;', }, ['JFM'] = { parameters = {'jfm', 'JFM'}, link = 'Jahrbuch über die Fortschritte der Mathematik', q = '', label = 'JFM', mode = 'manual', prefix = '//zbmath.org/?format=complete&q=an:', COinS = 'pre', -- use prefix value encode = true, separator = '&nbsp;', }, ['JSTOR'] = { parameters = {'jstor', 'JSTOR'}, link = 'JSTOR', q = 'Q1420342', label = 'JSTOR', mode = 'external', prefix = '//www.jstor.org/stable/', -- protocol relative tested 2013-09-04 COinS = 'pre', -- use prefix value encode = false, separator = '&nbsp;', custom_access = 'jstor-access', }, ['LCCN'] = { parameters = {'LCCN', 'lccn'}, link = 'Library of Congress Control Number', q = 'Q620946', label = 'LCCN', mode = 'manual', prefix = '//lccn.loc.gov/', -- protocol relative tested 2015-12-28 COinS = 'info:lccn', -- use prefix value encode = false, separator = '&nbsp;', }, ['MR'] = { parameters = {'MR', 'mr'}, link = 'Mathematical Reviews', q = 'Q211172', label = 'MR', mode = 'manual', prefix = '//www.ams.org/mathscinet-getitem?mr=', -- protocol relative tested 2013-09-04 COinS = 'pre', -- use prefix value encode = true, separator = '&nbsp;', }, ['OCLC'] = { parameters = {'OCLC', 'oclc'}, link = 'OCLC', q = 'Q190593', label = 'OCLC', mode = 'manual', prefix = '//www.worldcat.org/oclc/', COinS = 'info:oclcnum', encode = true, separator = '&nbsp;', }, ['OL'] = { parameters = { 'ol', 'OL' }, link = 'Open Library', q = 'Q1201876', label = 'OL', mode = 'manual', prefix = '//openlibrary.org/', COinS = nil, -- no COinS for this id (needs thinking on implementation because /authors/books/works/OL) separator = '&nbsp;', encode = true, custom_access = 'ol-access', }, ['OSTI'] = { parameters = {'OSTI', 'osti'}, link = 'Office of Scientific and Technical Information', q = 'Q2015776', label = 'OSTI', mode = 'external', prefix = '//www.osti.gov/energycitations/product.biblio.jsp?osti_id=', -- protocol relative tested 2013-09-04 COinS = 'pre', -- use prefix value encode = true, separator = '&nbsp;', custom_access = 'osti-access', }, ['PMC'] = { parameters = {'PMC', 'pmc'}, link = 'PubMed Central', q = 'Q229883', label = 'PMC', mode = 'manual', prefix = '//www.ncbi.nlm.nih.gov/pmc/articles/PMC', suffix = " ", COinS = 'pre', -- use prefix value encode = true, separator = '&nbsp;', access = 'free', -- free to read }, ['PMID'] = { parameters = {'PMID', 'pmid'}, link = 'PubMed Identifier', q = '', label = 'PMID', mode = 'manual', prefix = '//www.ncbi.nlm.nih.gov/pubmed/', COinS = 'info:pmid', encode = false, separator = '&nbsp;', }, ['RFC'] = { parameters = {'RFC', 'rfc'}, link = 'Request for Comments', q = 'Q212971', label = 'RFC', mode = 'external', prefix = '//tools.ietf.org/html/rfc', COinS = 'pre', -- use prefix value encode = false, separator = '&nbsp;', access = 'free', -- free to read }, ['SSRN'] = { parameters = {'SSRN', 'ssrn'}, link = 'Social Science Research Network', q = 'Q7550801', label = 'SSRN', mode = 'manual', prefix = '//ssrn.com/abstract=', -- protocol relative tested 2013-09-04 COinS = 'pre', -- use prefix value encode = true, separator = '&nbsp;', access = 'free', -- always free to read }, ['USENETID'] = { parameters = {'message-id'}, link = 'Usenet', q = 'Q193162', label = 'Usenet:', mode = 'manual', prefix = 'news:', encode = false, COinS = 'pre', -- use prefix value separator = '&nbsp;', }, ['ZBL'] = { parameters = {'ZBL', 'zbl'}, link = 'Zentralblatt MATH', q = 'Q190269', label = 'Zbl', mode = 'manual', prefix = '//zbmath.org/?format=complete&q=an:', COinS = 'pre', -- use prefix value encode = true, separator = '&nbsp;', }, } return { aliases = aliases, special_case_translation = special_case_translation, defaults = defaults, date_names = date_names, error_conditions = error_conditions, id_handlers = id_handlers, keywords = keywords, stripmarkers=stripmarkers, invisible_chars = invisible_chars, indic_script = indic_script, maint_cats = maint_cats, messages = messages, presentation = presentation, prop_cats = prop_cats, script_lang_codes = script_lang_codes, lang_code_remap = lang_code_remap, lang_name_remap = lang_name_remap, title_types = title_types, uncategorized_namespaces = uncategorized_namespaces, uncategorized_subpages = uncategorized_subpages, templates_using_volume = templates_using_volume, templates_using_issue = templates_using_issue, templates_not_using_page = templates_not_using_page, } 2os9ae25sh21xagyoko5umyxbzy4o5p Module:Citation/CS1/Suggestions 828 3468 36683 2025-12-15T22:03:46Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--Please insert new suggestions in alphabetical order --The form is ['incorrect'] = 'correct', suggestions = { ['accessmonth'] = 'access-date', -- no longer supported by us, but still by citation templates mirrored in foreign WPs; can be emulated using 'access-date' ['accesso'] = 'access-date', -- Italian ['accessyear'] = 'access-date', -- no longer supported by us, but still by citation templates mirrored in foreign WPs; can be emulated using...' 36683 Scribunto text/plain --Please insert new suggestions in alphabetical order --The form is ['incorrect'] = 'correct', suggestions = { ['accessmonth'] = 'access-date', -- no longer supported by us, but still by citation templates mirrored in foreign WPs; can be emulated using 'access-date' ['accesso'] = 'access-date', -- Italian ['accessyear'] = 'access-date', -- no longer supported by us, but still by citation templates mirrored in foreign WPs; can be emulated using 'access-date' ['address'] = 'location', ['année'] = 'year', -- French ['año'] = 'year', ['año-original'] = 'orig-year', ['añoacceso'] = 'access-date', -- Spanish ['annoaccesso'] = 'access-date', --Italian ['annodiaccesso'] = 'access-date', --Italian ['apellido'] = 'last', -- Spanish ['archiv-datum'] = 'archive-date', -- German ['archive date'] = 'archive-date', ['archiv-url'] = 'archive-url', -- German ['archive url'] = 'archive-url', -- Spanish ['artist'] = 'others', ['auflage'] = 'edition', -- German ['auteur'] = 'author', -- French ['auther'] = 'author', ['author link'] = 'author-link', -- Polish ['author link2'] = 'author2-link', -- Polish ['autor'] = 'authors', -- German (singular and plural) ['autore'] = 'author', -- Italian ['autthor'] = 'author', ['band'] = 'volume', -- German ['chapter_title'] = 'chapter', ['cita'] = 'quote', -- Spanish ['citazione'] = 'quote', -- Italian ['coauthor'] = 'author', ['coauthors'] = 'author', ['coautores'] = 'author', -- Spanish ['coautori'] = 'author', -- Italian ['cognome'] = 'last', -- Italian ['consulté le'] = 'access-date', -- French ['czasopismo'] = 'journal', -- Polish ['data'] = 'date', -- Polish, Italian ['dataarchivio'] = 'archive-date', -- Italian ['data dostępu'] = 'access-date', -- Polish ['datum'] = 'date', -- German ['deadlink'] = 'dead-url', ['distributor'] = 'publisher', ['dnb'] = 'id', -- German (as 'id={{DNB-IDN|...}}') (not yet supported by us directly) ['éditeur'] = 'editor', -- French ['editon'] = 'edition', ['editoin'] = 'edition', ['editorial'] = 'publisher', ['en ligne le'] = 'archive-date', -- French ['encyclopædia'] = 'encyclopedia', ['enlaceautor'] = 'author-link', -- Spanish ['fecha'] = 'date', -- Spanish ['fechaacceso'] = 'access-date', -- Spanish ['fechaarchivo'] = 'archive-date', -- Spanish ['filetype'] = 'format', ['first 1'] = 'first1', ['foramt'] = 'format', ['formato'] = 'format', -- Spanish, Italian, Polish ['frist'] = 'first', ['herausgeber'] = 'editors', -- German (singular and plural) ['idioma'] = 'language', -- Spanish, Italian ['imię'] = 'first', -- Polish ['isbnistformalfalsch'] = 'ignore-isbn-error', -- German ['isnb'] = 'isbn', ['jahr'] = 'year', -- German ['kapitel'] = 'chapter', -- German -- ['kommentar'] = 'comment', -- German (not yet supported by us) ['lang'] = 'language', ['langauge'] = 'language', ['langue'] = 'language', -- French ['last 1'] = 'last1', ['lieu'] = 'location', -- French ['lingua'] = 'language', -- Italian ['lire en ligne'] = 'url', -- French ['lizenznummer'] = 'id', -- German (as 'id=License ...') ['loaction'] = 'location', ['locatoin'] = 'location', ['lugar'] = 'location', -- Spanish ['miejsce'] = 'location', -- Polish ['miesiąc'] = 'date', -- Polish ['mois'] = 'date', -- French ['monat'] = 'date', -- German -- ['name'] = 'author', -- 'name' is often erroneously used for 'title' and 'work' as well, so no suggestion is better than a wrong suggestion ['nazwisko'] = 'last', -- Polish ['nespaper'] = 'newspaper', ['newpaper'] = 'newspaper', ['news'] = 'newspaper', ['nom'] = 'last', -- French ['nom1'] = 'last1', -- French ['nombre'] = 'first', -- Spanish ['nome'] = 'first', -- Italian ['nummer'] = 'number', -- German ['obra'] = 'work', -- Spanish ['odpowiedzialność'] = 'agency', -- Polish ['offline'] = 'dead-url', -- German ['online'] = 'url', -- German (not a direct replacement, but can be emulated) ['opublikowany'] = 'agency', -- Polish ['opera'] = 'work', -- Italian ['origdate'] = 'orig-year', ['originaljahr'] = 'orig-year', -- German ['originalort'] = 'location', -- German (if 'ort' is specified at the same time, the latter should be put in 'publication-place') ['originalsprache'] = 'language', -- German ['originaltitel'] = 'title', -- German (if 'originaltitel' is specified, any possible contents of 'title' should be put in 'trans-title') ['ort'] = 'location', -- German ['other'] = 'others', ['oznaczenie'] = 'agency', -- Polish ['pagees'] = 'pages', ['página'] = 'page', -- Spanish, Italian ['páginas'] = 'pages', -- Spanish, Italian ['passage'] = 'pages', -- French ['pagina'] = 'pages', -- Italian ['pagine'] = 'pages', -- Italian ['périodique'] = 'publisher', -- French ['plublisher'] = 'publisher', ['pmcid'] = 'pmc', ['praca'] = 'work', -- Polish ['prénom'] = 'first', -- French ['prénom1'] = 'first1', -- French ['ps'] = 'postscript', ['pub'] = 'publisher', ['pulbication-place'] = 'publication-place', ['reihe'] = 'series', -- German ['retrieved'] = 'access-date', ['rok'] = 'date', -- Polish ['sammelwerk'] = 'work', -- German ['seiten'] = 'pages', -- German ['seria'] = 'series', -- Polish ['série'] = 'work', -- French *RECHECK* ['service'] = 'agency', ['sitioweb'] = 'website', --Spanish ['stron'] = 'page', -- Polish ['strony'] = 'pages', -- Polish ['spalten'] = 'at', -- German (not a direct replacement, but can be emulated) ['sprache'] = 'language', -- German ['suscripción'] = 'subscription', -- Spanish, Polish ['tag'] = 'date', -- German ['tile'] = 'title', ['tite'] = 'title', ['titel'] = 'title', -- German ['titel-p'] = 'title', -- German ('postscript=none' should be added as well) ['titelerg'] = 'contribution', -- German (not a direct replacement, but can be emulated) ['titolo'] = 'title', -- Spanish, Italian ['titre'] = 'title', -- French ['títle'] = 'title', ['título'] = 'title', -- Spanish ['transchapter'] = 'trans-chapter', ['translator'] = 'others', ['transtitle'] = 'trans-title', ['typ'] = 'author-mask', -- German (not a direct replacement, but the only valid argument 'typ=wl' can be emulated using 'author-mask') ['tytuł'] = 'title', -- Polish ['ubicación'] = 'location', -- Spanish ['urlarchivo'] = 'archive-url', -- Spanish ['urlarchivio'] = 'archive-url', -- Italian ['urn'] = 'id', -- German (as 'id={{URN|...}}') (not yet supported by us directly) ['übersetzer'] = 'translator', -- German (singular and plural) ['verlag'] = 'publisher', -- German ['vol'] = 'volume', ['volumen'] = 'volume', -- Spanish ['werk'] = 'work', -- German ['werkerg'] = 'contribution', -- German (not a direct replacement, but can be emulated) ['wkautore'] = 'author-link', -- Italian ['wolumin'] = 'volume', -- Polish ['wydanie'] = 'number', -- Polish ['wydawca'] = 'publisher', -- French ['zaprezentowany'] = 'publisher', -- French ['zdb'] = 'id', -- German (as 'id={{ZDB|...}}') (not yet supported by us directly) ['zitat'] = 'quote', -- German ['zugriff'] = 'access-date', -- German } --[[--------------------------< P A T T E R N S >-------------------------------------------------------------- Here we use Lua patterns to make suggestions. The form is ['pattern'] = 'correct', Lua patterns are not regex though they are similar. The escape character is '%', not '\'. For more information about lua patterns, see: Extension:Scribunto/Lua_reference_manual#Patterns Patterns should probably always include the '^' and '$' anchor assertions to prevent a partial match from incorrectly suggesting the wrong parameter name. For instance, the pattern 'a[utho]+r' matches 'author' in the no-longer-supported parameter |author-separator= so the code suggests '|author='; the same pattern also matches the no-longer-supported parameter |separator= (returning 'ator') so again, the code suggests '|author='. One capture is supported, typically the enumerator from an enumerated parameter (the '6' in |author6=, etc.) The value from the capture replaces $1 in the 'correct' value. ]] local patterns = { ['^ac+es+ ?d?a?t?e?$'] = 'access-date', ['^a[utho]+r$'] = 'author', ['^a[utho]+r(%d+)$'] = 'author$1', -- enumerated ['^pu[blish]+ers?$'] = 'publisher', } return {suggestions = suggestions, patterns=patterns}; js6xozslbdgyigcumx6taxh33cortcl Module:Citation/CS1/Whitelist 828 3469 36684 2025-12-15T22:04:45Z Εὐθυμένης 2777 Καινούρεον σελίδαν με ' --[[--------------------------< P A R A M E T E R S N O T S U P P O R T E D >------------------------------ This is a list of parameters that once were but now are no longer supported: ['albumlink'] = nil, -- unique alias of titlelink used by old cite AV media notes ['albumtype'] = nil, -- controled inappropriate functionality in the old cite AV media notes ['artist'] = nil, -- unique alias of others used by old cite AV media notes...' 36684 Scribunto text/plain --[[--------------------------< P A R A M E T E R S N O T S U P P O R T E D >------------------------------ This is a list of parameters that once were but now are no longer supported: ['albumlink'] = nil, -- unique alias of titlelink used by old cite AV media notes ['albumtype'] = nil, -- controled inappropriate functionality in the old cite AV media notes ['artist'] = nil, -- unique alias of others used by old cite AV media notes ['ARXIV'] = nil, -- not an initialization ['Author'] = nil, -- non-standard capitalization ['authorformat'] = nil, -- primarily used to support Vancouver format which functionality now part of name-list-format ['author-format'] = nil, -- primarily used to support Vancouver format which functionality now part of name-list-format ['author-name-separator'] = nil,-- primarily used to support Vancouver format which functionality now part of name-list-format ['author-separator'] = nil, -- primarily used to support Vancouver format which functionality now part of name-list-format ['began'] = nil, -- module handles date ranges; cite episode and cite series ['BIBCODE'] = nil, -- not an initialization ['callsign'] = nil, -- cite interview removed ['call-sign'] = nil, -- cite interview removed ['chapterlink'] = nil, -- if ever necessary to link to a chapter article, |chapter= can be wikilinked ['chapter-link'] = nil, -- ['city'] = nil, -- cite interview removed ['coauthor'] = nil, -- redundant to |authorn=; not made part of metadata ['coauthors'] = nil, -- redundant to |authorn=; not made part of metadata ['cointerviewers'] = nil, -- unique alias of others used by old cite interview ['day'] = nil, -- deprecated in {{citation/core}} and somehow undeprecated in Module:Citation/CS1 and now finally removed ['director'] = nil, -- unique alias of author used by old cite DVD-notes ['doi_brokendate'] = nil, -- alias of doi-broken-date ['doi_inactivedate'] = nil, -- alias of doi-inactive-date ['DoiBroken'] = nil, -- not used, non-standard captialization ['Editor'] = nil, -- non-standard capitalization ['editorformat'] = nil, -- primarily used to support Vancouver format which functionality now part of name-list-format ['EditorSurname'] = nil, -- non-standard capitalization ['editor-format'] = nil, -- primarily used to support Vancouver format which functionality now part of name-list-format ['EditorGiven'] = nil, -- non-standard capitalization ['editor-name-separator'] = nil,-- primarily used to support Vancouver format which functionality now part of name-list-format ['editor-separator'] = nil, -- primarily used to support Vancouver format which functionality now part of name-list-format ['Embargo'] = nil, -- not used, non-standard capitalization ['ended'] = nil, -- module handles date ranges; cite episode and cite series ['month'] = nil, -- functionality supported by |date= ['name-separator'] = nil, -- primarily used to support Vancouver format which functionality now part of name-list-format ['notestitle'] = nil, -- unique alias of chapter used by old cite AV media notes ['PPrefix'] = nil, -- non-standard capitalization ['PPPrefix'] = nil, -- not used, non-standard capitalization ['pp-prefix'] = nil, -- not used, not documented ['p-prefix'] = nil, -- not used, not documented ['program'] = nil, -- cite interview removed ['publisherid'] = nil, -- unique alias of id used by old cite AV media notes and old cite DVD-notes ['Ref'] = nil, -- non-standard capitalization ['separator'] = nil, -- this functionality now provided by |mode= ['template doc demo'] = nil, -- alias of template doc demo ['titleyear'] = nil, -- unique alias of origyear used by old cite DVD-notes ['trans_chapter'] = nil, -- alias of trans-chapter ['trans_title'] = nil, -- alias of trans-title ['Author#'] = nil, -- non-standard capitalization ['authors#'] = nil, -- no need for multiple lists of author names ['Editor#'] = nil, -- non-standard capitalization ['editors#'] = nil, -- no need for multiple lists of editor names ['EditorGiven#'] = nil, -- non-standard capitalization ['EditorSurname#'] = nil, -- non-standard capitalization ]] --[[--------------------------< S U P P O R T E D P A R A M E T E R S >-------------------------------------- Because a steady-state signal conveys no useful information, whitelist.basic_arguments[] list items can have three values: true - these parameters are valid and supported parameters false - these parameters are deprecated but still supported nil - these parameters are no longer supported (when setting a parameter to nil, leave a comment stating the reasons for invalidating the parameter) ]] local whitelist = {} local basic_arguments = { ['accessdate'] = true, ['access-date'] = true, ['agency'] = true, ['airdate'] = true, ['air-date'] = true, ['archivedate'] = true, ['archive-date'] = true, ['archive-format'] = true, ['archiveurl'] = true, ['archive-url'] = true, ['article'] = true, ['arxiv'] = true, ['asin'] = true, ['ASIN'] = true, ['asin-tld'] = true, ['ASIN-TLD'] = true, ['at'] = true, ['author'] = true, ['author-first'] = true, ['author-last'] = true, ['authorlink'] = true, ['author-link'] = true, ['authormask'] = true, ['author-mask'] = true, ['authors'] = true, ['bibcode'] = true, ['bibcode-access'] = true, ['biorxiv'] = true, ['booktitle'] = true, ['book-title'] = true, ['cartography'] = true, ['chapter'] = true, ['chapter-format'] = true, ['chapterurl'] = true, ['chapter-url'] = true, ['chapter-url-access'] = true, ['citeseerx'] = true, ['class'] = true, -- cite arxiv and arxiv identifiers ['collaboration'] = true, ['conference'] = true, ['conference-format'] = true, ['conferenceurl'] = true, ['conference-url'] = true, ['contribution'] = true, ['contribution-format'] = true, ['contributionurl'] = true, ['contribution-url'] = true, ['contributor'] = true, ['contributor-first'] = true, ['contributor-last'] = true, ['contributor-given'] = true, ['contributor-surname'] = true, ['contributor-link'] = true, ['contributor-mask'] = true, ['credits'] = true, -- cite episode, cite serial ['date'] = true, ['deadurl'] = true, ['dead-url'] = true, ['degree'] = true, ['department'] = true, ['df'] = true, ['dictionary'] = true, ['displayauthors'] = true, ['display-authors'] = true, ['displayeditors'] = true, ['display-editors'] = true, ['docket'] = true, ['doi'] = true, ['DOI'] = true, ['doi-access'] = true, ['doi-broken'] = true, ['doi-broken-date'] = true, ['doi-inactive-date'] = true, ['edition'] = true, ['editor'] = true, ['editor-first'] = true, ['editor-given'] = true, ['editor-last'] = true, ['editorlink'] = true, ['editor-link'] = true, ['editormask'] = true, ['editor-mask'] = true, ['editors'] = true, ['editor-surname'] = true, ['eissn'] = true, ['EISSN'] = true, ['embargo'] = true, ['encyclopaedia'] = true, ['encyclopedia'] = true, ['entry'] = true, ['episode'] = true, -- cite serial only TODO: make available to cite episode? ['episodelink'] = true, -- cite episode and cite serial ['episode-link'] = true, -- cite episode and cite serial ['eprint'] = true, -- cite arxiv and arxiv identifiers ['event'] = true, ['event-format'] = true, ['eventurl'] = true, ['event-url'] = true, ['first'] = true, ['format'] = true, ['given'] = true, ['hdl'] = true, ['HDL'] = true, ['hdl-access'] = true, ['host'] = true, ['id'] = true, ['ID'] = true, ['ignoreisbnerror'] = true, ['ignore-isbn-error'] = true, ['in'] = true, ['inset'] = true, ['institution'] = true, ['interviewer'] = true, ['interviewer-first'] = true, ['interviewer-last'] = true, ['interviewerlink'] = true, ['interviewer-link'] = true, ['interviewermask'] = true, ['interviewer-mask'] = true, ['interviewers'] = true, ['isbn'] = true, ['ISBN'] = true, ['isbn13'] = true, ['ISBN13'] = true, ['ismn'] = true, ['ISMN'] = true, ['issn'] = true, ['ISSN'] = true, ['issue'] = true, ['jfm'] = true, ['JFM'] = true, ['journal'] = true, ['jstor'] = true, ['JSTOR'] = true, ['jstor-access'] = true, ['language'] = true, ['last'] = true, ['lastauthoramp'] = true, ['last-author-amp'] = true, ['laydate'] = true, ['lay-date'] = true, ['laysource'] = true, ['lay-source'] = true, ['laysummary'] = true, ['lay-summary'] = true, ['lay-format'] = true, ['layurl'] = true, ['lay-url'] = true, ['lccn'] = true, ['LCCN'] = true, ['location'] = true, ['magazine'] = true, ['mailinglist'] = true, -- cite mailing list only ['mailing-list'] = true, -- cite mailing list only ['map'] = true, -- cite map only ['map-format'] = true, -- cite map only ['mapurl'] = true, -- cite map only ['map-url'] = true, -- cite map only ['medium'] = true, ['message-id'] = true, -- cite newsgroup ['minutes'] = true, ['mode'] = true, ['mr'] = true, ['MR'] = true, ['name-list-format'] = true, ['network'] = true, ['newsgroup'] = true, ['newspaper'] = true, ['nocat'] = true, ['no-cat'] = true, ['nopp'] = true, ['no-pp'] = true, ['notracking'] = true, ['no-tracking'] = true, ['number'] = true, ['oclc'] = true, ['OCLC'] = true, ['ol'] = true, ['OL'] = true, ['ol-access'] = true, ['origyear'] = true, ['orig-year'] = true, ['osti'] = true, ['OSTI'] = true, ['osti-access'] = true, ['others'] = true, ['p'] = true, ['page'] = true, ['pages'] = true, ['people'] = true, ['periodical'] = true, ['place'] = true, ['pmc'] = true, ['PMC'] = true, ['pmid'] = true, ['PMID'] = true, ['postscript'] = true, ['pp'] = true, ['publicationdate'] = true, ['publication-date'] = true, ['publicationplace'] = true, ['publication-place'] = true, ['publisher'] = true, ['quotation'] = true, ['quote'] = true, ['ref'] = true, ['registration'] = true, ['rfc'] = true, ['RFC'] = true, ['scale'] = true, ['script-chapter'] = true, ['script-title'] = true, ['season'] = true, ['section'] = true, ['section-format'] = true, ['sections'] = true, -- cite map only ['sectionurl'] = true, ['section-url'] = true, ['series'] = true, ['serieslink'] = true, ['series-link'] = true, ['seriesno'] = true, ['series-no'] = true, ['seriesnumber'] = true, ['series-number'] = true, ['series-separator'] = true, ['sheet'] = true, -- cite map only ['sheets'] = true, -- cite map only ['ssrn'] = true, ['SSRN'] = true, ['station'] = true, ['subject'] = true, ['subjectlink'] = true, ['subject-link'] = true, ['subscription'] = true, ['surname'] = true, ['template-doc-demo'] = true, ['time'] = true, ['timecaption'] = true, ['time-caption'] = true, ['title'] = true, ['titlelink'] = true, ['title-link'] = true, ['trans-chapter'] = true, ['trans-map'] = true, ['transcript'] = true, ['transcript-format'] = true, ['transcripturl'] = true, ['transcript-url'] = true, ['trans-title'] = true, ['translator'] = true, ['translator-first'] = true, ['translator-last'] = true, ['translator-given'] = true, ['translator-surname'] = true, ['translator-link'] = true, ['translator-mask'] = true, ['type'] = true, ['url'] = true, ['URL'] = true, ['url-access'] = true, ['url-status'] = true, ['vauthors'] = true, ['veditors'] = true, ['version'] = true, ['via'] = true, ['volume'] = true, ['website'] = true, ['work'] = true, ['year'] = true, ['zbl'] = true, ['ZBL'] = true, ['άρθρο'] = true, ['γλώσσα'] = true, ['εγκυκλοπαίδεια'] = true, ['έκδοση'] = true, ['εκδότης'] = true, ['επιμελητές'] = true, ['επιμελητής'] = true, ['έτος'] = true, ['επώνυμο'] = true, ['εφημερίδα'] = true, ['ημερομηνία'] = true, ['ιστοχώρος'] = true, ['κεφάλαιο'] = true, ['λεξικό'] = true, ['λήμμα'] = true, ['λήμμα-επιμελητή'] = true, ['λήμμα-μεταφραστή'] = true, ['λήμμα-συγγραφέα'] = true, ['λοιπά'] = true, ['λοιποί'] = true, ['μεταφραστής'] = true, ['όνομα'] = true, ['περιοδικό'] = true, ['πρώτη-έκδοση'] = true, ['σ'] = true, ['σειρά'] = true, ['σελίδα'] = true, ['σελίδες'] = true, ['σσ'] = true, ['συγγραφέας'] = true, ['συγγραφείς'] = true, ['τεύχος'] = true, ['τίτλος'] = true, ['τόμος'] = true, ['τόπος-έκδοσης'] = true, ['trans_title'] = true, --προσωρινά, μέχρι να αντικατασταθεί με bot (2018-09-30) } local numbered_arguments = { ['author#'] = true, ['author-first#'] = true, ['author#-first'] = true, ['author-last#'] = true, ['author#-last'] = true, ['author-link#'] = true, ['author#link'] = true, ['author#-link'] = true, ['authorlink#'] = true, ['author-mask#'] = true, ['author#mask'] = true, ['author#-mask'] = true, ['authormask#'] = true, ['contributor#'] = true, ['contributor-first#'] = true, ['contributor#-first'] = true, ['contributor-last#'] = true, ['contributor#-last'] = true, ['contributor-given#'] = true, ['contributor#-given'] = true, ['contributor-surname#'] = true, ['contributor#-surname'] = true, ['contributor-link#'] = true, ['contributor#-link'] = true, ['contributor-mask#'] = true, ['contributor#-mask'] = true, ['editor#'] = true, ['editor-first#'] = true, ['editor#-first'] = true, ['editor#-given'] = true, ['editor-given#'] = true, ['editor-last#'] = true, ['editor#-last'] = true, ['editor-link#'] = true, ['editor#link'] = true, ['editor#-link'] = true, ['editorlink#'] = true, ['editor-mask#'] = true, ['editor#mask'] = true, ['editor#-mask'] = true, ['editormask#'] = true, ['editor#-surname'] = true, ['editor-surname#'] = true, ['first#'] = true, ['given#'] = true, ['interviewer#'] = true, ['interviewer-first#'] = true, ['interviewer#-first'] = true, ['interviewer-last#'] = true, ['interviewer#-last'] = true, ['interviewer-link#'] = true, ['interviewer#-link'] = true, ['interviewer-mask#'] = true, ['interviewer#-mask'] = true, ['last#'] = true, ['subject#'] = true, ['subject-link#'] = true, ['subject#link'] = true, ['subject#-link'] = true, ['subjectlink#'] = true, ['surname#'] = true, ['translator#'] = true, ['translator-first#'] = true, ['translator#-first'] = true, ['translator-last#'] = true, ['translator#-last'] = true, ['translator-given#'] = true, ['translator#-given'] = true, ['translator-surname#'] = true, ['translator#-surname'] = true, ['translator-link#'] = true, ['translator#-link'] = true, ['translator-mask#'] = true, ['translator#-mask'] = true, ['επιμελητής#'] = true, ['επώνυμο#'] = true, ['επώνυμο-επιμελητή#'] = true, ['λήμμα-επιμελητή#'] = true, ['λήμμα-μεταφραστή#'] = true, ['λήμμα-συγγραφέα#'] = true, ['μεταφραστής#'] = true, ['όνομα#'] = true, ['όνομα-επιμελητή#'] = true, ['συγγραφέας#'] = true, } --[[--------------------------< C I T E A R X I V S U P P O R T E D P A R A M E T E R S >---------------- This is an experiment that attempts to use validate() and a limited list of valid parameters to validate the parameters provided in a cite arxiv template. This method might be expanded to other templates being considered. Because a steady-state signal conveys no useful information, whitelist.basic_arguments[] list items can have three values: true - these parameters are valid and supported parameters false - these parameters are deprecated but still supported nil - these parameters are no longer supported (when setting a parameter to nil, leave a comment stating the reasons for invalidating the parameter) ]] --[[ This is a list of parameters that once were but now are no longer supported: ['ARXIV'] = nil, -- not an initialization ['version'] = nil, -- this is the cite arxiv parameter; |version= still supported by other cs1|2 templates ]] local arxiv_basic_arguments = { ['arxiv'] = true, ['class'] = true, -- cite arxiv and arxiv identifiers ['eprint'] = true, -- cite arxiv and arxiv identifiers } --[[--------------------------< C I T E B I O R X I V S U P P O R T E D P A R A M E T E R S >------------ This is an experiment that attempts to use validate() and a limited list of valid parameters to validate the parameters provided in a cite biorxiv template. This method might be expanded to other templates being considered. Because a steady-state signal conveys no useful information, whitelist.basic_arguments[] list items can have three values: true - these parameters are valid and supported parameters false - these parameters are deprecated but still supported nil - these parameters are no longer supported (when setting a parameter to nil, leave a comment stating the reasons for invalidating the parameter) ]] local biorxiv_basic_arguments = { ['biorxiv'] = true, } --[[--------------------------< C I T E C I T E S E E R X S U P P O R T E D P A R A M E T E R S >-------- This is an experiment that attempts to use validate() and a limited list of valid parameters to validate the parameters provided in a cite citeseerx template. This method might be expanded to other templates being considered. Because a steady-state signal conveys no useful information, whitelist.basic_arguments[] list items can have three values: true - these parameters are valid and supported parameters false - these parameters are deprecated but still supported nil - these parameters are no longer supported (when setting a parameter to nil, leave a comment stating the reasons for invalidating the parameter) ]] local citeseerx_basic_arguments = { ['citeseerx'] = true, } --[[--------------------------< L I M I T E D S U P P O R T E D P A R A M E T E R S >---------------------- This is an experiment that attempts to use validate() and a limited list of valid parameters to validate the parameters provided in a cite arxiv, cite biorxiv, or cite citeseerx templates. These parameters are common to all three templates Because a steady-state signal conveys no useful information, whitelist.basic_arguments[] list items can have three values: true - these parameters are valid and supported parameters false - these parameters are deprecated but still supported nil - these parameters are no longer supported (when setting a parameter to nil, leave a comment stating the reasons for invalidating the parameter) ]] local limited_basic_arguments = { ['at'] = true, ['author'] = true, ['author-first'] = true, ['author-last'] = true, ['authorlink'] = true, ['author-link'] = true, ['authormask'] = true, ['author-mask'] = true, ['authors'] = true, ['collaboration'] = true, ['date'] = true, ['df'] = true, ['display-authors'] = true, ['first'] = true, ['given'] = true, ['language'] = true, ['last'] = true, ['lastauthoramp'] = true, ['last-author-amp'] = true, ['mode'] = true, ['name-list-format'] = true, ['nocat'] = true, ['no-cat'] = true, ['notracking'] = true, ['no-tracking'] = true, ['p'] = true, ['page'] = true, ['pages'] = true, ['postscript'] = true, ['pp'] = true, ['quotation'] = true, ['quote'] = true, ['ref'] = true, ['surname'] = true, ['template-doc-demo'] = true, ['title'] = true, ['url'] = true, ['URL'] = true, ['vauthors'] = true, ['year'] = true, } local limited_numbered_arguments = { ['author#'] = true, ['author-first#'] = true, ['author#-first'] = true, ['author-last#'] = true, ['author#-last'] = true, ['author-link#'] = true, ['author#link'] = true, ['author#-link'] = true, ['authorlink#'] = true, ['author-mask#'] = true, ['author#mask'] = true, ['author#-mask'] = true, ['authormask#'] = true, ['first#'] = true, ['given#'] = true, ['last#'] = true, ['surname#'] = true, } return { basic_arguments = basic_arguments, numbered_arguments = numbered_arguments, limited_basic_arguments = limited_basic_arguments, limited_numbered_arguments = limited_numbered_arguments, arxiv_basic_arguments = arxiv_basic_arguments, biorxiv_basic_arguments = biorxiv_basic_arguments, citeseerx_basic_arguments = citeseerx_basic_arguments }; fo9at35sttcmpjtl73hnb11tiyf68s3 Module:Citation/CS1/COinS 828 3470 36685 2025-12-15T22:05:37Z Εὐθυμένης 2777 Καινούρεον σελίδαν με ' local coins = {}; --[[--------------------------< F O R W A R D D E C L A R A T I O N S >-------------------------------------- ]] local is_set, in_array, remove_wiki_link; -- functions in Module:Citation/CS1/Utilities local cfg; -- table of configuration tables that are defined in Module:Citation/CS1/Configuration --[[--------------------------< S T R I P _ A P O S T R O P H E _ M A R K U P >----------------------...' 36685 Scribunto text/plain local coins = {}; --[[--------------------------< F O R W A R D D E C L A R A T I O N S >-------------------------------------- ]] local is_set, in_array, remove_wiki_link; -- functions in Module:Citation/CS1/Utilities local cfg; -- table of configuration tables that are defined in Module:Citation/CS1/Configuration --[[--------------------------< S T R I P _ A P O S T R O P H E _ M A R K U P >-------------------------------- Strip wiki italic and bold markup from argument so that it doesn't contaminate COinS metadata. This function strips common patterns of apostrophe markup. We presume that editors who have taken the time to markup a title have, as a result, provided valid markup. When they don't, some single apostrophes are left behind. ]] local function strip_apostrophe_markup (argument) if not is_set (argument) then return argument; end if argument:find ( "''", 1, true ) == nil then -- Is there at least one double apostrophe? If not, exit. return argument; end while true do if argument:find ( "'''''", 1, true ) then -- bold italic (5) argument=argument:gsub("%'%'%'%'%'", ""); -- remove all instances of it elseif argument:find ( "''''", 1, true ) then -- italic start and end without content (4) argument=argument:gsub("%'%'%'%'", ""); elseif argument:find ( "'''", 1, true ) then -- bold (3) argument=argument:gsub("%'%'%'", ""); elseif argument:find ( "''", 1, true ) then -- italic (2) argument=argument:gsub("%'%'", ""); else break; end end return argument; -- done end --[[--------------------------< M A K E _ C O I N S _ T I T L E >---------------------------------------------- Makes a title for COinS from Title and / or ScriptTitle (or any other name-script pairs) Apostrophe markup (bold, italics) is stripped from each value so that the COinS metadata isn't corrupted with strings of %27%27... ]] local function make_coins_title (title, script) if is_set (title) then title = strip_apostrophe_markup (title); -- strip any apostrophe markup else title=''; -- if not set, make sure title is an empty string end if is_set (script) then script = script:gsub ('^%l%l%s*:%s*', ''); -- remove language prefix if present (script value may now be empty string) script = strip_apostrophe_markup (script); -- strip any apostrophe markup else script=''; -- if not set, make sure script is an empty string end if is_set (title) and is_set (script) then script = ' ' .. script; -- add a space before we concatenate end return title .. script; -- return the concatenation end --[[--------------------------< E S C A P E _ L U A _ M A G I C _ C H A R S >---------------------------------- Returns a string where all of lua's magic characters have been escaped. This is important because functions like string.gsub() treat their pattern and replace strings as patterns, not literal strings. ]] local function escape_lua_magic_chars (argument) argument = argument:gsub("%%", "%%%%"); -- replace % with %% argument = argument:gsub("([%^%$%(%)%.%[%]%*%+%-%?])", "%%%1"); -- replace all other lua magic pattern characters return argument; end --[[--------------------------< G E T _ C O I N S _ P A G E S >------------------------------------------------ Extract page numbers from external wikilinks in any of the |page=, |pages=, or |at= parameters for use in COinS. ]] local function get_coins_pages (pages) local pattern; if not is_set (pages) then return pages; end -- if no page numbers then we're done while true do pattern = pages:match("%[(%w*:?//[^ ]+%s+)[%w%d].*%]"); -- pattern is the opening bracket, the url and following space(s): "[url " if nil == pattern then break; end -- no more urls pattern = escape_lua_magic_chars (pattern); -- pattern is not a literal string; escape lua's magic pattern characters pages = pages:gsub(pattern, ""); -- remove as many instances of pattern as possible end pages = pages:gsub("[%[%]]", ""); -- remove the brackets pages = pages:gsub("–", "-" ); -- replace endashes with hyphens pages = pages:gsub("&%w+;", "-" ); -- and replace html entities (&ndash; etc.) with hyphens; do we need to replace numerical entities like &#32; and the like? return pages; end --[=[-------------------------< C O I N S _ R E P L A C E _ M A T H _ S T R I P M A R K E R >------------------ There are three options for math markup rendering that depend on the editor's math preference settings. These settings are at [[Special:Preferences#mw-prefsection-rendering]] and are PNG images TeX source MathML with SVG or PNG fallback All three are heavy with html and css which doesn't belong in the metadata. Without this function, the metadata saved in the raw wikitext contained the rendering determined by the settings of the last editor to save the page. This function gets the rendered form of an equation according to the editor's preference before the page is saved. It then searches the rendering for the text equivalent of the rendered equation and replaces the rendering with that so that the page is saved without extraneous html/css markup and with a reasonably readable text form of the equation. When a replacement is made, this function returns true and the value with replacement; otherwise false and the intital value. To replace multipe equations it is necesary to call this function from within a loop. ]=] local function coins_replace_math_stripmarker (value) local stripmarker = cfg.stripmarkers['math']; local rendering = value:match (stripmarker); -- is there a math stripmarker if not rendering then -- when value doesn't have a math stripmarker, abandon this test return false, value; end rendering = mw.text.unstripNoWiki (rendering); -- convert stripmarker into rendered value (or nil? ''? when math render error) if rendering:match ('alt="[^"]+"') then -- if PNG math option rendering = rendering:match ('alt="([^"]+)"'); -- extract just the math text elseif rendering:match ('$%s+.+%s+%$') then -- if TeX math option; $ is legit character that is escapes as \$ rendering = rendering:match ('$%s+(.+)%s+%$') -- extract just the math text elseif rendering:match ('<annotation[^>]+>.+</annotation>') then -- if MathML math option rendering = rendering:match ('<annotation[^>]+>(.+)</annotation>') -- extract just the math text else return false, value; -- had math stripmarker but not one of the three defined forms end return true, value:gsub (stripmarker, rendering, 1); end --[[--------------------------< C O I N S _ C L E A N U P >---------------------------------------------------- Cleanup parameter values for the metadata by removing or replacing invisible characters and certain html entities. 2015-12-10: there is a bug in mw.text.unstripNoWiki (). It replaces math stripmarkers with the appropriate content when it shouldn't. See https://phabricator.wikimedia.org/T121085 and Wikipedia_talk:Lua#stripmarkers_and_mw.text.unstripNoWiki.28.29 TODO: move the replacement patterns and replacement values into a table in /Configuration similar to the invisible characters table? ]] local function coins_cleanup (value) local replaced = true; -- default state to get the do loop running while replaced do -- loop until all math stripmarkers replaced replaced, value = coins_replace_math_stripmarker (value); -- replace math stripmarker with text representation of the equation end value = value:gsub (cfg.stripmarkers['math'], "MATH RENDER ERROR"); -- one or more couldn't be replaced; insert vague error message value = mw.text.unstripNoWiki (value); -- replace nowiki stripmarkers with their content value = value:gsub ('<span class="nowrap" style="padding%-left:0%.1em;">&#39;(s?)</span>', "'%1"); -- replace {{'}} or {{'s}} with simple apostrophe or apostrophe-s value = value:gsub ('&nbsp;', ' '); -- replace &nbsp; entity with plain space value = value:gsub ('\226\128\138', ' '); -- replace hair space with plain space if not mw.ustring.find (value, cfg.indic_script) then -- don't remove zero width joiner characters from indic script value = value:gsub ('&zwj;', ''); -- remove &zwj; entities value = mw.ustring.gsub (value, '[\226\128\141\226\128\139\194\173]', ''); -- remove zero-width joiner, zero-width space, soft hyphen end value = value:gsub ('[\009\010\013]', ' '); -- replace horizontal tab, line feed, carriage return with plain space return value; end --[[--------------------------< C O I N S >-------------------------------------------------------------------- COinS metadata (see <http://ocoins.info/>) allows automated tools to parse the citation information. ]] local function COinS(data, class) if 'table' ~= type(data) or nil == next(data) then return ''; end for k, v in pairs (data) do -- spin through all of the metadata parameter values if 'ID_list' ~= k and 'Authors' ~= k then -- except the ID_list and Author tables (author nowiki stripmarker done when Author table processed) data[k] = coins_cleanup (v); end end local ctx_ver = "Z39.88-2004"; -- treat table strictly as an array with only set values. local OCinSoutput = setmetatable( {}, { __newindex = function(self, key, value) if is_set(value) then rawset( self, #self+1, table.concat{ key, '=', mw.uri.encode( remove_wiki_link( value ) ) } ); end end }); if in_array (class, {'arxiv', 'biorxiv', 'citeseerx', 'journal', 'news'}) or (in_array (class, {'conference', 'interview', 'map', 'press release', 'web'}) and is_set(data.Periodical)) or ('citation' == class and is_set(data.Periodical) and not is_set (data.Encyclopedia)) then OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:journal"; -- journal metadata identifier if in_array (class, {'arxiv', 'biorxiv', 'citeseerx'}) then -- set genre according to the type of citation template we are rendering OCinSoutput["rft.genre"] = "preprint"; -- cite arxiv, cite biorxiv, cite citeseerx elseif 'conference' == class then OCinSoutput["rft.genre"] = "conference"; -- cite conference (when Periodical set) elseif 'web' == class then OCinSoutput["rft.genre"] = "unknown"; -- cite web (when Periodical set) else OCinSoutput["rft.genre"] = "article"; -- journal and other 'periodical' articles end OCinSoutput["rft.jtitle"] = data.Periodical; -- journal only OCinSoutput["rft.atitle"] = data.Title; -- 'periodical' article titles -- these used only for periodicals OCinSoutput["rft.ssn"] = data.Season; -- keywords: winter, spring, summer, fall OCinSoutput["rft.chron"] = data.Chron; -- free-form date components OCinSoutput["rft.volume"] = data.Volume; -- does not apply to books OCinSoutput["rft.issue"] = data.Issue; OCinSoutput["rft.pages"] = data.Pages; -- also used in book metadata elseif 'thesis' ~= class then -- all others except cite thesis are treated as 'book' metadata; genre distinguishes OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:book"; -- book metadata identifier if 'report' == class or 'techreport' == class then -- cite report and cite techreport OCinSoutput["rft.genre"] = "report"; elseif 'conference' == class then -- cite conference when Periodical not set OCinSoutput["rft.genre"] = "conference"; OCinSoutput["rft.atitle"] = data.Chapter; -- conference paper as chapter in proceedings (book) elseif in_array (class, {'book', 'citation', 'encyclopaedia', 'interview', 'map'}) then if is_set (data.Chapter) then OCinSoutput["rft.genre"] = "bookitem"; OCinSoutput["rft.atitle"] = data.Chapter; -- book chapter, encyclopedia article, interview in a book, or map title else if 'map' == class or 'interview' == class then OCinSoutput["rft.genre"] = 'unknown'; -- standalone map or interview else OCinSoutput["rft.genre"] = 'book'; -- book and encyclopedia end end else --{'audio-visual', 'AV-media-notes', 'DVD-notes', 'episode', 'interview', 'mailinglist', 'map', 'newsgroup', 'podcast', 'press release', 'serial', 'sign', 'speech', 'web'} OCinSoutput["rft.genre"] = "unknown"; end OCinSoutput["rft.btitle"] = data.Title; -- book only OCinSoutput["rft.place"] = data.PublicationPlace; -- book only OCinSoutput["rft.series"] = data.Series; -- book only OCinSoutput["rft.pages"] = data.Pages; -- book, journal OCinSoutput["rft.edition"] = data.Edition; -- book only OCinSoutput["rft.pub"] = data.PublisherName; -- book and dissertation else -- cite thesis OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:dissertation"; -- dissertation metadata identifier OCinSoutput["rft.title"] = data.Title; -- dissertation (also patent but that is not yet supported) OCinSoutput["rft.degree"] = data.Degree; -- dissertation only OCinSoutput['rft.inst'] = data.PublisherName; -- book and dissertation end -- and now common parameters (as much as possible) OCinSoutput["rft.date"] = data.Date; -- book, journal, dissertation for k, v in pairs( data.ID_list ) do -- what to do about these? For now assume that they are common to all? -- if k == 'ISBN' then v = clean_isbn( v ) end if k == 'ISBN' then v = v:gsub( "[^-0-9X]", "" ); end local id = cfg.id_handlers[k].COinS; if string.sub( id or "", 1, 4 ) == 'info' then -- for ids that are in the info:registry OCinSoutput["rft_id"] = table.concat{ id, "/", v }; elseif string.sub (id or "", 1, 3 ) == 'rft' then -- for isbn, issn, eissn, etc that have defined COinS keywords OCinSoutput[ id ] = v; elseif id then -- when cfg.id_handlers[k].COinS is not nil OCinSoutput["rft_id"] = table.concat{ cfg.id_handlers[k].prefix, v }; -- others; provide a url end end --[[ for k, v in pairs( data.ID_list ) do -- what to do about these? For now assume that they are common to all? local id, value = cfg.id_handlers[k].COinS; if k == 'ISBN' then value = clean_isbn( v ); else value = v; end if string.sub( id or "", 1, 4 ) == 'info' then OCinSoutput["rft_id"] = table.concat{ id, "/", v }; else OCinSoutput[ id ] = value; end end ]] local last, first; for k, v in ipairs( data.Authors ) do last, first = coins_cleanup (v.last), coins_cleanup (v.first or ''); -- replace any nowiki strip markers, non-printing or invisible characers if k == 1 then -- for the first author name only if is_set(last) and is_set(first) then -- set these COinS values if |first= and |last= specify the first author name OCinSoutput["rft.aulast"] = last; -- book, journal, dissertation OCinSoutput["rft.aufirst"] = first; -- book, journal, dissertation elseif is_set(last) then OCinSoutput["rft.au"] = last; -- book, journal, dissertation -- otherwise use this form for the first name end else -- for all other authors if is_set(last) and is_set(first) then OCinSoutput["rft.au"] = table.concat{ last, ", ", first }; -- book, journal, dissertation elseif is_set(last) then OCinSoutput["rft.au"] = last; -- book, journal, dissertation end end end OCinSoutput.rft_id = data.URL; OCinSoutput.rfr_id = table.concat{ "info:sid/", mw.site.server:match( "[^/]*$" ), ":", data.RawPage }; OCinSoutput = setmetatable( OCinSoutput, nil ); -- sort with version string always first, and combine. --table.sort( OCinSoutput ); table.insert( OCinSoutput, 1, "ctx_ver=" .. ctx_ver ); -- such as "Z39.88-2004" return table.concat(OCinSoutput, "&"); end --[[--------------------------< S E T _ S E L E C T E D _ M O D U L E S >-------------------------------------- Sets local cfg table and imported functions table to same (live or sandbox) as that used by the other modules. ]] local function set_selected_modules (cfg_table_ptr, utilities_page_ptr) cfg = cfg_table_ptr; is_set = utilities_page_ptr.is_set; -- import functions from select Module:Citation/CS1/Utilities module in_array = utilities_page_ptr.in_array; remove_wiki_link = utilities_page_ptr.remove_wiki_link; end return { make_coins_title = make_coins_title, get_coins_pages = get_coins_pages, COinS = COinS, set_selected_modules = set_selected_modules, } coep8us87urtrppcmr74si4z4ldv4gs Module:Citation/CS1 828 3471 36686 2025-12-15T22:06:51Z Εὐθυμένης 2777 Καινούρεον σελίδαν με ' local cs1 ={}; --[[--------------------------< F O R W A R D D E C L A R A T I O N S >-------------------------------------- ]] local dates, year_date_check, reformat_dates, date_hyphen_to_dash, -- functions in Module:Citation/CS1/Date_validation date_name_xlate local is_set, in_array, substitute, error_comment, set_error, select_one, -- functions in Module:Citation/CS1/Utilities add_maint_cat, wrap_style, safe_for_italics, is_wikilink,...' 36686 Scribunto text/plain local cs1 ={}; --[[--------------------------< F O R W A R D D E C L A R A T I O N S >-------------------------------------- ]] local dates, year_date_check, reformat_dates, date_hyphen_to_dash, -- functions in Module:Citation/CS1/Date_validation date_name_xlate local is_set, in_array, substitute, error_comment, set_error, select_one, -- functions in Module:Citation/CS1/Utilities add_maint_cat, wrap_style, safe_for_italics, is_wikilink, make_wikilink; local z ={}; -- tables in Module:Citation/CS1/Utilities local extract_ids, extract_id_access_levels, build_id_list, is_embargoed; -- functions in Module:Citation/CS1/Identifiers local make_coins_title, get_coins_pages, COinS; -- functions in Module:Citation/CS1/COinS local cfg = {}; -- table of configuration tables that are defined in Module:Citation/CS1/Configuration local whitelist = {}; -- table of tables listing valid template parameter names; defined in Module:Citation/CS1/Whitelist --[[--------------------------< P A G E S C O P E V A R I A B L E S >-------------------------------------- delare variables here that have page-wide scope that are not brought in from other modules; thatare created here and used here ]] local added_deprecated_cat; -- boolean flag so that the category is added only once local added_prop_cats = {}; -- list of property categories that have been added to z.properties_cats local added_vanc_errs; -- boolean flag so we only emit one Vancouver error / category local Frame; -- holds the module's frame table --[[--------------------------< F I R S T _ S E T >------------------------------------------------------------ Locates and returns the first set value in a table of values where the order established in the table, left-to-right (or top-to-bottom), is the order in which the values are evaluated. Returns nil if none are set. This version replaces the original 'for _, val in pairs do' and a similar version that used ipairs. With the pairs version the order of evaluation could not be guaranteed. With the ipairs version, a nil value would terminate the for-loop before it reached the actual end of the list. ]] local function first_set (list, count) local i = 1; while i <= count do -- loop through all items in list if is_set( list[i] ) then return list[i]; -- return the first set list member end i = i + 1; -- point to next end end --[[--------------------------< A D D _ P R O P _ C A T >-------------------------------------------------------- Adds a category to z.properties_cats using names from the configuration file with additional text if any. foreign_lang_source and foreign_lang_source_2 keys have a language code appended to them so that multiple languages may be categorized but multiples of the same language are not categorized. added_prop_cats is a table declared in page scope variables above ]] local function add_prop_cat (key, arguments) if not added_prop_cats [key] then added_prop_cats [key] = true; -- note that we've added this category key = key:gsub ('(foreign_lang_source_?2?)%a%a%a?', '%1'); -- strip lang code from keyname table.insert( z.properties_cats, substitute (cfg.prop_cats [key], arguments)); -- make name then add to table end end --[[--------------------------< A D D _ V A N C _ E R R O R >---------------------------------------------------- Adds a single Vancouver system error message to the template's output regardless of how many error actually exist. To prevent duplication, added_vanc_errs is nil until an error message is emitted. added_vanc_errs is a boolean declared in page scope variables above ]] local function add_vanc_error (source) if not added_vanc_errs then added_vanc_errs = true; -- note that we've added this category table.insert( z.message_tail, { set_error( 'vancouver', {source}, true ) } ); end end --[[--------------------------< I S _ S C H E M E >------------------------------------------------------------ does this thing that purports to be a uri scheme seem to be a valid scheme? The scheme is checked to see if it is in agreement with http://tools.ietf.org/html/std66#section-3.1 which says: Scheme names consist of a sequence of characters beginning with a letter and followed by any combination of letters, digits, plus ("+"), period ("."), or hyphen ("-"). returns true if it does, else false ]] local function is_scheme (scheme) return scheme and scheme:match ('^%a[%a%d%+%.%-]*:'); -- true if scheme is set and matches the pattern end --[=[-------------------------< I S _ D O M A I N _ N A M E >-------------------------------------------------- Does this thing that purports to be a domain name seem to be a valid domain name? Syntax defined here: http://tools.ietf.org/html/rfc1034#section-3.5 BNF defined here: https://tools.ietf.org/html/rfc4234 Single character names are generally reserved; see https://tools.ietf.org/html/draft-ietf-dnsind-iana-dns-01#page-15; see also [[Single-letter second-level domain]] list of tlds: https://www.iana.org/domains/root/db rfc952 (modified by rfc 1123) requires the first and last character of a hostname to be a letter or a digit. Between the first and last characters the name may use letters, digits, and the hyphen. Also allowed are IPv4 addresses. IPv6 not supported domain is expected to be stripped of any path so that the last character in the last character of the tld. tld is two or more alpha characters. Any preceding '//' (from splitting a url with a scheme) will be stripped here. Perhaps not necessary but retained incase it is necessary for IPv4 dot decimal. There are several tests: the first character of the whole domain name including subdomains must be a letter or a digit internationalized domain name (ascii characters with .xn-- ASCII Compatible Encoding (ACE) prefix xn-- in the tld) see https://tools.ietf.org/html/rfc3490 single-letter/digit second-level domains in the .org and .cash TLDs q, x, and z SL domains in the .com TLD i and q SL domains in the .net TLD single-letter SL domains in the ccTLDs (where the ccTLD is two letters) two-character SL domains in gTLDs (where the gTLD is two or more letters) three-plus-character SL domains in gTLDs (where the gTLD is two or more letters) IPv4 dot-decimal address format; TLD not allowed returns true if domain appears to be a proper name and tld or IPv4 address, else false ]=] local function is_domain_name (domain) if not domain then return false; -- if not set, abandon end domain = domain:gsub ('^//', ''); -- strip '//' from domain name if present; done here so we only have to do it once if not domain:match ('^[%a%d]') then -- first character must be letter or digit return false; end -- Do most common case first if domain:match ('%f[%a%d][%a%d][%a%d%-]+[%a%d]%.%a%a+$') then -- three or more character hostname.hostname or hostname.tld return true; elseif domain:match ('%f[%a%d][%a%d][%a%d%-]+[%a%d]%.xn%-%-[%a%d]+$') then -- internationalized domain name with ACE prefix return true; elseif domain:match ('%f[%a%d][%a%d]%.cash$') then -- one character/digit .cash hostname return true; elseif domain:match ('%f[%a%d][%a%d]%.org$') then -- one character/digit .org hostname return true; elseif domain:match ('%f[%a][qxz]%.com$') then -- assigned one character .com hostname (x.com times out 2015-12-10) return true; elseif domain:match ('%f[%a][iq]%.net$') then -- assigned one character .net hostname (q.net registered but not active 2015-12-10) return true; elseif domain:match ('%f[%a%d][%a%d]%.%a%a$') then -- one character hostname and cctld (2 chars) return true; elseif domain:match ('%f[%a%d][%a%d][%a%d]%.%a%a+$') then -- two character hostname and tld return true; elseif domain:match ('^%d%d?%d?%.%d%d?%d?%.%d%d?%d?%.%d%d?%d?') then -- IPv4 address return true; else return false; end end --[[--------------------------< I S _ U R L >------------------------------------------------------------------ returns true if the scheme and domain parts of a url appear to be a valid url; else false. This function is the last step in the validation process. This function is separate because there are cases that are not covered by split_url(), for example is_parameter_ext_wikilink() which is looking for bracketted external wikilinks. ]] local function is_url (scheme, domain) if is_set (scheme) then -- if scheme is set check it and domain return is_scheme (scheme) and is_domain_name (domain); else return is_domain_name (domain); -- scheme not set when url is protocol relative end end --[[--------------------------< S P L I T _ U R L >------------------------------------------------------------ Split a url into a scheme, authority indicator, and domain. First remove Fully Qualified Domain Name terminator (a dot following tld) (if any) and any path(/), query(?) or fragment(#). If protocol relative url, return nil scheme and domain else return nil for both scheme and domain. When not protocol relative, get scheme, authority indicator, and domain. If there is an authority indicator (one or more '/' characters immediately following the scheme's colon), make sure that there are only 2. Strip off any port and path; ]] local function split_url (url_str) local scheme, authority, domain; url_str = url_str:gsub ('([%a%d])%.?[/%?#].*$', '%1'); -- strip FQDN terminator and path(/), query(?), fragment (#) (the capture prevents false replacement of '//') if url_str:match ('^//%S*') then -- if there is what appears to be a protocol relative url domain = url_str:match ('^//(%S*)') elseif url_str:match ('%S-:/*%S+') then -- if there is what appears to be a scheme, optional authority indicator, and domain name scheme, authority, domain = url_str:match ('(%S-:)(/*)(%S+)'); -- extract the scheme, authority indicator, and domain portions authority = authority:gsub ('//', '', 1); -- replace place 1 pair of '/' with nothing; if is_set(authority) then -- if anything left (1 or 3+ '/' where authority should be) then return scheme; -- return scheme only making domain nil which will cause an error message end domain = domain:gsub ('(%a):%d+', '%1'); -- strip port number if present end return scheme, domain; end --[[--------------------------< L I N K _ P A R A M _ O K >--------------------------------------------------- checks the content of |title-link=, |series-link=, |author-link= etc for properly formatted content: no wikilinks, no urls Link parameters are to hold the title of a wikipedia article so none of the WP:TITLESPECIALCHARACTERS are allowed: # < > [ ] | { } _ except the underscore which is used as a space in wiki urls and # which is used for section links returns false when the value contains any of these characters. When there are no illegal characters, this function returns TRUE if value DOES NOT appear to be a valid url (the |<param>-link= parameter is ok); else false when value appears to be a valid url (the |<param>-link= parameter is NOT ok). ]] local function link_param_ok (value) local scheme, domain; if value:find ('[<>%[%]|{}]') then -- if any prohibited characters return false; end scheme, domain = split_url (value); -- get scheme or nil and domain or nil from url; return not is_url (scheme, domain); -- return true if value DOES NOT appear to be a valid url end --[[--------------------------< L I N K _ T I T L E _ O K >--------------------------------------------------- Use link_param_ok() to validate |<param>-link= value and its matching |<title>= value. |<title>= may be wikilinked but not when |<param>-link= has a value. This function emits an error message when that condition exists ]] local function link_title_ok (link, lorig, title, torig) local orig; if is_set (link) then -- don't bother if <param>-link doesn't have a value if not link_param_ok (link) then -- check |<param>-link= markup orig = lorig; -- identify the failing link parameter elseif title:find ('%[%[') then -- check |title= for wikilink markup orig = torig; -- identify the failing |title= parameter end end if is_set (orig) then table.insert( z.message_tail, { set_error( 'bad_paramlink', orig)}); -- url or wikilink in |title= with |title-link=; end end --[[--------------------------< C H E C K _ U R L >------------------------------------------------------------ Determines whether a URL string appears to be valid. First we test for space characters. If any are found, return false. Then split the url into scheme and domain portions, or for protocol relative (//example.com) urls, just the domain. Use is_url() to validate the two portions of the url. If both are valid, or for protocol relative if domain is valid, return true, else false. Because it is different from a standard url, and because this module used external_link() to make external links that work for standard and news: links, we validate newsgroup names here. The specification for a newsgroup name is at https://tools.ietf.org/html/rfc5536#section-3.1.4 ]] local function check_url( url_str ) if nil == url_str:match ("^%S+$") then -- if there are any spaces in |url=value it can't be a proper url return false; end local scheme, domain; scheme, domain = split_url (url_str); -- get scheme or nil and domain or nil from url; if 'news:' == scheme then -- special case for newsgroups return domain:match('^[%a%d%+%-_]+%.[%a%d%+%-_%.]*[%a%d%+%-_]$'); end return is_url (scheme, domain); -- return true if value appears to be a valid url end --[=[-------------------------< I S _ P A R A M E T E R _ E X T _ W I K I L I N K >---------------------------- Return true if a parameter value has a string that begins and ends with square brackets [ and ] and the first non-space characters following the opening bracket appear to be a url. The test will also find external wikilinks that use protocol relative urls. Also finds bare urls. The frontier pattern prevents a match on interwiki links which are similar to scheme:path urls. The tests that find bracketed urls are required because the parameters that call this test (currently |title=, |chapter=, |work=, and |publisher=) may have wikilinks and there are articles or redirects like '//Hus' so, while uncommon, |title=[[//Hus]] is possible as might be [[en://Hus]]. ]=] local function is_parameter_ext_wikilink (value) local scheme, domain; if value:match ('%f[%[]%[%a%S*:%S+.*%]') then -- if ext wikilink with scheme and domain: [xxxx://yyyyy.zzz] scheme, domain = split_url (value:match ('%f[%[]%[(%a%S*:%S+).*%]')); elseif value:match ('%f[%[]%[//%S+.*%]') then -- if protocol relative ext wikilink: [//yyyyy.zzz] scheme, domain = split_url (value:match ('%f[%[]%[(//%S+).*%]')); elseif value:match ('%a%S*:%S+') then -- if bare url with scheme; may have leading or trailing plain text scheme, domain = split_url (value:match ('(%a%S*:%S+)')); elseif value:match ('//%S+') then -- if protocol relative bare url: //yyyyy.zzz; may have leading or trailing plain text scheme, domain = split_url (value:match ('(//%S+)')); -- what is left should be the domain else return false; -- didn't find anything that is obviously a url end return is_url (scheme, domain); -- return true if value appears to be a valid url end --[[-------------------------< C H E C K _ F O R _ U R L >----------------------------------------------------- loop through a list of parameters and their values. Look at the value and if it has an external link, emit an error message. ]] local function check_for_url (parameter_list) local error_message = ''; for k, v in pairs (parameter_list) do -- for each parameter in the list if is_parameter_ext_wikilink (v) then -- look at the value; if there is a url add an error message if is_set(error_message) then -- once we've added the first portion of the error message ... error_message=error_message .. ", "; -- ... add a comma space separator end error_message=error_message .. "&#124;" .. k .. "="; -- add the failed parameter end end if is_set (error_message) then -- done looping, if there is an error message, display it table.insert( z.message_tail, { set_error( 'param_has_ext_link', {error_message}, true ) } ); end end --[[--------------------------< S A F E _ F O R _ U R L >------------------------------------------------------ Escape sequences for content that will be used for URL descriptions ]] local function safe_for_url( str ) if str:match( "%[%[.-%]%]" ) ~= nil then table.insert( z.message_tail, { set_error( 'wikilink_in_url', {}, true ) } ); end return str:gsub( '[%[%]\n]', { ['['] = '&#91;', [']'] = '&#93;', ['\n'] = ' ' } ); end --[[--------------------------< E X T E R N A L _ L I N K >---------------------------------------------------- Format an external link with error checking ]] local function external_link( URL, label, source, access) local error_str = ""; local domain; local path; local base_url; if not is_set( label ) then label = URL; if is_set( source ) then error_str = set_error( 'bare_url_missing_title', { wrap_style ('parameter', source) }, false, " " ); else error( cfg.messages["bare_url_no_origin"] ); end end if not check_url( URL ) then error_str = set_error( 'bad_url', {wrap_style ('parameter', source)}, false, " " ) .. error_str; end domain, path = URL:match ('^([/%.%-%+:%a%d]+)([/%?#].*)$'); -- split the url into scheme plus domain and path if path then -- if there is a path portion path = path:gsub ('[%[%]]', {['[']='%5b',[']']='%5d'}); -- replace '[' and ']' with their percent encoded values URL=domain..path; -- and reassemble end if is_set (access) then -- access level (subscription, registration, limited) label = safe_for_url (label); -- replace square brackets and newlines base_url = table.concat ( -- assemble external link with access signal { '<span class="plainlinks">[', -- opening css and url markup URL, -- the url ' ', -- the required space label, '<span style="padding-left:0.15em">', -- signal spacing css cfg.presentation[access], -- the appropriate icon '</span>', -- close signal spacing span ']</span>' -- close url markup and plain links span }); else base_url = table.concat({ "[", URL, " ", safe_for_url( label ), "]" }); -- no signal markup end return table.concat({ base_url, error_str }); end --[[--------------------------< D E P R E C A T E D _ P A R A M E T E R >-------------------------------------- Categorize and emit an error message when the citation contains one or more deprecated parameters. The function includes the offending parameter name to the error message. Only one error message is emitted regardless of the number of deprecated parameters in the citation. added_deprecated_cat is a boolean declared in page scope variables above ]] local function deprecated_parameter(name) if not added_deprecated_cat then added_deprecated_cat = true; -- note that we've added this category table.insert( z.message_tail, { set_error( 'deprecated_params', {name}, true ) } ); -- add error message end end --[=[-------------------------< K E R N _ Q U O T E S >-------------------------------------------------------- Apply kerning to open the space between the quote mark provided by the Module and a leading or trailing quote mark contained in a |title= or |chapter= parameter's value. This function will positive kern either single or double quotes: "'Unkerned title with leading and trailing single quote marks'" " 'Kerned title with leading and trailing single quote marks' " (in real life the kerning isn't as wide as this example) Double single quotes (italic or bold wikimarkup) are not kerned. Replaces unicode quotemarks in plain text or in the label portion of a [[L|D]] style wikilink with typewriter quote marks regardless of the need for kerning. Unicode quote marks are not replaced in simple [[D]] wikilinks. Call this function for chapter titles, for website titles, etc; not for book titles. ]=] local function kern_quotes (str) local cap=''; local cap2=''; local wl_type, label, link; wl_type, label, link = is_wikilink (str); -- wl_type is: 0, no wl (text in label variable); 1, [[D]]; 2, [[L|D]] if 1 == wl_type then -- [[D]] simple wikilink with or without quote marks if mw.ustring.match (str, '%[%[[\"“”\'‘’].+[\"“”\'‘’]%]%]') then -- leading and trailing quote marks str = substitute (cfg.presentation['kern-wl-both'], str); elseif mw.ustring.match (str, '%[%[[\"“”\'‘’].+%]%]') then -- leading quote marks str = substitute (cfg.presentation['kern-wl-left'], str); elseif mw.ustring.match (str, '%[%[.+[\"“”\'‘’]%]%]') then -- trailing quote marks str = substitute (cfg.presentation['kern-wl-right'], str); end else -- plain text or [[L|D]]; text in label variable label= mw.ustring.gsub (label, '[“”]', '\"'); -- replace “” (U+201C & U+201D) with " (typewriter double quote mark) label= mw.ustring.gsub (label, '[‘’]', '\''); -- replace ‘’ (U+2018 & U+2019) with ' (typewriter single quote mark) cap, cap2 = mw.ustring.match (label, "^([\"\'])([^\'].+)"); -- match leading double or single quote but not doubled single quotes (italic markup) if is_set (cap) then label = substitute (cfg.presentation['kern-left'], {cap, cap2}); end cap, cap2 = mw.ustring.match (label, "^(.+[^\'])([\"\'])$") -- match trailing double or single quote but not doubled single quotes (italic markup) if is_set (cap) then label = substitute (cfg.presentation['kern-right'], {cap, cap2}); end if 2 == wl_type then str = make_wikilink (link, label); -- reassemble the wikilink else str = label; end end return str; end --[[--------------------------< F O R M A T _ S C R I P T _ V A L U E >---------------------------------------- |script-title= holds title parameters that are not written in Latin based scripts: Chinese, Japanese, Arabic, Hebrew, etc. These scripts should not be italicized and may be written right-to-left. The value supplied by |script-title= is concatenated onto Title after Title has been wrapped in italic markup. Regardless of language, all values provided by |script-title= are wrapped in <bdi>...</bdi> tags to isolate rtl languages from the English left to right. |script-title= provides a unique feature. The value in |script-title= may be prefixed with a two-character ISO639-1 language code and a colon: |script-title=ja:*** *** (where * represents a Japanese character) Spaces between the two-character code and the colon and the colon and the first script character are allowed: |script-title=ja : *** *** |script-title=ja: *** *** |script-title=ja :*** *** Spaces preceding the prefix are allowed: |script-title = ja:*** *** The prefix is checked for validity. If it is a valid ISO639-1 language code, the lang attribute (lang="ja") is added to the <bdi> tag so that browsers can know the language the tag contains. This may help the browser render the script more correctly. If the prefix is invalid, the lang attribute is not added. At this time there is no error message for this condition. Supports |script-title= and |script-chapter= TODO: error messages when prefix is invalid ISO639-1 code; when script_value has prefix but no script; ]] local function format_script_value (script_value) local lang=''; -- initialize to empty string local name; if script_value:match('^%l%l%s*:') then -- if first 3 non-space characters are script language prefix lang = script_value:match('^(%l%l)%s*:%s*%S.*'); -- get the language prefix or nil if there is no script if not is_set (lang) then return ''; -- script_value was just the prefix so return empty string end -- if we get this far we have prefix and script name = cfg.lang_code_remap[lang] or mw.language.fetchLanguageName( lang, "en" ); -- get language name so that we can use it to categorize if is_set (name) then -- is prefix a proper ISO 639-1 language code? script_value = script_value:gsub ('^%l%l%s*:%s*', ''); -- strip prefix from script -- is prefix one of these language codes? if in_array (lang, cfg.script_lang_codes) then add_prop_cat ('script_with_name', {name, lang}) else add_prop_cat ('script') end lang = ' lang="' .. lang .. '" '; -- convert prefix into a lang attribute else lang = ''; -- invalid so set lang to empty string end end script_value = substitute (cfg.presentation['bdi'], {lang, script_value}); -- isolate in case script is rtl return script_value; end --[[--------------------------< S C R I P T _ C O N C A T E N A T E >------------------------------------------ Initially for |title= and |script-title=, this function concatenates those two parameter values after the script value has been wrapped in <bdi> tags. ]] local function script_concatenate (title, script) if is_set (script) then script = format_script_value (script); -- <bdi> tags, lang atribute, categorization, etc; returns empty string on error if is_set (script) then title = title .. ' ' .. script; -- concatenate title and script title end end return title; end --[[--------------------------< W R A P _ M S G >-------------------------------------------------------------- Applies additional message text to various parameter values. Supplied string is wrapped using a message_list configuration taking one argument. Supports lower case text for {{citation}} templates. Additional text taken from citation_config.messages - the reason this function is similar to but separate from wrap_style(). ]] local function wrap_msg (key, str, lower) if not is_set( str ) then return ""; end if true == lower then local msg; msg = cfg.messages[key]:lower(); -- set the message to lower case before return substitute( msg, str ); -- including template text else return substitute( cfg.messages[key], str ); end end --[[--------------------------< F O R M A T _ C H A P T E R _ T I T L E >-------------------------------------- Format the four chapter parameters: |script-chapter=, |chapter=, |trans-chapter=, and |chapter-url= into a single Chapter meta- parameter (chapter_url_source used for error messages). ]] local function format_chapter_title (scriptchapter, chapter, transchapter, chapterurl, chapter_url_source, no_quotes, access) local chapter_error = ''; if not is_set (chapter) then chapter = ''; -- to be safe for concatenation else if false == no_quotes then chapter = kern_quotes (chapter); -- if necessary, separate chapter title's leading and trailing quote marks from Module provided quote marks chapter = wrap_style ('quoted-title', chapter); end end chapter = script_concatenate (chapter, scriptchapter) -- <bdi> tags, lang atribute, categorization, etc; must be done after title is wrapped if is_set (chapterurl) then chapter = external_link (chapterurl, chapter, chapter_url_source, access); -- adds bare_url_missing_title error if appropriate end if is_set (transchapter) then transchapter = wrap_style ('trans-quoted-title', transchapter); if is_set (chapter) then chapter = chapter .. ' ' .. transchapter; else -- here when transchapter without chapter or script-chapter chapter = transchapter; -- chapter_error = ' ' .. set_error ('trans_missing_title', {'chapter'}); end end -- if is_set (chapterurl) then -- chapter = external_link (chapterurl, chapter, chapter_url_source, access); -- adds bare_url_missing_title error if appropriate -- end return chapter .. chapter_error; end --[[--------------------------< H A S _ I N V I S I B L E _ C H A R S >---------------------------------------- This function searches a parameter's value for nonprintable or invisible characters. The search stops at the first match. This function will detect the visible replacement character when it is part of the wikisource. Detects but ignores nowiki and math stripmarkers. Also detects other named stripmarkers (gallery, math, pre, ref) and identifies them with a slightly different error message. See also coins_cleanup(). Detects but ignores the character pattern that results from the transclusion of {{'}} templates. Output of this function is an error message that identifies the character or the Unicode group, or the stripmarker that was detected along with its position (or, for multi-byte characters, the position of its first byte) in the parameter value. ]] local function has_invisible_chars (param, v) local position = ''; -- position of invisible char or starting position of stripmarker local dummy; -- end of matching string; not used but required to hold end position when a capture is returned local capture; -- used by stripmarker detection to hold name of the stripmarker local i=1; local stripmarker, apostrophe; capture = string.match (v, '[%w%p ]*'); -- Test for values that are simple ASCII text and bypass other tests if true if capture == v then -- if same there are no unicode characters return; end while cfg.invisible_chars[i] do local char=cfg.invisible_chars[i][1] -- the character or group name local pattern=cfg.invisible_chars[i][2] -- the pattern used to find it position, dummy, capture = mw.ustring.find (v, pattern) -- see if the parameter value contains characters that match the pattern if position and (char == 'zero width joiner') then -- if we found a zero width joiner character if mw.ustring.find (v, cfg.indic_script) then -- its ok if one of the indic scripts position = nil; -- unset position end end if position then if 'nowiki' == capture or 'math' == capture then -- nowiki, math stripmarker (not an error condition) stripmarker = true; -- set a flag elseif true == stripmarker and 'delete' == char then -- because stripmakers begin and end with the delete char, assume that we've found one end of a stripmarker position = nil; -- unset else local err_msg; if capture then err_msg = capture .. ' ' .. char; else err_msg = char .. ' ' .. 'character'; end table.insert( z.message_tail, { set_error( 'invisible_char', {err_msg, wrap_style ('parameter', param), position}, true ) } ); -- add error message return; -- and done with this parameter end end i=i+1; -- bump our index end end --[[--------------------------< A R G U M E N T _ W R A P P E R >---------------------------------------------- Argument wrapper. This function provides support for argument mapping defined in the configuration file so that multiple names can be transparently aliased to single internal variable. ]] local function argument_wrapper( args ) local origin = {}; return setmetatable({ ORIGIN = function( self, k ) local dummy = self[k]; --force the variable to be loaded. return origin[k]; end }, { __index = function ( tbl, k ) if origin[k] ~= nil then return nil; end local args, list, v = args, cfg.aliases[k]; if type( list ) == 'table' then v, origin[k] = select_one( args, list, 'redundant_parameters' ); if origin[k] == nil then origin[k] = ''; -- Empty string, not nil end elseif list ~= nil then v, origin[k] = args[list], list; else -- maybe let through instead of raising an error? -- v, origin[k] = args[k], k; error( cfg.messages['unknown_argument_map'] ); end -- Empty strings, not nil; if v == nil then v = cfg.defaults[k] or ''; origin[k] = ''; end tbl = rawset( tbl, k, v ); return v; end, }); end --[[--------------------------< V A L I D A T E >-------------------------------------------------------------- Looks for a parameter's name in one of several whitelists. Parameters in the whitelist can have three values: true - active, supported parameters false - deprecated, supported parameters nil - unsupported parameters ]] local function validate( name, cite_class ) local name = tostring( name ); local state; if in_array (cite_class, {'arxiv', 'biorxiv', 'citeseerx'}) then -- limited parameter sets allowed for these templates state = whitelist.limited_basic_arguments[ name ]; if true == state then return true; end -- valid actively supported parameter if false == state then deprecated_parameter (name); -- parameter is deprecated but still supported return true; end if 'arxiv' == cite_class then -- basic parameters unique to these templates state = whitelist.arxiv_basic_arguments[name]; end if 'biorxiv' == cite_class then state = whitelist.biorxiv_basic_arguments[name]; end if 'citeseerx' == cite_class then state = whitelist.citeseerx_basic_arguments[name]; end if true == state then return true; end -- valid actively supported parameter if false == state then deprecated_parameter (name); -- parameter is deprecated but still supported return true; end -- limited enumerated parameters list name = name:gsub("%d+", "#" ); -- replace digit(s) with # (last25 becomes last#) (mw.ustring because non-Western 'local' digits) state = whitelist.limited_numbered_arguments[ name ]; if true == state then return true; end -- valid actively supported parameter if false == state then deprecated_parameter (name); -- parameter is deprecated but still supported return true; end return false; -- not supported because not found or name is set to nil end -- end limited parameter-set templates state = whitelist.basic_arguments[ name ]; -- all other templates; all normal parameters allowed if true == state then return true; end -- valid actively supported parameter if false == state then deprecated_parameter (name); -- parameter is deprecated but still supported return true; end -- all enumerated parameters allowed name = name:gsub("%d+", "#" ); -- replace digit(s) with # (last25 becomes last#) (mw.ustring because non-Western 'local' digits) state = whitelist.numbered_arguments[ name ]; if true == state then return true; end -- valid actively supported parameter if false == state then deprecated_parameter (name); -- parameter is deprecated but still supported return true; end return false; -- not supported because not found or name is set to nil end --[[--------------------------< N O W R A P _ D A T E >-------------------------------------------------------- When date is YYYY-MM-DD format wrap in nowrap span: <span ...>YYYY-MM-DD</span>. When date is DD MMMM YYYY or is MMMM DD, YYYY then wrap in nowrap span: <span ...>DD MMMM</span> YYYY or <span ...>MMMM DD,</span> YYYY DOES NOT yet support MMMM YYYY or any of the date ranges. ]] local function nowrap_date (date) local cap=''; local cap2=''; if date:match("^%d%d%d%d%-%d%d%-%d%d$") then date = substitute (cfg.presentation['nowrap1'], date); elseif date:match("^%a+%s*%d%d?,%s+%d%d%d%d$") or date:match ("^%d%d?%s*%a+%s+%d%d%d%d$") then cap, cap2 = string.match (date, "^(.*)%s+(%d%d%d%d)$"); date = substitute (cfg.presentation['nowrap2'], {cap, cap2}); end return date; end --[[--------------------------< S E T _ T I T L E T Y P E >---------------------------------------------------- This function sets default title types (equivalent to the citation including |type=<default value>) for those templates that have defaults. Also handles the special case where it is desirable to omit the title type from the rendered citation (|type=none). ]] local function set_titletype (cite_class, title_type) if is_set(title_type) then if "none" == title_type then title_type = ""; -- if |type=none then type parameter not displayed end return title_type; -- if |type= has been set to any other value use that value end return cfg.title_types [cite_class] or ''; -- set template's default title type; else empty string for concatenation end --[[--------------------------< H Y P H E N _ T O _ D A S H >-------------------------------------------------- Converts a hyphen to a dash ]] local function hyphen_to_dash( str ) if not is_set(str) or str:match( "[%[%]{}<>]" ) ~= nil then return str; end return str:gsub( '-', '–' ); end --[[--------------------------< S A F E _ J O I N >------------------------------------------------------------ Joins a sequence of strings together while checking for duplicate separation characters. ]] local function safe_join( tbl, duplicate_char ) local f = {}; -- create a function table appropriate to type of 'dupicate character' if 1 == #duplicate_char then -- for single byte ascii characters use the string library functions f.gsub=string.gsub f.match=string.match f.sub=string.sub else -- for multi-byte characters use the ustring library functions f.gsub=mw.ustring.gsub f.match=mw.ustring.match f.sub=mw.ustring.sub end local str = ''; -- the output string local comp = ''; -- what does 'comp' mean? local end_chr = ''; local trim; for _, value in ipairs( tbl ) do if value == nil then value = ''; end if str == '' then -- if output string is empty str = value; -- assign value to it (first time through the loop) elseif value ~= '' then if value:sub(1,1) == '<' then -- Special case of values enclosed in spans and other markup. comp = value:gsub( "%b<>", "" ); -- remove html markup (<span>string</span> -> string) else comp = value; end -- typically duplicate_char is sepc if f.sub(comp, 1,1) == duplicate_char then -- is first character same as duplicate_char? why test first character? -- Because individual string segments often (always?) begin with terminal punct for the -- preceding segment: 'First element' .. 'sepc next element' .. etc? trim = false; end_chr = f.sub(str, -1,-1); -- get the last character of the output string -- str = str .. "<HERE(enchr=" .. end_chr.. ")" -- debug stuff? if end_chr == duplicate_char then -- if same as separator str = f.sub(str, 1,-2); -- remove it elseif end_chr == "'" then -- if it might be wikimarkup if f.sub(str, -3,-1) == duplicate_char .. "''" then -- if last three chars of str are sepc'' str = f.sub(str, 1, -4) .. "''"; -- remove them and add back '' elseif f.sub(str, -5,-1) == duplicate_char .. "]]''" then -- if last five chars of str are sepc]]'' trim = true; -- why? why do this and next differently from previous? elseif f.sub(str, -4,-1) == duplicate_char .. "]''" then -- if last four chars of str are sepc]'' trim = true; -- same question end elseif end_chr == "]" then -- if it might be wikimarkup if f.sub(str, -3,-1) == duplicate_char .. "]]" then -- if last three chars of str are sepc]] wikilink trim = true; elseif f.sub(str, -3,-1) == duplicate_char .. '"]' then -- if last three chars of str are sepc"] quoted external link trim = true; elseif f.sub(str, -2,-1) == duplicate_char .. "]" then -- if last two chars of str are sepc] external link trim = true; elseif f.sub(str, -4,-1) == duplicate_char .. "'']" then -- normal case when |url=something & |title=Title. trim = true; end elseif end_chr == " " then -- if last char of output string is a space if f.sub(str, -2,-1) == duplicate_char .. " " then -- if last two chars of str are <sepc><space> str = f.sub(str, 1,-3); -- remove them both end end if trim then if value ~= comp then -- value does not equal comp when value contains html markup local dup2 = duplicate_char; if f.match(dup2, "%A" ) then dup2 = "%" .. dup2; end -- if duplicate_char not a letter then escape it value = f.gsub(value, "(%b<>)" .. dup2, "%1", 1 ) -- remove duplicate_char if it follows html markup else value = f.sub(value, 2, -1 ); -- remove duplicate_char when it is first character end end end str = str .. value; --add it to the output string end end return str; end --[[--------------------------< I S _ S U F F I X >------------------------------------------------------------ returns true is suffix is properly formed Jr, Sr, or ordinal in the range 2–9. Puncutation not allowed. ]] local function is_suffix (suffix) if in_array (suffix, {'Jr', 'Sr', '2nd', '3rd'}) or suffix:match ('^%dth$') then return true; end return false; end --[[--------------------------< I S _ G O O D _ V A N C _ N A M E >-------------------------------------------- For Vancouver Style, author/editor names are supposed to be rendered in Latin (read ASCII) characters. When a name uses characters that contain diacritical marks, those characters are to converted to the corresponding Latin character. When a name is written using a non-Latin alphabet or logogram, that name is to be transliterated into Latin characters. These things are not currently possible in this module so are left to the editor to do. This test allows |first= and |last= names to contain any of the letters defined in the four Unicode Latin character sets [http://www.unicode.org/charts/PDF/U0000.pdf C0 Controls and Basic Latin] 0041–005A, 0061–007A [http://www.unicode.org/charts/PDF/U0080.pdf C1 Controls and Latin-1 Supplement] 00C0–00D6, 00D8–00F6, 00F8–00FF [http://www.unicode.org/charts/PDF/U0100.pdf Latin Extended-A] 0100–017F [http://www.unicode.org/charts/PDF/U0180.pdf Latin Extended-B] 0180–01BF, 01C4–024F |lastn= also allowed to contain hyphens, spaces, and apostrophes. (http://www.ncbi.nlm.nih.gov/books/NBK7271/box/A35029/) |firstn= also allowed to contain hyphens, spaces, apostrophes, and periods This original test: if nil == mw.ustring.find (last, "^[A-Za-zÀ-ÖØ-öø-ƿDŽ-ɏ%-%s%']*$") or nil == mw.ustring.find (first, "^[A-Za-zÀ-ÖØ-öø-ƿDŽ-ɏ%-%s%'%.]+[2-6%a]*$") then was written ouside of the code editor and pasted here because the code editor gets confused between character insertion point and cursor position. The test has been rewritten to use decimal character escape sequence for the individual bytes of the unicode characters so that it is not necessary to use an external editor to maintain this code. \195\128-\195\150 – À-Ö (U+00C0–U+00D6 – C0 controls) \195\152-\195\182 – Ø-ö (U+00D8-U+00F6 – C0 controls) \195\184-\198\191 – ø-ƿ (U+00F8-U+01BF – C0 controls, Latin extended A & B) \199\132-\201\143 – DŽ-ɏ (U+01C4-U+024F – Latin extended B) ]] local function is_good_vanc_name (last, first) local first, suffix = first:match ('(.-),?%s*([%dJS][%drndth]+)%.?$') or first; -- if first has something that looks like a generational suffix, get it if is_set (suffix) then if not is_suffix (suffix) then add_vanc_error ('suffix'); return false; -- not a name with an appropriate suffix end end if nil == mw.ustring.find (last, "^[A-Za-z\195\128-\195\150\195\152-\195\182\195\184-\198\191\199\132-\201\143%-%s%']*$") or nil == mw.ustring.find (first, "^[A-Za-z\195\128-\195\150\195\152-\195\182\195\184-\198\191\199\132-\201\143%-%s%'%.]*$") then add_vanc_error ('non-Latin character'); return false; -- not a string of latin characters; Vancouver requires Romanization end; return true; end --[[--------------------------< R E D U C E _ T O _ I N I T I A L S >------------------------------------------ Attempts to convert names to initials in support of |name-list-format=vanc. Names in |firstn= may be separated by spaces or hyphens, or for initials, a period. See http://www.ncbi.nlm.nih.gov/books/NBK7271/box/A35062/. Vancouver style requires family rank designations (Jr, II, III, etc) to be rendered as Jr, 2nd, 3rd, etc. See http://www.ncbi.nlm.nih.gov/books/NBK7271/box/A35085/. This code only accepts and understands generational suffix in the Vancouver format because Roman numerals look like, and can be mistaken for, initials. This function uses ustring functions because firstname initials may be any of the unicode Latin characters accepted by is_good_vanc_name (). ]] local function reduce_to_initials(first) local name, suffix = mw.ustring.match(first, "^(%u+) ([%dJS][%drndth]+)$"); if not name then -- if not initials and a suffix name = mw.ustring.match(first, "^(%u+)$"); -- is it just intials? end if name then -- if first is initials with or without suffix if 3 > mw.ustring.len (name) then -- if one or two initials if suffix then -- if there is a suffix if is_suffix (suffix) then -- is it legitimate? return first; -- one or two initials and a valid suffix so nothing to do else add_vanc_error ('suffix'); -- one or two initials with invalid suffix so error message return first; -- and return first unmolested end else return first; -- one or two initials without suffix; nothing to do end end end -- if here then name has 3 or more uppercase letters so treat them as a word local initials, names = {}, {}; -- tables to hold name parts and initials local i = 1; -- counter for number of initials names = mw.text.split (first, '[%s,]+'); -- split into a table of names and possible suffix while names[i] do -- loop through the table if 1 < i and names[i]:match ('[%dJS][%drndth]+%.?$') then -- if not the first name, and looks like a suffix (may have trailing dot) names[i] = names[i]:gsub ('%.', ''); -- remove terminal dot if present if is_suffix (names[i]) then -- if a legitimate suffix table.insert (initials, ' ' .. names[i]); -- add a separator space, insert at end of initials table break; -- and done because suffix must fall at the end of a name end -- no error message if not a suffix; possibly because of Romanization end if 3 > i then table.insert (initials, mw.ustring.sub(names[i],1,1)); -- insert the intial at end of initials table end i = i+1; -- bump the counter end return table.concat(initials) -- Vancouver format does not include spaces. end --[[--------------------------< L I S T _ P E O P L E >------------------------------------------------------- Formats a list of people (e.g. authors / editors) ]] local function list_people(control, people, etal) local sep; local namesep; local format = control.format local maximum = control.maximum local lastauthoramp = control.lastauthoramp; local text = {} if 'vanc' == format then -- Vancouver-like author/editor name styling? sep = cfg.presentation['sep_nl_vanc']; -- name-list separator between authors is a comma namesep = cfg.presentation['sep_name_vanc']; -- last/first separator is a space else sep = cfg.presentation['sep_nl']; -- name-list separator between authors is a semicolon namesep = cfg.presentation['sep_name']; -- last/first separator is <comma><space> end if sep:sub(-1,-1) ~= " " then sep = sep .. " " end if is_set (maximum) and maximum < 1 then return "", 0; end -- returned 0 is for EditorCount; not used for authors for i,person in ipairs(people) do if is_set(person.last) then local mask = person.mask local one local sep_one = sep; if is_set (maximum) and i > maximum then etal = true; break; elseif (mask ~= nil) then local n = tonumber(mask) if (n ~= nil) then one = string.rep("&mdash;",n) else one = mask; sep_one = " "; end else one = person.last local first = person.first if is_set(first) then if ( "vanc" == format ) then -- if vancouver format one = one:gsub ('%.', ''); -- remove periods from surnames (http://www.ncbi.nlm.nih.gov/books/NBK7271/box/A35029/) if not person.corporate and is_good_vanc_name (one, first) then -- and name is all Latin characters; corporate authors not tested first = reduce_to_initials(first) -- attempt to convert first name(s) to initials end end one = one .. namesep .. first; end if is_set(person.link) and person.link ~= control.page_name then one = make_wikilink (person.link, one); -- link author/editor if this page is not the author's/editor's page end end table.insert( text, one ) table.insert( text, sep_one ) end end local count = #text / 2; -- (number of names + number of separators) divided by 2 if count > 0 then if count > 1 and is_set(lastauthoramp) and not etal then text[#text-2] = " & "; -- replace last separator with ampersand text end text[#text] = nil; -- erase the last separator end local result = table.concat(text) -- construct list if etal and is_set (result) then -- etal may be set by |display-authors=etal but we might not have a last-first list result = result .. sep .. ' ' .. cfg.messages['et al']; -- we've go a last-first list and etal so add et al. end return result, count end --[[--------------------------< A N C H O R _ I D >------------------------------------------------------------ Generates a CITEREF anchor ID if we have at least one name or a date. Otherwise returns an empty string. namelist is one of the contributor-, author-, or editor-name lists chosen in that order. year is Year or anchor_year. ]] local function anchor_id (namelist, year) local names={}; -- a table for the one to four names and year for i,v in ipairs (namelist) do -- loop through the list and take up to the first four last names names[i] = v.last if i == 4 then break end -- if four then done end table.insert (names, year); -- add the year at the end local id = table.concat(names); -- concatenate names and year for CITEREF id if is_set (id) then -- if concatenation is not an empty string return "CITEREF" .. id; -- add the CITEREF portion else return ''; -- return an empty string; no reason to include CITEREF id in this citation end end --[[--------------------------< N A M E _ H A S _ E T A L >---------------------------------------------------- Evaluates the content of author and editor name parameters for variations on the theme of et al. If found, the et al. is removed, a flag is set to true and the function returns the modified name and the flag. This function never sets the flag to false but returns it's previous state because it may have been set by previous passes through this function or by the parameters |display-authors=etal or |display-editors=etal ]] local function name_has_etal (name, etal, nocat) if is_set (name) then -- name can be nil in which case just return local etal_pattern = "[;,]? *[\"']*%f[%a][Ee][Tt] *[Aa][Ll][%.\"']*$" -- variations on the 'et al' theme local others_pattern = "[;,]? *%f[%a]and [Oo]thers"; -- and alternate to et al. if name:match (etal_pattern) then -- variants on et al. name = name:gsub (etal_pattern, ''); -- if found, remove etal = true; -- set flag (may have been set previously here or by |display-authors=etal) if not nocat then -- no categorization for |vauthors= add_maint_cat ('etal'); -- and add a category if not already added end elseif name:match (others_pattern) then -- if not 'et al.', then 'and others'? name = name:gsub (others_pattern, ''); -- if found, remove etal = true; -- set flag (may have been set previously here or by |display-authors=etal) if not nocat then -- no categorization for |vauthors= add_maint_cat ('etal'); -- and add a category if not already added end end end return name, etal; -- end --[[--------------------------< N A M E _ H A S _ E D _ M A R K U P >------------------------------------------ Evaluates the content of author and editor parameters for extranious editor annotations: ed, ed., eds, (Ed.), etc. These annotation do not belong in author parameters and are redundant in editor parameters. If found, the function adds the editor markup maintenance category. ]] local function name_has_ed_markup (name, list_name) local _, pattern; local patterns = { -- these patterns match annotations at end of name '%f[%(%[][%(%[]%s*[Ee][Dd][Ss]?%.?%s*[%)%]]?$', -- (ed) or (eds): leading '(', case insensitive 'ed', optional 's', '.' and/or ')' '[,%.%s]%f[e]eds?%.?$', -- ed or eds: without '('or ')'; case sensitive (ED could be initials Ed could be name) '%f[%(%[][%(%[]%s*[Ee][Dd][Ii][Tt][Oo][Rr][Ss]?%.?%s*[%)%]]?$', -- (editor) or (editors): leading '(', case insensitive, optional '.' and/or ')' '[,%.%s]%f[Ee][Ee][Dd][Ii][Tt][Oo][Rr][Ss]?%.?$', -- editor or editors: without '('or ')'; case insensitive -- these patterns match annotations at beginning of name '^eds?[%.,;]', -- ed. or eds.: lower case only, optional 's', requires '.' '^[%(%[]%s*[Ee][Dd][Ss]?%.?%s*[%)%]]', -- (ed) or (eds): also sqare brackets, case insensitive, optional 's', '.' '^[%(%[]?%s*[Ee][Dd][Ii][Tt][Oo][Rr][Ss]?%A', -- (editor or (editors: also sq brackets, case insensitive, optional brackets, 's' '^[%(%[]?%s*[Ee][Dd][Ii][Tt][Ee][Dd]%A', -- (edited: also sq brackets, case insensitive, optional brackets } if is_set (name) then for _, pattern in ipairs (patterns) do -- spin through patterns table and if name:match (pattern) then add_maint_cat ('extra_text_names', cfg.special_case_translation [list_name]); -- add a maint cat for this template break; end end end return name; -- and done end --[[--------------------------< N A M E _ H A S _ M U L T _ N A M E S >---------------------------------------- Evaluates the content of author and editor (surnames only) parameters for multiple names. Multiple names are indicated if there is more than one comma and or semicolon. If found, the function adds the multiple name (author or editor) maintenance category. ]] local function name_has_mult_names (name, list_name) local count, _; if is_set (name) then _, count = name:gsub ('[;,]', ''); -- count the number of separator-like characters if 1 < count then -- param could be |author= or |editor= so one separator character is acceptable add_maint_cat ('mult_names', cfg.special_case_translation [list_name]); -- more than one separator indicates multiple names so add a maint cat for this template end end return name; -- and done end --[[--------------------------< N A M E _ C H E C K S >-------------------------------------------------------- This function calls various name checking functions used to validate the content of the various name-holding parameters. ]] local function name_checks (last, first, list_name) if is_set (last) then if last:match ('^%(%(.*%)%)$') then -- if wrapped in doubled parentheses, accept as written last = last:match ('^%(%((.*)%)%)$'); -- strip parens else last = name_has_mult_names (last, list_name); -- check for multiple names in the parameter (last only) last = name_has_ed_markup (last, list_name); -- check for extraneous 'editor' annotation end end if is_set (first) then if first:match ('^%(%(.*%)%)$') then -- if wrapped in doubled parentheses, accept as written first = first:match ('^%(%((.*)%)%)$'); -- strip parens else first = name_has_ed_markup (first, list_name); -- check for extraneous 'editor' annotation end end return last, first; -- done end --[[--------------------------< E X T R A C T _ N A M E S >---------------------------------------------------- Gets name list from the input arguments Searches through args in sequential order to find |lastn= and |firstn= parameters (or their aliases), and their matching link and mask parameters. Stops searching when both |lastn= and |firstn= are not found in args after two sequential attempts: found |last1=, |last2=, and |last3= but doesn't find |last4= and |last5= then the search is done. This function emits an error message when there is a |firstn= without a matching |lastn=. When there are 'holes' in the list of last names, |last1= and |last3= are present but |last2= is missing, an error message is emitted. |lastn= is not required to have a matching |firstn=. When an author or editor parameter contains some form of 'et al.', the 'et al.' is stripped from the parameter and a flag (etal) returned that will cause list_people() to add the static 'et al.' text from Module:Citation/CS1/Configuration. This keeps 'et al.' out of the template's metadata. When this occurs, the page is added to a maintenance category. ]] local function extract_names(args, list_name) local names = {}; -- table of names local last; -- individual name components local first; local link; local mask; local i = 1; -- loop counter/indexer local n = 1; -- output table indexer local count = 0; -- used to count the number of times we haven't found a |last= (or alias for authors, |editor-last or alias for editors) local etal=false; -- return value set to true when we find some form of et al. in an author parameter local err_msg_list_name = list_name:match ("(%w+)List") .. 's list'; -- modify AuthorList or EditorList for use in error messages if necessary while true do last = select_one( args, cfg.aliases[list_name .. '-Last'], 'redundant_parameters', i ); -- search through args for name components beginning at 1 first = select_one( args, cfg.aliases[list_name .. '-First'], 'redundant_parameters', i ); link = select_one( args, cfg.aliases[list_name .. '-Link'], 'redundant_parameters', i ); mask = select_one( args, cfg.aliases[list_name .. '-Mask'], 'redundant_parameters', i ); last, etal = name_has_etal (last, etal, false); -- find and remove variations on et al. first, etal = name_has_etal (first, etal, false); -- find and remove variations on et al. last, first= name_checks (last, first, list_name); -- multiple names, extraneous annotation, etc checks if first and not last then -- if there is a firstn without a matching lastn table.insert( z.message_tail, { set_error( 'first_missing_last', {err_msg_list_name, i}, true ) } ); -- add this error message elseif not first and not last then -- if both firstn and lastn aren't found, are we done? count = count + 1; -- number of times we haven't found last and first if 2 <= count then -- two missing names and we give up break; -- normal exit or there is a two-name hole in the list; can't tell which end else -- we have last with or without a first link_title_ok (link, list_name:match ("(%w+)List"):lower() .. '-link' .. i, last, list_name:match ("(%w+)List"):lower() .. '-last' .. i); -- check for improper wikimarkup names[n] = {last = last, first = first, link = link, mask = mask, corporate=false}; -- add this name to our names list (corporate for |vauthors= only) n = n + 1; -- point to next location in the names table if 1 == count then -- if the previous name was missing table.insert( z.message_tail, { set_error( 'missing_name', {err_msg_list_name, i-1}, true ) } ); -- add this error message end count = 0; -- reset the counter, we're looking for two consecutive missing names end i = i + 1; -- point to next args location end return names, etal; -- all done, return our list of names end --[[--------------------------< G E T _ I S O 6 3 9 _ C O D E >------------------------------------------------ Validates language names provided in |language= parameter if not an ISO639-1 or 639-2 code. Returns the language name and associated two- or three-character code. Because case of the source may be incorrect or different from the case that WikiMedia uses, the name comparisons are done in lower case and when a match is found, the Wikimedia version (assumed to be correct) is returned along with the code. When there is no match, we return the original language name string. mw.language.fetchLanguageNames(<local wiki language>, 'all') returns a list of languages that in some cases may include extensions. For example, code 'cbk-zam' and its associated name 'Chavacano de Zamboanga' (MediaWiki does not support code 'cbk' or name 'Chavacano'. Most (all?) of these languages are not used a 'language' codes per se, rather they are used as sub-domain names: cbk-zam.wikipedia.org. These names can be found (for the time being) at https://phabricator.wikimedia.org/diffusion/ECLD/browse/master/LocalNames/LocalNamesEn.php Names but that are included in the list will be found if that name is provided in the |language= parameter. For example, if |language=Chavacano de Zamboanga, that name will be found with the associated code 'cbk-zam'. When names are found and the associated code is not two or three characters, this function returns only the Wikimedia language name. Adapted from code taken from Module:Check ISO 639-1. ]] local function get_iso639_code (lang, this_wiki_code) if cfg.lang_name_remap[lang:lower()] then -- if there is a remapped name (because MediaWiki uses something that we don't think is correct) return cfg.lang_name_remap[lang:lower()][1], cfg.lang_name_remap[lang:lower()][2]; -- for this language 'name', return a possibly new name and appropriate code end local languages = mw.language.fetchLanguageNames(this_wiki_code, 'all') -- get a list of language names known to Wikimedia -- ('all' is required for North Ndebele, South Ndebele, and Ojibwa) local langlc = mw.ustring.lower(lang); -- lower case version for comparisons for code, name in pairs(languages) do -- scan the list to see if we can find our language if langlc == mw.ustring.lower(name) then if 2 ~= code:len() and 3 ~= code:len() then -- two- or three-character codes only; extensions not supported return name; -- so return the name but not the code end return name, code; -- found it, return name to ensure proper capitalization and the the code end end return lang; -- not valid language; return language in original case and nil for the code end --[[--------------------------< L A N G U A G E _ P A R A M E T E R >------------------------------------------ Gets language name from a provided two- or three-character ISO 639 code. If a code is recognized by MediaWiki, use the returned name; if not, then use the value that was provided with the language parameter. When |language= contains a recognized language (either code or name), the page is assigned to the category for that code: Category:Norwegian-language sources (no). For valid three-character code languages, the page is assigned to the single category for '639-2' codes: Category:CS1 ISO 639-2 language sources. Languages that are the same as the local wiki are not categorized. MediaWiki does not recognize three-character equivalents of two-character codes: code 'ar' is recognized bit code 'ara' is not. This function supports multiple languages in the form |language=nb, French, th where the language names or codes are separated from each other by commas. ]] local function language_parameter (lang) local code; -- the two- or three-character language code local name; -- the language name local language_list = {}; -- table of language names to be rendered local names_table = {}; -- table made from the value assigned to |language= local this_wiki = mw.getContentLanguage(); -- get a language object for this wiki local this_wiki_code = this_wiki:getCode() -- get this wiki's language code local this_wiki_name = mw.language.fetchLanguageName(this_wiki_code, this_wiki_code); -- get this wiki's language name names_table = mw.text.split (lang, '%s*,%s*'); -- names should be a comma separated list for _, lang in ipairs (names_table) do -- reuse lang if lang:match ('^%a%a%-') then -- strip ietf language tags from code; TODO: is there a need to support 3-char with tag? lang = lang:match ('(%a%a)%-') -- keep only 639-1 code portion to lang; TODO: do something with 3166 alpha 2 country code? end if 2 == lang:len() or 3 == lang:len() then -- if two-or three-character code name = mw.language.fetchLanguageName( lang:lower(), this_wiki_code); -- get language name if |language= is a proper code if not is_set (name) then name = cfg.lang_code_remap[lang]; -- not supported by MediaWiki; is it in remap? end end if is_set (name) then -- if |language= specified a valid code code = lang:lower(); -- save it else name, code = get_iso639_code (lang, this_wiki_code); -- attempt to get code from name (assign name here so that we are sure of proper capitalization) end if is_set (code) then -- only 2- or 3-character codes name = cfg.lang_code_remap[code] or name; -- override wikimedia when they misuse language codes/names if this_wiki_code ~= code then -- when the language is not the same as this wiki's language if 2 == code:len() then -- and is a two-character code add_prop_cat ('foreign_lang_source' .. code, {name, code}) -- categorize it else -- or is a recognized language (but has a three-character code) add_prop_cat ('foreign_lang_source_2' .. code, {code}) -- categorize it differently TODO: support mutliple three-character code categories per cs1|2 template end end else add_maint_cat ('unknown_lang'); -- add maint category if not already added end table.insert (language_list, name); name = ''; -- so we can reuse it end code = #language_list -- reuse code as number of languages in the list if 2 >= code then name = table.concat (language_list, ' και ') -- insert '<space>και<space>' between two language names elseif 2 < code then language_list[code] = 'και ' .. language_list[code]; -- prepend last name with 'και<space>' name = table.concat (language_list, ', ') -- and concatenate with ',<space>' separators end if this_wiki_name == name then return ''; -- if one language and that language is this wiki's return an empty string (no annotation) end return (" " .. wrap_msg ('language', name)); -- otherwise wrap with '(in ...)' --[[ TODO: should only return blank or name rather than full list so we can clean up the bunched parenthetical elements Language, Type, Format ]] end --[[--------------------------< S E T _ C S 1 _ S T Y L E >---------------------------------------------------- Set style settings for CS1 citation templates. Returns separator and postscript settings At en.wiki, for cs1: ps gets: '.' sep gets: '.' ]] local function set_cs1_style (ps) if not is_set (ps) then -- unless explicitely set to something ps = cfg.presentation['ps_cs1']; -- terminate the rendered citation end return cfg.presentation['sep_cs1'], ps; -- element separator end --[[--------------------------< S E T _ C S 2 _ S T Y L E >---------------------------------------------------- Set style settings for CS2 citation templates. Returns separator, postscript, ref settings At en.wiki, for cs2: ps gets: '' (empty string - no terminal punctuation) sep gets: ',' ]] local function set_cs2_style (ps, ref) if not is_set (ps) then -- if |postscript= has not been set, set cs2 default ps = cfg.presentation['ps_cs2']; -- terminate the rendered citation end if not is_set (ref) then -- if |ref= is not set ref = "harv"; -- set default |ref=harv end return cfg.presentation['sep_cs2'], ps, ref; -- element separator end --[[--------------------------< G E T _ S E T T I N G S _ F R O M _ C I T E _ C L A S S >---------------------- When |mode= is not set or when its value is invalid, use config.CitationClass and parameter values to establish rendered style. ]] local function get_settings_from_cite_class (ps, ref, cite_class) local sep; if (cite_class == "citation") then -- for citation templates (CS2) sep, ps, ref = set_cs2_style (ps, ref); else -- not a citation template so CS1 sep, ps = set_cs1_style (ps); end return sep, ps, ref -- return them all end --[[--------------------------< S E T _ S T Y L E >------------------------------------------------------------ Establish basic style settings to be used when rendering the citation. Uses |mode= if set and valid or uses config.CitationClass from the template's #invoke: to establish style. ]] local function set_style (mode, ps, ref, cite_class) local sep; if 'cs2' == mode then -- if this template is to be rendered in CS2 (citation) style sep, ps, ref = set_cs2_style (ps, ref); elseif 'cs1' == mode then -- if this template is to be rendered in CS1 (cite xxx) style sep, ps = set_cs1_style (ps); else -- anything but cs1 or cs2 sep, ps, ref = get_settings_from_cite_class (ps, ref, cite_class); -- get settings based on the template's CitationClass end if 'none' == ps:lower() then -- if assigned value is 'none' then ps = ''; -- set to empty string end return sep, ps, ref end --[=[-------------------------< I S _ P D F >------------------------------------------------------------------ Determines if a url has the file extension that is one of the pdf file extensions used by [[MediaWiki:Common.css]] when applying the pdf icon to external links. returns true if file extension is one of the recognized extensions, else false ]=] local function is_pdf (url) return url:match ('%.pdf$') or url:match ('%.PDF$') or url:match ('%.pdf[%?#]') or url:match ('%.PDF[%?#]'); end --[[--------------------------< S T Y L E _ F O R M A T >------------------------------------------------------ Applies css style to |format=, |chapter-format=, etc. Also emits an error message if the format parameter does not have a matching url parameter. If the format parameter is not set and the url contains a file extension that is recognized as a pdf document by MediaWiki's commons.css, this code will set the format parameter to (PDF) with the appropriate styling. ]] local function style_format (format, url, fmt_param, url_param) if is_set (format) then format = wrap_style ('format', format); -- add leading space, parentheses, resize if not is_set (url) then format = format .. set_error( 'format_missing_url', {fmt_param, url_param} ); -- add an error message end elseif is_pdf (url) then -- format is not set so if url is a pdf file then format = wrap_style ('format', 'PDF'); -- set format to pdf else format = ''; -- empty string for concatenation end return format; end --[[--------------------------< G E T _ D I S P L A Y _ A U T H O R S _ E D I T O R S >------------------------ Returns a number that defines the number of names displayed for author and editor name lists and a boolean flag to indicate when et al. should be appended to the name list. When the value assigned to |display-xxxxors= is a number greater than or equal to zero, return the number and the previous state of the 'etal' flag (false by default but may have been set to true if the name list contains some variant of the text 'et al.'). When the value assigned to |display-xxxxors= is the keyword 'etal', return a number that is one greater than the number of authors in the list and set the 'etal' flag true. This will cause the list_people() to display all of the names in the name list followed by 'et al.' In all other cases, returns nil and the previous state of the 'etal' flag. inputs: max: A['DisplayAuthors'] or A['DisplayEditors']; a number or some flavor of etal count: #a or #e list_name: 'authors' or 'editors' etal: author_etal or editor_etal ]] local function get_display_authors_editors (max, count, list_name, etal) if is_set (max) then if 'etal' == max:lower():gsub("[ '%.]", '') then -- the :gsub() portion makes 'etal' from a variety of 'et al.' spellings and stylings max = count + 1; -- number of authors + 1 so display all author name plus et al. etal = true; -- overrides value set by extract_names() elseif max:match ('^%d+$') then -- if is a string of numbers max = tonumber (max); -- make it a number if max >= count then -- if |display-xxxxors= value greater than or equal to number of authors/editors add_maint_cat ('disp_auth_ed', cfg.special_case_translation [list_name]); end else -- not a valid keyword or number table.insert( z.message_tail, { set_error( 'invalid_param_val', {'display-' .. list_name, max}, true ) } ); -- add error message max = nil; -- unset; as if |display-xxxxors= had not been set end end return max, etal; end --[[--------------------------< E X T R A _ T E X T _ I N _ P A G E _ C H E C K >------------------------------ Adds page to Category:CS1 maint: extra text if |page= or |pages= has what appears to be some form of p. or pp. abbreviation in the first characters of the parameter content. check Page and Pages for extraneous p, p., pp, and pp. at start of parameter value: good pattern: '^P[^%.P%l]' matches when |page(s)= begins PX or P# but not Px where x and X are letters and # is a dgiit bad pattern: '^[Pp][Pp]' matches matches when |page(s)= begins pp or pP or Pp or PP ]] local function extra_text_in_page_check (page) local good_pattern = '^P[^%.Pp]'; -- ok to begin with uppercase P: P7 (pg 7 of section P) but not p123 (page 123) TODO: add Gg for PG or Pg? local bad_pattern = '^[Pp]?[Pp]%.?[ %d]'; if not page:match (good_pattern) and (page:match (bad_pattern) or page:match ('^[Pp]ages?')) then add_maint_cat ('extra_text'); end end --[=[-------------------------< G E T _ V _ N A M E _ T A B L E >---------------------------------------------- split apart a |vauthors= or |veditors= parameter. This function allows for corporate names, wrapped in doubled parentheses to also have commas; in the old version of the code, the doubled parnetheses were included in the rendered citation and in the metadata. Individual author names may be wikilinked |vauthors=Jones AB, [[E. B. White|White EB]], ((Black, Brown, and Co.)) ]=] local function get_v_name_table (vparam, output_table, output_link_table) local name_table = mw.text.split(vparam, "%s*,%s*"); -- names are separated by commas local wl_type, label, link; -- wl_type not used here; just a place holder local i = 1; while name_table[i] do if name_table[i]:match ('^%(%(.*[^%)][^%)]$') then -- first segment of corporate with one or more commas; this segment has the opening doubled parens local name = name_table[i]; i=i+1; -- bump indexer to next segment while name_table[i] do name = name .. ', ' .. name_table[i]; -- concatenate with previous segments if name_table[i]:match ('^.*%)%)$') then -- if this table member has the closing doubled parens break; -- and done reassembling so end i=i+1; -- bump indexer end table.insert (output_table, name); -- and add corporate name to the output table table.insert (output_link_table, ''); -- no wikilink else wl_type, label, link = is_wikilink (name_table[i]); -- wl_type is: 0, no wl (text in label variable); 1, [[D]]; 2, [[L|D]] table.insert (output_table, label); -- add this name if 1 == wl_type then table.insert (output_link_table, label); -- simple wikilink [[D]] else table.insert (output_link_table, link); -- no wikilink or [[L|D]]; add this link if there is one, else empty string end end i = i+1; end return output_table; end --[[--------------------------< P A R S E _ V A U T H O R S _ V E D I T O R S >-------------------------------- This function extracts author / editor names from |vauthors= or |veditors= and finds matching |xxxxor-maskn= and |xxxxor-linkn= in args. It then returns a table of assembled names just as extract_names() does. Author / editor names in |vauthors= or |veditors= must be in Vancouver system style. Corporate or institutional names may sometimes be required and because such names will often fail the is_good_vanc_name() and other format compliance tests, are wrapped in doubled paranethese ((corporate name)) to suppress the format tests. Supports generational suffixes Jr, 2nd, 3rd, 4th–6th. This function sets the vancouver error when a reqired comma is missing and when there is a space between an author's initials. ]] local function parse_vauthors_veditors (args, vparam, list_name) local names = {}; -- table of names assembled from |vauthors=, |author-maskn=, |author-linkn= local v_name_table = {}; local v_link_table = {}; -- when name is wikilinked, targets go in this table local etal = false; -- return value set to true when we find some form of et al. vauthors parameter local last, first, link, mask, suffix; local corporate = false; vparam, etal = name_has_etal (vparam, etal, true); -- find and remove variations on et al. do not categorize (do it here because et al. might have a period) v_name_table = get_v_name_table (vparam, v_name_table, v_link_table); -- names are separated by commas for i, v_name in ipairs(v_name_table) do if v_name:match ('^%(%(.+%)%)$') then -- corporate authors are wrapped in doubled parentheses to supress vanc formatting and error detection first = ''; -- set to empty string for concatenation and because it may have been set for previous author/editor last = v_name:match ('^%(%((.+)%)%)$') -- remove doubled parntheses corporate = true; -- flag used in list_people() elseif string.find(v_name, "%s") then if v_name:find('[;%.]') then -- look for commonly occurring punctuation characters; add_vanc_error ('punctuation'); end local lastfirstTable = {} lastfirstTable = mw.text.split(v_name, "%s") first = table.remove(lastfirstTable); -- removes and returns value of last element in table which should be author intials if is_suffix (first) then -- if a valid suffix suffix = first -- save it as a suffix and first = table.remove(lastfirstTable); -- get what should be the initials from the table end -- no suffix error message here because letter combination may be result of Romanization; check for digits? last = table.concat(lastfirstTable, " ") -- returns a string that is the concatenation of all other names that are not initials if mw.ustring.match (last, '%a+%s+%u+%s+%a+') then add_vanc_error ('missing comma'); -- matches last II last; the case when a comma is missing end if mw.ustring.match (v_name, ' %u %u$') then -- this test is in the wrong place TODO: move or replace with a more appropriate test add_vanc_error ('name'); -- matches a space between two intiials end else first = ''; -- set to empty string for concatenation and because it may have been set for previous author/editor last = v_name; -- last name or single corporate name? Doesn't support multiword corporate names? do we need this? end if is_set (first) then if not mw.ustring.match (first, "^%u?%u$") then -- first shall contain one or two upper-case letters, nothing else add_vanc_error ('initials'); -- too many initials; mixed case initials (which may be ok Romanization); hyphenated initials end is_good_vanc_name (last, first); -- check first and last before restoring the suffix which may have a non-Latin digit if is_set (suffix) then first = first .. ' ' .. suffix; -- if there was a suffix concatenate with the initials suffix = ''; -- unset so we don't add this suffix to all subsequent names end else if not corporate then is_good_vanc_name (last, ''); end end link = select_one( args, cfg.aliases[list_name .. '-Link'], 'redundant_parameters', i ) or v_link_table[i]; mask = select_one( args, cfg.aliases[list_name .. '-Mask'], 'redundant_parameters', i ); names[i] = {last = last, first = first, link = link, mask = mask, corporate=corporate}; -- add this assembled name to our names list end return names, etal; -- all done, return our list of names end --[[--------------------------< S E L E C T _ A U T H O R _ E D I T O R _ S O U R C E >------------------------ Select one of |authors=, |authorn= / |lastn / firstn=, or |vauthors= as the source of the author name list or select one of |editors=, |editorn= / editor-lastn= / |editor-firstn= or |veditors= as the source of the editor name list. Only one of these appropriate three will be used. The hierarchy is: |authorn= (and aliases) highest and |authors= lowest and similarly, |editorn= (and aliases) highest and |editors= lowest When looking for |authorn= / |editorn= parameters, test |xxxxor1= and |xxxxor2= (and all of their aliases); stops after the second test which mimicks the test used in extract_names() when looking for a hole in the author name list. There may be a better way to do this, I just haven't discovered what that way is. Emits an error message when more than one xxxxor name source is provided. In this function, vxxxxors = vauthors or veditors; xxxxors = authors or editors as appropriate. ]] local function select_author_editor_source (vxxxxors, xxxxors, args, list_name) local lastfirst = false; if select_one( args, cfg.aliases[list_name .. '-Last'], 'none', 1 ) or -- do this twice incase we have a |first1= without a |last1=; this ... select_one( args, cfg.aliases[list_name .. '-First'], 'none', 1 ) or -- ... also catches the case where |first= is used with |vauthors= select_one( args, cfg.aliases[list_name .. '-Last'], 'none', 2 ) or select_one( args, cfg.aliases[list_name .. '-First'], 'none', 2 ) then lastfirst=true; end if (is_set (vxxxxors) and true == lastfirst) or -- these are the three error conditions (is_set (vxxxxors) and is_set (xxxxors)) or (true == lastfirst and is_set (xxxxors)) then local err_name; if 'AuthorList' == list_name then -- figure out which name should be used in error message err_name = 'author'; else err_name = 'editor'; end table.insert( z.message_tail, { set_error( 'redundant_parameters', {err_name .. '-name-list parameters'}, true ) } ); -- add error message end if true == lastfirst then return 1 end; -- return a number indicating which author name source to use if is_set (vxxxxors) then return 2 end; if is_set (xxxxors) then return 3 end; return 1; -- no authors so return 1; this allows missing author name test to run in case there is a first without last end --[[--------------------------< I S _ V A L I D _ P A R A M E T E R _ V A L U E >------------------------------ This function is used to validate a parameter's assigned value for those parameters that have only a limited number of allowable values (yes, y, true, no, etc). When the parameter value has not been assigned a value (missing or empty in the source template) the function returns true. If the parameter value is one of the list of allowed values returns true; else, emits an error message and returns false. ]] local function is_valid_parameter_value (value, name, possible) if not is_set (value) then return true; -- an empty parameter is ok elseif in_array(value:lower(), possible) then return true; else table.insert( z.message_tail, { set_error( 'invalid_param_val', {name, value}, true ) } ); -- not an allowed value so add error message return false end end --[[--------------------------< T E R M I N A T E _ N A M E _ L I S T >---------------------------------------- This function terminates a name list (author, contributor, editor) with a separator character (sepc) and a space when the last character is not a sepc character or when the last three characters are not sepc followed by two closing square brackets (close of a wikilink). When either of these is true, the name_list is terminated with a single space character. ]] local function terminate_name_list (name_list, sepc) if (string.sub (name_list,-3,-1) == sepc .. '. ') then -- if already properly terminated return name_list; -- just return the name list elseif (string.sub (name_list,-1,-1) == sepc) or (string.sub (name_list,-3,-1) == sepc .. ']]') then -- if last name in list ends with sepc char return name_list .. " "; -- don't add another else return name_list .. sepc .. ' '; -- otherwise terninate the name list end end --[[-------------------------< F O R M A T _ V O L U M E _ I S S U E >---------------------------------------- returns the concatenation of the formatted volume and issue parameters as a single string; or formatted volume or formatted issue, or an empty string if neither are set. ]] local function format_volume_issue (volume, issue, cite_class, origin, sepc, lower) if not is_set (volume) and not is_set (issue) then return ''; end if 'magazine' == cite_class or (in_array (cite_class, {'citation', 'map'}) and 'magazine' == origin) then if is_set (volume) and is_set (issue) then return wrap_msg ('vol-no', {sepc, volume, issue}, lower); elseif is_set (volume) then return wrap_msg ('vol', {sepc, volume}, lower); else return wrap_msg ('issue', {sepc, issue}, lower); end end local vol = ''; if is_set (volume) then if (4 < mw.ustring.len(volume)) then vol = substitute (cfg.messages['j-vol'], {sepc, volume}); else vol = substitute (cfg.presentation['vol-bold'], {sepc, hyphen_to_dash(volume)}); end end if is_set (issue) then return vol .. substitute (cfg.messages['j-issue'], issue); end return vol; end --[[-------------------------< F O R M A T _ P A G E S _ S H E E T S >----------------------------------------- adds static text to one of |page(s)= or |sheet(s)= values and returns it with all of the others set to empty strings. The return order is: page, pages, sheet, sheets Singular has priority over plural when both are provided. ]] local function format_pages_sheets (page, pages, sheet, sheets, cite_class, origin, sepc, nopp, lower) if 'map' == cite_class then -- only cite map supports sheet(s) as in-source locators if is_set (sheet) then if 'journal' == origin then return '', '', wrap_msg ('j-sheet', sheet, lower), ''; else return '', '', wrap_msg ('sheet', {sepc, sheet}, lower), ''; end elseif is_set (sheets) then if 'journal' == origin then return '', '', '', wrap_msg ('j-sheets', sheets, lower); else return '', '', '', wrap_msg ('sheets', {sepc, sheets}, lower); end end end local is_journal = 'journal' == cite_class or (in_array (cite_class, {'citation', 'map', 'interview'}) and 'journal' == origin); if is_set (page) then if is_journal then return substitute (cfg.messages['j-page(s)'], page), '', '', ''; elseif not nopp then return substitute (cfg.messages['p-prefix'], {sepc, page}), '', '', ''; else return substitute (cfg.messages['nopp'], {sepc, page}), '', '', ''; end elseif is_set(pages) then if is_journal then return substitute (cfg.messages['j-page(s)'], pages), '', '', ''; elseif tonumber(pages) ~= nil and not nopp then -- if pages is only digits, assume a single page number return '', substitute (cfg.messages['p-prefix'], {sepc, pages}), '', ''; elseif not nopp then return '', substitute (cfg.messages['pp-prefix'], {sepc, pages}), '', ''; else return '', substitute (cfg.messages['nopp'], {sepc, pages}), '', ''; end end return '', '', '', ''; -- return empty strings end --[=[-------------------------< A R C H I V E _ U R L _ C H E C K >-------------------------------------------- Check archive.org urls to make sure they at least look like they are pointing at valid archives and not to the save snapshot url or to calendar pages. When the archive url is 'https://web.archive.org/save/' (or http://...) archive.org saves a snapshot of the target page in the url. That is something that Wikipedia should not allow unwitting readers to do. When the archive.org url does not have a complete timestamp, archive.org chooses a snapshot according to its own algorithm or provides a calendar 'search' result. [[WP:ELNO]] discourages links to search results. This function looks at the value assigned to |archive-url= and returns empty strings for |archive-url= and |archive-date= and an error message when: |archive-url= holds an archive.org save command url |archive-url= is an archive.org url that does not have a complete timestamp (YYYYMMDDhhmmss 14 digits) in the correct place otherwise returns |archive-url= and |archive-date= There are two mostly compatible archive.org urls: //web.archive.org/<timestamp>... -- the old form //web.archive.org/web/<timestamp>... -- the new form The old form does not support or map to the new form when it contains a display flag. There are four identified flags ('id_', 'js_', 'cs_', 'im_') but since archive.org ignores others following the same form (two letters and an underscore) we don't check for these specific flags but we do check the form. This function supports a preview mode. When the article is rendered in preview mode, this funct may return a modified archive url: for save command errors, return undated wildcard (/*/) for timestamp errors when the timestamp has a wildcard, return the url unmodified for timestamp errors when the timestamp does not have a wildcard, return with timestamp limited to six digits plus wildcard (/yyyymm*/) ]=] local function archive_url_check (url, date) local err_msg = ''; -- start with the error message empty local path, timestamp, flag; -- portions of the archive.or url if (not url:match('//web%.archive%.org/')) and (not url:match('//liveweb%.archive%.org/')) then -- also deprecated liveweb Wayback machine url return url, date; -- not an archive.org archive, return ArchiveURL and ArchiveDate end if url:match('//web%.archive%.org/save/') then -- if a save command url, we don't want to allow saving of the target page err_msg = 'save command'; url = url:gsub ('(//web%.archive%.org)/save/', '%1/*/', 1); -- for preview mode: modify ArchiveURL elseif url:match('//liveweb%.archive%.org/') then err_msg = 'liveweb'; else path, timestamp, flag = url:match('//web%.archive%.org/([^%d]*)(%d+)([^/]*)/'); -- split out some of the url parts for evaluation if not is_set(timestamp) or 14 ~= timestamp:len() then -- path and flag optional, must have 14-digit timestamp here err_msg = 'timestamp'; if '*' ~= flag then url=url:gsub ('(//web%.archive%.org/[^%d]*%d?%d?%d?%d?%d?%d?)[^/]*', '%1*', 1) -- for preview, modify ts to be yearmo* max (0-6 digits plus splat) end elseif is_set(path) and 'web/' ~= path then -- older archive urls do not have the extra 'web/' path element err_msg = 'path'; elseif is_set (flag) and not is_set (path) then -- flag not allowed with the old form url (without the 'web/' path element) err_msg = 'flag'; elseif is_set (flag) and not flag:match ('%a%a_') then -- flag if present must be two alpha characters and underscore (requires 'web/' path element) err_msg = 'flag'; else return url, date; -- return archiveURL and ArchiveDate end end -- if here, something not right so table.insert( z.message_tail, { set_error( 'archive_url', {err_msg}, true ) } ); -- add error message and if is_set (Frame:preprocess('{{REVISIONID}}')) then return '', ''; -- return empty strings for archiveURL and ArchiveDate else return url, date; -- preview mode so return archiveURL and ArchiveDate end end --[[--------------------------< M I S S I N G _ P I P E _ C H E C K >------------------------------------------ Look at the contents of a parameter. If the content has a string of characters and digits followed by an equal sign, compare the alphanumeric string to the list of cs1|2 parameters. If found, then the string is possibly a parameter that is missing its pipe: {{cite ... |title=Title access-date=2016-03-17}} cs1|2 shares some parameter names with xml/html atributes: class=, title=, etc. To prevent false positives xml/html tags are removed before the search. If a missing pipe is detected, this function adds the missing pipe maintenance category. ]] local function missing_pipe_check (value) local capture; value = value:gsub ('%b<>', ''); -- remove xml/html tags because attributes: class=, title=, etc capture = value:match ('%s+(%a[%a%d]+)%s*=') or value:match ('^(%a[%a%d]+)%s*='); -- find and categorize parameters with possible missing pipes if capture and validate (capture) then -- if the capture is a valid parameter name add_maint_cat ('missing_pipe'); end end --[[--------------------------< C I T A T I O N 0 >------------------------------------------------------------ This is the main function doing the majority of the citation formatting. ]] local function citation0( config, args) --[[ Load Input Parameters The argument_wrapper facilitates the mapping of multiple aliases to single internal variable. ]] local A = argument_wrapper( args ); local i -- Pick out the relevant fields from the arguments. Different citation templates -- define different field names for the same underlying things. -- set default parameter values defined by |mode= parameter. local Mode = A['Mode']; if not is_valid_parameter_value (Mode, 'mode', cfg.keywords['mode']) then Mode = ''; end local author_etal; local a = {}; -- authors list from |lastn= / |firstn= pairs or |vauthors= local Authors; local NameListFormat = A['NameListFormat']; local Collaboration = A['Collaboration']; do -- to limit scope of selected local selected = select_author_editor_source (A['Vauthors'], A['Authors'], args, 'AuthorList'); if 1 == selected then a, author_etal = extract_names (args, 'AuthorList'); -- fetch author list from |authorn= / |lastn= / |firstn=, |author-linkn=, and |author-maskn= elseif 2 == selected then NameListFormat = 'vanc'; -- override whatever |name-list-format= might be a, author_etal = parse_vauthors_veditors (args, args.vauthors, 'AuthorList'); -- fetch author list from |vauthors=, |author-linkn=, and |author-maskn= elseif 3 == selected then Authors = A['Authors']; -- use content of |authors= if 'authors' == A:ORIGIN('Authors') then -- but add a maint cat if the parameter is |authors= add_maint_cat ('authors'); -- because use of this parameter is discouraged; what to do about the aliases is a TODO: end end if is_set (Collaboration) then author_etal = true; -- so that |display-authors=etal not required end end local Others = A['Others']; local editor_etal; local e = {}; -- editors list from |editor-lastn= / |editor-firstn= pairs or |veditors= local Editors; do -- to limit scope of selected local selected = select_author_editor_source (A['Veditors'], A['Editors'], args, 'EditorList'); if 1 == selected then e, editor_etal = extract_names (args, 'EditorList'); -- fetch editor list from |editorn= / |editor-lastn= / |editor-firstn=, |editor-linkn=, and |editor-maskn= elseif 2 == selected then NameListFormat = 'vanc'; -- override whatever |name-list-format= might be e, editor_etal = parse_vauthors_veditors (args, args.veditors, 'EditorList'); -- fetch editor list from |veditors=, |editor-linkn=, and |editor-maskn= elseif 3 == selected then Editors = A['Editors']; -- use content of |editors= add_maint_cat ('editors'); -- but add a maint cat because use of this parameter is discouraged end end local t = {}; -- translators list from |translator-lastn= / translator-firstn= pairs local Translators; -- assembled translators name list t = extract_names (args, 'TranslatorList'); -- fetch translator list from |translatorn= / |translator-lastn=, -firstn=, -linkn=, -maskn= local interviewers_list = {}; local Interviewers = A['Interviewers'] if is_set (Interviewers) then -- add a maint cat if the |interviewers= is used add_maint_cat ('interviewers'); -- because use of this parameter is discouraged else interviewers_list = extract_names (args, 'InterviewerList'); -- else, process preferred interviewers parameters end local c = {}; -- contributors list from |contributor-lastn= / contributor-firstn= pairs local Contributors; -- assembled contributors name list local Contribution = A['Contribution']; if in_array(config.CitationClass, {"book","citation"}) and not is_set(A['Periodical']) then -- |contributor= and |contribution= only supported in book cites c = extract_names (args, 'ContributorList'); -- fetch contributor list from |contributorn= / |contributor-lastn=, -firstn=, -linkn=, -maskn= if 0 < #c then if not is_set (Contribution) then -- |contributor= requires |contribution= table.insert( z.message_tail, { set_error( 'contributor_missing_required_param', 'contribution')}); -- add missing contribution error message c = {}; -- blank the contributors' table; it is used as a flag later end if 0 == #a then -- |contributor= requires |author= table.insert( z.message_tail, { set_error( 'contributor_missing_required_param', 'author')}); -- add missing author error message c = {}; -- blank the contributors' table; it is used as a flag later end end else -- if not a book cite if select_one (args, cfg.aliases['ContributorList-Last'], 'redundant_parameters', 1 ) then -- are there contributor name list parameters? table.insert( z.message_tail, { set_error( 'contributor_ignored')}); -- add contributor ignored error message end Contribution = nil; -- unset end if not is_valid_parameter_value (NameListFormat, 'name-list-format', cfg.keywords['name-list-format']) then -- only accepted value for this parameter is 'vanc' NameListFormat = ''; -- anything else, set to empty string end local Year = A['Year']; local PublicationDate = A['PublicationDate']; local OrigYear = A['OrigYear']; local Date = A['Date']; local LayDate = A['LayDate']; ------------------------------------------------- Get title data local Title = A['Title']; local ScriptTitle = A['ScriptTitle']; local BookTitle = A['BookTitle']; local Conference = A['Conference']; local TransTitle = A['TransTitle']; local TitleNote = A['TitleNote']; local TitleLink = A['TitleLink']; link_title_ok (TitleLink, A:ORIGIN ('TitleLink'), Title, 'title'); -- check for wikimarkup in |title-link= or wikimarkup in |title= when |title-link= is set local Chapter = A['Chapter']; local ScriptChapter = A['ScriptChapter']; local ChapterLink -- = A['ChapterLink']; -- deprecated as a parameter but still used internally by cite episode local TransChapter = A['TransChapter']; local TitleType = A['TitleType']; local Degree = A['Degree']; local Docket = A['Docket']; local ArchiveFormat = A['ArchiveFormat']; local ArchiveDate; local ArchiveURL; ArchiveURL, ArchiveDate = archive_url_check (A['ArchiveURL'], A['ArchiveDate']) local UrlStatus = A['UrlStatus']; if 'url-status' == A:ORIGIN ('UrlStatus') then -- interim: TODO: this line goes away if not is_valid_parameter_value (UrlStatus, 'url-status', cfg.keywords ['url-status']) then -- set in config.defaults to 'dead' UrlStatus = ''; -- anything else, set to empty string end -- interim: TODO: this line goes away elseif is_set (A:ORIGIN ('UrlStatus')) then -- interim: while both |dead-url= and |url-status= allowed use separate keyword lists; TODO: remove this section if not is_valid_parameter_value (UrlStatus, A:ORIGIN ('UrlStatus'), cfg.keywords ['deadurl']) then -- interim: assume |dead-url=; use those keywords; TODO: this line goes away UrlStatus = ''; -- anything else, set to empty string; interim: TODO: this line goes away end -- interim: TODO: this line goes away end -- interim: TODO: this line goes away if in_array (UrlStatus, {'yes', 'true', 'y'}) then -- TODO: remove this whole thing when |dead-url=[yes|no] parameters removed from articles UrlStatus = 'dead'; elseif 'no' == UrlStatus then UrlStatus = 'live'; end local URL = A['URL'] local URLorigin = A:ORIGIN('URL'); -- get name of parameter that holds URL local ChapterURL = A['ChapterURL']; local ChapterURLorigin = A:ORIGIN('ChapterURL'); -- get name of parameter that holds ChapterURL local ConferenceFormat = A['ConferenceFormat']; local ConferenceURL = A['ConferenceURL']; local ConferenceURLorigin = A:ORIGIN('ConferenceURL'); -- get name of parameter that holds ConferenceURL local Periodical = A['Periodical']; local Periodical_origin = A:ORIGIN('Periodical'); -- get the name of the periodical parameter local Series = A['Series']; local Volume; local Issue; local Page; local Pages; local At; if in_array (config.CitationClass, cfg.templates_using_volume) then Volume = A['Volume']; end -- conference & map books do not support issue if in_array (config.CitationClass, cfg.templates_using_issue) and not (in_array (config.CitationClass, {'conference', 'map'}) and not is_set (Periodical))then Issue = A['Issue']; end local Position = ''; if not in_array (config.CitationClass, cfg.templates_not_using_page) then Page = A['Page']; Pages = hyphen_to_dash( A['Pages'] ); At = A['At']; end local Edition = A['Edition']; local PublicationPlace = A['PublicationPlace'] local Place = A['Place']; local PublisherName = A['PublisherName']; local RegistrationRequired = A['RegistrationRequired']; if not is_valid_parameter_value (RegistrationRequired, 'registration', cfg.keywords ['yes_true_y']) then RegistrationRequired=nil; end local SubscriptionRequired = A['SubscriptionRequired']; if not is_valid_parameter_value (SubscriptionRequired, 'subscription', cfg.keywords ['yes_true_y']) then SubscriptionRequired=nil; end local UrlAccess = A['UrlAccess']; if not is_valid_parameter_value (UrlAccess, 'url-access', cfg.keywords ['url-access']) then UrlAccess = nil; end if not is_set(URL) and is_set(UrlAccess) then UrlAccess = nil; table.insert( z.message_tail, { set_error( 'param_access_requires_param', {'url'}, true ) } ); end if is_set (UrlAccess) and is_set (SubscriptionRequired) then -- while not aliases, these are much the same so if both are set table.insert( z.message_tail, { set_error( 'redundant_parameters', {wrap_style ('parameter', 'url-access') .. ' and ' .. wrap_style ('parameter', 'subscription')}, true ) } ); -- add error message SubscriptionRequired = nil; -- unset; prefer |access= over |subscription= end if is_set (UrlAccess) and is_set (RegistrationRequired) then -- these are not the same but contradictory so if both are set table.insert( z.message_tail, { set_error( 'redundant_parameters', {wrap_style ('parameter', 'url-access') .. ' and ' .. wrap_style ('parameter', 'registration')}, true ) } ); -- add error message RegistrationRequired = nil; -- unset; prefer |access= over |registration= end local ChapterUrlAccess = A['ChapterUrlAccess']; if not is_valid_parameter_value (ChapterUrlAccess, 'chapter-url-access', cfg.keywords ['url-access']) then -- same as url-access ChapterUrlAccess = nil; end if not is_set(ChapterURL) and is_set(ChapterUrlAccess) then ChapterUrlAccess = nil; table.insert( z.message_tail, { set_error( 'param_access_requires_param', {'chapter-url'}, true ) } ); end local Via = A['Via']; local AccessDate = A['AccessDate']; local Agency = A['Agency']; local Language = A['Language']; local Format = A['Format']; local ChapterFormat = A['ChapterFormat']; local DoiBroken = A['DoiBroken']; local ID = A['ID']; local ASINTLD = A['ASINTLD']; local IgnoreISBN = A['IgnoreISBN']; if not is_valid_parameter_value (IgnoreISBN, 'ignore-isbn-error', cfg.keywords ['yes_true_y']) then IgnoreISBN = nil; -- anything else, set to empty string end local Embargo = A['Embargo']; local Class = A['Class']; -- arxiv class identifier local ID_list = extract_ids( args ); local ID_access_levels = extract_id_access_levels( args, ID_list ); local Quote = A['Quote']; local LayFormat = A['LayFormat']; local LayURL = A['LayURL']; local LaySource = A['LaySource']; local Transcript = A['Transcript']; local TranscriptFormat = A['TranscriptFormat']; local TranscriptURL = A['TranscriptURL'] local TranscriptURLorigin = A:ORIGIN('TranscriptURL'); -- get name of parameter that holds TranscriptURL local LastAuthorAmp = A['LastAuthorAmp']; if not is_valid_parameter_value (LastAuthorAmp, 'last-author-amp', cfg.keywords ['yes_true_y']) then LastAuthorAmp = nil; -- set to empty string end local no_tracking_cats = A['NoTracking']; if not is_valid_parameter_value (no_tracking_cats, 'no-tracking', cfg.keywords ['yes_true_y']) then no_tracking_cats = nil; -- set to empty string end --local variables that are not cs1 parameters local use_lowercase; -- controls capitalization of certain static text local this_page = mw.title.getCurrentTitle(); -- also used for COinS and for language local anchor_year; -- used in the CITEREF identifier local COinS_date = {}; -- holds date info extracted from |date= for the COinS metadata by Module:Date verification local DF = is_set(A['DF']) and A['DF'] or 'dmy-all'; -- date format set in cs1|2 template if not is_valid_parameter_value (DF, 'df', cfg.keywords['date-format']) then -- validate reformatting keyword DF = ''; -- not valid, set to empty string end local sepc; -- separator between citation elements for CS1 a period, for CS2, a comma local PostScript; local Ref; sepc, PostScript, Ref = set_style (Mode:lower(), A['PostScript'], A['Ref'], config.CitationClass); use_lowercase = ( sepc == ',' ); -- used to control capitalization for certain static text --check this page to see if it is in one of the namespaces that cs1 is not supposed to add to the error categories if not is_set (no_tracking_cats) then -- ignore if we are already not going to categorize this page if in_array (this_page.nsText, cfg.uncategorized_namespaces) then no_tracking_cats = "true"; -- set no_tracking_cats end for _,v in ipairs (cfg.uncategorized_subpages) do -- cycle through page name patterns if this_page.text:match (v) then -- test page name against each pattern no_tracking_cats = "true"; -- set no_tracking_cats break; -- bail out if one is found end end end -- check for extra |page=, |pages= or |at= parameters. (also sheet and sheets while we're at it) select_one( args, {'page', 'p', 'pp', 'pages', 'at', 'sheet', 'sheets'}, 'redundant_parameters' ); -- this is a dummy call simply to get the error message and category local NoPP = A['NoPP'] if is_set (NoPP) and is_valid_parameter_value (NoPP, 'nopp', cfg.keywords ['yes_true_y']) then NoPP = true; else NoPP = nil; -- unset, used as a flag later end if is_set(Page) then if is_set(Pages) or is_set(At) then Pages = ''; -- unset the others At = ''; end extra_text_in_page_check (Page); -- add this page to maint cat if |page= value begins with what looks like p. or pp. elseif is_set(Pages) then if is_set(At) then At = ''; -- unset end extra_text_in_page_check (Pages); -- add this page to maint cat if |pages= value begins with what looks like p. or pp. end -- both |publication-place= and |place= (|location=) allowed if different if not is_set(PublicationPlace) and is_set(Place) then PublicationPlace = Place; -- promote |place= (|location=) to |publication-place end if PublicationPlace == Place then Place = ''; end -- don't need both if they are the same --[[ Parameter remapping for cite encyclopedia: When the citation has these parameters: |encyclopedia and |title then map |title to |article and |encyclopedia to |title |encyclopedia and |article then map |encyclopedia to |title |encyclopedia then map |encyclopedia to |title |trans-title maps to |trans-chapter when |title is re-mapped |url maps to |chapterurl when |title is remapped All other combinations of |encyclopedia, |title, and |article are not modified ]] local Encyclopedia = A['Encyclopedia']; if ( config.CitationClass == "encyclopaedia" ) or ( config.CitationClass == "citation" and is_set (Encyclopedia)) then -- test code for citation if is_set(Periodical) then -- Periodical is set when |encyclopedia is set if is_set(Title) or is_set (ScriptTitle) then if not is_set(Chapter) then Chapter = Title; -- |encyclopedia and |title are set so map |title to |article and |encyclopedia to |title ScriptChapter = ScriptTitle; TransChapter = TransTitle; ChapterURL = URL; ChapterUrlAccess = UrlAccess; if not is_set (ChapterURL) and is_set (TitleLink) then Chapter = make_wikilink (TitleLink, Chapter); end Title = Periodical; ChapterFormat = Format; Periodical = ''; -- redundant so unset TransTitle = ''; URL = ''; Format = ''; TitleLink = ''; ScriptTitle = ''; end else -- |title not set Title = Periodical; -- |encyclopedia set and |article set or not set so map |encyclopedia to |title Periodical = ''; -- redundant so unset end end end -- Special case for cite techreport. if (config.CitationClass == "techreport") then -- special case for cite techreport if is_set(A['Number']) then -- cite techreport uses 'number', which other citations alias to 'issue' if not is_set(ID) then -- can we use ID for the "number"? ID = A['Number']; -- yes, use it else -- ID has a value so emit error message table.insert( z.message_tail, { set_error('redundant_parameters', {wrap_style ('parameter', 'id') .. ' and ' .. wrap_style ('parameter', 'number')}, true )}); end end end -- special case for cite mailing list if (config.CitationClass == "mailinglist") then Periodical = A ['MailingList']; elseif 'mailinglist' == A:ORIGIN('Periodical') then Periodical = ''; -- unset because mailing list is only used for cite mailing list end -- Account for the oddity that is {{cite conference}}, before generation of COinS data. if 'conference' == config.CitationClass then if is_set(BookTitle) then Chapter = Title; -- ChapterLink = TitleLink; -- |chapterlink= is deprecated ChapterURL = URL; ChapterUrlAccess = UrlAccess; ChapterURLorigin = URLorigin; URLorigin = ''; ChapterFormat = Format; TransChapter = TransTitle; Title = BookTitle; Format = ''; -- TitleLink = ''; TransTitle = ''; URL = ''; end elseif 'speech' ~= config.CitationClass then Conference = ''; -- not cite conference or cite speech so make sure this is empty string end -- cite map oddities local Cartography = ""; local Scale = ""; local Sheet = A['Sheet'] or ''; local Sheets = A['Sheets'] or ''; if config.CitationClass == "map" then Chapter = A['Map']; ChapterURL = A['MapURL']; ChapterUrlAccess = UrlAccess; TransChapter = A['TransMap']; ChapterURLorigin = A:ORIGIN('MapURL'); ChapterFormat = A['MapFormat']; Cartography = A['Cartography']; if is_set( Cartography ) then Cartography = sepc .. " " .. wrap_msg ('cartography', Cartography, use_lowercase); end Scale = A['Scale']; if is_set( Scale ) then Scale = sepc .. " " .. Scale; end end -- Account for the oddities that are {{cite episode}} and {{cite serial}}, before generation of COinS data. if 'episode' == config.CitationClass or 'serial' == config.CitationClass then local AirDate = A['AirDate']; local SeriesLink = A['SeriesLink']; link_title_ok (SeriesLink, A:ORIGIN ('SeriesLink'), Series, 'series'); -- check for wikimarkup in |series-link= or wikimarkup in |series= when |series-link= is set local Network = A['Network']; local Station = A['Station']; local s, n = {}, {}; -- do common parameters first if is_set(Network) then table.insert(n, Network); end if is_set(Station) then table.insert(n, Station); end ID = table.concat(n, sepc .. ' '); if not is_set (Date) and is_set (AirDate) then -- promote airdate to date Date = AirDate; end if 'episode' == config.CitationClass then -- handle the oddities that are strictly {{cite episode}} local Season = A['Season']; local SeriesNumber = A['SeriesNumber']; if is_set (Season) and is_set (SeriesNumber) then -- these are mutually exclusive so if both are set table.insert( z.message_tail, { set_error( 'redundant_parameters', {wrap_style ('parameter', 'season') .. ' and ' .. wrap_style ('parameter', 'seriesno')}, true ) } ); -- add error message SeriesNumber = ''; -- unset; prefer |season= over |seriesno= end -- assemble a table of parts concatenated later into Series if is_set(Season) then table.insert(s, wrap_msg ('season', Season, use_lowercase)); end if is_set(SeriesNumber) then table.insert(s, wrap_msg ('series', SeriesNumber, use_lowercase)); end if is_set(Issue) then table.insert(s, wrap_msg ('episode', Issue, use_lowercase)); end Issue = ''; -- unset because this is not a unique parameter Chapter = Title; -- promote title parameters to chapter ScriptChapter = ScriptTitle; ChapterLink = TitleLink; -- alias episodelink TransChapter = TransTitle; ChapterURL = URL; ChapterUrlAccess = UrlAccess; ChapterURLorigin = A:ORIGIN('URL'); Title = Series; -- promote series to title TitleLink = SeriesLink; Series = table.concat(s, sepc .. ' '); -- this is concatenation of season, seriesno, episode number if is_set (ChapterLink) and not is_set (ChapterURL) then -- link but not URL Chapter = make_wikilink (ChapterLink, Chapter); elseif is_set (ChapterLink) and is_set (ChapterURL) then -- if both are set, URL links episode; Series = make_wikilink (ChapterLink, Series); end URL = ''; -- unset TransTitle = ''; ScriptTitle = ''; else -- now oddities that are cite serial Issue = ''; -- unset because this parameter no longer supported by the citation/core version of cite serial Chapter = A['Episode']; -- TODO: make |episode= available to cite episode someday? if is_set (Series) and is_set (SeriesLink) then Series = make_wikilink (SeriesLink, Series); end Series = wrap_style ('italic-title', Series); -- series is italicized end end -- end of {{cite episode}} stuff -- Account for the oddities that are {{cite arxiv}}, {{cite biorxiv}}, {{cite citeseerx}}, before generation of COinS data. do if in_array (config.CitationClass, {'arxiv', 'biorxiv', 'citeseerx'}) then if not is_set (ID_list[config.CitationClass:upper()]) then -- |arxiv= or |eprint= required for cite arxiv; |biorxiv= & |citeseerx= required for their templates table.insert( z.message_tail, { set_error( config.CitationClass .. '_missing', {}, true ) } ); -- add error message end if 'arxiv' == config.CitationClass then Periodical = 'arXiv'; -- set to arXiv for COinS; after that, must be set to empty string end if 'biorxiv' == config.CitationClass then Periodical = 'bioRxiv'; -- set to bioRxiv for COinS; after that, must be set to empty string end if 'citeseerx' == config.CitationClass then Periodical = 'CiteSeerX'; -- set to CiteSeerX for COinS; after that, must be set to empty string end end end -- handle type parameter for those CS1 citations that have default values if in_array(config.CitationClass, {"AV-media-notes", "interview", "mailinglist", "map", "podcast", "pressrelease", "report", "techreport", "thesis"}) then TitleType = set_titletype (config.CitationClass, TitleType); if is_set(Degree) and "Thesis" == TitleType then -- special case for cite thesis TitleType = Degree .. ' ' .. cfg.title_types ['thesis']:lower(); end end if is_set(TitleType) then -- if type parameter is specified TitleType = substitute( cfg.messages['type'], TitleType); -- display it in parentheses -- TODO: Hack on TitleType to fix bunched parentheses problem end -- legacy: promote PublicationDate to Date if neither Date nor Year are set. local Date_origin; -- to hold the name of parameter promoted to Date; required for date error messaging if not is_set (Date) then Date = Year; -- promote Year to Date Year = nil; -- make nil so Year as empty string isn't used for CITEREF if not is_set (Date) and is_set(PublicationDate) then -- use PublicationDate when |date= and |year= are not set Date = PublicationDate; -- promote PublicationDate to Date PublicationDate = ''; -- unset, no longer needed Date_origin = A:ORIGIN('PublicationDate'); -- save the name of the promoted parameter else Date_origin = A:ORIGIN('Year'); -- save the name of the promoted parameter end else Date_origin = A:ORIGIN('Date'); -- not a promotion; name required for error messaging end if PublicationDate == Date then PublicationDate = ''; end -- if PublicationDate is same as Date, don't display in rendered citation --[[ Go test all of the date-holding parameters for valid MOS:DATE format and make sure that dates are real dates. This must be done before we do COinS because here is where we get the date used in the metadata. Date validation supporting code is in Module:Citation/CS1/Date_validation ]] do -- create defined block to contain local variables error_message, date_parameters_list, mismatch local error_message = ''; -- AirDate has been promoted to Date so not necessary to check it -- local date_parameters_list = {['access-date']=AccessDate, ['archive-date']=ArchiveDate, ['date']=Date, ['doi-broken-date']=DoiBroken, -- ['embargo']=Embargo, ['lay-date']=LayDate, ['publication-date']=PublicationDate, ['year']=Year}; local date_parameters_list = { ['access-date'] = {val=AccessDate, name=A:ORIGIN ('AccessDate')}, ['archive-date'] = {val=ArchiveDate, name=A:ORIGIN ('ArchiveDate')}, ['date'] = {val=Date, name=Date_origin}, ['doi-broken-date'] = {val=DoiBroken, name=A:ORIGIN ('DoiBroken')}, ['embargo'] = {val=Embargo, name=A:ORIGIN ('Embargo')}, ['lay-date'] = {val=LayDate, name=A:ORIGIN ('LayDate')}, ['publication-date'] ={val=PublicationDate, name=A:ORIGIN ('PublicationDate')}, ['year'] = {val=Year, name=A:ORIGIN ('Year')}, }; anchor_year, Embargo, error_message = dates(date_parameters_list, COinS_date); -- start temporary Julian / Gregorian calendar uncertainty categorization if COinS_date.inter_cal_cat then add_prop_cat ('jul_greg_uncertainty'); end -- end temporary Julian / Gregorian calendar uncertainty categorization if is_set (Year) and is_set (Date) then -- both |date= and |year= not normally needed; local mismatch = year_date_check (Year, Date) if 0 == mismatch then -- |year= does not match a year-value in |date= if is_set (error_message) then -- if there is already an error message error_message = error_message .. ', '; -- tack on this additional message end error_message = error_message .. '&#124;year= / &#124;date= mismatch'; elseif 1 == mismatch then -- |year= matches year-value in |date= add_maint_cat ('date_year'); end end if not is_set(error_message) then -- error free dates only local modified = false; -- flag if is_set (DF) then -- if we need to reformat dates modified = reformat_dates (date_parameters_list, DF, false); -- reformat to DF format, use long month names if appropriate end if true == date_hyphen_to_dash (date_parameters_list) then -- convert hyphens to dashes where appropriate modified = true; add_maint_cat ('date_format'); -- hyphens were converted so add maint category end -- for those wikis that can and want to have English date names translated to the local language, -- uncomment these three lines. Not supported by en.wiki (for obvious reasons) -- set date_name_xlate() second argument to true to translate English digits to local digits (will translate ymd dates) if date_name_xlate (date_parameters_list, false) then modified = true; end if modified then -- if the date_parameters_list values were modified AccessDate = date_parameters_list['access-date'].val; -- overwrite date holding parameters with modified values ArchiveDate = date_parameters_list['archive-date'].val; Date = date_parameters_list['date'].val; DoiBroken = date_parameters_list['doi-broken-date'].val; LayDate = date_parameters_list['lay-date'].val; PublicationDate = date_parameters_list['publication-date'].val; end else table.insert( z.message_tail, { set_error( 'bad_date', {error_message}, true ) } ); -- add this error message end end -- end of do -- Account for the oddity that is {{cite journal}} with |pmc= set and |url= not set. Do this after date check but before COInS. -- Here we unset Embargo if PMC not embargoed (|embargo= not set in the citation) or if the embargo time has expired. Otherwise, holds embargo date Embargo = is_embargoed (Embargo); if config.CitationClass == "journal" and not is_set(URL) and is_set(ID_list['PMC']) then if not is_set (Embargo) then -- if not embargoed or embargo has expired URL=cfg.id_handlers['PMC'].prefix .. ID_list['PMC']; -- set url to be the same as the PMC external link if not embargoed URLorigin = cfg.id_handlers['PMC'].parameters[1]; -- set URLorigin to parameter name for use in error message if citation is missing a |title= if is_set(AccessDate) then -- access date requires |url=; pmc created url is not |url= table.insert( z.message_tail, { set_error( 'accessdate_missing_url', {}, true ) } ); AccessDate = ''; -- unset end end end -- At this point fields may be nil if they weren't specified in the template use. We can use that fact. -- Test if citation has no title if not is_set(Title) and not is_set(TransTitle) and not is_set(ScriptTitle) then if 'episode' == config.CitationClass then -- special case for cite episode; TODO: is there a better way to do this? table.insert( z.message_tail, { set_error( 'citation_missing_title', {'series'}, true ) } ); else table.insert( z.message_tail, { set_error( 'citation_missing_title', {'title'}, true ) } ); end end if 'none' == Title and in_array (config.CitationClass, {'journal', 'citation'}) and is_set (Periodical) and 'journal' == A:ORIGIN('Periodical') then -- special case for journal cites Title = ''; -- set title to empty string add_maint_cat ('untitled'); end check_for_url ({ -- add error message when any of these parameters contains a URL ['title']=Title, [A:ORIGIN('Chapter')]=Chapter, [A:ORIGIN('Periodical')]=Periodical, [A:ORIGIN('PublisherName')] = PublisherName }); -- COinS metadata (see <http://ocoins.info/>) for automated parsing of citation information. -- handle the oddity that is cite encyclopedia and {{citation |encyclopedia=something}}. Here we presume that -- when Periodical, Title, and Chapter are all set, then Periodical is the book (encyclopedia) title, Title -- is the article title, and Chapter is a section within the article. So, we remap local coins_chapter = Chapter; -- default assuming that remapping not required local coins_title = Title; -- et tu if 'encyclopaedia' == config.CitationClass or ('citation' == config.CitationClass and is_set (Encyclopedia)) then if is_set (Chapter) and is_set (Title) and is_set (Periodical) then -- if all are used then coins_chapter = Title; -- remap coins_title = Periodical; end end local coins_author = a; -- default for coins rft.au if 0 < #c then -- but if contributor list coins_author = c; -- use that instead end -- this is the function call to COinS() local OCinSoutput = COinS({ ['Periodical'] = Periodical, ['Encyclopedia'] = Encyclopedia, ['Chapter'] = make_coins_title (coins_chapter, ScriptChapter), -- Chapter and ScriptChapter stripped of bold / italic wikimarkup ['Degree'] = Degree; -- cite thesis only ['Title'] = make_coins_title (coins_title, ScriptTitle), -- Title and ScriptTitle stripped of bold / italic wikimarkup ['PublicationPlace'] = PublicationPlace, ['Date'] = COinS_date.rftdate, -- COinS_date has correctly formatted date if Date is valid; ['Season'] = COinS_date.rftssn, ['Chron'] = COinS_date.rftchron or (not COinS_date.rftdate and Date) or '', -- chron but if not set and invalid date format use Date; keep this last bit? ['Series'] = Series, ['Volume'] = Volume, ['Issue'] = Issue, ['Pages'] = get_coins_pages (first_set ({Sheet, Sheets, Page, Pages, At}, 5)), -- pages stripped of external links ['Edition'] = Edition, ['PublisherName'] = PublisherName, ['URL'] = first_set ({ChapterURL, URL}, 2), ['Authors'] = coins_author, ['ID_list'] = ID_list, ['RawPage'] = this_page.prefixedText, }, config.CitationClass); -- Account for the oddities that are {{cite arxiv}}, {{cite biorxiv}}, and {{cite citeseerx}} AFTER generation of COinS data. if in_array (config.CitationClass, {'arxiv', 'biorxiv', 'citeseerx'}) then -- we have set rft.jtitle in COinS to arXiv, bioRxiv, or CiteSeerX now unset so it isn't displayed Periodical = ''; -- periodical not allowed in these templates; if article has been published, use cite journal end -- special case for cite newsgroup. Do this after COinS because we are modifying Publishername to include some static text if 'newsgroup' == config.CitationClass then if is_set (PublisherName) then PublisherName = substitute (cfg.messages['newsgroup'], external_link( 'news:' .. PublisherName, PublisherName, A:ORIGIN('PublisherName'), nil )); end end -- Now perform various field substitutions. -- We also add leading spaces and surrounding markup and punctuation to the -- various parts of the citation, but only when they are non-nil. local EditorCount; -- used only for choosing {ed.) or (eds.) annotation at end of editor name-list do local last_first_list; local control = { format = NameListFormat, -- empty string or 'vanc' maximum = nil, -- as if display-authors or display-editors not set lastauthoramp = LastAuthorAmp, page_name = this_page.text, -- get current page name so that we don't wikilink to it via editorlinkn mode = Mode }; do -- do editor name list first because the now unsupported coauthors used to modify control table control.maximum , editor_etal = get_display_authors_editors (A['DisplayEditors'], #e, 'editors', editor_etal); last_first_list, EditorCount = list_people(control, e, editor_etal); if is_set (Editors) then if editor_etal then Editors = Editors .. ' ' .. cfg.messages['et al']; -- add et al. to editors parameter beause |display-editors=etal EditorCount = 2; -- with et al., |editors= is multiple names; spoof to display (eds.) annotation else EditorCount = 2; -- we don't know but assume |editors= is multiple names; spoof to display (eds.) annotation end else Editors = last_first_list; -- either an author name list or an empty string end if 1 == EditorCount and (true == editor_etal or 1 < #e) then -- only one editor displayed but includes etal then EditorCount = 2; -- spoof to display (eds.) annotation end end do -- now do interviewers control.maximum = #interviewers_list; -- number of interviewerss Interviewers = list_people(control, interviewers_list, false); -- et al not currently supported end do -- now do translators control.maximum = #t; -- number of translators Translators = list_people(control, t, false); -- et al not currently supported end do -- now do contributors control.maximum = #c; -- number of contributors Contributors = list_people(control, c, false); -- et al not currently supported end do -- now do authors control.maximum , author_etal = get_display_authors_editors (A['DisplayAuthors'], #a, 'authors', author_etal); last_first_list = list_people(control, a, author_etal); if is_set (Authors) then Authors, author_etal = name_has_etal (Authors, author_etal, false); -- find and remove variations on et al. if author_etal then Authors = Authors .. ' ' .. cfg.messages['et al']; -- add et al. to authors parameter end else Authors = last_first_list; -- either an author name list or an empty string end end -- end of do if is_set (Authors) and is_set (Collaboration) then Authors = Authors .. ' (' .. Collaboration .. ')'; -- add collaboration after et al. end end -- apply |[xx-]format= styling; at the end, these parameters hold correctly styled format annotation, -- an error message if the associated url is not set, or an empty string for concatenation ArchiveFormat = style_format (ArchiveFormat, ArchiveURL, 'archive-format', 'archive-url'); ConferenceFormat = style_format (ConferenceFormat, ConferenceURL, 'conference-format', 'conference-url'); Format = style_format (Format, URL, 'format', 'url'); LayFormat = style_format (LayFormat, LayURL, 'lay-format', 'lay-url'); TranscriptFormat = style_format (TranscriptFormat, TranscriptURL, 'transcript-format', 'transcripturl'); -- special case for chapter format so no error message or cat when chapter not supported if not (in_array(config.CitationClass, {'web', 'news', 'journal', 'magazine', 'pressrelease', 'podcast', 'newsgroup', 'arxiv', 'biorxiv', 'citeseerx'}) or ('citation' == config.CitationClass and is_set (Periodical) and not is_set (Encyclopedia))) then ChapterFormat = style_format (ChapterFormat, ChapterURL, 'chapter-format', 'chapter-url'); end if not is_set(URL) then if in_array(config.CitationClass, {"web","podcast", "mailinglist"}) then -- |url= required for cite web, cite podcast, and cite mailinglist table.insert( z.message_tail, { set_error( 'cite_web_url', {}, true ) } ); end -- do we have |accessdate= without either |url= or |chapter-url=? if is_set(AccessDate) and not is_set(ChapterURL)then -- ChapterURL may be set when URL is not set; table.insert( z.message_tail, { set_error( 'accessdate_missing_url', {}, true ) } ); AccessDate = ''; end end local OriginalURL, OriginalURLorigin, OriginalFormat, OriginalAccess; -- DeadURL = DeadURL:lower(); -- used later when assembling archived text UrlStatus = UrlStatus:lower(); -- used later when assembling archived text if is_set( ArchiveURL ) then if is_set (ChapterURL) then -- if chapter-url is set apply archive url to it OriginalURL = ChapterURL; -- save copy of source chapter's url for archive text OriginalURLorigin = ChapterURLorigin; -- name of chapter-url parameter for error messages OriginalFormat = ChapterFormat; -- and original |chapter-format= -- if 'no' ~= DeadURL then if 'live' ~= UrlStatus then ChapterURL = ArchiveURL -- swap-in the archive's url ChapterURLorigin = A:ORIGIN('ArchiveURL') -- name of archive-url parameter for error messages ChapterFormat = ArchiveFormat or ''; -- swap in archive's format ChapterUrlAccess = nil; -- restricted access levels do not make sense for archived urls end elseif is_set (URL) then OriginalURL = URL; -- save copy of original source URL OriginalURLorigin = URLorigin; -- name of url parameter for error messages OriginalFormat = Format; -- and original |format= OriginalAccess = UrlAccess; -- if 'no' ~= DeadURL then -- if URL set then archive-url applies to it if 'live' ~= UrlStatus then -- if URL set then archive-url applies to it URL = ArchiveURL -- swap-in the archive's url URLorigin = A:ORIGIN('ArchiveURL') -- name of archive url parameter for error messages Format = ArchiveFormat or ''; -- swap in archive's format UrlAccess = nil; -- restricted access levels do not make sense for archived urls end end end if in_array(config.CitationClass, {'web','news','journal', 'magazine', 'pressrelease', 'podcast', 'newsgroup', 'arxiv', 'biorxiv', 'citeseerx'}) or -- if any of the 'periodical' cites except encyclopedia ('citation' == config.CitationClass and is_set (Periodical) and not is_set (Encyclopedia)) then local chap_param; if is_set (Chapter) then -- get a parameter name from one of these chapter related meta-parameters chap_param = A:ORIGIN ('Chapter') elseif is_set (TransChapter) then chap_param = A:ORIGIN ('TransChapter') elseif is_set (ChapterURL) then chap_param = A:ORIGIN ('ChapterURL') elseif is_set (ScriptChapter) then chap_param = A:ORIGIN ('ScriptChapter') else is_set (ChapterFormat) chap_param = A:ORIGIN ('ChapterFormat') end if is_set (chap_param) then -- if we found one table.insert( z.message_tail, { set_error( 'chapter_ignored', {chap_param}, true ) } ); -- add error message Chapter = ''; -- and set them to empty string to be safe with concatenation TransChapter = ''; ChapterURL = ''; ScriptChapter = ''; ChapterFormat = ''; end else -- otherwise, format chapter / article title local no_quotes = false; -- default assume that we will be quoting the chapter parameter value if is_set (Contribution) and 0 < #c then -- if this is a contribution with contributor(s) if in_array (Contribution:lower(), cfg.keywords.contribution) then -- and a generic contribution title no_quotes = true; -- then render it unquoted end end Chapter = format_chapter_title (ScriptChapter, Chapter, TransChapter, ChapterURL, ChapterURLorigin, no_quotes, ChapterUrlAccess); -- Contribution is also in Chapter if is_set (Chapter) then Chapter = Chapter .. ChapterFormat ; if 'map' == config.CitationClass and is_set (TitleType) then Chapter = Chapter .. ' ' .. TitleType; -- map annotation here; not after title end Chapter = Chapter.. sepc .. ' '; elseif is_set (ChapterFormat) then -- |chapter= not set but |chapter-format= is so ... Chapter = ChapterFormat .. sepc .. ' '; -- ... ChapterFormat has error message, we want to see it end end -- Format main title. if '...' == Title:sub (-3) then -- if elipsis is the last three characters of |title= Title = mw.ustring.gsub (Title, '(%.%.%.)%.+$', '%1'); -- limit the number of dots to three elseif not mw.ustring.find (Title, '%.%s*%a%.') then -- end of title is not a 'dot-(optional space-)letter-dot' initialism Title = mw.ustring.gsub(Title, '%'..sepc..'$', ''); -- remove any trailing separator character end if is_set(TitleLink) and is_set(Title) then Title = make_wikilink (TitleLink, Title); end if in_array(config.CitationClass, {'web', 'news', 'journal', 'magazine', 'pressrelease', 'podcast', 'newsgroup', 'mailinglist', 'interview', 'arxiv', 'biorxiv', 'citeseerx'}) or ('citation' == config.CitationClass and is_set (Periodical) and not is_set (Encyclopedia)) or ('map' == config.CitationClass and is_set (Periodical)) then -- special case for cite map when the map is in a periodical treat as an article Title = kern_quotes (Title); -- if necessary, separate title's leading and trailing quote marks from Module provided quote marks Title = wrap_style ('quoted-title', Title); Title = script_concatenate (Title, ScriptTitle); -- <bdi> tags, lang atribute, categorization, etc; must be done after title is wrapped TransTitle= wrap_style ('trans-quoted-title', TransTitle ); elseif 'report' == config.CitationClass then -- no styling for cite report Title = script_concatenate (Title, ScriptTitle); -- <bdi> tags, lang atribute, categorization, etc; must be done after title is wrapped TransTitle= wrap_style ('trans-quoted-title', TransTitle ); -- for cite report, use this form for trans-title else Title = wrap_style ('italic-title', Title); Title = script_concatenate (Title, ScriptTitle); -- <bdi> tags, lang atribute, categorization, etc; must be done after title is wrapped TransTitle = wrap_style ('trans-italic-title', TransTitle); end local TransError = ""; if is_set(TransTitle) then if is_set(Title) then TransTitle = " " .. TransTitle; else TransError = " " .. set_error( 'trans_missing_title', {'title'} ); end end if is_set(Title) then if not is_set(TitleLink) and is_set(URL) then Title = external_link( URL, Title, URLorigin, UrlAccess ) .. TransTitle .. TransError .. Format; URL = ''; -- unset these because no longer needed Format = ""; else Title = Title .. TransTitle .. TransError; end else Title = TransTitle .. TransError; end if is_set(Place) then Place = " " .. wrap_msg ('written', Place, use_lowercase) .. sepc .. " "; end if is_set (Conference) then if is_set (ConferenceURL) then Conference = external_link( ConferenceURL, Conference, ConferenceURLorigin, nil ); end Conference = sepc .. " " .. Conference .. ConferenceFormat; elseif is_set(ConferenceURL) then Conference = sepc .. " " .. external_link( ConferenceURL, nil, ConferenceURLorigin, nil ); end if not is_set(Position) then local Minutes = A['Minutes']; local Time = A['Time']; if is_set(Minutes) then if is_set (Time) then table.insert( z.message_tail, { set_error( 'redundant_parameters', {wrap_style ('parameter', 'minutes') .. ' and ' .. wrap_style ('parameter', 'time')}, true ) } ); end Position = " " .. Minutes .. " " .. cfg.messages['minutes']; else if is_set(Time) then local TimeCaption = A['TimeCaption'] if not is_set(TimeCaption) then TimeCaption = cfg.messages['event']; if sepc ~= '.' then TimeCaption = TimeCaption:lower(); end end Position = " " .. TimeCaption .. " " .. Time; end end else Position = " " .. Position; At = ''; end Page, Pages, Sheet, Sheets = format_pages_sheets (Page, Pages, Sheet, Sheets, config.CitationClass, Periodical_origin, sepc, NoPP, use_lowercase); At = is_set(At) and (sepc .. " " .. At) or ""; Position = is_set(Position) and (sepc .. " " .. Position) or ""; if config.CitationClass == 'map' then local Section = A['Section']; local Sections = A['Sections']; local Inset = A['Inset']; if is_set( Inset ) then Inset = sepc .. " " .. wrap_msg ('inset', Inset, use_lowercase); end if is_set( Sections ) then Section = sepc .. " " .. wrap_msg ('sections', Sections, use_lowercase); elseif is_set( Section ) then Section = sepc .. " " .. wrap_msg ('section', Section, use_lowercase); end At = At .. Inset .. Section; end if is_set (Language) then Language = language_parameter (Language); -- format, categories, name from ISO639-1, etc else Language=""; -- language not specified so make sure this is an empty string; --[[ TODO: need to extract the wrap_msg from language_parameter so that we can solve parentheses bunching problem with Format/Language/TitleType ]] end Others = is_set(Others) and (sepc .. " " .. Others) or ""; if is_set (Translators) then Others = safe_join ({sepc .. ' ', wrap_msg ('translated', Translators, use_lowercase), Others}, sepc); end if is_set (Interviewers) then Others = safe_join ({sepc .. ' ', wrap_msg ('interview', Interviewers, use_lowercase), Others}, sepc); end TitleNote = is_set(TitleNote) and (sepc .. " " .. TitleNote) or ""; if is_set (Edition) then if Edition:match ('%f[%a][Ee]d%.?$') or Edition:match ('%f[%a][Ee]dition$') then add_maint_cat ('extra_text', 'edition'); end Edition = " " .. wrap_msg ('edition', Edition); else Edition = ''; end Series = is_set(Series) and (sepc .. " " .. Series) or ""; OrigYear = is_set(OrigYear) and (" [" .. OrigYear .. "]") or ""; -- TODO: presentation Agency = is_set(Agency) and (sepc .. " " .. Agency) or ""; Volume = format_volume_issue (Volume, Issue, config.CitationClass, Periodical_origin, sepc, use_lowercase); ------------------------------------ totally unrelated data if is_set(Via) then Via = " " .. wrap_msg ('via', Via); end --[[ Subscription implies paywall; Registration does not. If both are used in a citation, the subscription required link note is displayed. There are no error messages for this condition. ]] if is_set (SubscriptionRequired) then SubscriptionRequired = sepc .. " " .. cfg.messages['subscription']; -- subscription required message elseif is_set (RegistrationRequired) then SubscriptionRequired = sepc .. " " .. cfg.messages['registration']; -- registration required message else SubscriptionRequired = ''; -- either or both might be set to something other than yes true y end if is_set(AccessDate) then local retrv_text = " " .. cfg.messages['retrieved'] AccessDate = nowrap_date (AccessDate); -- wrap in nowrap span if date in appropriate format if (sepc ~= ".") then retrv_text = retrv_text:lower() end -- if mode is cs2, lower case AccessDate = substitute (retrv_text, AccessDate); -- add retrieved text AccessDate = substitute (cfg.presentation['accessdate'], {sepc, AccessDate}); -- allow editors to hide accessdates end if is_set(ID) then ID = sepc .." ".. ID; end if "thesis" == config.CitationClass and is_set(Docket) then ID = sepc .." Docket ".. Docket .. ID; end if "report" == config.CitationClass and is_set(Docket) then -- for cite report when |docket= is set ID = sepc .. ' ' .. Docket; -- overwrite ID even if |id= is set end ID_list = build_id_list( ID_list, {IdAccessLevels=ID_access_levels, DoiBroken = DoiBroken, ASINTLD = ASINTLD, IgnoreISBN = IgnoreISBN, Embargo=Embargo, Class = Class} ); if is_set(URL) then URL = " " .. external_link( URL, nil, URLorigin, UrlAccess ); end if is_set(Quote) then if Quote:sub(1,1) == '"' and Quote:sub(-1,-1) == '"' then -- if first and last characters of quote are quote marks Quote = Quote:sub(2,-2); -- strip them off end Quote = sepc .." " .. wrap_style ('quoted-text', Quote ); -- wrap in <q>...</q> tags PostScript = ""; -- cs1|2 does not supply terminal punctuation when |quote= is set end local Archived if is_set(ArchiveURL) then if not is_set(ArchiveDate) then ArchiveDate = set_error('archive_missing_date'); end if "live" == UrlStatus then local arch_text = cfg.messages['archived']; if sepc ~= "." then arch_text = arch_text:lower() end Archived = sepc .. " " .. substitute( cfg.messages['archived-live'], { external_link( ArchiveURL, arch_text, A:ORIGIN('ArchiveURL'), nil ) .. ArchiveFormat, ArchiveDate } ); if not is_set(OriginalURL) then Archived = Archived .. " " .. set_error('archive_missing_url'); end elseif is_set(OriginalURL) then -- UrlStatus is empty, 'dead', 'unfit', 'usurped', 'bot: unknown' local arch_text = cfg.messages['archived-dead']; if sepc ~= "." then arch_text = arch_text:lower() end if in_array (UrlStatus, {'unfit', 'usurped', 'bot: unknown'}) then Archived = sepc .. " " .. 'Αρχειοθετήθηκε από το πρωτότυπο στις ' .. ArchiveDate; -- format already styled if 'bot: unknown' == UrlStatus then add_maint_cat ('bot:_unknown'); -- and add a category if not already added else add_maint_cat ('unfit'); -- and add a category if not already added end else -- UrlStatus is empty, 'dead' Archived = sepc .. " " .. substitute( arch_text, { external_link( OriginalURL, cfg.messages['original'], OriginalURLorigin, OriginalAccess ) .. OriginalFormat, ArchiveDate } ); -- format already styled end else local arch_text = cfg.messages['archived-missing']; if sepc ~= "." then arch_text = arch_text:lower() end Archived = sepc .. " " .. substitute( arch_text, { set_error('archive_missing_url'), ArchiveDate } ); end elseif is_set (ArchiveFormat) then Archived = ArchiveFormat; -- if set and ArchiveURL not set ArchiveFormat has error message else Archived = "" end local Lay = ''; if is_set(LayURL) then if is_set(LayDate) then LayDate = " (" .. LayDate .. ")" end if is_set(LaySource) then LaySource = " &ndash; ''" .. safe_for_italics(LaySource) .. "''"; else LaySource = ""; end if sepc == '.' then Lay = sepc .. " " .. external_link( LayURL, cfg.messages['lay summary'], A:ORIGIN('LayURL'), nil ) .. LayFormat .. LaySource .. LayDate else Lay = sepc .. " " .. external_link( LayURL, cfg.messages['lay summary']:lower(), A:ORIGIN('LayURL'), nil ) .. LayFormat .. LaySource .. LayDate end elseif is_set (LayFormat) then -- Test if |lay-format= is given without giving a |lay-url= Lay = sepc .. LayFormat; -- if set and LayURL not set, then LayFormat has error message end if is_set(Transcript) then if is_set(TranscriptURL) then Transcript = external_link( TranscriptURL, Transcript, TranscriptURLorigin, nil ); end Transcript = sepc .. ' ' .. Transcript .. TranscriptFormat; elseif is_set(TranscriptURL) then Transcript = external_link( TranscriptURL, nil, TranscriptURLorigin, nil ); end local Publisher; if is_set(PublicationDate) then PublicationDate = wrap_msg ('published', PublicationDate); end if is_set(PublisherName) then if is_set(PublicationPlace) then Publisher = sepc .. " " .. PublicationPlace .. ": " .. PublisherName .. PublicationDate; else Publisher = sepc .. " " .. PublisherName .. PublicationDate; end elseif is_set(PublicationPlace) then Publisher= sepc .. " " .. PublicationPlace .. PublicationDate; else Publisher = PublicationDate; end -- Several of the above rely upon detecting this as nil, so do it last. if is_set(Periodical) then if is_set(Title) or is_set(TitleNote) then Periodical = sepc .. " " .. wrap_style ('italic-title', Periodical) else Periodical = wrap_style ('italic-title', Periodical) end end --[[ Handle the oddity that is cite speech. This code overrides whatever may be the value assigned to TitleNote (through |department=) and forces it to be " (Speech)" so that the annotation directly follows the |title= parameter value in the citation rather than the |event= parameter value (if provided). ]] if "speech" == config.CitationClass then -- cite speech only TitleNote = " (Speech)"; -- annotate the citation if is_set (Periodical) then -- if Periodical, perhaps because of an included |website= or |journal= parameter if is_set (Conference) then -- and if |event= is set Conference = Conference .. sepc .. " "; -- then add appropriate punctuation to the end of the Conference variable before rendering end end end -- Piece all bits together at last. Here, all should be non-nil. -- We build things this way because it is more efficient in LUA -- not to keep reassigning to the same string variable over and over. local tcommon; local tcommon2; -- used for book cite when |contributor= is set if in_array(config.CitationClass, {"journal","citation"}) and is_set(Periodical) then if is_set(Others) then Others = safe_join ({Others, sepc .. " "}, sepc) end -- add terminal punctuation & space; check for dup sepc; TODO why do we need to do this here? tcommon = safe_join( {Others, Title, TitleNote, Conference, Periodical, Format, TitleType, Series, Language, Edition, Publisher, Agency, Volume}, sepc ); elseif in_array(config.CitationClass, {"book","citation"}) and not is_set(Periodical) then -- special cases for book cites if is_set (Contributors) then -- when we are citing foreword, preface, introduction, etc tcommon = safe_join( {Title, TitleNote}, sepc ); -- author and other stuff will come after this and before tcommon2 tcommon2 = safe_join( {Conference, Periodical, Format, TitleType, Series, Language, Volume, Others, Edition, Publisher, Agency}, sepc ); else tcommon = safe_join( {Title, TitleNote, Conference, Periodical, Format, TitleType, Series, Language, Volume, Others, Edition, Publisher, Agency}, sepc ); end elseif 'map' == config.CitationClass then -- special cases for cite map if is_set (Chapter) then -- map in a book; TitleType is part of Chapter tcommon = safe_join( {Title, Format, Edition, Scale, Series, Language, Cartography, Others, Publisher, Volume}, sepc ); elseif is_set (Periodical) then -- map in a periodical tcommon = safe_join( {Title, TitleType, Format, Periodical, Scale, Series, Language, Cartography, Others, Publisher, Volume}, sepc ); else -- a sheet or stand-alone map tcommon = safe_join( {Title, TitleType, Format, Edition, Scale, Series, Language, Cartography, Others, Publisher}, sepc ); end elseif 'episode' == config.CitationClass then -- special case for cite episode tcommon = safe_join( {Title, TitleNote, TitleType, Series, Transcript, Language, Edition, Publisher}, sepc ); else -- all other CS1 templates tcommon = safe_join( {Title, TitleNote, Conference, Periodical, Format, TitleType, Series, Language, Volume, Others, Edition, Publisher, Agency}, sepc ); end if #ID_list > 0 then ID_list = safe_join( { sepc .. " ", table.concat( ID_list, sepc .. " " ), ID }, sepc ); else ID_list = ID; end local idcommon = safe_join( { ID_list, URL, Archived, AccessDate, Via, SubscriptionRequired, Lay, Quote }, sepc ); local text; local pgtext = Position .. Sheet .. Sheets .. Page .. Pages .. At; if is_set(Date) then if is_set (Authors) or is_set (Editors) then -- date follows authors or editors when authors not set Date = " (" .. Date ..")" .. OrigYear .. sepc .. " "; -- in paranetheses else -- neither of authors and editors set if (string.sub(tcommon,-1,-1) == sepc) then -- if the last character of tcommon is sepc Date = " " .. Date .. OrigYear; -- Date does not begin with sepc else Date = sepc .. " " .. Date .. OrigYear; -- Date begins with sepc end end end if is_set(Authors) then if (not is_set (Date)) then -- when date is set it's in parentheses; no Authors termination Authors = terminate_name_list (Authors, sepc); -- when no date, terminate with 0 or 1 sepc and a space end if is_set(Editors) then local in_text = " "; local post_text = ""; if is_set(Chapter) and 0 == #c then in_text = in_text .. cfg.messages['in'] .. " " if (sepc ~= '.') then in_text = in_text:lower() -- lowercase for cs2 end end if EditorCount <= 1 then post_text = ", " .. cfg.messages['editor']; else post_text = ", " .. cfg.messages['editors']; end Editors = terminate_name_list (in_text .. Editors .. post_text, sepc); -- terminate with 0 or 1 sepc and a space end if is_set (Contributors) then -- book cite and we're citing the intro, preface, etc local by_text = sepc .. ' ' .. cfg.messages['by'] .. ' '; if (sepc ~= '.') then by_text = by_text:lower() end -- lowercase for cs2 Authors = by_text .. Authors; -- author follows title so tweak it here if is_set (Editors) and is_set (Date) then -- when Editors make sure that Authors gets terminated Authors = terminate_name_list (Authors, sepc); -- terminate with 0 or 1 sepc and a space end if (not is_set (Date)) then -- when date is set it's in parentheses; no Contributors termination Contributors = terminate_name_list (Contributors, sepc); -- terminate with 0 or 1 sepc and a space end text = safe_join( {Contributors, Date, Chapter, tcommon, Authors, Place, Editors, tcommon2, pgtext, idcommon }, sepc ); else text = safe_join( {Authors, Date, Chapter, Place, Editors, tcommon, pgtext, idcommon }, sepc ); end elseif is_set(Editors) then if is_set(Date) then if EditorCount <= 1 then Editors = Editors .. ", " .. cfg.messages['editor']; else Editors = Editors .. ", " .. cfg.messages['editors']; end else if EditorCount <= 1 then Editors = Editors .. " (" .. cfg.messages['editor'] .. ")" .. sepc .. " " else Editors = Editors .. " (" .. cfg.messages['editors'] .. ")" .. sepc .. " " end end text = safe_join( {Editors, Date, Chapter, Place, tcommon, pgtext, idcommon}, sepc ); else if in_array(config.CitationClass, {"journal","citation"}) and is_set(Periodical) then text = safe_join( {Chapter, Place, tcommon, pgtext, Date, idcommon}, sepc ); else text = safe_join( {Chapter, Place, tcommon, Date, pgtext, idcommon}, sepc ); end end if is_set(PostScript) and PostScript ~= sepc then text = safe_join( {text, sepc}, sepc ); --Deals with italics, spaces, etc. text = text:sub(1,-sepc:len()-1); end text = safe_join( {text, PostScript}, sepc ); -- Now enclose the whole thing in a <cite/> element local options = {}; if is_set(config.CitationClass) and config.CitationClass ~= "citation" then options.class = config.CitationClass; options.class = "citation " .. config.CitationClass; -- class=citation required for blue highlight when used with |ref= else options.class = "citation"; end if is_set(Ref) and Ref:lower() ~= "none" then -- set reference anchor if appropriate local id = Ref if ('harv' == Ref ) then local namelist = {}; -- holds selected contributor, author, editor name list local year = first_set ({Year, anchor_year}, 2); -- Year first for legacy citations and for YMD dates that require disambiguation if #c > 0 then -- if there is a contributor list namelist = c; -- select it elseif #a > 0 then -- or an author list namelist = a; elseif #e > 0 then -- or an editor list namelist = e; end if #namelist > 0 then -- if there are names in namelist id = anchor_id (namelist, year); -- go make the CITEREF anchor else id = ''; -- unset end end options.id = id; end if string.len(text:gsub("<span[^>/]*>(.-)</span>", "%1"):gsub("%b<>","")) <= 2 then -- remove <span> tags and other html-like markup; then get length of what remains z.error_categories = {}; text = set_error('empty_citation'); z.message_tail = {}; end local render = {}; -- here we collect the final bits for concatenation into the rendered citation if is_set(options.id) then -- here we wrap the rendered citation in <cite ...>...</cite> tags table.insert (render, substitute (cfg.presentation['cite-id'], {mw.uri.anchorEncode(options.id), mw.text.nowiki(options.class), text})); -- when |ref= is set else table.insert (render, substitute (cfg.presentation['cite'], {mw.text.nowiki(options.class), text})); -- all other cases end table.insert (render, substitute (cfg.presentation['ocins'], {OCinSoutput})); -- append metadata to the citation if #z.message_tail ~= 0 then table.insert (render, ' '); for i,v in ipairs( z.message_tail ) do if is_set(v[1]) then if i == #z.message_tail then table.insert (render, error_comment( v[1], v[2] )); else table.insert (render, error_comment( v[1] .. "; ", v[2] )); end end end end if #z.maintenance_cats ~= 0 then table.insert (render, '<span class="citation-comment cs1-maint nomobile noprint">'); for _, v in ipairs( z.maintenance_cats ) do -- append maintenance categories table.insert (render, v); table.insert (render, ' ('); table.insert (render, make_wikilink (':Category:' .. v, 'link')); table.insert (render, ') '); end table.insert (render, '</span>'); end no_tracking_cats = no_tracking_cats:lower(); if in_array(no_tracking_cats, {"", "no", "false", "n"}) then for _, v in ipairs( z.error_categories ) do table.insert (render, make_wikilink ('Category:' .. v)); end for _, v in ipairs( z.maintenance_cats ) do -- append maintenance categories table.insert (render, make_wikilink ('Category:' .. v)); end for _, v in ipairs( z.properties_cats ) do -- append properties categories table.insert (render, make_wikilink ('Category:' .. v)); end end return table.concat (render); end --[[--------------------------< C S 1 . C I T A T I O N >------------------------------------------------------ This is used by templates such as {{cite book}} to create the actual citation text. ]] function cs1.citation(frame) Frame = frame; -- save a copy incase we need to display an error message in preview mode local pframe = frame:getParent() local validation, utilities, identifiers, metadata; if nil ~= string.find (frame:getTitle(), 'sandbox', 1, true) then -- did the {{#invoke:}} use sandbox version? cfg = mw.loadData ('Module:Citation/CS1/Configuration/sandbox'); -- load sandbox versions of support modules whitelist = mw.loadData ('Module:Citation/CS1/Whitelist/sandbox'); utilities = require ('Module:Citation/CS1/Utilities/sandbox'); validation = require ('Module:Citation/CS1/Date_validation/sandbox'); identifiers = require ('Module:Citation/CS1/Identifiers/sandbox'); metadata = require ('Module:Citation/CS1/COinS/sandbox'); else -- otherwise cfg = mw.loadData ('Module:Citation/CS1/Configuration'); -- load live versions of support modules whitelist = mw.loadData ('Module:Citation/CS1/Whitelist'); utilities = require ('Module:Citation/CS1/Utilities'); validation = require ('Module:Citation/CS1/Date_validation'); identifiers = require ('Module:Citation/CS1/Identifiers'); metadata = require ('Module:Citation/CS1/COinS'); end utilities.set_selected_modules (cfg); -- so that functions in Utilities can see the cfg tables identifiers.set_selected_modules (cfg, utilities); -- so that functions in Identifiers can see the selected cfg tables and selected Utilities module validation.set_selected_modules (cfg, utilities); -- so that functions in Date validataion can see selected cfg tables and the selected Utilities module metadata.set_selected_modules (cfg, utilities); -- so that functions in COinS can see the selected cfg tables and selected Utilities module dates = validation.dates; -- imported functions from Module:Citation/CS1/Date validation year_date_check = validation.year_date_check; reformat_dates = validation.reformat_dates; date_hyphen_to_dash = validation.date_hyphen_to_dash; date_name_xlate = validation.date_name_xlate; is_set = utilities.is_set; -- imported functions from Module:Citation/CS1/Utilities in_array = utilities.in_array; substitute = utilities.substitute; error_comment = utilities.error_comment; set_error = utilities.set_error; select_one = utilities.select_one; add_maint_cat = utilities.add_maint_cat; wrap_style = utilities.wrap_style; safe_for_italics = utilities.safe_for_italics; is_wikilink = utilities.is_wikilink; make_wikilink = utilities.make_wikilink; z = utilities.z; -- table of error and category tables in Module:Citation/CS1/Utilities extract_ids = identifiers.extract_ids; -- imported functions from Module:Citation/CS1/Identifiers build_id_list = identifiers.build_id_list; is_embargoed = identifiers.is_embargoed; extract_id_access_levels = identifiers.extract_id_access_levels; make_coins_title = metadata.make_coins_title; -- imported functions from Module:Citation/CS1/COinS get_coins_pages = metadata.get_coins_pages; COinS = metadata.COinS; local args = {}; -- table where we store all of the template's arguments local suggestions = {}; -- table where we store suggestions if we need to loadData them local error_text, error_state; local config = {}; -- table to store parameters from the module {{#invoke:}} for k, v in pairs( frame.args ) do config[k] = v; -- args[k] = v; -- debug tool that allows us to render a citation from module {{#invoke:}} end local capture; -- the single supported capture when matching unknown parameters using patterns for k, v in pairs( pframe.args ) do if v ~= '' then if ('string' == type (k)) then k = mw.ustring.gsub (k, '%d', cfg.date_names.local_digits); -- for enumerated parameters, translate 'local' digits to Western 0-9 end if not validate( k, config.CitationClass ) then error_text = ""; if type( k ) ~= 'string' then -- Exclude empty numbered parameters if v:match("%S+") ~= nil then error_text, error_state = set_error( 'text_ignored', {v}, true ); end elseif validate( k:lower(), config.CitationClass ) then error_text, error_state = set_error( 'parameter_ignored_suggest', {k, k:lower()}, true ); else if nil == suggestions.suggestions then -- if this table is nil then we need to load it if nil ~= string.find (frame:getTitle(), 'sandbox', 1, true) then -- did the {{#invoke:}} use sandbox version? suggestions = mw.loadData( 'Module:Citation/CS1/Suggestions/sandbox' ); -- use the sandbox version else suggestions = mw.loadData( 'Module:Citation/CS1/Suggestions' ); -- use the live version end end for pattern, param in pairs (suggestions.patterns) do -- loop through the patterns to see if we can suggest a proper parameter capture = k:match (pattern); -- the whole match if no caputre in pattern else the capture if a match if capture then -- if the pattern matches param = substitute( param, capture ); -- add the capture to the suggested parameter (typically the enumerator) error_text, error_state = set_error( 'parameter_ignored_suggest', {k, param}, true ); -- set the error message end end if not is_set (error_text) then -- couldn't match with a pattern, is there an expicit suggestion? if suggestions.suggestions[ k:lower() ] ~= nil then error_text, error_state = set_error( 'parameter_ignored_suggest', {k, suggestions.suggestions[ k:lower() ]}, true ); else error_text, error_state = set_error( 'parameter_ignored', {k}, true ); v = ''; -- unset value assigned to unrecognized parameters (this for the limited parameter lists) end end end if error_text ~= '' then table.insert( z.message_tail, {error_text, error_state} ); end end missing_pipe_check (v); -- do we think that there is a parameter that is missing a pipe? -- TODO: is this the best place for this translation? args[k] = v; elseif args[k] ~= nil or (k == 'postscript') then -- here when v is empty string args[k] = v; -- why do we do this? we don't support 'empty' parameters end end for k, v in pairs( args ) do if 'string' == type (k) then -- don't evaluate positional parameters has_invisible_chars (k, v); end end return table.concat({ frame:extensionTag ('templatestyles', '', {src='Module:Citation/CS1/styles.css'}), citation0( config, args) }); end return cs1; p7mmzg09jdv0aofghr1fdbfq70tbkyt Module:Citation/CS1/Utilities 828 3472 36687 2025-12-15T22:07:50Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local u = {} local z = { error_categories = {}; -- for categorizing citations that contain errors error_ids = {}; message_tail = {}; maintenance_cats = {}; -- for categorizing citations that aren't erroneous per se, but could use a little work properties_cats = {}; -- for categorizing citations based on certain properties, language of source for instance }; --[[--------------------------< F O R W A R D...' 36687 Scribunto text/plain local u = {} local z = { error_categories = {}; -- for categorizing citations that contain errors error_ids = {}; message_tail = {}; maintenance_cats = {}; -- for categorizing citations that aren't erroneous per se, but could use a little work properties_cats = {}; -- for categorizing citations based on certain properties, language of source for instance }; --[[--------------------------< F O R W A R D D E C L A R A T I O N S >-------------------------------------- ]] local cfg; -- table of tables imported from selected Module:Citation/CS1/Configuration --[[--------------------------< I S _ S E T >------------------------------------------------------------------ Returns true if argument is set; false otherwise. Argument is 'set' when it exists (not nil) or when it is not an empty string. ]] local function is_set( var ) return not (var == nil or var == ''); end --[[--------------------------< I N _ A R R A Y >-------------------------------------------------------------- Whether needle is in haystack ]] local function in_array( needle, haystack ) if needle == nil then return false; end for n,v in ipairs( haystack ) do if v == needle then return n; end end return false; end --[[--------------------------< S U B S T I T U T E >---------------------------------------------------------- Populates numbered arguments in a message string using an argument table. ]] local function substitute( msg, args ) return args and mw.message.newRawMessage( msg, args ):plain() or msg; end --[[--------------------------< E R R O R _ C O M M E N T >---------------------------------------------------- Wraps error messages with css markup according to the state of hidden. ]] local function error_comment( content, hidden ) return substitute( hidden and cfg.presentation['hidden-error'] or cfg.presentation['visible-error'], content ); end --[=[-------------------------< M A K E _ W I K I L I N K >---------------------------------------------------- Makes a wikilink; when bot link and display text is provided, returns a wikilink in the form [[L|D]]; if only link is provided, returns a wikilink in the form [[L]]; if neither are provided or link is omitted, returns an empty string. ]=] local function make_wikilink (link, display) if is_set (link) then if is_set (display) then return table.concat ({'[[', link, '|', display, ']]'}); else return table.concat ({'[[', link, ']]'}); end else return ''; end end --[[--------------------------< S E T _ E R R O R >-------------------------------------------------------------- Sets an error condition and returns the appropriate error message. The actual placement of the error message in the output is the responsibility of the calling function. ]] local function set_error( error_id, arguments, raw, prefix, suffix ) local error_state = cfg.error_conditions[ error_id ]; prefix = prefix or ""; suffix = suffix or ""; if error_state == nil then error( cfg.messages['undefined_error'] ); -- because missing error handler in Module:Citation/CS1/Configuration elseif is_set( error_state.category ) then table.insert( z.error_categories, error_state.category ); end local message = substitute( error_state.message, arguments ); message = table.concat ( { message, ' (', make_wikilink ( table.concat ( { cfg.messages['help page link'], '#', error_state.anchor }), cfg.messages['help page label']), ')' }); -- message = table.concat ({message, ' (', substitute (cfg.presentation['wikilink'], -- {cfg.messages['help page link'] .. '#' .. error_state.anchor, cfg.messages['help page label']}), ')'}); -- message = message .. " ([[" .. cfg.messages['help page link'] .. -- "#" .. error_state.anchor .. "|" .. -- cfg.messages['help page label'] .. "]])"; z.error_ids[ error_id ] = true; if in_array( error_id, { 'bare_url_missing_title', 'trans_missing_title' } ) and z.error_ids['citation_missing_title'] then return '', false; end message = table.concat({ prefix, message, suffix }); if raw == true then return message, error_state.hidden; end return error_comment( message, error_state.hidden ); end --[[-------------------------< I S _ A L I A S _ U S E D >----------------------------------------------------- This function is used by select_one() to determine if one of a list of alias parameters is in the argument list provided by the template. Input: args – pointer to the arguments table from calling template alias – one of the list of possible aliases in the aliases lists from Module:Citation/CS1/Configuration index – for enumerated parameters, identifies which one enumerated – true/false flag used choose how enumerated aliases are examined value – value associated with an alias that has previously been selected; nil if not yet selected selected – the alias that has previously been selected; nil if not yet selected error_list – list of aliases that are duplicates of the alias already selected Returns: value – value associated with alias we selected or that was previously selected or nil if an alias not yet selected selected – the alias we selected or the alias that was previously selected or nil if an alias not yet selected ]] local function is_alias_used (args, alias, index, enumerated, value, selected, error_list) if enumerated then -- is this a test for an enumerated parameters? alias = alias:gsub ('#', index); -- replace '#' with the value in index else alias = alias:gsub ('#', ''); -- remove '#' if it exists end if is_set(args[alias]) then -- alias is in the template's argument list if value ~= nil and selected ~= alias then -- if we have already selected one of the aliases local skip; for _, v in ipairs(error_list) do -- spin through the error list to see if we've added this alias if v == alias then skip = true; break; -- has been added so stop looking end end if not skip then -- has not been added so table.insert( error_list, alias ); -- add error alias to the error list end else value = args[alias]; -- not yet selected an alias, so select this one selected = alias; end end return value, selected; -- return newly selected alias, or previously selected alias end --[[--------------------------< A D D _ M A I N T _ C A T >------------------------------------------------------ Adds a category to z.maintenance_cats using names from the configuration file with additional text if any. To prevent duplication, the added_maint_cats table lists the categories by key that have been added to z.maintenance_cats. ]] local added_maint_cats = {} -- list of maintenance categories that have been added to z.maintenance_cats local function add_maint_cat (key, arguments) if not added_maint_cats [key] then added_maint_cats [key] = true; -- note that we've added this category table.insert( z.maintenance_cats, substitute (cfg.maint_cats [key], arguments)); -- make name then add to table end end --[[--------------------------< S A F E _ F O R _ I T A L I C S >---------------------------------------------- Protects a string that will be wrapped in wiki italic markup '' ... '' Note: We cannot use <i> for italics, as the expected behavior for italics specified by ''...'' in the title is that they will be inverted (i.e. unitalicized) in the resulting references. In addition, <i> and '' tend to interact poorly under Mediawiki's HTML tidy. ]] local function safe_for_italics( str ) if not is_set(str) then return str; else if str:sub(1,1) == "'" then str = "<span></span>" .. str; end if str:sub(-1,-1) == "'" then str = str .. "<span></span>"; end -- Remove newlines as they break italics. return str:gsub( '\n', ' ' ); end end --[[--------------------------< W R A P _ S T Y L E >---------------------------------------------------------- Applies styling to various parameters. Supplied string is wrapped using a message_list configuration taking one argument; protects italic styled parameters. Additional text taken from citation_config.presentation - the reason this function is similar to but separate from wrap_msg(). ]] local function wrap_style (key, str) if not is_set( str ) then return ""; elseif in_array( key, { 'italic-title', 'trans-italic-title' } ) then str = safe_for_italics( str ); end return substitute( cfg.presentation[key], {str} ); end --[[--------------------------< S E L E C T _ O N E >---------------------------------------------------------- Chooses one matching parameter from a list of parameters to consider. The list of parameters to consider is just names. For parameters that may be enumerated, the position of the numerator in the parameter name is identified by the '#' so |author-last1= and |author1-last= are represented as 'author-last#' and 'author#-last'. Because enumerated parameter |<param>1= is an alias of |<param>= we must test for both possibilities. Generates an error if more than one match is present. ]] local function select_one( args, aliases_list, error_condition, index ) local value = nil; -- the value assigned to the selected parameter local selected = ''; -- the name of the parameter we have chosen local error_list = {}; if index ~= nil then index = tostring(index); end for _, alias in ipairs( aliases_list ) do -- for each alias in the aliases list if alias:match ('#') then -- if this alias can be enumerated if '1' == index then -- when index is 1 test for enumerated and non-enumerated aliases value, selected = is_alias_used (args, alias, index, false, value, selected, error_list); -- first test for non-enumerated alias end value, selected = is_alias_used (args, alias, index, true, value, selected, error_list); -- test for enumerated alias else value, selected = is_alias_used (args, alias, index, false, value, selected, error_list); --test for non-enumerated alias end end if #error_list > 0 and 'none' ~= error_condition then -- for cases where this code is used outside of extract_names() local error_str = ""; for _, k in ipairs( error_list ) do if error_str ~= "" then error_str = error_str .. cfg.messages['parameter-separator'] end error_str = error_str .. wrap_style ('parameter', k); end if #error_list > 1 then error_str = error_str .. cfg.messages['parameter-final-separator']; else error_str = error_str .. cfg.messages['parameter-pair-separator']; end error_str = error_str .. wrap_style ('parameter', selected); table.insert( z.message_tail, { set_error( error_condition, {error_str}, true ) } ); end return value, selected; end --[=[-------------------------< R E M O V E _ W I K I _ L I N K >---------------------------------------------- Gets the display text from a wikilink like [[A|B]] or [[B]] gives B The str:gsub() returns either A|B froma [[A|B]] or B from [[B]] or B from B (no wikilink markup). In l(), l:gsub() removes the link and pipe (if they exist); the second :gsub() trims white space from the label if str was wrapped in wikilink markup. Presumably, this is because without wikimarkup in str, there is no match in the initial gsub, the replacement function l() doesn't get called. ]=] local function remove_wiki_link (str) return (str:gsub( "%[%[([^%[%]]*)%]%]", function(l) return l:gsub( "^[^|]*|(.*)$", "%1" ):gsub("^%s*(.-)%s*$", "%1"); end)); end --[=[-------------------------< I S _ W I K I L I N K >-------------------------------------------------------- Determines if str is a wikilink, extracts, and returns the the wikilink type, link text, and display text parts. If str is a complex wikilink ([[L|D]]): returns wl_type 2 and D and L from [[L|D]]; if str is a simple wikilink ([[D]]) returns wl_type 1 and D from [[D]] and L as empty string; if not a wikilink: returns wl_type 0, str as D, and L as empty string. trims leading and trailing white space and pipes from L and D ([[L|]] and [[|D]] are accepted by MediaWiki and treated like [[D]]; while [[|D|]] is not accepted by MediaWiki, here, we accept it and return D without the pipes). ]=] local function is_wikilink (str) local D, L local wl_type = 2; -- assume that str is a complex wikilink [[L|D]] L, D = str:match ('%[%[([^|]+)|([^%]]+)%]%]'); -- get L and D from [[L|D]] if not is_set (D) then -- if no separate link D = str:match ('%[%[([^%]]*)|*%]%]'); -- get D from [[D]] wl_type = 1; end if not is_set (D) then -- no wikilink markup D = str; -- return the string as D wl_type = 0; -- but say that it is not a wikilink end D = mw.text.trim (D, '%s|'); -- trim white space and pipe characters L = L and mw.text.trim (L, '%s|'); return wl_type, D, L or ''; end --[[--------------------------< S E T _ S E L E C T E D _ M O D U L E S >-------------------------------------- Sets local cfg table to same (live or sandbox) as that used by the other modules. ]] local function set_selected_modules (cfg_table_ptr) cfg = cfg_table_ptr; end return { -- return exported functions and tables is_set = is_set, in_array = in_array, substitute = substitute, error_comment = error_comment, set_error = set_error, select_one = select_one, add_maint_cat = add_maint_cat, wrap_style = wrap_style, safe_for_italics = safe_for_italics, remove_wiki_link = remove_wiki_link, is_wikilink = is_wikilink, make_wikilink = make_wikilink, set_selected_modules = set_selected_modules, z = z, } paqzmjiy0g42xcm0br82k5z9jczlnm6 Module:Citation/CS1/Identifiers 828 3473 36688 2025-12-15T22:08:43Z Εὐθυμένης 2777 Καινούρεον σελίδαν με ' local identifiers = {}; --[[--------------------------< F O R W A R D D E C L A R A T I O N S >-------------------------------------- ]] local is_set, in_array, set_error, select_one, add_maint_cat, substitute, make_wikilink; -- functions in Module:Citation/CS1/Utilities local z; -- table of tables defined in Module:Citation/CS1/Utilities local cfg; -- table of configuration tables that are defined in Modul...' 36688 Scribunto text/plain local identifiers = {}; --[[--------------------------< F O R W A R D D E C L A R A T I O N S >-------------------------------------- ]] local is_set, in_array, set_error, select_one, add_maint_cat, substitute, make_wikilink; -- functions in Module:Citation/CS1/Utilities local z; -- table of tables defined in Module:Citation/CS1/Utilities local cfg; -- table of configuration tables that are defined in Module:Citation/CS1/Configuration --============================<< H E L P E R F U N C T I O N S >>============================================ --[[--------------------------< E X T E R N A L _ L I N K _ I D >---------------------------------------------- Formats a wiki style external link ]] local function external_link_id(options) local url_string = options.id; local ext_link; if options.encode == true or options.encode == nil then url_string = mw.uri.encode( url_string ); if 'doi' == options.label then -- 2018-07-02 doi.org stopped accepting urls with url encoded '/' (%2F) url_string = url_string:gsub ('%%2F', '/'); -- special case for doi; undo url-encoded slashes end end ext_link = mw.ustring.format ('[%s%s%s %s]', options.prefix, url_string, options.suffix or "", mw.text.nowiki(options.id)); if is_set(options.access) then ext_link = substitute (cfg.presentation['access-signal'], {ext_link, cfg.presentation[options.access]}); -- add the free-to-read / paywall lock end return table.concat ({ make_wikilink (options.link, options.label), options.separator or '&nbsp;', ext_link }); end --[[--------------------------< I N T E R N A L _ L I N K _ I D >---------------------------------------------- Formats a wiki style internal link ]] local function internal_link_id(options) return table.concat ( { make_wikilink (options.link, options.label), options.separator or '&nbsp;', make_wikilink ( table.concat ( { options.prefix, options.id, options.suffix or '' }), mw.text.nowiki (options.id) ); }); end --[[--------------------------< I S _ E M B A R G O E D >------------------------------------------------------ Determines if a PMC identifier's online version is embargoed. Compares the date in |embargo= against today's date. If embargo date is in the future, returns the content of |embargo=; otherwise, returns and empty string because the embargo has expired or because |embargo= was not set in this cite. ]] local function is_embargoed (embargo) if is_set (embargo) then local lang = mw.getContentLanguage(); local good1, embargo_date, good2, todays_date; good1, embargo_date = pcall( lang.formatDate, lang, 'U', embargo ); good2, todays_date = pcall( lang.formatDate, lang, 'U' ); if good1 and good2 then -- if embargo date and today's date are good dates if tonumber( embargo_date ) >= tonumber( todays_date ) then -- is embargo date is in the future? return embargo; -- still embargoed else add_maint_cat ('embargo') return ''; -- unset because embargo has expired end end end return ''; -- |embargo= not set return empty string end --[[--------------------------< IS _ V A L I D _ I S X N >----------------------------------------------------- ISBN-10 and ISSN validator code calculates checksum across all isbn/issn digits including the check digit. ISBN-13 is checked in isbn(). If the number is valid the result will be 0. Before calling this function, issbn/issn must be checked for length and stripped of dashes, spaces and other non-isxn characters. ]] local function is_valid_isxn (isxn_str, len) local temp = 0; isxn_str = { isxn_str:byte(1, len) }; -- make a table of byte values '0' → 0x30 .. '9' → 0x39, 'X' → 0x58 len = len+1; -- adjust to be a loop counter for i, v in ipairs( isxn_str ) do -- loop through all of the bytes and calculate the checksum if v == string.byte( "X" ) then -- if checkdigit is X (compares the byte value of 'X' which is 0x58) temp = temp + 10*( len - i ); -- it represents 10 decimal else temp = temp + tonumber( string.char(v) )*(len-i); end end return temp % 11 == 0; -- returns true if calculation result is zero end --[[--------------------------< IS _ V A L I D _ I S X N _ 1 3 >----------------------------------------------- ISBN-13 and ISMN validator code calculates checksum across all 13 isbn/ismn digits including the check digit. If the number is valid, the result will be 0. Before calling this function, isbn-13/ismn must be checked for length and stripped of dashes, spaces and other non-isxn-13 characters. ]] local function is_valid_isxn_13 (isxn_str) local temp=0; isxn_str = { isxn_str:byte(1, 13) }; -- make a table of byte values '0' → 0x30 .. '9' → 0x39 for i, v in ipairs( isxn_str ) do temp = temp + (3 - 2*(i % 2)) * tonumber( string.char(v) ); -- multiply odd index digits by 1, even index digits by 3 and sum; includes check digit end return temp % 10 == 0; -- sum modulo 10 is zero when isbn-13/ismn is correct end --[[--------------------------< N O R M A L I Z E _ L C C N >-------------------------------------------------- lccn normalization (http://www.loc.gov/marc/lccn-namespace.html#normalization) 1. Remove all blanks. 2. If there is a forward slash (/) in the string, remove it, and remove all characters to the right of the forward slash. 3. If there is a hyphen in the string: a. Remove it. b. Inspect the substring following (to the right of) the (removed) hyphen. Then (and assuming that steps 1 and 2 have been carried out): 1. All these characters should be digits, and there should be six or less. (not done in this function) 2. If the length of the substring is less than 6, left-fill the substring with zeroes until the length is six. Returns a normalized lccn for lccn() to validate. There is no error checking (step 3.b.1) performed in this function. ]] local function normalize_lccn (lccn) lccn = lccn:gsub ("%s", ""); -- 1. strip whitespace if nil ~= string.find (lccn,'/') then lccn = lccn:match ("(.-)/"); -- 2. remove forward slash and all character to the right of it end local prefix local suffix prefix, suffix = lccn:match ("(.+)%-(.+)"); -- 3.a remove hyphen by splitting the string into prefix and suffix if nil ~= suffix then -- if there was a hyphen suffix=string.rep("0", 6-string.len (suffix)) .. suffix; -- 3.b.2 left fill the suffix with 0s if suffix length less than 6 lccn=prefix..suffix; -- reassemble the lccn end return lccn; end --============================<< I D E N T I F I E R F U N C T I O N S >>==================================== --[[--------------------------< A R X I V >-------------------------------------------------------------------- See: http://arxiv.org/help/arxiv_identifier format and error check arXiv identifier. There are three valid forms of the identifier: the first form, valid only between date codes 9108 and 0703 is: arXiv:<archive>.<class>/<date code><number><version> where: <archive> is a string of alpha characters - may be hyphenated; no other punctuation <class> is a string of alpha characters - may be hyphenated; no other punctuation <date code> is four digits in the form YYMM where YY is the last two digits of the four-digit year and MM is the month number January = 01 first digit of YY for this form can only 9 and 0 <number> is a three-digit number <version> is a 1 or more digit number preceded with a lowercase v; no spaces (undocumented) the second form, valid from April 2007 through December 2014 is: arXiv:<date code>.<number><version> where: <date code> is four digits in the form YYMM where YY is the last two digits of the four-digit year and MM is the month number January = 01 <number> is a four-digit number <version> is a 1 or more digit number preceded with a lowercase v; no spaces the third form, valid from January 2015 is: arXiv:<date code>.<number><version> where: <date code> and <version> are as defined for 0704-1412 <number> is a five-digit number ]] local function arxiv (id, class) local handler = cfg.id_handlers['ARXIV']; local year, month, version; local err_cat = ''; local text; if id:match("^%a[%a%.%-]+/[90]%d[01]%d%d%d%d$") or id:match("^%a[%a%.%-]+/[90]%d[01]%d%d%d%dv%d+$") then -- test for the 9108-0703 format w/ & w/o version year, month = id:match("^%a[%a%.%-]+/([90]%d)([01]%d)%d%d%d[v%d]*$"); year = tonumber(year); month = tonumber(month); if ((not (90 < year or 8 > year)) or (1 > month or 12 < month)) or -- if invalid year or invalid month ((91 == year and 7 > month) or (7 == year and 3 < month)) then -- if years ok, are starting and ending months ok? err_cat = ' ' .. set_error( 'bad_arxiv' ); -- set error message end elseif id:match("^%d%d[01]%d%.%d%d%d%d$") or id:match("^%d%d[01]%d%.%d%d%d%dv%d+$") then -- test for the 0704-1412 w/ & w/o version year, month = id:match("^(%d%d)([01]%d)%.%d%d%d%d[v%d]*$"); year = tonumber(year); month = tonumber(month); if ((7 > year) or (14 < year) or (1 > month or 12 < month)) or -- is year invalid or is month invalid? (doesn't test for future years) ((7 == year) and (4 > month)) then --or -- when year is 07, is month invalid (before April)? err_cat = ' ' .. set_error( 'bad_arxiv' ); -- set error message end elseif id:match("^%d%d[01]%d%.%d%d%d%d%d$") or id:match("^%d%d[01]%d%.%d%d%d%d%dv%d+$") then -- test for the 1501- format w/ & w/o version year, month = id:match("^(%d%d)([01]%d)%.%d%d%d%d%d[v%d]*$"); year = tonumber(year); month = tonumber(month); if ((15 > year) or (1 > month or 12 < month)) then -- is year invalid or is month invalid? (doesn't test for future years) err_cat = ' ' .. set_error( 'bad_arxiv' ); -- set error message end else err_cat = ' ' .. set_error( 'bad_arxiv' ); -- arXiv id doesn't match any format end text = external_link_id({link = handler.link, label = handler.label, prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode, access=handler.access}) .. err_cat; if is_set (class) then class = ' [[' .. '//arxiv.org/archive/' .. class .. ' ' .. class .. ']]'; -- external link within square brackets, not wikilink else class = ''; -- empty string for concatenation end return text .. class; end --[[--------------------------< B I B C O D E >-------------------------------------------------------------------- Validates (sort of) and formats a bibcode id. Format for bibcodes is specified here: http://adsabs.harvard.edu/abs_doc/help_pages/data.html#bibcodes But, this: 2015arXiv151206696F is apparently valid so apparently, the only things that really matter are length, 19 characters and first four digits must be a year. This function makes these tests: length must be 19 characters characters in position 1–4 must be digits and must represent a year in the range of 1000 – next year 5 must be a letter 6 must be letter, ampersand, or dot (ampersand cannot directly precede a dot; &. ) 7–8 must be letter, digit, ampersand, or dot (ampersand cannot directly precede a dot; &. ) 9–18 must be letter, digit, or dot 19 must be a letter or dot ]] local function bibcode (id, access) local handler = cfg.id_handlers['BIBCODE']; local err_type; local year; local text = external_link_id({link=handler.link, label=handler.label, prefix=handler.prefix, id=id, separator=handler.separator, encode=handler.encode, access=access}); if 19 ~= id:len() then err_type = 'length'; else year = id:match ("^(%d%d%d%d)[%a][%a&%.][%a&%.%d][%a&%.%d][%a%d%.]+[%a%.]$") -- if not year then -- if nil then no pattern match err_type = 'value'; -- so value error else local next_year = tonumber(os.date ('%Y'))+1; -- get the current year as a number and add one for next year year = tonumber (year); -- convert year portion of bibcode to a number if (1000 > year) or (year > next_year) then err_type = 'year'; -- year out of bounds end if id:find('&%.') then err_type = 'journal'; -- journal abbreviation must not have '&.' (if it does its missing a letter) end end end if is_set (err_type) then -- if there was an error detected text = text .. ' ' .. set_error( 'bad_bibcode', {err_type}); end return text; end --[[--------------------------< B I O R X I V >----------------------------------------------------------------- Format bioRxiv id and do simple error checking. BiorXiv ids are exactly 6 digits. The bioRxiv id is the number following the last slash in the bioRxiv-issued DOI: https://doi.org/10.1101/078733 -> 078733 ]] local function biorxiv(id) local handler = cfg.id_handlers['BIORXIV']; local err_cat = ''; -- presume that bioRxiv id is valid if nil == id:match("^%d%d%d%d%d%d$") then -- if bioRxiv id has anything but six digits err_cat = ' ' .. set_error( 'bad_biorxiv'); -- set an error message end return external_link_id({link = handler.link, label = handler.label, prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode, access=handler.access}) .. err_cat; end --[[--------------------------< C I T E S E E R X >------------------------------------------------------------ CiteSeerX use their own notion of "doi" (not to be confused with the identifiers resolved via doi.org). The description of the structure of this identifier can be found at Help_talk:Citation_Style_1/Archive_26#CiteSeerX_id_structure ]] local function citeseerx (id) local handler = cfg.id_handlers['CITESEERX']; local matched; local text = external_link_id({link=handler.link, label=handler.label, prefix=handler.prefix, id=id, separator=handler.separator, encode=handler.encode, access=handler.access}); matched = id:match ("^10%.1%.1%.[1-9]%d?%d?%d?%.[1-9]%d?%d?%d?$"); if not matched then text = text .. ' ' .. set_error( 'bad_citeseerx' ); end return text; end --[[--------------------------< D O I >------------------------------------------------------------------------ Formats a DOI and checks for DOI errors. DOI names contain two parts: prefix and suffix separated by a forward slash. Prefix: directory indicator '10.' followed by a registrant code Suffix: character string of any length chosen by the registrant This function checks a DOI name for: prefix/suffix. If the doi name contains spaces or endashes, or, if it ends with a period or a comma, this function will emit a bad_doi error message. DOI names are case-insensitive and can incorporate any printable Unicode characters so the test for spaces, endash, and terminal punctuation may not be technically correct but it appears, that in practice these characters are rarely if ever used in doi names. ]] local function doi(id, inactive, access) local cat = "" local handler = cfg.id_handlers['DOI']; local text; if is_set(inactive) then local inactive_year = inactive:match("%d%d%d%d") or ''; -- try to get the year portion from the inactive date if is_set(inactive_year) then table.insert( z.error_categories, "Pages with DOIs inactive since " .. inactive_year ); else table.insert( z.error_categories, "Pages with inactive DOIs" ); -- when inactive doesn't contain a recognizable year end inactive = " (" .. cfg.messages['inactive'] .. " " .. inactive .. ")" end text = external_link_id({link = handler.link, label = handler.label, prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode, access=access}) .. (inactive or '') if nil == id:match("^10%.[^%s–]-/[^%s–]-[^%.,]$") then -- doi must begin with '10.', must contain a fwd slash, must not contain spaces or endashes, and must not end with period or comma cat = ' ' .. set_error( 'bad_doi' ); end return text .. cat end --[[--------------------------< H D L >------------------------------------------------------------------------ Formats an HDL with minor error checking. HDL names contain two parts: prefix and suffix separated by a forward slash. Prefix: character string using any character in the UCS-2 character set except '/' Suffix: character string of any length using any character in the UCS-2 character set chosen by the registrant This function checks a HDL name for: prefix/suffix. If the HDL name contains spaces, endashes, or, if it ends with a period or a comma, this function will emit a bad_hdl error message. HDL names are case-insensitive and can incorporate any printable Unicode characters so the test for endashes and terminal punctuation may not be technically correct but it appears, that in practice these characters are rarely if ever used in HDLs. ]] local function hdl(id, access) local handler = cfg.id_handlers['HDL']; local text = external_link_id({link = handler.link, label = handler.label, prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode, access=access}) if nil == id:match("^[^%s–]-/[^%s–]-[^%.,]$") then -- hdl must contain a fwd slash, must not contain spaces, endashes, and must not end with period or comma text = text .. ' ' .. set_error( 'bad_hdl' ); end return text; end --[[--------------------------< I S B N >---------------------------------------------------------------------- Determines whether an ISBN string is valid ]] local function isbn( isbn_str ) if nil ~= isbn_str:match("[^%s-0-9X]") then return false, 'invalid character'; -- fail if isbn_str contains anything but digits, hyphens, or the uppercase X end isbn_str = isbn_str:gsub( "-", "" ):gsub( " ", "" ); -- remove hyphens and spaces local len = isbn_str:len(); if len ~= 10 and len ~= 13 then return false, 'length'; -- fail if incorrect length end if len == 10 then if isbn_str:match( "^%d*X?$" ) == nil then -- fail if isbn_str has 'X' anywhere but last position return false, 'invalid form'; end return is_valid_isxn(isbn_str, 10), 'checksum'; else if isbn_str:match( "^%d+$" ) == nil then return false, 'invalid character'; -- fail if isbn13 is not all digits end if isbn_str:match( "^97[89]%d*$" ) == nil then return false, 'invalid prefix'; -- fail when isbn13 does not begin with 978 or 979 end return is_valid_isxn_13 (isbn_str), 'checksum'; end end --[[--------------------------< A M A Z O N >------------------------------------------------------------------ Formats a link to Amazon. Do simple error checking: asin must be mix of 10 numeric or uppercase alpha characters. If a mix, first character must be uppercase alpha; if all numeric, asins must be 10-digit isbn. If 10-digit isbn, add a maintenance category so a bot or awb script can replace |asin= with |isbn=. Error message if not 10 characters, if not isbn10, if mixed and first character is a digit. This function is positioned here because it calls isbn() ]] local function asin(id, domain) local err_cat = "" if not id:match("^[%d%u][%d%u][%d%u][%d%u][%d%u][%d%u][%d%u][%d%u][%d%u][%d%u]$") then err_cat = ' ' .. set_error ('bad_asin'); -- asin is not a mix of 10 uppercase alpha and numeric characters else if id:match("^%d%d%d%d%d%d%d%d%d[%dX]$") then -- if 10-digit numeric (or 9 digits with terminal X) if isbn( id ) then -- see if asin value is isbn10 add_maint_cat ('ASIN'); elseif not is_set (err_cat) then err_cat = ' ' .. set_error ('bad_asin'); -- asin is not isbn10 end elseif not id:match("^%u[%d%u]+$") then err_cat = ' ' .. set_error ('bad_asin'); -- asin doesn't begin with uppercase alpha end end if not is_set(domain) then domain = "com"; elseif in_array (domain, {'jp', 'uk'}) then -- Japan, United Kingdom domain = "co." .. domain; elseif in_array (domain, {'au', 'br', 'mx'}) then -- Australia, Brazil, Mexico domain = "com." .. domain; end local handler = cfg.id_handlers['ASIN']; return external_link_id({link=handler.link, label=handler.label, prefix=handler.prefix .. domain .. "/dp/", id=id, encode=handler.encode, separator = handler.separator}) .. err_cat; end --[[--------------------------< I S M N >---------------------------------------------------------------------- Determines whether an ISMN string is valid. Similar to isbn-13, ismn is 13 digits begining 979-0-... and uses the same check digit calculations. See http://www.ismn-international.org/download/Web_ISMN_Users_Manual_2008-6.pdf section 2, pages 9–12. ]] local function ismn (id) local handler = cfg.id_handlers['ISMN']; local text; local valid_ismn = true; local id_copy; id_copy = id; -- save a copy because this testing is destructive id=id:gsub( "[%s-–]", "" ); -- strip spaces, hyphens, and endashes from the ismn if 13 ~= id:len() or id:match( "^9790%d*$" ) == nil then -- ismn must be 13 digits and begin 9790 valid_ismn = false; else valid_ismn=is_valid_isxn_13 (id); -- validate ismn end -- text = internal_link_id({link = handler.link, label = handler.label, -- use this (or external version) when there is some place to link to -- prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) text = table.concat ( { make_wikilink (handler.link, handler.label), handler.separator, id_copy }); -- because no place to link to yet if false == valid_ismn then text = text .. ' ' .. set_error( 'bad_ismn' ) -- add an error message if the ismn is invalid end return text; end --[[--------------------------< I S S N >---------------------------------------------------------------------- Validate and format an issn. This code fixes the case where an editor has included an ISSN in the citation but has separated the two groups of four digits with a space. When that condition occurred, the resulting link looked like this: |issn=0819 4327 gives: [http://www.worldcat.org/issn/0819 4327 0819 4327] -- can't have spaces in an external link This code now prevents that by inserting a hyphen at the issn midpoint. It also validates the issn for length and makes sure that the checkdigit agrees with the calculated value. Incorrect length (8 digits), characters other than 0-9 and X, or checkdigit / calculated value mismatch will all cause a check issn error message. The issn is always displayed with a hyphen, even if the issn was given as a single group of 8 digits. ]] local function issn(id, e) local issn_copy = id; -- save a copy of unadulterated issn; use this version for display if issn does not validate local handler; local text; local valid_issn = true; if e then handler = cfg.id_handlers['EISSN']; else handler = cfg.id_handlers['ISSN']; end id=id:gsub( "[%s-–]", "" ); -- strip spaces, hyphens, and endashes from the issn if 8 ~= id:len() or nil == id:match( "^%d*X?$" ) then -- validate the issn: 8 digits long, containing only 0-9 or X in the last position valid_issn=false; -- wrong length or improper character else valid_issn=is_valid_isxn(id, 8); -- validate issn end if true == valid_issn then id = string.sub( id, 1, 4 ) .. "-" .. string.sub( id, 5 ); -- if valid, display correctly formatted version else id = issn_copy; -- if not valid, use the show the invalid issn with error message end text = external_link_id({link = handler.link, label = handler.label, prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) if false == valid_issn then text = text .. ' ' .. set_error( 'bad_issn', e and 'e' or '' ) -- add an error message if the issn is invalid end return text end --[[--------------------------< J F M >----------------------------------------------------------------------- A numerical identifier in the form nn.nnnn.nn ]] local function jfm (id) local handler = cfg.id_handlers['JFM']; local id_num; local err_cat = ''; id_num = id:match ('^[Jj][Ff][Mm](.*)$'); -- identifier with jfm prefix; extract identifier if is_set (id_num) then add_maint_cat ('jfm_format'); else -- plain number without mr prefix id_num = id; -- if here id does not have prefix end if id_num and id_num:match('^%d%d%.%d%d%d%d%.%d%d$') then id = id_num; -- jfm matches pattern else err_cat = ' ' .. set_error( 'bad_jfm' ); -- set an error message end return external_link_id({link = handler.link, label = handler.label, prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) .. err_cat; end --[[--------------------------< L C C N >---------------------------------------------------------------------- Format LCCN link and do simple error checking. LCCN is a character string 8-12 characters long. The length of the LCCN dictates the character type of the first 1-3 characters; the rightmost eight are always digits. http://info-uri.info/registry/OAIHandler?verb=GetRecord&metadataPrefix=reg&identifier=info:lccn/ length = 8 then all digits length = 9 then lccn[1] is lower case alpha length = 10 then lccn[1] and lccn[2] are both lower case alpha or both digits length = 11 then lccn[1] is lower case alpha, lccn[2] and lccn[3] are both lower case alpha or both digits length = 12 then lccn[1] and lccn[2] are both lower case alpha ]] local function lccn(lccn) local handler = cfg.id_handlers['LCCN']; local err_cat = ''; -- presume that LCCN is valid local id = lccn; -- local copy of the lccn id = normalize_lccn (id); -- get canonical form (no whitespace, hyphens, forward slashes) local len = id:len(); -- get the length of the lccn if 8 == len then if id:match("[^%d]") then -- if LCCN has anything but digits (nil if only digits) err_cat = ' ' .. set_error( 'bad_lccn' ); -- set an error message end elseif 9 == len then -- LCCN should be adddddddd if nil == id:match("%l%d%d%d%d%d%d%d%d") then -- does it match our pattern? err_cat = ' ' .. set_error( 'bad_lccn' ); -- set an error message end elseif 10 == len then -- LCCN should be aadddddddd or dddddddddd if id:match("[^%d]") then -- if LCCN has anything but digits (nil if only digits) ... if nil == id:match("^%l%l%d%d%d%d%d%d%d%d") then -- ... see if it matches our pattern err_cat = ' ' .. set_error( 'bad_lccn' ); -- no match, set an error message end end elseif 11 == len then -- LCCN should be aaadddddddd or adddddddddd if not (id:match("^%l%l%l%d%d%d%d%d%d%d%d") or id:match("^%l%d%d%d%d%d%d%d%d%d%d")) then -- see if it matches one of our patterns err_cat = ' ' .. set_error( 'bad_lccn' ); -- no match, set an error message end elseif 12 == len then -- LCCN should be aadddddddddd if not id:match("^%l%l%d%d%d%d%d%d%d%d%d%d") then -- see if it matches our pattern err_cat = ' ' .. set_error( 'bad_lccn' ); -- no match, set an error message end else err_cat = ' ' .. set_error( 'bad_lccn' ); -- wrong length, set an error message end if not is_set (err_cat) and nil ~= lccn:find ('%s') then err_cat = ' ' .. set_error( 'bad_lccn' ); -- lccn contains a space, set an error message end return external_link_id({link = handler.link, label = handler.label, prefix=handler.prefix,id=lccn,separator=handler.separator, encode=handler.encode}) .. err_cat; end --[[--------------------------< M R >-------------------------------------------------------------------------- A seven digit number; if not seven digits, zero-fill leading digits to make seven digits. ]] local function mr (id) local handler = cfg.id_handlers['MR']; local id_num; local id_len; local err_cat = ''; id_num = id:match ('^[Mm][Rr](%d+)$'); -- identifier with mr prefix if is_set (id_num) then add_maint_cat ('mr_format'); else -- plain number without mr prefix id_num = id:match ('^%d+$'); -- if here id is all digits end id_len = id_num and id_num:len() or 0; if (7 >= id_len) and (0 ~= id_len) then id = string.rep ('0', 7-id_len ) .. id_num; -- zero-fill leading digits else err_cat = ' ' .. set_error( 'bad_mr' ); -- set an error message end return external_link_id({link = handler.link, label = handler.label, prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) .. err_cat; end --[[--------------------------< O C L C >---------------------------------------------------------------------- Validate and format an oclc id. https://www.oclc.org/batchload/controlnumber.en.html ]] local function oclc (id) local handler = cfg.id_handlers['OCLC']; local number; local err_msg = ''; -- empty string for concatenation if id:match('^ocm%d%d%d%d%d%d%d%d$') then -- ocm prefix and 8 digits; 001 field (12 characters) number = id:match('ocm(%d+)'); -- get the number elseif id:match('^ocn%d%d%d%d%d%d%d%d%d$') then -- ocn prefix and 9 digits; 001 field (12 characters) number = id:match('ocn(%d+)'); -- get the number elseif id:match('^on%d%d%d%d%d%d%d%d%d%d+$') then -- on prefix and 10 or more digits; 001 field (12 characters) number = id:match('^on(%d%d%d%d%d%d%d%d%d%d+)$'); -- get the number elseif id:match('^%(OCoLC%)[1-9]%d*$') then -- (OCoLC) prefix and variable number digits; no leading zeros; 035 field number = id:match('%(OCoLC%)([1-9]%d*)'); -- get the number if 9 < number:len() then number = nil; -- contrain to 1 to 9 digits; change this when oclc issues 10-digit numbers end elseif id:match('^%d+$') then -- no prefix number = id; -- get the number if 10 < number:len() then number = nil; -- contrain to 1 to 10 digits; change this when oclc issues 11-digit numbers end end if number then -- proper format id = number; -- exclude prefix, if any, from external link else err_msg = ' ' .. set_error( 'bad_oclc' ) -- add an error message if the id is malformed end local text = external_link_id({link=handler.link, label=handler.label, prefix=handler.prefix, id=id, separator=handler.separator, encode=handler.encode}) .. err_msg; return text; end --[[--------------------------< O P E N L I B R A R Y >-------------------------------------------------------- Formats an OpenLibrary link, and checks for associated errors. ]] local function openlibrary(id, access) local code; local handler = cfg.id_handlers['OL']; local ident; ident, code = id:gsub('^OL', ''):match("^(%d+([AMW]))$"); -- optional OL prefix followed immediately by digits followed by 'A', 'M', or 'W'; remove OL prefix if not is_set (ident) then -- if malformed return an error return external_link_id({link=handler.link, label=handler.label, prefix=handler.prefix .. 'OL', id=id, separator=handler.separator, encode = handler.encode, access = access}) .. ' ' .. set_error( 'bad_ol' ); end id = ident; -- use ident without the optional OL prefix (it has been removed) if ( code == "A" ) then return external_link_id({link=handler.link, label=handler.label, prefix=handler.prefix .. 'authors/OL', id=id, separator=handler.separator, encode = handler.encode, access = access}) end if ( code == "M" ) then return external_link_id({link=handler.link, label=handler.label, prefix=handler.prefix .. 'books/OL', id=id, separator=handler.separator, encode = handler.encode, access = access}) end if ( code == "W" ) then return external_link_id({link=handler.link, label=handler.label, prefix=handler.prefix .. 'works/OL', id=id, separator=handler.separator, encode = handler.encode, access = access}) end end --[[--------------------------< P M C >------------------------------------------------------------------------ Format a PMC, do simple error checking, and check for embargoed articles. The embargo parameter takes a date for a value. If the embargo date is in the future the PMC identifier will not be linked to the article. If the embargo date is today or in the past, or if it is empty or omitted, then the PMC identifier is linked to the article through the link at cfg.id_handlers['PMC'].prefix. PMC embargo date testing is done in function is_embargoed () which is called earlier because when the citation has |pmc=<value> but does not have a |url= then |title= is linked with the PMC link. Function is_embargoed () returns the embargo date if the PMC article is still embargoed, otherwise it returns an empty string. PMCs are sequential numbers beginning at 1 and counting up. This code checks the PMC to see that it contains only digits and is less than test_limit; the value in local variable test_limit will need to be updated periodically as more PMCs are issued. ]] local function pmc(id, embargo) local test_limit = 6500000; -- update this value as PMCs approach local handler = cfg.id_handlers['PMC']; local err_cat = ''; -- presume that PMC is valid local id_num; local text; id_num = id:match ('^[Pp][Mm][Cc](%d+)$'); -- identifier with pmc prefix if is_set (id_num) then add_maint_cat ('pmc_format'); else -- plain number without pmc prefix id_num = id:match ('^%d+$'); -- if here id is all digits end if is_set (id_num) then -- id_num has a value so test it id_num = tonumber(id_num); -- convert id_num to a number for range testing if 1 > id_num or test_limit < id_num then -- if PMC is outside test limit boundaries err_cat = ' ' .. set_error( 'bad_pmc' ); -- set an error message else id = tostring (id_num); -- make sure id is a string end else -- when id format incorrect err_cat = ' ' .. set_error( 'bad_pmc' ); -- set an error message end if is_set (embargo) then -- is PMC is still embargoed? text = table.concat ( -- still embargoed so no external link { make_wikilink (handler.link, handler.label), handler.separator, id, err_cat }); else text = external_link_id({link = handler.link, label = handler.label, -- no embargo date or embargo has expired, ok to link to article prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode, access=handler.access}) .. err_cat; end return text; end --[[--------------------------< P M I D >---------------------------------------------------------------------- Format PMID and do simple error checking. PMIDs are sequential numbers beginning at 1 and counting up. This code checks the PMID to see that it contains only digits and is less than test_limit; the value in local variable test_limit will need to be updated periodically as more PMIDs are issued. ]] local function pmid(id) local test_limit = 32000000; -- update this value as PMIDs approach local handler = cfg.id_handlers['PMID']; local err_cat = ''; -- presume that PMID is valid if id:match("[^%d]") then -- if PMID has anything but digits err_cat = ' ' .. set_error( 'bad_pmid' ); -- set an error message else -- PMID is only digits local id_num = tonumber(id); -- convert id to a number for range testing if 1 > id_num or test_limit < id_num then -- if PMID is outside test limit boundaries err_cat = ' ' .. set_error( 'bad_pmid' ); -- set an error message end end return external_link_id({link = handler.link, label = handler.label, prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) .. err_cat; end --[[--------------------------< S S R N >---------------------------------------------------------------------- Format an ssrn, do simple error checking SSRNs are sequential numbers beginning at 100? and counting up. This code checks the ssrn to see that it is only digits and is greater than 99 and less than test_limit; the value in local variable test_limit will need to be updated periodically as more SSRNs are issued. ]] local function ssrn (id) local test_limit = 3500000; -- update this value as SSRNs approach local handler = cfg.id_handlers['SSRN']; local err_cat = ''; -- presume that SSRN is valid local id_num; local text; id_num = id:match ('^%d+$'); -- id must be all digits if is_set (id_num) then -- id_num has a value so test it id_num = tonumber(id_num); -- convert id_num to a number for range testing if 100 > id_num or test_limit < id_num then -- if SSRN is outside test limit boundaries err_cat = ' ' .. set_error( 'bad_ssrn' ); -- set an error message end else -- when id format incorrect err_cat = ' ' .. set_error( 'bad_ssrn' ); -- set an error message end text = external_link_id({link = handler.link, label = handler.label, prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode, access=handler.access}) .. err_cat; return text; end --[[--------------------------< U S E N E T _ I D >------------------------------------------------------------ Validate and format a usenet message id. Simple error checking, looks for 'id-left@id-right' not enclosed in '<' and/or '>' angle brackets. ]] local function usenet_id (id) local handler = cfg.id_handlers['USENETID']; local text = external_link_id({link = handler.link, label = handler.label, prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) if not id:match('^.+@.+$') or not id:match('^[^<].*[^>]$')then -- doesn't have '@' or has one or first or last character is '< or '>' text = text .. ' ' .. set_error( 'bad_usenet_id' ) -- add an error message if the message id is invalid end return text end --[[--------------------------< Z B L >----------------------------------------------------------------------- A numerical identifier in the form nnnn.nnnnn - leading zeros in the first quartet optional ]] local function zbl (id) local handler = cfg.id_handlers['ZBL']; local id_num; local err_cat = ''; id_num = id:match ('^[Zz][Bb][Ll](.*)$'); -- identifier with zbl prefix; extract identifier if is_set (id_num) then add_maint_cat ('zbl_format'); else -- plain number without zbl prefix id_num = id; -- if here id does not have prefix end if id_num:match('^%d?%d?%d?%d%.%d%d%d%d%d$') then id = id_num; -- id matches pattern else err_cat = ' ' .. set_error( 'bad_zbl' ); -- set an error message end return external_link_id({link = handler.link, label = handler.label, prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) .. err_cat; end --============================<< I N T E R F A C E F U N C T I O N S >>========================================== --[[--------------------------< B U I L D _ I D _ L I S T >-------------------------------------------------------- Takes a table of IDs created by extract_ids() and turns it into a table of formatted ID outputs. inputs: id_list – table of identifiers built by extract_ids() options – table of various template parameter values used to modify some manually handled identifiers ]] local function build_id_list( id_list, options ) local new_list, handler = {}; local function fallback(k) return { __index = function(t,i) return cfg.id_handlers[k][i] end } end; for k, v in pairs( id_list ) do -- k is uc identifier name as index to cfg.id_handlers; e.g. cfg.id_handlers['ISBN'], v is a table -- fallback to read-only cfg handler = setmetatable( { ['id'] = v, ['access'] = options.IdAccessLevels[k] }, fallback(k) ); if handler.mode == 'external' then table.insert( new_list, {handler.label, external_link_id( handler ) } ); elseif handler.mode == 'internal' then table.insert( new_list, {handler.label, internal_link_id( handler ) } ); elseif handler.mode ~= 'manual' then error( cfg.messages['unknown_ID_mode'] ); elseif k == 'ARXIV' then table.insert( new_list, {handler.label, arxiv( v, options.Class ) } ); elseif k == 'ASIN' then table.insert( new_list, {handler.label, asin( v, options.ASINTLD ) } ); elseif k == 'BIBCODE' then table.insert( new_list, {handler.label, bibcode( v, handler.access ) } ); elseif k == 'BIORXIV' then table.insert( new_list, {handler.label, biorxiv( v ) } ); elseif k == 'BNF' then table.insert( new_list, {handler.label, bnf( v ) } ); elseif k == 'CITESEERX' then table.insert( new_list, {handler.label, citeseerx( v ) } ); elseif k == 'DOI' then table.insert( new_list, {handler.label, doi( v, options.DoiBroken, handler.access ) } ); elseif k == 'EISSN' then table.insert( new_list, {handler.label, issn( v, true ) } ); -- true distinguishes eissn from issn elseif k == 'HDL' then table.insert( new_list, {handler.label, hdl( v, handler.access ) } ); elseif k == 'ISBN' then local ISBN = internal_link_id( handler ); local check; local err_type = ''; check, err_type = isbn( v ); if not check then if is_set(options.IgnoreISBN) then -- ISBN is invalid; if |ignore-isbn-error= set add_maint_cat ('ignore_isbn_err'); -- ad a maint category else ISBN = ISBN .. set_error( 'bad_isbn', {err_type}, false, " ", "" ); -- else display an error message end elseif is_set(options.IgnoreISBN) then -- ISBN is OK; if |ignore-isbn-error= set add_maint_cat ('ignore_isbn_err'); -- because |ignore-isbn-error= unnecessary end table.insert( new_list, {handler.label, ISBN } ); elseif k == 'ISMN' then table.insert( new_list, {handler.label, ismn( v ) } ); elseif k == 'ISSN' then table.insert( new_list, {handler.label, issn( v ) } ); elseif k == 'JFM' then table.insert( new_list, {handler.label, jfm( v ) } ); elseif k == 'LCCN' then table.insert( new_list, {handler.label, lccn( v ) } ); elseif k == 'MR' then table.insert( new_list, {handler.label, mr( v ) } ); elseif k == 'OCLC' then table.insert( new_list, {handler.label, oclc( v ) } ); elseif k == 'OL' or k == 'OLA' then table.insert( new_list, {handler.label, openlibrary( v, handler.access ) } ); elseif k == 'PMC' then table.insert( new_list, {handler.label, pmc( v, options.Embargo ) } ); elseif k == 'PMID' then table.insert( new_list, {handler.label, pmid( v ) } ); elseif k == 'SSRN' then table.insert( new_list, {handler.label, ssrn( v ) } ); elseif k == 'USENETID' then table.insert( new_list, {handler.label, usenet_id( v ) } ); elseif k == 'ZBL' then table.insert( new_list, {handler.label, zbl( v ) } ); else error( cfg.messages['unknown_manual_ID'] ); end end local function comp( a, b ) -- used in following table.sort() return a[1]:lower() < b[1]:lower(); end table.sort( new_list, comp ); for k, v in ipairs( new_list ) do new_list[k] = v[2]; end return new_list; end --[[--------------------------< E X T R A C T _ I D S >------------------------------------------------------------ Populates ID table from arguments using configuration settings. Loops through cfg.id_handlers and searches args for any of the parameters listed in each cfg.id_handlers['...'].parameters. If found, adds the parameter and value to the identifier list. Emits redundant error message is more than one alias exists in args ]] local function extract_ids( args ) local id_list = {}; -- list of identifiers found in args for k, v in pairs( cfg.id_handlers ) do -- k is uc identifier name as index to cfg.id_handlers; e.g. cfg.id_handlers['ISBN'], v is a table v = select_one( args, v.parameters, 'redundant_parameters' ); -- v.parameters is a table of aliases for k; here we pick one from args if present if is_set(v) then id_list[k] = v; end -- if found in args, add identifier to our list end return id_list; end --[[--------------------------< E X T R A C T _ I D _ A C C E S S _ L E V E L S >-------------------------------------- Fetches custom id access levels from arguments using configuration settings. Parameters which have a predefined access level (e.g. arxiv) do not use this function as they are directly rendered as free without using an additional parameter. ]] local function extract_id_access_levels( args, id_list ) local id_accesses_list = {}; for k, v in pairs( cfg.id_handlers ) do local access_param = v.custom_access; local k_lower = string.lower(k); if is_set(access_param) then local access_level = args[access_param]; if is_set(access_level) then if not in_array (access_level:lower(), cfg.keywords['id-access']) then table.insert( z.message_tail, { set_error( 'invalid_param_val', {access_param, access_level}, true ) } ); access_level = nil; end if not is_set(id_list[k]) then table.insert( z.message_tail, { set_error( 'param_access_requires_param', {k_lower}, true ) } ); end if is_set(access_level) then access_level = access_level:lower(); end id_accesses_list[k] = access_level; end end end return id_accesses_list; end --[[--------------------------< S E T _ S E L E C T E D _ M O D U L E S >-------------------------------------- Sets local cfg table and imported functions table to same (live or sandbox) as that used by the other modules. ]] local function set_selected_modules (cfg_table_ptr, utilities_page_ptr) cfg = cfg_table_ptr; is_set = utilities_page_ptr.is_set; -- import functions from select Module:Citation/CS1/Utilities module in_array = utilities_page_ptr.in_array; set_error = utilities_page_ptr.set_error; select_one = utilities_page_ptr.select_one; add_maint_cat = utilities_page_ptr.add_maint_cat; substitute = utilities_page_ptr.substitute; make_wikilink = utilities_page_ptr.make_wikilink; z = utilities_page_ptr.z; -- table of tables in Module:Citation/CS1/Utilities end return { build_id_list = build_id_list, extract_ids = extract_ids, extract_id_access_levels = extract_id_access_levels, is_embargoed = is_embargoed; set_selected_modules = set_selected_modules; } gztdrg6k84nb3sma8iwdm34c78z5eom Module:Citation/CS1/styles.css 828 3474 36689 2025-12-15T22:09:33Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '/*-------------------------< O V E R R I D E S >----------------------------- cs1|2 references are wrapped in <cite>...</cite> tags. Some wikis have not chosen to override the generic user agent italic styling as en.wiki has. This (untested) styling should override the user agent default when cs1|2 templates are rendered. Similarly, some languages use different quotation punctuation so that setting is also made available here. */ cite.citation...' 36689 sanitized-css text/css /*-------------------------< O V E R R I D E S >----------------------------- cs1|2 references are wrapped in <cite>...</cite> tags. Some wikis have not chosen to override the generic user agent italic styling as en.wiki has. This (untested) styling should override the user agent default when cs1|2 templates are rendered. Similarly, some languages use different quotation punctuation so that setting is also made available here. */ cite.citation { /* Reset italic styling set by user agent (only for cs1|2 templates; the reason for the .citation qualifier) */ font-style: inherit; } q { /* Πρώτα ελληνικά εισαγωγικά για <q> */ quotes: '«' '»' '"' '"' "'" "'"; } /*------------< C O M M O N P R E S E N T A T I O N >---------------------- <code>...</code> style override: mediawiki's css definition is specified here: https://git.wikimedia.org/blob/mediawiki%2Fcore.git/69cd73811f7aadd093050dbf20ed70ef0b42a713/skins%2Fcommon%2FcommonElements.css#L199 */ code.cs1-code { /* preserve font but remove other <code> styling; used in error messages */ color: inherit; background: inherit; border: inherit; /* code editor doesn't like inherit with border? https://www.w3.org/wiki/CSS/Properties/border suggests that inherit is ok */ padding: inherit; } /*-----------------< A C C E S S I C O N S T Y L E >--------------------*/ .cs1-lock-free a { background: url(//upload.wikimedia.org/wikipedia/commons/thumb/6/65/Lock-green.svg/9px-Lock-green.svg.png) no-repeat; background-position: right .1em center; } .cs1-lock-limited a, .cs1-lock-registration a { background: url(//upload.wikimedia.org/wikipedia/commons/thumb/d/d6/Lock-gray-alt-2.svg/9px-Lock-gray-alt-2.svg.png) no-repeat; background-position: right .1em center; } .cs1-lock-subscription a { background: url(//upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Lock-red-alt-2.svg/9px-Lock-red-alt-2.svg.png) no-repeat; background-position: right .1em center; } /*------------------< C S 1 / C O N F I G U R A T I O N >-------------------*/ .cs1-subscription, .cs1-registration { color: #555; } .cs1-subscription span, .cs1-registration span { border-bottom: 1px dotted; cursor: help; } /* Errors and maintenance */ code.cs1-code { /* <code>...</code> style override: mediawiki's css definition is specified here: https://git.wikimedia.org/blob/mediawiki%2Fcore.git/ 69cd73811f7aadd093050dbf20ed70ef0b42a713/skins%2Fcommon%2FcommonElements.css#L199 */ color: inherit; background: inherit; border: none; /* this maybe can be inherit. MDN says yes, code editor says no */ padding: inherit; } .cs1-hidden-error { display: none; font-size: 100%; } .cs1-visible-error { font-size: 100%; } .cs1-maint { display: none; color: #33aa33; margin-left: 0.3em; } /* Set small text size in one place. 0.95 (here) * 0.9 (from references list) is ~0.85, which is the lower bound for size for accessibility. Old styling for this was just 0.85. We could write the rule so that when this template is inside references/reflist, only then does it multiply by 0.95; else multiply by 0.85 */ .cs1-subscription, .cs1-registration, .cs1-format { font-size: 95%; } .cs1-kern-left, .cs1-kern-wl-left { padding-left: 0.2em; } .cs1-kern-right, .cs1-kern-wl-right { padding-right: 0.2em; } s0it8kagctkcdvztvisoldtpir4mhj4 Module:Citation/CS1/Date validation 828 3475 36690 2025-12-15T22:10:15Z Εὐθυμένης 2777 Καινούρεον σελίδαν με ' local p = {} --[[--------------------------< F O R W A R D D E C L A R A T I O N S >-------------------------------------- ]] local is_set, in_array; -- imported functions from selected Module:Citation/CS1/Utilities local cfg; -- table of tables imported from slected Module:Citation/CS1/Configuration --[=[-------------------------< I S _ V A L I D _ A C C E S S D A T E >----------------------------------------...' 36690 Scribunto text/plain local p = {} --[[--------------------------< F O R W A R D D E C L A R A T I O N S >-------------------------------------- ]] local is_set, in_array; -- imported functions from selected Module:Citation/CS1/Utilities local cfg; -- table of tables imported from slected Module:Citation/CS1/Configuration --[=[-------------------------< I S _ V A L I D _ A C C E S S D A T E >---------------------------------------- returns true if: Wikipedia start date <= accessdate < today + 2 days Wikipedia start date is 2001-01-15T00:00:00 UTC which is 979516800 seconds after 1970-01-01T00:00:00 UTC (the start of Unix time) accessdate is the date provided in |accessdate= at time 00:00:00 UTC today is the current date at time 00:00:00 UTC plus 48 hours if today is 2015-01-01T00:00:00 then adding 24 hours gives 2015-01-02T00:00:00 – one second more than today adding 24 hours gives 2015-01-03T00:00:00 – one second more than tomorrow This function does not work if it is fed month names for languages other than English. Wikimedia #time: parser apparently doesn't understand non-Engish date month names. This function will always return false when the date contains a non-English month name because good1 is false after the call to lang.formatDate(). To get around that call this function with YYYY-MM-DD format dates. ]=] local function is_valid_accessdate (accessdate) local lang = mw.getContentLanguage(); local good1, good2; local access_ts, tomorrow_ts; -- to hold unix time stamps representing the dates good1, access_ts = pcall( lang.formatDate, lang, 'U', accessdate ); -- convert accessdate value to unix timesatmp good2, tomorrow_ts = pcall( lang.formatDate, lang, 'U', 'today + 2 days' ); -- today midnight + 2 days is one second more than all day tomorrow if good1 and good2 then -- lang.formatDate() returns a timestamp in the local script which which tonumber() may not understand access_ts = tonumber (access_ts) or lang:parseFormattedNumber (access_ts); -- convert to numbers for the comparison; tomorrow_ts = tonumber (tomorrow_ts) or lang:parseFormattedNumber (tomorrow_ts); else return false; -- one or both failed to convert to unix time stamp end if 979516800 <= access_ts and access_ts < tomorrow_ts then -- Wikipedia start date <= accessdate < tomorrow's date return true; else return false; -- accessdate out of range end end --[[--------------------------< G E T _ M O N T H _ N U M B E R >---------------------------------------------- returns a number according to the month in a date: 1 for January, etc. Capitalization and spelling must be correct. If not a valid month, returns 0 ]] local function get_month_number (month) return cfg.date_names['local'].long[month] or cfg.date_names['local'].short[month] or -- look for local names first cfg.date_names['en'].long[month] or cfg.date_names['en'].short[month] or -- failing that, look for English names 0; -- not a recognized month name end --[[--------------------------< I S _ V A L I D _ E M B A R G O _ D A T E >------------------------------------ returns true and date value if that value has proper dmy, mdy, ymd format. returns false and 9999 (embargoed forever) when date value is not proper format; assumes that when |embargo= is set, the editor intended to embargo a pmc but |embargo= does not hold a single date. ]] local function is_valid_embargo_date (v) if v:match ('^%d%d%d%d%-%d%d%-%d%d$') or -- ymd v:match ('^%d%d?%s+%a+%s+%d%d%d%d$') or -- dmy v:match ('^%a+%s+%d%d?%s*,%s*%d%d%d%d$') then -- mdy return true, v; end return false, '9999'; -- if here not good date so return false and set embargo date to long time in future end --[[--------------------------< G E T _ S E A S O N _ N U M B E R >-------------------------------------------- returns a number according to the sequence of seasons in a year: 1 for Winter, etc. Capitalization and spelling must be correct. If not a valid season, returns 0 Uses ISO DIS 8601 2016 part 2 §4.7 Divisions of a year for hemishpere-independent seasons: 21-24 = Spring, Summer, Autumn, Winter, independent of “Hemisphere” These additional divisions not currently supported: 25-28 = Spring - Northern Hemisphere, Summer- Northern Hemisphere, Autumn - Northern Hemisphere, Winter - Northern Hemisphere 29-32 = Spring – Southern Hemisphere, Summer– Southern Hemisphere, Autumn – Southern Hemisphere, Winter - Southern Hemisphere 33-36 = Quarter 1, Quarter 2, Quarter 3, Quarter 4 (3 months each) 37-39 = Quadrimester 1, Quadrimester 2, Quadrimester 3 (4 months each) 40-41 = Semestral 1, Semestral-2 (6 months each) ]] local function get_season_number (season) return cfg.date_names['local'].season[season] or -- look for local names first cfg.date_names['en'].season[season] or -- failing that, look for English names 0; -- not a recognized season name end --[[--------------------------< I S _ P R O P E R _ N A M E >-------------------------------------------------- returns a non-zero number if date contains a recognized proper name. Capitalization and spelling must be correct. ]] local function is_proper_name (name) return cfg.date_names['local'].named[name] or -- look for local names dates first cfg.date_names['en'].named[name] or -- failing that, look for English names 0; -- not a recognized named date end --[[--------------------------< I S _ V A L I D _ M O N T H _ O R _ S E A S O N >------------------------------ --returns true if month or season is valid (properly spelled, capitalized, abbreviated) ]] local function is_valid_month_or_season (month_season) if 0 == get_month_number (month_season) then -- if month text isn't one of the twelve months, might be a season if 0 == get_season_number (month_season) then -- not a month, is it a season? return false; -- return false not a month or one of the five seasons end end return true; end --[[--------------------------< I S _ V A L I D _ Y E A R >---------------------------------------------------- Function gets current year from the server and compares it to year from a citation parameter. Years more than one year in the future are not acceptable. ]] local year_limit; local function is_valid_year(year) if not is_set(year_limit) then year_limit = tonumber(os.date("%Y"))+1; -- global variable so we only have to fetch it once end return tonumber(year) <= year_limit; -- false if year is in the future more than one year end --[[--------------------------< I S _ V A L I D _ D A T E >---------------------------------------------------- Returns true if day is less than or equal to the number of days in month and year is no farther into the future than next year; else returns false. Assumes Julian calendar prior to year 1582 and Gregorian calendar thereafter. Accounts for Julian calendar leap years before 1582 and Gregorian leap years after 1582. Where the two calendars overlap (1582 to approximately 1923) dates are assumed to be Gregorian. ]] local function is_valid_date (year, month, day) local days_in_month = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; local month_length; if not is_valid_year(year) then -- no farther into the future than next year return false; end month = tonumber(month); -- required for YYYY-MM-DD dates if (2==month) then -- if February month_length = 28; -- then 28 days unless if 1582 > tonumber(year) then -- Julian calendar if 0==(year%4) then month_length = 29; end else -- Gregorian calendar if (0==(year%4) and (0~=(year%100) or 0==(year%400))) then -- is a leap year? month_length = 29; -- if leap year then 29 days in February end end else month_length=days_in_month[month]; end if tonumber (day) > month_length then return false; end return true; end --[[--------------------------< I S _ V A L I D _ M O N T H _ R A N G E _ S T Y L E >-------------------------- Months in a range are expected to have the same style: Jan–Mar or October–December but not February–Mar or Jul–August. There is a special test for May because it can be either short or long form. Returns true when style for both months is the same ]] local function is_valid_month_range_style (month1, month2) local len1 = month1:len(); local len2 = month2:len(); if len1 == len2 then return true; -- both months are short form so return true elseif 'May' == month1 or 'May'== month2 then return true; -- both months are long form so return true elseif 3 == len1 or 3 == len2 then return false; -- months are mixed form so return false else return true; -- both months are long form so return true end end --[[--------------------------< I S _ V A L I D _ M O N T H _ S E A S O N _ R A N G E >------------------------ Check a pair of months or seasons to see if both are valid members of a month or season pair. Month pairs are expected to be left to right, earliest to latest in time. All season ranges are accepted as valid because there are publishers out there who have published a Summer–Spring YYYY issue so ... ok ]] local function is_valid_month_season_range(range_start, range_end) local range_start_number = get_month_number (range_start); local range_end_number; if 0 == range_start_number then -- is this a month range? range_start_number = get_season_number (range_start); -- not a month; is it a season? get start season number range_end_number = get_season_number (range_end); -- get end season number if (0 ~= range_start_number) and (0 ~= range_end_number) then return true; -- any season pairing is accepted end return false; -- range_start and/or range_end is not a season end -- here when range_start is a month range_end_number = get_month_number (range_end); -- get end month number if range_start_number < range_end_number then -- range_start is a month; does range_start precede range_end? if is_valid_month_range_style (range_start, range_end) then -- do months have the same style? return true; -- proper order and same style end end return false; -- range_start month number is greater than or equal to range end number; or range end isn't a month end --[[--------------------------< M A K E _ C O I N S _ D A T E >------------------------------------------------ This function receives a table of date parts for one or two dates and an empty table reference declared in Module:Citation/CS1. The function is called only for |date= parameters and only if the |date=<value> is determined to be a valid date format. The question of what to do with invalid date formats is not answered here. The date parts in the input table are converted to an ISO 8601 conforming date string: single whole dates: yyyy-mm-dd month and year dates: yyyy-mm year dates: yyyy ranges: yyyy-mm-dd/yyyy-mm-dd yyyy-mm/yyyy-mm yyyy/yyyy Dates in the Julian calendar are reduced to year or year/year so that we don't have to do calendar conversion from Julian to Proleptic Gregorian. The input table has: year, year2 – always present; if before 1582, ignore months and days if present month, month2 – 0 if not provided, 1-12 for months, 21-24 for seasons; 99 Christmas day, day2 – 0 if not provided, 1-31 for days the output table receives: rftdate: an IS8601 formatted date rftchron: a free-form version of the date, usually without year which is in rftdate (season ranges and propername dates) rftssn: one of four season keywords: winter, spring, summer, fall (lowercase) ]] local function make_COinS_date (input, tCOinS_date) local date; -- one date or first date in a range local date2 = ''; -- end of range date -- start temporary Julian / Gregorian calendar uncertainty detection local year = tonumber(input.year); -- this temporary code to determine the extent of sources dated to the Julian/Gregorian local month = tonumber(input.month); -- interstice 1 October 1582 – 1 January 1926 local day = tonumber (input.day); if (0 ~= day) and -- day must have a value for this to be a whole date (((1582 == year) and (10 <= month) and (12 >= month)) or -- any whole 1582 date from 1 october to 31 December or ((1926 == year) and (1 == month) and (1 == input.day)) or -- 1 January 1926 or ((1582 < year) and (1925 >= year))) then -- any date 1 January 1583 – 31 December 1925 tCOinS_date.inter_cal_cat = true; -- set category flag true end -- end temporary Julian / Gergorian calendar uncertainty detection if 1582 > tonumber(input.year) or 20 < tonumber(input.month) then -- Julian calendar or season so &rft.date gets year only date = input.year; if 0 ~= input.year2 and input.year ~= input.year2 then -- if a range, only the second year portion when not the same as range start year date = string.format ('%.4d/%.4d', tonumber(input.year), tonumber(input.year2)) -- assemble the date range end if 20 < tonumber(input.month) then -- if season or propername date local season = {[24]='winter', [21]='spring', [22]='summer', [23]='fall', [99]='Christmas'}; -- seasons lowercase, no autumn; proper names use title case if 0 == input.month2 then -- single season date if 30 <tonumber(input.month) then tCOinS_date.rftchron = season[input.month]; -- proper name dates else tCOinS_date.rftssn = season[input.month]; -- seasons end else -- season range with a second season specified if input.year ~= input.year2 then -- season year – season year range or season year–year tCOinS_date.rftssn = season[input.month]; -- start of range season; keep this? if 0~= input.month2 then tCOinS_date.rftchron = string.format ('%s %s – %s %s', season[input.month], input.year, season[input.month2], input.year2); end else -- season–season year range tCOinS_date.rftssn = season[input.month]; -- start of range season; keep this? tCOinS_date.rftchron = season[input.month] .. '–' .. season[input.month2]; -- season–season year range end end end tCOinS_date.rftdate = date; return; -- done end if 0 ~= input.day then date = string.format ('%s-%.2d-%.2d', input.year, tonumber(input.month), tonumber(input.day)); -- whole date elseif 0 ~= input.month then date = string.format ('%s-%.2d', input.year, tonumber(input.month)); -- year and month else date = string.format ('%s', input.year); -- just year end if 0 ~= input.year2 then if 0 ~= input.day2 then date2 = string.format ('/%s-%.2d-%.2d', input.year2, tonumber(input.month2), tonumber(input.day2)); -- whole date elseif 0 ~= input.month2 then date2 = string.format ('/%s-%.2d', input.year2, tonumber(input.month2)); -- year and month else date2 = string.format ('/%s', input.year2); -- just year end end tCOinS_date.rftdate = date .. date2; -- date2 has the '/' separator return; end --[[--------------------------< C H E C K _ D A T E >---------------------------------------------------------- Check date format to see that it is one of the formats approved by WP:DATESNO or WP:DATERANGE. Exception: only allowed range separator is endash. Additionally, check the date to see that it is a real date: no 31 in 30-day months; no 29 February when not a leap year. Months, both long-form and three character abbreviations, and seasons must be spelled correctly. Future years beyond next year are not allowed. If the date fails the format tests, this function returns false and does not return values for anchor_year and COinS_date. When this happens, the date parameter is used in the COinS metadata and the CITEREF identifier gets its year from the year parameter if present otherwise CITEREF does not get a date value. Inputs: date_string - date string from date-holding parameters (date, year, accessdate, embargo, archivedate, etc.) Returns: false if date string is not a real date; else true, anchor_year, COinS_date anchor_year can be used in CITEREF anchors COinS_date is ISO 8601 format date; see make_COInS_date() ]] local function check_date (date_string, tCOinS_date, test_accessdate) local year; -- assume that year2, months, and days are not used; local year2=0; -- second year in a year range local month=0; local month2=0; -- second month in a month range local day=0; local day2=0; -- second day in a day range local anchor_year; local coins_date; if date_string:match("^%d%d%d%d%-%d%d%-%d%d$") then -- year-initial numerical year month day format year, month, day=string.match(date_string, "(%d%d%d%d)%-(%d%d)%-(%d%d)"); if 12 < tonumber(month) or 1 > tonumber(month) or 1582 > tonumber(year) or 0 == tonumber(day) then return false; end -- month or day number not valid or not Gregorian calendar anchor_year = year; elseif mw.ustring.match(date_string, "^%D- +[1-9]%d?, +[1-9]%d%d%d%a?$") then -- month-initial: month day, year month, day, anchor_year, year=mw.ustring.match(date_string, "(%D-) +(%d%d?),%s*((%d%d%d%d?)%a?)"); month = get_month_number (month); if 0 == month then return false; end -- return false if month text isn't one of the twelve months elseif mw.ustring.match(date_string, "^%D- +[1-9]%d?[%-–][1-9]%d?, +[1-9]%d%d%d%a?$") then -- month-initial day range: month day–day, year; days are separated by endash month, day, day2, anchor_year, year=mw.ustring.match(date_string, "(%D-) +(%d%d?)[%-–](%d%d?), +((%d%d%d%d)%a?)"); if tonumber(day) >= tonumber(day2) then return false; end -- date range order is left to right: earlier to later; dates may not be the same; month = get_month_number (month); if 0 == month then return false; end -- return false if month text isn't one of the twelve months month2=month; -- for metadata year2=year; elseif mw.ustring.match(date_string, "^[1-9]%d? +%D- +[1-9]%d%d%d%a?$") then -- day-initial: day month year day, month, anchor_year, year=mw.ustring.match(date_string, "(%d%d*)%s*(%D-) +((%d%d%d%d?)%a?)"); month = get_month_number (month); if 0 == month then return false; end -- return false if month text isn't one of the twelve months elseif mw.ustring.match(date_string, "^[1-9]%d?[%-–][1-9]%d? +%D- +[1-9]%d%d%d%a?$") then -- day-range-initial: day–day month year; days are separated by endash day, day2, month, anchor_year, year=mw.ustring.match(date_string, "(%d%d?)[%-–](%d%d?) +(%D-) +((%d%d%d%d)%a?)"); if tonumber(day) >= tonumber(day2) then return false; end -- date range order is left to right: earlier to later; dates may not be the same; month = get_month_number (month); if 0 == month then return false; end -- return false if month text isn't one of the twelve months month2=month; -- for metadata year2=year; elseif mw.ustring.match(date_string, "^[1-9]%d? +%D- +[%-–] +[1-9]%d? +%D- +[1-9]%d%d%d%a?$") then -- day initial month-day-range: day month - day month year; uses spaced endash day, month, day2, month2, anchor_year, year=mw.ustring.match(date_string, "(%d%d?) +(%D-) +[%-–] +(%d%d?) +(%D-) +((%d%d%d%d)%a?)"); if (not is_valid_month_season_range(month, month2)) or not is_valid_year(year) then return false; end -- date range order is left to right: earlier to later; month = get_month_number (month); -- for metadata month2 = get_month_number (month2); year2=year; elseif mw.ustring.match(date_string, "^%D- +[1-9]%d? +[%-–] +%D- +[1-9]%d?, +[1-9]%d%d%d%a?$") then -- month initial month-day-range: month day – month day, year; uses spaced endash month, day, month2, day2, anchor_year, year=mw.ustring.match(date_string, "(%D-) +(%d%d?) +[%-–] +(%D-) +(%d%d?), +((%d%d%d%d)%a?)"); if (not is_valid_month_season_range(month, month2)) or not is_valid_year(year) then return false; end month = get_month_number (month); -- for metadata month2 = get_month_number (month2); year2=year; elseif mw.ustring.match(date_string, "^[1-9]%d? +%D- +[1-9]%d%d%d +[%-–] +[1-9]%d? +%D- +[1-9]%d%d%d%a?$") then -- day initial month-day-year-range: day month year - day month year; uses spaced endash day, month, year, day2, month2, anchor_year, year2=mw.ustring.match(date_string, "(%d%d?) +(%D-) +(%d%d%d%d) +[%-–] +(%d%d?) +(%D-) +((%d%d%d%d)%a?)"); if tonumber(year2) <= tonumber(year) then return false; end -- must be sequential years, left to right, earlier to later if not is_valid_year(year2) or not is_valid_month_range_style(month, month2) then return false; end -- year2 no more than one year in the future; months same style month = get_month_number (month); -- for metadata month2 = get_month_number (month2); elseif mw.ustring.match(date_string, "^%D- +[1-9]%d?, +[1-9]%d%d%d +[%-–] +%D- +[1-9]%d?, +[1-9]%d%d%d%a?$") then -- month initial month-day-year-range: month day, year – month day, year; uses spaced endash month, day, year, month2, day2, anchor_year, year2=mw.ustring.match(date_string, "(%D-) +(%d%d?), +(%d%d%d%d) +[%-–] +(%D-) +(%d%d?), +((%d%d%d%d)%a?)"); if tonumber(year2) <= tonumber(year) then return false; end -- must be sequential years, left to right, earlier to later if not is_valid_year(year2) or not is_valid_month_range_style(month, month2) then return false; end -- year2 no more than one year in the future; months same style month = get_month_number (month); -- for metadata month2 = get_month_number (month2); elseif mw.ustring.match(date_string, "^%D- +[1-9]%d%d%d[%-–]%d%d%a?$") then -- special case Winter/Summer year-year (YYYY-YY); year separated with unspaced endash local century; month, year, century, anchor_year, year2=mw.ustring.match(date_string, "(%D-) +((%d%d)%d%d)[%-–]((%d%d)%a?)"); if 'Winter' ~= month and 'Summer' ~= month then return false end; -- 'month' can only be Winter or Summer anchor_year=year..'–'..anchor_year; -- assemble anchor_year from both years year2 = century..year2; -- add the century to year2 for comparisons if 1 ~= tonumber(year2) - tonumber(year) then return false; end -- must be sequential years, left to right, earlier to later if not is_valid_year(year2) then return false; end -- no year farther in the future than next year month = get_season_number (month); elseif mw.ustring.match(date_string, "^%D- +[1-9]%d%d%d[%-–][1-9]%d%d%d%a?$") then -- special case Winter/Summer year-year; year separated with unspaced endash month, year, anchor_year, year2=mw.ustring.match(date_string, "(%D-) +(%d%d%d%d)[%-–]((%d%d%d%d)%a?)"); if 'Winter' ~= month and 'Summer' ~= month then return false end; -- 'month' can only be Winter or Summer anchor_year=year..'–'..anchor_year; -- assemble anchor_year from both years if 1 ~= tonumber(year2) - tonumber(year) then return false; end -- must be sequential years, left to right, earlier to later if not is_valid_year(year2) then return false; end -- no year farther in the future than next year month = get_season_number (month); -- for metadata elseif mw.ustring.match(date_string, "^%D- +[1-9]%d%d%d +[%-–] +%D- +[1-9]%d%d%d%a?$") then -- month/season year - month/season year; separated by spaced endash month, year, month2, anchor_year, year2=mw.ustring.match(date_string, "(%D-) +(%d%d%d%d) +[%-–] +(%D-) +((%d%d%d%d)%a?)"); anchor_year=year..'–'..anchor_year; -- assemble anchor_year from both years if tonumber(year) >= tonumber(year2) then return false; end -- left to right, earlier to later, not the same if not is_valid_year(year2) then return false; end -- no year farther in the future than next year if 0 ~= get_month_number(month) and 0 ~= get_month_number(month2) and is_valid_month_range_style(month, month2) then -- both must be month year, same month style month = get_month_number(month); month2 = get_month_number(month2); elseif 0 ~= get_season_number(month) and 0 ~= get_season_number(month2) then -- both must be or season year, not mixed month = get_season_number(month); month2 = get_season_number(month2); else return false; end elseif mw.ustring.match(date_string, "^%D-[%-–]%D- +[1-9]%d%d%d%a?$") then -- month/season range year; months separated by endash month, month2, anchor_year, year=mw.ustring.match(date_string, "(%D-)[%-–](%D-)%s*((%d%d%d%d)%a?)"); if (not is_valid_month_season_range(month, month2)) or (not is_valid_year(year)) then return false; end if 0 ~= get_month_number(month) then -- determined to be a valid range so just check this one to know if month or season month = get_month_number(month); month2 = get_month_number(month2); else month = get_season_number(month); month2 = get_season_number(month2); end year2=year; elseif mw.ustring.match(date_string, "^%D- +%d%d%d%d%a?$") then -- month/season year or proper-name year month, anchor_year, year=mw.ustring.match(date_string, "(%D-)%s*((%d%d%d%d)%a?)"); if not is_valid_year(year) then return false; end if not is_valid_month_or_season (month) and 0 == is_proper_name (month) then return false; end if 0 ~= get_month_number(month) then -- determined to be a valid range so just check this one to know if month or season month = get_month_number(month); elseif 0 ~= get_season_number(month) then month = get_season_number(month); else month = is_proper_name (month); -- must be proper name; not supported in COinS end elseif mw.ustring.match(date_string, "^[1-9]%d%d%d?[%-–][1-9]%d%d%d?%a?$") then -- Year range: YYY-YYY or YYY-YYYY or YYYY–YYYY; separated by unspaced endash; 100-9999 year, anchor_year, year2=mw.ustring.match(date_string, "(%d%d%d%d?)[%-–]((%d%d%d%d?)%a?)"); anchor_year=year..'–'..anchor_year; -- assemble anchor year from both years if tonumber(year) >= tonumber(year2) then return false; end -- left to right, earlier to later, not the same if not is_valid_year(year2) then return false; end -- no year farther in the future than next year elseif mw.ustring.match(date_string, "^[1-9]%d%d%d[%-–]%d%d%a?$") then -- Year range: YYYY–YY; separated by unspaced endash local century; year, century, anchor_year, year2=mw.ustring.match(date_string, "((%d%d)%d%d)[%-–]((%d%d)%a?)"); anchor_year=year..'–'..anchor_year; -- assemble anchor year from both years if 13 > tonumber(year2) then return false; end -- don't allow 2003-05 which might be May 2003 year2 = century..year2; -- add the century to year2 for comparisons if tonumber(year) >= tonumber(year2) then return false; end -- left to right, earlier to later, not the same if not is_valid_year(year2) then return false; end -- no year farther in the future than next year elseif mw.ustring.match(date_string, "^[1-9]%d%d%d?%a?$") then -- year; here accept either YYY or YYYY anchor_year, year=mw.ustring.match(date_string, "((%d%d%d%d?)%a?)"); if false == is_valid_year(year) then return false; end else return false; -- date format not one of the MOS:DATE approved formats end if test_accessdate then -- test accessdate here because we have numerical date parts if 0 ~= year and 0 ~= month and 0 ~= day and -- all parts of a single date required 0 == year2 and 0 == month2 and 0 == day2 then -- none of these; accessdate must not be a range if not is_valid_accessdate (year..'-'..month..'-'..day) then return false; -- return false when accessdate out of bounds end else return false; -- return false when accessdate is a range of two dates end end local result=true; -- check whole dates for validity; assume true because not all dates will go through this test if 0 ~= year and 0 ~= month and 0 ~= day and 0 == year2 and 0 == month2 and 0 == day2 then -- YMD (simple whole date) result=is_valid_date(year,month,day); elseif 0 ~= year and 0 ~= month and 0 ~= day and 0 == year2 and 0 == month2 and 0 ~= day2 then -- YMD-d (day range) result=is_valid_date(year,month,day); result=result and is_valid_date(year,month,day2); elseif 0 ~= year and 0 ~= month and 0 ~= day and 0 == year2 and 0 ~= month2 and 0 ~= day2 then -- YMD-md (day month range) result=is_valid_date(year,month,day); result=result and is_valid_date(year,month2,day2); elseif 0 ~= year and 0 ~= month and 0 ~= day and 0 ~= year2 and 0 ~= month2 and 0 ~= day2 then -- YMD-ymd (day month year range) result=is_valid_date(year,month,day); result=result and is_valid_date(year2,month2,day2); end if false == result then return false; end if nil ~= tCOinS_date then -- this table only passed into this function when testing |date= parameter values make_COinS_date ({year=year, month=month, day=day, year2=year2, month2=month2, day2=day2}, tCOinS_date); -- make an ISO 8601 date string for COinS end return true, anchor_year; -- format is good and date string represents a real date end --[[--------------------------< D A T E S >-------------------------------------------------------------------- Cycle the date-holding parameters in passed table date_parameters_list through check_date() to check compliance with MOS:DATE. For all valid dates, check_date() returns true. The |date= parameter test is unique, it is the only date holding parameter from which values for anchor_year (used in CITEREF identifiers) and COinS_date (used in the COinS metadata) are derived. The |date= parameter is the only date-holding parameter that is allowed to contain the no-date keywords "n.d." or "nd" (without quotes). Unlike most error messages created in this module, only one error message is created by this function. Because all of the date holding parameters are processed serially, a single error message is created as the dates are tested. ]] local function dates(date_parameters_list, tCOinS_date) local anchor_year; -- will return as nil if the date being tested is not |date= local COinS_date; -- will return as nil if the date being tested is not |date= local embargo_date; -- if embargo date is a good dmy, mdy, ymd date then holds original value else reset to 9999 local error_message = ""; local good_date = false; for k, v in pairs(date_parameters_list) do -- for each date-holding parameter in the list if is_set(v.val) then -- if the parameter has a value v.val = mw.ustring.gsub (v.val, '%d', cfg.date_names.local_digits); -- translate 'local' digits to Western 0-9 if v.val:match("^c%. [1-9]%d%d%d?%a?$") then -- special case for c. year or with or without CITEREF disambiguator - only |date= and |year= local year = v.val:match("c%. ([1-9]%d%d%d?)%a?"); -- get the year portion so it can be tested if 'date'==k then anchor_year, COinS_date = v.val:match("((c%. [1-9]%d%d%d?)%a?)"); -- anchor year and COinS_date only from |date= parameter good_date = is_valid_year(year); elseif 'year'==k then good_date = is_valid_year(year); end elseif 'date'==k then -- if the parameter is |date= if v.val:match("^n%.d%.%a?$") then -- if |date=n.d. with or without a CITEREF disambiguator good_date, anchor_year, COinS_date = true, v.val:match("((n%.d%.)%a?)"); --"n.d."; no error when date parameter is set to no date elseif v.val:match("^nd%a?$") then -- if |date=nd with or without a CITEREF disambiguator good_date, anchor_year, COinS_date = true, v.val:match("((nd)%a?)"); --"nd"; no error when date parameter is set to no date else good_date, anchor_year, COinS_date = check_date (v.val, tCOinS_date); -- go test the date end elseif 'year'==k then -- if the parameter is |year= it should hold only a year value if v.val:match("^[1-9]%d%d%d?%a?$") then -- if |year= 3 or 4 digits only with or without a CITEREF disambiguator good_date, anchor_year, COinS_date = true, v.val:match("((%d+)%a?)"); end elseif 'access-date'==k then -- if the parameter is |date= good_date = check_date (v.val, nil, true); -- go test the date; nil is a placeholder; true is the test_accessdate flag elseif 'embargo'==k then -- if the parameter is |embargo= good_date = check_date (v.val); -- go test the date if true == good_date then -- if the date is a valid date good_date, embargo_date = is_valid_embargo_date (v.val); -- is |embargo= date a single dmy, mdy, or ymd formatted date? yes:returns embargo; no: returns 9999 end else -- any other date-holding parameter good_date = check_date (v.val); -- go test the date end if false==good_date then -- assemble one error message so we don't add the tracking category multiple times if is_set(error_message) then -- once we've added the first portion of the error message ... error_message=error_message .. ", "; -- ... add a comma space separator end error_message=error_message .. "&#124;" .. v.name .. "="; -- add the failed parameter end end end return anchor_year, embargo_date, error_message; -- and done end --[[--------------------------< Y E A R _ D A T E _ C H E C K >------------------------------------------------ Compare the value provided in |year= with the year value(s) provided in |date=. This function returns a numeric value: 0 - year value does not match the year value in date 1 - (default) year value matches the year value in date or one of the year values when date contains two years 2 - year value matches the year value in date when date is in the form YYYY-MM-DD and year is disambiguated (|year=YYYYx) ]] local function year_date_check (year_string, date_string) local year; local date1; local date2; local result = 1; -- result of the test; assume that the test passes year = year_string:match ('(%d%d%d%d?)'); if date_string:match ('%d%d%d%d%-%d%d%-%d%d') and year_string:match ('%d%d%d%d%a') then --special case where both date and year are required YYYY-MM-DD and YYYYx date1 = date_string:match ('(%d%d%d%d)'); year = year_string:match ('(%d%d%d%d)'); if year ~= date1 then result = 0; -- years don't match else result = 2; -- years match; but because disambiguated, don't add to maint cat end elseif date_string:match ("%d%d%d%d?.-%d%d%d%d?") then -- any of the standard range formats of date with two three- or four-digit years date1, date2 = date_string:match ("(%d%d%d%d?).-(%d%d%d%d?)"); if year ~= date1 and year ~= date2 then result = 0; end elseif mw.ustring.match(date_string, "%d%d%d%d[%-–]%d%d") then -- YYYY-YY date ranges local century; date1, century, date2 = mw.ustring.match(date_string, "((%d%d)%d%d)[%-–]+(%d%d)"); date2 = century..date2; -- convert YY to YYYY if year ~= date1 and year ~= date2 then result = 0; end elseif date_string:match ("%d%d%d%d?") then -- any of the standard formats of date with one year date1 = date_string:match ("(%d%d%d%d?)"); if year ~= date1 then result = 0; end else result = 0; -- no recognizable year in date end return result; end --[[-------------------------< R E F O R M A T T A B L E S >------------------------------------------------ These table are used exclusively for reformatting dates ]] local source_patterns = { -- this table holds patterns that match allowed date formats used to extract date components ['dmy'] = '^(%d%d?)%s+(%a+)%s+(%d%d%d%d)$', ['mdy'] = '^(%a+)%s+(%d%d?),%s+(%d%d%d%d)$', ['ymd'] = '^(%d%d%d%d)%-(%d%d)-(%d%d)$', } local short_formats = { -- this table holds format strings used by os.date() for short month names ['dmy'] = '%e %b %Y', ['mdy'] = '%b %e, %Y', ['ymd'] = '%F', } local long_formats = { -- this table holds format strings used by os.date() for long month names ['dmy'] = '%e %B %Y', ['mdy'] = '%B %e, %Y', ['ymd'] = '%F', } --[[-------------------------< G E T _ D M Y _ D A T E _ P A R T S >------------------------------------------ extracts year, month and day from DMY formatted date, places them in the source_date table, and returns. ]] local function get_dmy_date_parts (date, source_date) source_date.day, source_date.month, source_date.year = date:match (source_patterns['dmy']); -- get date components as strings source_date.month = get_month_number (source_date.month); -- get month number end --[[-------------------------< G E T _ M D Y _ D A T E _ P A R T S >------------------------------------------ extracts year, month and day from MDY formatted date, places them in the source_date table, and returns. ]] local function get_mdy_date_parts (date, source_date) source_date.month, source_date.day, source_date.year = date:match (source_patterns['mdy']); -- get date components as strings source_date.month = get_month_number (source_date.month); -- get month number end --[[-------------------------< G E T _ Y M D _ D A T E _ P A R T S >------------------------------------------ extracts year, month and day from YMD formatted date, places them in the source_date table, and returns. ]] local function get_ymd_date_parts (date, source_date) source_date.year, source_date.month, source_date.day = date:match (source_patterns['ymd']); -- get date components as strings end --[[-------------------------< R E F O R M A T _ D A T E S >-------------------------------------------------- Reformats existing dates into the format specified by format and short. format is one of several keywords: dmy, dmy-all, mdy, mdy-all, ymd, ymd-all. The all version includes access- and archive-dates; otherwise these dates are not reformatted Date ranges, season dates, proper name dates are not currently supported. For i18n: This code works only at en.wiki because os.date() doesn't support any languages other than English. mw.getContentLanguage():formatDate() will work at non-English wikis only when the date format is yyyy-mm-dd. This is the same issue that plagues is_valid_accessdate() It is possible that a solution like that written for ht:Module:Citation/CS1/Date_validation date_name_xlate() could be applied to this problem ]] local function reformat_dates (date_parameters_list, format, short) local all = false; -- set to false to skip access- and archive-dates local result = false; local format_str; local source_date = {}; if format:match('%a+%-all') then format = format:match('(%a+)%-all'); -- extract the format all = true; -- set to true to format access- and archive-dates end for param_name, param_val in pairs (date_parameters_list) do -- for each date-holding parameter in the list if is_set (param_val.val) then -- if the parameter has a value if not (not all and in_array (param_name, {'access-date', 'archive-date'})) then -- skip access- or archive-date unless format is xxx-all; yeah, ugly; TODO: find a better way for source, pattern in pairs (source_patterns) do if param_val.val:match (pattern) then if 'ymd' == source then get_ymd_date_parts (param_val.val, source_date); -- get the date parts into the source_date table elseif 'dmy' == source then get_dmy_date_parts (param_val.val, source_date); -- get the date parts into the source_date table elseif 'mdy' == source then get_mdy_date_parts (param_val.val, source_date); -- get the date parts into the source_date table end if 'ymd' == format and 1582 > tonumber(source_date.year) then -- ymd format dates not allowed before 1582 return false; -- abandon reformatting end if short then format_str = short_formats[format]; else format_str = long_formats[format]; end -- convert date and save; date_parameters_list[param_name].val = mw.text.trim (os.date (format_str, os.time(source_date))); -- strip leading space when single digit day and %e is first format result = true; end -- if end -- for end -- if end -- if end -- for return result; -- declare result and done end --[[--------------------------< D A T E _ H Y P H E N _ T O _ D A S H >---------------------------------------- Loops through the list of date-holding parameters and converts any hyphen to an ndash. Not called if the cs1|2 template has any date errors. Modifies the date_parameters_list and returns true if hyphens are replaced, else returns false. ]] local function date_hyphen_to_dash (date_parameters_list) local result = false; local n; for param_name, param_val in pairs(date_parameters_list) do -- for each date-holding parameter in the list if is_set (param_val.val) then if not mw.ustring.match (param_val.val, '%d%d%d%d%-%d%d%-%d%d') then -- for those that are not ymd dates (ustring because here digits may not be western) param_val.val, n = param_val.val:gsub ('%-', '–'); -- replace any hyphen with ndash if 0 ~= n then date_parameters_list[param_name].val = param_val.val; -- update the list result = true; end end end end return result; -- so we know if any hyphens were replaced end --[[-------------------------< D A T E _ N A M E _ X L A T E >------------------------------------------------ Attempts to translate English month names to local-language month names using names supplied by MediaWiki's date parser function. This is simple name-for-name replacement and may not work for all languages. if xlat_dig is true, this function will also translate western (English) digits to the local language's digits. This will also translate ymd dates. ]] local function date_name_xlate (date_parameters_list, xlt_dig) local xlate; local mode; -- long or short month names local modified = false; local date; for param_name, param_val in pairs(date_parameters_list) do -- for each date-holding parameter in the list if is_set(param_val.val) then -- if the parameter has a value date = param_val.val; for month in mw.ustring.gmatch (date, '%a+') do -- iterate through all dates in the date (single date or date range) if cfg.date_names.en.long[month] then mode = 'xg'; -- English name is long so use long local name elseif cfg.date_names.en.short[month] then mode = 'M'; -- English name is short so use short local name else mode = nil; -- not an English month name; could be local language month name or an English season name end if mode then -- might be a season xlate = mw.getContentLanguage():formatDate(mode, '1' .. month); -- translate the month name to this local language date = mw.ustring.gsub (date, month, xlate); -- replace the English with the translation date_parameters_list[param_name].val = date; -- save the translated date modified = true; end end if xlt_dig then -- shall we also translate digits? date = date:gsub ('%d', cfg.date_names.xlate_digits); -- translate digits from western to 'local digits' date_parameters_list[param_name].val = date; -- save the translated date modified = true; end end end return modified; end --[[--------------------------< S E T _ S E L E C T E D _ M O D U L E S >-------------------------------------- Sets local imported functions table to same (live or sandbox) as that used by the other modules. ]] local function set_selected_modules (cfg_table_ptr, utilities_page_ptr) is_set = utilities_page_ptr.is_set; -- import functions from selected Module:Citation/CS1/Utilities module in_array = utilities_page_ptr.in_array; -- import functions from selected Module:Citation/CS1/Utilities module cfg = cfg_table_ptr; -- import tables from selected Module:Citation/CS1/Configuration end return { -- return exported functions dates = dates, year_date_check = year_date_check, reformat_dates = reformat_dates, date_hyphen_to_dash = date_hyphen_to_dash, date_name_xlate = date_name_xlate, set_selected_modules = set_selected_modules } h4heovbtxt3l5avrlglpk553cytouth Module:Graph:Population history 828 3476 36691 2025-12-15T22:11:30Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local getArgs = require('Module:Arguments').getArgs local args = {} local p = {} local property = 'P1082' local json = { version = 2, width = 600, height = 300, data = { { name = "table", values = {} } }, scales = { { name = "x", type = "linear", domain = { data = "table", field= "x" }, range = "width", zero = false, nice = true }, { name = "y", range = "height", nice = true, domain = { data = "ta...' 36691 Scribunto text/plain local getArgs = require('Module:Arguments').getArgs local args = {} local p = {} local property = 'P1082' local json = { version = 2, width = 600, height = 300, data = { { name = "table", values = {} } }, scales = { { name = "x", type = "linear", domain = { data = "table", field= "x" }, range = "width", zero = false, nice = true }, { name = "y", range = "height", nice = true, domain = { data = "table", field = "y" } } }, axes = { { type = "x", scale = "x", tickcount = 20, format = "d", grid = true }, { type = "y", scale = "y", format = "2d", grid = true } }, marks = { { type = "line", from = { data = "table" }, properties = { enter = { x = { scale = "x", field = "x" }, y = { scale = "y", field = "y" }, strokeWidth = { value = 5 }, stroke = { value = "steelblue" } } } } } } if args["labels"] then table.insert(json["marks"], { type = "text", from = { data = "table" }, properties = { enter = { x = { scale = "x", field = "x" }, y = { scale = "y", field = "y" }, fill = { value = "#000" }, align = { value = "left" }, baseline = { value = "top" }, dy = { value = -13 }, text = { field = "y" } } } } ) end local function getStatements(id) local entity = mw.wikibase.getEntity() if not entity then return nil end if not entity.claims or not entity.claims[property] then return nil end local statements = entity.claims[property] return statements end local function prepareStatements(statements) local numbers_raw = {} local function processStatement(i, statement) local snak = statement.mainsnak if not snak or snak.snaktype ~= 'value' then statements[i] = nil return; end local n = tonumber(snak.datavalue.value.amount) local d = nil if statement.qualifiers and statement.qualifiers.P585 then -- dátum d = require('Module:Time').newFromWikidataValue(statement.qualifiers.P585[1].datavalue.value) end if d and d.year then statements[i] = { d.year, n } numbers_raw[d.year] = n return; else statements[i] = nil return; end end for n, statement in pairs(statements) do processStatement(n, statement) end local dates = {} for d, v in pairs(statements) do table.insert(dates, v[1]) end if #dates < 1 then return nil end table.sort(dates) local numbers = {} for n, v in pairs(dates) do table.insert(numbers, { v, numbers_raw[v] } ) end return numbers end local function drawGraph(data) for _, v in pairs(data) do local d, n = v[1], v[2] table.insert(json.data[1].values, { x = d, y = n }) end return tostring(mw.html.create("div"):css("display", "inline-block"):wikitext(mw.getCurrentFrame():extensionTag("graph", mw.text.jsonEncode(json)))) end function p.main(frame) if type(frame) ~= 'table' then args = { id = frame } else args = getArgs(frame) end local statements = getStatements(args.id) if type(statements) ~= 'table' then return '' end statements = prepareStatements(statements) if type(statements) ~= 'table' then return '' end return drawGraph(statements) end return p craa55woeqg5pk5h75wttsvkrgn9t1q Module:Internet Archive 828 3477 36692 2025-12-15T22:13:08Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--[[ For functions related to Internet Archive Notes: 1. Internet Archive runs Lucene search engine 2. Program flowchart: Break name down into number of words Build a base URL based on number of words (1,2,3,4,5+), use of sopt=t switch, and availability of birth-death dates If any words contain extended-ascii characters append extra code for wildcards based on sopt=t or tx return finished URL 3. Lucene h...' 36692 Scribunto text/plain --[[ For functions related to Internet Archive Notes: 1. Internet Archive runs Lucene search engine 2. Program flowchart: Break name down into number of words Build a base URL based on number of words (1,2,3,4,5+), use of sopt=t switch, and availability of birth-death dates If any words contain extended-ascii characters append extra code for wildcards based on sopt=t or tx return finished URL 3. Lucene has a number of known issues to be aware of A. Names with accented letters (é) - aka extended ascii - are problematic. There are records on IA in which the accent has been dropped thus é is e in the record. Thus a search strategy has to use wildcards in place of extended ascii characters. The "?" wildcard does not work correctly on Lucene and thus recommend "*". Wildcards severely slow down search times and after about 5 or 8 wildcards it may even time out. Thus, only use wildcards in a single expression within a search string. The function p.ia_deaccent will return é = e, so it's possible to search on an "anglicized" version of the name as well using wildcards. B. Extended ascii doesn't work correctly if 1. not surrounded in quotes and 2. search string contains numbers and/or wildcards somewhere in it and 3. multiple () statements. The extended ascii character becomes interpreted as ascii eg. é -> é Try for example : (Évariste Régis Huc) OR (Évariste Régis Huc 1813-1860) OR (É. R. Huc) OR (É. R. Huc 1813-1860) OR (Évariste R. Huc) OR (Évariste R. Huc 1813-1860) OR (Évariste Huc) OR (Évariste Huc 1813-1860) C. B can be nullified by enclosing the string in quotes, but this creates a literal string and many permutations must be searched on ("John Smith" OR "Smith, John" etc). For names longer than 2 words it could exceed URL limits. URLs are limited to about 2000 characters to account for most browsers (IE is 2083). Thus, strategies used are a balance between possibilities and URL length. ]] local p = {} --[[ For Template:Internet Archive author ]] function p.author(frame) local pframe = frame:getParent() local args = pframe.args local tname = "Internet Archive author" -- name of calling template. Change if template rename. local name = nil -- article name (default: current page name) local dname = nil -- display name (default: current page name) local sname = nil -- search name (default: current page name) local sopt = nil -- search options (default: nil) local byabout = "Έργα της/του ή για την/τον" local tagline = "στο [[Internet Archive]]" local urlhead = "//archive.org/search.php?query=" local mydate = "" -- birth-death date --- Determine name name = trimArg(args.name) -- When using template outside main article space, the 'name' parameter is required (not optional) if not name then name = mw.title.getCurrentTitle().text end dname = mw.ustring.gsub(name,'%s+%([^%(]-%)$', '') -- Remove the final disambig parentheses sname = dname if trimArg(args.sname) then sname = trimArg(args.sname) end if trimArg(args.dname) then dname = trimArg(args.dname) end --- Determine search option sopt = trimArg(args.sopt) if sopt then sopt = mw.ustring.lower(sopt) if sopt == "tight" then sopt = "t" end if sopt == "tightx" then sopt = "tx" end if sopt ~= "t" and sopt ~= "tx" then sopt = "unknown" end end --- Determine tagline if trimArg(args.coda) then tagline = tagline .. " " .. trimArg(args.coda) end --- Custom search. Do early to avoid unnecessary processing. if trimArg(args.search) then local search = p.ia_url_encode(trimArg(args.search)) return "[" .. urlhead .. search .. " " .. byabout .. " " .. dname .. "] " .. tagline end -- Determine media string local media = p.mediaTypes(args.media) if media == "" then mediaclose = "" else mediaclose = "%29" end -- Determine date of birth and death local temp = mw.text.split(p.bdDate(args.birth, args.death, name), " ") local birth = temp[1] local death = temp[2] if birth == "Error" or death == "Error" then return "Error in [[:Template:"..tname.."]]: [[" ..name.. "]] doesn't exist." end --- Split sname into words and count words local N = mw.text.split(sname, " ") local l, count = mw.ustring.gsub(sname, "%S+", "") if count == 0 then return "Error in [[:Template:"..tname.."]]: Zero-word name." end --- Date string if birth ~= "none" and death ~= "none" then if p.ia_extendedascii(N[count]) == 1 then mydate = "%20OR%20%28%22"..birth.."-"..death.."%22%20AND%20%28%22"..N[count].."%22%20OR%20"..p.ia_deaccent(N[count]) .."%29%29" else mydate = "%20OR%20%28%22"..birth.."-"..death.."%22%20AND%20"..N[count].."%29" end end --[[ Format URL ]] if count == 1 then local myurl = p.oneWord(sname) if p.ia_extendedascii(sname) == 1 then if sopt == "tx" then return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end if sopt == "t" then local plainname = p.ia_deaccent(sname) local A1 = "%20OR%20%22"..plainname myurl = myurl .. A1 .. "%22" return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end if p.wildcrazycheck(N, count) == 1 then local myurl = p.wildcrazyfix(N, count) return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end local wild = "%20OR%20" .. p.ia_url_encode(p.ia_extendedascii2wildcard(sname)) return "[" .. urlhead .. media .. myurl .. wild .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline else return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end end if count == 2 then local myurl = p.twoWords(N, sopt) if p.ia_extendedascii(sname) == 1 then if sopt == "tx" then return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end if sopt == "t" then local plainname = p.ia_deaccent(sname) local PN = mw.text.split(plainname, " ") -- Last, First local A1 = "%20OR%20%22"..PN[2].."%2C%20"..PN[1] -- First Last local A2 = "%22%20OR%20%22"..PN[1].."%20"..PN[2] myurl = myurl .. A1 .. A2 .. "%22" return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end if p.wildcrazycheck(N, count) == 1 then local myurl = p.wildcrazyfix(N, count) return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end local wild = "%20OR%20" .. p.ia_url_encode(p.ia_extendedascii2wildcard(sname)) return "[" .. urlhead .. media .. myurl .. wild .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end if count == 3 then local myurl = p.threeWords(N, sopt) if p.ia_extendedascii(sname) == 1 then if sopt == "tx" then return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end if sopt == "t" then local FIRST = 1 local MIDDLE = 2 local LAST = 3 local plainname = p.ia_deaccent(sname) local PN = mw.text.split(plainname, " ") local firstinitialp = p.firstLetter(PN[FIRST]) local middleinitialp = p.firstLetter(PN[MIDDLE]) -- First Middle Last local A1 = "%20OR%20%22"..PN[FIRST].."%20"..PN[MIDDLE].."%20"..PN[LAST] -- Last, First Middle local A2 = "%22%20OR%20%22"..PN[LAST].."%2C%20"..PN[FIRST].."%20"..PN[MIDDLE] -- Last, First M. local A3 = "%22%20OR%20%22"..PN[LAST].."%2C%20"..PN[FIRST].."%20"..middleinitialp.."%2E" -- Last, F. M. local A4 = "%22%20OR%20%22"..PN[LAST].."%2C%20"..firstinitialp..".%20"..middleinitialp.."%2E" local ALL = A1 .. A2 .. A3 .. A4 .. "%22" myurl = myurl .. ALL return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end if p.wildcrazycheck(N, count) == 1 then local myurl = p.wildcrazyfix(N, count) return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end local wild = "%20OR%20" .. p.ia_url_encode(p.ia_extendedascii2wildcard(sname)) return "[" .. urlhead .. media .. myurl .. wild .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end if count == 4 then local myurl = p.fourWords(N, sopt) if p.ia_extendedascii(sname) == 1 then if sopt == "tx" then return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end if sopt == "t" then local FIRST = 1 local SECOND = 2 local THIRD = 3 local LAST = 4 local plainname = p.ia_deaccent(sname) local PN = mw.text.split(plainname, " ") local firstinitialp = p.firstLetter(PN[FIRST]) local secondinitialp = p.firstLetter(PN[SECOND]) local thirdinitialp = p.firstLetter(PN[THIRD]) -- Last, First Second Third local A1 = "%20OR%20%22"..PN[LAST].."%2C%20"..PN[FIRST].."%20"..PN[SECOND].."%20"..PN[THIRD] -- First Second Third Last local A2 = "%22%20OR%20%22"..PN[FIRST].."%20"..PN[SECOND].."%20"..PN[THIRD].."%20"..PN[LAST] -- Last, F. S. T. local A3 = "%22%20OR%20%22"..PN[LAST].."%2C%20"..firstinitialp.."%2E%20"..secondinitialp.."%2E%20"..thirdinitialp.."%2E" local ALL = A1 .. A2 .. A3 .. "%22" myurl = myurl .. ALL return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end if p.wildcrazycheck(N, count) == 1 then local myurl = p.wildcrazyfix(N, count) return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end local wild = "%20OR%20" .. p.ia_url_encode(p.ia_extendedascii2wildcard(sname)) return "[" .. urlhead .. media .. myurl .. wild .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end if count > 4 then local myurl = "%28" .. p.ia_url_encode(sname) if p.ia_extendedascii(sname) == 1 then if sopt == "tx" then return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end if sopt == "t" then local plainname = p.ia_deaccent(sname) local A1 = "%29%20OR%20%28"..p.ia_url_encode(plainname) myurl = myurl .. A1 return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end if p.wildcrazycheck(N, count) == 1 then local myurl = p.wildcrazyfix(N, count) return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end local wild = "%29%20OR%20%28" .. p.ia_url_encode(p.ia_extendedascii2wildcard(sname)) return "[" .. urlhead .. media .. myurl .. wild .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline else return "[" .. urlhead .. media .. myurl .. "%29" .. mydate .. mediaclose .. " " .. byabout .. " " .. dname .. "] " .. tagline end end return "Unknown error (1). Please check documentation for [[Template:"..tname.."]]" end -- Lucene returns too many false positives if first or last character in a word is "*" wildcard ie. accented letter -- Build special search in these cases. function p.wildcrazyfix(N, count) --- Split along "-" and use only first word ie. John-Taylor-Smith becomes John local NF = mw.text.split(N[1], "-") local NL = mw.text.split(N[count], "-") -- ..but use full name for 1-word names if count == 1 then NF[1] = N[1] NL[1] = N[1] end -- ((Fïrst OR First) AND (Lást OR Last)) return "%28%28%22" .. NF[1] .. "%22%20OR%20" .. p.ia_deaccent(NF[1]) .. "%29%20AND%20%28%22" .. NL[1] .. "%22%20OR%20" .. p.ia_deaccent(NL[1]) .. "%29" end -- Return 1 if the first or last character in any word within name N is extended ascii function p.wildcrazycheck(N, count) local i = 0 while i < count do i = i + 1 local firstl = N[i]:byte(1) local lastl = N[i]:byte(N[i]:len()) if (firstl < 32 or firstl > 126) then return 1 end if (lastl < 32 or lastl > 126) then return 1 end end return 0 end function p.oneWord(sname) local nameurl = p.ia_url_encode(sname) local A1 = "%28subject%3A%22"..nameurl local A2 = "%22%20OR%20creator%3A%22"..nameurl local A3 = "%22%20OR%20description%3A%22"..nameurl local A4 = "%22%20OR%20title%3A%22"..nameurl return A1 .. A2 .. A3 .. A4 .. "%22" end function p.twoWords(N, sopt) local FIRST = 1 local LAST = 2 local firstinitial = p.firstLetter(N[FIRST]) -- Last, First local S1 = "%28subject%3A%22"..N[LAST].."%2C%20"..N[FIRST] -- First Last local S2 = "%22%20OR%20subject%3A%22"..N[FIRST].."%20"..N[LAST] local SALL = S1..S2 -- Last, First local C1 = "%22%20OR%20creator%3A%22"..N[LAST].."%2C%20"..N[FIRST] -- First Last local C2 = "%22%20OR%20creator%3A%22"..N[FIRST].."%20"..N[LAST] local CALL = C1..C2 -- First Last local T1 = "%22%20OR%20title%3A%22"..N[FIRST].."%20"..N[LAST] local TALL = T1 -- Last, First local D1 = "%22%20OR%20description%3A%22"..N[LAST].."%2C%20"..N[FIRST] -- First Last local D2 = "%22%20OR%20description%3A%22"..N[FIRST].."%20"..N[LAST] local DALL = D1..D2 if sopt == "t" or sopt == "tx" then return SALL .. CALL .. TALL .. DALL .. "%22" else -- Last, F. local C3 = "%22%20OR%20creator%3A%22"..N[LAST].."%2C%20"..firstinitial.."%2E" local CALL = CALL..C3 return SALL .. CALL .. TALL .. DALL .. "%22" end end function p.threeWords(N, sopt) -- CAUTION: The following is near the max 2000 character URL limit for most browsers when using long names -- such as "René-Nicolas Dufriche Desgenettes". local FIRST = 1 local MIDDLE = 2 local LAST = 3 local firstinitial = p.firstLetter(N[FIRST]) local middleinitial = p.firstLetter(N[MIDDLE]) -- Last, First Middle local S1 = "%28subject%3A%22"..N[LAST].."%2C%20"..N[FIRST].."%20"..N[MIDDLE] -- Last, First M. local S2 = "%22%20OR%20subject%3A%22"..N[LAST].."%2C%20"..N[FIRST].."%20"..middleinitial.."%2E" -- Last, F. M. local S3 = "%22%20OR%20subject%3A%22"..N[LAST].."%2C%20"..firstinitial.."%2E%20"..middleinitial.."%2E" -- First Middle Last local S4 = "%22%20OR%20subject%3A%22"..N[FIRST].."%20"..N[MIDDLE].."%20"..N[LAST] -- First M. Last local S5 = "%22%20OR%20subject%3A%22"..N[FIRST].."%20"..middleinitial.."%2E%20"..N[LAST] -- F. M. Last local S6 = "%22%20OR%20subject%3A%22"..firstinitial.."%2E%20"..middleinitial.."%2E%20"..N[LAST] local SALL = S1..S2..S3..S4..S5..S6 -- First Middle Last local C1 = "%22%20OR%20creator%3A%22"..N[FIRST].."%20"..N[MIDDLE].."%20"..N[LAST] -- First M. Last local C2 = "%22%20OR%20creator%3A%22"..N[FIRST].."%20"..middleinitial.."%2E%20"..N[LAST] -- F. M. Last local C3 = "%22%20OR%20creator%3A%22"..firstinitial.."%2E%20"..middleinitial.."%2E%20"..N[LAST] -- F. Middle Last local C4 = "%22%20OR%20creator%3A%22"..firstinitial.."%2E%20"..N[MIDDLE].."%20"..N[LAST] -- Last, First Middle local C5 = "%22%20OR%20creator%3A%22"..N[LAST].."%2C%20"..N[FIRST].."%20"..N[MIDDLE] -- Last, First M. local C6 = "%22%20OR%20creator%3A%22"..N[LAST].."%2C%20"..N[FIRST].."%20"..middleinitial.."%2E" -- Last, F. M. local C7 = "%22%20OR%20creator%3A%22"..N[LAST].."%2C%20"..firstinitial.."%2E%20"..middleinitial.."%2E" -- Last, F. M. local C8 = "%22%20OR%20creator%3A%22"..N[LAST].."%2C%20"..firstinitial.."%2E%20"..N[MIDDLE] local CALL = C1..C2..C3..C4..C5..C6..C7..C8 -- First Middle Last local T1 = "%22%20OR%20title%3A%22"..N[FIRST].."%20"..N[MIDDLE].."%20"..N[LAST] -- First M. Last local T2 = "%22%20OR%20title%3A%22"..N[FIRST].."%20"..middleinitial.."%2E%20"..N[LAST] -- F. M. Last local T3 = "%22%20OR%20title%3A%22"..firstinitial.."%2E%20"..middleinitial.."%2E%20"..N[LAST] local TALL = T1..T2..T3 -- First Middle Last local D1 = "%22%20OR%20description%3A%22"..N[FIRST].."%20"..N[MIDDLE].."%20"..N[LAST] -- First M. Last local D2 = "%22%20OR%20description%3A%22"..N[FIRST].."%20"..middleinitial.."%2E%20"..N[LAST] -- F. M. Last local D3 = "%22%20OR%20description%3A%22"..firstinitial.."%2E%20"..middleinitial.."%2E%20"..N[LAST] -- Last, First Middle local D4 = "%22%20OR%20description%3A%22"..N[LAST].."%2C%20"..N[FIRST].."%20"..N[MIDDLE] -- Last, First M. local D5 = "%22%20OR%20description%3A%22"..N[LAST].."%2C%20"..N[FIRST].."%20"..middleinitial.."%2E" local DALL = D1..D2..D3..D4..D5 if sopt == "t" or sopt == "tx" then return SALL .. CALL .. TALL .. DALL .. "%22" else -- Last, First local S7 = "%22%20OR%20subject%3A%22"..N[LAST].."%2C%20"..N[FIRST] -- First Last local S8 = "%22%20OR%20subject%3A%22"..N[FIRST].."%20"..N[LAST] local SALL = SALL..S7..S8 -- First Last local C9 = "%22%20OR%20creator%3A%22"..N[FIRST].."%20"..N[LAST] -- Last, First local C10 = "%22%20OR%20creator%3A%22"..N[LAST].."%2C%20"..N[FIRST] local CALL = CALL..C9..C10 -- First Last local T4 = "%22%20OR%20title%3A%22"..N[FIRST].."%20"..N[LAST] local TALL = TALL..T4 -- First Last local D6 = "%22%20OR%20description%3A%22"..N[FIRST].."%20"..N[LAST] -- Last, First local D7 = "%22%20OR%20description%3A%22"..N[LAST].."%2C%20"..N[FIRST] local DALL = DALL..D6..D7 return SALL .. CALL .. TALL .. DALL .. "%22" end end function p.fourWords(N, sopt) local FIRST = 1 local SECOND = 2 local THIRD = 3 local LAST = 4 local firstinitial = p.firstLetter(N[FIRST]) local secondinitial = p.firstLetter(N[SECOND]) local thirdinitial = p.firstLetter(N[THIRD]) if sopt == "t" or sopt == "tx" then -- Last, First Second Third local S1 = "%28subject%3A%22"..N[LAST].."%2C%20"..N[FIRST].."%20"..N[SECOND].."%20"..N[THIRD] -- First Second Third Last local S2 = "%22%20OR%20subject%3A%22"..N[FIRST].."%20"..N[SECOND].."%20"..N[THIRD].."%20"..N[LAST] -- Last, First Second Third local C1 = "%22%20OR%20creator%3A%22"..N[LAST].."%2C%20"..N[FIRST].."%20"..N[SECOND].."%20"..N[THIRD] -- First Second Third Last local C2 = "%22%20OR%20creator%3A%22"..N[FIRST].."%20"..N[SECOND].."%20"..N[THIRD].."%20"..N[LAST] -- First Second Third Last local T1 = "%22%20OR%20title%3A%22"..N[FIRST].."%20"..N[SECOND].."%20"..N[THIRD].."%20"..N[LAST] -- First Second Third Last local D1 = "%22%20OR%20description%3A%22"..N[FIRST].."%20"..N[SECOND].."%20"..N[THIRD].."%20"..N[LAST] return S1..S2..C1..C2..T1..D1.."%22" end -- Last, First Second Third local S1 = "%28subject%3A%22"..N[LAST].."%2C%20"..N[FIRST].."%20"..N[SECOND].."%20"..N[THIRD] -- First Second Third Last local S2 = "%22%20OR%20subject%3A%22"..N[FIRST].."%20"..N[SECOND].."%20"..N[THIRD].."%20"..N[LAST] -- Last, First Second Third local C1 = "%22%20OR%20creator%3A%22"..N[LAST].."%2C%20"..N[FIRST].."%20"..N[SECOND].."%20"..N[THIRD] -- First Second Third Last local C2 = "%22%20OR%20creator%3A%22"..N[FIRST].."%20"..N[SECOND].."%20"..N[THIRD].."%20"..N[LAST] -- Last, F. S. T. local C3 = "%22%20OR%20creator%3A%22"..N[LAST].."%2C%20"..firstinitial.."%2E%20"..secondinitial.."%2E%20"..thirdinitial.."%2E" -- First Second Third Last local T1 = "%22%20OR%20title%3A%22"..N[FIRST].."%20"..N[SECOND].."%20"..N[THIRD].."%20"..N[LAST] -- First Second Third Last local D1 = "%22%20OR%20description%3A%22"..N[FIRST].."%20"..N[SECOND].."%20"..N[THIRD].."%20"..N[LAST] return S1..S2..C1..C2..C3..T1..D1.."%22" end function trimArg(arg) if arg == "" or arg == nil then return nil else return mw.text.trim(arg) end end function p.mediaTypes(argsmedia) local media = "" if argsmedia ~="" and argsmedia ~=nil then local medialist = mw.text.split(mw.text.trim(argsmedia), " ") local al, acount = mw.ustring.gsub(mw.text.trim(argsmedia), "%S+", "") local i = 0 repeat -- the following could be condensed but repetitive for clarity i = i + 1 if(mw.ustring.lower(medialist[i]) == "text" or mw.ustring.lower(medialist[i]) == "texts") then if(i == 1) then media = media .. p.ia_url_encode("(mediatype:texts") else media = media .. p.ia_url_encode(" OR mediatype:texts") end end if(mw.ustring.lower(medialist[i]) == "audio") then if(i == 1) then media = media .. p.ia_url_encode("(mediatype:audio") else media = media .. p.ia_url_encode(" OR mediatype:audio") end end if(mw.ustring.lower(medialist[i]) == "video") then if(i == 1) then media = media .. p.ia_url_encode("(mediatype:video") else media = media .. p.ia_url_encode(" OR mediatype:video") end end until i == acount if media ~= nil then media = media .. ")%20AND%20%28" else media = "" end else media = "" end return media end -- Alt way to get b/d dates via getContent() function p.bdDateAlt(argsbirth, argsdeath, name) local pagetext = nil local birth = "none" local death = "none" -- Load the page local t = mw.title.new(name) if(t.exists) then pagetext = t:getContent() end if pagetext == nil then return "Error" end -- Remove false positives pagetext = mw.ustring.gsub( mw.ustring.gsub(pagetext, "<!--.--->", ""), "<nowiki>.-</nowiki>", "") -- "Category:1900 births" if argsbirth == "" or argsbirth == nil then local birthcheck = mw.ustring.match(pagetext, "%[%[%s-[Cc]ategory:%s-%d+%.?%d*%s-births%s-%]%]" ) if birthcheck ~= nil then birth = mw.ustring.match(birthcheck, "%d+%.?%d*") else birth = "none" end else birth = mw.text.trim(argsbirth) end -- "Category:2000 deaths" if argsdeath == "" or argsdeath == nil then local deathcheck = mw.ustring.match(pagetext, "%[%[%s-[Cc]ategory:%s-%d+%.?%d*%s-deaths%s-%]%]" ) if deathcheck ~= nil then death = mw.ustring.match(deathcheck, "%d+%.?%d*") else death = "none" end else death = mw.text.trim(argsdeath) end return birth .. " " .. death end -- Get b/d dates via Wikidata. -- ‎ function p.bdDate(argsbirth, argsdeath, name) local pagetext = nil local birth = "none" local death = "none" entity = mw.wikibase.getEntityObject() if not entity or not entity.claims then -- Alternative if template not on a page in mainspace. This is needed since Wikidata can only be retrieved -- for the article where the template is located. return p.bdDateAlt(argsbirth, argsdeath, name) end -- Note: The below uses formatPropertyValues() to get and format the date from Wikidata. -- For an alternative method, see sandbox revision dated 5:58 am, 15 October 2014 if argsbirth == "" or argsbirth == nil then local birthtable = entity:formatPropertyValues( 'P569' ) local birthsplit = mw.text.split(birthtable["value"], " ") local l, count = mw.ustring.gsub(birthtable["value"], "%S+", "") if count > 0 then if string.find(birthsplit[count], "^%d") then birth = birthsplit[count] elseif string.find(birthsplit[count], "BCE") then birth = birthsplit[count - 1] elseif string.find(birthsplit[count], "BC") then birth = birthsplit[count - 1] elseif string.find(birthsplit[count], "AD") then birth = birthsplit[count - 1] end end else birth = mw.text.trim(argsbirth) end if argsdeath == "" or argsdeath == nil then local deathtable = entity:formatPropertyValues( 'P570' ) local deathsplit = mw.text.split(deathtable["value"], " ") local l, count = mw.ustring.gsub(deathtable["value"], "%S+", "") if count > 0 then if string.find(deathsplit[count], "^%d") then death = deathsplit[count] elseif string.find(deathsplit[count], "BCE") then death = deathsplit[count - 1] elseif string.find(deathsplit[count], "BC") then death = deathsplit[count - 1] elseif string.find(deathsplit[count], "AD") then death = deathsplit[count - 1] end end else death = mw.text.trim(argsdeath) end if birth == "none" and death == "none" then -- Alternative if Wikidata is missing data -- return p.bdDateAlt(name) return birth .. " " .. death else return birth .. " " .. death end end --- URL-encode a string --- http://lua-users.org/wiki/StringRecipes --- function p.ia_url_encode(str) if (str) then str = mw.ustring.gsub (str, "\n", "\r\n") str = mw.ustring.gsub (str, "([^%w %-%_%.%~])", function (c) return mw.ustring.format ("%%%02X", string.byte(c)) end) str = mw.ustring.gsub (str, " ", "+") end return str end -- Does str contain extended ascii? 1 = yes function p.ia_extendedascii(str) for i = 1, str:len() do if (str:byte(i) >= 32 and str:byte(i) <= 126) and str:byte(i) ~= 39 then -- 39 = ' --do nothing else return 1 end end return 0 end -- UTF-8 aware replacement for string.sub() which doesn't support UTF-8. -- Note: Using instead of mw.ustring.sub() which I suspect(?) might be cause of intermittent error, and faster here for first-letter job. -- Source: prapin @ Stack Overflow http://stackoverflow.com/questions/13235091/extract-the-first-letter-of-a-utf-8-string-with-lua function p.firstLetter(str) return str:match("[%z\1-\127\194-\244][\128-\191]*") end -- Replace all extended ascii characters with wildcard '*' function p.ia_extendedascii2wildcard(str) local s = "" local j = 0 local k = 0 for i = 1, str:len() do k = str:byte(i) if k >= 32 and k <= 126 then -- For list of Lucene special characters needing to be escaped: -- http://lucene.apache.org/core/4_10_0/queryparser/org/apache/lucene/queryparser/classic/package-summary.html#Escaping_Special_Characters -- We only worry about - (45) and " (34) since the others are unlikely to appear in a proper name. -- Also ' (39) since it is sometimes the extended character ’ if k == 45 or k == 34 or k == 39 then s = s .. "*" else s = s .. str:sub(i,i) end else if j == 1 then s = s .. "*" j = 2 end if j == 0 then j = 1 end if j == 2 then j = 0 end end end return s end -- Replace accented letters with non-accented equivalent letters -- Note: this is not a complete list of all possible accented letters. Rather it is -- all of the accented letters found in the first 10,000 names which are using -- the Internet Archive author template. function p.ia_deaccent(str) local s = str s = mw.ustring.gsub(s, "á", "a") s = mw.ustring.gsub(s, "a︡", "a") s = mw.ustring.gsub(s, "Á", "A") s = mw.ustring.gsub(s, "ă", "a") s = mw.ustring.gsub(s, "â", "a") s = mw.ustring.gsub(s, "æ", "ae") s = mw.ustring.gsub(s, "Æ", "AE") s = mw.ustring.gsub(s, "à", "a") s = mw.ustring.gsub(s, "ā", "a") s = mw.ustring.gsub(s, "Ā", "A") s = mw.ustring.gsub(s, "ą", "a") s = mw.ustring.gsub(s, "å", "a") s = mw.ustring.gsub(s, "Å", "A") s = mw.ustring.gsub(s, "ã", "a") s = mw.ustring.gsub(s, "ä", "a") s = mw.ustring.gsub(s, "Ä", "A") s = mw.ustring.gsub(s, "β", "B") s = mw.ustring.gsub(s, "ć", "c") s = mw.ustring.gsub(s, "č", "c") s = mw.ustring.gsub(s, "Č", "C") s = mw.ustring.gsub(s, "ç", "c") s = mw.ustring.gsub(s, "Ç", "C") s = mw.ustring.gsub(s, "ĉ", "c") s = mw.ustring.gsub(s, "ď", "d") s = mw.ustring.gsub(s, "đ", "d") s = mw.ustring.gsub(s, "é", "e") s = mw.ustring.gsub(s, "É", "E") s = mw.ustring.gsub(s, "ě", "e") s = mw.ustring.gsub(s, "ê", "e") s = mw.ustring.gsub(s, "è", "e") s = mw.ustring.gsub(s, "È", "E") s = mw.ustring.gsub(s, "ε", "e") s = mw.ustring.gsub(s, "ē", "e") s = mw.ustring.gsub(s, "Ē", "E") s = mw.ustring.gsub(s, "ę", "e") s = mw.ustring.gsub(s, "ð", "e") s = mw.ustring.gsub(s, "ë", "e") s = mw.ustring.gsub(s, "Ë", "E") s = mw.ustring.gsub(s, "γ", "Y") s = mw.ustring.gsub(s, "ħ", "h") s = mw.ustring.gsub(s, "i︠a︡", "ia") s = mw.ustring.gsub(s, "í", "i") s = mw.ustring.gsub(s, "i︠", "i") s = mw.ustring.gsub(s, "ĭ", "i") s = mw.ustring.gsub(s, "Í", "I") s = mw.ustring.gsub(s, "î", "i") s = mw.ustring.gsub(s, "Î", "I") s = mw.ustring.gsub(s, "ì", "i") s = mw.ustring.gsub(s, "ī", "i") s = mw.ustring.gsub(s, "ł", "i") s = mw.ustring.gsub(s, "ï", "i") s = mw.ustring.gsub(s, "Ï", "I") s = mw.ustring.gsub(s, "ĺ", "I") s = mw.ustring.gsub(s, "Ĺ", "L") s = mw.ustring.gsub(s, "μ", "u") s = mw.ustring.gsub(s, "µ", "u") s = mw.ustring.gsub(s, "ń", "n") s = mw.ustring.gsub(s, "ň", "n") s = mw.ustring.gsub(s, "ņ", "n") s = mw.ustring.gsub(s, "ñ", "n") s = mw.ustring.gsub(s, "Ñ", "N") s = mw.ustring.gsub(s, "ó", "o") s = mw.ustring.gsub(s, "Ó", "O") s = mw.ustring.gsub(s, "ô", "o") s = mw.ustring.gsub(s, "œ", "oe") s = mw.ustring.gsub(s, "ò", "o") s = mw.ustring.gsub(s, "ō", "o") s = mw.ustring.gsub(s, "ø", "o") s = mw.ustring.gsub(s, "Ø", "o") s = mw.ustring.gsub(s, "õ", "o") s = mw.ustring.gsub(s, "ö", "o") s = mw.ustring.gsub(s, "ő", "o") s = mw.ustring.gsub(s, "Ö", "O") s = mw.ustring.gsub(s, "φ", "o") s = mw.ustring.gsub(s, "ŕ", "r") s = mw.ustring.gsub(s, "ř", "r") s = mw.ustring.gsub(s, "Ř", "R") s = mw.ustring.gsub(s, "ś", "s") s = mw.ustring.gsub(s, "Ś", "S") s = mw.ustring.gsub(s, "š", "s") s = mw.ustring.gsub(s, "ṣ", "s") s = mw.ustring.gsub(s, "Š", "S") s = mw.ustring.gsub(s, "ş", "s") s = mw.ustring.gsub(s, "Ş", "S") s = mw.ustring.gsub(s, "ŝ", "s") s = mw.ustring.gsub(s, "σ", "s") s = mw.ustring.gsub(s, "ť", "t") s = mw.ustring.gsub(s, "ţ", "t") s = mw.ustring.gsub(s, "τ", "t") s = mw.ustring.gsub(s, "þ", "p") s = mw.ustring.gsub(s, "Þ", "p") s = mw.ustring.gsub(s, "ú", "u") s = mw.ustring.gsub(s, "Ú", "U") s = mw.ustring.gsub(s, "û", "u") s = mw.ustring.gsub(s, "ù", "u") s = mw.ustring.gsub(s, "ū", "u") s = mw.ustring.gsub(s, "ů", "u") s = mw.ustring.gsub(s, "ü", "u") s = mw.ustring.gsub(s, "Ü", "U") s = mw.ustring.gsub(s, "ŵ", "w") s = mw.ustring.gsub(s, "ý", "y") s = mw.ustring.gsub(s, "ŷ", "y") s = mw.ustring.gsub(s, "¥", "y") s = mw.ustring.gsub(s, "ÿ", "y") s = mw.ustring.gsub(s, "Ÿ", "Y") s = mw.ustring.gsub(s, "ź", "z") s = mw.ustring.gsub(s, "Ž", "Z") s = mw.ustring.gsub(s, "ž", "z") s = mw.ustring.gsub(s, "ż", "z") s = mw.ustring.gsub(s, "Ż", "Z") return s end return p 79dnqn5265ln5wurlpsjejmmx08evgj Module:Convert 828 3478 36693 2025-12-15T22:14:45Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Convert a value from one unit of measurement to another. -- Example: {{convert|123|lb|kg}} --> 123 pounds (56 kg) -- See [[:en:Template:Convert/Transwiki guide]] if copying to another wiki. local MINUS = '−' -- Unicode U+2212 MINUS SIGN (UTF-8: e2 88 92) local abs = math.abs local floor = math.floor local format = string.format local log10 = math.log10 local ustring = mw.ustring local ulen = ustring.len local usub = ustring.sub -- Configura...' 36693 Scribunto text/plain -- Convert a value from one unit of measurement to another. -- Example: {{convert|123|lb|kg}} --> 123 pounds (56 kg) -- See [[:en:Template:Convert/Transwiki guide]] if copying to another wiki. local MINUS = '−' -- Unicode U+2212 MINUS SIGN (UTF-8: e2 88 92) local abs = math.abs local floor = math.floor local format = string.format local log10 = math.log10 local ustring = mw.ustring local ulen = ustring.len local usub = ustring.sub -- Configuration options to keep magic values in one location. -- Conversion data and message text are defined in separate modules. local config, maxsigfig local numdot = ',' -- must be '.' or ',' or a character which works in a regex local numsep, numsep_remove, numsep_remove2 local data_code, all_units local text_code local varname -- can be a code to use variable names that depend on value local from_en_table -- to translate an output string of en digits to local language local to_en_table -- to translate an input string of digits in local language to en -- Use translation_table in convert/text to change the following. local en_default -- true uses lang=en unless convert has lang=local or local digits local group_method = 3 -- code for how many digits are in a group local per_word = 'per' -- for units like "liters per kilometer" local plural_suffix = 's' -- only other useful value is probably '' to disable plural unit names local omitsep -- true to omit separator before local symbol/name -- All units should be defined in the data module. However, to cater for quick changes -- and experiments, any unknown unit is looked up in an extra data module, if it exists. -- That module would be transcluded in only a small number of pages, so there should be -- little server overhead from making changes, and changes should propagate quickly. local extra_module -- name of module with extra units local extra_units -- nil or table of extra units from extra_module -- Some options in the invoking template can set variables used later in the module. local currency_text -- for a user-defined currency symbol: {{convert|12|$/ha|$=€}} (euro replaces dollar) local function from_en(text) -- Input is a string representing a number in en digits with '.' decimal mark, -- without digit grouping (which is done just after calling this). -- Return the translation of the string with numdot and digits in local language. if numdot ~= '.' then text = text:gsub('%.', numdot) end if from_en_table then text = text:gsub('%d', from_en_table) end return text end local function to_en(text) -- Input is a string representing a number in the local language with -- an optional numdot decimal mark and numsep digit grouping. -- Return the translation of the string with '.' mark and en digits, -- and no separators (they have to be removed here to handle cases like -- numsep = '.' and numdot = ',' with input "1.234.567,8"). if to_en_table then text = ustring.gsub(text, '%d', to_en_table) end if numsep_remove then text = text:gsub(numsep_remove, '') end if numsep_remove2 then text = text:gsub(numsep_remove2, '') end if numdot ~= '.' then text = text:gsub(numdot, '.') end return text end local function decimal_mark(text) -- Return ',' if text probably is using comma for decimal mark, or has no decimal mark. -- Return '.' if text probably is using dot for decimal mark. -- Otherwise return nothing (decimal mark not known). if not text:find('[.,]') then return ',' end text = text:gsub('^%-', ''):gsub('%+%d+/%d+$', ''):gsub('[Ee]%-?%d+$', '') local decimal = text:match('^0?([.,])%d+$') or text:match('%d([.,])%d?%d?$') or text:match('%d([.,])%d%d%d%d+$') if decimal then return decimal end if text:match('%.%d+%.') then return ',' end if text:match('%,%d+,') then return '.' end end local add_warning, with_separator -- forward declarations local function to_en_with_check(text, parms) -- Version of to_en() for a wiki using numdot = ',' and numsep = '.' to check -- text (an input number as a string) which might have been copied from enwiki. -- For example, in '1.234' the '.' could be a decimal mark or a group separator. -- From viwiki. if to_en_table then text = ustring.gsub(text, '%d', to_en_table) end if decimal_mark(text) == '.' then local original = text text = text:gsub(',', '') -- for example, interpret "1,234.5" as an enwiki value if parms then add_warning(parms, 0, 'cvt_enwiki_num', original, with_separator({}, text)) end else if numsep_remove then text = text:gsub(numsep_remove, '') end if numsep_remove2 then text = text:gsub(numsep_remove2, '') end if numdot ~= '.' then text = text:gsub(numdot, '.') end end return text end local function omit_separator(id) -- Return true if there should be no separator before id (a unit symbol or name). -- For zhwiki, there should be no separator if id uses local characters. -- The following kludge should be a sufficient test. if omitsep then if id:sub(1, 2) == '-{' then -- for "-{...}-" content language variant return true end if id:byte() > 127 then local first = usub(id, 1, 1) if first ~= 'Å' and first ~= '°' and first ~= 'µ' then return true end end end return id:sub(1, 1) == '/' -- no separator before units like "/ha" end local spell_module -- name of module that can spell numbers local speller -- function from that module to handle spelling (set if needed) local wikidata_module, wikidata_data_module -- names of Wikidata modules local wikidata_code, wikidata_data -- exported tables from those modules (set if needed) local function set_config(args) -- Set configuration options from template #invoke or defaults. config = args maxsigfig = config.maxsigfig or 14 -- maximum number of significant figures local data_module, text_module local sandbox = config.sandbox and ('/' .. config.sandbox) or '' data_module = "Module:Convert/data" .. sandbox text_module = "Module:Convert/text" .. sandbox extra_module = "Module:Convert/extra" .. sandbox wikidata_module = "Module:Convert/wikidata" .. sandbox wikidata_data_module = "Module:Convert/wikidata/data" .. sandbox spell_module = "Module:ConvertNumeric" data_code = mw.loadData(data_module) text_code = mw.loadData(text_module) all_units = data_code.all_units local translation = text_code.translation_table if translation then numdot = translation.numdot numsep = translation.numsep if numdot == ',' and numsep == '.' then if text_code.all_messages.cvt_enwiki_num then to_en = to_en_with_check end end if translation.group then group_method = translation.group end if translation.per_word then per_word = translation.per_word end if translation.plural_suffix then plural_suffix = translation.plural_suffix end varname = translation.varname from_en_table = translation.from_en local use_workaround = true if use_workaround then -- 2013-07-05 workaround bug by making a copy of the required table. -- mw.ustring.gsub fails with a table (to_en_table) as the replacement, -- if the table is accessed via mw.loadData. local source = translation.to_en if source then to_en_table = {} for k, v in pairs(source) do to_en_table[k] = v end end else to_en_table = translation.to_en end if translation.lang == 'en default' then en_default = true -- for hiwiki end omitsep = translation.omitsep -- for zhwiki end numdot = config.numdot or numdot or '.' -- decimal mark before fractional digits numsep = config.numsep or numsep or ',' -- group separator for numbers -- numsep should be ',' or '.' or '' or '&nbsp;' or a Unicode character. -- numsep_remove must work in a regex to identify separators to be removed. if numsep ~= '' then numsep_remove = (numsep == '.') and '%.' or numsep end if numsep ~= ',' and numdot ~= ',' then numsep_remove2 = ',' -- so numbers copied from enwiki will work end end local function collection() -- Return a table to hold items. return { n = 0, add = function (self, item) self.n = self.n + 1 self[self.n] = item end, } end local function divide(numerator, denominator) -- Return integers quotient, remainder resulting from dividing the two -- given numbers, which should be unsigned integers. local quotient, remainder = floor(numerator / denominator), numerator % denominator if not (0 <= remainder and remainder < denominator) then -- Floating point limits may need this, as in {{convert|160.02|Ym|ydftin}}. remainder = 0 end return quotient, remainder end local function split(text, delimiter) -- Return a numbered table with fields from splitting text. -- The delimiter is used in a regex without escaping (for example, '.' would fail). -- Each field has any leading/trailing whitespace removed. local t = {} text = text .. delimiter -- to get last item for item in text:gmatch('%s*(.-)%s*' .. delimiter) do table.insert(t, item) end return t end local function strip(text) -- If text is a string, return its content with no leading/trailing -- whitespace. Otherwise return nil (a nil argument gives a nil result). if type(text) == 'string' then return text:match("^%s*(.-)%s*$") end end local function table_len(t) -- Return length (<100) of a numbered table to replace #t which is -- documented to not work if t is accessed via mw.loadData(). for i = 1, 100 do if t[i] == nil then return i - 1 end end end local function wanted_category(catkey, catsort, want_warning) -- Return message category if it is wanted in current namespace, -- otherwise return ''. local cat local title = mw.title.getCurrentTitle() if title then local nsdefault = '0' -- default namespace: '0' = article; '0,10' = article and template local namespace = title.namespace for _, v in ipairs(split(config.nscat or nsdefault, ',')) do if namespace == tonumber(v) then cat = text_code.all_categories[want_warning and 'warning' or catkey] if catsort and catsort ~= '' and cat:sub(-2) == ']]' then cat = cat:sub(1, -3) .. '|' .. mw.text.nowiki(usub(catsort, 1, 20)) .. ']]' end break end end end return cat or '' end local function message(parms, mcode, is_warning) -- Return wikitext for an error message, including category if specified -- for the message type. -- mcode = numbered table specifying the message: -- mcode[1] = 'cvt_xxx' (string used as a key to get message info) -- mcode[2] = 'parm1' (string to replace '$1' if any in message) -- mcode[3] = 'parm2' (string to replace '$2' if any in message) -- mcode[4] = 'parm3' (string to replace '$3' if any in message) local msg if type(mcode) == 'table' then if mcode[1] == 'cvt_no_output' then -- Some errors should cause convert to output an empty string, -- for example, for an optional field in an infobox. return '' end msg = text_code.all_messages[mcode[1]] end parms.have_problem = true local function subparm(fmt, ...) local rep = {} for i, v in ipairs({...}) do rep['$' .. i] = v end return (fmt:gsub('$%d+', rep)) end if msg then local parts = {} local regex, replace = msg.regex, msg.replace for i = 1, 3 do local limit = 40 local s = mcode[i + 1] if s then if regex and replace then s = s:gsub(regex, replace) limit = nil -- allow long "should be" messages end -- Escape user input so it does not break the message. -- To avoid tags (like {{convert|1<math>23</math>|m}}) breaking -- the mouseover title, any strip marker starting with char(127) is -- replaced with '...' (text not needing i18n). local append local pos = s:find(string.char(127), 1, true) if pos then append = '...' s = s:sub(1, pos - 1) end if limit and ulen(s) > limit then s = usub(s, 1, limit) append = '...' end s = mw.text.nowiki(s) .. (append or '') else s = '?' end parts['$' .. i] = s end local function ispreview() -- Return true if a prominent message should be shown. if parms.test == 'preview' or parms.test == 'nopreview' then -- For testing, can preview a real message or simulate a preview -- when running automated tests. return parms.test == 'preview' end local success, revid = pcall(function () return (parms.frame):preprocess('{{REVISIONID}}') end) return success and (revid == '') end local want_warning = is_warning and not config.warnings and -- show unobtrusive warnings if config.warnings not configured not msg.nowarn -- but use msg settings, not standard warning, if specified local title = string.gsub(msg[1] or 'Missing message', '$%d+', parts) local text = want_warning and '*' or msg[2] or 'Missing message' local cat = wanted_category(msg[3], mcode[2], want_warning) local anchor = msg[4] or '' local fmtkey = ispreview() and 'cvt_format_preview' or (want_warning and 'cvt_format2' or msg.format or 'cvt_format') local fmt = text_code.all_messages[fmtkey] or 'convert: bug' return subparm(fmt, title:gsub('"', '&quot;'), text, cat, anchor) end return 'Convert internal error: unknown message' end function add_warning(parms, level, key, text1, text2) -- for forward declaration above -- If enabled, add a warning that will be displayed after the convert result. -- A higher level is more verbose: more kinds of warnings are displayed. -- To reduce output noise, only the first warning is displayed. if level <= (tonumber(config.warnings) or 1) then if parms.warnings == nil then parms.warnings = message(parms, { key, text1, text2 }, true) end end end local function spell_number(parms, inout, number, numerator, denominator) -- Return result of spelling (number, numerator, denominator), or -- return nil if spelling is not available or not supported for given text. -- Examples (each value must be a string or nil): -- number numerator denominator output -- ------ --------- ----------- ------------------- -- "1.23" nil nil one point two three -- "1" "2" "3" one and two thirds -- nil "2" "3" two thirds if not speller then local function get_speller(module) return require(module).spell_number end local success success, speller = pcall(get_speller, spell_module) if not success or type(speller) ~= 'function' then add_warning(parms, 1, 'cvt_no_spell', 'spell') return nil end end local case if parms.spell_upper == inout then case = true parms.spell_upper = nil -- only uppercase first word in a multiple unit end local sp = not parms.opt_sp_us local adj = parms.opt_adjectival return speller(number, numerator, denominator, case, sp, adj) end ------------------------------------------------------------------------ -- BEGIN: Code required only for built-in units. -- LATER: If need much more code, move to another module to simplify this module. local function speed_of_sound(altitude) -- This is for the Mach built-in unit of speed. -- Return speed of sound in metres per second at given altitude in feet. -- If no altitude given, use default (zero altitude = sea level). -- Table gives speed of sound in miles per hour at various altitudes: -- altitude = -17,499 to 302,499 feet -- mach_table[a + 4] = s where -- a = (altitude / 5000) rounded to nearest integer (-3 to 60) -- s = speed of sound (mph) at that altitude -- LATER: Should calculate result from an interpolation between the next -- lower and higher altitudes in table, rather than rounding to nearest. -- From: http://www.aerospaceweb.org/question/atmosphere/q0112.shtml local mach_table = { -- a = 799.5, 787.0, 774.2, 761.207051, -- -3 to 0 748.0, 734.6, 721.0, 707.0, 692.8, 678.3, 663.5, 660.1, 660.1, 660.1, -- 1 to 10 660.1, 660.1, 660.1, 662.0, 664.3, 666.5, 668.9, 671.1, 673.4, 675.6, -- 11 to 20 677.9, 683.7, 689.9, 696.0, 702.1, 708.1, 714.0, 719.9, 725.8, 731.6, -- 21 to 30 737.3, 737.7, 737.7, 736.2, 730.5, 724.6, 718.8, 712.9, 707.0, 701.1, -- 31 to 40 695.0, 688.9, 682.8, 676.6, 670.4, 664.1, 657.8, 652.9, 648.3, 643.7, -- 41 to 50 639.1, 634.4, 629.6, 624.8, 620.0, 615.2, 613.2, 613.2, 613.2, 613.5, -- 51 to 60 } altitude = altitude or 0 local a = (altitude < 0) and -altitude or altitude a = floor(a / 5000 + 0.5) if altitude < 0 then a = -a end if a < -3 then a = -3 elseif a > 60 then a = 60 end return mach_table[a + 4] * 0.44704 -- mph converted to m/s end -- END: Code required only for built-in units. ------------------------------------------------------------------------ local function get_range(word) -- Return a range (string or table) corresponding to word (like "to"), -- or return nil if not a range word. local ranges = text_code.ranges return ranges.types[word] or ranges.types[ranges.aliases[word]] end local function check_mismatch(unit1, unit2) -- If unit1 cannot be converted to unit2, return an error message table. -- This allows conversion between units of the same type, and between -- Nm (normally torque) and ftlb (energy), as in gun-related articles. -- This works because Nm is the base unit (scale = 1) for both the -- primary type (torque), and the alternate type (energy, where Nm = J). -- A match occurs if the primary types are the same, or if unit1 matches -- the alternate type of unit2, and vice versa. That provides a whitelist -- of which conversions are permitted between normally incompatible types. if unit1.utype == unit2.utype or (unit1.utype == unit2.alttype and unit1.alttype == unit2.utype) then return nil end return { 'cvt_mismatch', unit1.utype, unit2.utype } end local function override_from(out_table, in_table, fields) -- Copy the specified fields from in_table to out_table, but do not -- copy nil fields (keep any corresponding field in out_table). for _, field in ipairs(fields) do if in_table[field] then out_table[field] = in_table[field] end end end local function shallow_copy(t) -- Return a shallow copy of table t. -- Do not need the features and overhead of the Scribunto mw.clone(). local result = {} for k, v in pairs(t) do result[k] = v end return result end local unit_mt = { -- Metatable to get missing values for a unit that does not accept SI prefixes. -- Warning: The boolean value 'false' is returned for any missing field -- so __index is not called twice for the same field in a given unit. __index = function (self, key) local value if key == 'name1' or key == 'sym_us' then value = self.symbol elseif key == 'name2' then value = self.name1 .. plural_suffix elseif key == 'name1_us' then value = self.name1 if not rawget(self, 'name2_us') then -- If name1_us is 'foot', do not make name2_us by appending plural_suffix. self.name2_us = self.name2 end elseif key == 'name2_us' then local raw1_us = rawget(self, 'name1_us') if raw1_us then value = raw1_us .. plural_suffix else value = self.name2 end elseif key == 'link' then value = self.name1 else value = false end rawset(self, key, value) return value end } local function prefixed_name(unit, name, index) -- Return unit name with SI prefix inserted at correct position. -- index = 1 (name1), 2 (name2), 3 (name1_us), 4 (name2_us). -- The position is a byte (not character) index, so use Lua's sub(). local pos = rawget(unit, 'prefix_position') if type(pos) == 'string' then pos = tonumber(split(pos, ',')[index]) end if pos then return name:sub(1, pos - 1) .. unit.si_name .. name:sub(pos) end return unit.si_name .. name end local unit_prefixed_mt = { -- Metatable to get missing values for a unit that accepts SI prefixes. -- Before use, fields si_name, si_prefix must be defined. -- The unit must define _symbol, _name1 and -- may define _sym_us, _name1_us, _name2_us -- (_sym_us, _name2_us may be defined for a language using sp=us -- to refer to a variant unrelated to U.S. units). __index = function (self, key) local value if key == 'symbol' then value = self.si_prefix .. self._symbol elseif key == 'sym_us' then value = rawget(self, '_sym_us') if value then value = self.si_prefix .. value else value = self.symbol end elseif key == 'name1' then value = prefixed_name(self, self._name1, 1) elseif key == 'name2' then value = rawget(self, '_name2') if value then value = prefixed_name(self, value, 2) else value = self.name1 .. plural_suffix end elseif key == 'name1_us' then value = rawget(self, '_name1_us') if value then value = prefixed_name(self, value, 3) else value = self.name1 end elseif key == 'name2_us' then value = rawget(self, '_name2_us') if value then value = prefixed_name(self, value, 4) elseif rawget(self, '_name1_us') then value = self.name1_us .. plural_suffix else value = self.name2 end elseif key == 'link' then value = self.name1 else value = false end rawset(self, key, value) return value end } local unit_per_mt = { -- Metatable to get values for a per unit of form "x/y". -- This is never called to determine a unit name or link because per units -- are handled as a special case. -- Similarly, the default output is handled elsewhere, and for a symbol -- this is only called from get_default() for default_exceptions. __index = function (self, key) local value if key == 'symbol' then local per = self.per local unit1, unit2 = per[1], per[2] if unit1 then value = unit1[key] .. '/' .. unit2[key] else value = '/' .. unit2[key] end elseif key == 'sym_us' then value = self.symbol elseif key == 'scale' then local per = self.per local unit1, unit2 = per[1], per[2] value = (unit1 and unit1.scale or 1) * self.scalemultiplier / unit2.scale else value = false end rawset(self, key, value) return value end } local function make_per(unitcode, unit_table, ulookup) -- Return true, t where t is a per unit with unit codes expanded to unit tables, -- or return false, t where t is an error message table. local result = { unitcode = unitcode, utype = unit_table.utype, per = {} } override_from(result, unit_table, { 'invert', 'iscomplex', 'default', 'link', 'symbol', 'symlink' }) result.symbol_raw = (result.symbol or false) -- to distinguish between a defined exception and a metatable calculation local prefix for i, v in ipairs(unit_table.per) do if i == 1 and v == '' then -- First unit symbol can be empty; that gives a nil first unit table. elseif i == 1 and text_code.currency[v] then prefix = currency_text or v else local success, t = ulookup(v) if not success then return false, t end result.per[i] = t end end local multiplier = unit_table.multiplier if not result.utype then -- Creating an automatic per unit. local unit1 = result.per[1] local utype = (unit1 and unit1.utype or prefix or '') .. '/' .. result.per[2].utype local t = data_code.per_unit_fixups[utype] if t then if type(t) == 'table' then utype = t.utype or utype result.link = result.link or t.link multiplier = multiplier or t.multiplier else utype = t end end result.utype = utype end result.scalemultiplier = multiplier or 1 result.vprefix = prefix or false -- set to non-nil to avoid calling __index return true, setmetatable(result, unit_per_mt) end local function lookup(parms, unitcode, what, utable, fails, depth) -- Return true, t where t is a copy of the unit's converter table, -- or return false, t where t is an error message table. -- Parameter 'what' determines whether combination units are accepted: -- 'no_combination' : single unit only -- 'any_combination' : single unit or combination or output multiple -- 'only_multiple' : single unit or output multiple only -- Parameter unitcode is a symbol (like 'g'), with an optional SI prefix (like 'kg'). -- If, for example, 'kg' is in this table, that entry is used; -- otherwise the prefix ('k') is applied to the base unit ('g'). -- If unitcode is a known combination code (and if allowed by what), -- a table of output multiple unit tables is included in the result. -- For compatibility with the old template, an underscore in a unitcode is -- replaced with a space so usage like {{convert|350|board_feet}} works. -- Wikignomes may also put two spaces or "&nbsp;" in combinations, so -- replace underscore, "&nbsp;", and multiple spaces with a single space. utable = utable or parms.unittable or all_units fails = fails or {} depth = depth and depth + 1 or 1 if depth > 9 then -- There are ways to mistakenly define units which result in infinite -- recursion when lookup() is called. That gives a long delay and very -- confusing error messages, so the depth parameter is used as a guard. return false, { 'cvt_lookup', unitcode } end if unitcode == nil or unitcode == '' then return false, { 'cvt_no_unit' } end unitcode = unitcode:gsub('_', ' '):gsub('&nbsp;', ' '):gsub(' +', ' ') local function call_make_per(t) return make_per(unitcode, t, function (ucode) return lookup(parms, ucode, 'no_combination', utable, fails, depth) end ) end local t = utable[unitcode] if t then if t.shouldbe then return false, { 'cvt_should_be', t.shouldbe } end if t.sp_us then parms.opt_sp_us = true end local target = t.target -- nil, or unitcode is an alias for this target if target then local success, result = lookup(parms, target, what, utable, fails, depth) if not success then return false, result end override_from(result, t, { 'customary', 'default', 'link', 'symbol', 'symlink' }) local multiplier = t.multiplier if multiplier then result.multiplier = tostring(multiplier) result.scale = result.scale * multiplier end return true, result end if t.per then return call_make_per(t) end local combo = t.combination -- nil or a table of unitcodes if combo then local multiple = t.multiple if what == 'no_combination' or (what == 'only_multiple' and not multiple) then return false, { 'cvt_bad_unit', unitcode } end -- Recursively create a combination table containing the -- converter table of each unitcode. local result = { utype = t.utype, multiple = multiple, combination = {} } local cvt = result.combination for i, v in ipairs(combo) do local success, t = lookup(parms, v, multiple and 'no_combination' or 'only_multiple', utable, fails, depth) if not success then return false, t end cvt[i] = t end return true, result end local result = shallow_copy(t) result.unitcode = unitcode if result.prefixes then result.si_name = '' result.si_prefix = '' return true, setmetatable(result, unit_prefixed_mt) end return true, setmetatable(result, unit_mt) end local SIprefixes = text_code.SIprefixes for plen = SIprefixes[1] or 2, 1, -1 do -- Look for an SI prefix; should never occur with an alias. -- Check for longer prefix first ('dam' is decametre). -- SIprefixes[1] = prefix maximum #characters (as seen by mw.ustring.sub). local prefix = usub(unitcode, 1, plen) local si = SIprefixes[prefix] if si then local t = utable[usub(unitcode, plen+1)] if t and t.prefixes then local result = shallow_copy(t) result.unitcode = unitcode result.si_name = parms.opt_sp_us and si.name_us or si.name result.si_prefix = si.prefix or prefix result.scale = t.scale * 10 ^ (si.exponent * t.prefixes) return true, setmetatable(result, unit_prefixed_mt) end end end -- Accept user-defined combinations like "acre+m2+ha" or "acre m2 ha" for output. -- If '+' is used, each unit code can include a space, and any error is fatal. -- If ' ' is used and if each space-separated word is a unit code, it is a combo, -- but errors are not fatal so the unit code can be looked up as an extra unit. local err_is_fatal local combo = collection() if unitcode:find('+', 1, true) then err_is_fatal = true for item in (unitcode .. '+'):gmatch('%s*(.-)%s*%+') do if item ~= '' then combo:add(item) end end elseif unitcode:find('%s') then for item in unitcode:gmatch('%S+') do combo:add(item) end end if combo.n > 1 then local function lookup_combo() if what == 'no_combination' or what == 'only_multiple' then return false, { 'cvt_bad_unit', unitcode } end local result = { combination = {} } local cvt = result.combination for i, v in ipairs(combo) do local success, t = lookup(parms, v, 'only_multiple', utable, fails, depth) if not success then return false, t end if i == 1 then result.utype = t.utype else local mismatch = check_mismatch(result, t) if mismatch then return false, mismatch end end cvt[i] = t end return true, result end local success, result = lookup_combo() if success or err_is_fatal then return success, result end end -- Accept any unit with an engineering notation prefix like "e6cuft" -- (million cubic feet), but not chained prefixes like "e3e6cuft", -- and not if the unit is a combination or multiple, -- and not if the unit has an offset or is a built-in. -- Only en digits are accepted. local exponent, baseunit = unitcode:match('^e(%d+)(.*)') if exponent then local engscale = text_code.eng_scales[exponent] if engscale then local success, result = lookup(parms, baseunit, 'no_combination', utable, fails, depth) if success and not (result.offset or result.builtin or result.engscale) then result.unitcode = unitcode -- 'e6cuft' not 'cuft' result.defkey = unitcode -- key to lookup default exception result.engscale = engscale result.scale = result.scale * 10 ^ tonumber(exponent) return true, result end end end -- Look for x/y; split on right-most slash to get scale correct (x/y/z is x/y per z). local top, bottom = unitcode:match('^(.-)/([^/]+)$') if top and not unitcode:find('e%d') then -- If valid, create an automatic per unit for an "x/y" unit code. -- The unitcode must not include extraneous spaces. -- Engineering notation (apart from at start and which has been stripped before here), -- is not supported so do not make a per unit if find text like 'e3' in unitcode. local success, result = call_make_per({ per = {top, bottom} }) if success then return true, result end end if not parms.opt_ignore_error and not get_range(unitcode) then -- Want the "what links here" list for the extra_module to show only cases -- where an extra unit is used, so do not require it if invoked from {{val}} -- or if looking up a range word which cannot be a unit. if not extra_units then local success, extra = pcall(function () return require(extra_module).extra_units end) if success and type(extra) == 'table' then extra_units = extra end end if extra_units then -- A unit in one data table might refer to a unit in the other table, so -- switch between them, relying on fails or depth to terminate loops. if not fails[unitcode] then fails[unitcode] = true local other = (utable == all_units) and extra_units or all_units local success, result = lookup(parms, unitcode, what, other, fails, depth) if success then return true, result end end end end if to_en_table then -- At fawiki it is common to translate all digits so a unit like "km2" becomes "km۲". local en_code = ustring.gsub(unitcode, '%d', to_en_table) if en_code ~= unitcode then return lookup(parms, en_code, what, utable, fails, depth) end end return false, { 'cvt_unknown', unitcode } end local function valid_number(num) -- Return true if num is a valid number. -- In Scribunto (different from some standard Lua), when expressed as a string, -- overflow or other problems are indicated with text like "inf" or "nan" -- which are regarded as invalid here (each contains "n"). if type(num) == 'number' and tostring(num):find('n', 1, true) == nil then return true end end local function hyphenated(name, parts) -- Return a hyphenated form of given name (for adjectival usage). -- The name may be linked and the target of the link must not be changed. -- Hypothetical examples: -- [[long ton|ton]] → [[long ton|ton]] (no change) -- [[tonne|long ton]] → [[tonne|long-ton]] -- [[metric ton|long ton]] → [[metric ton|long-ton]] -- [[long ton]] → [[long ton|long-ton]] -- Input can also have multiple links in a single name like: -- [[United States customary units|U.S.]] [[US gallon|gallon]] -- [[mile]]s per [[United States customary units|U.S.]] [[quart]] -- [[long ton]]s per [[short ton]] -- Assume that links cannot be nested (never like "[[abc[[def]]ghi]]"). -- This uses a simple and efficient procedure that works for most cases. -- Some units (if used) would require more, and can later think about -- adding a method to handle exceptions. -- The procedure is to replace each space with a hyphen, but -- not a space after ')' [for "(pre-1954&nbsp;US) nautical mile"], and -- not spaces immediately before '(' or in '(...)' [for cases like -- "British thermal unit (ISO)" and "Calorie (International Steam Table)"]. if name:find(' ', 1, true) then if parts then local pos if name:sub(1, 1) == '(' then pos = name:find(')', 1, true) if pos then return name:sub(1, pos+1) .. name:sub(pos+2):gsub(' ', '-') end elseif name:sub(-1) == ')' then pos = name:find('(', 1, true) if pos then return name:sub(1, pos-2):gsub(' ', '-') .. name:sub(pos-1) end end return name:gsub(' ', '-') end parts = collection() for before, item, after in name:gmatch('([^[]*)(%[%[[^[]*%]%])([^[]*)') do if item:find(' ', 1, true) then local prefix local plen = item:find('|', 1, true) if plen then prefix = item:sub(1, plen) item = item:sub(plen + 1, -3) else prefix = item:sub(1, -3) .. '|' item = item:sub(3, -3) end item = prefix .. hyphenated(item, parts) .. ']]' end parts:add(before:gsub(' ', '-') .. item .. after:gsub(' ', '-')) end if parts.n == 0 then -- No link like "[[...]]" was found in the original name. parts:add(hyphenated(name, parts)) end return table.concat(parts) end return name end local function hyphenated_maybe(parms, want_name, sep, id, inout) -- Return s, f where -- s = id, possibly modified -- f = true if hyphenated -- Possible modifications: hyphenate; prepend '-'; append mid text. if id == nil or id == '' then return '' end local mid = (inout == (parms.opt_flip and 'out' or 'in')) and parms.mid or '' if want_name then if parms.opt_adjectival then return '-' .. hyphenated(id) .. mid, true end if parms.opt_add_s and id:sub(-1) ~= 's' then id = id .. 's' -- for nowiki end end return sep .. id .. mid end local function use_minus(text) -- Return text with Unicode minus instead of '-', if present. if text:sub(1, 1) == '-' then return MINUS .. text:sub(2) end return text end local function digit_groups(parms, text, method) -- Return a numbered table of groups of digits (left-to-right, in local language). -- Parameter method is a number or nil: -- 3 for 3-digit grouping (default), or -- 2 for 3-then-2 grouping (only for digits before decimal mark). local len_right local len_left = text:find('.', 1, true) if len_left then len_right = #text - len_left len_left = len_left - 1 else len_left = #text end local twos = method == 2 and len_left > 5 local groups = collection() local run = len_left local n if run < 4 or (run == 4 and parms.opt_comma5) then if parms.opt_gaps then n = run else n = #text end elseif twos then n = run % 2 == 0 and 1 or 2 else n = run % 3 == 0 and 3 or run % 3 end while run > 0 do groups:add(n) run = run - n n = (twos and run > 3) and 2 or 3 end if len_right then if groups.n == 0 then groups:add(0) end if parms.opt_gaps and len_right > 3 then local want4 = not parms.opt_gaps3 -- true gives no gap before trailing single digit local isfirst = true run = len_right while run > 0 do n = (want4 and run == 4) and 4 or (run > 3 and 3 or run) if isfirst then isfirst = false groups[groups.n] = groups[groups.n] + 1 + n else groups:add(n) end run = run - n end else groups[groups.n] = groups[groups.n] + 1 + len_right end end local pos = 1 for i, length in ipairs(groups) do groups[i] = from_en(text:sub(pos, pos + length - 1)) pos = pos + length end return groups end function with_separator(parms, text) -- for forward declaration above -- Input text is a number in en digits with optional '.' decimal mark. -- Return an equivalent, formatted for display: -- with a custom decimal mark instead of '.', if wanted -- with thousand separators inserted, if wanted -- digits in local language -- The given text is like '123' or '123.' or '12345.6789'. -- The text has no sign (caller inserts that later, if necessary). -- When using gaps, they are inserted before and after the decimal mark. -- Separators are inserted only before the decimal mark. -- A trailing dot (as in '123.') is removed because their use appears to -- be accidental, and such a number should be shown as '123' or '123.0'. -- It is useful for convert to suppress the dot so, for example, '4000.' -- is a simple way of indicating that all the digits are significant. if text:sub(-1) == '.' then text = text:sub(1, -2) end if #text < 4 or parms.opt_nocomma or numsep == '' then return from_en(text) end local groups = digit_groups(parms, text, group_method) if parms.opt_gaps then if groups.n <= 1 then return groups[1] or '' end local nowrap = '<span style="white-space: nowrap">' local gap = '<span style="margin-left: 0.25em">' local close = '</span>' return nowrap .. groups[1] .. gap .. table.concat(groups, close .. gap, 2, groups.n) .. close .. close end return table.concat(groups, numsep) end -- An input value like 1.23e12 is displayed using scientific notation (1.23×10¹²). -- That also makes the output use scientific notation, except for small values. -- In addition, very small or very large output values use scientific notation. -- Use format(fmtpower, significand, '10', exponent) where each argument is a string. local fmtpower = '%s<span style="margin:0 .15em 0 .25em">×</span>%s<sup>%s</sup>' local function with_exponent(parms, show, exponent) -- Return wikitext to display the implied value in scientific notation. -- Input uses en digits; output uses digits in local language. return format(fmtpower, with_separator(parms, show), from_en('10'), use_minus(from_en(tostring(exponent)))) end local function make_sigfig(value, sigfig) -- Return show, exponent that are equivalent to the result of -- converting the number 'value' (where value >= 0) to a string, -- rounded to 'sigfig' significant figures. -- The returned items are: -- show: a string of digits; no sign and no dot; -- there is an implied dot before show. -- exponent: a number (an integer) to shift the implied dot. -- Resulting value = tonumber('.' .. show) * 10^exponent. -- Examples: -- make_sigfig(23.456, 3) returns '235', 2 (.235 * 10^2). -- make_sigfig(0.0023456, 3) returns '235', -2 (.235 * 10^-2). -- make_sigfig(0, 3) returns '000', 1 (.000 * 10^1). if sigfig <= 0 then sigfig = 1 elseif sigfig > maxsigfig then sigfig = maxsigfig end if value == 0 then return string.rep('0', sigfig), 1 end local exp, fracpart = math.modf(log10(value)) if fracpart >= 0 then fracpart = fracpart - 1 exp = exp + 1 end local digits = format('%.0f', 10^(fracpart + sigfig)) if #digits > sigfig then -- Overflow (for sigfig=3: like 0.9999 rounding to "1000"; need "100"). digits = digits:sub(1, sigfig) exp = exp + 1 end assert(#digits == sigfig, 'Bug: rounded number has wrong length') return digits, exp end -- Fraction output format. local fracfmt = { { -- Like {{frac}} (fraction slash). -- 1/2 : sign, numerator, denominator -- 1+2/3 : signed_wholenumber, numerator, denominator '<span class="frac nowrap">%s<sup>%s</sup>&frasl;<sub>%s</sub></span>', '<span class="frac nowrap">%s<span class="visualhide">&nbsp;</span><sup>%s</sup>&frasl;<sub>%s</sub></span>', }, { -- Like {{sfrac}} (fraction horizontal bar). -- 1//2 : sign, numerator, denominator (sign should probably be before the fraction, but then it can wrap, and html is already too long) -- 1+2//3 : signed_wholenumber, numerator, denominator '<span class="sfrac nowrap" style="display:inline-block; vertical-align:-0.5em; font-size:85%%; text-align:center;"><span style="display:block; line-height:1em; padding:0 0.1em;">%s%s</span><span class="visualhide">/</span><span style="display:block; line-height:1em; padding:0 0.1em; border-top:1px solid;">%s</span></span>', '<span class="sfrac nowrap">%s<span class="visualhide">&nbsp;</span><span style="display:inline-block; vertical-align:-0.5em; font-size:85%%; text-align:center;"><span style="display:block; line-height:1em; padding:0 0.1em;">%s</span><span class="visualhide">/</span><span style="display:block; line-height:1em; padding:0 0.1em; border-top:1px solid;">%s</span></span></span>', }, } local function format_fraction(parms, inout, negative, wholestr, numstr, denstr, do_spell, style) -- Return wikitext for a fraction, possibly spelled. -- Inputs use en digits and have no sign; output uses digits in local language. local wikitext if not style then style = parms.opt_fraction_horizontal and 2 or 1 end if wholestr == '' then wholestr = nil end if wholestr then local decorated = with_separator(parms, wholestr) if negative then decorated = MINUS .. decorated end local fmt = fracfmt[style][2] wikitext = format(fmt, decorated, from_en(numstr), from_en(denstr)) else local sign = negative and MINUS or '' wikitext = format(fracfmt[style][1], sign, from_en(numstr), from_en(denstr)) end if do_spell then if negative then if wholestr then wholestr = '-' .. wholestr else numstr = '-' .. numstr end end wikitext = spell_number(parms, inout, wholestr, numstr, denstr) or wikitext end return wikitext end local function format_number(parms, show, exponent, isnegative) -- Parameter show is a string or a table containing strings. -- Each string is a formatted number in en digits and optional '.' decimal mark. -- A table represents a fraction: integer, numerator, denominator; -- if a table is given, exponent must be nil. -- Return t where t is a table with fields: -- show = wikitext formatted to display implied value -- (digits in local language) -- is_scientific = true if show uses scientific notation -- clean = unformatted show (possibly adjusted and with inserted '.') -- (en digits) -- sign = '' or MINUS -- exponent = exponent (possibly adjusted) -- The clean and exponent fields can be used to calculate the -- rounded absolute value, if needed. -- -- The value implied by the arguments is found from: -- exponent is nil; and -- show is a string of digits (no sign), with an optional dot; -- show = '123.4' is value 123.4, '1234' is value 1234.0; -- or: -- exponent is an integer indicating where dot should be; -- show is a string of digits (no sign and no dot); -- there is an implied dot before show; -- show does not start with '0'; -- show = '1234', exponent = 3 is value 0.1234*10^3 = 123.4. -- -- The formatted result: -- * Is for an output value and is spelled if wanted and possible. -- * Includes a Unicode minus if isnegative and not spelled. -- * Uses a custom decimal mark, if wanted. -- * Has digits grouped where necessary, if wanted. -- * Uses scientific notation if requested, or for very small or large values -- (which forces result to not be spelled). -- * Has no more than maxsigfig significant digits -- (same as old template and {{#expr}}). local xhi, xlo -- these control when scientific notation (exponent) is used if parms.opt_scientific then xhi, xlo = 4, 2 -- default for output if input uses e-notation elseif parms.opt_scientific_always then xhi, xlo = 0, 0 -- always use scientific notation (experimental) else xhi, xlo = 10, 4 -- default end local sign = isnegative and MINUS or '' local maxlen = maxsigfig local tfrac if type(show) == 'table' then tfrac = show show = tfrac.wholestr assert(exponent == nil, 'Bug: exponent given with fraction') end if not tfrac and not exponent then local integer, dot, decimals = show:match('^(%d*)(%.?)(.*)') if integer == '0' or integer == '' then local zeros, figs = decimals:match('^(0*)([^0]?.*)') if #figs == 0 then if #zeros > maxlen then show = '0.' .. zeros:sub(1, maxlen) end elseif #zeros >= xlo then show = figs exponent = -#zeros elseif #figs > maxlen then show = '0.' .. zeros .. figs:sub(1, maxlen) end elseif #integer >= xhi then show = integer .. decimals exponent = #integer else maxlen = maxlen + #dot if #show > maxlen then show = show:sub(1, maxlen) end end end if exponent then local function zeros(n) return string.rep('0', n) end if #show > maxlen then show = show:sub(1, maxlen) end if exponent > xhi or exponent <= -xlo or (exponent == xhi and show ~= '1' .. zeros(xhi - 1)) then -- When xhi, xlo = 10, 4 (the default), scientific notation is used if the -- rounded value satisfies: value >= 1e9 or value < 1e-4 (1e9 = 0.1e10), -- except if show is '1000000000' (1e9), for example: -- {{convert|1000000000|m|m|sigfig=10}} → 1,000,000,000 metres (1,000,000,000 m) local significand if #show > 1 then significand = show:sub(1, 1) .. '.' .. show:sub(2) else significand = show end return { clean = '.' .. show, exponent = exponent, sign = sign, show = sign .. with_exponent(parms, significand, exponent-1), is_scientific = true, } end if exponent >= #show then show = show .. zeros(exponent - #show) -- result has no dot elseif exponent <= 0 then show = '0.' .. zeros(-exponent) .. show else show = show:sub(1, exponent) .. '.' .. show:sub(exponent+1) end end local formatted_show if tfrac then show = tostring(tfrac.value) -- to set clean in returned table formatted_show = format_fraction(parms, 'out', isnegative, tfrac.wholestr, tfrac.numstr, tfrac.denstr, parms.opt_spell_out) else if isnegative and show:match('^0.?0*$') then sign = '' -- don't show minus if result is negative but rounds to zero end formatted_show = sign .. with_separator(parms, show) if parms.opt_spell_out then formatted_show = spell_number(parms, 'out', sign .. show) or formatted_show end end return { clean = show, sign = sign, show = formatted_show, is_scientific = false, -- to avoid calling __index } end local function extract_fraction(parms, text, negative) -- If text represents a fraction, return -- value, altvalue, show, denominator -- where -- value is a number (value of the fraction in argument text) -- altvalue is an alternate interpretation of any fraction for the hands -- unit where "12.1+3/4" means 12 hands 1.75 inches -- show is a string (formatted text for display of an input value, -- and is spelled if wanted and possible) -- denominator is value of the denominator in the fraction -- Otherwise, return nil. -- Input uses en digits and '.' decimal mark (input has been translated). -- Output uses digits in local language and local decimal mark, if any. ------------------------------------------------------------------------ -- Originally this function accepted x+y/z where x, y, z were any valid -- numbers, possibly with a sign. For example '1.23e+2+1.2/2.4' = 123.5, -- and '2-3/8' = 1.625. However, such usages were found to be errors or -- misunderstandings, so since August 2014 the following restrictions apply: -- x (if present) is an integer or has a single digit after decimal mark -- y and z are unsigned integers -- e-notation is not accepted -- The overall number can start with '+' or '-' (so '12+3/4' and '+12+3/4' -- and '-12-3/4' are valid). -- Any leading negative sign is removed by the caller, so only inputs -- like the following are accepted here (may have whitespace): -- negative = false false true (there was a leading '-') -- text = '2/3' '+2/3' '2/3' -- text = '1+2/3' '+1+2/3' '1-2/3' -- text = '12.3+1/2' '+12.3+1/2' '12.3-1/2' -- Values like '12.3+1/2' are accepted, but are intended only for use -- with the hands unit (not worth adding code to enforce that). ------------------------------------------------------------------------ local leading_plus, prefix, numstr, slashes, denstr = text:match('^%s*(%+?)%s*(.-)%s*(%d+)%s*(/+)%s*(%d+)%s*$') if not leading_plus then -- Accept a single U+2044 fraction slash because that may be pasted. leading_plus, prefix, numstr, denstr = text:match('^%s*(%+?)%s*(.-)%s*(%d+)%s*⁄%s*(%d+)%s*$') slashes = '/' end local numerator = tonumber(numstr) local denominator = tonumber(denstr) if numerator == nil or denominator == nil or (negative and leading_plus ~= '') then return nil end local whole, wholestr if prefix == '' then wholestr = '' whole = 0 else -- Any prefix must be like '12+' or '12-' (whole number and fraction sign); -- '12.3+' and '12.3-' are also accepted (single digit after decimal point) -- because '12.3+1/2 hands' is valid (12 hands 3½ inches). local num1, num2, frac_sign = prefix:match('^(%d+)(%.?%d?)%s*([+%-])$') if num1 == nil then return nil end if num2 == '' then -- num2 must be '' or like '.1' but not '.' or '.12' wholestr = num1 else if #num2 ~= 2 then return nil end wholestr = num1 .. num2 end if frac_sign ~= (negative and '-' or '+') then return nil end whole = tonumber(wholestr) if whole == nil then return nil end end local value = whole + numerator / denominator if not valid_number(value) then return nil end local altvalue = whole + numerator / (denominator * 10) local style = #slashes -- kludge: 1 or 2 slashes can be used to select style if style > 2 then style = 2 end local wikitext = format_fraction(parms, 'in', negative, leading_plus .. wholestr, numstr, denstr, parms.opt_spell_in, style) return value, altvalue, wikitext, denominator end local function extract_number(parms, text, another, no_fraction) -- Return true, info if can extract a number from text, -- where info is a table with the result, -- or return false, t where t is an error message table. -- Input can use en digits or digits in local language and can -- have references at the end. Accepting references is intended -- for use in infoboxes with a field for a value passed to convert. -- Parameter another = true if the expected value is not the first. -- Before processing, the input text is cleaned: -- * Any thousand separators (valid or not) are removed. -- * Any sign is replaced with '-' (if negative) or '' (otherwise). -- That replaces Unicode minus with '-'. -- If successful, the returned info table contains named fields: -- value = a valid number -- altvalue = a valid number, usually same as value but different -- if fraction used (for hands unit) -- singular = true if value is 1 or -1 (to use singular form of units) -- clean = cleaned text with any separators and sign removed -- (en digits and '.' decimal mark) -- show = text formatted for output, possibly with ref strip markers -- (digits in local language and custom decimal mark) -- The resulting show: -- * Is for an input value and is spelled if wanted and possible. -- * Has a rounded value, if wanted. -- * Has digits grouped where necessary, if wanted. -- * If negative, a Unicode minus is used; otherwise the sign is -- '+' (if the input text used '+'), or is '' (if no sign in input). text = strip(text or '') local reference local pos = text:find('\127', 1, true) if pos then local before = text:sub(1, pos - 1) local remainder = text:sub(pos) local refs = {} while #remainder > 0 do local ref, spaces ref, spaces, remainder = remainder:match('^(\127[^\127]*UNIQ[^\127]*%-ref[^\127]*\127)(%s*)(.*)') if ref then table.insert(refs, ref) else refs = {} break end end if #refs > 0 then text = strip(before) reference = table.concat(refs) end end local clean = to_en(text, parms) if clean == '' then return false, { another and 'cvt_no_num2' or 'cvt_no_num' } end local isnegative, propersign = false, '' -- most common case local singular, show, denominator local value = tonumber(clean) local altvalue if value then local sign = clean:sub(1, 1) if sign == '+' or sign == '-' then propersign = (sign == '+') and '+' or MINUS clean = clean:sub(2) end if value < 0 then isnegative = true value = -value end else local valstr for _, prefix in ipairs({ '-', MINUS, '&minus;' }) do -- Including '-' sets isnegative in case input is a fraction like '-2-3/4'. local plen = #prefix if clean:sub(1, plen) == prefix then valstr = clean:sub(plen + 1) if valstr:match('^%s') then -- "- 1" is invalid but "-1 - 1/2" is ok return false, { 'cvt_bad_num', text } end break end end if valstr then isnegative = true propersign = MINUS clean = valstr value = tonumber(clean) end if value == nil then if not no_fraction then value, altvalue, show, denominator = extract_fraction(parms, clean, isnegative) end if value == nil then return false, { 'cvt_bad_num', text } end if value <= 1 then singular = true -- for example, "½ mile" or "one half mile" (singular unit) end end end if not valid_number(value) then -- for example, "1e310" may overflow return false, { 'cvt_invalid_num' } end if show == nil then -- clean is a non-empty string with no spaces, and does not represent a fraction, -- and value = tonumber(clean) is a number >= 0. -- If the input uses e-notation, show will be displayed using a power of ten, but -- we use the number as given so it might not be normalized scientific notation. -- The input value is spelled if specified so any e-notation is ignored; -- that allows input like 2e6 to be spelled as "two million" which works -- because the spell module converts '2e6' to '2000000' before spelling. local function rounded(value, default, exponent) local precision = parms.opt_ri if precision then local fmt = '%.' .. format('%d', precision) .. 'f' local result = fmt:format(tonumber(value) + 2e-14) -- fudge for some common cases of bad rounding if not exponent then singular = (tonumber(result) == 1) end return result end return default end singular = (value == 1) local scientific local significand, exponent = clean:match('^([%d.]+)[Ee]([+%-]?%d+)') if significand then show = with_exponent(parms, rounded(significand, significand, exponent), exponent) scientific = true else show = with_separator(parms, rounded(value, clean)) end show = propersign .. show if parms.opt_spell_in then show = spell_number(parms, 'in', propersign .. rounded(value, clean)) or show scientific = false end if scientific then parms.opt_scientific = true end end if isnegative and (value ~= 0) then value = -value altvalue = -(altvalue or value) end return true, { value = value, altvalue = altvalue or value, singular = singular, clean = clean, show = show .. (reference or ''), denominator = denominator, } end local function get_number(text) -- Return v, f where: -- v = nil (text is not a number) -- or -- v = value of text (text is a number) -- f = true if value is an integer -- Input can use en digits or digits in local language, -- but no separators, no Unicode minus, and no fraction. if text then local number = tonumber(to_en(text)) if number then local _, fracpart = math.modf(number) return number, (fracpart == 0) end end end local function gcd(a, b) -- Return the greatest common denominator for the given values, -- which are known to be positive integers. if a > b then a, b = b, a end if a <= 0 then return b end local r = b % a if r <= 0 then return a end if r == 1 then return 1 end return gcd(r, a) end local function fraction_table(value, denominator) -- Return value as a string or a table: -- * If result is a string, there is no fraction, and the result -- is value formatted as a string of en digits. -- * If result is a table, it represents a fraction with named fields: -- wholestr, numstr, denstr (strings of en digits for integer, numerator, denominator). -- The result is rounded to the nearest multiple of (1/denominator). -- If the multiple is zero, no fraction is included. -- No fraction is included if value is very large as the fraction would -- be unhelpful, particularly if scientific notation is required. -- Input value is a non-negative number. -- Input denominator is a positive integer for the desired fraction. if value <= 0 then return '0' end if denominator <= 0 or value > 1e8 then return format('%.2f', value) end local integer, decimals = math.modf(value) local numerator = floor((decimals * denominator) + 0.5 + 2e-14) -- add fudge for some common cases of bad rounding if numerator >= denominator then integer = integer + 1 numerator = 0 end local wholestr = tostring(integer) if numerator > 0 then local div = gcd(numerator, denominator) if div > 1 then numerator = numerator / div denominator = denominator / div end return { wholestr = (integer > 0) and wholestr or '', numstr = tostring(numerator), denstr = tostring(denominator), value = value, } end return wholestr end local function preunits(count, preunit1, preunit2) -- If count is 1: -- ignore preunit2 -- return p1 -- else: -- preunit1 is used for preunit2 if the latter is empty -- return p1, p2 -- where: -- p1 is text to insert before the input unit -- p2 is text to insert before the output unit -- p1 or p2 may be nil to mean "no preunit" -- Using '+' gives output like "5+ feet" (no space before, but space after). local function withspace(text, wantboth) -- Return text with space before and, if wantboth, after. -- However, no space is added if there is a space or '&nbsp;' or '-' -- at that position ('-' is for adjectival text). -- There is also no space if text starts with '&' -- (e.g. '&deg;' would display a degree symbol with no preceding space). local char = text:sub(1, 1) if char == '&' then return text -- an html entity can be used to specify the exact display end if not (char == ' ' or char == '-' or char == '+') then text = ' ' .. text end if wantboth then char = text:sub(-1, -1) if not (char == ' ' or char == '-' or text:sub(-6, -1) == '&nbsp;') then text = text .. ' ' end end return text end local PLUS = '+ ' preunit1 = preunit1 or '' local trim1 = strip(preunit1) if count == 1 then if trim1 == '' then return nil end if trim1 == '+' then return PLUS end return withspace(preunit1, true) end preunit1 = withspace(preunit1) preunit2 = preunit2 or '' local trim2 = strip(preunit2) if trim1 == '+' then if trim2 == '' or trim2 == '+' then return PLUS, PLUS end preunit1 = PLUS end if trim2 == '' then if trim1 == '' then return nil, nil end preunit2 = preunit1 elseif trim2 == '+' then preunit2 = PLUS elseif trim2 == '&#32;' then -- trick to make preunit2 empty preunit2 = nil else preunit2 = withspace(preunit2) end return preunit1, preunit2 end local function range_text(range, want_name, parms, before, after, inout) -- Return before .. rtext .. after -- where rtext is the text that separates two values in a range. local rtext, adj_text, exception if type(range) == 'table' then -- Table must specify range text for ('off' and 'on') or ('input' and 'output'), -- and may specify range text for 'adj=on', -- and may specify exception = true. rtext = range[want_name and 'off' or 'on'] or range[((inout == 'in') == (parms.opt_flip == true)) and 'output' or 'input'] adj_text = range['adj'] exception = range['exception'] else rtext = range end if parms.opt_adjectival then if want_name or (exception and parms.abbr_org == 'on') then rtext = adj_text or rtext:gsub(' ', '-'):gsub('&nbsp;', '-') end end if rtext == '–' and after:sub(1, #MINUS) == MINUS then rtext = '&nbsp;– ' end return before .. rtext .. after end local function get_composite(parms, iparm, in_unit_table) -- Look for a composite input unit. For example, {{convert|1|yd|2|ft|3|in}} -- would result in a call to this function with -- iparm = 3 (parms[iparm] = "2", just after the first unit) -- in_unit_table = (unit table for "yd"; contains value 1 for number of yards) -- Return true, iparm, unit where -- iparm = index just after the composite units (7 in above example) -- unit = composite unit table holding all input units, -- or return true if no composite unit is present in parms, -- or return false, t where t is an error message table. local default, subinfo local composite_units, count = { in_unit_table }, 1 local fixups = {} local total = in_unit_table.valinfo[1].value local subunit = in_unit_table while subunit.subdivs do -- subdivs is nil or a table of allowed subdivisions local subcode = strip(parms[iparm+1]) local subdiv = subunit.subdivs[subcode] or subunit.subdivs[(all_units[subcode] or {}).target] if not subdiv then break end local success success, subunit = lookup(parms, subcode, 'no_combination') if not success then return false, subunit end -- should never occur success, subinfo = extract_number(parms, parms[iparm]) if not success then return false, subinfo end iparm = iparm + 2 subunit.inout = 'in' subunit.valinfo = { subinfo } -- Recalculate total as a number of subdivisions. -- subdiv[1] = number of subdivisions per previous unit (integer > 1). total = total * subdiv[1] + subinfo.value if not default then -- set by the first subdiv with a default defined default = subdiv.default end count = count + 1 composite_units[count] = subunit if subdiv.unit or subdiv.name then fixups[count] = { unit = subdiv.unit, name = subdiv.name, valinfo = subunit.valinfo } end end if count == 1 then return true -- no error and no composite unit end for i, fixup in pairs(fixups) do local unit = fixup.unit local name = fixup.name if not unit or (count > 2 and name) then composite_units[i].fixed_name = name else local success, alternate = lookup(parms, unit, 'no_combination') if not success then return false, alternate end -- should never occur alternate.inout = 'in' alternate.valinfo = fixup.valinfo composite_units[i] = alternate end end return true, iparm, { utype = in_unit_table.utype, scale = subunit.scale, -- scale of last (least significant) unit valinfo = { { value = total, clean = subinfo.clean, denominator = subinfo.denominator } }, composite = composite_units, default = default or in_unit_table.default } end local function translate_parms(parms, kv_pairs) -- Update fields in parms by translating each key:value in kv_pairs to terms -- used by this module (may involve translating from local language to English). -- Also, checks are performed which may display warnings, if enabled. -- Return true if successful or return false, t where t is an error message table. currency_text = nil -- local testing can hold module in memory; must clear globals local accept_any_text = { input = true, qid = true, qual = true, stylein = true, styleout = true, tracking = true, } if kv_pairs.adj and kv_pairs.sing then -- For enwiki (before translation), warn if attempt to use adj and sing -- as the latter is a deprecated alias for the former. if kv_pairs.adj ~= kv_pairs.sing and kv_pairs.sing ~= '' then add_warning(parms, 1, 'cvt_unknown_option', 'sing=' .. kv_pairs.sing) end kv_pairs.sing = nil end kv_pairs.comma = kv_pairs.comma or config.comma -- for plwiki who want default comma=5 for loc_name, loc_value in pairs(kv_pairs) do local en_name = text_code.en_option_name[loc_name] if en_name then local en_value if en_name == '$' or en_name == 'frac' or en_name == 'sigfig' then if loc_value == '' then add_warning(parms, 2, 'cvt_empty_option', loc_name) elseif en_name == '$' then -- Value should be a single character like "€" for the euro currency symbol, but anything is accepted. currency_text = (loc_value == 'euro') and '€' or loc_value else local minimum local number, is_integer = get_number(loc_value) if en_name == 'frac' then minimum = 2 if number and number < 0 then parms.opt_fraction_horizontal = true number = -number end else minimum = 1 end if number and is_integer and number >= minimum then en_value = number else add_warning(parms, 1, (en_name == 'frac' and 'cvt_bad_frac' or 'cvt_bad_sigfig'), loc_name .. '=' .. loc_value) end end elseif accept_any_text[en_name] then en_value = loc_value ~= '' and loc_value or nil -- accept non-empty user text with no validation if en_name == 'input' then -- May have something like {{convert|input=}} (empty input) if source is an infobox -- with optional fields. In that case, want to output nothing rather than an error. parms.input_text = loc_value -- keep input because parms.input is nil if loc_value == '' end else en_value = text_code.en_option_value[en_name][loc_value] if en_value and en_value:sub(-1) == '?' then en_value = en_value:sub(1, -2) add_warning(parms, -1, 'cvt_deprecated', loc_name .. '=' .. loc_value) end if en_value == nil then if loc_value == '' then add_warning(parms, 2, 'cvt_empty_option', loc_name) else add_warning(parms, 1, 'cvt_unknown_option', loc_name .. '=' .. loc_value) end elseif en_value == '' then en_value = nil -- an ignored option like adj=off elseif type(en_value) == 'string' and en_value:sub(1, 4) == 'opt_' then for _, v in ipairs(split(en_value, ',')) do local lhs, rhs = v:match('^(.-)=(.+)$') if rhs then parms[lhs] = tonumber(rhs) or rhs else parms[v] = true end end en_value = nil end end parms[en_name] = en_value else add_warning(parms, 1, 'cvt_unknown_option', loc_name .. '=' .. loc_value) end end local abbr_entered = parms.abbr local cfg_abbr = config.abbr if cfg_abbr then -- Don't warn if invalid because every convert would show that warning. if cfg_abbr == 'on always' then parms.abbr = 'on' elseif cfg_abbr == 'off always' then parms.abbr = 'off' elseif parms.abbr == nil then if cfg_abbr == 'on default' then parms.abbr = 'on' elseif cfg_abbr == 'off default' then parms.abbr = 'off' end end end if parms.abbr then if parms.abbr == 'unit' then parms.abbr = 'on' parms.number_word = true end parms.abbr_org = parms.abbr -- original abbr, before any flip elseif parms.opt_hand_hh then parms.abbr_org = 'on' parms.abbr = 'on' else parms.abbr = 'out' -- default is to abbreviate output only (use symbol, not name) end if parms.opt_order_out then -- Disable options that do not work in a useful way with order=out. parms.opt_flip = nil -- override adj=flip parms.opt_spell_in = nil parms.opt_spell_out = nil parms.opt_spell_upper = nil end if parms.opt_spell_out and not abbr_entered then parms.abbr = 'off' -- should show unit name when spelling the output value end if parms.opt_flip then local function swap_in_out(option) local value = parms[option] if value == 'in' then parms[option] = 'out' elseif value == 'out' then parms[option] = 'in' end end swap_in_out('abbr') swap_in_out('lk') if parms.opt_spell_in and not parms.opt_spell_out then -- For simplicity, and because it does not appear to be needed, -- user cannot set an option to spell the output only. parms.opt_spell_in = nil parms.opt_spell_out = true end end if parms.opt_spell_upper then parms.spell_upper = parms.opt_flip and 'out' or 'in' end if parms.opt_table or parms.opt_tablecen then if abbr_entered == nil and parms.lk == nil then parms.opt_values = true end parms.table_align = parms.opt_table and 'right' or 'center' end if parms.table_align or parms.opt_sortable_on then parms.need_table_or_sort = true end local disp_joins = text_code.disp_joins local default_joins = disp_joins['b'] parms.join_between = default_joins[3] or '; ' local disp = parms.disp if disp == nil then -- special case for the most common setting parms.joins = default_joins elseif disp == 'x' then -- Later, parms.joins is set from the input parameters. else -- Old template does this. local abbr = parms.abbr if disp == 'slash' then if abbr_entered == nil then disp = 'slash-nbsp' elseif abbr == 'in' or abbr == 'out' then disp = 'slash-sp' else disp = 'slash-nosp' end elseif disp == 'sqbr' then if abbr == 'on' then disp = 'sqbr-nbsp' else disp = 'sqbr-sp' end end parms.joins = disp_joins[disp] or default_joins parms.join_between = parms.joins[3] or parms.join_between parms.wantname = parms.joins.wantname end if (en_default and not parms.opt_lang_local and (parms[1] or ''):find('%d')) or parms.opt_lang_en then from_en_table = nil end if en_default and from_en_table then -- For hiwiki: localized symbol/name is defined with the US symbol/name field, -- and is used if output uses localized numbers. parms.opt_sp_us = true end return true end local function get_values(parms) -- If successful, update parms and return true, v, i where -- v = table of input values -- i = index to next entry in parms after those processed here -- or return false, t where t is an error message table. local valinfo = collection() -- numbered table of input values local range = collection() -- numbered table of range items (having, for example, 2 range items requires 3 input values) local had_nocomma -- true if removed "nocomma" kludge from second parameter (like "tonocomma") local parm2 = strip(parms[2]) if parm2 and parm2:sub(-7, -1) == 'nocomma' then parms[2] = strip(parm2:sub(1, -8)) parms.opt_nocomma = true had_nocomma = true end local function extractor(i) -- If the parameter is not a value, try unpacking it as a range ("1-23" for "1 to 23"). -- However, "-1-2/3" is a negative fraction (-1⅔), so it must be extracted first. -- Do not unpack a parameter if it is like "3-1/2" which is sometimes incorrectly -- used instead of "3+1/2" (and which should not be interpreted as "3 to ½"). -- Unpacked items are inserted into the parms table. -- The tail recursion allows combinations like "1x2 to 3x4". local valstr = strip(parms[i]) -- trim so any '-' as a negative sign will be at start local success, result = extract_number(parms, valstr, i > 1) if not success and valstr and i < 20 then -- check i to limit abuse local lhs, sep, rhs = valstr:match('^(%S+)%s+(%S+)%s+(%S.*)') if lhs and not (sep == '-' and rhs:match('/')) then if sep:find('%d') then return success, result -- to reject {{convert|1 234 567|m}} with a decent message (en only) end parms[i] = rhs table.insert(parms, i, sep) table.insert(parms, i, lhs) return extractor(i) end if not valstr:match('%-.*/') then for _, sep in ipairs(text_code.ranges.words) do local start, stop = valstr:find(sep, 2, true) -- start at 2 to skip any negative sign for range '-' if start then parms[i] = valstr:sub(stop + 1) table.insert(parms, i, sep) table.insert(parms, i, valstr:sub(1, start - 1)) return extractor(i) end end end end return success, result end local i = 1 local is_change while true do local success, info = extractor(i) -- need to set parms.opt_nocomma before calling this if not success then return false, info end i = i + 1 if is_change then info.is_change = true -- value is after "±" and so is a change (significant for range like {{convert|5|±|5|°C}}) is_change = nil end valinfo:add(info) local range_item = get_range(strip(parms[i])) if not range_item then break end i = i + 1 range:add(range_item) if type(range_item) == 'table' then -- For range "x", if append unit to some values, append it to all. parms.in_range_x = parms.in_range_x or range_item.in_range_x parms.out_range_x = parms.out_range_x or range_item.out_range_x parms.abbr_range_x = parms.abbr_range_x or range_item.abbr_range_x is_change = range_item.is_range_change end end if range.n > 0 then if range.n > 30 then -- limit abuse, although 4 is a more likely upper limit return false, { 'cvt_invalid_num' } -- misleading message but it will do end parms.range = range elseif had_nocomma then return false, { 'cvt_unknown', parm2 } end return true, valinfo, i end local function simple_get_values(parms) -- If input is like "{{convert|valid_value|valid_unit|...}}", -- return true, i, in_unit, in_unit_table -- i = index in parms of what follows valid_unit, if anything. -- The valid_value is not negative and does not use a fraction, and -- no options requiring further processing of the input are used. -- Otherwise, return nothing or return false, parm1 for caller to interpret. -- Testing shows this function is successful for 96% of converts in articles, -- and that on average it speeds up converts by 8%. local clean = to_en(strip(parms[1] or ''), parms) if parms.opt_ri or parms.opt_spell_in or #clean > 10 or not clean:match('^[0-9.]+$') then return false, clean end local value = tonumber(clean) if not value then return end local info = { value = value, altvalue = value, singular = (value == 1), clean = clean, show = with_separator(parms, clean), } local in_unit = strip(parms[2]) local success, in_unit_table = lookup(parms, in_unit, 'no_combination') if not success then return end in_unit_table.valinfo = { info } return true, 3, in_unit, in_unit_table end local function wikidata_call(parms, operation, ...) -- Return true, s where s is the result of a Wikidata operation, -- or return false, t where t is an error message table. local function worker(...) wikidata_code = wikidata_code or require(wikidata_module) wikidata_data = wikidata_data or mw.loadData(wikidata_data_module) return wikidata_code[operation](wikidata_data, ...) end local success, status, result = pcall(worker, ...) if success then return status, result end if parms.opt_sortable_debug then -- Use debug=yes to crash if an error while accessing Wikidata. error('Error accessing Wikidata: ' .. status, 0) end return false, { 'cvt_wd_fail' } end local function get_parms(parms, args) -- If successful, update parms and return true, unit where -- parms is a table of all arguments passed to the template -- converted to named arguments, and -- unit is the input unit table; -- or return false, t where t is an error message table. -- For special processing (not a convert), can also return -- true, wikitext where wikitext is the final result. -- The returned input unit table may be for a fake unit using the specified -- unit code as the symbol and name, and with bad_mcode = message code table. -- MediaWiki removes leading and trailing whitespace from the values of -- named arguments. However, the values of numbered arguments include any -- whitespace entered in the template, and whitespace is used by some -- parameters (example: the numbered parameters associated with "disp=x"). local kv_pairs = {} -- table of input key:value pairs where key is a name; needed because cannot iterate parms and add new fields to it for k, v in pairs(args) do if type(k) == 'number' or k == 'test' then -- parameter "test" is reserved for testing and is not translated parms[k] = v else kv_pairs[k] = v end end if parms.test == 'wikidata' then local ulookup = function (ucode) -- Use empty table for parms so it does not accumulate results when used repeatedly. return lookup({}, ucode, 'no_combination') end return wikidata_call(parms, '_listunits', ulookup) end local success, msg = translate_parms(parms, kv_pairs) if not success then return false, msg end if parms.input then success, msg = wikidata_call(parms, '_adjustparameters', parms, 1) if not success then return false, msg end end local success, i, in_unit, in_unit_table = simple_get_values(parms) if not success then if type(i) == 'string' and i:match('^NNN+$') then -- Some infoboxes have examples like {{convert|NNN|m}} (3 or more "N"). -- Output an empty string for these. return false, { 'cvt_no_output' } end local valinfo success, valinfo, i = get_values(parms) if not success then return false, valinfo end in_unit = strip(parms[i]) i = i + 1 success, in_unit_table = lookup(parms, in_unit, 'no_combination') if not success then in_unit = in_unit or '' if parms.opt_ignore_error then -- display given unit code with no error (for use with {{val}}) in_unit_table = '' -- suppress error message and prevent processing of output unit end in_unit_table = setmetatable({ symbol = in_unit, name2 = in_unit, utype = in_unit, scale = 1, default = '', defkey = '', linkey = '', bad_mcode = in_unit_table }, unit_mt) end in_unit_table.valinfo = valinfo end if parms.test == 'msg' then -- Am testing the messages produced when no output unit is specified, and -- the input unit has a missing or invalid default. -- Set two units for testing that. -- LATER: Remove this code. if in_unit == 'chain' then in_unit_table.default = nil -- no default elseif in_unit == 'rd' then in_unit_table.default = "ft!X!m" -- an invalid expression end end in_unit_table.inout = 'in' -- this is an input unit if not parms.range then local success, inext, composite_unit = get_composite(parms, i, in_unit_table) if not success then return false, inext end if composite_unit then in_unit_table = composite_unit i = inext end end if in_unit_table.builtin == 'mach' then -- As with old template, a number following Mach as the input unit is the altitude, -- and there is no way to specify an altitude for the output unit. -- Could put more code in this function to get any output unit and check for -- an altitude following that unit. local success, info = extract_number(parms, parms[i], false, true) if success then i = i + 1 in_unit_table.altitude = info.value end end local word = strip(parms[i]) i = i + 1 local precision, is_bad_precision local function set_precision(text) local number, is_integer = get_number(text) if number then if is_integer then precision = number else precision = text is_bad_precision = true end return true -- text was used for precision, good or bad end end if word and not set_precision(word) then parms.out_unit = parms.out_unit or word if set_precision(strip(parms[i])) then i = i + 1 end end if parms.opt_adj_mid then word = parms[i] i = i + 1 if word then -- mid-text words if word:sub(1, 1) == '-' then parms.mid = word else parms.mid = ' ' .. word end end end if parms.opt_one_preunit then parms[parms.opt_flip and 'preunit2' or 'preunit1'] = preunits(1, parms[i]) i = i + 1 end if parms.disp == 'x' then -- Following is reasonably compatible with the old template. local first = parms[i] or '' local second = parms[i+1] or '' i = i + 2 if strip(first) == '' then -- user can enter '&#32;' rather than ' ' to avoid the default first = ' [&nbsp;' .. first second = '&nbsp;]' .. second end parms.joins = { first, second } elseif parms.opt_two_preunits then local p1, p2 = preunits(2, parms[i], parms[i+1]) i = i + 2 if parms.preunit1 then -- To simplify documentation, allow unlikely use of adj=pre with disp=preunit -- (however, an output unit must be specified with adj=pre and with disp=preunit). parms.preunit1 = parms.preunit1 .. p1 parms.preunit2 = p2 else parms.preunit1, parms.preunit2 = p1, p2 end end if precision == nil then if set_precision(strip(parms[i])) then i = i + 1 end end if is_bad_precision then add_warning(parms, 1, 'cvt_bad_prec', precision) else parms.precision = precision end for j = i, i + 3 do local parm = parms[j] -- warn if find a non-empty extraneous parameter if parm and parm:match('%S') then add_warning(parms, 1, 'cvt_unknown_option', parm) break end end return true, in_unit_table end local function record_default_precision(parms, out_current, precision) -- If necessary, adjust parameters and return a possibly adjusted precision. -- When converting a range of values where a default precision is required, -- that default is calculated for each value because the result sometimes -- depends on the precise input and output values. This function may cause -- the entire convert process to be repeated in order to ensure that the -- same default precision is used for each individual convert. -- If that were not done, a range like 1000 to 1000.4 may give poor results -- because the first output could be heavily rounded, while the second is not. -- For range 1000.4 to 1000, this function can give the second convert the -- same default precision that was used for the first. if not parms.opt_round_each then local maxdef = out_current.max_default_precision if maxdef then if maxdef < precision then parms.do_convert_again = true out_current.max_default_precision = precision else precision = out_current.max_default_precision end else out_current.max_default_precision = precision end end return precision end local function default_precision(parms, invalue, inclean, denominator, outvalue, in_current, out_current, extra) -- Return a default value for precision (an integer like 2, 0, -2). -- If denominator is not nil, it is the value of the denominator in inclean. -- Code follows procedures used in old template. local fudge = 1e-14 -- {{Order of magnitude}} adds this, so we do too local prec, minprec, adjust local subunit_ignore_trailing_zero local subunit_more_precision -- kludge for "in" used in input like "|2|ft|6|in" local composite = in_current.composite if composite then subunit_ignore_trailing_zero = true -- input "|2|st|10|lb" has precision 0, not -1 if composite[#composite].exception == 'subunit_more_precision' then subunit_more_precision = true -- do not use standard precision with input like "|2|ft|6|in" end end if denominator and denominator > 0 then prec = math.max(log10(denominator), 1) else -- Count digits after decimal mark, handling cases like '12.345e6'. local exponent local integer, dot, decimals, expstr = inclean:match('^(%d*)(%.?)(%d*)(.*)') local e = expstr:sub(1, 1) if e == 'e' or e == 'E' then exponent = tonumber(expstr:sub(2)) end if dot == '' then prec = subunit_ignore_trailing_zero and 0 or -integer:match('0*$'):len() else prec = #decimals end if exponent then -- So '1230' and '1.23e3' both give prec = -1, and '0.00123' and '1.23e-3' give 5. prec = prec - exponent end end if in_current.istemperature and out_current.istemperature then -- Converting between common temperatures (°C, °F, °R, K); not keVT. -- Kelvin value can be almost zero, or small but negative due to precision problems. -- Also, an input value like -300 C (below absolute zero) gives negative kelvins. -- Calculate minimum precision from absolute value. adjust = 0 local kelvin = abs((invalue - in_current.offset) * in_current.scale) if kelvin < 1e-8 then -- assume nonzero due to input or calculation precision problem minprec = 2 else minprec = 2 - floor(log10(kelvin) + fudge) -- 3 sigfigs in kelvin end else if invalue == 0 or outvalue <= 0 then -- We are never called with a negative outvalue, but it might be zero. -- This is special-cased to avoid calculation exceptions. return record_default_precision(parms, out_current, 0) end if out_current.exception == 'integer_more_precision' and floor(invalue) == invalue then -- With certain output units that sometimes give poor results -- with default rounding, use more precision when the input -- value is equal to an integer. An example of a poor result -- is when input 50 gives a smaller output than input 49.5. -- Experiment shows this helps, but it does not eliminate all -- surprises because it is not clear whether "50" should be -- interpreted as "from 45 to 55" or "from 49.5 to 50.5". adjust = -log10(in_current.scale) elseif subunit_more_precision then -- Conversion like "{{convert|6|ft|1|in|cm}}" (where subunit is "in") -- has a non-standard adjust value, to give more output precision. adjust = log10(out_current.scale) + 2 else adjust = log10(abs(invalue / outvalue)) end adjust = adjust + log10(2) -- Ensure that the output has at least two significant figures. minprec = 1 - floor(log10(outvalue) + fudge) end if extra then adjust = extra.adjust or adjust minprec = extra.minprec or minprec end return record_default_precision(parms, out_current, math.max(floor(prec + adjust), minprec)) end local function convert(parms, invalue, info, in_current, out_current) -- Convert given input value from one unit to another. -- Return output_value (a number) if a simple convert, or -- return f, t where -- f = true, t = table of information with results, or -- f = false, t = error message table. local inscale = in_current.scale local outscale = out_current.scale if not in_current.iscomplex and not out_current.iscomplex then return invalue * (inscale / outscale) -- minimize overhead for most common case end if in_current.invert or out_current.invert then -- Inverted units, such as inverse length, inverse time, or -- fuel efficiency. Built-in units do not have invert set. if (in_current.invert or 1) * (out_current.invert or 1) < 0 then return 1 / (invalue * inscale * outscale) end return invalue * (inscale / outscale) elseif in_current.offset then -- Temperature (there are no built-ins for this type of unit). if info.is_change then return invalue * (inscale / outscale) end return (invalue - in_current.offset) * (inscale / outscale) + out_current.offset else -- Built-in unit. local in_builtin = in_current.builtin local out_builtin = out_current.builtin if in_builtin and out_builtin then if in_builtin == out_builtin then return invalue end -- There are no cases (yet) where need to convert from one -- built-in unit to another, so this should never occur. return false, { 'cvt_bug_convert' } end if in_builtin == 'mach' or out_builtin == 'mach' then local adjust if in_builtin == 'mach' then inscale = speed_of_sound(in_current.altitude) adjust = outscale / 0.1 else outscale = speed_of_sound(out_current.altitude) adjust = 0.1 / inscale end return true, { outvalue = invalue * (inscale / outscale), adjust = log10(adjust) + log10(2), } elseif in_builtin == 'hand' then -- 1 hand = 4 inches; 1.2 hands = 6 inches. -- Decimals of a hand are only defined for the first digit, and -- the first fractional digit should be a number of inches (1, 2 or 3). -- However, this code interprets the entire fractional part as the number -- of inches / 10 (so 1.75 inches would be 0.175 hands). -- A value like 12.3 hands is exactly 12*4 + 3 inches; base default precision on that. local integer, fracpart = math.modf(invalue) local inch_value = 4 * integer + 10 * fracpart -- equivalent number of inches local factor = inscale / outscale if factor == 4 then -- Am converting to inches: show exact result, and use "inches" not "in" by default. if parms.abbr_org == nil then out_current.usename = true end local show = format('%g', abs(inch_value)) -- show and clean are unsigned if not show:find('e', 1, true) then return true, { invalue = inch_value, outvalue = inch_value, clean = show, show = show, } end end local outvalue = (integer + 2.5 * fracpart) * factor local fracstr = info.clean:match('%.(.*)') or '' local fmt if fracstr == '' then fmt = '%.0f' else fmt = '%.' .. format('%d', #fracstr - 1) .. 'f' end return true, { invalue = inch_value, clean = format(fmt, inch_value), outvalue = outvalue, minprec = 0, } end end return false, { 'cvt_bug_convert' } -- should never occur end local function user_style(parms, i) -- Return text for a user-specified style for a table cell, or '' if none, -- given i = 1 (input style) or 2 (output style). local style = parms[(i == 1) and 'stylein' or 'styleout'] if style then style = style:gsub('"', '') if style ~= '' then if style:sub(-1) ~= ';' then style = style .. ';' end return style end end return '' end local function make_table_or_sort(parms, invalue, info, in_current, scaled_top) -- Set options to handle output for a table or a sort key, or both. -- The text sort key is based on the value resulting from converting -- the input to a fake base unit with scale = 1, and other properties -- required for a conversion derived from the input unit. -- For other modules, return the sort key in a hidden span element, and -- the scaled value used to generate the sort key. -- If scaled_top is set, it is the scaled value of the numerator of a per unit -- to be combined with this unit (the denominator) to make the sort key. -- Scaling only works with units that convert with a factor (not temperature). local sortkey, scaled_value if parms.opt_sortable_on then local base = { -- a fake unit with enough fields for a valid convert scale = 1, invert = in_current.invert and 1, iscomplex = in_current.iscomplex, offset = in_current.offset and 0, } local outvalue, extra = convert(parms, invalue, info, in_current, base) if extra then outvalue = extra.outvalue end if in_current.istemperature then -- Have converted to kelvin; assume numbers close to zero have a -- rounding error and should be zero. if abs(outvalue) < 1e-12 then outvalue = 0 end end if scaled_top and outvalue ~= 0 then outvalue = scaled_top / outvalue end scaled_value = outvalue if not valid_number(outvalue) then if outvalue < 0 then sortkey = '1000000000000000000' else sortkey = '9000000000000000000' end elseif outvalue == 0 then sortkey = '5000000000000000000' else local mag = floor(log10(abs(outvalue)) + 1e-14) local prefix if outvalue > 0 then prefix = 7000 + mag else prefix = 2999 - mag outvalue = outvalue + 10^(mag+1) end sortkey = format('%d', prefix) .. format('%015.0f', floor(outvalue * 10^(14-mag))) end end local sortspan if sortkey and not parms.table_align then sortspan = parms.opt_sortable_debug and '<span data-sort-value="' .. sortkey .. '♠"><span style="border:1px solid">' .. sortkey .. '♠</span></span>' or '<span data-sort-value="' .. sortkey .. '♠"></span>' parms.join_before = sortspan end if parms.table_align then local sort if sortkey then sort = ' data-sort-value="' .. sortkey .. '"' if parms.opt_sortable_debug then parms.join_before = '<span style="border:1px solid">' .. sortkey .. '</span>' end else sort = '' end local style = 'style="text-align:' .. parms.table_align .. ';' local joins = {} for i = 1, 2 do joins[i] = (i == 1 and '' or '\n|') .. style .. user_style(parms, i) .. '"' .. sort .. '|' end parms.table_joins = joins end return sortspan, scaled_value end local cvt_to_hand local function cvtround(parms, info, in_current, out_current) -- Return true, t where t is a table with the conversion results; fields: -- show = rounded, formatted string with the result of converting value in info, -- using the rounding specified in parms. -- singular = true if result (after rounding and ignoring any negative sign) -- is "1", or like "1.00", or is a fraction with value < 1; -- (and more fields shown below, and a calculated 'absvalue' field). -- or return false, t where t is an error message table. -- Input info.clean uses en digits (it has been translated, if necessary). -- Output show uses en or non-en digits as appropriate, or can be spelled. if out_current.builtin == 'hand' then return cvt_to_hand(parms, info, in_current, out_current) end local invalue = in_current.builtin == 'hand' and info.altvalue or info.value local outvalue, extra = convert(parms, invalue, info, in_current, out_current) if parms.need_table_or_sort then parms.need_table_or_sort = nil -- process using first input value only make_table_or_sort(parms, invalue, info, in_current) end if extra then if not outvalue then return false, extra end invalue = extra.invalue or invalue outvalue = extra.outvalue end if not valid_number(outvalue) then return false, { 'cvt_invalid_num' } end local isnegative if outvalue < 0 then isnegative = true outvalue = -outvalue end local precision, show, exponent local denominator = out_current.frac if denominator then show = fraction_table(outvalue, denominator) else precision = parms.precision if not precision then if parms.sigfig then show, exponent = make_sigfig(outvalue, parms.sigfig) elseif parms.opt_round then local n = parms.opt_round if n == 0.5 then local integer, fracpart = math.modf(floor(2 * outvalue + 0.5) / 2) if fracpart == 0 then show = format('%.0f', integer) else show = format('%.1f', integer + fracpart) end else show = format('%.0f', floor((outvalue / n) + 0.5) * n) end else local inclean = info.clean if extra then inclean = extra.clean or inclean show = extra.show end if not show then precision = default_precision(parms, invalue, inclean, info.denominator, outvalue, in_current, out_current, extra) end end end end if precision then if precision >= 0 then local fudge if precision <= 8 then -- Add a fudge to handle common cases of bad rounding due to inability -- to precisely represent some values. This makes the following work: -- {{convert|-100.1|C|K}} and {{convert|5555000|um|m|2}}. -- Old template uses #expr round, which invokes PHP round(). -- LATER: Investigate how PHP round() works. fudge = 2e-14 else fudge = 0 end local fmt = '%.' .. format('%d', precision) .. 'f' local success success, show = pcall(format, fmt, outvalue + fudge) if not success then return false, { 'cvt_big_prec', tostring(precision) } end else precision = -precision -- #digits to zero (in addition to any digits after dot) local shift = 10 ^ precision show = format('%.0f', outvalue/shift) if show ~= '0' then exponent = #show + precision end end end local t = format_number(parms, show, exponent, isnegative) if type(show) == 'string' then -- Set singular using match because on some systems 0.99999999999999999 is 1.0. if exponent then t.singular = (exponent == 1 and show:match('^10*$')) else t.singular = (show == '1' or show:match('^1%.0*$')) end else t.fraction_table = show t.singular = (outvalue <= 1) -- cannot have 'fraction == 1', but if it were possible it would be singular end t.raw_absvalue = outvalue -- absolute value before rounding return true, setmetatable(t, { __index = function (self, key) if key == 'absvalue' then -- Calculate absolute value after rounding, if needed. local clean, exponent = rawget(self, 'clean'), rawget(self, 'exponent') local value = tonumber(clean) -- absolute value (any negative sign has been ignored) if exponent then value = value * 10^exponent end rawset(self, key, value) return value end end }) end function cvt_to_hand(parms, info, in_current, out_current) -- Convert input to hands, inches. -- Return true, t where t is a table with the conversion results; -- or return false, t where t is an error message table. if parms.abbr_org == nil then out_current.usename = true -- default is to show name not symbol end local precision = parms.precision local frac = out_current.frac if not frac and precision and precision > 1 then frac = (precision == 2) and 2 or 4 end local out_next = out_current.out_next if out_next then -- Use magic knowledge to determine whether the next unit is inches without requiring i18n. -- The following ensures that when the output combination "hand in" is used, the inches -- value is rounded to match the hands value. Also, displaying say "61½" instead of 61.5 -- is better as 61.5 implies the value is not 61.4. if out_next.exception == 'subunit_more_precision' then out_next.frac = frac end end -- Convert to inches; calculate hands from that. local dummy_unit_table = { scale = out_current.scale / 4, frac = frac } local success, outinfo = cvtround(parms, info, in_current, dummy_unit_table) if not success then return false, outinfo end local tfrac = outinfo.fraction_table local inches = outinfo.raw_absvalue if tfrac then inches = floor(inches) -- integer part only; fraction added later else inches = floor(inches + 0.5) -- a hands measurement never shows decimals of an inch end local hands, inches = divide(inches, 4) outinfo.absvalue = hands + inches/4 -- supposed to be the absolute rounded value, but this is close enough local inchstr = tostring(inches) -- '0', '1', '2' or '3' if precision and precision <= 0 then -- using negative or 0 for precision rounds to nearest hand hands = floor(outinfo.raw_absvalue/4 + 0.5) inchstr = '' elseif tfrac then -- Always show an integer before fraction (like "15.0½") because "15½" means 15-and-a-half hands. inchstr = numdot .. format_fraction(parms, 'out', false, inchstr, tfrac.numstr, tfrac.denstr) else inchstr = numdot .. from_en(inchstr) end outinfo.show = outinfo.sign .. with_separator(parms, format('%.0f', hands)) .. inchstr return true, outinfo end local function evaluate_condition(value, condition) -- Return true or false from applying a conditional expression to value, -- or throw an error if invalid. -- A very limited set of expressions is supported: -- v < 9 -- v * 9 < 9 -- where -- 'v' is replaced with value -- 9 is any number (as defined by Lua tonumber) -- only en digits are accepted -- '<' can also be '<=' or '>' or '>=' -- In addition, the following form is supported: -- LHS and RHS -- where -- LHS, RHS = any of above expressions. local function compare(value, text) local arithop, factor, compop, limit = text:match('^%s*v%s*([*]?)(.-)([<>]=?)(.*)$') if arithop == nil then error('Invalid default expression', 0) elseif arithop == '*' then factor = tonumber(factor) if factor == nil then error('Invalid default expression', 0) end value = value * factor end limit = tonumber(limit) if limit == nil then error('Invalid default expression', 0) end if compop == '<' then return value < limit elseif compop == '<=' then return value <= limit elseif compop == '>' then return value > limit elseif compop == '>=' then return value >= limit end error('Invalid default expression', 0) -- should not occur end local lhs, rhs = condition:match('^(.-%W)and(%W.*)') if lhs == nil then return compare(value, condition) end return compare(value, lhs) and compare(value, rhs) end local function get_default(value, unit_table) -- Return true, s where s = name of unit's default output unit, -- or return false, t where t is an error message table. -- Some units have a default that depends on the input value -- (the first value if a range of values is used). -- If '!' is in the default, the first bang-delimited field is an -- expression that uses 'v' to represent the input value. -- Example: 'v < 120 ! small ! big ! suffix' (suffix is optional) -- evaluates 'v < 120' as a boolean with result -- 'smallsuffix' if (value < 120), or 'bigsuffix' otherwise. -- Input must use en digits and '.' decimal mark. local default = data_code.default_exceptions[unit_table.defkey or unit_table.symbol] or unit_table.default if not default then local per = unit_table.per if per then local function a_default(v, u) local success, ucode = get_default(v, u) if not success then return '?' -- an unlikely error has occurred; will cause lookup of default to fail end -- Attempt to use only the first unit if a combination or output multiple. -- This is not bulletproof but should work for most cases. -- Where it does not work, the convert will need to specify the wanted output unit. local t = all_units[ucode] if t then local combo = t.combination if combo then -- For a multiple like ftin, the "first" unit (ft) is last in the combination. local i = t.multiple and table_len(combo) or 1 ucode = combo[i] end else -- Try for an automatically generated combination. local item = ucode:match('^(.-)%+') or ucode:match('^(%S+)%s') if all_units[item] then return item end end return ucode end local unit1, unit2 = per[1], per[2] local def1 = (unit1 and a_default(value, unit1) or unit_table.vprefix or '') local def2 = a_default(1, unit2) -- 1 because per unit of denominator return true, def1 .. '/' .. def2 end return false, { 'cvt_no_default', unit_table.symbol } end if default:find('!', 1, true) == nil then return true, default end local t = split(default, '!') if #t == 3 or #t == 4 then local success, result = pcall(evaluate_condition, value, t[1]) if success then default = result and t[2] or t[3] if #t == 4 then default = default .. t[4] end return true, default end end return false, { 'cvt_bad_default', unit_table.symbol } end local linked_pages -- to record linked pages so will not link to the same page more than once local function unlink(unit_table) -- Forget that the given unit has previously been linked (if it has). -- That is needed when processing a range of inputs or outputs when an id -- for the first range value may have been evaluated, but only an id for -- the last value is displayed, and that id may need to be linked. linked_pages[unit_table.unitcode or unit_table] = nil end local function make_link(link, id, unit_table) -- Return wikilink "[[link|id]]", possibly abbreviated as in examples: -- [[Mile|mile]] --> [[mile]] -- [[Mile|miles]] --> [[mile]]s -- However, just id is returned if: -- * no link given (so caller does not need to check if a link was defined); or -- * link has previously been used during the current convert (to avoid overlinking). local link_key if unit_table then link_key = unit_table.unitcode or unit_table else link_key = link end if not link or link == '' or linked_pages[link_key] then return id end linked_pages[link_key] = true -- Following only works for language en, but it should be safe on other wikis, -- and overhead of doing it generally does not seem worthwhile. local l = link:sub(1, 1):lower() .. link:sub(2) if link == id or l == id then return '[[' .. id .. ']]' elseif link .. 's' == id or l .. 's' == id then return '[[' .. id:sub(1, -2) .. ']]s' else return '[[' .. link .. '|' .. id .. ']]' end end local function variable_name(clean, unit_table) -- For slwiki, a unit name depends on the value. -- Parameter clean is the unsigned rounded value in en digits, as a string. -- Value Source Example for "m" -- integer 1: name1 meter (also is the name of the unit) -- integer 2: var{1} metra -- integer 3 and 4: var{2} metri -- integer else: var{3} metrov (0 and 5 or more) -- real/fraction: var{4} metra -- var{i} means the i'th field in unit_table.varname if it exists and has -- an i'th field, otherwise name2. -- Fields are separated with "!" and are not empty. -- A field for a unit using an SI prefix has the prefix name inserted, -- replacing '#' if found, or before the field otherwise. local vname if clean == '1' then vname = unit_table.name1 elseif unit_table.varname then local i if clean == '2' then i = 1 elseif clean == '3' or clean == '4' then i = 2 elseif clean:find('.', 1, true) then i = 4 else i = 3 end if i > 1 and varname == 'pl' then i = i - 1 end vname = split(unit_table.varname, '!')[i] end if vname then local si_name = rawget(unit_table, 'si_name') or '' local pos = vname:find('#', 1, true) if pos then vname = vname:sub(1, pos - 1) .. si_name .. vname:sub(pos + 1) else vname = si_name .. vname end return vname end return unit_table.name2 end local function linked_id(parms, unit_table, key_id, want_link, clean) -- Return final unit id (symbol or name), optionally with a wikilink, -- and update unit_table.sep if required. -- key_id is one of: 'symbol', 'sym_us', 'name1', 'name1_us', 'name2', 'name2_us'. local abbr_on = (key_id == 'symbol' or key_id == 'sym_us') if abbr_on and want_link then local symlink = rawget(unit_table, 'symlink') if symlink then return symlink -- for exceptions that have the linked symbol built-in end end local multiplier = rawget(unit_table, 'multiplier') local per = unit_table.per if per then local paren1, paren2 = '', '' -- possible parentheses around bottom unit local unit1 = per[1] -- top unit_table, or nil local unit2 = per[2] -- bottom unit_table if abbr_on then if not unit1 then unit_table.sep = '' -- no separator in "$2/acre" end if not want_link then local symbol = unit_table.symbol_raw if symbol then return symbol -- for exceptions that have the symbol built-in end end if (unit2.symbol):find('⋅', 1, true) then paren1, paren2 = '(', ')' end end local key_id2 -- unit2 is always singular if key_id == 'name2' then key_id2 = 'name1' elseif key_id == 'name2_us' then key_id2 = 'name1_us' else key_id2 = key_id end local result if abbr_on then result = '/' elseif omitsep then result = per_word elseif unit1 then result = ' ' .. per_word .. ' ' else result = per_word .. ' ' end if want_link and unit_table.link then if abbr_on or not varname then result = (unit1 and linked_id(parms, unit1, key_id, false, clean) or '') .. result .. linked_id(parms, unit2, key_id2, false, '1') else result = (unit1 and variable_name(clean, unit1) or '') .. result .. variable_name('1', unit2) end if omit_separator(result) then unit_table.sep = '' end return make_link(unit_table.link, result, unit_table) end if unit1 then result = linked_id(parms, unit1, key_id, want_link, clean) .. result if unit1.sep then unit_table.sep = unit1.sep end elseif omitsep then unit_table.sep = '' end return result .. paren1 .. linked_id(parms, unit2, key_id2, want_link, '1') .. paren2 end if multiplier then -- A multiplier (like "100" in "100km") forces the unit to be plural. multiplier = from_en(multiplier) if not omitsep then multiplier = multiplier .. (abbr_on and '&nbsp;' or ' ') end if not abbr_on then if key_id == 'name1' then key_id = 'name2' elseif key_id == 'name1_us' then key_id = 'name2_us' end end else multiplier = '' end local id = unit_table.fixed_name or ((varname and not abbr_on) and variable_name(clean, unit_table) or unit_table[key_id]) if omit_separator(id) then unit_table.sep = '' end if want_link then local link = data_code.link_exceptions[unit_table.linkey or unit_table.symbol] or unit_table.link if link then local before = '' local i = unit_table.customary if i == 1 and parms.opt_sp_us then i = 2 -- show "U.S." not "US" end if i == 3 and abbr_on then i = 4 -- abbreviate "imperial" to "imp" end local customary = text_code.customary_units[i] if customary then -- LATER: This works for language en only, but it's esoteric so ignore for now. local pertext if id:sub(1, 1) == '/' then -- Want unit "/USgal" to display as "/U.S. gal", not "U.S. /gal". pertext = '/' id = id:sub(2) elseif id:sub(1, 4) == 'per ' then -- Similarly want "per U.S. gallon", not "U.S. per gallon" (but in practice this is unlikely to be used). pertext = 'per ' id = id:sub(5) else pertext = '' end -- Omit any "US"/"U.S."/"imp"/"imperial" from start of id since that will be inserted. local removes = (i < 3) and { 'US&nbsp;', 'US ', 'U.S.&nbsp;', 'U.S. ' } or { 'imp&nbsp;', 'imp ', 'imperial ' } for _, prefix in ipairs(removes) do local plen = #prefix if id:sub(1, plen) == prefix then id = id:sub(plen + 1) break end end before = pertext .. make_link(customary.link, customary[1]) .. ' ' end id = before .. make_link(link, id, unit_table) end end return multiplier .. id end local function make_id(parms, which, unit_table) -- Return id, f where -- id = unit name or symbol, possibly modified -- f = true if id is a name, or false if id is a symbol -- using the value for index 'which', and for 'in' or 'out' (unit_table.inout). -- Result is '' if no symbol/name is to be used. -- In addition, set unit_table.sep = ' ' or '&nbsp;' or '' -- (the separator that caller will normally insert before the id). if parms.opt_values then unit_table.sep = '' return '' end local inout = unit_table.inout local info = unit_table.valinfo[which] local abbr_org = parms.abbr_org local adjectival = parms.opt_adjectival local lk = parms.lk local want_link = (lk == 'on' or lk == inout) local usename = unit_table.usename local singular = info.singular local want_name if usename then want_name = true else if abbr_org == nil then if parms.wantname then want_name = true end if unit_table.usesymbol then want_name = false end end if want_name == nil then local abbr = parms.abbr if abbr == 'on' or abbr == inout or (abbr == 'mos' and inout == 'out') then want_name = false else want_name = true end end end local key if want_name then if lk == nil and unit_table.builtin == 'hand' then want_link = true end if parms.opt_use_nbsp then unit_table.sep = '&nbsp;' else unit_table.sep = ' ' end if parms.opt_singular then local value if inout == 'in' then value = info.value else value = info.absvalue end if value then -- some unusual units do not always set value field value = abs(value) singular = (0 < value and value < 1.0001) end end if unit_table.engscale then -- engscale: so "|1|e3kg" gives "1 thousand kilograms" (plural) singular = false end key = (adjectival or singular) and 'name1' or 'name2' if parms.opt_sp_us then key = key .. '_us' end else if unit_table.builtin == 'hand' then if parms.opt_hand_hh then unit_table.symbol = 'hh' -- LATER: might want i18n applied to this end end unit_table.sep = '&nbsp;' key = parms.opt_sp_us and 'sym_us' or 'symbol' end return linked_id(parms, unit_table, key, want_link, info.clean), want_name end local function decorate_value(parms, unit_table, which, number_word) -- If needed, update unit_table so values will be shown with extra information. -- For consistency with the old template (but different from fmtpower), -- the style to display powers of 10 includes "display:none" to allow some -- browsers to copy, for example, "10³" as "10^3", rather than as "103". local info local engscale = unit_table.engscale local prefix = unit_table.vprefix if engscale or prefix then info = unit_table.valinfo[which] if info.decorated then return -- do not redecorate if repeating convert end info.decorated = true if engscale then local inout = unit_table.inout local abbr = parms.abbr if (abbr == 'on' or abbr == inout) and not parms.number_word then info.show = info.show .. '<span style="margin-left:0.2em">×<span style="margin-left:0.1em">' .. from_en('10') .. '</span></span><s style="display:none">^</s><sup>' .. from_en(tostring(engscale.exponent)) .. '</sup>' elseif number_word then local number_id local lk = parms.lk if lk == 'on' or lk == inout then number_id = make_link(engscale.link, engscale[1]) else number_id = engscale[1] end -- WP:NUMERAL recommends "&nbsp;" in values like "12 million". info.show = info.show .. (parms.opt_adjectival and '-' or '&nbsp;') .. number_id end end if prefix then info.show = prefix .. info.show end end end local function process_input(parms, in_current) -- Processing required once per conversion. -- Return block of text to represent input (value/unit). if parms.opt_output_only or parms.opt_output_number_only or parms.opt_output_unit_only then parms.joins = { '', '' } return '' end local first_unit local composite = in_current.composite -- nil or table of units if composite then first_unit = composite[1] else first_unit = in_current end local id1, want_name = make_id(parms, 1, first_unit) local sep = first_unit.sep -- separator between value and unit, set by make_id local preunit = parms.preunit1 if preunit then sep = '' -- any separator is included in preunit else preunit = '' end if parms.opt_input_unit_only then parms.joins = { '', '' } if composite then local parts = { id1 } for i, unit in ipairs(composite) do if i > 1 then table.insert(parts, (make_id(parms, 1, unit))) end end id1 = table.concat(parts, ' ') end if want_name and parms.opt_adjectival then return preunit .. hyphenated(id1) end return preunit .. id1 end if parms.opt_also_symbol and not composite and not parms.opt_flip then local join1 = parms.joins[1] if join1 == ' (' or join1 == ' [' then parms.joins = { ' [' .. first_unit[parms.opt_sp_us and 'sym_us' or 'symbol'] .. ']' .. join1 , parms.joins[2] } end end if in_current.builtin == 'mach' and first_unit.sep ~= '' then -- '' means omitsep with non-enwiki name local prefix = id1 .. '&nbsp;' local range = parms.range local valinfo = first_unit.valinfo local result = prefix .. valinfo[1].show if range then -- For simplicity and because more not needed, handle one range item only. local prefix2 = make_id(parms, 2, first_unit) .. '&nbsp;' result = range_text(range[1], want_name, parms, result, prefix2 .. valinfo[2].show, 'in') end return preunit .. result end if composite then -- Simplify: assume there is no range, and no decoration. local mid = (not parms.opt_flip) and parms.mid or '' local sep1 = '&nbsp;' local sep2 = ' ' if parms.opt_adjectival and want_name then sep1 = '-' sep2 = '-' end if omitsep and sep == '' then -- Testing the id of the most significant unit should be sufficient. sep1 = '' sep2 = '' end local parts = { first_unit.valinfo[1].show .. sep1 .. id1 } for i, unit in ipairs(composite) do if i > 1 then table.insert(parts, unit.valinfo[1].show .. sep1 .. (make_id(parms, 1, unit))) end end return table.concat(parts, sep2) .. mid end local add_unit = (parms.abbr == 'mos') or parms[parms.opt_flip and 'out_range_x' or 'in_range_x'] or (not want_name and parms.abbr_range_x) local range = parms.range if range and not add_unit then unlink(first_unit) end local id = range and make_id(parms, range.n + 1, first_unit) or id1 local extra, was_hyphenated = hyphenated_maybe(parms, want_name, sep, id, 'in') if was_hyphenated then add_unit = false end local result local valinfo = first_unit.valinfo if range then for i = 0, range.n do local number_word if i == range.n then add_unit = false number_word = true end decorate_value(parms, first_unit, i+1, number_word) local show = valinfo[i+1].show if add_unit then show = show .. first_unit.sep .. (i == 0 and id1 or make_id(parms, i+1, first_unit)) end if i == 0 then result = show else result = range_text(range[i], want_name, parms, result, show, 'in') end end else decorate_value(parms, first_unit, 1, true) result = valinfo[1].show end return result .. preunit .. extra end local function process_one_output(parms, out_current) -- Processing required for each output unit. -- Return block of text to represent output (value/unit). local inout = out_current.inout -- normally 'out' but can be 'in' for order=out local id1, want_name = make_id(parms, 1, out_current) local sep = out_current.sep -- set by make_id local preunit = parms.preunit2 if preunit then sep = '' -- any separator is included in preunit else preunit = '' end if parms.opt_output_unit_only then if want_name and parms.opt_adjectival then return preunit .. hyphenated(id1) end return preunit .. id1 end if out_current.builtin == 'mach' and out_current.sep ~= '' then -- '' means omitsep with non-enwiki name local prefix = id1 .. '&nbsp;' local range = parms.range local valinfo = out_current.valinfo local result = prefix .. valinfo[1].show if range then -- For simplicity and because more not needed, handle one range item only. result = range_text(range[1], want_name, parms, result, prefix .. valinfo[2].show, inout) end return preunit .. result end local add_unit = (parms[parms.opt_flip and 'in_range_x' or 'out_range_x'] or (not want_name and parms.abbr_range_x)) and not parms.opt_output_number_only local range = parms.range if range and not add_unit then unlink(out_current) end local id = range and make_id(parms, range.n + 1, out_current) or id1 local extra, was_hyphenated = hyphenated_maybe(parms, want_name, sep, id, inout) if was_hyphenated then add_unit = false end local result local valinfo = out_current.valinfo if range then for i = 0, range.n do local number_word if i == range.n then add_unit = false number_word = true end decorate_value(parms, out_current, i+1, number_word) local show = valinfo[i+1].show if add_unit then show = show .. out_current.sep .. (i == 0 and id1 or make_id(parms, i+1, out_current)) end if i == 0 then result = show else result = range_text(range[i], want_name, parms, result, show, inout) end end else decorate_value(parms, out_current, 1, true) result = valinfo[1].show end if parms.opt_output_number_only then return result end return result .. preunit .. extra end local function make_output_single(parms, in_unit_table, out_unit_table) -- Return true, item where item = wikitext of the conversion result -- for a single output (which is not a combination or a multiple); -- or return false, t where t is an error message table. if parms.opt_order_out and in_unit_table.unitcode == out_unit_table.unitcode then out_unit_table.valinfo = in_unit_table.valinfo else out_unit_table.valinfo = collection() for _, v in ipairs(in_unit_table.valinfo) do local success, info = cvtround(parms, v, in_unit_table, out_unit_table) if not success then return false, info end out_unit_table.valinfo:add(info) end end return true, process_one_output(parms, out_unit_table) end local function make_output_multiple(parms, in_unit_table, out_unit_table) -- Return true, item where item = wikitext of the conversion result -- for an output which is a multiple (like 'ftin'); -- or return false, t where t is an error message table. local inout = out_unit_table.inout -- normally 'out' but can be 'in' for order=out local multiple = out_unit_table.multiple -- table of scaling factors (will not be nil) local combos = out_unit_table.combination -- table of unit tables (will not be nil) local abbr = parms.abbr local abbr_org = parms.abbr_org local disp = parms.disp local want_name = (abbr_org == nil and (disp == 'or' or disp == 'slash')) or not (abbr == 'on' or abbr == inout or abbr == 'mos') local want_link = (parms.lk == 'on' or parms.lk == inout) local mid = parms.opt_flip and parms.mid or '' local sep1 = '&nbsp;' local sep2 = ' ' if parms.opt_adjectival and want_name then sep1 = '-' sep2 = '-' end local do_spell = parms.opt_spell_out parms.opt_spell_out = nil -- so the call to cvtround does not spell the value local function make_result(info, isfirst) local fmt, outvalue, sign local results = {} for i = 1, #combos do local tfrac, thisvalue, strforce local out_current = combos[i] out_current.inout = inout local scale = multiple[i] if i == 1 then -- least significant unit ('in' from 'ftin') local decimals out_current.frac = out_unit_table.frac local success, outinfo = cvtround(parms, info, in_unit_table, out_current) if not success then return false, outinfo end if isfirst then out_unit_table.valinfo = { outinfo } -- in case output value of first least significant unit is needed end sign = outinfo.sign tfrac = outinfo.fraction_table if outinfo.is_scientific then strforce = outinfo.show decimals = '' elseif tfrac then decimals = '' else local show = outinfo.show -- number as a string in local language local p1, p2 = show:find(numdot, 1, true) decimals = p1 and show:sub(p2 + 1) or '' -- text after numdot, if any end fmt = '%.' .. ulen(decimals) .. 'f' -- to reproduce precision if decimals == '' then if tfrac then outvalue = floor(outinfo.raw_absvalue) -- integer part only; fraction added later else outvalue = floor(outinfo.raw_absvalue + 0.5) -- keep all integer digits of least significant unit end else outvalue = outinfo.absvalue end end if scale then outvalue, thisvalue = divide(outvalue, scale) else thisvalue = outvalue end local id if want_name then if varname then local clean if strforce or tfrac then clean = '.1' -- dummy value to force name for floating point else clean = format(fmt, thisvalue) end id = variable_name(clean, out_current) else local key = 'name2' if parms.opt_adjectival then key = 'name1' elseif tfrac then if thisvalue == 0 then key = 'name1' end elseif parms.opt_singular then if 0 < thisvalue and thisvalue < 1.0001 then key = 'name1' end else if thisvalue == 1 then key = 'name1' end end id = out_current[key] end else id = out_current['symbol'] end if i == 1 and omit_separator(id) then -- Testing the id of the least significant unit should be sufficient. sep1 = '' sep2 = '' end if want_link then local link = out_current.link if link then id = make_link(link, id, out_current) end end local strval local spell_inout = (i == #combos or outvalue == 0) and inout or '' -- trick so the last value processed (first displayed) has uppercase, if requested if strforce and outvalue == 0 then sign = '' -- any sign is in strforce strval = strforce -- show small values in scientific notation; will only use least significant unit elseif tfrac then local wholestr = (thisvalue > 0) and tostring(thisvalue) or nil strval = format_fraction(parms, spell_inout, false, wholestr, tfrac.numstr, tfrac.denstr, do_spell) else strval = (thisvalue == 0) and from_en('0') or with_separator(parms, format(fmt, thisvalue)) if do_spell then strval = spell_number(parms, spell_inout, strval) or strval end end table.insert(results, strval .. sep1 .. id) if outvalue == 0 then break end fmt = '%.0f' -- only least significant unit can have a non-integral value end local reversed, count = {}, #results for i = 1, count do reversed[i] = results[count + 1 - i] end return true, sign .. table.concat(reversed, sep2) end local valinfo = in_unit_table.valinfo local success, result = make_result(valinfo[1], true) if not success then return false, result end local range = parms.range if range then for i = 1, range.n do local success, result2 = make_result(valinfo[i+1]) if not success then return false, result2 end result = range_text(range[i], want_name, parms, result, result2, inout) end end return true, result .. mid end local function process(parms, in_unit_table, out_unit_table) -- Return true, s, outunit where s = final wikitext result, -- or return false, t where t is an error message table. linked_pages = {} local success, bad_output local bad_input_mcode = in_unit_table.bad_mcode -- nil if input unit is a valid convert unit local out_unit = parms.out_unit if out_unit == nil or out_unit == '' or type(out_unit) == 'function' then if bad_input_mcode or parms.opt_input_unit_only then bad_output = '' else local getdef = type(out_unit) == 'function' and out_unit or get_default success, out_unit = getdef(in_unit_table.valinfo[1].value, in_unit_table) parms.out_unit = out_unit if not success then bad_output = out_unit end end end if not bad_output and not out_unit_table then success, out_unit_table = lookup(parms, out_unit, 'any_combination') if success then local mismatch = check_mismatch(in_unit_table, out_unit_table) if mismatch then bad_output = mismatch end else bad_output = out_unit_table end end local lhs, rhs local flipped = parms.opt_flip and not bad_input_mcode if bad_output then rhs = (bad_output == '') and '' or message(parms, bad_output) elseif parms.opt_input_unit_only then rhs = '' else local combos -- nil (for 'ft' or 'ftin'), or table of unit tables (for 'm ft') if not out_unit_table.multiple then -- nil/false ('ft' or 'm ft'), or table of factors ('ftin') combos = out_unit_table.combination end local frac = parms.frac -- nil or denominator of fraction for output values if frac then -- Apply fraction to the unit (if only one), or to non-SI units (if a combination), -- except that if a precision is also specified, the fraction only applies to -- the hand unit; that allows the following result: -- {{convert|156|cm|in hand|1|frac=2}} → 156 centimetres (61.4 in; 15.1½ hands) -- However, the following is handled elsewhere as a special case: -- {{convert|156|cm|hand in|1|frac=2}} → 156 centimetres (15.1½ hands; 61½ in) if combos then local precision = parms.precision for _, unit in ipairs(combos) do if unit.builtin == 'hand' or (not precision and not unit.prefixes) then unit.frac = frac end end else out_unit_table.frac = frac end end local outputs = {} local imax = combos and #combos or 1 -- 1 (single unit) or number of unit tables if imax == 1 then parms.opt_order_out = nil -- only useful with an output combination end if not flipped and not parms.opt_order_out then -- Process left side first so any duplicate links (from lk=on) are suppressed -- on right. Example: {{convert|28|e9pc|e9ly|abbr=off|lk=on}} lhs = process_input(parms, in_unit_table) end for i = 1, imax do local success, item local out_current = combos and combos[i] or out_unit_table out_current.inout = 'out' if i == 1 then if imax > 1 and out_current.builtin == 'hand' then out_current.out_next = combos[2] -- built-in hand can influence next unit in a combination end if parms.opt_order_out then out_current.inout = 'in' end end if out_current.multiple then success, item = make_output_multiple(parms, in_unit_table, out_current) else success, item = make_output_single(parms, in_unit_table, out_current) end if not success then return false, item end outputs[i] = item end if parms.opt_order_out then lhs = outputs[1] table.remove(outputs, 1) end local sep = parms.table_joins and parms.table_joins[2] or parms.join_between rhs = table.concat(outputs, sep) end if flipped or not lhs then local input = process_input(parms, in_unit_table) if flipped then lhs = rhs rhs = input else lhs = input end end if parms.join_before then lhs = parms.join_before .. lhs end local wikitext if bad_input_mcode then if bad_input_mcode == '' then wikitext = lhs else wikitext = lhs .. message(parms, bad_input_mcode) end elseif parms.table_joins then wikitext = parms.table_joins[1] .. lhs .. parms.table_joins[2] .. rhs else wikitext = lhs .. parms.joins[1] .. rhs .. parms.joins[2] end if parms.warnings and not bad_input_mcode then wikitext = wikitext .. parms.warnings end return true, wikitext, out_unit_table end local function main_convert(frame) -- Do convert, and if needed, do it again with higher default precision. local parms = { frame = frame } -- will hold template arguments, after translation set_config(frame.args) local success, result = get_parms(parms, frame:getParent().args) if success then if type(result) ~= 'table' then return tostring(result) end local in_unit_table = result local out_unit_table for _ = 1, 2 do -- use counter so cannot get stuck repeating convert success, result, out_unit_table = process(parms, in_unit_table, out_unit_table) if success and parms.do_convert_again then parms.do_convert_again = false else break end end end -- If input=x gives a problem, the result should be just the user input -- (if x is a property like P123 it has been replaced with ''). -- An unknown input unit would display the input and an error message -- with success == true at this point. -- Also, can have success == false with a message that outputs an empty string. if parms.input_text then if success and not parms.have_problem then return result end local cat if parms.tracking then -- Add a tracking category using the given text as the category sort key. -- There is currently only one type of tracking, but in principle multiple -- items could be tracked, using different sort keys for convenience. cat = wanted_category('tracking', parms.tracking) end return parms.input_text .. (cat or '') end return success and result or message(parms, result) end local function _unit(unitcode, options) -- Helper function for Module:Val to look up a unit. -- Parameter unitcode must be a string to identify the wanted unit. -- Parameter options must be nil or a table with optional fields: -- value = number (for sort key; default value is 1) -- scaled_top = nil for a normal unit, or a number for a unit which is -- the denominator of a per unit (for sort key) -- si = { 'symbol', 'link' } -- (a table with two strings) to make an SI unit -- that will be used for the look up -- link = true if result should be [[linked]] -- sort = 'on' or 'debug' if result should include a sort key in a -- span element ('debug' makes the key visible) -- name = true for the name of the unit instead of the symbol -- us = true for the US spelling of the unit, if any -- Return nil if unitcode is not a non-empty string. -- Otherwise return a table with fields: -- text = requested symbol or name of unit, optionally linked -- scaled_value = input value adjusted by unit scale; used for sort key -- sortspan = span element with sort key like that provided by {{ntsh}}, -- calculated from the result of converting value -- to a base unit with scale 1. -- unknown = true if the unitcode was not known unitcode = strip(unitcode) if unitcode == nil or unitcode == '' then return nil end set_config({}) linked_pages = {} options = options or {} local parms = { abbr = options.name and 'off' or 'on', lk = options.link and 'on' or nil, opt_sp_us = options.us and true or nil, opt_ignore_error = true, -- do not add pages using this function to 'what links here' for Module:Convert/extra opt_sortable_on = options.sort == 'on' or options.sort == 'debug', opt_sortable_debug = options.sort == 'debug', } if options.si then -- Make a dummy table of units (just one unit) for lookup to use. -- This makes lookup recognize any SI prefix in the unitcode. local symbol = options.si[1] or '?' parms.unittable = { [symbol] = { _name1 = symbol, _name2 = symbol, _symbol = symbol, utype = symbol, scale = symbol == 'g' and 0.001 or 1, prefixes = 1, default = symbol, link = options.si[2], }} end local success, unit_table = lookup(parms, unitcode, 'no_combination') if not success then unit_table = setmetatable({ symbol = unitcode, name2 = unitcode, utype = unitcode, scale = 1, default = '', defkey = '', linkey = '' }, unit_mt) end local value = tonumber(options.value) or 1 local clean = tostring(abs(value)) local info = { value = value, altvalue = value, singular = (clean == '1'), clean = clean, show = clean, } unit_table.inout = 'in' unit_table.valinfo = { info } local sortspan, scaled_value if options.sort then sortspan, scaled_value = make_table_or_sort(parms, value, info, unit_table, options.scaled_top) end return { text = make_id(parms, 1, unit_table), sortspan = sortspan, scaled_value = scaled_value, unknown = not success and true or nil, } end return { convert = main_convert, _unit = _unit } rpuanoknhx2zl3fz1qtuepzi19bh9t7 Module:ConvertNumeric 828 3479 36694 2025-12-15T22:16:30Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Module for converting between different representations of numbers. See talk page for user documentation. -- For unit tests see: [[Module:ConvertNumeric/testcases]] -- When editing, preview with: Module_talk:ConvertNumeric/testcases -- First edit [[Module:ConvertNumeric/sandbox]] and preview with Module_talk:ConvertNumeric/sandbox/testcases local ones_position = { [0] = 'μηδέν', [1] = 'ένα', [2] = 'δύο', [3] = 'τρία', [4] =...' 36694 Scribunto text/plain -- Module for converting between different representations of numbers. See talk page for user documentation. -- For unit tests see: [[Module:ConvertNumeric/testcases]] -- When editing, preview with: Module_talk:ConvertNumeric/testcases -- First edit [[Module:ConvertNumeric/sandbox]] and preview with Module_talk:ConvertNumeric/sandbox/testcases local ones_position = { [0] = 'μηδέν', [1] = 'ένα', [2] = 'δύο', [3] = 'τρία', [4] = 'τέσσερα', [5] = 'πέντε', [6] = 'έξι', [7] = 'επτά', [8] = 'οκτώ', [9] = 'εννέα', [10] = 'δέκα', [11] = 'έντεκα', [12] = 'δώδεκα', [13] = 'δεκατρία', [14] = 'δεκατέσσερα', [15] = 'δεκαπέντε', [16] = 'δεκαέξι', [17] = 'δεκαεπτά', [18] = 'δεκαοκτώ', [19] = 'δεκαεννέα' } local ones_position_ord = { [0] = 'ουδένα', [1] = 'πρώτο', [2] = 'δεύτερο', [3] = 'τρίτο', [4] = 'τέταρτο', [5] = 'πέμπτο', [6] = 'έκτο', [7] = 'έβδομο', [8] = 'όγδοο', [9] = 'ένατο', [10] = 'δέκατο', [11] = 'εντέκατο', [12] = 'δωδέκατο', [13] = 'δεκατοτρίτο', [14] = 'δεκατοτέταρτο', [15] = 'δεκατοπέμπτο', [16] = 'δεκατοέκτο', [17] = 'δεκατοέβδομο', [18] = 'δεκατοόγδοο', [19] = 'δεκατοένατο' } local ones_position_plural = { [0] = 'μηδενικά', [1] = 'άσοι', [2] = 'δυάρια', [3] = 'τριάρια', [4] = 'τεσσάρια', [5] = 'πεντάρια', [6] = 'εξάρια', [7] = 'επτάρια', [8] = 'οκτάρια', [9] = 'εννιάρια', [10] = 'δεκάρια', [11] = 'εντεκάρια', [12] = 'δωδεκάρια', [13] = 'δεκατριάρια', [14] = 'δεκατεσσάρια', [15] = 'δεκαπεντάρια', [16] = 'δεκαεξάρια', [17] = 'δεκαεπτάρια', [18] = 'δεκαοκτάρια', [19] = 'δεκαεννιάρια' } local tens_position = { [2] = 'εικοσι', [3] = 'τριαντα', [4] = 'σαραντα', [5] = 'πενηντα', [6] = 'εξηντα', [7] = 'εβδομηντα', [8] = 'ογδοντα', [9] = 'ενενηντα' } local tens_position_ord = { [2] = 'εικοστό', [3] = 'τριακοστό', [4] = 'τεσσαρακοστό', [5] = 'πεντηκοστό', [6] = 'εξηκοστό', [7] = 'εβδομηκοστό', [8] = 'ογδοηκοστό', [9] = 'ενενηκοστό' } local tens_position_plural = { [2] = 'twenties', [3] = 'thirties', [4] = 'forties', [5] = 'fifties', [6] = 'sixties', [7] = 'seventies', [8] = 'eighties', [9] = 'nineties' } local groups = { [1] = 'χίλια', [2] = 'εκατομμύριο', [3] = 'δισεκατομμύριο', [4] = 'τρισεκατομμύριο', [5] = 'τετράκις εκατομμύριο', [6] = 'πεντάκις εκατομμύριο', [7] = 'εξάκις εκατομμύριο', [8] = 'επτάκις εκατομμύριο', [9] = 'οκτάκις εκατομμύριο', [10] = 'εννεάκις εκατομμύριο', [11] = 'δεκάκις εκατομμύριο', [12] = 'εντεκάκις εκατομμύριο', [13] = 'δωδεκάκις εκατομμύριο', [14] = 'δεκατριάκις εκατομμύριο', [15] = 'δεκατεσσεράκις εκατομμύριο', [16] = 'δεκαπεντάκις εκατομμύριο', [17] = 'δεκαεξάκις εκατομμύριο', [18] = 'δεκαεπτάκις εκατομμύριο', [19] = 'δεκαοκτάκις εκατομμύριο', [20] = 'δεκαεννεάκις εκατομμύριο', [21] = 'εικοσάκις εκατομμύριο', [22] = 'εικοσιδυάκις εκατομμύριο', [23] = 'εικοσιτριάκις εκατομμύριο', [24] = 'εικοσιτεσσεράκις εκατομμύριο', [25] = 'εικοσιπεντάκις εκατομμύριο', [26] = 'εικοσιεξάκις εκατομμύριο', [27] = 'εικοσιεπτάκις εκατομμύριο', [28] = 'εικοσιοκτάκις εκατομμύριο', [29] = 'εικοσιεννεάκις εκατομμύριο', [30] = 'τριαντάκις εκατομμύριο', [31] = 'τριανταενάκις εκατομμύριο', [32] = 'τριανταδυάκις εκατομμύριο', [33] = 'τριαντατριάκις εκατομμύριο', [34] = 'τριαντατεσσεράκις εκατομμύριο', [35] = 'τριανταπεντάκις εκατομμύριο', [36] = 'τριανταεξάκις εκατομμύριο', [37] = 'τριανταεπτάκις εκατομμύριο', [38] = 'τριανταοκτάκις εκατομμύριο', [39] = 'τριανταεννεάκις εκατομμύριο', [40] = 'σαραντάκις εκατομμύριο', [41] = 'σαρανταενάκις εκατομμύριο', [51] = 'πενηνταενάκις εκατομμύριο', [61] = 'εξηνταενάκις εκατομμύριο', [71] = 'εβδομηνταενάκις εκατομμύριο', [81] = 'ογδονταενάκις εκατομμύριο', [91] = 'ενενηνταενάκις εκατομμύριο', [101] = 'εκατονενάκις εκατομμύριο', [102] = 'εκατονδυάκις εκατομμύριο', [103] = 'εκατοντριάκις εκατομμύριο', [104] = 'εκατοντεσσεράκις εκατομμύριο', [111] = 'εκατονεντεκάκις εκατομμύριο', [112] = 'εκατονδωδεκάκις εκατομμύριο', [121] = 'εκατονεικοσιενάκις εκατομμύριο', [122] = 'εκατονεικοσιδυάκις εκατομμύριο', [131] = 'εκατοντριανταενάκις εκατομμύριο', [141] = 'εκατονσαρανταενάκις εκατομμύριο', [151] = 'εκατονπενηνταενάκις εκατομμύριο', [161] = 'εκατονεξηνταενάκις εκατομμύριο', [171] = 'εκατονεβδομηνταενάκις εκατομμύριο', [181] = 'εκατονογδονταενάκις εκατομμύριο', [191] = 'εκατονενενηνταενάκις εκατομμύριο', [201] = 'διακοσιαεναενάκις εκατομμύριο', [301] = 'τριακοσιαενάκις εκατομμύριο', [401] = 'τετρακοσιαενάκις εκατομμύριο', [501] = 'πεντακοσιαενάκις εκατομμύριο', [601] = 'εξακοσιαενάκις εκατομμύριο', [701] = 'επτακοσιαενάκις εκατομμύριο', [801] = 'οκτακοσιαενάκις εκατομμύριο', [901] = 'εννιακοσιαενάκις εκατομμύριο', [1001] = 'μυριοεκατομμύριο', } local roman_numerals = { I = 1, V = 5, X = 10, L = 50, C = 100, D = 500, M = 1000 } -- Η μετατροπή σε ελληνικούς αριθμούς είναι στο Module:Greek -- (To Module:Roman είναι πιο αξιόπιστο) Converts a given valid roman numeral (and some invalid roman numerals) to a number. Returns -1, errorstring on error local function roman_to_numeral(roman) if type(roman) ~= "string" then return -1, "roman numeral not a string" end local rev = roman:reverse() local raising = true local last = 0 local result = 0 for i = 1, #rev do local c = rev:sub(i, i) local next = roman_numerals[c] if next == nil then return -1, "roman numeral contains illegal character " .. c end if next > last then result = result + next raising = true elseif next < last then result = result - next raising = false elseif raising then result = result + next else result = result - next end last = next end return result end -- Converts a given integer between 0 and 100 to English text (e.g. 47 -> forty-seven) local function numeral_to_english_less_100(num, ordinal, plural, zero) local terminal_ones, terminal_tens if ordinal then terminal_ones = ones_position_ord terminal_tens = tens_position_ord elseif plural then terminal_ones = ones_position_plural terminal_tens = tens_position_plural else terminal_ones = ones_position terminal_tens = tens_position end if num == 0 and zero ~= nil then return zero elseif num < 20 then return terminal_ones[num] elseif num % 10 == 0 then return terminal_tens[num / 10] else return tens_position[math.floor(num / 10)] .. '-' .. terminal_ones[num % 10] end end local function standard_suffix(ordinal, plural) if ordinal then return 'ο' end if plural then return 'α' end return '' end -- Converts a given integer (in string form) between 0 and 1000 to English text (e.g. 47 -> forty-seven) local function numeral_to_english_less_1000(num, use_and, ordinal, plural, zero) num = tonumber(num) if num < 100 then return numeral_to_english_less_100(num, ordinal, plural, zero) elseif num % 100 == 0 then return ' εκατο' .. standard_suffix(ordinal, plural) else return ' εκατόν ' .. (use_and and 'και ' or '') .. numeral_to_english_less_100(num % 100, ordinal, plural, zero) end end -- Converts a number expressed as a string in scientific notation to a string in standard decimal notation -- e.g. 1.23E5 -> 123000, 1.23E-5 = .0000123. Conversion is exact, no rounding is performed. local function scientific_notation_to_decimal(num) local exponent, subs = num:gsub("^%-?%d*%.?%d*%-?[Ee]([+%-]?%d+)$", "%1") if subs == 0 then return num end -- Input not in scientific notation, just return unmodified exponent = tonumber(exponent) local negative = num:find("^%-") local _, decimal_pos = num:find("%.") -- Mantissa will consist of all decimal digits with no decimal point local mantissa = num:gsub("^%-?(%d*)%.?(%d*)%-?[Ee][+%-]?%d+$", "%1%2") if negative and decimal_pos then decimal_pos = decimal_pos - 1 end if not decimal_pos then decimal_pos = #mantissa + 1 end local prev_len = #num -- Remove leading zeros unless decimal point is in first position while decimal_pos > 1 and mantissa:sub(1,1) == '0' do mantissa = mantissa:sub(2) decimal_pos = decimal_pos - 1 end -- Shift decimal point right for exponent > 0 while exponent > 0 do decimal_pos = decimal_pos + 1 exponent = exponent - 1 if decimal_pos > #mantissa + 1 then mantissa = mantissa .. '0' end -- Remove leading zeros unless decimal point is in first position while decimal_pos > 1 and mantissa:sub(1,1) == '0' do mantissa = mantissa:sub(2) decimal_pos = decimal_pos - 1 end end -- Shift decimal point left for exponent < 0 while exponent < 0 do if decimal_pos == 1 then mantissa = '0' .. mantissa else decimal_pos = decimal_pos - 1 end exponent = exponent + 1 end -- Insert decimal point in correct position and return return (negative and '-' or '') .. mantissa:sub(1, decimal_pos - 1) .. '.' .. mantissa:sub(decimal_pos) end -- Rounds a number to the nearest integer (NOT USED) local function round_num(x) if x%1 >= 0.5 then return math.ceil(x) else return math.floor(x) end end -- Rounds a number to the nearest two-word number (round = up, down, or "on" for round to nearest) -- Numbers with two digits before the decimal will be rounded to an integer as specified by round. -- Larger numbers will be rounded to a number with only one nonzero digit in front and all other digits zero. -- Negative sign is preserved and does not count towards word limit. local function round_for_english(num, round) -- If an integer with at most two digits, just return if num:find("^%-?%d?%d%.?$") then return num end local negative = num:find("^%-") if negative then -- We're rounding magnitude so flip it if round == 'up' then round = 'down' elseif round == 'down' then round = 'up' end end -- If at most two digits before decimal, round to integer and return local _, _, small_int, trailing_digits, round_digit = num:find("^%-?(%d?%d?)%.((%d)%d*)$") if small_int then local small_int_len = #small_int if small_int == '' then small_int = '0' end if (round == 'up' and trailing_digits:find('[1-9]')) or (round == 'on' and tonumber(round_digit) >= 5) then small_int = tostring(tonumber(small_int) + 1) end return (negative and '-' or '') .. small_int end -- When rounding up, any number with > 1 nonzero digit will round up (e.g. 1000000.001 rounds up to 2000000) local nonzero_digits = 0 for digit in num:gfind("[1-9]") do nonzero_digits = nonzero_digits + 1 end num = num:gsub("%.%d*$", "") -- Remove decimal part -- Second digit used to determine which way to round lead digit local _, _, lead_digit, round_digit, round_digit_2, rest = num:find("^%-?(%d)(%d)(%d)(%d*)$") if tonumber(lead_digit .. round_digit) < 20 and (1 + #rest) % 3 == 0 then -- In English numbers < 20 are one word so put 2 digits in lead and round based on 3rd lead_digit = lead_digit .. round_digit round_digit = round_digit_2 else rest = round_digit_2 .. rest end if (round == 'up' and nonzero_digits > 1) or (round == 'on' and tonumber(round_digit) >= 5) then lead_digit = tostring(tonumber(lead_digit) + 1) end -- All digits but lead digit will turn to zero rest = rest:gsub("%d", "0") return (negative and '-' or '') .. lead_digit .. '0' .. rest end local denominators = { [2] = { 'μισό', plural = 'μισά' }, [3] = { 'τρίτο' }, [4] = { 'τέταρτο', us = 'τέταρτο' }, [5] = { 'πέμπτο' }, [6] = { 'έκτο' }, [8] = { 'όγδοο' }, [9] = { 'ένατο' }, [10] = { 'δέκατο' }, [16] = { 'δεκατοέκτο' }, } -- Return status, fraction where: -- status is a string: -- "finished" if there is a fraction with no whole number; -- "ok" if fraction is empty or valid; -- "unsupported" if bad fraction; -- fraction is a string giving (numerator / denominator) as English text, or is "". -- Only unsigned fractions with a very limited range of values are supported, -- except that if whole is empty, the numerator can use "-" to indicate negative. -- whole (string or nil): nil or "" if no number before the fraction -- numerator (string or nil): numerator, if any (default = 1 if a denominator is given) -- denominator (string or nil): denominator, if any -- sp_us (boolean): true if sp=us -- negative_word (string): word to use for negative sign, if whole is empty -- use_one (boolean): false: 2+1/2 → "two and a half"; true: "two and one-half" local function fraction_to_english(whole, numerator, denominator, sp_us, negative_word, use_one) if numerator or denominator then local finished = (whole == nil or whole == '') local sign = '' if numerator then if finished and numerator:sub(1, 1) == '-' then numerator = numerator:sub(2) sign = negative_word .. ' ' end else numerator = '1' end if not numerator:match('^%d+$') or not denominator or not denominator:match('^%d+$') then return 'unsupported', '' end numerator = tonumber(numerator) denominator = tonumber(denominator) local dendata = denominators[denominator] if not (dendata and 1 <= numerator and numerator <= 99) then return 'unsupported', '' end local numstr, denstr local sep = '-' if numerator == 1 then denstr = sp_us and dendata.us or dendata[1] if finished or use_one then numstr = 'one' elseif denstr:match('^[aeiou]') then numstr = 'an' sep = ' ' else numstr = 'a' sep = ' ' end else numstr = numeral_to_english_less_100(numerator) denstr = dendata.plural if not denstr then denstr = (sp_us and dendata.us or dendata[1]) .. 's' end end if finished then return 'finished', sign .. numstr .. sep .. denstr end return 'ok', ' and ' .. numstr .. sep .. denstr end return 'ok', '' end -- Takes a decimal number and converts it to English text. -- Return nil if a fraction cannot be converted (only some numbers are supported for fractions). -- num (string or nil): the number to convert. -- Can be an arbitrarily large decimal, such as "-123456789123456789.345", and -- can use scientific notation (e.g. "1.23E5"). -- May fail for very large numbers not listed in "groups" such as "1E4000". -- num is nil if there is no whole number before a fraction. -- numerator (string or nil): numerator of fraction (nil if no fraction) -- denominator (string or nil): denominator of fraction (nil if no fraction) -- capitalize (boolean): whether to capitalize the result (e.g. 'One' instead of 'one') -- use_and (boolean): whether to use the word 'and' between tens/ones place and higher places -- hyphenate (boolean): whether to hyphenate all words in the result, useful for use as an adjective -- ordinal (boolean): whether to produce an ordinal (e.g. 'first' instead of 'one') -- plural (boolean): whether to pluralize the resulting number -- links: nil: do not add any links; 'on': link "billion" and larger to Orders of magnitude article; -- any other text: list of numbers to link (e.g. "billion,quadrillion") -- negative_word: word to use for negative sign (typically 'negative' or 'minus'; nil to use default) -- round: nil or '': no rounding; 'on': round to nearest two-word number; 'up'/'down': round up/down to two-word number -- zero: word to use for value '0' (nil to use default) -- use_one (boolean): false: 2+1/2 → "two and a half"; true: "two and one-half" local function _numeral_to_english(num, numerator, denominator, capitalize, use_and, hyphenate, ordinal, plural, links, negative_word, round, zero, use_one) if not negative_word then if use_and then -- TODO Should 'minus' be used when do not have sp=us? -- If so, need to update testcases, and need to fix "minus zero". -- negative_word = 'minus' negative_word = 'negative' else negative_word = 'negative' end end local status, fraction_text = fraction_to_english(num, numerator, denominator, not use_and, negative_word, use_one) if status == 'unsupported' then return nil end if status == 'finished' then -- Input is a fraction with no whole number. -- Hack to avoid executing stuff that depends on num being a number. local s = fraction_text if hyphenate then s = s:gsub("%s", "-") end if capitalize then s = s:gsub("^%l", string.upper) end return s end num = scientific_notation_to_decimal(num) if round and round ~= '' then if round ~= 'on' and round ~= 'up' and round ~= 'down' then error("Invalid rounding mode") end num = round_for_english(num, round) end -- Separate into negative sign, num (digits before decimal), decimal_places (digits after decimal) local MINUS = '−' -- Unicode U+2212 MINUS SIGN (may be in values from [[Module:Convert]]) if num:sub(1, #MINUS) == MINUS then num = '-' .. num:sub(#MINUS + 1) -- replace MINUS with '-' elseif num:sub(1, 1) == '+' then num = num:sub(2) -- ignore any '+' end local negative = num:find("^%-") local decimal_places, subs = num:gsub("^%-?%d*%.(%d+)$", "%1") if subs == 0 then decimal_places = nil end num, subs = num:gsub("^%-?(%d*)%.?%d*$", "%1") if num == '' and decimal_places then num = '0' end if subs == 0 or num == '' then error("Invalid decimal numeral") end -- For each group of 3 digits except the last one, print with appropriate group name (e.g. million) local s = '' while #num > 3 do if s ~= '' then s = s .. ' ' end local group_num = math.floor((#num - 1) / 3) local group = groups[group_num] local group_digits = #num - group_num*3 s = s .. numeral_to_english_less_1000(num:sub(1, group_digits), false, false, false, zero) .. ' ' if links and (((links == 'on' and group_num >= 3) or links:find(group)) and group_num <= 13) then s = s .. '[[Orders_of_magnitude_(numbers)#10' .. group_num*3 .. '|' .. group .. ']]' else s = s .. group end num = num:sub(1 + group_digits) num = num:gsub("^0*", "") -- Trim leading zeros end -- Handle final three digits of integer part if s ~= '' and num ~= '' then if #num <= 2 and use_and then s = s .. ' and ' else s = s .. ' ' end end if s == '' or num ~= '' then s = s .. numeral_to_english_less_1000(num, use_and, ordinal, plural, zero) elseif ordinal or plural then -- Round numbers like "one million" take standard suffixes for ordinal/plural s = s .. standard_suffix(ordinal, plural) end -- For decimal places (if any) output "point" followed by spelling out digit by digit if decimal_places then s = s .. ' point' for i = 1, #decimal_places do s = s .. ' ' .. ones_position[tonumber(decimal_places:sub(i,i))] end end s = s:gsub("^%s*(.-)%s*$", "%1") -- Trim whitespace if ordinal and plural then s = s .. 's' end -- s suffix works for all ordinals if negative and s ~= zero then s = negative_word .. ' ' .. s end s = s:gsub("negative zero", "zero") s = s .. fraction_text if hyphenate then s = s:gsub("%s", "-") end if capitalize then s = s:gsub("^%l", string.upper) end return s end local p = { -- functions that can be called from another module roman_to_numeral = roman_to_numeral, spell_number = _numeral_to_english, } function p.numeral_to_english(frame) local args = frame.args local num = args[1] num = num:gsub("^%s*(.-)%s*$", "%1") -- Trim whitespace num = num:gsub(",", "") -- Remove commas if num ~= '' then -- a fraction may have an empty whole number if not num:find("^%-?%d*%.?%d*%-?[Ee]?[+%-]?%d*$") then -- Input not in a valid format, try to pass it through #expr to see -- if that produces a number (e.g. "3 + 5" will become "8"). num = frame:preprocess('{{#expr: ' .. num .. '}}') end end -- Pass args from frame to helper function return _numeral_to_english( num, args['numerator'], args['denominator'], args['case'] == 'U' or args['case'] == 'u', args['sp'] ~= 'us', args['adj'] == 'on', args['ord'] == 'on', args['pl'] == 'on', args['lk'], args['negative'], args['round'], args['zero'], args['one'] == 'one' -- experiment: using '|one=one' makes fraction 2+1/2 give "two and one-half" instead of "two and a half" ) or '' end ---- recursive function for p.decToHex local function decToHexDigit(dec) local dig = {"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"} local div = math.floor(dec/16) local mod = dec-(16*div) if div >= 1 then return decToHexDigit(div)..dig[mod+1] else return dig[mod+1] end end -- I think this is supposed to be done with a tail call but first I want something that works at all ---- finds all the decimal numbers in the input text and hexes each of them function p.decToHex(frame) local args=frame.args local parent=frame.getParent(frame) local pargs={} if parent then pargs=parent.args end local text=args[1] or pargs[1] or "" local minlength=args.minlength or pargs.minlength or 1 minlength=tonumber(minlength) local prowl=mw.ustring.gmatch(text,"(.-)(%d+)") local output="" repeat local chaff,dec=prowl() if not(dec) then break end local hex=decToHexDigit(dec) while (mw.ustring.len(hex)<minlength) do hex="0"..hex end output=output..chaff..hex until false local chaff=mw.ustring.match(text,"(%D+)$") or "" return output..chaff end return p o8cxolm1ws5i73xo1hrcoporir4knpj Πρότυπον:Commonscat-inline 10 3480 36695 2025-12-15T22:26:00Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{sister-inline |short={{{short|}}} |project=commonscat |list={{{list|}}} |extratext={{{extratext|}}} |links= [[commons:Category:{{{1|{{#property:P373}}}}} | {{{2|{{{1|{{#property:P373}}}}}}}}]]<!-- -->}}<noinclude> {{documentation | content = Το πρότυπο δημιουργήθηκε για περιπτώσεις όπου δεν υπάρχει αρκετός ή κατάλληλος χώρος ώστε να χωρέσει καλαίσθητ...' 36695 wikitext text/x-wiki {{sister-inline |short={{{short|}}} |project=commonscat |list={{{list|}}} |extratext={{{extratext|}}} |links= [[commons:Category:{{{1|{{#property:P373}}}}} | {{{2|{{{1|{{#property:P373}}}}}}}}]]<!-- -->}}<noinclude> {{documentation | content = Το πρότυπο δημιουργήθηκε για περιπτώσεις όπου δεν υπάρχει αρκετός ή κατάλληλος χώρος ώστε να χωρέσει καλαίσθητα το πρότυπο {{tl|Commons category}} == TemplateData == <templatedata> { "params": { "1": { "label": "Τίτλος κατηγορίας στα Commons", "description": "O τίτλος της κατηγορίας στο Wikimedia Commons. Αν παραληφθεί λαμβάνεται μέσω Wikidata.", "type": "string", "suggested": true }, "2": { "label": "Τίτλος που θέλουμε να φαίνεται εναλλακτικά", "description": "Υπέρβαση του τίτλου.", "type": "string" } }, "format": "inline", "description": "Σύνδεσμος προς μια κατηγορία στα Wikimedia Commons. (Αν δεν συμπληρωθούν οι παράμετροι, η πληροφορία αντλείται από τα Wikidata.)" } </templatedata> }} <!-- Κατηγορίες ΑΝ χρειάζεται --> [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]]</noinclude> 521mlj7gjhaq4exzt2wq4sr8no3djk9 Διονύσιος Λαυράγκας 0 3481 36906 36700 2025-12-16T10:32:15Z Εὐθυμένης 2777 /* Εξτερικοί σύνδεσμοι */ 36906 wikitext text/x-wiki Ο '''Διονύσιος Λαυράγκας''' (17 Οκτώβρι 1860 - 18 Ιούλι 1941) έτον [[Ελλάδα|Έλλενας]] συνθέτης, ο οποίος ανήκει σην λεγομένην Επτανησιακήν μουσικήν Σχολήν, αν και πολλοί ατόν κατατάσσουν και σην εθνικήν μουσικήν σχολήν.<ref name="a728">{{el}} {{cite web | url=https://www.in.gr/2023/07/18/stories/dionysios-layragkas-enas-apo-tous-skapaneis-tis-ellinikis-ethnikis-mousikis-sxolis/ | last1=Στεργιόπουλος | first1=Βαγγέλης | title=Διονύσιος Λαυράγκας: Η ιστορία του ελληνικού μελοδράματος | website=[[in.gr]] | date=2023-07-18 | access-date=2025-12-15}}</ref> Ο Δ. Λαυράγκας θεωρείται ο θεμελιωτής τη Ελληνικού μελοδράματος.<ref name="a728"/> Το συνθετικόν ατ' το έργον απετέλεσαν κυρίως συμφωνικήν μουσικήν, μελοδράματα καθώς και τραγωδίας, ιδίως καντάδες.<ref name="a728"/> Έγραψεν έργα, για βιολίν, πιάνον, καθολικήν λειτουργίαν και άσματα θείας λειτουργίας.<ref name="a728"/> Θεωρείται επίσης από τους πρώτους συνθέτας που σ' ατ'νων τα έργα ενσωμάτωσαν στοιχεία ελληνικής δημοτικής μουσικής.<ref name="a728"/> == Παραπομπές == <references /> == Συνδέζμ' σα εξ μερέαν == * {{commonscat-inline}} {{authority control}} {{DEFAULTSORT:Λαυραγκας, Διονυσιος}} [[Κατηγορίαν:Ελλενικόν ιστορίαν]] f5cnhqp6aoe3k7dcw1q4e308j3y75a2 Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά ΑΑID 14 3482 36697 2025-12-15T22:31:43Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{hiddencat}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]]' 36697 wikitext text/x-wiki {{hiddencat}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]] de8k88nxnjbq51i7qjh9e7201rfjkw5 Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά MusicBrainz 14 3483 36698 2025-12-15T22:32:30Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{hiddencat}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]]' 36698 wikitext text/x-wiki {{hiddencat}} [[Κατηγορίαν:Λήμματα Βικιπαίδειας με αναγνωριστικά καθιερωμένων όρων και βάσεων δεδομένων]] de8k88nxnjbq51i7qjh9e7201rfjkw5 Πρότυπον:El 10 3484 36926 36907 2025-12-16T12:22:19Z Εὐθυμένης 2777 36926 wikitext text/x-wiki {{γλώσσα2|Ελλενικά|ελλενικόν τη λαλίαν}}<noinclude> [[Κατηγορίαν:Πρότυπα γλωσσών κειμένων|Ελλενικα]] <!--interwiki--> </noinclude> 90ygq3sttlam4uur2k30vl88dca0q1h Πρότυπον:Cite journal 10 3485 36704 2025-12-15T22:38:58Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{Citation/core |Citation type=Journal |AuthorMask = {{{author-mask|{{{authormask|}}}}}} |Surname1 = {{{last|{{{surname|{{{last1|{{{surname1|{{{author1|{{{author|{{{authors|{{{επώνυμο|{{{συγγραφέας|{{{επώνυμο1|{{{συγγραφέας1|{{{συγγραφείς|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} |Surname2 = {{{last2|{{{surname2|{{{author2|{{{coauthor|{{{coauthors|{{{συγγραφέας2|{{{επώνυμο2|}}}}}}}}}}}...' 36704 wikitext text/x-wiki {{Citation/core |Citation type=Journal |AuthorMask = {{{author-mask|{{{authormask|}}}}}} |Surname1 = {{{last|{{{surname|{{{last1|{{{surname1|{{{author1|{{{author|{{{authors|{{{επώνυμο|{{{συγγραφέας|{{{επώνυμο1|{{{συγγραφέας1|{{{συγγραφείς|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} |Surname2 = {{{last2|{{{surname2|{{{author2|{{{coauthor|{{{coauthors|{{{συγγραφέας2|{{{επώνυμο2|}}}}}}}}}}}}}}}}}}}}} |Surname3 = {{{last3|{{{surname3|{{{author3|{{{συγγραφέας3|{{{επώνυμο3|}}}}}}}}}}}}}}} |Surname4 = {{{last4|{{{surname4|{{{author4|{{{συγγραφέας4|{{{επώνυμο4|}}}}}}}}}}}}}}} |Surname5 = {{{last5|{{{surname5|{{{author5|{{{συγγραφέας5|{{{επώνυμο5|}}}}}}}}}}}}}}} |Surname6 = {{{last6|{{{surname6|{{{author6|{{{συγγραφέας6|{{{επώνυμο6|}}}}}}}}}}}}}}} |Surname7 = {{{last7|{{{surname7|{{{author7|{{{συγγραφέας7|{{{επώνυμο7|}}}}}}}}}}}}}}} |Surname8 = {{{last8|{{{surname8|{{{author8|{{{συγγραφέας8|{{{επώνυμο8|}}}}}}}}}}}}}}} |Surname9 = {{{last9|{{{surname9|{{{author9|{{{συγγραφέας9|{{{επώνυμο9|}}}}}}}}}}}}}}} |Surname10 = {{{last10|{{{surname10|{{{author10|{{{συγγραφέας10|{{{επώνυμο10|}}}}}}}}}}}}}}} |Given1 = {{{first1|{{{given1|{{{first|{{{given|{{{όνομα|{{{όνομα1|}}}}}}}}}}}}}}}}}} |Given2 = {{{first2|{{{given2|{{{όνομα2|}}}}}}}}} |Given3 = {{{first3|{{{given3|{{{όνομα3|}}}}}}}}} |Given4 = {{{first4|{{{given4|{{{όνομα4|}}}}}}}}} |Given5 = {{{first5|{{{given5|{{{όνομα5|}}}}}}}}} |Given6 = {{{first6|{{{given6|{{{όνομα6|}}}}}}}}} |Given7 = {{{first7|{{{given7|{{{όνομα7|}}}}}}}}} |Given8 = {{{first8|{{{given8|{{{όνομα8|}}}}}}}}} |Given9 = {{{first9|{{{given9|{{{όνομα9|}}}}}}}}} |Given10 = {{{first10|{{{given10|{{{όνομα10|}}}}}}}}} |Authorlink1 = {{{author-link|{{{author1-link|{{{authorlink|{{{authorlink1|{{{λήμμα-συγγραφέα|{{{λήμμα-συγγραφέα1|}}}}}}}}}}}}}}}}}} |Authorlink2 = {{{author2-link|{{{authorlink2|{{{λήμμα-συγγραφέα2|}}}}}}}}} |Authorlink3 = {{{author3-link|{{{authorlink3|{{{λήμμα-συγγραφέα3|}}}}}}}}} |Authorlink4 = {{{author4-link|{{{authorlink4|{{{λήμμα-συγγραφέα4|}}}}}}}}} |Authorlink5 = {{{author5-link|{{{authorlink5|{{{λήμμα-συγγραφέα5|}}}}}}}}} |Authorlink6 = {{{author6-link|{{{authorlink6|{{{λήμμα-συγγραφέα6|}}}}}}}}} |Authorlink7 = {{{author7-link|{{{authorlink7|{{{λήμμα-συγγραφέα7|}}}}}}}}} |Authorlink8 = {{{author8-link|{{{authorlink8|{{{λήμμα-συγγραφέα8|}}}}}}}}} |Authorlink9 = {{{author9-link|{{{authorlink9|{{{λήμμα-συγγραφέα9|}}}}}}}}} |Authorlink10 = {{{author10-link|{{{authorlink10|{{{λήμμα-συγγραφέα10|}}}}}}}}} |Coauthors = {{{coauthor|{{{coauthors|}}}}}} |Year={{{year|{{{έτος|{{ <!-- attempt to derive year from date, if possible --> #if: {{{date|}}} |{{ #iferror:{{#time:Y|{{{date|}}} }} |{{#iferror:{{#time:Y|{{{publication-date|einval}}} }}||{{#time:Y|{{{publication-date|}}} }}}} |{{#time:Y|{{{date|}}} }} }} |{{{publication-date|}}} <!-- last resort --> }} }}} }}} |Date = {{#if:{{{date|}}}|{{{date}}}|{{{day|}}} {{{month|{{{μήνας|}}}}}} {{{year|{{{publication-date|{{{έτος|}}}}}}}}}}} |Title={{{title|{{{τίτλος|}}}}}} |TransTitle={{{trans_title|}}} |URL={{#if:{{{archiveurl|}}}|{{{archiveurl}}}|{{{url|}}}}} |Series={{{series|{{{version|{{{σειρά|}}}}}}}}} |Periodical = {{{journal|{{{periodical|{{{magazine|{{{work|{{{περιοδικό|{{{επιθεώρηση|}}}}}}}}}}}}}}}}}} |Volume = {{{volume|{{{τόμος|}}}}}} |Issue = {{{issue|{{{number|{{{τεύχος|}}}}}}}}} |At = {{ #if: {{{journal|{{{periodical|{{{magazine|{{{work|{{{περιοδικό|{{{επιθεώρηση|}}}}}}}}}}}}}}}}}} |{{{pages|{{{page|{{{at|}}}}}}}}} |{{ #if: {{{page|}}} |σελ. {{{page}}} |{{ #if: {{{pages|}}} |σελ. {{{pages}}} |{{{at|}}} }} }} }} |IncludedWorkTitle = {{{chapter|{{{contribution|{{{κεφάλαιο|}}}}}}}}} |IncludedWorkURL = {{{chapter-url|{{{chapterurl|{{{contribution-url|}}}}}}}}} |Edition = {{{edition|{{{έκδοση|}}}}}} |Place = {{{place|{{{location|}}}}}} |PublicationPlace = {{{publication-place|{{{place|{{{location|{{{τόπος|{{{τόπος-έκδοσης|}}}}}}}}}}}}}}} |Publisher = {{{publisher|{{{εκδότης|}}}}}} |PublicationDate = {{{publication-date|}}} |EditorSurname1 = {{{editor-last|{{{editor-surname|{{{editor1-last|{{{editor1-surname|{{{editor|{{{editors|{{{επιμελητής|{{{επιμελητής1|{{{επώνυμο-επιμελητή|{{{επώνυμο-επιμελητή1|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} |EditorSurname2 = {{{editor2-last|{{{editor2-surname|{{{επιμελητής2|{{{επώνυμο-επιμελητή2|}}}}}}}}}}}} |EditorSurname3 = {{{editor3-last|{{{editor3-surname|{{{επιμελητής3|{{{επώνυμο-επιμελητή3|}}}}}}}}}}}} |EditorSurname4 = {{{editor4-last|{{{editor4-surname|{{{επιμελητής4|{{{επώνυμο-επιμελητή4|}}}}}}}}}}}} |EditorGiven1 = {{{editor-first|{{{editor-given|{{{editor1-first|{{{editor1-given|{{{όνομα-επιμελητή|{{{όνομα-επιμελητή1|}}}}}}}}}}}}}}}}}} |EditorGiven2={{{editor2-first|{{{editor2-given|{{{όνομα-επιμελητή2|}}}}}}}}} |EditorGiven3={{{editor3-first|{{{editor3-given|{{{όνομα-επιμελητή3|}}}}}}}}} |EditorGiven4={{{editor4-first|{{{editor4-given|{{{όνομα-επιμελητή4|}}}}}}}}} |Editorlink1={{{editor-link|{{{editor1-link|{{{λήμμα-επιμελητή|{{{λήμμα-επιμελητή1|}}}}}}}}}}}} |Editorlink2={{{editor2-link|{{{λήμμα-επιμελητή2|}}}}}} |Editorlink3={{{editor3-link|{{{λήμμα-επιμελητή3|}}}}}} |Editorlink4={{{editor4-link|{{{λήμμα-επιμελητή4|}}}}}} |Other = {{{others|{{{λοιποί|{{{λοιπά|}}}}}}}}} |language = {{{language|{{{στα|{{{γλώσσα|}}}}}}}}} |format = {{{format|}}} |ID={{{id|{{{ID|}}}}}} |ISBN={{{isbn|{{{ISBN|}}}}}} |ISSN={{{issn|{{{ISSN|}}}}}} |OCLC={{{oclc|{{{OCLC|}}}}}} |PMID={{{pmid|{{{PMID|}}}}}} |PMC={{{pmc|{{{PMC|}}}}}} |Embargo={{{pmc-embargo-date|1010-10-10}}} |Bibcode={{{bibcode|}}} |MR={{{mr|{{{MR|}}}}}} |ZBL={{{zbl|{{{ZBL|}}}}}} |DOI={{{doi|{{{DOI|}}}}}} |DoiBroken={{{doi_brokendate|}}} |AccessDate={{{access-date|{{{accessdate|}}}}}} |OriginalURL={{{url|}}} |ArchiveURL={{{archiveurl|}}} |ArchiveDate={{{archivedate|}}} |laysource = {{{laysource|}}} |laysummary = {{{laysummary|}}} |laydate = {{{laydate|}}} |quote = {{{quote|{{{απόσπασμα|}}}}}} |Ref={{{ref|}}} |Sep = {{#ifeq:{{{separator|{{{seperator}}} }}}|;|&#059;|{{{separator|{{{seperator|.}}} }}} }} |PS = {{{postscript|.}}} |AuthorSep = {{#ifeq:{{{author-separator|}}}|;|&#059;|{{{author-separator|&#059;}}}}}&#32; |NameSep = {{{author-name-separator|,}}}&#32; |Trunc = {{#if:{{{display-authors|}}}|{{{display-authors}}}|8}} |amp = {{{use ampersand before last author|}}} }}<noinclude>{{Τεκμηρίωση προτύπου}}</noinclude> ikgu6sqfyczgc70r71benwv8awdsuaa Πρότυπον:Citation/core 10 3486 36705 2025-12-15T22:40:01Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<span class="citation {{{Citation class|{{{Citation type|}}}}}}" {{ #switch:{{{Ref|}}} ||none = |#default = id="{{anchorencode:{{{Ref}}}}}" |harv = {{#if:{{{Surname1|}}}{{{EditorSurname1|}}} |id="CITEREF{{anchorencode:{{#if:{{{Surname1|}}} |{{{Surname1}}}{{{Surname2|}}}{{{Surname3|}}}{{{Surname4|}}} |{{{EditorSurname1|}}}{{{EditorSurname2|}}}{{{EditorSurname3|}}}{{{EditorSurname4|}}} }}{{{Year|{{{Date|}}}}}}}}" }} }}>{...' 36705 wikitext text/x-wiki <span class="citation {{{Citation class|{{{Citation type|}}}}}}" {{ #switch:{{{Ref|}}} ||none = |#default = id="{{anchorencode:{{{Ref}}}}}" |harv = {{#if:{{{Surname1|}}}{{{EditorSurname1|}}} |id="CITEREF{{anchorencode:{{#if:{{{Surname1|}}} |{{{Surname1}}}{{{Surname2|}}}{{{Surname3|}}}{{{Surname4|}}} |{{{EditorSurname1|}}}{{{EditorSurname2|}}}{{{EditorSurname3|}}}{{{EditorSurname4|}}} }}{{{Year|{{{Date|}}}}}}}}" }} }}>{{ <!--============ Author or editor and date ============--> #if:{{{Surname1|}}} |{{ #if: {{{AuthorMask|}}} |{{ #iferror: {{ #expr: 1*{{{AuthorMask}}} }} |{{{AuthorMask}}} |<del>{{loop|{{{AuthorMask}}}|2=&emsp;}}</del> }} |{{ #if: {{{Authorlink1|}}} |[[{{{Authorlink1}}} |{{{Surname1}}}{{ #if: {{{Given1|}}} |{{{NameSep|,&#32;}}}{{{Given1}}} }}]] |{{{Surname1}}}{{ #if: {{{Given1|}}} |{{{NameSep|,&#32;}}}{{{Given1}}} }} }} }}{{ #if: {{{Surname2|}}} |{{#ifexpr:{{{Trunc|8}}}<2 |&#32;''και άλλοι''. |{{ #iferror: {{ #expr: 1*0.0{{{AuthorMask|}}} }} |&#32;<!-- then punctuation should be included in AuthorMask --> |{{ #if: {{{Surname3|}}} |{{{AuthorSep|&#059;&#32;}}} |{{#if:{{{amp|}}}|&#32;&amp;&#32;|{{{AuthorSep|&#059;&#32;}}}}} }} }}{{ #if: {{{Authorlink2|}}} |[[{{{Authorlink2}}} |{{{Surname2}}}{{ #if: {{{Given2|}}} |{{{NameSep|,&#32;}}}{{{Given2}}} }}]] |{{{Surname2}}}{{ #if: {{{Given2|}}} |{{{NameSep|,&#32;}}}{{{Given2}}} }} }}{{ #if: {{{Surname3|}}} |{{#ifexpr:{{{Trunc|8}}}<3 |&#32;''και άλλοι''. |{{ #if: {{{Surname4|}}} |{{{AuthorSep|&#059;&#32;}}} |{{#if:{{{amp|}}}|&#32;&amp;&#32;|{{{AuthorSep|&#059;&#32;}}}}} }}{{ #if: {{{Authorlink3|}}} |[[{{{Authorlink3}}} |{{{Surname3}}}{{ #if: {{{Given3|}}} |{{{NameSep|,&#32;}}}{{{Given3}}} }}]] |{{{Surname3}}}{{ #if: {{{Given3|}}} |{{{NameSep|,&#32;}}}{{{Given3}}} }} }}{{ #if:{{{Surname4|}}} |{{#ifexpr:{{{Trunc|8}}}<4 |&#32;''και άλλοι''. |{{ #if: {{{Surname5|}}} |{{{AuthorSep|&#059;&#32;}}} |{{#if:{{{amp|}}}|&#32;&amp;&#32;|{{{AuthorSep|&#059;&#32;}}}}} }}{{ #if: {{{Authorlink4|}}} |[[{{{Authorlink4}}} |{{{Surname4}}}{{ #if: {{{Given4|}}} |{{{NameSep|,&#32;}}}{{{Given4}}} }}]] |{{{Surname4}}}{{ #if: {{{Given4|}}} |{{{NameSep|,&#32;}}}{{{Given4}}} }} }}{{ #if:{{{Surname5|}}} |{{#ifexpr:{{{Trunc|8}}}<5 |&#32;''και άλλοι''. |{{ #if: {{{Surname6|}}} |{{{AuthorSep|&#059;&#32;}}} |{{#if:{{{amp|}}}|&#32;&amp;&#32;|{{{AuthorSep|&#059;&#32;}}}}} }}{{ #if: {{{Authorlink5|}}} |[[{{{Authorlink5}}} |{{{Surname5}}}{{ #if: {{{Given5|}}} |{{{NameSep|,&#32;}}}{{{Given5}}} }}]] |{{{Surname5}}}{{ #if: {{{Given5|}}} |{{{NameSep|,&#32;}}}{{{Given5}}} }} }}{{ #if:{{{Surname6|}}} |{{#ifexpr:{{{Trunc|8}}}<6 |&#32;''και άλλοι''. |{{ #if: {{{Surname7|}}} |{{{AuthorSep|&#059;&#32;}}} |{{#if:{{{amp|}}}|&#32;&amp;&#32;|{{{AuthorSep|&#059;&#32;}}}}} }}{{ #if: {{{Authorlink6|}}} |[[{{{Authorlink6}}} |{{{Surname6}}}{{ #if: {{{Given6|}}} |{{{NameSep|,&#32;}}}{{{Given6}}} }}]] |{{{Surname6}}}{{ #if: {{{Given6|}}} |{{{NameSep|,&#32;}}}{{{Given6}}} }} }}{{ #if:{{{Surname7|}}} |{{#ifexpr:{{{Trunc|8}}}<7 |&#32;''και άλλοι''. |{{ #if: {{{Surname8|}}} |{{{AuthorSep|&#059;&#32;}}} |{{#if:{{{amp|}}}|&#32;&amp;&#32;|{{{AuthorSep|&#059;&#32;}}}}} }}{{ #if: {{{Authorlink7|}}} |[[{{{Authorlink7}}} |{{{Surname7}}}{{ #if: {{{Given7|}}} |{{{NameSep|,&#32;}}}{{{Given7}}} }}]] |{{{Surname7}}}{{ #if: {{{Given7|}}} |{{{NameSep|,&#32;}}}{{{Given7}}} }} }}{{ #if:{{{Surname8|}}} |{{#ifexpr:{{{Trunc|8}}}<8 |&#32;''και άλλοι''. |{{ #if: {{{Surname9|}}} |{{{AuthorSep|&#059;&#32;}}} |{{#if:{{{amp|}}}|&#32;&amp;&#32;|{{{AuthorSep|&#059;&#32;}}}}} }}{{ #if: {{{Authorlink8|}}} |[[{{{Authorlink8}}} |{{{Surname8}}}{{ #if: {{{Given8|}}} |{{{NameSep|,&#32;}}}{{{Given8}}} }}]] |{{{Surname8}}}{{ #if: {{{Given8|}}} |{{{NameSep|,&#32;}}}{{{Given8}}} }} }}{{ #if:{{{Surname9|}}} |&#32;''και άλλοι''. }} }} }} }} }} }} }} }} }} }} }} }} }} }} }}{{ #if: {{{Date|}}} |&#32;({{{Date}}}){{ #if:{{{YearNote|}}} |&#32;[{{{YearNote}}}] }} }} |{{<!-- ============== No author: display editors first == --> #if: {{{EditorSurname1|}}} |{{ #if: {{{Editorlink1|}}} |[[{{{Editorlink1}}} |{{{EditorSurname1}}}{{ #if: {{{EditorGiven1|}}} |, {{{EditorGiven1}}} }}]] |{{{EditorSurname1}}}{{ #if: {{{EditorGiven1|}}} |, {{{EditorGiven1}}} }} }}{{ #if: {{{EditorSurname2|}}} |{{ #if: {{{EditorSurname3|}}} |{{{AuthorSep|&#059;&#32;}}} |{{#if:{{{amp|}}}|&#32;&amp;&#32;|{{{AuthorSep|&#059;&#32;}}}}} }}{{ #if: {{{Editorlink2|}}} |[[{{{Editorlink2}}} |{{{EditorSurname2}}}{{ #if: {{{EditorGiven2|}}} |, {{{EditorGiven2}}} }}]] |{{{EditorSurname2}}}{{ #if: {{{EditorGiven2|}}} |, {{{EditorGiven2}}} }} }}{{ #if: {{{EditorSurname3|}}} |{{ #if: {{{EditorSurname4|}}} |{{{AuthorSep|&#059;&#32;}}} |{{#if:{{{amp|}}}|&#32;&amp;&#32;|{{{AuthorSep|&#059;&#32;}}}}} }}{{ #if: {{{Editorlink3|}}} |[[{{{Editorlink3}}} |{{{EditorSurname3}}}{{ #if: {{{EditorGiven3|}}} |, {{{EditorGiven3}}} }}]] |{{{EditorSurname3}}}{{ #if: {{{EditorGiven3|}}} |, {{{EditorGiven3}}} }} }}{{ #if:{{{EditorSurname4|}}} |&#32;και άλλοι. }} }} }}, επιμ.{{#ifeq:{{{Sep|,}}}|.||.}}{{ #if: {{{Date|}}} |&#32;({{{Date}}}){{ #if:{{{YearNote|}}} |&#32;[{{{YearNote}}}] }} }} }} }}{{ <!--============ Title of included work ============--> #if: {{{IncludedWorkTitle|}}}{{#if:{{{Periodical|}}}||{{#if:{{{TransItalic|}}}||{{{TransTitle|}}}}}}} |{{ #if:{{{Surname1|}}}{{{EditorSurname1|}}} |{{{Sep|,}}}&#32; }}{{Citation/make link | 1={{ #if: {{{IncludedWorkURL|}}} |{{{IncludedWorkURL}}} |{{ #if: {{{URL|}}} |{{{URL}}} <!-- Only link URL if to a free full text - as at PubMedCentral (PMC)--> |{{#ifexpr:{{#time: U}} > {{#time: U | {{{Embargo|2001-10-10}}} }} |{{ #if: {{{PMC|}}} |http://www.pubmedcentral.nih.gov/articlerender.fcgi?tool=pmcentrez&artid={{{PMC}}} }} }} }} }} | 2={{ #if: {{{Periodical|}}} |''<nowiki />{{{IncludedWorkTitle}}}<nowiki />'' |«{{{IncludedWorkTitle|}}}{{ #if: {{{TransTitle|}}} |{{ #if: {{{IncludedWorkTitle|}}} |&#32; }}&#91;{{{TransTitle}}}&#93; }}» }} }} }}{{ <!--============ Place (if different than PublicationPlace) ============--> #if: {{{Place|}}} |{{ #ifeq: {{{Place|}}} | {{{PublicationPlace|}}} | |{{ #if: {{{Surname1|}}}{{{EditorSurname1|}}}{{{IncludedWorkTitle|}}} |{{{Sep|,}}}&#32;written at {{{Place}}} }} }} }}{{ <!--============ Editor of compilation ============--> #if: {{{EditorSurname1|}}} |{{ #if: {{{Surname1|}}} |{{{Sep|,}}}&#32;{{ #if: {{{IncludedWorkTitle|}}} |{{#ifeq:{{{Sep|}}}|.|Σ|σ}}το:&#32; }}{{ #if: {{{Editorlink1|}}} |[[{{{Editorlink1}}} |{{{EditorSurname1}}}{{ #if: {{{EditorGiven1|}}} |, {{{EditorGiven1}}} }}]] |{{{EditorSurname1}}}{{ #if: {{{EditorGiven1|}}} |, {{{EditorGiven1}}} }}}}{{ #if: {{{EditorSurname2|}}} |{{ #if: {{{EditorSurname3|}}} |{{{AuthorSep|&#059;&#32;}}} |{{#if:{{{amp|}}}|&#32;&amp;&#32;|{{{AuthorSep|&#059;&#32;}}}}} }}{{ #if: {{{Editorlink2|}}} |[[{{{Editorlink2}}}|{{{EditorSurname2}}}{{ #if: {{{EditorGiven2|}}} |, {{{EditorGiven2}}} }}]] |{{{EditorSurname2}}}{{ #if: {{{EditorGiven2|}}} |, {{{EditorGiven2}}} }} }}{{ #if: {{{EditorSurname3|}}} |{{ #if: {{{EditorSurname4|}}} |&#059;&#32; |{{#if:{{{amp|}}}|&#32;&amp;&#32;|{{{AuthorSep|&#059;&#32;}}}}} }}{{ #if: {{{Editorlink3|}}} |[[{{{Editorlink3}}}|{{{EditorSurname3}}}{{ #if: {{{EditorGiven3|}}} |, {{{EditorGiven3}}} }}]] |{{{EditorSurname3}}}{{ #if: {{{EditorGiven3|}}} |, {{{EditorGiven3}}} }} }}{{ #if:{{{EditorSurname4|}}} |&#32;και άλλοι }} }} }},&#32;επιμ{{#ifeq:{{{Sep|,}}}|.||.}} }} }}{{ <!--============ Μεταφραστής ============--> #if: {{{TranslatorSurname1|}}} |{{ #if: {{{Surname1|}}} |{{{Sep|,}}}&#32;{{ #if: {{{IncludedWorkTitle|}}} |{{#ifeq:{{{Sep|}}}|.|Σ|σ}}το:&#32; }}{{ #if: {{{Translatorlink1|}}} |[[{{{Translatorlink1}}} |{{{TranslatorSurname1}}}{{ #if: {{{TranslatorGiven1|}}} |, {{{TranslatorGiven1}}} }}]] |{{{TranslatorSurname1}}}[[Κατηγορία:Σελίδες με χρήση παραμέτρου μεταφραστή στο cite book]]{{ #if: {{{TranslatorGiven1|}}} |, {{{TranslatorGiven1}}} }}}}{{ #if: {{{TranslatorSurname2|}}} |{{ #if: {{{TranslatorSurname3|}}} |{{{AuthorSep|&#059;&#32;}}} |{{#if:{{{amp|}}}|&#32;&amp;&#32;|{{{AuthorSep|&#059;&#32;}}}}} }}{{ #if: {{{Translatorlink2|}}} |[[{{{Translatorlink2}}}|{{{TranslatorSurname2}}}{{ #if: {{{TranslatorGiven2|}}} |, {{{TranslatorGiven2}}} }}]] |{{{TranslatorSurname2}}}{{ #if: {{{TranslatorGiven2|}}} |, {{{TranslatorGiven2}}} }} }}{{ #if: {{{TranslatorSurname3|}}} |{{ #if: {{{TranslatorSurname4|}}} |&#059;&#32; |{{#if:{{{amp|}}}|&#32;&amp;&#32;|{{{AuthorSep|&#059;&#32;}}}}} }}{{ #if: {{{Translatorlink3|}}} |[[{{{Translatorlink3}}}|{{{TranslatorSurname3}}}{{ #if: {{{TranslatorGiven3|}}} |, {{{TranslatorGiven3}}} }}]] |{{{TranslatorSurname3}}}{{ #if: {{{TranslatorGiven3|}}} |, {{{TranslatorGiven3}}} }} }}{{ #if:{{{TranslatorSurname4|}}} |&#32;και άλλοι }} }} }},&#32;μετάφραση{{#ifeq:{{{Sep|,}}}|.||.}} }} }}{{ <!--============ Periodicals ============--> #if: {{{Periodical|}}} |{{ #if: {{{Other|}}} |{{{Sep|,}}}&#32;{{{Other|}}} }}{{ #if: {{{Surname1|}}}{{{EditorSurname1|}}}{{{IncludedWorkTitle|}}} |{{{Sep|,}}}&#32;}}{{ #if: {{{Title|}}}{{{TransTitle|}}} |{{Citation/make link | 1={{ #if: {{{IncludedWorkTitle|}}} |{{ #if: {{{IncludedWorkURL|}}} |{{ #if: {{{URL|}}} |{{{URL}}} |{{ #ifexpr: {{#time: U}} > {{#time: U | {{{Embargo|2001-10-10}}} }} | {{ #if: {{{PMC|}}} | http://www.pubmedcentral.nih.gov/articlerender.fcgi?tool=pmcentrez&artid={{{PMC}}} }} }} }} }} |{{ #if: {{{URL|}}} |{{{URL}}} |{{#ifexpr:{{#time: U}} > {{#time: U | {{{Embargo|2001-10-10}}} }} |{{ #if: {{{PMC|}}} | http://www.pubmedcentral.nih.gov/articlerender.fcgi?tool=pmcentrez&artid={{{PMC}}} }} }} }} }} | 2=«{{{Title}}}{{ #if: {{{TransTitle|}}} |{{ #if: {{{Title|}}} |&#32; }}&#91;{{{TransTitle}}}&#93; }}» }}{{ #if: {{{TitleNote|}}} |{{{Sep|,}}}&#32;{{{TitleNote}}} }} }} }}{{ #if: {{{language|}}} |{{#switch:{{lc:{{{language|}}}}}|el|el-gr|el-cy=|en|en-gb|en-us=&#32;(στα αγγλικά)|fr|fr-fr=&#32;(στα γαλλικά)|de|de-de=&#32;(στα γερμανικά)|#default=&#32;(στα {{{language}}})}} }}{{ #if: {{{format|}}} |&#32;({{{format}}}) }}{{ #if: {{{Periodical|}}} |{{ #if:{{{IncludedWorkTitle|}}}{{{Title|}}}{{{TransTitle|}}} |{{{Sep|,}}}&#32; }}''<nowiki />{{{Periodical}}}<nowiki />''{{ #if: {{{Series|}}} |{{{Sep|,}}}&#32;{{{Series}}} }}{{ #if: {{{PublicationPlace|}}} |{{ #if: {{{Publisher|}}} |&#32;({{{PublicationPlace}}}<nowiki>: </nowiki>{{{Publisher}}}) |&#32;({{{PublicationPlace}}}) }} |{{ #if: {{{Publisher|}}} |&#32;({{{Publisher}}}) }} }}{{ #if: {{{Volume|}}} |&#32;'''<nowiki />{{{Volume}}}<nowiki />'''{{ #if: {{{Issue|}}} |&#32;({{{Issue}}}) }} |{{ #if: {{{Issue|}}} |&#32;({{{Issue}}}) }} }}{{ #if: {{{At|}}} |<nowiki>: </nowiki> {{{At}}} }} |{{ <!--============ Anything else with a title, including books ============--> #if: {{{Title|}}}{{{TransItalic|}}} |{{ #if: {{{Surname1|}}}{{{EditorSurname1|}}}{{{IncludedWorkTitle|}}}{{{Periodical|}}} |{{{Sep|,}}} }}&#32;{{Citation/make link | 1={{ #if: {{{IncludedWorkTitle|}}} |{{ #if: {{{IncludedWorkURL|}}} |{{ #if: {{{URL|}}} |{{{URL}}} |{{#ifexpr:{{#time: U}} > {{#time: U | {{{Embargo|2001-10-10}}} }}|{{ #if: {{{PMC|}}} | http://www.pubmedcentral.nih.gov/articlerender.fcgi?tool=pmcentrez&artid={{{PMC}}} }}}} }} }} |{{ #if: {{{URL|}}} |{{{URL}}} |{{#ifexpr:{{#time: U}} > {{#time: U | {{{Embargo|2001-10-10}}} }}|{{ #if: {{{PMC|}}} | http://www.pubmedcentral.nih.gov/articlerender.fcgi?tool=pmcentrez&artid={{{PMC}}} }}}} }} }} | 2=''<nowiki />{{{Title|}}}{{ #if:{{{TransItalic|}}}|&#32;&#91;{{{TransItalic}}}&#93; }}<nowiki />'' }} }}{{ #if: {{{TitleType|}}} |&#32;({{{TitleType}}}) }}{{ #if: {{{Series|}}} |{{{Sep|,}}}&#32;{{{Series}}} }}{{ #if: {{{Volume|}}} |{{{Sep|,}}}&#32;'''<nowiki />{{{Volume}}}<nowiki />''' }}{{ #if: {{{Other|}}} |{{{Sep|,}}}&#32;{{{Other|}}} }}{{ #if: {{{Edition|}}} |&#32;({{{Edition}}} έκδοση) }}{{ #if: {{{PublicationPlace|}}} |{{{Sep|,}}}&#32;{{{PublicationPlace}}} }}{{ #if: {{{Publisher|}}} |{{ #if: {{{PublicationPlace|}}} |<nowiki>:</nowiki> |{{{Sep|,}}} }}&#32;{{{Publisher}}} }} }}{{ <!--============ Date (if no author/editor) ============--> #if: {{{Surname1|}}}{{{EditorSurname1|}}} | |{{ #if: {{{Date|}}} |{{{Sep|,}}}&#32;{{{Date}}}{{ #if:{{{YearNote|}}} |&#32;[{{{YearNote}}}] }} }} }}{{ <!--============ Publication date ============--> #if: {{{PublicationDate|}}} |{{ #ifeq: {{{PublicationDate|}}} | {{{Date|}}} | |{{ #if: {{{EditorSurname1|}}} |{{ #if: {{{Surname1|}}} |{{{Sep|,}}}&#32;{{{PublicationDate}}} |&#32;(δημοσιεύθηκε {{{PublicationDate}}}) }} |{{ #if: {{{Periodical|}}} |{{{Sep|,}}}&#32;{{{PublicationDate}}} |&#32;(δημοσιεύθηκε {{{PublicationDate}}}) }} }} }} }}{{ <!--============ Page within included work ============--> #if: {{{Periodical|}}} | |{{ #if: {{{At|}}} |,&#32;{{{At}}} }} }}{{ <!--===============DOI================--> #if:{{{DOI|}}} |{{{Sep|,}}}&#32;[[Digital object identifier|doi]]:{{#if: {{{DoiBroken|}}} | {{#tag:nowiki|{{{DOI}}}}} (inactive {{{DoiBroken|}}}) {{#ifeq: {{NAMESPACE}} | {{ns:0}} | [[Κατηγορία:Pages with DOIs broken since {{#time: Y | {{{DoiBroken|}}} }}]] }} | <span class="neverexpand">[http://dx.doi.org/{{urlencode:{{{DOI}}}}} {{#tag:nowiki|{{{DOI}}}}}]</span> }} }}{{ <!--============ Misc. Identifier ============--> #if: {{{ID|}}} |{{ #if: {{{Surname1|}}}{{{EditorSurname1|}}}{{{IncludedWorkTitle|}}}{{{Periodical|}}}{{{Title|}}}{{{TransItalic|}}} |{{{Sep|,}}}&#32;{{{ID}}} |{{{ID}}} }} }}{{ <!--============ ISBN ============--> #if: {{{ISBN|}}} |{{{Sep|,}}}&#32;[[Διεθνής πρότυπος αριθμός βιβλίου|ISBN]] [[Special:BookSources/{{{ISBN}}}|{{{ISBN}}}]] }}{{ <!--============ ISSN ============--> #if: {{{ISSN|}}} |{{{Sep|,}}}&#32;[[International Standard Serial Number|ISSN]] [http://worldcat.org/issn/{{{ISSN}}} {{{ISSN}}}] }}{{ <!--============ OCLC ============--> #if: {{{OCLC|}}} |{{{Sep|,}}}&#32;[[Online Computer Library Center|OCLC]] [http://worldcat.org/oclc/{{urlencode:{{{OCLC}}}}} {{{OCLC}}}] }}{{ <!--============ LCCN ============--> #if: {{{LCCN|}}} |{{{Sep|,}}}&#32;[[Library of Congress Control Number|LCCN]] [http://lccn.loc.gov/{{urlencode:{{{LCCN}}}}} {{{LCCN}}}] }}{{ <!--============ PMID ============--> #if: {{{PMID|}}} |{{{Sep|,}}}&#32;[[PubMed Identifier|PMID]] [http://www.ncbi.nlm.nih.gov/pubmed/{{{PMID}}} {{{PMID}}}] }}{{ <!--============ PMC ============--> #if: {{{PMC|}}} |{{ #if: {{{URL|}}} |{{{Sep|,}}}&#32;[[PubMed Central|PMC]] [http://www.pubmedcentral.nih.gov/articlerender.fcgi?tool=pmcentrez&artid={{{PMC}}} {{{PMC}}}] }} }}{{ <!--============ BIBCODE ============--> #if: {{{Bibcode|}}} |{{{Sep|,}}}&#32;[[Bibcode]]:&nbsp;[http://adsabs.harvard.edu/abs/{{{Bibcode}}} {{{Bibcode}}}] }}{{ <!--============ MR ============--> #if: {{{MR|}}} |{{{Sep|,}}}&#32;{{MathSciNet|id={{{MR}}}}} }}{{ <!--============ ZBL ============--> #if: {{{ZBL|}}} |{{{Sep|,}}}&#32;{{Zbl|{{{ZBL}}}}} }}{{ <!--============ Archive data, etc ===========--> #if: {{{Archive|}}} |{{{Sep|,}}}&#32;{{{Archive}}}[[Κατηγορία:Pages using deprecated citation archive parameters]] |{{ #if:{{{ArchiveURL|}}}{{{ArchiveDate|}}} |{{{Sep|,}}}&#32;{{#ifeq:{{{Sep}}}|.|Α|α}}ρχειοθετήθηκε{{ #if:{{{OriginalURL|}}}{{{IncludedWorkURL|}}} |{{#if:{{{ArchiveURL|}}}|&#32;από {{Citation/make link|{{{OriginalURL|{{{IncludedWorkURL|}}}}}}|το πρωτότυπο}}}} }}{{ #if:{{{ArchiveDate|}}} |&#32;στις {{{ArchiveDate}}} }}{{ #if:{{#if:{{{ArchiveURL|}}}||A}}{{#if:{{{OriginalURL|}}}{{{IncludedWorkURL|}}}||B}}{{#if:{{{ArchiveDate|}}}||C}} |. {{citation error |Αν ορίσετε <code>&#124;{{#if:{{{ArchiveURL|}}}|archiveurl|archivedate}}&#61;</code>, πρέπει {{#if:{{{OriginalURL|}}}{{{IncludedWorkURL|}}}| επίσης να ορίσετε <code>&#124;{{#if:{{{ArchiveURL|}}}|archivedate|archiveurl}}&#61;</code>|πρώτα να ορίσετε <code>&#124;url&#61;</code>}}}} }} }} }}{{ <!--============ URL and AccessDate ============--> #if: {{{URL|}}}{{{IncludedWorkURL|}}} |{{ #if: {{{Title|}}}{{{IncludedWorkTitle|}}}{{{TransTitle|}}} |<span class="printonly">{{{Sep|,}}}&#32;{{ #if: {{{IncludedWorkURL|}}} |{{{IncludedWorkURL}}} |{{{URL}}} }}</span> |{{{Sep|,}}}&#32;{{ #if: {{{IncludedWorkURL|}}} |{{{IncludedWorkURL}}} |{{{URL}}} }} }}{{ #if: {{{AccessDate|}}} | <span class="reference-accessdate">{{#ifeq:{{{Sep|,}}}|,|,&#32;α|.&#32;Α}}νακτήθηκε στις {{{AccessDate}}}</span> }} }}{{#if:{{{laysummary|}}} |{{{Sep|,}}}&#32;[{{{laysummary}}} Lay summary]{{#if: {{{laysource|}}}|&nbsp;&ndash;&nbsp;''<nowiki />{{{laysource}}}<nowiki />''}} }}{{#if:{{{laydate|}}} | &#32;({{{laydate}}}) }}{{#if:{{{quote|}}} |{{{Sep|,}}}&#32;''«{{{quote}}}»'' }}{{{PS|}}}</span><!-- === This is a COinS tag (http://ocoins.info), which allows automated tools to parse the citation information: === --><span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt={{urlencode:info:ofi/fmt:kev:mtx:}}{{ #if: {{{Periodical|}}} |journal&rft.genre=article&rft.atitle={{urlencode:{{{Title|}}}}}&rft.jtitle={{urlencode:{{{Periodical|}}}}} |book{{ #if: {{{IncludedWorkTitle|}}} |&rft.genre=bookitem&rft.btitle={{urlencode:{{{IncludedWorkTitle|}}}}}&rft.atitle={{urlencode:{{{Title|}}}}} |&rft.genre=book&rft.btitle={{urlencode:{{{Title|}}}}} }} }}{{ #if: {{{Surname1|}}} |&rft.aulast={{urlencode:{{{Surname1}}}}}{{ #if: {{{Given1|}}} |&rft.aufirst={{urlencode:{{{Given1}}}}} }} }}{{ #if: {{{Surname1|}}} |&rft.au={{urlencode:{{{Surname1}}}}}{{ #if: {{{Given1|}}} |{{urlencode:{{{NameSep|,&#32;}}}{{{Given1}}}}} }} }}{{ #if: {{{Surname2|}}} |&rft.au={{urlencode:{{{Surname2}}}}}{{ #if: {{{Given2|}}} |{{urlencode:{{{NameSep|,&#32;}}}{{{Given2}}}}} }} }}{{ #if: {{{Surname3|}}} |&rft.au={{urlencode:{{{Surname3}}}}}{{ #if: {{{Given3|}}} |{{urlencode:{{{NameSep|,&#32;}}}{{{Given3}}}}} }} }}{{ #if: {{{Surname4|}}} |&rft.au={{urlencode:{{{Surname4}}}}}{{ #if: {{{Given4|}}} |{{urlencode:{{{NameSep|,&#32;}}}{{{Given4}}}}} }} }}{{ #if: {{{Surname5|}}} |&rft.au={{urlencode:{{{Surname5}}}}}{{ #if: {{{Given5|}}} |{{urlencode:{{{NameSep|,&#32;}}}{{{Given5}}}}} }} }}{{ #if: {{{Surname6|}}} |&rft.au={{urlencode:{{{Surname6}}}}}{{ #if: {{{Given6|}}} |{{urlencode:{{{NameSep|,&#32;}}}{{{Given6}}}}} }} }}{{ #if: {{{Surname7|}}} |&rft.au={{urlencode:{{{Surname7}}}}}{{ #if: {{{Given7|}}} |{{urlencode:{{{NameSep|,&#32;}}}{{{Given7}}}}} }} }}{{ #if: {{{Surname8|}}} |&rft.au={{urlencode:{{{Surname8}}}}}{{ #if: {{{Given8|}}} |{{urlencode:{{{NameSep|,&#32;}}}{{{Given8}}}}} }} }}{{ #if: {{{Surname9|}}} |&rft.au={{urlencode:{{{Surname9}}}}}{{ #if: {{{Given9|}}} |{{urlencode:{{{NameSep|,&#32;}}}{{{Given9}}}}} }} }}{{ #if: {{{Date|}}} |&rft.date={{urlencode:{{{Date}}}}} }}{{ #if: {{{Series|}}} |&rft.series={{urlencode:{{{Series}}}}} }}{{ #if: {{{Volume|}}} |&rft.volume={{urlencode:{{{Volume}}}}} }}{{ #if: {{{Issue|}}} |&rft.issue={{urlencode:{{{Issue}}}}} }}{{ #if: {{{At|}}} |&rft.pages={{urlencode:{{{At}}}}} }}{{ #if: {{{Edition|}}} |&rft.edition={{urlencode:{{{Edition}}}}} }}{{ #if: {{{PublicationPlace|}}}{{{Place|}}} |&rft.place={{urlencode:{{{PublicationPlace|{{{Place}}}}}}}} }}{{ #if: {{{Publisher|}}} |&rft.pub={{urlencode:{{{Publisher}}}}} }}{{ #if: {{{DOI|}}} |&rft_id=info:doi/{{urlencode:{{{DOI}}}}} }}{{ #if: {{{PMID|}}} |&rft_id=info:pmid/{{urlencode:{{{PMID}}}}} }}{{ #if: {{{Bibcode|}}} |&rft_id=info:bibcode/{{urlencode:{{{Bibcode}}}}} }}{{ #if: {{{OCLC|}}} |&rft_id=info:oclcnum/{{urlencode:{{{OCLC}}}}} }}{{ #if: {{{ISBN|}}} |&rft.isbn={{urlencode:{{{ISBN}}}}} }}{{ #if: {{{ISSN|}}} |&rft.issn={{urlencode:{{{ISSN}}}}} }}{{ #if: {{{URL|}}}{{{IncludedWorkURL|}}} |&rft_id={{urlencode:{{{URL|{{{IncludedWorkURL|}}}}}}}} }}&rfr_id=info:sid/el.wikipedia.org:{{FULLPAGENAMEE}}"><span style="display: none;">&nbsp;</span></span><noinclude> {{documentation}} </noinclude> sxxqqfvammeshgr1gmcc2wixpqc78k3 Πρότυπον:Citation/make link 10 3487 36706 2025-12-15T22:41:44Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#if:{{{1|}}} |[{{{1}}} {{{2}}}] |{{{2}}} }}<noinclude><!-- Code notes (here so that people /read/ it) 1. Parameter #2 is always nonempty when called from {{Citation/core}}. 2. It's up to {{Citation/core}} to stop italicized "'foo' & 'bar'" from becoming "'''foo' & 'bar'''". Citation/core does this by having a <nowiki></nowiki> at both beginning and end of the call to this template. Since this is only needed once, it's more...' 36706 wikitext text/x-wiki {{#if:{{{1|}}} |[{{{1}}} {{{2}}}] |{{{2}}} }}<noinclude><!-- Code notes (here so that people /read/ it) 1. Parameter #2 is always nonempty when called from {{Citation/core}}. 2. It's up to {{Citation/core}} to stop italicized "'foo' & 'bar'" from becoming "'''foo' & 'bar'''". Citation/core does this by having a <nowiki></nowiki> at both beginning and end of the call to this template. Since this is only needed once, it's more efficient to do it in {{Citation/core}} than here. -->{{documentation}}</noinclude> kpq1iofpfn0fdo5bshpu1vjve3ehx2d Πρότυπον:Citation Style documentation/usage 10 3488 36708 2025-12-15T22:45:37Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'Copy a blank version to use. All parameter names must be in lowercase. Use the "|" (pipe) character between each parameter. Delete unused parameters to avoid clutter in the edit window. Some samples may include the current date. If the date is not current, then {{purge|purge}} the page.' 36708 wikitext text/x-wiki Copy a blank version to use. All parameter names must be in lowercase. Use the "|" (pipe) character between each parameter. Delete unused parameters to avoid clutter in the edit window. Some samples may include the current date. If the date is not current, then {{purge|purge}} the page. r9871arvco4xk4omc11y1i8p2fiufou Πρότυπον:Citation Style documentation/usage full 10 3489 36709 2025-12-15T22:46:31Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{| class="wikitable" style="width: 100%" |+ Full parameter set in horizontal format |- style="vertical-align:top;" |' 36709 wikitext text/x-wiki {| class="wikitable" style="width: 100%" |+ Full parameter set in horizontal format |- style="vertical-align:top;" | ibig78ze0cv5pm1gtveggipwk9so1ba Πρότυπον:Citation Style documentation 10 3490 36710 2025-12-15T22:47:16Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{Citation Style documentation/{{{1|}}} |aliases={{{aliases|}}} |aliases2={{{aliases2|}}} |type_default={{{type_default|}}} |title_format={{{title_format|}}} |title_title={{{title_title|}}} |contributor={{{contributor|}}} |coauthors={{{coauthors|}}} |date2={{{date2|}}} |others={{{others|}}} |cs2={{{cs2|}}} |lua={{{lua|}}} |map={{{map|}}} |pmc={{{pmc|}}} |work={{{work|}}} |department={{{department|}}} |began={{{began|}}} |link={{{link|}...' 36710 wikitext text/x-wiki <includeonly>{{Citation Style documentation/{{{1|}}} |aliases={{{aliases|}}} |aliases2={{{aliases2|}}} |type_default={{{type_default|}}} |title_format={{{title_format|}}} |title_title={{{title_title|}}} |contributor={{{contributor|}}} |coauthors={{{coauthors|}}} |date2={{{date2|}}} |others={{{others|}}} |cs2={{{cs2|}}} |lua={{{lua|}}} |map={{{map|}}} |pmc={{{pmc|}}} |work={{{work|}}} |department={{{department|}}} |began={{{began|}}} |link={{{link|}}} |2={{{2|}}} |3={{{3|}}} }}</includeonly><noinclude> {{documentation}} </noinclude> jxezmdrak0tney4v5yk2wz62a1rj81r Module:Convert/text 828 3491 36711 2025-12-15T22:48:06Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Text used by Module:Convert for enwiki. -- This is a separate module to simplify translation for use on another wiki. -- See [[:en:Template:Convert/Transwiki guide]] if copying to another wiki. -- Some units accept an SI prefix before the unit code, such as "kg" for kilogram. local SIprefixes = { -- The prefix field is what the prefix should be, if different from the prefix used. ['Y'] = { exponent = 24, name = 'yotta', }, [...' 36711 Scribunto text/plain -- Text used by Module:Convert for enwiki. -- This is a separate module to simplify translation for use on another wiki. -- See [[:en:Template:Convert/Transwiki guide]] if copying to another wiki. -- Some units accept an SI prefix before the unit code, such as "kg" for kilogram. local SIprefixes = { -- The prefix field is what the prefix should be, if different from the prefix used. ['Y'] = { exponent = 24, name = 'yotta', }, ['Z'] = { exponent = 21, name = 'zetta', }, ['E'] = { exponent = 18, name = 'exa' , }, ['P'] = { exponent = 15, name = 'peta' , }, ['T'] = { exponent = 12, name = 'tera' , }, ['G'] = { exponent = 9, name = 'giga' , }, ['M'] = { exponent = 6, name = 'mega' , }, ['k'] = { exponent = 3, name = 'kilo' , }, ['h'] = { exponent = 2, name = 'hecto', }, ['da']= { exponent = 1, name = 'deca' , name_us = 'deka' }, ['d'] = { exponent = -1, name = 'deci' , }, ['c'] = { exponent = -2, name = 'centi', }, ['m'] = { exponent = -3, name = 'milli', }, ['μ'] = { exponent = -6, name = 'micro', }, -- key = 'GREEK SMALL LETTER MU' (U+03BC) utf-8 CE BC ['µ'] = { exponent = -6, name = 'micro', prefix = 'μ' }, -- key = 'MICRO SIGN' (U+00B5) utf-8 C2 B5 ['u'] = { exponent = -6, name = 'micro', prefix = 'μ' }, -- not an SI prefix, but allow for people typing this ['n'] = { exponent = -9, name = 'nano' , }, ['p'] = { exponent =-12, name = 'pico' , }, ['f'] = { exponent =-15, name = 'femto', }, ['a'] = { exponent =-18, name = 'atto' , }, ['z'] = { exponent =-21, name = 'zepto', }, ['y'] = { exponent =-24, name = 'yocto', }, } -- Some units can be qualified with one of the following prefixes, when linked. local customary_units = { { "US", link = "United States customary units" }, { "U.S.", link = "United States customary units" }, { "imperial", link = "Imperial units" }, { "imp", link = "Imperial units" }, } -- Names when using engineering notation (a prefix of "eN" where N is a number; example "e6km"). -- key = { "name", link = "article title", exponent = numeric_key_value } -- If lk=on and link is defined, the name of the number will appear as a link. local eng_scales = { ["3"] = { "thousand", exponent = 3 }, ["6"] = { "million", exponent = 6 }, ["9"] = { "billion", link = "1000000000 (number)", exponent = 9 }, ["12"] = { "trillion", link = "1000000000000 (number)", exponent = 12 }, ["15"] = { "quadrillion", link = "1000000000000000 (number)", exponent = 15 }, } local all_categories = { unit = "[[Category:Convert errors]]", option = "[[Category:Convert errors]]", warning = '[[Category:Convert invalid options]]', tracking = '[[Category:Convert tracking]]', } -- For some error messages, the following puts the wanted style around -- each unit code marked like '...%{ft%}...'. local unitcode_regex = '%%([{}])' local unitcode_replace = { ['{'] = '"', ['}'] = '"' } -- no longer need the more elaborate substitute used before 2013-09-28 -- All messages that may be displayed if a problem occurs. local all_messages = { -- Message format string: $1=title, $2=text, $3=category, $4=anchor. -- Each displayed message starts with "Convert:" so can easily locate by searching article. cvt_format = '<sup class="noprint Inline-Template" style="white-space:nowrap;">[<i>[[Help:Convert messages#$4|<span title="Convert: $1">convert: $2</span>]]</i>]</sup>$3<span class="error"></span>', cvt_format2 = '<sup class="noprint Inline-Template" style="white-space:nowrap;">[[Help:Convert messages#$4|<span title="Convert: $1">$2</span>]]</sup>$3<span class="error"></span>', cvt_format_preview = '<strong class="error">Error in convert: $1 [[Help:Convert messages#$4|(help)]]</strong>$3', -- Each of following messages is a table: -- { [1] = 'title', -- mouseover title text -- [2] = 'text', -- link text displayed in article -- [3] = 'category key', -- key to lookup category in all_categories -- [4] = 'anchor', -- anchor for link to relevant section on help page -- regex = gsub_regex, -- replace = gsub_table, -- } Mouseover title text Link text CatKey Anchor cvt_bad_input = { 'input "$1" must be a number and unit' , 'invalid input' , 'option', 'invalid_input' }, cvt_bad_num = { 'Value "$1" must be a number' , 'invalid number' , 'option', 'invalid_number' }, cvt_big_prec = { 'Precision "$1" is too large' , 'precision too large' , 'option', 'precision_too_large' }, cvt_invalid_num = { 'Number has overflowed' , 'number overflow' , 'option', 'number_overflow' }, cvt_no_num = { 'Needs the number to be converted' , 'needs a number' , 'option', 'needs_number' }, cvt_no_num2 = { 'Needs another number for a range' , 'needs another number', 'option', 'needs_another_number' }, cvt_bad_frac = { '"$1" needs an integer above 1' , 'invalid fraction' , 'option', 'invalid_fraction' }, cvt_bad_prec = { 'Precision "$1" must be an integer' , 'invalid precision' , 'option', 'invalid_precision' }, cvt_bad_sigfig = { '"$1" needs a positive integer' , 'invalid sigfig' , 'option', 'invalid_sigfig' }, cvt_empty_option = { 'Ignored empty option "$1"' , 'empty option' , 'option', 'empty_option' }, cvt_deprecated = { 'Option "$1" is deprecated' , '*' , 'option', 'deprecated_option', format = 'cvt_format2', nowarn = true }, cvt_no_spell = { 'Spelling is not available' , 'bug, ask for help' , 'option', 'ask_for_help' }, cvt_unknown_option = { 'Ignored invalid option "$1"' , 'invalid option' , 'option', 'invalid_option' }, cvt_wd_fail = { 'Unable to access Wikidata' , 'wikidata problem' , 'option', 'wikidata_problem' }, cvt_bad_default = { 'Unit "$1" has an invalid default' , 'bug, ask for help' , 'unit' , 'ask_for_help' }, cvt_bad_unit = { 'Unit "$1" is invalid here' , 'unit invalid here' , 'unit' , 'unit_invalid_here' }, cvt_no_default = { 'Unit "$1" has no default output unit' , 'bug, ask for help' , 'unit' , 'ask_for_help' }, cvt_no_unit = { 'Needs name of unit' , 'needs unit name' , 'unit' , 'needs_unit_name' }, cvt_unknown = { 'Unit name "$1" is not known' , 'unknown unit' , 'unit' , 'unknown_unit' }, cvt_should_be = { '$1' , 'ambiguous unit' , 'unit' , 'ambiguous_unit', regex = unitcode_regex, replace = unitcode_replace }, cvt_mismatch = { 'Cannot convert "$1" to "$2"' , 'unit mismatch' , 'unit' , 'unit_mismatch' }, cvt_bug_convert = { 'Bug: Cannot convert between specified units', 'bug, ask for help' , 'unit' , 'ask_for_help' }, cvt_lookup = { 'Unit "$1" is incorrectly defined' , 'bug, ask for help' , 'unit' , 'ask_for_help' }, } -- Text to join input value/unit with output value/unit. local disp_joins = { -- [1]=before output, [2]=after output, [3]=between outputs in a combination; default "; " -- [wantname] gives default abbr=off ["or"] = { " or " , "" , " or ", wantname = true }, ["sqbr-sp"] = { " [" , "]" }, ["sqbr-nbsp"] = { "&nbsp;[" , "]" }, ["comma"] = { ", " , "" , ", " }, ["slash-sp"] = { " / " , "" , wantname = true }, ["slash-nbsp"] = { "&nbsp;/ ", "" , wantname = true }, ["slash-nosp"] = { "/" , "" , wantname = true }, ["b"] = { " (" , ")" }, ["(or)"] = { " (" , ")", " or " }, ["br"] = { "<br />" , "" , wantname = true }, ["br()"] = { "<br />(" , ")", wantname = true }, } -- Text to separate values in a range. local range_types = { -- Specifying a table requires either: -- * "off" and "on" values (for "abbr=off" and "abbr=on"), or -- * "input" and "output" values (for LHS and RHS); -- other fields are optional. -- When "adj=on|abbr=off" applies, spaces in range text are replaced with hyphens. -- With "exception = true", that also occurs with "adj=on|abbr=on". -- If "adj" is defined here, that text (unchanged) is used with "adj=on". ["+"] = " + ", [","] = ",&nbsp;", [", and"] = ", and ", [", or"] = ", or ", ["by"] = " by ", ["-"] = "–", ["to about"] = " to about ", ["and"] = { off = " and ", on = " and ", exception = true }, ["and(-)"] = { input = " and ", output = "–" }, ["or"] = { off = " or " , on = " or " , exception = true }, ["to"] = { off = " to " , on = " to " , exception = true }, ["to(-)"] = { input = "&nbsp;to ", output = "–" }, ["+/-"] = { off = "&nbsp;±&nbsp;", on = "&nbsp;±&nbsp;", adj = "&nbsp;±&nbsp;", is_range_change = true }, ["by(x)"] = { input = " by ", output = " ×&nbsp;", out_range_x = true }, ["x"] = { off = " by ", on = " ×&nbsp;", abbr_range_x = true }, ["xx"] = "&nbsp;×&nbsp;", ["*"] = "×", ["/"] = "&thinsp;/&thinsp;", -- for a table of high/low temperatures with {{convert|83|/|63|F|disp=br()|abbr=values}} } local range_aliases = { -- ["alternative name for a range"] = "standard range name" ["–"] = "-", ["&ndash;"] = "-", ["×"] = "x", ["&times;"] = "x", ["±"] = "+/-", ["&plusmn;"] = "+/-", } -- Convert accepts range text delimited with whitespace, for example, {{convert|1 to 2|ft}}. -- In addition, the following "words" are accepted without spaces, for example, {{convert|1-2|ft}}. -- Words must be in correct order for searching, for example, 'x' after 'xx'. local range_words = { '-', '–', 'xx', 'x', '*' } local ranges = { types = range_types, aliases = range_aliases, words = range_words, } -- Valid option names. local en_option_name = { -- ["local text for option name"] = "en name used in this module" ["$"] = "$", ["abbr"] = "abbr", ["adj"] = "adj", ["comma"] = "comma", ["debug"] = "debug", ["disp"] = "disp", ["frac"] = "frac", ["input"] = "input", ["lang"] = "lang", ["lk"] = "lk", ["order"] = "order", ["qid"] = "qid", ["qual"] = "qual", ["qualifier"] = "qual", ["round"] = "round", ["sigfig"] = "sigfig", ["sing"] = "adj", -- "sing" is an old alias for "adj" ["sortable"] = "sortable", ["sp"] = "sp", ["spell"] = "spell", ["stylein"] = "stylein", ["styleout"] = "styleout", ["tracking"] = "tracking", } -- Valid option values. -- Convention: parms.opt_xxx refers to an option that is set here -- (not intended to be set by the template which invokes this module). -- Example: At enwiki, "abbr" includes: -- ["comma"] = "opt_nocomma" -- As a result, if the template uses abbr=comma, Module:Convert sets: -- parms["opt_nocomma"] = true -- parms["abbr"] = nil -- Therefore parms.abbr will be nil, or will have one of the listed values -- that do not start with "opt_". -- An option value of form "xxx?" is the same as "xxx" but shows the input as deprecated. local en_option_value = { -- $=x is handled as a special case: x should be a currency symbol that will be used instead of "$" ["abbr"] = { -- ["local text for option value"] = "en value used in this module" ["def"] = "", -- ignored (some wrapper templates call convert with "abbr=def" to mean "default abbreviation") ["h"] = "on", -- abbr=on + use "h" for hand unit (default) ["hh"] = "opt_hand_hh", -- abbr=on + use "hh" for hand unit ["in"] = "in", -- use symbol for LHS unit ["none"] = "off", -- old name for "off" ["off"] = "off", -- use name for all units ["on"] = "on", -- use symbol for all units ["out"] = "out", -- use symbol for RHS unit (default) ["unit"] = "unit", -- abbr=on but abbreviate units only: e6km → million km (not ×10⁶ km) ["values"] = "opt_values", -- show only input and output numbers, not units ["~"] = "opt_also_symbol", -- show input unit symbol as well as name }, ["adj"] = { ["mid"] = "opt_adjectival, opt_adj_mid", -- adj=on with user-specified text after input unit (between input and output) ["off"] = "", -- ignored (off is the default) ["on"] = "opt_adjectival", -- unit name is singular and hyphenated ["pre"] = "opt_one_preunit", -- user-specified text before input unit ["ri0"] = "opt_ri=0", -- round input with precision = 0 ["ri1"] = "opt_ri=1", -- round input with precision = 1 ["ri2"] = "opt_ri=2", -- round input with precision = 2 ["ri3"] = "opt_ri=3", -- round input with precision = 3 }, ["comma"] = { ["5"] = "opt_comma5", -- only use numsep grouping if 5 or more digits ["gaps"] = "opt_gaps", -- use gaps, not numsep, to separate groups of digits ["gaps3"] = "opt_gaps, opt_gaps3", -- group only in threes rather than default of no gap before a single digit after decimal mark ["off"] = "opt_nocomma", -- no numsep in input or output numbers }, ["debug"] = { ["yes"] = "opt_sortable_debug", -- make the normally hidden sort key visible }, ["disp"] = { ["5"] = "opt_round=5?", -- round output value to nearest 5 ["b"] = "b", -- join: '(...)' ["(or)"] = "(or)", -- join: '(...)' with 'or' between outputs in a combination ["br"] = "br", -- join: '<br />' ["br()"] = "br()", -- join: '<br />(...)' ["comma"] = "comma", -- join: ',' ["flip"] = "opt_flip", -- reverse order of input/output ["number"] = "opt_output_number_only", -- display output value (not input, and not output symbol/name) ["or"] = "or", -- join: 'or' ["out"] = "opt_output_only", ["output number only"] = "opt_output_number_only", ["output only"] = "opt_output_only", ["preunit"] = "opt_two_preunits", -- user-specified text before input and output units ["sqbr"] = "sqbr", -- join: '[...]' ["table"] = "opt_table", -- output is suitable for a table cell with align="right" ["tablecen"] = "opt_tablecen", -- output is suitable for a table cell with align="center" ["unit"] = "opt_input_unit_only", -- display input symbol/name (not output, and not input value) ["unit or text"] = "opt_input_unit_only, opt_ignore_error", -- display input symbol/name, or given unit code if not known ["unit2"] = "opt_output_unit_only", ["x"] = "x", -- join: <first>...<second> (user-specified text) }, -- frac=x is handled as a special case: x must be an integer (possibly in local language) = 2 or more -- input=x is handled as a special case: x should be <value><space><unitcode> or <wikidata-property-id> ["lang"] = { -- language for output digits (both en and local digits are always accepted for input) ["en"] = "opt_lang_en", -- use en digits for numbers, regardless of local language ["local"] = "opt_lang_local", -- use local digits for numbers (default, although config can change default to en) }, ["lk"] = { ["in"] = "in", -- link LHS unit name or symbol ["off"] = "off", -- do not link: same as default except for hand unit ["on"] = "on", -- link all unit names or symbols (but not twice for the same unit) ["out"] = "out", -- link RHS unit name or symbol }, ["order"] = { ["flip"] = "opt_flip", -- reverse order of input/output ["out"] = "opt_order_out", -- do not show input; instead, use order in output combination, with the first output shown as the input }, -- qid=x is handled as a special case: x should be a Wikidata Q item identifier. -- qual=x is handled as a special case: x should be a Wikidata Q item identifier. ["round"] = { ["0.5"] = "opt_round=0.5", -- round output value to nearest 0.5 ["5"] = "opt_round=5", -- round output value to nearest 5 ["10"] = "opt_round=10", -- round output value to nearest 10 (same as but clearer than "|-1") ["25"] = "opt_round=25", -- round output value to nearest 25 ["50"] = "opt_round=50", -- round output value to nearest 50 ["each"] = "opt_round_each", -- using default precision in a range, round each output separately (default uses highest precision of each item in range) }, -- sigfig=x is handled as a special case: x must be an integer (possibly in local language) = 1 or more ["sortable"] = { ["off"] = "", -- ignored (off is the default) ["on"] = "opt_sortable_on", -- output sort key for use in a sortable table, based on value from converting to a standard base unit ["debug"] = "opt_sortable_on, opt_sortable_debug", -- |sortable=debug is the same as |sortable=on|debug=yes }, ["sp"] = { ["us"] = "opt_sp_us", -- use U.S. spelling (like "meter" instead of default "metre") }, ["spell"] = { -- only English spelling is supported; not scientific notation; only some fractions ["in"] = "opt_spell_in", -- spell input value in words ["In"] = "opt_spell_in, opt_spell_upper", -- spell input value in words with first letter uppercase ["on"] = "opt_spell_in, opt_spell_out", -- spell input and output values in words ["On"] = "opt_spell_in, opt_spell_out, opt_spell_upper", -- same, with first letter of first word in result uppercase }, -- stylein=x is handled as a special case: x can be any text -- styleout=x is handled as a special case: x can be any text -- tracking=x is handled as a special case: x can be any text } return { SIprefixes = SIprefixes, all_categories = all_categories, all_messages = all_messages, currency = { ['$'] = true, ['£'] = true, ['€'] = true, ['₱'] = true, ['₽'] = true, ['¥'] = true }, customary_units = customary_units, disp_joins = disp_joins, en_option_name = en_option_name, en_option_value = en_option_value, eng_scales = eng_scales, ranges = ranges, } dhmh4lgsbtokaerxu3h0dg11g442lbk Module:Convert/data 828 3492 36712 2025-12-15T22:49:09Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Conversion data used by [[Module:Convert]] which uses mw.loadData() for -- read-only access to this module so that it is loaded only once per page. -- See [[:en:Template:Convert/Transwiki guide]] if copying to another wiki. -- -- These data tables follow: -- all_units all properties for a unit, including default output -- default_exceptions exceptions for default output ('kg' and 'g' have different defaults) -- link_exceptions...' 36712 Scribunto text/plain -- Conversion data used by [[Module:Convert]] which uses mw.loadData() for -- read-only access to this module so that it is loaded only once per page. -- See [[:en:Template:Convert/Transwiki guide]] if copying to another wiki. -- -- These data tables follow: -- all_units all properties for a unit, including default output -- default_exceptions exceptions for default output ('kg' and 'g' have different defaults) -- link_exceptions exceptions for links ('kg' and 'g' have different links) -- -- These tables are generated by a script which reads the wikitext of a page that -- documents the required properties of each unit; see [[:en:Module:Convert/doc]]. --------------------------------------------------------------------------- -- Do not change the data in this table because it is created by running -- -- a script that reads the wikitext from a wiki page (see note above). -- --------------------------------------------------------------------------- local all_units = { ["Gy"] = { _name1 = "gray", _symbol = "Gy", utype = "absorbed radiation dose", scale = 1, prefixes = 1, default = "rad", link = "Gray (unit)", }, ["rad"] = { _name1 = "rad", _symbol = "rad", utype = "absorbed radiation dose", scale = 0.01, prefixes = 1, default = "Gy", link = "Rad (unit)", }, ["cm/s2"] = { name1 = "centimetre per second squared", name1_us = "centimeter per second squared", name2 = "centimetres per second squared", name2_us = "centimeters per second squared", symbol = "cm/s<sup>2</sup>", utype = "acceleration", scale = 0.01, default = "ft/s2", link = "Gal (unit)", }, ["ft/s2"] = { name1 = "foot per second squared", name2 = "feet per second squared", symbol = "ft/s<sup>2</sup>", utype = "acceleration", scale = 0.3048, default = "m/s2", }, ["g0"] = { name1 = "standard gravity", name2 = "standard gravities", symbol = "''g<sub>0</sub>''", utype = "acceleration", scale = 9.80665, default = "m/s2", }, ["km/hs"] = { name1 = "kilometre per hour per second", name1_us = "kilometer per hour per second", name2 = "kilometres per hour per second", name2_us = "kilometers per hour per second", symbol = "km/(h⋅s)", utype = "acceleration", scale = 0.27777777777777779, default = "mph/s", link = "Acceleration", }, ["km/s2"] = { name1 = "kilometre per second squared", name1_us = "kilometer per second squared", name2 = "kilometres per second squared", name2_us = "kilometers per second squared", symbol = "km/s<sup>2</sup>", utype = "acceleration", scale = 1000, default = "mph/s", link = "Acceleration", }, ["m/s2"] = { name1 = "metre per second squared", name1_us = "meter per second squared", name2 = "metres per second squared", name2_us = "meters per second squared", symbol = "m/s<sup>2</sup>", utype = "acceleration", scale = 1, default = "ft/s2", }, ["mph/s"] = { name1 = "mile per hour per second", name2 = "miles per hour per second", symbol = "mph/s", utype = "acceleration", scale = 0.44704, default = "km/hs", link = "Acceleration", }, ["km/h/s"] = { target = "km/hs", }, ["standard gravity"] = { target = "g0", }, ["1000sqft"] = { name1 = "thousand square feet", name2 = "thousand square feet", symbol = "1000&nbsp;sq&nbsp;ft", utype = "area", scale = 92.90304, default = "m2", link = "Square foot", }, ["a"] = { _name1 = "are", _symbol = "a", utype = "area", scale = 100, prefixes = 1, default = "sqft", link = "Hectare#Are", }, ["acre"] = { symbol = "acre", usename = 1, utype = "area", scale = 4046.8564224, default = "ha", subdivs = { ["rood"] = { 4, default = "ha" }, ["sqperch"] = { 160, default = "ha" } }, }, ["acre-sing"] = { target = "acre", }, ["arpent"] = { symbol = "arpent", usename = 1, utype = "area", scale = 3418.89, default = "ha", }, ["cda"] = { name1 = "cuerda", symbol = "cda", utype = "area", scale = 3930.395625, default = "ha acre", }, ["daa"] = { name1 = "decare", symbol = "daa", utype = "area", scale = 1000, default = "km2 sqmi", }, ["dunam"] = { symbol = "dunam", usename = 1, utype = "area", scale = 1000, default = "km2 sqmi", }, ["dunum"] = { symbol = "dunum", usename = 1, utype = "area", scale = 1000, default = "km2 sqmi", link = "Dunam", }, ["ha"] = { name1 = "hectare", symbol = "ha", utype = "area", scale = 10000, default = "acre", }, ["hectare"] = { name1 = "hectare", symbol = "ha", usename = 1, utype = "area", scale = 10000, default = "acre", }, ["Irish acre"] = { name1 = "Irish acre", symbol = "Irish&nbsp;acres", utype = "area", scale = 6555.2385024, default = "ha", link = "Acre (Irish)", }, ["m2"] = { _name1 = "square metre", _name1_us= "square meter", _symbol = "m<sup>2</sup>", prefix_position= 8, utype = "area", scale = 1, prefixes = 2, default = "sqft", link = "Square metre", }, ["pondemaat"] = { name1 = "pondemaat", name2 = "pondemaat", symbol = "pond", utype = "area", scale = 3674.363358816, default = "m2", link = ":nl:pondemaat", }, ["pyeong"] = { name2 = "pyeong", symbol = "pyeong", usename = 1, utype = "area", scale = 3.3057851239669422, default = "m2", }, ["rai"] = { name2 = "rai", symbol = "rai", utype = "area", scale = 1600, default = "m2", link = "Rai (unit)", }, ["rood"] = { symbol = "rood", usename = 1, utype = "area", scale = 1011.7141056, default = "sqft m2", subdivs = { ["sqperch"] = { 40, default = "m2" } }, link = "Rood (unit)", }, ["sqfoot"] = { name1 = "square foot", name2 = "square foot", symbol = "sq&nbsp;ft", utype = "area", scale = 0.09290304, default = "m2", }, ["sqft"] = { name1 = "square foot", name2 = "square feet", symbol = "sq&nbsp;ft", utype = "area", scale = 0.09290304, default = "m2", }, ["sqin"] = { name1 = "square inch", name2 = "square inches", symbol = "sq&nbsp;in", utype = "area", scale = 0.00064516, default = "cm2", }, ["sqmi"] = { name1 = "square mile", symbol = "sq&nbsp;mi", utype = "area", scale = 2589988.110336, default = "km2", }, ["sqnmi"] = { name1 = "square nautical mile", symbol = "sq&nbsp;nmi", utype = "area", scale = 3429904, default = "km2 sqmi", link = "Nautical mile", }, ["sqperch"] = { name2 = "perches", symbol = "perch", usename = 1, utype = "area", scale = 25.29285264, default = "m2", link = "Perch (unit)#Area", }, ["sqverst"] = { symbol = "square verst", usename = 1, utype = "area", scale = 1138062.24, default = "km2 sqmi", link = "Verst", }, ["sqyd"] = { name1 = "square yard", symbol = "sq&nbsp;yd", utype = "area", scale = 0.83612736, default = "m2", }, ["tsubo"] = { name2 = "tsubo", symbol = "tsubo", usename = 1, utype = "area", scale = 3.3057851239669422, default = "m2", link = "Japanese units of measurement#Area", }, ["acres"] = { target = "acre", }, ["are"] = { target = "a", }, ["decare"] = { target = "daa", }, ["foot2"] = { target = "sqfoot", }, ["ft2"] = { target = "sqft", }, ["in2"] = { target = "sqin", symbol = "in<sup>2</sup>", }, ["km²"] = { target = "km2", }, ["mi2"] = { target = "sqmi", }, ["million acre"] = { target = "e6acre", }, ["million acres"] = { target = "e6acre", }, ["million hectares"] = { target = "e6ha", }, ["m²"] = { target = "m2", }, ["nmi2"] = { target = "sqnmi", }, ["pond"] = { target = "pondemaat", }, ["sq arp"] = { target = "arpent", }, ["sqkm"] = { target = "km2", }, ["sqm"] = { target = "m2", }, ["square verst"] = { target = "sqverst", }, ["verst2"] = { target = "sqverst", }, ["yd2"] = { target = "sqyd", }, ["m2/ha"] = { name1 = "square metre per hectare", name1_us = "square meter per hectare", name2 = "square metres per hectare", name2_us = "square meters per hectare", symbol = "m<sup>2</sup>/ha", utype = "area per unit area", scale = 0.0001, default = "sqft/acre", link = "Basal area", }, ["sqft/acre"] = { name1 = "square foot per acre", name2 = "square feet per acre", symbol = "sq&nbsp;ft/acre", utype = "area per unit area", scale = 2.295684113865932e-5, default = "m2/ha", link = "Basal area", }, ["cent"] = { name1 = "cent", symbol = "¢", utype = "cent", scale = 1, default = "cent", link = "Cent (currency)", }, ["¢"] = { target = "cent", }, ["A.h"] = { name1 = "ampere hour", symbol = "A⋅h", utype = "charge", scale = 3600, default = "coulomb", }, ["coulomb"] = { _name1 = "coulomb", _symbol = "C", utype = "charge", scale = 1, prefixes = 1, default = "e", link = "Coulomb", }, ["e"] = { name1 = "elementary charge", symbol = "''e''", utype = "charge", scale = 1.602176487e-19, default = "coulomb", }, ["g-mol"] = { name1 = "gram-mole", symbol = "g&#8209;mol", utype = "chemical amount", scale = 1, default = "lbmol", link = "Mole (unit)", }, ["gmol"] = { name1 = "gram-mole", symbol = "gmol", utype = "chemical amount", scale = 1, default = "lbmol", link = "Mole (unit)", }, ["kmol"] = { name1 = "kilomole", symbol = "kmol", utype = "chemical amount", scale = 1000, default = "lbmol", link = "Mole (unit)", }, ["lb-mol"] = { name1 = "pound-mole", symbol = "lb&#8209;mol", utype = "chemical amount", scale = 453.59237, default = "mol", link = "Mole (unit)#Other units called \"mole\"", }, ["lbmol"] = { name1 = "pound-mole", symbol = "lbmol", utype = "chemical amount", scale = 453.59237, default = "mol", link = "Mole (unit)#Other units called \"mole\"", }, ["mol"] = { name1 = "mole", symbol = "mol", utype = "chemical amount", scale = 1, default = "lbmol", link = "Mole (unit)", }, ["kgCO2/L"] = { name1 = "kilogram per litre", name1_us = "kilogram per liter", name2 = "kilograms per litre", name2_us = "kilograms per liter", symbol = "kg(CO<sub>2</sub>)/L", utype = "co2 per unit volume", scale = 1000, default = "lbCO2/USgal", link = "Exhaust gas", }, ["lbCO2/USgal"] = { name1 = "pound per US gallon", name2 = "pounds per US gallon", symbol = "lbCO2/US&nbsp;gal", utype = "co2 per unit volume", scale = 119.82642731689663, default = "kgCO2/L", link = "Exhaust gas", }, ["oz/lb"] = { per = { "oz", "lb" }, utype = "concentration", default = "mg/kg", }, ["mg/kg"] = { per = { "mg", "kg" }, utype = "concentration", default = "oz/lb", }, ["g/dm3"] = { name1 = "gram per cubic decimetre", name1_us = "gram per cubic decimeter", name2 = "grams per cubic decimetre", name2_us = "grams per cubic decimeter", symbol = "g/dm<sup>3</sup>", utype = "density", scale = 1, default = "kg/m3", link = "Density", }, ["g/L"] = { name1 = "gram per litre", name1_us = "gram per liter", name2 = "grams per litre", name2_us = "grams per liter", symbol = "g/L", utype = "density", scale = 1, default = "lb/cuin", link = "Density", }, ["g/mL"] = { name1 = "gram per millilitre", name1_us = "gram per milliliter", name2 = "grams per millilitre", name2_us = "grams per milliliter", symbol = "g/mL", utype = "density", scale = 1000, default = "lb/cuin", link = "Density", }, ["g/ml"] = { name1 = "gram per millilitre", name1_us = "gram per milliliter", name2 = "grams per millilitre", name2_us = "grams per milliliter", symbol = "g/ml", utype = "density", scale = 1000, default = "lb/cuin", link = "Density", }, ["kg/dm3"] = { name1 = "kilogram per cubic decimetre", name1_us = "kilogram per cubic decimeter", name2 = "kilograms per cubic decimetre", name2_us = "kilograms per cubic decimeter", symbol = "kg/dm<sup>3</sup>", utype = "density", scale = 1000, default = "lb/cuft", link = "Density", }, ["kg/L"] = { name1 = "kilogram per litre", name1_us = "kilogram per liter", name2 = "kilograms per litre", name2_us = "kilograms per liter", symbol = "kg/L", utype = "density", scale = 1000, default = "lb/USgal", link = "Density", }, ["kg/l"] = { name1 = "kilogram per litre", name1_us = "kilogram per liter", name2 = "kilograms per litre", name2_us = "kilograms per liter", symbol = "kg/l", utype = "density", scale = 1000, default = "lb/USgal", link = "Density", }, ["kg/m3"] = { name1 = "kilogram per cubic metre", name1_us = "kilogram per cubic meter", name2 = "kilograms per cubic metre", name2_us = "kilograms per cubic meter", symbol = "kg/m<sup>3</sup>", utype = "density", scale = 1, default = "lb/cuyd", link = "Density", }, ["lb/cuft"] = { name1 = "pound per cubic foot", name2 = "pounds per cubic foot", symbol = "lb/cu&nbsp;ft", utype = "density", scale = 16.018463373960142, default = "g/cm3", link = "Density", }, ["lb/cuin"] = { name1 = "pound per cubic inch", name2 = "pounds per cubic inch", symbol = "lb/cu&nbsp;in", utype = "density", scale = 27679.904710203122, default = "g/cm3", link = "Density", }, ["lb/cuyd"] = { name1 = "pound per cubic yard", name2 = "pounds per cubic yard", symbol = "lb/cu&nbsp;yd", utype = "density", scale = 0.5932764212577829, default = "kg/m3", link = "Density", }, ["lb/impgal"] = { name1 = "pound per imperial gallon", name2 = "pounds per imperial gallon", symbol = "lb/imp&nbsp;gal", utype = "density", scale = 99.776372663101697, default = "kg/L", link = "Density", }, ["lb/in3"] = { name1 = "pound per cubic inch", name2 = "pounds per cubic inch", symbol = "lb/cu&thinsp;in", utype = "density", scale = 27679.904710203122, default = "g/cm3", link = "Density", }, ["lb/U.S.gal"] = { name1 = "pound per U.S. gallon", name2 = "pounds per U.S. gallon", symbol = "lb/U.S.&nbsp;gal", utype = "density", scale = 119.82642731689663, default = "kg/L", link = "Density", }, ["lb/USbu"] = { name1 = "pound per US bushel", name2 = "pounds per US bushel", symbol = "lb/US&nbsp;bu", utype = "density", scale = 12.871859780974471, default = "kg/m3", link = "Bushel", }, ["lb/USgal"] = { name1 = "pound per US gallon", name2 = "pounds per US gallon", symbol = "lb/US&nbsp;gal", utype = "density", scale = 119.82642731689663, default = "kg/L", link = "Density", }, ["lbm/cuin"] = { name1 = "pound mass per cubic inch", name2 = "pounds mass per cubic inch", symbol = "lbm/cu&thinsp;in", utype = "density", scale = 27679.904710203122, default = "g/cm3", link = "Density", }, ["mg/L"] = { name1 = "milligram per litre", name1_us = "milligram per liter", name2 = "milligrams per litre", name2_us = "milligrams per liter", symbol = "mg/L", utype = "density", scale = 0.001, default = "lb/cuin", link = "Density", }, ["oz/cuin"] = { name1 = "ounce per cubic inch", name2 = "ounces per cubic inch", symbol = "oz/cu&nbsp;in", utype = "density", scale = 1729.9940443876951, default = "g/cm3", link = "Density", }, ["g/cm3"] = { per = { "g", "cm3" }, utype = "density", default = "lb/cuin", }, ["g/m3"] = { per = { "g", "m3" }, utype = "density", default = "lb/cuyd", link = "Density", }, ["Mg/m3"] = { per = { "Mg", "m3" }, utype = "density", default = "lb/cuft", }, ["mg/l"] = { per = { "mg", "l" }, utype = "density", default = "oz/cuin", }, ["μg/dL"] = { per = { "μg", "dL" }, utype = "density", default = "lb/cuin", }, ["μg/l"] = { per = { "μg", "l" }, utype = "density", default = "oz/cuin", }, ["lb/ft3"] = { target = "lb/cuft", }, ["lb/yd3"] = { target = "lb/cuyd", }, ["lbm/in3"] = { target = "lbm/cuin", }, ["mcg/dL"] = { target = "μg/dL", }, ["oz/in3"] = { target = "oz/cuin", }, ["ug/dL"] = { target = "μg/dL", }, ["ug/l"] = { target = "μg/l", }, ["B.O.T.U."] = { name1 = "Board of Trade Unit", symbol = "B.O.T.U.", utype = "energy", scale = 3600000, default = "MJ", link = "Watt-hour", }, ["bboe"] = { name1 = "barrel of oil equivalent", name2 = "barrels of oil equivalent", symbol = "bboe", utype = "energy", scale = 6117863200, default = "GJ", }, ["BOE"] = { name1 = "barrel of oil equivalent", name2 = "barrels of oil equivalent", symbol = "BOE", utype = "energy", scale = 6117863200, default = "GJ", }, ["BTU"] = { name1 = "British thermal unit", symbol = "BTU", utype = "energy", scale = 1055.05585262, default = "kJ", }, ["Btu"] = { name1 = "British thermal unit", symbol = "Btu", utype = "energy", scale = 1055.05585262, default = "kJ", }, ["BTU-39F"] = { name1 = "British thermal unit (39°F)", name2 = "British thermal units (39°F)", symbol = "BTU<sub>39°F</sub>", utype = "energy", scale = 1059.67, default = "kJ", link = "British thermal unit", }, ["Btu-39F"] = { name1 = "British thermal unit (39°F)", name2 = "British thermal units (39°F)", symbol = "Btu<sub>39°F</sub>", utype = "energy", scale = 1059.67, default = "kJ", link = "British thermal unit", }, ["BTU-59F"] = { name1 = "British thermal unit (59°F)", name2 = "British thermal units (59°F)", symbol = "BTU<sub>59°F</sub>", utype = "energy", scale = 1054.804, default = "kJ", link = "British thermal unit", }, ["Btu-59F"] = { name1 = "British thermal unit (59°F)", name2 = "British thermal units (59°F)", symbol = "Btu<sub>59°F</sub>", utype = "energy", scale = 1054.804, default = "kJ", link = "British thermal unit", }, ["BTU-60F"] = { name1 = "British thermal unit (60°F)", name2 = "British thermal units (60°F)", symbol = "BTU<sub>60°F</sub>", utype = "energy", scale = 1054.68, default = "kJ", link = "British thermal unit", }, ["Btu-60F"] = { name1 = "British thermal unit (60°F)", name2 = "British thermal units (60°F)", symbol = "Btu<sub>60°F</sub>", utype = "energy", scale = 1054.68, default = "kJ", link = "British thermal unit", }, ["BTU-63F"] = { name1 = "British thermal unit (63°F)", name2 = "British thermal units (63°F)", symbol = "BTU<sub>63°F</sub>", utype = "energy", scale = 1054.6, default = "kJ", link = "British thermal unit", }, ["Btu-63F"] = { name1 = "British thermal unit (63°F)", name2 = "British thermal units (63°F)", symbol = "Btu<sub>63°F</sub>", utype = "energy", scale = 1054.6, default = "kJ", link = "British thermal unit", }, ["BTU-ISO"] = { name1 = "British thermal unit (ISO)", name2 = "British thermal units (ISO)", symbol = "BTU<sub>ISO</sub>", utype = "energy", scale = 1055.056, default = "kJ", link = "British thermal unit", }, ["Btu-ISO"] = { target = "BTU-ISO", }, ["BTU-IT"] = { name1 = "British thermal unit (IT)", name2 = "British thermal units (IT)", symbol = "BTU<sub>IT</sub>", utype = "energy", scale = 1055.05585262, default = "kJ", link = "British thermal unit", }, ["Btu-IT"] = { name1 = "British thermal unit (IT)", name2 = "British thermal units (IT)", symbol = "Btu<sub>IT</sub>", utype = "energy", scale = 1055.05585262, default = "kJ", link = "British thermal unit", }, ["BTU-mean"] = { name1 = "British thermal unit (mean)", name2 = "British thermal units (mean)", symbol = "BTU<sub>mean</sub>", utype = "energy", scale = 1055.87, default = "kJ", link = "British thermal unit", }, ["Btu-mean"] = { name1 = "British thermal unit (mean)", name2 = "British thermal units (mean)", symbol = "Btu<sub>mean</sub>", utype = "energy", scale = 1055.87, default = "kJ", link = "British thermal unit", }, ["BTU-th"] = { name1 = "British thermal unit (thermochemical)", name2 = "British thermal units (thermochemical)", symbol = "BTU<sub>th</sub>", utype = "energy", scale = 1054.35026444, default = "kJ", link = "British thermal unit", }, ["Btu-th"] = { name1 = "British thermal unit (thermochemical)", name2 = "British thermal units (thermochemical)", symbol = "Btu<sub>th</sub>", utype = "energy", scale = 1054.35026444, default = "kJ", link = "British thermal unit", }, ["Cal"] = { name1 = "calorie", symbol = "Cal", utype = "energy", scale = 4184, default = "kJ", }, ["cal"] = { name1 = "calorie", symbol = "cal", utype = "energy", scale = 4.184, default = "J", }, ["Cal-15"] = { name1 = "Calorie (15°C)", name2 = "Calories (15°C)", symbol = "Cal<sub>15</sub>", utype = "energy", scale = 4185.8, default = "kJ", link = "Calorie", }, ["cal-15"] = { name1 = "calorie (15°C)", name2 = "calories (15°C)", symbol = "cal<sub>15</sub>", utype = "energy", scale = 4.1858, default = "J", link = "Calorie", }, ["Cal-IT"] = { name1 = "Calorie (International Steam Table)", name2 = "Calories (International Steam Table)", symbol = "Cal<sub>IT</sub>", utype = "energy", scale = 4186.8, default = "kJ", link = "Calorie", }, ["cal-IT"] = { name1 = "calorie (International Steam Table)", name2 = "calories (International Steam Table)", symbol = "cal<sub>IT</sub>", utype = "energy", scale = 4.1868, default = "J", link = "Calorie", }, ["Cal-th"] = { name1 = "Calorie (thermochemical)", name2 = "Calories (thermochemical)", symbol = "Cal<sub>th</sub>", utype = "energy", scale = 4184, default = "kJ", link = "Calorie", }, ["cal-th"] = { name1 = "calorie (thermochemical)", name2 = "calories (thermochemical)", symbol = "cal<sub>th</sub>", utype = "energy", scale = 4.184, default = "J", link = "Calorie", }, ["ccatm"] = { name1 = "cubic centimetre-atmosphere", name1_us = "cubic centimeter-atmosphere", symbol = "cc⋅atm", utype = "energy", scale = 0.101325, default = "mJ", link = "Atmosphere (unit)", }, ["CHU-IT"] = { name1 = "Celsius heat unit (International Table)", name2 = "Celsius heat units (International Table)", symbol = "CHU<sub>IT</sub>", utype = "energy", scale = 1899.100534716, default = "kJ", link = "Conversion of units#Energy", }, ["cm3atm"] = { name1 = "cubic centimetre-atmosphere", name1_us = "cubic centimeter-atmosphere", symbol = "cm<sup>3</sup>⋅atm", utype = "energy", scale = 0.101325, default = "mJ", link = "Atmosphere (unit)", }, ["cufootatm"] = { name1 = "cubic foot of atmosphere", name2 = "cubic foot of atmosphere", symbol = "cu&nbsp;ft&nbsp;atm", utype = "energy", scale = 2869.2044809344, default = "kJ", link = "Atmosphere (unit)", }, ["cufootnaturalgas"] = { name1 = "cubic foot of natural gas", name2 = "cubic foot of natural gas", symbol = "cuftnaturalgas", usename = 1, utype = "energy", scale = 1055055.85262, default = "MJ", link = "Conversion of units#Energy", }, ["cuftatm"] = { name1 = "cubic foot of atmosphere", name2 = "cubic feet of atmosphere", symbol = "cu&nbsp;ft&nbsp;atm", utype = "energy", scale = 2869.2044809344, default = "kJ", link = "Atmosphere (unit)", }, ["cuftnaturalgas"] = { name1 = "cubic foot of natural gas", name2 = "cubic feet of natural gas", symbol = "cuftnaturalgas", usename = 1, utype = "energy", scale = 1055055.85262, default = "MJ", link = "Conversion of units#Energy", }, ["cuydatm"] = { name1 = "cubic yard of atmosphere", name2 = "cubic yards of atmosphere", symbol = "cu&nbsp;yd&nbsp;atm", utype = "energy", scale = 77468.5209852288, default = "kJ", link = "Atmosphere (unit)", }, ["Eh"] = { name1 = "Hartree", symbol = "''E''<sub>h</sub>", utype = "energy", scale = 4.35974417e-18, default = "eV", }, ["erg"] = { symbol = "erg", utype = "energy", scale = 0.0000001, default = "μJ", }, ["eV"] = { name1 = "electronvolt", symbol = "eV", utype = "energy", scale = 1.602176487e-19, default = "aJ", }, ["feV"] = { name1 = "femtoelectronvolt", symbol = "feV", utype = "energy", scale = 1.602176487e-34, default = "yJ", link = "Electronvolt", }, ["foe"] = { symbol = "foe", utype = "energy", scale = 1e44, default = "YJ", link = "Foe (unit)", }, ["ftlb"] = { name1 = "foot-pound", symbol = "ft⋅lb", utype = "energy", alttype = "torque", scale = 1.3558179483314004, default = "J", link = "Foot-pound (energy)", }, ["ftlb-f"] = { name1 = "foot-pound force", name2 = "foot-pounds force", symbol = "ft⋅lb<sub>f</sub>", utype = "energy", alttype = "torque", scale = 1.3558179483314004, default = "J", link = "Foot-pound (energy)", }, ["ftlbf"] = { name1 = "foot-pound force", name2 = "foot-pounds force", symbol = "ft⋅lbf", utype = "energy", alttype = "torque", scale = 1.3558179483314004, default = "J", link = "Foot-pound (energy)", }, ["ftpdl"] = { name1 = "foot-poundal", symbol = "ft⋅pdl", utype = "energy", scale = 0.0421401100938048, default = "J", }, ["GeV"] = { name1 = "gigaelectronvolt", symbol = "GeV", utype = "energy", scale = 1.602176487e-10, default = "nJ", link = "Electronvolt", }, ["GLatm"] = { name1 = "gigalitre-atmosphere", name1_us = "gigaliter-atmosphere", symbol = "GL⋅atm", utype = "energy", scale = 101325000000, default = "GJ", link = "Atmosphere (unit)", }, ["Glatm"] = { name1 = "gigalitre-atmosphere", name1_us = "gigaliter-atmosphere", symbol = "Gl⋅atm", utype = "energy", scale = 101325000000, default = "GJ", link = "Atmosphere (unit)", }, ["gTNT"] = { name2 = "grams of TNT", symbol = "gram of TNT", usename = 1, utype = "energy", scale = 4184, default = "kJ", link = "TNT equivalent", }, ["Gtoe"] = { name1 = "gigatonne of oil equivalent", name2 = "gigatonnes of oil equivalent", symbol = "Gtoe", utype = "energy", scale = 4.1868e19, default = "EJ", link = "Tonne of oil equivalent", }, ["GtonTNT"] = { name2 = "gigatons of TNT", symbol = "gigaton of TNT", usename = 1, utype = "energy", scale = 4.184e18, default = "EJ", link = "TNT equivalent", }, ["GtTNT"] = { name2 = "gigatonnes of TNT", symbol = "gigatonne of TNT", usename = 1, utype = "energy", scale = 4.184e18, default = "EJ", link = "TNT equivalent", }, ["GW.h"] = { name1 = "gigawatt-hour", symbol = "GW⋅h", utype = "energy", scale = 3.6e12, default = "TJ", link = "Watt-hour", }, ["GWh"] = { name1 = "gigawatt-hour", symbol = "GWh", utype = "energy", scale = 3.6e12, default = "TJ", link = "Watt-hour", }, ["hph"] = { name1 = "horsepower-hour", symbol = "hp⋅h", utype = "energy", scale = 2684519.537696172792, default = "kWh", link = "Horsepower", }, ["impgalatm"] = { name1 = "imperial gallon-atmosphere", symbol = "imp gal⋅atm", utype = "energy", scale = 460.63256925, default = "J", link = "Atmosphere (unit)", }, ["inlb"] = { name1 = "inch-pound", symbol = "in⋅lb", utype = "energy", alttype = "torque", scale = 0.1129848290276167, default = "mJ", link = "Foot-pound (energy)", }, ["inlb-f"] = { name1 = "inch-pound force", name2 = "inch-pounds force", symbol = "in⋅lb<sub>f</sub>", utype = "energy", alttype = "torque", scale = 0.1129848290276167, default = "mJ", link = "Foot-pound (energy)", }, ["inlbf"] = { name1 = "inch-pound force", name2 = "inch-pounds force", symbol = "in⋅lbf", utype = "energy", alttype = "torque", scale = 0.1129848290276167, default = "mJ", link = "Foot-pound (energy)", }, ["inoz-f"] = { name1 = "inch-ounce force", name2 = "inch-ounces force", symbol = "in⋅oz<sub>f</sub>", utype = "energy", alttype = "torque", scale = 0.00706155181422604375, default = "mJ", link = "Foot-pound (energy)", }, ["inozf"] = { name1 = "inch-ounce force", name2 = "inch-ounces force", symbol = "in⋅ozf", utype = "energy", alttype = "torque", scale = 0.00706155181422604375, default = "mJ", link = "Foot-pound (energy)", }, ["J"] = { _name1 = "joule", _symbol = "J", utype = "energy", scale = 1, prefixes = 1, default = "cal", link = "Joule", }, ["kBOE"] = { name1 = "kilo barrel of oil equivalent", name2 = "kilo barrels of oil equivalent", symbol = "kBOE", utype = "energy", scale = 6.1178632e12, default = "TJ", link = "Barrel of oil equivalent", }, ["kcal"] = { name1 = "kilocalorie", symbol = "kcal", utype = "energy", scale = 4184, default = "kJ", link = "Calorie", }, ["kcal-15"] = { name1 = "kilocalorie (15°C)", name2 = "kilocalories (15°C)", symbol = "kcal<sub>15</sub>", utype = "energy", scale = 4185.8, default = "kJ", link = "Calorie", }, ["kcal-IT"] = { name1 = "kilocalorie (International Steam Table)", name2 = "kilocalories (International Steam Table)", symbol = "kcal<sub>IT</sub>", utype = "energy", scale = 4186.8, default = "kJ", link = "Calorie", }, ["kcal-th"] = { name1 = "kilocalorie (thermochemical)", name2 = "kilocalories (thermochemical)", symbol = "kcal<sub>th</sub>", utype = "energy", scale = 4184, default = "kJ", link = "Calorie", }, ["kerg"] = { name1 = "kiloerg", symbol = "kerg", utype = "energy", scale = 0.0001, default = "mJ", link = "Erg", }, ["keV"] = { name1 = "kiloelectronvolt", symbol = "keV", utype = "energy", scale = 1.602176487e-16, default = "fJ", link = "Electronvolt", }, ["kgTNT"] = { name2 = "kilograms of TNT", symbol = "kilogram of TNT", usename = 1, utype = "energy", scale = 4184000, default = "MJ", link = "TNT equivalent", }, ["kLatm"] = { name1 = "kilolitre-atmosphere", name1_us = "kiloliter-atmosphere", symbol = "kL⋅atm", utype = "energy", scale = 101325, default = "kJ", link = "Atmosphere (unit)", }, ["klatm"] = { name1 = "kilolitre-atmosphere", name1_us = "kiloliter-atmosphere", symbol = "kl⋅atm", utype = "energy", scale = 101325, default = "kJ", link = "Atmosphere (unit)", }, ["kt(TNT)"] = { name1 = "kilotonne", name1_us = "kiloton", symbol = "kt", utype = "energy", scale = 4.184e12, default = "TJ", link = "TNT equivalent", }, ["ktoe"] = { name1 = "kilotonne of oil equivalent", name2 = "kilotonnes of oil equivalent", symbol = "ktoe", utype = "energy", scale = 4.1868e13, default = "TJ", link = "Tonne of oil equivalent", }, ["ktonTNT"] = { name1 = "kiloton of TNT", name2 = "kilotons of TNT", symbol = "kt", utype = "energy", scale = 4.184e12, default = "TJ", link = "TNT equivalent", }, ["ktTNT"] = { name2 = "kilotonnes of TNT", symbol = "kilotonne of TNT", usename = 1, utype = "energy", scale = 4.184e12, default = "TJ", link = "TNT equivalent", }, ["kW.h"] = { name1 = "kilowatt-hour", symbol = "kW⋅h", utype = "energy", scale = 3600000, default = "MJ", link = "Watt-hour", }, ["kWh"] = { name1 = "kilowatt-hour", symbol = "kWh", utype = "energy", scale = 3600000, default = "MJ", link = "Watt-hour", }, ["Latm"] = { name1 = "litre-atmosphere", name1_us = "liter-atmosphere", symbol = "L⋅atm", utype = "energy", scale = 101.325, default = "J", link = "Atmosphere (unit)", }, ["latm"] = { name1 = "litre-atmosphere", name1_us = "liter-atmosphere", symbol = "l⋅atm", utype = "energy", scale = 101.325, default = "J", link = "Atmosphere (unit)", }, ["m3atm"] = { name1 = "cubic metre-atmosphere", name1_us = "cubic meter-atmosphere", symbol = "m<sup>3</sup>⋅atm", utype = "energy", scale = 101325, default = "kJ", link = "Atmosphere (unit)", }, ["Mcal"] = { name1 = "megacalorie", symbol = "Mcal", utype = "energy", scale = 4184000, default = "MJ", link = "Calorie", }, ["mcal"] = { name1 = "millicalorie", symbol = "mcal", utype = "energy", scale = 0.004184, default = "mJ", link = "Calorie", }, ["Mcal-15"] = { name1 = "megacalorie (15°C)", name2 = "megacalories (15°C)", symbol = "Mcal<sub>15</sub>", utype = "energy", scale = 4185800, default = "MJ", link = "Calorie", }, ["mcal-15"] = { name1 = "millicalorie (15°C)", name2 = "millicalories (15°C)", symbol = "mcal<sub>15</sub>", utype = "energy", scale = 0.0041858, default = "mJ", link = "Calorie", }, ["Mcal-IT"] = { name1 = "megacalorie (International Steam Table)", name2 = "megacalories (International Steam Table)", symbol = "Mcal<sub>IT</sub>", utype = "energy", scale = 4186800, default = "MJ", link = "Calorie", }, ["mcal-IT"] = { name1 = "millicalorie (International Steam Table)", name2 = "millicalories (International Steam Table)", symbol = "mcal<sub>IT</sub>", utype = "energy", scale = 0.0041868, default = "mJ", link = "Calorie", }, ["Mcal-th"] = { name1 = "megacalorie (thermochemical)", name2 = "megacalories (thermochemical)", symbol = "Mcal<sub>th</sub>", utype = "energy", scale = 4184000, default = "MJ", link = "Calorie", }, ["mcal-th"] = { name1 = "millicalorie (thermochemical)", name2 = "millicalories (thermochemical)", symbol = "mcal<sub>th</sub>", utype = "energy", scale = 0.004184, default = "mJ", link = "Calorie", }, ["Merg"] = { name1 = "megaerg", symbol = "Merg", utype = "energy", scale = 0.1, default = "J", link = "Erg", }, ["merg"] = { name1 = "millierg", symbol = "merg", utype = "energy", scale = 0.0000000001, default = "μJ", link = "Erg", }, ["MeV"] = { name1 = "megaelectronvolt", symbol = "MeV", utype = "energy", scale = 1.602176487e-13, default = "pJ", link = "Electronvolt", }, ["meV"] = { name1 = "millielectronvolt", symbol = "meV", utype = "energy", scale = 1.602176487e-22, default = "zJ", link = "Electronvolt", }, ["MLatm"] = { name1 = "megalitre-atmosphere", name1_us = "megaliter-atmosphere", symbol = "ML⋅atm", utype = "energy", scale = 101325000, default = "MJ", link = "Atmosphere (unit)", }, ["Mlatm"] = { name1 = "megalitre-atmosphere", name1_us = "megaliter-atmosphere", symbol = "Ml⋅atm", utype = "energy", scale = 101325000, default = "MJ", link = "Atmosphere (unit)", }, ["mLatm"] = { name1 = "millilitre-atmosphere", name1_us = "milliliter-atmosphere", symbol = "L⋅atm", utype = "energy", scale = 0.101325, default = "mJ", link = "Atmosphere (unit)", }, ["mlatm"] = { name1 = "millilitre-atmosphere", name1_us = "milliliter-atmosphere", symbol = "l⋅atm", utype = "energy", scale = 0.101325, default = "mJ", link = "Atmosphere (unit)", }, ["MMBtu"] = { name1 = "million British thermal units", name2 = "million British thermal units", symbol = "MMBtu", utype = "energy", scale = 1055055852.62, default = "GJ", link = "British thermal unit", }, ["Mt(TNT)"] = { name1 = "megatonne", name1_us = "megaton", symbol = "Mt", utype = "energy", scale = 4.184e15, default = "PJ", link = "TNT equivalent", }, ["Mtoe"] = { name1 = "megatonne of oil equivalent", name2 = "megatonnes of oil equivalent", symbol = "Mtoe", utype = "energy", scale = 4.1868e16, default = "PJ", link = "Tonne of oil equivalent", }, ["MtonTNT"] = { name1 = "megaton of TNT", name2 = "megatons of TNT", symbol = "Mt", utype = "energy", scale = 4.184e15, default = "PJ", link = "TNT equivalent", }, ["mtonTNT"] = { name2 = "millitons of TNT", symbol = "milliton of TNT", usename = 1, utype = "energy", scale = 4184000, default = "MJ", link = "TNT equivalent", }, ["MtTNT"] = { name2 = "megatonnes of TNT", symbol = "megatonne of TNT", usename = 1, utype = "energy", scale = 4.184e15, default = "PJ", link = "TNT equivalent", }, ["mtTNT"] = { name2 = "millitonnes of TNT", symbol = "millitonne of TNT", usename = 1, utype = "energy", scale = 4184000, default = "MJ", link = "TNT equivalent", }, ["MW.h"] = { name1 = "megawatt-hour", symbol = "MW⋅h", utype = "energy", scale = 3600000000, default = "GJ", link = "Watt-hour", }, ["mW.h"] = { name1 = "milliwatt-hour", symbol = "mW⋅h", utype = "energy", scale = 3.6, default = "J", link = "Watt-hour", }, ["MWh"] = { name1 = "megawatt-hour", symbol = "MWh", utype = "energy", scale = 3600000000, default = "GJ", link = "Watt-hour", }, ["mWh"] = { name1 = "milliwatt-hour", symbol = "mWh", utype = "energy", scale = 3.6, default = "J", link = "Watt-hour", }, ["neV"] = { name1 = "nanoelectronvolt", symbol = "neV", utype = "energy", scale = 1.602176487e-28, default = "yJ", link = "Electronvolt", }, ["PeV"] = { name1 = "petaelectronvolt", symbol = "PeV", utype = "energy", scale = 0.0001602176487, default = "mJ", link = "Electronvolt", }, ["peV"] = { name1 = "picoelectronvolt", symbol = "peV", utype = "energy", scale = 1.602176487e-31, default = "yJ", link = "Electronvolt", }, ["PSh"] = { name1 = "Pferdestärkenstunde", symbol = "PSh", utype = "energy", scale = 2647795.5, default = "kWh", }, ["quad"] = { name1 = "quadrillion British thermal units", name2 = "quadrillion British thermal units", symbol = "quad", utype = "energy", scale = 1.054804e18, default = "EJ", link = "Quad (unit)", }, ["Ry"] = { name1 = "rydberg", symbol = "Ry", utype = "energy", scale = 2.1798741e-18, default = "eV", link = "Rydberg constant", }, ["scc"] = { name1 = "standard cubic centimetre", name1_us = "standard cubic centimeter", symbol = "scc", utype = "energy", scale = 0.101325, default = "mJ", link = "Atmosphere (unit)", }, ["scf"] = { name1 = "standard cubic foot", name2 = "standard cubic feet", symbol = "scf", utype = "energy", scale = 2869.2044809344, default = "kJ", link = "Atmosphere (unit)", }, ["scfoot"] = { name1 = "standard cubic foot", name2 = "standard cubic foot", symbol = "scf", utype = "energy", scale = 2869.2044809344, default = "kJ", link = "Atmosphere (unit)", }, ["scy"] = { name1 = "standard cubic yard", symbol = "scy", utype = "energy", scale = 77468.5209852288, default = "kJ", link = "Atmosphere (unit)", }, ["sl"] = { name1 = "standard litre", name1_us = "standard liter", symbol = "sl", utype = "energy", scale = 101.325, default = "J", link = "Atmosphere (unit)", }, ["t(TNT)"] = { name1 = "tonne", name1_us = "ton", symbol = "t", utype = "energy", scale = 4184000000, default = "GJ", link = "TNT equivalent", }, ["TeV"] = { name1 = "teraelectronvolt", symbol = "TeV", utype = "energy", scale = 1.602176487e-7, default = "μJ", link = "Electronvolt", }, ["th"] = { name1 = "thermie", symbol = "th", utype = "energy", scale = 4186800, default = "MJ", link = "Conversion of units#Energy", }, ["thm-EC"] = { name1 = "therm (EC)", name2 = "therms (EC)", symbol = "thm (EC)", utype = "energy", scale = 105506000, default = "MJ", link = "Therm", }, ["thm-UK"] = { name1 = "therm (UK)", name2 = "therms (UK)", symbol = "thm (UK)", utype = "energy", scale = 105505585.257348, default = "MJ", link = "Therm", }, ["thm-US"] = { name1 = "therm (US)", name1_us = "therm (U.S.)", name2 = "therms (US)", name2_us = "therms (U.S.)", symbol = "thm (US)", sym_us = "thm (U.S.)", utype = "energy", scale = 105480400, default = "MJ", link = "Therm", }, ["toe"] = { name1 = "tonne of oil equivalent", name2 = "tonnes of oil equivalent", symbol = "toe", utype = "energy", scale = 41868000000, default = "GJ", }, ["tonTNT"] = { name2 = "tons of TNT", symbol = "ton of TNT", usename = 1, utype = "energy", scale = 4184000000, default = "GJ", link = "TNT equivalent", }, ["tTNT"] = { name2 = "tonnes of TNT", symbol = "tonne of TNT", usename = 1, utype = "energy", scale = 4184000000, default = "GJ", link = "TNT equivalent", }, ["TtonTNT"] = { name2 = "teratons of TNT", symbol = "teraton of TNT", usename = 1, utype = "energy", scale = 4.184e21, default = "ZJ", link = "TNT equivalent", }, ["TtTNT"] = { name2 = "teratonnes of TNT", symbol = "teratonne of TNT", usename = 1, utype = "energy", scale = 4.184e21, default = "ZJ", link = "TNT equivalent", }, ["TW.h"] = { name1 = "terawatt-hour", symbol = "TW⋅h", utype = "energy", scale = 3.6e15, default = "PJ", link = "Watt-hour", }, ["TWh"] = { name1 = "terawatt-hour", symbol = "TWh", utype = "energy", scale = 3.6e15, default = "PJ", link = "Watt-hour", }, ["USgalatm"] = { name1 = "US gallon-atmosphere", name1_us = "U.S. gallon-atmosphere", symbol = "US&nbsp;gal⋅atm", sym_us = "U.S.&nbsp;gal⋅atm", utype = "energy", scale = 383.5568490138, default = "J", link = "Atmosphere (unit)", }, ["W.h"] = { name1 = "watt-hour", symbol = "W⋅h", utype = "energy", scale = 3600, default = "kJ", }, ["Wh"] = { name1 = "watt-hour", symbol = "Wh", utype = "energy", scale = 3600, default = "kJ", }, ["μerg"] = { name1 = "microerg", symbol = "μerg", utype = "energy", scale = 1e-13, default = "nJ", link = "Erg", }, ["μeV"] = { name1 = "microelectronvolt", symbol = "μeV", utype = "energy", scale = 1.602176487e-25, default = "yJ", link = "Electronvolt", }, ["μW.h"] = { name1 = "microwatt-hour", symbol = "μW⋅h", utype = "energy", scale = 0.0036, default = "mJ", link = "Watt-hour", }, ["μWh"] = { name1 = "microwatt-hour", symbol = "μWh", utype = "energy", scale = 0.0036, default = "mJ", link = "Watt-hour", }, ["-kW.h"] = { target = "kW.h", link = "Kilowatt hour", }, ["btu"] = { target = "BTU", }, ["Calorie"] = { target = "Cal", }, ["ft.lbf"] = { target = "ftlbf", }, ["ft·lbf"] = { target = "ftlbf", }, ["g-cal-15"] = { target = "cal-15", }, ["g-cal-IT"] = { target = "cal-IT", }, ["g-cal-th"] = { target = "cal-th", }, ["g-kcal-15"] = { target = "kcal-15", }, ["g-kcal-IT"] = { target = "kcal-IT", }, ["g-kcal-th"] = { target = "kcal-th", }, ["g-Mcal-15"] = { target = "Mcal-15", }, ["g-mcal-15"] = { target = "mcal-15", }, ["g-Mcal-IT"] = { target = "Mcal-IT", }, ["g-mcal-IT"] = { target = "mcal-IT", }, ["g-Mcal-th"] = { target = "Mcal-th", }, ["g-mcal-th"] = { target = "mcal-th", }, ["GW-h"] = { target = "GW.h", }, ["GW·h"] = { target = "GW.h", }, ["Hartree"] = { target = "Eh", }, ["hp.h"] = { target = "hph", }, ["in.lb-f"] = { target = "inlb-f", }, ["in.lbf"] = { target = "inlbf", }, ["in.oz-f"] = { target = "inoz-f", }, ["in.ozf"] = { target = "inozf", }, ["kbboe"] = { target = "kBOE", symbol = "kbboe", }, ["kg-cal-15"] = { target = "Cal-15", }, ["kg-cal-IT"] = { target = "Cal-IT", }, ["kg-cal-th"] = { target = "Cal-th", }, ["kW-h"] = { target = "kW.h", }, ["kW·h"] = { target = "kW.h", }, ["MW-h"] = { target = "MW.h", }, ["mW-h"] = { target = "mW.h", }, ["MW·h"] = { target = "MW.h", }, ["TW-h"] = { target = "TW.h", }, ["U.S.galatm"] = { target = "USgalatm", sp_us = true, }, ["uerg"] = { target = "μerg", }, ["ueV"] = { target = "μeV", }, ["usgalatm"] = { target = "USgalatm", }, ["uW-h"] = { target = "μW.h", }, ["uW.h"] = { target = "μW.h", }, ["uWh"] = { target = "μWh", }, ["W-h"] = { target = "W.h", }, ["eVpar"] = { _name1 = "electronvolt", _symbol = "eV", utype = "energy per chemical amount", scale = 96485.329522144166, prefixes = 1, default = "kcal/mol", link = "Electronvolt", }, ["kcal/mol"] = { per = { "kcal", "mol" }, utype = "energy per chemical amount", default = "kJ/mol", link = "Kilocalorie per mole", }, ["kJ/mol"] = { per = { "kJ", "mol" }, utype = "energy per chemical amount", default = "kcal/mol", link = "Joule per mole", }, ["kWh/100 km"] = { name1 = "kilowatt-hour per 100 kilometres", name1_us = "kilowatt-hour per 100 kilometers", name2 = "kilowatt-hours per 100 kilometres", name2_us = "kilowatt-hours per 100 kilometers", symbol = "kW⋅h/100&nbsp;km", utype = "energy per unit length", scale = 36, default = "MJ/km kWh/mi", link = "Watt-hour", }, ["kWh/100 mi"] = { name1 = "kilowatt-hour per 100 miles", name2 = "kilowatt-hours per 100 miles", symbol = "kW⋅h/100&nbsp;mi", utype = "energy per unit length", scale = 22.3694, default = "mpge", link = "Miles per gallon gasoline equivalent", }, ["MJ/100 km"] = { name1 = "megajoule per 100 kilometres", name1_us = "megajoule per 100 kilometers", name2 = "megajoules per 100 kilometres", name2_us = "megajoules per 100 kilometers", symbol = "MJ/100&nbsp;km", utype = "energy per unit length", scale = 10, default = "BTU/mi", link = "British thermal unit", }, ["mpge"] = { name1 = "mile per gallon gasoline equivalent", name2 = "miles per gallon gasoline equivalent", symbol = "mpg&#8209;e", utype = "energy per unit length", scale = 13e-6, invert = -1, iscomplex= true, default = "kWh/100 mi", link = "Miles per gallon gasoline equivalent", }, ["BTU/mi"] = { per = { "BTU", "mi" }, utype = "energy per unit length", default = "v > 1525 ! M ! k ! J/km", }, ["kJ/km"] = { per = { "kJ", "km" }, utype = "energy per unit length", default = "BTU/mi", }, ["kWh/km"] = { per = { "-kW.h", "km" }, utype = "energy per unit length", default = "MJ/km kWh/mi", }, ["kWh/mi"] = { per = { "-kW.h", "mi" }, utype = "energy per unit length", default = "kWh/km MJ/km", }, ["MJ/km"] = { per = { "MJ", "km" }, utype = "energy per unit length", default = "BTU/mi", }, ["mpg-e"] = { target = "mpge", }, ["BTU/lb"] = { name1 = "British thermal unit per pound", name2 = "British thermal units per pound", symbol = "BTU/lb", utype = "energy per unit mass", scale = 429.92261414790346, default = "kJ/kg", link = "British thermal unit", }, ["cal/g"] = { name1 = "calorie per gram", name2 = "calories per gram", symbol = "cal/g", utype = "energy per unit mass", scale = 4184, default = "J/g", }, ["GJ/kg"] = { name1 = "gigajoule per kilogram", name2 = "gigajoules per kilogram", symbol = "GJ/kg", utype = "energy per unit mass", scale = 1e9, default = "ktTNT/t", link = "Specific energy", }, ["J/g"] = { name1 = "joule per gram", name2 = "joules per gram", symbol = "J/g", utype = "energy per unit mass", scale = 1000, default = "kcal/g", link = "Specific energy", }, ["kcal/g"] = { name1 = "kilocalorie per gram", name2 = "kilocalories per gram", symbol = "kcal/g", utype = "energy per unit mass", scale = 4184000, default = "kJ/g", }, ["kJ/g"] = { name1 = "kilojoule per gram", name2 = "kilojoules per gram", symbol = "kJ/g", utype = "energy per unit mass", scale = 1000000, default = "kcal/g", link = "Specific energy", }, ["kJ/kg"] = { name1 = "kilojoule per kilogram", name2 = "kilojoules per kilogram", symbol = "kJ/kg", utype = "energy per unit mass", scale = 1000, default = "BTU/lb", link = "Specific energy", }, ["ktonTNT/MT"] = { name2 = "kilotons of TNT per metric ton", symbol = "kiloton of TNT per metric ton", usename = 1, utype = "energy per unit mass", scale = 4184000000, default = "GJ/kg", link = "TNT equivalent", }, ["ktTNT/t"] = { name2 = "kilotonnes of TNT per tonne", symbol = "kilotonne of TNT per tonne", usename = 1, utype = "energy per unit mass", scale = 4184000000, default = "GJ/kg", link = "TNT equivalent", }, ["MtonTNT/MT"] = { name2 = "megatons of TNT per metric ton", symbol = "megaton of TNT per metric ton", usename = 1, utype = "energy per unit mass", scale = 4.184e12, default = "TJ/kg", link = "TNT equivalent", }, ["MtTNT/MT"] = { name2 = "megatonnes of TNT per tonne", symbol = "megatonne of TNT per tonne", usename = 1, utype = "energy per unit mass", scale = 4.184e12, default = "TJ/kg", link = "TNT equivalent", }, ["TJ/kg"] = { name1 = "terajoule per kilogram", name2 = "terajoules per kilogram", symbol = "TJ/kg", utype = "energy per unit mass", scale = 1e12, default = "MtTNT/MT", link = "Specific energy", }, ["Cal/g"] = { per = { "Cal", "g" }, utype = "energy per unit mass", default = "kJ/g", }, ["BTU/cuft"] = { per = { "BTU", "cuft" }, utype = "energy per unit volume", default = "kJ/L", }, ["Cal/12USoz(mL)serve"] = { per = { "Cal", "-12USoz(mL)serve" }, utype = "energy per unit volume", default = "kJ/L", }, ["Cal/12USoz(ml)serve"] = { per = { "Cal", "-12USoz(ml)serve" }, utype = "energy per unit volume", default = "kJ/l", }, ["Cal/12USozserve"] = { per = { "Cal", "-12USozserve" }, utype = "energy per unit volume", default = "kJ/L", }, ["Cal/USoz"] = { per = { "Cal", "USoz" }, utype = "energy per unit volume", default = "kJ/ml", }, ["kJ/L"] = { per = { "kJ", "L" }, utype = "energy per unit volume", default = "BTU/cuft", }, ["kJ/l"] = { per = { "kJ", "l" }, utype = "energy per unit volume", default = "BTU/cuft", }, ["kJ/ml"] = { per = { "kJ", "ml" }, utype = "energy per unit volume", default = "Cal/USoz", }, ["MJ/m3"] = { per = { "MJ", "m3" }, utype = "energy per unit volume", default = "BTU/cuft", }, ["Sv"] = { _name1 = "sievert", _symbol = "Sv", utype = "equivalent radiation dose", scale = 1, prefixes = 1, default = "rem", link = "Sievert", }, ["rem"] = { _name1 = "rem", _symbol = "rem", utype = "equivalent radiation dose", scale = 0.01, prefixes = 1, default = "Sv", link = "Roentgen equivalent man", }, ["g/km"] = { name1 = "gram per kilometre", name1_us = "gram per kilometer", name2 = "grams per kilometre", name2_us = "grams per kilometer", symbol = "g/km", utype = "exhaust emission", scale = 1e-6, default = "oz/mi", link = "Exhaust gas", }, ["g/mi"] = { name1 = "gram per mile", name2 = "grams per mile", symbol = "g/mi", utype = "exhaust emission", scale = 6.2137119223733397e-7, default = "g/km", link = "Exhaust gas", }, ["gCO2/km"] = { name1 = "gram of CO<sub>2</sub> per kilometre", name1_us = "gram of CO<sub>2</sub> per kilometer", name2 = "grams of CO<sub>2</sub> per kilometre", name2_us = "grams of CO<sub>2</sub> per kilometer", symbol = "g(CO<sub>2</sub>)/km", utype = "exhaust emission", scale = 1e-6, default = "ozCO2/mi", link = "Exhaust gas", }, ["gCO2/mi"] = { name1 = "gram of CO<sub>2</sub> per mile", name2 = "grams of CO<sub>2</sub> per mile", symbol = "g(CO<sub>2</sub>)/mi", utype = "exhaust emission", scale = 6.2137119223733397e-7, default = "gCO2/km", link = "Exhaust gas", }, ["kg/km"] = { name1 = "kilogram per kilometre", name1_us = "kilogram per kilometer", name2 = "kilograms per kilometre", name2_us = "kilograms per kilometer", symbol = "kg/km", utype = "exhaust emission", scale = 0.001, default = "lb/mi", link = "Exhaust gas", }, ["kgCO2/km"] = { name1 = "kilogram of CO<sub>2</sub> per kilometre", name1_us = "kilogram of CO<sub>2</sub> per kilometer", name2 = "kilograms of CO<sub>2</sub> per kilometre", name2_us = "kilograms of CO<sub>2</sub> per kilometer", symbol = "kg(CO<sub>2</sub>)/km", utype = "exhaust emission", scale = 0.001, default = "lbCO2/mi", link = "Exhaust gas", }, ["lb/mi"] = { name1 = "pound per mile", name2 = "pounds per mile", symbol = "lb/mi", utype = "exhaust emission", scale = 0.00028184923173665794, default = "kg/km", link = "Exhaust gas", }, ["lbCO2/mi"] = { name1 = "pound of CO<sub>2</sub> per mile", name2 = "pounds of CO<sub>2</sub> per mile", symbol = "lb(CO<sub>2</sub>)/mi", utype = "exhaust emission", scale = 0.00028184923173665794, default = "kgCO2/km", link = "Exhaust gas", }, ["oz/mi"] = { name1 = "ounce per mile", name2 = "ounces per mile", symbol = "oz/mi", utype = "exhaust emission", scale = 1.7615576983541121e-5, default = "g/km", link = "Exhaust gas", }, ["ozCO2/mi"] = { name1 = "ounce of CO<sub>2</sub> per mile", name2 = "ounces of CO<sub>2</sub> per mile", symbol = "oz(CO<sub>2</sub>)/mi", utype = "exhaust emission", scale = 1.7615576983541121e-5, default = "gCO2/km", link = "Exhaust gas", }, ["cuft/a"] = { name1 = "cubic foot per annum", name2 = "cubic feet per annum", symbol = "cu&nbsp;ft/a", utype = "flow", scale = 8.9730672142368242e-10, default = "m3/a", link = "Cubic foot per second", }, ["cuft/d"] = { name1 = "cubic foot per day", name2 = "cubic feet per day", symbol = "cu&nbsp;ft/d", utype = "flow", scale = 3.2774128000000003e-7, default = "m3/d", link = "Cubic foot per second", }, ["cuft/h"] = { name1 = "cubic foot per hour", name2 = "cubic feet per hour", symbol = "cu&nbsp;ft/h", utype = "flow", scale = 7.8657907200000004e-6, default = "m3/h", link = "Cubic foot per second", }, ["cuft/min"] = { name1 = "cubic foot per minute", name2 = "cubic feet per minute", symbol = "cu&nbsp;ft/min", utype = "flow", scale = 0.00047194744319999999, default = "m3/min", link = "Cubic foot#cubic foot per second", }, ["cuft/s"] = { name1 = "cubic foot per second", name2 = "cubic feet per second", symbol = "cu&nbsp;ft/s", utype = "flow", scale = 28316846592e-12, default = "m3/s", }, ["cumi/a"] = { name1 = "cubic mile per annum", name2 = "cubic miles per annum", symbol = "cu&nbsp;mi/a", utype = "flow", scale = 132.08171170940057, default = "km3/a", link = "Cubic foot per second", }, ["cuyd/h"] = { name1 = "cubic yard per hour", name2 = "cubic yards per hour", symbol = "cuyd/h", utype = "flow", scale = 0.00021237634944000001, default = "m3/h", link = "Cubic foot per minute", }, ["cuyd/s"] = { name1 = "cubic yard per second", name2 = "cubic yards per second", symbol = "cu&nbsp;yd/s", utype = "flow", scale = 0.76455485798400002, default = "m3/s", }, ["Goilbbl/a"] = { name1 = "billion barrels per year", name2 = "billion barrels per year", symbol = "Gbbl/a", utype = "flow", scale = 5.0380033629933836, default = "v * 1.58987294928 < 10 ! e6 ! e9 ! m3/a", link = "Barrel per day", }, ["impgal/h"] = { name1 = "imperial gallon per hour", name2 = "imperial gallons per hour", symbol = "imp&nbsp;gal/h", utype = "flow", scale = 1.2628027777777779e-6, default = "m3/h", link = "Gallon", }, ["impgal/min"] = { name1 = "imperial gallon per minute", name2 = "imperial gallons per minute", symbol = "imp gal/min", utype = "flow", scale = 7.5768166666666671e-5, default = "m3/s", link = "Gallon", }, ["impgal/s"] = { name1 = "imperial gallon per second", name2 = "imperial gallons per second", symbol = "impgal/s", utype = "flow", scale = 0.00454609, default = "m3/s", link = "Imperial gallons per second", }, ["km3/a"] = { name1 = "cubic kilometre per annum", name1_us = "cubic kilometer per annum", name2 = "cubic kilometres per annum", name2_us = "cubic kilometers per annum", symbol = "km<sup>3</sup>/a", utype = "flow", scale = 31.68808781402895, default = "cumi/a", link = "Cubic metre per second", }, ["km3/d"] = { name1 = "cubic kilometre per day", name1_us = "cubic kilometer per day", name2 = "cubic kilometres per day", name2_us = "cubic kilometers per day", symbol = "km<sup>3</sup>/d", utype = "flow", scale = 11574.074074074075, default = "cuft/d", link = "Cubic metre per second", }, ["koilbbl/a"] = { name1 = "thousand barrels per year", name2 = "thousand barrels per year", symbol = "kbbl/a", utype = "flow", scale = 5.0380033629933841e-6, default = "v * 1.58987294928 < 10 ! ! e3 ! m3/a", link = "Barrel per day", }, ["koilbbl/d"] = { name1 = "thousand barrels per day", name2 = "thousand barrels per day", symbol = "kbbl/d", utype = "flow", scale = 0.0018401307283333335, default = "v * 1.58987294928 < 10 ! ! e3 ! m3/d", link = "Barrel per day", }, ["L/h"] = { name1 = "litre per hour", name1_us = "liter per hour", name2 = "litres per hour", name2_us = "liters per hour", symbol = "L/h", utype = "flow", scale = 2.7777777777777776e-7, default = "impgal/h USgal/h", link = "Cubic metre per second", }, ["L/min"] = { name1 = "litre per minute", name1_us = "liter per minute", name2 = "litres per minute", name2_us = "liters per minute", symbol = "L/min", utype = "flow", scale = 1.6666666666666667e-5, default = "impgal/min USgal/min", link = "Cubic metre per second", }, ["L/s"] = { name1 = "litre per second", name1_us = "liter per second", name2 = "litres per second", name2_us = "liters per second", symbol = "L/s", utype = "flow", scale = 0.001, default = "cuft/s", link = "Cubic metre per second", }, ["m3/a"] = { name1 = "cubic metre per annum", name1_us = "cubic meter per annum", name2 = "cubic metres per annum", name2_us = "cubic meters per annum", symbol = "m<sup>3</sup>/a", utype = "flow", scale = 3.1688087814028947e-8, default = "cuft/a", link = "Cubic metre per second", }, ["m3/d"] = { name1 = "cubic metre per day", name1_us = "cubic meter per day", name2 = "cubic metres per day", name2_us = "cubic meters per day", symbol = "m<sup>3</sup>/d", utype = "flow", scale = 1.1574074074074073e-5, default = "cuft/d", link = "Cubic metre per second", }, ["m3/h"] = { name1 = "cubic metre per hour", name1_us = "cubic meter per hour", name2 = "cubic metres per hour", name2_us = "cubic meters per hour", symbol = "m<sup>3</sup>/h", utype = "flow", scale = 0.00027777777777777778, default = "cuft/h", link = "Cubic metre per second", }, ["m3/min"] = { name1 = "cubic metre per minute", name1_us = "cubic meter per minute", name2 = "cubic metres per minute", name2_us = "cubic meters per minute", symbol = "m<sup>3</sup>/min", utype = "flow", scale = 0.016666666666666666, default = "cuft/min", link = "Cubic metre per second", }, ["m3/s"] = { name1 = "cubic metre per second", name1_us = "cubic meter per second", name2 = "cubic metres per second", name2_us = "cubic meters per second", symbol = "m<sup>3</sup>/s", utype = "flow", scale = 1, default = "cuft/s", }, ["Moilbbl/a"] = { name1 = "million barrels per year", name2 = "million barrels per year", symbol = "Mbbl/a", utype = "flow", scale = 0.0050380033629933837, default = "v * 1.58987294928 < 10 ! e3 ! e6 ! m3/a", link = "Barrel per day", }, ["Moilbbl/d"] = { name1 = "million barrels per day", name2 = "million barrels per day", symbol = "Mbbl/d", utype = "flow", scale = 1.8401307283333335, default = "v * 1.58987294928 < 10 ! e3 ! e6 ! m3/d", link = "Barrel per day", }, ["oilbbl/a"] = { name1 = "barrel per year", name2 = "barrels per year", symbol = "bbl/a", utype = "flow", scale = 5.0380033629933841e-9, default = "m3/a", link = "Barrel per day", }, ["oilbbl/d"] = { name1 = "barrel per day", name2 = "barrels per day", symbol = "bbl/d", utype = "flow", scale = 1.8401307283333336e-6, default = "m3/d", }, ["Toilbbl/a"] = { name1 = "trillion barrels per year", name2 = "trillion barrels per year", symbol = "Tbbl/a", utype = "flow", scale = 5038.0033629933832, default = "v * 1.58987294928 < 10 ! e9 ! e12 ! m3/a", link = "Barrel per day", }, ["U.S.gal/d"] = { name1 = "U.S. gallon per day", name2 = "U.S. gallons per day", symbol = "U.S.&nbsp;gal/d", utype = "flow", scale = 4.3812636388888893e-8, default = "m3/s", customary= 1, }, ["U.S.gal/h"] = { name1 = "gallon per hour", name2 = "gallons per hour", symbol = "gal/h", utype = "flow", scale = 1.0515032733333334e-6, default = "m3/h", link = "Gallon", customary= 2, }, ["U.S.gal/min"] = { name1 = "U.S. gallon per minute", name2 = "U.S. gallons per minute", symbol = "U.S.&nbsp;gal/min", utype = "flow", scale = 6.3090196400000003e-5, default = "m3/s", link = "Gallon", }, ["USgal/a"] = { name1 = "US gallon per year", name2 = "US gallons per year", symbol = "US&nbsp;gal/a", utype = "flow", scale = 1.1995246102365199e-10, default = "m3/s", }, ["USgal/d"] = { name1 = "US gallon per day", name2 = "US gallons per day", symbol = "US&nbsp;gal/d", utype = "flow", scale = 4.3812636388888893e-8, default = "m3/s", }, ["USgal/h"] = { name1 = "gallon per hour", name2 = "gallons per hour", symbol = "gal/h", utype = "flow", scale = 1.0515032733333334e-6, default = "m3/h", link = "Gallon", customary= 1, }, ["USgal/min"] = { name1 = "US gallon per minute", name2 = "US gallons per minute", symbol = "US&nbsp;gal/min", utype = "flow", scale = 6.3090196400000003e-5, default = "m3/s", link = "Gallon", }, ["USgal/s"] = { name1 = "US gallon per second", name1_us = "U.S. gallon per second", name2 = "US gallons per second", name2_us = "U.S. gallons per second", symbol = "USgal/s", utype = "flow", scale = 0.003785411784, default = "m3/s", link = "US gallons per second", }, ["ft3/a"] = { target = "cuft/a", }, ["ft3/d"] = { target = "cuft/d", }, ["ft3/h"] = { target = "cuft/h", }, ["ft3/s"] = { target = "cuft/s", }, ["Gcuft/a"] = { target = "e9cuft/a", }, ["Gcuft/d"] = { target = "e9cuft/d", }, ["kcuft/a"] = { target = "e3cuft/a", }, ["kcuft/d"] = { target = "e3cuft/d", }, ["kcuft/s"] = { target = "e3cuft/s", }, ["Mcuft/a"] = { target = "e6cuft/a", }, ["Mcuft/d"] = { target = "e6cuft/d", }, ["Mcuft/s"] = { target = "e6cuft/s", }, ["m³/s"] = { target = "m3/s", }, ["Tcuft/a"] = { target = "e12cuft/a", }, ["Tcuft/d"] = { target = "e12cuft/d", }, ["u.s.gal/min"] = { target = "U.S.gal/min", }, ["usgal/min"] = { target = "USgal/min", }, ["-LTf"] = { name1 = "long ton-force", name2 = "long tons-force", symbol = "LTf", utype = "force", scale = 9964.01641818352, default = "kN", }, ["-STf"] = { name1 = "short ton-force", name2 = "short tons-force", symbol = "STf", utype = "force", scale = 8896.443230521, default = "kN", }, ["dyn"] = { name1 = "dyne", symbol = "dyn", utype = "force", scale = 0.00001, default = "gr-f", }, ["g-f"] = { name1 = "gram-force", name2 = "grams-force", symbol = "g<sub>f</sub>", utype = "force", scale = 0.00980665, default = "mN oz-f", link = "Kilogram-force", }, ["gf"] = { name1 = "gram-force", name2 = "grams-force", symbol = "gf", utype = "force", scale = 0.00980665, default = "mN ozf", link = "Kilogram-force", }, ["gr-f"] = { name1 = "grain-force", name2 = "grains-force", symbol = "gr<sub>f</sub>", utype = "force", scale = 0.0006354602307515, default = "μN", link = "Pound (force)", }, ["grf"] = { name1 = "grain-force", name2 = "grains-force", symbol = "grf", utype = "force", scale = 0.0006354602307515, default = "μN", link = "Pound (force)", }, ["kdyn"] = { name1 = "kilodyne", symbol = "kdyn", utype = "force", scale = 0.01, default = "oz-f", link = "Dyne", }, ["kg-f"] = { name1 = "kilogram-force", name2 = "kilograms-force", symbol = "kg<sub>f</sub>", utype = "force", scale = 9.80665, default = "N lb-f", }, ["kgf"] = { name1 = "kilogram-force", name2 = "kilograms-force", symbol = "kgf", utype = "force", scale = 9.80665, default = "N lbf", }, ["kp"] = { name1 = "kilopond", symbol = "kp", utype = "force", scale = 9.80665, default = "N lb-f", link = "Kilogram-force", }, ["L/T-f"] = { name1 = "long ton-force", name2 = "long tons-force", symbol = "L/T<sub>f</sub>", utype = "force", scale = 9964.01641818352, default = "kN", }, ["L/Tf"] = { name1 = "long ton-force", name2 = "long tons-force", symbol = "L/Tf", utype = "force", scale = 9964.01641818352, default = "kN", }, ["lb-f"] = { name1 = "pound-force", name2 = "pounds-force", symbol = "lb<sub>f</sub>", utype = "force", scale = 4.4482216152605, default = "N", link = "Pound (force)", }, ["lbf"] = { name1 = "pound-force", name2 = "pounds-force", symbol = "lbf", utype = "force", scale = 4.4482216152605, default = "N", link = "Pound (force)", }, ["lb(f)"] = { name1 = "pound", symbol = "lb", utype = "force", scale = 4.4482216152605, default = "N", link = "Pound (force)", }, ["LT-f"] = { name1 = "long ton-force", name2 = "long tons-force", symbol = "LT<sub>f</sub>", utype = "force", scale = 9964.01641818352, default = "kN", }, ["LTf"] = { name1 = "long ton-force", name2 = "long tons-force", symbol = "LTf", usename = 1, utype = "force", scale = 9964.01641818352, default = "kN", }, ["Mdyn"] = { name1 = "megadyne", symbol = "Mdyn", utype = "force", scale = 10, default = "lb-f", link = "Dyne", }, ["mdyn"] = { name1 = "millidyne", symbol = "mdyn", utype = "force", scale = 0.00000001, default = "gr-f", link = "Dyne", }, ["mg-f"] = { name1 = "milligram-force", name2 = "milligrams-force", symbol = "mg<sub>f</sub>", utype = "force", scale = 0.00000980665, default = "μN gr-f", link = "Kilogram-force", }, ["mgf"] = { name1 = "milligram-force", name2 = "milligrams-force", symbol = "mgf", utype = "force", scale = 0.00000980665, default = "μN grf", link = "Kilogram-force", }, ["Mp"] = { name1 = "megapond", symbol = "Mp", utype = "force", scale = 9806.65, default = "kN LT-f ST-f", link = "Kilogram-force", }, ["mp"] = { name1 = "millipond", symbol = "mp", utype = "force", scale = 0.00000980665, default = "μN gr-f", link = "Kilogram-force", }, ["N"] = { _name1 = "newton", _symbol = "N", utype = "force", scale = 1, prefixes = 1, default = "lb-f", link = "Newton (unit)", }, ["oz-f"] = { name1 = "ounce-force", name2 = "ounces-force", symbol = "oz<sub>f</sub>", utype = "force", scale = 0.2780138203095378125, default = "mN", link = "Pound (force)", }, ["ozf"] = { name1 = "ounce-force", name2 = "ounces-force", symbol = "ozf", utype = "force", scale = 0.2780138203095378125, default = "mN", link = "Pound (force)", }, ["p"] = { name1 = "pond", symbol = "p", utype = "force", scale = 0.00980665, default = "mN oz-f", link = "Kilogram-force", }, ["pdl"] = { name1 = "poundal", symbol = "pdl", utype = "force", scale = 0.138254954376, default = "N", }, ["S/T-f"] = { name1 = "short ton-force", name2 = "short tons-force", symbol = "S/T<sub>f</sub>", utype = "force", scale = 8896.443230521, default = "kN", }, ["S/Tf"] = { name1 = "short ton-force", name2 = "short tons-force", symbol = "S/Tf", utype = "force", scale = 8896.443230521, default = "kN", }, ["ST-f"] = { name1 = "short ton-force", name2 = "short tons-force", symbol = "ST<sub>f</sub>", utype = "force", scale = 8896.443230521, default = "kN", }, ["STf"] = { name1 = "short ton-force", name2 = "short tons-force", symbol = "STf", usename = 1, utype = "force", scale = 8896.443230521, default = "kN", }, ["t-f"] = { name1 = "tonne-force", name2 = "tonnes-force", symbol = "t<sub>f</sub>", utype = "force", scale = 9806.65, default = "kN LT-f ST-f", link = "Ton-force#Tonne-force", }, ["tf"] = { name1 = "tonne-force", name2 = "tonnes-force", symbol = "tf", utype = "force", scale = 9806.65, default = "kN LTf STf", link = "Ton-force#Tonne-force", }, ["dyne"] = { target = "dyn", }, ["newtons"] = { target = "N", }, ["poundal"] = { target = "pdl", }, ["tonne-force"] = { target = "tf", }, ["impgal/mi"] = { per = { "@impgal", "mi" }, utype = "fuel efficiency", invert = 1, iscomplex= true, default = "l/km USgal/mi", }, ["km/L"] = { per = { "km", "L" }, utype = "fuel efficiency", invert = -1, iscomplex= true, default = "mpgimp mpgus", }, ["km/l"] = { per = { "km", "l" }, utype = "fuel efficiency", invert = -1, iscomplex= true, default = "mpgimp mpgus", }, ["L/100 km"] = { per = { "L", "100km" }, utype = "fuel efficiency", invert = 1, iscomplex= true, default = "mpgimp mpgus", symlink = "[[Fuel economy in automobiles#Units of measure|L/100&nbsp;km]]", }, ["l/100 km"] = { per = { "l", "100km" }, utype = "fuel efficiency", invert = 1, iscomplex= true, default = "mpgimp mpgus", symlink = "[[Fuel economy in automobiles#Units of measure|l/100&nbsp;km]]", }, ["L/km"] = { per = { "L", "km" }, utype = "fuel efficiency", invert = 1, iscomplex= true, default = "mpgimp mpgus", }, ["l/km"] = { per = { "l", "km" }, utype = "fuel efficiency", invert = 1, iscomplex= true, default = "mpgimp mpgus", }, ["mi/impqt"] = { per = { "mi", "impqt" }, utype = "fuel efficiency", invert = -1, iscomplex= true, default = "km/L", }, ["mi/U.S.qt"] = { per = { "mi", "U.S.qt" }, utype = "fuel efficiency", invert = -1, iscomplex= true, default = "km/L", }, ["mi/USqt"] = { per = { "mi", "USqt" }, utype = "fuel efficiency", invert = -1, iscomplex= true, default = "km/L", }, ["mi/usqt"] = { per = { "mi", "usqt" }, utype = "fuel efficiency", invert = -1, iscomplex= true, default = "km/L", }, ["mpgimp"] = { per = { "mi", "@impgal" }, symbol = "mpg<sub>&#8209;imp</sub>", utype = "fuel efficiency", invert = -1, iscomplex= true, default = "L/100 km+mpgus", symlink = "[[Fuel economy in automobiles#Units of measure|mpg]]<sub>&#8209;[[Imperial units|imp]]</sub>", }, ["mpgus"] = { per = { "mi", "+USgal" }, symbol = "mpg<sub>&#8209;US</sub>", utype = "fuel efficiency", invert = -1, iscomplex= true, default = "L/100 km+mpgimp", symlink = "[[Fuel economy in automobiles#Units of measure|mpg]]<sub>&#8209;[[United States customary units|US]]</sub>", }, ["U.S.gal/mi"] = { per = { "*U.S.gal", "mi" }, sp_us = true, utype = "fuel efficiency", invert = 1, iscomplex= true, default = "l/km impgal/mi", }, ["usgal/mi"] = { per = { "+USgal", "mi" }, utype = "fuel efficiency", invert = 1, iscomplex= true, default = "l/km impgal/mi", }, ["L/100km"] = { target = "L/100 km", }, ["l/100km"] = { target = "l/100 km", }, ["mpg"] = { shouldbe = "Use %{mpgus%} for miles per US gallon or %{mpgimp%} for miles per imperial gallon (not %{mpg%})", }, ["mpgU.S."] = { target = "mpgus", symbol = "mpg<sub>&#8209;U.S.</sub>", sp_us = true, symlink = "[[Fuel economy in automobiles#Units of measure|mpg]]<sub>&#8209;[[United States customary units|U.S.]]</sub>", }, ["mpgu.s."] = { target = "mpgus", symbol = "mpg<sub>&#8209;U.S.</sub>", sp_us = true, symlink = "[[Fuel economy in automobiles#Units of measure|mpg]]<sub>&#8209;[[United States customary units|U.S.]]</sub>", }, ["mpgUS"] = { target = "mpgus", }, ["USgal/mi"] = { target = "usgal/mi", }, ["kPa/m"] = { per = { "kPa", "-m-frac" }, utype = "fracture gradient", default = "psi/ft", }, ["psi/ft"] = { per = { "psi", "-ft-frac" }, utype = "fracture gradient", default = "kPa/m", }, ["cm/km"] = { name1 = "centimetre per kilometre", name1_us = "centimeter per kilometer", name2 = "centimetres per kilometre", name2_us = "centimeters per kilometer", symbol = "cm/km", utype = "gradient", scale = 0.00001, default = "ft/mi", link = "Grade (slope)", }, ["ft/mi"] = { name1 = "foot per mile", name2 = "feet per mile", symbol = "ft/mi", utype = "gradient", scale = 0.00018939393939393939, default = "v < 5.28 ! c ! ! m/km", link = "Grade (slope)", }, ["ft/nmi"] = { name1 = "foot per nautical mile", name2 = "feet per nautical mile", symbol = "ft/nmi", utype = "gradient", scale = 0.00016457883369330455, default = "v < 6.076 ! c ! ! m/km", link = "Grade (slope)", }, ["in/ft"] = { name1 = "inch per foot", name2 = "inches per foot", symbol = "in/ft", utype = "gradient", scale = 0.083333333333333329, default = "mm/m", link = "Grade (slope)", }, ["in/mi"] = { name1 = "inch per mile", name2 = "inches per mile", symbol = "in/mi", utype = "gradient", scale = 1.5782828282828283e-5, default = "v < 0.6336 ! m ! c ! m/km", link = "Grade (slope)", }, ["m/km"] = { name1 = "metre per kilometre", name1_us = "meter per kilometer", name2 = "metres per kilometre", name2_us = "meters per kilometer", symbol = "m/km", utype = "gradient", scale = 0.001, default = "ft/mi", link = "Grade (slope)", }, ["mm/km"] = { name1 = "millimetre per kilometre", name1_us = "millimeter per kilometer", name2 = "millimetres per kilometre", name2_us = "millimeters per kilometer", symbol = "mm/km", utype = "gradient", scale = 0.000001, default = "in/mi", link = "Grade (slope)", }, ["mm/m"] = { name1 = "millimetre per metre", name1_us = "millimeter per meter", name2 = "millimetres per metre", name2_us = "millimeters per meter", symbol = "mm/m", utype = "gradient", scale = 0.001, default = "in/ft", link = "Grade (slope)", }, ["admi"] = { name1 = "admiralty mile", symbol = "nmi&nbsp;(admiralty)", utype = "length", scale = 1853.184, default = "km mi", link = "Nautical mile", }, ["AU"] = { name1 = "astronomical unit", symbol = "AU", utype = "length", scale = 149597870700, default = "km mi", }, ["Brnmi"] = { name1 = "British nautical mile", symbol = "(Brit)&nbsp;nmi", utype = "length", scale = 1853.184, default = "km mi", link = "Nautical mile", }, ["bu"] = { name2 = "bu", symbol = "bu", usename = 1, utype = "length", scale = 0.0030303030303030303, default = "mm", link = "Japanese units of measurement#Length", }, ["ch"] = { name1 = "chain", symbol = "ch", utype = "length", scale = 20.1168, default = "ft m", subdivs = { ["ft"] = { 66, default = "m" }, ["yd"] = { 22, default = "m" } }, link = "Chain (unit)", }, ["chlk"] = { name1 = "[[Chain (unit)|chain]]", symbol = "[[Chain (unit)|ch]]", utype = "length", scale = 20.1168, default = "ft m", link = "", }, ["chain"] = { symbol = "chain", usename = 1, utype = "length", scale = 20.1168, default = "ft m", subdivs = { ["ft"] = { 66, default = "m" }, ["yd"] = { 22, default = "m" } }, link = "Chain (unit)", }, ["chainlk"] = { symbol = "[[Chain (unit)|chain]]", usename = 1, utype = "length", scale = 20.1168, default = "ft m", link = "", }, ["dpcm"] = { name2 = "dot/cm", symbol = "dot/cm", utype = "length", scale = 100, invert = -1, iscomplex= true, default = "dpi", link = "Dots per inch", }, ["dpi"] = { name2 = "DPI", symbol = "DPI", utype = "length", scale = 39.370078740157481, invert = -1, iscomplex= true, default = "pitch", link = "Dots per inch", }, ["fathom"] = { symbol = "fathom", usename = 1, utype = "length", scale = 1.8288, default = "ft m", }, ["foot"] = { name1 = "foot", name2 = "foot", symbol = "ft", utype = "length", scale = 0.3048, default = "m", subdivs = { ["in"] = { 12, default = "m" } }, link = "Foot (unit)", }, ["ft"] = { name1 = "foot", name2 = "feet", symbol = "ft", utype = "length", scale = 0.3048, exception= "integer_more_precision", default = "m", subdivs = { ["in"] = { 12, default = "m" } }, link = "Foot (unit)", }, ["furlong"] = { symbol = "furlong", usename = 1, utype = "length", scale = 201.168, default = "ft m", }, ["Gly"] = { name1 = "gigalight-year", symbol = "Gly", utype = "length", scale = 9.4607304725808e24, default = "Mpc", link = "Light-year#Definitions", }, ["Gpc"] = { name1 = "gigaparsec", symbol = "Gpc", utype = "length", scale = 3.0856775814671916e25, default = "Gly", link = "Parsec#Megaparsecs and gigaparsecs", }, ["hand"] = { name1 = "hand", symbol = "h", utype = "length", builtin = "hand", scale = 0.1016, iscomplex= true, default = "in cm", link = "Hand (unit)", }, ["in"] = { name1 = "inch", name2 = "inches", symbol = "in", utype = "length", scale = 0.0254, exception= "subunit_more_precision", default = "mm", }, ["inabbreviated"] = { name2 = "in", symbol = "in", utype = "length", scale = 0.0254, default = "mm", link = "Inch", }, ["kly"] = { name1 = "kilolight-year", symbol = "kly", utype = "length", scale = 9.4607304725808e18, default = "pc", link = "Light-year#Definitions", }, ["kpc"] = { name1 = "kiloparsec", symbol = "kpc", utype = "length", scale = 3.0856775814671916e19, default = "kly", link = "Parsec#Parsecs and kiloparsecs", }, ["LD"] = { name1 = "lunar distance", symbol = "LD", utype = "length", scale = 384403000, default = "km mi", link = "Lunar distance (astronomy)", }, ["league"] = { symbol = "league", usename = 1, utype = "length", scale = 4828.032, default = "km", link = "League (unit)", }, ["ly"] = { name1 = "light-year", symbol = "ly", utype = "length", scale = 9.4607304725808e15, default = "AU", }, ["m"] = { _name1 = "metre", _name1_us= "meter", _symbol = "m", utype = "length", scale = 1, prefixes = 1, default = "v > 0 and v < 3 ! ftin ! ft", link = "Metre", }, ["mi"] = { name1 = "mile", symbol = "mi", utype = "length", scale = 1609.344, default = "km", subdivs = { ["ch"] = { 80, default = "km" }, ["chlk"] = { 80, default = "km" }, ["chain"] = { 80, default = "km" }, ["chainlk"] = { 80, default = "km" }, ["ft"] = { 5280, default = "km" }, ["furlong"] = { 8, default = "km" }, ["yd"] = { 1760, default = "km" } }, }, ["mil"] = { symbol = "mil", usename = 1, utype = "length", scale = 0.0000254, default = "mm", link = "Thousandth of an inch", }, ["Mly"] = { name1 = "megalight-year", symbol = "Mly", utype = "length", scale = 9.4607304725808e21, default = "kpc", link = "Light-year#Definitions", }, ["Mpc"] = { name1 = "megaparsec", symbol = "Mpc", utype = "length", scale = 3.0856775814671916e22, default = "Mly", link = "Parsec#Megaparsecs and gigaparsecs", }, ["NM"] = { name1 = "nautical mile", symbol = "NM", utype = "length", scale = 1852, default = "km mi", }, ["nmi"] = { name1 = "nautical mile", symbol = "nmi", utype = "length", scale = 1852, default = "km mi", }, ["oldUKnmi"] = { name1 = "nautical mile", symbol = "nmi", utype = "length", scale = 1853.184, default = "km mi", }, ["oldUSnmi"] = { name1 = "nautical mile", symbol = "nmi", utype = "length", scale = 1853.24496, default = "km mi", }, ["pc"] = { name1 = "parsec", symbol = "pc", utype = "length", scale = 3.0856775814671916e16, default = "ly", }, ["perch"] = { name2 = "perches", symbol = "perch", usename = 1, utype = "length", scale = 5.0292, default = "ft m", link = "Rod (unit)", }, ["pitch"] = { name2 = "μm", symbol = "μm", utype = "length", scale = 1e-6, default = "dpi", defkey = "pitch", linkey = "pitch", link = "Dots per inch", }, ["pole"] = { symbol = "pole", usename = 1, utype = "length", scale = 5.0292, default = "ft m", link = "Rod (unit)", }, ["pre1954U.S.nmi"] = { name1 = "(pre-1954&nbsp;U.S.) nautical mile", symbol = "(pre&#8209;1954&nbsp;U.S.) nmi", utype = "length", scale = 1853.24496, default = "km mi", link = "Nautical mile", }, ["pre1954USnmi"] = { name1 = "(pre-1954&nbsp;US) nautical mile", name1_us = "(pre-1954&nbsp;U.S.) nautical mile", symbol = "(pre&#8209;1954&nbsp;US) nmi", sym_us = "(pre&#8209;1954&nbsp;U.S.) nmi", utype = "length", scale = 1853.24496, default = "km mi", link = "Nautical mile", }, ["rd"] = { name1 = "rod", symbol = "rd", utype = "length", scale = 5.0292, default = "ft m", link = "Rod (unit)", }, ["royal cubit"] = { name1 = "royal cubit", symbol = "cu", utype = "length", scale = 0.524, default = "mm", }, ["rtkm"] = { name1 = "route kilometre", name1_us = "route kilometer", symbol = "km", utype = "length", scale = 1000, default = "mi", link = "Kilometre", }, ["rtmi"] = { name1 = "route mile", symbol = "mi", utype = "length", scale = 1609.344, default = "km", link = "Mile", }, ["shaku"] = { name2 = "shaku", symbol = "shaku", usename = 1, utype = "length", scale = 0.30303030303030304, default = "m", link = "Shaku (unit)", }, ["sm"] = { name1 = "smoot", symbol = "sm", utype = "length", scale = 1.70180, default = "m", link = "Smoot (unit)", }, ["smi"] = { name1 = "statute mile", symbol = "mi", utype = "length", scale = 1609.344, default = "km", subdivs = { ["chain"] = { 80, default = "km" } }, }, ["solar radius"] = { name1 = "solar radius", name2 = "solar radii", symbol = "''R''<sub>☉</sub>", utype = "length", scale = 695700e3, default = "km", }, ["sun"] = { name2 = "sun", symbol = "sun", usename = 1, utype = "length", scale = 0.030303030303030304, default = "mm", link = "Japanese units of measurement#Length", }, ["thou"] = { name2 = "thou", symbol = "thou", usename = 1, utype = "length", scale = 0.0000254, default = "mm", link = "Thousandth of an inch", }, ["verst"] = { symbol = "verst", usename = 1, utype = "length", scale = 1066.8, default = "km mi", }, ["yd"] = { name1 = "yard", symbol = "yd", utype = "length", scale = 0.9144, default = "m", subdivs = { ["ft"] = { 3, default = "m" } }, }, ["μin"] = { name1 = "microinch", name2 = "microinches", symbol = "μin", utype = "length", scale = 0.0000000254, default = "nm", link = "SI prefix#Non-metric units", }, ["Å"] = { name1 = "ångström", symbol = "Å", utype = "length", scale = 0.0000000001, default = "in", }, ["Hz"] = { _name1 = "hertz", _name2 = "hertz", _symbol = "Hz", utype = "length", scale = 3.3356409519815204e-9, invert = -1, iscomplex= true, prefixes = 1, default = "m", link = "Hertz", }, ["-ft-frac"] = { target = "ft", link = "Fracture gradient", }, ["-in-stiff"] = { target = "in", link = "Stiffness", }, ["-m-frac"] = { target = "m", link = "Fracture gradient", }, ["-m-stiff"] = { target = "m", link = "Stiffness", }, ["100km"] = { target = "km", multiplier= 100, }, ["admiralty nmi"] = { target = "oldUKnmi", }, ["angstrom"] = { target = "Å", }, ["au"] = { target = "AU", symbol = "au", }, ["feet"] = { target = "ft", }, ["hands"] = { target = "hand", }, ["inch"] = { target = "in", }, ["light-year"] = { target = "ly", }, ["meter"] = { target = "m", sp_us = true, }, ["meters"] = { target = "m", sp_us = true, }, ["metre"] = { target = "m", }, ["metres"] = { target = "m", }, ["micrometre"] = { target = "μm", }, ["micron"] = { target = "μm", default = "μin", }, ["mile"] = { target = "mi", }, ["miles"] = { target = "mi", }, ["parsec"] = { target = "pc", }, ["rod"] = { target = "rd", }, ["smoot"] = { target = "sm", }, ["uin"] = { target = "μin", }, ["yard"] = { target = "yd", }, ["yards"] = { target = "yd", }, ["yds"] = { target = "yd", }, ["dtex"] = { name1 = "decitex", name2 = "decitex", symbol = "dtex", utype = "linear density", scale = 1e-7, default = "lb/yd", link = "Units of textile measurement#Tex", }, ["kg/cm"] = { name1 = "kilogram per centimetre", name1_us = "kilogram per centimeter", name2 = "kilograms per centimetre", name2_us = "kilograms per centimeter", symbol = "kg/cm", utype = "linear density", scale = 100, default = "lb/yd", link = "Linear density", }, ["kg/m"] = { name1 = "kilogram per metre", name1_us = "kilogram per meter", name2 = "kilograms per metre", name2_us = "kilograms per meter", symbol = "kg/m", utype = "linear density", scale = 1, default = "lb/yd", link = "Linear density", }, ["lb/ft"] = { name1 = "pound per foot", name2 = "pounds per foot", symbol = "lb/ft", utype = "linear density", scale = 1.4881639435695539, default = "kg/m", link = "Linear density", }, ["lb/yd"] = { name1 = "pound per yard", name2 = "pounds per yard", symbol = "lb/yd", utype = "linear density", scale = 0.49605464785651798, default = "kg/m", link = "Linear density", }, ["G"] = { _name1 = "gauss", _name2 = "gauss", _symbol = "G", utype = "magnetic field strength", scale = 0.0001, prefixes = 1, default = "T", link = "Gauss (unit)", }, ["T"] = { _name1 = "tesla", _symbol = "T", utype = "magnetic field strength", scale = 1, prefixes = 1, default = "G", link = "Tesla (unit)", }, ["A/m"] = { name1 = "ampere per metre", name1_us = "ampere per meter", name2 = "amperes per metre", name2_us = "amperes per meter", symbol = "A/m", utype = "magnetizing field", scale = 1, default = "Oe", link = "Magnetic field#Units", }, ["kA/m"] = { name1 = "kiloampere per metre", name1_us = "kiloampere per meter", name2 = "kiloamperes per metre", name2_us = "kiloamperes per meter", symbol = "kA/m", utype = "magnetizing field", scale = 1000, default = "kOe", link = "Magnetic field#Units", }, ["MA/m"] = { name1 = "megaampere per metre", name1_us = "megaampere per meter", name2 = "megaamperes per metre", name2_us = "megaamperes per meter", symbol = "MA/m", utype = "magnetizing field", scale = 1e6, default = "kOe", link = "Magnetic field#Units", }, ["Oe"] = { _name1 = "oersted", _symbol = "Oe", utype = "magnetizing field", scale = 79.5774715, prefixes = 1, default = "kA/m", link = "Oersted", }, ["-Lcwt"] = { name1 = "hundredweight", name2 = "hundredweight", symbol = "cwt", utype = "mass", scale = 50.80234544, default = "lb", }, ["-Scwt"] = { name1 = "hundredweight", name2 = "hundredweight", symbol = "cwt", utype = "mass", scale = 45.359237, default = "lb", }, ["-ST"] = { name1 = "short ton", symbol = "ST", utype = "mass", scale = 907.18474, default = "t", }, ["carat"] = { symbol = "carat", usename = 1, utype = "mass", scale = 0.0002, default = "g", link = "Carat (mass)", }, ["drachm"] = { name1_us = "dram", symbol = "drachm", usename = 1, utype = "mass", scale = 0.001771845195, default = "g", link = "Dram (unit)", }, ["dram"] = { target = "drachm", }, ["dwt"] = { name1 = "pennyweight", symbol = "dwt", utype = "mass", scale = 0.00155517384, default = "oz g", }, ["DWton"] = { symbol = "deadweight ton", usename = 1, utype = "mass", scale = 1016.0469088, default = "DWtonne", link = "Tonnage", }, ["DWtonne"] = { symbol = "deadweight tonne", usename = 1, utype = "mass", scale = 1000, default = "DWton", link = "Tonnage", }, ["g"] = { _name1 = "gram", _symbol = "g", utype = "mass", scale = 0.001, prefixes = 1, default = "oz", link = "Gram", }, ["gr"] = { name1 = "grain", symbol = "gr", utype = "mass", scale = 0.00006479891, default = "g", link = "Grain (unit)", }, ["Gt"] = { name1 = "gigatonne", symbol = "Gt", utype = "mass", scale = 1000000000000, default = "LT ST", link = "Tonne", }, ["impgalh2o"] = { name1 = "imperial gallon of water", name2 = "imperial gallons of water", symbol = "imp&nbsp;gal H<sub>2</sub>O", utype = "mass", scale = 4.5359236999999499, default = "lb kg", link = "Imperial gallon", }, ["kt"] = { name1 = "kilotonne", symbol = "kt", utype = "mass", scale = 1000000, default = "LT ST", link = "Tonne", }, ["lb"] = { name1 = "pound", symbol = "lb", utype = "mass", scale = 0.45359237, exception= "integer_more_precision", default = "kg", subdivs = { ["oz"] = { 16, default = "kg" } }, link = "Pound (mass)", }, ["Lcwt"] = { name1 = "long hundredweight", name2 = "long hundredweight", symbol = "Lcwt", usename = 1, utype = "mass", scale = 50.80234544, default = "lb", subdivs = { ["qtr"] = { 4, default = "kg" }, ["st"] = { 8, default = "kg" } }, link = "Hundredweight", }, ["long cwt"] = { name1 = "long hundredweight", name2 = "long hundredweight", symbol = "long&nbsp;cwt", utype = "mass", scale = 50.80234544, default = "lb kg", subdivs = { ["qtr"] = { 4, default = "kg" } }, link = "Hundredweight", }, ["long qtr"] = { name1 = "long quarter", symbol = "long&nbsp;qtr", utype = "mass", scale = 12.70058636, default = "lb kg", link = "Avoirdupois", }, ["LT"] = { symbol = "long ton", usename = 1, utype = "mass", scale = 1016.0469088, default = "t", subdivs = { ["Lcwt"] = { 20, default = "t", unit = "-Lcwt" } }, }, ["lt"] = { name1 = "long ton", symbol = "LT", utype = "mass", scale = 1016.0469088, default = "t", subdivs = { ["Lcwt"] = { 20, default = "t", unit = "-Lcwt" } }, }, ["metric ton"] = { symbol = "metric ton", usename = 1, utype = "mass", scale = 1000, default = "long ton", link = "Tonne", }, ["MT"] = { name1 = "metric ton", symbol = "t", utype = "mass", scale = 1000, default = "LT ST", link = "Tonne", }, ["Mt"] = { name1 = "megatonne", symbol = "Mt", utype = "mass", scale = 1000000000, default = "LT ST", link = "Tonne", }, ["oz"] = { name1 = "ounce", symbol = "oz", utype = "mass", scale = 0.028349523125, default = "g", }, ["ozt"] = { name1 = "troy ounce", symbol = "ozt", utype = "mass", scale = 0.0311034768, default = "oz g", }, ["pdr"] = { name1 = "pounder", symbol = "pdr", utype = "mass", scale = 0.45359237, default = "kg", link = "Pound (mass)", }, ["qtr"] = { name1 = "quarter", symbol = "qtr", utype = "mass", scale = 12.70058636, default = "lb kg", subdivs = { ["lb"] = { 28, default = "kg" } }, link = "Avoirdupois", }, ["Scwt"] = { name1 = "short hundredweight", name2 = "short hundredweight", symbol = "Scwt", usename = 1, utype = "mass", scale = 45.359237, default = "lb", link = "Hundredweight", }, ["short cwt"] = { name1 = "short hundredweight", name2 = "short hundredweight", symbol = "short&nbsp;cwt", utype = "mass", scale = 45.359237, default = "lb kg", link = "Hundredweight", }, ["short qtr"] = { name1 = "short quarter", symbol = "short&nbsp;qtr", utype = "mass", scale = 11.33980925, default = "lb kg", link = "Avoirdupois", }, ["ST"] = { symbol = "short ton", usename = 1, utype = "mass", scale = 907.18474, default = "t", subdivs = { ["Scwt"] = { 20, default = "t", unit = "-Scwt" } }, }, ["shtn"] = { name1 = "short ton", symbol = "sh&nbsp;tn", utype = "mass", scale = 907.18474, default = "t", }, ["shton"] = { symbol = "ton", usename = 1, utype = "mass", scale = 907.18474, default = "t", }, ["solar mass"] = { name1 = "solar mass", name2 = "solar masses", symbol = "''M''<sub>☉</sub>", utype = "mass", scale = 1.98855e30, default = "kg", }, ["st"] = { name1 = "stone", name2 = "stone", symbol = "st", utype = "mass", scale = 6.35029318, default = "lb kg", subdivs = { ["lb"] = { 14, default = "kg lb" } }, link = "Stone (unit)", }, ["t"] = { name1 = "tonne", name1_us = "metric ton", symbol = "t", utype = "mass", scale = 1000, default = "LT ST", }, ["tonne"] = { name1 = "tonne", name1_us = "metric ton", symbol = "t", utype = "mass", scale = 1000, default = "shton", }, ["troy pound"] = { symbol = "troy pound", usename = 1, utype = "mass", scale = 0.3732417216, default = "lb kg", link = "Troy weight", }, ["usgalh2o"] = { name1 = "US gallon of water", name1_us = "U.S. gallon of water", name2 = "US gallons of water", name2_us = "U.S. gallons of water", symbol = "US&nbsp;gal H<sub>2</sub>O", utype = "mass", scale = 3.7776215836051126, default = "lb kg", link = "United States customary units#Fluid volume", }, ["viss"] = { name2 = "viss", symbol = "viss", utype = "mass", scale = 1.632932532, default = "kg", link = "Myanmar units of measurement#Mass", }, ["billion tonne"] = { target = "e9t", }, ["kilogram"] = { target = "kg", }, ["kilotonne"] = { target = "kt", }, ["lbs"] = { target = "lb", }, ["lbt"] = { target = "troy pound", }, ["lcwt"] = { target = "Lcwt", }, ["long ton"] = { target = "LT", }, ["mcg"] = { target = "μg", }, ["million tonne"] = { target = "e6t", }, ["scwt"] = { target = "Scwt", }, ["short ton"] = { target = "ST", }, ["stone"] = { target = "st", }, ["thousand tonne"] = { target = "e3t", }, ["tonnes"] = { target = "t", }, ["kg/kW"] = { name1 = "kilogram per kilowatt", name2 = "kilograms per kilowatt", symbol = "kg/kW", utype = "mass per unit power", scale = 0.001, default = "lb/hp", link = "Kilowatt", }, ["lb/hp"] = { name1 = "pound per horsepower", name2 = "pounds per horsepower", symbol = "lb/hp", utype = "mass per unit power", scale = 0.00060827738784176115, default = "kg/kW", link = "Horsepower", }, ["kg/h"] = { per = { "kg", "h" }, utype = "mass per unit time", default = "lb/h", }, ["lb/h"] = { per = { "lb", "h" }, utype = "mass per unit time", default = "kg/h", }, ["g-mol/d"] = { name1 = "gram-mole per day", name2 = "gram-moles per day", symbol = "g&#8209;mol/d", utype = "molar rate", scale = 1.1574074074074073e-5, default = "μmol/s", link = "Mole (unit)", }, ["g-mol/h"] = { name1 = "gram-mole per hour", name2 = "gram-moles per hour", symbol = "g&#8209;mol/h", utype = "molar rate", scale = 0.00027777777777777778, default = "mmol/s", link = "Mole (unit)", }, ["g-mol/min"] = { name1 = "gram-mole per minute", name2 = "gram-moles per minute", symbol = "g&#8209;mol/min", utype = "molar rate", scale = 0.016666666666666666, default = "g-mol/s", link = "Mole (unit)", }, ["g-mol/s"] = { name1 = "gram-mole per second", name2 = "gram-moles per second", symbol = "g&#8209;mol/s", utype = "molar rate", scale = 1, default = "lb-mol/min", link = "Mole (unit)", }, ["gmol/d"] = { name1 = "gram-mole per day", name2 = "gram-moles per day", symbol = "gmol/d", utype = "molar rate", scale = 1.1574074074074073e-5, default = "μmol/s", link = "Mole (unit)", }, ["gmol/h"] = { name1 = "gram-mole per hour", name2 = "gram-moles per hour", symbol = "gmol/h", utype = "molar rate", scale = 0.00027777777777777778, default = "mmol/s", link = "Mole (unit)", }, ["gmol/min"] = { name1 = "gram-mole per minute", name2 = "gram-moles per minute", symbol = "gmol/min", utype = "molar rate", scale = 0.016666666666666666, default = "gmol/s", link = "Mole (unit)", }, ["gmol/s"] = { name1 = "gram-mole per second", name2 = "gram-moles per second", symbol = "gmol/s", utype = "molar rate", scale = 1, default = "lbmol/min", link = "Mole (unit)", }, ["kmol/d"] = { name1 = "kilomole per day", name2 = "kilomoles per day", symbol = "kmol/d", utype = "molar rate", scale = 0.011574074074074073, default = "mmol/s", link = "Mole (unit)", }, ["kmol/h"] = { name1 = "kilomole per hour", name2 = "kilomoles per hour", symbol = "kmol/h", utype = "molar rate", scale = 0.27777777777777779, default = "mol/s", link = "Mole (unit)", }, ["kmol/min"] = { name1 = "kilomole per minute", name2 = "kilomoles per minute", symbol = "kmol/min", utype = "molar rate", scale = 16.666666666666668, default = "mol/s", link = "Kilomole (unit)", }, ["kmol/s"] = { name1 = "kilomole per second", name2 = "kilomoles per second", symbol = "kmol/s", utype = "molar rate", scale = 1000, default = "lb-mol/s", link = "Mole (unit)", }, ["lb-mol/d"] = { name1 = "pound-mole per day", name2 = "pound-moles per day", symbol = "lb&#8209;mol/d", utype = "molar rate", scale = 0.0052499116898148141, default = "mmol/s", link = "Mole (unit)#Other units called \"mole\"", }, ["lb-mol/h"] = { name1 = "pound-mole per hour", name2 = "pound-moles per hour", symbol = "lb&#8209;mol/h", utype = "molar rate", scale = 0.12599788055555555, default = "mol/s", link = "Mole (unit)#Other units called \"mole\"", }, ["lb-mol/min"] = { name1 = "pound-mole per minute", name2 = "pound-moles per minute", symbol = "lb&#8209;mol/min", utype = "molar rate", scale = 7.5598728333333334, default = "mol/s", link = "Mole (unit)#Other units called \"mole\"", }, ["lb-mol/s"] = { name1 = "pound-mole per second", name2 = "pound-moles per second", symbol = "lb&#8209;mol/s", utype = "molar rate", scale = 453.59237, default = "kmol/s", link = "Mole (unit)#Other units called \"mole\"", }, ["lbmol/d"] = { name1 = "pound-mole per day", name2 = "pound-moles per day", symbol = "lbmol/d", utype = "molar rate", scale = 0.0052499116898148141, default = "mmol/s", link = "Mole (unit)#Other units called \"mole\"", }, ["lbmol/h"] = { name1 = "pound-mole per hour", name2 = "pound-moles per hour", symbol = "lbmol/h", utype = "molar rate", scale = 0.12599788055555555, default = "mol/s", link = "Mole (unit)#Other units called \"mole\"", }, ["lbmol/min"] = { name1 = "pound-mole per minute", name2 = "pound-moles per minute", symbol = "lbmol/min", utype = "molar rate", scale = 7.5598728333333334, default = "mol/s", link = "Mole (unit)#Other units called \"mole\"", }, ["lbmol/s"] = { name1 = "pound-mole per second", name2 = "pound-moles per second", symbol = "lbmol/s", utype = "molar rate", scale = 453.59237, default = "kmol/s", link = "Mole (unit)#Other units called \"mole\"", }, ["mmol/s"] = { name1 = "millimole per second", name2 = "millimoles per second", symbol = "mmol/s", utype = "molar rate", scale = 0.001, default = "lb-mol/d", link = "Mole (unit)", }, ["mol/d"] = { name1 = "mole per day", name2 = "moles per day", symbol = "mol/d", utype = "molar rate", scale = 1.1574074074074073e-5, default = "μmol/s", link = "Mole (unit)", }, ["mol/h"] = { name1 = "mole per hour", name2 = "moles per hour", symbol = "mol/h", utype = "molar rate", scale = 0.00027777777777777778, default = "mmol/s", link = "Mole (unit)", }, ["mol/min"] = { name1 = "mole per minute", name2 = "moles per minute", symbol = "mol/min", utype = "molar rate", scale = 0.016666666666666666, default = "mol/s", link = "Mole (unit)", }, ["mol/s"] = { name1 = "mole per second", name2 = "moles per second", symbol = "mol/s", utype = "molar rate", scale = 1, default = "lb-mol/min", link = "Mole (unit)", }, ["μmol/s"] = { name1 = "micromole per second", name2 = "micromoles per second", symbol = "μmol/s", utype = "molar rate", scale = 0.000001, default = "lb-mol/d", link = "Mole (unit)", }, ["umol/s"] = { target = "μmol/s", }, ["/acre"] = { name1 = "per acre", name2 = "per acre", symbol = "/acre", utype = "per unit area", scale = 0.00024710538146716532, default = "/ha", link = "Acre", }, ["/ha"] = { name1 = "per hectare", name2 = "per hectare", symbol = "/ha", utype = "per unit area", scale = 100e-6, default = "/acre", link = "Hectare", }, ["/sqcm"] = { name1 = "per square centimetre", name1_us = "per square centimeter", name2 = "per square centimetre", name2_us = "per square centimeter", symbol = "/cm<sup>2</sup>", utype = "per unit area", scale = 1e4, default = "/sqin", link = "Square centimetre", }, ["/sqin"] = { name1 = "per square inch", name2 = "per square inch", symbol = "/in<sup>2</sup>", utype = "per unit area", scale = 1550.0031000062002, default = "/sqcm", link = "Square inch", }, ["/sqkm"] = { name1 = "per square kilometre", name1_us = "per square kilometer", name2 = "per square kilometre", name2_us = "per square kilometer", symbol = "/km<sup>2</sup>", utype = "per unit area", scale = 1e-6, default = "/sqmi", link = "Square kilometre", }, ["/sqmi"] = { name1 = "per square mile", name2 = "per square mile", symbol = "/sq&nbsp;mi", utype = "per unit area", scale = 3.8610215854244582e-7, default = "/sqkm", link = "Square mile", }, ["PD/acre"] = { name1 = "inhabitant per acre", name2 = "inhabitants per acre", symbol = "/acre", utype = "per unit area", scale = 0.00024710538146716532, default = "PD/ha", link = "Acre", }, ["PD/ha"] = { name1 = "inhabitant per hectare", name2 = "inhabitants per hectare", symbol = "/ha", utype = "per unit area", scale = 100e-6, default = "PD/acre", link = "Hectare", }, ["PD/sqkm"] = { name1 = "inhabitant per square kilometre", name1_us = "inhabitant per square kilometer", name2 = "inhabitants per square kilometre", name2_us = "inhabitants per square kilometer", symbol = "/km<sup>2</sup>", utype = "per unit area", scale = 1e-6, default = "PD/sqmi", link = "Square kilometre", }, ["PD/sqmi"] = { name1 = "inhabitant per square mile", name2 = "inhabitants per square mile", symbol = "/sq&nbsp;mi", utype = "per unit area", scale = 3.8610215854244582e-7, default = "PD/sqkm", link = "Square mile", }, ["/cm2"] = { target = "/sqcm", }, ["/in2"] = { target = "/sqin", }, ["/km2"] = { target = "/sqkm", }, ["pd/acre"] = { target = "PD/acre", }, ["pd/ha"] = { target = "PD/ha", }, ["PD/km2"] = { target = "PD/sqkm", }, ["pd/km2"] = { target = "PD/sqkm", }, ["PD/km²"] = { target = "PD/sqkm", }, ["pd/sqkm"] = { target = "PD/sqkm", }, ["pd/sqmi"] = { target = "PD/sqmi", }, ["/l"] = { name1 = "per litre", name1_us = "per liter", name2 = "per litre", name2_us = "per liter", symbol = "/l", utype = "per unit volume", scale = 1000, default = "/usgal", link = "Litre", }, ["/USgal"] = { name1 = "per gallon", name2 = "per gallon", symbol = "/gal", utype = "per unit volume", scale = 264.172052, default = "/l", link = "US gallon", customary= 2, }, ["/usgal"] = { target = "/USgal", }, ["bhp"] = { name1 = "brake horsepower", name2 = "brake horsepower", symbol = "bhp", utype = "power", scale = 745.69987158227022, default = "kW", link = "Horsepower#Brake horsepower", }, ["Cal/d"] = { name1 = "large calorie per day", name2 = "large calories per day", symbol = "Cal/d", utype = "power", scale = 0.048425925925925928, default = "kJ/d", link = "Calorie", }, ["Cal/h"] = { name1 = "large calorie per hour", name2 = "large calories per hour", symbol = "Cal/h", utype = "power", scale = 1.1622222222222223, default = "kJ/h", link = "Calorie", }, ["cal/h"] = { name1 = "calorie per hour", name2 = "calories per hour", symbol = "cal/h", utype = "power", scale = 0.0011622222222222223, default = "W", link = "Calorie", }, ["CV"] = { name1 = "metric horsepower", name2 = "metric horsepower", symbol = "CV", utype = "power", scale = 735.49875, default = "kW", }, ["hk"] = { name1 = "metric horsepower", name2 = "metric horsepower", symbol = "hk", utype = "power", scale = 735.49875, default = "kW", }, ["hp"] = { name1 = "horsepower", name2 = "horsepower", symbol = "hp", utype = "power", scale = 745.69987158227022, default = "kW", }, ["hp-electric"] = { name1 = "electric horsepower", name2 = "electric horsepower", symbol = "hp", utype = "power", scale = 746, default = "kW", link = "Horsepower#Electrical horsepower", }, ["hp-electrical"] = { name1 = "electrical horsepower", name2 = "electrical horsepower", symbol = "hp", utype = "power", scale = 746, default = "kW", link = "Horsepower#Electrical horsepower", }, ["hp-metric"] = { name1 = "metric horsepower", name2 = "metric horsepower", symbol = "hp", utype = "power", scale = 735.49875, default = "kW", }, ["ihp"] = { name1 = "indicated horsepower", name2 = "indicated horsepower", symbol = "ihp", utype = "power", scale = 745.69987158227022, default = "kW", link = "Horsepower#Indicated horsepower", }, ["kcal/h"] = { name1 = "kilocalorie per hour", name2 = "kilocalories per hour", symbol = "kcal/h", utype = "power", scale = 1.1622222222222223, default = "kW", link = "Calorie", }, ["kJ/d"] = { name1 = "kilojoule per day", name2 = "kilojoules per day", symbol = "kJ/d", utype = "power", scale = 0.011574074074074073, default = "Cal/d", link = "Kilojoule", }, ["kJ/h"] = { name1 = "kilojoule per hour", name2 = "kilojoules per hour", symbol = "kJ/h", utype = "power", scale = 0.27777777777777779, default = "W", link = "Kilojoule", }, ["PS"] = { name1 = "metric horsepower", name2 = "metric horsepower", symbol = "PS", utype = "power", scale = 735.49875, default = "kW", }, ["shp"] = { name1 = "shaft horsepower", name2 = "shaft horsepower", symbol = "shp", utype = "power", scale = 745.69987158227022, default = "kW", link = "Horsepower#Shaft horsepower", }, ["W"] = { _name1 = "watt", _symbol = "W", utype = "power", scale = 1, prefixes = 1, default = "hp", link = "Watt", }, ["BTU/h"] = { per = { "BTU", "h" }, utype = "power", default = "W", }, ["Btu/h"] = { per = { "Btu", "h" }, utype = "power", default = "W", }, ["BHP"] = { target = "bhp", }, ["btu/h"] = { target = "BTU/h", }, ["HP"] = { target = "hp", }, ["Hp"] = { target = "hp", }, ["hp-mechanical"] = { target = "hp", }, ["IHP"] = { target = "ihp", }, ["SHP"] = { target = "shp", }, ["whp"] = { target = "hp", }, ["hp/lb"] = { name1 = "horsepower per pound", name2 = "horsepower per pound", symbol = "hp/lb", utype = "power per unit mass", scale = 1643.986806, default = "kW/kg", link = "Power-to-weight ratio", }, ["hp/LT"] = { name1 = "horsepower per long ton", name2 = "horsepower per long ton", symbol = "hp/LT", utype = "power per unit mass", scale = 0.73392268125000004, default = "kW/t", link = "Power-to-weight ratio", }, ["hp/ST"] = { name1 = "horsepower per short ton", name2 = "horsepower per short ton", symbol = "hp/ST", utype = "power per unit mass", scale = 0.821993403, default = "kW/t", link = "Power-to-weight ratio", }, ["hp/t"] = { name1 = "horsepower per tonne", name2 = "horsepower per tonne", symbol = "hp/t", utype = "power per unit mass", scale = 0.74569987158227022, default = "kW/t", link = "Power-to-weight ratio", }, ["kW/kg"] = { name1 = "kilowatt per kilogram", name2 = "kilowatts per kilogram", symbol = "kW/kg", utype = "power per unit mass", scale = 1000, default = "hp/lb", link = "Power-to-weight ratio", }, ["kW/t"] = { name1 = "kilowatt per tonne", name2 = "kilowatts per tonne", symbol = "kW/t", utype = "power per unit mass", scale = 1, default = "PS/t", link = "Power-to-weight ratio", }, ["PS/t"] = { name1 = "metric horsepower per tonne", name2 = "metric horsepower per tonne", symbol = "PS/t", utype = "power per unit mass", scale = 0.73549875, default = "kW/t", link = "Power-to-weight ratio", }, ["shp/lb"] = { name1 = "shaft horsepower per pound", name2 = "shaft horsepower per pound", symbol = "shp/lb", utype = "power per unit mass", scale = 1643.986806, default = "kW/kg", link = "Power-to-weight ratio", }, ["hp/tonne"] = { target = "hp/t", symbol = "hp/tonne", default = "kW/tonne", }, ["kW/tonne"] = { target = "kW/t", symbol = "kW/tonne", }, ["-lb/in2"] = { name1 = "pound per square inch", name2 = "pounds per square inch", symbol = "lb/in<sup>2</sup>", utype = "pressure", scale = 6894.7572931683608, default = "kPa kgf/cm2", link = "Pounds per square inch", }, ["atm"] = { name1 = "standard atmosphere", symbol = "atm", utype = "pressure", scale = 101325, default = "kPa", link = "Atmosphere (unit)", }, ["Ba"] = { name1 = "barye", symbol = "Ba", utype = "pressure", scale = 0.1, default = "Pa", }, ["bar"] = { symbol = "bar", utype = "pressure", scale = 100000, default = "kPa", link = "Bar (unit)", }, ["dbar"] = { name1 = "decibar", symbol = "dbar", utype = "pressure", scale = 10000, default = "kPa", link = "Bar (unit)", }, ["inHg"] = { name1 = "inch of mercury", name2 = "inches of mercury", symbol = "inHg", utype = "pressure", scale = 3386.388640341, default = "kPa", }, ["kBa"] = { name1 = "kilobarye", symbol = "kBa", utype = "pressure", scale = 100, default = "hPa", link = "Barye", }, ["kg-f/cm2"] = { name1 = "kilogram-force per square centimetre", name1_us = "kilogram-force per square centimeter", name2 = "kilograms-force per square centimetre", name2_us = "kilograms-force per square centimeter", symbol = "kg<sub>f</sub>/cm<sup>2</sup>", utype = "pressure", scale = 98066.5, default = "psi", link = "Kilogram-force", }, ["kg/cm2"] = { name1 = "kilogram per square centimetre", name1_us = "kilogram per square centimeter", name2 = "kilograms per square centimetre", name2_us = "kilograms per square centimeter", symbol = "kg/cm<sup>2</sup>", utype = "pressure", scale = 98066.5, default = "psi", link = "Kilogram-force", }, ["kgf/cm2"] = { name1 = "kilogram-force per square centimetre", name1_us = "kilogram-force per square centimeter", name2 = "kilograms-force per square centimetre", name2_us = "kilograms-force per square centimeter", symbol = "kgf/cm<sup>2</sup>", utype = "pressure", scale = 98066.5, default = "psi", link = "Kilogram-force", }, ["ksi"] = { name1 = "kilopound per square inch", name2 = "kilopounds per square inch", symbol = "ksi", utype = "pressure", scale = 6894757.2931683613, default = "MPa", link = "Pounds per square inch", }, ["lbf/in2"] = { name1 = "pound-force per square inch", name2 = "pounds-force per square inch", symbol = "lbf/in<sup>2</sup>", utype = "pressure", scale = 6894.7572931683608, default = "kPa kgf/cm2", link = "Pounds-force per square inch", }, ["mb"] = { name1 = "millibar", symbol = "mb", utype = "pressure", scale = 100, default = "hPa", link = "Bar (unit)", }, ["mbar"] = { name1 = "millibar", symbol = "mbar", utype = "pressure", scale = 100, default = "hPa", link = "Bar (unit)", }, ["mmHg"] = { name1 = "millimetre of mercury", name1_us = "millimeter of mercury", name2 = "millimetres of mercury", name2_us = "millimeters of mercury", symbol = "mmHg", utype = "pressure", scale = 133.322387415, default = "kPa", link = "Millimeter of mercury", }, ["Pa"] = { _name1 = "pascal", _symbol = "Pa", utype = "pressure", scale = 1, prefixes = 1, default = "psi", link = "Pascal (unit)", }, ["psf"] = { name1 = "pound per square foot", name2 = "pounds per square foot", symbol = "psf", utype = "pressure", scale = 47.880258980335839, default = "kPa", link = "Pounds per square inch", }, ["psi"] = { name1 = "pound per square inch", name2 = "pounds per square inch", symbol = "psi", utype = "pressure", scale = 6894.7572931683608, default = "kPa", link = "Pounds per square inch", }, ["Torr"] = { name1 = "torr", symbol = "Torr", utype = "pressure", scale = 133.32236842105263, default = "kPa", }, ["N/cm2"] = { per = { "N", "cm2" }, utype = "pressure", default = "psi", }, ["N/m2"] = { per = { "N", "m2" }, utype = "pressure", default = "psi", }, ["g/cm2"] = { per = { "g", "cm2" }, utype = "pressure", default = "lb/sqft", multiplier= 9.80665, }, ["g/m2"] = { per = { "g", "m2" }, utype = "pressure", default = "lb/sqft", multiplier= 9.80665, }, ["kg/ha"] = { per = { "kg", "ha" }, utype = "pressure", default = "lb/acre", multiplier= 9.80665, }, ["kg/m2"] = { per = { "kg", "m2" }, utype = "pressure", default = "lb/sqft", multiplier= 9.80665, }, ["lb/1000sqft"] = { per = { "lb", "1000sqft" }, utype = "pressure", default = "g/m2", multiplier= 9.80665, }, ["lb/acre"] = { per = { "lb", "acre" }, utype = "pressure", default = "kg/ha", multiplier= 9.80665, }, ["lb/sqft"] = { per = { "lb", "sqft" }, utype = "pressure", default = "kg/m2", multiplier= 9.80665, }, ["lb/sqyd"] = { per = { "lb", "sqyd" }, utype = "pressure", default = "kg/m2", multiplier= 9.80665, }, ["LT/acre"] = { per = { "LT", "acre" }, utype = "pressure", default = "t/ha", multiplier= 9.80665, }, ["MT/ha"] = { per = { "MT", "ha" }, utype = "pressure", default = "LT/acre ST/acre", multiplier= 9.80665, }, ["oz/sqft"] = { per = { "oz", "sqft" }, utype = "pressure", default = "g/m2", multiplier= 9.80665, }, ["oz/sqyd"] = { per = { "oz", "sqyd" }, utype = "pressure", default = "g/m2", multiplier= 9.80665, }, ["ST/acre"] = { per = { "ST", "acre" }, utype = "pressure", default = "t/ha", multiplier= 9.80665, }, ["t/ha"] = { per = { "t", "ha" }, utype = "pressure", default = "LT/acre ST/acre", multiplier= 9.80665, }, ["tonne/acre"] = { per = { "tonne", "acre" }, utype = "pressure", default = "tonne/ha", multiplier= 9.80665, }, ["tonne/ha"] = { per = { "tonne", "ha" }, utype = "pressure", default = "tonne/acre", multiplier= 9.80665, }, ["kgfpsqcm"] = { target = "kgf/cm2", }, ["kgpsqcm"] = { target = "kg/cm2", }, ["kN/m2"] = { target = "kPa", }, ["lb/in2"] = { target = "lbf/in2", }, ["torr"] = { target = "Torr", }, ["Bq"] = { _name1 = "becquerel", _symbol = "Bq", utype = "radioactivity", scale = 1, prefixes = 1, default = "pCi", link = "Becquerel", }, ["Ci"] = { _name1 = "curie", _symbol = "Ci", utype = "radioactivity", scale = 3.7e10, prefixes = 1, default = "GBq", link = "Curie", }, ["Rd"] = { _name1 = "rutherford", _symbol = "Rd", utype = "radioactivity", scale = 1e6, prefixes = 1, default = "MBq", link = "Rutherford (unit)", }, ["cm/h"] = { name1 = "centimetre per hour", name1_us = "centimeter per hour", name2 = "centimetres per hour", name2_us = "centimeters per hour", symbol = "cm/h", utype = "speed", scale = 2.7777777777777775e-6, default = "in/h", link = "Metre per second", }, ["cm/s"] = { name1 = "centimetre per second", name1_us = "centimeter per second", name2 = "centimetres per second", name2_us = "centimeters per second", symbol = "cm/s", utype = "speed", scale = 0.01, default = "in/s", link = "Metre per second", }, ["cm/year"] = { name1 = "centimetre per year", name1_us = "centimeter per year", name2 = "centimetres per year", name2_us = "centimeters per year", symbol = "cm/year", utype = "speed", scale = 3.168873850681143e-10, default = "in/year", link = "Orders of magnitude (speed)", }, ["foot/s"] = { name1 = "foot per second", name2 = "foot per second", symbol = "ft/s", utype = "speed", scale = 0.3048, default = "m/s", }, ["ft/min"] = { name1 = "foot per minute", name2 = "feet per minute", symbol = "ft/min", utype = "speed", scale = 0.00508, default = "m/min", link = "Feet per second", }, ["ft/s"] = { name1 = "foot per second", name2 = "feet per second", symbol = "ft/s", utype = "speed", scale = 0.3048, default = "m/s", link = "Feet per second", }, ["furlong per fortnight"] = { name2 = "furlongs per fortnight", symbol = "furlong per fortnight", usename = 1, utype = "speed", scale = 0.00016630952380952381, default = "km/h mph", link = "FFF system", }, ["in/h"] = { name1 = "inch per hour", name2 = "inches per hour", symbol = "in/h", utype = "speed", scale = 7.0555555555555559e-6, default = "cm/h", link = "Inch", }, ["in/s"] = { name1 = "inch per second", name2 = "inches per second", symbol = "in/s", utype = "speed", scale = 0.0254, default = "cm/s", link = "Inch", }, ["in/year"] = { name1 = "inch per year", name2 = "inches per year", symbol = "in/year", utype = "speed", scale = 8.0489395807301024e-10, default = "cm/year", link = "Orders of magnitude (speed)", }, ["isp"] = { name1 = "second", symbol = "s", utype = "speed", scale = 9.80665, default = "km/s", link = "Specific impulse", }, ["km/d"] = { name1 = "kilometre per day", name1_us = "kilometer per day", name2 = "kilometres per day", name2_us = "kilometers per day", symbol = "km/d", utype = "speed", scale = 1.1574074074074074e-2, default = "mi/d", link = "Orders of magnitude (speed)", }, ["km/h"] = { name1 = "kilometre per hour", name1_us = "kilometer per hour", name2 = "kilometres per hour", name2_us = "kilometers per hour", symbol = "km/h", utype = "speed", scale = 0.27777777777777779, default = "mph", link = "Kilometres per hour", }, ["km/s"] = { name1 = "kilometre per second", name1_us = "kilometer per second", name2 = "kilometres per second", name2_us = "kilometers per second", symbol = "km/s", utype = "speed", scale = 1000, default = "mi/s", link = "Metre per second", }, ["kn"] = { name1 = "knot", symbol = "kn", utype = "speed", scale = 0.51444444444444448, default = "km/h mph", link = "Knot (unit)", }, ["kNs/kg"] = { name2 = "kN&#8209;s/kg", symbol = "kN&#8209;s/kg", utype = "speed", scale = 1000, default = "isp", link = "Specific impulse", }, ["m/min"] = { name1 = "metre per minute", name1_us = "meter per minute", name2 = "metres per minute", name2_us = "meters per minute", symbol = "m/min", utype = "speed", scale = 0.016666666666666666, default = "ft/min", link = "Metre per second", }, ["m/s"] = { name1 = "metre per second", name1_us = "meter per second", name2 = "metres per second", name2_us = "meters per second", symbol = "m/s", utype = "speed", scale = 1, default = "ft/s", }, ["Mach"] = { name2 = "Mach", symbol = "Mach", utype = "speed", builtin = "mach", scale = 0, iscomplex= true, default = "km/h mph", link = "Mach number", }, ["mi/d"] = { name1 = "mile per day", name2 = "miles per day", symbol = "mi/d", utype = "speed", scale = 1.8626666666666667e-2, default = "km/d", link = "Orders of magnitude (speed)", }, ["mi/s"] = { name1 = "mile per second", name2 = "miles per second", symbol = "mi/s", utype = "speed", scale = 1609.344, default = "km/s", link = "Mile", }, ["mm/h"] = { name1 = "millimetre per hour", name1_us = "millimeter per hour", name2 = "millimetres per hour", name2_us = "millimeters per hour", symbol = "mm/h", utype = "speed", scale = 2.7777777777777781e-7, default = "in/h", link = "Metre per second", }, ["mph"] = { name1 = "mile per hour", name2 = "miles per hour", symbol = "mph", utype = "speed", scale = 0.44704, default = "km/h", link = "Miles per hour", }, ["Ns/kg"] = { name2 = "N&#8209;s/kg", symbol = "N&#8209;s/kg", utype = "speed", scale = 1, default = "isp", link = "Specific impulse", }, ["si tsfc"] = { name2 = "g/(kN⋅s)", symbol = "g/(kN⋅s)", utype = "speed", scale = 9.9999628621379242e-7, invert = -1, iscomplex= true, default = "tsfc", link = "Thrust specific fuel consumption", }, ["tsfc"] = { name2 = "lb/(lbf⋅h)", symbol = "lb/(lbf⋅h)", utype = "speed", scale = 2.832545036049801e-5, invert = -1, iscomplex= true, default = "si tsfc", link = "Thrust specific fuel consumption", }, ["cm/y"] = { target = "cm/year", }, ["cm/yr"] = { target = "cm/year", }, ["in/y"] = { target = "in/year", }, ["in/yr"] = { target = "in/year", }, ["knot"] = { target = "kn", }, ["knots"] = { target = "kn", }, ["kph"] = { target = "km/h", }, ["mi/h"] = { target = "mph", }, ["mm/s"] = { per = { "mm", "s" }, utype = "speed", default = "in/s", link = "Metre per second", }, ["C"] = { name1 = "degree Celsius", name2 = "degrees Celsius", symbol = "°C", usesymbol= 1, utype = "temperature", scale = 1, offset = -273.15, iscomplex= true, istemperature= true, default = "F", link = "Celsius", }, ["F"] = { name1 = "degree Fahrenheit", name2 = "degrees Fahrenheit", symbol = "°F", usesymbol= 1, utype = "temperature", scale = 0.55555555555555558, offset = 32-273.15*(9/5), iscomplex= true, istemperature= true, default = "C", link = "Fahrenheit", }, ["K"] = { _name1 = "kelvin", _symbol = "K", usesymbol= 1, utype = "temperature", scale = 1, offset = 0, iscomplex= true, istemperature= true, prefixes = 1, default = "C F", link = "Kelvin", }, ["keVT"] = { name1 = "kiloelectronvolt", symbol = "keV", utype = "temperature", scale = 11.604505e6, offset = 0, iscomplex= true, default = "MK", link = "Electronvolt", }, ["R"] = { name1 = "degree Rankine", name2 = "degrees Rankine", symbol = "°R", usesymbol= 1, utype = "temperature", scale = 0.55555555555555558, offset = 0, iscomplex= true, istemperature= true, default = "K F C", link = "Rankine scale", }, ["Celsius"] = { target = "C", }, ["°C"] = { target = "C", }, ["°F"] = { target = "F", }, ["°R"] = { target = "R", }, ["C-change"] = { name1 = "degree Celsius change", name2 = "degrees Celsius change", symbol = "°C", usesymbol= 1, utype = "temperature change", scale = 1, default = "F-change", link = "Celsius", }, ["F-change"] = { name1 = "degree Fahrenheit change", name2 = "degrees Fahrenheit change", symbol = "°F", usesymbol= 1, utype = "temperature change", scale = 0.55555555555555558, default = "C-change", link = "Fahrenheit", }, ["K-change"] = { name1 = "kelvin change", name2 = "kelvins change", symbol = "K", usesymbol= 1, utype = "temperature change", scale = 1, default = "F-change", link = "Kelvin", }, ["°C-change"] = { target = "C-change", }, ["°F-change"] = { target = "F-change", }, ["century"] = { name1 = "century", name2 = "centuries", symbol = "ha", utype = "time", scale = 3155760000, default = "Gs", }, ["d"] = { name1 = "day", symbol = "d", utype = "time", scale = 86400, default = "ks", }, ["decade"] = { name1 = "decade", symbol = "daa", utype = "time", scale = 315576000, default = "Ms", }, ["dog year"] = { name1 = "dog year", symbol = "dog yr", utype = "time", scale = 220903200, default = "years", link = "List of unusual units of measurement#Dog year", }, ["fortnight"] = { symbol = "fortnight", usename = 1, utype = "time", scale = 1209600, default = "week", }, ["h"] = { name1 = "hour", symbol = "h", utype = "time", scale = 3600, default = "ks", }, ["long billion year"] = { name1 = "billion years", name2 = "billion years", symbol = "Ta", utype = "time", scale = 31557600000000000000, default = "Es", link = "Annum", }, ["millennium"] = { name1 = "millennium", name2 = "millennia", symbol = "ka", utype = "time", scale = 31557600000, default = "Gs", }, ["milliard year"] = { name1 = "milliard years", name2 = "milliard years", symbol = "Ga", utype = "time", scale = 31557600000000000, default = "Ps", link = "Annum", }, ["million year"] = { name1 = "million years", name2 = "million years", symbol = "Ma", utype = "time", scale = 31557600000000, default = "Ts", link = "Annum", }, ["min"] = { name1 = "minute", symbol = "min", utype = "time", scale = 60, default = "s", }, ["month"] = { symbol = "month", usename = 1, utype = "time", scale = 2629800, default = "Ms", }, ["months"] = { name1 = "month", symbol = "mo", utype = "time", scale = 2629800, default = "year", }, ["s"] = { _name1 = "second", _symbol = "s", utype = "time", scale = 1, prefixes = 1, default = "min", link = "Second", }, ["short billion year"] = { name1 = "billion years", name2 = "billion years", symbol = "Ga", utype = "time", scale = 31557600000000000, default = "Ps", link = "Annum", }, ["short trillion year"] = { name1 = "trillion years", name2 = "trillion years", symbol = "Ta", utype = "time", scale = 31557600000000000000, default = "Es", link = "Annum", }, ["thousand million year"] = { name1 = "thousand million years", name2 = "thousand million years", symbol = "Ga", utype = "time", scale = 31557600000000000, default = "Ps", link = "Annum", }, ["wk"] = { symbol = "week", usename = 1, utype = "time", scale = 604800, default = "Ms", }, ["year"] = { name1 = "year", symbol = "a", utype = "time", scale = 31557600, default = "Ms", link = "Annum", }, ["years"] = { name1 = "year", symbol = "yr", utype = "time", scale = 31557600, default = "Ms", link = "Annum", }, ["byr"] = { target = "short billion year", }, ["day"] = { target = "d", }, ["days"] = { target = "d", }, ["dog yr"] = { target = "dog year", }, ["Gyr"] = { target = "thousand million year", }, ["hour"] = { target = "h", }, ["hours"] = { target = "h", }, ["kMyr"] = { target = "thousand million year", }, ["kmyr"] = { target = "thousand million year", }, ["kyr"] = { target = "millennium", }, ["long byr"] = { target = "long billion year", }, ["minute"] = { target = "min", }, ["minutes"] = { target = "min", }, ["mth"] = { target = "month", }, ["Myr"] = { target = "million year", }, ["myr"] = { target = "million year", }, ["second"] = { target = "s", }, ["seconds"] = { target = "s", }, ["tmyr"] = { target = "thousand million year", }, ["tryr"] = { target = "short trillion year", }, ["tyr"] = { target = "millennium", }, ["week"] = { target = "wk", }, ["weeks"] = { target = "wk", }, ["yr"] = { target = "year", }, ["kg.m"] = { name1 = "kilogram metre", name1_us = "kilogram meter", symbol = "kg⋅m", utype = "torque", scale = 9.80665, default = "Nm lbft", link = "Kilogram metre (torque)", }, ["kgf.m"] = { name1 = "kilogram force-metre", name1_us = "kilogram force-meter", symbol = "kgf⋅m", utype = "torque", scale = 9.80665, default = "Nm lbfft", link = "Kilogram metre (torque)", }, ["kgm"] = { name1 = "kilogram metre", name1_us = "kilogram meter", symbol = "kg⋅m", utype = "torque", scale = 9.80665, default = "Nm lbfft", link = "Kilogram metre (torque)", }, ["lb-fft"] = { name1 = "pound force-foot", name2 = "pound force-feet", symbol = "ft⋅lb<sub>f</sub>", utype = "torque", scale = 1.3558179483314004, default = "Nm", link = "Pound-foot (torque)", }, ["lb.ft"] = { name1 = "pound force-foot", name2 = "pound force-feet", symbol = "lb⋅ft", utype = "torque", scale = 1.3558179483314004, default = "Nm", link = "Pound-foot (torque)", }, ["lb.in"] = { name1 = "pound force-inch", symbol = "lb⋅in", utype = "torque", scale = 0.1129848290276167, default = "mN.m", link = "Pound-foot (torque)", }, ["lbfft"] = { name1 = "pound force-foot", name2 = "pound force-feet", symbol = "lbf⋅ft", utype = "torque", scale = 1.3558179483314004, default = "Nm", link = "Pound-foot (torque)", }, ["lbft"] = { name1 = "pound-foot", name2 = "pound-feet", symbol = "lb⋅ft", utype = "torque", scale = 1.3558179483314004, default = "Nm", link = "Pound-foot (torque)", }, ["m.kg-f"] = { name1 = "metre kilogram-force", name1_us = "meter kilogram-force", name2 = "metre kilograms-force", name2_us = "meter kilograms-force", symbol = "m⋅kg<sub>f</sub>", utype = "torque", scale = 9.80665, default = "Nm lbfft", link = "Kilogram metre (torque)", }, ["m.kgf"] = { name1 = "metre kilogram-force", name1_us = "meter kilogram-force", name2 = "metre kilograms-force", name2_us = "meter kilograms-force", symbol = "m⋅kgf", utype = "torque", scale = 9.80665, default = "Nm lbfft", link = "Kilogram metre (torque)", }, ["mN.m"] = { name1 = "millinewton metre", name1_us = "millinewton meter", symbol = "mN⋅m", utype = "torque", scale = 0.001, default = "lb.in", link = "Newton metre", }, ["Nm"] = { _name1 = "newton metre", _name1_us= "newton meter", _symbol = "N⋅m", utype = "torque", alttype = "energy", scale = 1, prefixes = 1, default = "lbfft", link = "Newton metre", }, ["kN/m"] = { per = { "kN", "-m-stiff" }, utype = "torque", default = "lbf/in", }, ["lbf/in"] = { per = { "lbf", "-in-stiff" }, utype = "torque", default = "kN/m", }, ["lb-f.ft"] = { target = "lb-fft", }, ["lbf.ft"] = { target = "lbfft", }, ["lbf·ft"] = { target = "lbfft", }, ["lb·ft"] = { target = "lb.ft", }, ["mkg-f"] = { target = "m.kg-f", }, ["mkgf"] = { target = "m.kgf", }, ["N.m"] = { target = "Nm", }, ["N·m"] = { target = "Nm", }, ["-12USoz(mL)serve"] = { name1_us = "12&nbsp;U.S.&nbsp;fl&nbsp;oz (355&nbsp;mL) serving", symbol = "12&nbsp;US&nbsp;fl&nbsp;oz (355&nbsp;mL) serving", sym_us = "12&nbsp;U.S.&nbsp;fl&nbsp;oz (355&nbsp;mL) serving", utype = "volume", scale = 0.00035488235475000004, default = "mL", link = "Beverage can#Standard sizes", }, ["-12USoz(ml)serve"] = { name1_us = "12&nbsp;U.S.&nbsp;fl&nbsp;oz (355&nbsp;ml) serving", symbol = "12&nbsp;US&nbsp;fl&nbsp;oz (355&nbsp;ml) serving", sym_us = "12&nbsp;U.S.&nbsp;fl&nbsp;oz (355&nbsp;ml) serving", utype = "volume", scale = 0.00035488235475000004, default = "ml", link = "Beverage can#Standard sizes", }, ["-12USozserve"] = { name1_us = "12&nbsp;U.S.&nbsp;fl&nbsp;oz serving", symbol = "12&nbsp;US&nbsp;fl&nbsp;oz serving", sym_us = "12&nbsp;U.S.&nbsp;fl&nbsp;oz serving", utype = "volume", scale = 0.00035488235475000004, default = "mL", link = "Beverage can#Standard sizes", }, ["acre foot"] = { name1 = "acre foot", name2 = "acre foot", symbol = "acre⋅ft", utype = "volume", scale = 1233.48183754752, default = "m3", }, ["acre ft"] = { name1 = "acre foot", name2 = "acre feet", symbol = "acre⋅ft", utype = "volume", scale = 1233.48183754752, default = "m3", }, ["AUtbsp"] = { name1 = "Australian tablespoon", symbol = "AU&nbsp;tbsp", utype = "volume", scale = 0.000020, default = "ml", }, ["Bcuft"] = { name1 = "billion cubic foot", name2 = "billion cubic feet", symbol = "billion cu&nbsp;ft", utype = "volume", scale = 28316846.592, default = "Gl", link = "Cubic foot", }, ["bdft"] = { name1 = "board foot", name2 = "board feet", symbol = "bd&nbsp;ft", utype = "volume", scale = 0.0023597372167, default = "m3", }, ["board feet"] = { name2 = "board feet", symbol = "board foot", usename = 1, utype = "volume", scale = 0.0023597372167, default = "m3", }, ["board foot"] = { name2 = "board foot", symbol = "board foot", usename = 1, utype = "volume", scale = 0.0023597372167, default = "m3", }, ["cc"] = { name1 = "cubic centimetre", name1_us = "cubic centimeter", symbol = "cc", utype = "volume", scale = 0.000001, default = "cuin", }, ["CID"] = { name1 = "cubic inch", name2 = "cubic inches", symbol = "cu&nbsp;in", utype = "volume", scale = 0.000016387064, default = "cc", link = "Cubic inch#Engine displacement", }, ["cord"] = { symbol = "cord", utype = "volume", scale = 3.624556363776, default = "m3", link = "Cord (unit)", }, ["cufoot"] = { name1 = "cubic foot", name2 = "cubic foot", symbol = "cu&nbsp;ft", utype = "volume", scale = 0.028316846592, default = "m3", }, ["cuft"] = { name1 = "cubic foot", name2 = "cubic feet", symbol = "cu&nbsp;ft", utype = "volume", scale = 0.028316846592, default = "m3", }, ["cuin"] = { name1 = "cubic inch", name2 = "cubic inches", symbol = "cu&nbsp;in", utype = "volume", scale = 0.000016387064, default = "cm3", }, ["cumi"] = { name1 = "cubic mile", symbol = "cu&nbsp;mi", utype = "volume", scale = 4168181825.440579584, default = "km3", }, ["cuyd"] = { name1 = "cubic yard", symbol = "cu&nbsp;yd", utype = "volume", scale = 0.764554857984, default = "m3", }, ["firkin"] = { symbol = "firkin", usename = 1, utype = "volume", scale = 0.04091481, default = "l impgal USgal", link = "Firkin (unit)", }, ["foot3"] = { target = "cufoot", }, ["Goilbbl"] = { name1 = "billion barrels", name2 = "billion barrels", symbol = "Gbbl", utype = "volume", scale = 158987294.928, default = "v * 1.58987294928 < 10 ! e6 ! e9 ! m3", link = "Barrel (unit)#Oil barrel", }, ["gr water"] = { name1 = "grains water", name2 = "grains water", symbol = "gr H<sub>2</sub>O", utype = "volume", scale = 0.00000006479891, default = "cm3", link = "Grain (unit)", }, ["grt"] = { name1 = "gross register ton", symbol = "grt", utype = "volume", scale = 2.8316846592, default = "m3", link = "Gross register tonnage", }, ["impbbl"] = { name1 = "imperial barrel", symbol = "imp&nbsp;bbl", utype = "volume", scale = 0.16365924, default = "l impgal USgal", link = "Barrel (unit)", }, ["impbsh"] = { name1 = "imperial bushel", symbol = "imp&nbsp;bsh", utype = "volume", scale = 0.03636872, default = "l impgal USdrygal", }, ["impbu"] = { name1 = "imperial bushel", symbol = "imp&nbsp;bu", utype = "volume", scale = 0.03636872, default = "m3", }, ["impgal"] = { name1 = "imperial gallon", symbol = "imp&nbsp;gal", utype = "volume", scale = 0.00454609, default = "l USgal", }, ["impgi"] = { name1 = "gill", symbol = "gi", utype = "volume", scale = 0.0001420653125, default = "ml USoz", link = "Gill (unit)", }, ["impkenning"] = { name1 = "imperial kenning", symbol = "kenning", utype = "volume", scale = 0.01818436, default = "l USdrygal", link = "Kenning (unit)", }, ["impoz"] = { name1 = "imperial fluid ounce", symbol = "imp&nbsp;fl&nbsp;oz", utype = "volume", scale = 0.0000284130625, default = "ml USoz", }, ["imppk"] = { name1 = "imperial peck", symbol = "pk", utype = "volume", scale = 0.00909218, default = "l USdrygal", link = "Peck", }, ["imppt"] = { name1 = "imperial pint", symbol = "imp&nbsp;pt", utype = "volume", scale = 0.00056826125, default = "l", }, ["impqt"] = { name1 = "imperial quart", symbol = "imp&nbsp;qt", utype = "volume", scale = 0.0011365225, default = "ml USoz", customary= 3, }, ["kilderkin"] = { symbol = "kilderkin", usename = 1, utype = "volume", scale = 0.08182962, default = "l impgal USgal", }, ["koilbbl"] = { name1 = "thousand barrels", name2 = "thousand barrels", symbol = "kbbl", utype = "volume", scale = 158.987294928, default = "v * 1.58987294928 < 10 ! ! e3 ! m3", link = "Barrel (unit)#Oil barrel", }, ["L"] = { _name1 = "litre", _name1_us= "liter", _symbol = "L", utype = "volume", scale = 0.001, prefixes = 1, default = "impgal USgal", link = "Litre", }, ["l"] = { _name1 = "litre", _name1_us= "liter", _symbol = "l", utype = "volume", scale = 0.001, prefixes = 1, default = "impgal USgal", link = "Litre", }, ["m3"] = { _name1 = "cubic metre", _name1_us= "cubic meter", _symbol = "m<sup>3</sup>", prefix_position= 7, utype = "volume", scale = 1, prefixes = 3, default = "cuft", link = "Cubic metre", }, ["Mbbl"] = { name1 = "thousand barrels", name2 = "thousand barrels", symbol = "Mbbl", utype = "volume", scale = 158.987294928, default = "v * 1.58987294928 < 10 ! e3 ! ! m3", link = "Barrel (unit)#Oil barrel", }, ["MMoilbbl"] = { name1 = "million barrels", name2 = "million barrels", symbol = "MMbbl", utype = "volume", scale = 158987.294928, default = "v * 1.58987294928 < 10 ! e3 ! e6 ! m3", link = "Barrel (unit)#Oil barrel", }, ["Moilbbl"] = { name1 = "million barrels", name2 = "million barrels", symbol = "Mbbl", utype = "volume", scale = 158987.294928, default = "v * 1.58987294928 < 10 ! e3 ! e6 ! m3", link = "Barrel (unit)#Oil barrel", }, ["MTON"] = { name1 = "measurement ton", symbol = "MTON", utype = "volume", scale = 1.13267386368, default = "m3", }, ["MUSgal"] = { name1 = "million US gallons", name1_us = "million U.S. gallons", name2 = "million US gallons", name2_us = "million U.S. gallons", symbol = "million US&nbsp;gal", sym_us = "million U.S.&nbsp;gal", utype = "volume", scale = 3785.411784, default = "Ml", link = "US gallon", }, ["oilbbl"] = { name1 = "barrel", symbol = "bbl", utype = "volume", scale = 0.158987294928, default = "m3", link = "Barrel (unit)#Oil barrel", }, ["stere"] = { symbol = "stere", usename = 1, utype = "volume", scale = 1, default = "cuft", }, ["Toilbbl"] = { name1 = "trillion barrels", name2 = "trillion barrels", symbol = "Tbbl", utype = "volume", scale = 158987294928, default = "v * 1.58987294928 < 10 ! e9 ! e12 ! m3", link = "Barrel (unit)#Oil barrel", }, ["USbbl"] = { name1 = "US barrel", name1_us = "U.S. barrel", symbol = "US&nbsp;bbl", sym_us = "U.S.&nbsp;bbl", utype = "volume", scale = 0.119240471196, default = "l USgal impgal", link = "Barrel (unit)", }, ["USbeerbbl"] = { name1 = "US beer barrel", name1_us = "U.S. beer barrel", symbol = "US&nbsp;bbl", sym_us = "U.S.&nbsp;bbl", utype = "volume", scale = 0.117347765304, default = "l USgal impgal", link = "Barrel (unit)", }, ["USbsh"] = { name1 = "US bushel", name1_us = "U.S. bushel", symbol = "US&nbsp;bsh", sym_us = "U.S.&nbsp;bsh", utype = "volume", scale = 0.03523907016688, default = "l USdrygal impgal", link = "Bushel", }, ["USbu"] = { name1 = "US bushel", name1_us = "U.S. bushel", symbol = "US&nbsp;bu", sym_us = "U.S.&nbsp;bu", utype = "volume", scale = 0.03523907016688, default = "l USdrygal impgal", link = "Bushel", }, ["USdrybbl"] = { name1 = "US dry barrel", name1_us = "U.S. dry barrel", symbol = "US&nbsp;dry&nbsp;bbl", sym_us = "U.S.&nbsp;dry&nbsp;bbl", utype = "volume", scale = 0.11562819898508, default = "m3", link = "Barrel (unit)", }, ["USdrygal"] = { name1 = "US dry gallon", name1_us = "U.S. dry gallon", symbol = "US&nbsp;dry&nbsp;gal", sym_us = "U.S.&nbsp;dry&nbsp;gal", utype = "volume", scale = 0.00440488377086, default = "l", link = "Gallon", }, ["USdrypt"] = { name1 = "US dry pint", name1_us = "U.S. dry pint", symbol = "US&nbsp;dry&nbsp;pt", sym_us = "U.S.&nbsp;dry&nbsp;pt", utype = "volume", scale = 0.0005506104713575, default = "ml", link = "Pint", }, ["USdryqt"] = { name1 = "US dry quart", name1_us = "U.S. dry quart", symbol = "US&nbsp;dry&nbsp;qt", sym_us = "U.S.&nbsp;dry&nbsp;qt", utype = "volume", scale = 0.001101220942715, default = "ml", link = "Quart", }, ["USflgal"] = { name1 = "US gallon", name1_us = "U.S. gallon", symbol = "US fl gal", sym_us = "U.S.&nbsp;fl&nbsp;gal", utype = "volume", scale = 0.003785411784, default = "l impgal", link = "Gallon", }, ["USgal"] = { name1 = "US gallon", name1_us = "U.S. gallon", symbol = "US&nbsp;gal", sym_us = "U.S.&nbsp;gal", utype = "volume", scale = 0.003785411784, default = "l impgal", }, ["USgi"] = { name1 = "gill", symbol = "gi", utype = "volume", scale = 0.0001182941183, default = "ml impoz", link = "Gill (unit)", }, ["USkenning"] = { name1 = "US kenning", name1_us = "U.S. kenning", symbol = "US&nbsp;kenning", sym_us = "U.S.&nbsp;kenning", utype = "volume", scale = 0.01761953508344, default = "l impgal", link = "Kenning (unit)", }, ["USmin"] = { name1 = "US minim", name1_us = "U.S. minim", symbol = "US&nbsp;min", sym_us = "U.S.&nbsp;min", utype = "volume", scale = 0.000000061611519921875, default = "ml", link = "Minim (unit)", }, ["USoz"] = { name1 = "US fluid ounce", name1_us = "U.S. fluid ounce", symbol = "US&nbsp;fl&nbsp;oz", sym_us = "U.S.&nbsp;fl&nbsp;oz", utype = "volume", scale = 0.0000295735295625, default = "ml", }, ["USpk"] = { name1 = "US peck", name1_us = "U.S. peck", symbol = "US&nbsp;pk", sym_us = "U.S.&nbsp;pk", utype = "volume", scale = 0.00880976754172, default = "l impgal", link = "Peck", }, ["USpt"] = { name1 = "US pint", name1_us = "U.S. pint", symbol = "US&nbsp;pt", sym_us = "U.S.&nbsp;pt", utype = "volume", scale = 0.000473176473, default = "l imppt", link = "Pint", }, ["USqt"] = { name1 = "US quart", name1_us = "U.S. quart", symbol = "US&nbsp;qt", sym_us = "U.S.&nbsp;qt", utype = "volume", scale = 0.000946352946, default = "ml", link = "Quart", customary= 1, }, ["USquart"] = { name1 = "US quart", name1_us = "U.S. quart", symbol = "US&nbsp;qt", sym_us = "U.S.&nbsp;qt", utype = "volume", scale = 0.000946352946, default = "ml impoz", link = "Quart", }, ["UStbsp"] = { name1 = "US tablespoon", name1_us = "U.S. tablespoon", symbol = "US&nbsp;tbsp", sym_us = "U.S.&nbsp;tbsp", utype = "volume", scale = 1.4786764781250001e-5, default = "ml", }, ["winecase"] = { symbol = "case", usename = 1, utype = "volume", scale = 0.009, default = "l", link = "Case (goods)", }, ["*U.S.drygal"] = { target = "USdrygal", sp_us = true, customary= 2, }, ["*U.S.gal"] = { target = "USgal", sp_us = true, default = "L impgal", customary= 2, }, ["+USdrygal"] = { target = "USdrygal", customary= 1, }, ["+usfloz"] = { target = "USoz", link = "Fluid ounce", customary= 1, }, ["+USgal"] = { target = "USgal", customary= 1, }, ["+USoz"] = { target = "USoz", customary= 1, }, ["@impgal"] = { target = "impgal", link = "Gallon", customary= 3, }, ["acre feet"] = { target = "acre ft", }, ["acre-feet"] = { target = "acre ft", }, ["acre-ft"] = { target = "acre ft", }, ["acre.foot"] = { target = "acre foot", }, ["acre.ft"] = { target = "acre ft", }, ["acre·ft"] = { target = "acre ft", }, ["bushels"] = { target = "USbsh", }, ["cid"] = { target = "CID", }, ["ft3"] = { target = "cuft", }, ["gal"] = { target = "USgal", }, ["gallon"] = { shouldbe = "Use %{USgal%} for US gallons or %{impgal%} for imperial gallons (not %{gallon%})", }, ["gallons"] = { shouldbe = "Use %{USgal%} for US gallons or %{impgal%} for imperial gallons (not %{gallons%})", }, ["Gcuft"] = { target = "e9cuft", }, ["impfloz"] = { target = "impoz", }, ["Impgal"] = { target = "impgal", }, ["in3"] = { target = "cuin", symbol = "in<sup>3</sup>", }, ["kcuft"] = { target = "e3cuft", }, ["kcum"] = { target = "e3m3", }, ["km³"] = { target = "km3", }, ["liter"] = { target = "L", sp_us = true, }, ["liters"] = { target = "L", sp_us = true, }, ["litre"] = { target = "L", }, ["litres"] = { target = "L", }, ["Mcuft"] = { target = "e6cuft", }, ["Mcum"] = { target = "e6m3", }, ["Mft3"] = { target = "e6cuft", }, ["mi3"] = { target = "cumi", }, ["m³"] = { target = "m3", }, ["Pcuft"] = { target = "e15cuft", }, ["pt"] = { shouldbe = "Use %{USpt%} for US pints or %{imppt%} for imperial pints (not %{pt%})", }, ["qt"] = { shouldbe = "Use %{USqt%} for US quarts or %{impqt%} for imperial quarts (not %{qt%})", }, ["Tcuft"] = { target = "e12cuft", }, ["Tft3"] = { target = "e12cuft", }, ["U.S.bbl"] = { target = "USbbl", sp_us = true, default = "l U.S.gal impgal", }, ["U.S.beerbbl"] = { target = "USbeerbbl", sp_us = true, default = "l U.S.gal impgal", }, ["U.S.bsh"] = { target = "USbsh", sp_us = true, default = "l U.S.drygal impgal", }, ["U.S.bu"] = { target = "USbu", sp_us = true, default = "l U.S.drygal impgal", }, ["U.S.drybbl"] = { target = "USdrybbl", sp_us = true, }, ["U.S.drygal"] = { target = "USdrygal", sp_us = true, }, ["U.S.drypt"] = { target = "USdrypt", sp_us = true, }, ["U.S.dryqt"] = { target = "USdryqt", sp_us = true, }, ["U.S.flgal"] = { target = "USflgal", sp_us = true, }, ["U.S.floz"] = { target = "USoz", sp_us = true, }, ["U.S.gal"] = { target = "USgal", sp_us = true, default = "L impgal", link = "U.S. gallon", }, ["u.s.gal"] = { target = "USgal", sp_us = true, default = "L impgal", link = "U.S. gallon", }, ["U.S.gi"] = { target = "USgi", sp_us = true, }, ["U.S.kenning"] = { target = "USkenning", sp_us = true, }, ["U.S.oz"] = { target = "USoz", sp_us = true, }, ["U.S.pk"] = { target = "USpk", sp_us = true, }, ["U.S.pt"] = { target = "USpt", sp_us = true, }, ["U.S.qt"] = { target = "USqt", sp_us = true, default = "L impqt", customary= 2, }, ["usbbl"] = { target = "USbbl", }, ["usbeerbbl"] = { target = "USbeerbbl", }, ["usbsh"] = { target = "USbsh", }, ["usbu"] = { target = "USbu", }, ["usdrybbl"] = { target = "USdrybbl", }, ["usdrygal"] = { target = "USdrygal", }, ["usdrypt"] = { target = "USdrypt", }, ["usdryqt"] = { target = "USdryqt", }, ["USfloz"] = { target = "USoz", }, ["usfloz"] = { target = "USoz", }, ["USGAL"] = { target = "USgal", }, ["usgal"] = { target = "USgal", }, ["usgi"] = { target = "USgi", }, ["uskenning"] = { target = "USkenning", }, ["usoz"] = { target = "USoz", }, ["uspk"] = { target = "USpk", }, ["uspt"] = { target = "USpt", }, ["usqt"] = { target = "USqt", }, ["yd3"] = { target = "cuyd", }, ["cuft/sqmi"] = { per = { "cuft", "sqmi" }, utype = "volume per unit area", default = "m3/km2", }, ["m3/ha"] = { name1 = "cubic metre per hectare", name1_us = "cubic meter per hectare", name2 = "cubic metres per hectare", name2_us = "cubic meters per hectare", symbol = "m<sup>3</sup>/ha", utype = "volume per unit area", scale = 0.0001, default = "USbu/acre", link = "Hectare", }, ["m3/km2"] = { per = { "m3", "km2" }, utype = "volume per unit area", default = "cuft/sqmi", }, ["U.S.gal/acre"] = { per = { "U.S.gal", "acre" }, utype = "volume per unit area", default = "m3/km2", }, ["USbu/acre"] = { name2 = "US bushels per acre", symbol = "US bushel per acre", usename = 1, utype = "volume per unit area", scale = 8.7077638761350888e-6, default = "m3/ha", link = "Bushel", }, ["USgal/acre"] = { per = { "USgal", "acre" }, utype = "volume per unit area", default = "m3/km2", }, ["cuyd/mi"] = { per = { "cuyd", "mi" }, utype = "volume per unit length", default = "m3/km", }, ["m3/km"] = { per = { "m3", "km" }, utype = "volume per unit length", default = "cuyd/mi", }, ["mich"] = { combination= { "ch", "mi" }, multiple = { 80 }, utype = "length", }, ["michlk"] = { combination= { "chlk", "mi" }, multiple = { 80 }, utype = "length", }, ["michainlk"] = { combination= { "chainlk", "mi" }, multiple = { 80 }, utype = "length", }, ["miydftin"] = { combination= { "in", "ft", "yd", "mi" }, multiple = { 12, 3, 1760 }, utype = "length", }, ["mift"] = { combination= { "ft", "mi" }, multiple = { 5280 }, utype = "length", }, ["ydftin"] = { combination= { "in", "ft", "yd" }, multiple = { 12, 3 }, utype = "length", }, ["ydft"] = { combination= { "ft", "yd" }, multiple = { 3 }, utype = "length", }, ["ftin"] = { combination= { "in", "ft" }, multiple = { 12 }, utype = "length", }, ["footin"] = { combination= { "in", "foot" }, multiple = { 12 }, utype = "length", }, ["handin"] = { combination= { "in", "hand" }, multiple = { 4 }, utype = "length", }, ["lboz"] = { combination= { "oz", "lb" }, multiple = { 16 }, utype = "mass", }, ["stlb"] = { combination= { "lb", "st" }, multiple = { 14 }, utype = "mass", }, ["stlboz"] = { combination= { "oz", "lb", "st" }, multiple = { 16, 14 }, utype = "mass", }, ["st and lb"] = { combination= { "lb", "st" }, multiple = { 14 }, utype = "mass", }, ["GN LTf"] = { combination= { "GN", "-LTf" }, utype = "force", }, ["GN LTf STf"] = { combination= { "GN", "-LTf", "-STf" }, utype = "force", }, ["GN STf"] = { combination= { "GN", "-STf" }, utype = "force", }, ["GN STf LTf"] = { combination= { "GN", "-STf", "-LTf" }, utype = "force", }, ["kN LTf"] = { combination= { "kN", "-LTf" }, utype = "force", }, ["kN LTf STf"] = { combination= { "kN", "-LTf", "-STf" }, utype = "force", }, ["kN STf"] = { combination= { "kN", "-STf" }, utype = "force", }, ["kN STf LTf"] = { combination= { "kN", "-STf", "-LTf" }, utype = "force", }, ["LTf STf"] = { combination= { "-LTf", "-STf" }, utype = "force", }, ["MN LTf"] = { combination= { "MN", "-LTf" }, utype = "force", }, ["MN LTf STf"] = { combination= { "MN", "-LTf", "-STf" }, utype = "force", }, ["MN STf"] = { combination= { "MN", "-STf" }, utype = "force", }, ["MN STf LTf"] = { combination= { "MN", "-STf", "-LTf" }, utype = "force", }, ["STf LTf"] = { combination= { "-STf", "-LTf" }, utype = "force", }, ["L/100 km mpgimp"] = { combination= { "L/100 km", "mpgimp" }, utype = "fuel efficiency", }, ["l/100 km mpgimp"] = { combination= { "l/100 km", "mpgimp" }, utype = "fuel efficiency", }, ["L/100 km mpgUS"] = { combination= { "L/100 km", "mpgus" }, utype = "fuel efficiency", }, ["L/100 km mpgus"] = { combination= { "L/100 km", "mpgus" }, utype = "fuel efficiency", }, ["l/100 km mpgus"] = { combination= { "l/100 km", "mpgus" }, utype = "fuel efficiency", }, ["mpgimp L/100 km"] = { combination= { "mpgimp", "L/100 km" }, utype = "fuel efficiency", }, ["LT ST t"] = { combination= { "lt", "-ST", "t" }, utype = "mass", }, ["LT t ST"] = { combination= { "lt", "t", "-ST" }, utype = "mass", }, ["ST LT t"] = { combination= { "-ST", "lt", "t" }, utype = "mass", }, ["ST t LT"] = { combination= { "-ST", "t", "lt" }, utype = "mass", }, ["t LT ST"] = { combination= { "t", "lt", "-ST" }, utype = "mass", }, ["ton"] = { combination= { "LT", "ST" }, utype = "mass", }, ["kPa kg/cm2"] = { combination= { "kPa", "kgf/cm2" }, utype = "pressure", }, ["kPa lb/in2"] = { combination= { "kPa", "-lb/in2" }, utype = "pressure", }, ["floz"] = { combination= { "impoz", "USoz" }, utype = "volume", }, } --------------------------------------------------------------------------- -- Do not change the data in this table because it is created by running -- -- a script that reads the wikitext from a wiki page (see note above). -- --------------------------------------------------------------------------- local default_exceptions = { -- Prefixed units with a default different from that of the base unit. -- Each key item is a prefixed symbol (unitcode for engineering notation). ["cm<sup>2</sup>"] = "sqin", ["dm<sup>2</sup>"] = "sqin", ["e3acre"] = "km2", ["e3m2"] = "e6sqft", ["e6acre"] = "km2", ["e6ha"] = "e6acre", ["e6km2"] = "e6sqmi", ["e6m2"] = "e6sqft", ["e6sqft"] = "v * 9.290304 < 100 ! e3 ! e6 ! m2", ["e6sqmi"] = "e6km2", ["hm<sup>2</sup>"] = "acre", ["km<sup>2</sup>"] = "sqmi", ["mm<sup>2</sup>"] = "sqin", ["aJ"] = "eV", ["e3BTU"] = "MJ", ["e6BTU"] = "GJ", ["EJ"] = "kWh", ["fJ"] = "keV", ["GJ"] = "kWh", ["MJ"] = "kWh", ["PJ"] = "kWh", ["pJ"] = "MeV", ["TJ"] = "kWh", ["YJ"] = "kWh", ["yJ"] = "μeV", ["ZJ"] = "kWh", ["zJ"] = "meV", ["e12cuft/a"] = "v * 2.8316846592 < 100 ! e9 ! e12 ! m3/a", ["e12cuft/d"] = "v * 2.8316846592 < 100 ! e9 ! e12 ! m3/d", ["e12m3/a"] = "Tcuft/a", ["e12m3/d"] = "Tcuft/d", ["e3cuft/a"] = "v * 2.8316846592 < 100 ! ! e3 ! m3/a", ["e3cuft/d"] = "v * 2.8316846592 < 100 ! ! e3 ! m3/d", ["e3cuft/s"] = "v * 2.8316846592 < 100 ! ! e3 ! m3/s", ["e3m3/a"] = "v < 28.316846592 ! k ! M ! cuft/a", ["e3m3/d"] = "v < 28.316846592 ! k ! M ! cuft/d", ["e3m3/s"] = "v < 28.316846592 ! k ! M ! cuft/s", ["e3USgal/a"] = "v * 3.785411784 < 1000 ! ! e3 ! m3/a", ["e6cuft/a"] = "v * 2.8316846592 < 100 ! e3 ! e6 ! m3/a", ["e6cuft/d"] = "v * 2.8316846592 < 100 ! e3 ! e6 ! m3/d", ["e6cuft/s"] = "v * 2.8316846592 < 100 ! e3 ! e6 ! m3/s", ["e6m3/a"] = "v < 28.316846592 ! M ! G ! cuft/a", ["e6m3/d"] = "v < 28.316846592 ! M ! G ! cuft/d", ["e6m3/s"] = "v < 28.316846592 ! e6 ! e9 ! cuft/s", ["e6USgal/a"] = "v * 3.785411784 < 1000 ! e3 ! e6 ! m3/a", ["e9cuft/a"] = "m3/a", ["e9cuft/d"] = "v * 2.8316846592 < 100 ! e6 ! e9 ! m3/d", ["e9m3/a"] = "v < 28.316846592 ! G ! T ! cuft/a", ["e9m3/d"] = "v < 28.316846592 ! G ! T ! cuft/d", ["e9m3/s"] = "v < 28.316846592 ! e9 ! e12 ! cuft/s", ["e9USgal/a"] = "v * 3.785411784 < 1000 ! e6 ! e9 ! m3/a", ["e9USgal/s"] = "v * 3.785411784 < 1000 ! e6 ! e9 ! m3/s", ["nN"] = "gr-f", ["μN"] = "gr-f", ["mN"] = "oz-f", ["am"] = "in", ["cm"] = "in", ["dam"] = "ft", ["dm"] = "in", ["e12km"] = "e12mi", ["e12mi"] = "e12km", ["e3AU"] = "ly", ["e3km"] = "e3mi", ["e3mi"] = "e3km", ["e6km"] = "e6mi", ["e6mi"] = "e6km", ["e9km"] = "AU", ["e9mi"] = "e9km", ["Em"] = "mi", ["fm"] = "in", ["Gm"] = "mi", ["hm"] = "ft", ["km"] = "mi", ["mm"] = "in", ["Mm"] = "mi", ["nm"] = "in", ["Pm"] = "mi", ["pm"] = "in", ["Tm"] = "mi", ["Ym"] = "mi", ["ym"] = "in", ["Zm"] = "mi", ["zm"] = "in", ["μm"] = "in", ["e12lb"] = "v * 4.5359237 < 10 ! Mt ! Gt", ["e3lb"] = "v * 4.5359237 < 10 ! kg ! t", ["e3ozt"] = "v * 0.311034768 < 10 ! kg ! t", ["e3t"] = "LT ST", ["e6carat"] = "t", ["e6lb"] = "v * 4.5359237 < 10 ! t ! kilotonne", ["e6ozt"] = "lb kg", ["e6ST"] = "Mt", ["e6t"] = "LT ST", ["e9lb"] = "v * 4.5359237 < 10 ! kilotonne ! Mt", ["e9t"] = "LT ST", ["Gg"] = "lb", ["kg"] = "lb", ["mg"] = "gr", ["Mg"] = "LT ST", ["ng"] = "gr", ["μg"] = "gr", ["mBq"] = "fCi", ["kBq"] = "nCi", ["MBq"] = "μCi", ["GBq"] = "mCi", ["TBq"] = "Ci", ["PBq"] = "kCi", ["EBq"] = "kCi", ["fCi"] = "mBq", ["pCi"] = "Bq", ["nCi"] = "Bq", ["μCi"] = "kBq", ["mCi"] = "MBq", ["kCi"] = "TBq", ["MCi"] = "PBq", ["ns"] = "μs", ["μs"] = "ms", ["ms"] = "s", ["ks"] = "h", ["Ms"] = "week", ["Gs"] = "decade", ["Ts"] = "millennium", ["Ps"] = "million year", ["Es"] = "thousand million year", ["MK"] = "keVT", ["cL"] = "impoz usoz", ["cl"] = "impoz usoz", ["cm<sup>3</sup>"] = "cuin", ["dL"] = "impoz usoz", ["dl"] = "impoz usoz", ["mm<sup>3</sup>"] = "cuin", ["dm<sup>3</sup>"] = "cuin", ["e12cuft"] = "v * 2.8316846592 < 100 ! e9 ! e12 ! m3", ["e12impgal"] = "v * 4.54609 < 1000 ! T ! P ! l", ["e12m3"] = "v < 28.316846592 ! T ! P ! cuft", ["e12U.S.gal"] = "v * 3.785411784 < 1000 ! T ! P ! l", ["e12USgal"] = "v * 3.785411784 < 1000 ! T ! P ! l", ["e15cuft"] = "v * 2.8316846592 < 100 ! e12 ! e15 ! m3", ["e15m3"] = "Pcuft", ["e3bdft"] = "v * 0.23597372167 < 100 ! e3 ! e6 ! m3", ["e3cuft"] = "v * 2.8316846592 < 100 ! ! e3 ! m3", ["e3impgal"] = "v * 4.54609 < 1000 ! k ! M ! l", ["e3m3"] = "v < 28.316846592 ! k ! M ! cuft", ["e3U.S.gal"] = "v * 3.785411784 < 1000 ! k ! M ! l", ["e3USgal"] = "v * 3.785411784 < 1000 ! k ! M ! l", ["e6bdft"] = "v * 0.23597372167 < 100 ! e3 ! e6 ! m3", ["e6cuft"] = "v * 2.8316846592 < 100 ! e3 ! e6 ! m3", ["e6cuyd"] = "v * 7.64554857984 < 10 ! e3 ! e6 ! m3", ["e6impgal"] = "v * 4.54609 < 1000 ! M ! G ! l", ["e6L"] = "USgal", ["e6m3"] = "v < 28.316846592 ! M ! G ! cuft", ["e6U.S.gal"] = "v * 3.785411784 < 1000 ! M ! G ! l", ["e6USgal"] = "v * 3.785411784 < 1000 ! M ! G ! l", ["e9bdft"] = "v * 0.23597372167 < 100 ! e6 ! e9 ! m3", ["e9cuft"] = "v * 2.8316846592 < 100 ! e6 ! e9 ! m3", ["e9impgal"] = "v * 4.54609 < 1000 ! G ! T ! l", ["e9m3"] = "v < 28.316846592 ! G ! T ! cuft", ["e9U.S.gal"] = "v * 3.785411784 < 1000 ! G ! T ! l", ["e9USgal"] = "v * 3.785411784 < 1000 ! G ! T ! l", ["GL"] = "cuft", ["Gl"] = "cuft", ["kL"] = "cuft", ["kl"] = "cuft", ["km<sup>3</sup>"] = "cumi", ["mL"] = "impoz usoz", ["ml"] = "impoz usoz", ["Ml"] = "v < 28.316846592 ! e3 ! e6 ! cuft", ["ML"] = "v < 28.316846592 ! e3 ! e6 ! cuft", ["TL"] = "cumi", ["Tl"] = "cumi", ["μL"] = "cuin", ["μl"] = "cuin", } --------------------------------------------------------------------------- -- Do not change the data in this table because it is created by running -- -- a script that reads the wikitext from a wiki page (see note above). -- --------------------------------------------------------------------------- local link_exceptions = { -- Prefixed units with a linked article different from that of the base unit. -- Each key item is a prefixed symbol (not unitcode). ["mm<sup>2</sup>"] = "Square millimetre", ["cm<sup>2</sup>"] = "Square centimetre", ["dm<sup>2</sup>"] = "Square decimetre", ["km<sup>2</sup>"] = "Square kilometre", ["kJ"] = "Kilojoule", ["MJ"] = "Megajoule", ["fm"] = "Femtometre", ["pm"] = "Picometre", ["nm"] = "Nanometre", ["μm"] = "Micrometre", ["mm"] = "Millimetre", ["cm"] = "Centimetre", ["dm"] = "Decimetre", ["dam"] = "Decametre", ["hm"] = "Hectometre", ["km"] = "Kilometre", ["Mm"] = "Megametre", ["Gm"] = "Gigametre", ["Tm"] = "Terametre", ["Pm"] = "Petametre", ["Em"] = "Exametre", ["Zm"] = "Zettametre", ["Ym"] = "Yottametre", ["μg"] = "Microgram", ["mg"] = "Milligram", ["kg"] = "Kilogram", ["Mg"] = "Tonne", ["yW"] = "Yoctowatt", ["zW"] = "Zeptowatt", ["aW"] = "Attowatt", ["fW"] = "Femtowatt", ["pW"] = "Picowatt", ["nW"] = "Nanowatt", ["μW"] = "Microwatt", ["mW"] = "Milliwatt", ["kW"] = "Kilowatt", ["MW"] = "Megawatt", ["GW"] = "Gigawatt", ["TW"] = "Terawatt", ["PW"] = "Petawatt", ["EW"] = "Exawatt", ["ZW"] = "Zettawatt", ["YW"] = "Yottawatt", ["as"] = "Attosecond", ["fs"] = "Femtosecond", ["ps"] = "Picosecond", ["ns"] = "Nanosecond", ["μs"] = "Microsecond", ["ms"] = "Millisecond", ["ks"] = "Kilosecond", ["Ms"] = "Megasecond", ["Gs"] = "Gigasecond", ["Ts"] = "Terasecond", ["Ps"] = "Petasecond", ["Es"] = "Exasecond", ["Zs"] = "Zettasecond", ["Ys"] = "Yottasecond", ["mm<sup>3</sup>"] = "Cubic millimetre", ["cm<sup>3</sup>"] = "Cubic centimetre", ["dm<sup>3</sup>"] = "Cubic decimetre", ["dam<sup>3</sup>"] = "Cubic decametre", ["km<sup>3</sup>"] = "Cubic kilometre", ["μL"] = "Microlitre", ["μl"] = "Microlitre", ["mL"] = "Millilitre", ["ml"] = "Millilitre", ["cL"] = "Centilitre", ["cl"] = "Centilitre", ["dL"] = "Decilitre", ["dl"] = "Decilitre", ["daL"] = "Decalitre", ["dal"] = "Decalitre", ["hL"] = "Hectolitre", ["hl"] = "Hectolitre", ["kL"] = "Kilolitre", ["kl"] = "Kilolitre", ["ML"] = "Megalitre", ["Ml"] = "Megalitre", ["GL"] = "Gigalitre", ["Gl"] = "Gigalitre", ["TL"] = "Teralitre", ["Tl"] = "Teralitre", ["PL"] = "Petalitre", ["Pl"] = "Petalitre", } --------------------------------------------------------------------------- -- Do not change the data in this table because it is created by running -- -- a script that reads the wikitext from a wiki page (see note above). -- --------------------------------------------------------------------------- local per_unit_fixups = { -- Automatically created per units of form "x/y" may have their unit type -- changed, for example, "length/time" is changed to "speed". -- Other adjustments can also be specified. ["/area"] = "per unit area", ["/volume"] = "per unit volume", ["area/area"] = "area per unit area", ["energy/length"] = "energy per unit length", ["energy/mass"] = "energy per unit mass", ["energy/time"] = { utype = "power", link = "Power (physics)" }, ["energy/volume"] = "energy per unit volume", ["force/area"] = { utype = "pressure", link = "Pressure" }, ["length/length"] = { utype = "gradient", link = "Grade (slope)" }, ["length/time"] = { utype = "speed", link = "Speed" }, ["length/time/time"] = { utype = "acceleration", link = "Acceleration" }, ["mass/area"] = { utype = "pressure", multiplier = 9.80665 }, ["mass/length"] = "linear density", ["mass/mass"] = "concentration", ["mass/power"] = "mass per unit power", ["mass/time"] = "mass per unit time", ["mass/volume"] = { utype = "density", link = "Density" }, ["power/mass"] = "power per unit mass", ["power/volume"] = { link = "Power density" }, ["pressure/length"] = "fracture gradient", ["speed/time"] = { utype = "acceleration", link = "Acceleration" }, ["volume/area"] = "volume per unit area", ["volume/length"] = "volume per unit length", ["volume/time"] = "flow", } return { all_units = all_units, default_exceptions = default_exceptions, link_exceptions = link_exceptions, per_unit_fixups = per_unit_fixups, } 6wzcf8j5sxao123sxexk5xtzh9rc3oo Module:ConvertDigits 828 3493 36713 2025-12-15T22:49:55Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Convert numerical digits to braille, morse, sign lang, and any other stuff that is based on simple substitution, nice and clean with no extra fluff. Does not handle negative numbers (treated as positive) or decimals and fractions. -- Gts@el wiki, Aug. 2017 local p = {} -- Greek braille symbols local braille = { [1] = '⠁', [2] = '⠃', [3] = '⠉', [4] = '⠙', [5] = '⠑', [6] = '⠓', [7] = '⠛', [8] = '⠓', [9] = '⠊',...' 36713 Scribunto text/plain -- Convert numerical digits to braille, morse, sign lang, and any other stuff that is based on simple substitution, nice and clean with no extra fluff. Does not handle negative numbers (treated as positive) or decimals and fractions. -- Gts@el wiki, Aug. 2017 local p = {} -- Greek braille symbols local braille = { [1] = '⠁', [2] = '⠃', [3] = '⠉', [4] = '⠙', [5] = '⠑', [6] = '⠓', [7] = '⠛', [8] = '⠓', [9] = '⠊', [0] = '⠚', } -- international morse local morse = { [1] = '·−−−−', [2] = '··−−−', [3] = '···−−', [4] = '····−', [5] = '·····', [6] = '−····', [7] = '−−···', [8] = '−−−··', [9] = '−−−−·', [0] = '−−−−−', } local function substitute_numeral(numeral, table, spacing) local result = '' if type(tonumber(numeral)) == 'number' and tonumber(numeral) <= 99999999999999 then local numeral = tostring(math.abs(math.floor(numeral))) for digit in numeral:gmatch"." do -- convention based on images for sign language if table == 'sign' then result = result .. '[[Αρχείο:Greek sign language No' .. digit .. '.jpg|40px]]' else result = result .. spacing .. table[tonumber(digit)] end end end return result end function p.to_braille(frame) local prefix = '⠼' result = substitute_numeral(frame.args[1], braille, '') if result ~= '' then result = prefix .. result end return result end function p.to_morse(frame) result = substitute_numeral(frame.args[1], morse, ' ') return result end function p.to_sign(frame) return substitute_numeral(frame.args[1], 'sign', '') end return p -- =p.to_sign{args={3454}} 791uvlu6svfd86ja83jfkebmlz4xkre Module:ConvertBase 828 3494 36714 2025-12-15T22:50:44Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- alternative to BaseConvert module. Can convert from any base between 1-36 to decimal, and from decimal to any base between 1-64. Does not support fractions, or negative numbers (abs'd to positive). -- Gts@el wiki, Sep. 2017 local p = {} local function tableMerge(t1, t2) for k,v in ipairs(t2) do table.insert(t1, v) end return t1 end local function convertbase(n, fromBase, toBase) -- usual case scenarios if n >...' 36714 Scribunto text/plain -- alternative to BaseConvert module. Can convert from any base between 1-36 to decimal, and from decimal to any base between 1-64. Does not support fractions, or negative numbers (abs'd to positive). -- Gts@el wiki, Sep. 2017 local p = {} local function tableMerge(t1, t2) for k,v in ipairs(t2) do table.insert(t1, v) end return t1 end local function convertbase(n, fromBase, toBase) -- usual case scenarios if n >= 0 and n <=9 and fromBase == 10 and toBase > 9 and (toBase ~= 32 or toBase ~= 64) -- 32 and 64 base start with numerals instead of letters then return n elseif fromBase < 37 and toBase == 10 then return tonumber(n, fromBase) -- simply using internal Lua functionality (up to 36) end local digitPositions = {} while n > 0 do if toBase == 1 then table.insert(digitPositions, 1) n = n - 1 else table.insert(digitPositions, tonumber(n % toBase)) -- digit's position in the toBase numbering system n = math.floor(n / toBase) end end local digitValues = {} local numerals = {} for i = 0, 9 do table.insert(numerals, i) end local letters = {} for ascii = 65, 90 do table.insert(letters, string.char(ascii)) end -- uppercase letters for ascii = 97, 122 do table.insert(letters, string.char(ascii)) end -- lowercase letters local symbols = {} table.insert(symbols, '+') -- 63rd digit table.insert(symbols, '-') -- 64th digit if toBase == 32 or toBase == 64 then tableMerge(digitValues, letters) tableMerge(digitValues, numerals) else tableMerge(digitValues, numerals) tableMerge(digitValues, letters) end tableMerge(digitValues, symbols) local result = '' for digit, value in pairs(digitPositions) do result = tostring(digitValues[value+1]) .. result end return result end function p.convert(frame) local args = frame.args local number = args.number ~= nil and tonumber(args.number) or 0 local fromBase = args.fromBase ~= nil and tonumber(args.fromBase) or 10 local toBase = args.toBase ~= nil and tonumber(args.toBase) or 10 local showRadix = args.showRadix ~= nil and tonumber(args.showRadix) or 0 if number == 0 then return '0<sub>' .. tostring(toBase) end if fromBase > 36 or toBase > 64 then result = 'Σφάλμα: οι αποδεκτές τιμές για βάση είναι 1 έως 64, και την βάση εκκίνησης από 1 έως 36' else number = math.abs(math.floor(number)) fromBase = math.abs(math.floor(fromBase)) toBase = math.abs(math.floor(toBase)) result = convertbase(number, fromBase, toBase) if showRadix == 1 then result = tostring(result) .. '<sub>' .. tostring(toBase) .. '</sub>' end end return result end return p o8brjy5la76i486o95qr6jbx8nnrnfi Module:LinksCounter 828 3495 36715 2025-12-15T22:53:11Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Counts wiki links within a wiki article. Supports returning total number of links, blue, red, or a list of red, blue, total, along with blue to red percentage -- Gts-tg@el wiki, Sep. 2017 local p = {} -- turn line to list -- params: line (string), delimiter (string) -- return list local function explode(line, delimiter, specialCharacters) local links = {} local chars = { [":"]=true, ["."]=true, ["«"]=true, ["{"]=true, ["<"]=true,...' 36715 Scribunto text/plain -- Counts wiki links within a wiki article. Supports returning total number of links, blue, red, or a list of red, blue, total, along with blue to red percentage -- Gts-tg@el wiki, Sep. 2017 local p = {} -- turn line to list -- params: line (string), delimiter (string) -- return list local function explode(line, delimiter, specialCharacters) local links = {} local chars = { [":"]=true, ["."]=true, ["«"]=true, ["{"]=true, ["<"]=true, ["#"]=true } local ignore = false local regex = '[^' .. delimiter .. ']+' for link in string.gmatch(line, regex) do -- get all content within [ ] for schar,value in pairs(chars) do -- clean up non links if (schar == specialCharacters) == false and -- need to regex for multiple characters string.match(link, "%" .. schar) ~= nil then ignore = true break end end if ignore == false then link = mw.ustring.gsub(link, '[%[%]]', '') -- remove [[ ]], will be added later if requested links[#links+1] = link end end return links end -- merge lists -- params: l1 (list), l2 (list) -- return list local function listJoin(l1, l2) for i=1,#l2 do l1[#l1+1] = l2[i] end return l1 end -- get wikilinks from text -- params: text (string) -- return list local function getLinks(text, specialCharacters) local links = '' local result = {} local cleaned = nil for line in string.gmatch(text,'[^\r\n]+') do links = string.match(line, "%[%[.*%]%]") -- cleanup line from anything not in [[ ]] if links ~= nil then links = mw.ustring.gsub(links, '%]%].-%[%[', ']]~[[') -- remove non link text, ~ is used as delimiter for lines where more than one link exists links = mw.ustring.gsub(links, '%|.-%]%]', ']]') -- remove custom title i.e. [[title|custom title]] result = listJoin(result, explode(links, '~', specialCharacters)) end end return result end -- count links -- params: articleTitle (string), linkType (string), showLinks (int) -- return string local function counter(articleTitle, linkType, showLinks, specialCharacters) if articleTitle == '' then return -1 end local article = mw.title.new(articleTitle) local content = article:getContent() if content == nil then return -1 end local links = getLinks(content, specialCharacters) local str = '' if linkType ~= 'total' or showLinks == 1 then local blue = 0 for i=1, #links do -- using mw.wikibase.getEntityIdForTitle(links[i]) (wikidata entry existing) first as it's much faster and saves a few hundred calls -- using getContent as a fallback to see if article exists, do not use id or exists method as they query the DB and are counted as ''expensive'' and fail after a few hundreds if mw.wikibase.getEntityIdForTitle(links[i]) or mw.title.new(links[i],0):getContent() then blue = blue + 1 if linkType == 'red' then links[i] = '' end else if linkType == 'blue' then links[i] = '' end end end local red = #links - blue if linkType == 'red' then str = red elseif linkType == 'blue' then str = blue elseif linkType == 'percentage' then str = tostring(math.floor((#links-red)/#links * 100)) end if showLinks == 1 then str = 'Σύνολο: ' .. #links .. ', Μπλέ: ' .. blue .. ', Κόκκινοι: ' .. tostring(red) .. '\n' .. '*[[' .. table.concat(links,']]\n*[[') .. ']]' str = string.gsub(str, '%*%[%[%]%]\n', '') end else str = #links end return str end -- main -- params: frame (object) -- return string function p.count(frame) local result = '' local articleTitle = frame.args['article'] or '' local linkType = frame.args['type'] local showLinks = tonumber(frame.args['showlinks']) or 0 local specialCharacters = frame.args['characters'] or nil -- i18n local linkTypes = { ['κόκκινοι'] = 'red', ['μπλε'] = 'blue', ['σύνολο'] = 'total', ['ποσοστό'] = 'percentage', } linkType = linkTypes[linkType] if linkType == nil then showLinks = 1 end result = counter(articleTitle, linkType, showLinks, specialCharacters) if result == -1 then result = 'Δεν βρέθηκε σελίδα με τίτλο ' .. articleTitle end return result end return p -- =p.count{args={['article'] = ''}} m50xfh8k3ugy1dp0tpbat7k44vd49e9 Module:Location map 828 3496 36716 2025-12-15T22:54:07Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'require('Module:No globals') local p = {} local getArgs = require('Module:Arguments').getArgs local function round(n, decimals) local pow = 10^(decimals or 0) return math.floor(n * pow + 0.5) / pow end function p.getMapParams(map, frame) if not map then error('The name of the location map definition to use must be specified', 2) end local moduletitle = mw.title.new('Module:Location map/data/' .. map) if not moduletitle then error(stri...' 36716 Scribunto text/plain require('Module:No globals') local p = {} local getArgs = require('Module:Arguments').getArgs local function round(n, decimals) local pow = 10^(decimals or 0) return math.floor(n * pow + 0.5) / pow end function p.getMapParams(map, frame) if not map then error('The name of the location map definition to use must be specified', 2) end local moduletitle = mw.title.new('Module:Location map/data/' .. map) if not moduletitle then error(string.format('%q is not a valid name for a location map definition', map), 2) elseif moduletitle.exists then local mapData = mw.loadData('Module:Location map/data/' .. map) return function(name, params) if name == nil then return 'Module:Location map/data/' .. map elseif mapData[name] == nil then return '' elseif params then return mw.message.newRawMessage(tostring(mapData[name]), unpack(params)):plain() else return mapData[name] end end elseif mw.title.new('Template:Location map ' .. map).exists then local cache = {} if type(frame) ~= 'table' or type(frame.expandTemplate) ~= 'function' then error('A frame must be provided when using a legacy location map') end return function(name, params) if params then return frame:expandTemplate{title = 'Location map ' .. map, args = { name, unpack(params) }} else if name == nil then return 'Template:Location map ' .. map elseif cache[name] == nil then cache[name] = frame:expandTemplate{title = 'Location map ' .. map, args = { name }} end return cache[name] end end else error('Δεν μπόρεσε να βρεθεί ο ορισμός του ζητούμενου locations map. Ούτε "Module:Location map/data/' .. map .. '" ούτε "Template:Location map ' .. map .. '" υπάρχει', 2) end end function p.data(frame, args, map) if not args then args = getArgs(frame, {frameOnly = true}) end if not map then map = p.getMapParams(args[1], frame) end local params = {} for k,v in ipairs(args) do if k > 2 then params[k-2] = v end end return map(args[2], #params ~= 0 and params) end local hemisphereMultipliers = { longitude = { W = -1, w = -1, E = 1, e = 1 }, latitude = { S = -1, s = -1, N = 1, n = 1 } } local function decdeg(degrees, minutes, seconds, hemisphere, decimal, direction) if decimal then if degrees then error('Decimal and DMS degrees cannot both be provided for ' .. direction, 2) elseif minutes then error('Minutes can only be provided with DMS degrees for ' .. direction, 2) elseif seconds then error('Seconds can only be provided with DMS degrees for ' .. direction, 2) elseif hemisphere then error('A hemisphere can only be provided with DMS degrees for ' .. direction, 2) end local retval = tonumber(decimal) if retval then return retval end error('The value "' .. decimal .. '" provided for ' .. direction .. ' is not valid', 2) elseif seconds and not minutes then error('Seconds were provided for ' .. direction .. ' without minutes also being provided', 2) elseif not degrees then if minutes then error('Minutes were provided for ' .. direction .. ' without degrees also being provided', 2) elseif hemisphere then error('A hemisphere was provided for ' .. direction .. ' without degrees also being provided', 2) end return nil end decimal = tonumber(degrees) if not decimal then error('The degree value "' .. degrees .. '" provided for ' .. direction .. ' is not valid', 2) elseif minutes and not tonumber(minutes) then error('The minute value "' .. minutes .. '" provided for ' .. direction .. ' is not valid', 2) elseif seconds and not tonumber(seconds) then error('The second value "' .. seconds .. '" provided for ' .. direction .. ' is not valid', 2) end decimal = decimal + (minutes or 0)/60 + (seconds or 0)/3600 if hemisphere then local multiplier = hemisphereMultipliers[direction][hemisphere] if not multiplier then error('The hemisphere "' .. hemisphere .. '" provided for ' .. direction .. ' is not valid', 2) end decimal = decimal * multiplier end return decimal end -- Finds a parameter in a transclusion of {{Coord}}. local function coord2text(para,coord) -- this should be changed for languages which do not use Arabic numerals or the degree sign local result = mw.text.split(mw.ustring.match(coord,'%-?[%.%d]+°[NS] %-?[%.%d]+°[EW]') or '', '[ °]') if para == 'longitude' then result = {result[3], result[4]} end if not tonumber(result[1]) or not result[2] then return error('Malformed coordinates value', 2) end return tonumber(result[1]) * hemisphereMultipliers[para][result[2]] end -- effectively make removeBlanks false for caption and maplink, and true for everything else -- if useWikidata is present but blank, convert it to false instead of nil -- p.top, p.bottom, and their callers need to use this function p.valueFunc(key, value) if value then value = mw.text.trim(value) end if value ~= '' or key == 'caption' or key == 'maplink' then return value elseif key == 'useWikidata' then return false end end local function getContainerImage(args, map) if args.AlternativeMap then return args.AlternativeMap elseif args.relief and map('image1') ~= '' then return map('image1') else return map('image') end end function p.top(frame, args, map) if not args then args = getArgs(frame, {frameOnly = true, valueFunc = p.valueFunc}) end if not map then map = p.getMapParams(args[1], frame) end local width local default_as_number = tonumber(mw.ustring.match(tostring(args.default_width),"%d*")) if not args.width then width = round((default_as_number or 240) * (tonumber(map('defaultscale')) or 1)) elseif mw.ustring.sub(args.width, -2) == 'px' then width = mw.ustring.sub(args.width, 1, -3) else width = args.width end local width_as_number = tonumber(mw.ustring.match(tostring(width),"%d*")) or 0; if width_as_number == 0 then -- check to see if width is junk. If it is, then use default calculation width = round((default_as_number or 240) * (tonumber(map('defaultscale')) or 1)) width_as_number = tonumber(mw.ustring.match(tostring(width),"%d*")) or 0; end if args.max_width ~= "" and args.max_width ~= nil then -- check to see if width bigger than max_width local max_as_number = tonumber(mw.ustring.match(args.max_width,"%d*")) or 0; if width_as_number>max_as_number and max_as_number>0 then width = args.max_width; end end local retval = frame:extensionTag{name = 'templatestyles', args = {src = 'Template:Location map/styles.css'}} if args.float == 'center' then retval = retval .. '<div class="center">' end if args.caption and args.caption ~= '' and args.border ~= 'infobox' then retval = retval .. '<div class="locmap noviewer thumb ' if args.float == '"left"' or args.float == 'left' then retval = retval .. 'tleft' elseif args.float == '"center"' or args.float == 'center' or args.float == '"none"' or args.float == 'none' then retval = retval .. 'tnone' else retval = retval .. 'tright' end retval = retval .. '"><div class="thumbinner" style="width:' .. (width + 2) .. 'px' if args.border == 'none' then retval = retval .. ';border:none' elseif args.border then retval = retval .. ';border-color:' .. args.border end retval = retval .. '"><div style="position:relative;width:' .. width .. 'px' .. (args.border ~= 'none' and ';border:1px solid lightgray">' or '">') else retval = retval .. '<div class="locmap noviewer" style="width:' .. width .. 'px;' if args.float == '"left"' or args.float == 'left' then retval = retval .. 'float:left;clear:left' elseif args.float == '"center"' or args.float == 'center' then retval = retval .. 'float:none;clear:both;margin-left:auto;margin-right:auto' elseif args.float == '"none"' or args.float == 'none' then retval = retval .. 'float:none;clear:none' else retval = retval .. 'float:right;clear:right' end retval = retval .. '"><div style="width:' .. width .. 'px;padding:0"><div style="position:relative;width:' .. width .. 'px">' end local image = getContainerImage(args, map) local currentTitle = mw.title.getCurrentTitle() retval = string.format( '%s[[File:%s|%spx|%s%s]]', retval, image, width, args.alt or ((args.label or currentTitle.text) .. ' is located in ' .. map('name')), args.maplink and ('|link=' .. args.maplink) or '' ) if args.caption and args.caption ~= '' then if (currentTitle.namespace == 0) and mw.ustring.find(args.caption, '##') then retval = retval .. '[[Category:Pages using location map with a double number sign in the caption]]' end end if args.overlay_image then return retval .. '<div style="position:absolute;top:0;left:0">[[File:' .. args.overlay_image .. '|' .. width .. 'px]]</div>' else return retval end end function p.bottom(frame, args, map) if not args then args = getArgs(frame, {frameOnly = true, valueFunc = p.valueFunc}) end if not map then map = p.getMapParams(args[1], frame) end local retval = '</div>' local currentTitle = mw.title.getCurrentTitle() if not args.caption or args.border == 'infobox' then if args.border then retval = retval .. '<div style="padding-top:0.2em">' else retval = retval .. '<div style="font-size:91%;padding-top:3px">' end retval = retval .. (args.caption or (args.label or currentTitle.text) .. ' (' .. map('name') .. ')') .. '</div>' elseif args.caption ~= '' then -- This is not the pipe trick. We're creating a link with no text on purpose, so that CSS can give us a nice image retval = retval .. '<div class="thumbcaption"><div class="magnify">[[:File:' .. getContainerImage(args, map) .. '| ]]</div>' .. args.caption .. '</div>' end if args.switcherLabel then retval = retval .. '<span class="switcher-label" style="display:none">' .. args.switcherLabel .. '</span>' elseif args.autoSwitcherLabel then retval = retval .. '<span class="switcher-label" style="display:none">Εμφάνιση χάρτη ' .. map('name') .. '</span>' end retval = retval .. '</div></div>' if args.caption_undefined then mw.log('Removed parameter caption_undefined used.') local parent = frame:getParent() if parent then mw.log('Parent is ' .. parent:getTitle()) end mw.logObject(args, 'args') if currentTitle.namespace == 0 then retval = retval .. '[[Category:Location maps with removed parameters|caption_undefined]]' end end if map('skew') ~= '' or map('lat_skew') ~= '' or map('crosses180') ~= '' or map('type') ~= '' then mw.log('Removed parameter used in map definition ' .. map()) if currentTitle.namespace == 0 then local key = (map('skew') ~= '' and 'skew' or '') .. (map('lat_skew') ~= '' and 'lat_skew' or '') .. (map('crosses180') ~= '' and 'crosses180' or '') .. (map('type') ~= '' and 'type' or '') retval = retval .. '[[Category:Location maps with removed parameters|' .. key .. ' ]]' end end if string.find(map('name'), '|', 1, true) then mw.log('Pipe used in name of map definition ' .. map()) if currentTitle.namespace == 0 then retval = retval .. '[[Category:Location maps with a name containing a pipe]]' end end if args.float == 'center' then retval = retval .. '</div>' end return retval end local function markOuterDiv(x, y, imageDiv, labelDiv) return mw.html.create('div') :addClass('od') :cssText('top:' .. round(y, 3) .. '%;left:' .. round(x, 3) .. '%') :node(imageDiv) :node(labelDiv) end local function markImageDiv(mark, marksize, label, link, alt, title) local builder = mw.html.create('div') :addClass('id') :cssText('left:-' .. round(marksize / 2) .. 'px;top:-' .. round(marksize / 2) .. 'px') :attr('title', title) if marksize ~= 0 then builder:wikitext(string.format( '[[File:%s|%dx%dpx|%s|link=%s%s]]', mark, marksize, marksize, label, link, alt and ('|alt=' .. alt) or '' )) end return builder end local function markLabelDiv(label, label_size, label_width, position, background, x, marksize) if tonumber(label_size) == 0 then return mw.html.create('div'):addClass('l0'):wikitext(label) end local builder = mw.html.create('div') :cssText('font-size:' .. label_size .. '%;width:' .. label_width .. 'em') local distance = round(marksize / 2 + 1) if position == 'top' then -- specified top builder:addClass('pv'):cssText('bottom:' .. distance .. 'px;left:' .. (-label_width / 2) .. 'em') elseif position == 'bottom' then -- specified bottom builder:addClass('pv'):cssText('top:' .. distance .. 'px;left:' .. (-label_width / 2) .. 'em') elseif position == 'left' or (tonumber(x) > 70 and position ~= 'right') then -- specified left or autodetected to left builder:addClass('pl'):cssText('right:' .. distance .. 'px') else -- specified right or autodetected to right builder:addClass('pr'):cssText('left:' .. distance .. 'px') end builder = builder:tag('div') :wikitext(label) if background then builder:cssText('background-color:' .. background) end return builder:done() end local function getX(longitude, left, right) local width = (right - left) % 360 if width == 0 then width = 360 end local distanceFromLeft = (longitude - left) % 360 -- the distance needed past the map to the right equals distanceFromLeft - width. the distance needed past the map to the left equals 360 - distanceFromLeft. to minimize page stretching, go whichever way is shorter if distanceFromLeft - width / 2 >= 180 then distanceFromLeft = distanceFromLeft - 360 end return 100 * distanceFromLeft / width end local function getY(latitude, top, bottom) return 100 * (top - latitude) / (top - bottom) end function p.mark(frame, args, map) if not args then args = getArgs(frame, {wrappers = 'Template:Location map~'}) end local mapnames = {} if not map then if args[1] then map = {} for mapname in mw.text.gsplit(args[1], '#', true) do map[#map + 1] = p.getMapParams(mw.ustring.gsub(mapname, '^%s*(.-)%s*$', '%1'), frame) mapnames[#mapnames + 1] = mapname end if #map == 1 then map = map[1] end else map = p.getMapParams('World', frame) args[1] = 'World' end end if type(map) == 'table' then local outputs = {} local oldargs = args[1] for k,v in ipairs(map) do args[1] = mapnames[k] outputs[k] = tostring(p.mark(frame, args, v)) end args[1] = oldargs return table.concat(outputs, '#PlaceList#') .. '#PlaceList#' end local x, y, longitude, latitude longitude = decdeg(args.lon_deg, args.lon_min, args.lon_sec, args.lon_dir, args.long, 'longitude') latitude = decdeg(args.lat_deg, args.lat_min, args.lat_sec, args.lat_dir, args.lat, 'latitude') if args.excludefrom then -- If this mark is to be excluded from certain maps entirely (useful in the context of multiple maps) for exclusionmap in mw.text.gsplit(args.excludefrom, '#', true) do -- Check if this map is excluded. If so, return an empty string. if args[1] == exclusionmap then return '' end end end local builder = mw.html.create() local currentTitle = mw.title.getCurrentTitle() if args.coordinates then -- Temporarily removed to facilitate infobox conversion. See [[Wikipedia:Coordinates in infoboxes]] -- if longitude or latitude then -- error('Coordinates from [[Module:Coordinates]] and individual coordinates cannot both be provided') -- end longitude = coord2text('longitude', args.coordinates) latitude = coord2text('latitude', args.coordinates) elseif not longitude and not latitude and args.useWikidata then -- If they didn't provide either coordinate, try Wikidata. If they provided one but not the other, don't. local entity = mw.wikibase.getEntity() if entity and entity.claims and entity.claims.P625 and entity.claims.P625[1].mainsnak.snaktype == 'value' then local value = entity.claims.P625[1].mainsnak.datavalue.value longitude, latitude = value.longitude, value.latitude end if args.link and (currentTitle.namespace == 0) then builder:wikitext('[[Category:Location maps with linked markers with coordinates from Wikidata]]') end end if not longitude then error('No value was provided for longitude') elseif not latitude then error('No value was provided for latitude') end if currentTitle.namespace > 0 then if (not args.lon_deg) ~= (not args.lat_deg) then builder:wikitext('[[Category:Location maps with different longitude and latitude precisions|Degrees]]') elseif (not args.lon_min) ~= (not args.lat_min) then builder:wikitext('[[Category:Location maps with different longitude and latitude precisions|Minutes]]') elseif (not args.lon_sec) ~= (not args.lat_sec) then builder:wikitext('[[Category:Location maps with different longitude and latitude precisions|Seconds]]') elseif (not args.lon_dir) ~= (not args.lat_dir) then builder:wikitext('[[Category:Location maps with different longitude and latitude precisions|Hemisphere]]') elseif (not args.long) ~= (not args.lat) then builder:wikitext('[[Category:Location maps with different longitude and latitude precisions|Decimal]]') end end if args.skew or args.lon_shift or args.markhigh then mw.log('Removed parameter used in invocation.') local parent = frame:getParent() if parent then mw.log('Parent is ' .. parent:getTitle()) end mw.logObject(args, 'args') if currentTitle.namespace == 0 then local key = (args.skew and 'skew' or '') .. (args.lon_shift and 'lon_shift' or '') .. (args.markhigh and 'markhigh' or '') builder:wikitext('[[Category:Location maps with removed parameters|' .. key ..' ]]') end end if map('x') ~= '' then x = tonumber(mw.ext.ParserFunctions.expr(map('x', { latitude, longitude }))) else x = tonumber(getX(longitude, map('left'), map('right'))) end if map('y') ~= '' then y = tonumber(mw.ext.ParserFunctions.expr(map('y', { latitude, longitude }))) else y = tonumber(getY(latitude, map('top'), map('bottom'))) end if (x < 0 or x > 100 or y < 0 or y > 100) and not args.outside then mw.log('Mark placed outside map boundaries without outside flag set. x = ' .. x .. ', y = ' .. y) local parent = frame:getParent() if parent then mw.log('Parent is ' .. parent:getTitle()) end mw.logObject(args, 'args') if currentTitle.namespace == 0 then local key = currentTitle.prefixedText builder:wikitext('[[Category:Location maps with marks outside map and outside parameter not set|' .. key .. ' ]]') end end local mark = args.mark or map('mark') if mark == '' then mark = 'Red pog.svg' end local marksize = tonumber(args.marksize) or tonumber(map('marksize')) or 8 local imageDiv = markImageDiv(mark, marksize, args.label or mw.title.getCurrentTitle().text, args.link or '', args.alt, args[2]) local labelDiv if args.label and args.position ~= 'none' then labelDiv = markLabelDiv(args.label, args.label_size or 91, args.label_width or 6, args.position, args.background, x, marksize) end return builder:node(markOuterDiv(x, y, imageDiv, labelDiv)) end local function switcherSeparate(s) if s == nil then return {} end local retval = {} for i in string.gmatch(s .. '#', '([^#]*)#') do i = mw.text.trim(i) retval[#retval + 1] = (i ~= '' and i) end return retval end function p.main(frame, args, map) local caption_list = {} if not args then args = getArgs(frame, {wrappers = 'Template:Location map', valueFunc = p.valueFunc}) end if args.useWikidata == nil then args.useWikidata = true end if not map then if args[1] then map = {} for mapname in string.gmatch(args[1], '[^#]+') do map[#map + 1] = p.getMapParams(mw.ustring.gsub(mapname, '^%s*(.-)%s*$', '%1'), frame) end if args['caption'] then if args['caption'] == "" then while #caption_list < #map do caption_list[#caption_list + 1] = args['caption'] end else for caption in mw.text.gsplit(args['caption'], '##', true) do caption_list[#caption_list + 1] = caption end end end if #map == 1 then map = map[1] end else map = p.getMapParams('World', frame) end end if type(map) == 'table' then local altmaps = switcherSeparate(args.AlternativeMap) if #altmaps > #map then error(string.format('%d AlternativeMaps were provided, but only %d maps were provided', #altmaps, #map)) end local overlays = switcherSeparate(args.overlay_image) if #overlays > #map then error(string.format('%d overlay_images were provided, but only %d maps were provided', #overlays, #map)) end if #caption_list > #map then error(string.format('%d captions were provided, but only %d maps were provided', #caption_list, #map)) end local outputs = {} args.autoSwitcherLabel = true for k,v in ipairs(map) do args.AlternativeMap = altmaps[k] args.overlay_image = overlays[k] args.caption = caption_list[k] outputs[k] = p.main(frame, args, v) end return '<div class="switcher-container">' .. table.concat(outputs) .. '</div>' else return p.top(frame, args, map) .. tostring( p.mark(frame, args, map) ) .. p.bottom(frame, args, map) end end return p e86emiyftqixrn5no2vdtka2seihk0i Module:Location map/data/Τουρκία 828 3497 36717 2025-12-15T22:55:51Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'return { name = 'Τουρκία', top = 42.5, bottom = 35.5, left = 25.4, right = 45.0, image = 'Turkey adm location map.svg', image1 = 'Turkey relief location map.jpg' }' 36717 Scribunto text/plain return { name = 'Τουρκία', top = 42.5, bottom = 35.5, left = 25.4, right = 45.0, image = 'Turkey adm location map.svg', image1 = 'Turkey relief location map.jpg' } ftx24qm41dn78yo091ublev1rm0jc5q Module:Location map/data/Κύπρος 828 3498 36718 2025-12-15T22:56:40Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'return { name = 'Cyprus', top = 35.8, bottom = 34.4, left = 32.1, right = 34.8, image = 'Cyprus location map.svg', image1 = 'Cyprus relief location map.jpg' }' 36718 Scribunto text/plain return { name = 'Cyprus', top = 35.8, bottom = 34.4, left = 32.1, right = 34.8, image = 'Cyprus location map.svg', image1 = 'Cyprus relief location map.jpg' } j5ehnkycgtvspdffgmx4tgt1tq6jt45 Module:Location map/data/Ρωσία 828 3499 36719 2025-12-15T22:57:35Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'return { name = 'Ρωσία', x = '50.0 + 71.51617284504452 * ((1.6671750744677123-($1 * pi / 180)) * sin(0.807990549171814 * ($2 + ($2<0)*360 - 100) * pi / 180))', y = '50.0 + 1.8540031397174255 * 71.51617284504452 * 0.20267660928013187 - 1.8540031397174255 * 71.51617284504452 * (0.7246972783907744 - (1.6671750744677123-($1 *pi / 180)) * cos(0.807990549171814 * ($2 + ($2<0)*360 - 100) * pi / 180))', image = 'Russia edcp location map.svg', ima...' 36719 Scribunto text/plain return { name = 'Ρωσία', x = '50.0 + 71.51617284504452 * ((1.6671750744677123-($1 * pi / 180)) * sin(0.807990549171814 * ($2 + ($2<0)*360 - 100) * pi / 180))', y = '50.0 + 1.8540031397174255 * 71.51617284504452 * 0.20267660928013187 - 1.8540031397174255 * 71.51617284504452 * (0.7246972783907744 - (1.6671750744677123-($1 *pi / 180)) * cos(0.807990549171814 * ($2 + ($2<0)*360 - 100) * pi / 180))', image = 'Russia edcp location map.svg', image1 = 'Russia edcp relief location map.jpg' } bo2p910y261tkpg5o0co66gnzu2ncol Module:Location map/data/Γαλλία 828 3500 36720 2025-12-15T22:58:22Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'return { name = 'Γαλλία', top = 51.5, bottom = 41.0, left = -5.8, right = 10.0, image = 'France location map-Regions and departements-2016.svg', image1 = 'France relief location map.jpg' }' 36720 Scribunto text/plain return { name = 'Γαλλία', top = 51.5, bottom = 41.0, left = -5.8, right = 10.0, image = 'France location map-Regions and departements-2016.svg', image1 = 'France relief location map.jpg' } f8lp0f1twhund8o14p4yzin5fpqjus4 Module:Location map/data/Ελλάδα 828 3501 36721 2025-12-15T22:59:11Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'return { name = 'Greece', top = 42.0, bottom = 34.6, left = 19.1, right = 29.9, image = 'Greece location map.svg', image1 = 'Greece relief location map.jpg' }' 36721 Scribunto text/plain return { name = 'Greece', top = 42.0, bottom = 34.6, left = 19.1, right = 29.9, image = 'Greece location map.svg', image1 = 'Greece relief location map.jpg' } 7ul2hl356klg7qepqsm1qztd95d5uqb Module:Location map/data/Ουκρανία 828 3502 36722 2025-12-15T23:00:08Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'return { name = 'Ουκρανία', top = 52.7, bottom = 44.1, left = 21.5, right = 40.7, image = 'Ukraine administrative locations map, improved.svg', image1 = 'Ukraine relief location map.jpg' }' 36722 Scribunto text/plain return { name = 'Ουκρανία', top = 52.7, bottom = 44.1, left = 21.5, right = 40.7, image = 'Ukraine administrative locations map, improved.svg', image1 = 'Ukraine relief location map.jpg' } djfi4suhui1ro9c7c6abnen6i01z0bv Module:Cite Q 828 3503 36724 36723 2025-12-15T23:02:17Z Εὐθυμένης 2777 (By [[meta:Indic-TechCom/Tools|FindAndReplace]]) 36724 Scribunto text/plain -- Version: 2021-10-19 local p = {} require('strict') local wdib = require('Module:WikidataIBNew') local getValue = wdib._getValue local getPropOfProp = wdib._getPropOfProp local followQid = wdib._followQid local getPropertyIDs = wdib._getPropertyIDs local i18n = { ["unknown-author"] = mw.wikibase.getLabel("Q4233718"):gsub("^%l", mw.ustring.upper), ["unknown-author-trackingcat"] = "[[Κατηγορίαν:Cite Q - άγνωστος συγγραφέας]]", ["ordinal"] = { [1] = "st", [2] = "nd", [3] = "rd", ["default"] = "th" }, ["months"] = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }, } ------------------------------------------------------------------------------- -- makeOrdinal needs to be internationalised along with the above i18n -- takes cardinal number as a numeric and returns the ordinal as a string -- we need three exceptions in English for 1st, 2nd, 3rd, 21st, .. 31st, etc. ------------------------------------------------------------------------------- p.makeOrdinal = function(cardinal) local card = tonumber(cardinal) if not card then return cardinal end local ordsuffix = i18n.ordinal.default if card % 10 == 1 then ordsuffix = i18n.ordinal[1] elseif card % 10 == 2 then ordsuffix = i18n.ordinal[2] elseif card % 10 == 3 then ordsuffix = i18n.ordinal[3] end -- In English, 1, 21, 31, etc. use 'st', but 11, 111, etc. use 'th' -- similarly for 12 and 13, etc. if (card % 100 == 11) or (card % 100 == 12) or (card % 100 == 13) then ordsuffix = i18n.ordinal.default end return card .. ordsuffix end -- Table of simple properties that can be fetched in roughly the same way: -- id = PXXX -- maxvals = maximum number of multiple values (0 for all) -- linked = "no" suppresses linking -- populate_from_journal = true/false determines whether to look in a journal where the source is published -- rank = "best", "preferred", normal, etc. determines how Wikidata ranks are treated -- others = true - the value for the property goes to "others" section local simple_properties = { publisher = {id = "P123", maxvals = 1}, oclc = {id = "P243", maxvals = 1}, ['publication-place'] = {id = "P291", maxvals = 0, linked = 'no'}, -- publication place (don't put into |place=; is treated specially in {{citation}} if both are given) doi = {id = "P356", maxvals = 1}, -- take care of |doi-broken-date= (WD "reason for deprecation"/"stated as") and |doi-access= (WD "access status")? issue = {id = "P433", maxvals = 0, populate_from_journal = true}, -- distinguish from |number= ("P1545"?) if both are given (still blocked by {{citation}}, but will be supported in the future) pmid = {id = "P698", maxvals = 1}, -- gbooks = {id = "P675", maxvals = 1}, -- to be added to {{citation}} -- ia = {id = "P724", maxvals = 1}, -- to be added to {{citation}} arxiv = {id = "P818", maxvals = 1}, bibcode = {id = "P819", maxvals = 1}, -- take care of |bibcode-access=? jstor = {id = "P888", maxvals = 1}, -- take care of |jstor-access=? mr = {id = "P889", maxvals = 1}, rfc = {id = "P892", maxvals = 1}, zbl = {id = "P894", maxvals = 1}, ssrn = {id = "P893", maxvals = 1}, place = {id = "P1071", maxvals = 0, linked = 'no'}, -- written-at place -- ['total-pages'] = {id = "P1104", maxvals = 0, linked = 'no'}, -- to be added to {{citation}} / COinS &rft.tpages= -- coden = {id = "P1159", maxvals = 1}, -- to be added to {{citation}} / COinS &rft.coden= s2cid = {id = "P8299", maxvals = 1}, -- take care of |s2cid-access=? pmc = {id = "P932", maxvals = 1}, -- take care of |pmc-embargo-date= (WD "reason for deprecation")? lccn = {id = "P1144", maxvals = 1}, hdl = {id = "P1184", maxvals = 1}, -- take care of |hdl-access=? ismn = {id = "P1208", maxvals = 1}, journal = {id = "P1433", maxvals = 1}, citeseerx = {id = "P3784", maxvals = 1}, osti = {id = "P3894", maxvals = 1}, -- take care of |osti-access=? biorxiv = {id = "P3951", maxvals = 1}, asin = {id = "P5749", maxvals = 1}, -- What about |asin-tld=? (WD examples resolve to .com at present, but may change) -- ['catalog-number'] = {id = "P528", maxvals = 0}, -- to be added to {{citation}} / COinS &rft.artnum= isbn = {id = "P212", maxvals = 1, populate_from_journal = true}, -- ISBN 13 issn = {id = "P236", maxvals = 1, populate_from_journal = true}, -- distinguish from |eissn= for electronic issues? -- jfm = {id = "P?", maxvals = 1}, -- Jahrbuch über die Fortschritte der Mathematik (not Zbl) -- sbn = {id = "P?", maxvals = 1}, -- Standard Book Number (predecessor of ISBN, not ICCU) -- message-id = {id = "P?", maxvals = 1}, -- Usenet message ID chapter = {id = "P792", maxvals = 1}, ['publication-date'] = {id = "P577", maxvals = 1, populate_from_journal = true}, -- publication date (don't use |date=; is treated specially in {{citation}} if both are given.) series = {id = "P179", maxvals = 1, populate_from_journal = true}, version = {id = "P348", maxvals = 0}, edition = {id = "P393", maxvals = 0}, volume = {id = "P478", maxvals = 0, populate_from_journal = true}, -- part = {id = "P1545"?, maxvals = 0}, -- to be added to {{citation}} / COinS &rft.part= title = {id = "P1476", rank="p n"}, -- url = {id = "P953", maxvals = 1}, -- deal with this along with archive-url pages = {id = "P304", maxvals = 0, populate_from_journal = true}, at = {id = "P958", maxvals = 0, populate_from_journal = true}, -- also incorporate lines (P7421) and columns (P3903) into this (cite map also supports |section=) -- sheets = {id = "P7416", maxvals = 0, populate_from_journal = true}, -- interviewer = {id = "P?", maxvals = 0}, -- does **not** go to "others" section! Multiple interviewers should be n-enumerated illustrator = {id = "P110", maxvals = 10, others = true}, -- goes to "others" section -- foreword and afterword, when contributions to another author's work, are contributions so belong in |contribution=; -- the writer's name goes in |contributor=; requires |title= and |author= -- However, this might need to add support for multiple contributors and their roles to {{citation}}, see Help_talk:Citation_Style_1#Others -- foreword = {id = "P2679", maxvals = 10, others = true}, -- goes to "others" section -- afterword = {id = "P2680", maxvals = 10, others = true}, -- goes to "others" section composer = {id = "P86", maxvals = 10, others = true}, -- goes to "others" section animator = {id = "P6942", maxvals = 10, others = true}, -- goes to "others" section director = {id = "P57", maxvals = 10, others = true}, -- goes to "others" section screenwriter = {id = "P58", maxvals = 10, others = true}, -- goes to "others" section signatory = {id = "P1891", maxvals = 10, others = true}, -- goes to "others" section presenter = {id = "P371", maxvals = 10, others = true}, -- goes to "others" section performer = {id = "P175", maxvals = 10, others = true}, -- goes to "others" section } --[[--------------------------< I S _ S E T >-------------------------------------------------------------- Returns true if argument is set; false otherwise. Argument is 'set' when it exists (not nil) or when it is not an empty string. ]] local function is_set( var ) return not (var == nil or var == '') end --[[--------------------------< I N _ A R R A Y >-------------------------------------------------------------- Whether needle is in haystack (taken from Module:Citation/CS1/Utilities) ]] local function in_array( needle, haystack ) if needle == nil then return false end for n, v in ipairs( haystack ) do if v == needle then return n end end return false end --[[--------------------------< A C C E P T _ V A L U E >------------------------------------------------------- Accept WD value by framing in ((...)) if param_val is equal to keyword; else pass-through WD value as is. ]] local function accept_value( param_val, wd_val ) local val = param_val if val then if in_array (val, {'accept', '))((', ':d:'}) then val = '((' .. wd_val .. '))' elseif '((accept))' == val then val = 'accept' elseif '(())(())' == val then val = '))((' elseif '((:d:))' == val then val = ':d:' else val = wd_val end end return val end -- function to fetch a value to display local function makelink(v, out, link, maxpos, wdl) local label if v.mainsnak.snaktype == "value" then if v.mainsnak.datatype == "wikibase-item" then local qnumber = v.mainsnak.datavalue.value.id local sitelink = mw.wikibase.getSitelink(qnumber) if qnumber == "Q2818964" then sitelink = nil end -- suppress link to "Various authors" if v.qualifiers and v.qualifiers.P1932 then label = v.qualifiers.P1932[1].datavalue.value else label = mw.wikibase.getLabel(qnumber) if label then label = mw.text.nowiki(label) else label = qnumber -- should add tracking category end end local position = maxpos + 1 -- Default to 'next' author. -- use P1545 (series ordinal) instead of default position. if v["qualifiers"] and v.qualifiers["P1545"] and v.qualifiers["P1545"][1] then position = tonumber(v.qualifiers["P1545"][1].datavalue.value) end maxpos = math.max(maxpos, position) if sitelink then -- just the plain name, -- but keep a record of the links, using the same index out[position] = label link[position] = sitelink else if wdl then -- show that there's a Wikidata entry available out[position] = "[[:d:Q" .. v.mainsnak.datavalue.value["numeric-id"] .. "|" .. label .. "]]&nbsp;<span title='" .. i18n["errors"]["local-article-not-found"] .. "'>[[File:Wikidata-logo.svg|16px|alt=|link=]]</span>" else -- no Wikidata links wanted, so just give the plain label out[position] = label end end elseif v.mainsnak.datatype == "string" then local position = maxpos + 1 -- Default to 'next' author. -- use P1545 (series ordinal) instead of default position. if v["qualifiers"] and v.qualifiers["P1545"] and v.qualifiers["P1545"][1] then position = tonumber(v.qualifiers["P1545"][1].datavalue.value) end maxpos = math.max(maxpos, position) out[position] = v.mainsnak.datavalue.value else -- not a wikibase-item or a string! end else -- code here if we want to return something when author is "unknown" if v.qualifiers and v.qualifiers.P1932 then label = v.qualifiers.P1932[1].datavalue.value else label = i18n["unknown-author"] .. (i18n["unknown-author-trackingcat"] or "") end maxpos = maxpos + 1 out[maxpos] = label end return maxpos end --[=[-------------------------< G E T _ N A M E _ L I S T >---------------------------------------------------- get_name_list -- adapted from getAuthors code taken from Module:RexxS arguments: nl_type - type of name list to fetch: nl_type = 'author' for authors; 'editor' for editors; 'translator' for translators args - pointer to the parameter arguments table from the template call qid - value from |qid= parameter; the Q-id of the source (book, etc.) in qid wdl - value from the |wdl= parameter; a Boolean passed to enable links to Wikidata when no article exists returns nothing; modifies the args table ]=] local function get_name_list (nl_type, args, qid, wdl) local propertyID = "P50" local fallbackID = "P2093" -- author name string if nl_type =="author" then propertyID = 'P50' -- for authors fallbackID = 'P2093' -- author-string elseif nl_type =="editor" then propertyID = 'P5769' -- "editor-in-chief" fallbackID = 'P98' -- for editors - So-called "fallbacks" are actually a second set of properties processed -- TBD. Take book series editors into account as well (if they have a separate P code as well)? elseif nl_type == "translator" then propertyID = 'P655' -- for translators fallbackID = nil -- elseif 'contributor' == nl_type then -- f.e. author of forewords (P2679) and afterwords (P2680); requires |contribution=, |title= and |author= -- propertyID = 'P' -- for contributors -- fallbackID = nil else return -- not specified so return end -- wdl is a Boolean passed to enable links to Wikidata when no article exists -- if "false" or "no" or "0" is passed set it false -- if nothing or an empty string is passed set it false if wdl and (#wdl > 0) then wdl = wdl:lower() wdl = in_array (wdl, {"false", "no", "0"}) else -- wdl is empty, so wdl = false end local props = nil local fallback = nil if mw.wikibase.entityExists(qid) then props = mw.wikibase.getAllStatements(qid, propertyID) if props and fallbackID then fallback = mw.wikibase.getAllStatements(qid, fallbackID) end end -- Make sure it actually has at least one of the properties requested if not (props and props[1]) and not (fallback and fallback[1]) then return nil end -- So now we have something to return: -- table 'out' is going to store the names(s): -- and table 'link' will store any links to the name's article local out = {} local link = {} local maxpos = 0 if props and props[1] then for k, v in pairs(props) do maxpos = makelink(v, out, link, maxpos, wdl) end end if fallback and fallback[1] then -- second properties for k, v in pairs(fallback) do maxpos = makelink(v, out, link, maxpos, wdl) end end -- if there's anything to return, then insert the additions in the template arguments table -- in the form |author1=firstname secondname |author2= ... -- Renumber, in case we have inconsistent numbering local keys = {} for k, v in pairs(out) do keys[#keys + 1] = k end table.sort(keys) -- as they might be out of order for i, k in ipairs(keys) do out[k] = out[k]:gsub ('&#39;', '\''); -- prevent cs1|2 multiple names categorization; replace html entity with the actual character mw.log(i .. " " .. k .. " " .. (out[k])) if args[nl_type .. i] then -- name gets overwritten -- pull corresponding -link only if overwritten name is same as WD name if link[k] and (args[nl_type .. i] == out[k]) then args[nl_type .. '-link' .. i] = args[nl_type .. '-link' .. i] or link[k] -- author-linkn or editor-linkn end else -- name does not get overwritten, so pull name from WD args[nl_type .. i] = out[k] if link[k] then args[nl_type .. '-link' .. i] = args[nl_type .. '-link' .. i] or link[k] -- author-linkn or editor-linkn end end end end -- gets language codes used for a monolingual text property as a table function p._getLangOfProp(qid, pid) if not pid then return {} end local out = {} local props = mw.wikibase.getAllStatements(qid, pid) for i, v in ipairs(props) do if v.mainsnak.datatype == "monolingualtext" and v.mainsnak.datavalue then out[#out + 1] = v.mainsnak.datavalue.value.language end end return out end function p.getLangOfProp(frame) local pid = frame.args.pid or mw.text.trim(frame.args[1] or "") if pid == "" then return end local qid = frame.args.qid if qid == "" then qid = nil end return table.concat(p._getLangOfProp(qid, pid), ", ") end -- gets the language codes of a Wikidata entry as a table local function _lang_code(qid) local lc = getPropOfProp( {qid = qid, prop1 = "P407", prop2 = "P424", ps = 1} ) if lc then return mw.text.split( lc, "[, ]+" ) end lc = getPropOfProp( {qid = qid, prop1 = "P407", prop2 = "P218", ps = 1} ) if lc then return mw.text.split( lc, "[, ]+" ) end return p._getLangOfProp(qid, "P1476") end function p.lang_code(frame) return table.concat(_lang_code(frame.args.qid or mw.text.trim(frame.args[1] or "")), ", ") end -- export for debug function p.getPropOfProp(frame) return getPropOfProp(frame.args) end -- wraps a string in nowiki unless disable flag is set local function wrap_nowiki(str, disable) if disable then return str or '' end return mw.text.nowiki(str or '') end -- sort sequence table whose values are key-value pairs by key local function comp_key(a, b) return a[1] < b[1] end -- sort sequence table whose values are key-value pairs by value local function comp_val(a, b) return a[2] < b[2] end --[[-------------------------< C I T E _ Q >------------------------------------------------------------------ Takes standard CS1|2 template parameters and passes all to {{citation}}. If neither of |author= and |author1= are set, calls get_authors() to try to get an author name-list from Wikidata. The result is passed to {{citation}} for rendering. --]] function p._cite_q (citeq_args) local frame = mw.getCurrentFrame() -- parameters that don't get passed to Citation local expand = citeq_args.expand -- when set to anything, causes {{cite q}} to render <code><nowiki>{{citation|...}}</nowiki></code> local qid = citeq_args.qid or citeq_args[1] local wdl = citeq_args.wdl local template = citeq_args.template citeq_args.expand = nil citeq_args[1] = nil citeq_args.qid = nil citeq_args.wdl = nil citeq_args.template = nil -- if title supplied, flag to not read html title local titleforced = (citeq_args.title ~= nil) local oth = {} -- put the language codes into a sequential table langcodes[] local langcodes = {} if citeq_args.language then -- check these are a supported language codes for lc in mw.text.gsplit( citeq_args.language, "[, ]+", false ) do langcodes[#langcodes+1] = mw.language.isSupportedLanguage(citeq_args.language) and citeq_args.language end end if not langcodes[1] then -- try to find language of work langcodes = _lang_code(qid) end if not langcodes[1] then -- try fallback to journal's language local journal_qid = followQid({qid = qid, props = "P1433"}) langcodes = journal_qid and _lang_code(journal_qid) end citeq_args.language = citeq_args.language or table.concat(langcodes, ", ") -- loop through list of simple properties and get their values in citeq_args for name, data in pairs(simple_properties) do citeq_args[name] = getValue( {data.id, fwd = "ALL", osd = "no", noicon = "true", qid = qid, maxvals = data.maxvals, linked = data.linked, rank = data.rank or "best", citeq_args[name] } ) if data.populate_from_journal then local publishedin = getValue( {"P1433", ps = 1, qid = qid, maxvals = 0, citeq_args[name], qual = data.id, qualsonly = 'yes'} ) citeq_args[name] = publishedin or getPropOfProp({qid = qid, prop1 = "P1433", prop2 = data.id, maxvals = data.maxvals, ps = 1}) end if citeq_args[name] and citeq_args[name]:find('[[Κατηγορίαν:Λήμμα με ελλειπή στοιχεία αντικειμένου Wikidata]]', 1, true) then -- try fallback to work's native language citeq_args[name] = getValue( {data.id, ps = 1, qid = qid, maxvals = data.maxvals, linked = "no", lang = langcodes[1] } ) if citeq_args[name]:find('^Q%d+$') then -- qid was returned -- try fallback to qid's native language local qid_languages = _lang_code(citeq_args[name]) citeq_args[name] = getValue( {data.id, ps = 1, qid = qid, maxvals = data.maxvals, linked = "no", lang = qid_languages[1] } ) if citeq_args[name]:find('^Q%d+$') then -- qid was returned again citeq_args[name] = nil else -- record the language found if no lang specified citeq_args.language = citeq_args.language or qid_languages[1] end end end if data.others then oth[#oth + 1] = citeq_args[name] and (name:gsub("^%l", string.upper) .. ": " .. citeq_args[name]) citeq_args[name] = nil end end citeq_args.others = citeq_args.others or table.concat(oth, ". ") if citeq_args.others == "" then citeq_args.others = nil end citeq_args.journal = citeq_args.journal and citeq_args.journal:gsub("^''", ""):gsub("''$", ""):gsub("|''", "|"):gsub("'']]", "]]") citeq_args.ol = (getValue( {"P648", ps = 1, qid = qid, maxvals = 1, citeq_args.ol } ) or ''):gsub("^OL(.+)$", "%1") if citeq_args.ol == "" then citeq_args.ol = nil end -- TBD. Take care of |ol-access=? citeq_args.biorxiv = citeq_args.biorxiv and ("10.1101/" .. citeq_args.biorxiv) citeq_args.isbn = getValue( {"P957", ps = 1, qid = qid, maxvals = 1, rank="best", citeq_args.isbn } ) -- try ISBN 10 (only one value accepted) -- if url then see if there's an archive: citeq_args.url local url if not citeq_args.url then for i, pr in ipairs( {"P953", "P856", "P2699"} ) do url = getValue( {pr, ps = 1, qid = qid, maxvals = 1, qual="P1065" } ) if url then citeq_args.url = mw.text.split( url, " (", true )[1] local arcurl = mw.ustring.match( url, " %((.*)%)" ) -- when there is an archive url, <url> holds: url<space>(archive url); here extract the archive url if present if arcurl then local arcy, arcm, arcd = arcurl:match("(20%d%d)%p?(%d%d)%p?(%d%d)") if arcy and arcm and arcd then citeq_args["archive-url"] = arcurl citeq_args["archive-date"] = tonumber(arcd) .. " " .. i18n.months[tonumber(arcm)] .. " " .. arcy end end break end end end if citeq_args.publisher == "Unknown" then -- look for "stated as" (P1932) local stated_as = getValue( {"P123", ps = 1, qid = qid, maxvals = 1, qual="P1932", qo="y"} ) if stated_as then citeq_args.publisher = stated_as end end if not titleforced then -- Handle subtitle. if citeq_args.title then local subtitle = mw.wikibase.getBestStatements (qid, 'P1680'); if 0 ~= #subtitle then subtitle = subtitle[1].mainsnak.datavalue.value.text; citeq_args.title = citeq_args.title .. ": " .. subtitle end end local htmltitle = getValue( {"P1476", qual = "P6833", ps = 1, qid = qid, maxvals = 1, qo = "y"} ) if htmltitle then citeq_args.title = htmltitle:gsub("</?i>", "''") else local title_display = citeq_args.title or mw.wikibase.getLabel(qid) or (langcodes[1] and mw.wikibase.getLabelByLang(qid, langcodes[1])) or ("No label or title -- debug: " .. qid) if citeq_args.url then citeq_args.title = wrap_nowiki(title_display) else local slink = mw.wikibase.getSitelink(qid) local slink_flag = false local wrap_title = '' local wslink = false if not slink then -- See if we have wikisource if not citeq_args.url then local wikisource_sitelink = mw.wikibase.getSitelink(qid, "enwikisource") or nil if wikisource_sitelink then slink = ':s:'..wikisource_sitelink wslink = true end end end if citeq_args.title then if slink then wrap_title = wrap_nowiki(citeq_args.title) slink_flag = true else citeq_args.title = wrap_nowiki(citeq_args.title) end else if slink and not wslink then if slink:lower() == title_display:lower() then citeq_args.title = '[[' .. slink .. ']]' else wrap_title = wrap_nowiki(slink:gsub("%s%(.+%)$", ""):gsub(",.+$", "")) slink_flag = true end elseif wslink then wrap_title = wrap_nowiki(title_display) slink_flag = true else citeq_args.title = wrap_nowiki(title_display) end end if slink_flag then if slink == wrap_title and not wslink then -- direct link citeq_args.title = '[[' .. slink .. ']]' else -- piped link citeq_args.title = '[[' .. slink .. '|' .. wrap_title .. ']]' end end end end end -- TBD: incorporate |at, |sheets= and |sheet= here as well -- Sort out what should happen if several of them are given at the same time if citeq_args.page or citeq_args.p then -- let single take precedence over multiple citeq_args.pages = nil citeq_args.pp = nil end if citeq_args.pages then local _, count = string.gsub(citeq_args.pages, "[,;%s]%d+", "") if count == 1 then citeq_args.page = citeq_args.pages citeq_args.pages = nil end end if is_set (qid) then if not is_set (citeq_args.author) and not is_set (citeq_args.author1) and not is_set (citeq_args.subject) and not is_set (citeq_args.subject1) and not is_set (citeq_args.host) and not is_set (citeq_args.host1) and not is_set (citeq_args.last) and not is_set (citeq_args.last1) and not is_set (citeq_args.surname) and not is_set (citeq_args.surname1) and not is_set (citeq_args['author-last']) and not is_set (citeq_args['author-last1']) and not is_set (citeq_args['author1-last']) and not is_set (citeq_args['author-surname']) and not is_set (citeq_args['author-surname1']) and not is_set (citeq_args['author1-surname1']) then -- if neither are set, try to get authors from Wikidata get_name_list ('author', citeq_args, qid, wdl) -- modify citeq_args table with authors from Wikidata end if not is_set (citeq_args.editor) and not is_set (citeq_args.editor1) and not is_set (citeq_args['editor-last']) and not is_set (citeq_args['editor-last1']) and not is_set (citeq_args['editor1-last']) and not is_set (citeq_args['editor-surname']) and not is_set (citeq_args['editor-surname1']) and not is_set (citeq_args['editor1-surname']) then -- if neither are set, try to get editors from Wikidata get_name_list ('editor', citeq_args, qid, wdl) -- modify citeq_args table with editors from Wikidata end if not is_set (citeq_args.translator) and not is_set (citeq_args.translator1) and not is_set (citeq_args['translator-last']) and not is_set (citeq_args['translator-last1']) and not is_set (citeq_args['translator1-last']) and not is_set (citeq_args['translator-surname']) and not is_set (citeq_args['translator-surname1']) and not is_set (citeq_args['translator1-surname']) then -- if neither are set, try to get translators from Wikidata get_name_list ('translator', citeq_args, qid, wdl) -- modify citeq_args table with translators from Wikidata end end for k, v in pairs(citeq_args) do if in_array (v, {'(())', 'unset', 'ignore'}) or 'string' ~= type(k) then -- empty accept-as-is-written (()) markup to indicate an empty/unused parameter value, other ((...)) markups are deliberately passed down to {{citation}} citeq_args[k] = nil elseif in_array (v, {'((unset))', '((ignore))'}) then -- strip off markup for free-text values clashing with local keywords citeq_args[k] = 'unset' end end local author_count = 0 for k, v in pairs(citeq_args) do if k:find("^author%d+$") then author_count = author_count + 1 end end if author_count > 8 then -- convention in astronomy journals, optional mode for this? if 'all' == citeq_args['display-authors'] then citeq_args['display-authors'] = nil; -- unset because no longer needed else citeq_args['display-authors'] = citeq_args['display-authors'] or 3 -- limit to three displayed names end end local editor_count = 0 for k, v in pairs(citeq_args) do if k:find("^editor%d+$") then editor_count = editor_count + 1 end end if editor_count > 8 then -- convention in astronomy journals, optional mode for this? if 'all' == citeq_args['display-editors'] then citeq_args['display-editors'] = nil; -- unset because no longer needed else citeq_args['display-editors'] = citeq_args['display-editors'] or 3 -- limit to three displayed names end end -- change edition to ordinal if it's set and numeric citeq_args.edition = citeq_args.edition and p.makeOrdinal(citeq_args.edition) -- code to make a guess what template to use from the supplied parameters -- (first draft for proof-of-concept) if citeq_args.isbn then template = template or "book" citeq_args.asin = nil -- suppress ASIN if ISBN exists elseif citeq_args.journal then template = template or "journal" elseif citeq_args.website then template = template or "web" end -- template is CS1 designator: journal, web, news, etc. if template then -- citeq_args.mode = citeq_args.mode or "cs1" -- a cs1 template already knows that it is cs1 so this line is superfluous template = "Cite " .. template else -- citeq_args.mode = citeq_args.mode or "cs2" -- a cs2 template already knows that it is cs2 so this line is superfluous template = "Citation" end -- |id= could hold more than one identifier pulled from Wikidata not supported by {{citation}}, right now only add our qid to the list local list_sep = '. ' if citeq_args.mode ~= 'cs1' then list_sep = ', ' end local id = '[[Wikidata]]&nbsp;[[:d:' .. qid .. '|' .. qid .. ']]' -- go through "WDQ (identifier)" redirect to reduce clutter in "What links here" and improve reverse lookup. Keep in sync with {{QID}}. local old_id = citeq_args.id if wdl then -- show WD logo id = id .. '[[File:Wikidata-logo.svg|16px|alt=|link=]]' -- possibly replace by WD edit icon? end if is_set (old_id) then citeq_args.id = old_id .. list_sep .. id -- append to user-specified contents else citeq_args.id = id end -- clean up any blank parameters for k, v in pairs(citeq_args) do if v == "" then citeq_args[k] = nil end end -- if |expand=<anything>, write a nowiki'd version to see what the {{citation}} template call looks like if expand then local expand_args = { "{{" .. template } -- init with citation template if expand == "self" then citeq_args.id = old_id -- restore original |id= parameter expand_args = { "{{cite Q|" .. qid } -- expand to itself end -- make a sortable table and sort it by param name local sorttable = {} for param, val in pairs (citeq_args) do table.insert(sorttable, {param, val}) end table.sort(sorttable, comp_key) -- add contents to expand_args for idx, val in ipairs(sorttable) do table.insert(expand_args, val[1] .. '=' .. val[2]) end -- make the nowiki'd string and done return "<code>" .. table.concat (expand_args, ' |') .. "}}</code>" end local erratumid = getPropertyIDs( { "P2507", qid = qid, fwd = "ALL", osd = "no", rank = "best", maxvals = 1 } ) if erratumid then erratumid = " [[d:" .. erratumid .. "|(erratum)]]" .. "[[Κατηγορίαν:Cite Q - αναφορά σε έργο με λάθος]]" else erratumid = "" end local opt_cat = '' if getValue( {"P5824", ps = 1, qid = qid} ) then opt_cat = '[[Κατηγορίαν:Cite Q - αναφορά σε έργο που έχει ανακληθεί]]<!-- retracted -->' end if getValue( {"P1366", ps = 1, qid = qid} ) then opt_cat = opt_cat .. '[[Κατηγορίαν:Cite Q - αναφορά σε έργο που έχει αντικατασταθεί]]<!-- replaced -->' end return frame:expandTemplate{title = template, args = citeq_args} .. erratumid .. opt_cat -- render the template end function p.cite_q (frame) local args = {} for k, v in pairs(frame:getParent().args) do if v ~= "" then args[k] = v end end for k, v in pairs(frame.args) do if v ~= "" then args[k] = v end end args.qid = args.qid or args[1] or "" if args.qid == "" then return nil end args[1] = nil local citesep = (args.citesep or "") if citesep == "" then citesep = ", " end citesep = citesep:gsub('"', '') -- strip double quotes after setting default to allow |citesep="" as a blank separator args.citesep = nil local tag = args.tag or "" if tag == "" then tag = nil end args.tag = nil local list = args.list or "" if list == "" then list = nil end args.list = nil args.language = args.language or args.lang args.lang = nil local cites = {} for q in args.qid:gmatch("Q%d+") do -- make a new copy of the arguments local newargs = {} for k, v in pairs(args) do if k ~= "qid" then newargs[k] = v end end newargs.qid = q if tag == "ref" then cites[#cites + 1] = frame:callParserFunction{ name = "#tag:ref", args = { p._cite_q(newargs), name = q } } -- expand like this: args = { p._cite_q(newargs), name = 'foo', group = 'bar' } else cites[#cites + 1] = p._cite_q(newargs) end end if list then return frame:expandTemplate{ title = list, args = cites } else return table.concat(cites, citesep) end end return p 8z1ihbnzakd88260zeos586tgddq8jw Module:WikidataSelectors 828 3504 36725 2025-12-15T23:40:28Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local i18n = { ["errors"] = { ["rank-not-valid"] = "Некорретное значение приоритета (rank)", ["cant-parse-condition"] = "Не удалось разобрать условие" } } local validRanks = { 'best', 'preferred', 'normal', 'deprecated' } --[[ Internal function for error message Input: key in errors table Output: error message ]] local function throwError( key ) error(...' 36725 Scribunto text/plain local i18n = { ["errors"] = { ["rank-not-valid"] = "Некорретное значение приоритета (rank)", ["cant-parse-condition"] = "Не удалось разобрать условие" } } local validRanks = { 'best', 'preferred', 'normal', 'deprecated' } --[[ Internal function for error message Input: key in errors table Output: error message ]] local function throwError( key ) error( i18n.errors[key] ) end local p = {} --[[ Main function for parse selectors and filter statements Input: statements table, selector string Output: filtered statements table ]] function p.filter( allClaims, propertySelector ) propertySelector = mw.text.trim( propertySelector ) -- Get property ID from selector local propertyId = mw.ustring.match( propertySelector, '^[Pp]%d+' ) if not propertyId then propertyId = '' end local initPos = #propertyId + 1 propertyId = string.upper( propertyId ) if ( not allClaims ) then return nil end local allPropertyClaims = allClaims[propertyId] if ( not allPropertyClaims ) then return nil end -- Gathering rules local rules = p.matchSelectors( propertySelector, initPos ) -- If there is no rank filter, than default rank is 'best' local isRanked = false for i, subRules in ipairs( rules ) do for j, rule in ipairs( subRules ) do if rule['type'] == 'rank' then isRanked = true break end end end if not isRanked then table.insert( rules, 1, { { type = 'rank', value = 'best' } } ) end -- Execute rules allPropertyClaims = p.applyRules( allPropertyClaims, rules ) return allPropertyClaims end --[[ Match and gather selector rules Input: string with selectors rules, start position Output: rules table ]] function p.matchSelectors( selectorsString, initPos ) local rules = {} local rawRulePattern = '^%s*%[%s*[^%[%]]+%s*%]%s*' local rulePattern = '^%s*%[%s*([^%[%]]+)%s*%]%s*$' if not initPos then initPos = 1 end local rawRule = mw.ustring.match( selectorsString, rawRulePattern, initPos ) while rawRule do initPos = initPos + #rawRule rule = mw.ustring.match( rawRule, rulePattern ) rule = mw.text.trim( rule ) local subRules = mw.text.split( rule, '%s*,%s*' ) local commands = {} local comm for i, subRule in ipairs( subRules ) do local isInversed = false if mw.ustring.match( subRule, '^!' ) then isInversed = true subRule = mw.ustring.match( subRule, '^!%s*(.+)$' ) end -- p123[1] if mw.ustring.match( subRule, '^%d+$' ) then table.insert( commands, { type = 'position', value = subRule, inversed = isInversed } ) -- p123[rank:preferred] elseif mw.ustring.match( subRule, '^rank%s*:%s*(%a+)$' ) then rank = mw.ustring.match( subRule, '^rank%s*:%s*(%a+)$' ) table.insert( commands, { type = 'rank', value = rank, inversed = isInversed } ) -- p123[language:xx] elseif mw.ustring.match( subRule, '^language%s*:%s*([%a%-]+)$' ) then value = mw.ustring.match( subRule, '^language%s*:%s*([%a%-]+)$' ) table.insert( commands, { type = 'language', value = value, inversed = isInversed } ) -- p123[language!:xx] elseif mw.ustring.match( subRule, '^language%s*!:%s*([%a%-]+)$' ) then value = mw.ustring.match( subRule, '^language%s*!:%s*([%a%-]+)$' ) table.insert( commands, { type = 'language', value = value, inversed = not isInversed } ) -- p123[unit:q789] elseif mw.ustring.match( subRule, '^unit%s*:%s*[^%[%],:]+$' ) then value = mw.ustring.match( subRule, ':%s*([^%[%],:]+)$' ) table.insert( commands, { type = 'unit', value = value, inversed = isInversed } ) -- p123[unit!:q789] elseif mw.ustring.match( subRule, '^unit%s*!:%s*[^%[%],:]+$' ) then value = mw.ustring.match( subRule, '!:%s*([^%[%],:]+)$' ) table.insert( commands, { type = 'unit', value = value, inversed = not isInversed } ) -- p123[p456] elseif mw.ustring.match( subRule, '^[Pp]%d+$' ) then qualifier = mw.ustring.match( subRule, '^[Pp]%d+' ) table.insert( commands, { type = 'qualifier', qualifier = qualifier, value = nil, inversed = isInversed } ) -- p123[p456:q789] elseif mw.ustring.match( subRule, '^[Pp]%d+%s*:%s*[^%[%],:]+$' ) then qualifier = mw.ustring.match( subRule, '^([Pp]%d+)%s*:?' ) value = mw.ustring.match( subRule, ':%s*([^%[%],:]+)$' ) table.insert( commands, { type = 'qualifier', qualifier = qualifier, value = value, inversed = isInversed } ) -- p123[p456!:q789] elseif mw.ustring.match( subRule, '^[Pp]%d+%s*!:%s*[^%[%],:]+$' ) then qualifier = mw.ustring.match( subRule, '^([Pp]%d+)%s*!:?' ) value = mw.ustring.match( subRule, '!:%s*([^%[%],:]+)$' ) table.insert( commands, { type = 'qualifier', qualifier = qualifier, value = value, inversed = not isInversed } ) -- p123[q456] elseif mw.ustring.match( subRule, '^[Qq]%d+$' ) then value = mw.ustring.match( subRule, '^[Qq]%d+' ) table.insert( commands, { type = 'value', value = value, inversed = isInversed } ) else throwError( 'cant-parse-condition' ) end end if #commands then table.insert( rules, commands ) end rawRule = mw.ustring.match( selectorsString, rawRulePattern, initPos ) end return rules end --[[ Intercept statements with selector rules Input: statements table, selector rules Output: filtered statements table ]] function p.applyRules( claims, rules ) for i, subRules in ipairs( rules ) do local newClaims = {} for j, rule in ipairs( subRules ) do if rule['type'] == 'rank' then table.insert( newClaims, p.filterByRank( claims, rule['value'], rule['inversed'] ) ) elseif rule['type'] == 'language' then table.insert( newClaims, p.filterByLanguage( claims, rule['value'], rule['inversed'] ) ) elseif rule['type'] == 'unit' then table.insert( newClaims, p.filterByUnit( claims, rule['value'], rule['inversed'] ) ) elseif rule['type'] == 'position' then table.insert( newClaims, p.filterByPosition( claims, rule['value'], rule['inversed'] ) ) elseif rule['type'] == 'qualifier' then table.insert( newClaims, p.filterByQualifier( claims, rule['qualifier'], rule['value'], rule['inversed'] ) ) elseif rule['type'] == 'value' then table.insert( newClaims, p.filterByValue( claims, rule['value'], rule['inversed'] ) ) end end claims = {} --[[ Merge all claims TODO: It's not good ]] for j, newSubClaims in ipairs( newClaims ) do for k, newClaim in ipairs( newSubClaims ) do local isNew = true for l, oldClaim in ipairs( claims ) do if oldClaim['id'] == newClaim['id'] then isNew = false break end end if isNew then table.insert( claims, newClaim ) end end end end return claims end --[[ Filter statements by rank Input: claims table, rank value, inversion Output: filtered statements table ]] function p.filterByRank( claims, rank, inversed ) if not inversed then inversed = false end if not rank then rank = 'best' end -- Check if rank value is valid local isValidRank = false for i, validRank in ipairs( validRanks ) do if rank == validRank then isValidRank = true break end end if not isValidRank then throwError( 'rank-not-valid' ) end -- Find the best rank if rank == 'best' then rank = 'normal' -- default rank (don't use deprecated even if it's no more claims) -- If we have at least one preferred rank, mark it as best for i, statement in pairs( claims ) do if (statement.rank == 'preferred') then rank = 'preferred' break end end end local resultClaims = {}; for i, statement in pairs( claims ) do if ( statement.rank == rank ) ~= inversed then table.insert( resultClaims, statement ) end end return resultClaims end --[[ Filter statements by language of value Input: claims table, language, inversion Output: filtered statements table ]] function p.filterByLanguage( claims, language, inversed ) if not inversed then inversed = false end local resultClaims = {} local mulStatement = {} for i, statement in ipairs( claims ) do isMatchLanguage = false if statement['mainsnak'] and statement['mainsnak']['datavalue'] and statement['mainsnak']['datavalue']['value'] and statement['mainsnak']['datavalue']['value']['language'] then if statement['mainsnak']['datavalue']['value']['language'] == language then isMatchLanguage = true end if statement['mainsnak']['datavalue']['value']['language'] == 'mul' then mulStatement = statement end end if isMatchLanguage ~= inversed then table.insert( resultClaims, statement ) end end if next(resultClaims) == nil and next(mulStatement) ~= nil then -- if specific language is not found, but there is Q20923490 value table.insert( resultClaims, mulStatement ) end return resultClaims end --[[ Filter statements by unit of value Input: claims table, unit, inversion Output: filtered statements table ]] function p.filterByUnit( claims, unit, inversed ) if not inversed then inversed = false end unit = 'http://www.wikidata.org/entity/' .. string.upper( unit ) local resultClaims = {} for i, statement in ipairs( claims ) do isMatchUnit = false mw.log(statement['mainsnak']['datavalue']['value']['unit']) if statement['mainsnak'] and statement['mainsnak']['datavalue'] and statement['mainsnak']['datavalue']['value'] and statement['mainsnak']['datavalue']['value']['unit'] and statement['mainsnak']['datavalue']['value']['unit'] == unit then isMatchUnit = true end if isMatchUnit ~= inversed then table.insert( resultClaims, statement ) break end end return resultClaims end --[[ Filter statements by position Input: claims table, position, inversion Output: filtered statements table ]] function p.filterByPosition( claims, position, inversed ) if not inversed then inversed = false end local resultClaims = {}; for statementPosition, statement in ipairs( claims ) do if ( statementPosition == tonumber( position ) ) ~= inversed then table.insert( resultClaims, statement ) break end end return resultClaims end --[[ Filter statements by qualifier existance or it's value Input: claims table, ID of qualifier's property, qualifier's value, inversion Output: filtered statements table ]] function p.filterByQualifier( claims, qualifierId, value, inversed ) if not inversed then inversed = false end qualifierId = string.upper( qualifierId ) local resultClaims = {} for i, statement in ipairs( claims ) do if statement['qualifiers'] and statement['qualifiers'][qualifierId] then if value == nil then if ( #statement['qualifiers'][qualifierId] > 0 ) ~= inversed then table.insert( resultClaims, statement ) end else local isQualifierFound = false for j, qualifier in ipairs( statement['qualifiers'][qualifierId] ) do if qualifier['datavalue'] then local qualifierValue = qualifier['datavalue']['value'] if qualifier['datavalue']['type'] == 'wikibase-entityid' then qualifierValue = qualifierValue.id value = string.upper( value ) end if qualifierValue == value then isQualifierFound = true break end end end if isQualifierFound ~= inversed then table.insert( resultClaims, statement ) end end elseif inversed then table.insert( resultClaims, statement ) end end return resultClaims end --[[ Filter statements by it's values Input: claims table, value, inversion Output: filtered statements table ]] function p.filterByValue( claims, value, inversed ) inversed = inversed or false local resultClaims = {} for i, statement in ipairs( claims ) do local statementValue if statement['mainsnak'] and statement['mainsnak']['datavalue'] and statement['mainsnak']['datavalue']['type'] then statementValue = statement['mainsnak']['datavalue']['value'] if statement['mainsnak']['datavalue']['type'] == 'wikibase-entityid' then statementValue = statementValue.id value = string.upper( value ) end end if ( statementValue == value ) ~= inversed then table.insert( resultClaims, statement ) end end return resultClaims end return p dgs7leacxawrx1vnd3gcolpau5uo2zp Module:WLink 828 3505 36726 2025-12-15T23:42:30Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local WLink = { suite = "WLink", serial = "2016-10-05" }; --[=[ ansiPercent() formatURL() getArticleBase() getBaseTitle() getExtension() getFile() getFragment() getLanguage() getNamespace() getPlain() getProject() getTarget() getTargetPage() getTitle() getWeblink() isBracketedLink() isBracketedURL() isCategorization() isExternalLink() isInterlanguage() isInterwiki() isMedia() isTitledLink() isValidLink() isWikilink() wikilink() fai...' 36726 Scribunto text/plain local WLink = { suite = "WLink", serial = "2016-10-05" }; --[=[ ansiPercent() formatURL() getArticleBase() getBaseTitle() getExtension() getFile() getFragment() getLanguage() getNamespace() getPlain() getProject() getTarget() getTargetPage() getTitle() getWeblink() isBracketedLink() isBracketedURL() isCategorization() isExternalLink() isInterlanguage() isInterwiki() isMedia() isTitledLink() isValidLink() isWikilink() wikilink() failsafe() ]=] -- local globals local URLutil = false; local utilURL = function () -- Attach URLutil library module -- Postcondition: -- Returns table, with URLutil library -- Throws error, if not available if not URLutil then local lucky, util = pcall( require, "Module:URLutil" ); if lucky then if type( util ) == "table" then URLutil = util.URLutil(); end util = "library URLutil invalid"; end if type( URLutil ) ~= "table" then error( util, 0 ); end end return URLutil; end -- utilURL() local contentExtlink = function ( attempt ) -- Retrieve span of external link between brackets -- Precondition: -- attempt -- string, with presumable link -- the first char is expected to be "[" -- Postcondition: -- Returns string, number, number -- string including whitespace -- number with index of relevant "[" -- number with index after relevant "]" -- false if nothing found local r1 = false; local r2 = false; local r3 = attempt:find( "]", 2, true ); if r3 then local s = attempt:sub( 2, r3 - 1 ); local i = s:find( "[", 1, true ); if i then r1 = s:sub( i + 1 ); r2 = i; else r1 = s; r2 = 1; end else r3 = false; end return r1, r2, r3; end -- contentExtlink() local contentWikilink = function ( attempt ) -- Retrieve span of wikilink between brackets -- Precondition: -- attempt -- string, with presumable link -- the first two chars are expected to be "[[" -- Postcondition: -- Returns string, number, number -- string including whitespace -- number with index of relevant "[[" -- number with index after relevant "]]" -- false if nothing found local r1 = false; local r2 = false; local r3 = attempt:find( "]]", 3, true ); if r3 then local s = attempt:sub( 3, r3 - 1 ); local i = s:find( "[[", 1, true ); if i then r1 = s:sub( i + 2 ); r2 = i; else r1 = s; r2 = 1; end end return r1, r2, r3; end -- contentWikilink() local extractExtlink = function ( attempt ) -- Retrieve external link -- Precondition: -- attempt -- string, with presumable link -- the first char is expected to be "[" -- Postcondition: -- Returns string, string -- first with target and title -- second result false if not titled -- false if nothing found local r1 = false; local r2 = false; local s = contentExtlink( attempt ); if s then local i = s:find( "%s", 1 ); if i then r1 = s:sub( 1, i - 1 ); r2 = mw.text.trim( s:sub( i + 1 ) ); if r2 == "" then r2 = false; end else r1 = s; end if r1 then r1 = mw.text.trim( r1 ); if r1 == "" or not utilURL().isResourceURL( r1 ) then r1 = false; end end if not r1 then r2 = false; end end return r1, r2; end -- extractExtlink() local extractWikilink = function ( attempt ) -- Retrieve wikilink -- Precondition: -- attempt -- string, with presumable link -- the first two chars are expected to be "[[" -- Postcondition: -- Returns string, string -- first with target -- second result title, or false if not piped -- false if nothing found local r1 = false; local r2 = false; local s = contentWikilink( attempt ); if s then local i = s:find( "|", 1, true ); if i then r1 = s:sub( 1, i - 1 ); r2 = s:sub( i + 1 ); else r1 = s; end r1 = mw.text.trim( r1 ); if r1 == "" then r1 = false; else r1 = r1:gsub( "_", " " ) :gsub( "&nbsp;", " " ) :gsub( "&thinsp;", " " ) :gsub( "&#160;", " " ) :gsub( "&#8239;", " " ) :gsub( " +", " " ); r1 = mw.text.decode( r1 ); end end return r1, r2; end -- extractWikilink() local prefix = function ( ask, ahead ) -- Interprete prefix of language or project type -- Precondition: -- ask -- string, with presumable prefix -- ahead -- true, if first segment -- Postcondition: -- Returns string,string or nil -- first string one of "lead", "lang", "project" -- second string is formatted value -- type is one of "lead", "lang", "project" -- nil if nothing found local r1, r2; local prefixes = { b = true, c = "commons", d = true, commons = true, m = "meta", mediawiki = "mw", mw = true, meta = true, n = true, q = true, s = true, simple = false, v = true, voy = true, w = true, wikibooks = "b", wikidata = "d", wikinews = "n", wikipedia = "w", wikiquote = "q", wikisource = "s", wikiversity = "v", wikivoyage = "voy", wikt = true, wiktionary = "wikt" }; local s = mw.text.trim( ask ); if s == "" then if ahead then r1 = "lead"; r2 = true; end else local p; s = s:lower(); p = prefixes[ s ]; if p == true then r1 = "project"; r2 = s; elseif p then r1 = "project"; r2 = p; elseif p == false then r1 = "lang"; r2 = s; elseif s:match( "^%l%l%l?$" ) and mw.language.isSupportedLanguage( s ) then r1 = "lang"; r2 = s; end end return r1, r2; end -- prefix() local target = function ( attempt, lonely ) -- Retrieve first target (wikilink or URL), or entire string -- Precondition: -- attempt -- string, with presumable link somewhere -- lonely -- remove fragment, if true -- Postcondition: -- Returns string, number -- string, with detected link target, or entire -- number, with number of brackets, if found, or 2 local r1, r2 = WLink.getTarget( attempt ); if not r1 then r1 = mw.text.trim( attempt ); r2 = 2; end if lonely then local i = r1:find( "#", 1, true ); if i == 1 then r1 = ""; elseif i then r1 = r1:sub( 1, i - 1 ); end end return r1, r2; end -- target() function WLink.ansiPercent( attempt, alter ) -- Convert string by ANSI encoding rather than UTF-8 encoding -- Precondition: -- attempt -- string, with presumable ANSI characters -- alter -- string or nil, to use for spaces instead of %20 -- Postcondition: -- Returns string, encoded local k, s; local r = attempt; if alter then r = r:gsub( " ", alter ); end for i = mw.ustring.len( r ), 1, -1 do k = mw.ustring.codepoint( r, i, i ); if k <= 32 or k > 126 then if k > 255 then s = mw.ustring.sub( r, i, i ); if k > 2047 then s = string.format( "%%%2X%%%2X%%%2X", s:byte( 1, 1 ), s:byte( 2, 2 ), s:byte( 3, 3 ) ); else s = string.format( "%%%2X%%%2X", s:byte( 1, 1 ), s:byte( 2, 2 ) ); end else s = string.format( "%%%2X", k ); end r = string.format( "%s%s%s", mw.ustring.sub( r, 1, i - 1 ), s, mw.ustring.sub( r, i + 1 ) ); end end -- for --i r = mw.ustring.gsub(r, '^%*', '%%2A') return r; end -- WLink.ansiPercent() function WLink.formatURL( adjust ) -- Create bracketed link, if not yet -- Precondition: -- adjust -- string, with URL or domain/path or bracketed link -- Postcondition: -- Returns string, with bracketed link -- false on invalid format local r; if type( adjust ) == "string" then if WLink.isBracketedLink( adjust ) then r = adjust; else local url = mw.text.trim( adjust ); local host; utilURL(); host = URLutil.getHost( adjust ); if not host then url = "http://" .. adjust; host = URLutil.getHost( url ); end if host then local path = URLutil.getRelativePath( url ); local show; if path == "/" then if not url:match( "/$" ) then url = url .. "/"; end show = host; else local i = path:find( "#" ); if i then path = path:sub( 1, i - 1 ); end show = host .. path; end r = string.format( "[%s %s]", url, show ); else r = adjust; end end else r = false; end return r; end -- WLink.formatURL() function WLink.getArticleBase( attempt ) -- Retrieve generic article title, no fragment nor brackets -- Precondition: -- attempt -- string, with wikilink or page title -- current page title, if missing -- Postcondition: -- Returns string, with identified lemma, or all -- false on invalid format local r; if attempt then local m; r, m = target( attempt, true ); if m ~= 2 then r = false; end else r = mw.title.getCurrentTitle().text; end if r then local sub = r:match( "^(.*%S) *%(.+%)$" ); if sub then r = sub; end end return r; end -- WLink.getArticleBase() function WLink.getBaseTitle( attempt ) -- Retrieve last segment in subpage, no fragment -- Precondition: -- attempt -- string, with wikilink or page title -- Postcondition: -- Returns string, with identified segment, or all local r; local s, m = target( attempt, true ); if m == 2 then local sub = s:match( "/([^/]+)$" ); if sub then r = sub; else r = s; end else r = false; end return r; end -- WLink.getBaseTitle() function WLink.getExtension( attempt ) -- Retrieve media extension -- Precondition: -- attempt -- string, with wikilink (media link) or page title -- if URL, PDF may be detected -- Postcondition: -- Returns string, with detected downcased media type -- false if no extension found local r = false; local s, m = target( attempt ); if m == 2 then s = s:match( "%.(%a+)$" ); if s then r = s:lower(); end elseif s:upper():match( "[%./](PDF)%W?" ) then r = "pdf"; end return r; end -- WLink.getExtension() function WLink.getFile( attempt ) -- Retrieve media page identifier -- Precondition: -- attempt -- string, with wikilink (media link) or page title -- Postcondition: -- Returns string, with detected file title -- no namespace nor project -- false if no file found local r = false; local s, m = target( attempt ); if m == 2 then local slow = ":" .. s:lower(); local find = function ( a ) local seek = string.format( ":%s:().+%%.%%a+$", a:lower() ); local join = slow:find( seek ); local ret; if join then ret = s:sub( join + #a + 1 ); end return ret; end; r = find( "file" ); if not r then local trsl = mw.site.namespaces[6]; r = find( trsl.name ); if not r then trsl = trsl.aliases; for k, v in pairs( trsl ) do r = find( v ); if r then break; -- for k, v end end -- for k, v end end end return r; end -- WLink.getFile() function WLink.getFragment( attempt ) -- Retrieve fragment -- Precondition: -- attempt -- string, with presumable fragment -- Postcondition: -- Returns string, with detected fragment -- false if no address found local r = false; local s, m = target( attempt ); if s then local i = s:find( "#", 1, true ); if i then if i > 1 then s = s:sub( i - 1 ); i = 2; end if s:find( "&#", 1, true ) then s = mw.text.decode( s ); i = s:find( "#", 1, true ); if not i then s = ""; i = 0; end end s = s:sub( i + 1 ); r = mw.text.trim( s ); if r == "" then r = false; elseif m == 2 then r = r:gsub( "%.(%x%x)", "%%%1" ) :gsub( "_", " " ); r = mw.uri.decode( r, "PATH" ); end end end return r; end -- WLink.getFragment() function WLink.getLanguage( attempt ) -- Retrieve language project identifier -- Precondition: -- attempt -- string, with wikilink or page title -- Postcondition: -- Returns string, with detected downcased language identifier -- false if no project language found local r = false; local s, m = WLink.getTarget( attempt ); if m == 2 then local w = WLink.wikilink( s ); if w and w.lang then r = w.lang; end end return r; end -- WLink.getLanguage() function WLink.getNamespace( attempt ) -- Retrieve namespace number -- Precondition: -- attempt -- string, with wikilink or page title -- Postcondition: -- Returns number, of detected namespace -- false if no namespace found local r = false; local s, m = WLink.getTarget( attempt ); if m == 2 then local w = WLink.wikilink( s ); if w and not w.lang and not w.project and w.ns then r = w.ns; end end return r; end -- WLink.getNamespace() function WLink.getPlain( attempt ) -- Retrieve text with all links replaced by link titles -- Precondition: -- attempt -- string, with wikitext -- Postcondition: -- Returns string, with modified wikitext without links local r = attempt; local i = 1; local j, k, n, lean, s, shift, space, suffix; while ( true ) do j = r:find( "[", i, true ); if j then suffix = r:sub( j ); i = j + 1; lean = ( r:byte( i, i ) == 91 ); if lean then s, k, n = contentWikilink( suffix ); else s, k, n = contentExtlink( suffix ); end if s then if k > 1 then n = n - k; i = j + k; j = i - 1; suffix = r:sub( j ); end if lean then s, shift = extractWikilink( suffix ); if s then space = s:match( "^([^:]+):" ); if space then space = mw.site.namespaces[ space ]; if space then space = space.id; end end if space == 6 or space == 14 then shift = ""; elseif not shift then shift = s; end else s = ""; shift = ""; end else s, shift = extractExtlink( suffix ); if not s then s = ""; end if not shift then shift = ""; end i = i - 1; end if j > 1 then s = r:sub( 1, j - 1 ); else s = ""; end r = string.format( "%s%s%s", s, shift, r:sub( n + i ) ); i = i + #shift; else break; -- while true end else break; -- while true end end -- while true return r; end -- WLink.getPlain() function WLink.getProject( attempt ) -- Retrieve wikifarm project identifier -- Precondition: -- attempt -- string, with wikilink or page title -- Postcondition: -- Returns string, with detected downcased project identifier -- false if no project identifier found local r = false; local s, m = WLink.getTarget( attempt ); if m == 2 then local w = WLink.wikilink( s ); if w and w.project then r = w.project; end end return r; end -- WLink.getProject() function WLink.getTarget( attempt ) -- Retrieve first target (wikilink or URL) -- Precondition: -- attempt -- string, with presumable link somewhere -- Postcondition: -- Returns string, number -- string, with first detected link target -- number, with number of brackets, if found -- false if nothing found local r1 = false; local r2 = false; local i = attempt:find( "[", 1, true ); if i then local m; r1 = attempt:sub( i ); if r1:byte( 2, 2 ) == 91 then m = 2; r1 = extractWikilink( r1 ); else m = 1; r1 = extractExtlink( r1 ); end if r1 then r2 = m; end else r1 = attempt:match( "%A?([hf]t?tps?://%S+)%s?" ); if r1 then if utilURL().isResourceURL( r1 ) then r2 = 0; else r1 = false; end else r1 = false; end end return r1, r2; end -- WLink.getTarget() function WLink.getTargetPage( attempt ) -- Retrieve first target page (page name or URL of page) -- Precondition: -- attempt -- string, with presumable link somewhere -- Postcondition: -- Returns string, with first detected linked page -- false if nothing found local r1, r2 = WLink.getTarget( attempt ); if r1 then local i = r1:find( "#", 1, true ); if i then if i == 1 then r1 = false; else r1 = mw.text.trim( r1:sub( 1, i - 1 ) ); end end end return r1, r2; end -- WLink.getTargetPage() function WLink.getTitle( attempt ) -- Retrieve first link title (wikilink or URL), or wikilink target -- Precondition: -- attempt -- string, with presumable link somewhere -- Postcondition: -- Returns string, with first detected link target -- false if nothing found local r = false; local i = attempt:find( "[", 1, true ); if i then local s1, s2; r = attempt:sub( i ); if r:byte( 2, 2 ) == 91 then s1, s2 = extractWikilink( r ); if s2 then r = s2; else r = s1; end else s1, r = extractExtlink( r ); end end return r; end -- WLink.getTitle() function WLink.getWeblink( attempt, anURLutil ) -- Retrieve bracketed link from resource URL -- Precondition: -- attempt -- string, with URL, or something different -- anURLutil -- library module object, or nil -- Postcondition: -- Returns string, with first detected link target -- false if nothing found local second = ".ac.co.go.gv.or."; local r; if type( anURLutil ) == "table" then URLutil = anURLutil; else utilURL(); end if URLutil.isResourceURL( attempt ) then local site = URLutil.getAuthority( attempt ); local show; if #attempt == #site then site = site .. "/"; end show = URLutil.getTop3domain( "//" .. site ); if show then local scan = "[%./](%a+)(%.%l%l%.)(%a+)$"; local search = "." .. show; local s1, s2, s3 = search:match( scan ); if s2 then if not second:find( s2, 1, true ) then show = string.format( "%s.%s", s2, s3 ); end else show = false; end end if not show then show = URLutil.getTop2domain( "//" .. site ); if not show then show = URLutil.getHost( "//" .. site ); end end r = string.format( "[%s %s]", attempt, show ); else r = attempt; end return r; end -- WLink.getWeblink() function WLink.isBracketedLink( attempt ) -- Does attempt match a bracketed link? -- Precondition: -- attempt -- string, with presumable link somewhere -- Postcondition: -- Returns boolean local r = false; local i = attempt:find( "[", 1, true ); if i then local s = attempt:sub( i ); if s:byte( 2, 2 ) == 91 then s = extractWikilink( s ); else s = extractExtlink( s ); end if s then r = true; end end return r; end -- WLink.isBracketedLink() function WLink.isBracketedURL( attempt ) -- Does attempt match a bracketed URL? -- Precondition: -- attempt -- string, with presumable link somewhere -- Postcondition: -- Returns boolean local s, r = WLink.getTarget( attempt ); return ( r == 1 ); end -- WLink.isBracketedURL() function WLink.isCategorization( attempt ) -- Does attempt match a categorization? -- Precondition: -- attempt -- string, with presumable link somewhere -- Postcondition: -- Returns boolean local r = false; local s, m = WLink.getTarget( attempt ); if m == 2 then local w = WLink.wikilink( s ); if w and w.ns == 14 and not ( w.lead or w.lang or w.project ) and w.title ~= "" then r = true; end end return r; end -- WLink.isCategorization() function WLink.isExternalLink( attempt ) -- Does attempt match an external link? -- Precondition: -- attempt -- string, with presumable link somewhere -- Postcondition: -- Returns boolean local s, r = WLink.getTarget( attempt ); if r then r = ( r < 2 ); end return r; end -- WLink.isExternalLink() function WLink.isInterlanguage( attempt ) -- Does attempt match an interlanguage link? -- Precondition: -- attempt -- string, with presumable link somewhere -- Postcondition: -- Returns boolean local r = false; local s, m = WLink.getTarget( attempt ); if m == 2 then local w = WLink.wikilink( s ); if w and w.lang and not w.project and not w.lead and w.title ~= "" then r = true; end end return r; end -- WLink.isInterlanguage() function WLink.isInterwiki( attempt ) -- Does attempt match an interwiki link within wikifarm? -- Precondition: -- attempt -- string, with presumable link somewhere -- Postcondition: -- Returns boolean local r = false; local s, m = WLink.getTarget( attempt ); if m == 2 then local w = WLink.wikilink( s ); if w and ( w.lang or w.project ) and w.title ~= "" then r = true; end end return r; end -- WLink.isInterwiki() function WLink.isMedia( attempt ) -- Does attempt match a media translusion? -- Precondition: -- attempt -- string, with presumable link somewhere -- Postcondition: -- Returns boolean local r = false; local s, m = WLink.getTarget( attempt ); if m == 2 then local w = WLink.wikilink( s ); if w and w.ns == 6 and not ( w.lead or w.lang or w.project ) and w.title ~= "" and WLink.getExtension( w.title ) then r = true; end end return r; end -- WLink.isMedia() function WLink.isTitledLink( attempt ) -- Does attempt match a titled link? -- Precondition: -- attempt -- string, with presumable link somewhere -- Postcondition: -- Returns boolean local r = false; local i = attempt:find( "[", 1, true ); if i then local c, n; local s = attempt:sub( i ); if s:byte( 2, 2 ) == 91 then n = s:find( "%]%]", 5 ); c = "|"; else n = s:find( "%]", 8 ); c = "%s%S"; end if n then local m = s:find( c, 2 ); if m and m + 1 < n and WLink.getTarget( attempt ) then r = true; end end end return r; end -- WLink.isTitledLink() function WLink.isValidLink( attempt ) -- Does attempt match a link? -- Precondition: -- attempt -- string, with presumable link somewhere -- Postcondition: -- Returns boolean local s, r = WLink.getTarget( attempt ); if r then r = true; end return r; end -- WLink.isValidLink() function WLink.isWikilink( attempt ) -- Does attempt match a wikilink? -- Precondition: -- attempt -- string, with presumable link somewhere -- Postcondition: -- Returns boolean local s, m = WLink.getTarget( attempt ); return ( m == 2 ); end -- WLink.isWikilink() function WLink.wikilink( attempt ) -- Retrieve wikilink components -- Precondition: -- attempt -- string, with presumable link -- expected to be enclosed in "[[" "]]" -- else wikilink -- Postcondition: -- Returns table or false -- table of assignments with { type, value} -- type is one of "lead", -- "project", "lang", -- "ns", "space", "title" -- false if nothing found local s = contentWikilink( attempt ); local got, n, r; if not s then s = attempt; end i = s:find( "|", 1, true ); if i then s = s:sub( 1, i - 1 ); end got = mw.text.split( s, ":" ); n = table.maxn( got ); if n == 1 then r = { title = mw.text.trim( s ) }; else local j, k, o, v; r = { title = "" }; if n > 4 then k = 4; else k = n - 1; end j = k; for i = 1, j do s = mw.text.trim( got[ i ] ); if s ~= "" then o = mw.site.namespaces[ mw.text.trim( got[ i ] ) ]; if o then r.ns = o.id; r.space = o.name; k = i + 1; j = i - 1; break; -- for i end end end -- for i for i = 1, j do o, v = prefix( got[ i ], ( i == 1 ) ); if o then if r[ o ] then k = i; break; -- for i else r[ o ] = v; end else k = i; break; -- for i end end -- for i for i = k, n do r.title = r.title .. got[ i ]; if i < n then r.title = r.title .. ":"; end end -- for i end if r.lead and ( r.project or not r.title or ( not r.lang and r.ns ~= 6 and r.ns ~= 14 ) ) then r.lead = false; end return r; end -- WLink.wikilink() function WLink.failsafe( assert ) -- Retrieve versioning and check for compliance -- Precondition: -- assert -- string, with required version, or false -- Postcondition: -- Returns string with appropriate version, or false local r; if assert and assert > WLink.serial then r = false; else r = WLink.serial; end return r end -- WLink.failsafe() local function Template( frame, action, leave, lone ) -- Run actual code from template transclusion -- Precondition: -- frame -- object -- action -- string, with function name -- leave -- true: keep whitespace around -- lone -- true: permit call without parameters -- Postcondition: -- Return string; might be error message local lucky = true; local s = false; local r = false; local space; for k, v in pairs( frame.args ) do if k == 1 then if leave then s = v; else s = mw.text.trim( v ); end elseif action == "ansiPercent" and k == "space" then if v ~= "" then space = v; end elseif k ~= "template" then lucky = false; if r then r = r .. "|"; else r = "Unknown parameter: "; end r = string.format( "%s%s=", r, k ); end end -- for k, v if lucky then if s or lone then lucky, r = pcall( WLink[ action ], s, space ); else r = "Parameter missing"; lucky = false; end end if lucky then if type( r ) == "boolean" then if r then r = "1"; else r = ""; end end else r = string.format( "<span class=\"error\">%s</span>", r ); end return r; end -- Template() -- Export local p = { }; p.ansiPercent = function ( frame ) return Template( frame, "ansiPercent" ); end p.formatURL = function ( frame ) return Template( frame, "formatURL" ); end p.getArticleBase = function ( frame ) return Template( frame, "getArticleBase", false, true ); end p.getBaseTitle = function ( frame ) return Template( frame, "getBaseTitle" ); end p.getExtension = function ( frame ) return Template( frame, "getExtension" ); end p.getFile = function ( frame ) return Template( frame, "getFile" ); end p.getFragment = function ( frame ) return Template( frame, "getFragment" ); end p.getInterwiki = function ( frame ) return Template( frame, "getInterwiki" ); end p.getLanguage = function ( frame ) return Template( frame, "getLanguage" ); end p.getNamespace = function ( frame ) return tostring( Template( frame, "getNamespace" ) ); end p.getPlain = function ( frame ) return Template( frame, "getPlain" ); end p.getProject = function ( frame ) return Template( frame, "getProject" ); end p.getTarget = function ( frame ) return Template( frame, "getTarget" ); end p.getTargetPage = function ( frame ) return Template( frame, "getTargetPage" ); end p.getTitle = function ( frame ) return Template( frame, "getTitle" ); end p.getWeblink = function ( frame ) return Template( frame, "getWeblink" ); end p.isBracketedLink = function ( frame ) return Template( frame, "isBracketedLink" ); end p.isBracketedURL = function ( frame ) return Template( frame, "isBracketedURL" ); end p.isCategorization = function ( frame ) return Template( frame, "isCategorization" ); end p.isExternalLink = function ( frame ) return Template( frame, "isExternalLink" ); end p.isInterlanguage = function ( frame ) return Template( frame, "isInterlanguage" ); end p.isInterwiki = function ( frame ) return Template( frame, "isInterwiki" ); end p.isMedia = function ( frame ) return Template( frame, "isMedia" ); end p.isTitledLink = function ( frame ) return Template( frame, "isTitledLink" ); end p.isValidLink = function ( frame ) return Template( frame, "isValidLink" ); end p.isWeblink = function ( frame ) return Template( frame, "isWeblink" ); end p.isWikilink = function ( frame ) return Template( frame, "isWikilink" ); end p.failsafe = function ( frame ) local since = frame.args[ 1 ]; if since then since = mw.text.trim( since ); if since == "" then since = false; end end return WLink.failsafe( since ) or ""; end p.WLink = function () return WLink; end return p; 4xyd3jqsdiw96i7n63edlmcldwdl0cf Module:Date 828 3506 36727 2025-12-15T23:43:41Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Date functions for use by other modules. -- I18N and time zones are not supported. local MINUS = '−' -- Unicode U+2212 MINUS SIGN local floor = math.floor local Date, DateDiff, diffmt -- forward declarations local uniq = { 'unique identifier' } local function is_date(t) -- The system used to make a date read-only means there is no unique -- metatable that is conveniently accessible to check. return type(t) == 'table' and t._id == uniq...' 36727 Scribunto text/plain -- Date functions for use by other modules. -- I18N and time zones are not supported. local MINUS = '−' -- Unicode U+2212 MINUS SIGN local floor = math.floor local Date, DateDiff, diffmt -- forward declarations local uniq = { 'unique identifier' } local function is_date(t) -- The system used to make a date read-only means there is no unique -- metatable that is conveniently accessible to check. return type(t) == 'table' and t._id == uniq end local function is_diff(t) return type(t) == 'table' and getmetatable(t) == diffmt end local function _list_join(list, sep) return table.concat(list, sep) end local function collection() -- Return a table to hold items. return { n = 0, add = function (self, item) self.n = self.n + 1 self[self.n] = item end, join = _list_join, } end local function strip_to_nil(text) -- If text is a string, return its trimmed content, or nil if empty. -- Otherwise return text (convenient when Date fields are provided from -- another module which may pass a string, a number, or another type). if type(text) == 'string' then text = text:match('(%S.-)%s*$') end return text end local function is_leap_year(year, calname) -- Return true if year is a leap year. if calname == 'Julian' then return year % 4 == 0 end return (year % 4 == 0 and year % 100 ~= 0) or year % 400 == 0 end local function days_in_month(year, month, calname) -- Return number of days (1..31) in given month (1..12). if month == 2 and is_leap_year(year, calname) then return 29 end return ({ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 })[month] end local function h_m_s(time) -- Return hour, minute, second extracted from fraction of a day. time = floor(time * 24 * 3600 + 0.5) -- number of seconds local second = time % 60 time = floor(time / 60) return floor(time / 60), time % 60, second end local function hms(date) -- Return fraction of a day from date's time, where (0 <= fraction < 1) -- if the values are valid, but could be anything if outside range. return (date.hour + (date.minute + date.second / 60) / 60) / 24 end local function julian_date(date) -- Return jd, jdz from a Julian or Gregorian calendar date where -- jd = Julian date and its fractional part is zero at noon -- jdz = same, but assume time is 00:00:00 if no time given -- http://www.tondering.dk/claus/cal/julperiod.php#formula -- Testing shows this works for all dates from year -9999 to 9999! -- JDN 0 is the 24-hour period starting at noon UTC on Monday -- 1 January 4713 BC = (-4712, 1, 1) Julian calendar -- 24 November 4714 BC = (-4713, 11, 24) Gregorian calendar local offset local a = floor((14 - date.month)/12) local y = date.year + 4800 - a if date.calendar == 'Julian' then offset = floor(y/4) - 32083 else offset = floor(y/4) - floor(y/100) + floor(y/400) - 32045 end local m = date.month + 12*a - 3 local jd = date.day + floor((153*m + 2)/5) + 365*y + offset if date.hastime then jd = jd + hms(date) - 0.5 return jd, jd end return jd, jd - 0.5 end local function set_date_from_jd(date) -- Set the fields of table date from its Julian date field. -- Return true if date is valid. -- http://www.tondering.dk/claus/cal/julperiod.php#formula -- This handles the proleptic Julian and Gregorian calendars. -- Negative Julian dates are not defined but they work. local calname = date.calendar local low, high -- min/max limits for date ranges −9999-01-01 to 9999-12-31 if calname == 'Gregorian' then low, high = -1930999.5, 5373484.49999 elseif calname == 'Julian' then low, high = -1931076.5, 5373557.49999 else return end local jd = date.jd if not (type(jd) == 'number' and low <= jd and jd <= high) then return end local jdn = floor(jd) if date.hastime then local time = jd - jdn -- 0 <= time < 1 if time >= 0.5 then -- if at or after midnight of next day jdn = jdn + 1 time = time - 0.5 else time = time + 0.5 end date.hour, date.minute, date.second = h_m_s(time) else date.second = 0 date.minute = 0 date.hour = 0 end local b, c if calname == 'Julian' then b = 0 c = jdn + 32082 else -- Gregorian local a = jdn + 32044 b = floor((4*a + 3)/146097) c = a - floor(146097*b/4) end local d = floor((4*c + 3)/1461) local e = c - floor(1461*d/4) local m = floor((5*e + 2)/153) date.day = e - floor((153*m + 2)/5) + 1 date.month = m + 3 - 12*floor(m/10) date.year = 100*b + d - 4800 + floor(m/10) return true end local function fix_numbers(numbers, y, m, d, H, M, S, partial, hastime, calendar) -- Put the result of normalizing the given values in table numbers. -- The result will have valid m, d values if y is valid; caller checks y. -- The logic of PHP mktime is followed where m or d can be zero to mean -- the previous unit, and -1 is the one before that, etc. -- Positive values carry forward. local date if not (1 <= m and m <= 12) then date = Date(y, 1, 1) if not date then return end date = date + ((m - 1) .. 'm') y, m = date.year, date.month end local days_hms if not partial then if hastime and H and M and S then if not (0 <= H and H <= 23 and 0 <= M and M <= 59 and 0 <= S and S <= 59) then days_hms = hms({ hour = H, minute = M, second = S }) end end if days_hms or not (1 <= d and d <= days_in_month(y, m, calendar)) then date = date or Date(y, m, 1) if not date then return end date = date + (d - 1 + (days_hms or 0)) y, m, d = date.year, date.month, date.day if days_hms then H, M, S = date.hour, date.minute, date.second end end end numbers.year = y numbers.month = m numbers.day = d if days_hms then -- Don't set H unless it was valid because a valid H will set hastime. numbers.hour = H numbers.minute = M numbers.second = S end end local function set_date_from_numbers(date, numbers, options) -- Set the fields of table date from numeric values. -- Return true if date is valid. if type(numbers) ~= 'table' then return end local y = numbers.year or date.year local m = numbers.month or date.month local d = numbers.day or date.day local H = numbers.hour local M = numbers.minute or date.minute or 0 local S = numbers.second or date.second or 0 local need_fix if y and m and d then date.partial = nil if not (-9999 <= y and y <= 9999 and 1 <= m and m <= 12 and 1 <= d and d <= days_in_month(y, m, date.calendar)) then if not date.want_fix then return end need_fix = true end elseif y and date.partial then if d or not (-9999 <= y and y <= 9999) then return end if m and not (1 <= m and m <= 12) then if not date.want_fix then return end need_fix = true end else return end if date.partial then H = nil -- ignore any time M = nil S = nil else if H then -- It is not possible to set M or S without also setting H. date.hastime = true else H = 0 end if not (0 <= H and H <= 23 and 0 <= M and M <= 59 and 0 <= S and S <= 59) then if date.want_fix then need_fix = true else return end end end date.want_fix = nil if need_fix then fix_numbers(numbers, y, m, d, H, M, S, date.partial, date.hastime, date.calendar) return set_date_from_numbers(date, numbers, options) end date.year = y -- -9999 to 9999 ('n BC' → year = 1 - n) date.month = m -- 1 to 12 (may be nil if partial) date.day = d -- 1 to 31 (* = nil if partial) date.hour = H -- 0 to 59 (*) date.minute = M -- 0 to 59 (*) date.second = S -- 0 to 59 (*) if type(options) == 'table' then for _, k in ipairs({ 'am', 'era', 'format' }) do if options[k] then date.options[k] = options[k] end end end return true end local function make_option_table(options1, options2) -- If options1 is a string, return a table with its settings, or -- if it is a table, use its settings. -- Missing options are set from table options2 or defaults. -- If a default is used, a flag is set so caller knows the value was not intentionally set. -- Valid option settings are: -- am: 'am', 'a.m.', 'AM', 'A.M.' -- 'pm', 'p.m.', 'PM', 'P.M.' (each has same meaning as corresponding item above) -- era: 'BCMINUS', 'BCNEGATIVE', 'BC', 'B.C.', 'BCE', 'B.C.E.', 'AD', 'A.D.', 'CE', 'C.E.' -- Option am = 'am' does not mean the hour is AM; it means 'am' or 'pm' is used, depending on the hour, -- and am = 'pm' has the same meaning. -- Similarly, era = 'BC' means 'BC' is used if year <= 0. -- BCMINUS displays a MINUS if year < 0 and the display format does not include %{era}. -- BCNEGATIVE is similar but displays a hyphen. local result = { bydefault = {} } if type(options1) == 'table' then result.am = options1.am result.era = options1.era elseif type(options1) == 'string' then -- Example: 'am:AM era:BC' or 'am=AM era=BC'. for item in options1:gmatch('%S+') do local lhs, rhs = item:match('^(%w+)[:=](.+)$') if lhs then result[lhs] = rhs end end end options2 = type(options2) == 'table' and options2 or {} local defaults = { am = 'am', era = 'BC' } for k, v in pairs(defaults) do if not result[k] then if options2[k] then result[k] = options2[k] else result[k] = v result.bydefault[k] = true end end end return result end local ampm_options = { -- lhs = input text accepted as an am/pm option -- rhs = code used internally ['am'] = 'am', ['AM'] = 'AM', ['a.m.'] = 'a.m.', ['A.M.'] = 'A.M.', ['pm'] = 'am', -- same as am ['PM'] = 'AM', ['p.m.'] = 'a.m.', ['P.M.'] = 'A.M.', } local era_text = { -- Text for displaying an era with a positive year (after adjusting -- by replacing year with 1 - year if date.year <= 0). -- options.era = { year<=0 , year>0 } ['BCMINUS'] = { 'BC' , '' , isbc = true, sign = MINUS }, ['BCNEGATIVE'] = { 'BC' , '' , isbc = true, sign = '-' }, ['BC'] = { 'BC' , '' , isbc = true }, ['B.C.'] = { 'B.C.' , '' , isbc = true }, ['BCE'] = { 'BCE' , '' , isbc = true }, ['B.C.E.'] = { 'B.C.E.', '' , isbc = true }, ['AD'] = { 'BC' , 'AD' }, ['A.D.'] = { 'B.C.' , 'A.D.' }, ['CE'] = { 'BCE' , 'CE' }, ['C.E.'] = { 'B.C.E.', 'C.E.' }, } local function get_era_for_year(era, year) return (era_text[era] or era_text['BC'])[year > 0 and 2 or 1] or '' end local function strftime(date, format, options) -- Return date formatted as a string using codes similar to those -- in the C strftime library function. local sformat = string.format local shortcuts = { ['%c'] = '%-I:%M %p %-d %B %-Y %{era}', -- date and time: 2:30 pm 1 April 2016 ['%x'] = '%-d %B %-Y %{era}', -- date: 1 April 2016 ['%X'] = '%-I:%M %p', -- time: 2:30 pm } if shortcuts[format] then format = shortcuts[format] end local codes = { a = { field = 'dayabbr' }, A = { field = 'dayname' }, b = { field = 'monthabbr' }, B = { field = 'monthname' }, u = { fmt = '%d' , field = 'dowiso' }, w = { fmt = '%d' , field = 'dow' }, d = { fmt = '%02d', fmt2 = '%d', field = 'day' }, m = { fmt = '%02d', fmt2 = '%d', field = 'month' }, Y = { fmt = '%04d', fmt2 = '%d', field = 'year' }, H = { fmt = '%02d', fmt2 = '%d', field = 'hour' }, M = { fmt = '%02d', fmt2 = '%d', field = 'minute' }, S = { fmt = '%02d', fmt2 = '%d', field = 'second' }, j = { fmt = '%03d', fmt2 = '%d', field = 'dayofyear' }, I = { fmt = '%02d', fmt2 = '%d', field = 'hour', special = 'hour12' }, p = { field = 'hour', special = 'am' }, } options = make_option_table(options, date.options) local amopt = options.am local eraopt = options.era local function replace_code(spaces, modifier, id) local code = codes[id] if code then local fmt = code.fmt if modifier == '-' and code.fmt2 then fmt = code.fmt2 end local value = date[code.field] if not value then return nil -- an undefined field in a partial date end local special = code.special if special then if special == 'hour12' then value = value % 12 value = value == 0 and 12 or value elseif special == 'am' then local ap = ({ ['a.m.'] = { 'a.m.', 'p.m.' }, ['AM'] = { 'AM', 'PM' }, ['A.M.'] = { 'A.M.', 'P.M.' }, })[ampm_options[amopt]] or { 'am', 'pm' } return (spaces == '' and '' or '&nbsp;') .. (value < 12 and ap[1] or ap[2]) end end if code.field == 'year' then local sign = (era_text[eraopt] or {}).sign if not sign or format:find('%{era}', 1, true) then sign = '' if value <= 0 then value = 1 - value end else if value >= 0 then sign = '' else value = -value end end return spaces .. sign .. sformat(fmt, value) end return spaces .. (fmt and sformat(fmt, value) or value) end end local function replace_property(spaces, id) if id == 'era' then -- Special case so can use local era option. local result = get_era_for_year(eraopt, date.year) if result == '' then return '' end return (spaces == '' and '' or '&nbsp;') .. result end local result = date[id] if type(result) == 'string' then return spaces .. result end if type(result) == 'number' then return spaces .. tostring(result) end if type(result) == 'boolean' then return spaces .. (result and '1' or '0') end -- This occurs if id is an undefined field in a partial date, or is the name of a function. return nil end local PERCENT = '\127PERCENT\127' return (format :gsub('%%%%', PERCENT) :gsub('(%s*)%%{(%w+)}', replace_property) :gsub('(%s*)%%(%-?)(%a)', replace_code) :gsub(PERCENT, '%%') ) end local function _date_text(date, fmt, options) -- Return a formatted string representing the given date. if not is_date(date) then error('date:text: need a date (use "date:text()" with a colon)', 2) end if type(fmt) == 'string' and fmt:match('%S') then if fmt:find('%', 1, true) then return strftime(date, fmt, options) end elseif date.partial then fmt = date.month and 'my' or 'y' else fmt = 'dmy' if date.hastime then fmt = (date.second > 0 and 'hms ' or 'hm ') .. fmt end end local function bad_format() -- For consistency with other format processing, return given format -- (or cleaned format if original was not a string) if invalid. return mw.text.nowiki(fmt) end if date.partial then -- Ignore days in standard formats like 'ymd'. if fmt == 'ym' or fmt == 'ymd' then fmt = date.month and '%Y-%m %{era}' or '%Y %{era}' elseif fmt == 'my' or fmt == 'dmy' or fmt == 'mdy' then fmt = date.month and '%B %-Y %{era}' or '%-Y %{era}' elseif fmt == 'y' then fmt = date.month and '%-Y %{era}' or '%-Y %{era}' else return bad_format() end return strftime(date, fmt, options) end local function hm_fmt() local plain = make_option_table(options, date.options).bydefault.am return plain and '%H:%M' or '%-I:%M %p' end local need_time = date.hastime local t = collection() for item in fmt:gmatch('%S+') do local f if item == 'hm' then f = hm_fmt() need_time = false elseif item == 'hms' then f = '%H:%M:%S' need_time = false elseif item == 'ymd' then f = '%Y-%m-%d %{era}' elseif item == 'mdy' then f = '%B %-d, %-Y %{era}' elseif item == 'dmy' then f = '%-d %B %-Y %{era}' else return bad_format() end t:add(f) end fmt = t:join(' ') if need_time then fmt = hm_fmt() .. ' ' .. fmt end return strftime(date, fmt, options) end local day_info = { -- 0=Sun to 6=Sat [0] = { 'Sun', 'Sunday' }, { 'Mon', 'Monday' }, { 'Tue', 'Tuesday' }, { 'Wed', 'Wednesday' }, { 'Thu', 'Thursday' }, { 'Fri', 'Friday' }, { 'Sat', 'Saturday' }, } local month_info = { -- 1=Jan to 12=Dec { 'Jan', 'January' }, { 'Feb', 'February' }, { 'Mar', 'March' }, { 'Apr', 'April' }, { 'May', 'May' }, { 'Jun', 'June' }, { 'Jul', 'July' }, { 'Aug', 'August' }, { 'Sep', 'September' }, { 'Oct', 'October' }, { 'Nov', 'November' }, { 'Dec', 'December' }, } local function name_to_number(text, translate) if type(text) == 'string' then return translate[text:lower()] end end local function day_number(text) return name_to_number(text, { sun = 0, sunday = 0, mon = 1, monday = 1, tue = 2, tuesday = 2, wed = 3, wednesday = 3, thu = 4, thursday = 4, fri = 5, friday = 5, sat = 6, saturday = 6, }) end local function month_number(text) return name_to_number(text, { jan = 1, january = 1, feb = 2, february = 2, mar = 3, march = 3, apr = 4, april = 4, may = 5, jun = 6, june = 6, jul = 7, july = 7, aug = 8, august = 8, sep = 9, september = 9, sept = 9, oct = 10, october = 10, nov = 11, november = 11, dec = 12, december = 12, }) end local function _list_text(list, fmt) -- Return a list of formatted strings from a list of dates. if not type(list) == 'table' then error('date:list:text: need "list:text()" with a colon', 2) end local result = { join = _list_join } for i, date in ipairs(list) do result[i] = date:text(fmt) end return result end local function _date_list(date, spec) -- Return a possibly empty numbered table of dates meeting the specification. -- Dates in the list are in ascending order (oldest date first). -- The spec should be a string of form "<count> <day> <op>" -- where each item is optional and -- count = number of items wanted in list -- day = abbreviation or name such as Mon or Monday -- op = >, >=, <, <= (default is > meaning after date) -- If no count is given, the list is for the specified days in date's month. -- The default day is date's day. -- The spec can also be a positive or negative number: -- -5 is equivalent to '5 <' -- 5 is equivalent to '5' which is '5 >' if not is_date(date) then error('date:list: need a date (use "date:list()" with a colon)', 2) end local list = { text = _list_text } if date.partial then return list end local count, offset, operation local ops = { ['>='] = { before = false, include = true }, ['>'] = { before = false, include = false }, ['<='] = { before = true , include = true }, ['<'] = { before = true , include = false }, } if spec then if type(spec) == 'number' then count = floor(spec + 0.5) if count < 0 then count = -count operation = ops['<'] end elseif type(spec) == 'string' then local num, day, op = spec:match('^%s*(%d*)%s*(%a*)%s*([<>=]*)%s*$') if not num then return list end if num ~= '' then count = tonumber(num) end if day ~= '' then local dow = day_number(day:gsub('[sS]$', '')) -- accept plural days if not dow then return list end offset = dow - date.dow end operation = ops[op] else return list end end offset = offset or 0 operation = operation or ops['>'] local datefrom, dayfirst, daylast if operation.before then if offset > 0 or (offset == 0 and not operation.include) then offset = offset - 7 end if count then if count > 1 then offset = offset - 7*(count - 1) end datefrom = date + offset else daylast = date.day + offset dayfirst = daylast % 7 if dayfirst == 0 then dayfirst = 7 end end else if offset < 0 or (offset == 0 and not operation.include) then offset = offset + 7 end if count then datefrom = date + offset else dayfirst = date.day + offset daylast = date.monthdays end end if not count then if daylast < dayfirst then return list end count = floor((daylast - dayfirst)/7) + 1 datefrom = Date(date, {day = dayfirst}) end for i = 1, count do if not datefrom then break end -- exceeds date limits list[i] = datefrom datefrom = datefrom + 7 end return list end -- A table to get the current date/time (UTC), but only if needed. local current = setmetatable({}, { __index = function (self, key) local d = os.date('!*t') self.year = d.year self.month = d.month self.day = d.day self.hour = d.hour self.minute = d.min self.second = d.sec return rawget(self, key) end }) local function extract_date(newdate, text) -- Parse the date/time in text and return n, o where -- n = table of numbers with date/time fields -- o = table of options for AM/PM or AD/BC or format, if any -- or return nothing if date is known to be invalid. -- Caller determines if the values in n are valid. -- A year must be positive ('1' to '9999'); use 'BC' for BC. -- In a y-m-d string, the year must be four digits to avoid ambiguity -- ('0001' to '9999'). The only way to enter year <= 0 is by specifying -- the date as three numeric parameters like ymd Date(-1, 1, 1). -- Dates of form d/m/y, m/d/y, y/m/d are rejected as potentially ambiguous. local date, options = {}, {} if text:sub(-1) == 'Z' then -- Extract date/time from a Wikidata timestamp. -- The year can be 1 to 16 digits but this module handles 1 to 4 digits only. -- Examples: '+2016-06-21T14:30:00Z', '-0000000180-00-00T00:00:00Z'. local sign, y, m, d, H, M, S = text:match('^([+%-])(%d+)%-(%d%d)%-(%d%d)T(%d%d):(%d%d):(%d%d)Z$') if sign then y = tonumber(y) if sign == '-' and y > 0 then y = -y end if y <= 0 then options.era = 'BCE' end date.year = y m = tonumber(m) d = tonumber(d) H = tonumber(H) M = tonumber(M) S = tonumber(S) if m == 0 then newdate.partial = true return date, options end date.month = m if d == 0 then newdate.partial = true return date, options end date.day = d if H > 0 or M > 0 or S > 0 then date.hour = H date.minute = M date.second = S end return date, options end return end local function extract_ymd(item) -- Called when no day or month has been set. local y, m, d = item:match('^(%d%d%d%d)%-(%w+)%-(%d%d?)$') if y then if date.year then return end if m:match('^%d%d?$') then m = tonumber(m) else m = month_number(m) end if m then date.year = tonumber(y) date.month = m date.day = tonumber(d) return true end end end local function extract_day_or_year(item) -- Called when a day would be valid, or -- when a year would be valid if no year has been set and partial is set. local number, suffix = item:match('^(%d%d?%d?%d?)(.*)$') if number then local n = tonumber(number) if #number <= 2 and n <= 31 then suffix = suffix:lower() if suffix == '' or suffix == 'st' or suffix == 'nd' or suffix == 'rd' or suffix == 'th' then date.day = n return true end elseif suffix == '' and newdate.partial and not date.year then date.year = n return true end end end local function extract_month(item) -- A month must be given as a name or abbreviation; a number could be ambiguous. local m = month_number(item) if m then date.month = m return true end end local function extract_time(item) local h, m, s = item:match('^(%d%d?):(%d%d)(:?%d*)$') if date.hour or not h then return end if s ~= '' then s = s:match('^:(%d%d)$') if not s then return end end date.hour = tonumber(h) date.minute = tonumber(m) date.second = tonumber(s) -- nil if empty string return true end local item_count = 0 local index_time local function set_ampm(item) local H = date.hour if H and not options.am and index_time + 1 == item_count then options.am = ampm_options[item] -- caller checked this is not nil if item:match('^[Aa]') then if not (1 <= H and H <= 12) then return end if H == 12 then date.hour = 0 end else if not (1 <= H and H <= 23) then return end if H <= 11 then date.hour = H + 12 end end return true end end for item in text:gsub(',', ' '):gsub('&nbsp;', ' '):gmatch('%S+') do item_count = item_count + 1 if era_text[item] then -- Era is accepted in peculiar places. if options.era then return end options.era = item elseif ampm_options[item] then if not set_ampm(item) then return end elseif item:find(':', 1, true) then if not extract_time(item) then return end index_time = item_count elseif date.day and date.month then if date.year then return -- should be nothing more so item is invalid end if not item:match('^(%d%d?%d?%d?)$') then return end date.year = tonumber(item) elseif date.day then if not extract_month(item) then return end elseif date.month then if not extract_day_or_year(item) then return end elseif extract_month(item) then options.format = 'mdy' elseif extract_ymd(item) then options.format = 'ymd' elseif extract_day_or_year(item) then if date.day then options.format = 'dmy' end else return end end if not date.year or date.year == 0 then return end local era = era_text[options.era] if era and era.isbc then date.year = 1 - date.year end return date, options end local function autofill(date1, date2) -- Fill any missing month or day in each date using the -- corresponding component from the other date, if present, -- or with 1 if both dates are missing the month or day. -- This gives a good result for calculating the difference -- between two partial dates when no range is wanted. -- Return filled date1, date2 (two full dates). local function filled(a, b) local fillmonth, fillday if not a.month then fillmonth = b.month or 1 end if not a.day then fillday = b.day or 1 end if fillmonth or fillday then -- need to create a new date if (fillmonth or a.month) == 2 and (fillday or a.day) == 29 then -- Avoid invalid date, for example with {{age|2013|29 Feb 2016}} or {{age|Feb 2013|29 Jan 2015}}. if not is_leap_year(a.year, a.calendar) then fillday = 28 end end a = Date(a, { month = fillmonth, day = fillday }) end return a end return filled(date1, date2), filled(date2, date1) end local function date_add_sub(lhs, rhs, is_sub) -- Return a new date from calculating (lhs + rhs) or (lhs - rhs), -- or return nothing if invalid. -- The result is nil if the calculated date exceeds allowable limits. -- Caller ensures that lhs is a date; its properties are copied for the new date. if lhs.partial then -- Adding to a partial is not supported. -- Can subtract a date or partial from a partial, but this is not called for that. return end local function is_prefix(text, word, minlen) local n = #text return (minlen or 1) <= n and n <= #word and text == word:sub(1, n) end local function do_days(n) local forcetime, jd if floor(n) == n then jd = lhs.jd else forcetime = not lhs.hastime jd = lhs.jdz end jd = jd + (is_sub and -n or n) if forcetime then jd = tostring(jd) if not jd:find('.', 1, true) then jd = jd .. '.0' end end return Date(lhs, 'juliandate', jd) end if type(rhs) == 'number' then -- Add/subtract days, including fractional days. return do_days(rhs) end if type(rhs) == 'string' then -- rhs is a single component like '26m' or '26 months' (with optional sign). -- Fractions like '3.25d' are accepted for the units which are handled as days. local sign, numstr, id = rhs:match('^%s*([+-]?)([%d%.]+)%s*(%a+)$') if sign then if sign == '-' then is_sub = not (is_sub and true or false) end local y, m, days local num = tonumber(numstr) if not num then return end id = id:lower() if is_prefix(id, 'years') then y = num m = 0 elseif is_prefix(id, 'months') then y = floor(num / 12) m = num % 12 elseif is_prefix(id, 'weeks') then days = num * 7 elseif is_prefix(id, 'days') then days = num elseif is_prefix(id, 'hours') then days = num / 24 elseif is_prefix(id, 'minutes', 3) then days = num / (24 * 60) elseif is_prefix(id, 'seconds') then days = num / (24 * 3600) else return end if days then return do_days(days) end if numstr:find('.', 1, true) then return end if is_sub then y = -y m = -m end assert(-11 <= m and m <= 11) y = lhs.year + y m = lhs.month + m if m > 12 then y = y + 1 m = m - 12 elseif m < 1 then y = y - 1 m = m + 12 end local d = math.min(lhs.day, days_in_month(y, m, lhs.calendar)) return Date(lhs, y, m, d) end end if is_diff(rhs) then local days = rhs.age_days if (is_sub or false) ~= (rhs.isnegative or false) then days = -days end return lhs + days end end local full_date_only = { dayabbr = true, dayname = true, dow = true, dayofweek = true, dowiso = true, dayofweekiso = true, dayofyear = true, gsd = true, juliandate = true, jd = true, jdz = true, jdnoon = true, } -- Metatable for a date's calculated fields. local datemt = { __index = function (self, key) if rawget(self, 'partial') then if full_date_only[key] then return end if key == 'monthabbr' or key == 'monthdays' or key == 'monthname' then if not self.month then return end end end local value if key == 'dayabbr' then value = day_info[self.dow][1] elseif key == 'dayname' then value = day_info[self.dow][2] elseif key == 'dow' then value = (self.jdnoon + 1) % 7 -- day-of-week 0=Sun to 6=Sat elseif key == 'dayofweek' then value = self.dow elseif key == 'dowiso' then value = (self.jdnoon % 7) + 1 -- ISO day-of-week 1=Mon to 7=Sun elseif key == 'dayofweekiso' then value = self.dowiso elseif key == 'dayofyear' then local first = Date(self.year, 1, 1, self.calendar).jdnoon value = self.jdnoon - first + 1 -- day-of-year 1 to 366 elseif key == 'era' then -- Era text (never a negative sign) from year and options. value = get_era_for_year(self.options.era, self.year) elseif key == 'format' then value = self.options.format or 'dmy' elseif key == 'gsd' then -- GSD = 1 from 00:00:00 to 23:59:59 on 1 January 1 AD Gregorian calendar, -- which is from jd 1721425.5 to 1721426.49999. value = floor(self.jd - 1721424.5) elseif key == 'juliandate' or key == 'jd' or key == 'jdz' then local jd, jdz = julian_date(self) rawset(self, 'juliandate', jd) rawset(self, 'jd', jd) rawset(self, 'jdz', jdz) return key == 'jdz' and jdz or jd elseif key == 'jdnoon' then -- Julian date at noon (an integer) on the calendar day when jd occurs. value = floor(self.jd + 0.5) elseif key == 'isleapyear' then value = is_leap_year(self.year, self.calendar) elseif key == 'monthabbr' then value = month_info[self.month][1] elseif key == 'monthdays' then value = days_in_month(self.year, self.month, self.calendar) elseif key == 'monthname' then value = month_info[self.month][2] end if value ~= nil then rawset(self, key, value) return value end end, } -- Date operators. local function mt_date_add(lhs, rhs) if not is_date(lhs) then lhs, rhs = rhs, lhs -- put date on left (it must be a date for this to have been called) end return date_add_sub(lhs, rhs) end local function mt_date_sub(lhs, rhs) if is_date(lhs) then if is_date(rhs) then return DateDiff(lhs, rhs) end return date_add_sub(lhs, rhs, true) end end local function mt_date_concat(lhs, rhs) return tostring(lhs) .. tostring(rhs) end local function mt_date_tostring(self) return self:text() end local function mt_date_eq(lhs, rhs) -- Return true if dates identify same date/time where, for example, -- Date(-4712, 1, 1, 'Julian') == Date(-4713, 11, 24, 'Gregorian') is true. -- This is called only if lhs and rhs have the same type and the same metamethod. if lhs.partial or rhs.partial then -- One date is partial; the other is a partial or a full date. -- The months may both be nil, but must be the same. return lhs.year == rhs.year and lhs.month == rhs.month and lhs.calendar == rhs.calendar end return lhs.jdz == rhs.jdz end local function mt_date_lt(lhs, rhs) -- Return true if lhs < rhs, for example, -- Date('1 Jan 2016') < Date('06:00 1 Jan 2016') is true. -- This is called only if lhs and rhs have the same type and the same metamethod. if lhs.partial or rhs.partial then -- One date is partial; the other is a partial or a full date. if lhs.calendar ~= rhs.calendar then return lhs.calendar == 'Julian' end if lhs.partial then lhs = lhs.partial.first end if rhs.partial then rhs = rhs.partial.first end end return lhs.jdz < rhs.jdz end --[[ Examples of syntax to construct a date: Date(y, m, d, 'julian') default calendar is 'gregorian' Date(y, m, d, H, M, S, 'julian') Date('juliandate', jd, 'julian') if jd contains "." text output includes H:M:S Date('currentdate') Date('currentdatetime') Date('1 April 1995', 'julian') parse date from text Date('1 April 1995 AD', 'julian') using an era sets a flag to do the same for output Date('04:30:59 1 April 1995', 'julian') Date(date) copy of an existing date Date(date, t) same, updated with y,m,d,H,M,S fields from table t Date(t) date with y,m,d,H,M,S fields from table t ]] function Date(...) -- for forward declaration above -- Return a table holding a date assuming a uniform calendar always applies -- (proleptic Gregorian calendar or proleptic Julian calendar), or -- return nothing if date is invalid. -- A partial date has a valid year, however its month may be nil, and -- its day and time fields are nil. -- Field partial is set to false (if a full date) or a table (if a partial date). local calendars = { julian = 'Julian', gregorian = 'Gregorian' } local newdate = { _id = uniq, calendar = 'Gregorian', -- default is Gregorian calendar hastime = false, -- true if input sets a time hour = 0, -- always set hour/minute/second so don't have to handle nil minute = 0, second = 0, options = {}, list = _date_list, subtract = function (self, rhs, options) return DateDiff(self, rhs, options) end, text = _date_text, } local argtype, datetext, is_copy, jd_number, tnums local numindex = 0 local numfields = { 'year', 'month', 'day', 'hour', 'minute', 'second' } local numbers = {} for _, v in ipairs({...}) do v = strip_to_nil(v) local vlower = type(v) == 'string' and v:lower() or nil if v == nil then -- Ignore empty arguments after stripping so modules can directly pass template parameters. elseif calendars[vlower] then newdate.calendar = calendars[vlower] elseif vlower == 'partial' then newdate.partial = true elseif vlower == 'fix' then newdate.want_fix = true elseif is_date(v) then -- Copy existing date (items can be overridden by other arguments). if is_copy or tnums then return end is_copy = true newdate.calendar = v.calendar newdate.partial = v.partial newdate.hastime = v.hastime newdate.options = v.options newdate.year = v.year newdate.month = v.month newdate.day = v.day newdate.hour = v.hour newdate.minute = v.minute newdate.second = v.second elseif type(v) == 'table' then if tnums then return end tnums = {} local tfields = { year=1, month=1, day=1, hour=2, minute=2, second=2 } for tk, tv in pairs(v) do if tfields[tk] then tnums[tk] = tonumber(tv) end if tfields[tk] == 2 then newdate.hastime = true end end else local num = tonumber(v) if not num and argtype == 'setdate' and numindex == 1 then num = month_number(v) end if num then if not argtype then argtype = 'setdate' end if argtype == 'setdate' and numindex < 6 then numindex = numindex + 1 numbers[numfields[numindex]] = num elseif argtype == 'juliandate' and not jd_number then jd_number = num if type(v) == 'string' then if v:find('.', 1, true) then newdate.hastime = true end elseif num ~= floor(num) then -- The given value was a number. The time will be used -- if the fractional part is nonzero. newdate.hastime = true end else return end elseif argtype then return elseif type(v) == 'string' then if v == 'currentdate' or v == 'currentdatetime' or v == 'juliandate' then argtype = v else argtype = 'datetext' datetext = v end else return end end end if argtype == 'datetext' then if tnums or not set_date_from_numbers(newdate, extract_date(newdate, datetext)) then return end elseif argtype == 'juliandate' then newdate.partial = nil newdate.jd = jd_number if not set_date_from_jd(newdate) then return end elseif argtype == 'currentdate' or argtype == 'currentdatetime' then newdate.partial = nil newdate.year = current.year newdate.month = current.month newdate.day = current.day if argtype == 'currentdatetime' then newdate.hour = current.hour newdate.minute = current.minute newdate.second = current.second newdate.hastime = true end newdate.calendar = 'Gregorian' -- ignore any given calendar name elseif argtype == 'setdate' then if tnums or not set_date_from_numbers(newdate, numbers) then return end elseif not (is_copy or tnums) then return end if tnums then newdate.jd = nil -- force recalculation in case jd was set before changes from tnums if not set_date_from_numbers(newdate, tnums) then return end end if newdate.partial then local year = newdate.year local month = newdate.month local first = Date(year, month or 1, 1, newdate.calendar) month = month or 12 local last = Date(year, month, days_in_month(year, month), newdate.calendar) newdate.partial = { first = first, last = last } else newdate.partial = false -- avoid index lookup end setmetatable(newdate, datemt) local readonly = {} local mt = { __index = newdate, __newindex = function(t, k, v) error('date.' .. tostring(k) .. ' is read-only', 2) end, __add = mt_date_add, __sub = mt_date_sub, __concat = mt_date_concat, __tostring = mt_date_tostring, __eq = mt_date_eq, __lt = mt_date_lt, } return setmetatable(readonly, mt) end local function _diff_age(diff, code, options) -- Return a tuple of integer values from diff as specified by code, except that -- each integer may be a list of two integers for a diff with a partial date, or -- return nil if the code is not supported. -- If want round, the least significant unit is rounded to nearest whole unit. -- For a duration, an extra day is added. local wantround, wantduration, wantrange if type(options) == 'table' then wantround = options.round wantduration = options.duration wantrange = options.range else wantround = options end if not is_diff(diff) then local f = wantduration and 'duration' or 'age' error(f .. ': need a date difference (use "diff:' .. f .. '()" with a colon)', 2) end if diff.partial then -- Ignore wantround, wantduration. local function choose(v) if type(v) == 'table' then if not wantrange or v[1] == v[2] then -- Example: Date('partial', 2005) - Date('partial', 2001) gives -- diff.years = { 3, 4 } to show the range of possible results. -- If do not want a range, choose the second value as more expected. return v[2] end end return v end if code == 'ym' or code == 'ymd' then if not wantrange and diff.iszero then -- This avoids an unexpected result such as -- Date('partial', 2001) - Date('partial', 2001) -- giving diff = { years = 0, months = { 0, 11 } } -- which would be reported as 0 years and 11 months. return 0, 0 end return choose(diff.partial.years), choose(diff.partial.months) end if code == 'y' then return choose(diff.partial.years) end if code == 'm' or code == 'w' or code == 'd' then return choose({ diff.partial.mindiff:age(code), diff.partial.maxdiff:age(code) }) end return nil end local extra_days = wantduration and 1 or 0 if code == 'wd' or code == 'w' or code == 'd' then local offset = wantround and 0.5 or 0 local days = diff.age_days + extra_days if code == 'wd' or code == 'd' then days = floor(days + offset) if code == 'd' then return days end return floor(days/7), days % 7 end return floor(days/7 + offset) end local H, M, S = diff.hours, diff.minutes, diff.seconds if code == 'dh' or code == 'dhm' or code == 'dhms' or code == 'h' or code == 'hm' or code == 'hms' then local days = floor(diff.age_days + extra_days) local inc_hour if wantround then if code == 'dh' or code == 'h' then if M >= 30 then inc_hour = true end elseif code == 'dhm' or code == 'hm' then if S >= 30 then M = M + 1 if M >= 60 then M = 0 inc_hour = true end end else -- Nothing needed because S is an integer. end if inc_hour then H = H + 1 if H >= 24 then H = 0 days = days + 1 end end end if code == 'dh' or code == 'dhm' or code == 'dhms' then if code == 'dh' then return days, H elseif code == 'dhm' then return days, H, M else return days, H, M, S end end local hours = days * 24 + H if code == 'h' then return hours elseif code == 'hm' then return hours, M end return hours, M, S end if wantround then local inc_hour if code == 'ymdh' or code == 'ymwdh' then if M >= 30 then inc_hour = true end elseif code == 'ymdhm' or code == 'ymwdhm' then if S >= 30 then M = M + 1 if M >= 60 then M = 0 inc_hour = true end end elseif code == 'ymd' or code == 'ymwd' or code == 'yd' or code == 'md' then if H >= 12 then extra_days = extra_days + 1 end end if inc_hour then H = H + 1 if H >= 24 then H = 0 extra_days = extra_days + 1 end end end local y, m, d = diff.years, diff.months, diff.days if extra_days > 0 then d = d + extra_days if d > 28 or code == 'yd' then -- Recalculate in case have passed a month. diff = diff.date1 + extra_days - diff.date2 y, m, d = diff.years, diff.months, diff.days end end if code == 'ymd' then return y, m, d elseif code == 'yd' then if y > 0 then -- It is known that diff.date1 > diff.date2. diff = diff.date1 - (diff.date2 + (y .. 'y')) end return y, floor(diff.age_days) elseif code == 'md' then return y * 12 + m, d elseif code == 'ym' or code == 'm' then if wantround then if d >= 16 then m = m + 1 if m >= 12 then m = 0 y = y + 1 end end end if code == 'ym' then return y, m end return y * 12 + m elseif code == 'ymw' then local weeks = floor(d/7) if wantround then local days = d % 7 if days > 3 or (days == 3 and H >= 12) then weeks = weeks + 1 end end return y, m, weeks elseif code == 'ymwd' then return y, m, floor(d/7), d % 7 elseif code == 'ymdh' then return y, m, d, H elseif code == 'ymwdh' then return y, m, floor(d/7), d % 7, H elseif code == 'ymdhm' then return y, m, d, H, M elseif code == 'ymwdhm' then return y, m, floor(d/7), d % 7, H, M end if code == 'y' then if wantround and m >= 6 then y = y + 1 end return y end return nil end local function _diff_duration(diff, code, options) if type(options) ~= 'table' then options = { round = options } end options.duration = true return _diff_age(diff, code, options) end -- Metatable for some operations on date differences. diffmt = { -- for forward declaration above __concat = function (lhs, rhs) return tostring(lhs) .. tostring(rhs) end, __tostring = function (self) return tostring(self.age_days) end, __index = function (self, key) local value if key == 'age_days' then if rawget(self, 'partial') then local function jdz(date) return (date.partial and date.partial.first or date).jdz end value = jdz(self.date1) - jdz(self.date2) else value = self.date1.jdz - self.date2.jdz end end if value ~= nil then rawset(self, key, value) return value end end, } function DateDiff(date1, date2, options) -- for forward declaration above -- Return a table with the difference between two dates (date1 - date2). -- The difference is negative if date1 is older than date2. -- Return nothing if invalid. -- If d = date1 - date2 then -- date1 = date2 + d -- If date1 >= date2 and the dates have no H:M:S time specified then -- date1 = date2 + (d.years..'y') + (d.months..'m') + d.days -- where the larger time units are added first. -- The result of Date(2015,1,x) + '1m' is Date(2015,2,28) for -- x = 28, 29, 30, 31. That means, for example, -- d = Date(2015,3,3) - Date(2015,1,31) -- gives d.years, d.months, d.days = 0, 1, 3 (excluding date1). if not (is_date(date1) and is_date(date2) and date1.calendar == date2.calendar) then return end local wantfill if type(options) == 'table' then wantfill = options.fill end local isnegative = false local iszero = false if date1 < date2 then isnegative = true date1, date2 = date2, date1 elseif date1 == date2 then iszero = true end -- It is known that date1 >= date2 (period is from date2 to date1). if date1.partial or date2.partial then -- Two partial dates might have timelines: ---------------------A=================B--- date1 is from A to B inclusive --------C=======D-------------------------- date2 is from C to D inclusive -- date1 > date2 iff A > C (date1.partial.first > date2.partial.first) -- The periods can overlap ('April 2001' - '2001'): -------------A===B------------------------- A=2001-04-01 B=2001-04-30 --------C=====================D------------ C=2001-01-01 D=2001-12-31 if wantfill then date1, date2 = autofill(date1, date2) else local function zdiff(date1, date2) local diff = date1 - date2 if diff.isnegative then return date1 - date1 -- a valid diff in case we call its methods end return diff end local function getdate(date, which) return date.partial and date.partial[which] or date end local maxdiff = zdiff(getdate(date1, 'last'), getdate(date2, 'first')) local mindiff = zdiff(getdate(date1, 'first'), getdate(date2, 'last')) local years, months if maxdiff.years == mindiff.years then years = maxdiff.years if maxdiff.months == mindiff.months then months = maxdiff.months else months = { mindiff.months, maxdiff.months } end else years = { mindiff.years, maxdiff.years } end return setmetatable({ date1 = date1, date2 = date2, partial = { years = years, months = months, maxdiff = maxdiff, mindiff = mindiff, }, isnegative = isnegative, iszero = iszero, age = _diff_age, duration = _diff_duration, }, diffmt) end end local y1, m1 = date1.year, date1.month local y2, m2 = date2.year, date2.month local years = y1 - y2 local months = m1 - m2 local d1 = date1.day + hms(date1) local d2 = date2.day + hms(date2) local days, time if d1 >= d2 then days = d1 - d2 else months = months - 1 -- Get days in previous month (before the "to" date) given December has 31 days. local dpm = m1 > 1 and days_in_month(y1, m1 - 1, date1.calendar) or 31 if d2 >= dpm then days = d1 - hms(date2) else days = dpm - d2 + d1 end end if months < 0 then years = years - 1 months = months + 12 end days, time = math.modf(days) local H, M, S = h_m_s(time) return setmetatable({ date1 = date1, date2 = date2, partial = false, -- avoid index lookup years = years, months = months, days = days, hours = H, minutes = M, seconds = S, isnegative = isnegative, iszero = iszero, age = _diff_age, duration = _diff_duration, }, diffmt) end return { _current = current, _Date = Date, _days_in_month = days_in_month, } l9afwtlrbun48614hnx9n633ci3101z Πρότυπον:Πλαίσιον πληροφοριών 10 3507 36728 2025-12-15T23:48:31Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#invoke:Infobox|infobox}}<noinclude> {{Τεκμηρίωση προτύπου}} </noinclude>' 36728 wikitext text/x-wiki {{#invoke:Infobox|infobox}}<noinclude> {{Τεκμηρίωση προτύπου}} </noinclude> 14mqywm5a2ekcggpbg9hspkvzw0w6us Πρότυπο:Shortcut/styles.css 0 3508 36730 36729 2025-12-15T23:50:55Z Εὐθυμένης 2777 36730 wikitext text/x-wiki {{delete|by mistake}} .module-shortcutboxplain { float: right; margin: 0 0 0 1em; border: 1px solid var(--border-color-base); background: var(--background-color-interactive); padding: 0.3em 0.6em 0.2em 0.6em; text-align: center; font-size: 85%; } .module-shortcutboxleft { float: left; margin: 0 1em 0 0; } .module-shortcutlist { display: inline-block; border-bottom: 1px solid #aaa; margin-bottom: 0.2em; } .module-shortcutboxplain > ul { font-weight: bold; } .module-shortcutanchordiv { position: relative; top: -3em; } li .module-shortcutanchordiv { float: right; /* IE/Edge in list items */ } .mbox-imageright .module-shortcutboxplain { padding: 0.4em 1em 0.4em 1em; line-height: 1.3; margin: 0; } 1b3evuyky2ua1jhyra67bdpnfwo0pr0 Πρότυπον:Συντόμευσον 10 3509 36732 36731 2025-12-15T23:53:31Z Εὐθυμένης 2777 Ο Εὐθυμένης μετακίνησε τη σελίδα [[Πρότυπον:Shortcut]] στην [[Πρότυπον:Συντόμευσον]] 36731 wikitext text/x-wiki <includeonly>{{#invoke:Shortcut|main}}</includeonly><noinclude> {{Documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> fa1ozc4hw96tsqw03qm0nxfwxuwl7wj Πρότυπον:Shortcut 10 3510 36733 2025-12-15T23:53:31Z Εὐθυμένης 2777 Ο Εὐθυμένης μετακίνησε τη σελίδα [[Πρότυπον:Shortcut]] στην [[Πρότυπον:Συντόμευσον]] 36733 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Πρότυπον:Συντόμευσον]] j8zvh43nq4mampp9cr582dad05bckkt Κατηγορίαν:Πολιτείας τη Γαλλίας 14 3511 36903 2025-12-16T10:24:48Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '[[Κατηγορίαν:Πολιτείας|Γαλλια]] [[Κατηγορίαν:Γαλλία]]' 36903 wikitext text/x-wiki [[Κατηγορίαν:Πολιτείας|Γαλλια]] [[Κατηγορίαν:Γαλλία]] a801fuwfc2il8ins3smj1bc4fabnieu Πρότυπον:It 10 3512 36929 36911 2025-12-16T12:25:21Z Εὐθυμένης 2777 36929 wikitext text/x-wiki {{γλώσσα2|Ιταλικά|ιταλικήν τη λαλίαν}}<noinclude> [[Κατηγορίαν:Πρότυπα γλωσσών κειμένων|Ιταλικα]] <!--interwiki--> </noinclude> ro3vw6qtmirsoy9jmbdgypdpv7v48cg Πρότυπον:Ja 10 3513 36927 36912 2025-12-16T12:23:08Z Εὐθυμένης 2777 36927 wikitext text/x-wiki {{γλώσσα2|Ιαπωνικά|ιαπωνικήν τη λαλίαν}}<noinclude> [[Κατηγορίαν:Πρότυπα γλωσσών κειμένων|Ιαπωνικα]] <!--interwiki--> </noinclude> nut4214j0vusqariiv7opzmz9gqzz4f Πρότυπον:De 10 3514 36925 36913 2025-12-16T12:21:54Z Εὐθυμένης 2777 36925 wikitext text/x-wiki {{γλώσσα2|Γερμανικά|γερμανικήν τη λαλίαν}}<noinclude> [[Κατηγορίαν:Πρότυπα γλωσσών κειμένων|Γερμανικα]] <!--interwiki--> </noinclude> 3y8pns9m0upigdg2i6x9hp76ggc9p8s Πρότυπον:Pt 10 3515 36931 36914 2025-12-16T12:25:46Z Εὐθυμένης 2777 36931 wikitext text/x-wiki {{γλώσσα2|Πορτογαλικά|πορτογαλικήν τη λαλίαν}}<noinclude> [[Κατηγορίαν:Πρότυπα γλωσσών κειμένων|Πορτογαλικα]] <!--interwiki--> </noinclude> 7sxdwpn8dt3b60zs930u2e2qdorhd4g Πρότυπον:Es 10 3516 36928 36915 2025-12-16T12:23:52Z Εὐθυμένης 2777 36928 wikitext text/x-wiki {{γλώσσα2|Ισπανικά|ισπανικήν τη λαλίαν}}<noinclude> [[Κατηγορίαν:Πρότυπα γλωσσών κειμένων|Ισπανικα]] <!--interwiki--> </noinclude> 0e0u4i2kqo63idv5houz00jxpebxo90 Πρότυπον:Uk 10 3517 36930 36916 2025-12-16T12:25:34Z Εὐθυμένης 2777 36930 wikitext text/x-wiki {{γλώσσα2|Ουκρανικά|ουκρανικήν τη λαλίαν}}<noinclude> [[Κατηγορίαν:Πρότυπα γλωσσών κειμένων|Ουκρανικα]] <!--interwiki--> </noinclude> t4qzfjns21mt3w8zw4835oezdie1dpf Πρότυπον:Ru 10 3518 36936 36934 2025-12-16T12:31:32Z Εὐθυμένης 2777 36936 wikitext text/x-wiki {{γλώσσα2|Ρούσικα|ρούσικην τη λαλίαν}}<noinclude> [[Κατηγορίαν:Πρότυπα γλωσσών κειμένων|Ρουσικα]] <!--interwiki--> </noinclude> qk3vaa6l60h1uaiaog7n46ww9dqmmkz Πρότυπον:Bg 10 3519 36922 36921 2025-12-16T12:16:13Z Εὐθυμένης 2777 36922 wikitext text/x-wiki {{γλώσσα2|Βουλγάρ'κα|βουλγάρ'κα τη λαλίαν}}<noinclude> [[Κατηγορίαν:Πρότυπα γλωσσών κειμένων|Βουλγαρκα]] <!--interwiki--> </noinclude> og5rgdc7dyufz6dtijg21i2tjyvzzkz Πρότυπον:En 10 3520 36923 36919 2025-12-16T12:17:57Z Εὐθυμένης 2777 36923 wikitext text/x-wiki {{γλώσσα2|Εγγλέζικα|εγγλέζικα τη λαλίαν}}<noinclude> [[Κατηγορίαν:Πρότυπα γλωσσών κειμένων|Εγγλεζικα]] <!--interwiki--> </noinclude> 2x9vkl504c2m47v6yjocllvrppv7ip4 Πρότυπον:He 10 3521 36935 2025-12-16T12:30:27Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{γλώσσα2|Εβραίικα|εβραίικην τη λαλίαν}}<noinclude> [[Κατηγορίαν:Πρότυπα γλωσσών κειμένων|Εβραιικα]] <!--interwiki--> </noinclude>' 36935 wikitext text/x-wiki {{γλώσσα2|Εβραίικα|εβραίικην τη λαλίαν}}<noinclude> [[Κατηγορίαν:Πρότυπα γλωσσών κειμένων|Εβραιικα]] <!--interwiki--> </noinclude> 45kan41qjopl509x6vqt3f3cnqa5m1k Πρότυπον:Wikidata list end 10 3522 36937 2025-12-16T13:13:32Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly><div class="nomobile noprint" style='margin-top:5px;border-top:3px solid #2F74D0;font-size:8pt'>Τέλος αυτόματα δημιουργημένου καταλόγου.</div></includeonly><noinclude> Αυτό το πρότυπο σημαδεύει το "τέλος" μιας {{tl|Wikidata list}}. [[Κατηγορίαν:Πρότυπα Wikidata]] </noinclude>' 36937 wikitext text/x-wiki <includeonly><div class="nomobile noprint" style='margin-top:5px;border-top:3px solid #2F74D0;font-size:8pt'>Τέλος αυτόματα δημιουργημένου καταλόγου.</div></includeonly><noinclude> Αυτό το πρότυπο σημαδεύει το "τέλος" μιας {{tl|Wikidata list}}. [[Κατηγορίαν:Πρότυπα Wikidata]] </noinclude> c8rdzucn2bbhoum0p03dy1z4ym7qwuq Πρότυπον:Wikidata list 10 3523 36938 2025-12-16T13:14:32Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{#ifeq:{{NAMESPACE}}|{{ns:0}}|[[Κατηγορίαν:Λήμματα με αυτόματο κατάλογο από τα Wikidata]]}} <div class="nomobile noprint" style='margin-bottom:5px;border-bottom:3px solid #2F74D0;font-size:8pt'> <div style='float:right'>[https://tools.wmflabs.org/listeria/index.php?action=update&lang={{CONTENTLANG}}&page={{FULLPAGENAMEE}} Άμεση ενημέρωση καταλόγου]</div> Αυτός ο κα...' 36938 wikitext text/x-wiki <includeonly>{{#ifeq:{{NAMESPACE}}|{{ns:0}}|[[Κατηγορίαν:Λήμματα με αυτόματο κατάλογο από τα Wikidata]]}} <div class="nomobile noprint" style='margin-bottom:5px;border-bottom:3px solid #2F74D0;font-size:8pt'> <div style='float:right'>[https://tools.wmflabs.org/listeria/index.php?action=update&lang={{CONTENTLANG}}&page={{FULLPAGENAMEE}} Άμεση ενημέρωση καταλόγου]</div> Αυτός ο κατάλογος ενημερώνεται περιοδικά με μηχανικό τρόπο από ένα [https://tools.wmflabs.org/listeria/ bot]. Επεξεργασίες σε αυτό τον κατάλογο από χρήστες με το συνηθισμένο «χειροκίνητο» τρόπο θα αναιρεθούν με την επόμενη ανανέωση από το bot! {{#if:{{{sparql|}}}|<!-- -->[https://query.wikidata.org/#{{urlencode:{{{sparql}}}|PATH}} WQS] {{!}} <!-- -->[https://petscan.wmflabs.org/?sparql={{urlencode:{{{sparql}}}|PATH}}&doit= PetScan] {{!}} <!-- --> [http://yasgui.org/#query=PREFIX%20wikibase%3A%20%3Chttp%3A%2F%2Fwikiba.se%2Fontology%23%3E%0APREFIX%20wd%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fentity%2F%3E%20%0APREFIX%20wdt%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2Fdirect%2F%3E%0APREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0APREFIX%20p%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2F%3E%0APREFIX%20q%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2Fqualifier%2F%3E%0APREFIX%20v%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2Fstatement%2F%3E%0APREFIX%20pr%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2Freference%2F%3E%0APREFIX%20prov%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2Fns%2Fprov%23%3E%20%0APREFIX%20psv%3A%20%3Chttp%3A%2F%2Fwww.wikidata.org%2Fprop%2Fstatement%2Fvalue%2F%3E%0A%0A{{urlencode:{{{sparql}}}}}&contentTypeConstruct=text%2Fturtle&contentTypeSelect=application%2Fsparql-results%2Bjson&endpoint=https%3A%2F%2Fquery.wikidata.org%2Fsparql&requestMethod=GET&tabTitle=Query&headers=%7B%7D&outputFormat=table YASGUI] {{!}} <!-- --> [https://tools.wmflabs.org/fist/wdfist/index.html?sparql={{urlencode:{{{sparql}}}|PATH}} Βρείτε εικόνες] }}</div></includeonly><noinclude> {{documentation}} </noinclude> 0hkv6mn4ilzf9rpcdgw5wgje97ftqrp Πρότυπον:Wikidata 10 3524 36939 2025-12-16T13:15:36Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{safesubst:#invoke:Wikidata|formatStatementsFromTemplate|property={{{1|}}}|catbase={{{1}}}}}</includeonly><noinclude> {{Documentation}} </noinclude>' 36939 wikitext text/x-wiki <includeonly>{{safesubst:#invoke:Wikidata|formatStatementsFromTemplate|property={{{1|}}}|catbase={{{1}}}}}</includeonly><noinclude> {{Documentation}} </noinclude> 3oxxqa7rcvwziki8horm3ylqun4yk7y Πρότυπον:Wikidataimage 10 3525 36940 2025-12-16T13:16:58Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#invoke:Wikidata|getRawValue|property={{{1}}}|rank=best|limit=1}}<noinclude> {{documentation | content = <templatedata> { "params": { "1": { "label": "Ιδιότητα/Property", "example": "P18", "type": "string", "required": true } }, "description": "Επιστρέφει μόνο το όνομα αρχείου που ορίζεται σε κάποιο property του σχετικού αντικειμένου Wikidata", "f...' 36940 wikitext text/x-wiki {{#invoke:Wikidata|getRawValue|property={{{1}}}|rank=best|limit=1}}<noinclude> {{documentation | content = <templatedata> { "params": { "1": { "label": "Ιδιότητα/Property", "example": "P18", "type": "string", "required": true } }, "description": "Επιστρέφει μόνο το όνομα αρχείου που ορίζεται σε κάποιο property του σχετικού αντικειμένου Wikidata", "format": "inline" } </templatedata> }} <!-- Κατηγορίες ΑΝ χρειάζεται --> </noinclude> bwbmdq9gnmwpxocf9x6ratjn077e1ci Πρότυπον:Infobox settlement/columns 10 3526 36941 2025-12-16T13:18:19Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<table style="width:100%; background:none;"> <tr>{{#if:{{{0|}}} |<!-- if 0 -->{{#if:{{{1|}}}{{{2|}}}{{{3|}}}{{{4|}}}{{{5|}}} |<!-- if 0 and (1 or 2 or 3 or 4 or 5) --><td><table style="width:100%; background:none;"> {{#if:{{{1|}}} |<tr><td style="vertical-align:middle; text-align:center;">{{{1|}}}</td></tr> }}{{#if:{{{2|}}} |<tr><td style="vertical-align:middle; text-align:center;">{{{2|}}}</td></tr> }}{{#if:{{{3|}}} |<tr><td style="vertical-ali...' 36941 wikitext text/x-wiki <table style="width:100%; background:none;"> <tr>{{#if:{{{0|}}} |<!-- if 0 -->{{#if:{{{1|}}}{{{2|}}}{{{3|}}}{{{4|}}}{{{5|}}} |<!-- if 0 and (1 or 2 or 3 or 4 or 5) --><td><table style="width:100%; background:none;"> {{#if:{{{1|}}} |<tr><td style="vertical-align:middle; text-align:center;">{{{1|}}}</td></tr> }}{{#if:{{{2|}}} |<tr><td style="vertical-align:middle; text-align:center;">{{{2|}}}</td></tr> }}{{#if:{{{3|}}} |<tr><td style="vertical-align:middle; text-align:center;">{{{3|}}}</td></tr> }}{{#if:{{{4|}}} |<tr><td style="vertical-align:middle; text-align:center;">{{{4|}}}</td></tr> }}{{#if:{{{5|}}} |<tr><td style="vertical-align:middle; text-align:center;">{{{5|}}}</td></tr> }}</table></td> }}<td style="vertical-align:top;text-align:center;">{{{0|}}}</td> |<!-- if not 0 -->{{#ifexpr:({{#if:{{{1|}}}|1|0}}+{{#if:{{{2|}}}|1|0}}+{{#if:{{{3|}}}|1|0}}+{{#if:{{{4|}}}|1|0}}) > 2 |<!-- if more than two images -->{{#if:{{{1|}}} |<td style="vertical-align:middle; text-align:center;" {{#if:{{{2|}}}||colspan=2}}>{{{1|}}}</td> }}{{#if:{{{2|}}} |<td style="vertical-align:middle; text-align:center;" {{#if:{{{1|}}}||colspan=2}}>{{{2|}}}</td> }}</tr><tr>{{#if:{{{3|}}} |<td style="vertical-align:middle; text-align:center;" {{#if:{{{4|}}}||colspan=2}}>{{{3|}}}</td> }}{{#if:{{{4| }}} |<td style="vertical-align:middle; text-align:center;" {{#if:{{{3|}}}||colspan=2}}>{{{4|}}}</td> }} |<!-- if two or fewer images -->{{#if:{{{1|}}} |<td style="vertical-align:middle; text-align:center;">{{{1|}}}</td> }}{{#if:{{{2|}}} |<td style="vertical-align:middle; text-align:center;">{{{2|}}}</td> }}{{#if:{{{3|}}} |<td style="vertical-align:middle; text-align:center;">{{{3|}}}</td> }}{{#if:{{{4| }}} |<td style="vertical-align:middle; text-align:center;">{{{4|}}}</td> }}{{#if:{{{5| }}} |<td style="vertical-align:middle; text-align:center;">{{{5|}}}</td> }} }} }}</tr></table><noinclude> {{documentation}} </noinclude> 8v5e6uagps1mngr4d9ei863p06ob2ae Πρότυπον:Navbar 10 3527 36942 2025-12-16T13:19:22Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly><span class="plainlinks navbar noprint" style="{{#if:{{{nodiv|}}}||display:block;}}background:none; padding:0; font-weight:normal;{{{fontstyle|}}}; font-size:xx-small; {{{style|}}}"><!-- -->{{#if:{{{mini|}}}{{{plain|}}}|<!--nothing-->|<!--else: -->Αυτό το πλαίσιο:&#32;}}<!-- -->{{#if:{{{brackets|}}}|&#91;}}<!-- -->{{transclude|{{{1}}}}}|<span title="Προβολή αυτού του προτύπου" style="{{{fontstyle|}...' 36942 wikitext text/x-wiki <includeonly><span class="plainlinks navbar noprint" style="{{#if:{{{nodiv|}}}||display:block;}}background:none; padding:0; font-weight:normal;{{{fontstyle|}}}; font-size:xx-small; {{{style|}}}"><!-- -->{{#if:{{{mini|}}}{{{plain|}}}|<!--nothing-->|<!--else: -->Αυτό το πλαίσιο:&#32;}}<!-- -->{{#if:{{{brackets|}}}|&#91;}}<!-- -->[[{{transclude|{{{1}}}}}|<span title="Προβολή αυτού του προτύπου" style="{{{fontstyle|}}}"><!-- -->{{#if:{{{mini|}}}|π|π}}</span>]]<!-- -->&nbsp;<span style="font-size:80%;">•</span>&nbsp;[[{{TALKPAGENAME:{{transclude|{{{1}}}}}}}|<span title="Συζήτηση για αυτό το πρότυπο" style="{{{fontstyle|}}}">{{#if:{{{mini|}}}|σ|σ}}</span>]]<!-- -->{{#if:{{{noedit|}}}|<!--nothing-->|<!--else: -->&nbsp;<span style="font-size:80%;">•</span>&nbsp;[{{fullurl:{{transclude|{{{1}}}}}|action=edit}}<span title="Επεξεργασία αυτού του προτύπου" style="{{{fontstyle|}}};">{{#if:{{{mini|}}}|ε|ε}}</span>]<!-- -->}}<!-- -->{{#if:{{{brackets|}}}|]}} </span></includeonly><noinclude>[[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]]</noinclude> qzdohovx208mb5ivewii2aili5b2rdc Πρότυπον:Transclude 10 3528 36943 2025-12-16T13:20:22Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#switch: {{NAMESPACE: {{{1}}} }} |#default = {{FULLPAGENAME: {{{1}}} }} <!-- the namespace was specified eg "User:Foo" "Template:Foo", "Category:Foo" --> |{{ns:0}} = <!-- we have either ":Foo" (mainspace) or "Foo" (a template) --> {{#ifeq: {{First character|{{{1|}}}}}|: |{{PAGENAME: {{{1}}} }} <!-- leading colon, eg ":Foo", so we want the article --> |Template:{{{1}}} <!-- no leading colon, eg "Foo", so we want the template -->...' 36943 wikitext text/x-wiki {{#switch: {{NAMESPACE: {{{1}}} }} |#default = {{FULLPAGENAME: {{{1}}} }} <!-- the namespace was specified eg "User:Foo" "Template:Foo", "Category:Foo" --> |{{ns:0}} = <!-- we have either ":Foo" (mainspace) or "Foo" (a template) --> {{#ifeq: {{First character|{{{1|}}}}}|: |{{PAGENAME: {{{1}}} }} <!-- leading colon, eg ":Foo", so we want the article --> |Template:{{{1}}} <!-- no leading colon, eg "Foo", so we want the template --> }} }}<noinclude> {{documentation}} [[Κατηγορίαν:Πρότυπα Βικιπαίδειας|{{PAGENAME}}]] </noinclude> sz4t0n9wikcpje7wjtlomdg7jwk0arl Module:ΕλληνικήΕτικέτα 828 3529 36944 2025-12-16T13:21:50Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} function p.getLabel(frame) local label, lang = mw.wikibase.getLabelWithLang() if lang == 'el' then return label end return frame:preprocess('{{FULLPAGENAME}}') end return p' 36944 Scribunto text/plain local p = {} function p.getLabel(frame) local label, lang = mw.wikibase.getLabelWithLang() if lang == 'el' then return label end return frame:preprocess('{{FULLPAGENAME}}') end return p 8vsz5j9x4oajxi6jo54t9woo61oskzs Module:Check for unknown parameters 828 3530 36945 2025-12-16T13:22:57Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- This module may be used to compare the arguments passed to the parent -- with a list of arguments, returning a specified result if an argument is -- not on the list local p = {} local function trim(s) return s:match('^%s*(.-)%s*$') end local function isnotempty(s) return s and trim(s) ~= '' end function p.check (frame) local args = frame.args local pargs = frame:getParent().args local ignoreblank = isnotempty(frame.args['ignoreblank'])...' 36945 Scribunto text/plain -- This module may be used to compare the arguments passed to the parent -- with a list of arguments, returning a specified result if an argument is -- not on the list local p = {} local function trim(s) return s:match('^%s*(.-)%s*$') end local function isnotempty(s) return s and trim(s) ~= '' end function p.check (frame) local args = frame.args local pargs = frame:getParent().args local ignoreblank = isnotempty(frame.args['ignoreblank']) local showblankpos = isnotempty(frame.args['showblankpositional']) local knownargs = {} local unknown = frame.args['unknown'] or 'Found _VALUE_, ' local preview = frame.args['preview'] local values = {} local res = {} local regexps = {} -- create the list of known args, regular expressions, and the return string for k, v in pairs(args) do if type(k) == 'number' then v = trim(v) knownargs[v] = 1 elseif k:find('^regexp[1-9][0-9]*$') then table.insert(regexps, '^' .. v .. '$') end end if isnotempty(preview) then preview = '<div class="hatnote" style="color:red"><strong>Προειδοποίηση:</strong> ' .. preview .. ' (αυτό το μήνυμα εμφανίζεται μόνο στην προεπισκόπηση).</div>' elseif preview == nil then preview = unknown end -- loop over the parent args, and make sure they are on the list for k, v in pairs(pargs) do if type(k) == 'string' and knownargs[k] == nil then local knownflag = false for i, regexp in ipairs(regexps) do if mw.ustring.match(k, regexp) then knownflag = true break end end if not knownflag and ( not ignoreblank or isnotempty(v) ) then k = mw.ustring.gsub(k, '[^%w\-_ ]', '?') table.insert(values, k) end elseif type(k) == 'number' and knownargs[tostring(k)] == nil and ( showblankpos or isnotempty(v) ) then local vlen = mw.ustring.len(v) v = mw.ustring.sub(v, 1, (vlen < 25) and vlen or 25) v = mw.ustring.gsub(v, '[^%w\-_ ]', '?') table.insert(values, k .. ' = ' .. v .. ((vlen >= 25) and ' ...' or '')) end end -- add resuls to the output tables if #values > 0 then if frame:preprocess( "{{REVISIONID}}" ) == "" then unknown = preview end for k, v in pairs(values) do if v == '' then -- Fix odd bug for | = which gets stripped to the empty string and -- breaks category links v = ' ' end local r = unknown:gsub('_VALUE_', v) table.insert(res, r) end end return table.concat(res) end return p tabmrt2ixzenctckvi1ep88iu273v09 Πρότυπον:Both 10 3531 36946 2025-12-16T13:23:56Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#if:{{{1|}}}|{{#if:{{{2|}}}|1}}}}<noinclude> {{documentation}} </noinclude>' 36946 wikitext text/x-wiki {{#if:{{{1|}}}|{{#if:{{{2|}}}|1}}}}<noinclude> {{documentation}} </noinclude> i47oohqipwf7wo7gvfqydm384eronbs Πρότυπον:First character 10 3532 36947 2025-12-16T13:24:44Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{Str left|{{{1|}}}|1}}</includeonly><noinclude> {{Documentation}} <noinclude>' 36947 wikitext text/x-wiki <includeonly>{{Str left|{{{1|}}}|1}}</includeonly><noinclude> {{Documentation}} <noinclude> gewt2k24jlgqhj8mp4n6dzooaibgwv4 Πρότυπον:Πολιτείαν 10 3533 36948 2025-12-16T13:27:25Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#invoke:check for unknown parameters|check |unknown= |preview=άγνωστη παράμετρος "_VALUE_" |Πολιτείαν|πολιτείαν|Όνομα|Ονομασία|όνομα|ονομασία|τύπος διοικητικής διαίρεσης|επίσημη ονομασία|image|Εικόνα|εικόνα|εικόνα1|image_size|πλάτος_εικόνας|image_φupright|alt|Λεζάντα|λεζάντα εικόνας|εικόνα...' 36948 wikitext text/x-wiki {{#invoke:check for unknown parameters|check |unknown= |preview=άγνωστη παράμετρος "_VALUE_" |Πολιτείαν|πολιτείαν|Όνομα|Ονομασία|όνομα|ονομασία|τύπος διοικητικής διαίρεσης|επίσημη ονομασία|image|Εικόνα|εικόνα|εικόνα1|image_size|πλάτος_εικόνας|image_φupright|alt|Λεζάντα|λεζάντα εικόνας|εικόνα χάρτη τοποθεσίας|πλάτος εικόνας χάρτη τοποθεσίας|λεζάντα εικόνα χάρτη τοποθεσίας|Σημαία|σημαία|Σφραγίδα|σφραγίδα|Ασπίδα|ασπίδα|Έμβλημα|έμβλημα|pushpin_map_narrow|pushpin_map|Πλάτος Σημαίας|πλάτος_σημαίας|border|σύνορο|Σύνορο|Άρθρο Σημαίας|λεζάντα_σημαίας|Πλάτος Σφραγίδας|πλάτος_σφραγίδας|Άρθρο Σφραγίδας|λεζάντα_σφραγίδας|Πλάτος Ασπίδας|πλάτος_ασπίδας|Άρθρο Ασπίδας|λήμμα_ασπίδας|Πλάτος Εμβλήματος|πλάτος_εμβλήματος|Άρθρο Εμβλήματος|λήμμα_εμβλήματος|Ψευδώνυμο|παρατσούκλι|Σύνθημα|σύνθημα|Ύμνος|ύμνος|Πλάτος|πλάτος|AlternativeMap|Μήκος|μήκος|pushpin_map_caption|map_caption|Χάρτης τοποθεσίας|χάρτης τοποθεσίας|σημάδι χάρτη τοποθεσίας|μέγεθος σημαδιού χάρτη τοποθεσίας|alt χάρτη τοποθεσίας|mapzoom|Χώρα1|χώρα1|Χώρα|χώρα|πολιτεία|Περιφέρεια1|Περιφέρεια|Νομός1|Νομός|Δήμος1|Δήμος|διοικητική μονάδα|γεωγραφική περιοχή|Ιδρύθηκε|ιδρύθηκε|Κατοικήθηκε|κατοικήθηκε|Ενσωματώθηκε|αναγνωρίστηκε|εκτελεστικό σώμα|επικεφαλής ανώτατου διοικητικού οργάνου|Σώμα Διοίκησης|θέση του επικεφαλής της εκτελεστικής εξουσίας|Δήμαρχος|μέλος|Έκταση|έκταση|Υψόμετρο|υψόμετρο|Πληθυσμός|πληθυσμός|Απογραφή|απογραφή|noref|γεωγραφικός κωδικός|ΤαχυδρομικόςΚωδικός|ταχυδρομικός κώδικας|ΤηλεφωνικόςΚωδικός|ζώνη ώρας|Ιστοσελίδα|ιστοσελίδα|website|σημειώσεις|below}}{{#if: {{{πληθυσμός|}}}|[[Κατηγορίαν:Πρότυπον πολιτείαν με παράμετρο πληθυσμός]]}} {{Πλαίσιον πληροφοριών | bodyclass = vcard | bodystyle = width:23.55em | headerstyle = text-align:left; font-size:1.05em | labelstyle = font-size:1.05em; | datastyle = font-size:1.05em; | abovestyle = font-size:1.3em; white-space:nowrap; padding:0.28em 0.4em | above = {{{Πολιτείαν|{{{Όνομα|{{{Ονομασία|{{{όνομα|{{{ονομασία|{{#invoke:ΕλληνικήΕτικέτα|getLabel}} }}} }}} }}} }}} }}} <!-- {{infobox|child=yes|decat=yes | headerstyle = font-size:1.05em; padding:0.3em 0.4em | subheaderstyle = background-color:#cddeff; font-weight:bold; font-size:1.05em; padding:0.25em 0.4em | subheader = {{#if: {{{τύπος διοικητικής διαίρεσης|{{Wikidata|P31|rank=best|addcat=true|separator=<br />|conjunction=<br />}}}}} |{{{τύπος διοικητικής διαίρεσης|{{Wikidata|P31|rank=best|addcat=true|separator=<br />|conjunction=<br />}}}}} }} | rowclass1 = mergedtoprow | header1 = {{#if: {{{επίσημη ονομασία|{{Wikidata|P1448|rank=best|addcat=true|withlang=el}}}}} |Επίσημον όνομα: {{{επίσημη ονομασία|{{Wikidata|P1448|rank=best|addcat=true|withlang=el}}}}} }} }} --> | image = {{#invoke:InfoboxImage|InfoboxImage|image={{{image|{{{Εικόνα|{{{εικόνα|{{{εικόνα1|{{Wikidataimage|P18|addcat=true}}}}}}}}}}}}}}|size={{{image_size|{{{πλάτος_εικόνας|250px}}}}}}|sizedefault=frameless|upright={{{image_upright|1}}}|alt={{{alt|}}}|suppressplaceholder=yes}} | caption = {{{Λεζάντα|{{{λεζάντα εικόνας|{{#invoke:Wikidata|getQualifier|qualifier=P2096|property=P18|withtarget={{{image|{{Wikidataimage|P18|addcat=true}}}}}|qualifiers withlang=el}}}}}}}} <!-- ***Σημαία, Σφραγίδα, Ασπίδα και Έμβλημα*** --> | rowclass1 = mergedtoprow | class1 = maptable | data1 = {{#if:{{{Σημαία|{{{σημαία|{{Wikidataimage|P41|addcat=true}}}}}}}}{{{Σφραγίδα|{{{σφραγίδα|{{Wikidataimage|P158|addcat=true}}}}}}}}{{{Ασπίδα|{{{ασπίδα|{{Wikidataimage|P4004|addcat=true}}}}}}}}{{{Έμβλημα|{{{έμβλημα|{{Wikidataimage|P94|addcat=true}}}}}}}}{{both|{{{pushpin_map_narrow|}}}|{{{pushpin_map|}}}}} |{{Infobox settlement/columns | 1 = {{#invoke:InfoboxImage|InfoboxImage|image={{{Σημαία|{{{σημαία|{{Wikidataimage|P41|addcat=true}}}}}}}}|size={{{Πλάτος Σημαίας|{{{πλάτος_σημαίας|125px}}}}}}|sizedefault=frameless|upright={{{image_upright|1}}}|alt={{{alt|}}}|border={{{border|{{{σύνορο|{{{Σύνορο|yes}}}}}}}}}|suppressplaceholder=no}} {{#if:{{{Σημαία|{{{σημαία|{{Wikidataimage|P41|addcat=true}}}}}}}}|<br /><small>{{{Άρθρο Σημαίας|{{{λεζάντα_σημαίας|Σημαία}}}}}}</small> }} | 2 = {{#invoke:InfoboxImage|InfoboxImage|image={{{Σφραγίδα|{{{σφραγίδα|{{Wikidataimage|P158|addcat=true}}}}}}}}|size={{{Πλάτος Σφραγίδας|{{{πλάτος_σφραγίδας|85px}}}}}}|sizedefault=frameless|upright={{{image_upright|1}}}|alt={{{alt|}}}|suppressplaceholder=no}} {{#if:{{{Σφραγίδα|{{{σφραγίδα|{{Wikidataimage|P158|addcat=true}}}}}}}}|<br /><small>{{{Άρθρο Σφραγίδας|{{{λεζάντα_σφραγίδας|Σφραγίδα}}}}}}</small> }} | 3 = {{#invoke:InfoboxImage|InfoboxImage|image={{{Ασπίδα|{{{ασπίδα|{{Wikidataimage|P4004|addcat=true}}}}}}}}|size={{{Πλάτος Ασπίδας|{{{πλάτος_ασπίδας|85px}}}}}}|sizedefault=frameless|upright={{{image_upright|1}}}|alt={{{alt|}}}|suppressplaceholder=no}} {{#if:{{{Ασπίδα|{{{ασπίδα|{{Wikidataimage|P4004|addcat=true}}}}}}}}|<br /><small>{{{Άρθρο Ασπίδας|{{{λήμμα_ασπίδας|Ασπίδα}}}}}}</small> }} | 4 = {{#invoke:InfoboxImage|InfoboxImage|image={{{Έμβλημα|{{{έμβλημα|{{Wikidataimage|P94|addcat=true}}}}}}}}|size={{{Πλάτος Εμβλήματος|{{{πλάτος_εμβλήματος|85px}}}}}}|sizedefault=frameless|upright={{{image_upright|1}}}|alt={{{alt|}}}|suppressplaceholder=no}} {{#if:{{{Έμβλημα|{{{έμβλημα|{{Wikidataimage|P94|addcat=true}}}}}}}}|<br /><small>{{{Άρθρο Εμβλήματος|{{{λήμμα_εμβλήματος|Έμβλημα}}}}}}</small> }} }} }} <!-- ***Ψευδώνυμο*** --> | rowclass2 = mergedtoprow | data2 = {{#if:{{{Ψευδώνυμο|{{{παρατσούκλι|{{Wikidata|P1449|rank=best|showsource=true|addcat=true}}}}}}}}|Παρωνύμιον: <span class="nickname">{{{Ψευδώνυμο|{{{παρατσούκλι|{{Wikidata|P1449|rank=best|showsource=true|addcat=true}}}}}}}}</span>}} <!-- ***Σύνθημα*** --> | rowclass3 = {{#if:{{{Ψευδώνυμο|{{{παρατσούκλι|{{Wikidata|P1449}}}}}}}}|mergedrow |mergedtoprow}} | data3 = {{#if:{{{Σύνθημα|{{{σύνθημα|{{Wikidata|P1451|rank=best|showsource=true|addcat=true}}}}}}}}|Ρητό: {{{Σύνθημα|{{{σύνθημα|{{Wikidata|P1451|rank=best|showsource=true|addcat=true}}}}}}}} }} <!-- ***Ύμνος*** --> | rowclass4 = {{#if:{{{Σύνθημα|{{{σύνθημα|{{Wikidata|P1451}}}}}}}}|mergedrow |mergedtoprow}} | data4 = {{#if:{{{Ύμνος|{{{ύμνος|{{Wikidata|P85|rank=best|showsource=true|addcat=true}}}}}}}}|Ύμνος: {{{Ύμνος|{{{ύμνος|{{Wikidata|P85|rank=best|showsource=true|addcat=true}}}}}}}} }} <!-- ***Χάρτες*** --> | rowclass5 = mergedtoprow | class5 = maptable | data5 = {{#if: {{{Πλάτος|{{{πλάτος|}}}}}}| {{Location map|{{{pushpin_map|}}} |AlternativeMap= {{{AlternativeMap|}}} |label= {{{Πολιτείαν|{{{πολιτείαν|{{{όνομα|}}}}}}}}} |lat= {{{Πλάτος|{{{πλάτος|}}}}}} |long= {{{Μήκος|{{{μήκος|}}}}}} |caption = |width= 250 |float= center }}{{#if:{{{pushpin_map_caption|}}}|<small>{{{pushpin_map_caption}}}</small>|{{#if:{{{map_caption|}}}|<small>{{{map_caption}}}</small>}} }} |{{#if:{{#property:P625}}| {{Location map | {{{Χάρτης τοποθεσίας|{{{χάρτης τοποθεσίας|{{#property:P17}}}}}}}} |label = {{{όνομα|{{#invoke:ΕλληνικήΕτικέτα|getLabel}} }}} |lat_deg = {{#invoke:Wikidata|getRawValue|property=P625|field=latitude|addcat=true}} |lon_deg = {{#invoke:Wikidata|getRawValue|property=P625|field=longitude|addcat=true}} |width = 250 |float = center |mark = {{{σημάδι χάρτη τοποθεσίας|}}} |marksize = {{{μέγεθος σημαδιού χάρτη τοποθεσίας|}}} |alt = {{{alt χάρτη τοποθεσίας|Τοποθεσία στο χάρτη}}} }} {{#tag:maplink|{ "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "title": "{{{Πολιτείαν|{{{Όνομα|{{{Ονομασία|{{{όνομα|{{{ονομασία|{{#invoke:ΕλληνικήΕτικέτα|getLabel}} }}} }}} }}} }}} }}}", "marker-symbol": "town", "marker-size": "medium", "marker-color": "#B80000" }, "geometry": { "type": "Point", "coordinates": [{{#invoke:Wikidata|getRawValue|property=P625|field=longitude}}, {{#invoke:Wikidata|getRawValue|property=P625|field=latitude}}] } } ] }|zoom={{{mapzoom|12}}}|latitude={{#invoke:Wikidata|getRawValue|property=P625|field=latitude}}|longitude={{#invoke:Wikidata|getRawValue|property=P625|field=longitude}} }} }} }} | data6 = {{#invoke:InfoboxImage|InfoboxImage|image={{{image|{{{εικόνα χάρτη τοποθεσίας|{{Wikidataimage|P242}}}}}}}}|size={{{image_size|{{{πλάτος εικόνας χάρτη τοποθεσίας|250px}}}}}}|sizedefault=frameless|upright={{{image_upright|1}}}|alt={{{alt|}}}|suppressplaceholder=yes}} {{{λεζάντα εικόνα χάρτη τοποθεσίας|{{#invoke:Wikidata|getQualifier|qualifier=P2096|property=P242|withtarget={{{image|{{Wikidataimage|P242|addcat=true}}}}}|qualifiers withlang=el}}}}} <!-- ***Υποδιαιρέσεις*** --> | rowclass14 = mergedtoprow | label14 = {{{Χώρα1|{{{χώρα1|[[Κατάλογος χωρών|Χώρα]]}}}}}} | data14 = {{{Χώρα|{{{χώρα|{{Wikidata|P17|rank=best|showsource=true|addcat=true}}}}}}}} | rowclass15 = mergedrow | label15 = {{{Πολιτεία1|Πολιτεία}}} | data15 = {{{πολιτεία|}}} | rowclass16 = mergedrow | label16 = {{{Περιφέρεια1|Περιφέρεια}}} | data16 = {{{Περιφέρεια|}}} | rowclass17 = mergedrow | label17 = {{{Νομός1|Νομός}}} | data17 = {{{Νομός|}}} | rowclass18 = mergedrow | label18 = {{{Δήμος1|Δήμος}}} | data18 = {{{Δήμος|}}} | rowclass19 = mergedrow | label19 = Διοικητικήν υπαγωγήν | data19 = {{{διοικητική μονάδα|{{Wikidata|P131|sort=P580|invert=true|limit=1|showsource=true|addcat=true|rank=best}}}}} | rowclass20 = mergedrow | label20 = Γεωγραφικήν υπαγωγήν | data20 = {{{γεωγραφική περιοχή|{{Wikidata|P706|rank=best|showsource=true|addcat=true}}}}} <!--***Ίδρυση*** --> | rowclass24 = mergedtoprow | label24 = Ίδρυσιν | data24 = {{{Ιδρύθηκε|{{{ιδρύθηκε|{{Wikidata|P571|rank=best|showsource=true|addcat=true}}}}}}}} | rowclass25 = mergedrow | label25 = Κατοίκισιν | data25 = {{{Κατοικήθηκε|{{{κατοικήθηκε|}}}}}} | rowclass26 = mergedrow | label26 = Αναγνώρισιν | data26 = {{{Ενσωματώθηκε|{{{αναγνωρίστηκε|}}}}}} <!--***Προστάτης*** --> | rowclass27 = mergedtoprow | label27 = Προστάτης | data27 = {{{Προστάτης|{{{προστάτης|{{Wikidata|P417|rank=best|showsource=true|addcat=true}}}}}}}} <!-- ***Τύπος Διοίκησης και Ηγέτης*** --> | rowclass29 = mergedtoprow | header29 = {{#if:{{{εκτελεστικό σώμα|{{Wikidata|P208}}}}}{{{επικεφαλής ανώτατου διοικητικού οργάνου|{{Wikidata|P6}}}}}|Διοίκηση }} <!-- ***Διοίκηση*** --> | rowclass31 = mergedrow | label31 = &nbsp;•&nbsp;Σώμα | class31 = agent | data31 = {{{Σώμα Διοίκησης|{{{εκτελεστικό σώμα|{{Wikidata|P208|rank=best|showsource=true|addcat=true}}}}}}}} | rowclass32 = mergedrow | label32 = &nbsp;•&nbsp;{{#if:{{{θέση του επικεφαλής της εκτελεστικής εξουσίας|{{Wikidata|P1313}}}}}|{{{θέση του επικεφαλής της εκτελεστικής εξουσίας|{{Wikidata|P1313|rank=best|showsource=true|addcat=true}}}}}|Δημάρχων}} | data32 = {{{Δήμαρχος|{{{επικεφαλής ανώτατου διοικητικού οργάνου|{{Wikidata|P6|rank=best|showqualifier=time|showsource=true|addcat=true}}}}}}}} | rowclass33 = mergedrow | label33 = &nbsp;•&nbsp;Μέλος τού/της | class33 = agent | data33 = {{{μέλος|{{Wikidata|P463|rank=best|showsource=true|addcat=true|separator=<br />|conjunction=<br />}}}}} <!-- ***Γεωγραφικά χαρακτηριστικά*** --> <!-- ***Έκταση*** --> | rowclass34 = mergedtoprow | label34 = Έκτασις | data34 = {{#if:{{{Έκταση|{{{έκταση|{{Wikidata|P2046|rank=best|showqualifier=no|showsource=true|}}}}}}}}|{{{Έκταση|{{{έκταση|{{Wikidata|P2046|rank=best|showqualifier=no|showsource=true|addcat=true}}}}}}}}}} <!-- ***Υψόμετρο*** --> | rowclass35 = mergedtoprow | label35 = Υψόμετρον | data35 = {{#if:{{{Υψόμετρο|{{{υψόμετρο|{{Wikidata|P2044|rank=best|showsource=true|addcat=true}}}}}}}}| {{{Υψόμετρο|{{{υψόμετρο|{{Wikidata|P2044|rank=best|showsource=true|addcat=true}}}}}|{{Wikidata|P2044|rank=best|showsource=true|addcat=true}}}}}}} <!-- ***Πληθυσμός*** --> | rowclass36 = mergedtoprow | label36 = Πληθυσμόν | data36 = {{#if:{{{Πληθυσμός|}}}|{{{Πληθυσμός}}}{{#if:{{{απογραφή|}}}|&nbsp;<small>({{{απογραφή}}})</small>}} | {{{Πληθυσμός|{{Wikidata|P1082|showqualifier=P585|rank=best|sort=P585|invert=true|limit=1|showsource={{#if:{{{noref|}}}||true}}|qualifiers precision=9|addcat=true}}}}} }} <!-- ***Γεωγραφικός κωδικός*** --> | rowclass37 = mergedtoprow | label37 = Γεωγραφικόν κωδικόν | data37 = {{{γεωγραφικός κωδικός|}}} <!-- ***Ταχυδρομικός κώδικας*** --> | rowclass38 = mergedtoprow | label38 = [[Ταχυδρομικόν κωδικόν|Ταχ.&nbsp;κωδ.]] | data38 = {{{ΤαχυδρομικόςΚωδικός|{{{ταχυδρομικός κώδικας|{{Wikidata|P281|rank=best|showsource=true|addcat=true}}}}}}}} <!-- ***Τηλεφωνικός κωδικός*** --> | rowclass39 = mergedtoprow | label39 = [[Τηλεφωνικόν σχέδιον αριθμοδότησης|Τηλ.&nbsp;κωδ.]] | data39 = {{{ΤηλεφωνικόςΚωδικός|{{Wikidata|P473|rank=best|showsource=true}}}}} <!-- ***Ζώνη ώρας*** --> | rowclass41 = mergedtoprow | label41 = [[Ζώνην ώρας]] | data41 = {{{ζώνη ώρας|{{Wikidata|P421|rank=best|showqualifier=p1264|addcat=true|separator=<br />|conjunction=<br />}}}}} <!-- ***Ιστοσελίδα*** --> | rowclass42 = mergedtoprow | label42 = Ιστότοπον | data42 = {{#if:{{{Ιστοσελίδα|{{{ιστοσελίδα|{{{website|{{#property:P856}}}}}}}}}}}|{{{Ιστοσελίδα|{{{ιστοσελίδα|{{{website|{{Επίσημος ιστότοπος|{{#invoke:Wikidata|getRawValue|property=P856|addcat=true}}}}}}}}}}}}}}} | data70 = {{#if:{{{σημειώσεις|}}}|'''Σημειώσεις'''<div style="line-height:1.2em;">{{{σημειώσεις}}}</div>}} | data71 = {{#if:{{#property:P373}} | {{icon|commons}}&nbsp;{{Wikidata|P373|pattern=[[commons:category:$1|Σχετικά πολυμέσα]]|addcat=true}} }} | data72 = {{{footnotes|{{{υποσημειώσεις|}}}}}} | below = {{{below|[//www.wikidata.org/wiki/Special:ItemByTitle?site=elwiki&uselang=el&page={{PAGENAMEE}} δεδομένα] ({{navbar|Πολιτείαν|mini=true|nodiv=true|style=font-size:75%;}}) }}} | belowclass = plainlinks noprint | belowstyle = text-align:right; font-size:90%; }}<noinclude> </noinclude> qdffu94zjd938tqqeer0k534b9vktnh Πρότυπον:Collapsible list 10 3534 36949 2025-12-16T13:29:03Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<div class="mw-collapsible {{#if:{{{expand|}}}||mw-collapsed}}" style="{{#if:{{{frame_style|}}}{{{framestyle|}}} |{{{frame_style|}}}{{{framestyle|}}} |border:none; padding:0;}}"> <div class="" style="{{#if:{{{title_style|}}}{{{titlestyle|}}} |{{{title_style|}}}{{{titlestyle|}}} |background:transparent;" align="left}}"><!-- -->{{#if:{{{title|}}} |{{{title|}}} |'''Λίστα'''}}<!-- --></div> <div class="mw-collapsible-content" style="...' 36949 wikitext text/x-wiki <div class="mw-collapsible {{#if:{{{expand|}}}||mw-collapsed}}" style="{{#if:{{{frame_style|}}}{{{framestyle|}}} |{{{frame_style|}}}{{{framestyle|}}} |border:none; padding:0;}}"> <div class="" style="{{#if:{{{title_style|}}}{{{titlestyle|}}} |{{{title_style|}}}{{{titlestyle|}}} |background:transparent;" align="left}}"><!-- -->{{#if:{{{title|}}} |{{{title|}}} |'''Λίστα'''}}<!-- --></div> <div class="mw-collapsible-content" style="{{#if:{{{list_style|}}}{{{liststyle|}}} |{{{list_style|}}}{{{liststyle|}}} |text-align:left;}}"><!-- -->{{#if:{{{1|}}} |{{{1|}}} }}<!-- -->{{#if:{{{2|}}} |<br />{{{2|}}} }}<!-- -->{{#if:{{{3|}}} |<br />{{{3|}}} }}<!-- -->{{#if:{{{4|}}} |<br />{{{4|}}} }}<!-- -->{{#if:{{{5|}}} |<br />{{{5|}}} }}<!-- -->{{#if:{{{6|}}} |<br />{{{6|}}} }}<!-- -->{{#if:{{{7|}}} |<br />{{{7|}}} }}<!-- -->{{#if:{{{8|}}} |<br />{{{8|}}} }}<!-- -->{{#if:{{{9|}}} |<br />{{{9|}}} }}<!-- -->{{#if:{{{10|}}} |<br />{{{10|}}} }}<!-- -->{{#if:{{{11|}}} |<br />{{{11|}}} }}<!-- -->{{#if:{{{12|}}} |<br />{{{12|}}} }}<!-- -->{{#if:{{{13|}}} |<br />{{{13|}}} }}<!-- -->{{#if:{{{14|}}} |<br />{{{14|}}} }}<!-- -->{{#if:{{{15|}}} |<br />{{{15|}}} }}<!-- -->{{#if:{{{16|}}} |<br />{{{16|}}} }}<!-- -->{{#if:{{{17|}}} |<br />{{{17|}}} }}<!-- -->{{#if:{{{18|}}} |<br />{{{18|}}} }}<!-- -->{{#if:{{{19|}}} |<br />{{{19|}}} }}<!-- -->{{#if:{{{20|}}} |<br />{{{20|}}} }}<!-- -->{{#if:{{{21|}}} |<br />{{{21|}}} }}<!-- -->{{#if:{{{22|}}} |<br />{{{22|}}} }}<!-- -->{{#if:{{{23|}}} |<br />{{{23|}}} }}<!-- -->{{#if:{{{24|}}} |<br />{{{24|}}} }}<!-- -->{{#if:{{{25|}}} |<br />{{{25|}}} }}<!-- -->{{#if:{{{26|}}} |<br />{{{26|}}} }}<!-- -->{{#if:{{{27|}}} |<br />{{{27|}}} }}<!-- -->{{#if:{{{28|}}} |<br />{{{28|}}} }}<!-- -->{{#if:{{{29|}}} |<br />{{{29|}}} }}<!-- -->{{#if:{{{30|}}} |<br />{{{30|}}} }}<!-- -->{{#if:{{{31|}}} |<br />{{{31|}}} }}<!-- -->{{#if:{{{32|}}} |<br />{{{32|}}} }}<!-- -->{{#if:{{{33|}}} |<br />{{{33|}}} }}<!-- -->{{#if:{{{34|}}} |<br />{{{34|}}} }}<!-- -->{{#if:{{{35|}}} |<br />{{{35|}}} }}<!-- -->{{#if:{{{36|}}} |<br />{{{36|}}} }}<!-- -->{{#if:{{{37|}}} |<br />{{{37|}}} }}<!-- -->{{#if:{{{38|}}} |<br />{{{38|}}} }}<!-- -->{{#if:{{{39|}}} |<br />{{{39|}}} }}<!-- -->{{#if:{{{40|}}} |<br />{{{40|}}} }}<!-- -->{{#if:{{{41|}}} |<br />{{{41|}}} }}<!-- -->{{#if:{{{42|}}} |<br />{{{42|}}} }}<!-- -->{{#if:{{{43|}}} |<br />{{{43|}}} }}<!-- -->{{#if:{{{44|}}} |<br />{{{44|}}} }}<!-- -->{{#if:{{{45|}}} |<br />{{{45|}}} }}<!-- -->{{#if:{{{46|}}} |<br />{{{46|}}} }}<!-- -->{{#if:{{{47|}}} |<br />{{{47|}}} }}<!-- -->{{#if:{{{48|}}} |<br />{{{48|}}} }}<!-- -->{{#if:{{{49|}}} |<br />{{{49|}}} }}<!-- -->{{#if:{{{50|}}} |<br />{{{50|}}} }}<!-- --></div> </div><noinclude> {{Τεκμηρίωση προτύπου}} </noinclude> lhbev68c7dhoy7k1oxmlgf8zssd4kg2 Πρότυπον:Location map 10 3535 36951 2025-12-16T13:33:23Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{location map+ | {{{1|World}}} | border = {{{border|}}} | alt = {{{alt|}}} | caption_undefined = {{#ifeq: {{{caption|+}}} | {{{caption|-}}} || defined }} | caption = {{{caption|}}} | label = {{{label|}}} | float = {{{float|}}} | width = {{{width|}}} | relief= {{{relief|}}} | AlternativeMap = {{{AlternativeMap|}}} | overlay_image = {{{overlay_image|}}} | places = {{Location map~ | {{{1|World}}} | label = {{{label|}}} | label_size...' 36951 wikitext text/x-wiki <includeonly>{{location map+ | {{{1|World}}} | border = {{{border|}}} | alt = {{{alt|}}} | caption_undefined = {{#ifeq: {{{caption|+}}} | {{{caption|-}}} || defined }} | caption = {{{caption|}}} | label = {{{label|}}} | float = {{{float|}}} | width = {{{width|}}} | relief= {{{relief|}}} | AlternativeMap = {{{AlternativeMap|}}} | overlay_image = {{{overlay_image|}}} | places = {{Location map~ | {{{1|World}}} | label = {{{label|}}} | label_size = {{{label_size|}}} | label_width = {{{label_width|}}} | mark = {{{mark|}}} | marksize = {{{marksize|}}} | alt = {{{alt|}}} | position = {{{position|}}} | background = {{{background|}}} | link = {{{link|}}} | lat_dir = {{{lat_dir|}}} | lat_deg = {{{lat_deg|}}} | lat_min = {{{lat_min|}}} | lat_sec = {{{lat_sec|}}} | lon_deg = {{{lon_deg|}}} | lon_min = {{{lon_min|}}} | lon_sec = {{{lon_sec|}}} | lon_dir = {{{lon_dir|}}} | lat = {{{lat|}}} | long = {{{long|}}} | coordinates = {{{coordinates|}}} }} }}</includeonly><noinclude> {{Documentation}} </noinclude> cmi03pz6y08ww47q6jgnxa7t2pfylw3 Πρότυπον:Location map+ 10 3536 36952 2025-12-16T13:34:44Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{#invoke:Location map/multi|container}}</includeonly><noinclude>{{documentation}}</noinclude>' 36952 wikitext text/x-wiki <includeonly>{{#invoke:Location map/multi|container}}</includeonly><noinclude>{{documentation}}</noinclude> cshtxc3nnd9lycyakwliacrbcdvid4y Πρότυπον:Top icon 10 3537 36953 2025-12-16T13:36:00Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly><nowiki /><!-- This nowiki tag helps prevent whitespace at the top of articles. -->{{#tag:indicator |[[File:{{{image|{{{imagename|}}}}}}|class=notpageimage|{{#if:{{{width|}}}|{{{width}}}|20}}x{{#if:{{{height|}}}|{{{height}}}|20}}px |{{#if:{{{link|{{{wikilink|}}}}}}|link={{{link|{{{wikilink}}}}}}}} |{{#if:{{{alt|}}}|alt={{{alt}}}}} |{{{text|{{{description|}}}}}}]] |name = {{#if:{{{sortkey|}}}|{{{sortkey}}}-}}{{#if:{{{name|}}}|{{{name...' 36953 wikitext text/x-wiki <includeonly><nowiki /><!-- This nowiki tag helps prevent whitespace at the top of articles. -->{{#tag:indicator |[[File:{{{image|{{{imagename|}}}}}}|class=notpageimage|{{#if:{{{width|}}}|{{{width}}}|20}}x{{#if:{{{height|}}}|{{{height}}}|20}}px |{{#if:{{{link|{{{wikilink|}}}}}}|link={{{link|{{{wikilink}}}}}}}} |{{#if:{{{alt|}}}|alt={{{alt}}}}} |{{{text|{{{description|}}}}}}]] |name = {{#if:{{{sortkey|}}}|{{{sortkey}}}-}}{{#if:{{{name|}}}|{{{name}}}|{{#if:{{{id|}}}|{{{id}}}|{{{image|{{{imagename|}}}}}}}}}} }}{{Category handler |user = {{{usercat|}}} |main = {{{maincat|}}} |subpage = {{{subpage|no}}} |nocat = {{{nocat|}}} }}</includeonly><noinclude> {{Documentation}} </noinclude> fghbfef651v3q88mgqzh1qdjyglhm82 Πρότυπον:Category handler 10 3538 36954 2025-12-16T13:36:55Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#invoke:Category handler|main}}<noinclude> {{documentation}} <!-- Add categories to the /doc subpage, and interwikis to Wikidata. --> </noinclude>' 36954 wikitext text/x-wiki {{#invoke:Category handler|main}}<noinclude> {{documentation}} <!-- Add categories to the /doc subpage, and interwikis to Wikidata. --> </noinclude> og6fhyj2ssd4fmzpqzuodk12q3cms0z Module:Location map/multi 828 3539 36955 2025-12-16T13:42:35Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'require('strict') local p = {} local getArgs = require('Module:Arguments').getArgs local locmap = require('Module:Location map') function p.container(frame, args, map) if not args then args = getArgs(frame, {wrappers = 'Template:Location map+', valueFunc = locmap.valueFunc}) end if not map then map = locmap.getMapParams(args[1], frame) end return locmap.top(frame, args, map) .. (args.places and args.places:gsub('%s*\n%s*', '') or '') .....' 36955 Scribunto text/plain require('strict') local p = {} local getArgs = require('Module:Arguments').getArgs local locmap = require('Module:Location map') function p.container(frame, args, map) if not args then args = getArgs(frame, {wrappers = 'Template:Location map+', valueFunc = locmap.valueFunc}) end if not map then map = locmap.getMapParams(args[1], frame) end return locmap.top(frame, args, map) .. (args.places and args.places:gsub('%s*\n%s*', '') or '') .. locmap.bottom(frame, args, map) end local function manyMakeArgs(fullArgs, n) if n == 1 then return { lat = fullArgs.lat1 or fullArgs.lat, long = fullArgs.long1 or fullArgs.long, coordinates = fullArgs.coordinates1 or fullArgs.coordinates, lat_deg = fullArgs.lat1_deg or fullArgs.lat_deg, lat_min = fullArgs.lat1_min or fullArgs.lat_min, lat_sec = fullArgs.lat1_sec or fullArgs.lat_sec, lat_dir = fullArgs.lat1_dir or fullArgs.lat_dir, lon_deg = fullArgs.lon1_deg or fullArgs.lon_deg, lon_min = fullArgs.lon1_min or fullArgs.lon_min, lon_sec = fullArgs.lon1_sec or fullArgs.lon_sec, lon_dir = fullArgs.lon1_dir or fullArgs.lon_dir, mark = fullArgs.mark1 or fullArgs.mark, marksize = fullArgs.mark1size or fullArgs.marksize, link = fullArgs.link1 or fullArgs.link, label = fullArgs.label1 or fullArgs.label, label_size = fullArgs.label1_size or fullArgs.label_size, position = fullArgs.position1 or fullArgs.pos1 or fullArgs.position or fullArgs.pos, background = fullArgs.background1 or fullArgs.bg1 or fullArgs.background or fullArgs.bg } else return { lat = fullArgs['lat' .. n], long = fullArgs['long' .. n], coordinates = fullArgs['coordinates' .. n], lat_deg = fullArgs['lat' .. n .. '_deg'], lat_min = fullArgs['lat' .. n .. '_min'], lat_sec = fullArgs['lat' .. n .. '_sec'], lat_dir = fullArgs['lat' .. n .. '_dir'], lon_deg = fullArgs['lon' .. n .. '_deg'], lon_min = fullArgs['lon' .. n .. '_min'], lon_sec = fullArgs['lon' .. n .. '_sec'], lon_dir = fullArgs['lon' .. n .. '_dir'], outside = fullArgs['outside' .. n], mark = fullArgs['mark' .. n], marksize = fullArgs['mark' .. n .. 'size'], link = fullArgs['link' .. n], label = fullArgs['label' .. n], label_size = fullArgs['label' .. n .. '_size'], position = fullArgs['position' .. n] or fullArgs['pos' .. n], background = fullArgs['background' .. n] or fullArgs['bg' .. n] } end end function p.many(frame, args, map) if not args then args = getArgs(frame, {wrappers = 'Template:Location map many', valueFunc = locmap.valueFunc}) end if not args[1] then args[1] = 'World' end if not map then map = {} for mapname in string.gmatch(args[1], '[^#]+') do map[#map + 1] = locmap.getMapParams(mapname, frame) end if #map ~= 1 then local outputs = {} args.autoSwitcherLabel = true for k,v in ipairs(map) do outputs[k] = p.many(frame, args, v) end return '<div class="switcher-container">' .. table.concat(outputs) .. '</div>' end map = map[1] end local marks = {} local markhigh if args.markhigh then mw.log('Removed parameter markhigh used.') local parent = frame:getParent() if parent then mw.log('Parent is ' .. parent:getTitle()) end mw.logObject(args, 'args') markhigh = true end for k, v in pairs(args) do -- @todo change to uargs once we have that if v then if string.sub(k, -4) == '_deg' then k = string.sub(k, 1, -5) end if string.sub(k, 1, 3) == 'lat' then k = tonumber(string.sub(k, 4)) if k then table.insert(marks, k) end elseif string.sub(k, 1, 11) == 'coordinates' then k = tonumber(string.sub(k, 12)) if k then table.insert(marks,k) end end end end table.sort(marks) if marks[1] ~= 1 and (args.lat or args.lat_deg or args.coordinates) then table.insert(marks, 1, 1) end local body = '' for _, v in ipairs(marks) do -- don't try to consolidate this into the above loop. ordering of elements from pairs() is unspecified body = body .. tostring( locmap.mark(frame, manyMakeArgs(args, v), map) ) if args['mark' .. v .. 'high'] then mw.log('Removed parameter mark' .. v .. 'high used.') local parent = frame:getParent() if parent then mw.log('Parent is ' .. parent:getTitle()) end mw.logObject(args, 'args') markhigh = true end end args.label = nil -- there is no global label return locmap.top(frame, args, map) .. body .. locmap.bottom(frame, args, map) .. (markhigh and '[[Category:Location maps with possible errors|Page using removed parameter]]' or '') end function p.load(frame, args, map) if not args then args = getArgs(frame, {frameOnly = true}) end local dataModule = mw.loadData(frame.args[1]) if not map then map = {} for mapname in string.gmatch(dataModule.containerArgs[1], '[^#]+') do map[#map + 1] = locmap.getMapParams(mapname, frame) end if #map ~= 1 then local outputs = {} args.autoSwitcherLabel = true for k,v in ipairs(map) do outputs[k] = p.load(frame, args, v) end return '<div class="switcher-container">' .. table.concat(outputs) .. '</div>' end map = map[1] end local marks = {} if dataModule.marks then for k,markArgs in ipairs(dataModule.marks) do marks[k] = tostring(locmap.mark(frame, markArgs, map)) end end if dataModule.secondaryModules then for _,modname in ipairs(dataModule.secondaryModules) do for _,markArgs in ipairs(mw.loadData(modname).marks) do marks[#marks + 1] = tostring(locmap.mark(frame, markArgs, map)) end end end return locmap.top(frame, dataModule.containerArgs, map) .. table.concat(marks) .. locmap.bottom(frame, dataModule.containerArgs, map) end return p hvyclt43lr85tnw4izln3q85ts2y2i6 Πρότυπον:Location map/styles.css 10 3540 36956 2025-12-16T13:44:02Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '.locmap .od { position: absolute; } .locmap .id { position: absolute; line-height: 0; } .locmap .l0 { font-size: 0; position: absolute; } .locmap .pv { line-height: 110%; position: absolute; text-align: center; } .locmap .pl { line-height: 110%; position: absolute; top: -0.75em; text-align: right; } .locmap .pr { line-height: 110%; position: absolute; top: -0.75em; text-align: left; } .locmap .pv > div { display: inline; pad...' 36956 sanitized-css text/css .locmap .od { position: absolute; } .locmap .id { position: absolute; line-height: 0; } .locmap .l0 { font-size: 0; position: absolute; } .locmap .pv { line-height: 110%; position: absolute; text-align: center; } .locmap .pl { line-height: 110%; position: absolute; top: -0.75em; text-align: right; } .locmap .pr { line-height: 110%; position: absolute; top: -0.75em; text-align: left; } .locmap .pv > div { display: inline; padding: 1px; } .locmap .pl > div { display: inline; /* inline does not impact floated elements */ padding: 1px; float: right; } .locmap .pr > div { display: inline; /* inline does not impact floated elements */ padding: 1px; float: left; } /* Dark mode theme: */ @media screen { html.skin-theme-clientpref-night .od, html.skin-theme-clientpref-night .od .pv > div, html.skin-theme-clientpref-night .od .pl > div, html.skin-theme-clientpref-night .od .pr > div { /* Use !important to override any infobox rules */ background: #fff !important; color: #000 !important; } html.skin-theme-clientpref-night .locmap { filter: grayscale(0.6); } /* Special handling for maps inside infoboxes * [[Module talk:Location map#Map label background bug in dark mode]] */ html.skin-theme-clientpref-night .infobox-full-data .locmap div { background: transparent !important; } } @media screen and (prefers-color-scheme: dark) { html.skin-theme-clientpref-os .locmap { filter: grayscale(0.6); } html.skin-theme-clientpref-os .od, html.skin-theme-clientpref-os .od .pv > div, html.skin-theme-clientpref-os .od .pl > div, html.skin-theme-clientpref-os .od .pr > div { /* Use !important to override any infobox rules */ background: white !important; color: #000 !important; } html.skin-theme-clientpref-os .infobox-full-data .locmap div { background: transparent !important; } } idh7txxvu2xq51q6qikguru7bmfx39b Πρότυπον:Location map~ 10 3541 36957 2025-12-16T13:44:59Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{#invoke:Location map|mark}}</includeonly><noinclude> {{Documentation}} </noinclude>' 36957 wikitext text/x-wiki <includeonly>{{#invoke:Location map|mark}}</includeonly><noinclude> {{Documentation}} </noinclude> 1lw8zlt59mztp7ojo9dt06oixklle0p Module:Location map/data/Greece 828 3542 36958 2025-12-16T13:46:23Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'return { name = 'Greece', top = 42.0, bottom = 34.6, left = 19.1, right = 29.9, image = 'Greece location map.svg', image1 = 'Greece relief location map.jpg' }' 36958 Scribunto text/plain return { name = 'Greece', top = 42.0, bottom = 34.6, left = 19.1, right = 29.9, image = 'Greece location map.svg', image1 = 'Greece relief location map.jpg' } 7ul2hl356klg7qepqsm1qztd95d5uqb Πρότυπον:Icon 10 3543 36959 2025-12-16T13:47:01Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'File:{{#switch:{{lc:{{{class|{{{1|}}}}}}}} |fa = Featured article star.svg {{!}} Featured article |far = Cscr-star piece.png {{!}} Featured article review |farc = Cscr-star piece.png {{!}} Featured article removal candidate |ffa|dfa = Featured article star - cross.svg {{!}} Former featured article |fac|fan = Cscr-candidate.svg...' 36959 wikitext text/x-wiki [[File:{{#switch:{{lc:{{{class|{{{1|}}}}}}}} |fa = Featured article star.svg {{!}} Featured article |far = Cscr-star piece.png {{!}} Featured article review |farc = Cscr-star piece.png {{!}} Featured article removal candidate |ffa|dfa = Featured article star - cross.svg {{!}} Former featured article |fac|fan = Cscr-candidate.svg {{!}} Featured article candidate |ffac|nofa = Featured article star - cross.svg {{!}} Failed featured article candidate |fl = Featured article star.svg {{!}} Featured list |flrc|flr = Cscr-star piece.png {{!}} Featured list removal candidate |ffl|dfl = Cscr-featured-strike.svg {{!}} Former featured list |flc|fln = Cscr-candidate.svg {{!}} Featured list candidate |fflc|nofl = Cscr-former.svg {{!}} Failed featured list candidate |a = Symbol a class.svg {{!}} A-Class article |dac|daa = Symbol unsupport A vote.svg {{!}} Demoted A-Class article |acc|acn|aac = A candidate.svg {{!}} A-Class article candidate |noac|faac = Symbol unsupport A vote.svg {{!}} Failed A-Class article candidate |ga = Symbol support vote.svg {{!}} Good article |gar = GA Candidate Neutral vote(ChaosNil).svg {{!}} Good article reassessment |dga = Symbol unsupport vote.svg {{!}} Delisted good article |gan|gac = GA candidate.svg {{!}} Good article nominee |ga2 = Symbol neutral vote.svg {{!}} Good article, 2nd opinion |gah = Symbol wait.svg {{!}} Good article on hold |fgan|noga|gaf|gf = Symbol oppose vote.svg {{!}} Failed good article nominee |fp = Cscr-featured.svg {{!}} Featured picture |ffp = Cscr-former.svg {{!}} Former featured picture |vp = ENWP VP Logo.svg {{!}} Valued picture |vpc = Valued pics 1.svg {{!}} Valued picture candidate |fs = Cscr-featured.svg {{!}} Featured sound |ffs = Cscr-former.svg {{!}} Former featured sound |fsc = Cscr-candidate.svg {{!}} Featured sound candidate |fpo = Cscr-featured.svg {{!}} Featured portal |fpor = Cscr-star piece.png {{!}} Featured portal review |ffpo = Featured article star - cross.svg {{!}} Former featured portal |fpoc = Cscr-candidate.svg {{!}} Featured portal candidate |ft = Cscr-featuredtopic.svg {{!}} Featured topic |ftrc = Cscr-star piece.png {{!}} Featured topic removal candidate |fft|dft = DFT candidate_cluster.svg {{!}} Former featured topic |ftc|ftn = FT candidate cluster.svg {{!}} Featured topic candidate |gt = Support cluster.svg {{!}} Good topic |gtrc = Symbol unsupport vote.svg {{!}} Good topic removal candidate |gtc|gtn = GA candidate cluster.svg {{!}} Good topic candidate |bplus|b+ = Symbol bplus class.svg {{!}} Bplus-Class article |b = Symbol b class.svg {{!}} B-Class article |br|bcr = Bclass-checklist.svg {{!}} B-Class review |c = Symbol c class.svg {{!}} C-Class article |start = Symbol start class.svg {{!}} Start-Class article |stub = Symbol stub class.svg {{!}} Stub-Class article |list|comparison= Symbol list class.svg {{!}} List-Class article |no = Crystal button cancel.svg {{!}} Unknown-Class article |book = Symbol book class2.svg {{!}} Wikipedia book |cat|categ|category |κατηγορία = Folder Hexagonal Icon.svg {{!}} Κατηγορία |dab|disamb |disambig|disambiguation |αποσαφήνιση = Symbol dab class.svg {{!}} Σελίδα αποσαφήνισης |image|file = Video-x-generic.svg {{!}} Αρχείο |portal = Portal-puzzle.svg {{!}} Πύλη |project = Symbol information vote.svg {{!}} Σελίδα εγχειρήματος |red|redir|redirect |ανακατεύθυνση = Symbol redirect vote2.svg {{!}} Ανακατεύθυνση |temp|templ |template = Symbol template class.svg {{!}} Πρότυπο |na = Symbol neutral vote.svg {{!}} Μη λήμμα |aa = Yes check.svg {{!}} Audited article of limited subject matter |da = Symbol oppose vote.svg {{!}} Demoted article |dyk = Symbol question.svg {{!}} Did You Know? |dyk2 = DYK questionmark icon.svg {{!}} Did You Know? |pr = Nuvola apps kedit.svg {{!}} Peer review |ppr = Nuvola apps kedit.svg {{!}} Portal peer review |q|question = Symbol question.svg {{!}} Question |qi = Quality images logo.svg {{!}} Quality image on Wikimedia Commons |vi = Valued image seal.svg {{!}} Valued image on Wikimedia Commons |tfa = Wikipedia-logo.svg {{!}} Today's Featured Article |itn = Globe current.svg {{!}} In The News |otd = Nuvola apps date.svg {{!}} On This Day |wikiproject = People icon.svg {{!}} WikiProject |wikipedia = Wikipedia-logo.svg {{!}} Wikipedia page |commons = Commons-logo.svg {{!}} Commons page |wikiquote = Wikiquote-logo.svg {{!}} Wikiquote page |wikiversity = Wikiversity-logo.svg {{!}} Wikiversity page |wikibooks = Wikibooks-logo.svg {{!}} Wikibooks page |wikisource = Wikisource-logo.svg {{!}} Wikisource page |wiktionary = Wiktionary-logo.svg {{!}} Wiktionary page |wikinews = Wikinews-logo.svg {{!}} Wikinews page |wikispecies = Wikispecies-logo.svg {{!}} Wikispecies page |wikidata = Wikidata-logo.svg {{!}} Wikidata page |wikivoyage = Wikivoyage-logo.svg {{!}} Wikivoyage page |meta = Wikimedia Community Logo.svg {{!}} Meta-wiki page |four = Four Award.svg {{!}} Four Award |million = Million award logo.svg {{!}} Million Award |#default = Symbol question.svg }}|{{{size|16x16px}}}|link=]]<noinclude> {{documentation}} </noinclude> 5zlt8iyv4nb5o2om6bi7cq94u6p2y9c Module:Wikidata/Formatters/empty 828 3544 36960 2025-12-16T13:49:32Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "strict" local p = {} function p.formatValue() return "" end p.formatRawValue = p.formatValue p.getRawValue = p.formatValue return p' 36960 Scribunto text/plain --require "strict" local p = {} function p.formatValue() return "" end p.formatRawValue = p.formatValue p.getRawValue = p.formatValue return p 0li7cu3moc9cbpria6wgwl9bv5bbf9n Module:Wikidata/Formatters/rating 828 3545 36961 2025-12-16T13:50:26Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} function p.formatValue(value, options) local ImageFormatter = require 'Module:ImageFormatter' return ImageFormatter.makeImage(value, { alt = mw.wikibase.label(options.id), description = mw.wikibase.label(options.id) or mw.wikibase.label(options.of), link = mw.wikibase.sitelink(options.link) or ('d:' .. options.link), size = '25px' }) end return p' 36961 Scribunto text/plain local p = {} function p.formatValue(value, options) local ImageFormatter = require 'Module:ImageFormatter' return ImageFormatter.makeImage(value, { alt = mw.wikibase.label(options.id), description = mw.wikibase.label(options.id) or mw.wikibase.label(options.of), link = mw.wikibase.sitelink(options.link) or ('d:' .. options.link), size = '25px' }) end return p 58fyre2d121a3mmz4550wz92kbnathq Module:Wikidata/Formatters/url 828 3546 36962 2025-12-16T13:52:30Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} function p.formatValue(value, options) local URL = require 'Module:URL' return URL._url(value, options.text) end return p' 36962 Scribunto text/plain local p = {} function p.formatValue(value, options) local URL = require 'Module:URL' return URL._url(value, options.text) end return p 6tqzjgbynvn6pt1uqv0g53ryyakij9v Module:Wikidata/Formatters/round 828 3547 36963 2025-12-16T13:55:00Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} local formatNumber = p.formatNumber local function roundToOneDecimal(value) local int, fract = math.modf(value) local fract_times_ten = fract * 10 if fract_times_ten - math.floor(fract_times_ten) < 0.5 then return int + math.floor(fract_times_ten) / 10 else return int + math.ceil(fract_times_ten) / 10 end end function p.formatNumber(value) local factor = 1 if value < 0 then value = -value factor = -factor end if va...' 36963 Scribunto text/plain local p = {} local formatNumber = p.formatNumber local function roundToOneDecimal(value) local int, fract = math.modf(value) local fract_times_ten = fract * 10 if fract_times_ten - math.floor(fract_times_ten) < 0.5 then return int + math.floor(fract_times_ten) / 10 else return int + math.ceil(fract_times_ten) / 10 end end function p.formatNumber(value) local factor = 1 if value < 0 then value = -value factor = -factor end if value > 10^6 and value < 10^9 then return mw.ustring.format('%s&nbsp;mil.', formatNumber(factor * roundToOneDecimal(value / 10^6))) elseif value > 10^9 and value < 10^12 then return mw.ustring.format('%s&nbsp;mld.', formatNumber(factor * roundToOneDecimal(value / 10^9))) else return formatNumber(factor * value) end end return p 25i1fqsr4cu9ey6y2kxrgy34l0wljoa Module:Wikidata/Formatters/approx 828 3548 36964 2025-12-16T13:55:58Z Εὐθυμένης 2777 Καινούρεον σελίδαν με 'local p = {} local formatNumber = p.formatNumber local function roundToHundreds(value) local remainder = value % 100 if remainder < 50 then return math.floor(value / 100) * 100 else return math.ceil(value / 100) * 100 end end function p.formatNumber(value) if value > 1000 and value < 10000 then return mw.ustring.format('přibližně %s', formatNumber(roundToHundreds(value))) elseif value > 10000 and value < 1000000 then return mw.u...' 36964 Scribunto text/plain local p = {} local formatNumber = p.formatNumber local function roundToHundreds(value) local remainder = value % 100 if remainder < 50 then return math.floor(value / 100) * 100 else return math.ceil(value / 100) * 100 end end function p.formatNumber(value) if value > 1000 and value < 10000 then return mw.ustring.format('přibližně %s', formatNumber(roundToHundreds(value))) elseif value > 10000 and value < 1000000 then return mw.ustring.format('přes %s tisíc', formatNumber(math.floor(value / 1000))) else return formatNumber(value) end end return p 5r8ulmbxtenc9wuqlmr21zlcbimv6oa Πρότυπον:Infobox3cols 10 3549 36965 2025-12-16T13:57:30Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<table class="infobox {{{bodyclass|}}}" cellspacing="5" style="{{#ifeq:{{{child|}}}|yes|padding:0;border:none; margin:auto;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent;|width: 22em; text-align: left; font-size: 88%; line-height: 1.5em;}} {{{bodystyle|}}}"><!-- Caption -->{{#if:{{{title|}}}|<caption class="{{{titleclass|}}}" style="font-size:{{#ifeq:{{{child|}}}|yes|100%|125%}}; font-weight: bold; {{{...' 36965 wikitext text/x-wiki <table class="infobox {{{bodyclass|}}}" cellspacing="5" style="{{#ifeq:{{{child|}}}|yes|padding:0;border:none; margin:auto;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent;|width: 22em; text-align: left; font-size: 88%; line-height: 1.5em;}} {{{bodystyle|}}}"><!-- Caption -->{{#if:{{{title|}}}|<caption class="{{{titleclass|}}}" style="font-size:{{#ifeq:{{{child|}}}|yes|100%|125%}}; font-weight: bold; {{{titlestyle|}}}">{{{title}}}</caption>}}<!-- Header -->{{#if:{{{above|}}}|{{Infobox3cols/row |header={{{above}}} |headerstyle=text-align:center; font-size:125%; font-weight:bold; {{{abovestyle|}}} |class={{{aboveclass|}}} |rowclass={{{aboverowclass|}}} }} }}<!-- Subheader1 -->{{#if:{{{subheader|}}}|{{Infobox3cols/row |data={{{subheader}}} |datastyle={{{subheaderstyle|}}} |class={{{subheaderclass|}}} |rowclass={{{subheaderrowclass1|}}} }} }}<!-- Subheader2 -->{{#if:{{{subheader2|}}}|{{Infobox3cols/row |data={{{subheader2}}} |datastyle={{{subheaderstyle|}}} |class={{{subheaderclass|}}} |rowclass={{{subheaderrowclass2|}}} }} }}<!-- Image1 -->{{#if:{{{image|{{{image1|}}}}}}|{{Infobox3cols/row |data={{{image|{{{image1}}} }}}{{#if:{{{caption|{{{caption1|}}}}}}|<br /><span style="{{{captionstyle|}}}">{{{caption|{{{caption1}}}}}}</span>}} |datastyle={{{imagestyle|}}} |class={{{imageclass|}}} |rowclass={{{imagerowclass1|}}} }} }}<!-- Image2 -->{{#if:{{{image2|}}}|{{Infobox3cols/row |data={{{image2}}}{{#if:{{{caption2|}}}|<br /><span style="{{{captionstyle|}}}">{{{caption2|}}}</span>}} |datastyle={{{imagestyle|}}} |class={{{imageclass|}}} |rowclass={{{imagerowclass2|}}} }} }}<!-- Row 0 -->{{ infobox3cols/row | header = {{{header0|}}} | headerstyle = {{{headerstyle|}}} | label = {{{label0|}}} | labelstyle = {{{labelstyle|}}} | data = {{{data0|}}} | datastyle = {{{datastyle|}}} | dataa = {{{data0a|}}} | datastylea = {{{datastylea|}}} | datab = {{{data0b|}}} | datastyleb = {{{datastyleb|}}} | datac = {{{data0c|}}} | datastylec = {{{datastylec|}}} | class = {{{class0|}}} | rowclass = {{{rowclass0|}}} | multidatastyle = {{{multidatastyle|}}} }}<!-- Row 1 -->{{ infobox3cols/row | header = {{{header1|}}} | headerstyle = {{{headerstyle|}}} | label = {{{label1|}}} | labelstyle = {{{labelstyle|}}} | data = {{{data1|}}} | datastyle = {{{datastyle|}}} | dataa = {{{data1a|}}} | datastylea = {{{datastylea|}}} | datab = {{{data1b|}}} | datastyleb = {{{datastyleb|}}} | datac = {{{data1c|}}} | datastylec = {{{datastylec|}}} | class = {{{class1|}}} | rowclass = {{{rowclass1|}}} | multidatastyle = {{{multidatastyle|}}} }}<!-- Row 2 -->{{#if:{{{header2|}}}|<tr class="{{{rowclass2|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header2|}}}</th></tr>| {{#if:{{{label2|}}}|{{#if:{{{data2|}}}|<tr class="{{{rowclass2|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label2|}}}</th><td colspan="3" class="{{{class2|}}}" style="{{{datastyle|}}}">{{{data2|}}}</td></tr>|{{#if:{{{data2a|}}}{{{data2b|}}}|<tr class="{{{rowclass2|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label2|}}}</th><td class="{{{class2a|}}}" style="{{{datastylea|}}}">{{{data2a|}}}</td><td class="{{{class2b|}}}" style="{{{datastyleb|}}}">{{{data2b|}}}</td><td class="{{{class2c|}}}" style="{{{datastylec|}}}">{{{data2c|}}}</td></tr>}}}}| {{#if:{{{data2|}}}|<tr class="{{{rowclass2|}}}"><td colspan="4" class="{{{class2|}}}" style="text-align:center; {{{datastyle|}}}">{{{data2|}}}</td></tr>}} }} }}<!-- Row 3 -->{{#if:{{{header3|}}}|<tr class="{{{rowclass3|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header3|}}}</th></tr>| {{#if:{{{label3|}}}|{{#if:{{{data3|}}}|<tr class="{{{rowclass3|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label3|}}}</th><td colspan="3" class="{{{class3|}}}" style="{{{datastyle|}}}">{{{data3|}}}</td></tr>|{{#if:{{{data3a|}}}{{{data3b|}}}|<tr class="{{{rowclass3|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label3|}}}</th><td class="{{{class3a|}}}" style="{{{datastylea|}}}">{{{data3a|}}}</td><td class="{{{class3b|}}}" style="{{{datastyleb|}}}">{{{data3b|}}}</td><td class="{{{class3c|}}}" style="{{{datastylec|}}}">{{{data3c|}}}</td></tr>}}}}| {{#if:{{{data3|}}}|<tr class="{{{rowclass3|}}}"><td colspan="4" class="{{{class3|}}}" style="text-align:center; {{{datastyle|}}}">{{{data3|}}}</td></tr>}} }} }}<!-- Row 4 -->{{#if:{{{header4|}}}|<tr class="{{{rowclass4|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header4|}}}</th></tr>| {{#if:{{{label4|}}}|{{#if:{{{data4|}}}|<tr class="{{{rowclass4|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label4|}}}</th><td colspan="3" class="{{{class4|}}}" style="{{{datastyle|}}}">{{{data4|}}}</td></tr>|{{#if:{{{data4a|}}}{{{data4b|}}}|<tr class="{{{rowclass4|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label4|}}}</th><td class="{{{class4a|}}}" style="{{{datastylea|}}}">{{{data4a|}}}</td><td class="{{{class4b|}}}" style="{{{datastyleb|}}}">{{{data4b|}}}</td><td class="{{{class4c|}}}" style="{{{datastylec|}}}">{{{data4c|}}}</td></tr>}}}}| {{#if:{{{data4|}}}|<tr class="{{{rowclass4|}}}"><td colspan="4" class="{{{class4|}}}" style="text-align:center; {{{datastyle|}}}">{{{data4|}}}</td></tr>}} }} }}<!-- Row 5 -->{{#if:{{{header5|}}}|<tr class="{{{rowclass5|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header5|}}}</th></tr>| {{#if:{{{label5|}}}|{{#if:{{{data5|}}}|<tr class="{{{rowclass5|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label5|}}}</th><td colspan="3" class="{{{class5|}}}" style="{{{datastyle|}}}">{{{data5|}}}</td></tr>|{{#if:{{{data5a|}}}{{{data5b|}}}|<tr class="{{{rowclass5|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label5|}}}</th><td class="{{{class5a|}}}" style="{{{datastylea|}}}">{{{data5a|}}}</td><td class="{{{class5b|}}}" style="{{{datastyleb|}}}">{{{data5b|}}}</td><td class="{{{class5c|}}}" style="{{{datastylec|}}}">{{{data5c|}}}</td></tr>}}}}| {{#if:{{{data5|}}}|<tr class="{{{rowclass5|}}}"><td colspan="4" class="{{{class5|}}}" style="text-align:center; {{{datastyle|}}}">{{{data5|}}}</td></tr>}} }} }}<!-- Row 6 -->{{#if:{{{header6|}}}|<tr class="{{{rowclass6|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header6|}}}</th></tr>| {{#if:{{{label6|}}}|{{#if:{{{data6|}}}|<tr class="{{{rowclass6|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label6|}}}</th><td colspan="3" class="{{{class6|}}}" style="{{{datastyle|}}}">{{{data6|}}}</td></tr>|{{#if:{{{data6a|}}}{{{data6b|}}}|<tr class="{{{rowclass6|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label6|}}}</th><td class="{{{class6a|}}}" style="{{{datastylea|}}}">{{{data6a|}}}</td><td class="{{{class6b|}}}" style="{{{datastyleb|}}}">{{{data6b|}}}</td><td class="{{{class6c|}}}" style="{{{datastylec|}}}">{{{data6c|}}}</td></tr>}}}}| {{#if:{{{data6|}}}|<tr class="{{{rowclass6|}}}"><td colspan="4" class="{{{class6|}}}" style="text-align:center; {{{datastyle|}}}">{{{data6|}}}</td></tr>}} }} }}<!-- Row 7 -->{{#if:{{{header7|}}}|<tr class="{{{rowclass7|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header7|}}}</th></tr>| {{#if:{{{label7|}}}|{{#if:{{{data7|}}}|<tr class="{{{rowclass7|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label7|}}}</th><td colspan="3" class="{{{class7|}}}" style="{{{datastyle|}}}">{{{data7|}}}</td></tr>|{{#if:{{{data7a|}}}{{{data7b|}}}|<tr class="{{{rowclass7|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label7|}}}</th><td class="{{{class7a|}}}" style="{{{datastylea|}}}">{{{data7a|}}}</td><td class="{{{class7b|}}}" style="{{{datastyleb|}}}">{{{data7b|}}}</td><td class="{{{class7c|}}}" style="{{{datastylec|}}}">{{{data7c|}}}</td></tr>}}}}| {{#if:{{{data7|}}}|<tr class="{{{rowclass7|}}}"><td colspan="4" class="{{{class7|}}}" style="text-align:center; {{{datastyle|}}}">{{{data7|}}}</td></tr>}} }} }}<!-- Row 8 -->{{#if:{{{header8|}}}|<tr class="{{{rowclass8|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header8|}}}</th></tr>| {{#if:{{{label8|}}}|{{#if:{{{data8|}}}|<tr class="{{{rowclass8|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label8|}}}</th><td colspan="3" class="{{{class8|}}}" style="{{{datastyle|}}}">{{{data8|}}}</td></tr>|{{#if:{{{data8a|}}}{{{data8b|}}}|<tr class="{{{rowclass8|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label8|}}}</th><td class="{{{class8a|}}}" style="{{{datastylea|}}}">{{{data8a|}}}</td><td class="{{{class8b|}}}" style="{{{datastyleb|}}}">{{{data8b|}}}</td><td class="{{{class8c|}}}" style="{{{datastylec|}}}">{{{data8c|}}}</td></tr>}}}}| {{#if:{{{data8|}}}|<tr class="{{{rowclass8|}}}"><td colspan="4" class="{{{class8|}}}" style="text-align:center; {{{datastyle|}}}">{{{data8|}}}</td></tr>}} }} }}<!-- Row 9 -->{{#if:{{{header9|}}}|<tr class="{{{rowclass9|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header9|}}}</th></tr>| {{#if:{{{label9|}}}|{{#if:{{{data9|}}}|<tr class="{{{rowclass9|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label9|}}}</th><td colspan="3" class="{{{class9|}}}" style="{{{datastyle|}}}">{{{data9|}}}</td></tr>|{{#if:{{{data9a|}}}{{{data9b|}}}|<tr class="{{{rowclass9|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label9|}}}</th><td class="{{{class9a|}}}" style="{{{datastylea|}}}">{{{data9a|}}}</td><td class="{{{class9b|}}}" style="{{{datastyleb|}}}">{{{data9b|}}}</td><td class="{{{class9c|}}}" style="{{{datastylec|}}}">{{{data9c|}}}</td></tr>}}}}| {{#if:{{{data9|}}}|<tr class="{{{rowclass9|}}}"><td colspan="4" class="{{{class9|}}}" style="text-align:center; {{{datastyle|}}}">{{{data9|}}}</td></tr>}} }} }}<!-- Row 10 -->{{#if:{{{header10|}}}|<tr class="{{{rowclass10|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header10|}}}</th></tr>| {{#if:{{{label10|}}}|{{#if:{{{data10|}}}|<tr class="{{{rowclass10|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label10|}}}</th><td colspan="3" class="{{{class10|}}}" style="{{{datastyle|}}}">{{{data10|}}}</td></tr>|{{#if:{{{data10a|}}}{{{data10b|}}}|<tr class="{{{rowclass10|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label10|}}}</th><td class="{{{class10a|}}}" style="{{{datastylea|}}}">{{{data10a|}}}</td><td class="{{{class10b|}}}" style="{{{datastyleb|}}}">{{{data10b|}}}</td><td class="{{{class10c|}}}" style="{{{datastylec|}}}">{{{data10c|}}}</td></tr>}}}}| {{#if:{{{data10|}}}|<tr class="{{{rowclass10|}}}"><td colspan="4" class="{{{class10|}}}" style="text-align:center; {{{datastyle|}}}">{{{data10|}}}</td></tr>}} }} }}<!-- Row 11 -->{{#if:{{{header11|}}}|<tr class="{{{rowclass11|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header11|}}}</th></tr>| {{#if:{{{label11|}}}|{{#if:{{{data11|}}}|<tr class="{{{rowclass11|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label11|}}}</th><td colspan="3" class="{{{class11|}}}" style="{{{datastyle|}}}">{{{data11|}}}</td></tr>|{{#if:{{{data11a|}}}{{{data11b|}}}|<tr class="{{{rowclass11|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label11|}}}</th><td class="{{{class11a|}}}" style="{{{datastylea|}}}">{{{data11a|}}}</td><td class="{{{class11b|}}}" style="{{{datastyleb|}}}">{{{data11b|}}}</td><td class="{{{class11c|}}}" style="{{{datastylec|}}}">{{{data11c|}}}</td></tr>}}}}| {{#if:{{{data11|}}}|<tr class="{{{rowclass11|}}}"><td colspan="4" class="{{{class11|}}}" style="text-align:center; {{{datastyle|}}}">{{{data11|}}}</td></tr>}} }} }}<!-- Row 12 -->{{#if:{{{header12|}}}|<tr class="{{{rowclass12|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header12|}}}</th></tr>| {{#if:{{{label12|}}}|{{#if:{{{data12|}}}|<tr class="{{{rowclass12|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label12|}}}</th><td colspan="3" class="{{{class12|}}}" style="{{{datastyle|}}}">{{{data12|}}}</td></tr>|{{#if:{{{data12a|}}}{{{data12b|}}}|<tr class="{{{rowclass12|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label12|}}}</th><td class="{{{class12a|}}}" style="{{{datastylea|}}}">{{{data12a|}}}</td><td class="{{{class12b|}}}" style="{{{datastyleb|}}}">{{{data12b|}}}</td><td class="{{{class12c|}}}" style="{{{datastylec|}}}">{{{data12c|}}}</td></tr>}}}}| {{#if:{{{data12|}}}|<tr class="{{{rowclass12|}}}"><td colspan="4" class="{{{class12|}}}" style="text-align:center; {{{datastyle|}}}">{{{data12|}}}</td></tr>}} }} }}<!-- Row 13 -->{{#if:{{{header13|}}}|<tr class="{{{rowclass13|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header13|}}}</th></tr>| {{#if:{{{label13|}}}|{{#if:{{{data13|}}}|<tr class="{{{rowclass13|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label13|}}}</th><td colspan="3" class="{{{class13|}}}" style="{{{datastyle|}}}">{{{data13|}}}</td></tr>|{{#if:{{{data13a|}}}{{{data13b|}}}|<tr class="{{{rowclass13|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label13|}}}</th><td class="{{{class13a|}}}" style="{{{datastylea|}}}">{{{data13a|}}}</td><td class="{{{class13b|}}}" style="{{{datastyleb|}}}">{{{data13b|}}}</td><td class="{{{class13c|}}}" style="{{{datastylec|}}}">{{{data13c|}}}</td></tr>}}}}| {{#if:{{{data13|}}}|<tr class="{{{rowclass13|}}}"><td colspan="4" class="{{{class13|}}}" style="text-align:center; {{{datastyle|}}}">{{{data13|}}}</td></tr>}} }} }}<!-- Row 14 -->{{#if:{{{header14|}}}|<tr class="{{{rowclass14|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header14|}}}</th></tr>| {{#if:{{{label14|}}}|{{#if:{{{data14|}}}|<tr class="{{{rowclass14|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label14|}}}</th><td colspan="3" class="{{{class14|}}}" style="{{{datastyle|}}}">{{{data14|}}}</td></tr>|{{#if:{{{data14a|}}}{{{data14b|}}}|<tr class="{{{rowclass14|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label14|}}}</th><td class="{{{class14a|}}}" style="{{{datastylea|}}}">{{{data14a|}}}</td><td class="{{{class14b|}}}" style="{{{datastyleb|}}}">{{{data14b|}}}</td><td class="{{{class14c|}}}" style="{{{datastylec|}}}">{{{data14c|}}}</td></tr>}}}}| {{#if:{{{data14|}}}|<tr class="{{{rowclass14|}}}"><td colspan="4" class="{{{class14|}}}" style="text-align:center; {{{datastyle|}}}">{{{data14|}}}</td></tr>}} }} }}<!-- Row 15 -->{{#if:{{{header15|}}}|<tr class="{{{rowclass15|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header15|}}}</th></tr>| {{#if:{{{label15|}}}|{{#if:{{{data15|}}}|<tr class="{{{rowclass15|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label15|}}}</th><td colspan="3" class="{{{class15|}}}" style="{{{datastyle|}}}">{{{data15|}}}</td></tr>|{{#if:{{{data15a|}}}{{{data15b|}}}|<tr class="{{{rowclass15|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label15|}}}</th><td class="{{{class15a|}}}" style="{{{datastylea|}}}">{{{data15a|}}}</td><td class="{{{class15b|}}}" style="{{{datastyleb|}}}">{{{data15b|}}}</td><td class="{{{class15c|}}}" style="{{{datastylec|}}}">{{{data15c|}}}</td></tr>}}}}| {{#if:{{{data15|}}}|<tr class="{{{rowclass15|}}}"><td colspan="4" class="{{{class15|}}}" style="text-align:center; {{{datastyle|}}}">{{{data15|}}}</td></tr>}} }} }}<!-- Row 16 -->{{#if:{{{header16|}}}|<tr class="{{{rowclass16|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header16|}}}</th></tr>| {{#if:{{{label16|}}}|{{#if:{{{data16|}}}|<tr class="{{{rowclass16|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label16|}}}</th><td colspan="3" class="{{{class16|}}}" style="{{{datastyle|}}}">{{{data16|}}}</td></tr>|{{#if:{{{data16a|}}}{{{data16b|}}}|<tr class="{{{rowclass16|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label16|}}}</th><td class="{{{class16a|}}}" style="{{{datastylea|}}}">{{{data16a|}}}</td><td class="{{{class16b|}}}" style="{{{datastyleb|}}}">{{{data16b|}}}</td><td class="{{{class16c|}}}" style="{{{datastylec|}}}">{{{data16c|}}}</td></tr>}}}}| {{#if:{{{data16|}}}|<tr class="{{{rowclass16|}}}"><td colspan="4" class="{{{class16|}}}" style="text-align:center; {{{datastyle|}}}">{{{data16|}}}</td></tr>}} }} }}<!-- Row 17 -->{{#if:{{{header17|}}}|<tr class="{{{rowclass17|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header17|}}}</th></tr>| {{#if:{{{label17|}}}|{{#if:{{{data17|}}}|<tr class="{{{rowclass17|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label17|}}}</th><td colspan="3" class="{{{class17|}}}" style="{{{datastyle|}}}">{{{data17|}}}</td></tr>|{{#if:{{{data17a|}}}{{{data17b|}}}|<tr class="{{{rowclass17|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label17|}}}</th><td class="{{{class17a|}}}" style="{{{datastylea|}}}">{{{data17a|}}}</td><td class="{{{class17b|}}}" style="{{{datastyleb|}}}">{{{data17b|}}}</td><td class="{{{class17c|}}}" style="{{{datastylec|}}}">{{{data17c|}}}</td></tr>}}}}| {{#if:{{{data17|}}}|<tr class="{{{rowclass17|}}}"><td colspan="4" class="{{{class17|}}}" style="text-align:center; {{{datastyle|}}}">{{{data17|}}}</td></tr>}} }} }}<!-- Row 18 -->{{#if:{{{header18|}}}|<tr class="{{{rowclass18|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header18|}}}</th></tr>| {{#if:{{{label18|}}}|{{#if:{{{data18|}}}|<tr class="{{{rowclass18|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label18|}}}</th><td colspan="3" class="{{{class18|}}}" style="{{{datastyle|}}}">{{{data18|}}}</td></tr>|{{#if:{{{data18a|}}}{{{data18b|}}}|<tr class="{{{rowclass18|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label18|}}}</th><td class="{{{class18a|}}}" style="{{{datastylea|}}}">{{{data18a|}}}</td><td class="{{{class18b|}}}" style="{{{datastyleb|}}}">{{{data18b|}}}</td><td class="{{{class18c|}}}" style="{{{datastylec|}}}">{{{data18c|}}}</td></tr>}}}}| {{#if:{{{data18|}}}|<tr class="{{{rowclass18|}}}"><td colspan="4" class="{{{class18|}}}" style="text-align:center; {{{datastyle|}}}">{{{data18|}}}</td></tr>}} }} }}<!-- Row 19 -->{{#if:{{{header19|}}}|<tr class="{{{rowclass19|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header19|}}}</th></tr>| {{#if:{{{label19|}}}|{{#if:{{{data19|}}}|<tr class="{{{rowclass19|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label19|}}}</th><td colspan="3" class="{{{class19|}}}" style="{{{datastyle|}}}">{{{data19|}}}</td></tr>|{{#if:{{{data19a|}}}{{{data19b|}}}|<tr class="{{{rowclass19|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label19|}}}</th><td class="{{{class19a|}}}" style="{{{datastylea|}}}">{{{data19a|}}}</td><td class="{{{class19b|}}}" style="{{{datastyleb|}}}">{{{data19b|}}}</td><td class="{{{class19c|}}}" style="{{{datastylec|}}}">{{{data19c|}}}</td></tr>}}}}| {{#if:{{{data19|}}}|<tr class="{{{rowclass19|}}}"><td colspan="4" class="{{{class19|}}}" style="text-align:center; {{{datastyle|}}}">{{{data19|}}}</td></tr>}} }} }}<!-- Row 20 -->{{#if:{{{header20|}}}|<tr class="{{{rowclass20|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header20|}}}</th></tr>| {{#if:{{{label20|}}}|{{#if:{{{data20|}}}|<tr class="{{{rowclass20|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label20|}}}</th><td colspan="3" class="{{{class20|}}}" style="{{{datastyle|}}}">{{{data20|}}}</td></tr>|{{#if:{{{data20a|}}}{{{data20b|}}}|<tr class="{{{rowclass20|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label20|}}}</th><td class="{{{class20a|}}}" style="{{{datastylea|}}}">{{{data20a|}}}</td><td class="{{{class20b|}}}" style="{{{datastyleb|}}}">{{{data20b|}}}</td><td class="{{{class20c|}}}" style="{{{datastylec|}}}">{{{data20c|}}}</td></tr>}}}}| {{#if:{{{data20|}}}|<tr class="{{{rowclass20|}}}"><td colspan="4" class="{{{class20|}}}" style="text-align:center; {{{datastyle|}}}">{{{data20|}}}</td></tr>}} }} }}<!-- Row 21 -->{{#if:{{{header21|}}}|<tr class="{{{rowclass21|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header21|}}}</th></tr>| {{#if:{{{label21|}}}|{{#if:{{{data21|}}}|<tr class="{{{rowclass21|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label21|}}}</th><td colspan="3" class="{{{class21|}}}" style="{{{datastyle|}}}">{{{data21|}}}</td></tr>|{{#if:{{{data21a|}}}{{{data21b|}}}|<tr class="{{{rowclass21|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label21|}}}</th><td class="{{{class21a|}}}" style="{{{datastylea|}}}">{{{data21a|}}}</td><td class="{{{class21b|}}}" style="{{{datastyleb|}}}">{{{data21b|}}}</td><td class="{{{class21c|}}}" style="{{{datastylec|}}}">{{{data21c|}}}</td></tr>}}}}| {{#if:{{{data21|}}}|<tr class="{{{rowclass21|}}}"><td colspan="4" class="{{{class21|}}}" style="text-align:center; {{{datastyle|}}}">{{{data21|}}}</td></tr>}} }} }}<!-- Row 22 -->{{#if:{{{header22|}}}|<tr class="{{{rowclass22|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header22|}}}</th></tr>| {{#if:{{{label22|}}}|{{#if:{{{data22|}}}|<tr class="{{{rowclass22|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label22|}}}</th><td colspan="3" class="{{{class22|}}}" style="{{{datastyle|}}}">{{{data22|}}}</td></tr>|{{#if:{{{data22a|}}}{{{data22b|}}}|<tr class="{{{rowclass22|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label22|}}}</th><td class="{{{class22a|}}}" style="{{{datastylea|}}}">{{{data22a|}}}</td><td class="{{{class22b|}}}" style="{{{datastyleb|}}}">{{{data22b|}}}</td><td class="{{{class22c|}}}" style="{{{datastylec|}}}">{{{data22c|}}}</td></tr>}}}}| {{#if:{{{data22|}}}|<tr class="{{{rowclass22|}}}"><td colspan="4" class="{{{class22|}}}" style="text-align:center; {{{datastyle|}}}">{{{data22|}}}</td></tr>}} }} }}<!-- Row 23 -->{{#if:{{{header23|}}}|<tr class="{{{rowclass23|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header23|}}}</th></tr>| {{#if:{{{label23|}}}|{{#if:{{{data23|}}}|<tr class="{{{rowclass23|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label23|}}}</th><td colspan="3" class="{{{class23|}}}" style="{{{datastyle|}}}">{{{data23|}}}</td></tr>|{{#if:{{{data23a|}}}{{{data23b|}}}|<tr class="{{{rowclass23|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label23|}}}</th><td class="{{{class23a|}}}" style="{{{datastylea|}}}">{{{data23a|}}}</td><td class="{{{class23b|}}}" style="{{{datastyleb|}}}">{{{data23b|}}}</td><td class="{{{class23c|}}}" style="{{{datastylec|}}}">{{{data23c|}}}</td></tr>}}}}| {{#if:{{{data23|}}}|<tr class="{{{rowclass23|}}}"><td colspan="4" class="{{{class23|}}}" style="text-align:center; {{{datastyle|}}}">{{{data23|}}}</td></tr>}} }} }}<!-- Row 24 -->{{#if:{{{header24|}}}|<tr class="{{{rowclass24|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header24|}}}</th></tr>| {{#if:{{{label24|}}}|{{#if:{{{data24|}}}|<tr class="{{{rowclass24|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label24|}}}</th><td colspan="3" class="{{{class24|}}}" style="{{{datastyle|}}}">{{{data24|}}}</td></tr>|{{#if:{{{data24a|}}}{{{data24b|}}}|<tr class="{{{rowclass24|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label24|}}}</th><td class="{{{class24a|}}}" style="{{{datastylea|}}}">{{{data24a|}}}</td><td class="{{{class24b|}}}" style="{{{datastyleb|}}}">{{{data24b|}}}</td><td class="{{{class24c|}}}" style="{{{datastylec|}}}">{{{data24c|}}}</td></tr>}}}}| {{#if:{{{data24|}}}|<tr class="{{{rowclass24|}}}"><td colspan="4" class="{{{class24|}}}" style="text-align:center; {{{datastyle|}}}">{{{data24|}}}</td></tr>}} }} }}<!-- Row 25 -->{{#if:{{{header25|}}}|<tr class="{{{rowclass25|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header25|}}}</th></tr>| {{#if:{{{label25|}}}|{{#if:{{{data25|}}}|<tr class="{{{rowclass25|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label25|}}}</th><td colspan="3" class="{{{class25|}}}" style="{{{datastyle|}}}">{{{data25|}}}</td></tr>|{{#if:{{{data25a|}}}{{{data25b|}}}|<tr class="{{{rowclass25|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label25|}}}</th><td class="{{{class25a|}}}" style="{{{datastylea|}}}">{{{data25a|}}}</td><td class="{{{class25b|}}}" style="{{{datastyleb|}}}">{{{data25b|}}}</td><td class="{{{class25c|}}}" style="{{{datastylec|}}}">{{{data25c|}}}</td></tr>}}}}| {{#if:{{{data25|}}}|<tr class="{{{rowclass25|}}}"><td colspan="4" class="{{{class25|}}}" style="text-align:center; {{{datastyle|}}}">{{{data25|}}}</td></tr>}} }} }}<!-- Row 26 -->{{#if:{{{header26|}}}|<tr class="{{{rowclass26|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header26|}}}</th></tr>| {{#if:{{{label26|}}}|{{#if:{{{data26|}}}|<tr class="{{{rowclass26|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label26|}}}</th><td colspan="3" class="{{{class26|}}}" style="{{{datastyle|}}}">{{{data26|}}}</td></tr>|{{#if:{{{data26a|}}}{{{data26b|}}}|<tr class="{{{rowclass26|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label26|}}}</th><td class="{{{class26a|}}}" style="{{{datastylea|}}}">{{{data26a|}}}</td><td class="{{{class26b|}}}" style="{{{datastyleb|}}}">{{{data26b|}}}</td><td class="{{{class26c|}}}" style="{{{datastylec|}}}">{{{data26c|}}}</td></tr>}}}}| {{#if:{{{data26|}}}|<tr class="{{{rowclass26|}}}"><td colspan="4" class="{{{class26|}}}" style="text-align:center; {{{datastyle|}}}">{{{data26|}}}</td></tr>}} }} }}<!-- Row 27 -->{{#if:{{{header27|}}}|<tr class="{{{rowclass27|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header27|}}}</th></tr>| {{#if:{{{label27|}}}|{{#if:{{{data27|}}}|<tr class="{{{rowclass27|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label27|}}}</th><td colspan="3" class="{{{class27|}}}" style="{{{datastyle|}}}">{{{data27|}}}</td></tr>|{{#if:{{{data27a|}}}{{{data27b|}}}|<tr class="{{{rowclass27|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label27|}}}</th><td class="{{{class27a|}}}" style="{{{datastylea|}}}">{{{data27a|}}}</td><td class="{{{class27b|}}}" style="{{{datastyleb|}}}">{{{data27b|}}}</td><td class="{{{class27c|}}}" style="{{{datastylec|}}}">{{{data27c|}}}</td></tr>}}}}| {{#if:{{{data27|}}}|<tr class="{{{rowclass27|}}}"><td colspan="4" class="{{{class27|}}}" style="text-align:center; {{{datastyle|}}}">{{{data27|}}}</td></tr>}} }} }}<!-- Row 28 -->{{#if:{{{header28|}}}|<tr class="{{{rowclass28|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header28|}}}</th></tr>| {{#if:{{{label28|}}}|{{#if:{{{data28|}}}|<tr class="{{{rowclass28|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label28|}}}</th><td colspan="3" class="{{{class28|}}}" style="{{{datastyle|}}}">{{{data28|}}}</td></tr>|{{#if:{{{data28a|}}}{{{data28b|}}}|<tr class="{{{rowclass28|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label28|}}}</th><td class="{{{class28a|}}}" style="{{{datastylea|}}}">{{{data28a|}}}</td><td class="{{{class28b|}}}" style="{{{datastyleb|}}}">{{{data28b|}}}</td><td class="{{{class28c|}}}" style="{{{datastylec|}}}">{{{data28c|}}}</td></tr>}}}}| {{#if:{{{data28|}}}|<tr class="{{{rowclass28|}}}"><td colspan="4" class="{{{class28|}}}" style="text-align:center; {{{datastyle|}}}">{{{data28|}}}</td></tr>}} }} }}<!-- Row 29 -->{{#if:{{{header29|}}}|<tr class="{{{rowclass29|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header29|}}}</th></tr>| {{#if:{{{label29|}}}|{{#if:{{{data29|}}}|<tr class="{{{rowclass29|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label29|}}}</th><td colspan="3" class="{{{class29|}}}" style="{{{datastyle|}}}">{{{data29|}}}</td></tr>|{{#if:{{{data29a|}}}{{{data29b|}}}|<tr class="{{{rowclass29|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label29|}}}</th><td class="{{{class29a|}}}" style="{{{datastylea|}}}">{{{data29a|}}}</td><td class="{{{class29b|}}}" style="{{{datastyleb|}}}">{{{data29b|}}}</td><td class="{{{class29c|}}}" style="{{{datastylec|}}}">{{{data29c|}}}</td></tr>}}}}| {{#if:{{{data29|}}}|<tr class="{{{rowclass29|}}}"><td colspan="4" class="{{{class29|}}}" style="text-align:center; {{{datastyle|}}}">{{{data29|}}}</td></tr>}} }} }}<!-- Row 30 -->{{#if:{{{header30|}}}|<tr class="{{{rowclass30|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header30|}}}</th></tr>| {{#if:{{{label30|}}}|{{#if:{{{data30|}}}|<tr class="{{{rowclass30|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label30|}}}</th><td colspan="3" class="{{{class30|}}}" style="{{{datastyle|}}}">{{{data30|}}}</td></tr>|{{#if:{{{data30a|}}}{{{data30b|}}}|<tr class="{{{rowclass30|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label30|}}}</th><td class="{{{class30a|}}}" style="{{{datastylea|}}}">{{{data30a|}}}</td><td class="{{{class30b|}}}" style="{{{datastyleb|}}}">{{{data30b|}}}</td><td class="{{{class30c|}}}" style="{{{datastylec|}}}">{{{data30c|}}}</td></tr>}}}}| {{#if:{{{data30|}}}|<tr class="{{{rowclass30|}}}"><td colspan="4" class="{{{class30|}}}" style="text-align:center; {{{datastyle|}}}">{{{data30|}}}</td></tr>}} }} }}<!-- Row 31 -->{{#if:{{{header31|}}}|<tr class="{{{rowclass31|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header31|}}}</th></tr>| {{#if:{{{label31|}}}|{{#if:{{{data31|}}}|<tr class="{{{rowclass31|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label31|}}}</th><td colspan="3" class="{{{class31|}}}" style="{{{datastyle|}}}">{{{data31|}}}</td></tr>|{{#if:{{{data31a|}}}{{{data31b|}}}|<tr class="{{{rowclass31|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label31|}}}</th><td class="{{{class31a|}}}" style="{{{datastylea|}}}">{{{data31a|}}}</td><td class="{{{class31b|}}}" style="{{{datastyleb|}}}">{{{data31b|}}}</td><td class="{{{class31c|}}}" style="{{{datastylec|}}}">{{{data31c|}}}</td></tr>}}}}| {{#if:{{{data31|}}}|<tr class="{{{rowclass31|}}}"><td colspan="4" class="{{{class31|}}}" style="text-align:center; {{{datastyle|}}}">{{{data31|}}}</td></tr>}} }} }}<!-- Row 32 -->{{#if:{{{header32|}}}|<tr class="{{{rowclass32|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header32|}}}</th></tr>| {{#if:{{{label32|}}}|{{#if:{{{data32|}}}|<tr class="{{{rowclass32|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label32|}}}</th><td colspan="3" class="{{{class32|}}}" style="{{{datastyle|}}}">{{{data32|}}}</td></tr>|{{#if:{{{data32a|}}}{{{data32b|}}}|<tr class="{{{rowclass32|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label32|}}}</th><td class="{{{class32a|}}}" style="{{{datastylea|}}}">{{{data32a|}}}</td><td class="{{{class32b|}}}" style="{{{datastyleb|}}}">{{{data32b|}}}</td><td class="{{{class32c|}}}" style="{{{datastylec|}}}">{{{data32c|}}}</td></tr>}}}}| {{#if:{{{data32|}}}|<tr class="{{{rowclass32|}}}"><td colspan="4" class="{{{class32|}}}" style="text-align:center; {{{datastyle|}}}">{{{data32|}}}</td></tr>}} }} }}<!-- Row 33 -->{{#if:{{{header33|}}}|<tr class="{{{rowclass33|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header33|}}}</th></tr>| {{#if:{{{label33|}}}|{{#if:{{{data33|}}}|<tr class="{{{rowclass33|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label33|}}}</th><td colspan="3" class="{{{class33|}}}" style="{{{datastyle|}}}">{{{data33|}}}</td></tr>|{{#if:{{{data33a|}}}{{{data33b|}}}|<tr class="{{{rowclass33|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label33|}}}</th><td class="{{{class33a|}}}" style="{{{datastylea|}}}">{{{data33a|}}}</td><td class="{{{class33b|}}}" style="{{{datastyleb|}}}">{{{data33b|}}}</td><td class="{{{class33c|}}}" style="{{{datastylec|}}}">{{{data33c|}}}</td></tr>}}}}| {{#if:{{{data33|}}}|<tr class="{{{rowclass33|}}}"><td colspan="4" class="{{{class33|}}}" style="text-align:center; {{{datastyle|}}}">{{{data33|}}}</td></tr>}} }} }}<!-- Row 34 -->{{#if:{{{header34|}}}|<tr class="{{{rowclass34|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header34|}}}</th></tr>| {{#if:{{{label34|}}}|{{#if:{{{data34|}}}|<tr class="{{{rowclass34|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label34|}}}</th><td colspan="3" class="{{{class34|}}}" style="{{{datastyle|}}}">{{{data34|}}}</td></tr>|{{#if:{{{data34a|}}}{{{data34b|}}}|<tr class="{{{rowclass34|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label34|}}}</th><td class="{{{class34a|}}}" style="{{{datastylea|}}}">{{{data34a|}}}</td><td class="{{{class34b|}}}" style="{{{datastyleb|}}}">{{{data34b|}}}</td><td class="{{{class34c|}}}" style="{{{datastylec|}}}">{{{data34c|}}}</td></tr>}}}}| {{#if:{{{data34|}}}|<tr class="{{{rowclass34|}}}"><td colspan="4" class="{{{class34|}}}" style="text-align:center; {{{datastyle|}}}">{{{data34|}}}</td></tr>}} }} }}<!-- Row 35 -->{{#if:{{{header35|}}}|<tr class="{{{rowclass35|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header35|}}}</th></tr>| {{#if:{{{label35|}}}|{{#if:{{{data35|}}}|<tr class="{{{rowclass35|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label35|}}}</th><td colspan="3" class="{{{class35|}}}" style="{{{datastyle|}}}">{{{data35|}}}</td></tr>|{{#if:{{{data35a|}}}{{{data35b|}}}|<tr class="{{{rowclass35|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label35|}}}</th><td class="{{{class35a|}}}" style="{{{datastylea|}}}">{{{data35a|}}}</td><td class="{{{class35b|}}}" style="{{{datastyleb|}}}">{{{data35b|}}}</td><td class="{{{class35c|}}}" style="{{{datastylec|}}}">{{{data35c|}}}</td></tr>}}}}| {{#if:{{{data35|}}}|<tr class="{{{rowclass35|}}}"><td colspan="4" class="{{{class35|}}}" style="text-align:center; {{{datastyle|}}}">{{{data35|}}}</td></tr>}} }} }}<!-- Row 36 -->{{#if:{{{header36|}}}|<tr class="{{{rowclass36|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header36|}}}</th></tr>| {{#if:{{{label36|}}}|{{#if:{{{data36|}}}|<tr class="{{{rowclass36|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label36|}}}</th><td colspan="3" class="{{{class36|}}}" style="{{{datastyle|}}}">{{{data36|}}}</td></tr>|{{#if:{{{data36a|}}}{{{data36b|}}}|<tr class="{{{rowclass36|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label36|}}}</th><td class="{{{class36a|}}}" style="{{{datastylea|}}}">{{{data36a|}}}</td><td class="{{{class36b|}}}" style="{{{datastyleb|}}}">{{{data36b|}}}</td><td class="{{{class36c|}}}" style="{{{datastylec|}}}">{{{data36c|}}}</td></tr>}}}}| {{#if:{{{data36|}}}|<tr class="{{{rowclass36|}}}"><td colspan="4" class="{{{class36|}}}" style="text-align:center; {{{datastyle|}}}">{{{data36|}}}</td></tr>}} }} }}<!-- Row 37 -->{{#if:{{{header37|}}}|<tr class="{{{rowclass37|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header37|}}}</th></tr>| {{#if:{{{label37|}}}|{{#if:{{{data37|}}}|<tr class="{{{rowclass37|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label37|}}}</th><td colspan="3" class="{{{class37|}}}" style="{{{datastyle|}}}">{{{data37|}}}</td></tr>|{{#if:{{{data37a|}}}{{{data37b|}}}|<tr class="{{{rowclass37|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label37|}}}</th><td class="{{{class37a|}}}" style="{{{datastylea|}}}">{{{data37a|}}}</td><td class="{{{class37b|}}}" style="{{{datastyleb|}}}">{{{data37b|}}}</td><td class="{{{class37c|}}}" style="{{{datastylec|}}}">{{{data37c|}}}</td></tr>}}}}| {{#if:{{{data37|}}}|<tr class="{{{rowclass37|}}}"><td colspan="4" class="{{{class37|}}}" style="text-align:center; {{{datastyle|}}}">{{{data37|}}}</td></tr>}} }} }}<!-- Row 38 -->{{#if:{{{header38|}}}|<tr class="{{{rowclass38|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header38|}}}</th></tr>| {{#if:{{{label38|}}}|{{#if:{{{data38|}}}|<tr class="{{{rowclass38|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label38|}}}</th><td colspan="3" class="{{{class38|}}}" style="{{{datastyle|}}}">{{{data38|}}}</td></tr>|{{#if:{{{data38a|}}}{{{data38b|}}}|<tr class="{{{rowclass38|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label38|}}}</th><td class="{{{class38a|}}}" style="{{{datastylea|}}}">{{{data38a|}}}</td><td class="{{{class38b|}}}" style="{{{datastyleb|}}}">{{{data38b|}}}</td><td class="{{{class38c|}}}" style="{{{datastylec|}}}">{{{data38c|}}}</td></tr>}}}}| {{#if:{{{data38|}}}|<tr class="{{{rowclass38|}}}"><td colspan="4" class="{{{class38|}}}" style="text-align:center; {{{datastyle|}}}">{{{data38|}}}</td></tr>}} }} }}<!-- Row 39 -->{{#if:{{{header39|}}}|<tr class="{{{rowclass39|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header39|}}}</th></tr>| {{#if:{{{label39|}}}|{{#if:{{{data39|}}}|<tr class="{{{rowclass39|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label39|}}}</th><td colspan="3" class="{{{class39|}}}" style="{{{datastyle|}}}">{{{data39|}}}</td></tr>|{{#if:{{{data39a|}}}{{{data39b|}}}|<tr class="{{{rowclass39|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label39|}}}</th><td class="{{{class39a|}}}" style="{{{datastylea|}}}">{{{data39a|}}}</td><td class="{{{class39b|}}}" style="{{{datastyleb|}}}">{{{data39b|}}}</td><td class="{{{class39c|}}}" style="{{{datastylec|}}}">{{{data39c|}}}</td></tr>}}}}| {{#if:{{{data39|}}}|<tr class="{{{rowclass39|}}}"><td colspan="4" class="{{{class39|}}}" style="text-align:center; {{{datastyle|}}}">{{{data39|}}}</td></tr>}} }} }}<!-- Row 40 -->{{#if:{{{header40|}}}|<tr class="{{{rowclass40|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header40|}}}</th></tr>| {{#if:{{{label40|}}}|{{#if:{{{data40|}}}|<tr class="{{{rowclass40|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label40|}}}</th><td colspan="3" class="{{{class40|}}}" style="{{{datastyle|}}}">{{{data40|}}}</td></tr>|{{#if:{{{data40a|}}}{{{data40b|}}}|<tr class="{{{rowclass40|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label40|}}}</th><td class="{{{class40a|}}}" style="{{{datastylea|}}}">{{{data40a|}}}</td><td class="{{{class40b|}}}" style="{{{datastyleb|}}}">{{{data40b|}}}</td><td class="{{{class40c|}}}" style="{{{datastylec|}}}">{{{data40c|}}}</td></tr>}}}}| {{#if:{{{data40|}}}|<tr class="{{{rowclass40|}}}"><td colspan="4" class="{{{class40|}}}" style="text-align:center; {{{datastyle|}}}">{{{data40|}}}</td></tr>}} }} }}<!-- Row 41 -->{{#if:{{{header41|}}}|<tr class="{{{rowclass41|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header41|}}}</th></tr>| {{#if:{{{label41|}}}|{{#if:{{{data41|}}}|<tr class="{{{rowclass41|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label41|}}}</th><td colspan="3" class="{{{class41|}}}" style="{{{datastyle|}}}">{{{data41|}}}</td></tr>|{{#if:{{{data41a|}}}{{{data41b|}}}|<tr class="{{{rowclass41|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label41|}}}</th><td class="{{{class41a|}}}" style="{{{datastylea|}}}">{{{data41a|}}}</td><td class="{{{class41b|}}}" style="{{{datastyleb|}}}">{{{data41b|}}}</td><td class="{{{class41c|}}}" style="{{{datastylec|}}}">{{{data41c|}}}</td></tr>}}}}| {{#if:{{{data41|}}}|<tr class="{{{rowclass41|}}}"><td colspan="4" class="{{{class41|}}}" style="text-align:center; {{{datastyle|}}}">{{{data41|}}}</td></tr>}} }} }}<!-- Row 42 -->{{#if:{{{header42|}}}|<tr class="{{{rowclass42|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header42|}}}</th></tr>| {{#if:{{{label42|}}}|{{#if:{{{data42|}}}|<tr class="{{{rowclass42|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label42|}}}</th><td colspan="3" class="{{{class42|}}}" style="{{{datastyle|}}}">{{{data42|}}}</td></tr>|{{#if:{{{data42a|}}}{{{data42b|}}}|<tr class="{{{rowclass42|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label42|}}}</th><td class="{{{class42a|}}}" style="{{{datastylea|}}}">{{{data42a|}}}</td><td class="{{{class42b|}}}" style="{{{datastyleb|}}}">{{{data42b|}}}</td><td class="{{{class42c|}}}" style="{{{datastylec|}}}">{{{data42c|}}}</td></tr>}}}}| {{#if:{{{data42|}}}|<tr class="{{{rowclass42|}}}"><td colspan="4" class="{{{class42|}}}" style="text-align:center; {{{datastyle|}}}">{{{data42|}}}</td></tr>}} }} }}<!-- Row 43 -->{{#if:{{{header43|}}}|<tr class="{{{rowclass43|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header43|}}}</th></tr>| {{#if:{{{label43|}}}|{{#if:{{{data43|}}}|<tr class="{{{rowclass43|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label43|}}}</th><td colspan="3" class="{{{class43|}}}" style="{{{datastyle|}}}">{{{data43|}}}</td></tr>|{{#if:{{{data43a|}}}{{{data43b|}}}|<tr class="{{{rowclass43|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label43|}}}</th><td class="{{{class43a|}}}" style="{{{datastylea|}}}">{{{data43a|}}}</td><td class="{{{class43b|}}}" style="{{{datastyleb|}}}">{{{data43b|}}}</td><td class="{{{class43c|}}}" style="{{{datastylec|}}}">{{{data43c|}}}</td></tr>}}}}| {{#if:{{{data43|}}}|<tr class="{{{rowclass43|}}}"><td colspan="4" class="{{{class43|}}}" style="text-align:center; {{{datastyle|}}}">{{{data43|}}}</td></tr>}} }} }}<!-- Row 44 -->{{#if:{{{header44|}}}|<tr class="{{{rowclass44|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header44|}}}</th></tr>| {{#if:{{{label44|}}}|{{#if:{{{data44|}}}|<tr class="{{{rowclass44|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label44|}}}</th><td colspan="3" class="{{{class44|}}}" style="{{{datastyle|}}}">{{{data44|}}}</td></tr>|{{#if:{{{data44a|}}}{{{data44b|}}}|<tr class="{{{rowclass44|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label44|}}}</th><td class="{{{class44a|}}}" style="{{{datastylea|}}}">{{{data44a|}}}</td><td class="{{{class44b|}}}" style="{{{datastyleb|}}}">{{{data44b|}}}</td><td class="{{{class44c|}}}" style="{{{datastylec|}}}">{{{data44c|}}}</td></tr>}}}}| {{#if:{{{data44|}}}|<tr class="{{{rowclass44|}}}"><td colspan="4" class="{{{class44|}}}" style="text-align:center; {{{datastyle|}}}">{{{data44|}}}</td></tr>}} }} }}<!-- Row 45 -->{{#if:{{{header45|}}}|<tr class="{{{rowclass45|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header45|}}}</th></tr>| {{#if:{{{label45|}}}|{{#if:{{{data45|}}}|<tr class="{{{rowclass45|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label45|}}}</th><td colspan="3" class="{{{class45|}}}" style="{{{datastyle|}}}">{{{data45|}}}</td></tr>|{{#if:{{{data45a|}}}{{{data45b|}}}|<tr class="{{{rowclass45|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label45|}}}</th><td class="{{{class45a|}}}" style="{{{datastylea|}}}">{{{data45a|}}}</td><td class="{{{class45b|}}}" style="{{{datastyleb|}}}">{{{data45b|}}}</td><td class="{{{class45c|}}}" style="{{{datastylec|}}}">{{{data45c|}}}</td></tr>}}}}| {{#if:{{{data45|}}}|<tr class="{{{rowclass45|}}}"><td colspan="4" class="{{{class45|}}}" style="text-align:center; {{{datastyle|}}}">{{{data45|}}}</td></tr>}} }} }}<!-- Row 46 -->{{#if:{{{header46|}}}|<tr class="{{{rowclass46|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header46|}}}</th></tr>| {{#if:{{{label46|}}}|{{#if:{{{data46|}}}|<tr class="{{{rowclass46|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label46|}}}</th><td colspan="3" class="{{{class46|}}}" style="{{{datastyle|}}}">{{{data46|}}}</td></tr>|{{#if:{{{data46a|}}}{{{data46b|}}}|<tr class="{{{rowclass46|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label46|}}}</th><td class="{{{class46a|}}}" style="{{{datastylea|}}}">{{{data46a|}}}</td><td class="{{{class46b|}}}" style="{{{datastyleb|}}}">{{{data46b|}}}</td><td class="{{{class46c|}}}" style="{{{datastylec|}}}">{{{data46c|}}}</td></tr>}}}}| {{#if:{{{data46|}}}|<tr class="{{{rowclass46|}}}"><td colspan="4" class="{{{class46|}}}" style="text-align:center; {{{datastyle|}}}">{{{data46|}}}</td></tr>}} }} }}<!-- Row 47 -->{{#if:{{{header47|}}}|<tr class="{{{rowclass47|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header47|}}}</th></tr>| {{#if:{{{label47|}}}|{{#if:{{{data47|}}}|<tr class="{{{rowclass47|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label47|}}}</th><td colspan="3" class="{{{class47|}}}" style="{{{datastyle|}}}">{{{data47|}}}</td></tr>|{{#if:{{{data47a|}}}{{{data47b|}}}|<tr class="{{{rowclass47|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label47|}}}</th><td class="{{{class47a|}}}" style="{{{datastylea|}}}">{{{data47a|}}}</td><td class="{{{class47b|}}}" style="{{{datastyleb|}}}">{{{data47b|}}}</td><td class="{{{class47c|}}}" style="{{{datastylec|}}}">{{{data47c|}}}</td></tr>}}}}| {{#if:{{{data47|}}}|<tr class="{{{rowclass47|}}}"><td colspan="4" class="{{{class47|}}}" style="text-align:center; {{{datastyle|}}}">{{{data47|}}}</td></tr>}} }} }}<!-- Row 48 -->{{#if:{{{header48|}}}|<tr class="{{{rowclass48|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header48|}}}</th></tr>| {{#if:{{{label48|}}}|{{#if:{{{data48|}}}|<tr class="{{{rowclass48|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label48|}}}</th><td colspan="3" class="{{{class48|}}}" style="{{{datastyle|}}}">{{{data48|}}}</td></tr>|{{#if:{{{data48a|}}}{{{data48b|}}}|<tr class="{{{rowclass48|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label48|}}}</th><td class="{{{class48a|}}}" style="{{{datastylea|}}}">{{{data48a|}}}</td><td class="{{{class48b|}}}" style="{{{datastyleb|}}}">{{{data48b|}}}</td><td class="{{{class48c|}}}" style="{{{datastylec|}}}">{{{data48c|}}}</td></tr>}}}}| {{#if:{{{data48|}}}|<tr class="{{{rowclass48|}}}"><td colspan="4" class="{{{class48|}}}" style="text-align:center; {{{datastyle|}}}">{{{data48|}}}</td></tr>}} }} }}<!-- Row 49 -->{{#if:{{{header49|}}}|<tr class="{{{rowclass49|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header49|}}}</th></tr>| {{#if:{{{label49|}}}|{{#if:{{{data49|}}}|<tr class="{{{rowclass49|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label49|}}}</th><td colspan="3" class="{{{class49|}}}" style="{{{datastyle|}}}">{{{data49|}}}</td></tr>|{{#if:{{{data49a|}}}{{{data49b|}}}|<tr class="{{{rowclass49|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label49|}}}</th><td class="{{{class49a|}}}" style="{{{datastylea|}}}">{{{data49a|}}}</td><td class="{{{class49b|}}}" style="{{{datastyleb|}}}">{{{data49b|}}}</td><td class="{{{class49c|}}}" style="{{{datastylec|}}}">{{{data49c|}}}</td></tr>}}}}| {{#if:{{{data49|}}}|<tr class="{{{rowclass49|}}}"><td colspan="4" class="{{{class49|}}}" style="text-align:center; {{{datastyle|}}}">{{{data49|}}}</td></tr>}} }} }}<!-- Row 50 -->{{#if:{{{header50|}}}|<tr class="{{{rowclass50|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header50|}}}</th></tr>| {{#if:{{{label50|}}}|{{#if:{{{data50|}}}|<tr class="{{{rowclass50|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label50|}}}</th><td colspan="3" class="{{{class50|}}}" style="{{{datastyle|}}}">{{{data50|}}}</td></tr>|{{#if:{{{data50a|}}}{{{data50b|}}}|<tr class="{{{rowclass50|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label50|}}}</th><td class="{{{class50a|}}}" style="{{{datastylea|}}}">{{{data50a|}}}</td><td class="{{{class50b|}}}" style="{{{datastyleb|}}}">{{{data50b|}}}</td><td class="{{{class50c|}}}" style="{{{datastylec|}}}">{{{data50c|}}}</td></tr>}}}}| {{#if:{{{data50|}}}|<tr class="{{{rowclass50|}}}"><td colspan="4" class="{{{class50|}}}" style="text-align:center; {{{datastyle|}}}">{{{data50|}}}</td></tr>}} }} }}<!-- Row 51 -->{{#if:{{{header51|}}}|<tr class="{{{rowclass51|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header51|}}}</th></tr>| {{#if:{{{label51|}}}|{{#if:{{{data51|}}}|<tr class="{{{rowclass51|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label51|}}}</th><td colspan="3" class="{{{class51|}}}" style="{{{datastyle|}}}">{{{data51|}}}</td></tr>|{{#if:{{{data51a|}}}{{{data51b|}}}|<tr class="{{{rowclass51|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label51|}}}</th><td class="{{{class51a|}}}" style="{{{datastylea|}}}">{{{data51a|}}}</td><td class="{{{class51b|}}}" style="{{{datastyleb|}}}">{{{data51b|}}}</td><td class="{{{class51c|}}}" style="{{{datastylec|}}}">{{{data51c|}}}</td></tr>}}}}| {{#if:{{{data51|}}}|<tr class="{{{rowclass51|}}}"><td colspan="4" class="{{{class51|}}}" style="text-align:center; {{{datastyle|}}}">{{{data51|}}}</td></tr>}} }} }}<!-- Row 52 -->{{#if:{{{header52|}}}|<tr class="{{{rowclass52|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header52|}}}</th></tr>| {{#if:{{{label52|}}}|{{#if:{{{data52|}}}|<tr class="{{{rowclass52|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label52|}}}</th><td colspan="3" class="{{{class52|}}}" style="{{{datastyle|}}}">{{{data52|}}}</td></tr>|{{#if:{{{data52a|}}}{{{data52b|}}}|<tr class="{{{rowclass52|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label52|}}}</th><td class="{{{class52a|}}}" style="{{{datastylea|}}}">{{{data52a|}}}</td><td class="{{{class52b|}}}" style="{{{datastyleb|}}}">{{{data52b|}}}</td><td class="{{{class52c|}}}" style="{{{datastylec|}}}">{{{data52c|}}}</td></tr>}}}}| {{#if:{{{data52|}}}|<tr class="{{{rowclass52|}}}"><td colspan="4" class="{{{class52|}}}" style="text-align:center; {{{datastyle|}}}">{{{data52|}}}</td></tr>}} }} }}<!-- Row 53 -->{{#if:{{{header53|}}}|<tr class="{{{rowclass53|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header53|}}}</th></tr>| {{#if:{{{label53|}}}|{{#if:{{{data53|}}}|<tr class="{{{rowclass53|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label53|}}}</th><td colspan="3" class="{{{class53|}}}" style="{{{datastyle|}}}">{{{data53|}}}</td></tr>|{{#if:{{{data53a|}}}{{{data53b|}}}|<tr class="{{{rowclass53|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label53|}}}</th><td class="{{{class53a|}}}" style="{{{datastylea|}}}">{{{data53a|}}}</td><td class="{{{class53b|}}}" style="{{{datastyleb|}}}">{{{data53b|}}}</td><td class="{{{class53c|}}}" style="{{{datastylec|}}}">{{{data53c|}}}</td></tr>}}}}| {{#if:{{{data53|}}}|<tr class="{{{rowclass53|}}}"><td colspan="4" class="{{{class53|}}}" style="text-align:center; {{{datastyle|}}}">{{{data53|}}}</td></tr>}} }} }}<!-- Row 54 -->{{#if:{{{header54|}}}|<tr class="{{{rowclass54|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header54|}}}</th></tr>| {{#if:{{{label54|}}}|{{#if:{{{data54|}}}|<tr class="{{{rowclass54|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label54|}}}</th><td colspan="3" class="{{{class54|}}}" style="{{{datastyle|}}}">{{{data54|}}}</td></tr>|{{#if:{{{data54a|}}}{{{data54b|}}}|<tr class="{{{rowclass54|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label54|}}}</th><td class="{{{class54a|}}}" style="{{{datastylea|}}}">{{{data54a|}}}</td><td class="{{{class54b|}}}" style="{{{datastyleb|}}}">{{{data54b|}}}</td><td class="{{{class54c|}}}" style="{{{datastylec|}}}">{{{data54c|}}}</td></tr>}}}}| {{#if:{{{data54|}}}|<tr class="{{{rowclass54|}}}"><td colspan="4" class="{{{class54|}}}" style="text-align:center; {{{datastyle|}}}">{{{data54|}}}</td></tr>}} }} }}<!-- Row 55 -->{{#if:{{{header55|}}}|<tr class="{{{rowclass55|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header55|}}}</th></tr>| {{#if:{{{label55|}}}|{{#if:{{{data55|}}}|<tr class="{{{rowclass55|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label55|}}}</th><td colspan="3" class="{{{class55|}}}" style="{{{datastyle|}}}">{{{data55|}}}</td></tr>|{{#if:{{{data55a|}}}{{{data55b|}}}|<tr class="{{{rowclass55|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label55|}}}</th><td class="{{{class55a|}}}" style="{{{datastylea|}}}">{{{data55a|}}}</td><td class="{{{class55b|}}}" style="{{{datastyleb|}}}">{{{data55b|}}}</td><td class="{{{class55c|}}}" style="{{{datastylec|}}}">{{{data55c|}}}</td></tr>}}}}| {{#if:{{{data55|}}}|<tr class="{{{rowclass55|}}}"><td colspan="4" class="{{{class55|}}}" style="text-align:center; {{{datastyle|}}}">{{{data55|}}}</td></tr>}} }} }}<!-- Row 56 -->{{#if:{{{header56|}}}|<tr class="{{{rowclass56|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header56|}}}</th></tr>| {{#if:{{{label56|}}}|{{#if:{{{data56|}}}|<tr class="{{{rowclass56|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label56|}}}</th><td colspan="3" class="{{{class56|}}}" style="{{{datastyle|}}}">{{{data56|}}}</td></tr>|{{#if:{{{data56a|}}}{{{data56b|}}}|<tr class="{{{rowclass56|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label56|}}}</th><td class="{{{class56a|}}}" style="{{{datastylea|}}}">{{{data56a|}}}</td><td class="{{{class56b|}}}" style="{{{datastyleb|}}}">{{{data56b|}}}</td><td class="{{{class56c|}}}" style="{{{datastylec|}}}">{{{data56c|}}}</td></tr>}}}}| {{#if:{{{data56|}}}|<tr class="{{{rowclass56|}}}"><td colspan="4" class="{{{class56|}}}" style="text-align:center; {{{datastyle|}}}">{{{data56|}}}</td></tr>}} }} }}<!-- Row 57 -->{{#if:{{{header57|}}}|<tr class="{{{rowclass57|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header57|}}}</th></tr>| {{#if:{{{label57|}}}|{{#if:{{{data57|}}}|<tr class="{{{rowclass57|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label57|}}}</th><td colspan="3" class="{{{class57|}}}" style="{{{datastyle|}}}">{{{data57|}}}</td></tr>|{{#if:{{{data57a|}}}{{{data57b|}}}|<tr class="{{{rowclass57|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label57|}}}</th><td class="{{{class57a|}}}" style="{{{datastylea|}}}">{{{data57a|}}}</td><td class="{{{class57b|}}}" style="{{{datastyleb|}}}">{{{data57b|}}}</td><td class="{{{class57c|}}}" style="{{{datastylec|}}}">{{{data57c|}}}</td></tr>}}}}| {{#if:{{{data57|}}}|<tr class="{{{rowclass57|}}}"><td colspan="4" class="{{{class57|}}}" style="text-align:center; {{{datastyle|}}}">{{{data57|}}}</td></tr>}} }} }}<!-- Row 58 -->{{#if:{{{header58|}}}|<tr class="{{{rowclass58|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header58|}}}</th></tr>| {{#if:{{{label58|}}}|{{#if:{{{data58|}}}|<tr class="{{{rowclass58|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label58|}}}</th><td colspan="3" class="{{{class58|}}}" style="{{{datastyle|}}}">{{{data58|}}}</td></tr>|{{#if:{{{data58a|}}}{{{data58b|}}}|<tr class="{{{rowclass58|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label58|}}}</th><td class="{{{class58a|}}}" style="{{{datastylea|}}}">{{{data58a|}}}</td><td class="{{{class58b|}}}" style="{{{datastyleb|}}}">{{{data58b|}}}</td><td class="{{{class58c|}}}" style="{{{datastylec|}}}">{{{data58c|}}}</td></tr>}}}}| {{#if:{{{data58|}}}|<tr class="{{{rowclass58|}}}"><td colspan="4" class="{{{class58|}}}" style="text-align:center; {{{datastyle|}}}">{{{data58|}}}</td></tr>}} }} }}<!-- Row 59 -->{{#if:{{{header59|}}}|<tr class="{{{rowclass59|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header59|}}}</th></tr>| {{#if:{{{label59|}}}|{{#if:{{{data59|}}}|<tr class="{{{rowclass59|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label59|}}}</th><td colspan="3" class="{{{class59|}}}" style="{{{datastyle|}}}">{{{data59|}}}</td></tr>|{{#if:{{{data59a|}}}{{{data59b|}}}|<tr class="{{{rowclass59|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label59|}}}</th><td class="{{{class59a|}}}" style="{{{datastylea|}}}">{{{data59a|}}}</td><td class="{{{class59b|}}}" style="{{{datastyleb|}}}">{{{data59b|}}}</td><td class="{{{class59c|}}}" style="{{{datastylec|}}}">{{{data59c|}}}</td></tr>}}}}| {{#if:{{{data59|}}}|<tr class="{{{rowclass59|}}}"><td colspan="4" class="{{{class59|}}}" style="text-align:center; {{{datastyle|}}}">{{{data59|}}}</td></tr>}} }} }}<!-- Row 60 -->{{#if:{{{header60|}}}|<tr class="{{{rowclass60|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header60|}}}</th></tr>| {{#if:{{{label60|}}}|{{#if:{{{data60|}}}|<tr class="{{{rowclass60|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label60|}}}</th><td colspan="3" class="{{{class60|}}}" style="{{{datastyle|}}}">{{{data60|}}}</td></tr>|{{#if:{{{data60a|}}}{{{data60b|}}}|<tr class="{{{rowclass60|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label60|}}}</th><td class="{{{class60a|}}}" style="{{{datastylea|}}}">{{{data60a|}}}</td><td class="{{{class60b|}}}" style="{{{datastyleb|}}}">{{{data60b|}}}</td><td class="{{{class60c|}}}" style="{{{datastylec|}}}">{{{data60c|}}}</td></tr>}}}}| {{#if:{{{data60|}}}|<tr class="{{{rowclass60|}}}"><td colspan="4" class="{{{class60|}}}" style="text-align:center; {{{datastyle|}}}">{{{data60|}}}</td></tr>}} }} }}<!-- Row 61 -->{{#if:{{{header61|}}}|<tr class="{{{rowclass61|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header61|}}}</th></tr>| {{#if:{{{label61|}}}|{{#if:{{{data61|}}}|<tr class="{{{rowclass61|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label61|}}}</th><td colspan="3" class="{{{class61|}}}" style="{{{datastyle|}}}">{{{data61|}}}</td></tr>|{{#if:{{{data61a|}}}{{{data61b|}}}|<tr class="{{{rowclass61|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label61|}}}</th><td class="{{{class61a|}}}" style="{{{datastylea|}}}">{{{data61a|}}}</td><td class="{{{class61b|}}}" style="{{{datastyleb|}}}">{{{data61b|}}}</td><td class="{{{class61c|}}}" style="{{{datastylec|}}}">{{{data61c|}}}</td></tr>}}}}| {{#if:{{{data61|}}}|<tr class="{{{rowclass61|}}}"><td colspan="4" class="{{{class61|}}}" style="text-align:center; {{{datastyle|}}}">{{{data61|}}}</td></tr>}} }} }}<!-- Row 62 -->{{#if:{{{header62|}}}|<tr class="{{{rowclass62|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header62|}}}</th></tr>| {{#if:{{{label62|}}}|{{#if:{{{data62|}}}|<tr class="{{{rowclass62|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label62|}}}</th><td colspan="3" class="{{{class62|}}}" style="{{{datastyle|}}}">{{{data62|}}}</td></tr>|{{#if:{{{data62a|}}}{{{data62b|}}}|<tr class="{{{rowclass62|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label62|}}}</th><td class="{{{class62a|}}}" style="{{{datastylea|}}}">{{{data62a|}}}</td><td class="{{{class62b|}}}" style="{{{datastyleb|}}}">{{{data62b|}}}</td><td class="{{{class62c|}}}" style="{{{datastylec|}}}">{{{data62c|}}}</td></tr>}}}}| {{#if:{{{data62|}}}|<tr class="{{{rowclass62|}}}"><td colspan="4" class="{{{class62|}}}" style="text-align:center; {{{datastyle|}}}">{{{data62|}}}</td></tr>}} }} }}<!-- Row 63 -->{{#if:{{{header63|}}}|<tr class="{{{rowclass63|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header63|}}}</th></tr>| {{#if:{{{label63|}}}|{{#if:{{{data63|}}}|<tr class="{{{rowclass63|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label63|}}}</th><td colspan="3" class="{{{class63|}}}" style="{{{datastyle|}}}">{{{data63|}}}</td></tr>|{{#if:{{{data63a|}}}{{{data63b|}}}|<tr class="{{{rowclass63|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label63|}}}</th><td class="{{{class63a|}}}" style="{{{datastylea|}}}">{{{data63a|}}}</td><td class="{{{class63b|}}}" style="{{{datastyleb|}}}">{{{data63b|}}}</td><td class="{{{class63c|}}}" style="{{{datastylec|}}}">{{{data63c|}}}</td></tr>}}}}| {{#if:{{{data63|}}}|<tr class="{{{rowclass63|}}}"><td colspan="4" class="{{{class63|}}}" style="text-align:center; {{{datastyle|}}}">{{{data63|}}}</td></tr>}} }} }}<!-- Row 64 -->{{#if:{{{header64|}}}|<tr class="{{{rowclass64|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header64|}}}</th></tr>| {{#if:{{{label64|}}}|{{#if:{{{data64|}}}|<tr class="{{{rowclass64|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label64|}}}</th><td colspan="3" class="{{{class64|}}}" style="{{{datastyle|}}}">{{{data64|}}}</td></tr>|{{#if:{{{data64a|}}}{{{data64b|}}}|<tr class="{{{rowclass64|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label64|}}}</th><td class="{{{class64a|}}}" style="{{{datastylea|}}}">{{{data64a|}}}</td><td class="{{{class64b|}}}" style="{{{datastyleb|}}}">{{{data64b|}}}</td><td class="{{{class64c|}}}" style="{{{datastylec|}}}">{{{data64c|}}}</td></tr>}}}}| {{#if:{{{data64|}}}|<tr class="{{{rowclass64|}}}"><td colspan="4" class="{{{class64|}}}" style="text-align:center; {{{datastyle|}}}">{{{data64|}}}</td></tr>}} }} }}<!-- Row 65 -->{{#if:{{{header65|}}}|<tr class="{{{rowclass65|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header65|}}}</th></tr>| {{#if:{{{label65|}}}|{{#if:{{{data65|}}}|<tr class="{{{rowclass65|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label65|}}}</th><td colspan="3" class="{{{class65|}}}" style="{{{datastyle|}}}">{{{data65|}}}</td></tr>|{{#if:{{{data65a|}}}{{{data65b|}}}|<tr class="{{{rowclass65|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label65|}}}</th><td class="{{{class65a|}}}" style="{{{datastylea|}}}">{{{data65a|}}}</td><td class="{{{class65b|}}}" style="{{{datastyleb|}}}">{{{data65b|}}}</td><td class="{{{class65c|}}}" style="{{{datastylec|}}}">{{{data65c|}}}</td></tr>}}}}| {{#if:{{{data65|}}}|<tr class="{{{rowclass65|}}}"><td colspan="4" class="{{{class65|}}}" style="text-align:center; {{{datastyle|}}}">{{{data65|}}}</td></tr>}} }} }}<!-- Row 66 -->{{#if:{{{header66|}}}|<tr class="{{{rowclass66|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header66|}}}</th></tr>| {{#if:{{{label66|}}}|{{#if:{{{data66|}}}|<tr class="{{{rowclass66|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label66|}}}</th><td colspan="3" class="{{{class66|}}}" style="{{{datastyle|}}}">{{{data66|}}}</td></tr>|{{#if:{{{data66a|}}}{{{data66b|}}}|<tr class="{{{rowclass66|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label66|}}}</th><td class="{{{class66a|}}}" style="{{{datastylea|}}}">{{{data66a|}}}</td><td class="{{{class66b|}}}" style="{{{datastyleb|}}}">{{{data66b|}}}</td><td class="{{{class66c|}}}" style="{{{datastylec|}}}">{{{data66c|}}}</td></tr>}}}}| {{#if:{{{data66|}}}|<tr class="{{{rowclass66|}}}"><td colspan="4" class="{{{class66|}}}" style="text-align:center; {{{datastyle|}}}">{{{data66|}}}</td></tr>}} }} }}<!-- Row 67 -->{{#if:{{{header67|}}}|<tr class="{{{rowclass67|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header67|}}}</th></tr>| {{#if:{{{label67|}}}|{{#if:{{{data67|}}}|<tr class="{{{rowclass67|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label67|}}}</th><td colspan="3" class="{{{class67|}}}" style="{{{datastyle|}}}">{{{data67|}}}</td></tr>|{{#if:{{{data67a|}}}{{{data67b|}}}|<tr class="{{{rowclass67|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label67|}}}</th><td class="{{{class67a|}}}" style="{{{datastylea|}}}">{{{data67a|}}}</td><td class="{{{class67b|}}}" style="{{{datastyleb|}}}">{{{data67b|}}}</td><td class="{{{class67c|}}}" style="{{{datastylec|}}}">{{{data67c|}}}</td></tr>}}}}| {{#if:{{{data67|}}}|<tr class="{{{rowclass67|}}}"><td colspan="4" class="{{{class67|}}}" style="text-align:center; {{{datastyle|}}}">{{{data67|}}}</td></tr>}} }} }}<!-- Row 68 -->{{#if:{{{header68|}}}|<tr class="{{{rowclass68|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header68|}}}</th></tr>| {{#if:{{{label68|}}}|{{#if:{{{data68|}}}|<tr class="{{{rowclass68|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label68|}}}</th><td colspan="3" class="{{{class68|}}}" style="{{{datastyle|}}}">{{{data68|}}}</td></tr>|{{#if:{{{data68a|}}}{{{data68b|}}}|<tr class="{{{rowclass68|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label68|}}}</th><td class="{{{class68a|}}}" style="{{{datastylea|}}}">{{{data68a|}}}</td><td class="{{{class68b|}}}" style="{{{datastyleb|}}}">{{{data68b|}}}</td><td class="{{{class68c|}}}" style="{{{datastylec|}}}">{{{data68c|}}}</td></tr>}}}}| {{#if:{{{data68|}}}|<tr class="{{{rowclass68|}}}"><td colspan="4" class="{{{class68|}}}" style="text-align:center; {{{datastyle|}}}">{{{data68|}}}</td></tr>}} }} }}<!-- Row 69 -->{{#if:{{{header69|}}}|<tr class="{{{rowclass69|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header69|}}}</th></tr>| {{#if:{{{label69|}}}|{{#if:{{{data69|}}}|<tr class="{{{rowclass69|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label69|}}}</th><td colspan="3" class="{{{class69|}}}" style="{{{datastyle|}}}">{{{data69|}}}</td></tr>|{{#if:{{{data69a|}}}{{{data69b|}}}|<tr class="{{{rowclass69|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label69|}}}</th><td class="{{{class69a|}}}" style="{{{datastylea|}}}">{{{data69a|}}}</td><td class="{{{class69b|}}}" style="{{{datastyleb|}}}">{{{data69b|}}}</td><td class="{{{class69c|}}}" style="{{{datastylec|}}}">{{{data69c|}}}</td></tr>}}}}| {{#if:{{{data69|}}}|<tr class="{{{rowclass69|}}}"><td colspan="4" class="{{{class69|}}}" style="text-align:center; {{{datastyle|}}}">{{{data69|}}}</td></tr>}} }} }}<!-- Row 70 -->{{#if:{{{header70|}}}|<tr class="{{{rowclass70|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header70|}}}</th></tr>| {{#if:{{{label70|}}}|{{#if:{{{data70|}}}|<tr class="{{{rowclass70|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label70|}}}</th><td colspan="3" class="{{{class70|}}}" style="{{{datastyle|}}}">{{{data70|}}}</td></tr>|{{#if:{{{data70a|}}}{{{data70b|}}}|<tr class="{{{rowclass70|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label70|}}}</th><td class="{{{class70a|}}}" style="{{{datastylea|}}}">{{{data70a|}}}</td><td class="{{{class70b|}}}" style="{{{datastyleb|}}}">{{{data70b|}}}</td><td class="{{{class70c|}}}" style="{{{datastylec|}}}">{{{data70c|}}}</td></tr>}}}}| {{#if:{{{data70|}}}|<tr class="{{{rowclass70|}}}"><td colspan="4" class="{{{class70|}}}" style="text-align:center; {{{datastyle|}}}">{{{data70|}}}</td></tr>}} }} }}<!-- Row 71 -->{{#if:{{{header71|}}}|<tr class="{{{rowclass71|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header71|}}}</th></tr>| {{#if:{{{label71|}}}|{{#if:{{{data71|}}}|<tr class="{{{rowclass71|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label71|}}}</th><td colspan="3" class="{{{class71|}}}" style="{{{datastyle|}}}">{{{data71|}}}</td></tr>|{{#if:{{{data71a|}}}{{{data71b|}}}|<tr class="{{{rowclass71|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label71|}}}</th><td class="{{{class71a|}}}" style="{{{datastylea|}}}">{{{data71a|}}}</td><td class="{{{class71b|}}}" style="{{{datastyleb|}}}">{{{data71b|}}}</td><td class="{{{class71c|}}}" style="{{{datastylec|}}}">{{{data71c|}}}</td></tr>}}}}| {{#if:{{{data71|}}}|<tr class="{{{rowclass71|}}}"><td colspan="4" class="{{{class71|}}}" style="text-align:center; {{{datastyle|}}}">{{{data71|}}}</td></tr>}} }} }}<!-- Row 72 -->{{#if:{{{header72|}}}|<tr class="{{{rowclass72|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header72|}}}</th></tr>| {{#if:{{{label72|}}}|{{#if:{{{data72|}}}|<tr class="{{{rowclass72|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label72|}}}</th><td colspan="3" class="{{{class72|}}}" style="{{{datastyle|}}}">{{{data72|}}}</td></tr>|{{#if:{{{data72a|}}}{{{data72b|}}}|<tr class="{{{rowclass72|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label72|}}}</th><td class="{{{class72a|}}}" style="{{{datastylea|}}}">{{{data72a|}}}</td><td class="{{{class72b|}}}" style="{{{datastyleb|}}}">{{{data72b|}}}</td><td class="{{{class72c|}}}" style="{{{datastylec|}}}">{{{data72c|}}}</td></tr>}}}}| {{#if:{{{data72|}}}|<tr class="{{{rowclass72|}}}"><td colspan="4" class="{{{class72|}}}" style="text-align:center; {{{datastyle|}}}">{{{data72|}}}</td></tr>}} }} }}<!-- Row 73 -->{{#if:{{{header73|}}}|<tr class="{{{rowclass73|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header73|}}}</th></tr>| {{#if:{{{label73|}}}|{{#if:{{{data73|}}}|<tr class="{{{rowclass73|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label73|}}}</th><td colspan="3" class="{{{class73|}}}" style="{{{datastyle|}}}">{{{data73|}}}</td></tr>|{{#if:{{{data73a|}}}{{{data73b|}}}|<tr class="{{{rowclass73|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label73|}}}</th><td class="{{{class73a|}}}" style="{{{datastylea|}}}">{{{data73a|}}}</td><td class="{{{class73b|}}}" style="{{{datastyleb|}}}">{{{data73b|}}}</td><td class="{{{class73c|}}}" style="{{{datastylec|}}}">{{{data73c|}}}</td></tr>}}}}| {{#if:{{{data73|}}}|<tr class="{{{rowclass73|}}}"><td colspan="4" class="{{{class73|}}}" style="text-align:center; {{{datastyle|}}}">{{{data73|}}}</td></tr>}} }} }}<!-- Row 74 -->{{#if:{{{header74|}}}|<tr class="{{{rowclass74|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header74|}}}</th></tr>| {{#if:{{{label74|}}}|{{#if:{{{data74|}}}|<tr class="{{{rowclass74|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label74|}}}</th><td colspan="3" class="{{{class74|}}}" style="{{{datastyle|}}}">{{{data74|}}}</td></tr>|{{#if:{{{data74a|}}}{{{data74b|}}}|<tr class="{{{rowclass74|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label74|}}}</th><td class="{{{class74a|}}}" style="{{{datastylea|}}}">{{{data74a|}}}</td><td class="{{{class74b|}}}" style="{{{datastyleb|}}}">{{{data74b|}}}</td><td class="{{{class74c|}}}" style="{{{datastylec|}}}">{{{data74c|}}}</td></tr>}}}}| {{#if:{{{data74|}}}|<tr class="{{{rowclass74|}}}"><td colspan="4" class="{{{class74|}}}" style="text-align:center; {{{datastyle|}}}">{{{data74|}}}</td></tr>}} }} }}<!-- Row 75 -->{{#if:{{{header75|}}}|<tr class="{{{rowclass75|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header75|}}}</th></tr>| {{#if:{{{label75|}}}|{{#if:{{{data75|}}}|<tr class="{{{rowclass75|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label75|}}}</th><td colspan="3" class="{{{class75|}}}" style="{{{datastyle|}}}">{{{data75|}}}</td></tr>|{{#if:{{{data75a|}}}{{{data75b|}}}|<tr class="{{{rowclass75|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label75|}}}</th><td class="{{{class75a|}}}" style="{{{datastylea|}}}">{{{data75a|}}}</td><td class="{{{class75b|}}}" style="{{{datastyleb|}}}">{{{data75b|}}}</td><td class="{{{class75c|}}}" style="{{{datastylec|}}}">{{{data75c|}}}</td></tr>}}}}| {{#if:{{{data75|}}}|<tr class="{{{rowclass75|}}}"><td colspan="4" class="{{{class75|}}}" style="text-align:center; {{{datastyle|}}}">{{{data75|}}}</td></tr>}} }} }}<!-- Row 76 -->{{#if:{{{header76|}}}|<tr class="{{{rowclass76|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header76|}}}</th></tr>| {{#if:{{{label76|}}}|{{#if:{{{data76|}}}|<tr class="{{{rowclass76|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label76|}}}</th><td colspan="3" class="{{{class76|}}}" style="{{{datastyle|}}}">{{{data76|}}}</td></tr>|{{#if:{{{data76a|}}}{{{data76b|}}}|<tr class="{{{rowclass76|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label76|}}}</th><td class="{{{class76a|}}}" style="{{{datastylea|}}}">{{{data76a|}}}</td><td class="{{{class76b|}}}" style="{{{datastyleb|}}}">{{{data76b|}}}</td><td class="{{{class76c|}}}" style="{{{datastylec|}}}">{{{data76c|}}}</td></tr>}}}}| {{#if:{{{data76|}}}|<tr class="{{{rowclass76|}}}"><td colspan="4" class="{{{class76|}}}" style="text-align:center; {{{datastyle|}}}">{{{data76|}}}</td></tr>}} }} }}<!-- Row 77 -->{{#if:{{{header77|}}}|<tr class="{{{rowclass77|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header77|}}}</th></tr>| {{#if:{{{label77|}}}|{{#if:{{{data77|}}}|<tr class="{{{rowclass77|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label77|}}}</th><td colspan="3" class="{{{class77|}}}" style="{{{datastyle|}}}">{{{data77|}}}</td></tr>|{{#if:{{{data77a|}}}{{{data77b|}}}|<tr class="{{{rowclass77|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label77|}}}</th><td class="{{{class77a|}}}" style="{{{datastylea|}}}">{{{data77a|}}}</td><td class="{{{class77b|}}}" style="{{{datastyleb|}}}">{{{data77b|}}}</td><td class="{{{class77c|}}}" style="{{{datastylec|}}}">{{{data77c|}}}</td></tr>}}}}| {{#if:{{{data77|}}}|<tr class="{{{rowclass77|}}}"><td colspan="4" class="{{{class77|}}}" style="text-align:center; {{{datastyle|}}}">{{{data77|}}}</td></tr>}} }} }}<!-- Row 78 -->{{#if:{{{header78|}}}|<tr class="{{{rowclass78|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header78|}}}</th></tr>| {{#if:{{{label78|}}}|{{#if:{{{data78|}}}|<tr class="{{{rowclass78|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label78|}}}</th><td colspan="3" class="{{{class78|}}}" style="{{{datastyle|}}}">{{{data78|}}}</td></tr>|{{#if:{{{data78a|}}}{{{data78b|}}}|<tr class="{{{rowclass78|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label78|}}}</th><td class="{{{class78a|}}}" style="{{{datastylea|}}}">{{{data78a|}}}</td><td class="{{{class78b|}}}" style="{{{datastyleb|}}}">{{{data78b|}}}</td><td class="{{{class78c|}}}" style="{{{datastylec|}}}">{{{data78c|}}}</td></tr>}}}}| {{#if:{{{data78|}}}|<tr class="{{{rowclass78|}}}"><td colspan="4" class="{{{class78|}}}" style="text-align:center; {{{datastyle|}}}">{{{data78|}}}</td></tr>}} }} }}<!-- Row 79 -->{{#if:{{{header79|}}}|<tr class="{{{rowclass79|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header79|}}}</th></tr>| {{#if:{{{label79|}}}|{{#if:{{{data79|}}}|<tr class="{{{rowclass79|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label79|}}}</th><td colspan="3" class="{{{class79|}}}" style="{{{datastyle|}}}">{{{data79|}}}</td></tr>|{{#if:{{{data79a|}}}{{{data79b|}}}|<tr class="{{{rowclass79|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label79|}}}</th><td class="{{{class79a|}}}" style="{{{datastylea|}}}">{{{data79a|}}}</td><td class="{{{class79b|}}}" style="{{{datastyleb|}}}">{{{data79b|}}}</td><td class="{{{class79c|}}}" style="{{{datastylec|}}}">{{{data79c|}}}</td></tr>}}}}| {{#if:{{{data79|}}}|<tr class="{{{rowclass79|}}}"><td colspan="4" class="{{{class79|}}}" style="text-align:center; {{{datastyle|}}}">{{{data79|}}}</td></tr>}} }} }}<!-- Row 80 -->{{#if:{{{header80|}}}|<tr class="{{{rowclass80|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header80|}}}</th></tr>| {{#if:{{{label80|}}}|{{#if:{{{data80|}}}|<tr class="{{{rowclass80|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label80|}}}</th><td colspan="3" class="{{{class80|}}}" style="{{{datastyle|}}}">{{{data80|}}}</td></tr>|{{#if:{{{data80a|}}}{{{data80b|}}}|<tr class="{{{rowclass80|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label80|}}}</th><td class="{{{class80a|}}}" style="{{{datastylea|}}}">{{{data80a|}}}</td><td class="{{{class80b|}}}" style="{{{datastyleb|}}}">{{{data80b|}}}</td><td class="{{{class80c|}}}" style="{{{datastylec|}}}">{{{data80c|}}}</td></tr>}}}}| {{#if:{{{data80|}}}|<tr class="{{{rowclass80|}}}"><td colspan="4" class="{{{class80|}}}" style="text-align:center; {{{datastyle|}}}">{{{data80|}}}</td></tr>}} }} }}<!-- Row 81 -->{{#if:{{{header81|}}}|<tr class="{{{rowclass81|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header81|}}}</th></tr>| {{#if:{{{label81|}}}|{{#if:{{{data81|}}}|<tr class="{{{rowclass81|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label81|}}}</th><td colspan="3" class="{{{class81|}}}" style="{{{datastyle|}}}">{{{data81|}}}</td></tr>|{{#if:{{{data81a|}}}{{{data81b|}}}|<tr class="{{{rowclass81|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label81|}}}</th><td class="{{{class81a|}}}" style="{{{datastylea|}}}">{{{data81a|}}}</td><td class="{{{class81b|}}}" style="{{{datastyleb|}}}">{{{data81b|}}}</td><td class="{{{class81c|}}}" style="{{{datastylec|}}}">{{{data81c|}}}</td></tr>}}}}| {{#if:{{{data81|}}}|<tr class="{{{rowclass81|}}}"><td colspan="4" class="{{{class81|}}}" style="text-align:center; {{{datastyle|}}}">{{{data81|}}}</td></tr>}} }} }}<!-- Row 82 -->{{#if:{{{header82|}}}|<tr class="{{{rowclass82|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header82|}}}</th></tr>| {{#if:{{{label82|}}}|{{#if:{{{data82|}}}|<tr class="{{{rowclass82|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label82|}}}</th><td colspan="3" class="{{{class82|}}}" style="{{{datastyle|}}}">{{{data82|}}}</td></tr>|{{#if:{{{data82a|}}}{{{data82b|}}}|<tr class="{{{rowclass82|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label82|}}}</th><td class="{{{class82a|}}}" style="{{{datastylea|}}}">{{{data82a|}}}</td><td class="{{{class82b|}}}" style="{{{datastyleb|}}}">{{{data82b|}}}</td><td class="{{{class82c|}}}" style="{{{datastylec|}}}">{{{data82c|}}}</td></tr>}}}}| {{#if:{{{data82|}}}|<tr class="{{{rowclass82|}}}"><td colspan="4" class="{{{class82|}}}" style="text-align:center; {{{datastyle|}}}">{{{data82|}}}</td></tr>}} }} }}<!-- Row 83 -->{{#if:{{{header83|}}}|<tr class="{{{rowclass83|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header83|}}}</th></tr>| {{#if:{{{label83|}}}|{{#if:{{{data83|}}}|<tr class="{{{rowclass83|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label83|}}}</th><td colspan="3" class="{{{class83|}}}" style="{{{datastyle|}}}">{{{data83|}}}</td></tr>|{{#if:{{{data83a|}}}{{{data83b|}}}|<tr class="{{{rowclass83|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label83|}}}</th><td class="{{{class83a|}}}" style="{{{datastylea|}}}">{{{data83a|}}}</td><td class="{{{class83b|}}}" style="{{{datastyleb|}}}">{{{data83b|}}}</td><td class="{{{class83c|}}}" style="{{{datastylec|}}}">{{{data83c|}}}</td></tr>}}}}| {{#if:{{{data83|}}}|<tr class="{{{rowclass83|}}}"><td colspan="4" class="{{{class83|}}}" style="text-align:center; {{{datastyle|}}}">{{{data83|}}}</td></tr>}} }} }}<!-- Row 84 -->{{#if:{{{header84|}}}|<tr class="{{{rowclass84|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header84|}}}</th></tr>| {{#if:{{{label84|}}}|{{#if:{{{data84|}}}|<tr class="{{{rowclass84|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label84|}}}</th><td colspan="3" class="{{{class84|}}}" style="{{{datastyle|}}}">{{{data84|}}}</td></tr>|{{#if:{{{data84a|}}}{{{data84b|}}}|<tr class="{{{rowclass84|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label84|}}}</th><td class="{{{class84a|}}}" style="{{{datastylea|}}}">{{{data84a|}}}</td><td class="{{{class84b|}}}" style="{{{datastyleb|}}}">{{{data84b|}}}</td><td class="{{{class84c|}}}" style="{{{datastylec|}}}">{{{data84c|}}}</td></tr>}}}}| {{#if:{{{data84|}}}|<tr class="{{{rowclass84|}}}"><td colspan="4" class="{{{class84|}}}" style="text-align:center; {{{datastyle|}}}">{{{data84|}}}</td></tr>}} }} }}<!-- Row 85 -->{{#if:{{{header85|}}}|<tr class="{{{rowclass85|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header85|}}}</th></tr>| {{#if:{{{label85|}}}|{{#if:{{{data85|}}}|<tr class="{{{rowclass85|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label85|}}}</th><td colspan="3" class="{{{class85|}}}" style="{{{datastyle|}}}">{{{data85|}}}</td></tr>|{{#if:{{{data85a|}}}{{{data85b|}}}|<tr class="{{{rowclass85|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label85|}}}</th><td class="{{{class85a|}}}" style="{{{datastylea|}}}">{{{data85a|}}}</td><td class="{{{class85b|}}}" style="{{{datastyleb|}}}">{{{data85b|}}}</td><td class="{{{class85c|}}}" style="{{{datastylec|}}}">{{{data85c|}}}</td></tr>}}}}| {{#if:{{{data85|}}}|<tr class="{{{rowclass85|}}}"><td colspan="4" class="{{{class85|}}}" style="text-align:center; {{{datastyle|}}}">{{{data85|}}}</td></tr>}} }} }}<!-- Row 86 -->{{#if:{{{header86|}}}|<tr class="{{{rowclass86|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header86|}}}</th></tr>| {{#if:{{{label86|}}}|{{#if:{{{data86|}}}|<tr class="{{{rowclass86|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label86|}}}</th><td colspan="3" class="{{{class86|}}}" style="{{{datastyle|}}}">{{{data86|}}}</td></tr>|{{#if:{{{data86a|}}}{{{data86b|}}}|<tr class="{{{rowclass86|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label86|}}}</th><td class="{{{class86a|}}}" style="{{{datastylea|}}}">{{{data86a|}}}</td><td class="{{{class86b|}}}" style="{{{datastyleb|}}}">{{{data86b|}}}</td><td class="{{{class86c|}}}" style="{{{datastylec|}}}">{{{data86c|}}}</td></tr>}}}}| {{#if:{{{data86|}}}|<tr class="{{{rowclass86|}}}"><td colspan="4" class="{{{class86|}}}" style="text-align:center; {{{datastyle|}}}">{{{data86|}}}</td></tr>}} }} }}<!-- Row 87 -->{{#if:{{{header87|}}}|<tr class="{{{rowclass87|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header87|}}}</th></tr>| {{#if:{{{label87|}}}|{{#if:{{{data87|}}}|<tr class="{{{rowclass87|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label87|}}}</th><td colspan="3" class="{{{class87|}}}" style="{{{datastyle|}}}">{{{data87|}}}</td></tr>|{{#if:{{{data87a|}}}{{{data87b|}}}|<tr class="{{{rowclass87|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label87|}}}</th><td class="{{{class87a|}}}" style="{{{datastylea|}}}">{{{data87a|}}}</td><td class="{{{class87b|}}}" style="{{{datastyleb|}}}">{{{data87b|}}}</td><td class="{{{class87c|}}}" style="{{{datastylec|}}}">{{{data87c|}}}</td></tr>}}}}| {{#if:{{{data87|}}}|<tr class="{{{rowclass87|}}}"><td colspan="4" class="{{{class87|}}}" style="text-align:center; {{{datastyle|}}}">{{{data87|}}}</td></tr>}} }} }}<!-- Row 88 -->{{#if:{{{header88|}}}|<tr class="{{{rowclass88|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header88|}}}</th></tr>| {{#if:{{{label88|}}}|{{#if:{{{data88|}}}|<tr class="{{{rowclass88|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label88|}}}</th><td colspan="3" class="{{{class88|}}}" style="{{{datastyle|}}}">{{{data88|}}}</td></tr>|{{#if:{{{data88a|}}}{{{data88b|}}}|<tr class="{{{rowclass88|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label88|}}}</th><td class="{{{class88a|}}}" style="{{{datastylea|}}}">{{{data88a|}}}</td><td class="{{{class88b|}}}" style="{{{datastyleb|}}}">{{{data88b|}}}</td><td class="{{{class88c|}}}" style="{{{datastylec|}}}">{{{data88c|}}}</td></tr>}}}}| {{#if:{{{data88|}}}|<tr class="{{{rowclass88|}}}"><td colspan="4" class="{{{class88|}}}" style="text-align:center; {{{datastyle|}}}">{{{data88|}}}</td></tr>}} }} }}<!-- Row 89 -->{{#if:{{{header89|}}}|<tr class="{{{rowclass89|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header89|}}}</th></tr>| {{#if:{{{label89|}}}|{{#if:{{{data89|}}}|<tr class="{{{rowclass89|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label89|}}}</th><td colspan="3" class="{{{class89|}}}" style="{{{datastyle|}}}">{{{data89|}}}</td></tr>|{{#if:{{{data89a|}}}{{{data89b|}}}|<tr class="{{{rowclass89|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label89|}}}</th><td class="{{{class89a|}}}" style="{{{datastylea|}}}">{{{data89a|}}}</td><td class="{{{class89b|}}}" style="{{{datastyleb|}}}">{{{data89b|}}}</td><td class="{{{class89c|}}}" style="{{{datastylec|}}}">{{{data89c|}}}</td></tr>}}}}| {{#if:{{{data89|}}}|<tr class="{{{rowclass89|}}}"><td colspan="4" class="{{{class89|}}}" style="text-align:center; {{{datastyle|}}}">{{{data89|}}}</td></tr>}} }} }}<!-- Row 90 -->{{#if:{{{header90|}}}|<tr class="{{{rowclass90|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header90|}}}</th></tr>| {{#if:{{{label90|}}}|{{#if:{{{data90|}}}|<tr class="{{{rowclass90|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label90|}}}</th><td colspan="3" class="{{{class90|}}}" style="{{{datastyle|}}}">{{{data90|}}}</td></tr>|{{#if:{{{data90a|}}}{{{data90b|}}}|<tr class="{{{rowclass90|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label90|}}}</th><td class="{{{class90a|}}}" style="{{{datastylea|}}}">{{{data90a|}}}</td><td class="{{{class90b|}}}" style="{{{datastyleb|}}}">{{{data90b|}}}</td><td class="{{{class90c|}}}" style="{{{datastylec|}}}">{{{data90c|}}}</td></tr>}}}}| {{#if:{{{data90|}}}|<tr class="{{{rowclass90|}}}"><td colspan="4" class="{{{class90|}}}" style="text-align:center; {{{datastyle|}}}">{{{data90|}}}</td></tr>}} }} }}<!-- Row 91 -->{{#if:{{{header91|}}}|<tr class="{{{rowclass91|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header91|}}}</th></tr>| {{#if:{{{label91|}}}|{{#if:{{{data91|}}}|<tr class="{{{rowclass91|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label91|}}}</th><td colspan="3" class="{{{class91|}}}" style="{{{datastyle|}}}">{{{data91|}}}</td></tr>|{{#if:{{{data91a|}}}{{{data91b|}}}|<tr class="{{{rowclass91|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label91|}}}</th><td class="{{{class91a|}}}" style="{{{datastylea|}}}">{{{data91a|}}}</td><td class="{{{class91b|}}}" style="{{{datastyleb|}}}">{{{data91b|}}}</td><td class="{{{class91c|}}}" style="{{{datastylec|}}}">{{{data91c|}}}</td></tr>}}}}| {{#if:{{{data91|}}}|<tr class="{{{rowclass91|}}}"><td colspan="4" class="{{{class91|}}}" style="text-align:center; {{{datastyle|}}}">{{{data91|}}}</td></tr>}} }} }}<!-- Row 92 -->{{#if:{{{header92|}}}|<tr class="{{{rowclass92|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header92|}}}</th></tr>| {{#if:{{{label92|}}}|{{#if:{{{data92|}}}|<tr class="{{{rowclass92|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label92|}}}</th><td colspan="3" class="{{{class92|}}}" style="{{{datastyle|}}}">{{{data92|}}}</td></tr>|{{#if:{{{data92a|}}}{{{data92b|}}}|<tr class="{{{rowclass92|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label92|}}}</th><td class="{{{class92a|}}}" style="{{{datastylea|}}}">{{{data92a|}}}</td><td class="{{{class92b|}}}" style="{{{datastyleb|}}}">{{{data92b|}}}</td><td class="{{{class92c|}}}" style="{{{datastylec|}}}">{{{data92c|}}}</td></tr>}}}}| {{#if:{{{data92|}}}|<tr class="{{{rowclass92|}}}"><td colspan="4" class="{{{class92|}}}" style="text-align:center; {{{datastyle|}}}">{{{data92|}}}</td></tr>}} }} }}<!-- Row 93 -->{{#if:{{{header93|}}}|<tr class="{{{rowclass93|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header93|}}}</th></tr>| {{#if:{{{label93|}}}|{{#if:{{{data93|}}}|<tr class="{{{rowclass93|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label93|}}}</th><td colspan="3" class="{{{class93|}}}" style="{{{datastyle|}}}">{{{data93|}}}</td></tr>|{{#if:{{{data93a|}}}{{{data93b|}}}|<tr class="{{{rowclass93|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label93|}}}</th><td class="{{{class93a|}}}" style="{{{datastylea|}}}">{{{data93a|}}}</td><td class="{{{class93b|}}}" style="{{{datastyleb|}}}">{{{data93b|}}}</td><td class="{{{class93c|}}}" style="{{{datastylec|}}}">{{{data93c|}}}</td></tr>}}}}| {{#if:{{{data93|}}}|<tr class="{{{rowclass93|}}}"><td colspan="4" class="{{{class93|}}}" style="text-align:center; {{{datastyle|}}}">{{{data93|}}}</td></tr>}} }} }}<!-- Row 94 -->{{#if:{{{header94|}}}|<tr class="{{{rowclass94|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header94|}}}</th></tr>| {{#if:{{{label94|}}}|{{#if:{{{data94|}}}|<tr class="{{{rowclass94|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label94|}}}</th><td colspan="3" class="{{{class94|}}}" style="{{{datastyle|}}}">{{{data94|}}}</td></tr>|{{#if:{{{data94a|}}}{{{data94b|}}}|<tr class="{{{rowclass94|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label94|}}}</th><td class="{{{class94a|}}}" style="{{{datastylea|}}}">{{{data94a|}}}</td><td class="{{{class94b|}}}" style="{{{datastyleb|}}}">{{{data94b|}}}</td><td class="{{{class94c|}}}" style="{{{datastylec|}}}">{{{data94c|}}}</td></tr>}}}}| {{#if:{{{data94|}}}|<tr class="{{{rowclass94|}}}"><td colspan="4" class="{{{class94|}}}" style="text-align:center; {{{datastyle|}}}">{{{data94|}}}</td></tr>}} }} }}<!-- Row 95 -->{{#if:{{{header95|}}}|<tr class="{{{rowclass95|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header95|}}}</th></tr>| {{#if:{{{label95|}}}|{{#if:{{{data95|}}}|<tr class="{{{rowclass95|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label95|}}}</th><td colspan="3" class="{{{class95|}}}" style="{{{datastyle|}}}">{{{data95|}}}</td></tr>|{{#if:{{{data95a|}}}{{{data95b|}}}|<tr class="{{{rowclass95|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label95|}}}</th><td class="{{{class95a|}}}" style="{{{datastylea|}}}">{{{data95a|}}}</td><td class="{{{class95b|}}}" style="{{{datastyleb|}}}">{{{data95b|}}}</td><td class="{{{class95c|}}}" style="{{{datastylec|}}}">{{{data95c|}}}</td></tr>}}}}| {{#if:{{{data95|}}}|<tr class="{{{rowclass95|}}}"><td colspan="4" class="{{{class95|}}}" style="text-align:center; {{{datastyle|}}}">{{{data95|}}}</td></tr>}} }} }}<!-- Row 96 -->{{#if:{{{header96|}}}|<tr class="{{{rowclass96|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header96|}}}</th></tr>| {{#if:{{{label96|}}}|{{#if:{{{data96|}}}|<tr class="{{{rowclass96|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label96|}}}</th><td colspan="3" class="{{{class96|}}}" style="{{{datastyle|}}}">{{{data96|}}}</td></tr>|{{#if:{{{data96a|}}}{{{data96b|}}}|<tr class="{{{rowclass96|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label96|}}}</th><td class="{{{class96a|}}}" style="{{{datastylea|}}}">{{{data96a|}}}</td><td class="{{{class96b|}}}" style="{{{datastyleb|}}}">{{{data96b|}}}</td><td class="{{{class96c|}}}" style="{{{datastylec|}}}">{{{data96c|}}}</td></tr>}}}}| {{#if:{{{data96|}}}|<tr class="{{{rowclass96|}}}"><td colspan="4" class="{{{class96|}}}" style="text-align:center; {{{datastyle|}}}">{{{data96|}}}</td></tr>}} }} }}<!-- Row 97 -->{{#if:{{{header97|}}}|<tr class="{{{rowclass97|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header97|}}}</th></tr>| {{#if:{{{label97|}}}|{{#if:{{{data97|}}}|<tr class="{{{rowclass97|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label97|}}}</th><td colspan="3" class="{{{class97|}}}" style="{{{datastyle|}}}">{{{data97|}}}</td></tr>|{{#if:{{{data97a|}}}{{{data97b|}}}|<tr class="{{{rowclass97|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label97|}}}</th><td class="{{{class97a|}}}" style="{{{datastylea|}}}">{{{data97a|}}}</td><td class="{{{class97b|}}}" style="{{{datastyleb|}}}">{{{data97b|}}}</td><td class="{{{class97c|}}}" style="{{{datastylec|}}}">{{{data97c|}}}</td></tr>}}}}| {{#if:{{{data97|}}}|<tr class="{{{rowclass97|}}}"><td colspan="4" class="{{{class97|}}}" style="text-align:center; {{{datastyle|}}}">{{{data97|}}}</td></tr>}} }} }}<!-- Row 98 -->{{#if:{{{header98|}}}|<tr class="{{{rowclass98|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header98|}}}</th></tr>| {{#if:{{{label98|}}}|{{#if:{{{data98|}}}|<tr class="{{{rowclass98|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label98|}}}</th><td colspan="3" class="{{{class98|}}}" style="{{{datastyle|}}}">{{{data98|}}}</td></tr>|{{#if:{{{data98a|}}}{{{data98b|}}}|<tr class="{{{rowclass98|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label98|}}}</th><td class="{{{class98a|}}}" style="{{{datastylea|}}}">{{{data98a|}}}</td><td class="{{{class98b|}}}" style="{{{datastyleb|}}}">{{{data98b|}}}</td><td class="{{{class98c|}}}" style="{{{datastylec|}}}">{{{data98c|}}}</td></tr>}}}}| {{#if:{{{data98|}}}|<tr class="{{{rowclass98|}}}"><td colspan="4" class="{{{class98|}}}" style="text-align:center; {{{datastyle|}}}">{{{data98|}}}</td></tr>}} }} }}<!-- Row 99 -->{{#if:{{{header99|}}}|<tr class="{{{rowclass99|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header99|}}}</th></tr>| {{#if:{{{label99|}}}|{{#if:{{{data99|}}}|<tr class="{{{rowclass99|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label99|}}}</th><td colspan="3" class="{{{class99|}}}" style="{{{datastyle|}}}">{{{data99|}}}</td></tr>|{{#if:{{{data99a|}}}{{{data99b|}}}|<tr class="{{{rowclass99|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label99|}}}</th><td class="{{{class99a|}}}" style="{{{datastylea|}}}">{{{data99a|}}}</td><td class="{{{class99b|}}}" style="{{{datastyleb|}}}">{{{data99b|}}}</td><td class="{{{class99c|}}}" style="{{{datastylec|}}}">{{{data99c|}}}</td></tr>}}}}| {{#if:{{{data99|}}}|<tr class="{{{rowclass99|}}}"><td colspan="4" class="{{{class99|}}}" style="text-align:center; {{{datastyle|}}}">{{{data99|}}}</td></tr>}} }} }}<!-- Row 100 -->{{#if:{{{header100|}}}|<tr class="{{{rowclass100|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header100|}}}</th></tr>| {{#if:{{{label100|}}}|{{#if:{{{data100|}}}|<tr class="{{{rowclass100|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label100|}}}</th><td colspan="3" class="{{{class100|}}}" style="{{{datastyle|}}}">{{{data100|}}}</td></tr>|{{#if:{{{data100a|}}}{{{data100b|}}}|<tr class="{{{rowclass100|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label100|}}}</th><td class="{{{class100a|}}}" style="{{{datastylea|}}}">{{{data100a|}}}</td><td class="{{{class100b|}}}" style="{{{datastyleb|}}}">{{{data100b|}}}</td><td class="{{{class100c|}}}" style="{{{datastylec|}}}">{{{data100c|}}}</td></tr>}}}}| {{#if:{{{data100|}}}|<tr class="{{{rowclass100|}}}"><td colspan="4" class="{{{class100|}}}" style="text-align:center; {{{datastyle|}}}">{{{data100|}}}</td></tr>}} }} }}<!-- Row 101 -->{{#if:{{{header101|}}}|<tr class="{{{rowclass101|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header101|}}}</th></tr>| {{#if:{{{label101|}}}|{{#if:{{{data101|}}}|<tr class="{{{rowclass101|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label101|}}}</th><td colspan="3" class="{{{class101|}}}" style="{{{datastyle|}}}">{{{data101|}}}</td></tr>|{{#if:{{{data101a|}}}{{{data101b|}}}|<tr class="{{{rowclass101|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label101|}}}</th><td class="{{{class101a|}}}" style="{{{datastylea|}}}">{{{data101a|}}}</td><td class="{{{class101b|}}}" style="{{{datastyleb|}}}">{{{data101b|}}}</td><td class="{{{class101c|}}}" style="{{{datastylec|}}}">{{{data101c|}}}</td></tr>}}}}| {{#if:{{{data101|}}}|<tr class="{{{rowclass101|}}}"><td colspan="4" class="{{{class101|}}}" style="text-align:center; {{{datastyle|}}}">{{{data101|}}}</td></tr>}} }} }}<!-- Row 102 -->{{#if:{{{header102|}}}|<tr class="{{{rowclass102|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header102|}}}</th></tr>| {{#if:{{{label102|}}}|{{#if:{{{data102|}}}|<tr class="{{{rowclass102|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label102|}}}</th><td colspan="3" class="{{{class102|}}}" style="{{{datastyle|}}}">{{{data102|}}}</td></tr>|{{#if:{{{data102a|}}}{{{data102b|}}}|<tr class="{{{rowclass102|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label102|}}}</th><td class="{{{class102a|}}}" style="{{{datastylea|}}}">{{{data102a|}}}</td><td class="{{{class102b|}}}" style="{{{datastyleb|}}}">{{{data102b|}}}</td><td class="{{{class102c|}}}" style="{{{datastylec|}}}">{{{data102c|}}}</td></tr>}}}}| {{#if:{{{data102|}}}|<tr class="{{{rowclass102|}}}"><td colspan="4" class="{{{class102|}}}" style="text-align:center; {{{datastyle|}}}">{{{data102|}}}</td></tr>}} }} }}<!-- Row 103 -->{{#if:{{{header103|}}}|<tr class="{{{rowclass103|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header103|}}}</th></tr>| {{#if:{{{label103|}}}|{{#if:{{{data103|}}}|<tr class="{{{rowclass103|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label103|}}}</th><td colspan="3" class="{{{class103|}}}" style="{{{datastyle|}}}">{{{data103|}}}</td></tr>|{{#if:{{{data103a|}}}{{{data103b|}}}|<tr class="{{{rowclass103|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label103|}}}</th><td class="{{{class103a|}}}" style="{{{datastylea|}}}">{{{data103a|}}}</td><td class="{{{class103b|}}}" style="{{{datastyleb|}}}">{{{data103b|}}}</td><td class="{{{class103c|}}}" style="{{{datastylec|}}}">{{{data103c|}}}</td></tr>}}}}| {{#if:{{{data103|}}}|<tr class="{{{rowclass103|}}}"><td colspan="4" class="{{{class103|}}}" style="text-align:center; {{{datastyle|}}}">{{{data103|}}}</td></tr>}} }} }}<!-- Row 104 -->{{#if:{{{header104|}}}|<tr class="{{{rowclass104|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header104|}}}</th></tr>| {{#if:{{{label104|}}}|{{#if:{{{data104|}}}|<tr class="{{{rowclass104|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label104|}}}</th><td colspan="3" class="{{{class104|}}}" style="{{{datastyle|}}}">{{{data104|}}}</td></tr>|{{#if:{{{data104a|}}}{{{data104b|}}}|<tr class="{{{rowclass104|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label104|}}}</th><td class="{{{class104a|}}}" style="{{{datastylea|}}}">{{{data104a|}}}</td><td class="{{{class104b|}}}" style="{{{datastyleb|}}}">{{{data104b|}}}</td><td class="{{{class104c|}}}" style="{{{datastylec|}}}">{{{data104c|}}}</td></tr>}}}}| {{#if:{{{data104|}}}|<tr class="{{{rowclass104|}}}"><td colspan="4" class="{{{class104|}}}" style="text-align:center; {{{datastyle|}}}">{{{data104|}}}</td></tr>}} }} }}<!-- Row 105 -->{{#if:{{{header105|}}}|<tr class="{{{rowclass105|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header105|}}}</th></tr>| {{#if:{{{label105|}}}|{{#if:{{{data105|}}}|<tr class="{{{rowclass105|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label105|}}}</th><td colspan="3" class="{{{class105|}}}" style="{{{datastyle|}}}">{{{data105|}}}</td></tr>|{{#if:{{{data105a|}}}{{{data105b|}}}|<tr class="{{{rowclass105|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label105|}}}</th><td class="{{{class105a|}}}" style="{{{datastylea|}}}">{{{data105a|}}}</td><td class="{{{class105b|}}}" style="{{{datastyleb|}}}">{{{data105b|}}}</td><td class="{{{class105c|}}}" style="{{{datastylec|}}}">{{{data105c|}}}</td></tr>}}}}| {{#if:{{{data105|}}}|<tr class="{{{rowclass105|}}}"><td colspan="4" class="{{{class105|}}}" style="text-align:center; {{{datastyle|}}}">{{{data105|}}}</td></tr>}} }} }}<!-- Row 106 -->{{#if:{{{header106|}}}|<tr class="{{{rowclass106|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header106|}}}</th></tr>| {{#if:{{{label106|}}}|{{#if:{{{data106|}}}|<tr class="{{{rowclass106|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label106|}}}</th><td colspan="3" class="{{{class106|}}}" style="{{{datastyle|}}}">{{{data106|}}}</td></tr>|{{#if:{{{data106a|}}}{{{data106b|}}}|<tr class="{{{rowclass106|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label106|}}}</th><td class="{{{class106a|}}}" style="{{{datastylea|}}}">{{{data106a|}}}</td><td class="{{{class106b|}}}" style="{{{datastyleb|}}}">{{{data106b|}}}</td><td class="{{{class106c|}}}" style="{{{datastylec|}}}">{{{data106c|}}}</td></tr>}}}}| {{#if:{{{data106|}}}|<tr class="{{{rowclass106|}}}"><td colspan="4" class="{{{class106|}}}" style="text-align:center; {{{datastyle|}}}">{{{data106|}}}</td></tr>}} }} }}<!-- Row 107 -->{{#if:{{{header107|}}}|<tr class="{{{rowclass107|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header107|}}}</th></tr>| {{#if:{{{label107|}}}|{{#if:{{{data107|}}}|<tr class="{{{rowclass107|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label107|}}}</th><td colspan="3" class="{{{class107|}}}" style="{{{datastyle|}}}">{{{data107|}}}</td></tr>|{{#if:{{{data107a|}}}{{{data107b|}}}|<tr class="{{{rowclass107|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label107|}}}</th><td class="{{{class107a|}}}" style="{{{datastylea|}}}">{{{data107a|}}}</td><td class="{{{class107b|}}}" style="{{{datastyleb|}}}">{{{data107b|}}}</td><td class="{{{class107c|}}}" style="{{{datastylec|}}}">{{{data107c|}}}</td></tr>}}}}| {{#if:{{{data107|}}}|<tr class="{{{rowclass107|}}}"><td colspan="4" class="{{{class107|}}}" style="text-align:center; {{{datastyle|}}}">{{{data107|}}}</td></tr>}} }} }}<!-- Row 108 -->{{#if:{{{header108|}}}|<tr class="{{{rowclass108|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header108|}}}</th></tr>| {{#if:{{{label108|}}}|{{#if:{{{data108|}}}|<tr class="{{{rowclass108|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label108|}}}</th><td colspan="3" class="{{{class108|}}}" style="{{{datastyle|}}}">{{{data108|}}}</td></tr>|{{#if:{{{data108a|}}}{{{data108b|}}}|<tr class="{{{rowclass108|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label108|}}}</th><td class="{{{class108a|}}}" style="{{{datastylea|}}}">{{{data108a|}}}</td><td class="{{{class108b|}}}" style="{{{datastyleb|}}}">{{{data108b|}}}</td><td class="{{{class108c|}}}" style="{{{datastylec|}}}">{{{data108c|}}}</td></tr>}}}}| {{#if:{{{data108|}}}|<tr class="{{{rowclass108|}}}"><td colspan="4" class="{{{class108|}}}" style="text-align:center; {{{datastyle|}}}">{{{data108|}}}</td></tr>}} }} }}<!-- Row 109 -->{{#if:{{{header109|}}}|<tr class="{{{rowclass109|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header109|}}}</th></tr>| {{#if:{{{label109|}}}|{{#if:{{{data109|}}}|<tr class="{{{rowclass109|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label109|}}}</th><td colspan="3" class="{{{class109|}}}" style="{{{datastyle|}}}">{{{data109|}}}</td></tr>|{{#if:{{{data109a|}}}{{{data109b|}}}|<tr class="{{{rowclass109|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label109|}}}</th><td class="{{{class109a|}}}" style="{{{datastylea|}}}">{{{data109a|}}}</td><td class="{{{class109b|}}}" style="{{{datastyleb|}}}">{{{data109b|}}}</td><td class="{{{class109c|}}}" style="{{{datastylec|}}}">{{{data109c|}}}</td></tr>}}}}| {{#if:{{{data109|}}}|<tr class="{{{rowclass109|}}}"><td colspan="4" class="{{{class109|}}}" style="text-align:center; {{{datastyle|}}}">{{{data109|}}}</td></tr>}} }} }}<!-- Row 110 -->{{#if:{{{header110|}}}|<tr class="{{{rowclass110|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header110|}}}</th></tr>| {{#if:{{{label110|}}}|{{#if:{{{data110|}}}|<tr class="{{{rowclass110|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label110|}}}</th><td colspan="3" class="{{{class110|}}}" style="{{{datastyle|}}}">{{{data110|}}}</td></tr>|{{#if:{{{data110a|}}}{{{data110b|}}}|<tr class="{{{rowclass110|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label110|}}}</th><td class="{{{class110a|}}}" style="{{{datastylea|}}}">{{{data110a|}}}</td><td class="{{{class110b|}}}" style="{{{datastyleb|}}}">{{{data110b|}}}</td><td class="{{{class110c|}}}" style="{{{datastylec|}}}">{{{data110c|}}}</td></tr>}}}}| {{#if:{{{data110|}}}|<tr class="{{{rowclass110|}}}"><td colspan="4" class="{{{class110|}}}" style="text-align:center; {{{datastyle|}}}">{{{data110|}}}</td></tr>}} }} }}<!-- Row 111 -->{{#if:{{{header111|}}}|<tr class="{{{rowclass111|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header111|}}}</th></tr>| {{#if:{{{label111|}}}|{{#if:{{{data111|}}}|<tr class="{{{rowclass111|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label111|}}}</th><td colspan="3" class="{{{class111|}}}" style="{{{datastyle|}}}">{{{data111|}}}</td></tr>|{{#if:{{{data111a|}}}{{{data111b|}}}|<tr class="{{{rowclass111|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label111|}}}</th><td class="{{{class111a|}}}" style="{{{datastylea|}}}">{{{data111a|}}}</td><td class="{{{class111b|}}}" style="{{{datastyleb|}}}">{{{data111b|}}}</td><td class="{{{class111c|}}}" style="{{{datastylec|}}}">{{{data111c|}}}</td></tr>}}}}| {{#if:{{{data111|}}}|<tr class="{{{rowclass111|}}}"><td colspan="4" class="{{{class111|}}}" style="text-align:center; {{{datastyle|}}}">{{{data111|}}}</td></tr>}} }} }}<!-- Row 112 -->{{#if:{{{header112|}}}|<tr class="{{{rowclass112|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header112|}}}</th></tr>| {{#if:{{{label112|}}}|{{#if:{{{data112|}}}|<tr class="{{{rowclass112|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label112|}}}</th><td colspan="3" class="{{{class112|}}}" style="{{{datastyle|}}}">{{{data112|}}}</td></tr>|{{#if:{{{data112a|}}}{{{data112b|}}}|<tr class="{{{rowclass112|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label112|}}}</th><td class="{{{class112a|}}}" style="{{{datastylea|}}}">{{{data112a|}}}</td><td class="{{{class112b|}}}" style="{{{datastyleb|}}}">{{{data112b|}}}</td><td class="{{{class112c|}}}" style="{{{datastylec|}}}">{{{data112c|}}}</td></tr>}}}}| {{#if:{{{data112|}}}|<tr class="{{{rowclass112|}}}"><td colspan="4" class="{{{class112|}}}" style="text-align:center; {{{datastyle|}}}">{{{data112|}}}</td></tr>}} }} }}<!-- Row 113 -->{{#if:{{{header113|}}}|<tr class="{{{rowclass113|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header113|}}}</th></tr>| {{#if:{{{label113|}}}|{{#if:{{{data113|}}}|<tr class="{{{rowclass113|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label113|}}}</th><td colspan="3" class="{{{class113|}}}" style="{{{datastyle|}}}">{{{data113|}}}</td></tr>|{{#if:{{{data113a|}}}{{{data113b|}}}|<tr class="{{{rowclass113|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label113|}}}</th><td class="{{{class113a|}}}" style="{{{datastylea|}}}">{{{data113a|}}}</td><td class="{{{class113b|}}}" style="{{{datastyleb|}}}">{{{data113b|}}}</td><td class="{{{class113c|}}}" style="{{{datastylec|}}}">{{{data113c|}}}</td></tr>}}}}| {{#if:{{{data113|}}}|<tr class="{{{rowclass113|}}}"><td colspan="4" class="{{{class113|}}}" style="text-align:center; {{{datastyle|}}}">{{{data113|}}}</td></tr>}} }} }}<!-- Row 114 -->{{#if:{{{header114|}}}|<tr class="{{{rowclass114|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header114|}}}</th></tr>| {{#if:{{{label114|}}}|{{#if:{{{data114|}}}|<tr class="{{{rowclass114|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label114|}}}</th><td colspan="3" class="{{{class114|}}}" style="{{{datastyle|}}}">{{{data114|}}}</td></tr>|{{#if:{{{data114a|}}}{{{data114b|}}}|<tr class="{{{rowclass114|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label114|}}}</th><td class="{{{class114a|}}}" style="{{{datastylea|}}}">{{{data114a|}}}</td><td class="{{{class114b|}}}" style="{{{datastyleb|}}}">{{{data114b|}}}</td><td class="{{{class114c|}}}" style="{{{datastylec|}}}">{{{data114c|}}}</td></tr>}}}}| {{#if:{{{data114|}}}|<tr class="{{{rowclass114|}}}"><td colspan="4" class="{{{class114|}}}" style="text-align:center; {{{datastyle|}}}">{{{data114|}}}</td></tr>}} }} }}<!-- Row 115 -->{{#if:{{{header115|}}}|<tr class="{{{rowclass115|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header115|}}}</th></tr>| {{#if:{{{label115|}}}|{{#if:{{{data115|}}}|<tr class="{{{rowclass115|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label115|}}}</th><td colspan="3" class="{{{class115|}}}" style="{{{datastyle|}}}">{{{data115|}}}</td></tr>|{{#if:{{{data115a|}}}{{{data115b|}}}|<tr class="{{{rowclass115|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label115|}}}</th><td class="{{{class115a|}}}" style="{{{datastylea|}}}">{{{data115a|}}}</td><td class="{{{class115b|}}}" style="{{{datastyleb|}}}">{{{data115b|}}}</td><td class="{{{class115c|}}}" style="{{{datastylec|}}}">{{{data115c|}}}</td></tr>}}}}| {{#if:{{{data115|}}}|<tr class="{{{rowclass115|}}}"><td colspan="4" class="{{{class115|}}}" style="text-align:center; {{{datastyle|}}}">{{{data115|}}}</td></tr>}} }} }}<!-- Row 116 -->{{#if:{{{header116|}}}|<tr class="{{{rowclass116|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header116|}}}</th></tr>| {{#if:{{{label116|}}}|{{#if:{{{data116|}}}|<tr class="{{{rowclass116|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label116|}}}</th><td colspan="3" class="{{{class116|}}}" style="{{{datastyle|}}}">{{{data116|}}}</td></tr>|{{#if:{{{data116a|}}}{{{data116b|}}}|<tr class="{{{rowclass116|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label116|}}}</th><td class="{{{class116a|}}}" style="{{{datastylea|}}}">{{{data116a|}}}</td><td class="{{{class116b|}}}" style="{{{datastyleb|}}}">{{{data116b|}}}</td><td class="{{{class116c|}}}" style="{{{datastylec|}}}">{{{data116c|}}}</td></tr>}}}}| {{#if:{{{data116|}}}|<tr class="{{{rowclass116|}}}"><td colspan="4" class="{{{class116|}}}" style="text-align:center; {{{datastyle|}}}">{{{data116|}}}</td></tr>}} }} }}<!-- Row 117 -->{{#if:{{{header117|}}}|<tr class="{{{rowclass117|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header117|}}}</th></tr>| {{#if:{{{label117|}}}|{{#if:{{{data117|}}}|<tr class="{{{rowclass117|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label117|}}}</th><td colspan="3" class="{{{class117|}}}" style="{{{datastyle|}}}">{{{data117|}}}</td></tr>|{{#if:{{{data117a|}}}{{{data117b|}}}|<tr class="{{{rowclass117|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label117|}}}</th><td class="{{{class117a|}}}" style="{{{datastylea|}}}">{{{data117a|}}}</td><td class="{{{class117b|}}}" style="{{{datastyleb|}}}">{{{data117b|}}}</td><td class="{{{class117c|}}}" style="{{{datastylec|}}}">{{{data117c|}}}</td></tr>}}}}| {{#if:{{{data117|}}}|<tr class="{{{rowclass117|}}}"><td colspan="4" class="{{{class117|}}}" style="text-align:center; {{{datastyle|}}}">{{{data117|}}}</td></tr>}} }} }}<!-- Row 118 -->{{#if:{{{header118|}}}|<tr class="{{{rowclass118|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header118|}}}</th></tr>| {{#if:{{{label118|}}}|{{#if:{{{data118|}}}|<tr class="{{{rowclass118|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label118|}}}</th><td colspan="3" class="{{{class118|}}}" style="{{{datastyle|}}}">{{{data118|}}}</td></tr>|{{#if:{{{data118a|}}}{{{data118b|}}}|<tr class="{{{rowclass118|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label118|}}}</th><td class="{{{class118a|}}}" style="{{{datastylea|}}}">{{{data118a|}}}</td><td class="{{{class118b|}}}" style="{{{datastyleb|}}}">{{{data118b|}}}</td><td class="{{{class118c|}}}" style="{{{datastylec|}}}">{{{data118c|}}}</td></tr>}}}}| {{#if:{{{data118|}}}|<tr class="{{{rowclass118|}}}"><td colspan="4" class="{{{class118|}}}" style="text-align:center; {{{datastyle|}}}">{{{data118|}}}</td></tr>}} }} }}<!-- Row 119 -->{{#if:{{{header119|}}}|<tr class="{{{rowclass119|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header119|}}}</th></tr>| {{#if:{{{label119|}}}|{{#if:{{{data119|}}}|<tr class="{{{rowclass119|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label119|}}}</th><td colspan="3" class="{{{class119|}}}" style="{{{datastyle|}}}">{{{data119|}}}</td></tr>|{{#if:{{{data119a|}}}{{{data119b|}}}|<tr class="{{{rowclass119|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label119|}}}</th><td class="{{{class119a|}}}" style="{{{datastylea|}}}">{{{data119a|}}}</td><td class="{{{class119b|}}}" style="{{{datastyleb|}}}">{{{data119b|}}}</td><td class="{{{class119c|}}}" style="{{{datastylec|}}}">{{{data119c|}}}</td></tr>}}}}| {{#if:{{{data119|}}}|<tr class="{{{rowclass119|}}}"><td colspan="4" class="{{{class119|}}}" style="text-align:center; {{{datastyle|}}}">{{{data119|}}}</td></tr>}} }} }}<!-- Row 120 -->{{#if:{{{header120|}}}|<tr class="{{{rowclass120|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header120|}}}</th></tr>| {{#if:{{{label120|}}}|{{#if:{{{data120|}}}|<tr class="{{{rowclass120|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label120|}}}</th><td colspan="3" class="{{{class120|}}}" style="{{{datastyle|}}}">{{{data120|}}}</td></tr>|{{#if:{{{data120a|}}}{{{data120b|}}}|<tr class="{{{rowclass120|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label120|}}}</th><td class="{{{class120a|}}}" style="{{{datastylea|}}}">{{{data120a|}}}</td><td class="{{{class120b|}}}" style="{{{datastyleb|}}}">{{{data120b|}}}</td><td class="{{{class120c|}}}" style="{{{datastylec|}}}">{{{data120c|}}}</td></tr>}}}}| {{#if:{{{data120|}}}|<tr class="{{{rowclass120|}}}"><td colspan="4" class="{{{class120|}}}" style="text-align:center; {{{datastyle|}}}">{{{data120|}}}</td></tr>}} }} }}<!-- Row 121 -->{{#if:{{{header121|}}}|<tr class="{{{rowclass121|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header121|}}}</th></tr>| {{#if:{{{label121|}}}|{{#if:{{{data121|}}}|<tr class="{{{rowclass121|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label121|}}}</th><td colspan="3" class="{{{class121|}}}" style="{{{datastyle|}}}">{{{data121|}}}</td></tr>|{{#if:{{{data121a|}}}{{{data121b|}}}|<tr class="{{{rowclass121|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label121|}}}</th><td class="{{{class121a|}}}" style="{{{datastylea|}}}">{{{data121a|}}}</td><td class="{{{class121b|}}}" style="{{{datastyleb|}}}">{{{data121b|}}}</td><td class="{{{class121c|}}}" style="{{{datastylec|}}}">{{{data121c|}}}</td></tr>}}}}| {{#if:{{{data121|}}}|<tr class="{{{rowclass121|}}}"><td colspan="4" class="{{{class121|}}}" style="text-align:center; {{{datastyle|}}}">{{{data121|}}}</td></tr>}} }} }}<!-- Row 122 -->{{#if:{{{header122|}}}|<tr class="{{{rowclass122|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header122|}}}</th></tr>| {{#if:{{{label122|}}}|{{#if:{{{data122|}}}|<tr class="{{{rowclass122|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label122|}}}</th><td colspan="3" class="{{{class122|}}}" style="{{{datastyle|}}}">{{{data122|}}}</td></tr>|{{#if:{{{data122a|}}}{{{data122b|}}}|<tr class="{{{rowclass122|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label122|}}}</th><td class="{{{class122a|}}}" style="{{{datastylea|}}}">{{{data122a|}}}</td><td class="{{{class122b|}}}" style="{{{datastyleb|}}}">{{{data122b|}}}</td><td class="{{{class122c|}}}" style="{{{datastylec|}}}">{{{data122c|}}}</td></tr>}}}}| {{#if:{{{data122|}}}|<tr class="{{{rowclass122|}}}"><td colspan="4" class="{{{class122|}}}" style="text-align:center; {{{datastyle|}}}">{{{data122|}}}</td></tr>}} }} }}<!-- Row 123 -->{{#if:{{{header123|}}}|<tr class="{{{rowclass123|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header123|}}}</th></tr>| {{#if:{{{label123|}}}|{{#if:{{{data123|}}}|<tr class="{{{rowclass123|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label123|}}}</th><td colspan="3" class="{{{class123|}}}" style="{{{datastyle|}}}">{{{data123|}}}</td></tr>|{{#if:{{{data123a|}}}{{{data123b|}}}|<tr class="{{{rowclass123|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label123|}}}</th><td class="{{{class123a|}}}" style="{{{datastylea|}}}">{{{data123a|}}}</td><td class="{{{class123b|}}}" style="{{{datastyleb|}}}">{{{data123b|}}}</td><td class="{{{class123c|}}}" style="{{{datastylec|}}}">{{{data123c|}}}</td></tr>}}}}| {{#if:{{{data123|}}}|<tr class="{{{rowclass123|}}}"><td colspan="4" class="{{{class123|}}}" style="text-align:center; {{{datastyle|}}}">{{{data123|}}}</td></tr>}} }} }}<!-- Row 124 -->{{#if:{{{header124|}}}|<tr class="{{{rowclass124|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header124|}}}</th></tr>| {{#if:{{{label124|}}}|{{#if:{{{data124|}}}|<tr class="{{{rowclass124|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label124|}}}</th><td colspan="3" class="{{{class124|}}}" style="{{{datastyle|}}}">{{{data124|}}}</td></tr>|{{#if:{{{data124a|}}}{{{data124b|}}}|<tr class="{{{rowclass124|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label124|}}}</th><td class="{{{class124a|}}}" style="{{{datastylea|}}}">{{{data124a|}}}</td><td class="{{{class124b|}}}" style="{{{datastyleb|}}}">{{{data124b|}}}</td><td class="{{{class124c|}}}" style="{{{datastylec|}}}">{{{data124c|}}}</td></tr>}}}}| {{#if:{{{data124|}}}|<tr class="{{{rowclass124|}}}"><td colspan="4" class="{{{class124|}}}" style="text-align:center; {{{datastyle|}}}">{{{data124|}}}</td></tr>}} }} }}<!-- Row 125 -->{{#if:{{{header125|}}}|<tr class="{{{rowclass125|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header125|}}}</th></tr>| {{#if:{{{label125|}}}|{{#if:{{{data125|}}}|<tr class="{{{rowclass125|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label125|}}}</th><td colspan="3" class="{{{class125|}}}" style="{{{datastyle|}}}">{{{data125|}}}</td></tr>|{{#if:{{{data125a|}}}{{{data125b|}}}|<tr class="{{{rowclass125|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label125|}}}</th><td class="{{{class125a|}}}" style="{{{datastylea|}}}">{{{data125a|}}}</td><td class="{{{class125b|}}}" style="{{{datastyleb|}}}">{{{data125b|}}}</td><td class="{{{class125c|}}}" style="{{{datastylec|}}}">{{{data125c|}}}</td></tr>}}}}| {{#if:{{{data125|}}}|<tr class="{{{rowclass125|}}}"><td colspan="4" class="{{{class125|}}}" style="text-align:center; {{{datastyle|}}}">{{{data125|}}}</td></tr>}} }} }}<!-- Row 126 -->{{#if:{{{header126|}}}|<tr class="{{{rowclass126|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header126|}}}</th></tr>| {{#if:{{{label126|}}}|{{#if:{{{data126|}}}|<tr class="{{{rowclass126|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label126|}}}</th><td colspan="3" class="{{{class126|}}}" style="{{{datastyle|}}}">{{{data126|}}}</td></tr>|{{#if:{{{data126a|}}}{{{data126b|}}}|<tr class="{{{rowclass126|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label126|}}}</th><td class="{{{class126a|}}}" style="{{{datastylea|}}}">{{{data126a|}}}</td><td class="{{{class126b|}}}" style="{{{datastyleb|}}}">{{{data126b|}}}</td><td class="{{{class126c|}}}" style="{{{datastylec|}}}">{{{data126c|}}}</td></tr>}}}}| {{#if:{{{data126|}}}|<tr class="{{{rowclass126|}}}"><td colspan="4" class="{{{class126|}}}" style="text-align:center; {{{datastyle|}}}">{{{data126|}}}</td></tr>}} }} }}<!-- Row 127 -->{{#if:{{{header127|}}}|<tr class="{{{rowclass127|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header127|}}}</th></tr>| {{#if:{{{label127|}}}|{{#if:{{{data127|}}}|<tr class="{{{rowclass127|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label127|}}}</th><td colspan="3" class="{{{class127|}}}" style="{{{datastyle|}}}">{{{data127|}}}</td></tr>|{{#if:{{{data127a|}}}{{{data127b|}}}|<tr class="{{{rowclass127|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label127|}}}</th><td class="{{{class127a|}}}" style="{{{datastylea|}}}">{{{data127a|}}}</td><td class="{{{class127b|}}}" style="{{{datastyleb|}}}">{{{data127b|}}}</td><td class="{{{class127c|}}}" style="{{{datastylec|}}}">{{{data127c|}}}</td></tr>}}}}| {{#if:{{{data127|}}}|<tr class="{{{rowclass127|}}}"><td colspan="4" class="{{{class127|}}}" style="text-align:center; {{{datastyle|}}}">{{{data127|}}}</td></tr>}} }} }}<!-- Row 128 -->{{#if:{{{header128|}}}|<tr class="{{{rowclass128|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header128|}}}</th></tr>| {{#if:{{{label128|}}}|{{#if:{{{data128|}}}|<tr class="{{{rowclass128|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label128|}}}</th><td colspan="3" class="{{{class128|}}}" style="{{{datastyle|}}}">{{{data128|}}}</td></tr>|{{#if:{{{data128a|}}}{{{data128b|}}}|<tr class="{{{rowclass128|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label128|}}}</th><td class="{{{class128a|}}}" style="{{{datastylea|}}}">{{{data128a|}}}</td><td class="{{{class128b|}}}" style="{{{datastyleb|}}}">{{{data128b|}}}</td><td class="{{{class128c|}}}" style="{{{datastylec|}}}">{{{data128c|}}}</td></tr>}}}}| {{#if:{{{data128|}}}|<tr class="{{{rowclass128|}}}"><td colspan="4" class="{{{class128|}}}" style="text-align:center; {{{datastyle|}}}">{{{data128|}}}</td></tr>}} }} }}<!-- Row 129 -->{{#if:{{{header129|}}}|<tr class="{{{rowclass129|}}}"><th colspan="4" scope="col" style="text-align:center; {{{headerstyle|}}}">{{{header129|}}}</th></tr>| {{#if:{{{label129|}}}|{{#if:{{{data129|}}}|<tr class="{{{rowclass129|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label129|}}}</th><td colspan="3" class="{{{class129|}}}" style="{{{datastyle|}}}">{{{data129|}}}</td></tr>|{{#if:{{{data129a|}}}{{{data129b|}}}|<tr class="{{{rowclass129|}}}" style="{{{multidatastyle|}}}"><th scope="row" style="{{{labelstyle|}}}">{{{label129|}}}</th><td class="{{{class129a|}}}" style="{{{datastylea|}}}">{{{data129a|}}}</td><td class="{{{class129b|}}}" style="{{{datastyleb|}}}">{{{data129b|}}}</td><td class="{{{class129c|}}}" style="{{{datastylec|}}}">{{{data129c|}}}</td></tr>}}}}| {{#if:{{{data129|}}}|<tr class="{{{rowclass129|}}}"><td colspan="4" class="{{{class129|}}}" style="text-align:center; {{{datastyle|}}}">{{{data129|}}}</td></tr>}} }} }}<!-- Below -->{{#if:{{{below|}}}|{{Infobox3cols/row |data={{{below}}} |datastyle={{{belowstyle|}}} |class={{{belowclass|}}} |rowclass={{{belowrowclass|}}} }} }}<!-- Navbar -->{{#if:{{{name|}}}|{{Infobox3cols/row |data={{navbar|{{{name}}} }} }} }} </table><!-- --><noinclude> {{documentation}} </noinclude> kmvq9myamldtqhimh5myqiqtav8o8og Πρότυπον:Infobox3cols/row 10 3550 36966 2025-12-16T13:58:18Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#if:{{{header|}}} |<tr class="{{{rowclass|}}}"><th colspan="4" style="text-align:center; {{{headerstyle|}}}">{{{header|}}}</th></tr> |{{#if:{{{label|}}} |{{#if:{{{data|}}} |<tr class="{{{rowclass|}}}"><th style="{{{labelstyle|}}}">{{{label|}}}</th> <td colspan="3" class="{{{class|}}}" style="{{{datastyle|}}}">{{{data|}}}</td></tr> |{{#if:{{{dataa|}}}{{{datab|}}} |<tr class="{{{rowclass1|}}}" style="{{{multidatastyle|}}}"><th style...' 36966 wikitext text/x-wiki {{#if:{{{header|}}} |<tr class="{{{rowclass|}}}"><th colspan="4" style="text-align:center; {{{headerstyle|}}}">{{{header|}}}</th></tr> |{{#if:{{{label|}}} |{{#if:{{{data|}}} |<tr class="{{{rowclass|}}}"><th style="{{{labelstyle|}}}">{{{label|}}}</th> <td colspan="3" class="{{{class|}}}" style="{{{datastyle|}}}">{{{data|}}}</td></tr> |{{#if:{{{dataa|}}}{{{datab|}}} |<tr class="{{{rowclass1|}}}" style="{{{multidatastyle|}}}"><th style="{{{labelstyle|}}}">{{{label|}}}</th> <td class="{{{classa|}}}" style="{{{datastylea|}}}">{{{dataa|}}}</td> <td class="{{{classb|}}}" style="{{{datastyleb|}}}">{{{datab|}}}</td> <td class="{{{classc|}}}" style="{{{datastylec|}}}">{{{datac|}}}</td></tr> }} }} |{{#if:{{{data|}}} |<tr class="{{{rowclass|}}}"><td colspan="4" class="{{{class|}}}" style="text-align:center; {{{datastyle|}}}">{{{data|}}}</td></tr> }} }} }}<noinclude>{{documentation}}</noinclude> a5u0lnlacxjiq5ne8xhbctdpxvfpkyf Πρότυπον:Infobox 10 3551 36967 2025-12-16T14:00:40Z Εὐθυμένης 2777 Ανακατεύθυνση στη σελίδα [[Πρότυπον:Πλαίσιον πληροφοριών]] 36967 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ[[Πρότυπον:Πλαίσιον πληροφοριών]] bh3jgzbtso44xv4exsylqxppk2nb3ph Πρότυπον:Πληροφορίες 10 3552 36968 2025-12-16T14:02:52Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#invoke:Infobox|infobox}}<includeonly>{{template other|{{#ifeq:{{PAGENAME}}|Infobox||{{#ifeq:{{str left|{{SUBPAGENAME}}|7}}|Infobox|[[Category:Infobox templates|{{remove first word|{{SUBPAGENAME}}}}]]}}}}|}}</includeonly><noinclude> {{documentation}} <!-- Categories go in the /doc subpage, and interwikis go in Wikidata. --> </noinclude>' 36968 wikitext text/x-wiki {{#invoke:Infobox|infobox}}<includeonly>{{template other|{{#ifeq:{{PAGENAME}}|Infobox||{{#ifeq:{{str left|{{SUBPAGENAME}}|7}}|Infobox|[[Category:Infobox templates|{{remove first word|{{SUBPAGENAME}}}}]]}}}}|}}</includeonly><noinclude> {{documentation}} <!-- Categories go in the /doc subpage, and interwikis go in Wikidata. --> </noinclude> f4hgwrnr11ahhwyo266vcd10dpi92pe Module:Wikidata/Sorters/date 828 3553 36969 2025-12-16T14:03:47Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '--require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local Formatters = require 'Module:Wikidata/Formatters' local function getValues(qualifiers) local Values = {} if qualifiers then for key, array in pairs(lib.props) do for _, prop in ipairs(array) do for _, snak in ipairs(qualifiers[prop] or {}) do if lib.IsSnakValue(snak) then Values[key] = Formatters.getRawValue(snak) break end end...' 36969 Scribunto text/plain --require "strict" local p = {} local lib = require 'Module:Wikidata/lib' local Formatters = require 'Module:Wikidata/Formatters' local function getValues(qualifiers) local Values = {} if qualifiers then for key, array in pairs(lib.props) do for _, prop in ipairs(array) do for _, snak in ipairs(qualifiers[prop] or {}) do if lib.IsSnakValue(snak) then Values[key] = Formatters.getRawValue(snak) break end end end end end return Values end function p.isCompleteStatement(statement) local Values = getValues(statement.qualifiers) return (Values.begin or Values.ending) and true end function p.mayCompareStatement(statement) return true end function p.compareStatements(first, second) local FirstValues = getValues(first.qualifiers) local SecondValues = getValues(second.qualifiers) if FirstValues.begin and SecondValues.begin then if FirstValues.begin ~= SecondValues.begin then return lib.simpleCompare(FirstValues.begin, SecondValues.begin) end if FirstValues.ending and SecondValues.ending then return lib.simpleCompare(FirstValues.ending, SecondValues.ending) end if FirstValues.ending then return -1 elseif SecondValues.ending then return 1 else return 0 end end if FirstValues.ending and SecondValues.ending then if FirstValues.ending == SecondValues.ending then if FirstValues.begin then return 1 elseif SecondValues.begin then return -1 else return 0 end end end if FirstValues.begin and SecondValues.ending then return lib.simpleCompare(FirstValues.begin, SecondValues.ending) end if FirstValues.ending and SecondValues.begin then if FirstValues.ending > SecondValues.begin then return 1 else return -1 end end return lib.simpleCompare(FirstValues.ending, SecondValues.ending) end return p 8jpos59zwywyigcvre6yx3jykydhq6d 18 Απρίλτ 0 3554 37134 36989 2025-12-16T18:27:13Z Εὐθυμένης 2777 37134 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[17 Απρίλτ]] | [[18 Απρίλτ]] | [[19 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''18 τ' Απρίλτ''' εν τ' 108ον ημέρα τη χρονίας (109ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 257 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[18 Μαρτί]] - [[18 Καλομηνά]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0108]] ppozr4hw703r6zhftgioi9g4c4cziw5 15 Απρίλτ 0 3555 37131 36974 2025-12-16T18:26:21Z Εὐθυμένης 2777 37131 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[14 Απρίλτ]] | [[15 Απρίλτ]] | [[16 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''15 τ' Απρίλτ''' εν τ' 105ον ημέρα τη χρονίας (106ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 260 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[15 Μαρτί]] - [[15 Καλομηνά]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0105]] 3ljmzmk9zd8sxhsrtyw5egdd84119fm 14 Απρίλτ 0 3556 37130 36976 2025-12-16T18:26:05Z Εὐθυμένης 2777 37130 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[13 Απρίλτ]] | [[14 Απρίλτ]] | [[15 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''14 τ' Απρίλτ''' εν τ' 104ον ημέρα τη χρονίας (105ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 261 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[14 Μαρτί]] - [[14 Καλομηνά]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0104]] r9jdpn1vq8p53bab2lcx6re49h96sh2 13 Απρίλτ 0 3557 37129 36977 2025-12-16T18:25:51Z Εὐθυμένης 2777 37129 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[12 Απρίλτ]] | [[13 Απρίλτ]] | [[14 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''13 τ' Απρίλτ''' εν τ' 103ον ημέρα τη χρονίας (104ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 262 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[13 Μαρτί]] - [[13 Καλομηνά]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0103]] s2hh5bq6il4t719443q97i3rb6akvez 12 Απρίλτ 0 3558 37128 36978 2025-12-16T18:25:35Z Εὐθυμένης 2777 37128 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[11 Απρίλτ]] | [[12 Απρίλτ]] | [[13 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''12 τ' Απρίλτ''' εν τ' 102ον ημέρα τη χρονίας (103ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 263 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[12 Μαρτί]] - [[12 Καλομηνά]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0102]] fl2kuliodfwxph4qdtrjtqu5t7owao0 11 Απρίλτ 0 3559 37127 36979 2025-12-16T18:25:19Z Εὐθυμένης 2777 37127 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[10 Απρίλτ]] | [[11 Απρίλτ]] | [[12 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''11 τ' Απρίλτ''' εν τ' 101ον ημέρα τη χρονίας (102ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 264 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[11 Μαρτί]] - [[11 Καλομηνά]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0101]] 6racwgn68kpl4f9ehwrl1ba9cszwwef 10 Απρίλτ 0 3560 37126 36980 2025-12-16T18:25:02Z Εὐθυμένης 2777 37126 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[9 Απρίλτ]] | [[10 Απρίλτ]] | [[11 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''10 τ' Απρίλτ''' εν τ' 100ον ημέρα τη χρονίας (101ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 265 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[10 Μαρτί]] - [[10 Καλομηνά]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0100]] ik6y7nzgvqhjzv2czk4g2n8td9pzogp 9 Απρίλτ 0 3561 37125 36981 2025-12-16T18:24:44Z Εὐθυμένης 2777 37125 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[8 Απρίλτ]] | [[9 Απρίλτ]] | [[10 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''9 τ' Απρίλτ''' εν τ' 99ον ημέρα τη χρονίας (100ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 266 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[9 Μαρτί]] - [[9 Καλομηνά]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0099]] 7x0djwbnhveryueykvqd8tje04srglo 8 Απρίλτ 0 3562 37124 36982 2025-12-16T18:24:29Z Εὐθυμένης 2777 37124 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[7 Απρίλτ]] | [[8 Απρίλτ]] | [[9 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''8 τ' Απρίλτ''' εν τ' 98ον ημέρα τη χρονίας (99ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 267 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[8 Μαρτί]] - [[8 Καλομηνά]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0098]] 5du5d7o5po4q6w1dk83o8yw51mwmj9s 19 Απρίλτ 0 3563 37135 36990 2025-12-16T18:27:29Z Εὐθυμένης 2777 37135 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[18 Απρίλτ]] | [[19 Απρίλτ]] | [[20 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''19 τ' Απρίλτ''' εν τ' 109ον ημέρα τη χρονίας (110ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 256 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[19 Μαρτί]] - [[19 Καλομηνά]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0110]] mmwkh4k1gqlgi5s8dg78r31c3ivpu33 20 Απρίλτ 0 3564 37136 36991 2025-12-16T18:27:46Z Εὐθυμένης 2777 37136 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[19 Απρίλτ]] | [[20 Απρίλτ]] | [[21 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''20 τ' Απρίλτ''' εν τ' 110ον ημέρα τη χρονίας (111ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 255 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[20 Μαρτί]] - [[20 Καλομηνά]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0110]] 0jp8bleyv38mn0hkx9ho5r1jrar5z1h 21 Απρίλτ 0 3565 37137 36992 2025-12-16T18:28:15Z Εὐθυμένης 2777 37137 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[20 Απρίλτ]] | [[21 Απρίλτ]] | [[22 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''21 τ' Απρίλτ''' εν τ' 111ον ημέρα τη χρονίας (112ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 254 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[21 Μαρτί]] - [[21 Καλομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0111]] 466yuj2h0gkr4yu1cpbvwxwvhf54tgr 22 Απρίλτ 0 3566 37138 36993 2025-12-16T18:28:43Z Εὐθυμένης 2777 37138 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[21 Απρίλτ]] | [[22 Απρίλτ]] | [[23 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''22 τ' Απρίλτ''' εν τ' 112ον ημέρα τη χρονίας (113ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 253 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[22 Μαρτί]] - [[22 Καλομηνά]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0112]] c3m6fu8axhnq7h1sappwj3wbrka8dp0 23 Απρίλτ 0 3567 37139 36994 2025-12-16T18:28:58Z Εὐθυμένης 2777 37139 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[22 Απρίλτ]] | [[23 Απρίλτ]] | [[24 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''23 τ' Απρίλτ''' εν τ' 113ον ημέρα τη χρονίας (114ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 258 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[23 Μαρτί]] - [[23 Καλομηνά]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0113]] iz7law0evrovqqdxqxzskexxdqn6z1x 24 Απρίλτ 0 3568 37140 36996 2025-12-16T18:29:15Z Εὐθυμένης 2777 37140 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[23 Απρίλτ]] | [[24 Απρίλτ]] | [[25 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''24 τ' Απρίλτ''' εν τ' 114ον ημέρα τη χρονίας (115ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 251 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[24 Μαρτί]] - [[24 Καλομηνά]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0114]] 3njr399nmh5qag3xwzbfctxrapaomf5 25 Απρίλτ 0 3569 37141 36999 2025-12-16T18:29:30Z Εὐθυμένης 2777 37141 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[24 Απρίλτ]] | [[25 Απρίλτ]] | [[26 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''25 τ' Απρίλτ''' εν τ' 115ον ημέρα τη χρονίας (116ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 250 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[25 Μαρτί]] - [[25 Καλομηνά]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0115]] 6c77yeum46cw8l3lfxcjcvjwvvq9mk8 26 Απρίλτ 0 3570 37142 37000 2025-12-16T18:29:45Z Εὐθυμένης 2777 37142 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[25 Απρίλτ]] | [[26 Απρίλτ]] | [[27 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''26 τ' Απρίλτ''' εν τ' 116ον ημέρα τη χρονίας (117ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 249 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[26 Μαρτί]] - [[26 Καλομηνά]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0116]] 2s6lck9k2thuiqsnvdqp19er8u6qctg 27 Απρίλτ 0 3571 37143 37001 2025-12-16T18:29:59Z Εὐθυμένης 2777 37143 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[26 Απρίλτ]] | [[27 Απρίλτ]] | [[28 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''27 τ' Απρίλτ''' εν τ' 117ον ημέρα τη χρονίας (118ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 248 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[27 Μαρτί]] - [[27 Καλομηνά]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0117]] 78z0lwzr9d88q39umg35w23dirp4ap4 28 Απρίλτ 0 3572 37144 37002 2025-12-16T18:30:23Z Εὐθυμένης 2777 37144 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[27 Απρίλτ]] | [[28 Απρίλτ]] | [[29 Απρίλτ]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''28 τ' Απρίλτ''' εν τ' 118ον ημέρα τη χρονίας (119ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 247 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[28 Μαρτί]] - [[28 Καλομηνά]] {{Πρότυπον:Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0118]] 5utxa7sy68bk1u4sls4hwditeyza8yi 30 Απρίλτ 0 3573 37147 37146 2025-12-16T18:34:01Z Εὐθυμένης 2777 37147 wikitext text/x-wiki <div class="center">[[Κούντουρος]] | [[Μαρτς]] | '''[[Απρίλτς]]''' | [[Καλομηνάς]] | [[Κερασινός]]</div> <div class="center">[[29 Απρίλτ]] | [[30 Απρίλτ]] | [[1 Καλομηνά]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|4}} Η '''30 τ' Απρίλτ''' εν τ' 120ον ημέρα τη χρονίας (121ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 245 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[30 Μαρτί]] - [[30 Καλομηνά]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0120]] 7emnjcano0e49b8icgudb6rfscn095n Πρότυπον:ΗμερολόγιοΣεΠίνακα 10 3574 37010 2025-12-16T17:41:12Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{#invoke: Ημερολόγια | πίνακαςμήνα}}</includeonly><noinclude>{{Τεκμηρίωση προτύπου}}</noinclude>' 37010 wikitext text/x-wiki <includeonly>{{#invoke: Ημερολόγια | πίνακαςμήνα}}</includeonly><noinclude>{{Τεκμηρίωση προτύπου}}</noinclude> rqu0jz5r95p34vluc7dxc2f93et5bv2 Module:Ημερολόγια 828 3575 37015 37012 2025-12-16T18:02:40Z Εὐθυμένης 2777 37015 Scribunto text/plain p ={} local df = require("Module:DateFunctions") --επιστρέφει το κείμενο σε div με σφάλμα --και εντάσσει τη σελίδα σε κατηγορία με σφάλματα errorhere = function(errstring) return '<div class="error">' .. errstring .. '</div>[[Κατηγορίαν:Σελίδες με σφάλματα στο ημερολόγιο]]' end --επιστρέφει true αν είναι αλφαριθμητικό και έχει έστω και έναν χαρακτήρα exeikati = function(onearg) if onearg == nil then return false end if type(onearg) == 'string' then return (mw.ustring.len(onearg) > 0) else return false end end monthtable = function (poiosmhnas) local currentdays = {} local tmpnum = 0 local monthnum = tonumber(poiosmhnas) local monthname = df['μήνες'][monthnum]['όνομα'] local monthg = df['μήνες'][monthnum]['γεν'] local etos = os.date('*t').year local firstday = df.get_day_of_week (1, monthnum, etos) if firstday == 7 then firstday = 1 else firstday = firstday + 1 end local monthdays = df['μήνες'][monthnum]['ημ'] --φέρνει 29 για το φλεβάρη από το: Module:DateFunctions if monthnum == 2 and (not df.isleapyear(etos)) then monthdays = 28 end for xcounter = 1,7 do if firstday > xcounter then currentdays[xcounter] = '|colspan="1"| &nbsp;' else tmpnum = (xcounter - firstday + 1) currentdays[xcounter] = '| [[' .. tmpnum .. ' ' .. monthg .. '|' .. tmpnum ..']]' end end for xcounter = 8,28 do tmpnum = (xcounter - firstday + 1) currentdays[xcounter] = '| [[' .. tmpnum .. ' ' .. monthg .. '|' .. tmpnum ..']]' end for xcounter = 29,35 do if monthdays + firstday > xcounter then tmpnum = (xcounter - firstday + 1) currentdays[xcounter] = '| [[' .. tmpnum .. ' ' .. monthg .. '|' .. tmpnum ..']]' else currentdays[xcounter] = '|colspan="1"| &nbsp;' end end newtable = [=[{| style="float:right; margin-left: 1em; text-align:center; background-color:#f9f9f9; border:1px solid #aaaaaa;font-size:90%;" |- style="background:#ccccff;" |colspan="7"|'''[[]=] .. monthname .. [=[]]''' |- style="background:#ccccff;" |width="14%"| Κερ. |width="14%"| Δευτ. |width="14%"| Τρ. |width="14%"| Τετ. |width="14%"| Πέφ. |width="14%"| Παρ. |width="14%"| Σάβ. |-]=] local daytoshow = 0 for ycounter = 1,5 do for xcounter = 1,7 do --if ycounter < 2 then --daytoshow = xcounter --else daytoshow = (((ycounter - 1 ) * 7) + xcounter) --mw.log(type(daytoshow)) newtable = newtable .. '\n' .. currentdays[daytoshow] .. '\n' end newtable = newtable .. '\n' .. '|-' --αν έχει 28 ημέρες και τις έχεις ήδη δείξει βγες if (monthdays + firstday) < 29 and (daytoshow > 27) then break end end newtable = newtable .. [=[ |colspan="7"| &nbsp; |- style="background:#ccccff" |colspan="7"| [[]=] .. etos .. ']]\n' .. [=[ |}]=] return newtable end --συνάρτηση που δίνει τον πίνακα του μήνα (με το τρέχον έτος του server) p['πίνακαςμήνα'] = function (frame) local lemmaargs = frame:getParent().args if lemmaargs[1] == nil then return errorhere('Δεν δόθηκε η παράμετρος μήνας!') end return frame:preprocess(monthtable(lemmaargs[1])) end --συνάρτηση που δίνει τις ημέρες του μήνα (με το τρέχον έτος του server) --σε σειρά οριζόντια p['πίνακαςημερώνμήνα'] = function (frame) local lemmaargs = frame:getParent().args if lemmaargs[1] == nil then return errorhere('Δεν δόθηκε η παράμετρος μήνας!') end local etos = os.date('*t').year local monthnum = tonumber(poiosmhnas) local monthname = df['μήνες'][monthnum]['όνομα'] local monthgen = df['μήνες'][monthnum]['γεν'] local monthdays = df['μήνες'][monthnum]['ημ'] -- αν δεν τις βάζουμε όλες του φλεβάρη... --if monthnum == 2 and df.isleapyear(etos) then monthdays = 29 end local oneline = '<center>' for xcounter = 1, monthdays do oneline = oneline .. ' [[' .. xcounter .. ' ' .. monthgen .. '|' .. xcounter .. ']] ' if monthdays > xcounter then oneline = oneline .. '|' end end oneline = oneline .. '</center>' return frame:preprocess(oneline) end p['5μήνες'] = function (frame) local lemmaargs = frame:getParent().args if lemmaargs['μ'] == nil then return errorhere('Δεν δόθηκε η παράμετρος μήνας!') end local output = '<center>' local month = tonumber(lemmaargs['μ']) firstmonth = month-3 for xcounter = 1,2 do output = output .. '[[' .. df.getmonthname(df.realmonthnum(firstmonth + xcounter)) .. ']] | ' end output = output .. '<b>[[' .. df.getmonthname(df.realmonthnum(firstmonth + 3)) .. ']]</b>' for xcounter = 4,5 do output = output .. ' | [[' .. df.getmonthname(df.realmonthnum(firstmonth + xcounter)) .. ']]' end output = output .. '</center>' return frame:preprocess(output) end --############################### --το σκεπτικό είναι να μετατρέπουμε σε ακέραιο αριθμό το έτος. --Το πρόβλημα είναι ότι στους υπολογισμούς προκύπτουν και έτη μηδέν. --Αυτά δεν μπορούν απλά να μετατραπούν σε έτος 1 μ.Χ. ή 1 π.Χ. --(Θα πρέπει να γνωρίζουμε αν προήλθαν από πρόσθεση ή αφαίρεση) --Μάλλον καλύτερη προσέγγιση είναι: --Αντιστοιχούμε όλα τα έτη μ.Χ. στον αντίστοιχο ακέραιο αριθμό --και τα έτη π.Χ. σε αρνητικό στον οποίο προσθέτουμε 1 --Έτσι έχουμε --(..., 235 π.Χ., ..., 3 π.Χ., 2 π.Χ, 1 π.Χ.) --(..., -234, ..., -2, -1, 0) --για τα υπόλοιπα (δεκαετίες, αιώνες, χιλιετίες) --χρησιμοποιούμε ένα οποιοδήποτε πραγματικό έτος τους --για να πάρουμε την ονομασία τους centurystring = function(etosasnum) --αν είναι αρνητικός αριθμός --τα έτη 0 μέχρι -99 είναι στον 1ο π.Χ. αιώνα --αυτό το παίρνουμε επειδή μετατρέπονται σε 100 μέχρι 199 if etosasnum < 1 then return tostring(math.floor((100+math.abs(etosasnum))/100)) .. 'ος αιώνας π.Χ.' end --αλλιώς προσθέτουμε 99 --ώστε τα έτη 1 μέχρι 100 --να μας δώσουν 100 μέχρι 199 return tostring(math.floor((etosasnum+99)/100)) .. 'ος αιώνας' end decadestring = function(etosasnum) --ας μην έχουμε δεκαετίες π.Χ. για την ώρα --για αυτές θα χρειαστεί άλλη προσέγγιση αφού πρέπει να περιλμβάνουν 2 έτη στον τίτλο --ας τις περιορίσουμε επίσης στο διάστημα 1700 μέχρι τώρα if etosasnum < 1 then return nil end return tostring(10 * math.floor(etosasnum/10) ) end yearstring = function(etosasnum) if etosasnum < 1 then return tostring(math.abs(etosasnum) + 1) .. ' π.Χ.' end return tostring(etosasnum) end --[=[Δοκιμές στη κονσόλα αποσφαλμάτωσης (debug console) στο κάτω μέρος με =p.aiones(1) =p.aiones(1999) =p.aiones(0) --δηλαδή 1 π.Χ. κλπ. ]=] p.aiones = function(etosasnum) local output = '[[' .. centurystring(etosasnum - 200) .. '|◄]]' output = output .. ' [[' .. centurystring(etosasnum - 100) .. ']]' output = output .. ' [[' .. centurystring(etosasnum) .. ']]' local tempstr = centurystring(etosasnum + 100) --ΠΡΟΣΟΧΗ!! expensive!! --ίσως να ελέγχουμε αν είναι μετά από τώρα και να μην το εμφανίζουμε --θεωρώντας ότι δεν θα υπάρχει if mw.title.new(tempstr).exists then output = output .. ' [[' .. tempstr .. ']]' tempstr = centurystring(etosasnum + 200) --ΠΡΟΣΟΧΗ!! expensive!! if mw.title.new(tempstr).exists then output = output .. ' [[' .. tempstr .. '|►]]' end end return output end --[=[Δοκιμές στη κονσόλα αποσφαλμάτωσης (debug console) στο κάτω μέρος με =p.dekaeties(1) =p.dekaeties(1999) =p.dekaeties(0) --δηλαδή 1 π.Χ. --εεε... χμμμμ... Όχι ακόμα! κλπ. ]=] p.dekaeties = function(etosasnum) --Πρέπει να αποφασιστεί τι θα κάνουμε --1. Να ελέγχουμε αν υπάρχει (expensive) --2. Να το βάζουμε έτσι κι αλλιώς (θα έχει κόκκινα που μπορεί κάποιος χρήστης να τα δημιουργήσει μόνο και μόνο επειδή έκανε κλικ) --3. Να έχουμε ένα όριο προς τα πίσω πριν από το οποίο δεν θα δημιουργήσουμε δεκαετίες (υπάρχουν όμως ήδη ακόμα και π.Χ.) --Η τρέχουσα προσέγγιση είναι η 2 --Για την ώρα δεν επιστρέφει πριν το 30 μ.Χ. if etosasnum < 30 then return nil end local output = '[[Δεκαετία ' .. decadestring(etosasnum - 20) .. '|◄]]' output = output .. ' [[Δεκαετία ' .. decadestring(etosasnum - 10) .. ']]' output = output .. ' [[Δεκαετία ' .. decadestring(etosasnum) .. ']]' local tempstr = 'Δεκαετία ' .. decadestring(etosasnum + 10) --ΠΡΟΣΟΧΗ!! expensive!! --ίσως να ελέγχουμε αν είναι μετά από τώρα και να μην το εμφανίζουμε --θεωρώντας ότι δεν θα υπάρχει if mw.title.new(tempstr).exists then output = output .. ' [[Δεκαετία ' .. tempstr .. ']]' tempstr = 'Δεκαετία ' .. decadestring(etosasnum + 20) --ΠΡΟΣΟΧΗ!! expensive!! if mw.title.new(tempstr).exists then output = output .. ' [[Δεκαετία ' .. tempstr .. '|►]]' end end return output end --[=[Δοκιμές στη κονσόλα αποσφαλμάτωσης (debug console) στο κάτω μέρος με =p.eth(1) =p.eth(1999) =p.eth(0) --δηλαδή 1 π.Χ. κλπ. ]=] p.eth = function(etosasnum) local output = '[[' .. yearstring(etosasnum - 10) .. '|◄◄]]' output = output .. ' [[' .. yearstring(etosasnum - 5) .. '|◄]]' output = output .. ' [[' .. yearstring(etosasnum - 4) .. ']]' output = output .. ' [[' .. yearstring(etosasnum - 3) .. ']]' output = output .. ' [[' .. yearstring(etosasnum - 2) .. ']]' output = output .. ' [[' .. yearstring(etosasnum - 1) .. ']]' output = output .. ' [[' .. yearstring(etosasnum) .. ']]' local tempstr = yearstring(etosasnum + 1) --ΠΡΟΣΟΧΗ!! expensive!! --καλύτερα ίσως να ελέγχουμε αν είναι μετά από σήμερα και να μην το εμφανίζουμε --θεωρώντας ότι δεν θα υπάρχει if mw.title.new(tempstr).exists then output = output .. ' [[' .. tempstr .. ']]' tempstr = yearstring(etosasnum + 2) --ΠΡΟΣΟΧΗ!! expensive!! if mw.title.new(tempstr).exists then output = output .. ' [[' .. tempstr .. ']]' tempstr = yearstring(etosasnum + 3) --ΠΡΟΣΟΧΗ!! expensive!! if mw.title.new(tempstr).exists then output = output .. ' [[' .. tempstr .. ']]' tempstr = yearstring(etosasnum + 4) --ΠΡΟΣΟΧΗ!! expensive!! if mw.title.new(tempstr).exists then output = output .. ' [[' .. tempstr .. ']]' tempstr = yearstring(etosasnum + 5) --ΠΡΟΣΟΧΗ!! expensive!! if mw.title.new(tempstr).exists then output = output .. ' [[' .. tempstr .. '|►]]' tempstr = yearstring(etosasnum + 10) --ΠΡΟΣΟΧΗ!! expensive!! if mw.title.new(tempstr).exists then output = output .. ' [[' .. tempstr .. '|►►]]' end end end end end end return output end --για χρήση στο πρότυπο έτος και έτος π.Χ. --εμπεριέχει και την κατηγορία --δεν εμφανίζει σωστά το div p['πρότυποέτος'] = function (frame) PAGENAME = mw.title.getCurrentTitle().text --αν έχει π.Χ. να το αφαιρούμε και να γίνει αρνητικός αριθμός local startx, stopx startx, stopx = mw.ustring.find(PAGENAME, ' π.Χ.') if startx == nil then etosasnum = tonumber(PAGENAME) --αν έχει στον τίτλο το π.Χ. --τον μετατρέπω σε αρνητικό +1 --το 1 π.Χ. θα γίνει 0, το 2 π.Χ. θα γίνει -1 else etosasnum = 1-tonumber(mw.ustring.sub(PAGENAME,1,startx-1)) end --δεν επεξεργάζεται το <div> με preprocess local output = '' output = p.aiones(etosasnum) --η "εδώ" προσέγγιση είναι να μην εμφανίζονται δεκαετίες πριν το 1900 --(ίσως να γίνεται έλεγχος για το αν υπάρχουν αλλά είναι expensive!!!-) --Επίσης μπορεί να αφαιρεθεί εξ ολοκλήρου η εμφάνιση των δεκαετιών --Αν χρειαστεί μπορούμε να τις προσθέσουμε στο πινακάκι --if etosasnum >= 1900 then --output = output .. '<br/>' .. p.dekaeties(etosasnum) --end output = output .. '<br/>' .. p.eth(etosasnum) --Κατηγορία χ αιώνας --output = output .. ' [[Κατηγορία:' .. centurystring(etosasnum) .. '|#' .. mw.ustring.format(etosasnum,'%5d') .. ']]' local preprocessed = frame:preprocess(output) local boiled = '<div class="metadata" style="border: 1px solid #ccd2d9; background: white; padding: 0.5em 1em 0.5em 1em; text-align: center;">' boiled = boiled .. preprocessed .. '</div> [[Κατηγορία:' .. centurystring(etosasnum) .. '|#' .. mw.ustring.format(etosasnum,'%5d') .. ']]' return boiled --return frame:preprocess(output) end --############################### return p qukbgq0pnfuds4dt253zk453vlgns5t Module:DateFunctions 828 3576 37013 2025-12-16T17:56:36Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '-- Διάφορες ημερολογιακές συναρτήσεις p = {} --επιστρέφει το κείμενο σε div με σφάλμα --και εντάσσει τη σελίδα σε κατηγορία με σφάλματα errorhere = function(errstring) return '<div class="error">' .. errstring .. '</div>[[Κατηγορίαν:Σελίδες με σφάλματα στο ημερολόγιο]]' end --επιστρέφει true α...' 37013 Scribunto text/plain -- Διάφορες ημερολογιακές συναρτήσεις p = {} --επιστρέφει το κείμενο σε div με σφάλμα --και εντάσσει τη σελίδα σε κατηγορία με σφάλματα errorhere = function(errstring) return '<div class="error">' .. errstring .. '</div>[[Κατηγορίαν:Σελίδες με σφάλματα στο ημερολόγιο]]' end --επιστρέφει true αν είναι αλφαριθμητικό και έχει έστω και έναν χαρακτήρα exeikati = function(onearg) if onearg == nil then return false end if type(onearg) == 'string' then return (mw.ustring.len(onearg) > 0) else return false end end -- RiciLake comments: -- It would be better to create the days_in_month table outside the -- function, like this (using % so it only works in Lua 5.1) --επιστρέφει το αν είναι δίσεκτο έτος p.isleapyear = function(poioetos) return poioetos % 4 == 0 and (poioetos % 100 ~= 0 or poioetos % 400 == 0) end --επιστρέφει τις ημέρες που έχει ο μήνας ----(μήνας και έτος ακέραιοι αριθμοί) p.getdaysinmonth = function(poiosmhnas, poioetos) if poiosmhnas == 2 and p.isleapyear(poioetos) then return 29 else return p['μήνες'][poiosmhnas]['ημ'] end end --επιστρέφει το μήνα (ο μήνας σε ακέραιο) στην ονομαστική πτώση p.getmonthname = function(poiosmhnas) return p['μήνες'][poiosmhnas]['όνομα'] end --επιστρέφει το μήνα (ο μήνας σε ακέραιο) στη γενική πτώση p.getmonthgen = function(poiosmhnas) return p['μήνες'][poiosmhnas]['γεν'] end --πίνακας με τα στοιχεία των μηνών p['μήνες'] = { {['όνομα'] = 'Καλαντάρτς', ['γεν'] = 'Καλανταρί', ['συντμ'] = {'ΚΑΛ','ΚΑΛ.',}, ['ημ'] = 31}, {['όνομα'] = 'Κούντουρος', ['γεν'] = 'Κούντουρονος',['συντμ'] = {'ΚΟΥ','ΚΟΥ.',}, ['ημ'] = 29}, {['όνομα'] = 'Μαρτς', ['γεν'] = 'Μαρτί',['συντμ'] = {'ΜΑΡ','ΜΑΡ.',}, ['ημ'] = 31}, {['όνομα'] = 'Απρίλτς', ['γεν'] = 'Απρίλτ',['συντμ'] = {'ΑΠΡ','ΑΠΡ.',}, ['ημ'] = 30}, {['όνομα'] = 'Καλομηνάς', ['γεν'] = 'Καλομηνά',['συντμ'] = {'ΚΑΛ','ΚΑΛ.','ΚΑΛΑ','ΚΑΛΑ.',}, ['ημ'] = 31}, {['όνομα'] = 'Κερασινός', ['γεν'] = 'Κερασινού',['συντμ'] = {'ΚΕΡ','ΚΕΡ.','ΚΕΡΑ','ΚΕΡΑ.',}, ['ημ'] = 30}, {['όνομα'] = 'Χορτοθέρτς', ['γεν'] = 'Χορτοθέρτ',['συντμ'] = {'ΧΟΡ','ΧΟΡ.','ΧΟΡΤ','ΧΟΡΤ.',}, ['ημ'] = 31}, {['όνομα'] = 'Αλωνάρτς', ['γεν'] = 'Αλωναρί',['συντμ'] = {'ΑΛΩ','ΑΛΩ.',}, ['ημ'] = 31}, {['όνομα'] = 'Σταυρίτες', ['γεν'] = 'Σταυρί',['συντμ'] = {'ΣΤΑ','ΣΤΑ.',}, ['ημ'] = 30}, {['όνομα'] = 'Τρυγομηνάς', ['γεν'] = 'Τρυγομηνά',['συντμ'] = {'ΤΡΥ','ΤΡΥ.',}, ['ημ'] = 31}, {['όνομα'] = 'Αεργίτες', ['γεν'] = 'Αεργί',['συντμ'] = {'ΑΕΡ','ΑΕΡ.',}, ['ημ'] = 30}, {['όνομα'] = 'Χριστουγεννάρτς', ['γεν'] = 'Χριστουγενναρί',['συντμ'] = {'ΧΡΙ','ΧΡΙ.',}, ['ημ'] = 31}, } --επιστρέφει τον αριθμό του μήνα από το όνομα ή τη σύντμηση --από τον πίνακα p['μήναςαποόνομα'] = function(month) if type(month) ~= "string" then return nil end local m = mw.ustring.upper( mw.text.trim(month) ) for i = 1, 12 do if p['μήνες'][i]['όνομα'] == month then return i end if p['μήνες'][i]['γεν'] == month then return i end local j = 1 --για όσο υπάρχει σύντμηση για τον μήνα while p['μήνες'][i]['συντμ'][j] ~= nil do if p['μήνες'][i]['συντμ'][j] == m then return i end j = j + 1 end end -- αφού δεν βρέθηκε ως εδώ επιστρέφει αυτόματα το nil end --πίνακας με τα ονόματα των ημερών p['ημέρες'] = { 'Δευτέραν', 'Τρίτ', 'Τετράδ', 'Πέφτ', 'Παρασκευήν', 'Σάββαν', 'Κερεκήν'} --επιστρέφει το ποια μέρα της εβδομάδας είναι (ακέραιος, Δευτέραν=1) αν δοθεί η ημερομηνία -- returns the day of week (integer) -- Compatible with Lua 5.0 and 5.1. -- from sam_lie p.get_day_of_week = function(dd, mm, yy) -- local days = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" } -- local days = { 7, 1, 2, 3, 4, 5, 6 } local mmx = mm if (mm == 1) then mmx = 13; yy = yy-1 end if (mm == 2) then mmx = 14; yy = yy-1 end local val8 = dd + (mmx*2) + math.floor(((mmx+1)*3)/5) + yy + math.floor(yy/4) - math.floor(yy/100) + math.floor(yy/400) + 2 local val9 = math.floor(val8/7) local dw = val8-(val9*7) if (dw < 2 ) then dw = dw + 6 else dw =dw - 1 end -- return dw, days[dw] -- return days[dw] return dw end --επιστρέφει ένα σωστό αριθμό από το 1 μέχρι το 12 --για την περίπτωση που έχουμε ξεπεράσει (κυκλικά) --το πάνω ή το κάτω όριο --(μία φορά μόνο, δηλαδή από 13-23 ή από -11 μέχρι 0) p.realmonthnum = function(monthnum) if monthnum > 12 then return monthnum - 12 end if monthnum < 1 then return monthnum + 12 end return monthnum end return p o1wplsdkwrk2brc9b55m4xzfw2edqpb 1 Χριστουγενναρί 0 3577 37334 37326 2025-12-16T20:20:26Z Εὐθυμένης 2777 37334 wikitext text/x-wiki <div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[30 Αεργί]] | [[1 Χριστουγενναρί]] | [[2 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''1 τη Χριστουγενναρί''' εν το 335ον ημέρα τη χρονίας (336ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 30 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[1 Αεργί]] - [[1 Καλανταρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0335]] lm66pn727e6przxfwfwr3002a0le97w 2 Χριστουγενναρί 0 3578 37333 37327 2025-12-16T20:20:14Z Εὐθυμένης 2777 37333 wikitext text/x-wiki <div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[1 Χριστουγενναρί]] | [[2 Χριστουγενναρί]] | [[3 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''2 τη Χριστουγενναρί''' εν το 336ον ημέρα τη χρονίας (337ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 29 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[2 Αεργί]] - [[2 Καλανταρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0336]] 161xgcgdzl01illulla0ngri5hianpk 3 Χριστουγενναρί 0 3579 37332 37328 2025-12-16T20:20:02Z Εὐθυμένης 2777 37332 wikitext text/x-wiki <div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[2 Χριστουγενναρί]] | [[3 Χριστουγενναρί]] | [[4 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''3 τη Χριστουγενναρί''' εν το 337ον ημέρα τη χρονίας (338ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 28 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[3 Αεργί]] - [[3 Καλανταρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0337]] cxbn4a770cykno4chr28v7z9c0sxovz 4 Χριστουγενναρί 0 3580 37331 37330 2025-12-16T20:19:51Z Εὐθυμένης 2777 37331 wikitext text/x-wiki <div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[3 Χριστουγενναρί]] | [[4 Χριστουγενναρί]] | [[5 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''4 τη Χριστουγενναρί''' εν το 338ον ημέρα τη χρονίας (339ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 27 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[4 Αεργί]] - [[4 Καλανταρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0338]] ks6r5l188bhbixi1k0g0i0ace97h4nd 5 Χριστουγενναρί 0 3581 37335 2025-12-16T20:22:01Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[4 Χριστουγενναρί]] | [[5 Χριστουγενναρί]] | [[6 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''5 τη Χριστουγενναρί''' εν το 339ον ημέρα τη χρονίας (...' 37335 wikitext text/x-wiki <div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[4 Χριστουγενναρί]] | [[5 Χριστουγενναρί]] | [[6 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''5 τη Χριστουγενναρί''' εν το 339ον ημέρα τη χρονίας (340ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 26 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[5 Αεργί]] - [[5 Καλανταρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0339]] 0bs413vbrzvsuac5v297f2p5v6bbre7 6 Χριστουγενναρί 0 3582 37336 2025-12-16T20:23:27Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[5 Χριστουγενναρί]] | [[6 Χριστουγενναρί]] | [[7 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''6 τη Χριστουγενναρί''' εν το 340ον ημέρα τη χρονίας (...' 37336 wikitext text/x-wiki <div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[5 Χριστουγενναρί]] | [[6 Χριστουγενναρί]] | [[7 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''6 τη Χριστουγενναρί''' εν το 340ον ημέρα τη χρονίας (341ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 25 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[6 Αεργί]] - [[6 Καλανταρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0340]] e8zaewld9v02crt876k8vhbok1yf607 7 Χριστουγενναρί 0 3583 37337 2025-12-16T20:25:07Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[6 Χριστουγενναρί]] | [[7 Χριστουγενναρί]] | [[8 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''7 τη Χριστουγενναρί''' εν το 341ον ημέρα τη χρονίας (...' 37337 wikitext text/x-wiki <div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[6 Χριστουγενναρί]] | [[7 Χριστουγενναρί]] | [[8 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''7 τη Χριστουγενναρί''' εν το 341ον ημέρα τη χρονίας (342ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 24 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[7 Αεργί]] - [[7 Καλανταρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0342]] 1us4srphpzp4xfumkfk6thkeqrc89wd 8 Χριστουγενναρί 0 3584 37338 2025-12-16T20:26:27Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[7 Χριστουγενναρί]] | [[8 Χριστουγενναρί]] | [[9 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''8 τη Χριστουγενναρί''' εν το 342ον ημέρα τη χρονίας (...' 37338 wikitext text/x-wiki <div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[7 Χριστουγενναρί]] | [[8 Χριστουγενναρί]] | [[9 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''8 τη Χριστουγενναρί''' εν το 342ον ημέρα τη χρονίας (343ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 23 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[8 Αεργί]] - [[8 Καλανταρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0342]] 46qktc959xxhunevbfribazzojmmawi 9 Χριστουγενναρί 0 3585 37339 2025-12-16T20:28:49Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[8 Χριστουγενναρί]] | [[9 Χριστουγενναρί]] | [[10 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''9 τη Χριστουγενναρί''' εν το 343ον ημέρα τη χρονίας...' 37339 wikitext text/x-wiki <div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[8 Χριστουγενναρί]] | [[9 Χριστουγενναρί]] | [[10 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''9 τη Χριστουγενναρί''' εν το 343ον ημέρα τη χρονίας (344ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 22 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[9 Αεργί]] - [[9 Καλανταρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0343]] ol5a155sxvcl5lrh0ke34vtv14vtcda 10 Χριστουγενναρί 0 3586 37341 37340 2025-12-16T20:31:09Z Εὐθυμένης 2777 37341 wikitext text/x-wiki <div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[9 Χριστουγενναρί]] | [[10 Χριστουγενναρί]] | [[11 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''10 τη Χριστουγενναρί''' εν το 344ον ημέρα τη χρονίας (345ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 21 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[10 Αεργί]] - [[10 Καλανταρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0344]] 01upmxx66eddqxs0cussr1wnk15qy5r 11 Χριστουγενναρί 0 3587 37342 2025-12-16T20:36:26Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[10 Χριστουγενναρί]] | [[11 Χριστουγενναρί]] | [[12 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''11 τη Χριστουγενναρί''' εν το 345ον ημέρα τη χρονία...' 37342 wikitext text/x-wiki <div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[10 Χριστουγενναρί]] | [[11 Χριστουγενναρί]] | [[12 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''11 τη Χριστουγενναρί''' εν το 345ον ημέρα τη χρονίας (346ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 20 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[11 Αεργί]] - [[11 Καλανταρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0345]] 3wqnd9wslyit8vb60v39xjzqtgj3o9i 12 Χριστουγενναρί 0 3588 37343 2025-12-16T20:37:51Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[11 Χριστουγενναρί]] | [[12 Χριστουγενναρί]] | [[13 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''12 τη Χριστουγενναρί''' εν το 346ον ημέρα τη χρονία...' 37343 wikitext text/x-wiki <div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[11 Χριστουγενναρί]] | [[12 Χριστουγενναρί]] | [[13 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''12 τη Χριστουγενναρί''' εν το 346ον ημέρα τη χρονίας (347ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 19 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[12 Αεργί]] - [[12 Καλανταρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0346]] 7atmgo8vkgfxvvx7bjh03tk260dc1lq 13 Χριστουγενναρί 0 3589 37344 2025-12-16T20:39:01Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[12 Χριστουγενναρί]] | [[13 Χριστουγενναρί]] | [[14 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''13 τη Χριστουγενναρί''' εν το 347ον ημέρα τη χρονία...' 37344 wikitext text/x-wiki <div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[12 Χριστουγενναρί]] | [[13 Χριστουγενναρί]] | [[14 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''13 τη Χριστουγενναρί''' εν το 347ον ημέρα τη χρονίας (348ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 18 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[13 Αεργί]] - [[13 Καλανταρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0347]] 0s9ssngj4w5unkssg86z3h1s39350ut 14 Χριστουγενναρί 0 3590 37345 2025-12-16T20:40:19Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[13 Χριστουγενναρί]] | [[14 Χριστουγενναρί]] | [[15 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''14 τη Χριστουγενναρί''' εν το 348ον ημέρα τη χρονία...' 37345 wikitext text/x-wiki <div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[13 Χριστουγενναρί]] | [[14 Χριστουγενναρί]] | [[15 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''14 τη Χριστουγενναρί''' εν το 348ον ημέρα τη χρονίας (349ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 17 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[14 Αεργί]] - [[14 Καλανταρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0348]] dqory4n588tmfugco2jpylaxp83gx4o 15 Χριστουγενναρί 0 3591 37346 2025-12-16T20:41:46Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[14 Χριστουγενναρί]] | [[15 Χριστουγενναρί]] | [[16 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''15 τη Χριστουγενναρί''' εν το 349ον ημέρα τη χρονία...' 37346 wikitext text/x-wiki <div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[14 Χριστουγενναρί]] | [[15 Χριστουγενναρί]] | [[16 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''15 τη Χριστουγενναρί''' εν το 349ον ημέρα τη χρονίας (350ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 16 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[15 Αεργί]] - [[15 Καλανταρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0349]] 06jg2mpwc83rnycm9fjheks769npsro 16 Χριστουγενναρί 0 3592 37347 2025-12-16T20:43:25Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[15 Χριστουγενναρί]] | [[16 Χριστουγενναρί]] | [[17 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''16 τη Χριστουγενναρί''' εν το 350ον ημέρα τη χρονία...' 37347 wikitext text/x-wiki <div class="center">[[Τρυγομηνάς]] | [[Αεργίτες]] | '''[[Χριστουγεννάρτς]]''' | [[Καλαντάρτς]] | [[Κούντουρος]]</div> <div class="center">[[15 Χριστουγενναρί]] | [[16 Χριστουγενναρί]] | [[17 Χριστουγενναρί]]</div> ---- {{ΗμερολόγιοΣεΠίνακα|12}} Η '''16 τη Χριστουγενναρί''' εν το 350ον ημέρα τη χρονίας (351ον ημέρα σο δίσεκτον τη χρονίαν), άμον ντο λεει εμάς το [[Γρηγοριανόν ημερολόγιον]]. Επέμναν άλλα 15 ημέρας για να τελούτεν η χρονία. == Ατά ντ' εγένταν == == Εγεννέθαν == == Αποθάναν == == Έξεργος == '''Τερέστεν πα:''' * [[16 Αεργί]] - [[16 Καλανταρί]] {{Μήνας‎}} [[Κατηγορίαν:Ημέρας τη χρονίας|0350]] fkhoczy1s0ruv30suyxi3fqkibob9ll Πρότυπον:Soft redirect 10 3593 37350 2025-12-17T11:34:58Z Minorax 7522 Ανακατεύθυνση στη σελίδα [[Πρότυπον:Softredirect]] 37350 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Template:Softredirect]] if9nj9367thal86cwt0ysx8fge84rhm Κατηγορίαν:User bew 14 3594 37352 2025-12-17T11:35:20Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 37352 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Betawi. 6nrwtlpf14bs6bev4cj9wgb56qj03p1 Κατηγορίαν:User bjn 14 3595 37353 2025-12-17T11:35:20Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 37353 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Banjar. i93fh4nu51quahs5e7eyc9lsdogvjui Κατηγορίαν:User jv 14 3596 37354 2025-12-17T11:35:20Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 37354 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Ιαβανικά. 899nn2rnkvu6bm1xy2im8vqcjncb18b Κατηγορίαν:User ms 14 3597 37355 2025-12-17T11:35:20Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 37355 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Μαλαισιανά. 7lw4ls0d2ixcahqz0ppznmvk647a45t Κατηγορίαν:User sw 14 3598 37357 2025-12-17T11:35:44Z Babel AutoCreate 5960 Αυτόματα εγέντον η σελίδα κατηγορίας [[Project:Βαβέλ|Βαβέλ]] 37357 wikitext text/x-wiki Οι χρήστς ση κατηγορίαν ατή γνωρίζ'ν την γλώσσαν Σουαχίλι. g74kysfvtk7y4mwngj3tpb6k8vn9alk Κατηγορία:Βαβέλ - Χρήστες ανά γλώσσα 0 3599 37359 2025-12-17T11:36:07Z Minorax 7522 Ανακατεύθυνση στη σελίδα [[Κατηγορίαν:Βαβέλ]] 37359 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Κατηγορίαν:Βαβέλ]] fes542wnr0ae5xhwmwnv46pxl27mdn5 Πρότυπον:Ref 10 3601 37364 2025-12-20T11:47:29Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<sup class="reference plainlinks nourlexpansion" {{#ifeq:{{{noid}}}|noid||id="ref_{{{1}}}"}}>{{#if:{{{2|}}}|[[#endnote_{{{1}}}|{{{2}}}]]|[{{fullurl:{{FULLPAGENAME}}}}#endnote_{{anchorencode:{{{1|}}}}}]}}</sup><noinclude> === Απλό παράδειγμα === {| class=wikitable !Άρθρο !Κώδικας |- |<pre> Κείμενο που χρειάζεται υποσημείωση.{{ref|a|1}} ==Σημειώσεις== : {{note|a}...' 37364 wikitext text/x-wiki <sup class="reference plainlinks nourlexpansion" {{#ifeq:{{{noid}}}|noid||id="ref_{{{1}}}"}}>{{#if:{{{2|}}}|[[#endnote_{{{1}}}|{{{2}}}]]|[{{fullurl:{{FULLPAGENAME}}}}#endnote_{{anchorencode:{{{1|}}}}}]}}</sup><noinclude> === Απλό παράδειγμα === {| class=wikitable !Άρθρο !Κώδικας |- |<pre> Κείμενο που χρειάζεται υποσημείωση.{{ref|a|1}} ==Σημειώσεις== : {{note|a}} Σώμα υποσημείωσης. </pre> |{{quotation| Κείμενο που χρειάζεται υποσημείωση.{{ref|a|1}} {{ντεμέκ κεφαλίδα|Σημειώσεις}} : {{note|a}}Σώμα υποσημείωσης. |} [[Κατηγορίαν:Πρότυπα Βιβλιογραφίας|{{PAGENAME}}]] </noinclude> raqkcgejrzlmp40njqw6f5bziomwsrn Πρότυπον:Main other 10 3602 37365 2025-12-20T11:48:57Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#switch: <!--If no or empty "demospace" parameter then detect namespace--> {{#if:{{{demospace|}}} | {{lc: {{{demospace}}} }} <!--Use lower case "demospace"--> | {{#ifeq:{{NAMESPACE}}|{{ns:0}} | main | other }} }} | main = {{{1|}}} | other | #default = {{{2|}}} }}<noinclude> {{documentation}} <!-- Add categories to the /doc subpage; interwikis go to Wikidata, thank you! --> </noinclude>' 37365 wikitext text/x-wiki {{#switch: <!--If no or empty "demospace" parameter then detect namespace--> {{#if:{{{demospace|}}} | {{lc: {{{demospace}}} }} <!--Use lower case "demospace"--> | {{#ifeq:{{NAMESPACE}}|{{ns:0}} | main | other }} }} | main = {{{1|}}} | other | #default = {{{2|}}} }}<noinclude> {{documentation}} <!-- Add categories to the /doc subpage; interwikis go to Wikidata, thank you! --> </noinclude> fqcj40f1ojeitvtz4m2eefrp1ymhi6o Πρότυπον:Tlc 10 3603 37367 2025-12-20T11:52:09Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<span class="nowrap"><code>&#123;&#123;{{#if:{{{1|}}}|{{{1}}}| tlc&#124;...}}<!-- -->{{#ifeq:{{{2|x}}}|{{{2|}}}| &#124;{{{2}}} | }}<!-- -->{{#ifeq:{{{3|x}}}|{{{3|}}}| &#124;{{{3}}} | }}<!-- -->{{#ifeq:{{{4|x}}}|{{{4|}}}| &#124;{{{4}}} | }}<!-- -->{{#ifeq:{{{5|x}}}|{{{5|}}}| &#124;{{{5}}} | }}<!-- -->{{#ifeq:{{{6|x}}}|{{{6|}}}| &#124;{{{6}}} | }}<!-- -->{{#ifeq:{{{7|x}}}|{{{7|}}}| &#124;{{{7}}} | }}<!-- -->{{#ifeq:{{{8|x}}}|{{{8|}}}| &#124;{{{8}}} |...' 37367 wikitext text/x-wiki <span class="nowrap"><code>&#123;&#123;{{#if:{{{1|}}}|{{{1}}}| tlc&#124;...}}<!-- -->{{#ifeq:{{{2|x}}}|{{{2|}}}| &#124;{{{2}}} | }}<!-- -->{{#ifeq:{{{3|x}}}|{{{3|}}}| &#124;{{{3}}} | }}<!-- -->{{#ifeq:{{{4|x}}}|{{{4|}}}| &#124;{{{4}}} | }}<!-- -->{{#ifeq:{{{5|x}}}|{{{5|}}}| &#124;{{{5}}} | }}<!-- -->{{#ifeq:{{{6|x}}}|{{{6|}}}| &#124;{{{6}}} | }}<!-- -->{{#ifeq:{{{7|x}}}|{{{7|}}}| &#124;{{{7}}} | }}<!-- -->{{#ifeq:{{{8|x}}}|{{{8|}}}| &#124;{{{8}}} | }}<!-- -->{{#ifeq:{{{9|x}}}|{{{9|}}}| &#124;{{{9}}} | }}<!-- -->&#125;&#125;</code></span><noinclude> {{documentation}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> hvz0y5fmfypqrh6hpdtjucpttl59h70 Πρότυπον:Var 10 3604 37368 2025-12-20T11:53:03Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<var {{#if:{{{class|}}}|class="{{{class}}}"}} {{#if:{{{id|}}}|id="{{{id}}}"}} {{#if:{{{style|}}}|style="{{{style}}}"}} {{#if:{{{lang|}}}|lang="{{{lang}}}" xml:lang="{{{lang}}}"}} {{#if:{{{title|}}}|title="{{{title}}}"}}>{{{1}}}</var><noinclude> <!--Categories and interwikis go near the bottom of the /doc page.--> {{Documentation}} </noinclude>' 37368 wikitext text/x-wiki <var {{#if:{{{class|}}}|class="{{{class}}}"}} {{#if:{{{id|}}}|id="{{{id}}}"}} {{#if:{{{style|}}}|style="{{{style}}}"}} {{#if:{{{lang|}}}|lang="{{{lang}}}" xml:lang="{{{lang}}}"}} {{#if:{{{title|}}}|title="{{{title}}}"}}>{{{1}}}</var><noinclude> <!--Categories and interwikis go near the bottom of the /doc page.--> {{Documentation}} </noinclude> 7pxpni8exwl8p3m3nfxw4yh4tq7fdtp Πρότυπον:Note 10 3605 37369 2025-12-20T11:54:23Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<span class="citation wikicite" id="endnote_{{{1}}}"><b>[[#ref_{{{1}}}|^{{{2|}}}]]</b>{{#if:{{{3|}}}|&nbsp;{{{3|}}}}}</span> <noinclude> [[Κατηγορίαν:Πρότυπα Βιβλιογραφίας|{{PAGENAME}}]] </noinclude>' 37369 wikitext text/x-wiki <span class="citation wikicite" id="endnote_{{{1}}}"><b>[[#ref_{{{1}}}|^{{{2|}}}]]</b>{{#if:{{{3|}}}|&nbsp;{{{3|}}}}}</span> <noinclude> [[Κατηγορίαν:Πρότυπα Βιβλιογραφίας|{{PAGENAME}}]] </noinclude> ohqx4db1hgbi0phwisimfjfsyuub6cd Πρότυπον:Ντεμέκ κεφαλίδα 10 3606 37370 2025-12-20T11:55:42Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{main other |1={{error|Σύμφωνα με [[MOS:ACCESS#Επικεφαλίδες]] ψευδείς επικεφαλίδες δεν πρέπει να χρησιμοποιούνται σε λήμματα.}}[[Category:Σελίδες με πρότυπα σε λάθος ονοματοχώρο]] |2=<div style="color: #000000; background: none; overflow: hidden; page-break-after: avoid; {{#switch: {{{level|{{{sub|}}}}}} | 1 = font-size: 1.8em; font-famil...' 37370 wikitext text/x-wiki {{main other |1={{error|Σύμφωνα με [[MOS:ACCESS#Επικεφαλίδες]] ψευδείς επικεφαλίδες δεν πρέπει να χρησιμοποιούνται σε λήμματα.}}[[Category:Σελίδες με πρότυπα σε λάθος ονοματοχώρο]] |2=<div style="color: #000000; background: none; overflow: hidden; page-break-after: avoid; {{#switch: {{{level|{{{sub|}}}}}} | 1 = font-size: 1.8em; font-family: 'Linux Libertine',Georgia,Times,serif; margin-top: 1em; margin-bottom: 0.25em; line-height: 1.3; padding: 0; border-bottom: 1px solid #AAAAAA; | 2 | #default = font-size: 1.5em; font-family: 'Linux Libertine',Georgia,Times,serif; margin-top: 1em; margin-bottom: 0.25em; line-height: 1.3; padding: 0; border-bottom: 1px solid #AAAAAA; | 3 = font-size: 1.17em; font-weight: bold; margin-top: 0.3em; margin-bottom: 0; line-height: 1.6; padding-top: 0.5em; padding-bottom: 0; | 4 = font-size: 100%; font-weight: bold; margin-top: 0.3em; margin-bottom: 0; line-height: 1.6; padding-top: 0.5em; padding-bottom: 0; | 5 = font-size: 100%; font-weight: bold; margin-top: 0.3em; margin-bottom: 0; line-height: 1.6; padding-top: 0.5em; padding-bottom: 0; | 6 = font-size: 100%; font-weight: bold; margin-top: 0.3em; margin-bottom: 0; line-height: 1.6; padding-top: 0.5em; padding-bottom: 0; }}">{{{1|Ενότητα}}}</div>}}<noinclude> {{documentation|content= {{ombox|type=content|text=Μην χρησιμοποιείτε αυτό το πρότυπο σε λήμματα. Δείτε [[MOS:ACCESS#Επικεφαλίδες]]}} {{template shortcut|fake heading}} == Χρήση == Αυτό το πρότυπο χρησιμοποιείται για τη δημιουργία παραδειγμάτων σήμανσης κεφαλίδας wiki σε σελίδες βοήθειας και σε παρόμοιες σελίδες και [[MOS:ACCESS#Επικεφαλίδες|ΔΕΝ πρέπει να χρησιμοποιείται σε λήμματα]]. Οι ψεύτικες επικεφαλίδες δεν εμφανίζονται στον πίνακα περιεχομένων. Είναι σχεδιασμένες ώστε να εμφανίζονται όπως τα προεπιλεγμένα στυλ επικεφαλίδων στο Vector skin και δεν θα επηρεάζονται από προσαρμοσμένα [[Cascading Style Sheets|CSS]] ή skins. == Παράμετροι == * {{para|level}} ή {{para|sub}} είναι ο αριθμός επιπέδου: οι έγκυρες τιμές είναι από 1 έως 6. Η προεπιλογή είναι 2 (ισοδύναμο με μια <code><nowiki>== Κύρια επικεφαλίδα ==</nowiki></code> (το επίπεδο 1 ισοδυναμεί με τίτλο σελίδας). * Μια παράμετρος χωρίς όνομα (η οποία μπορεί επίσης να καθοριστεί ως {{para|1}}) χρησιμοποιείται για τον τίτλο της ενότητας. == Παράδειγμα == {{markup |<nowiki> {{ντεμέκ κεφαλίδα|sub=1|Κεφαλίδα 1}} {{ντεμέκ κεφαλίδα|sub=2|Κεφαλίδα 2}} {{ντεμέκ κεφαλίδα|sub=3|Κεφαλίδα 3}} {{ντεμέκ κεφαλίδα|sub=4|Κεφαλίδα 4}} {{ντεμέκ κεφαλίδα|sub=5|Κεφαλίδα 5}} {{ντεμέκ κεφαλίδα|sub=6|Κεφαλίδα 6}} </nowiki>| {{ντεμέκ κεφαλίδα|sub=1|Κεφαλίδα 1}} {{ντεμέκ κεφαλίδα|sub=2|Κεφαλίδα 2}} {{ντεμέκ κεφαλίδα|sub=3|Κεφαλίδα 3}} {{ντεμέκ κεφαλίδα|sub=4|Κεφαλίδα 4}} {{ντεμέκ κεφαλίδα|sub=5|Κεφαλίδα 5}} {{ντεμέκ κεφαλίδα|sub=6|Κεφαλίδα 6}} }} == TemplateData == <templatedata> { "params": { "1": { "label": "Κείμενο κεφαλίδας", "example": "Κάποιο όνομα ενότητας", "type": "string", "required": true }, "sub": { "aliases": [ "level" ], "label": "Επίπεδο", "description": "Επίπεδο επικεφαλίδας", "example": "2", "type": "number", "suggestedvalues": [ "2", "3", "4", "5", "6", "1" ], "default": "2", "suggested": true } }, "format": "inline", "description": "Δημιουργία παραδειγμάτων σήμανσης κεφαλίδας wiki σε σελίδες βοήθειας και σε παρόμοιες σελίδες. ΔΕΝ πρέπει να χρησιμοποιείται σε λήμματα. " } </templatedata> }} <!-- Categories go on the /doc subpage and interwikis go on Wikidata. --> </noinclude> 5xyn8rim7s2yoh4q7fo75gokmfe4tip Πρότυπον:Refbegin 10 3607 37371 2025-12-20T11:57:16Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly><div class="refbegin <!-- -->{{#if: {{{normalfont|}}} | refbegin-100 }} <!-- -->{{#if: {{{1|}}} | columns {{#iferror: {{#ifexpr: {{{1|1}}} > 1 }} | references-column-width | references-column-count references-column-count-{{#if:1|{{{1}}}}} }} | {{#if: {{{colwidth|}}} | references-column-width }} }}" style="<!-- -->{{#if: {{{1|}}} | {{#iferror: {{#ifexpr: {{{1|1}}} > 1 }} | {{column-width|{{#i...' 37371 wikitext text/x-wiki <includeonly><div class="refbegin <!-- -->{{#if: {{{normalfont|}}} | refbegin-100 }} <!-- -->{{#if: {{{1|}}} | columns {{#iferror: {{#ifexpr: {{{1|1}}} > 1 }} | references-column-width | references-column-count references-column-count-{{#if:1|{{{1}}}}} }} | {{#if: {{{colwidth|}}} | references-column-width }} }}" style="<!-- -->{{#if: {{{1|}}} | {{#iferror: {{#ifexpr: {{{1|1}}} > 1 }} | {{column-width|{{#if:1|{{{1}}}}}}} | {{column-count|{{#if:1|{{{1}}}}}}} }} | {{#if: {{{colwidth|}}} | {{column-width|{{{colwidth}}}}} }} }}"><!-- -->{{#if: {{{indent|}}} | <dl style="text-indent: -{{{indentsize|3.2}}}em;">}}<!-- -->{{#if: {{{normalfont|}}} | [[Κατηγορίαν:Σελίδες που χρησιμοποιούν το refbegin με παράμετρο normalfont]]}}</includeonly><noinclude> {{Documentation}} </noinclude> 2tt57bj7v0pab88o0h11lkdb1ez235y Πρότυπον:Refend 10 3608 37372 2025-12-20T11:58:04Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly></dl></div></includeonly><noinclude>{{τεκμηρίωση προτύπου}}</noinclude>' 37372 wikitext text/x-wiki <includeonly></dl></div></includeonly><noinclude>{{τεκμηρίωση προτύπου}}</noinclude> afx4jwhkeiskjbti6t1llnbkmzxvht7 Πρότυπον:Refn 10 3609 37373 2025-12-20T11:58:46Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{#if:{{{name|}}}|{{#tag:ref|{{{1|}}}|name={{{name|}}}|group={{{group|}}}}}|{{#tag:ref|{{{1|}}}|group={{{group|}}}}}}}</includeonly><noinclude>{{documentation}}</noinclude>' 37373 wikitext text/x-wiki <includeonly>{{#if:{{{name|}}}|{{#tag:ref|{{{1|}}}|name={{{name|}}}|group={{{group|}}}}}|{{#tag:ref|{{{1|}}}|group={{{group|}}}}}}}</includeonly><noinclude>{{documentation}}</noinclude> 2a2eeavz2199wauqxgzsd7yejztz72x Πρότυπον:Efn 10 3610 37374 2025-12-20T11:59:41Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{#if:{{{name|}}} |{{#tag:ref|{{{1|{{{reference|{{{content|{{{text|}}}}}}}}}}}}|name={{{name|}}}|group={{#switch: {{{group|}}} | note | upper-alpha | upper-roman | lower-alpha | lower-greek | lower-roman = {{{group|}}} | #default = lower-greek }} }} |{{#tag:ref|{{{1|{{{reference|{{{content|{{{text|}}}}}}}}}}}}|group={{#switch: {{{group|}}} | note | upper-alpha | upper-roman | lower-alph...' 37374 wikitext text/x-wiki <includeonly>{{#if:{{{name|}}} |{{#tag:ref|{{{1|{{{reference|{{{content|{{{text|}}}}}}}}}}}}|name={{{name|}}}|group={{#switch: {{{group|}}} | note | upper-alpha | upper-roman | lower-alpha | lower-greek | lower-roman = {{{group|}}} | #default = lower-greek }} }} |{{#tag:ref|{{{1|{{{reference|{{{content|{{{text|}}}}}}}}}}}}|group={{#switch: {{{group|}}} | note | upper-alpha | upper-roman | lower-alpha | lower-greek | lower-roman = {{{group|}}} | #default = lower-greek }} }} }}</includeonly><noinclude> {{τεκμηρίωση προτύπου}} </noinclude> 39dqosvqkggzaqynnn1je2bd314nok8 Πρότυπον:Sfn 10 3611 37375 2025-12-20T12:00:44Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly>{{#invoke:Footnotes|sfn}}</includeonly><noinclude>{{Τεκμηρίωση προτύπου}}<templatedata> { "params": { "1": { "label": "Επίθετο συγγραφέα", "type": "content", "required": true }, "2": { "label": "Χρονολογία", "description": "Χρόνος (ή δεύτερος συγγραφέας)", "type": "string", "required": true }, "p": { "label": "σελίδα(ες)",...' 37375 wikitext text/x-wiki <includeonly>{{#invoke:Footnotes|sfn}}</includeonly><noinclude>{{Τεκμηρίωση προτύπου}}<templatedata> { "params": { "1": { "label": "Επίθετο συγγραφέα", "type": "content", "required": true }, "2": { "label": "Χρονολογία", "description": "Χρόνος (ή δεύτερος συγγραφέας)", "type": "string", "required": true }, "p": { "label": "σελίδα(ες)", "description": "Αριθμός σελίδας/σελίδων", "type": "string", "suggested": true } }, "description": "Δημιουργεί παραπομπή σε βιβλίο", "paramOrder": [ "1", "2", "p" ] } </templatedata></noinclude> tjiccfbnyk6nj42hqb2odm5bojltgkk Πρότυπον:Talk other 10 3612 37392 2025-12-20T13:44:18Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#switch: <!--If no or empty "demospace" parameter then detect namespace--> {{#if:{{{demospace|}}} | {{lc: {{{demospace}}} }} <!--Use lower case "demospace"--> | {{#ifeq:{{NAMESPACE}}|{{TALKSPACE}} | talk | other }} }} | talk = {{{1|}}} | other | #default = {{{2|}}} }}<!--End switch--><noinclude> {{τεκμηρίωση προτύπου}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude>' 37392 wikitext text/x-wiki {{#switch: <!--If no or empty "demospace" parameter then detect namespace--> {{#if:{{{demospace|}}} | {{lc: {{{demospace}}} }} <!--Use lower case "demospace"--> | {{#ifeq:{{NAMESPACE}}|{{TALKSPACE}} | talk | other }} }} | talk = {{{1|}}} | other | #default = {{{2|}}} }}<!--End switch--><noinclude> {{τεκμηρίωση προτύπου}} <!-- Add categories and interwikis to the /doc subpage, not here! --> </noinclude> ste43e1ecy8mlzl94zfdid4gme73fes Πρότυπον:TemplatePAGENAME 10 3613 37393 2025-12-20T13:46:21Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '{{#ifexist:{{#rel2abs:./τεκμηρίωση}}|{{PAGENAME}}|{{BASEPAGENAME}}}}<noinclude> {{τεκμηρίωση προτύπου}} </noinclude>' 37393 wikitext text/x-wiki {{#ifexist:{{#rel2abs:./τεκμηρίωση}}|{{PAGENAME}}|{{BASEPAGENAME}}}}<noinclude> {{τεκμηρίωση προτύπου}} </noinclude> j2w70lq8e83rcn1medykwramt0x8iaf Πρότυπον:Template example row 10 3614 37394 2025-12-20T13:47:12Z Εὐθυμένης 2777 Καινούρεον σελίδαν με '<includeonly><tr><td><code>&#123;&#123;{{TemplatePAGENAME}}<!-- -->{{#if:{{{1|}}}|&#124;{{{1}}}}}<!-- -->{{#if:{{{2|}}}|&#124;{{{2}}}}}<!-- -->{{#if:{{{3|}}}|&#124;{{{3}}}}}<!-- -->{{#if:{{{4|}}}|&#124;{{{4}}}}}<!-- -->{{#if:{{{5|}}}|&#124;{{{5}}}}}<!-- -->{{#if:{{{6|}}}|&#124;{{{6}}}}}<!-- -->{{#if:{{{7|}}}|&#124;{{{7}}}}}<!-- -->{{#if:{{{8|}}}|&#124;{{{8}}}}}<!-- -->{{#if:{{{9|}}}|&#124;{{{9}}}}}<!-- -->&#125;&#125;</code></td><td> {{#if:{{{9|}}}...' 37394 wikitext text/x-wiki <includeonly><tr><td><code>&#123;&#123;{{TemplatePAGENAME}}<!-- -->{{#if:{{{1|}}}|&#124;{{{1}}}}}<!-- -->{{#if:{{{2|}}}|&#124;{{{2}}}}}<!-- -->{{#if:{{{3|}}}|&#124;{{{3}}}}}<!-- -->{{#if:{{{4|}}}|&#124;{{{4}}}}}<!-- -->{{#if:{{{5|}}}|&#124;{{{5}}}}}<!-- -->{{#if:{{{6|}}}|&#124;{{{6}}}}}<!-- -->{{#if:{{{7|}}}|&#124;{{{7}}}}}<!-- -->{{#if:{{{8|}}}|&#124;{{{8}}}}}<!-- -->{{#if:{{{9|}}}|&#124;{{{9}}}}}<!-- -->&#125;&#125;</code></td><td> {{#if:{{{9|}}}|{{{{TemplatePAGENAME}}|{{{1}}}|{{{2}}}|{{{3}}}|{{{4}}}|{{{5}}}|{{{6}}}|{{{7}}}|{{{8}}}|{{{9}}}}}| {{#if:{{{8|}}}|{{{{TemplatePAGENAME}}|{{{1}}}|{{{2}}}|{{{3}}}|{{{4}}}|{{{5}}}|{{{6}}}|{{{7}}}|{{{8}}}}}| {{#if:{{{7|}}}|{{{{TemplatePAGENAME}}|{{{1}}}|{{{2}}}|{{{3}}}|{{{4}}}|{{{5}}}|{{{6}}}|{{{7}}}}}| {{#if:{{{6|}}}|{{{{TemplatePAGENAME}}|{{{1}}}|{{{2}}}|{{{3}}}|{{{4}}}|{{{5}}}|{{{6}}}}}| {{#if:{{{5|}}}|{{{{TemplatePAGENAME}}|{{{1}}}|{{{2}}}|{{{3}}}|{{{4}}}|{{{5}}}}}| {{#if:{{{4|}}}|{{{{TemplatePAGENAME}}|{{{1}}}|{{{2}}}|{{{3}}}|{{{4}}}}}| {{#if:{{{3|}}}|{{{{TemplatePAGENAME}}|{{{1}}}|{{{2}}}|{{{3}}}}}| {{#if:{{{2|}}}|{{{{TemplatePAGENAME}}|{{{1}}}|{{{2}}}}}| {{#if:{{{1|}}}|{{{{TemplatePAGENAME}}|{{{1}}}}}| {{ {{TemplatePAGENAME}} }} }}}}}}}}}}}}}}}}}} </td>{{#if:{{{notes|}}}|<td>{{{notes}}}</td>}}</tr></includeonly><noinclude> {{τεκμηρίωση προτύπου}} </noinclude> twh684x1c3ee3m8d5mi19988cyfndx6 Σ' άλλα γλώσσας 0 3615 37408 2025-12-30T21:58:38Z Таёжный лес 10003 Ο Таёжный лес μετακίνησε τη σελίδα [[Σ' άλλα γλώσσας]] στην [[Πρότυπον:Σ' άλλα γλώσσας]] 37408 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Πρότυπον:Σ' άλλα γλώσσας]] kz6wjl6csdked87lv2x26oa0jm1k746