Skip to content

Commit 0a393b2

Browse files
authored
Merge PR fatihak#641 from upstream
Co-authored-by: BaloMueller <793558+BaloMueller@users.noreply.github.com>
2 parents 530f6a7 + 2d893c7 commit 0a393b2

3 files changed

Lines changed: 55 additions & 4 deletions

File tree

src/plugins/year_progress/render/year_progress.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
<div class="progress-container">
66
<div class="progress-wrapper">
77
<div class="progress-title">{{year}}</div>
8-
<div class="progress-subtitle">PROGRESS</div>
8+
<div class="progress-subtitle">{{label_progress}}</div>
99
<div class="progress-bar">
1010
<div class="progress-fill" style="width: {{ year_percent }}%; background-color: {{plugin_settings.textColor}};"></div>
1111
<div class="progress-remaining" style="background-image: radial-gradient({{plugin_settings.textColor}} 1px, transparent 1px);"></div>
1212
</div>
1313
<div class="progress-labels">
14-
<span>{{year_percent}}% DONE</span>
15-
<span>{{days_left}} DAYS LEFT</span>
14+
<span>{{year_percent}}% {{label_done}}</span>
15+
<span>{{days_left}} {{label_days_left}}</span>
1616
</div>
1717
</div>
1818
</div>
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<div class="form-group">
2+
<label for="language" class="form-label">Language:</label>
3+
<select id="language" name="language" class="form-input">
4+
<option value="nl">Dutch</option>
5+
<option value="en">English</option>
6+
<option value="fr">French</option>
7+
<option value="de">German</option>
8+
<option value="id">Indonesian</option>
9+
<option value="it">Italian</option>
10+
<option value="pt">Portuguese</option>
11+
<option value="es">Spanish</option>
12+
</select>
13+
</div>
14+
15+
<script>
16+
document.addEventListener('DOMContentLoaded', () => {
17+
const language = document.getElementById('language');
18+
let selectedLanguage = 'en';
19+
20+
if (typeof pluginSettings === 'object' && pluginSettings !== null && typeof pluginSettings.language === 'string') {
21+
selectedLanguage = pluginSettings.language;
22+
}
23+
24+
let hasOption = false;
25+
for (let i = 0; i < language.options.length; i++) {
26+
if (language.options[i].value === selectedLanguage) {
27+
hasOption = true;
28+
break;
29+
}
30+
}
31+
32+
language.value = hasOption ? selectedLanguage : 'en';
33+
});
34+
</script>

src/plugins/year_progress/year_progress.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,17 @@
55
import pytz
66

77
logger = 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+
}
819
class 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

Comments
 (0)