Translations: install _()

This commit is contained in:
alfrix 2022-07-02 11:27:59 -03:00 committed by Alfredo Monclus
parent 3bb470ded4
commit 5ad82a64d4
28 changed files with 46 additions and 91 deletions

View File

@ -97,12 +97,11 @@ class KlipperScreenConfig:
logging.info("Detected language: %s" % lang)
self.lang = gettext.translation('KlipperScreen', localedir='ks_includes/locales', languages=lang,
fallback=True)
self.lang.install(names=['gettext', 'ngettext'])
self._create_configurable_options(screen)
def _create_configurable_options(self, screen):
_ = self.lang.gettext
_n = self.lang.ngettext
self.configurable_options = [
{"language": {
@ -181,7 +180,7 @@ class KlipperScreenConfig:
for num in SCREEN_BLANKING_OPTIONS:
hour = int(int(num) / 3600)
if hour > 0:
name = str(hour) + " " + _n("hour", "hours", hour)
name = str(hour) + " " + ngettext("hour", "hours", hour)
else:
name = str(int(int(num) / 60)) + " " + _("minutes")
self.configurable_options[index]['screen_blanking']['options'].append({

View File

@ -35,7 +35,6 @@ class ScreenPanel:
return
def emergency_stop(self, widget):
_ = self.lang.gettext
if self._config.get_main_config().getboolean('confirm_estop'):
self._screen._confirm_send_action(widget, _("Are you sure you want to run Emergency Stop?"),

View File

@ -18,7 +18,7 @@ class BedLevelPanel(ScreenPanel):
y_offset = 0
def initialize(self, panel_name):
_ = self.lang.gettext
self.panel_name = panel_name
self.screws = None
grid = self._gtk.HomogeneousGrid()
@ -289,7 +289,7 @@ class BedLevelPanel(ScreenPanel):
)
def process_update(self, action, data):
_ = self.lang.gettext
if action == "notify_gcode_response":
if data.startswith('!!'):
self.response_count = 0

View File

@ -25,7 +25,6 @@ class BedMeshPanel(ScreenPanel):
graphs = {}
def initialize(self, panel_name):
_ = self.lang.gettext
self.show_create = False
@ -84,7 +83,6 @@ class BedMeshPanel(ScreenPanel):
self._screen.show_all()
def add_profile(self, profile):
_ = self.lang.gettext
frame = Gtk.Frame()
@ -258,7 +256,6 @@ class BedMeshPanel(ScreenPanel):
self.remove_profile(profile)
def show_create_profile(self, widget):
_ = self.lang.gettext
for child in self.content.get_children():
self.content.remove(child)
@ -293,7 +290,6 @@ class BedMeshPanel(ScreenPanel):
self.show_create = True
def show_mesh(self, widget, profile):
_ = self.lang.gettext
bm = self._printer.get_config_section("bed_mesh %s" % profile)
if bm is False:

View File

@ -25,7 +25,7 @@ COLORS = {
class ConsolePanel(ScreenPanel):
def initialize(self, panel_name):
_ = self.lang.gettext
self.autoscroll = True
self.hidetemps = True

View File

@ -12,7 +12,7 @@ def create_panel(*args):
class ExamplePanel(ScreenPanel):
def initialize(self, panel_name):
_ = self.lang.gettext
# Create gtk items here
self.content.add(Gtk.Box())

View File

@ -17,7 +17,6 @@ class ExtrudePanel(ScreenPanel):
distances = ['5', '10', '15', '25']
def initialize(self, panel_name):
_ = self.lang.gettext
self.load_filament = self.unload_filament = False
self.find_gcode_macros()

View File

@ -20,7 +20,7 @@ class FanPanel(ScreenPanel):
user_selecting = False
def initialize(self, panel_name):
_ = self.lang.gettext
self.devices = {}
scroll = self._gtk.ScrolledWindow()
@ -64,7 +64,6 @@ class FanPanel(ScreenPanel):
self.set_fan_speed(None, None, fan)
def add_fan(self, fan):
_ = self.lang.gettext
logging.info("Adding fan: %s" % fan)
changeable = False

View File

@ -25,7 +25,6 @@ class FineTunePanel(ScreenPanel):
speed = 100
def initialize(self, panel_name):
_ = self.lang.gettext
logging.debug("FineTunePanel")
@ -149,7 +148,6 @@ class FineTunePanel(ScreenPanel):
self.content.add(grid)
def process_update(self, action, data):
_ = self.lang.gettext
if action != "notify_status_update":
return

View File

@ -13,7 +13,7 @@ def create_panel(*args):
class MacroPanel(ScreenPanel):
def initialize(self, panel_name):
_ = self.lang.gettext
self.macros = {}
self.loaded_macros = []
self.sort_reverse = False

View File

@ -22,7 +22,7 @@ SHAPERS = ['zv', 'mzv', 'zvd', 'ei', '2hump_ei', '3hump_ei']
class InputShaperPanel(ScreenPanel):
def initialize(self, panel_name):
_ = self.lang.gettext
self.has_sensor = False
self.calibrating_axis = None
@ -140,7 +140,7 @@ class InputShaperPanel(ScreenPanel):
)
def save_config(self):
_ = self.lang.gettext
script = {"script": "SAVE_CONFIG"}
self._screen._confirm_send_action(
None,
@ -164,7 +164,7 @@ class InputShaperPanel(ScreenPanel):
)
def process_update(self, action, data):
_ = self.lang.gettext
if action == "notify_gcode_response":
self.status.set_text('{}'.format(data.replace('shaper_', '').replace('damping_', '')))
data = data.lower()

View File

@ -28,7 +28,6 @@ class JobStatusPanel(ScreenPanel):
super().__init__(screen, title, False)
def initialize(self, panel_name):
_ = self.lang.gettext
data = ['pos_x', 'pos_y', 'pos_z', 'time_left', 'duration', 'slicer_time', 'file_time',
'filament_time', 'est_time', 'speed_factor', 'req_speed', 'max_accel', 'extrude_factor', 'zoffset',
@ -134,7 +133,7 @@ class JobStatusPanel(ScreenPanel):
self.fila_section = pi * ((diameter / 2) ** 2)
def create_status_grid(self, widget=None):
_ = self.lang.gettext
self.main_status_displayed = True
self.labels['temp_grid'] = Gtk.Grid()
@ -357,7 +356,7 @@ class JobStatusPanel(ScreenPanel):
ctx.stroke()
def activate(self):
_ = self.lang.gettext
ps = self._printer.get_stat("print_stats")
self.set_state(ps['state'])
if self.state_timeout is None:
@ -365,7 +364,7 @@ class JobStatusPanel(ScreenPanel):
self.create_status_grid()
def create_buttons(self):
_ = self.lang.gettext
self.buttons = {
'cancel': self._gtk.ButtonImage("stop", _("Cancel"), "color2"),
'control': self._gtk.ButtonImage("settings", _("Settings"), "color3"),
@ -389,7 +388,6 @@ class JobStatusPanel(ScreenPanel):
self.buttons['save_offset_endstop'].connect("clicked", self.save_offset, "endstop")
def save_offset(self, widget, device):
_ = self.lang.gettext
saved_z_offset = 0
if self._printer.config_section_exists("probe"):
@ -446,7 +444,6 @@ class JobStatusPanel(ScreenPanel):
self._screen.show_all()
def cancel(self, widget):
_ = self.lang.gettext
buttons = [
{"name": _("Cancel Print"), "response": Gtk.ResponseType.OK},
@ -525,7 +522,6 @@ class JobStatusPanel(ScreenPanel):
return
elif action != "notify_status_update":
return
_ = self.lang.gettext
if self.main_status_displayed:
for x in self._printer.get_tools():
@ -737,7 +733,6 @@ class JobStatusPanel(ScreenPanel):
if ps['state'] == self.state:
return True
_ = self.lang.gettext
if ps['state'] == "printing":
if self.state == "cancelling":
@ -781,7 +776,6 @@ class JobStatusPanel(ScreenPanel):
return True
def set_state(self, state):
_ = self.lang.gettext
if self.state != state:
logging.debug("Changing job_status state from '%s' to '%s'" % (self.state, state))

View File

@ -15,7 +15,7 @@ class LimitsPanel(ScreenPanel):
values = {}
def initialize(self, panel_name):
_ = self.lang.gettext
self.limits = {}
scroll = self._gtk.ScrolledWindow()

View File

@ -61,7 +61,7 @@ class MainPanel(MenuPanel):
self.graph_update = None
def add_device(self, device):
_ = self.lang.gettext
logging.info("Adding device: %s" % device)
temperature = self._printer.get_dev_stat(device, "temperature")
@ -173,7 +173,6 @@ class MainPanel(MenuPanel):
return True
def change_target_temp(self, temp):
_ = self.lang.gettext
MAX_TEMP = int(float(self._printer.get_config_section(self.active_heater)['max_temp']))
if temp > MAX_TEMP:
@ -195,7 +194,6 @@ class MainPanel(MenuPanel):
self._printer.set_dev_stat(self.active_heater, "target", temp)
def create_left_panel(self):
_ = self.lang.gettext
self.labels['devices'] = Gtk.Grid()
self.labels['devices'].get_style_context().add_class('heater-grid')
@ -313,7 +311,6 @@ class MainPanel(MenuPanel):
return
def show_numpad(self, widget):
_ = self.lang.gettext
if self.active_heater is not None:
self.devices[self.active_heater]['name'].get_style_context().remove_class("active_device")

View File

@ -17,7 +17,6 @@ class MenuPanel(ScreenPanel):
j2_data = None
def initialize(self, panel_name, display_name, items):
_ = self.lang.gettext
self.items = items
self.create_menu_items()

View File

@ -21,7 +21,7 @@ class MovePanel(ScreenPanel):
distances = ['.1', '.5', '1', '5', '10', '25', '50']
def initialize(self, panel_name):
_ = self.lang.gettext
self.settings = {}
self.menu = ['move_menu']

View File

@ -17,7 +17,7 @@ class NetworkPanel(ScreenPanel):
initialized = False
def initialize(self, menu):
_ = self.lang.gettext
self.show_add = False
self.networks = {}
self.update_timeout = None
@ -114,7 +114,6 @@ class NetworkPanel(ScreenPanel):
self.content.show_all()
def add_network(self, ssid, show=True):
_ = self.lang.gettext
if ssid is None:
logging.info("SSID is None")
@ -270,7 +269,6 @@ class NetworkPanel(ScreenPanel):
self.check_missing_networks()
def connect_network(self, widget, ssid, showadd=True):
_ = self.lang.gettext
snets = self.wifi.get_supplicant_networks()
isdef = False
@ -342,7 +340,6 @@ class NetworkPanel(ScreenPanel):
if self.show_add:
return
_ = self.lang.gettext
for child in self.content.get_children():
self.content.remove(child)
@ -384,7 +381,7 @@ class NetworkPanel(ScreenPanel):
return True
def update_network_info(self, ssid):
_ = self.lang.gettext
info = freq = encr = chan = lvl = ipv4 = ipv6 = ""
if ssid not in list(self.networks) or ssid not in self.labels['networks']:
@ -424,7 +421,6 @@ class NetworkPanel(ScreenPanel):
self.labels['networks'][ssid]['info'].show_all()
def update_single_network_info(self):
_ = self.lang.gettext
stream = os.popen('hostname -f')
hostname = stream.read().strip()

View File

@ -13,7 +13,7 @@ def create_panel(*args):
class PowerPanel(ScreenPanel):
def initialize(self, panel_name):
_ = self.lang.gettext
self.devices = {}
# Create a scroll window for the power devices

View File

@ -20,7 +20,7 @@ class PrintPanel(ScreenPanel):
filelist = {'gcodes': {'directories': [], 'files': []}}
def initialize(self, panel_name):
_ = self.lang.gettext
self.labels['directories'] = {}
self.labels['files'] = {}
self.sort_items = {
@ -153,7 +153,6 @@ class PrintPanel(ScreenPanel):
self.dir_panels[parent_dir].show_all()
def add_file(self, filepath, show=True):
_ = self.lang.gettext
fileinfo = self._screen.files.get_file_info(filepath)
if fileinfo is None:
@ -280,7 +279,7 @@ class PrintPanel(ScreenPanel):
self._config.save_user_config_options()
def confirm_print(self, widget, filename):
_ = self.lang.gettext
buttons = [
{"name": _("Print"), "response": Gtk.ResponseType.OK},
{"name": _("Cancel"), "response": Gtk.ResponseType.CANCEL}
@ -345,7 +344,6 @@ class PrintPanel(ScreenPanel):
self.files.pop(filename)
def get_file_info_str(self, filename):
_ = self.lang.gettext
fileinfo = self._screen.files.get_file_info(filename)
if fileinfo is None:

View File

@ -17,7 +17,6 @@ class PrinterSelect(ScreenPanel):
super().__init__(screen, title, False, False, False)
def initialize(self, panel_name):
_ = self.lang.gettext
printers = self._config.get_printers()

View File

@ -17,7 +17,7 @@ class FWRetractionPanel(ScreenPanel):
list = {}
def initialize(self, panel_name):
_ = self.lang.gettext
self.grid = Gtk.Grid()
conf = self._printer.get_config_section("firmware_retraction")

View File

@ -13,7 +13,7 @@ def create_panel(*args):
class SettingsPanel(ScreenPanel):
def initialize(self, panel_name):
_ = self.lang.gettext
self.settings = {}
self.menu = ['settings_menu']
self.labels['add_printer_button'] = self._gtk.Button(_("Add Printer"), "color1")

View File

@ -19,7 +19,6 @@ class SplashScreenPanel(ScreenPanel):
super().__init__(screen, title, back)
def initialize(self, panel_name):
_ = self.lang.gettext
image = self._gtk.Image("klipper", 3.2)
@ -77,7 +76,6 @@ class SplashScreenPanel(ScreenPanel):
self.labels['actions'].remove(child)
def show_restart_buttons(self):
_ = self.lang.gettext
self.clear_action_bar()
printer = self._screen.connected_printer
@ -102,7 +100,6 @@ class SplashScreenPanel(ScreenPanel):
def add_power_button(self, powerdevs):
if powerdevs is not None:
_ = self.lang.gettext
self.labels['power'] = self._gtk.ButtonImage("shutdown", _("Power On Printer"), "color3")
self.labels['power'].connect("clicked", self._screen.power_on, powerdevs)
self.check_power_status()
@ -129,7 +126,7 @@ class SplashScreenPanel(ScreenPanel):
self._screen._ws.klippy.restart()
def shutdown(self, widget):
_ = self.lang.gettext
if self._screen._ws.is_connected():
self._screen._confirm_send_action(widget,
_("Are you sure you wish to shutdown the system?"),
@ -139,7 +136,7 @@ class SplashScreenPanel(ScreenPanel):
os.system("systemctl poweroff")
def restart_system(self, widget):
_ = self.lang.gettext
if self._screen._ws.is_connected():
self._screen._confirm_send_action(widget,
_("Are you sure you wish to reboot the system?"),

View File

@ -17,7 +17,6 @@ ALLOWED_SERVICES = ["KlipperScreen", "MoonCord", "klipper", "moonraker"]
class SystemPanel(ScreenPanel):
def initialize(self, panel_name):
_ = self.lang.gettext
grid = self._gtk.HomogeneousGrid()
grid.set_row_homogeneous(False)
@ -128,8 +127,6 @@ class SystemPanel(ScreenPanel):
self._screen._ws.send_method("machine.services.restart", {"service": program})
def show_update_info(self, widget, program):
_ = self.lang.gettext
_n = self.lang.ngettext
if not self.update_status:
return
@ -171,7 +168,7 @@ class SystemPanel(ScreenPanel):
ncommits = len(info['commits_behind'])
label.set_markup("<b>" +
_("Outdated by %d") % ncommits +
" " + _n("commit", "commits", ncommits) +
" " + ngettext("commit", "commits", ncommits) +
":</b>\n")
grid.attach(label, 0, i, 1, 1)
i = i + 1
@ -201,7 +198,7 @@ class SystemPanel(ScreenPanel):
i = i + 1
if "package_count" in info:
label.set_markup("<b>%d " % info['package_count'] +
_n("Package will be updated", "Packages will be updated", info['package_count']) +
ngettext("Package will be updated", "Packages will be updated", info['package_count']) +
":</b>\n")
label.set_halign(Gtk.Align.CENTER)
grid.attach(label, 0, i, 3, 1)
@ -254,8 +251,6 @@ class SystemPanel(ScreenPanel):
if self._screen.is_updating():
return
_ = self.lang.gettext
buttons = [
{"name": _("Finish"), "response": Gtk.ResponseType.CANCEL}
]
@ -289,8 +284,6 @@ class SystemPanel(ScreenPanel):
if self._screen.is_updating():
return
_ = self.lang.gettext
if not self.update_status:
return
@ -344,7 +337,6 @@ class SystemPanel(ScreenPanel):
self._screen.set_updating(True)
def update_program_info(self, p):
_ = self.lang.gettext
logging.info("Updating program: %s " % p)
if 'version_info' not in self.update_status or p not in self.update_status['version_info']:

View File

@ -56,7 +56,6 @@ class TemperaturePanel(ScreenPanel):
self.layout.show_all()
def create_right_panel(self):
_ = self.lang.gettext
cooldown = self._gtk.ButtonImage('cool-down', _('Cooldown'), "color4", 1, Gtk.PositionType.LEFT, False)
adjust = self._gtk.ButtonImage('fine-tune', '', "color3", 1, Gtk.PositionType.LEFT, False)
@ -97,7 +96,7 @@ class TemperaturePanel(ScreenPanel):
return scroll
def delta_adjust(self):
_ = self.lang.gettext
self.tempdeltas = ["1", "5", "10", "25"]
self.tempdelta = "10"
@ -157,7 +156,7 @@ class TemperaturePanel(ScreenPanel):
self.labels["deg" + str(i)].set_active(False)
def change_target_temp_incremental(self, widget, dir):
_ = self.lang.gettext
if len(self.active_heaters) == 0:
self._screen.show_popup_message(_("Nothing selected"))
else:
@ -198,7 +197,6 @@ class TemperaturePanel(ScreenPanel):
self.graph_update = None
def select_heater(self, widget, device):
_ = self.lang.gettext
if self.devices[device]["can_target"]:
if device in self.active_heaters:
@ -212,7 +210,7 @@ class TemperaturePanel(ScreenPanel):
return
def set_temperature(self, widget, setting):
_ = self.lang.gettext
if len(self.active_heaters) == 0:
self._screen.show_popup_message(_("Nothing selected"))
else:
@ -267,7 +265,7 @@ class TemperaturePanel(ScreenPanel):
return False
def add_device(self, device):
_ = self.lang.gettext
logging.info("Adding device: %s" % device)
temperature = self._printer.get_dev_stat(device, "temperature")
@ -381,7 +379,6 @@ class TemperaturePanel(ScreenPanel):
return True
def change_target_temp(self, temp):
_ = self.lang.gettext
MAX_TEMP = int(float(self._printer.get_config_section(self.active_heater)['max_temp']))
if temp > MAX_TEMP:
@ -403,7 +400,6 @@ class TemperaturePanel(ScreenPanel):
self._printer.set_dev_stat(self.active_heater, "target", temp)
def create_left_panel(self):
_ = self.lang.gettext
self.labels['devices'] = Gtk.Grid()
self.labels['devices'].get_style_context().add_class('heater-grid')
@ -525,7 +521,6 @@ class TemperaturePanel(ScreenPanel):
return
def show_numpad(self, widget):
_ = self.lang.gettext
if self.active_heater is not None:
self.devices[self.active_heater]['name'].get_style_context().remove_class("button_active")

View File

@ -23,7 +23,6 @@ class ZCalibratePanel(ScreenPanel):
super().__init__(screen, title, False)
def initialize(self, panel_name):
_ = self.lang.gettext
if self._printer.config_section_exists("probe"):
self.z_offset = self._screen.printer.get_config_section("probe")['z_offset']
@ -225,7 +224,6 @@ class ZCalibratePanel(ScreenPanel):
return max(0, int(float(pos) - offset))
def process_update(self, action, data):
_ = self.lang.gettext
if action == "notify_status_update":
if self._screen.printer.get_stat("toolhead", "homed_axes") != "xyz":

View File

@ -104,7 +104,7 @@ class KlipperScreen(Gtk.Window):
logging.debug("Enabling RTL mode")
break
_ = self.lang.gettext
Gtk.Window.__init__(self)
monitor = Gdk.Display.get_default().get_primary_monitor()
@ -153,7 +153,7 @@ class KlipperScreen(Gtk.Window):
self.connect_printer(name)
def connect_printer(self, name):
_ = self.lang.gettext
self.connecting_to_printer = name
if self.connected_printer == name:
@ -393,7 +393,7 @@ class KlipperScreen(Gtk.Window):
self.show_all()
def show_error_modal(self, err):
_ = self.lang.gettext
logging.exception("Showing error modal: %s", err)
buttons = [
@ -417,7 +417,7 @@ class KlipperScreen(Gtk.Window):
widget.destroy()
def restart_warning(self, value):
_ = self.lang.gettext
logging.debug("Showing restart warning because: %s" % value)
buttons = [
@ -713,7 +713,7 @@ class KlipperScreen(Gtk.Window):
self.printer_select_callbacks = [self.state_disconnected]
return
_ = self.lang.gettext
logging.debug("### Going to disconnected")
self.base_panel.show_macro_shortcut(False)
self.wake_screen()
@ -730,7 +730,7 @@ class KlipperScreen(Gtk.Window):
self.printer_select_callbacks = [self.state_error]
return
_ = self.lang.gettext
self.base_panel.show_macro_shortcut(False)
self.wake_screen()
msg = self.printer.get_stat("webhooks", "state_message")
@ -786,7 +786,7 @@ class KlipperScreen(Gtk.Window):
self.printer_select_callbacks = [self.state_startup]
return
_ = self.lang.gettext
self.printer_initializing(_("Klipper is attempting to start"))
def state_shutdown(self, prev_state):
@ -794,7 +794,7 @@ class KlipperScreen(Gtk.Window):
self.printer_select_callbacks = [self.state_shutdown]
return
_ = self.lang.gettext
self.base_panel.show_macro_shortcut(False)
self.wake_screen()
msg = self.printer.get_stat("webhooks", "state_message")
@ -807,7 +807,7 @@ class KlipperScreen(Gtk.Window):
self.base_panel.show_macro_shortcut(value)
def _websocket_callback(self, action, data):
_ = self.lang.gettext
if self.connecting is True:
return
@ -850,7 +850,7 @@ class KlipperScreen(Gtk.Window):
self.panels[self._cur_panels[-1]].process_update(action, data)
def _confirm_send_action(self, widget, text, method, params={}):
_ = self.lang.gettext
buttons = [
{"name": _("Continue"), "response": Gtk.ResponseType.OK},
@ -912,7 +912,7 @@ class KlipperScreen(Gtk.Window):
return None
def power_on(self, widget, devices):
_ = self.lang.gettext
for device in devices:
if self.printer.get_power_device_status(device) == "off":
self.show_popup_message(_("Sending Power ON signal to: %s") % devices, level=1)
@ -922,7 +922,7 @@ class KlipperScreen(Gtk.Window):
logging.info("%s is ON", device)
def init_printer(self):
_ = self.lang.gettext
state = self.apiclient.get_server_info()
if state is False:
@ -997,7 +997,7 @@ class KlipperScreen(Gtk.Window):
return False
def printer_ready(self):
_ = self.lang.gettext
self.close_popup_message()
# Force an update to printer webhooks state in case the update is missed due to websocket subscribe not yet sent
self.printer.process_update({"webhooks": {"state": "ready", "state_message": "Printer is ready"}})

View File

@ -1,7 +1,7 @@
#!/bin/sh
# Update pot
xgettext --keyword=_ --keyword=_n:1,2 --language=Python --no-location --sort-output \
xgettext --keyword=_ --keyword=ngettext:1,2 --language=Python --no-location --sort-output \
-o ks_includes/locales/KlipperScreen.pot \
*.py \
ks_includes/*.py \