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

Änderungen

Zur Navigation springen Zur Suche springen
1.817 Bytes hinzugefügt ,  16:28, 27. Dez. 2018
2018-12-27
Zeile 1: Zeile 1:  
local Multilingual = { suite  = "Multilingual",
 
local Multilingual = { suite  = "Multilingual",
                       serial = "2018-12-25",
+
                       serial = "2018-12-27",
 
                       item  = 47541920 }
 
                       item  = 47541920 }
 
local User = { sniffer = "publishchanges" }
 
local User = { sniffer = "publishchanges" }
Zeile 63: Zeile 63:  
     --    access  -- module title
 
     --    access  -- module title
 
     --    allow  -- permit non-existence
 
     --    allow  -- permit non-existence
     --    ahead  -- name of startup procedure, if not access
+
     --    ahead  -- name of startup procedure, if not access;
 +
    --                false for mw.loadData
 
     -- Postcondition:
 
     -- Postcondition:
 
     --    Returns  table or false, with library
 
     --    Returns  table or false, with library
Zeile 72: Zeile 73:  
     if Multilingual.ext[ access ] == false then
 
     if Multilingual.ext[ access ] == false then
 
     elseif not Multilingual.ext[ access ] then
 
     elseif not Multilingual.ext[ access ] then
         local lucky, got = pcall( require, "Module:" .. access )
+
        local src = "Module:" .. access
 +
         local lucky, got
 +
        if ahead == false then
 +
            lucky, got = pcall( mw.loadData, src )
 +
        else
 +
            lucky, got = pcall( require, src )
 +
        end
 
         Multilingual.ext[ access ] = false
 
         Multilingual.ext[ access ] = false
 
         if type( got ) == "table" then
 
         if type( got ) == "table" then
Zeile 701: Zeile 708:  
     return r
 
     return r
 
end -- Multilingual.isMinusculable()
 
end -- Multilingual.isMinusculable()
 +
 +
 +
 +
Multilingual.isTrans = function ( ask, assign, about )
 +
    -- Check whether valid transcription for context
 +
    --    ask    -- string, with transcription key
 +
    --    assign  -- string, with language or scripting code
 +
    --    about  -- string or nil, with site scripting code
 +
    -- Returns boolean
 +
    local r = false
 +
    local t
 +
    if type( Multilingual.trans ) ~= "table" then
 +
        t = fetch( "Multilingual/scripts", true, false )
 +
        if type( t ) == "table" then
 +
            Multilingual.trans = t.trans  or  { }
 +
        else
 +
            Multilingual.trans = { }
 +
        end
 +
    end
 +
    t = Multilingual.trans[ assign ]
 +
    if type( t ) == "table" then
 +
        for k, v in pairs( t ) do
 +
            if v == ask then
 +
                r = true
 +
                break    -- for i
 +
            end
 +
        end -- for k, v
 +
    end
 +
    if not r  and  about == "Latn" then
 +
        r = ( ask == "BGN-PCGN"  or  ask == "ALA-LC" )
 +
    end
 +
    return r
 +
end -- Multilingual.isTrans()
      Zeile 819: Zeile 859:  
     -- Format language code
 
     -- Format language code
 
     --    1  -- language code
 
     --    1  -- language code
     return Multilingual.fair( frame.args[ 1 ] )  or  ""
+
     local s = mw.text.trim( frame.args[ 1 ] or  "" )
 +
    return Multilingual.fair( s )  or  ""
 
end -- p.fair
 
end -- p.fair
   Zeile 828: Zeile 869:  
     --    1  -- language version specifier to be supported
 
     --    1  -- language version specifier to be supported
 
     --    2  -- language specifier of a possible replacement
 
     --    2  -- language specifier of a possible replacement
     local r = Multilingual.fallback( frame.args[ 1 ], frame.args[ 2 ]  )
+
     local s1  = mw.text.trim( frame.args[ 1 ] or  "" )
     return r and "1" or ""
+
    local s2  = mw.text.trim( frame.args[ 2 ]  or  "" )
 +
     return Multilingual.fallback( s1, s2 )  and "1"   or   ""
 
end -- p.fallback
 
end -- p.fallback
   Zeile 837: Zeile 879:  
     -- Retrieve language code from language name
 
     -- Retrieve language code from language name
 
     --    1  -- name in current project language
 
     --    1  -- name in current project language
     return Multilingual.findCode( frame.args[ 1 ] )  or  ""
+
     local s = mw.text.trim( frame.args[ 1 ] or  "" )
 +
    return Multilingual.findCode( s )  or  ""
 
end -- p.findCode
 
