Dyskusja modułu:Superjurek/transliteracja/PL-CYR: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
 
(Brak różnic)

Aktualna wersja na dzień 19:57, 23 wrz 2021

Stary kod edytuj

local function sanitizeText( text )
    local result = text
    result = string.gsub( result, "'", "'" )
    result = string.gsub( result, """, "\"" )
    result = string.gsub( result, "&", "&" )
    return result
end

function p.transliterate( frame )
        local language = frame.args[1]
        local text = sanitizeText( frame.args[2] )
        local transliteration = transliterations[ language ]
        
        if transliteration == nil then
            return "Błędny kod języka: " .. language
        end
        
        local result = ''
        
        for codepoint in mw.ustring.gcodepoint( text ) do
            local untransliterated = mw.ustring.char( codepoint )
            local transliterated = commonTransliteration[ untransliterated ]
            
            if transliterated == nil then
                transliterated = transliteration[ untransliterated ]
            end
            
            if transliterated == nil then
                return "Nieprawidłowy znak " .. untransliterated .. " dla języka o kodzie " .. language .. "." .. (
                		mw.title.getCurrentTitle():inNamespace( 0 ) and errcat or ''
                	)
            else
                result = result .. transliterated
            end
        end   
        return result
end
return p
Powrót do strony „Superjurek/transliteracja/PL-CYR”.