Wednesday, March 20, 2013

Wiktionary - Recent changes [en]: Module:ca-head

Wiktionary - Recent changes [en]
Track the most recent changes to the wiki in this feed. // via fulltextrssfeed.com
Module:ca-head
Mar 21st 2013, 01:39

Line 34: Line 34:
 

categories = "[[Category:Catalan " .. (args["cat"] or poscat) .. "|" .. com.sort_key(PAGENAME) .. "]]" .. categories

 

categories = "[[Category:Catalan " .. (args["cat"] or poscat) .. "|" .. com.sort_key(PAGENAME) .. "]]" .. categories

 

ret = "<strong class=\"headword\" lang=\"ca\">" .. (args["head"] or PAGENAME) .. "</strong>" .. ret

 

ret = "<strong class=\"headword\" lang=\"ca\">" .. (args["head"] or PAGENAME) .. "</strong>" .. ret

if com.sort_key(PAGENAME) == args["sort"] then

+

if args["sort"] then

 

categories = categories .. "[[Category:CodeCat's test category]]"

 

categories = categories .. "[[Category:CodeCat's test category]]"

 

end

 

end


The following documentation is located at Module:ca-head/documentation. [edit]

This module is used for Catalan headword-line templates. It is currently under construction and does not work yet.


  local com = require("Module:ca-common")  local gen = require("Module:gender and number")     -- A list of valid gender codes, used by nouns  local valid_genders = {}  valid_genders["m"] = true  valid_genders["f"] = true  valid_genders["m-p"] = true  valid_genders["f-p"] = true     local export = {}     -- The main entry point.  -- This is the only function that can be invoked from a template.  function export.show(frame)      local args = frame:getParent().args      PAGENAME = frame:preprocess("{{PAGENAME}}")      NAMESPACE = frame:preprocess("{{NAMESPACE}}")      local ret = ""      local categories = ""         -- The part of speech. This is also the name of the category that      -- entries go in. However, the two are separate (the "cat" parameter)      -- because you sometimes want something to behave as an adjective without      -- putting it in the adjectives category.      local poscat = frame.args[1] or error("Part of speech has not been specified. Please pass parameter 1 to the module invocation.")         if poscat == "nouns" then          ret, categories = noun(args)      elseif poscat == "proper nouns" then          ret, categories = noun_gender(args)      end         categories = "[[Category:Catalan " .. (args["cat"] or poscat) .. "|" .. com.sort_key(PAGENAME) .. "]]" .. categories      ret = "<strong class=\"headword\" lang=\"ca\">" .. (args["head"] or PAGENAME) .. "</strong>" .. ret      if args["sort"] then          categories = categories .. "[[Category:CodeCat's test category]]"      end         return ret .. (NAMESPACE == "" and categories or "")  end     -- Display information for a noun's gender  -- This is separate so that it can also be used for proper nouns  function noun_gender(args)      local ret = " "      local categories = ""         local gender = args[1] or ""         if valid_genders[gender] then          ret = ret .. gen.format({gender})             if gender == "m-p" or gender == "f-p" then              categories = categories .. "[[Category:Catalan pluralia tantum|" .. com.sort_key(PAGENAME) .. "]]"          end      elseif gender == "mf" then          ret = ret .. gen.format({"m", "f"})      else          ret = ret .. "<span class=\"gender\" title=\"gender unspecified\">''?''</span>"          categories = categories .. "[[Category:Catalan nouns lacking gender|" .. com.sort_key(PAGENAME) .. "]]"      end         return ret, categories  end     -- Display additional inflection information for a noun  function noun(args)      local ret = ""      local categories = ""      local gender = args[1] or ""         -- Gender      ret, categories = noun_gender(args)         ret = ret .. " ("         -- Plural      if gender == "m-p" or gender == "f-p" then          ret = ret .. "''[[Appendix:Glossary#plurale tantum|plurale tantum]]''"      else          local plural = args[2] or ""             if plural == "-" then              ret = ret .. "''[[Appendix:Glossary#uncountable|uncountable]]''"              categories = categories .. "[[Category:Catalan uncountable nouns|" .. com.sort_key(PAGENAME) .. "]]"          else              local plural2 = args["pl2"] or ""              local p, p2 = make_plural(PAGENAME, gender)              if plural == "" then plural = p end              if plural2 == "" then plural2 = p2 or "" end                 ret = ret .. "''plural'' <span class=\"form-of plural-form-of lang-ca\">" .. com.link_form(plural, "b") .. "</span>"                 if plural2 ~= "" then                  ret = ret .. " ''or'' <span class=\"form-of plural-form-of lang-ca\">" .. com.link_form(plural2, "b") .. "</span>"              end          end      end         -- Gendered forms      local feminine = args["f"] or ""      if feminine ~= "" then          ret = ret .. ", ''feminine'' " .. com.link_form(feminine, "b")      end         local masculine = args["m"] or ""      if masculine ~= "" then          ret = ret .. ", ''masculine'' " .. com.link_form(masculine, "b")      end         ret = ret .. ")"         return ret, categories  end     function make_plural(base, gender)      -- The extra brackets are needed because gsub returns a pair, but this      -- function should only return a single value      if base:find("ça$") then return (base:gsub("ça$", "ces")) end      if base:find("ca$") then return (base:gsub("ca$", "ques")) end      if base:find("qua$") then return (base:gsub("qua$", "qües")) end      if base:find("ja$") then return (base:gsub("ja$", "ges")) end      if base:find("ga$") then return (base:gsub("ga$", "gues")) end      if base:find("gua$") then return (base:gsub("gua$", "gües")) end      if base:find("a$") then return (base:gsub("a$", "es")) end         if base:find("à$") then return (base:gsub("à$", "ans")) end      if base:find("è$") then return (base:gsub("è$", "ens")) end      if base:find("é$") then return (base:gsub("é$", "ens")) end      if base:find("ò$") then return (base:gsub("ò$", "ons")) end      if base:find("ó$") then return (base:gsub("ó$", "ons")) end      if base:find("[gq]uí$") then return (base:gsub("í$", "ins")) end      if base:find("[aeiou]í$") then return (base:gsub("í$", "ïns")) end      if base:find("í$") then return (base:gsub("í$", "ins")) end      if base:find("ú$") then return (base:gsub("ú$", "uns")) end         if gender == "m" or gender == "mf" then          if base:find("às$") then return (base:gsub("às$", "asos")) end          if base:find("ès$") then return (base:gsub("ès$", "esos")) end          if base:find("és$") then return (base:gsub("és$", "esos")) end          if base:find("òs$") then return (base:gsub("òs$", "osos")) end          if base:find("ós$") then return (base:gsub("ós$", "osos")) end          if base:find("[gq]uís$") then return (base:gsub("ís$", "isos")) end          if base:find("[aeiou]ís$") then return (base:gsub("ís$", "ïsos")) end          if base:find("ís$") then return (base:gsub("ís$", "isos")) end          if base:find("ús$") then return (base:gsub("ús$", "usos")) end             if base:find("s$") or base:find("ç$") or base:find("x$") or base:find("z$") then return base .. "os" end          if base:find("sc$") or base:find("st$") or base:find("xt$") then return base .. "s", base .. "os" end      end         if gender == "f" then          if base:find("s$") then return base end          if base:find("sc$") or base:find("st$") or base:find("xt$") then return base .. "s", base .. "es" end      end         return base .. "s"  end     return export  

You are receiving this email because you subscribed to this feed at blogtrottr.com.

If you no longer wish to receive these emails, you can unsubscribe from this feed, or manage all your subscriptions