end -- p.findCode
   Zeile 888: Zeile 931:  
     -- Retrieve base language from possibly combined ISO language code
 
     -- Retrieve base language from possibly combined ISO language code
 
     --    1  -- code
 
     --    1  -- code
     return Multilingual.getBase( frame.args[ 1 ] )  or  ""
+
     local s = mw.text.trim( frame.args[ 1 ] or  "" )
 +
    return Multilingual.getBase( s )  or  ""
 
end -- p.getBase
 
end -- p.getBase
   Zeile 900: Zeile 944:  
     --          * -- native
 
     --          * -- native
 
     --          any valid code
 
     --          any valid code
 +
    local s    = mw.text.trim( frame.args[ 1 ]  or  "" )
 
     local slang = frame.args[ 2 ]
 
     local slang = frame.args[ 2 ]
 
     local r
 
     local r
Zeile 905: Zeile 950:  
         slang = mw.text.trim( slang )
 
         slang = mw.text.trim( slang )
 
     end
 
     end
     r = Multilingual.getName( frame.args[ 1 ], slang )
+
     r = Multilingual.getName( s, slang )
 
     return r or ""
 
     return r or ""
 
end -- p.getName
 
end -- p.getName
Zeile 915: Zeile 960:  
     --    1  -- code
 
     --    1  -- code
 
     --    2  -- optional additional key
 
     --    2  -- optional additional key
     return Multilingual.getScriptName( frame.args[ 1 ] or "????",
+
     local s1 = mw.text.trim( frame.args[ 1 ] or "????" )
                                      false,
+
    local s2 = frame.args[ 2 ]
                                      frame.args[ 2 ] )
+
    if s2 then
 +
        s2 = mw.text.trim( s2 )
 +
    end
 +
    return Multilingual.getScriptName( s1, false, s2 )
 
end -- p.getScriptName
 
end -- p.getScriptName
   Zeile 968: Zeile 1.016:  
     -- Could this be an ISO language code?
 
     -- Could this be an ISO language code?
 
     --    1  -- code
 
     --    1  -- code
     local lucky, r = pcall( Multilingual.isLang,
+
    local s = mw.text.trim( frame.args[ 1 ]  or  "" )
                            frame.args[ 1 ] )
+
     local lucky, r = pcall( Multilingual.isLang, s )
 
     return r and "1" or ""
 
     return r and "1" or ""
 
end -- p.isLang
 
end -- p.isLang
Zeile 978: Zeile 1.026:  
     -- Could this be a Wiki language version?
 
     -- Could this be a Wiki language version?
 
     --    1  -- code
 
     --    1  -- code
     local lucky, r = pcall( Multilingual.isLangWiki,
+
    local s = mw.text.trim( frame.args[ 1 ]  or  "" )
                            frame.args[ 1 ] )
+
     local lucky, r = pcall( Multilingual.isLangWiki, s )
 
     return r and "1" or ""
 
     return r and "1" or ""
 
end -- p.isLangWiki
 
end -- p.isLangWiki
Zeile 985: Zeile 1.033:       −
p.kannDeutsch = function ( frame )
+
p.isTrans = function ( frame )
     -- Kann man mit diesem Sprachcode deutsch verstehen?
+
     -- Check whether valid transcription for context
     --    1  -- code
+
     --    1     -- string, with transcription key
     local r = Multilingual.fallback( frame.args[ 1 ], "de" )
+
    --    2    -- string, with language or scripting code
     return r and "1" or ""
+
    --    site -- string or nil, with site scripting code
end -- p.kannDeutsch
+
     local s1  = mw.text.trim( frame.args[ 1 ] or  "" )
 +
    local s2  = mw.text.trim( frame.args[ 2 ]  or  "" )
 +
    local site = mw.text.trim( frame.args.site  or  "" )
 +
     return Multilingual.isTrans( s1, s2, site )  and "1"   or   ""
 +
end -- p.isTrans
      Zeile 997: Zeile 1.049:  
     -- Which language does the current user prefer?
 
     -- Which language does the current user prefer?
 
     --    1  -- space separated list of available ISO 639 codes
 
     --    1  -- space separated list of available ISO 639 codes
  return Multilingual.userLang( frame.args[ 1 ], frame )
+
    local s = mw.text.trim( frame.args[ 1 ] or  "" )
 +
    return Multilingual.userLang( s, frame )
 
end -- p.userLang
 
end -- p.userLang
  
Cookies helfen uns bei der Bereitstellung von imedwiki. Durch die Nutzung von imedwiki erklärst du dich damit einverstanden, dass wir Cookies speichern.

Navigationsmenü