From 3699273e7c47237546ce175637291e5baea7cd9c Mon Sep 17 00:00:00 2001 From: "Mirar (Pontus Hagland)" <pike@sort.mirar.org> Date: Wed, 28 Jan 1998 07:20:12 +0100 Subject: [PATCH] namnsdagar... Rev: lib/modules/Calendar.pmod/Swedish.pmod:1.6 --- lib/modules/Calendar.pmod/Swedish.pmod | 192 +++++++++++++++++++++++++ 1 file changed, 192 insertions(+) diff --git a/lib/modules/Calendar.pmod/Swedish.pmod b/lib/modules/Calendar.pmod/Swedish.pmod index 5ba0fd0ceb..96e820c8b1 100644 --- a/lib/modules/Calendar.pmod/Swedish.pmod +++ b/lib/modules/Calendar.pmod/Swedish.pmod @@ -25,10 +25,202 @@ class Year { inherit Calendar.ISO.Year; + array(array(string)) _namedays; + mapping(string:int) _nameday_lookup; + string name() { if (this->number()<=0) return (string)(1-this->number())+" fk"; return (string)this->number(); } + + array(array(string)) namedays() + { + if (_namedays) return _namedays; + + array(array(string)) a; + + // insert test for year here + if (!(a=namedays_cache[this->leap()+" "+this->leap_day()])) + { + // insert test for year here + a=namedays_1993; + + if (this->leap()) + { + a=a[..this->leap_day()-1]+ + Array.map(allocate(this->leap()), + lambda(int x) { return ({}); })+ + a[this->leap_day()..]; + } + + namedays_cache[this->leap()+" "+this->leap_day()]=a; + } + + return _namedays=a; + } + + object nameday(string name) + { + if (!_nameday_lookup + && !(_nameday_lookup= + namedays_lookup_cache[this->leap()+" "+this->leap_day()])) + { + mapping m=([]); + int i; + foreach (this->namedays(),array a) + { + foreach (a,string name) m[lower_case(name)]=i; + i++; + } + _nameday_lookup = + namedays_lookup_cache[this->leap()+" "+this->leap_day()] = m; + } + + return this->day(_nameday_lookup[lower_case(name)]); + } } + +class Day +{ + inherit Calendar.ISO.Day; + + array(string) names() + { + return this->year()->namedays()[this->year_day()]; + } +} + +// --- namnsdagar, data ------------------------------------------------- + +mapping namedays_cache=([]); +mapping namedays_lookup_cache=([]); + +array(array(string)) namedays_1993= +({ ({ /* Nyårsdagen */ }), ({"Svea","Sverker"}), +({"Alfred","Alfrida"}), ({"Rut","Ritva"}), ({"Hanna","Hannele"}), +({"Baltsar","Kasper"}), ({"August","Augusta"}), ({"Erland","Erhard"}), +({"Gunnar","Gunder"}), ({"Sigurd","Sigmund"}), ({"Hugo","Hagar"}), +({"Frideborg","Fridolf"}), ({"Knut"}), ({"Felix","Felicia"}), +({"Laura","Liv"}), ({"Hjalmar","Hervor"}), ({"Anton","Tony"}), +({"Hilda","Hildur"}), ({"Henrik","Henry"}), ({"Fabian","Sebastian"}), +({"Agnes","Agneta"}), ({"Vincent","Veine"}), ({"Emilia","Emilie"}), +({"Erika","Eira"}), ({"Paul","Pål"}), ({"Bodil","Boel"}), +({"Göte","Göta"}), ({"Karl","Karla"}), ({"Valter","Vilma"}), +({"Gunhild","Gunilla"}), ({"Ivar","Joar"}), ({"Max","Magda"}), +({"Marja","Mia"}), ({"Disa","Hjördis"}), ({"Ansgar","Anselm"}), +({"Lisa","Elise"}), ({"Dorotea","Dora"}), ({"Rikard","Dick"}), +({"Berta","Berthold"}), ({"Fanny","Betty"}), ({"Egon","Egil"}), +({"Yngve","Ingolf"}), ({"Evelina","Evy"}), ({"Agne","Agnar"}), +({"Valentin","Tina"}), ({"Sigfrid","Sigbritt"}), ({"Julia","Jill"}), +({"Alexandra","Sandra"}), ({"Frida","Fritz"}), ({"Gabriella","Ella"}), +({"Rasmus","Ruben"}), ({"Hilding","Hulda"}), ({"Marina","Marlene"}), +({"Torsten","Torun"}), ({"Mattias","Mats"}), ({"Sigvard","Sivert"}), +({"Torgny","Torkel"}), ({"Lage","Laila"}), ({"Maria","Maja"}), +({"Albin","Inez"}), ({"Ernst","Erna"}), ({"Gunborg","Gunvor"}), +({"Adrian","Ada"}), ({"Tora","Tor"}), ({"Ebba","Ebbe"}), +({"Isidor","Doris"}), ({"Siv","Saga"}), ({"Torbjörn","Ambjörn"}), +({"Edla","Ethel"}), ({"Edvin","Elon"}), ({"Viktoria","Viktor"}), +({"Greger","Iris"}), ({"Matilda","Maud"}), ({"Kristofer","Christel"}), +({"Herbert","Gilbert"}), ({"Gertrud","Görel"}), ({"Edvard","Eddie"}), +({"Josef","Josefina"}), ({"Joakim","Kim"}), ({"Bengt","Benny"}), +({"Viking","Vilgot"}), ({"Gerda","Gerd"}), ({"Gabriel","Rafael"}), +({"Mary","Marion"}), ({"Emanuel","Manne"}), ({"Ralf","Raymond"}), +({"Elma","Elmer"}), ({"Jonas","Jens"}), ({"Holger","Reidar"}), +({"Ester","Estrid"}), ({"Harald","Halvar"}), ({"Gunnel","Gun"}), +({"Ferdinand","Florence"}), ({"Irene","Irja"}), ({"Nanna","Nanny"}), +({"Vilhelm","Willy"}), ({"Irma","Mimmi"}), ({"Vanja","Ronja"}), +({"Otto","Ottilia"}), ({"Ingvar","Ingvor"}), ({"Ulf","Ylva"}), +({"Julius","Gillis"}), ({"Artur","Douglas"}), ({"Tiburtius","Tim"}), +({"Olivia","Oliver"}), ({"Patrik","Patricia"}), ({"Elias","Elis"}), +({"Valdemar","Volmar"}), ({"Olaus","Ola"}), ({"Amalia","Amelie"}), +({"Annika","Anneli"}), ({"Allan","Alida"}), ({"Georg","Göran"}), +({"Vega","Viveka"}), ({"Markus","Mark"}), ({"Teresia","Terese"}), +({"Engelbrekt","Enok"}), ({"Ture Tyko"}), ({"Kennet","Kent"}), +({"Mariana","Marianne"}), ({"Valborg","Maj"}), ({"Filip","Filippa"}), +({"John","Jack"}), ({"Monika","Mona"}), ({"Vivianne","Vivan"}), +({"Marit","Rita"}), ({"Lilian","Lilly"}), ({"Åke","Ove"}), +({"Jonatan","Gideon"}), ({"Elvira","Elvy"}), ({"Märta","Märit"}), +({"Charlotta","Lotta"}), ({"Linnea","Nina"}), ({"Lillemor","Lill"}), +({"Sofia","Sonja"}), ({"Hilma","Hilmer"}), ({"Nore","Nora"}), +({"Erik","Jerker"}), ({"Majken","Majvor"}), ({"Karolina","Lina"}), +({"Konstantin","Conny"}), ({"Henning","Hemming"}), +({"Desiree","Renee"}), ({"Ivan","Yvonne"}), ({"Urban","Ursula"}), +({"Vilhelmina","Helmy"}), ({"Blenda","Beda"}), +({"Ingeborg","Borghild"}), ({"Jean","Jeanette"}), +({"Fritiof","Frej"}), ({"Isabella","Isa"}), ({"Rune","Runa"}), +({"Rutger","Roger"}), ({"Ingemar","Gudmar"}), +({"Solveig","Solbritt"}), ({"Bo","Boris"}), ({"Gustav","Gösta"}), +({"Robert","Robin"}), ({"Eivor","Elaine"}), ({"Petra","Petronella"}), +({"Kerstin","Karsten"}), ({"Bertil","Berit"}), ({"Eskil","Esbjörn"}), +({"Aina","Eila"}), ({"Håkan","Heidi"}), ({"Margit","Mait"}), +({"Axel","Axelina"}), ({"Torborg","Torvald"}), ({"Björn","Bjarne"}), +({"Germund","Jerry"}), ({"Linda","Linn"}), ({"Alf","Alva"}), +({"Paulina","Paula"}), ({"Adolf","Adela"}), ({"Johan","Jan"}), +({"David","Salomon"}), ({"Gunni","Jim"}), ({"Selma","Herta"}), +({"Leo","Leopold"}), ({"Petrus","Peter"}), ({"Elof","Leif"}), +({"Aron","Mirjam"}), ({"Rosa","Rosita"}), ({"Aurora","Adina"}), +({"Ulrika","Ulla"}), ({"Melker","Agaton"}), ({"Ronald","Ronny"}), +({"Klas","Kaj"}), ({"Kjell","Tjelvar"}), ({"Jörgen","Örjan"}), +({"Anund","Gunda"}), ({"Eleonora","Ellinor"}), ({"Herman","Hermine"}), +({"Joel","Judit"}), ({"Folke","Odd"}), ({"Ragnhild","Ragnvald"}), +({"Reinhold","Reine"}), ({"Alexis","Alice"}), ({"Fredrik","Fred"}), +({"Sara","Sally"}), ({"Margareta","Greta"}), ({"Johanna","Jane"}), +({"Magdalena","Madeleine"}), ({"Emma","Emmy"}), +({"Kristina","Stina"}), ({"Jakob","James"}), ({"Jesper","Jessika"}), +({"Marta","Moa"}), ({"Botvid","Seved"}), ({"Olof","Olle"}), +({"Algot","Margot"}), ({"Elin","Elna"}), ({"Per","Pernilla"}), +({"Karin","Kajsa"}), ({"Tage","Tanja"}), ({"Arne","Arnold"}), +({"Ulrik","Alrik"}), ({"Sixten","Sölve"}), ({"Dennis","Donald"}), +({"Silvia","Sylvia"}), ({"Roland","Roine"}), ({"Lars","Lorentz"}), +({"Susanna","Sanna"}), ({"Klara","Clary"}), ({"Hillevi","Gullvi"}), +({"William","Bill"}), ({"Stella","Stellan"}), ({"Brynolf","Sigyn"}), +({"Verner","Veronika"}), ({"Helena","Lena"}), ({"Magnus","Måns"}), +({"Bernhard","Bernt"}), ({"Jon","Jonna"}), ({"Henrietta","Henny"}), +({"Signe","Signhild"}), ({"Bartolomeus","Bert"}), +({"Lovisa","Louise"}), ({"Östen","Ejvind"}), ({"Rolf","Rudolf"}), +({"Gurli","Gull"}), ({"Hans","Hampus"}), ({"Albert","Albertina"}), +({"Arvid","Vidar"}), ({"Samuel","Sam"}), ({"Justus","Justina"}), +({"Alfhild","Alfons"}), ({"Gisela","Glenn"}), ({"Harry","Harriet"}), +({"Sakarias","Esaias"}), ({"Regina","Roy"}), ({"Alma","Ally"}), +({"Anita","Anja"}), ({"Tord","Tove"}), ({"Dagny","Daniela"}), +({"Tyra","Åsa"}), ({"Sture","Styrbjörn"}), ({"Ida","Ellida"}), +({"Sigrid","Siri"}), ({"Dag","Daga"}), ({"Hildegard","Magnhild"}), +({"Alvar","Orvar"}), ({"Fredrika","Carita"}), ({"Agda","Agata"}), +({"Ellen","Elly"}), ({"Maurits","Morgan"}), ({"Tekla","Tea"}), +({"Gerhard","Gert"}), ({"Kåre","Tryggve"}), ({"Einar","Enar"}), +({"Dagmar","Rigmor"}), ({"Lennart","Leonard"}), +({"Mikael","Mikaela"}), ({"Helge","Helny"}), ({"Ragnar","Ragna"}), +({"Ludvig","Louis"}), ({"Evald","Osvald"}), ({"Frans","Frank"}), +({"Bror","Bruno"}), ({"Jenny","Jennifer"}), ({"Birgitta","Britta"}), +({"Nils","Nelly"}), ({"Ingrid","Inger"}), ({"Helmer","Hadar"}), +({"Erling","Jarl"}), ({"Valfrid","Ernfrid"}), ({"Birgit","Britt"}), +({"Manfred","Helfrid"}), ({"Hedvig","Hedda"}), ({"Fingal","Finn"}), +({"Antonia","Annette"}), ({"Lukas","Matteus"}), ({"Tore","Torleif"}), +({"Sibylla","Camilla"}), ({"Birger","Börje"}), ({"Marika","Marita"}), +({"Sören","Severin"}), ({"Evert","Eilert"}), ({"Inga","Ingvald"}), +({"Amanda","My"}), ({"Sabina","Ina"}), ({"Simon","Simone"}), +({"Viola","Vivi"}), ({"Elsa","Elsie"}), ({"Edit","Edgar"}), +({"Andre","Andrea"}), ({"Tobias","Toini"}), ({"Hubert","Diana"}), +({"Uno","Unn"}), ({"Eugen","Eugenia"}), ({"Gustav Adolf"}), +({"Ingegerd","Ingela"}), ({"Vendela","Vanda"}), ({"Teodor","Ted"}), +({"Martin","Martina"}), ({"Mårten"}), ({"Konrad","Kurt"}), +({"Kristian","Krister"}), ({"Emil","Mildred"}), ({"Katja","Nadja"}), +({"Edmund","Gudmund"}), ({"Naemi","Nancy"}), ({"Pierre","Percy"}), +({"Elisabet","Lisbeth"}), ({"Pontus","Pia"}), ({"Helga","Olga"}), +({"Cecilia","Cornelia"}), ({"Klemens","Clarence"}), +({"Gudrun","Runar"}), ({"Katarina","Carina"}), ({"Linus","Love"}), +({"Astrid","Asta"}), ({"Malte","Malkolm"}), ({"Sune","Synnöve"}), +({"Anders","Andreas"}), ({"Oskar","Ossian"}), ({"Beata","Beatrice"}), +({"Lydia","Carola"}), ({"Barbro","Barbara"}), ({"Sven","Svante"}), +({"Nikolaus","Niklas"}), ({"Angelika","Angela"}), +({"Virginia","Vera"}), ({"Anna","Annie"}), ({"Malin","Malena"}), +({"Daniel","Dan"}), ({"Alexander","Alex"}), ({"Lucia"}), +({"Sten","Stig"}), ({"Gottfrid","Gotthard"}), ({"Assar","Astor"}), +({"Inge","Ingemund"}), ({"Abraham","Efraim"}), ({"Isak","Rebecka"}), +({"Israel","Moses"}), ({"Tomas","Tom"}), ({"Natanael","Natalia"}), +({"Adam"}), ({"Eva"}), ({ /* Juldagen */ }), ({"Stefan","Staffan"}), +({"Johannes","Hannes"}), ({"Rakel","Benjamin"}), ({"Abel","Set"}), +({"Gunlög","Åslög"}), ({"Sylvester"}) }); + -- GitLab