USART-HMI-to-ITA
USART HMI to ITA
Traduzione in italiano dell'interfaccia di USART HMI (software cinese per display TJC / Nextion‑compatibili), che esiste solo in cinese.
Il metodo si basa sul lavoro di audiobrian/usart_hmi_english_translation (traduzione inglese): ne riusa il decryptor di ACTR.dll, ma sostituisce la modifica manuale con dnSpy con una patch automatica e fornisce traduzioni italiane.
Avvertenze
- Strumento per uso personale/educativo (localizzazione). Non contiene né ridistribuisce il software USART HMI né i suoi file decifrati.
- Modifica file in
C:\Program Files (x86)\USART HMI. Viene creato un backup, ma usalo a tuo rischio.- Testato su USART HMI 1.68.1 (Windows 10/11).
Come funziona
USART HMI.execarica 21 assembly .NET cifrati daACTR.dll.- Lo script li decifra con il decryptor del repo upstream (compilato in locale dal sorgente).
- Il programma in
src/Patcher(Mono.Cecil) inserisce all'inizio del metodohmitype.LanguageApp.Language(string)una chiamata a un helper (src/HmiTr, copiato dentrohmitype.dll: nessuna DLL aggiuntiva). L'helper cerca il testo cinese inc:\devel\hmi_translation.txt; se lo trova restituisce la traduzione, altrimenti prosegue il codice originale. - I testi cinesi non ancora tradotti vengono scritti in
c:\devel\hmi.log. - Le DLL decifrate/patchate vengono copiate nella cartella di installazione, che ha la precedenza su
ACTR.dll.
Requisiti
- USART HMI installato in
C:\Program Files (x86)\USART HMI - Windows con PowerShell e privilegi di amministratore
- Git e .NET SDK 9 nel
PATH - Connessione internet (clone del repo upstream e pacchetto NuGet Mono.Cecil)
Installazione
- Chiudi USART HMI.
- Clona questo repo:
git clone https://github.com/<tuo-utente>/USART-HMI-to-ITA.git cd USART-HMI-to-ITA
- Apri PowerShell come amministratore ed esegui:
Se la cartella di installazione è diversa:
Set-ExecutionPolicy -Scope Process Bypass .\scripts\Install.ps1
.\scripts\Install.ps1 -InstallDir "D:\USART HMI". - Avvia USART HMI: menu, barre e toolbox sono in italiano.
Lo script esegue: backup delle DLL originali in backup_original, decifratura, patch, copia dei file, creazione di c:\devel\ e installazione di hmi_translation.txt (se esisteva già, viene salvato come .bak).
Aggiungere o correggere traduzioni
- Usa il programma e apri
c:\devel\hmi.log: contiene i testi cinesi non tradotti. - Aggiungi righe a
c:\devel\hmi_translation.txt:testo cinese<TAB>traduzione italiana- codifica UTF-8, separatore TAB (non spazi)
- corrispondenza esatta e case‑sensitive; vale la prima occorrenza
- Riavvia USART HMI (il file viene riletto quando cambia).
Se aggiungi traduzioni utili, copiale anche in translation/hmi_translation.txt e apri una pull request.
Disinstallazione / ripristino
Da PowerShell come amministratore:
.\scripts\Restore.ps1
Ripristina le DLL originali dal backup e rimuove quelle aggiunte, così l'app torna a caricare ACTR.dll. Puoi eliminare c:\devel\ a mano.
Risoluzione dei problemi
Struttura del repo
scripts/Install.ps1 installazione automatica
scripts/Restore.ps1 ripristino
src/HmiTr/T.cs helper di traduzione (target .NET 3.5, incorporato in hmitype.dll)
src/Patcher/Program.cs patcher Mono.Cecil
translation/hmi_translation.txt traduzioni cinese → italiano
Crediti e licenza
- Idea e decryptor: audiobrian/usart_hmi_english_translation (scaricato a runtime, non incluso qui).
- USART HMI è proprietà dei rispettivi titolari. Il codice e le traduzioni di questo repo sono rilasciati con licenza MIT.
Per il codice sorgente e gli altri progetti visita il profilo GitHub di rsodvd79 .