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, 00:42

Line 98: Line 98:
 

--elseif not PAGENAME:find(" ") then

 

--elseif not PAGENAME:find(" ") then

 

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

 

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

elseif PAGENAME:find("ig$") then

 

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

 
 

elseif p == plural then

 

elseif p == plural then

  +

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

  +

end

  +
  +

if PAGENAME:find("ig$") 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) .. "]]" .. categories      ret = "<strong class=\"headword\" lang=\"ca\">" .. (args["head"] or PAGENAME) .. "</strong>" .. ret         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]]"          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]]"      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]]"          else              -- A funny little trick. make_plural can return either one or two              -- values. If it returns two, the second will be assigned to p2.              -- But if only one, the empty string placed after will be used.              local p, p2 = make_plural(PAGENAME, gender)                 --if PAGENAME:find("ús$") and plural == p then              --    categories = categories .. "[[Category:CodeCat's test category]]"              --elseif PAGENAME:find("ús$") and plural ~= p then              --    categories = categories .. "[[Category:CodeCat's test category2]]"              --end                 if plural == "" then                  plural = p              --elseif not PAGENAME:find(" ") then                  --categories = categories .. "[[Category:CodeCat's test category]]"              elseif p == plural then                  categories = categories .. "[[Category:CodeCat's test category]]"              end                 if PAGENAME:find("ig$") then                  categories = categories .. "[[Category:CodeCat's test category]]"              end                 local plural2 = args["pl2"] or ""                 if plural2 == "" then                  plural2 = p2 or ""              elseif p2 == plural2 then                  categories = categories .. "[[Category:CodeCat's test category]]"              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("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         if base:find("x$") then return base .. "os" 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