Zum Inhalt springen

Modul:Vorlage:VorlagendokumentationFlagIcon

aus AufEinWort, der freien Forschung
Flaggensymbol

Vorlagenparameter

Linkziel1
ändert das Linkziel; oder #, um die gesonderte Textverlinkung auszuschalten
Standard
Staat usw. zur Flagge gehörend
Beispiel
Regierung
Linktext2
ändert den Linktext
Standard
Linkziel zur Flagge gehörend
Beispiel
Reg.
Sortierung3
ändert den Sortierschlüssel
Standard
Staat usw. zur Flagge gehörend
BreiteWIDTH
Breite der Flagge (in Pixeln)
Standard
20
Beispiel
60
Linkziel/-textZiel
ändert das Linkziel und den damit identischen Linktext
Standard
Linkziel und Linktext zur Flagge gehörend
Beispiel
Parlament von Lampukistan

Flaggensymbol

Vorlagenparameter[Vorlagendaten bearbeiten]

Diese Vorlage bevorzugt Inline-Formatierung von Parametern.

ParameterBeschreibungTypStatus
Linkziel1

ändert das Linkziel; oder #, um die gesonderte Textverlinkung auszuschalten

Standard
Staat usw. zur Flagge gehörend
Beispiel
Regierung
Seitennameoptional
Linktext2

ändert den Linktext

Standard
Linkziel zur Flagge gehörend
Beispiel
Reg.
Einzeiliger Textoptional
Sortierung3

ändert den Sortierschlüssel

Standard
Staat usw. zur Flagge gehörend
Einzeiliger Textoptional
BreiteWIDTH

Breite der Flagge (in Pixeln)

Standard
20
Beispiel
60
Zahlenwertoptional
Linkziel/-textZiel

ändert das Linkziel und den damit identischen Linktext

Standard
Linkziel und Linktext zur Flagge gehörend
Beispiel
Parlament von Lampukistan
Seitennameoptional


Hinweise

  • Länderkürzel: Die Vorlagen werden einfach mit {{XYZ}} eingebunden, wobei XYZ entweder dem dreistelligen Länderkürzel der ISO-3166-Kodierung oder dem Kürzel des IOC (Internationales Olympisches Komitee) entspricht. Um den Pflegeaufwand zu minimieren, sind die IOC-Vorlagen (z. B. Vorlage:SUI) einfach Weiterleitungen auf die entsprechenden ISO-Vorlagen (z. B. Vorlage:CHE). Das heißt {{SUI}} und {{CHE}} ergeben beide Schweiz Schweiz. {{SUI}} und {{CHE}} werden zentriert dargestellt, {{CHE2}} hingegen linksbündig. Länderübersichten:
  • Parameter 1 (Linkziel), 2 (Linktext) und Ziel (Linkziel/-text) müssen OHNE [[…]] angegeben werden.
  • Parameter WIDTH (Flaggenbreite) muss OHNE px eingegeben werden. Standard sind einheitlich 20 Pixel. Schmalere Flaggen wie die von Belgien, Nepal oder der Schweiz haben einen zusätzlichen Rand, der zur einheitlichen Texteinrückung in Listen ein Seitenverhältnis von 4:3 simuliert.
  • Generell bei den Parameternamen muss die Groß-und Kleinschreibung beachtet werden, d. h. ZIEL= oder width= funktionieren nicht!
  • Für sortierbare Tabellen wird sortable=1 gesetzt. Das heißt, {{AUT|sortable=1}} wird genau wie {{AUT}} als Osterreich Österreich dargestellt, aber im Unterschied dazu korrekt unter «O» statt «A» einsortiert.

Beispiele

Beispiele mit Wirkung und Erläuterungen
Wunsch Quelltext mit Beispiel Ergebnis
Darstellung Link-Ziel
der Flagge
Link-Ziel
des Textes
STANDARD, d. h. auf Deutschland soll verlinkt werden und „Deutschland“ soll zu lesen sein.

(entspricht Standardwerten, Parameter können daher weggelassen werden)

{{DEU}} Deutschland Deutschland Deutschland
NUR das Linkziel soll geändert werden, weiterhin aber „Deutschland“ zu lesen sein.

(hierfür ist nicht der Parameter Ziel zu verwenden!)

1=Regierung}}

oder einfach nur
{{DEU|Regierung}}

Deutschland Deutschland Regierung
NUR der Text soll geändert werden, auf Deutschland aber weiterhin verlinkt werden. 2=Regierung}} Deutschland Regierung Deutschland
Linkziel UND Text sollen ÜBEREINSTIMMEND geändert werden.

(hierfür gibt es den Parameter Ziel, nicht zu verwechseln mit Parameter 1–Linkziel!)

Ziel=Regierung}} Deutschland Regierung Regierung
Linkziel UND Text sollen EINZELN geändert werden. 1=Regierung|2=Reg.}}

oder einfach nur
{{DEU|Regierung|Reg.}}

Deutschland Reg. Regierung
KEIN Text, nur eine verlinkte Flagge soll dargestellt werden. #}} DeutschlandDeutschland Deutschland –
KEIN Text, nur eine verlinkte Flagge soll dargestellt werden, und das Linkziel soll von der Bedeutung der Flagge abweichen.

Diese Methode sollte vermieden werden, weil sie für das Publikum unerwartet erfolgt und die Wirkung nicht zu erahnen ist. Zu vermuten ist vielmehr, dass wie üblich auf das Land zur Flagge verlinkt wurde.

#|Ziel=Regierung}} DeutschlandRegierung Regierung –
Änderung der Flaggengröße in Pixel

(nur Eingabe der Pixelzahl ohne px. Der Standardwert ist 20.)

WIDTH=40}} Deutschland Deutschland Deutschland

--[=[
Support {{Vorlagendokumentation Land mit Flagge}}
* first2
* flat
* from
]=]



local Title = mw.title.getCurrentTitle()



local flat = function ( aaa, frame )
    -- Linktitel aus FlagIcon auslesen
    -- Precondition:
    --     aaa    -- Title object or 3 letter string; of Template:AAA
    --     frame  -- object; #invoke environment
    -- Postcondition:
    --     Return link title or not
    local r, t
    if type( aaa ) == "string" then
        t = mw.title.makeTitle( 10, aaa )
        if not t.protectionLevels.edit then
            t = false
        end
    else
        t = aaa
    end
    if t then
        local s = frame:expandTemplate{ title = t }
        if s:sub( -2 ) == "]]"  or
           s:sub( -9 ) == "]]</span>" then
            local i
            s = s:reverse( s )
            i = s:find( "[[", 2, true )
            if i then
                s = s:sub( 3,  i - 1 )
                s = s:reverse( s )
                i = s:find( "|", 1, true )
                if i then
                    s = s:sub( i + 1 )
                end
                if s:sub( 1 ) == ":" then
                    s = s:sub( 2 )
                end
                i = s:find( "]]", 2, true )
                if i then
                    s = s:sub( 1,  i - 1 )
                end
                s = s:gsub( '["|{}<>]', "" )
                if s ~= "" then
                    r = s
                end
            end
        end
    end
    return r
end -- flat()



-- Export
local p = { }

p.first2 = function ( frame )
    -- Staatsnamen (verlinkt) zu AA-FlagIcon ermitteln
    -- Precondition:
    --     frame  -- object; #invoke environment
    -- Postcondition:
    --     Return wikilink or ""
    local r
    if Title.namespace == 10 then
        local s = Title.text
        if s:match( "^%u%u-" ) then
            local seek = "Info ISO-3166-2:"
            local t    = mw.title.makeTitle( 10,  seek .. s:sub( 1, 2 ) )
            if t.protectionLevels.edit then
                local params = { }
                table.insert( params, "lemma" )
                s = frame:expandTemplate{ title=t,  args=params }
                r = string.format( "[[%s]]",  s )
            end
        end
    end
    return r or ""
end -- p.first2()

p.flag = function ( frame )
    -- Beschreibung zu HDK bilden
    -- Precondition:
    --     frame  -- object; #invoke environment
    -- Postcondition:
    --     Return text or ""
    local r
    if Title.namespace == 10 then
        local sign, s = Title.text:match( "^(%u%u%u)-([HDKSL].*)$" )
        if s then
            local spec, sJahr = s:match( "^([HDKLS]+)-(.+)$" )
            if sJahr then
                sJahr = sJahr:match( "^[12]%d%d%d" )
            else
                spec = s:match( "^[HDKLS]+$" )
            end
            if spec then
                local hdk = { "H", "D", "K" }
                local texts = { H = "Handelsflagge",
                                D = "Dienstflagge",
                                K = "Kriegsflagge",
                                L = "/Land",
                                S = "/See" }
                for i = 1, #hdk do
                    s = hdk[ i ]
                    if spec:match( s ) then
                        r = texts[ s ]
                        if s ~= "H" then
                            if spec:find( "L" .. s,  1,  true ) then
                                 r = r .. texts.L
                            elseif spec:find( "S" .. s,  1,  true ) then
                                 r = r .. texts.S
                            end
                        end
                    end
                end -- for i
                if r and sJahr then
                    r = string.format( "%s; ab&#160;%s", r, sJahr )
                end
            end
        end
    end
    return r or ""
end -- p.flag()

p.flat = function ( frame )
    -- Linktitel aus FlagIcon auslesen
    -- Precondition:
    --     frame  -- object; #invoke environment
    --                       args.pre  -- prefix (optional)
    -- Postcondition:
    --     Return link title or ""
    local r
    if Title.namespace == 10 then
        r = flat( Title, frame )
        if r and frame.args.pre then
            r = frame.args.pre .. r
        end
    end
    return r or ""
end -- p.flat()

p.from = function ( frame )
    -- Ggf. Landesname und Jahreszahl zu AAA-9999-FlagIcon ermitteln
    -- Precondition:
    --     frame  -- object; #invoke environment
    -- Postcondition:
    --     Return details or ""
    local r
    if Title.namespace == 10 then
        local sA3, sNum = Title.text:match( "^(%u%u%u)-([12]%d%d%d)$" )
        if sA3 then
            local self  = flat( Title, frame )
            local short = flat( sA3, frame )
            sNum = string.format( "ab&#160;%s", sNum )
            if short  and  short ~= self then
                r = string.format( "%s; %s", short, sNum )
            end
            r = r or sNum
        end
    end
    return r or ""
end -- p.from()

return p