55import pytz
66
77logger = logging .getLogger (__name__ )
8+
9+ LOCALE_DATA = {
10+ "de" : {"done" : "FERTIG" , "progress" : "FORTSCHRITT" , "days_left" : "TAGE ÜBRIG" },
11+ "en" : {"done" : "DONE" , "progress" : "PROGRESS" , "days_left" : "DAYS LEFT" },
12+ "es" : {"done" : "HECHO" , "progress" : "PROGRESO" , "days_left" : "DÍAS RESTANTES" },
13+ "fr" : {"done" : "TERMINÉ" , "progress" : "PROGRESSION" , "days_left" : "JOURS RESTANTS" },
14+ "id" : {"done" : "SELESAI" , "progress" : "KEMAJUAN" , "days_left" : "HARI TERSISA" },
15+ "it" : {"done" : "FATTO" , "progress" : "PROGRESSO" , "days_left" : "GIORNI RIMASTI" },
16+ "nl" : {"done" : "KLAAR" , "progress" : "VOORTGANG" , "days_left" : "DAGEN OVER" },
17+ "pt" : {"done" : "CONCLUÍDO" , "progress" : "PROGRESSO" , "days_left" : "DIAS RESTANTES" },
18+ }
819class YearProgress (BasePlugin ):
920 def generate_settings_template (self ):
1021 template_params = super ().generate_settings_template ()
@@ -27,11 +38,17 @@ def generate_image(self, settings, device_config):
2738 days_left = (start_of_next_year - current_time ).total_seconds () / (24 * 3600 )
2839 elapsed_days = (current_time - start_of_year ).total_seconds () / (24 * 3600 )
2940
41+ language = str (settings .get ("language" , "en" )).strip ().lower () or "en"
42+ labels = LOCALE_DATA .get (language , LOCALE_DATA ["en" ])
43+
3044 template_params = {
3145 "year" : current_time .year ,
3246 "year_percent" : round ((elapsed_days / total_days ) * 100 ),
3347 "days_left" : round (days_left ),
34- "plugin_settings" : settings
48+ "plugin_settings" : settings ,
49+ "label_done" : labels ["done" ],
50+ "label_progress" : labels ["progress" ],
51+ "label_days_left" : labels ["days_left" ],
3552 }
3653
3754 image = self .render_image (dimensions , "year_progress.html" , "year_progress.css" , template_params )
0 commit comments