[[boa#Finnish|boa]]

Fragment of a discussion from User talk:Rua

I guess I have a working solution, albeit a bit patch-like. I think you should rewrite the lines 180 to 193 in the nominals module such that they are only applied to those declension classes in which the i>j -change actually takes place. That would mean the classes kala, katiska, laatikko, nalle, palvelu, paperi, risti, solakka and valo. In other classes (koira in the case of "boa") there's never such change. I mean these lines:

if not stems["par_pl"] and stems["pl"] then stems["par_pl"] = {}

for _, stem in ipairs(stems["pl"]) do -- If the plural stem ends in a vowel + i, then replace the i with j if mw.ustring.find(stem, "[aeiouyäö]i$") then require("Module:debug").track("fi-nominals/i-j") table.insert(stems["par_pl"], (mw.ustring.gsub(stem, "i$", "j"))) else table.insert(stems["par_pl"], stem) end end end

Hekaheka (talk)13:44, 14 September 2016

The function that generates these stems doesn't have any idea what the declension class is, though. It applies "universal" rules. If the declension class specifies the partitive plural stem itself, it gets used as-is, otherwise it's generated based on the code you posted, using the general plural stem as the base.

In this case, the rule is not universal, so the part that replaces i with j has to be removed and put in the individual classes instead.

CodeCat14:23, 14 September 2016
 

I've now made this change: diff. Essentially, the code that generated the partitive plural stem by changing i to j was removed from the "universal" part, and three rules for individual classes were added to compensate. Let me know if this fixes it.

CodeCat14:28, 14 September 2016

It seems to fix the partitive plural, but now I realise that there's similar problem with illative plural. It becomes "biotin" but it should be "boiin".

Hekaheka (talk)17:05, 14 September 2016

That's just bizarre. Where is it getting the t from??

What code are you writing to make the table? I can investigate it further then.

CodeCat17:07, 14 September 2016

Sorry, it's a typo, or rather proofreader-generated error. I wanted to write "boihin". I believe the "h" is generated by the lines following those which generate the "j".

Hekaheka (talk)18:09, 14 September 2016

To be more exact, it seems to be the line 202 through 214: if not stems["ill_pl"] and stems["pl"] then stems["ill_pl"] = {}

for _, stem in ipairs(stems["pl"]) do -- If the stem ends in a long vowel or diphthong, then add -h if mw.ustring.find(stem, "([aeiouyäö])%1$") or mw.ustring.find(stem, "[aeiouyäö][iyü]$") then require("Module:debug").track("fi-nominals/h") table.insert(stems["ill_pl"], stem .. "h") else table.insert(stems["ill_pl"], stem) end end end

Hekaheka (talk)04:30, 15 September 2016
 
 
 

Oh no, the change made things worse. Originally there were only two affected words AFAIK: boa and Nooa, plus their compounds of course. Now the whole "risti"-category goes wrong: partitive plural becomes "risteiä". I suggest you revert the edit and figure out a better solution.

Hekaheka (talk)04:59, 15 September 2016

Fixed.

CodeCat12:46, 15 September 2016

Thanks. The illative plural problem still remains. It is similar in nature, but the affected declension categories are not the same, see the table a little bit up this discussion chain.

Hekaheka (talk)07:07, 16 September 2016

Except that I just noticed an omission in the table. The words in "kevät" -category have a rare illative plural form "keväihin". I need to check if there are other cases like that.

Hekaheka (talk)07:10, 16 September 2016

I fixed the illative plural issue I hope, using the same method as before. I think you made a mistake with "mies" though, there's no extra -h- in the illative plural, the -h- that's there is just the noun stem.

CodeCat11:44, 16 September 2016

Also "valtio" was missing from my illative plurals list and becomes "valtioiin". Otherwise it seems to work fine now.

Hekaheka (talk)16:54, 16 September 2016

It should be valtioihin right?

CodeCat17:02, 16 September 2016

Yep.

Hekaheka (talk)17:04, 16 September 2016