Skip to content

Italian language update#33

Closed
bovirus wants to merge 2 commits into
no-faff:mainfrom
bovirus:main
Closed

Italian language update#33
bovirus wants to merge 2 commits into
no-faff:mainfrom
bovirus:main

Conversation

@bovirus

@bovirus bovirus commented Jun 18, 2026

Copy link
Copy Markdown

@FarmLox

What this changes

Add Italian language (GUI and installer)
Improve instalelr.

I hope that now is ok.

Proposal for the future
Please apply PR before to modify source structure.
It avoid to repush the PR.

New line command for long string multipèeriod
Please consider to add "& # x 0 a ;" to have a new line to separate paragraph.

Thanks.

@FarmLox

FarmLox commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Thanks so much, bovirus — I really appreciate the time you've put in, and your Italian ships in the next version (v1.9.1), credited to you.

How I work it: I apply your wording by hand rather than merging the PR, keeping the final text in line with the app's voice and the exact intent of each string. So you know, here's what of yours I didn't take:

  • The About window title: I kept "Informazioni" rather than "Info applicazioni" / "Info programma" — it's the standard term and stays consistent across the app.
  • The "say thanks" heading: that section invites the reader to thank me (the developer), so I used "PER RINGRAZIARMI" rather than "GRAZIE A", which reads more like the start of a credits list.
  • The command-line tool: I've kept it English for now, though I may localise it in a later version — if I do, your Italian for it is a real head start.
  • The installer file: I can't take those changes, as they conflict with how the build is set up, but no Italian is lost there.

I'll close the PR, but your translation is very much in the release. Thank you again.


Here's the same in machine-translated Italian!

 

Grazie mille, bovirus. Apprezzo davvero il tempo che ci hai dedicato, e la tua traduzione italiana sarà nella prossima versione (v1.9.1), con il tuo contributo riconosciuto.

Come procedo: inserisco le tue traduzioni manualmente invece di fare il merge della PR, mantenendo il testo finale coerente con lo stile dell'app e con il significato esatto di ogni stringa. Per tua informazione, ecco cosa del tuo lavoro non ho usato:

  • Il titolo della finestra "Informazioni": ho mantenuto "Informazioni" invece di "Info applicazioni" / "Info programma", perché è il termine standard e resta coerente in tutta l'app.
  • L'intestazione della sezione dei ringraziamenti: quella sezione invita chi la legge a ringraziare me (lo sviluppatore), quindi ho usato "PER RINGRAZIARMI" invece di "GRAZIE A", che suona più come l'inizio di un elenco di ringraziamenti.
  • Lo strumento da riga di comando (CLI): per ora l'ho lasciato in inglese, anche se potrei localizzarlo in una versione futura — in tal caso la tua traduzione italiana sarebbe un ottimo punto di partenza.
  • Il file dell'installer: non posso accettare quelle modifiche, perché vanno in conflitto con la configurazione della build, ma non va persa nessuna traduzione italiana.

Chiuderò la PR, ma la tua traduzione è senz'altro nella release. Grazie ancora.

@FarmLox FarmLox closed this Jun 18, 2026
@bovirus

bovirus commented Jun 18, 2026

Copy link
Copy Markdown
Author

@FarmLox

"About" is quite generic text.

The translation can have different strings for language not english that can differ by context.
For this is better to avoid for translation to use the same string in different context.
In not english language a string can be male, femal, singular, plural.

"About" in "italian" is Info applicazione"
"Information" is "Informazione".

Sorry but I didn't understand the issue about the installer.

I tested the installer with my changes and it works as expected.

What are the parts of installer that are not compatible with your build configuration?
What are the value that you pass during build?
Note: I implemented the automatic version check by main exe that it's an automatic job that you don't need to do.
If the problem is this you can remove only this part and keep the others.

I used more #define field/variable for an esy script maintenace without change directly in the body of the script.

Year "2026" is fixed instead use Current year automatic detection (no need to change in 2027 etc)

In the copyright message "Copyright (c)" are not necessary because "Copyright" is already the field title in File properties.
And "(c)" and "Copyright" are the same term in long way and short way

What's abouut newline code in xml file?

@FarmLox

FarmLox commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Thanks, @bovirus — here's the full picture, honestly.

About: first, your general point - you're right that a translation can need to differ by context (gender, number) and that reusing one string across contexts is bad for translation. But that isn't happening here: the "About" button and the "About" window title are already separate resource keys, so each can be translated independently if it ever needs to - they're both "Informazioni" only because that's the right word for both, not because anything forces them to share. On the word itself: for an About window "Informazioni" is the established convention in Italian software (both Windows and macOS use it), so it's what users recognise; "Info applicazione" is accurate literally but isn't the standard. So I'm keeping "Informazioni".

