collective

Browse / github.com/storytold/craft-launcher / patch

i18n: add Italian (it) catalog for ArtCraft Launcher

i18n: add Italian (it) catalog for ArtCraft Launcher Adds Italian interface translations catalog (it.tsv) and registers it in lang.rs. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> <!-- coderabbit-ai-generated:v1 --> ## Summary by CodeRabbit * **New Features** * Added Italian as a supported language, with translated menus and standard pluralization. <!-- end of auto-generated comment: release notes by coderabbit.ai -->

Status
open
Score
0.00
Adopters
0 other operators
Author
giacomocavera (imported from pull request #725, open)
Base
ba3b0345f0b14f5cb892dcb8b917ca212c124cf9
Size
+373 −1 in 2 files
Review
pending
Shared
2026-10-28
Id
92b157b161bf769a612f3f5a

How it went

No other operator has reported using it yet.

Diff

raw · crates/ui-egui/src/i18n/it.tsv crates/ui-egui/src/i18n/lang.rs

diff --git a/crates/ui-egui/src/i18n/it.tsv b/crates/ui-egui/src/i18n/it.tsvnew file mode 100644--- /dev/null+++ b/crates/ui-egui/src/i18n/it.tsv@@ -0,0 +1,360 @@+# Italian (it) catalog for ArtCraft Launcher.+# Format: context<TAB>source<TAB>translation+# Empty context = plain UI string (tl!, t).+# @id = command-id keyed (tr_id).+# @plural = plural forms: one|other (only 1 is "one" in Italian; 0 is "other").+# @msg = status/error message template (message, msg).+# Other context = disambiguation for tr_ctx.+#+# Clean-room: written from the meaning of ArtCraft Launcher's English labels, in neutral+# modern Italian (the interface addresses the user informally as "tu").+#+# Coverage: the whole interface: every menu string and tl! literal (complete_menus = true).+# Left in English on purpose: product name "ArtCraft Launcher" (and its "Launcher" tag), suite+# name "Craft App Suite", app names (PhotoCraft, LightCraft, FilmCraft,+# DesignCraft, VectorCraft, PdfCraft, EffectCraft, WordCraft, DeckCraft, GridCraft, CADCraft,+# SoundCraft, FigCraft), "GitHub", "Discord", "Finder", "makers".+# Trailing "…" (U+2026) must be preserved. Placeholders must appear in the translation:+# {ago}, {a}, {b}, {count}, {date}, {day}, {done}, {e}, {f}, {installed}, {latest}, {min},+# {month}, {name}, {n}, {os}, {platform}, {sources}, {total}, {version}, {v}, {year}.++	Launcher	Launcher+	Craft App Suite	Craft App Suite+	Open Source Tools for Creatives, Makers, and Builders	Strumenti open source per creativi, maker e progettisti+	Settings	Impostazioni+	Check for updates	Cerca aggiornamenti+	Grid	Griglia+	Table	Tabella+	Show apps as cards	Mostra app come schede+	Show apps as a table	Mostra app come tabella+	All	Tutte+	Updates	Aggiornamenti+	Not installed	Non installate+	Search apps	Cerca app+	Sort	Ordina+	Suite order	Ordine della suite+	Name	Nome+	Inspired by	Ispirata a+	Status	Stato+	Installed version	Versione installata+	Latest version	Ultima versione+	Newest release	Versione più recente+	Discord	Discord+	GitHub	GitHub+	Website	Sito web+	Classic apps	App classiche+	New apps	Nuove app+	NEW	NUOVO+	Install	Installa+	Update to {v}	Aggiorna a {v}+	Open	Apri+	Download for {os}	Scarica per {os}+	Download	Scarica+	Coming soon	Prossimamente+	Checking…	Controllo…+	Not available	Non disponibile+	Offline	Offline+	Downloading {done} of {total}	Download di {done} su {total}+	Downloading…	Download in corso…+	Reconnecting…	Riconnessione…+	Verifying…	Verifica…+	Installing, then restarting…	Installazione, poi riavvio…+	Installing…	Installazione…+	Removing…	Rimozione…+	Pause download	Metti in pausa il download+	Cancel download	Annulla il download+	Resume download	Riprendi il download+	Discard download	Elimina il download+	Release notes	Note di rilascio+	Show in Finder	Mostra nel Finder+	Show in Explorer	Mostra in Esplora file+	Show in Files	Mostra in File+	Reinstall	Reinstalla+	Uninstall…	Disinstalla…+	All releases	Tutte le versioni+	ArtCraft Launcher {version} is available.	ArtCraft Launcher {version} è disponibile.+	Dismiss	Ignora+	Update and restart	Aggiorna e riavvia+	A new version is available. Would you like to relaunch with the updated version?	È disponibile una nuova versione. Vuoi riavviare con la versione aggiornata?+	A new version is available. Download it to replace this version?	È disponibile una nuova versione. Vuoi scaricarla per sostituire questa versione?+	Later	Più tardi+	What's new	Novità+	No notes were published with this release.	Non sono state pubblicate note per questa versione.+	Released {date}	Rilasciata il {date}+	Open on GitHub	Apri su GitHub+	Close	Chiudi+	ArtCraft Launcher {version}	ArtCraft Launcher {version}+	Only when I ask	Solo quando lo chiedo+	Automatically download and install updates	Scarica e installa automaticamente gli aggiornamenti+	Notify me when an installed app has an update	Avvisami quando un'app installata ha un aggiornamento+	Include pre-releases (betas and release candidates)	Includi le pre-release (beta e release candidate)+	Installing on Linux	Installazione su Linux+	Installing on Windows	Installazione su Windows+	Install new apps as	Installa le nuove app come+	System package (recommended)	Pacchetto di sistema (consigliato)+	Updates always use the format an app was installed with.	Gli aggiornamenti usano sempre il formato con cui un'app è stata installata.+	Running in the background	Esecuzione in background+	Keep running in the tray when the window is closed	Mantieni in esecuzione nell'area di notifica quando la finestra viene chiusa+	Show the window on the current desktop	Mostra la finestra sul desktop corrente+	Start ArtCraft Launcher when I log in	Avvia ArtCraft Launcher all'accesso+	Community	Community+	Questions, ideas and news from the ArtCraft team	Domande, idee e notizie dal team ArtCraft+	Appearance	Aspetto+	Quit ArtCraft Launcher	Esci da ArtCraft Launcher+	Done	Fatto+	Uninstall {name}?	Disinstallare {name}?+	The app will be moved to the Trash. Your documents and settings stay.	L'app verrà spostata nel Cestino. I tuoi documenti e le impostazioni verranno conservati.+	Windows will remove it like any installed program. Your documents and settings stay.	Windows la rimuoverà come qualsiasi altro programma installato. I tuoi documenti e le impostazioni verranno conservati.+	Your system's package manager will remove it, and may ask for your password. Your documents and settings stay.	Il gestore pacchetti del tuo sistema la rimuoverà e potrebbe chiederti la password. I tuoi documenti e le impostazioni verranno conservati.+	The app will be removed. Your documents and settings stay.	L'app verrà rimossa. I tuoi documenti e le impostazioni verranno conservati.+	Uninstall	Disinstalla+	Cancel	Annulla+	Checked {ago}	Controllato {ago}+	just now	adesso+	yesterday	ieri+	{month} {day}, {year}	{day} {month} {year}+	Automatically	Automaticamente+	Every Craft app	Tutte le app Craft+	Apps on this computer	App su questo computer+	Installed apps with a newer version	App installate con una versione più recente+	Apps you can install	App che puoi installare+	Hide App	Nascondi app+	Unhide App	Mostra app+	Hidden Apps	App nascoste+	Apps you hid	App che hai nascosto+	Checked {ago} · using {sources}	Controllato {ago} · tramite {sources}+	{a} and {b}	{a} e {b}+	Join the Discord	Unisciti a Discord+	Learn more	Scopri di più+	Minimize	Riduci a icona+	Maximize	Ingrandisci+	Restore	Ripristina+	New	Nuovo+	OK	OK+	Open link	Apri link+	Update	Aggiorna+	{name} icon	Icona di {name}+	Loading ArtCraft Launcher…	Caricamento di ArtCraft Launcher…+	Cancel update	Annulla aggiornamento+	Stop waiting; the update can be started again later	Interrompi l'attesa; l'aggiornamento potrà essere riavviato più tardi+	Download again	Scarica di nuovo+	Install cancelled	Installazione annullata+	Install cancelled. The download is kept for the next try.	Installazione annullata. Il download viene conservato per il prossimo tentativo.+	Update cancelled	Aggiornamento annullato+	Uninstall cancelled	Disinstallazione annullata+	Retry install	Riprova installazione+	Retry update to {version}	Riprova l'aggiornamento a {version}+	The download is still here. It's checked again, then installed.	Il download è ancora qui. Verrà controllato di nuovo e poi installato.+	Waiting for another app…	In attesa di un'altra app…+	Waiting for other installs…	In attesa di altre installazioni…+	Installer (.msi)	Installer (.msi)+	Portable (.zip)	Versione portatile (.zip)+	Disk image (.dmg)	Immagine disco (.dmg)+	Debian package (.deb)	Pacchetto Debian (.deb)+	RPM package (.rpm)	Pacchetto RPM (.rpm)+	Arch package (.pkg.tar.zst)	Pacchetto Arch (.pkg.tar.zst)+	Flatpak bundle	Pacchetto Flatpak+	Tarball (.tar.gz)	Archivio (.tar.gz)+photocraft	Image editing	Fotoritocco+vectorcraft	Vector illustration	Illustrazione vettoriale+filmcraft	Video editing, color and sound	Montaggio video, colore e suono+lightcraft	Photo library and raw development	Libreria fotografica e sviluppo RAW+pdfcraft	Reading, organizing and protecting PDFs	Lettura, organizzazione e protezione di PDF+effectcraft	Motion graphics and visual effects	Motion graphic ed effetti visivi+designcraft	Page layout and publishing	Impaginazione e pubblicazione+wordcraft	Writing and document design	Scrittura e formattazione di documenti+deckcraft	Presentations and slide shows	Presentazioni e slideshow+gridcraft	Spreadsheets and data	Fogli di calcolo e dati+cadcraft	Computer-aided design and drafting	Progettazione e disegno assistiti dal computer+soundcraft	Recording, editing and mixing audio	Registrazione, modifica e mixaggio audio+figcraft	Interface design and prototyping	Progettazione di interfacce e prototipazione+month	Jan	gen+month	Feb	feb+month	Mar	mar+month	Apr	apr+month	May	mag+month	Jun	giu+month	Jul	lug+month	Aug	ago+month	Sep	set+month	Oct	ott+month	Nov	nov+month	Dec	dic+	Not checked yet	Non ancora controllato+	GitHub's hourly limit was reached; full details return in {min} min	Il limite orario di GitHub è stato raggiunto; i dettagli completi torneranno tra {min} min+	GitHub limit hit; back in {min} min	Limite di GitHub raggiunto; riprova tra {min} min+	Installing for {platform}	Installazione per {platform}+	Downloads for {platform}	Download per {platform}+	No downloads for this system	Nessun download per questo sistema+	Join the ArtCraft community on Discord	Unisciti alla community di ArtCraft su Discord+	ArtCraft on {name}	ArtCraft su {name}+	Couldn't open {name}: {e}	Impossibile aprire {name}: {e}+	Download cancelled	Download annullato+	Available to install	Disponibile per l'installazione+	Available	Disponibile+	Installed · up to date	Installato · aggiornato+	Update available	Aggiornamento disponibile+	Installed	Installato+	installed	installato+	Not available here	Non disponibile qui+	Updating…	Aggiornamento…+	Update paused	Aggiornamento in pausa+	Download paused	Download in pausa+	{version} installed → {latest} released	{version} installata → {latest} rilasciata+	Version {version}	Versione {version}+	{installed} installed · latest {latest}	{installed} installata · ultima {latest}+	Installed · latest {latest}	Installata · ultima {latest}+	Version {version} installed	Versione {version} installata+	Version {latest}	Versione {latest}+	No release published yet	Nessuna versione pubblicata per ora+	ArtCraft Launcher	ArtCraft Launcher+	App	App+	Latest	Ultima+	Released	Rilasciata+	Auto	Auto+	Language	Lingua+	Ascending	Crescente+	Descending	Decrescente+	Click to reverse the order	Fai clic per invertire l'ordine+	Click to sort by this column	Fai clic per ordinare in base a questa colonna+	Like {name}	Come {name}+	{done} of {total}	{done} su {total}+	Downloading	Download+	Verifying checksum…	Verifica del checksum…+	Resume	Riprendi+	{done} of {total} downloaded	{done} su {total} scaricati+	{done} downloaded	{done} scaricati+	Checking for updates…	Controllo degli aggiornamenti…+	Downloads the new version, replaces this one and opens it again	Scarica la nuova versione, sostituisce questa e la apre di nuovo+	Couldn't check for updates: {f}	Impossibile cercare aggiornamenti: {f}+	Website (coming soon)	Sito web (prossimamente)+	GitHub repository	Repository GitHub+	ArtCraft	ArtCraft+	Update 1 app	Aggiorna 1 app+	Update all ({count})	Aggiorna tutte ({count})+	⊞  Grid	⊞  Griglia+	☰  Table	☰  Tabella+	🔍  Search apps	🔍  Cerca app+	{name} {version}	{name} {version}+	Match system	Come il sistema+	Dark	Scuro+	Light	Chiaro+	Full changelog	Changelog completo+	link	link+	No apps match	Nessuna app corrispondente+	Open ArtCraft Launcher to update.	Apri ArtCraft Launcher per aggiornare.+	{name} {v} is available	{name} {v} è disponibile+	{count} updates are available	Sono disponibili {count} aggiornamenti+	These notes weren't fetched (GitHub's request limit was reached). They're on the release page.	Queste note non sono state recuperate (il limite di richieste di GitHub è stato raggiunto). Si trovano sulla pagina della versione.+	When on, opening the launcher from the menu bar brings its window to the desktop you're on. When off, macOS switches you to the desktop the window was on.	Quando è attivo, l'apertura del launcher dalla barra dei menu porta la finestra sul desktop in cui ti trovi. Quando è disattivato, macOS ti reindirizza al desktop in cui si trovava la finestra.+	Couldn't change the login item: {e}	Impossibile modificare l'elemento di avvio: {e}+column	App	App+column	Installed	Installata+column	Latest	Ultima+column	Released	Rilasciata+filter	Installed	Installate+	App details	Dettagli dell'app+	Close (Esc)	Chiudi (Esc)+	Features	Funzionalità+	Latest release	Ultima versione+	Version	Versione+	Platforms	Piattaforme+	Releases	Versioni+	Enlarge picture	Ingrandisci immagine+	Click to enlarge	Fai clic per ingrandire+	Previous picture (←)	Immagine precedente (←)+	Next picture (→)	Immagine successiva (→)+	Loading pictures…	Caricamento immagini…+	Pictures couldn't be loaded. Reopen this page to try again.	Impossibile caricare le immagini. Riapri questa pagina per riprovare.+	{name} details	Dettagli di {name}+@plural	{n} app|{n} apps	{n} app|{n} app+@plural	{n} min ago|{n} min ago	{n} min fa|{n} min fa+@plural	{n} h ago|{n} h ago	{n} h fa|{n} h fa+@plural	{n} day ago|{n} days ago	{n} giorno fa|{n} giorni fa+@msg	Couldn't open {name}: {e}	Impossibile aprire {name}: {e}+@msg	Download cancelled	Download annullato+@msg	{name} updated to {version}	{name} aggiornato a {version}+@msg	{name} installed: {version}	{name} installato: {version}+@msg	{name} updated to {version} (this release publishes no checksum, so only its size was checked)	{name} aggiornato a {version} (questa versione non pubblica un checksum, quindi è stata verificata solo la sua dimensione)+@msg	{name} installed: {version} (this release publishes no checksum, so only its size was checked)	{name} installato: {version} (questa versione non pubblica un checksum, quindi è stata verificata solo la sua dimensione)+@msg	{name} was removed	{name} è stato rimosso+@msg	{name} is running. Quit it, then try again.	{name} è in esecuzione. Chiudilo e riprova.+@msg	{name} was installed from the {repo} repository or the AUR ({pkg}). Update it with {cmd} or sudo pacman -Syu	{name} è stato installato dal repository {repo} o da AUR ({pkg}). Aggiornalo con {cmd} o sudo pacman -Syu+@msg	{name} was installed from the {repo} repository or the AUR ({pkg}). Update it with your AUR helper (for example: yay -S {pkg}) or sudo pacman -Syu	{name} è stato installato dal repository {repo} o da AUR ({pkg}). Aggiornalo con il tuo helper AUR (ad esempio: yay -S {pkg}) o sudo pacman -Syu+@msg	{name} was installed from the AUR ({pkg}). Update it with {cmd}	{name} è stato installato da AUR ({pkg}). Aggiornalo con {cmd}+@msg	{name} was installed from the AUR ({pkg}). Update it with your AUR helper (for example: yay -S {pkg})	{name} è stato installato da AUR ({pkg}). Aggiornalo con il tuo helper AUR (ad esempio: yay -S {pkg})+@id	app.install	Installa+@id	app.update	Aggiorna a {v}+@id	app.open	Apri+@id	app.download	Scarica per {os}+@id	app.reveal	Mostra nel Finder+@id	app.reinstall	Reinstalla+@id	app.uninstall	Disinstalla…+@id	app.notes	Note di rilascio+@id	app.website	Sito web+@id	app.github	Repository GitHub+@id	app.releases	Tutte le versioni+@id	launcher.update	Aggiorna e riavvia+@id	launcher.download	Scarica+@id	launcher.notes	Novità+@id	launcher.dismiss	Ignora+@id	settings.open	Impostazioni+@id	settings.quit	Esci da ArtCraft Launcher+@id	view.grid	Griglia+@id	view.table	Tabella+@id	filter.all	Tutte+@id	filter.installed	Installate+@id	filter.updates	Aggiornamenti+@id	filter.notinstalled	Non installate+@id	sort.suite	Ordine della suite+@id	sort.name	Nome+@id	sort.inspired	Ispirata a+@id	sort.status	Stato+@id	sort.installed	Versione installata+@id	sort.latest	Ultima versione+@id	sort.released	Versione più recente+@id	help.discord	Discord+@id	help.github	GitHub+@id	help.website	Sito web+@id	update.check	Cerca aggiornamenti+@id	update.check_auto	Cerca automaticamente gli aggiornamenti+@id	update.notify	Avvisami quando un'app installata ha un aggiornamento+@id	update.prereleases	Includi le versioni preliminari (beta e release candidate)+@id	linux.preferred_kind	Installa le nuove app come+@id	tray.close_to_tray	Mantieni in esecuzione nell'area di notifica quando la finestra viene chiusa+@id	tray.show_on_current_desktop	Mostra la finestra sul desktop corrente+@id	tray.login_item	Avvia ArtCraft Launcher all'accesso+@id	appearance.theme	Aspetto+	Show ArtCraft Launcher	Mostra ArtCraft Launcher+	Check for Updates	Cerca aggiornamenti+	Visit getartcraft.com	Visita getartcraft.com+	ArtCraft on GitHub	ArtCraft su GitHub+	Join the ArtCraft Discord	Unisciti al Discord di ArtCraft+@plural	ArtCraft Launcher · {n} update available|ArtCraft Launcher · {n} updates available	ArtCraft Launcher · {n} aggiornamento disponibile|ArtCraft Launcher · {n} aggiornamenti disponibili+	Install folder	Cartella di installazione+	Default install folder	Cartella di installazione predefinita+	System default	Predefinita di sistema+	Browse…	Sfoglia…+	Use default	Usa predefinita+	New installs use this folder. Updates stay in their current location.	Le nuove installazioni utilizzano questa cartella. Gli aggiornamenti rimangono nella loro posizione attuale.+	Custom folders use AppImage on Linux.	Le cartelle personalizzate utilizzano AppImage su Linux.+	On Linux, custom folders use AppImage format.	Su Linux, le cartelle personalizzate utilizzano il formato AppImage.+	The system manages install locations here.	Qui il sistema gestisce le posizioni di installazione.+@msg	couldn't use install folder {path}: {reason}	impossibile utilizzare la cartella di installazione {path}: {reason}+@msg	this release has no AppImage for a custom install folder	questa versione non ha un'AppImage per una cartella di installazione personalizzata+@msg	custom install folders aren't supported on this system	le cartelle di installazione personalizzate non sono supportate su questo sistema+@msg	{path} already exists and wasn't installed by ArtCraft Launcher	{path} esiste già e non è stato installato da ArtCraft Launcher+@msg	couldn't move {path} to Trash ({reason}). Remove it in Finder instead.	impossibile spostare {path} nel Cestino ({reason}). Rimuovilo nel Finder.+	Apps are placed inside this folder.	Le app vengono posizionate in questa cartella.+	Replace what's there?	Sostituire ciò che è presente?+	{path} already exists. Installing {name} will overwrite it.	{path} esiste già. L'installazione di {name} lo sovrascriverà.+	Replace	Sostituisci+	Recently updated	Aggiornate di recente+	Name (A–Z)	Nome (A–Z)+	Name (Z–A)	Nome (Z–A)+	Frequently used	Usate di frequente+	Next app	App successiva+	Previous app	App precedente+	Show {n} more changes	Mostra {n} altre modifiche+	Last updated: {date}	Ultimo aggiornamento: {date}+column	Version	Versione\ No newline at end of filediff --git a/crates/ui-egui/src/i18n/lang.rs b/crates/ui-egui/src/i18n/lang.rs--- a/crates/ui-egui/src/i18n/lang.rs+++ b/crates/ui-egui/src/i18n/lang.rs@@ -94,7 +94,7 @@ pub(super) fn plural_polish(n: u64) -> usize { }  /// The registry. English first: it is the fallback and the source language.-pub static LANGUAGES: [LangInfo; 11] = [+pub static LANGUAGES: [LangInfo; 12] = [     LangInfo {         code: "en",         name: "English",@@ -216,6 +216,17 @@ pub static LANGUAGES: [LangInfo; 11] = [         complete_menus: true,         catalog: OnceLock::new(),     },+    LangInfo {+        code: "it",+        name: "Italiano",+        english_name: "Italian",+        script: None,+        source: include_str!("it.tsv"),+        plural: plural_one_other,+        plural_forms: 2,+        complete_menus: true,+        catalog: OnceLock::new(),+    }, ];  impl LangInfo {@@ -254,6 +265,7 @@ impl Lang {     pub const PL: Lang = Lang(&LANGUAGES[8]);     pub const HU: Lang = Lang(&LANGUAGES[9]);     pub const JA: Lang = Lang(&LANGUAGES[10]);+    pub const IT: Lang = Lang(&LANGUAGES[11]);      pub fn code(self) -> &'static str {         self.0.code