job_status: use full words for remaining and allow translations

This commit is contained in:
Alfredo Monclus 2024-05-21 19:41:47 -03:00
parent bdc48d37a8
commit 32ba2099cb
3 changed files with 12 additions and 6 deletions

View File

@ -352,9 +352,9 @@ class KlipperScreenConfig:
hour = num // 3600
minute = num // 60
if hour > 0:
name = f'{hour} ' + gettext.ngettext("hour", "hours", hour)
name = f'{hour} ' + ngettext("hour", "hours", hour)
else:
name = f'{minute} ' + gettext.ngettext("minute", "minutes", minute)
name = f'{minute} ' + ngettext("minute", "minutes", minute)
self.configurable_options[i1]['screen_blanking']['options'].append({
"name": name,
"value": f"{num}"

View File

@ -129,15 +129,19 @@ class ScreenPanel:
if seconds is None or seconds < 1:
return "-"
days = seconds // 86400
day_units = ngettext("day", "days", days)
seconds %= 86400
hours = seconds // 3600
hour_units = ngettext("hour", "hours", hours)
seconds %= 3600
minutes = round(seconds / 60)
min_units = ngettext("minute", "minutes", minutes)
seconds %= 60
return f"{f'{days:2.0f}d ' if days > 0 else ''}" \
f"{f'{hours:2.0f}h ' if hours > 0 else ''}" \
f"{f'{minutes:2.0f}m ' if minutes > 0 else ''}" \
f"{f'{seconds:2.0f}s' if days == 0 and hours == 0 and minutes == 0 else ''}"
sec_units = ngettext("second", "seconds", seconds)
return f"{f'{days:2.0f} {day_units} ' if days > 0 else ''}" \
f"{f'{hours:2.0f} {hour_units} ' if hours > 0 else ''}" \
f"{f'{minutes:2.0f} {min_units} ' if minutes > 0 and days == 0 else ''}" \
f"{f'{seconds:2.0f} {sec_units}' if days == 0 and hours == 0 and minutes == 0 else ''}"
def format_eta(self, total, elapsed):
if total is None:

View File

@ -605,6 +605,7 @@ class Panel(ScreenPanel):
self.labels["duration"].set_label(self.format_time(total_duration))
elapsed_label = f"{self.labels['elapsed'].get_text()} {self.labels['duration'].get_text()}"
self.buttons['elapsed'].set_label(elapsed_label)
find_widget(self.buttons['elapsed'], Gtk.Label).set_ellipsize(Pango.EllipsizeMode.END)
estimated = slicer_time = filament_time = file_time = 0
timeleft_type = self._config.get_config()['main'].get('print_estimate_method', 'auto')
@ -651,6 +652,7 @@ class Panel(ScreenPanel):
self.labels["time_left"].set_label(self.format_eta(estimated, print_duration))
remaining_label = f"{self.labels['left'].get_text()} {self.labels['time_left'].get_text()}"
self.buttons['left'].set_label(remaining_label)
find_widget(self.buttons['left'], Gtk.Label).set_ellipsize(Pango.EllipsizeMode.END)
self.update_progress(progress)
def update_progress(self, progress: float):