<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Modul%3AZuschauerzahlen</id>
	<title>Modul:Zuschauerzahlen - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Modul%3AZuschauerzahlen"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Modul:Zuschauerzahlen&amp;action=history"/>
	<updated>2026-06-12T06:06:05Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Modul:Zuschauerzahlen&amp;diff=2930818&amp;oldid=prev</id>
		<title>imported&gt;Doc Taxon: Änderungen von Doc Taxon (Diskussion) auf die letzte Version von Abu-Dun zurückgesetzt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Modul:Zuschauerzahlen&amp;diff=2930818&amp;oldid=prev"/>
		<updated>2025-10-27T20:23:03Z</updated>

		<summary type="html">&lt;p&gt;Änderungen von &lt;a href=&quot;/index.php/Spezial:Beitr%C3%A4ge/Doc_Taxon&quot; title=&quot;Spezial:Beiträge/Doc Taxon&quot;&gt;Doc Taxon&lt;/a&gt; (&lt;a href=&quot;/index.php?title=Benutzer_Diskussion:Doc_Taxon&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Benutzer Diskussion:Doc Taxon (Seite nicht vorhanden)&quot;&gt;Diskussion&lt;/a&gt;) auf die letzte Version von &lt;a href=&quot;/index.php?title=Benutzer:Abu-Dun&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Benutzer:Abu-Dun (Seite nicht vorhanden)&quot;&gt;Abu-Dun&lt;/a&gt; zurückgesetzt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Dieses Modul implementiert {{Zuschauerzahlen}}.&lt;br /&gt;
