;; parametar postavljen pomocu G-p (set-group-parameters) (add-to-list 'gnus-newsgroup-variables 'current-group-language) (defun suffix-for-number (number) (cond ((and (eq (% number 10) 1) (not (eq (% number 100) 11))) "st") ((and (eq (% number 10) 2) (not (eq (% number 100) 12))) "nd") ((and (eq (% number 10) 3) (not (eq (% number 100) 13))) "rd") (t "th"))) (defun create-attribution (mail-time name) (setq name (or (car (mail-extract-address-components name)) name)) (setq day-list '("Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday" "Sunday") month-list '("December" "January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December")) (setq fields (decode-time (date-to-time mail-time))) (setq diff (- (time-to-days (current-time)) (time-to-days (date-to-time mail-time)))) (setq hours (format "%d:%02d" (caddr fields) (cadr fields))) (setq day (nth (nth 6 fields) day-list)) (setq mesec (nth (nth 4 fields) month-list)) (cond ((< diff 0) (concat "In the future, " name " will write:")) ((< diff 1) (concat "Today at " hours ", " name " wrote:")) ((< diff 2) (concat "Yesterday at " hours ", " name " wrote:")) ((< diff 5) (concat "On " day " at " hours ", " name " wrote:")) ((< diff 300) (format "On %s %d%s, %s wrote:" mesec (nth 3 fields) (suffix-for-number (nth 3 fields)) name)) (t (format "Once upon a time, in a small country far away lived %s.\nAnd one day, %s stood up and said:" name name)))) (defun create-sr-attribution (mail-time name) (setq name (or (car (mail-extract-address-components name)) name)) (setq day-list '("недељу" "понедељак" "уторак" "среду" "четвртак" "петак" "суботу" "недељу") month-list '("децембра" "јануара" "фебруара" "марта" "априла" "маја" "јуна" "јула" "августа" "септембра" "октобра" "новембра" "децембра")) (setq fields (decode-time (date-to-time mail-time))) (setq diff (- (time-to-days (current-time)) (time-to-days (date-to-time mail-time)))) (setq hours (format "%d:%02d" (caddr fields) (cadr fields))) (setq day (nth (nth 6 fields) day-list)) (setq mesec (nth (nth 4 fields) month-list)) (cond ((< diff 0) (concat "У будућности ће " name " написати:")) ((< diff 1) (concat "Данас у " hours ", " name " написа:")) ((< diff 2) (concat "Јуче у " hours ", " name " написа:")) ((< diff 5) (concat "У " day " у " hours ", " name " написа:")) ((< diff 300) (format "%d. %s %s написа:" (nth 3 fields) mesec name)) (t (format "Била једном једна земља. И у тој земљи живеше %s. \nЈедног дана %s рече:" name name)))) (defun create-sr-Latn-attribution (mail-time name) (setq name (or (car (mail-extract-address-components name)) name)) (setq day-list '("nedelju" "ponedeljak" "utorak" "sredu" "četvrtak" "petak" "subotu" "nedelju") month-list '("decembra" "januara" "februara" "marta" "aprila" "maja" "juna" "jula" "avgusta" "septembra" "oktobra" "novembra" "decembra")) (setq fields (decode-time (date-to-time mail-time))) (setq diff (- (time-to-days (current-time)) (time-to-days (date-to-time mail-time)))) (setq hours (format "%d:%02d" (caddr fields) (cadr fields))) (setq day (nth (nth 6 fields) day-list)) (setq mesec (nth (nth 4 fields) month-list)) (cond ((< diff 0) (concat "U budućnosti će " name " napisati:")) ((< diff 1) (concat "Danas u " hours ", " name " napisa:")) ((< diff 2) (concat "Juče u " hours ", " name " napisa:")) ((< diff 5) (concat "U " day " u " hours ", " name " napisa:")) ((< diff 300) (format "%d. %s %s napisa:" (nth 3 fields) mesec name)) (t (format "Bila jednom jedna zemlja. I u toj zemlji živeše %s. \nJednog dana %s reče:" name name)))) (defun my-message-insert-citation-line () "Insert a simple citation line." (when message-reply-headers (cond ((string= current-group-language "sr") (insert (create-sr-attribution (mail-header-date message-reply-headers) (mail-header-from message-reply-headers)) "\n\n")) ((string= current-group-language "sr@Latn") (insert (create-sr-Latn-attribution (mail-header-date message-reply-headers) (mail-header-from message-reply-headers)) "\n\n")) (t (insert (create-attribution (mail-header-date message-reply-headers) (mail-header-from message-reply-headers)) "\n\n"))))) (setq message-citation-line-function 'my-message-insert-citation-line)