Această pagină este protejată de mișcare
Această pagină este protejată

Formă: prefix telefonic

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Modul care implementează șablonul {{ Prefix telefonic }}.

Are o subpagină de configurare: Modul: prefix / configurație telefonică .


 - [[
* Modul care implementează șablonul Prefix telefonic.
]] -

require ( „Formular: fără globali” )

local getArgs = require ( 'Modul: Argumente' ). getArgs
local mDelink = require ( 'Modul: Delink' )
local mWikidata = require ( 'Modul: Wikidata' )

- Configurare
local cfg = mw . loadData ( „Modul: prefix / Configurare telefonică” )

local p = {}

funcție locală getWikidataCategory ( userval , wdval , from )
pisică locală
- elimină orice wikilink pentru comparație
userval = userval și mDelink . _main ({ userval })
wdval = wdval și mDelink . _main ({ wdval })
- orice prefix național care trebuie ignorat în comparație
local prefnaz = mWikidata . _getProperty ({ 'P17' , showprop = 'P474' , from = from })

dacă utilizează atunci
dacă nu wdval atunci
cat = 'P473 absent pe Wikidata'
elseif wdval == userval sau ( prefnaz și userval == string.format ( '(% s)% s' , prefnaz , wdval )) atunci
cat = 'P473 la fel pe Wikidata'
altfel
cat = 'P473 diferit pe Wikidata'
Sfârșit
elseif wdval atunci
cat = 'P473 citit de Wikidata'
Sfârșit
returnează string.format ( '[[Categorie:% s]]' , pisică )
Sfârșit

- Pentru utilizare de către alte module
funcția p. _principal ( argumente )
userval local , wdval , cat 

- valoarea utilizatorului și wikidata
userval = args [ 1 ]
wdval = mWikidata . _getProperty ({ 'P473' , from = args . from })

- dacă există o intrare în itwiki pentru valoarea Wikidata citită, creați wikilink
dacă wdval atunci
iso3166 local = mWikidata . _getProperty ({ 'P17' , showprop = 'P298' , from = args . from })
prefixe locale = cfg . prefixe [ iso3166 ]
dacă prefixe și prefixe [ wdval ] atunci
wdval = prefixe [ wdval ] == adevărat și 
string.format ( '[[% s]]' , wdval ) sau
string.format ( '[[% s |% s]]' , prefixe [ wdval ], wdval )
Sfârșit
Sfârșit

- categorii de servicii
dacă mw . titlu . getCurrentTitle (). spațiu de nume == 0 atunci
dacă nu userval și nu wdval și args . pisica atunci
cat = string.format ( '[[Categorie:% s]]' , arg . cat )
elseif userval sau wdval atunci
cat = getWikidataCategory ( userval , wdval , args . from )
Sfârșit
Sfârșit

return ( userval sau wdval sau '' ) .. ( cat sau '' )
Sfârșit

- Punct de intrare pentru șablonul {{Prefix telefonic}}
funcția p. principal ( cadru )
retur p . _main ( getArgs ( cadru , { parentOnly = true }))
Sfârșit

retur p