Here are ways to localize CalendarMode to display day names, month names and holidays.
As of GnuEmacs 23 the following code will make CalendarMode use the European style of dates in the diary and display:
(add-hook 'calendar-load-hook
(lambda ()
(calendar-set-date-style 'european)))In previous versions of GnuEmacs of the following incantations were necessary:
(european-calendar)
or
(setq european-calendar-style 't)
Unfortunately, if you use the long day names, their 2-letter abbreviation will always be “di” :-)
(setq
calendar-week-start-day 1
;; calendar-day-name-array ["diumenge" "dilluns" "dimarts" "dimecres" "dijous" "divendres" "dissabte"]
calendar-day-name-array ["dg" "dll" "dm" "dx" "dj" "dv" "ds"]
calendar-month-name-array ["gener" "febrer" "març" "abril" "maig" "juny" "juliol" "agost" "setembre" "octubre" "novembre" "desembre"]
)Here is how to display the ‘celestial-stem’ (天干) and the ‘terrestrial-branch’ (地支) in Chinese:
(setq chinese-calendar-celestial-stem
["甲" "乙" "丙" "丁" "戊" "己" "庚" "辛" "壬" "癸"]
chinese-calendar-terrestrial-branch
["子" "丑" "寅" "卯" "辰" "巳" "午" "未" "申" "酉" "戌" "亥"]) (setq calendar-week-start-day 1
calendar-day-name-array
["zondag" "maandag" "dinsdag" "woensdag"
"donderdag" "vrijdag" "zaterdag"]
calendar-month-name-array
["januari" "februari" "maart" "april" "mei"
"juni" "juli" "augustus" "september"
"oktober" "november" "december"]) (setq calendar-week-start-day 1
calendar-day-name-array
["sunnuntai" "maanantai" "tiistai" "keskiviikko"
"torstai" "perjantai" "lauantai"]
calendar-month-name-array
["tammikuu" "helmikuu" "maaliskuu" "huhtikuu" "toukokuu"
"kesäkuu" "heinäkuu" "elokuu" "syyskuu"
"lokakuu" "marraskuu" "joulukuu"]) (setq calendar-week-start-day 1
calendar-day-name-array ["Dimanche" "Lundi" "Mardi" "Mercredi"
"Jeudi" "Vendredi" "Samedi"]
calendar-month-name-array ["Janvier" "Février" "Mars" "Avril" "Mai"
"Juin" "Juillet" "Août" "Septembre"
"Octobre" "Novembre" "Décembre"])First, we know that the week starts with Monday, and we need German weekday and month names.
(setq calendar-week-start-day 1
calendar-day-name-array ["Sonntag" "Montag" "Dienstag" "Mittwoch"
"Donnerstag" "Freitag" "Samstag"]
calendar-month-name-array ["Januar" "Februar" "März" "April" "Mai"
"Juni" "Juli" "August" "September"
"Oktober" "November" "Dezember"]) (setq calendar-week-start-day 1
calendar-day-name-array
["vasárnap" "hétfő" "kedd" "szerda"
"csütörtök" "péntek" "szombat"]
calendar-month-name-array
["Január" "Február" "Március" "Április" "Május" "Június"
"Július" "Augusztus" "Szeptember" "Október" "November" "December"]) (setq calendar-week-start-day 1
calendar-day-name-array ["Domenica" "Lunedì" "Martedì" "Mercoledì"
"Giovedì" "Venerdì" "Sabato"]
calendar-month-name-array ["Gennaio" "Febbraio" "Marzo" "Aprile" "Maggio"
"Giugno" "Luglio" "Agosto" "Settembre"
"Ottobre" "Novembre" "Dicembre"]) (setq calendar-week-start-day 0
calendar-day-name-array ["Domingo" "Segunda" "Terça" "Quarta"
"Quinta" "Sexta" "Sábado"]
calendar-month-name-array ["Janeiro" "Fevereiro" "Março" "Abril"
"Maio" "Junho" "Julho" "Agosto"
"Setembro" "Outubro" "Novembro" "Dezembro"]) (setq calendar-week-start-day 1
calendar-day-name-array ["Вс" "Пн" "Вт" "Ср" "Чт" "Пт" "Сб"]
calendar-month-name-array ["Январь" "Февраль" "Март" "Апрель" "Май"
"Июнь" "Июль" "Август" "Сентябрь"
"Октябрь" "Ноябрь" "Декабрь"])Week starts with Monday, use also spanish weekday and month names. Editor specially dislikes Jueves. :)
(setq calendar-week-start-day 1
calendar-day-name-array ["Domingo" "Lunes" "Martes" "Miércoles"
"Jueves" "Viernes" "Sábado"]
calendar-month-name-array ["Enero" "Febrero" "Marzo" "Abril" "Mayo"
"Junio" "Julio" "Agosto" "Septiembre"
"Octubre" "Noviembre" "Diciembre"])See sv-kalender.el
Localized, national holidays, lunar/solar term based holidays, highlight holidays based on priority, show horoscope/zodiac info, etc. See cal-china-x.el.
Modified version of the above using traditional Chinese characters (plus some nit picks): cal-china-x.el
There is a package, cal-korea-x that support Korean lunar calendar, and display names for months. See cal-korea-x.
See Soren’s page on Github
(setq solar-n-hemi-seasons
'("Frühlingsanfang" "Sommeranfang" "Herbstanfang" "Winteranfang"))
(setq holiday-general-holidays
'((holiday-fixed 1 1 "Neujahr")
(holiday-fixed 5 1 "1. Mai")
(holiday-fixed 10 3 "Tag der Deutschen Einheit")))
;; Feiertage für Bayern, weitere auskommentiert
(setq holiday-christian-holidays
'((holiday-float 12 0 -4 "1. Advent" 24)
(holiday-float 12 0 -3 "2. Advent" 24)
(holiday-float 12 0 -2 "3. Advent" 24)
(holiday-float 12 0 -1 "4. Advent" 24)
(holiday-fixed 12 25 "1. Weihnachtstag")
(holiday-fixed 12 26 "2. Weihnachtstag")
(holiday-fixed 1 6 "Heilige Drei Könige")
(holiday-easter-etc -48 "Rosenmontag")
;; (holiday-easter-etc -3 "Gründonnerstag")
(holiday-easter-etc -2 "Karfreitag")
(holiday-easter-etc 0 "Ostersonntag")
(holiday-easter-etc +1 "Ostermontag")
(holiday-easter-etc +39 "Christi Himmelfahrt")
(holiday-easter-etc +49 "Pfingstsonntag")
(holiday-easter-etc +50 "Pfingstmontag")
(holiday-easter-etc +60 "Fronleichnam")
(holiday-fixed 8 15 "Mariae Himmelfahrt")
(holiday-fixed 11 1 "Allerheiligen")
;; (holiday-float 11 3 1 "Buss- und Bettag" 16)
(holiday-float 11 0 1 "Totensonntag" 20)))
To add a few key Irish public holidays:
(setq holiday-irish-holidays
'((holiday-float 5 1 1 "May Day")
(holiday-float 6 1 1 "June Bank Holiday")
(holiday-float 8 1 1 "August Bank Holiday")
(holiday-float 10 1 -1 "October Bank Holiday")
(holiday-fixed 12 26 "St. Stephen's Day")))
See japanese-holidays.el.
Here is my calendar configuration. – rubikitch
(require 'calendar)
(setq number-of-diary-entries 31)
(define-key calendar-mode-map "f" 'calendar-forward-day)
(define-key calendar-mode-map "n" 'calendar-forward-day)
(define-key calendar-mode-map "b" 'calendar-backward-day)
(setq mark-holidays-in-calendar t)
;; (install-elisp "http://www.meadowy.org/meadow/netinstall/export/799/branches/3.00/pkginfo/japanese-holidays/japanese-holidays.el")
(require 'japanese-holidays)
(setq calendar-holidays
(append japanese-holidays local-holidays other-holidays))
(setq calendar-weekend-marker 'diary)
(add-hook 'today-visible-calendar-hook 'calendar-mark-weekend)
(add-hook 'today-invisible-calendar-hook 'calendar-mark-weekend)
;; Holidays
; Swiss national holidays
(setq holiday-other-holidays
'((holiday-fixed 1 1 "Neujahr")
(holiday-fixed 1 2 "Berchtoldstag")
(holiday-easter-etc -2 "Karfreitag")
(holiday-easter-etc 1 "Ostermontag")
(holiday-easter-etc 39 "Auffahrt")
(holiday-easter-etc 50 "Pfingstmontag")
(holiday-fixed 5 1 "Tag der Arbeit")
(holiday-fixed 8 1 "Nationalfeiertag")
(holiday-fixed 12 25 "Weihnachten")
(holiday-fixed 12 26 "Stephanstag")))
;; Dutch holidays (Nederlandse feestdagen)
;; Because there are dupicates with holiday-general-holidays and lists,
;; I disable almost all other holiday lists.
(setq holiday-other-holidays
'((holiday-fixed 1 1 "Nieuwjaarsdag")
(holiday-fixed 1 6 "Driekoningen")
(holiday-fixed 2 14 "Valentijnsdag")
;; (holiday-fixed 4 1 "Één April")
(holiday-fixed 4 30 "Koninginnedag")
(holiday-fixed 5 1 "Dag van de Arbeid")
(holiday-fixed 5 4 "Dodenherdenking")
(holiday-fixed 5 5 "Bevrijdingsdag")
(holiday-fixed 10 4 "Dierendag")
(holiday-fixed 10 31 "Halloween")
(holiday-fixed 11 11 "Sint Maarten")
(holiday-fixed 12 5 "Sinterklaas")
(holiday-fixed 12 25 "Eerste kerstdag")
(holiday-fixed 12 26 "Tweede kerstdag")
(holiday-fixed 12 31 "Oudejaarsdag")
;; Feestdagen gerelateerd aan Pasen
(holiday-easter-etc -49 "Carnaval")
(holiday-easter-etc -48 "Carnaval")
(holiday-easter-etc -47 "Carnaval")
(holiday-easter-etc -2 "Goede Vrijdag")
(holiday-easter-etc 0 "Eerste Paasdag")
(holiday-easter-etc +1 "Tweede Paasdag")
(holiday-easter-etc +39 "Hemelvaart")
(holiday-easter-etc +49 "Eerste Pinksterdag")
(holiday-easter-etc +50 "Tweede Pinksterdag")
;; Overige feestdagen met een variabele datum
(holiday-float 5 0 2 "Moederdag")
(holiday-float 6 0 3 "Vaderdag")
(holiday-float 9 2 3 "Prinsjesdag")))
(setq holiday-general-holidays nil)
(setq holiday-christian-holidays nil)
(setq holiday-hebrew-holidays nil)
(setq holiday-islamic-holidays nil)
(setq holiday-bahai-holidays nil)
(setq holiday-oriental-holidays nil)