From Wikipedia, the free encyclopedia

local translations = {

    "Warrior Cats" =

    {

        de = "Warrior Cats",

        fi = "Soturikissat",

        fr = "La Guerre des Clans",

        hu = "Harcosok Törzse",

        ja = "ウォーリアーズ",

        ko = "고양이 전사들",

        lt = "Klanų Kariai",

        nl = "Warrior Cats",

        no = "Kattekrigerne",

        pl = "Wojownicy",

        ru = "Коты-воители",

        cz = "Divoké kočky(first book) Válečníci(other books)",

        es = "Los Gatos Guerreros",

        zh_cn = "猫武士",

        zh_tw = "貓戰士"

    },

    cat =

    {

        de = "Katze",

        fi = "kissa",

        fr = "chat",

        hu = "macska",

        ja = "猫",

        ko = "고양이",

        lt = "katinas",

        nl = "kat",

        no = "katt",

        pl = "kot",

        ru = "кот (tom-cat)/кошка (she-cat)",

        cz = "kocour(tom-cat) kočka(she-cat)",

        es = "gato",

        zh_cn = "猫",

        zh_tw = "貓"

    },

    leader =

    {

        de = "Anführer",

        fi = "päällikkö",

        fr = "chef",

        hu = "vezér",

        ja = "族長",

        ko = "지도자",

        lt = "vadas",

        nl = "leider",

        no = "leder",

        pl = "przywódca",

        ru = "предводитель (tom-cat)/предводительница (she-cat)",

        cz = "velitel klanu",

        es = "líder",

        zh_cn = "族长",

        zh_tw = "族長"

    },

    Leafpool =

    {

        de = "Blattsee",

        fi = "Lehtilampi",

        fr = "Feuille de Lune",

        hu = nil,

        ja = "リーフプール",

        ko = nil,

        lt = nil,

        nl = "Loofpoel",

        no = "Løvtjern",

        pl = nil,

        ru = "Листвичка",

        cz = nil,

        es = "Hojarasca Acuática",

        zh_cn = "叶池",

        zh_tw = nil

    },

    Bluestar =

    {

        de = "Blaustern",

        fi = "Sinitähti",

        fr = "Étoile Bleue",

        hu = "Kékcsillag",

        ja = "ブルスター",

        ko = nil,

        lt = nil,

        nl = "Blauwster",

        no = "Blåstjerne",

        pl = nil,

        ru = "Синяя Звезда",

        cz = nil,

        es = "Estrella Azul",

        zh_cn = "蓝星",

        zh_tw = nil

    },

}



-- known languages (except for English)



local languages = {

    cz = "Czech",

    de = "German",

    es = "Spanish",

    fi = "Finnish",

    fr = "French",

    gr = "Greek",

    hu = "Hungarian",

    hr = "Croatian",

    it = "Italian",

    ja = "Japanese",

    ko = "Korean",

    lt = "Lithuanian",

    nl = "Dutch",

    no = "Norwegian",

    pl = "Polish",

    pt = "Portuguese (Brazilian)",

    ro = "Romanian",

    ru = "Russian",

    si = "Slovenian",

    sk = "Slovakian",

    tr = "Turkish",

    vi = "Vietnamese",

    zh_cn = "Chinese Simplified",

    zh_tw = "Chinese Traditional",

}



local ENGLISH_TAG = "en"

local ENGLISH = "English"



function orderedKeys(dict)

    local keys = {}

    local result = {}

    for k, v in pairs(dict) do

        table.insert(keys, k)

    end

    table.sort(keys)

    for i, k in ipairs(keys) do

        table.insert(result, k)

    end

    return result

end



function NZ(value, valueifNil)

    if value == nil then return valueifNil end

    return value

end 



-- the module

local p = { }



function p.getLanguageName(frame)

    return languages(frame.args1])

end



-- Returns the translation of specific keyword (English)

-- with the provided language tag,

-- or nil, if no such translation is found.