&lt;br /&gt;
local contrast_ratio = require(&amp;#039;Modul:Color contrast&amp;#039;)._ratio&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- TVRG-Klasse&lt;br /&gt;
-- Die Hauptklasse.&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local TVRG = {}&lt;br /&gt;
&lt;br /&gt;
-- Konvertiere HEX-Codes zu RGB-Werten&lt;br /&gt;
function TVRG.hex2rgb(hex)&lt;br /&gt;
    hex = hex:gsub(&amp;#039;#&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
    if #hex == 3 then&lt;br /&gt;
    	-- #000 Format&lt;br /&gt;
    	return tonumber(&amp;quot;0x&amp;quot;..hex:sub(1,1)..hex:sub(1,1))/256, tonumber(&amp;quot;0x&amp;quot;..hex:sub(2,2)..hex:sub(2,2))/256,&lt;br /&gt;
    		   tonumber(&amp;quot;0x&amp;quot;..hex:sub(3,3)..hex:sub(3,3))/256&lt;br /&gt;
	else&lt;br /&gt;
    	-- #000000 Format&lt;br /&gt;
    	return tonumber(&amp;quot;0x&amp;quot;..hex:sub(1,2))/256, tonumber(&amp;quot;0x&amp;quot;..hex:sub(3,4))/256, tonumber(&amp;quot;0x&amp;quot;..hex:sub(5,6))/256&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Erlaube {{N/A}} Zellen&lt;br /&gt;
function TVRG.NACell(frame,text)&lt;br /&gt;
	local cell = mw.html.create(&amp;#039;td&amp;#039;)&lt;br /&gt;
	local attrMatch = &amp;#039;([%a-]*)=&amp;quot;([^&amp;quot;]*)&amp;quot;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	infoParam = frame:expandTemplate{title=&amp;#039;N/A&amp;#039;,args={text}}&lt;br /&gt;
	&lt;br /&gt;
	-- Sammle {{N/A}} Stile und weise Knotenvariablen zu&lt;br /&gt;
	while true do&lt;br /&gt;
		local a,b = string.match(infoParam,attrMatch)&lt;br /&gt;
		if a == nil or b == nil then break end&lt;br /&gt;
		cell:attr(a,b)&lt;br /&gt;
		infoParam = string.gsub(infoParam,attrMatch,&amp;#039;&amp;#039;,1)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	infoParam = string.gsub(infoParam,&amp;#039;%s*|%s*&amp;#039;,&amp;#039;&amp;#039;,1)&lt;br /&gt;
	cell:wikitext(infoParam)&lt;br /&gt;
	&lt;br /&gt;
	return cell&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Erstellt das Diagramm und die Tabelle&lt;br /&gt;
function TVRG.new(frame,args)&lt;br /&gt;
	args = args or {}&lt;br /&gt;
	&lt;br /&gt;
	-- Variablen&lt;br /&gt;
	local timeline = &amp;#039;&amp;#039;&lt;br /&gt;
	local longestseason = -1&lt;br /&gt;
	local average = args.average and 1 or 0&lt;br /&gt;
	local season_title = args.season_title or &amp;#039;Staffel&amp;#039;&lt;br /&gt;
	local root = mw.html.create(&amp;#039;div&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
	local lang = mw.language.getContentLanguage()&lt;br /&gt;
	&lt;br /&gt;
	-- Erstellt die Zeitleiste&lt;br /&gt;
	&lt;br /&gt;
	-- Anzahl der tatsächlichen Zuschauerzahlen&lt;br /&gt;
	local numberargs = 0&lt;br /&gt;
	for k,v in pairs(args) do &lt;br /&gt;
		if not string.match(k,&amp;#039;[^%d]+&amp;#039;) and not string.match(v,&amp;#039;[^%d\.]+&amp;#039;) then numberargs = numberargs + 1 end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Balkenbreite&lt;br /&gt;
	local barwidth&lt;br /&gt;
	if numberargs &amp;lt; 20 then barwidth = 8&lt;br /&gt;
	elseif numberargs &amp;gt;= 20 and numberargs &amp;lt; 50 then barwidth = 7&lt;br /&gt;
	elseif numberargs &amp;gt;= 50 and numberargs &amp;lt; 80 then barwidth = 6&lt;br /&gt;
	elseif numberargs &amp;gt;= 80 then barwidth = 3&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Basis-Parameter&lt;br /&gt;
	timeline = timeline .. &amp;quot;ImageSize  = width:&amp;quot; .. (args.width or 1000) .. &amp;quot; height:&amp;quot; .. (args.height or 300) .. &amp;quot;\n&amp;quot;&lt;br /&gt;
	timeline = timeline .. &amp;quot;PlotArea   = left:50 bottom:70 top:20 right:50\n&amp;quot;&lt;br /&gt;
	timeline = timeline .. &amp;quot;AlignBars  = justify\n&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	timeline = timeline .. &amp;quot;Colors     =\n&amp;quot;&lt;br /&gt;
	timeline = timeline .. &amp;quot; id:gray value:gray(0.7)\n&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	-- Anzahl der Staffeln festlegen&lt;br /&gt;
	local num_seasons = -1&lt;br /&gt;
	for k,v in pairs(args) do&lt;br /&gt;
		local thisseason = tonumber(string.sub(k,6))&lt;br /&gt;
		if string.sub(k,1,5) == &amp;#039;color&amp;#039; and thisseason &amp;gt; num_seasons then&lt;br /&gt;
			num_seasons = thisseason&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Farb- und Legendenvariablen&lt;br /&gt;
	local season = 1&lt;br /&gt;
	for season = 1,num_seasons do &lt;br /&gt;
		local r,g,b = TVRG.hex2rgb(args[&amp;#039;color&amp;#039; .. season] or &amp;#039;#006600&amp;#039;)&lt;br /&gt;
		&lt;br /&gt;
		local GraphLegend = season_title .. &amp;quot; &amp;quot; .. season&lt;br /&gt;
		if args[&amp;quot;legend&amp;quot; .. season] then&lt;br /&gt;
			local legendKey = string.sub(args[&amp;quot;legend&amp;quot; .. season], 0, 1)&lt;br /&gt;
			if type(tonumber(legendKey)) == &amp;quot;number&amp;quot; then&lt;br /&gt;
				GraphLegend = season_title .. &amp;quot; &amp;quot; .. args[&amp;quot;legend&amp;quot; .. season]&lt;br /&gt;
			else&lt;br /&gt;
				GraphLegend = args[&amp;quot;legend&amp;quot; .. season]&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		timeline = timeline .. &amp;quot; id:season&amp;quot; .. season .. &amp;quot; value:rgb(&amp;quot;..r..&amp;quot;,&amp;quot;..g..&amp;quot;,&amp;quot;..b..&amp;quot;) legend:&amp;quot; ..&lt;br /&gt;
			string.gsub(string.gsub(GraphLegend, &amp;#039; &amp;#039;, &amp;#039;_&amp;#039;), &amp;quot;&amp;#039;&amp;#039;(.-)&amp;#039;&amp;#039;&amp;quot;, &amp;#039;%1&amp;#039;) .. &amp;quot;\n&amp;quot;&lt;br /&gt;
		season = season + 1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Maximale Zuschauerzahl ermitteln&lt;br /&gt;
	local maxviewers = -1&lt;br /&gt;
	local multiple = &amp;#039;Millionen&amp;#039;&lt;br /&gt;
	for k,v in pairs(args) do&lt;br /&gt;
		local num = tonumber(v)&lt;br /&gt;
		if tonumber(k) ~= nil and num ~= nil and num &amp;gt; maxviewers then&lt;br /&gt;
			maxviewers = num&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if maxviewers &amp;lt;= 1.5 then&lt;br /&gt;
		multiple = &amp;#039;Tausend&amp;#039;&lt;br /&gt;
		maxviewers = maxviewers*1000&lt;br /&gt;
		for k, v in pairs(args) do&lt;br /&gt;
			local num = tonumber(v)&lt;br /&gt;
			if tonumber(k) ~= nil and num ~= nil then args[k] = tostring(num*1000) end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Weitere Parameter, mit aufgerundeten Zuschauerzahlen als maximaler Zeitraum&lt;br /&gt;
	timeline = timeline .. &amp;quot;DateFormat = x.y\n&amp;quot;&lt;br /&gt;
	timeline = timeline .. &amp;quot;Period     = from:0 till:&amp;quot; .. math.ceil(maxviewers) .. &amp;quot;\n&amp;quot;&lt;br /&gt;
	timeline = timeline .. &amp;quot;TimeAxis   = orientation:vertical\n&amp;quot;&lt;br /&gt;
	timeline = timeline .. &amp;quot;ScaleMajor = gridcolor:gray increment:&amp;quot; .. 10^math.ceil(math.log10(maxviewers)-math.log10(15)) .. &amp;quot; start:0\n&amp;quot;&lt;br /&gt;
	timeline = timeline .. &amp;quot;Legend     = orientation:horizontal\n&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	-- Intervallparametersatz zur Vermeidung von überlappenden Balken&lt;br /&gt;
	local bar = 1&lt;br /&gt;
	if args.intervals then&lt;br /&gt;
		timeline = timeline .. &amp;quot;BarData    =\n&amp;quot;&lt;br /&gt;
		for k,v in pairs(args) do&lt;br /&gt;
			if string.lower(v) == &amp;#039;n/a&amp;#039; then v = &amp;#039;&amp;#039; end&lt;br /&gt;
			if tonumber(k) ~= nil and (tonumber(v) ~= nil or v == &amp;#039;&amp;#039;) and (average == 0 or (average == 1 and args[k+1] ~= &amp;#039;-&amp;#039; and args[k+1] ~= nil)) then&lt;br /&gt;
				timeline = timeline .. &amp;quot;  bar:&amp;quot;..bar..&amp;quot;  text:&amp;quot;..((bar == 1 or bar % args.intervals == 0) and bar or &amp;#039;&amp;amp;nbsp;&amp;#039;)..&amp;quot;\n&amp;quot;&lt;br /&gt;
				bar = bar + 1&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Plot-Daten&lt;br /&gt;
	timeline = timeline .. &amp;quot;PlotData   =\n&amp;quot;&lt;br /&gt;
	timeline = timeline .. &amp;quot;  width:&amp;quot; .. (args.bar_width or barwidth) .. &amp;quot;\n&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	-- Hinzufügen von Balken zur Zeitachse, eine pro Zuschauerzahl&lt;br /&gt;
	local bar = 1&lt;br /&gt;
	local season = 0&lt;br /&gt;
	local thisseason = 0&lt;br /&gt;
	&lt;br /&gt;
	for k,v in pairs(args) do&lt;br /&gt;
		if string.lower(v) == &amp;#039;n/a&amp;#039; then v = &amp;#039;&amp;#039; end&lt;br /&gt;
		if tonumber(k) ~= nil then&lt;br /&gt;
			if v == &amp;#039;-&amp;#039; then&lt;br /&gt;
				-- Bindestrich bedeutet neue Staffel, also Farbänderung der Staffel&lt;br /&gt;
				season = season + 1&lt;br /&gt;
				&lt;br /&gt;
				-- Ermittlung der höchsten Anzahl von Episoden in einer Staffel&lt;br /&gt;
				if thisseason &amp;gt; longestseason then&lt;br /&gt;
					longestseason = thisseason&lt;br /&gt;
				end&lt;br /&gt;
				thisseason = 0&lt;br /&gt;
			elseif average == 0 or (average == 1 and args[k+1] ~= &amp;#039;-&amp;#039; and args[k+1] ~= nil) then&lt;br /&gt;
				-- Mit weiß/schwarzem Balken als Umrandung&lt;br /&gt;
				local black_cr = contrast_ratio{args[&amp;#039;color&amp;#039; .. season], &amp;#039;black&amp;#039;, [&amp;#039;error&amp;#039;] = 0}&lt;br /&gt;
				local white_cr = contrast_ratio{&amp;#039;white&amp;#039;, args[&amp;#039;color&amp;#039; .. season], [&amp;#039;error&amp;#039;] = 0}&lt;br /&gt;
				local bgrnd_cr = (black_cr &amp;gt; white_cr and &amp;#039;black&amp;#039; or &amp;#039;gray&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
				timeline = timeline .. &amp;quot;  mark:(line,&amp;quot; .. bgrnd_cr .. &amp;quot;)\n&amp;quot;&lt;br /&gt;
				timeline = timeline .. &amp;quot;  color:&amp;quot; .. bgrnd_cr .. &amp;quot;\n&amp;quot;&lt;br /&gt;
				timeline = timeline .. &amp;quot;  bar:&amp;quot; .. bar .. &amp;quot; width:&amp;quot; .. ((args.bar_width or barwidth)+2) .. &amp;quot; from:start till:&amp;quot; .. (v ~= &amp;#039;&amp;#039; and v or &amp;#039;start&amp;#039;) .. &amp;quot;\n&amp;quot;&lt;br /&gt;
				&lt;br /&gt;
				-- Balken für die Zuschauerzahl einfügen. Nicht einfügen, wenn Durchschnittswerte enthalten sind und der nächste Parameter ein neuer Staffelmarker ist&lt;br /&gt;
				timeline = timeline .. &amp;quot;  color:season&amp;quot; .. season .. &amp;quot;\n&amp;quot;&lt;br /&gt;
				timeline = timeline .. &amp;quot;  bar:&amp;quot; .. bar .. &amp;quot; from:start till:&amp;quot; .. (v ~= &amp;#039;&amp;#039; and v or &amp;#039;start&amp;#039;) .. &amp;quot;\n&amp;quot;&lt;br /&gt;
				&lt;br /&gt;
				-- Inkrementverfolgungsvariablen&lt;br /&gt;
				thisseason = thisseason + 1&lt;br /&gt;
				bar = bar + 1&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- Ermittelt  die höchste Anzahl von Episoden in einer Staffel nach den Balken der letzten Staffel&lt;br /&gt;
	if thisseason &amp;gt; longestseason then&lt;br /&gt;
		longestseason = thisseason&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Achsenbeschriftungen&lt;br /&gt;
	local countryDisplayUS, countryDisplayUK, countryDisplayOther&lt;br /&gt;
	if args.country ~= nil and args.country ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		if args.country == &amp;quot;U.S.&amp;quot; or args.country == &amp;quot;United States&amp;quot; then countryDisplayUS = &amp;#039;in den Vereinigten Staaten&amp;#039;&lt;br /&gt;
		elseif args.country == &amp;quot;U.K.&amp;quot; or args.country == &amp;quot;United Kingdom&amp;quot; then countryDisplayUK = &amp;#039;im Vereinigten Königreich&amp;#039;&lt;br /&gt;
		else countryDisplayOther = args.country&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	timeline = timeline .. &amp;quot;TextData =\n&amp;quot;&lt;br /&gt;
	timeline = timeline .. &amp;quot;  pos:(&amp;quot; .. ((args.width or 1000)/2-18) .. &amp;quot;,45) textcolor:black fontsize:S text:Episode\n&amp;quot;&lt;br /&gt;
	timeline = timeline .. &amp;quot;  pos:(10,&amp;quot; .. ((args.height or 300)-10) .. &amp;quot;) textcolor:black fontsize:S text:&amp;quot; .. &amp;quot;Zuschauer (&amp;quot; .. multiple .. &amp;quot;)\n&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	-- Wenn es einen Titel gibt, fügen ihn mit der Beschriftung der Zuschauer hinzu, andernfalls wird nur die Beschriftung der Zuschauer angezeigt&lt;br /&gt;
		if args.title ~= nil and args.title ~= &amp;#039;&amp;#039; then&lt;br /&gt;
			root:wikitext(&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;quot; .. args.title .. &amp;quot;&amp;#039;&amp;#039;: Zuschauer &amp;quot; .. (((countryDisplayUS or countryDisplayUK or countryDisplayOther) and (&amp;quot;&amp;quot; .. (countryDisplayUS or countryDisplayUK or countryDisplayOther) .. &amp;quot; &amp;quot;)) or &amp;quot;&amp;quot;) .. &amp;quot;(&amp;quot; .. multiple .. &amp;quot;)&amp;#039;&amp;#039;&amp;#039;&amp;quot;)&lt;br /&gt;
		else&lt;br /&gt;
			root:wikitext(&amp;quot;&amp;#039;&amp;#039;&amp;#039;Zuschauer pro Episode (&amp;quot; .. multiple .. &amp;quot;)&amp;#039;&amp;#039;&amp;#039;&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
	-- Hinzufügen der Zeitachse zu div&lt;br /&gt;
	if args.nograph == nil then&lt;br /&gt;
		root:node(frame:extensionTag(&amp;#039;timeline&amp;#039;, timeline))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Bewertungstabelle erstellen&lt;br /&gt;
	if args.notable == nil then&lt;br /&gt;
		local rtable = mw.html.create(&amp;#039;table&amp;#039;)&lt;br /&gt;
		   	:addClass(&amp;#039;wikitable&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
		&lt;br /&gt;
		-- Wenn die längste Staffel 20 oder mehr Episoden hat&lt;br /&gt;
		if longestseason &amp;gt;= 20 then&lt;br /&gt;
			-- Überschriftenzeilen für Episoden 1 bis zur höchsten Anzahl von Episoden&lt;br /&gt;
			local row = rtable:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			row:tag(&amp;#039;th&amp;#039;):wikitext(season_title)&lt;br /&gt;
				:attr(&amp;#039;colspan&amp;#039;,&amp;#039;2&amp;#039;)&lt;br /&gt;
				:attr(&amp;#039;rowspan&amp;#039;,&amp;#039;2&amp;#039;)&lt;br /&gt;
				&lt;br /&gt;
			row:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
				:attr(&amp;#039;colspan&amp;#039;,longestseason)&lt;br /&gt;
				:wikitext(&amp;quot;Episodennummer&amp;quot;)&lt;br /&gt;
				&lt;br /&gt;
			-- Durchschnittsspalte&lt;br /&gt;
			if average == 1 then&lt;br /&gt;
				row:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
				   :attr(&amp;#039;scope&amp;#039;,&amp;#039;col&amp;#039;)&lt;br /&gt;
				   :attr(&amp;#039;rowspan&amp;#039;,&amp;#039;2&amp;#039;)&lt;br /&gt;
				   :wikitext(&amp;quot;&amp;#039;&amp;#039;Durchschnitt&amp;#039;&amp;#039;&amp;quot;)&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local row = rtable:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			&lt;br /&gt;
			for i = 1,longestseason do&lt;br /&gt;
				row:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
				   :attr(&amp;#039;scope&amp;#039;,&amp;#039;col&amp;#039;)&lt;br /&gt;
				   :wikitext(i)&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			-- Überschriftenzeilen für Episoden 1 bis zur höchsten Anzahl von Episoden&lt;br /&gt;
			local row = rtable:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
			row:tag(&amp;#039;th&amp;#039;):wikitext(season_title)&lt;br /&gt;
				:attr(&amp;#039;colspan&amp;#039;,&amp;#039;2&amp;#039;)&lt;br /&gt;
			&lt;br /&gt;
			for i = 1,longestseason do&lt;br /&gt;
				row:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
				   :attr(&amp;#039;scope&amp;#039;,&amp;#039;col&amp;#039;)&lt;br /&gt;
				   :wikitext(&amp;#039;&amp;lt;abbr title=\&amp;quot;Episode\&amp;quot;&amp;gt;Ep.&amp;lt;/abbr&amp;gt; &amp;#039; .. i)&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			-- Durchschnittsspalte&lt;br /&gt;
			if average == 1 then&lt;br /&gt;
				row:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
				   :attr(&amp;#039;scope&amp;#039;,&amp;#039;col&amp;#039;)&lt;br /&gt;
				   :wikitext(&amp;quot;&amp;#039;&amp;#039;Durchschnitt&amp;#039;&amp;#039;&amp;quot;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local season = 1&lt;br /&gt;
		local thisseason = 0&lt;br /&gt;
		&lt;br /&gt;
		-- Erstellen von Tabellenzeilen und -zellen&lt;br /&gt;
		for k,v in pairs(args) do&lt;br /&gt;
			if tonumber(k) ~= nil then&lt;br /&gt;
				-- Neuer Staffelmarker oder letzte Episodenwertung&lt;br /&gt;
				if v == &amp;#039;-&amp;#039;  or (average == 1 and args[k+1] == nil) then&lt;br /&gt;
					if season &amp;gt; 1 then&lt;br /&gt;
						-- Leere Zellen überspannen mit{{N/A}}&lt;br /&gt;
						if thisseason &amp;lt; longestseason then&lt;br /&gt;
							row:node(TVRG.NACell(frame,&amp;quot;N/A&amp;quot;):attr(&amp;#039;colspan&amp;#039;,longestseason-thisseason))&lt;br /&gt;
						end&lt;br /&gt;
						&lt;br /&gt;
						if average == 1 then&lt;br /&gt;
							-- Wenn Durchschnittswerte enthalten sind, setze die Durchschnittszelle mit Wert oder TBD&lt;br /&gt;
							if v ~= &amp;#039;&amp;#039; then&lt;br /&gt;
								row:tag(&amp;#039;td&amp;#039;):wikitext(args[k+1] ~= nil and args[k-1] or v)&lt;br /&gt;
							else&lt;br /&gt;
								row:node(TVRG.NACell(frame,&amp;quot;TBD&amp;quot;))&lt;br /&gt;
							end&lt;br /&gt;
							thisseason = thisseason + 1&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
					&lt;br /&gt;
					-- Neuer Staffelmarker&lt;br /&gt;
					if v == &amp;#039;-&amp;#039; then&lt;br /&gt;
						-- Neue Zeile mit Standard- oder voreingestellter Beschriftung&lt;br /&gt;
						row = rtable:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
						row:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
							:css(&amp;#039;background-color&amp;#039;, args[&amp;#039;color&amp;#039; .. season])&lt;br /&gt;
							:css(&amp;#039;width&amp;#039;,&amp;#039;10px&amp;#039;)&lt;br /&gt;
						&lt;br /&gt;
						row:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
						   :attr(&amp;#039;scope&amp;#039;,&amp;#039;row&amp;#039;)&lt;br /&gt;
						   :wikitext(args[&amp;quot;legend&amp;quot; .. season] and args[&amp;quot;legend&amp;quot; .. season] or season)&lt;br /&gt;
						&lt;br /&gt;
						thisseason = 0&lt;br /&gt;
						season = season + 1&lt;br /&gt;
					end&lt;br /&gt;
				elseif average == 0 or (average == 1 and args[k+1] ~= &amp;#039;-&amp;#039; and args[k+1] ~= nil) then&lt;br /&gt;
					-- Zuschauerzahlen, entweder als Zahl oder TBD&lt;br /&gt;
					if string.lower(v) == &amp;#039;n/a&amp;#039; then&lt;br /&gt;
						row:node(TVRG.NACell(frame,&amp;quot;N/A&amp;quot;))&lt;br /&gt;
					elseif v ~= &amp;#039;&amp;#039; then&lt;br /&gt;
						row:tag(&amp;#039;td&amp;#039;):wikitext(lang:formatNum(tonumber(v)))&lt;br /&gt;
					else&lt;br /&gt;
						row:node(TVRG.NACell(frame,&amp;quot;TBD&amp;quot;))&lt;br /&gt;
					end&lt;br /&gt;
					thisseason = thisseason + 1&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Abschließend wird geprüft, ob die letzte Zeile {{N/A}} Zellen benötigt.&lt;br /&gt;
		if average == 0 and thisseason &amp;lt; longestseason then&lt;br /&gt;
			row:node(TVRG.NACell(frame,&amp;quot;N/A&amp;quot;):attr(&amp;#039;colspan&amp;#039;,longestseason-thisseason))&lt;br /&gt;
		end&lt;br /&gt;
			&lt;br /&gt;
		-- Hinzufügen einer Tabelle zu div root und Rückgabe&lt;br /&gt;
		root:node(rtable)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local span = mw.html.create( &amp;#039;span&amp;#039; )&lt;br /&gt;
		span:css( &amp;#039;color&amp;#039;, &amp;#039;red&amp;#039; )&lt;br /&gt;
		    :wikitext(&amp;quot;&amp;lt;sup class=\&amp;quot;reference nowrap ltr\&amp;quot; style=\&amp;quot;color:#002bb8;\&amp;quot;&amp;gt;[&amp;lt;span style=\&amp;quot;font-style:italic; color:red\&amp;quot;&amp;gt;reference?&amp;lt;/span&amp;gt;]&amp;lt;/sup&amp;gt;&amp;quot;)&lt;br /&gt;
	     &lt;br /&gt;
	if countryDisplayUS then&lt;br /&gt;
		root:wikitext(&amp;quot;&amp;lt;small&amp;gt;Quelle: [[Nielsen Ratings|Nielsen Media Research]]&amp;lt;/small&amp;gt;&amp;quot; .. (args.refs or tostring(span)))&lt;br /&gt;
	else&lt;br /&gt;
		root:wikitext(&amp;quot;&amp;lt;small&amp;gt;Quelle: &amp;lt;/small&amp;gt;&amp;quot; .. (args.refs or tostring(span)))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Exporte&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = require(&amp;#039;Modul:Arguments&amp;#039;).getArgs(frame, {&lt;br /&gt;
		removeBlanks = false,&lt;br /&gt;
		wrappers = &amp;#039;Vorlage:Zuschauerzahlen&amp;#039;&lt;br /&gt;
	})&lt;br /&gt;
	return TVRG.new(frame,args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Doc Taxon</name></author>
	</entry>
</feed>