(Bul) Change encodings from CP1251 to UTF8 (#343)

This commit is contained in:
John J. Camilleri
2020-06-17 09:17:56 +02:00
committed by GitHub
parent 71782b8e04
commit e199fbbb0c
24 changed files with 1911 additions and 1909 deletions
+45 -45
View File
@@ -1,6 +1,6 @@
--# -coding=cp1251
--# -coding=utf8
concrete NumeralBul of Numeral = CatBul [Numeral,Digits] ** open Prelude, ResBul in {
flags coding=cp1251 ;
flags coding=utf8 ;
lincat
@@ -11,43 +11,43 @@ lincat
Sub1000000 = {s : CardOrd => NumF => Str; n : Number} ;
lin num x = {s = \\c => x.s ! c ! Formal; n=x.n} ;
lin n2 = mkDigit "äâà" "äâàìà" "äâå" "âòîðè" "äâàéñåò" "äâåñòà" "äâåñòàòà" ;
lin n3 = mkDigit "òðè" "òðèìà" "òðè" "òðåòè" "òðèéñåò" "òðèñòà" "òðèñòàòà" ;
lin n4 = mkDigit "÷åòèðè" "÷åòèðèìà" "÷åòèðè" "÷åòâúðòè" "÷åòèðèéñåò" "÷åòèðèñòîòèí" "÷åòèðèñòîòèíòå" ;
lin n5 = mkDigit "ïåò" "ïåòèìà" "ïåò" "ïåòè" "ïåòäåñåò" "ïåòñòîòèí" "ïåòñòîòèíòå" ;
lin n6 = mkDigit "øåñò" "øåñòèìà" "øåñò" "øåñòè" "øåéñåò" "øåñòñòîòèí" "øåñòñòîòèíòå" ;
lin n7 = mkDigit "ñåäåì" "ñåäìèíà" "ñåäåì" "ñåäìè" "ñåäåìäåñåò" "ñåäåìñòîòèí" "ñåäåìñòîòèíòå" ;
lin n8 = mkDigit "îñåì" "îñìèíà" "îñåì" "îñìè" "îñåìäåñåò" "îñåìñòîòèí" "îñåìñòîòèíòå" ;
lin n9 = mkDigit "äåâåò" "äåâåòèìà" "äåâåò" "äåâåòè" "äåâåòäåñåò" "äåâåòñòîòèí" "äåâåòñòîòèíòå" ;
lin n2 = mkDigit "два" "двама" "две" "втори" "двайсет" "двеста" "двестата" ;
lin n3 = mkDigit "три" "трима" "три" "трети" "трийсет" "триста" "тристата" ;
lin n4 = mkDigit "четири" "четирима" "четири" "четвърти" "четирийсет" "четиристотин" "четиристотинте" ;
lin n5 = mkDigit "пет" "петима" "пет" "пети" "петдесет" "петстотин" "петстотинте" ;
lin n6 = mkDigit "шест" "шестима" "шест" "шести" "шейсет" "шестстотин" "шестстотинте" ;
lin n7 = mkDigit "седем" "седмина" "седем" "седми" "седемдесет" "седемстотин" "седемстотинте" ;
lin n8 = mkDigit "осем" "осмина" "осем" "осми" "осемдесет" "осемстотин" "осемстотинте" ;
lin n9 = mkDigit "девет" "деветима" "девет" "девети" "деветдесет" "деветстотин" "деветстотинте" ;
lin pot01 =
{s = table {
unit => table {
NCard (CFMasc Indef _) => "åäèí" ;
NCard (CFMasc Def _) => "åäèíèÿ" ;
NCard (CFMascDefNom _) => "åäèíèÿò" ;
NCard (CFFem Indef) => "åäíà" ;
NCard (CFFem Def) => "åäíàòà" ;
NCard (CFNeut Indef) => "åäíî" ;
NCard (CFNeut Def) => "åäíîòî" ;
NCard (CFMasc Indef _) => "един" ;
NCard (CFMasc Def _) => "единия" ;
NCard (CFMascDefNom _) => "единият" ;
NCard (CFFem Indef) => "една" ;
NCard (CFFem Def) => "едната" ;
NCard (CFNeut Indef) => "едно" ;
NCard (CFNeut Def) => "едното" ;
NOrd aform => case aform of {
ASg Masc Indef => "ïúðâè" ;
ASg Masc Def => "ïúðâèÿ" ;
ASgMascDefNom => "ïúðâèÿò" ;
ASg Fem Indef => "ïúðâà" ;
ASg Fem Def => "ïúðâàòà" ;
ASg Neut Indef => "ïúðâî" ;
ASg Neut Def => "ïúðâîòî" ;
APl Indef => "ïúðâè" ;
APl Def => "ïúðâèòå"
ASg Masc Indef => "първи" ;
ASg Masc Def => "първия" ;
ASgMascDefNom => "първият" ;
ASg Fem Indef => "първа" ;
ASg Fem Def => "първата" ;
ASg Neut Indef => "първо" ;
ASg Neut Def => "първото" ;
APl Indef => "първи" ;
APl Def => "първите"
}
} ;
teen nf => case nf of {
Formal => mkCardOrd "åäèíàäåñåò" "åäèíàäåñåòèìà" "åäèíàäåñåò" "åäèíàäåñåòè" ;
Informal => mkCardOrd "åäèíàéñåò" "åäèíàéñåò" "åäèíàéñåò" "åäèíàéñòè"
Formal => mkCardOrd "единадесет" "единадесетима" "единадесет" "единадесети" ;
Informal => mkCardOrd "единайсет" "единайсет" "единайсет" "единайсти"
} ;
ten nf => mkCardOrd "äåñåò" "äåñåòèìà" "äåñåò" "äåñåòè" ;
hundred => mkCardOrd100 "ñòî" "ñòîòå" "ñòîòåí"
ten nf => mkCardOrd "десет" "десетима" "десет" "десети" ;
hundred => mkCardOrd100 "сто" "стоте" "стотен"
}
;n = Sg
} ;
@@ -59,12 +59,12 @@ lin pot1to19 d = {s = \\c,nf => d.s ! teen nf ! c; n = Pl; i = True} ;
lin pot0as1 n = {s = \\c,nf => n.s ! unit ! c; n = n.n; i = True} ;
lin pot1 d = {s = \\c,nf => d.s ! ten nf ! c; n = Pl; i = True} ;
lin pot1plus d e = {
s = \\c,nf => d.s ! ten nf ! NCard (CFMasc Indef NonHuman) ++ "è" ++ e.s ! unit ! c ; n = Pl; i = False} ;
s = \\c,nf => d.s ! ten nf ! NCard (CFMasc Indef NonHuman) ++ "и" ++ e.s ! unit ! c ; n = Pl; i = False} ;
lin pot1as2 n = n ;
lin pot2 n = {s = \\c,nf => n.s ! hundred ! c; n = Pl; i = True} ;
lin pot2plus d e = {
s = \\c,nf => d.s ! hundred ! NCard (CFMasc Indef NonHuman) ++ case e.i of {False => []; True => "è"} ++ e.s ! c ! nf ;
s = \\c,nf => d.s ! hundred ! NCard (CFMasc Indef NonHuman) ++ case e.i of {False => []; True => "и"} ++ e.s ! c ! nf ;
n = Pl ;
i = False
} ;
@@ -72,17 +72,17 @@ lin pot2plus d e = {
lin pot2as3 n = n ;
lin pot3 n = {
s = \\c,nf => case n.n of {
Sg => mkCardOrd100 "õèëÿäà" "õèëÿäàòà" "õèëÿäåí" ! c ;
Pl => n.s ! NCard (CFFem Indef) ! nf ++ mkCardOrd100 "õèëÿäè" "õèëÿäèòå" "õèëÿäåí" ! c
Sg => mkCardOrd100 "хиляда" "хилядата" "хиляден" ! c ;
Pl => n.s ! NCard (CFFem Indef) ! nf ++ mkCardOrd100 "хиляди" "хилядите" "хиляден" ! c
} ;
n = Pl
} ;
lin pot3plus n m = {
s = \\c,nf => case n.n of {
Sg => mkCardOrd100 "õèëÿäà" "õèëÿäàòà" "õèëÿäåí" ! NCard (CFMasc Indef NonHuman) ;
Pl => n.s ! NCard (CFFem Indef) ! nf ++ mkCardOrd100 "õèëÿäè" "õèëÿäèòå" "õèëÿäåí" ! NCard (CFMasc Indef NonHuman)
Sg => mkCardOrd100 "хиляда" "хилядата" "хиляден" ! NCard (CFMasc Indef NonHuman) ;
Pl => n.s ! NCard (CFFem Indef) ! nf ++ mkCardOrd100 "хиляди" "хилядите" "хиляден" ! NCard (CFMasc Indef NonHuman)
}
++ case m.i of {False => []; True => "è"} ++ m.s ! c ! nf ;
++ case m.i of {False => []; True => "и"} ++ m.s ! c ! nf ;
n = Pl
} ;
@@ -101,16 +101,16 @@ lin pot3plus n m = {
tail = inc i.tail
} ;
D_0 = mk3Dig "0" "0" "0åâ" Pl ;
D_1 = mk3Dig "1" "1" "1âè" Sg ;
D_2 = mk2Dig "2" "2ðè" ;
D_0 = mk3Dig "0" "0" "0ев" Pl ;
D_1 = mk3Dig "1" "1" "1ви" Sg ;
D_2 = mk2Dig "2" "2ри" ;
D_3 = mkDig "3" ;
D_4 = mkDig "4" ;
D_5 = mkDig "5" ;
D_6 = mkDig "6" ;
D_7 = mk3Dig "7" "7íà" "7ìè" Pl ;
D_8 = mk3Dig "8" "8íà" "8ìè" Pl ;
D_9 = mk3Dig "9" "9èìà" "9òè" Pl ;
D_7 = mk3Dig "7" "7на" "7ми" Pl ;
D_8 = mk3Dig "8" "8на" "8ми" Pl ;
D_9 = mk3Dig "9" "9има" "9ти" Pl ;
oper
spaceIf : DTail -> Str = \t -> case t of {
@@ -124,8 +124,8 @@ lin pot3plus n m = {
T3 => T1
} ;
mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c (c+"ìà") o Pl ;
mkDig : Str -> TDigit = \c -> mk2Dig c (c + "òè") ;
mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c (c+"ма") o Pl ;
mkDig : Str -> TDigit = \c -> mk2Dig c (c + "ти") ;
mk3Dig : Str -> Str -> Str -> Number -> TDigit = \c1,c2,o,n -> {
s = mkCardOrd c1 c2 c1 o ;