import os

base = r'c:\Users\SarinoAlfonsoGrande\Downloads\qgis_ledger-main'
path = os.path.join(base, 'ledger_plugin.py')

with open(path, 'r', encoding='utf-8') as f:
    c = f.read()

replacements = {
    'f"Il file raster del commit #{cid} è stato estratto con successo in:\\n{out}\\n\\n"': 'tr("Il file raster del commit #{cid} è stato estratto con successo in:\\n{out}\\n\\n").format(cid=cid, out=out)',
    'f"💡 Puoi caricarlo in QGIS con Layer > Aggiungi Layer Raster."': 'tr("💡 Puoi caricarlo in QGIS con Layer > Aggiungi Layer Raster.")',
    'f"Il vettore \'{name}\' del commit #{cid} è stato estratto con successo in:\\n{out}\\n\\n"': 'tr("Il vettore \\\'{name}\\\' del commit #{cid} è stato estratto con successo in:\\n{out}\\n\\n").format(name=name, cid=cid, out=out)',
    'f"💡 Puoi caricarlo in QGIS con Layer > Aggiungi Layer Vettoriale."': 'tr("💡 Puoi caricarlo in QGIS con Layer > Aggiungi Layer Vettoriale.")',
    'f"Errore scrittura:\\n{msg}"': 'tr("Errore scrittura:\\n{msg}").format(msg=msg)',
    'f"Il raster \'{name}\' (versione #{cid}) è stato aggiunto alla mappa come layer isolato.\\n\\n"': 'tr("Il raster \\\'{name}\\\' (versione #{cid}) è stato aggiunto alla mappa come layer isolato.\\n\\n").format(name=name, cid=cid)',
    'f"💡 Ricorda: salva il progetto QGIS (Ctrl+S) se vuoi conservare questo layer nella sessione."': 'tr("💡 Ricorda: salva il progetto QGIS (Ctrl+S) se vuoi conservare questo layer nella sessione.")',
    'f"Il vettore \'{name}\' (versione #{cid}) è stato caricato in mappa come layer temporaneo (estratto dal DB).\\n\\n"': 'tr("Il vettore \\\'{name}\\\' (versione #{cid}) è stato caricato in mappa come layer temporaneo (estratto dal DB).\\n\\n").format(name=name, cid=cid)',
    '"Errore nell\'estrazione del vettore per il caricamento."': 'tr("Errore nell\'estrazione del vettore per il caricamento.")'}

for old, new in replacements.items():
    if old in c:
        c = c.replace(old, new)

with open(path, 'w', encoding='utf-8') as f:
    f.write(c)

print("Replaced strings plugin dialogs")
