diff --git a/src/zulu/ResZul.gf b/src/zulu/ResZul.gf index 8b33454e..3114117b 100755 --- a/src/zulu/ResZul.gf +++ b/src/zulu/ResZul.gf @@ -57,6 +57,7 @@ resource ResZul = open Prelude,Predef,ParamX in { #nasal_m+x => "m"+r ; #nasal_ng+x => "ng"+r ; #nasal+x => r ; + "p"+x => "mp" + x ; _ => "n"+r } ; -------------- @@ -908,8 +909,14 @@ resource ResZul = open Prelude,Predef,ParamX in { } ; => "e"+(prefix_nasal root) ; -- em for labial, en for alveolar (TODO: does this correctly split options?) => "ezi"+(prefix_nasal root) ; -- izim for labial, izin for alveolar (TODO: does this correctly split options?) - => "o"+root ; - => "ezi"+(prefix_nasal root) ; -- izim for labial, izin for alveolar, izi(n|m)k for roots starting with kh + => case root of { + (#vowel+_ | "w"+_) => "ol"+root ; + _ => "o"+root + } ; + => case root of { + (#vowel+_ | "w"+_) => "ezil" + root ; + _ => "ezi"+(prefix_nasal root) + } ; -- izim for labial, izin for alveolar, izi(n|m)k for roots starting with kh => "e"+(prefix_nasal root) ; -- em for labial, en for alveolar (TODO: does this correctly split options?) => case root of { "i"+_ => "eme"+root ; @@ -940,6 +947,8 @@ resource ResZul = open Prelude,Predef,ParamX in { _+"mu" => (tk 2 root) + "nyini" ; _+("a"|"e") => (init root)+"eni" ; _+"i" => (init root)+"ini" ; + _+"wu" => (init root)+"ini" ; + _+"wo" => (init root)+"eni" ; _+"o" => (init root)+"weni" ; _+"u" => (init root)+"wini" ; _ => (init root)+"ini" @@ -981,9 +990,13 @@ resource ResZul = open Prelude,Predef,ParamX in { _ => "umu"+root } ; -- umu for single syllables, um for the rest => "imi"+root ; - => "i"+root ; -- ili long form (not used?) + => case root of { + #vowel+_ => "il"+root ; + _ => "i"+root -- ili long form (not used?) + } ; => case root of { "i"+_ => "ame"+root ; + #vowel+_ => "am"+root ; _ => "ama"+root } ; -- ame for roots starting with i => case root of { @@ -996,8 +1009,14 @@ resource ResZul = open Prelude,Predef,ParamX in { } ; => "i" + prefix_nasal root ; => "izi" + prefix_nasal root ; - => "u"+root ; - => "izi" + prefix_nasal root ; + => case root of { + (#vowel+_ | "w"+_) => "ul"+root ; + _ => "u"+root + } ; + => case root of { + (#vowel+_ | "w"+_) => "izil"+root ; + _ => "izi" + prefix_nasal root + } ; => "i" + prefix_nasal root ; => case root of { "i"+_ => "ame"+root ; @@ -1031,9 +1050,13 @@ resource ResZul = open Prelude,Predef,ParamX in { _ => "em"+(addLocSuffix root) } ; => "emi"+(addLocSuffix root) ; - => "e"+(addLocSuffix root) ; -- ili long form (not used?) + => case root of { + #vowel+_ => "el"+(addLocSuffix root) ; + _ => "e"+(addLocSuffix root) -- ili long form (not used?) + } ; => case root of { "i"+_ => "eme"+(addLocSuffix root) ; + #vowel+_ => "em"+(addLocSuffix root) ; _ => "ema"+(addLocSuffix root) } ; -- ame for roots starting with i => case root of { @@ -1046,8 +1069,14 @@ resource ResZul = open Prelude,Predef,ParamX in { } ; => "e"+(addLocSuffix (prefix_nasal root)) ; -- em for labial, en for alveolar (TODO: does this correctly split options?) => "ezi"+(addLocSuffix (prefix_nasal root)) ; -- izim for labial, izin for alveolar (TODO: does this correctly split options?) - => "o"+(addLocSuffix root) ; - => "ezi"+(addLocSuffix (prefix_nasal root)) ; -- izim for labial, izin for alveolar, izi(n|m)k for roots starting with kh + => case root of { + (#vowel+_ | "w"+_) => "ol"+(addLocSuffix root) ; + _ => "o"+(addLocSuffix root) + } ; + => case root of { + (#vowel+_ | "w"+_) => "ezil"+(addLocSuffix root) ; + _ => "ezi"+(addLocSuffix (prefix_nasal root)) -- izim for labial, izin for alveolar, izi(n|m)k for roots starting with kh + } ; => "e"+(addLocSuffix (prefix_nasal root)) ; -- em for labial, en for alveolar (TODO: does this correctly split options?) => case root of { "i"+_ => "eme"+(addLocSuffix root) ; diff --git a/src/zulu/lexica/MultiLexZul.gf b/src/zulu/lexica/MultiLexZul.gf index 3e929bc1..553f7944 100644 --- a/src/zulu/lexica/MultiLexZul.gf +++ b/src/zulu/lexica/MultiLexZul.gf @@ -131,7 +131,7 @@ concrete MultiLexZul of MultiLex = CatZul ** open ResZul,ParadigmsZul in { chair_N = mkN "hlalo" C7_8 ; chairman_N = mkN "sihlalo" C1a_2a ; chauffeur_N = mkN "shayeli" C1_2 ; - cheese_N = mkN "shizi" C11_10 ; + cheese_N = mkN "shizi" C1a_2a ; cheetah_N = mkN "gulule" C9_10 ; chest_N = mkN "fuba" C7_8 ; chicken_N = mkN "nkukhu" C9_10 ; @@ -192,7 +192,7 @@ concrete MultiLexZul of MultiLex = CatZul ** open ResZul,ParadigmsZul in { electricity_N = mkN "gesi" C1a_2a ; employee_N = mkN "sebenzi" C7_8 ; employer_N = mkN "qashi" C1_2 ; - eye_N = mkN "ihlo" C5_6 ; + eye_N = mkN "hlo" C5_6 ; face_N = mkN "so" C14 ; family_N = mkN "ndeni" C3_4 ; farmer_N = mkN "limi" C1_2 ; @@ -479,7 +479,7 @@ concrete MultiLexZul of MultiLex = CatZul ** open ResZul,ParadigmsZul in { supper_N = mkN "dlakusihlwa" C9_10 ; surname_N = mkN "bongo" C7_8 ; sweater_N = mkN "jezi" C5_6 ; - sweet_N = mkN "Swidi" C5_6 ; + sweet_N = mkN "swidi" C5_6 ; sympathy_N = mkN "hawu" C7_8 ; table_N = mkN "tafula" C5_6 ; tablet_N = mkN "philisi" C5_6 ; @@ -549,7 +549,7 @@ concrete MultiLexZul of MultiLex = CatZul ** open ResZul,ParadigmsZul in { word_N = mkN "gama" C5_6 ; work_N = mkN "sebenzi" C3_4 ; world_N = mkN "hlaba" C3_4 ; - year_N = mkN "nyaka" C11_10 ; + year_N = mkN "nyaka" C3_4 ; youth_N = mkN "tsha" C9_10 ; zebra_N = mkN "dube" C5_6 ;