Menü aufrufen
Persönliches Menü aufrufen
Nicht angemeldet
Ihre IP-Adresse wird öffentlich sichtbar sein, wenn Sie Änderungen vornehmen.
⚠️ Wir suchen Nutzer, die das Wiki regelmäßig aktualisieren und pflegen können. Siehe wie man Seiten bearbeitet ⚠️
Modul Dokumentation[view][edit][history][purge]
Diese Dokumentation wird von Modul:Localized/doc aus übernommen. Änderungen können auf der Diskussionsseite vorgeschlagen werden.
Function list
L 13 — methodtable.getMainTitle
L 29 — methodtable.getDescription
L 50 — methodtable.isLanguagePage
L 59 — Localized.new
L 77 — Localized.getDescription
L 85 — Localized.getMainTitle
L 93 — Localized.isLanguagePage
✔ Alle Tests bestanden.
Unit tests
Name Expected Actual
✔ testGetMainTitle

Dieses Modul gibt die lokalisierte Beschreibung einer Seite aus Semantic Media Wiki aus

Öffentliche Methoden

Das Modul stellt folgende öffentliche Methoden bereit:

  • getMainTitle( title )
    • Gibt den Haupttitel einer Seite ohne Sprachcode aus
  • getDescription()
    • Gibt die in SMW gespeicherte Beschreibung aus, basierend auf der Seitensprache
  • isLanguagePage()
    • Gibt 'true' zurück, wenn die aktuelle Seite eine Übersetzungsseite ist

local Localized = {}

local metatable = {}
local methodtable = {}

metatable.__index = methodtable


--- Returns the main title without a language code
--- E.g. Title 'Xyz Boots Grey/Black/en' returns 'Xyz Boots Grey/Black'
---
--- @param title string
function methodtable.getMainTitle( self, title )
    local titleparts = mw.text.split( title, '/' )
    local subpage = titleparts[#titleparts]

    -- We are on a language subpage
    if self.translation.checkLanguage( subpage, false ) ~= false then
        table.remove( titleparts, #titleparts )
    end

    return table.concat( titleparts, '/' )
end


--- Return the localized description from SMW
---
--- @return string
function methodtable.getDescription( self )
	local title = mw.title.getCurrentTitle()
    local page = self:getMainTitle( self.args[1] or self.args[ 'Titel' ] or title.fullText )

    local data = mw.smw.getQueryResult('[[' .. page .. ']]|?Beschreibung=desc|+lang=' .. self.translation._getLanguageSubpage( title ) )

    if type( data ) == 'table' and type( data[ 'results' ] ) == 'table' then
    	if type( data['results'][1] ) == 'table' then
        	return data['results'][1]['printouts']['desc'][1] or nil
    	end

    	return nil
    end

    return nil
end


--- Returns true if the current page is a language sub-page
---
--- @param title string
function methodtable.isLanguagePage( self, title )
    local titleparts = mw.text.split( title, '/' )
    local subpage = titleparts[#titleparts]

    return self.translation.checkLanguage( subpage, false ) ~= false
end

--- New Instance
--- Library entrance
function Localized.new( self, frame )
    local args = {}
    if frame then
        args = frame:getParent().args
    end

    local instance = {
        args = args,
        translation = require( 'Module:Template translation' )
    }

    setmetatable( instance, metatable )

    return instance
end


--- Template entry
function Localized.getDescription( frame )
    local instance = Localized:new()

    return instance:getDescription()
end


--- Returns the main title for the current page
function Localized.getMainTitle( frame )
    local instance = Localized:new()

    return instance:getMainTitle( mw.title.getCurrentTitle().fullText )
end


--- Returns true if the current page is a language sub-page
function Localized.isLanguagePage( frame )
    local instance = Localized:new()

    return instance:isLanguagePage( mw.title.getCurrentTitle().fullText )
end


return Localized
Cookies helfen uns bei der Bereitstellung dieses Wikis. Durch die Nutzung des Star Citizen Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.