<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://fs.playcodex.de/index.php?action=history&amp;feed=atom&amp;title=Modul%3AFirestone%2FI18n</id>
	<title>Modul:Firestone/I18n - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://fs.playcodex.de/index.php?action=history&amp;feed=atom&amp;title=Modul%3AFirestone%2FI18n"/>
	<link rel="alternate" type="text/html" href="https://fs.playcodex.de/index.php?title=Modul:Firestone/I18n&amp;action=history"/>
	<updated>2026-04-21T10:35:01Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Firestone Idle Rpg Wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://fs.playcodex.de/index.php?title=Modul:Firestone/I18n&amp;diff=6&amp;oldid=prev</id>
		<title>Webmaster: Die Seite wurde neu angelegt: „-- Modul:Firestone/I18n -- sammelt alle I18n-Teile ein und merged sie zu EINER Tabelle  local M = {} local cached  -- Reihenfolge ist wichtig: späteres überschreibt früheres local PARTS = {     &#039;Modul:Firestone/I18n/Core&#039;,     &#039;Modul:Firestone/I18n/Events&#039;,     &#039;Modul:Firestone/I18n/Events/Mini&#039;,     &#039;Modul:Firestone/I18n/Events/Special&#039;,     &#039;Modul:Firestone/I18n/Heroes&#039;,     &#039;Modul:Firestone/I18n/Guardians&#039;,     &#039;Modul:Firestone/I18n/WM&#039;, }  local fu…“</title>
		<link rel="alternate" type="text/html" href="https://fs.playcodex.de/index.php?title=Modul:Firestone/I18n&amp;diff=6&amp;oldid=prev"/>
		<updated>2025-11-05T10:25:14Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „-- Modul:Firestone/I18n -- sammelt alle I18n-Teile ein und merged sie zu EINER Tabelle  local M = {} local cached  -- Reihenfolge ist wichtig: späteres überschreibt früheres local PARTS = {     &amp;#039;Modul:Firestone/I18n/Core&amp;#039;,     &amp;#039;Modul:Firestone/I18n/Events&amp;#039;,     &amp;#039;Modul:Firestone/I18n/Events/Mini&amp;#039;,     &amp;#039;Modul:Firestone/I18n/Events/Special&amp;#039;,     &amp;#039;Modul:Firestone/I18n/Heroes&amp;#039;,     &amp;#039;Modul:Firestone/I18n/Guardians&amp;#039;,     &amp;#039;Modul:Firestone/I18n/WM&amp;#039;, }  local fu…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Modul:Firestone/I18n&lt;br /&gt;
-- sammelt alle I18n-Teile ein und merged sie zu EINER Tabelle&lt;br /&gt;
&lt;br /&gt;
local M = {}&lt;br /&gt;
local cached&lt;br /&gt;
&lt;br /&gt;
-- Reihenfolge ist wichtig: späteres überschreibt früheres&lt;br /&gt;
local PARTS = {&lt;br /&gt;
    &amp;#039;Modul:Firestone/I18n/Core&amp;#039;,&lt;br /&gt;
    &amp;#039;Modul:Firestone/I18n/Events&amp;#039;,&lt;br /&gt;
    &amp;#039;Modul:Firestone/I18n/Events/Mini&amp;#039;,&lt;br /&gt;
    &amp;#039;Modul:Firestone/I18n/Events/Special&amp;#039;,&lt;br /&gt;
    &amp;#039;Modul:Firestone/I18n/Heroes&amp;#039;,&lt;br /&gt;
    &amp;#039;Modul:Firestone/I18n/Guardians&amp;#039;,&lt;br /&gt;
    &amp;#039;Modul:Firestone/I18n/WM&amp;#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local function loadPart(name)&lt;br /&gt;
    local ok, data = pcall(mw.loadData, name)&lt;br /&gt;
    if ok and type(data) == &amp;#039;table&amp;#039; then&lt;br /&gt;
        return data&lt;br /&gt;
    end&lt;br /&gt;
    ok, data = pcall(require, name)&lt;br /&gt;
    if ok and type(data) == &amp;#039;table&amp;#039; then&lt;br /&gt;
        return data&lt;br /&gt;
    end&lt;br /&gt;
    return {}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- rekursiv mergen: Tabellen werden zusammengeführt,&lt;br /&gt;
-- Skalare werden überschrieben&lt;br /&gt;
local function deepMerge(dst, src)&lt;br /&gt;
    for k,v in pairs(src) do&lt;br /&gt;
        if type(v) == &amp;#039;table&amp;#039; then&lt;br /&gt;
            if type(dst[k]) ~= &amp;#039;table&amp;#039; then&lt;br /&gt;
                dst[k] = {}&lt;br /&gt;
            end&lt;br /&gt;
            deepMerge(dst[k], v)&lt;br /&gt;
        else&lt;br /&gt;
            dst[k] = v&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function M.get()&lt;br /&gt;
    if cached then&lt;br /&gt;
        return cached&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    -- Basis-Struktur wie früher&lt;br /&gt;
    local root = {&lt;br /&gt;
        i18n   = {},&lt;br /&gt;
        events = {&lt;br /&gt;
            names    = {},&lt;br /&gt;
            sections = { default = {} },&lt;br /&gt;
            phrases  = {},&lt;br /&gt;
            links    = {},&lt;br /&gt;
            unlocks  = {},&lt;br /&gt;
            group_labels = {},&lt;br /&gt;
            infobox = {},&lt;br /&gt;
            notice = {},&lt;br /&gt;
        },&lt;br /&gt;
        numbers = {},&lt;br /&gt;
        items   = {},&lt;br /&gt;
        ui      = {},&lt;br /&gt;
        aw_desc = {},&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    for _,modname in ipairs(PARTS) do&lt;br /&gt;
        local part = loadPart(modname)&lt;br /&gt;
        deepMerge(root, part)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    cached = root&lt;br /&gt;
    return cached&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return M&lt;/div&gt;</summary>
		<author><name>Webmaster</name></author>
	</entry>
</feed>