Installer - I've taken the good parts and left the ones that would break or aren't needed.

Taken:

  • Auto-detecting the year for the copyright - good catch, the hardcoded 2026 would have gone stale.
  • Dropping the redundant "Copyright" - you're right, the field is already labelled Copyright in the file properties.

Left as-is, with reasons:

  • Welcome/Finished must stay in [Messages], not [CustomMessages] - in [CustomMessages] they're only reachable via {cm:} and stop overriding the wizard, so those pages would fall back to Inno's English defaults.
  • The GUI exe source path: it builds to ..\publish\self-contained, not ..\publish\cli (that folder has only the CLI exe), so pointing it there would fail or ship the wrong file.
  • The BOM: with the accented Italian in the file, removing it risks garbled accents depending on the compile environment, so I keep it.
  • Auto-deriving the version from the exe: my build already passes the version in via /DAppVersion, so I keep that.
  • The language-detection line: Inno already detects the user's language by default, so it's already handled.

CLI: I do want an Italian CLI, and thank you for translating it. It's its own piece of work - I need to decide when it switches language (the CLI is used in automation, so its output is partly a contract), and its messages are precise and technical, so they need a careful pass against the exact meaning of each one. So I'll do it properly as a next step rather than rush it into this release, but your translations are the starting point.

Thanks again - your GUI translation is in and ships in v1.9.1.


Grazie, bovirus — ecco il quadro completo, in modo onesto.

About: prima il tuo punto generale - hai ragione che una traduzione può dover cambiare in base al contesto (genere, numero) e che riutilizzare la stessa stringa in contesti diversi è una cattiva pratica per la traduzione. Ma qui non succede: il pulsante "About" e il titolo della finestra "About" sono già due chiavi di risorsa separate, quindi ognuna può essere tradotta in modo indipendente, se mai dovesse servire - sono entrambe "Informazioni" solo perché è la parola giusta per entrambe, non perché qualcosa le obblighi a coincidere. Sulla parola in sé: per una finestra About, "Informazioni" è la convenzione consolidata nel software italiano (la usano sia Windows sia macOS), quindi è ciò che gli utenti riconoscono; "Info applicazione" è corretto alla lettera ma non è lo standard. Quindi mantengo "Informazioni".

Installer - ho preso le parti buone e lasciato quelle che romperebbero qualcosa o non servono.

Prese:

  • Il rilevamento automatico dell'anno per il copyright - ottima idea, il "2026" fisso sarebbe diventato obsoleto.
  • La rimozione del "Copyright" ridondante - hai ragione, il campo è già etichettato "Copyright" nelle proprietà del file.