function p.translate(frame)

    local term = frame.args1

    local language = frame.args2

    -- Bypass English.

    if language == ENGLISH_TAG then return key end

    return translationskey][language

end



-- Generates a full glossary 

function p.glossaryTable()

    local colhdr = mw.html.create("table")

            :attr("class", "wikitable")

            :css("float", "left")

            :css("margin", "0")

            :css("margin-right", "-1px")

    local body = mw.html.create("div")

            :css("overflow-x", "auto")

            :css("white-space", "nowrap")

            :tag("table")

                :attr("class", "wikitable")

                :css("margin", "0")

                :tag("tr")

    colhdr:tag("tr"):tag("th"):wikitext(ENGLISH)

    local langs = orderedKeys(languages)

    for i, langTag in ipairs(langs) do

        body:tag("th"):wikitext(languageslangTag])

    end

    body = body:done();

    local transKeys = orderedKeys(translations)

    for i, key in ipairs(transKeys) do

        colhdr:tag("tr"):tag("th"):wikitext(key)

        body = body:tag("tr")

        local trans = translationskey

        for i, langTag in ipairs(langs) do

            t = translangTag

            if t == nil then t = "-" end

            body:tag("td"):wikitext(t)

        end

        body = body:done()

        --print(key)

    end

    body = body:allDone()

    local div = mw.html.create("div")

        :node(colhdr)

        :node(body)

    return tostring(div)

end



-- Generates a table of translations of a specific English term.

-- Returns nil if no such term exists in the dictionary.

function p.translationTable(frame)

    local term = frame.args1

    local trans = translationsterm

    if trans == nil then return nil end

    local body = mw.html.create("table")

                :attr("class", "wikitable")

    local transKeys = orderedKeys(trans)

    body:tag("tr")

            :tag("th")

                :wikitext(ENGLISH)

                :done()

            :tag("th")

                :wikitext(term)

                :done()

    for i, key in ipairs(transKeys) do

        body:tag("tr")

            :tag("th")

                :wikitext(NZ(languageskey], key))

                :done()

            :tag("td")

                :wikitext(NZ(transkey], "-"))

                :done()

    end

    return tostring(body)

end

--print(p.glossary())



return p
From Wikipedia, the free encyclopedia

local translations = {

    "Warrior Cats" =

    {

        de = "Warrior Cats",

        fi = "Soturikissat",

        fr = "La Guerre des Clans",

        hu = "Harcosok Törzse",

        ja = "ウォーリアーズ",

        ko = "고양이 전사들",

        lt = "Klanų Kariai",

        nl = "Warrior Cats",

        no = "Kattekrigerne",

        pl = "Wojownicy",

        ru = "Коты-воители",

        cz = "Divoké kočky(first book) Válečníci(other books)",

        es = "Los Gatos Guerreros",

        zh_cn = "猫武士",

        zh_tw = "貓戰士"

    },

    cat =

    {

        de = "Katze",

        fi = "kissa",

        fr = "chat",

        hu = "macska",

        ja = "猫",

        ko = "고양이",

        lt = "katinas",

        nl = "kat",

        no = "katt",

        pl = "kot",

        ru = "кот (tom-cat)/кошка (she-cat)",

        cz = "kocour(tom-cat) kočka(she-cat)",

        es = "gato",

        zh_cn = "猫",

        zh_tw = "貓"

    },

    leader =

    {

        de = "Anführer",

        fi = "päällikkö",

        fr = "chef",

        hu = "vezér",

        ja = "族長",

        ko = "지도자",

        lt = "vadas",

        nl = "leider",

        no = "leder",

        pl = "przywódca",

        ru = "предводитель (tom-cat)/предводительница (she-cat)",

        cz = "velitel klanu",

        es = "líder",

        zh_cn = "族长",

        zh_tw = "族長"

    },

    Leafpool =

    {

        de = "Blattsee",

        fi = "Lehtilampi",

        fr = "Feuille de Lune",

        hu = nil,

        ja = "リーフプール",

        ko = nil,

        lt = nil,

        nl = "Loofpoel",

        no = "Løvtjern",

        pl = nil,

        ru = "Листвичка",

        cz = nil,

        es = "Hojarasca Acuática",

        zh_cn = "叶池",

        zh_tw = nil

    },

    Bluestar =

    {

        de = "Blaustern",

        fi = "Sinitähti",

        fr = "Étoile Bleue",

        hu = "Kékcsillag",

        ja = "ブルスター",

        ko = nil,

        lt = nil,

        nl = "Blauwster",

        no = "Blåstjerne",

        pl = nil,

        ru = "Синяя Звезда",

        cz = nil,

        es = "Estrella Azul",

        zh_cn = "蓝星",

        zh_tw = nil

    },

}



-- known languages (except for English)



local languages = {

    cz = "Czech",

    de = "German",

    es = "Spanish",

    fi = "Finnish",

    fr = "French",

    gr = "Greek",

    hu = "Hungarian",

    hr = "Croatian",

    it = "Italian",

    ja = "Japanese",

    ko = "Korean",

    lt = "Lithuanian",

    nl = "Dutch",

    no = "Norwegian",

    pl = "Polish",

    pt = "Portuguese (Brazilian)",

    ro = "Romanian",

    ru = "Russian",

    si = "Slovenian",

    sk = "Slovakian",

    tr = "Turkish",

    vi = "Vietnamese",

    zh_cn = "Chinese Simplified",

    zh_tw = "Chinese Traditional",

}



local ENGLISH_TAG = "en"

local ENGLISH = "English"



function orderedKeys(dict)

    local keys = {}

    local result = {}

    for k, v in pairs(dict) do

        table.insert(keys, k)

    end

    table.sort(keys)

    for i, k in ipairs(keys) do

        table.insert(result, k)

    end

    return result

end



function NZ(value, valueifNil)

    if value == nil then return valueifNil end

    return value

end 



-- the module

local p = { }



function p.getLanguageName(frame)

    return languages(frame.args1])

end



-- Returns the translation of specific keyword (English)

-- with the provided language tag,

-- or nil, if no such translation is found.

function p.translate(frame)

    local term = frame.args1

    local language = frame.args2

    -- Bypass English.

    if language == ENGLISH_TAG then return key end

    return translationskey][language

end



-- Generates a full glossary 

function p.glossaryTable()

    local colhdr = mw.html.create("table")

            :attr("class", "wikitable")

            :css("float", "left")

            :css("margin", "0")

            :css("margin-right", "-1px")

    local body = mw.html.create("div")

            :css("overflow-x", "auto")

            :css("white-space", "nowrap")

            :tag("table")

                :attr("class", "wikitable")

                :css("margin", "0")

                :tag("tr")

    colhdr:tag("tr"):tag("th"):wikitext(ENGLISH)

    local langs = orderedKeys(languages)

    for i, langTag in ipairs(langs) do

        body:tag("th"):wikitext(languageslangTag])

    end

    body = body:done();

    local transKeys = orderedKeys(translations)

    for i, key in ipairs(transKeys) do

        colhdr:tag("tr"):tag("th"):wikitext(key)

        body = body:tag("tr")

        local trans = translationskey

        for i, langTag in ipairs(langs) do

            t = translangTag

            if t == nil then t = "-" end

            body:tag("td"):wikitext(t)

        end

        body = body:done()

        --print(key)

    end

    body = body:allDone()

    local div = mw.html.create("div")

        :node(colhdr)

        :node(body)

    return tostring(div)

end



-- Generates a table of translations of a specific English term.

-- Returns nil if no such term exists in the dictionary.

function p.translationTable(frame)

    local term = frame.args1

    local trans = translationsterm

    if trans == nil then return nil end

    local body = mw.html.create("table")

                :attr("class", "wikitable")

    local transKeys = orderedKeys(trans)

    body:tag("tr")

            :tag("th")

                :wikitext(ENGLISH)

                :done()

            :tag("th")

                :wikitext(term)

                :done()

    for i, key in ipairs(transKeys) do

        body:tag("tr")

            :tag("th")

                :wikitext(NZ(languageskey], key))

                :done()

            :tag("td")

                :wikitext(NZ(transkey], "-"))

                :done()

    end

    return tostring(body)

end

--print(p.glossary())



return p

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook