Nicht angemeldeter Benutzer - Bearbeiten von Seiten ist nur als angemeldeter Benutzer möglich.

Änderungen

Zur Navigation springen Zur Suche springen
2018-04-15
Zeile 1: Zeile 1:  
local TemplateData = { suite  = "TemplateData",
 
local TemplateData = { suite  = "TemplateData",
                       serial = "2018-04-05",
+
                       serial = "2018-04-15",
 
                       item  = 46997995 }
 
                       item  = 46997995 }
 
--[=[
 
--[=[
Zeile 212: Zeile 212:  
     -- Returns string, with localized text
 
     -- Returns string, with localized text
 
     local o = mw.message.new( "templatedata-" .. adapt )
 
     local o = mw.message.new( "templatedata-" .. adapt )
 +
    if not Data.slang then
 +
        local Multilingual = Fetch( "Multilingual" )
 +
        if type( Multilingual.userLangCode ) == "function" then
 +
            Data.slang = Multilingual.userLangCode()
 +
        end
 +
    end
 
     if Data.slang then
 
     if Data.slang then
 
         o:inLanguage( Data.slang )
 
         o:inLanguage( Data.slang )
Zeile 344: Zeile 350:     
local function faraway( alternatives )
 
local function faraway( alternatives )
     -- Retrieve project language version from multilingual text
+
     -- Retrieve best language version from multilingual text
 
     -- Parameter:
 
     -- Parameter:
 
     --    alternatives  -- table, to be evaluated
 
     --    alternatives  -- table, to be evaluated
Zeile 353: Zeile 359:  
     local variants = { }
 
     local variants = { }
 
     local r1, r2
 
     local r1, r2
     if not Data.slang then
+
     if Data.slang and
         Data.slang = mw.language.getContentLanguage():getCode()
+
      mw.ustring.codepoint( Data.slang, 1, 1 ) > 122 then
 +
         Data.slang = false
 
     end
 
     end
 
     for k, v in pairs( alternatives ) do
 
     for k, v in pairs( alternatives ) do
Zeile 360: Zeile 367:  
             v = mw.text.trim( v )
 
             v = mw.text.trim( v )
 
             if v ~= "" then
 
             if v ~= "" then
 +
                k = k:lower()
 
                 variants[ k ] = v
 
                 variants[ k ] = v
 
                 n            = n + 1
 
                 n            = n + 1
Zeile 366: Zeile 374:  
     end -- for k, v
 
     end -- for k, v
 
     if n > 0 then
 
     if n > 0 then
 +
        local choices, Multilingual
 +
        if n > 1 then
 +
            choices = { }
 +
        end
 
         for k, v in pairs( variants ) do
 
         for k, v in pairs( variants ) do
             if v then
+
             if n == 1 then
                if n == 1 then
+
                r1 = v
                    r1 = v
+
            elseif Data.slang == k then
                elseif k:lower() == Data.slang then
+
                variants[ k ] = nil
                    variants[ k ] = nil
+
                r1 = v
                    r1 = v
+
                r2 = variants
                    r2 = variants
+
            else
                    break -- for k, v
+
                 table.insert( choices, k )
                 end
   
             end
 
             end
 
         end -- for k, v
 
         end -- for k, v
 
         if not r1 then
 
         if not r1 then
             local seek = string.format( "^%s-", Data.slang )
+
             Multilingual = Fetch( "Multilingual" )
             for k, v in pairs( variants ) do
+
             if type( Multilingual.userLang ) == "function" then
                if v and k:lower():match( seek ) then
+
                 local sel = Multilingual.userLang( choices,
                    variants[ k ] = nil
+
                                                  TemplateData.frame )
                    r1 = v
+
                 r1 = variants[ sel ]
                    r2 = variants
+
                variants[ sel ] = nil
                    break -- for k, v
+
                 r2 = variants
                end
  −
            end -- for k, v
  −
            if not r1 then
  −
                 local others = mw.language.getFallbacksFor( Data.slang )
  −
                table.insert( others, "en" )
  −
                 for i = 1, #others do
  −
                    seek = others[ i ]
  −
                    if variants[ seek ] then
  −
                        r1               = variants[ seek ]
  −
                        variants[ seek ] = nil
  −
                        r2              = variants
  −
                        break    -- for i
  −
                    end
  −
                end -- i = 1, #others
  −
            end
  −
            if not r1 then
  −
                 for k, v in pairs( variants ) do
  −
                    if v then
  −
                        variants[ k ] = nil
  −
                        r1 = v
  −
                        r2 = variants
  −
                        break -- for k, v
  −
                    end
  −
                end -- for k, v
   
             end
 
             end
 
         end
 
         end
 
         if r2 then
 
         if r2 then
             local Multilingual = Fetch( "Multilingual" )
+
             Multilingual = Multilingual or Fetch( "Multilingual" )
 
             for k, v in pairs( r2 ) do
 
             for k, v in pairs( r2 ) do
                 if v  and  not Multilingual.isLang( k )
+
                 if v  and  not Multilingual.isLang( k, true ) then
                      and  k ~= "simple" then
   
                     Fault( string.format( "Invalid <code>lang=%s</code>",
 
                     Fault( string.format( "Invalid <code>lang=%s</code>",
 
                                           k ) )
 
                                           k ) )
Zeile 525: Zeile 511:  
     end -- for k, v
 
     end -- for k, v
 
     for i = 1, n do
 
     for i = 1, n do
         for k, v in pairs( Data.heirs ) do
+
         if Data.heirs then
            if v  and  not Data.heirs[ v ] then
+
            for k, v in pairs( Data.heirs ) do
                n              = n - 1
+
                if v  and  not Data.heirs[ v ] then
                t[ k ].inherits = nil
+
                    n              = n - 1
                Data.heirs[ k ] = nil
+
                    t[ k ].inherits = nil
                p2              = { }
+
                    Data.heirs[ k ] = nil
                t2              = { }
+
                    p2              = { }
                for k2, v2 in pairs( p[ v ] ) do
+
                    t2              = { }
                     p2[ k2 ] = v2
+
                     if p[ v ] then
                end -- for k2, v2
+
                        for k2, v2 in pairs( p[ v ] ) do
                if p[ k ] then
  −
                    for k2, v2 in pairs( p[ k ] ) do
  −
                        if type( v2 ) ~= "nil" then
   
                             p2[ k2 ] = v2
 
                             p2[ k2 ] = v2
 +
                        end -- for k2, v2
 +
                        if p[ k ] then
 +
                            for k2, v2 in pairs( p[ k ] ) do
 +
                                if type( v2 ) ~= "nil" then
 +
                                    p2[ k2 ] = v2
 +
                                end
 +
                            end -- for k2, v2
 
                         end
 
                         end
                    end -- for k2, v2
+
                        p[ k ] = p2
 +
                        for k2, v2 in pairs( t[ v ] ) do
 +
                            t2[ k2 ] = v2
 +
                        end -- for k2, v2
 +
                        for k2, v2 in pairs( t[ k ] ) do
 +
                            if type( v2 ) ~= "nil" then
 +
                                t2[ k2 ] = v2
 +
                            end
 +
                        end -- for k2, v2
 +
                        t[ k ] = t2
 +
                    else
 +
                        Fault( "No params[] inherits " .. v )
 +
                    end
 
                 end
 
                 end
                p[ k ] = p2
+
            end -- for k, v
                for k2, v2 in pairs( t[ v ] ) do
+
         end
                    t2[ k2 ] = v2
  −
                end -- for k2, v2
  −
                for k2, v2 in pairs( t[ k ] ) do
  −
                    if type( v2 ) ~= "nil" then
  −
                        t2[ k2 ] = v2
  −
                    end
  −
                end -- for k2, v2
  −
                t[ k ] = t2
  −
            end
  −
         end -- for k, v
   
     end -- i = 1, n
 
     end -- i = 1, n
 
     if n > 0 then
 
     if n > 0 then
Zeile 956: Zeile 948:  
                     tbl:node( fatten( s ) )
 
                     tbl:node( fatten( s ) )
 
                     Data.order[ i ] = false
 
                     Data.order[ i ] = false
 +
                elseif s:match( "[=|]" ) then
 +
                    Fault( string.format( "Bad param <code>%s</code>",
 +
                                          s ) )
 
                 else
 
                 else
 
                     tbl:node( feature( s ) )
 
                     tbl:node( feature( s ) )
Zeile 1.286: Zeile 1.281:  
                   support == "*" then
 
                   support == "*" then
 
                     Permit.builder[ s ] = true
 
                     Permit.builder[ s ] = true
                 elseif s:match( "^[1-9]%d*" ) and
+
                 elseif s:match( "^[1-9]%d?" ) and
 
                       Permit.builder.align then
 
                       Permit.builder.align then
 
                     Permit.builder.align = tonumber( s )
 
                     Permit.builder.align = tonumber( s )
Cookies helfen uns bei der Bereitstellung von imedwiki. Durch die Nutzung von imedwiki erklärst du dich damit einverstanden, dass wir Cookies speichern.

Navigationsmenü