Lasciate come sono, con le motivazioni:

  • Welcome/Finished devono restare in [Messages], non in [CustomMessages] - in [CustomMessages] sono raggiungibili solo tramite {cm:} e smettono di sovrascrivere il wizard, quindi quelle pagine tornerebbero ai testi predefiniti in inglese di Inno.
  • Il percorso del file exe della GUI: viene compilato in ..\publish\self-contained, non in ..\publish\cli (quella cartella contiene solo l'exe della CLI), quindi puntarlo lì fallirebbe o includerebbe il file sbagliato.
  • Il BOM: con l'italiano accentato nel file, rimuoverlo rischia di rovinare gli accenti a seconda dell'ambiente di compilazione, quindi lo mantengo.
  • Il rilevamento automatico della versione dall'exe: la mia build passa già la versione tramite /DAppVersion, quindi mantengo quello.
  • La riga di rilevamento della lingua: Inno rileva già la lingua dell'utente per impostazione predefinita, quindi è già gestito.

CLI: voglio davvero una CLI in italiano, e ti ringrazio per averla tradotta. È un lavoro a sé - devo decidere quando cambia lingua (la CLI è usata nell'automazione, quindi il suo output è in parte un contratto), e i suoi messaggi sono precisi e tecnici, quindi serve un controllo attento rispetto al significato esatto di ciascuno. Quindi lo farò come passo successivo, fatto bene, senza forzarlo in questa release, ma le tue traduzioni sono il punto di partenza.

Grazie ancora - la tua traduzione della GUI è inclusa e arriva nella v1.9.1.

@bovirus

bovirus commented Jun 18, 2026

Copy link
Copy Markdown
Author

@FarmLox

values like

AppPublisher=No Faff
AppPublisherURL=https://github.com/no-faff/InstallerClean
AppSupportURL=https://github.com/no-faff/InstallerClean/discussions

Could be defined as defined command (easy to revise/change).
It's made for a better/easy magement.

The values like

UsePreviousLanguage=no
LanguageDetectionMethod=uilanguage

it's really necessary because if you add a new language the new installer withouth these strings didn't detect new language an start by default with previous language instalelr selection.
If you add German language to the installer, and don't add these line the new installer in a German OS start by default with last instalelr language selection (ex. English).
If you add these lines the instalelr didn't rpe-select rpevious language and match again OS language ad instalelr language avaiolability.

@bovirus

bovirus commented Jun 18, 2026

Copy link
Copy Markdown
Author

Google
image

Firefox
image

Then also the standard could be "Informazioni su InstallerClean" or "Info su InstallerClean" (for a sgort string).

FarmLox added a commit that referenced this pull request Jun 18, 2026
…re-detect the wizard language each run

'No Faff' appeared in four directives (AppPublisher, VersionInfoCompany, both
copyright lines) and the repo URL in two; a #define each makes them a single
source of truth. UsePreviousLanguage=no makes the wizard re-detect the language
each run instead of reusing the previous install's pick, so a language added in
a later version becomes the default for an upgrading user whose OS matches it
(the dialog still lists them all). Both suggested by bovirus (#33).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@FarmLox

FarmLox commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Thanks, @bovirus. I've taken two of these:

  • The publisher name and repo URL are now #defines, a single source of truth. Good call.
  • Added UsePreviousLanguage=no. I left out LanguageDetectionMethod=uilanguage because that's already Inno's default, so it changes nothing.

On the About title, I'm keeping "Informazioni". Chrome and Firefox use "Informazioni su [name]" because their English is "About [name]"; InstallerClean's English is just "About", so "Informazioni" is the matching choice. If the English ever becomes "About InstallerClean", the Italian will follow.

Thanks again for the Italian.


Grazie, bovirus. Ne ho accolte due:

  • Il nome dell'editore e l'URL del repository ora sono #define, un'unica fonte. Buona idea.
  • Aggiunto UsePreviousLanguage=no. Ho lasciato fuori LanguageDetectionMethod=uilanguage perché è già il valore predefinito di Inno, quindi non cambia nulla.

Sul titolo della finestra Informazioni: mantengo "Informazioni". Chrome e Firefox usano "Informazioni su [nome]" perché in inglese è "About [nome]"; in InstallerClean l'inglese è solo "About", quindi "Informazioni" è la scelta corrispondente. Se un giorno l'inglese diventasse "About InstallerClean", l'italiano seguirà.

Grazie ancora per l'italiano.

FarmLox added a commit that referenced this pull request Jun 20, 2026
Adds the 1.9.1 entries that shipped but were not yet recorded:

- installer: the publisher name and repo URL are single-sourced via a
  #define each, and UsePreviousLanguage=no re-detects the wizard language
  every run so a later-added setup language matches Windows on upgrade.
  Both suggested by bovirus (#33).
- the window title-bar text and the splash no longer clip at large text
  sizes: the title used the scaled heading token while the caption bar
  stayed fixed, and the splash had a fixed height the enlarged base text
  outgrew.

Also credits bovirus's Italian review on the Italian-interface entry (#32).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
FarmLox added a commit that referenced this pull request Jul 19, 2026
…re-detect the wizard language each run

'No Faff' appeared in four directives (AppPublisher, VersionInfoCompany, both
copyright lines) and the repo URL in two; a #define each makes them a single
source of truth. UsePreviousLanguage=no makes the wizard re-detect the language
each run instead of reusing the previous install's pick, so a language added in
a later version becomes the default for an upgrading user whose OS matches it
(the dialog still lists them all). Both suggested by bovirus (#33).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
FarmLox added a commit that referenced this pull request Jul 19, 2026
Adds the 1.9.1 entries that shipped but were not yet recorded:

- installer: the publisher name and repo URL are single-sourced via a
  #define each, and UsePreviousLanguage=no re-detects the wizard language
  every run so a later-added setup language matches Windows on upgrade.
  Both suggested by bovirus (#33).
- the window title-bar text and the splash no longer clip at large text
  sizes: the title used the scaled heading token while the caption bar
  stayed fixed, and the splash had a fixed height the enlarged base text
  outgrew.

Also credits bovirus's Italian review on the Italian-interface entry (#32).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants