From 5740b22583b2dee36bc8745e939358ef6df9a27d Mon Sep 17 00:00:00 2001 From: punix Date: Wed, 18 Jun 2025 00:04:09 +0200 Subject: [PATCH] Added language support for German --- Changelog | 8 +- locale/de/LC_MESSAGES/lxtoolsinstaller.mo | Bin 0 -> 5789 bytes lx-icons/128/Lunix_Tools.png | Bin 0 -> 15361 bytes lx-icons/128/wg_vpn-stop.png | Bin 10900 -> 10676 bytes lx-icons/256/Lunix_Tools.png | Bin 0 -> 41070 bytes lx-icons/256/wg_vpn-stop.png | Bin 20573 -> 20154 bytes lx-icons/32/Lunix_Tools.png | Bin 0 -> 1994 bytes lx-icons/32/wg_vpn-stop.png | Bin 1963 -> 1950 bytes lx-icons/48/Lunix_Tools.png | Bin 0 -> 3591 bytes lx-icons/48/wg_vpn-stop.png | Bin 3233 -> 3185 bytes lx-icons/64/Lunix_Tools.png | Bin 0 -> 5463 bytes lx-icons/64/wg_vpn-stop.png | Bin 4670 -> 4600 bytes lxtools_installer.py | 250 ++++++++++++---------- manager.py | 150 +++++++++++-- 14 files changed, 275 insertions(+), 133 deletions(-) create mode 100644 locale/de/LC_MESSAGES/lxtoolsinstaller.mo create mode 100644 lx-icons/128/Lunix_Tools.png create mode 100644 lx-icons/256/Lunix_Tools.png create mode 100644 lx-icons/32/Lunix_Tools.png create mode 100644 lx-icons/48/Lunix_Tools.png create mode 100644 lx-icons/64/Lunix_Tools.png diff --git a/Changelog b/Changelog index a6ee910..e420496 100644 --- a/Changelog +++ b/Changelog @@ -2,7 +2,13 @@ Changelog for LXTools installer ## [Unreleased] - - + - replace pack with grid + + ### Added +18-06-2025 + +- Added language support for German + ### Added 14-06-2025 diff --git a/locale/de/LC_MESSAGES/lxtoolsinstaller.mo b/locale/de/LC_MESSAGES/lxtoolsinstaller.mo new file mode 100644 index 0000000000000000000000000000000000000000..27eb7b952791c7534e9373234d7f1d9c83db02ab GIT binary patch literal 5789 zcma)1$(5k8gJU|`@2qCpn#Y1=izf@7AR_aqEK=44thlCIkNFWvQ`_Ina?VVl3 z%5%S++4=a-|7*s-z5BN3Jf3CBhbigXJWsO~QNN9Grxohj+kl!FR$J9DfKuLj9-k1Mmiv zdH(?Kgx)*y`R;O5P`*z&uE6(FZ@c=};5hZ?p^X0}6nS2ScfsF7+27xw?DrOg5xv|4 z-wzK%*~c;zdCx+Ts|IEKS0O{aZ^AwBJ5bjD5tRPd;9mF&l=6#3e&{W6q!o`tgB_n^pg9g3d+ z2oc5Gh0(-5yP>p?Lz(9U6#0B8dW#`TdzW4P87TYyzT-P%^=}kDDsWNPr_L!dOZ(Cz89hB zgRBeoKM zm$h&a`-oqNPUM-Uh&-Yzd8!mrUjLcm?J-xAxRU4A9M%r*)#?sYSsNB@Lh%Xl%O#5F zNgmP90m{Ra2Pw;xLzG7;qGNfEQY0^k&5B1-y4XZf#6~le@+0;n{o7~J@ewHTBe8Uh zGDi`8i|xd3K0~>kB0eF0HcOF5Y&I`1V>7*87}WhVh$9t5sWv9-rMjVNn<`7Rsd`E+ zT-5a}^=qM4`eKlz$+V(%F^K$78J%QdY8#dkJ{LW0%i3l)45ChHR1hVpABOpINmj4x zBxz=0xVg_$L878KMF`tPH&{B0`ZYD&yCinv&20EVXyq%tW>F`KFGPcuX*Ji@^^R)N zSvR~nKa%BqD+BxJ#YvFHX0tkWD%5_WRcbbs-|~Ycj0+$X0|`I>gD#hGW}Vru-l9nwTQiEMGv z>Pe-svTFuizop$Gi#}FV`BEiIIJsm9HZ-!gyeD228){4SI7(C_Fl-7{OG|F;gX_Hp z$|4NUJIri@VLi{8C6%rB z#MU-8^AH`lpYqP;nJw3jTdZhw*_LTVXHVjjvO+oZ+kT>IT1P{QDwL@k2Q!-zI0kSX zak|Pd^G$k^K`>6BA=6{UoiNF@BVgr6o7bZ(U6SvvpNHsZB(juIR}4X)rNkADWX~)B8HeP7px(A8 zeySo~`-gs@O^RHlUg**Vt9;w%^|z-Z@ie4wA-r`(_ukQHBa3Rf!vUX`I?0D=b;@jA zYl?cBx*fJOQis?u^3G)~6EvIbuBl2HB^R%|^>T|_QoA}P4w#Ah)LOuGC{amo>k3Lm z=16APJ<{I z`GNr3THY!!?A4~i)u!TP=4vzWYz$<5JIx(m0!w_Nf8QwvSr?u5mT_6FmLv^vQ`sOH z1vXi|<%dBosg7-Z7ZthSu;I6aw$!RlFJa!!V6v*6t#Gy>36h!(KxOrXq+EPN!`|v> z7V>6;6ip(ovd2%y=DiDBSBQb=fXccO`)xl*Eivm?Wfac@3Sptm$zSw6xtH|Fjf)9(7b3f4Lx) znSmf;b-$J;(>O^;UGCacT6^@?G-Q^cj6XEfzT%cO+<#jwlX4_`BN`tVuYVIGN$q^P poy~7*?)b~I?TjInrwP-PGGKmbC?CK5E$xcOFYK9WFgrb`wi0dfO@fSH3KHa5oC7|-$`S+ZuS zHFT@zbNb9R?EU>w)sxlT>Xus;+^E*l^0IVJovQsl`yHS6-GcaPZf=&q>wpgcR{_nO zyZ&#wMuCTce+2$xbaYe$h*2lgYmVHlACL|8$oC8bot*^T;`e??10&D9;K1KlRmY z{X!Zi146>ejj(b(bgvS$bV5@r*p2`JqXUMge{Oi_&T~?HQFfrYx!Ih}2XHgcu>#hf z4_zw+%^lF#0u7CVL<*Fe`@34hu5E^Y{&PdUd`_6Z&;YO!u<>G8u};vw44T`au^BQs zftv#HB4Utj4;udYljfW>Pe(3Gc{3eA%Q9HC36`%Bw0A>O8{}F9*Νixc!**VZcq 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
q2LUdXqSc_#%`f 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 YKj!)^2UTJm8~^|S07*qoM6N<$g8n1O_y7O^ delta 10848 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 literal 0 HcmV?d00001 diff --git a/lx-icons/256/wg_vpn-stop.png b/lx-icons/256/wg_vpn-stop.png index 535d94825f1c662f0ca98303871a973a73e737d0..a7f6cdf8b26b22f2888cd8ca4384ca58261ea795 100644 GIT binary patch literal 20154 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 VVB`_dd^rFB002ovPDHLkV1n8X-9!KY literal 20573 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 literal 0 HcmV?d00001 diff --git a/lx-icons/32/wg_vpn-stop.png b/lx-icons/32/wg_vpn-stop.png index a972a980beb9543d9ad3e10b6a0f4516f3dc25ca..8c164a41037a1124ceceaab9ca8593e8cc0499c3 100644 GIT binary patch delta 1828 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 diff --git a/lx-icons/48/Lunix_Tools.png b/lx-icons/48/Lunix_Tools.png new file mode 100644 index 0000000000000000000000000000000000000000..85824565a42f5287945ff723021df8cd67124dfe GIT binary patch literal 3591 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 N002ovPDHLkV1j*Rtd9Ty literal 0 HcmV?d00001 diff --git a/lx-icons/48/wg_vpn-stop.png b/lx-icons/48/wg_vpn-stop.png index fb9fee6c6a9cb1fa3474bd9e71b811969fa40688..bfb490df66a88563e5e29126d93eaac3e51954cd 100644 GIT binary patch delta 3072 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 Dr%A@W diff --git a/lxtools_installer.py b/lxtools_installer.py index 77735e9..1f33198 100755 --- a/lxtools_installer.py +++ b/lxtools_installer.py @@ -10,6 +10,7 @@ import zipfile from manager import ( OSDetector, Theme, + LocaleStrings, LXToolsAppConfig, System, Image, @@ -19,9 +20,6 @@ from manager import ( from network import NetworkChecker from message import MessageDialog -# Initialize translations -_ = LXToolsAppConfig.setup_translations() - class InstallationManager: def __init__( @@ -38,10 +36,12 @@ class InstallationManager: """Install or update project""" project_info = self.app_manager.get_project_info(project_key) if not project_info: - raise Exception(_(f"Unknown project: {project_key}")) + raise Exception(f"{LocaleStrings.MSG["unknow_project"]}{project_key}") - self.update_progress(_(f"Starting installation of {project_info['name']}...")) - self.log(_(f"=== Installing {project_info['name']} ===")) + self.update_progress( + f"{LocaleStrings.MSGI["start_install"]}{project_info['name']}..." + ) + self.log(f"=== {LocaleStrings.MSGI["install"]}{project_info['name']} ===") try: # Create installation script @@ -51,17 +51,19 @@ class InstallationManager: self._execute_install_script(script_content) self.update_progress( - _(f"{project_info['name']} installation completed successfully!") + f"{project_info["name"]}{LocaleStrings.MSGI["install_success"]}" + ) + self.log( + f"=== {project_info["name"]}{LocaleStrings.MSGI["install_success"]} ===" ) - self.log(_(f"=== {project_info['name']} installed successfully ===")) # Set success icon self.update_icon("success") except Exception as e: - self.log(_(f"ERROR: Installation failed: {e}")) + self.log(f"ERROR: {LocaleStrings.MSGI["install_failed"]}{e}") self.update_icon("error") - raise Exception(_(f"Installation failed: {e}")) + raise Exception(f"{LocaleStrings.MSGI["install_failed"]}{e}") def _create_install_script(self, project_key): """Create installation script based on project""" @@ -70,7 +72,7 @@ class InstallationManager: elif project_key == "logviewer": return self._create_logviewer_install_script() else: - raise Exception(_(f"Unknown project: {project_key}")) + raise Exception(f"{LocaleStrings.MSGI["unknow_project"]}{project_key}") def _create_wirepy_install_script(self): """Create Wire-Py installation script""" @@ -299,7 +301,7 @@ echo "LogViewer installation completed!" # Make script executable os.chmod(script_file.name, 0o755) - self.log(_(f"Created install script: {script_file.name}")) + self.log(f"{LocaleStrings.MSGI["install_create"]}{script_file.name}") # Execute with pkexec result = subprocess.run( @@ -319,12 +321,14 @@ echo "LogViewer installation completed!" os.unlink(script_file.name) if result.returncode != 0: - raise Exception(_(f"Installation script failed: {result.stderr}")) + raise Exception( + f"{LocaleStrings.MSGI["install_script_failed"]}{result.stderr}" + ) except subprocess.TimeoutExpired: - raise Exception(_("Installation timed out")) + raise Exception(LocaleStrings.MSGI["install_timeout"]) except subprocess.CalledProcessError as e: - raise Exception(_(f"Installation script failed: {e}")) + raise Exception(f"{LocaleStrings.MSGI["install_script_failed"]}{e}") def update_progress(self, message): if self.progress_callback: @@ -349,13 +353,17 @@ class UninstallationManager: """Uninstall project""" project_info = self.app_manager.get_project_info(project_key) if not project_info: - raise Exception(f"Unknown project: {project_key}") + raise Exception(f"{LocaleStrings.MSGO["unknow_project"]}{project_key}") if not self.app_manager.is_installed(project_key): - raise Exception(_(f"{project_info['name']} is not installed.")) + raise Exception( + f"{project_info["name"]}{LocaleStrings.MSGO["not_installed"]}" + ) - self.update_progress(_(f"Uninstalling {project_info['name']}...")) - self.log(_(f"=== Uninstalling {project_info['name']} ===")) + self.update_progress( + f"{LocaleStrings.MSGU["uninstall"]}{project_info['name']}..." + ) + self.log(f"=== {LocaleStrings.MSGU["uninstall"]}{project_info['name']} ===") try: # Create uninstallation script @@ -364,12 +372,16 @@ class UninstallationManager: # Execute uninstallation self._execute_uninstall_script(script_content) - self.update_progress(_(f"{project_info['name']} uninstalled successfully!")) - self.log(_(f"=== {project_info['name']} uninstalled successfully ===")) + self.update_progress( + f"{project_info['name']}{LocaleStrings.MSGU["uninstall_success"]}" + ) + self.log( + f"=== {project_info['name']}{LocaleStrings.MSGU["uninstall_success"]} ===" + ) except Exception as e: - self.log(_(f"ERROR: Uninstallation failed: {e}")) - raise Exception(_(f"Uninstallation failed: {e}")) + self.log(f"ERROR: {LocaleStrings.MSGU['uninstall_failed']}{e}") + raise Exception(f"{LocaleStrings.MSGU["uninstall_failed"]}{e}") def _create_uninstall_script(self, project_key): """Create uninstallation script based on project""" @@ -378,7 +390,7 @@ class UninstallationManager: elif project_key == "logviewer": return self._create_logviewer_uninstall_script() else: - raise Exception(_(f"Unknown project: {project_key}")) + raise Exception(f"{LocaleStrings.MSGO["unknow_project"]}{project_key}") def _create_wirepy_uninstall_script(self): """Create Wire-Py uninstallation script""" @@ -513,7 +525,7 @@ echo "LogViewer uninstallation completed!" # Make script executable os.chmod(script_file.name, 0o755) - self.log(_(f"Created uninstall script: {script_file.name}")) + self.log(f"{LocaleStrings.MSGU["uninstall_create"]}{script_file.name}") # Execute with pkexec result = subprocess.run( @@ -533,12 +545,14 @@ echo "LogViewer uninstallation completed!" os.unlink(script_file.name) if result.returncode != 0: - raise Exception(_(f"Uninstallation script failed: {result.stderr}")) + raise Exception( + f"{LocaleStrings.MSGU["uninstall_script_failed"]}{result.stderr}" + ) except subprocess.TimeoutExpired: - raise Exception(_("Uninstallation timed out")) + raise Exception(LocaleStrings.MSGU["uninstall_timeout"]) except subprocess.CalledProcessError as e: - raise Exception(_(f"Uninstallation script failed: {e}")) + raise Exception(f"{LocaleStrings.MSGU["uninstall_script_failed"]}{e}") def update_progress(self, message): if self.progress_callback: @@ -555,13 +569,13 @@ class DownloadManager: """Download and extract ZIP file""" try: if progress_callback: - progress_callback(_(f"Downloading from {url}...")) + progress_callback(f"{LocaleStrings.MSGO["download_from"]}{url}...") with tempfile.NamedTemporaryFile(suffix=".zip", delete=False) as tmp_file: urllib.request.urlretrieve(url, tmp_file.name) if progress_callback: - progress_callback(_("Extracting files...")) + progress_callback(LocaleStrings.MSGO["extract_files"]) with zipfile.ZipFile(tmp_file.name, "r") as zip_ref: zip_ref.extractall(extract_to) @@ -571,7 +585,7 @@ class DownloadManager: except Exception as e: if progress_callback: - progress_callback(_(f"Download failed: {str(e)}")) + progress_callback(f"{LocaleStrings.MSGO["download_failed"]}{e}") return False @@ -694,7 +708,7 @@ class LXToolsGUI: tk.Label( text_frame, - text=f"v {LXToolsAppConfig.VERSION} • Linux App Installer", + text=f"v {LXToolsAppConfig.VERSION} • {LocaleStrings.MSGO["head_string3"]}", font=("Helvetica", 9), fg="#bdc3c7", bg="#2c3e50", @@ -706,7 +720,7 @@ class LXToolsGUI: tk.Label( right_side, - text=f"System: {self.detected_os}", + text=f"{LocaleStrings.MSGO["head_string2"]}{self.detected_os}", font=("Helvetica", 11), fg="#ecf0f1", bg="#2c3e50", @@ -729,23 +743,29 @@ class LXToolsGUI: def check_ready_status(self): """Check if system is ready for installation""" - # Prüfungen: + # Checks: internet_ok = NetworkChecker.check_internet_connection() repo_ok = NetworkChecker.check_repository_access() if internet_ok and repo_ok: - self.update_header_status(_("Ready for installation"), "#1abc9c") # Green + self.update_header_status(LocaleStrings.MSGO["ready"], "#1abc9c") # Green elif not internet_ok: - self.update_header_status(_("No internet connection"), "#e74c3c") # Red + self.update_header_status( + LocaleStrings.MSGO["no_internet"], "#e74c3c" + ) # Red elif not repo_ok: - self.update_header_status(_("Repository unavailable"), "#f39c12") # Orange + self.update_header_status( + LocaleStrings.MSGO["repo_unavailable"], "#f39c12" + ) # Orange else: - self.update_header_status(_("System checking..."), "#3498db") # Blue + self.update_header_status( + LocaleStrings.MSGO["system_check"], "#3498db" + ) # Blue def _create_projects_tab(self): """Create projects tab with project cards""" projects_frame = ttk.Frame(self.notebook) - self.notebook.add(projects_frame, text=_("Applications")) + self.notebook.add(projects_frame, text=LocaleStrings.MSGO["applications"]) # Scrollable frame canvas = tk.Canvas(projects_frame, bg=self.colors["bg"]) @@ -842,7 +862,7 @@ class LXToolsGUI: # Status label status_label = tk.Label( status_frame, - text="❓ Checking...", + text=f"❓ {LocaleStrings.MSGC["checking"]}", font=("Helvetica", 10), bg=self.colors["card_bg"], fg="#95a5a6", @@ -853,7 +873,7 @@ class LXToolsGUI: # Version label version_label = tk.Label( status_frame, - text="Version: Checking...", + text=LocaleStrings.MSGC["version_check"], font=("Helvetica", 9), bg=self.colors["card_bg"], fg="#95a5a6", @@ -936,12 +956,12 @@ class LXToolsGUI: self._update_frame_children_bg(new_content, self.colors["selected_bg"]) project_info = self.app_manager.get_project_info(project_key) - self.log_message(f"Selected project: {project_info['name']}") + self.log_message(f"{LocaleStrings.MSGL["selected_app"]}{project_info["name"]}") def _create_log_tab(self): """Create log tab""" log_frame = ttk.Frame(self.notebook) - self.notebook.add(log_frame, text=_("Installation Log")) + self.notebook.add(log_frame, text=LocaleStrings.MSGL["log_name"]) # Log text with scrollbar log_container = tk.Frame(log_frame) @@ -971,7 +991,7 @@ class LXToolsGUI: # Clear log button clear_log_btn = ttk.Button( - log_controls, text=_("Clear Log"), command=self.clear_log + log_controls, text=LocaleStrings.MSGB["clear_log"], command=self.clear_log ) clear_log_btn.pack(side="right") @@ -979,14 +999,18 @@ class LXToolsGUI: self.log_message( f"=== {LXToolsAppConfig.APP_NAME} v {LXToolsAppConfig.VERSION} ===" ) - self.log_message(_(f"Working directory: {LXToolsAppConfig.WORK_DIR}")) - self.log_message(_(f"Icons directory: {LXToolsAppConfig.ICONS_DIR}")) - self.log_message(_(f"Detected OS: {self.detected_os}")) - self.log_message(_("Ready for installation...")) + self.log_message(f"{LocaleStrings.MSGL["work_dir"]}{LXToolsAppConfig.WORK_DIR}") + self.log_message( + f"{LocaleStrings.MSGL["icons_dir"]}{LXToolsAppConfig.ICONS_DIR}" + ) + self.log_message(f"{LocaleStrings.MSGL["detected_os"]}{self.detected_os}") + self.log_message(f"{LocaleStrings.MSGO["ready"]}...") def _create_progress_section(self): """Create progress section with download icon""" - progress_frame = ttk.LabelFrame(self.root, text=_("Progress"), padding=10) + progress_frame = ttk.LabelFrame( + self.root, text=LocaleStrings.MSGO["progress"], padding=10 + ) progress_frame.pack(fill="x", padx=15, pady=10) # Container for Icon and Progress @@ -1000,7 +1024,7 @@ class LXToolsGUI: # Progress Text (right, expandable) self.progress_label = tk.Label( progress_container, - text=_("Ready for installation..."), + text=f"{LocaleStrings.MSGO["ready"]}...", font=("Helvetica", 10), fg="blue", anchor="w", @@ -1044,7 +1068,7 @@ class LXToolsGUI: # Create buttons install_btn = ttk.Button( button_frame, - text=_("Install/Update"), + text=LocaleStrings.MSGB["install"], command=self.install_selected, style="Install.TButton", padding=8, @@ -1053,7 +1077,7 @@ class LXToolsGUI: uninstall_btn = ttk.Button( button_frame, - text=_("Uninstall"), + text=LocaleStrings.MSGB["uninstall"], command=self.uninstall_selected, style="Uninstall.TButton", padding=8, @@ -1062,7 +1086,7 @@ class LXToolsGUI: refresh_btn = ttk.Button( button_frame, - text=_("Refresh Status"), + text=LocaleStrings.MSGB["refresh"], command=self.refresh_status, style="Refresh.TButton", padding=8, @@ -1111,23 +1135,24 @@ class LXToolsGUI: def refresh_status(self): """Refresh application status and version information""" - self.update_progress(_("Refreshing status and checking versions...")) + self.update_progress(LocaleStrings.MSGI["refresh_and_check"]) self._reset_download_icon() - self.log_message(_("=== Refreshing Status ===")) + self.log_message(f"=== {LocaleStrings.MSGB["refresh"]} ===") self.root.focus_set() for project_key, project_info in self.app_manager.get_all_projects().items(): status_label = self.status_labels[project_key] version_label = self.version_labels[project_key] - self.log_message(_(f"Checking {project_info['name']}...")) + self.log_message(f"{LocaleStrings.MSGC["checking"]} {project_info['name']}") if self.app_manager.is_installed(project_key): installed_version = self.app_manager.get_installed_version(project_key) status_label.config( - text=_(f"✅ Installed ({installed_version})"), fg="green" + text=f"✅ {LocaleStrings.MSGI["installed"]}({installed_version})", + fg="green", ) self.log_message( - _(f"{project_info['name']}: Installed {installed_version}") + f"{project_info['name']}: {LocaleStrings.MSGI["installed"]}({installed_version})" ) # Get latest version from API @@ -1136,87 +1161,88 @@ class LXToolsGUI: if latest_version != "Unknown": if installed_version != f"v. {latest_version}": version_label.config( - text=_( - f"Latest: v. {latest_version} (Update available)" - ), + text=f"{LocaleStrings.MSGC["latest"]}(v. {latest_version}) {LocaleStrings.MSGC["update_available"]}", fg="orange", ) self.log_message( - _( - f"{project_info['name']}: Update available v. {latest_version}" - ) + f"{project_info['name']}: {LocaleStrings.MSGC["update_available"]}(v. {latest_version})" ) + else: version_label.config( - text=f"Latest: v. {latest_version} (Up to date)", + text=f"{LocaleStrings.MSGC["latest"]}: (v. {latest_version}) {LocaleStrings.MSGC["up_to_date"]}", fg="green", ) - self.log_message(f"{project_info['name']}: Up to date") + self.log_message( + f"{project_info['name']}: {LocaleStrings.MSGC["up_to_date"]}", + ) else: - version_label.config(text="Latest: Unknown", fg="gray") + version_label.config( + text=LocaleStrings.MSGC["latest_unknown"], fg="gray" + ) self.log_message( - f"{project_info['name']}: Could not check latest version" + f"{project_info['name']}: {LocaleStrings.MSGC["could_not_check"]}" ) except Exception as e: - version_label.config(text="Latest: Check failed", fg="gray") + version_label.config( + text=LocaleStrings.MSGC["check_last_failed"], fg="gray" + ) self.log_message( - f"{project_info['name']}: Version check failed: {e}" + f"{project_info['name']}: {LocaleStrings.MSGC["version_check_failed"]}: {e}" ) else: - status_label.config(text="❌ Not installed", fg="red") - self.log_message(_(f"{project_info['name']}: Not installed")) + status_label.config( + text=f"❌ {LocaleStrings.MSGC["not_installed"]}", fg="red" + ) + self.log_message( + f"{project_info['name']}: {LocaleStrings.MSGC["not_installed"]}" + ) # Still show latest available version try: latest_version = self.app_manager.get_latest_version(project_key) if latest_version != "Unknown": version_label.config( - text=_(f"Available: v {latest_version}"), fg="blue" + text=f"{project_info['name']} {LocaleStrings.MSGC["available"]}: v {latest_version}", + fg="blue", ) + self.log_message( - _(f"{project_info['name']}: Available v {latest_version}") + f"{project_info['name']} {LocaleStrings.MSGC["available"]}: v {latest_version}" ) else: - version_label.config(text=_("Available: Unknown"), fg="gray") + version_label.config( + text=LocaleStrings.MSGC["available_unknown"], fg="gray" + ) except Exception as e: - version_label.config(text=_("Available: Check failed"), fg="gray") + version_label.config( + text=LocaleStrings.MSGC["available_check_unknown"], fg="gray" + ) self.log_message( - _(f"{project_info['name']}: Version check failed: {e}") + f" {project_info['name']}: {LocaleStrings.MSGC["version_check_failed"]}: {e}" ) - self.update_progress(_("Status refresh completed.")) - self.log_message(_("=== Status refresh completed ===")) + self.update_progress(LocaleStrings.MSGO["refresh2"]) + self.log_message(f"=== {LocaleStrings.MSGO["refresh2"]} ===") self.check_ready_status() def install_selected(self): """Handle install button click""" if not self.selected_project: - MessageDialog("error", _("Please select a project to install.")) + MessageDialog("error", LocaleStrings.MSGM["please_select"]) self.root.focus_set() return # Check internet connection if not NetworkChecker.check_internet_connection(): self.update_download_icon("error") - MessageDialog( - "error", - _( - "Network Error", - "No internet connection available.\nPlease check your network connection.", - ), - ) + MessageDialog("error", LocaleStrings.MSGM["network_error"]) self.root.focus_set() return if not NetworkChecker.check_repository_access(): self.update_download_icon("error") - MessageDialog( - "error", - _( - "Repository Error", - "Cannot access repository.\nPlease try again later.", - ), - ) + MessageDialog("error", LocaleStrings.MSGM["repo_error"]) self.root.focus_set() return @@ -1230,12 +1256,13 @@ class LXToolsGUI: self.update_download_icon("success") MessageDialog( "info", - _(f"{project_info['name']} has been successfully installed/updated."), + f"{project_info["name"]} {LocaleStrings.MSGM["has_success_update"]}", ) + self.refresh_status() except Exception as e: self.update_download_icon("error") - MessageDialog("error", _(f"{e}")) + MessageDialog("error", f"{e}") self.root.focus_set() @@ -1243,14 +1270,16 @@ class LXToolsGUI: """Handle uninstall button click""" if not self.selected_project: - MessageDialog("error", _("Please select a project to uninstall.")) + MessageDialog("error", LocaleStrings.MSGM["please_select_uninstall"]) self.root.focus_set() return project_info = self.app_manager.get_project_info(self.selected_project) if not self.app_manager.is_installed(self.selected_project): - MessageDialog("error", _(f"{project_info['name']} is not installed.")) + MessageDialog( + "error", f"{project_info["name"]} {LocaleStrings.MSGO["not_installed"]}" + ) self.root.focus_set() return @@ -1258,14 +1287,13 @@ class LXToolsGUI: self.uninstallation_manager.uninstall_project(self.selected_project) MessageDialog( "info", - _( - f"{project_info['name']} has been successfully uninstalled.", - ), + f"{project_info["name"]} {LocaleStrings.MSGU["uninstall_success"]}", ) + self.refresh_status() self.root.focus_set() except Exception as e: - MessageDialog("error", _(f"Uninstallation failed: {e}")) + MessageDialog("error", f"{LocaleStrings.MSGU["uninstall_failed"]}: {e}") self.root.focus_set() def update_progress(self, message): @@ -1273,7 +1301,7 @@ class LXToolsGUI: if self.progress_label: self.progress_label.config(text=message) self.progress_label.update() - print(_(f"Progress: {message}")) + print(f"{LocaleStrings.MSGO["progress"]}: {message}") def log_message(self, message): """Add message to log""" @@ -1283,13 +1311,13 @@ class LXToolsGUI: self.log_text.insert(tk.END, log_entry) self.log_text.see(tk.END) self.log_text.update() - print(_(f"Log: {message}")) + print(f"Log: {message}") def clear_log(self): """Clear the log""" if self.log_text: self.log_text.delete(1.0, tk.END) - self.log_message(_("Log cleared")) + self.log_message(MSGL["log_cleared"]) def run(self): """Start the GUI application""" @@ -1300,21 +1328,19 @@ class LXToolsGUI: def main(): """Main function to start the application""" print(f"=== {LXToolsAppConfig.APP_NAME} v {LXToolsAppConfig.VERSION} ===") - print(_(f"Working directory: {os.getcwd()}")) + print(f"{LocaleStrings.MSGL["working_dir"]}{os.getcwd()}") try: # Create and run the GUI app = LXToolsGUI() - app.run() except KeyboardInterrupt: - print(_("\nApplication interrupted by user.")) + print(LocaleStrings.MSGL["user_interrupt"]) except Exception as e: - print(_(f"Fatal error: {e}")) + print(f"{LocaleStrings.MSGL["fatal_error"]}: {e}") try: - MessageDialog( - "error", _("Fatal Error", f"Application failed to start: {e}") - ) + MessageDialog("error", f"{LocaleStrings.MSGL['fatal_app_error']}: {e}") + except: pass diff --git a/manager.py b/manager.py index 472343b..c7bfdc9 100644 --- a/manager.py +++ b/manager.py @@ -1,7 +1,6 @@ import locale import gettext import tkinter as tk -from pathlib import Path from tkinter import ttk import os import subprocess @@ -10,10 +9,10 @@ from network import GiteaUpdate class LXToolsAppConfig: - VERSION = "1.1.4" - APP_NAME = "Lunix Tools Installer" + VERSION = "1.1.5" + APP_NAME = "lxtoolsinstaller" WINDOW_WIDTH = 450 - WINDOW_HEIGHT = 580 + WINDOW_HEIGHT = 740 # Working directory WORK_DIR = os.getcwd() @@ -21,7 +20,7 @@ class LXToolsAppConfig: THEMES_DIR = os.path.join(WORK_DIR, "TK-Themes") # Locale settings - LOCALE_DIR = Path("/usr/share/locale/") + LOCALE_DIR = "./locale/" # Download URLs WIREPY_URL = "https://git.ilunix.de/punix/Wire-Py/archive/main.zip" @@ -94,7 +93,7 @@ class LXToolsAppConfig: } @staticmethod - def setup_translations(): + def setup_translations() -> gettext.gettext: """Initialize translations and set the translation function""" try: locale.bindtextdomain( @@ -113,6 +112,117 @@ class LXToolsAppConfig: _ = LXToolsAppConfig.setup_translations() +class LocaleStrings: + + MSGI = { + "refresh_and_check": _("Refreshing status and checking versions..."), + "start_install": _("Starting installation of "), + "install": _("Installing "), + "install_success": _(" installation successfully!"), + "install_failed": _("Installation failed: "), + "install_create": _("Created install script: "), + "install_script_failed": _("Installation script failed: "), + "install_timeout": _("Installation timed out"), + "installed": _("Installed "), + } + + MSGU = { + "uninstall": _("Uninstalling "), + "uninstall_success": _(" uninstalled successfully!"), + "uninstall_failed": _("Uninstallation failed: "), + "uninstall_create": _("Created uninstall script: "), + "uninstall_script_failed": _("Uninstallation script failed: "), + "uninstall_timeout": _("Uninstallation timed out"), + } + # MSGO = Other messages + MSGO = { + "unknown_project": _("Unknown project: "), + "not_install": _(" is not installed."), + "download_from": _("Downloading from "), + "extract_files": _("Extracting files..."), + "download_failed": _("Download failed: "), + "head_string2": _("System: "), + "head_string3": _("Linux App Installer"), + "ready": _("Ready for installation"), + "no_internet": _("No internet connection"), + "repo_unavailable": _("Repository unavailable"), + "system_check": _("System checking..."), + "applications": _("Applications"), + "progress": _("Progress"), + "refresh2": _("Status refresh completed"), + } + + # MSGC = Strings on Cards + MSGC = { + "checking": _("Checking..."), + "version_check": _("Version: Checking..."), + "latest": _("Latest: "), + "update_available": _("Update available "), + "up_to_date": _("Up to date"), + "latest_unknown": _("Latest unknown"), + "could_not_check": _("Could not check latest version"), + "check_last_failed": _("Latest: Check failed"), + "version_check_failed": _("Version check failed"), + "not_installed": _("Not installed"), + "available": _("Available "), + "available_unknown": _("Available unknown"), + "available_ckeck_failed": _("Available: Check failed"), + } + + # MSGL = Strings on Logmessages + MSGL = { + "selected_app": _("Selected project: "), + "log_name": _("Installation Log"), + "work_dir": _("Working directory: "), + "icons_dir": _("Icons directory: "), + "detected_os": _("Detected OS: "), + "log_cleared": _("Log cleared"), + "working_dir": _("Working directory: "), + "user_interuppt": _("\nApplication interrupted by user."), + "fatal_error": _("Fatal error: "), + "fatal_app_error": _("Fatal Error Application failed to start: "), + } + + # MSGB = Strings on Buttons + MSGB = { + "clear_log": _("Clear Log"), + "install": _("Install/Update"), + "uninstall": _("Uninstall"), + "refresh": _("Refresh Status"), + } + + # MSGM = String on MessagDialogs + MSGM = { + "please_select": _("Please select a project to install."), + "network_error": _( + "No internet connection available.\nPlease check your network connection.", + ), + "repo_error": _( + "Cannot access repository.\nPlease try again later.", + ), + "has_success_update": _("has been successfully installed/updated."), + "please_select_uninstall": _("Please select a project to uninstall."), + } + + # MSGP = Others print strings + MSGP = { + "tk_install": _("Installing tkinter for )"), + "command_string": _("Command: "), + "tk_success": _("TKinter installation completed successfully!"), + "tk_failed": _("TKinter installation failed: "), + "tk_timeout": _("TKinter installation timed out"), + "tk_install_error": _("Error installing tkinter: "), + "tk_command_error": _("No tkinter installation command defined for "), + "fail_load_image": _("Failed to load image from "), + "logviewer_check": _("LogViewer installation check:"), + "symlink_exist": _(" Symlink exists: "), + "executable_exist": _(" Executable exists: "), + "is_executable": _(" Is executable: "), + "final_result": _(" Final result: "), + "get_version_error": _("Error getting version for "), + } + + class OSDetector: @staticmethod def detect_os(): @@ -148,8 +258,8 @@ class OSDetector: if detected_os in LXToolsAppConfig.TKINTER_INSTALL_COMMANDS: commands = LXToolsAppConfig.TKINTER_INSTALL_COMMANDS[detected_os] - print(f"Installing tkinter for {detected_os}...") - print(_(f"Command: {' '.join(commands)}")) + print(f"{LocaleStrings.MSGP["tk_install"]}{detected_os}...") + print(f"{LocaleStrings.MSGP["command_string"]}{' '.join(commands)}") try: # Use pkexec for privilege escalation @@ -159,20 +269,20 @@ class OSDetector: ) if result.returncode == 0: - print(_("TKinter installation completed successfully!")) + print(f"{LocaleStrings.MSGP["tk_succcess"]}") return True else: - print(_(f"TKinter installation failed: {result.stderr}")) + print(f"{LocaleStrings.MSGP["tk_failed"]}{result.stderr}") return False except subprocess.TimeoutExpired: - print(_("TKinter installation timed out")) + print(LocaleStrings.MSGP["tk_timeout"]) return False except Exception as e: - print(_(f"Error installing tkinter: {e}")) + print(f"{LocaleStrings.MSGP['tk_install_error']}{str(e)}") return False else: - print(_(f"No tkinter installation command defined for {detected_os}")) + print(f"{LocaleStrings.MSGP["tk_command_error"]}{detected_os}") return False @@ -307,7 +417,7 @@ class Image: self.images[image_key] = photo return photo except tk.TclError as e: - print(_(f"Failed to load image from {path}: {e}")) + print(f"{LocaleStrings.MSGP["fail_load_image"]}{path}: {e}") continue # Return None if no image found @@ -356,11 +466,11 @@ class AppManager: ) # Debug logging - print(_("LogViewer installation check:")) - print(_(f" Symlink exists: {symlink_exists}")) - print(_(f" Executable exists: {executable_exists}")) - print(_(f" Is executable: {executable_is_executable}")) - print(_(f" Final result: {is_installed}")) + print(LocaleStrings.MSGP["logviewer_check"]) + print(f"{LocaleStrings.MSGP["symlink_exist"]}{symlink_exists}") + print(f"{LocaleStrings.MSGP["executable_exist"]}{executable_exists}") + print(f"{LocaleStrings.MSGP["is_executable"]}{executable_is_executable}") + print(f"{LocaleStrings.MSGP["final_result"]}{is_installed}") return is_installed @@ -385,7 +495,7 @@ class AppManager: return version return "Unknown" except Exception as e: - print(_(f"Error getting version for {project_key}: {e}")) + print(f"{LocaleStrings.MSGP["get_version_error"]}{project_key}: {e}") return "Unknown" def get_latest_version(self, project_key):