From 619726ea1ac689294735b0ff19707862a3ad41fd Mon Sep 17 00:00:00 2001 From: iliajie Date: Sun, 5 Feb 2023 02:51:55 +0200 Subject: [PATCH] Add support for `simplify_date` to respect Local user option --- mailboxes/boxes-lib.pl | 22 ++++++++++++++++------ mailboxes/config | 2 +- mailboxes/config.info | 2 +- mailboxes/config.info.ca | 2 +- mailboxes/config.info.cs | 2 +- mailboxes/config.info.de | 2 +- mailboxes/config.info.el | 2 +- mailboxes/config.info.fr | 2 +- mailboxes/config.info.it | 2 +- mailboxes/config.info.ja | 2 +- mailboxes/config.info.ko | 2 +- mailboxes/config.info.nl | 2 +- mailboxes/config.info.no | 2 +- 13 files changed, 28 insertions(+), 18 deletions(-) diff --git a/mailboxes/boxes-lib.pl b/mailboxes/boxes-lib.pl index 38881d10c..0449ed654 100755 --- a/mailboxes/boxes-lib.pl +++ b/mailboxes/boxes-lib.pl @@ -1477,12 +1477,22 @@ sub simplify_date local ($date, $fmt) = @_; local $u = &parse_mail_date($date); if ($u) { - $fmt ||= $userconfig{'date_fmt'} || $config{'date_fmt'} || "dmy"; - local $strf = $fmt eq "dmy" ? "%d/%m/%Y" : - $fmt eq "mdy" ? "%m/%d/%Y" : - "%Y/%m/%d"; - return strftime("$strf %H:%M", localtime($u)); - } + my $locale; + if ($userconfig{'date_fmt'} eq 'auto' || $config{'date_fmt'} eq 'auto') { + eval "use DateTime; use DateTime::Locale; use DateTime::TimeZone;"; + if (!$@) { + $locale++; + return &make_date($u, undef, $fmt); + } + } + if (!$locale) { + $fmt ||= $userconfig{'date_fmt'} || $config{'date_fmt'} || "dmy"; + local $strf = $fmt eq "dmy" ? "%d/%m/%Y" : + $fmt eq "mdy" ? "%m/%d/%Y" : + "%Y/%m/%d"; + return strftime("$strf %H:%M", localtime($u)); + } + } elsif ($date =~ /^(\S+),\s+0*(\d+)\s+(\S+)\s+(\d+)\s+(\d+):(\d+)/) { return "$2/$3/$4 $5:$6"; } diff --git a/mailboxes/config b/mailboxes/config index cf865d77a..3d1ea4a97 100644 --- a/mailboxes/config +++ b/mailboxes/config @@ -43,7 +43,7 @@ column_count=4 ignore_users= ignore_users_enabled=0 link_mode=0 -date_fmt=dmy +date_fmt=auto arrows=1 open_mode=0 show_unread=0 diff --git a/mailboxes/config.info b/mailboxes/config.info index 217b932ff..cdaf3a80c 100644 --- a/mailboxes/config.info +++ b/mailboxes/config.info @@ -19,7 +19,7 @@ show_body=Show message body previews in list?,1,1-Yes,0-No open_mode=Open messages in,1,1-New window,0-List window link_mode=Open links in,1,1-New window,0-Same window download=Attachment MIME types to always download,9,20,4,\t -date_fmt=Date format in mail list,1,dmy-DD/MM/YYYY,mdy-MM/DD/YYYY,ymd-YYYY/MM/DD +date_fmt=Date format in mail list,1,auto-Locale based,dmy-DD/MM/YYYY,mdy-MM/DD/YYYY,ymd-YYYY/MM/DD date_tz=Timezone for date displays,3,System default line0.4=User list options,11 diff --git a/mailboxes/config.info.ca b/mailboxes/config.info.ca index 2f9c7b945..27bd7a8da 100644 --- a/mailboxes/config.info.ca +++ b/mailboxes/config.info.ca @@ -19,7 +19,7 @@ show_body=Mostra previsualitzacions del cos del missatge a la llista,1,1-Sí,0-N open_mode=Obre els missatges,1,1-En una finestra nova,0-En una finestra de la llista link_mode=Obre els enllaços a,1,1-Finestra nova,0-La mateixa finestra download=Tipus MIME d'adjuncions que sempre s'han de descarrregar,9,20,4,\t -date_fmt=Format de la data a la llista de correu,1,dmy-DD/MM/AAAA,mdy-MM/DD/AAAA,ymd-AAAA/MM/DD +date_fmt=Format de la data a la llista de correu,1,auto-Locale based,dmy-DD/MM/AAAA,mdy-MM/DD/AAAA,ymd-AAAA/MM/DD date_tz=Zona horària de la data,3,Valor per defecte del sistema line0.4=Opcions de la llista d'usuaris,11 max_records=Nombre màxim d'usuaris a mostrar,0,6 diff --git a/mailboxes/config.info.cs b/mailboxes/config.info.cs index 4b9fcd5f2..9921db458 100644 --- a/mailboxes/config.info.cs +++ b/mailboxes/config.info.cs @@ -18,7 +18,7 @@ show_body=Zobrazit v rámci seznamu náhled těla zprávy?,1,1-Ano,0-Ne open_mode=Otevřít zprávy v,1,1-Novém okně,0-Tom samém okně link_mode=Otevírat odkazy v,1,1-Novém okně,0-Tom samém okně download=MIME typy příloh, které budou vždy nahrány,9,20,4,\t -date_fmt=Formát data v seznamu mailů,1,dmy-DD/MM/YYYY,mdy-MM/DD/YYYY,ymd-YYYY/MM/DD +date_fmt=Formát data v seznamu mailů,1,auto-Locale based,dmy-DD/MM/YYYY,mdy-MM/DD/YYYY,ymd-YYYY/MM/DD date_tz=Časová zóna při zobrazení data,3,Výchozí systémové max_records=Maximální počet zobrazených uživatelů,0,6 show_size=Mód zobrazení uživatelů,1,0-Pouze jména uživatelů,1-Jména uživatelů a velikost,2-Všechny detaily diff --git a/mailboxes/config.info.de b/mailboxes/config.info.de index 365cdf358..7b4544ea2 100644 --- a/mailboxes/config.info.de +++ b/mailboxes/config.info.de @@ -19,7 +19,7 @@ show_body=Zeige die Vorschau des Nachrichtentexts in einer Liste?,1,1-Ja,0-Nein open_mode=Öffne Nachrichten in,1,1-Neuem Fenster,0-Listenanzeige link_mode=Öffne Links in,1,1-Neuem Fenster,0-Gleichem Fenster download=MIME Typen in Anhängen, die immer heruntergeladen werden sollen,9,20,4,\t -date_fmt=Datumsformat in der Mailliste,1,dmy-DD/MM/YYYY,mdy-MM/DD/YYYY,ymd-YYYY/MM/DD +date_fmt=Datumsformat in der Mailliste,1,auto-Locale based,dmy-DD/MM/YYYY,mdy-MM/DD/YYYY,ymd-YYYY/MM/DD date_tz=Zeitzone für Datumsanzeige,3,Systemstandard line0.4=Benutzer Auflistungsoptionen,11 max_records=Maximale Anzahl anzuzeigender Benutzer,0,6 diff --git a/mailboxes/config.info.el b/mailboxes/config.info.el index a0759f2fd..e760a5454 100644 --- a/mailboxes/config.info.el +++ b/mailboxes/config.info.el @@ -18,7 +18,7 @@ show_body=Εμφάνιση προεπισκοπίσεων σώματος μην open_mode=Άνοιγμα μηνυμάτων σε,1,1-Νέο παράθυρο,0-Στο παράθυρο της λίστας link_mode=Άνοιγμα συνδέσμων σε,1,1-Νέο παράθυρο,0-Ίδιο παράθυρο download=Συνημμένοι τύποι MIME για τους οποίους θα γίνεται πάντα λήψη,9,20,4,\t -date_fmt=Τρόπος εμφάνισης ημερομηνίας στο email list,1,dmy-DD/MM/YYYY,mdy-MM/DD/YYYY,ymd-YYYY/MM/DD +date_fmt=Τρόπος εμφάνισης ημερομηνίας στο email list,1,auto-Locale based,dmy-DD/MM/YYYY,mdy-MM/DD/YYYY,ymd-YYYY/MM/DD date_tz=Ζώνη ώρας για εμφάνιση ημερομηνιών,3,Προκαθορισμένη Συστήματος max_records=Μέγιστος αριθμός χρηστών προς εμφάνιση,0,6 show_size=Τρόπος εμφάνισης χρηστών,1,0-Όνομα χρήστη μόνο,1-Όνομα χρήστη και μέγεθος,2-Πλήρεις λεπτομέριες diff --git a/mailboxes/config.info.fr b/mailboxes/config.info.fr index 7d048d80f..8bad3d08a 100644 --- a/mailboxes/config.info.fr +++ b/mailboxes/config.info.fr @@ -19,7 +19,7 @@ show_body=Afficher les aperçus du corps du message dans la liste?,1,1-Oui,0-Non open_mode=Ouvrir les messages dans,1,1-Nouvelle fenêtre,0-Fenêtre de liste link_mode=Ouvrir les liens dans,1,1-Nouvelle fenêtre,0-Même fenêtre download=Types de pièces jointes MIME à toujours télécharger,9,20,4,\t -date_fmt=Format de date dans la liste de diffusion,1,dmy-DD/MM/YYYY,mdy-MM/DD/YYYY,ymd-YYYY/MM/DD +date_fmt=Format de date dans la liste de diffusion,1,auto-Locale based,dmy-DD/MM/YYYY,mdy-MM/DD/YYYY,ymd-YYYY/MM/DD date_tz=Fuseau horaire pour l'affichage de la date,3,Défaut du système line0.4=Options de la liste des utilisateurs,11 diff --git a/mailboxes/config.info.it b/mailboxes/config.info.it index 3fa00b9b6..cef1031fd 100644 --- a/mailboxes/config.info.it +++ b/mailboxes/config.info.it @@ -19,7 +19,7 @@ show_body=Mostrare un'anteprima del messaggio nella lista?,1,1-Si,0-No open_mode=Apri i messaggi in,1,1-una nuova finestra,0-una finestra con la lista link_mode=Apri i collegamenti in,1,1-una nuova finestra,0-nella stessa finestra download=Tipi di allegati da scaricare sempre,9,20,4,\t -date_fmt=Formato della data nella lista dei messaggi,1,dmy-GG/MM/AAAA,mdy-MM/GG/AAAA,ymd-AAAA/MM/GG +date_fmt=Formato della data nella lista dei messaggi,1,auto-Locale based,dmy-GG/MM/AAAA,mdy-MM/GG/AAAA,ymd-AAAA/MM/GG date_tz=Fuso orario da utilizzare,3,Predefinito del sistema line0.4=Opzioni lista utenti,11 max_records=Numero massimo di utenti da visualizzare,0,6 diff --git a/mailboxes/config.info.ja b/mailboxes/config.info.ja index 08fffa110..2396c8c81 100644 --- a/mailboxes/config.info.ja +++ b/mailboxes/config.info.ja @@ -18,7 +18,7 @@ show_body=メッセージ本文を一覧でプレビューしますか?,1,1-は open_mode=メッセージを以下で開く,1,1-新しいウィンドウ,0-リストウィンドウ link_mode=リンクを以下で開く,1,1-新しいウィンドウ,0-同じウィンドウ download=常にダウンロードをする添付ファイルのMIMEタイプ,9,20,4,\t -date_fmt=メール一覧の日付フォーマット,1,dmy-DD/MM/YYYY,mdy-MM/DD/YYYY,ymd-YYYY/MM/DD +date_fmt=メール一覧の日付フォーマット,1,auto-Locale based,dmy-DD/MM/YYYY,mdy-MM/DD/YYYY,ymd-YYYY/MM/DD date_tz=タイムゾーンを日付に表示する,3,システムのデフォルト max_records=表示する最大ユーザ数,0,6 show_size=ユーザ表示モード,1,0-ユーザ名のみ,1-ユーザ名とサイズ,2-すべて詳細に diff --git a/mailboxes/config.info.ko b/mailboxes/config.info.ko index f759e9d1e..bf2ea4657 100644 --- a/mailboxes/config.info.ko +++ b/mailboxes/config.info.ko @@ -18,7 +18,7 @@ show_body=리스트에서 메시지 본문의 미리보기를 하겠습니까?,1 open_mode=메시지 열기,1,1-새창,0-현재창 link_mode=메일 열기 링크,1,1-새 창,0-동일 창 download=항상 다운로드 되도록 할 MIME 형식,9,20,4,\t -date_fmt=메일 리스트의 날자 형식,1,dmy-DD/MM/YYYY,mdy-MM/DD/YYYY,ymd-YYYY/MM/DD +date_fmt=메일 리스트의 날자 형식,1,auto-Locale based,dmy-DD/MM/YYYY,mdy-MM/DD/YYYY,ymd-YYYY/MM/DD date_tz=날자 출력을 위한 시간대,3,시스템 기본 max_records=출력할 유저의 최대 길이,0,6 show_size=사용자 출력 모드,1,0-유저이름만,1-유저이름과 크기,2-자세히 diff --git a/mailboxes/config.info.nl b/mailboxes/config.info.nl index ce5e021b1..fa32db570 100644 --- a/mailboxes/config.info.nl +++ b/mailboxes/config.info.nl @@ -19,7 +19,7 @@ show_body=Toon berichten body voorbeschouwing in lijst?,1,1-Ja,0-Nee open_mode=Open berichten in,1,1-Nieuw venster,0-Venster lijst link_mode=Open links in,1,1-Nieuw venster,0-Zelfde venster download=Bijlagen in MIME types die altijd gedownload moeten worden,9,20,4,\t -date_fmt=Datum formaat in email lijst,1,dmy-DD/MM/JJJJ,mdy-MM/DD/JJJJ,ymd-JJJJ/MM/DD +date_fmt=Datum formaat in email lijst,1,auto-Locale based,dmy-DD/MM/JJJJ,mdy-MM/DD/JJJJ,ymd-JJJJ/MM/DD date_tz=Tijdzone om datum te tonen,3,Systeem standaard line0.4=Gebruikers lijst opties,11 max_records=Maximum aantal gebruikers laten zien,0,6 diff --git a/mailboxes/config.info.no b/mailboxes/config.info.no index 1c2eafb8f..3fb5be97f 100644 --- a/mailboxes/config.info.no +++ b/mailboxes/config.info.no @@ -19,7 +19,7 @@ show_body=Vis forhåndsvisning av meldingstekst i liste?,1,1-Ja,0-Nei open_mode=Åpne meldinger i,1,1-Nytt vindu,0-Liste vindu link_mode=Åpne lenker i,1,1-Nytt vindu,0-Samme vindu download=Vedleggs MIME typer som alltid skal lastes ned,9,20,4,\t -date_fmt=Datoformat i e-post liste,1,dmy-DD/MM/YYYY,mdy-MM/DD/YYYY,ymd-YYYY/MM/DD +date_fmt=Datoformat i e-post liste,1,auto-Locale based,dmy-DD/MM/YYYY,mdy-MM/DD/YYYY,ymd-YYYY/MM/DD date_tz=Tidssone for datovisning,3,System standard line0.4=Innstillinger for brukerliste,11 max_records=Maks. antall brukere som skal vises,0,6